diff --git a/README.md b/README.md index 42991161ed..83950e8236 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,23 @@

-
- - ACE version - + +

+

+ + ACE version + - ACE download - + ACE download + - ACE issues - + ACE issues + - ACE license - + ACE license +

Requires the latest version of CBA A3 | BIF thread

-**ACE 3** is a joint effort by the teams behind **ACE 2**, **AGM** and **CSE** to improve the realism and authenticity of Arma 3. +**ACE3** is a joint effort by the teams behind **ACE2**, **AGM** and **CSE** to improve the realism and authenticity of Arma 3. This mod is entirely **open-source**, and everyone is free to propose changes or maintain their own, customized version as long as they make their changes open to the public in accordance with the GNU General Public License (for more information check the license file attached to this project). diff --git a/TO_MERGE/agm/Optics/agm_optics_pip.p3d b/TO_MERGE/agm/Optics/agm_optics_pip.p3d new file mode 100644 index 0000000000..d331ce4acd Binary files /dev/null and b/TO_MERGE/agm/Optics/agm_optics_pip.p3d differ diff --git a/TO_MERGE/agm/Optics/clientInit.sqf b/TO_MERGE/agm/Optics/clientInit.sqf new file mode 100644 index 0000000000..7dca46fdc4 --- /dev/null +++ b/TO_MERGE/agm/Optics/clientInit.sqf @@ -0,0 +1,25 @@ +// TMR: Optics initialization and functions +// (C) 2013 Ryan Schultz. See LICENSE. + +// Request a resource layer from the game engine. +AGM_Optics_scopeRSC = ["AGM_Optics_Scope"] call BIS_fnc_rscLayer; + +// Set global variables +AGM_Optics_inScope = false; // Is the scope up? +AGM_Optics_currentOptic = ""; // What optic is attached right now? + +0 = 0 spawn { + waituntil {!isNull (findDisplay 46)}; + + [] call AGM_Optics_fnc_initScope; + + // PiP technique by BadBenson + AGM_Optics_Camera = "camera" camCreate (positioncameratoworld [0,0,0]); + AGM_Optics_Camera camSetFov 0.7; + AGM_Optics_Camera camSetTarget player; + AGM_Optics_Camera camCommit 1; + "agm_optics_rendertarget0" setPiPEffect [2, 1.0, 1.0, 1.0, 0.0, [0.0, 1.0, 0.0, 0.25], [1.0, 0.0, 1.0, 1.0], [0.199, 0.587, 0.114, 0.0]]; + AGM_Optics_Camera cameraEffect ["INTERNAL", "BACK","agm_optics_rendertarget0"]; + + waitUntil {[] call AGM_Optics_fnc_mainLoop; False}; +}; diff --git a/TO_MERGE/agm/Optics/config.cpp b/TO_MERGE/agm/Optics/config.cpp new file mode 100644 index 0000000000..429c57cbe2 --- /dev/null +++ b/TO_MERGE/agm/Optics/config.cpp @@ -0,0 +1,454 @@ +class CfgPatches { + class AGM_Optics { + units[] = {}; + weapons[] = {}; + requiredVersion = 0.60; + requiredAddons[] = {AGM_Core}; + version = 0.1; + author[] = {"Taosenai"}; + authorUrl = "http://www.ryanschultz.org/tmr/"; + }; +}; + +class CfgFunctions { + class AGM_Optics { + class AGM_Optics { + file = "AGM_Optics\functions"; + class firedEH; + class hideScope; + class initScope; + class mainLoop; + }; + }; +}; + +class Extended_PostInit_EventHandlers { + class AGM_Optics { + clientInit = "call compile preProcessFileLineNumbers '\AGM_Optics\clientInit.sqf'"; + }; +}; + +class Extended_FiredBIS_EventHandlers { + class CAManBase { + class AGM_Optics { + clientFiredBIS = "_this call AGM_Optics_fnc_firedEH;"; + }; + }; +}; + +class CfgOpticsEffect { + class AGM_OpticsRadBlur1 { + type = "radialblur"; + params[] = {0.015, 0, 0.14, 0.2}; + priority = 950; + }; +}; + + +class CfgWeapons { + class ItemCore; + class InventoryItem_Base_F; + class InventoryMuzzleItem_Base_F; + class InventoryOpticsItem_Base_F; + + class optic_Hamr : ItemCore { + displayName = "HAMR 4x"; + descriptionShort = "High Accuracy Multi-Range Optic
Magnification: 4x
Reticle: CM-RW 6.5mm"; + scope = 2; + weaponInfoType = "AGM_RscWeapon"; + + AGM_Optics_enhanced = 1; + AGM_Optics_reticle = "\AGM_Optics\data\hamr\hamr-reticle65_ca.paa"; + AGM_Optics_reticleIllum = "\AGM_Optics\data\hamr\hamr-reticle65Illum_ca.paa"; + AGM_Optics_body = "\AGM_Optics\data\hamr\hamr-body_ca.paa"; + AGM_Optics_bodyNight = "\AGM_Optics\data\hamr\hamr-bodyNight_ca.paa"; + + model = "\A3\weapons_f\acc\acco_hamr_F"; + + class ItemInfo : InventoryOpticsItem_Base_F { + mass = 4; + optics = 1; + optictype = 1; + rmbhint = "HAMR"; + modeloptics = "\AGM_Optics\agm_optics_pip.p3d"; + + class OpticsModes { + class Hamr2Collimator { + AGM_Optics_enhanced = 0; + opticsID = 1; + useModelOptics = 0; + opticsppeffects[] = {}; + opticsFlare = 0; + opticsDisablePeripherialVision = 0; + opticsZoomMin = 0.375; + opticsZoomMax = 1; + opticsZoomInit = 0.75; + memoryPointCamera = "eye"; + visionMode[] = {}; + distanceZoomMin = 300; + distanceZoomMax = 300; + }; + + class Hamr2Scope { + cameradir = ""; + distanceZoomMin = 300; + distanceZoomMax = 300; + memorypointcamera = "opticView"; + opticsdisableperipherialvision = 0; + opticsdisplayname = "IHAMR"; + opticsflare = 1; + opticsid = 2; + opticsppeffects[] = {"OpticsCHAbera2", "OpticsBlur1", "AGM_OpticsRadBlur1"}; + opticszoominit = 0.0872664626; + opticszoommax = 0.0872664626; + opticszoommin = 0.0872664626; + discretefov[] = {0.0872664626}; + discreteinitindex = 0; + usemodeloptics = 1; + modeloptics = "\AGM_Optics\agm_optics_pip.p3d"; + visionmode[] = {"Normal", "NVG"}; + }; + }; + }; + }; + + class optic_Arco : ItemCore { + descriptionshort = "Advanced Rifle Combat Optic
Magnification: 4x
Reticle: SpecterDR 6.5mm"; + displayname = "ARCO 4x"; + picture = "\A3\weapons_F\Data\UI\gear_acco_Arco_CA.paa"; + scope = 2; + weaponInfoType = "AGM_RscWeapon"; + + model = "\A3\weapons_f\acc\acco_Arco_F"; + + AGM_Optics_enhanced = 1; + AGM_Optics_reticle = "\AGM_Optics\data\arco\arco-reticle65_ca.paa"; + AGM_Optics_reticleIllum = "\AGM_Optics\data\arco\arco-reticle65Illum_ca.paa"; + AGM_Optics_body = "\AGM_Optics\data\arco\arco-body_ca.paa"; + AGM_Optics_bodyNight = "\AGM_Optics\data\arco\arco-bodyNight_ca.paa"; + + class ItemInfo: InventoryOpticsItem_Base_F { + mass = 4; + optics = 1; + optictype = 1; + rmbhint = "ARCO"; + + class OpticsModes { + class ARCO2collimator { + AGM_Optics_enhanced = 0; + cameradir = ""; + distancezoommax = 300; + distancezoommin = 300; + memorypointcamera = "eye"; + opticsdisableperipherialvision = 0; + opticsdisplayname = "CQB"; + opticsflare = 0; + opticsid = 1; + opticsppeffects[] = {}; + opticszoominit = 0.75; + opticszoommax = 1.1; + opticszoommin = 0.375; + usemodeloptics = 0; + visionmode[] = {}; + }; + class ARCO2scope: ARCO2collimator { + cameradir = ""; + distanceZoomMin = 300; + distanceZoomMax = 300; + memorypointcamera = "opticView"; + opticsdisableperipherialvision = 0; + opticsdisplayname = "ARCO"; + opticsflare = 1; + opticsid = 2; + opticsppeffects[] = {"OpticsCHAbera2", "OpticsBlur1", "AGM_OpticsRadBlur1"}; + opticszoominit = 0.0872664626; // 0.0872664626 rad = 5 degrees + opticszoommax = 0.0872664626; // SpecterDR 4x is 6 degrees + opticszoommin = 0.0872664626; // Scope graphic in game covers 1 degree + discretefov[] = {0.0872664626}; + discreteinitindex = 0; + usemodeloptics = 1; + modeloptics = "\AGM_Optics\data\AGM_Optics_reticle90.p3d"; + visionmode[] = {"Normal"}; + }; + }; + }; + }; + + class optic_MRCO : ItemCore { + displayName = "MRCO 1x/4x"; + descriptionShort = "Medium Range Combat Optic
Magnification: 1x/4x
Reticle: Pitbull Gen II 5.56mm"; + scope = 2; + weaponInfoType = "AGM_RscWeapon"; + + AGM_Optics_enhanced = 1; + AGM_Optics_reticle = "\AGM_Optics\data\mrco\mrco-reticle556_ca.paa"; + AGM_Optics_reticleIllum = "\AGM_Optics\data\mrco\mrco-reticle556Illum_ca.paa"; + AGM_Optics_body = "\AGM_Optics\data\mrco\mrco-body_ca.paa"; + AGM_Optics_bodyNight = "\AGM_Optics\data\mrco\mrco-bodyNight_ca.paa"; + + class ItemInfo : InventoryOpticsItem_Base_F { + opticType = 1; + mass = 4; + optics = 1; + modelOptics = "\A3\Weapons_f_beta\acc\reticle_MRCO_F"; + + class OpticsModes { + class MRCOcq { + AGM_Optics_enhanced = 0; + opticsID = 1; + useModelOptics = 0; + opticsPPEffects[] = {}; + opticsFlare = 0; + opticsDisablePeripherialVision = 0; + opticsZoomMin = 0.375; + opticsZoomMax = 1; + opticsZoomInit = 0.75; + memoryPointCamera = "eye"; + visionMode[] = {}; + distanceZoomMin = 100; + distanceZoomMax = 100; + }; + + class MRCOscope { + cameradir = ""; + distanceZoomMin = 300; + distanceZoomMax = 300; + memorypointcamera = "eye"; + opticsdisableperipherialvision = 0; + opticsdisplayname = "MRCO"; + opticsflare = 1; + opticsid = 2; + opticsppeffects[] = {"OpticsCHAbera2", "OpticsBlur2", "AGM_OpticsRadBlur1"}; + opticszoominit = 0.0872664626; + opticszoommax = 0.0872664626; + opticszoommin = 0.0872664626; + discretefov[] = {0.0872664626}; + discreteinitindex = 0; + usemodeloptics = 1; + modeloptics = "\AGM_Optics\data\AGM_Optics_reticle90.p3d"; + visionmode[] = {"Normal"}; + }; + }; + }; + }; + + class optic_Nightstalker : ItemCore { + class ItemInfo: InventoryOpticsItem_Base_F { + class OpticsModes { + class NCTALKEP {}; + class Iron : NCTALKEP { + opticsppeffects[] = {}; // Fix Arma 3 bug + }; + }; + }; + }; + + class optic_SOS: ItemCore { + class ItemInfo: InventoryOpticsItem_Base_F { + modelOptics = "\AGM_Optics\agm_optics_pip.p3d"; + class OpticsModes { + class Snip { + visionMode[] = {"Normal","TI","NVG"}; + thermalMode[] = {5,6}; + opticsPPEffects[] = {"OpticsCHAbera1","radblur"}; + modelOptics[] = {"\AGM_Optics\agm_optics_pip.p3d","\AGM_Optics\agm_optics_pip.p3d"}; + }; + }; + + }; + }; + + class optic_DMS : ItemCore { + class ItemInfo: InventoryOpticsItem_Base_F { + class OpticsModes { + class Snip {}; + class Iron : Snip { + opticsppeffects[] = {}; // Fix Arma 3 bug + }; + }; + }; + }; + + class optic_LRPS : ItemCore { + descriptionshort = "Nightforce NXS Riflescope
Magnification: 5.5-22x"; + displayname = "NXS 5.5-22x"; + weaponinfotype = "AGM_RscWeapon"; + + AGM_Optics_enhanced = 1; + AGM_Optics_reticle = "\AGM_Optics\data\sos\sos-reticleMLR_ca.paa"; + AGM_Optics_reticleIllum = "\AGM_Optics\data\sos\sos-reticleMLRIllum_ca.paa"; + AGM_Optics_body = "\AGM_Optics\data\sos\sos-body_ca.paa"; + AGM_Optics_bodyNight = "\AGM_Optics\data\sos\sos-bodyNight_ca.paa"; + + class ItemInfo: InventoryOpticsItem_Base_F { + modeloptics = "\AGM_Optics\data\AGM_Optics_reticle90.p3d"; + weaponinfotype = "RscWeaponRangeZeroingFOV"; + opticType = 2; // Sniper optics + + class OpticsModes { + // Based on Nightforce NXS 5.5-22 scope + class Snip { + cameradir = ""; + discretedistance[] = {100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300}; + discretedistanceinitindex = 0; + discreteinitindex = 0; + distancezoommax = 2300; + distancezoommin = 100; + memorypointcamera = "opticView"; + modeloptics = "\AGM_Optics\data\AGM_Optics_reticle90.p3d"; + opticsdisableperipherialvision = 1; + opticsdisplayname = "SOS"; + opticsflare = 1; + opticsid = 1; + opticsppeffects[] = {"OpticsCHAbera1", "OpticsBlur1", "AGM_OpticsRadBlur1"}; + // How to determine opticszoom + // First do the basic math based on the listed FOV of the scope to + // get a baseline FOV + // 0.1 meter at 100 meters = 1 mrad + // + // 5.5x FOV -- 5.3 m at 100 m = 53 mrad + // = 0.053 rad = 3.037 deg FOV + + // 22x FOV -- 1.4 m at 100m = 14 mrad + // = 0.014 rad = 0.802 deg + + // The FOV you give the engine is based on a rather larger scope outline, so we + // have to do this extra work ourselves. + + // At 1680x1050 + // The width of a TMR optic viewfield is 864px + // The engine viewport width (which is what the below FOV is based on) is 980 + // (864/980) = (FOV to give engine / true FOV of optic) + // 864/980 * 0.053 = 0.04673 + // 864/980 * 0.014 = 0.01234 + + // Measured experimentally, these values seem quite right. + // Certainly they're close enough after you account for pixel density, etc. + + opticszoominit = 0.01234; + opticszoommax = 0.04673; + opticszoommin = 0.01234; + discretefov[] = {}; + usemodeloptics = 1; + visionmode[] = {"Normal"}; + }; + }; + }; + }; + + class optic_Yorris : ItemCore { + descriptionshort = "Burris FastFire II Red Dot Sight
Magnification: 1x"; + displayname = "FastFire II"; + }; + + class optic_MRD : ItemCore { + descriptionshort = "Eotech MRDS Red Dot Sight
Magnification: 1x"; + displayname = "MRDS"; + }; + + class optic_Holosight : ItemCore { + descriptionshort = "Eotech XPS3 Holographic Sight
Magnification: 1x"; + displayname = "XPS3 Holo"; + }; +}; + +class RscOpticsText; +class RscOpticsValue; +class RscInGameUI { + class RscUnitInfo; + class RscWeaponZeroing; + class AGM_RscWeapon : RscWeaponZeroing { + idd = -1; + controls[] = {"CA_Zeroing", "CA_FOVMode"}; + + onLoad ="with uiNameSpace do { AGM_OpticsIGUI = _this select 0 }"; + + class CA_FOVMode : RscOpticsValue { + idc = 154; + style = 2; + colorText[] = {0, 0, 0, 0}; + x = 0; + y = 0; + w = 0; + h = 0; + }; + }; +}; + +class RscTitles { + class AGM_Optics_Scope { + idd = -1; + onLoad = "with uiNameSpace do { AGM_Optics_Scope = _this select 0 };"; + onUnload = ""; + movingEnable = 1; + duration = 10000; + controls[] = {"Reticle", "ReticleNight", "BodyNight", "Body"}; + + class Reticle { + colorBackground[] = {0,0,0, 0}; + colorText[] = {1,1,1, 1}; + fade = 0; + font = "PuristaMedium"; + h = SafeZoneH; + idc = 1; + lineSpacing = 1.0; + movingEnable = 1; + size = 0; + sizeEx = 1; + style = 48; + text = ""; + type = 0; + w = SafeZoneWAbs / ((getResolution select 0) / (getResolution select 1)); + x = (SafeZoneXAbs + SafeZoneWAbs/2 - (SafeZoneWAbs / ((getResolution select 0) / (getResolution select 1)))/2); + y = SafeZoneY; + }; + + class ReticleNight : Reticle { + idc = 2; + text = ""; + }; + + class Body : Reticle { + idc = 6; + text = ""; + x = (SafeZoneXAbs + SafeZoneWAbs/2 - (SafeZoneWAbs / ((getResolution select 0) / (getResolution select 1)))); + y = SafeZoneY - (SafeZoneH/2); + w = SafeZoneWAbs / ((getResolution select 0) / (getResolution select 1)) * 2; + h = SafeZoneH * 2; + }; + + class BodyNight : Body { + idc = 5; + text = ""; + }; + }; +}; + +class PreloadTextures { + class CfgWeapons { + class optic_hamr { + AGM_Optics_body= "*"; + AGM_Optics_bodyNight = "*"; + AGM_Optics_reticle = "*"; + AGM_Optics_reticleIllum = "*"; + }; + class optic_arco { + AGM_Optics_body= "*"; + AGM_Optics_bodyNight = "*"; + AGM_Optics_reticle = "*"; + AGM_Optics_reticleIllum = "*"; + }; + class optic_mrco { + AGM_Optics_body= "*"; + AGM_Optics_bodyNight = "*"; + AGM_Optics_reticle = "*"; + AGM_Optics_reticleIllum = "*"; + }; + class optic_LRPS { + AGM_Optics_body= "*"; + AGM_Optics_bodyNight = "*"; + AGM_Optics_reticle = "*"; + AGM_Optics_reticleIllum = "*"; + }; + }; +}; diff --git a/TO_MERGE/agm/Optics/data/arco/arco-bodyNight_ca.paa b/TO_MERGE/agm/Optics/data/arco/arco-bodyNight_ca.paa new file mode 100644 index 0000000000..9b186b56f4 Binary files /dev/null and b/TO_MERGE/agm/Optics/data/arco/arco-bodyNight_ca.paa differ diff --git a/TO_MERGE/agm/Optics/data/arco/arco-body_ca.paa b/TO_MERGE/agm/Optics/data/arco/arco-body_ca.paa new file mode 100644 index 0000000000..193b14a92c Binary files /dev/null and b/TO_MERGE/agm/Optics/data/arco/arco-body_ca.paa differ diff --git a/TO_MERGE/agm/Optics/data/arco/arco-reticle65Illum_ca.paa b/TO_MERGE/agm/Optics/data/arco/arco-reticle65Illum_ca.paa new file mode 100644 index 0000000000..d193051e81 Binary files /dev/null and b/TO_MERGE/agm/Optics/data/arco/arco-reticle65Illum_ca.paa differ diff --git a/TO_MERGE/agm/Optics/data/arco/arco-reticle65_ca.paa b/TO_MERGE/agm/Optics/data/arco/arco-reticle65_ca.paa new file mode 100644 index 0000000000..671417fd4b Binary files /dev/null and b/TO_MERGE/agm/Optics/data/arco/arco-reticle65_ca.paa differ diff --git a/TO_MERGE/agm/Optics/data/black.rvmat b/TO_MERGE/agm/Optics/data/black.rvmat new file mode 100644 index 0000000000..431d76689f --- /dev/null +++ b/TO_MERGE/agm/Optics/data/black.rvmat @@ -0,0 +1,8 @@ +ambient[]={0,0,0,0.89999998}; +diffuse[]={0,0,0,0.89999998}; +forcedDiffuse[]={0,0,0,1}; +emmisive[]={0,0,0,1}; +specular[]={0,0,0,0}; +specularPower=1; +PixelShaderID="Normal"; +VertexShaderID="Basic"; diff --git a/TO_MERGE/agm/Optics/data/em.rvmat b/TO_MERGE/agm/Optics/data/em.rvmat new file mode 100644 index 0000000000..a491df4b9a --- /dev/null +++ b/TO_MERGE/agm/Optics/data/em.rvmat @@ -0,0 +1,20 @@ +ambient[]={1,1,1,1}; +diffuse[]={1,1,1,1}; +forcedDiffuse[]={0,0,0,0}; +emmisive[]={1,1,1,1}; +specular[]={1,0.99956858,1,1}; +specularPower=1; +PixelShaderID="Normal"; +VertexShaderID="Basic"; +class Stage1 +{ + texture="#(argb,8,8,3)color(0.5,0.5,0.5,0.5,DT)"; + uvSource="tex"; + class uvTransform + { + aside[]={1,0,0}; + up[]={0,1,0}; + dir[]={0,0,0}; + pos[]={0,0,0}; + }; +}; diff --git a/TO_MERGE/agm/Optics/data/hamr/hamr-bodyNight_ca.paa b/TO_MERGE/agm/Optics/data/hamr/hamr-bodyNight_ca.paa new file mode 100644 index 0000000000..422b13f7f1 Binary files /dev/null and b/TO_MERGE/agm/Optics/data/hamr/hamr-bodyNight_ca.paa differ diff --git a/TO_MERGE/agm/Optics/data/hamr/hamr-body_ca.paa b/TO_MERGE/agm/Optics/data/hamr/hamr-body_ca.paa new file mode 100644 index 0000000000..6b55916c5f Binary files /dev/null and b/TO_MERGE/agm/Optics/data/hamr/hamr-body_ca.paa differ diff --git a/TO_MERGE/agm/Optics/data/hamr/hamr-reticle65Illum_ca.paa b/TO_MERGE/agm/Optics/data/hamr/hamr-reticle65Illum_ca.paa new file mode 100644 index 0000000000..7af73234fc Binary files /dev/null and b/TO_MERGE/agm/Optics/data/hamr/hamr-reticle65Illum_ca.paa differ diff --git a/TO_MERGE/agm/Optics/data/hamr/hamr-reticle65_ca.paa b/TO_MERGE/agm/Optics/data/hamr/hamr-reticle65_ca.paa new file mode 100644 index 0000000000..2cbf329c89 Binary files /dev/null and b/TO_MERGE/agm/Optics/data/hamr/hamr-reticle65_ca.paa differ diff --git a/TO_MERGE/agm/Optics/data/mrco/mrco-bodyNight_ca.paa b/TO_MERGE/agm/Optics/data/mrco/mrco-bodyNight_ca.paa new file mode 100644 index 0000000000..381fdd3e97 Binary files /dev/null and b/TO_MERGE/agm/Optics/data/mrco/mrco-bodyNight_ca.paa differ diff --git a/TO_MERGE/agm/Optics/data/mrco/mrco-body_ca.paa b/TO_MERGE/agm/Optics/data/mrco/mrco-body_ca.paa new file mode 100644 index 0000000000..bfcaa9828f Binary files /dev/null and b/TO_MERGE/agm/Optics/data/mrco/mrco-body_ca.paa differ diff --git a/TO_MERGE/agm/Optics/data/mrco/mrco-reticle556Illum_ca.paa b/TO_MERGE/agm/Optics/data/mrco/mrco-reticle556Illum_ca.paa new file mode 100644 index 0000000000..5bf836d593 Binary files /dev/null and b/TO_MERGE/agm/Optics/data/mrco/mrco-reticle556Illum_ca.paa differ diff --git a/TO_MERGE/agm/Optics/data/mrco/mrco-reticle556_ca.paa b/TO_MERGE/agm/Optics/data/mrco/mrco-reticle556_ca.paa new file mode 100644 index 0000000000..e7b8599f83 Binary files /dev/null and b/TO_MERGE/agm/Optics/data/mrco/mrco-reticle556_ca.paa differ diff --git a/TO_MERGE/agm/Optics/data/scopeblack-100_ca.paa b/TO_MERGE/agm/Optics/data/scopeblack-100_ca.paa new file mode 100644 index 0000000000..d0232dc0cc Binary files /dev/null and b/TO_MERGE/agm/Optics/data/scopeblack-100_ca.paa differ diff --git a/TO_MERGE/agm/Optics/data/scopeblack-70_ca.paa b/TO_MERGE/agm/Optics/data/scopeblack-70_ca.paa new file mode 100644 index 0000000000..62b06d7f84 Binary files /dev/null and b/TO_MERGE/agm/Optics/data/scopeblack-70_ca.paa differ diff --git a/TO_MERGE/agm/Optics/data/scopeblack-80_ca.paa b/TO_MERGE/agm/Optics/data/scopeblack-80_ca.paa new file mode 100644 index 0000000000..f74e3e41f1 Binary files /dev/null and b/TO_MERGE/agm/Optics/data/scopeblack-80_ca.paa differ diff --git a/TO_MERGE/agm/Optics/data/scopeblack-90_ca.paa b/TO_MERGE/agm/Optics/data/scopeblack-90_ca.paa new file mode 100644 index 0000000000..2240dcc5fe Binary files /dev/null and b/TO_MERGE/agm/Optics/data/scopeblack-90_ca.paa differ diff --git a/TO_MERGE/agm/Optics/data/sos/sos-bodyNight_ca.paa b/TO_MERGE/agm/Optics/data/sos/sos-bodyNight_ca.paa new file mode 100644 index 0000000000..22f008b17a Binary files /dev/null and b/TO_MERGE/agm/Optics/data/sos/sos-bodyNight_ca.paa differ diff --git a/TO_MERGE/agm/Optics/data/sos/sos-body_ca.paa b/TO_MERGE/agm/Optics/data/sos/sos-body_ca.paa new file mode 100644 index 0000000000..37c6d47d63 Binary files /dev/null and b/TO_MERGE/agm/Optics/data/sos/sos-body_ca.paa differ diff --git a/TO_MERGE/agm/Optics/data/sos/sos-reticleMLRIllum_ca.paa b/TO_MERGE/agm/Optics/data/sos/sos-reticleMLRIllum_ca.paa new file mode 100644 index 0000000000..65d0afb2e2 Binary files /dev/null and b/TO_MERGE/agm/Optics/data/sos/sos-reticleMLRIllum_ca.paa differ diff --git a/TO_MERGE/agm/Optics/data/sos/sos-reticleMLR_ca.paa b/TO_MERGE/agm/Optics/data/sos/sos-reticleMLR_ca.paa new file mode 100644 index 0000000000..48bc7f4e00 Binary files /dev/null and b/TO_MERGE/agm/Optics/data/sos/sos-reticleMLR_ca.paa differ diff --git a/TO_MERGE/agm/Optics/data/tmr_optics_reticle100.p3d b/TO_MERGE/agm/Optics/data/tmr_optics_reticle100.p3d new file mode 100644 index 0000000000..365c9d5555 Binary files /dev/null and b/TO_MERGE/agm/Optics/data/tmr_optics_reticle100.p3d differ diff --git a/TO_MERGE/agm/Optics/data/tmr_optics_reticle70.p3d b/TO_MERGE/agm/Optics/data/tmr_optics_reticle70.p3d new file mode 100644 index 0000000000..cbb0181a17 Binary files /dev/null and b/TO_MERGE/agm/Optics/data/tmr_optics_reticle70.p3d differ diff --git a/TO_MERGE/agm/Optics/data/tmr_optics_reticle80.p3d b/TO_MERGE/agm/Optics/data/tmr_optics_reticle80.p3d new file mode 100644 index 0000000000..cbb0181a17 Binary files /dev/null and b/TO_MERGE/agm/Optics/data/tmr_optics_reticle80.p3d differ diff --git a/TO_MERGE/agm/Optics/data/tmr_optics_reticle90.p3d b/TO_MERGE/agm/Optics/data/tmr_optics_reticle90.p3d new file mode 100644 index 0000000000..c2f1ae5ceb Binary files /dev/null and b/TO_MERGE/agm/Optics/data/tmr_optics_reticle90.p3d differ diff --git a/TO_MERGE/agm/Optics/data/tmr_reticle_clear.p3d b/TO_MERGE/agm/Optics/data/tmr_reticle_clear.p3d new file mode 100644 index 0000000000..89a29d7d8c Binary files /dev/null and b/TO_MERGE/agm/Optics/data/tmr_reticle_clear.p3d differ diff --git a/TO_MERGE/agm/Optics/functions/fn_firedEH.sqf b/TO_MERGE/agm/Optics/functions/fn_firedEH.sqf new file mode 100644 index 0000000000..1030fceefd --- /dev/null +++ b/TO_MERGE/agm/Optics/functions/fn_firedEH.sqf @@ -0,0 +1,149 @@ +/* + * Original Author: Taosenai + * Adapted By: KoffeinFlummi + * + * Animates the scope when firing. + * + * Arguments: + * 0: Unit + * 1: Weapon + * 2: Muzzle + * 3: Mode + * 4: Ammo + * 5: Magazine + * 6: Projectile + * + * Return Value: + * None + */ + +if (_this select 0 != AGM_player) exitwith {}; // Sanity check + +0 = _this spawn { + disableSerialization; + + _weaponType = _this select 1; + _config = configFile >> "CfgWeapons" >> _weaponType; + _scope = uiNameSpace getVariable "AGM_Optics_Scope"; + + // @todo + _recoilMulti = getNumber (_config >> "tmr_smallarms_recoil_shakeMultiplier"); // Will be 0 if undefined + + if (_recoilMulti == 0) then { + _recoilMulti = 1; + }; + if (_recoilMulti > 2.6) then { + _recoilMulti = 2.6; // Don't get too high + }; + + // Reduce the reticle movement as the player drops into lower, supported stances. + _detectStance = (player selectionPosition "Neck" select 2); + if (_detectStance < 1.3) then { + _recoilMulti = _recoilMulti - 0.10; + }; + if (_detectStance < 0.7) then { + _recoilMulti = _recoilMulti - 0.20; + }; + + // Reduce reticle movement if the player is rested (tmr_autorest). + if (player getVariable ["tmr_autorest_rested", false]) then { + _recoilMulti = _recoilMulti - 0.20; + }; + + // Reduce reticle movement if the player is deployed (tmr_autorest). + if (player getVariable ["tmr_autorest_deployed", false]) then { + _recoilMulti = _recoilMulti - 0.30; + }; + _recoilMulti = 1; + // @endtodo + + + // Constants which determine how the scope recoils + _recoilScope = 0.03 * _recoilMulti + random 0.0015; + _recoilRing = 0.03 * _recoilMulti + random 0.0015; + + _randomScopeShiftX = 0.005 * _recoilMulti - random 0.011; + + _randomReticleShiftX = 0.0036 * _recoilMulti + random 0.0045; // Always tend up and right; + _randomReticleShiftY = -0.0046 * _recoilMulti - random 0.0055; + + ///////// + // Center everything + + // getResolution select 4 should return the aspect ratio, but it's totally wrong + // for triple head displays. We'll compute it manually. + _aspectRatio = (getResolution select 0) / (getResolution select 1); + + _reticleX = (SafeZoneXAbs + SafeZoneWAbs/2 - (SafeZoneWAbs / _aspectRatio)/2); + _reticleY = SafeZoneY; + _reticleW = SafeZoneWAbs / _aspectRatio; + _reticleH = SafeZoneH; + + // Reticle + (_scope displayCtrl 1) ctrlSetPosition [_reticleX, _reticleY, _reticleW, _reticleH]; + // Reticle night (illum) + (_scope displayCtrl 2) ctrlSetPosition [_reticleX, _reticleY, _reticleW, _reticleH]; + + _bodyX = (SafeZoneXAbs + SafeZoneWAbs/2 - (SafeZoneWAbs / _aspectRatio)); + _bodyY = SafeZoneY - (SafeZoneH/2); + _bodyW = SafeZoneWAbs / _aspectRatio * 2; + _bodyH = SafeZoneH * 2; + + // Body night + (_scope displayCtrl 5) ctrlSetPosition [_bodyX, _bodyY, _bodyW, _bodyH]; + // Body + (_scope displayCtrl 6) ctrlSetPosition [_bodyX, _bodyY, _bodyW, _bodyH]; + + _centerDelay = 0.01; + (_scope displayCtrl 1) ctrlCommit _centerDelay; + (_scope displayCtrl 2) ctrlCommit _centerDelay; + (_scope displayCtrl 5) ctrlCommit _centerDelay; + (_scope displayCtrl 6) ctrlCommit _centerDelay; + + ///////// + // Create and commit recoil effect + + // Move reticle + + (_scope displayCtrl 1) ctrlSetPosition [_reticleX - (_recoilScope/2) + _randomReticleShiftX, _reticleY - (_recoilScope/2) + _randomReticleShiftY, _reticleW + _recoilScope, _reticleH + _recoilScope]; + (_scope displayCtrl 2) ctrlSetPosition [_reticleX - (_recoilScope/2) + _randomReticleShiftX, _reticleY - (_recoilScope/2) + _randomReticleShiftY, _reticleW + _recoilScope, _reticleH + _recoilScope]; + + // Move body + + (_scope displayCtrl 5) ctrlSetPosition [_bodyX - (_recoilScope/2) + _randomScopeShiftX, _bodyY - (_recoilScope/2), _bodyW + _recoilScope, _bodyH + _recoilScope]; + (_scope displayCtrl 6) ctrlSetPosition [_bodyX - (_recoilScope/2) + _randomScopeShiftX, _bodyY - (_recoilScope/2), _bodyW + _recoilScope, _bodyH + _recoilScope]; + + _recoilDelay = 0.036; + _fa = false; + _cwm = currentWeaponMode player; + if (_cwm == "FullAuto" || _cwm == "manual" || _cwm == "Burst") then { + _recoilDelay = getNumber (_config >> _cwm >> "reloadTime")/2.2; + _fa = true; + }; + (_scope displayCtrl 1) ctrlCommit _recoilDelay; + (_scope displayCtrl 2) ctrlCommit _recoilDelay; + (_scope displayCtrl 5) ctrlCommit _recoilDelay; + (_scope displayCtrl 6) ctrlCommit _recoilDelay; + + ////////////// + + waituntil {sleep 0.01; ctrlCommitted (_scope displayCtrl 6)}; + + ////////////// + + ////// + // Bring them all back + (_scope displayCtrl 1) ctrlSetPosition [_reticleX, _reticleY, _reticleW, _reticleH]; + (_scope displayCtrl 2) ctrlSetPosition [_reticleX, _reticleY, _reticleW, _reticleH]; + (_scope displayCtrl 5) ctrlSetPosition [_bodyX, _bodyY, _bodyW, _bodyH]; + (_scope displayCtrl 6) ctrlSetPosition [_bodyX, _bodyY, _bodyW, _bodyH]; + + _recenterDelay = 0.09; + if (_fa) then { + _recenterDelay = getNumber (_config >> _cwm >> "reloadTime")/2.2; + }; + (_scope displayCtrl 1) ctrlCommit _recenterDelay; + (_scope displayCtrl 2) ctrlCommit _recenterDelay; + (_scope displayCtrl 5) ctrlCommit _recenterDelay; + (_scope displayCtrl 6) ctrlCommit _recenterDelay; +}; diff --git a/TO_MERGE/agm/Optics/functions/fn_hideScope.sqf b/TO_MERGE/agm/Optics/functions/fn_hideScope.sqf new file mode 100644 index 0000000000..8b048f1bd7 --- /dev/null +++ b/TO_MERGE/agm/Optics/functions/fn_hideScope.sqf @@ -0,0 +1,19 @@ +/* + * Original Author: Taosenai + * Adapted By: KoffeinFlummi + * + * Hides the scope. + * + */ + +private ["_scope"]; + +((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 1) ctrlSetTextColor [1,1,1,0]; +((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 2) ctrlSetTextColor [1,1,1,0]; +((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 5) ctrlSetTextColor [1,1,1,0]; +((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 6) ctrlSetTextColor [1,1,1,0]; + +((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 1) ctrlCommit 0; +((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 2) ctrlCommit 0; +((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 5) ctrlCommit 0; +((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 6) ctrlCommit 0; diff --git a/TO_MERGE/agm/Optics/functions/fn_initScope.sqf b/TO_MERGE/agm/Optics/functions/fn_initScope.sqf new file mode 100644 index 0000000000..f2e078ebbe --- /dev/null +++ b/TO_MERGE/agm/Optics/functions/fn_initScope.sqf @@ -0,0 +1,25 @@ +/* + * Original Author: Taosenai + * Adapted By: KoffeinFlummi + * + * Initializes the scope resources. + * + */ + +private ["_display"]; + +// Make sure we only cutRsc when the resource isn't already available +if (isNil {uiNameSpace getVariable "AGM_Optics_Scope"} or {isNull (uiNameSpace getVariable "AGM_Optics_Scope")}) exitWith { + AGM_Optics_scopeRSC cutRsc ["AGM_Optics_Scope","PLAIN",0]; + ((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 1) ctrlSetTextColor [1,1,1,0]; + ((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 2) ctrlSetTextColor [1,1,1,0]; + ((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 5) ctrlSetTextColor [1,1,1,0]; + ((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 6) ctrlSetTextColor [1,1,1,0]; + + ((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 1) ctrlCommit 0; + ((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 2) ctrlCommit 0; + ((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 5) ctrlCommit 0; + ((uiNameSpace getVariable "AGM_Optics_Scope") displayCtrl 6) ctrlCommit 0; + True +}; +False diff --git a/TO_MERGE/agm/Optics/functions/fn_mainLoop.sqf b/TO_MERGE/agm/Optics/functions/fn_mainLoop.sqf new file mode 100644 index 0000000000..e73b56db37 --- /dev/null +++ b/TO_MERGE/agm/Optics/functions/fn_mainLoop.sqf @@ -0,0 +1,94 @@ +/* + * Original Author: Taosenai + * Adapted By: KoffeinFlummi + * + * Monitors the RscInGameUI and displays the overlays when needed. + * + * Arguments: + * None + * + * Return Value: + * None + */ + +if !(cameraOn == AGM_player && {alive AGM_player} && {!visibleMap} && {ctrlShown ((uinamespace getVariable "AGM_OpticsIGUI") displayCtrl 154)}) exitWith { + // Failed the state check, hide the scope if it's up + if (AGM_Optics_inScope) then { + // Hide the scope + AGM_Optics_inScope = false; + AGM_Optics_inScope_FOV = ([] call cba_fnc_getFOV) select 0; + + [] call AGM_Optics_fnc_hideScope; + }; +}; + +AGM_Optics_Camera setposATL (positioncameratoworld [0,0,0.4]); +AGM_Optics_Camera camPrepareTarget (positioncameratoworld [0,0,50]); +AGM_Optics_Camera camCommitPrepared 0; + +if (cameraView == "Gunner") then { + AGM_Optics_Camera camsetFOV 0.7; + AGM_Optics_Camera camcommit 0; +} else { + AGM_Optics_Camera camsetFOV 0.01; + AGM_Optics_Camera camcommit 0; +}; + +private ["_optic", "_scope"]; + +disableSerialization; + +// Get the name of the attached optic +_optic = (primaryWeaponItems AGM_player) select 2; +_scope = uiNameSpace getVariable "AGM_Optics_Scope"; + +// Init the scope (if needed) +[] call AGM_Optics_fnc_initScope; + +// Check if the optic has changed since we last drew it +_doUpdateAllLayers = false; +if (AGM_Optics_currentOptic != _optic) then { + AGM_Optics_currentOptic = _optic; + _doUpdateAllLayers = true; +}; + +// Check if Splendid Camera, unit switch, etc. has blanked out our displays for no good reason (grrr) +if (ctrlText (_scope displayCtrl 1) == "") then { + _doUpdateAllLayers = true; +}; + +// Draw the correct layers (don't show them) +if (_doUpdateAllLayers) then { + (_scope displayCtrl 1) ctrlSetText getText (configFile >> "CfgWeapons" >> _optic >> "AGM_Optics_reticle"); + (_scope displayCtrl 2) ctrlSetText getText (configFile >> "CfgWeapons" >> _optic >> "AGM_Optics_reticleIllum"); + (_scope displayCtrl 5) ctrlSetText getText (configFile >> "CfgWeapons" >> _optic >> "AGM_Optics_bodyNight"); + (_scope displayCtrl 6) ctrlSetText getText (configFile >> "CfgWeapons" >> _optic >> "AGM_Optics_body"); +}; + +// Stop processing if already in the scope view and FOV hasn't changed +if (AGM_Optics_inScope) exitwith {}; + +// Mark that we're in enhanced scope view +AGM_Optics_inScope = true; + +// Calculate lighting +_lighting = sunOrMoon; // 1 is day, 0 is night + +_nightOpacity = 1; +_dayOpacity = (0 max moonIntensity * (1 - (0 max overcast)))/5; + +if (_lighting == 1) then { + _nightOpacity = 0; + _dayOpacity = 1; +}; + +// Apply lighting and make layers visible +(_scope displayCtrl 1) ctrlSetTextColor [1,1,1,1]; +(_scope displayCtrl 2) ctrlSetTextColor [1,1,1,_nightOpacity]; +(_scope displayCtrl 5) ctrlSetTextColor [1,1,1,_nightOpacity]; +(_scope displayCtrl 6) ctrlSetTextColor [1,1,1,_dayOpacity]; + +(_scope displayCtrl 1) ctrlCommit 0; +(_scope displayCtrl 2) ctrlCommit 0; +(_scope displayCtrl 5) ctrlCommit 0; +(_scope displayCtrl 6) ctrlCommit 0; diff --git a/addons/parachute/Gurtgeschirr.p3d b/TO_MERGE/agm/Parachute/Gurtgeschirr.p3d similarity index 100% rename from addons/parachute/Gurtgeschirr.p3d rename to TO_MERGE/agm/Parachute/Gurtgeschirr.p3d diff --git a/addons/parachute/T10Schirm.p3d b/TO_MERGE/agm/Parachute/T10Schirm.p3d similarity index 100% rename from addons/parachute/T10Schirm.p3d rename to TO_MERGE/agm/Parachute/T10Schirm.p3d diff --git a/addons/captives/CfgVehicles.hpp b/addons/captives/CfgVehicles.hpp index b6f9edd576..930f2b27d8 100644 --- a/addons/captives/CfgVehicles.hpp +++ b/addons/captives/CfgVehicles.hpp @@ -154,15 +154,10 @@ class CfgVehicles { MACRO_LOADUNLOADCAPTIVE }; -#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \ - name = #ITEM; \ - count = COUNT; \ - }; - class Box_NATO_Support_F; class ACE_Box_Misc: Box_NATO_Support_F { class TransportItems { - MACRO_ADDITEM(ACE_CableTie,12) + MACRO_ADDITEM(ACE_CableTie,12); }; }; diff --git a/addons/captives/XEH_postInit.sqf b/addons/captives/XEH_postInit.sqf index ac86d71915..651edbcf86 100644 --- a/addons/captives/XEH_postInit.sqf +++ b/addons/captives/XEH_postInit.sqf @@ -27,12 +27,11 @@ if (isServer) then { ["SetHandcuffed", {_this call FUNC(setHandcuffed)}] call EFUNC(common,addEventHandler); ["SetSurrendered", {_this call FUNC(setSurrendered)}] call EFUNC(common,addEventHandler); -//TODO: Medical Integration Events??? +//Medical Integration Events??? +["medical_onUnconscious", {_this call ACE_Captives_fnc_handleOnUnconscious}] call EFUNC(common,addEventHandler); -// [_unit, "knockedOut", { -// if (local (_this select 0)) then {_this call ACE_Captives_fnc_handleKnockedOut}; -// }] call ACE_Core_fnc_addCustomEventhandler; +if (!hasInterface) exitWith {}; -// [_unit, "wokeUp", { -// if (local (_this select 0)) then {_this call ACE_Captives_fnc_handleWokeUp}; -// }] call ACE_Core_fnc_addCustomEventhandler; +["isNotEscorting", {!(GETVAR(_this select 0,GVAR(isEscorting),false))}] call EFUNC(common,addCanInteractWithCondition); +["isNotHandcuffed", {!(GETVAR(_this select 0,GVAR(isHandcuffed),false))}] call EFUNC(common,addCanInteractWithCondition); +["isNotSurrendering", {!(GETVAR(_this select 0,GVAR(isSurrendering),false))}] call EFUNC(common,addCanInteractWithCondition); diff --git a/addons/captives/XEH_preInit.sqf b/addons/captives/XEH_preInit.sqf index 34c9bca910..c09f81e51b 100644 --- a/addons/captives/XEH_preInit.sqf +++ b/addons/captives/XEH_preInit.sqf @@ -19,10 +19,9 @@ PREP(doUnloadCaptive); PREP(handleGetIn); PREP(handleGetOut); PREP(handleKilled); -PREP(handleKnockedOut); +PREP(handleOnUnconscious); PREP(handlePlayerChanged); PREP(handleUnitInitPost); -PREP(handleWokeUp); PREP(handleZeusDisplayChanged); PREP(moduleSurrender); PREP(setHandcuffed); diff --git a/addons/captives/config.cpp b/addons/captives/config.cpp index 27b7c4ec60..57de6ee970 100644 --- a/addons/captives/config.cpp +++ b/addons/captives/config.cpp @@ -16,16 +16,3 @@ class CfgPatches { #include "CfgMoves.hpp" #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" - - -class ACE_canInteractConditions { - class GVAR(isNotEscorting) { - condition = QUOTE(!(GETVAR(player,QGVAR(isEscorting),false))); - }; - class GVAR(isNotHandcuffed) { - condition = QUOTE(!(GETVAR(player,QGVAR(isHandcuffed),false))); - }; - class GVAR(isNotSurrendering) { - condition = QUOTE(!(GETVAR(player,QGVAR(isSurrendering),false))); - }; -}; diff --git a/addons/captives/functions/fnc_doEscortCaptive.sqf b/addons/captives/functions/fnc_doEscortCaptive.sqf index 299aa81631..08f44a1437 100644 --- a/addons/captives/functions/fnc_doEscortCaptive.sqf +++ b/addons/captives/functions/fnc_doEscortCaptive.sqf @@ -51,7 +51,7 @@ if (_state) then { _unit setVariable [QGVAR(escortedUnit), objNull, true]; }; }; - [_escortFnc, 0.2, [_unit, _target, _actionID]] call CBA_fnc_addPerFrameHandler; + [_escortFnc, 0, [_unit, _target, _actionID]] call CBA_fnc_addPerFrameHandler; } else { _unit setVariable [QGVAR(isEscorting), false, true]; diff --git a/addons/captives/functions/fnc_handleKnockedOut.sqf b/addons/captives/functions/fnc_handleKnockedOut.sqf deleted file mode 100644 index 1cd969807d..0000000000 --- a/addons/captives/functions/fnc_handleKnockedOut.sqf +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Author: commy2, PabstMirror - * Handles when a unit gets knocked out. Ends surrendering. - * - * Arguments: - * 0: Unit - * - * Return Value: - * Nothing - * - * Example: - * [bob, true] call ACE_captives_fnc_handleKnockedOut - * - * Public: No - */ -#include "script_component.hpp" - - -//ToDo: Waiting on medical integration - -PARAMS_1(_unit); - -if (_unit getVariable [QGVAR(isSurrendering), false]) then { //If surrendering, stop - [_unit, false] call FUNC(setSurrendered); -}; diff --git a/addons/captives/functions/fnc_handleOnUnconscious.sqf b/addons/captives/functions/fnc_handleOnUnconscious.sqf new file mode 100644 index 0000000000..9b73d34485 --- /dev/null +++ b/addons/captives/functions/fnc_handleOnUnconscious.sqf @@ -0,0 +1,36 @@ +/* + * Author: commy2, PabstMirror + * Handles the "medical_onUnconscious" event + * + * Arguments: + * 0: Unit + * 0: Is Unconsisisiouses + * + * Return Value: + * Nothing + * + * Example: + * [bob, true] call ACE_captives_fnc_handleOnUnconscious + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_2(_unit,_isUnconc); + +if (!local _unit) exitWith {}; + +systemChat format ["med: %1", _this]; + +if (_isUnconc) then { + //Knocked out: If surrendering, stop + if (_unit getVariable [QGVAR(isSurrendering), false]) then { + [_unit, false] call FUNC(setSurrendered); + }; +} else { + //Woke up: if handcuffed, goto animation + if (_unit getVariable [QGVAR(isHandcuffed), false] && {vehicle _unit == _unit}) then { + [_unit] call EFUNC(common,fixLoweredRifleAnimation); + [_unit, "ACE_AmovPercMstpScapWnonDnon", 1] call EFUNC(common,doAnimation); + }; +}; diff --git a/addons/captives/functions/fnc_handleWokeUp.sqf b/addons/captives/functions/fnc_handleWokeUp.sqf deleted file mode 100644 index 9bf2e1a2bc..0000000000 --- a/addons/captives/functions/fnc_handleWokeUp.sqf +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Author: commy2 - * TODO - * - * Arguments: - * 0: _unit - * - * Return Value: - * The return value - * - * Example: - * [bob] call ACE_captives_fnc_handleWokeUp - * - * Public: No - */ -#include "script_component.hpp" - -PARAMS_1(_unit); - -if (_unit getVariable [QGVAR(isHandcuffed), false] && {vehicle _unit == _unit}) then { - [_unit] call EFUNC(common,fixLoweredRifleAnimation); - [_unit, "ACE_AmovPercMstpScapWnonDnon", 0] call EFUNC(common,doAnimation); -}; diff --git a/addons/captives/functions/fnc_setHandcuffed.sqf b/addons/captives/functions/fnc_setHandcuffed.sqf index 0deb68dc8b..5917532874 100644 --- a/addons/captives/functions/fnc_setHandcuffed.sqf +++ b/addons/captives/functions/fnc_setHandcuffed.sqf @@ -52,7 +52,7 @@ if (_state) then { //If we get a change in animation then redo the animation (handles people vaulting to break the animation chain) _animChangedEHID = _unit addEventHandler ["AnimChanged", { PARAMS_2(_unit,_newAnimation); - if ((_newAnimation != "ACE_AmovPercMstpSsurWnonDnon") && (_newAnimation != "Unconscious")) then { + if ((_newAnimation != "ACE_AmovPercMstpSsurWnonDnon") && {!(_unit getVariable ["ACE_isUnconscious", false])}) then { ERROR("Handcuff animation interrupted"); systemChat format ["debug %2: new %1", _newAnimation, time]; [_unit, "ACE_AmovPercMstpScapWnonDnon", 1] call EFUNC(common,doAnimation); @@ -71,8 +71,8 @@ if (_state) then { _unit removeEventHandler ["AnimChanged", _animChangedEHID]; _unit setVariable [QGVAR(handcuffAnimEHID), -1]; - if ((vehicle _unit) == _unit) then { - //Break out of hands up animation loop (doAnimation handles Unconscious prioity) + if (((vehicle _unit) == _unit) && {!(_unit getVariable ["ACE_isUnconscious", false])}) then { + //Break out of hands up animation loop [_unit, "ACE_AmovPercMstpScapWnonDnon_AmovPercMstpSnonWnonDnon", 2] call EFUNC(common,doAnimation); }; diff --git a/addons/captives/functions/fnc_setSurrendered.sqf b/addons/captives/functions/fnc_setSurrendered.sqf index e49c6e9453..3a7436abc7 100644 --- a/addons/captives/functions/fnc_setSurrendered.sqf +++ b/addons/captives/functions/fnc_setSurrendered.sqf @@ -50,7 +50,7 @@ if (_state) then { //If we get a change in animation then redo the animation (handles people vaulting to break the animation chain) _animChangedEHID = _unit addEventHandler ["AnimChanged", { PARAMS_2(_unit,_newAnimation); - if ((_newAnimation != "ACE_AmovPercMstpSsurWnonDnon") && (_newAnimation != "Unconscious")) then { + if ((_newAnimation != "ACE_AmovPercMstpSsurWnonDnon") && {!(_unit getVariable ["ACE_isUnconscious", false])}) then { ERROR("Surrender animation interrupted"); systemChat format ["debug %2: new %1", _newAnimation, time]; [_unit, "ACE_AmovPercMstpSsurWnonDnon", 1] call EFUNC(common,doAnimation); diff --git a/addons/common/CfgWeapons.hpp b/addons/common/CfgWeapons.hpp index 5df5d75da8..5da1bff649 100644 --- a/addons/common/CfgWeapons.hpp +++ b/addons/common/CfgWeapons.hpp @@ -7,14 +7,22 @@ class CfgWeapons { simulation = "ItemMineDetector"; }; - class Rifle_Base_F; + class Rifle; + class Rifle_Base_F: Rifle { + class WeaponSlotsInfo; + }; + class ACE_FakePrimaryWeapon: Rifle_Base_F { + scope = 2; + displayName = ""; + model = ""; + picture = ""; + magazines[] = {"ACE_FakeMagazine"}; discreteDistance[] = {}; discreteDistanceInitIndex = 0; - displayName = ""; - picture = ""; - model = ""; - magazines[] = {"ACE_FakeMagazine"}; - scope = 2; + + class WeaponSlotsInfo: WeaponSlotsInfo { + mass = 0; + }; }; }; diff --git a/addons/common/HintConfig.hpp b/addons/common/HintConfig.hpp index 5dc0e6384a..bd74ac510a 100644 --- a/addons/common/HintConfig.hpp +++ b/addons/common/HintConfig.hpp @@ -53,17 +53,6 @@ class RscTitles { }; }; - class ACE_EventHandlerHelper: ACE_Rsc_Display_Base { - idd = -1; - class controls { - class CameraView: RscMapControl { - onDraw = "if (cameraView != uiNamespace getVariable 'ACE_EventHandler_CameraMode') then {uiNamespace setVariable ['ACE_EventHandler_CameraMode', cameraView]; {[uiNamespace getVariable 'ACE_EventHandler_CameraMode'] call _x; nil} count ((missionNamespace getVariable 'ACE_EventHandler_CameraMode') select 2);};"; - idc = -1; - w = 0; - h = 0; - }; - }; - }; class ACE_EventHandlerHelper2: ACE_Rsc_Display_Base { class controls { class MapMarkerCreated: RscMapControl { diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 1ac25c920f..1d951c3ceb 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -20,6 +20,19 @@ if (hasInterface) then { }; }] call FUNC(addEventhandler); +["fixCollision", DFUNC(fixCollision)] call FUNC(addEventhandler); +["fixFloating", DFUNC(fixFloating)] call FUNC(addEventhandler); +["fixPosition", DFUNC(fixPosition)] call FUNC(addEventhandler); + +["lockVehicle", { + _this setVariable [QGVAR(lockStatus), locked _this]; + _this lock 2; +}] call FUNC(addEventhandler); + +["unlockVehicle", { + _this lock (_this getVariable [QGVAR(lockStatus), locked _this]); +}] call FUNC(addEventhandler); + // hack to get PFH to work in briefing [QGVAR(onBriefingPFH), "onEachFrame", { if (time > 0) exitWith { @@ -55,8 +68,6 @@ if (_currentVersion != _previousVersion) then { if (!hasInterface) exitWith {}; call COMPILE_FILE(scripts\assignedItemFix); - -call COMPILE_FILE(scripts\initCanInteractFunction); call COMPILE_FILE(scripts\initScrollWheel); 0 spawn { @@ -88,6 +99,7 @@ GVAR(OldZeusDisplayIsOpen) = !(isNull findDisplay 312); GVAR(OldCameraView) = cameraView; GVAR(OldPlayerVehicle) = vehicle ACE_player; GVAR(OldPlayerTurret) = [ACE_player] call FUNC(getTurretIndex); +GVAR(OldPlayerWeapon) = currentWeapon ACE_player; // PFH to raise varios events [{ @@ -148,6 +160,14 @@ GVAR(OldPlayerTurret) = [ACE_player] call FUNC(getTurretIndex); ["playerTurretChanged", [ACE_player, _newPlayerTurret]] call FUNC(localEvent); }; + // "playerWeaponChanged" event + _newPlayerWeapon = currentWeapon ACE_player; + if (_newPlayerWeapon != GVAR(OldPlayerWeapon)) then { + // Raise ACE event locally + GVAR(OldPlayerWeapon) = _newPlayerWeapon; + ["playerWeaponChanged", [ACE_player, _newPlayerWeapon]] call FUNC(localEvent); + }; + }, 0, []] call cba_fnc_addPerFrameHandler; [QGVAR(StateArrested),false,true,QUOTE(ADDON)] call FUNC(defineVariable); @@ -162,11 +182,4 @@ _vehicle setFuel _fuelLevel; ["displayTextStructured", FUNC(displayTextStructured)] call FUNC(addEventhandler); ["displayTextPicture", FUNC(displayTextPicture)] call FUNC(addEventhandler); -["lockVehicle", { - _this setVariable [QGVAR(lockStatus), locked _this]; - _this lock 2; -}] call FUNC(addEventhandler); - -["unlockVehicle", { - _this lock (_this getVariable [QGVAR(lockStatus), locked _this]); -}] call FUNC(addEventhandler); +["notOnMap", {!visibleMap}] call FUNC(addCanInteractWithCondition); diff --git a/addons/common/XEH_preInit.sqf b/addons/common/XEH_preInit.sqf index c71232a55a..39132e0df5 100644 --- a/addons/common/XEH_preInit.sqf +++ b/addons/common/XEH_preInit.sqf @@ -6,8 +6,7 @@ ADDON = false; // ACE Common Function PREP(addActionEventHandler); PREP(addActionMenuEventHandler); -PREP(addCameraEventHandler); -PREP(addCustomEventHandler); +PREP(addCanInteractWithCondition); PREP(addLineToDebugDraw); PREP(addMapMarkerCreatedEventHandler); PREP(addScrollWheelEventHandler); @@ -20,8 +19,6 @@ PREP(beingCarried); PREP(binarizeNumber); PREP(blurScreen); PREP(cachedCall); -PREP(callCustomEventHandlers); -PREP(callCustomEventHandlersGlobal); PREP(canGetInPosition); PREP(canInteract); PREP(canInteractWith); @@ -54,7 +51,10 @@ PREP(execPersistentFnc); PREP(execRemoteFnc); PREP(executePersistent); PREP(filter); +PREP(fixCollision); +PREP(fixFloating); PREP(fixLoweredRifleAnimation); +PREP(fixPosition); PREP(getAllDefinedSetVariables); PREP(getAllGear); PREP(getCaptivityStatus); @@ -146,8 +146,7 @@ PREP(readSettingFromModule); PREP(receiveRequest); PREP(removeActionEventHandler); PREP(removeActionMenuEventHandler); -PREP(removeCameraEventHandler); -PREP(removeCustomEventHandler); +PREP(removeCanInteractWithCondition); PREP(removeMapMarkerCreatedEventHandler); PREP(removeScrollWheelEventHandler); PREP(removeSpecificMagazine); @@ -253,8 +252,6 @@ if (hasInterface) then { ACE_player = missionNamespace getVariable ["BIS_fnc_moduleRemoteControl_unit", player]; uiNamespace setVariable ["ACE_player", ACE_player]; - // Raise custom event. @todo, remove - [missionNamespace, "playerChanged", [ACE_player, _oldPlayer]] call FUNC(callCustomEventHandlers); // Raise ACE event ["playerChanged", [ACE_player, _oldPlayer]] call FUNC(localEvent); }; diff --git a/addons/common/config.cpp b/addons/common/config.cpp index d562d185ec..8081a05637 100644 --- a/addons/common/config.cpp +++ b/addons/common/config.cpp @@ -51,12 +51,6 @@ class ACE_Rsc_Control_Base { h = 0; }; -class ACE_canInteractConditions { - class GVAR(notOnMap) { - condition = "!visibleMap"; - }; -}; - class ACE_Settings { /* *class GVAR(sampleSetting) { diff --git a/addons/common/functions/fnc_addCameraEventHandler.sqf b/addons/common/functions/fnc_addCameraEventHandler.sqf deleted file mode 100644 index 45fdb3bdca..0000000000 --- a/addons/common/functions/fnc_addCameraEventHandler.sqf +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Author: commy2 - * - * Add a camera view event handler. The event script is called when the camera view changes. - * The argument of the called function is stored in the _this variable and has as first element the new camera mode. Possible arguments are ["INTERNAL"], ["EXTERNAL"], ["GUNNER"] and ["GROUP"]. - * - * Argument: - * 0: Code to execute (Code or String) - * - * Return value: - * ID of the event script (used to remove it later). - */ -#include "script_component.hpp" - -private ["_statement", "_actionsVar", "_id", "_actionIDs", "_actions"]; - -_statement = _this select 0; - -if (typeName _statement == "STRING") then { - _statement = compile _statement; -}; - -_actionsVar = missionNamespace getVariable ["ACE_EventHandler_CameraMode", [-1, [], []]]; - -_id = (_actionsVar select 0) + 1; -_actionIDs = _actionsVar select 1; -_actions = _actionsVar select 2; - -if (_id == 0) then { - uiNamespace setVariable ["ACE_EventHandler_CameraMode", cameraView]; - (QGVAR(EventHandlerHelper) call BIS_fnc_rscLayer) cutRsc [QGVAR(EventHandlerHelper), "PLAIN"]; -}; - -_actionIDs pushBack _id; -_actions pushBack _statement; - -missionNamespace setVariable ["ACE_EventHandler_CameraMode", [_id, _actionIDs, _actions]]; - -_id diff --git a/addons/common/functions/fnc_addCanInteractWithCondition.sqf b/addons/common/functions/fnc_addCanInteractWithCondition.sqf new file mode 100644 index 0000000000..99815a08a7 --- /dev/null +++ b/addons/common/functions/fnc_addCanInteractWithCondition.sqf @@ -0,0 +1,38 @@ +/* + * Author: commy2 + * + * Add a condition that gets checked by ace_common_fnc_canInteractWith. + * + * Arguments: + * 0: The conditions id. Used to remove later or as exception name. An already existing name overwrites. (String) + * 1: The condition to check. format of "_this" is "[_player, _target]". (Code) + * + * Return Value: + * Unit can interact? + * + */ +#include "script_component.hpp" + +private ["_conditionName", "_conditionFunc"]; + +_conditionName = toLower (_this select 0); +_conditionFunc = _this select 1; + +private ["_conditions", "_conditionNames", "_conditionFuncs"]; + +_conditions = missionNamespace getVariable [QGVAR(InteractionConditions), [[],[]]]; + +_conditionNames = _conditions select 0; +_conditionFuncs = _conditions select 1; + +private "_index"; +_index = _conditionNames find _conditionName; + +if (_index == -1) then { + _index = count _conditionNames; +}; + +_conditionNames set [_index, _conditionName]; +_conditionFuncs set [_index, _conditionFunc]; + +GVAR(InteractionConditions) = [_conditionNames, _conditionFuncs]; diff --git a/addons/common/functions/fnc_addCustomEventHandler.sqf b/addons/common/functions/fnc_addCustomEventHandler.sqf deleted file mode 100644 index e31730dbb3..0000000000 --- a/addons/common/functions/fnc_addCustomEventHandler.sqf +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Author: commy2 - * - * Add a custom event to a unit. The event scripts are called by FUNC(callCustomEventHandlers). - * - * Argument: - * 0: Object the event should be assigned to or namespace (Object OR Namespace) - * 1: Name of the event (String) - * 2: Code to execute (Code or String) - * - * Return value: - * ID of the event script (used to remove it later). - */ -#include "script_component.hpp" - -private ["_object", "_type", "_statement", "_name", "_actionsVar", "_id", "_actionIDs", "_actions"]; - -_object = _this select 0; -_type = _this select 1; -_statement = _this select 2; - -if (typeName _statement == "STRING") then { - _statement = compile _statement; -}; - -_name = format ["ACE_CustomEventHandlers_%1", _type]; - -_actionsVar = _object getVariable [_name, [-1, [], []]]; - -_id = (_actionsVar select 0) + 1; -_actionIDs = _actionsVar select 1; -_actions = _actionsVar select 2; - -_actionIDs pushBack _id; -_actions pushBack _statement; - -_object setVariable [_name, [_id, _actionIDs, _actions]]; - -_id diff --git a/addons/common/functions/fnc_ambientBrightness.sqf b/addons/common/functions/fnc_ambientBrightness.sqf index 034129735a..f29ff9e8e5 100644 --- a/addons/common/functions/fnc_ambientBrightness.sqf +++ b/addons/common/functions/fnc_ambientBrightness.sqf @@ -11,4 +11,4 @@ */ #include "script_component.hpp" -sunOrMoon * sunOrMoon + moonIntensity/5 min 1 +sunOrMoon * sunOrMoon * (1 - overcast * 0.25) + (moonIntensity/5 min 1) * (1 - overcast) diff --git a/addons/common/functions/fnc_cachedCall.sqf b/addons/common/functions/fnc_cachedCall.sqf index 0c9aafcfc8..03916b8600 100644 --- a/addons/common/functions/fnc_cachedCall.sqf +++ b/addons/common/functions/fnc_cachedCall.sqf @@ -1,6 +1,6 @@ /* * Author: CAA-Picard and Jaynus - * Returns the result of the function and caches it up to a given time + * Returns the result of the function and caches it up to a given time or event * * Arguments: * 0: Parameters @@ -8,6 +8,7 @@ * 2: Namespace to store the cache on * 3: Cache uid * 4: Max duration of the cache + * 5: Event that clears the cache (Optional) * * Return Value: * Result of the function @@ -20,6 +21,40 @@ EXPLODE_5_PVT(_this,_params,_function,_namespace,_uid,_duration); if (((_namespace getVariable [_uid, [-99999]]) select 0) < diag_tickTime) then { _namespace setVariable [_uid, [diag_tickTime + _duration, _params call _function]]; + + // Does the cache needs to be cleared on an event? + if (count _this > 5) then { + private ["_event","_varName","_cacheList"]; + _event = _this select 5; + _varName = format [QGVAR(clearCache_%1),_event]; + _cacheList = missionNamespace getVariable _varName; + + // If there was no EH to clear these caches, add one + if (isNil {_cacheList}) then { + _cacheList = []; + missionNamespace setVariable [_varName, _cacheList]; + + [_event, { + private ["_varName","_cacheList"]; + // _eventName is defined on the function that calls the event + #ifdef DEBUG_MODE_FULL + diag_log text format ["ACE: Clear cached variables on event: %1", _eventName]; + #endif + // Get the list of caches to clear + _varName = format [QGVAR(clearCache_%1),_eventName]; + _cacheList = missionNamespace getVariable [_varName, []]; + // Erase all the cached results + { + _x call FUNC(eraseCache); + } forEach _cacheList; + // Empty the list + missionNamespace setVariable [_varName, []]; + }] call FUNC(addEventhandler); + }; + + // Add this cache to the list of the event + _cacheList pushBack [_namespace, _uid]; + }; #ifdef DEBUG_MODE_FULL diag_log format ["Calculated result: %1 %2", _namespace, _uid]; } else { diff --git a/addons/common/functions/fnc_callCustomEventHandlers.sqf b/addons/common/functions/fnc_callCustomEventHandlers.sqf deleted file mode 100644 index 4b822e0754..0000000000 --- a/addons/common/functions/fnc_callCustomEventHandlers.sqf +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Author: commy2 - * - * Execute all custom event script assigned to this object. - * - * Argument: - * 0: Object the eventhandlers are assigned to or namespace (Object or Namespace) - * 1: Name of the event (String) - * 2: Arguments passed to the eventhandler script (Array, optional default: [Object the event handlers are assigned to]) - * - * Return value: - * None. - */ -#include "script_component.hpp" - -private ["_object", "_type", "_argument", "_name", "_actions"]; - -_object = _this select 0; -_type = _this select 1; -_argument = _this select 2; - -if (isNil "_argument") then {_argument = [_object]}; - -_name = format ["ACE_CustomEventHandlers_%1", _type]; - -_actions = (_object getVariable [_name, [-1, [], []]]) select 2; - -{ - _argument call _x; nil; -} count _actions; -nil diff --git a/addons/common/functions/fnc_callCustomEventHandlersGlobal.sqf b/addons/common/functions/fnc_callCustomEventHandlersGlobal.sqf deleted file mode 100644 index e1dddd5916..0000000000 --- a/addons/common/functions/fnc_callCustomEventHandlersGlobal.sqf +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Author: commy2 - * - * Execute all custom event script assigned to this object on every machine. - * - * Argument: - * 0: Object the eventhandlers are assigned to or namespace (Object or Namespace) - * 1: Name of the event (String) - * 2: Arguments passed to the eventhandler script (Array, optional default: [Object the event handlers are assigned to]) - * - * Return value: - * None. - */ -#include "script_component.hpp" - -[_this, QUOTE(FUNC(callCustomEventHandlers)), 2] call FUNC(execRemoteFnc); diff --git a/addons/common/functions/fnc_canInteractWith.sqf b/addons/common/functions/fnc_canInteractWith.sqf index 9c5405452e..667aec38b3 100644 --- a/addons/common/functions/fnc_canInteractWith.sqf +++ b/addons/common/functions/fnc_canInteractWith.sqf @@ -1,11 +1,53 @@ -// by commy2 +/* + * Author: commy2 + * Check if the unit can interact. + * + * Arguments: + * 0: The player. + * 1: The interaction target. objNull to ignore. + * 2: Exceptions. What general conditions are to skip? (Optional) + * + * Return Value: + * Unit can interact? + * + * Public: No + */ #include "script_component.hpp" -private ["_unit", "_target", "_owner"]; +private ["_unit", "_target", "_exceptions"]; _unit = _this select 0; _target = _this select 1; +_exceptions = if (count _this > 2) then { + _this select 2; +} else { + []; +}; -_owner = _target getVariable ["ACE_isUsedBy", objNull]; +_exceptions = [_exceptions, {toLower _this}] call FUNC(map); -isNull _owner || {_unit == _owner} || {!isPlayer _owner} +// exit if the target is not free to interact +private "_owner"; +_owner = _target getVariable [QGVAR(owner), objNull]; + +if (!isNull _owner && {_unit != _owner}) exitWith {false}; + +// check general conditions + +private ["_conditions", "_conditionNames", "_conditionFuncs"]; + +_conditions = missionNamespace getVariable [QGVAR(InteractionConditions), [[],[]]]; + +_conditionNames = _conditions select 0; +_conditionFuncs = _conditions select 1; + +private "_canInteract"; +_canInteract = true; + +{ + if (!(_x in _exceptions) && {!([_unit, _target] call (_conditionFuncs select _forEachIndex))}) exitWith { + _canInteract = false; + }; +} forEach _conditionNames; + +_canInteract diff --git a/addons/common/functions/fnc_fixCollision.sqf b/addons/common/functions/fnc_fixCollision.sqf new file mode 100644 index 0000000000..6b43cec469 --- /dev/null +++ b/addons/common/functions/fnc_fixCollision.sqf @@ -0,0 +1,21 @@ +/* + * Author: commy2 + * Attempt to fix physx collisions causing unreasonable impact forces and damage. + * + * Arguments: + * 0: Object + * + * Return Value: + * Nothing + * + */ +#include "script_component.hpp" + +// allowDamage requires local object +if (!local _this) exitWith {}; + +// prevent collision damage, @todo allowDamage API +_this allowDamage false; + +// re-allow damage after 2 seconds +[{_this allowDamage true}, _this, 2, 0] call EFUNC(common,waitAndExecute); diff --git a/addons/common/functions/fnc_fixFloating.sqf b/addons/common/functions/fnc_fixFloating.sqf new file mode 100644 index 0000000000..6f08af1482 --- /dev/null +++ b/addons/common/functions/fnc_fixFloating.sqf @@ -0,0 +1,32 @@ +/* + * Author: commy2 + * Attempt to fix floating physx with disabled damage after setPosXXX commands. + * + * Arguments: + * Physx object (Object) + * + * Return Value: + * Nothing + * + */ +#include "script_component.hpp" + +private "_object"; + +_object = _this; + +// setHitPointDamage requires local object +if (!local _object) exitWith {}; + +// save and restore hitpoints, see below why +private ["_hitPoints", "_hitPointDamages"]; + +_hitPoints = [_object] call FUNC(getHitpoints); +_hitPointDamages = [_hitPoints, {_object getHitPointDamage _this}] call FUNC(map); + +// this prevents physx objects from floating when near other physx objects with allowDamage false +_object setDamage damage _object; + +{ + _object setHitPointDamage [_x, _hitPointDamages select _forEachIndex]; +} forEach _hitPoints; diff --git a/addons/common/functions/fnc_fixPosition.sqf b/addons/common/functions/fnc_fixPosition.sqf new file mode 100644 index 0000000000..32cde87e52 --- /dev/null +++ b/addons/common/functions/fnc_fixPosition.sqf @@ -0,0 +1,29 @@ +/* + * Author: commy2 + * + * Fixes position of an object. E.g. moves object above ground and adjusts to terrain slope. Requires local object. + * + * Argument: + * Object (Object) + * + * Return value: + * NONE + */ +#include "script_component.hpp" + +// setVectorUp requires local object +if (!local _this) exitWith {}; + +private "_position"; +_position = getPos _this; + +// don't place the object below the ground +if (_position select 2 < -0.1) then { + _position set [2, -0.1]; + _this setPos _position; +}; + +// adjust position to sloped terrain, if placed on ground +if (getPosATL _this select 2 == _position select 2) then { + _this setVectorUp surfaceNormal _position; +}; diff --git a/addons/common/functions/fnc_progressBar.sqf b/addons/common/functions/fnc_progressBar.sqf index 0b8fcc7ac4..3191a57d72 100644 --- a/addons/common/functions/fnc_progressBar.sqf +++ b/addons/common/functions/fnc_progressBar.sqf @@ -1,24 +1,24 @@ /* -* Author: commy2, Glowbal, PabstMirror -* -* Draw progress bar and execute given function if succesful. -* Finish/Failure/Conditional are all passed [_args, _elapsedTime, _totalTime, _errorCode] -* -* Argument: -* 0: NUMBER - Total Time (in game "time" seconds) -* 1: ARRAY - Arguments, passed to condition, fail and finish -* 2: CODE or STRING - On Finish: Code called or STRING raised as event. -* 3: CODE or STRING - On Failure: Code called or STRING raised as event. -* 4: STRING - (Optional) Localized Title -* 5: CODE - (Optional) Code to check each frame -* 6: ARRAY - (Optional) Exceptions for checking EGVAR(common,canInteract) -* -* Return value: -* Nothing -* -* Example: -* [5, [], {Hint "Finished!"}, {hint "Failure!"}, "My Title"] call ace_common_fnc_progressBar -*/ + * Author: commy2, Glowbal, PabstMirror + * + * Draw progress bar and execute given function if succesful. + * Finish/Failure/Conditional are all passed [_args, _elapsedTime, _totalTime, _errorCode] + * + * Argument: + * 0: NUMBER - Total Time (in game "time" seconds) + * 1: ARRAY - Arguments, passed to condition, fail and finish + * 2: CODE or STRING - On Finish: Code called or STRING raised as event. + * 3: CODE or STRING - On Failure: Code called or STRING raised as event. + * 4: STRING - (Optional) Localized Title + * 5: CODE - (Optional) Code to check each frame + * 6: ARRAY - (Optional) Exceptions for checking EFUNC(common,canInteractWith) + * + * Return value: + * Nothing + * + * Example: + * [5, [], {Hint "Finished!"}, {hint "Failure!"}, "My Title"] call ace_common_fnc_progressBar + */ #include "script_component.hpp" @@ -36,65 +36,70 @@ createDialog QGVAR(ProgressBar_Dialog); (uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlSetText _localizedTitle; if (GVAR(SettingProgressBarLocation) == 1) then { - private "_ctrlPos"; - _ctrlPos = [1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2), 29 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2), 38 * (((safezoneW / safezoneH) min 1.2) / 40), 0.8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)]; - (uiNamespace getVariable QGVAR(ctrlProgressBar)) ctrlSetPosition _ctrlPos; - (uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlSetPosition _ctrlPos; - (uiNamespace getVariable QGVAR(ctrlProgressBar)) ctrlCommit 0; - (uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlCommit 0; + private "_ctrlPos"; + _ctrlPos = [1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2), 29 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2), 38 * (((safezoneW / safezoneH) min 1.2) / 40), 0.8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)]; + (uiNamespace getVariable QGVAR(ctrlProgressBar)) ctrlSetPosition _ctrlPos; + (uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlSetPosition _ctrlPos; + (uiNamespace getVariable QGVAR(ctrlProgressBar)) ctrlCommit 0; + (uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlCommit 0; }; _perFrameFunction = { - PARAMS_2(_parameters,_pfhID); - EXPLODE_8_PVT(_parameters,_args,_onFinish,_onFail,_condition,_player,_startTime,_totalTime,_exceptions); - private ["_elapsedTime", "_errorCode"]; + PARAMS_2(_parameters,_pfhID); + EXPLODE_8_PVT(_parameters,_args,_onFinish,_onFail,_condition,_player,_startTime,_totalTime,_exceptions); + private ["_elapsedTime", "_errorCode"]; - _elapsedTime = time - _startTime; - _errorCode = -1; + _elapsedTime = time - _startTime; + _errorCode = -1; - if (isNull (uiNamespace getVariable [QGVAR(ctrlProgressBar), controlNull])) then { - _errorCode = 1; - } else { - if (ACE_player != _player) then { - _errorCode = 2; + // this does not check: target fell unconscious, target died, target moved inside vehicle / left vehicle, target moved outside of players range, target moves at all. + if (isNull (uiNamespace getVariable [QGVAR(ctrlProgressBar), controlNull])) then { + _errorCode = 1; } else { - if (!([_args, _elapsedTime, _totalTime, _errorCode] call _condition)) then { - _errorCode = 3; - } else { - if (!(_exceptions call EGVAR(common,canInteract))) then { - _errorCode = 4; + if (ACE_player != _player) then { + _errorCode = 2; } else { - if (_elapsedTime >= _totalTime) then { - _errorCode = 0; - }; + if (!([_args, _elapsedTime, _totalTime, _errorCode] call _condition)) then { + _errorCode = 3; + } else { + if (!([_player, objNull, _exceptions] call EFUNC(common,canInteractWith))) then { + _errorCode = 4; + } else { + if (_elapsedTime >= _totalTime) then { + _errorCode = 0; + }; + }; + }; }; - }; }; - }; - if (_errorCode != -1) then { - //Error or Success, close dialog and remove PFEH - closeDialog 0; - [_pfhID] call CBA_fnc_removePerFrameHandler; + if (_errorCode != -1) then { + //Error or Success, close dialog and remove PFEH - if (_errorCode == 0) then { - if ((typeName _onFinish) == (typeName "")) then { - [_onFinish, [_args, _elapsedTime, _totalTime, _errorCode]] call FUNC(localEvent); - } else { - [_args, _elapsedTime, _totalTime, _errorCode] call _onFinish; - }; + //Only close dialog if it's the progressBar: + if (!isNull (uiNamespace getVariable [QGVAR(ctrlProgressBar), controlNull])) then { + closeDialog 0; + }; + [_pfhID] call CBA_fnc_removePerFrameHandler; + + if (_errorCode == 0) then { + if ((typeName _onFinish) == (typeName "")) then { + [_onFinish, [_args, _elapsedTime, _totalTime, _errorCode]] call FUNC(localEvent); + } else { + [_args, _elapsedTime, _totalTime, _errorCode] call _onFinish; + }; + } else { + if ((typeName _onFail) == (typeName "")) then { + [_onFail, [_args, _elapsedTime, _totalTime, _errorCode]] call FUNC(localEvent); + } else { + [_args, _elapsedTime, _totalTime, _errorCode] call _onFail; + }; + }; } else { - if ((typeName _onFail) == (typeName "")) then { - [_onFail, [_args, _elapsedTime, _totalTime, _errorCode]] call FUNC(localEvent); - } else { - [_args, _elapsedTime, _totalTime, _errorCode] call _onFail; - }; + //Update Progress Bar (ratio of elepased:total) + (uiNamespace getVariable QGVAR(ctrlProgressBar)) progressSetPosition (_elapsedTime / _totalTime); }; - } else { - //Update Progress Bar (ratio of elepased:total) - (uiNamespace getVariable QGVAR(ctrlProgressBar)) progressSetPosition (_elapsedTime / _totalTime); - }; }; [_perFrameFunction, 0, [_args, _onFinish, _onFail, _condition, _player, time, _totalTime, _exceptions]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/common/functions/fnc_removeCameraEventHandler.sqf b/addons/common/functions/fnc_removeCameraEventHandler.sqf deleted file mode 100644 index 0fe8953078..0000000000 --- a/addons/common/functions/fnc_removeCameraEventHandler.sqf +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Author: commy2 - * - * Remove a camera view event handler. - * - * Argument: - * 0: ID of the event handler (Number) - * - * Return value: - * None. - */ -#include "script_component.hpp" - -private ["_id", "_actionsVar", "_currentId", "_actionIDs", "_actions"]; - -_id = _this select 0; - -_actionsVar = missionNamespace getVariable ["ACE_EventHandler_CameraMode", [-1, [], []]]; - -_currentId = _actionsVar select 0; -_actionIDs = _actionsVar select 1; -_actions = _actionsVar select 2; - -_id = _actionIDs find _id; - -if (_id == -1) exitWith {}; - -_actionIDs set [_id, -1]; -_actionIDs = _actionIDs - [-1]; - -_actions set [_id, []];//{} -_actions = _actions - [[]];//[{}] - -missionNamespace setVariable ["ACE_EventHandler_CameraMode", [_currentId, _actionIDs, _actions]]; diff --git a/addons/common/functions/fnc_removeCanInteractWithCondition.sqf b/addons/common/functions/fnc_removeCanInteractWithCondition.sqf new file mode 100644 index 0000000000..6cfd751c4c --- /dev/null +++ b/addons/common/functions/fnc_removeCanInteractWithCondition.sqf @@ -0,0 +1,34 @@ +/* + * Author: commy2 + * + * Remove a condition that gets checked by ace_common_fnc_canInteractWith. + * + * Arguments: + * 0: The conditions id. (String) + * + * Return Value: + * Unit can interact? + * + */ +#include "script_component.hpp" + +private "_conditionName"; + +_conditionName = toLower (_this select 0); + +private ["_conditions", "_conditionNames", "_conditionFuncs"]; + +_conditions = missionNamespace getVariable [QGVAR(InteractionConditions), [[],[]]]; + +_conditionNames = _conditions select 0; +_conditionFuncs = _conditions select 1; + +private "_index"; +_index = _conditionNames find _conditionName; + +if (_index == -1) exitWith {}; + +_conditionNames deleteAt _index; +_conditionFuncs deleteAt _index; + +GVAR(InteractionConditions) = [_conditionNames, _conditionFuncs]; diff --git a/addons/common/functions/fnc_removeCustomEventHandler.sqf b/addons/common/functions/fnc_removeCustomEventHandler.sqf deleted file mode 100644 index 771ea9f5bf..0000000000 --- a/addons/common/functions/fnc_removeCustomEventHandler.sqf +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Author: commy2 - * - * Remove a custom event handler from an object. - * - * Argument: - * 0: Unit the event handler is assigned to or namespace (Object OR Namespace) - * 1: Name of the event (String) - * 2: ID of the event handler (Number) - * - * Return value: - * None. - */ -#include "script_component.hpp" - -private ["_object", "_type", "_id", "_name", "_actionsVar", "_currentId", "_actionIDs", "_actions"]; - -_object = _this select 0; -_type = _this select 1; -_id = _this select 2; - -_name = format ["ACE_CustomEventHandlers_%1", _type]; - -_actionsVar = _object getVariable [_name, [-1, [], []]]; - -_currentId = _actionsVar select 0; -_actionIDs = _actionsVar select 1; -_actions = _actionsVar select 2; - -_id = _actionIDs find _id; - -if (_id == -1) exitWith {}; - -_actionIDs set [_id, -1]; -_actionIDs = _actionIDs - [-1]; - -_actions set [_id, []];//{} -_actions = _actions - [[]];//[{}] - -_object setVariable [_name, [_currentId, _actionIDs, _actions]]; diff --git a/addons/common/scripts/initCanInteractFunction.sqf b/addons/common/scripts/initCanInteractFunction.sqf deleted file mode 100644 index a0a6eb787f..0000000000 --- a/addons/common/scripts/initCanInteractFunction.sqf +++ /dev/null @@ -1,20 +0,0 @@ -// by commy2 -#include "script_component.hpp" - -private ["_function", "_configFile", "_count", "_index", "_config", "_configName", "_condition"]; - -_function = "private '_exceptions'; _exceptions = _this; alive ACE_player"; - -_configFile = configFile >> "ACE_canInteractConditions"; -_count = count _configFile; - -for "_index" from 0 to (_count -1) do { - _config = _configFile select _index; - _configName = configName _config; - - _condition = getText (_config >> "condition"); - - _function = _function + format ["&& {%1 || {'%2' in _exceptions}}", _condition, _configName]; -}; - -GVAR(canInteract) = compileFinal _function; diff --git a/addons/disposable/CfgEventHandlers.hpp b/addons/disposable/CfgEventHandlers.hpp index 304f304774..02d0cb625f 100644 --- a/addons/disposable/CfgEventHandlers.hpp +++ b/addons/disposable/CfgEventHandlers.hpp @@ -1,44 +1,44 @@ class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE( call COMPILE_FILE(XEH_preInit) ); - }; + class ADDON { + init = QUOTE( call COMPILE_FILE(XEH_preInit) ); + }; }; class Extended_PostInit_EventHandlers { - class ADDON { - clientInit = QUOTE( call COMPILE_FILE(XEH_postInitClient) ); - }; + class ADDON { + clientInit = QUOTE( call COMPILE_FILE(XEH_postInitClient) ); + }; }; class Extended_FiredBIS_EventHandlers { - class CAManBase { - class ADDON { - firedBIS = QUOTE( _this call FUNC(replaceATWeapon) ); + class CAManBase { + class ADDON { + firedBIS = QUOTE( _this call FUNC(replaceATWeapon) ); + }; }; - }; }; // handle preloaded missile class Extended_Init_EventHandlers { - class CAManBase { - class ADDON { - init = QUOTE( _this call FUNC(takeLoadedATWeapon) ); + class CAManBase { + class ADDON { + init = QUOTE( _this call FUNC(takeLoadedATWeapon) ); + }; }; - }; }; class Extended_Take_EventHandlers { - class CAManBase { - class ADDON { - take = QUOTE( _this call FUNC(takeLoadedATWeapon); [_this select 0] call FUNC(updateInventoryDisplay); ); + class CAManBase { + class ADDON { + take = QUOTE( _this call FUNC(takeLoadedATWeapon); [_this select 0] call FUNC(updateInventoryDisplay); ); + }; }; - }; }; class Extended_Put_EventHandlers { - class CAManBase { - class ADDON { - put = QUOTE( [_this select 0] call FUNC(updateInventoryDisplay); ); + class CAManBase { + class ADDON { + put = QUOTE( [_this select 0] call FUNC(updateInventoryDisplay); ); + }; }; - }; }; diff --git a/addons/disposable/CfgMagazines.hpp b/addons/disposable/CfgMagazines.hpp index 993d53f46c..8fbae08dfd 100644 --- a/addons/disposable/CfgMagazines.hpp +++ b/addons/disposable/CfgMagazines.hpp @@ -1,24 +1,24 @@ class CfgMagazines { - class NLAW_F; - class ACE_PreloadedMissileDummy: NLAW_F { // The dummy magazine - author = "$STR_ACE_Common_ACETeam"; - scope = 1; - displayName = "$STR_ACE_Disposable_PreloadedMissileDummy"; - picture = PATHTOEF(common,UI\blank_CO.paa); - weaponPoolAvailable = 0; - mass = 0; - }; - class ACE_FiredMissileDummy: ACE_PreloadedMissileDummy { - count = 0; - }; - class ACE_UsedTube_F: NLAW_F { - author = "$STR_ACE_Common_ACETeam"; - displayName = "$STR_ACE_Disposable_UsedTube"; - descriptionShort = "$STR_ACE_Disposable_UsedTubeDescription"; - displayNameShort = "-"; - count = 0; - weaponPoolAvailable = 0; - modelSpecial = ""; - mass = 0; - }; + class NLAW_F; + class ACE_PreloadedMissileDummy: NLAW_F { // The dummy magazine + author = "$STR_ACE_Common_ACETeam"; + scope = 1; + displayName = "$STR_ACE_Disposable_PreloadedMissileDummy"; + picture = PATHTOEF(common,UI\blank_CO.paa); + weaponPoolAvailable = 0; + mass = 0; + }; + class ACE_FiredMissileDummy: ACE_PreloadedMissileDummy { + count = 0; + }; + class ACE_UsedTube_F: NLAW_F { + author = "$STR_ACE_Common_ACETeam"; + displayName = "$STR_ACE_Disposable_UsedTube"; + descriptionShort = "$STR_ACE_Disposable_UsedTubeDescription"; + displayNameShort = "-"; + count = 0; + weaponPoolAvailable = 0; + modelSpecial = ""; + mass = 0; + }; }; diff --git a/addons/disposable/CfgVehicles.hpp b/addons/disposable/CfgVehicles.hpp index b3b9436484..13d4cedf4b 100644 --- a/addons/disposable/CfgVehicles.hpp +++ b/addons/disposable/CfgVehicles.hpp @@ -1,146 +1,146 @@ class CfgVehicles { - #define MACRO_NONLAW \ - class TransportMagazines { \ - class _xx_NLAW_F { \ - count = 0; \ - }; \ +#define MACRO_NONLAW \ + class TransportMagazines { \ + class _xx_NLAW_F { \ + count = 0; \ + }; \ + }; + + class ReammoBox_F; + class NATO_Box_Base: ReammoBox_F {}; + class Box_NATO_Ammo_F: NATO_Box_Base { + MACRO_NONLAW + }; + class Box_NATO_WpsLaunch_F: NATO_Box_Base { + MACRO_NONLAW }; - class ReammoBox_F; - class NATO_Box_Base: ReammoBox_F {}; - class Box_NATO_Ammo_F: NATO_Box_Base { - MACRO_NONLAW - }; - class Box_NATO_WpsLaunch_F: NATO_Box_Base { - MACRO_NONLAW - }; + class IND_Box_Base: ReammoBox_F {}; + class Box_IND_WpsLaunch_F: IND_Box_Base { + MACRO_NONLAW + }; + class Box_IND_Ammo_F: IND_Box_Base { + MACRO_NONLAW + }; - class IND_Box_Base: ReammoBox_F {}; - class Box_IND_WpsLaunch_F: IND_Box_Base { - MACRO_NONLAW - }; - class Box_IND_Ammo_F: IND_Box_Base { - MACRO_NONLAW - }; + class B_supplyCrate_F: ReammoBox_F { + MACRO_NONLAW + }; + class I_supplyCrate_F: B_supplyCrate_F { + MACRO_NONLAW + }; + class C_supplyCrate_F: ReammoBox_F { + MACRO_NONLAW + }; - class B_supplyCrate_F: ReammoBox_F { - MACRO_NONLAW - }; - class I_supplyCrate_F: B_supplyCrate_F { - MACRO_NONLAW - }; - class C_supplyCrate_F: ReammoBox_F { - MACRO_NONLAW - }; + class B_AssaultPack_rgr; + class B_AssaultPack_rgr_LAT: B_AssaultPack_rgr { + MACRO_NONLAW + }; + class B_AssaultPack_rgr_ReconLAT: B_AssaultPack_rgr { + MACRO_NONLAW + }; - class B_AssaultPack_rgr; - class B_AssaultPack_rgr_LAT: B_AssaultPack_rgr { - MACRO_NONLAW - }; - class B_AssaultPack_rgr_ReconLAT: B_AssaultPack_rgr { - MACRO_NONLAW - }; + class B_Carryall_mcamo; + class B_AssaultPack_mcamo_Ammo: B_Carryall_mcamo { + MACRO_NONLAW + }; + class B_Carryall_oli; + class I_Fieldpack_oli_Ammo: B_Carryall_oli { + MACRO_NONLAW + }; - class B_Carryall_mcamo; - class B_AssaultPack_mcamo_Ammo: B_Carryall_mcamo { - MACRO_NONLAW - }; - class B_Carryall_oli; - class I_Fieldpack_oli_Ammo: B_Carryall_oli { - MACRO_NONLAW - }; + class B_AssaultPack_dgtl; + class I_Fieldpack_oli_LAT: B_AssaultPack_dgtl { + MACRO_NONLAW + }; - class B_AssaultPack_dgtl; - class I_Fieldpack_oli_LAT: B_AssaultPack_dgtl { - MACRO_NONLAW - }; + class CargoNet_01_ammo_base_F; + class B_CargoNet_01_ammo_F: CargoNet_01_ammo_base_F { + MACRO_NONLAW + }; + class I_CargoNet_01_ammo_F: CargoNet_01_ammo_base_F { + MACRO_NONLAW + }; - class CargoNet_01_ammo_base_F; - class B_CargoNet_01_ammo_F: CargoNet_01_ammo_base_F { - MACRO_NONLAW - }; - class I_CargoNet_01_ammo_F: CargoNet_01_ammo_base_F { - MACRO_NONLAW - }; + class Slingload_01_Base_F; + class B_Slingload_01_Cargo_F: Slingload_01_Base_F { + MACRO_NONLAW + }; - class Slingload_01_Base_F; - class B_Slingload_01_Cargo_F: Slingload_01_Base_F { + class Tank_F; + class APC_Tracked_01_base_F: Tank_F { + MACRO_NONLAW + }; + /*class B_APC_Tracked_01_base_F: APC_Tracked_01_base_F { MACRO_NONLAW - }; - - class Tank_F; - class APC_Tracked_01_base_F: Tank_F { - MACRO_NONLAW - }; - /*class B_APC_Tracked_01_base_F: APC_Tracked_01_base_F { - MACRO_NONLAW - }; - class B_APC_Tracked_01_rcws_F: B_APC_Tracked_01_base_F { - MACRO_NONLAW - }; - class B_APC_Tracked_01_CRV_F: B_APC_Tracked_01_base_F { - MACRO_NONLAW - }; - class B_APC_Tracked_01_AA_F: B_APC_Tracked_01_base_F { - MACRO_NONLAW - };*/ - - class Car_F; - class MRAP_01_base_F: Car_F { - MACRO_NONLAW - }; - /*class MRAP_01_gmg_base_F: MRAP_01_base_F { - MACRO_NONLAW - }; - class MRAP_01_hmg_base_F: MRAP_01_gmg_base_F { - MACRO_NONLAW - }; - class B_MRAP_01_F: MRAP_01_base_F { - MACRO_NONLAW - }; - class B_MRAP_01_gmg_F: MRAP_01_gmg_base_F { - MACRO_NONLAW - }; - class B_MRAP_01_hmg_F: MRAP_01_hmg_base_F { - MACRO_NONLAW - };*/ - - class MRAP_03_base_F: Car_F { - MACRO_NONLAW - }; - /*class MRAP_03_hmg_base_F: MRAP_03_base_F { - MACRO_NONLAW - }; - class MRAP_03_gmg_base_F: MRAP_03_hmg_base_F { - MACRO_NONLAW - }; - class I_MRAP_03_F: MRAP_03_base_F { - MACRO_NONLAW - }; - class I_MRAP_03_hmg_F: MRAP_03_hmg_base_F { - MACRO_NONLAW - }; - class I_MRAP_03_gmg_F: MRAP_03_gmg_base_F { - MACRO_NONLAW - };*/ - - class Wheeled_APC_F: Car_F {}; - class APC_Wheeled_03_base_F: Wheeled_APC_F { - MACRO_NONLAW - }; - class APC_Wheeled_01_base_F: Wheeled_APC_F { - MACRO_NONLAW - }; - /*class B_APC_Wheeled_01_base_F: APC_Wheeled_01_base_F { - MACRO_NONLAW - }; - class B_APC_Wheeled_01_cannon_F: B_APC_Wheeled_01_base_F { - MACRO_NONLAW - }; - class I_APC_Wheeled_03_base_F: APC_Wheeled_03_base_F { - MACRO_NONLAW - }; - class I_APC_Wheeled_03_cannon_F: I_APC_Wheeled_03_base_F { - MACRO_NONLAW - };*/ +}; +class B_APC_Tracked_01_rcws_F: B_APC_Tracked_01_base_F { + MACRO_NONLAW +}; +class B_APC_Tracked_01_CRV_F: B_APC_Tracked_01_base_F { + MACRO_NONLAW +}; +class B_APC_Tracked_01_AA_F: B_APC_Tracked_01_base_F { + MACRO_NONLAW +};*/ + + class Car_F; + class MRAP_01_base_F: Car_F { + MACRO_NONLAW + }; + /*class MRAP_01_gmg_base_F: MRAP_01_base_F { + MACRO_NONLAW +}; +class MRAP_01_hmg_base_F: MRAP_01_gmg_base_F { + MACRO_NONLAW +}; +class B_MRAP_01_F: MRAP_01_base_F { + MACRO_NONLAW +}; +class B_MRAP_01_gmg_F: MRAP_01_gmg_base_F { + MACRO_NONLAW +}; +class B_MRAP_01_hmg_F: MRAP_01_hmg_base_F { + MACRO_NONLAW +};*/ + + class MRAP_03_base_F: Car_F { + MACRO_NONLAW + }; + /*class MRAP_03_hmg_base_F: MRAP_03_base_F { + MACRO_NONLAW +}; +class MRAP_03_gmg_base_F: MRAP_03_hmg_base_F { + MACRO_NONLAW +}; +class I_MRAP_03_F: MRAP_03_base_F { + MACRO_NONLAW +}; +class I_MRAP_03_hmg_F: MRAP_03_hmg_base_F { + MACRO_NONLAW +}; +class I_MRAP_03_gmg_F: MRAP_03_gmg_base_F { + MACRO_NONLAW +};*/ + + class Wheeled_APC_F: Car_F {}; + class APC_Wheeled_03_base_F: Wheeled_APC_F { + MACRO_NONLAW + }; + class APC_Wheeled_01_base_F: Wheeled_APC_F { + MACRO_NONLAW + }; + /*class B_APC_Wheeled_01_base_F: APC_Wheeled_01_base_F { + MACRO_NONLAW +}; +class B_APC_Wheeled_01_cannon_F: B_APC_Wheeled_01_base_F { + MACRO_NONLAW +}; +class I_APC_Wheeled_03_base_F: APC_Wheeled_03_base_F { + MACRO_NONLAW +}; +class I_APC_Wheeled_03_cannon_F: I_APC_Wheeled_03_base_F { + MACRO_NONLAW +};*/ }; diff --git a/addons/disposable/CfgWeapons.hpp b/addons/disposable/CfgWeapons.hpp index 4bd36ce3ed..965d97521c 100644 --- a/addons/disposable/CfgWeapons.hpp +++ b/addons/disposable/CfgWeapons.hpp @@ -1,18 +1,18 @@ class CfgWeapons { - class Launcher_Base_F; - class launch_NLAW_F: Launcher_Base_F { - ACE_UsedTube = "ACE_launch_NLAW_Used_F"; // The class name of the used tube. - magazines[] = {"ACE_PreloadedMissileDummy"}; // The dummy magazine - }; - class ACE_launch_NLAW_Used_F: launch_NLAW_F { // the used tube should be a sub class of the disposable launcher - scope = 1; - ACE_isUsedLauncher = 1; - author = "$STR_ACE_Common_ACETeam"; - displayName = "$STR_ACE_Disposable_UsedTube"; - descriptionShort = "$STR_ACE_Disposable_UsedTubeDescription"; - magazines[] = {"ACE_FiredMissileDummy"}; // This will disable the used launcher class from being fired again. - //picture = ""; @todo - //model = ""; @todo - weaponPoolAvailable = 0; - }; + class Launcher_Base_F; + class launch_NLAW_F: Launcher_Base_F { + ACE_UsedTube = "ACE_launch_NLAW_Used_F"; // The class name of the used tube. + magazines[] = {"ACE_PreloadedMissileDummy"}; // The dummy magazine + }; + class ACE_launch_NLAW_Used_F: launch_NLAW_F { // the used tube should be a sub class of the disposable launcher + scope = 1; + ACE_isUsedLauncher = 1; + author = "$STR_ACE_Common_ACETeam"; + displayName = "$STR_ACE_Disposable_UsedTube"; + descriptionShort = "$STR_ACE_Disposable_UsedTubeDescription"; + magazines[] = {"ACE_FiredMissileDummy"}; // This will disable the used launcher class from being fired again. + //picture = ""; @todo + //model = ""; @todo + weaponPoolAvailable = 0; + }; }; diff --git a/addons/disposable/README.md b/addons/disposable/README.md index 7dd85fff32..73418cd49d 100644 --- a/addons/disposable/README.md +++ b/addons/disposable/README.md @@ -1,7 +1,7 @@ ace_disposable ============== -Makes the NLAW a disposable one-way weapon. +Makes the NLAW a disposable one-shot weapon. ## Maintainers diff --git a/addons/disposable/XEH_postInitClient.sqf b/addons/disposable/XEH_postInitClient.sqf index 17911f5da5..1fe598137f 100644 --- a/addons/disposable/XEH_postInitClient.sqf +++ b/addons/disposable/XEH_postInitClient.sqf @@ -4,10 +4,8 @@ #include "script_component.hpp" -if (isNil QGVAR(UpdateInventoryDisplay_EHID)) then { - GVAR(UpdateInventoryDisplay_EHID) = ["inventoryDisplayLoaded",{ +["inventoryDisplayLoaded",{ _player = ACE_player; - [_player, secondaryWeapon _player] call FUNC(takeLoadedATWeapon); + [_player] call FUNC(takeLoadedATWeapon); [_player, (_this select 0)] call FUNC(updateInventoryDisplay); - }] call EFUNC(common,addEventHandler); -}; +}] call EFUNC(common,addEventHandler); \ No newline at end of file diff --git a/addons/disposable/XEH_preInit.sqf b/addons/disposable/XEH_preInit.sqf index 26543c369a..020187b730 100644 --- a/addons/disposable/XEH_preInit.sqf +++ b/addons/disposable/XEH_preInit.sqf @@ -2,7 +2,6 @@ ADDON = false; -PREP(aiDropWeaponCallback); PREP(replaceATWeapon); PREP(takeLoadedATWeapon); PREP(updateInventoryDisplay); diff --git a/addons/disposable/config.cpp b/addons/disposable/config.cpp index be2b52735a..0f256824d7 100644 --- a/addons/disposable/config.cpp +++ b/addons/disposable/config.cpp @@ -1,15 +1,15 @@ #include "script_component.hpp" class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = {}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_common"}; - author[] = {"commy2"}; - authorUrl = "https://github.com/commy2/"; - VERSION_CONFIG; - }; + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common"}; + author[] = {"commy2"}; + authorUrl = "https://github.com/commy2/"; + VERSION_CONFIG; + }; }; #include "CfgEventHandlers.hpp" diff --git a/addons/disposable/functions/fnc_aiDropWeaponCallback.sqf b/addons/disposable/functions/fnc_aiDropWeaponCallback.sqf deleted file mode 100644 index f6947f7e44..0000000000 --- a/addons/disposable/functions/fnc_aiDropWeaponCallback.sqf +++ /dev/null @@ -1,32 +0,0 @@ -/* -* Author: bux, commy2 -* -* Remove the ai's missle launcher tube -* -* Return value: -* Nothing -*/ - -#include "script_component.hpp" - -private ["_unit", "_tube", "_projectile", "_logic"]; - -_unit = (_this select 0) select 0; -_tube = (_this select 0) select 1; -_projectile = (_this select 0) select 2; - -if (!isNull _projectile) exitWith {}; - -//remove frameEH -[(_this select 1)] call cba_fnc_removePerFrameHandler; - -if ([_unit] call EFUNC(common,isPlayer)) exitWith {}; //Just in case a player took control -if (!alive _unit) exitWith {}; //No point doing this for dead - -//If AI still has tube, throw it on ground -if (secondaryWeapon _unit == _tube) then { - _logic = createVehicle ["GroundWeaponHolder", position _unit, [], 0, "CAN_COLLIDE"]; - _logic addWeaponCargoGlobal [_tube, 1]; // @todo secondary weapon items - - _unit removeWeaponGlobal _tube; -}; diff --git a/addons/disposable/functions/fnc_replaceATWeapon.sqf b/addons/disposable/functions/fnc_replaceATWeapon.sqf index ea107d1643..8c55209123 100644 --- a/addons/disposable/functions/fnc_replaceATWeapon.sqf +++ b/addons/disposable/functions/fnc_replaceATWeapon.sqf @@ -1,38 +1,79 @@ /* - * Author: commy2 - * + * Author: bux, commy2 * Replace the disposable launcher with the used dummy. - * - * Argument: - * Input from "Fired" eventhandler - * - * Return value: + * + * Arguments: + * 0: unit - Object the event handler is assigned to + * 1: weapon - Fired weapon + * 2: muzzle - Muzzle that was used + * 3: mode - Current mode of the fired weapon + * 4: ammo - Ammo used + * 5: magazine - magazine name which was used + * 6: projectile - Object of the projectile that was shot + * + * Return Value: * Nothing + * + * Example: + * [fromBisFiredEH] call ace_disposable_fnc_replaceATWeapon; + * + * Public: No */ - #include "script_component.hpp" -private ["_unit", "_tube", "_projectile"]; +private ["_unit", "_weapon", "_projectile", "_replacementTube", "_items"]; _unit = _this select 0; -_tube = getText (configFile >> "CfgWeapons" >> (_this select 1) >> "ACE_UsedTube"); +_weapon = _this select 1; _projectile = _this select 6; if (!local _unit) exitWith {}; -if (_tube == "") exitWith {}; -private "_items"; +_replacementTube = getText (configFile >> "CfgWeapons" >> _weapon >> "ACE_UsedTube"); +if (_replacementTube == "") exitWith {}; //If no replacement defined just exit +if (_weapon != (secondaryWeapon _unit)) exitWith {}; //just to be sure + +//Save array of items attached to launcher _items = secondaryWeaponItems _unit; - -_unit addWeapon _tube; -_unit selectWeapon _tube; +//Replace the orginal weapon with the 'usedTube' weapon +_unit addWeapon _replacementTube; +//Makes sure the used tube is still equiped +_unit selectWeapon _replacementTube; +//Re-add all attachments to the used tube { - if (_x != "") then {_unit addSecondaryWeaponItem _x}; + if (_x != "") then {_unit addSecondaryWeaponItem _x}; } forEach _items; -// AI + +// AI - Remove the ai's missle launcher tube after the missle has exploded if !([_unit] call EFUNC(common,isPlayer)) then { - //waits until _projectile is null, so random 0-2 tickTime seconds after that - [FUNC(aiDropWeaponCallback), 2, [_unit, _tube, _projectile]] call CBA_fnc_addPerFrameHandler; + [{ + EXPLODE_2_PVT(_this,_params,_pfhId); + EXPLODE_3_PVT(_params,_unit,_tube,_projectile); + + //don't do anything until projectile is null (exploded/max range) + if (isNull _projectile) then { + //Remove PFEH: + [_pfhId] call cba_fnc_removePerFrameHandler; + + //If (tube is dropped) OR (is dead) OR (is player) just exit + if (((secondaryWeapon _unit) != _tube) || {!alive _unit} || {([_unit] call EFUNC(common,isPlayer))}) exitWith {}; + + private ["_items", "_container"]; + + // _items = secondaryWeaponItems _unit; + _container = createVehicle ["GroundWeaponHolder", position _unit, [], 0, "CAN_COLLIDE"]; + _container setPosAsl (getPosAsl _unit); + _container addWeaponCargoGlobal [_tube, 1]; + + //This will duplicate attachements, because we will be adding a weapon that may already have attachments on it + //We either need a way to add a clean weapon, or a way to add a fully configured weapon to a container: + // { + // if (_x != "") then {_container addItemCargoGlobal [_x, 1];}; + // } forEach _items; + + _unit removeWeaponGlobal _tube; + }; + }, 1, [_unit, _replacementTube, _projectile]] call CBA_fnc_addPerFrameHandler; }; diff --git a/addons/disposable/functions/fnc_takeLoadedATWeapon.sqf b/addons/disposable/functions/fnc_takeLoadedATWeapon.sqf index ea1b1fb379..de3875dfa0 100644 --- a/addons/disposable/functions/fnc_takeLoadedATWeapon.sqf +++ b/addons/disposable/functions/fnc_takeLoadedATWeapon.sqf @@ -1,48 +1,50 @@ /* * Author: commy2 - * * Handle the take event. Add a dummy magazine if a disposable rocket launcher is taken. - * - * Argument: - * Input from "Take" eventhandler - * - * Return value: - * Nothing + * + * Arguments: + * 0: unit - Object the event handler is assigned to + * + * Return Value: + * None + * + * Example: + * [fromTakeEH] call ace_disposable_fnc_takeLoadedATWeapon; + * + * Public: No */ - #include "script_component.hpp" private ["_unit", "_launcher", "_config"]; -_unit = _this select 0; -_launcher = secondaryWeapon _unit; - +PARAMS_1(_unit); if (!local _unit) exitWith {}; +_launcher = secondaryWeapon _unit; _config = configFile >> "CfgWeapons" >> _launcher; if (isClass _config && {getText (_config >> "ACE_UsedTube") != ""} && {getNumber (_config >> "ACE_isUsedLauncher") != 1} && {count secondaryWeaponMagazine _unit == 0}) then { - private ["_magazine", "_isLauncherSelected"]; + private ["_magazine", "_isLauncherSelected"]; - _magazine = getArray (_config >> "magazines") select 0; + _magazine = getArray (_config >> "magazines") select 0; - _isLauncherSelected = currentWeapon _unit == _launcher; + _isLauncherSelected = currentWeapon _unit == _launcher; - _unit removeMagazines _magazine; + _unit removeMagazines _magazine; - if (backpack _unit == "") then { - _unit addBackpack "Bag_Base"; + if (backpack _unit == "") then { + _unit addBackpack "Bag_Base"; - _unit addMagazine _magazine; - _unit addWeapon _launcher; + _unit addMagazine _magazine; + _unit addWeapon _launcher; - removeBackpack _unit; - } else { - _unit addMagazine _magazine; - _unit addWeapon _launcher; - }; + removeBackpack _unit; + } else { + _unit addMagazine _magazine; + _unit addWeapon _launcher; + }; - if (_isLauncherSelected) then { - _unit selectWeapon _launcher; - }; + if (_isLauncherSelected) then { + _unit selectWeapon _launcher; + }; }; diff --git a/addons/disposable/functions/fnc_updateInventoryDisplay.sqf b/addons/disposable/functions/fnc_updateInventoryDisplay.sqf index f33ed0dc73..3f9d6f9802 100644 --- a/addons/disposable/functions/fnc_updateInventoryDisplay.sqf +++ b/addons/disposable/functions/fnc_updateInventoryDisplay.sqf @@ -1,26 +1,28 @@ /* * Author: bux, commy2 - * * Hide or show the secondary weapon magazine inventory slot to prevent unloading of dummy magazines. - * - * Argument: - * 0: The player. (Object) - * - * Return value: - * Nothing + * + * Arguments: + * 0: unit - Object the event handler is assigned to + * + * Return Value: + * None + * + * Example: + * [player] call ace_disposable_fnc_updateInventoryDisplay; + * + * Public: No */ - #include "script_component.hpp" -private ["_player", "_display"]; +disableSerialization; -_player = _this select 0; +PARAMS_1(_player); +DEFAULT_PARAM(1,_display,(findDisplay 602)); _player removeMagazines "ACE_PreloadedMissileDummy"; _player removeMagazines "ACE_FiredMissileDummy"; -disableSerialization; -_display = [_this, 1, (findDisplay 602)] call BIS_fnc_param; if (isNull _display) exitWith {}; private ["_launcher", "_control", "_config"]; @@ -28,21 +30,21 @@ private ["_launcher", "_control", "_config"]; _launcher = secondaryWeapon _player; if (_launcher == "" || {getText (configFile >> "CfgWeapons" >> _launcher >> "ACE_UsedTube") == ""}) then { - _control = _display displayCtrl 627; - _config = configFile >> "RscDisplayInventory" >> "controls" >> "SlotSecondaryMagazine"; - _control ctrlSetPosition [getNumber (_config >> "x"), getNumber (_config >> "y"), getNumber (_config >> "w"), getNumber (_config >> "h")]; - _control ctrlCommit 0; + _control = _display displayCtrl 627; + _config = configFile >> "RscDisplayInventory" >> "controls" >> "SlotSecondaryMagazine"; + _control ctrlSetPosition [getNumber (_config >> "x"), getNumber (_config >> "y"), getNumber (_config >> "w"), getNumber (_config >> "h")]; + _control ctrlCommit 0; - _control = _display displayCtrl 1251; - _config = configFile >> "RscDisplayInventory" >> "controls" >> "BackgroundSlotSecondaryMagazine"; - _control ctrlSetPosition [getNumber (_config >> "x"), getNumber (_config >> "y"), getNumber (_config >> "w"), getNumber (_config >> "h")]; - _control ctrlCommit 0; + _control = _display displayCtrl 1251; + _config = configFile >> "RscDisplayInventory" >> "controls" >> "BackgroundSlotSecondaryMagazine"; + _control ctrlSetPosition [getNumber (_config >> "x"), getNumber (_config >> "y"), getNumber (_config >> "w"), getNumber (_config >> "h")]; + _control ctrlCommit 0; } else { - _control = _display displayCtrl 627; - _control ctrlSetPosition [0, 0, 0, 0]; - _control ctrlCommit 0; + _control = _display displayCtrl 627; + _control ctrlSetPosition [0, 0, 0, 0]; + _control ctrlCommit 0; - _control = _display displayCtrl 1251; - _control ctrlSetPosition [0, 0, 0, 0]; - _control ctrlCommit 0; + _control = _display displayCtrl 1251; + _control ctrlSetPosition [0, 0, 0, 0]; + _control ctrlCommit 0; }; diff --git a/addons/dragging/$PBOPREFIX$ b/addons/dragging/$PBOPREFIX$ new file mode 100644 index 0000000000..4090738414 --- /dev/null +++ b/addons/dragging/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\dragging \ No newline at end of file diff --git a/addons/dragging/CfgEventHandlers.hpp b/addons/dragging/CfgEventHandlers.hpp new file mode 100644 index 0000000000..6a6aa440f7 --- /dev/null +++ b/addons/dragging/CfgEventHandlers.hpp @@ -0,0 +1,47 @@ + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + clientInit = QUOTE(call COMPILE_FILE(XEH_clientInit)); + serverInit = QUOTE(call COMPILE_FILE(XEH_serverInit)); + }; +}; + +class Extended_Init_EventHandlers { + class StaticWeapon { + class ADDON { + init = QUOTE(_this call DFUNC(initObject)); + }; + }; + class StaticMortar { + class ADDON { + init = QUOTE(_this call DFUNC(initObject)); + }; + }; + class ReammoBox_F { + class ADDON { + init = QUOTE(_this call DFUNC(initObject)); + }; + }; +}; + +class Extended_Killed_EventHandlers { + class CAManBase { + class ADDON { + killed = QUOTE(_this call DFUNC(handleKilled)); + }; + }; +}; + +class Extended_AnimChanged_EventHandlers { + class CAManBase { + class ADDON { + animChanged = QUOTE(_this call DFUNC(handleAnimChanged)); + }; + }; +}; diff --git a/addons/dragging/CfgVehicles.hpp b/addons/dragging/CfgVehicles.hpp new file mode 100644 index 0000000000..5ac84b7038 --- /dev/null +++ b/addons/dragging/CfgVehicles.hpp @@ -0,0 +1,86 @@ + +class CfgVehicles { + // Static weapons + class LandVehicle; + class StaticWeapon: LandVehicle { + GVAR(canCarry) = 1; + GVAR(carryPosition[]) = {0,1.2,0}; + GVAR(carryDirection) = 0; + + GVAR(canDrag) = 1; + GVAR(dragPosition[]) = {0,1.2,0}; + GVAR(dragDirection) = 0; + }; + + //remove actions from Taru Pods + class Pod_Heli_Transport_04_base_F: StaticWeapon { + GVAR(canCarry) = 0; + GVAR(canDrag) = 0; + }; + + class StaticMortar; + class Mortar_01_base_F: StaticMortar { + GVAR(canCarry) = 1; + GVAR(carryPosition[]) = {0,1.2,0}; + GVAR(carryDirection) = 0; + + GVAR(canDrag) = 1; + GVAR(dragPosition[]) = {0,1.2,0}; + GVAR(dragDirection) = 0; + }; + + // ammo boxes + class ThingX; + class ReammoBox_F: ThingX { + XEH_ENABLED; + GVAR(canCarry) = 0; + GVAR(carryPosition[]) = {0,1,1}; + GVAR(carryDirection) = 0; + + GVAR(canDrag) = 0; + GVAR(dragPosition[]) = {0,1.2,0}; + GVAR(dragDirection) = 0; + }; + + class Slingload_base_F: ReammoBox_F { + GVAR(canCarry) = 0; + GVAR(canDrag) = 0; + }; + + class EAST_Box_Base: ReammoBox_F { + GVAR(canCarry) = 1; + GVAR(canDrag) = 1; + }; + class IND_Box_Base: ReammoBox_F { + GVAR(canCarry) = 1; + GVAR(canDrag) = 1; + }; + /*class FIA_Box_Base_F: ReammoBox_F { + GVAR(canCarry) = 1; + GVAR(canDrag) = 1; + };*/ + class NATO_Box_Base: ReammoBox_F { + GVAR(canCarry) = 1; + GVAR(canDrag) = 1; + }; + + // Remove Larger crate dragging support. + // Would be better to allow some sort of joint push/drag functionality + // Requiring 2 units to access the larger crates and attaching them together (a crappy method of doing it) + // in order to move the bigger ones. Currently simply remove support. + // I believe these crates are currently broken (hitbox doesn't work or something) in 1.22 (2014-07-04) + class Box_East_AmmoVeh_F: EAST_Box_Base { + GVAR(canCarry) = 0; + GVAR(canDrag) = 0; + }; + + class Box_NATO_AmmoVeh_F: NATO_Box_Base { + GVAR(canCarry) = 0; + GVAR(canDrag) = 0; + }; + + class Box_IND_AmmoVeh_F: IND_Box_Base { + GVAR(canCarry) = 0; + GVAR(canDrag) = 0; + }; +}; diff --git a/addons/dragging/XEH_clientInit.sqf b/addons/dragging/XEH_clientInit.sqf new file mode 100644 index 0000000000..da9c6eefd6 --- /dev/null +++ b/addons/dragging/XEH_clientInit.sqf @@ -0,0 +1,19 @@ +// by PabstMirror, commy2 +#include "script_component.hpp" + +[{_this call DFUNC(handleScrollWheel)}] call EFUNC(common,addScrollWheelEventHandler); + +if (isNil "ACE_maxWeightDrag") then { + ACE_maxWeightDrag = 800; +}; + +if (isNil "ACE_maxWeightCarry") then { + ACE_maxWeightCarry = 600; +}; + +["isNotDragging", {!((_this select 0) getVariable [QGVAR(isDragging), false])}] call EFUNC(common,addCanInteractWithCondition); +["isNotCarrying", {!((_this select 0) getVariable [QGVAR(isCarrying), false])}] call EFUNC(common,addCanInteractWithCondition); + +// release object on player change. This does work when returning to lobby, but not when hard disconnecting. +["playerChanged", {_this call DFUNC(handlePlayerChanged)}] call EFUNC(common,addEventhandler); +["playerWeaponChanged", {_this call DFUNC(handlePlayerWeaponChanged)}] call EFUNC(common,addEventhandler); diff --git a/addons/dragging/XEH_preInit.sqf b/addons/dragging/XEH_preInit.sqf new file mode 100644 index 0000000000..7a0be053ad --- /dev/null +++ b/addons/dragging/XEH_preInit.sqf @@ -0,0 +1,28 @@ +#include "script_component.hpp" + +ADDON = false; + +PREP(canCarry); +PREP(canDrag); +PREP(canDrop); +PREP(canDrop_carry); +PREP(carryObject); +PREP(carryObjectPFH); +PREP(dragObject); +PREP(dragObjectPFH); +PREP(dropObject); +PREP(dropObject_carry); +PREP(getWeight); +PREP(handleAnimChanged); +PREP(handleKilled); +PREP(handlePlayerChanged); +PREP(handlePlayerWeaponChanged); +PREP(handleScrollWheel); +PREP(initObject); +PREP(isObjectOnObject); +PREP(setCarryable); +PREP(setDraggable); +PREP(startDrag); +PREP(startDragPFH); + +ADDON = true; diff --git a/addons/dragging/XEH_serverInit.sqf b/addons/dragging/XEH_serverInit.sqf new file mode 100644 index 0000000000..f6c231d275 --- /dev/null +++ b/addons/dragging/XEH_serverInit.sqf @@ -0,0 +1,5 @@ +// by commy2 +#include "script_component.hpp" + +// release object on hard disconnection. Function is identical to killed +addMissionEventHandler ["HandleDisconnect", {_this call DFUNC(handleKilled)}]; diff --git a/addons/dragging/config.cpp b/addons/dragging/config.cpp new file mode 100644 index 0000000000..2d5854d86f --- /dev/null +++ b/addons/dragging/config.cpp @@ -0,0 +1,16 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common","ace_interaction","ace_interact_menu"}; + author[] = {"Garth 'L-H' de Wet","commy2"}; + authorUrl = "https://github.com/commy2/"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" +#include "CfgVehicles.hpp" diff --git a/addons/dragging/functions/fnc_canCarry.sqf b/addons/dragging/functions/fnc_canCarry.sqf new file mode 100644 index 0000000000..13402b53b5 --- /dev/null +++ b/addons/dragging/functions/fnc_canCarry.sqf @@ -0,0 +1,25 @@ +/* + * Author: commy2 + * + * Check if unit can carry the object. Doesn't check weight. + * + * Argument: + * 0: Unit that should do the carrying (Object) + * 1: Object to carry (Object) + * + * Return value: + * Can the unit carry the object? (Bool) + */ +#include "script_component.hpp" + +private ["_unit", "_target"]; + +_unit = _this select 0; +_target = _this select 1; + +if !([_unit, _target, []] call EFUNC(common,canInteractWith)) exitWith {false}; + +// a static weapon has to be empty for dragging +if ((typeOf _target) isKindOf "StaticWeapon" && {count crew _target > 0}) exitWith {false}; + +alive _target && {_target getVariable [QGVAR(canCarry), false]} diff --git a/addons/dragging/functions/fnc_canDrag.sqf b/addons/dragging/functions/fnc_canDrag.sqf new file mode 100644 index 0000000000..9771496aa2 --- /dev/null +++ b/addons/dragging/functions/fnc_canDrag.sqf @@ -0,0 +1,25 @@ +/* + * Author: commy2 + * + * Check if unit can drag the object. Doesn't check weight. + * + * Argument: + * 0: Unit that should do the dragging (Object) + * 1: Object to drag (Object) + * + * Return value: + * Can the unit drag the object? (Bool) + */ +#include "script_component.hpp" + +private ["_unit", "_target"]; + +_unit = _this select 0; +_target = _this select 1; + +if !([_unit, _target, []] call EFUNC(common,canInteractWith)) exitWith {false}; + +// a static weapon has to be empty for dragging +if ((typeOf _target) isKindOf "StaticWeapon" && {count crew _target > 0}) exitWith {false}; + +alive _target && {_target getVariable [QGVAR(canDrag), false]} diff --git a/addons/dragging/functions/fnc_canDrop.sqf b/addons/dragging/functions/fnc_canDrop.sqf new file mode 100644 index 0000000000..df75b9540f --- /dev/null +++ b/addons/dragging/functions/fnc_canDrop.sqf @@ -0,0 +1,22 @@ +/* + * Author: commy2 + * + * Check if unit can drop the object. + * + * Argument: + * 0: Unit that currently drags a object (Object) + * 1: Object that is dragged (Object) + * + * Return value: + * Can the unit drop the object? (Bool) + */ +#include "script_component.hpp" + +private ["_unit", "_target"]; + +_unit = _this select 0; +_target = _this select 1; + +if !([_unit, _target, ["isNotDragging"]] call EFUNC(common,canInteractWith)) exitWith {false}; + +_unit getVariable [QGVAR(draggedObject), objNull] == _target diff --git a/addons/dragging/functions/fnc_canDrop_carry.sqf b/addons/dragging/functions/fnc_canDrop_carry.sqf new file mode 100644 index 0000000000..9efbbe9b0f --- /dev/null +++ b/addons/dragging/functions/fnc_canDrop_carry.sqf @@ -0,0 +1,22 @@ +/* + * Author: commy2 + * + * Check if unit can drop the carried object. + * + * Argument: + * 0: Unit that currently carries a object (Object) + * 1: Object that is carried (Object) + * + * Return value: + * Can the unit drop the object? (Bool) + */ +#include "script_component.hpp" + +private ["_unit", "_target"]; + +_unit = _this select 0; +_target = _this select 1; + +if !([_unit, _target, ["isNotCarrying"]] call EFUNC(common,canInteractWith)) exitWith {false}; + +_unit getVariable [QGVAR(carriedObject), objNull] == _target diff --git a/addons/dragging/functions/fnc_carryObject.sqf b/addons/dragging/functions/fnc_carryObject.sqf new file mode 100644 index 0000000000..5fe3f36ccb --- /dev/null +++ b/addons/dragging/functions/fnc_carryObject.sqf @@ -0,0 +1,80 @@ +/* + * Author: commy2 + * + * Carry an object. + * + * Argument: + * 0: Unit that should do the carrying (Object) + * 1: Object to carry (Object) + * + * Return value: + * NONE. + */ +#include "script_component.hpp" + +private ["_unit", "_target"]; + +_unit = _this select 0; +_target = _this select 1; + +// check weight +private "_weight"; +_weight = [_target] call FUNC(getWeight); + +if (_weight > GETMVAR(ACE_maxWeightCarry,1E11)) exitWith { + [localize "STR_ACE_Dragging_UnableToDrag"] call EFUNC(common,displayTextStructured); +}; + +// select no weapon and stop sprinting +_unit action ["SwitchWeapon", _unit, _unit, 99]; + +[_unit, "isDragging", true] call EFUNC(common,setforceWalkStatus); + +// prevent multiple players from accessing the same object +[_unit, _target, true] call EFUNC(common,claim); + +// get attachTo offset and direction. +private ["_position", "_direction"]; + +_position = _target getVariable [QGVAR(carryPosition), [0, 0, 0]]; +_direction = _target getVariable [QGVAR(carryDirection), 0]; + +// add height offset of model +private "_offset"; +_offset = (_target modelToWorld [0, 0, 0] select 2) - (_unit modelToWorld [0, 0, 0] select 2); + +_position = _position vectorAdd [0, 0, _offset]; + +// attach object +_target attachTo [_unit, _position]; +_target setDir _direction; + +_unit setVariable [QGVAR(isCarrying), true, true]; +_unit setVariable [QGVAR(carriedObject), _target, true]; + +// add scrollwheel action to release object +private "_actionID"; +_actionID = _unit getVariable [QGVAR(ReleaseActionID), -1]; + +if (_actionID != -1) then { + _unit removeAction _actionID; +}; + +_actionID = _unit addAction [ + format ["%1", localize "STR_ACE_Dragging_Drop"], + QUOTE([ARR_2(_this select 0, (_this select 0) getVariable [ARR_2(QUOTE(QGVAR(carriedObject)),objNull)])] call FUNC(dropObject_carry)), + nil, + 20, + false, + true, + "", + QUOTE(!isNull (_this getVariable [ARR_2(QUOTE(QGVAR(carriedObject)),objNull)])) +]; + +_unit setVariable [QGVAR(ReleaseActionID), _actionID]; + +// check everything +[FUNC(carryObjectPFH), 0, [_unit, _target]] call CBA_fnc_addPerFrameHandler; + +// reset current dragging height. +GVAR(currentHeightChange) = 0; diff --git a/addons/dragging/functions/fnc_carryObjectPFH.sqf b/addons/dragging/functions/fnc_carryObjectPFH.sqf new file mode 100644 index 0000000000..81b2369624 --- /dev/null +++ b/addons/dragging/functions/fnc_carryObjectPFH.sqf @@ -0,0 +1,13 @@ +// by commy2 +#include "script_component.hpp" + +private ["_unit", "_target"]; + +_unit = _this select 0 select 0; +_target = _this select 0 select 1; + +// drop if the crate is destroyed +if !([_target] call EFUNC(common,isAlive)) then { + [_unit, _target] call FUNC(dropObject_carry); + [_this select 1] call CBA_fnc_removePerFrameHandler; +}; diff --git a/addons/dragging/functions/fnc_dragObject.sqf b/addons/dragging/functions/fnc_dragObject.sqf new file mode 100644 index 0000000000..2f04e0e599 --- /dev/null +++ b/addons/dragging/functions/fnc_dragObject.sqf @@ -0,0 +1,64 @@ +/* + * Author: commy2 + * + * Drag an object. Called from ace_dragging_fnc_startDrag + * + * Argument: + * 0: Unit that should do the dragging (Object) + * 1: Object to drag (Object) + * + * Return value: + * NONE. + */ +#include "script_component.hpp" + +private ["_unit", "_target"]; + +_unit = _this select 0; +_target = _this select 1; + +// get attachTo offset and direction. +private ["_position", "_direction"]; + +_position = _target getVariable [QGVAR(dragPosition), [0, 0, 0]]; +_direction = _target getVariable [QGVAR(dragDirection), 0]; + +// add height offset of model +private "_offset"; +_offset = (_target modelToWorld [0, 0, 0] select 2) - (_unit modelToWorld [0, 0, 0] select 2); + +_position = _position vectorAdd [0, 0, _offset]; + +// attach object +_target attachTo [_unit, _position]; +_target setDir _direction; + +_unit setVariable [QGVAR(isDragging), true, true]; +_unit setVariable [QGVAR(draggedObject), _target, true]; + +// add scrollwheel action to release object +private "_actionID"; +_actionID = _unit getVariable [QGVAR(ReleaseActionID), -1]; + +if (_actionID != -1) then { + _unit removeAction _actionID; +}; + +_actionID = _unit addAction [ + format ["%1", localize "STR_ACE_Dragging_Drop"], + QUOTE([ARR_2(_this select 0, (_this select 0) getVariable [ARR_2(QUOTE(QGVAR(draggedObject)),objNull)])] call FUNC(dropObject)), + nil, + 20, + false, + true, + "", + QUOTE(!isNull (_this getVariable [ARR_2(QUOTE(QGVAR(draggedObject)),objNull)])) +]; + +_unit setVariable [QGVAR(ReleaseActionID), _actionID]; + +// check everything +[FUNC(dragObjectPFH), 0, [_unit, _target]] call CBA_fnc_addPerFrameHandler; + +// reset current dragging height. +GVAR(currentHeightChange) = 0; diff --git a/addons/dragging/functions/fnc_dragObjectPFH.sqf b/addons/dragging/functions/fnc_dragObjectPFH.sqf new file mode 100644 index 0000000000..e741b01f17 --- /dev/null +++ b/addons/dragging/functions/fnc_dragObjectPFH.sqf @@ -0,0 +1,13 @@ +// by commy2 +#include "script_component.hpp" + +private ["_unit", "_target"]; + +_unit = _this select 0 select 0; +_target = _this select 0 select 1; + +// drop if the crate is destroyed +if !([_target] call EFUNC(common,isAlive)) then { + [_unit, _target] call FUNC(dropObject); + [_this select 1] call CBA_fnc_removePerFrameHandler; +}; diff --git a/addons/dragging/functions/fnc_dropObject.sqf b/addons/dragging/functions/fnc_dropObject.sqf new file mode 100644 index 0000000000..00aa7a6bca --- /dev/null +++ b/addons/dragging/functions/fnc_dropObject.sqf @@ -0,0 +1,50 @@ +/* + * Author: commy2 + * + * Drop a dragged object. + * + * Argument: + * 0: Unit that drags the other object (Object) + * 1: Dragged object to drop (Object) + * + * Return value: + * NONE. + */ +#include "script_component.hpp" + +private ["_unit", "_target"]; + +_unit = _this select 0; +_target = _this select 1; + +// remove scroll wheel action +_unit removeAction (_unit getVariable [QGVAR(ReleaseActionID), -1]); + +private "_inBuilding"; +_inBuilding = [_unit] call FUNC(isObjectOnObject); + +// play release animation +_unit playAction "released"; + +// prevent collision damage +["fixCollision", _unit, _unit] call EFUNC(common,targetEvent); +["fixCollision", _target, _target] call EFUNC(common,targetEvent); + +// release object +detach _target; + +_unit removeWeapon "ACE_FakePrimaryWeapon"; + +// prevent object from flipping inside buildings +if (_inBuilding) then { + _target setPosASL (getPosASL _target vectorAdd [0, 0, 0.05]); +}; + +_unit setVariable [QGVAR(isDragging), false, true]; +_unit setVariable [QGVAR(draggedObject), objNull, true]; + +// make object accesable for other units +[objNull, _target, true] call EFUNC(common,claim); + +["fixPosition", _target, _target] call EFUNC(common,targetEvent); +["fixFloating", _target, _target] call EFUNC(common,targetEvent); diff --git a/addons/dragging/functions/fnc_dropObject_carry.sqf b/addons/dragging/functions/fnc_dropObject_carry.sqf new file mode 100644 index 0000000000..497b96b95c --- /dev/null +++ b/addons/dragging/functions/fnc_dropObject_carry.sqf @@ -0,0 +1,50 @@ +/* + * Author: commy2 + * + * Drop a carried object. + * + * Argument: + * 0: Unit that carries the other object (Object) + * 1: Carried object to drop (Object) + * + * Return value: + * NONE. + */ +#include "script_component.hpp" + +private ["_unit", "_target"]; + +_unit = _this select 0; +_target = _this select 1; + +// remove scroll wheel action +_unit removeAction (_unit getVariable [QGVAR(ReleaseActionID), -1]); + +private "_inBuilding"; +_inBuilding = [_unit] call FUNC(isObjectOnObject); + +// prevent collision damage +["fixCollision", _unit, _unit] call EFUNC(common,targetEvent); +["fixCollision", _target, _target] call EFUNC(common,targetEvent); + +// release object +detach _target; + +// reselect weapon and re-enable sprint +_unit selectWeapon primaryWeapon _unit; + +[_unit, "isDragging", false] call EFUNC(common,setforceWalkStatus); + +// prevent object from flipping inside buildings +if (_inBuilding) then { + _target setPosASL (getPosASL _target vectorAdd [0, 0, 0.05]); +}; + +_unit setVariable [QGVAR(isCarrying), false, true]; +_unit setVariable [QGVAR(carriedObject), objNull, true]; + +// make object accesable for other units +[objNull, _target, true] call EFUNC(common,claim); + +["fixPosition", _target, _target] call EFUNC(common,targetEvent); +["fixFloating", _target, _target] call EFUNC(common,targetEvent); diff --git a/addons/dragging/functions/fnc_getWeight.sqf b/addons/dragging/functions/fnc_getWeight.sqf new file mode 100644 index 0000000000..2b44bf90d9 --- /dev/null +++ b/addons/dragging/functions/fnc_getWeight.sqf @@ -0,0 +1,54 @@ +/* + Name: AGM_Drag_fnc_GetWeight + + Author(s): + L-H, edited by commy2 + + Description: + Returns the weight of a crate. + + Parameters: + 0: OBJECT - Crate to get weight of + + Returns: + NUMBER - Weight + + Example: + _weight = Crate1 call AGM_Drag_fnc_GetWeight; +*/ +#include "script_component.hpp" + +private "_object"; + +_object = _this select 0; + +private ["_totalWeight", "_fnc","_fnc_Extra"]; +_totalWeight = 0; +_fnc_Extra = { + private ["_weight", "_items"]; + _items = _this select 0; + _weight = 0; + { + _weight = _weight + (getNumber (ConfigFile >> (_this select 1) >> _x >> (_this select 2) >> "mass") * ((_items select 1) select _foreachIndex)); + } foreach (_items select 0); + + _weight +}; +_fnc = { + private ["_weight", "_items"]; + _items = _this select 0; + _weight = 0; + { + _weight = _weight + (getNumber (ConfigFile >> (_this select 1) >> _x >> "mass") * ((_items select 1) select _foreachIndex)); + } foreach (_items select 0); + + _weight +}; +_totalWeight = ([getMagazineCargo _object, "CfgMagazines"] call _fnc); +_totalWeight = _totalWeight + ([getItemCargo _object, "CfgWeapons", "ItemInfo"] call _fnc_Extra); +_totalWeight = _totalWeight + ([getWeaponCargo _object, "CfgWeapons", "WeaponSlotsInfo"] call _fnc_Extra); +_totalWeight = _totalWeight + ([getBackpackCargo _object, "CfgVehicles"] call _fnc); + +_totalWeight = _totalWeight * 0.5; // Mass in Arma isn't an exact amount but rather a volume/weight value. This attempts to work around that by making it a usable value. (sort of). + +_totalWeight diff --git a/addons/dragging/functions/fnc_handleAnimChanged.sqf b/addons/dragging/functions/fnc_handleAnimChanged.sqf new file mode 100644 index 0000000000..b5eb4d4d8f --- /dev/null +++ b/addons/dragging/functions/fnc_handleAnimChanged.sqf @@ -0,0 +1,31 @@ +// by commy2 +#include "script_component.hpp" + +private ["_unit", "_anim"]; + +_unit = _this select 0; +_anim = _this select 1; + +if (_unit getVariable [QGVAR(isDragging), false]) then { + + // drop dragged object when not in valid animation + if !(_anim in DRAG_ANIMATIONS) then { + private "_draggedObject"; + _draggedObject = _unit getVariable [QGVAR(draggedObject), objNull]; + + [_unit, _draggedObject] call FUNC(dropObject); + }; + +}; + +if (_unit getVariable [QGVAR(isCarrying), false]) then { + + // drop carried object when not standing + if (stance _unit != "STAND") then { + private "_carriedObject"; + _carriedObject = _unit getVariable [QGVAR(carriedObject), objNull]; + + [_unit, _carriedObject] call FUNC(dropObject_carry); + }; + +}; diff --git a/addons/dragging/functions/fnc_handleKilled.sqf b/addons/dragging/functions/fnc_handleKilled.sqf new file mode 100644 index 0000000000..4dcfc77fcd --- /dev/null +++ b/addons/dragging/functions/fnc_handleKilled.sqf @@ -0,0 +1,20 @@ +// by commy2 +#include "script_component.hpp" + +private "_unit"; + +_unit = _this select 0; + +if (_unit getVariable [QGVAR(isDragging), false]) then { + private "_draggedObject"; + _draggedObject = _unit getVariable [QGVAR(draggedObject), objNull]; + + [_unit, _draggedObject] call FUNC(dropObject); +}; + +if (_unit getVariable [QGVAR(isCarrying), false]) then { + private "_carriedObject"; + _carriedObject = _unit getVariable [QGVAR(carriedObject), objNull]; + + [_unit, _carriedObject] call FUNC(dropObject_carry); +}; diff --git a/addons/dragging/functions/fnc_handlePlayerChanged.sqf b/addons/dragging/functions/fnc_handlePlayerChanged.sqf new file mode 100644 index 0000000000..e2dd41021b --- /dev/null +++ b/addons/dragging/functions/fnc_handlePlayerChanged.sqf @@ -0,0 +1,17 @@ +// by commy2 +#include "script_component.hpp" + +private ["_newPlayer", "_oldPlayer"]; + +_newPlayer = _this select 0; +_oldPlayer = _this select 1; + +{ + if (_x getVariable [QGVAR(isDragging), false]) then { + [_x, _x getVariable [QGVAR(draggedObject), objNull]] call FUNC(dropObject); + }; + + if (_x getVariable [QGVAR(isCarrying), false]) then { + [_x, _x getVariable [QGVAR(carriedObject), objNull]] call FUNC(dropObject_carry); + }; +} forEach [_newPlayer, _oldPlayer]; diff --git a/addons/dragging/functions/fnc_handlePlayerWeaponChanged.sqf b/addons/dragging/functions/fnc_handlePlayerWeaponChanged.sqf new file mode 100644 index 0000000000..44160b54c1 --- /dev/null +++ b/addons/dragging/functions/fnc_handlePlayerWeaponChanged.sqf @@ -0,0 +1,31 @@ +// by commy2 +#include "script_component.hpp" + +private ["_unit", "_weapon"]; + +_unit = _this select 0; +_weapon = _this select 1; + +if (_unit getVariable [QGVAR(isDragging), false]) then { + + // drop dragged object when selecting a non-primary weapon + if (_weapon != primaryWeapon _unit) then { + private "_draggedObject"; + _draggedObject = _unit getVariable [QGVAR(draggedObject), objNull]; + + [_unit, _draggedObject] call FUNC(dropObject); + }; + +}; + +if (_unit getVariable [QGVAR(isCarrying), false]) then { + + // drop carried object when selecting any weapon + if (_weapon != "") then { + private "_carriedObject"; + _carriedObject = _unit getVariable [QGVAR(carriedObject), objNull]; + + [_unit, _carriedObject] call FUNC(dropObject_carry); + }; + +}; diff --git a/addons/dragging/functions/fnc_handleScrollWheel.sqf b/addons/dragging/functions/fnc_handleScrollWheel.sqf new file mode 100644 index 0000000000..ce100abf50 --- /dev/null +++ b/addons/dragging/functions/fnc_handleScrollWheel.sqf @@ -0,0 +1,45 @@ +/* + * Author: L-H, commy2 + * + * Handles raising and lowering the dragged weapon to be able to place it on top of objects. + * + * Argument: + * 0: Scroll amount (Number) + * + * Return value: + * Handled or not. (Bool) + */ +#include "script_component.hpp" + +// requires modifier key to be hold down +if (GETMVAR(ACE_Modifier,0) == 0) exitWith {false}; + +private "_unit"; +_unit = ACE_player; + +// EH is always assigned. Exit and don't overwrite input if not carrying +if !(_unit getVariable [QGVAR(isCarrying), false]) exitWith {false}; + +private "_scrollAmount"; + +_scrollAmount = _this select 0; + +// move carried item 15 cm per scroll interval +_scrollAmount = _scrollAmount * 0.15; + +private "_carriedItem"; +_carriedItem = _unit getVariable [QGVAR(carriedObject),objNull]; + +private ["_position", "_maxHeight"]; + +_position = getPosATL _carriedItem; +_maxHeight = (_unit ModelToWorld [0,0,0]) select 2; + +_position set [2, ((_position select 2) + _scrollAmount min (_maxHeight + 1.5)) max _maxHeight]; + +// move up/down object and reattach at current position +detach _carriedItem; +_carriedItem setPosATL _position; +_carriedItem attachTo [_unit]; + +true diff --git a/addons/dragging/functions/fnc_initObject.sqf b/addons/dragging/functions/fnc_initObject.sqf new file mode 100644 index 0000000000..65866bd028 --- /dev/null +++ b/addons/dragging/functions/fnc_initObject.sqf @@ -0,0 +1,37 @@ +/* + * Author: commy2 + * + * Initialize variables for drag or carryable objects. Called from init EH. + * + * Argument: + * 0: Any object (Object) + * + * Return value: + * NONE. + */ +#include "script_component.hpp" + +private "_object"; + +_object = _this select 0; + +private "_config"; +_config = configFile >> "CfgVehicles" >> typeOf _object; + +if (getNumber (_config >> QGVAR(canDrag)) == 1) then { + private ["_position", "_direction"]; + + _position = getArray (_config >> QGVAR(dragPosition)); + _direction = getNumber (_config >> QGVAR(dragDirection)); + + [_object, true, _position, _direction] call FUNC(setDraggable); +}; + +if (getNumber (_config >> QGVAR(canCarry)) == 1) then { + private ["_position", "_direction"]; + + _position = getArray (_config >> QGVAR(carryPosition)); + _direction = getNumber (_config >> QGVAR(carryDirection)); + + [_object, true, _position, _direction] call FUNC(setCarryable); +}; diff --git a/addons/dragging/functions/fnc_isObjectOnObject.sqf b/addons/dragging/functions/fnc_isObjectOnObject.sqf new file mode 100644 index 0000000000..0a8624820e --- /dev/null +++ b/addons/dragging/functions/fnc_isObjectOnObject.sqf @@ -0,0 +1,6 @@ +// by commy2 + +private "_object"; +_object = _this select 0; + +(getPosATL _object select 2) - (getPos _object select 2) > 1E-5 diff --git a/addons/dragging/functions/fnc_setCarryable.sqf b/addons/dragging/functions/fnc_setCarryable.sqf new file mode 100644 index 0000000000..630f212b97 --- /dev/null +++ b/addons/dragging/functions/fnc_setCarryable.sqf @@ -0,0 +1,55 @@ +/* + * Author: commy2 + * + * Enable the object to be carried. + * + * Argument: + * 0: Any object (Object) + * 1: true to enable carrying, false to disable (Bool) + * 2: Position offset for attachTo command (Array, optinal; default: [0,1,1]) + * 3: Direction in degree to rotate the object after attachTo (Number, optional; default: 0) + * + * Return value: + * NONE. + */ +#include "script_component.hpp" + +private ["_object", "_enableCarry", "_position", "_direction"]; + +_this resize 4; + +_object = _this select 0; +_enableCarry = _this select 1; +_position = _this select 2; +_direction = _this select 3; + +if (isNil "_position") then { + _position = _object getVariable [QGVAR(carryPosition), [0,1,1]]; +}; + +if (isNil "_direction") then { + _direction = _object getVariable [QGVAR(carryDirection), 0]; +}; + +// update variables +_object setVariable [QGVAR(canCarry), _enableCarry]; +_object setVariable [QGVAR(carryPosition), _position]; +_object setVariable [QGVAR(carryDirection), _direction]; + +// add action to class if it is not already present +private ["_type", "_initializedClasses"]; + +_type = typeOf _object; +_initializedClasses = GETGVAR(initializedClasses_carry,[]); + +// do nothing if the class is already initialized +if (_type in _initializedClasses) exitWith {}; + +_initializedClasses pushBack _type; +GVAR(initializedClasses_carry) = _initializedClasses; + +_carryAction = [QGVAR(drag), localize "STR_ACE_Dragging_Carry", "", {[_player, _target] call FUNC(carryObject)}, {[_player, _target] call FUNC(canCarry)}] call EFUNC(interact_menu,createAction); +_dropAction = [QGVAR(drop), localize "STR_ACE_Dragging_Drop", "", {[_player, _target] call FUNC(dropObject_carry)}, {[_player, _target] call FUNC(canDrop_carry)}] call EFUNC(interact_menu,createAction); + +[_type, 0, ["ACE_MainActions"], _carryAction] call EFUNC(interact_menu,addActionToClass); +[_type, 0, ["ACE_MainActions"], _dropAction] call EFUNC(interact_menu,addActionToClass); diff --git a/addons/dragging/functions/fnc_setDraggable.sqf b/addons/dragging/functions/fnc_setDraggable.sqf new file mode 100644 index 0000000000..b6e26a6f0a --- /dev/null +++ b/addons/dragging/functions/fnc_setDraggable.sqf @@ -0,0 +1,55 @@ +/* + * Author: commy2 + * + * Enable the object to be dragged. + * + * Argument: + * 0: Any object (Object) + * 1: true to enable dragging, false to disable (Bool) + * 2: Position offset for attachTo command (Array, optinal; default: [0,0,0]) + * 3: Direction in degree to rotate the object after attachTo (Number, optional; default: 0) + * + * Return value: + * NONE. + */ +#include "script_component.hpp" + +private ["_object", "_enableDrag", "_position", "_direction"]; + +_this resize 4; + +_object = _this select 0; +_enableDrag = _this select 1; +_position = _this select 2; +_direction = _this select 3; + +if (isNil "_position") then { + _position = _object getVariable [QGVAR(dragPosition), [0,0,0]]; +}; + +if (isNil "_direction") then { + _direction = _object getVariable [QGVAR(dragDirection), 0]; +}; + +// update variables +_object setVariable [QGVAR(canDrag), _enableDrag]; +_object setVariable [QGVAR(dragPosition), _position]; +_object setVariable [QGVAR(dragDirection), _direction]; + +// add action to class if it is not already present +private ["_type", "_initializedClasses"]; + +_type = typeOf _object; +_initializedClasses = GETGVAR(initializedClasses,[]); + +// do nothing if the class is already initialized +if (_type in _initializedClasses) exitWith {}; + +_initializedClasses pushBack _type; +GVAR(initializedClasses) = _initializedClasses; + +_dragAction = [QGVAR(drag), localize "STR_ACE_Dragging_Drag", "", {[_player, _target] call FUNC(startDrag)}, {[_player, _target] call FUNC(canDrag)}] call EFUNC(interact_menu,createAction); +_dropAction = [QGVAR(drop), localize "STR_ACE_Dragging_Drop", "", {[_player, _target] call FUNC(dropObject)}, {[_player, _target] call FUNC(canDrop)}] call EFUNC(interact_menu,createAction); + +[_type, 0, ["ACE_MainActions"], _dragAction] call EFUNC(interact_menu,addActionToClass); +[_type, 0, ["ACE_MainActions"], _dropAction] call EFUNC(interact_menu,addActionToClass); diff --git a/addons/dragging/functions/fnc_startDrag.sqf b/addons/dragging/functions/fnc_startDrag.sqf new file mode 100644 index 0000000000..1e286fb4a4 --- /dev/null +++ b/addons/dragging/functions/fnc_startDrag.sqf @@ -0,0 +1,43 @@ +/* + * Author: commy2 + * + * Start the dragging process. + * + * Argument: + * 0: Unit that should do the dragging (Object) + * 1: Object to drag (Object) + * + * Return value: + * NONE. + */ +#include "script_component.hpp" + +private ["_unit", "_target"]; + +_unit = _this select 0; +_target = _this select 1; + +// check weight +private "_weight"; +_weight = [_target] call FUNC(getWeight); + +if (_weight > GETMVAR(ACE_maxWeightDrag,1E11)) exitWith { + [localize "STR_ACE_Dragging_UnableToDrag"] call EFUNC(common,displayTextStructured); +}; + +// add a primary weapon if the unit has none. +// @todo prevent opening inventory when equipped with a fake weapon +if (primaryWeapon _unit == "") then { + _unit addWeapon "ACE_FakePrimaryWeapon"; +}; + +// select primary, otherwise the drag animation actions don't work. +_unit selectWeapon primaryWeapon _unit; + +// prevent multiple players from accessing the same object +[_unit, _target, true] call EFUNC(common,claim); + +// can't play action that depends on weapon if it was added the same frame +[{_this playActionNow "grabDrag";}, _unit] call EFUNC(common,execNextFrame); + +[FUNC(startDragPFH), 0.2, [_unit, _target, time + 5]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/dragging/functions/fnc_startDragPFH.sqf b/addons/dragging/functions/fnc_startDragPFH.sqf new file mode 100644 index 0000000000..b6515aa2d9 --- /dev/null +++ b/addons/dragging/functions/fnc_startDragPFH.sqf @@ -0,0 +1,20 @@ +// by commy2 +#include "script_component.hpp" + +private ["_unit", "_target", "_timeOut"]; + +_unit = _this select 0 select 0; +_target = _this select 0 select 1; +_timeOut = _this select 0 select 2; + +// timeout. Do nothing. Quit. time, because anim length is linked to ingame time. +if (time > _timeOut) exitWith { + [_this select 1] call CBA_fnc_removePerFrameHandler; +}; + +// unit is ready to start dragging +if (animationState _unit in DRAG_ANIMATIONS) exitWith { + [_unit, _target] call FUNC(dragObject); + + [_this select 1] call CBA_fnc_removePerFrameHandler; +}; diff --git a/addons/dragging/functions/script_component.hpp b/addons/dragging/functions/script_component.hpp new file mode 100644 index 0000000000..9d257a69d3 --- /dev/null +++ b/addons/dragging/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\dragging\script_component.hpp" \ No newline at end of file diff --git a/addons/dragging/script_component.hpp b/addons/dragging/script_component.hpp new file mode 100644 index 0000000000..0f601ae8d9 --- /dev/null +++ b/addons/dragging/script_component.hpp @@ -0,0 +1,14 @@ +#define COMPONENT dragging +#include "\z\ace\addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_DRAGGING + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_ENABLED_DRAGGING + #define DEBUG_SETTINGS DEBUG_ENABLED_DRAGGING +#endif + +#include "\z\ace\addons\main\script_macros.hpp" + +#define DRAG_ANIMATIONS ["amovpercmstpslowwrfldnon_acinpknlmwlkslowwrfldb_2", "amovpercmstpsraswpstdnon_acinpknlmwlksnonwpstdb_2", "amovpercmstpsnonwnondnon_acinpknlmwlksnonwnondb_2", "acinpknlmstpsraswrfldnon", "acinpknlmstpsnonwpstdnon", "acinpknlmstpsnonwnondnon", "acinpknlmwlksraswrfldb", "acinpknlmwlksnonwnondb"] diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml new file mode 100644 index 0000000000..1fca04fee1 --- /dev/null +++ b/addons/dragging/stringtable.xml @@ -0,0 +1,56 @@ + + + + + + Drag + Тащить + Arrastrar + Ciągnij + Táhnout + Tracter + Ziehen + Arrastar + Trascina + Húzás + + + Release + Отпустить + Soltar + Puść + Položit + Lâcher + Loslassen + Largar + Lascia + Elengedés + + + Item to heavy + Gegenstand zu schwer + + + + Carry + Tragen + Portar + Nieś + Porter + Nést + Carregar + Trascina + Felvesz + Нести + + + diff --git a/addons/explosives/CfgVehicles.hpp b/addons/explosives/CfgVehicles.hpp index a1f0aa5944..e62b31aa56 100644 --- a/addons/explosives/CfgVehicles.hpp +++ b/addons/explosives/CfgVehicles.hpp @@ -1,8 +1,3 @@ -#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \ - name = #ITEM; \ - count = COUNT; \ -}; - class CfgVehicles { class Man; @@ -142,47 +137,47 @@ class CfgVehicles { class Box_NATO_AmmoOrd_F: NATO_Box_Base { class TransportItems { - MACRO_ADDITEM(ACE_Clacker,12) - MACRO_ADDITEM(ACE_M26_Clacker,6) - MACRO_ADDITEM(ACE_DefusalKit,12) + MACRO_ADDITEM(ACE_Clacker,12); + MACRO_ADDITEM(ACE_M26_Clacker,6); + MACRO_ADDITEM(ACE_DefusalKit,12); }; }; class Box_East_AmmoOrd_F: EAST_Box_Base { class TransportItems { - MACRO_ADDITEM(ACE_Clacker,12) - MACRO_ADDITEM(ACE_M26_Clacker,6) - MACRO_ADDITEM(ACE_DefusalKit,12) + MACRO_ADDITEM(ACE_Clacker,12); + MACRO_ADDITEM(ACE_M26_Clacker,6); + MACRO_ADDITEM(ACE_DefusalKit,12); }; }; class Box_IND_AmmoOrd_F: IND_Box_Base { class TransportItems { - MACRO_ADDITEM(ACE_Clacker,12) - MACRO_ADDITEM(ACE_M26_Clacker,6) - MACRO_ADDITEM(ACE_DefusalKit,12) - MACRO_ADDITEM(ACE_Deadmanswitch,2) - MACRO_ADDITEM(ACE_Cellphone,3) + MACRO_ADDITEM(ACE_Clacker,12); + MACRO_ADDITEM(ACE_M26_Clacker,6); + MACRO_ADDITEM(ACE_DefusalKit,12); + MACRO_ADDITEM(ACE_Deadmanswitch,2); + MACRO_ADDITEM(ACE_Cellphone,3); }; }; class Box_FIA_Ammo_F: FIA_Box_Base_F { class TransportItems { - MACRO_ADDITEM(ACE_Clacker,2) - MACRO_ADDITEM(ACE_M26_Clacker,2) - MACRO_ADDITEM(ACE_DefusalKit,2) - MACRO_ADDITEM(ACE_Deadmanswitch,1) - MACRO_ADDITEM(ACE_Cellphone,2) + MACRO_ADDITEM(ACE_Clacker,2); + MACRO_ADDITEM(ACE_M26_Clacker,2); + MACRO_ADDITEM(ACE_DefusalKit,2); + MACRO_ADDITEM(ACE_Deadmanswitch,1); + MACRO_ADDITEM(ACE_Cellphone,2); }; }; class ACE_Box_Misc: Box_NATO_Support_F { class TransportItems { - MACRO_ADDITEM(ACE_Clacker,12) - MACRO_ADDITEM(ACE_M26_Clacker,6) - MACRO_ADDITEM(ACE_DefusalKit,12) - MACRO_ADDITEM(ACE_Deadmanswitch,6) - MACRO_ADDITEM(ACE_Cellphone,10) + MACRO_ADDITEM(ACE_Clacker,12); + MACRO_ADDITEM(ACE_M26_Clacker,6); + MACRO_ADDITEM(ACE_DefusalKit,12); + MACRO_ADDITEM(ACE_Deadmanswitch,6); + MACRO_ADDITEM(ACE_Cellphone,10); }; }; diff --git a/addons/fcs/CfgEventHandlers.hpp b/addons/fcs/CfgEventHandlers.hpp index 961a05b27d..a03ca847ea 100644 --- a/addons/fcs/CfgEventHandlers.hpp +++ b/addons/fcs/CfgEventHandlers.hpp @@ -36,6 +36,11 @@ class Extended_Init_EventHandlers { serverInit = QUOTE(_this call FUNC(vehicleInit)); }; }; + class StaticWeapon { + class ADDON { + serverInit = QUOTE(_this call FUNC(vehicleInit)); + }; + }; }; class Extended_Respawn_EventHandlers { @@ -64,6 +69,11 @@ class Extended_Respawn_EventHandlers { respawn = QUOTE(_this call FUNC(vehicleInit)); }; }; + class StaticWeapon { + class ADDON { + respawn = QUOTE(_this call FUNC(vehicleInit)); + }; + }; }; class Extended_FiredBIS_EventHandlers { @@ -92,4 +102,9 @@ class Extended_FiredBIS_EventHandlers { firedBIS = QUOTE(_this call FUNC(firedEH)); }; }; + class StaticWeapon { + class ADDON { + firedBIS = QUOTE(_this call FUNC(firedEH)); + }; + }; }; diff --git a/addons/fcs/initKeybinds.sqf b/addons/fcs/initKeybinds.sqf index f573a7e9d9..7d1cc8f09b 100644 --- a/addons/fcs/initKeybinds.sqf +++ b/addons/fcs/initKeybinds.sqf @@ -3,8 +3,7 @@ ["ACE3", QGVAR(lazeTarget), localize "STR_ACE_FCS_LaseTarget", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !((!GVAR(enabled) && FUNC(canUseFCS)) || FUNC(canUseRangefinder)) exitWith {false}; @@ -21,8 +20,7 @@ GVAR(isDownStateKey1) = false; // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !(GVAR(enabled) && FUNC(canUseFCS)) exitWith {false}; @@ -35,8 +33,7 @@ ["ACE3", QGVAR(adjustRangeUp), localize "STR_ACE_FCS_AdjustRangeUp", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !(call FUNC(canUseRangefinder) || FUNC(canUseFCS)) exitWith {false}; @@ -50,8 +47,7 @@ ["ACE3", QGVAR(adjustRangDown), localize "STR_ACE_FCS_AdjustRangeDown", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !(call FUNC(canUseRangefinder) || FUNC(canUseFCS)) exitWith {false}; diff --git a/addons/frag/CfgAmmo.hpp b/addons/frag/CfgAmmo.hpp index c9d13d3ce3..58ed5573e1 100644 --- a/addons/frag/CfgAmmo.hpp +++ b/addons/frag/CfgAmmo.hpp @@ -26,7 +26,7 @@ class CfgAmmo { ACE_FRAG_SKIP = 0; ACE_FRAG_FORCE = 1; // This is a good high-drag frag type for grenades. - ACE_FRAG_CLASSES[] = {"ACE_frag_medium_HD"}; + ACE_FRAG_CLASSES[] = {"ACE_frag_tiny_HD"}; /* These values are based on the M67 Grenade, should be tweaked for individual grenades. diff --git a/addons/frag/XEH_post_init.sqf b/addons/frag/XEH_post_init.sqf index 25cb5132c8..ed0e715376 100644 --- a/addons/frag/XEH_post_init.sqf +++ b/addons/frag/XEH_post_init.sqf @@ -1,8 +1,8 @@ #include "script_component.hpp" -[QUOTE(ffsBIS), "oneachframe", QUOTE(FUNC(onFrame))] call BIS_fnc_addStackedEventHandler; if(isServer) then { - [QGVAR(frag_eh), { _this call FUNC(frago); }] call CBA_fnc_addClientToServerEventhandler; + [QGVAR(frag_eh), { _this call FUNC(frago); }] call ace_common_fnc_addEventHandler; }; +/* GVAR(replacedBisArtyWrapper) = false; [] spawn { waitUntil { @@ -15,3 +15,4 @@ GVAR(replacedBisArtyWrapper) = false; GVAR(replacedBisArtyWrapper) }; }; +*/ \ No newline at end of file diff --git a/addons/frag/XEH_pre_Init.sqf b/addons/frag/XEH_pre_Init.sqf index 406e6e7f63..5b3aa36b18 100644 --- a/addons/frag/XEH_pre_Init.sqf +++ b/addons/frag/XEH_pre_Init.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -#define ACE_TRACE_DRAW_INC 1 + ADDON = false; PREP(fired); @@ -14,7 +14,7 @@ GVAR(trackedObjects) = []; GVAR(blackList) = []; GVAR(traceFrags) = false; -GVAR(replacedBisArtyWrapper) = false; +GVAR(replacedBisArtyWrapper) = true; GVAR(TOTALFRAGS) = 0; diff --git a/addons/frag/functions/fnc_addManualTrack.sqf b/addons/frag/functions/fnc_addManualTrack.sqf index 1719842240..066499f6aa 100644 --- a/addons/frag/functions/fnc_addManualTrack.sqf +++ b/addons/frag/functions/fnc_addManualTrack.sqf @@ -3,5 +3,5 @@ private ["_round"]; _round = _this select 0; if(alive _round) then { GVAR(trackedObjects) set[(count GVAR(trackedObjects)), _round]; - [FUNC(trackFragRound), 0, [_round, (getPosASL _round), (velocity _round), (typeOf _round), time, objNull, false, 0, 0]] call cba_fnc_addPerFrameHandler; + [DFUNC(trackFragRound), 0, [_round, (getPosASL _round), (velocity _round), (typeOf _round), time, objNull, false, 0, 0]] call cba_fnc_addPerFrameHandler; }; \ No newline at end of file diff --git a/addons/frag/functions/fnc_addTrack.sqf b/addons/frag/functions/fnc_addTrack.sqf index 4ffaef5a7c..65ad3b6a22 100644 --- a/addons/frag/functions/fnc_addTrack.sqf +++ b/addons/frag/functions/fnc_addTrack.sqf @@ -17,4 +17,4 @@ _objTVel = sqrt((_objVel select 0)^2 + (_objVel select 1)^2 + (_objVel select 2) _positions set[(count _positions), [(getPos _obj), _objTVel]]; _data = [_origin, typeOf _origin, typeOf _obj, _objTVel, _positions, _color]; GVAR(traces) set[_index, _data]; -[FUNC(trackTrace), 0, [_obj, _index, time]] call cba_fnc_addPerFrameHandler; \ No newline at end of file +[DFUNC(trackTrace), 0, [_obj, _index, time]] call cba_fnc_addPerFrameHandler; \ No newline at end of file diff --git a/addons/frag/functions/fnc_doSpall.sqf b/addons/frag/functions/fnc_doSpall.sqf index 92b67e0256..5560a4f0af 100644 --- a/addons/frag/functions/fnc_doSpall.sqf +++ b/addons/frag/functions/fnc_doSpall.sqf @@ -44,13 +44,12 @@ if(_alive || {_caliber >= 2.5} || {(_explosive > 0 && {_idh >= 1})}) then { _exit = false; _vm = 1; _velocity = _initialData select 5; - _unitDir = _velocity call BIS_fnc_unitVector; _oldVelocity = _velocity call BIS_fnc_magnitude; _curVelocity = (velocity _round) call BIS_fnc_magnitude; if(alive _round) then { - _diff = [_velocity, (velocity _round)] call FUNC(vectorDiffFast); + _diff = _velocity vectorDiff (velocity _round); _polar = _diff call CBA_fnc_vect2polar; // player sideChat format["polar: %1", _polar]; if((abs(_polar select 1) > 45 || abs(_polar select 2) > 45)) then { @@ -63,7 +62,7 @@ if(_alive || {_caliber >= 2.5} || {(_explosive > 0 && {_idh >= 1})}) then { }; }; if(!_exit) then { - _unitDir = _velocity call BIS_fnc_unitVector; + _unitDir = vectorNormalized _velocity; _pos = _hpData select 3; _spallPos = nil; for "_i" from 0 to 100 do { @@ -137,7 +136,6 @@ if(_alive || {_caliber >= 2.5} || {(_explosive > 0 && {_idh >= 1})}) then { _fragment = (_fragTypes select _fragType) createVehicleLocal [0,0,10000]; _fragment setPosASL _spallPos; _fragment setVelocity _spallFragVect; - // [fnc_spallTrackPFH, 0, [_fragment, diag_tickTime]] call cba_fnc_addPerFrameHandler; if(GVAR(traceFrags)) then { [player, _fragment, [1,0.5,0,1]] call FUNC(addTrack); }; @@ -159,7 +157,6 @@ if(_alive || {_caliber >= 2.5} || {(_explosive > 0 && {_idh >= 1})}) then { _fragment = (_fragTypes select _fragType) createVehicleLocal [0,0,10000]; _fragment setPosASL _spallPos; _fragment setVelocity _spallFragVect; - // [fnc_spallTrackPFH, 0, [_fragment, diag_tickTime]] call cba_fnc_addPerFrameHandler; if(GVAR(traceFrags)) then { [player, _fragment, [1,0,0,1]] call FUNC(addTrack); }; diff --git a/addons/frag/functions/fnc_fired.sqf b/addons/frag/functions/fnc_fired.sqf index 5910d2481b..a6e934c667 100644 --- a/addons/frag/functions/fnc_fired.sqf +++ b/addons/frag/functions/fnc_fired.sqf @@ -1,5 +1,4 @@ #include "script_component.hpp" -/* private ["_gun", "_type", "_round", "_doFragTrack", "_doSpall"]; if !(isNil QGVAR(enabled) && {GVAR(enabled)}) exitWith {}; @@ -23,7 +22,7 @@ if(_gun == player) then { }; }; }; -_doSpall = true; +_doSpall = false; if(_doSpall) then { if(GVAR(spallIsTrackingCount) <= 0) then { GVAR(spallHPData) = []; @@ -36,15 +35,14 @@ if(_doSpall) then { }; }; // player sideChat format["c: %1", GVAR(spallIsTrackingCount)]; -[player, _round, [1,0,0,1]] call FUNC(addTrack); +[player, _round, [1,0,0,1]] call nou_fnc_addTrack; if(_doFragTrack && alive _round) then { - GVAR(trackedObjects) set[(count GVAR(trackedObjects)), _round]; + GVAR(trackedObjects) pushBack _round; _spallTrack = []; _spallTrackID = []; - [FUNC(trackFragRound), 0, [_round, (getPosASL _round), (velocity _round), _type, time, _gun, _doSpall, _spallTrack, _spallTrackID]] call cba_fnc_addPerFrameHandler; + [DFUNC(trackFragRound), 0, [_round, (getPosASL _round), (velocity _round), _type, time, _gun, _doSpall, _spallTrack, _spallTrackID]] call cba_fnc_addPerFrameHandler; if(_doSpall) then { [_round, 2, _spallTrack, _spallTrackID] call FUNC(spallTrack); }; // player sideChat "WTF2"; }; -*/ \ No newline at end of file diff --git a/addons/frag/functions/fnc_frag_trace.sqf b/addons/frag/functions/fnc_frag_trace.sqf index 9b0c8dc3db..f4e14fa12a 100644 --- a/addons/frag/functions/fnc_frag_trace.sqf +++ b/addons/frag/functions/fnc_frag_trace.sqf @@ -6,5 +6,5 @@ _shell = _params select 0; if(alive _shell) then { drop ["\Ca\Data\Cl_basic","","Billboard",1,30,(getPos _shell),[0,0,0],1,1.275,1.0,0.0,[0.5],[[0,1,0,1]],[0],0.0,2.0,"","",""]; } else { - [_this select 1] call FUNC(removeBISPFH); + [_this select 1] call cba_fnc_removePerFrameHandler; }; \ No newline at end of file diff --git a/addons/frag/functions/fnc_frago.sqf b/addons/frag/functions/fnc_frago.sqf index 88ec0c4742..79eea53cd7 100644 --- a/addons/frag/functions/fnc_frago.sqf +++ b/addons/frag/functions/fnc_frago.sqf @@ -130,11 +130,12 @@ if(_isArmed && (count _objects) > 0) then { _targetVel = (velocity _target); - _targetPos set[2, (_targetPos select 2)+_add]; + _targetPos set[0, (_targetPos select 0)+((_targetVel select 0)*(_distance/_fragPower))]; _targetPos set[1, (_targetPos select 1)+((_targetVel select 1)*(_distance/_fragPower))]; - - _baseVec = [_lastPos, _targetPos] call BIS_fnc_vectorFromXToY; + _targetPos set[2, (_targetPos select 2)+_add]; + + _baseVec = _lastPos vectorFromTo _targetPos; _dir = floor(_baseVec call CBA_fnc_vectDir); _currentCount = _fragArcs select _dir; @@ -213,7 +214,6 @@ if(_isArmed && (count _objects) > 0) then { _fragObj setVelocity _vel; #ifdef DEBUG_MODE_FULL GVAR(TOTALFRAGS) = GVAR(TOTALFRAGS) + 1; - // [FUNC(frag_trace), 0, [_fragObj]] call cba_fnc_addPerFrameHandler; GVAR(traceFrags) = true; #endif if(GVAR(traceFrags)) then { diff --git a/addons/frag/functions/fnc_spallHP.sqf b/addons/frag/functions/fnc_spallHP.sqf index aeba4e7a5d..89ba572ce2 100644 --- a/addons/frag/functions/fnc_spallHP.sqf +++ b/addons/frag/functions/fnc_spallHP.sqf @@ -21,7 +21,7 @@ if((_this select 0) <= (count GVAR(spallHPData))) then { // diag_log text format["%1: %2", _forEachIndex, _x]; // } forEach _hp; // } forEach (_this select 1); - [FUNC(doSpall), 0, [_this, _forEachIndex]] call cba_fnc_addPerFrameHandler; + [DFUNC(doSpall), 0, [_this, _forEachIndex]] call cba_fnc_addPerFrameHandler; // player sideChat "WEEE"; } forEach (_this select 1); }; diff --git a/addons/frag/functions/fnc_stopTracing.sqf b/addons/frag/functions/fnc_stopTracing.sqf index 02b4fd7f59..693390fff2 100644 --- a/addons/frag/functions/fnc_stopTracing.sqf +++ b/addons/frag/functions/fnc_stopTracing.sqf @@ -1,5 +1,5 @@ #include "script_component.hpp" if(GVAR(tracesStarted)) then { GVAR(tracesStarted) = false; - [GVAR(traceID)] call FUNC(removeBISPFH); + [GVAR(traceID)] call cba_fnc_removePerFrameHandler; }; \ No newline at end of file diff --git a/addons/frag/functions/fnc_trackFragRound.sqf b/addons/frag/functions/fnc_trackFragRound.sqf index 2780a85664..0a8e3948d0 100644 --- a/addons/frag/functions/fnc_trackFragRound.sqf +++ b/addons/frag/functions/fnc_trackFragRound.sqf @@ -12,7 +12,7 @@ _spallTrack = _params select 7; _foundObjectHPIds = _params select 8; if (!alive _round) then { - [_this select 1] call FUNC(removeBISPFH); + [_this select 1] call cba_fnc_removePerFrameHandler; if(_time != time && {_round in GVAR(trackedObjects)} && {!(_round in GVAR(blackList))}) then { GVAR(trackedObjects) = GVAR(trackedObjects) - [_round]; _skip = getNumber (configFile >> "CfgAmmo" >> _type >> "ACE_FRAG_SKIP"); @@ -22,7 +22,7 @@ if (!alive _round) then { _force = getNumber (configFile >> "CfgAmmo" >> _type >> "ACE_FRAG_FORCE"); _fragPower = getNumber(configFile >> "CfgAmmo" >> _type >> "indirecthit")*(sqrt(_indirectRange)); if((_explosive > 0.5 && {_indirectRange >= 4.5} && {_fragPower >= 35}) || {_force == 1} ) then { - [QGVAR(frag_eh), _params] call CBA_fnc_clientToServerEvent; + [QGVAR(frag_eh), _params] call ace_common_fnc_serverEvent; GVAR(trackedObjects) = GVAR(trackedObjects) - [_round]; }; }; @@ -38,7 +38,7 @@ if (!alive _round) then { }; } else { if(!(_round in GVAR(trackedObjects)) || {_round in GVAR(blackList)}) then { - [_this select 1] call FUNC(removeBISPFH); + [_this select 1] call cba_fnc_removePerFrameHandler; if(_round in GVAR(blackList)) then { GVAR(blackList) = GVAR(blackList) - [_round]; }; diff --git a/addons/frag/functions/fnc_trackTrace.sqf b/addons/frag/functions/fnc_trackTrace.sqf index 71b4a9a866..628fece605 100644 --- a/addons/frag/functions/fnc_trackTrace.sqf +++ b/addons/frag/functions/fnc_trackTrace.sqf @@ -10,5 +10,5 @@ if(alive _tracerObj && (count GVAR(traces)) > 0) then { _objTVel = sqrt((_objVel select 0)^2 + (_objVel select 1)^2 + (_objVel select 2)^2); _positions set[(count _positions), [(getPos _tracerObj), _objTVel]]; } else { - [(_this select 1)] call FUNC(removeBISPFH); + [(_this select 1)] call cba_fnc_removePerFrameHandler; }; \ No newline at end of file diff --git a/addons/frag/script_component.hpp b/addons/frag/script_component.hpp index 274270cbbb..371067db3e 100644 --- a/addons/frag/script_component.hpp +++ b/addons/frag/script_component.hpp @@ -1,7 +1,7 @@ #define COMPONENT frag #include "\z\ace\Addons\main\script_mod.hpp" -#define DEBUG_ENABLED_FRAG +//#define DEBUG_ENABLED_FRAG #ifdef DEBUG_ENABLED_FRAG #define DEBUG_MODE_FULL @@ -11,4 +11,6 @@ #define DEBUG_SETTINGS DEBUG_SETTINGS_FRAG #endif -#include "\z\ace\Addons\main\script_macros.hpp" \ No newline at end of file +#include "\z\ace\Addons\main\script_macros.hpp" + +#define ACE_TRACE_DRAW_INC 1 \ No newline at end of file diff --git a/addons/gforces/$PBOPREFIX$ b/addons/gforces/$PBOPREFIX$ index 215e681d94..15f2f61c42 100644 --- a/addons/gforces/$PBOPREFIX$ +++ b/addons/gforces/$PBOPREFIX$ @@ -1 +1 @@ -z\ace\addons\hearing \ No newline at end of file +z\ace\addons\gforces diff --git a/addons/grenades/CfgVehicles.hpp b/addons/grenades/CfgVehicles.hpp index d4ff039bf7..7cf2085193 100644 --- a/addons/grenades/CfgVehicles.hpp +++ b/addons/grenades/CfgVehicles.hpp @@ -1,8 +1,3 @@ -#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \ - name = #ITEM; \ - count = COUNT; \ - }; - class CfgVehicles { class NATO_Box_Base; class EAST_Box_Base; @@ -11,35 +6,35 @@ class CfgVehicles { class Box_NATO_Grenades_F: NATO_Box_Base { class TransportItems { - MACRO_ADDITEM(ACE_HandFlare_White,12) - MACRO_ADDITEM(ACE_HandFlare_Green,12) - MACRO_ADDITEM(ACE_M84,12) + MACRO_ADDITEM(ACE_HandFlare_White,12); + MACRO_ADDITEM(ACE_HandFlare_Green,12); + MACRO_ADDITEM(ACE_M84,12); }; }; class Box_East_Grenades_F: EAST_Box_Base { class TransportItems { - MACRO_ADDITEM(ACE_HandFlare_Yellow,12) - MACRO_ADDITEM(ACE_HandFlare_Red,12) - MACRO_ADDITEM(ACE_M84,12) + MACRO_ADDITEM(ACE_HandFlare_Yellow,12); + MACRO_ADDITEM(ACE_HandFlare_Red,12); + MACRO_ADDITEM(ACE_M84,12); }; }; class Box_IND_Grenades_F: IND_Box_Base { class TransportItems { - MACRO_ADDITEM(ACE_HandFlare_Yellow,12) - MACRO_ADDITEM(ACE_HandFlare_Green,12) - MACRO_ADDITEM(ACE_M84,12) + MACRO_ADDITEM(ACE_HandFlare_Yellow,12); + MACRO_ADDITEM(ACE_HandFlare_Green,12); + MACRO_ADDITEM(ACE_M84,12); }; }; class ACE_Box_Misc: Box_NATO_Support_F { class TransportItems { - MACRO_ADDITEM(ACE_HandFlare_White,12) - MACRO_ADDITEM(ACE_HandFlare_Red,12) - MACRO_ADDITEM(ACE_HandFlare_Green,12) - MACRO_ADDITEM(ACE_HandFlare_Yellow,12) - MACRO_ADDITEM(ACE_M84,12) + MACRO_ADDITEM(ACE_HandFlare_White,12); + MACRO_ADDITEM(ACE_HandFlare_Red,12); + MACRO_ADDITEM(ACE_HandFlare_Green,12); + MACRO_ADDITEM(ACE_HandFlare_Yellow,12); + MACRO_ADDITEM(ACE_M84,12); }; }; }; diff --git a/addons/grenades/XEH_postInit.sqf b/addons/grenades/XEH_postInit.sqf index 89f4e05bb4..7572a41c10 100644 --- a/addons/grenades/XEH_postInit.sqf +++ b/addons/grenades/XEH_postInit.sqf @@ -13,8 +13,7 @@ GVAR(flashbangPPEffectCC) ppEffectForceInNVG true; ["ACE3", QGVAR(switchGrenadeMode), localize "STR_ACE_Grenades_SwitchGrenadeMode", { // Conditions: canInteract - _exceptions = [QEGVAR(captives,isNotEscorting)]; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if (!([ACE_player] call EFUNC(common,canUseWeapon))) exitWith {false}; diff --git a/addons/hearing/CfgAmmo.hpp b/addons/hearing/CfgAmmo.hpp index dea7901434..ddc2bf3297 100644 --- a/addons/hearing/CfgAmmo.hpp +++ b/addons/hearing/CfgAmmo.hpp @@ -4,4 +4,4 @@ class CfgAmmo { class B_127x108_Ball: BulletBase { audibleFire = 15; }; -}; \ No newline at end of file +}; diff --git a/addons/hearing/CfgEventHandlers.hpp b/addons/hearing/CfgEventHandlers.hpp index 9f0acc6c7c..94b1ab0703 100644 --- a/addons/hearing/CfgEventHandlers.hpp +++ b/addons/hearing/CfgEventHandlers.hpp @@ -22,7 +22,7 @@ class Extended_Init_EventHandlers { class Extended_FiredNear_EventHandlers { class CAManBase { class GVAR(FiredNear) { - clientFiredNear = QUOTE( if (_this select 0 == ACE_player) then {_this call FUNC(firedNear)}; ); + clientFiredNear = QUOTE( if (GVAR(enableCombatDeafness) && {_this select 0 == ACE_player}) then {_this call FUNC(firedNear)}; ); }; }; }; @@ -30,7 +30,7 @@ class Extended_FiredNear_EventHandlers { class Extended_Explosion_EventHandlers { class CAManBase { class GVAR(ExplosionNear) { - clientExplosion = QUOTE( if (_this select 0 == ACE_player) then {_this call FUNC(explosionNear)}; ); + clientExplosion = QUOTE( if (GVAR(enableCombatDeafness) && {_this select 0 == ACE_player}) then {_this call FUNC(explosionNear)}; ); }; }; -}; \ No newline at end of file +}; diff --git a/addons/hearing/CfgSounds.hpp b/addons/hearing/CfgSounds.hpp index 17436088c3..ac64f42c4e 100644 --- a/addons/hearing/CfgSounds.hpp +++ b/addons/hearing/CfgSounds.hpp @@ -11,4 +11,4 @@ class CfgSounds { sound[] = {QUOTE(PATHTOF(sounds\ACE_earringing_heavy.wav)),8,1.7}; titles[] = {}; }; -}; \ No newline at end of file +}; diff --git a/addons/hearing/CfgVehicles.hpp b/addons/hearing/CfgVehicles.hpp index 11eb55ef7f..c4ea1f2349 100644 --- a/addons/hearing/CfgVehicles.hpp +++ b/addons/hearing/CfgVehicles.hpp @@ -1,17 +1,11 @@ - -#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \ - name = #ITEM; \ - count = COUNT; \ -}; - class CfgVehicles { class Man; class CAManBase: Man { class ACE_SelfActions { class ACE_Equipment { class ACE_PutInEarplugs { - displayName = "$STR_ACE_Hearing_Earbuds_On"; - condition = QUOTE( !([_player] call FUNC(hasEarPlugsIn)) && {'ACE_EarBuds' in items _player} ); + displayName = "$STR_ACE_Hearing_EarPlugs_On"; + condition = QUOTE( !([_player] call FUNC(hasEarPlugsIn)) && {'ACE_EarPlugs' in items _player} ); statement = QUOTE( [_player] call FUNC(putInEarPlugs) ); showDisabled = 0; priority = 2.5; @@ -20,7 +14,7 @@ class CfgVehicles { enableInside = 1; }; class ACE_RemoveEarplugs { - displayName = "$STR_ACE_Hearing_Earbuds_Off"; + displayName = "$STR_ACE_Hearing_EarPlugs_Off"; condition = QUOTE( [_player] call FUNC(hasEarPlugsIn) ); statement = QUOTE( [_player] call FUNC(removeEarPlugs) ); showDisabled = 0; @@ -41,61 +35,84 @@ class CfgVehicles { class Box_NATO_Support_F: NATO_Box_Base { class TransportItems { - MACRO_ADDITEM(ACE_EarBuds,12) + MACRO_ADDITEM(ACE_EarPlugs,12); }; }; class B_supplyCrate_F: ReammoBox_F { class TransportItems { - MACRO_ADDITEM(ACE_EarBuds,12) + MACRO_ADDITEM(ACE_EarPlugs,12); }; }; class Box_East_Support_F: EAST_Box_Base { class TransportItems { - MACRO_ADDITEM(ACE_EarBuds,12) + MACRO_ADDITEM(ACE_EarPlugs,12); }; }; class O_supplyCrate_F: B_supplyCrate_F { class TransportItems { - MACRO_ADDITEM(ACE_EarBuds,12) + MACRO_ADDITEM(ACE_EarPlugs,12); }; }; class Box_IND_Support_F: IND_Box_Base { class TransportItems { - MACRO_ADDITEM(ACE_EarBuds,12) + MACRO_ADDITEM(ACE_EarPlugs,12); }; }; class Box_FIA_Support_F: FIA_Box_Base_F { class TransportItems { - MACRO_ADDITEM(ACE_EarBuds,12) + MACRO_ADDITEM(ACE_EarPlugs,12); }; }; class I_supplyCrate_F: B_supplyCrate_F { class TransportItems { - MACRO_ADDITEM(ACE_EarBuds,12) + MACRO_ADDITEM(ACE_EarPlugs,12); }; }; class IG_supplyCrate_F: ReammoBox_F { class TransportItems { - MACRO_ADDITEM(ACE_EarBuds,12) + MACRO_ADDITEM(ACE_EarPlugs,12); }; }; class C_supplyCrate_F: ReammoBox_F { class TransportItems { - MACRO_ADDITEM(ACE_EarBuds,12) + MACRO_ADDITEM(ACE_EarPlugs,12); }; }; class ACE_Box_Misc: Box_NATO_Support_F { class TransportItems { - MACRO_ADDITEM(ACE_EarBuds,12) + MACRO_ADDITEM(ACE_EarPlugs,12); + }; + }; + + + class Module_F; + class ACE_ModuleHearing: Module_F { + author = "$STR_ACE_Common_ACETeam"; + category = "ACE"; + displayName = "Hearing"; + function = QFUNC(moduleHearing); + scope = 2; + isGlobal = 1; + icon = PATHTOF(UI\IconHearing_ca.paa); + class Arguments { + class EnableCombatDeafness { + displayName = "Enable combat deafness?"; + description = "Enable combat deafness?"; + typeName = "BOOL"; + class values { + class Yes { name = "Yes"; value = 1; default = 1; }; + class No { name = "No"; value = 0; }; + }; + }; }; }; }; diff --git a/addons/hearing/CfgWeapons.hpp b/addons/hearing/CfgWeapons.hpp index 15fa2097a3..e70cc62c25 100644 --- a/addons/hearing/CfgWeapons.hpp +++ b/addons/hearing/CfgWeapons.hpp @@ -2,9 +2,9 @@ class CfgWeapons { class ACE_ItemCore; class InventoryItem_Base_F; - class ACE_EarBuds: ACE_ItemCore { - displayName = "$STR_ACE_Hearing_Earbuds_Name"; - descriptionShort = "$STR_ACE_Hearing_Earbuds_Description"; + class ACE_EarPlugs: ACE_ItemCore { + displayName = "$STR_ACE_Hearing_EarPlugs_Name"; + descriptionShort = "$STR_ACE_Hearing_EarPlugs_Description"; model = PATHTOF(ACE_earplugs.p3d); picture = PATHTOF(UI\ACE_earplugs_x_ca.paa); scope = 2; @@ -12,4 +12,4 @@ class CfgWeapons { mass = 1; }; }; -}; \ No newline at end of file +}; diff --git a/addons/hearing/UI/IconHearing_ca.paa b/addons/hearing/UI/IconHearing_ca.paa new file mode 100644 index 0000000000..128f08f6f0 Binary files /dev/null and b/addons/hearing/UI/IconHearing_ca.paa differ diff --git a/addons/hearing/XEH_preInit.sqf b/addons/hearing/XEH_preInit.sqf index 95d317b4b1..0785a32aff 100644 --- a/addons/hearing/XEH_preInit.sqf +++ b/addons/hearing/XEH_preInit.sqf @@ -7,6 +7,7 @@ PREP(earRinging); PREP(explosionNear); PREP(firedNear); PREP(hasEarPlugsIn); +PREP(moduleHearing); PREP(putInEarPlugs); PREP(removeEarPlugs); PREP(updateVolume); diff --git a/addons/hearing/config.cpp b/addons/hearing/config.cpp index 4499e647f6..0616ffa0e1 100644 --- a/addons/hearing/config.cpp +++ b/addons/hearing/config.cpp @@ -3,7 +3,7 @@ class CfgPatches { class ADDON { units[] = {}; - weapons[] = {"ACE_EarBuds"}; + weapons[] = {"ACE_EarPlugs"}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common", "ace_interaction"}; author[] = {"KoffeinFlummi", "CAA-Picard", "HopeJ", "commy2"}; @@ -23,10 +23,22 @@ class CfgPatches { #include "CfgAmmo.hpp" class ACE_Settings { + class GVAR(EnableCombatDeafness) { + value = 1; + typeName = "BOOL"; + }; + class GVAR(EarplugsVolume) { + value = 0.5; + typeName = "SCALAR"; + }; + class GVAR(UnconsciousnessVolume) { + value = 0.4; + typeName = "SCALAR"; + }; class GVAR(DisableEarRinging) { - default = 1; + value = 0; typeName = "BOOL"; isClientSetable = 1; displayName = "$STR_ACE_Hearing_DisableEarRinging"; }; -}; \ No newline at end of file +}; diff --git a/addons/hearing/functions/fnc_addEarPlugs.sqf b/addons/hearing/functions/fnc_addEarPlugs.sqf index 9253717c11..455de07fd9 100644 --- a/addons/hearing/functions/fnc_addEarPlugs.sqf +++ b/addons/hearing/functions/fnc_addEarPlugs.sqf @@ -1,13 +1,17 @@ /* * Author: commy2 - * * Called on unit initialization. Adds earplugs if the unit is equipped with either a really loud primary weapon or a rocket launcher. * - * Argument: - * 0: A Soldier (Object) + * Arguments: + * 0: A Soldier * - * Return value: - * Nothing + * Return Value: + * None + * + * Example: + * [guy] call ace_hearing_fnc_addEarPlugs + * + * Public: No */ #include "script_component.hpp" @@ -19,7 +23,7 @@ _unit = _this select 0; _launcher = secondaryWeapon _unit; if (_launcher != "") exitWith { - _unit addItem "ACE_EarBuds"; + _unit addItem "ACE_EarPlugs"; }; // otherwise add earplugs if the soldier has a big rifle @@ -32,5 +36,5 @@ if (isNil "_magazine") exitWith {}; _ammo = getText (configFile >> "CfgMagazines" >> _magazine >> "ammo"); if (getNumber (configFile >> "CfgAmmo" >> _ammo >> "audiblefire") > 8) then { - _unit addItem "ACE_EarBuds"; + _unit addItem "ACE_EarPlugs"; }; diff --git a/addons/hearing/functions/fnc_earRinging.sqf b/addons/hearing/functions/fnc_earRinging.sqf index 4581a6fdd9..2460e0fd5c 100644 --- a/addons/hearing/functions/fnc_earRinging.sqf +++ b/addons/hearing/functions/fnc_earRinging.sqf @@ -1,13 +1,18 @@ /* * Author: KoffeinFlummi, commy2 - * * Creates ear ringing effect with set strength. * * Arguments: - * 0: strength of ear ringing (Number between 0 and 1) + * 0: Unit (player) + * 1: strength of ear ringing (Number between 0 and 1) * * Return Value: - * none + * None + * + * Example: + * [clientExplosionEvent] call ace_hearing_fnc_earRinging + * + * Public: No */ #include "script_component.hpp" @@ -17,7 +22,7 @@ _unit = _this select 0; _strength = _this select 1; if (_unit getVariable ["ACE_hasEarPlugsin", false]) then { - _strength = _strength / 4; + _strength = _strength / 4; }; GVAR(newStrength) = GVAR(newStrength) max _strength; @@ -28,24 +33,24 @@ if (missionNamespace getVariable [QGVAR(isEarRingingPlaying), false]) exitWith { if (GVAR(DisableEarRinging)) exitWith {}; if (_strength > 0.75) exitWith { - playSound "ACE_EarRinging_Heavy"; - GVAR(isEarRingingPlaying) = true; - [ + playSound "ACE_EarRinging_Heavy"; + GVAR(isEarRingingPlaying) = true; + [ {GVAR(isEarRingingPlaying) = false;}, [], 7.0, 0.25 - ] call EFUNC(common,waitAndExecute); + ] call EFUNC(common,waitAndExecute); }; if (_strength > 0.5) exitWith { - playSound "ACE_EarRinging_Medium"; - GVAR(isEarRingingPlaying) = true; - [ + playSound "ACE_EarRinging_Medium"; + GVAR(isEarRingingPlaying) = true; + [ {GVAR(isEarRingingPlaying) = false;}, [], 5.0, 0.25 - ] call EFUNC(common,waitAndExecute); + ] call EFUNC(common,waitAndExecute); }; if (_strength > 0.2) exitWith { - playSound "ACE_EarRinging_Weak"; - GVAR(isEarRingingPlaying) = true; + playSound "ACE_EarRinging_Weak"; GVAR(isEarRingingPlaying) = true; - [ + GVAR(isEarRingingPlaying) = true; + [ {GVAR(isEarRingingPlaying) = false;}, [], 3.0, 0.25 - ] call EFUNC(common,waitAndExecute); + ] call EFUNC(common,waitAndExecute); }; diff --git a/addons/hearing/functions/fnc_explosionNear.sqf b/addons/hearing/functions/fnc_explosionNear.sqf index 8c7b477da0..b213a1304a 100644 --- a/addons/hearing/functions/fnc_explosionNear.sqf +++ b/addons/hearing/functions/fnc_explosionNear.sqf @@ -1,13 +1,18 @@ /* * Author: KoffeinFlummi, commy2 - * * Handles deafness due to explosions going off near the player. * * Arguments: - * -> Explosion Event Handler + * 0: vehicle - Object the event handler is assigned to (player) + * 1: damage - Damage inflicted to the object * * Return Value: - * none + * None + * + * Example: + * [clientExplosionEvent] call ace_hearing_fnc_explosionNear + * + * Public: No */ #include "script_component.hpp" @@ -19,7 +24,4 @@ _damage = _this select 1; _strength = (_damage * 2) min 1; if (_strength < 0.01) exitWith {}; -[_unit, _strength] spawn { - sleep 0.2; - _this call FUNC(earRinging); -}; +[{_this call FUNC(earRinging)}, [_unit, _strength], 0.2, 0] call EFUNC(common,waitAndExecute); diff --git a/addons/hearing/functions/fnc_firedNear.sqf b/addons/hearing/functions/fnc_firedNear.sqf index 10e8508617..c66361801e 100644 --- a/addons/hearing/functions/fnc_firedNear.sqf +++ b/addons/hearing/functions/fnc_firedNear.sqf @@ -1,13 +1,23 @@ /* * Author: KoffeinFlummi, commy2 - * * Handles deafness due to large-caliber weapons going off near the player. * * Arguments: - * -> FiredNear Event Handler + * 0: Unit - Object the event handler is assigned to + * 1: Firer: Object - Object which fires a weapon near the unit + * 2: Distance - Distance in meters between the unit and firer + * 3: weapon - Fired weapon + * 4: muzzle - Muzzle that was used + * 5: mod - Current mode of the fired weapon + * 6: ammo - Ammo used * * Return Value: - * none + * None + * + * Example: + * [clientFiredNearEvent] call ace_hearing_fnc_firedNear + * + * Public: No */ #include "script_component.hpp" @@ -25,17 +35,17 @@ if (_weapon in ["Throw", "Put"]) exitWith {}; if (_unit != vehicle _unit && {!([_unit] call EFUNC(common,isTurnedOut))}) exitWith {}; _silencer = switch (_weapon) do { - case (primaryWeapon _unit) : {primaryWeaponItems _unit select 0}; - case (secondaryWeapon _unit) : {secondaryWeaponItems _unit select 0}; - case (handgunWeapon _unit) : {handgunItems _unit select 0}; - default {""}; + case (primaryWeapon _firer) : {(primaryWeaponItems _firer) select 0}; + case (secondaryWeapon _firer) : {(secondaryWeaponItems _firer) select 0}; + case (handgunWeapon _firer) : {(handgunItems _firer) select 0}; + default {""}; }; _audibleFireCoef = 1; //_audibleFireTimeCoef = 1; if (_silencer != "") then { - _audibleFireCoef = getNumber (configFile >> "CfgWeapons" >> _silencer >> "ItemInfo" >> "AmmoCoef" >> "audibleFire"); - //_audibleFireTimeCoef = getNumber (configFile >> "CfgWeapons" >> _silencer >> "ItemInfo" >> "AmmoCoef" >> "audibleFireTime"); + _audibleFireCoef = getNumber (configFile >> "CfgWeapons" >> _silencer >> "ItemInfo" >> "AmmoCoef" >> "audibleFire"); + //_audibleFireTimeCoef = getNumber (configFile >> "CfgWeapons" >> _silencer >> "ItemInfo" >> "AmmoCoef" >> "audibleFireTime"); }; _audibleFire = getNumber (configFile >> "CfgAmmo" >> _ammo >> "audibleFire"); @@ -46,7 +56,4 @@ _strength = _loudness - (_loudness/50 * _distance); // linear drop off if (_strength < 0.01) exitWith {}; -[_unit, _strength] spawn { - sleep 0.2; - _this call FUNC(earRinging); -}; +[{_this call FUNC(earRinging)}, [_unit, _strength], 0.2, 0] call EFUNC(common,waitAndExecute); diff --git a/addons/hearing/functions/fnc_hasEarPlugsIn.sqf b/addons/hearing/functions/fnc_hasEarPlugsIn.sqf index 8fcfe1eeb1..58dc302888 100644 --- a/addons/hearing/functions/fnc_hasEarPlugsIn.sqf +++ b/addons/hearing/functions/fnc_hasEarPlugsIn.sqf @@ -1,18 +1,20 @@ /* * Author: commy2 - * * Check if the unit has earplugs put in. * - * Argument: - * A soldier (Object) + * Arguments: + * 0:Unit (player) * - * Return value: - * Boolean (Bool) + * Return Value: + * Have Earplugs in + * + * Example: + * [ace_player] call ace_hearing_fnc_hasEarPlugsIn + * + * Public: No */ #include "script_component.hpp" -private "_unit"; - -_unit = _this select 0; +PARAMS_1(_unit); _unit getVariable ["ACE_hasEarPlugsin", false] diff --git a/addons/hearing/functions/fnc_moduleHearing.sqf b/addons/hearing/functions/fnc_moduleHearing.sqf new file mode 100644 index 0000000000..78e79d971e --- /dev/null +++ b/addons/hearing/functions/fnc_moduleHearing.sqf @@ -0,0 +1,20 @@ +/* + * Author: CAA-Picard + * Initializes the Map module. + * + * Arguments: + * Whatever the module provides. (I dunno.) + * + * Return Value: + * None + */ +#include "script_component.hpp" + +_logic = _this select 0; +_activated = _this select 2; + +if !(_activated) exitWith {}; + +[_logic, QGVAR(enableCombatDeafness), "EnableCombatDeafness"] call EFUNC(common,readSettingFromModule); + +diag_log text "[ACE]: Interaction Module Initialized."; diff --git a/addons/hearing/functions/fnc_putInEarplugs.sqf b/addons/hearing/functions/fnc_putInEarplugs.sqf index 767ec9c698..b02a19d5bc 100644 --- a/addons/hearing/functions/fnc_putInEarplugs.sqf +++ b/addons/hearing/functions/fnc_putInEarplugs.sqf @@ -1,27 +1,28 @@ /* - * Author: Hope Johnson - * Edited by commy2 - * - * Puts in / takes out earplugs. + * Author: Hope Johnson and commy2 + * Puts in earplugs. * * Arguments: - * none + * 0:Unit (player) * * Return Value: - * none + * None + * + * Example: + * [ace_player] call ace_hearing_fnc_putInEarplugs + * + * Public: No */ #include "script_component.hpp" -private "_player"; +PARAMS_1(_player); -_player = _this select 0; - -// Buds in inventory, putting them in -_player removeItem "ACE_EarBuds"; +// Plugs in inventory, putting them in +_player removeItem "ACE_EarPlugs"; _player setVariable ["ACE_hasEarPlugsIn", true, true]; -[localize "STR_ACE_Hearing_Earbuds_Are_On"] call EFUNC(common,displayTextStructured); +[localize "STR_ACE_Hearing_EarPlugs_Are_On"] call EFUNC(common,displayTextStructured); -/*// No Ear Buds in inventory, telling user -[localize "STR_ACE_Hearing_NoBuds"] call EFUNC(common,displayTextStructured);*/ +/*// No Ear Plugs in inventory, telling user +[localize "STR_ACE_Hearing_NoPlugs"] call EFUNC(common,displayTextStructured);*/ diff --git a/addons/hearing/functions/fnc_removeEarplugs.sqf b/addons/hearing/functions/fnc_removeEarplugs.sqf index 9436807a46..e2d0b68d51 100644 --- a/addons/hearing/functions/fnc_removeEarplugs.sqf +++ b/addons/hearing/functions/fnc_removeEarplugs.sqf @@ -1,28 +1,29 @@ /* - * Author: Hope Johnson - * Edited by commy2 - * - * Puts in / takes out earplugs. + * Author: Hope Johnson and commy2 + * Takes out earplugs. * * Arguments: - * none + * 0:Unit (player) * * Return Value: - * none + * None + * + * Example: + * [ace_player] call ace_hearing_fnc_removeEarplugs + * + * Public: No */ #include "script_component.hpp" -private "_player"; +PARAMS_1(_player); -_player = _this select 0; - -if !(_player canAdd "ACE_EarBuds") exitWith { // inventory full - [localize "STR_ACE_Hearing_Inventory_Full"] call EFUNC(common,displayTextStructured); +if !(_player canAdd "ACE_EarPlugs") exitWith { // inventory full + [localize "STR_ACE_Hearing_Inventory_Full"] call EFUNC(common,displayTextStructured); }; -// Buds already in and removing them. -_player addItem "ACE_EarBuds"; +// Plugs already in and removing them. +_player addItem "ACE_EarPlugs"; _player setVariable ["ACE_hasEarPlugsIn", false, true]; -[localize "STR_ACE_Hearing_Earbuds_Are_Off"] call EFUNC(common,displayTextStructured); +[localize "STR_ACE_Hearing_EarPlugs_Are_Off"] call EFUNC(common,displayTextStructured); diff --git a/addons/hearing/functions/fnc_updateVolume.sqf b/addons/hearing/functions/fnc_updateVolume.sqf index 187d4ce116..634537922c 100644 --- a/addons/hearing/functions/fnc_updateVolume.sqf +++ b/addons/hearing/functions/fnc_updateVolume.sqf @@ -1,22 +1,39 @@ -// by commy2 and CAA-Picard +/* + * Author: commy2 and CAA-Picard + * Updates and applys the current deafness. Called every 0.1 sec from a PFEH. + * + * Arguments: + * None + * + * Return Value: + * None + * + * Example: + * [] call ace_hearing_fnc_updateVolume + * + * Public: No + */ #include "script_component.hpp" #define STRENGHTODEAFNESS 3 #define MAXDEAFNESS 1.1 +// Exit if combat deafness is disabled +if !(GVAR(enableCombatDeafness)) exitWith {}; + // Check if new noises increase deafness if (GVAR(newStrength) * STRENGHTODEAFNESS > GVAR(currentDeafness)) then { - GVAR(currentDeafness) = GVAR(newStrength) * STRENGHTODEAFNESS min MAXDEAFNESS; + GVAR(currentDeafness) = GVAR(newStrength) * STRENGHTODEAFNESS min MAXDEAFNESS; }; GVAR(newStrength) = 0; // Recover rate is slower if deafness is severe _recoverRate = 0.01; if (GVAR(currentDeafness) > 0.7) then { - _recoverRate = 0.005; - if (GVAR(currentDeafness) > 0.9) then { - _recoverRate = 0.002; - }; + _recoverRate = 0.005; + if (GVAR(currentDeafness) > 0.9) then { + _recoverRate = 0.002; + }; }; // Deafness recovers with time @@ -27,19 +44,19 @@ _volume = (1 - GVAR(currentDeafness) max 0)^2 max 0.04; // Earplugs reduce hearing 50% if ([ACE_player] call FUNC(hasEarPlugsIn)) then { - _volume = _volume min 0.5; + _volume = _volume min GVAR(EarplugsVolume); }; // Reduce volume if player is unconscious if (ACE_player getVariable ["ACE_isUnconscious", false]) then { - _volume = _volume min 0.4; + _volume = _volume min GVAR(UnconsciousnessVolume); }; if (!(missionNameSpace getVariable [QGVAR(disableVolumeUpdate), false])) then { - 0.1 fadeSound _volume; - 0.1 fadeSpeech _volume; - ACE_player setVariable ["tf_globalVolume", _volume]; - ACE_player setVariable ["acre_sys_core_globalVolume", _volume]; + 0.1 fadeSound _volume; + 0.1 fadeSpeech _volume; + ACE_player setVariable ["tf_globalVolume", _volume]; + if (!isNil "acre_api_fnc_setGlobalVolume") then {[_volume] call acre_api_fnc_setGlobalVolume;}; }; //hintSilent format ["GVAR(currentDeafness), _Volume = %1, %2", GVAR(currentDeafness), _volume]; diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index 385bf35936..7f6110915a 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -2,7 +2,7 @@ - + Ear Plugs Ohrenstöpsel Tapones para los oídos @@ -14,8 +14,8 @@ Protetor auricular Tappi auricolari - - Protective Ear Buds allow the wearer to be near loud weaponry without damage to his hearing. + + Protective Ear Plugs allow the wearer to be near loud weaponry without damage to his hearing. Schützende Ohrenstöpsel, die es dem Träger ermöglichen, sich in der Nähe lauter Waffen aufzuhalten. Los tapones para los oídos permiten al usuario operar armamento ruidoso sin sufrir pérdida de audición. Stopery do uszu umożliwiają użytkownikowi przebywać w pobliżu głośnej broni bez poniesienia konsekwencji jaką jest utrata słuchu. @@ -26,7 +26,7 @@ Protetor para ouvidos permitem que o usuário esteja próximo a ruídos sem danificar sua audição. Proteggono l'apparato uditivo, permettendo a chi li indossa di resistere ai suoni particolarmente forti senza alcun danno. - + Earplugs in Ohrenstöpsel drinnen Poner tapones @@ -38,7 +38,7 @@ Protetores colocados Indossa i tappi auricolari - + Earplugs out Ohrenstöpsel raus Quitar tapones @@ -50,7 +50,7 @@ Protetores retirados Levati i tappi auricolari - + Earplugs in Ohrenstöpsel drinnen Tapones puestos @@ -62,7 +62,7 @@ Protetores colocados Indossa i tappi auricolari - + Earplugs out Ohrenstöpsel raus Tapones quitados @@ -74,7 +74,7 @@ Protetores retirados Levati i tappi auricolari - + You have no ear plugs Keine Ohrenstöpsel im Inventar No tienes tapones para los oídos diff --git a/addons/interact_menu/XEH_preInit.sqf b/addons/interact_menu/XEH_preInit.sqf index 487f1c017f..4ede3196fe 100644 --- a/addons/interact_menu/XEH_preInit.sqf +++ b/addons/interact_menu/XEH_preInit.sqf @@ -2,21 +2,25 @@ ADDON = false; -PREP(addAction); -PREP(addClassAction); +PREP(addActionToClass); +PREP(addActionToObject); PREP(compileMenu); PREP(compileMenuSelfAction); PREP(collectActiveActionTree); +PREP(createAction); +PREP(findActionNode); +PREP(isSubPath); PREP(keyDown); PREP(keyDownSelfAction); PREP(keyUp); PREP(keyUpSelfAction); -PREP(removeAction); -PREP(removeClassAction); +PREP(removeActionFromClass); +PREP(removeActionFromObject); PREP(render); -PREP(renderIcon); PREP(renderBaseMenu); +PREP(renderIcon); PREP(renderMenu); +PREP(splitPath); GVAR(keyDown) = false; GVAR(keyDownSelfAction) = false; @@ -26,7 +30,6 @@ GVAR(lastTime) = diag_tickTime; GVAR(rotationAngle) = 0; GVAR(selectedAction) = [[],[]]; -GVAR(selectedStatement) = {}; GVAR(actionSelected) = false; GVAR(selectedTarget) = objNull; @@ -40,6 +43,7 @@ GVAR(lastPath) = []; GVAR(expanded) = false; GVAR(startHoverTime) = diag_tickTime; +GVAR(expandedTime) = diag_tickTime; GVAR(iconCtrls) = []; GVAR(iconCount) = 0; diff --git a/addons/interact_menu/functions/fnc_addAction.sqf b/addons/interact_menu/functions/fnc_addAction.sqf deleted file mode 100644 index c7dd6ecab3..0000000000 --- a/addons/interact_menu/functions/fnc_addAction.sqf +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Author: commy2, NouberNou and CAA-Picard - * Add an ACE action to an object, under a certain config path - * Note: This function is NOT global. - * - * Argument: - * 0: Object the action should be assigned to - * 1: Type of action, 0 for actions, 1 for self-actions - * 2: Full path of the new action - * 3: Name of the action shown in the menu - * 4: Icon - * 5: Position (Position or Selection Name) or - * 6: Statement - * 7: Condition - * 8: Distance - * 9: Other parameters (Optional) - * - * Return value: - * The entry full path, which can be used to remove the entry, or add children entries . - * - * Example: - * [cursorTarget,0,["ACE_TapShoulderRight","VulcanPinch"],"Vulcan Pinch","",[0,0,0],{_target setDamage 1;},{true},100] call ace_interact_menu_fnc_addAction; - * - * Public: No - */ -#include "script_component.hpp" - -EXPLODE_9_PVT(_this,_object,_typeNum,_fullPath,_displayName,_icon,_position,_statement,_condition,_distance); - -private ["_varName","_actions","_params","_entry"]; - -_varName = [QGVAR(actions),QGVAR(selfActions)] select _typeNum; -_actions = _object getVariable [_varName, []]; -if((count _actions) == 0) then { - _object setVariable [_varName, _actions]; -}; - -_params = [false,false,false,false]; -if (count _this > 9) then { - _params = _this select 9; -}; - -_entry = [ - [ - _displayName, - _icon, - _position, - _statement, - _condition, - _distance, - _params, - + _fullPath - ], - [] - ]; - -_actions pushBack _entry; - -_fullPath diff --git a/addons/interact_menu/functions/fnc_addActionToClass.sqf b/addons/interact_menu/functions/fnc_addActionToClass.sqf new file mode 100644 index 0000000000..c93342cfda --- /dev/null +++ b/addons/interact_menu/functions/fnc_addActionToClass.sqf @@ -0,0 +1,45 @@ +/* + * Author: CAA-Picard + * Insert an ACE action to a class, under a certain path + * Note: This function is NOT global. + * + * Argument: + * 0: TypeOf of the class + * 1: Type of action, 0 for actions, 1 for self-actions + * 2: Parent path of the new action + * 3: Action + * + * Return value: + * The entry full path, which can be used to remove the entry, or add children entries . + * + * Example: + * [typeOf cursorTarget, 0, ["ACE_TapShoulderRight"],VulcanPinchAction] call ace_interact_menu_fnc_addActionToClass; + * + * Public: No + */ +#include "script_component.hpp" + +EXPLODE_4_PVT(_this,_objectType,_typeNum,_parentPath,_action); + +// Ensure the config menu was compiled first +if (_typeNum == 0) then { + [_objectType] call FUNC(compileMenu); +} else { + [_objectType] call FUNC(compileMenuSelfAction); +}; + +private ["_varName","_actionTrees", "_parentNode"]; +_varName = format [[QGVAR(Act_%1), QGVAR(SelfAct_%1)] select _typeNum, _objectType]; +_actionTrees = missionNamespace getVariable [_varName, []]; +if((count _actionTrees) == 0) then { + missionNamespace setVariable [_varName, _actionTrees]; +}; + +_parentNode = [_actionTrees, _parentPath] call FUNC(findActionNode); +if (isNil {_parentNode}) exitWith {}; + +// Add action node as children of the correct node of action tree +(_parentNode select 1) pushBack [_action,[]]; + +// Return the full path +(+ _parentPath) pushBack (_action select 0) diff --git a/addons/interact_menu/functions/fnc_addActionToObject.sqf b/addons/interact_menu/functions/fnc_addActionToObject.sqf new file mode 100644 index 0000000000..223247057a --- /dev/null +++ b/addons/interact_menu/functions/fnc_addActionToObject.sqf @@ -0,0 +1,35 @@ +/* + * Author: CAA-Picard + * Insert an ACE action to an object, under a certain config path + * Note: This function is NOT global. + * + * Argument: + * 0: Object the action should be assigned to + * 1: Type of action, 0 for actions, 1 for self-actions + * 2: Parent path of the new action + * 3: Action + * + * Return value: + * The entry full path, which can be used to remove the entry, or add children entries . + * + * Example: + * [typeOf cursorTarget, 0, ["ACE_TapShoulderRight"],VulcanPinchAction] call ace_interact_menu_fnc_addActionToClass; + * + * Public: No + */ +#include "script_component.hpp" + +EXPLODE_4_PVT(_this,_object,_typeNum,_parentPath,_action); + +private ["_varName","_actionList"]; +_varName = [QGVAR(actions),QGVAR(selfActions)] select _typeNum; +_actionList = _object getVariable [_varName, []]; +if((count _actionList) == 0) then { + _object setVariable [_varName, _actionList]; +}; + +// Add action and parent path to the list of object actions +_actionList pushBack [_action, +_parentPath]; + +// Return the full path +(+ _parentPath) pushBack (_action select 0) diff --git a/addons/interact_menu/functions/fnc_addClassAction.sqf b/addons/interact_menu/functions/fnc_addClassAction.sqf deleted file mode 100644 index 4931328af2..0000000000 --- a/addons/interact_menu/functions/fnc_addClassAction.sqf +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Author: CAA-Picard - * Add an ACE action to a class, under a certain path - * Note: This function is NOT global. - * - * Argument: - * 0: TypeOf of the class - * 1: Type of action, 0 for actions, 1 for self-actions - * 2: Full path of the new action - * 3: Name of the action shown in the menu - * 4: Icon - * 5: Position (Position or Selection Name) or - * 6: Statement - * 7: Condition - * 8: Distance - * 9: Other parameters (Optional) - * - * Return value: - * The entry full path, which can be used to remove the entry, or add children entries . - * - * Example: - * [typeOf cursorTarget, 0,["ACE_TapShoulderRight","VulcanPinch"],"Vulcan Pinch","",[0,0,0],{_target setDamage 1;},{true},100] call ace_interact_menu_fnc_addClassAction; - * - * Public: No - */ -#include "script_component.hpp" - -EXPLODE_9_PVT(_this,_objectType,_typeNum,_fullPath,_displayName,_icon,_position,_statement,_condition,_distance); - -// Ensure the config menu was compiled first -if (_typeNum == 0) then { - [_objectType] call FUNC(compileMenu); -} else { - [_objectType] call FUNC(compileMenuSelfAction); -}; - -private ["_varName","_actions","_params","_entry", "_parentLevel", "_foundParentLevel", "_fnc_findFolder"]; - -_varName = format [[QGVAR(Act_%1), QGVAR(SelfAct_%1)] select _typeNum, _objectType]; -_actions = missionNamespace getVariable [_varName, []]; -if((count _actions) == 0) then { - missionNamespace setVariable [_varName, _actions]; -}; - -_params = [false,false,false,false]; -if (count _this > 9) then { - _params = _this select 9; -}; - -// Search the class action trees and find where to insert the entry -_parentLevel = _actions; -_foundParentLevel = false; - -_fnc_findFolder = { - EXPLODE_3_PVT(_this,_fullPath,_level,_classActions); - - if (count _fullPath == _level + 1) then { - _parentLevel = _classActions; - _foundParentLevel = true; - }; - - if (_foundParentLevel) exitWith {}; - - { - EXPLODE_2_PVT(_x,_actionData,_actionChildren); - if (((_actionData select 7) select _level) isEqualTo (_fullPath select _level)) exitWith { - // The action should go somewhere in here - [_fullPath, _level + 1, _actionChildren] call _fnc_findFolder; - }; - } forEach _classActions; -}; - -[_fullPath, 0, _actions] call _fnc_findFolder; - -// Exit if there's no entry point to insert this action -if (!_foundParentLevel) exitWith {}; - -_entry = [ - [ - _displayName, - _icon, - _position, - _statement, - _condition, - _distance, - _params, - + _fullPath - ], - [] - ]; - -_parentLevel pushBack _entry; - -_fullPath diff --git a/addons/interact_menu/functions/fnc_collectActiveActionTree.sqf b/addons/interact_menu/functions/fnc_collectActiveActionTree.sqf index 42f762de3f..36d4dc548d 100644 --- a/addons/interact_menu/functions/fnc_collectActiveActionTree.sqf +++ b/addons/interact_menu/functions/fnc_collectActiveActionTree.sqf @@ -5,6 +5,7 @@ * Argument: * 0: Object * 1: Original action tree + * 2: Parent path * * Return value: * Active children @@ -13,24 +14,39 @@ */ #include "script_component.hpp" -EXPLODE_2_PVT(_this,_object,_origAction); +EXPLODE_3_PVT(_this,_object,_origAction,_parentPath); EXPLODE_2_PVT(_origAction,_origActionData,_origActionChildren); -private ["_resultingAction","_target","_player","_activeChildren","_action","_actionData","_x"]; +private ["_target","_player","_fullPath","_activeChildren","_dynamicChildren","_action","_actionData","_x"]; _target = _object; _player = ACE_player; // Return nothing if the action itself is not active -if !([_target, ACE_player] call (_origActionData select 4)) exitWith { +if !([_target, ACE_player, _origActionData select 6] call (_origActionData select 4)) exitWith { [] }; +_fullPath = +_parentPath; +_fullPath pushBack (_origActionData select 0); _activeChildren = []; +// If there's a statement to dynamically insert children then execute it +if !({} isEqualTo (_origActionData select 5)) then { + _dynamicChildren = [_target, ACE_player, _origActionData select 6] call (_origActionData select 5); + + // Collect dynamic children class actions + { + _action = [_x select 2, _x, _fullPath] call FUNC(collectActiveActionTree); + if ((count _action) > 0) then { + _activeChildren pushBack _action; + }; + } forEach _dynamicChildren; +}; + // Collect children class actions { - _action = [_object, _x] call FUNC(collectActiveActionTree); + _action = [_object, _x, _fullPath] call FUNC(collectActiveActionTree); if ((count _action) > 0) then { _activeChildren pushBack _action; }; @@ -38,26 +54,15 @@ _activeChildren = []; // Collect children object actions { - _action = _x; - _actionData = _action select 0; + EXPLODE_2_PVT(_x,_actionData,_pPath); // Check if the action is children of the original action - if ((count (_actionData select 7)) == (count (_origActionData select 7) + 1)) then { + if (count _pPath == count _fullPath && + {_pPath isEqualTo _fullPath}) then { - // Compare parent path to see if it's a suitable child - private "_isChild"; - _isChild = true; - { - if !(_x isEqualTo ((_actionData select 7) select _forEachIndex)) exitWith { - _isChild = false; - }; - } forEach (_origActionData select 7); - - if (_isChild) then { - _action = [_object, _action] call FUNC(collectActiveActionTree); - if ((count _action) > 0) then { - _activeChildren pushBack _action; - }; + _action = [_object, _action, _fullPath] call FUNC(collectActiveActionTree); + if ((count _action) > 0) then { + _activeChildren pushBack _action; }; }; } forEach GVAR(objectActions); @@ -69,4 +74,5 @@ if ((count _activeChildren) == 0 && ((_origActionData select 3) isEqualTo {})) e [] }; -[_origActionData, _activeChildren] + +[_origActionData, _activeChildren, _object] diff --git a/addons/interact_menu/functions/fnc_compileMenu.sqf b/addons/interact_menu/functions/fnc_compileMenu.sqf index 5ba4a1b5a7..0fd4f6adb4 100644 --- a/addons/interact_menu/functions/fnc_compileMenu.sqf +++ b/addons/interact_menu/functions/fnc_compileMenu.sqf @@ -27,8 +27,8 @@ if !(isNil {missionNamespace getVariable [_actionsVarName, nil]}) exitWith {}; private "_recurseFnc"; _recurseFnc = { private ["_actions", "_displayName", "_distance", "_icon", "_statement", "_selection", "_condition", "_showDisabled", - "_enableInside", "_canCollapse", "_runOnHover", "_children", "_entry", "_entryCfg", "_fullPath"]; - EXPLODE_2_PVT(_this,_actionsCfg,_parentPath); + "_enableInside", "_canCollapse", "_runOnHover", "_children", "_entry", "_entryCfg", "_insertChildren"]; + EXPLODE_1_PVT(_this,_actionsCfg); _actions = []; for "_i" from 0 to (count _actionsCfg) - 1 do { @@ -46,29 +46,30 @@ _recurseFnc = { if (_condition == "") then {_condition = "true"}; // Add canInteract (including exceptions) and canInteractWith to condition - _condition = _condition + format [QUOTE( && {%1 call EGVAR(common,canInteract)} && {[ARR_2(ACE_player, _target)] call EFUNC(common,canInteractWith)} ), getArray (_entryCfg >> "exceptions")]; + _condition = _condition + format [QUOTE( && {[ARR_3(ACE_player, _target, %1)] call EFUNC(common,canInteractWith)} ), getArray (_entryCfg >> "exceptions")]; + + _insertChildren = compile (getText (_entryCfg >> "insertChildren")); _showDisabled = (getNumber (_entryCfg >> "showDisabled")) > 0; _enableInside = (getNumber (_entryCfg >> "enableInside")) > 0; _canCollapse = (getNumber (_entryCfg >> "canCollapse")) > 0; _runOnHover = (getNumber (_entryCfg >> "runOnHover")) > 0; - _fullPath = (+ _parentPath); - _fullPath pushBack (configName _entryCfg); - _condition = compile _condition; - _children = [_entryCfg, _fullPath] call _recurseFnc; + _children = [_entryCfg] call _recurseFnc; _entry = [ [ + configName _entryCfg, _displayName, _icon, - _selection, _statement, _condition, + _insertChildren, + [], + _selection, _distance, - [_showDisabled,_enableInside,_canCollapse,_runOnHover], - _fullPath + [_showDisabled,_enableInside,_canCollapse,_runOnHover] ], _children ]; @@ -81,20 +82,22 @@ _recurseFnc = { private "_actionsCfg"; _actionsCfg = configFile >> "CfgVehicles" >> _objectType >> "ACE_Actions"; -missionNamespace setVariable [_actionsVarName, [_actionsCfg, []] call _recurseFnc]; +missionNamespace setVariable [_actionsVarName, [_actionsCfg] call _recurseFnc]; /* [ [ [ + "MyAction", "My Action", "\a3\ui_f\data\IGUI\Cfg\Actions\eject_ca.paa", - [0,0,0], { (_this select 0) setVelocity [0,0,10]; }, { true }, + {}, + [], + [0,0,0], 1, [false,false,false] - ["ACE_MainActions","TeamManagement","MyAction"] ], [children actions] ] diff --git a/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf b/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf index 9407ce6dcd..ebccc2ca42 100644 --- a/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf +++ b/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf @@ -27,8 +27,8 @@ if !(isNil {missionNamespace getVariable [_actionsVarName, nil]}) exitWith {}; private "_recurseFnc"; _recurseFnc = { private ["_actions", "_displayName", "_distance", "_icon", "_statement", "_selection", "_condition", "_showDisabled", - "_enableInside", "_canCollapse", "_runOnHover", "_children", "_entry", "_entryCfg", "_fullPath"]; - EXPLODE_2_PVT(_this,_actionsCfg,_parentPath); + "_enableInside", "_canCollapse", "_runOnHover", "_children", "_entry", "_entryCfg", "_insertChildren"]; + EXPLODE_1_PVT(_this,_actionsCfg); _actions = []; for "_i" from 0 to (count _actionsCfg) - 1 do { @@ -43,29 +43,30 @@ _recurseFnc = { if (_condition == "") then {_condition = "true"}; // Add canInteract (including exceptions) and canInteractWith to condition - _condition = _condition + format [QUOTE( && {%1 call EGVAR(common,canInteract)} && {[ARR_2(ACE_player, _target)] call EFUNC(common,canInteractWith)} ), getArray (_entryCfg >> "exceptions")]; + _condition = _condition + format [QUOTE( && {[ARR_3(ACE_player, objNull, %1)] call EFUNC(common,canInteractWith)} ), getArray (_entryCfg >> "exceptions")]; + + _insertChildren = compile (getText (_entryCfg >> "insertChildren")); _showDisabled = (getNumber (_entryCfg >> "showDisabled")) > 0; _enableInside = (getNumber (_entryCfg >> "enableInside")) > 0; _canCollapse = (getNumber (_entryCfg >> "canCollapse")) > 0; _runOnHover = (getNumber (_entryCfg >> "runOnHover")) > 0; - _fullPath = (+ _parentPath); - _fullPath pushBack (configName _entryCfg); - _condition = compile _condition; - _children = [_entryCfg, _fullPath] call _recurseFnc; + _children = [_entryCfg] call _recurseFnc; _entry = [ [ + configName _entryCfg, _displayName, _icon, - [0,0,0], _statement, _condition, + _insertChildren, + [], + [0,0,0], 10, //distace - [_showDisabled,_enableInside,_canCollapse,_runOnHover], - _fullPath + [_showDisabled,_enableInside,_canCollapse,_runOnHover] ], _children ]; @@ -82,16 +83,18 @@ _actionsCfg = configFile >> "CfgVehicles" >> _objectType >> "ACE_SelfActions"; _actions = [ [ [ + "ACE_SelfActions", "Self Actions", "\a3\ui_f\data\IGUI\Cfg\Actions\eject_ca.paa", + {}, + { true }, + {}, + [], "Spine3", - { true }, - { true }, 10, - [false,true,false], - ["ACE_SelfActions"] + [false,true,false] ], - [_actionsCfg, ["ACE_SelfActions"]] call _recurseFnc + [_actionsCfg] call _recurseFnc ] ]; diff --git a/addons/interact_menu/functions/fnc_createAction.sqf b/addons/interact_menu/functions/fnc_createAction.sqf new file mode 100644 index 0000000000..785db2c8b9 --- /dev/null +++ b/addons/interact_menu/functions/fnc_createAction.sqf @@ -0,0 +1,74 @@ +/* + * Author: CAA-Picard + * Creates an isolated ACE action + * Note: This function is NOT global. + * + * Argument: + * 0: Action name + * 1: Name of the action shown in the menu + * 2: Icon + * 3: Statement + * 4: Condition + * 5: Insert children code (Optional) + * 6: Action parameters (Optional) + * 7: Position (Position or Selection Name) or (Optional) + * 8: Distance (Optional) + * 9: Other parameters (Optional) + * + * Return value: + * Action + * + * Example: + * [VulcanPinch","Vulcan Pinch",{_target setDamage 1;},{true},{},[parameters], [0,0,0], 100] call ace_interact_menu_fnc_createAction; + * + * Public: No + */ +#include "script_component.hpp" + +EXPLODE_5_PVT(_this,_actionName,_displayName,_icon,_statement,_condition); + +private ["_insertChildren","_customParams","_position","_distance","_params"]; + +_insertChildren = if (count _this > 5) then { + _this select 5 +} else { + {} +}; + +_customParams = if (count _this > 6) then { + _this select 6 +} else { + [] +}; + +_position = if (count _this > 7) then { + _this select 7 +} else { + [0,0,0] +}; + +_distance = if (count _this > 8) then { + _this select 8 +} else { + 2 +}; + +_params = if (count _this > 9) then { + _this select 9 +} else { + [false,false,false,false] +}; + +[ + _actionName, + _displayName, + _icon, + _statement, + _condition, + + _insertChildren, + _customParams, + _position, + _distance, + _params +] diff --git a/addons/interact_menu/functions/fnc_findActionNode.sqf b/addons/interact_menu/functions/fnc_findActionNode.sqf new file mode 100644 index 0000000000..41dd32b7d8 --- /dev/null +++ b/addons/interact_menu/functions/fnc_findActionNode.sqf @@ -0,0 +1,56 @@ +/* + * Author: CAA-Picard + * Return action point from path + * Note: This function is NOT global. + * + * Argument: + * 0: List of Action Tree + * 1: Path + * + * Return value: + * Action node . + * + * Example: + * [_actionTree, ["ACE_TapShoulderRight","VulcanPinchAction"]] call ace_interact_menu_fnc_findActionNode; + * + * Public: No + */ +#include "script_component.hpp" + +EXPLODE_2_PVT(_this,_actionTreeList,_parentPath); + +private ["_parentNode", "_foundParentNode", "_fnc_findFolder"]; + +// Hack to make this work on the root node too +if (count _parentPath == 0) exitWith { + [[],_actionTreeList] +}; + +// Search the class action trees and find where to insert the entry +_parentNode = [[],_actionTreeList]; +_foundParentNode = false; + +_fnc_findFolder = { + EXPLODE_3_PVT(_this,_parentPath,_level,_actionNode); + + { + EXPLODE_2_PVT(_x,_actionData,_actionChildren); + if ((_actionData select 0) isEqualTo (_parentPath select _level)) exitWith { + + if (count _parentPath == _level + 1) exitWith { + _parentNode = _x; + _foundParentNode = true; + }; + + // The action should go somewhere in here + [_parentPath, _level + 1, _x] call _fnc_findFolder; + }; + } forEach (_actionNode select 1); +}; + +[_parentPath, 0, [[],_actionTreeList]] call _fnc_findFolder; + +// Exit if there's no entry point to insert this action +if (!_foundParentNode) exitWith {}; + +_parentNode diff --git a/addons/interact_menu/functions/fnc_isSubPath.sqf b/addons/interact_menu/functions/fnc_isSubPath.sqf new file mode 100644 index 0000000000..1f086fb809 --- /dev/null +++ b/addons/interact_menu/functions/fnc_isSubPath.sqf @@ -0,0 +1,29 @@ +/* + * Author: CAA-Picard + * Check if the first path is a subpath of the other + * + * Argument: + * 0: LongPath + * 1: ShortPath + * + * Return value: + * Bool + * + * Public: No + */ +#include "script_component.hpp" + +EXPLODE_2_PVT(_this,_longPath,_shortPath); + +private ["_isSubPath","_i"]; +_isSubPath = true; + +if (count _shortPath > count _longPath) exitWith {false}; + +for [{_i = 0},{_i < count _shortPath},{_i = _i + 1}] do { + if !((_longPath select _i) isEqualTo (_shortPath select _i)) exitWith { + _isSubPath = false; + }; +}; + +_isSubPath diff --git a/addons/interact_menu/functions/fnc_keyDown.sqf b/addons/interact_menu/functions/fnc_keyDown.sqf index 4a0592b5b8..4c8ffd8b3a 100644 --- a/addons/interact_menu/functions/fnc_keyDown.sqf +++ b/addons/interact_menu/functions/fnc_keyDown.sqf @@ -19,5 +19,7 @@ if(!GVAR(keyDown)) then { GVAR(keyDown) = true; GVAR(keyDownTime) = diag_tickTime; + + ["interactMenuOpened", [0]] call EFUNC(common,localEvent); }; true diff --git a/addons/interact_menu/functions/fnc_keyDownSelfAction.sqf b/addons/interact_menu/functions/fnc_keyDownSelfAction.sqf index 0f58a246d2..63c81b58bc 100644 --- a/addons/interact_menu/functions/fnc_keyDownSelfAction.sqf +++ b/addons/interact_menu/functions/fnc_keyDownSelfAction.sqf @@ -17,6 +17,8 @@ if(!GVAR(keyDownSelfAction)) then { GVAR(keyDown) = false; GVAR(keyDownTime) = diag_tickTime; + ["interactMenuOpened", [1]] call EFUNC(common,localEvent); + GVAR(useCursorMenu) = (vehicle ACE_player != ACE_player) || GVAR(AlwaysUseCursorSelfInteraction) || visibleMap; if (GVAR(useCursorMenu)) then { diff --git a/addons/interact_menu/functions/fnc_keyUp.sqf b/addons/interact_menu/functions/fnc_keyUp.sqf index 716d6dafd8..56285b4c79 100644 --- a/addons/interact_menu/functions/fnc_keyUp.sqf +++ b/addons/interact_menu/functions/fnc_keyUp.sqf @@ -14,9 +14,23 @@ if(GVAR(actionSelected)) then { this = GVAR(selectedTarget); + + private ["_player","_target","_actionData"]; _player = ACE_Player; _target = GVAR(selectedTarget); - [GVAR(selectedTarget), ACE_player] call GVAR(selectedStatement); + + // Clear the conditions caches + ["clearConditionCaches", []] call EFUNC(common,localEvent); + + // Check the action conditions + _actionData = GVAR(selectedAction) select 0; + if ([_target, _player, _actionData select 6] call (_actionData select 4)) then { + // Call the statement + [_target, _player, _actionData select 6] call (_actionData select 3); + + // Clear the conditions caches again if the action was performed + ["clearConditionCaches", []] call EFUNC(common,localEvent); + }; }; if (GVAR(keyDown)) then { diff --git a/addons/interact_menu/functions/fnc_keyUpSelfAction.sqf b/addons/interact_menu/functions/fnc_keyUpSelfAction.sqf index 6346696d53..2c5ab86a8c 100644 --- a/addons/interact_menu/functions/fnc_keyUpSelfAction.sqf +++ b/addons/interact_menu/functions/fnc_keyUpSelfAction.sqf @@ -18,9 +18,23 @@ if (uiNamespace getVariable [QGVAR(cursorMenuOpened),false]) then { if(GVAR(actionSelected)) then { this = GVAR(selectedTarget); + + private ["_player","_target","_actionData"]; _player = ACE_Player; _target = GVAR(selectedTarget); - [GVAR(selectedTarget), ACE_player] call GVAR(selectedStatement); + + // Clear the conditions caches + ["clearConditionCaches", []] call EFUNC(common,localEvent); + + // Check the action conditions + _actionData = GVAR(selectedAction) select 0; + if ([_target, _player, _actionData select 6] call (_actionData select 4)) then { + // Call the statement + [_target, _player, _actionData select 6] call (_actionData select 3); + + // Clear the conditions caches again if the action was performed + ["clearConditionCaches", []] call EFUNC(common,localEvent); + }; }; if (GVAR(keyDownSelfAction)) then { diff --git a/addons/interact_menu/functions/fnc_removeActionFromClass.sqf b/addons/interact_menu/functions/fnc_removeActionFromClass.sqf new file mode 100644 index 0000000000..aee1675fa7 --- /dev/null +++ b/addons/interact_menu/functions/fnc_removeActionFromClass.sqf @@ -0,0 +1,39 @@ +/* + * Author: CAA-Picard + * Removes an action from a class + * + * Argument: + * 0: TypeOf of the class + * 1: Type of action, 0 for actions, 1 for self-actions + * 2: Full path of the new action + * + * Return value: + * None + * + * Example: + * [typeOf cursorTarget, 0,["ACE_TapShoulderRight","VulcanPinch"]] call ace_interact_menu_fnc_removeActionFromClass; + * + * Public: No + */ +#include "script_component.hpp" + +EXPLODE_3_PVT(_this,_objectType,_typeNum,_fullPath); + +private ["_res","_varName","_actionTrees"]; +_res = _fullPath call FUNC(splitPath); +EXPLODE_2_PVT(_res,_parentPath,_actionName); + +_varName = format [[QGVAR(Act_%1), QGVAR(SelfAct_%1)] select _typeNum, _objectType]; +_actionTrees = missionNamespace getVariable [_varName, []]; + +_parentNode = [_actionTrees, _parentPath] call FUNC(findActionNode); +if (isNil {_parentNode}) exitWith {}; + +// Iterate through children of the father +{ + if (((_x select 0) select 0) == _actionName) exitWith { + (_parentNode select 1) deleteAt _forEachIndex; + }; +} forEach (_parentNode select 1); + +_parentLevel deleteAt _actionIndex; diff --git a/addons/interact_menu/functions/fnc_removeAction.sqf b/addons/interact_menu/functions/fnc_removeActionFromObject.sqf similarity index 53% rename from addons/interact_menu/functions/fnc_removeAction.sqf rename to addons/interact_menu/functions/fnc_removeActionFromObject.sqf index 3c6988971d..dc5fdc05f0 100644 --- a/addons/interact_menu/functions/fnc_removeAction.sqf +++ b/addons/interact_menu/functions/fnc_removeActionFromObject.sqf @@ -1,30 +1,33 @@ -/* - * Author: commy2, NouberNou and CAA-Picard - * Remove an action from an object - * - * Argument: - * 0: Object the action is assigned to - * 1: Type of action, 0 for actions, 1 for self-actions - * 2: Full path of the action to remove - * - * Return value: - * None - * - * Example: - * [cursorTarget,0,["ACE_TapShoulderRight","VulcanPinch"]] call ace_interact_menu_fnc_removeAction; - * - * Public: No - */ -#include "script_component.hpp" - -EXPLODE_3_PVT(_this,_object,_typeNum,_fullPath); - -private ["_varName","_actions"]; -_varName = [QGVAR(actions),QGVAR(selfActions)] select _typeNum; -_actions = _object getVariable [_varName, []]; - -{ - if (((_x select 0) select 7) isEqualTo _fullPath) exitWith { - _actions deleteAt _forEachIndex; - }; -} forEach _actions; +/* + * Author: commy2, NouberNou and CAA-Picard + * Removes an action from an object + * + * Argument: + * 0: Object the action is assigned to + * 1: Type of action, 0 for actions, 1 for self-actions + * 2: Full path of the action to remove + * + * Return value: + * None + * + * Example: + * [cursorTarget,0,["ACE_TapShoulderRight","VulcanPinch"]] call ace_interact_menu_fnc_removeActionFromObject; + * + * Public: No + */ +#include "script_component.hpp" + +EXPLODE_3_PVT(_this,_object,_typeNum,_fullPath); + +private ["_res","_varName","_actionList"]; +_res = _fullPath call FUNC(splitPath); +EXPLODE_2_PVT(_res,_parentPath,_actionName); + +_varName = [QGVAR(actions),QGVAR(selfActions)] select _typeNum; +_actionList = _object getVariable [_varName, []]; +{ + if (((_x select 0) select 0) isEqualTo _actionName && + {(_x select 1) isEqualTo _parentPath}) exitWith { + _actionList deleteAt _forEachIndex; + }; +} forEach _actionList; diff --git a/addons/interact_menu/functions/fnc_removeClassAction.sqf b/addons/interact_menu/functions/fnc_removeClassAction.sqf deleted file mode 100644 index 9ba29cd357..0000000000 --- a/addons/interact_menu/functions/fnc_removeClassAction.sqf +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Author: CAA-Picard - * Removes a class action from a class - * Note: This function is NOT global. - * - * Argument: - * 0: TypeOf of the class - * 1: Type of action, 0 for actions, 1 for self-actions - * 2: Full path of the new action - * - * Return value: - * None - * - * Example: - * [typeOf cursorTarget, 0,["ACE_TapShoulderRight","VulcanPinch"]] call ace_interact_menu_fnc_removeClassAction; - * - * Public: No - */ -#include "script_component.hpp" - -EXPLODE_3_PVT(_this,_objectType,_typeNum,_fullPath); - -private ["_varName","_actions","_parentLevel", "_actionIndex", "_foundAction", "_fnc_findFolder"]; - -_varName = format [[QGVAR(Act_%1), QGVAR(SelfAct_%1)] select _typeNum, _objectType]; -_actions = missionNamespace getVariable [_varName, []]; - -// Search the class action trees and find where to insert the entry -_parentLevel = _actions; -_actionIndex = -1; -_foundAction = false; - -_fnc_findFolder = { - EXPLODE_3_PVT(_this,_fullPath,_level,_classActions); - - if (count _fullPath == _level + 1) then { - _parentLevel = _classActions; - }; - - { - EXPLODE_2_PVT(_x,_actionData,_actionChildren); - if (((_actionData select 7) select _level) isEqualTo (_fullPath select _level)) exitWith { - if (_level + 1 == count _fullPath) exitWith { - _actionIndex = _forEachIndex; - _foundAction = true; - }; - [_fullPath, _level + 1, _actionChildren] call _fnc_findFolder; - }; - if (_foundAction) exitWith {}; - } forEach _classActions; -}; - -[_fullPath, 0, _actions] call _fnc_findFolder; - -// Exit if the action was not found -if (!_foundAction) exitWith {}; - -_entry = [ - [ - _displayName, - _icon, - _position, - _statement, - _condition, - _distance, - _params, - + _fullPath - ], - [] - ]; - -_parentLevel deleteAt _actionIndex; diff --git a/addons/interact_menu/functions/fnc_render.sqf b/addons/interact_menu/functions/fnc_render.sqf index 3930068c25..523520ee91 100644 --- a/addons/interact_menu/functions/fnc_render.sqf +++ b/addons/interact_menu/functions/fnc_render.sqf @@ -41,17 +41,17 @@ if (GVAR(keyDown)) then { // Iterate through object actions, find base level actions and render them if appropiate _actionsVarName = format [QGVAR(Act_%1), typeOf _target]; - GVAR(objectActions) = _target getVariable [QGVAR(actions), []]; + GVAR(objectActionList) = _target getVariable [QGVAR(actions), []]; { - _action = _x; // Only render them directly if they are base level actions - if (count ((_action select 0) select 7) == 1) then { + if (count (_x select 1) == 0) then { // Try to render the menu + _action = [_x,[]]; if ([_target, _action] call FUNC(renderBaseMenu)) then { _numInteractions = _numInteractions + 1; }; }; - } forEach GVAR(objectActions); + } forEach GVAR(objectActionList); // Iterate through base level class actions and render them if appropiate _classActions = missionNamespace getVariable [_actionsVarName, []]; @@ -80,7 +80,7 @@ if (GVAR(keyDown)) then { // Iterate through object actions, find base level actions and render them if appropiate _actionsVarName = format [QGVAR(SelfAct_%1), typeOf _target]; - GVAR(objectActions) = _target getVariable [QGVAR(selfActions), []]; + GVAR(objectActionList) = _target getVariable [QGVAR(selfActions), []]; /* { _action = _x; @@ -88,7 +88,7 @@ if (GVAR(keyDown)) then { if (count (_action select 7) == 1) then { [_target, _action, 0, [180, 360]] call FUNC(renderMenu); }; - } forEach GVAR(objectActions); + } forEach GVAR(objectActionList); */ // Iterate through base level class actions and render them if appropiate @@ -142,9 +142,8 @@ if(GVAR(keyDown) || GVAR(keyDownSelfAction)) then { drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,.75], _pos, 0.6*SafeZoneW, 0.6*SafeZoneW, GVAR(rotationAngle), "", 0.5, 0.025, "TahomaB"]; _foundTarget = true; GVAR(actionSelected) = true; - GVAR(selectedTarget) = (_closest select 0) select 0; GVAR(selectedAction) = (_closest select 0) select 1; - GVAR(selectedStatement) = ((GVAR(selectedAction)) select 0) select 3; + GVAR(selectedTarget) = (GVAR(selectedAction)) select 2; _misMatch = false; _hoverPath = (_closest select 2); @@ -153,29 +152,46 @@ if(GVAR(keyDown) || GVAR(keyDownSelfAction)) then { _misMatch = true; } else { { - if(_x != (_hoverPath select _forEachIndex)) exitWith { + if !(_x isEqualTo (_hoverPath select _forEachIndex)) exitWith { _misMatch = true; }; } forEach GVAR(lastPath); }; - if(_misMatch) then { - GVAR(lastPath) = _hoverPath; + if(_misMatch && {diag_tickTime-GVAR(expandedTime) > 0.25}) then { GVAR(startHoverTime) = diag_tickTime; + GVAR(lastPath) = _hoverPath; GVAR(expanded) = false; } else { if(!GVAR(expanded) && diag_tickTime-GVAR(startHoverTime) > 0.25) then { GVAR(expanded) = true; + + // Start the expanding menu animation only if the user is not going up the menu + if !([GVAR(menuDepthPath),GVAR(lastPath)] call FUNC(isSubPath)) then { + GVAR(expandedTime) = diag_tickTime; + }; GVAR(menuDepthPath) = +GVAR(lastPath); // Execute the current action if it's run on hover private "_runOnHover"; - _runOnHover = ((GVAR(selectedAction) select 0) select 6) select 3; + _runOnHover = ((GVAR(selectedAction) select 0) select 9) select 3; if (_runOnHover) then { this = GVAR(selectedTarget); _player = ACE_Player; _target = GVAR(selectedTarget); - [GVAR(selectedTarget), ACE_player] call GVAR(selectedStatement); + + // Clear the conditions caches + ["clearConditionCaches", []] call EFUNC(common,localEvent); + + // Check the action conditions + _actionData = GVAR(selectedAction) select 0; + if ([_target, _player, _actionData select 6] call (_actionData select 4)) then { + // Call the statement + [_target, _player, _actionData select 6] call (_actionData select 3); + + // Clear the conditions caches again if the action was performed + ["clearConditionCaches", []] call EFUNC(common,localEvent); + }; }; }; }; diff --git a/addons/interact_menu/functions/fnc_renderBaseMenu.sqf b/addons/interact_menu/functions/fnc_renderBaseMenu.sqf index e3a8a0c9a4..b73c3c4979 100644 --- a/addons/interact_menu/functions/fnc_renderBaseMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderBaseMenu.sqf @@ -4,7 +4,7 @@ * * Argument: * 0: Object - * 1: Action data + * 1: Action node * 2: 3D position (Optional) * * Return value: @@ -16,25 +16,25 @@ private ["_distance","_pos","_weaponDir","_ref","_cameraPos","_sPos","_activeActionTree"]; -EXPLODE_2_PVT(_this,_object,_baseAction); -EXPLODE_1_PVT(_baseAction,_actionData); +EXPLODE_2_PVT(_this,_object,_baseActionNode); +EXPLODE_1_PVT(_baseActionNode,_actionData); -_distance = _actionData select 5; +_distance = _actionData select 8; // Obtain a 3D position for the action if((count _this) > 2) then { _pos = _this select 2; } else { - if(typeName (_actionData select 2) == "ARRAY") then { - _pos = _object modelToWorld (_actionData select 2); + if(typeName (_actionData select 7) == "ARRAY") then { + _pos = _object modelToWorld (_actionData select 7); } else { - if ((_actionData select 2) == "weapon") then { + if ((_actionData select 7) == "weapon") then { // Craft a suitable position for weapon interaction _weaponDir = _object weaponDirection currentWeapon _object; _ref = _weaponDir call EFUNC(common,createOrthonormalReference); _pos = (_object modelToWorld (_object selectionPosition "righthand")) vectorAdd ((_ref select 2) vectorMultiply 0.1); } else { - _pos = _object modelToWorld (_object selectionPosition (_actionData select 2)); + _pos = _object modelToWorld (_object selectionPosition (_actionData select 7)); }; }; // Compensate for movement during the frame to get rid of jittering @@ -59,19 +59,30 @@ if ((_sPos select 1) < safeZoneY || (_sPos select 1) > safeZoneY + safeZon // Collect active tree private "_uid"; -_uid = format [QGVAR(ATCache_%1), (_actionData select 7) select 0]; +_uid = format [QGVAR(ATCache_%1), _actionData select 0]; _activeActionTree = [ - [_object, _baseAction], + [_object, _baseActionNode, []], DFUNC(collectActiveActionTree), - _object, _uid, 0.2 + _object, _uid, 1.0, "interactMenuClosed" ] call EFUNC(common,cachedCall); - +/* +diag_log "Printing: _activeActionTree"; +_fnc_print = { + EXPLODE_2_PVT(_this,_level,_node); + EXPLODE_3_PVT(_node,_actionData,_children,_object); + diag_log text format ["Level %1 -> %2 on %3", _level, _actionData select 0, _object]; + { + [_level + 1, _x] call _fnc_print; + } forEach _children; +}; +[0, _activeActionTree] call _fnc_print; +*/ // Check if there's something left for rendering if (count _activeActionTree == 0) exitWith {false}; //EXPLODE_2_PVT(_activeActionTree,_actionData,_actionChildren); -[_object, _activeActionTree, _pos, [180,360]] call FUNC(renderMenu); +[[], _activeActionTree, _pos, [180,360]] call FUNC(renderMenu); true diff --git a/addons/interact_menu/functions/fnc_renderMenu.sqf b/addons/interact_menu/functions/fnc_renderMenu.sqf index ad604b9fa5..26b07dd475 100644 --- a/addons/interact_menu/functions/fnc_renderMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderMenu.sqf @@ -3,7 +3,7 @@ * Render an interaction menu and it's children recursively * * Argument: - * 0: Object + * 0: Parent path * 1: Action data * 2: 3D position * 3: Angle range available for rendering @@ -17,14 +17,15 @@ private ["_menuInSelectedPath", "_path", "_menuDepth", "_currentRenderDepth", "_x", "_offset", "_newPos", "_forEachIndex"]; -EXPLODE_4_PVT(_this,_object,_action,_pos,_angles); -EXPLODE_2_PVT(_action,_actionData,_activeChildren); +EXPLODE_4_PVT(_this,_parentPath,_action,_pos,_angles); +EXPLODE_3_PVT(_action,_actionData,_activeChildren,_actionObject); EXPLODE_2_PVT(_angles,_centerAngle,_maxAngleSpan); -_menuDepth = (count GVAR(menuDepthPath)) - 1; +_menuDepth = (count GVAR(menuDepthPath)); // Store path to action -_path = [_object] + (_actionData select 7); +_path = +_parentPath; +_path pushBack [_actionData select 0,_actionObject]; // Check if the menu is on the selected path _menuInSelectedPath = true; @@ -32,7 +33,7 @@ _menuInSelectedPath = true; if (_forEachIndex >= (count GVAR(menuDepthPath))) exitWith { _menuInSelectedPath = false; }; - if (_x != (GVAR(menuDepthPath) select _forEachIndex)) exitWith { + if !(_x isEqualTo (GVAR(menuDepthPath) select _forEachIndex)) exitWith { _menuInSelectedPath = false; }; } forEach _path; @@ -42,12 +43,12 @@ _menuInSelectedPath = true; _color = "#FFFFFFFF"; if(!_menuInSelectedPath) then { //_menuDepth > 0 && if (_menuDepth > 0) then { - _color = format ["#%1FFFFFF", [255 * ((((count _path) - 2)/_menuDepth) max 0.25)] call EFUNC(common,toHex)]; + _color = format ["#%1FFFFFF", [255 * ((((count _path) - 1)/_menuDepth) max 0.25)] call EFUNC(common,toHex)]; } else { _color = format ["#%1FFFFFF", [255 * 0.75] call EFUNC(common,toHex)]; }; }; -[_actionData select 0, _color, _pos, 1, 1, 0, _actionData select 1, 0.5, 0.025, "TahomaB"] call FUNC(renderIcon); +[_actionData select 1, _color, _pos, 1, 1, 0, _actionData select 2, 0.5, 0.025, "TahomaB"] call FUNC(renderIcon); // Add the action to current options GVAR(currentOptions) pushBack [_this, _pos, _path]; @@ -55,26 +56,44 @@ GVAR(currentOptions) pushBack [_this, _pos, _path]; // Exit without rendering children if it isn't if !(_menuInSelectedPath) exitWith {true}; -private ["_angleSpan","_angle"]; +private ["_angleSpan","_angle","_angleInterval","_scale"]; _angleSpan = _maxAngleSpan min (55 * ((count _activeChildren) - 1)); if (_angleSpan >= 305) then { _angleSpan = 360; }; +_angleInterval = 55; +if (_angleSpan < 360) then { + if (count _activeChildren > 1) then { + _angleInterval = _angleSpan / (count _activeChildren - 1); + }; +} else { + _angleSpan / (count _activeChildren); +}; +if (count _activeChildren == 1) then { + _angleInterval = 60; +}; + +// Scale menu based on distance +_scale = (0.15 max (0.15 * ((positionCameraToWorld [0, 0, 0]) distance _pos))) / GVAR(selfMenuScale); +// Scale menu based on the amount of children +_scale = _scale * (((0.8 * (0.46 / sin (0.5 * _angleInterval))) min 1.4) max 0.5); +// Animate menu scale +if (_menuInSelectedPath && (_menuDepth == count _path)) then { + _scale = _scale * (0.3 + 0.7 * (((diag_tickTime - GVAR(expandedTime)) * 8) min 1)); +}; _angle = _centerAngle - _angleSpan / 2; { - _target = _object; + _target = _actionObject; _player = ACE_player; - _mod = (0.15 max (0.15 * ((positionCameraToWorld [0, 0, 0]) distance _pos))) / GVAR(selfMenuScale); - - _offset = ((GVAR(refSystem) select 1) vectorMultiply (-_mod * cos _angle)) vectorAdd - ((GVAR(refSystem) select 2) vectorMultiply (-_mod * sin _angle)); + _offset = ((GVAR(refSystem) select 1) vectorMultiply (-_scale * cos _angle)) vectorAdd + ((GVAR(refSystem) select 2) vectorMultiply (-_scale * sin _angle)); _newPos = ((_pos call EFUNC(common,positionToASL)) vectorAdd _offset) call EFUNC(common,ASLToPosition); - //drawLine3D [_pos, _newPos, [1,0,0,0.5]]; + //drawLine3D [_pos, _newPos, [1,0,0,0.8]]; - [_object, _x, _newPos, [_angle, 140]] call FUNC(renderMenu); + [_path, _x, _newPos, [_angle, 140]] call FUNC(renderMenu); if (_angleSpan == 360) then { _angle = _angle + _angleSpan / (count _activeChildren); diff --git a/addons/interact_menu/functions/fnc_splitPath.sqf b/addons/interact_menu/functions/fnc_splitPath.sqf new file mode 100644 index 0000000000..87140d0482 --- /dev/null +++ b/addons/interact_menu/functions/fnc_splitPath.sqf @@ -0,0 +1,27 @@ +/* + * Author: CAA-Picard + * Take full path and split it between parent path and action name + * + * Argument: + * Full path of the action to remove + * + * Return value: + * 0: Parent path + * 1: Action name + * + * Public: No + */ +#include "script_component.hpp" + +private ["_parentPath","_actionName"]; +_parentPath = []; +for [{_i = 0},{_i < (count _this) - 1},{_i = _i + 1}] do { + _parentPath pushBack (_this select _i); +}; +_actionName = if (count _this > 0) then { + _this select ((count _this) - 1); +} else { + "" +}; + +[_parentPath, _actionName] diff --git a/addons/interaction/CfgVehicles.hpp b/addons/interaction/CfgVehicles.hpp index 3cf95fe1a4..51bdd6013d 100644 --- a/addons/interaction/CfgVehicles.hpp +++ b/addons/interaction/CfgVehicles.hpp @@ -1,8 +1,3 @@ -#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \ - name = #ITEM; \ - count = COUNT; \ -}; - class CfgVehicles { class Module_F; @@ -36,7 +31,7 @@ class CfgVehicles { condition = QUOTE(true); statement = ""; icon = "\a3\ui_f\data\IGUI\Cfg\Actions\eject_ca.paa"; - selection = "spine3"; + selection = "pelvis"; class ACE_TeamManagement { displayName = "$STR_ACE_Interaction_TeamManagement"; @@ -145,45 +140,52 @@ class CfgVehicles { enableInside = 1; }; }; + class ACE_Torso { + displayName = "$STR_ACE_Interaction_Torso"; + selection = "spine3"; + distance = 1.50; + condition = ""; + statement = ""; + }; class ACE_Head { displayName = "$STR_ACE_Interaction_Head"; selection = "pilot"; - distance = 2.0; + distance = 1.50; condition = ""; statement = ""; }; class ACE_ArmLeft { displayName = "$STR_ACE_Interaction_ArmLeft"; selection = "LeftForeArm"; - distance = 2.0; + distance = 1.50; condition = ""; statement = ""; }; class ACE_ArmRight { displayName = "$STR_ACE_Interaction_ArmRight"; selection = "RightForeArm"; - distance = 2.0; + distance = 1.50; condition = ""; statement = ""; }; class ACE_LegLeft { displayName = "$STR_ACE_Interaction_LegLeft"; selection = "LKnee"; - distance = 2.0; + distance = 1.50; condition = ""; statement = ""; }; class ACE_LegRight { displayName = "$STR_ACE_Interaction_LegRight"; selection = "RKnee"; - distance = 2.0; + distance = 1.50; condition = ""; statement = ""; }; class ACE_Weapon { displayName = "$STR_ACE_Interaction_Weapon"; selection = "weapon"; - distance = 2.0; + distance = 1.50; condition = ""; statement = ""; }; @@ -417,7 +419,14 @@ class CfgVehicles { condition = "true"; }; }; - class ACE_SelfActions {}; + class ACE_SelfActions { + class ACE_Passengers { + displayName = "$STR_ACE_Interaction_Passengers"; + condition = "true"; + statement = ""; + insertChildren = QUOTE(_this call FUNC(addPassengersActions)); + }; + }; }; class Tank: LandVehicle { class ACE_Actions { @@ -428,7 +437,14 @@ class CfgVehicles { condition = "true"; }; }; - class ACE_SelfActions {}; + class ACE_SelfActions { + class ACE_Passengers { + displayName = "$STR_ACE_Interaction_Passengers"; + condition = "true"; + statement = ""; + insertChildren = QUOTE(_this call FUNC(addPassengersActions)); + }; + }; }; class Air; @@ -441,7 +457,14 @@ class CfgVehicles { condition = "true"; }; }; - class ACE_SelfActions {}; + class ACE_SelfActions { + class ACE_Passengers { + displayName = "$STR_ACE_Interaction_Passengers"; + condition = "true"; + statement = ""; + insertChildren = QUOTE(_this call FUNC(addPassengersActions)); + }; + }; }; class Plane: Air { class ACE_Actions { @@ -452,7 +475,14 @@ class CfgVehicles { condition = "true"; }; }; - class ACE_SelfActions {}; + class ACE_SelfActions { + class ACE_Passengers { + displayName = "$STR_ACE_Interaction_Passengers"; + condition = "true"; + statement = ""; + insertChildren = QUOTE(_this call FUNC(addPassengersActions)); + }; + }; }; class Ship; @@ -474,7 +504,14 @@ class CfgVehicles { }; }; }; - class ACE_SelfActions {}; + class ACE_SelfActions { + class ACE_Passengers { + displayName = "$STR_ACE_Interaction_Passengers"; + condition = "true"; + statement = ""; + insertChildren = QUOTE(_this call FUNC(addPassengersActions)); + }; + }; }; class StaticWeapon: LandVehicle { @@ -486,7 +523,14 @@ class CfgVehicles { condition = "true"; }; }; - class ACE_SelfActions {}; + class ACE_SelfActions { + class ACE_Passengers { + displayName = "$STR_ACE_Interaction_Passengers"; + condition = "true"; + statement = ""; + insertChildren = QUOTE(_this call FUNC(addPassengersActions)); + }; + }; }; class StaticMortar; @@ -499,6 +543,26 @@ class CfgVehicles { condition = "true"; }; }; + class ACE_SelfActions { + class ACE_Passengers { + displayName = "$STR_ACE_Interaction_Passengers"; + condition = "true"; + statement = ""; + insertChildren = QUOTE(_this call FUNC(addPassengersActions)); + }; + }; + }; + + class thingX; + class ReammoBox_F: thingX { + class ACE_Actions { + class ACE_MainActions { + displayName = "$STR_ACE_Interaction_MainAction"; + selection = ""; + distance = 2; + condition = "true"; + }; + }; class ACE_SelfActions {}; }; diff --git a/addons/interaction/XEH_clientInit.sqf b/addons/interaction/XEH_clientInit.sqf index 0e05014cf7..76647e54a3 100644 --- a/addons/interaction/XEH_clientInit.sqf +++ b/addons/interaction/XEH_clientInit.sqf @@ -19,8 +19,7 @@ GVAR(isOpeningDoor) = false; ["ACE3", QGVAR(openDoor), localize "STR_ACE_Interaction_OpenDoor", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if (GVAR(isOpeningDoor) || {[2] call FUNC(getDoor) select 1 == ''}) exitWith {false}; @@ -40,8 +39,7 @@ GVAR(isOpeningDoor) = false; ["ACE3", QGVAR(tapShoulder), localize "STR_ACE_Interaction_TapShoulder", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !([ACE_player, cursorTarget] call FUNC(canTapShoulder)) exitWith {false}; @@ -55,8 +53,7 @@ GVAR(isOpeningDoor) = false; ["ACE3", QGVAR(modifierKey), localize "STR_ACE_Interaction_ModifierKey", { // Conditions: canInteract - _exceptions = ["ACE_Drag_isNotDragging"]; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + //if !([ACE_player, objNull, ["isNotDragging"]] call EFUNC(common,canInteractWith)) exitWith {false}; // not needed // Statement ACE_Modifier = 1; @@ -69,3 +66,5 @@ GVAR(isOpeningDoor) = false; false; }, [29, [false, false, false]], false] call cba_fnc_addKeybind; + +["isNotSwimming", {!underwater (_this select 0)}] call EFUNC(common,addCanInteractWithCondition); diff --git a/addons/interaction/XEH_preInit.sqf b/addons/interaction/XEH_preInit.sqf index 6efa72778e..671535c36d 100644 --- a/addons/interaction/XEH_preInit.sqf +++ b/addons/interaction/XEH_preInit.sqf @@ -2,6 +2,8 @@ ADDON = false; +PREP(addPassengerActions); +PREP(addPassengersActions); PREP(addSelectableItem); PREP(applyButtons); PREP(canInteractWithCivilian); diff --git a/addons/interaction/config.cpp b/addons/interaction/config.cpp index c9cfd2c0b4..d5d9d63d69 100644 --- a/addons/interaction/config.cpp +++ b/addons/interaction/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_common"}; + requiredAddons[] = {"ace_interact_menu"}; author[] = {"commy2", "KoffeinFlummi", "CAA-Picard", "bux578"}; authorUrl = "https://github.com/commy2/"; VERSION_CONFIG; @@ -24,9 +24,3 @@ class ACE_Settings { typeName = "BOOL"; }; }; - -class ACE_canInteractConditions { - class GVAR(isNotSwimming) { - condition = QUOTE( !underwater ACE_player ); - }; -}; diff --git a/addons/interaction/functions/fnc_addPassengerActions.sqf b/addons/interaction/functions/fnc_addPassengerActions.sqf new file mode 100644 index 0000000000..dfe3b2e9b6 --- /dev/null +++ b/addons/interaction/functions/fnc_addPassengerActions.sqf @@ -0,0 +1,31 @@ +/* + * Author: CAA-Picard + * Mount unit actions inside passenger submenu + * + * Argument: + * 0: Vehicle + * 1: Player + * 3: Parameters + * + * Return value: + * Children actions + * + * Public: No + */ +#include "script_component.hpp" + +EXPLODE_3_PVT(_this,_vehicle,_player,_parameters); + +diag_log "addPassengerActions"; + +private ["_unit","_actions"]; +_unit = _parameters select 0; + +_varName = format [QEGVAR(interact_menu,Act_%1), typeOf _unit]; +_actionTrees = missionNamespace getVariable [_varName, []]; + +_actions = []; +// Mount unit MainActions menu +_actions pushBack [(_actionTrees select 0) select 0, (_actionTrees select 0) select 1, _unit]; + +_actions diff --git a/addons/interaction/functions/fnc_addPassengersActions.sqf b/addons/interaction/functions/fnc_addPassengersActions.sqf new file mode 100644 index 0000000000..de0c91e767 --- /dev/null +++ b/addons/interaction/functions/fnc_addPassengersActions.sqf @@ -0,0 +1,42 @@ +/* + * Author: CAA-Picard + * Create one action per passenger + * + * Argument: + * 0: Vehicle + * 1: Player + * 3: Parameters + * + * Return value: + * Children actions + * + * Public: No + */ +#include "script_component.hpp" + +EXPLODE_3_PVT(_this,_vehicle,_player,_parameters); + +private ["_actions"]; +_actions = []; + +{ + _unit = _x; + if (_x != _player) then { + _actions pushBack + [ + [ + str(_unit), + [_unit, true] call EFUNC(common,getName), + "", + {}, + {true}, + {_this call FUNC(addPassengerActions);}, + [_unit] + ] call EFUNC(interact_menu,createAction), + [], + _unit + ]; + }; +} forEach crew _vehicle; + +_actions \ No newline at end of file diff --git a/addons/interaction/functions/fnc_openDoor.sqf b/addons/interaction/functions/fnc_openDoor.sqf index 616538a6ff..dc9150491d 100644 --- a/addons/interaction/functions/fnc_openDoor.sqf +++ b/addons/interaction/functions/fnc_openDoor.sqf @@ -47,7 +47,7 @@ playSound "ACE_Sound_Click"; !GVAR(isOpeningDoor) || {getPosASL ACE_player distance _position > 1} }; - if (!_usedMouseWheel && {time < _time} && {[] call EGVAR(common,canInteract)}) then { + if (!_usedMouseWheel && {time < _time} && {[ACE_player, objNull, []] call EFUNC(common,canInteractWith)}) then { _phase = [0, 1] select (_house animationPhase (_animations select 0) < 0.5); {_house animate [_x, _phase]} forEach _animations; diff --git a/addons/interaction/functions/fnc_tapShoulder.sqf b/addons/interaction/functions/fnc_tapShoulder.sqf index 262012dbb9..297de3fff8 100644 --- a/addons/interaction/functions/fnc_tapShoulder.sqf +++ b/addons/interaction/functions/fnc_tapShoulder.sqf @@ -5,7 +5,7 @@ EXPLODE_3_PVT(_this,_tapper,_target,_shoulderNum); if (_target != ACE_player) exitWith { addCamShake [4, 0.5, 5]; - ACE_player playActionNow 'gestureAdvance'; + ACE_player playActionNow "PutDown"; if !(local _target) then { [[_tapper, _target, _shoulderNum], QUOTE(DFUNC(tapShoulder)), _target] call EFUNC(common,execRemoteFnc); }; diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index 76898cd227..4940d42e0f 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -5,6 +5,9 @@ Interactions >> + + Torso >> + Head >> @@ -650,5 +653,8 @@ Interakcja Interactuar + + Passengers >> + diff --git a/addons/inventory/RscDisplayInventory.hpp b/addons/inventory/RscDisplayInventory.hpp new file mode 100644 index 0000000000..c8c93ab142 --- /dev/null +++ b/addons/inventory/RscDisplayInventory.hpp @@ -0,0 +1,516 @@ +/* +Adjust the scaling of the inventory screen +- changes it from scaling based on user's interface size to a dynamic size based on a setting variable +- text size and row height size are uneffected (so more rows in a list) +- also tweaks the height of the two ProgressBars which looked odd scaled up so much + +regex: +x = "[-+]?(\d*[.]?\d+).* +x = X_PART\(\1\); + */ + +class RscText; +class RscPicture; +class RscListBox; +class RscProgress; +class RscStructuredText; +class RscActiveText; +class RscCombo; + +#define X_BIS(num) (num * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)) +#define Y_BIS(num) (num * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)) +#define W_BIS(num) (num * (((safezoneW / safezoneH) min 1.2) / 40)) +#define H_BIS(num) (num * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)) + +#define X_MAKEITBIGGA(num) (num * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)) +#define Y_MAKEITBIGGA(num) (num * (safeZoneH / 30) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)) +#define W_MAKEITBIGGA(num) (num * (safeZoneH / 40)) +#define H_MAKEITBIGGA(num) (num * (safeZoneH / 30)) + +#define X_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QGVAR(inventoryDisplaySize)), 0)]), X_BIS(num), X_MAKEITBIGGA(num))]) +#define Y_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QGVAR(inventoryDisplaySize)), 0)]), Y_BIS(num), Y_MAKEITBIGGA(num))]) +#define W_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QGVAR(inventoryDisplaySize)), 0)]), W_BIS(num), W_MAKEITBIGGA(num))]) +#define H_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QGVAR(inventoryDisplaySize)), 0)]), H_BIS(num), H_MAKEITBIGGA(num))]) + +class RscDisplayInventory { + class controls { + class CA_ContainerBackground: RscText { + //crate: GroundLoad adjust size + x = X_PART(1); + y = Y_PART(1); + w = W_PART(12); + h = H_PART(22.5); + }; + class CA_PlayerBackground: RscText { + //center player's container: decrease height because of progressbar height decrease + x = X_PART(14.6); + y = Y_PART(2); + w = W_PART(24.4); + h = H_PART(21.5); + }; + class TitleBackground: RscText { + x = X_PART(14.6); + y = Y_PART(1); + w = W_PART(24.4); + h = H_PART(1); + }; + class PlayersName: RscText { + x = X_PART(15.6); + y = Y_PART(1); + w = W_PART(19.8); + h = H_PART(1); + }; + class RankBackground: RscText { + x = X_PART(15.1); + y = Y_PART(1.25); + w = W_PART(0.6); + h = H_PART(0.6); + }; + class RankPicture: RscPicture { + x = X_PART(15.1); + y = Y_PART(1.25); + w = W_PART(0.6); + h = H_PART(0.6); + }; + class ButtonBack: RscActiveText { + x = X_PART(38); + y = Y_PART(1); + w = W_PART(1); + h = H_PART(1); + }; + class BackgroundSlotPrimary: RscPicture { + x = X_PART(26.6); + y = Y_PART(6); + w = W_PART(11.9); + h = H_PART(3); + }; + class BackgroundSlotPrimaryMuzzle: BackgroundSlotPrimary { + x = X_PART(26.6); + y = Y_PART(9.1); + w = W_PART(2.9); + h = H_PART(2); + }; + class BackgroundSlotPrimaryFlashlight: BackgroundSlotPrimary { + x = X_PART(29.6); + y = Y_PART(9.1); + w = W_PART(2.9); + h = H_PART(2); + }; + class BackgroundSlotPrimaryOptics: BackgroundSlotPrimary { + x = X_PART(32.6); + y = Y_PART(9.1); + w = W_PART(2.9); + h = H_PART(2); + }; + class BackgroundSlotPrimaryMagazine: BackgroundSlotPrimary { + x = X_PART(35.6); + y = Y_PART(9.1); + w = W_PART(2.9); + h = H_PART(2); + }; + class BackgroundSlotSecondary: BackgroundSlotPrimary { + x = X_PART(26.6); + y = Y_PART(11.5); + w = W_PART(11.9); + h = H_PART(3); + }; + class BackgroundSlotSecondaryMuzzle: BackgroundSlotPrimary { + x = X_PART(26.6); + y = Y_PART(14.6); + w = W_PART(2.9); + h = H_PART(2); + }; + class BackgroundSlotSecondaryFlashlight: BackgroundSlotPrimary { + x = X_PART(29.6); + y = Y_PART(14.6); + w = W_PART(2.9); + h = H_PART(2); + }; + class BackgroundSlotSecondaryOptics: BackgroundSlotPrimary { + x = X_PART(32.6); + y = Y_PART(14.6); + w = W_PART(2.9); + h = H_PART(2); + }; + class BackgroundSlotSecondaryMagazine: BackgroundSlotPrimary { + x = X_PART(35.6); + y = Y_PART(14.6); + w = W_PART(2.9); + h = H_PART(2); + }; + class BackgroundSlotHandgun: BackgroundSlotPrimary { + x = X_PART(26.6); + y = Y_PART(17); + w = W_PART(11.9); + h = H_PART(3); + }; + class BackgroundSlotHandgunMuzzle: BackgroundSlotPrimary { + x = X_PART(26.6); + y = Y_PART(20.1); + w = W_PART(2.9); + h = H_PART(2); + }; + class BackgroundSlotHandgunFlashlight: BackgroundSlotPrimary { + x = X_PART(29.6); + y = Y_PART(20.1); + w = W_PART(2.9); + h = H_PART(2); + }; + class BackgroundSlotHandgunOptics: BackgroundSlotPrimary { + x = X_PART(32.6); + y = Y_PART(20.1); + w = W_PART(2.9); + h = H_PART(2); + }; + class BackgroundSlotHandgunMagazine: BackgroundSlotPrimary { + x = X_PART(35.6); + y = Y_PART(20.1); + w = W_PART(2.9); + h = H_PART(2); + }; + class BackgroundSlotHeadgear: BackgroundSlotPrimary { + x = X_PART(26.6); + y = Y_PART(2.5); + w = W_PART(2.9); + h = H_PART(2.9); + }; + class BackgroundSlotGoggles: BackgroundSlotPrimary { + x = X_PART(29.6); + y = Y_PART(2.5); + w = W_PART(2.9); + h = H_PART(2.9); + }; + class BackgroundSlotHMD: BackgroundSlotPrimary { + x = X_PART(32.6); + y = Y_PART(2.5); + w = W_PART(2.9); + h = H_PART(2.9); + }; + class BackgroundSlotBinoculars: BackgroundSlotPrimary { + x = X_PART(35.6); + y = Y_PART(2.5); + w = W_PART(2.9); + h = H_PART(2.9); + }; + class BackgroundSlotMap: BackgroundSlotPrimary { + x = X_PART(15.1); + y = Y_PART(20.1); + w = W_PART(2.12); + h = H_PART(2); + }; + class BackgroundSlotGPS: BackgroundSlotPrimary { + x = X_PART(17.32); + y = Y_PART(20.1); + w = W_PART(2.12); + h = H_PART(2); + }; + class BackgroundSlotCompass: BackgroundSlotPrimary { + x = X_PART(21.76); + y = Y_PART(20.1); + w = W_PART(2.12); + h = H_PART(2); + }; + class BackgroundSlotRadio: BackgroundSlotPrimary { + x = X_PART(19.54); + y = Y_PART(20.1); + w = W_PART(2.12); + h = H_PART(2); + }; + class BackgroundSlotWatch: BackgroundSlotPrimary { + x = X_PART(23.98); + y = Y_PART(20.1); + w = W_PART(2.12); + h = H_PART(2); + }; + class ExternalContainerBackground: RscPicture { + x = X_PART(1.5); + y = Y_PART(3.7); + w = W_PART(11); + h = H_PART(18.4); + }; + class PlayerContainerBackground: ExternalContainerBackground { + x = X_PART(15.1); + y = Y_PART(6); + w = W_PART(11); + h = H_PART(14); + }; + class GroundTab: RscActiveText { + x = X_PART(1.5); + y = Y_PART(1.5); + w = W_PART(5.5); + h = H_PART(1); + }; + class SoldierTab: GroundTab { + x = X_PART(7); + y = Y_PART(1.5); + w = W_PART(5.5); + h = H_PART(1); + }; + class GroundContainer: RscListBox { + x = X_PART(1.5); + y = Y_PART(3.7); + w = W_PART(11); + h = H_PART(18.4); + }; + class GroundFilter: RscCombo { + x = X_PART(1.5); + y = Y_PART(2.6); + w = W_PART(11); + h = H_PART(1); + }; + class GroundLoad: RscProgress { + //crate: GroundLoad adjust size + x = X_PART(1.5); + y = Y_PART(22.5); + w = W_PART(11); + h = H_PART(0.5); + }; + class SlotPrimary: GroundTab { + x = X_PART(26.6); + y = Y_PART(6); + w = W_PART(11.9); + h = H_PART(3); + }; + class SlotPrimaryMuzzle: SlotPrimary { + x = X_PART(26.6); + y = Y_PART(9.1); + w = W_PART(2.9); + h = H_PART(2); + }; + class SlotPrimaryGrip: SlotPrimary { + w = 0; + h = 0; + x = X_PART(39); + y = Y_PART(9); + }; + class SlotPrimaryFlashlight: SlotPrimary { + x = X_PART(29.6); + y = Y_PART(9.1); + w = W_PART(2.9); + h = H_PART(2); + }; + class SlotPrimaryOptics: SlotPrimary { + x = X_PART(32.6); + y = Y_PART(9.1); + w = W_PART(2.9); + h = H_PART(2); + }; + class SlotPrimaryMagazine: SlotPrimary { + x = X_PART(35.6); + y = Y_PART(9.1); + w = W_PART(2.9); + h = H_PART(2); + }; + class SlotSecondary: SlotPrimary { + x = X_PART(26.6); + y = Y_PART(11.5); + w = W_PART(11.9); + h = H_PART(3); + }; + class SlotSecondaryMuzzle: SlotPrimary { + x = X_PART(26.6); + y = Y_PART(14.6); + w = W_PART(2.9); + h = H_PART(2); + }; + class SlotSecondaryGrip: SlotPrimary { + w = 0; + h = 0; + x = X_PART(39); + y = Y_PART(14.5); + }; + class SlotSecondaryFlashlight: SlotPrimary { + x = X_PART(29.6); + y = Y_PART(14.6); + w = W_PART(2.9); + h = H_PART(2); + }; + class SlotSecondaryOptics: SlotPrimary { + x = X_PART(32.6); + y = Y_PART(14.6); + w = W_PART(2.9); + h = H_PART(2); + }; + class SlotSecondaryMagazine: SlotPrimary { + x = X_PART(35.6); + y = Y_PART(14.6); + w = W_PART(2.9); + h = H_PART(2); + }; + class SlotHandgun: SlotPrimary { + x = X_PART(26.6); + y = Y_PART(17); + w = W_PART(11.9); + h = H_PART(3); + }; + class SlotHandgunMuzzle: SlotPrimary { + x = X_PART(26.6); + y = Y_PART(20.1); + w = W_PART(2.9); + h = H_PART(2); + }; + class SlotHandgunGrip: SlotPrimary { + w = 0; + h = 0; + x = X_PART(39); + y = Y_PART(20); + }; + class SlotHandgunFlashlight: SlotPrimary { + x = X_PART(29.6); + y = Y_PART(20.1); + w = W_PART(2.9); + h = H_PART(2); + }; + class SlotHandgunOptics: SlotPrimary { + x = X_PART(32.6); + y = Y_PART(20.1); + w = W_PART(2.9); + h = H_PART(2); + }; + class SlotHandgunMagazine: SlotPrimary { + x = X_PART(35.6); + y = Y_PART(20.1); + w = W_PART(2.9); + h = H_PART(2); + }; + class SlotHeadgear: SlotPrimary { + x = X_PART(26.6); + y = Y_PART(2.5); + w = W_PART(2.9); + h = H_PART(2.9); + }; + class SlotGoggles: SlotPrimary { + x = X_PART(29.6); + y = Y_PART(2.5); + w = W_PART(2.9); + h = H_PART(2.9); + }; + class SlotHMD: SlotPrimary { + x = X_PART(32.6); + y = Y_PART(2.5); + w = W_PART(2.9); + h = H_PART(2.9); + }; + class SlotBinoculars: SlotPrimary { + x = X_PART(35.6); + y = Y_PART(2.5); + w = W_PART(2.9); + h = H_PART(2.9); + }; + class SlotMap: SlotPrimary { + x = X_PART(15.16); + y = Y_PART(20.1); + w = W_PART(2); + h = H_PART(2); + }; + class SlotGPS: SlotPrimary { + x = X_PART(17.38); + y = Y_PART(20.1); + w = W_PART(2); + h = H_PART(2); + }; + class SlotCompass: SlotPrimary { + x = X_PART(21.82); + y = Y_PART(20.1); + w = W_PART(2); + h = H_PART(2); + }; + class SlotRadio: SlotPrimary { + x = X_PART(19.6); + y = Y_PART(20.1); + w = W_PART(2); + h = H_PART(2); + }; + class SlotWatch: SlotPrimary { + x = X_PART(24.04); + y = Y_PART(20.1); + w = W_PART(2); + h = H_PART(2); + }; + class UniformTab: GroundTab { + x = X_PART(15.1); + y = Y_PART(2.5); + w = W_PART(3.5); + h = H_PART(3); + }; + class UniformSlot: SlotPrimary { + x = X_PART(15.35); + y = Y_PART(2.5); + w = W_PART(3); + h = H_PART(3); + }; + class UniformLoad: GroundLoad { + x = X_PART(15.1); + y = Y_PART(5.5); + w = W_PART(3.5); + h = H_PART(0.5); + }; + class UniformContainer: GroundContainer { + x = X_PART(15.1); + y = Y_PART(6); + w = W_PART(11); + h = H_PART(14); + }; + class VestTab: UniformTab { + x = X_PART(18.85); + y = Y_PART(2.5); + w = W_PART(3.5); + h = H_PART(3); + }; + class VestSlot: SlotPrimary { + x = X_PART(19.1); + y = Y_PART(2.5); + w = W_PART(3); + h = H_PART(3); + }; + class VestLoad: GroundLoad { + x = X_PART(18.85); + y = Y_PART(5.5); + w = W_PART(3.5); + h = H_PART(0.5); + }; + class BackpackTab: UniformTab { + x = X_PART(22.6); + y = Y_PART(2.5); + w = W_PART(3.5); + h = H_PART(3); + }; + class BackpackSlot: SlotPrimary { + x = X_PART(22.85); + y = Y_PART(2.5); + w = W_PART(3); + h = H_PART(3); + }; + class BackpackLoad: GroundLoad { + x = X_PART(22.6); + y = Y_PART(5.5); + w = W_PART(3.5); + h = H_PART(0.5); + }; + class TotalLoad: GroundLoad { + //center: progressbar height decrease + x = X_PART(15.1); + y = Y_PART(22.5); + w = W_PART(23.4); + h = H_PART(0.5); + }; + class ContainerMarker: GroundTab { + x = X_PART(0); + y = Y_PART(24); + w = W_PART(1); + h = H_PART(1); + }; + class GroundMarker: ContainerMarker { + x = X_PART(1.5); + y = Y_PART(24); + w = W_PART(1); + h = H_PART(1); + }; + class SoldierMarker: ContainerMarker { + x = X_PART(3); + y = Y_PART(24); + w = W_PART(1); + h = H_PART(1); + }; + }; +}; diff --git a/addons/inventory/config.cpp b/addons/inventory/config.cpp index e933cc40a4..c7b6649be6 100644 --- a/addons/inventory/config.cpp +++ b/addons/inventory/config.cpp @@ -12,503 +12,16 @@ class CfgPatches { }; }; +#include "RscDisplayInventory.hpp" -class RscText; -class RscPicture; -class RscListBox; -class RscProgress; -class RscStructuredText; -class RscActiveText; -class RscCombo; -class RscControlsGroupNoScrollbars; - -/* -Adjust the scaling of the inventory screen - - changes it from scaling based on user's interface size to a static size - - text size and row height size are uneffected - - also tweaks the height of the two ProgressBars which looked odd scaled up so much -*/ - -class RscDisplayInventory { - class controls { - class CA_ContainerBackground: RscText { - //crate: GroundLoad adjust size - x = "1 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "12 * (safeZoneH / 40)"; - h = "22.5 * ((safeZoneH / 1.2) / 25)"; - }; - class CA_PlayerBackground: RscText { - //center player's container: decrease height because of progressbar height decrease - x = "14.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "2 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "24.4 * (safeZoneH / 40)"; - h = "21.5 * ((safeZoneH / 1.2) / 25)"; - }; - class TitleBackground: RscText { - x = "14.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "24.4 * (safeZoneH / 40)"; - h = "1 * ((safeZoneH / 1.2) / 25)"; - }; - class PlayersName: RscText { - text = "Player name:"; - x = "15.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "19.8 * (safeZoneH / 40)"; - h = "1 * ((safeZoneH / 1.2) / 25)"; - }; - class RankBackground: RscText { - x = "15.1 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "1.25 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "0.6 * (safeZoneH / 40)"; - h = "0.6 * ((safeZoneH / 1.2) / 25)"; - }; - class RankPicture: RscPicture { - x = "15.1 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "1.25 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "0.6 * (safeZoneH / 40)"; - h = "0.6 * ((safeZoneH / 1.2) / 25)"; - }; - class ButtonBack: RscActiveText { - x = "38 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "1 * (safeZoneH / 40)"; - h = "1 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotPrimary: RscPicture { - x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "11.9 * (safeZoneH / 40)"; - h = "3 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotPrimaryMuzzle: BackgroundSlotPrimary { - x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "9.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotPrimaryFlashlight: BackgroundSlotPrimary { - x = "29.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "9.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotPrimaryOptics: BackgroundSlotPrimary { - x = "32.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "9.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotPrimaryMagazine: BackgroundSlotPrimary { - x = "35.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "9.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotSecondary: BackgroundSlotPrimary { - x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "11.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "11.9 * (safeZoneH / 40)"; - h = "3 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotSecondaryMuzzle: BackgroundSlotPrimary { - x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "14.6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotSecondaryFlashlight: BackgroundSlotPrimary { - x = "29.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "14.6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotSecondaryOptics: BackgroundSlotPrimary { - x = "32.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "14.6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotSecondaryMagazine: BackgroundSlotPrimary { - x = "35.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "14.6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotHandgun: BackgroundSlotPrimary { - x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "17 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "11.9 * (safeZoneH / 40)"; - h = "3 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotHandgunMuzzle: BackgroundSlotPrimary { - x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotHandgunFlashlight: BackgroundSlotPrimary { - x = "29.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotHandgunOptics: BackgroundSlotPrimary { - x = "32.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotHandgunMagazine: BackgroundSlotPrimary { - x = "35.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotHeadgear: BackgroundSlotPrimary { - x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2.9 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotGoggles: BackgroundSlotPrimary { - x = "29.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2.9 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotHMD: BackgroundSlotPrimary { - x = "32.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2.9 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotBinoculars: BackgroundSlotPrimary { - x = "35.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2.9 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotMap: BackgroundSlotPrimary { - x = "15.1 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.12 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotGPS: BackgroundSlotPrimary { - x = "17.32 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.12 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotCompass: BackgroundSlotPrimary { - x = "21.76 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.12 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotRadio: BackgroundSlotPrimary { - x = "19.54 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.12 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class BackgroundSlotWatch: BackgroundSlotPrimary { - x = "23.98 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.12 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class ExternalContainerBackground: RscPicture { - x = "1.5 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "3.7 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "11 * (safeZoneH / 40)"; - h = "18.4 * ((safeZoneH / 1.2) / 25)"; - }; - class PlayerContainerBackground: ExternalContainerBackground { - x = "15.1 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "11 * (safeZoneH / 40)"; - h = "14 * ((safeZoneH / 1.2) / 25)"; - }; - class GroundTab: RscActiveText { - x = "1.5 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "1.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "5.5 * (safeZoneH / 40)"; - h = "1 * ((safeZoneH / 1.2) / 25)"; - }; - class SoldierTab: GroundTab { - x = "7 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "1.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "5.5 * (safeZoneH / 40)"; - h = "1 * ((safeZoneH / 1.2) / 25)"; - }; - class GroundContainer: RscListBox { - x = "1.5 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "3.7 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "11 * (safeZoneH / 40)"; - h = "18.4 * ((safeZoneH / 1.2) / 25)"; - }; - class GroundFilter: RscCombo { - x = "1.5 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "2.6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "11 * (safeZoneH / 40)"; - h = "1 * ((safeZoneH / 1.2) / 25)"; - }; - class GroundLoad: RscProgress { - //crate: GroundLoad adjust size - x = "1.5 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "22.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "11 * (safeZoneH / 40)"; - h = "0.5 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotPrimary: GroundTab { - x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "11.9 * (safeZoneH / 40)"; - h = "3 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotPrimaryMuzzle: SlotPrimary { - x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "9.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotPrimaryGrip: SlotPrimary { - w = 0; - h = 0; - x = "39 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "9 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - }; - class SlotPrimaryFlashlight: SlotPrimary { - x = "29.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "9.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotPrimaryOptics: SlotPrimary { - x = "32.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "9.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotPrimaryMagazine: SlotPrimary { - x = "35.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "9.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotSecondary: SlotPrimary { - x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "11.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "11.9 * (safeZoneH / 40)"; - h = "3 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotSecondaryMuzzle: SlotPrimary { - x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "14.6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotSecondaryGrip: SlotPrimary { - w = 0; - h = 0; - x = "39 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "14.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - }; - class SlotSecondaryFlashlight: SlotPrimary { - x = "29.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "14.6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotSecondaryOptics: SlotPrimary { - x = "32.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "14.6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotSecondaryMagazine: SlotPrimary { - x = "35.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "14.6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotHandgun: SlotPrimary { - x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "17 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "11.9 * (safeZoneH / 40)"; - h = "3 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotHandgunMuzzle: SlotPrimary { - x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotHandgunGrip: SlotPrimary { - w = 0; - h = 0; - x = "39 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "20 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - }; - class SlotHandgunFlashlight: SlotPrimary { - x = "29.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotHandgunOptics: SlotPrimary { - x = "32.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotHandgunMagazine: SlotPrimary { - x = "35.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotHeadgear: SlotPrimary { - x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2.9 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotGoggles: SlotPrimary { - x = "29.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2.9 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotHMD: SlotPrimary { - x = "32.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2.9 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotBinoculars: SlotPrimary { - x = "35.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2.9 * (safeZoneH / 40)"; - h = "2.9 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotMap: SlotPrimary { - x = "15.16 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotGPS: SlotPrimary { - x = "17.38 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotCompass: SlotPrimary { - x = "21.82 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotRadio: SlotPrimary { - x = "19.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class SlotWatch: SlotPrimary { - x = "24.04 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "2 * (safeZoneH / 40)"; - h = "2 * ((safeZoneH / 1.2) / 25)"; - }; - class UniformTab: GroundTab { - x = "15.1 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "3.5 * (safeZoneH / 40)"; - h = "3 * ((safeZoneH / 1.2) / 25)"; - }; - class UniformSlot: SlotPrimary { - x = "15.35 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "3 * (safeZoneH / 40)"; - h = "3 * ((safeZoneH / 1.2) / 25)"; - }; - class UniformLoad: GroundLoad { - x = "15.1 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "5.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "3.5 * (safeZoneH / 40)"; - h = "0.5 * ((safeZoneH / 1.2) / 25)"; - }; - class UniformContainer: GroundContainer { - x = "15.1 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "11 * (safeZoneH / 40)"; - h = "14 * ((safeZoneH / 1.2) / 25)"; - }; - class VestTab: UniformTab { - x = "18.85 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "3.5 * (safeZoneH / 40)"; - h = "3 * ((safeZoneH / 1.2) / 25)"; - }; - class VestSlot: SlotPrimary { - x = "19.1 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "3 * (safeZoneH / 40)"; - h = "3 * ((safeZoneH / 1.2) / 25)"; - }; - class VestLoad: GroundLoad { - x = "18.85 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "5.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "3.5 * (safeZoneH / 40)"; - h = "0.5 * ((safeZoneH / 1.2) / 25)"; - }; - class BackpackTab: UniformTab { - x = "22.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "3.5 * (safeZoneH / 40)"; - h = "3 * ((safeZoneH / 1.2) / 25)"; - }; - class BackpackSlot: SlotPrimary { - x = "22.85 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "3 * (safeZoneH / 40)"; - h = "3 * ((safeZoneH / 1.2) / 25)"; - }; - class BackpackLoad: GroundLoad { - x = "22.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "5.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "3.5 * (safeZoneH / 40)"; - h = "0.5 * ((safeZoneH / 1.2) / 25)"; - }; - class TotalLoad: GroundLoad { - //center: progressbar height decrease - x = "15.1 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "22.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "23.4 * (safeZoneH / 40)"; - h = "0.5 * ((safeZoneH / 1.2) / 25)"; - }; - class ContainerMarker: GroundTab { - x = "0 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "24 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "1 * (safeZoneH / 40)"; - h = "1 * ((safeZoneH / 1.2) / 25)"; - }; - class GroundMarker: ContainerMarker { - x = "1.5 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "24 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "1 * (safeZoneH / 40)"; - h = "1 * ((safeZoneH / 1.2) / 25)"; - }; - class SoldierMarker: ContainerMarker { - x = "3 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; - y = "24 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; - w = "1 * (safeZoneH / 40)"; - h = "1 * ((safeZoneH / 1.2) / 25)"; - }; +class ACE_Settings { + class GVAR(inventoryDisplaySize) { + value = 0; + typeName = "SCALAR"; + isClientSetable = 1; + displayName = "$STR_ACE_Inventory_SettingName"; + description = "$STR_ACE_Inventory_SettingDescription"; + values[] = {"Normal (Default Size)", "Medium", "Bigger"}; }; }; + diff --git a/addons/inventory/stringtable.xml b/addons/inventory/stringtable.xml new file mode 100644 index 0000000000..9ca01373d1 --- /dev/null +++ b/addons/inventory/stringtable.xml @@ -0,0 +1,12 @@ + + + + + + Make Inventory Display Bigger + + + Normally inventory display is scaled by UI size. This allows scaling the Inventory UI size up, but doesn't increase font size allowing more rows displayed. + + + \ No newline at end of file diff --git a/addons/kestrel/CfgVehicles.hpp b/addons/kestrel/CfgVehicles.hpp index 906e3a9e22..31aea38bda 100644 --- a/addons/kestrel/CfgVehicles.hpp +++ b/addons/kestrel/CfgVehicles.hpp @@ -1,9 +1,3 @@ - -#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \ - name = #ITEM; \ - count = COUNT; \ -} - class CfgVehicles { class Man; class CAManBase: Man { diff --git a/addons/laserpointer/CfgVehicles.hpp b/addons/laserpointer/CfgVehicles.hpp index c98d0626c2..8c81837fe2 100644 --- a/addons/laserpointer/CfgVehicles.hpp +++ b/addons/laserpointer/CfgVehicles.hpp @@ -1,9 +1,3 @@ - -#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \ - name = #ITEM; \ - count = COUNT; \ -} - class CfgVehicles { class NATO_Box_Base; class Box_NATO_Support_F: NATO_Box_Base { diff --git a/addons/laserpointer/config.cpp b/addons/laserpointer/config.cpp index 32357b31ef..b97587dac6 100644 --- a/addons/laserpointer/config.cpp +++ b/addons/laserpointer/config.cpp @@ -3,7 +3,7 @@ class CfgPatches { class ADDON { units[] = {}; - weapons[] = {"AGM_acc_pointer_red","AGM_acc_pointer_green"}; + weapons[] = {"ACE_acc_pointer_red","ACE_acc_pointer_green"}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common"}; author[] = {"commy2"}; diff --git a/addons/logistics_wirecutter/CfgEventHandlers.hpp b/addons/logistics_wirecutter/CfgEventHandlers.hpp index f0a9f14d91..79c3aaa959 100644 --- a/addons/logistics_wirecutter/CfgEventHandlers.hpp +++ b/addons/logistics_wirecutter/CfgEventHandlers.hpp @@ -4,3 +4,8 @@ class Extended_PreInit_EventHandlers { init = QUOTE(call COMPILE_FILE(XEH_preInit)); }; }; +class Extended_PostInit_EventHandlers { + class ADDON { + clientInit = QUOTE( call COMPILE_FILE(XEH_clientInit) ); + }; +}; diff --git a/addons/logistics_wirecutter/CfgVehicles.hpp b/addons/logistics_wirecutter/CfgVehicles.hpp deleted file mode 100644 index 8a16d1b828..0000000000 --- a/addons/logistics_wirecutter/CfgVehicles.hpp +++ /dev/null @@ -1,19 +0,0 @@ -class CfgVehicles { - class Man; - class CAManBase: Man { - class ACE_SelfActions { - class ACE_Equipment { - class GVAR(CutFence) { - displayName = "$STR_ACE_logistics_wirecutter_CutFence"; - condition = QUOTE([_player] call FUNC(canCutFence)); - statement = QUOTE([_player] call FUNC(cutDownFence)); - exceptions[] = {}; - showDisabled = 1; - priority = 0; - icon = PATHTOF(UI\wirecutter_ca.paa); - hotkey = "C"; - }; - }; - }; - }; -}; \ No newline at end of file diff --git a/addons/logistics_wirecutter/XEH_clientInit.sqf b/addons/logistics_wirecutter/XEH_clientInit.sqf new file mode 100644 index 0000000000..c46cab29f1 --- /dev/null +++ b/addons/logistics_wirecutter/XEH_clientInit.sqf @@ -0,0 +1,5 @@ +#include "script_component.hpp" + +if (!hasInterface) exitWith {}; + +["interactMenuOpened", {_this call FUNC(interactEH)}] call EFUNC(common,addEventHandler); diff --git a/addons/logistics_wirecutter/XEH_preInit.sqf b/addons/logistics_wirecutter/XEH_preInit.sqf index 7588a109e6..44eb941c16 100644 --- a/addons/logistics_wirecutter/XEH_preInit.sqf +++ b/addons/logistics_wirecutter/XEH_preInit.sqf @@ -2,11 +2,11 @@ ADDON = false; -PREP(canCutFence); PREP(cutDownFence); PREP(cutDownFenceAbort); PREP(cutDownFenceCallback); PREP(getNearestFence); +PREP(interactEH); PREP(isFence); ADDON = true; diff --git a/addons/logistics_wirecutter/config.cpp b/addons/logistics_wirecutter/config.cpp index 7f292132fa..27d4467ccf 100644 --- a/addons/logistics_wirecutter/config.cpp +++ b/addons/logistics_wirecutter/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_common", "ace_interaction"}; + requiredAddons[] = {"ace_interact_menu"}; author[] = {"gpgpgpgp", "PabstMirror"}; authorUrl = ""; VERSION_CONFIG; @@ -13,6 +13,5 @@ class CfgPatches { }; #include "CfgEventHandlers.hpp" -#include "CfgVehicles.hpp" #include "CfgSounds.hpp" #include "CfgWeapons.hpp" diff --git a/addons/logistics_wirecutter/functions/fnc_canCutFence.sqf b/addons/logistics_wirecutter/functions/fnc_canCutFence.sqf deleted file mode 100644 index f57a970d58..0000000000 --- a/addons/logistics_wirecutter/functions/fnc_canCutFence.sqf +++ /dev/null @@ -1,18 +0,0 @@ -/* fnc_canCutFence.sqf -* -* Author: PabstMirror -* -* Condition check if player is able to cut a fence. -* Checks for "ACE_wirecutter" item and if there is a nearby fence. -* -* Argument: -* 0: OBJECT - Unit to check condition for (player) -* -* Return value: -* BOOL -*/ - -#include "script_component.hpp" -PARAMS_1(_unit); - -("ACE_wirecutter" in (items _unit)) && {!(isNull ([_unit] call FUNC(getNearestFence)))} diff --git a/addons/logistics_wirecutter/functions/fnc_cutDownFence.sqf b/addons/logistics_wirecutter/functions/fnc_cutDownFence.sqf index 0a42d5d56b..ee4c512cd2 100644 --- a/addons/logistics_wirecutter/functions/fnc_cutDownFence.sqf +++ b/addons/logistics_wirecutter/functions/fnc_cutDownFence.sqf @@ -1,20 +1,31 @@ -// by gpgpgpgp, edited by commy2 +/* + * Author: gpgpgpgp, edited by commy2, PabstMirror + * Starts cutting down a fence + * + * Arguments: + * 0: Unit + * 1: Fence + * + * Return Value: + * Nothing + * + * Example: + * [player, berlinWall] call ace_logistics_wirecutter_fnc_cutDownFence + * + * Public: No + */ #include "script_component.hpp" -PARAMS_1(_unit); +private ["_timeToCut"]; + +PARAMS_2(_unit,_fenceObject); if (_unit != ACE_player) exitWith {}; -_fenceObject = [ACE_player] call FUNC(getNearestFence); -if (isNull _fenceObject) exitWith {}; - -_timeToCut = 5; -if !([ACE_player] call EFUNC(common,isEngineer)) then { - _timeToCut = _timeToCut + 5; -}; +_timeToCut = if ([ACE_player] call EFUNC(common,isEngineer)) then {5} else {10}; [ACE_player, "AinvPknlMstpSnonWnonDr_medic5", 0] call EFUNC(common,doAnimation); -if (_timeToCut > 4.5) then { +if (_timeToCut > 5) then { playSound "ACE_wirecutter_sound_long"; } else { playSound "ACE_wirecutter_sound"; diff --git a/addons/logistics_wirecutter/functions/fnc_cutDownFenceAbort.sqf b/addons/logistics_wirecutter/functions/fnc_cutDownFenceAbort.sqf index d17038af7c..20cb092131 100644 --- a/addons/logistics_wirecutter/functions/fnc_cutDownFenceAbort.sqf +++ b/addons/logistics_wirecutter/functions/fnc_cutDownFenceAbort.sqf @@ -1,4 +1,18 @@ -// by commy2 +/* + * Author: commy2 + * Stops cutting down fence (reset animation) + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * [] call ace_logistics_wirecutter_fnc_cutDownFenceAbort + * + * Public: No + */ #include "script_component.hpp" [ACE_player, "AmovPknlMstpSrasWrflDnon", 1] call EFUNC(common,doAnimation); diff --git a/addons/logistics_wirecutter/functions/fnc_cutDownFenceCallback.sqf b/addons/logistics_wirecutter/functions/fnc_cutDownFenceCallback.sqf index 57c0289461..77bc4f2ba6 100644 --- a/addons/logistics_wirecutter/functions/fnc_cutDownFenceCallback.sqf +++ b/addons/logistics_wirecutter/functions/fnc_cutDownFenceCallback.sqf @@ -1,7 +1,22 @@ +/* + * Author: PabstMirror + * Once progressbar is done: Fence is cutdown + * + * Arguments: + * 0: Fence Object + * + * Return Value: + * Nothing + * + * Example: + * [aFence] call ace_logistics_wirecutter_fnc_cutDownFenceCallback + * + * Public: No + */ #include "script_component.hpp" PARAMS_1(_fenceObject); _fenceObject setdamage 1; -[localize "STR_ACE_logistics_wirecutter_FenceCut"] call EFUNC(common,displayTextStructured); +// [localize "STR_ACE_logistics_wirecutter_FenceCut"] call EFUNC(common,displayTextStructured); [ACE_player, "AmovPknlMstpSrasWrflDnon", 1] call EFUNC(common,doAnimation); diff --git a/addons/logistics_wirecutter/functions/fnc_getNearestFence.sqf b/addons/logistics_wirecutter/functions/fnc_getNearestFence.sqf index 5004315fcd..c9e59b41a0 100644 --- a/addons/logistics_wirecutter/functions/fnc_getNearestFence.sqf +++ b/addons/logistics_wirecutter/functions/fnc_getNearestFence.sqf @@ -1,15 +1,18 @@ -/* fnc_getNearestFence.sqf -* -* Author: PabstMirror -* -* Gets nearest fence within 5 meters to the unit. -* -* Argument: -* 0: OBJECT - Unit to search for fence objects arround -* -* Return value: -* OBJECT - Nearest object that is a fence, objNull if none found. -*/ +/* + * Author: PabstMirror + * Gets nearest fence object (not actully used, left for utility) + * + * Arguments: + * 0: Unit + * + * Return Value: + * The return value + * + * Example: + * [player] call ace_logistics_wirecutter_fnc_getNearestFence + * + * Public: Yes + */ #include "script_component.hpp" private "_nearestFence"; @@ -20,6 +23,6 @@ _nearestFence = objNull; if ((isNull _nearestFence) && {[_x] call FUNC(isFence)}) then { _nearestFence = _x; }; -} forEach nearestObjects [_unit, [], 5]; +} forEach nearestObjects [_unit, [], 15]; _nearestFence diff --git a/addons/logistics_wirecutter/functions/fnc_interactEH.sqf b/addons/logistics_wirecutter/functions/fnc_interactEH.sqf new file mode 100644 index 0000000000..c81fc46c40 --- /dev/null +++ b/addons/logistics_wirecutter/functions/fnc_interactEH.sqf @@ -0,0 +1,64 @@ +/* + * Author: PabstMirror + * When interact_menu starts rendering (from "interact_keyDown" event) + * + * Arguments: + * Interact Menu Type (0 - world, 1 - self) + * + * Return Value: + * Nothing + * + * Example: + * [0] call ace_logistics_wirecutter_fnc_interactEH + * + * Public: Yes + */ +#include "script_component.hpp" + +PARAMS_1(_interactionType); + +if (_interactionType != 0) exitWith {}; + +//for performance only do stuff it they have a wirecutter item +//(if they somehow get one durring keydown they'll just have to reopen) +if (!("ACE_wirecutter" in (items ace_player))) exitWith {}; + +[{ + private ["_fncStatement", "_attachedFence", "_fncCondition", "_helper"]; + PARAMS_2(_args,_pfID); + EXPLODE_3_PVT(_args,_setPosition,_addedHelpers,_fencesHelped); + + if (!EGVAR(interact_menu,keyDown)) then { + {deleteVehicle _x;} forEach _addedHelpers; + [_pfID] call CBA_fnc_removePerFrameHandler; + } else { + //If play moved >5 meters from last pos, then rescan + if (((getPosASL ace_player) distance _setPosition) > 5) then { + + _fncStatement = { + _attachedFence = _target getVariable [QGVAR(attachedFence), objNull]; + [ace_player, _attachedFence] call FUNC(cutDownFence); + }; + _fncCondition = { + _attachedFence = _target getVariable [QGVAR(attachedFence), objNull]; + ((!isNull _attachedFence) && {(damage _attachedFence) < 1} && {("ACE_wirecutter" in (items ace_player))}) + }; + + { + if (!(_x in _fencesHelped)) then { + if ([_x] call FUNC(isFence)) then { + _fencesHelped pushBack _x; + _helper = "Sign_Sphere25cm_F" createVehicleLocal (getpos _x); + [_helper, 0, [""], (localize "STR_ACE_logistics_wirecutter_CutFence"), QUOTE(PATHTOF(ui\wirecutter_ca.paa)), [0,0,0], _fncStatement, _fncCondition, 5] call EFUNC(interact_menu,addAction); + _helper setPosASL ((getPosASL _x) vectorAdd [0,0,1.25]); + _helper hideObject true; + _helper setVariable [QGVAR(attachedFence), _x]; + _addedHelpers pushBack _helper; + }; + }; + } forEach nearestObjects [ace_player, [], 15]; + + _args set [0, (getPosASL ace_player)]; + }; + }; +}, 0.1, [((getPosASL ace_player) vectorAdd [-100,0,0]), [], []]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/logistics_wirecutter/functions/fnc_isFence.sqf b/addons/logistics_wirecutter/functions/fnc_isFence.sqf index 2c00cec92b..aee9a22ef9 100644 --- a/addons/logistics_wirecutter/functions/fnc_isFence.sqf +++ b/addons/logistics_wirecutter/functions/fnc_isFence.sqf @@ -1,16 +1,19 @@ -/* fnc_isFence.sqf -* -* Author: PabstMirror -* -* Checks if object is a fence. Should work on any fence type, even (typeof == ""). -* Call is fairly expensive because of all of the string checking. -* -* Argument: -* 0: OBJECT - Ojbect to test -* -* Return value: -* BOOL -*/ +/* + * Author: PabstMirror + * Checks if object is a fence. Should work on any fence type, even (typeof == ""). + * Call is fairly expensive because of all of the string checking. + * + * Arguments: + * 0: An Object To Test + * + * Return Value: + * Is it a fence + * + * Example: + * [aFence] call ace_logistics_wirecutter_fnc_isFence + * + * Public: No + */ #include "script_component.hpp" //find is case sensitive, so keep everything lowercase @@ -27,14 +30,14 @@ _typeOf = toLower (typeOf _object); _returnValue = false; if (_typeOf != "") then { - _returnValue = _typeOf in (FENCE_A3_TYPENAMES + FENCE_AIA_TYPENAMES); + _returnValue = _typeOf in (FENCE_A3_TYPENAMES + FENCE_AIA_TYPENAMES); } else { - _typeOf = toLower (str _object); //something like "123201: wall_indfnc_9.p3d" - { - if ((_typeOf find _x) != -1) then { - _returnValue = true; - }; - } forEach (FENCE_A3_P3DS + FENCE_AIA_P3DS); + _typeOf = toLower (str _object); //something like "123201: wall_indfnc_9.p3d" + { + if ((_typeOf find _x) != -1) then { + _returnValue = true; + }; + } forEach (FENCE_A3_P3DS + FENCE_AIA_P3DS); }; _returnValue diff --git a/addons/main/script_macros.hpp b/addons/main/script_macros.hpp index 33f1037905..ff2c4d615e 100644 --- a/addons/main/script_macros.hpp +++ b/addons/main/script_macros.hpp @@ -1,4 +1,5 @@ #include "\x\cba\addons\main\script_macros_common.hpp" +#include "\x\cba\addons\xeh\script_xeh.hpp" // Default versioning level #define DEFAULT_VERSIONING_LEVEL 2 @@ -189,15 +190,21 @@ #define GETVAR(var1,var2,var3) var1 GETVAR_SYS(var2,var3) #define GETMVAR(var1,var2) missionNamespace GETVAR_SYS(var1,var2) #define GETUVAR(var1,var2) uiNamespace GETVAR_SYS(var1,var2) +#define GETPRVAR(var1,var2) profileNamespace GETVAR_SYS(var1,var2) +#define GETPAVAR(var1,var2) parsingNamespace GETVAR_SYS(var1,var2) #define SETVAR(var1,var2,var3) var1 SETVAR_SYS(var2,var3) #define SETPVAR(var1,var2,var3) var1 SETPVAR_SYS(var2,var3) #define SETMVAR(var1,var2) missionNamespace SETVAR_SYS(var1,var2) #define SETUVAR(var1,var2) uiNamespace SETVAR_SYS(var1,var2) +#define SETPRVAR(var1,var2) profileNamespace SETVAR_SYS(var1,var2) +#define SETPAVAR(var1,var2) parsingNamespace SETVAR_SYS(var1,var2) #define GETGVAR(var1,var2) GETMVAR(GVAR(var1),var2) #define GETEGVAR(var1,var2,var3) GETMVAR(EGVAR(var1,var2),var3) +#define ARR_SELECT(ARRAY,INDEX,DEFAULT) if (count ARRAY > INDEX) then {ARRAY select INDEX} else {DEFAULT} + #define MACRO_ADDWEAPON(WEAPON,COUNT) class _xx_##WEAPON { \ weapon = #WEAPON; \ diff --git a/addons/map/CfgEventHandlers.hpp b/addons/map/CfgEventHandlers.hpp index 23d60e02da..49b87fb4fd 100644 --- a/addons/map/CfgEventHandlers.hpp +++ b/addons/map/CfgEventHandlers.hpp @@ -1,12 +1,11 @@ class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE( call COMPILE_FILE(XEH_preInit) ); - serverInit = QUOTE( call COMPILE_FILE(XEH_preInitServer) ); - }; + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit) ); + }; }; class Extended_PostInit_EventHandlers { - class ADDON { - clientInit = QUOTE( call COMPILE_FILE(XEH_postInitClient) ); - }; + class ADDON { + clientInit = QUOTE(call COMPILE_FILE(XEH_postInitClient) ); + }; }; diff --git a/addons/map/CfgMarkers.hpp b/addons/map/CfgMarkers.hpp index d6281a4a6e..0a04e4a691 100644 --- a/addons/map/CfgMarkers.hpp +++ b/addons/map/CfgMarkers.hpp @@ -1,67 +1,42 @@ // MARKERS class CfgMarkers { - class Flag; + class Flag; - // Reenable NATO symbols ... - class b_unknown: Flag {scope = 2;}; + // Reenable NATO symbols ... + class b_unknown: Flag {scope = 2;}; - // ... and disable all the useless ones - // If you think that some of these are needed, create an issue; But until - // there's a better way to place markers, there should be only the most - // important markers here. - // Keep in mind that all of these can still be placed in the editor. - class b_hq: b_unknown {scope = 1;}; - class b_installation: b_unknown {scope = 1;}; - class b_maint: b_unknown {scope = 1;}; - class b_med: b_unknown {scope = 1;}; - class b_service: b_unknown {scope = 1;}; - class b_support: b_unknown {scope = 1;}; + // ... and disable all the useless ones + // If you think that some of these are needed, create an issue; But until + // there's a better way to place markers, there should be only the most + // important markers here. + // Keep in mind that all of these can still be placed in the editor. + class b_hq: b_unknown {scope = 1;}; + class b_installation: b_unknown {scope = 1;}; + class b_maint: b_unknown {scope = 1;}; + class b_med: b_unknown {scope = 1;}; + class b_service: b_unknown {scope = 1;}; + class b_support: b_unknown {scope = 1;}; - class n_unknown: b_unknown {}; - class n_hq: n_unknown {scope = 1;}; - class n_installation: n_unknown {scope = 1;}; - class u_installation: n_unknown {scope = 1;}; // i have no idea... - class n_maint: n_unknown {scope = 1;}; - class n_med: n_unknown {scope = 1;}; - class n_service: n_unknown {scope = 1;}; - class n_support: n_unknown {scope = 1;}; + class n_unknown: b_unknown {}; + class n_hq: n_unknown {scope = 1;}; + class n_installation: n_unknown {scope = 1;}; + class u_installation: n_unknown {scope = 1;}; // i have no idea... + class n_maint: n_unknown {scope = 1;}; + class n_med: n_unknown {scope = 1;}; + class n_service: n_unknown {scope = 1;}; + class n_support: n_unknown {scope = 1;}; - class o_unknown: b_unknown {}; - class o_hq: o_unknown {scope = 1;}; - class o_installation: o_unknown {scope = 1;}; - class o_maint: o_unknown {scope = 1;}; - class o_med: o_unknown {scope = 1;}; - class o_service: o_unknown {scope = 1;}; - class o_support: o_unknown {scope = 1;}; + class o_unknown: b_unknown {}; + class o_hq: o_unknown {scope = 1;}; + class o_installation: o_unknown {scope = 1;}; + class o_maint: o_unknown {scope = 1;}; + class o_med: o_unknown {scope = 1;}; + class o_service: o_unknown {scope = 1;}; + class o_support: o_unknown {scope = 1;}; - // disable all civy markers (harbor etc.) - class c_unknown: b_unknown {scope = 1;}; + // disable all civy markers (harbor etc.) + class c_unknown: b_unknown {scope = 1;}; - // disable quantity indicators (fire team/squad/platoon ...) - class group_0: b_unknown {scope = 1;}; - - - class ACE_MapToolFixed { - name = "MapToolFixed"; - icon = PATHTOF(data\mapToolFixed.paa); - scope = 0; - color[] = {1,1,1,1}; - size = 32; - }; - - class ACE_MapToolRotatingNormal { - name = "MapToolRotating"; - icon = PATHTOF(data\mapToolRotatingNormal.paa); - scope = 0; - color[] = {1,1,1,1}; - size = 32; - }; - - class ACE_MapToolRotatingSmall { - name = "MapToolRotating"; - icon = PATHTOF(data\mapToolRotatingSmall.paa); - scope = 0; - color[] = {1,1,1,1}; - size = 32; - }; + // disable quantity indicators (fire team/squad/platoon ...) + class group_0: b_unknown {scope = 1;}; }; diff --git a/addons/map/CfgVehicles.hpp b/addons/map/CfgVehicles.hpp index 4452c10b23..7960fe67ee 100644 --- a/addons/map/CfgVehicles.hpp +++ b/addons/map/CfgVehicles.hpp @@ -1,160 +1,67 @@ -#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \ - name = #ITEM; \ - count = COUNT; \ - }; - class CfgVehicles { - class Man; - class CAManBase: Man { - class ACE_SelfActions { - - class ACE_MapTools { - displayName = "$STR_ACE_Map_MapTools_Menu"; - condition = QUOTE((call FUNC(canUseMapTools) || {call FUNC(canUseMapGPS)})); - statement = ""; - exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)}; - showDisabled = 0; - priority = 100; - enableInside = 1; - - class ACE_MapToolsHide { - displayName = "$STR_ACE_Map_MapToolsHide"; - condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 0})); - statement = QUOTE(GVAR(mapTool_Shown) = 0; [] call FUNC(updateMapToolMarkers)); - exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)}; - showDisabled = 1; - priority = 5; - enableInside = 1; + class Module_F; + class ACE_ModuleMap: Module_F { + author = "$STR_ACE_Common_ACETeam"; + category = "ACE"; + displayName = "Map"; + function = QFUNC(moduleMap); + scope = 2; + isGlobal = 1; + icon = PATHTOF(UI\IconMap_ca.paa); + class Arguments { + class MapIllumination { + displayName = "Map illumination?"; + description = "Calculate dynamic map illumination based on light conditions?"; + typeName = "BOOL"; + class values { + class Yes { name = "Yes"; value = 1; default = 1; }; + class No { name = "No"; value = 0; }; + }; + }; + class MapShake { + displayName = "Map shake?"; + description = "Make map shake when walking?"; + typeName = "BOOL"; + class values { + class Yes { name = "Yes"; value = 1; default = 1;}; + class No { name = "No"; value = 0; }; + }; + }; + class MapLimitZoom { + displayName = "Limit map zoom?"; + description = "Limit the amount of zoom available for the map?"; + typeName = "BOOL"; + class values { + class Yes { name = "Yes"; value = 1; }; + class No { name = "No"; value = 0; default = 1;}; + }; + }; }; - class ACE_MapToolsShowNormal { - displayName = "$STR_ACE_Map_MapToolsShowNormal"; - condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 1})); - statement = QUOTE(GVAR(mapTool_Shown) = 1; [] call FUNC(updateMapToolMarkers)); - exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)}; - showDisabled = 1; - priority = 4; - enableInside = 1; - }; - class ACE_MapToolsShowSmall { - displayName = "$STR_ACE_Map_MapToolsShowSmall"; - condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 2})); - statement = QUOTE(GVAR(mapTool_Shown) = 2; [] call FUNC(updateMapToolMarkers)); - exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)}; - showDisabled = 1; - priority = 3; - enableInside = 1; - }; - class ACE_MapToolsAlignNorth { - displayName = "$STR_ACE_Map_MapToolsAlignNorth"; - condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 0})); - statement = QUOTE(GVAR(mapTool_angle) = 0; [] call FUNC(updateMapToolMarkers)); - exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)}; - showDisabled = 1; - priority = 2; - enableInside = 1; - }; - class ACE_MapToolsAlignCompass { - displayName = "$STR_ACE_Map_MapToolsAlignCompass"; - condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 0} && {('ItemCompass' in assigneditems ACE_player) || {'ItemCompass' in assigneditems ACE_player}})); - statement = QUOTE(GVAR(mapTool_angle) = getDir ACE_player; [] call FUNC(updateMapToolMarkers)); - exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)}; - showDisabled = 1; - priority = 1; - enableInside = 1; - }; - class ACE_MapGpsShow { - displayName = "$STR_ACE_Map_MapGpsShow"; - condition = QUOTE((call FUNC(canUseMapGPS) && {!GVAR(mapGpsShow)})); - statement = QUOTE(GVAR(mapGpsShow) = true; [GVAR(mapGpsShow)] call FUNC(openMapGps)); - exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)}; - showDisabled = 0; - priority = 0; - enableInside = 1; - }; - class ACE_MapGpsHide { - displayName = "$STR_ACE_Map_MapGpsHide"; - condition = QUOTE((call FUNC(canUseMapGPS) && {GVAR(mapGpsShow)})); - statement = QUOTE(GVAR(mapGpsShow) = false; [GVAR(mapGpsShow)] call FUNC(openMapGps)); - exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)}; - showDisabled = 0; - priority = 0; - enableInside = 1; - }; - }; }; - class ACE_Actions { - class ACE_MainActions { - class ACE_CopyMap { - displayName = "$STR_ACE_Map_CopyMap"; - condition = QUOTE(([_target] call EFUNC(common,isPlayer) && {'ItemMap' in assigneditems _player} && {'ACE_MapTools' in items _player} && {'ItemMap' in assignedItems _target})); - statement = QUOTE([ARR_2(_player,_target)] call FUNC(copyMapStart)); - showDisabled = 0; - priority = -1; + class ACE_ModuleBlueForceTracking: Module_F { + author = "$STR_ACE_Common_ACETeam"; + category = "ACE"; + displayName = "Blue Force Tracking"; + function = QFUNC(blueForceTrackingModule); + scope = 2; + isGlobal = 1; + icon = PATHTOF(UI\IconBFTracking_ca.paa); + class Arguments { + class Interval { + displayName = "Interval"; + description = "How often the markers should be refreshed (in seconds)"; + defaultValue = 1; + }; + class HideAiGroups { + displayName = "Hide AI groups?"; + description = "Hide markers for 'AI only' groups?"; + typeName = "BOOL"; + class values { + class Yes { name = "Yes"; value = 1; }; + class No { name = "No"; value = 0; default = 1; }; + }; + }; }; - }; }; - }; - - class NATO_Box_Base; - class EAST_Box_Base; - class IND_Box_Base; - class FIA_Box_Base_F; - - class Box_NATO_Support_F: NATO_Box_Base { - class TransportItems { - MACRO_ADDITEM(ACE_MapTools,12) - }; - }; - - class Box_East_Support_F: EAST_Box_Base { - class TransportItems { - MACRO_ADDITEM(ACE_MapTools,12) - }; - }; - - class Box_IND_Support_F: IND_Box_Base { - class TransportItems { - MACRO_ADDITEM(ACE_MapTools,12) - }; - }; - - class Box_FIA_Support_F: FIA_Box_Base_F { - class TransportItems { - MACRO_ADDITEM(ACE_MapTools,12) - }; - }; - - class ACE_Box_Misc: Box_NATO_Support_F { - class TransportItems { - MACRO_ADDITEM(ACE_MapTools,12) - }; - }; - - class Module_F; - class ACE_ModuleBlueForceTracking: Module_F { - author = "$STR_ACE_Common_ACETeam"; - category = "ACE"; - displayName = "Blue Force Tracking"; - function = QFUNC(blueForceTrackingModule); - scope = 2; - isGlobal = 1; - icon = PATHTOF(UI\IconBFTracking_ca.paa); - class Arguments { - class Interval { - displayName = "Interval"; - description = "How often the markers should be refreshed (in seconds)"; - defaultValue = 1; - }; - class HideAiGroups { - displayName = "Hide AI groups?"; - description = "Hide markers for 'AI only' groups?"; - typeName = "BOOL"; - class values { - class Yes { name = "Yes"; value = 1; }; - class No { name = "No"; value = 0; default = 1; }; - }; - }; - }; - }; }; diff --git a/addons/map/CfgWeapons.hpp b/addons/map/CfgWeapons.hpp deleted file mode 100644 index fa6d0897c5..0000000000 --- a/addons/map/CfgWeapons.hpp +++ /dev/null @@ -1,15 +0,0 @@ -class CfgWeapons { - class ACE_ItemCore; - class InventoryItem_Base_F; - - class ACE_MapTools: ACE_ItemCore { - displayName = "$STR_ACE_MapTools_Name"; - descriptionShort = "$STR_ACE_MapTools_Description"; - model = "\A3\weapons_F\ammo\mag_univ.p3d"; - picture = PATHTOF(UI\maptool_item.paa); - scope = 2; - class ItemInfo: InventoryItem_Base_F { - mass = 1; - }; - }; -}; diff --git a/addons/map/MapControls.hpp b/addons/map/MapControls.hpp index 3255cb7929..62256e2df4 100644 --- a/addons/map/MapControls.hpp +++ b/addons/map/MapControls.hpp @@ -1,93 +1,9 @@ class controls { - class ButtonPlayer: RscActiveText { - text = ""; - w = 0; - h = 0; - sizeEx = 0; - onButtonClick = ""; - }; - class CA_PlayerName: RscText { - x = "2 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - }; - class ProfilePicture: RscPicture { - x = "13.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - }; - class ProfileBackground: RscText { - x = "13.3 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - }; - class Separator1: RscPicture { - x = "14.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - }; - class ColorBlack: RscButton { - idc = 36732; - x = "0 * (((safezoneW / safezoneH) min 1.2) / 40)"; - y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - colorBackground[] = {0.2,0.2,0.2,1}; - colorBackgroundActive[] = {0,0,0,1}; - colorFocused[] = {0,0,0,1}; - onButtonClick = "missionNamespace setVariable [""ACE_Map_drawing_drawColor"", ""ColorBlack""]"; - // onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QGVAR(drawing_drawColor),"ColorBlack")]); - }; - class ColorRed: RscButton { - idc = 36733; - x = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)"; - y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - colorBackground[] = {0.8,0.2,0.2,1}; - colorBackgroundActive[] = {1,0,0,1}; - colorFocused[] = {1,0,0,1}; - onButtonClick = "missionNamespace setVariable [""ACE_Map_drawing_drawColor"", ""ColorRed""]"; - // onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QGVAR(drawing_drawColor),QUOTE(ColorRed))]); - }; - class ColorGreen: RscButton { - idc = 36734; - x = "0.6 * (((safezoneW / safezoneH) min 1.2) / 40)"; - y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - colorBackground[] = {0.2,0.8,0.2,1}; - colorBackgroundActive[] = {0,1,0,1}; - colorFocused[] = {0,1,0,1}; - onButtonClick = "missionNamespace setVariable [""ACE_Map_drawing_drawColor"", ""ColorGreen""]"; - // onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QGVAR(drawing_drawColor),"ColorGreen")]); - }; - class ColorBlue: RscButton { - idc = 36735; - x = "0.9 * (((safezoneW / safezoneH) min 1.2) / 40)"; - y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - colorBackground[] = {0.2,0.2,0.8,1}; - colorBackgroundActive[] = {0,0,1,1}; - colorFocused[] = {0,0,1,1}; - onButtonClick = "missionNamespace setVariable [""ACE_Map_drawing_drawColor"", ""ColorBlue""]"; - // onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QGVAR(drawing_drawColor), "ColorBlue")]); - }; - class ColorYellow: RscButton { - idc = 36736; - x = "1.2 * (((safezoneW / safezoneH) min 1.2) / 40)"; - y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - colorBackground[] = {0.8,0.8,0.2,1}; - colorBackgroundActive[] = {1,1,0,1}; - colorFocused[] = {1,1,0,1}; - onButtonClick = "missionNamespace setVariable [""ACE_Map_drawing_drawColor"", ""ColorYellow""]"; - // onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QGVAR(drawing_drawColor), "ColorYellow")]); - }; - class ColorWhite: RscButton { - idc = 36737; - x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40)"; - y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - colorBackground[] = {0.8,0.8,0.8,1}; - colorBackgroundActive[] = {1,1,1,1}; - colorFocused[] = {1,1,1,1}; - onButtonClick = "missionNamespace setVariable [""ACE_Map_drawing_drawColor"", ""ColorWhite""]"; - // onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QGVAR(drawing_drawColor), "ColorWhite")]); - }; + class ButtonPlayer: RscActiveText { + text = ""; + w = 0; + h = 0; + sizeEx = 0; + onButtonClick = ""; + }; }; diff --git a/addons/map/MapGpsUI.hpp b/addons/map/MapGpsUI.hpp deleted file mode 100644 index e21b8db0a1..0000000000 --- a/addons/map/MapGpsUI.hpp +++ /dev/null @@ -1,81 +0,0 @@ -#define GUI_GRID_X (0) -#define GUI_GRID_Y (0) -#define GUI_GRID_W (0.025) -#define GUI_GRID_H (0.04) - -#define ST_LEFT 0x00 -#define ST_RIGHT 0x01 -#define ST_CENTER 0x02 - -#define W_gps 0.4025 -#define H_gps 0.25 -#define X_gps safeZoneX + safeZoneW - 1.1 * W_gps -#define Y_gps safeZoneY + safeZoneH - 1.2 * H_gps - -class RscTitles { - class RscACE_MapGps { - idd = 9855; - movingEnable = 1; - duration = 3600; - fadein = 0; - fadeout = 0; - // onLoad = QUOTE(uiNamespace setVariable [ARR_2(QGVAR(ui_mapGpsDisplay), _this select 0)];); - onLoad = "uiNamespace setVariable ['ACE_map_ui_mapGpsDisplay', _this select 0];"; //@todo cbaify this - //onUnLoad = "_this call onRscLoad"; - class controls { - class back:RscPicture { - x = X_gps; - y = Y_gps; - w = W_gps; - h = H_gps; - text = PATHTOF(UI\mapGps.paa); - colorBackground[] = {1, 1, 1, 1}; - }; - class heading: RscText{ - idc = 913590; - x = X_gps + W_gps * 0.25; - y = Y_gps + H_gps * 0.12; - w = W_gps * 0.2; - h = H_gps * 0.16; - style = ST_LEFT; - text = "225"; - colorBackground[] = {0,0,0,0}; - colorText[] = {0.247,0.251,0.157,1}; - shadowColo[] = {0,0,0,0}; - font = "EtelkaNarrowMediumPro"; - shadow = 0; - sizeEx = 0.042; - }; - class altitude: RscText{ - idc = 913591; - x = X_gps + W_gps * 0.55; - y = Y_gps + H_gps * 0.12; - w = W_gps * 0.2; - h = H_gps * 0.16; - style = ST_RIGHT; - text = "55 m"; - colorBackground[] = {0,0,0,0}; - colorText[] = {0.247,0.251,0.157,1}; - shadowColo[] = {0,0,0,0}; - font = "EtelkaNarrowMediumPro"; - shadow = 0; - sizeEx = 0.042; - }; - class coordinates: RscText{ - idc = 913592; - x = X_gps + W_gps * 0.2; - y = Y_gps + H_gps * 0.33; - w = W_gps * 0.6; - h = H_gps * 0.35; - style = ST_CENTER; - text = "012.3 115.1"; - colorBackground[] = {0,0,0,0}; - colorText[] = {0.247,0.251,0.157,1}; - shadowColo[] = {0,0,0,0}; - font = "EtelkaNarrowMediumPro"; - shadow = 0; - sizeEx = 0.1; - }; - }; - }; -}; diff --git a/addons/map/MapTweaks.hpp b/addons/map/MapTweaks.hpp new file mode 100644 index 0000000000..2cf5786059 --- /dev/null +++ b/addons/map/MapTweaks.hpp @@ -0,0 +1,38 @@ +// Hide Bushes +class Bush { + icon = ""; + color[] = {0.450000, 0.640000, 0.330000, 0.0}; + size = 14; + importance = "0.2 * 14 * 0.05"; + coefMin = 0.250000; + coefMax = 4; +}; + +// Hide Trees +class SmallTree { + icon = ""; + color[] = {0.450000, 0.640000, 0.330000, 0.0}; + size = 12; + importance = "0.6 * 12 * 0.05"; + coefMin = 0.250000; + coefMax = 4; +}; +class Tree { + icon = ""; + color[] = {0.450000, 0.640000, 0.330000, 0.0}; + size = 12; + importance = "0.9 * 16 * 0.05"; + coefMin = 0.250000; + coefMax = 4; +}; + +class Legend { + x = SafeZoneX+SafeZoneW-.340; + y = SafeZoneY+SafeZoneH-.152; + font = "PuristaMedium"; + w = .340; + h = .152; + sizeEx = 0.039210; + colorBackground[] = {0.906000, 0.901000, 0.880000, 0.5}; + color[] = {0, 0, 0, 0.75}; +}; diff --git a/addons/map/README.md b/addons/map/README.md index e51efe71d5..6544d0f236 100644 --- a/addons/map/README.md +++ b/addons/map/README.md @@ -1,7 +1,12 @@ ace_map ======= -Various tweaks to the in-game map. +Various tweaks to the in-game map. Including: +- Better map styling (countours, legend, hiding bushes and trees, etc). +- Max zoom level (optional) +- Map shaking while walking (optional) +- Map illumination (optional) +- Blufor tracker (optional) ## Maintainers diff --git a/addons/map/UI/IconMap_ca.paa b/addons/map/UI/IconMap_ca.paa new file mode 100644 index 0000000000..128f08f6f0 Binary files /dev/null and b/addons/map/UI/IconMap_ca.paa differ diff --git a/addons/map/XEH_postInitClient.sqf b/addons/map/XEH_postInitClient.sqf index 24b906e61c..ccaf9041ab 100644 --- a/addons/map/XEH_postInitClient.sqf +++ b/addons/map/XEH_postInitClient.sqf @@ -1,71 +1,22 @@ -// by CAA-Picard - #include "script_component.hpp" -if (!hasInterface) exitWith{}; +ADDON = false; +LOG(MSG_INIT); -// Init variables -GVAR(mapVisableLastFrame) = false; -GVAR(mapGpsShow) = true; +// Calculate the maximum zoom allowed for this map +call FUNC(determineZoom); -GVAR(mapTool_Shown) = 0; -GVAR(mapTool_pos) = [0,0]; -GVAR(mapTool_angle) = 0; -GVAR(mapTool_isDragging) = false; -GVAR(mapTool_isRotating) = false; - -GVAR(drawing_isDrawing) = false; -GVAR(drawing_tempLineMarker) = []; -GVAR(drawing_lineMarkers) = []; -GVAR(drawing_drawColor) = "ColorBlack"; -GVAR(drawing_controls) = [36732, 36733, 36734, 36735, 36736, 36737]; - -//Probably need this spawn, because CBA_fnc_addPerFrameHandler doesn't work durring breifing. +// This spawn is probably worth keeping, as pfh don't work natively on the briefing screen and IDK how reliable the hack we implemented for them is. +// The thread dies as soon as the mission start, so it's not really compiting for scheduler space. [] spawn { - _fnc_installMapEvents = { - _d = _this; - diag_log format ["Installing EH in display %1", _d]; - ((finddisplay _d) displayctrl 51) ctrlAddEventHandler ["MouseMoving", {_this call FUNC(handleMouseMove);}]; - ((finddisplay _d) displayctrl 51) ctrlAddEventHandler ["MouseButtonDown", {[1, _this] call FUNC(handleMouseButton);}]; - ((finddisplay _d) displayctrl 51) ctrlAddEventHandler ["MouseButtonUp", {[0, _this] call FUNC(handleMouseButton)}]; - ((finddisplay _d) displayctrl 51) ctrlAddEventHandler ["Draw", {[] call FUNC(updateMapToolMarkers);}]; - (finddisplay _d) displayAddEventHandler ["KeyDown", {_this call FUNC(handleKeyDown);}]; - }; + // Wait until the map display is detected + waitUntil {(!isNull findDisplay 12)}; - // Wait until the briefing map is detected - // display = 37 for SP - // display = 52 for host server on MP; - // display = 53 for MP clients) - waitUntil {(!isNull findDisplay 37) || (!isNull findDisplay 52) || (!isNull findDisplay 53) || (!isNull findDisplay 12)}; + GVAR(lastStillPosition) = ((findDisplay 12) displayCtrl 51) ctrlMapScreenToWorld [0.5, 0.5]; + GVAR(lastStillTime) = time; + GVAR(isShaking) = false; - if (isNull findDisplay 12) then { - // Install event handlers on the map control of the briefing screen (control = 51) - GVAR(drawing_syncMarkers) = true; - if (!isNull findDisplay 52) then { - 52 call _fnc_installMapEvents; - } else { - if (!isNull findDisplay 53) then { - 53 call _fnc_installMapEvents; - } else { - 37 call _fnc_installMapEvents; - }; - }; - } else { - // Briefing screen was skipped; the player is JIP, create the markers defined during the briefing - GVAR(drawing_syncMarkers) = false; - { - _x call FUNC(addLineMarker); - } forEach GVAR(drawing_serverLineMarkers); - }; - - // Wait until the main map display is detected (display = 12) - waitUntil { !isNull findDisplay 12 }; - // Install event handlers on the map control and display (control = 51) - GVAR(drawing_syncMarkers) = false; - 12 call _fnc_installMapEvents; - - // Update the size and rotation of map tools - [] call FUNC(updateMapToolMarkers); - - [FUNC(mapStateUpdater), 0, []] call CBA_fnc_addPerFrameHandler; + ((findDisplay 12) displayCtrl 51) ctrlAddEventHandler ["Draw", {[] call FUNC(updateMapEffects);}]; }; + +ADDON = true; diff --git a/addons/map/XEH_preInit.sqf b/addons/map/XEH_preInit.sqf index 1ab43c7ca8..7899c6a637 100644 --- a/addons/map/XEH_preInit.sqf +++ b/addons/map/XEH_preInit.sqf @@ -1,35 +1,13 @@ #include "script_component.hpp" ADDON = false; +LOG(MSG_INIT); -PREP(addLineMarker); PREP(blueForceTrackingModule); PREP(blueForceTrackingUpdate); -PREP(calculateMapScale); -PREP(cancelDrawing); -PREP(canDraw); -PREP(canUseMapTools); -PREP(canUseMapGPS); -PREP(copyMapReceiveMarkers); -PREP(copyMapRemoteSend); -PREP(copyMapStart); -PREP(handleKeyDown); -PREP(handleMouseButton); -PREP(handleMouseMove); -PREP(handleMouseZChanged); -PREP(isInsideMapTool); -PREP(mapStateUpdater); -PREP(openMapGps); -PREP(openMapGpsUpdate); -PREP(removeLineMarker); -PREP(updateMapToolMarkers); -PREP(updateLineMarker); - -//Add Event Handlers: -["drawing_removeLineMarker", FUNC(removeLineMarker) ] call EFUNC(common,addEventHandler); -["drawing_addLineMarker", FUNC(addLineMarker) ] call EFUNC(common,addEventHandler); - -["drawing_requestMarkers", FUNC(copyMapRemoteSend) ] call EFUNC(common,addEventHandler); -["drawing_sendbackMarkers", FUNC(copyMapReceiveMarkers) ] call EFUNC(common,addEventHandler); +PREP(determineMapLight); +PREP(determineZoom); +PREP(moduleMap); +PREP(updateMapEffects); ADDON = true; diff --git a/addons/map/XEH_preInitServer.sqf b/addons/map/XEH_preInitServer.sqf deleted file mode 100644 index 1614e9a340..0000000000 --- a/addons/map/XEH_preInitServer.sqf +++ /dev/null @@ -1,6 +0,0 @@ -// by CAA-Picard - -#include "script_component.hpp" - -GVAR(drawing_serverLineMarkers) = []; -publicVariable QGVAR(drawing_serverLineMarkers); diff --git a/addons/map/config.cpp b/addons/map/config.cpp index 36a6f85168..c779caa9b2 100644 --- a/addons/map/config.cpp +++ b/addons/map/config.cpp @@ -1,15 +1,15 @@ #include "script_component.hpp" class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = {"ACE_MapTools"}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_common", "ace_interaction"}; - author[] = {"KoffeinFlummi","CAA-Picard"}; - authorUrl = "https://github.com/KoffeinFlummi/"; - VERSION_CONFIG; - }; + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common", "ace_interaction"}; + author[] = {"KoffeinFlummi","Rocko","CAA-Picard"}; + authorUrl = "https://github.com/KoffeinFlummi/"; + VERSION_CONFIG; + }; }; class RscControlsGroup; @@ -28,10 +28,6 @@ class ACE_Settings { value = 1.0; typeName = "SCALAR"; }; - class GVAR(EveryoneCanDrawOnBriefing) { - value = 1; - typeName = "BOOL"; - }; class GVAR(BFT_Enabled) { value = 0; typeName = "BOOL"; @@ -40,116 +36,154 @@ class ACE_Settings { value = 0; typeName = "BOOL"; }; + class GVAR(mapIllumination) { + value = 1; + typeName = "BOOL"; + }; + class GVAR(mapShake) { + value = 1; + typeName = "BOOL"; + }; + class GVAR(mapLimitZoom) { + value = 0; + typeName = "BOOL"; + }; }; -#include "MapGpsUI.hpp" #include "CfgEventHandlers.hpp" #include "CfgMarkers.hpp" #include "CfgVehicles.hpp" -#include "CfgWeapons.hpp" - class RscMapControl { - sizeExGrid = 0.032; + maxSatelliteAlpha = 0.5; + + // From Arma 2 + colorTracks[] = {1.0,0.0,0.0,1}; + colorTracksFill[] = {1.0,1.0,0.0,1}; + colorRoads[] = {0.0,0.0,0.0,1}; + colorRoadsFill[] = {1,1,0,1}; + colorMainRoads[] = {0.0,0.0,0.0,1}; + colorMainRoadsFill[] = {1,0.6,0.4,1}; + colorRailWay[] = {0.8,0.2,0,1}; + + // From ACE2 + colorBackground[] = {0.929412, 0.929412, 0.929412, 1.0}; + colorOutside[] = {0.929412, 0.929412, 0.929412, 1.0}; + colorCountlines[] = {0.647059, 0.533333, 0.286275, 1}; + colorMainCountlines[] = {0.858824, 0, 0,1}; + colorForest[] = {0.6, 0.8, 0.2, 0.25}; + colorLevels[] = {0.0, 0.0, 0.0, 1.0}; + colorRocks[] = {0.50, 0.50, 0.50, 0.50}; + + sizeExLevel = 0.03; + showCountourInterval = 1; // refs #13673 + + sizeExGrid = 0.032; }; // REGULAR MAP class RscDisplayMainMap { - // get rid of the "center to player position" - button (as it works even on elite) - class controls { - class TopRight: RscControlsGroup { - #include "MapControls.hpp" + // Tweak map styling + class controlsBackground { + class CA_Map : RscMapControl { + #include "MapTweaks.hpp" + }; }; - }; - // scale up the compass - class objects { - class Compass: RscObject { - scale = 0.7; - zoomDuration = 0; + // get rid of the "center to player position" - button (as it works even on elite) + class controls { + class TopRight: RscControlsGroup { + #include "MapControls.hpp" + }; + }; + // scale up the compass + class objects { + class Compass: RscObject { + scale = 0.7; + zoomDuration = 0; + }; }; - }; }; // DIARY class RscDisplayDiary { - // get rid of the "center to player position" - button (as it works even on elite) - class controls { - class TopRight: RscControlsGroup { - class controls { - class ButtonPlayer: RscActiveText { - text = ""; - w = 0; - h = 0; - sizeEx = 0; - onButtonClick = ""; + // get rid of the "center to player position" - button (as it works even on elite) + class controls { + class TopRight: RscControlsGroup { + class controls { + class ButtonPlayer: RscActiveText { + text = ""; + w = 0; + h = 0; + sizeEx = 0; + onButtonClick = ""; + }; + class CA_PlayerName: RscText { + x = "2 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + }; + class ProfilePicture: RscPicture { + x = "13.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + }; + class ProfileBackground: RscText { + x = "13.3 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + }; + class Separator1: RscPicture { + x = "14.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + }; + }; }; - class CA_PlayerName: RscText { - x = "2 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - }; - class ProfilePicture: RscPicture { - x = "13.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - }; - class ProfileBackground: RscText { - x = "13.3 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - }; - class Separator1: RscPicture { - x = "14.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; - }; - }; }; - }; - // scale up the compass - class objects { - class Compass: RscObject { - scale = 0.7; - zoomDuration = 0; + // scale up the compass + class objects { + class Compass: RscObject { + scale = 0.7; + zoomDuration = 0; + }; }; - }; }; // BRIEFING SCREEN class RscDisplayGetReady: RscDisplayMainMap { - // get rid of the "center to player position" - button (as it works even on elite) - class controls { - class TopRight: RscControlsGroup { - #include "MapControls.hpp" + // get rid of the "center to player position" - button (as it works even on elite) + class controls { + class TopRight: RscControlsGroup { + #include "MapControls.hpp" + }; }; - }; - // scale up the compass - class objects { - class Compass: RscObject { - scale = 0.7; - zoomDuration = 0; + // scale up the compass + class objects { + class Compass: RscObject { + scale = 0.7; + zoomDuration = 0; + }; }; - }; }; class RscDisplayClientGetReady: RscDisplayGetReady { - // get rid of the "center to player position" - button (as it works even on elite) - class controls { - class TopRight: RscControlsGroup { - #include "MapControls.hpp" + // get rid of the "center to player position" - button (as it works even on elite) + class controls { + class TopRight: RscControlsGroup { + #include "MapControls.hpp" + }; }; - }; - // scale up the compass - class objects { - class Compass: RscObject { - scale = 0.7; - zoomDuration = 0; + // scale up the compass + class objects { + class Compass: RscObject { + scale = 0.7; + zoomDuration = 0; + }; }; - }; }; class RscDisplayServerGetReady: RscDisplayGetReady { - // get rid of the "center to player position" - button (as it works even on elite) - class controls { - class TopRight: RscControlsGroup { - #include "MapControls.hpp" + // get rid of the "center to player position" - button (as it works even on elite) + class controls { + class TopRight: RscControlsGroup { + #include "MapControls.hpp" + }; }; - }; - // scale up the compass - class objects { - class Compass: RscObject { - scale = 0.7; - zoomDuration = 0; + // scale up the compass + class objects { + class Compass: RscObject { + scale = 0.7; + zoomDuration = 0; + }; }; - }; }; diff --git a/addons/map/functions/fnc_blueForceTrackingUpdate.sqf b/addons/map/functions/fnc_blueForceTrackingUpdate.sqf index b2619155c2..030daeaa36 100644 --- a/addons/map/functions/fnc_blueForceTrackingUpdate.sqf +++ b/addons/map/functions/fnc_blueForceTrackingUpdate.sqf @@ -2,37 +2,37 @@ // Delete last set of markers (always) { - deleteMarkerLocal _x; + deleteMarkerLocal _x; } forEach GVAR(BFT_markers); if (GVAR(BFT_Enabled) and {(!isNil "ACE_player") and {alive ACE_player}}) then { - _groupsToDrawMarkers = []; - _playerSide = call EFUNC(common,playerSide); + _groupsToDrawMarkers = []; + _playerSide = call EFUNC(common,playerSide); - if (GVAR(BFT_HideAiGroups)) then { - _groupsToDrawMarkers = [allGroups, {side _this == _playerSide}] call EFUNC(common,filter); - } else { - _groupsToDrawMarkers = [allGroups, { - _anyPlayers = { - [_x] call EFUNC(common,isPlayer); - } count units _this; - (side _this == _playerSide) && _anyPlayers > 0 - }] call EFUNC(common,filter); - }; + if !(GVAR(BFT_HideAiGroups)) then { + _groupsToDrawMarkers = [allGroups, {side _this == _playerSide}] call EFUNC(common,filter); + } else { + _groupsToDrawMarkers = [allGroups, { + _anyPlayers = { + [_x] call EFUNC(common,isPlayer); + } count units _this; + (side _this == _playerSide) && _anyPlayers > 0 + }] call EFUNC(common,filter); + }; + + { + _markerType = [_x] call EFUNC(common,getMarkerType); - { - _markerType = [_x] call EFUNC(common,getMarkerType); + _colour = format ["Color%1", side _x]; - _colour = format ["Color%1", side _x]; + _marker = createMarkerLocal [format ["ACE_BFT_%1", _forEachIndex], [(getPos leader _x) select 0, (getPos leader _x) select 1]]; + _marker setMarkerTypeLocal _markerType; + _marker setMarkerColorLocal _colour; + _marker setMarkerTextLocal (groupID _x); - _marker = createMarkerLocal [format ["ACE_BFT_%1", _i], [(getPos leader _x) select 0, (getPos leader _x) select 1]]; - _marker setMarkerTypeLocal _markerType; - _marker setMarkerColorLocal _colour; - _marker setMarkerTextLocal (groupID _x); - - GVAR(BFT_markers) pushBack _marker; - } forEach _groupsToDrawMarkers; + GVAR(BFT_markers) pushBack _marker; + } forEach _groupsToDrawMarkers; }; diff --git a/addons/map/functions/fnc_determineMapLight.sqf b/addons/map/functions/fnc_determineMapLight.sqf new file mode 100644 index 0000000000..370bcdb167 --- /dev/null +++ b/addons/map/functions/fnc_determineMapLight.sqf @@ -0,0 +1,144 @@ +/* +* Author: Rocko and CAA-Picard +* Calculates the current map illumination for a given unit +* +* Arguments: +* 0: Unit +* +* Return Value: +* 0: Does the map needs shading? +* 1: Color of the overlay +* +* Public: No +*/ +#include "script_component.hpp" + +EXPLODE_1_PVT(_this,_unit); + +private ["_isEnclosed","_nearObjects","_light","_ll","_flashlight"]; + +// Blend two colors +_fnc_blendColor = { + EXPLODE_3_PVT(_this,_c1,_c2,_alpha); + [(_c1 select 0) * (1 - _alpha) + (_c2 select 0) * _alpha, + (_c1 select 1) * (1 - _alpha) + (_c2 select 1) * _alpha, + (_c1 select 2) * (1 - _alpha) + (_c2 select 2) * _alpha, + (_c1 select 3) * (1 - _alpha) + (_c2 select 3) * _alpha] +}; + +// Ambient light tint depending on time of day +_lightTint = switch (true) do { + case (sunOrMoon == 1.0) : { [0.5,0.5,0.5,1] }; + case (sunOrMoon > 0.80) : {[[1.0 - overcast,0.2,0,1], [1,1,1,1], (sunOrMoon - 0.8)/0.2] call _fnc_blendColor}; + case (sunOrMoon > 0.50) : {[[0,0,0.1,1], [1.0 - overcast,0.2,0,1], (sunOrMoon - 0.5)/0.3] call _fnc_blendColor}; + case (sunOrMoon <= 0.5) : { [0,0,0.1,1] }; +}; + +// Calculates overlay color from tint and light level +_fnc_calcColor = { + EXPLODE_2_PVT(_this,_c1,_lightLevel); + + if (_lightLevel < 0.5) then { + _l = _lightLevel / 0.5; + [(_c1 select 0) * _l, + (_c1 select 1) * _l, + (_c1 select 2) * _l, + (_c1 select 3) * (1 - _lightLevel)] + } else { + _l = (_lightLevel - 0.5) / 0.5; + [(_c1 select 0) * (1 - _l) + _l, + (_c1 select 1) * (1 - _l) + _l, + (_c1 select 2) * (1 - _l) + _l, + (_c1 select 3) * (1 - _lightLevel)] + }; +}; + +_lightLevel = 0.04 + (0.96 * call EFUNC(common,ambientBrightness)); + +// check if player has NVG enabled +if (currentVisionMode _unit == 1) exitWith { + // stick to nvg color + [true, [154/255,253/255,177/255,0.5]] +}; + +// Do not obscure the map if the ambient light level is above 0.95 +if (_lightLevel > 0.95) exitWith { + [false, [0.5,0.5,0.5,0]] +}; + +// Do not obscure the map if the player is on a enclosed vehicle (assume internal illumination) +if (vehicle _unit != _unit) then { + // Player is in a vehicle + if ((vehicle _unit) isKindOf "Tank") then { + _isEnclosed = true; + }; +}; +if (_isEnclosed) exitWith { + TRACE_1("Player in a enclosed vehicle",""); + [false, [1,1,1,0]] +}; + +// Player is not in a vehicle +TRACE_1("Player is on foot or in an open vehicle",""); + +// Check if player is near a campfires, lights or vehicles with lights on - 15m +_nearObjects = [nearestObjects [_unit, ["All"], 15], {(inflamed _this) || (isLightOn _this)}] call EFUNC(common,filter); +if (count (_nearObjects) > 0) then { + _light = _nearObjects select 0; + + _ll = (1 - (((((_unit distance _light) - 5)/10) max 0) min 1)); + if (_ll > _lightLevel) then { + _lightLevel = _ll; + TRACE_1("player near campfire",""); + }; +}; + + +// Gun with light +_nearObjects = [nearestObjects [_unit, ["CAManBase"], 10], { _this isFlashlightOn (currentWeapon _this)}] call EFUNC(common,filter); +if (count (_nearObjects) > 0) then { + _light = (_nearObjects select 0); + _flashlight = (_light weaponAccessories currentMuzzle _light) select 1; + + // Check if it's a day laser + if (_flashlight == "ACE_acc_pointer_red") exitWith {}; + if (_flashlight == "ACE_acc_pointer_green") exitWith {}; + + _lightLevel = _lightLevel max (1 - (((((_unit distance _light) - 2)/8) max 0) min 1)); + TRACE_1("Using gun light",""); +}; + + +// @todo: Illumination flares (timed) + + +// Using chemlights +_nearObjects = [_unit nearObjects ["SmokeShell", 4], { + alive _this && {(typeOf _this == "Chemlight_red") || { + (typeOf _this == "Chemlight_green") || { + (typeOf _this == "Chemlight_blue") || { + (typeOf _this == "Chemlight_yellow")}}}}}] call EFUNC(common,filter); +if (count (_nearObjects) > 0) then { + _light = _nearObjects select 0; + + _ll = (1 - ((((_unit distance _light) - 2)/2) max 0)) * 0.4; + if (_ll > _lightLevel) then { + _flareTint = switch (typeOf _light) do { + case "Chemlight_red" : {[1,0,0,1]}; + case "Chemlight_green" : {[0,1,0,1]}; + case "Chemlight_blue" : {[0,0,1,1]}; + case "Chemlight_yellow" : {[1,1,0,1]}; + }; + _lightTint = [_lightTint, _flareTint, (_ll - _lightLevel)/(1 - _lightLevel)] call _fnc_blendColor; + _lightLevel = _ll; + TRACE_1("player near chemlight",""); + }; +}; + +// Do not obscure the map if the ambient light level is above 0.95 +if (_lightLevel > 0.95) exitWith { + [false, [0.5,0.5,0.5,0]] +}; + +// Calculate resulting map color +[true, [_lightTint, _lightLevel] call _fnc_calcColor] diff --git a/addons/map/functions/fnc_determineZoom.sqf b/addons/map/functions/fnc_determineZoom.sqf new file mode 100644 index 0000000000..fdc620b417 --- /dev/null +++ b/addons/map/functions/fnc_determineZoom.sqf @@ -0,0 +1,43 @@ +/* +* Author: Rocko +* Calculate the maximum zoom level allowed for the current map +* +* Arguments: +* None +* +* Return Value: +* None +* +* Public: No +*/ +#include "script_component.hpp" + +private ["_grids", "_fourSize", "_sixSize", "_continue", "_size"]; +_grids = configFile >> "CfgWorlds" >> worldName >> "Grid"; +_fourSize = -1; +_sixSize = -1; +for "_i" from 1 to 10 do { + _continue = false; + if (isClass(_grids >> format["Zoom%1", _i])) then { + _continue = true; + _size = getText(_grids >> format["Zoom%1", _i] >> "formatX"); + if ((count toArray(_size)) == 2) then { + _fourSize = getNumber(_grids >> format["Zoom%1", _i] >> "zoomMax"); + }; + if ((count toArray(_size)) == 3) then { + _sixSize = getNumber(_grids >> format["Zoom%1", _i] >> "zoomMax"); + }; + if (_fourSize != -1 && {_sixSize != -1}) then { + _continue = false; + }; + }; + if (!_continue) exitWith {}; +}; + +if(_fourSize != -1 && {_sixSize != -1}) then { + if (isNil QGVAR(minMapSize)) then { + GVAR(minMapSize) = _sixSize + 0.01 + } else { + GVAR(minMapSize) = -1 + }; +}; diff --git a/addons/map/functions/fnc_moduleMap.sqf b/addons/map/functions/fnc_moduleMap.sqf new file mode 100644 index 0000000000..4fdea61420 --- /dev/null +++ b/addons/map/functions/fnc_moduleMap.sqf @@ -0,0 +1,22 @@ +/* + * Author: CAA-Picard + * Initializes the Map module. + * + * Arguments: + * Whatever the module provides. (I dunno.) + * + * Return Value: + * None + */ +#include "script_component.hpp" + +_logic = _this select 0; +_activated = _this select 2; + +if !(_activated) exitWith {}; + +[_logic, QGVAR(mapIllumination), "MapIllumination"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(mapShake), "MapShake" ] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(mapLimitZoom), "MapLimitZoom" ] call EFUNC(common,readSettingFromModule); + +diag_log text "[ACE]: Interaction Module Initialized."; diff --git a/addons/map/functions/fnc_updateMapEffects.sqf b/addons/map/functions/fnc_updateMapEffects.sqf new file mode 100644 index 0000000000..ad32a02632 --- /dev/null +++ b/addons/map/functions/fnc_updateMapEffects.sqf @@ -0,0 +1,78 @@ +/* +* Author: Rocko and CAA-Picard +* On map draw, updates the effects +* +* Arguments: +* None +* +* Return Value: +* None +* +* Public: No +*/ +#include "script_component.hpp" + +private ["_mapCtrl","_mapScale"]; + +_mapCtrl = ((findDisplay 12) displayCtrl 51); +_mapScale = ctrlMapScale _mapCtrl; + +if (GVAR(mapIllumination)) then { + private ["_data","_darkenFill"]; + + // Calculate map illumination + _data = [[ACE_player], FUNC(determineMapLight), missionNamespace, QGVAR(mapLight), 0.1] call EFUNC(common,cachedCall); + + EXPLODE_2_PVT(_data,_darkenMap,_darkenColor); + if (_darkenMap) then { + _darkenFill = format["#(rgb,1,1,1)color(%1,%2,%3,%4)",_darkenColor select 0, _darkenColor select 1, _darkenColor select 2, _darkenColor select 3]; + _mapCtrl drawRectangle [(getArray(configFile >> 'CfgWorlds' >> worldName >> 'centerPosition')),80000,80000,0,_darkenColor,_darkenFill]; + }; +}; + +if (GVAR(mapShake)) then { + private ["_speed","_amplitude", "_time", "_shakePos"]; + + // Only shake map while moving on foot + _speed = 0; + if (vehicle ACE_player == ACE_player) then { + _speed = vectorMagnitude (velocity ACE_player); + }; + + // If speed is large enough, create anims to shake map + if (_speed > 0.1) then { + if (ctrlMapAnimDone _mapCtrl) then { + + _amplitude = (_speed - 0.1) / 5 * (1000 * _mapScale); + _time = 0.1; + + _shakePos = [(GVAR(lastStillPosition) select 0) + sin((time + _time - GVAR(lastStillTime))*100) * _amplitude * 0.25, + (GVAR(lastStillPosition) select 1) + sin((time + _time - GVAR(lastStillTime))*260) * _amplitude]; + + _mapCtrl ctrlMapAnimAdd [_time, _mapScale, _shakePos]; + ctrlMapAnimCommit _mapCtrl; + + GVAR(isShaking) = true; + }; + } else { + if (GVAR(isShaking)) then { + // Stop shaking, return to original position + _mapCtrl ctrlMapAnimAdd [0, _mapScale, GVAR(lastStillPosition)]; + ctrlMapAnimCommit _mapCtrl; + GVAR(isShaking) = false; + } else { + // The map is still, store state + ctrlMapAnimClear _mapCtrl; + GVAR(lastStillPosition) = _mapCtrl ctrlMapScreenToWorld [0.5, 0.5]; + GVAR(lastStillTime) = time; + }; + }; +}; + +if (GVAR(mapLimitZoom)) then { + if (GVAR(minMapSize) >= _mapScale) then { + ctrlMapAnimClear _mapCtrl; + _mapCtrl ctrlMapAnimAdd [0, GVAR(minMapSize) + 0.001, (_mapCtrl ctrlMapScreenToWorld [0.5, 0.5])]; + ctrlMapAnimCommit _mapCtrl; + }; +}; diff --git a/addons/map/stringtable.xml b/addons/map/stringtable.xml index afc6c2cec2..e3e2a6fe93 100644 --- a/addons/map/stringtable.xml +++ b/addons/map/stringtable.xml @@ -2,147 +2,6 @@ - - Map Tools - Herramientas de mapa - Outils de navigation - Narzędzia nawigacyjne - Kartenwerkzeug - Pomůcky k Mapě - Strumenti Cartografici - Ferramentas de Mapa - Térképészeti eszközök - Инструменты карты - - - The Map Tools allow you to measure distances and angles on the map. - Las herramientas de mapa permiten medir distancias y ángulos en el mapa. - Les outils de navigation permettent de mesurer des distances et des angles sur la carte. - Narzędzia nawigacyjne pozwalają na mierzenie odległości i kątów na mapie. - Das Kartenwerkzeug erlaubt es dir, Distanzen und Winkel zu messen. - Pomůcky k mapě slouží k měření vzdáleností a úhlů na mapě. - Gli Strumenti Cartografici ti consentono di misurare distanze ed angoli sulla mappa. - As Ferramentas de Mapa permitem que você meça distâncias e ângulos no mapa. - A térképészeti eszközökkel távolságokat és szögeket tud mérni a térképen. - Картографические инструменты позволяют измерять расстояния и углы на карте. - - - Map Tools >> - Herramientas de mapa >> - Outils de navigation >> - Narzędzia nawigacyjne >> - Kartenwerkzeug >> - Pomůcky k Mapě >> - Strumenti Cartografici >> - Ferramentas de Mapa >> - Térképészeti eszközök >> - Инструменты карты >> - - - Hide Map Tool - Verstecke Kartenwerkzeug - Ocultar herr. de mapa - Ranger les outils - Nascondi Strumenti Cartografici - Ocultar Ferramenta de Mapa - Térképészeti eszközök elrejtése - Ukryj narzędzia nawigacyjne - Schovat pomůcku k mapě - Скрыть инструменты - - - Show Normal Map Tool - Zeige Kartenwerkzeug (normal) - Mostrar herr. de mapa normal - Montrer outils normaux - Visualizza Strumenti Cartografici standard - Mostrar Ferramenta de Mapa Padrão - Térképészeti eszköz megjelenítése (normál méret) - Pokaż normalne narzędzia nawigacyjne - Zobrazit normální pomůcku k mapě - Показать инструменты (средн. размер) - - - Show Small Map Tool - Zeige Kartenwerkzeug (klein) - Mostrar herr. de mapa pequeñas - Montrer petits outils - Visualizza Strumenti Cartografici piccoli - Mostrar Ferramenta de Mapa Pequena - Térképészeti eszköz megjelenítése (kicsinyített) - Pokaż pomniejszone narzędzia nawigacyjne - Zobrazit malou pomůcku k mapě - Показать инструменты (малый размер) - - - Align Map Tool to North - Kartenwerkzeug nach Norden ausrichten - Alinear herr. de mapa al norte - Aligner au nord - Allinea gli Strumenti Cartografici con il Nord - Alinhar Ferramenta de Mapa com o Norte - Térképészeti eszköz Északhoz állítása - Wyrównaj linijkę do północy - Srovnat pomůcku k mapě na sever - Выровнять инструменты на север - - - Align Map Tool to Compass - Kartenwerkzeug am Kompass ausrichten - Alinear herr. de mapa a la brújula - Aligner sur la boussole - Allinea gli Strumenti Cartografici con la bussola - Alinhar Ferramenta de Mapa com a Bússola - Térképészeti eszköz iránytűhöz állítása - Wyrównaj linijkę do kompasu - Srovnat pomůcku k mapě ke kompasu - Выровнять инструменты по компасу - - - Show GPS on Map - Zeige GPS auf der Karte - Mostrar el GPS sobre el mapa - Ranger le GPS - Visualizza il GPS sulla mappa - Mostrar GPS no Mapa - GPS megjelnítése a térképen - Pokaż GPS na mapie - Zobrazit GPS na mapě - Показать GPS на карте - - - Hide GPS on Map - Verstecke GPS auf der Karte - Ocultar el GPS del mapa - Montrer le GPS - Nascondi il GPS sulla mappa - Ocultar GPS no Mapa - GPS elrejtése térképről - Ukryj GPS na mapie - Schovat GPS na mapě - Скрыть GPS на карте - - - Copy Map - Karte kopieren - Copiar mapa - Скопировать карту - Kopiuj oznaczenia mapy - Copier la carte - Zkopírovat mapu - Copiare Carta - Térkép másolása - Copiar Mapa - - - Direction: %1° - Drehung: %1° - Direction: %1° - Směr: %1° - Kierunek: %1° - Dirección: %1° - Irány: %1 - Направление:%1 - + \ No newline at end of file diff --git a/addons/maptools/$PBOPREFIX$ b/addons/maptools/$PBOPREFIX$ new file mode 100644 index 0000000000..15fe8ae13f --- /dev/null +++ b/addons/maptools/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\Addons\maptools \ No newline at end of file diff --git a/addons/maptools/CfgEventHandlers.hpp b/addons/maptools/CfgEventHandlers.hpp new file mode 100644 index 0000000000..27bbf326d3 --- /dev/null +++ b/addons/maptools/CfgEventHandlers.hpp @@ -0,0 +1,11 @@ +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE( call COMPILE_FILE(XEH_preInit) ); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + clientInit = QUOTE( call COMPILE_FILE(XEH_postInitClient) ); + }; +}; diff --git a/addons/maptools/CfgMarkers.hpp b/addons/maptools/CfgMarkers.hpp new file mode 100644 index 0000000000..8a2b86fc13 --- /dev/null +++ b/addons/maptools/CfgMarkers.hpp @@ -0,0 +1,26 @@ +// MARKERS +class CfgMarkers { + class ACE_MapToolFixed { + name = "MapToolFixed"; + icon = PATHTOF(data\mapToolFixed.paa); + scope = 0; + color[] = {1,1,1,1}; + size = 32; + }; + + class ACE_MapToolRotatingNormal { + name = "MapToolRotating"; + icon = PATHTOF(data\mapToolRotatingNormal.paa); + scope = 0; + color[] = {1,1,1,1}; + size = 32; + }; + + class ACE_MapToolRotatingSmall { + name = "MapToolRotating"; + icon = PATHTOF(data\mapToolRotatingSmall.paa); + scope = 0; + color[] = {1,1,1,1}; + size = 32; + }; +}; diff --git a/addons/maptools/CfgVehicles.hpp b/addons/maptools/CfgVehicles.hpp new file mode 100644 index 0000000000..4ecc649893 --- /dev/null +++ b/addons/maptools/CfgVehicles.hpp @@ -0,0 +1,128 @@ +class CfgVehicles { + class Man; + class CAManBase: Man { + class ACE_SelfActions { + + class ACE_MapTools { + displayName = "$STR_ACE_MapTools_MapTools_Menu"; + condition = QUOTE((call FUNC(canUseMapTools) || {call FUNC(canUseMapGPS)})); + statement = ""; + exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)}; + showDisabled = 0; + priority = 100; + enableInside = 1; + + class ACE_MapToolsHide { + displayName = "$STR_ACE_MapTools_MapToolsHide"; + condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 0})); + statement = QUOTE(GVAR(mapTool_Shown) = 0; [] call FUNC(updateMapToolMarkers)); + exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)}; + showDisabled = 1; + priority = 5; + enableInside = 1; + }; + class ACE_MapToolsShowNormal { + displayName = "$STR_ACE_MapTools_MapToolsShowNormal"; + condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 1})); + statement = QUOTE(GVAR(mapTool_Shown) = 1; [] call FUNC(updateMapToolMarkers)); + exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)}; + showDisabled = 1; + priority = 4; + enableInside = 1; + }; + class ACE_MapToolsShowSmall { + displayName = "$STR_ACE_MapTools_MapToolsShowSmall"; + condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 2})); + statement = QUOTE(GVAR(mapTool_Shown) = 2; [] call FUNC(updateMapToolMarkers)); + exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)}; + showDisabled = 1; + priority = 3; + enableInside = 1; + }; + class ACE_MapToolsAlignNorth { + displayName = "$STR_ACE_MapTools_MapToolsAlignNorth"; + condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 0})); + statement = QUOTE(GVAR(mapTool_angle) = 0; [] call FUNC(updateMapToolMarkers)); + exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)}; + showDisabled = 1; + priority = 2; + enableInside = 1; + }; + class ACE_MapToolsAlignCompass { + displayName = "$STR_ACE_MapTools_MapToolsAlignCompass"; + condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 0} && {('ItemCompass' in assigneditems ACE_player) || {'ItemCompass' in assigneditems ACE_player}})); + statement = QUOTE(GVAR(mapTool_angle) = getDir ACE_player; [] call FUNC(updateMapToolMarkers)); + exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)}; + showDisabled = 1; + priority = 1; + enableInside = 1; + }; + class ACE_MapGpsShow { + displayName = "$STR_ACE_MapTools_MapGpsShow"; + condition = QUOTE((call FUNC(canUseMapGPS) && {!GVAR(mapGpsShow)})); + statement = QUOTE(GVAR(mapGpsShow) = true; [GVAR(mapGpsShow)] call FUNC(openMapGps)); + exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)}; + showDisabled = 0; + priority = 0; + enableInside = 1; + }; + class ACE_MapGpsHide { + displayName = "$STR_ACE_MapTools_MapGpsHide"; + condition = QUOTE((call FUNC(canUseMapGPS) && {GVAR(mapGpsShow)})); + statement = QUOTE(GVAR(mapGpsShow) = false; [GVAR(mapGpsShow)] call FUNC(openMapGps)); + exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)}; + showDisabled = 0; + priority = 0; + enableInside = 1; + }; + }; + }; + + class ACE_Actions { + class ACE_MainActions { + class ACE_CopyMap { + displayName = "$STR_ACE_MapTools_CopyMap"; + condition = QUOTE(([_target] call EFUNC(common,isPlayer) && {'ItemMap' in assigneditems _player} && {'ACE_MapTools' in items _player} && {'ItemMap' in assignedItems _target})); + statement = QUOTE([ARR_2(_player,_target)] call FUNC(copyMapStart)); + showDisabled = 0; + priority = -1; + }; + }; + }; + }; + + class NATO_Box_Base; + class EAST_Box_Base; + class IND_Box_Base; + class FIA_Box_Base_F; + + class Box_NATO_Support_F: NATO_Box_Base { + class TransportItems { + MACRO_ADDITEM(ACE_MapTools,12); + }; + }; + + class Box_East_Support_F: EAST_Box_Base { + class TransportItems { + MACRO_ADDITEM(ACE_MapTools,12); + }; + }; + + class Box_IND_Support_F: IND_Box_Base { + class TransportItems { + MACRO_ADDITEM(ACE_MapTools,12); + }; + }; + + class Box_FIA_Support_F: FIA_Box_Base_F { + class TransportItems { + MACRO_ADDITEM(ACE_MapTools,12); + }; + }; + + class ACE_Box_Misc: Box_NATO_Support_F { + class TransportItems { + MACRO_ADDITEM(ACE_MapTools,12); + }; + }; +}; diff --git a/addons/maptools/CfgWeapons.hpp b/addons/maptools/CfgWeapons.hpp new file mode 100644 index 0000000000..9d4d313c43 --- /dev/null +++ b/addons/maptools/CfgWeapons.hpp @@ -0,0 +1,15 @@ +class CfgWeapons { + class ACE_ItemCore; + class InventoryItem_Base_F; + + class ACE_MapTools: ACE_ItemCore { + displayName = "$STR_ACE_MapTools_Name"; + descriptionShort = "$STR_ACE_MapTools_Description"; + model = "\A3\weapons_F\ammo\mag_univ.p3d"; + picture = PATHTOF(UI\maptool_item.paa); + scope = 2; + class ItemInfo: InventoryItem_Base_F { + mass = 1; + }; + }; +}; diff --git a/addons/maptools/MapControls.hpp b/addons/maptools/MapControls.hpp new file mode 100644 index 0000000000..409796a6b1 --- /dev/null +++ b/addons/maptools/MapControls.hpp @@ -0,0 +1,80 @@ +class controls { + class CA_PlayerName: RscText { + x = "2 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + }; + class ProfilePicture: RscPicture { + x = "13.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + }; + class ProfileBackground: RscText { + x = "13.3 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + }; + class Separator1: RscPicture { + x = "14.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + }; + class ColorBlack: RscButton { + idc = 36732; + x = "0 * (((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0.2,0.2,0.2,1}; + colorBackgroundActive[] = {0,0,0,1}; + colorFocused[] = {0,0,0,1}; + onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QUOTE(QGVAR(drawing_drawColor)),'ColorBlack')]); + }; + class ColorRed: RscButton { + idc = 36733; + x = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0.8,0.2,0.2,1}; + colorBackgroundActive[] = {1,0,0,1}; + colorFocused[] = {1,0,0,1}; + onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QUOTE(QGVAR(drawing_drawColor)),'ColorRed')]); + }; + class ColorGreen: RscButton { + idc = 36734; + x = "0.6 * (((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0.2,0.8,0.2,1}; + colorBackgroundActive[] = {0,1,0,1}; + colorFocused[] = {0,1,0,1}; + onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QUOTE(QGVAR(drawing_drawColor)),'ColorGreen')]); + }; + class ColorBlue: RscButton { + idc = 36735; + x = "0.9 * (((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0.2,0.2,0.8,1}; + colorBackgroundActive[] = {0,0,1,1}; + colorFocused[] = {0,0,1,1}; + onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QUOTE(QGVAR(drawing_drawColor)),'ColorBlue')]); + }; + class ColorYellow: RscButton { + idc = 36736; + x = "1.2 * (((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0.8,0.8,0.2,1}; + colorBackgroundActive[] = {1,1,0,1}; + colorFocused[] = {1,1,0,1}; + onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QUOTE(QGVAR(drawing_drawColor)),'ColorYellow')]); + }; + class ColorWhite: RscButton { + idc = 36737; + x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0.8,0.8,0.8,1}; + colorBackgroundActive[] = {1,1,1,1}; + colorFocused[] = {1,1,1,1}; + onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QUOTE(QGVAR(drawing_drawColor)),'ColorWhite')]); + }; +}; diff --git a/addons/maptools/MapGpsUI.hpp b/addons/maptools/MapGpsUI.hpp new file mode 100644 index 0000000000..ff8ec8b96e --- /dev/null +++ b/addons/maptools/MapGpsUI.hpp @@ -0,0 +1,79 @@ +#define GUI_GRID_X (0) +#define GUI_GRID_Y (0) +#define GUI_GRID_W (0.025) +#define GUI_GRID_H (0.04) + +#define ST_LEFT 0x00 +#define ST_RIGHT 0x01 +#define ST_CENTER 0x02 + +#define W_gps 0.4025 +#define H_gps 0.25 +#define X_gps safeZoneX + safeZoneW - 1.1 * W_gps +#define Y_gps safeZoneY + safeZoneH - 1.2 * H_gps + +class RscTitles { + class RscACE_MapGps { + idd = 9855; + movingEnable = 1; + duration = 3600; + fadein = 0; + fadeout = 0; + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(ui_mapGpsDisplay)), _this select 0)];); + class controls { + class back:RscPicture { + x = X_gps; + y = Y_gps; + w = W_gps; + h = H_gps; + text = PATHTOF(UI\mapGps.paa); + colorBackground[] = {1, 1, 1, 1}; + }; + class heading: RscText{ + idc = 913590; + x = X_gps + W_gps * 0.25; + y = Y_gps + H_gps * 0.12; + w = W_gps * 0.2; + h = H_gps * 0.16; + style = ST_LEFT; + text = "225"; + colorBackground[] = {0,0,0,0}; + colorText[] = {0.247,0.251,0.157,1}; + shadowColo[] = {0,0,0,0}; + font = "EtelkaNarrowMediumPro"; + shadow = 0; + sizeEx = 0.042; + }; + class altitude: RscText{ + idc = 913591; + x = X_gps + W_gps * 0.55; + y = Y_gps + H_gps * 0.12; + w = W_gps * 0.2; + h = H_gps * 0.16; + style = ST_RIGHT; + text = "55 m"; + colorBackground[] = {0,0,0,0}; + colorText[] = {0.247,0.251,0.157,1}; + shadowColo[] = {0,0,0,0}; + font = "EtelkaNarrowMediumPro"; + shadow = 0; + sizeEx = 0.042; + }; + class coordinates: RscText{ + idc = 913592; + x = X_gps + W_gps * 0.2; + y = Y_gps + H_gps * 0.33; + w = W_gps * 0.6; + h = H_gps * 0.35; + style = ST_CENTER; + text = "012.3 115.1"; + colorBackground[] = {0,0,0,0}; + colorText[] = {0.247,0.251,0.157,1}; + shadowColo[] = {0,0,0,0}; + font = "EtelkaNarrowMediumPro"; + shadow = 0; + sizeEx = 0.1; + }; + }; + }; +}; diff --git a/addons/maptools/README.md b/addons/maptools/README.md new file mode 100644 index 0000000000..9248948efa --- /dev/null +++ b/addons/maptools/README.md @@ -0,0 +1,14 @@ +ace_maptools +============ + +Map tools: +- Roamer +- Map drawing +- Showing GPS on map + +## Maintainers + +The people responsible for merging changes to this component or answering potential questions. + +- [esteldunedain](https://github.com/esteldunedain) +- [NouberNou](https://github.com/NouberNou) diff --git a/addons/maptools/UI/IconBFTracking_ca.paa b/addons/maptools/UI/IconBFTracking_ca.paa new file mode 100644 index 0000000000..128f08f6f0 Binary files /dev/null and b/addons/maptools/UI/IconBFTracking_ca.paa differ diff --git a/addons/map/UI/mapGps.paa b/addons/maptools/UI/mapGps.paa similarity index 100% rename from addons/map/UI/mapGps.paa rename to addons/maptools/UI/mapGps.paa diff --git a/addons/map/UI/maptool_item.paa b/addons/maptools/UI/maptool_item.paa similarity index 100% rename from addons/map/UI/maptool_item.paa rename to addons/maptools/UI/maptool_item.paa diff --git a/addons/maptools/XEH_postInitClient.sqf b/addons/maptools/XEH_postInitClient.sqf new file mode 100644 index 0000000000..5267a8c802 --- /dev/null +++ b/addons/maptools/XEH_postInitClient.sqf @@ -0,0 +1,71 @@ +// by CAA-Picard + +#include "script_component.hpp" + +if (!hasInterface) exitWith {}; + +// Init variables +GVAR(mapVisableLastFrame) = false; +GVAR(mapGpsShow) = true; + +GVAR(mapTool_Shown) = 0; +GVAR(mapTool_pos) = [0,0]; +GVAR(mapTool_angle) = 0; +GVAR(mapTool_isDragging) = false; +GVAR(mapTool_isRotating) = false; + +GVAR(drawing_isDrawing) = false; +GVAR(drawing_tempLineMarker) = []; +GVAR(drawing_lineMarkers) = []; +GVAR(drawing_drawColor) = "ColorBlack"; +GVAR(drawing_controls) = [36732, 36733, 36734, 36735, 36736, 36737]; + +// This spawn is probably worth keeping, as pfh don't work natively on the briefing screen and IDK how reliable the hack we implemented for them is. +// The thread dies as soon as the mission start, so it's not really compiting for scheduler space. +[] spawn { + _fnc_installMapEvents = { + _d = _this; + ((finddisplay _d) displayctrl 51) ctrlAddEventHandler ["MouseMoving", {_this call FUNC(handleMouseMove);}]; + ((finddisplay _d) displayctrl 51) ctrlAddEventHandler ["MouseButtonDown", {[1, _this] call FUNC(handleMouseButton);}]; + ((finddisplay _d) displayctrl 51) ctrlAddEventHandler ["MouseButtonUp", {[0, _this] call FUNC(handleMouseButton)}]; + ((finddisplay _d) displayctrl 51) ctrlAddEventHandler ["Draw", {[] call FUNC(updateMapToolMarkers);}]; + (finddisplay _d) displayAddEventHandler ["KeyDown", {_this call FUNC(handleKeyDown);}]; + }; + + // Wait until the briefing map is detected + // display = 37 for SP + // display = 52 for host server on MP; + // display = 53 for MP clients) + waitUntil {(!isNull findDisplay 37) || (!isNull findDisplay 52) || (!isNull findDisplay 53) || (!isNull findDisplay 12)}; + + if (isNull findDisplay 12) then { + // Install event handlers on the map control of the briefing screen (control = 51) + GVAR(drawing_syncMarkers) = true; + if (!isNull findDisplay 52) then { + 52 call _fnc_installMapEvents; + } else { + if (!isNull findDisplay 53) then { + 53 call _fnc_installMapEvents; + } else { + 37 call _fnc_installMapEvents; + }; + }; + } else { + // Briefing screen was skipped; the player is JIP, create the markers defined during the briefing + GVAR(drawing_syncMarkers) = false; + { + _x call FUNC(addLineMarker); + } forEach GVAR(drawing_serverLineMarkers); + }; + + // Wait until the main map display is detected (display = 12) + waitUntil { !isNull findDisplay 12 }; + // Install event handlers on the map control and display (control = 51) + GVAR(drawing_syncMarkers) = false; + 12 call _fnc_installMapEvents; + + // Update the size and rotation of map tools + [] call FUNC(updateMapToolMarkers); + + [FUNC(mapStateUpdater), 0, []] call CBA_fnc_addPerFrameHandler; +}; diff --git a/addons/maptools/XEH_preInit.sqf b/addons/maptools/XEH_preInit.sqf new file mode 100644 index 0000000000..20777fb118 --- /dev/null +++ b/addons/maptools/XEH_preInit.sqf @@ -0,0 +1,38 @@ +#include "script_component.hpp" + +ADDON = false; + +PREP(addLineMarker); +PREP(calculateMapScale); +PREP(cancelDrawing); +PREP(canDraw); +PREP(canUseMapTools); +PREP(canUseMapGPS); +PREP(copyMapReceiveMarkers); +PREP(copyMapRemoteSend); +PREP(copyMapStart); +PREP(handleKeyDown); +PREP(handleMouseButton); +PREP(handleMouseMove); +PREP(handleMouseZChanged); +PREP(isInsideMapTool); +PREP(mapStateUpdater); +PREP(openMapGps); +PREP(openMapGpsUpdate); +PREP(removeLineMarker); +PREP(updateMapToolMarkers); +PREP(updateLineMarker); + +if (isServer) then { + GVAR(drawing_serverLineMarkers) = []; + publicVariable QGVAR(drawing_serverLineMarkers); +}; + +//Add Event Handlers: +["drawing_removeLineMarker", FUNC(removeLineMarker) ] call EFUNC(common,addEventHandler); +["drawing_addLineMarker", FUNC(addLineMarker) ] call EFUNC(common,addEventHandler); + +["drawing_requestMarkers", FUNC(copyMapRemoteSend) ] call EFUNC(common,addEventHandler); +["drawing_sendbackMarkers", FUNC(copyMapReceiveMarkers) ] call EFUNC(common,addEventHandler); + +ADDON = true; diff --git a/addons/maptools/config.cpp b/addons/maptools/config.cpp new file mode 100644 index 0000000000..ea39ca7708 --- /dev/null +++ b/addons/maptools/config.cpp @@ -0,0 +1,74 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {"ACE_MapTools"}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common", "ace_interaction"}; + author[] = {"CAA-Picard"}; + authorUrl = "https://github.com/esteldunedain/"; + VERSION_CONFIG; + }; +}; + +class ACE_Settings { + class GVAR(EveryoneCanDrawOnBriefing) { + value = 1; + typeName = "BOOL"; + }; +}; + +class RscControlsGroup; +class RscActiveText; +class RscPicture; +class RscText; +class RscObject; +class RscButton; +class RscButtonMenuOK; +class RscButtonMenuCancel; +class RscButtonMenu; +class RscEdit; + +#include "MapGpsUI.hpp" +#include "CfgEventHandlers.hpp" +#include "CfgMarkers.hpp" +#include "CfgVehicles.hpp" +#include "CfgWeapons.hpp" + + +// REGULAR MAP +class RscDisplayMainMap { + // Create the drawing color selector + class controls { + class TopRight: RscControlsGroup { + #include "MapControls.hpp" + }; + }; +}; + +// BRIEFING SCREEN +class RscDisplayGetReady: RscDisplayMainMap { + // Create the drawing color selector + class controls { + class TopRight: RscControlsGroup { + #include "MapControls.hpp" + }; + }; +}; +class RscDisplayClientGetReady: RscDisplayGetReady { + // Create the drawing color selector + class controls { + class TopRight: RscControlsGroup { + #include "MapControls.hpp" + }; + }; +}; +class RscDisplayServerGetReady: RscDisplayGetReady { + // Create the drawing color selector + class controls { + class TopRight: RscControlsGroup { + #include "MapControls.hpp" + }; + }; +}; diff --git a/addons/map/data/mapToolFixed.paa b/addons/maptools/data/mapToolFixed.paa similarity index 100% rename from addons/map/data/mapToolFixed.paa rename to addons/maptools/data/mapToolFixed.paa diff --git a/addons/map/data/mapToolRotatingNormal.paa b/addons/maptools/data/mapToolRotatingNormal.paa similarity index 100% rename from addons/map/data/mapToolRotatingNormal.paa rename to addons/maptools/data/mapToolRotatingNormal.paa diff --git a/addons/map/data/mapToolRotatingSmall.paa b/addons/maptools/data/mapToolRotatingSmall.paa similarity index 100% rename from addons/map/data/mapToolRotatingSmall.paa rename to addons/maptools/data/mapToolRotatingSmall.paa diff --git a/addons/map/functions/fnc_addLineMarker.sqf b/addons/maptools/functions/fnc_addLineMarker.sqf similarity index 100% rename from addons/map/functions/fnc_addLineMarker.sqf rename to addons/maptools/functions/fnc_addLineMarker.sqf diff --git a/addons/map/functions/fnc_calculateMapScale.sqf b/addons/maptools/functions/fnc_calculateMapScale.sqf similarity index 100% rename from addons/map/functions/fnc_calculateMapScale.sqf rename to addons/maptools/functions/fnc_calculateMapScale.sqf diff --git a/addons/map/functions/fnc_canDraw.sqf b/addons/maptools/functions/fnc_canDraw.sqf similarity index 100% rename from addons/map/functions/fnc_canDraw.sqf rename to addons/maptools/functions/fnc_canDraw.sqf diff --git a/addons/map/functions/fnc_canUseMapGPS.sqf b/addons/maptools/functions/fnc_canUseMapGPS.sqf similarity index 100% rename from addons/map/functions/fnc_canUseMapGPS.sqf rename to addons/maptools/functions/fnc_canUseMapGPS.sqf diff --git a/addons/map/functions/fnc_canUseMapTools.sqf b/addons/maptools/functions/fnc_canUseMapTools.sqf similarity index 100% rename from addons/map/functions/fnc_canUseMapTools.sqf rename to addons/maptools/functions/fnc_canUseMapTools.sqf diff --git a/addons/map/functions/fnc_cancelDrawing.sqf b/addons/maptools/functions/fnc_cancelDrawing.sqf similarity index 100% rename from addons/map/functions/fnc_cancelDrawing.sqf rename to addons/maptools/functions/fnc_cancelDrawing.sqf diff --git a/addons/map/functions/fnc_copyMapReceiveMarkers.sqf b/addons/maptools/functions/fnc_copyMapReceiveMarkers.sqf similarity index 100% rename from addons/map/functions/fnc_copyMapReceiveMarkers.sqf rename to addons/maptools/functions/fnc_copyMapReceiveMarkers.sqf diff --git a/addons/map/functions/fnc_copyMapRemoteSend.sqf b/addons/maptools/functions/fnc_copyMapRemoteSend.sqf similarity index 100% rename from addons/map/functions/fnc_copyMapRemoteSend.sqf rename to addons/maptools/functions/fnc_copyMapRemoteSend.sqf diff --git a/addons/map/functions/fnc_copyMapStart.sqf b/addons/maptools/functions/fnc_copyMapStart.sqf similarity index 100% rename from addons/map/functions/fnc_copyMapStart.sqf rename to addons/maptools/functions/fnc_copyMapStart.sqf diff --git a/addons/map/functions/fnc_handleKeyDown.sqf b/addons/maptools/functions/fnc_handleKeyDown.sqf similarity index 100% rename from addons/map/functions/fnc_handleKeyDown.sqf rename to addons/maptools/functions/fnc_handleKeyDown.sqf diff --git a/addons/map/functions/fnc_handleMouseButton.sqf b/addons/maptools/functions/fnc_handleMouseButton.sqf similarity index 100% rename from addons/map/functions/fnc_handleMouseButton.sqf rename to addons/maptools/functions/fnc_handleMouseButton.sqf diff --git a/addons/map/functions/fnc_handleMouseMove.sqf b/addons/maptools/functions/fnc_handleMouseMove.sqf similarity index 100% rename from addons/map/functions/fnc_handleMouseMove.sqf rename to addons/maptools/functions/fnc_handleMouseMove.sqf diff --git a/addons/map/functions/fnc_handleMouseZChanged.sqf b/addons/maptools/functions/fnc_handleMouseZChanged.sqf similarity index 100% rename from addons/map/functions/fnc_handleMouseZChanged.sqf rename to addons/maptools/functions/fnc_handleMouseZChanged.sqf diff --git a/addons/map/functions/fnc_isInsideMapTool.sqf b/addons/maptools/functions/fnc_isInsideMapTool.sqf similarity index 100% rename from addons/map/functions/fnc_isInsideMapTool.sqf rename to addons/maptools/functions/fnc_isInsideMapTool.sqf diff --git a/addons/map/functions/fnc_mapStateUpdater.sqf b/addons/maptools/functions/fnc_mapStateUpdater.sqf similarity index 100% rename from addons/map/functions/fnc_mapStateUpdater.sqf rename to addons/maptools/functions/fnc_mapStateUpdater.sqf diff --git a/addons/map/functions/fnc_openMapGps.sqf b/addons/maptools/functions/fnc_openMapGps.sqf similarity index 100% rename from addons/map/functions/fnc_openMapGps.sqf rename to addons/maptools/functions/fnc_openMapGps.sqf diff --git a/addons/map/functions/fnc_openMapGpsUpdate.sqf b/addons/maptools/functions/fnc_openMapGpsUpdate.sqf similarity index 100% rename from addons/map/functions/fnc_openMapGpsUpdate.sqf rename to addons/maptools/functions/fnc_openMapGpsUpdate.sqf diff --git a/addons/map/functions/fnc_removeLineMarker.sqf b/addons/maptools/functions/fnc_removeLineMarker.sqf similarity index 100% rename from addons/map/functions/fnc_removeLineMarker.sqf rename to addons/maptools/functions/fnc_removeLineMarker.sqf diff --git a/addons/map/functions/fnc_updateLineMarker.sqf b/addons/maptools/functions/fnc_updateLineMarker.sqf similarity index 100% rename from addons/map/functions/fnc_updateLineMarker.sqf rename to addons/maptools/functions/fnc_updateLineMarker.sqf diff --git a/addons/map/functions/fnc_updateMapToolMarkers.sqf b/addons/maptools/functions/fnc_updateMapToolMarkers.sqf similarity index 100% rename from addons/map/functions/fnc_updateMapToolMarkers.sqf rename to addons/maptools/functions/fnc_updateMapToolMarkers.sqf diff --git a/addons/maptools/functions/script_component.hpp b/addons/maptools/functions/script_component.hpp new file mode 100644 index 0000000000..adeb2788b5 --- /dev/null +++ b/addons/maptools/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\maptools\script_component.hpp" diff --git a/addons/maptools/script_component.hpp b/addons/maptools/script_component.hpp new file mode 100644 index 0000000000..a3dad97a49 --- /dev/null +++ b/addons/maptools/script_component.hpp @@ -0,0 +1,17 @@ +#define COMPONENT maptools +#include "\z\ace\Addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_MAPTOOLS + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_MAPTOOLS + #define DEBUG_SETTINGS DEBUG_SETTINGS_MAPTOOLS +#endif + +#include "\z\ace\Addons\main\script_macros.hpp" + + +#define MARKERNAME_MAPTOOL_FIXED "ACE_MapToolFixed" +#define MARKERNAME_MAPTOOL_ROTATINGNORMAL "ACE_MapToolRotatingNormal" +#define MARKERNAME_MAPTOOL_ROTATINGSMALL "ACE_MapToolRotatingSmall" diff --git a/addons/maptools/stringtable.xml b/addons/maptools/stringtable.xml new file mode 100644 index 0000000000..1658856128 --- /dev/null +++ b/addons/maptools/stringtable.xml @@ -0,0 +1,148 @@ + + + + + + Map Tools + Herramientas de mapa + Outils de navigation + Narzędzia nawigacyjne + Kartenwerkzeug + Pomůcky k Mapě + Strumenti Cartografici + Ferramentas de Mapa + Térképészeti eszközök + Инструменты карты + + + The Map Tools allow you to measure distances and angles on the map. + Las herramientas de mapa permiten medir distancias y ángulos en el mapa. + Les outils de navigation permettent de mesurer des distances et des angles sur la carte. + Narzędzia nawigacyjne pozwalają na mierzenie odległości i kątów na mapie. + Das Kartenwerkzeug erlaubt es dir, Distanzen und Winkel zu messen. + Pomůcky k mapě slouží k měření vzdáleností a úhlů na mapě. + Gli Strumenti Cartografici ti consentono di misurare distanze ed angoli sulla mappa. + As Ferramentas de Mapa permitem que você meça distâncias e ângulos no mapa. + A térképészeti eszközökkel távolságokat és szögeket tud mérni a térképen. + Картографические инструменты позволяют измерять расстояния и углы на карте. + + + Map Tools >> + Herramientas de mapa >> + Outils de navigation >> + Narzędzia nawigacyjne >> + Kartenwerkzeug >> + Pomůcky k Mapě >> + Strumenti Cartografici >> + Ferramentas de Mapa >> + Térképészeti eszközök >> + Инструменты карты >> + + + Hide Map Tool + Verstecke Kartenwerkzeug + Ocultar herr. de mapa + Ranger les outils + Nascondi Strumenti Cartografici + Ocultar Ferramenta de Mapa + Térképészeti eszközök elrejtése + Ukryj narzędzia nawigacyjne + Schovat pomůcku k mapě + Скрыть инструменты + + + Show Normal Map Tool + Zeige Kartenwerkzeug (normal) + Mostrar herr. de mapa normal + Montrer outils normaux + Visualizza Strumenti Cartografici standard + Mostrar Ferramenta de Mapa Padrão + Térképészeti eszköz megjelenítése (normál méret) + Pokaż normalne narzędzia nawigacyjne + Zobrazit normální pomůcku k mapě + Показать инструменты (средн. размер) + + + Show Small Map Tool + Zeige Kartenwerkzeug (klein) + Mostrar herr. de mapa pequeñas + Montrer petits outils + Visualizza Strumenti Cartografici piccoli + Mostrar Ferramenta de Mapa Pequena + Térképészeti eszköz megjelenítése (kicsinyített) + Pokaż pomniejszone narzędzia nawigacyjne + Zobrazit malou pomůcku k mapě + Показать инструменты (малый размер) + + + Align Map Tool to North + Kartenwerkzeug nach Norden ausrichten + Alinear herr. de mapa al norte + Aligner au nord + Allinea gli Strumenti Cartografici con il Nord + Alinhar Ferramenta de Mapa com o Norte + Térképészeti eszköz Északhoz állítása + Wyrównaj linijkę do północy + Srovnat pomůcku k mapě na sever + Выровнять инструменты на север + + + Align Map Tool to Compass + Kartenwerkzeug am Kompass ausrichten + Alinear herr. de mapa a la brújula + Aligner sur la boussole + Allinea gli Strumenti Cartografici con la bussola + Alinhar Ferramenta de Mapa com a Bússola + Térképészeti eszköz iránytűhöz állítása + Wyrównaj linijkę do kompasu + Srovnat pomůcku k mapě ke kompasu + Выровнять инструменты по компасу + + + Show GPS on Map + Zeige GPS auf der Karte + Mostrar el GPS sobre el mapa + Ranger le GPS + Visualizza il GPS sulla mappa + Mostrar GPS no Mapa + GPS megjelnítése a térképen + Pokaż GPS na mapie + Zobrazit GPS na mapě + Показать GPS на карте + + + Hide GPS on Map + Verstecke GPS auf der Karte + Ocultar el GPS del mapa + Montrer le GPS + Nascondi il GPS sulla mappa + Ocultar GPS no Mapa + GPS elrejtése térképről + Ukryj GPS na mapie + Schovat GPS na mapě + Скрыть GPS на карте + + + Copy Map + Karte kopieren + Copiar mapa + Скопировать карту + Kopiuj oznaczenia mapy + Copier la carte + Zkopírovat mapu + Copiare Carta + Térkép másolása + Copiar Mapa + + + Direction: %1° + Drehung: %1° + Direction: %1° + Směr: %1° + Kierunek: %1° + Dirección: %1° + Irány: %1 + Направление:%1 + + + \ No newline at end of file diff --git a/addons/medical/ACE_Medical_Treatments.hpp b/addons/medical/ACE_Medical_Treatments.hpp index b34403148e..28a9b82d8c 100644 --- a/addons/medical/ACE_Medical_Treatments.hpp +++ b/addons/medical/ACE_Medical_Treatments.hpp @@ -1,16 +1,15 @@ class ACE_Medical_Actions { class Basic { - // @todo: localization class Bandage { - displayName = "Bandage"; - displayNameProgress = "Bandaging ..."; + displayName = "$STR_ACE_Medical_Bandage"; + displayNameProgress = "$STR_ACE_Medical_Bandaging"; treatmentLocations[] = {"All"}; requiredMedic = 0; treatmentTime = 5; treatmentTimeSelfCoef = 1; - items[] = {{QGVAR(fieldDressing), QGVAR(packingBandage), QGVAR(elasticBandage), QGVAR(quikClot)}}; + items[] = {{"ACE_fieldDressing", "ACE_packingBandage", "ACE_elasticBandage", "ACE_quikclot"}}; condition = ""; itemConsumed = 1; @@ -25,28 +24,28 @@ class ACE_Medical_Actions { animationCallerSelfProne = "AinvPpneMstpSlayW[wpn]Dnon_medic"; }; class Morphine: Bandage { - displayName = "Morphine"; - displayNameProgress = "Injecting Morphine ..."; + displayName = "$STR_ACE_Medical_Inject_Morphine"; + displayNameProgress = "$STR_ACE_Medical_Injecting_Morphine"; treatmentTime = 2; - items[] = {QGVAR(morphine)}; + items[] = {"ACE_morphine"}; callbackSuccess = QUOTE(DFUNC(treatmentBasic_morphine)); animationCaller = "AinvPknlMstpSnonWnonDnon_medic1"; }; - class Epipen: Bandage { - displayName = "Epinephrine"; - displayNameProgress = "Injecting Epinephrine ..."; + class Epinephrine: Bandage { + displayName = "$STR_ACE_Medical_Inject_Epinephrine"; + displayNameProgress = "$STR_ACE_Medical_Injecting_Epinephrine"; requiredMedic = 1; treatmentTime = 3; - items[] = {QGVAR(epipen)}; + items[] = {"ACE_epinephrine"}; callbackSuccess = QUOTE(DFUNC(treatmentBasic_epipen)); animationCaller = "AinvPknlMstpSnonWnonDnon_medic1"; }; - class Bloodbag: Bandage { - displayName = "Blood Bag"; - displayNameProgress = "Transfusing Blood ..."; + class BloodIV: Bandage { + displayName = "$STR_ACE_Medical_Transfuse_Blood"; + displayNameProgress = "$STR_ACE_Medical_Transfusing_Blood"; requiredMedic = 1; treatmentTime = 20; - items[] = {{QGVAR(bloodIV), QGVAR(bloodIV_500), QGVAR(bloodIV_250)}}; + items[] = {{"ACE_bloodIV", "ACE_bloodIV_500", "ACE_bloodIV_250"}}; callbackSuccess = QUOTE(DFUNC(treatmentBasic_bloodbag)); animationCaller = "AinvPknlMstpSnonWnonDnon_medic1"; }; @@ -61,7 +60,7 @@ class ACE_Medical_Actions { // The time it takes for a treatment action to complete. Time is in seconds. treatmentTime = 5; // Item required for the action. Leave empty for no item required. - items[] = {QGVAR(fieldDressing)}; + items[] = {"ACE_fieldDressing"}; condition = ""; // Callbacks callbackSuccess = QUOTE(DFUNC(treatmentAdvanced_bandage)); @@ -75,67 +74,67 @@ class ACE_Medical_Actions { animationCallerSelfProne = "AinvPpneMstpSlayW[wpn]Dnon_medic"; }; class PackingBandage: fieldDressing { - items[] = {QGVAR(packingBandage)}; + items[] = {"ACE_packingBandage"}; }; class ElasticBandage: fieldDressing { - items[] = {QGVAR(elasticBandage)}; + items[] = {"ACE_elasticBandage"}; }; class QuikClot: fieldDressing { - items[] = {QGVAR(quikClot)}; + items[] = {"ACE_quikclot"}; }; class Tourniquet: fieldDressing { - items[] = {QGVAR(tourniquet)}; + items[] = {"ACE_tourniquet"}; treatmentTime = 6; callbackSuccess = QUOTE(DFUNC(treatmentTourniquet)); condition = QUOTE(!([ARR_2(_this select 1, _this select 2)] call FUNC(hasTourniquetAppliedTo))); }; class Morphine: fieldDressing { - items[] = {QGVAR(morphine)}; + items[] = {"ACE_morphine"}; treatmentTime = 3; callbackSuccess = QUOTE(DFUNC(treatmentAdvanced_medication)); animationCaller = "AinvPknlMstpSnonWnonDnon_medic1"; }; class Atropine: Morphine { - items[] = {QGVAR(atropine)}; + items[] = {"ACE_atropine"}; }; class Epinephrine: Morphine { - items[] = {QGVAR(epinephrine)}; + items[] = {"ACE_epinephrine"}; }; class BloodIV: fieldDressing { - items[] = {QGVAR(bloodIV)}; + items[] = {"ACE_bloodIV"}; requiredMedic = 1; treatmentTime = 7; callbackSuccess = QUOTE(DFUNC(treatmentIV)); animationCaller = "AinvPknlMstpSnonWnonDnon_medic1"; }; class BloodIV_500: BloodIV { - items[] = {QGVAR(bloodIV_500)}; + items[] = {"ACE_bloodIV_500"}; }; class BloodIV_250: BloodIV { - items[] = {QGVAR(bloodIV_250)}; + items[] = {"ACE_bloodIV_250"}; }; class PlasmaIV: BloodIV { - items[] = {QGVAR(plasmaIV)}; + items[] = {"ACE_plasmaIV"}; animationCaller = "AinvPknlMstpSnonWnonDnon_medic1"; }; class PlasmaIV_500: PlasmaIV { - items[] = {QGVAR(plasmaIV_500)}; + items[] = {"ACE_plasmaIV_500"}; }; class PlasmaIV_250: PlasmaIV { - items[] = {QGVAR(plasmaIV_250)}; + items[] = {"ACE_plasmaIV_250"}; }; class SalineIV: BloodIV { - items[] = {QGVAR(salineIV)}; + items[] = {"ACE_salineIV"}; animationCaller = "AinvPknlMstpSnonWnonDnon_medic1"; }; class SalineIV_500: SalineIV { - items[] = {QGVAR(salineIV_500)}; + items[] = {"ACE_salineIV_500"}; }; class SalineIV_250: SalineIV { - items[] = {QGVAR(salineIV_250)}; + items[] = {"ACE_salineIV_250"}; }; class SurgicalKit: fieldDressing { - items[] = {QGVAR(surgicalKit)}; + items[] = {"ACE_surgicalKit"}; treatmentLocations[] = {"MedicalFacility", "MedicalVehicle"}; requiredMedic = 2; treatmentTime = 15; @@ -144,7 +143,7 @@ class ACE_Medical_Actions { animationCaller = "AinvPknlMstpSnonWnonDnon_medic1"; }; class PersonalAidKit: fieldDressing { - items[] = {QGVAR(personalAidKit)}; + items[] = {"ACE_personalAidKit"}; treatmentLocations[] = {"All"}; requiredMedic = 1; treatmentTime = 15; @@ -192,7 +191,7 @@ class ACE_Medical_Actions { treatmentLocations[] = {"All"}; requiredMedic = 0; treatmentTime = 7.5; - items[] = {QGVAR(bodyBag)}; + items[] = {"ACE_bodyBag"}; condition = "!alive (_this select 1);"; callbackSuccess = QUOTE(DFUNC(actionPlaceInBodyBag)); callbackFailure = ""; diff --git a/addons/medical/CfgEventHandlers.hpp b/addons/medical/CfgEventHandlers.hpp index 9600675e46..6330819daa 100644 --- a/addons/medical/CfgEventHandlers.hpp +++ b/addons/medical/CfgEventHandlers.hpp @@ -42,3 +42,11 @@ class Extended_Local_EventHandlers { }; }; }; + +class Extended_Take_EventHandlers { + class CAManBase { + class ADDON { + take = QUOTE(call FUNC(itemCheck)); + }; + }; +}; diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index a15167f820..1efd4917fd 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -349,60 +349,67 @@ class CfgVehicles { class ACE_Head { runOnHover = 1; statement = QUOTE([ARR_3(_target, true, 0)] call DFUNC(displayPatientInformation)); + icon = PATHTOF(UI\icons\medical_cross.paa); - class Bandage_Head { - displayName = "Bandage Head"; + class Bandage { + displayName = "$STR_ACE_Medical_Bandage_HitHead"; distance = 2.0; - condition = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(treatment)); showDisabled = 1; priority = 2; hotkey = "B"; enableInside = 1; + icon = PATHTOF(UI\icons\bandage.paa); }; // Advanced medical class FieldDressing { displayName = "Field Dressing"; distance = 5.0; - condition = QUOTE([ARR_4(_player, _target, 'head', 'FieldDressing')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'head', 'FieldDressing')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'FieldDressing')] call DFUNC(treatment)); showDisabled = 0; priority = 2; hotkey = ""; enableInside = 1; + icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { displayName = "Packing Bandage"; - condition = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { displayName = "Elastic Bandage"; - condition = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\bandage.paa); }; class QuikClot: fieldDressing { displayName = "QuikClot"; - condition = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\bandage.paa); }; class CheckPulse: fieldDressing { displayName = "Check Pulse"; - condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckPulse')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckPulse')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckPulse')] call DFUNC(treatment)); + icon = ""; }; class CheckBloodPressure: CheckPulse { displayName = "Check Blood Pressure"; - condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckBloodPressure')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckBloodPressure')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckBloodPressure')] call DFUNC(treatment)); }; class CheckResponse: CheckPulse { displayName = "Check Response"; - condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckResponse')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckResponse')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckResponse')] call DFUNC(treatment)); }; }; - class ACE_MainActions { + class ACE_Torso { class Medical { displayName = "Medical"; distance = 5.0; @@ -413,315 +420,343 @@ class CfgVehicles { priority = 2; hotkey = "M"; enableInside = 1; - class Bandage_Torso { - displayName = "Bandage Torso"; + icon = PATHTOF(UI\icons\medical_cross.paa); + + class Bandage { + displayName = "$STR_ACE_Medical_Bandage_HitBody"; distance = 2.0; - condition = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(treatment)); showDisabled = 1; priority = 2; hotkey = "B"; enableInside = 1; + icon = PATHTOF(UI\icons\bandage.paa); + }; + + class TriageCard { + displayName = "Triage Card"; + distance = 2.0; + condition = "true"; + statement = QUOTE([ARR_2(_target, true)] call DFUNC(displayTriageCard)); + showDisabled = 1; + priority = 2; + hotkey = ""; + enableInside = 1; + icon = PATHTOF(UI\icons\triageCard.paa); }; // Advanced medical class FieldDressing { displayName = "Field Dressing"; distance = 5.0; - condition = QUOTE([ARR_4(_player, _target, 'body', 'FieldDressing')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'body', 'FieldDressing')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'FieldDressing')] call DFUNC(treatment)); showDisabled = 0; priority = 2; hotkey = ""; enableInside = 1; + icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { displayName = "Packing Bandage"; - condition = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { displayName = "Elastic Bandage"; - condition = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\bandage.paa); }; class QuikClot: fieldDressing { displayName = "QuikClot"; - condition = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(treatment)); - }; - class Morphine: fieldDressing { - displayName = "Morphine"; - condition = QUOTE([ARR_4(_player, _target, 'body', 'Morphine')] call DFUNC(canTreat)); - statement = QUOTE([ARR_4(_player, _target, 'body', 'Morphine')] call DFUNC(treatment)); - }; - class Atropine: Morphine { - displayName = "Atropine"; - condition = QUOTE([ARR_4(_player, _target, 'body', 'Atropine')] call DFUNC(canTreat)); - statement = QUOTE([ARR_4(_player, _target, 'body', 'Atropine')] call DFUNC(treatment)); - }; - class Epinephrine: Morphine { - displayName = "Epinephrine"; - condition = QUOTE([ARR_4(_player, _target, 'body', 'Epinephrine')] call DFUNC(canTreat)); - statement = QUOTE([ARR_4(_player, _target, 'body', 'Epinephrine')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\bandage.paa); }; class SurgicalKit: fieldDressing { displayName = "Use Surgical Kit"; - condition = QUOTE([ARR_4(_player, _target, 'body', 'SurgicalKit')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'body', 'SurgicalKit')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'SurgicalKit')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\surgicalKit.paa); }; class PersonalAidKit: fieldDressing { displayName = "Use Personal Aid Kit"; - condition = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(treatment)); + icon = ""; }; class CPR: fieldDressing { displayName = "CPR"; - condition = QUOTE([ARR_4(_player, _target, 'body', 'CPR')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'body', 'CPR')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'CPR')] call DFUNC(treatment)); + icon = ""; }; }; }; class ACE_ArmLeft { runOnHover = 1; statement = QUOTE([ARR_3(_target, true, 2)] call DFUNC(displayPatientInformation)); + icon = PATHTOF(UI\icons\medical_cross.paa); - class Bandage_LeftArm { - displayName = "Bandage Left Arm"; + class Bandage { + displayName = "$STR_ACE_Medical_Bandage_HitLeftArm"; distance = 2.0; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(treatment)); showDisabled = 1; priority = 2; hotkey = "B"; enableInside = 1; + icon = PATHTOF(UI\icons\bandage.paa); }; // Advanced medical class FieldDressing { displayName = "Field Dressing"; distance = 5.0; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'FieldDressing')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'FieldDressing')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'FieldDressing')] call DFUNC(treatment)); showDisabled = 0; priority = 2; hotkey = ""; enableInside = 1; + icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { displayName = "Packing Bandage"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { displayName = "Elastic Bandage"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\bandage.paa); }; class QuikClot: fieldDressing { displayName = "QuikClot"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\bandage.paa); }; class Tourniquet: fieldDressing { displayName = "Tourniquet"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\tourniquet.paa); }; class Morphine: fieldDressing { - displayName = "Morphine"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Morphine')] call DFUNC(canTreat)); + displayName = "$STR_ACE_Medical_Inject_Morphine"; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Morphine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Morphine')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\autoInjector.paa); }; class Atropine: Morphine { displayName = "Atropine"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Atropine')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Atropine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Atropine')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\autoInjector.paa); }; class Epinephrine: Morphine { - displayName = "Epinephrine"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Epinephrine')] call DFUNC(canTreat)); + displayName = "$STR_ACE_Medical_Inject_Epinephrine"; + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Epinephrine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Epinephrine')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\autoInjector.paa); }; class BloodIV: fieldDressing { displayName = "Give Blood IV (1000ml)"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\iv.paa); }; class BloodIV_500: BloodIV { displayName = "Give Blood IV (500ml)"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_500')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_500')] call DFUNC(treatment)); }; class BloodIV_250: BloodIV { displayName = "Give Blood IV (250ml)"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_250')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_250')] call DFUNC(treatment)); }; class PlasmaIV: BloodIV { displayName = "Give Blood IV (1000ml)"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV')] call DFUNC(treatment)); }; class PlasmaIV_500: PlasmaIV { displayName = "Give Blood IV (500ml)"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_500')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_500')] call DFUNC(treatment)); }; class PlasmaIV_250: PlasmaIV { displayName = "Give Blood IV (250ml)"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_250')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_250')] call DFUNC(treatment)); }; class SalineIV: BloodIV { displayName = "Give Blood IV (1000ml)"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV')] call DFUNC(treatment)); }; class SalineIV_500: SalineIV { displayName = "Give Blood IV (500ml)"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_500')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_500')] call DFUNC(treatment)); }; class SalineIV_250: SalineIV { displayName = "Give Blood IV (250ml)"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_250')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_250')] call DFUNC(treatment)); }; class CheckPulse: fieldDressing { displayName = "Check Pulse"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckPulse')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckPulse')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckPulse')] call DFUNC(treatment)); + icon = ""; }; class CheckBloodPressure: CheckPulse { displayName = "Check Blood Pressure"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckBloodPressure')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckBloodPressure')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckBloodPressure')] call DFUNC(treatment)); }; class RemoveTourniquet: Tourniquet { displayName = "Remove Tourniquet"; - condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'RemoveTourniquet')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'RemoveTourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'RemoveTourniquet')] call DFUNC(treatment)); }; }; class ACE_ArmRight { runOnHover = 1; statement = QUOTE([ARR_3(_target, true, 3)] call DFUNC(displayPatientInformation)); - class Bandage_RightArm { - displayName = "Bandage Right Arm"; + icon = PATHTOF(UI\icons\medical_cross.paa); + + class Bandage { + displayName = "$STR_ACE_Medical_Bandage_HitRightArm"; distance = 2.0; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(treatment)); showDisabled = 1; priority = 2; hotkey = "B"; enableInside = 1; + icon = PATHTOF(UI\icons\bandage.paa); }; // Advanced medical class FieldDressing { displayName = "Field Dressing"; distance = 5.0; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'FieldDressing')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'FieldDressing')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'FieldDressing')] call DFUNC(treatment)); showDisabled = 0; priority = 2; hotkey = ""; enableInside = 1; + icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { displayName = "Packing Bandage"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { displayName = "Elastic Bandage"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'ElasticBandage')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'ElasticBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'ElasticBandage')] call DFUNC(treatment)); }; class QuikClot: fieldDressing { displayName = "QuikClot"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'QuikClot')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'QuikClot')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'QuikClot')] call DFUNC(treatment)); }; class Tourniquet: fieldDressing { displayName = "Tourniquet"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\tourniquet.paa); }; class Morphine: fieldDressing { - displayName = "Morphine"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Morphine')] call DFUNC(canTreat)); + displayName = "$STR_ACE_Medical_Inject_Morphine"; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Morphine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Morphine')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\autoInjector.paa); }; class Atropine: Morphine { displayName = "Atropine"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Atropine')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Atropine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Atropine')] call DFUNC(treatment)); }; class Epinephrine: Morphine { - displayName = "Epinephrine"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Epinephrine')] call DFUNC(canTreat)); + displayName = "$STR_ACE_Medical_Inject_Epinephrine"; + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Epinephrine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Epinephrine')] call DFUNC(treatment)); }; class BloodIV: fieldDressing { displayName = "Give Blood IV (1000ml)"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\iv.paa); }; class BloodIV_500: BloodIV { displayName = "Give Blood IV (500ml)"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_500')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_500')] call DFUNC(treatment)); }; class BloodIV_250: BloodIV { displayName = "Give Blood IV (250ml)"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_250')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_250')] call DFUNC(treatment)); }; class PlasmaIV: BloodIV { displayName = "Give Blood IV (1000ml)"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV')] call DFUNC(treatment)); }; class PlasmaIV_500: PlasmaIV { displayName = "Give Blood IV (500ml)"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_500')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_500')] call DFUNC(treatment)); }; class PlasmaIV_250: PlasmaIV { displayName = "Give Blood IV (250ml)"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_250')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_250')] call DFUNC(treatment)); }; class SalineIV: BloodIV { displayName = "Give Blood IV (1000ml)"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV')] call DFUNC(treatment)); }; class SalineIV_500: SalineIV { displayName = "Give Blood IV (500ml)"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_500')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_500')] call DFUNC(treatment)); }; class SalineIV_250: SalineIV { displayName = "Give Blood IV (250ml)"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_250')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_250')] call DFUNC(treatment)); }; class CheckPulse: fieldDressing { displayName = "Check Pulse"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckPulse')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckPulse')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckPulse')] call DFUNC(treatment)); + icon = ""; }; class CheckBloodPressure: CheckPulse { displayName = "Check Blood Pressure"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckBloodPressure')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckBloodPressure')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckBloodPressure')] call DFUNC(treatment)); }; class RemoveTourniquet: Tourniquet { displayName = "Remove Tourniquet"; - condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'RemoveTourniquet')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'RemoveTourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'RemoveTourniquet')] call DFUNC(treatment)); }; @@ -729,15 +764,18 @@ class CfgVehicles { class ACE_LegLeft { runOnHover = 1; statement = QUOTE([ARR_3(_target, true, 4)] call DFUNC(displayPatientInformation)); - class Bandage_LeftLeg { - displayName = "Bandage Left Leg"; + icon = PATHTOF(UI\icons\medical_cross.paa); + + class Bandage { + displayName = "$STR_ACE_Medical_Bandage_HitLeftLeg"; distance = 2.0; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(treatment)); showDisabled = 1; priority = 2; hotkey = "B"; enableInside = 1; + icon = PATHTOF(UI\icons\bandage.paa); }; @@ -745,111 +783,119 @@ class CfgVehicles { class FieldDressing { displayName = "Field Dressing"; distance = 5.0; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'FieldDressing')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'FieldDressing')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'FieldDressing')] call DFUNC(treatment)); showDisabled = 0; priority = 2; hotkey = ""; enableInside = 1; + icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { displayName = "Packing Bandage"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { displayName = "Elastic Bandage"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'ElasticBandage')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'ElasticBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'ElasticBandage')] call DFUNC(treatment)); }; class QuikClot: fieldDressing { displayName = "QuikClot"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'QuikClot')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'QuikClot')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'QuikClot')] call DFUNC(treatment)); }; class Tourniquet: fieldDressing { displayName = "Tourniquet"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\tourniquet.paa); }; class Morphine: fieldDressing { - displayName = "Morphine"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Morphine')] call DFUNC(canTreat)); + displayName = "$STR_ACE_Medical_Inject_Morphine"; + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Morphine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Morphine')] call DFUNC(treatment)); }; class Atropine: Morphine { displayName = "Atropine"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Atropine')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Atropine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Atropine')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\autoInjector.paa); }; class Epinephrine: Morphine { - displayName = "Epinephrine"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Epinephrine')] call DFUNC(canTreat)); + displayName = "$STR_ACE_Medical_Inject_Epinephrine"; + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Epinephrine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Epinephrine')] call DFUNC(treatment)); }; class BloodIV: fieldDressing { displayName = "Give Blood IV (1000ml)"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\iv.paa); }; class BloodIV_500: BloodIV { displayName = "Give Blood IV (500ml)"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_500')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_500')] call DFUNC(treatment)); }; class BloodIV_250: BloodIV { displayName = "Give Blood IV (250ml)"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_250')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_250')] call DFUNC(treatment)); }; class PlasmaIV: BloodIV { displayName = "Give Blood IV (1000ml)"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV')] call DFUNC(treatment)); }; class PlasmaIV_500: PlasmaIV { displayName = "Give Blood IV (500ml)"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_500')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_500')] call DFUNC(treatment)); }; class PlasmaIV_250: PlasmaIV { displayName = "Give Blood IV (250ml)"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_250')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_250')] call DFUNC(treatment)); }; class SalineIV: BloodIV { displayName = "Give Blood IV (1000ml)"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV')] call DFUNC(treatment)); }; class SalineIV_500: SalineIV { displayName = "Give Blood IV (500ml)"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_500')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_500')] call DFUNC(treatment)); }; class SalineIV_250: SalineIV { displayName = "Give Blood IV (250ml)"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_250')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_250')] call DFUNC(treatment)); }; class RemoveTourniquet: Tourniquet { displayName = "Remove Tourniquet"; - condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'RemoveTourniquet')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'RemoveTourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'RemoveTourniquet')] call DFUNC(treatment)); }; }; class ACE_LegRight { runOnHover = 1; statement = QUOTE([ARR_3(_target, true, 5)] call DFUNC(displayPatientInformation)); - class Bandage_RightLeg { - displayName = "Bandage Right Leg"; + icon = PATHTOF(UI\icons\medical_cross.paa); + + class Bandage { + displayName = "$STR_ACE_Medical_Bandage_HitRightLeg"; distance = 2.0; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(treatment)); showDisabled = 1; priority = 2; hotkey = "B"; enableInside = 1; + icon = PATHTOF(UI\icons\bandage.paa); }; @@ -857,96 +903,101 @@ class CfgVehicles { class FieldDressing { displayName = "Field Dressing"; distance = 5.0; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'FieldDressing')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'FieldDressing')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'FieldDressing')] call DFUNC(treatment)); showDisabled = 0; priority = 2; hotkey = ""; enableInside = 1; + icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { displayName = "Packing Bandage"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { displayName = "Elastic Bandage"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'ElasticBandage')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'ElasticBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'ElasticBandage')] call DFUNC(treatment)); }; class QuikClot: fieldDressing { displayName = "QuikClot"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'QuikClot')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'QuikClot')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'QuikClot')] call DFUNC(treatment)); }; class Tourniquet: fieldDressing { displayName = "Tourniquet"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\tourniquet.paa); }; class Morphine: fieldDressing { - displayName = "Morphine"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Morphine')] call DFUNC(canTreat)); + displayName = "$STR_ACE_Medical_Inject_Morphine"; + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Morphine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Morphine')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\autoInjector.paa); }; class Atropine: Morphine { displayName = "Atropine"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Atropine')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Atropine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Atropine')] call DFUNC(treatment)); }; class Epinephrine: Morphine { - displayName = "Epinephrine"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Epinephrine')] call DFUNC(canTreat)); + displayName = "$STR_ACE_Medical_Inject_Epinephrine"; + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Epinephrine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Epinephrine')] call DFUNC(treatment)); }; class BloodIV: fieldDressing { displayName = "Give Blood IV (1000ml)"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV')] call DFUNC(treatment)); + icon = PATHTOF(UI\icons\iv.paa); }; class BloodIV_500: BloodIV { displayName = "Give Blood IV (500ml)"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_500')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_500')] call DFUNC(treatment)); }; class BloodIV_250: BloodIV { displayName = "Give Blood IV (250ml)"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_250')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_250')] call DFUNC(treatment)); }; class PlasmaIV: BloodIV { displayName = "Give Blood IV (1000ml)"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV')] call DFUNC(treatment)); }; class PlasmaIV_500: PlasmaIV { displayName = "Give Blood IV (500ml)"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_500')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_500')] call DFUNC(treatment)); }; class PlasmaIV_250: PlasmaIV { displayName = "Give Blood IV (250ml)"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_250')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_250')] call DFUNC(treatment)); }; class SalineIV: BloodIV { displayName = "Give Blood IV (1000ml)"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV')] call DFUNC(treatment)); }; class SalineIV_500: SalineIV { displayName = "Give Blood IV (500ml)"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_500')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_500')] call DFUNC(treatment)); }; class SalineIV_250: SalineIV { displayName = "Give Blood IV (250ml)"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_250')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_250')] call DFUNC(treatment)); }; class RemoveTourniquet: Tourniquet { displayName = "Remove Tourniquet"; - condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(canTreat)); + condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(treatment)); }; }; @@ -1127,7 +1178,7 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_BODYBAG_DISPLAY; }; class Item_Base_F; - class GVAR(fieldDressingItem): Item_Base_F { + class ACE_fieldDressingItem: Item_Base_F { scope = 2; scopeCurator = 2; displayName = $STR_ACE_MEDICAL_BANDAGE_BASIC_DISPLAY; @@ -1135,14 +1186,14 @@ class CfgVehicles { vehicleClass = "Items"; class TransportItems { - class GVAR(fieldDressing) + class ACE_fieldDressing { - name = QGVAR(fieldDressing); + name = "ACE_fieldDressing"; count = 1; }; }; }; - class GVAR(packingBandageItem): Item_Base_F { + class ACE_packingBandageItem: Item_Base_F { scope = 2; scopeCurator = 2; displayName = $STR_ACE_MEDICAL_PACKING_BANDAGE_DISPLAY; @@ -1150,14 +1201,14 @@ class CfgVehicles { vehicleClass = "Items"; class TransportItems { - class GVAR(packingBandage) + class ACE_packingBandage { - name = QGVAR(packingBandage); + name = "ACE_packingBandage"; count = 1; }; }; }; - class GVAR(elasticBandageItem): Item_Base_F { + class ACE_elasticBandageItem: Item_Base_F { scope = 2; scopeCurator = 2; displayName = $STR_ACE_MEDICAL_BANDAGE_ELASTIC_DISPLAY; @@ -1165,14 +1216,14 @@ class CfgVehicles { vehicleClass = "Items"; class TransportItems { - class GVAR(elasticBandage) + class ACE_elasticBandage { - name = QGVAR(elasticBandage); + name = "ACE_elasticBandage"; count = 1; }; }; }; - class GVAR(tourniquetItem): Item_Base_F { + class ACE_tourniquetItem: Item_Base_F { scope = 2; scopeCurator = 2; displayName = $STR_ACE_MEDICAL_TOURNIQUET_DISPLAY; @@ -1180,14 +1231,14 @@ class CfgVehicles { vehicleClass = "Items"; class TransportItems { - class GVAR(tourniquet) + class ACE_tourniquet { - name = QGVAR(tourniquet); + name = "ACE_tourniquet"; count = 1; }; }; }; - class GVAR(morphineItem): Item_Base_F { + class ACE_morphineItem: Item_Base_F { scope = 2; scopeCurator = 2; displayName = $STR_ACE_MEDICAL_MORPHINE_DISPLAY; @@ -1195,14 +1246,14 @@ class CfgVehicles { vehicleClass = "Items"; class TransportItems { - class GVAR(morphine) + class ACE_morphine { - name = QGVAR(morphine); + name = "ACE_morphine"; count = 1; }; }; }; - class GVAR(atropineItem): Item_Base_F { + class ACE_atropineItem: Item_Base_F { scope = 2; scopeCurator = 2; displayName = $STR_ACE_MEDICAL_ATROPINE_DISPLAY; @@ -1210,14 +1261,14 @@ class CfgVehicles { vehicleClass = "Items"; class TransportItems { - class GVAR(atropine) + class ACE_atropine { - name = QGVAR(atropine); + name = "ACE_atropine"; count = 1; }; }; }; - class GVAR(epinephrineItem): Item_Base_F { + class ACE_epinephrineItem: Item_Base_F { scope = 2; scopeCurator = 2; displayName = $STR_ACE_MEDICAL_EPINEPHRINE_DISPLAY; @@ -1225,14 +1276,14 @@ class CfgVehicles { vehicleClass = "Items"; class TransportItems { - class GVAR(epinephrine) + class ACE_epinephrine { - name = QGVAR(epinephrine); + name = "ACE_epinephrine"; count = 1; }; }; }; - class GVAR(plasmaIVItem): Item_Base_F { + class ACE_plasmaIVItem: Item_Base_F { scope = 2; scopeCurator = 2; displayName = $STR_ACE_MEDICAL_PLASMA_IV; @@ -1240,15 +1291,15 @@ class CfgVehicles { vehicleClass = "Items"; class TransportItems { - class GVAR(plasmaIV) + class ACE_plasmaIV { - name = QGVAR(plasmaIV); + name = "ACE_plasmaIV"; count = 1; }; }; }; - class GVAR(bloodIVItem): Item_Base_F { + class ACE_bloodIVItem: Item_Base_F { scope = 2; scopeCurator = 2; displayName = $STR_ACE_MEDICAL_BLOOD_IV; @@ -1256,14 +1307,14 @@ class CfgVehicles { vehicleClass = "Items"; class TransportItems { - class GVAR(bloodIV) + class ACE_bloodIV { - name = QGVAR(bloodIV); + name = "ACE_bloodIV"; count = 1; }; }; }; - class GVAR(salineIVItem): Item_Base_F { + class ACE_salineIVItem: Item_Base_F { scope = 2; scopeCurator = 2; displayName = $STR_ACE_MEDICAL_SALINE_IV; @@ -1271,14 +1322,14 @@ class CfgVehicles { vehicleClass = "Items"; class TransportItems { - class GVAR(salineIV) + class ACE_salineIV { - name = QGVAR(salineIV); + name = "ACE_salineIV"; count = 1; }; }; }; - class GVAR(quikClotItem): Item_Base_F { + class ACE_quikClotItem: Item_Base_F { scope = 2; scopeCurator = 2; displayName = $STR_ACE_MEDICAL_QUIKCLOT_DISPLAY; @@ -1286,14 +1337,14 @@ class CfgVehicles { vehicleClass = "Items"; class TransportItems { - class GVAR(quikClot) + class ACE_quikClot { - name = QGVAR(quikClot); + name = "ACE_quikclot"; count = 1; }; }; }; - class GVAR(personalAidKitItem): Item_Base_F { + class ACE_personalAidKitItem: Item_Base_F { scope = 2; scopeCurator = 2; displayName = $STR_ACE_MEDICAL_AID_KIT_DISPLAY; @@ -1301,14 +1352,14 @@ class CfgVehicles { vehicleClass = "Items"; class TransportItems { - class GVAR(personalAidKit) + class ACE_personalAidKit { - name = QGVAR(personalAidKit); + name = "ACE_personalAidKit"; count = 1; }; }; }; - class GVAR(surgicalKitItem): Item_Base_F { + class ACE_surgicalKitItem: Item_Base_F { scope = 2; scopeCurator = 2; displayName = $STR_ACE_MEDICAL_SURGICALKIT_DISPLAY; @@ -1316,14 +1367,14 @@ class CfgVehicles { vehicleClass = "Items"; class TransportItems { - class GVAR(surgicalKit) + class ACE_surgicalKit { - name = QGVAR(surgicalKit); + name = "ACE_surgicalKit"; count = 1; }; }; }; - class GVAR(bodyBagItem): Item_Base_F { + class ACE_bodyBagItem: Item_Base_F { scope = 2; scopeCurator = 2; displayName = $STR_ACE_MEDICAL_BODYBAG_DISPLAY; @@ -1331,102 +1382,196 @@ class CfgVehicles { vehicleClass = "Items"; class TransportItems { - class GVAR(bodyBag) + class ACE_bodyBag { - name = QGVAR(bodyBag); + name = "ACE_bodyBag"; count = 1; }; }; }; class NATO_Box_Base; - class GVAR(supplyCrate): NATO_Box_Base { + class ACE_medicalSupplyCrate: NATO_Box_Base { scope = 2; accuracy = 1000; - displayName = "Medical Supply Crate [ACE]"; + displayName = "[ACE] Medical Supply Crate"; model = "\A3\weapons_F\AmmoBoxes\AmmoBox_F"; author = "Glowbal"; class TransportItems { - class GVAR(fieldDressing) { - name = QGVAR(fieldDressing); + class ACE_fieldDressing { + name = "ACE_fieldDressing"; count = 25; }; - class GVAR(packingBandage) { - name = QGVAR(packingBandage); + class ACE_packingBandage { + name = "ACE_packingBandage"; count = 25; }; - class GVAR(elasticBandage) { - name = QGVAR(elasticBandage); + class ACE_elasticBandage { + name = "ACE_elasticBandage"; count = 25; }; - class GVAR(tourniquet) { - name = QGVAR(tourniquet); + class ACE_tourniquet { + name = "ACE_tourniquet"; count = 15; }; - class GVAR(morphine) { - name = QGVAR(morphine); + class ACE_morphine { + name = "ACE_morphine"; count = 15; }; - class GVAR(atropine) { - name = QGVAR(atropine); + class ACE_atropine { + name = "ACE_atropine"; count = 15; }; - class GVAR(epinephrine) { - name = QGVAR(epinephrine); + class ACE_epinephrine { + name = "ACE_epinephrine"; count = 15; }; - class GVAR(plasmaIV) { - name = QGVAR(plasmaIV); + class ACE_plasmaIV { + name = "ACE_plasmaIV"; count = 7; }; - class GVAR(plasmaIV_500) { - name = QGVAR(plasmaIV_500); + class ACE_plasmaIV_500 { + name = "ACE_plasmaIV_500"; count = 7; }; - class GVAR(plasmaIV_250) { - name = QGVAR(plasmaIV_250); + class ACE_plasmaIV_250 { + name = "ACE_plasmaIV_250"; count = 7; }; - class GVAR(salineIV) { - name = QGVAR(salineIV); + class ACE_salineIV { + name = "ACE_salineIV"; count = 7; }; - class GVAR(salineIV_500) { - name = QGVAR(salineIV_500); + class ACE_salineIV_500 { + name = "ACE_salineIV_500"; count = 7; }; - class GVAR(salineIV_250) { - name = QGVAR(salineIV_250); + class ACE_salineIV_250 { + name = "ACE_salineIV_250"; count = 7; }; - class GVAR(bloodIV) { - name = QGVAR(bloodIV); + class ACE_bloodIV { + name = "ACE_bloodIV"; count = 7; }; - class GVAR(bloodIV_500) { - name = QGVAR(bloodIV_500); + class ACE_bloodIV_500 { + name = "ACE_bloodIV_500"; count = 7; }; - class GVAR(bloodIV_250) { - name = QGVAR(bloodIV_250); + class ACE_bloodIV_250 { + name = "ACE_bloodIV_250"; count = 7; }; - class GVAR(quikClot) { - name = QGVAR(quikClot); + class ACE_quikClot { + name = "ACE_quikclot"; count = 20; }; - class GVAR(personalAidKit) { - name = QGVAR(personalAidKit); + class ACE_personalAidKit { + name = "ACE_personalAidKit"; count = 3; }; - class GVAR(surgicalKit) { - name = QGVAR(surgicalKit); + class ACE_surgicalKit { + name = "ACE_surgicalKit"; count = 2; }; - class GVAR(bodyBag) { - name = QGVAR(bodyBag); + class ACE_bodyBag { + name = "ACE_bodyBag"; count = 5; }; }; }; + + // Patient unload from vehicle actions + class LandVehicle; + class Car: LandVehicle { + class ACE_Actions { + class ACE_MainActions { + class ACE_UnloadPatients { + displayName = "$STR_ACE_Medical_UnloadPatient"; + condition = "true"; + statement = ""; + insertChildren = QUOTE(_this call FUNC(addUnloadPatientActions)); + }; + }; + }; + }; + class Tank: LandVehicle { + class ACE_Actions { + class ACE_MainActions { + class ACE_UnloadPatients { + displayName = "$STR_ACE_Medical_UnloadPatient"; + condition = "true"; + statement = ""; + insertChildren = QUOTE(_this call FUNC(addUnloadPatientActions)); + }; + }; + }; + }; + + class Air; + class Helicopter: Air { + class ACE_Actions { + class ACE_MainActions { + class ACE_UnloadPatients { + displayName = "$STR_ACE_Medical_UnloadPatient"; + condition = "true"; + statement = ""; + insertChildren = QUOTE(_this call FUNC(addUnloadPatientActions)); + }; + }; + }; + }; + class Plane: Air { + class ACE_Actions { + class ACE_MainActions { + class ACE_UnloadPatients { + displayName = "$STR_ACE_Medical_UnloadPatient"; + condition = "true"; + statement = ""; + insertChildren = QUOTE(_this call FUNC(addUnloadPatientActions)); + }; + }; + }; + }; + + class Ship; + class Ship_F: Ship { + class ACE_Actions { + class ACE_MainActions { + class ACE_UnloadPatients { + displayName = "$STR_ACE_Medical_UnloadPatient"; + condition = "true"; + statement = ""; + insertChildren = QUOTE(_this call FUNC(addUnloadPatientActions)); + }; + }; + }; + }; + + class StaticWeapon: LandVehicle { + class ACE_Actions { + class ACE_MainActions { + class ACE_UnloadPatients { + displayName = "$STR_ACE_Medical_UnloadPatient"; + condition = "true"; + statement = ""; + insertChildren = QUOTE(_this call FUNC(addUnloadPatientActions)); + }; + }; + }; + }; + + class StaticMortar; + class Mortar_01_base_F: StaticMortar { + class ACE_Actions { + class ACE_MainActions { + class ACE_UnloadPatients { + displayName = "$STR_ACE_Medical_UnloadPatient"; + condition = "true"; + statement = ""; + insertChildren = QUOTE(_this call FUNC(addUnloadPatientActions)); + }; + }; + }; + }; }; diff --git a/addons/medical/CfgWeapons.hpp b/addons/medical/CfgWeapons.hpp index 1aab4b7d7a..d0b1b786ed 100644 --- a/addons/medical/CfgWeapons.hpp +++ b/addons/medical/CfgWeapons.hpp @@ -1,29 +1,29 @@ class CfgWeapons { - class ItemCore; - class InventoryItem_Base_F; - class InventoryFirstAidKitItem_Base_F; - class MedikitItem; + class ItemCore; + class InventoryItem_Base_F; + class InventoryFirstAidKitItem_Base_F; + class MedikitItem; - // ITEMS - class FirstAidKit: ItemCore { - type = 0; - class ItemInfo: InventoryFirstAidKitItem_Base_F { - mass = 4; - type = 201; + // ITEMS + class FirstAidKit: ItemCore { + type = 0; + class ItemInfo: InventoryFirstAidKitItem_Base_F { + mass = 4; + type = 201; + }; }; - }; - class Medikit: ItemCore { - type = 0; - class ItemInfo: MedikitItem { - mass = 60; - type = 201; + class Medikit: ItemCore { + type = 0; + class ItemInfo: MedikitItem { + mass = 60; + type = 201; + }; }; - }; // @todo localize class ACE_ItemCore; - class GVAR(fieldDressing): ACE_ItemCore { + class ACE_fieldDressing: ACE_ItemCore { scope = 2; model = "\A3\Structures_F_EPA\Items\Medical\Bandage_F.p3d"; picture = QUOTE(PATHTOF(ui\items\fieldDressing.paa)); @@ -35,7 +35,7 @@ class CfgWeapons { type=201; }; }; - class GVAR(packingBandage): ItemCore { + class ACE_packingBandage: ItemCore { scope = 2; value = 1; count = 1; @@ -50,7 +50,7 @@ class CfgWeapons { type=201; }; }; - class GVAR(elasticBandage): ItemCore { + class ACE_elasticBandage: ItemCore { scope = 2; value = 1; count = 1; @@ -65,7 +65,7 @@ class CfgWeapons { type=201; }; }; - class GVAR(tourniquet): ItemCore { + class ACE_tourniquet: ItemCore { scope = 2; value = 1; count = 1; @@ -80,7 +80,7 @@ class CfgWeapons { type=201; }; }; - class GVAR(morphine): ItemCore { + class ACE_morphine: ItemCore { scope = 2; value = 1; count = 1; @@ -95,7 +95,7 @@ class CfgWeapons { type=201; }; }; - class GVAR(atropine): ItemCore { + class ACE_atropine: ItemCore { scope = 2; value = 1; count = 1; @@ -110,7 +110,7 @@ class CfgWeapons { type=201; }; }; - class GVAR(epinephrine): ItemCore { + class ACE_epinephrine: ItemCore { scope = 2; value = 1; count = 1; @@ -125,7 +125,7 @@ class CfgWeapons { type=201; }; }; - class GVAR(plasmaIV): ItemCore { + class ACE_plasmaIV: ItemCore { scope = 2; value = 1; count = 1; @@ -138,21 +138,21 @@ class CfgWeapons { type = 201; }; }; - class GVAR(plasmaIV_500): GVAR(plasmaIV) { + class ACE_plasmaIV_500: ACE_plasmaIV { displayName = $STR_ACE_MEDICAL_PLASMA_IV_500; class ItemInfo: InventoryItem_Base_F { mass = 5; type = 201; }; }; - class GVAR(plasmaIV_250): GVAR(plasmaIV) { + class ACE_plasmaIV_250: ACE_plasmaIV { displayName = $STR_ACE_MEDICAL_PLASMA_IV_250; class ItemInfo: InventoryItem_Base_F { mass = 2.5; type = 201; }; }; - class GVAR(bloodIV): ItemCore { + class ACE_bloodIV: ItemCore { scope = 2; value = 1; count = 1; @@ -166,21 +166,21 @@ class CfgWeapons { type = 201; }; }; - class GVAR(bloodIV_500): GVAR(bloodIV) { + class ACE_bloodIV_500: ACE_bloodIV { displayName = $STR_ACE_MEDICAL_BLOOD_IV_500; class ItemInfo: InventoryItem_Base_F { mass = 5; type = 201; }; }; - class GVAR(bloodIV_250): GVAR(bloodIV) { + class ACE_bloodIV_250: ACE_bloodIV { displayName = $STR_ACE_MEDICAL_BLOOD_IV_250; class ItemInfo: InventoryItem_Base_F { mass = 2.5; type = 201; }; }; - class GVAR(salineIV): ItemCore { + class ACE_salineIV: ItemCore { scope = 2; value = 1; count = 1; @@ -193,21 +193,21 @@ class CfgWeapons { type = 201; }; }; - class GVAR(salineIV_500): GVAR(salineIV) { + class ACE_salineIV_500: ACE_salineIV { displayName = $STR_ACE_MEDICAL_SALINE_IV_500; class ItemInfo: InventoryItem_Base_F { mass = 2.5; type = 201; }; }; - class GVAR(salineIV_250): GVAR(salineIV) { + class ACE_salineIV_250: ACE_salineIV { displayName = $STR_ACE_MEDICAL_SALINE_IV_250; class ItemInfo: InventoryItem_Base_F { mass = 2.5; type = 201; }; }; - class GVAR(quikclot): ItemCore { + class ACE_quikclot: ItemCore { scope = 2; value = 1; count = 1; @@ -221,13 +221,13 @@ class CfgWeapons { type = 201; }; }; - class GVAR(personalAidKit): ItemCore { + class ACE_personalAidKit: ItemCore { scope = 2; value = 1; count = 1; type = 16; displayName = $STR_ACE_MEDICAL_AID_KIT_DISPLAY; - //picture = QUOTE(PATHTOF(ui\items\personal_aid_kit.paa)); + picture = QUOTE(PATHTOF(ui\items\personal_aid_kit.paa)); //model = QUOTE(PATHTOF(equipment\Personal-aidkits\MTP.p3d)); descriptionShort = $STR_ACE_MEDICAL_AID_KIT_DESC_SHORT; descriptionUse = $STR_ACE_MEDICAL_AID_KIT_DESC_USE; @@ -236,19 +236,19 @@ class CfgWeapons { type = 201; }; }; - class GVAR(surgicalKit): ItemCore { + class ACE_surgicalKit: ItemCore { scope=2; displayName= $STR_ACE_MEDICAL_SURGICALKIT_DISPLAY; model = QUOTE(PATHTOF(data\surgical_kit.p3d)); - //picture = QUOTE(PATHTOF(data\surgical_kit.paa)); + picture = QUOTE(PATHTOF(ui\items\surgicalKit.paa)); descriptionShort = $STR_ACE_MEDICAL_SURGICALKIT_DESC_SHORT; descriptionUse = $STR_ACE_MEDICAL_SURGICALKIT_DESC_USE; - class ItemInfo: InventoryItem_Base_F { + class ItemInfo: InventoryItem_Base_F { mass = 5; type = 201; }; }; - class GVAR(bodyBag): ItemCore { + class ACE_bodyBag: ItemCore { scope=2; displayName= $STR_ACE_MEDICAL_BODYBAG_DISPLAY; model = QUOTE(PATHTOF(data\bodybagItem.p3d)); diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index d23a02225f..ee73d28318 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -12,6 +12,7 @@ GVAR(heartBeatSounds_Slow) = ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"]; ["Medical_treatmentCompleted", FUNC(onTreatmentCompleted)] call ace_common_fnc_addEventHandler; ["medical_propagateWound", FUNC(onPropagateWound)] call ace_common_fnc_addEventHandler; ["medical_woundUpdateRequest", FUNC(onWoundUpdateRequest)] call ace_common_fnc_addEventHandler; +["interactMenuClosed", {[objNull, false] call FUNC(displayPatientInformation); }] call ace_common_fnc_addEventHandler; // Initialize all effects _fnc_createEffect = { @@ -217,7 +218,7 @@ if (isNil QGVAR(level)) then { }, 0, []] call CBA_fnc_addPerFrameHandler; // broadcast injuries to JIP clients in a MP session -if (isMultiplayer) then { +if (isMultiplayer and GVAR(level) >= 2) then { [QGVAR(onPlayerConnected), "onPlayerConnected", { if (isNil QGVAR(InjuredCollection)) then { GVAR(InjuredCollection) = []; diff --git a/addons/medical/XEH_preInit.sqf b/addons/medical/XEH_preInit.sqf index c6ddbf0783..bc63a65135 100644 --- a/addons/medical/XEH_preInit.sqf +++ b/addons/medical/XEH_preInit.sqf @@ -16,8 +16,10 @@ PREP(addToInjuredCollection); PREP(addToLog); PREP(addToTriageCard); PREP(addUnconsciousCondition); +PREP(addUnloadPatientActions); PREP(canAccessMedicalEquipment); PREP(canTreat); +PREP(canTreatCached); PREP(determineIfFatal); PREP(getBloodLoss); PREP(getBloodPressure); @@ -46,6 +48,7 @@ PREP(init); PREP(isInMedicalFacility); PREP(isMedic); PREP(isMedicalVehicle); +PREP(itemCheck); PREP(onMedicationUsage); PREP(onWoundUpdateRequest); PREP(onPropagateWound); @@ -79,6 +82,8 @@ PREP(treatmentTourniquetLocal); PREP(useItem); PREP(useItems); PREP(displayPatientInformation); +PREP(displayTriageCard); +PREP(dropDownTriageCard); PREP(moduleMedicalSettings); PREP(moduleAssignMedicRoles); PREP(moduleAssignMedicalVehicle); diff --git a/addons/medical/config.cpp b/addons/medical/config.cpp index 3e8aaa8d55..ab0f83fa9e 100644 --- a/addons/medical/config.cpp +++ b/addons/medical/config.cpp @@ -2,8 +2,8 @@ class CfgPatches { class ADDON { - units[] = {QGVAR(fieldDressingItem), QGVAR(packingBandageItem), QGVAR(elasticBandageItem), QGVAR(tourniquetItem), QGVAR(morphineItem), QGVAR(atropineItem), QGVAR(epinephrineItem), QGVAR(plasmaIVItem), QGVAR(bloodIVItem), QGVAR(salineIVItem), QGVAR(quikclotItem), QGVAR(personalAidKitItem), QGVAR(surgicalKitItem), QGVAR(bodyBagItem)}; - weapons[] = {QGVAR(fieldDressing), QGVAR(packingBandage), QGVAR(elasticBandage), QGVAR(tourniquet), QGVAR(morphine), QGVAR(atropine), QGVAR(epinephrine), QGVAR(plasmaIV), QGVAR(plasmaIV_500), QGVAR(plasmaIV_250), QGVAR(bloodIV), QGVAR(bloodIV_500), QGVAR(bloodIV_250), QGVAR(salineIV), QGVAR(salineIV_500), QGVAR(salineIV_250), QGVAR(quikclot), QGVAR(personalAidKit), QGVAR(surgicalKit), QGVAR(bodyBag)}; + units[] = {"ACE_medicalSupplyCrate", "ACE_fieldDressingItem", "ACE_packingBandageItem", "ACE_elasticBandageItem", "ACE_tourniquetItem", "ACE_morphineItem", "ACE_atropineItem", "ACE_epinephrineItem", "ACE_plasmaIVItem", "ACE_bloodIVItem", "ACE_salineIVItem", "ACE_quikclotItem", "ACE_personalAidKitItem", "ACE_surgicalKitItem", "ACE_bodyBagItem"}; + weapons[] = {"ACE_fieldDressing", "ACE_packingBandage", "ACE_elasticBandage", "ACE_tourniquet", "ACE_morphine", "ACE_atropine", "ACE_epinephrine", "ACE_plasmaIV", "ACE_plasmaIV_500", "ACE_plasmaIV_250", "ACE_bloodIV", "ACE_bloodIV_500", "ACE_bloodIV_250", "ACE_salineIV", "ACE_salineIV_500", "ACE_salineIV_250", "ACE_quikclot", "ACE_personalAidKit", "ACE_surgicalKit", "ACE_bodyBag"}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {ace_common, ace_interaction}; author[] = {"Glowbal", "KoffienFlummi"}; @@ -20,3 +20,4 @@ class CfgPatches { #include "ACE_Medical_Treatments.hpp" #include "ACE_Settings.hpp" #include "UI\RscTitles.hpp" +#include "UI\triagecard.hpp" diff --git a/addons/medical/data/Epipen_co.paa b/addons/medical/data/Epipen_co.paa new file mode 100644 index 0000000000..2a1afe1f33 Binary files /dev/null and b/addons/medical/data/Epipen_co.paa differ diff --git a/addons/medical/data/bodybag.rvmat b/addons/medical/data/bodybag.rvmat index b0e6c2363c..2a1869ad55 100644 --- a/addons/medical/data/bodybag.rvmat +++ b/addons/medical/data/bodybag.rvmat @@ -8,7 +8,7 @@ PixelShaderID="Super"; VertexShaderID="Super"; class Stage1 { - texture="z\ace\addons\medical\equipment\data\bodybag_nohq.paa"; + texture="z\ace\addons\medical\data\bodybag_nohq.paa"; uvSource="tex"; class uvTransform { @@ -80,7 +80,7 @@ class Stage6 }; class Stage7 { - texture="z\ace\addons\medical\equipment\data\env_co.paa"; + texture="z\ace\addons\medical\data\env_co.paa"; uvSource="tex"; class uvTransform { diff --git a/addons/medical/data/bodybagItem.rvmat b/addons/medical/data/bodybagItem.rvmat index c72890391b..a373bfaae8 100644 --- a/addons/medical/data/bodybagItem.rvmat +++ b/addons/medical/data/bodybagItem.rvmat @@ -8,7 +8,7 @@ PixelShaderID="NormalMapSpecularDIMap"; VertexShaderID="NormalMap"; class Stage1 { - texture="z\ace\addons\medical\equipment\data\bodybagItem_nohq.paa"; + texture="z\ace\addons\medical\data\bodybagItem_nohq.paa"; uvSource="tex"; class uvTransform { @@ -20,7 +20,7 @@ class Stage1 }; class Stage2 { - texture="z\ace\addons\medical\equipment\data\bodybagItem_smdi.paa"; + texture="z\ace\addons\medical\data\bodybagItem_smdi.paa"; uvSource="tex"; class uvTransform { diff --git a/addons/medical/data/env_co.paa b/addons/medical/data/env_co.paa new file mode 100644 index 0000000000..77645347b5 Binary files /dev/null and b/addons/medical/data/env_co.paa differ diff --git a/addons/medical/data/packingbandage.rvmat b/addons/medical/data/packingbandage.rvmat index 3d65ab3b93..b90d8469c6 100644 --- a/addons/medical/data/packingbandage.rvmat +++ b/addons/medical/data/packingbandage.rvmat @@ -8,7 +8,7 @@ PixelShaderID="NormalMapSpecularDIMap"; VertexShaderID="NormalMap"; class Stage1 { - texture="z\ace\addons\medical\equipment\bandages\packingbandage_nohq.paa"; + texture="z\ace\addons\medical\data\packingbandage_nohq.paa"; uvSource="tex"; class uvTransform { @@ -20,7 +20,7 @@ class Stage1 }; class Stage2 { - texture="z\ace\addons\medical\equipment\bandages\packingbandage_smdi.paa"; + texture="z\ace\addons\medical\data\packingbandage_smdi.paa"; uvSource="tex"; class uvTransform { diff --git a/addons/medical/data/packingbandage_nohq.paa b/addons/medical/data/packingbandage_nohq.paa new file mode 100644 index 0000000000..1b3782c501 Binary files /dev/null and b/addons/medical/data/packingbandage_nohq.paa differ diff --git a/addons/medical/data/packingbandage_smdi.paa b/addons/medical/data/packingbandage_smdi.paa new file mode 100644 index 0000000000..8d5b3848ac Binary files /dev/null and b/addons/medical/data/packingbandage_smdi.paa differ diff --git a/addons/medical/data/surgical_kit.rvmat b/addons/medical/data/surgical_kit.rvmat index 3f0deac2fa..e7db14f08b 100644 --- a/addons/medical/data/surgical_kit.rvmat +++ b/addons/medical/data/surgical_kit.rvmat @@ -8,7 +8,7 @@ PixelShaderID="Super"; VertexShaderID="Super"; class Stage1 { - texture="z\ace\addons\medical\equipment\data\surgical_kit_nohq.paa"; + texture="z\ace\addons\medical\data\surgical_kit_nohq.paa"; uvSource="tex"; class uvTransform { @@ -80,7 +80,7 @@ class Stage6 }; class Stage7 { - texture="z\ace\addons\medical\equipment\data\env_co.tga"; + texture="z\ace\addons\medical\data\env_co.tga"; uvSource="tex"; class uvTransform { diff --git a/addons/medical/data/tournequit_co.paa b/addons/medical/data/tournequit_co.paa new file mode 100644 index 0000000000..e83aada994 Binary files /dev/null and b/addons/medical/data/tournequit_co.paa differ diff --git a/addons/medical/data/tourniquet.p3d b/addons/medical/data/tourniquet.p3d new file mode 100644 index 0000000000..e8cb60c9e9 Binary files /dev/null and b/addons/medical/data/tourniquet.p3d differ diff --git a/addons/medical/functions/fnc_actionRemoveTourniquet.sqf b/addons/medical/functions/fnc_actionRemoveTourniquet.sqf index 2944c2f6e2..75d7b67daa 100644 --- a/addons/medical/functions/fnc_actionRemoveTourniquet.sqf +++ b/addons/medical/functions/fnc_actionRemoveTourniquet.sqf @@ -36,6 +36,6 @@ _tourniquets set[_part, 0]; _target setvariable [QGVAR(tourniquets), _tourniquets, true]; // Adding the tourniquet item to the caller -_caller addItem QGVAR(tourniquet); +_caller addItem "ACE_tourniquet"; // "AinvPknlMstpSlayWrflDnon_medic diff --git a/addons/medical/functions/fnc_addUnloadPatientActions.sqf b/addons/medical/functions/fnc_addUnloadPatientActions.sqf new file mode 100644 index 0000000000..3a96c0b089 --- /dev/null +++ b/addons/medical/functions/fnc_addUnloadPatientActions.sqf @@ -0,0 +1,44 @@ +/* + * Author: CAA-Picard + * Create one unload action per unconscious passenger + * + * Argument: + * 0: Vehicle + * 1: Player + * 3: Parameters + * + * Return value: + * Children actions + * + * Public: No + */ +#include "script_component.hpp" + +EXPLODE_3_PVT(_this,_vehicle,_player,_parameters); + +private ["_actions"]; +_actions = []; + +{ + _unit = _x; + if (_unit != _player && {(alive _unit) && {_unit getVariable ["ACE_isUnconscious", false]}}) then { + _actions pushBack + [ + [ + str(_unit), + [_unit, true] call EFUNC(common,getName), + "", + {[_player, (_this select 2) select 0] call FUNC(actionUnloadUnit);}, + {true}, + {}, + [_unit] + ] call EFUNC(interact_menu,createAction), + [], + _unit + ]; + }; +} forEach crew _vehicle; + +systemChat str(count _actions); + +_actions diff --git a/addons/medical/functions/fnc_canTreat.sqf b/addons/medical/functions/fnc_canTreat.sqf index 0c48222977..6a49652301 100644 --- a/addons/medical/functions/fnc_canTreat.sqf +++ b/addons/medical/functions/fnc_canTreat.sqf @@ -39,19 +39,16 @@ if (count _items > 0 && {!([_caller, _target, _items] call FUNC(hasItems))}) exi _locations = getArray (_config >> "treatmentLocations"); _return = true; -if (isText (_config >> "Condition")) then { - _condition = getText(_config >> "condition"); - if (_condition != "") then { - if (isnil _condition) then { - _condition = compile _condition; - } else { - _condition = missionNamespace getvariable _condition; - }; - if (typeName _condition == "BOOL") then { - _return = _condition; - } else { - _return = [_caller, _target, _selectionName, _className] call _condition; - }; +if (getText (_config >> "condition") != "") then { + if (isnil _condition) then { + _condition = compile _condition; + } else { + _condition = missionNamespace getvariable _condition; + }; + if (typeName _condition == "BOOL") then { + _return = _condition; + } else { + _return = [_caller, _target, _selectionName, _className] call _condition; }; }; if (!_return) exitwith {false}; diff --git a/addons/medical/functions/fnc_canTreatCached.sqf b/addons/medical/functions/fnc_canTreatCached.sqf new file mode 100644 index 0000000000..34d753b119 --- /dev/null +++ b/addons/medical/functions/fnc_canTreatCached.sqf @@ -0,0 +1,22 @@ +/* + * Author: Glowbal + * Cached Check if the treatment action can be performed. + * + * Arguments: + * 0: The caller + * 1: The target + * 2: Selection name + * 3: ACE_Medical_Treatments Classname + * + * ReturnValue: + * Can Treat + * + * Public: No + */ + +#include "script_component.hpp" + +#define MAX_DURATION_CACHE 2 + +// parameters, function, namespace, uid +[_this, DFUNC(canTreat), _this select 0, format[QGVAR(canTreat_%1_%2), _this select 2, _this select 3], MAX_DURATION_CACHE, "clearConditionCaches"] call EFUNC(common,cachedCall); diff --git a/addons/medical/functions/fnc_displayPatientInformation.sqf b/addons/medical/functions/fnc_displayPatientInformation.sqf index b9b450ea65..0387547720 100644 --- a/addons/medical/functions/fnc_displayPatientInformation.sqf +++ b/addons/medical/functions/fnc_displayPatientInformation.sqf @@ -49,7 +49,7 @@ if (_show) then { if (((_target getvariable [QGVAR(tourniquets), [0,0,0,0,0,0]]) select GVAR(currentSelectedSelectionN)) > 0) then { _genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_TOURNIQUET_APPLIED", [0.5, 0.5, 0, 1]]; }; - if (_target getvariable[QGVAR(inPain), false]) then { + if (_target getvariable[QGVAR(hasPain), false]) then { _genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_PAIN", [1, 1, 1, 1]]; }; @@ -75,9 +75,17 @@ if (_show) then { }; }foreach _openWounds; } else { - // TODO handle basic medical colors for body part selections here - + { + _selectionBloodLoss set [_forEachIndex, _target getHitPointDamage _x]; + if (_target getHitPointDamage _x > 0.1) then { + // @todo localize + _allInjuryTexts pushBack format ["%1 %2", + ["Lightly wounded", "Heavily wounded"] select (_target getHitPointDamage _x > 0.5), + ["head", "torso", "left arm", "right arm", "left leg", "right leg"] select _forEachIndex + ]; + }; + } forEach ["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"]; }; // Handle the body image coloring @@ -149,4 +157,4 @@ if (_show) then { } else { ("ACE_MedicalRscDisplayInformation" call BIS_fnc_rscLayer) cutText ["","PLAIN"]; -}; \ No newline at end of file +}; diff --git a/addons/medical/functions/fnc_displayTriageCard.sqf b/addons/medical/functions/fnc_displayTriageCard.sqf new file mode 100644 index 0000000000..95e6713d9a --- /dev/null +++ b/addons/medical/functions/fnc_displayTriageCard.sqf @@ -0,0 +1,78 @@ +/* + * Author: Glowbal + * Display triage card for a unit + * + * Arguments: + * 0: The unit + * + * Return Value: + * nil + * + * Public: Yes + */ + +#include "script_component.hpp" + +private ["_target", "_show"]; +_target = _this select 0; +_show = if (count _this > 1) then {_this select 1} else {true}; +GVAR(currentSelectedSelectionN) = if (count _this > 2) then {_this select 2} else {0}; + +GVAR(TriageCardTarget) = if (_show) then {_target} else {ObjNull}; + +if (_show) then { + //("ACE_MedicalTriageCard" call BIS_fnc_rscLayer) cutRsc [QGVAR(triageCard),"PLAIN"]; + createDialog QGVAR(triageCard); + + [{ + private ["_target", "_display", "_alphaLevel", "_damaged", "_availableSelections", "_openWounds", "_selectionBloodLoss", "_red", "_green", "_blue", "_alphaLevel", "_allInjuryTexts", "_lbCtrl", "_genericMessages"]; + _target = (_this select 0) select 0; + if (GVAR(TriageCardTarget) != _target) exitwith { + [_this select 1] call CBA_fnc_removePerFrameHandler; + }; + + disableSerialization; + _display = uiNamespace getvariable QGVAR(triageCard); + if (isnil "_display") exitwith { + [_this select 1] call CBA_fnc_removePerFrameHandler; + }; + + _triageCardTexts = []; + + // TODO fill the lb with the appropiate information for the patient + _lbCtrl = (_display displayCtrl 200); + lbClear _lbCtrl; + + _log = _target getvariable ["myVariableTESTKOEAKJR", []]; + { + // [_message,_moment,_type, _arguments] + _message = _x select 0; + _moment = _x select 1; + _arguments = _x select 3; + if (isLocalized _message) then { + _message = localize _message; + }; + + { + if (typeName _x == "STRING" && {isLocalized _x}) then { + _arguments set [_foreachIndex, localize _x]; + }; + }foreach _arguments; + _message = format([_message] + _arguments); + _lbCtrl lbAdd format["%1 %2", _moment, _message]; + }foreach _log; + + if (count _triageCardTexts == 0) then { + _lbCtrl lbAdd "No entries on this triage card.."; + }; + + _triageStatus = [_target] call FUNC(getTriageStatus); + (_display displayCtrl 2000) ctrlSetText (_triageStatus select 0); + (_display displayCtrl 2000) ctrlSetBackgroundColor (_triageStatus select 2); + + }, 0, [_target]] call CBA_fnc_addPerFrameHandler; + +} else { + //("ACE_MedicalTriageCard" call BIS_fnc_rscLayer) cutText ["","PLAIN"]; + closeDialog 7010; +}; diff --git a/addons/medical/functions/fnc_dropDownTriageCard.sqf b/addons/medical/functions/fnc_dropDownTriageCard.sqf new file mode 100644 index 0000000000..5e763822db --- /dev/null +++ b/addons/medical/functions/fnc_dropDownTriageCard.sqf @@ -0,0 +1,32 @@ +/* + * Author: Glowbal + * Display triage card for a unit + * + * Arguments: + * 0: The unit + * + * Return Value: + * nil + * + * Public: Yes + */ + +#include "script_component.hpp" + +private ["_show"]; +_show = _this select 0; +disableSerialization; + +_display = uiNamespace getvariable QGVAR(triageCard); +if (isnil "_display") exitwith {}; + +_pos = [0,0,0,0]; +if (_show) then { + _pos = ctrlPosition (_display displayCtrl 2001); +}; +for "_idc" from 2002 to 2006 step 1 do { + _pos set [1, (_pos select 1) + (_pos select 3)]; + _ctrl = (_display displayCtrl _idc); + _ctrl ctrlSetPosition _pos; + _ctrl ctrlCommit 0; +}; diff --git a/addons/medical/functions/fnc_handleDamage_advanced.sqf b/addons/medical/functions/fnc_handleDamage_advanced.sqf index 0158608067..8d4f14315a 100644 --- a/addons/medical/functions/fnc_handleDamage_advanced.sqf +++ b/addons/medical/functions/fnc_handleDamage_advanced.sqf @@ -45,15 +45,16 @@ _unit setvariable [QGVAR(bodyPartStatus), _damageBodyParts, true]; [_unit, _selectionName, _newDamage, _typeOfProjectile, _typeOfDamage] call FUNC(handleDamage_wounds); -if (GVAR(enableAirway)) then { - [_unit,_selectionName,_newDamage,_sourceOfDamage, _typeOfDamage] call FUNC(handleDamage_airway); -}; -if (GVAR(enableFractures)) then { - [_unit,_selectionName,_newDamage,_sourceOfDamage, _typeOfDamage] call FUNC(handleDamage_fractures); -}; -if (GVAR(enableInternalBleeding)) then { - [_unit,_selectionName,_newDamage,_sourceOfDamage, _typeOfDamage] call FUNC(handleDamage_internalInjuries); -}; +// TODO Disabled until implemented fully +//if (GVAR(enableAirway)) then { +// [_unit,_selectionName,_newDamage,_sourceOfDamage, _typeOfDamage] call FUNC(handleDamage_airway); +//}; +//if (GVAR(enableFractures)) then { +// [_unit,_selectionName,_newDamage,_sourceOfDamage, _typeOfDamage] call FUNC(handleDamage_fractures); +//}; +//if (GVAR(enableInternalBleeding)) then { +// [_unit,_selectionName,_newDamage,_sourceOfDamage, _typeOfDamage] call FUNC(handleDamage_internalInjuries); +//}; if (alive _unit && {!(_unit getvariable ["ACE_isUnconscious", false])}) then { [_unit, _newDamage] call FUNC(reactionToDamage); diff --git a/addons/medical/functions/fnc_handleDamage_basic.sqf b/addons/medical/functions/fnc_handleDamage_basic.sqf index f31c9f186d..600101e7eb 100644 --- a/addons/medical/functions/fnc_handleDamage_basic.sqf +++ b/addons/medical/functions/fnc_handleDamage_basic.sqf @@ -112,8 +112,20 @@ if (_selection == "") then { }; -// Assign orphan structural damage to torso; -// @todo +// Assign orphan structural damage to torso +[{ + private ["_unit", "_damagesum"]; + _unit = _this select 0; + _damagesum = (_unit getHitPointDamage "HitHead") + + (_unit getHitPointDamage "HitBody") + + (_unit getHitPointDamage "HitLeftArm") + + (_unit getHitPointDamage "HitRightArm") + + (_unit getHitPointDamage "HitLeftLeg") + + (_unit getHitPointDamage "HitRightLeg"); + if (_damagesum < 0.06 and damage _unit > 0.06 and alive _unit) then { + _unit setHitPointDamage ["HitBody", damage _unit]; + }; +}, [_unit], 2, 0.1] call EFUNC(common,waitAndExecute); if (_selection == "") then { @@ -137,7 +149,7 @@ if (_legdamage >= LEGDAMAGETRESHOLD1) then { } else { if (_unit getHitPointDamage "HitLegs" != 0) then {_unit setHitPointDamage ["HitLegs", 0]}; }; -// @ŧodo: force prone for completely fucked up legs. +// @todo: force prone for completely fucked up legs. // Arm Damage @@ -171,9 +183,8 @@ if (_selection == "" and _damageReturn < 1 and !(_unit getVariable [QGVAR(isUnconscious), False] )) then { - // random chance to kill AI instead of knocking them out - if (_unit getVariable [QGVAR(allowUnconscious), ([_unit] call EFUNC(common,isPlayer)) or random 1 > 0.5]) then { - hint "unconscious"; // @todo + if (_unit getVariable [QGVAR(allowUnconscious), ([_unit] call EFUNC(common,isPlayer)) or random 1 > 0.3]) then { + [_unit, true] call FUNC(setUnconscious); } else { _damageReturn = 1; }; diff --git a/addons/medical/functions/fnc_handleDamage_fractures.sqf b/addons/medical/functions/fnc_handleDamage_fractures.sqf index 0a22365044..31fa1c8873 100644 --- a/addons/medical/functions/fnc_handleDamage_fractures.sqf +++ b/addons/medical/functions/fnc_handleDamage_fractures.sqf @@ -70,5 +70,5 @@ if (_amountOfDamage > 0.05) then { _fractureID = (_fractures select (_amountOf - 1) select 0) + 1; }; _fractures pushback [_fractureID, _fractureType, _bodyPartn, 1 /* percentage treated */]; - _unit setvariable [GVAR(fractures), _fractures, true]; -}; \ No newline at end of file + _unit setvariable [QGVAR(fractures), _fractures, true]; +}; diff --git a/addons/medical/functions/fnc_handleUnitVitals.sqf b/addons/medical/functions/fnc_handleUnitVitals.sqf index e7c55d5d08..68bd98a153 100644 --- a/addons/medical/functions/fnc_handleUnitVitals.sqf +++ b/addons/medical/functions/fnc_handleUnitVitals.sqf @@ -16,6 +16,11 @@ private ["_unit", "_heartRate","_bloodPressure","_bloodVolume","_painStatus", "_lastTimeValuesSynced", "_syncValues"]; _unit = _this select 0; +_interval = time - (_unit getVariable [QGVAR(lastMomentVitalsHandled), 0]); +_unit setVariable [QGVAR(lastMomentVitalsHandled), time]; + +if (_interval == 0) exitWith {}; + _lastTimeValuesSynced = _unit getvariable [QGVAR(lastMomentValuesSynced), 0]; _syncValues = time - _lastTimeValuesSynced >= (10 + floor(random(10))); if (_syncValues) then { @@ -60,40 +65,64 @@ if (_painStatus > 0) then { }; }; +if (GVAR(level) == 1) then { + // reduce pain + if (_unit getVariable [QGVAR(pain), 0] > 0) then { + _unit setVariable [QGVAR(pain), ((_unit getVariable QGVAR(pain)) - 0.001 * _interval) max 0, _syncValues]; + }; -if (_bloodVolume < 30) exitwith { - [_unit] call FUNC(setDead); -}; + // reduce painkillers + if (_unit getVariable [QGVAR(morphine), 0] > 0) then { + _unit setVariable [QGVAR(morphine), ((_unit getVariable QGVAR(morphine)) - 0.0015 * _interval) max 0, _syncValues]; + }; -if ([_unit] call EFUNC(common,isAwake)) then { - if (_bloodVolume < 60) then { - if (random(1) > 0.9) then { - [_unit] call FUNC(setUnconscious); + // bleeding + _blood = _unit getVariable [QGVAR(bloodVolume), 100]; + _blood = (_blood - 0.4 * (damage _unit) * _interval) max 0; + if (_blood != (_unit getVariable [QGVAR(bloodVolume), 100])) then { + _unit setVariable [QGVAR(bloodVolume), _blood, _syncValues]; + if (_blood <= 35 and !(_unit getVariable [QGVAR(isUnconscious), false])) then { + [_unit, true] call FUNC(setUnconscious); + }; + if (_blood == 0) then { + [_unit] call FUNC(setDead); }; }; }; // handle advanced medical, with vitals if (GVAR(level) >= 2) then { + if (_bloodVolume < 30) exitwith { + [_unit] call FUNC(setDead); + }; + + if ([_unit] call EFUNC(common,isAwake)) then { + if (_bloodVolume < 60) then { + if (random(1) > 0.9) then { + [_unit] call FUNC(setUnconscious); + }; + }; + }; // Set the vitals - _heartRate = (_unit getvariable [QGVAR(heartRate), 0]) + ([_unit] call FUNC(getHeartRateChange)); + _heartRate = (_unit getvariable [QGVAR(heartRate), 0]) + ([_unit] call FUNC(getHeartRateChange)) * _interval; _unit setvariable [QGVAR(heartRate), _heartRate, _syncValues]; _bloodPressure = [_unit] call FUNC(getBloodPressure); _unit setvariable [QGVAR(bloodPressure), _bloodPressure, _syncValues]; + // TODO Disabled until implemented fully // Handle airway - if (GVAR(setting_allowAirwayInjuries)) then { + /*if (GVAR(setting_allowAirwayInjuries)) then { _airwayStatus = _unit getvariable [QGVAR(airwayStatus), 100]; if (((_unit getvariable [QGVAR(airwayOccluded), false]) || (_unit getvariable [QGVAR(airwayCollapsed), false])) && !((_unit getvariable [QGVAR(airwaySecured), false]))) then { if (_airwayStatus >= 0.5) then { - _unit setvariable [QGVAR(airwayStatus), _airwayStatus - 0.5, _syncValues]; + _unit setvariable [QGVAR(airwayStatus), _airwayStatus - 0.5 * _interval, _syncValues]; }; } else { if !((_unit getvariable [QGVAR(airwayOccluded), false]) || (_unit getvariable [QGVAR(airwayCollapsed), false])) then { if (_airwayStatus < 100) then { - _unit setvariable [QGVAR(airwayStatus), (_airwayStatus + 1.5) min 100, _syncValues]; + _unit setvariable [QGVAR(airwayStatus), (_airwayStatus + 1.5 * _interval) min 100, _syncValues]; }; }; }; @@ -103,12 +132,11 @@ if (GVAR(level) >= 2) then { [_unit, true] call FUNC(setDead); }; }; - }; + };*/ // Check vitals for medical status // TODO check for in revive state instead of variable - // TODO Implement cardiac arrest. - _bloodPressureL = _bloodPressure select 0; + _bloodPressureL = _bloodPressure select 0; _bloodPressureH = _bloodPressure select 1; if (!(_unit getvariable [QGVAR(inCardiacArrest),false])) then { diff --git a/addons/medical/functions/fnc_hasItem.sqf b/addons/medical/functions/fnc_hasItem.sqf index d02abb9187..551d532ae4 100644 --- a/addons/medical/functions/fnc_hasItem.sqf +++ b/addons/medical/functions/fnc_hasItem.sqf @@ -32,7 +32,7 @@ if ([_medic, _item] call EFUNC(common,hasItem)) exitwith { }; _return = false; -if ([vehicle _medic] call FUNC(isMedicalVehicle) && {(vehicle _medic != _medic)}) then { +if ((vehicle _medic != _medic) && {[vehicle _medic] call FUNC(isMedicalVehicle)}) then { _crew = crew vehicle _medic; { if ([_medic, _x] call FUNC(canAccessMedicalEquipment) && {([_x, _item] call EFUNC(common,hasItem))}) exitwith { diff --git a/addons/medical/functions/fnc_init.sqf b/addons/medical/functions/fnc_init.sqf index c58cccedb4..dfd27cdd6f 100644 --- a/addons/medical/functions/fnc_init.sqf +++ b/addons/medical/functions/fnc_init.sqf @@ -74,3 +74,8 @@ _logs = _unit getvariable [QGVAR(allLogs), []]; _unit setvariable [_x, nil, true]; } foreach _logs; _unit setvariable [QGVAR(allLogs), [], true]; + +// items +[{ + _this call FUNC(itemCheck); +}, [_unit], 0.5, 0.1] call EFUNC(common,waitAndExecute); diff --git a/addons/medical/functions/fnc_isInMedicalVehicle.sqf b/addons/medical/functions/fnc_isInMedicalVehicle.sqf new file mode 100644 index 0000000000..e610a5cf3f --- /dev/null +++ b/addons/medical/functions/fnc_isInMedicalVehicle.sqf @@ -0,0 +1,23 @@ +/* + * Author: KoffeinFlummi + * Checks if a unit is in a medical vehicle. + * + * Arguments: + * 0: unit to be checked + * + * Return Value: + * Is unit in medical vehicle? + * + * Public: Yes + */ + +private ["_unit", "_vehicle"]; + +_unit = _this select 0; +_vehicle = vehicle _unit; + +if (_unit == _vehicle) exitWith {false}; +if (_unit in [driver _vehicle, gunner _vehicle, commander _vehicle]) exitWith {false}; + +// @todo: variable names standard? +_vehicle getVariable [QGVAR(isMedic), getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "attendant") == 1] diff --git a/addons/medical/functions/fnc_isMedic.sqf b/addons/medical/functions/fnc_isMedic.sqf index d3ece4c8b0..cc07948f4b 100644 --- a/addons/medical/functions/fnc_isMedic.sqf +++ b/addons/medical/functions/fnc_isMedic.sqf @@ -1,5 +1,5 @@ /* - * Author: Glowbal + * Author: Glowbal, KoffeinFlummi * Check if a unit is any medical class * * Arguments: @@ -18,18 +18,7 @@ private ["_unit","_class","_return"]; _unit = _this select 0; _medicN = if (count _this > 1) then {_this select 1} else {1}; -_return = false; -if (GVAR(medicSetting) >= 1) then { - _class = _unit getvariable [QGVAR(medicClass), 0]; - if (GVAR(medicSetting) == 1) then { - _return = _class > 0; - } else { - if (_class >= _medicN) then { - _return = true; - }; - }; -} else { - _return = true; -}; +_class = _unit getVariable [QGVAR(medicClass), + getNumber (configFile >> "CfgVehicles" >> typeOf _unit >> "attendant")]; -_return; +_class >= _medicN min GVAR(medicSetting) diff --git a/addons/medical/functions/fnc_itemCheck.sqf b/addons/medical/functions/fnc_itemCheck.sqf new file mode 100644 index 0000000000..c903417dfc --- /dev/null +++ b/addons/medical/functions/fnc_itemCheck.sqf @@ -0,0 +1,51 @@ +/* + * Author: KoffeinFlummi + * Replaces vanilla items with ACE ones. + * + * Arguments: + * 0: The unit + * + * ReturnValue: + * nil + * + * Public: Yes + */ + +#include "script_component.hpp" + +private ["_unit"]; +_unit = _this select 0; + +while {({_x == "FirstAidKit"} count items _unit) > 0} do { + _unit removeItem "FirstAidKit"; + if (GVAR(level) >= 2) then { + _unit addItem "ACE_fieldDressing"; + _unit addItem "ACE_packingBandage"; + _unit addItem "ACE_morphine"; + _unit addItem "ACE_tourniquet"; + } else { + _unit addItem "ACE_fieldDressing"; + _unit addItem "ACE_fieldDressing"; + _unit addItem "ACE_morphine"; + }; +}; + +while {({_x == "Medikit"} count items _unit) > 0} do { + _unit removeItem "Medikit"; + if (GVAR(level) >= 2) then { + _unit addItemToBackpack "ACE_fieldDressing"; + _unit addItemToBackpack "ACE_packingBandage"; + _unit addItemToBackpack "ACE_packingBandage"; + _unit addItemToBackpack "ACE_epinephrine"; + _unit addItemToBackpack "ACE_morphine"; + _unit addItemToBackpack "ACE_salineIV_250"; + _unit addItemToBackpack "ACE_tourniquet"; + } else { + _unit addItemToBackpack "ACE_epinephrine"; + _unit addItemToBackpack "ACE_epinephrine"; + _unit addItemToBackpack "ACE_epinephrine"; + _unit addItemToBackpack "ACE_epinephrine"; + _unit addItemToBackpack "ACE_bloodIV"; + _unit addItemToBackpack "ACE_bloodIV"; + }; +}; diff --git a/addons/medical/functions/fnc_onPropagateWound.sqf b/addons/medical/functions/fnc_onPropagateWound.sqf index 762afa762c..934899eac4 100644 --- a/addons/medical/functions/fnc_onPropagateWound.sqf +++ b/addons/medical/functions/fnc_onPropagateWound.sqf @@ -33,5 +33,5 @@ if (!local _unit) then { if (!_exists) then { _openWounds pushback _injury; }; - _unit setvariable [GVAR(openWounds), _openWounds]; + _unit setvariable [QGVAR(openWounds), _openWounds]; }; diff --git a/addons/medical/functions/fnc_setHitPointDamage.sqf b/addons/medical/functions/fnc_setHitPointDamage.sqf index 473852b159..a9505b2150 100644 --- a/addons/medical/functions/fnc_setHitPointDamage.sqf +++ b/addons/medical/functions/fnc_setHitPointDamage.sqf @@ -1,6 +1,6 @@ /* * Author: KoffeinFlummi - * My very own setHitPointDamage since BIS's one is buggy when affecting a remote unit. + * My very own setHitPointDamage since BIS' one is buggy when affecting a remote unit. * It also doesn't change the overall damage. This does. * * Arguments: @@ -16,6 +16,10 @@ */ #include "script_component.hpp" +#define LEGDAMAGETRESHOLD1 1 +#define LEGDAMAGETRESHOLD2 1.7 +#define ARMDAMAGETRESHOLD1 1 +#define ARMDAMAGETRESHOLD2 1.7 private ["_unit", "_selection", "_damage", "_selections", "_damages", "_damageOld", "_damageSumOld", "_damageNew", "_damageSumNew", "_damageFinal"]; @@ -76,3 +80,22 @@ _unit setDamage _damageNew; _damageFinal = (_damages select _forEachIndex); _unit setHitPointDamage [_x, _damageFinal]; } forEach _selections; + +// Leg Damage +_legdamage = (_unit getHitPointDamage "HitLeftLeg") + (_unit getHitPointDamage "HitRightLeg"); +if (_legdamage >= LEGDAMAGETRESHOLD1) then { + if (_unit getHitPointDamage "HitLegs" != 1) then {_unit setHitPointDamage ["HitLegs", 1]}; +} else { + if (_unit getHitPointDamage "HitLegs" != 0) then {_unit setHitPointDamage ["HitLegs", 0]}; +}; +// @ŧodo: force prone for completely fucked up legs. + + +// Arm Damage +_armdamage = (_unit getHitPointDamage "HitLeftArm") + (_unit getHitPointDamage "HitRightArm"); +if (_armdamage >= ARMDAMAGETRESHOLD1) then { + if (_unit getHitPointDamage "HitHands" != 1) then {_unit setHitPointDamage ["HitHands", 1]}; +} else { + if (_unit getHitPointDamage "HitHands" != 0) then {_unit setHitPointDamage ["HitHands", 0]}; +}; +// @todo: Drop weapon for full damage. diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index dbb0d115c3..e27d7f21f7 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -25,7 +25,7 @@ if !(!(isNull _unit) && {(_unit isKindOf "CaManBase") && ([_unit] call EFUNC(com // We only want this function to work on local machines if (!local _unit) exitwith { - [[_unit], QUOTE(DFUNC(setUnconsciousState)), _unit, false] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */ + [[_unit], QUOTE(DFUNC(setUnconscious)), _unit, false] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */ }; // Get rid of the object we are carrying, before we go unconscious. @@ -35,6 +35,12 @@ if (!local _unit) exitwith { _unit setvariable ["ACE_isUnconscious", true, true]; _unit setUnconscious true; +// @todo: mute player? +if (_unit == ACE_player) then { + if (visibleMap) then {openMap false}; + closeDialog 0; +}; + // If a unit has the launcher out, it will sometimes start selecting the primairy weapon while unconscious, // therefor we force it to select the primairy weapon before going unconscious if ((vehicle _unit) isKindOf "StaticWeapon") then { @@ -64,22 +70,21 @@ _unit setUnitPos "DOWN"; // So the AI does not get stuck, we are moving the unit to a temp group on its own. [_unit, true, "ACE_isUnconscious", side group _unit] call EFUNC(common,switchToGroupSide); -_captiveSwitch = [_unit, true] call EFUNC(common,setCaptiveSwitch); +[_unit, QGVAR(unconscious), true] call EFUNC(common,setCaptivityStatus); [_unit, [_unit] call EFUNC(common,getDeathAnim), 1, true] call EFUNC(common,doAnimation); _startingTime = time; _minWaitingTime = (round(random(10)+5)); [{ - private ["_unit", "_vehicleOfUnit","_lockSwitch","_minWaitingTime", "_oldAnimation", "_captiveSwitch", "_hasMovedOut"]; + private ["_unit", "_vehicleOfUnit","_minWaitingTime", "_oldAnimation", "_captiveSwitch", "_hasMovedOut"]; _args = _this select 0; _unit = _args select 0; _oldAnimation = _args select 1; - _captiveSwitch = _args select 2; - _originalPos = _args select 3; - _startingTime = _args select 4; - _minWaitingTime = _args select 5; - _hasMovedOut = _args select 6; + _originalPos = _args select 2; + _startingTime = _args select 3; + _minWaitingTime = _args select 4; + _hasMovedOut = _args select 5; // Since the unit is no longer alive, get rid of this PFH. if (!alive _unit) exitwith { // EXIT PFH @@ -104,10 +109,8 @@ _minWaitingTime = (round(random(10)+5)); }; if (!_hasMovedOut) then { // Reset the unit back to the previous captive state. - if (_captiveSwitch) then { - [_unit, false] call EFUNC(common,setCaptiveSwitch); - }; - + [_unit, QGVAR(unconscious), false] call EFUNC(common,setCaptivityStatus); + // Swhich the unit back to its original group [_unit, false, "ACE_isUnconscious", side group _unit] call EFUNC(common,switchToGroupSide); @@ -137,6 +140,6 @@ _minWaitingTime = (round(random(10)+5)); [_unit,([_unit] call FUNC(getDeathAnim)), 1, true] call EFUNC(common,doAnimation); // Reset animations if unit starts doing wierd things. }; -}, 0.1, [_unit,_animState, _captiveSwitch, _originalPos, _startingTime, _minWaitingTime, false] ] call CBA_fnc_addPerFrameHandler; +}, 0.1, [_unit,_animState, _originalPos, _startingTime, _minWaitingTime, false] ] call CBA_fnc_addPerFrameHandler; ["medical_onUnconscious", [_unit], [_unit, true]] call EFUNC(common,targetEvent); diff --git a/addons/medical/functions/fnc_treatmentBasic_bandage.sqf b/addons/medical/functions/fnc_treatmentBasic_bandage.sqf index 39b910d6e4..4b07e989aa 100644 --- a/addons/medical/functions/fnc_treatmentBasic_bandage.sqf +++ b/addons/medical/functions/fnc_treatmentBasic_bandage.sqf @@ -32,6 +32,4 @@ if (_selection == "all") then { _damage = ((_target getHitPointDamage _point) - BANDAGEHEAL) max 0; [_target, _point, _damage] call FUNC(setHitPointDamage); - - // @todo: leg/arm damage - in setHitPointDamage? }; diff --git a/addons/medical/functions/fnc_treatmentBasic_epipen.sqf b/addons/medical/functions/fnc_treatmentBasic_epipen.sqf index e616327673..644e98c390 100644 --- a/addons/medical/functions/fnc_treatmentBasic_epipen.sqf +++ b/addons/medical/functions/fnc_treatmentBasic_epipen.sqf @@ -15,7 +15,6 @@ */ #include "script_component.hpp" -#define BLOODBAGHEAL 70 private ["_caller", "_target","_className"]; _caller = _this select 0; diff --git a/addons/medical/functions/fnc_treatmentBasic_morphine.sqf b/addons/medical/functions/fnc_treatmentBasic_morphine.sqf index 30c87b6f05..d8d793d0bc 100644 --- a/addons/medical/functions/fnc_treatmentBasic_morphine.sqf +++ b/addons/medical/functions/fnc_treatmentBasic_morphine.sqf @@ -23,11 +23,9 @@ _target = _this select 1; _className = _this select 3; // reduce pain, pain sensitivity -_morphine = (_target getVariable [QGVAR(morphine), 0] + MORPHINEHEAL) min 1; +_morphine = ((_target getVariable [QGVAR(morphine), 0]) + MORPHINEHEAL) min 1; _target setVariable [QGVAR(morphine), _morphine, true]; _pain = ((_target getVariable [QGVAR(pain), 0]) - MORPHINEHEAL) max 0; _target setVariable [QGVAR(pain), _pain, true]; // @todo overdose - -// @todo pain, painkiller reduction diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 6b63aaa416..79bd7df1eb 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,73 +1,243 @@ + + + Inject Morphine + Morphin injizieren + Inyectar Morfina + Wstrzyknij morfinę + Aplikovat Morfin + Ввести морфин + Morphine + Morfium + Injetar Morfina + Inietta Morfina + + + Inject Epinephrine + Epinephrine injizieren + Inyectar Epinefrina + Wtrzyknij adrenalinę + Aplikovat Adrenalin + Ввести андреналил + Adrénaline + Adrenalin + Injetar Epinefrina + Inietta Epinefrina + + + Transfuse Blood + Bluttransfusion + Transfundir sangre + Przetocz krew + Transfúze krve + Перелить кровь + Transfusion + Infúzió + Transfundir Sangue + Effettua Trasfusione + + + Bandage + Verbinden + Venda + Bandaż + Obvázat + Pansement + Benda + Kötözés + Atadura + Перевязать + + + Bandage Head + Kopf verbinden + Vendar la cabeza + Bandażuj głowę + Obvázat hlavu + Перевязать голову + Pansement Tête + Fej kötözése + Atar Cabeça + Benda la testa + + + Bandage Torso + Torso verbinden + Vendar el torso + Bandażuj tors + Obvázat hruď + Перевязать торс + Pansement Torse + Felsőtest kötözése + Atar Tronco + Benda il torso + + + Bandage Left Arm + Arm links verbinden + Vendar el brazo izquierdo + Bandażuj lewe ramię + Obvázat levou ruku + Перевязать левую руку + Pansement Bras Gauche + Bal kar kötözése + Atar Braço Esquerdo + Benda il braccio sinistro + + + Bandage Right Arm + Arm rechts verbinden + Vendar el brazo derecho + Bandażuj prawe ramię + Obvázat pravou ruku + Перевязать правую руку + Pansement Bras Droit + Jobb kar kötözése + Atar Braço Direito + Benda il braccio destro + + + Bandage Left Leg + Bein links verbinden + Vendar la pierna izquierda + Bandażuj lewą nogę + Obvázat levou nohu + Перевязать левую ногу + Pansement Jambe Gauche + Bal láb kötözése + Atar Perna Esquerda + Benda la gamba sinistra + + + Bandage Right Leg + Bein rechts verbinden + Vendar la pierna derecha + Bandażuj prawą nogę + Obvázat pravou nohu + Перевязать правую ногу + Pansement Jambe Droite + Jobb láb kötözése + Atar Perna Direita + Benda la gamba destra + + + Injecting Morphine ... + Morphin injizieren ... + Inyectando Morfina ... + Wstrzykiwanie morfiny ... + Aplikuju Morfin ... + Введение морфина... + Injection de Morphine... + Morfium beadása... + Injetando Morfina ... + Inietto la morfina ... + + + Injecting Epinephrine ... + Epinephrine injizieren ... + Inyectando Epinefrina ... + Wstrzykiwanie adrenaliny ... + Aplikuju Adrenalin ... + Введение андреналина + Injection d'Adrénaline ... + Adrenalin beadása... + Injetando Epinefrina ... + Inietto l'epinefrina ... + + + Transfusing Blood ... + Bluttransfusion ... + Realizando transfusión ... + Przetaczanie krwi ... + Probíhá transfúze krve ... + Переливание крови... + Transfusion Sanguine ... + Infúzió... + Transfundindo Sangue ... + Effettuo la trasfusione ... + + + Bandaging ... + Verbinden ... + Vendando ... + Bandażowanie ... + Obvazuji ... + Pansement ... + Sto applicando la benda ... + Bekötözés... + Atando ... + Перевязывание.... + + - Minor + Minor - Delayed + Delayed - Immediate + Immediate - Deceased + Deceased - None + None - Normal breathing + Normal breathing Дыхание в норме Respiración normal Respiration Normale Normalny oddech - No breathing + No breathing Дыхания нет No respira Apnée Brak oddechu - Difficult breathing + Difficult breathing Дыхание затруднено Dificultad para respirar Difficultée Respiratoire Trudności z oddychaniem - Almost no breathing + Almost no breathing Дыхания почти нет Casi sin respirar Respiration Faible Prawie brak oddechu - Bleeding + Bleeding Кровотечение Sangrando Seignement Krwawienie zewnętrzne - In Pain + In Pain Испытывает боль Con Dolor A De La Douleur W bólu - Lost a lot of Blood + Lost a lot of Blood Большая кровопотеря Mucha Sangre perdida A Perdu Bcp de Sang Stracił dużo krwi - Tourniquet [CAT] + Tourniquet [CAT] Жгут Torniquete [CAT] Garot [CAT] @@ -76,487 +246,484 @@ - Bandage (Basic) + Bandage (Basic) Повязка (обычная) Vendaje (Básico) Bandage (Standard) Bandaż (jałowy) - Used to cover a wound + Used to cover a wound Для перевязки ран Utilizado para cubrir una herida Utilisé Pour Couvrir Une Blessure Używany w celu przykrycia i ochrony miejsca zranienia - A dressing, that is a particular material used to cover a wound, which is applied over the wound once bleeding has been stemmed. + A dressing, that is a particular material used to cover a wound, which is applied over the wound once bleeding has been stemmed. Повязка, накладываемая поверх раны после остановки кровотечения. Un apósito, material específico utilizado para cubrir una herida, se aplica sobre la herida una vez ha dejado de sangrar. C'est un bandage, qui est fait d'un matériel spécial utiliser pour couvrir une blessure, qui peut etre appliquer des que le seignement as ete stopper. Opatrunek materiałowy, używany do przykrywania ran, zakładany na ranę po zatamowaniu krwawienia. - Packing Bandage + Packing Bandage Тампонирующая повязка Vendaje Compresivo Bandage Mèche Bandaż (uciskowy) - Used to pack medium to large wounds and stem the bleeding + Used to pack medium to large wounds and stem the bleeding Для тампонирования ран среднего и большого размера и остановки кровотечения. Se utiliza para vendar heridas medianas y grandes y detener el sangrado Utiliser pour remplire la cavité créé dans une blessure moyenne et grande. Używany w celu opatrywania średnich i dużych ran oraz tamowania krwawienia. - A bandage used to pack the wound to stem bleeding and facilitate wound healing. Packing a wound is an option in large polytrauma injuries. + A bandage used to pack the wound to stem bleeding and facilitate wound healing. Packing a wound is an option in large polytrauma injuries. Повязка для тампонирования раны, остановки кровотечения и лучшего заживления. При тяжелых сочетанных ранениях возможно тампонирование раны. Se utiliza para detener la hemorragia de una herida y favorecer su cicatrización. Se usa en grandes lesiones o politraumatismos. Un bandage servent a etre inseré dans les blessure pour éponger le seignement et faciliter la guerrison. Ce bandage est une option pour soigner les lession de politrauma. Opatrunek stosowany w celu zatrzymania krwawienia i osłony większych ran. - Bandage (Elastic) + Bandage (Elastic) Повязка (давящая) Vendaje (Elástico) Bandage (Élastique) Bandaż (elastyczny) - Bandage kit, Elastic + Bandage kit, Elastic Давящая повязка Vendaje (Elástico) Bandage Compressif Élastique Zestaw bandaży elastycznych. - + Ce bandage peut etre utiliser pour compresser la plaie afin de ralentire le seignement et assurer la tenue du bandage lors de mouvment. Elastyczna opaska podtrzymująca opatrunek oraz usztywniająca okolice stawów. Brinda una compresión uniforme y ofrece soporte extra a una zona lesionada - Tourniquet (CAT) + Tourniquet (CAT) Жгут Torniquete (CAT) Garot (CAT) Staza (typ. CAT) - Slows down blood loss when bleeding + Slows down blood loss when bleeding Уменьшает кровопотерю при кровотечении. Reduce la velocidad de pérdida de sangre Ralentit le seignement Zmniejsza ubytek krwi z kończyn w przypadku krwawienia. - A constricting device used to compress venous and arterial circulation in effect inhibiting or slowing blood flow and therefore decreasing loss of blood. + A constricting device used to compress venous and arterial circulation in effect inhibiting or slowing blood flow and therefore decreasing loss of blood. Жгут используется для прижатия сосудов, приводящего к остановке или значительному уменьшению кровотечения и сокращению кровопотери. Dispositivo utilizado para eliminar el pulso distal y de ese modo controlar la pérdida de sangre Un appareil servent a compresser les artères et veines afin de reduire la perte de sang. Opaska zaciskowa CAT służy do tamowanie krwotoków w sytuacji zranienia kończyn z masywnym krwawieniem tętniczym lub żylnym. - Morphine auto-injector + Morphine auto-injector Морфин в автоматическом шприце Morfina auto-inyectable Auto-injecteur de Morphine Autostrzykawka z morfiną - Used to combat moderate to severe pain experiences + Used to combat moderate to severe pain experiences Для снятия средних и сильных болевых ощущений. Usado para combatir los estados dolorosos moderados a severos Utiliser pour contrer les douleurs modéré à severes. Morfina. Ma silne działanie przeciwbólowe. - An analgesic used to combat moderate to severe pain experiences. + An analgesic used to combat moderate to severe pain experiences. Анальгетик для снятия средних и сильных болевых ощущений. Analgésico usado para combatir los estados dolorosos de moderado a severo. Un Analgésique puissant servant a contrer les douleur modéré a severe. Organiczny związek chemiczny z grupy alkaloidów. Ma silne działanie przeciwbólowe. - Atropin auto-injector + Atropin auto-injector Атропин в автоматическом шприце Atropina auto-inyectable Auto-injecteur d'Atropine Autostrzykawka AtroPen - Used in NBC scenarios + Used in NBC scenarios Применяется для защиты от ОМП Usado en escenarios NBQ Utiliser en cas d'attaque CBRN Atropina. Stosowana jako lek rozkurczowy i środek rozszerzający źrenice. - A drug used by the Military in NBC scenarios. + A drug used by the Military in NBC scenarios. Препарат, используемый в войсках для защиты от оружия массового поражения. Medicamento usado por Militares en escenarios NBQ Médicament utilisé par l'armée en cas d'attaque CBRN Atropina. Stosowana jako lek rozkurczowy i środek rozszerzający źrenice. Środek stosowany w przypadku zagrożeń NBC. - Epinephrine auto-injector + Epinephrine auto-injector Адреналин в автоматическом шприце Epinefrina auto-inyectable Auto-injecteur d'épinéphrine Autostrzykawka EpiPen - Increase heart rate and counter effects given by allergic reactions + Increase heart rate and counter effects given by allergic reactions Стимулирует работу сердца и купирует аллергические реакции. Aumenta la frecuencia cardiaca y contraresta los efectos de las reacciones alérgicas Augmente la Fréquance cadiaque et contré les effet d'une reaction Anaphylactique Adrenalina. Zwiększa puls i przeciwdziała efektom wywołanym przez reakcje alergiczne - A drug that works on a sympathetic response to dilate the bronchi, increase heart rate and counter such effects given by allergic reactions (anaphylaxis). Used in sudden cardiac arrest scenarios with decreasing positive outcomes. + A drug that works on a sympathetic response to dilate the bronchi, increase heart rate and counter such effects given by allergic reactions (anaphylaxis). Used in sudden cardiac arrest scenarios with decreasing positive outcomes. Препарат, вызывающий симпатическую реакцию, приводящую к расширению бронхов, увеличению частоты сердечных сокращений и купированию аллергических реакций (анафилактического шока). Применяется при остановке сердца с уменьшением вероятности благоприятного исхода. Medicamento que dilata los bronquios, aumenta la frecuencia cardiaca y contrarresta los efectos de las reacciones alérgicas (anafilaxis). Se utiliza en caso de paros cardiacos repentinos. Un medicament qui fonctione sur le systeme sympatique créan une dilatation des bronches, augmente la fréquance cardiaque et contre les effet d'une reaction alergique (anaphylaxie). Utiliser lors d'arret cardio-respiratoire pour augmenté les chances retrouver un ryhtme. EpiPen z adrenaliną ma działanie sympatykomimetyczne, tj. pobudza receptory alfa- i beta-adrenergiczne. Pobudzenie układu współczulnego prowadzi do zwiększenia częstotliwości pracy serca, zwiększenia pojemności wyrzutowej serca i przyśpieszenia krążenia wieńcowego. Pobudzenie oskrzelowych receptorów beta-adrenergicznych wywołuje rozkurcz mięśni gładkich oskrzeli, co w efekcie zmniejsza towarzyszące oddychaniu świsty i duszności. - Plasma IV (1000ml) + Plasma IV (1000ml) Плазма для в/в вливания (1000 мл) Plasma Intravenoso (1000ml) Plasma Sanguin IV (1000ml) Osocze IV (1000ml) - A volume-expanding blood supplement. + A volume-expanding blood supplement. Дополнительный препарат, применяемый при возмещении объема крови. Suplemento para expandir el volumen sanguíneo. Supplement visant a remplacer les volume sanguin Składnik krwi, używany do zwiększenia jej objętości. - A volume-expanding blood supplement. + A volume-expanding blood supplement. Дополнительный препарат, применяемый при возмещении объема крови. Suplemento para expandir el volumen sanguíneo. Supplement visant a remplacer le volume sanguin et remplace les plaquettes. Składnik krwi, używany do zwiększenia jej objętości. - Plasma IV (500ml) + Plasma IV (500ml) Плазма для в/в вливания (500 мл) Plasma Intravenoso (500ml) Plasma Sanguin IV (500ml) Osocze IV (500ml) - Plasma IV (250ml) + Plasma IV (250ml) Плазма для в/в вливания (250 мл) Plasma Intravenoso (250ml) Plasma Sanguin (250ml) Osocze IV (250ml) - Blood IV (1000ml) + Blood IV (1000ml) Кровь для переливания (1000 мл) Sangre Intravenosa (1000ml) Cullot Sanguin IV (1000ml) Krew IV (1000ml) - Blood IV, for restoring a patients blood (keep cold) + Blood IV, for restoring a patients blood (keep cold) Пакет крови для возмещения объема потерянной крови (хранить в холодильнике) Sangre Intravenosa, para restarurar el volumen sanguíneo (mantener frío) Cullot Sanguin IV, pour remplacer le volume sanguin (garder Réfrigeré) Krew IV, używana do uzupełnienia krwi u pacjenta, trzymać w warunkach chłodniczych - O Negative infusion blood used in strict and rare events to replenish blood supply usually conducted in the transport phase of medical care. + O Negative infusion blood used in strict and rare events to replenish blood supply usually conducted in the transport phase of medical care. Кровь I группы, резус-отрицательная, применяется по жизненным показаниям для возмещения объема потерянной крови на догоспитальном этапе оказания медицинской помощи. Cullot Sanguin O- ,utiliser seulement lors de perte sanguine majeur afin de remplacer le volume sanguin perdu. Habituelment utiliser lors du transport ou dans un etablisement de soin. Krew 0 Rh-, używana w rzadkich i szczególnych przypadkach do uzupełnienia krwi u pacjenta, zazwyczaj w trakcie fazie transportu rannej osoby do szpitala. Utilice sólo durante gran pérdida de sangre para reemplazar el volumen de sangre perdido. Uso habitual durante el transporte de heridos. - Blood IV (500ml) + Blood IV (500ml) Кровь для переливания (500 мл) Sangre Intravenosa (500ml) Cullot Sanguin IV (500ml) Krew IV (500ml) - Blood IV (250ml) + Blood IV (250ml) Кровь для переливания (250 мл) Sangre Intravenosa (250ml) Cullot Sanguin IV (250ml) Krew IV (250ml) - Saline IV (1000ml) + Saline IV (1000ml) Физраствор для в/в вливания (1000 мл) Solución Salina Intravenosa (1000ml) solution Saline 0.9% IV (1000ml) Solanka 0,9% IV (1000ml) - Saline IV, for restoring a patients blood + Saline IV, for restoring a patients blood Пакет физраствора для возмещения объема потерянной крови Solución Salina Intravenosa, para restaurar el volumen sanguíneo Solution Saline 0.9% IV, pour retablir temporairement la tention arteriel Solanka 0,9%, podawana dożylnie (IV), używana w celu uzupełnienia krwi u pacjenta - A medical volume-replenishing agent introduced into the blood system through an IV infusion. + A medical volume-replenishing agent introduced into the blood system through an IV infusion. Пакет физиологического раствора для возмещения объема потерянной крови путем внутривенного вливания. Suero fisiológico inoculado al torrente sanguíneo de forma intravenosa. Un remplacment temporaire pour rétablir la tention artériel lors de perte sanguine, étant ajouter par intraveineuse Używany w medycynie w formie płynu infuzyjnego jako środek nawadniający i uzupełniający niedobór elektrolitów, podawany dożylnie (IV). - Saline IV (500ml) + Saline IV (500ml) Физраствор для в/в вливания (500 мл) Solución Salina Intravenosa (500ml) Solution Saline 0.9% IV (500ml) Solanka 0,9% IV (500ml) - Saline IV (250ml) + Saline IV (250ml) Физраствор для в/в вливания (250 мл) Solución Salina Intravenosa (250ml) Solution Saline 0.9% IV (250ml) Solanka 0,9% IV (250ml) - Basic Field Dressing (QuikClot) + Basic Field Dressing (QuikClot) Первичный перевязочный пакет (QuikClot) Vendaje Básico (Coagulante) Bandage Regulier (Coagulant) Opatrunek QuikClot - QuikClot bandage + QuikClot bandage Гемостатический пакет QuikClot Venda Coagulante Bandage coagulant Podstawowy opatrunek stosowany na rany - + Un bandage servant a coaguler les seignements mineur à moyen. Proszkowy opatrunek adsorbcyjny przeznaczony do tamowania zagrażających życiu krwawień średniej i dużej intensywności. Vendaje Hemostático con coagulante que detiene el sangrado. - Personal Aid Kit + Personal Aid Kit Аптечка Kit de Soporte Vital Avanzado Équipement de support Vitale Apteczka osobista - Includes various treatment kit needed for stitching or advanced treatment + Includes various treatment kit needed for stitching or advanced treatment Содержит различные материалы и инструменты для зашивания ран и оказания специальной медпомощи. Incluye material médico para tratamientos avanzados Inclue du matériel medical pour les traitement avancé, tel les point de suture. Zestaw środków medycznych do opatrywania ran i dodatkowego leczenia po-urazowego - + - Surgical Kit + Surgical Kit Хирургический набор Kit Quirúrgico - Surgical Kit for in field advanced medical treatment + Surgical Kit for in field advanced medical treatment Набор для хирургической помощи в полевых условиях Kit Quirúrgico para el tratamiento avanzado en el campo de batalla - Surgical Kit for in field advanced medical treatment + Surgical Kit for in field advanced medical treatment Набор для хирургической помощи в полевых условиях Kit Quirúrgico para el tratamiento avanzado en el campo de batalla - Bodybag + Bodybag Мешок для трупов Bolsa para cadáveres - A bodybag for dead bodies + A bodybag for dead bodies Мешок для упаковки трупов Bolsa para cadáveres - A bodybag for dead bodies + A bodybag for dead bodies Мешок для упаковки трупов Bolsa para cadáveres - Blood Pressure + Blood Pressure Артериальное давление Presión Arterial - Checking Blood Pressure.. + Checking Blood Pressure.. Проверка артериального давления... Comprobando Presión Arterial... - You checked %1 + You checked %1 Вы осмотрели раненого %1 Examinando a %1 - You find a blood pressure of %2/%3 + You find a blood pressure of %2/%3 Артериальное давление %2/%3 La Presión Arterial es %2/%3 - You find a low blood pressure + You find a low blood pressure Давление низкое La Presión Arterial es baja - You find a normal blood pressure + You find a normal blood pressure Давление нормальное La Presión Arterial es normal - You find a high blood pressure + You find a high blood pressure Давление высокое La Presión Arterial es alta - You find no blood pressure + You find no blood pressure Давления нет No hay Presión Arterial - You fail to find a blood pressure + You fail to find a blood pressure Артериальное давление не определяется No puedes encontrar Presión Arterial - Pulse + Pulse Пульс Pulso - Checking Heart Rate.. + Checking Heart Rate.. Проверка пульса... Comprobando Pulso... - You checked %1 + You checked %1 Вы осмотрели раненого %1 Examinando a %1 - You find a Heart Rate of %2 + You find a Heart Rate of %2 Пульс %2 уд./мин. El Pulso es %2 - You find a weak Heart Rate + You find a weak Heart Rate Пульс слабый El Pulso es débil - You find a strong Heart Rate + You find a strong Heart Rate Пульс учащенный El Pulso está acelerado - You find a normal Heart Rate + You find a normal Heart Rate Пульс в норме El Pulso es bueno - You find no Heart Rate + You find no Heart Rate Пульс не прощупывается No tiene Pulso - Response + Response Реакция Reacciona - You check response of patient + You check response of patient Вы проверяете реакцию раненого Compruebas si el paciente reacciona - %1 is responsive + %1 is responsive %1 реагирует на раздражители %1 ha reaccionado - - %1 is not responsive + %1 is not responsive %1 не реагирует %1 no reacciona - You checked %1 + You checked %1 Вы осмотрели раненого %1 Examinas a %1 - - Bandaging - Перевязка... - Vendando - - Bandaged + Bandaged Повязка наложена Vendado - You bandage %1 (%2) + You bandage %1 (%2) Вы перевязали раненого %1 (%2) Aplicas vendaje a %1 en %2 - %1 is bandaging you + %1 is bandaging you %1 перевязывает вас %1 te está vendando - You start stitching injures from %1 (%2) + You start stitching injures from %1 (%2) Вы зашиваете ранения от %1 (%2) Estás suturando heridas de %1 en %2 - Stitching + Stitching Наложение швов Suturando - You treat the airway of %1 + You treat the airway of %1 Вы интубируете раненого %1 Estás intubando a %1 - Airway + Airway Дыхательные пути Vías Aéreas - %1 is treating your airway + %1 is treating your airway %1 проводит вам интубацию %1 te está intubando + + Unload patient >> + - + diff --git a/addons/medical/ui/icons/autoInjector.paa b/addons/medical/ui/icons/autoInjector.paa new file mode 100644 index 0000000000..f1707d2b82 Binary files /dev/null and b/addons/medical/ui/icons/autoInjector.paa differ diff --git a/addons/medical/ui/icons/bandage.paa b/addons/medical/ui/icons/bandage.paa new file mode 100644 index 0000000000..e8de331ae3 Binary files /dev/null and b/addons/medical/ui/icons/bandage.paa differ diff --git a/addons/medical/ui/icons/bodybag.paa b/addons/medical/ui/icons/bodybag.paa new file mode 100644 index 0000000000..ec35ad0796 Binary files /dev/null and b/addons/medical/ui/icons/bodybag.paa differ diff --git a/addons/medical/ui/icons/iv.paa b/addons/medical/ui/icons/iv.paa new file mode 100644 index 0000000000..ef7048dfd1 Binary files /dev/null and b/addons/medical/ui/icons/iv.paa differ diff --git a/addons/medical/ui/icons/medical_cross.paa b/addons/medical/ui/icons/medical_cross.paa new file mode 100644 index 0000000000..656ebc000b Binary files /dev/null and b/addons/medical/ui/icons/medical_cross.paa differ diff --git a/addons/medical/ui/icons/packingBandage.paa b/addons/medical/ui/icons/packingBandage.paa new file mode 100644 index 0000000000..0fb1a3650c Binary files /dev/null and b/addons/medical/ui/icons/packingBandage.paa differ diff --git a/addons/medical/ui/icons/surgicalKit.paa b/addons/medical/ui/icons/surgicalKit.paa new file mode 100644 index 0000000000..212c56c78c Binary files /dev/null and b/addons/medical/ui/icons/surgicalKit.paa differ diff --git a/addons/medical/ui/icons/tourniquet.paa b/addons/medical/ui/icons/tourniquet.paa new file mode 100644 index 0000000000..6497420e54 Binary files /dev/null and b/addons/medical/ui/icons/tourniquet.paa differ diff --git a/addons/medical/ui/icons/triageCard.paa b/addons/medical/ui/icons/triageCard.paa new file mode 100644 index 0000000000..0a1865fc9f Binary files /dev/null and b/addons/medical/ui/icons/triageCard.paa differ diff --git a/addons/medical/ui/items/personal_aid_kit.paa b/addons/medical/ui/items/personal_aid_kit.paa new file mode 100644 index 0000000000..87d6a1612f Binary files /dev/null and b/addons/medical/ui/items/personal_aid_kit.paa differ diff --git a/addons/medical/ui/triage_card_corner_l.paa b/addons/medical/ui/triage_card_corner_l.paa new file mode 100644 index 0000000000..a713f43e2d Binary files /dev/null and b/addons/medical/ui/triage_card_corner_l.paa differ diff --git a/addons/medical/ui/triage_card_corner_r.paa b/addons/medical/ui/triage_card_corner_r.paa new file mode 100644 index 0000000000..5d095321b9 Binary files /dev/null and b/addons/medical/ui/triage_card_corner_r.paa differ diff --git a/addons/medical/ui/triagecard.hpp b/addons/medical/ui/triagecard.hpp new file mode 100644 index 0000000000..f1b98f1e2d --- /dev/null +++ b/addons/medical/ui/triagecard.hpp @@ -0,0 +1,191 @@ +class ACE_gui_buttonBase; + +class GVAR(triageCard) { + idd = 7010; + movingenable = 0; + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QUOTE(GVAR(triageCard))), _this select 0)]); + onUnload = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QUOTE(GVAR(triageCard))), nil)]); + class controlsBackground { + class Background: ACE_gui_backgroundBase { + idc = -1; + type = CT_STATIC; + x = "10 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; + y = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; + w = "15 * (((safezoneW / safezoneH) min 1.2) / 40)"; + h = "19 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + style = ST_LEFT + ST_SHADOW; + font = "PuristaMedium"; + SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; + colorText[] = {0.0, 0.0, 0.0, 1}; + colorBackground[] = {1,1,1,1}; + text = ""; + }; + class cornor_top_l: ACE_gui_backgroundBase { + idc = -1; + x = "10 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; + y = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; + w = "5 * (((safezoneW / safezoneH) min 1.2) / 40)"; + h = "5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + font = "PuristaMedium"; + SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; + colorText[] = {1,1,0,1}; + colorBackground[] = {0,0,0,0}; + text = QUOTE(PATHTOF(ui\triage_card_corner_l.paa)); + }; + class cornor_top_r: cornor_top_l { + x = "20 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; + text = QUOTE(PATHTOF(ui\triage_card_corner_r.paa)); + }; + + class TriageCardLabel { + idc = 199; + type = CT_STATIC; + x = "14.25 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; + y = "5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; + w = "7.5 * (((safezoneW / safezoneH) min 1.2) / 40)"; + h = "0.7 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)"; + style = 0x02 + 0x100; // ST_LEFT + ST_SHADOW + font = "PuristaMedium"; + colorText[] = {0,0,0,1}; + colorBackground[] = {0,0,0,0}; + text = "TRIAGE CARD"; + }; + class TriageList: ACE_gui_listBoxBase { + idc = 200; + x = "11 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; + y = "6 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; + w = "13 * (((safezoneW / safezoneH) min 1.2) / 40)"; + h = "13 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)"; + rowHeight = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)"; + colorBackground[] = {0, 0, 0, 0}; + colorText[] = {0,0,0, 1.0}; + colorScrollbar[] = {0.95, 0.95, 0.95, 0}; + colorSelect[] = {0.0, 0.0, 0.0, 1}; + colorSelect2[] = {0.0, 0.0, 0.0, 1}; + colorSelectBackground[] = {0, 0, 0, 0.0}; + colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.0}; + }; + class TriageTextBottom: TriageCardLabel { + idc = 2000; + x = "10 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; + y = "20 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; + w = "15 * (((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + style = 0x02; + colorText[] = {1, 1, 1.0, 1}; + colorBackground[] = {0,0.0,0.0,0.7}; + SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; + text = ""; + }; + class selectTriageStatus: ACE_gui_buttonBase { + idc = 2001; + x = "10 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; + y = "20 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; + w = "15 * (((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + style = 0x02; + size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.4)"; + SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; + animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.0)"; + animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.0)"; + animTextureOver = "#(argb,8,8,3)color(0,0,0,0.0)"; + animTextureFocused = "#(argb,8,8,3)color(0,0,0,0.0)"; + animTexturePressed = "#(argb,8,8,3)color(0,0,0,0.0)"; + animTextureDefault = "#(argb,8,8,3)color(0,0,0,0.0)"; + action = QUOTE([true] call FUNC(dropDownTriageCard);); + text = ""; + }; + class selectTriageStatusNone: selectTriageStatus { + idc = 2002; + x = 0; + y = 0; + w = 0; + h = 0; + text = $STR_ACE_MEDICAL_TRIAGE_STATUS_NONE; + style = 0x02; + size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; + SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; + animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.9)"; + animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.9)"; + animTextureOver = "#(argb,8,8,3)color(0,0,0,0.9)"; + animTextureFocused = "#(argb,8,8,3)color(0,0,0,0.9)"; + animTexturePressed = "#(argb,8,8,3)color(0,0,0,0.9)"; + animTextureDefault = "#(argb,8,8,3)color(0,0,0,0.9)"; + action = QUOTE([false] call FUNC(dropDownTriageCard); GVAR(TriageCardTarget) setvariable [ARR_3('ACE_medical_triageLevel',0,true)];); + }; + class selectTriageStatusMinor: selectTriageStatus { + idc = 2003; + x = 0; + y = 0; + w = 0; + h = 0; + text = $STR_ACE_MEDICAL_TRIAGE_STATUS_MINOR; + style = 0x02; + size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; + SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; + animTextureNormal = "#(argb,8,8,3)color(0,0.5,0,0.9)"; + animTextureDisabled = "#(argb,8,8,3)color(0,0.5,0,0.9)"; + animTextureOver = "#(argb,8,8,3)color(0,0.5,0,0.9)"; + animTextureFocused = "#(argb,8,8,3)color(0,0.5,0,0.9)"; + animTexturePressed = "#(argb,8,8,3)color(0,0.5,0,0.9)"; + animTextureDefault = "#(argb,8,8,3)color(0,0.5,0,0.9)"; + action = QUOTE([false] call FUNC(dropDownTriageCard); GVAR(TriageCardTarget) setvariable [ARR_3('ACE_medical_triageLevel',1,true)];); + }; + class selectTriageStatusDelayed: selectTriageStatus { + idc = 2004; + x = 0; + y = 0; + w = 0; + h = 0; + text = $STR_ACE_MEDICAL_TRIAGE_STATUS_DELAYED; + style = 0x02; + size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; + SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; + animTextureNormal = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)"; + animTextureDisabled = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)"; + animTextureOver = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)"; + animTextureFocused = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)"; + animTexturePressed = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)"; + animTextureDefault = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)"; + action = QUOTE([false] call FUNC(dropDownTriageCard); GVAR(TriageCardTarget) setvariable [ARR_3('ACE_medical_triageLevel',2,true)];); + }; + class selectTriageStatusImmediate: selectTriageStatus { + idc = 2005; + x = 0; + y = 0; + w = 0; + h = 0; + text = $STR_ACE_MEDICAL_TRIAGE_STATUS_IMMEDIATE; + style = 0x02; + size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; + SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; + animTextureNormal = "#(argb,8,8,3)color(1,0.2,0.2,0.9)"; + animTextureDisabled = "#(argb,8,8,3)color(1,0.2,0.2,0.9)"; + animTextureOver = "#(argb,8,8,3)color(1,0.2,0.2,0.9)"; + animTextureFocused = "#(argb,8,8,3)color(1,0.2,0.2,0.9)"; + animTexturePressed = "#(argb,8,8,3)color(1,0.2,0.2,0.9)"; + animTextureDefault = "#(argb,8,8,3)color(1,0.2,0.2,0.9)"; + action = QUOTE([false] call FUNC(dropDownTriageCard); GVAR(TriageCardTarget) setvariable [ARR_3('ACE_medical_triageLevel', 3, true)];); + }; + class selectTriageStatusDeceased: selectTriageStatus { + idc = 2006; + x = 0; + y = 0; + w = 0; + h = 0; + text = $STR_ACE_MEDICAL_TRIAGE_STATUS_DECEASED; + style = 0x02; + size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; + SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; + animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.9)"; + animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.9)"; + animTextureOver = "#(argb,8,8,3)color(0,0,0,0.9)"; + animTextureFocused = "#(argb,8,8,3)color(0,0,0,0.9)"; + animTexturePressed = "#(argb,8,8,3)color(0,0,0,0.9)"; + animTextureDefault = "#(argb,8,8,3)color(0,0,0,0.9)"; + action = QUOTE([false] call FUNC(dropDownTriageCard); GVAR(TriageCardTarget) setvariable [ARR_3('ACE_medical_triageLevel', 4, true)];); + }; + }; +}; \ No newline at end of file diff --git a/addons/movement/XEH_postInit.sqf b/addons/movement/XEH_postInit.sqf index 037e0105e9..310b689e15 100644 --- a/addons/movement/XEH_postInit.sqf +++ b/addons/movement/XEH_postInit.sqf @@ -21,8 +21,7 @@ ["ACE3", QGVAR(climb), localize "STR_ACE_Movement_Climb", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if (ACE_player != (vehicle ACE_player)) exitWith {false}; diff --git a/addons/nametags/XEH_postInit.sqf b/addons/nametags/XEH_postInit.sqf index 2de39f5807..47a176b1dd 100644 --- a/addons/nametags/XEH_postInit.sqf +++ b/addons/nametags/XEH_postInit.sqf @@ -10,8 +10,7 @@ if (!hasInterface) exitWith {}; ["ACE3", QGVAR(showNameTags), localize "STR_ACE_NameTags_ShowNames", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Statement GVAR(ShowNamesTime) = time; diff --git a/addons/nightvision/CfgVehicles.hpp b/addons/nightvision/CfgVehicles.hpp index d53ce54467..84e7105f0b 100644 --- a/addons/nightvision/CfgVehicles.hpp +++ b/addons/nightvision/CfgVehicles.hpp @@ -4,19 +4,14 @@ class CfgVehicles { ACE_NightVision_blur = 0.055; }; -#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \ - name = #ITEM; \ - count = COUNT; \ - }; - class Box_NATO_Support_F; class ACE_Box_Misc: Box_NATO_Support_F { class TransportItems { - MACRO_ADDITEM(ACE_NVG_Gen1,6) - MACRO_ADDITEM(ACE_NVG_Gen2,6) - //MACRO_ADDITEM(ACE_NVG_Gen3,6) - MACRO_ADDITEM(ACE_NVG_Gen4,6) - MACRO_ADDITEM(ACE_NVG_Wide,6) + MACRO_ADDITEM(ACE_NVG_Gen1,6); + MACRO_ADDITEM(ACE_NVG_Gen2,6); + //MACRO_ADDITEM(ACE_NVG_Gen3,6); + MACRO_ADDITEM(ACE_NVG_Gen4,6); + MACRO_ADDITEM(ACE_NVG_Wide,6); }; }; }; diff --git a/addons/nightvision/XEH_postInitClient.sqf b/addons/nightvision/XEH_postInitClient.sqf index 0707104fad..9d64baecb3 100644 --- a/addons/nightvision/XEH_postInitClient.sqf +++ b/addons/nightvision/XEH_postInitClient.sqf @@ -40,8 +40,7 @@ GVAR(ppEffectMuzzleFlash) ppEffectCommit 0; ["ACE3", QGVAR(IncreaseNVGBrightness), localize "STR_ACE_NightVision_IncreaseNVGBrightness", { // Conditions: canInteract - _exceptions = [QEGVAR(captives,isNotEscorting)]; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if ((currentVisionMode _player != 1)) exitWith {false}; @@ -55,8 +54,7 @@ GVAR(ppEffectMuzzleFlash) ppEffectCommit 0; ["ACE3", QGVAR(DecreaseNVGBrightness), localize "STR_ACE_NightVision_DecreaseNVGBrightness", { // Conditions: canInteract - _exceptions = [QEGVAR(captives,isNotEscorting)]; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if ((currentVisionMode _player != 1)) exitWith {false}; diff --git a/addons/optionsmenu/config.cpp b/addons/optionsmenu/config.cpp index 51a614bb5a..7850e5972e 100644 --- a/addons/optionsmenu/config.cpp +++ b/addons/optionsmenu/config.cpp @@ -6,8 +6,8 @@ class CfgPatches { weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common"}; - author[] = {"Combat Space Enhancement"}; - authorUrl = "http://csemod.com"; + author[] = {"Glowbal", "PabstMirror"}; + authorUrl = "http://github.com/Glowbal"; VERSION_CONFIG; }; }; @@ -24,4 +24,4 @@ class CfgAddons { #include "CfgEventHandlers.hpp" #include "gui\define.hpp" #include "gui\settingsMenu.hpp" -#include "gui\pauseMenu.hpp" \ No newline at end of file +#include "gui\pauseMenu.hpp" diff --git a/addons/optionsmenu/functions/fnc_onListBoxSettingsChanged.sqf b/addons/optionsmenu/functions/fnc_onListBoxSettingsChanged.sqf index 066bc76a8f..5846d0dccb 100644 --- a/addons/optionsmenu/functions/fnc_onListBoxSettingsChanged.sqf +++ b/addons/optionsmenu/functions/fnc_onListBoxSettingsChanged.sqf @@ -1,12 +1,19 @@ -/** -* fnc_onListBoxSettingsChanged.sqf -* @Descr: N/A -* @Author: Glowbal -* -* @Arguments: [] -* @Return: -* @PublicAPI: false -*/ +/* + * Author: Glowbal + * Called when the listbox selection is changed for an options (eg: chaning a setting from false to true) + * + * Arguments: + * None + * + * Return Value: + * None + * + * Example: + * [] call ACE_optionsmenu_fnc_onListBoxSettingsChanged + * + * Public: No + */ + #include "script_component.hpp" private ["_settingIndex", "_rightDropDownIndex"]; diff --git a/addons/optionsmenu/functions/fnc_onListBoxShowSelectionChanged.sqf b/addons/optionsmenu/functions/fnc_onListBoxShowSelectionChanged.sqf index f4d41674bd..25fd99b5d8 100644 --- a/addons/optionsmenu/functions/fnc_onListBoxShowSelectionChanged.sqf +++ b/addons/optionsmenu/functions/fnc_onListBoxShowSelectionChanged.sqf @@ -1,12 +1,19 @@ -/** -* fnc_onListBoxShowSelectionChanged.sqf -* @Descr: called when the listbox selection has changed. Updates configuration menu information -* @Author: Glowbal -* -* @Arguments: [] -* @Return: -* @PublicAPI: false -*/ +/* + * Author: Glowbal + * Changes which tab is open (options or colors) + * + * Arguments: + * The tab to open (defined in script_component) + * + * Return Value: + * None + * + * Example: + * [MENU_TAB_COLORS] call ACE_optionsmenu_fnc_onListBoxShowSelectionChanged + * + * Public: No + */ + #include "script_component.hpp" private ["_settingsMenu", "_localizedHeader"]; diff --git a/addons/optionsmenu/functions/fnc_onSettingsMenuOpen.sqf b/addons/optionsmenu/functions/fnc_onSettingsMenuOpen.sqf index e3137f8ca9..7c5f03af0b 100644 --- a/addons/optionsmenu/functions/fnc_onSettingsMenuOpen.sqf +++ b/addons/optionsmenu/functions/fnc_onSettingsMenuOpen.sqf @@ -1,34 +1,47 @@ -/** -* fnc_onSettingsMenuOpen.sqf -* @Descr: called when the settings or configuration menu has opened. Do not use anywhere else. -* @Author: Glowbal -* -* @Arguments: [] -* @Return: -* @PublicAPI: false -*/ +/* + * Author: Glowbal + * Called from the onLoad of ACE_settingsMenu dialog. + * + * Arguments: + * None + * + * Return Value: + * None + * + * Example: + * [onLoadEvent] call ACE_optionsmenu_fnc_onSettingsMenuOpen + * + * Public: No + */ + #include "script_component.hpp" // Filter only user setable setting GVAR(clientSideOptions) = []; GVAR(clientSideColors) = []; { - // If the setting is user setable and not forced - if ((_x select 2) && !(_x select 6)) then { - // Append the current value to the setting metadata - _setting = + _x; - _setting pushBack (missionNamespace getVariable (_x select 0)); + // If the setting is user setable and not forced + if ((_x select 2) && !(_x select 6)) then { + // Append the current value to the setting metadata + _setting = + _x; + _setting pushBack (missionNamespace getVariable (_x select 0)); - // Categorize the setting according to types - // @todo: allow the user to modify other types of parameters? - if ((_x select 1) == "SCALAR" || (_x select 1) == "BOOL") then { - GVAR(clientSideOptions) pushBack _setting; - }; - if ((_x select 1) == "COLOR") then { - GVAR(clientSideColors) pushBack _setting; - }; - }; + // Categorize the setting according to types + // @todo: allow the user to modify other types of parameters? + if ((_x select 1) == "SCALAR" || (_x select 1) == "BOOL") then { + GVAR(clientSideOptions) pushBack _setting; + }; + if ((_x select 1) == "COLOR") then { + GVAR(clientSideColors) pushBack _setting; + }; + }; } forEach EGVAR(common,settings); //Delay a frame [{ [MENU_TAB_OPTIONS] call FUNC(onListBoxShowSelectionChanged) }, []] call EFUNC(common,execNextFrame); + +private "_menu"; +disableSerialization; +_menu = uiNamespace getvariable "ACE_settingsMenu"; +(_menu displayCtrl 1002) ctrlEnable false; +(_menu displayCtrl 1003) ctrlEnable false; diff --git a/addons/optionsmenu/functions/fnc_onSliderPosChanged.sqf b/addons/optionsmenu/functions/fnc_onSliderPosChanged.sqf index ac6f52469c..4e0e603862 100644 --- a/addons/optionsmenu/functions/fnc_onSliderPosChanged.sqf +++ b/addons/optionsmenu/functions/fnc_onSliderPosChanged.sqf @@ -1,29 +1,38 @@ -/** -* fnc_onSliderPosChanged.sqf -* @Descr: N/A -* @Author: PabstMirror -* -* @Arguments: [] -* @Return: -* @PublicAPI: false -*/ +/* + * Author: PabstMirror + * Called when one of the color sliders is moved. + * + * Arguments: + * None + * + * Return Value: + * None + * + * Example: + * [] call ACE_optionsmenu_fnc_onSliderPosChanged + * + * Public: No + */ + #include "script_component.hpp" private ["_newColor", "_settingIndex"]; -_newColor = []; -{ - _newColor pushBack ((sliderPosition _x) / 255); -} forEach [410, 411, 412, 413]; - _settingIndex = lbCurSel 200; switch (GVAR(optionMenu_openTab)) do { -case (MENU_TAB_COLORS): { - if ((_settingIndex >= 0) && (_settingIndex < (count GVAR(clientSideColors)))) then { - _settingIndex = (GVAR(clientSideColors) select _settingIndex) select 0; - [MENU_TAB_COLORS, _settingIndex, _newColor] call FUNC(updateSetting); + case (MENU_TAB_COLORS): { + + _newColor = []; + { + _newColor pushBack ((sliderPosition _x) / 255); + } forEach [410, 411, 412, 413]; + + if ((_settingIndex >= 0) && (_settingIndex < (count GVAR(clientSideColors)))) then { + _settingIndex = (GVAR(clientSideColors) select _settingIndex) select 0; + [MENU_TAB_COLORS, _settingIndex, _newColor] call FUNC(updateSetting); + }; + [false] call FUNC(settingsMenuUpdateList); }; - [false] call FUNC(settingsMenuUpdateList); - }; + default {}; }; diff --git a/addons/optionsmenu/functions/fnc_resetSettings.sqf b/addons/optionsmenu/functions/fnc_resetSettings.sqf index dd4b951ef5..07fc43cdfc 100644 --- a/addons/optionsmenu/functions/fnc_resetSettings.sqf +++ b/addons/optionsmenu/functions/fnc_resetSettings.sqf @@ -1,30 +1,37 @@ -/** -* fnc_resetSettings.sqf -* @Descr: -* @Author: Glowbal -* -* @Arguments: [] -* @Return: -* @PublicAPI: true -*/ +/* + * Author: Glowbal + * Resets all settings to default. + * + * Arguments: + * None + * + * Return Value: + * None + * + * Example: + * [] call ACE_optionsmenu_fnc_onListBoxSettingsChanged + * + * Public: No + */ + #include "script_component.hpp" private ["_name", "_default", "_lastSelected"]; { - _name = _x select 0; - _default = _x select 7; - [MENU_TAB_OPTIONS, _name, _default] call FUNC(updateSetting); + _name = _x select 0; + _default = _x select 7; + [MENU_TAB_OPTIONS, _name, _default] call FUNC(updateSetting); } forEach GVAR(clientSideOptions); { - _name = _x select 0; - _default = _x select 7; - [MENU_TAB_COLORS, _name, _default] call FUNC(updateSetting); + _name = _x select 0; + _default = _x select 7; + [MENU_TAB_COLORS, _name, _default] call FUNC(updateSetting); } forEach GVAR(clientSideColors); _lastSelected = lbCurSel 200; [GVAR(optionMenu_openTab)] call FUNC(onListBoxShowSelectionChanged); if (_lastSelected != -1) then { - lbSetCurSel [200, _lastSelected]; + lbSetCurSel [200, _lastSelected]; }; diff --git a/addons/optionsmenu/functions/fnc_settingsMenuUpdateKeyView.sqf b/addons/optionsmenu/functions/fnc_settingsMenuUpdateKeyView.sqf index c271ecd176..39bbdb8c94 100644 --- a/addons/optionsmenu/functions/fnc_settingsMenuUpdateKeyView.sqf +++ b/addons/optionsmenu/functions/fnc_settingsMenuUpdateKeyView.sqf @@ -1,12 +1,19 @@ -/** -* fnc_settingsMenuUpdateKeyView.sqf -* @Descr: N/A -* @Author: Glowbal -* -* @Arguments: [] -* @Return: -* @PublicAPI: false -*/ +/* + * Author: Glowbal + * Updates the right half of the option menu for the currently selected option. + * + * Arguments: + * None + * + * Return Value: + * None + * + * Example: + * [] call ACE_optionsmenu_fnc_settingsMenuUpdateKeyView + * + * Public: No + */ + #include "script_component.hpp" private ["_settingsMenu", "_ctrlList", "_collection", "_settingIndex", "_setting", "_entryName", "_localizedName", "_localizedDescription", "_possibleValues", "_settingsValue", "_currentColor"]; @@ -16,58 +23,58 @@ _settingsMenu = uiNamespace getVariable 'ACE_settingsMenu'; _ctrlList = _settingsMenu displayCtrl 200; _collection = switch (GVAR(optionMenu_openTab)) do { -case MENU_TAB_OPTIONS: {GVAR(clientSideOptions)}; -case MENU_TAB_COLORS: {GVAR(clientSideColors)}; - default {[]}; + case MENU_TAB_OPTIONS: {GVAR(clientSideOptions)}; + case MENU_TAB_COLORS: {GVAR(clientSideColors)}; + default {[]}; }; if (count _collection > 0) then { - _settingIndex = (lbCurSel _ctrlList); - if (_settingIndex > (count _collection)) then { - _settingIndex = count _collection - 1; - }; - - if (_settingIndex < 0) exitwith { - _settingIndex = 0; - }; - _setting = _collection select _settingIndex; - - _entryName = _setting select 0; - _localizedName = _setting select 3; - _localizedDescription = _setting select 4; - - if (_localizedName == "") then {_localizedName = _entryName;}; - (_settingsMenu displayCtrl 250) ctrlSetText _localizedName; - (_settingsMenu displayCtrl 251) ctrlSetText _localizedDescription; - (_settingsMenu displayCtrl 300) ctrlSetText _entryName; - - switch (GVAR(optionMenu_openTab)) do { - case (MENU_TAB_OPTIONS): { - _possibleValues = _setting select 5; - _settingsValue = _setting select 8; - - // Created disable/enable options for bools - if ((_setting select 1) == "BOOL") then { - lbClear 400; - lbAdd [400, (localize "STR_ACE_OptionsMenu_Disabled")]; - lbAdd [400, (localize "STR_ACE_OptionsMenu_Enabled")]; - _settingsValue = [0, 1] select _settingsValue; - } else { - lbClear 400; - { lbAdd [400, _x]; } foreach _possibleValues; - }; - (_settingsMenu displayCtrl 400) lbSetCurSel _settingsValue; + _settingIndex = (lbCurSel _ctrlList); + if (_settingIndex > (count _collection)) then { + _settingIndex = count _collection - 1; }; - case (MENU_TAB_COLORS): { - _currentColor = _setting select 8; - { - sliderSetPosition [_x, (255 * (_currentColor select _forEachIndex))]; - } forEach [410, 411, 412, 413]; + + if (_settingIndex < 0) then { + _settingIndex = 0; + }; + _setting = _collection select _settingIndex; + + _entryName = _setting select 0; + _localizedName = _setting select 3; + _localizedDescription = _setting select 4; + + if (_localizedName == "") then {_localizedName = _entryName;}; + (_settingsMenu displayCtrl 250) ctrlSetText _localizedName; + (_settingsMenu displayCtrl 251) ctrlSetText _localizedDescription; + (_settingsMenu displayCtrl 300) ctrlSetText _entryName; + + switch (GVAR(optionMenu_openTab)) do { + case (MENU_TAB_OPTIONS): { + _possibleValues = _setting select 5; + _settingsValue = _setting select 8; + + // Created disable/enable options for bools + if ((_setting select 1) == "BOOL") then { + lbClear 400; + lbAdd [400, (localize "STR_ACE_OptionsMenu_Disabled")]; + lbAdd [400, (localize "STR_ACE_OptionsMenu_Enabled")]; + _settingsValue = [0, 1] select _settingsValue; + } else { + lbClear 400; + { lbAdd [400, _x]; } foreach _possibleValues; + }; + (_settingsMenu displayCtrl 400) lbSetCurSel _settingsValue; + }; + case (MENU_TAB_COLORS): { + _currentColor = _setting select 8; + { + sliderSetPosition [_x, (255 * (_currentColor select _forEachIndex))]; + } forEach [410, 411, 412, 413]; + }; }; - }; } else { //no settings in list: - lbClear 400; - (_settingsMenu displayCtrl 250) ctrlSetText _localizedName; - (_settingsMenu displayCtrl 251) ctrlSetText _localizedDescription; - (_settingsMenu displayCtrl 300) ctrlSetText _entryName; + lbClear 400; + (_settingsMenu displayCtrl 250) ctrlSetText "No settings available"; + (_settingsMenu displayCtrl 251) ctrlSetText "No settings available"; + (_settingsMenu displayCtrl 300) ctrlSetText "No settings available"; }; diff --git a/addons/optionsmenu/functions/fnc_settingsMenuUpdateList.sqf b/addons/optionsmenu/functions/fnc_settingsMenuUpdateList.sqf index 73a6d3de3b..0138b9e87d 100644 --- a/addons/optionsmenu/functions/fnc_settingsMenuUpdateList.sqf +++ b/addons/optionsmenu/functions/fnc_settingsMenuUpdateList.sqf @@ -1,12 +1,19 @@ -/** -* fnc_settingsMenuUpdateList.sqf -* @Descr: N/A -* @Author: Glowbal -* -* @Arguments: [] -* @Return: -* @PublicAPI: false -*/ +/* + * Author: Glowbal + * Updates the setting when the client has selected a new value. Saves to profilenamespace. + * + * Arguments: + * 0: Update the keylist as well + * + * Return Value: + * None + * + * Example: + * [false] call ACE_optionsmenu_fnc_settingsMenuUpdateList + * + * Public: No + */ + #include "script_component.hpp" private ["_settingsMenu", "_ctrlList", "_settingsText", "_color", "_settingsColor", "_updateKeyView"]; @@ -19,35 +26,35 @@ _ctrlList = _settingsMenu displayCtrl 200; lbclear _ctrlList; switch (GVAR(optionMenu_openTab)) do { -case (MENU_TAB_OPTIONS): { + case (MENU_TAB_OPTIONS): { + { + _ctrlList lbadd (_x select 3); + + _settingsValue = _x select 8; + + // Created disable/enable options for bools + _settingsText = if ((_x select 1) == "BOOL") then { + [(localize "STR_ACE_OptionsMenu_Disabled"), (localize "STR_ACE_OptionsMenu_Enabled")] select _settingsValue; + } else { + (_x select 5) select _settingsValue; + }; + + _ctrlList lbadd (_settingsText); + }foreach GVAR(clientSideOptions); + }; + case (MENU_TAB_COLORS): { { - _ctrlList lbadd (_x select 3); - - _settingsValue = _x select 8; - - // Created disable/enable options for bools - _settingsText = if ((_x select 1) == "BOOL") then { - [(localize "STR_ACE_OptionsMenu_Disabled"), (localize "STR_ACE_OptionsMenu_Enabled")] select _settingsValue; - } else { - (_x select 5) select _settingsValue; - }; - - _ctrlList lbadd (_settingsText); - }foreach GVAR(clientSideOptions); - }; -case (MENU_TAB_COLORS): { - { - _color = +(_x select 8); - { - _color set [_forEachIndex, ((round (_x * 100))/100)]; - } forEach _color; - _settingsColor = str _color; - _ctrlList lbadd (_x select 3); - _ctrlList lbadd (_settingsColor); - _ctrlList lnbSetColor [[_forEachIndex, 1], (_x select 8)]; - }foreach GVAR(clientSideColors); - }; + _color = +(_x select 8); + { + _color set [_forEachIndex, ((round (_x * 100))/100)]; + } forEach _color; + _settingsColor = str _color; + _ctrlList lbadd (_x select 3); + _ctrlList lbadd (_settingsColor); + _ctrlList lnbSetColor [[_forEachIndex, 1], (_x select 8)]; + }foreach GVAR(clientSideColors); + }; }; if (_updateKeyView) then { - [] call FUNC(settingsMenuUpdateKeyView); + [] call FUNC(settingsMenuUpdateKeyView); }; diff --git a/addons/optionsmenu/functions/fnc_updateSetting.sqf b/addons/optionsmenu/functions/fnc_updateSetting.sqf index e4a9917f25..bc5969d54c 100644 --- a/addons/optionsmenu/functions/fnc_updateSetting.sqf +++ b/addons/optionsmenu/functions/fnc_updateSetting.sqf @@ -1,12 +1,21 @@ -/** -* fnc_updateSetting.sqf -* @Descr: -* @Author: Glowbal -* -* @Arguments: [] -* @Return: -* @PublicAPI: true -*/ +/* + * Author: Glowbal + * Updates the setting when the client has selected a new value. Saves to profilenamespace and calls setSetting. + * + * Arguments: + * 0: The Tab Open + * 1: The setting's name + * 2: The new value either an index or a color OR + * + * Return Value: + * None + * + * Example: + * [MENU_TAB_COLORS, "ace_fireTruckColor", [1,0,0,1]] call ACE_optionsmenu_fnc_updateSetting + * + * Public: No + */ + #include "script_component.hpp" private ["_changed"]; diff --git a/addons/optionsmenu/gui/settingsMenu.hpp b/addons/optionsmenu/gui/settingsMenu.hpp index 8d99a591d5..995c7850a5 100644 --- a/addons/optionsmenu/gui/settingsMenu.hpp +++ b/addons/optionsmenu/gui/settingsMenu.hpp @@ -4,7 +4,7 @@ class ACE_settingsMenu { onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_settingsMenu', _this select 0)]; [] call FUNC(onSettingsMenuOpen);); onUnload = QUOTE(uiNamespace setVariable [ARR_2('ACE_settingsMenu', nil)]; saveProfileNamespace;); - #define SIZEX ((0.70 * safezoneW) max 1.0) + #define SIZEX (((safezoneW / safezoneH) min 1.2)) #define SIZEY (SIZEX / 1.2) #define UNITX (SIZEX / 40) #define UNITY (SIZEY / 25) @@ -42,6 +42,10 @@ class ACE_settingsMenu { x = 26.1 * UNITX + OFFSETX; w = 12.9 * UNITX; }; + class RightBackgroundHeader: RightBackground { + h = 1.4 * UNITY; + colorBackground[] = {0,0,0,1}; + }; }; class controls { @@ -85,7 +89,7 @@ class ACE_settingsMenu { colorBackgroundFocused[] = {1,1,1,1}; colorBackground[] = {1,1,1,1}; colorbackground2[] = {1,1,1,1}; - colorDisabled[] = {0.5,0.5,0.5,0.8}; + colorDisabled[] = {1,1,1,1}; colorFocused[] = {0,0,0,1}; periodFocus = 1; periodOver = 1; @@ -99,13 +103,13 @@ class ACE_settingsMenu { }; class selectionAction_3: selectionAction_1 { idc = 1002; - text = "---"; + text = ""; x = 20 * UNITX + OFFSETX; action = ""; }; class selectionAction_4: selectionAction_1 { idc = 1003; - text = "---"; + text = ""; x = 29.5 * UNITX + OFFSETX; action = ""; }; @@ -115,7 +119,7 @@ class ACE_settingsMenu { y = 5.5 * UNITY + OFFSETY; w = 23 * UNITX; h = 15 * UNITY; - SizeEx = (UNITY * 0.7); + SizeEx = (UNITY * 0.8); colorBackground[] = {0, 0, 0, 0.9}; colorSelectBackground[] = {0, 0, 0, 0.9}; columns[] = {0.0, 0.6}; @@ -128,7 +132,7 @@ class ACE_settingsMenu { w = 11 * UNITX; h = 1 * UNITY; text = ""; - SizeEx = (UNITY * 0.75); + SizeEx = (UNITY *1); }; class labelKey: ACE_gui_staticBase { //Variable Name idc = 300; @@ -137,13 +141,13 @@ class ACE_settingsMenu { w = 11 * UNITX; h = 1 * UNITY; text = ""; - SizeEx = (UNITY * 0.60); + SizeEx = (UNITY * 0.65); }; class Label2: labelKey { idc = 301; y = 7.3 * UNITY + OFFSETY; text = "$STR_ACE_OptionsMenu_Setting"; - SizeEx = (UNITY * 0.75); + SizeEx = (UNITY * 1); }; class comboBox1: ACE_gui_comboBoxBase { idc = 400; @@ -152,7 +156,7 @@ class ACE_settingsMenu { w = 7 * UNITX; h = 1 * UNITY; onLBSelChanged = QUOTE( call FUNC(onListBoxSettingsChanged)); - SizeEx = (UNITY * 0.75); + SizeEx = (UNITY * 0.9); }; class sliderBar1: RscXSliderH { idc = 410; @@ -191,15 +195,16 @@ class ACE_settingsMenu { text = ""; style = ST_LEFT + ST_MULTI; lineSpacing = 1; - SizeEx = (UNITY * 0.60); + SizeEx = (UNITY * 0.8); }; class actionClose: ACE_gui_buttonBase { idc = 10; text = "$STR_DISP_CLOSE"; x = 1 * UNITX + OFFSETX; y = 22.3 * UNITY + OFFSETY; - w = 6 * UNITX; + w = 7.5 * UNITX; h = 1 * UNITY; + style = ST_LEFT; animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.8)"; animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.5)"; animTextureOver = "#(argb,8,8,3)color(1,1,1,1)"; @@ -217,17 +222,10 @@ class ACE_settingsMenu { periodOver = 1; action = "closedialog 0;"; }; - class action_animation: actionClose { - idc = 1100; - text = "$STR_ACE_OptionsMenu_FixAnimation"; - x = 7.5 * UNITX + OFFSETX; - // action = "if ([player] call ACE_fnc_canInteract && {animationState player == 'deadState' || animationState player == 'unconscious'} && {(vehicle player == player)}) then { [player, 'amovppnemstpsnonwnondnon'] call ACE_fnc_broadcastAnim; };"; - action = "hint 'todo???'"; - }; class action_reset: actionClose { idc = 1100; text = "$STR_ACE_OptionsMenu_ResetAll"; - x = 14 * (SIZEX / 40) + OFFSETX; + x = 26.1 * (SIZEX / 40) + OFFSETX; action = QUOTE([] call FUNC(resetSettings)); }; }; diff --git a/addons/overheating/CfgVehicles.hpp b/addons/overheating/CfgVehicles.hpp index 2c96bec24d..411e0a702d 100644 --- a/addons/overheating/CfgVehicles.hpp +++ b/addons/overheating/CfgVehicles.hpp @@ -1,8 +1,3 @@ -#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \ - name = #ITEM; \ - count = COUNT; \ -}; - class CfgVehicles { class Man; @@ -39,61 +34,61 @@ class CfgVehicles { class Box_NATO_Support_F: NATO_Box_Base { class TransportItems { - MACRO_ADDITEM(ACE_SpareBarrel,2) + MACRO_ADDITEM(ACE_SpareBarrel,2); }; }; class B_supplyCrate_F: ReammoBox_F { class TransportItems { - MACRO_ADDITEM(ACE_SpareBarrel,2) + MACRO_ADDITEM(ACE_SpareBarrel,2); }; }; class Box_East_Support_F: EAST_Box_Base { class TransportItems { - MACRO_ADDITEM(ACE_SpareBarrel,2) + MACRO_ADDITEM(ACE_SpareBarrel,2); }; }; class O_supplyCrate_F: B_supplyCrate_F { class TransportItems { - MACRO_ADDITEM(ACE_SpareBarrel,2) + MACRO_ADDITEM(ACE_SpareBarrel,2); }; }; class Box_IND_Support_F: IND_Box_Base { class TransportItems { - MACRO_ADDITEM(ACE_SpareBarrel,2) + MACRO_ADDITEM(ACE_SpareBarrel,2); }; }; class Box_FIA_Support_F: FIA_Box_Base_F { class TransportItems { - MACRO_ADDITEM(ACE_SpareBarrel,2) + MACRO_ADDITEM(ACE_SpareBarrel,2); }; }; class I_supplyCrate_F: B_supplyCrate_F { class TransportItems { - MACRO_ADDITEM(ACE_SpareBarrel,2) + MACRO_ADDITEM(ACE_SpareBarrel,2); }; }; class IG_supplyCrate_F: ReammoBox_F { class TransportItems { - MACRO_ADDITEM(ACE_SpareBarrel,2) + MACRO_ADDITEM(ACE_SpareBarrel,2); }; }; class C_supplyCrate_F: ReammoBox_F { class TransportItems { - MACRO_ADDITEM(ACE_SpareBarrel,2) + MACRO_ADDITEM(ACE_SpareBarrel,2); }; }; class ACE_Box_Misc: Box_NATO_Support_F { class TransportItems { - MACRO_ADDITEM(ACE_SpareBarrel,6) + MACRO_ADDITEM(ACE_SpareBarrel,6); }; }; diff --git a/addons/overheating/XEH_postInit.sqf b/addons/overheating/XEH_postInit.sqf index a1b3dec206..4755b9c869 100644 --- a/addons/overheating/XEH_postInit.sqf +++ b/addons/overheating/XEH_postInit.sqf @@ -7,8 +7,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(unjamWeapon), localize "STR_ACE_Overheating_UnjamWeapon", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !([ACE_player] call EFUNC(common,canUseWeapon) && {currentWeapon ACE_player in (ACE_player getVariable [QGVAR(jammedWeapons), []])} diff --git a/addons/overpressure/CfgEventHandlers.hpp b/addons/overpressure/CfgEventHandlers.hpp index 40c3b32a57..fa70cab5ea 100644 --- a/addons/overpressure/CfgEventHandlers.hpp +++ b/addons/overpressure/CfgEventHandlers.hpp @@ -43,4 +43,9 @@ class Extended_FiredBIS_EventHandlers { firedBIS = QUOTE(if (local (_this select 0) && {getNumber (configfile >> 'CfgWeapons' >> _this select 1 >> QUOTE(QGVAR(Damage))) > 0}) then {_this call DFUNC(fireOverpressureZone)}); }; }; + class StaticWeapons { + class ADDON { + firedBIS = QUOTE(if (local (_this select 0) && {getNumber (configfile >> 'CfgWeapons' >> _this select 1 >> QUOTE(QGVAR(Damage))) > 0}) then {_this call DFUNC(fireOverpressureZone)}); + }; + }; }; diff --git a/addons/parachute/CfgVehicles.hpp b/addons/parachute/CfgVehicles.hpp new file mode 100644 index 0000000000..2d8545a607 --- /dev/null +++ b/addons/parachute/CfgVehicles.hpp @@ -0,0 +1,34 @@ +class CfgVehicles { + class Box_NATO_Support_F; + class ACE_Box_Misc: Box_NATO_Support_F { + class TransportItems { + class _xx_ACE_Altimeter { + name = "ACE_Altimeter"; + count = 6; + }; + }; + class TransportBackpacks { + class _xx_ACE_NonSteerableParachute { + backpack = "ACE_NonSteerableParachute"; + count = 4; + }; + }; + }; + + class B_Parachute; + class ACE_NonSteerableParachute: B_Parachute { + author = "$STR_ACE_Common_ACETeam"; + scope = 2; + displayName = "$STR_ACE_Parachute_NonSteerableParachute"; + //picture = "\A3\Characters_F\data\ui\icon_b_parachute_ca.paa"; // @todo + //model = "\A3\Weapons_F\Ammoboxes\Bags\Backpack_Parachute"; // @todo + // backpackSimulation = "ParachuteNonSteerable"; //ParachuteSteerable //Bis broke this in 1.40 + ParachuteClass = "NonSteerable_Parachute_F"; + maximumLoad = 0; + mass = 100; + }; + + class B_Soldier_05_f; class B_Pilot_F: B_Soldier_05_f {backpack = "ACE_NonSteerableParachute";}; + class I_Soldier_04_F; class I_pilot_F: I_Soldier_04_F {backpack = "ACE_NonSteerableParachute";}; + class O_helipilot_F; class O_Pilot_F: O_helipilot_F {backpack = "ACE_NonSteerableParachute";}; +}; diff --git a/addons/parachute/CfgWeapons.hpp b/addons/parachute/CfgWeapons.hpp new file mode 100644 index 0000000000..6388bbd5a1 --- /dev/null +++ b/addons/parachute/CfgWeapons.hpp @@ -0,0 +1,9 @@ +class CfgWeapons { + class ItemWatch; + class ACE_Altimeter:ItemWatch { + author = "$STR_ACE_Common_ACETeam"; + descriptionShort = "$STR_ACE_Parachute_AltimeterDescription"; + displayName = "$STR_ACE_Parachute_AltimeterDisplayName"; + picture = PATHTOF(UI\watch_altimeter.paa); + }; +}; diff --git a/addons/parachute/XEH_postInit.sqf b/addons/parachute/XEH_postInit.sqf index c80f093209..ead4b33943 100644 --- a/addons/parachute/XEH_postInit.sqf +++ b/addons/parachute/XEH_postInit.sqf @@ -19,8 +19,7 @@ if (!hasInterface) exitWith {}; ["ACE3", QGVAR(showAltimeter), localize "STR_ACE_Parachute_showAltimeter", { // Conditions: canInteract - _exceptions = [QEGVAR(interaction,isNotEscorting)]; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; if (!('ACE_Altimeter' in assignedItems ace_player)) exitWith {false}; if (!(missionNamespace getVariable [QGVAR(AltimeterActive), false])) then { [ace_player] call FUNC(showAltimeter); diff --git a/addons/parachute/config.cpp b/addons/parachute/config.cpp index 78ca51fb97..3671177e28 100644 --- a/addons/parachute/config.cpp +++ b/addons/parachute/config.cpp @@ -1,61 +1,18 @@ #include "script_component.hpp" class CfgPatches { - class ACE_Parachute { - units[] = {"ACE_NonSteerableParachute"}; - weapons[] = {"ACE_Altimeter"}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_common"}; - VERSION_CONFIG; - author[] = {"Garth 'LH' de Wet"}; - authorUrl = "http://garth.snakebiteink.co.za/"; - }; + class ACE_Parachute { + units[] = {"ACE_NonSteerableParachute"}; + weapons[] = {"ACE_Altimeter"}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common"}; + VERSION_CONFIG; + author[] = {"Garth 'LH' de Wet"}; + authorUrl = "http://garth.snakebiteink.co.za/"; + }; }; #include "CfgEventHandlers.hpp" +#include "CfgVehicles.hpp" +#include "CfgWeapons.hpp" #include "RscTitles.hpp" - -class CfgWeapons { - class ItemWatch; - class ACE_Altimeter:ItemWatch { - author = "$STR_ACE_Common_ACETeam"; - descriptionShort = "$STR_ACE_Parachute_AltimeterDescription"; - displayName = "$STR_ACE_Parachute_AltimeterDisplayName"; - picture = PATHTOF(UI\watch_altimeter.paa); - }; -}; - -class CfgVehicles { - class Box_NATO_Support_F; - class ACE_Box_Misc: Box_NATO_Support_F { - class TransportItems { - class _xx_ACE_Altimeter { - name = "ACE_Altimeter"; - count = 6; - }; - }; - class TransportBackpacks { - class _xx_ACE_NonSteerableParachute { - backpack = "ACE_NonSteerableParachute"; - count = 4; - }; - }; - }; - - class B_Parachute; - class ACE_NonSteerableParachute: B_Parachute { - author = "$STR_ACE_Common_ACETeam"; - scope = 2; - displayName = "$STR_ACE_Parachute_NonSteerableParachute"; - //picture = "\A3\Characters_F\data\ui\icon_b_parachute_ca.paa"; // @todo - //model = "\A3\Weapons_F\Ammoboxes\Bags\Backpack_Parachute"; // @todo - // backpackSimulation = "ParachuteNonSteerable"; //ParachuteSteerable //Bis broke this in 1.40 - ParachuteClass = "NonSteerable_Parachute_F"; - maximumLoad = 0; - mass = 100; - }; - - class B_Soldier_05_f; class B_Pilot_F: B_Soldier_05_f {backpack = "ACE_NonSteerableParachute";}; - class I_Soldier_04_F; class I_pilot_F: I_Soldier_04_F {backpack = "ACE_NonSteerableParachute";}; - class O_helipilot_F; class O_Pilot_F: O_helipilot_F {backpack = "ACE_NonSteerableParachute";}; -}; diff --git a/addons/parachute/functions/fnc_showAltimeter.sqf b/addons/parachute/functions/fnc_showAltimeter.sqf index 1b3edc26f5..8e3c3d83e3 100644 --- a/addons/parachute/functions/fnc_showAltimeter.sqf +++ b/addons/parachute/functions/fnc_showAltimeter.sqf @@ -43,4 +43,4 @@ GVAR(AltimeterActive) = true; (_this select 0) set [2, _height]; (_this select 0) set [3, _curTime]; -}, 0.2, [uiNamespace getVariable ["ACE_Altimeter", displayNull], _unit,floor ((getPosASL _unit) select 2), time]] call CALLSTACK(cba_fnc_addPerFrameEventHandler); +}, 0.2, [uiNamespace getVariable ["ACE_Altimeter", displayNull], _unit,floor ((getPosASL _unit) select 2), time]] call CALLSTACK(cba_fnc_addPerFrameHandler); diff --git a/addons/realisticnames/CfgMagazines.hpp b/addons/realisticnames/CfgMagazines.hpp new file mode 100644 index 0000000000..cf555c9603 --- /dev/null +++ b/addons/realisticnames/CfgMagazines.hpp @@ -0,0 +1,419 @@ + +class CfgMagazines { + class VehicleMagazine; + class 1000Rnd_Gatling_30mm_Plane_CAS_01_F: VehicleMagazine { + displayNameShort = "30mm HEI"; + }; + + class 7Rnd_Rocket_04_HE_F: VehicleMagazine { + displayNameShort = "70mm HE"; + }; + class 7Rnd_Rocket_04_AP_F: 7Rnd_Rocket_04_HE_F { + displayNameShort = "70mm AP"; + }; + + class 24Rnd_PG_missiles: VehicleMagazine { + displayNameShort = "70mm HE"; + }; + class 12Rnd_PG_missiles: 24Rnd_PG_missiles { + displayNameShort = "70mm HE"; + }; + + class 2000Rnd_65x39_Belt; + class 5000Rnd_762x51_Belt: 2000Rnd_65x39_Belt { + displayNameShort = "7.62mm"; + }; + class 5000Rnd_762x51_Yellow_Belt: 5000Rnd_762x51_Belt { + displayNameShort = "7.62mm"; + }; + + class 500Rnd_127x99_mag: VehicleMagazine { + displayNameShort = "12.7mm"; + }; + class 500Rnd_127x99_mag_Tracer_Green: 500Rnd_127x99_mag { + displayNameShort = "12.7mm"; + }; + class 500Rnd_127x99_mag_Tracer_Red: 500Rnd_127x99_mag { + displayNameShort = "12.7mm"; + }; + class 500Rnd_127x99_mag_Tracer_Yellow: 500Rnd_127x99_mag { + displayNameShort = "12.7mm"; + }; + + class 200Rnd_127x99_mag: 500Rnd_127x99_mag { + displayNameShort = "12.7mm"; + }; + class 200Rnd_127x99_mag_Tracer_Green: 200Rnd_127x99_mag { + displayNameShort = "12.7mm"; + }; + class 200Rnd_127x99_mag_Tracer_Red: 200Rnd_127x99_mag { + displayNameShort = "12.7mm"; + }; + class 200Rnd_127x99_mag_Tracer_Yellow: 200Rnd_127x99_mag { + displayNameShort = "12.7mm"; + }; + + class 100Rnd_127x99_mag: 500Rnd_127x99_mag { + displayNameShort = "12.7mm"; + }; + class 100Rnd_127x99_mag_Tracer_Green: 100Rnd_127x99_mag { + displayNameShort = "12.7mm"; + }; + class 100Rnd_127x99_mag_Tracer_Red: 100Rnd_127x99_mag { + displayNameShort = "12.7mm"; + }; + class 100Rnd_127x99_mag_Tracer_Yellow: 100Rnd_127x99_mag { + displayNameShort = "12.7mm"; + }; + + class 200Rnd_40mm_G_belt: VehicleMagazine { + displayNameShort = "40mm HE"; + }; + + class 24Rnd_missiles: VehicleMagazine { + displayNameShort = "70mm HE"; + }; + + class 300Rnd_20mm_shells: VehicleMagazine { + displayNameShort = "20mm HE"; + }; + + class 14Rnd_80mm_rockets: VehicleMagazine { + displayNameShort = "70mm HE"; + }; + + class 250Rnd_30mm_HE_shells: VehicleMagazine { + displayNameShort = "30mm HE"; + }; + class 250Rnd_30mm_APDS_shells: 250Rnd_30mm_HE_shells { + displayNameShort = "30mm APDS"; + }; + + class 20Rnd_Rocket_03_HE_F: 7Rnd_Rocket_04_HE_F { + displayNameShort = "80mm HE"; + }; + + class 20Rnd_Rocket_03_AP_F: 7Rnd_Rocket_04_AP_F { + displayNameShort = "80mm AP"; + }; + + class 500Rnd_Cannon_30mm_Plane_CAS_02_F: 1000Rnd_Gatling_30mm_Plane_CAS_01_F { + displayNameShort = "30mm HEI-T"; + }; + + class 680Rnd_35mm_AA_shells: VehicleMagazine { + displayNameShort = "35mm HEI"; + }; + class 680Rnd_35mm_AA_shells_Tracer_Red: 680Rnd_35mm_AA_shells { + displayNameShort = "35mm HEI-T"; + }; + class 680Rnd_35mm_AA_shells_Tracer_Green: 680Rnd_35mm_AA_shells { + displayNameShort = "35mm HEI-T"; + }; + class 680Rnd_35mm_AA_shells_Tracer_Yellow: 680Rnd_35mm_AA_shells { + displayNameShort = "35mm HEI-T"; + }; + + class 32Rnd_155mm_Mo_shells: VehicleMagazine { + displayNameShort = "155mm HE"; + }; + class 6Rnd_155mm_Mo_smoke: 32Rnd_155mm_Mo_shells { + displayNameShort = "155mm Smoke"; + }; + class 6Rnd_155mm_Mo_mine: 6Rnd_155mm_Mo_smoke { + displayNameShort = "155mm Mines"; + }; + class 6Rnd_155mm_Mo_AT_mine: 6Rnd_155mm_Mo_smoke { + displayNameShort = "155mm AT Mines"; + }; + class 2Rnd_155mm_Mo_Cluster: 6Rnd_155mm_Mo_smoke { + displayNameShort = "155mm Cluster"; + }; + class 2Rnd_155mm_Mo_guided: 6Rnd_155mm_Mo_smoke { + displayNameShort = "155mm Guided"; + }; + class 2Rnd_155mm_Mo_LG: 6Rnd_155mm_Mo_smoke { + displayNameShort = "155mm Laser Guided"; + }; + + class 12Rnd_230mm_rockets: 14Rnd_80mm_rockets { + displayName = "227mm HE Missile"; + displayNameShort = "227mm HE"; + }; + + class 30Rnd_120mm_HE_shells: VehicleMagazine { + displayNameShort = "120mm HE"; + }; + class 30Rnd_120mm_HE_shells_Tracer_Red: 30Rnd_120mm_HE_shells { + displayNameShort = "120mm HE-T"; + }; + class 30Rnd_120mm_HE_shells_Tracer_Green: 30Rnd_120mm_HE_shells { + displayNameShort = "120mm HE-T"; + }; + class 30Rnd_120mm_HE_shells_Tracer_Yellow: 30Rnd_120mm_HE_shells { + displayNameShort = "120mm HE-T"; + }; + + class 30Rnd_120mm_APFSDS_shells: 30Rnd_120mm_HE_shells { + displayNameShort = "120mm AP"; + }; + class 30Rnd_120mm_APFSDS_shells_Tracer_Red: 30Rnd_120mm_APFSDS_shells { + displayNameShort = "120mm AP-T"; + }; + class 30Rnd_120mm_APFSDS_shells_Tracer_Green: 30Rnd_120mm_APFSDS_shells { + displayNameShort = "120mm AP-T"; + }; + class 30Rnd_120mm_APFSDS_shells_Tracer_Yellow: 30Rnd_120mm_APFSDS_shells { + displayNameShort = "120mm AP-T"; + }; + + class 200Rnd_762x51_Belt: VehicleMagazine { + displayNameShort = "7.62mm"; + }; + class 200Rnd_762x51_Belt_Red: 200Rnd_762x51_Belt {}; + class 200Rnd_762x51_Belt_Green: 200Rnd_762x51_Belt {}; + class 200Rnd_762x51_Belt_Yellow: 200Rnd_762x51_Belt {}; + class 200Rnd_762x51_Belt_T_Red: 200Rnd_762x51_Belt_Red { + displayNameShort = "7.62mm"; + }; + class 200Rnd_762x51_Belt_T_Green: 200Rnd_762x51_Belt_Green { + displayNameShort = "7.62mm"; + }; + class 200Rnd_762x51_Belt_T_Yellow: 200Rnd_762x51_Belt_Yellow { + displayNameShort = "7.62mm"; + }; + + class 2000Rnd_762x51_Belt_Red; + class 2000Rnd_762x51_Belt_T_Red: 2000Rnd_762x51_Belt_Red { + displayNameShort = "7.62mm"; + }; + + class 2000Rnd_762x51_Belt_Green; + class 2000Rnd_762x51_Belt_T_Green: 2000Rnd_762x51_Belt_Green { + displayNameShort = "7.62mm"; + }; + + class 2000Rnd_762x51_Belt_Yellow; + class 2000Rnd_762x51_Belt_T_Yellow: 2000Rnd_762x51_Belt_Yellow { + displayNameShort = "7.62mm"; + }; + + class 1000Rnd_762x51_Belt_Red; + class 1000Rnd_762x51_Belt_T_Red: 1000Rnd_762x51_Belt_Red { + displayNameShort = "7.62mm"; + }; + + class 1000Rnd_762x51_Belt_Green; + class 1000Rnd_762x51_Belt_T_Green: 1000Rnd_762x51_Belt_Green { + displayNameShort = "7.62mm"; + }; + + class 1000Rnd_762x51_Belt_Yellow; + class 1000Rnd_762x51_Belt_T_Yellow: 1000Rnd_762x51_Belt_Yellow { + displayNameShort = "7.62mm"; + }; + + class 16Rnd_120mm_HE_shells; + class 12Rnd_125mm_HE: 16Rnd_120mm_HE_shells { + displayNameShort = "125mm HE"; + }; + + class 16Rnd_120mm_HE_shells_Tracer_Red; + class 12Rnd_125mm_HE_T_Red: 16Rnd_120mm_HE_shells_Tracer_Red { + displayNameShort = "125mm HE-T"; + }; + + class 16Rnd_120mm_HE_shells_Tracer_Green; + class 12Rnd_125mm_HE_T_Green: 16Rnd_120mm_HE_shells_Tracer_Green { + displayNameShort = "125mm HE-T"; + }; + + class 16Rnd_120mm_HE_shells_Tracer_Yellow; + class 12Rnd_125mm_HE_T_Yellow: 16Rnd_120mm_HE_shells_Tracer_Yellow { + displayNameShort = "125mm HE-T"; + }; + + class 12Rnd_125mm_HEAT: 12Rnd_125mm_HE { + displayNameShort = "125mm MP"; + }; + class 12Rnd_125mm_HEAT_T_Red: 12Rnd_125mm_HEAT { + displayNameShort = "125mm MP-T"; + }; + class 12Rnd_125mm_HEAT_T_Green: 12Rnd_125mm_HEAT { + displayNameShort = "125mm MP-T"; + }; + class 12Rnd_125mm_HEAT_T_Yellow: 12Rnd_125mm_HEAT { + displayNameShort = "125mm MP-T"; + }; + + class 32Rnd_120mm_APFSDS_shells; + class 24Rnd_125mm_APFSDS: 32Rnd_120mm_APFSDS_shells { + displayNameShort = "125mm AP"; + }; + + class 32Rnd_120mm_APFSDS_shells_Tracer_Red; + class 24Rnd_125mm_APFSDS_T_Red: 32Rnd_120mm_APFSDS_shells_Tracer_Red { + displayNameShort = "125mm AP-T"; + }; + + class 32Rnd_120mm_APFSDS_shells_Tracer_Green; + class 24Rnd_125mm_APFSDS_T_Green: 32Rnd_120mm_APFSDS_shells_Tracer_Green { + displayNameShort = "125mm AP-T"; + }; + + class 32Rnd_120mm_APFSDS_shells_Tracer_Yellow; + class 24Rnd_125mm_APFSDS_T_Yellow: 32Rnd_120mm_APFSDS_shells_Tracer_Yellow { + displayNameShort = "125mm AP-T"; + }; + + class 20Rnd_105mm_HEAT_MP: 12Rnd_125mm_HEAT { + displayNameShort = "105mm MP"; + }; + class 20Rnd_105mm_HEAT_MP_T_Red: 20Rnd_105mm_HEAT_MP { + displayNameShort = "105mm MP-T"; + }; + class 20Rnd_105mm_HEAT_MP_T_Green: 20Rnd_105mm_HEAT_MP { + displayNameShort = "105mm MP-T"; + }; + class 20Rnd_105mm_HEAT_MP_T_Yellow: 20Rnd_105mm_HEAT_MP { + displayNameShort = "105mm MP-T"; + }; + + class 40Rnd_105mm_APFSDS: 24Rnd_125mm_APFSDS { + displayNameShort = "105mm AP"; + }; + class 40Rnd_105mm_APFSDS_T_Red: 40Rnd_105mm_APFSDS { + displayNameShort = "105mm AP-T"; + }; + class 40Rnd_105mm_APFSDS_T_Green: 40Rnd_105mm_APFSDS { + displayNameShort = "105mm AP-T"; + }; + class 40Rnd_105mm_APFSDS_T_Yellow: 40Rnd_105mm_APFSDS { + displayNameShort = "105mm AP-T"; + }; + + class 60Rnd_40mm_GPR_shells: VehicleMagazine { + displayNameShort = "40mm GPR"; + }; + class 60Rnd_40mm_GPR_Tracer_Red_shells: 60Rnd_40mm_GPR_shells { + displayNameShort = "40mm GPR-T"; + }; + class 60Rnd_40mm_GPR_Tracer_Green_shells: 60Rnd_40mm_GPR_shells { + displayNameShort = "40mm GPR-T"; + }; + class 60Rnd_40mm_GPR_Tracer_Yellow_shells: 60Rnd_40mm_GPR_shells { + displayNameShort = "40mm GPR-T"; + }; + + class 40Rnd_40mm_APFSDS_shells: 60Rnd_40mm_GPR_shells { + displayNameShort = "40mm AP"; + }; + class 40Rnd_40mm_APFSDS_Tracer_Red_shells: 40Rnd_40mm_APFSDS_shells { + displayNameShort = "40mm AP-T"; + }; + class 40Rnd_40mm_APFSDS_Tracer_Green_shells: 40Rnd_40mm_APFSDS_Tracer_Red_shells { + displayNameShort = "40mm AP-T"; + }; + class 40Rnd_40mm_APFSDS_Tracer_Yellow_shells: 40Rnd_40mm_APFSDS_Tracer_Red_shells { + displayNameShort = "40mm AP-T"; + }; + + class 450Rnd_127x108_Ball: VehicleMagazine { + displayNameShort = "12.7mm"; + }; + + class 140Rnd_30mm_MP_shells: 250Rnd_30mm_HE_shells { + displayNameShort = "30mm MP"; + }; + class 140Rnd_30mm_MP_shells_Tracer_Red: 140Rnd_30mm_MP_shells { + displayNameShort = "30mm MP-T"; + }; + class 140Rnd_30mm_MP_shells_Tracer_Green: 140Rnd_30mm_MP_shells_Tracer_Red { + displayNameShort = "30mm MP-T"; + }; + class 140Rnd_30mm_MP_shells_Tracer_Yellow: 140Rnd_30mm_MP_shells_Tracer_Red { + displayNameShort = "30mm MP-T"; + }; + + class 60Rnd_30mm_APFSDS_shells: 250Rnd_30mm_HE_shells { + displayNameShort = "30mm AP"; + }; + class 60Rnd_30mm_APFSDS_shells_Tracer_Red: 60Rnd_30mm_APFSDS_shells { + displayNameShort = "30mm AP-T"; + }; + class 60Rnd_30mm_APFSDS_shells_Tracer_Green: 60Rnd_30mm_APFSDS_shells { + displayNameShort = "30mm AP-T"; + }; + class 60Rnd_30mm_APFSDS_shells_Tracer_Yellow: 60Rnd_30mm_APFSDS_shells { + displayNameShort = "30mm AP-T"; + }; + + class 200Rnd_20mm_G_belt: VehicleMagazine { + displayNameShort = "20mm HE"; + }; + class 40Rnd_20mm_G_belt: 200Rnd_20mm_G_belt { + displayNameShort = "20mm HE"; + }; + + // mines + class CA_Magazine; + // http://en.wikipedia.org/wiki/M15_mine + class ATMine_Range_Mag: CA_Magazine { + displayName = "$STR_ACE_RealisticNames_ATMine_Name"; + }; + // http://en.wikipedia.org/wiki/VS-50_mine + class APERSMine_Range_Mag: ATMine_Range_Mag { + displayName = "$STR_ACE_RealisticNames_APERSMine_Name"; + }; + // https://www.buymilsurp.com/us-m26-antipersonnel-bounding-mine-p-5419.html + class APERSBoundingMine_Range_Mag: ATMine_Range_Mag { + displayName = "$STR_ACE_RealisticNames_APERSBoundingMine_Name"; + }; + // http://en.wikipedia.org/wiki/PMR-3_mine + class APERSTripMine_Wire_Mag: ATMine_Range_Mag { + displayName = "$STR_ACE_RealisticNames_APERSTripwireMine_Name"; + }; + // the following ones can be found here: http://www.dtic.mil/dtic/tr/fulltext/u2/a567897.pdf + class SLAMDirectionalMine_Wire_Mag: ATMine_Range_Mag { + displayName = "$STR_ACE_RealisticNames_SLAM_Name"; + }; + + // claymore + class ClaymoreDirectionalMine_Remote_Mag: CA_Magazine { + displayName = "$STR_ACE_RealisticNames_Claymore_Name"; + }; + + // satchels + class SatchelCharge_Remote_Mag: CA_Magazine { + displayName = "$STR_ACE_RealisticNames_SatchelCharge_Name"; + }; + class DemoCharge_Remote_Mag: SatchelCharge_Remote_Mag { + displayName = "$STR_ACE_RealisticNames_DemoCharge_Name"; + }; + + // hand grenades + class HandGrenade: CA_Magazine { + displayName = "$STR_ACE_RealisticNames_HandGrenade_Name"; + }; + class SmokeShell: HandGrenade { + displayName = "$STR_ACE_RealisticNames_SmokeShell_Name"; + }; + class SmokeShellBlue: SmokeShell { + displayName = "$STR_ACE_RealisticNames_SmokeShellBlue_Name"; + }; + class SmokeShellGreen: SmokeShell { + displayName = "$STR_ACE_RealisticNames_SmokeShellGreen_Name"; + }; + class SmokeShellOrange: SmokeShell { + displayName = "$STR_ACE_RealisticNames_SmokeShellOrange_Name"; + }; + class SmokeShellPurple: SmokeShell { + displayName = "$STR_ACE_RealisticNames_SmokeShellPurple_Name"; + }; + class SmokeShellRed: SmokeShell { + displayName = "$STR_ACE_RealisticNames_SmokeShellRed_Name"; + }; + class SmokeShellYellow: SmokeShell { + displayName = "$STR_ACE_RealisticNames_SmokeShellYellow_Name"; + }; +}; diff --git a/addons/realisticnames/CfgVehicles.hpp b/addons/realisticnames/CfgVehicles.hpp new file mode 100644 index 0000000000..218e04ff09 --- /dev/null +++ b/addons/realisticnames/CfgVehicles.hpp @@ -0,0 +1,555 @@ + +class CfgVehicles { + // static weapons + class StaticMGWeapon; + class HMG_01_base_F: StaticMGWeapon { + displayName = "$STR_ACE_RealisticNames_HMG_01_Name"; + }; + class HMG_01_A_base_F: HMG_01_base_F { + displayName = "$STR_ACE_RealisticNames_HMG_01_A_Name"; + }; + class HMG_01_high_base_F: HMG_01_base_F { + displayName = "$STR_ACE_RealisticNames_HMG_01_high_Name"; + }; + + class AT_01_base_F; + class B_static_AT_F: AT_01_base_F { + displayName = "$STR_ACE_RealisticNames_static_AT_Name"; + }; + class O_static_AT_F: AT_01_base_F { + displayName = "$STR_ACE_RealisticNames_static_AT_Name"; + }; + class I_static_AT_F: AT_01_base_F { + displayName = "$STR_ACE_RealisticNames_static_AT_Name"; + }; + + class AA_01_base_F; + class B_static_AA_F: AA_01_base_F { + displayName = "$STR_ACE_RealisticNames_static_AA_Name"; + }; + class O_static_AA_F: AA_01_base_F { + displayName = "$STR_ACE_RealisticNames_static_AA_Name"; + }; + class I_static_AA_F: AA_01_base_F { + displayName = "$STR_ACE_RealisticNames_static_AA_Name"; + }; + + class GMG_TriPod; + class GMG_01_base_F: GMG_TriPod { + displayName = "$STR_ACE_RealisticNames_GMG_01_Name"; + }; + class GMG_01_A_base_F: GMG_01_base_F { + displayName = "$STR_ACE_RealisticNames_GMG_01_A_Name"; + }; + class GMG_01_high_base_F: GMG_01_base_F { + displayName = "$STR_ACE_RealisticNames_GMG_01_high_Name"; + }; + + // M-ATV + class MRAP_01_base_F; + class B_MRAP_01_F: MRAP_01_base_F { + displayName = "$STR_ACE_RealisticNames_MRAP_01_Name"; + }; + + class MRAP_01_gmg_base_F: MRAP_01_base_F {}; + class B_MRAP_01_gmg_F: MRAP_01_gmg_base_F { + displayName = "$STR_ACE_RealisticNames_MRAP_01_gmg_Name"; + }; + + class MRAP_01_hmg_base_F: MRAP_01_gmg_base_F {}; + class B_MRAP_01_hmg_F: MRAP_01_hmg_base_F { + displayName = "$STR_ACE_RealisticNames_MRAP_01_hmg_Name"; + }; + + // punisher + class MRAP_02_base_F; + class O_MRAP_02_F: MRAP_02_base_F { + displayName = "$STR_ACE_RealisticNames_MRAP_02_Name"; + }; + + class MRAP_02_hmg_base_F: MRAP_02_base_F {}; + class O_MRAP_02_hmg_F: MRAP_02_hmg_base_F { + displayName = "$STR_ACE_RealisticNames_MRAP_02_hmg_Name"; + }; + + class MRAP_02_gmg_base_F: MRAP_02_hmg_base_F {}; + class O_MRAP_02_gmg_F: MRAP_02_gmg_base_F { + displayName = "$STR_ACE_RealisticNames_MRAP_02_gmg_Name"; + }; + + // strider + class MRAP_03_base_F; + class I_MRAP_03_F: MRAP_03_base_F { + displayName = "$STR_ACE_RealisticNames_MRAP_03_Name"; + }; + + class MRAP_03_hmg_base_F: MRAP_03_base_F {}; + class I_MRAP_03_hmg_F: MRAP_03_hmg_base_F { + displayName = "$STR_ACE_RealisticNames_MRAP_03_hmg_Name"; + }; + + class MRAP_03_gmg_base_F: MRAP_03_hmg_base_F {}; + class I_MRAP_03_gmg_F: MRAP_03_gmg_base_F { + displayName = "$STR_ACE_RealisticNames_MRAP_03_gmg_Name"; + }; + + // merkava derivates + class MBT_01_base_F; + class B_MBT_01_base_F: MBT_01_base_F {}; + + class B_MBT_01_cannon_F: B_MBT_01_base_F { + displayName = "$STR_ACE_RealisticNames_MBT_01_cannon_Name"; + }; + class B_MBT_01_TUSK_F: B_MBT_01_cannon_F { + displayName = "$STR_ACE_RealisticNames_MBT_01_TUSK_Name"; + }; + + class MBT_01_arty_base_F: MBT_01_base_F {}; + class B_MBT_01_arty_base_F: MBT_01_arty_base_F {}; + + class B_MBT_01_arty_F: B_MBT_01_arty_base_F { + displayName = "$STR_ACE_RealisticNames_MBT_01_arty_Name"; + }; + + class MBT_01_mlrs_base_F: MBT_01_base_F {}; + class B_MBT_01_mlrs_base_F: MBT_01_mlrs_base_F {}; + + class B_MBT_01_mlrs_F: B_MBT_01_mlrs_base_F { + displayName = "$STR_ACE_RealisticNames_MBT_01_mlrs_Name"; // Fictional name, (probably wrong) hebrew translation of storm. + }; + + // T100 derivates + class MBT_02_base_F; + class O_MBT_02_base_F: MBT_02_base_F {}; + + class O_MBT_02_cannon_F: O_MBT_02_base_F { + displayName = "$STR_ACE_RealisticNames_MBT_02_cannon_Name"; + }; + + class MBT_02_arty_base_F: MBT_02_base_F {}; + class O_MBT_02_arty_base_F: MBT_02_arty_base_F {}; + + class O_MBT_02_arty_F: O_MBT_02_arty_base_F { + displayName = "$STR_ACE_RealisticNames_MBT_02_arty_Name"; + }; + + // leopard sg + class I_MBT_03_base_F; + class I_MBT_03_cannon_F: I_MBT_03_base_F { + displayName = "$STR_ACE_RealisticNames_MBT_03_cannon_Name"; + }; + + // tracked apcs + class B_APC_Tracked_01_base_F; + class B_APC_Tracked_01_rcws_F: B_APC_Tracked_01_base_F { + displayName = "$STR_ACE_RealisticNames_APC_Tracked_01_rcws_Name"; + }; + + class B_APC_Tracked_01_AA_F: B_APC_Tracked_01_base_F { + displayName = "$STR_ACE_RealisticNames_APC_Tracked_01_AA_Name"; // Fictional name, (probably wrong) hebrew translation of cheetah. + }; + + class B_APC_Tracked_01_CRV_F: B_APC_Tracked_01_base_F { + displayName = "$STR_ACE_RealisticNames_APC_Tracked_01_CRV_Name"; + }; + + class O_APC_Tracked_02_base_F; + class O_APC_Tracked_02_cannon_F: O_APC_Tracked_02_base_F { + displayName = "$STR_ACE_RealisticNames_APC_Tracked_02_cannon_Name"; + }; + + class O_APC_Tracked_02_AA_F: O_APC_Tracked_02_base_F { + displayName = "$STR_ACE_RealisticNames_APC_Tracked_02_AA_Name"; + }; + + class I_APC_tracked_03_base_F; + class I_APC_tracked_03_cannon_F: I_APC_tracked_03_base_F { + displayName = "$STR_ACE_RealisticNames_APC_tracked_03_cannon_Name"; + }; + + // wheeled apcs + class B_APC_Wheeled_01_base_F; + class B_APC_Wheeled_01_cannon_F: B_APC_Wheeled_01_base_F { + displayName = "$STR_ACE_RealisticNames_APC_Wheeled_cannon_Name"; + }; + + class O_APC_Wheeled_02_base_F; + class O_APC_Wheeled_02_rcws_F: O_APC_Wheeled_02_base_F { + displayName = "$STR_ACE_RealisticNames_APC_Wheeled_02_rcws_Name"; + }; + + class I_APC_Wheeled_03_base_F; + class I_APC_Wheeled_03_cannon_F: I_APC_Wheeled_03_base_F { + displayName = "$STR_ACE_RealisticNames_APC_Wheeled_03_cannon_Name"; + }; + + // trucks + class Truck_01_base_F; + class B_Truck_01_transport_F: Truck_01_base_F { + displayName = "$STR_ACE_RealisticNames_Truck_01_transport_Name"; + }; + class B_Truck_01_covered_F: B_Truck_01_transport_F { + displayName = "$STR_ACE_RealisticNames_Truck_01_covered_Name"; + }; + class B_Truck_01_mover_F: B_Truck_01_transport_F { + displayName = "$STR_ACE_RealisticNames_Truck_01_mover_Name"; + }; + class B_Truck_01_box_F: B_Truck_01_mover_F { + displayName = "$STR_ACE_RealisticNames_Truck_01_box_Name"; + }; + class B_Truck_01_medical_F: B_Truck_01_transport_F { + displayName = "$STR_ACE_RealisticNames_Truck_01_medical_Name"; + }; + class B_Truck_01_ammo_F: B_Truck_01_mover_F { + displayName = "$STR_ACE_RealisticNames_Truck_01_ammo_Name"; + }; + class B_Truck_01_fuel_F: B_Truck_01_mover_F { + displayName = "$STR_ACE_RealisticNames_Truck_01_fuel_Name"; + }; + class B_Truck_01_Repair_F: B_Truck_01_mover_F { + displayName = "$STR_ACE_RealisticNames_Truck_01_Repair_Name"; + }; + class Truck_02_transport_base_F; + class O_Truck_02_transport_F: Truck_02_transport_base_F { + displayName = "$STR_ACE_RealisticNames_Truck_02_transport_Name"; + }; + class Truck_02_base_F; + class O_Truck_02_covered_F: Truck_02_base_F { + displayName = "$STR_ACE_RealisticNames_Truck_02_covered_Name"; + }; + class Truck_02_Ammo_base_F; + class O_Truck_02_ammo_F: Truck_02_Ammo_base_F { + displayName = "$STR_ACE_RealisticNames_Truck_02_ammo_Name"; + }; + class Truck_02_fuel_base_F; + class O_Truck_02_fuel_F: Truck_02_fuel_base_F { + displayName = "$STR_ACE_RealisticNames_Truck_02_fuel_Name"; + }; + class Truck_02_box_base_F; + class O_Truck_02_box_F: Truck_02_box_base_F { + displayName = "$STR_ACE_RealisticNames_Truck_02_box_Name"; + }; + class Truck_02_medical_base_F; + class O_Truck_02_medical_F: Truck_02_medical_base_F { + displayName = "$STR_ACE_RealisticNames_Truck_02_medical_Name"; + }; + class I_Truck_02_transport_F: Truck_02_transport_base_F { + displayName = "$STR_ACE_RealisticNames_Truck_02_transport_Name"; + }; + class I_Truck_02_covered_F: Truck_02_base_F { + displayName = "$STR_ACE_RealisticNames_Truck_02_covered_Name"; + }; + class I_Truck_02_ammo_F: Truck_02_Ammo_base_F { + displayName = "$STR_ACE_RealisticNames_Truck_02_ammo_Name"; + }; + class I_Truck_02_fuel_F: Truck_02_fuel_base_F { + displayName = "$STR_ACE_RealisticNames_Truck_02_fuel_Name"; + }; + class I_Truck_02_box_F: Truck_02_box_base_F { + displayName = "$STR_ACE_RealisticNames_Truck_02_box_Name"; + }; + class I_Truck_02_medical_F: Truck_02_medical_base_F { + displayName = "$STR_ACE_RealisticNames_Truck_02_medical_Name"; + }; + + class Truck_03_base_F; + class O_Truck_03_transport_F: Truck_03_base_F { + displayName = "$STR_ACE_RealisticNames_Truck_03_transport_Name"; + }; + class O_Truck_03_covered_F: Truck_03_base_F { + displayName = "$STR_ACE_RealisticNames_Truck_03_covered_Name"; + }; + class O_Truck_03_device_F: Truck_03_base_F { + displayName = "$STR_ACE_RealisticNames_Truck_03_device_Name"; + }; + class O_Truck_03_ammo_F: Truck_03_base_F { + displayName = "$STR_ACE_RealisticNames_Truck_03_ammo_Name"; + }; + class O_Truck_03_fuel_F: Truck_03_base_F { + displayName = "$STR_ACE_RealisticNames_Truck_03_fuel_Name"; + }; + class O_Truck_03_repair_F: Truck_03_base_F { + displayName = "$STR_ACE_RealisticNames_Truck_03_repair_Name"; + }; + class O_Truck_03_medical_F: Truck_03_base_F { + displayName = "$STR_ACE_RealisticNames_Truck_03_medical_Name"; + }; + + // helicopters + class Heli_Attack_01_base_F; + class B_Heli_Attack_01_F: Heli_Attack_01_base_F { + displayName = "$STR_ACE_RealisticNames_Heli_Attack_01_Name"; + }; + + class Heli_Light_01_unarmed_base_F; + class B_Heli_Light_01_F: Heli_Light_01_unarmed_base_F { + displayName = "$STR_ACE_RealisticNames_Heli_Light_01_Name"; + }; + + class Heli_Light_01_armed_base_F; + class B_Heli_Light_01_armed_F: Heli_Light_01_armed_base_F { + displayName = "$STR_ACE_RealisticNames_Heli_Light_01_armed_Name"; + }; + + class Heli_Light_01_civil_base_F: Heli_Light_01_unarmed_base_F { + displayName = "$STR_ACE_RealisticNames_Heli_Light_01_civil_Name"; + }; + + class Heli_Transport_03_base_F; + class B_Heli_Transport_03_F: Heli_Transport_03_base_F { + displayName = "$STR_ACE_RealisticNames_Heli_Transport_03_Name"; + }; + class Heli_Transport_03_unarmed_base_F; + class B_Heli_Transport_03_unarmed_F: Heli_Transport_03_unarmed_base_F { + displayName = "$STR_ACE_RealisticNames_Heli_Transport_03_unarmed_Name"; + }; + + class Heli_Light_02_base_F; + class O_Heli_Light_02_F: Heli_Light_02_base_F { + displayName = "$STR_ACE_RealisticNames_Heli_Light_02_Name"; + }; + class Heli_Light_02_unarmed_base_F; + class O_Heli_Light_02_unarmed_F: Heli_Light_02_unarmed_base_F { + displayName = "$STR_ACE_RealisticNames_Heli_Light_02_unarmed_Name"; + }; + + class Heli_light_03_base_F; + class I_Heli_light_03_F: Heli_light_03_base_F { + displayName = "$STR_ACE_RealisticNames_Heli_light_03_Name"; + }; + + class Heli_light_03_unarmed_base_F; + class I_Heli_light_03_unarmed_F: Heli_light_03_unarmed_base_F { + displayName = "$STR_ACE_RealisticNames_Heli_light_03_unarmed_Name"; + }; + + class Heli_Transport_02_base_F; + class I_Heli_Transport_02_F: Heli_Transport_02_base_F { + displayName = "$STR_ACE_RealisticNames_Heli_Transport_02_Name"; + }; + + // planes + class Plane_CAS_01_base_F; + class B_Plane_CAS_01_F: Plane_CAS_01_base_F { + displayName = "$STR_ACE_RealisticNames_Plane_CAS_01_Name"; + }; + + class Plane_CAS_02_base_F; + class O_Plane_CAS_02_F: Plane_CAS_02_base_F { + displayName = "$STR_ACE_RealisticNames_Plane_CAS_02_Name"; + }; + + class Plane_Fighter_03_base_F; + class I_Plane_Fighter_03_CAS_F: Plane_Fighter_03_base_F { + displayName = "$STR_ACE_RealisticNames_Plane_Fighter_03_CAS_Name"; + }; + + class I_Plane_Fighter_03_AA_F: I_Plane_Fighter_03_CAS_F { + displayName = "$STR_ACE_RealisticNames_Plane_Fighter_03_AA_Name"; + }; + + // uavs + class UAV_02_base_F; + class B_UAV_02_F: UAV_02_base_F { + displayName = "$STR_ACE_RealisticNames_UAV_02_Name"; + }; + class O_UAV_02_F: UAV_02_base_F { + displayName = "$STR_ACE_RealisticNames_UAV_02_Name"; + }; + class I_UAV_02_F: UAV_02_base_F { + displayName = "$STR_ACE_RealisticNames_UAV_02_Name"; + }; + + class UAV_02_CAS_base_F: UAV_02_base_F {}; + class B_UAV_02_CAS_F: UAV_02_CAS_base_F { + displayName = "$STR_ACE_RealisticNames_UAV_02_CAS_Name"; + }; + class O_UAV_02_CAS_F: UAV_02_CAS_base_F { + displayName = "$STR_ACE_RealisticNames_UAV_02_CAS_Name"; + }; + class I_UAV_02_CAS_F: UAV_02_CAS_base_F { + displayName = "$STR_ACE_RealisticNames_UAV_02_CAS_Name"; + }; + + // pistols + class Pistol_Base_F; + class Weapon_hgun_P07_F: Pistol_Base_F { + displayName = "$STR_ACE_RealisticNames_hgun_P07_Name"; + }; + + class Weapon_hgun_Rook40_F: Pistol_Base_F { + displayName = "$STR_ACE_RealisticNames_hgun_Rook40_Name"; + }; + + class Weapon_hgun_ACPC2_F: Pistol_Base_F { + displayName = "$STR_ACE_RealisticNames_hgun_ACPC2_Name"; + }; + + class Weapon_hgun_Pistol_heavy_01_F: Pistol_Base_F { + displayName = "$STR_ACE_RealisticNames_hgun_Pistol_heavy_01_Name"; + }; + + class Weapon_hgun_Pistol_heavy_02_F: Pistol_Base_F { + displayName = "$STR_ACE_RealisticNames_hgun_Pistol_heavy_02_Name"; + }; + + class Weapon_hgun_Pistol_Signal_F: Pistol_Base_F { + displayName = "$STR_ACE_RealisticNames_hgun_Pistol_Signal_Name"; + }; + + // rocket launchers + class Launcher_Base_F; + class Weapon_launch_NLAW_F: Launcher_Base_F { + displayName = "$STR_ACE_RealisticNames_launch_NLAW_Name"; + }; + + class Weapon_launch_RPG32_F: Launcher_Base_F { + displayName = "$STR_ACE_RealisticNames_launch_RPG32_Name"; + }; + + class Weapon_launch_Titan_F: Launcher_Base_F { + displayName = "$STR_ACE_RealisticNames_launch_Titan_Name"; + }; + + class Weapon_launch_Titan_short_F: Launcher_Base_F { + displayName = "$STR_ACE_RealisticNames_launch_Titan_short_Name"; + }; + + class Weapon_launch_B_Titan_F: Launcher_Base_F { + displayName = "$STR_ACE_RealisticNames_launch_Titan_Name"; + }; + //class Weapon_launch_I_Titan_F: Weapon_launch_B_Titan_F {}; + //class Weapon_launch_O_Titan_F: Weapon_launch_B_Titan_F {}; + + class Weapon_launch_launch_B_Titan_short_F: Launcher_Base_F { + displayName = "$STR_ACE_RealisticNames_launch_Titan_short_Name"; + }; + //class Weapon_launch_I_Titan_short_F: Weapon_launch_launch_B_Titan_short_F {}; + //class Weapon_launch_O_Titan_short_F: Weapon_launch_launch_B_Titan_short_F {}; + + // rifles + + // MX + class Weapon_Base_F; + class Weapon_arifle_MX_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_MX_Name"; + }; + + class Weapon_arifle_MXC_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_MXC_Name"; + }; + + class Weapon_arifle_MX_GL_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_MX_GL_Name"; + }; + + class Weapon_arifle_MX_SW_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_MX_SW_Name"; + }; + + class Weapon_arifle_MXM_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_MXM_Name"; + }; + + // Katiba + class Weapon_arifle_Katiba_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_Katiba_Name"; + }; + + class Weapon_arifle_Katiba_C_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_Katiba_C_Name"; + }; + + class Weapon_arifle_Katiba_GL_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_Katiba_GL_Name"; + }; + + // F2000 + class Weapon_arifle_Mk20_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_Mk20_Name"; + }; + + class Weapon_arifle_Mk20_plain_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_Mk20_plain_Name"; + }; + + class Weapon_arifle_Mk20C_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_Mk20C_Name"; + }; + + class Weapon_arifle_Mk20C_plain_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_Mk20C_plain_Name"; + }; + + class Weapon_arifle_Mk20_GL_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_Mk20_GL_Name"; + }; + + class Weapon_arifle_Mk20_GL_plain_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_Mk20_GL_plain_Name"; + }; + + // TAR-21 + class Weapon_arifle_TRG21_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_TRG21_Name"; + }; + + class Weapon_arifle_TRG20_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_TRG20_Name"; + }; + + class Weapon_arifle_TRG21_GL_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_TRG21_GL_Name"; + }; + + // sub machine guns + class Weapon_SMG_01_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_SMG_01_Name"; + }; + + class Weapon_SMG_02_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_SMG_02_Name"; + }; + + class Weapon_hgun_PDW2000_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_hgun_PDW2000_Name"; + }; + + class Weapon_arifle_SDAR_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_SDAR_Name"; + }; + + // machine guns + class Weapon_LMG_Mk200_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_LMG_Mk200_Name"; + }; + + class Weapon_LMG_Zafir_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_LMG_Zafir_Name"; + }; + + // sniper rifles + class Weapon_srifle_EBR_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_srifle_EBR_Name"; + }; + + class Weapon_srifle_GM6_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_srifle_GM6_Name"; + }; + + class Weapon_srifle_GM6_camo_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_srifle_GM6_camo_Name"; + }; + + class Weapon_srifle_LRR_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_srifle_LRR_Name"; + }; + + class Weapon_srifle_LRR_camo_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_srifle_LRR_camo_Name"; + }; + + class Weapon_srifle_DMR_01_F: Weapon_Base_F { + displayName = "$STR_ACE_RealisticNames_srifle_DMR_01_Name"; + }; +}; diff --git a/addons/realisticnames/CfgWeapons.hpp b/addons/realisticnames/CfgWeapons.hpp new file mode 100644 index 0000000000..8e64434bd4 --- /dev/null +++ b/addons/realisticnames/CfgWeapons.hpp @@ -0,0 +1,461 @@ + +class Mode_FullAuto; + +class CfgWeapons { + // assault rifles + + // MX + class arifle_MX_Base_F; + class arifle_MX_F: arifle_MX_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_MX_Name"; + }; + class arifle_MX_Black_F: arifle_MX_F { + displayName = "$STR_ACE_RealisticNames_arifle_MX_Black_Name"; + }; + + class arifle_MXC_F: arifle_MX_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_MXC_Name"; + }; + class arifle_MXC_Black_F: arifle_MXC_F { + displayName = "$STR_ACE_RealisticNames_arifle_MXC_Black_Name"; + }; + + class arifle_MX_GL_F: arifle_MX_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_MX_GL_Name"; + }; + class arifle_MX_GL_Black_F: arifle_MX_GL_F { + displayName = "$STR_ACE_RealisticNames_arifle_MX_GL_Black_Name"; + }; + + class arifle_MX_SW_F: arifle_MX_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_MX_SW_Name"; + }; + class arifle_MX_SW_Black_F: arifle_MX_SW_F { + displayName = "$STR_ACE_RealisticNames_arifle_MX_SW_Black_Name"; + }; + + class arifle_MXM_F: arifle_MX_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_MXM_Name"; + }; + class arifle_MXM_Black_F: arifle_MXM_F { + displayName = "$STR_ACE_RealisticNames_arifle_MXM_Black_Name"; + }; + + // Katiba + class arifle_katiba_Base_F; + class arifle_Katiba_F: arifle_katiba_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_Katiba_Name"; + }; + class arifle_Katiba_GL_F: arifle_katiba_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_Katiba_GL_Name"; + }; + class arifle_Katiba_C_F: arifle_katiba_Base_F { + displayName = "$STR_ACE_RealisticNames_arifle_Katiba_C_Name"; + }; + + // SDAR + class SDAR_base_F; + class arifle_SDAR_F: SDAR_base_F { + displayName = "$STR_ACE_RealisticNames_arifle_SDAR_Name"; + }; + + // TAR-21 + class Tavor_base_F; + class arifle_TRG21_F: Tavor_base_F { + displayName = "$STR_ACE_RealisticNames_arifle_TRG21_Name"; + }; + class arifle_TRG21_GL_F: arifle_TRG21_F { + displayName = "$STR_ACE_RealisticNames_arifle_TRG21_GL_Name"; + }; + class arifle_TRG20_F: Tavor_base_F { + displayName = "$STR_ACE_RealisticNames_arifle_TRG20_Name"; + }; + + // F2000 + class mk20_base_F; + class arifle_Mk20_F: mk20_base_F { + displayName = "$STR_ACE_RealisticNames_arifle_Mk20_Name"; + }; + class arifle_Mk20_plain_F: arifle_Mk20_F { + displayName = "$STR_ACE_RealisticNames_arifle_Mk20_plain_Name"; + }; + + class arifle_Mk20C_F: mk20_base_F { + displayName = "$STR_ACE_RealisticNames_arifle_Mk20C_Name"; + }; + class arifle_Mk20C_plain_F: arifle_Mk20C_F { + displayName = "$STR_ACE_RealisticNames_arifle_Mk20C_plain_Name"; + }; + + class arifle_Mk20_GL_F: mk20_base_F { + displayName = "$STR_ACE_RealisticNames_arifle_Mk20_GL_Name"; + }; + class arifle_Mk20_GL_plain_F: arifle_Mk20_GL_F { + displayName = "$STR_ACE_RealisticNames_arifle_Mk20_GL_plain_Name"; + }; + + // Vector + class SMG_01_Base; + class SMG_01_F: SMG_01_Base { + displayName = "$STR_ACE_RealisticNames_SMG_01_Name"; + }; + + // Scorpion + class SMG_02_base_F; + class SMG_02_F: SMG_02_base_F { + displayName = "$STR_ACE_RealisticNames_SMG_02_Name"; + }; + + // PDW 2000 + class pdw2000_base_F; + class hgun_pdw2000_F: pdw2000_base_F { + displayName = "$STR_ACE_RealisticNames_hgun_PDW2000_Name"; + }; + + // pistols + class Pistol_Base_F; + class hgun_P07_F: Pistol_Base_F { + displayName = "$STR_ACE_RealisticNames_hgun_P07_Name"; + }; + + class hgun_Rook40_F: Pistol_Base_F { + displayName = "$STR_ACE_RealisticNames_hgun_Rook40_Name"; + }; + + class hgun_ACPC2_F: Pistol_Base_F { + displayName = "$STR_ACE_RealisticNames_hgun_ACPC2_Name"; + }; + + class hgun_Pistol_heavy_01_F: Pistol_Base_F { + displayName = "$STR_ACE_RealisticNames_hgun_Pistol_heavy_01_Name"; + }; + + class hgun_Pistol_heavy_02_F: Pistol_Base_F { + displayName = "$STR_ACE_RealisticNames_hgun_Pistol_heavy_02_Name"; + }; + + class hgun_Pistol_Signal_F: Pistol_Base_F { + displayName = "$STR_ACE_RealisticNames_hgun_Pistol_Signal_Name"; + }; + + // machine guns + class Rifle_Long_Base_F; + class LMG_Mk200_F: Rifle_Long_Base_F { + displayName = "$STR_ACE_RealisticNames_LMG_Mk200_Name"; + }; + + class LMG_Zafir_F: Rifle_Long_Base_F { + displayName = "$STR_ACE_RealisticNames_LMG_Zafir_Name"; + }; + + // sniper rifles + class EBR_base_F; + class srifle_EBR_F: EBR_base_F { + displayName = "$STR_ACE_RealisticNames_srifle_EBR_Name"; + }; + + class LRR_base_F; + class srifle_LRR_F: LRR_base_F { + displayName = "$STR_ACE_RealisticNames_srifle_LRR_Name"; + }; + class srifle_LRR_camo_F: srifle_LRR_F { + displayName = "$STR_ACE_RealisticNames_srifle_LRR_camo_Name"; + }; + + class GM6_base_F; + class srifle_GM6_F: GM6_base_F { + displayName = "$STR_ACE_RealisticNames_srifle_GM6_Name"; + }; + class srifle_GM6_camo_F: srifle_GM6_F { + displayName = "$STR_ACE_RealisticNames_srifle_GM6_camo_Name"; + }; + + class DMR_01_base_F; + class srifle_DMR_01_F: DMR_01_base_F { + displayName = "$STR_ACE_RealisticNames_srifle_DMR_01_Name"; + }; + + // launchers + class Launcher_Base_F; + class launch_RPG32_F: Launcher_Base_F { + displayName = "$STR_ACE_RealisticNames_launch_RPG32_Name"; + }; + + class launch_Titan_base: Launcher_Base_F { + displayName = "$STR_ACE_RealisticNames_launch_Titan_Name"; + }; + class launch_Titan_short_base: launch_Titan_base { + displayName = "$STR_ACE_RealisticNames_launch_Titan_short_Name"; + }; + + class launch_NLAW_F: Launcher_Base_F { + displayName = "$STR_ACE_RealisticNames_launch_NLAW_Name"; + }; + + // vehicle weapons + + // gatlings + class CannonCore; + class gatling_20mm: CannonCore { + //displayName = ""; + class manual: CannonCore { + //displayName = ""; + }; + }; + class Twin_Cannon_20mm: gatling_20mm { + displayName = "Plamen PL-20"; + class manual: manual { + displayName = "Plamen PL-20"; + }; + }; + + class gatling_30mm: CannonCore { // This is a fictional veresion of the GSh-6-30, with 3 barrels + displayName = "GSh-3-30"; + class LowROF: Mode_FullAuto { + displayName = "GSh-3-30"; + }; + }; + + class Gatling_30mm_Plane_CAS_01_F: CannonCore { + displayName = "GAU-8"; + class LowROF: Mode_FullAuto { + displayName = "GAU-8"; + }; + }; + + class Cannon_30mm_Plane_CAS_02_F: CannonCore { + displayName = "GSh-301"; + class LowROF: Mode_FullAuto { + displayName = "GSh-301"; + }; + }; + + // missiles + class RocketPods; + class Missile_AA_04_Plane_CAS_01_F: RocketPods { + displayName = "AIM-9 Sidewinder"; + }; + class Missile_AA_03_Plane_CAS_02_F: Missile_AA_04_Plane_CAS_01_F { + displayName = "Wympel R-73"; + }; + + class MissileLauncher; + class Missile_AGM_02_Plane_CAS_01_F: MissileLauncher { + displayName = "AGM-65 Maverick"; + }; + class Missile_AGM_01_Plane_CAS_02_F: Missile_AGM_02_Plane_CAS_01_F { + displayName = "Kh-25MTP"; + }; + + // rockets + class Rocket_04_HE_Plane_CAS_01_F: RocketPods { + displayName = "Hydra 70"; + class Burst: RocketPods { + displayName = "Hydra 70"; + }; + }; + class Rocket_04_AP_Plane_CAS_01_F: Rocket_04_HE_Plane_CAS_01_F { + displayName = "Hydra 70"; + }; + + class Rocket_03_HE_Plane_CAS_02_F: Rocket_04_HE_Plane_CAS_01_F { + displayName = "S-8"; + class Burst: Burst { + displayName = "S-8"; + }; + }; + class Rocket_03_AP_Plane_CAS_02_F: Rocket_04_AP_Plane_CAS_01_F { + displayName = "S-8"; + class Burst: Burst { + displayName = "S-8"; + }; + }; + + class rockets_Skyfire: RocketPods { + displayName = "Skyfire-70"; + class Burst: RocketPods { + displayName = "Skyfire-70"; + }; + }; + + // more missiles + class missiles_DAR: RocketPods { + displayName = "Hydra 70"; + class Burst: RocketPods { + displayName = "Hydra 70"; + }; + }; + + class missiles_DAGR: RocketPods { + displayName = "DAGR"; + class Burst: RocketPods { + displayName = "DAGR"; + }; + }; + + class missiles_ASRAAM: MissileLauncher { + displayName = "AIM-132 ASRAAM"; + }; + + class missiles_Zephyr: MissileLauncher { + displayName = "AIM-120A AMRAAM"; + }; + + class missiles_SCALPEL: RocketPods { // according to zGuba, this is what it's based on + displayName = "9K121 Vikhr"; + }; + + // bomb + class Bomb_04_Plane_CAS_01_F: RocketPods { + //displayName = ""; + }; + class Bomb_03_Plane_CAS_02_F: Bomb_04_Plane_CAS_01_F { + displayName = "FAB-250M-54"; + }; + + // machine guns + class MGunCore; + class M134_minigun: MGunCore { + displayName = "2x M134 Minigun"; + }; + + class LMG_RCWS; + class MGun; + + class LMG_Minigun: LMG_RCWS { + displayName = "M134 Minigun"; + class manual: MGun { + displayName = "M134 Minigun"; + }; + }; + + class HMG_127: LMG_RCWS { + displayName = "M2"; + class manual: MGun { + displayName = "M2"; + }; + }; + + class HMG_01: HMG_127 { + displayName = "XM312"; + }; + class HMG_M2: HMG_01 { + displayName = "M2"; + }; + + class HMG_NSVT: HMG_127 { + displayName = "NSVT"; + class manual: manual { + displayName = "NSVT"; + }; + }; + + // grenade launchers + class GMG_F; + class GMG_20mm: GMG_F { + displayName = "XM307"; + class manual: GMG_F { + displayName = "XM307"; + }; + }; + + class GMG_40mm: GMG_F { + displayName = "Mk 19"; + class manual: GMG_F { + displayName = "Mk 19"; + }; + }; + + // autocannons + class autocannon_35mm: CannonCore { + displayName = "GDF-001"; + class manual: CannonCore { + displayName = "GDF-001"; + }; + }; + + // aa missiles + class missiles_titan: MissileLauncher { + displayName = "Mini-Spike"; + }; + + // mortar + class mortar_155mm_AMOS: CannonCore { + displayName = "L/52"; + }; + + // artillery rockets + class rockets_230mm_GAT: RocketPods { + displayName = "M269"; + }; + + // tank guns + class cannon_120mm: CannonCore { + class player; + displayName = "MG251"; + }; + + class cannon_120mm_long: cannon_120mm { + displayName = "L/55"; + class player: player {}; + }; + + class cannon_105mm: cannon_120mm { + displayName = "M68"; + class player: player { + displayName = "M68"; + }; + }; + + class cannon_125mm: cannon_120mm { + displayName = "2A46"; + }; + + // coax machine guns + class LMG_coax: LMG_RCWS { + displayName = "PKT"; + }; + + class ACE_LMG_coax_MBT_01: LMG_coax { + displayName = "MAG 58"; + }; + + class ACE_LMG_coax_APC_Tracked_03: LMG_coax { + displayName = "L94A1"; + }; + + // more autocannons + class autocannon_Base_F; + class autocannon_40mm_CTWS: autocannon_Base_F { + displayName = "Mk44 Bushmaster II"; + class AP: autocannon_Base_F { + displayName = "Mk44 Bushmaster II"; + }; + + class HE: autocannon_Base_F { + displayName = "Mk44 Bushmaster II"; + }; + }; + + class autocannon_30mm_CTWS: autocannon_Base_F { + displayName = "Mk44 Bushmaster II"; + class AP: autocannon_Base_F { + displayName = "Mk44 Bushmaster II"; + }; + + class HE: autocannon_Base_F { + displayName = "Mk44 Bushmaster II"; + }; + }; + + class autocannon_30mm: autocannon_30mm_CTWS { + displayName = "L21A1 RARDEN"; + class AP: AP { + displayName = "L21A1 RARDEN"; + }; + + class HE: HE { + displayName = "L21A1 RARDEN"; + }; + }; +}; diff --git a/addons/realisticnames/config.cpp b/addons/realisticnames/config.cpp index e7a7984721..6a8ea59290 100644 --- a/addons/realisticnames/config.cpp +++ b/addons/realisticnames/config.cpp @@ -12,1439 +12,6 @@ class CfgPatches { }; }; -// VEHICLES -class CfgVehicles { - // static weapons - class StaticMGWeapon; - class HMG_01_base_F: StaticMGWeapon { - displayName = "$STR_ACE_RealisticNames_HMG_01_Name"; - }; - class HMG_01_A_base_F: HMG_01_base_F { - displayName = "$STR_ACE_RealisticNames_HMG_01_A_Name"; - }; - class HMG_01_high_base_F: HMG_01_base_F { - displayName = "$STR_ACE_RealisticNames_HMG_01_high_Name"; - }; - - class AT_01_base_F; - class B_static_AT_F: AT_01_base_F { - displayName = "$STR_ACE_RealisticNames_static_AT_Name"; - }; - class O_static_AT_F: AT_01_base_F { - displayName = "$STR_ACE_RealisticNames_static_AT_Name"; - }; - class I_static_AT_F: AT_01_base_F { - displayName = "$STR_ACE_RealisticNames_static_AT_Name"; - }; - - class AA_01_base_F; - class B_static_AA_F: AA_01_base_F { - displayName = "$STR_ACE_RealisticNames_static_AA_Name"; - }; - class O_static_AA_F: AA_01_base_F { - displayName = "$STR_ACE_RealisticNames_static_AA_Name"; - }; - class I_static_AA_F: AA_01_base_F { - displayName = "$STR_ACE_RealisticNames_static_AA_Name"; - }; - - class GMG_TriPod; - class GMG_01_base_F: GMG_TriPod { - displayName = "$STR_ACE_RealisticNames_GMG_01_Name"; - }; - class GMG_01_A_base_F: GMG_01_base_F { - displayName = "$STR_ACE_RealisticNames_GMG_01_A_Name"; - }; - class GMG_01_high_base_F: GMG_01_base_F { - displayName = "$STR_ACE_RealisticNames_GMG_01_high_Name"; - }; - - // M-ATV - class MRAP_01_base_F; - class B_MRAP_01_F: MRAP_01_base_F { - displayName = "$STR_ACE_RealisticNames_MRAP_01_Name"; - }; - - class MRAP_01_gmg_base_F: MRAP_01_base_F {}; - class B_MRAP_01_gmg_F: MRAP_01_gmg_base_F { - displayName = "$STR_ACE_RealisticNames_MRAP_01_gmg_Name"; - }; - - class MRAP_01_hmg_base_F: MRAP_01_gmg_base_F {}; - class B_MRAP_01_hmg_F: MRAP_01_hmg_base_F { - displayName = "$STR_ACE_RealisticNames_MRAP_01_hmg_Name"; - }; - - // punisher - class MRAP_02_base_F; - class O_MRAP_02_F: MRAP_02_base_F { - displayName = "$STR_ACE_RealisticNames_MRAP_02_Name"; - }; - - class MRAP_02_hmg_base_F: MRAP_02_base_F {}; - class O_MRAP_02_hmg_F: MRAP_02_hmg_base_F { - displayName = "$STR_ACE_RealisticNames_MRAP_02_hmg_Name"; - }; - - class MRAP_02_gmg_base_F: MRAP_02_hmg_base_F {}; - class O_MRAP_02_gmg_F: MRAP_02_gmg_base_F { - displayName = "$STR_ACE_RealisticNames_MRAP_02_gmg_Name"; - }; - - // strider - class MRAP_03_base_F; - class I_MRAP_03_F: MRAP_03_base_F { - displayName = "$STR_ACE_RealisticNames_MRAP_03_Name"; - }; - - class MRAP_03_hmg_base_F: MRAP_03_base_F {}; - class I_MRAP_03_hmg_F: MRAP_03_hmg_base_F { - displayName = "$STR_ACE_RealisticNames_MRAP_03_hmg_Name"; - }; - - class MRAP_03_gmg_base_F: MRAP_03_hmg_base_F {}; - class I_MRAP_03_gmg_F: MRAP_03_gmg_base_F { - displayName = "$STR_ACE_RealisticNames_MRAP_03_gmg_Name"; - }; - - // merkava derivates - class MBT_01_base_F; - class B_MBT_01_base_F: MBT_01_base_F {}; - - class B_MBT_01_cannon_F: B_MBT_01_base_F { - displayName = "$STR_ACE_RealisticNames_MBT_01_cannon_Name"; - }; - class B_MBT_01_TUSK_F: B_MBT_01_cannon_F { - displayName = "$STR_ACE_RealisticNames_MBT_01_TUSK_Name"; - }; - - class MBT_01_arty_base_F: MBT_01_base_F {}; - class B_MBT_01_arty_base_F: MBT_01_arty_base_F {}; - - class B_MBT_01_arty_F: B_MBT_01_arty_base_F { - displayName = "$STR_ACE_RealisticNames_MBT_01_arty_Name"; - }; - - class MBT_01_mlrs_base_F: MBT_01_base_F {}; - class B_MBT_01_mlrs_base_F: MBT_01_mlrs_base_F {}; - - class B_MBT_01_mlrs_F: B_MBT_01_mlrs_base_F { - displayName = "$STR_ACE_RealisticNames_MBT_01_mlrs_Name"; // Fictional name, (probably wrong) hebrew translation of storm. - }; - - // T100 derivates - class MBT_02_base_F; - class O_MBT_02_base_F: MBT_02_base_F {}; - - class O_MBT_02_cannon_F: O_MBT_02_base_F { - displayName = "$STR_ACE_RealisticNames_MBT_02_cannon_Name"; - }; - - class MBT_02_arty_base_F: MBT_02_base_F {}; - class O_MBT_02_arty_base_F: MBT_02_arty_base_F {}; - - class O_MBT_02_arty_F: O_MBT_02_arty_base_F { - displayName = "$STR_ACE_RealisticNames_MBT_02_arty_Name"; - }; - - // leopard sg - class I_MBT_03_base_F; - class I_MBT_03_cannon_F: I_MBT_03_base_F { - displayName = "$STR_ACE_RealisticNames_MBT_03_cannon_Name"; - }; - - // tracked apcs - class B_APC_Tracked_01_base_F; - class B_APC_Tracked_01_rcws_F: B_APC_Tracked_01_base_F { - displayName = "$STR_ACE_RealisticNames_APC_Tracked_01_rcws_Name"; - }; - - class B_APC_Tracked_01_AA_F: B_APC_Tracked_01_base_F { - displayName = "$STR_ACE_RealisticNames_APC_Tracked_01_AA_Name"; // Fictional name, (probably wrong) hebrew translation of cheetah. - }; - - class B_APC_Tracked_01_CRV_F: B_APC_Tracked_01_base_F { - displayName = "$STR_ACE_RealisticNames_APC_Tracked_01_CRV_Name"; - }; - - class O_APC_Tracked_02_base_F; - class O_APC_Tracked_02_cannon_F: O_APC_Tracked_02_base_F { - displayName = "$STR_ACE_RealisticNames_APC_Tracked_02_cannon_Name"; - }; - - class O_APC_Tracked_02_AA_F: O_APC_Tracked_02_base_F { - displayName = "$STR_ACE_RealisticNames_APC_Tracked_02_AA_Name"; - }; - - class I_APC_tracked_03_base_F; - class I_APC_tracked_03_cannon_F: I_APC_tracked_03_base_F { - displayName = "$STR_ACE_RealisticNames_APC_tracked_03_cannon_Name"; - }; - - // wheeled apcs - class B_APC_Wheeled_01_base_F; - class B_APC_Wheeled_01_cannon_F: B_APC_Wheeled_01_base_F { - displayName = "$STR_ACE_RealisticNames_APC_Wheeled_cannon_Name"; - }; - - class O_APC_Wheeled_02_base_F; - class O_APC_Wheeled_02_rcws_F: O_APC_Wheeled_02_base_F { - displayName = "$STR_ACE_RealisticNames_APC_Wheeled_02_rcws_Name"; - }; - - class I_APC_Wheeled_03_base_F; - class I_APC_Wheeled_03_cannon_F: I_APC_Wheeled_03_base_F { - displayName = "$STR_ACE_RealisticNames_APC_Wheeled_03_cannon_Name"; - }; - - // trucks - class Truck_01_base_F; - class B_Truck_01_transport_F: Truck_01_base_F { - displayName = "$STR_ACE_RealisticNames_Truck_01_transport_Name"; - }; - class B_Truck_01_covered_F: B_Truck_01_transport_F { - displayName = "$STR_ACE_RealisticNames_Truck_01_covered_Name"; - }; - class B_Truck_01_mover_F: B_Truck_01_transport_F { - displayName = "$STR_ACE_RealisticNames_Truck_01_mover_Name"; - }; - class B_Truck_01_box_F: B_Truck_01_mover_F { - displayName = "$STR_ACE_RealisticNames_Truck_01_box_Name"; - }; - class B_Truck_01_medical_F: B_Truck_01_transport_F { - displayName = "$STR_ACE_RealisticNames_Truck_01_medical_Name"; - }; - class B_Truck_01_ammo_F: B_Truck_01_mover_F { - displayName = "$STR_ACE_RealisticNames_Truck_01_ammo_Name"; - }; - class B_Truck_01_fuel_F: B_Truck_01_mover_F { - displayName = "$STR_ACE_RealisticNames_Truck_01_fuel_Name"; - }; - class B_Truck_01_Repair_F: B_Truck_01_mover_F { - displayName = "$STR_ACE_RealisticNames_Truck_01_Repair_Name"; - }; - class Truck_02_transport_base_F; - class O_Truck_02_transport_F: Truck_02_transport_base_F { - displayName = "$STR_ACE_RealisticNames_Truck_02_transport_Name"; - }; - class Truck_02_base_F; - class O_Truck_02_covered_F: Truck_02_base_F { - displayName = "$STR_ACE_RealisticNames_Truck_02_covered_Name"; - }; - class Truck_02_Ammo_base_F; - class O_Truck_02_ammo_F: Truck_02_Ammo_base_F { - displayName = "$STR_ACE_RealisticNames_Truck_02_ammo_Name"; - }; - class Truck_02_fuel_base_F; - class O_Truck_02_fuel_F: Truck_02_fuel_base_F { - displayName = "$STR_ACE_RealisticNames_Truck_02_fuel_Name"; - }; - class Truck_02_box_base_F; - class O_Truck_02_box_F: Truck_02_box_base_F { - displayName = "$STR_ACE_RealisticNames_Truck_02_box_Name"; - }; - class Truck_02_medical_base_F; - class O_Truck_02_medical_F: Truck_02_medical_base_F { - displayName = "$STR_ACE_RealisticNames_Truck_02_medical_Name"; - }; - class I_Truck_02_transport_F: Truck_02_transport_base_F { - displayName = "$STR_ACE_RealisticNames_Truck_02_transport_Name"; - }; - class I_Truck_02_covered_F: Truck_02_base_F { - displayName = "$STR_ACE_RealisticNames_Truck_02_covered_Name"; - }; - class I_Truck_02_ammo_F: Truck_02_Ammo_base_F { - displayName = "$STR_ACE_RealisticNames_Truck_02_ammo_Name"; - }; - class I_Truck_02_fuel_F: Truck_02_fuel_base_F { - displayName = "$STR_ACE_RealisticNames_Truck_02_fuel_Name"; - }; - class I_Truck_02_box_F: Truck_02_box_base_F { - displayName = "$STR_ACE_RealisticNames_Truck_02_box_Name"; - }; - class I_Truck_02_medical_F: Truck_02_medical_base_F { - displayName = "$STR_ACE_RealisticNames_Truck_02_medical_Name"; - }; - - class Truck_03_base_F; - class O_Truck_03_transport_F: Truck_03_base_F { - displayName = "$STR_ACE_RealisticNames_Truck_03_transport_Name"; - }; - class O_Truck_03_covered_F: Truck_03_base_F { - displayName = "$STR_ACE_RealisticNames_Truck_03_covered_Name"; - }; - class O_Truck_03_device_F: Truck_03_base_F { - displayName = "$STR_ACE_RealisticNames_Truck_03_device_Name"; - }; - class O_Truck_03_ammo_F: Truck_03_base_F { - displayName = "$STR_ACE_RealisticNames_Truck_03_ammo_Name"; - }; - class O_Truck_03_fuel_F: Truck_03_base_F { - displayName = "$STR_ACE_RealisticNames_Truck_03_fuel_Name"; - }; - class O_Truck_03_repair_F: Truck_03_base_F { - displayName = "$STR_ACE_RealisticNames_Truck_03_repair_Name"; - }; - class O_Truck_03_medical_F: Truck_03_base_F { - displayName = "$STR_ACE_RealisticNames_Truck_03_medical_Name"; - }; - - // helicopters - class Heli_Attack_01_base_F; - class B_Heli_Attack_01_F: Heli_Attack_01_base_F { - displayName = "$STR_ACE_RealisticNames_Heli_Attack_01_Name"; - }; - - class Heli_Light_01_unarmed_base_F; - class B_Heli_Light_01_F: Heli_Light_01_unarmed_base_F { - displayName = "$STR_ACE_RealisticNames_Heli_Light_01_Name"; - }; - - class Heli_Light_01_armed_base_F; - class B_Heli_Light_01_armed_F: Heli_Light_01_armed_base_F { - displayName = "$STR_ACE_RealisticNames_Heli_Light_01_armed_Name"; - }; - - class Heli_Light_01_civil_base_F: Heli_Light_01_unarmed_base_F { - displayName = "$STR_ACE_RealisticNames_Heli_Light_01_civil_Name"; - }; - - class Heli_Transport_03_base_F; - class B_Heli_Transport_03_F: Heli_Transport_03_base_F { - displayName = "$STR_ACE_RealisticNames_Heli_Transport_03_Name"; - }; - class Heli_Transport_03_unarmed_base_F; - class B_Heli_Transport_03_unarmed_F: Heli_Transport_03_unarmed_base_F { - displayName = "$STR_ACE_RealisticNames_Heli_Transport_03_unarmed_Name"; - }; - - class Heli_Light_02_base_F; - class O_Heli_Light_02_F: Heli_Light_02_base_F { - displayName = "$STR_ACE_RealisticNames_Heli_Light_02_Name"; - }; - class Heli_Light_02_unarmed_base_F; - class O_Heli_Light_02_unarmed_F: Heli_Light_02_unarmed_base_F { - displayName = "$STR_ACE_RealisticNames_Heli_Light_02_unarmed_Name"; - }; - - class Heli_light_03_base_F; - class I_Heli_light_03_F: Heli_light_03_base_F { - displayName = "$STR_ACE_RealisticNames_Heli_light_03_Name"; - }; - - class Heli_light_03_unarmed_base_F; - class I_Heli_light_03_unarmed_F: Heli_light_03_unarmed_base_F { - displayName = "$STR_ACE_RealisticNames_Heli_light_03_unarmed_Name"; - }; - - class Heli_Transport_02_base_F; - class I_Heli_Transport_02_F: Heli_Transport_02_base_F { - displayName = "$STR_ACE_RealisticNames_Heli_Transport_02_Name"; - }; - - // planes - class Plane_CAS_01_base_F; - class B_Plane_CAS_01_F: Plane_CAS_01_base_F { - displayName = "$STR_ACE_RealisticNames_Plane_CAS_01_Name"; - }; - - class Plane_CAS_02_base_F; - class O_Plane_CAS_02_F: Plane_CAS_02_base_F { - displayName = "$STR_ACE_RealisticNames_Plane_CAS_02_Name"; - }; - - class Plane_Fighter_03_base_F; - class I_Plane_Fighter_03_CAS_F: Plane_Fighter_03_base_F { - displayName = "$STR_ACE_RealisticNames_Plane_Fighter_03_CAS_Name"; - }; - - class I_Plane_Fighter_03_AA_F: I_Plane_Fighter_03_CAS_F { - displayName = "$STR_ACE_RealisticNames_Plane_Fighter_03_AA_Name"; - }; - - // uavs - class UAV_02_base_F; - class B_UAV_02_F: UAV_02_base_F { - displayName = "$STR_ACE_RealisticNames_UAV_02_Name"; - }; - class O_UAV_02_F: UAV_02_base_F { - displayName = "$STR_ACE_RealisticNames_UAV_02_Name"; - }; - class I_UAV_02_F: UAV_02_base_F { - displayName = "$STR_ACE_RealisticNames_UAV_02_Name"; - }; - - class UAV_02_CAS_base_F: UAV_02_base_F {}; - class B_UAV_02_CAS_F: UAV_02_CAS_base_F { - displayName = "$STR_ACE_RealisticNames_UAV_02_CAS_Name"; - }; - class O_UAV_02_CAS_F: UAV_02_CAS_base_F { - displayName = "$STR_ACE_RealisticNames_UAV_02_CAS_Name"; - }; - class I_UAV_02_CAS_F: UAV_02_CAS_base_F { - displayName = "$STR_ACE_RealisticNames_UAV_02_CAS_Name"; - }; - - // pistols - class Pistol_Base_F; - class Weapon_hgun_P07_F: Pistol_Base_F { - displayName = "$STR_ACE_RealisticNames_hgun_P07_Name"; - }; - - class Weapon_hgun_Rook40_F: Pistol_Base_F { - displayName = "$STR_ACE_RealisticNames_hgun_Rook40_Name"; - }; - - class Weapon_hgun_ACPC2_F: Pistol_Base_F { - displayName = "$STR_ACE_RealisticNames_hgun_ACPC2_Name"; - }; - - class Weapon_hgun_Pistol_heavy_01_F: Pistol_Base_F { - displayName = "$STR_ACE_RealisticNames_hgun_Pistol_heavy_01_Name"; - }; - - class Weapon_hgun_Pistol_heavy_02_F: Pistol_Base_F { - displayName = "$STR_ACE_RealisticNames_hgun_Pistol_heavy_02_Name"; - }; - - class Weapon_hgun_Pistol_Signal_F: Pistol_Base_F { - displayName = "$STR_ACE_RealisticNames_hgun_Pistol_Signal_Name"; - }; - - // rocket launchers - class Launcher_Base_F; - class Weapon_launch_NLAW_F: Launcher_Base_F { - displayName = "$STR_ACE_RealisticNames_launch_NLAW_Name"; - }; - - class Weapon_launch_RPG32_F: Launcher_Base_F { - displayName = "$STR_ACE_RealisticNames_launch_RPG32_Name"; - }; - - class Weapon_launch_Titan_F: Launcher_Base_F { - displayName = "$STR_ACE_RealisticNames_launch_Titan_Name"; - }; - - class Weapon_launch_Titan_short_F: Launcher_Base_F { - displayName = "$STR_ACE_RealisticNames_launch_Titan_short_Name"; - }; - - class Weapon_launch_B_Titan_F: Launcher_Base_F { - displayName = "$STR_ACE_RealisticNames_launch_Titan_Name"; - }; - //class Weapon_launch_I_Titan_F: Weapon_launch_B_Titan_F {}; - //class Weapon_launch_O_Titan_F: Weapon_launch_B_Titan_F {}; - - class Weapon_launch_launch_B_Titan_short_F: Launcher_Base_F { - displayName = "$STR_ACE_RealisticNames_launch_Titan_short_Name"; - }; - //class Weapon_launch_I_Titan_short_F: Weapon_launch_launch_B_Titan_short_F {}; - //class Weapon_launch_O_Titan_short_F: Weapon_launch_launch_B_Titan_short_F {}; - - // rifles - - // MX - class Weapon_Base_F; - class Weapon_arifle_MX_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_MX_Name"; - }; - - class Weapon_arifle_MXC_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_MXC_Name"; - }; - - class Weapon_arifle_MX_GL_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_MX_GL_Name"; - }; - - class Weapon_arifle_MX_SW_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_MX_SW_Name"; - }; - - class Weapon_arifle_MXM_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_MXM_Name"; - }; - - // Katiba - class Weapon_arifle_Katiba_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_Katiba_Name"; - }; - - class Weapon_arifle_Katiba_C_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_Katiba_C_Name"; - }; - - class Weapon_arifle_Katiba_GL_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_Katiba_GL_Name"; - }; - - // F2000 - class Weapon_arifle_Mk20_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_Mk20_Name"; - }; - - class Weapon_arifle_Mk20_plain_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_Mk20_plain_Name"; - }; - - class Weapon_arifle_Mk20C_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_Mk20C_Name"; - }; - - class Weapon_arifle_Mk20C_plain_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_Mk20C_plain_Name"; - }; - - class Weapon_arifle_Mk20_GL_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_Mk20_GL_Name"; - }; - - class Weapon_arifle_Mk20_GL_plain_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_Mk20_GL_plain_Name"; - }; - - // TAR-21 - class Weapon_arifle_TRG21_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_TRG21_Name"; - }; - - class Weapon_arifle_TRG20_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_TRG20_Name"; - }; - - class Weapon_arifle_TRG21_GL_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_TRG21_GL_Name"; - }; - - // sub machine guns - class Weapon_SMG_01_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_SMG_01_Name"; - }; - - class Weapon_SMG_02_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_SMG_02_Name"; - }; - - class Weapon_hgun_PDW2000_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_hgun_PDW2000_Name"; - }; - - class Weapon_arifle_SDAR_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_SDAR_Name"; - }; - - // machine guns - class Weapon_LMG_Mk200_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_LMG_Mk200_Name"; - }; - - class Weapon_LMG_Zafir_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_LMG_Zafir_Name"; - }; - - // sniper rifles - class Weapon_srifle_EBR_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_srifle_EBR_Name"; - }; - - class Weapon_srifle_GM6_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_srifle_GM6_Name"; - }; - - class Weapon_srifle_GM6_camo_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_srifle_GM6_camo_Name"; - }; - - class Weapon_srifle_LRR_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_srifle_LRR_Name"; - }; - - class Weapon_srifle_LRR_camo_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_srifle_LRR_camo_Name"; - }; - - class Weapon_srifle_DMR_01_F: Weapon_Base_F { - displayName = "$STR_ACE_RealisticNames_srifle_DMR_01_Name"; - }; -}; - -// WEAPONS -class Mode_FullAuto; - -class CfgWeapons { - // assault rifles - - // MX - class arifle_MX_Base_F; - class arifle_MX_F: arifle_MX_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_MX_Name"; - }; - class arifle_MX_Black_F: arifle_MX_F { - displayName = "$STR_ACE_RealisticNames_arifle_MX_Black_Name"; - }; - - class arifle_MXC_F: arifle_MX_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_MXC_Name"; - }; - class arifle_MXC_Black_F: arifle_MXC_F { - displayName = "$STR_ACE_RealisticNames_arifle_MXC_Black_Name"; - }; - - class arifle_MX_GL_F: arifle_MX_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_MX_GL_Name"; - }; - class arifle_MX_GL_Black_F: arifle_MX_GL_F { - displayName = "$STR_ACE_RealisticNames_arifle_MX_GL_Black_Name"; - }; - - class arifle_MX_SW_F: arifle_MX_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_MX_SW_Name"; - }; - class arifle_MX_SW_Black_F: arifle_MX_SW_F { - displayName = "$STR_ACE_RealisticNames_arifle_MX_SW_Black_Name"; - }; - - class arifle_MXM_F: arifle_MX_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_MXM_Name"; - }; - class arifle_MXM_Black_F: arifle_MXM_F { - displayName = "$STR_ACE_RealisticNames_arifle_MXM_Black_Name"; - }; - - // Katiba - class arifle_katiba_Base_F; - class arifle_Katiba_F: arifle_katiba_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_Katiba_Name"; - }; - class arifle_Katiba_GL_F: arifle_katiba_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_Katiba_GL_Name"; - }; - class arifle_Katiba_C_F: arifle_katiba_Base_F { - displayName = "$STR_ACE_RealisticNames_arifle_Katiba_C_Name"; - }; - - // SDAR - class SDAR_base_F; - class arifle_SDAR_F: SDAR_base_F { - displayName = "$STR_ACE_RealisticNames_arifle_SDAR_Name"; - }; - - // TAR-21 - class Tavor_base_F; - class arifle_TRG21_F: Tavor_base_F { - displayName = "$STR_ACE_RealisticNames_arifle_TRG21_Name"; - }; - class arifle_TRG21_GL_F: arifle_TRG21_F { - displayName = "$STR_ACE_RealisticNames_arifle_TRG21_GL_Name"; - }; - class arifle_TRG20_F: Tavor_base_F { - displayName = "$STR_ACE_RealisticNames_arifle_TRG20_Name"; - }; - - // F2000 - class mk20_base_F; - class arifle_Mk20_F: mk20_base_F { - displayName = "$STR_ACE_RealisticNames_arifle_Mk20_Name"; - }; - class arifle_Mk20_plain_F: arifle_Mk20_F { - displayName = "$STR_ACE_RealisticNames_arifle_Mk20_plain_Name"; - }; - - class arifle_Mk20C_F: mk20_base_F { - displayName = "$STR_ACE_RealisticNames_arifle_Mk20C_Name"; - }; - class arifle_Mk20C_plain_F: arifle_Mk20C_F { - displayName = "$STR_ACE_RealisticNames_arifle_Mk20C_plain_Name"; - }; - - class arifle_Mk20_GL_F: mk20_base_F { - displayName = "$STR_ACE_RealisticNames_arifle_Mk20_GL_Name"; - }; - class arifle_Mk20_GL_plain_F: arifle_Mk20_GL_F { - displayName = "$STR_ACE_RealisticNames_arifle_Mk20_GL_plain_Name"; - }; - - // Vector - class SMG_01_Base; - class SMG_01_F: SMG_01_Base { - displayName = "$STR_ACE_RealisticNames_SMG_01_Name"; - }; - - // Scorpion - class SMG_02_base_F; - class SMG_02_F: SMG_02_base_F { - displayName = "$STR_ACE_RealisticNames_SMG_02_Name"; - }; - - // PDW 2000 - class pdw2000_base_F; - class hgun_pdw2000_F: pdw2000_base_F { - displayName = "$STR_ACE_RealisticNames_hgun_PDW2000_Name"; - }; - - // pistols - class Pistol_Base_F; - class hgun_P07_F: Pistol_Base_F { - displayName = "$STR_ACE_RealisticNames_hgun_P07_Name"; - }; - - class hgun_Rook40_F: Pistol_Base_F { - displayName = "$STR_ACE_RealisticNames_hgun_Rook40_Name"; - }; - - class hgun_ACPC2_F: Pistol_Base_F { - displayName = "$STR_ACE_RealisticNames_hgun_ACPC2_Name"; - }; - - class hgun_Pistol_heavy_01_F: Pistol_Base_F { - displayName = "$STR_ACE_RealisticNames_hgun_Pistol_heavy_01_Name"; - }; - - class hgun_Pistol_heavy_02_F: Pistol_Base_F { - displayName = "$STR_ACE_RealisticNames_hgun_Pistol_heavy_02_Name"; - }; - - class hgun_Pistol_Signal_F: Pistol_Base_F { - displayName = "$STR_ACE_RealisticNames_hgun_Pistol_Signal_Name"; - }; - - // machine guns - class Rifle_Long_Base_F; - class LMG_Mk200_F: Rifle_Long_Base_F { - displayName = "$STR_ACE_RealisticNames_LMG_Mk200_Name"; - }; - - class LMG_Zafir_F: Rifle_Long_Base_F { - displayName = "$STR_ACE_RealisticNames_LMG_Zafir_Name"; - }; - - // sniper rifles - class EBR_base_F; - class srifle_EBR_F: EBR_base_F { - displayName = "$STR_ACE_RealisticNames_srifle_EBR_Name"; - }; - - class LRR_base_F; - class srifle_LRR_F: LRR_base_F { - displayName = "$STR_ACE_RealisticNames_srifle_LRR_Name"; - }; - class srifle_LRR_camo_F: srifle_LRR_F { - displayName = "$STR_ACE_RealisticNames_srifle_LRR_camo_Name"; - }; - - class GM6_base_F; - class srifle_GM6_F: GM6_base_F { - displayName = "$STR_ACE_RealisticNames_srifle_GM6_Name"; - }; - class srifle_GM6_camo_F: srifle_GM6_F { - displayName = "$STR_ACE_RealisticNames_srifle_GM6_camo_Name"; - }; - - class DMR_01_base_F; - class srifle_DMR_01_F: DMR_01_base_F { - displayName = "$STR_ACE_RealisticNames_srifle_DMR_01_Name"; - }; - - // launchers - class Launcher_Base_F; - class launch_RPG32_F: Launcher_Base_F { - displayName = "$STR_ACE_RealisticNames_launch_RPG32_Name"; - }; - - class launch_Titan_base: Launcher_Base_F { - displayName = "$STR_ACE_RealisticNames_launch_Titan_Name"; - }; - class launch_Titan_short_base: launch_Titan_base { - displayName = "$STR_ACE_RealisticNames_launch_Titan_short_Name"; - }; - - class launch_NLAW_F: Launcher_Base_F { - displayName = "$STR_ACE_RealisticNames_launch_NLAW_Name"; - }; - - // vehicle weapons - - // gatlings - class CannonCore; - class gatling_20mm: CannonCore { - //displayName = ""; - class manual: CannonCore { - //displayName = ""; - }; - }; - class Twin_Cannon_20mm: gatling_20mm { - displayName = "Plamen PL-20"; - class manual: manual { - displayName = "Plamen PL-20"; - }; - }; - - class gatling_30mm: CannonCore { // This is a fictional veresion of the GSh-6-30, with 3 barrels - displayName = "GSh-3-30"; - class LowROF: Mode_FullAuto { - displayName = "GSh-3-30"; - }; - }; - - class Gatling_30mm_Plane_CAS_01_F: CannonCore { - displayName = "GAU-8"; - class LowROF: Mode_FullAuto { - displayName = "GAU-8"; - }; - }; - - class Cannon_30mm_Plane_CAS_02_F: CannonCore { - displayName = "GSh-301"; - class LowROF: Mode_FullAuto { - displayName = "GSh-301"; - }; - }; - - // missiles - class RocketPods; - class Missile_AA_04_Plane_CAS_01_F: RocketPods { - displayName = "AIM-9 Sidewinder"; - }; - class Missile_AA_03_Plane_CAS_02_F: Missile_AA_04_Plane_CAS_01_F { - displayName = "Wympel R-73"; - }; - - class MissileLauncher; - class Missile_AGM_02_Plane_CAS_01_F: MissileLauncher { - displayName = "AGM-65 Maverick"; - }; - class Missile_AGM_01_Plane_CAS_02_F: Missile_AGM_02_Plane_CAS_01_F { - displayName = "Kh-25MTP"; - }; - - // rockets - class Rocket_04_HE_Plane_CAS_01_F: RocketPods { - displayName = "Hydra 70"; - class Burst: RocketPods { - displayName = "Hydra 70"; - }; - }; - class Rocket_04_AP_Plane_CAS_01_F: Rocket_04_HE_Plane_CAS_01_F { - displayName = "Hydra 70"; - }; - - class Rocket_03_HE_Plane_CAS_02_F: Rocket_04_HE_Plane_CAS_01_F { - displayName = "S-8"; - class Burst: Burst { - displayName = "S-8"; - }; - }; - class Rocket_03_AP_Plane_CAS_02_F: Rocket_04_AP_Plane_CAS_01_F { - displayName = "S-8"; - class Burst: Burst { - displayName = "S-8"; - }; - }; - - class rockets_Skyfire: RocketPods { - displayName = "Skyfire-70"; - class Burst: RocketPods { - displayName = "Skyfire-70"; - }; - }; - - // more missiles - class missiles_DAR: RocketPods { - displayName = "Hydra 70"; - class Burst: RocketPods { - displayName = "Hydra 70"; - }; - }; - - class missiles_DAGR: RocketPods { - displayName = "DAGR"; - class Burst: RocketPods { - displayName = "DAGR"; - }; - }; - - class missiles_ASRAAM: MissileLauncher { - displayName = "AIM-132 ASRAAM"; - }; - - class missiles_Zephyr: MissileLauncher { - displayName = "AIM-120A AMRAAM"; - }; - - class missiles_SCALPEL: RocketPods { // according to zGuba, this is what it's based on - displayName = "9K121 Vikhr"; - }; - - // bomb - class Bomb_04_Plane_CAS_01_F: RocketPods { - //displayName = ""; - }; - class Bomb_03_Plane_CAS_02_F: Bomb_04_Plane_CAS_01_F { - displayName = "FAB-250M-54"; - }; - - // machine guns - class MGunCore; - class M134_minigun: MGunCore { - displayName = "2x M134 Minigun"; - }; - - class LMG_RCWS; - class MGun; - - class LMG_Minigun: LMG_RCWS { - displayName = "M134 Minigun"; - class manual: MGun { - displayName = "M134 Minigun"; - }; - }; - - class HMG_127: LMG_RCWS { - displayName = "M2"; - class manual: MGun { - displayName = "M2"; - }; - }; - - class HMG_01: HMG_127 { - displayName = "XM312"; - }; - class HMG_M2: HMG_01 { - displayName = "M2"; - }; - - class HMG_NSVT: HMG_127 { - displayName = "NSVT"; - class manual: manual { - displayName = "NSVT"; - }; - }; - - // grenade launchers - class GMG_F; - class GMG_20mm: GMG_F { - displayName = "XM307"; - class manual: GMG_F { - displayName = "XM307"; - }; - }; - - class GMG_40mm: GMG_F { - displayName = "Mk 19"; - class manual: GMG_F { - displayName = "Mk 19"; - }; - }; - - // autocannons - class autocannon_35mm: CannonCore { - displayName = "GDF-001"; - class manual: CannonCore { - displayName = "GDF-001"; - }; - }; - - // aa missiles - class missiles_titan: MissileLauncher { - displayName = "Mini-Spike"; - }; - - // mortar - class mortar_155mm_AMOS: CannonCore { - displayName = "L/52"; - }; - - // artillery rockets - class rockets_230mm_GAT: RocketPods { - displayName = "M269"; - }; - - // tank guns - class cannon_120mm: CannonCore { - class player; - displayName = "MG251"; - }; - - class cannon_120mm_long: cannon_120mm { - displayName = "L/55"; - class player: player {}; - }; - - class cannon_105mm: cannon_120mm { - displayName = "M68"; - class player: player { - displayName = "M68"; - }; - }; - - class cannon_125mm: cannon_120mm { - displayName = "2A46"; - }; - - // coax machine guns - class LMG_coax: LMG_RCWS { - displayName = "PKT"; - }; - - class ACE_LMG_coax_MBT_01: LMG_coax { - displayName = "MAG 58"; - }; - - class ACE_LMG_coax_APC_Tracked_03: LMG_coax { - displayName = "L94A1"; - }; - - // more autocannons - class autocannon_Base_F; - class autocannon_40mm_CTWS: autocannon_Base_F { - displayName = "Mk44 Bushmaster II"; - class AP: autocannon_Base_F { - displayName = "Mk44 Bushmaster II"; - }; - - class HE: autocannon_Base_F { - displayName = "Mk44 Bushmaster II"; - }; - }; - - class autocannon_30mm_CTWS: autocannon_Base_F { - displayName = "Mk44 Bushmaster II"; - class AP: autocannon_Base_F { - displayName = "Mk44 Bushmaster II"; - }; - - class HE: autocannon_Base_F { - displayName = "Mk44 Bushmaster II"; - }; - }; - - class autocannon_30mm: autocannon_30mm_CTWS { - displayName = "L21A1 RARDEN"; - class AP: AP { - displayName = "L21A1 RARDEN"; - }; - - class HE: HE { - displayName = "L21A1 RARDEN"; - }; - }; -}; - -class CfgMagazines { - class VehicleMagazine; - class 1000Rnd_Gatling_30mm_Plane_CAS_01_F: VehicleMagazine { - displayNameShort = "30mm HEI"; - }; - - class 7Rnd_Rocket_04_HE_F: VehicleMagazine { - displayNameShort = "70mm HE"; - }; - class 7Rnd_Rocket_04_AP_F: 7Rnd_Rocket_04_HE_F { - displayNameShort = "70mm AP"; - }; - - class 24Rnd_PG_missiles: VehicleMagazine { - displayNameShort = "70mm HE"; - }; - class 12Rnd_PG_missiles: 24Rnd_PG_missiles { - displayNameShort = "70mm HE"; - }; - - class 2000Rnd_65x39_Belt; - class 5000Rnd_762x51_Belt: 2000Rnd_65x39_Belt { - displayNameShort = "7.62mm"; - }; - class 5000Rnd_762x51_Yellow_Belt: 5000Rnd_762x51_Belt { - displayNameShort = "7.62mm"; - }; - - class 500Rnd_127x99_mag: VehicleMagazine { - displayNameShort = "12.7mm"; - }; - class 500Rnd_127x99_mag_Tracer_Green: 500Rnd_127x99_mag { - displayNameShort = "12.7mm"; - }; - class 500Rnd_127x99_mag_Tracer_Red: 500Rnd_127x99_mag { - displayNameShort = "12.7mm"; - }; - class 500Rnd_127x99_mag_Tracer_Yellow: 500Rnd_127x99_mag { - displayNameShort = "12.7mm"; - }; - - class 200Rnd_127x99_mag: 500Rnd_127x99_mag { - displayNameShort = "12.7mm"; - }; - class 200Rnd_127x99_mag_Tracer_Green: 200Rnd_127x99_mag { - displayNameShort = "12.7mm"; - }; - class 200Rnd_127x99_mag_Tracer_Red: 200Rnd_127x99_mag { - displayNameShort = "12.7mm"; - }; - class 200Rnd_127x99_mag_Tracer_Yellow: 200Rnd_127x99_mag { - displayNameShort = "12.7mm"; - }; - - class 100Rnd_127x99_mag: 500Rnd_127x99_mag { - displayNameShort = "12.7mm"; - }; - class 100Rnd_127x99_mag_Tracer_Green: 100Rnd_127x99_mag { - displayNameShort = "12.7mm"; - }; - class 100Rnd_127x99_mag_Tracer_Red: 100Rnd_127x99_mag { - displayNameShort = "12.7mm"; - }; - class 100Rnd_127x99_mag_Tracer_Yellow: 100Rnd_127x99_mag { - displayNameShort = "12.7mm"; - }; - - class 200Rnd_40mm_G_belt: VehicleMagazine { - displayNameShort = "40mm HE"; - }; - - class 24Rnd_missiles: VehicleMagazine { - displayNameShort = "70mm HE"; - }; - - class 300Rnd_20mm_shells: VehicleMagazine { - displayNameShort = "20mm HE"; - }; - - class 14Rnd_80mm_rockets: VehicleMagazine { - displayNameShort = "70mm HE"; - }; - - class 250Rnd_30mm_HE_shells: VehicleMagazine { - displayNameShort = "30mm HE"; - }; - class 250Rnd_30mm_APDS_shells: 250Rnd_30mm_HE_shells { - displayNameShort = "30mm APDS"; - }; - - class 20Rnd_Rocket_03_HE_F: 7Rnd_Rocket_04_HE_F { - displayNameShort = "80mm HE"; - }; - - class 20Rnd_Rocket_03_AP_F: 7Rnd_Rocket_04_AP_F { - displayNameShort = "80mm AP"; - }; - - class 500Rnd_Cannon_30mm_Plane_CAS_02_F: 1000Rnd_Gatling_30mm_Plane_CAS_01_F { - displayNameShort = "30mm HEI-T"; - }; - - class 680Rnd_35mm_AA_shells: VehicleMagazine { - displayNameShort = "35mm HEI"; - }; - class 680Rnd_35mm_AA_shells_Tracer_Red: 680Rnd_35mm_AA_shells { - displayNameShort = "35mm HEI-T"; - }; - class 680Rnd_35mm_AA_shells_Tracer_Green: 680Rnd_35mm_AA_shells { - displayNameShort = "35mm HEI-T"; - }; - class 680Rnd_35mm_AA_shells_Tracer_Yellow: 680Rnd_35mm_AA_shells { - displayNameShort = "35mm HEI-T"; - }; - - class 32Rnd_155mm_Mo_shells: VehicleMagazine { - displayNameShort = "155mm HE"; - }; - class 6Rnd_155mm_Mo_smoke: 32Rnd_155mm_Mo_shells { - displayNameShort = "155mm Smoke"; - }; - class 6Rnd_155mm_Mo_mine: 6Rnd_155mm_Mo_smoke { - displayNameShort = "155mm Mines"; - }; - class 6Rnd_155mm_Mo_AT_mine: 6Rnd_155mm_Mo_smoke { - displayNameShort = "155mm AT Mines"; - }; - class 2Rnd_155mm_Mo_Cluster: 6Rnd_155mm_Mo_smoke { - displayNameShort = "155mm Cluster"; - }; - class 2Rnd_155mm_Mo_guided: 6Rnd_155mm_Mo_smoke { - displayNameShort = "155mm Guided"; - }; - class 2Rnd_155mm_Mo_LG: 6Rnd_155mm_Mo_smoke { - displayNameShort = "155mm Laser Guided"; - }; - - class 12Rnd_230mm_rockets: 14Rnd_80mm_rockets { - displayName = "227mm HE Missile"; - displayNameShort = "227mm HE"; - }; - - class 30Rnd_120mm_HE_shells: VehicleMagazine { - displayNameShort = "120mm HE"; - }; - class 30Rnd_120mm_HE_shells_Tracer_Red: 30Rnd_120mm_HE_shells { - displayNameShort = "120mm HE-T"; - }; - class 30Rnd_120mm_HE_shells_Tracer_Green: 30Rnd_120mm_HE_shells { - displayNameShort = "120mm HE-T"; - }; - class 30Rnd_120mm_HE_shells_Tracer_Yellow: 30Rnd_120mm_HE_shells { - displayNameShort = "120mm HE-T"; - }; - - class 30Rnd_120mm_APFSDS_shells: 30Rnd_120mm_HE_shells { - displayNameShort = "120mm AP"; - }; - class 30Rnd_120mm_APFSDS_shells_Tracer_Red: 30Rnd_120mm_APFSDS_shells { - displayNameShort = "120mm AP-T"; - }; - class 30Rnd_120mm_APFSDS_shells_Tracer_Green: 30Rnd_120mm_APFSDS_shells { - displayNameShort = "120mm AP-T"; - }; - class 30Rnd_120mm_APFSDS_shells_Tracer_Yellow: 30Rnd_120mm_APFSDS_shells { - displayNameShort = "120mm AP-T"; - }; - - class 200Rnd_762x51_Belt: VehicleMagazine { - displayNameShort = "7.62mm"; - }; - class 200Rnd_762x51_Belt_Red: 200Rnd_762x51_Belt {}; - class 200Rnd_762x51_Belt_Green: 200Rnd_762x51_Belt {}; - class 200Rnd_762x51_Belt_Yellow: 200Rnd_762x51_Belt {}; - class 200Rnd_762x51_Belt_T_Red: 200Rnd_762x51_Belt_Red { - displayNameShort = "7.62mm"; - }; - class 200Rnd_762x51_Belt_T_Green: 200Rnd_762x51_Belt_Green { - displayNameShort = "7.62mm"; - }; - class 200Rnd_762x51_Belt_T_Yellow: 200Rnd_762x51_Belt_Yellow { - displayNameShort = "7.62mm"; - }; - - class 2000Rnd_762x51_Belt_Red; - class 2000Rnd_762x51_Belt_T_Red: 2000Rnd_762x51_Belt_Red { - displayNameShort = "7.62mm"; - }; - - class 2000Rnd_762x51_Belt_Green; - class 2000Rnd_762x51_Belt_T_Green: 2000Rnd_762x51_Belt_Green { - displayNameShort = "7.62mm"; - }; - - class 2000Rnd_762x51_Belt_Yellow; - class 2000Rnd_762x51_Belt_T_Yellow: 2000Rnd_762x51_Belt_Yellow { - displayNameShort = "7.62mm"; - }; - - class 1000Rnd_762x51_Belt_Red; - class 1000Rnd_762x51_Belt_T_Red: 1000Rnd_762x51_Belt_Red { - displayNameShort = "7.62mm"; - }; - - class 1000Rnd_762x51_Belt_Green; - class 1000Rnd_762x51_Belt_T_Green: 1000Rnd_762x51_Belt_Green { - displayNameShort = "7.62mm"; - }; - - class 1000Rnd_762x51_Belt_Yellow; - class 1000Rnd_762x51_Belt_T_Yellow: 1000Rnd_762x51_Belt_Yellow { - displayNameShort = "7.62mm"; - }; - - class 16Rnd_120mm_HE_shells; - class 12Rnd_125mm_HE: 16Rnd_120mm_HE_shells { - displayNameShort = "125mm HE"; - }; - - class 16Rnd_120mm_HE_shells_Tracer_Red; - class 12Rnd_125mm_HE_T_Red: 16Rnd_120mm_HE_shells_Tracer_Red { - displayNameShort = "125mm HE-T"; - }; - - class 16Rnd_120mm_HE_shells_Tracer_Green; - class 12Rnd_125mm_HE_T_Green: 16Rnd_120mm_HE_shells_Tracer_Green { - displayNameShort = "125mm HE-T"; - }; - - class 16Rnd_120mm_HE_shells_Tracer_Yellow; - class 12Rnd_125mm_HE_T_Yellow: 16Rnd_120mm_HE_shells_Tracer_Yellow { - displayNameShort = "125mm HE-T"; - }; - - class 12Rnd_125mm_HEAT: 12Rnd_125mm_HE { - displayNameShort = "125mm MP"; - }; - class 12Rnd_125mm_HEAT_T_Red: 12Rnd_125mm_HEAT { - displayNameShort = "125mm MP-T"; - }; - class 12Rnd_125mm_HEAT_T_Green: 12Rnd_125mm_HEAT { - displayNameShort = "125mm MP-T"; - }; - class 12Rnd_125mm_HEAT_T_Yellow: 12Rnd_125mm_HEAT { - displayNameShort = "125mm MP-T"; - }; - - class 32Rnd_120mm_APFSDS_shells; - class 24Rnd_125mm_APFSDS: 32Rnd_120mm_APFSDS_shells { - displayNameShort = "125mm AP"; - }; - - class 32Rnd_120mm_APFSDS_shells_Tracer_Red; - class 24Rnd_125mm_APFSDS_T_Red: 32Rnd_120mm_APFSDS_shells_Tracer_Red { - displayNameShort = "125mm AP-T"; - }; - - class 32Rnd_120mm_APFSDS_shells_Tracer_Green; - class 24Rnd_125mm_APFSDS_T_Green: 32Rnd_120mm_APFSDS_shells_Tracer_Green { - displayNameShort = "125mm AP-T"; - }; - - class 32Rnd_120mm_APFSDS_shells_Tracer_Yellow; - class 24Rnd_125mm_APFSDS_T_Yellow: 32Rnd_120mm_APFSDS_shells_Tracer_Yellow { - displayNameShort = "125mm AP-T"; - }; - - class 20Rnd_105mm_HEAT_MP: 12Rnd_125mm_HEAT { - displayNameShort = "105mm MP"; - }; - class 20Rnd_105mm_HEAT_MP_T_Red: 20Rnd_105mm_HEAT_MP { - displayNameShort = "105mm MP-T"; - }; - class 20Rnd_105mm_HEAT_MP_T_Green: 20Rnd_105mm_HEAT_MP { - displayNameShort = "105mm MP-T"; - }; - class 20Rnd_105mm_HEAT_MP_T_Yellow: 20Rnd_105mm_HEAT_MP { - displayNameShort = "105mm MP-T"; - }; - - class 40Rnd_105mm_APFSDS: 24Rnd_125mm_APFSDS { - displayNameShort = "105mm AP"; - }; - class 40Rnd_105mm_APFSDS_T_Red: 40Rnd_105mm_APFSDS { - displayNameShort = "105mm AP-T"; - }; - class 40Rnd_105mm_APFSDS_T_Green: 40Rnd_105mm_APFSDS { - displayNameShort = "105mm AP-T"; - }; - class 40Rnd_105mm_APFSDS_T_Yellow: 40Rnd_105mm_APFSDS { - displayNameShort = "105mm AP-T"; - }; - - class 60Rnd_40mm_GPR_shells: VehicleMagazine { - displayNameShort = "40mm GPR"; - }; - class 60Rnd_40mm_GPR_Tracer_Red_shells: 60Rnd_40mm_GPR_shells { - displayNameShort = "40mm GPR-T"; - }; - class 60Rnd_40mm_GPR_Tracer_Green_shells: 60Rnd_40mm_GPR_shells { - displayNameShort = "40mm GPR-T"; - }; - class 60Rnd_40mm_GPR_Tracer_Yellow_shells: 60Rnd_40mm_GPR_shells { - displayNameShort = "40mm GPR-T"; - }; - - class 40Rnd_40mm_APFSDS_shells: 60Rnd_40mm_GPR_shells { - displayNameShort = "40mm AP"; - }; - class 40Rnd_40mm_APFSDS_Tracer_Red_shells: 40Rnd_40mm_APFSDS_shells { - displayNameShort = "40mm AP-T"; - }; - class 40Rnd_40mm_APFSDS_Tracer_Green_shells: 40Rnd_40mm_APFSDS_Tracer_Red_shells { - displayNameShort = "40mm AP-T"; - }; - class 40Rnd_40mm_APFSDS_Tracer_Yellow_shells: 40Rnd_40mm_APFSDS_Tracer_Red_shells { - displayNameShort = "40mm AP-T"; - }; - - class 450Rnd_127x108_Ball: VehicleMagazine { - displayNameShort = "12.7mm"; - }; - - class 140Rnd_30mm_MP_shells: 250Rnd_30mm_HE_shells { - displayNameShort = "30mm MP"; - }; - class 140Rnd_30mm_MP_shells_Tracer_Red: 140Rnd_30mm_MP_shells { - displayNameShort = "30mm MP-T"; - }; - class 140Rnd_30mm_MP_shells_Tracer_Green: 140Rnd_30mm_MP_shells_Tracer_Red { - displayNameShort = "30mm MP-T"; - }; - class 140Rnd_30mm_MP_shells_Tracer_Yellow: 140Rnd_30mm_MP_shells_Tracer_Red { - displayNameShort = "30mm MP-T"; - }; - - class 60Rnd_30mm_APFSDS_shells: 250Rnd_30mm_HE_shells { - displayNameShort = "30mm AP"; - }; - class 60Rnd_30mm_APFSDS_shells_Tracer_Red: 60Rnd_30mm_APFSDS_shells { - displayNameShort = "30mm AP-T"; - }; - class 60Rnd_30mm_APFSDS_shells_Tracer_Green: 60Rnd_30mm_APFSDS_shells { - displayNameShort = "30mm AP-T"; - }; - class 60Rnd_30mm_APFSDS_shells_Tracer_Yellow: 60Rnd_30mm_APFSDS_shells { - displayNameShort = "30mm AP-T"; - }; - - class 200Rnd_20mm_G_belt: VehicleMagazine { - displayNameShort = "20mm HE"; - }; - class 40Rnd_20mm_G_belt: 200Rnd_20mm_G_belt { - displayNameShort = "20mm HE"; - }; - - // mines - class CA_Magazine; - // http://en.wikipedia.org/wiki/M15_mine - class ATMine_Range_Mag: CA_Magazine { - displayName = "$STR_ACE_RealisticNames_ATMine_Name"; - }; - // http://en.wikipedia.org/wiki/VS-50_mine - class APERSMine_Range_Mag: ATMine_Range_Mag { - displayName = "$STR_ACE_RealisticNames_APERSMine_Name"; - }; - // https://www.buymilsurp.com/us-m26-antipersonnel-bounding-mine-p-5419.html - class APERSBoundingMine_Range_Mag: ATMine_Range_Mag { - displayName = "$STR_ACE_RealisticNames_APERSBoundingMine_Name"; - }; - // http://en.wikipedia.org/wiki/PMR-3_mine - class APERSTripMine_Wire_Mag: ATMine_Range_Mag { - displayName = "$STR_ACE_RealisticNames_APERSTripwireMine_Name"; - }; - // the following ones can be found here: http://www.dtic.mil/dtic/tr/fulltext/u2/a567897.pdf - class SLAMDirectionalMine_Wire_Mag: ATMine_Range_Mag { - displayName = "$STR_ACE_RealisticNames_SLAM_Name"; - }; - - // claymore - class ClaymoreDirectionalMine_Remote_Mag: CA_Magazine { - displayName = "$STR_ACE_RealisticNames_Claymore_Name"; - }; - - // satchels - class SatchelCharge_Remote_Mag: CA_Magazine { - displayName = "$STR_ACE_RealisticNames_SatchelCharge_Name"; - }; - class DemoCharge_Remote_Mag: SatchelCharge_Remote_Mag { - displayName = "$STR_ACE_RealisticNames_DemoCharge_Name"; - }; - - // hand grenades - class HandGrenade: CA_Magazine { - displayName = "$STR_ACE_RealisticNames_HandGrenade_Name"; - }; - class SmokeShell: HandGrenade { - displayName = "$STR_ACE_RealisticNames_SmokeShell_Name"; - }; - class SmokeShellBlue: SmokeShell { - displayName = "$STR_ACE_RealisticNames_SmokeShellBlue_Name"; - }; - class SmokeShellGreen: SmokeShell { - displayName = "$STR_ACE_RealisticNames_SmokeShellGreen_Name"; - }; - class SmokeShellOrange: SmokeShell { - displayName = "$STR_ACE_RealisticNames_SmokeShellOrange_Name"; - }; - class SmokeShellPurple: SmokeShell { - displayName = "$STR_ACE_RealisticNames_SmokeShellPurple_Name"; - }; - class SmokeShellRed: SmokeShell { - displayName = "$STR_ACE_RealisticNames_SmokeShellRed_Name"; - }; - class SmokeShellYellow: SmokeShell { - displayName = "$STR_ACE_RealisticNames_SmokeShellYellow_Name"; - }; -}; +#include "CfgMagazines.hpp" +#include "CfgVehicles.hpp" +#include "CfgWeapons.hpp" diff --git a/addons/reload/XEH_postInit.sqf b/addons/reload/XEH_postInit.sqf index 6ea3e01326..b3ca31cd5d 100644 --- a/addons/reload/XEH_postInit.sqf +++ b/addons/reload/XEH_postInit.sqf @@ -7,8 +7,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(checkAmmo), localize "STR_ACE_Reload_checkAmmo", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !([ACE_player] call EFUNC(common,canUseWeapon) || {(vehicle ACE_player) isKindOf 'StaticWeapon'}) exitWith {false}; diff --git a/addons/reload/functions/fnc_canCheckAmmo.sqf b/addons/reload/functions/fnc_canCheckAmmo.sqf index 3e83281b43..2cabe6edc2 100644 --- a/addons/reload/functions/fnc_canCheckAmmo.sqf +++ b/addons/reload/functions/fnc_canCheckAmmo.sqf @@ -13,7 +13,7 @@ EXPLODE_2_PVT(_this,_player,_target); -// Return true for static weapons if they have been fired once +// Return true for static weapons if they have been fired once, @todo 1.40 this work-around doesn't work anymore if (_target isKindOf "StaticWeapon") exitWith { (currentMagazine _target) != "" }; diff --git a/addons/reload/functions/fnc_checkAmmo.sqf b/addons/reload/functions/fnc_checkAmmo.sqf index 7c24ff1ff3..2ab656fe47 100644 --- a/addons/reload/functions/fnc_checkAmmo.sqf +++ b/addons/reload/functions/fnc_checkAmmo.sqf @@ -31,6 +31,10 @@ if (count _this > 1) then { }; }; -_unit playActionNow "Gear"; +if (_unit == _target) then { + _unit playActionNow "Gear"; +} else { + _unit playActionNow "PutDown"; +}; [FUNC(displayAmmo), [_target], 1, 0.1] call EFUNC(common,waitAndExecute); diff --git a/addons/reload/functions/fnc_startLinkingBelt.sqf b/addons/reload/functions/fnc_startLinkingBelt.sqf index 3b35a5a72a..d739cd8c56 100644 --- a/addons/reload/functions/fnc_startLinkingBelt.sqf +++ b/addons/reload/functions/fnc_startLinkingBelt.sqf @@ -42,7 +42,7 @@ if (_maxAmmo == 0) exitWith {}; // Condition to call each frame _condition = { EXPLODE_2_PVT((_this select 0),_player,_target); - ([_player, _target] call EFUNC(common,canInteract)) && ((_player distance _target) < 3) && ((speed _target) < 1) + ([_player, _target, []] call EFUNC(common,canInteractWith)) && ((_player distance _target) < 3) && ((speed _target) < 1) }; _onFinish = { diff --git a/addons/reloadlaunchers/$PBOPREFIX$ b/addons/reloadlaunchers/$PBOPREFIX$ new file mode 100644 index 0000000000..3425681cde --- /dev/null +++ b/addons/reloadlaunchers/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\reloadlaunchers \ No newline at end of file diff --git a/addons/reloadlaunchers/CfgEventHandlers.hpp b/addons/reloadlaunchers/CfgEventHandlers.hpp new file mode 100644 index 0000000000..0cd959a047 --- /dev/null +++ b/addons/reloadlaunchers/CfgEventHandlers.hpp @@ -0,0 +1,12 @@ + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + }; +}; diff --git a/addons/reloadlaunchers/CfgVehicles.hpp b/addons/reloadlaunchers/CfgVehicles.hpp new file mode 100644 index 0000000000..617aa26b5c --- /dev/null +++ b/addons/reloadlaunchers/CfgVehicles.hpp @@ -0,0 +1,15 @@ + +class CfgVehicles { + class Man; + class CAManBase: Man { + class ACE_Actions { + class GVAR(ReloadLauncher) { + displayName = "$STR_ACE_ReloadLaunchers_LoadLauncher"; + selection = "launcher"; + distance = 4; + condition = ""; + insertChildren = QUOTE(_this call FUNC(addMissileReloadActions)); + }; + }; + }; +}; diff --git a/addons/reloadlaunchers/CfgWeapons.hpp b/addons/reloadlaunchers/CfgWeapons.hpp new file mode 100644 index 0000000000..08fbdb76b0 --- /dev/null +++ b/addons/reloadlaunchers/CfgWeapons.hpp @@ -0,0 +1,11 @@ + +class CfgWeapons { + class Launcher_Base_F; + class launch_Titan_base: Launcher_Base_F { + GVAR(enabled) = 1; + }; + + class launch_RPG32_F: Launcher_Base_F { + GVAR(enabled) = 1; + }; +}; diff --git a/addons/reloadlaunchers/XEH_postInit.sqf b/addons/reloadlaunchers/XEH_postInit.sqf new file mode 100644 index 0000000000..437927602a --- /dev/null +++ b/addons/reloadlaunchers/XEH_postInit.sqf @@ -0,0 +1,4 @@ +// by commy2 +#include "script_component.hpp" + +["reloadLauncher", {_this call DFUNC(reloadLauncher)}] call EFUNC(common,addEventhandler); diff --git a/addons/reloadlaunchers/XEH_preInit.sqf b/addons/reloadlaunchers/XEH_preInit.sqf new file mode 100644 index 0000000000..3b60f99b8e --- /dev/null +++ b/addons/reloadlaunchers/XEH_preInit.sqf @@ -0,0 +1,11 @@ +#include "script_component.hpp" + +ADDON = false; + +PREP(addMissileReloadActions); +PREP(canLoad); +PREP(getLoadableMissiles); +PREP(load); +PREP(reloadLauncher); + +ADDON = true; diff --git a/addons/reloadlaunchers/config.cpp b/addons/reloadlaunchers/config.cpp new file mode 100644 index 0000000000..a039ef87c4 --- /dev/null +++ b/addons/reloadlaunchers/config.cpp @@ -0,0 +1,18 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common","ace_interaction","ace_interact_menu"}; + author[] = {""}; + authorUrl = ""; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" + +#include "CfgVehicles.hpp" +#include "CfgWeapons.hpp" diff --git a/addons/reloadlaunchers/functions/fnc_addMissileReloadActions.sqf b/addons/reloadlaunchers/functions/fnc_addMissileReloadActions.sqf new file mode 100644 index 0000000000..58cd53699e --- /dev/null +++ b/addons/reloadlaunchers/functions/fnc_addMissileReloadActions.sqf @@ -0,0 +1,48 @@ +/* + * Author: commy2 + * Create one action per reloadable missile + * + * Argument: + * 1: Player (Object) + * 0: Target (Object) + * 2: Parameters ??? (Array) + * + * Return value: + * Children actions (Array) + * + */ +#include "script_component.hpp" + +private ["_unit", "_target", "_parameters"]; + +_unit = _this select 1; +_target = _this select 0; +_parameters = _this select 2; // ??? + +private ["_actions", "_weapon", "_loadableMissiles"]; + +_actions = []; + +_weapon = secondaryWeapon _target; +_loadableMissiles = [_unit, _weapon] call FUNC(getLoadableMissiles); + +{ + private ["_name", "_displayName", "_statement", "_condition", "_action"]; + + _name = format [QGVAR(Missile_%1), _x]; + _displayName = format [localize "STR_ACE_ReloadLaunchers_LoadMagazine", getText (configFile >> "CfgMagazines" >> _x >> "displayName")]; + + _statement = { + (_this select 2) call DFUNC(load); + }; + + _condition = { + (_this select 2) call DFUNC(canLoad) + }; + + _action = [_name, _displayName, "", _statement, _condition, {}, [_unit, _target, _weapon, _x], "", 4] call EFUNC(interact_menu,createAction); + + _actions pushBack [_action, [], _unit]; +} forEach _loadableMissiles; + +_actions diff --git a/addons/reloadlaunchers/functions/fnc_canLoad.sqf b/addons/reloadlaunchers/functions/fnc_canLoad.sqf new file mode 100644 index 0000000000..5bbfe4dd87 --- /dev/null +++ b/addons/reloadlaunchers/functions/fnc_canLoad.sqf @@ -0,0 +1,41 @@ +/* + * Author: commy2 + * + * Check of the unit can reload the launcher of target unit. + * + * Argument: + * 0: Unit to do the reloading (Object) + * 1: Unit eqipped with launcher (Object) + * 2: weapon name (String) + * 3: missile name (String) + * + * Return value: + * NONE + */ +#include "script_component.hpp" + +private ["_unit", "_target", "_weapon", "_magazine"]; + +_unit = _this select 0; +_target = _this select 1; +_weapon = _this select 2; +_magazine = _this select 3; + +if (!alive _target) exitWith {false}; +if (vehicle _target != _target) exitWith {false}; +if !([_unit, _target, []] call EFUNC(common,canInteractWith)) exitWith {false}; + +// target is awake +if (_target getVariable ["ACE_isUnconscious", false]) exitWith {false}; + +// has secondary weapon equipped +if !(_weapon in weapons _target) exitWith {false}; + +// check if the target really needs to be reloaded +if (count secondaryWeaponMagazine _target > 0) exitWith {false}; + +// check if the launcher is compatible +if (getNumber (configFile >> "CfgWeapons" >> _weapon >> QGVAR(enabled)) == 0) exitWith {false}; + +// check if the magazine compatible with targets launcher +_magazine in ([_unit, _weapon] call FUNC(getLoadableMissiles)) diff --git a/addons/reloadlaunchers/functions/fnc_getLoadableMissiles.sqf b/addons/reloadlaunchers/functions/fnc_getLoadableMissiles.sqf new file mode 100644 index 0000000000..9b083a04c6 --- /dev/null +++ b/addons/reloadlaunchers/functions/fnc_getLoadableMissiles.sqf @@ -0,0 +1,28 @@ +/* + * Author: commy2 + * + * Return all magazine types from reloaders inventory that are compatible with given weapon. + * + * Argument: + * 0: Unit to to the reload (Object) + * 1: A launcher (String) + * + * Return value: + * Reloable magazines (Array) + */ +#include "script_component.hpp" + +private ["_unit", "_weapon"]; + +_unit = _this select 0; +_weapon = _this select 1; + +// get available magazines of reloader, Note: "magazines" does not include currently loaded magazines +private "_magazines"; +_magazines = magazines _unit; + +// case sensitvity +_magazines = [_magazines, {toLower _this}] call EFUNC(common,map); + +// get reloaders magazine types compatible with targets launcher. No duplicates. +[getArray (configFile >> "CfgWeapons" >> _weapon >> "magazines"), {toLower _this in _magazines}] call EFUNC(common,filter) diff --git a/addons/reloadlaunchers/functions/fnc_load.sqf b/addons/reloadlaunchers/functions/fnc_load.sqf new file mode 100644 index 0000000000..f6ad07e357 --- /dev/null +++ b/addons/reloadlaunchers/functions/fnc_load.sqf @@ -0,0 +1,48 @@ +/* + * Author: commy2 + * + * Reload a launcher + * + * Argument: + * 0: Unit with magazine (Object) + * 1: Unit with launcher (Object) + * 2: weapon name (String) + * 3: missile name (String) + * + * Return value: + * NONE + */ +#include "script_component.hpp" + +private ["_unit", "_target", "_weapon", "_magazine"]; + +_unit = _this select 0; +_target = _this select 1; +_weapon = _this select 2; +_magazine = _this select 3; + +private "_reloadTime"; +_reloadTime = getNumber (configFile >> "CfgWeapons" >> _weapon >> "magazineReloadTime"); + +// do animation +[_unit] call EFUNC(common,goKneeling); + +// show progress bar +private ["_onSuccess", "_onFailure", "_condition"]; + +_onSuccess = { + (_this select 0 select 0) removeMagazine (_this select 0 select 3); + ["reloadLauncher", _this select 0 select 0, _this select 0] call DEFUNC(common,targetEvent); + + [localize "STR_ACE_ReloadLaunchers_LauncherLoaded"] call DEFUNC(common,displayTextStructured); +}; + +_onFailure = { + [localize "STR_ACE_Common_ActionAborted"] call DEFUNC(common,displayTextStructured); +}; + +_condition = { + (_this select 0) call DFUNC(canLoad) && {(_this select 0 select 0) distance (_this select 0 select 1) < 4} +}; + +[_reloadTime, [_unit, _target, _weapon, _magazine], _onSuccess, _onFailure, localize "STR_ACE_ReloadLaunchers_LoadingLauncher", _condition] call EFUNC(common,progressBar); diff --git a/addons/reloadlaunchers/functions/fnc_reloadLauncher.sqf b/addons/reloadlaunchers/functions/fnc_reloadLauncher.sqf new file mode 100644 index 0000000000..36772f9dfd --- /dev/null +++ b/addons/reloadlaunchers/functions/fnc_reloadLauncher.sqf @@ -0,0 +1,30 @@ +/* + * Author: commy2 + * + * Reload a launcher + * + * Argument: + * 0: Unit to do the reloading (Object) + * 1: Target to rload (Object) + * 2: weapon name (String) + * 3: missile name (String) + * + * Return value: + * NONE + */ +#include "script_component.hpp" + +private ["_unit", "_weapon", "_magazine"]; + +_unit = _this select 0; +_target = _this select 1; +_weapon = _this select 2; +_magazine = _this select 3; + +_target selectWeapon _weapon; + +if (currentWeapon _target != _weapon) exitWith {}; +if (currentMagazine _target != "") exitWith {}; + +// command is wip, reload time for launchers is not intended. +_target addWeaponItem [_weapon, _magazine]; diff --git a/addons/reloadlaunchers/functions/script_component.hpp b/addons/reloadlaunchers/functions/script_component.hpp new file mode 100644 index 0000000000..9c129f36b1 --- /dev/null +++ b/addons/reloadlaunchers/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\reloadlaunchers\script_component.hpp" \ No newline at end of file diff --git a/addons/reloadlaunchers/script_component.hpp b/addons/reloadlaunchers/script_component.hpp new file mode 100644 index 0000000000..bc6b7f6e6c --- /dev/null +++ b/addons/reloadlaunchers/script_component.hpp @@ -0,0 +1,12 @@ +#define COMPONENT reloadlaunchers +#include "\z\ace\addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_RELOADLAUNCHERS + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_ENABLED_RELOADLAUNCHERS + #define DEBUG_SETTINGS DEBUG_ENABLED_RELOADLAUNCHERS +#endif + +#include "\z\ace\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/addons/reloadlaunchers/stringtable.xml b/addons/reloadlaunchers/stringtable.xml new file mode 100644 index 0000000000..6677153419 --- /dev/null +++ b/addons/reloadlaunchers/stringtable.xml @@ -0,0 +1,24 @@ + + + + + + Load launcher + Panzerabwehr laden + + + Loading launcher ... + Panzerabwehr wird geladen ... + + + Launcher loaded + Panzerabwehr geladen + + + + Load %1 + Lade %1 + + + + diff --git a/addons/respawn/CfgVehicles.hpp b/addons/respawn/CfgVehicles.hpp index 2a5d96ff95..082778bf94 100644 --- a/addons/respawn/CfgVehicles.hpp +++ b/addons/respawn/CfgVehicles.hpp @@ -7,7 +7,7 @@ class CfgVehicles { function = QFUNC(module); scope = 2; isGlobal = 1; - icon = QUOTE(PATHTOF(UI\IconSwitchUnits_ca.paa)); + icon = QUOTE(PATHTOF(UI\Icon_Module_Respawn_ca.paa)); class Arguments { class SavePreDeathGear { displayName = "Save Gear?"; @@ -49,7 +49,7 @@ class CfgVehicles { function = QFUNC(moduleRallypoint); scope = 2; isGlobal = 1; - icon = QUOTE(PATHTOF(UI\IconSwitchUnits_ca.paa)); + icon = QUOTE(PATHTOF(UI\Icon_Module_Rallypoint_ca.paa)); class Arguments { }; }; diff --git a/addons/respawn/functions/fnc_showFriendlyFireMessage.sqf b/addons/respawn/functions/fnc_showFriendlyFireMessage.sqf index 7d1b374252..1fdd10da4e 100644 --- a/addons/respawn/functions/fnc_showFriendlyFireMessage.sqf +++ b/addons/respawn/functions/fnc_showFriendlyFireMessage.sqf @@ -25,8 +25,6 @@ _killer = _this select 1; if (_unit != _killer && side group _unit in [side group ACE_player, civilian] && {side group _killer == side group ACE_player}) then { systemChat format ["%1 was killed by %2", [_unit] call EFUNC(common,getName), [_killer] call EFUNC(common,getName)]; - // Raise custom event. @todo: remove - [_unit, "killedByFriendly", [_unit, _killer]] call EFUNC(common,callCustomEventHandlers); // Raise ACE globalEvent ["killedByFriendly", [_unit, _killer]] call EFUNC(common,globalEvent); }; diff --git a/addons/resting/XEH_postInit.sqf b/addons/resting/XEH_postInit.sqf index 18c3409e38..ec80100523 100644 --- a/addons/resting/XEH_postInit.sqf +++ b/addons/resting/XEH_postInit.sqf @@ -7,8 +7,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(RestWeapon), localize "STR_ACE_Resting_RestWeapon", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !([ACE_player] call EFUNC(common,canUseWeapon) && {inputAction 'reloadMagazine' == 0} && diff --git a/addons/safemode/XEH_postInit.sqf b/addons/safemode/XEH_postInit.sqf index 549195b188..6754038bd1 100644 --- a/addons/safemode/XEH_postInit.sqf +++ b/addons/safemode/XEH_postInit.sqf @@ -9,8 +9,7 @@ ["ACE3", QGVAR(safeMode), localize "STR_ACE_SafeMode_SafeMode", { // Conditions: canInteract - _exceptions = [QEGVAR(interaction,isNotEscorting)]; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !([ACE_player] call EFUNC(common,canUseWeapon)) exitWith {false}; diff --git a/addons/scopes/XEH_postInit.sqf b/addons/scopes/XEH_postInit.sqf index a884292416..6d4485e1b0 100644 --- a/addons/scopes/XEH_postInit.sqf +++ b/addons/scopes/XEH_postInit.sqf @@ -36,8 +36,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(AdjustUp), localize "STR_ACE_Scopes_AdjustUp", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific [ACE_player] call FUNC(inventoryCheck); if !([ACE_player, 0, 0.1] call FUNC(canAdjustScope)) exitWith {false}; @@ -52,8 +51,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(AdjustDown), localize "STR_ACE_Scopes_AdjustDown", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific [ACE_player] call FUNC(inventoryCheck); if !([ACE_player, 0, -0.1] call FUNC(canAdjustScope)) exitWith {false}; @@ -68,8 +66,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(AdjustLeft), localize "STR_ACE_Scopes_AdjustLeft", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific [ACE_player] call FUNC(inventoryCheck); if !([ACE_player, -0.1, 0] call FUNC(canAdjustScope)) exitWith {false}; @@ -84,8 +81,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(AdjustRight), localize "STR_ACE_Scopes_AdjustRight", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific [ACE_player] call FUNC(inventoryCheck); if !([ACE_player, 0.1, 0] call FUNC(canAdjustScope)) exitWith {false}; diff --git a/addons/smallarms/$PBOPREFIX$ b/addons/smallarms/$PBOPREFIX$ index 9d0480659e..9d177151a4 100644 --- a/addons/smallarms/$PBOPREFIX$ +++ b/addons/smallarms/$PBOPREFIX$ @@ -1 +1 @@ -z\ace\addons\switchunits \ No newline at end of file +z\ace\addons\smallarms \ No newline at end of file diff --git a/addons/smallarms/CfgVehicles.hpp b/addons/smallarms/CfgVehicles.hpp index 49de74005a..f81316c3e9 100644 --- a/addons/smallarms/CfgVehicles.hpp +++ b/addons/smallarms/CfgVehicles.hpp @@ -1,8 +1,4 @@ -/*#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \ - name = #ITEM; \ - count = COUNT; \ -}; - +/* class CfgVehicles { class NATO_Box_Base; class EAST_Box_Base; @@ -10,25 +6,25 @@ class CfgVehicles { class Box_NATO_Support_F: NATO_Box_Base { class TransportItems { - MACRO_ADDITEM(ACE_acc_flashlight_tls,5) + MACRO_ADDITEM(ACE_acc_flashlight_tls,5); }; }; class Box_East_Support_F: EAST_Box_Base { class TransportItems { - MACRO_ADDITEM(ACE_acc_flashlight_tls,5) + MACRO_ADDITEM(ACE_acc_flashlight_tls,5); }; }; class Box_IND_Support_F: IND_Box_Base { class TransportItems { - MACRO_ADDITEM(ACE_acc_flashlight_tls,5) + MACRO_ADDITEM(ACE_acc_flashlight_tls,5); }; }; class ACE_Box_Misc: Box_NATO_Support_F { class TransportItems { - MACRO_ADDITEM(ACE_acc_flashlight_tls,2) + MACRO_ADDITEM(ACE_acc_flashlight_tls,2); }; }; };*/ diff --git a/addons/vector/config.cpp b/addons/vector/config.cpp index 4603857506..926bfda58d 100644 --- a/addons/vector/config.cpp +++ b/addons/vector/config.cpp @@ -2,8 +2,8 @@ class CfgPatches { class ADDON { - units[] = {"AGM_Item_Vector"}; - weapons[] = {"AGM_Vector"}; + units[] = {"ACE_Item_Vector"}; + weapons[] = {"ACE_Vector"}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common"}; author[] = {"Ghost","Hamburger SV","commy2","bux578"}; diff --git a/addons/vector/initKeybinds.sqf b/addons/vector/initKeybinds.sqf index a41c13c757..1e186f36ca 100644 --- a/addons/vector/initKeybinds.sqf +++ b/addons/vector/initKeybinds.sqf @@ -3,8 +3,7 @@ ["ACE3", QGVAR(AzimuthKey), localize "STR_ACE_Vector_AzimuthKey", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !(currentWeapon ACE_player == "ACE_Vector" && {ACE_player == cameraOn} && {cameraView == "GUNNER"}) exitWith {false}; @@ -14,19 +13,18 @@ // Statement ["azimuth"] call FUNC(onKeyDown); - true + false }, { // prevent holding down GVAR(isDownStateKey1) = false; // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Statement ["azimuth"] call FUNC(onKeyUp); - true + false }, [15, [false, false, false]], false, 0] call CBA_fnc_addKeybind; //Tab Key @@ -34,8 +32,7 @@ ["ACE3", QGVAR(DistanceKey), localize "STR_ACE_Vector_DistanceKey", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !(currentWeapon ACE_player == "ACE_Vector" && {ACE_player == cameraOn} && {cameraView == "GUNNER"}) exitWith {false}; @@ -45,18 +42,17 @@ // Statement ["distance"] call FUNC(onKeyDown); - true + false }, { // prevent holding down GVAR(isDownStateKey2) = false; // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Statement ["distance"] call FUNC(onKeyUp); - true + false }, [19, [false, false, false]], false] call CBA_fnc_addKeybind; //R Key diff --git a/addons/vehiclelock/CfgEventHandlers.hpp b/addons/vehiclelock/CfgEventHandlers.hpp index b928bc2de6..cf704d000c 100644 --- a/addons/vehiclelock/CfgEventHandlers.hpp +++ b/addons/vehiclelock/CfgEventHandlers.hpp @@ -3,3 +3,15 @@ class Extended_PreInit_EventHandlers { init = QUOTE(call COMPILE_FILE(XEH_preInit)); }; }; +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + }; +}; +class Extended_InventoryOpened_EventHandlers { + class CAManBase { + class ADDON { + clientInventoryOpened = QUOTE(_this call FUNC(onOpenInventory);); + }; + }; +}; diff --git a/addons/vehiclelock/CfgMagazines.hpp b/addons/vehiclelock/CfgMagazines.hpp index 198c617509..100df8065b 100644 --- a/addons/vehiclelock/CfgMagazines.hpp +++ b/addons/vehiclelock/CfgMagazines.hpp @@ -1,9 +1,10 @@ class CfgMagazines { - class CA_Magazine; - class ACE_key_customKeyMagazine: CA_Magazine { - picture = QUOTE(PATHTOF(ui\keyBlack.paa)); - displayName = "ACE Vehicle Key"; //!!!CANNONT be localized!!!, because it is used as part of the magazineDetail string - descriptionShort = "$STR_ACE_Vehicle_Item_Custom_Description"; - count = 1; - }; + class CA_Magazine; + class ACE_key_customKeyMagazine: CA_Magazine { + picture = QUOTE(PATHTOF(ui\keyBlack.paa)); + displayName = "ACE Vehicle Key"; //!!!CANNOT be localized!!!: because it is used as part of the magazineDetail string + descriptionShort = "$STR_ACE_Vehicle_Item_Custom_Description"; + count = 1; + mass = 0; + }; }; diff --git a/addons/vehiclelock/CfgVehicles.hpp b/addons/vehiclelock/CfgVehicles.hpp index 5be796c126..1a7da461ca 100644 --- a/addons/vehiclelock/CfgVehicles.hpp +++ b/addons/vehiclelock/CfgVehicles.hpp @@ -1,102 +1,107 @@ #define MACRO_LOCK_ACTIONS \ - class ACE_MainActions { \ - class ACE_unlockVehicle { \ - displayName = "$STR_ACE_Vehicle_Action_UnLock"; \ - distance = 4; \ - condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(2,3)]}); \ - statement = QUOTE([ARR_3('SetVehicleLock', [_target], [ARR_2(_target,false)])] call EFUNC(common,targetEvent)); \ - showDisabled = 0; \ - priority = 0.3; \ - icon = QUOTE(PATHTOF(ui\key_menuIcon_ca.paa)); \ - }; \ - class ACE_lockVehicle { \ - displayName = "$STR_ACE_Vehicle_Action_Lock"; \ - distance = 4; \ - condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(0,1)]}); \ - statement = QUOTE([ARR_3('SetVehicleLock', [_target], [ARR_2(_target,true)])] call EFUNC(common,targetEvent)); \ - showDisabled = 0; \ - priority = 0.2; \ - icon = QUOTE(PATHTOF(ui\key_menuIcon_ca.paa)); \ - }; \ - class ACE_lockpickVehicle { \ - displayName = "$STR_ACE_Vehicle_Action_Lockpick"; \ - distance = 4; \ - condition = QUOTE([ARR_3(_player, _target, 'canLockpick')] call FUNC(lockpick)); \ - statement = QUOTE([ARR_3(_player, _target, 'startLockpick')] call FUNC(lockpick)); \ - showDisabled = 0; \ - priority = 0.1; \ - }; \ - }; + class ACE_MainActions { \ + class ACE_unlockVehicle { \ + displayName = "$STR_ACE_Vehicle_Action_UnLock"; \ + distance = 4; \ + condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(2,3)]}); \ + statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [_target], [ARR_2(_target,false)])] call EFUNC(common,targetEvent)); \ + showDisabled = 0; \ + priority = 0.3; \ + icon = QUOTE(PATHTOF(ui\key_menuIcon_ca.paa)); \ + }; \ + class ACE_lockVehicle { \ + displayName = "$STR_ACE_Vehicle_Action_Lock"; \ + distance = 4; \ + condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(0,1)]}); \ + statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [_target], [ARR_2(_target,true)])] call EFUNC(common,targetEvent)); \ + showDisabled = 0; \ + priority = 0.2; \ + icon = QUOTE(PATHTOF(ui\key_menuIcon_ca.paa)); \ + }; \ + class ACE_lockpickVehicle { \ + displayName = "$STR_ACE_Vehicle_Action_Lockpick"; \ + distance = 4; \ + condition = QUOTE([ARR_3(_player, _target, 'canLockpick')] call FUNC(lockpick)); \ + statement = QUOTE([ARR_3(_player, _target, 'startLockpick')] call FUNC(lockpick)); \ + showDisabled = 0; \ + priority = 0.1; \ + }; \ + }; class CfgVehicles { - class LandVehicle; - class Car: LandVehicle { - class ACE_Actions { - MACRO_LOCK_ACTIONS - }; - }; - class Tank: LandVehicle { - class ACE_Actions { - MACRO_LOCK_ACTIONS - }; - }; - class Air; - class Helicopter: Air { - class ACE_Actions { - MACRO_LOCK_ACTIONS - }; - }; - - class Logic; - class Module_F: Logic { - class ArgumentsBaseUnits {}; - class ModuleDescription {}; - }; - class ACE_VehicleLock_ModuleSetup: Module_F { - author = "$STR_ACE_Common_ACETeam"; - category = "ACE"; - displayName = "Vehicle Lock Setup"; - function = "ACE_VehicleLock_fnc_moduleInit"; - scope = 2; - isGlobal = 1; - icon = QUOTE(PATHTOF(ui\IconLock_ca.paa)); - functionPriority = 0; - class Arguments { - class SetLockState { - displayName = "Set Lock State"; // Argument label - description = "Set lock state for all vehicles on map at start"; // Tooltip description - typeName = "NUMBER"; // Value type, can be "NUMBER", "STRING" or "BOOL" - class values { - class None {name = "As Is"; value = 0; default = 1;}; - class Side {name = "Locked"; value = 1;}; - class Unique {name = "Unlocked"; value = 2;}; + class LandVehicle; + class Car: LandVehicle { + class ACE_Actions { + MACRO_LOCK_ACTIONS }; - }; - class LockpickStrength { - displayName = "Global Lockpick Strength"; - description = "Global Time to lockpick (in seconds). Default: 10"; - typeName = "NUMBER"; // Value type, can be "NUMBER", "STRING" or "BOOL" - defaultValue = "10"; // Default text filled in the input box - }; }; - class ModuleDescription: ModuleDescription { - description = "Settings for lockpick strength and initial vehicle lock state. Removes ambiguous lock states.
Source: vehiclelock.pbo"; + class Tank: LandVehicle { + class ACE_Actions { + MACRO_LOCK_ACTIONS + }; + }; + class Air; + class Helicopter: Air { + class ACE_Actions { + MACRO_LOCK_ACTIONS + }; }; - }; - class ACE_VehicleLock_ModuleSyncedAssign: Module_F { - author = "$STR_ACE_Common_ACETeam"; - category = "ACE"; - displayName = "Vehicle Key Assign"; - function = "ACE_VehicleLock_fnc_moduleSync"; - scope = 2; - isGlobal = 1; - icon = QUOTE(PATHTOF(ui\IconLock_ca.paa)); - functionPriority = 0; - class Arguments {}; - class ModuleDescription: ModuleDescription { - description = "Sync with vehicles and players. Will handout custom keys to players for every synced vehicle. Only valid for objects present at mission start.
Source: vehiclelock.pbo"; - sync[] = {"AnyPlayer", "AnyVehicle"}; + class Logic; + class Module_F: Logic { + class ModuleDescription {}; + }; + class ACE_VehicleLock_ModuleSetup: Module_F { + author = "$STR_ACE_Common_ACETeam"; + category = "ACE"; + displayName = "Vehicle Lock Setup"; + function = QUOTE(DFUNC(moduleInit)); + scope = 2; + isGlobal = 0; + icon = QUOTE(PATHTOF(ui\IconLock_ca.paa)); + functionPriority = 0; + class Arguments { + class LockVehicleInventory { + displayName = "Lock Vehicle Inventory"; + description = "Locks the inventory of locked vehicles"; + typeName = "BOOL"; + defaultValue = 0; + }; + class SetLockState { + displayName = "Set Lock State"; // Argument label + description = "Set lock state for all vehicles on map at start"; // Tooltip description + typeName = "NUMBER"; // Value type, can be "NUMBER", "STRING" or "BOOL" + class values { + class None {name = "As Is"; value = 0; default = 1;}; + class Side {name = "Locked"; value = 1;}; + class Unique {name = "Unlocked"; value = 2;}; + }; + }; + class DefaultLockpickStrength { + displayName = "Default Lockpick Strength"; + description = "Default Time to lockpick (in seconds). Default: 10"; + typeName = "NUMBER"; // Value type, can be "NUMBER", "STRING" or "BOOL" + defaultValue = "10"; // Default text filled in the input box + }; + }; + class ModuleDescription: ModuleDescription { + description = "Settings for lockpick strength and initial vehicle lock state. Removes ambiguous lock states.
Source: vehiclelock.pbo"; + }; + }; + + class ACE_VehicleLock_ModuleSyncedAssign: Module_F { + author = "$STR_ACE_Common_ACETeam"; + category = "ACE"; + displayName = "Vehicle Key Assign"; + function = QUOTE(DFUNC(moduleSync)); + scope = 2; + isGlobal = 0; + icon = QUOTE(PATHTOF(ui\IconLock_ca.paa)); + functionPriority = 0; + class Arguments {}; + class ModuleDescription: ModuleDescription { + description = "Sync with vehicles and players. Will handout custom keys to players for every synced vehicle. Only valid for objects present at mission start.
Source: vehiclelock.pbo"; + sync[] = {"AnyPlayer", "AnyVehicle"}; + }; }; - }; }; diff --git a/addons/vehiclelock/CfgWeapons.hpp b/addons/vehiclelock/CfgWeapons.hpp index 157fb4bf60..4b20de15d7 100644 --- a/addons/vehiclelock/CfgWeapons.hpp +++ b/addons/vehiclelock/CfgWeapons.hpp @@ -1,41 +1,41 @@ class CfgWeapons { - class InventoryItem_Base_F; - class ACE_ItemCore; + class InventoryItem_Base_F; + class ACE_ItemCore; - class ACE_key_master: ACE_ItemCore { - author = "$STR_ACE_Common_ACETeam"; - displayName = "Vehicle Key: Master"; - descriptionShort = "$STR_ACE_Vehicle_Item_Master_Description"; - model = "\A3\weapons_F\ammo\mag_univ.p3d"; - picture = QUOTE(PATHTOF(ui\keyBlack.paa)); - scope = 2; - class ItemInfo: InventoryItem_Base_F { - mass = 0.1; - }; - }; - class ACE_key_lockpick: ACE_key_master { - displayName = "Lockpick"; - descriptionShort = "$STR_ACE_Vehicle_Item_Lockpick_Description"; - picture = QUOTE(PATHTOF(ui\lockpick.paa)); - }; - class ACE_key_west: ACE_key_master { - displayName = "Vehicle Key: West"; - descriptionShort = "$STR_ACE_Vehicle_Item_West_Description"; - picture = QUOTE(PATHTOF(ui\keyBlue.paa)); - }; - class ACE_key_east: ACE_key_master { - displayName = "Vehicle Key: East"; - descriptionShort = "$STR_ACE_Vehicle_Item_East_Description"; - picture = QUOTE(PATHTOF(ui\keyRed.paa)); - }; - class ACE_key_indp: ACE_key_master { - displayName = "Vehicle Key: Independent"; - descriptionShort = "$STR_ACE_Vehicle_Item_Indp_Description"; - picture = QUOTE(PATHTOF(ui\keyPurple.paa)); - }; - class ACE_key_civ: ACE_key_master { - displayName = "Vehicle Key: Civilian"; - descriptionShort = "$STR_ACE_Vehicle_Item_Civ_Description"; - picture = QUOTE(PATHTOF(ui\keyGreen.paa)); - }; + class ACE_key_master: ACE_ItemCore { + author = "$STR_ACE_Common_ACETeam"; + displayName = "Vehicle Key: Master"; + descriptionShort = "$STR_ACE_Vehicle_Item_Master_Description"; + model = "\A3\weapons_F\ammo\mag_univ.p3d"; + picture = QUOTE(PATHTOF(ui\keyBlack.paa)); + scope = 2; + class ItemInfo: InventoryItem_Base_F { + mass = 0; + }; + }; + class ACE_key_lockpick: ACE_key_master { + displayName = "Lockpick"; + descriptionShort = "$STR_ACE_Vehicle_Item_Lockpick_Description"; + picture = QUOTE(PATHTOF(ui\lockpick.paa)); + }; + class ACE_key_west: ACE_key_master { + displayName = "Vehicle Key: West"; + descriptionShort = "$STR_ACE_Vehicle_Item_West_Description"; + picture = QUOTE(PATHTOF(ui\keyBlue.paa)); + }; + class ACE_key_east: ACE_key_master { + displayName = "Vehicle Key: East"; + descriptionShort = "$STR_ACE_Vehicle_Item_East_Description"; + picture = QUOTE(PATHTOF(ui\keyRed.paa)); + }; + class ACE_key_indp: ACE_key_master { + displayName = "Vehicle Key: Independent"; + descriptionShort = "$STR_ACE_Vehicle_Item_Indp_Description"; + picture = QUOTE(PATHTOF(ui\keyPurple.paa)); + }; + class ACE_key_civ: ACE_key_master { + displayName = "Vehicle Key: Civilian"; + descriptionShort = "$STR_ACE_Vehicle_Item_Civ_Description"; + picture = QUOTE(PATHTOF(ui\keyGreen.paa)); + }; }; diff --git a/addons/vehiclelock/XEH_postInit.sqf b/addons/vehiclelock/XEH_postInit.sqf new file mode 100644 index 0000000000..c635de2bd3 --- /dev/null +++ b/addons/vehiclelock/XEH_postInit.sqf @@ -0,0 +1,5 @@ +#include "script_component.hpp" + +//Add Event Handlers +["VehicleLock_SetupCustomKey", {_this call FUNC(serverSetupCustomKeyEH)}] call EFUNC(common,addEventHandler); +["VehicleLock_SetVehicleLock", {_this call FUNC(setVehicleLockEH)}] call EFUNC(common,addEventHandler); diff --git a/addons/vehiclelock/XEH_preInit.sqf b/addons/vehiclelock/XEH_preInit.sqf index 80d1d6335f..bdab28fc75 100644 --- a/addons/vehiclelock/XEH_preInit.sqf +++ b/addons/vehiclelock/XEH_preInit.sqf @@ -8,11 +8,8 @@ PREP(hasKeyForVehicle); PREP(lockpick); PREP(moduleInit); PREP(moduleSync); +PREP(onOpenInventory); PREP(serverSetupCustomKeyEH); PREP(setVehicleLockEH); -//Add Event Handlers -["SetupCustomKey", {_this call FUNC(serverSetupCustomKeyEH)}] call EFUNC(common,addEventHandler); -["SetVehicleLock", {_this call FUNC(setVehicleLockEH)}] call EFUNC(common,addEventHandler); - ADDON = true; diff --git a/addons/vehiclelock/config.cpp b/addons/vehiclelock/config.cpp index 9031987315..700e27b3cb 100644 --- a/addons/vehiclelock/config.cpp +++ b/addons/vehiclelock/config.cpp @@ -17,6 +17,10 @@ class ACE_Settings { value = 10; typeName = "SCALAR"; }; + class GVAR(LockVehicleInventory) { + value = 0; + typeName = "BOOL"; + }; }; #include "CfgEventHandlers.hpp" diff --git a/addons/vehiclelock/functions/fnc_addKeyForVehicle.sqf b/addons/vehiclelock/functions/fnc_addKeyForVehicle.sqf index c64a0f890d..d683073286 100644 --- a/addons/vehiclelock/functions/fnc_addKeyForVehicle.sqf +++ b/addons/vehiclelock/functions/fnc_addKeyForVehicle.sqf @@ -1,45 +1,40 @@ /* - Name: ACE_VehicleLock_fnc_addKeyForVehicle - - Author: Pabst Mirror - - Description: - Adds a key to a unit that will open a vehicle - - Parameters: - 0: OBJECT - unit - 1: OBJECT - vehicle - 2: BOOL - custom key (true: custom key (magazine) - false: side key (item)) - - Returns: - Nothing - - Example: - [bob, car1, true] call ACE_VehicleLock_fnc_addKeyForVehicle; -*/ - + * Author: PabstMirror + * Adds a key to a unit that will open a vehicle + * Note: has global effects for Unit (will add items to remote unit) + * + * Arguments: + * 0: Unit + * 1: Vehicle + * 2: custom key (true: custom key (magazine) - false: side key (item)) + * + * Return Value: + * None + * + * Example: + * [ACE_player, car, true] call ACE_VehicleLock_fnc_addKeyForVehicle + * + * Public: Yes + */ #include "script_component.hpp" -private ["_unit","_veh","_useCustom","_previousMags","_newMags","_keyMagazine","_keyName"]; +private ["_previousMags","_newMags","_keyMagazine","_keyName"]; -_unit = [_this, 0, objNull, [objNull]] call bis_fnc_param; -_veh = [_this, 1, objNull, [objNull]] call bis_fnc_param; -_useCustom = [_this, 2, false, [false]] call bis_fnc_param; +PARAMS_3(_unit,_veh,_useCustom); -if (isNull _unit) exitWith {["addKeyForVehicleClient: null unit"] call BIS_fnc_error;}; -if (isNull _veh) exitWith {["addKeyForVehicleClient: null vehicle"] call BIS_fnc_error;}; +if (isNull _unit) exitWith {ERROR("null unit");}; +if (isNull _veh) exitWith {ERROR("null vehicle");}; if (_useCustom) then { - _previousMags = magazinesDetail _unit; - _unit addMagazine ["ACE_key_customKeyMagazine", 1]; - _newMags = (magazinesDetail _unit) - _previousMags; - if ((count _newMags) == 0) exitWith { - ["ACE_VehicleLock_fnc_addKeyForVehicle: failed to add magazine (inventory full?)"] call BIS_fnc_error; - }; - _keyMagazine = _newMags select 0; - TRACE_2("setting up key on server",_veh,_keyMagazine); - ["SetupCustomKey", [_veh, _keyMagazine]] call EFUNC(common,serverEvent); + _previousMags = magazinesDetail _unit; + _unit addMagazine ["ACE_key_customKeyMagazine", 1]; //addMagazine array has global effects + _newMags = (magazinesDetail _unit) - _previousMags; + if ((count _newMags) == 0) exitWith {ERROR("failed to add magazine (inventory full?)");}; + _keyMagazine = _newMags select 0; + TRACE_2("setting up key on server",_veh,_keyMagazine); + //Have the server run add the key to the vehicle's key array: + ["VehicleLock_SetupCustomKey", [_veh, _keyMagazine]] call EFUNC(common,serverEvent); } else { - _keyName = [_veh] call FUNC(getVehicleSideKey); - _unit addItem _keyName; + _keyName = [_veh] call FUNC(getVehicleSideKey); + _unit addItem _keyName; //addItem has global effects }; diff --git a/addons/vehiclelock/functions/fnc_getVehicleSideKey.sqf b/addons/vehiclelock/functions/fnc_getVehicleSideKey.sqf index 819c13c332..999f471ac3 100644 --- a/addons/vehiclelock/functions/fnc_getVehicleSideKey.sqf +++ b/addons/vehiclelock/functions/fnc_getVehicleSideKey.sqf @@ -1,27 +1,25 @@ /* -Name: ACE_VehicleLock_fnc_getVehicleSideKey - -Author: Pabst Mirror - -Description: - Returns the side specifc key for a vehicle - -Parameters: - 0: OBJECT - vehicle - -Returns: - STRING - Key Classname - -Example: - [tank1] call ACE_VehicleLock_fnc_getVehicleSideKey; -*/ - + * Author: PabstMirror + * Returns the side specifc key for a vehicle + * + * Arguments: + * 0: Vehicle + * + * Return Value: + * The vehicle's side key classname + * + * Example: + * [tank1] call ACE_VehicleLock_fnc_getVehicleSideKey; + * + * Public: No + */ #include "script_component.hpp" -private ["_veh","_vehConfigSide","_vehSide","_returnValue"]; +private ["_vehConfigSide","_vehSide","_returnValue"]; -_veh = [_this, 0, objNull, [objNull]] call bis_fnc_param; -if (isNull _veh) exitWith {["ACE_VehicleLock_fnc_getVehicleSideKey: null vehicle"] call BIS_fnc_error; ""}; +PARAMS_1(_veh); + +if (isNull _veh) exitWith {ERROR("null vehicle"); "error"}; _vehConfigSide = [_veh, true] call BIS_fnc_objectSide; _vehSide = _veh getVariable [QGVAR(lockSide), _vehConfigSide]; @@ -32,7 +30,7 @@ switch (_vehSide) do { case (west): {_returnValue = "ACE_key_west"}; case (east): {_returnValue = "ACE_key_east"}; case (resistance): {_returnValue = "ACE_key_indp"}; -case (civilian): {_returnValue = "ACE_key_civ"}; + default {_returnValue = "ACE_key_civ"}; }; _returnValue diff --git a/addons/vehiclelock/functions/fnc_hasKeyForVehicle.sqf b/addons/vehiclelock/functions/fnc_hasKeyForVehicle.sqf index a1c899edad..779f4a363e 100644 --- a/addons/vehiclelock/functions/fnc_hasKeyForVehicle.sqf +++ b/addons/vehiclelock/functions/fnc_hasKeyForVehicle.sqf @@ -1,31 +1,27 @@ /* -Name: ACE_VehicleLock_fnc_hasKeyForVehicle - -Author: Pabst Mirror - -Description: - Returns if user has a valid key for the vehicle - -Parameters: - 0: OBJECT - unit - 1: OBJECT - vehicle - -Returns: - BOOL - unit has key for vehicle - -Example: - [bob, car] call ACE_VehicleLock_fnc_hasKeyForVehicle; -*/ - + * Author: PabstMirror + * Returns if user has a valid key for the vehicle + * + * Arguments: + * 0: Unit + * 1: Vehicle + * + * Return Value: + * unit has key for vehicle + * + * Example: + * [bob, car] call ACE_VehicleLock_fnc_hasKeyForVehicle; + * + * Public: No + */ #include "script_component.hpp" -private ["_unit","_veh","_returnValue","_sideKeyName","_customKeys"]; +private ["_returnValue","_sideKeyName","_customKeys"]; -_unit = [_this, 0, objNull, [objNull]] call bis_fnc_param; -_veh = [_this, 1, objNull, [objNull]] call bis_fnc_param; +PARAMS_2(_unit,_veh); -if (isNull _unit) exitWith {["ACE_VehicleLock_fnc_hasKeyForVehicle: null unit"] call BIS_fnc_error; false}; -if (isNull _veh) exitWith {["ACE_VehicleLock_fnc_hasKeyForVehicle: null vehicle"] call BIS_fnc_error; false}; +if (isNull _unit) exitWith {ERROR("null unit"); false}; +if (isNull _veh) exitWith {ERROR("null vehicle"); false}; _returnValue = false; @@ -39,7 +35,7 @@ if (_sideKeyName in (items _unit)) then {_returnValue = true}; //Check custom keys _customKeys = _veh getVariable [QGVAR(customKeys), []]; { - if (_x in (magazinesDetail _unit)) then {_returnValue = true;}; + if (_x in (magazinesDetail _unit)) then {_returnValue = true;}; } forEach _customKeys; _returnValue diff --git a/addons/vehiclelock/functions/fnc_lockpick.sqf b/addons/vehiclelock/functions/fnc_lockpick.sqf index 94feb71e61..4fee354824 100644 --- a/addons/vehiclelock/functions/fnc_lockpick.sqf +++ b/addons/vehiclelock/functions/fnc_lockpick.sqf @@ -1,79 +1,66 @@ /* -Name: ACE_VehicleLock_fnc_lockpick - -Author: Pabst Mirror - -Description: - Handles lockpick functionality from action menu. - -Parameters: - 0: OBJECT - unit - 1: OBJECT - vehicle - 2: STRING - function type - "canLockpick": returns BOOL if lockpick is possible - "startLockpick": starts the process - "finishLockpick": on completions, opens the lock - -Returns: - BOOL - -Example: - [ACE_player, ACE_Interaction_Target, 'canLockpick'] call ACE_VehicleLock_fnc_lockpick -*/ - + * Author: PabstMirror + * Handles lockpick functionality. Three different functions: + * "canLockpick": returns BOOL if lockpick is possible + * "startLockpick": starts the process + * "finishLockpick": on completions, opens the lock + * + * Arguments: + * 0: Unit (player) + * 1: Vehicle + * 2: Function Type + * + * Return Value: + * "canLockpick" + * + * Example: + * [ACE_player, ACE_Interaction_Target, 'canLockpick'] call ACE_VehicleLock_fnc_lockpick + * + * Public: No + */ #include "script_component.hpp" -private ["_unit","_veh","_funcType","_vehLockpickStrenth","_returnValue", "_condition"]; +private ["_vehLockpickStrenth","_condition","_returnValue"]; -_unit = [_this, 0, objNull, [objNull]] call bis_fnc_param; -_veh = [_this, 1, objNull, [objNull]] call bis_fnc_param; -_funcType = [_this, 2, "", [""]] call bis_fnc_param; +PARAMS_3(_unit,_veh,_funcType); -if (isNull _unit) exitWith { - ["ACE_VehicleLock_fnc_lockpick: null unit"] call BIS_fnc_error; - false -}; -if (isNull _veh) exitWith { - ["ACE_VehicleLock_fnc_lockpick: null vehicle"] call BIS_fnc_error; - false -}; +if (isNull _unit) exitWith {ERROR("null unit"); false}; +if (isNull _veh) exitWith {ERROR("null vehicle"); false}; //need lockpick item -if (!("ACE_key_lockpick" in (items _unit))) exitWith { - false -}; +if (!("ACE_key_lockpick" in (items _unit))) exitWith {false}; _vehLockpickStrenth = _veh getVariable[QGVAR(lockpickStrength), GVAR(DefaultLockpickStrength)]; -if (typeName _vehLockpickStrenth != "SCALAR") exitWith { - ["ACE_VehicleLock_fnc_lockpick: 'ACE_vehicleLock_LockpickStrength' invalid: (%1)", _veh] call BIS_fnc_error; - false -}; +if (typeName _vehLockpickStrenth != "SCALAR") exitWith {ERROR("ACE_vehicleLock_LockpickStrength invalid"); false}; //-1 indicates unpickable lock -if (_vehLockpickStrenth < 0) exitWith { - false +if (_vehLockpickStrenth < 0) exitWith {false}; + +//Condition check for progressBar +_condition = { + PARAMS_1(_args); + EXPLODE_2_PVT(_args,_unit,_veh); + ((_unit distance _veh) < 5) && {(speed _veh) < 0.1} }; +if (!([[_unit, _veh]] call _condition)) exitWith {false}; + _returnValue = false; - switch (true) do { case (_funcType == "canLockpick"): { - _returnValue = true; - }; -case (_funcType == "startLockpick"): { - _condition = { - PARAMS_1(_args); - EXPLODE_2_PVT(_args,_unit,_veh); - ([_unit] call EFUNC(common,canInteract)) && ((_unit distance _veh) < 5) && ((speed _veh) < 1) + _returnValue = true; + }; +case (_funcType == "startLockpick"): { + [_vehLockpickStrenth, [_unit, _veh, "finishLockpick"], {(_this select 0) call FUNC(lockpick)}, {}, (localize "STR_ACE_Vehicle_Action_LockpickInUse"), _condition] call EFUNC(common,progressBar); + _returnValue = true; }; - [_vehLockpickStrenth, [_unit, _veh, "finishLockpick"], {(_this select 0) call FUNC(lockpick)}, {}, (localize "STR_ACE_Vehicle_Action_LockpickInUse"), _condition] call EFUNC(common,progressBar); - }; case (_funcType == "finishLockpick"): { - ["SetVehicleLock", [_veh], [_veh, false]] call EFUNC(common,targetEvent); - }; - default { - ["ACE_VehicleLock_fnc_lockpick: bad function type"] call BIS_fnc_error; - }; + ["VehicleLock_SetVehicleLock", [_veh], [_veh, false]] call EFUNC(common,targetEvent); + _returnValue = true; + }; + default { + ERROR("bad function type"); + }; }; -_returnValue; +_returnValue diff --git a/addons/vehiclelock/functions/fnc_moduleInit.sqf b/addons/vehiclelock/functions/fnc_moduleInit.sqf index a344185ab0..c26e8aacbd 100644 --- a/addons/vehiclelock/functions/fnc_moduleInit.sqf +++ b/addons/vehiclelock/functions/fnc_moduleInit.sqf @@ -1,22 +1,20 @@ /* -Name: ACE_VehicleLock_fnc_moduleInit - -Author: Pabst Mirror - -Description: - Function for setup module. Sets default lockpick strength, auto handout keys, and default lock state. - -Parameters: - 0: OBJECT - logic - 1: ignored - 2: BOOL - Module Activated -Returns: - Nothing - -Example: - called from module -*/ - + * Author: PabstMirror + * Function for setup module. Sets default lockpick strength and default lock state. + * + * Arguments: + * 0: The Module Logic Object + * 1: synced objects + * 2: Activated + * + * Return Value: + * None + * + * Example: + * [fromModule] call ACE_VehicleLock_fnc_hasKeyForVehicle; + * + * Public: No + */ #include "script_component.hpp" private ["_sideKeysAssignment", "_setLockState", "_lock"]; @@ -24,28 +22,28 @@ private ["_sideKeysAssignment", "_setLockState", "_lock"]; PARAMS_3(_logic,_syncedUnits,_activated); if (!_activated) exitWith {WARNING("Vehicle Lock Init Module - placed but not active");}; +if (!isServer) exitWith {}; + +//Set the GVAR for default lockpick strength +[_logic, QGVAR(DefaultLockpickStrength), "DefaultLockpickStrength"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(LockVehicleInventory), "LockVehicleInventory"] call EFUNC(common,readSettingFromModule); -_sideKeysAssignment = _logic getVariable["SideKeysAssignment", 0]; _setLockState = _logic getVariable["SetLockState", 0]; - -if (isServer) then { - [_logic, QGVAR(DefaultLockpickStrength), "LockpickStrength"] call EFUNC(common,readSettingFromModule); -}; - -//Run at mission start (anyone besides JIPs) -if (isServer || {player == player}) then { - { - if ((local _x) && {(_x isKindOf "Car") || (_x isKindOf "Tank") || (_x isKindOf "Helicopter")}) then { - //set lock state (eliminates the ambigious 1-"Default" and 3-"Locked for Player" states) - _lock = switch (_setLockState) do { - case (0): {(locked _x) in [2, 3]}; - case (1):{true}; - case (2):{false}; - }; - if (((_lock) && {(locked _x) != 2}) || {(!_lock) && {(locked _x) != 0}}) then { - TRACE_3("Setting Lock State", _lock, (typeOf _x), _x); - ["SetVehicleLock", [_x, _lock]] call EFUNC(common,localEvent); - }; - }; - } forEach vehicles; -}; +[{ + PARAMS_1(_setLockState); + { + if ((_x isKindOf "Car") || {_x isKindOf "Tank"} || {_x isKindOf "Helicopter"}) then { + //set lock state (eliminates the ambigious 1-"Default" and 3-"Locked for Player" states) + _lock = switch (_setLockState) do { + case (0): {(locked _x) in [2, 3]}; + case (1):{true}; + case (2):{false}; + }; + if (((_lock) && {(locked _x) != 2}) || {(!_lock) && {(locked _x) != 0}}) then { + TRACE_3("Setting Lock State", _lock, (typeOf _x), _x); + ["VehicleLock_SetVehicleLock", [_x], [_x, _lock]] call EFUNC(common,targetEvent); + }; + }; + } forEach vehicles; + //Delay call until mission start (so everyone has the eventHandler's installed) +}, [_setLockState], 0.25, 0.25] call EFUNC(common,waitAndExecute); diff --git a/addons/vehiclelock/functions/fnc_moduleSync.sqf b/addons/vehiclelock/functions/fnc_moduleSync.sqf index 60c23c5195..feed42e3ab 100644 --- a/addons/vehiclelock/functions/fnc_moduleSync.sqf +++ b/addons/vehiclelock/functions/fnc_moduleSync.sqf @@ -1,22 +1,20 @@ /* -Name: ACE_VehicleLock_fnc_moduleSync - -Author: Pabst Mirror - -Description: - Function for sync module. Assigns keys for all synced vehicles to any players that are synced. - -Parameters: - 0: OBJECT - logic - 1: ARRAY - synced objects (only objects at mission start, so JIP without AI won't be present) - -Returns: - Nothing - -Example: - called from module -*/ - + * Author: PabstMirror + * Function for sync module. Assigns keys for all synced vehicles to any players that are synced. + * + * Arguments: + * 0: The Module Logic Object + * 1: synced objects + * 2: Activated + * + * Return Value: + * None + * + * Example: + * [fromModule] call ACE_VehicleLock_fnc_moduleSync; + * + * Public: No + */ #include "script_component.hpp" PARAMS_3(_logic,_syncedObjects,_activated); @@ -24,29 +22,28 @@ PARAMS_3(_logic,_syncedObjects,_activated); if !(_activated) exitWith {WARNING("Vehicle Lock Sync Module - placed but not active");}; if (!isServer) exitWith {}; -_addKeyAfterGearAssign = { - private ["_syncedObjects", "_listOfVehicles"]; - _syncedObjects = _this select 0; - _listOfVehicles = []; - { - if ((_x isKindOf "Car") || (_x isKindOf "Tank") || (_x isKindOf "Helicopter")) then { - _listOfVehicles pushBack _x; +[{ + private ["_listOfVehicles"]; + PARAMS_1(_syncedObjects); + _listOfVehicles = []; + { + if ((_x isKindOf "Car") || (_x isKindOf "Tank") || (_x isKindOf "Helicopter")) then { + _listOfVehicles pushBack _x; + }; + } forEach _syncedObjects; + + if ((count _listOfVehicles) == 0) exitWith { //Verbose error for mission makers (only shows on server) + ["ACE_VehicleLock_fnc_moduleSync: no vehicles synced"] call BIS_fnc_error; }; - } forEach _syncedObjects; - if ((count _listOfVehicles) == 0) exitWith { //Verbose error for mission makers - ["ACE_VehicleLock_fnc_moduleSync: no vehicles synced"] call BIS_fnc_error; - }; + { + _unit = _x; + if (_unit isKindOf "CAManBase") then { + { + [_unit, _x, true] call FUNC(addKeyForVehicle); + } forEach _listOfVehicles; + }; + } forEach _syncedObjects; - { - _unit = _x; - if (_unit isKindOf "CAManBase") then { - { - [_unit, _x, true] call FUNC(addKeyForVehicle); - } forEach _listOfVehicles; - }; - } forEach _syncedObjects; -}; - -//Wait to add keys until various gear assigns have finished (~5 seconds) -[_addKeyAfterGearAssign, [_syncedObjects], 5, 1] call EFUNC(common,waitAndExecute); + //Wait to add keys until various gear assigns have finished (~5 seconds) +}, [_syncedObjects], 5, 1] call EFUNC(common,waitAndExecute); diff --git a/addons/vehiclelock/functions/fnc_onOpenInventory.sqf b/addons/vehiclelock/functions/fnc_onOpenInventory.sqf new file mode 100644 index 0000000000..55fee28cc6 --- /dev/null +++ b/addons/vehiclelock/functions/fnc_onOpenInventory.sqf @@ -0,0 +1,40 @@ +/* + * Author: PabstMirror + * Handles the inventory opening. + * + * Arguments: + * 0: Unit + * 1: Container + * + * Return Value: + * Handeled + * + * Example: + * [player, car] call ACE_VehicleLock_fnc_onOpenInventory; + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_2(_unit,_container); + +//Only check for player: +if (_unit != ace_player) exitWith {false}; + +_handeled = false; + +if (GVAR(LockVehicleInventory) && //if setting not enabled + {(vehicle ace_player) == ace_player} && //Player dismounted + {(_container isKindOf "Car") || (_container isKindOf "Tank") || (_container isKindOf "Helicopter")} && //container is a lockable veh + {(locked _container) in [2,3]} && //Vehicle is locked + {!([ace_player, _container] call FUNC(hasKeyForVehicle))} //player doesn't have key + ) then { + //Give feedback that vehicle is locked + playSound "ACE_Sound_Click"; + //don't open the vehicles inventory + _handeled = true; + //Just opens a dummy groundContainer + ACE_player action ["Gear", objNull]; +}; + +_handeled diff --git a/addons/vehiclelock/functions/fnc_serverSetupCustomKeyEH.sqf b/addons/vehiclelock/functions/fnc_serverSetupCustomKeyEH.sqf index f9a420841e..9d8a396e31 100644 --- a/addons/vehiclelock/functions/fnc_serverSetupCustomKeyEH.sqf +++ b/addons/vehiclelock/functions/fnc_serverSetupCustomKeyEH.sqf @@ -1,22 +1,19 @@ - /* - Name: ACE_VehicleLock_fnc_serverSetupCustomKeyEH - - Author: Pabst Mirror - - Description: - Adds a key (magazineDetail name) to approved keys for a vehicle - - Parameters: - 0: OBJECT - vehicle - 1: STRING - Magazine Name - - Returns: - Nothing - - Example: - [tank1, "someMagainze [id xx:yy]"] call ACE_VehicleLock_fnc_serverSetupCustomKeyEH; -*/ - +/* + * Author: PabstMirror + * On the server: Adds a key (magazineDetail name) to approved keys for a vehicle. + * + * Arguments: + * 0: Vehicle + * 1: Magazine Name + * + * Return Value: + * None + * + * Example: + * [tank1, "someMagainze [id xx:yy]"] call ACE_VehicleLock_fnc_serverSetupCustomKeyEH + * + * Public: Yes + */ #include "script_component.hpp" private ["_currentKeys"]; @@ -24,6 +21,7 @@ private ["_currentKeys"]; PARAMS_2(_veh,_key); if (!isServer) exitWith {ERROR("only run on server");}; +if (isNull _veh) exitWith {ERROR("null vehicle");}; if (_key == "") exitWith {ERROR("empty key string");}; _currentKeys = _veh getVariable [QGVAR(customKeys), []]; diff --git a/addons/vehiclelock/functions/fnc_setVehicleLockEH.sqf b/addons/vehiclelock/functions/fnc_setVehicleLockEH.sqf index 7aaa9b154c..cb51cb27a8 100644 --- a/addons/vehiclelock/functions/fnc_setVehicleLockEH.sqf +++ b/addons/vehiclelock/functions/fnc_setVehicleLockEH.sqf @@ -1,33 +1,25 @@ /* - Name: ACE_VehicleLock_fnc_setVehicleLockEH - - Author: Pabst Mirror - - Description: - Sets a vehicle lock state because of a "SetVehicleLock" event - - Parameters: - 0: OBJECT - vehicle - 1: BOOL - new lock state - - Returns: - Nothing - - Example: - [tank1, false] call ACE_VehicleLock_fnc_setVehicleLockEH; -*/ - + * Author: PabstMirror + * Sets a vehicle lock state because of a "VehicleLock_SetVehicleLock" event + * + * Arguments: + * 0: Vehicle + * 1: New lock state + * + * Return Value: + * None + * + * Example: + * [tank1, false] call ACE_VehicleLock_fnc_setVehicleLockEH; + * + * Public: Yes + */ #include "script_component.hpp" -private ["_veh","_isLocked","_lockNumber"]; +private ["_lockNumber"]; -_veh = [_this, 0, objNull, [objNull]] call bis_fnc_param; -_isLocked = [_this, 1, false, [false]] call bis_fnc_param; +PARAMS_2(_veh,_isLocked); _lockNumber = if (_isLocked) then {2} else {0}; - TRACE_2("Setting Lock State", _veh, _lockNumber); - _veh lock _lockNumber; - -// _veh setVariable ["ACE_LockedInventory", _isLocked, true]; //todo inventory lock diff --git a/addons/vehiclelock/readme.md b/addons/vehiclelock/readme.md index a1bd223a52..dc013145aa 100644 --- a/addons/vehiclelock/readme.md +++ b/addons/vehiclelock/readme.md @@ -5,8 +5,8 @@ Adds keys as an item, to lock and unlock vehicles. Primary target would be role play or TVT, but has uses in all game types, even co-ops (e.g.: DAC AI will steal unlocked vehicles) Two key modes (can be used together): -Simple Side based keys (e.g. "ACE_key_west" works on any hunter) -Custom keys (one key will only open a specific vehicle and nothing else) +* Simple Side based keys (e.g. "ACE_key_west" works on any [WEST] vehicle like the M-ATV//hunter) +* Custom keys (one key will only open a specific vehicle and nothing else) #### Items Added: @@ -18,24 +18,20 @@ Custom keys (one key will only open a specific vehicle and nothing else) `ACE_key_civ` #### Magazine added: -`ACE_key_customKeyMagazine` (should never be manualy added, needs to be 'programed' to work on a vehicle) +`ACE_key_customKeyMagazine` (should never be manualy added, needs to be "programed" to work on a vehicle, see `ACE_VehicleLock_fnc_addKeyForVehicle`) ## For Mission Makers: #### Modules: -* Vehicle Lock Setup - Settings for lockpick strength and initial vehicle lock state. -* Vehicle Key Assign - Sync with vehicles and players. Will handout custom keys to players for every synced vehicle. - -#### Global Variable: -* `ACE_VehicleLock_DefaultLockpickStrength` - Time in seconds to lock pick globaly, can also set per-vehicle (-1 would disable) +* Vehicle Lock Setup - Settings for locking inventory of locked vehicles, default lockpick time, and initial vehicle lock state. +* Vehicle Key Assign - Sync with vehicles and players. Will handout custom keys to players for every synced vehicle. Will NOT work for JIP units. #### Vehicle setVariables: * `ACE_VehicleLock_lockSide` - SIDE: overrides a vehicle's side, allows indfor to use little-bird's with indp keys * `ACE_vehicleLock_lockpickStrength` - NUMBER: secons, determines how long lockpicking with take, overrides ACE_VehicleLock_DefaultLockpickStrength -* `ACE_VehicleLock_customKeys` - ARRAY: array of strings of magazinesDetails, use the following function to modify -`[bob, car1, true] call ACE_VehicleLock_fnc_addKeyForVehicle;` -will add a `ACE_magazine_customKey` to bob and program it to work on car1 +#### Public Functions: +`[bob, car1, true] call ACE_VehicleLock_fnc_addKeyForVehicle;` - will add a `ACE_magazine_customKey` to bob and program it to work on car1 ## Maintainers diff --git a/addons/vehicles/XEH_postInit.sqf b/addons/vehicles/XEH_postInit.sqf index 18d9e2f580..7b1a0c575e 100644 --- a/addons/vehicles/XEH_postInit.sqf +++ b/addons/vehicles/XEH_postInit.sqf @@ -7,8 +7,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(speedLimiter), localize "STR_ACE_SpeedLimiter", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !(ACE_player == driver vehicle ACE_player && {vehicle ACE_player isKindOf 'Car' || diff --git a/addons/weaponselect/XEH_postInit.sqf b/addons/weaponselect/XEH_postInit.sqf index c268f49b3c..14c4f1aa51 100644 --- a/addons/weaponselect/XEH_postInit.sqf +++ b/addons/weaponselect/XEH_postInit.sqf @@ -7,8 +7,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(SelectPistol), localize "STR_ACE_WeaponSelect_SelectPistol", { // Conditions: canInteract - _exceptions = [QEGVAR(interaction,isNotEscorting)]; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !([ACE_player] call EFUNC(common,canUseWeapon)) exitWith {false}; @@ -22,8 +21,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(SelectRifle), localize "STR_ACE_WeaponSelect_SelectRifle", { // Conditions: canInteract - _exceptions = [QEGVAR(interaction,isNotEscorting)]; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !([ACE_player] call EFUNC(common,canUseWeapon)) exitWith {false}; @@ -37,8 +35,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(SelectRifleMuzzle), localize "STR_ACE_WeaponSelect_SelectRifleMuzzle", { // Conditions: canInteract - _exceptions = [QEGVAR(interaction,isNotEscorting)]; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !([ACE_player] call EFUNC(common,canUseWeapon)) exitWith {false}; @@ -52,8 +49,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(SelectLauncher), localize "STR_ACE_WeaponSelect_SelectLauncher", { // Conditions: canInteract - _exceptions = [QEGVAR(interaction,isNotEscorting)]; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !([ACE_player] call EFUNC(common,canUseWeapon)) exitWith {false}; @@ -67,8 +63,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(SelectBinocular), localize "STR_ACE_WeaponSelect_SelectBinocular", { // Conditions: canInteract - _exceptions = [QEGVAR(interaction,isNotEscorting)]; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !([ACE_player] call EFUNC(common,canUseWeapon)) exitWith {false}; @@ -82,8 +77,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(SelectGrenadeFrag), localize "STR_ACE_WeaponSelect_SelectGrenadeFrag", { // Conditions: canInteract - _exceptions = [QEGVAR(interaction,isNotEscorting)]; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !([ACE_player] call EFUNC(common,canUseWeapon)) exitWith {false}; @@ -97,8 +91,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(SelectGrenadeOther), localize "STR_ACE_WeaponSelect_SelectGrenadeOther", { // Conditions: canInteract - _exceptions = [QEGVAR(interaction,isNotEscorting)]; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !([ACE_player] call EFUNC(common,canUseWeapon)) exitWith {false}; @@ -112,8 +105,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(HolsterWeapon), localize "STR_ACE_WeaponSelect_HolsterWeapon", { // Conditions: canInteract - _exceptions = [QEGVAR(interaction,isNotEscorting)]; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !([ACE_player] call EFUNC(common,canUseWeapon)) exitWith {false}; @@ -127,8 +119,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(EngineOn), localize "STR_ACE_WeaponSelect_EngineOn", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !(ACE_player != vehicle ACE_player && {ACE_player == driver vehicle ACE_player} && {!isEngineOn vehicle ACE_player}) exitWith {false}; @@ -142,8 +133,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(EngineOff), localize "STR_ACE_WeaponSelect_EngineOff", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !(ACE_player != vehicle ACE_player && {ACE_player == driver vehicle ACE_player} && {isEngineOn vehicle ACE_player}) exitWith {false}; @@ -157,8 +147,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(SelectMainGun), localize "STR_ACE_WeaponSelect_SelectMainGun", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !(ACE_player != vehicle ACE_player) exitWith {false}; @@ -172,8 +161,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(SelectMachineGun), localize "STR_ACE_WeaponSelect_SelectMachineGun", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !(ACE_player != vehicle ACE_player) exitWith {false}; @@ -187,8 +175,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(SelectMissiles), localize "STR_ACE_WeaponSelect_SelectMissiles", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !(ACE_player != vehicle ACE_player) exitWith {false}; @@ -202,8 +189,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(FireSmokeLauncher), localize "STR_ACE_WeaponSelect_FireSmokeLauncher", { // Conditions: canInteract - _exceptions = []; - if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !(ACE_player != vehicle ACE_player && {ACE_player == commander vehicle ACE_player}) exitWith {false}; diff --git a/addons/winddeflection/CfgEventHandlers.hpp b/addons/winddeflection/CfgEventHandlers.hpp index 4961d7dbc7..4f54a73c84 100644 --- a/addons/winddeflection/CfgEventHandlers.hpp +++ b/addons/winddeflection/CfgEventHandlers.hpp @@ -1,11 +1,13 @@ class Extended_PreInit_EventHandlers { class ADDON { - init = QUOTE( call compile preprocessFileLineNumbers PATHTOF(XEH_preInit.sqf) ); + init = QUOTE(call COMPILE_FILE(XEH_preInit)); }; }; -class Extended_Fired_Eventhandlers { - class CaManBase { - fired = QUOTE( call FUNC(handleFired) ); - }; -}; \ No newline at end of file +class Extended_FiredBIS_EventHandlers { + class CAManBase { + class ADDON { + firedBIS = QUOTE(_this call FUNC(handleFired)); + }; + }; +}; diff --git a/addons/winddeflection/config.cpp b/addons/winddeflection/config.cpp index 0e721846ad..972a012a89 100644 --- a/addons/winddeflection/config.cpp +++ b/addons/winddeflection/config.cpp @@ -28,4 +28,6 @@ class ACE_Settings { isClientSetable = 0; }; }; -#include "CfgVehicles.h" \ No newline at end of file + +#include "CfgEventHandlers.hpp" +#include "CfgVehicles.h" diff --git a/addons/winddeflection/functions/fnc_handleFired.sqf b/addons/winddeflection/functions/fnc_handleFired.sqf index 19677287dc..36b177ae0a 100644 --- a/addons/winddeflection/functions/fnc_handleFired.sqf +++ b/addons/winddeflection/functions/fnc_handleFired.sqf @@ -1,21 +1,24 @@ -/** - * fnc HandleFired. - * Handles wind deflection for projectiles. - * Is expected to be triggered by the fired eventhandler from BI. - * - * Params: - * 1. unit: Object - Object the event handler is assigned to - * 2. weapon: String - Fired weapon - * 3. muzzle: String - Muzzle that was used - * 4. mode: String - Current mode of the fired weapon - * 5. ammo: String - Ammo used - * 6. magazine: String - magazine name which was used - * 7. projectile: Object - Object of the projectile that was shot (Arma 2: OA and onwards) - * +/* * Author: Glowbal, Ruthberg + * Handles wind deflection for projectiles. * + * Arguments: + * 0: unit - Object the event handler is assigned to + * 1: weapon - Fired weapon + * 2: muzzle - Muzzle that was used + * 3: mode - Current mode of the fired weapon + * 4: ammo - Ammo used + * 5: magazine - magazine name which was used + * 6: projectile - Object of the projectile that was shot + * + * Return Value: + * Nothing + * + * Example: + * [clientFiredBIS-XEH] call ace_winddeflection_fnc_handleFired + * + * Public: No */ - #include "script_component.hpp" private ["_unit", "_weapon", "_ammo", "_bullet", "_airFriction", "_index"]; diff --git a/extras/assets/logo/black/ACE3-Logo.eps b/extras/assets/logo/black/ACE3-Logo.eps new file mode 100644 index 0000000000..83ec9a3852 --- /dev/null +++ b/extras/assets/logo/black/ACE3-Logo.eps @@ -0,0 +1,15918 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: Adobe Illustrator(R) 8.0 +%%AI8_CreatorVersion: 16.0.2 +%%For: (bux578) () +%%Title: (ACE3-Logo.eps) +%%CreationDate: 3/12/2015 2:49 PM +%%Canvassize: 16383 +%%BoundingBox: 354 -432 437 -411 +%%HiResBoundingBox: 354.8633 -431.0947 436.6563 -411.5649 +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%DocumentSuppliedResources: procset Adobe_level2_AI5 1.2 0 +%%+ procset Adobe_screens_AI5 1.0 0 +%%+ procset AGM_Gradient 1.0 0 +%%+ procset Adobe_ColorImage_AI6 1.3 0 +%%+ procset Adobe_Illustrator_AI5 1.3 0 +%%+ procset Adobe_pattern_AI5 1.0 0 +%%+ procset Adobe_cshow 2.0 8 +%%+ procset Adobe_shading_AI8 1.0 0 +%AI5_FileFormat 4.0 +%AI3_ColorUsage: Color +%AI7_ImageSettings: 0 +%%CMYKProcessColor: 1 1 1 1 ([Passermarken]) +%%AI6_ColorSeparationSet: 1 1 (AI6 Default Color Separation Set) +%%+ Options: 1 16 0 1 1 1 0 0 0 0 1 1 1 18 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 2 3 4 +%%+ PPD: 1 21 0 0 60 45 2 2 1 0 0 1 0 0 0 0 0 0 0 0 1 0 () +%AI3_TemplateBox: 396.3633 -422.0654 396.3633 -422.0654 +%AI3_TileBox: -13.2603 -706.8096 804.7793 -135.8496 +%AI3_DocumentPreview: Header +%AI5_ArtSize: 81.793 19.5298 +%AI5_RulerUnits: 1 +%AI5_ArtFlags: 0 0 0 1 0 0 0 0 0 +%AI5_TargetResolution: 800 +%AI5_NumLayers: 1 +%AI8_OpenToView: 342 -390 16 1821 1035 18 0 0 50 116 0 0 +%AI5_OpenViewLayers: 7 +%%PageOrigin:-8 -817 +%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 +%AI9_Flatten: 0 +%AI12_CMSettings: 00.MS +%%EndComments +%%BeginProlog +%%BeginResource: procset Adobe_level2_AI5 1.2 0 +%%Title: (Adobe Illustrator (R) Version 5.0 Level 2 Emulation) +%%Version: 1.2 0 +%%CreationDate: (04/10/93) () +%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) +userdict /Adobe_level2_AI5 26 dict dup begin + put + /packedarray where not + { + userdict begin + /packedarray + { + array astore readonly + } bind def + /setpacking /pop load def + /currentpacking false def + end + 0 + } if + pop + userdict /defaultpacking currentpacking put true setpacking + /initialize + { + Adobe_level2_AI5 begin + } bind def + /terminate + { + currentdict Adobe_level2_AI5 eq + { + end + } if + } bind def + mark + /setcustomcolor where not + { + /findcmykcustomcolor + { + (AI8_CMYK_CustomColor) + 6 packedarray + } bind def + /findrgbcustomcolor + { + (AI8_RGB_CustomColor) + 5 packedarray + } bind def + /setcustomcolor + { + exch + aload pop dup + (AI8_CMYK_CustomColor) eq + { + pop pop + 4 + { + 4 index mul + 4 1 roll + } repeat + 5 -1 roll pop + setcmykcolor + } + { + dup (AI8_RGB_CustomColor) eq + { + pop pop + 3 + { + 1 exch sub + 3 index mul + 1 exch sub + 3 1 roll + } repeat + 4 -1 roll pop + setrgbcolor + } + { + pop + 4 + { + 4 index mul 4 1 roll + } repeat + 5 -1 roll pop + setcmykcolor + } ifelse + } ifelse + } + def + } if + /setAIseparationgray + { + false setoverprint + 0 setgray + /setseparationgray where{ + pop setseparationgray + }{ + /setcolorspace where{ + pop + [/Separation (All) /DeviceCMYK {dup dup dup}] setcolorspace + 1 exch sub setcolor + }{ + setgray + }ifelse + }ifelse + } def + + /gt38? mark {version cvr cvx exec} stopped {cleartomark true} {38 gt exch pop} ifelse def + userdict /deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt put + userdict /level2? + systemdict /languagelevel known dup + { + pop systemdict /languagelevel get 2 ge + } if + put +/level2ScreenFreq +{ + begin + 60 + HalftoneType 1 eq + { + pop Frequency + } if + HalftoneType 2 eq + { + pop GrayFrequency + } if + HalftoneType 5 eq + { + pop Default level2ScreenFreq + } if + end +} bind def +userdict /currentScreenFreq + level2? {currenthalftone level2ScreenFreq} {currentscreen pop pop} ifelse put +level2? not + { + /setcmykcolor where not + { + /setcmykcolor + { + exch .11 mul add exch .59 mul add exch .3 mul add + 1 exch sub setgray + } def + } if + /currentcmykcolor where not + { + /currentcmykcolor + { + 0 0 0 1 currentgray sub + } def + } if + /setoverprint where not + { + /setoverprint /pop load def + } if + /selectfont where not + { + /selectfont + { + exch findfont exch + dup type /arraytype eq + { + makefont + } + { + scalefont + } ifelse + setfont + } bind def + } if + /cshow where not + { + /cshow + { + [ + 0 0 5 -1 roll aload pop + ] cvx bind forall + } bind def + } if + } if + cleartomark + /anyColor? + { + add add add 0 ne + } bind def + /testColor + { + gsave + setcmykcolor currentcmykcolor + grestore + } bind def + /testCMYKColorThrough + { + testColor anyColor? + } bind def + userdict /composite? + 1 0 0 0 testCMYKColorThrough + 0 1 0 0 testCMYKColorThrough + 0 0 1 0 testCMYKColorThrough + 0 0 0 1 testCMYKColorThrough + and and and + put + composite? not + { + userdict begin + gsave + /cyan? 1 0 0 0 testCMYKColorThrough def + /magenta? 0 1 0 0 testCMYKColorThrough def + /yellow? 0 0 1 0 testCMYKColorThrough def + /black? 0 0 0 1 testCMYKColorThrough def + grestore + /isCMYKSep? cyan? magenta? yellow? black? or or or def + /customColor? isCMYKSep? not def + end + } if + end defaultpacking setpacking +%%EndResource +%%BeginResource: procset Adobe_screens_AI5 1.2 0 +%%Title: (Adobe Illustrator (R) Version 5.0 Custom Halftone Screens ProcSet) +%%Version: 1.2 0 +%%CreationDate: (03/24/93) () +%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) +userdict /defaultpacking currentpacking put true setpacking +systemdict begin +userdict /Adobe_screens_AI5 15 dict dup begin +put +/initialize +{ + Adobe_screens_AI5 begin + /screenid + deviceDPI 600 gt composite? not or + { + -1 + } + { + deviceDPI currentScreenFreq + dup dup 60 ge exch 150 le and deviceDPI 300 le and + { + pop 60 + } if + div 1.41421 div 0.5 add cvi + } ifelse + def + + 2 screenid eq + { + /customsize 16 def + /customdata /customdata2 def + setcustomscreen + } if + + 3 screenid eq + { + /customsize 24 def + /customdata /customdata3 def + setcustomscreen + } if + + 4 screenid eq + { + /customsize 16 def + /customdata /customdata4 def + setcustomscreen + } if + + 5 screenid eq + { + /customsize 20 def + /customdata /customdata5 def + setcustomscreen + } if + + 6 screenid eq + { + /customsize 24 def + /customdata /customdata6 def + setcustomscreen + } if + + 7 screenid eq + { + /customsize 28 def + /customdata /customdata7 def + setcustomscreen + } if + + 8 screenid eq + { + /customsize 16 def + /customdata /customdata8 def + setcustomscreen + } if +} def +/terminate +{ + currentdict Adobe_screens_AI5 eq + { + end + } if +} def +/setcustomscreen +{ + deviceDPI customsize div 0 + { + 1 add 2 div customsize mul cvi exch + 1 add 2 div customsize mul cvi exch + customsize mul add + customdata load exch get 256 div + } setscreen +} def +/customdata2 28 28 mul string def +currentfile customdata2 readhexstring +4180E8694988E2634382EA6B4B8AE061A01939C8A81737C2A21B3BCAAA1636C0 +F8795998F6775796FA7B5B9AF57656952ED8B80727D6B60F2FDABA0626D5B50E +4E8DE6674786EE6F4F8EE5664685ED6EAD1434C6A61F3FCEAE1232C5A51E3ECD +F3745493FE7F5F9EF1725291FD7E5E9D24D3B30C2CDEBE0222D1B10A2ADDBD04 +4483EB6C4C8BE1624281E96A4A89E364A31C3CCBAB1535C1A11A3AC9A91838C3 +FB7C5C9BF4755594F97A5A99F778589730DBBB0525D4B40D2DD9B90828D7B710 +508FE4654584EC6D4D8CE7684887EF70AF1131C4A41D3DCCAC1333C7A72040CF +F0715190FC7D5D9CF2735392FF80609F21D0B00929DCBC0323D2B20B2BDFBF01 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000 +pop pop +/customdata3 28 28 mul string def +currentfile customdata3 readhexstring +011DC7F5E73D0421CBF3E43A021EC8F6E83E0522CCF2E43A2B648BC4A0762F68 +8AC39E732C658CC5A177306989C29D72D5B6521A6192D9B55219608FD6B6531B +6193DAB451185F8FFCEE440C28D2FCED430B27D1FDEF450C29D3FBEC420A26D0 +BEA77D366F83BCA77C356E87BFA87E377082BBA67B346D86145B99E0AE4A1259 +98DFB14E155C9AE1AD4A115897DEB04D0623CDF4E63C0420CAF8EA400723CDF4 +E53B031FC9F7E93F316988C19F752E678EC6A378326A88C09F742D668DC6A278 +DBB350175E91D8B8551C6395DCB24F165D90D7B7541C6294FAEC420925CFFFF1 +470E2BD5F9EB410824CEFEF0460D2AD4BAA57A336C85BEAA80397180B9A47933 +6B84BDA97F387181105797DDAF4C145A9CE3AB480F5696DDAE4B13599BE2AC49 +021EC8F6E83E0522CCF2E43A011DC7F5E73D0421CBF3E43A2C658CC5A1773069 +89C29D722B648BC4A0762F688AC39E73D6B6531B6193DAB451185F8FD5B6521A +6192D9B55219608FFDEF450C29D3FBEC420A26D0FCEE440C28D2FCED430B27D1 +BFA87E377082BBA67B346D86BEA77D366F83BCA77C356E87155C9AE1AD4A1158 +97DEB04D145B99E0AE4A125998DFB14E0723CDF4E53B031FC9F7E93F0623CDF4 +E63C0420CAF8EA40326A88C09F742D668DC6A278316988C19F752E678EC6A378 +DCB24F165D90D7B7541C6294DBB350175E91D8B8551C6395F9EB410824CEFEF0 +460D2AD4FAEC420925CFFFF1470E2BD5B9A479336B84BDA97F387181BAA57A33 +6C85BEAA803971800F5696DDAE4B13599BE2AC49105797DDAF4C145A9CE3AB48 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000 +pop pop +/customdata4 28 28 mul string def +currentfile customdata4 readhexstring +1139B8E0FAD2531B133BBAE2F8D05119417180A6AE9A7B4B437382A5AD987949 +C08867272F6F92CAC28A66262E6E90C8E8DE5F070F37B6F2EADD5E060E36B5F0 +FED6571F173FBEE6FDD5561E163EBDE5AB9E7F4F477786A1A99D7E4E467685A3 +2C6C96CEC68E62222A6A95CDC58D64240C34B3F6EED95A020A32B1F5EDDB5C04 +143CBBE3F9D1521A123AB9E1FBD3541C447483A4AC997A4A427281A7AF9B7C4C +C38B65252D6D91C9C1896828307093CBEBDC5D050D35B4F1E9DF60081038B7F3 +FCD4551D153DBCE4FFD758201840BFE7A89C7D4D457584A2AA9F8050487887A0 +296994CCC48C63232B6B97CFC78F61210931B0F4ECDA5B030B33B2F7EFD85901 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000 +pop pop +/customdata5 28 28 mul string def +currentfile customdata5 readhexstring +010B34C3EBFCF7CE3F16020C35C4EDFBF6CD3E15102552A4D6EADDB5632B1126 +54A5D5EADCB3622A3958768499C19E8C7C5E3A59778498C19D8B7B5DC8A99370 +47334C7587AFC9AA936F46324B7485AEF1E5BC6B1E0A2351A3D8F2E4BC6A1E09 +2351A2D7FFF9D14219050F38C6EFFEF9D04118040E37C6EFE8E0B7662D142856 +A8D3E7DFB7652D132856A7D4BF9C8E7F603D5B7A8195BE9A8E7E603C5B798297 +314A7389B2CCAD906D442F497289B1CBAC926E4508214FA1DBF4E2B9671B0720 +4EA0DAF4E3BA691C030D36C5EDFBF6CD3F16010C34C3ECFDF8CF4017122654A6 +D4E9DDB4622A112553A5D6EBDEB5642C3B59788397C09C8B7C5D3A58778599C2 +9E8C7D5FCAAB926E46314B7486AFC8AA947048334D7587B0F2E4BB691D082250 +A1D8F1E6BD6B1F0A2452A3D9FDF8CF4118030E36C5EEFFFAD1421A050F38C7F0 +E6DFB6642C132755A7D3E8E1B8662E152957A8D2BE9A8D7E5F3B5A798296BF9B +8F80613D5C7B80952F487188B1CAAC916D443049728AB3CCAE906C43061F4D9F +DAF3E2BA681C07214FA0DBF5E1B8671A00000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000 +pop pop +/customdata6 28 28 mul string def +currentfile customdata6 readhexstring +081A44B6E0F2FDECC150250C091B45B6E1F3FCEBC04F240C1D336199C7D8DCD3 +A56C37221E33619AC8D7DBD2A46B36214864798091AEB1958C7E694C49657A81 +90ADB0948B7D684BB99D8475593C405C7888A1BEBA9E8574583B3F5B7888A0BD +E4CBAA712E1215326098CFE8E4CCA9712D1114315F97CEE7F5F1C6552B040719 +43B5DFFAF6F0C6542A03061842B4DEF9FFEDC352270E0B1C47B8E3F4FEECC251 +260D0A1C46B7E2F4DAD5A76E39232035639CCAD5D9D4A66D38231F34629BC9D6 +AF938E806A4E4A677C838FABAE928D7F694D4A667B828FAC3E5A778AA3BFBC9F +8772563A3D597689A2BEBB9F8673573A14305E97D1EAE6CDA76F2B0F132F5D96 +D0E9E5CDA8702C10051742B3DDFCF8EEC4522801041641B2DDFBF7EFC5532902 +091B45B6E1F3FCEBC04F240C081A44B6E0F2FDECC150250C1E33619AC8D7DBD2 +A46B36211D336199C7D8DCD3A56C372249657A8190ADB0948B7D684B48647980 +91AEB1958C7E694CBA9E8574583B3F5B7888A0BDB99D8475593C405C7888A1BE +E4CCA9712D1114315F97CEE7E4CBAA712E1215326098CFE8F6F0C6542A030618 +42B4DEF9F5F1C6552B04071943B5DFFAFEECC251260D0A1C46B7E2F4FFEDC352 +270E0B1C47B8E3F4D9D4A66D38231F34629BC9D6DAD5A76E39232035639CCAD5 +AE928D7F694D4A667B828FACAF938E806A4E4A677C838FAB3D597689A2BEBB9F +8673573A3E5A778AA3BFBC9F8772563A132F5D96D0E9E5CDA8702C1014305E97 +D1EAE6CDA76F2B0F041641B2DDFBF7EFC5532902051742B3DDFCF8EEC4522801 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000 +pop pop +/customdata7 28 28 mul string def +currentfile customdata7 readhexstring +01061B44B7E1F5FEFBE6BD4A210C01071B45B8E1F6FDFBE6BC4A200B09132A54 +A7D1EAF5EED9B05D331609142B55A8D2EAF4EED9AF5C32161D2D3D6993C1CBE0 +CEC59B7140301E2E3D6A93C0CADFCDC49A713F3047576C7B828DA2B6A48F867E +6F5A48576C7C828CA1B6A38F867E6E59BAAA958A78634E4451667A8498ADBAAB +968977624E4350657A8398ADE3D4C99F7539251A273C6892C2D7E4D4C89E7539 +241A273B6891C1D6F8F2DDB460371005122A53A7D0ECF9F2DDB360360F051229 +53A6D0EBFFFDE8BE4C220D03081D46B9E3F7FFFCE7BD4B210D02071C46B8E2F7 +F3F0DBB15E34180B152C56A9D3E8F3EFDAB05D34170A142C55A9D2E9DFCCC69C +7341321F2F3F6B94BFC9DECCC59C7241311F2E3E6A94BFCAB5A38E8780705B49 +596D7D808BA0B4A28D877F6F5B48586D7C818BA043506479859AAFBCAC978876 +614C424F64798499AEBBAB968977624D19263B6791C3D8E5D6C79D7337231825 +3A6690C3D7E5D5C79E74382304112952A5CFEDFAF0DBB25E350E03102851A5CE +ECF9F1DCB25F360E01071B45B8E1F6FDFBE6BC4A200B01061B44B7E1F5FEFBE6 +BD4A210C09142B55A8D2EAF4EED9AF5C321609132A54A7D1EAF5EED9B05D3316 +1E2E3D6A93C0CADFCDC49A713F301D2D3D6993C1CBE0CEC59B71403048576C7C +828CA1B6A38F867E6E5947576C7B828DA2B6A48F867E6F5ABAAB968977624E43 +50657A8398ADBAAA958A78634E4451667A8498ADE4D4C89E7539241A273B6891 +C1D6E3D4C99F7539251A273C6892C2D7F9F2DDB360360F05122953A6D0EBF8F2 +DDB460371005122A53A7D0ECFFFCE7BD4B210D02071C46B8E2F7FFFDE8BE4C22 +0D03081D46B9E3F7F3EFDAB05D34170A142C55A9D2E9F3F0DBB15E34180B152C +56A9D3E8DECCC59C7241311F2E3E6A94BFCADFCCC69C7341321F2F3F6B94BFC9 +B4A28D877F6F5B48586D7C818BA0B5A38E8780705B49596D7D808BA0424F6479 +8499AEBBAB968977624D43506479859AAFBCAC978876614C18253A6690C3D7E5 +D5C79E74382319263B6791C3D8E5D6C79D73372303102851A5CEECF9F1DCB25F +360E04112952A5CFEDFAF0DBB25E350E +pop pop +/customdata8 28 28 mul string def +currentfile customdata8 readhexstring +050F2747B6D6EEF8FEF4DCBC4D2D1507111D375F9EC6E0E9EBE6CCA4653D1F13 +2939556F8EA8C1D1D3C3AE9475573B2B4961717D808999B1B39B8B867F73634B +B8A090827A6A5A42445C6C7C8492A2BAD8C8AA97785232222434546E8DACCADA +F0E2CFA768401A0A0C1C365E9DC5E4F2FAF7DFBF50301802040E2646B5D5EDFC +FFF5DDBD4E2E160806102848B7D7EFF9EAE7CDA5663E2014121E38609FC7E1E8 +D2C2AF9576583C2C2A3A56708FA9C0D0B29A8A878074644C4A62727E818898B0 +435B6B7B8593A3BBB9A19183796959412333536D8CADCBDBD9C9AB9677513121 +0B1B355D9CC4E5F3F1E3CEA6673F1909030D2545B4D4ECFDFBF6DEBE4F2F1701 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000 +pop pop +end +end +defaultpacking setpacking +%%EndResource +%%BeginResource: procset AGM_Gradient_Sep 1.0 0 +%%Title: (AGM Gradient Procset) +%%Version: 1.0 0 +%%CreationDate: (4/26/96) () +%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) +userdict /defaultpacking currentpacking put true setpacking +userdict /AGM_Gradient_Sep 5 dict dup begin put +/AGM_Gradient_Sep_private 100 dict def +/initialize{ + AGM_Gradient_Sep begin + AGM_Gradient_Sep_private begin + _compositeJob{ + initializeSinglePassSeps + }{ + initializeMultiPassSeps + }ifelse + initializeSeps + AGM_Gradient_private begin + /_fillSD newSpotDict def + /_rampSD newSpotDict def + /_nCustomColorSD nd + end + AGM_Gradient_Sep_private + { + dup xcheck 1 index type /arraytype eq and + { + bind + }if + pop pop + }forall + AGM_Gradient_Sep + { + dup xcheck 1 index type /arraytype eq and + { + bind + }if + pop pop + }forall + end + + currentdict readonly pop + end +}def +/terminate{ + currentdict AGM_Gradient_Sep eq{ + end + }if +}def +AGM_Gradient_Sep_private begin +/initializeSeps{ + /currentoverprint { _of } def + _noImage not _level2PS not and{ + /linealFill{ + currentoverprint{ + 0 0 1 1 rectfill + }{ + mySave + 8 setImageParms + _color{ + _nCustomColorSD begin + cyan magenta yellow black + + _spotColor{ + spot1/tintImage spot1/tintValue get 1 exch sub makeByte8 put + spot2/tintImage spot2/tintValue get 1 exch sub makeByte8 put + }if + end + + 4{ + makeByte8 4 1 roll + }repeat + true 4 _nCustomColorSD ncolorimage + }{ + _nCustomColorSD/black get 1 exch sub makeByte8 + _nCustomColorSD bwImage + }ifelse + myRestore + }ifelse + }def + }if + /_whiteBytes 1 makeByte8 pt + /knockOut{ + _noImage _level2PS or currentoverprint or{ + gsave + false setoverprint + 1 setgray + 0 0 1 1 rectfill + grestore + }{ + 8 setImageParms _whiteBytes /_image load 5 execImage + }ifelse + }def + /newSpotDict{ + 11 dict dup begin + /nSpots 2 def + /spot1 7 dict def + /spot2 7 dict def + end + }def + /initSpotData + { + begin + /name nd + /tintImage nd + /tintValue nd + /spot_C nd + /spot_M nd + /spot_Y nd + /spot_K nd + end + }def + /initSpotDict{ + begin + /cyanInk nd + /magentaInk nd + /yellowInk nd + /blackInk nd + /cyan nd + /magenta nd + /yellow nd + /black nd + spot1 initSpotData + spot2 initSpotData + end + }def + /copySpotDict{ + /_dst xp + begin + cyanInk magentaInk yellowInk blackInk + cyan magenta yellow black + spot1 spot2 + end + _dst begin + /spot1 spot1 maxlength dict def + /spot2 spot2 maxlength dict def + spot2 copy pop + spot1 copy pop + /black xd + /yellow xd + /magenta xd + /cyan xd + /blackInk xd + /yellowInk xd + /magentaInk xd + /cyanInk xd + end + }def + /setCustomColor + { + 1 index /Black eq{ + 6 1 roll 5 npop + 1 exch sub + setgray + }{ + 6 1 roll _ccAry1 astore exch + dup null eq{ + pop 0 + }if + setcustomcolor + }ifelse + }def + /setCStop{ + /_colorStyle exch pt + + _colorStyle 0 eq{ + 0 0 0 + 4 -1 roll + 1 exch sub + _spotColor{ + /_colorStyle 3 pt + /Black + 1 index + 1 exch sub + }if + }if + _colorStyle 2 eq{ + 3 npop + }if + _rampSD _fillSD copySpotDict + + _colorStyle 4 eq{ + pop + 9 2 roll 3 npop 6 -2 roll + } if + + _colorStyle 3 eq _colorStyle 4 eq or{ + + _fillSD begin + /_spot1 spot1 pt + /_spot2 spot2 pt + end + + exch dup _spot1/name get eq{ + _spot1 _spot2 + }{ + _spot2 _spot1 + }ifelse + begin + begin + /name xd + 1 exch sub /tintValue xd + 4{ + tintValue mul 4 1 roll + }repeat + _spotColor not{ + /tintValue null def + }if + end + /tintValue 0 def + end + }if + _fillSD nsetcustomcolor + }def + /renderCMYK{ + spot1/name get null eq + spot2/name get null eq and + dup not{ + pop + spot1 spotConverted + }if + dup not{ + pop + spot2 spotConverted + }if + }def + /currentInk{ + true + _inRipSep{ + currentcolorspace 0 get + dup /DeviceGray eq + 1 index /DeviceCMYK eq or{ + pop + currentcmykcolor add add add 0 eq{ + pop false + }if + }{ + /Separation eq{ + currentcolor 0 eq{ + pop false + }if + }if + }ifelse + }{ + currentgray 1 eq{ + pop false + }if + }ifelse + }def + /currentInkN{ + + _nCustomColorSD begin + /_spot1 spot1 pt + /_spot2 spot2 pt + renderCMYK + end + { + currentInk + }{ + gsave + _spot1 begin + name null ne{ + spot_C spot_M spot_Y spot_K name tintValue setCustomColor + currentInk + }{ + false + }ifelse + end + _spot2 begin + name null ne{ + spot_C spot_M spot_Y spot_K name tintValue setCustomColor + currentInk + }{ + false + }ifelse + end + grestore + + or + } ifelse + }def + /fill_ /fill load def + /fillOvp{ + currentoverprint{ + _inRipSep{ + currentcolorspace 0 get + dup /DeviceGray eq + 1 index /DeviceCMYK eq or{ + pop + currentcmykcolor add add add 0 eq{ + newpath + }if + }{ + /Separation eq{ + currentcolor 0 eq{ + newpath + }if + }if + }ifelse + }{ + currentgray 1 eq{ + newpath + }if + }ifelse + }if + fill_ + }def + /fill{ + _nCustomColorSD begin + /_spot1 spot1 pt + /_spot2 spot2 pt + renderCMYK + end + + { + fillOvp + }{ + _spot1 begin + gsave + name null ne{ + spot_C spot_M spot_Y spot_K name tintValue setCustomColor + }{ + 1 setgray + }ifelse + fillOvp + grestore + end + _spot2 begin + name null ne{ + gsave + true setoverprint + spot_C spot_M spot_Y spot_K name tintValue setCustomColor + fillOvp + grestore + }if + end + newpath + }ifelse + }def + /expandSpot{ + _spotColor{ + /_len xp + _rampSD begin + spot1 begin + tintImage null ne{ + tintImage _len expandOne /tintImage xd + }if + end + spot2 begin + tintImage null ne{ + tintImage _len expandOne /tintImage xd + }if + end + end + }{ + pop + }ifelse + }def + /rampImage{ + currentoverprint{ + rectImage + }{ + _enabledSmoothShade{ + fillRamp + }{ + _color{ + _rampSD begin + /cyanInk _cyanData 0 ne def + /magentaInk _magentaData 0 ne def + /yellowInk _yellowData 0 ne def + /blackInk _blackData 0 ne def + end + + _nSamples setImageParms + _nSamples expandSpot + _cyanData _magentaData _yellowData _blackData _nSamples 4 expandColor + true 4 _rampSD ncolorimage + }{ + _rampSD begin + /cyanInk false def + /magentaInk false def + /yellowInk false def + /blackInk true def + end + _nSamples setImageParms + _blackData _rampSD bwImage + }ifelse + }ifelse + }ifelse + }def + /nsetcustomcolor where{ + pop + }{ + /nsetcustomcolor + { + /_nCustomColorSD xp + _nCustomColorSD begin + 4 copy + /black xd + /yellow xd + /magenta xd + /cyan xd + 4 copy + 0 ne /blackInk xd + 0 ne /yellowInk xd + 0 ne /magentaInk xd + 0 ne /cyanInk xd + end + setcmykcolor + }def + }ifelse + /nsetcustomcolorend where{ + pop + }{ + /nsetcustomcolorend + { + /_nCustomColorSD null pt + }def + }ifelse +}def +/initializeSinglePassSeps{ + /_decodeNorm [0 1] pt + /_decodeInvert [1 0] pt + /spotConverted + { + begin + name null eq{ + false + }{ + tintValue null eq tintImage null eq and{ + true + }{ + _inDistiller{ + false + }{ + false + currentpagedevice/SeparationColorNames get{name eq or}forall + not + }ifelse + }ifelse + }ifelse + end + }def + /dictImage + { + 20 dict dup begin + /Dict xd + /Decode xd + /DataSource xd + /ImageMatrix xd + /BitsPerComponent xd + /Height xd + /Width xd + /ImageType 1 def + Dict + end + /_image load 1 execImage + }def + /bwImage{ + begin + gsave + currentoverprint{ + blackInk{ + [/Separation /Black /DeviceGray{}] setcolorspace + _decodeInvert dictImage + }{ + 5 npop + }ifelse + }{ + /DeviceGray setcolorspace + _decodeNorm dictImage + }ifelse + grestore + end + }def + /ncolorimage where{ + pop + }{ + /ncolorimage{ + begin + renderCMYK{ + cyanInk + magentaInk and + yellowInk and + blackInk and + not + currentoverprint + and{ + pop pop + gsave + cyanInk{ + 8 copy + [/Separation /Cyan /DeviceGray{}] setcolorspace + 3 npop + _decodeNorm dictImage + }if + magentaInk{ + 8 copy + [/Separation /Magenta /DeviceGray{}] setcolorspace + 4 -1 roll + 3 npop + _decodeNorm dictImage + }if + yellowInk{ + 8 copy + [/Separation /Yellow /DeviceGray{}] setcolorspace + 4 -2 roll + 3 npop + _decodeNorm dictImage + }if + blackInk{ + 4 -3 roll + [/Separation /Black /DeviceGray{}] setcolorspace + 3 npop + _decodeNorm dictImage + }{ + 8 npop + }ifelse + grestore + }{ + /_colorimage load 10 execImage + }ifelse + }{ + 6 npop + gsave + spot1 begin + name null ne tintImage null ne and{ + [/Separation name /DeviceGray{}] setcolorspace + 4 copy + tintImage + name /Black eq{ + _decodeNorm + }{ + _decodeInvert + }ifelse + dictImage + }{ + 1 setgray fill + }ifelse + end + spot2 begin + true setoverprint + name null ne tintImage null ne and{ + [/Separation name /DeviceGray{}] setcolorspace + tintImage + name /Black eq{ + _decodeNorm + }{ + _decodeInvert + }ifelse + dictImage + }{ + 4 npop + 1 setgray fill + }ifelse + end + grestore + }ifelse + end + }def + }ifelse + /getRampColorSpace{ + + /_renderCMYK _rampSD begin renderCMYK end pt + + _renderCMYK not{ + _rampSD begin + [/DeviceN + [ + spot1 begin + name null ne tintImage null ne and{ + name + }if + end + spot2 begin + name null ne tintImage null ne and{ + name + }if + end + ] + _inDistiller { + /DeviceCMYK [ + spot1 begin + name null ne tintImage null ne and{ + spot_C spot_M spot_Y spot_K 1 + }{ + 0 0 0 0 0 + }ifelse + end + spot2 begin + name null ne tintImage null ne and{ + spot_C spot_M spot_Y spot_K 2 + }{ + 0 0 0 0 0 + }ifelse + end + 5 1 roll 6 -2 roll add + dup 1 eq { + pop + 8 /index cvx 1 /exch cvx /sub cvx + 9 1 /roll cvx + }{ + 2 eq { + 8 /index cvx 1 /exch cvx /sub cvx + 10 1 /roll cvx + }if + }ifelse + 4 1 /roll cvx 5 -2 /roll cvx + 8 /index cvx /mul cvx /exch cvx 9 /index cvx /mul cvx /add cvx 7 1 /roll cvx + 3 1 /roll cvx 4 -2 /roll cvx + 7 /index cvx /mul cvx /exch cvx 8 /index cvx /mul cvx /add cvx 6 1 /roll cvx + 2 1 /roll cvx 3 -2 /roll cvx + 6 /index cvx /mul cvx /exch cvx 7 /index cvx /mul cvx /add cvx 5 1 /roll cvx + 5 /index cvx /mul cvx /exch cvx 6 /index cvx /mul cvx /add cvx 4 1 /roll cvx + 6 -2 /roll cvx /pop cvx /pop cvx + ] cvx bind + }{ + /DeviceCMYK {} + }ifelse + ] setcolorspace + end + /_nColorSpace currentcolorspace pt + }if + + _nSamples 1 gt{ + /_ndx 0 pt + [blendColor] cvx exec + }if + _renderCMYK{ + /_C0 [currentcolor] pt + /_C0_Space currentcolorspace pt + }{ + /_C0 [ + _nCustomColorSD begin + spot1 begin + name null ne{ + tintValue + }if + end + spot2 begin + name null ne{ + tintValue + }if + end + end + ] pt + /_C0_Space _nColorSpace pt + }ifelse + + _nSamples 1 gt{ + /_ndx _nSamples 1 sub pt + [blendColor] cvx exec + }if + _renderCMYK{ + /_C1 [currentcolor] pt + /_C1_Space currentcolorspace pt + }{ + /_C1 [ + _nCustomColorSD begin + spot1 begin + name null ne{ + tintValue + }if + end + spot2 begin + name null ne{ + tintValue + }if + end + end + ] pt + /_C1_Space _nColorSpace pt + }ifelse + + /_rampColorSpace _C0_Space pt + _spotColor{ + nsetcustomcolorend + }if + }def +}def +/initializeMultiPassSeps{ + /invertXfer{ + [ + { + 1 exch sub + }/exec load systemdict /currenttransfer get exec /exec load + ] cvx systemdict /settransfer get exec + }def + /ccThrough{ + gsave + 1 setCustomColor + currentcmykcolor + grestore + add add add 0 ne + }def + /spotConverted + { + begin + _isCMYKSep not{ + false + }{ + name null eq{ + false + }{ + tintValue null eq tintImage null eq and{ + true + }{ + spot_C spot_M spot_Y spot_K name ccThrough + }ifelse + }ifelse + }ifelse + end + }def + /spotChannel + { + _isCMYKSep{ + pop false + }{ + /_spotDict xp + _spotDict/name get null eq{ + false + }{ + _spotDict/spot_C get + _spotDict/spot_M get + _spotDict/spot_Y get + _spotDict/spot_K get + _spotDict/name get + ccThrough + }ifelse + }ifelse + }def + /getChannelData + { + _isCMYKSep dup{ + pop renderCMYK + }if + { + _blackPlate{ + 4 1 roll 3 npop blackInk + }{ + _yellowPlate{ + 4 2 roll 3 npop yellowInk + }{ + _magentaPlate{ + 4 3 roll 3 npop magentaInk + }{ + 3 npop cyanInk + }ifelse + }ifelse + }ifelse + { + true /nonZeroData + }{ + true /zeroData + }ifelse + }{ + 4 npop + spot1/name get null ne + spot1 spotChannel and{ + spot1/tintImage get dup null ne{ + false /nonZeroData + }{ + pop false /noData + }ifelse + }{ + spot2/name get null ne + spot2 spotChannel and{ + spot2/tintImage get dup null ne{ + false /nonZeroData + }{ + pop false /noData + }ifelse + }{ + false /noData + }ifelse + }ifelse + }ifelse + }def + /renderChannelData + { + /_tmp xp + _tmp /nonZeroData ne currentoverprint and{ + pop + _tmp /zeroData eq{pop}if + 4 npop + }{ + _tmp /nonZeroData eq{ + { + invertXfer + }if + systemdict/image + get 5 execImage + }{ + pop + _tmp /zeroData eq{pop}if + 4 npop + knockOut + }ifelse + }ifelse + }def + /bwImage{ + begin + gsave + dup dup dup + getChannelData + exch pop false exch + renderChannelData + grestore + end + }def + /ncolorimage{ + begin + pop pop + gsave + spot2/name get null ne spot2 spotChannel and{ + true setoverprint + }if + getChannelData + renderChannelData + grestore + end + }def + /getRampColorSpace{ + + /_renderCMYK _rampSD begin renderCMYK end pt + + _nSamples 1 gt{ + /_ndx 0 pt + [blendColor] cvx exec + }if + + _renderCMYK{ + /_C0 [currentcolor] pt + /_C0_Space currentcolorspace pt + }{ + /_C0 [ + _nCustomColorSD begin + 0 + spot1 begin + name null ne + tintValue null ne and + spot1 spotChannel and{ + pop tintValue + }if + end + spot2 begin + name null ne + tintValue null ne and + spot2 spotChannel and{ + pop tintValue + }if + end + 1 exch sub + end + ] pt + /_C0_Space /DeviceGray pt + }ifelse + + _nSamples 1 gt{ + /_ndx _nSamples 1 sub pt + [blendColor] cvx exec + }if + + _renderCMYK{ + /_C1 [currentcolor] pt + /_C1_Space currentcolorspace pt + }{ + /_C1 [ + _nCustomColorSD begin + 0 + spot1 begin + name null ne + tintValue null ne and + spot1 spotChannel and{ + pop tintValue + }if + end + spot2 begin + name null ne + tintValue null ne and + spot2 spotChannel and{ + pop tintValue + }if + end + 1 exch sub + end + ] pt + /_C1_Space /DeviceGray pt + }ifelse + + /_rampColorSpace _C0_Space pt + _spotColor{ + nsetcustomcolorend + }if + }def +}def +end +end +defaultpacking setpacking +%%EndResource +%%BeginResource: procset AGM_Gradient 1.0 0 +%%Title: (AGM Gradient Procset) +%%Version: 1.0 0 +%%CreationDate: (4/26/96) () +%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) +userdict /defaultpacking currentpacking put true setpacking +userdict /AGM_Gradient 20 dict dup begin put +/AGM_Gradient_private 201 dict def +/initialize +{ + AGM_Gradient begin + AGM_Gradient_private begin + initializeVars + + /bd systemdict/mark get def + /ed + _level2PS + { + (>>) + }{ + (counttomark 2 idiv dup dict begin {def} repeat pop currentdict end) + } ifelse + cvx def + + _level2PS{ + initializeLev2 + }{ + initializeLev1 + }ifelse + + queryDevice + + initializeRectFill + initializeShading + initializeOps + _producingSeps{ + AGM_Gradient_Sep/initialize get exec + }{ + initializeComposite + }ifelse + _illustrator{ + /f{}def + /F{}def + /s{}def + /S{}def + /b{}def + /B{}def + }if + /image where{ + /image get /_image xd + }if + /colorimage where{ + /colorimage get /_colorimage xd + }if + AGM_Gradient_private + { + dup xcheck 1 index type /arraytype eq and + { + bind + }if + pop pop + }forall + AGM_Gradient + { + dup xcheck 1 index type /arraytype eq and + { + bind + }if + pop pop + }forall + end + + currentdict readonly pop + end +}def +/initializeAI +{ + pop pop + AGM_Gradient/AGM_Gradient_private get /_illustrator true put + AGM_Gradient/initialize get exec + AGM_Gradient begin +}def +/unload{ + systemdict/languagelevel known{ + systemdict/languagelevel get 2 ge{ + userdict/AGM_Gradient_Sep 2 copy known{ + undef + }{ + pop pop + }ifelse + userdict/AGM_Gradient 2 copy known{ + undef + }{ + pop pop + }ifelse + }if + }if +}def +/terminate{ + currentdict AGM_Gradient eq{ + end + }if +}def + +AGM_Gradient_private begin +/initializeVars{ + /_d255 256 array def + 0 1 255{ + _d255 exch dup 255 div put + }bind for + /_d255- 256 array def + 0 1 255{ + _d255- exch 1 _d255 2 index get sub put + }bind for + /_sSave nd + /_dUserSpace matrix defaultmatrix def + /_bUMatrix matrix def + /_imageMatrix matrix def + /_saveMatrix matrix def + /_xm matrix def + /_ccAry1 5 array def + /_bbox 4 array pt + /_level2PS + systemdict/languagelevel known dup{ + pop systemdict/languagelevel get 2 ge + }if + def + /_level3PS + _level2PS systemdict/shfill known and + def + currentdict /_illustrator known not{ + /_illustrator false def + }if + +}def +/initializeOps +{ + AGM_Gradient begin + currentdict/Bc known not{ + /Bc{ + + _renderFlag 2 eq _enabledSmoothShade or{ + 6 npop + }{ + pushBSpace + _rampIndex 0 eq{ + pop pop + setCStop + }if + linealFill + popBSpace + }ifelse + + }def + }if + + currentdict/Bg known not{ + /Bg{ + 10 npop + /_gradName xp + /_renderFlag xp + /_enabledSmoothShade false pt + + _renderFlag 2 ne{ + + _illustrator{ + _of setoverprint + }if + + /_enabledSmoothShade + _level3PS{ + _usingSmoothShade + _producingSeps not + currentoverprint not or and + _noImage not and + }{ + false + }ifelse + pt + + _illustrator _eo and _renderFlag 3 eq or{ + eoclip + }{ + clip + }ifelse + + _gradNames _gradName 2 copy known{ + get + mark exch aload pop + /_gradType xp + 1 sub dup /_rampIndex xp + /_maxRampIndex xp + mark exch aload pop + 0 0 + }if + pop pop + getRampData + }{ + mark mark + }ifelse + }def + }if + + currentdict/Bm known not{ + /Bm{ + _renderFlag 2 ne{ + _gradType 0 eq{ + linealRamp + }{ + radialGrad + }ifelse + }{ + 6 npop + }ifelse + }def + }if + + currentdict/Bh known not{ + /Bh{ + 2 npop + /_yHi xp + /_xHi xp + /_radHilite _xHi 0 ne _yHi 0 ne or pt + }def + }if + + currentdict/Bn known not{ + /Bn{ + AGM_Gradient_private begin + dict /_gradNames xp + end + }def + }if + + currentdict/Bd known not{ + /Bd{ + AGM_Gradient begin + AGM_Gradient_private begin + /_nColorsBd xp + /_gradType xp + /_gradName xp + }def + }if + + currentdict/BD known not{ + /BD{ + currentdict/_gradNames known not{ + /_gradNames 20 dict def + }if + ] _nColorsBd _gradType + ] _gradName exch /_gradNames xput + end + end + }def + }if + + currentdict/Bb known not{ + /Bb{ + + AGM_Gradient/AGM_Gradient_private get /_illustrator get not{ + AGM_Gradient begin + }if + AGM_Gradient_private begin + _producingSeps{ + AGM_Gradient_Sep/AGM_Gradient_Sep_private get begin + }if + mySave + }def + }if + + currentdict/BB known not{ + /BB{ + + /_tmp xp + cleartomark cleartomark + + _tmp dup + _renderFlag + + myRestore + + _producingSeps{ + end + }if + + _illustrator dup + end + not { + end + }if + + { + 2 ne exch 0 gt and{ + 2 eq{ + s + }{ + S + }ifelse + }{ + pop newpath + }ifelse + }{ + pop newpath + }ifelse + + + }def + }if + + currentdict/Xm known not{ + /Xm{ + _xm astore pop + }def + }if + + end +}def +/queryDevice{ + /_inDistiller + systemdict /currentdistillerparams known + def + /_inRipSep + _level2PS{ + currentpagedevice/Separations 2 copy known{ + get + }{ + pop pop false + }ifelse + }{ + false + }ifelse + _inDistiller or + def + /_noImage /lv1Fix where{ + pop lv1Fix + }{ + false + }ifelse + def + /_useShells where{ + /_useShells get /_usingShells xp + }{ + /_usingShells false def + }ifelse + + /_useSmoothShade where{ + pop + }{ + /_useSmoothShade false def + }ifelse + /_forceToCMYK where{ + pop + }{ + /_forceToCMYK false def + }ifelse + /_cyanPlate 1 0 0 0 testCMYKColorThrough def + /_magentaPlate 0 1 0 0 testCMYKColorThrough def + /_yellowPlate 0 0 1 0 testCMYKColorThrough def + /_blackPlate 0 0 0 1 testCMYKColorThrough def + /_compositeJob + _cyanPlate _magentaPlate and _yellowPlate and _blackPlate and + def + /_isCMYKSep + _cyanPlate _magentaPlate or _yellowPlate or _blackPlate or + def + /_compositeSpotDevice where{ + pop + }{ + /_compositeSpotDevice _compositeJob not _inRipSep or{ + 1 + }{ + 0 + }ifelse + def + }ifelse + /_producingSeps _compositeSpotDevice 0 ne def + /_deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt def + /_dpiThreshold where{ + pop + }{ + /_dpiThreshold 600 def + }ifelse + /_screenFreqThreshold where{ + pop + }{ + /_screenFreqThreshold 150 def + }ifelse + /_contoneDevice where{ + pop + }{ + /_contoneDevice false def + }ifelse + /_subSampleOK + _deviceDPI _dpiThreshold le + currentScreenFreq _screenFreqThreshold le and + _contoneDevice not and + def +}def +/initializeRectFill{ + /rectfill where dup{ + exch pop not _producingSeps or + }{ + not + }ifelse + { + /rectfill{ + gsave + newpath + 4 2 roll moveto + 1 index 0 rlineto + 0 1 index rlineto + 1 index neg 0 rlineto + pop pop + closepath + fill + grestore + }def + }if +}def +/initializeLev1{ + /currentScreenFreq{ + currentscreen pop pop + }def + /_byte 1 string def + /colorimage where{ + pop + }{ + /colorimage{ + pop pop + /_blackTmp xp + /_yellowTmp xp + /_magentaTmp xp + /_cyanTmp xp + /_cnt 0 pt + [ + _byte dup 0 + _cyanTmp + /_cnt cvx /get cvx _d255 /exch cvx /get cvx .3 /mul cvx + _magentaTmp + /_cnt cvx /get cvx _d255 /exch cvx /get cvx .59 /mul cvx + _yellowTmp + /_cnt cvx /get cvx _d255 /exch cvx /get cvx .11 /mul cvx + _blackTmp + /_cnt cvx /get cvx _d255 /exch cvx /get cvx + /add cvx /add cvx /add cvx 1 /exch cvx /sub cvx + /dup cvx 0 /lt cvx{ + pop 0 + }/if cvx + /dup cvx 1 /gt cvx{ + pop 1 + }/if cvx + 255 /mul cvx /cvi cvx + 256 /mod cvx + /dup cvx 0 /lt cvx{ + pop 0 + }/if cvx + /put cvx + /_cnt dup cvx 1 /add cvx /pt cvx + ] cvx + bind + /_image load 5 execImage + }def + }ifelse +}def +/initializeLev2{ + /level2ScreenFreq{ + begin + 60 + HalftoneType 1 eq{ + pop Frequency + }if + HalftoneType 2 eq{ + pop GrayFrequency + }if + HalftoneType 5 eq{ + pop Default level2ScreenFreq + }if + end + }def + /currentScreenFreq{ + currenthalftone level2ScreenFreq + }def +}def +/initializeShading{ + _useSmoothShade _level3PS and{ + /_usingSmoothShade true pt + initializeLev3_Ops + }{ + /_usingSmoothShade false pt + }ifelse +}def +/initializeLev3_Ops +{ + /initShFill{ + /_index _gradType 0 eq {0}{_maxRampIndex 1 sub} ifelse pt + /_rampFuncsArray _maxRampIndex array pt + /_boundsArray _maxRampIndex 1 sub array pt + /_encodeArray _maxRampIndex 2 mul array pt + /_beginCoord _rampPoint pt + /_colorSpace null pt + /_firstFill _rampIndex _maxRampIndex eq pt + /_lastFill false pt + }def + /linealShFill{ + popBSpace + _xm aload pop pushBSpace + + /_size _index 1 add pt + _size _maxRampIndex lt { + /_rampFuncsArray _rampFuncsArray 0 _size getinterval pt + /_boundsArray _boundsArray 0 _size 1 sub getinterval pt + /_encodeArray _encodeArray 0 _size 2 mul getinterval pt + }if + + bd + /ShadingType 2 + /ColorSpace _colorSpace + _rgbInCMYK{ + /Function [ + _cData sampFunc + _mData sampFunc + _yData sampFunc + _kData sampFunc + ] + }{ + /Function + bd + /FunctionType 3 + /Domain [0 1] + /Functions _rampFuncsArray + /Bounds _boundsArray + /Encode _encodeArray + ed + }ifelse + /Extend [_firstFill _lastFill] + /Domain [0 1] + /Coords [_beginCoord 0 _endCoord 0] + ed + shfill + }def + + /radialShFill{ + /_size _maxRampIndex _index sub pt + _size _maxRampIndex lt { + /_rampFuncsArray _rampFuncsArray _index _size getinterval pt + /_boundsArray _boundsArray _index _size 1 sub getinterval pt + /_encodeArray _encodeArray _index 2 mul _size 2 mul getinterval pt + }if + + /_rampLen _beginCoord _endCoord sub pt + bd + /ShadingType 3 + /ColorSpace _colorSpace + _rgbInCMYK{ + /Function [ + _cData sampFunc + _mData sampFunc + _yData sampFunc + _kData sampFunc + ] + }{ + /Function + bd + /FunctionType 3 + /Domain [0 1] + /Functions _rampFuncsArray + /Bounds _boundsArray + /Encode _encodeArray + ed + }ifelse + /Extend [_lastFill _firstFill] + /Domain [0 1] + /Coords [_xHi _rampLen mul _yHi _rampLen mul _endCoord 0 0 _beginCoord] + ed + shfill + + _radHilite{ + _xHi _rampLen mul _yHi _rampLen mul translate + }if + }def + + % + /sampFunc{ + /_tmp exch pt + bd + _tmp length 1 eq { + _tmp 0 get + /_tmp 2 string pt + dup _tmp 0 3 -1 roll put + _tmp 1 3 -1 roll put + }if + /FunctionType 0 + /Order 1 + /Size [_tmp length] + /Domain [0 1] + /BitsPerSample 8 + /DataSource _tmp + /Range [0 1] + ed + }def + + /fillRamp{ + + + /_invert _midPoint 0.5 lt pt + _rampIndex _maxRampIndex eq { + initShFill + }if + + getRampColorSpace + + _colorSpace null eq{ + /_colorSpace _rampColorSpace pt + }{ + _colorSpace _rampColorSpace ne _rgbInCMYK or{ + /_index _index 1 + _gradType 0 eq{ + sub pt + linealShFill + }{ + add pt + radialShFill + }ifelse + initShFill + /_colorSpace _rampColorSpace pt + } if + }ifelse + /_endCoord _endPoint pt + /_rgbInCMYK false pt + _producingSeps _forceToCMYK or _rgbRamp and { + _spotColor{ + _renderCMYK + }{ + _isCMYKSep + }ifelse + }{ + false + }ifelse + { + _compositeJob{ + /_rgbInCMYK true pt + _cyanData _magentaData _yellowData _blackData _nSamples 4 expandColor + dup length string copy /_kData exch pt + dup length string copy /_yData exch pt + dup length string copy /_mData exch pt + dup length string copy /_cData exch pt + }{ + _rampFuncsArray _index + _cyanPlate{_cyanData}if + _magentaPlate{_magentaData}if + _yellowPlate{_yellowData}if + _blackPlate{_blackData}if + _nSamples expandOne + sampFunc + dup begin /Decode [1 0] def end + put + /_invert false pt + }ifelse + }{ + _rampFuncsArray _index + bd + /FunctionType 2 + /Domain [0 1] + /N 0.5 log _invert{1 _midPoint sub}{_midPoint}ifelse log div + _gradType 0 eq{ + _invert{/C1}{/C0}ifelse _C0 + _invert{/C0}{/C1}ifelse _C1 + }{ + _invert{/C0}{/C1}ifelse _C1 + _invert{/C1}{/C0}ifelse _C0 + }ifelse + ed + put + }ifelse + + _rampIndex 1 ne{ + _boundsArray _index _gradType 1 eq{1 sub}if _endCoord put + } if + + 0 1 _invert {exch}if + _encodeArray _index 2 mul 1 add 3 -1 roll put + _encodeArray _index 2 mul 3 -1 roll put + _rampIndex 1 eq { + /_lastFill true pt + _gradType 0 eq{ + linealShFill + }{ + radialShFill + }ifelse + }if + /_index _index 1 + _gradType 0 eq{ + add pt + }{ + sub pt + }ifelse + }def +}def +/initializeComposite{ + /bwImage{ + pop /_image load 5 execImage + }def + /rampImage{ + _enabledSmoothShade{ + fillRamp + }{ + _color{ + _nSamples setImageParms + + + _rgbRamp _forceToCMYK not and{ + _redData _greenData _blueData _nSamples 3 expandColor + true 3 null ncolorimage + }{ + _cyanData _magentaData _yellowData _blackData _nSamples 4 expandColor + true 4 null ncolorimage + }ifelse + }{ + _nSamples setImageParms _blackData null bwImage + }ifelse + }ifelse + }def + /setCStop{ + /_colorStyle exch pt + _colorStyle 0 eq{ + 1 exch sub + 0 0 0 + 4 -1 roll + }if + + _colorStyle 2 eq{ + _forceToCMYK{ + 3 npop setcmykcolor + }{ + setrgbcolor 4 npop + }ifelse + }if + + _colorStyle 3 eq{ + 1 exch sub /_tmp xp + pop + 4{ + _tmp mul 4 1 roll + }repeat + }if + + _colorStyle 4 eq{ + _forceToCMYK{ + 6 npop setcmykcolor + }{ + 3 -1 roll pop pop + 1 exch sub /_tmp xp + 3{ + 1 exch sub _tmp mul 1 exch sub 3 1 roll + }repeat + setrgbcolor + 4 npop + }ifelse + }if + _colorStyle 2 ne _colorStyle 4 ne and{ + null nsetcustomcolor + }if + }def + /nsetcustomcolor + { + pop setcmykcolor + }def + /nsetcustomcolorend + { + }def + /ncolorimage{ + pop + /_colorimage load 10 execImage + }def + _noImage not _level2PS not and{ + /linealFill{ + 8 setImageParms + _color{ + currentcmykcolor + 4{ + makeByte8 4 1 roll + }repeat + true 4 null ncolorimage + }{ + currentgray makeByte8 null bwImage + }ifelse + }def + }if + /getRampColorSpace{ + _nSamples 1 gt{ + /_ndx 0 pt + [blendColor] cvx exec + }if + /_C0 [currentcolor] pt + /_C0_Space currentcolorspace pt + + _nSamples 1 gt{ + /_ndx _nSamples 1 sub pt + [blendColor] cvx exec + }if + /_C1 [currentcolor] pt + /_C1_Space currentcolorspace pt + + /_rampColorSpace _C0_Space pt + + _spotColor{ + nsetcustomcolorend + }if + }def +}def +/npop{ + {pop}repeat +}def +/xd{ + exch def +}def +/nd{ + null def +}def +/pt{ + AGM_Gradient_private 3 1 roll put +}def +/xp{ + exch pt +}def +/xput{ + dup load dup length exch maxlength eq{ + dup dup load dup + length 2 mul dict copy def + }if + load begin + def + end +}def +/mySave{ + save /_sSave xp +}def +/myRestore{ + _sSave type /savetype eq{ + _sSave restore + }if +}def +/gMark{ + counttomark 2 add -1 roll +}def +/execImage{ + /_tmp xp + { + exec + }stopped{ + $error /errorname get /undefinedresult ne{ + stop + }{ + _tmp npop + }ifelse + }if +}def +/pushBSpace{ + newpath gsave + _bUMatrix astore concat +}def +/popBSpace{ + grestore +}def +/makeByte8{ + /_tmp 0 pt + 255 mul cvi + 8 string 8{ + dup _tmp 3 index put + /_tmp _tmp 1 add pt + }repeat + exch pop +}def +/setImageParms{ + 1 8 2 index 0 0 1 0 0 _imageMatrix astore +}def +/linealFill{ + 0 0 1 1 rectfill +}def +/testCMYKColorThrough{ + gsave + setcmykcolor currentcmykcolor + grestore + add add add 0 ne +}def +/expandOne { + /_tmp xp + dup type /stringtype ne{ + _tmp string + exch + dup 0 ne{ + 255 mul cvi + 0 1 _tmp 1 sub{ + 3 copy + exch put pop + }for + }if + pop + }if +}def +/expandColor{ + /_channels xp + /_len xp + _channels{ + _len expandOne _channels 1 roll + }repeat +}def +/blendColor{ + + _color{ + _rgbRamp _producingSeps not and _forceToCMYK not and{ + _redData dup type /stringtype eq{ + /_ndx cvx /get cvx _d255 /exch cvx /get cvx + }if + _greenData dup type /stringtype eq{ + /_ndx cvx /get cvx _d255 /exch cvx /get cvx + }if + _blueData dup type /stringtype eq{ + /_ndx cvx /get cvx _d255 /exch cvx /get cvx + }if + /setrgbcolor cvx + }{ + _cyanData dup type /stringtype eq{ + /_ndx cvx /get cvx _d255 /exch cvx /get cvx + }if + _magentaData dup type /stringtype eq{ + /_ndx cvx /get cvx _d255 /exch cvx /get cvx + }if + _yellowData dup type /stringtype eq{ + /_ndx cvx /get cvx _d255 /exch cvx /get cvx + }if + _blackData dup type /stringtype eq{ + /_ndx cvx /get cvx _d255 /exch cvx /get cvx + }if + + _spotColor{ + _rampSD begin + /_rampSD cvx /begin cvx + + spot1 begin + tintImage dup type /stringtype eq{ + /_ndx cvx /get cvx _d255- /exch cvx /get cvx + }{ + dup null ne{ + name type /nametype ne{ + 1 exch sub + }if + }if + }ifelse + end + /spot1 cvx /tintValue 3 -1 /roll cvx /put cvx + + spot2 begin + tintImage dup type /stringtype eq{ + /_ndx cvx /get cvx _d255- /exch cvx /get cvx + }{ + dup null ne{ + name type /nametype ne{ + 1 exch sub + }if + }if + }ifelse + end + /spot2 cvx /tintValue 3 -1 /roll cvx /put cvx + /end cvx + end + /_rampSD cvx + /nsetcustomcolor cvx + }{ + /setcmykcolor cvx + }ifelse + }ifelse + }{ + _blackData dup type /stringtype eq{ + /_ndx cvx /get cvx _d255 /exch cvx /get cvx + }if + + _enabledSmoothShade{ + 1 /exch cvx /sub cvx 0 0 0 4 -1 /roll cvx /setcmykcolor cvx + }{ + /setgray cvx + }ifelse + }ifelse +}def +/useRectImage{ + _subSampleOK _enabledSmoothShade not and{ + { + mark + 0 1 dtransform atan cvi 90 mod 0 eq + 1 0 dtransform atan cvi 90 mod 0 eq + } stopped + { + cleartomark + false + } + { + and exch pop + } ifelse + }{ + false + }ifelse +}def +/linealImage{ + _noImage{ + rectImage + }{ + _producingSeps{ + AGM_Gradient_Sep/AGM_Gradient_Sep_private get + /rampImage get exec + }{ + useRectImage{ + rectImage + }{ + rampImage + }ifelse + }ifelse + }ifelse +}def +/linealRamp{ + pushBSpace + _ramp{ + linealImage + }{ + linealFill + }ifelse + popBSpace + /_rampIndex _rampIndex 1 sub pt + _rampIndex 0 gt{ + getRampData + }if +}def +/radialGrad{ + /_usingShells currentoverprint _producingSeps and _usingShells or pt + /_firstShell true pt + _enabledSmoothShade not{ + currentoverprint _producingSeps and{ + + newpath + clippath pathbbox + 1 add 4 1 roll + 1 add 4 1 roll + 1 sub 4 1 roll + 1 sub 4 1 roll + _bbox astore pop + + newpath + _bbox 0 get _bbox 1 get moveto + _bbox 2 get _bbox 1 get lineto + _bbox 2 get _bbox 3 get lineto + _bbox 0 get _bbox 3 get lineto + closepath + 6 copy + gsave _bUMatrix astore concat + 1 0 moveto 0 0 1 0 360 arc closepath + eoclip fill + popBSpace + }{ + fill + }ifelse + }if + pushBSpace + + _radHilite{ + _xHi _yHi _bUMatrix idtransform /_yHi xp /_xHi xp + _rampPoint 1 lt{ + 1 _rampPoint sub dup _xHi mul exch _yHi mul translate + }if + }if + _rampIndex{ + radialRamp + /_rampIndex _rampIndex 1 sub pt + _rampIndex 0 gt{ + getRampData + }if + }repeat + + popBSpace + +}def +/getNSamples{ + 0 exch + { + dup type /stringtype eq{ + length exch pop exit + }if + pop + }forall + dup 0 eq{ + pop 1 + }if +}def +/getRampData{ + /_rampType gMark pt + /_color _rampType 0 gt pt + /_ccRGB _rampType 5 eq _rampType 6 eq or pt + /_rgbRamp _rampType 4 eq _ccRGB or pt + /_ccProcess _rampType 2 eq _rampType 3 eq or pt + _producingSeps{ + _rampSD initSpotDict + /_spotColor _ccProcess _ccRGB or pt + }{ + /_spotColor false pt + }ifelse + /_ramp true pt + 100 div /_rampPoint xp + 100 div /_midPoint xp + + dup /_colorStyle xp + _colorStyle 0 eq{ + 2 + }{ + _colorStyle 1 eq{ + 5 + }{ + _colorStyle 2 eq{ + 8 + }{ + _colorStyle 3 eq{ + _producingSeps{ + _rampSD /spot1 get begin + /name 3 index def + /spot_K 4 index def + /spot_Y 5 index def + /spot_M 6 index def + /spot_C 7 index def + end + }if + 7 + }{ + _producingSeps{ + _rampSD/spot1 get begin + /name 4 index def + /spot_K 8 index def + /spot_Y 9 index def + /spot_M 10 index def + /spot_C 11 index def + end + }if + 11 + } ifelse + }ifelse + }ifelse + }ifelse + /_tmp xp + _tmp index 100 div /_endPoint xp + + _gradType 1 eq{ + _tmp 1 add index 100 div /_midPoint xp + }if + + _producingSeps{ + _tmp 2 add index /_nextColorStyle xp + _nextColorStyle 3 eq{ + /_tmp _tmp 4 add pt + _tmp index dup + _rampSD/spot1 get /name get ne{ + _rampSD /spot2 get begin + /name xd + /spot_K _tmp 2 add index def + /spot_Y _tmp 3 add index def + /spot_M _tmp 4 add index def + /spot_C _tmp 5 add index def + end + }{ + pop + }ifelse + }if + _nextColorStyle 4 eq{ + /_tmp _tmp 5 add pt + _tmp index dup + _rampSD/spot1 get /name get ne{ + _rampSD /spot2 get begin + /name xd + /spot_K _tmp 5 add index def + /spot_Y _tmp 6 add index def + /spot_M _tmp 7 add index def + /spot_C _tmp 8 add index def + end + }{ + pop + }ifelse + }if + }if + _rampType 3 eq _rampType 6 eq or{ + /_tint2Data gMark pt + }if + _ccProcess _ccRGB or{ + /_tint1Data gMark pt + }if + _rgbRamp{ + /_blueData gMark pt + /_greenData gMark pt + /_redData gMark pt + }if + + _producingSeps{ + _ccProcess _ccRGB or{ + _rampType 3 eq _rampType 6 eq or{ + _rampSD /spot2 get begin + /tintImage _gradType 0 eq{ + _tint2Data + }{ + _tint1Data + }ifelse + def + name null eq{ + /name /Black def + }if + end + }if + _rampSD /spot1 get begin + /tintImage _gradType 0 eq _rampType 2 eq or _rampType 5 eq or{ + _tint1Data + }{ + _tint2Data + }ifelse + def + _rampType 2 eq _rampType 5 eq or{ + name null eq{ + /name _rampSD/spot2 get /name get def + /spot_C _rampSD/spot2 get /spot_C get def + /spot_M _rampSD/spot2 get /spot_M get def + /spot_Y _rampSD/spot2 get /spot_Y get def + /spot_K _rampSD/spot2 get /spot_K get def + _rampSD/spot2 get /name null put + }if + }{ + name null eq{ + /name /Black def + }if + }ifelse + end + }if + }if + /_blackData gMark pt + _rampType 0 gt{ + counttomark 4 add -3 roll + /_yellowData xp + /_magentaData xp + /_cyanData xp + }if + _ramp{ + /_nSamples + [ + _rampType 0 eq {_blackData}if + _rampType 1 eq {_cyanData _magentaData _yellowData _blackData}if + _rampType 2 eq {_cyanData _magentaData _yellowData _blackData _tint1Data}if + _rampType 3 eq {_cyanData _magentaData _yellowData _blackData _tint1Data _tint2Data}if + _rampType 4 eq {_cyanData _magentaData _yellowData _blackData _redData _greenData _blueData}if + _rampType 5 eq {_cyanData _magentaData _yellowData _blackData _redData _greenData _blueData _tint1Data}if + _rampType 6 eq {_cyanData _magentaData _yellowData _blackData _redData _greenData _blueData _tint1Data _tint2Data}if + ] getNSamples pt + _enabledSmoothShade not {/_ramp _nSamples 1 gt pt} if + } if + + setCStop +}def +/rectImage{ + gsave + /_sInc 1 pt + /_bInc 1 _nSamples div pt + /_nSubSamples _nSamples pt + /_optimize false pt + + _subSampleOK{ + /_uRampLen 1 0 dtransform _dUserSpace idtransform dup mul exch dup mul add sqrt pt + /_pChange _uRampLen 0 eq{0}{_nSamples _uRampLen div}ifelse pt + + _pChange .5 gt dup /_optimize xp{ + /_nSubSamples _uRampLen 2 div round cvi dup 1 le{pop 2}if pt + /_bInc 1 _nSubSamples div pt + /_sInc _nSamples 1 sub _nSubSamples 1 sub div pt + }if + }if + 0 + _nSubSamples + [ + /dup cvx + _optimize { + /round cvx /cvi cvx + } if + /_ndx /exch cvx /pt cvx + blendColor + 0 0 _bInc 1 /rectfill cvx + _bInc 0 /translate cvx + _sInc /add cvx + ] cvx + bind + repeat + pop + _spotColor{ + nsetcustomcolorend + }if + grestore +}def +/radialInit{ + /_nRadSamples _nSamples dup 0 eq{pop 1}if pt + /_sInc -1 pt + /_rampLen _rampPoint _endPoint sub pt + /_bInc _rampLen _nSamples div neg pt + /_optimize false pt + _subSampleOK{ + /_uRampLen + _rampLen 0 dtransform _dUserSpace idtransform dup mul exch dup mul add sqrt + 0 _rampLen dtransform _dUserSpace idtransform dup mul exch dup mul add sqrt + 2 copy lt{ + exch + }if pop + pt + /_pChange + _uRampLen 0 eq{ + 0 + }{ + _nSamples _uRampLen div + }ifelse + pt + _pChange .5 gt dup /_optimize xp{ + /_nRadSamples _uRampLen 2 div round cvi dup 1 le{pop 2}if pt + /_bInc _rampLen _nRadSamples div neg pt + /_sInc _nSamples 1 sub _nRadSamples 1 sub div neg pt + }if + }if + _radHilite{ + /_xBCInc _xHi _rampLen mul _nRadSamples div pt + /_yBCInc _yHi _rampLen mul _nRadSamples div pt + }if +}def +/radialRamp{ + _enabledSmoothShade{ + fillRamp + }{ + /_saveMatrix _saveMatrix currentmatrix def + + radialInit + + % + % + true + _producingSeps _rgbRamp not and{ + _nSamples 1 gt{ + pop + /_ndx 0 pt + [blendColor] cvx exec + currentInkN + /_ndx _nSamples 1 sub pt + [blendColor] cvx exec + currentInkN + or + }if + }if + { + _rampPoint + + _nSamples 1 sub + + _nRadSamples + [ + /dup cvx + + _optimize{ + /round cvx /cvi cvx + }if + + /_ndx /exch cvx /pt cvx + + _usingShells{ + /_firstShell cvx{ + /_firstShell false pt + }{ + 0 0 3 index 360 0 arcn fill + }/ifelse cvx + }if + + blendColor + + _usingShells{ + 0 0 3 /index cvx 0 360 /arc cvx + }{ + 0 0 3 /index cvx 0 360 /arc cvx /fill cvx + }ifelse + + /exch cvx _bInc /add cvx /exch cvx + + _sInc /add cvx + + _radHilite{ + _xBCInc _yBCInc /translate cvx + }if + ] cvx bind + repeat + + pop pop + }{ + _usingShells{ + 0 0 _rampPoint 360 0 arcn fill + }if + }ifelse + + _saveMatrix setmatrix + + _radHilite{ + _xHi _rampLen mul _yHi _rampLen mul translate + }if + + _usingShells _rampIndex 1 eq and{ + fill + }if + + _spotColor{ + nsetcustomcolorend + }if + }ifelse +}def +end +end +defaultpacking setpacking +%%EndResource +%%BeginProcSet: Adobe_ColorImage_AI6 1.3 0 +userdict /Adobe_ColorImage_AI6 known not +{ + userdict /Adobe_ColorImage_AI6 53 dict put +} if +userdict /Adobe_ColorImage_AI6 get begin +/initialize { + Adobe_ColorImage_AI6 begin + Adobe_ColorImage_AI6 { + dup type /arraytype eq { + dup xcheck { + bind + } if + } if + pop pop + } forall +} def +/terminate { end } def +currentdict /Adobe_ColorImage_AI6_Vars known not { + /Adobe_ColorImage_AI6_Vars 41 dict def +} if +Adobe_ColorImage_AI6_Vars begin + /plateindex -1 def + /_newproc null def + /_proc1 null def + /_proc2 null def + /sourcearray 4 array def + /_ptispace null def + /_ptiname null def + /_pti0 0 def + /_pti1 0 def + /_ptiproc null def + /_ptiscale 0 def + /_pticomps 0 def + /_ptibuf 0 string def + /_gtigray 0 def + /_cticmyk null def + /_rtirgb null def + /XIEnable true def + /XIType 0 def + /XIEncoding 0 def + /XICompression 0 def + /XIChannelCount 0 def + /XIBitsPerPixel 0 def + /XIImageHeight 0 def + /XIImageWidth 0 def + /XIImageMatrix null def + /XIRowBytes 0 def + /XIFile null def + /XIBuffer1 null def + /XIBuffer2 null def + /XIBuffer3 null def + /XIDataProc null def + /XIColorSpace /DeviceGray def + /XIColorValues 0 def + /XIPlateList false def +end +/ci6colorimage /colorimage where {/colorimage get}{null} ifelse def +/ci6image systemdict /image get def +/ci6curtransfer systemdict /currenttransfer get def +/ci6curoverprint /currentoverprint where {/currentoverprint get}{{_of}} ifelse def +/ci6foureq { + 4 index ne { + pop pop pop false + }{ + 4 index ne { + pop pop false + }{ + 4 index ne { + pop false + }{ + 4 index eq + } ifelse + } ifelse + } ifelse +} def +/ci6testplate { + Adobe_ColorImage_AI6_Vars begin + /plateindex -1 def + /setcmykcolor where { + pop + gsave + 1 0 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub + 0 1 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub + 0 0 1 0 setcmykcolor systemdict /currentgray get exec 1 exch sub + 0 0 0 1 setcmykcolor systemdict /currentgray get exec 1 exch sub + grestore + 1 0 0 0 ci6foureq { + /plateindex 0 def + }{ + 0 1 0 0 ci6foureq { + /plateindex 1 def + }{ + 0 0 1 0 ci6foureq { + /plateindex 2 def + }{ + 0 0 0 1 ci6foureq { + /plateindex 3 def + }{ + 0 0 0 0 ci6foureq { + /plateindex 5 def + } if + } ifelse + } ifelse + } ifelse + } ifelse + pop pop pop pop + } if + plateindex + end +} def +/ci6concatprocs { + /packedarray where { + pop dup type /packedarraytype eq 2 index type + /packedarraytype eq or + }{ + false + } ifelse + { + /_proc2 exch cvlit def + /_proc1 exch cvlit def + _proc1 aload pop + _proc2 aload pop + _proc1 length + _proc2 length add + packedarray cvx + }{ + /_proc2 exch cvlit def + /_proc1 exch cvlit def + /_newproc _proc1 length _proc2 length add array def + _newproc 0 _proc1 putinterval + _newproc _proc1 length _proc2 putinterval + _newproc cvx + } ifelse +} def +/ci6istint { + type /arraytype eq +} def +/ci6isspot { + dup type /arraytype eq { + dup length 1 sub get /Separation eq + }{ + pop false + } ifelse +} def +/ci6spotname { + dup ci6isspot {dup length 2 sub get}{pop ()} ifelse +} def +/ci6altspace { + aload pop pop pop ci6colormake +} def +/ci6numcomps { + dup /DeviceGray eq { + pop 1 + }{ + dup /DeviceRGB eq { + pop 3 + }{ + /DeviceCMYK eq { + 4 + }{ + 1 + } ifelse + } ifelse + } ifelse +} def +/ci6marksplate { + dup /DeviceGray eq { + pop plateindex 3 eq + }{ + dup /DeviceRGB eq { + pop plateindex 5 ne + }{ + dup /DeviceCMYK eq { + pop plateindex 5 ne + }{ + dup ci6isspot { + /findcmykcustomcolor where { + pop + dup length 2 sub get + 0.1 0.1 0.1 0.1 5 -1 roll + findcmykcustomcolor 1 setcustomcolor + systemdict /currentgray get exec + 1 ne + }{ + pop plateindex 5 ne + } ifelse + }{ + pop plateindex 5 ne + } ifelse + } ifelse + } ifelse + } ifelse +} def +/ci6colormake { + dup ci6numcomps + exch 1 index 2 add 1 roll + dup 1 eq {pop}{array astore} ifelse + exch +} def +/ci6colorexpand { + dup ci6spotname exch + dup ci6istint { + ci6altspace + exch 4 1 roll + }{ + 1 3 1 roll + } ifelse +} def +/ci6colortint { + dup /DeviceGray eq { + 3 1 roll 1 exch sub mul 1 exch sub exch + }{ + dup /DeviceRGB eq { + 3 1 roll {1 exch sub 1 index mul 1 exch sub exch} forall pop 3 array astore exch + }{ + dup /DeviceCMYK eq { + 3 1 roll {1 index mul exch} forall pop 4 array astore exch + }{ + 3 1 roll mul exch + } ifelse + } ifelse + } ifelse +} def +/ci6colortocmyk { + dup /DeviceGray eq { + pop 1 exch sub 0 0 0 4 -1 roll 4 array astore + }{ + dup /DeviceRGB eq { + pop aload pop _rgbtocmyk 4 array astore + }{ + dup /DeviceCMYK eq { + pop + }{ + ci6altspace ci6colortint ci6colortocmyk + } ifelse + } ifelse + } ifelse +} def +/ci6makeimagedict { + 7 dict begin + /ImageType 1 def + /Decode exch def + /DataSource exch def + /ImageMatrix exch def + /BitsPerComponent exch def + /Height exch def + /Width exch def + currentdict end +} def +/ci6stringinvert { + 0 1 2 index length 1 sub { + dup 2 index exch get 255 exch sub 2 index 3 1 roll put + } for +} def +/ci6stringknockout { + 0 1 2 index length 1 sub { + 255 2 index 3 1 roll put + } for +} def +/ci6stringapply { + 0 1 4 index length 1 sub { + dup + 4 index exch get + 3 index 3 1 roll + 3 index exec + } for + pop exch pop +} def +/ci6walkrgbstring { + 0 3 index + dup length 1 sub 0 3 3 -1 roll { + 3 getinterval {} forall + 5 index exec + 3 index + } for + + 5 {pop} repeat +} def +/ci6walkcmykstring +{ + 0 3 index + dup length 1 sub 0 4 3 -1 roll { + 4 getinterval {} forall + + 6 index exec + + 3 index + + } for + + 5 { pop } repeat + +} def +/ci6putrgbtograystr +{ + .11 mul exch + + .59 mul add exch + + .3 mul add + + cvi 3 copy put + + pop 1 add +} def +/ci6putcmyktograystr +{ + exch .11 mul add + + exch .59 mul add + + exch .3 mul add + + dup 255 gt { pop 255 } if + + 255 exch sub cvi 3 copy put + + pop 1 add +} def +/ci6rgbtograyproc { + Adobe_ColorImage_AI6_Vars begin + sourcearray 0 get exec + XIBuffer3 + dup 3 1 roll + + /ci6putrgbtograystr load exch + ci6walkrgbstring + end +} def +/ci6cmyktograyproc { + Adobe_ColorImage_AI6_Vars begin + sourcearray 0 get exec + XIBuffer3 + dup 3 1 roll + + /ci6putcmyktograystr load exch + ci6walkcmykstring + end +} def +/ci6separatecmykproc { + Adobe_ColorImage_AI6_Vars begin + sourcearray 0 get exec + + XIBuffer3 + + 0 2 index + + plateindex 4 2 index length 1 sub { + get 255 exch sub + + 3 copy put pop 1 add + + 2 index + } for + pop pop exch pop + end +} def + +/ci6compositeimage { + dup 1 eq { + pop pop image + }{ + /ci6colorimage load null ne { + ci6colorimage + }{ + 3 1 roll pop + sourcearray 0 3 -1 roll put + 3 eq {/ci6rgbtograyproc}{/ci6cmyktograyproc} ifelse load + image + } ifelse + } ifelse +} def +/ci6knockoutimage { + gsave + 0 ci6curtransfer exec 1 ci6curtransfer exec + eq { + 0 ci6curtransfer exec 0.5 lt + }{ + 0 ci6curtransfer exec 1 ci6curtransfer exec gt + } ifelse + {{pop 0}}{{pop 1}} ifelse + systemdict /settransfer get exec + ci6compositeimage + grestore +} def +/ci6drawimage { + ci6testplate -1 eq { + pop ci6compositeimage + }{ + dup type /arraytype eq { + dup length plateindex gt {plateindex get}{pop false} ifelse + }{ + { + true + }{ + dup 1 eq {plateindex 3 eq}{plateindex 3 le} ifelse + } ifelse + } ifelse + { + dup 1 eq { + pop pop ci6image + }{ + dup 3 eq { + ci6compositeimage + }{ + pop pop + sourcearray 0 3 -1 roll put + /ci6separatecmykproc load + ci6image + } ifelse + } ifelse + }{ + ci6curoverprint { + 7 {pop} repeat + }{ + ci6knockoutimage + } ifelse + } ifelse + } ifelse +} def +/ci6proctintimage { + /_ptispace exch store /_ptiname exch store /_pti1 exch store /_pti0 exch store /_ptiproc exch store + /_pticomps _ptispace ci6numcomps store + /_ptiscale _pti1 _pti0 sub store + level2? { + _ptiname length 0 gt version cvr 2012 ge and { + [/Separation _ptiname _ptispace {_ptiproc}] setcolorspace + [_pti0 _pti1] ci6makeimagedict ci6image + }{ + [/Indexed _ptispace 255 {255 div _ptiscale mul _pti0 add _ptiproc}] setcolorspace + [0 255] ci6makeimagedict ci6image + } ifelse + }{ + _pticomps 1 eq { + { + dup + { + 255 div _ptiscale mul _pti0 add _ptiproc 255 mul cvi put + } ci6stringapply + } ci6concatprocs ci6image + }{ + { + dup length _pticomps mul dup _ptibuf length ne {/_ptibuf exch string store}{pop} ifelse + _ptibuf { + exch _pticomps mul exch 255 div _ptiscale mul _pti0 add _ptiproc + _pticomps 2 add -2 roll + _pticomps 1 sub -1 0 { + 1 index add 2 index exch + 5 -1 roll + 255 mul cvi put + } for + pop pop + } ci6stringapply + } ci6concatprocs false _pticomps + /ci6colorimage load null eq {7 {pop} repeat}{ci6colorimage} ifelse + } ifelse + } ifelse +} def +/ci6graytintimage { + /_gtigray 5 -1 roll store + {1 _gtigray sub mul 1 exch sub} 4 1 roll + /DeviceGray ci6proctintimage +} def +/ci6cmyktintimage { + /_cticmyk 5 -1 roll store + {_cticmyk {1 index mul exch} forall pop} 4 1 roll + /DeviceCMYK ci6proctintimage +} def +/ci6rgbtintimage { + /_rtirgb 5 -1 roll store + {_rtirgb {1 exch sub 1 index mul 1 exch sub exch} forall pop} 4 1 roll + /DeviceRGB ci6proctintimage +} def +/ci6tintimage { + ci6testplate -1 eq { + ci6colorexpand + 3 -1 roll 5 -1 roll {0}{0 exch} ifelse 4 2 roll + dup /DeviceGray eq { + pop ci6graytintimage + }{ + dup /DeviceRGB eq { + pop ci6rgbtintimage + }{ + pop ci6cmyktintimage + } ifelse + } ifelse + }{ + dup ci6marksplate { + plateindex 5 lt { + ci6colortocmyk plateindex get + dup 0 eq ci6curoverprint and { + 7 {pop} repeat + }{ + 1 exch sub + exch {1 0}{0 1} ifelse () ci6graytintimage + } ifelse + }{ + pop exch {0}{0 exch} ifelse 0 3 1 roll () ci6graytintimage + } ifelse + }{ + ci6curoverprint { + 8 {pop} repeat + }{ + pop pop pop + {pop 1} 0 1 () /DeviceGray ci6proctintimage + } ifelse + } ifelse + } ifelse +} def +/XINullImage { +} def +/XIImageMask { + XIImageWidth XIImageHeight false + [XIImageWidth 0 0 XIImageHeight neg 0 0] + /XIDataProc load + imagemask +} def +/XIImageTint { + XIImageWidth XIImageHeight XIBitsPerPixel + [XIImageWidth 0 0 XIImageHeight neg 0 0] + /XIDataProc load + XIType 3 eq XIColorValues XIColorSpace ci6tintimage +} def +/XIImage { + XIImageWidth XIImageHeight XIBitsPerPixel + [XIImageWidth 0 0 XIImageHeight neg 0 0] + /XIDataProc load + false XIChannelCount XIPlateList ci6drawimage +} def +/XG { + pop pop +} def +/XF { + 13 {pop} repeat +} def +/Xh { + Adobe_ColorImage_AI6_Vars begin + gsave + /XIType exch def + /XIImageHeight exch def + /XIImageWidth exch def + /XIImageMatrix exch def + 0 0 moveto + XIImageMatrix concat + XIImageWidth XIImageHeight scale + + /_lp /null ddef + _fc + /_lp /imagemask ddef + end +} def +/XH { + Adobe_ColorImage_AI6_Vars begin + grestore + end +} def +/XIEnable { + Adobe_ColorImage_AI6_Vars /XIEnable 3 -1 roll put +} def +/XC { + Adobe_ColorImage_AI6_Vars begin + ci6colormake + /XIColorSpace exch def + /XIColorValues exch def + end +} def +/XIPlates { + Adobe_ColorImage_AI6_Vars begin + /XIPlateList exch def + end +} def +/XI +{ + Adobe_ColorImage_AI6_Vars begin + gsave + /XIType exch def + cvi dup + 256 idiv /XICompression exch store + 256 mod /XIEncoding exch store + pop pop + /XIChannelCount exch def + /XIBitsPerPixel exch def + /XIImageHeight exch def + /XIImageWidth exch def + pop pop pop pop + /XIImageMatrix exch def + XIBitsPerPixel 1 eq { + XIImageWidth 8 div ceiling cvi + }{ + XIImageWidth XIChannelCount mul + } ifelse + /XIRowBytes exch def + XIEnable { + /XIBuffer3 XIImageWidth string def + XICompression 0 eq { + /XIBuffer1 XIRowBytes string def + XIEncoding 0 eq { + {currentfile XIBuffer1 readhexstring pop} + }{ + {currentfile XIBuffer1 readstring pop} + } ifelse + }{ + /XIBuffer1 256 string def + /XIBuffer2 XIRowBytes string def + {currentfile XIBuffer1 readline pop (%) anchorsearch {pop} if} + /ASCII85Decode filter /DCTDecode filter + /XIFile exch def + {XIFile XIBuffer2 readstring pop} + } ifelse + /XIDataProc exch def + + XIType 1 ne { + 0 setgray + } if + XIType 1 eq { + XIImageMask + }{ + XIType 2 eq XIType 3 eq or { + XIImageTint + }{ + XIImage + } ifelse + } ifelse + }{ + XINullImage + } ifelse + /XIPlateList false def + grestore + end +} def +end +%%EndProcSet +%%BeginResource: procset Adobe_Illustrator_AI5 1.3 0 +%%Title: (Adobe Illustrator (R) Version 8.0 Full Prolog) +%%Version: 1.3 0 +%%CreationDate: (3/7/1994) () +%%Copyright: ((C) 1987-1998 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_Illustrator_AI5_vars 112 dict dup begin +put +/_?cmyk false def +/_eo false def +/_lp /none def +/_pf +{ +} def +/_ps +{ +} def +/_psf +{ +} def +/_pss +{ +} def +/_pjsf +{ +} def +/_pjss +{ +} def +/_pola 0 def +/_doClip 0 def +/cf currentflat def +/_lineorientation 0 def +/_charorientation 0 def +/_yokoorientation 0 def +/_tm matrix def +/_renderStart +[ +/e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0 +] def +/_renderEnd +[ +null null null null /i1 /i1 /i1 /i1 +] def +/_render -1 def +/_shift [0 0] def +/_ax 0 def +/_ay 0 def +/_cx 0 def +/_cy 0 def +/_leading +[ +0 0 +] def +/_ctm matrix def +/_mtx matrix def +/_sp 16#020 def +/_hyphen (-) def +/_fontSize 0 def +/_fontAscent 0 def +/_fontDescent 0 def +/_fontHeight 0 def +/_fontRotateAdjust 0 def +/Ss 256 string def +Ss 0 (fonts/) putinterval +/_cnt 0 def +/_scale [1 1] def +/_nativeEncoding 0 def +/_useNativeEncoding 0 def +/_tempEncode 0 def +/_pntr 0 def +/_tDict 2 dict def +/_hfname 100 string def +/_hffound false def +/Tx +{ +} def +/Tj +{ +} def +/CRender +{ +} def +/_AI3_savepage +{ +} def +/_gf null def +/_cf 4 array def +/_rgbf 3 array def +/_if null def +/_of false def +/_fc +{ +} def +/_gs null def +/_cs 4 array def +/_rgbs 3 array def +/_is null def +/_os false def +/_sc +{ +} def +/_pd 1 dict def +/_ed 15 dict def +/_pm matrix def +/_fm null def +/_fd null def +/_fdd null def +/_sm null def +/_sd null def +/_sdd null def +/_i null def +/_lobyte 0 def +/_hibyte 0 def +/_cproc null def +/_cscript 0 def +/_hvax 0 def +/_hvay 0 def +/_hvwb 0 def +/_hvcx 0 def +/_hvcy 0 def +/_bitfont null def +/_bitlobyte 0 def +/_bithibyte 0 def +/_bitkey null def +/_bitdata null def +/_bitindex 0 def +/discardSave null def +/buffer 256 string def +/beginString null def +/endString null def +/endStringLength null def +/layerCnt 1 def +/layerCount 1 def +/perCent (%) 0 get def +/perCentSeen? false def +/newBuff null def +/newBuffButFirst null def +/newBuffLast null def +/clipForward? false def +end +userdict /Adobe_Illustrator_AI5 known not { + userdict /Adobe_Illustrator_AI5 100 dict put +} if +userdict /Adobe_Illustrator_AI5 get begin +/initialize +{ + Adobe_Illustrator_AI5 dup begin + Adobe_Illustrator_AI5_vars begin + /_aicmykps where {pop /_?cmyk _aicmykps def}if + discardDict + { + bind pop pop + } forall + dup /nc get begin + { + dup xcheck 1 index type /operatortype ne and + { + bind + } if + pop pop + } forall + end + newpath +} def +/terminate +{ + end + end +} def +/_ +null def +/ddef +{ + Adobe_Illustrator_AI5_vars 3 1 roll put +} def +/xput +{ + dup load dup length exch maxlength eq + { + dup dup load dup + length 2 mul dict copy def + } if + load begin + def + end +} def +/npop +{ + { + pop + } repeat +} def +/hswj +{ + dup stringwidth 3 2 roll + { + _hvwb eq { exch _hvcx add exch _hvcy add } if + exch _hvax add exch _hvay add + } cforall +} def +/vswj +{ + 0 0 3 -1 roll + { + dup 255 le + _charorientation 1 eq + and + { + dup cstring stringwidth 5 2 roll + _hvwb eq { exch _hvcy sub exch _hvcx sub } if + exch _hvay sub exch _hvax sub + 4 -1 roll sub exch + 3 -1 roll sub exch + } + { + _hvwb eq { exch _hvcy sub exch _hvcx sub } if + exch _hvay sub exch _hvax sub + _fontHeight sub + } ifelse + } cforall +} def +/swj +{ + 6 1 roll + /_hvay exch ddef + /_hvax exch ddef + /_hvwb exch ddef + /_hvcy exch ddef + /_hvcx exch ddef + _lineorientation 0 eq { hswj } { vswj } ifelse +} def +/sw +{ + 0 0 0 6 3 roll swj +} def +/vjss +{ + 4 1 roll + { + dup cstring + dup length 1 eq + _charorientation 1 eq + and + { + -90 rotate + currentpoint + _fontRotateAdjust add + moveto + gsave + false charpath currentpoint + 5 index setmatrix stroke + grestore + _fontRotateAdjust sub + moveto + _sp eq + { + 5 index 5 index rmoveto + } if + 2 copy rmoveto + 90 rotate + } + { + currentpoint + _fontHeight sub + 5 index sub + 3 index _sp eq + { + 9 index sub + } if + + currentpoint + exch 4 index stringwidth pop 2 div sub + exch _fontAscent sub + moveto + + gsave + 2 index false charpath + 6 index setmatrix stroke + grestore + + moveto pop pop + } ifelse + } cforall + 6 npop +} def +/hjss +{ + 4 1 roll + { + dup cstring + gsave + false charpath currentpoint + 5 index setmatrix stroke + grestore + moveto + _sp eq + { + 5 index 5 index rmoveto + } if + 2 copy rmoveto + } cforall + 6 npop +} def +/jss +{ + _lineorientation 0 eq { hjss } { vjss } ifelse +} def +/ss +{ + 0 0 0 7 3 roll jss +} def +/vjsp +{ + 4 1 roll + { + dup cstring + dup length 1 eq + _charorientation 1 eq + and + { + -90 rotate + currentpoint + _fontRotateAdjust add + moveto + false charpath + currentpoint + _fontRotateAdjust sub + moveto + _sp eq + { + 5 index 5 index rmoveto + } if + 2 copy rmoveto + 90 rotate + } + { + currentpoint + _fontHeight sub + 5 index sub + 3 index _sp eq + { + 9 index sub + } if + + currentpoint + exch 4 index stringwidth pop 2 div sub + exch _fontAscent sub + moveto + + 2 index false charpath + + moveto pop pop + } ifelse + } cforall + 6 npop +} def +/hjsp +{ + 4 1 roll + { + dup cstring + false charpath + _sp eq + { + 5 index 5 index rmoveto + } if + 2 copy rmoveto + } cforall + 6 npop +} def +/jsp +{ + matrix currentmatrix + _lineorientation 0 eq {hjsp} {vjsp} ifelse +} def +/sp +{ + matrix currentmatrix + 0 0 0 7 3 roll + _lineorientation 0 eq {hjsp} {vjsp} ifelse +} def +/pl +{ + transform + 0.25 sub round 0.25 add exch + 0.25 sub round 0.25 add exch + itransform +} def +/setstrokeadjust where +{ + pop true setstrokeadjust + /c + { + curveto + } def + /C + /c load def + /v + { + currentpoint 6 2 roll curveto + } def + /V + /v load def + /y + { + 2 copy curveto + } def + /Y + /y load def + /l + { + lineto + } def + /L + /l load def + /m + { + moveto + } def +} +{ + /c + { + pl curveto + } def + /C + /c load def + /v + { + currentpoint 6 2 roll pl curveto + } def + /V + /v load def + /y + { + pl 2 copy curveto + } def + /Y + /y load def + /l + { + pl lineto + } def + /L + /l load def + /m + { + pl moveto + } def +} ifelse +/d +{ + setdash +} def +/cf +{ +} def +/i +{ + dup 0 eq + { + pop cf + } if + setflat +} def +/j +{ + setlinejoin +} def +/J +{ + setlinecap +} def +/M +{ + setmiterlimit +} def +/w +{ + setlinewidth +} def +/XR +{ + 0 ne + /_eo exch ddef +} def +/H +{ +} def +/h +{ + closepath +} def +/N +{ + _pola 0 eq + { + _doClip 1 eq + { + _eo {eoclip} {clip} ifelse /_doClip 0 ddef + } if + newpath + } + { + /CRender + { + N + } ddef + } ifelse +} def +/n +{ + N +} def +/F +{ + _pola 0 eq + { + _doClip 1 eq + { + gsave _pf grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _fc + /_doClip 0 ddef + } + { + _pf + } ifelse + } + { + /CRender + { + F + } ddef + } ifelse +} def +/f +{ + closepath + F +} def +/S +{ + _pola 0 eq + { + _doClip 1 eq + { + gsave _ps grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc + /_doClip 0 ddef + } + { + _ps + } ifelse + } + { + /CRender + { + S + } ddef + } ifelse +} def +/s +{ + closepath + S +} def +/B +{ + _pola 0 eq + { + _doClip 1 eq + gsave F grestore + { + gsave S grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc + /_doClip 0 ddef + } + { + S + } ifelse + } + { + /CRender + { + B + } ddef + } ifelse +} def +/b +{ + closepath + B +} def +/W +{ + /_doClip 1 ddef +} def +/* +{ + count 0 ne + { + dup type /stringtype eq + { + pop + } if + } if + newpath +} def +/u +{ +} def +/U +{ +} def +/q +{ + _pola 0 eq + { + gsave + } if +} def +/Q +{ + _pola 0 eq + { + grestore + } if +} def +/*u +{ + _pola 1 add /_pola exch ddef +} def +/*U +{ + _pola 1 sub /_pola exch ddef + _pola 0 eq + { + CRender + } if +} def +/D +{ + pop +} def +/*w +{ +} def +/*W +{ +} def +/` +{ + /_i save ddef + clipForward? + { + nulldevice + } if + 6 1 roll 4 npop + concat pop + userdict begin + /showpage + { + } def + 0 setgray + 0 setlinecap + 1 setlinewidth + 0 setlinejoin + 10 setmiterlimit + [] 0 setdash + /setstrokeadjust where {pop false setstrokeadjust} if + newpath + 0 setgray + false setoverprint +} def +/~ +{ + end + _i restore +} def +/_rgbtocmyk +{ + 3 + { + 1 exch sub 3 1 roll + } repeat + 3 copy 1 4 1 roll + 3 + { + 3 index 2 copy gt + { + exch + } if + pop 4 1 roll + } repeat + pop pop pop + 4 1 roll + 3 + { + 3 index sub + 3 1 roll + } repeat + 4 -1 roll +} def +/setrgbfill +{ + _rgbf astore pop + /_fc + { + _lp /fill ne + { + _of setoverprint + _rgbf aload pop setrgbcolor + /_lp /fill ddef + } if + } ddef + /_pf + { + _fc + _eo {eofill} {fill} ifelse + } ddef + /_psf + { + _fc + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } ddef + /_lp /none ddef +} def +/setrgbstroke +{ + _rgbs astore pop + /_sc + { + _lp /stroke ne + { + _os setoverprint + _rgbs aload pop setrgbcolor + /_lp /stroke ddef + } if + } ddef + /_ps + { + _sc + stroke + } ddef + /_pss + { + _sc + ss + } ddef + /_pjss + { + _sc + jss + } ddef + /_lp /none ddef +} def +/O +{ + 0 ne + /_of exch ddef + /_lp /none ddef +} def +/R +{ + 0 ne + /_os exch ddef + /_lp /none ddef +} def +/g +{ + /_gf exch ddef + /_fc + { + _lp /fill ne + { + _of setoverprint + _gf setgray + /_lp /fill ddef + } if + } ddef + /_pf + { + _fc + _eo {eofill} {fill} ifelse + } ddef + /_psf + { + _fc + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } ddef + /_lp /none ddef +} def +/G +{ + /_gs exch ddef + /_sc + { + _lp /stroke ne + { + _os setoverprint + _gs setgray + /_lp /stroke ddef + } if + } ddef + /_ps + { + _sc + stroke + } ddef + /_pss + { + _sc + ss + } ddef + /_pjss + { + _sc + jss + } ddef + /_lp /none ddef +} def +/k +{ + _cf astore pop + /_fc + { + _lp /fill ne + { + _of setoverprint + _cf aload pop setcmykcolor + /_lp /fill ddef + } if + } ddef + /_pf + { + _fc + _eo {eofill} {fill} ifelse + } ddef + /_psf + { + _fc + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } ddef + /_lp /none ddef +} def +/K +{ + _cs astore pop + /_sc + { + _lp /stroke ne + { + _os setoverprint + _cs aload pop setcmykcolor + /_lp /stroke ddef + } if + } ddef + /_ps + { + _sc + stroke + } ddef + /_pss + { + _sc + ss + } ddef + /_pjss + { + _sc + jss + } ddef + /_lp /none ddef +} def +/Xa +{ + _?cmyk { + 3 npop k + }{ + setrgbfill 4 npop + } ifelse +} def +/XA +{ + _?cmyk { + 3 npop K + }{ + setrgbstroke 4 npop + } ifelse +} def +/Xs +{ + /_gf exch ddef + 5 npop + /_fc + { + _lp /fill ne + { + _of setoverprint + _gf setAIseparationgray + /_lp /fill ddef + } if + } ddef + /_pf + { + _fc + _eo {eofill} {fill} ifelse + } ddef + /_psf + { + _fc + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } ddef + /_lp /none ddef +} def +/XS +{ + /_gs exch ddef + 5 npop + /_sc + { + _lp /stroke ne + { + _os setoverprint + _gs setAIseparationgray + /_lp /stroke ddef + } if + } ddef + /_ps + { + _sc + stroke + } ddef + /_pss + { + _sc + ss + } ddef + /_pjss + { + _sc + jss + } ddef + /_lp /none ddef +} def +/Xx +{ + exch + /_gf exch ddef + 0 eq { + findcmykcustomcolor + }{ + _?cmyk {true}{/findrgbcustomcolor where{pop false}{true}ifelse}ifelse + { + 4 1 roll 3 npop + findcmykcustomcolor + }{ + 8 -4 roll 4 npop + findrgbcustomcolor + } ifelse + } ifelse + /_if exch ddef + /_fc + { + _lp /fill ne + { + _of setoverprint + _if _gf 1 exch sub setcustomcolor + /_lp /fill ddef + } if + } ddef + /_pf + { + _fc + _eo {eofill} {fill} ifelse + } ddef + /_psf + { + _fc + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } ddef + /_lp /none ddef +} def +/XX +{ + exch + /_gs exch ddef + 0 eq { + findcmykcustomcolor + }{ + _?cmyk {true}{/findrgbcustomcolor where{pop false}{true}ifelse}ifelse + { + 4 1 roll 3 npop + findcmykcustomcolor + }{ + 8 -4 roll 4 npop + findrgbcustomcolor + } ifelse + } ifelse + /_is exch ddef + /_sc + { + _lp /stroke ne + { + _os setoverprint + _is _gs 1 exch sub setcustomcolor + /_lp /stroke ddef + } if + } ddef + /_ps + { + _sc + stroke + } ddef + /_pss + { + _sc + ss + } ddef + /_pjss + { + _sc + jss + } ddef + /_lp /none ddef +} def +/x +{ + /_gf exch ddef + findcmykcustomcolor + /_if exch ddef + /_fc + { + _lp /fill ne + { + _of setoverprint + _if _gf 1 exch sub setcustomcolor + /_lp /fill ddef + } if + } ddef + /_pf + { + _fc + _eo {eofill} {fill} ifelse + } ddef + /_psf + { + _fc + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } ddef + /_lp /none ddef +} def +/X +{ + /_gs exch ddef + findcmykcustomcolor + /_is exch ddef + /_sc + { + _lp /stroke ne + { + _os setoverprint + _is _gs 1 exch sub setcustomcolor + /_lp /stroke ddef + } if + } ddef + /_ps + { + _sc + stroke + } ddef + /_pss + { + _sc + ss + } ddef + /_pjss + { + _sc + jss + } ddef + /_lp /none ddef +} def +/XK +{ + 3 -1 roll pop + 0 eq + { + 1 exch sub + 3 {dup 3 1 roll mul 5 1 roll} repeat + mul 4 1 roll + K + } + { + 1 exch sub 4 1 roll + 3 {1 exch sub 3 index mul 1 exch sub 3 1 roll} repeat + 4 -1 roll pop + XA + } ifelse +} def +/Xk +{ + 3 -1 roll pop + 0 eq + { + 1 exch sub + 3 {dup 3 1 roll mul 5 1 roll} repeat + mul 4 1 roll + k + } + { + 1 exch sub 4 1 roll + 3 {1 exch sub 3 index mul 1 exch sub 3 1 roll} repeat + 4 -1 roll pop + Xa + } ifelse +} def +/A +{ + pop +} def +/annotatepage +{ +userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse +} def +/XT { + pop pop +} def +/Xt { + pop +} def +/discard +{ + save /discardSave exch store + discardDict begin + /endString exch store + gt38? + { + 2 add + } if + load + stopped + pop + end + discardSave restore +} bind def +userdict /discardDict 7 dict dup begin +put +/pre38Initialize +{ + /endStringLength endString length store + /newBuff buffer 0 endStringLength getinterval store + /newBuffButFirst newBuff 1 endStringLength 1 sub getinterval store + /newBuffLast newBuff endStringLength 1 sub 1 getinterval store +} def +/shiftBuffer +{ + newBuff 0 newBuffButFirst putinterval + newBuffLast 0 + currentfile read not + { + stop + } if + put +} def +0 +{ + pre38Initialize + mark + currentfile newBuff readstring exch pop + { + { + newBuff endString eq + { + cleartomark stop + } if + shiftBuffer + } loop + } + { + stop + } ifelse +} def +1 +{ + pre38Initialize + /beginString exch store + mark + currentfile newBuff readstring exch pop + { + { + newBuff beginString eq + { + /layerCount dup load 1 add store + } + { + newBuff endString eq + { + /layerCount dup load 1 sub store + layerCount 0 eq + { + cleartomark stop + } if + } if + } ifelse + shiftBuffer + } loop + } if +} def +2 +{ + mark + { + currentfile buffer {readline} stopped { + % assume error was due to overfilling the buffer + }{ + not + { + stop + } if + endString eq { + cleartomark stop + } if + }ifelse + } loop +} def +3 +{ + /beginString exch store + /layerCnt 1 store + mark + { + currentfile buffer {readline} stopped { + % assume error was due to overfilling the buffer + }{ + not + { + stop + } if + dup beginString eq + { + pop /layerCnt dup load 1 add store + } + { + endString eq + { + layerCnt 1 eq + { + cleartomark stop + } + { + /layerCnt dup load 1 sub store + } ifelse + } if + } ifelse + }ifelse + } loop +} def +end +userdict /clipRenderOff 15 dict dup begin +put +{ + /n /N /s /S /f /F /b /B +} +{ + { + _doClip 1 eq + { + /_doClip 0 ddef _eo {eoclip} {clip} ifelse + } if + newpath + } def +} forall +/Tr /pop load def +/Bb {} def +/BB /pop load def +/Bg {12 npop} def +/Bm {6 npop} def +/Bc /Bm load def +/Bh {4 npop} def +end +/Lb +{ + 6 npop + 7 2 roll + 5 npop + 0 eq + { + 0 eq + { + (%AI5_BeginLayer) 1 (%AI5_EndLayer--) discard + } + { + + /clipForward? true def + + /Tx /pop load def + /Tj /pop load def + + currentdict end clipRenderOff begin begin + } ifelse + } + { + 0 eq + { + save /discardSave exch store + } if + } ifelse +} bind def +/LB +{ + discardSave dup null ne + { + restore + } + { + pop + clipForward? + { + currentdict + end + end + begin + + /clipForward? false ddef + } if + } ifelse +} bind def +/Pb +{ + pop pop + 0 (%AI5_EndPalette) discard +} bind def +/Np +{ + 0 (%AI5_End_NonPrinting--) discard +} bind def +/Ln /pop load def +/Ap +/pop load def +/Ar +{ + 72 exch div + 0 dtransform dup mul exch dup mul add sqrt + dup 1 lt + { + pop 1 + } if + setflat +} def +/Mb +{ + q +} def +/Md +{ +} def +/MB +{ + Q +} def +/nc 4 dict def +nc begin +/setgray +{ + pop +} bind def +/setcmykcolor +{ + 4 npop +} bind def +/setrgbcolor +{ + 3 npop +} bind def +/setcustomcolor +{ + 2 npop +} bind def +currentdict readonly pop +end +/XP +{ + 4 npop +} bind def +/XD +{ + pop +} bind def +end +setpacking +%%EndResource +%%BeginResource: procset Adobe_pattern_AI5 1.1 0 +%%Title: (Adobe Illustrator (R) Version 5.0 Pattern Operators) +%%Version: 1.1 0 +%%CreationDate: (03/26/93) () +%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_Illustrator_AI5 known not { + userdict /Adobe_Illustrator_AI5 95 dict put +} if +userdict /Adobe_Illustrator_AI5 get begin +/@ +{ +} def +/& +{ +} def +/dp +{ + dup null eq + { + pop + _dp 0 ne + { + 0 1 _dp 1 sub _dl mod + { + _da exch get 3 get + } for + _dp 1 sub _dl mod 1 add packedarray + _da 0 get aload pop 8 -1 roll 5 -1 roll pop 4 1 roll + definepattern pop + } if + } + { + _dp 0 ne _dp _dl mod 0 eq and + { + null dp + } if + 7 packedarray _da exch _dp _dl mod exch put + _dp _dl mod _da 0 get 4 get 2 packedarray + /_dp _dp 1 add def + } ifelse +} def +/E +{ + _ed begin + dup 0 get type /arraytype ne + { + 0 + { + dup 1 add index type /arraytype eq + { + 1 add + } + { + exit + } ifelse + } loop + array astore + } if + /_dd exch def + /_ury exch def + /_urx exch def + /_lly exch def + /_llx exch def + /_n exch def + /_y 0 def + /_dl 4 def + /_dp 0 def + /_da _dl array def + 0 1 _dd length 1 sub + { + /_d exch _dd exch get def + 0 2 _d length 2 sub + { + /_x exch def + /_c false def + /_r _d _x 1 add get cvlit def + _r _ ne + { + _urx _llx sub _ury _lly sub + [ + 1 0 0 1 0 0 + ] + [ + /save cvx + _llx neg _lly neg /translate cvx + _c + { + nc /begin cvx + } if + _r dup type /stringtype eq + { + cvx + } + { + { + exec + } /forall cvx + } ifelse + _c + { + /end cvx + } if + /restore cvx + ] cvx + /_fn 12 _n length add string def + _y _fn cvs pop + /_y _y 1 add def + _fn 12 _n putinterval + _fn _c false dp + _d exch _x 1 add exch put + } if + } for + } for + null dp + _n _dd /_pd + end + xput +} def +/fc +{ + _fm dup concatmatrix pop +} def +/p +{ + /_fm exch ddef + 9 -2 roll _pm translate fc + 7 -2 roll _pm scale fc + 5 -1 roll _pm rotate fc + 4 -2 roll exch 0 ne + { + dup _pm rotate fc + 1 -1 _pm scale fc + neg _pm rotate fc + } + { + pop + } ifelse + dup _pm rotate fc + exch dup sin exch cos div 1 0 0 1 0 6 2 roll + _pm astore fc + neg _pm rotate fc + _pd exch get /_fdd exch ddef + /_pf + { + save + /_doClip 0 ddef + 0 1 _fdd length 1 sub + { + /_fd exch _fdd exch get ddef + _fd + 0 2 _fd length 2 sub + { + gsave + 2 copy get dup _ ne + { + cvx exec _fc + } + { + pop + } ifelse + 2 copy 1 add get dup _ ne + { + aload pop findfont _fm + patternfill + } + { + pop + fill + } ifelse + grestore + pop + } for + pop + } for + restore + newpath + } ddef + /_psf + { + save + /_doClip 0 ddef + 0 1 _fdd length 1 sub + { + /_fd exch _fdd exch get ddef + _fd + 0 2 _fd length 2 sub + { + gsave + 2 copy get dup _ ne + { + cvx exec _fc + } + { + pop + } ifelse + 2 copy 1 add get dup _ ne + { + aload pop findfont _fm + 9 copy 6 npop patternashow + } + { + pop + 6 copy 3 npop hvashow + } ifelse + grestore + pop + } for + pop + } for + restore + sw rmoveto + } ddef + /_pjsf + { + save + /_doClip 0 ddef + 0 1 _fdd length 1 sub + { + /_fd exch _fdd exch get ddef + _fd + 0 2 _fd length 2 sub + { + gsave + 2 copy get dup _ ne + { + cvx exec _fc + } + { + pop + } ifelse + 2 copy 1 add get dup _ ne + { + aload pop findfont _fm + 12 copy 6 npop patternawidthshow + } + { + pop 9 copy 3 npop hvawidthshow + } ifelse + grestore + pop + } for + pop + } for + restore + swj rmoveto + } ddef + /_lp /none ddef +} def +/sc +{ + _sm dup concatmatrix pop +} def +/P +{ + /_sm exch ddef + 9 -2 roll _pm translate sc + 7 -2 roll _pm scale sc + 5 -1 roll _pm rotate sc + 4 -2 roll exch 0 ne + { + dup _pm rotate sc + 1 -1 _pm scale sc + neg _pm rotate sc + } + { + pop + } ifelse + dup _pm rotate sc + exch dup sin exch cos div 1 0 0 1 0 6 2 roll + _pm astore sc + neg _pm rotate sc + _pd exch get /_sdd exch ddef + /_ps + { + save + /_doClip 0 ddef + 0 1 _sdd length 1 sub + { + /_sd exch _sdd exch get ddef + _sd + 0 2 _sd length 2 sub + { + gsave + 2 copy get dup _ ne + { + cvx exec _sc + } + { + pop + } ifelse + 2 copy 1 add get dup _ ne + { + aload pop findfont _sm + patternstroke + } + { + pop stroke + } ifelse + grestore + pop + } for + pop + } for + restore + newpath + } ddef + /_pss + { + save + /_doClip 0 ddef + 0 1 _sdd length 1 sub + { + /_sd exch _sdd exch get ddef + _sd + 0 2 _sd length 2 sub + { + gsave + 2 copy get dup _ ne + { + cvx exec _sc + } + { + pop + } ifelse + 2 copy 1 add get dup _ ne + { + aload pop findfont _sm + 10 copy 6 npop patternashowstroke + } + { + pop 7 copy 3 npop ss + } ifelse + grestore + pop + } for + pop + } for + restore + pop sw rmoveto + } ddef + /_pjss + { + save + /_doClip 0 ddef + 0 1 _sdd length 1 sub + { + /_sd exch _sdd exch get ddef + _sd + 0 2 _sd length 2 sub + { + gsave + 2 copy get dup _ ne + { + cvx exec _sc + } + { + pop + } ifelse + 2 copy 1 add get dup _ ne + { + aload pop findfont _sm + 13 copy 6 npop patternawidthshowstroke + } + { + pop 10 copy 3 npop jss + } ifelse + grestore + pop + } for + pop + } for + restore + pop swj rmoveto + } ddef + /_lp /none ddef +} def +end +userdict /Adobe_pattern_AI5 18 dict dup begin +put +/initialize +{ + /definepattern where + { + pop + pop pop + } + { + begin + begin + Adobe_pattern_AI5 begin + Adobe_pattern_AI5 + { + dup xcheck + { + bind + } if + pop pop + } forall + mark + cachestatus 7 1 roll pop pop pop pop exch pop exch + { + { + 10000 add + dup 2 index gt + { + exit + } if + dup setcachelimit + } loop + } stopped + cleartomark + end + + end + end + + Adobe_pattern_AI5 begin + } ifelse +} def +/terminate +{ + currentdict Adobe_pattern_AI5 eq + { + end + } if +} def +errordict +/nocurrentpoint +{ + pop + stop +} put +errordict +/invalidaccess +{ + pop + stop +} put +/patternencoding +256 array def +0 1 255 +{ + patternencoding exch ( ) 2 copy exch 0 exch put cvn put +} for +/definepattern +{ + 17 dict begin + /uniform exch def + /cache exch def + /key exch def + /procarray exch def + /mtx exch matrix invertmatrix def + /height exch def + /width exch def + /ctm matrix currentmatrix def + /ptm matrix def + /str 32 string def + /slice 9 dict def + slice /s 1 put + slice /q 256 procarray length div sqrt floor cvi put + slice /b 0 put + /FontBBox + [ + 0 0 0 0 + ] def + /FontMatrix mtx matrix copy def + /Encoding patternencoding def + /FontType 3 def + /BuildChar + { + exch + begin + /setstrokeadjust where {pop true setstrokeadjust} if + slice begin + dup q dup mul mod s idiv /i exch def + dup q dup mul mod s mod /j exch def + q dup mul idiv procarray exch get + /xl j width s div mul def + /xg j 1 add width s div mul def + /yl i height s div mul def + /yg i 1 add height s div mul def + uniform + { + 1 1 + } + { + width 0 dtransform + dup mul exch dup mul add sqrt dup 1 add exch div + 0 height dtransform + dup mul exch dup mul add sqrt dup 1 add exch div + } ifelse + width 0 cache + { + xl 4 index mul yl 4 index mul xg 6 index mul yg 6 index mul + setcachedevice + } + { + setcharwidth + } ifelse + gsave + scale + newpath + xl yl moveto + xg yl lineto + xg yg lineto + xl yg lineto + closepath + clip + newpath + end + end + exec + grestore + } def + key currentdict definefont + end +} def +/patterncachesize +{ + gsave + newpath + 0 0 moveto + width 0 lineto + width height lineto + 0 height lineto + closepath + patternmatrix setmatrix + pathbbox + exch ceiling 4 -1 roll floor sub 3 1 roll + ceiling exch floor sub + mul 1 add + grestore +} def +/patterncachelimit +{ + cachestatus 7 1 roll 6 npop 8 mul +} def +/patternpath +{ + exch dup begin + setfont + ctm setmatrix + concat + slice exch /b exch slice /q get dup mul mul put + FontMatrix concat + uniform + { + width 0 dtransform round width div exch round width div exch + 0 height dtransform round height div exch height div exch + 0 0 transform round exch round exch + ptm astore setmatrix + } + { + ptm currentmatrix pop + } ifelse + { + currentpoint + } stopped not + { + 2 npop + pathbbox + true + 4 index 3 index eq + 4 index 3 index eq + and + { + pop false + { + { + 2 npop + } + { + 3 npop true + } + { + 7 npop true + } + { + pop true + } pathforall + } stopped + { + 5 npop true + } if + } if + { + height div ceiling height mul 4 1 roll + width div ceiling width mul 4 1 roll + height div floor height mul 4 1 roll + width div floor width mul 4 1 roll + 2 index sub height div ceiling cvi exch + 3 index sub width div ceiling cvi exch + 4 2 roll moveto + FontMatrix mtx invertmatrix + dup dup 4 get exch 5 get rmoveto + ptm ptm concatmatrix pop + slice /s + patterncachesize patterncachelimit div ceiling sqrt ceiling cvi + dup slice /q get gt + { + pop slice /q get + } if + put + 0 1 slice /s get dup mul 1 sub + { + slice /b get add + gsave + 0 1 str length 1 sub + { + str exch 2 index put + } for + pop + dup + { + gsave + ptm setmatrix + 1 index str length idiv + { + str show + } repeat + 1 index str length mod str exch 0 exch getinterval show + grestore + 0 height rmoveto + } repeat + grestore + } for + 2 npop + } + { + 4 npop + } ifelse + } if + end +} def +/patternclip +{ + _eo {eoclip} {clip} ifelse +} def +/patternstrokepath +{ + strokepath +} def +/patternmatrix +matrix def +/patternfill +{ + dup type /dicttype eq + { + Adobe_pattern_AI5 /patternmatrix get + } if + gsave + patternclip + Adobe_pattern_AI5 /patternpath get exec + grestore + newpath +} def +/patternstroke +{ + dup type /dicttype eq + { + Adobe_pattern_AI5 /patternmatrix get + } if + gsave + patternstrokepath + true + { + { + { + newpath + moveto + } + { + lineto + } + { + curveto + } + { + closepath + 3 copy + Adobe_pattern_AI5 /patternfill get exec + } pathforall + 3 npop + } stopped + { + 5 npop + patternclip + Adobe_pattern_AI5 /patternfill get exec + } if + } + { + patternclip + Adobe_pattern_AI5 /patternfill get exec + } ifelse + grestore + newpath +} def +/vpatternawidthshow +{ + 6 1 roll + /_hvay exch ddef + /_hvax exch ddef + /_hvwb exch ddef + /_hvcy exch ddef + /_hvcx exch ddef + + { + dup cstring + dup length 1 eq + _charorientation 1 eq + and + { + -90 rotate + currentpoint + _fontRotateAdjust add + moveto + gsave + false charpath currentpoint + 5 index 5 index 5 index Adobe_pattern_AI5 /patternfill get exec + grestore + _fontRotateAdjust sub + moveto + _hvwb eq { _hvcx _hvcy rmoveto } if + _hvax _hvay rmoveto + 90 rotate + } + { + currentpoint + _fontHeight sub + _hvax sub + 3 index _hvwb eq { _hvcx sub } if + currentpoint + exch 4 index stringwidth pop 2 div sub + exch _fontAscent sub + moveto + gsave + 2 index false charpath + 6 index 6 index 6 index Adobe_pattern_AI5 /patternfill get exec + grestore + newpath moveto pop pop + } ifelse + } cforall + 3 npop +} def +/hpatternawidthshow +{ + { + dup cstring exch + gsave + 3 index eq { 5 index 5 index rmoveto } if + false charpath currentpoint + 9 index 9 index 9 index + Adobe_pattern_AI5 /patternfill get exec + grestore + newpath moveto + 2 copy rmoveto + } cforall + 8 npop +} def +/patternashow +{ +0 0 0 6 3 roll +patternawidthshow +} def +/patternawidthshow +{ + 6 index type /dicttype eq + { + Adobe_pattern_AI5 /patternmatrix get 7 1 roll + } if + _lineorientation 0 eq { hpatternawidthshow } { vpatternawidthshow } ifelse +} def +/vpatternawidthshowstroke +{ + 7 1 roll + 6 1 roll + /_hvay exch ddef + /_hvax exch ddef + /_hvwb exch ddef + /_hvcy exch ddef + /_hvcx exch ddef + { + dup cstring + dup length 1 eq + _charorientation 1 eq + and + { + -90 rotate + currentpoint + _fontRotateAdjust add + moveto + gsave + false charpath currentpoint + 3 index setmatrix + 6 index 6 index 6 index Adobe_pattern_AI5 /patternstroke get exec + grestore + _fontRotateAdjust sub + moveto + _hvwb eq { _hvcx _hvcy rmoveto } if + _hvax _hvay rmoveto + 90 rotate + } + { + currentpoint + _fontHeight sub + _hvax sub + 3 index _hvwb eq { _hvcx sub } if + currentpoint + exch 4 index stringwidth pop 2 div sub + exch _fontAscent sub + moveto + gsave + 2 index false charpath + 4 index setmatrix + 7 index 7 index 7 index Adobe_pattern_AI5 /patternstroke get exec + grestore + newpath moveto pop pop + } ifelse + } cforall + 4 npop +} def +/hpatternawidthshowstroke +{ + 7 1 roll + { + dup cstring exch + gsave + 3 index eq { 5 index 5 index rmoveto } if + false charpath currentpoint + 7 index setmatrix + 10 index 10 index 10 index + Adobe_pattern_AI5 /patternstroke get exec + grestore + newpath moveto + 2 copy rmoveto + } cforall + 9 npop +} def +/patternashowstroke +{ + 0 0 0 7 3 roll + patternawidthshowstroke +} def +/patternawidthshowstroke +{ + 7 index type /dicttype eq + { + patternmatrix /patternmatrix get 8 1 roll + } if + _lineorientation 0 eq { hpatternawidthshowstroke } { vpatternawidthshowstroke } ifelse +} def +end +setpacking +%%EndResource +%%BeginResource: procset Adobe_cshow 2.0 8 +%%Title: (Writing System Operators) +%%Version: 2.0 8 +%%CreationDate: (1/23/89) () +%%Copyright: ((C) 1992-1996 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_cshow 14 dict dup begin put +/initialize +{ + Adobe_cshow begin + Adobe_cshow + { + dup xcheck + { + bind + } if + pop pop + } forall + end + Adobe_cshow begin +} def +/terminate +{ +currentdict Adobe_cshow eq + { + end + } if +} def +/cforall +{ + /_lobyte 0 ddef + /_hibyte 0 ddef + /_cproc exch ddef + /_cscript currentfont /FontScript known { currentfont /FontScript get } { -1 } ifelse ddef + { + /_lobyte exch ddef + _hibyte 0 eq + _cscript 1 eq + _lobyte 129 ge _lobyte 159 le and + _lobyte 224 ge _lobyte 252 le and or and + _cscript 2 eq + _lobyte 161 ge _lobyte 254 le and and + _cscript 3 eq + _lobyte 161 ge _lobyte 254 le and and + _cscript 25 eq + _lobyte 161 ge _lobyte 254 le and and + _cscript -1 eq + or or or or and + { + /_hibyte _lobyte ddef + } + { + _hibyte 256 mul _lobyte add + _cproc + /_hibyte 0 ddef + } ifelse + } forall +} def +/cstring +{ + dup 256 lt + { + (s) dup 0 4 3 roll put + } + { + dup 256 idiv exch 256 mod + (hl) dup dup 0 6 5 roll put 1 4 3 roll put + } ifelse +} def +/clength +{ + 0 exch + { 256 lt { 1 } { 2 } ifelse add } cforall +} def +/hawidthshow +{ + { + dup cstring + show + _hvax _hvay rmoveto + _hvwb eq { _hvcx _hvcy rmoveto } if + } cforall +} def +/vawidthshow +{ + { + dup 255 le + _charorientation 1 eq + and + { + -90 rotate + 0 _fontRotateAdjust rmoveto + cstring + _hvcx _hvcy _hvwb _hvax _hvay 6 -1 roll awidthshow + 0 _fontRotateAdjust neg rmoveto + 90 rotate + } + { + currentpoint + _fontHeight sub + exch _hvay sub exch _hvax sub + 2 index _hvwb eq { exch _hvcy sub exch _hvcx sub } if + 3 2 roll + cstring + dup stringwidth pop 2 div neg _fontAscent neg rmoveto + show + moveto + } ifelse + } cforall +} def +/hvawidthshow +{ + 6 1 roll + /_hvay exch ddef + /_hvax exch ddef + /_hvwb exch ddef + /_hvcy exch ddef + /_hvcx exch ddef + _lineorientation 0 eq { hawidthshow } { vawidthshow } ifelse +} def +/hvwidthshow +{ + 0 0 3 -1 roll hvawidthshow +} def +/hvashow +{ + 0 0 0 6 -3 roll hvawidthshow +} def +/hvshow +{ + 0 0 0 0 0 6 -1 roll hvawidthshow +} def +currentdict readonly pop end +setpacking +%%EndResource +%%BeginResource: procset Adobe_shading_AI8 1.0 0 +%%Title: (Adobe Illustrator 8 Shading Procset) +%%Version: 1.0 0 +%%CreationDate: (12/17/97) () +%%Copyright: ((C) 1987-1997 Adobe Systems Incorporated All Rights Reserved) +userdict /defaultpacking currentpacking put true setpacking +userdict /Adobe_shading_AI8 10 dict dup begin put +/initialize { + Adobe_shading_AI8 begin + Adobe_shading_AI8 bdprocs + Mesh /initialize get exec +} def +/terminate { + currentdict Adobe_shading_AI8 eq { + end + } if +} def +/bdprocs { + { + dup xcheck 1 index type /arraytype eq and { + bind + } if + pop pop + } forall +} def +/X! {pop} def +/X# {pop pop} def +/Mesh 40 dict def +Mesh begin +/initialize { + Mesh bdprocs + Mesh begin + /emulate? /AI8MeshEmulation where { + pop AI8MeshEmulation + }{ + systemdict /shfill known not + } ifelse def + end +} def +/bd { + shadingdict begin +} def +/paint { + emulate? { + end + }{ + /_lp /none ddef _fc /_lp /none ddef + + /AIColorSpace AIColorSpace tocolorspace store + /ColorSpace AIColorSpace topsspace store + + version_ge_3010.106 not systemdict /setsmoothness known and { + 0.0001 setsmoothness + } if + + composite? { + /DataSource getdatasrc def + Matrix concat + currentdict end + shfill + }{ + AIColorSpace makesmarks AIPlateList markingplate and not isoverprint and { + end + }{ + /ColorSpace /DeviceGray store + /Decode [0 1 0 1 0 1] store + /DataSource getplatesrc def + Matrix concat + currentdict end + shfill + } ifelse + } ifelse + } ifelse +} def +/shadingdict 12 dict def +shadingdict begin + /ShadingType 6 def + /BitsPerCoordinate 16 def + /BitsPerComponent 8 def + /BitsPerFlag 8 def +end +/datafile null def +/databuf 256 string def +/dataptr 0 def +/srcspace null def +/srcchannels 0 def +/dstchannels 0 def +/dstplate 0 def +/srctodstcolor null def +/getplatesrc { + /srcspace AIColorSpace store + /srcchannels AIColorSpace getnchannels store + /dstchannels 1 store + /dstplate getplateindex store + /srctodstcolor srcspace makesmarks { + dstplate 4 eq { + {1 exch sub} + }{ + {srcspace tocmyk 3 dstplate sub index 1 exch sub 5 1 roll 4 {pop} repeat} + } ifelse + }{ + {srcchannels {pop} repeat 1} + } ifelse store + /datafile getdatasrc store + /rdpatch168 load DataLength () /SubFileDecode filter +} def +/getdatasrc { + /rdcmntline load /ASCII85Decode filter +} def +/rdpatch168 { + /dataptr 0 store + 49 rdcount + 4 { + dup {pop srcchannels getint8} if + dup {pop srctodstcolor dstchannels putint8 true} if + } repeat + {databuf 0 dataptr getinterval}{()} ifelse +} def +/rdpatch3216 { + /dataptr 0 store + 97 rdcount + 4 { + dup {pop srcchannels getint16} if + dup {pop srctodstcolor dstchannels putint16 true} if + } repeat + {databuf 0 dataptr getinterval}{()} ifelse +} def +/rdcount { + dup 0 gt { + datafile databuf dataptr 4 -1 roll getinterval readstring + exch length dataptr add /dataptr exch store + }{ + true + } ifelse +} def +/getint8 { + mark true 3 -1 roll + { + dup {pop datafile read} if + dup {pop 255 div true} if + } repeat + { + counttomark 1 add -1 roll pop true + }{ + cleartomark false + } ifelse +} def +/putint8 { + dup dataptr add /dataptr exch store + dataptr exch + { + 1 sub exch + 255 mul cvi + databuf 2 index + 3 -1 roll put + } repeat + pop +} def +/getint16 { + mark true 3 -1 roll + { + dup {pop datafile read} if + dup {pop 256 mul datafile read} if + dup {pop add 65535 div true} if + } repeat + { + counttomark 1 add -1 roll pop true + }{ + cleartomark false + } ifelse +} def +/putint16 { + dup 2 mul dataptr add /dataptr exch store + dataptr exch + { + 2 sub exch + 65535 mul cvi dup + 256 idiv databuf 3 index 3 -1 roll put + 256 mod databuf 2 index 1 add 3 -1 roll put + } repeat + pop +} def +/srcbuf 256 string def +/rdcmntline { + currentfile srcbuf readline pop + (%) anchorsearch {pop} if +} def +/getplateindex { + 0 [cyan? magenta? yellow? black? customColor?] {{exit} if 1 add} forall +} def +/aicsarray 4 array def +/aicsaltvals 4 array def +/aicsaltcolr aicsaltvals def +/tocolorspace { + dup type /arraytype eq { + mark exch aload pop + aicsarray 0 3 -1 roll put + aicsarray 1 3 -1 roll put + dup aicsarray 2 3 -1 roll put + gettintxform aicsarray 3 3 -1 roll put + counttomark aicsaltvals 0 3 -1 roll getinterval /aicsaltcolr exch store + aicsaltcolr astore pop pop + aicsarray + } if +} def +/subtintxform {aicsaltcolr {1 index mul exch} forall pop} def +/addtintxform {aicsaltcolr {1 sub 1 index mul 1 add exch} forall pop} def +/gettintxform { + /DeviceRGB eq {/addtintxform}{/subtintxform} ifelse load +} def +/getnchannels { + dup type /arraytype eq {0 get} if + colorspacedict exch get begin Channels end +} def +/makesmarks { + composite? { + pop true + }{ + dup dup type /arraytype eq {0 get} if + colorspacedict exch get begin MarksPlate end + } ifelse +} def +/markingplate { + composite? { + pop true + }{ + dup type /arraytype eq { + dup length getplateindex gt {getplateindex get}{pop false} ifelse + } if + } ifelse +} def +/tocmyk { + dup dup type /arraytype eq {0 get} if + colorspacedict exch get begin ToCMYK end +} def +/topsspace { + dup dup type /arraytype eq {0 get} if + colorspacedict exch get begin ToPSSpace end +} def +/colorspacedict 5 dict dup begin + /DeviceGray 4 dict dup begin + /Channels 1 def + /MarksPlate {pop black?} def + /ToCMYK {pop 1 exch sub 0 0 0 4 -1 roll} def + /ToPSSpace {} def + end def + /DeviceRGB 4 dict dup begin + /Channels 3 def + /MarksPlate {pop isCMYKSep?} def + /ToCMYK {pop _rgbtocmyk} def + /ToPSSpace {} def + end def + /DeviceCMYK 4 dict dup begin + /Channels 4 def + /MarksPlate {pop isCMYKSep?} def + /ToCMYK {pop} def + /ToPSSpace {} def + end def + /Separation 4 dict dup begin + /Channels 1 def + /MarksPlate { + /findcmykcustomcolor where { + pop dup 1 exch ToCMYK 5 -1 roll 1 get + findcmykcustomcolor 1 setcustomcolor + systemdict /currentgray get exec + 1 ne + }{ + pop false + } ifelse + } def + /ToCMYK { + dup 2 get mark exch 4 2 roll + 3 get exec + counttomark -1 roll tocmyk + 5 -1 roll pop + } def + /ToPSSpace {} def + end def + /Process 4 dict dup begin + /Channels 1 def + /MarksPlate { + isCMYKSep? { + 1 exch ToCMYK 4 array astore getplateindex get 0 ne + }{ + pop false + } ifelse + } def + /ToCMYK { + dup 2 get mark exch 4 2 roll + 3 get exec + counttomark -1 roll tocmyk + 5 -1 roll pop + } def + /ToPSSpace { + 4 array copy dup 0 /Separation put + } def + end def +end def +/isoverprint { + /currentoverprint where {pop currentoverprint}{_of} ifelse +} def +/version_ge_3010.106 { + version {cvr} stopped { + pop + false + }{ + 3010.106 ge + } ifelse +} def +end +end +defaultpacking setpacking +%%EndResource +%%EndProlog +%%BeginSetup +userdict /_useSmoothShade true put +userdict /_aicmykps false put +userdict /_forceToCMYK false put +Adobe_level2_AI5 /initialize get exec +Adobe_cshow /initialize get exec +Adobe_screens_AI5 /initialize get exec +Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 AGM_Gradient /initializeAI get exec +Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_pattern_AI5 /initialize get exec +Adobe_ColorImage_AI6 /initialize get exec +Adobe_shading_AI8 /initialize get exec +Adobe_Illustrator_AI5 /initialize get exec +%AI5_Begin_NonPrinting +Np +%AI8_PluginGroupInfo +(Adobe Flare Plugin) (Flare) (flare.aip) +%AI8_PluginGroupInfo +(Adobe Deform Plugin) (Adobe H\374llen-Zusatzmodul) (Envelope and Warp.aip) +%AI8_PluginGroupInfo +(Adobe Planar Group) (Adobe-Zusatzmodul Interaktiv malen) (Live Paint.aip) +%AI8_PluginGroupInfo +(Adobe Perspective Plugin Group) (Adobe Perspective Plugin Group) (Perspective.aip) +%AI8_PluginGroupInfo +(Adobe Vectorized Object) (Nachgezeichnetes Bild) (Illustrator.exe) +%AI8_PluginGroupInfo +(Adobe Path Blends) (Adobe Angleichungen-Zusatzmodul) (Live Blends.aip) +%AI8_PluginGroupInfo +(Adobe Symbolism) (Adobe Symbolism) (Symbolism.aip) +%AI8_PluginGroupInfo +(Adobe PatternOnPath Brush Tool) (Adobe Musterpinsel-Zusatzmodul) (ArtOnPath.aip) +%AI8_PluginGroupInfo +(Adobe PatternOnPath Brush Tool) (Adobe Musterpinsel-Zusatzmodul) (ArtOnPath.aip) +%AI8_PluginGroupInfo +(Adobe ArtOnPath Brush Tool) (Adobe Bildpinsel-Zusatzmodul) (ArtOnPath.aip) +%AI8_PluginGroupInfo +(Adobe ArtOnPath Brush Tool) (Adobe Bildpinsel-Zusatzmodul) (ArtOnPath.aip) +%AI8_PluginGroupInfo +(Adobe Calligraphic Brush Tool) (Adobe Kalligrafiepinsel-Zusatzmodul) (Calligraphic Brush Tool.aip) +%AI8_PluginGroupInfo +(Adobe Scatter Brush Tool) (Adobe Spezialpinsel-Zusatzmodul) (Scatter Brush Tool.aip) +%AI8_PluginGroupInfo +(Adobe Scatter Brush Tool) (Adobe Spezialpinsel-Zusatzmodul) (Scatter Brush Tool.aip) +%AI8_PluginGroupInfo +(Adobe Pattern Editor Plugin Group) (Adobe Pattern Editor Plugin Group) (Swatch Libraries.aip) +%AI8_PluginGroupInfo +(Pathfinder Suite) (Adobe Zusammengesetzte Form) (PathFinder Suite.aip) +%AI5_End_NonPrinting-- +%AI5_Begin_NonPrinting +Np +13 Bn +%AI5_BeginGradient: (Orange, Gelb) +(Orange, Gelb) 0 5 Bd +[ +< +05050505050505050505050505050505050505050505050505050505060606060606060606060606 +0606060606 +> +< +BBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3 +E4E5E6E7E8 +> +< +D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4 +D4D4D4D4D4 +> +0 +1 %_Br +< +03030303030303030303030303030404040404040404040404040404040404040404040404040404 +040404040404040405050505050505 +> +< +8485868788898A8B8C8D8E8F9091929495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABAC +ADAEAFB0B1B2B3B4B5B6B7B8B9BABB +> +< +D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6 +D6D6D6D6D6D6D6D6D6D5D5D5D5D5D5 +> +0 +1 %_Br +< +02020202020202020202020202020202020202020202020202020202020202020202020202020202 +020202020202020303030303030303030303030303030303030303030303030303030303 +> +< +38393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525455565758595A5B5C5D5E5F60 +6162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384 +> +< +FFFEFEFDFDFCFCFBFBFAFAF9F9F8F8F7F7F6F5F5F4F4F3F3F2F2F1F1F0F0EFEFEEEEEDECECEBEBEA +EAE9E9E8E8E7E7E6E6E5E5E4E4E3E2E2E1E1E0E0DFDFDEDEDDDDDCDCDBDBDAD9D9D8D8D7 +> +0 +1 %_Br +< +00000000000000000000000000000000000000000101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +0101010101010101010101010102020202020202020202020202020202020202020202020202 +> +< +000102030405060708090A0B0B0C0D0E0F101112121314151616171819191A1B1C1C1D1E1E1F2020 +212222232324252526262727282829292A2A2B2B2C2C2D2D2E2E2E2F2F3030303131313232323333 +3333343434343535353536363636363637373737373737373838383838383838383838383838 +> +< +DBDCDDDDDEDEDFE0E0E1E1E2E3E3E4E4E5E5E6E6E7E7E8E9E9EAEAEAEBEBECECEDEDEEEEEFEFEFF0 +F0F1F1F1F2F2F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F7F8F8F8F9F9F9F9FAFAFAFAFAFBFBFBFBFBFC +FCFCFCFCFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +> +0 +1 %_Br +[ +0.0235 0.91 0.83 0 1 50 100 %_BS +%_0.0235 0.91 0.83 0 1 50 100 Bs +0.0184 0.7341 0.8365 0 1 50 88.764 %_BS +%_0.0184 0.7341 0.8365 0 1 50 88.764 Bs +0.0121 0.5186 0.8445 0 1 50 66.8539 %_BS +%_0.0121 0.5186 0.8445 0 1 50 66.8539 Bs +0.0061 0.22 1 0 1 50 28.0899 %_BS +%_0.0061 0.22 1 0 1 50 28.0899 Bs +0 0 0.86 0 1 28 0 %_BS +%_0 0 0.86 0 1 28 0 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Sehr weiche schwarze Vignette) +(Sehr weiche schwarze Vignette) 1 3 Bd +[ +0.2 +0.2 +0.2 +1 +1 %_Br +0.2 +0.2 +0.2 +1 +1 %_Br +[ +0.2 0.2 0.2 1 1 56.0729 57.4443 %_BS +%_0.2 0.2 0.2 1 1 56.0729 57.4443 Bs +0.2 0.2 0.2 1 1 31.8603 79.7713 %_BS +%_0.2 0.2 0.2 1 1 31.8603 79.7713 Bs +0.2 0.2 0.2 1 1 50 100 %_BS +%_0.2 0.2 0.2 1 1 50 100 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Unnamed gradient 14) +(Unnamed gradient 14) 1 4 Bd +[ +< +000102030405060708090A0B0C0D0E0F10111212131415161718191A1B1C1D1D1E1F202122232425 +25262728292A2B2B2C2D2E2F303031323334353536373839393A3B3C3C3D3E3F3F40414242434445 +4546474848494A4A4B4C4D4D4E4F4F5051515253535455555656575858595A5A5B5B5C5D5D5E5E5F +5F6061616262636364646566666767686869696A6A6B6B6C6C6D6D6D6E6E6F6F7070717171727273 +737374747575757676767777777878787979797A7A7A7B7B7B7B7C7C7C7C7D7D7D7D7E7E7E7E7E7F +7F7F7F7F8080808080808080818181818181818181 +> +< +000001010102020203030304040404050505060606070707080808080909090A0A0A0A0B0B0B0C0C +0C0C0D0D0D0E0E0E0E0F0F0F10101010111111111212121213131313141414141515151516161616 +171717171818181818191919191A1A1A1A1A1B1B1B1B1C1C1C1C1C1D1D1D1D1D1E1E1E1E1E1F1F1F +1F1F1F20202020202121212121212222222222222323232323232324242424242424252525252525 +25262626262626262627272727272727272728282828282828282828282929292929292929292929 +292929292A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A +> +< +00000000000000000101010101010101010101010101010202020202020202020202020202020203 +03030303030303030303030303030303040404040404040404040404040404040404050505050505 +05050505050505050505050505050606060606060606060606060606060606060606060607070707 +07070707070707070707070707070707070707070707070808080808080808080808080808080808 +08080808080808080808080808080808080808080909090909090909090909090909090909090909 +090909090909090909090909090909090909090909 +> +< +00000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +010101010101010101010101010101010101010101 +> +1 %_Br +< +8182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 +A9AAABACADAEAFB0B1B2B3B4B5B6B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1 +D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECED +> +< +2A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +52535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576777879 +7A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +> +< +09090909090909090909090909090909090908080808080808080808080808080808080808080808 +08080808080808080808080808080707070707070707070707070707070707070707070707070707 +07070707070707070706060606060606060606060606060606060606 +> +< +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000 +> +1 %_Br +< +EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE +EEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF +EFF0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 +> +< +95959696969797979898989999999A9A9A9B9B9B9C9C9C9D9D9D9E9E9F9F9FA0A0A0A1A1A1A2A2A3 +A3A3A4A4A4A5A5A5A6A6A7A7A7A8A8A8A9A9AAAAAAABABABACACADADADAEAEAEAFAFB0B0B0B1B1B1 +B2B2B3B3B3B4B4B5B5B5B6B6B6B7B7B8B8 +> +< +06070708090A0B0C0C0D0E0F10111213141415161718191A1B1C1D1E1E1F20212223242526272829 +2A2B2C2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444445464748494A4B4C4D4E4F +505152535455565758595A5B5C5D5E5F60 +> +< +0001020203040506070708090A0B0C0D0E0F0F101112131415161718191A1B1C1C1D1E1F20212223 +2425262728292A2B2C2D2E2F30313232333435363738393A3B3C3D3E3F404142434445464748494A +4B4C4D4E4F505152535455565758595A5B +> +1 %_Br +[ +0 0 0 0 1 33.3333 0 %_BS +%_0 0 0 0 1 33.3333 0 Bs +0.5059 0.1647 0.0353 0.0039 1 50 29.2135 %_BS +%_0.5059 0.1647 0.0353 0.0039 1 50 29.2135 Bs +0.9294 0.5843 0.0235 0 1 51.9231 64.6067 %_BS +%_0.9294 0.5843 0.0235 0 1 51.9231 64.6067 Bs +0.9412 0.7216 0.3765 0.3569 1 51.9231 100 %_BS +%_0.9412 0.7216 0.3765 0.3569 1 51.9231 100 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Unnamed gradient 18) +(Unnamed gradient 18) 1 4 Bd +[ +< +000102030405060708090A0B0C0D0E0F10111212131415161718191A1B1C1D1D1E1F202122232425 +25262728292A2B2B2C2D2E2F303031323334353536373839393A3B3C3C3D3E3F3F40414242434445 +4546474848494A4A4B4C4D4D4E4F4F5051515253535455555656575858595A5A5B5B5C5D5D5E5E5F +5F6061616262636364646566666767686869696A6A6B6B6C6C6D6D6D6E6E6F6F7070717171727273 +737374747575757676767777777878787979797A7A7A7B7B7B7B7C7C7C7C7D7D7D7D7E7E7E7E7E7F +7F7F7F7F8080808080808080818181818181818181 +> +< +000001010102020203030304040404050505060606070707080808080909090A0A0A0A0B0B0B0C0C +0C0C0D0D0D0E0E0E0E0F0F0F10101010111111111212121213131313141414141515151516161616 +171717171818181818191919191A1A1A1A1A1B1B1B1B1C1C1C1C1C1D1D1D1D1D1E1E1E1E1E1F1F1F +1F1F1F20202020202121212121212222222222222323232323232324242424242424252525252525 +25262626262626262627272727272727272728282828282828282828282929292929292929292929 +292929292A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A +> +< +00000000000000000101010101010101010101010101010202020202020202020202020202020203 +03030303030303030303030303030303040404040404040404040404040404040404050505050505 +05050505050505050505050505050606060606060606060606060606060606060606060607070707 +07070707070707070707070707070707070707070707070808080808080808080808080808080808 +08080808080808080808080808080808080808080909090909090909090909090909090909090909 +090909090909090909090909090909090909090909 +> +< +00000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +010101010101010101010101010101010101010101 +> +1 %_Br +< +8182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 +A9AAABACADAEAFB0B1B2B3B4B5B6B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1 +D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECED +> +< +2A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +52535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576777879 +7A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +> +< +09090909090909090909090909090909090908080808080808080808080808080808080808080808 +08080808080808080808080808080707070707070707070707070707070707070707070707070707 +07070707070707070706060606060606060606060606060606060606 +> +< +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000 +> +1 %_Br +< +EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED +EDEDEDEDEDEDEDEDEDEDECECECECECECECECECECECECECECECECECECECECECECECECECECECECECEC +ECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECEC +ECECECECECECECECECECECECECECECECECECECECECEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB +EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB +> +< +959595969696969697979797979898989899999999999A9A9A9A9B9B9B9B9B9C9C9C9C9D9D9D9D9E +9E9E9E9E9F9F9F9FA0A0A0A0A1A1A1A1A2A2A2A2A2A3A3A3A3A4A4A4A4A5A5A5A5A6A6A6A6A7A7A7 +A7A7A8A8A8A8A9A9A9A9AAAAAAAAABABABABACACACACADADADADAEAEAEAEAFAFAFAFB0B0B0B0B1B1 +B1B1B1B2B2B2B2B3B3B3B3B4B4B4B4B5B5B5B5B6B6B6B6B7B7B7B7B8B8B8B8B9B9B9B9BABABABABB +BBBBBBBCBCBCBCBDBDBDBDBEBEBEBEBFBFBFBFC0C0C0C1C1C1 +> +< +06060707080809090A0A0B0B0C0D0D0E0E0F0F1010111112131314141515161617181819191A1A1B +1B1C1D1D1E1E1F1F20212122222324242525262627282829292A2B2B2C2C2D2D2E2F2F3030313232 +3333343535363637383839393A3A3B3C3C3D3D3E3F3F404041424243434445454646474848494A4A +4B4B4C4D4D4E4E4F50505151525353545455565657585859595A5B5B5C5C5D5E5E5F5F6061616263 +63646465666667676869696A6B6B6C6C6D6E6E6F7070717172 +> +< +0001010203040505060708090A0B0B0C0D0E0F10111212131415161718191A1A1B1C1D1E1F202122 +23242425262728292A2B2C2D2E2F30313132333435363738393A3B3C3D3E3F404141424344454647 +48494A4B4C4D4E4F50515253545556565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E +6F70717273747576777879797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE +> +1 %_Br +[ +0 0 0 0 1 33.3333 0 %_BS +%_0 0 0 0 1 33.3333 0 Bs +0.5059 0.1647 0.0353 0.0039 1 50 35.955 %_BS +%_0.5059 0.1647 0.0353 0.0039 1 50 35.955 Bs +0.9294 0.5843 0.0235 0 1 51.9231 85.3932 %_BS +%_0.9294 0.5843 0.0235 0 1 51.9231 85.3932 Bs +0.9216 0.7569 0.4471 0.6824 1 51.9231 100 %_BS +%_0.9216 0.7569 0.4471 0.6824 1 51.9231 100 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Unnamed gradient 35) +(Unnamed gradient 35) 0 2 Bd +[ +0 +< +666564636261605F5E5D5C5B5A5958565554535251504F4E4D4C4B4A49484746454443424140 +> +1 +0 +1 %_Br +[ +0 0.25 1 0 1 50 76.0736 %_BS +%_0 0.25 1 0 1 50 76.0736 Bs +0 0.4 1 0 1 50 23.3129 %_BS +%_0 0.4 1 0 1 50 23.3129 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Unnamed gradient 4) +(Unnamed gradient 4) 1 2 Bd +[ +< +000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F +505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 +78797A7B7C7D7E7F8081 +> +< +0000010101020202030303040404050505060606070707070808080909090A0A0A0B0B0B0C0C0C0D +0D0D0E0E0E0F0F0F101010111111121212131313141414151515151616161717171818181919191A +1A1A1B1B1B1C1C1C1D1D1D1E1E1E1F1F1F2020202121212222222323232324242425252526262627 +27272828282929292A2A +> +< +00000000000000000101010101010101010101010101020202020202020202020202020203030303 +03030303030303030303030404040404040404040404040404050505050505050505050505050506 +06060606060606060606060606060707070707070707070707070707080808080808080808080808 +08080909090909090909 +> +< +00000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101 +> +1 %_Br +[ +0 0 0 0 1 50 0 %_BS +%_0 0 0 0 1 50 0 Bs +0.5059 0.1647 0.0353 0.0039 1 50 100 %_BS +%_0.5059 0.1647 0.0353 0.0039 1 50 100 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Unnamed gradient 41) +(Unnamed gradient 41) 1 2 Bd +[ +< +000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1E1F202122232425262728 +292A2B2C2D2E2F303132333435363738393A +> +< +000101020303040405060607080809090A0B0B0C0D0D0E0F0F101011121213141415151617171819 +191A1B1B1C1C1D1E1E1F2020212122232324 +> +< +00000001010101020202020303030303040404040505050505060606060707070708080808080909 +09090A0A0A0A0A0B0B0B0B0C0C0C0C0D0D0D +> +< +00000000000000000000000000000001010101010101010101010101010101010101010101010101 +010101020202020202020202020202020202 +> +1 %_Br +[ +0 0 0 0 1 50 0 %_BS +%_0 0 0 0 1 50 0 Bs +0.2275 0.1412 0.051 0.0078 1 50 100 %_BS +%_0.2275 0.1412 0.051 0.0078 1 50 100 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Unnamed gradient 5) +(Unnamed gradient 5) 1 4 Bd +[ +< +000102030405060708090A0B0C0D0E0F10111212131415161718191A1B1C1D1D1E1F202122232425 +25262728292A2B2B2C2D2E2F303031323334353536373839393A3B3C3C3D3E3F3F40414242434445 +4546474848494A4A4B4C4D4D4E4F4F5051515253535455555656575858595A5A5B5B5C5D5D5E5E5F +5F6061616262636364646566666767686869696A6A6B6B6C6C6D6D6D6E6E6F6F7070717171727273 +737374747575757676767777777878787979797A7A7A7B7B7B7B7C7C7C7C7D7D7D7D7E7E7E7E7E7F +7F7F7F7F8080808080808080818181818181818181 +> +< +000001010102020203030304040404050505060606070707080808080909090A0A0A0A0B0B0B0C0C +0C0C0D0D0D0E0E0E0E0F0F0F10101010111111111212121213131313141414141515151516161616 +171717171818181818191919191A1A1A1A1A1B1B1B1B1C1C1C1C1C1D1D1D1D1D1E1E1E1E1E1F1F1F +1F1F1F20202020202121212121212222222222222323232323232324242424242424252525252525 +25262626262626262627272727272727272728282828282828282828282929292929292929292929 +292929292A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A +> +< +00000000000000000101010101010101010101010101010202020202020202020202020202020203 +03030303030303030303030303030303040404040404040404040404040404040404050505050505 +05050505050505050505050505050606060606060606060606060606060606060606060607070707 +07070707070707070707070707070707070707070707070808080808080808080808080808080808 +08080808080808080808080808080808080808080909090909090909090909090909090909090909 +090909090909090909090909090909090909090909 +> +< +00000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +010101010101010101010101010101010101010101 +> +1 %_Br +< +8182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 +A9AAABACADAEAFB0B1B2B3B4B5B6B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1 +D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECED +> +< +2A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +52535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576777879 +7A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +> +< +09090909090909090909090909090909090908080808080808080808080808080808080808080808 +08080808080808080808080808080707070707070707070707070707070707070707070707070707 +07070707070707070706060606060606060606060606060606060606 +> +< +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000 +> +1 %_Br +< +EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED +EDEDEDEDEDEDEDEDEDEDECECECECECECECECECECECECECECECECECECECECECECECECECECECECECEC +ECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECEC +ECECECECECECECECECECECECECECECECECECECECECEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB +EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB +> +< +959595969696969697979797979898989899999999999A9A9A9A9B9B9B9B9B9C9C9C9C9D9D9D9D9E +9E9E9E9E9F9F9F9FA0A0A0A0A1A1A1A1A2A2A2A2A2A3A3A3A3A4A4A4A4A5A5A5A5A6A6A6A6A7A7A7 +A7A7A8A8A8A8A9A9A9A9AAAAAAAAABABABABACACACACADADADADAEAEAEAEAFAFAFAFB0B0B0B0B1B1 +B1B1B1B2B2B2B2B3B3B3B3B4B4B4B4B5B5B5B5B6B6B6B6B7B7B7B7B8B8B8B8B9B9B9B9BABABABABB +BBBBBBBCBCBCBCBDBDBDBDBEBEBEBEBFBFBFBFC0C0C0C1C1C1 +> +< +06060707080809090A0A0B0B0C0D0D0E0E0F0F1010111112131314141515161617181819191A1A1B +1B1C1D1D1E1E1F1F20212122222324242525262627282829292A2B2B2C2C2D2D2E2F2F3030313232 +3333343535363637383839393A3A3B3C3C3D3D3E3F3F404041424243434445454646474848494A4A +4B4B4C4D4D4E4E4F50505151525353545455565657585859595A5B5B5C5C5D5E5E5F5F6061616263 +63646465666667676869696A6B6B6C6C6D6E6E6F7070717172 +> +< +0001010203040505060708090A0B0B0C0D0E0F10111212131415161718191A1A1B1C1D1E1F202122 +23242425262728292A2B2C2D2E2F30313132333435363738393A3B3C3D3E3F404141424344454647 +48494A4B4C4D4E4F50515253545556565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E +6F70717273747576777879797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE +> +1 %_Br +[ +0 0 0 0 1 33.3333 0 %_BS +%_0 0 0 0 1 33.3333 0 Bs +0.5059 0.1647 0.0353 0.0039 1 50 56.7416 %_BS +%_0.5059 0.1647 0.0353 0.0039 1 50 56.7416 Bs +0.9294 0.5843 0.0235 0 1 51.9231 85.3932 %_BS +%_0.9294 0.5843 0.0235 0 1 51.9231 85.3932 Bs +0.9216 0.7569 0.4471 0.6824 1 51.9231 100 %_BS +%_0.9216 0.7569 0.4471 0.6824 1 51.9231 100 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Unnamed gradient 51) +(Unnamed gradient 51) 0 2 Bd +[ +< +1D1D1D1D1D1D1D1D1D1D1D1D1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1F1F1F1F1F1F1F1F1F +1F202020202020202021212121212121222222222223232323232324242424252525252526262626 +27272728282828292929292A2A2A2B2B2B2C2C2C2D2D2D2E2E2E2F2F2F3030313131323233333334 +3435353636363737383839393A3A3B3B3C3C3C3D3E3E3F3F40404141424243434444454646474748 +49494A4A4B4C4C4D4D4E4F4F5051515253535455555657575859595A5B5C5C5D5E5F5F6061626263 +646566666768696A6A6B6C6D6E6E6F70717273747475767778797A7B7C7C7D7E7F80818283848586 +8788898A8B8C8D8E +> +< +16161616161616161616161616161616161616161616161616161616161616171717171717171717 +17171718181818181818181819191919191919191A1A1A1A1A1A1B1B1B1B1B1B1C1C1C1C1C1D1D1D +1D1D1E1E1E1E1E1F1F1F1F2020202021212121222222222323232424242525252526262627272728 +28282929292A2A2A2B2B2C2C2C2D2D2D2E2E2F2F2F30303131323232333334343535353636373738 +3839393A3A3B3B3C3C3D3D3E3E3F3F4040414142434344444545464747484849494A4B4B4C4C4D4E +4E4F5050515252535354555556575758595A5A5B5C5C5D5E5E5F606161626364646566676768696A +6A6B6C6D6E6E6F70 +> +< +11111111111111111111111111111111111111111111111111111111111111121212121212121212 +12121213131313131313131314141414141414151515151515161616161616171717171718181818 +18191919191A1A1A1A1A1B1B1B1B1C1C1C1D1D1D1D1E1E1E1F1F1F1F202020212121222222232323 +242424252525262627272728282929292A2A2B2B2B2C2C2D2D2E2E2E2F2F30303131323233333434 +353536363737383839393A3A3B3B3C3D3D3E3E3F3F404041424243434445454646474848494A4A4B +4C4C4D4E4E4F5050515252535454555656575859595A5B5C5C5D5E5F5F6061626263646566666768 +696A6A6B6C6D6E6F +> +< +00000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000010101010101010101010101010101010101010101010101010101010102020202020202 +02020202020202020202020203030303030303030303030303030304040404040404040404040405 +05050505050505050505050606060606060606060607070707070707070708080808080808080809 +090909090909090A0A0A0A0A0A0A0A0B0B0B0B0B0B0B0C0C0C0C0C0C0C0D0D0D0D0D0D0D0E0E0E0E +0E0E0E0F0F0F0F0F0F10101010101011111111111112121212121313131313131414141414151515 +1515161616161617 +> +1 %_Br +[ +0.555993 0.439094 0.433417 0.088563 1 50 100 %_BS +%_0.555993 0.439094 0.433417 0.088563 1 50 100 Bs +0.115175 0.08484 0.065003 0 1 73.0337 0 %_BS +%_0.115175 0.08484 0.065003 0 1 73.0337 0 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Unnamed gradient 54) +(Unnamed gradient 54) 0 2 Bd +[ +< +1D1D1D1D1D1D1D1D1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1F1F1F1F1F1F1F1F202020202020202121 +2121212122222222222323232323242424242525252526262627272727282828292929292A2A2A2B +2B2B2C2C2C2D2D2E2E2E2F2F2F30303131313232333333343435353636373737383839393A3A3B3B +3C3C3D3D3E3E3F3F4040414142434344444545464747484849494A4B4B4C4C4D4E4E4F5050515252 +535354555556575858595A5A5B5C5C5D5E5F5F606161626364646566676768696A6B6B6C6D6E6F6F +7071727373747576777878797A7B7C7D7E7F7F80818283848586878888898A8B8C8D8E8F90919293 +9495969798999A9B9C9D +> +< +16161616161616161616161616161616161616161616171717171717171717171718181818181818 +181919191919191A1A1A1A1A1A1B1B1B1B1B1C1C1C1C1C1D1D1D1D1D1E1E1E1E1F1F1F1F20202020 +212121222222222323232424242525252626262727272828282929292A2A2A2B2B2C2C2C2D2D2D2E +2E2F2F30303031313232323333343435353636373737383839393A3A3B3B3C3C3D3D3E3E3F3F4040 +414242434344444545464647484849494A4A4B4C4C4D4D4E4F4F5050515252535454555656575758 +59595A5B5B5C5D5D5E5F6060616262636464656667676869696A6B6C6C6D6E6F6F70717273737475 +76767778797A7A7B7C7D +> +< +11111111111111111111111111111111111111111111121212121212121212121313131313131313 +1414141414141515151515151616161616171717171718181818191919191A1A1A1A1B1B1B1B1C1C +1C1D1D1D1D1E1E1E1F1F1F2020202121212222222323232424242525262626272728282829292A2A +2A2B2B2C2C2D2D2E2E2E2F2F30303131323233333434353536363737383839393A3A3B3B3C3C3D3E +3E3F3F40404141424343444445464647474849494A4B4B4C4C4D4E4E4F5050515252535454555656 +575858595A5B5B5C5D5D5E5F60606162636364656666676869696A6B6C6C6D6E6F70707172737475 +75767778797A7A7B7C7D +> +< +00000000000000000000000000000000000000000000000000000101010101010101010101010101 +01010101010202020202020202020202020203030303030303030303030404040404040404040505 +050505050505060606060606060607070707070707080808080808080909090909090A0A0A0A0A0A +0B0B0B0B0B0B0C0C0C0C0C0D0D0D0D0D0E0E0E0E0E0F0F0F0F0F1010101010111111111112121212 +131313131414141414151515151616161617171717181818181919191A1A1A1A1B1B1B1B1C1C1C1D +1D1D1D1E1E1E1F1F1F1F202020212121222222222323232424242525252626262727272828282929 +292A2A2A2B2B2B2C2C2C +> +1 %_Br +[ +0.614191 0.489448 0.489815 0.173739 1 50 100 %_BS +%_0.614191 0.489448 0.489815 0.173739 1 50 100 Bs +0.115175 0.08484 0.065003 0 1 70.2247 0 %_BS +%_0.115175 0.08484 0.065003 0 1 70.2247 0 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Unnamed gradient 83) +(Unnamed gradient 83) 1 2 Bd +[ +< +A6A5A4A3A2A1A09F9E9D9C9B9A9897969594939291908F8E8D8C +> +0 +1 +< +1A1817161514131211100F0E0D0C0B0A09080706050403020100 +> +1 %_Br +[ +0.65 0 1 0.1 1 50 34.7917 %_BS +%_0.65 0 1 0.1 1 50 34.7917 Bs +0.55 0 1 0 1 50 76.0736 %_BS +%_0.55 0 1 0 1 50 76.0736 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Verblassender Himmel) +(Verblassender Himmel) 0 2 Bd +[ +0.8 +0.4 +0 +< +00 +> +1 %_Br +[ +0.8 0.4 0 0.000031 1 50 100 %_BS +%_0.8 0.4 0 0.000031 1 50 100 Bs +0.8 0.4 0 0 1 50 0 %_BS +%_0.8 0.4 0 0 1 50 0 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Wei\737, Schwarz) +(Wei\737, Schwarz) 0 2 Bd +[ +< +FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 +D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 +AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 +87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 +5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 +37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 +0F0E0D0C0B0A09080706050403020100 +> +0 %_Br +[ +0 0 0 1 1 50 100 %_BS +%_0 0 0 1 1 50 100 Bs +0 0 0 0 1 50 0 %_BS +%_0 0 0 0 1 50 0 Bs +BD +%AI5_EndGradient +%AI5_End_NonPrinting-- +%AI5_Begin_NonPrinting +Np +%AI3_BeginPattern: (Pompadour) +(Pompadour) 218.1958 183.1699 385.1958 350.1699 [ +%AI3_Tile +(0 O 0 R 0.35 0.6 0.8 0.25 k + 0.35 0.6 0.8 0.25 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +407.2622 96.3711 m +407.3872 96.3711 407.4927 96.4629 407.5103 96.585 c +409.8911 112.5996 419.1646 125.9746 431.9028 133.9814 c +432.0063 134.0449 432.0493 134.1758 432.0044 134.29 c +431.9575 134.4023 431.8384 134.4688 431.7173 134.4443 c +421.2466 132.3398 411.9243 126.5811 405.27 118.4141 C +400.645 131.7891 390.0337 140.418 376.9692 144.0654 C +381.7778 149.6582 379.2622 157.5986 371.8501 158.9023 c +371.7368 158.9229 371.6255 158.8643 371.5767 158.7607 c +371.5278 158.6563 371.5552 158.5322 371.6431 158.46 c +375.6157 155.1143 374.1626 147.04 362.3052 147.04 c +354.5103 147.04 349.4849 150.2188 349.4849 154.5254 c +349.4849 157.9102 352.5474 159.7559 355.1255 159.7559 c +359.5415 159.7559 362.0649 155.7949 360.1685 152.2129 c +360.1138 152.1104 360.1353 151.9814 360.2231 151.9033 c +360.311 151.8271 360.4399 151.8184 360.5376 151.8857 c +362.7856 153.4492 364.356 155.5059 364.356 158.6768 c +364.356 164.0635 359.3306 169.8066 351.0239 169.8066 c +342.1021 169.8066 334.0005 162.9355 334.0005 154.5254 c +334.0005 142.71 344.0493 137.0918 354.6138 136.0918 C +350.2485 134.4189 346.981 129.5664 v +346.9146 129.4697 346.9243 129.3418 347.0024 129.2559 c +347.0806 129.1689 347.2056 129.1475 347.3091 129.2012 c +353.1392 132.2822 359.7954 133.9453 366.811 133.9453 c +386.4321 133.9453 403.3579 117.541 407.0103 96.5801 c +407.0317 96.4561 407.1392 96.3691 407.2622 96.3711 c +f +483.9399 148.7773 m +488.5493 156.4551 490.1919 169.627 485.897 179.46 c +485.8481 179.5703 485.8833 179.6992 485.9829 179.7686 c +486.0806 179.8379 486.2153 179.8281 486.3032 179.7461 c +491.1099 175.1914 495.2427 164.5684 493.0083 152.2871 C +496.106 149.8936 498.0532 147.5176 499.522 144.335 c +499.5688 144.2314 499.5415 144.1104 499.4556 144.0352 c +499.3696 143.9629 499.2446 143.9551 499.1489 144.0186 c +494.1528 147.3809 489.686 148.5283 483.9399 148.7773 C +f +473.3306 28.9707 m +473.4009 28.8672 473.3833 28.7266 473.2915 28.6426 c +473.1978 28.5586 473.0571 28.5547 472.9595 28.6348 c +466.145 34.1621 457.0845 37.6895 445.9243 37.6895 c +418.3521 37.6895 400.9517 21.1719 398.2173 3.76367 c +398.1997 3.65234 398.1099 3.56641 397.9985 3.55078 c +397.8872 3.53711 397.7778 3.59766 397.7329 3.70117 c +395.0083 9.95898 393.3657 19.0352 401.7817 31.209 c +406.8169 38.4941 412.9106 43.5098 412.9106 50.0273 c +412.9106 54.2852 410.6509 57.1797 407.2231 57.1797 c +403.6177 57.1797 401.2876 54.0918 401.2876 50.625 c +401.2876 48.877 401.7915 47.1465 402.6958 45.5801 c +402.7544 45.4766 402.7368 45.3496 402.6509 45.2676 c +402.5649 45.1875 402.436 45.1758 402.3384 45.2402 c +399.3657 47.1777 396.7114 50.6367 396.7114 55.5117 c +396.7114 62.6836 402.8442 68.6816 411.1802 68.6816 c +420.1548 68.6816 427.5044 61.6328 427.5044 51.4922 c +427.5044 48.0156 426.5142 43.8242 424.0415 40.3613 C +427.4263 43.1875 429.2329 45.1875 430.7192 49.5117 C +441.1196 51.3223 452.2251 49.6602 461.0493 43.8691 C +461.3052 49.9707 463.3013 55.0605 467.3931 59.1875 c +467.4771 59.2715 467.6079 59.2852 467.7075 59.2227 c +467.8091 59.1582 467.8521 59.0332 467.811 58.9219 c +464.9341 50.9199 466.8657 38.7246 473.3306 28.9707 c +f +560.6978 35.6055 m +558.4517 30.8066 553.2388 28.1211 547.2368 28.0117 c +547.1118 28.0098 547.0044 28.0977 546.9829 28.2188 c +546.9595 28.3418 547.0278 28.4609 547.1431 28.5039 c +549.1899 29.2578 550.8052 30.5762 551.6646 32.4141 c +553.8774 37.1426 550.2974 43.5098 543.6509 46.7832 c +543.5728 46.8223 543.52 46.8965 543.5103 46.9824 c +543.5005 47.0684 543.5337 47.1523 543.6001 47.207 c +547.8911 50.7266 553.0122 57.2617 553.0122 70.627 c +553.0122 89.3086 540.8579 107.0898 524.7368 107.0898 c +515.5239 107.0898 508.104 100.6934 504.2661 91.0977 C +508.4868 96.8564 514.2446 101.2051 522.1782 101.2051 c +533.8208 101.2051 543.0337 88.7969 543.0337 70.8828 c +543.0337 53.9941 531.1333 34.2891 515.2681 34.2891 c +506.5669 34.2891 500.0435 41.3281 500.0435 50.4121 c +500.0435 58.4746 505.2896 63.0781 511.1763 63.0781 c +515.6099 63.0781 518.6685 59.9473 519.6196 56.5527 c +519.6509 56.4375 519.6001 56.3164 519.4927 56.2598 c +519.3872 56.2051 519.2583 56.2305 519.1802 56.3223 c +518.4282 57.2168 517.2837 57.9609 515.5259 57.9609 c +512.5825 57.9609 511.0474 55.4316 511.0474 53.6113 c +511.0474 50.1563 513.606 47.7246 517.4458 47.7246 c +522.6899 47.7246 526.7856 53.4824 526.7856 60.9023 c +526.7856 70.1152 517.9556 78.5586 509.1274 78.5586 c +500.106 78.5586 490.4478 70.5 490.4478 55.5293 c +490.4478 40.8164 500.4282 23.9258 516.2935 23.9258 c +525.5435 23.9258 533.4048 28.0957 539.436 35.002 c +539.5161 35.0918 539.6489 35.1152 539.7544 35.0547 c +539.8599 34.9941 539.9067 34.8672 539.8677 34.752 c +535.4341 21.8164 537.9126 9.60742 544.688 9.60742 c +548.0024 9.60742 549.6899 11.9863 549.6899 14.5234 c +549.6899 17.1309 547.7915 19.2852 544.7212 19.6777 c +544.6001 19.6934 544.5063 19.793 544.4985 19.9141 c +544.4927 20.0352 544.5708 20.1465 544.6899 20.1758 c +551.5044 21.9395 558.5142 18.2285 558.5142 11.1328 c +558.5142 4.85547 553.1372 0.001953 546.1021 0.001953 c +535.4653 0.001953 530.3774 11.2715 532.6431 21.5371 C +527.1841 14.4922 519.0903 8.70117 507.4653 8.70117 c +483.9224 8.70117 472.0239 35.5703 472.0239 53.6113 c +472.0239 69.9883 475.3501 80.4785 482.2603 88.5391 C +474.1978 82.3984 470.8716 75.6172 469.3384 66.2773 C +463.1958 57.832 447.2036 57.832 v +440.5161 57.832 434.2739 60.3086 429.4302 64.998 C +429.4282 64.9961 429.4263 64.9941 429.4243 64.9902 C +429.3892 65.0313 429.3501 65.0703 429.3149 65.1094 C +428.9946 65.4238 428.6802 65.748 428.3716 66.082 C +423.3091 70.9316 413.1802 75.4785 403.9399 71.6797 c +403.8345 71.6367 403.7134 71.6699 403.6431 71.7578 c +403.5728 71.8477 403.5708 71.9727 403.6392 72.0645 c +408.0454 78.0898 415.6626 80.0059 421.3169 79.1309 C +420.272 82.8457 419.6938 87.0117 419.6938 91.6094 c +419.6938 108.0137 428.4927 119.5801 438.106 125.2109 C +434.9517 129.0137 435.5962 134.9883 439.1372 139.0449 c +439.2173 139.1357 439.3481 139.1582 439.4536 139.0996 c +439.5571 139.041 439.606 138.918 439.5708 138.8018 c +437.8403 133.2695 442.9634 128.6523 449.7524 128.9004 c +449.8755 128.9033 449.9829 128.8193 450.0103 128.6992 c +450.0356 128.5801 449.9712 128.457 449.8579 128.4111 c +439.7212 124.248 433.0005 115.4316 433.0005 104.4033 c +433.0005 92.8906 439.9087 83.5488 451.0415 83.5488 c +460.1255 83.5488 469.2095 91.8672 469.2095 102.2285 c +469.2095 110.2891 464.731 115.0225 458.9731 115.0225 c +453.9849 115.0225 450.0181 111.5684 450.0181 107.4736 c +450.0181 101.6211 456.6001 99.499 460.1118 104.1309 c +460.1821 104.2227 460.3032 104.2559 460.4087 104.2129 c +460.5161 104.1699 460.5806 104.0625 460.5669 103.9482 c +460.0435 99.5586 456.8149 95.4482 451.8091 95.4482 c +447.2036 95.4482 442.4692 99.2861 442.4692 107.4746 c +442.4692 117.1982 451.8071 127.0508 467.1606 127.0508 c +488.1431 127.0508 499.5317 103.3809 489.2974 84.4453 C +494.5415 90.459 499.2759 96.8555 499.2759 108.2432 c +499.2759 129.75 478.0122 144.291 452.9224 135.7441 c +452.8032 135.7021 452.6724 135.7559 452.6157 135.8672 c +452.5571 135.9785 452.5884 136.1143 452.6899 136.1895 c +459.6958 141.2979 467.0337 148.8262 467.0337 161.4668 c +467.0337 174.6475 458.3345 183.9854 444.772 183.9854 c +434.2798 183.9854 427.6274 177.5879 427.6274 170.04 c +427.6274 164.2822 431.3462 159.6768 437.7349 159.6768 c +447.2466 159.6768 450.481 170.0195 445.5591 174.6445 c +445.4751 174.7236 445.4556 174.8516 445.5103 174.9521 c +445.5669 175.0547 445.6841 175.1055 445.7974 175.0762 c +450.5669 173.8398 455.1353 169.0068 455.1353 161.7236 c +455.1353 149.1855 443.4927 140.8682 430.6978 140.8682 c +424.7017 140.8682 418.8989 142.623 414.2271 145.9102 C +414.7778 150.0635 413.3579 154.6602 411.2603 157.752 C +413.2095 150.8848 411.1021 139.5732 400.5864 139.5732 c +394.6958 139.5732 390.8013 144.1025 390.8013 149.4551 c +390.8013 155.7793 396.147 158.7314 400.4966 158.125 c +400.6118 158.1104 400.7017 158.0186 400.7134 157.9023 c +400.7271 157.7891 400.6606 157.6797 400.5532 157.6367 c +398.9673 157.0293 397.6118 155.3691 397.6118 153.373 c +397.6118 150.873 399.52 149.3906 401.52 149.3906 c +404.8149 149.3906 406.645 153.0605 405.4927 157.1104 C +405.5044 157.1104 L +404.4321 159.9473 403.8286 163.1152 403.8286 166.6055 c +403.8286 183.3672 422.0103 199.3398 444.9497 199.3398 c +469.1626 199.3398 482.0044 182.0664 482.0044 164.2822 c +482.0044 154.7461 478.4224 147.5225 473.8149 142.915 C +493.7368 145.0332 506.313 136.5176 513.0942 124.2354 C +508.6157 120.3975 506.9536 114.7676 Y +512.3267 121.8057 521.5376 127.9453 534.4595 127.9453 c +554.0356 127.9453 569.3911 108.7539 569.3911 88.1563 c +569.3911 75.084 564.5884 62.375 554.8267 53.9102 C +560.8638 48.8809 563.4731 41.5391 560.6978 35.6055 c +f +*U +*u +482.2114 160.9053 m +482.1782 160.7852 482.2388 160.6582 482.3521 160.6094 c +497.1763 154.0957 507.6372 141.6289 512.0063 127.2324 c +512.0415 127.1152 512.1548 127.0391 512.2778 127.0527 c +512.3989 127.0664 512.4946 127.166 512.5024 127.2871 c +513.229 137.9434 510.1274 148.4531 504.0005 157.0234 C +518.1216 157.9648 529.2407 165.9297 536.1997 177.5723 C +540.3286 171.46 548.6509 171.7969 551.8599 178.6035 c +551.9106 178.708 551.8833 178.832 551.7954 178.9063 c +551.7075 178.9805 551.5806 178.9873 551.4868 178.9219 c +547.2134 175.9688 539.8071 179.498 542.9282 190.9355 c +544.981 198.4561 549.3716 202.4668 553.5259 201.333 c +556.7915 200.4414 557.7661 197.002 557.0864 194.5146 c +555.9243 190.2539 551.438 188.8623 548.481 191.6357 c +548.397 191.7158 548.2681 191.7285 548.1704 191.6641 c +548.0728 191.5986 548.0298 191.4775 548.0688 191.3662 c +548.9868 188.7852 550.5571 186.7285 553.6157 185.8936 c +558.811 184.4756 565.6743 187.8115 567.8618 195.8252 c +570.2114 204.4316 565.7153 214.0566 557.604 216.2715 c +546.2036 219.3818 538.1392 211.166 534.3931 201.2383 C +533.9263 205.8896 530.1079 210.3203 v +530.0317 210.4092 529.9048 210.4336 529.8013 210.3818 c +529.6978 210.3291 529.6431 210.2129 529.6665 210.0996 c +531.106 203.6641 530.9575 196.8047 529.1099 190.0361 c +523.9438 171.1074 503.6626 159.0977 482.479 161.0938 c +482.354 161.1055 482.2407 161.0254 482.2114 160.9053 c +f +512.5806 73.1348 m +518.7739 66.666 531.0493 61.6133 541.6646 63.168 c +541.7856 63.1855 541.9009 63.1172 541.9399 63.0039 c +541.981 62.8906 541.936 62.7637 541.8345 62.7012 c +536.1743 59.2617 524.8384 58.0723 513.5786 63.4609 C +510.4536 61.1035 507.6489 59.8496 504.1919 59.2715 c +504.0806 59.2539 503.9692 59.3125 503.9204 59.4141 c +503.8735 59.5156 503.8989 59.6387 503.9849 59.7148 c +508.5454 63.6484 510.8286 67.6563 512.5806 73.1348 C +f +399.7935 114.9121 m +399.6763 114.8711 399.5454 114.9258 399.4888 115.0371 c +399.4321 115.1484 399.4653 115.2852 399.5688 115.3594 c +406.6938 120.4785 412.4829 128.291 415.4204 139.0566 c +422.6802 165.6563 411.3267 186.792 395.2544 194.0146 c +395.1509 194.0605 395.0903 194.1689 395.106 194.2803 c +395.1216 194.3926 395.2095 194.4814 395.3208 194.4971 c +402.0747 195.4785 411.2622 194.6729 420.7915 183.3486 c +426.4927 176.5732 429.7271 169.373 436.0142 167.6563 c +440.1216 166.5352 443.5103 167.9551 444.4126 171.2617 c +445.3618 174.7393 442.9966 177.8018 439.6528 178.7148 c +437.9653 179.1738 436.1626 179.1436 434.4146 178.6836 c +434.2993 178.6533 434.1821 178.7051 434.1255 178.8086 c +434.0708 178.9121 434.0923 179.04 434.1802 179.1172 c +436.8325 181.4746 440.8677 183.125 445.5708 181.8408 c +452.4907 179.9531 456.6606 172.457 454.4673 164.415 c +452.104 155.7578 443.3696 150.5234 433.5864 153.1934 c +430.2329 154.1084 426.4497 156.168 423.7603 159.4648 C +425.5942 155.4551 427.0493 153.1855 430.8286 150.6133 C +429.8364 140.1035 425.3091 129.8271 417.4009 122.8389 C +423.2192 120.9863 427.604 117.7207 430.5083 112.6855 c +430.5669 112.582 430.5454 112.4531 430.4595 112.373 c +430.3696 112.293 430.2388 112.2832 430.1411 112.3535 c +423.1802 117.2344 410.9048 118.582 399.7935 114.9121 c +f +383.1919 28.8809 m +379.1548 32.3105 377.936 38.0469 379.4106 43.8672 c +379.4419 43.9883 379.5552 44.0684 379.6782 44.0566 c +379.8032 44.0469 379.8989 43.9492 379.9106 43.8281 c +380.0981 41.6543 380.9458 39.748 382.4927 38.4355 c +386.4712 35.0566 393.5571 36.834 398.4634 42.3828 c +398.522 42.4492 398.6079 42.4805 398.6938 42.4668 c +398.7798 42.4531 398.8521 42.3984 398.8872 42.3203 c +401.1528 37.2539 406.1079 30.5938 419.0005 27.0742 c +437.0239 22.1563 457.3794 29.1992 461.6235 44.752 c +464.0493 53.6406 459.8306 62.4824 451.5845 68.7109 C +456.0298 63.123 458.7075 56.4238 456.6177 48.7695 c +453.5532 37.5391 439.1567 31.918 421.8755 36.6348 c +405.5825 41.0801 389.7075 57.748 393.8833 73.0547 c +396.1743 81.4492 404.6821 85.8887 413.4458 83.4961 c +421.2231 81.375 424.2837 75.1016 422.7329 69.4219 c +421.5669 65.1445 417.7407 63.0195 414.2153 62.9941 c +414.0962 62.9941 413.9927 63.0762 413.9653 63.1934 c +413.9419 63.3105 413.9985 63.4277 414.1079 63.4785 c +415.1704 63.9688 416.188 64.877 416.6509 66.5742 c +417.4263 69.4121 415.3911 71.5605 413.6353 72.0391 c +410.3032 72.9492 407.2837 71.1211 406.272 67.416 c +404.8911 62.3574 409.3677 56.8906 416.5239 54.9355 c +425.4126 52.5117 435.8833 58.8066 438.2075 67.3223 c +440.5825 76.0254 435.3501 87.4648 420.9087 91.4063 c +406.7153 95.2813 387.7935 90.0996 383.6157 74.793 c +381.1802 65.8691 383.1333 57.1875 388.2075 49.5508 c +388.2739 49.4512 388.2622 49.3164 388.1763 49.2305 c +388.0884 49.1445 387.9536 49.1328 387.854 49.2012 c +376.5415 56.8828 364.1118 57.707 362.3267 51.1699 c +361.4536 47.9727 363.3052 45.7188 365.7524 45.0508 c +368.2681 44.3652 370.8462 45.6289 372.0337 48.4883 c +372.0806 48.5996 372.2017 48.6641 372.3208 48.6406 c +372.438 48.6133 372.5259 48.5098 372.522 48.3867 c +372.4302 41.3477 367.0044 35.5625 360.1587 37.4316 c +354.1021 39.084 350.8364 45.5488 352.688 52.3359 c +355.4888 62.5977 367.6997 64.5391 377.0063 59.6504 C +371.647 66.7715 368.1919 76.1035 371.2524 87.3184 c +377.4517 110.0313 406.5044 114.4355 423.9087 109.6855 c +439.7075 105.373 448.9517 99.4023 454.9087 90.6152 C +451.1079 100.0098 445.4419 105.0039 436.8345 108.9434 C +430.3052 117.0918 434.5161 132.5195 v +436.2759 138.9707 440.3091 144.3418 446.1079 147.7793 C +446.1079 147.7813 446.106 147.7842 446.1021 147.7871 C +446.1509 147.8105 446.1997 147.8379 446.2466 147.8613 C +446.6333 148.0879 447.0298 148.3057 447.4321 148.5146 C +453.4438 152.1211 460.4966 160.6973 459.2661 170.6113 c +459.2524 170.7236 459.3149 170.832 459.4185 170.877 c +459.5239 170.9219 459.645 170.8896 459.7153 170.8018 c +464.3677 164.9629 464.2114 157.1104 461.8794 151.8857 C +465.7368 151.915 469.9087 151.375 474.3442 150.165 c +490.1685 145.8457 499.0122 134.3135 501.9126 123.5566 C +506.4106 125.5977 512.0063 123.4043 514.9888 118.9199 c +515.0532 118.8184 515.0415 118.6855 514.9575 118.5996 c +514.8735 118.5156 514.7407 118.5 514.6392 118.5645 c +509.7583 121.6914 503.9556 117.9648 502.4048 111.3496 c +502.3774 111.2305 502.2681 111.1484 502.145 111.1543 c +502.022 111.1602 501.9204 111.2539 501.9067 111.377 c +500.5591 122.251 493.8228 131.0566 483.1841 133.96 c +472.0767 136.9922 461.2446 132.7852 458.3149 122.0469 c +455.9224 113.2832 461.5571 102.3301 471.5513 99.6016 c +479.3286 97.4785 485.0747 100.5527 486.5903 106.1074 c +487.9048 110.9199 485.6157 115.6563 481.6665 116.7344 c +476.0181 118.2754 472.2388 112.4844 475.7837 107.877 c +475.8521 107.7852 475.854 107.6602 475.7837 107.5684 c +475.7153 107.4766 475.5923 107.4434 475.4868 107.4863 c +471.3892 109.1465 468.2739 113.3418 469.5923 118.1729 c +470.8052 122.6152 475.7544 126.1729 483.6548 124.0166 c +493.0356 121.457 500.0806 109.8555 496.0376 95.043 c +490.5142 74.7988 464.6802 70.0449 449.1079 84.9043 C +453.5278 78.2617 458.4517 72.0098 469.438 69.0117 c +490.188 63.3496 509.813 80.0332 508.1724 106.4902 c +508.1646 106.6152 508.2505 106.7285 508.3735 106.7539 c +508.4946 106.7813 508.6196 106.7129 508.6646 106.5977 c +511.7466 98.4922 517.0786 89.4316 529.2739 86.1035 c +541.9888 82.6328 553.2876 88.5664 556.8599 101.6504 c +559.6216 111.7734 555.2017 119.875 547.9204 121.8623 c +542.3657 123.3789 536.9419 121.0039 535.2603 114.8398 c +532.7563 105.6641 541.8833 99.8203 547.6411 103.3516 c +547.7388 103.4121 547.8677 103.3965 547.9497 103.3164 c +548.0337 103.2363 548.0513 103.1094 547.9927 103.0078 c +545.5454 98.7324 539.6802 95.5977 532.6548 97.5156 c +520.5571 100.8164 515.6001 114.2383 518.9673 126.5811 c +520.5454 132.3652 523.7681 137.502 528.1685 141.1426 C +532.0298 139.5186 536.8384 139.6777 540.3735 140.8867 C +533.2349 140.8154 522.8794 145.8262 525.647 155.9707 c +527.1978 161.6533 532.5923 164.2188 537.7563 162.8086 c +543.8579 161.1436 545.2974 155.21 543.5688 151.1729 c +543.522 151.0654 543.4106 151.0039 543.2974 151.0225 c +543.1821 151.04 543.0942 151.1318 543.0825 151.2471 c +542.9146 152.9375 541.6685 154.6836 539.7446 155.208 c +537.3325 155.8662 535.3989 154.415 534.8735 152.4854 c +534.0044 149.3066 537.063 146.5752 541.2739 146.6211 C +541.27 146.6094 L +544.2896 146.8984 547.5044 146.6445 550.8716 145.7266 c +567.0415 141.3125 577.6646 119.5674 571.6235 97.4375 c +565.2485 74.0781 545.2056 66.2363 528.0474 70.9199 c +518.8481 73.4297 512.8228 78.7871 509.5903 84.4453 C +506.3892 64.668 494.8618 54.7793 481.229 51.4707 C +478.7056 56.8008 473.7114 59.8867 Y +479.0864 52.8496 482.5845 42.3477 479.1821 29.8809 c +474.0278 10.9961 451.4712 1.23438 431.6001 6.6582 c +418.9888 10.0996 407.9927 18.0801 402.397 29.7266 C +395.9556 25.2266 388.186 24.6406 383.1919 28.8809 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0 0 0 0 k + 0 0 0 0 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +530.1294 102.9688 m +530.0044 102.9688 529.8989 102.877 529.8794 102.7539 c +527.5005 86.7402 518.2271 73.3652 505.4888 65.3594 c +505.3853 65.2949 505.3403 65.1641 505.3872 65.0508 c +505.4321 64.9375 505.5532 64.8711 505.6724 64.8965 c +516.145 67 525.4653 72.7598 532.1216 80.9277 C +536.7466 67.5508 547.3579 58.9219 560.4224 55.2734 C +555.6138 49.6816 558.1294 41.7402 565.5415 40.4375 c +565.6548 40.416 565.7661 40.4746 565.8149 40.5781 c +565.8638 40.6816 565.8364 40.8066 565.7485 40.8809 c +561.7759 44.2266 563.229 52.3008 575.0864 52.3008 c +582.8804 52.3008 587.9077 49.1211 587.9077 44.8145 c +587.9077 41.4297 584.8452 39.584 582.2651 39.584 c +577.8511 39.584 575.3267 43.5449 577.2231 47.127 c +577.2778 47.2305 577.2563 47.3574 577.1685 47.4355 c +577.0806 47.5137 576.9517 47.5215 576.854 47.4551 c +574.606 45.8906 573.0356 43.834 573.0356 40.6641 c +573.0356 35.2773 578.062 29.5352 586.3687 29.5332 c +595.2905 29.5332 603.3921 36.4043 603.3921 44.8145 c +603.3921 56.6309 593.3433 62.248 582.7788 63.248 C +587.144 64.9219 590.4116 69.7734 v +590.478 69.8691 590.4683 69.998 590.3901 70.084 c +590.312 70.1719 590.1851 70.1934 590.0835 70.1387 c +584.2534 67.0566 577.5942 65.3945 570.5806 65.3945 c +550.9575 65.3945 534.0337 81.7988 530.3813 102.7607 c +530.3599 102.8818 530.2524 102.9727 530.1294 102.9688 c +f +453.4517 50.5625 m +448.8442 42.8867 447.1997 29.7129 451.4946 19.8809 c +451.5435 19.7695 451.5083 19.6406 451.4087 19.5703 c +451.3091 19.502 451.1763 19.5117 451.0884 19.5957 c +446.2817 24.1484 442.1489 34.7715 444.3833 47.0527 C +441.2876 49.4473 439.3384 51.8223 437.8696 55.0059 c +437.8228 55.1074 437.8501 55.2305 437.936 55.3047 c +438.022 55.377 438.147 55.3848 438.2427 55.3203 c +443.2388 51.959 447.7056 50.8125 453.4517 50.5625 C +f +464.0591 170.3691 m +463.9907 170.4727 464.0083 170.6133 464.1001 170.6973 c +464.1938 170.7813 464.3345 170.7852 464.4321 170.7061 c +471.2466 165.1797 480.3071 161.6504 491.4673 161.6504 c +519.0376 161.6504 536.4399 178.1689 539.1743 195.5771 c +539.1919 195.6885 539.2817 195.7734 539.3931 195.7891 c +539.5044 195.8047 539.6138 195.7422 539.6587 195.6396 c +542.3833 189.3818 544.0259 180.3057 535.6099 168.1309 c +530.5747 160.8457 524.479 155.8311 524.479 149.3145 c +524.479 145.0566 526.7407 142.1602 530.1685 142.1602 c +533.7739 142.1602 536.106 145.248 536.104 148.7148 c +536.104 150.4629 535.6001 152.1934 534.6958 153.7607 c +534.6372 153.8633 534.6548 153.9902 534.7407 154.0723 c +534.8247 154.1523 534.9556 154.165 535.0532 154.1016 c +538.0259 152.1641 540.6802 148.7021 540.6802 143.8281 c +540.6802 136.6563 534.5474 130.6602 526.2095 130.6602 c +517.2368 130.6602 509.8872 137.709 509.8872 147.8477 c +509.8872 151.3262 510.8755 155.5156 513.3501 158.9805 C +509.9653 156.1523 508.1587 154.1523 506.6724 149.8271 C +496.272 148.0186 485.1665 149.6797 476.3403 155.4727 C +476.0864 149.3711 474.0903 144.2793 469.9985 140.1533 c +469.9146 140.0684 469.7837 140.0547 469.6841 140.1182 c +469.5825 140.1816 469.5415 140.3066 469.5806 140.4189 c +472.4575 148.4199 470.5239 160.6152 464.0591 170.3691 c +f +376.6938 163.7344 m +378.938 168.5352 384.1528 171.2188 390.1548 171.3271 c +390.2798 171.3311 390.3872 171.2432 390.4087 171.1211 c +390.4321 170.998 390.3638 170.8779 390.2485 170.8359 c +388.2017 170.082 386.5864 168.7637 385.7271 166.9258 c +383.5142 162.1973 387.0942 155.8301 393.7407 152.5566 c +393.8188 152.5186 393.8716 152.4434 393.8813 152.3594 c +393.8911 152.2725 393.856 152.1885 393.7915 152.1318 c +389.5005 148.6143 384.3794 142.0781 384.3794 128.7148 c +384.3774 110.0322 396.5337 92.25 412.6548 92.25 c +421.8677 92.25 429.2876 98.6465 433.1255 108.2422 C +428.9028 102.4844 423.145 98.1348 415.2114 98.1348 c +403.5708 98.1348 394.3579 110.5439 394.356 128.459 c +394.356 145.3457 406.2583 165.0518 422.1216 165.0508 c +430.8247 165.0488 437.3481 158.0117 437.3481 148.9277 c +437.3481 140.8672 432.1021 136.2637 426.2173 136.2637 c +421.7798 136.2637 418.7231 139.3936 417.772 142.7871 c +417.7388 142.9023 417.7915 143.0254 417.897 143.0811 c +418.0044 143.1357 418.1333 143.1104 418.2114 143.0186 c +418.9634 142.124 420.1079 141.3809 421.8657 141.3809 c +424.8091 141.3789 426.3442 143.9082 426.3442 145.7285 c +426.3442 149.1836 423.7856 151.6152 419.9458 151.6152 c +414.7036 151.6152 410.606 145.8564 410.606 138.4385 c +410.606 129.2236 419.436 120.7813 428.2642 120.7813 c +437.2856 120.7813 446.9438 128.8408 446.9438 143.8125 c +446.9419 158.5234 436.9653 175.4141 421.0981 175.4141 c +411.8481 175.4141 403.9849 171.2441 397.9556 164.3398 c +397.8755 164.248 397.7427 164.2246 397.6392 164.2852 c +397.5317 164.3477 397.4849 164.4727 397.5239 164.5879 c +401.9575 177.5234 399.4771 189.7344 392.7036 189.7324 c +389.3892 189.7324 387.7017 187.3535 387.7017 184.8154 c +387.7017 182.21 389.6001 180.0566 392.6704 179.6611 c +392.7915 179.6475 392.8833 179.5479 392.8931 179.4268 c +392.8989 179.3047 392.8188 179.1943 392.7017 179.1641 c +385.8872 177.4004 378.8774 181.1133 378.8774 188.2061 c +378.8774 194.4854 384.2544 199.3398 391.2896 199.3398 c +401.9263 199.3379 407.0142 188.0684 404.7485 177.8047 C +410.2075 184.8486 418.3013 190.6396 429.9263 190.6396 c +453.4692 190.6396 465.3677 163.7715 465.3677 145.7285 c +465.3677 129.3525 462.0415 118.8604 455.1313 110.8018 C +463.1938 116.9404 466.52 123.7227 468.0552 133.0645 C +474.1958 141.5078 490.188 141.5078 v +496.8755 141.5078 503.1177 139.0322 507.9614 134.3438 C +507.9634 134.3447 507.9653 134.3477 507.9673 134.3486 C +508.0024 134.3105 508.0396 134.2695 508.0767 134.2314 C +508.397 133.915 508.7114 133.5918 509.02 133.2578 C +514.0806 128.4102 524.2114 123.8633 533.4517 127.6602 c +533.5571 127.7031 533.6782 127.6699 533.7485 127.582 c +533.8188 127.4932 533.8188 127.3672 533.7524 127.2754 c +529.3462 121.252 521.729 119.335 516.0747 120.21 C +517.1177 116.4941 517.6958 112.3281 517.6958 107.7305 c +517.6978 91.3262 508.8989 79.7598 499.2856 74.1289 C +502.438 70.3281 501.7954 64.3535 498.2544 60.2949 c +498.1743 60.2051 498.0435 60.1816 497.938 60.2402 c +497.8345 60.2988 497.7837 60.4238 497.8188 60.5391 c +499.5513 66.0703 494.4282 70.6875 487.6392 70.4395 c +487.5161 70.4355 487.4067 70.5195 487.3813 70.6406 c +487.356 70.7617 487.4185 70.8828 487.5337 70.9277 c +497.6685 75.0918 504.3911 83.9102 504.3892 94.9355 c +504.3911 106.4492 497.481 115.79 486.3501 115.79 c +477.2661 115.79 468.1821 107.4727 468.1821 97.1133 c +468.1821 89.0508 472.6587 84.3184 478.4165 84.3164 c +483.4067 84.3184 487.3735 87.7715 487.3735 91.8672 c +487.3735 97.7188 480.7896 99.8408 477.2778 95.209 c +477.2095 95.1172 477.0864 95.084 476.981 95.127 c +476.8755 95.1689 476.811 95.2773 476.8228 95.3926 c +477.3462 99.7813 480.5767 103.8926 485.5825 103.8926 c +490.188 103.8926 494.9224 100.0518 494.9224 91.8652 c +494.9224 82.1406 485.5845 72.291 470.231 72.2891 c +449.2466 72.2891 437.8599 95.959 448.0942 114.8945 C +442.8501 108.8809 438.1157 102.4844 438.1157 91.0977 c +438.1138 69.5898 459.3794 55.0488 484.4692 63.5977 c +484.5884 63.6367 484.7192 63.584 484.7759 63.4746 c +484.8345 63.3633 484.8013 63.2266 484.6997 63.1523 c +477.6938 58.043 470.356 50.5137 470.356 37.873 c +470.356 24.6934 479.0552 15.3535 492.6196 15.3535 c +503.1099 15.3535 509.7642 21.752 509.7642 29.2988 c +509.7642 35.0566 506.0454 39.6641 499.6567 39.6641 c +490.1431 39.6641 486.9087 29.3203 491.8325 24.6953 c +491.9165 24.6152 491.936 24.4902 491.8813 24.3887 c +491.8247 24.2871 491.7056 24.2344 491.5942 24.2637 c +486.8247 25.5 482.2563 30.332 482.2563 37.6152 c +482.2544 50.1563 493.897 58.4727 506.6919 58.4727 c +512.688 58.4727 518.4907 56.7188 523.1646 53.4297 C +522.6118 49.2773 524.0317 44.6816 526.1313 41.5879 C +524.1821 48.457 526.2915 59.7656 536.8032 59.7676 c +542.6958 59.7656 546.5903 55.2383 546.5903 49.8867 c +546.5903 43.5605 541.2446 40.6094 536.895 41.2148 c +536.7798 41.2305 536.6899 41.3223 536.6763 41.4375 c +536.6646 41.5527 536.731 41.6602 536.8384 41.7031 c +538.4243 42.3105 539.7817 43.9727 539.7817 45.9668 c +539.7817 48.4668 537.8696 49.9492 535.8696 49.9492 c +532.5767 49.9492 530.7466 46.2793 531.8989 42.2305 C +531.8872 42.2285 L +532.9595 39.3926 533.561 36.2246 533.561 32.7363 c +533.561 15.9746 515.3813 0.001953 492.4399 0 c +468.229 0 455.3872 17.2734 455.3892 35.0566 c +455.3892 44.5938 458.9692 51.8184 463.5767 56.4258 C +443.6548 54.3066 431.0786 62.8223 424.2974 75.1035 C +428.7759 78.9414 430.438 84.5723 Y +425.0649 77.5352 415.854 71.3945 402.9321 71.3945 c +383.356 71.3945 368.0005 90.5859 368.0005 111.1836 c +368.0005 124.2568 372.8032 136.9648 382.5649 145.4307 C +376.5278 150.459 373.9185 157.8018 376.6938 163.7344 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0.35 0.6 0.8 0.25 k + 0.35 0.6 0.8 0.25 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +240.2622 96.3711 m +240.3872 96.3711 240.4927 96.4629 240.5103 96.585 c +242.8911 112.5996 252.1646 125.9746 264.9028 133.9814 c +265.0063 134.0449 265.0493 134.1758 265.0044 134.29 c +264.9575 134.4023 264.8384 134.4688 264.7173 134.4443 c +254.2466 132.3398 244.9243 126.5811 238.27 118.4141 C +233.644 131.7891 223.0337 140.418 209.9692 144.0654 C +214.7778 149.6582 212.2622 157.5986 204.8501 158.9023 c +204.7368 158.9229 204.6245 158.8643 204.5757 158.7607 c +204.5278 158.6563 204.5542 158.5322 204.6421 158.46 c +208.6157 155.1143 207.1616 147.04 195.3052 147.04 c +187.5103 147.04 182.4849 150.2188 182.4849 154.5254 c +182.4849 157.9102 185.5464 159.7559 188.1255 159.7559 c +192.5415 159.7559 195.0649 155.7949 193.1675 152.2129 c +193.1128 152.1104 193.1353 151.9814 193.2231 151.9033 c +193.311 151.8271 193.4399 151.8184 193.5366 151.8857 c +195.7856 153.4492 197.356 155.5059 197.356 158.6768 c +197.356 164.0635 192.3306 169.8066 184.0239 169.8066 c +175.1021 169.8066 167.0005 162.9355 167.0005 154.5254 c +167.0005 142.71 177.0493 137.0918 187.6138 136.0918 C +183.2485 134.4189 179.98 129.5664 v +179.9146 129.4697 179.9243 129.3418 180.0015 129.2559 c +180.0796 129.1689 180.2056 129.1475 180.3091 129.2012 c +186.1392 132.2822 192.7954 133.9453 199.811 133.9453 c +219.4321 133.9453 236.3579 117.541 240.0103 96.5801 c +240.0317 96.4561 240.1382 96.3691 240.2622 96.3711 c +f +316.9399 148.7773 m +321.5493 156.4551 323.1919 169.627 318.897 179.46 c +318.8481 179.5703 318.8833 179.6992 318.9829 179.7686 c +319.0806 179.8379 319.2153 179.8281 319.3032 179.7461 c +324.1099 175.1914 328.2427 164.5684 326.0083 152.2871 C +329.106 149.8936 331.0532 147.5176 332.522 144.335 c +332.5688 144.2314 332.5415 144.1104 332.4556 144.0352 c +332.3696 143.9629 332.2446 143.9551 332.1489 144.0186 c +327.1528 147.3809 322.686 148.5283 316.9399 148.7773 C +f +306.3306 28.9707 m +306.4009 28.8672 306.3833 28.7266 306.2915 28.6426 c +306.1978 28.5586 306.0571 28.5547 305.9595 28.6348 c +299.145 34.1621 290.0845 37.6895 278.9243 37.6895 c +251.3521 37.6895 233.9517 21.1719 231.2163 3.76367 c +231.1987 3.65234 231.1099 3.56641 230.9985 3.55078 c +230.8862 3.53711 230.7778 3.59766 230.7329 3.70117 c +228.0073 9.95898 226.3657 19.0352 234.7817 31.209 c +239.8159 38.4941 245.9106 43.5098 245.9106 50.0273 c +245.9106 54.2852 243.6509 57.1797 240.2231 57.1797 c +236.6177 57.1797 234.2866 54.0918 234.2866 50.625 c +234.2866 48.877 234.7915 47.1465 235.6958 45.5801 c +235.7544 45.4766 235.7358 45.3496 235.6509 45.2676 c +235.5649 45.1875 235.436 45.1758 235.3384 45.2402 c +232.3657 47.1777 229.7114 50.6367 229.7114 55.5117 c +229.7114 62.6836 235.8442 68.6816 244.1802 68.6816 c +253.1548 68.6816 260.5044 61.6328 260.5044 51.4922 c +260.5044 48.0156 259.5142 43.8242 257.0415 40.3613 C +260.4263 43.1875 262.2329 45.1875 263.7192 49.5117 C +274.1196 51.3223 285.2251 49.6602 294.0493 43.8691 C +294.3052 49.9707 296.3013 55.0605 300.3931 59.1875 c +300.4771 59.2715 300.6079 59.2852 300.7075 59.2227 c +300.8091 59.1582 300.8521 59.0332 300.811 58.9219 c +297.9341 50.9199 299.8657 38.7246 306.3306 28.9707 c +f +393.6978 35.6055 m +391.4517 30.8066 386.2388 28.1211 380.2368 28.0117 c +380.1118 28.0098 380.0044 28.0977 379.9829 28.2188 c +379.9595 28.3418 380.0278 28.4609 380.1431 28.5039 c +382.1899 29.2578 383.8052 30.5762 384.6646 32.4141 c +386.8774 37.1426 383.2974 43.5098 376.6509 46.7832 c +376.5728 46.8223 376.52 46.8965 376.5103 46.9824 c +376.5005 47.0684 376.5337 47.1523 376.6001 47.207 c +380.8911 50.7266 386.0122 57.2617 386.0122 70.627 c +386.0122 89.3086 373.8579 107.0898 357.7368 107.0898 c +348.5239 107.0898 341.104 100.6934 337.2661 91.0977 C +341.4868 96.8564 347.2446 101.2051 355.1782 101.2051 c +366.8208 101.2051 376.0337 88.7969 376.0337 70.8828 c +376.0337 53.9941 364.1333 34.2891 348.2681 34.2891 c +339.5669 34.2891 333.0435 41.3281 333.0435 50.4121 c +333.0435 58.4746 338.2896 63.0781 344.1763 63.0781 c +348.6099 63.0781 351.6685 59.9473 352.6196 56.5527 c +352.6509 56.4375 352.6001 56.3164 352.4927 56.2598 c +352.3872 56.2051 352.2583 56.2305 352.1802 56.3223 c +351.4282 57.2168 350.2837 57.9609 348.5259 57.9609 c +345.5825 57.9609 344.0474 55.4316 344.0474 53.6113 c +344.0474 50.1563 346.606 47.7246 350.4458 47.7246 c +355.6899 47.7246 359.7856 53.4824 359.7856 60.9023 c +359.7856 70.1152 350.9556 78.5586 342.1274 78.5586 c +333.106 78.5586 323.4478 70.5 323.4478 55.5293 c +323.4478 40.8164 333.4282 23.9258 349.2935 23.9258 c +358.5435 23.9258 366.4048 28.0957 372.436 35.002 c +372.5161 35.0918 372.6489 35.1152 372.7544 35.0547 c +372.8599 34.9941 372.9067 34.8672 372.8677 34.752 c +368.4341 21.8164 370.9126 9.60742 377.688 9.60742 c +381.0024 9.60742 382.6899 11.9863 382.6899 14.5234 c +382.6899 17.1309 380.7915 19.2852 377.7212 19.6777 c +377.6001 19.6934 377.5063 19.793 377.4985 19.9141 c +377.4927 20.0352 377.5708 20.1465 377.6899 20.1758 c +384.5044 21.9395 391.5142 18.2285 391.5142 11.1328 c +391.5142 4.85547 386.1372 0.001953 379.1021 0.001953 c +368.4653 0.001953 363.3774 11.2715 365.6431 21.5371 C +360.1841 14.4922 352.0903 8.70117 340.4653 8.70117 c +316.9224 8.70117 305.0239 35.5703 305.0239 53.6113 c +305.0239 69.9883 308.3501 80.4785 315.2603 88.5391 C +307.1978 82.3984 303.8716 75.6172 302.3384 66.2773 C +296.1958 57.832 280.2036 57.832 v +273.5161 57.832 267.2739 60.3086 262.4302 64.998 C +262.4282 64.9961 262.4263 64.9941 262.4243 64.9902 C +262.3892 65.0313 262.3501 65.0703 262.3149 65.1094 C +261.9946 65.4238 261.6802 65.748 261.3716 66.082 C +256.3091 70.9316 246.1802 75.4785 236.9399 71.6797 c +236.8345 71.6367 236.7134 71.6699 236.6431 71.7578 c +236.5728 71.8477 236.5708 71.9727 236.6382 72.0645 c +241.0454 78.0898 248.6626 80.0059 254.3169 79.1309 C +253.272 82.8457 252.6938 87.0117 252.6938 91.6094 c +252.6938 108.0137 261.4927 119.5801 271.106 125.2109 C +267.9517 129.0137 268.5962 134.9883 272.1372 139.0449 c +272.2173 139.1357 272.3481 139.1582 272.4536 139.0996 c +272.5571 139.041 272.606 138.918 272.5708 138.8018 c +270.8403 133.2695 275.9634 128.6523 282.7524 128.9004 c +282.8755 128.9033 282.9829 128.8193 283.0103 128.6992 c +283.0356 128.5801 282.9712 128.457 282.8579 128.4111 c +272.7212 124.248 266.0005 115.4316 266.0005 104.4033 c +266.0005 92.8906 272.9087 83.5488 284.0415 83.5488 c +293.1255 83.5488 302.2095 91.8672 302.2095 102.2285 c +302.2095 110.2891 297.731 115.0225 291.9731 115.0225 c +286.9849 115.0225 283.0181 111.5684 283.0181 107.4736 c +283.0181 101.6211 289.6001 99.499 293.1118 104.1309 c +293.1821 104.2227 293.3032 104.2559 293.4087 104.2129 c +293.5161 104.1699 293.5806 104.0625 293.5669 103.9482 c +293.0435 99.5586 289.8149 95.4482 284.8091 95.4482 c +280.2036 95.4482 275.4692 99.2861 275.4692 107.4746 c +275.4692 117.1982 284.8071 127.0508 300.1606 127.0508 c +321.1431 127.0508 332.5317 103.3809 322.2974 84.4453 C +327.5415 90.459 332.2759 96.8555 332.2759 108.2432 c +332.2759 129.75 311.0122 144.291 285.9224 135.7441 c +285.8032 135.7021 285.6724 135.7559 285.6157 135.8672 c +285.5571 135.9785 285.5884 136.1143 285.6899 136.1895 c +292.6958 141.2979 300.0337 148.8262 300.0337 161.4668 c +300.0337 174.6475 291.3345 183.9854 277.772 183.9854 c +267.2798 183.9854 260.6274 177.5879 260.6274 170.04 c +260.6274 164.2822 264.3462 159.6768 270.7349 159.6768 c +280.2466 159.6768 283.481 170.0195 278.5591 174.6445 c +278.4751 174.7236 278.4556 174.8516 278.5103 174.9521 c +278.5669 175.0547 278.6841 175.1055 278.7974 175.0762 c +283.5669 173.8398 288.1353 169.0068 288.1353 161.7236 c +288.1353 149.1855 276.4927 140.8682 263.6978 140.8682 c +257.7017 140.8682 251.8989 142.623 247.2271 145.9102 C +247.7778 150.0635 246.3579 154.6602 244.2603 157.752 C +246.2095 150.8848 244.1021 139.5732 233.5864 139.5732 c +227.6958 139.5732 223.8013 144.1025 223.8013 149.4551 c +223.8013 155.7793 229.147 158.7314 233.4966 158.125 c +233.6118 158.1104 233.7007 158.0186 233.7134 157.9023 c +233.7271 157.7891 233.6606 157.6797 233.5532 157.6367 c +231.9673 157.0293 230.6108 155.3691 230.6108 153.373 c +230.6108 150.873 232.52 149.3906 234.52 149.3906 c +237.8149 149.3906 239.645 153.0605 238.4927 157.1104 C +238.5044 157.1104 L +237.4312 159.9473 236.8286 163.1152 236.8286 166.6055 c +236.8286 183.3672 255.0103 199.3398 277.9497 199.3398 c +302.1626 199.3398 315.0044 182.0664 315.0044 164.2822 c +315.0044 154.7461 311.4224 147.5225 306.8149 142.915 C +326.7368 145.0332 339.313 136.5176 346.0942 124.2354 C +341.6157 120.3975 339.9536 114.7676 Y +345.3267 121.8057 354.5376 127.9453 367.4595 127.9453 c +387.0356 127.9453 402.3911 108.7539 402.3911 88.1563 c +402.3911 75.084 397.5884 62.375 387.8267 53.9102 C +393.8638 48.8809 396.4731 41.5391 393.6978 35.6055 c +f +*U +*u +315.2114 160.9053 m +315.1782 160.7852 315.2388 160.6582 315.3521 160.6094 c +330.1763 154.0957 340.6372 141.6289 345.0063 127.2324 c +345.0415 127.1152 345.1548 127.0391 345.2778 127.0527 c +345.3989 127.0664 345.4946 127.166 345.5024 127.2871 c +346.229 137.9434 343.1274 148.4531 337.0005 157.0234 C +351.1216 157.9648 362.2407 165.9297 369.1997 177.5723 C +373.3286 171.46 381.6509 171.7969 384.8599 178.6035 c +384.9106 178.708 384.8833 178.832 384.7954 178.9063 c +384.7075 178.9805 384.5806 178.9873 384.4868 178.9219 c +380.2134 175.9688 372.8071 179.498 375.9282 190.9355 c +377.981 198.4561 382.3716 202.4668 386.5259 201.333 c +389.7915 200.4414 390.7661 197.002 390.0864 194.5146 c +388.9243 190.2539 384.438 188.8623 381.481 191.6357 c +381.397 191.7158 381.2681 191.7285 381.1704 191.6641 c +381.0728 191.5986 381.0298 191.4775 381.0688 191.3662 c +381.9868 188.7852 383.5571 186.7285 386.6157 185.8936 c +391.811 184.4756 398.6743 187.8115 400.8618 195.8252 c +403.2114 204.4316 398.7153 214.0566 390.604 216.2715 c +379.2036 219.3818 371.1392 211.166 367.3931 201.2383 C +366.9263 205.8896 363.1079 210.3203 v +363.0317 210.4092 362.9048 210.4336 362.8013 210.3818 c +362.6978 210.3291 362.6431 210.2129 362.6665 210.0996 c +364.106 203.6641 363.9575 196.8047 362.1099 190.0361 c +356.9438 171.1074 336.6626 159.0977 315.479 161.0938 c +315.354 161.1055 315.2407 161.0254 315.2114 160.9053 c +f +345.5806 73.1348 m +351.7739 66.666 364.0493 61.6133 374.6646 63.168 c +374.7856 63.1855 374.9009 63.1172 374.9399 63.0039 c +374.981 62.8906 374.936 62.7637 374.8345 62.7012 c +369.1743 59.2617 357.8384 58.0723 346.5786 63.4609 C +343.4536 61.1035 340.6489 59.8496 337.1919 59.2715 c +337.0806 59.2539 336.9692 59.3125 336.9204 59.4141 c +336.8735 59.5156 336.8989 59.6387 336.9849 59.7148 c +341.5454 63.6484 343.8286 67.6563 345.5806 73.1348 C +f +232.7935 114.9121 m +232.6753 114.8711 232.5444 114.9258 232.4878 115.0371 c +232.4312 115.1484 232.4644 115.2852 232.5679 115.3594 c +239.6938 120.4785 245.4829 128.291 248.4204 139.0566 c +255.6802 165.6563 244.3267 186.792 228.2534 194.0146 c +228.1499 194.0605 228.0903 194.1689 228.105 194.2803 c +228.1216 194.3926 228.2085 194.4814 228.3198 194.4971 c +235.0747 195.4785 244.2622 194.6729 253.7915 183.3486 c +259.4927 176.5732 262.7271 169.373 269.0142 167.6563 c +273.1216 166.5352 276.5103 167.9551 277.4126 171.2617 c +278.3618 174.7393 275.9966 177.8018 272.6528 178.7148 c +270.9653 179.1738 269.1626 179.1436 267.4146 178.6836 c +267.2993 178.6533 267.1821 178.7051 267.1255 178.8086 c +267.0708 178.9121 267.0923 179.04 267.1802 179.1172 c +269.8325 181.4746 273.8677 183.125 278.5708 181.8408 c +285.4907 179.9531 289.6606 172.457 287.4673 164.415 c +285.104 155.7578 276.3696 150.5234 266.5864 153.1934 c +263.2329 154.1084 259.4497 156.168 256.7603 159.4648 C +258.5942 155.4551 260.0493 153.1855 263.8286 150.6133 C +262.8364 140.1035 258.3091 129.8271 250.4009 122.8389 C +256.2192 120.9863 260.604 117.7207 263.5083 112.6855 c +263.5669 112.582 263.5454 112.4531 263.4595 112.373 c +263.3696 112.293 263.2388 112.2832 263.1411 112.3535 c +256.1802 117.2344 243.9048 118.582 232.7935 114.9121 c +f +216.1919 28.8809 m +212.1538 32.3105 210.936 38.0469 212.4106 43.8672 c +212.4419 43.9883 212.5542 44.0684 212.6772 44.0566 c +212.8022 44.0469 212.8989 43.9492 212.9097 43.8281 c +213.0981 41.6543 213.9448 39.748 215.4917 38.4355 c +219.4712 35.0566 226.5562 36.834 231.4634 42.3828 c +231.522 42.4492 231.6079 42.4805 231.6929 42.4668 c +231.7788 42.4531 231.8511 42.3984 231.8862 42.3203 c +234.1519 37.2539 239.1079 30.5938 252.0005 27.0742 c +270.0239 22.1563 290.3794 29.1992 294.6235 44.752 c +297.0493 53.6406 292.8306 62.4824 284.5845 68.7109 C +289.0298 63.123 291.7075 56.4238 289.6177 48.7695 c +286.5532 37.5391 272.1567 31.918 254.8755 36.6348 c +238.5825 41.0801 222.7065 57.748 226.8833 73.0547 c +229.1743 81.4492 237.6821 85.8887 246.4458 83.4961 c +254.2231 81.375 257.2837 75.1016 255.7329 69.4219 c +254.5669 65.1445 250.7407 63.0195 247.2153 62.9941 c +247.0962 62.9941 246.9927 63.0762 246.9653 63.1934 c +246.9419 63.3105 246.9985 63.4277 247.1079 63.4785 c +248.1704 63.9688 249.188 64.877 249.6509 66.5742 c +250.4263 69.4121 248.3911 71.5605 246.6353 72.0391 c +243.3022 72.9492 240.2827 71.1211 239.271 67.416 c +237.8911 62.3574 242.3667 56.8906 249.5239 54.9355 c +258.4126 52.5117 268.8833 58.8066 271.2075 67.3223 c +273.5825 76.0254 268.3501 87.4648 253.9087 91.4063 c +239.7153 95.2813 220.7925 90.0996 216.6157 74.793 c +214.1802 65.8691 216.1333 57.1875 221.2075 49.5508 c +221.2739 49.4512 221.2612 49.3164 221.1753 49.2305 c +221.0884 49.1445 220.9536 49.1328 220.853 49.2012 c +209.5415 56.8828 197.1108 57.707 195.3267 51.1699 c +194.4536 47.9727 196.3042 45.7188 198.7524 45.0508 c +201.2681 44.3652 203.8462 45.6289 205.0327 48.4883 c +205.0796 48.5996 205.2007 48.6641 205.3198 48.6406 c +205.438 48.6133 205.5249 48.5098 205.522 48.3867 c +205.4292 41.3477 200.0034 35.5625 193.1577 37.4316 c +187.1021 39.084 183.8354 45.5488 185.688 52.3359 c +188.4888 62.5977 200.6997 64.5391 210.0063 59.6504 C +204.647 66.7715 201.1919 76.1035 204.2524 87.3184 c +210.4507 110.0313 239.5044 114.4355 256.9087 109.6855 c +272.7075 105.373 281.9517 99.4023 287.9087 90.6152 C +284.1079 100.0098 278.4419 105.0039 269.8345 108.9434 C +263.3052 117.0918 267.5161 132.5195 v +269.2759 138.9707 273.3091 144.3418 279.1079 147.7793 C +279.1079 147.7813 279.106 147.7842 279.1021 147.7871 C +279.1509 147.8105 279.1997 147.8379 279.2466 147.8613 C +279.6333 148.0879 280.0298 148.3057 280.4321 148.5146 C +286.4438 152.1211 293.4966 160.6973 292.2661 170.6113 c +292.2524 170.7236 292.3149 170.832 292.4185 170.877 c +292.5239 170.9219 292.645 170.8896 292.7153 170.8018 c +297.3677 164.9629 297.2114 157.1104 294.8794 151.8857 C +298.7368 151.915 302.9087 151.375 307.3442 150.165 c +323.1685 145.8457 332.0122 134.3135 334.9126 123.5566 C +339.4106 125.5977 345.0063 123.4043 347.9888 118.9199 c +348.0532 118.8184 348.0415 118.6855 347.9575 118.5996 c +347.8735 118.5156 347.7407 118.5 347.6392 118.5645 c +342.7583 121.6914 336.9556 117.9648 335.4048 111.3496 c +335.3774 111.2305 335.2681 111.1484 335.145 111.1543 c +335.022 111.1602 334.9204 111.2539 334.9067 111.377 c +333.5591 122.251 326.8228 131.0566 316.1841 133.96 c +305.0767 136.9922 294.2446 132.7852 291.3149 122.0469 c +288.9224 113.2832 294.5571 102.3301 304.5513 99.6016 c +312.3286 97.4785 318.0747 100.5527 319.5903 106.1074 c +320.9048 110.9199 318.6157 115.6563 314.6665 116.7344 c +309.0181 118.2754 305.2388 112.4844 308.7837 107.877 c +308.8521 107.7852 308.854 107.6602 308.7837 107.5684 c +308.7153 107.4766 308.5923 107.4434 308.4868 107.4863 c +304.3892 109.1465 301.2739 113.3418 302.5923 118.1729 c +303.8052 122.6152 308.7544 126.1729 316.6548 124.0166 c +326.0356 121.457 333.0806 109.8555 329.0376 95.043 c +323.5142 74.7988 297.6802 70.0449 282.1079 84.9043 C +286.5278 78.2617 291.4517 72.0098 302.438 69.0117 c +323.188 63.3496 342.813 80.0332 341.1724 106.4902 c +341.1646 106.6152 341.2505 106.7285 341.3735 106.7539 c +341.4946 106.7813 341.6196 106.7129 341.6646 106.5977 c +344.7466 98.4922 350.0786 89.4316 362.2739 86.1035 c +374.9888 82.6328 386.2876 88.5664 389.8599 101.6504 c +392.6216 111.7734 388.2017 119.875 380.9204 121.8623 c +375.3657 123.3789 369.9419 121.0039 368.2603 114.8398 c +365.7563 105.6641 374.8833 99.8203 380.6411 103.3516 c +380.7388 103.4121 380.8677 103.3965 380.9497 103.3164 c +381.0337 103.2363 381.0513 103.1094 380.9927 103.0078 c +378.5454 98.7324 372.6802 95.5977 365.6548 97.5156 c +353.5571 100.8164 348.6001 114.2383 351.9673 126.5811 c +353.5454 132.3652 356.7681 137.502 361.1685 141.1426 C +365.0298 139.5186 369.8384 139.6777 373.3735 140.8867 C +366.2349 140.8154 355.8794 145.8262 358.647 155.9707 c +360.1978 161.6533 365.5923 164.2188 370.7563 162.8086 c +376.8579 161.1436 378.2974 155.21 376.5688 151.1729 c +376.522 151.0654 376.4106 151.0039 376.2974 151.0225 c +376.1821 151.04 376.0942 151.1318 376.0825 151.2471 c +375.9146 152.9375 374.6685 154.6836 372.7446 155.208 c +370.3325 155.8662 368.3989 154.415 367.8735 152.4854 c +367.0044 149.3066 370.063 146.5752 374.2739 146.6211 C +374.27 146.6094 L +377.2896 146.8984 380.5044 146.6445 383.8716 145.7266 c +400.0415 141.3125 410.6646 119.5674 404.6235 97.4375 c +398.2485 74.0781 378.2056 66.2363 361.0474 70.9199 c +351.8481 73.4297 345.8228 78.7871 342.5903 84.4453 C +339.3892 64.668 327.8618 54.7793 314.229 51.4707 C +311.7056 56.8008 306.7114 59.8867 Y +312.0864 52.8496 315.5845 42.3477 312.1821 29.8809 c +307.0278 10.9961 284.4712 1.23438 264.6001 6.6582 c +251.9888 10.0996 240.9927 18.0801 235.397 29.7266 C +228.9556 25.2266 221.186 24.6406 216.1919 28.8809 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0 0 0 0 k + 0 0 0 0 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +363.1294 102.9688 m +363.0044 102.9688 362.8989 102.877 362.8794 102.7539 c +360.5005 86.7402 351.2271 73.3652 338.4888 65.3594 c +338.3853 65.2949 338.3403 65.1641 338.3872 65.0508 c +338.4321 64.9375 338.5532 64.8711 338.6724 64.8965 c +349.145 67 358.4653 72.7598 365.1216 80.9277 C +369.7466 67.5508 380.3579 58.9219 393.4224 55.2734 C +388.6138 49.6816 391.1294 41.7402 398.5415 40.4375 c +398.6548 40.416 398.7661 40.4746 398.8149 40.5781 c +398.8638 40.6816 398.8364 40.8066 398.7485 40.8809 c +394.7759 44.2266 396.229 52.3008 408.0864 52.3008 c +415.8794 52.3008 420.9067 49.1211 420.9067 44.8145 c +420.9067 41.4297 417.8442 39.584 415.2642 39.584 c +410.8501 39.584 408.3267 43.5449 410.2231 47.127 c +410.2778 47.2305 410.2563 47.3574 410.1685 47.4355 c +410.0806 47.5137 409.9517 47.5215 409.854 47.4551 c +407.606 45.8906 406.0356 43.834 406.0356 40.6641 c +406.0356 35.2773 411.061 29.5352 419.3677 29.5332 c +428.2896 29.5332 436.3911 36.4043 436.3911 44.8145 c +436.3911 56.6309 426.3423 62.248 415.7778 63.248 C +420.1431 64.9219 423.4106 69.7734 v +423.4771 69.8691 423.4673 69.998 423.3892 70.084 c +423.311 70.1719 423.1841 70.1934 423.0825 70.1387 c +417.2524 67.0566 410.5942 65.3945 403.5806 65.3945 c +383.9575 65.3945 367.0337 81.7988 363.3813 102.7607 c +363.3599 102.8818 363.2524 102.9727 363.1294 102.9688 c +f +286.4517 50.5625 m +281.8442 42.8867 280.1997 29.7129 284.4946 19.8809 c +284.5435 19.7695 284.5083 19.6406 284.4087 19.5703 c +284.3091 19.502 284.1763 19.5117 284.0884 19.5957 c +279.2817 24.1484 275.1489 34.7715 277.3833 47.0527 C +274.2876 49.4473 272.3384 51.8223 270.8696 55.0059 c +270.8228 55.1074 270.8501 55.2305 270.936 55.3047 c +271.022 55.377 271.147 55.3848 271.2427 55.3203 c +276.2388 51.959 280.7056 50.8125 286.4517 50.5625 C +f +297.0591 170.3691 m +296.9907 170.4727 297.0083 170.6133 297.1001 170.6973 c +297.1938 170.7813 297.3345 170.7852 297.4321 170.7061 c +304.2466 165.1797 313.3071 161.6504 324.4673 161.6504 c +352.0376 161.6504 369.4399 178.1689 372.1743 195.5771 c +372.1919 195.6885 372.2817 195.7734 372.3931 195.7891 c +372.5044 195.8047 372.6138 195.7422 372.6587 195.6396 c +375.3833 189.3818 377.0259 180.3057 368.6099 168.1309 c +363.5747 160.8457 357.479 155.8311 357.479 149.3145 c +357.479 145.0566 359.7407 142.1602 363.1685 142.1602 c +366.7739 142.1602 369.106 145.248 369.104 148.7148 c +369.104 150.4629 368.6001 152.1934 367.6958 153.7607 c +367.6372 153.8633 367.6548 153.9902 367.7407 154.0723 c +367.8247 154.1523 367.9556 154.165 368.0532 154.1016 c +371.0259 152.1641 373.6802 148.7021 373.6802 143.8281 c +373.6802 136.6563 367.5474 130.6602 359.2095 130.6602 c +350.2368 130.6602 342.8872 137.709 342.8872 147.8477 c +342.8872 151.3262 343.8755 155.5156 346.3501 158.9805 C +342.9653 156.1523 341.1587 154.1523 339.6724 149.8271 C +329.272 148.0186 318.1665 149.6797 309.3403 155.4727 C +309.0864 149.3711 307.0903 144.2793 302.9985 140.1533 c +302.9146 140.0684 302.7837 140.0547 302.6841 140.1182 c +302.5825 140.1816 302.5415 140.3066 302.5806 140.4189 c +305.4575 148.4199 303.5239 160.6152 297.0591 170.3691 c +f +209.6938 163.7344 m +211.938 168.5352 217.1528 171.2188 223.1548 171.3271 c +223.2798 171.3311 223.3872 171.2432 223.4087 171.1211 c +223.4321 170.998 223.3638 170.8779 223.2485 170.8359 c +221.2017 170.082 219.5864 168.7637 218.7271 166.9258 c +216.5142 162.1973 220.0942 155.8301 226.7407 152.5566 c +226.8188 152.5186 226.8716 152.4434 226.8813 152.3594 c +226.8911 152.2725 226.856 152.1885 226.7915 152.1318 c +222.5005 148.6143 217.3794 142.0781 217.3794 128.7148 c +217.3774 110.0322 229.5337 92.25 245.6548 92.25 c +254.8677 92.25 262.2876 98.6465 266.1255 108.2422 C +261.9028 102.4844 256.145 98.1348 248.2114 98.1348 c +236.5708 98.1348 227.3579 110.5439 227.356 128.459 c +227.356 145.3457 239.2583 165.0518 255.1216 165.0508 c +263.8247 165.0488 270.3481 158.0117 270.3481 148.9277 c +270.3481 140.8672 265.1021 136.2637 259.2173 136.2637 c +254.7798 136.2637 251.7231 139.3936 250.772 142.7871 c +250.7388 142.9023 250.7915 143.0254 250.897 143.0811 c +251.0044 143.1357 251.1333 143.1104 251.2114 143.0186 c +251.9634 142.124 253.1079 141.3809 254.8657 141.3809 c +257.8091 141.3789 259.3442 143.9082 259.3442 145.7285 c +259.3442 149.1836 256.7856 151.6152 252.9458 151.6152 c +247.7036 151.6152 243.606 145.8564 243.606 138.4385 c +243.606 129.2236 252.436 120.7813 261.2642 120.7813 c +270.2856 120.7813 279.9438 128.8408 279.9438 143.8125 c +279.9419 158.5234 269.9653 175.4141 254.0981 175.4141 c +244.8481 175.4141 236.9849 171.2441 230.9556 164.3398 c +230.8755 164.248 230.7427 164.2246 230.6392 164.2852 c +230.5317 164.3477 230.4849 164.4727 230.5239 164.5879 c +234.9575 177.5234 232.4771 189.7344 225.7036 189.7324 c +222.3892 189.7324 220.7017 187.3535 220.7017 184.8154 c +220.7017 182.21 222.6001 180.0566 225.6704 179.6611 c +225.7915 179.6475 225.8833 179.5479 225.8931 179.4268 c +225.8989 179.3047 225.8188 179.1943 225.7017 179.1641 c +218.8872 177.4004 211.8774 181.1133 211.8774 188.2061 c +211.8774 194.4854 217.2544 199.3398 224.2896 199.3398 c +234.9263 199.3379 240.0142 188.0684 237.7485 177.8047 C +243.2075 184.8486 251.3013 190.6396 262.9263 190.6396 c +286.4692 190.6396 298.3677 163.7715 298.3677 145.7285 c +298.3677 129.3525 295.0415 118.8604 288.1313 110.8018 C +296.1938 116.9404 299.52 123.7227 301.0552 133.0645 C +307.1958 141.5078 323.188 141.5078 v +329.8755 141.5078 336.1177 139.0322 340.9614 134.3438 C +340.9634 134.3447 340.9653 134.3477 340.9673 134.3486 C +341.0024 134.3105 341.0396 134.2695 341.0767 134.2314 C +341.397 133.915 341.7114 133.5918 342.02 133.2578 C +347.0806 128.4102 357.2114 123.8633 366.4517 127.6602 c +366.5571 127.7031 366.6782 127.6699 366.7485 127.582 c +366.8188 127.4932 366.8188 127.3672 366.7524 127.2754 c +362.3462 121.252 354.729 119.335 349.0747 120.21 C +350.1177 116.4941 350.6958 112.3281 350.6958 107.7305 c +350.6978 91.3262 341.8989 79.7598 332.2856 74.1289 C +335.438 70.3281 334.7954 64.3535 331.2544 60.2949 c +331.1743 60.2051 331.0435 60.1816 330.938 60.2402 c +330.8345 60.2988 330.7837 60.4238 330.8188 60.5391 c +332.5513 66.0703 327.4282 70.6875 320.6392 70.4395 c +320.5161 70.4355 320.4067 70.5195 320.3813 70.6406 c +320.356 70.7617 320.4185 70.8828 320.5337 70.9277 c +330.6685 75.0918 337.3911 83.9102 337.3892 94.9355 c +337.3911 106.4492 330.481 115.79 319.3501 115.79 c +310.2661 115.79 301.1821 107.4727 301.1821 97.1133 c +301.1821 89.0508 305.6587 84.3184 311.4165 84.3164 c +316.4067 84.3184 320.3735 87.7715 320.3735 91.8672 c +320.3735 97.7188 313.7896 99.8408 310.2778 95.209 c +310.2095 95.1172 310.0864 95.084 309.981 95.127 c +309.8755 95.1689 309.811 95.2773 309.8228 95.3926 c +310.3462 99.7813 313.5767 103.8926 318.5825 103.8926 c +323.188 103.8926 327.9224 100.0518 327.9224 91.8652 c +327.9224 82.1406 318.5845 72.291 303.231 72.2891 c +282.2466 72.2891 270.8599 95.959 281.0942 114.8945 C +275.8501 108.8809 271.1157 102.4844 271.1157 91.0977 c +271.1138 69.5898 292.3794 55.0488 317.4692 63.5977 c +317.5884 63.6367 317.7192 63.584 317.7759 63.4746 c +317.8345 63.3633 317.8013 63.2266 317.6997 63.1523 c +310.6938 58.043 303.356 50.5137 303.356 37.873 c +303.356 24.6934 312.0552 15.3535 325.6196 15.3535 c +336.1099 15.3535 342.7642 21.752 342.7642 29.2988 c +342.7642 35.0566 339.0454 39.6641 332.6567 39.6641 c +323.1431 39.6641 319.9087 29.3203 324.8325 24.6953 c +324.9165 24.6152 324.936 24.4902 324.8813 24.3887 c +324.8247 24.2871 324.7056 24.2344 324.5942 24.2637 c +319.8247 25.5 315.2563 30.332 315.2563 37.6152 c +315.2544 50.1563 326.897 58.4727 339.6919 58.4727 c +345.688 58.4727 351.4907 56.7188 356.1646 53.4297 C +355.6118 49.2773 357.0317 44.6816 359.1313 41.5879 C +357.1821 48.457 359.2915 59.7656 369.8032 59.7676 c +375.6958 59.7656 379.5903 55.2383 379.5903 49.8867 c +379.5903 43.5605 374.2446 40.6094 369.895 41.2148 c +369.7798 41.2305 369.6899 41.3223 369.6763 41.4375 c +369.6646 41.5527 369.731 41.6602 369.8384 41.7031 c +371.4243 42.3105 372.7817 43.9727 372.7817 45.9668 c +372.7817 48.4668 370.8696 49.9492 368.8696 49.9492 c +365.5767 49.9492 363.7466 46.2793 364.8989 42.2305 C +364.8872 42.2285 L +365.9595 39.3926 366.561 36.2246 366.561 32.7363 c +366.561 15.9746 348.3813 0.001953 325.4399 0 c +301.229 0 288.3872 17.2734 288.3892 35.0566 c +288.3892 44.5938 291.9692 51.8184 296.5767 56.4258 C +276.6548 54.3066 264.0786 62.8223 257.2974 75.1035 C +261.7759 78.9414 263.438 84.5723 Y +258.0649 77.5352 248.854 71.3945 235.9321 71.3945 c +216.356 71.3945 201.0005 90.5859 201.0005 111.1836 c +201.0005 124.2568 205.8032 136.9648 215.5649 145.4307 C +209.5278 150.459 206.9185 157.8018 209.6938 163.7344 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0.35 0.6 0.8 0.25 k + 0.35 0.6 0.8 0.25 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +73.2617 96.3711 m +73.3867 96.3711 73.4922 96.4629 73.5098 96.585 c +75.8906 112.5996 85.1641 125.9746 97.9023 133.9814 c +98.0059 134.0449 98.0488 134.1758 98.0039 134.29 c +97.957 134.4023 97.8379 134.4688 97.7168 134.4443 c +87.2461 132.3398 77.9238 126.5811 71.2695 118.4141 C +66.6436 131.7891 56.0332 140.418 42.9688 144.0654 C +47.7773 149.6582 45.2617 157.5986 37.8496 158.9023 c +37.7363 158.9229 37.624 158.8643 37.5752 158.7607 c +37.5273 158.6563 37.5537 158.5322 37.6416 158.46 c +41.6152 155.1143 40.1611 147.04 28.3047 147.04 c +20.5098 147.04 15.4844 150.2188 15.4844 154.5254 c +15.4844 157.9102 18.5459 159.7559 21.125 159.7559 c +25.541 159.7559 28.0645 155.7949 26.167 152.2129 c +26.1123 152.1104 26.1348 151.9814 26.2227 151.9033 c +26.3105 151.8271 26.4395 151.8184 26.5361 151.8857 c +28.7852 153.4492 30.3555 155.5059 30.3555 158.6768 c +30.3555 164.0635 25.3301 169.8066 17.0234 169.8066 c +8.10156 169.8066 0 162.9355 0 154.5254 c +0 142.71 10.0488 137.0918 20.6133 136.0918 C +16.248 134.4189 12.9795 129.5664 v +12.9141 129.4697 12.9238 129.3418 13.001 129.2559 c +13.0791 129.1689 13.2051 129.1475 13.3086 129.2012 c +19.1387 132.2822 25.7949 133.9453 32.8105 133.9453 c +52.4316 133.9453 69.3574 117.541 73.0098 96.5801 c +73.0313 96.4561 73.1377 96.3691 73.2617 96.3711 c +f +149.9395 148.7773 m +154.5488 156.4551 156.1914 169.627 151.8965 179.46 c +151.8477 179.5703 151.8828 179.6992 151.9824 179.7686 c +152.0801 179.8379 152.2148 179.8281 152.3027 179.7461 c +157.1094 175.1914 161.2422 164.5684 159.0078 152.2871 C +162.1055 149.8936 164.0527 147.5176 165.5215 144.335 c +165.5684 144.2314 165.541 144.1104 165.4551 144.0352 c +165.3691 143.9629 165.2441 143.9551 165.1484 144.0186 c +160.1523 147.3809 155.6855 148.5283 149.9395 148.7773 C +f +139.3301 28.9707 m +139.4004 28.8672 139.3828 28.7266 139.291 28.6426 c +139.1973 28.5586 139.0566 28.5547 138.959 28.6348 c +132.1445 34.1621 123.084 37.6895 111.9238 37.6895 c +84.3516 37.6895 66.9512 21.1719 64.2158 3.76367 c +64.1982 3.65234 64.1094 3.56641 63.998 3.55078 c +63.8857 3.53711 63.7773 3.59766 63.7324 3.70117 c +61.0068 9.95898 59.3652 19.0352 67.7813 31.209 c +72.8154 38.4941 78.9102 43.5098 78.9102 50.0273 c +78.9102 54.2852 76.6504 57.1797 73.2227 57.1797 c +69.6172 57.1797 67.2861 54.0918 67.2861 50.625 c +67.2861 48.877 67.791 47.1465 68.6953 45.5801 c +68.7539 45.4766 68.7354 45.3496 68.6504 45.2676 c +68.5645 45.1875 68.4355 45.1758 68.3379 45.2402 c +65.3652 47.1777 62.7109 50.6367 62.7109 55.5117 c +62.7109 62.6836 68.8438 68.6816 77.1797 68.6816 c +86.1543 68.6816 93.5039 61.6328 93.5039 51.4922 c +93.5039 48.0156 92.5137 43.8242 90.041 40.3613 C +93.4258 43.1875 95.2324 45.1875 96.7188 49.5117 C +107.1191 51.3223 118.2246 49.6602 127.0488 43.8691 C +127.3047 49.9707 129.3008 55.0605 133.3926 59.1875 c +133.4766 59.2715 133.6074 59.2852 133.707 59.2227 c +133.8086 59.1582 133.8516 59.0332 133.8105 58.9219 c +130.9336 50.9199 132.8652 38.7246 139.3301 28.9707 c +f +226.6973 35.6055 m +224.4512 30.8066 219.2383 28.1211 213.2363 28.0117 c +213.1113 28.0098 213.0039 28.0977 212.9824 28.2188 c +212.959 28.3418 213.0273 28.4609 213.1426 28.5039 c +215.1895 29.2578 216.8047 30.5762 217.6641 32.4141 c +219.877 37.1426 216.2969 43.5098 209.6504 46.7832 c +209.5723 46.8223 209.5195 46.8965 209.5098 46.9824 c +209.5 47.0684 209.5332 47.1523 209.5996 47.207 c +213.8906 50.7266 219.0117 57.2617 219.0117 70.627 c +219.0117 89.3086 206.8574 107.0898 190.7363 107.0898 c +181.5234 107.0898 174.1035 100.6934 170.2656 91.0977 C +174.4863 96.8564 180.2441 101.2051 188.1777 101.2051 c +199.8203 101.2051 209.0332 88.7969 209.0332 70.8828 c +209.0332 53.9941 197.1328 34.2891 181.2676 34.2891 c +172.5664 34.2891 166.043 41.3281 166.043 50.4121 c +166.043 58.4746 171.2891 63.0781 177.1758 63.0781 c +181.6094 63.0781 184.668 59.9473 185.6191 56.5527 c +185.6504 56.4375 185.5996 56.3164 185.4922 56.2598 c +185.3867 56.2051 185.2578 56.2305 185.1797 56.3223 c +184.4277 57.2168 183.2832 57.9609 181.5254 57.9609 c +178.582 57.9609 177.0469 55.4316 177.0469 53.6113 c +177.0469 50.1563 179.6055 47.7246 183.4453 47.7246 c +188.6895 47.7246 192.7852 53.4824 192.7852 60.9023 c +192.7852 70.1152 183.9551 78.5586 175.127 78.5586 c +166.1055 78.5586 156.4473 70.5 156.4473 55.5293 c +156.4473 40.8164 166.4277 23.9258 182.293 23.9258 c +191.543 23.9258 199.4043 28.0957 205.4355 35.002 c +205.5156 35.0918 205.6484 35.1152 205.7539 35.0547 c +205.8594 34.9941 205.9063 34.8672 205.8672 34.752 c +201.4336 21.8164 203.9121 9.60742 210.6875 9.60742 c +214.002 9.60742 215.6895 11.9863 215.6895 14.5234 c +215.6895 17.1309 213.791 19.2852 210.7207 19.6777 c +210.5996 19.6934 210.5059 19.793 210.498 19.9141 c +210.4922 20.0352 210.5703 20.1465 210.6895 20.1758 c +217.5039 21.9395 224.5137 18.2285 224.5137 11.1328 c +224.5137 4.85547 219.1367 0.001953 212.1016 0.001953 c +201.4648 0.001953 196.377 11.2715 198.6426 21.5371 C +193.1836 14.4922 185.0898 8.70117 173.4648 8.70117 c +149.9219 8.70117 138.0234 35.5703 138.0234 53.6113 c +138.0234 69.9883 141.3496 80.4785 148.2598 88.5391 C +140.1973 82.3984 136.8711 75.6172 135.3379 66.2773 C +129.1953 57.832 113.2031 57.832 v +106.5156 57.832 100.2734 60.3086 95.4297 64.998 C +95.4277 64.9961 95.4258 64.9941 95.4238 64.9902 C +95.3887 65.0313 95.3496 65.0703 95.3145 65.1094 C +94.9941 65.4238 94.6797 65.748 94.3711 66.082 C +89.3086 70.9316 79.1797 75.4785 69.9395 71.6797 c +69.834 71.6367 69.7129 71.6699 69.6426 71.7578 c +69.5723 71.8477 69.5703 71.9727 69.6377 72.0645 c +74.0449 78.0898 81.6621 80.0059 87.3164 79.1309 C +86.2715 82.8457 85.6934 87.0117 85.6934 91.6094 c +85.6934 108.0137 94.4922 119.5801 104.1055 125.2109 C +100.9512 129.0137 101.5957 134.9883 105.1367 139.0449 c +105.2168 139.1357 105.3477 139.1582 105.4531 139.0996 c +105.5566 139.041 105.6055 138.918 105.5703 138.8018 c +103.8398 133.2695 108.9629 128.6523 115.752 128.9004 c +115.875 128.9033 115.9824 128.8193 116.0098 128.6992 c +116.0352 128.5801 115.9707 128.457 115.8574 128.4111 c +105.7207 124.248 99 115.4316 99 104.4033 c +99 92.8906 105.9082 83.5488 117.041 83.5488 c +126.125 83.5488 135.209 91.8672 135.209 102.2285 c +135.209 110.2891 130.7305 115.0225 124.9727 115.0225 c +119.9844 115.0225 116.0176 111.5684 116.0176 107.4736 c +116.0176 101.6211 122.5996 99.499 126.1113 104.1309 c +126.1816 104.2227 126.3027 104.2559 126.4082 104.2129 c +126.5156 104.1699 126.5801 104.0625 126.5664 103.9482 c +126.043 99.5586 122.8145 95.4482 117.8086 95.4482 c +113.2031 95.4482 108.4688 99.2861 108.4688 107.4746 c +108.4688 117.1982 117.8066 127.0508 133.1602 127.0508 c +154.1426 127.0508 165.5313 103.3809 155.2969 84.4453 C +160.541 90.459 165.2754 96.8555 165.2754 108.2432 c +165.2754 129.75 144.0117 144.291 118.9219 135.7441 c +118.8027 135.7021 118.6719 135.7559 118.6152 135.8672 c +118.5566 135.9785 118.5879 136.1143 118.6895 136.1895 c +125.6953 141.2979 133.0332 148.8262 133.0332 161.4668 c +133.0332 174.6475 124.334 183.9854 110.7715 183.9854 c +100.2793 183.9854 93.627 177.5879 93.627 170.04 c +93.627 164.2822 97.3457 159.6768 103.7344 159.6768 c +113.2461 159.6768 116.4805 170.0195 111.5586 174.6445 c +111.4746 174.7236 111.4551 174.8516 111.5098 174.9521 c +111.5664 175.0547 111.6836 175.1055 111.7969 175.0762 c +116.5664 173.8398 121.1348 169.0068 121.1348 161.7236 c +121.1348 149.1855 109.4922 140.8682 96.6973 140.8682 c +90.7012 140.8682 84.8984 142.623 80.2266 145.9102 C +80.7773 150.0635 79.3574 154.6602 77.2598 157.752 C +79.209 150.8848 77.1016 139.5732 66.5859 139.5732 c +60.6953 139.5732 56.8008 144.1025 56.8008 149.4551 c +56.8008 155.7793 62.1465 158.7314 66.4961 158.125 c +66.6113 158.1104 66.7002 158.0186 66.7129 157.9023 c +66.7266 157.7891 66.6602 157.6797 66.5527 157.6367 c +64.9668 157.0293 63.6104 155.3691 63.6104 153.373 c +63.6104 150.873 65.5195 149.3906 67.5195 149.3906 c +70.8145 149.3906 72.6445 153.0605 71.4922 157.1104 C +71.5039 157.1104 L +70.4307 159.9473 69.8281 163.1152 69.8281 166.6055 c +69.8281 183.3672 88.0098 199.3398 110.9492 199.3398 c +135.1621 199.3398 148.0039 182.0664 148.0039 164.2822 c +148.0039 154.7461 144.4219 147.5225 139.8145 142.915 C +159.7363 145.0332 172.3125 136.5176 179.0938 124.2354 C +174.6152 120.3975 172.9531 114.7676 Y +178.3262 121.8057 187.5371 127.9453 200.459 127.9453 c +220.0352 127.9453 235.3906 108.7539 235.3906 88.1563 c +235.3906 75.084 230.5879 62.375 220.8262 53.9102 C +226.8633 48.8809 229.4727 41.5391 226.6973 35.6055 c +f +*U +*u +148.2109 160.9053 m +148.1777 160.7852 148.2383 160.6582 148.3516 160.6094 c +163.1758 154.0957 173.6367 141.6289 178.0059 127.2324 c +178.041 127.1152 178.1543 127.0391 178.2773 127.0527 c +178.3984 127.0664 178.4941 127.166 178.502 127.2871 c +179.2285 137.9434 176.127 148.4531 170 157.0234 C +184.1211 157.9648 195.2402 165.9297 202.1992 177.5723 C +206.3281 171.46 214.6504 171.7969 217.8594 178.6035 c +217.9102 178.708 217.8828 178.832 217.7949 178.9063 c +217.707 178.9805 217.5801 178.9873 217.4863 178.9219 c +213.2129 175.9688 205.8066 179.498 208.9277 190.9355 c +210.9805 198.4561 215.3711 202.4668 219.5254 201.333 c +222.791 200.4414 223.7656 197.002 223.0859 194.5146 c +221.9238 190.2539 217.4375 188.8623 214.4805 191.6357 c +214.3965 191.7158 214.2676 191.7285 214.1699 191.6641 c +214.0723 191.5986 214.0293 191.4775 214.0684 191.3662 c +214.9863 188.7852 216.5566 186.7285 219.6152 185.8936 c +224.8105 184.4756 231.6738 187.8115 233.8613 195.8252 c +236.2109 204.4316 231.7148 214.0566 223.6035 216.2715 c +212.2031 219.3818 204.1387 211.166 200.3926 201.2383 C +199.9258 205.8896 196.1074 210.3203 v +196.0313 210.4092 195.9043 210.4336 195.8008 210.3818 c +195.6973 210.3291 195.6426 210.2129 195.666 210.0996 c +197.1055 203.6641 196.957 196.8047 195.1094 190.0361 c +189.9434 171.1074 169.6621 159.0977 148.4785 161.0938 c +148.3535 161.1055 148.2402 161.0254 148.2109 160.9053 c +f +178.5801 73.1348 m +184.7734 66.666 197.0488 61.6133 207.6641 63.168 c +207.7852 63.1855 207.9004 63.1172 207.9395 63.0039 c +207.9805 62.8906 207.9355 62.7637 207.834 62.7012 c +202.1738 59.2617 190.8379 58.0723 179.5781 63.4609 C +176.4531 61.1035 173.6484 59.8496 170.1914 59.2715 c +170.0801 59.2539 169.9688 59.3125 169.9199 59.4141 c +169.873 59.5156 169.8984 59.6387 169.9844 59.7148 c +174.5449 63.6484 176.8281 67.6563 178.5801 73.1348 C +f +65.793 114.9121 m +65.6748 114.8711 65.5439 114.9258 65.4873 115.0371 c +65.4307 115.1484 65.4639 115.2852 65.5674 115.3594 c +72.6934 120.4785 78.4824 128.291 81.4199 139.0566 c +88.6797 165.6563 77.3262 186.792 61.2529 194.0146 c +61.1494 194.0605 61.0898 194.1689 61.1045 194.2803 c +61.1211 194.3926 61.208 194.4814 61.3193 194.4971 c +68.0742 195.4785 77.2617 194.6729 86.791 183.3486 c +92.4922 176.5732 95.7266 169.373 102.0137 167.6563 c +106.1211 166.5352 109.5098 167.9551 110.4121 171.2617 c +111.3613 174.7393 108.9961 177.8018 105.6523 178.7148 c +103.9648 179.1738 102.1621 179.1436 100.4141 178.6836 c +100.2988 178.6533 100.1816 178.7051 100.125 178.8086 c +100.0703 178.9121 100.0918 179.04 100.1797 179.1172 c +102.832 181.4746 106.8672 183.125 111.5703 181.8408 c +118.4902 179.9531 122.6602 172.457 120.4668 164.415 c +118.1035 155.7578 109.3691 150.5234 99.5859 153.1934 c +96.2324 154.1084 92.4492 156.168 89.7598 159.4648 C +91.5938 155.4551 93.0488 153.1855 96.8281 150.6133 C +95.8359 140.1035 91.3086 129.8271 83.4004 122.8389 C +89.2188 120.9863 93.6035 117.7207 96.5078 112.6855 c +96.5664 112.582 96.5449 112.4531 96.459 112.373 c +96.3691 112.293 96.2383 112.2832 96.1406 112.3535 c +89.1797 117.2344 76.9043 118.582 65.793 114.9121 c +f +49.1914 28.8809 m +45.1533 32.3105 43.9355 38.0469 45.4102 43.8672 c +45.4414 43.9883 45.5537 44.0684 45.6768 44.0566 c +45.8018 44.0469 45.8984 43.9492 45.9092 43.8281 c +46.0977 41.6543 46.9443 39.748 48.4912 38.4355 c +52.4707 35.0566 59.5557 36.834 64.4629 42.3828 c +64.5215 42.4492 64.6074 42.4805 64.6924 42.4668 c +64.7783 42.4531 64.8506 42.3984 64.8857 42.3203 c +67.1514 37.2539 72.1074 30.5938 85 27.0742 c +103.0234 22.1563 123.3789 29.1992 127.623 44.752 c +130.0488 53.6406 125.8301 62.4824 117.584 68.7109 C +122.0293 63.123 124.707 56.4238 122.6172 48.7695 c +119.5527 37.5391 105.1563 31.918 87.875 36.6348 c +71.582 41.0801 55.7061 57.748 59.8828 73.0547 c +62.1738 81.4492 70.6816 85.8887 79.4453 83.4961 c +87.2227 81.375 90.2832 75.1016 88.7324 69.4219 c +87.5664 65.1445 83.7402 63.0195 80.2148 62.9941 c +80.0957 62.9941 79.9922 63.0762 79.9648 63.1934 c +79.9414 63.3105 79.998 63.4277 80.1074 63.4785 c +81.1699 63.9688 82.1875 64.877 82.6504 66.5742 c +83.4258 69.4121 81.3906 71.5605 79.6348 72.0391 c +76.3018 72.9492 73.2822 71.1211 72.2705 67.416 c +70.8906 62.3574 75.3662 56.8906 82.5234 54.9355 c +91.4121 52.5117 101.8828 58.8066 104.207 67.3223 c +106.582 76.0254 101.3496 87.4648 86.9082 91.4063 c +72.7148 95.2813 53.792 90.0996 49.6152 74.793 c +47.1797 65.8691 49.1328 57.1875 54.207 49.5508 c +54.2734 49.4512 54.2607 49.3164 54.1748 49.2305 c +54.0879 49.1445 53.9531 49.1328 53.8525 49.2012 c +42.541 56.8828 30.1104 57.707 28.3262 51.1699 c +27.4531 47.9727 29.3037 45.7188 31.752 45.0508 c +34.2676 44.3652 36.8457 45.6289 38.0322 48.4883 c +38.0791 48.5996 38.2002 48.6641 38.3193 48.6406 c +38.4375 48.6133 38.5244 48.5098 38.5215 48.3867 c +38.4287 41.3477 33.0029 35.5625 26.1572 37.4316 c +20.1016 39.084 16.835 45.5488 18.6875 52.3359 c +21.4883 62.5977 33.6992 64.5391 43.0059 59.6504 C +37.6465 66.7715 34.1914 76.1035 37.252 87.3184 c +43.4502 110.0313 72.5039 114.4355 89.9082 109.6855 c +105.707 105.373 114.9512 99.4023 120.9082 90.6152 C +117.1074 100.0098 111.4414 105.0039 102.834 108.9434 C +96.3047 117.0918 100.5156 132.5195 v +102.2754 138.9707 106.3086 144.3418 112.1074 147.7793 C +112.1074 147.7813 112.1055 147.7842 112.1016 147.7871 C +112.1504 147.8105 112.1992 147.8379 112.2461 147.8613 C +112.6328 148.0879 113.0293 148.3057 113.4316 148.5146 C +119.4434 152.1211 126.4961 160.6973 125.2656 170.6113 c +125.252 170.7236 125.3145 170.832 125.418 170.877 c +125.5234 170.9219 125.6445 170.8896 125.7148 170.8018 c +130.3672 164.9629 130.2109 157.1104 127.8789 151.8857 C +131.7363 151.915 135.9082 151.375 140.3438 150.165 c +156.168 145.8457 165.0117 134.3135 167.9121 123.5566 C +172.4102 125.5977 178.0059 123.4043 180.9883 118.9199 c +181.0527 118.8184 181.041 118.6855 180.957 118.5996 c +180.873 118.5156 180.7402 118.5 180.6387 118.5645 c +175.7578 121.6914 169.9551 117.9648 168.4043 111.3496 c +168.377 111.2305 168.2676 111.1484 168.1445 111.1543 c +168.0215 111.1602 167.9199 111.2539 167.9063 111.377 c +166.5586 122.251 159.8223 131.0566 149.1836 133.96 c +138.0762 136.9922 127.2441 132.7852 124.3145 122.0469 c +121.9219 113.2832 127.5566 102.3301 137.5508 99.6016 c +145.3281 97.4785 151.0742 100.5527 152.5898 106.1074 c +153.9043 110.9199 151.6152 115.6563 147.666 116.7344 c +142.0176 118.2754 138.2383 112.4844 141.7832 107.877 c +141.8516 107.7852 141.8535 107.6602 141.7832 107.5684 c +141.7148 107.4766 141.5918 107.4434 141.4863 107.4863 c +137.3887 109.1465 134.2734 113.3418 135.5918 118.1729 c +136.8047 122.6152 141.7539 126.1729 149.6543 124.0166 c +159.0352 121.457 166.0801 109.8555 162.0371 95.043 c +156.5137 74.7988 130.6797 70.0449 115.1074 84.9043 C +119.5273 78.2617 124.4512 72.0098 135.4375 69.0117 c +156.1875 63.3496 175.8125 80.0332 174.1719 106.4902 c +174.1641 106.6152 174.25 106.7285 174.373 106.7539 c +174.4941 106.7813 174.6191 106.7129 174.6641 106.5977 c +177.7461 98.4922 183.0781 89.4316 195.2734 86.1035 c +207.9883 82.6328 219.2871 88.5664 222.8594 101.6504 c +225.6211 111.7734 221.2012 119.875 213.9199 121.8623 c +208.3652 123.3789 202.9414 121.0039 201.2598 114.8398 c +198.7559 105.6641 207.8828 99.8203 213.6406 103.3516 c +213.7383 103.4121 213.8672 103.3965 213.9492 103.3164 c +214.0332 103.2363 214.0508 103.1094 213.9922 103.0078 c +211.5449 98.7324 205.6797 95.5977 198.6543 97.5156 c +186.5566 100.8164 181.5996 114.2383 184.9668 126.5811 c +186.5449 132.3652 189.7676 137.502 194.168 141.1426 C +198.0293 139.5186 202.8379 139.6777 206.373 140.8867 C +199.2344 140.8154 188.8789 145.8262 191.6465 155.9707 c +193.1973 161.6533 198.5918 164.2188 203.7559 162.8086 c +209.8574 161.1436 211.2969 155.21 209.5684 151.1729 c +209.5215 151.0654 209.4102 151.0039 209.2969 151.0225 c +209.1816 151.04 209.0938 151.1318 209.082 151.2471 c +208.9141 152.9375 207.668 154.6836 205.7441 155.208 c +203.332 155.8662 201.3984 154.415 200.873 152.4854 c +200.0039 149.3066 203.0625 146.5752 207.2734 146.6211 C +207.2695 146.6094 L +210.2891 146.8984 213.5039 146.6445 216.8711 145.7266 c +233.041 141.3125 243.6641 119.5674 237.623 97.4375 c +231.248 74.0781 211.2051 66.2363 194.0469 70.9199 c +184.8477 73.4297 178.8223 78.7871 175.5898 84.4453 C +172.3887 64.668 160.8613 54.7793 147.2285 51.4707 C +144.7051 56.8008 139.7109 59.8867 Y +145.0859 52.8496 148.584 42.3477 145.1816 29.8809 c +140.0273 10.9961 117.4707 1.23438 97.5996 6.6582 c +84.9883 10.0996 73.9922 18.0801 68.3965 29.7266 C +61.9551 25.2266 54.1855 24.6406 49.1914 28.8809 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0 0 0 0 k + 0 0 0 0 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +196.1289 102.9688 m +196.0039 102.9688 195.8984 102.877 195.8789 102.7539 c +193.5 86.7402 184.2266 73.3652 171.4883 65.3594 c +171.3848 65.2949 171.3398 65.1641 171.3867 65.0508 c +171.4316 64.9375 171.5527 64.8711 171.6719 64.8965 c +182.1445 67 191.4648 72.7598 198.1211 80.9277 C +202.7461 67.5508 213.3574 58.9219 226.4219 55.2734 C +221.6133 49.6816 224.1289 41.7402 231.541 40.4375 c +231.6543 40.416 231.7656 40.4746 231.8145 40.5781 c +231.8633 40.6816 231.8359 40.8066 231.748 40.8809 c +227.7754 44.2266 229.2285 52.3008 241.0859 52.3008 c +248.8794 52.3008 253.9067 49.1211 253.9067 44.8145 c +253.9067 41.4297 250.8442 39.584 248.2642 39.584 c +243.8501 39.584 241.3262 43.5449 243.2227 47.127 c +243.2773 47.2305 243.2559 47.3574 243.168 47.4355 c +243.0801 47.5137 242.9512 47.5215 242.8535 47.4551 c +240.6055 45.8906 239.0352 43.834 239.0352 40.6641 c +239.0352 35.2773 244.061 29.5352 252.3677 29.5332 c +261.2896 29.5332 269.3911 36.4043 269.3911 44.8145 c +269.3911 56.6309 259.3423 62.248 248.7778 63.248 C +253.1431 64.9219 256.4106 69.7734 v +256.4771 69.8691 256.4673 69.998 256.3892 70.084 c +256.311 70.1719 256.1841 70.1934 256.0825 70.1387 c +250.2524 67.0566 243.5938 65.3945 236.5801 65.3945 c +216.957 65.3945 200.0332 81.7988 196.3809 102.7607 c +196.3594 102.8818 196.252 102.9727 196.1289 102.9688 c +f +119.4512 50.5625 m +114.8438 42.8867 113.1992 29.7129 117.4941 19.8809 c +117.543 19.7695 117.5078 19.6406 117.4082 19.5703 c +117.3086 19.502 117.1758 19.5117 117.0879 19.5957 c +112.2813 24.1484 108.1484 34.7715 110.3828 47.0527 C +107.2871 49.4473 105.3379 51.8223 103.8691 55.0059 c +103.8223 55.1074 103.8496 55.2305 103.9355 55.3047 c +104.0215 55.377 104.1465 55.3848 104.2422 55.3203 c +109.2383 51.959 113.7051 50.8125 119.4512 50.5625 C +f +130.0586 170.3691 m +129.9902 170.4727 130.0078 170.6133 130.0996 170.6973 c +130.1934 170.7813 130.334 170.7852 130.4316 170.7061 c +137.2461 165.1797 146.3066 161.6504 157.4668 161.6504 c +185.0371 161.6504 202.4395 178.1689 205.1738 195.5771 c +205.1914 195.6885 205.2813 195.7734 205.3926 195.7891 c +205.5039 195.8047 205.6133 195.7422 205.6582 195.6396 c +208.3828 189.3818 210.0254 180.3057 201.6094 168.1309 c +196.5742 160.8457 190.4785 155.8311 190.4785 149.3145 c +190.4785 145.0566 192.7402 142.1602 196.168 142.1602 c +199.7734 142.1602 202.1055 145.248 202.1035 148.7148 c +202.1035 150.4629 201.5996 152.1934 200.6953 153.7607 c +200.6367 153.8633 200.6543 153.9902 200.7402 154.0723 c +200.8242 154.1523 200.9551 154.165 201.0527 154.1016 c +204.0254 152.1641 206.6797 148.7021 206.6797 143.8281 c +206.6797 136.6563 200.5469 130.6602 192.209 130.6602 c +183.2363 130.6602 175.8867 137.709 175.8867 147.8477 c +175.8867 151.3262 176.875 155.5156 179.3496 158.9805 C +175.9648 156.1523 174.1582 154.1523 172.6719 149.8271 C +162.2715 148.0186 151.166 149.6797 142.3398 155.4727 C +142.0859 149.3711 140.0898 144.2793 135.998 140.1533 c +135.9141 140.0684 135.7832 140.0547 135.6836 140.1182 c +135.582 140.1816 135.541 140.3066 135.5801 140.4189 c +138.457 148.4199 136.5234 160.6152 130.0586 170.3691 c +f +42.6934 163.7344 m +44.9375 168.5352 50.1523 171.2188 56.1543 171.3271 c +56.2793 171.3311 56.3867 171.2432 56.4082 171.1211 c +56.4316 170.998 56.3633 170.8779 56.248 170.8359 c +54.2012 170.082 52.5859 168.7637 51.7266 166.9258 c +49.5137 162.1973 53.0938 155.8301 59.7402 152.5566 c +59.8184 152.5186 59.8711 152.4434 59.8809 152.3594 c +59.8906 152.2725 59.8555 152.1885 59.791 152.1318 c +55.5 148.6143 50.3789 142.0781 50.3789 128.7148 c +50.377 110.0322 62.5332 92.25 78.6543 92.25 c +87.8672 92.25 95.2871 98.6465 99.125 108.2422 C +94.9023 102.4844 89.1445 98.1348 81.2109 98.1348 c +69.5703 98.1348 60.3574 110.5439 60.3555 128.459 c +60.3555 145.3457 72.2578 165.0518 88.1211 165.0508 c +96.8242 165.0488 103.3477 158.0117 103.3477 148.9277 c +103.3477 140.8672 98.1016 136.2637 92.2168 136.2637 c +87.7793 136.2637 84.7227 139.3936 83.7715 142.7871 c +83.7383 142.9023 83.791 143.0254 83.8965 143.0811 c +84.0039 143.1357 84.1328 143.1104 84.2109 143.0186 c +84.9629 142.124 86.1074 141.3809 87.8652 141.3809 c +90.8086 141.3789 92.3438 143.9082 92.3438 145.7285 c +92.3438 149.1836 89.7852 151.6152 85.9453 151.6152 c +80.7031 151.6152 76.6055 145.8564 76.6055 138.4385 c +76.6055 129.2236 85.4355 120.7813 94.2637 120.7813 c +103.2852 120.7813 112.9434 128.8408 112.9434 143.8125 c +112.9414 158.5234 102.9648 175.4141 87.0977 175.4141 c +77.8477 175.4141 69.9844 171.2441 63.9551 164.3398 c +63.875 164.248 63.7422 164.2246 63.6387 164.2852 c +63.5313 164.3477 63.4844 164.4727 63.5234 164.5879 c +67.957 177.5234 65.4766 189.7344 58.7031 189.7324 c +55.3887 189.7324 53.7012 187.3535 53.7012 184.8154 c +53.7012 182.21 55.5996 180.0566 58.6699 179.6611 c +58.791 179.6475 58.8828 179.5479 58.8926 179.4268 c +58.8984 179.3047 58.8184 179.1943 58.7012 179.1641 c +51.8867 177.4004 44.877 181.1133 44.877 188.2061 c +44.877 194.4854 50.2539 199.3398 57.2891 199.3398 c +67.9258 199.3379 73.0137 188.0684 70.748 177.8047 C +76.207 184.8486 84.3008 190.6396 95.9258 190.6396 c +119.4688 190.6396 131.3672 163.7715 131.3672 145.7285 c +131.3672 129.3525 128.041 118.8604 121.1309 110.8018 C +129.1934 116.9404 132.5195 123.7227 134.0547 133.0645 C +140.1953 141.5078 156.1875 141.5078 v +162.875 141.5078 169.1172 139.0322 173.9609 134.3438 C +173.9629 134.3447 173.9648 134.3477 173.9668 134.3486 C +174.002 134.3105 174.0391 134.2695 174.0762 134.2314 C +174.3965 133.915 174.7109 133.5918 175.0195 133.2578 C +180.0801 128.4102 190.2109 123.8633 199.4512 127.6602 c +199.5566 127.7031 199.6777 127.6699 199.748 127.582 c +199.8184 127.4932 199.8184 127.3672 199.752 127.2754 c +195.3457 121.252 187.7285 119.335 182.0742 120.21 C +183.1172 116.4941 183.6953 112.3281 183.6953 107.7305 c +183.6973 91.3262 174.8984 79.7598 165.2852 74.1289 C +168.4375 70.3281 167.7949 64.3535 164.2539 60.2949 c +164.1738 60.2051 164.043 60.1816 163.9375 60.2402 c +163.834 60.2988 163.7832 60.4238 163.8184 60.5391 c +165.5508 66.0703 160.4277 70.6875 153.6387 70.4395 c +153.5156 70.4355 153.4063 70.5195 153.3809 70.6406 c +153.3555 70.7617 153.418 70.8828 153.5332 70.9277 c +163.668 75.0918 170.3906 83.9102 170.3887 94.9355 c +170.3906 106.4492 163.4805 115.79 152.3496 115.79 c +143.2656 115.79 134.1816 107.4727 134.1816 97.1133 c +134.1816 89.0508 138.6582 84.3184 144.416 84.3164 c +149.4063 84.3184 153.373 87.7715 153.373 91.8672 c +153.373 97.7188 146.7891 99.8408 143.2773 95.209 c +143.209 95.1172 143.0859 95.084 142.9805 95.127 c +142.875 95.1689 142.8105 95.2773 142.8223 95.3926 c +143.3457 99.7813 146.5762 103.8926 151.582 103.8926 c +156.1875 103.8926 160.9219 100.0518 160.9219 91.8652 c +160.9219 82.1406 151.584 72.291 136.2305 72.2891 c +115.2461 72.2891 103.8594 95.959 114.0938 114.8945 C +108.8496 108.8809 104.1152 102.4844 104.1152 91.0977 c +104.1133 69.5898 125.3789 55.0488 150.4688 63.5977 c +150.5879 63.6367 150.7188 63.584 150.7754 63.4746 c +150.834 63.3633 150.8008 63.2266 150.6992 63.1523 c +143.6934 58.043 136.3555 50.5137 136.3555 37.873 c +136.3555 24.6934 145.0547 15.3535 158.6191 15.3535 c +169.1094 15.3535 175.7637 21.752 175.7637 29.2988 c +175.7637 35.0566 172.0449 39.6641 165.6563 39.6641 c +156.1426 39.6641 152.9082 29.3203 157.832 24.6953 c +157.916 24.6152 157.9355 24.4902 157.8809 24.3887 c +157.8242 24.2871 157.7051 24.2344 157.5938 24.2637 c +152.8242 25.5 148.2559 30.332 148.2559 37.6152 c +148.2539 50.1563 159.8965 58.4727 172.6914 58.4727 c +178.6875 58.4727 184.4902 56.7188 189.1641 53.4297 C +188.6113 49.2773 190.0313 44.6816 192.1309 41.5879 C +190.1816 48.457 192.291 59.7656 202.8027 59.7676 c +208.6953 59.7656 212.5898 55.2383 212.5898 49.8867 c +212.5898 43.5605 207.2441 40.6094 202.8945 41.2148 c +202.7793 41.2305 202.6895 41.3223 202.6758 41.4375 c +202.6641 41.5527 202.7305 41.6602 202.8379 41.7031 c +204.4238 42.3105 205.7813 43.9727 205.7813 45.9668 c +205.7813 48.4668 203.8691 49.9492 201.8691 49.9492 c +198.5762 49.9492 196.7461 46.2793 197.8984 42.2305 C +197.8867 42.2285 L +198.959 39.3926 199.5605 36.2246 199.5605 32.7363 c +199.5605 15.9746 181.3809 0.001953 158.4395 0 c +134.2285 0 121.3867 17.2734 121.3887 35.0566 c +121.3887 44.5938 124.9688 51.8184 129.5762 56.4258 C +109.6543 54.3066 97.0781 62.8223 90.2969 75.1035 C +94.7754 78.9414 96.4375 84.5723 Y +91.0645 77.5352 81.8535 71.3945 68.9316 71.3945 c +49.3555 71.3945 34 90.5859 34 111.1836 c +34 124.2568 38.8027 136.9648 48.5645 145.4307 C +42.5273 150.459 39.918 157.8018 42.6934 163.7344 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0.35 0.6 0.8 0.25 k + 0.35 0.6 0.8 0.25 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +407.2622 263.3711 m +407.3872 263.3711 407.4927 263.4629 407.5103 263.585 c +409.8911 279.5996 419.1646 292.9746 431.9028 300.9814 c +432.0063 301.0449 432.0493 301.1758 432.0044 301.29 c +431.9575 301.4023 431.8384 301.4688 431.7173 301.4443 c +421.2466 299.3398 411.9243 293.5811 405.27 285.4141 C +400.645 298.7891 390.0337 307.418 376.9692 311.0654 C +381.7778 316.6582 379.2622 324.5986 371.8501 325.9023 c +371.7368 325.9229 371.6255 325.8643 371.5767 325.7607 c +371.5278 325.6563 371.5552 325.5322 371.6431 325.46 c +375.6157 322.1143 374.1626 314.04 362.3052 314.04 c +354.5103 314.04 349.4849 317.2188 349.4849 321.5254 c +349.4849 324.9102 352.5474 326.7559 355.1255 326.7559 c +359.5415 326.7559 362.0649 322.7949 360.1685 319.2129 c +360.1138 319.1104 360.1353 318.9814 360.2231 318.9033 c +360.311 318.8271 360.4399 318.8184 360.5376 318.8857 c +362.7856 320.4492 364.356 322.5059 364.356 325.6768 c +364.356 331.0635 359.3306 336.8066 351.0239 336.8066 c +342.1021 336.8066 334.0005 329.9355 334.0005 321.5254 c +334.0005 309.71 344.0493 304.0918 354.6138 303.0918 C +350.2485 301.4189 346.981 296.5664 v +346.9146 296.4697 346.9243 296.3418 347.0024 296.2559 c +347.0806 296.1689 347.2056 296.1475 347.3091 296.2012 c +353.1392 299.2822 359.7954 300.9453 366.811 300.9453 c +386.4321 300.9453 403.3579 284.541 407.0103 263.5801 c +407.0317 263.4561 407.1392 263.3691 407.2622 263.3711 c +f +483.9399 315.7773 m +488.5493 323.4551 490.1919 336.627 485.897 346.46 c +485.8481 346.5703 485.8833 346.6992 485.9829 346.7686 c +486.0806 346.8379 486.2153 346.8281 486.3032 346.7461 c +491.1099 342.1914 495.2427 331.5684 493.0083 319.2871 C +496.106 316.8936 498.0532 314.5176 499.522 311.335 c +499.5688 311.2314 499.5415 311.1104 499.4556 311.0352 c +499.3696 310.9629 499.2446 310.9551 499.1489 311.0186 c +494.1528 314.3809 489.686 315.5283 483.9399 315.7773 C +f +473.3306 195.9707 m +473.4009 195.8672 473.3833 195.7266 473.2915 195.6426 c +473.1978 195.5586 473.0571 195.5547 472.9595 195.6348 c +466.145 201.1621 457.0845 204.6895 445.9243 204.6895 c +418.3521 204.6895 400.9517 188.1719 398.2173 170.7637 c +398.1997 170.6523 398.1099 170.5664 397.9985 170.5508 c +397.8872 170.5371 397.7778 170.5977 397.7329 170.7012 c +395.0083 176.959 393.3657 186.0352 401.7817 198.209 c +406.8169 205.4941 412.9106 210.5098 412.9106 217.0273 c +412.9106 221.2852 410.6509 224.1797 407.2231 224.1797 c +403.6177 224.1797 401.2876 221.0918 401.2876 217.625 c +401.2876 215.877 401.7915 214.1465 402.6958 212.5801 c +402.7544 212.4766 402.7368 212.3496 402.6509 212.2676 c +402.5649 212.1875 402.436 212.1758 402.3384 212.2402 c +399.3657 214.1777 396.7114 217.6367 396.7114 222.5117 c +396.7114 229.6836 402.8442 235.6816 411.1802 235.6816 c +420.1548 235.6816 427.5044 228.6328 427.5044 218.4922 c +427.5044 215.0156 426.5142 210.8242 424.0415 207.3613 C +427.4263 210.1875 429.2329 212.1875 430.7192 216.5117 C +441.1196 218.3223 452.2251 216.6602 461.0493 210.8691 C +461.3052 216.9707 463.3013 222.0605 467.3931 226.1875 c +467.4771 226.2715 467.6079 226.2852 467.7075 226.2227 c +467.8091 226.1582 467.8521 226.0332 467.811 225.9219 c +464.9341 217.9199 466.8657 205.7246 473.3306 195.9707 c +f +560.6978 202.6055 m +558.4517 197.8066 553.2388 195.1211 547.2368 195.0117 c +547.1118 195.0098 547.0044 195.0977 546.9829 195.2188 c +546.9595 195.3418 547.0278 195.4609 547.1431 195.5039 c +549.1899 196.2578 550.8052 197.5762 551.6646 199.4141 c +553.8774 204.1426 550.2974 210.5098 543.6509 213.7832 c +543.5728 213.8223 543.52 213.8965 543.5103 213.9824 c +543.5005 214.0684 543.5337 214.1523 543.6001 214.207 c +547.8911 217.7266 553.0122 224.2617 553.0122 237.627 c +553.0122 256.3086 540.8579 274.0898 524.7368 274.0898 c +515.5239 274.0898 508.104 267.6934 504.2661 258.0977 C +508.4868 263.8564 514.2446 268.2051 522.1782 268.2051 c +533.8208 268.2051 543.0337 255.7969 543.0337 237.8828 c +543.0337 220.9941 531.1333 201.2891 515.2681 201.2891 c +506.5669 201.2891 500.0435 208.3281 500.0435 217.4121 c +500.0435 225.4746 505.2896 230.0781 511.1763 230.0781 c +515.6099 230.0781 518.6685 226.9473 519.6196 223.5527 c +519.6509 223.4375 519.6001 223.3164 519.4927 223.2598 c +519.3872 223.2051 519.2583 223.2305 519.1802 223.3223 c +518.4282 224.2168 517.2837 224.9609 515.5259 224.9609 c +512.5825 224.9609 511.0474 222.4316 511.0474 220.6113 c +511.0474 217.1563 513.606 214.7246 517.4458 214.7246 c +522.6899 214.7246 526.7856 220.4824 526.7856 227.9023 c +526.7856 237.1152 517.9556 245.5586 509.1274 245.5586 c +500.106 245.5586 490.4478 237.5 490.4478 222.5293 c +490.4478 207.8164 500.4282 190.9258 516.2935 190.9258 c +525.5435 190.9258 533.4048 195.0957 539.436 202.002 c +539.5161 202.0918 539.6489 202.1152 539.7544 202.0547 c +539.8599 201.9941 539.9067 201.8672 539.8677 201.752 c +535.4341 188.8164 537.9126 176.6074 544.688 176.6074 c +548.0024 176.6074 549.6899 178.9863 549.6899 181.5234 c +549.6899 184.1309 547.7915 186.2852 544.7212 186.6777 c +544.6001 186.6934 544.5063 186.793 544.4985 186.9141 c +544.4927 187.0352 544.5708 187.1465 544.6899 187.1758 c +551.5044 188.9395 558.5142 185.2285 558.5142 178.1328 c +558.5142 171.8555 553.1372 167.002 546.1021 167.002 c +535.4653 167.002 530.3774 178.2715 532.6431 188.5371 C +527.1841 181.4922 519.0903 175.7012 507.4653 175.7012 c +483.9224 175.7012 472.0239 202.5703 472.0239 220.6113 c +472.0239 236.9883 475.3501 247.4785 482.2603 255.5391 C +474.1978 249.3984 470.8716 242.6172 469.3384 233.2773 C +463.1958 224.832 447.2036 224.832 v +440.5161 224.832 434.2739 227.3086 429.4302 231.998 C +429.4282 231.9961 429.4263 231.9941 429.4243 231.9902 C +429.3892 232.0313 429.3501 232.0703 429.3149 232.1094 C +428.9946 232.4238 428.6802 232.748 428.3716 233.082 C +423.3091 237.9316 413.1802 242.4785 403.9399 238.6797 c +403.8345 238.6367 403.7134 238.6699 403.6431 238.7578 c +403.5728 238.8477 403.5708 238.9727 403.6392 239.0645 c +408.0454 245.0898 415.6626 247.0059 421.3169 246.1309 C +420.272 249.8457 419.6938 254.0117 419.6938 258.6094 c +419.6938 275.0137 428.4927 286.5801 438.106 292.2109 C +434.9517 296.0137 435.5962 301.9883 439.1372 306.0449 c +439.2173 306.1357 439.3481 306.1582 439.4536 306.0996 c +439.5571 306.041 439.606 305.918 439.5708 305.8018 c +437.8403 300.2695 442.9634 295.6523 449.7524 295.9004 c +449.8755 295.9033 449.9829 295.8193 450.0103 295.6992 c +450.0356 295.5801 449.9712 295.457 449.8579 295.4111 c +439.7212 291.248 433.0005 282.4316 433.0005 271.4033 c +433.0005 259.8906 439.9087 250.5488 451.0415 250.5488 c +460.1255 250.5488 469.2095 258.8672 469.2095 269.2285 c +469.2095 277.2891 464.731 282.0225 458.9731 282.0225 c +453.9849 282.0225 450.0181 278.5684 450.0181 274.4736 c +450.0181 268.6211 456.6001 266.499 460.1118 271.1309 c +460.1821 271.2227 460.3032 271.2559 460.4087 271.2129 c +460.5161 271.1699 460.5806 271.0625 460.5669 270.9482 c +460.0435 266.5586 456.8149 262.4482 451.8091 262.4482 c +447.2036 262.4482 442.4692 266.2861 442.4692 274.4746 c +442.4692 284.1982 451.8071 294.0508 467.1606 294.0508 c +488.1431 294.0508 499.5317 270.3809 489.2974 251.4453 C +494.5415 257.459 499.2759 263.8555 499.2759 275.2432 c +499.2759 296.75 478.0122 311.291 452.9224 302.7441 c +452.8032 302.7021 452.6724 302.7559 452.6157 302.8672 c +452.5571 302.9785 452.5884 303.1143 452.6899 303.1895 c +459.6958 308.2979 467.0337 315.8262 467.0337 328.4668 c +467.0337 341.6475 458.3345 350.9854 444.772 350.9854 c +434.2798 350.9854 427.6274 344.5879 427.6274 337.04 c +427.6274 331.2822 431.3462 326.6768 437.7349 326.6768 c +447.2466 326.6768 450.481 337.0195 445.5591 341.6445 c +445.4751 341.7236 445.4556 341.8516 445.5103 341.9521 c +445.5669 342.0547 445.6841 342.1055 445.7974 342.0762 c +450.5669 340.8398 455.1353 336.0068 455.1353 328.7236 c +455.1353 316.1855 443.4927 307.8682 430.6978 307.8682 c +424.7017 307.8682 418.8989 309.623 414.2271 312.9102 C +414.7778 317.0635 413.3579 321.6602 411.2603 324.752 C +413.2095 317.8848 411.1021 306.5732 400.5864 306.5732 c +394.6958 306.5732 390.8013 311.1025 390.8013 316.4551 c +390.8013 322.7793 396.147 325.7314 400.4966 325.125 c +400.6118 325.1104 400.7017 325.0186 400.7134 324.9023 c +400.7271 324.7891 400.6606 324.6797 400.5532 324.6367 c +398.9673 324.0293 397.6118 322.3691 397.6118 320.373 c +397.6118 317.873 399.52 316.3906 401.52 316.3906 c +404.8149 316.3906 406.645 320.0605 405.4927 324.1104 C +405.5044 324.1104 L +404.4321 326.9473 403.8286 330.1152 403.8286 333.6055 c +403.8286 350.3672 422.0103 366.3398 444.9497 366.3398 c +469.1626 366.3398 482.0044 349.0664 482.0044 331.2822 c +482.0044 321.7461 478.4224 314.5225 473.8149 309.915 C +493.7368 312.0332 506.313 303.5176 513.0942 291.2354 C +508.6157 287.3975 506.9536 281.7676 Y +512.3267 288.8057 521.5376 294.9453 534.4595 294.9453 c +554.0356 294.9453 569.3911 275.7539 569.3911 255.1563 c +569.3911 242.084 564.5884 229.375 554.8267 220.9102 C +560.8638 215.8809 563.4731 208.5391 560.6978 202.6055 c +f +*U +*u +482.2114 327.9053 m +482.1782 327.7852 482.2388 327.6582 482.3521 327.6094 c +497.1763 321.0957 507.6372 308.6289 512.0063 294.2324 c +512.0415 294.1152 512.1548 294.0391 512.2778 294.0527 c +512.3989 294.0664 512.4946 294.166 512.5024 294.2871 c +513.229 304.9434 510.1274 315.4531 504.0005 324.0234 C +518.1216 324.9648 529.2407 332.9297 536.1997 344.5723 C +540.3286 338.46 548.6509 338.7969 551.8599 345.6035 c +551.9106 345.708 551.8833 345.832 551.7954 345.9063 c +551.7075 345.9805 551.5806 345.9873 551.4868 345.9219 c +547.2134 342.9688 539.8071 346.498 542.9282 357.9355 c +544.981 365.4561 549.3716 369.4668 553.5259 368.333 c +556.7915 367.4414 557.7661 364.002 557.0864 361.5146 c +555.9243 357.2539 551.438 355.8623 548.481 358.6357 c +548.397 358.7158 548.2681 358.7285 548.1704 358.6641 c +548.0728 358.5986 548.0298 358.4775 548.0688 358.3662 c +548.9868 355.7852 550.5571 353.7285 553.6157 352.8936 c +558.811 351.4756 565.6743 354.8115 567.8618 362.8252 c +570.2114 371.4316 565.7153 381.0566 557.604 383.2715 c +546.2036 386.3818 538.1392 378.166 534.3931 368.2383 C +533.9263 372.8896 530.1079 377.3203 v +530.0317 377.4092 529.9048 377.4336 529.8013 377.3818 c +529.6978 377.3291 529.6431 377.2129 529.6665 377.0996 c +531.106 370.6641 530.9575 363.8047 529.1099 357.0361 c +523.9438 338.1074 503.6626 326.0977 482.479 328.0938 c +482.354 328.1055 482.2407 328.0254 482.2114 327.9053 c +f +512.5806 240.1348 m +518.7739 233.666 531.0493 228.6133 541.6646 230.168 c +541.7856 230.1855 541.9009 230.1172 541.9399 230.0039 c +541.981 229.8906 541.936 229.7637 541.8345 229.7012 c +536.1743 226.2617 524.8384 225.0723 513.5786 230.4609 C +510.4536 228.1035 507.6489 226.8496 504.1919 226.2715 c +504.0806 226.2539 503.9692 226.3125 503.9204 226.4141 c +503.8735 226.5156 503.8989 226.6387 503.9849 226.7148 c +508.5454 230.6484 510.8286 234.6563 512.5806 240.1348 C +f +399.7935 281.9121 m +399.6763 281.8711 399.5454 281.9258 399.4888 282.0371 c +399.4321 282.1484 399.4653 282.2852 399.5688 282.3594 c +406.6938 287.4785 412.4829 295.291 415.4204 306.0566 c +422.6802 332.6563 411.3267 353.792 395.2544 361.0146 c +395.1509 361.0605 395.0903 361.1689 395.106 361.2803 c +395.1216 361.3926 395.2095 361.4814 395.3208 361.4971 c +402.0747 362.4785 411.2622 361.6729 420.7915 350.3486 c +426.4927 343.5732 429.7271 336.373 436.0142 334.6563 c +440.1216 333.5352 443.5103 334.9551 444.4126 338.2617 c +445.3618 341.7393 442.9966 344.8018 439.6528 345.7148 c +437.9653 346.1738 436.1626 346.1436 434.4146 345.6836 c +434.2993 345.6533 434.1821 345.7051 434.1255 345.8086 c +434.0708 345.9121 434.0923 346.04 434.1802 346.1172 c +436.8325 348.4746 440.8677 350.125 445.5708 348.8408 c +452.4907 346.9531 456.6606 339.457 454.4673 331.415 c +452.104 322.7578 443.3696 317.5234 433.5864 320.1934 c +430.2329 321.1084 426.4497 323.168 423.7603 326.4648 C +425.5942 322.4551 427.0493 320.1855 430.8286 317.6133 C +429.8364 307.1035 425.3091 296.8271 417.4009 289.8389 C +423.2192 287.9863 427.604 284.7207 430.5083 279.6855 c +430.5669 279.582 430.5454 279.4531 430.4595 279.373 c +430.3696 279.293 430.2388 279.2832 430.1411 279.3535 c +423.1802 284.2344 410.9048 285.582 399.7935 281.9121 c +f +383.1919 195.8809 m +379.1548 199.3105 377.936 205.0469 379.4106 210.8672 c +379.4419 210.9883 379.5552 211.0684 379.6782 211.0566 c +379.8032 211.0469 379.8989 210.9492 379.9106 210.8281 c +380.0981 208.6543 380.9458 206.748 382.4927 205.4355 c +386.4712 202.0566 393.5571 203.834 398.4634 209.3828 c +398.522 209.4492 398.6079 209.4805 398.6938 209.4668 c +398.7798 209.4531 398.8521 209.3984 398.8872 209.3203 c +401.1528 204.2539 406.1079 197.5938 419.0005 194.0742 c +437.0239 189.1563 457.3794 196.1992 461.6235 211.752 c +464.0493 220.6406 459.8306 229.4824 451.5845 235.7109 C +456.0298 230.123 458.7075 223.4238 456.6177 215.7695 c +453.5532 204.5391 439.1567 198.918 421.8755 203.6348 c +405.5825 208.0801 389.7075 224.748 393.8833 240.0547 c +396.1743 248.4492 404.6821 252.8887 413.4458 250.4961 c +421.2231 248.375 424.2837 242.1016 422.7329 236.4219 c +421.5669 232.1445 417.7407 230.0195 414.2153 229.9941 c +414.0962 229.9941 413.9927 230.0762 413.9653 230.1934 c +413.9419 230.3105 413.9985 230.4277 414.1079 230.4785 c +415.1704 230.9688 416.188 231.877 416.6509 233.5742 c +417.4263 236.4121 415.3911 238.5605 413.6353 239.0391 c +410.3032 239.9492 407.2837 238.1211 406.272 234.416 c +404.8911 229.3574 409.3677 223.8906 416.5239 221.9355 c +425.4126 219.5117 435.8833 225.8066 438.2075 234.3223 c +440.5825 243.0254 435.3501 254.4648 420.9087 258.4063 c +406.7153 262.2813 387.7935 257.0996 383.6157 241.793 c +381.1802 232.8691 383.1333 224.1875 388.2075 216.5508 c +388.2739 216.4512 388.2622 216.3164 388.1763 216.2305 c +388.0884 216.1445 387.9536 216.1328 387.854 216.2012 c +376.5415 223.8828 364.1118 224.707 362.3267 218.1699 c +361.4536 214.9727 363.3052 212.7188 365.7524 212.0508 c +368.2681 211.3652 370.8462 212.6289 372.0337 215.4883 c +372.0806 215.5996 372.2017 215.6641 372.3208 215.6406 c +372.438 215.6133 372.5259 215.5098 372.522 215.3867 c +372.4302 208.3477 367.0044 202.5625 360.1587 204.4316 c +354.1021 206.084 350.8364 212.5488 352.688 219.3359 c +355.4888 229.5977 367.6997 231.5391 377.0063 226.6504 C +371.647 233.7715 368.1919 243.1035 371.2524 254.3184 c +377.4517 277.0313 406.5044 281.4355 423.9087 276.6855 c +439.7075 272.373 448.9517 266.4023 454.9087 257.6152 C +451.1079 267.0098 445.4419 272.0039 436.8345 275.9434 C +430.3052 284.0918 434.5161 299.5195 v +436.2759 305.9707 440.3091 311.3418 446.1079 314.7793 C +446.1079 314.7813 446.106 314.7842 446.1021 314.7871 C +446.1509 314.8105 446.1997 314.8379 446.2466 314.8613 C +446.6333 315.0879 447.0298 315.3057 447.4321 315.5146 C +453.4438 319.1211 460.4966 327.6973 459.2661 337.6113 c +459.2524 337.7236 459.3149 337.832 459.4185 337.877 c +459.5239 337.9219 459.645 337.8896 459.7153 337.8018 c +464.3677 331.9629 464.2114 324.1104 461.8794 318.8857 C +465.7368 318.915 469.9087 318.375 474.3442 317.165 c +490.1685 312.8457 499.0122 301.3135 501.9126 290.5566 C +506.4106 292.5977 512.0063 290.4043 514.9888 285.9199 c +515.0532 285.8184 515.0415 285.6855 514.9575 285.5996 c +514.8735 285.5156 514.7407 285.5 514.6392 285.5645 c +509.7583 288.6914 503.9556 284.9648 502.4048 278.3496 c +502.3774 278.2305 502.2681 278.1484 502.145 278.1543 c +502.022 278.1602 501.9204 278.2539 501.9067 278.377 c +500.5591 289.251 493.8228 298.0566 483.1841 300.96 c +472.0767 303.9922 461.2446 299.7852 458.3149 289.0469 c +455.9224 280.2832 461.5571 269.3301 471.5513 266.6016 c +479.3286 264.4785 485.0747 267.5527 486.5903 273.1074 c +487.9048 277.9199 485.6157 282.6563 481.6665 283.7344 c +476.0181 285.2754 472.2388 279.4844 475.7837 274.877 c +475.8521 274.7852 475.854 274.6602 475.7837 274.5684 c +475.7153 274.4766 475.5923 274.4434 475.4868 274.4863 c +471.3892 276.1465 468.2739 280.3418 469.5923 285.1729 c +470.8052 289.6152 475.7544 293.1729 483.6548 291.0166 c +493.0356 288.457 500.0806 276.8555 496.0376 262.043 c +490.5142 241.7988 464.6802 237.0449 449.1079 251.9043 C +453.5278 245.2617 458.4517 239.0098 469.438 236.0117 c +490.188 230.3496 509.813 247.0332 508.1724 273.4902 c +508.1646 273.6152 508.2505 273.7285 508.3735 273.7539 c +508.4946 273.7813 508.6196 273.7129 508.6646 273.5977 c +511.7466 265.4922 517.0786 256.4316 529.2739 253.1035 c +541.9888 249.6328 553.2876 255.5664 556.8599 268.6504 c +559.6216 278.7734 555.2017 286.875 547.9204 288.8623 c +542.3657 290.3789 536.9419 288.0039 535.2603 281.8398 c +532.7563 272.6641 541.8833 266.8203 547.6411 270.3516 c +547.7388 270.4121 547.8677 270.3965 547.9497 270.3164 c +548.0337 270.2363 548.0513 270.1094 547.9927 270.0078 c +545.5454 265.7324 539.6802 262.5977 532.6548 264.5156 c +520.5571 267.8164 515.6001 281.2383 518.9673 293.5811 c +520.5454 299.3652 523.7681 304.502 528.1685 308.1426 C +532.0298 306.5186 536.8384 306.6777 540.3735 307.8867 C +533.2349 307.8154 522.8794 312.8262 525.647 322.9707 c +527.1978 328.6533 532.5923 331.2188 537.7563 329.8086 c +543.8579 328.1436 545.2974 322.21 543.5688 318.1729 c +543.522 318.0654 543.4106 318.0039 543.2974 318.0225 c +543.1821 318.04 543.0942 318.1318 543.0825 318.2471 c +542.9146 319.9375 541.6685 321.6836 539.7446 322.208 c +537.3325 322.8662 535.3989 321.415 534.8735 319.4854 c +534.0044 316.3066 537.063 313.5752 541.2739 313.6211 C +541.27 313.6094 L +544.2896 313.8984 547.5044 313.6445 550.8716 312.7266 c +567.0415 308.3125 577.6646 286.5674 571.6235 264.4375 c +565.2485 241.0781 545.2056 233.2363 528.0474 237.9199 c +518.8481 240.4297 512.8228 245.7871 509.5903 251.4453 C +506.3892 231.668 494.8618 221.7793 481.229 218.4707 C +478.7056 223.8008 473.7114 226.8867 Y +479.0864 219.8496 482.5845 209.3477 479.1821 196.8809 c +474.0278 177.9961 451.4712 168.2344 431.6001 173.6582 c +418.9888 177.0996 407.9927 185.0801 402.397 196.7266 C +395.9556 192.2266 388.186 191.6406 383.1919 195.8809 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0 0 0 0 k + 0 0 0 0 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +530.1294 269.9688 m +530.0044 269.9688 529.8989 269.877 529.8794 269.7539 c +527.5005 253.7402 518.2271 240.3652 505.4888 232.3594 c +505.3853 232.2949 505.3403 232.1641 505.3872 232.0508 c +505.4321 231.9375 505.5532 231.8711 505.6724 231.8965 c +516.145 234 525.4653 239.7598 532.1216 247.9277 C +536.7466 234.5508 547.3579 225.9219 560.4224 222.2734 C +555.6138 216.6816 558.1294 208.7402 565.5415 207.4375 c +565.6548 207.416 565.7661 207.4746 565.8149 207.5781 c +565.8638 207.6816 565.8364 207.8066 565.7485 207.8809 c +561.7759 211.2266 563.229 219.3008 575.0864 219.3008 c +582.8804 219.3008 587.9077 216.1211 587.9077 211.8145 c +587.9077 208.4297 584.8452 206.584 582.2651 206.584 c +577.8511 206.584 575.3267 210.5449 577.2231 214.127 c +577.2778 214.2305 577.2563 214.3574 577.1685 214.4355 c +577.0806 214.5137 576.9517 214.5215 576.854 214.4551 c +574.606 212.8906 573.0356 210.834 573.0356 207.6641 c +573.0356 202.2773 578.062 196.5352 586.3687 196.5332 c +595.2905 196.5332 603.3921 203.4043 603.3921 211.8145 c +603.3921 223.6309 593.3433 229.248 582.7788 230.248 C +587.144 231.9219 590.4116 236.7734 v +590.478 236.8691 590.4683 236.998 590.3901 237.084 c +590.312 237.1719 590.1851 237.1934 590.0835 237.1387 c +584.2534 234.0566 577.5942 232.3945 570.5806 232.3945 c +550.9575 232.3945 534.0337 248.7988 530.3813 269.7607 c +530.3599 269.8818 530.2524 269.9727 530.1294 269.9688 c +f +453.4517 217.5625 m +448.8442 209.8867 447.1997 196.7129 451.4946 186.8809 c +451.5435 186.7695 451.5083 186.6406 451.4087 186.5703 c +451.3091 186.502 451.1763 186.5117 451.0884 186.5957 c +446.2817 191.1484 442.1489 201.7715 444.3833 214.0527 C +441.2876 216.4473 439.3384 218.8223 437.8696 222.0059 c +437.8228 222.1074 437.8501 222.2305 437.936 222.3047 c +438.022 222.377 438.147 222.3848 438.2427 222.3203 c +443.2388 218.959 447.7056 217.8125 453.4517 217.5625 C +f +464.0591 337.3691 m +463.9907 337.4727 464.0083 337.6133 464.1001 337.6973 c +464.1938 337.7813 464.3345 337.7852 464.4321 337.7061 c +471.2466 332.1797 480.3071 328.6504 491.4673 328.6504 c +519.0376 328.6504 536.4399 345.1689 539.1743 362.5771 c +539.1919 362.6885 539.2817 362.7734 539.3931 362.7891 c +539.5044 362.8047 539.6138 362.7422 539.6587 362.6396 c +542.3833 356.3818 544.0259 347.3057 535.6099 335.1309 c +530.5747 327.8457 524.479 322.8311 524.479 316.3145 c +524.479 312.0566 526.7407 309.1602 530.1685 309.1602 c +533.7739 309.1602 536.106 312.248 536.104 315.7148 c +536.104 317.4629 535.6001 319.1934 534.6958 320.7607 c +534.6372 320.8633 534.6548 320.9902 534.7407 321.0723 c +534.8247 321.1523 534.9556 321.165 535.0532 321.1016 c +538.0259 319.1641 540.6802 315.7021 540.6802 310.8281 c +540.6802 303.6563 534.5474 297.6602 526.2095 297.6602 c +517.2368 297.6602 509.8872 304.709 509.8872 314.8477 c +509.8872 318.3262 510.8755 322.5156 513.3501 325.9805 C +509.9653 323.1523 508.1587 321.1523 506.6724 316.8271 C +496.272 315.0186 485.1665 316.6797 476.3403 322.4727 C +476.0864 316.3711 474.0903 311.2793 469.9985 307.1533 c +469.9146 307.0684 469.7837 307.0547 469.6841 307.1182 c +469.5825 307.1816 469.5415 307.3066 469.5806 307.4189 c +472.4575 315.4199 470.5239 327.6152 464.0591 337.3691 c +f +376.6938 330.7344 m +378.938 335.5352 384.1528 338.2188 390.1548 338.3271 c +390.2798 338.3311 390.3872 338.2432 390.4087 338.1211 c +390.4321 337.998 390.3638 337.8779 390.2485 337.8359 c +388.2017 337.082 386.5864 335.7637 385.7271 333.9258 c +383.5142 329.1973 387.0942 322.8301 393.7407 319.5566 c +393.8188 319.5186 393.8716 319.4434 393.8813 319.3594 c +393.8911 319.2725 393.856 319.1885 393.7915 319.1318 c +389.5005 315.6143 384.3794 309.0781 384.3794 295.7148 c +384.3774 277.0322 396.5337 259.25 412.6548 259.25 c +421.8677 259.25 429.2876 265.6465 433.1255 275.2422 C +428.9028 269.4844 423.145 265.1348 415.2114 265.1348 c +403.5708 265.1348 394.3579 277.5439 394.356 295.459 c +394.356 312.3457 406.2583 332.0518 422.1216 332.0508 c +430.8247 332.0488 437.3481 325.0117 437.3481 315.9277 c +437.3481 307.8672 432.1021 303.2637 426.2173 303.2637 c +421.7798 303.2637 418.7231 306.3936 417.772 309.7871 c +417.7388 309.9023 417.7915 310.0254 417.897 310.0811 c +418.0044 310.1357 418.1333 310.1104 418.2114 310.0186 c +418.9634 309.124 420.1079 308.3809 421.8657 308.3809 c +424.8091 308.3789 426.3442 310.9082 426.3442 312.7285 c +426.3442 316.1836 423.7856 318.6152 419.9458 318.6152 c +414.7036 318.6152 410.606 312.8564 410.606 305.4385 c +410.606 296.2236 419.436 287.7813 428.2642 287.7813 c +437.2856 287.7813 446.9438 295.8408 446.9438 310.8125 c +446.9419 325.5234 436.9653 342.4141 421.0981 342.4141 c +411.8481 342.4141 403.9849 338.2441 397.9556 331.3398 c +397.8755 331.248 397.7427 331.2246 397.6392 331.2852 c +397.5317 331.3477 397.4849 331.4727 397.5239 331.5879 c +401.9575 344.5234 399.4771 356.7344 392.7036 356.7324 c +389.3892 356.7324 387.7017 354.3535 387.7017 351.8154 c +387.7017 349.21 389.6001 347.0566 392.6704 346.6611 c +392.7915 346.6475 392.8833 346.5479 392.8931 346.4268 c +392.8989 346.3047 392.8188 346.1943 392.7017 346.1641 c +385.8872 344.4004 378.8774 348.1133 378.8774 355.2061 c +378.8774 361.4854 384.2544 366.3398 391.2896 366.3398 c +401.9263 366.3379 407.0142 355.0684 404.7485 344.8047 C +410.2075 351.8486 418.3013 357.6396 429.9263 357.6396 c +453.4692 357.6396 465.3677 330.7715 465.3677 312.7285 c +465.3677 296.3525 462.0415 285.8604 455.1313 277.8018 C +463.1938 283.9404 466.52 290.7227 468.0552 300.0645 C +474.1958 308.5078 490.188 308.5078 v +496.8755 308.5078 503.1177 306.0322 507.9614 301.3438 C +507.9634 301.3447 507.9653 301.3477 507.9673 301.3486 C +508.0024 301.3105 508.0396 301.2695 508.0767 301.2314 C +508.397 300.915 508.7114 300.5918 509.02 300.2578 C +514.0806 295.4102 524.2114 290.8633 533.4517 294.6602 c +533.5571 294.7031 533.6782 294.6699 533.7485 294.582 c +533.8188 294.4932 533.8188 294.3672 533.7524 294.2754 c +529.3462 288.252 521.729 286.335 516.0747 287.21 C +517.1177 283.4941 517.6958 279.3281 517.6958 274.7305 c +517.6978 258.3262 508.8989 246.7598 499.2856 241.1289 C +502.438 237.3281 501.7954 231.3535 498.2544 227.2949 c +498.1743 227.2051 498.0435 227.1816 497.938 227.2402 c +497.8345 227.2988 497.7837 227.4238 497.8188 227.5391 c +499.5513 233.0703 494.4282 237.6875 487.6392 237.4395 c +487.5161 237.4355 487.4067 237.5195 487.3813 237.6406 c +487.356 237.7617 487.4185 237.8828 487.5337 237.9277 c +497.6685 242.0918 504.3911 250.9102 504.3892 261.9355 c +504.3911 273.4492 497.481 282.79 486.3501 282.79 c +477.2661 282.79 468.1821 274.4727 468.1821 264.1133 c +468.1821 256.0508 472.6587 251.3184 478.4165 251.3164 c +483.4067 251.3184 487.3735 254.7715 487.3735 258.8672 c +487.3735 264.7188 480.7896 266.8408 477.2778 262.209 c +477.2095 262.1172 477.0864 262.084 476.981 262.127 c +476.8755 262.1689 476.811 262.2773 476.8228 262.3926 c +477.3462 266.7813 480.5767 270.8926 485.5825 270.8926 c +490.188 270.8926 494.9224 267.0518 494.9224 258.8652 c +494.9224 249.1406 485.5845 239.291 470.231 239.2891 c +449.2466 239.2891 437.8599 262.959 448.0942 281.8945 C +442.8501 275.8809 438.1157 269.4844 438.1157 258.0977 c +438.1138 236.5898 459.3794 222.0488 484.4692 230.5977 c +484.5884 230.6367 484.7192 230.584 484.7759 230.4746 c +484.8345 230.3633 484.8013 230.2266 484.6997 230.1523 c +477.6938 225.043 470.356 217.5137 470.356 204.873 c +470.356 191.6934 479.0552 182.3535 492.6196 182.3535 c +503.1099 182.3535 509.7642 188.752 509.7642 196.2988 c +509.7642 202.0566 506.0454 206.6641 499.6567 206.6641 c +490.1431 206.6641 486.9087 196.3203 491.8325 191.6953 c +491.9165 191.6152 491.936 191.4902 491.8813 191.3887 c +491.8247 191.2871 491.7056 191.2344 491.5942 191.2637 c +486.8247 192.5 482.2563 197.332 482.2563 204.6152 c +482.2544 217.1563 493.897 225.4727 506.6919 225.4727 c +512.688 225.4727 518.4907 223.7188 523.1646 220.4297 C +522.6118 216.2773 524.0317 211.6816 526.1313 208.5879 C +524.1821 215.457 526.2915 226.7656 536.8032 226.7676 c +542.6958 226.7656 546.5903 222.2383 546.5903 216.8867 c +546.5903 210.5605 541.2446 207.6094 536.895 208.2148 c +536.7798 208.2305 536.6899 208.3223 536.6763 208.4375 c +536.6646 208.5527 536.731 208.6602 536.8384 208.7031 c +538.4243 209.3105 539.7817 210.9727 539.7817 212.9668 c +539.7817 215.4668 537.8696 216.9492 535.8696 216.9492 c +532.5767 216.9492 530.7466 213.2793 531.8989 209.2305 C +531.8872 209.2285 L +532.9595 206.3926 533.561 203.2246 533.561 199.7363 c +533.561 182.9746 515.3813 167.002 492.4399 167 c +468.229 167 455.3872 184.2734 455.3892 202.0566 c +455.3892 211.5938 458.9692 218.8184 463.5767 223.4258 C +443.6548 221.3066 431.0786 229.8223 424.2974 242.1035 C +428.7759 245.9414 430.438 251.5723 Y +425.0649 244.5352 415.854 238.3945 402.9321 238.3945 c +383.356 238.3945 368.0005 257.5859 368.0005 278.1836 c +368.0005 291.2568 372.8032 303.9648 382.5649 312.4307 C +376.5278 317.459 373.9185 324.8018 376.6938 330.7344 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0.35 0.6 0.8 0.25 k + 0.35 0.6 0.8 0.25 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +240.2622 263.3711 m +240.3872 263.3711 240.4927 263.4629 240.5103 263.585 c +242.8911 279.5996 252.1646 292.9746 264.9028 300.9814 c +265.0063 301.0449 265.0493 301.1758 265.0044 301.29 c +264.9575 301.4023 264.8384 301.4688 264.7173 301.4443 c +254.2466 299.3398 244.9243 293.5811 238.27 285.4141 C +233.644 298.7891 223.0337 307.418 209.9692 311.0654 C +214.7778 316.6582 212.2622 324.5986 204.8501 325.9023 c +204.7368 325.9229 204.6245 325.8643 204.5757 325.7607 c +204.5278 325.6563 204.5542 325.5322 204.6421 325.46 c +208.6157 322.1143 207.1616 314.04 195.3052 314.04 c +187.5103 314.04 182.4849 317.2188 182.4849 321.5254 c +182.4849 324.9102 185.5464 326.7559 188.1255 326.7559 c +192.5415 326.7559 195.0649 322.7949 193.1675 319.2129 c +193.1128 319.1104 193.1353 318.9814 193.2231 318.9033 c +193.311 318.8271 193.4399 318.8184 193.5366 318.8857 c +195.7856 320.4492 197.356 322.5059 197.356 325.6768 c +197.356 331.0635 192.3306 336.8066 184.0239 336.8066 c +175.1021 336.8066 167.0005 329.9355 167.0005 321.5254 c +167.0005 309.71 177.0493 304.0918 187.6138 303.0918 C +183.2485 301.4189 179.98 296.5664 v +179.9146 296.4697 179.9243 296.3418 180.0015 296.2559 c +180.0796 296.1689 180.2056 296.1475 180.3091 296.2012 c +186.1392 299.2822 192.7954 300.9453 199.811 300.9453 c +219.4321 300.9453 236.3579 284.541 240.0103 263.5801 c +240.0317 263.4561 240.1382 263.3691 240.2622 263.3711 c +f +316.9399 315.7773 m +321.5493 323.4551 323.1919 336.627 318.897 346.46 c +318.8481 346.5703 318.8833 346.6992 318.9829 346.7686 c +319.0806 346.8379 319.2153 346.8281 319.3032 346.7461 c +324.1099 342.1914 328.2427 331.5684 326.0083 319.2871 C +329.106 316.8936 331.0532 314.5176 332.522 311.335 c +332.5688 311.2314 332.5415 311.1104 332.4556 311.0352 c +332.3696 310.9629 332.2446 310.9551 332.1489 311.0186 c +327.1528 314.3809 322.686 315.5283 316.9399 315.7773 C +f +306.3306 195.9707 m +306.4009 195.8672 306.3833 195.7266 306.2915 195.6426 c +306.1978 195.5586 306.0571 195.5547 305.9595 195.6348 c +299.145 201.1621 290.0845 204.6895 278.9243 204.6895 c +251.3521 204.6895 233.9517 188.1719 231.2163 170.7637 c +231.1987 170.6523 231.1099 170.5664 230.9985 170.5508 c +230.8862 170.5371 230.7778 170.5977 230.7329 170.7012 c +228.0073 176.959 226.3657 186.0352 234.7817 198.209 c +239.8159 205.4941 245.9106 210.5098 245.9106 217.0273 c +245.9106 221.2852 243.6509 224.1797 240.2231 224.1797 c +236.6177 224.1797 234.2866 221.0918 234.2866 217.625 c +234.2866 215.877 234.7915 214.1465 235.6958 212.5801 c +235.7544 212.4766 235.7358 212.3496 235.6509 212.2676 c +235.5649 212.1875 235.436 212.1758 235.3384 212.2402 c +232.3657 214.1777 229.7114 217.6367 229.7114 222.5117 c +229.7114 229.6836 235.8442 235.6816 244.1802 235.6816 c +253.1548 235.6816 260.5044 228.6328 260.5044 218.4922 c +260.5044 215.0156 259.5142 210.8242 257.0415 207.3613 C +260.4263 210.1875 262.2329 212.1875 263.7192 216.5117 C +274.1196 218.3223 285.2251 216.6602 294.0493 210.8691 C +294.3052 216.9707 296.3013 222.0605 300.3931 226.1875 c +300.4771 226.2715 300.6079 226.2852 300.7075 226.2227 c +300.8091 226.1582 300.8521 226.0332 300.811 225.9219 c +297.9341 217.9199 299.8657 205.7246 306.3306 195.9707 c +f +393.6978 202.6055 m +391.4517 197.8066 386.2388 195.1211 380.2368 195.0117 c +380.1118 195.0098 380.0044 195.0977 379.9829 195.2188 c +379.9595 195.3418 380.0278 195.4609 380.1431 195.5039 c +382.1899 196.2578 383.8052 197.5762 384.6646 199.4141 c +386.8774 204.1426 383.2974 210.5098 376.6509 213.7832 c +376.5728 213.8223 376.52 213.8965 376.5103 213.9824 c +376.5005 214.0684 376.5337 214.1523 376.6001 214.207 c +380.8911 217.7266 386.0122 224.2617 386.0122 237.627 c +386.0122 256.3086 373.8579 274.0898 357.7368 274.0898 c +348.5239 274.0898 341.104 267.6934 337.2661 258.0977 C +341.4868 263.8564 347.2446 268.2051 355.1782 268.2051 c +366.8208 268.2051 376.0337 255.7969 376.0337 237.8828 c +376.0337 220.9941 364.1333 201.2891 348.2681 201.2891 c +339.5669 201.2891 333.0435 208.3281 333.0435 217.4121 c +333.0435 225.4746 338.2896 230.0781 344.1763 230.0781 c +348.6099 230.0781 351.6685 226.9473 352.6196 223.5527 c +352.6509 223.4375 352.6001 223.3164 352.4927 223.2598 c +352.3872 223.2051 352.2583 223.2305 352.1802 223.3223 c +351.4282 224.2168 350.2837 224.9609 348.5259 224.9609 c +345.5825 224.9609 344.0474 222.4316 344.0474 220.6113 c +344.0474 217.1563 346.606 214.7246 350.4458 214.7246 c +355.6899 214.7246 359.7856 220.4824 359.7856 227.9023 c +359.7856 237.1152 350.9556 245.5586 342.1274 245.5586 c +333.106 245.5586 323.4478 237.5 323.4478 222.5293 c +323.4478 207.8164 333.4282 190.9258 349.2935 190.9258 c +358.5435 190.9258 366.4048 195.0957 372.436 202.002 c +372.5161 202.0918 372.6489 202.1152 372.7544 202.0547 c +372.8599 201.9941 372.9067 201.8672 372.8677 201.752 c +368.4341 188.8164 370.9126 176.6074 377.688 176.6074 c +381.0024 176.6074 382.6899 178.9863 382.6899 181.5234 c +382.6899 184.1309 380.7915 186.2852 377.7212 186.6777 c +377.6001 186.6934 377.5063 186.793 377.4985 186.9141 c +377.4927 187.0352 377.5708 187.1465 377.6899 187.1758 c +384.5044 188.9395 391.5142 185.2285 391.5142 178.1328 c +391.5142 171.8555 386.1372 167.002 379.1021 167.002 c +368.4653 167.002 363.3774 178.2715 365.6431 188.5371 C +360.1841 181.4922 352.0903 175.7012 340.4653 175.7012 c +316.9224 175.7012 305.0239 202.5703 305.0239 220.6113 c +305.0239 236.9883 308.3501 247.4785 315.2603 255.5391 C +307.1978 249.3984 303.8716 242.6172 302.3384 233.2773 C +296.1958 224.832 280.2036 224.832 v +273.5161 224.832 267.2739 227.3086 262.4302 231.998 C +262.4282 231.9961 262.4263 231.9941 262.4243 231.9902 C +262.3892 232.0313 262.3501 232.0703 262.3149 232.1094 C +261.9946 232.4238 261.6802 232.748 261.3716 233.082 C +256.3091 237.9316 246.1802 242.4785 236.9399 238.6797 c +236.8345 238.6367 236.7134 238.6699 236.6431 238.7578 c +236.5728 238.8477 236.5708 238.9727 236.6382 239.0645 c +241.0454 245.0898 248.6626 247.0059 254.3169 246.1309 C +253.272 249.8457 252.6938 254.0117 252.6938 258.6094 c +252.6938 275.0137 261.4927 286.5801 271.106 292.2109 C +267.9517 296.0137 268.5962 301.9883 272.1372 306.0449 c +272.2173 306.1357 272.3481 306.1582 272.4536 306.0996 c +272.5571 306.041 272.606 305.918 272.5708 305.8018 c +270.8403 300.2695 275.9634 295.6523 282.7524 295.9004 c +282.8755 295.9033 282.9829 295.8193 283.0103 295.6992 c +283.0356 295.5801 282.9712 295.457 282.8579 295.4111 c +272.7212 291.248 266.0005 282.4316 266.0005 271.4033 c +266.0005 259.8906 272.9087 250.5488 284.0415 250.5488 c +293.1255 250.5488 302.2095 258.8672 302.2095 269.2285 c +302.2095 277.2891 297.731 282.0225 291.9731 282.0225 c +286.9849 282.0225 283.0181 278.5684 283.0181 274.4736 c +283.0181 268.6211 289.6001 266.499 293.1118 271.1309 c +293.1821 271.2227 293.3032 271.2559 293.4087 271.2129 c +293.5161 271.1699 293.5806 271.0625 293.5669 270.9482 c +293.0435 266.5586 289.8149 262.4482 284.8091 262.4482 c +280.2036 262.4482 275.4692 266.2861 275.4692 274.4746 c +275.4692 284.1982 284.8071 294.0508 300.1606 294.0508 c +321.1431 294.0508 332.5317 270.3809 322.2974 251.4453 C +327.5415 257.459 332.2759 263.8555 332.2759 275.2432 c +332.2759 296.75 311.0122 311.291 285.9224 302.7441 c +285.8032 302.7021 285.6724 302.7559 285.6157 302.8672 c +285.5571 302.9785 285.5884 303.1143 285.6899 303.1895 c +292.6958 308.2979 300.0337 315.8262 300.0337 328.4668 c +300.0337 341.6475 291.3345 350.9854 277.772 350.9854 c +267.2798 350.9854 260.6274 344.5879 260.6274 337.04 c +260.6274 331.2822 264.3462 326.6768 270.7349 326.6768 c +280.2466 326.6768 283.481 337.0195 278.5591 341.6445 c +278.4751 341.7236 278.4556 341.8516 278.5103 341.9521 c +278.5669 342.0547 278.6841 342.1055 278.7974 342.0762 c +283.5669 340.8398 288.1353 336.0068 288.1353 328.7236 c +288.1353 316.1855 276.4927 307.8682 263.6978 307.8682 c +257.7017 307.8682 251.8989 309.623 247.2271 312.9102 C +247.7778 317.0635 246.3579 321.6602 244.2603 324.752 C +246.2095 317.8848 244.1021 306.5732 233.5864 306.5732 c +227.6958 306.5732 223.8013 311.1025 223.8013 316.4551 c +223.8013 322.7793 229.147 325.7314 233.4966 325.125 c +233.6118 325.1104 233.7007 325.0186 233.7134 324.9023 c +233.7271 324.7891 233.6606 324.6797 233.5532 324.6367 c +231.9673 324.0293 230.6108 322.3691 230.6108 320.373 c +230.6108 317.873 232.52 316.3906 234.52 316.3906 c +237.8149 316.3906 239.645 320.0605 238.4927 324.1104 C +238.5044 324.1104 L +237.4312 326.9473 236.8286 330.1152 236.8286 333.6055 c +236.8286 350.3672 255.0103 366.3398 277.9497 366.3398 c +302.1626 366.3398 315.0044 349.0664 315.0044 331.2822 c +315.0044 321.7461 311.4224 314.5225 306.8149 309.915 C +326.7368 312.0332 339.313 303.5176 346.0942 291.2354 C +341.6157 287.3975 339.9536 281.7676 Y +345.3267 288.8057 354.5376 294.9453 367.4595 294.9453 c +387.0356 294.9453 402.3911 275.7539 402.3911 255.1563 c +402.3911 242.084 397.5884 229.375 387.8267 220.9102 C +393.8638 215.8809 396.4731 208.5391 393.6978 202.6055 c +f +*U +*u +315.2114 327.9053 m +315.1782 327.7852 315.2388 327.6582 315.3521 327.6094 c +330.1763 321.0957 340.6372 308.6289 345.0063 294.2324 c +345.0415 294.1152 345.1548 294.0391 345.2778 294.0527 c +345.3989 294.0664 345.4946 294.166 345.5024 294.2871 c +346.229 304.9434 343.1274 315.4531 337.0005 324.0234 C +351.1216 324.9648 362.2407 332.9297 369.1997 344.5723 C +373.3286 338.46 381.6509 338.7969 384.8599 345.6035 c +384.9106 345.708 384.8833 345.832 384.7954 345.9063 c +384.7075 345.9805 384.5806 345.9873 384.4868 345.9219 c +380.2134 342.9688 372.8071 346.498 375.9282 357.9355 c +377.981 365.4561 382.3716 369.4668 386.5259 368.333 c +389.7915 367.4414 390.7661 364.002 390.0864 361.5146 c +388.9243 357.2539 384.438 355.8623 381.481 358.6357 c +381.397 358.7158 381.2681 358.7285 381.1704 358.6641 c +381.0728 358.5986 381.0298 358.4775 381.0688 358.3662 c +381.9868 355.7852 383.5571 353.7285 386.6157 352.8936 c +391.811 351.4756 398.6743 354.8115 400.8618 362.8252 c +403.2114 371.4316 398.7153 381.0566 390.604 383.2715 c +379.2036 386.3818 371.1392 378.166 367.3931 368.2383 C +366.9263 372.8896 363.1079 377.3203 v +363.0317 377.4092 362.9048 377.4336 362.8013 377.3818 c +362.6978 377.3291 362.6431 377.2129 362.6665 377.0996 c +364.106 370.6641 363.9575 363.8047 362.1099 357.0361 c +356.9438 338.1074 336.6626 326.0977 315.479 328.0938 c +315.354 328.1055 315.2407 328.0254 315.2114 327.9053 c +f +345.5806 240.1348 m +351.7739 233.666 364.0493 228.6133 374.6646 230.168 c +374.7856 230.1855 374.9009 230.1172 374.9399 230.0039 c +374.981 229.8906 374.936 229.7637 374.8345 229.7012 c +369.1743 226.2617 357.8384 225.0723 346.5786 230.4609 C +343.4536 228.1035 340.6489 226.8496 337.1919 226.2715 c +337.0806 226.2539 336.9692 226.3125 336.9204 226.4141 c +336.8735 226.5156 336.8989 226.6387 336.9849 226.7148 c +341.5454 230.6484 343.8286 234.6563 345.5806 240.1348 C +f +232.7935 281.9121 m +232.6753 281.8711 232.5444 281.9258 232.4878 282.0371 c +232.4312 282.1484 232.4644 282.2852 232.5679 282.3594 c +239.6938 287.4785 245.4829 295.291 248.4204 306.0566 c +255.6802 332.6563 244.3267 353.792 228.2534 361.0146 c +228.1499 361.0605 228.0903 361.1689 228.105 361.2803 c +228.1216 361.3926 228.2085 361.4814 228.3198 361.4971 c +235.0747 362.4785 244.2622 361.6729 253.7915 350.3486 c +259.4927 343.5732 262.7271 336.373 269.0142 334.6563 c +273.1216 333.5352 276.5103 334.9551 277.4126 338.2617 c +278.3618 341.7393 275.9966 344.8018 272.6528 345.7148 c +270.9653 346.1738 269.1626 346.1436 267.4146 345.6836 c +267.2993 345.6533 267.1821 345.7051 267.1255 345.8086 c +267.0708 345.9121 267.0923 346.04 267.1802 346.1172 c +269.8325 348.4746 273.8677 350.125 278.5708 348.8408 c +285.4907 346.9531 289.6606 339.457 287.4673 331.415 c +285.104 322.7578 276.3696 317.5234 266.5864 320.1934 c +263.2329 321.1084 259.4497 323.168 256.7603 326.4648 C +258.5942 322.4551 260.0493 320.1855 263.8286 317.6133 C +262.8364 307.1035 258.3091 296.8271 250.4009 289.8389 C +256.2192 287.9863 260.604 284.7207 263.5083 279.6855 c +263.5669 279.582 263.5454 279.4531 263.4595 279.373 c +263.3696 279.293 263.2388 279.2832 263.1411 279.3535 c +256.1802 284.2344 243.9048 285.582 232.7935 281.9121 c +f +216.1919 195.8809 m +212.1538 199.3105 210.936 205.0469 212.4106 210.8672 c +212.4419 210.9883 212.5542 211.0684 212.6772 211.0566 c +212.8022 211.0469 212.8989 210.9492 212.9097 210.8281 c +213.0981 208.6543 213.9448 206.748 215.4917 205.4355 c +219.4712 202.0566 226.5562 203.834 231.4634 209.3828 c +231.522 209.4492 231.6079 209.4805 231.6929 209.4668 c +231.7788 209.4531 231.8511 209.3984 231.8862 209.3203 c +234.1519 204.2539 239.1079 197.5938 252.0005 194.0742 c +270.0239 189.1563 290.3794 196.1992 294.6235 211.752 c +297.0493 220.6406 292.8306 229.4824 284.5845 235.7109 C +289.0298 230.123 291.7075 223.4238 289.6177 215.7695 c +286.5532 204.5391 272.1567 198.918 254.8755 203.6348 c +238.5825 208.0801 222.7065 224.748 226.8833 240.0547 c +229.1743 248.4492 237.6821 252.8887 246.4458 250.4961 c +254.2231 248.375 257.2837 242.1016 255.7329 236.4219 c +254.5669 232.1445 250.7407 230.0195 247.2153 229.9941 c +247.0962 229.9941 246.9927 230.0762 246.9653 230.1934 c +246.9419 230.3105 246.9985 230.4277 247.1079 230.4785 c +248.1704 230.9688 249.188 231.877 249.6509 233.5742 c +250.4263 236.4121 248.3911 238.5605 246.6353 239.0391 c +243.3022 239.9492 240.2827 238.1211 239.271 234.416 c +237.8911 229.3574 242.3667 223.8906 249.5239 221.9355 c +258.4126 219.5117 268.8833 225.8066 271.2075 234.3223 c +273.5825 243.0254 268.3501 254.4648 253.9087 258.4063 c +239.7153 262.2813 220.7925 257.0996 216.6157 241.793 c +214.1802 232.8691 216.1333 224.1875 221.2075 216.5508 c +221.2739 216.4512 221.2612 216.3164 221.1753 216.2305 c +221.0884 216.1445 220.9536 216.1328 220.853 216.2012 c +209.5415 223.8828 197.1108 224.707 195.3267 218.1699 c +194.4536 214.9727 196.3042 212.7188 198.7524 212.0508 c +201.2681 211.3652 203.8462 212.6289 205.0327 215.4883 c +205.0796 215.5996 205.2007 215.6641 205.3198 215.6406 c +205.438 215.6133 205.5249 215.5098 205.522 215.3867 c +205.4292 208.3477 200.0034 202.5625 193.1577 204.4316 c +187.1021 206.084 183.8354 212.5488 185.688 219.3359 c +188.4888 229.5977 200.6997 231.5391 210.0063 226.6504 C +204.647 233.7715 201.1919 243.1035 204.2524 254.3184 c +210.4507 277.0313 239.5044 281.4355 256.9087 276.6855 c +272.7075 272.373 281.9517 266.4023 287.9087 257.6152 C +284.1079 267.0098 278.4419 272.0039 269.8345 275.9434 C +263.3052 284.0918 267.5161 299.5195 v +269.2759 305.9707 273.3091 311.3418 279.1079 314.7793 C +279.1079 314.7813 279.106 314.7842 279.1021 314.7871 C +279.1509 314.8105 279.1997 314.8379 279.2466 314.8613 C +279.6333 315.0879 280.0298 315.3057 280.4321 315.5146 C +286.4438 319.1211 293.4966 327.6973 292.2661 337.6113 c +292.2524 337.7236 292.3149 337.832 292.4185 337.877 c +292.5239 337.9219 292.645 337.8896 292.7153 337.8018 c +297.3677 331.9629 297.2114 324.1104 294.8794 318.8857 C +298.7368 318.915 302.9087 318.375 307.3442 317.165 c +323.1685 312.8457 332.0122 301.3135 334.9126 290.5566 C +339.4106 292.5977 345.0063 290.4043 347.9888 285.9199 c +348.0532 285.8184 348.0415 285.6855 347.9575 285.5996 c +347.8735 285.5156 347.7407 285.5 347.6392 285.5645 c +342.7583 288.6914 336.9556 284.9648 335.4048 278.3496 c +335.3774 278.2305 335.2681 278.1484 335.145 278.1543 c +335.022 278.1602 334.9204 278.2539 334.9067 278.377 c +333.5591 289.251 326.8228 298.0566 316.1841 300.96 c +305.0767 303.9922 294.2446 299.7852 291.3149 289.0469 c +288.9224 280.2832 294.5571 269.3301 304.5513 266.6016 c +312.3286 264.4785 318.0747 267.5527 319.5903 273.1074 c +320.9048 277.9199 318.6157 282.6563 314.6665 283.7344 c +309.0181 285.2754 305.2388 279.4844 308.7837 274.877 c +308.8521 274.7852 308.854 274.6602 308.7837 274.5684 c +308.7153 274.4766 308.5923 274.4434 308.4868 274.4863 c +304.3892 276.1465 301.2739 280.3418 302.5923 285.1729 c +303.8052 289.6152 308.7544 293.1729 316.6548 291.0166 c +326.0356 288.457 333.0806 276.8555 329.0376 262.043 c +323.5142 241.7988 297.6802 237.0449 282.1079 251.9043 C +286.5278 245.2617 291.4517 239.0098 302.438 236.0117 c +323.188 230.3496 342.813 247.0332 341.1724 273.4902 c +341.1646 273.6152 341.2505 273.7285 341.3735 273.7539 c +341.4946 273.7813 341.6196 273.7129 341.6646 273.5977 c +344.7466 265.4922 350.0786 256.4316 362.2739 253.1035 c +374.9888 249.6328 386.2876 255.5664 389.8599 268.6504 c +392.6216 278.7734 388.2017 286.875 380.9204 288.8623 c +375.3657 290.3789 369.9419 288.0039 368.2603 281.8398 c +365.7563 272.6641 374.8833 266.8203 380.6411 270.3516 c +380.7388 270.4121 380.8677 270.3965 380.9497 270.3164 c +381.0337 270.2363 381.0513 270.1094 380.9927 270.0078 c +378.5454 265.7324 372.6802 262.5977 365.6548 264.5156 c +353.5571 267.8164 348.6001 281.2383 351.9673 293.5811 c +353.5454 299.3652 356.7681 304.502 361.1685 308.1426 C +365.0298 306.5186 369.8384 306.6777 373.3735 307.8867 C +366.2349 307.8154 355.8794 312.8262 358.647 322.9707 c +360.1978 328.6533 365.5923 331.2188 370.7563 329.8086 c +376.8579 328.1436 378.2974 322.21 376.5688 318.1729 c +376.522 318.0654 376.4106 318.0039 376.2974 318.0225 c +376.1821 318.04 376.0942 318.1318 376.0825 318.2471 c +375.9146 319.9375 374.6685 321.6836 372.7446 322.208 c +370.3325 322.8662 368.3989 321.415 367.8735 319.4854 c +367.0044 316.3066 370.063 313.5752 374.2739 313.6211 C +374.27 313.6094 L +377.2896 313.8984 380.5044 313.6445 383.8716 312.7266 c +400.0415 308.3125 410.6646 286.5674 404.6235 264.4375 c +398.2485 241.0781 378.2056 233.2363 361.0474 237.9199 c +351.8481 240.4297 345.8228 245.7871 342.5903 251.4453 C +339.3892 231.668 327.8618 221.7793 314.229 218.4707 C +311.7056 223.8008 306.7114 226.8867 Y +312.0864 219.8496 315.5845 209.3477 312.1821 196.8809 c +307.0278 177.9961 284.4712 168.2344 264.6001 173.6582 c +251.9888 177.0996 240.9927 185.0801 235.397 196.7266 C +228.9556 192.2266 221.186 191.6406 216.1919 195.8809 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0 0 0 0 k + 0 0 0 0 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +363.1294 269.9688 m +363.0044 269.9688 362.8989 269.877 362.8794 269.7539 c +360.5005 253.7402 351.2271 240.3652 338.4888 232.3594 c +338.3853 232.2949 338.3403 232.1641 338.3872 232.0508 c +338.4321 231.9375 338.5532 231.8711 338.6724 231.8965 c +349.145 234 358.4653 239.7598 365.1216 247.9277 C +369.7466 234.5508 380.3579 225.9219 393.4224 222.2734 C +388.6138 216.6816 391.1294 208.7402 398.5415 207.4375 c +398.6548 207.416 398.7661 207.4746 398.8149 207.5781 c +398.8638 207.6816 398.8364 207.8066 398.7485 207.8809 c +394.7759 211.2266 396.229 219.3008 408.0864 219.3008 c +415.8794 219.3008 420.9067 216.1211 420.9067 211.8145 c +420.9067 208.4297 417.8442 206.584 415.2642 206.584 c +410.8501 206.584 408.3267 210.5449 410.2231 214.127 c +410.2778 214.2305 410.2563 214.3574 410.1685 214.4355 c +410.0806 214.5137 409.9517 214.5215 409.854 214.4551 c +407.606 212.8906 406.0356 210.834 406.0356 207.6641 c +406.0356 202.2773 411.061 196.5352 419.3677 196.5332 c +428.2896 196.5332 436.3911 203.4043 436.3911 211.8145 c +436.3911 223.6309 426.3423 229.248 415.7778 230.248 C +420.1431 231.9219 423.4106 236.7734 v +423.4771 236.8691 423.4673 236.998 423.3892 237.084 c +423.311 237.1719 423.1841 237.1934 423.0825 237.1387 c +417.2524 234.0566 410.5942 232.3945 403.5806 232.3945 c +383.9575 232.3945 367.0337 248.7988 363.3813 269.7607 c +363.3599 269.8818 363.2524 269.9727 363.1294 269.9688 c +f +286.4517 217.5625 m +281.8442 209.8867 280.1997 196.7129 284.4946 186.8809 c +284.5435 186.7695 284.5083 186.6406 284.4087 186.5703 c +284.3091 186.502 284.1763 186.5117 284.0884 186.5957 c +279.2817 191.1484 275.1489 201.7715 277.3833 214.0527 C +274.2876 216.4473 272.3384 218.8223 270.8696 222.0059 c +270.8228 222.1074 270.8501 222.2305 270.936 222.3047 c +271.022 222.377 271.147 222.3848 271.2427 222.3203 c +276.2388 218.959 280.7056 217.8125 286.4517 217.5625 C +f +297.0591 337.3691 m +296.9907 337.4727 297.0083 337.6133 297.1001 337.6973 c +297.1938 337.7813 297.3345 337.7852 297.4321 337.7061 c +304.2466 332.1797 313.3071 328.6504 324.4673 328.6504 c +352.0376 328.6504 369.4399 345.1689 372.1743 362.5771 c +372.1919 362.6885 372.2817 362.7734 372.3931 362.7891 c +372.5044 362.8047 372.6138 362.7422 372.6587 362.6396 c +375.3833 356.3818 377.0259 347.3057 368.6099 335.1309 c +363.5747 327.8457 357.479 322.8311 357.479 316.3145 c +357.479 312.0566 359.7407 309.1602 363.1685 309.1602 c +366.7739 309.1602 369.106 312.248 369.104 315.7148 c +369.104 317.4629 368.6001 319.1934 367.6958 320.7607 c +367.6372 320.8633 367.6548 320.9902 367.7407 321.0723 c +367.8247 321.1523 367.9556 321.165 368.0532 321.1016 c +371.0259 319.1641 373.6802 315.7021 373.6802 310.8281 c +373.6802 303.6563 367.5474 297.6602 359.2095 297.6602 c +350.2368 297.6602 342.8872 304.709 342.8872 314.8477 c +342.8872 318.3262 343.8755 322.5156 346.3501 325.9805 C +342.9653 323.1523 341.1587 321.1523 339.6724 316.8271 C +329.272 315.0186 318.1665 316.6797 309.3403 322.4727 C +309.0864 316.3711 307.0903 311.2793 302.9985 307.1533 c +302.9146 307.0684 302.7837 307.0547 302.6841 307.1182 c +302.5825 307.1816 302.5415 307.3066 302.5806 307.4189 c +305.4575 315.4199 303.5239 327.6152 297.0591 337.3691 c +f +209.6938 330.7344 m +211.938 335.5352 217.1528 338.2188 223.1548 338.3271 c +223.2798 338.3311 223.3872 338.2432 223.4087 338.1211 c +223.4321 337.998 223.3638 337.8779 223.2485 337.8359 c +221.2017 337.082 219.5864 335.7637 218.7271 333.9258 c +216.5142 329.1973 220.0942 322.8301 226.7407 319.5566 c +226.8188 319.5186 226.8716 319.4434 226.8813 319.3594 c +226.8911 319.2725 226.856 319.1885 226.7915 319.1318 c +222.5005 315.6143 217.3794 309.0781 217.3794 295.7148 c +217.3774 277.0322 229.5337 259.25 245.6548 259.25 c +254.8677 259.25 262.2876 265.6465 266.1255 275.2422 C +261.9028 269.4844 256.145 265.1348 248.2114 265.1348 c +236.5708 265.1348 227.3579 277.5439 227.356 295.459 c +227.356 312.3457 239.2583 332.0518 255.1216 332.0508 c +263.8247 332.0488 270.3481 325.0117 270.3481 315.9277 c +270.3481 307.8672 265.1021 303.2637 259.2173 303.2637 c +254.7798 303.2637 251.7231 306.3936 250.772 309.7871 c +250.7388 309.9023 250.7915 310.0254 250.897 310.0811 c +251.0044 310.1357 251.1333 310.1104 251.2114 310.0186 c +251.9634 309.124 253.1079 308.3809 254.8657 308.3809 c +257.8091 308.3789 259.3442 310.9082 259.3442 312.7285 c +259.3442 316.1836 256.7856 318.6152 252.9458 318.6152 c +247.7036 318.6152 243.606 312.8564 243.606 305.4385 c +243.606 296.2236 252.436 287.7813 261.2642 287.7813 c +270.2856 287.7813 279.9438 295.8408 279.9438 310.8125 c +279.9419 325.5234 269.9653 342.4141 254.0981 342.4141 c +244.8481 342.4141 236.9849 338.2441 230.9556 331.3398 c +230.8755 331.248 230.7427 331.2246 230.6392 331.2852 c +230.5317 331.3477 230.4849 331.4727 230.5239 331.5879 c +234.9575 344.5234 232.4771 356.7344 225.7036 356.7324 c +222.3892 356.7324 220.7017 354.3535 220.7017 351.8154 c +220.7017 349.21 222.6001 347.0566 225.6704 346.6611 c +225.7915 346.6475 225.8833 346.5479 225.8931 346.4268 c +225.8989 346.3047 225.8188 346.1943 225.7017 346.1641 c +218.8872 344.4004 211.8774 348.1133 211.8774 355.2061 c +211.8774 361.4854 217.2544 366.3398 224.2896 366.3398 c +234.9263 366.3379 240.0142 355.0684 237.7485 344.8047 C +243.2075 351.8486 251.3013 357.6396 262.9263 357.6396 c +286.4692 357.6396 298.3677 330.7715 298.3677 312.7285 c +298.3677 296.3525 295.0415 285.8604 288.1313 277.8018 C +296.1938 283.9404 299.52 290.7227 301.0552 300.0645 C +307.1958 308.5078 323.188 308.5078 v +329.8755 308.5078 336.1177 306.0322 340.9614 301.3438 C +340.9634 301.3447 340.9653 301.3477 340.9673 301.3486 C +341.0024 301.3105 341.0396 301.2695 341.0767 301.2314 C +341.397 300.915 341.7114 300.5918 342.02 300.2578 C +347.0806 295.4102 357.2114 290.8633 366.4517 294.6602 c +366.5571 294.7031 366.6782 294.6699 366.7485 294.582 c +366.8188 294.4932 366.8188 294.3672 366.7524 294.2754 c +362.3462 288.252 354.729 286.335 349.0747 287.21 C +350.1177 283.4941 350.6958 279.3281 350.6958 274.7305 c +350.6978 258.3262 341.8989 246.7598 332.2856 241.1289 C +335.438 237.3281 334.7954 231.3535 331.2544 227.2949 c +331.1743 227.2051 331.0435 227.1816 330.938 227.2402 c +330.8345 227.2988 330.7837 227.4238 330.8188 227.5391 c +332.5513 233.0703 327.4282 237.6875 320.6392 237.4395 c +320.5161 237.4355 320.4067 237.5195 320.3813 237.6406 c +320.356 237.7617 320.4185 237.8828 320.5337 237.9277 c +330.6685 242.0918 337.3911 250.9102 337.3892 261.9355 c +337.3911 273.4492 330.481 282.79 319.3501 282.79 c +310.2661 282.79 301.1821 274.4727 301.1821 264.1133 c +301.1821 256.0508 305.6587 251.3184 311.4165 251.3164 c +316.4067 251.3184 320.3735 254.7715 320.3735 258.8672 c +320.3735 264.7188 313.7896 266.8408 310.2778 262.209 c +310.2095 262.1172 310.0864 262.084 309.981 262.127 c +309.8755 262.1689 309.811 262.2773 309.8228 262.3926 c +310.3462 266.7813 313.5767 270.8926 318.5825 270.8926 c +323.188 270.8926 327.9224 267.0518 327.9224 258.8652 c +327.9224 249.1406 318.5845 239.291 303.231 239.2891 c +282.2466 239.2891 270.8599 262.959 281.0942 281.8945 C +275.8501 275.8809 271.1157 269.4844 271.1157 258.0977 c +271.1138 236.5898 292.3794 222.0488 317.4692 230.5977 c +317.5884 230.6367 317.7192 230.584 317.7759 230.4746 c +317.8345 230.3633 317.8013 230.2266 317.6997 230.1523 c +310.6938 225.043 303.356 217.5137 303.356 204.873 c +303.356 191.6934 312.0552 182.3535 325.6196 182.3535 c +336.1099 182.3535 342.7642 188.752 342.7642 196.2988 c +342.7642 202.0566 339.0454 206.6641 332.6567 206.6641 c +323.1431 206.6641 319.9087 196.3203 324.8325 191.6953 c +324.9165 191.6152 324.936 191.4902 324.8813 191.3887 c +324.8247 191.2871 324.7056 191.2344 324.5942 191.2637 c +319.8247 192.5 315.2563 197.332 315.2563 204.6152 c +315.2544 217.1563 326.897 225.4727 339.6919 225.4727 c +345.688 225.4727 351.4907 223.7188 356.1646 220.4297 C +355.6118 216.2773 357.0317 211.6816 359.1313 208.5879 C +357.1821 215.457 359.2915 226.7656 369.8032 226.7676 c +375.6958 226.7656 379.5903 222.2383 379.5903 216.8867 c +379.5903 210.5605 374.2446 207.6094 369.895 208.2148 c +369.7798 208.2305 369.6899 208.3223 369.6763 208.4375 c +369.6646 208.5527 369.731 208.6602 369.8384 208.7031 c +371.4243 209.3105 372.7817 210.9727 372.7817 212.9668 c +372.7817 215.4668 370.8696 216.9492 368.8696 216.9492 c +365.5767 216.9492 363.7466 213.2793 364.8989 209.2305 C +364.8872 209.2285 L +365.9595 206.3926 366.561 203.2246 366.561 199.7363 c +366.561 182.9746 348.3813 167.002 325.4399 167 c +301.229 167 288.3872 184.2734 288.3892 202.0566 c +288.3892 211.5938 291.9692 218.8184 296.5767 223.4258 C +276.6548 221.3066 264.0786 229.8223 257.2974 242.1035 C +261.7759 245.9414 263.438 251.5723 Y +258.0649 244.5352 248.854 238.3945 235.9321 238.3945 c +216.356 238.3945 201.0005 257.5859 201.0005 278.1836 c +201.0005 291.2568 205.8032 303.9648 215.5649 312.4307 C +209.5278 317.459 206.9185 324.8018 209.6938 330.7344 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0.35 0.6 0.8 0.25 k + 0.35 0.6 0.8 0.25 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +73.2617 263.3711 m +73.3867 263.3711 73.4922 263.4629 73.5098 263.585 c +75.8906 279.5996 85.1641 292.9746 97.9023 300.9814 c +98.0059 301.0449 98.0488 301.1758 98.0039 301.29 c +97.957 301.4023 97.8379 301.4688 97.7168 301.4443 c +87.2461 299.3398 77.9238 293.5811 71.2695 285.4141 C +66.6436 298.7891 56.0332 307.418 42.9688 311.0654 C +47.7773 316.6582 45.2617 324.5986 37.8496 325.9023 c +37.7363 325.9229 37.624 325.8643 37.5752 325.7607 c +37.5273 325.6563 37.5537 325.5322 37.6416 325.46 c +41.6152 322.1143 40.1611 314.04 28.3047 314.04 c +20.5098 314.04 15.4844 317.2188 15.4844 321.5254 c +15.4844 324.9102 18.5459 326.7559 21.125 326.7559 c +25.541 326.7559 28.0645 322.7949 26.167 319.2129 c +26.1123 319.1104 26.1348 318.9814 26.2227 318.9033 c +26.3105 318.8271 26.4395 318.8184 26.5361 318.8857 c +28.7852 320.4492 30.3555 322.5059 30.3555 325.6768 c +30.3555 331.0635 25.3301 336.8066 17.0234 336.8066 c +8.10156 336.8066 0 329.9355 0 321.5254 c +0 309.71 10.0488 304.0918 20.6133 303.0918 C +16.248 301.4189 12.9795 296.5664 v +12.9141 296.4697 12.9238 296.3418 13.001 296.2559 c +13.0791 296.1689 13.2051 296.1475 13.3086 296.2012 c +19.1387 299.2822 25.7949 300.9453 32.8105 300.9453 c +52.4316 300.9453 69.3574 284.541 73.0098 263.5801 c +73.0313 263.4561 73.1377 263.3691 73.2617 263.3711 c +f +149.9395 315.7773 m +154.5488 323.4551 156.1914 336.627 151.8965 346.46 c +151.8477 346.5703 151.8828 346.6992 151.9824 346.7686 c +152.0801 346.8379 152.2148 346.8281 152.3027 346.7461 c +157.1094 342.1914 161.2422 331.5684 159.0078 319.2871 C +162.1055 316.8936 164.0527 314.5176 165.5215 311.335 c +165.5684 311.2314 165.541 311.1104 165.4551 311.0352 c +165.3691 310.9629 165.2441 310.9551 165.1484 311.0186 c +160.1523 314.3809 155.6855 315.5283 149.9395 315.7773 C +f +139.3301 195.9707 m +139.4004 195.8672 139.3828 195.7266 139.291 195.6426 c +139.1973 195.5586 139.0566 195.5547 138.959 195.6348 c +132.1445 201.1621 123.084 204.6895 111.9238 204.6895 c +84.3516 204.6895 66.9512 188.1719 64.2158 170.7637 c +64.1982 170.6523 64.1094 170.5664 63.998 170.5508 c +63.8857 170.5371 63.7773 170.5977 63.7324 170.7012 c +61.0068 176.959 59.3652 186.0352 67.7813 198.209 c +72.8154 205.4941 78.9102 210.5098 78.9102 217.0273 c +78.9102 221.2852 76.6504 224.1797 73.2227 224.1797 c +69.6172 224.1797 67.2861 221.0918 67.2861 217.625 c +67.2861 215.877 67.791 214.1465 68.6953 212.5801 c +68.7539 212.4766 68.7354 212.3496 68.6504 212.2676 c +68.5645 212.1875 68.4355 212.1758 68.3379 212.2402 c +65.3652 214.1777 62.7109 217.6367 62.7109 222.5117 c +62.7109 229.6836 68.8438 235.6816 77.1797 235.6816 c +86.1543 235.6816 93.5039 228.6328 93.5039 218.4922 c +93.5039 215.0156 92.5137 210.8242 90.041 207.3613 C +93.4258 210.1875 95.2324 212.1875 96.7188 216.5117 C +107.1191 218.3223 118.2246 216.6602 127.0488 210.8691 C +127.3047 216.9707 129.3008 222.0605 133.3926 226.1875 c +133.4766 226.2715 133.6074 226.2852 133.707 226.2227 c +133.8086 226.1582 133.8516 226.0332 133.8105 225.9219 c +130.9336 217.9199 132.8652 205.7246 139.3301 195.9707 c +f +226.6973 202.6055 m +224.4512 197.8066 219.2383 195.1211 213.2363 195.0117 c +213.1113 195.0098 213.0039 195.0977 212.9824 195.2188 c +212.959 195.3418 213.0273 195.4609 213.1426 195.5039 c +215.1895 196.2578 216.8047 197.5762 217.6641 199.4141 c +219.877 204.1426 216.2969 210.5098 209.6504 213.7832 c +209.5723 213.8223 209.5195 213.8965 209.5098 213.9824 c +209.5 214.0684 209.5332 214.1523 209.5996 214.207 c +213.8906 217.7266 219.0117 224.2617 219.0117 237.627 c +219.0117 256.3086 206.8574 274.0898 190.7363 274.0898 c +181.5234 274.0898 174.1035 267.6934 170.2656 258.0977 C +174.4863 263.8564 180.2441 268.2051 188.1777 268.2051 c +199.8203 268.2051 209.0332 255.7969 209.0332 237.8828 c +209.0332 220.9941 197.1328 201.2891 181.2676 201.2891 c +172.5664 201.2891 166.043 208.3281 166.043 217.4121 c +166.043 225.4746 171.2891 230.0781 177.1758 230.0781 c +181.6094 230.0781 184.668 226.9473 185.6191 223.5527 c +185.6504 223.4375 185.5996 223.3164 185.4922 223.2598 c +185.3867 223.2051 185.2578 223.2305 185.1797 223.3223 c +184.4277 224.2168 183.2832 224.9609 181.5254 224.9609 c +178.582 224.9609 177.0469 222.4316 177.0469 220.6113 c +177.0469 217.1563 179.6055 214.7246 183.4453 214.7246 c +188.6895 214.7246 192.7852 220.4824 192.7852 227.9023 c +192.7852 237.1152 183.9551 245.5586 175.127 245.5586 c +166.1055 245.5586 156.4473 237.5 156.4473 222.5293 c +156.4473 207.8164 166.4277 190.9258 182.293 190.9258 c +191.543 190.9258 199.4043 195.0957 205.4355 202.002 c +205.5156 202.0918 205.6484 202.1152 205.7539 202.0547 c +205.8594 201.9941 205.9063 201.8672 205.8672 201.752 c +201.4336 188.8164 203.9121 176.6074 210.6875 176.6074 c +214.002 176.6074 215.6895 178.9863 215.6895 181.5234 c +215.6895 184.1309 213.791 186.2852 210.7207 186.6777 c +210.5996 186.6934 210.5059 186.793 210.498 186.9141 c +210.4922 187.0352 210.5703 187.1465 210.6895 187.1758 c +217.5039 188.9395 224.5137 185.2285 224.5137 178.1328 c +224.5137 171.8555 219.1367 167.002 212.1016 167.002 c +201.4648 167.002 196.377 178.2715 198.6426 188.5371 C +193.1836 181.4922 185.0898 175.7012 173.4648 175.7012 c +149.9219 175.7012 138.0234 202.5703 138.0234 220.6113 c +138.0234 236.9883 141.3496 247.4785 148.2598 255.5391 C +140.1973 249.3984 136.8711 242.6172 135.3379 233.2773 C +129.1953 224.832 113.2031 224.832 v +106.5156 224.832 100.2734 227.3086 95.4297 231.998 C +95.4277 231.9961 95.4258 231.9941 95.4238 231.9902 C +95.3887 232.0313 95.3496 232.0703 95.3145 232.1094 C +94.9941 232.4238 94.6797 232.748 94.3711 233.082 C +89.3086 237.9316 79.1797 242.4785 69.9395 238.6797 c +69.834 238.6367 69.7129 238.6699 69.6426 238.7578 c +69.5723 238.8477 69.5703 238.9727 69.6377 239.0645 c +74.0449 245.0898 81.6621 247.0059 87.3164 246.1309 C +86.2715 249.8457 85.6934 254.0117 85.6934 258.6094 c +85.6934 275.0137 94.4922 286.5801 104.1055 292.2109 C +100.9512 296.0137 101.5957 301.9883 105.1367 306.0449 c +105.2168 306.1357 105.3477 306.1582 105.4531 306.0996 c +105.5566 306.041 105.6055 305.918 105.5703 305.8018 c +103.8398 300.2695 108.9629 295.6523 115.752 295.9004 c +115.875 295.9033 115.9824 295.8193 116.0098 295.6992 c +116.0352 295.5801 115.9707 295.457 115.8574 295.4111 c +105.7207 291.248 99 282.4316 99 271.4033 c +99 259.8906 105.9082 250.5488 117.041 250.5488 c +126.125 250.5488 135.209 258.8672 135.209 269.2285 c +135.209 277.2891 130.7305 282.0225 124.9727 282.0225 c +119.9844 282.0225 116.0176 278.5684 116.0176 274.4736 c +116.0176 268.6211 122.5996 266.499 126.1113 271.1309 c +126.1816 271.2227 126.3027 271.2559 126.4082 271.2129 c +126.5156 271.1699 126.5801 271.0625 126.5664 270.9482 c +126.043 266.5586 122.8145 262.4482 117.8086 262.4482 c +113.2031 262.4482 108.4688 266.2861 108.4688 274.4746 c +108.4688 284.1982 117.8066 294.0508 133.1602 294.0508 c +154.1426 294.0508 165.5313 270.3809 155.2969 251.4453 C +160.541 257.459 165.2754 263.8555 165.2754 275.2432 c +165.2754 296.75 144.0117 311.291 118.9219 302.7441 c +118.8027 302.7021 118.6719 302.7559 118.6152 302.8672 c +118.5566 302.9785 118.5879 303.1143 118.6895 303.1895 c +125.6953 308.2979 133.0332 315.8262 133.0332 328.4668 c +133.0332 341.6475 124.334 350.9854 110.7715 350.9854 c +100.2793 350.9854 93.627 344.5879 93.627 337.04 c +93.627 331.2822 97.3457 326.6768 103.7344 326.6768 c +113.2461 326.6768 116.4805 337.0195 111.5586 341.6445 c +111.4746 341.7236 111.4551 341.8516 111.5098 341.9521 c +111.5664 342.0547 111.6836 342.1055 111.7969 342.0762 c +116.5664 340.8398 121.1348 336.0068 121.1348 328.7236 c +121.1348 316.1855 109.4922 307.8682 96.6973 307.8682 c +90.7012 307.8682 84.8984 309.623 80.2266 312.9102 C +80.7773 317.0635 79.3574 321.6602 77.2598 324.752 C +79.209 317.8848 77.1016 306.5732 66.5859 306.5732 c +60.6953 306.5732 56.8008 311.1025 56.8008 316.4551 c +56.8008 322.7793 62.1465 325.7314 66.4961 325.125 c +66.6113 325.1104 66.7002 325.0186 66.7129 324.9023 c +66.7266 324.7891 66.6602 324.6797 66.5527 324.6367 c +64.9668 324.0293 63.6104 322.3691 63.6104 320.373 c +63.6104 317.873 65.5195 316.3906 67.5195 316.3906 c +70.8145 316.3906 72.6445 320.0605 71.4922 324.1104 C +71.5039 324.1104 L +70.4307 326.9473 69.8281 330.1152 69.8281 333.6055 c +69.8281 350.3672 88.0098 366.3398 110.9492 366.3398 c +135.1621 366.3398 148.0039 349.0664 148.0039 331.2822 c +148.0039 321.7461 144.4219 314.5225 139.8145 309.915 C +159.7363 312.0332 172.3125 303.5176 179.0938 291.2354 C +174.6152 287.3975 172.9531 281.7676 Y +178.3262 288.8057 187.5371 294.9453 200.459 294.9453 c +220.0352 294.9453 235.3906 275.7539 235.3906 255.1563 c +235.3906 242.084 230.5879 229.375 220.8262 220.9102 C +226.8633 215.8809 229.4727 208.5391 226.6973 202.6055 c +f +*U +*u +148.2109 327.9053 m +148.1777 327.7852 148.2383 327.6582 148.3516 327.6094 c +163.1758 321.0957 173.6367 308.6289 178.0059 294.2324 c +178.041 294.1152 178.1543 294.0391 178.2773 294.0527 c +178.3984 294.0664 178.4941 294.166 178.502 294.2871 c +179.2285 304.9434 176.127 315.4531 170 324.0234 C +184.1211 324.9648 195.2402 332.9297 202.1992 344.5723 C +206.3281 338.46 214.6504 338.7969 217.8594 345.6035 c +217.9102 345.708 217.8828 345.832 217.7949 345.9063 c +217.707 345.9805 217.5801 345.9873 217.4863 345.9219 c +213.2129 342.9688 205.8066 346.498 208.9277 357.9355 c +210.9805 365.4561 215.3711 369.4668 219.5254 368.333 c +222.791 367.4414 223.7656 364.002 223.0859 361.5146 c +221.9238 357.2539 217.4375 355.8623 214.4805 358.6357 c +214.3965 358.7158 214.2676 358.7285 214.1699 358.6641 c +214.0723 358.5986 214.0293 358.4775 214.0684 358.3662 c +214.9863 355.7852 216.5566 353.7285 219.6152 352.8936 c +224.8105 351.4756 231.6738 354.8115 233.8613 362.8252 c +236.2109 371.4316 231.7148 381.0566 223.6035 383.2715 c +212.2031 386.3818 204.1387 378.166 200.3926 368.2383 C +199.9258 372.8896 196.1074 377.3203 v +196.0313 377.4092 195.9043 377.4336 195.8008 377.3818 c +195.6973 377.3291 195.6426 377.2129 195.666 377.0996 c +197.1055 370.6641 196.957 363.8047 195.1094 357.0361 c +189.9434 338.1074 169.6621 326.0977 148.4785 328.0938 c +148.3535 328.1055 148.2402 328.0254 148.2109 327.9053 c +f +178.5801 240.1348 m +184.7734 233.666 197.0488 228.6133 207.6641 230.168 c +207.7852 230.1855 207.9004 230.1172 207.9395 230.0039 c +207.9805 229.8906 207.9355 229.7637 207.834 229.7012 c +202.1738 226.2617 190.8379 225.0723 179.5781 230.4609 C +176.4531 228.1035 173.6484 226.8496 170.1914 226.2715 c +170.0801 226.2539 169.9688 226.3125 169.9199 226.4141 c +169.873 226.5156 169.8984 226.6387 169.9844 226.7148 c +174.5449 230.6484 176.8281 234.6563 178.5801 240.1348 C +f +65.793 281.9121 m +65.6748 281.8711 65.5439 281.9258 65.4873 282.0371 c +65.4307 282.1484 65.4639 282.2852 65.5674 282.3594 c +72.6934 287.4785 78.4824 295.291 81.4199 306.0566 c +88.6797 332.6563 77.3262 353.792 61.2529 361.0146 c +61.1494 361.0605 61.0898 361.1689 61.1045 361.2803 c +61.1211 361.3926 61.208 361.4814 61.3193 361.4971 c +68.0742 362.4785 77.2617 361.6729 86.791 350.3486 c +92.4922 343.5732 95.7266 336.373 102.0137 334.6563 c +106.1211 333.5352 109.5098 334.9551 110.4121 338.2617 c +111.3613 341.7393 108.9961 344.8018 105.6523 345.7148 c +103.9648 346.1738 102.1621 346.1436 100.4141 345.6836 c +100.2988 345.6533 100.1816 345.7051 100.125 345.8086 c +100.0703 345.9121 100.0918 346.04 100.1797 346.1172 c +102.832 348.4746 106.8672 350.125 111.5703 348.8408 c +118.4902 346.9531 122.6602 339.457 120.4668 331.415 c +118.1035 322.7578 109.3691 317.5234 99.5859 320.1934 c +96.2324 321.1084 92.4492 323.168 89.7598 326.4648 C +91.5938 322.4551 93.0488 320.1855 96.8281 317.6133 C +95.8359 307.1035 91.3086 296.8271 83.4004 289.8389 C +89.2188 287.9863 93.6035 284.7207 96.5078 279.6855 c +96.5664 279.582 96.5449 279.4531 96.459 279.373 c +96.3691 279.293 96.2383 279.2832 96.1406 279.3535 c +89.1797 284.2344 76.9043 285.582 65.793 281.9121 c +f +49.1914 195.8809 m +45.1533 199.3105 43.9355 205.0469 45.4102 210.8672 c +45.4414 210.9883 45.5537 211.0684 45.6768 211.0566 c +45.8018 211.0469 45.8984 210.9492 45.9092 210.8281 c +46.0977 208.6543 46.9443 206.748 48.4912 205.4355 c +52.4707 202.0566 59.5557 203.834 64.4629 209.3828 c +64.5215 209.4492 64.6074 209.4805 64.6924 209.4668 c +64.7783 209.4531 64.8506 209.3984 64.8857 209.3203 c +67.1514 204.2539 72.1074 197.5938 85 194.0742 c +103.0234 189.1563 123.3789 196.1992 127.623 211.752 c +130.0488 220.6406 125.8301 229.4824 117.584 235.7109 C +122.0293 230.123 124.707 223.4238 122.6172 215.7695 c +119.5527 204.5391 105.1563 198.918 87.875 203.6348 c +71.582 208.0801 55.7061 224.748 59.8828 240.0547 c +62.1738 248.4492 70.6816 252.8887 79.4453 250.4961 c +87.2227 248.375 90.2832 242.1016 88.7324 236.4219 c +87.5664 232.1445 83.7402 230.0195 80.2148 229.9941 c +80.0957 229.9941 79.9922 230.0762 79.9648 230.1934 c +79.9414 230.3105 79.998 230.4277 80.1074 230.4785 c +81.1699 230.9688 82.1875 231.877 82.6504 233.5742 c +83.4258 236.4121 81.3906 238.5605 79.6348 239.0391 c +76.3018 239.9492 73.2822 238.1211 72.2705 234.416 c +70.8906 229.3574 75.3662 223.8906 82.5234 221.9355 c +91.4121 219.5117 101.8828 225.8066 104.207 234.3223 c +106.582 243.0254 101.3496 254.4648 86.9082 258.4063 c +72.7148 262.2813 53.792 257.0996 49.6152 241.793 c +47.1797 232.8691 49.1328 224.1875 54.207 216.5508 c +54.2734 216.4512 54.2607 216.3164 54.1748 216.2305 c +54.0879 216.1445 53.9531 216.1328 53.8525 216.2012 c +42.541 223.8828 30.1104 224.707 28.3262 218.1699 c +27.4531 214.9727 29.3037 212.7188 31.752 212.0508 c +34.2676 211.3652 36.8457 212.6289 38.0322 215.4883 c +38.0791 215.5996 38.2002 215.6641 38.3193 215.6406 c +38.4375 215.6133 38.5244 215.5098 38.5215 215.3867 c +38.4287 208.3477 33.0029 202.5625 26.1572 204.4316 c +20.1016 206.084 16.835 212.5488 18.6875 219.3359 c +21.4883 229.5977 33.6992 231.5391 43.0059 226.6504 C +37.6465 233.7715 34.1914 243.1035 37.252 254.3184 c +43.4502 277.0313 72.5039 281.4355 89.9082 276.6855 c +105.707 272.373 114.9512 266.4023 120.9082 257.6152 C +117.1074 267.0098 111.4414 272.0039 102.834 275.9434 C +96.3047 284.0918 100.5156 299.5195 v +102.2754 305.9707 106.3086 311.3418 112.1074 314.7793 C +112.1074 314.7813 112.1055 314.7842 112.1016 314.7871 C +112.1504 314.8105 112.1992 314.8379 112.2461 314.8613 C +112.6328 315.0879 113.0293 315.3057 113.4316 315.5146 C +119.4434 319.1211 126.4961 327.6973 125.2656 337.6113 c +125.252 337.7236 125.3145 337.832 125.418 337.877 c +125.5234 337.9219 125.6445 337.8896 125.7148 337.8018 c +130.3672 331.9629 130.2109 324.1104 127.8789 318.8857 C +131.7363 318.915 135.9082 318.375 140.3438 317.165 c +156.168 312.8457 165.0117 301.3135 167.9121 290.5566 C +172.4102 292.5977 178.0059 290.4043 180.9883 285.9199 c +181.0527 285.8184 181.041 285.6855 180.957 285.5996 c +180.873 285.5156 180.7402 285.5 180.6387 285.5645 c +175.7578 288.6914 169.9551 284.9648 168.4043 278.3496 c +168.377 278.2305 168.2676 278.1484 168.1445 278.1543 c +168.0215 278.1602 167.9199 278.2539 167.9063 278.377 c +166.5586 289.251 159.8223 298.0566 149.1836 300.96 c +138.0762 303.9922 127.2441 299.7852 124.3145 289.0469 c +121.9219 280.2832 127.5566 269.3301 137.5508 266.6016 c +145.3281 264.4785 151.0742 267.5527 152.5898 273.1074 c +153.9043 277.9199 151.6152 282.6563 147.666 283.7344 c +142.0176 285.2754 138.2383 279.4844 141.7832 274.877 c +141.8516 274.7852 141.8535 274.6602 141.7832 274.5684 c +141.7148 274.4766 141.5918 274.4434 141.4863 274.4863 c +137.3887 276.1465 134.2734 280.3418 135.5918 285.1729 c +136.8047 289.6152 141.7539 293.1729 149.6543 291.0166 c +159.0352 288.457 166.0801 276.8555 162.0371 262.043 c +156.5137 241.7988 130.6797 237.0449 115.1074 251.9043 C +119.5273 245.2617 124.4512 239.0098 135.4375 236.0117 c +156.1875 230.3496 175.8125 247.0332 174.1719 273.4902 c +174.1641 273.6152 174.25 273.7285 174.373 273.7539 c +174.4941 273.7813 174.6191 273.7129 174.6641 273.5977 c +177.7461 265.4922 183.0781 256.4316 195.2734 253.1035 c +207.9883 249.6328 219.2871 255.5664 222.8594 268.6504 c +225.6211 278.7734 221.2012 286.875 213.9199 288.8623 c +208.3652 290.3789 202.9414 288.0039 201.2598 281.8398 c +198.7559 272.6641 207.8828 266.8203 213.6406 270.3516 c +213.7383 270.4121 213.8672 270.3965 213.9492 270.3164 c +214.0332 270.2363 214.0508 270.1094 213.9922 270.0078 c +211.5449 265.7324 205.6797 262.5977 198.6543 264.5156 c +186.5566 267.8164 181.5996 281.2383 184.9668 293.5811 c +186.5449 299.3652 189.7676 304.502 194.168 308.1426 C +198.0293 306.5186 202.8379 306.6777 206.373 307.8867 C +199.2344 307.8154 188.8789 312.8262 191.6465 322.9707 c +193.1973 328.6533 198.5918 331.2188 203.7559 329.8086 c +209.8574 328.1436 211.2969 322.21 209.5684 318.1729 c +209.5215 318.0654 209.4102 318.0039 209.2969 318.0225 c +209.1816 318.04 209.0938 318.1318 209.082 318.2471 c +208.9141 319.9375 207.668 321.6836 205.7441 322.208 c +203.332 322.8662 201.3984 321.415 200.873 319.4854 c +200.0039 316.3066 203.0625 313.5752 207.2734 313.6211 C +207.2695 313.6094 L +210.2891 313.8984 213.5039 313.6445 216.8711 312.7266 c +233.041 308.3125 243.6641 286.5674 237.623 264.4375 c +231.248 241.0781 211.2051 233.2363 194.0469 237.9199 c +184.8477 240.4297 178.8223 245.7871 175.5898 251.4453 C +172.3887 231.668 160.8613 221.7793 147.2285 218.4707 C +144.7051 223.8008 139.7109 226.8867 Y +145.0859 219.8496 148.584 209.3477 145.1816 196.8809 c +140.0273 177.9961 117.4707 168.2344 97.5996 173.6582 c +84.9883 177.0996 73.9922 185.0801 68.3965 196.7266 C +61.9551 192.2266 54.1855 191.6406 49.1914 195.8809 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0 0 0 0 k + 0 0 0 0 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +196.1289 269.9688 m +196.0039 269.9688 195.8984 269.877 195.8789 269.7539 c +193.5 253.7402 184.2266 240.3652 171.4883 232.3594 c +171.3848 232.2949 171.3398 232.1641 171.3867 232.0508 c +171.4316 231.9375 171.5527 231.8711 171.6719 231.8965 c +182.1445 234 191.4648 239.7598 198.1211 247.9277 C +202.7461 234.5508 213.3574 225.9219 226.4219 222.2734 C +221.6133 216.6816 224.1289 208.7402 231.541 207.4375 c +231.6543 207.416 231.7656 207.4746 231.8145 207.5781 c +231.8633 207.6816 231.8359 207.8066 231.748 207.8809 c +227.7754 211.2266 229.2285 219.3008 241.0859 219.3008 c +248.8794 219.3008 253.9067 216.1211 253.9067 211.8145 c +253.9067 208.4297 250.8442 206.584 248.2642 206.584 c +243.8501 206.584 241.3262 210.5449 243.2227 214.127 c +243.2773 214.2305 243.2559 214.3574 243.168 214.4355 c +243.0801 214.5137 242.9512 214.5215 242.8535 214.4551 c +240.6055 212.8906 239.0352 210.834 239.0352 207.6641 c +239.0352 202.2773 244.061 196.5352 252.3677 196.5332 c +261.2896 196.5332 269.3911 203.4043 269.3911 211.8145 c +269.3911 223.6309 259.3423 229.248 248.7778 230.248 C +253.1431 231.9219 256.4106 236.7734 v +256.4771 236.8691 256.4673 236.998 256.3892 237.084 c +256.311 237.1719 256.1841 237.1934 256.0825 237.1387 c +250.2524 234.0566 243.5938 232.3945 236.5801 232.3945 c +216.957 232.3945 200.0332 248.7988 196.3809 269.7607 c +196.3594 269.8818 196.252 269.9727 196.1289 269.9688 c +f +119.4512 217.5625 m +114.8438 209.8867 113.1992 196.7129 117.4941 186.8809 c +117.543 186.7695 117.5078 186.6406 117.4082 186.5703 c +117.3086 186.502 117.1758 186.5117 117.0879 186.5957 c +112.2813 191.1484 108.1484 201.7715 110.3828 214.0527 C +107.2871 216.4473 105.3379 218.8223 103.8691 222.0059 c +103.8223 222.1074 103.8496 222.2305 103.9355 222.3047 c +104.0215 222.377 104.1465 222.3848 104.2422 222.3203 c +109.2383 218.959 113.7051 217.8125 119.4512 217.5625 C +f +130.0586 337.3691 m +129.9902 337.4727 130.0078 337.6133 130.0996 337.6973 c +130.1934 337.7813 130.334 337.7852 130.4316 337.7061 c +137.2461 332.1797 146.3066 328.6504 157.4668 328.6504 c +185.0371 328.6504 202.4395 345.1689 205.1738 362.5771 c +205.1914 362.6885 205.2813 362.7734 205.3926 362.7891 c +205.5039 362.8047 205.6133 362.7422 205.6582 362.6396 c +208.3828 356.3818 210.0254 347.3057 201.6094 335.1309 c +196.5742 327.8457 190.4785 322.8311 190.4785 316.3145 c +190.4785 312.0566 192.7402 309.1602 196.168 309.1602 c +199.7734 309.1602 202.1055 312.248 202.1035 315.7148 c +202.1035 317.4629 201.5996 319.1934 200.6953 320.7607 c +200.6367 320.8633 200.6543 320.9902 200.7402 321.0723 c +200.8242 321.1523 200.9551 321.165 201.0527 321.1016 c +204.0254 319.1641 206.6797 315.7021 206.6797 310.8281 c +206.6797 303.6563 200.5469 297.6602 192.209 297.6602 c +183.2363 297.6602 175.8867 304.709 175.8867 314.8477 c +175.8867 318.3262 176.875 322.5156 179.3496 325.9805 C +175.9648 323.1523 174.1582 321.1523 172.6719 316.8271 C +162.2715 315.0186 151.166 316.6797 142.3398 322.4727 C +142.0859 316.3711 140.0898 311.2793 135.998 307.1533 c +135.9141 307.0684 135.7832 307.0547 135.6836 307.1182 c +135.582 307.1816 135.541 307.3066 135.5801 307.4189 c +138.457 315.4199 136.5234 327.6152 130.0586 337.3691 c +f +42.6934 330.7344 m +44.9375 335.5352 50.1523 338.2188 56.1543 338.3271 c +56.2793 338.3311 56.3867 338.2432 56.4082 338.1211 c +56.4316 337.998 56.3633 337.8779 56.248 337.8359 c +54.2012 337.082 52.5859 335.7637 51.7266 333.9258 c +49.5137 329.1973 53.0938 322.8301 59.7402 319.5566 c +59.8184 319.5186 59.8711 319.4434 59.8809 319.3594 c +59.8906 319.2725 59.8555 319.1885 59.791 319.1318 c +55.5 315.6143 50.3789 309.0781 50.3789 295.7148 c +50.377 277.0322 62.5332 259.25 78.6543 259.25 c +87.8672 259.25 95.2871 265.6465 99.125 275.2422 C +94.9023 269.4844 89.1445 265.1348 81.2109 265.1348 c +69.5703 265.1348 60.3574 277.5439 60.3555 295.459 c +60.3555 312.3457 72.2578 332.0518 88.1211 332.0508 c +96.8242 332.0488 103.3477 325.0117 103.3477 315.9277 c +103.3477 307.8672 98.1016 303.2637 92.2168 303.2637 c +87.7793 303.2637 84.7227 306.3936 83.7715 309.7871 c +83.7383 309.9023 83.791 310.0254 83.8965 310.0811 c +84.0039 310.1357 84.1328 310.1104 84.2109 310.0186 c +84.9629 309.124 86.1074 308.3809 87.8652 308.3809 c +90.8086 308.3789 92.3438 310.9082 92.3438 312.7285 c +92.3438 316.1836 89.7852 318.6152 85.9453 318.6152 c +80.7031 318.6152 76.6055 312.8564 76.6055 305.4385 c +76.6055 296.2236 85.4355 287.7813 94.2637 287.7813 c +103.2852 287.7813 112.9434 295.8408 112.9434 310.8125 c +112.9414 325.5234 102.9648 342.4141 87.0977 342.4141 c +77.8477 342.4141 69.9844 338.2441 63.9551 331.3398 c +63.875 331.248 63.7422 331.2246 63.6387 331.2852 c +63.5313 331.3477 63.4844 331.4727 63.5234 331.5879 c +67.957 344.5234 65.4766 356.7344 58.7031 356.7324 c +55.3887 356.7324 53.7012 354.3535 53.7012 351.8154 c +53.7012 349.21 55.5996 347.0566 58.6699 346.6611 c +58.791 346.6475 58.8828 346.5479 58.8926 346.4268 c +58.8984 346.3047 58.8184 346.1943 58.7012 346.1641 c +51.8867 344.4004 44.877 348.1133 44.877 355.2061 c +44.877 361.4854 50.2539 366.3398 57.2891 366.3398 c +67.9258 366.3379 73.0137 355.0684 70.748 344.8047 C +76.207 351.8486 84.3008 357.6396 95.9258 357.6396 c +119.4688 357.6396 131.3672 330.7715 131.3672 312.7285 c +131.3672 296.3525 128.041 285.8604 121.1309 277.8018 C +129.1934 283.9404 132.5195 290.7227 134.0547 300.0645 C +140.1953 308.5078 156.1875 308.5078 v +162.875 308.5078 169.1172 306.0322 173.9609 301.3438 C +173.9629 301.3447 173.9648 301.3477 173.9668 301.3486 C +174.002 301.3105 174.0391 301.2695 174.0762 301.2314 C +174.3965 300.915 174.7109 300.5918 175.0195 300.2578 C +180.0801 295.4102 190.2109 290.8633 199.4512 294.6602 c +199.5566 294.7031 199.6777 294.6699 199.748 294.582 c +199.8184 294.4932 199.8184 294.3672 199.752 294.2754 c +195.3457 288.252 187.7285 286.335 182.0742 287.21 C +183.1172 283.4941 183.6953 279.3281 183.6953 274.7305 c +183.6973 258.3262 174.8984 246.7598 165.2852 241.1289 C +168.4375 237.3281 167.7949 231.3535 164.2539 227.2949 c +164.1738 227.2051 164.043 227.1816 163.9375 227.2402 c +163.834 227.2988 163.7832 227.4238 163.8184 227.5391 c +165.5508 233.0703 160.4277 237.6875 153.6387 237.4395 c +153.5156 237.4355 153.4063 237.5195 153.3809 237.6406 c +153.3555 237.7617 153.418 237.8828 153.5332 237.9277 c +163.668 242.0918 170.3906 250.9102 170.3887 261.9355 c +170.3906 273.4492 163.4805 282.79 152.3496 282.79 c +143.2656 282.79 134.1816 274.4727 134.1816 264.1133 c +134.1816 256.0508 138.6582 251.3184 144.416 251.3164 c +149.4063 251.3184 153.373 254.7715 153.373 258.8672 c +153.373 264.7188 146.7891 266.8408 143.2773 262.209 c +143.209 262.1172 143.0859 262.084 142.9805 262.127 c +142.875 262.1689 142.8105 262.2773 142.8223 262.3926 c +143.3457 266.7813 146.5762 270.8926 151.582 270.8926 c +156.1875 270.8926 160.9219 267.0518 160.9219 258.8652 c +160.9219 249.1406 151.584 239.291 136.2305 239.2891 c +115.2461 239.2891 103.8594 262.959 114.0938 281.8945 C +108.8496 275.8809 104.1152 269.4844 104.1152 258.0977 c +104.1133 236.5898 125.3789 222.0488 150.4688 230.5977 c +150.5879 230.6367 150.7188 230.584 150.7754 230.4746 c +150.834 230.3633 150.8008 230.2266 150.6992 230.1523 c +143.6934 225.043 136.3555 217.5137 136.3555 204.873 c +136.3555 191.6934 145.0547 182.3535 158.6191 182.3535 c +169.1094 182.3535 175.7637 188.752 175.7637 196.2988 c +175.7637 202.0566 172.0449 206.6641 165.6563 206.6641 c +156.1426 206.6641 152.9082 196.3203 157.832 191.6953 c +157.916 191.6152 157.9355 191.4902 157.8809 191.3887 c +157.8242 191.2871 157.7051 191.2344 157.5938 191.2637 c +152.8242 192.5 148.2559 197.332 148.2559 204.6152 c +148.2539 217.1563 159.8965 225.4727 172.6914 225.4727 c +178.6875 225.4727 184.4902 223.7188 189.1641 220.4297 C +188.6113 216.2773 190.0313 211.6816 192.1309 208.5879 C +190.1816 215.457 192.291 226.7656 202.8027 226.7676 c +208.6953 226.7656 212.5898 222.2383 212.5898 216.8867 c +212.5898 210.5605 207.2441 207.6094 202.8945 208.2148 c +202.7793 208.2305 202.6895 208.3223 202.6758 208.4375 c +202.6641 208.5527 202.7305 208.6602 202.8379 208.7031 c +204.4238 209.3105 205.7813 210.9727 205.7813 212.9668 c +205.7813 215.4668 203.8691 216.9492 201.8691 216.9492 c +198.5762 216.9492 196.7461 213.2793 197.8984 209.2305 C +197.8867 209.2285 L +198.959 206.3926 199.5605 203.2246 199.5605 199.7363 c +199.5605 182.9746 181.3809 167.002 158.4395 167 c +134.2285 167 121.3867 184.2734 121.3887 202.0566 c +121.3887 211.5938 124.9688 218.8184 129.5762 223.4258 C +109.6543 221.3066 97.0781 229.8223 90.2969 242.1035 C +94.7754 245.9414 96.4375 251.5723 Y +91.0645 244.5352 81.8535 238.3945 68.9316 238.3945 c +49.3555 238.3945 34 257.5859 34 278.1836 c +34 291.2568 38.8027 303.9648 48.5645 312.4307 C +42.5273 317.459 39.918 324.8018 42.6934 330.7344 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0.35 0.6 0.8 0.25 k + 0.35 0.6 0.8 0.25 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +407.2622 430.3711 m +407.3872 430.3711 407.4927 430.4629 407.5103 430.585 c +409.8911 446.5996 419.1646 459.9746 431.9028 467.9814 c +432.0063 468.0449 432.0493 468.1758 432.0044 468.29 c +431.9575 468.4023 431.8384 468.4688 431.7173 468.4443 c +421.2466 466.3398 411.9243 460.5811 405.27 452.4141 C +400.645 465.7891 390.0337 474.418 376.9692 478.0654 C +381.7778 483.6582 379.2622 491.5986 371.8501 492.9023 c +371.7368 492.9229 371.6255 492.8643 371.5767 492.7607 c +371.5278 492.6563 371.5552 492.5322 371.6431 492.46 c +375.6157 489.1143 374.1626 481.04 362.3052 481.04 c +354.5103 481.04 349.4849 484.2188 349.4849 488.5254 c +349.4849 491.9102 352.5474 493.7559 355.1255 493.7559 c +359.5415 493.7559 362.0649 489.7949 360.1685 486.2129 c +360.1138 486.1104 360.1353 485.9814 360.2231 485.9033 c +360.311 485.8271 360.4399 485.8184 360.5376 485.8857 c +362.7856 487.4492 364.356 489.5059 364.356 492.6768 c +364.356 498.0635 359.3306 503.8066 351.0239 503.8066 c +342.1021 503.8066 334.0005 496.9355 334.0005 488.5254 c +334.0005 476.71 344.0493 471.0918 354.6138 470.0918 C +350.2485 468.4189 346.981 463.5664 v +346.9146 463.4697 346.9243 463.3418 347.0024 463.2559 c +347.0806 463.1689 347.2056 463.1475 347.3091 463.2012 c +353.1392 466.2822 359.7954 467.9453 366.811 467.9453 c +386.4321 467.9453 403.3579 451.541 407.0103 430.5801 c +407.0317 430.4561 407.1392 430.3691 407.2622 430.3711 c +f +483.9399 482.7773 m +488.5493 490.4551 490.1919 503.627 485.897 513.46 c +485.8481 513.5703 485.8833 513.6992 485.9829 513.7686 c +486.0806 513.8379 486.2153 513.8281 486.3032 513.7461 c +491.1099 509.1914 495.2427 498.5684 493.0083 486.2871 C +496.106 483.8936 498.0532 481.5176 499.522 478.335 c +499.5688 478.2314 499.5415 478.1104 499.4556 478.0352 c +499.3696 477.9629 499.2446 477.9551 499.1489 478.0186 c +494.1528 481.3809 489.686 482.5283 483.9399 482.7773 C +f +473.3306 362.9707 m +473.4009 362.8672 473.3833 362.7266 473.2915 362.6426 c +473.1978 362.5586 473.0571 362.5547 472.9595 362.6348 c +466.145 368.1621 457.0845 371.6895 445.9243 371.6895 c +418.3521 371.6895 400.9517 355.1719 398.2173 337.7637 c +398.1997 337.6523 398.1099 337.5664 397.9985 337.5508 c +397.8872 337.5371 397.7778 337.5977 397.7329 337.7012 c +395.0083 343.959 393.3657 353.0352 401.7817 365.209 c +406.8169 372.4941 412.9106 377.5098 412.9106 384.0273 c +412.9106 388.2852 410.6509 391.1797 407.2231 391.1797 c +403.6177 391.1797 401.2876 388.0918 401.2876 384.625 c +401.2876 382.877 401.7915 381.1465 402.6958 379.5801 c +402.7544 379.4766 402.7368 379.3496 402.6509 379.2676 c +402.5649 379.1875 402.436 379.1758 402.3384 379.2402 c +399.3657 381.1777 396.7114 384.6367 396.7114 389.5117 c +396.7114 396.6836 402.8442 402.6816 411.1802 402.6816 c +420.1548 402.6816 427.5044 395.6328 427.5044 385.4922 c +427.5044 382.0156 426.5142 377.8242 424.0415 374.3613 C +427.4263 377.1875 429.2329 379.1875 430.7192 383.5117 C +441.1196 385.3223 452.2251 383.6602 461.0493 377.8691 C +461.3052 383.9707 463.3013 389.0605 467.3931 393.1875 c +467.4771 393.2715 467.6079 393.2852 467.7075 393.2227 c +467.8091 393.1582 467.8521 393.0332 467.811 392.9219 c +464.9341 384.9199 466.8657 372.7246 473.3306 362.9707 c +f +560.6978 369.6055 m +558.4517 364.8066 553.2388 362.1211 547.2368 362.0117 c +547.1118 362.0098 547.0044 362.0977 546.9829 362.2188 c +546.9595 362.3418 547.0278 362.4609 547.1431 362.5039 c +549.1899 363.2578 550.8052 364.5762 551.6646 366.4141 c +553.8774 371.1426 550.2974 377.5098 543.6509 380.7832 c +543.5728 380.8223 543.52 380.8965 543.5103 380.9824 c +543.5005 381.0684 543.5337 381.1523 543.6001 381.207 c +547.8911 384.7266 553.0122 391.2617 553.0122 404.627 c +553.0122 423.3086 540.8579 441.0898 524.7368 441.0898 c +515.5239 441.0898 508.104 434.6934 504.2661 425.0977 C +508.4868 430.8564 514.2446 435.2051 522.1782 435.2051 c +533.8208 435.2051 543.0337 422.7969 543.0337 404.8828 c +543.0337 387.9941 531.1333 368.2891 515.2681 368.2891 c +506.5669 368.2891 500.0435 375.3281 500.0435 384.4121 c +500.0435 392.4746 505.2896 397.0781 511.1763 397.0781 c +515.6099 397.0781 518.6685 393.9473 519.6196 390.5527 c +519.6509 390.4375 519.6001 390.3164 519.4927 390.2598 c +519.3872 390.2051 519.2583 390.2305 519.1802 390.3223 c +518.4282 391.2168 517.2837 391.9609 515.5259 391.9609 c +512.5825 391.9609 511.0474 389.4316 511.0474 387.6113 c +511.0474 384.1563 513.606 381.7246 517.4458 381.7246 c +522.6899 381.7246 526.7856 387.4824 526.7856 394.9023 c +526.7856 404.1152 517.9556 412.5586 509.1274 412.5586 c +500.106 412.5586 490.4478 404.5 490.4478 389.5293 c +490.4478 374.8164 500.4282 357.9258 516.2935 357.9258 c +525.5435 357.9258 533.4048 362.0957 539.436 369.002 c +539.5161 369.0918 539.6489 369.1152 539.7544 369.0547 c +539.8599 368.9941 539.9067 368.8672 539.8677 368.752 c +535.4341 355.8164 537.9126 343.6074 544.688 343.6074 c +548.0024 343.6074 549.6899 345.9863 549.6899 348.5234 c +549.6899 351.1309 547.7915 353.2852 544.7212 353.6777 c +544.6001 353.6934 544.5063 353.793 544.4985 353.9141 c +544.4927 354.0352 544.5708 354.1465 544.6899 354.1758 c +551.5044 355.9395 558.5142 352.2285 558.5142 345.1328 c +558.5142 338.8555 553.1372 334.002 546.1021 334.002 c +535.4653 334.002 530.3774 345.2715 532.6431 355.5371 C +527.1841 348.4922 519.0903 342.7012 507.4653 342.7012 c +483.9224 342.7012 472.0239 369.5703 472.0239 387.6113 c +472.0239 403.9883 475.3501 414.4785 482.2603 422.5391 C +474.1978 416.3984 470.8716 409.6172 469.3384 400.2773 C +463.1958 391.832 447.2036 391.832 v +440.5161 391.832 434.2739 394.3086 429.4302 398.998 C +429.4282 398.9961 429.4263 398.9941 429.4243 398.9902 C +429.3892 399.0313 429.3501 399.0703 429.3149 399.1094 C +428.9946 399.4238 428.6802 399.748 428.3716 400.082 C +423.3091 404.9316 413.1802 409.4785 403.9399 405.6797 c +403.8345 405.6367 403.7134 405.6699 403.6431 405.7578 c +403.5728 405.8477 403.5708 405.9727 403.6392 406.0645 c +408.0454 412.0898 415.6626 414.0059 421.3169 413.1309 C +420.272 416.8457 419.6938 421.0117 419.6938 425.6094 c +419.6938 442.0137 428.4927 453.5801 438.106 459.2109 C +434.9517 463.0137 435.5962 468.9883 439.1372 473.0449 c +439.2173 473.1357 439.3481 473.1582 439.4536 473.0996 c +439.5571 473.041 439.606 472.918 439.5708 472.8018 c +437.8403 467.2695 442.9634 462.6523 449.7524 462.9004 c +449.8755 462.9033 449.9829 462.8193 450.0103 462.6992 c +450.0356 462.5801 449.9712 462.457 449.8579 462.4111 c +439.7212 458.248 433.0005 449.4316 433.0005 438.4033 c +433.0005 426.8906 439.9087 417.5488 451.0415 417.5488 c +460.1255 417.5488 469.2095 425.8672 469.2095 436.2285 c +469.2095 444.2891 464.731 449.0225 458.9731 449.0225 c +453.9849 449.0225 450.0181 445.5684 450.0181 441.4736 c +450.0181 435.6211 456.6001 433.499 460.1118 438.1309 c +460.1821 438.2227 460.3032 438.2559 460.4087 438.2129 c +460.5161 438.1699 460.5806 438.0625 460.5669 437.9482 c +460.0435 433.5586 456.8149 429.4482 451.8091 429.4482 c +447.2036 429.4482 442.4692 433.2861 442.4692 441.4746 c +442.4692 451.1982 451.8071 461.0508 467.1606 461.0508 c +488.1431 461.0508 499.5317 437.3809 489.2974 418.4453 C +494.5415 424.459 499.2759 430.8555 499.2759 442.2432 c +499.2759 463.75 478.0122 478.291 452.9224 469.7441 c +452.8032 469.7021 452.6724 469.7559 452.6157 469.8672 c +452.5571 469.9785 452.5884 470.1143 452.6899 470.1895 c +459.6958 475.2979 467.0337 482.8262 467.0337 495.4668 c +467.0337 508.6475 458.3345 517.9854 444.772 517.9854 c +434.2798 517.9854 427.6274 511.5879 427.6274 504.04 c +427.6274 498.2822 431.3462 493.6768 437.7349 493.6768 c +447.2466 493.6768 450.481 504.0195 445.5591 508.6445 c +445.4751 508.7236 445.4556 508.8516 445.5103 508.9521 c +445.5669 509.0547 445.6841 509.1055 445.7974 509.0762 c +450.5669 507.8398 455.1353 503.0068 455.1353 495.7236 c +455.1353 483.1855 443.4927 474.8682 430.6978 474.8682 c +424.7017 474.8682 418.8989 476.623 414.2271 479.9102 C +414.7778 484.0635 413.3579 488.6602 411.2603 491.752 C +413.2095 484.8848 411.1021 473.5732 400.5864 473.5732 c +394.6958 473.5732 390.8013 478.1025 390.8013 483.4551 c +390.8013 489.7793 396.147 492.7314 400.4966 492.125 c +400.6118 492.1104 400.7017 492.0186 400.7134 491.9023 c +400.7271 491.7891 400.6606 491.6797 400.5532 491.6367 c +398.9673 491.0293 397.6118 489.3691 397.6118 487.373 c +397.6118 484.873 399.52 483.3906 401.52 483.3906 c +404.8149 483.3906 406.645 487.0605 405.4927 491.1104 C +405.5044 491.1104 L +404.4321 493.9473 403.8286 497.1152 403.8286 500.6055 c +403.8286 517.3672 422.0103 533.3398 444.9497 533.3398 c +469.1626 533.3398 482.0044 516.0664 482.0044 498.2822 c +482.0044 488.7461 478.4224 481.5225 473.8149 476.915 C +493.7368 479.0332 506.313 470.5176 513.0942 458.2354 C +508.6157 454.3975 506.9536 448.7676 Y +512.3267 455.8057 521.5376 461.9453 534.4595 461.9453 c +554.0356 461.9453 569.3911 442.7539 569.3911 422.1563 c +569.3911 409.084 564.5884 396.375 554.8267 387.9102 C +560.8638 382.8809 563.4731 375.5391 560.6978 369.6055 c +f +*U +*u +482.2114 494.9053 m +482.1782 494.7852 482.2388 494.6582 482.3521 494.6094 c +497.1763 488.0957 507.6372 475.6289 512.0063 461.2324 c +512.0415 461.1152 512.1548 461.0391 512.2778 461.0527 c +512.3989 461.0664 512.4946 461.166 512.5024 461.2871 c +513.229 471.9434 510.1274 482.4531 504.0005 491.0234 C +518.1216 491.9648 529.2407 499.9297 536.1997 511.5723 C +540.3286 505.46 548.6509 505.7969 551.8599 512.6035 c +551.9106 512.708 551.8833 512.832 551.7954 512.9063 c +551.7075 512.9805 551.5806 512.9873 551.4868 512.9219 c +547.2134 509.9688 539.8071 513.498 542.9282 524.9355 c +544.981 532.4561 549.3716 536.4668 553.5259 535.333 c +556.7915 534.4414 557.7661 531.002 557.0864 528.5146 c +555.9243 524.2539 551.438 522.8623 548.481 525.6357 c +548.397 525.7158 548.2681 525.7285 548.1704 525.6641 c +548.0728 525.5986 548.0298 525.4775 548.0688 525.3662 c +548.9868 522.7852 550.5571 520.7285 553.6157 519.8936 c +558.811 518.4756 565.6743 521.8115 567.8618 529.8252 c +570.2114 538.4316 565.7153 548.0566 557.604 550.2715 c +546.2036 553.3818 538.1392 545.166 534.3931 535.2383 C +533.9263 539.8896 530.1079 544.3203 v +530.0317 544.4092 529.9048 544.4336 529.8013 544.3818 c +529.6978 544.3291 529.6431 544.2129 529.6665 544.0996 c +531.106 537.6641 530.9575 530.8047 529.1099 524.0361 c +523.9438 505.1074 503.6626 493.0977 482.479 495.0938 c +482.354 495.1055 482.2407 495.0254 482.2114 494.9053 c +f +512.5806 407.1348 m +518.7739 400.666 531.0493 395.6133 541.6646 397.168 c +541.7856 397.1855 541.9009 397.1172 541.9399 397.0039 c +541.981 396.8906 541.936 396.7637 541.8345 396.7012 c +536.1743 393.2617 524.8384 392.0723 513.5786 397.4609 C +510.4536 395.1035 507.6489 393.8496 504.1919 393.2715 c +504.0806 393.2539 503.9692 393.3125 503.9204 393.4141 c +503.8735 393.5156 503.8989 393.6387 503.9849 393.7148 c +508.5454 397.6484 510.8286 401.6563 512.5806 407.1348 C +f +399.7935 448.9121 m +399.6763 448.8711 399.5454 448.9258 399.4888 449.0371 c +399.4321 449.1484 399.4653 449.2852 399.5688 449.3594 c +406.6938 454.4785 412.4829 462.291 415.4204 473.0566 c +422.6802 499.6563 411.3267 520.7921 395.2544 528.0146 c +395.1509 528.0605 395.0903 528.1689 395.106 528.2803 c +395.1216 528.3926 395.2095 528.4814 395.3208 528.4971 c +402.0747 529.4785 411.2622 528.6729 420.7915 517.3486 c +426.4927 510.5732 429.7271 503.373 436.0142 501.6563 c +440.1216 500.5352 443.5103 501.9551 444.4126 505.2617 c +445.3618 508.7393 442.9966 511.8018 439.6528 512.7148 c +437.9653 513.1738 436.1626 513.1436 434.4146 512.6836 c +434.2993 512.6533 434.1821 512.7051 434.1255 512.8086 c +434.0708 512.9121 434.0923 513.04 434.1802 513.1172 c +436.8325 515.4746 440.8677 517.125 445.5708 515.8408 c +452.4907 513.9531 456.6606 506.457 454.4673 498.415 c +452.104 489.7578 443.3696 484.5234 433.5864 487.1934 c +430.2329 488.1084 426.4497 490.168 423.7603 493.4648 C +425.5942 489.4551 427.0493 487.1855 430.8286 484.6133 C +429.8364 474.1035 425.3091 463.8271 417.4009 456.8389 C +423.2192 454.9863 427.604 451.7207 430.5083 446.6855 c +430.5669 446.582 430.5454 446.4531 430.4595 446.373 c +430.3696 446.293 430.2388 446.2832 430.1411 446.3535 c +423.1802 451.2344 410.9048 452.582 399.7935 448.9121 c +f +383.1919 362.8809 m +379.1548 366.3105 377.936 372.0469 379.4106 377.8672 c +379.4419 377.9883 379.5552 378.0684 379.6782 378.0566 c +379.8032 378.0469 379.8989 377.9492 379.9106 377.8281 c +380.0981 375.6543 380.9458 373.748 382.4927 372.4355 c +386.4712 369.0566 393.5571 370.834 398.4634 376.3828 c +398.522 376.4492 398.6079 376.4805 398.6938 376.4668 c +398.7798 376.4531 398.8521 376.3984 398.8872 376.3203 c +401.1528 371.2539 406.1079 364.5938 419.0005 361.0742 c +437.0239 356.1563 457.3794 363.1992 461.6235 378.752 c +464.0493 387.6406 459.8306 396.4824 451.5845 402.7109 C +456.0298 397.123 458.7075 390.4238 456.6177 382.7695 c +453.5532 371.5391 439.1567 365.918 421.8755 370.6348 c +405.5825 375.0801 389.7075 391.748 393.8833 407.0547 c +396.1743 415.4492 404.6821 419.8887 413.4458 417.4961 c +421.2231 415.375 424.2837 409.1016 422.7329 403.4219 c +421.5669 399.1445 417.7407 397.0195 414.2153 396.9941 c +414.0962 396.9941 413.9927 397.0762 413.9653 397.1934 c +413.9419 397.3105 413.9985 397.4277 414.1079 397.4785 c +415.1704 397.9688 416.188 398.877 416.6509 400.5742 c +417.4263 403.4121 415.3911 405.5605 413.6353 406.0391 c +410.3032 406.9492 407.2837 405.1211 406.272 401.416 c +404.8911 396.3574 409.3677 390.8906 416.5239 388.9355 c +425.4126 386.5117 435.8833 392.8066 438.2075 401.3223 c +440.5825 410.0254 435.3501 421.4648 420.9087 425.4063 c +406.7153 429.2813 387.7935 424.0996 383.6157 408.793 c +381.1802 399.8691 383.1333 391.1875 388.2075 383.5508 c +388.2739 383.4512 388.2622 383.3164 388.1763 383.2305 c +388.0884 383.1445 387.9536 383.1328 387.854 383.2012 c +376.5415 390.8828 364.1118 391.707 362.3267 385.1699 c +361.4536 381.9727 363.3052 379.7188 365.7524 379.0508 c +368.2681 378.3652 370.8462 379.6289 372.0337 382.4883 c +372.0806 382.5996 372.2017 382.6641 372.3208 382.6406 c +372.438 382.6133 372.5259 382.5098 372.522 382.3867 c +372.4302 375.3477 367.0044 369.5625 360.1587 371.4316 c +354.1021 373.084 350.8364 379.5488 352.688 386.3359 c +355.4888 396.5977 367.6997 398.5391 377.0063 393.6504 C +371.647 400.7715 368.1919 410.1035 371.2524 421.3184 c +377.4517 444.0313 406.5044 448.4355 423.9087 443.6855 c +439.7075 439.373 448.9517 433.4023 454.9087 424.6152 C +451.1079 434.0098 445.4419 439.0039 436.8345 442.9434 C +430.3052 451.0918 434.5161 466.5195 v +436.2759 472.9707 440.3091 478.3418 446.1079 481.7793 C +446.1079 481.7813 446.106 481.7842 446.1021 481.7871 C +446.1509 481.8105 446.1997 481.8379 446.2466 481.8613 C +446.6333 482.0879 447.0298 482.3057 447.4321 482.5146 C +453.4438 486.1211 460.4966 494.6973 459.2661 504.6113 c +459.2524 504.7236 459.3149 504.832 459.4185 504.877 c +459.5239 504.9219 459.645 504.8896 459.7153 504.8018 c +464.3677 498.9629 464.2114 491.1104 461.8794 485.8857 C +465.7368 485.915 469.9087 485.375 474.3442 484.165 c +490.1685 479.8457 499.0122 468.3135 501.9126 457.5566 C +506.4106 459.5977 512.0063 457.4043 514.9888 452.9199 c +515.0532 452.8184 515.0415 452.6855 514.9575 452.5996 c +514.8735 452.5156 514.7407 452.5 514.6392 452.5645 c +509.7583 455.6914 503.9556 451.9648 502.4048 445.3496 c +502.3774 445.2305 502.2681 445.1484 502.145 445.1543 c +502.022 445.1602 501.9204 445.2539 501.9067 445.377 c +500.5591 456.251 493.8228 465.0566 483.1841 467.96 c +472.0767 470.9922 461.2446 466.7852 458.3149 456.0469 c +455.9224 447.2832 461.5571 436.3301 471.5513 433.6016 c +479.3286 431.4785 485.0747 434.5527 486.5903 440.1074 c +487.9048 444.9199 485.6157 449.6563 481.6665 450.7344 c +476.0181 452.2754 472.2388 446.4844 475.7837 441.877 c +475.8521 441.7852 475.854 441.6602 475.7837 441.5684 c +475.7153 441.4766 475.5923 441.4434 475.4868 441.4863 c +471.3892 443.1465 468.2739 447.3418 469.5923 452.1729 c +470.8052 456.6152 475.7544 460.1729 483.6548 458.0166 c +493.0356 455.457 500.0806 443.8555 496.0376 429.043 c +490.5142 408.7988 464.6802 404.0449 449.1079 418.9043 C +453.5278 412.2617 458.4517 406.0098 469.438 403.0117 c +490.188 397.3496 509.813 414.0332 508.1724 440.4902 c +508.1646 440.6152 508.2505 440.7285 508.3735 440.7539 c +508.4946 440.7813 508.6196 440.7129 508.6646 440.5977 c +511.7466 432.4922 517.0786 423.4316 529.2739 420.1035 c +541.9888 416.6328 553.2876 422.5664 556.8599 435.6504 c +559.6216 445.7734 555.2017 453.875 547.9204 455.8623 c +542.3657 457.3789 536.9419 455.0039 535.2603 448.8398 c +532.7563 439.6641 541.8833 433.8203 547.6411 437.3516 c +547.7388 437.4121 547.8677 437.3965 547.9497 437.3164 c +548.0337 437.2363 548.0513 437.1094 547.9927 437.0078 c +545.5454 432.7324 539.6802 429.5977 532.6548 431.5156 c +520.5571 434.8164 515.6001 448.2383 518.9673 460.5811 c +520.5454 466.3652 523.7681 471.502 528.1685 475.1426 C +532.0298 473.5186 536.8384 473.6777 540.3735 474.8867 C +533.2349 474.8154 522.8794 479.8262 525.647 489.9707 c +527.1978 495.6533 532.5923 498.2188 537.7563 496.8086 c +543.8579 495.1436 545.2974 489.21 543.5688 485.1729 c +543.522 485.0654 543.4106 485.0039 543.2974 485.0225 c +543.1821 485.04 543.0942 485.1318 543.0825 485.2471 c +542.9146 486.9375 541.6685 488.6836 539.7446 489.208 c +537.3325 489.8662 535.3989 488.415 534.8735 486.4854 c +534.0044 483.3066 537.063 480.5752 541.2739 480.6211 C +541.27 480.6094 L +544.2896 480.8984 547.5044 480.6445 550.8716 479.7266 c +567.0415 475.3125 577.6646 453.5674 571.6235 431.4375 c +565.2485 408.0781 545.2056 400.2363 528.0474 404.9199 c +518.8481 407.4297 512.8228 412.7871 509.5903 418.4453 C +506.3892 398.668 494.8618 388.7793 481.229 385.4707 C +478.7056 390.8008 473.7114 393.8867 Y +479.0864 386.8496 482.5845 376.3477 479.1821 363.8809 c +474.0278 344.9961 451.4712 335.2344 431.6001 340.6582 c +418.9888 344.0996 407.9927 352.0801 402.397 363.7266 C +395.9556 359.2266 388.186 358.6406 383.1919 362.8809 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0 0 0 0 k + 0 0 0 0 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +530.1294 436.9688 m +530.0044 436.9688 529.8989 436.877 529.8794 436.7539 c +527.5005 420.7402 518.2271 407.3652 505.4888 399.3594 c +505.3853 399.2949 505.3403 399.1641 505.3872 399.0508 c +505.4321 398.9375 505.5532 398.8711 505.6724 398.8965 c +516.145 401 525.4653 406.7598 532.1216 414.9277 C +536.7466 401.5508 547.3579 392.9219 560.4224 389.2734 C +555.6138 383.6816 558.1294 375.7402 565.5415 374.4375 c +565.6548 374.416 565.7661 374.4746 565.8149 374.5781 c +565.8638 374.6816 565.8364 374.8066 565.7485 374.8809 c +561.7759 378.2266 563.229 386.3008 575.0864 386.3008 c +582.8804 386.3008 587.9077 383.1211 587.9077 378.8145 c +587.9077 375.4297 584.8452 373.584 582.2651 373.584 c +577.8511 373.584 575.3267 377.5449 577.2231 381.127 c +577.2778 381.2305 577.2563 381.3574 577.1685 381.4355 c +577.0806 381.5137 576.9517 381.5215 576.854 381.4551 c +574.606 379.8906 573.0356 377.834 573.0356 374.6641 c +573.0356 369.2773 578.062 363.5352 586.3687 363.5332 c +595.2905 363.5332 603.3921 370.4043 603.3921 378.8145 c +603.3921 390.6309 593.3433 396.248 582.7788 397.248 C +587.144 398.9219 590.4116 403.7734 v +590.478 403.8691 590.4683 403.998 590.3901 404.084 c +590.312 404.1719 590.1851 404.1934 590.0835 404.1387 c +584.2534 401.0566 577.5942 399.3945 570.5806 399.3945 c +550.9575 399.3945 534.0337 415.7988 530.3813 436.7607 c +530.3599 436.8818 530.2524 436.9727 530.1294 436.9688 c +f +453.4517 384.5625 m +448.8442 376.8867 447.1997 363.7129 451.4946 353.8809 c +451.5435 353.7695 451.5083 353.6406 451.4087 353.5703 c +451.3091 353.502 451.1763 353.5117 451.0884 353.5957 c +446.2817 358.1484 442.1489 368.7715 444.3833 381.0527 C +441.2876 383.4473 439.3384 385.8223 437.8696 389.0059 c +437.8228 389.1074 437.8501 389.2305 437.936 389.3047 c +438.022 389.377 438.147 389.3848 438.2427 389.3203 c +443.2388 385.959 447.7056 384.8125 453.4517 384.5625 C +f +464.0591 504.3691 m +463.9907 504.4727 464.0083 504.6133 464.1001 504.6973 c +464.1938 504.7813 464.3345 504.7852 464.4321 504.7061 c +471.2466 499.1797 480.3071 495.6504 491.4673 495.6504 c +519.0376 495.6504 536.4399 512.1689 539.1743 529.5771 c +539.1919 529.6885 539.2817 529.7734 539.3931 529.7891 c +539.5044 529.8047 539.6138 529.7422 539.6587 529.6396 c +542.3833 523.3818 544.0259 514.3057 535.6099 502.1309 c +530.5747 494.8457 524.479 489.8311 524.479 483.3145 c +524.479 479.0566 526.7407 476.1602 530.1685 476.1602 c +533.7739 476.1602 536.106 479.248 536.104 482.7148 c +536.104 484.4629 535.6001 486.1934 534.6958 487.7607 c +534.6372 487.8633 534.6548 487.9902 534.7407 488.0723 c +534.8247 488.1523 534.9556 488.165 535.0532 488.1016 c +538.0259 486.1641 540.6802 482.7021 540.6802 477.8281 c +540.6802 470.6563 534.5474 464.6602 526.2095 464.6602 c +517.2368 464.6602 509.8872 471.709 509.8872 481.8477 c +509.8872 485.3262 510.8755 489.5156 513.3501 492.9805 C +509.9653 490.1523 508.1587 488.1523 506.6724 483.8271 C +496.272 482.0186 485.1665 483.6797 476.3403 489.4727 C +476.0864 483.3711 474.0903 478.2793 469.9985 474.1533 c +469.9146 474.0684 469.7837 474.0547 469.6841 474.1182 c +469.5825 474.1816 469.5415 474.3066 469.5806 474.4189 c +472.4575 482.4199 470.5239 494.6152 464.0591 504.3691 c +f +376.6938 497.7344 m +378.938 502.5352 384.1528 505.2188 390.1548 505.3271 c +390.2798 505.3311 390.3872 505.2432 390.4087 505.1211 c +390.4321 504.998 390.3638 504.8779 390.2485 504.8359 c +388.2017 504.082 386.5864 502.7637 385.7271 500.9258 c +383.5142 496.1973 387.0942 489.8301 393.7407 486.5566 c +393.8188 486.5186 393.8716 486.4434 393.8813 486.3594 c +393.8911 486.2725 393.856 486.1885 393.7915 486.1318 c +389.5005 482.6143 384.3794 476.0781 384.3794 462.7148 c +384.3774 444.0322 396.5337 426.25 412.6548 426.25 c +421.8677 426.25 429.2876 432.6465 433.1255 442.2422 C +428.9028 436.4844 423.145 432.1348 415.2114 432.1348 c +403.5708 432.1348 394.3579 444.5439 394.356 462.459 c +394.356 479.3457 406.2583 499.0518 422.1216 499.0508 c +430.8247 499.0488 437.3481 492.0117 437.3481 482.9277 c +437.3481 474.8672 432.1021 470.2637 426.2173 470.2637 c +421.7798 470.2637 418.7231 473.3936 417.772 476.7871 c +417.7388 476.9023 417.7915 477.0254 417.897 477.0811 c +418.0044 477.1357 418.1333 477.1104 418.2114 477.0186 c +418.9634 476.124 420.1079 475.3809 421.8657 475.3809 c +424.8091 475.3789 426.3442 477.9082 426.3442 479.7285 c +426.3442 483.1836 423.7856 485.6152 419.9458 485.6152 c +414.7036 485.6152 410.606 479.8564 410.606 472.4385 c +410.606 463.2236 419.436 454.7813 428.2642 454.7813 c +437.2856 454.7813 446.9438 462.8408 446.9438 477.8125 c +446.9419 492.5234 436.9653 509.4141 421.0981 509.4141 c +411.8481 509.4141 403.9849 505.2441 397.9556 498.3398 c +397.8755 498.248 397.7427 498.2246 397.6392 498.2852 c +397.5317 498.3477 397.4849 498.4727 397.5239 498.5879 c +401.9575 511.5234 399.4771 523.7344 392.7036 523.7324 c +389.3892 523.7324 387.7017 521.3535 387.7017 518.8154 c +387.7017 516.21 389.6001 514.0566 392.6704 513.6611 c +392.7915 513.6475 392.8833 513.5479 392.8931 513.4268 c +392.8989 513.3047 392.8188 513.1943 392.7017 513.1641 c +385.8872 511.4004 378.8774 515.1133 378.8774 522.2061 c +378.8774 528.4854 384.2544 533.3398 391.2896 533.3398 c +401.9263 533.3379 407.0142 522.0684 404.7485 511.8047 C +410.2075 518.8486 418.3013 524.6396 429.9263 524.6396 c +453.4692 524.6396 465.3677 497.7715 465.3677 479.7285 c +465.3677 463.3525 462.0415 452.8604 455.1313 444.8018 C +463.1938 450.9404 466.52 457.7227 468.0552 467.0645 C +474.1958 475.5078 490.188 475.5078 v +496.8755 475.5078 503.1177 473.0322 507.9614 468.3438 C +507.9634 468.3447 507.9653 468.3477 507.9673 468.3486 C +508.0024 468.3105 508.0396 468.2695 508.0767 468.2314 C +508.397 467.915 508.7114 467.5918 509.02 467.2578 C +514.0806 462.4102 524.2114 457.8633 533.4517 461.6602 c +533.5571 461.7031 533.6782 461.6699 533.7485 461.582 c +533.8188 461.4932 533.8188 461.3672 533.7524 461.2754 c +529.3462 455.252 521.729 453.335 516.0747 454.21 C +517.1177 450.4941 517.6958 446.3281 517.6958 441.7305 c +517.6978 425.3262 508.8989 413.7598 499.2856 408.1289 C +502.438 404.3281 501.7954 398.3535 498.2544 394.2949 c +498.1743 394.2051 498.0435 394.1816 497.938 394.2402 c +497.8345 394.2988 497.7837 394.4238 497.8188 394.5391 c +499.5513 400.0703 494.4282 404.6875 487.6392 404.4395 c +487.5161 404.4355 487.4067 404.5195 487.3813 404.6406 c +487.356 404.7617 487.4185 404.8828 487.5337 404.9277 c +497.6685 409.0918 504.3911 417.9102 504.3892 428.9355 c +504.3911 440.4492 497.481 449.79 486.3501 449.79 c +477.2661 449.79 468.1821 441.4727 468.1821 431.1133 c +468.1821 423.0508 472.6587 418.3184 478.4165 418.3164 c +483.4067 418.3184 487.3735 421.7715 487.3735 425.8672 c +487.3735 431.7188 480.7896 433.8408 477.2778 429.209 c +477.2095 429.1172 477.0864 429.084 476.981 429.127 c +476.8755 429.1689 476.811 429.2773 476.8228 429.3926 c +477.3462 433.7813 480.5767 437.8926 485.5825 437.8926 c +490.188 437.8926 494.9224 434.0518 494.9224 425.8652 c +494.9224 416.1406 485.5845 406.291 470.231 406.2891 c +449.2466 406.2891 437.8599 429.959 448.0942 448.8945 C +442.8501 442.8809 438.1157 436.4844 438.1157 425.0977 c +438.1138 403.5898 459.3794 389.0488 484.4692 397.5977 c +484.5884 397.6367 484.7192 397.584 484.7759 397.4746 c +484.8345 397.3633 484.8013 397.2266 484.6997 397.1523 c +477.6938 392.043 470.356 384.5137 470.356 371.873 c +470.356 358.6934 479.0552 349.3535 492.6196 349.3535 c +503.1099 349.3535 509.7642 355.752 509.7642 363.2988 c +509.7642 369.0566 506.0454 373.6641 499.6567 373.6641 c +490.1431 373.6641 486.9087 363.3203 491.8325 358.6953 c +491.9165 358.6152 491.936 358.4902 491.8813 358.3887 c +491.8247 358.2871 491.7056 358.2344 491.5942 358.2637 c +486.8247 359.5 482.2563 364.332 482.2563 371.6152 c +482.2544 384.1563 493.897 392.4727 506.6919 392.4727 c +512.688 392.4727 518.4907 390.7188 523.1646 387.4297 C +522.6118 383.2773 524.0317 378.6816 526.1313 375.5879 C +524.1821 382.457 526.2915 393.7656 536.8032 393.7676 c +542.6958 393.7656 546.5903 389.2383 546.5903 383.8867 c +546.5903 377.5605 541.2446 374.6094 536.895 375.2148 c +536.7798 375.2305 536.6899 375.3223 536.6763 375.4375 c +536.6646 375.5527 536.731 375.6602 536.8384 375.7031 c +538.4243 376.3105 539.7817 377.9727 539.7817 379.9668 c +539.7817 382.4668 537.8696 383.9492 535.8696 383.9492 c +532.5767 383.9492 530.7466 380.2793 531.8989 376.2305 C +531.8872 376.2285 L +532.9595 373.3926 533.561 370.2246 533.561 366.7363 c +533.561 349.9746 515.3813 334.002 492.4399 334 c +468.229 334 455.3872 351.2734 455.3892 369.0566 c +455.3892 378.5938 458.9692 385.8184 463.5767 390.4258 C +443.6548 388.3066 431.0786 396.8223 424.2974 409.1035 C +428.7759 412.9414 430.438 418.5723 Y +425.0649 411.5352 415.854 405.3945 402.9321 405.3945 c +383.356 405.3945 368.0005 424.5859 368.0005 445.1836 c +368.0005 458.2568 372.8032 470.9648 382.5649 479.4307 C +376.5278 484.459 373.9185 491.8018 376.6938 497.7344 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0.35 0.6 0.8 0.25 k + 0.35 0.6 0.8 0.25 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +240.2622 430.3711 m +240.3872 430.3711 240.4927 430.4629 240.5103 430.585 c +242.8911 446.5996 252.1646 459.9746 264.9028 467.9814 c +265.0063 468.0449 265.0493 468.1758 265.0044 468.29 c +264.9575 468.4023 264.8384 468.4688 264.7173 468.4443 c +254.2466 466.3398 244.9243 460.5811 238.27 452.4141 C +233.644 465.7891 223.0337 474.418 209.9692 478.0654 C +214.7778 483.6582 212.2622 491.5986 204.8501 492.9023 c +204.7368 492.9229 204.6245 492.8643 204.5757 492.7607 c +204.5278 492.6563 204.5542 492.5322 204.6421 492.46 c +208.6157 489.1143 207.1616 481.04 195.3052 481.04 c +187.5103 481.04 182.4849 484.2188 182.4849 488.5254 c +182.4849 491.9102 185.5464 493.7559 188.1255 493.7559 c +192.5415 493.7559 195.0649 489.7949 193.1675 486.2129 c +193.1128 486.1104 193.1353 485.9814 193.2231 485.9033 c +193.311 485.8271 193.4399 485.8184 193.5366 485.8857 c +195.7856 487.4492 197.356 489.5059 197.356 492.6768 c +197.356 498.0635 192.3306 503.8066 184.0239 503.8066 c +175.1021 503.8066 167.0005 496.9355 167.0005 488.5254 c +167.0005 476.71 177.0493 471.0918 187.6138 470.0918 C +183.2485 468.4189 179.98 463.5664 v +179.9146 463.4697 179.9243 463.3418 180.0015 463.2559 c +180.0796 463.1689 180.2056 463.1475 180.3091 463.2012 c +186.1392 466.2822 192.7954 467.9453 199.811 467.9453 c +219.4321 467.9453 236.3579 451.541 240.0103 430.5801 c +240.0317 430.4561 240.1382 430.3691 240.2622 430.3711 c +f +316.9399 482.7773 m +321.5493 490.4551 323.1919 503.627 318.897 513.46 c +318.8481 513.5703 318.8833 513.6992 318.9829 513.7686 c +319.0806 513.8379 319.2153 513.8281 319.3032 513.7461 c +324.1099 509.1914 328.2427 498.5684 326.0083 486.2871 C +329.106 483.8936 331.0532 481.5176 332.522 478.335 c +332.5688 478.2314 332.5415 478.1104 332.4556 478.0352 c +332.3696 477.9629 332.2446 477.9551 332.1489 478.0186 c +327.1528 481.3809 322.686 482.5283 316.9399 482.7773 C +f +306.3306 362.9707 m +306.4009 362.8672 306.3833 362.7266 306.2915 362.6426 c +306.1978 362.5586 306.0571 362.5547 305.9595 362.6348 c +299.145 368.1621 290.0845 371.6895 278.9243 371.6895 c +251.3521 371.6895 233.9517 355.1719 231.2163 337.7637 c +231.1987 337.6523 231.1099 337.5664 230.9985 337.5508 c +230.8862 337.5371 230.7778 337.5977 230.7329 337.7012 c +228.0073 343.959 226.3657 353.0352 234.7817 365.209 c +239.8159 372.4941 245.9106 377.5098 245.9106 384.0273 c +245.9106 388.2852 243.6509 391.1797 240.2231 391.1797 c +236.6177 391.1797 234.2866 388.0918 234.2866 384.625 c +234.2866 382.877 234.7915 381.1465 235.6958 379.5801 c +235.7544 379.4766 235.7358 379.3496 235.6509 379.2676 c +235.5649 379.1875 235.436 379.1758 235.3384 379.2402 c +232.3657 381.1777 229.7114 384.6367 229.7114 389.5117 c +229.7114 396.6836 235.8442 402.6816 244.1802 402.6816 c +253.1548 402.6816 260.5044 395.6328 260.5044 385.4922 c +260.5044 382.0156 259.5142 377.8242 257.0415 374.3613 C +260.4263 377.1875 262.2329 379.1875 263.7192 383.5117 C +274.1196 385.3223 285.2251 383.6602 294.0493 377.8691 C +294.3052 383.9707 296.3013 389.0605 300.3931 393.1875 c +300.4771 393.2715 300.6079 393.2852 300.7075 393.2227 c +300.8091 393.1582 300.8521 393.0332 300.811 392.9219 c +297.9341 384.9199 299.8657 372.7246 306.3306 362.9707 c +f +393.6978 369.6055 m +391.4517 364.8066 386.2388 362.1211 380.2368 362.0117 c +380.1118 362.0098 380.0044 362.0977 379.9829 362.2188 c +379.9595 362.3418 380.0278 362.4609 380.1431 362.5039 c +382.1899 363.2578 383.8052 364.5762 384.6646 366.4141 c +386.8774 371.1426 383.2974 377.5098 376.6509 380.7832 c +376.5728 380.8223 376.52 380.8965 376.5103 380.9824 c +376.5005 381.0684 376.5337 381.1523 376.6001 381.207 c +380.8911 384.7266 386.0122 391.2617 386.0122 404.627 c +386.0122 423.3086 373.8579 441.0898 357.7368 441.0898 c +348.5239 441.0898 341.104 434.6934 337.2661 425.0977 C +341.4868 430.8564 347.2446 435.2051 355.1782 435.2051 c +366.8208 435.2051 376.0337 422.7969 376.0337 404.8828 c +376.0337 387.9941 364.1333 368.2891 348.2681 368.2891 c +339.5669 368.2891 333.0435 375.3281 333.0435 384.4121 c +333.0435 392.4746 338.2896 397.0781 344.1763 397.0781 c +348.6099 397.0781 351.6685 393.9473 352.6196 390.5527 c +352.6509 390.4375 352.6001 390.3164 352.4927 390.2598 c +352.3872 390.2051 352.2583 390.2305 352.1802 390.3223 c +351.4282 391.2168 350.2837 391.9609 348.5259 391.9609 c +345.5825 391.9609 344.0474 389.4316 344.0474 387.6113 c +344.0474 384.1563 346.606 381.7246 350.4458 381.7246 c +355.6899 381.7246 359.7856 387.4824 359.7856 394.9023 c +359.7856 404.1152 350.9556 412.5586 342.1274 412.5586 c +333.106 412.5586 323.4478 404.5 323.4478 389.5293 c +323.4478 374.8164 333.4282 357.9258 349.2935 357.9258 c +358.5435 357.9258 366.4048 362.0957 372.436 369.002 c +372.5161 369.0918 372.6489 369.1152 372.7544 369.0547 c +372.8599 368.9941 372.9067 368.8672 372.8677 368.752 c +368.4341 355.8164 370.9126 343.6074 377.688 343.6074 c +381.0024 343.6074 382.6899 345.9863 382.6899 348.5234 c +382.6899 351.1309 380.7915 353.2852 377.7212 353.6777 c +377.6001 353.6934 377.5063 353.793 377.4985 353.9141 c +377.4927 354.0352 377.5708 354.1465 377.6899 354.1758 c +384.5044 355.9395 391.5142 352.2285 391.5142 345.1328 c +391.5142 338.8555 386.1372 334.002 379.1021 334.002 c +368.4653 334.002 363.3774 345.2715 365.6431 355.5371 C +360.1841 348.4922 352.0903 342.7012 340.4653 342.7012 c +316.9224 342.7012 305.0239 369.5703 305.0239 387.6113 c +305.0239 403.9883 308.3501 414.4785 315.2603 422.5391 C +307.1978 416.3984 303.8716 409.6172 302.3384 400.2773 C +296.1958 391.832 280.2036 391.832 v +273.5161 391.832 267.2739 394.3086 262.4302 398.998 C +262.4282 398.9961 262.4263 398.9941 262.4243 398.9902 C +262.3892 399.0313 262.3501 399.0703 262.3149 399.1094 C +261.9946 399.4238 261.6802 399.748 261.3716 400.082 C +256.3091 404.9316 246.1802 409.4785 236.9399 405.6797 c +236.8345 405.6367 236.7134 405.6699 236.6431 405.7578 c +236.5728 405.8477 236.5708 405.9727 236.6382 406.0645 c +241.0454 412.0898 248.6626 414.0059 254.3169 413.1309 C +253.272 416.8457 252.6938 421.0117 252.6938 425.6094 c +252.6938 442.0137 261.4927 453.5801 271.106 459.2109 C +267.9517 463.0137 268.5962 468.9883 272.1372 473.0449 c +272.2173 473.1357 272.3481 473.1582 272.4536 473.0996 c +272.5571 473.041 272.606 472.918 272.5708 472.8018 c +270.8403 467.2695 275.9634 462.6523 282.7524 462.9004 c +282.8755 462.9033 282.9829 462.8193 283.0103 462.6992 c +283.0356 462.5801 282.9712 462.457 282.8579 462.4111 c +272.7212 458.248 266.0005 449.4316 266.0005 438.4033 c +266.0005 426.8906 272.9087 417.5488 284.0415 417.5488 c +293.1255 417.5488 302.2095 425.8672 302.2095 436.2285 c +302.2095 444.2891 297.731 449.0225 291.9731 449.0225 c +286.9849 449.0225 283.0181 445.5684 283.0181 441.4736 c +283.0181 435.6211 289.6001 433.499 293.1118 438.1309 c +293.1821 438.2227 293.3032 438.2559 293.4087 438.2129 c +293.5161 438.1699 293.5806 438.0625 293.5669 437.9482 c +293.0435 433.5586 289.8149 429.4482 284.8091 429.4482 c +280.2036 429.4482 275.4692 433.2861 275.4692 441.4746 c +275.4692 451.1982 284.8071 461.0508 300.1606 461.0508 c +321.1431 461.0508 332.5317 437.3809 322.2974 418.4453 C +327.5415 424.459 332.2759 430.8555 332.2759 442.2432 c +332.2759 463.75 311.0122 478.291 285.9224 469.7441 c +285.8032 469.7021 285.6724 469.7559 285.6157 469.8672 c +285.5571 469.9785 285.5884 470.1143 285.6899 470.1895 c +292.6958 475.2979 300.0337 482.8262 300.0337 495.4668 c +300.0337 508.6475 291.3345 517.9854 277.772 517.9854 c +267.2798 517.9854 260.6274 511.5879 260.6274 504.04 c +260.6274 498.2822 264.3462 493.6768 270.7349 493.6768 c +280.2466 493.6768 283.481 504.0195 278.5591 508.6445 c +278.4751 508.7236 278.4556 508.8516 278.5103 508.9521 c +278.5669 509.0547 278.6841 509.1055 278.7974 509.0762 c +283.5669 507.8398 288.1353 503.0068 288.1353 495.7236 c +288.1353 483.1855 276.4927 474.8682 263.6978 474.8682 c +257.7017 474.8682 251.8989 476.623 247.2271 479.9102 C +247.7778 484.0635 246.3579 488.6602 244.2603 491.752 C +246.2095 484.8848 244.1021 473.5732 233.5864 473.5732 c +227.6958 473.5732 223.8013 478.1025 223.8013 483.4551 c +223.8013 489.7793 229.147 492.7314 233.4966 492.125 c +233.6118 492.1104 233.7007 492.0186 233.7134 491.9023 c +233.7271 491.7891 233.6606 491.6797 233.5532 491.6367 c +231.9673 491.0293 230.6108 489.3691 230.6108 487.373 c +230.6108 484.873 232.52 483.3906 234.52 483.3906 c +237.8149 483.3906 239.645 487.0605 238.4927 491.1104 C +238.5044 491.1104 L +237.4312 493.9473 236.8286 497.1152 236.8286 500.6055 c +236.8286 517.3672 255.0103 533.3398 277.9497 533.3398 c +302.1626 533.3398 315.0044 516.0664 315.0044 498.2822 c +315.0044 488.7461 311.4224 481.5225 306.8149 476.915 C +326.7368 479.0332 339.313 470.5176 346.0942 458.2354 C +341.6157 454.3975 339.9536 448.7676 Y +345.3267 455.8057 354.5376 461.9453 367.4595 461.9453 c +387.0356 461.9453 402.3911 442.7539 402.3911 422.1563 c +402.3911 409.084 397.5884 396.375 387.8267 387.9102 C +393.8638 382.8809 396.4731 375.5391 393.6978 369.6055 c +f +*U +*u +315.2114 494.9053 m +315.1782 494.7852 315.2388 494.6582 315.3521 494.6094 c +330.1763 488.0957 340.6372 475.6289 345.0063 461.2324 c +345.0415 461.1152 345.1548 461.0391 345.2778 461.0527 c +345.3989 461.0664 345.4946 461.166 345.5024 461.2871 c +346.229 471.9434 343.1274 482.4531 337.0005 491.0234 C +351.1216 491.9648 362.2407 499.9297 369.1997 511.5723 C +373.3286 505.46 381.6509 505.7969 384.8599 512.6035 c +384.9106 512.708 384.8833 512.832 384.7954 512.9063 c +384.7075 512.9805 384.5806 512.9873 384.4868 512.9219 c +380.2134 509.9688 372.8071 513.498 375.9282 524.9355 c +377.981 532.4561 382.3716 536.4668 386.5259 535.333 c +389.7915 534.4414 390.7661 531.002 390.0864 528.5146 c +388.9243 524.2539 384.438 522.8623 381.481 525.6357 c +381.397 525.7158 381.2681 525.7285 381.1704 525.6641 c +381.0728 525.5986 381.0298 525.4775 381.0688 525.3662 c +381.9868 522.7852 383.5571 520.7285 386.6157 519.8936 c +391.811 518.4756 398.6743 521.8115 400.8618 529.8252 c +403.2114 538.4316 398.7153 548.0566 390.604 550.2715 c +379.2036 553.3818 371.1392 545.166 367.3931 535.2383 C +366.9263 539.8896 363.1079 544.3203 v +363.0317 544.4092 362.9048 544.4336 362.8013 544.3818 c +362.6978 544.3291 362.6431 544.2129 362.6665 544.0996 c +364.106 537.6641 363.9575 530.8047 362.1099 524.0361 c +356.9438 505.1074 336.6626 493.0977 315.479 495.0938 c +315.354 495.1055 315.2407 495.0254 315.2114 494.9053 c +f +345.5806 407.1348 m +351.7739 400.666 364.0493 395.6133 374.6646 397.168 c +374.7856 397.1855 374.9009 397.1172 374.9399 397.0039 c +374.981 396.8906 374.936 396.7637 374.8345 396.7012 c +369.1743 393.2617 357.8384 392.0723 346.5786 397.4609 C +343.4536 395.1035 340.6489 393.8496 337.1919 393.2715 c +337.0806 393.2539 336.9692 393.3125 336.9204 393.4141 c +336.8735 393.5156 336.8989 393.6387 336.9849 393.7148 c +341.5454 397.6484 343.8286 401.6563 345.5806 407.1348 C +f +232.7935 448.9121 m +232.6753 448.8711 232.5444 448.9258 232.4878 449.0371 c +232.4312 449.1484 232.4644 449.2852 232.5679 449.3594 c +239.6938 454.4785 245.4829 462.291 248.4204 473.0566 c +255.6802 499.6563 244.3267 520.7921 228.2534 528.0146 c +228.1499 528.0605 228.0903 528.1689 228.105 528.2803 c +228.1216 528.3926 228.2085 528.4814 228.3198 528.4971 c +235.0747 529.4785 244.2622 528.6729 253.7915 517.3486 c +259.4927 510.5732 262.7271 503.373 269.0142 501.6563 c +273.1216 500.5352 276.5103 501.9551 277.4126 505.2617 c +278.3618 508.7393 275.9966 511.8018 272.6528 512.7148 c +270.9653 513.1738 269.1626 513.1436 267.4146 512.6836 c +267.2993 512.6533 267.1821 512.7051 267.1255 512.8086 c +267.0708 512.9121 267.0923 513.04 267.1802 513.1172 c +269.8325 515.4746 273.8677 517.125 278.5708 515.8408 c +285.4907 513.9531 289.6606 506.457 287.4673 498.415 c +285.104 489.7578 276.3696 484.5234 266.5864 487.1934 c +263.2329 488.1084 259.4497 490.168 256.7603 493.4648 C +258.5942 489.4551 260.0493 487.1855 263.8286 484.6133 C +262.8364 474.1035 258.3091 463.8271 250.4009 456.8389 C +256.2192 454.9863 260.604 451.7207 263.5083 446.6855 c +263.5669 446.582 263.5454 446.4531 263.4595 446.373 c +263.3696 446.293 263.2388 446.2832 263.1411 446.3535 c +256.1802 451.2344 243.9048 452.582 232.7935 448.9121 c +f +216.1919 362.8809 m +212.1538 366.3105 210.936 372.0469 212.4106 377.8672 c +212.4419 377.9883 212.5542 378.0684 212.6772 378.0566 c +212.8022 378.0469 212.8989 377.9492 212.9097 377.8281 c +213.0981 375.6543 213.9448 373.748 215.4917 372.4355 c +219.4712 369.0566 226.5562 370.834 231.4634 376.3828 c +231.522 376.4492 231.6079 376.4805 231.6929 376.4668 c +231.7788 376.4531 231.8511 376.3984 231.8862 376.3203 c +234.1519 371.2539 239.1079 364.5938 252.0005 361.0742 c +270.0239 356.1563 290.3794 363.1992 294.6235 378.752 c +297.0493 387.6406 292.8306 396.4824 284.5845 402.7109 C +289.0298 397.123 291.7075 390.4238 289.6177 382.7695 c +286.5532 371.5391 272.1567 365.918 254.8755 370.6348 c +238.5825 375.0801 222.7065 391.748 226.8833 407.0547 c +229.1743 415.4492 237.6821 419.8887 246.4458 417.4961 c +254.2231 415.375 257.2837 409.1016 255.7329 403.4219 c +254.5669 399.1445 250.7407 397.0195 247.2153 396.9941 c +247.0962 396.9941 246.9927 397.0762 246.9653 397.1934 c +246.9419 397.3105 246.9985 397.4277 247.1079 397.4785 c +248.1704 397.9688 249.188 398.877 249.6509 400.5742 c +250.4263 403.4121 248.3911 405.5605 246.6353 406.0391 c +243.3022 406.9492 240.2827 405.1211 239.271 401.416 c +237.8911 396.3574 242.3667 390.8906 249.5239 388.9355 c +258.4126 386.5117 268.8833 392.8066 271.2075 401.3223 c +273.5825 410.0254 268.3501 421.4648 253.9087 425.4063 c +239.7153 429.2813 220.7925 424.0996 216.6157 408.793 c +214.1802 399.8691 216.1333 391.1875 221.2075 383.5508 c +221.2739 383.4512 221.2612 383.3164 221.1753 383.2305 c +221.0884 383.1445 220.9536 383.1328 220.853 383.2012 c +209.5415 390.8828 197.1108 391.707 195.3267 385.1699 c +194.4536 381.9727 196.3042 379.7188 198.7524 379.0508 c +201.2681 378.3652 203.8462 379.6289 205.0327 382.4883 c +205.0796 382.5996 205.2007 382.6641 205.3198 382.6406 c +205.438 382.6133 205.5249 382.5098 205.522 382.3867 c +205.4292 375.3477 200.0034 369.5625 193.1577 371.4316 c +187.1021 373.084 183.8354 379.5488 185.688 386.3359 c +188.4888 396.5977 200.6997 398.5391 210.0063 393.6504 C +204.647 400.7715 201.1919 410.1035 204.2524 421.3184 c +210.4507 444.0313 239.5044 448.4355 256.9087 443.6855 c +272.7075 439.373 281.9517 433.4023 287.9087 424.6152 C +284.1079 434.0098 278.4419 439.0039 269.8345 442.9434 C +263.3052 451.0918 267.5161 466.5195 v +269.2759 472.9707 273.3091 478.3418 279.1079 481.7793 C +279.1079 481.7813 279.106 481.7842 279.1021 481.7871 C +279.1509 481.8105 279.1997 481.8379 279.2466 481.8613 C +279.6333 482.0879 280.0298 482.3057 280.4321 482.5146 C +286.4438 486.1211 293.4966 494.6973 292.2661 504.6113 c +292.2524 504.7236 292.3149 504.832 292.4185 504.877 c +292.5239 504.9219 292.645 504.8896 292.7153 504.8018 c +297.3677 498.9629 297.2114 491.1104 294.8794 485.8857 C +298.7368 485.915 302.9087 485.375 307.3442 484.165 c +323.1685 479.8457 332.0122 468.3135 334.9126 457.5566 C +339.4106 459.5977 345.0063 457.4043 347.9888 452.9199 c +348.0532 452.8184 348.0415 452.6855 347.9575 452.5996 c +347.8735 452.5156 347.7407 452.5 347.6392 452.5645 c +342.7583 455.6914 336.9556 451.9648 335.4048 445.3496 c +335.3774 445.2305 335.2681 445.1484 335.145 445.1543 c +335.022 445.1602 334.9204 445.2539 334.9067 445.377 c +333.5591 456.251 326.8228 465.0566 316.1841 467.96 c +305.0767 470.9922 294.2446 466.7852 291.3149 456.0469 c +288.9224 447.2832 294.5571 436.3301 304.5513 433.6016 c +312.3286 431.4785 318.0747 434.5527 319.5903 440.1074 c +320.9048 444.9199 318.6157 449.6563 314.6665 450.7344 c +309.0181 452.2754 305.2388 446.4844 308.7837 441.877 c +308.8521 441.7852 308.854 441.6602 308.7837 441.5684 c +308.7153 441.4766 308.5923 441.4434 308.4868 441.4863 c +304.3892 443.1465 301.2739 447.3418 302.5923 452.1729 c +303.8052 456.6152 308.7544 460.1729 316.6548 458.0166 c +326.0356 455.457 333.0806 443.8555 329.0376 429.043 c +323.5142 408.7988 297.6802 404.0449 282.1079 418.9043 C +286.5278 412.2617 291.4517 406.0098 302.438 403.0117 c +323.188 397.3496 342.813 414.0332 341.1724 440.4902 c +341.1646 440.6152 341.2505 440.7285 341.3735 440.7539 c +341.4946 440.7813 341.6196 440.7129 341.6646 440.5977 c +344.7466 432.4922 350.0786 423.4316 362.2739 420.1035 c +374.9888 416.6328 386.2876 422.5664 389.8599 435.6504 c +392.6216 445.7734 388.2017 453.875 380.9204 455.8623 c +375.3657 457.3789 369.9419 455.0039 368.2603 448.8398 c +365.7563 439.6641 374.8833 433.8203 380.6411 437.3516 c +380.7388 437.4121 380.8677 437.3965 380.9497 437.3164 c +381.0337 437.2363 381.0513 437.1094 380.9927 437.0078 c +378.5454 432.7324 372.6802 429.5977 365.6548 431.5156 c +353.5571 434.8164 348.6001 448.2383 351.9673 460.5811 c +353.5454 466.3652 356.7681 471.502 361.1685 475.1426 C +365.0298 473.5186 369.8384 473.6777 373.3735 474.8867 C +366.2349 474.8154 355.8794 479.8262 358.647 489.9707 c +360.1978 495.6533 365.5923 498.2188 370.7563 496.8086 c +376.8579 495.1436 378.2974 489.21 376.5688 485.1729 c +376.522 485.0654 376.4106 485.0039 376.2974 485.0225 c +376.1821 485.04 376.0942 485.1318 376.0825 485.2471 c +375.9146 486.9375 374.6685 488.6836 372.7446 489.208 c +370.3325 489.8662 368.3989 488.415 367.8735 486.4854 c +367.0044 483.3066 370.063 480.5752 374.2739 480.6211 C +374.27 480.6094 L +377.2896 480.8984 380.5044 480.6445 383.8716 479.7266 c +400.0415 475.3125 410.6646 453.5674 404.6235 431.4375 c +398.2485 408.0781 378.2056 400.2363 361.0474 404.9199 c +351.8481 407.4297 345.8228 412.7871 342.5903 418.4453 C +339.3892 398.668 327.8618 388.7793 314.229 385.4707 C +311.7056 390.8008 306.7114 393.8867 Y +312.0864 386.8496 315.5845 376.3477 312.1821 363.8809 c +307.0278 344.9961 284.4712 335.2344 264.6001 340.6582 c +251.9888 344.0996 240.9927 352.0801 235.397 363.7266 C +228.9556 359.2266 221.186 358.6406 216.1919 362.8809 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0 0 0 0 k + 0 0 0 0 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +363.1294 436.9688 m +363.0044 436.9688 362.8989 436.877 362.8794 436.7539 c +360.5005 420.7402 351.2271 407.3652 338.4888 399.3594 c +338.3853 399.2949 338.3403 399.1641 338.3872 399.0508 c +338.4321 398.9375 338.5532 398.8711 338.6724 398.8965 c +349.145 401 358.4653 406.7598 365.1216 414.9277 C +369.7466 401.5508 380.3579 392.9219 393.4224 389.2734 C +388.6138 383.6816 391.1294 375.7402 398.5415 374.4375 c +398.6548 374.416 398.7661 374.4746 398.8149 374.5781 c +398.8638 374.6816 398.8364 374.8066 398.7485 374.8809 c +394.7759 378.2266 396.229 386.3008 408.0864 386.3008 c +415.8794 386.3008 420.9067 383.1211 420.9067 378.8145 c +420.9067 375.4297 417.8442 373.584 415.2642 373.584 c +410.8501 373.584 408.3267 377.5449 410.2231 381.127 c +410.2778 381.2305 410.2563 381.3574 410.1685 381.4355 c +410.0806 381.5137 409.9517 381.5215 409.854 381.4551 c +407.606 379.8906 406.0356 377.834 406.0356 374.6641 c +406.0356 369.2773 411.061 363.5352 419.3677 363.5332 c +428.2896 363.5332 436.3911 370.4043 436.3911 378.8145 c +436.3911 390.6309 426.3423 396.248 415.7778 397.248 C +420.1431 398.9219 423.4106 403.7734 v +423.4771 403.8691 423.4673 403.998 423.3892 404.084 c +423.311 404.1719 423.1841 404.1934 423.0825 404.1387 c +417.2524 401.0566 410.5942 399.3945 403.5806 399.3945 c +383.9575 399.3945 367.0337 415.7988 363.3813 436.7607 c +363.3599 436.8818 363.2524 436.9727 363.1294 436.9688 c +f +286.4517 384.5625 m +281.8442 376.8867 280.1997 363.7129 284.4946 353.8809 c +284.5435 353.7695 284.5083 353.6406 284.4087 353.5703 c +284.3091 353.502 284.1763 353.5117 284.0884 353.5957 c +279.2817 358.1484 275.1489 368.7715 277.3833 381.0527 C +274.2876 383.4473 272.3384 385.8223 270.8696 389.0059 c +270.8228 389.1074 270.8501 389.2305 270.936 389.3047 c +271.022 389.377 271.147 389.3848 271.2427 389.3203 c +276.2388 385.959 280.7056 384.8125 286.4517 384.5625 C +f +297.0591 504.3691 m +296.9907 504.4727 297.0083 504.6133 297.1001 504.6973 c +297.1938 504.7813 297.3345 504.7852 297.4321 504.7061 c +304.2466 499.1797 313.3071 495.6504 324.4673 495.6504 c +352.0376 495.6504 369.4399 512.1689 372.1743 529.5771 c +372.1919 529.6885 372.2817 529.7734 372.3931 529.7891 c +372.5044 529.8047 372.6138 529.7422 372.6587 529.6396 c +375.3833 523.3818 377.0259 514.3057 368.6099 502.1309 c +363.5747 494.8457 357.479 489.8311 357.479 483.3145 c +357.479 479.0566 359.7407 476.1602 363.1685 476.1602 c +366.7739 476.1602 369.106 479.248 369.104 482.7148 c +369.104 484.4629 368.6001 486.1934 367.6958 487.7607 c +367.6372 487.8633 367.6548 487.9902 367.7407 488.0723 c +367.8247 488.1523 367.9556 488.165 368.0532 488.1016 c +371.0259 486.1641 373.6802 482.7021 373.6802 477.8281 c +373.6802 470.6563 367.5474 464.6602 359.2095 464.6602 c +350.2368 464.6602 342.8872 471.709 342.8872 481.8477 c +342.8872 485.3262 343.8755 489.5156 346.3501 492.9805 C +342.9653 490.1523 341.1587 488.1523 339.6724 483.8271 C +329.272 482.0186 318.1665 483.6797 309.3403 489.4727 C +309.0864 483.3711 307.0903 478.2793 302.9985 474.1533 c +302.9146 474.0684 302.7837 474.0547 302.6841 474.1182 c +302.5825 474.1816 302.5415 474.3066 302.5806 474.4189 c +305.4575 482.4199 303.5239 494.6152 297.0591 504.3691 c +f +209.6938 497.7344 m +211.938 502.5352 217.1528 505.2188 223.1548 505.3271 c +223.2798 505.3311 223.3872 505.2432 223.4087 505.1211 c +223.4321 504.998 223.3638 504.8779 223.2485 504.8359 c +221.2017 504.082 219.5864 502.7637 218.7271 500.9258 c +216.5142 496.1973 220.0942 489.8301 226.7407 486.5566 c +226.8188 486.5186 226.8716 486.4434 226.8813 486.3594 c +226.8911 486.2725 226.856 486.1885 226.7915 486.1318 c +222.5005 482.6143 217.3794 476.0781 217.3794 462.7148 c +217.3774 444.0322 229.5337 426.25 245.6548 426.25 c +254.8677 426.25 262.2876 432.6465 266.1255 442.2422 C +261.9028 436.4844 256.145 432.1348 248.2114 432.1348 c +236.5708 432.1348 227.3579 444.5439 227.356 462.459 c +227.356 479.3457 239.2583 499.0518 255.1216 499.0508 c +263.8247 499.0488 270.3481 492.0117 270.3481 482.9277 c +270.3481 474.8672 265.1021 470.2637 259.2173 470.2637 c +254.7798 470.2637 251.7231 473.3936 250.772 476.7871 c +250.7388 476.9023 250.7915 477.0254 250.897 477.0811 c +251.0044 477.1357 251.1333 477.1104 251.2114 477.0186 c +251.9634 476.124 253.1079 475.3809 254.8657 475.3809 c +257.8091 475.3789 259.3442 477.9082 259.3442 479.7285 c +259.3442 483.1836 256.7856 485.6152 252.9458 485.6152 c +247.7036 485.6152 243.606 479.8564 243.606 472.4385 c +243.606 463.2236 252.436 454.7813 261.2642 454.7813 c +270.2856 454.7813 279.9438 462.8408 279.9438 477.8125 c +279.9419 492.5234 269.9653 509.4141 254.0981 509.4141 c +244.8481 509.4141 236.9849 505.2441 230.9556 498.3398 c +230.8755 498.248 230.7427 498.2246 230.6392 498.2852 c +230.5317 498.3477 230.4849 498.4727 230.5239 498.5879 c +234.9575 511.5234 232.4771 523.7344 225.7036 523.7324 c +222.3892 523.7324 220.7017 521.3535 220.7017 518.8154 c +220.7017 516.21 222.6001 514.0566 225.6704 513.6611 c +225.7915 513.6475 225.8833 513.5479 225.8931 513.4268 c +225.8989 513.3047 225.8188 513.1943 225.7017 513.1641 c +218.8872 511.4004 211.8774 515.1133 211.8774 522.2061 c +211.8774 528.4854 217.2544 533.3398 224.2896 533.3398 c +234.9263 533.3379 240.0142 522.0684 237.7485 511.8047 C +243.2075 518.8486 251.3013 524.6396 262.9263 524.6396 c +286.4692 524.6396 298.3677 497.7715 298.3677 479.7285 c +298.3677 463.3525 295.0415 452.8604 288.1313 444.8018 C +296.1938 450.9404 299.52 457.7227 301.0552 467.0645 C +307.1958 475.5078 323.188 475.5078 v +329.8755 475.5078 336.1177 473.0322 340.9614 468.3438 C +340.9634 468.3447 340.9653 468.3477 340.9673 468.3486 C +341.0024 468.3105 341.0396 468.2695 341.0767 468.2314 C +341.397 467.915 341.7114 467.5918 342.02 467.2578 C +347.0806 462.4102 357.2114 457.8633 366.4517 461.6602 c +366.5571 461.7031 366.6782 461.6699 366.7485 461.582 c +366.8188 461.4932 366.8188 461.3672 366.7524 461.2754 c +362.3462 455.252 354.729 453.335 349.0747 454.21 C +350.1177 450.4941 350.6958 446.3281 350.6958 441.7305 c +350.6978 425.3262 341.8989 413.7598 332.2856 408.1289 C +335.438 404.3281 334.7954 398.3535 331.2544 394.2949 c +331.1743 394.2051 331.0435 394.1816 330.938 394.2402 c +330.8345 394.2988 330.7837 394.4238 330.8188 394.5391 c +332.5513 400.0703 327.4282 404.6875 320.6392 404.4395 c +320.5161 404.4355 320.4067 404.5195 320.3813 404.6406 c +320.356 404.7617 320.4185 404.8828 320.5337 404.9277 c +330.6685 409.0918 337.3911 417.9102 337.3892 428.9355 c +337.3911 440.4492 330.481 449.79 319.3501 449.79 c +310.2661 449.79 301.1821 441.4727 301.1821 431.1133 c +301.1821 423.0508 305.6587 418.3184 311.4165 418.3164 c +316.4067 418.3184 320.3735 421.7715 320.3735 425.8672 c +320.3735 431.7188 313.7896 433.8408 310.2778 429.209 c +310.2095 429.1172 310.0864 429.084 309.981 429.127 c +309.8755 429.1689 309.811 429.2773 309.8228 429.3926 c +310.3462 433.7813 313.5767 437.8926 318.5825 437.8926 c +323.188 437.8926 327.9224 434.0518 327.9224 425.8652 c +327.9224 416.1406 318.5845 406.291 303.231 406.2891 c +282.2466 406.2891 270.8599 429.959 281.0942 448.8945 C +275.8501 442.8809 271.1157 436.4844 271.1157 425.0977 c +271.1138 403.5898 292.3794 389.0488 317.4692 397.5977 c +317.5884 397.6367 317.7192 397.584 317.7759 397.4746 c +317.8345 397.3633 317.8013 397.2266 317.6997 397.1523 c +310.6938 392.043 303.356 384.5137 303.356 371.873 c +303.356 358.6934 312.0552 349.3535 325.6196 349.3535 c +336.1099 349.3535 342.7642 355.752 342.7642 363.2988 c +342.7642 369.0566 339.0454 373.6641 332.6567 373.6641 c +323.1431 373.6641 319.9087 363.3203 324.8325 358.6953 c +324.9165 358.6152 324.936 358.4902 324.8813 358.3887 c +324.8247 358.2871 324.7056 358.2344 324.5942 358.2637 c +319.8247 359.5 315.2563 364.332 315.2563 371.6152 c +315.2544 384.1563 326.897 392.4727 339.6919 392.4727 c +345.688 392.4727 351.4907 390.7188 356.1646 387.4297 C +355.6118 383.2773 357.0317 378.6816 359.1313 375.5879 C +357.1821 382.457 359.2915 393.7656 369.8032 393.7676 c +375.6958 393.7656 379.5903 389.2383 379.5903 383.8867 c +379.5903 377.5605 374.2446 374.6094 369.895 375.2148 c +369.7798 375.2305 369.6899 375.3223 369.6763 375.4375 c +369.6646 375.5527 369.731 375.6602 369.8384 375.7031 c +371.4243 376.3105 372.7817 377.9727 372.7817 379.9668 c +372.7817 382.4668 370.8696 383.9492 368.8696 383.9492 c +365.5767 383.9492 363.7466 380.2793 364.8989 376.2305 C +364.8872 376.2285 L +365.9595 373.3926 366.561 370.2246 366.561 366.7363 c +366.561 349.9746 348.3813 334.002 325.4399 334 c +301.229 334 288.3872 351.2734 288.3892 369.0566 c +288.3892 378.5938 291.9692 385.8184 296.5767 390.4258 C +276.6548 388.3066 264.0786 396.8223 257.2974 409.1035 C +261.7759 412.9414 263.438 418.5723 Y +258.0649 411.5352 248.854 405.3945 235.9321 405.3945 c +216.356 405.3945 201.0005 424.5859 201.0005 445.1836 c +201.0005 458.2568 205.8032 470.9648 215.5649 479.4307 C +209.5278 484.459 206.9185 491.8018 209.6938 497.7344 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0.35 0.6 0.8 0.25 k + 0.35 0.6 0.8 0.25 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +73.2617 430.3711 m +73.3867 430.3711 73.4922 430.4629 73.5098 430.585 c +75.8906 446.5996 85.1641 459.9746 97.9023 467.9814 c +98.0059 468.0449 98.0488 468.1758 98.0039 468.29 c +97.957 468.4023 97.8379 468.4688 97.7168 468.4443 c +87.2461 466.3398 77.9238 460.5811 71.2695 452.4141 C +66.6436 465.7891 56.0332 474.418 42.9688 478.0654 C +47.7773 483.6582 45.2617 491.5986 37.8496 492.9023 c +37.7363 492.9229 37.624 492.8643 37.5752 492.7607 c +37.5273 492.6563 37.5537 492.5322 37.6416 492.46 c +41.6152 489.1143 40.1611 481.04 28.3047 481.04 c +20.5098 481.04 15.4844 484.2188 15.4844 488.5254 c +15.4844 491.9102 18.5459 493.7559 21.125 493.7559 c +25.541 493.7559 28.0645 489.7949 26.167 486.2129 c +26.1123 486.1104 26.1348 485.9814 26.2227 485.9033 c +26.3105 485.8271 26.4395 485.8184 26.5361 485.8857 c +28.7852 487.4492 30.3555 489.5059 30.3555 492.6768 c +30.3555 498.0635 25.3301 503.8066 17.0234 503.8066 c +8.10156 503.8066 0 496.9355 0 488.5254 c +0 476.71 10.0488 471.0918 20.6133 470.0918 C +16.248 468.4189 12.9795 463.5664 v +12.9141 463.4697 12.9238 463.3418 13.001 463.2559 c +13.0791 463.1689 13.2051 463.1475 13.3086 463.2012 c +19.1387 466.2822 25.7949 467.9453 32.8105 467.9453 c +52.4316 467.9453 69.3574 451.541 73.0098 430.5801 c +73.0313 430.4561 73.1377 430.3691 73.2617 430.3711 c +f +149.9395 482.7773 m +154.5488 490.4551 156.1914 503.627 151.8965 513.46 c +151.8477 513.5703 151.8828 513.6992 151.9824 513.7686 c +152.0801 513.8379 152.2148 513.8281 152.3027 513.7461 c +157.1094 509.1914 161.2422 498.5684 159.0078 486.2871 C +162.1055 483.8936 164.0527 481.5176 165.5215 478.335 c +165.5684 478.2314 165.541 478.1104 165.4551 478.0352 c +165.3691 477.9629 165.2441 477.9551 165.1484 478.0186 c +160.1523 481.3809 155.6855 482.5283 149.9395 482.7773 C +f +139.3301 362.9707 m +139.4004 362.8672 139.3828 362.7266 139.291 362.6426 c +139.1973 362.5586 139.0566 362.5547 138.959 362.6348 c +132.1445 368.1621 123.084 371.6895 111.9238 371.6895 c +84.3516 371.6895 66.9512 355.1719 64.2158 337.7637 c +64.1982 337.6523 64.1094 337.5664 63.998 337.5508 c +63.8857 337.5371 63.7773 337.5977 63.7324 337.7012 c +61.0068 343.959 59.3652 353.0352 67.7813 365.209 c +72.8154 372.4941 78.9102 377.5098 78.9102 384.0273 c +78.9102 388.2852 76.6504 391.1797 73.2227 391.1797 c +69.6172 391.1797 67.2861 388.0918 67.2861 384.625 c +67.2861 382.877 67.791 381.1465 68.6953 379.5801 c +68.7539 379.4766 68.7354 379.3496 68.6504 379.2676 c +68.5645 379.1875 68.4355 379.1758 68.3379 379.2402 c +65.3652 381.1777 62.7109 384.6367 62.7109 389.5117 c +62.7109 396.6836 68.8438 402.6816 77.1797 402.6816 c +86.1543 402.6816 93.5039 395.6328 93.5039 385.4922 c +93.5039 382.0156 92.5137 377.8242 90.041 374.3613 C +93.4258 377.1875 95.2324 379.1875 96.7188 383.5117 C +107.1191 385.3223 118.2246 383.6602 127.0488 377.8691 C +127.3047 383.9707 129.3008 389.0605 133.3926 393.1875 c +133.4766 393.2715 133.6074 393.2852 133.707 393.2227 c +133.8086 393.1582 133.8516 393.0332 133.8105 392.9219 c +130.9336 384.9199 132.8652 372.7246 139.3301 362.9707 c +f +226.6973 369.6055 m +224.4512 364.8066 219.2383 362.1211 213.2363 362.0117 c +213.1113 362.0098 213.0039 362.0977 212.9824 362.2188 c +212.959 362.3418 213.0273 362.4609 213.1426 362.5039 c +215.1895 363.2578 216.8047 364.5762 217.6641 366.4141 c +219.877 371.1426 216.2969 377.5098 209.6504 380.7832 c +209.5723 380.8223 209.5195 380.8965 209.5098 380.9824 c +209.5 381.0684 209.5332 381.1523 209.5996 381.207 c +213.8906 384.7266 219.0117 391.2617 219.0117 404.627 c +219.0117 423.3086 206.8574 441.0898 190.7363 441.0898 c +181.5234 441.0898 174.1035 434.6934 170.2656 425.0977 C +174.4863 430.8564 180.2441 435.2051 188.1777 435.2051 c +199.8203 435.2051 209.0332 422.7969 209.0332 404.8828 c +209.0332 387.9941 197.1328 368.2891 181.2676 368.2891 c +172.5664 368.2891 166.043 375.3281 166.043 384.4121 c +166.043 392.4746 171.2891 397.0781 177.1758 397.0781 c +181.6094 397.0781 184.668 393.9473 185.6191 390.5527 c +185.6504 390.4375 185.5996 390.3164 185.4922 390.2598 c +185.3867 390.2051 185.2578 390.2305 185.1797 390.3223 c +184.4277 391.2168 183.2832 391.9609 181.5254 391.9609 c +178.582 391.9609 177.0469 389.4316 177.0469 387.6113 c +177.0469 384.1563 179.6055 381.7246 183.4453 381.7246 c +188.6895 381.7246 192.7852 387.4824 192.7852 394.9023 c +192.7852 404.1152 183.9551 412.5586 175.127 412.5586 c +166.1055 412.5586 156.4473 404.5 156.4473 389.5293 c +156.4473 374.8164 166.4277 357.9258 182.293 357.9258 c +191.543 357.9258 199.4043 362.0957 205.4355 369.002 c +205.5156 369.0918 205.6484 369.1152 205.7539 369.0547 c +205.8594 368.9941 205.9063 368.8672 205.8672 368.752 c +201.4336 355.8164 203.9121 343.6074 210.6875 343.6074 c +214.002 343.6074 215.6895 345.9863 215.6895 348.5234 c +215.6895 351.1309 213.791 353.2852 210.7207 353.6777 c +210.5996 353.6934 210.5059 353.793 210.498 353.9141 c +210.4922 354.0352 210.5703 354.1465 210.6895 354.1758 c +217.5039 355.9395 224.5137 352.2285 224.5137 345.1328 c +224.5137 338.8555 219.1367 334.002 212.1016 334.002 c +201.4648 334.002 196.377 345.2715 198.6426 355.5371 C +193.1836 348.4922 185.0898 342.7012 173.4648 342.7012 c +149.9219 342.7012 138.0234 369.5703 138.0234 387.6113 c +138.0234 403.9883 141.3496 414.4785 148.2598 422.5391 C +140.1973 416.3984 136.8711 409.6172 135.3379 400.2773 C +129.1953 391.832 113.2031 391.832 v +106.5156 391.832 100.2734 394.3086 95.4297 398.998 C +95.4277 398.9961 95.4258 398.9941 95.4238 398.9902 C +95.3887 399.0313 95.3496 399.0703 95.3145 399.1094 C +94.9941 399.4238 94.6797 399.748 94.3711 400.082 C +89.3086 404.9316 79.1797 409.4785 69.9395 405.6797 c +69.834 405.6367 69.7129 405.6699 69.6426 405.7578 c +69.5723 405.8477 69.5703 405.9727 69.6377 406.0645 c +74.0449 412.0898 81.6621 414.0059 87.3164 413.1309 C +86.2715 416.8457 85.6934 421.0117 85.6934 425.6094 c +85.6934 442.0137 94.4922 453.5801 104.1055 459.2109 C +100.9512 463.0137 101.5957 468.9883 105.1367 473.0449 c +105.2168 473.1357 105.3477 473.1582 105.4531 473.0996 c +105.5566 473.041 105.6055 472.918 105.5703 472.8018 c +103.8398 467.2695 108.9629 462.6523 115.752 462.9004 c +115.875 462.9033 115.9824 462.8193 116.0098 462.6992 c +116.0352 462.5801 115.9707 462.457 115.8574 462.4111 c +105.7207 458.248 99 449.4316 99 438.4033 c +99 426.8906 105.9082 417.5488 117.041 417.5488 c +126.125 417.5488 135.209 425.8672 135.209 436.2285 c +135.209 444.2891 130.7305 449.0225 124.9727 449.0225 c +119.9844 449.0225 116.0176 445.5684 116.0176 441.4736 c +116.0176 435.6211 122.5996 433.499 126.1113 438.1309 c +126.1816 438.2227 126.3027 438.2559 126.4082 438.2129 c +126.5156 438.1699 126.5801 438.0625 126.5664 437.9482 c +126.043 433.5586 122.8145 429.4482 117.8086 429.4482 c +113.2031 429.4482 108.4688 433.2861 108.4688 441.4746 c +108.4688 451.1982 117.8066 461.0508 133.1602 461.0508 c +154.1426 461.0508 165.5313 437.3809 155.2969 418.4453 C +160.541 424.459 165.2754 430.8555 165.2754 442.2432 c +165.2754 463.75 144.0117 478.291 118.9219 469.7441 c +118.8027 469.7021 118.6719 469.7559 118.6152 469.8672 c +118.5566 469.9785 118.5879 470.1143 118.6895 470.1895 c +125.6953 475.2979 133.0332 482.8262 133.0332 495.4668 c +133.0332 508.6475 124.334 517.9854 110.7715 517.9854 c +100.2793 517.9854 93.627 511.5879 93.627 504.04 c +93.627 498.2822 97.3457 493.6768 103.7344 493.6768 c +113.2461 493.6768 116.4805 504.0195 111.5586 508.6445 c +111.4746 508.7236 111.4551 508.8516 111.5098 508.9521 c +111.5664 509.0547 111.6836 509.1055 111.7969 509.0762 c +116.5664 507.8398 121.1348 503.0068 121.1348 495.7236 c +121.1348 483.1855 109.4922 474.8682 96.6973 474.8682 c +90.7012 474.8682 84.8984 476.623 80.2266 479.9102 C +80.7773 484.0635 79.3574 488.6602 77.2598 491.752 C +79.209 484.8848 77.1016 473.5732 66.5859 473.5732 c +60.6953 473.5732 56.8008 478.1025 56.8008 483.4551 c +56.8008 489.7793 62.1465 492.7314 66.4961 492.125 c +66.6113 492.1104 66.7002 492.0186 66.7129 491.9023 c +66.7266 491.7891 66.6602 491.6797 66.5527 491.6367 c +64.9668 491.0293 63.6104 489.3691 63.6104 487.373 c +63.6104 484.873 65.5195 483.3906 67.5195 483.3906 c +70.8145 483.3906 72.6445 487.0605 71.4922 491.1104 C +71.5039 491.1104 L +70.4307 493.9473 69.8281 497.1152 69.8281 500.6055 c +69.8281 517.3672 88.0098 533.3398 110.9492 533.3398 c +135.1621 533.3398 148.0039 516.0664 148.0039 498.2822 c +148.0039 488.7461 144.4219 481.5225 139.8145 476.915 C +159.7363 479.0332 172.3125 470.5176 179.0938 458.2354 C +174.6152 454.3975 172.9531 448.7676 Y +178.3262 455.8057 187.5371 461.9453 200.459 461.9453 c +220.0352 461.9453 235.3906 442.7539 235.3906 422.1563 c +235.3906 409.084 230.5879 396.375 220.8262 387.9102 C +226.8633 382.8809 229.4727 375.5391 226.6973 369.6055 c +f +*U +*u +148.2109 494.9053 m +148.1777 494.7852 148.2383 494.6582 148.3516 494.6094 c +163.1758 488.0957 173.6367 475.6289 178.0059 461.2324 c +178.041 461.1152 178.1543 461.0391 178.2773 461.0527 c +178.3984 461.0664 178.4941 461.166 178.502 461.2871 c +179.2285 471.9434 176.127 482.4531 170 491.0234 C +184.1211 491.9648 195.2402 499.9297 202.1992 511.5723 C +206.3281 505.46 214.6504 505.7969 217.8594 512.6035 c +217.9102 512.708 217.8828 512.832 217.7949 512.9063 c +217.707 512.9805 217.5801 512.9873 217.4863 512.9219 c +213.2129 509.9688 205.8066 513.498 208.9277 524.9355 c +210.9805 532.4561 215.3711 536.4668 219.5254 535.333 c +222.791 534.4414 223.7656 531.002 223.0859 528.5146 c +221.9238 524.2539 217.4375 522.8623 214.4805 525.6357 c +214.3965 525.7158 214.2676 525.7285 214.1699 525.6641 c +214.0723 525.5986 214.0293 525.4775 214.0684 525.3662 c +214.9863 522.7852 216.5566 520.7285 219.6152 519.8936 c +224.8105 518.4756 231.6738 521.8115 233.8613 529.8252 c +236.2109 538.4316 231.7148 548.0566 223.6035 550.2715 c +212.2031 553.3818 204.1387 545.166 200.3926 535.2383 C +199.9258 539.8896 196.1074 544.3203 v +196.0313 544.4092 195.9043 544.4336 195.8008 544.3818 c +195.6973 544.3291 195.6426 544.2129 195.666 544.0996 c +197.1055 537.6641 196.957 530.8047 195.1094 524.0361 c +189.9434 505.1074 169.6621 493.0977 148.4785 495.0938 c +148.3535 495.1055 148.2402 495.0254 148.2109 494.9053 c +f +178.5801 407.1348 m +184.7734 400.666 197.0488 395.6133 207.6641 397.168 c +207.7852 397.1855 207.9004 397.1172 207.9395 397.0039 c +207.9805 396.8906 207.9355 396.7637 207.834 396.7012 c +202.1738 393.2617 190.8379 392.0723 179.5781 397.4609 C +176.4531 395.1035 173.6484 393.8496 170.1914 393.2715 c +170.0801 393.2539 169.9688 393.3125 169.9199 393.4141 c +169.873 393.5156 169.8984 393.6387 169.9844 393.7148 c +174.5449 397.6484 176.8281 401.6563 178.5801 407.1348 C +f +65.793 448.9121 m +65.6748 448.8711 65.5439 448.9258 65.4873 449.0371 c +65.4307 449.1484 65.4639 449.2852 65.5674 449.3594 c +72.6934 454.4785 78.4824 462.291 81.4199 473.0566 c +88.6797 499.6563 77.3262 520.7921 61.2529 528.0146 c +61.1494 528.0605 61.0898 528.1689 61.1045 528.2803 c +61.1211 528.3926 61.208 528.4814 61.3193 528.4971 c +68.0742 529.4785 77.2617 528.6729 86.791 517.3486 c +92.4922 510.5732 95.7266 503.373 102.0137 501.6563 c +106.1211 500.5352 109.5098 501.9551 110.4121 505.2617 c +111.3613 508.7393 108.9961 511.8018 105.6523 512.7148 c +103.9648 513.1738 102.1621 513.1436 100.4141 512.6836 c +100.2988 512.6533 100.1816 512.7051 100.125 512.8086 c +100.0703 512.9121 100.0918 513.04 100.1797 513.1172 c +102.832 515.4746 106.8672 517.125 111.5703 515.8408 c +118.4902 513.9531 122.6602 506.457 120.4668 498.415 c +118.1035 489.7578 109.3691 484.5234 99.5859 487.1934 c +96.2324 488.1084 92.4492 490.168 89.7598 493.4648 C +91.5938 489.4551 93.0488 487.1855 96.8281 484.6133 C +95.8359 474.1035 91.3086 463.8271 83.4004 456.8389 C +89.2188 454.9863 93.6035 451.7207 96.5078 446.6855 c +96.5664 446.582 96.5449 446.4531 96.459 446.373 c +96.3691 446.293 96.2383 446.2832 96.1406 446.3535 c +89.1797 451.2344 76.9043 452.582 65.793 448.9121 c +f +49.1914 362.8809 m +45.1533 366.3105 43.9355 372.0469 45.4102 377.8672 c +45.4414 377.9883 45.5537 378.0684 45.6768 378.0566 c +45.8018 378.0469 45.8984 377.9492 45.9092 377.8281 c +46.0977 375.6543 46.9443 373.748 48.4912 372.4355 c +52.4707 369.0566 59.5557 370.834 64.4629 376.3828 c +64.5215 376.4492 64.6074 376.4805 64.6924 376.4668 c +64.7783 376.4531 64.8506 376.3984 64.8857 376.3203 c +67.1514 371.2539 72.1074 364.5938 85 361.0742 c +103.0234 356.1563 123.3789 363.1992 127.623 378.752 c +130.0488 387.6406 125.8301 396.4824 117.584 402.7109 C +122.0293 397.123 124.707 390.4238 122.6172 382.7695 c +119.5527 371.5391 105.1563 365.918 87.875 370.6348 c +71.582 375.0801 55.7061 391.748 59.8828 407.0547 c +62.1738 415.4492 70.6816 419.8887 79.4453 417.4961 c +87.2227 415.375 90.2832 409.1016 88.7324 403.4219 c +87.5664 399.1445 83.7402 397.0195 80.2148 396.9941 c +80.0957 396.9941 79.9922 397.0762 79.9648 397.1934 c +79.9414 397.3105 79.998 397.4277 80.1074 397.4785 c +81.1699 397.9688 82.1875 398.877 82.6504 400.5742 c +83.4258 403.4121 81.3906 405.5605 79.6348 406.0391 c +76.3018 406.9492 73.2822 405.1211 72.2705 401.416 c +70.8906 396.3574 75.3662 390.8906 82.5234 388.9355 c +91.4121 386.5117 101.8828 392.8066 104.207 401.3223 c +106.582 410.0254 101.3496 421.4648 86.9082 425.4063 c +72.7148 429.2813 53.792 424.0996 49.6152 408.793 c +47.1797 399.8691 49.1328 391.1875 54.207 383.5508 c +54.2734 383.4512 54.2607 383.3164 54.1748 383.2305 c +54.0879 383.1445 53.9531 383.1328 53.8525 383.2012 c +42.541 390.8828 30.1104 391.707 28.3262 385.1699 c +27.4531 381.9727 29.3037 379.7188 31.752 379.0508 c +34.2676 378.3652 36.8457 379.6289 38.0322 382.4883 c +38.0791 382.5996 38.2002 382.6641 38.3193 382.6406 c +38.4375 382.6133 38.5244 382.5098 38.5215 382.3867 c +38.4287 375.3477 33.0029 369.5625 26.1572 371.4316 c +20.1016 373.084 16.835 379.5488 18.6875 386.3359 c +21.4883 396.5977 33.6992 398.5391 43.0059 393.6504 C +37.6465 400.7715 34.1914 410.1035 37.252 421.3184 c +43.4502 444.0313 72.5039 448.4355 89.9082 443.6855 c +105.707 439.373 114.9512 433.4023 120.9082 424.6152 C +117.1074 434.0098 111.4414 439.0039 102.834 442.9434 C +96.3047 451.0918 100.5156 466.5195 v +102.2754 472.9707 106.3086 478.3418 112.1074 481.7793 C +112.1074 481.7813 112.1055 481.7842 112.1016 481.7871 C +112.1504 481.8105 112.1992 481.8379 112.2461 481.8613 C +112.6328 482.0879 113.0293 482.3057 113.4316 482.5146 C +119.4434 486.1211 126.4961 494.6973 125.2656 504.6113 c +125.252 504.7236 125.3145 504.832 125.418 504.877 c +125.5234 504.9219 125.6445 504.8896 125.7148 504.8018 c +130.3672 498.9629 130.2109 491.1104 127.8789 485.8857 C +131.7363 485.915 135.9082 485.375 140.3438 484.165 c +156.168 479.8457 165.0117 468.3135 167.9121 457.5566 C +172.4102 459.5977 178.0059 457.4043 180.9883 452.9199 c +181.0527 452.8184 181.041 452.6855 180.957 452.5996 c +180.873 452.5156 180.7402 452.5 180.6387 452.5645 c +175.7578 455.6914 169.9551 451.9648 168.4043 445.3496 c +168.377 445.2305 168.2676 445.1484 168.1445 445.1543 c +168.0215 445.1602 167.9199 445.2539 167.9063 445.377 c +166.5586 456.251 159.8223 465.0566 149.1836 467.96 c +138.0762 470.9922 127.2441 466.7852 124.3145 456.0469 c +121.9219 447.2832 127.5566 436.3301 137.5508 433.6016 c +145.3281 431.4785 151.0742 434.5527 152.5898 440.1074 c +153.9043 444.9199 151.6152 449.6563 147.666 450.7344 c +142.0176 452.2754 138.2383 446.4844 141.7832 441.877 c +141.8516 441.7852 141.8535 441.6602 141.7832 441.5684 c +141.7148 441.4766 141.5918 441.4434 141.4863 441.4863 c +137.3887 443.1465 134.2734 447.3418 135.5918 452.1729 c +136.8047 456.6152 141.7539 460.1729 149.6543 458.0166 c +159.0352 455.457 166.0801 443.8555 162.0371 429.043 c +156.5137 408.7988 130.6797 404.0449 115.1074 418.9043 C +119.5273 412.2617 124.4512 406.0098 135.4375 403.0117 c +156.1875 397.3496 175.8125 414.0332 174.1719 440.4902 c +174.1641 440.6152 174.25 440.7285 174.373 440.7539 c +174.4941 440.7813 174.6191 440.7129 174.6641 440.5977 c +177.7461 432.4922 183.0781 423.4316 195.2734 420.1035 c +207.9883 416.6328 219.2871 422.5664 222.8594 435.6504 c +225.6211 445.7734 221.2012 453.875 213.9199 455.8623 c +208.3652 457.3789 202.9414 455.0039 201.2598 448.8398 c +198.7559 439.6641 207.8828 433.8203 213.6406 437.3516 c +213.7383 437.4121 213.8672 437.3965 213.9492 437.3164 c +214.0332 437.2363 214.0508 437.1094 213.9922 437.0078 c +211.5449 432.7324 205.6797 429.5977 198.6543 431.5156 c +186.5566 434.8164 181.5996 448.2383 184.9668 460.5811 c +186.5449 466.3652 189.7676 471.502 194.168 475.1426 C +198.0293 473.5186 202.8379 473.6777 206.373 474.8867 C +199.2344 474.8154 188.8789 479.8262 191.6465 489.9707 c +193.1973 495.6533 198.5918 498.2188 203.7559 496.8086 c +209.8574 495.1436 211.2969 489.21 209.5684 485.1729 c +209.5215 485.0654 209.4102 485.0039 209.2969 485.0225 c +209.1816 485.04 209.0938 485.1318 209.082 485.2471 c +208.9141 486.9375 207.668 488.6836 205.7441 489.208 c +203.332 489.8662 201.3984 488.415 200.873 486.4854 c +200.0039 483.3066 203.0625 480.5752 207.2734 480.6211 C +207.2695 480.6094 L +210.2891 480.8984 213.5039 480.6445 216.8711 479.7266 c +233.041 475.3125 243.6641 453.5674 237.623 431.4375 c +231.248 408.0781 211.2051 400.2363 194.0469 404.9199 c +184.8477 407.4297 178.8223 412.7871 175.5898 418.4453 C +172.3887 398.668 160.8613 388.7793 147.2285 385.4707 C +144.7051 390.8008 139.7109 393.8867 Y +145.0859 386.8496 148.584 376.3477 145.1816 363.8809 c +140.0273 344.9961 117.4707 335.2344 97.5996 340.6582 c +84.9883 344.0996 73.9922 352.0801 68.3965 363.7266 C +61.9551 359.2266 54.1855 358.6406 49.1914 362.8809 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0 0 0 0 k + 0 0 0 0 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +196.1289 436.9688 m +196.0039 436.9688 195.8984 436.877 195.8789 436.7539 c +193.5 420.7402 184.2266 407.3652 171.4883 399.3594 c +171.3848 399.2949 171.3398 399.1641 171.3867 399.0508 c +171.4316 398.9375 171.5527 398.8711 171.6719 398.8965 c +182.1445 401 191.4648 406.7598 198.1211 414.9277 C +202.7461 401.5508 213.3574 392.9219 226.4219 389.2734 C +221.6133 383.6816 224.1289 375.7402 231.541 374.4375 c +231.6543 374.416 231.7656 374.4746 231.8145 374.5781 c +231.8633 374.6816 231.8359 374.8066 231.748 374.8809 c +227.7754 378.2266 229.2285 386.3008 241.0859 386.3008 c +248.8794 386.3008 253.9067 383.1211 253.9067 378.8145 c +253.9067 375.4297 250.8442 373.584 248.2642 373.584 c +243.8501 373.584 241.3262 377.5449 243.2227 381.127 c +243.2773 381.2305 243.2559 381.3574 243.168 381.4355 c +243.0801 381.5137 242.9512 381.5215 242.8535 381.4551 c +240.6055 379.8906 239.0352 377.834 239.0352 374.6641 c +239.0352 369.2773 244.061 363.5352 252.3677 363.5332 c +261.2896 363.5332 269.3911 370.4043 269.3911 378.8145 c +269.3911 390.6309 259.3423 396.248 248.7778 397.248 C +253.1431 398.9219 256.4106 403.7734 v +256.4771 403.8691 256.4673 403.998 256.3892 404.084 c +256.311 404.1719 256.1841 404.1934 256.0825 404.1387 c +250.2524 401.0566 243.5938 399.3945 236.5801 399.3945 c +216.957 399.3945 200.0332 415.7988 196.3809 436.7607 c +196.3594 436.8818 196.252 436.9727 196.1289 436.9688 c +f +119.4512 384.5625 m +114.8438 376.8867 113.1992 363.7129 117.4941 353.8809 c +117.543 353.7695 117.5078 353.6406 117.4082 353.5703 c +117.3086 353.502 117.1758 353.5117 117.0879 353.5957 c +112.2813 358.1484 108.1484 368.7715 110.3828 381.0527 C +107.2871 383.4473 105.3379 385.8223 103.8691 389.0059 c +103.8223 389.1074 103.8496 389.2305 103.9355 389.3047 c +104.0215 389.377 104.1465 389.3848 104.2422 389.3203 c +109.2383 385.959 113.7051 384.8125 119.4512 384.5625 C +f +130.0586 504.3691 m +129.9902 504.4727 130.0078 504.6133 130.0996 504.6973 c +130.1934 504.7813 130.334 504.7852 130.4316 504.7061 c +137.2461 499.1797 146.3066 495.6504 157.4668 495.6504 c +185.0371 495.6504 202.4395 512.1689 205.1738 529.5771 c +205.1914 529.6885 205.2813 529.7734 205.3926 529.7891 c +205.5039 529.8047 205.6133 529.7422 205.6582 529.6396 c +208.3828 523.3818 210.0254 514.3057 201.6094 502.1309 c +196.5742 494.8457 190.4785 489.8311 190.4785 483.3145 c +190.4785 479.0566 192.7402 476.1602 196.168 476.1602 c +199.7734 476.1602 202.1055 479.248 202.1035 482.7148 c +202.1035 484.4629 201.5996 486.1934 200.6953 487.7607 c +200.6367 487.8633 200.6543 487.9902 200.7402 488.0723 c +200.8242 488.1523 200.9551 488.165 201.0527 488.1016 c +204.0254 486.1641 206.6797 482.7021 206.6797 477.8281 c +206.6797 470.6563 200.5469 464.6602 192.209 464.6602 c +183.2363 464.6602 175.8867 471.709 175.8867 481.8477 c +175.8867 485.3262 176.875 489.5156 179.3496 492.9805 C +175.9648 490.1523 174.1582 488.1523 172.6719 483.8271 C +162.2715 482.0186 151.166 483.6797 142.3398 489.4727 C +142.0859 483.3711 140.0898 478.2793 135.998 474.1533 c +135.9141 474.0684 135.7832 474.0547 135.6836 474.1182 c +135.582 474.1816 135.541 474.3066 135.5801 474.4189 c +138.457 482.4199 136.5234 494.6152 130.0586 504.3691 c +f +42.6934 497.7344 m +44.9375 502.5352 50.1523 505.2188 56.1543 505.3271 c +56.2793 505.3311 56.3867 505.2432 56.4082 505.1211 c +56.4316 504.998 56.3633 504.8779 56.248 504.8359 c +54.2012 504.082 52.5859 502.7637 51.7266 500.9258 c +49.5137 496.1973 53.0938 489.8301 59.7402 486.5566 c +59.8184 486.5186 59.8711 486.4434 59.8809 486.3594 c +59.8906 486.2725 59.8555 486.1885 59.791 486.1318 c +55.5 482.6143 50.3789 476.0781 50.3789 462.7148 c +50.377 444.0322 62.5332 426.25 78.6543 426.25 c +87.8672 426.25 95.2871 432.6465 99.125 442.2422 C +94.9023 436.4844 89.1445 432.1348 81.2109 432.1348 c +69.5703 432.1348 60.3574 444.5439 60.3555 462.459 c +60.3555 479.3457 72.2578 499.0518 88.1211 499.0508 c +96.8242 499.0488 103.3477 492.0117 103.3477 482.9277 c +103.3477 474.8672 98.1016 470.2637 92.2168 470.2637 c +87.7793 470.2637 84.7227 473.3936 83.7715 476.7871 c +83.7383 476.9023 83.791 477.0254 83.8965 477.0811 c +84.0039 477.1357 84.1328 477.1104 84.2109 477.0186 c +84.9629 476.124 86.1074 475.3809 87.8652 475.3809 c +90.8086 475.3789 92.3438 477.9082 92.3438 479.7285 c +92.3438 483.1836 89.7852 485.6152 85.9453 485.6152 c +80.7031 485.6152 76.6055 479.8564 76.6055 472.4385 c +76.6055 463.2236 85.4355 454.7813 94.2637 454.7813 c +103.2852 454.7813 112.9434 462.8408 112.9434 477.8125 c +112.9414 492.5234 102.9648 509.4141 87.0977 509.4141 c +77.8477 509.4141 69.9844 505.2441 63.9551 498.3398 c +63.875 498.248 63.7422 498.2246 63.6387 498.2852 c +63.5313 498.3477 63.4844 498.4727 63.5234 498.5879 c +67.957 511.5234 65.4766 523.7344 58.7031 523.7324 c +55.3887 523.7324 53.7012 521.3535 53.7012 518.8154 c +53.7012 516.21 55.5996 514.0566 58.6699 513.6611 c +58.791 513.6475 58.8828 513.5479 58.8926 513.4268 c +58.8984 513.3047 58.8184 513.1943 58.7012 513.1641 c +51.8867 511.4004 44.877 515.1133 44.877 522.2061 c +44.877 528.4854 50.2539 533.3398 57.2891 533.3398 c +67.9258 533.3379 73.0137 522.0684 70.748 511.8047 C +76.207 518.8486 84.3008 524.6396 95.9258 524.6396 c +119.4688 524.6396 131.3672 497.7715 131.3672 479.7285 c +131.3672 463.3525 128.041 452.8604 121.1309 444.8018 C +129.1934 450.9404 132.5195 457.7227 134.0547 467.0645 C +140.1953 475.5078 156.1875 475.5078 v +162.875 475.5078 169.1172 473.0322 173.9609 468.3438 C +173.9629 468.3447 173.9648 468.3477 173.9668 468.3486 C +174.002 468.3105 174.0391 468.2695 174.0762 468.2314 C +174.3965 467.915 174.7109 467.5918 175.0195 467.2578 C +180.0801 462.4102 190.2109 457.8633 199.4512 461.6602 c +199.5566 461.7031 199.6777 461.6699 199.748 461.582 c +199.8184 461.4932 199.8184 461.3672 199.752 461.2754 c +195.3457 455.252 187.7285 453.335 182.0742 454.21 C +183.1172 450.4941 183.6953 446.3281 183.6953 441.7305 c +183.6973 425.3262 174.8984 413.7598 165.2852 408.1289 C +168.4375 404.3281 167.7949 398.3535 164.2539 394.2949 c +164.1738 394.2051 164.043 394.1816 163.9375 394.2402 c +163.834 394.2988 163.7832 394.4238 163.8184 394.5391 c +165.5508 400.0703 160.4277 404.6875 153.6387 404.4395 c +153.5156 404.4355 153.4063 404.5195 153.3809 404.6406 c +153.3555 404.7617 153.418 404.8828 153.5332 404.9277 c +163.668 409.0918 170.3906 417.9102 170.3887 428.9355 c +170.3906 440.4492 163.4805 449.79 152.3496 449.79 c +143.2656 449.79 134.1816 441.4727 134.1816 431.1133 c +134.1816 423.0508 138.6582 418.3184 144.416 418.3164 c +149.4063 418.3184 153.373 421.7715 153.373 425.8672 c +153.373 431.7188 146.7891 433.8408 143.2773 429.209 c +143.209 429.1172 143.0859 429.084 142.9805 429.127 c +142.875 429.1689 142.8105 429.2773 142.8223 429.3926 c +143.3457 433.7813 146.5762 437.8926 151.582 437.8926 c +156.1875 437.8926 160.9219 434.0518 160.9219 425.8652 c +160.9219 416.1406 151.584 406.291 136.2305 406.2891 c +115.2461 406.2891 103.8594 429.959 114.0938 448.8945 C +108.8496 442.8809 104.1152 436.4844 104.1152 425.0977 c +104.1133 403.5898 125.3789 389.0488 150.4688 397.5977 c +150.5879 397.6367 150.7188 397.584 150.7754 397.4746 c +150.834 397.3633 150.8008 397.2266 150.6992 397.1523 c +143.6934 392.043 136.3555 384.5137 136.3555 371.873 c +136.3555 358.6934 145.0547 349.3535 158.6191 349.3535 c +169.1094 349.3535 175.7637 355.752 175.7637 363.2988 c +175.7637 369.0566 172.0449 373.6641 165.6563 373.6641 c +156.1426 373.6641 152.9082 363.3203 157.832 358.6953 c +157.916 358.6152 157.9355 358.4902 157.8809 358.3887 c +157.8242 358.2871 157.7051 358.2344 157.5938 358.2637 c +152.8242 359.5 148.2559 364.332 148.2559 371.6152 c +148.2539 384.1563 159.8965 392.4727 172.6914 392.4727 c +178.6875 392.4727 184.4902 390.7188 189.1641 387.4297 C +188.6113 383.2773 190.0313 378.6816 192.1309 375.5879 C +190.1816 382.457 192.291 393.7656 202.8027 393.7676 c +208.6953 393.7656 212.5898 389.2383 212.5898 383.8867 c +212.5898 377.5605 207.2441 374.6094 202.8945 375.2148 c +202.7793 375.2305 202.6895 375.3223 202.6758 375.4375 c +202.6641 375.5527 202.7305 375.6602 202.8379 375.7031 c +204.4238 376.3105 205.7813 377.9727 205.7813 379.9668 c +205.7813 382.4668 203.8691 383.9492 201.8691 383.9492 c +198.5762 383.9492 196.7461 380.2793 197.8984 376.2305 C +197.8867 376.2285 L +198.959 373.3926 199.5605 370.2246 199.5605 366.7363 c +199.5605 349.9746 181.3809 334.002 158.4395 334 c +134.2285 334 121.3867 351.2734 121.3887 369.0566 c +121.3887 378.5938 124.9688 385.8184 129.5762 390.4258 C +109.6543 388.3066 97.0781 396.8223 90.2969 409.1035 C +94.7754 412.9414 96.4375 418.5723 Y +91.0645 411.5352 81.8535 405.3945 68.9316 405.3945 c +49.3555 405.3945 34 424.5859 34 445.1836 c +34 458.2568 38.8027 470.9648 48.5645 479.4307 C +42.5273 484.459 39.918 491.8018 42.6934 497.7344 c +f +*U +%AI6_EndPatternLayer +) & +] E +%AI3_EndPattern +%AI5_End_NonPrinting-- +%AI5_Begin_NonPrinting +Np +%AI8_BeginBrushPattern +(New Pattern 11) 0 A +u +0 J 0 j 1 w 4 M []0 d 0 XR +-7844.6191 7768.6997 m +-7844.6191 7721.3188 L +-7892 7721.3188 L +-7892 7768.6997 L +-7844.6191 7768.6997 L +n +u +0 O +0 0 0 1 k +-7867.4058 7764.4551 m +-7869.1816 7764.4551 L +-7869.1816 7769 L +-7867.4058 7769 L +-7867.4058 7764.4551 L +f +-7867.4058 7757.6855 m +-7869.1816 7757.6855 L +-7869.1816 7762.23 L +-7867.4058 7762.23 L +-7867.4058 7757.6855 L +f +-7867.4058 7750.9185 m +-7869.1816 7750.9185 L +-7869.1816 7755.4629 L +-7867.4058 7755.4629 L +-7867.4058 7750.9185 L +f +-7867.4058 7744.1494 m +-7869.1816 7744.1494 L +-7869.1816 7748.6934 L +-7867.4058 7748.6934 L +-7867.4058 7744.1494 L +f +U +u +-7860.3809 7745.9238 m +-7860.3809 7744.146 L +-7864.9258 7744.146 L +-7864.9258 7745.9238 L +-7860.3809 7745.9238 L +f +-7846.8442 7745.9238 m +-7846.8442 7744.146 L +-7851.3882 7744.146 L +-7851.3882 7745.9238 L +-7846.8442 7745.9238 L +f +U +*u +1 D +-7855.4922 7744.146 m +-7853.6118 7744.146 L +-7853.6118 7745.9238 L +-7858.1558 7745.9238 L +-7858.1558 7744.146 L +-7857.3306 7744.146 L +-7858.4585 7741.2109 L +-7861.8838 7740.1733 L +-7862.3145 7740.0127 -7862.3818 7740.2061 -7862.4609 7740.5845 c +-7862.7915 7742.1582 -7864.0337 7742.5825 -7865.0703 7742.1934 c +-7866.1855 7741.7749 -7866.9023 7740.4141 -7866.4785 7739.2788 c +-7866.0825 7738.2236 -7865.0215 7737.9512 -7864.0439 7738.3184 c +-7863.2817 7738.6021 -7862.6255 7739.2949 -7861.8623 7739.5791 c +-7860.9824 7739.9102 -7859.7529 7739.7222 -7858.9312 7739.3164 C +-7858.9658 7738.8135 -7859.1592 7738.3164 -7859.3945 7737.8735 c +-7859.9458 7736.8408 -7860.4375 7736.3672 -7861.3984 7735.7168 c +-7861.7842 7735.439 -7862.2246 7735.1855 -7862.5625 7734.8359 c +-7863.1738 7734.2036 -7863.5186 7733.3398 -7863.1978 7732.478 c +-7862.8374 7731.5215 -7861.8345 7731.1597 -7860.9146 7731.5039 c +-7859.8184 7731.9165 -7859.0513 7733.3184 -7859.4746 7734.4512 c +-7859.7007 7735.0581 -7860.2271 7735.3301 -7860.3008 7735.5254 c +-7860.4395 7735.8984 -7859.4858 7736.5664 -7859.2671 7736.7598 c +-7858.6074 7737.3184 -7858.0845 7738.3628 -7857.6978 7739.1768 C +-7851.4033 7741.1309 L +-7850.0137 7741.6504 -7848.8535 7742.5967 -7848.0103 7743.8047 C +-7856.5176 7741.8037 L +-7855.4922 7744.146 L +f +0 D +-7860.0366 7734.1069 m +-7859.7524 7733.3452 -7860.3882 7732.3047 -7861.1113 7732.0332 c +-7861.8359 7731.7612 -7862.4214 7732.0781 -7862.6934 7732.8008 c +-7862.9863 7733.5845 -7862.1455 7734.6133 -7861.4199 7734.8838 c +-7860.7954 7735.1182 -7860.25 7734.6758 -7860.0366 7734.1069 c +f +-7864.2695 7738.8584 m +-7864.9146 7738.6172 -7865.6689 7738.8452 -7865.9185 7739.5117 c +-7866.2319 7740.3535 -7865.6685 7741.3452 -7864.8657 7741.6455 c +-7864.2002 7741.894 -7863.4302 7741.6255 -7863.1675 7740.9199 c +-7862.8232 7740.0024 -7863.4082 7739.1797 -7864.2695 7738.8584 c +f +*U +U +%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 4) 0 A +u +1 Ap +0 J 0 j 1 w 4 M []0 d 0 XR +-7845.6191 7770 m +-7845.6191 7722.6191 L +-7893 7722.6191 L +-7893 7770 L +-7845.6191 7770 L +n +u +0 O +0 0 0 1 k +-7888.4551 7747.2222 m +-7888.4551 7745.4453 L +-7893 7745.4453 L +-7893 7747.2222 L +-7888.4551 7747.2222 L +f +-7881.6865 7747.2222 m +-7881.6865 7745.4453 L +-7886.2314 7745.4453 L +-7886.2314 7747.2222 L +-7881.6865 7747.2222 L +f +-7874.9185 7747.2222 m +-7874.9185 7745.4453 L +-7879.4634 7745.4453 L +-7879.4634 7747.2222 L +-7874.9185 7747.2222 L +f +-7868.1494 7747.2222 m +-7868.1494 7745.4453 L +-7872.6934 7745.4453 L +-7872.6934 7747.2222 L +-7868.1494 7747.2222 L +f +-7861.3809 7747.2222 m +-7861.3809 7745.4453 L +-7865.9258 7745.4453 L +-7865.9258 7747.2222 L +-7861.3809 7747.2222 L +f +-7854.6113 7747.2222 m +-7854.6113 7745.4453 L +-7859.1558 7745.4453 L +-7859.1558 7747.2222 L +-7854.6113 7747.2222 L +f +-7847.8442 7747.2222 m +-7847.8442 7745.4453 L +-7852.3882 7745.4453 L +-7852.3882 7747.2222 L +-7847.8442 7747.2222 L +f +U +U +%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(Unnamed 6) 0 A +u +u +0 Ap +0 J 0 j 1 w 4 M []0 d 0 XR +-4020.5 3897.5 m +-3919.1816 3897.5 L +-3919.1816 3889.7832 L +-4020.5 3889.7832 L +-4020.5 3897.5 L +n +u +0 O +0 0 0 1 k +-3919.3 3891.2073 m +-3919.1504 3891.2434 -3919.2041 3890.8247 -3919.1816 3890.7495 C +-3919.4319 3890.8423 -3919.2937 3891.3159 -3919.3 3891.2073 C +f +-3921.7693 3892.1582 m +-3921.7256 3891.9871 L +-3922.0896 3892.4063 L +-3921.7693 3892.1582 L +f +-3924.0784 3892.1504 m +-3923.8601 3892.8643 -3923.2417 3892.0352 -3922.8303 3892.2891 C +-3922.7625 3892.4514 L +-3922.5769 3891.8774 L +-3923.0769 3891.9683 -3923.7263 3892.3496 -3924.0784 3892.1504 C +f +-3925.3096 3890.6062 m +-3925.2336 3890.8843 -3925.5759 3890.8455 -3925.0225 3890.6936 C +-3925.0503 3890.6631 -3925.0583 3890.6455 -3925.0745 3890.6233 C +-3925.1243 3890.6272 -3925.1929 3890.6262 -3925.3096 3890.6062 C +f +-3925.0745 3890.6233 m +-3924.8313 3890.6033 -3925.2336 3890.3894 -3925.0745 3890.6233 C +-3925.0745 3890.6233 L +f +-3926.1975 3890.7822 m +-3925.8772 3890.5342 L +-3925.9441 3890.3699 -3926.2292 3890.3333 -3926.1233 3890.2139 C +-3926.4519 3890.3496 -3926.3843 3890.5127 -3926.1975 3890.7822 C +f +-3926.5012 3891.3032 m +-3926.3352 3891.1982 L +-3926.3643 3891.1294 -3926.4082 3891.1055 -3926.5012 3891.3032 C +f +-3925.9832 3890.9768 m +-3926.3352 3891.1982 L +-3926.2888 3891.3135 -3926.2839 3891.5447 -3926.1736 3891.1184 C +-3926.2024 3891.3296 -3926.1328 3891.1262 -3925.9832 3890.9768 C +f +-3925.7839 3891.0854 m +-3925.6042 3891.2407 -3925.3721 3891.3384 -3925.6936 3891.5854 C +-3925.0808 3891.4871 -3925.1711 3890.9856 -3925.7839 3891.0854 C +f +-3924.1963 3892.8887 m +-3923.9561 3893.0974 L +-3923.7483 3892.8584 L +-3923.8521 3892.9771 -3924.2112 3892.6653 -3924.1963 3892.8887 C +f +-3928.1929 3890.4126 m +-3928.2129 3890.5642 -3928.0852 3890.8174 -3928.0613 3891.0115 C +-3927.8247 3890.8374 L +-3927.9463 3890.7334 -3928.1768 3890.6375 -3928.1929 3890.4126 C +f +-3928.0613 3891.0115 m +-3928.4153 3891.2722 L +-3928.0991 3891.3032 -3928.0413 3891.1792 -3928.0613 3891.0115 C +f +-3926.5583 3892.0955 m +-3925.9768 3891.5479 L +-3926.6704 3892.1033 L +-3926.5583 3892.0955 L +f +-3929.5449 3890.3936 m +-3929.3442 3890.0422 L +-3929.7017 3890.573 L +-3929.5449 3890.3936 L +f +-3930.4417 3890.4551 m +-3930.2932 3890.1638 -3930.6453 3889.9624 -3930.4883 3889.7832 C +-3930.7319 3889.8352 -3930.9399 3890.0854 -3931.1272 3890.3098 C +-3930.9282 3890.1848 -3930.7161 3890.2168 -3930.4417 3890.4551 C +f +-3931.4417 3890.6375 m +-3931.3423 3890.5679 -3931.2393 3890.4426 -3931.1272 3890.3098 C +-3931.2329 3890.3774 -3931.3369 3890.4739 -3931.4417 3890.6375 C +f +-3929.0183 3891.197 m +-3929.0457 3891.1055 -3929.0984 3890.865 -3929.2969 3890.7634 C +-3929.1577 3891.1907 L +-3929.1152 3891.1936 -3929.0671 3891.1951 -3929.0183 3891.197 C +f +-3929.1528 3891.2046 m +-3929.1577 3891.1907 L +-3929.3088 3891.1814 -3929.4136 3891.1719 -3929.4585 3891.1672 c +-3929.4199 3891.1707 -3929.3279 3891.1814 -3929.1528 3891.2046 C +f +-3928.9832 3891.1992 m +-3928.9961 3891.1982 -3929.0056 3891.197 -3929.0183 3891.197 C +-3929.0049 3891.239 -3928.9968 3891.2534 -3928.9832 3891.1992 C +f +-3927.4863 3891.7092 m +-3927.6943 3891.948 -3928.1279 3892.2039 -3927.7083 3892.5684 C +-3927.5591 3892.2759 -3927.7993 3892.0684 -3927.4863 3891.7092 c +f +-3928.8103 3891.7334 m +-3928.4343 3891.8311 L +-3928.4417 3891.7183 -3928.5095 3891.5535 -3928.4065 3891.4351 C +-3928.8103 3891.7334 L +f +-3928.9944 3891.8691 m +-3928.8103 3891.7334 L +-3928.9497 3891.697 L +-3928.9944 3891.8691 L +f +-3930.7976 3891.0376 m +-3930.96 3891.2234 -3931.1377 3891.239 -3931.3384 3891.2693 C +-3931.1233 3891.3533 -3930.9009 3891.3982 -3930.6897 3891.3975 C +-3930.6599 3891.2632 -3930.5671 3891.0222 -3930.7976 3891.0376 C +f +-3929.9983 3891.1563 m +-3930.0095 3891.1663 -3930.0239 3891.1707 -3930.0344 3891.1807 C +-3930.0122 3891.2168 -3929.9944 3891.2283 -3929.9983 3891.1563 C +f +-3933.3142 3891.2659 m +-3933.3032 3891.2896 -3933.2937 3891.3186 -3933.2825 3891.344 C +-3933.28 3891.3186 -3933.2783 3891.2947 -3933.2751 3891.27 C +-3933.3142 3891.2659 L +f +-3930.6536 3891.4771 m +-3930.4919 3891.5596 -3930.3953 3891.4551 -3930.3032 3891.323 C +-3930.4241 3891.3662 -3930.5522 3891.3943 -3930.6897 3891.3975 C +-3930.7031 3891.4583 -3930.7056 3891.4983 -3930.6536 3891.4771 C +f +-3931.9929 3890.8374 m +-3931.9087 3890.9268 -3931.8132 3891.0022 -3931.7129 3891.0723 C +-3931.7952 3890.9373 -3931.9631 3890.7258 -3931.9929 3890.8374 C +f +-3930.0889 3891.0623 m +-3930.0808 3891.0554 -3930.0735 3891.0479 -3930.0647 3891.0435 C +-3930.1177 3890.9514 -3930.1111 3890.9966 -3930.0889 3891.0623 C +f +-3930.0889 3891.0623 m +-3930.1721 3891.1243 -3930.2375 3891.2295 -3930.3032 3891.323 C +-3930.2048 3891.2896 -3930.1135 3891.2434 -3930.0344 3891.1807 C +-3930.0544 3891.1504 -3930.0745 3891.1042 -3930.0889 3891.0623 C +f +-3933.9128 3894.009 m +-3933.8843 3893.613 -3933.4592 3893.2471 -3933.0923 3893.6719 C +-3932.7312 3893.3752 -3932.9673 3892.0723 -3933.2825 3891.344 C +-3933.2937 3891.5166 -3933.2937 3891.6763 -3933.6653 3891.9104 C +-3933.5352 3892.1262 -3932.8408 3892.4163 -3933.1543 3892.7744 C +-3933.6465 3892.9783 -3933.5576 3892.6343 -3933.7969 3892.4248 C +-3933.5935 3892.9182 -3934.4231 3893.1431 -3934.3159 3893.8687 C +-3933.8843 3893.613 L +-3933.8762 3893.7258 -3934.0327 3893.9063 -3933.9128 3894.009 C +f +-3932.5745 3891.3843 m +-3932.4216 3891.3352 L +-3932.5959 3891.2659 -3932.7207 3891.1079 -3932.9504 3890.7979 C +-3933.2048 3890.9912 -3933.2576 3891.1382 -3933.2751 3891.27 C +-3932.5222 3891.3252 L +-3932.5745 3891.3843 L +f +-3931.7351 3891.3335 m +-3931.8545 3891.7646 -3932.2217 3891.948 -3931.9968 3892.4138 C +-3931.5481 3892.3843 -3931.6824 3892.0542 -3931.4143 3891.8672 C +-3932.1384 3891.9739 -3931.2063 3891.6272 -3931.7295 3891.3828 C +-3931.5872 3891.3096 -3931.4592 3891.2871 -3931.3384 3891.2693 C +-3931.4688 3891.2168 -3931.5945 3891.1519 -3931.7129 3891.0723 C +-3931.7063 3891.0823 -3931.7017 3891.0896 -3931.6963 3891.0991 C +-3931.6929 3891.0974 L +-3931.6929 3891.1006 -3931.6936 3891.1016 -3931.6936 3891.1042 C +-3931.6624 3891.1582 -3931.6521 3891.1907 -3931.6873 3891.1594 C +-3931.6897 3891.1653 -3931.6985 3891.1672 -3931.7024 3891.1682 C +-3931.7073 3891.2283 -3931.7207 3891.2808 -3931.7351 3891.3311 C +-3931.9448 3891.2422 -3931.7681 3891.219 -3931.7024 3891.1682 C +-3931.7 3891.1475 -3931.6943 3891.1272 -3931.6936 3891.1042 C +-3931.6943 3891.1018 -3931.6953 3891.1006 -3931.6963 3891.0991 C +-3932.4216 3891.3352 L +-3932.2681 3891.3953 -3932.0759 3891.3828 -3931.7351 3891.3335 C +f +-3928.0952 3893.4951 m +-3928.1177 3893.4573 -3928.1167 3893.4263 -3928.1184 3893.3953 C +-3928.1653 3893.448 -3928.1831 3893.4839 -3928.0952 3893.4951 C +f +-3928.3936 3893.2346 m +-3928.3408 3893.1748 -3928.2969 3893.0022 -3928.1255 3893.0466 C +-3927.9768 3893.1763 -3928.1262 3893.2534 -3928.1184 3893.3953 C +-3928.0151 3893.2808 -3927.7568 3893.0859 -3928.0808 3892.8762 C +-3928.1321 3892.9351 L +-3928.4241 3892.7871 -3928.7993 3892.2495 -3928.7483 3892.1902 C +-3928.6631 3892.5779 -3928.5879 3892.8542 -3928.3936 3893.2346 C +f +-3930.0852 3892.3943 m +-3930.6892 3892.6055 L +-3930.3816 3892.9783 L +-3930.3972 3892.7544 L +-3930.0537 3892.8423 -3930.1279 3892.5664 -3930.0852 3892.3943 C +f +-3933.3833 3891.052 m +-3933.3032 3890.5967 L +-3933.6521 3891.239 L +-3933.3833 3891.052 L +f +-3934.1682 3891.1062 m +-3934.1392 3890.7102 L +-3934.3464 3890.9492 L +-3934.1682 3891.1062 L +f +-3978.4617 3896.0166 m +-3978.6392 3896.1287 L +-3978.5552 3896.0942 -3978.5012 3896.0566 -3978.4617 3896.0166 C +f +-3977.1768 3896.0435 m +-3977.1453 3895.8486 L +-3977.2048 3895.9558 -3977.2292 3896.0352 -3977.1768 3896.0435 C +f +-3953.4456 3891.1506 m +-3953.7041 3890.781 -3953.9929 3890.2083 -3953.9617 3890.6531 C +-3953.8823 3891.0867 L +-3953.7017 3891.009 -3953.5632 3891.0576 -3953.4456 3891.1506 C +f +-3966.6479 3893.7412 m +-3966.6233 3893.7832 -3966.5977 3893.8286 -3966.5723 3893.8733 C +-3966.5095 3893.7246 -3966.4504 3893.5867 -3966.3977 3893.4583 C +-3966.4729 3893.5466 -3966.5583 3893.6416 -3966.6479 3893.7412 C +f +-3966.8303 3895.5366 m +-3967.1711 3895.2566 L +-3967.0945 3895.3542 -3966.9849 3895.448 -3966.8303 3895.5366 C +f +-3985.4792 3896.4768 m +-3985.6863 3896.9182 L +-3985.3623 3896.9163 -3985.5049 3896.6936 -3985.4792 3896.4768 C +f +-3942.2073 3891.2659 m +-3942.4304 3891.0967 -3942.6079 3891.0254 -3942.7639 3891.0044 C +-3942.4951 3891.2534 -3942.2783 3891.6272 -3942.2073 3891.2659 C +f +-3977.9561 3891.4126 m +-3978.0647 3891.4912 -3978.1111 3891.5796 -3978.1079 3891.6763 C +-3977.9961 3891.6018 -3977.9329 3891.5193 -3977.9561 3891.4126 C +f +-3943.4082 3891.0059 m +-3943.3689 3891.0491 -3943.3303 3891.071 -3943.2903 3891.1079 C +-3943.1272 3891.0352 -3942.9631 3890.9768 -3942.7639 3891.0044 C +-3942.9624 3890.8186 -3943.1897 3890.7046 -3943.4082 3891.0059 C +f +-4010.9297 3896.1172 m +-4010.9482 3896.0974 -4010.9705 3896.0884 -4010.9873 3896.0654 C +-4010.9929 3896.1243 -4010.9673 3896.1272 -4010.9297 3896.1172 C +f +-4018.3442 3891.739 m +-4018.2712 3891.7124 -4018.1521 3891.7119 -4018.0398 3891.7058 C +-4018.0945 3891.6763 -4018.1863 3891.6792 -4018.3442 3891.739 c +f +-3937.3264 3890.9172 m +-3937.1599 3890.8887 -3937.3 3890.8691 -3937.3264 3890.9172 C +-3937.3264 3890.9172 L +f +-3936.5168 3892.6328 m +-3936.5522 3892.6814 -3936.5791 3892.7434 -3936.5833 3892.844 C +-3936.5696 3892.739 -3936.5464 3892.6726 -3936.5168 3892.6328 c +f +-3945.0664 3893.7058 m +-3945.0713 3893.7058 -3945.0752 3893.7046 -3945.0808 3893.7046 C +-3945.0313 3893.7896 -3945.0398 3893.7734 -3945.0664 3893.7058 C +f +-3937.0759 3891.1143 m +-3937.1384 3891.0613 -3937.2104 3891.0166 -3937.2888 3890.9856 C +-3937.2544 3891.0193 -3937.1897 3891.0613 -3937.0759 3891.1143 C +f +-3937.1096 3890.9092 m +-3937.0522 3890.9287 -3937.0071 3890.9395 -3936.9641 3890.9512 C +-3936.9431 3890.8787 -3936.9617 3890.8335 -3937.1096 3890.9092 C +f +-3937.5583 3890.9402 m +-3937.4631 3890.9336 -3937.3743 3890.9539 -3937.2888 3890.9856 C +-3937.3215 3890.9558 -3937.3352 3890.9314 -3937.3264 3890.9172 C +-3937.3752 3890.9238 -3937.4441 3890.9326 -3937.5583 3890.9402 c +f +-3997.2932 3894.9558 m +-3997.3042 3894.9424 -3997.3169 3894.9336 -3997.3289 3894.9153 C +-3997.4968 3895.0952 -3997.4231 3895.0664 -3997.2932 3894.9558 C +f +-3957.7783 3895.6563 m +-3957.7705 3895.6519 -3957.7664 3895.6406 -3957.7593 3895.635 C +-3957.7671 3895.6306 -3957.7769 3895.6252 -3957.7839 3895.6199 C +-3957.7783 3895.6563 L +f +-3958.3762 3895.9795 m +-3958.1216 3895.4395 -3957.9768 3895.5059 -3957.7839 3895.6199 C +-3957.9817 3894.3691 L +-3958.3762 3895.9795 L +f +*u +-3981.5383 3896.1416 m +-3981.1184 3896.531 L +-3981.6252 3897.1726 -3981.9919 3896.9514 -3981.5977 3897.5 C +-3981.5383 3896.1416 -3979.9656 3897.3606 -3979.9072 3896.0039 C +-3979.6304 3896.2896 L +-3979.7097 3896.2764 -3979.7224 3896.3562 -3979.8008 3896.3428 C +-3979.2625 3896.9932 -3979.4009 3895.3606 -3978.7073 3895.5542 C +-3978.4656 3895.6582 -3978.2969 3895.8555 -3978.4617 3896.0166 C +-3977.9231 3895.6807 L +-3977.7664 3895.7073 -3977.8047 3895.9426 -3977.9607 3895.9172 C +-3977.1392 3895.8086 L +-3977.1453 3895.8486 L +-3977.0281 3895.635 -3976.7625 3895.3064 -3976.6328 3895.1663 C +-3976.4241 3895.3606 -3976.7375 3895.3098 -3976.6841 3895.4795 C +-3976.2292 3895.1504 L +-3976.0439 3895.5022 -3976.4209 3895.844 -3976.7351 3895.7935 C +-3976.3103 3897.1494 -3976.3577 3895.4514 -3975.4409 3896.2434 C +-3975.8704 3896.4163 L +-3975.5935 3897.1863 -3975.2583 3896.907 -3974.7727 3897.3875 C +-3974.8879 3897.1367 -3975.7449 3896.177 -3975.2512 3895.8386 C +-3975.1121 3895.9414 -3974.9287 3895.9902 -3974.6624 3895.7168 C +-3974.6599 3896.1995 -3974.3999 3896.0811 -3974.0745 3896.0535 C +-3974.0967 3896.6936 L +-3973.7449 3896.5088 -3973.7727 3896.1831 -3973.5657 3895.8953 C +-3973.1736 3895.9583 -3973.0923 3896.4536 -3973 3896.8711 C +-3972.3721 3896.9727 -3973.4336 3896.0767 -3972.6904 3895.9558 C +-3972.1682 3896.2007 -3971.8015 3895.9395 -3971.1768 3895.5566 C +-3970.8113 3895.7766 -3971.2407 3895.948 -3971.1096 3896.1306 C +-3970.7856 3895.6206 L +-3970.7063 3895.6328 -3970.7319 3895.7896 -3970.7449 3895.8687 C +-3970.4719 3895.6707 -3970.7224 3895.2295 -3970.2932 3895.0554 C +-3970.1775 3894.3511 -3969.4121 3896.0854 -3968.8809 3895.2852 C +-3968.75 3895.4668 -3968.9441 3895.677 -3968.9041 3895.9248 C +-3968.1753 3895.3999 -3968.2793 3895.5435 -3967.6809 3894.8367 C +-3967.1711 3895.2566 L +-3967.5457 3894.7764 -3967.0671 3894.2083 -3966.6479 3893.7412 C +-3966.7808 3893.509 -3966.8943 3893.3064 -3966.9705 3893.2095 C +-3966.3015 3892.8662 L +-3966.2207 3892.9712 -3966.2881 3893.1907 -3966.3977 3893.4583 C +-3966.3521 3893.405 -3966.3088 3893.3533 -3966.2751 3893.3047 C +-3966.0359 3893.5413 -3966.1599 3893.9104 -3966.3313 3894.2676 C +-3966.4128 3894.1416 -3966.4937 3894.0066 -3966.5723 3893.8733 C +-3966.7375 3894.2615 -3966.8921 3894.6919 -3966.8577 3895.0664 C +-3966.8142 3894.9927 -3966.7305 3894.9292 -3966.6384 3894.8936 C +-3966.6816 3894.9993 -3966.7092 3895.093 -3966.6892 3895.157 c +-3966.6665 3895.2246 -3966.5967 3895.0833 -3966.4873 3894.9199 C +-3966.3352 3895.6328 L +-3966.2983 3895.3496 L +-3965.4231 3895.7959 L +-3964.7969 3895.0779 -3964.2522 3894.0215 -3963.2583 3893.7271 C +-3963.5049 3894.25 -3963.3113 3894.5811 -3963.3247 3895.2007 C +-3963.5959 3894.5447 -3964.0945 3895.4795 -3964.6096 3895.3462 c +-3964.3408 3895.4153 -3964.3999 3895.7102 -3964.4683 3895.8135 C +-3963.5496 3895.2168 L +-3963.5703 3895.7234 -3963.3545 3895.5967 -3963.1145 3895.8064 C +-3963.2959 3894.8047 -3962.4297 3895.1392 -3962.0559 3894.8323 C +-3962.0327 3895.1682 -3962.1223 3895.5115 -3962.5784 3895.4307 C +-3962.0752 3896.1848 -3961.9282 3894.2544 -3961.4343 3894.8953 C +-3961.5457 3894.9031 -3961.6057 3894.8516 -3961.6497 3895.0222 C +-3961.3896 3894.7234 -3960.7537 3894.9602 -3960.9033 3895.2534 C +-3961.0144 3895.2603 L +-3960.2751 3895.3787 -3958.7639 3895.2676 -3958.6536 3894.4172 C +-3958.6462 3894.5266 -3958.7505 3895.4424 -3958.7952 3895.6143 C +-3957.4761 3892.7522 L +-3957.5923 3893.4827 -3957.1462 3895.2227 -3957.7593 3895.635 C +-3957.5833 3895.739 -3957.3655 3895.8606 -3956.9944 3895.6033 C +-3957.1145 3895.4993 -3957.2937 3894.5466 -3957.1296 3894.48 C +-3956.6792 3895.2935 -3956.8169 3894.9153 -3956.2617 3895.6084 C +-3956.4417 3895.4514 -3956.2417 3894.3064 -3955.9573 3894.3428 C +-3956.0017 3894.5144 -3955.9336 3895.4734 -3956.0376 3895.5928 C +-3955.3296 3894.4683 L +-3955.5063 3894.6707 -3955.3608 3895.4214 -3955.2024 3895.739 C +-3955.2759 3895.5193 -3954.5903 3895.76 -3954.4016 3895.6482 C +-3954.7017 3895.3875 L +-3953.9023 3895.5576 -3953.9121 3893.8064 -3953.1191 3893.865 C +-3953.2151 3894.0974 -3953.3562 3895.2947 -3952.9529 3895.4363 C +-3952.7681 3894.8604 -3952.1345 3892.6663 -3951.4329 3892.2227 C +-3951.2983 3892.552 L +-3950.76 3892.1768 L +-3951.0952 3893.0435 -3952.0359 3894.8672 -3952.5496 3895.5767 C +-3952.2505 3895.8374 -3952.4663 3895.9646 -3952.0183 3895.9351 C +-3951.8601 3896.2434 -3952.2625 3896.4031 -3952.3943 3896.4214 C +-3951.3513 3896.6206 L +-3951.3977 3895.948 -3950.5537 3895.9463 -3950.5935 3895.3862 C +-3951.7263 3896.0833 L +-3951.7722 3895.4119 -3951.0713 3894.1748 -3950.3323 3894.2935 C +-3950.1443 3894.5613 -3950.4729 3895.4902 -3950.4575 3895.7144 C +-3950.3616 3895.4827 -3949.7561 3895.2722 -3949.6882 3895.4363 C +-3950.0017 3895.7959 L +-3949.5903 3896.0486 -3949.3303 3894.9048 -3948.8359 3895.5464 C +-3948.6653 3895.5896 -3948.3264 3896.4119 -3948.2969 3896.0144 C +-3948.5752 3895.2471 -3948.6296 3892.8743 -3948.4441 3892.2979 C +-3948.3843 3892.3496 -3947.5481 3893.031 -3947.3533 3893.4104 C +-3947.0723 3894.0115 -3947.7751 3894.844 -3947.5359 3895.3604 C +-3947.5256 3895.1768 -3947.3704 3894.9502 -3947.3057 3894.8774 C +-3947.1265 3895.0342 -3947.3799 3895.4463 -3946.9905 3895.363 C +-3946.9255 3894.6814 -3946.1985 3895.4207 -3946.8064 3894.7871 C +-3946.4255 3894.5923 -3946.4016 3894.927 -3945.9543 3894.8975 C +-3946.0967 3894.4573 -3945.5527 3893.3982 -3945.1711 3893.2039 C +-3945.1936 3893.3774 -3945.1079 3893.6033 -3945.0664 3893.7058 C +-3944.2856 3893.7676 -3943.8665 3894.0771 -3943.1384 3894.0833 C +-3943.0713 3894.2483 -3942.72 3894.448 -3942.8696 3894.7412 C +-3942.7649 3894.6206 -3942.6687 3894.3894 -3942.4441 3894.3733 C +-3942.0095 3894.9624 -3942.9448 3894.4646 -3942.6135 3895.1726 C +-3942.5852 3894.7766 -3942.0327 3894.6262 -3941.7129 3894.3787 C +-3941.8113 3893.7671 -3942.4519 3894.2615 -3942.7722 3894.5088 C +-3942.7737 3893.6653 -3942.2161 3892.781 -3941.4551 3892.3911 C +-3940.8503 3892.1814 -3941.1929 3892.9363 -3941.0879 3892.8164 C +-3939.9519 3892.9639 -3940.1201 3891.3428 -3939.1768 3891.9514 C +-3938.8025 3892.489 -3939.1599 3893.0215 -3939.0769 3893.4092 C +-3939.5696 3893.6128 -3939.8333 3893.0679 -3940.1672 3893.0896 C +-3939.7561 3893.344 L +-3939.9128 3893.5222 -3940.2417 3893.6582 -3940.4209 3893.5022 C +-3940.1072 3893.9856 -3938.5017 3893.5952 -3937.6252 3894.0413 C +-3937.4695 3893.8606 -3937.2007 3893.6743 -3937.3279 3893.4583 C +-3937.6052 3893.5332 L +-3937.8601 3893.0996 -3937.0833 3892.9336 -3937.4343 3892.7312 C +-3937.0623 3892.4263 -3936.6453 3891.947 -3936.1216 3892.1924 C +-3936.0232 3892.8054 L +-3936.0344 3892.6262 -3936.3655 3892.4402 -3936.5127 3892.6272 c +-3936.2944 3892.3555 -3935.7097 3893.4573 -3935.4705 3892.6543 C +-3935.8376 3892.2295 L +-3935.4641 3891.9214 -3935.0024 3891.2703 -3934.5383 3891.4639 C +-3934.7495 3890.8584 -3934.6453 3891.5332 -3934.9751 3890.8247 C +-3934.6892 3891.7058 -3936.1624 3890.7876 -3935.7031 3891.7139 C +-3936.0415 3890.8916 -3936.2888 3891.365 -3936.7312 3890.6638 C +-3936.7175 3890.8662 -3936.5745 3891.0508 -3936.9641 3890.9512 C +-3936.9817 3891.0103 -3937.0232 3891.0854 -3937.0496 3891.1294 C +-3937.0615 3891.1243 -3937.0657 3891.1206 -3937.0759 3891.1143 C +-3937.0681 3891.1218 -3937.0623 3891.1306 -3937.0544 3891.1382 C +-3937.0713 3891.1682 -3937.0728 3891.1748 -3937.0464 3891.1462 C +-3936.9536 3891.2346 -3936.8784 3891.3411 -3936.8479 3891.4539 C +-3937.0413 3891.9182 -3937.6609 3891.9038 -3937.8704 3892.1443 C +-3938.1016 3892.0479 -3937.7737 3891.9119 -3937.8999 3891.6963 C +-3938.2129 3892.0554 L +-3938.2439 3891.6062 -3938.8271 3891.3096 -3938.2825 3891.0464 C +-3938.7727 3891.0264 L +-3939.0613 3890.7744 -3939.4583 3890.6743 -3939.7031 3890.863 C +-3939.9343 3890.7659 -3940.2871 3891.3604 -3940.0857 3891.0088 C +-3940.8545 3891.2871 L +-3940.8616 3891.1748 L +-3941.6201 3891.1184 -3942.4231 3891.9182 -3943.2903 3891.1079 C +-3943.5457 3891.2212 -3943.8096 3891.3599 -3944.2368 3891.2324 C +-3944.3201 3890.844 L +-3944.6479 3890.9795 -3945.3047 3890.4551 -3945.4456 3890.8599 C +-3945.7993 3889.8142 -3947.0369 3890.6318 -3947.6135 3890.4463 C +-3947.6353 3890.9536 L +-3948.0322 3890.9248 -3948.4128 3891.0686 -3948.9055 3891.2722 C +-3948.8752 3891.7207 L +-3949.3 3892.0886 -3949.9673 3891.4019 -3950.6392 3891.448 C +-3950.5935 3891.2764 -3950.4231 3891.321 -3950.3025 3891.4248 C +-3951.1052 3890.4119 -3951.9961 3892.1616 -3952.7241 3891.4238 C +-3952.9055 3891.5867 -3953.0369 3891.531 -3953.1641 3891.4182 C +-3953.1472 3891.4175 -3953.1321 3891.4092 -3953.1191 3891.3953 C +-3953.1377 3891.3894 -3953.1653 3891.3887 -3953.1936 3891.3894 C +-3953.2737 3891.3123 -3953.3562 3891.2227 -3953.4456 3891.1506 C +-3953.3696 3891.26 -3953.2969 3891.3496 -3953.2336 3891.3911 C +-3953.3735 3891.4004 -3953.5857 3891.4558 -3953.7937 3891.5684 C +-3953.8823 3891.0867 L +-3953.8992 3891.093 -3953.9128 3891.0923 -3953.9304 3891.1006 C +-3954.1345 3890.9226 -3954.0945 3891.3286 -3953.9856 3891.6907 C +-3954.0903 3891.77 -3954.1863 3891.865 -3954.2607 3891.9814 C +-3954.4265 3891.2039 -3954.8064 3892.2432 -3955.0327 3891.4138 C +-3955.1729 3891.8184 -3956.0784 3891.7183 -3956.1892 3892.5686 C +-3956.1963 3892.4583 -3956.2576 3892.405 -3956.1453 3892.3982 C +-3956.3772 3892.301 -3956.6089 3892.2046 -3956.8169 3892.4443 C +-3956.9153 3891.8323 L +-3957.4216 3892.655 L +-3957.7292 3892.2822 -3957.8567 3892.0654 -3957.5513 3891.5942 C +-3958.2888 3892.3186 -3958.1497 3891.8672 -3958.7769 3892.5854 C +-3958.7463 3892.1895 L +-3958.9705 3892.2046 -3959.3289 3892.7346 -3959.4641 3892.4075 C +-3959.9656 3891.655 -3961.9456 3892.3035 -3963.2329 3891.6042 C +-3962.9832 3892.77 -3963.8313 3891.0823 -3963.8823 3891.9856 C +-3963.9573 3891.71 -3964.1367 3891.5542 -3963.9282 3891.3142 C +-3964.5852 3891.5854 -3964.9153 3890.8774 -3965.3689 3891.6392 C +-3965.4441 3891.3623 -3965.2283 3891.2346 -3965.2952 3891.071 C +-3965.3479 3891.1306 -3965.5039 3891.3113 -3965.5723 3891.1462 c +-3965.6392 3890.9824 -3965.4761 3890.9153 -3965.3721 3890.7947 C +-3966.0432 3890.8411 -3966.1111 3891.6907 -3966.1599 3892.4883 C +-3966.5 3892.1106 -3966.6697 3892.1638 -3966.9153 3892.6873 C +-3967.0337 3892.4263 -3967.2312 3892.1531 -3966.8142 3892.0596 C +-3967.0488 3892.0215 -3968.2473 3891.677 -3968.2712 3892.3164 C +-3968.3447 3892.1543 -3968.5991 3892.2693 -3968.6609 3892.3428 C +-3969.1873 3892.3047 -3969.2336 3892.2471 -3969.7505 3892.3076 C +-3969.6072 3892.4119 L +-3969.8113 3893.1831 -3970.0369 3892.5842 -3970.4536 3892.6768 C +-3970.4417 3892.5974 L +-3971.3972 3892.0415 -3970.8542 3892.8643 -3971.7969 3892.2295 C +-3971.7456 3892.7092 L +-3971.8335 3893.7407 -3972.5808 3892.1006 -3973.1279 3892.4951 C +-3972.9304 3892.7693 L +-3973.2292 3893.1218 -3973.7656 3891.3662 -3974.0657 3891.2371 C +-3974.1311 3891.1475 -3973.9624 3891.093 -3973.8711 3891.0266 C +-3974.6567 3890.4182 -3973.9729 3891.655 -3974.5583 3891.801 C +-3974.6663 3891.4624 -3974.4192 3890.9395 -3974.8132 3890.8762 C +-3975.0095 3890.6018 -3975.9561 3891.9768 -3976.4937 3891.3267 C +-3976.3752 3891.5879 -3976.2576 3891.8486 -3976.5295 3892.0447 C +-3976.9463 3892.1382 -3977.6563 3891.0576 -3978.0327 3891.8806 C +-3978.0857 3891.8096 -3978.1057 3891.7412 -3978.1079 3891.6763 C +-3978.4265 3891.8887 -3979.1433 3892.0291 -3979.3352 3892.4756 C +-3979.6296 3890.8186 -3981.3159 3893.281 -3981.3088 3891.7534 C +-3982.2888 3891.8352 L +-3982.2632 3891.6792 L +-3982.8896 3891.5779 -3983.1111 3891.9443 -3983.3313 3892.3113 C +-3983.4761 3892.2073 -3983.3704 3892.0642 -3983.3584 3891.9844 C +-3984.2737 3891.6763 -3984.3647 3891.7412 -3985.1321 3892.5022 C +-3985.2119 3892.0066 L +-3985.4199 3892.2947 -3986.5352 3891.2295 -3987.4329 3891.8076 C +-3987.4241 3891.7515 -3987.4055 3891.655 -3987.3342 3891.5854 C +-3988.3442 3892.1672 -3989.7522 3890.2102 -3990.1223 3892.0154 C +-3990.7888 3892.4602 L +-3989.9265 3892.6006 -3990.9172 3893.2434 -3990.5625 3893.5435 C +-3990.9016 3893.6494 -3991.4392 3892.9993 -3991.0225 3892.9063 C +-3990.9573 3892.9966 L +-3990.8042 3892.0554 -3992.0288 3892.6631 -3992.0056 3892.0222 C +-3993.7024 3892.0686 -3995.3562 3891.5479 -3996.9456 3891.5078 C +-3996.7625 3892.239 L +-3997.3169 3892.197 L +-3997.4624 3892.0266 -3997.5122 3891.6252 -3997.1167 3891.655 C +-3997.3247 3891.2407 -3997.78 3892.0022 -3997.7913 3892.1616 C +-3998.5657 3891.865 -3997.4888 3891.3086 -3997.7263 3891.2913 C +-3998.0488 3891.3455 L +-3997.9761 3891.4312 L +-3998.2375 3891.73 -3998.2607 3892.0466 -3998.7361 3892.0107 C +-3999.0369 3891.8643 -3998.8904 3891.5596 -3999.0088 3891.531 C +-3999.0081 3891.4795 -3999.0481 3891.4551 -3999.1904 3891.5103 C +-3999.8889 3891.448 L +-3999.6096 3892.0254 L +-3999.9192 3892.3098 -4000.2664 3891.9951 -3999.9441 3892.6494 c +-4000.4172 3891.6406 -4002.5496 3892.2871 -4002.8401 3891.9739 C +-4003.2737 3892.3953 -4003.7017 3892.3875 -4004.2319 3892.3367 C +-4004.1001 3892.4573 -4004.0212 3893.1062 -4004.4785 3893.0266 C +-4004.3113 3891.6873 -4005.3159 3892.4451 -4005.6855 3891.4814 C +-4005.3552 3892.1206 -4006.9856 3891.6392 -4006.4673 3892.5466 C +-4006.8489 3892.4382 -4006.4905 3892.0454 -4006.78 3891.73 C +-4007.6882 3892.2493 -4008.7815 3891.3928 -4009.9041 3891.5679 C +-4009.9216 3891.7434 -4009.7336 3892.0127 -4009.9744 3892.2744 C +-4010.5671 3891.3953 L +-4010.7888 3891.4814 -4010.7712 3892.4104 -4011.1763 3891.7998 C +-4011.1191 3891.948 -4011.0337 3892.1707 -4011.1824 3892.2271 C +-4013.3816 3891.3699 -4015.6763 3892.9292 -4017.9097 3891.3186 C +-4017.6072 3891.6594 -4017.8088 3891.6936 -4018.0398 3891.7058 C +-4017.8896 3891.7876 -4018.0432 3892.1406 -4018.0137 3892.3787 C +-4018.9487 3891.7168 L +-4019.1191 3892.3784 -4019.9512 3891.7615 -4020.0488 3892.3943 C +-4019.7527 3892.2803 L +-4020.1465 3893.0266 -4019.2017 3893.9395 -4019.2593 3894.8975 C +-4018.8184 3894.0486 -4018.0967 3896.1543 -4017.3733 3894.9395 C +-4017.2136 3895.1348 -4017.5095 3895.2483 -4017.4241 3895.4702 C +-4017.2407 3895.0596 -4017.0193 3894.9739 -4016.6089 3895.1582 C +-4016.6553 3895.26 L +-4015.5024 3895.1594 -4015.0081 3895.5642 -4013.7129 3895.8342 C +-4013.8088 3895.3604 L +-4013.5305 3895.4238 -4013.4719 3895.5723 -4013.3416 3895.6907 C +-4013.0222 3894.9727 -4014.1233 3895.6504 -4013.8323 3894.8584 C +-4013.4631 3895.8223 -4011.8696 3894.8733 -4011.6201 3895.9683 C +-4011.1919 3895.9739 -4011.7456 3895.4199 -4011.3176 3895.4263 C +-4011.2041 3895.7227 L +-4011.0959 3895.3408 L +-4010.8152 3895.4038 -4010.6736 3895.7744 -4010.6631 3896.0254 C +-4010.7312 3895.9956 -4010.8567 3896.0955 -4010.9297 3896.1172 C +-4010.5657 3896.4663 -4009.9033 3895.9983 -4009.7783 3896.1118 C +-4010.1897 3895.9292 L +-4009.0212 3895.6519 -4007.5945 3896.0413 -4006.4656 3895.4382 C +-4006.5513 3895.2146 L +-4005.6892 3894.801 -4005.8608 3895.4602 -4004.9143 3895.2693 C +-4004.9487 3895.3223 L +-4004.7593 3895.0996 -4004.5063 3894.9871 -4004.2473 3895.0127 C +-4004.4863 3895.2744 -4003.7976 3895.5215 -4004.1111 3895.8113 C +-4003.1763 3895.3672 -4003.6487 3895.4624 -4003.0313 3894.6318 C +-4002.8889 3895.0022 L +-4002.6785 3894.6672 -4002.6609 3894.4902 -4002.1882 3894.3943 C +-4002.5759 3894.7124 -4001.8865 3894.9592 -4002.3208 3895.3799 C +-4001.3289 3896.1907 -4000.8479 3894.5613 -4000.3928 3895.7471 C +-3999.9373 3894.7207 -4001.2512 3895.177 -4000.9961 3894.9575 C +-4001.2097 3894.6218 -4000.6201 3894.1902 -4000.3088 3894.2935 C +-3999.9919 3894.3164 -3999.77 3895.6062 -3998.9729 3895.5867 C +-3999.0522 3895.5823 -3999.0576 3895.6594 -3999.1367 3895.655 C +-3998.8384 3895.9172 -3998.5522 3895.3008 -3998.1863 3895.7258 C +-3997.9812 3895.1055 -3997.7112 3895.7615 -3997.6521 3894.9702 C +-3998.3833 3895.1531 L +-3997.9688 3894.9463 -3997.5801 3894.02 -3996.8972 3894.469 C +-3996.9504 3894.6287 -3997.1536 3894.8386 -3997.2932 3894.9558 C +-3997.0935 3895.1895 -3996.9087 3894.801 -3996.7017 3895.0413 C +-3996.7607 3895.8335 -3997.5903 3895.2136 -3998.0344 3895.8174 C +-3997.8201 3896.1519 -3997.1943 3895.2434 -3997.4175 3896.1016 c +-3997.0967 3895.0107 -3996.6321 3896.239 -3996.0923 3895.4063 C +-3996.1279 3895.8806 L +-3996.0425 3895.8064 -3995.8655 3895.5823 -3995.7083 3895.5942 C +-3995.9929 3896.2095 L +-3995.5559 3895.6848 -3995.1504 3896.6682 -3994.7312 3896.3828 C +-3995.6089 3896.3975 -3994.9282 3895.8113 -3995.2993 3895.4646 C +-3994.2168 3894.8296 -3994.6768 3896.7058 -3993.4648 3896.4783 C +-3993.6289 3896.5454 -3994.0808 3896.1936 -3993.8242 3895.9734 C +-3993.5935 3896.071 -3993.2888 3896.2534 -3993.1472 3896.5022 C +-3992.3442 3896.4038 -3993.2705 3896.0144 -3992.9287 3895.7227 C +-3992.6553 3896.3008 -3992.5344 3895.4871 -3992.1824 3895.3022 C +-3992.1799 3895.7847 L +-3991.2649 3896.0942 -3991.9373 3894.7791 -3991.1135 3895.1531 C +-3991.4617 3895.8223 L +-3991.0322 3895.6494 L +-3991.1208 3896.1982 L +-3990.6536 3895.7913 -3990.5081 3895.8962 -3990.0503 3896.0503 C +-3990.1567 3895.7102 -3989.9905 3895.1748 -3989.5852 3895.1594 C +-3989.3088 3895.4463 -3989.74 3895.6184 -3989.1655 3895.5491 C +-3989.2952 3895.8511 -3989.4373 3896.23 -3989.6873 3895.7854 C +-3989.7129 3895.9426 -3989.8152 3896.0884 -3989.8416 3896.2434 C +-3989.5439 3896.573 -3989.0935 3896.3186 -3988.8855 3896.3142 C +-3988.9656 3896.2964 -3989.0613 3896.2703 -3989.1104 3896.2014 C +-3988.2776 3895.5332 L +-3988.1465 3895.7144 -3988.2505 3895.8599 -3988.3535 3896.0022 C +-3988.1848 3895.9502 -3988.0681 3895.7283 -3987.8201 3895.6873 C +-3987.8843 3896.0791 -3987.8689 3896.4839 -3988.22 3896.6682 C +-3987.4265 3896.2334 L +-3987.3735 3896.4038 -3987.0193 3896.7014 -3987.1223 3896.8462 C +-3986.6824 3897.0767 -3986.0432 3896.0854 -3985.46 3896.3894 C +-3985.4297 3896.3135 -3985.3689 3896.2407 -3985.2449 3896.1848 C +-3984.6968 3896.2734 -3984.2112 3896.7544 -3983.5615 3896.2168 C +-3983.1929 3896.9199 L +-3982.6841 3896.7603 -3983.6919 3896.0342 -3982.8447 3895.7693 C +-3982.2449 3895.5447 -3982.6208 3896.3687 -3982.4104 3896.5642 C +-3982.1121 3896.21 -3981.5935 3895.4888 -3981.0425 3896.0613 C +-3981.2249 3896.1936 -3981.3679 3896.0896 -3981.5383 3896.1416 C +f +1 D +-3975.2632 3895.8298 m +-3975.3848 3895.9312 -3975.6272 3896.2434 -3975.7161 3895.9592 C +-3975.5776 3895.4063 -3975.4705 3895.6707 -3975.2632 3895.8298 C +f +-3965.7241 3894.6682 m +-3965.8145 3894.8279 -3965.9543 3894.7493 -3966.1121 3894.5664 C +-3965.9976 3894.5266 -3965.8679 3894.5447 -3965.7241 3894.6682 C +f +-3939.1511 3891.3096 m +-3939.1563 3891.3174 -3939.1599 3891.323 -3939.1641 3891.3333 C +-3939.4353 3891.1453 -3939.3391 3891.219 -3939.1511 3891.3096 C +f +0 D +-3938.5879 3891.5193 m +-3938.5313 3891.4514 -3938.5352 3891.3848 -3938.5591 3891.3174 C +-3938.5984 3891.4395 -3938.7249 3891.448 -3938.8689 3891.4136 C +-3938.8289 3891.5398 -3938.7561 3891.6272 -3938.5879 3891.5193 C +f +1 D +-3999.0713 3891.7092 m +-3998.9617 3891.8352 L +-3999.2092 3891.9739 -3999.1399 3891.8486 -3999.0713 3891.7092 C +f +*U +0 D +-3966.8057 3895.3286 m +-3966.8401 3895.2471 -3966.8496 3895.157 -3966.8577 3895.0664 C +-3966.9055 3895.1475 -3966.9065 3895.2412 -3966.8057 3895.3286 C +f +-3985.4409 3896.3953 m +-3985.4473 3896.3911 -3985.4536 3896.3928 -3985.46 3896.3894 C +-3985.4705 3896.4182 -3985.4761 3896.448 -3985.4792 3896.4768 C +-3985.4409 3896.3953 L +f +-3947.3123 3895.6096 m +-3947.4282 3895.5398 -3947.4929 3895.4514 -3947.5359 3895.3604 C +-3947.5422 3895.4783 -3947.4895 3895.5779 -3947.3123 3895.6096 C +f +-3935.6033 3890.6992 m +-3935.9641 3890.8247 L +-3935.7896 3890.8008 -3935.7273 3890.9063 -3935.6392 3890.9827 C +-3935.6472 3890.8699 -3935.7161 3890.7073 -3935.6033 3890.6992 C +f +-3932.4719 3893.6848 m +-3932.4192 3893.6255 -3932.3601 3893.6782 -3932.3081 3893.6184 C +-3932.3225 3893.3943 L +-3932.5471 3893.4087 -3932.7041 3893.5896 -3932.4719 3893.6848 C +f +-3935.2693 3892.3022 m +-3935.2407 3892.7083 -3935.0144 3892.5703 -3934.7617 3892.4951 C +-3934.7769 3892.4966 -3934.7913 3892.5 -3934.8064 3892.4951 C +-3934.7319 3891.927 -3935.0012 3892.115 -3935.2693 3892.3022 C +f +-3934.7031 3892.4814 m +-3934.6252 3892.4624 -3934.5457 3892.4514 -3934.4695 3892.4712 C +-3934.4399 3892.2434 -3934.5642 3892.4238 -3934.7031 3892.4814 C +f +-3937.8735 3891.25 m +-3937.7537 3891.3542 -3937.7983 3890.7312 -3937.7305 3890.8962 C +-3937.5967 3890.3799 -3938.5295 3891.5215 -3937.8735 3891.25 C +f +-3935.0647 3893.6392 m +-3935.1553 3893.1382 L +-3935.2969 3893.5422 L +-3935.0647 3893.6392 L +f +-3937.0601 3893.2715 m +-3936.6563 3893.4104 L +-3936.6624 3893.3264 -3936.6111 3893.2766 -3936.5481 3893.239 C +-3936.7969 3893.2227 -3937.0696 3893.1233 -3937.0601 3893.2715 C +f +-3936.5481 3893.239 m +-3936.4185 3893.2493 -3936.2952 3893.2383 -3936.2231 3893.1563 C +-3936.2932 3893.1616 -3936.4441 3893.1782 -3936.5481 3893.239 C +f +-3935.6167 3893.7896 m +-3935.7361 3893.6851 L +-3936.0212 3893.6482 L +-3935.6167 3893.7896 L +f +-3941.4009 3893.1748 m +-3941.8416 3893.3184 L +-3941.8865 3893.4902 -3941.7664 3893.5952 -3941.6023 3893.5266 C +-3941.4968 3893.407 -3941.3333 3893.3408 -3941.4009 3893.1748 C +f +-3940.0681 3894.5466 m +-3940.1873 3894.4426 -3940.1953 3894.3311 -3940.2625 3894.1663 C +-3940.2759 3894.7871 L +-3940.0681 3894.5466 L +f +-3941.3533 3894.6919 m +-3941.3972 3894.8643 -3941.9929 3895.1863 -3941.4343 3895.1475 C +-3941.3896 3894.9768 -3940.9482 3894.8335 -3941.3533 3894.6919 C +f +-3947.9937 3893.9063 m +-3947.8816 3893.8982 L +-3947.8977 3892.8799 L +-3947.9937 3893.9063 L +f +-3953.8464 3896.3428 m +-3953.3242 3896.5867 -3953.7224 3895.7144 -3953.2505 3896.0193 C +-3953.1279 3895.7783 -3953.6362 3895.7703 -3953.5105 3895.5623 C +-3953.8257 3895.8164 -3953.9912 3895.6726 -3953.8464 3896.3428 C +f +-3953.5105 3895.5623 m +-3953.46 3895.5222 -3953.4065 3895.4734 -3953.3496 3895.4075 C +-3953.4409 3895.4712 -3953.4839 3895.52 -3953.5105 3895.5623 C +f +-4019.5745 3891.1924 m +-4019.9104 3890.98 L +-4019.6936 3891.3223 L +-4019.5745 3891.1924 L +f +-4020.2192 3891.948 m +-4020.2983 3891.2986 L +-4020.5 3891.8862 L +-4020.4241 3891.8574 -4020.2769 3891.801 -4020.2192 3891.948 C +f +-3974.3303 3897.1375 m +-3974.3047 3896.9814 L +-3974.3567 3896.8123 -3974.4353 3896.7998 -3974.5928 3896.7734 C +-3974.3303 3897.1375 L +f +-3978.8848 3896.6519 m +-3978.8064 3896.6653 L +-3978.9529 3896.0779 L +-3978.8848 3896.6519 L +f +-3982.7073 3897.4004 m +-3982.5513 3897.4248 -3982.3679 3897.2939 -3982.2112 3897.3186 C +-3982.5513 3897.4248 -3982.7495 3896.6682 -3982.7073 3897.4004 C +f +U +U +U +%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(Unnamed Brush Pat 1) 0 A +u +0 J 0 j 1 w 10 M []0 d 0 XR +-7892.75 7764.8213 m +-7813.1685 7764.8213 L +-7813.1685 7747.2422 L +-7892.75 7747.2422 L +-7892.75 7764.8213 L +n +0 R +0.1098 0.7333 0.9725 0.0196 K +1 J 1 j 0.25 w 4 M -7828.8325 7750.1836 m +-7877.0845 7750.1836 L +S +u +u +0.3333 0.5765 0.9882 0.2549 K +0.5 w -7813.8823 7752.6284 m +-7892.0356 7752.6284 l +S +u +0 O +0.3333 0.5765 0.9882 0.2549 k +0 J 0 j 1 w 10 M -7813.9199 7751.8774 m +-7813.5049 7751.8774 -7813.1685 7752.2134 -7813.1685 7752.6284 c +-7813.1685 7753.0439 -7813.5049 7753.3804 -7813.9199 7753.3804 c +-7814.3354 7753.3804 -7814.6719 7753.0439 -7814.6719 7752.6284 c +-7814.6719 7752.2134 -7814.3354 7751.8774 -7813.9199 7751.8774 c +f +U +u +-7891.9985 7751.8774 m +-7892.4131 7751.8774 -7892.75 7752.2134 -7892.75 7752.6284 c +-7892.75 7753.0439 -7892.4131 7753.3804 -7891.9985 7753.3804 c +-7891.5835 7753.3804 -7891.2461 7753.0439 -7891.2461 7752.6284 c +-7891.2461 7752.2134 -7891.5835 7751.8774 -7891.9985 7751.8774 c +f +U +U +U +u +u +0 R +0.1098 0.7333 0.9725 0.0196 K +0.5 w 4 M -7821.3242 7749.0078 m +-7821.7363 7749.4492 l +-7828.5879 7756.7886 -7813.9067 7770 -7817.0879 7762.1719 c +-7819.9434 7755.1445 -7828.8325 7755.0757 Y +-7877.0845 7755.0757 L +-7885.9746 7755.1445 -7888.8296 7762.1719 v +-7892.0103 7770 -7877.3281 7756.7886 -7884.1807 7749.4492 C +-7884.5928 7749.0078 l +S +u +0 O +0.1098 0.7333 0.9725 0.0196 k +1 w 10 M -7819.6777 7747.2422 m +-7820.7607 7747.7856 -7822.2485 7748.3237 -7823.4009 7748.4429 c +-7821.5405 7749.2388 l +-7820.6191 7751.04 l +-7820.5801 7749.8804 -7820.1445 7748.3589 -7819.6777 7747.2422 c +f +U +u +-7886.2397 7747.2422 m +-7885.1567 7747.7856 -7883.6694 7748.3237 -7882.5166 7748.4429 c +-7884.3774 7749.2388 l +-7885.2983 7751.0391 l +-7885.3369 7749.8804 -7885.7729 7748.3589 -7886.2397 7747.2422 c +f +U +U +U +U +%AI8_EndBrushPattern +%AI5_End_NonPrinting-- +%AI5_Begin_NonPrinting +Np +%AI8_BeginPluginObject +(Adobe Brush Manager Order) +(Adobe Brush Manager Order) +( Adobe Calligraphic Brush Tool/ Rund - 5 Pt./ Adobe Calligraph) - +(ic Brush Tool/ Rund - 15 Pt./ Adobe Calligraphic Brush Tool/ O) - +(val - 3 Pt./ Adobe Calligraphic Brush Tool/ Oval - 5 Pt./ Adob) - +(e Calligraphic Brush Tool/ Flach - 5 Pt./ Adobe ArtOnPath Brus) - +(h Tool/ Kohle - Feder/ Adobe ArtOnPath Brush Tool/ Trennlinie/) - +( Adobe PatternOnPath Brush Tool/ Hier schneiden/) . +%AI8_EndPluginObject +%AI5_End_NonPrinting-- +%AI5_Begin_NonPrinting +Np +%AI5_End_NonPrinting-- +%AI5_Begin_NonPrinting +Np +%AI8_BeginPluginObject +(Adobe Calligraphic Brush Tool) +(Flach - 5 Pt.) +(1 5 5 0 0 90 90 0 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Calligraphic Brush Tool) +(Oval - 3 Pt.) +(1 3 3 26 74 15 15 0 1 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Calligraphic Brush Tool) +(Oval - 5 Pt.) +(1 5 5 10 90 -65 35 0 1 1 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Calligraphic Brush Tool) +(Rund - 15 Pt.) +(1 15 15 100 100 0 0 1 0 1 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Calligraphic Brush Tool) +(Rund - 5 Pt.) +(1 5 5 100 100 0 0 0 0 0 0) . +%AI8_EndPluginObject +%AI5_End_NonPrinting-- +%AI5_Begin_NonPrinting +Np +%AI8_BeginPluginObject +(Adobe ArtOnPath Brush Tool) +(Kohle - Feder) +(1 / Unnamed 6/ / / / / 0 1 / 1 1 1 0 1 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe ArtOnPath Brush Tool) +(Trennlinie) +(1 / Unnamed Brush Pat 1/ / / / / 5 0.85098 0.396078 0.168627 /) - +( 1 1 1 0 1 0 0 0) . +%AI8_EndPluginObject +%AI5_End_NonPrinting-- +%AI5_Begin_NonPrinting +Np +%AI8_BeginPluginObject +(Adobe PatternOnPath Brush Tool) +(Hier schneiden) +(1 / New Pattern 4/ New Pattern 11/ New Pattern 11/ / / 0 0 / ) - +(1 1 1 0 1 0 0 0) . +%AI8_EndPluginObject +%AI5_End_NonPrinting-- +%AI5_BeginPalette +0 0 Pb +1 1 1 1 ([Passermarken]) 0 Xs +([Passermarken]) +Pc +0 0 0 0 k +(Wei\737) +Pc +0 0 0 1 k +(Schwarz) +Pc +0 1 1 0 k +(CMYK Rot) +Pc +0 0 1 0 k +(CMYK Gelb) +Pc +1 0 1 0 k +(CMYK Gr\774n) +Pc +1 0 0 0 k +(CMYK Cyan) +Pc +1 1 0 0 k +(CMYK Blau) +Pc +0 1 0 0 k +(CMYK Magenta) +Pc +0.15 1 0.9 0.1 k +(C=15 M=100 Y=90 K=10) +Pc +0 0.9 0.85 0 k +(C=0 M=90 Y=85 K=0) +Pc +0 0.8 0.95 0 k +(C=0 M=80 Y=95 K=0) +Pc +0 0.5 1 0 k +(C=0 M=50 Y=100 K=0) +Pc +0 0.35 0.85 0 k +(C=0 M=35 Y=85 K=0) +Pc +0.05 0 0.9 0 k +(C=5 M=0 Y=90 K=0) +Pc +0.2 0 1 0 k +(C=20 M=0 Y=100 K=0) +Pc +0.5 0 1 0 k +(C=50 M=0 Y=100 K=0) +Pc +0.75 0 1 0 k +(C=75 M=0 Y=100 K=0) +Pc +0.85 0.1 1 0.1 k +(C=85 M=10 Y=100 K=10) +Pc +0.9 0.3 0.95 0.3 k +(C=90 M=30 Y=95 K=30) +Pc +0.75 0 0.75 0 k +(C=75 M=0 Y=75 K=0) +Pc +0.8 0.1 0.45 0 k +(C=80 M=10 Y=45 K=0) +Pc +0.7 0.15 0 0 k +(C=70 M=15 Y=0 K=0) +Pc +0.85 0.5 0 0 k +(C=85 M=50 Y=0 K=0) +Pc +1 0.95 0.05 0 k +(C=100 M=95 Y=5 K=0) +Pc +1 1 0.25 0.25 k +(C=100 M=100 Y=25 K=25) +Pc +0.75 1 0 0 k +(C=75 M=100 Y=0 K=0) +Pc +0.5 1 0 0 k +(C=50 M=100 Y=0 K=0) +Pc +0.35 1 0.35 0.1 k +(C=35 M=100 Y=35 K=10) +Pc +0.1 1 0.5 0 k +(C=10 M=100 Y=50 K=0) +Pc +0 0.95 0.2 0 k +(C=0 M=95 Y=20 K=0) +Pc +0.25 0.25 0.4 0 k +(C=25 M=25 Y=40 K=0) +Pc +0.4 0.45 0.5 0.05 k +(C=40 M=45 Y=50 K=5) +Pc +0.5 0.5 0.6 0.25 k +(C=50 M=50 Y=60 K=25) +Pc +0.55 0.6 0.65 0.4 k +(C=55 M=60 Y=65 K=40) +Pc +0.25 0.4 0.65 0 k +(C=25 M=40 Y=65 K=0) +Pc +0.3 0.5 0.75 0.1 k +(C=30 M=50 Y=75 K=10) +Pc +0.35 0.6 0.8 0.25 k +(C=35 M=60 Y=80 K=25) +Pc +0.4 0.65 0.9 0.35 k +(C=40 M=65 Y=90 K=35) +Pc +0.4 0.7 1 0.5 k +(C=40 M=70 Y=100 K=50) +Pc +0.5 0.7 0.8 0.7 k +(C=50 M=70 Y=80 K=70) +Pc +Bb +2 (Wei\737, Schwarz) 0 0 0 1 1 0 0 1 0 0 Bg +0 BB +(Wei\737, Schwarz) +Pc +Bb +2 (Orange, Gelb) 0 0 0 1 1 0 0 1 0 0 Bg +0 BB +(Orange, Gelb) +Pc +Bb +2 (Verblassender Himmel) 0 0 0 1 1 0 0 1 0 0 Bg +0 BB +(Verblassender Himmel) +Pc +Bb +0 0 0 0 Bh +2 (Sehr weiche schwarze Vignette) 0 0 0 1 1 0 0 1 0 0 Bg +0 BB +(Sehr weiche schwarze Vignette) +Pc +(Pompadour) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p +(Pompadour) +Pc +0 0 0 1 k +(C=0 M=0 Y=0 K=100) +Pc +0 0 0 0.899994 k +(C=0 M=0 Y=0 K=90) +Pc +0 0 0 0.799988 k +(C=0 M=0 Y=0 K=80) +Pc +0 0 0 0.699997 k +(C=0 M=0 Y=0 K=70) +Pc +0 0 0 0.599991 k +(C=0 M=0 Y=0 K=60) +Pc +0 0 0 0.5 k +(C=0 M=0 Y=0 K=50) +Pc +0 0 0 0.399994 k +(C=0 M=0 Y=0 K=40) +Pc +0 0 0 0.299988 k +(C=0 M=0 Y=0 K=30) +Pc +0 0 0 0.199997 k +(C=0 M=0 Y=0 K=20) +Pc +0 0 0 0.099991 k +(C=0 M=0 Y=0 K=10) +Pc +0 0 0 0.049988 k +(C=0 M=0 Y=0 K=5) +Pc +0 1 1 0 k +(C=0 M=100 Y=100 K=0) +Pc +0 0.75 1 0 k +(C=0 M=75 Y=100 K=0) +Pc +0 0.1 0.95 0 k +(C=0 M=10 Y=95 K=0) +Pc +0.85 0.1 1 0 k +(C=85 M=10 Y=100 K=0) +Pc +1 0.9 0 0 k +(C=100 M=90 Y=0 K=0) +Pc +0.6 0.9 0.000031 0.000031 k +(C=60 M=90 Y=0 K=0) +Pc +PB +%AI5_EndPalette +%%EndSetup +%AI5_BeginLayer +1 1 1 1 0 0 1 0 79 128 255 0 50 Lb +(Ebene 1) Ln +0 A +u +u +*u +0 O +0.912474 0.787625 0.619837 0.97467 k +0 J 0 j 1 w 10 M []0 d 0 XR +360.4355 -411.79 m +361.0537 -411.79 361.7305 -411.6777 362.208 -411.959 c +362.208 -412.0996 362.292 -412.0996 362.292 -412.1836 c +361.9268 -412.0996 362.377 -412.5781 362.292 -412.1836 c +362.377 -412.1836 362.4619 -412.1836 362.5459 -412.1836 c +362.6025 -412.3247 362.6309 -412.1836 362.5459 -412.1836 c +362.5176 -412.043 362.3213 -412.043 362.208 -411.959 c +362.292 -411.6494 362.6865 -411.79 362.8545 -411.79 c +367.0771 -411.6211 371.5508 -411.8745 375.5459 -411.8745 c +375.4619 -413.5347 375.6592 -416.0391 375.4619 -417.8398 c +375.04 -417.6714 375.1523 -417.3618 375.04 -416.9678 c +374.8994 -416.7988 374.3369 -416.0674 374.6455 -416.6304 c +374.3643 -416.7144 374.4219 -416.855 374.4775 -417.0522 c +374.8711 -416.8833 374.6738 -417.1362 374.8145 -417.2773 c +374.9551 -417.6431 375.1523 -417.8965 375.5459 -418.0933 c +375.3779 -419.2754 375.7715 -421.02 375.3779 -422.2871 c +375.6592 -422.8496 375.5459 -423.7207 375.5459 -424.5371 c +375.5459 -425.3818 375.6592 -426.3379 375.3779 -426.9004 c +375.1523 -427.0977 375.4902 -426.957 375.5459 -427.127 c +375.6309 -427.4355 375.3496 -427.3516 375.3779 -427.6045 c +375.6865 -428.4492 375.5459 -430.1377 375.4619 -431.0664 c +373.9707 -431.0381 372.2822 -431.1787 370.9316 -431.0098 c +370.9316 -429.8848 370.9316 -428.6172 370.9316 -427.4639 c +370.9316 -426.2822 370.8193 -425.1289 371.1846 -424.5371 c +370.5938 -424.3398 371.3818 -423.6934 370.8467 -423.75 c +370.96 -423.3555 371.5225 -423.6367 371.748 -423.2422 c +371.3262 -423.1582 371.0156 -423.4395 370.7627 -423.2422 c +370.5654 -423.4395 370.6504 -423.8906 370.1992 -423.834 c +370.0586 -423.6094 370.3125 -423.2422 369.8906 -423.1016 c +369.8623 -423.5527 369.5254 -423.2148 369.4961 -423.5801 c +369.4404 -423.5801 369.3838 -423.5801 369.3281 -423.5801 c +369.2705 -423.4688 369.2148 -423.5801 369.3281 -423.5801 c +369.2705 -423.834 369.4688 -423.6934 369.4961 -423.5801 c +370.0879 -424.002 367.8916 -423.8057 367.6396 -423.75 c +367.6104 -423.6367 367.5547 -423.6934 367.5547 -423.75 c +367.4424 -423.7773 366.8516 -423.918 366.5703 -423.75 c +366.6543 -423.75 366.6543 -423.7207 366.6543 -423.665 c +366.6826 -423.665 366.7109 -423.665 366.7383 -423.665 c +366.7383 -423.75 366.8232 -423.7207 366.9072 -423.75 c +366.9072 -423.665 366.7949 -423.665 366.7383 -423.665 c +366.7109 -423.5801 366.6543 -423.6094 366.6543 -423.665 c +366.5977 -423.6367 366.5703 -423.6934 366.5703 -423.75 c +366.457 -423.7207 366.4297 -423.6094 366.3447 -423.5801 c +366.4297 -423.9746 365.9229 -423.8057 365.7813 -423.834 c +363.8965 -423.9746 361.6738 -423.7773 360.041 -423.75 c +360.1543 -423.6934 360.041 -423.6367 360.041 -423.75 c +359.9287 -423.8613 359.6191 -423.8057 359.3936 -423.834 c +359.3936 -426.2539 359.3936 -428.6738 359.3936 -431.0664 c +357.875 -431.0664 356.3828 -431.0664 354.8633 -431.0664 c +354.8633 -424.6504 354.8633 -418.2339 354.8633 -411.79 c +356.6934 -411.79 358.6904 -411.79 360.4355 -411.79 c +f +356.2422 -419.1343 m +F +356.7207 -417.1929 m +F +1 D +357.6211 -416.1519 m +357.6211 -416.0952 357.6211 -416.0391 357.6211 -415.9829 c +357.5371 -415.9829 357.4521 -415.9829 357.3682 -415.9829 c +357.3682 -416.0391 357.3682 -416.0952 357.3682 -416.1519 c +357.4521 -416.1519 357.5371 -416.1519 357.6211 -416.1519 c +f +0 D +357.4521 -420.0347 m +F +357.7061 -420.1196 m +F +1 D +358.0156 -419.5566 m +358.0723 -419.5288 358.1836 -419.5288 358.1836 -419.4722 c +358.1279 -419.4722 358.0156 -419.4722 358.0156 -419.5566 c +f +358.2686 -416.2358 m +358.3242 -416.208 358.4092 -416.2358 358.4375 -416.1519 c +358.3535 -416.1802 358.2686 -416.1519 358.2686 -416.2358 c +f +360.5205 -421.8076 m +360.2949 -421.5547 360.7725 -421.4702 360.5205 -421.2451 c +360.5205 -421.3296 360.4355 -421.3013 360.3506 -421.3296 c +360.3506 -421.4702 360.4355 -421.7236 360.21 -421.6387 c +360.2666 -421.583 360.3232 -421.4141 360.21 -421.4141 c +359.9854 -421.4419 359.6475 -421.5547 359.2256 -421.3296 c +359.3379 -420.9639 358.8311 -421.4702 358.7461 -421.1606 c +358.8867 -421.1328 358.9434 -421.02 358.916 -420.8232 c +358.6348 -420.7666 358.6055 -420.9639 358.5781 -421.1606 c +358.6621 -421.3296 358.9717 -421.3013 358.916 -421.6387 c +358.5781 -421.7798 358.4092 -421.7798 358.2686 -421.9766 c +358.5498 -422.0605 358.9434 -421.9204 359.1416 -421.6387 c +359.3096 -421.7798 359.2529 -421.6387 359.4785 -421.6387 c +359.6191 -422.0889 359.7598 -421.6108 360.126 -421.8076 c +360.0977 -421.7236 360.126 -421.667 360.21 -421.6387 c +360.2666 -421.9204 360.3789 -421.6387 360.5205 -421.8076 c +f +0 D +358.3535 -421.3296 m +F +1 D +358.4375 -415.251 m +358.4375 -415.5889 358.9717 -415.73 359.0566 -415.5044 c +358.8027 -415.4766 358.7754 -415.1948 358.4375 -415.251 c +f +358.4941 -414.041 m +358.4375 -414.3506 358.8867 -414.3789 358.916 -414.126 c +358.7197 -414.1821 358.7461 -413.9849 358.4941 -414.041 c +f +358.7461 -422.2871 m +358.7197 -422.0332 359.1416 -422.2578 359.0566 -421.9766 c +358.8027 -421.9766 358.6348 -422.0605 358.5781 -422.2871 c +358.6348 -422.2871 358.6904 -422.2871 358.7461 -422.2871 c +358.6621 -422.624 359.001 -422.3145 358.7461 -422.2871 c +f +0 D +358.6621 -423.9746 m +F +359.001 -421.3296 m +359.0566 -421.3296 359.1416 -421.3296 359.2256 -421.3296 c +359.3379 -421.667 358.9717 -421.5547 359.001 -421.3296 c +f +1 D +359.001 -419.5566 m +359.0566 -419.5288 359.1416 -419.5288 359.1416 -419.4722 c +359.084 -419.4722 359.001 -419.4722 359.001 -419.5566 c +f +359.1416 -421.8921 m +359.1973 -422.0605 359.0566 -422.4277 359.2256 -422.4551 c +359.4229 -422.2012 359.3662 -422.0605 359.1416 -421.8921 c +f +359.1416 -415.7578 m +359.2256 -415.73 359.3096 -415.7578 359.3096 -415.6733 c +359.2529 -415.6733 359.1416 -415.6733 359.1416 -415.7578 c +f +359.6475 -419.8662 m +361.6738 -419.5566 363.8682 -419.7817 366.0068 -419.6973 c +366.0908 -419.8101 366.0908 -420.0068 366.2607 -420.0347 c +366.373 -419.8379 366.0352 -419.7256 366.2607 -419.6973 c +366.9072 -419.6694 367.4424 -419.894 368.2021 -419.6973 c +368.2305 -419.8101 368.3428 -419.8379 368.3428 -419.9507 c +368.1465 -419.894 368.0615 -419.979 368.1172 -420.1758 c +368.0332 -420.1758 368.0332 -420.2319 368.0332 -420.2603 c +367.667 -420.4009 367.4697 -420.1758 367.2178 -420.3442 c +367.5264 -420.2881 367.3857 -420.6538 367.6396 -420.6826 c +367.6104 -420.4292 368.0059 -420.6538 368.0332 -420.2603 c +368.0889 -420.2881 368.1172 -420.2319 368.1172 -420.1758 c +368.624 -419.894 369.1025 -419.894 369.5518 -420.0347 c +369.6094 -420.1475 369.666 -420.0068 369.5518 -420.0347 c +369.918 -419.894 370.1436 -419.9507 370.1992 -419.6973 c +370.1992 -420.1758 370.4531 -419.5566 370.5371 -420.0347 c +370.6504 -419.5288 371.0156 -420.2319 371.1846 -419.7817 c +370.8193 -419.6128 371.0156 -419.416 371.2695 -419.0498 c +371.2695 -418.9375 371.0156 -418.8252 370.9316 -418.5718 c +370.791 -417.5864 371.2695 -416.8271 370.8467 -416.3208 c +370.5654 -416.4331 370.2285 -416.3208 369.8906 -416.3208 c +367.7803 -416.2925 364.7402 -416.6021 362.7715 -416.2358 c +362.6309 -416.3486 362.3486 -416.3486 362.124 -416.4048 c +362.1797 -416.1235 361.8418 -416.2925 362.0674 -416.0674 c +361.6455 -416.4614 360.8574 -416.377 360.2949 -416.2358 c +360.2666 -416.1519 359.9854 -415.9546 359.957 -416.1519 c +360.21 -416.3486 359.5635 -416.3486 359.3936 -416.4048 c +359.2822 -417.3618 359.6475 -418.8252 359.1416 -419.3877 c +359.4229 -419.3877 359.2822 -419.6128 359.1416 -419.6973 c +359.1973 -419.8662 359.5908 -419.6973 359.6475 -419.8662 c +359.5068 -419.9224 359.6475 -419.9507 359.6475 -419.8662 c +f +0 D +359.1416 -418.9092 m +F +1 D +359.5635 -420.1758 m +359.5068 -420.1758 359.4502 -420.1758 359.3936 -420.1758 c +359.2529 -420.4009 359.6758 -420.4292 359.6475 -420.2603 c +359.9854 -420.2881 359.6475 -419.9507 359.6475 -420.2603 c +359.5635 -420.2881 359.5635 -420.2319 359.5635 -420.1758 c +f +359.3936 -420.8232 m +359.2822 -420.9639 359.873 -420.7944 359.7041 -420.7666 c +359.5908 -420.7104 359.4502 -420.7666 359.3936 -420.8232 c +f +360.6045 -415.1104 m +360.5479 -414.8574 360.0137 -414.8291 359.873 -414.9414 c +359.8164 -414.7729 359.7314 -414.6602 359.5635 -414.6318 c +359.4785 -414.6885 359.4785 -414.8008 359.4785 -414.9414 c +359.6191 -414.9414 359.7314 -414.9414 359.873 -414.9414 c +360.1543 -415.4766 360.1816 -414.8291 360.6045 -415.1104 c +f +0 D +359.4785 -420.5132 m +F +359.4785 -423.2422 m +F +1 D +359.5635 -422.2871 m +359.5635 -422.4834 359.6475 -422.4277 359.6475 -422.2871 c +359.6758 -422.2871 359.6758 -422.2871 359.7041 -422.2871 c +359.7598 -422.3984 359.8164 -422.2871 359.7041 -422.2871 c +359.7314 -422.2305 359.7881 -422.2012 359.7881 -422.1172 c +360.2383 -422.2012 359.9004 -421.8921 359.7881 -422.1172 c +359.7041 -422.1172 359.7314 -421.9766 359.6475 -421.9766 c +359.6475 -422.0889 359.5635 -422.1172 359.5635 -422.2012 c +359.4502 -422.2305 359.5068 -422.2871 359.5635 -422.2871 c +f +359.5635 -415.8418 m +359.5342 -416.0674 359.957 -416.1519 359.957 -415.8984 c +359.7598 -415.814 359.8164 -415.9268 359.5635 -415.8418 c +f +0 D +359.5635 -422.2012 m +359.5908 -422.2012 359.6475 -422.2305 359.6475 -422.2871 c +359.6191 -422.2871 359.5908 -422.2871 359.5635 -422.2871 c +359.5635 -422.2578 359.5635 -422.2305 359.5635 -422.2012 c +f +359.6475 -423.3281 m +F +359.7041 -423.1875 m +F +359.7881 -413.9849 m +F +359.7881 -420.0347 m +F +359.7881 -420.4292 m +F +1 D +360.041 -422.9336 m +360.1543 -422.9053 360.0693 -422.6797 360.21 -422.6797 c +360.1816 -422.793 360.21 -422.8496 360.2949 -422.8496 c +360.2949 -423.1016 360.6045 -422.7646 360.2949 -422.8496 c +360.2949 -422.7646 360.2666 -422.709 360.21 -422.6797 c +360.21 -422.6523 360.21 -422.624 y +359.8164 -422.5684 360.0693 -422.6797 360.041 -422.9336 c +359.7041 -422.8496 360.0137 -423.1875 360.041 -422.9336 c +f +359.957 -413.1689 m +360.0137 -413.1406 360.126 -413.1689 360.126 -413.0845 c +360.0693 -413.1128 359.957 -413.0845 359.957 -413.1689 c +f +0 D +359.957 -413.9849 m +F +359.957 -420.1196 m +F +359.957 -420.4292 m +F +360.041 -422.5391 m +F +1 D +360.2949 -423.1016 m +360.4072 -423.0459 360.2666 -422.9902 360.2949 -423.1016 c +359.8447 -423.0176 360.1816 -423.3281 360.2949 -423.1016 c +f +360.5205 -412.6904 m +360.5205 -412.4653 360.5205 -412.2686 360.2949 -412.2686 c +360.2666 -412.4092 360.0693 -412.3525 360.126 -412.522 c +360.1816 -412.6338 360.3789 -412.6338 360.5205 -412.6904 c +f +360.4355 -415.8984 m +360.4639 -415.645 360.0693 -415.5889 360.126 -415.8984 c +360.2383 -415.8984 360.3232 -415.8984 360.4355 -415.8984 c +f +360.126 -420.4292 m +360.126 -420.5132 360.2666 -420.5415 360.2949 -420.4292 c +360.1816 -420.4292 360.1543 -420.3164 360.126 -420.4292 c +f +0 D +360.21 -416.2358 m +360.2383 -416.2358 360.2666 -416.2358 360.2949 -416.2358 c +360.2949 -416.2925 360.21 -416.3208 360.21 -416.2358 c +f +1 D +360.21 -419.9507 m +360.21 -420.0347 360.3506 -420.0347 360.3506 -419.9507 c +360.2666 -419.9507 360.2383 -419.8379 360.21 -419.9507 c +f +360.2949 -420.6826 m +360.3506 -420.6538 360.4355 -420.6826 360.4355 -420.5977 c +360.3789 -420.5977 360.2949 -420.5977 360.2949 -420.6826 c +f +0 D +360.2949 -423.3281 m +F +360.3506 -414.7729 m +F +360.3506 -423.4961 m +F +1 D +360.4355 -421.9766 m +360.5479 -421.9204 360.4355 -421.8643 360.4355 -421.9766 c +360.21 -421.9766 360.5205 -422.2871 360.4355 -421.9766 c +f +0 D +360.4355 -415.6733 m +F +1 D +360.4355 -422.6797 m +360.5479 -422.793 360.7451 -422.793 360.7725 -422.624 c +360.6318 -422.624 360.4639 -422.5957 360.4355 -422.6797 c +f +0 D +360.6045 -413.1689 m +F +360.6045 -413.9004 m +F +360.6045 -414.126 m +F +360.6045 -421.8076 m +F +360.6045 -422.5391 m +F +360.6045 -423.3281 m +F +1 D +360.6885 -414.6318 m +360.6318 -414.4912 360.5762 -414.6318 360.6885 -414.6318 c +360.7451 -414.7446 360.7725 -414.604 360.6885 -414.6318 c +f +360.6885 -414.2944 m +360.8018 -414.2666 360.8291 -414.3789 360.9131 -414.3789 c +361.0537 -414.1821 360.6611 -414.1538 360.6885 -414.2944 c +360.5762 -414.3506 360.6885 -414.4072 360.6885 -414.2944 c +f +0 D +360.6885 -415.0264 m +F +360.6885 -421.0762 m +F +1 D +360.7725 -420.2603 m +360.7168 -420.1475 360.6611 -420.2881 360.7725 -420.2603 c +360.8018 -420.4009 360.8574 -420.2603 360.7725 -420.2603 c +f +360.9131 -412.7749 m +360.8018 -412.4653 360.6611 -413.0283 360.9131 -412.7749 c +360.9697 -412.8872 361.0273 -412.7466 360.9131 -412.7749 c +f +0 D +360.7725 -421.8076 m +F +1 D +360.7725 -422.5391 m +360.9697 -422.5957 361.2236 -422.6797 361.335 -422.4551 c +361.168 -422.4834 360.8018 -422.3418 360.7725 -422.5391 c +f +360.8574 -416.1519 m +360.8857 -416.1519 360.9424 -416.1519 360.998 -416.1519 c +361.0273 -416.0952 361.083 -416.0674 361.083 -415.9829 c +361.1104 -415.9829 361.1387 -415.9829 361.168 -415.9829 c +360.9697 -416.377 361.5322 -416.208 361.7305 -416.1519 c +361.5605 -416.1802 361.4766 -416.1235 361.5049 -415.9829 c +361.5322 -415.9829 361.5605 -415.9829 v +361.5049 -415.645 361.0537 -415.8984 361.5049 -415.9829 c +361.3916 -415.9829 361.2793 -415.9829 361.168 -415.9829 c +361.168 -415.7856 361.083 -415.8418 361.083 -415.9829 c +360.9697 -416.0112 360.9424 -415.9268 360.8574 -415.8984 c +360.8018 -415.7856 360.7451 -415.9268 360.8574 -415.8984 c +360.8574 -415.9829 360.8574 -416.0674 360.8574 -416.1519 c +f +361.251 -415.1948 m +361.1387 -415.2231 360.8291 -415.0825 360.8574 -415.251 c +360.9424 -415.3076 360.998 -415.4482 360.998 -415.5889 c +360.8857 -415.645 361.0273 -415.6733 360.998 -415.5889 c +361.1104 -415.5889 361.1387 -415.5605 361.168 -415.5044 c +361.3916 -415.4199 361.0537 -415.2793 361.251 -415.1948 c +361.4492 -415.1948 361.5898 -415.1387 361.6455 -415.0264 c +361.7578 -414.9697 361.6455 -414.9136 361.6455 -415.0264 c +361.4492 -414.998 361.251 -414.998 361.251 -415.1948 c +f +360.9131 -414.9414 m +360.8857 -414.8291 360.8291 -414.9414 360.9131 -414.9414 c +360.8291 -415.3076 361.3086 -414.8574 360.9131 -414.9414 c +f +360.9131 -420.4292 m +360.9424 -420.5415 361.0273 -420.4854 361.083 -420.4292 c +361.083 -420.3442 360.9424 -420.3164 360.9131 -420.4292 c +f +362.0674 -413.2534 m +362.1514 -412.8311 361.7305 -413.0562 361.5605 -413.0845 c +361.4492 -412.9722 361.083 -412.6904 360.998 -413 c +361.3643 -413.0845 361.5605 -413.3096 362.0674 -413.2534 c +362.0957 -413.3657 362.1514 -413.2251 362.0674 -413.2534 c +f +360.998 -414.7729 m +361.1104 -414.8853 361.3916 -414.9136 361.4199 -414.6885 c +361.2793 -414.7446 360.998 -414.604 360.998 -414.7729 c +f +0 D +361.083 -414.041 m +F +361.083 -421.8076 m +F +361.168 -415.5044 m +F +1 D +361.335 -414.5479 m +361.3086 -414.2944 360.998 -414.604 361.335 -414.5479 c +361.3916 -414.6602 361.4199 -414.5195 361.335 -414.5479 c +f +0 D +361.335 -414.21 m +F +1 D +361.8145 -421.7236 m +361.6172 -421.667 361.4766 -421.6387 361.335 -421.8076 c +361.5049 -421.8359 361.7578 -421.9766 361.8145 -421.7236 c +f +0 D +361.4199 -414.4634 m +F +361.5605 -415.251 m +F +361.6455 -415.8418 m +F +1 D +361.7305 -412.8311 m +361.7861 -412.8311 361.8984 -412.8311 361.8984 -412.7749 c +361.8418 -412.7749 361.7305 -412.7749 361.7305 -412.8311 c +f +361.8145 -414.126 m +361.7305 -414.2666 362.124 -414.0972 362.0674 -414.041 c +361.9824 -413.9849 361.8145 -414.126 y +f +0 D +361.8145 -414.6885 m +F +361.8145 -415.9829 m +F +361.8984 -414.4634 m +F +1 D +361.9824 -422.624 m +362.0957 -422.5684 361.9551 -422.5117 361.9824 -422.624 c +361.8711 -422.6523 361.9824 -422.709 361.9824 -422.624 c +f +0 D +361.9824 -415.8984 m +F +1 D +362.208 -420.8232 m +362.0674 -420.8232 362.0107 -420.9072 361.9824 -420.9917 c +362.124 -420.9917 362.1797 -420.9351 362.208 -420.8232 c +f +0 D +362.124 -413.1689 m +F +1 D +362.124 -415.1104 m +362.1514 -415.1948 362.2363 -415.167 362.292 -415.1104 c +362.292 -415.0264 362.1514 -414.998 362.124 -415.1104 c +f +362.208 -413.647 m +362.3486 -413.6753 362.1797 -413.7598 362.208 -413.9004 c +362.6025 -413.8726 362.6865 -413.8726 362.8545 -413.8159 c +362.9121 -413.9287 362.9688 -413.8159 362.8545 -413.8159 c +362.7715 -413.563 363.0244 -413.4502 362.7715 -413.1689 c +362.9121 -413.1128 362.7715 -413.0562 362.7715 -413.1689 c +362.3213 -413.2251 362.4053 -413.4224 362.208 -413.647 c +f +0 D +362.208 -416.2358 m +F +362.292 -414.8574 m +F +362.6309 -414.4634 m +F +1 D +362.7139 -420.4292 m +362.7715 -420.4009 362.8545 -420.4292 362.8545 -420.3442 c +362.7988 -420.3726 362.7139 -420.3442 362.7139 -420.4292 c +f +0 D +362.8545 -420.0347 m +F +363.1094 -421.2451 m +F +363.1934 -420.7666 m +F +1 D +363.502 -414.6885 m +363.4463 -414.9697 363.8125 -415.0264 363.8398 -414.7729 c +363.6719 -414.8008 363.6426 -414.6885 363.502 -414.6885 c +f +0 D +364.7969 -420.5132 m +F +1 D +364.9658 -422.8496 m +364.9658 -422.9609 365.0508 -422.9053 365.1348 -422.8496 c +365.1348 -422.7646 364.9941 -422.7646 364.9658 -422.8496 c +f +0 D +365.1914 -420.2603 m +F +365.6133 -422.2871 m +F +1 D +366.0068 -422.7646 m +366.0352 -423.1016 366.373 -422.7646 366.0068 -422.7646 c +366.0352 -422.6523 365.9229 -422.624 365.9229 -422.5391 c +366.0352 -422.4834 365.9229 -422.4277 365.9229 -422.5391 c +365.7813 -422.5117 365.8096 -422.9053 366.0068 -422.7646 c +f +0 D +365.8389 -421.9766 m +F +366.0068 -412.437 m +F +1 D +366.2607 -421.8076 m +366.2041 -422.0332 366.4297 -421.9482 366.4854 -422.0332 c +366.5137 -421.8643 366.4297 -421.7798 366.2607 -421.8076 c +f +0 D +366.3447 -420.9072 m +F +1 D +366.4854 -423.3281 m +366.4854 -423.4121 366.626 -423.4395 366.6543 -423.3281 c +366.5703 -423.3555 366.542 -423.2148 366.4854 -423.3281 c +f +0 D +366.4854 -423.5801 m +F +1 D +366.6543 -422.4551 m +366.542 -422.6523 366.9355 -422.6797 366.9072 -422.5391 c +366.7949 -422.5391 366.7949 -422.4277 366.6543 -422.4551 c +f +366.9922 -423.4961 m +366.9639 -423.3838 366.9922 -423.2148 366.8232 -423.2422 c +366.8232 -423.3555 366.7666 -423.4395 366.7383 -423.4961 c +366.8232 -423.4961 366.9072 -423.4961 366.9922 -423.4961 c +f +366.9072 -422.6797 m +366.9072 -422.8496 366.9639 -422.9609 367.0479 -423.0176 c +367.0771 -422.8203 367.0479 -422.709 366.9072 -422.6797 c +f +367.1328 -423.4121 m +367.2451 -423.3555 367.1328 -423.3281 367.1328 -423.4121 c +367.0205 -423.4688 367.1611 -423.5244 367.1328 -423.4121 c +f +367.3857 -423.0176 m +367.499 -422.8203 367.1045 -422.7646 367.1328 -422.9336 c +367.1885 -422.9336 367.2451 -422.9336 367.2178 -423.0176 c +367.2734 -423.0176 367.3291 -423.0176 367.3857 -423.0176 c +f +0 D +367.1328 -422.0332 m +F +367.3018 -420.9917 m +F +1 D +367.6396 -423.3281 m +367.6396 -423.3838 367.6396 -423.4395 367.6953 -423.4121 c +367.6953 -423.2988 367.6104 -422.8203 367.4697 -423.1016 c +367.6953 -423.1582 367.3857 -423.3838 367.3857 -423.4961 c +367.5547 -423.5244 367.5547 -423.3838 367.6396 -423.3281 c +f +368.1172 -423.2422 m +368.1172 -423.2148 368.6523 -423.1875 368.3428 -422.9336 c +368.2871 -423.0459 368.2305 -422.9053 368.0332 -423.0176 c +368.0332 -422.9902 368.0332 -422.9609 368.0332 -422.9336 c +368.1465 -422.877 368.0332 -422.8496 368.0332 -422.9336 c +367.7803 -422.9053 367.7246 -422.6523 367.5547 -422.9336 c +367.8652 -422.8496 367.8359 -423.2148 368.0332 -423.0176 c +368.0332 -423.1309 368.0059 -423.2422 368.1172 -423.2422 c +f +0 D +367.6396 -423.75 m +367.6396 -423.7773 367.5547 -423.834 367.5547 -423.75 c +367.583 -423.75 367.6104 -423.75 367.6396 -423.75 c +f +1 D +367.6396 -422.5391 m +367.6953 -422.5117 367.7803 -422.5391 367.7803 -422.4551 c +367.7246 -422.4551 367.6396 -422.4551 367.6396 -422.5391 c +f +367.6953 -421.2451 m +367.751 -421.2734 368.0059 -421.4419 368.0332 -421.2451 c +367.9482 -421.2451 367.9766 -421.1328 367.9482 -421.0762 c +367.8916 -421.0762 367.8359 -421.0762 367.7803 -421.0762 c +367.7803 -421.1328 367.6953 -421.1606 367.6953 -421.2451 c +367.583 -421.3013 367.7246 -421.3296 367.6953 -421.2451 c +f +0 D +367.6953 -422.2871 m +F +1 D +367.7803 -423.2422 m +367.8359 -423.2422 367.9482 -423.2422 367.9482 -423.1875 c +367.8916 -423.1875 367.7803 -423.1875 367.7803 -423.2422 c +f +367.9482 -420.8232 m +367.5547 -420.8794 368.1738 -421.0762 368.2578 -421.1606 c +368.2578 -421.02 368.3428 -421.02 368.3428 -420.9072 c +368.2871 -420.9072 368.2578 -420.8232 368.2021 -420.8232 c +368.3711 -420.5698 368.6807 -420.5698 368.9053 -420.9072 c +368.9336 -420.8511 368.9893 -420.8232 368.9893 -420.7666 c +369.3281 -420.6538 369.3838 -420.7104 369.4961 -420.9917 c +369.3838 -421.02 369.4404 -421.0762 369.4961 -421.0762 c +369.5254 -421.1885 369.5811 -421.0762 369.4961 -421.0762 c +369.4961 -421.0479 369.4961 -421.02 369.4961 -420.9917 c +369.8623 -420.8232 369.7217 -420.626 369.9746 -420.3442 c +369.7773 -420.2881 369.6924 -420.3442 369.4111 -420.2603 c +369.4111 -420.3726 369.3838 -420.4009 369.3281 -420.4292 c +369.2705 -420.3164 369.2148 -420.4292 369.3281 -420.4292 c +369.2432 -420.5132 369.1592 -420.5977 369.0742 -420.6826 c +368.9893 -420.5698 368.9336 -420.4292 368.8486 -420.3442 c +368.8213 -420.2603 368.7646 -420.3164 368.7646 -420.3442 c +368.624 -420.5132 368.5117 -420.3164 368.3428 -420.2603 c +368.3428 -420.5132 368.1172 -420.5132 368.0332 -420.6826 c +367.8359 -420.6826 367.9209 -420.7383 367.9482 -420.8232 c +f +367.8652 -422.5391 m +367.9482 -422.5117 368.0059 -422.6523 368.0332 -422.5391 c +368.0332 -422.4551 367.8916 -422.4277 367.8652 -422.5391 c +f +0 D +368.2021 -420.8232 m +368.2021 -420.9351 367.9766 -420.9351 367.9482 -420.8232 c +368.0332 -420.8232 368.1172 -420.8232 368.2021 -420.8232 c +f +1 D +368.1172 -423.665 m +367.7803 -423.5801 368.0889 -423.8906 368.1172 -423.665 c +368.1738 -423.665 368.1738 -423.6367 368.2021 -423.5801 c +368.3145 -423.5244 368.1738 -423.4688 368.2021 -423.5801 c +368.1172 -423.5527 368.1172 -423.6094 368.1172 -423.665 c +f +0 D +368.0332 -420.6826 m +F +368.0332 -421.4141 m +F +368.1172 -421.3296 m +F +1 D +368.9053 -421.8921 m +368.8486 -421.9766 368.7646 -421.9204 368.5117 -421.9766 c +368.4277 -421.8921 368.4834 -421.667 368.2578 -421.7236 c +368.2305 -421.6108 368.1738 -421.7236 368.2578 -421.7236 c +368.1465 -422.1455 369.1592 -422.2871 368.9053 -421.8921 c +f +368.3428 -422.624 m +368.4277 -422.5957 368.5117 -422.5957 368.5117 -422.5391 c +368.4551 -422.5391 368.3428 -422.5391 368.3428 -422.624 c +f +0 D +368.5117 -420.8232 m +F +368.5957 -422.9336 m +F +368.6807 -420.9917 m +F +368.6807 -423.5801 m +F +368.8486 -420.3442 m +368.8486 -420.4009 368.7646 -420.4292 368.7646 -420.3442 c +368.793 -420.3442 368.8213 -420.3442 368.8486 -420.3442 c +f +1 D +368.7646 -422.6797 m +369.0186 -422.5957 369.1865 -423.0176 369.3281 -422.7646 c +369.1592 -422.793 369.2705 -422.4834 369.2432 -422.3711 c +369.2998 -422.3418 369.4111 -422.3711 369.4111 -422.2871 c +369.0742 -422.2305 369.1592 -422.2305 368.8486 -422.2871 c +368.8486 -422.4834 368.8213 -422.5957 368.7646 -422.6797 c +f +368.7646 -423.2422 m +368.8213 -423.2422 368.9053 -423.2422 368.9053 -423.1875 c +368.8486 -423.1875 368.7646 -423.1875 368.7646 -423.2422 c +f +0 D +368.9053 -421.8076 m +F +368.9893 -413.3374 m +F +368.9893 -420.7666 m +F +368.9893 -421.0762 m +F +1 D +369.0742 -421.4702 m +369.0186 -421.3574 368.9893 -421.498 369.0742 -421.4702 c +369.0459 -421.6387 369.1865 -421.6387 369.3281 -421.6387 c +369.3838 -421.7515 369.4111 -421.6387 369.3281 -421.6387 c +369.4111 -421.5264 369.4111 -421.4419 369.2432 -421.4141 c +369.2432 -421.0479 368.9336 -421.3857 369.2432 -421.4141 c +369.2432 -421.4702 369.1299 -421.4702 369.0742 -421.4702 c +f +0 D +369.0742 -423.5801 m +F +1 D +369.2432 -416.1519 m +369.3555 -416.0952 369.2432 -416.0674 369.2432 -416.1519 c +369.1299 -416.208 369.2432 -416.2642 369.2432 -416.1519 c +f +369.3281 -422.0332 m +369.666 -422.0605 369.3555 -421.7236 369.3281 -422.0332 c +369.2148 -422.0889 369.3281 -422.1455 369.3281 -422.0332 c +f +369.3281 -421.3296 m +369.3838 -421.3013 369.4688 -421.3296 369.4961 -421.2451 c +369.4111 -421.2451 369.3281 -421.2451 369.3281 -421.3296 c +f +0 D +369.6367 -421.7236 m +F +369.6367 -422.1172 m +F +369.7217 -420.5132 m +F +1 D +369.8906 -420.9917 m +369.8066 -421.2451 370.1436 -421.1045 370.1152 -421.3296 c +370.1152 -421.4702 369.918 -421.4141 369.9746 -421.6387 c +369.9473 -421.6387 369.918 -421.6387 369.8906 -421.6387 c +369.8906 -421.583 369.8623 -421.5547 369.8066 -421.5547 c +369.75 -421.4419 369.7217 -421.583 369.8066 -421.5547 c +369.7773 -421.6387 369.834 -421.6387 369.8906 -421.6387 c +369.8906 -421.667 369.8906 -421.6953 369.8906 -421.7236 c +369.8066 -421.6953 369.8066 -421.7515 369.8066 -421.8076 c +369.6924 -421.8643 369.8066 -421.8921 369.8066 -421.8076 c +369.8623 -421.8076 369.8906 -421.7798 369.8906 -421.7236 c +369.9473 -421.7515 369.9746 -421.6953 369.9746 -421.6387 c +370.0313 -421.6387 370.0586 -421.5547 370.1152 -421.5547 c +370.1719 -421.667 370.2285 -421.5547 370.1152 -421.5547 c +370.1719 -421.3857 370.3691 -421.1606 370.1992 -420.9917 c +370.3125 -420.9351 370.1992 -420.9072 370.1992 -420.9917 c +370.0029 -420.9917 370.0586 -421.1328 369.8906 -420.9917 c +f +0 D +369.8066 -412.606 m +F +1 D +370.0586 -415.1104 m +370.0586 -414.9136 369.918 -414.8574 369.8066 -414.7729 c +369.8066 -414.8853 369.8066 -414.998 369.8066 -415.1104 c +369.8906 -415.1104 369.9746 -415.1104 370.0586 -415.1104 c +f +369.8066 -422.4551 m +369.8623 -422.4277 369.9746 -422.4551 369.9746 -422.3711 c +369.8906 -422.3984 369.8066 -422.3711 369.8066 -422.4551 c +f +0 D +369.8906 -422.2012 m +F +1 D +370.1152 -422.5391 m +370.1992 -422.6797 369.8906 -422.793 370.1152 -422.8496 c +370.1436 -422.793 370.3398 -422.5391 370.1152 -422.5391 c +f +0 D +370.0586 -420.1758 m +F +370.0586 -420.8232 m +F +370.0586 -423.0176 m +F +370.1152 -422.2871 m +F +1 D +370.2842 -421.8076 m +370.5098 -421.8076 370.7061 -421.7798 370.7061 -421.5547 c +370.4814 -421.583 370.2842 -421.583 370.2842 -421.8076 c +370.1719 -421.8643 370.2842 -421.8921 370.2842 -421.8076 c +f +370.2842 -423.5801 m +370.3398 -423.5527 370.4531 -423.5801 370.4531 -423.4961 c +370.3965 -423.5244 370.2842 -423.4961 370.2842 -423.5801 c +f +0 D +370.3691 -412.1836 m +F +1 D +370.3691 -420.5977 m +370.4248 -420.5698 370.5371 -420.5977 370.5371 -420.5132 c +370.4814 -420.5415 370.3691 -420.5132 370.3691 -420.5977 c +f +0 D +370.3691 -421.2451 m +F +370.3691 -421.9766 m +F +370.3691 -422.9336 m +F +1 D +370.4531 -421.4141 m +370.4814 -421.4141 370.5098 -421.4141 370.5371 -421.4141 c +370.5371 -421.6387 370.875 -421.3296 370.5371 -421.4141 c +370.5098 -421.3013 370.4531 -421.3574 370.4531 -421.4141 c +370.3398 -421.4419 370.4531 -421.498 370.4531 -421.4141 c +f +0 D +370.4531 -415.8984 m +F +1 D +370.4531 -420.3442 m +370.5938 -420.3442 370.7061 -420.3726 370.7627 -420.4292 c +370.791 -420.2319 370.791 -420.0347 370.6221 -420.0347 c +370.5938 -420.0913 370.5371 -420.1196 370.4531 -420.1196 c +370.4531 -420.1758 370.4531 -420.2603 370.4531 -420.3442 c +f +0 D +370.5371 -423.3281 m +F +370.6221 -415.7578 m +F +1 D +372.5635 -420.5132 m +372.3955 -420.5132 372.3662 -420.4009 372.2256 -420.4292 c +372.1406 -420.5132 372.0566 -420.5977 371.9736 -420.6826 c +371.833 -420.3726 371.4941 -420.7944 371.0156 -420.6826 c +371.0156 -420.8232 371.1289 -420.8511 371.1006 -420.9917 c +370.9316 -420.8511 370.7061 -421.0762 370.6221 -421.2451 c +370.7344 -421.2451 370.875 -421.2451 371.0156 -421.2451 c +370.9873 -421.1045 371.1006 -421.1045 371.1006 -420.9917 c +371.6631 -420.9351 372.4795 -420.3726 372.958 -421.2451 c +372.6201 -421.2168 372.958 -421.583 372.958 -421.7236 c +373.042 -421.7236 373.127 -421.7236 373.1826 -421.7236 c +373.2393 -421.8359 373.2949 -421.7236 373.1826 -421.7236 c +373.4082 -421.4419 373.4639 -421.9766 373.7744 -421.8921 c +373.8857 -422.1738 373.8857 -421.6953 374.083 -421.8076 c +374.252 -421.9204 374.252 -422.2012 374.6455 -422.1172 c +374.5889 -421.8921 374.4219 -421.7515 374.083 -421.8076 c +374.083 -421.7798 374.083 -421.7515 374.083 -421.7236 c +373.8857 -421.7236 373.8301 -421.5547 373.7744 -421.8076 c +373.6045 -421.7515 373.7451 -421.667 373.7744 -421.5547 c +373.3516 -421.4419 373.2676 -420.9917 373.127 -420.5977 c +372.7607 -420.5698 372.6768 -420.7383 372.5635 -420.5977 c +372.5635 -420.5698 372.5635 -420.5415 372.5635 -420.5132 c +372.6768 -420.5415 372.6768 -420.4292 372.7881 -420.4292 c +372.8447 -420.5415 372.9014 -420.4292 372.7881 -420.4292 c +372.7324 -420.3726 372.7324 -420.2036 372.6201 -420.1758 c +372.7881 -420.0347 372.5361 -420.0068 372.4795 -419.8662 c +372.4512 -420.063 372.4795 -420.1758 372.6201 -420.1758 c +372.6475 -420.3442 372.5361 -420.3726 372.5635 -420.5132 c +f +0 D +370.6221 -423.834 m +F +1 D +370.7061 -414.8574 m +370.8193 -414.8008 370.6787 -414.7729 370.7061 -414.8574 c +370.5654 -414.9136 370.7061 -414.9697 370.7061 -414.8574 c +f +370.9316 -422.2871 m +371.0723 -422.0889 370.6504 -422.0605 370.7061 -422.2012 c +370.7344 -422.2012 370.791 -422.2305 370.7627 -422.2871 c +370.8193 -422.2871 370.875 -422.2871 370.9316 -422.2871 c +f +0 D +370.7627 -414.3789 m +F +1 D +370.8467 -421.8921 m +370.96 -421.8921 370.9316 -422.0332 371.0156 -422.0332 c +371.2129 -421.9482 370.9316 -421.667 370.8467 -421.8921 c +f +0 D +370.8467 -423.75 m +F +370.9316 -415.8984 m +F +1 D +370.9316 -420.4292 m +370.9873 -420.4009 371.1006 -420.4292 371.1006 -420.3442 c +371.0439 -420.3726 370.9316 -420.3442 370.9316 -420.4292 c +f +0 D +370.9316 -422.6797 m +F +370.9316 -423.0176 m +F +371.0156 -415.7578 m +F +1 D +371.1846 -416.2358 m +371.2969 -416.1802 371.1563 -416.1235 371.1846 -416.2358 c +370.9033 -416.377 371.4375 -416.4893 371.1846 -416.2358 c +f +0 D +371.1006 -422.2871 m +F +371.1846 -418.3184 m +F +371.1846 -424.3125 m +F +1 D +371.2695 -415.1104 m +371.3262 -415.0825 371.4102 -415.1104 371.4102 -415.0264 c +371.3535 -415.0542 371.2695 -415.0264 371.2695 -415.1104 c +f +0 D +371.2695 -415.5044 m +F +371.2695 -425.3535 m +F +1 D +371.3262 -416.1519 m +371.4102 -416.1235 371.4941 -416.1519 371.4941 -416.0674 c +371.4375 -416.0952 371.3535 -416.0674 371.3262 -416.1519 c +f +0 D +371.3262 -422.2871 m +F +371.4102 -416.8833 m +F +371.4102 -425.4375 m +F +1 D +371.4941 -415.5044 m +371.6074 -415.4482 371.4941 -415.4199 371.4941 -415.5044 c +371.3818 -415.5605 371.5225 -415.6172 371.4941 -415.5044 c +f +371.4941 -419.7817 m +371.5508 -419.7534 371.6631 -419.7817 371.6631 -419.6973 c +371.6074 -419.7256 371.4941 -419.6973 371.4941 -419.7817 c +f +371.748 -417.0522 m +371.748 -416.9956 371.748 -416.9395 371.748 -416.8833 c +371.6914 -416.8833 371.6348 -416.8833 371.5781 -416.8833 c +371.5781 -416.9395 371.5781 -416.9956 371.5781 -417.0522 c +371.6348 -417.0522 371.6914 -417.0522 371.748 -417.0522 c +f +372.5635 -419.4722 m +372.3105 -419.3877 372.3379 -419.585 372.1406 -419.5566 c +372.085 -419.3599 372.085 -419.0786 371.6631 -419.0498 c +371.6914 -419.3877 372.085 -419.3877 371.833 -419.7817 c +372.1406 -419.6411 372.5361 -419.979 372.5635 -419.4722 c +f +0 D +371.6631 -423.5801 m +F +1 D +371.748 -416.3208 m +372.085 -416.208 372.1143 -416.8271 372.3105 -416.4048 c +372.1143 -416.3208 372.1406 -416.208 371.916 -416.0674 c +371.8887 -416.1802 371.7754 -416.208 371.748 -416.3208 c +371.6348 -416.377 371.748 -416.4048 371.748 -416.3208 c +f +0 D +371.748 -414.041 m +F +371.748 -415.4199 m +F +371.748 -415.8984 m +F +371.833 -416.6304 m +F +371.833 -418.5718 m +F +1 D +371.833 -421.8076 m +371.916 -421.8076 371.9443 -421.9204 371.9736 -421.8076 c +371.9736 -421.7236 371.833 -421.6953 371.833 -421.8076 c +f +0 D +371.833 -423.1875 m +F +1 D +372.6201 -415.7578 m +372.5635 -415.814 372.4229 -415.7856 372.3955 -415.8984 c +372.2549 -415.9268 371.9736 -415.6733 371.916 -415.8984 c +372.0566 -415.8984 372.3105 -416.1519 372.3955 -415.8984 c +372.6475 -415.814 372.4512 -416.1802 372.7041 -416.0674 c +372.7041 -415.9829 372.7041 -415.8984 372.7041 -415.8418 c +372.7881 -415.8418 372.7881 -415.8984 372.873 -415.8984 c +372.873 -415.814 372.873 -415.7012 372.873 -415.5889 c +372.9854 -415.5322 372.873 -415.5044 372.873 -415.5889 c +372.7607 -415.7578 372.4512 -415.4482 372.6201 -415.7578 c +f +372.0566 -417.1084 m +372.0566 -417.0522 372.1406 -417.0239 372.1406 -416.9678 c +372.0566 -416.9678 372.0566 -416.8833 371.9736 -416.8833 c +371.9736 -416.9678 371.916 -416.9678 371.916 -417.0522 c +371.9736 -417.0522 372 -417.1084 372.0566 -417.1084 c +f +0 D +371.916 -424.3965 m +F +371.9736 -412.3525 m +F +1 D +372.0566 -413.9004 m +372 -414.0693 372.3955 -414.0693 372.3105 -413.9004 c +372.2822 -413.8159 372.085 -413.7876 372.0566 -413.9004 c +f +0 D +372.0566 -418.7402 m +F +372.0566 -421.7236 m +F +372.1406 -415.6733 m +F +372.1406 -425.5225 m +F +1 D +372.2256 -415.4199 m +372.3379 -415.3638 372.2256 -415.3354 372.2256 -415.4199 c +372.1143 -415.4766 372.2256 -415.5322 372.2256 -415.4199 c +f +372.6201 -423.4961 m +372.7324 -423.2988 372.6201 -423.3555 372.7041 -423.1016 c +372.5635 -423.1016 372.4512 -423.0742 372.3955 -423.0176 c +372.4512 -423.2715 372.1143 -423.1016 372.2256 -423.4121 c +372.4229 -423.3838 372.5361 -423.4395 372.6201 -423.4961 c +f +0 D +372.2256 -414.3789 m +F +372.2256 -427.5488 m +F +1 D +372.5635 -418.1777 m +372.5635 -418.0933 372.5635 -418.0088 372.5635 -417.9248 c +372.5068 -417.9248 372.4512 -417.9248 372.3955 -417.9248 c +372.3379 -417.9248 372.2822 -417.9526 372.3105 -418.0088 c +372.3955 -418.0371 372.3662 -418.0933 372.3105 -418.1777 c +372.3955 -418.1777 372.4795 -418.1777 372.5635 -418.1777 c +f +0 D +372.3105 -414.7729 m +F +1 D +372.3105 -422.5391 m +372.3662 -422.5117 372.4795 -422.5391 372.4795 -422.4551 c +372.3955 -422.4551 372.3105 -422.4551 372.3105 -422.5391 c +f +372.3955 -413.563 m +372.4229 -413.563 372.4512 -413.563 372.4795 -413.563 c +372.4512 -413.8442 372.6475 -413.9287 372.7881 -414.041 c +372.7041 -414.2378 372.5361 -414.3228 372.4795 -414.5479 c +372.7041 -414.4351 372.7324 -414.604 372.958 -414.4634 c +373.0137 -414.5762 373.042 -414.4634 372.958 -414.4634 c +373.0137 -414.3789 373.042 -414.2666 373.042 -414.126 c +373.127 -414.1538 373.1826 -414.126 373.1826 -414.041 c +373.0986 -414.0132 373.0703 -413.9004 372.958 -413.9004 c +372.9297 -413.647 372.6768 -413.647 372.4795 -413.563 c +372.4512 -413.4785 372.3955 -413.5347 372.3955 -413.563 c +372.2822 -413.6191 372.3955 -413.6753 372.3955 -413.563 c +f +372.4795 -412.8311 m +372.4795 -412.9722 372.3955 -412.9722 372.3955 -413.0845 c +372.6475 -413.0562 372.3955 -413.4785 372.873 -413.4224 c +372.958 -413.0283 372.6201 -413.0562 372.7041 -412.6904 c +372.5635 -412.6626 372.5635 -412.7466 372.5635 -412.8311 c +372.5361 -412.8311 372.5068 -412.8311 372.4795 -412.8311 c +f +372.7041 -415.4199 m +372.6201 -415.4199 372.6475 -415.3354 372.7041 -415.251 c +372.5918 -415.251 372.5068 -415.251 372.3955 -415.251 c +372.3955 -415.3354 372.3955 -415.4199 372.3955 -415.5044 c +372.5068 -415.5044 372.6768 -415.5322 372.7041 -415.4199 c +f +372.4795 -416.1519 m +372.3379 -416.3208 372.5361 -416.3208 372.3955 -416.4893 c +372.6201 -416.6021 372.6201 -416.1235 372.4795 -416.1519 c +f +0 D +372.5635 -412.3525 m +F +372.5635 -412.606 m +F +372.5635 -412.9155 m +372.5635 -412.8872 372.5635 -412.8594 372.5635 -412.8311 c +372.5918 -412.8311 372.6475 -412.9155 372.5635 -412.9155 c +f +1 D +372.5635 -415.1104 m +372.7041 -415.1387 372.7607 -415.2793 372.958 -415.251 c +372.958 -415.2231 372.958 -415.167 372.958 -415.1104 c +373.2109 -415.2793 373.0986 -415.0825 373.1826 -415.0264 c +373.3799 -414.998 373.1543 -415.3916 373.4365 -415.251 c +373.4365 -415.0542 373.2949 -415.0264 373.4365 -414.8574 c +372.958 -414.998 373.0986 -414.5479 372.7041 -414.6318 c +372.6475 -414.8574 372.9854 -414.7168 372.873 -415.0264 c +372.7607 -414.9136 372.5635 -414.9136 372.5635 -415.1104 c +f +0 D +372.7041 -415.8418 m +372.6768 -415.814 372.6201 -415.814 372.6201 -415.7578 c +372.6768 -415.7578 372.7324 -415.7578 372.7041 -415.8418 c +f +372.6201 -418.0088 m +F +1 D +373.1826 -416.5454 m +372.958 -416.5454 373.0137 -416.2358 372.7041 -416.3208 c +372.6475 -416.208 372.6201 -416.3208 372.7041 -416.3208 c +372.8447 -416.4048 372.9297 -416.9395 373.1826 -416.5454 c +f +373.2676 -419.4722 m +373.2676 -419.3599 373.2949 -419.3315 373.3516 -419.3032 c +373.3516 -419.3315 373.3516 -419.3599 373.3516 -419.3877 c +373.6045 -419.4722 373.6611 -419.416 373.7744 -419.2192 c +373.5771 -419.1904 373.4639 -419.2471 373.3516 -419.3032 c +373.3516 -419.2754 373.3516 -419.2471 373.3516 -419.2192 c +373.2393 -419.1904 373.1543 -419.1064 373.042 -419.0498 c +373.0137 -418.9375 373.0703 -418.7402 372.958 -418.7402 c +372.958 -418.8813 372.6768 -418.7969 372.7041 -418.9658 c +372.7881 -419.0498 372.9014 -419.0786 373.042 -419.0498 c +372.9854 -419.3032 373.127 -419.3877 373.2676 -419.4722 c +f +373.042 -418.3184 m +373.0137 -418.2061 372.8447 -418.2622 372.7041 -418.2622 c +372.7041 -418.5996 372.9014 -418.3467 373.042 -418.4873 c +373.042 -418.4312 373.042 -418.375 373.042 -418.3184 c +f +372.7881 -412.522 m +372.9014 -412.4653 372.7881 -412.437 372.7881 -412.522 c +372.6768 -412.5781 372.7881 -412.606 372.7881 -412.522 c +f +0 D +372.958 -414.041 m +372.9014 -414.041 372.8447 -414.041 372.7881 -414.041 c +372.7881 -413.9565 372.8174 -413.8726 372.958 -413.9004 c +372.958 -413.9565 372.958 -414.0132 372.958 -414.041 c +f +372.7881 -418.7402 m +F +1 D +373.127 -419.8662 m +372.873 -419.8379 372.9014 -420.063 372.7881 -420.1758 c +373.042 -420.2319 373.1543 -420.1196 373.127 -419.8662 c +f +0 D +372.958 -415.1104 m +372.9014 -415.1104 372.8447 -415.0825 372.873 -415.0264 c +372.9297 -415.0264 372.958 -415.0264 372.958 -415.1104 c +f +372.873 -417.0522 m +F +372.873 -418.0933 m +F +373.042 -414.126 m +372.9854 -414.126 372.9297 -414.126 372.958 -414.041 c +373.0137 -414.0693 373.042 -414.0693 373.042 -414.126 c +f +372.958 -413 m +F +372.958 -417.9248 m +F +372.958 -422.1172 m +F +1 D +373.3516 -413.3374 m +373.2109 -413.3096 373.1826 -413.4224 373.042 -413.4224 c +372.9854 -413.2817 372.9297 -413.4224 373.042 -413.4224 c +372.9854 -413.7598 373.4365 -413.647 373.3516 -413.3374 c +f +0 D +373.127 -414.5479 m +F +373.127 -421.9766 m +F +373.127 -424.3965 m +F +1 D +373.4365 -417.4458 m +373.4365 -417.3052 373.7178 -417.3896 373.7744 -417.2773 c +373.8301 -416.9678 373.5771 -416.9678 373.4365 -416.8833 c +373.4365 -416.7988 373.4639 -416.7988 373.5205 -416.7988 c +373.3799 -416.5737 373.4922 -416.4331 373.2676 -416.4048 c +373.2949 -416.6021 373.2949 -416.771 373.1826 -416.8833 c +373.2676 -416.8833 373.3516 -416.8833 373.4365 -416.8833 c +373.4922 -417.0806 373.1826 -417.3335 373.4365 -417.4458 c +f +0 D +373.1826 -418.4028 m +F +1 D +373.6045 -412.437 m +373.4082 -412.437 373.3516 -412.2964 373.2676 -412.522 c +373.3799 -412.6338 373.5771 -412.6338 373.6045 -412.437 c +f +373.2676 -415.7578 m +373.2676 -415.8418 373.4082 -415.8418 373.4365 -415.7578 c +373.3516 -415.7578 373.3232 -415.645 373.2676 -415.7578 c +f +373.2676 -420.0347 m +373.3516 -420.0068 373.4365 -420.0347 373.4365 -419.9507 c +373.3799 -419.979 373.2676 -419.9507 373.2676 -420.0347 c +f +0 D +373.2676 -424.2285 m +F +1 D +373.3516 -420.5132 m +373.4082 -420.4854 373.5205 -420.5132 373.5205 -420.4292 c +373.4639 -420.457 373.3516 -420.4292 373.3516 -420.5132 c +f +373.6045 -414.6318 m +373.915 -414.604 373.7451 -415.0542 373.999 -415.1104 c +373.9707 -415.2793 374.0264 -415.3638 374.167 -415.3354 c +374.0557 -415.4482 374.0557 -415.645 374.252 -415.6733 c +374.3076 -415.2793 374.5332 -415.5605 374.8994 -415.5044 c +374.8145 -415.0825 375.0957 -415.5044 375.125 -415.1948 c +374.7861 -415.1387 374.8711 -415.167 374.5625 -415.1104 c +374.4219 -414.7446 374.083 -414.7168 374.3369 -414.2944 c +374.0264 -414.4634 374.1396 -414.126 373.915 -414.2944 c +373.9707 -413.7876 373.7178 -413.5908 373.4365 -413.4224 c +373.2393 -413.9565 373.915 -414.1821 373.6045 -414.6318 c +373.4922 -414.6602 373.6045 -414.7168 373.6045 -414.6318 c +f +0 D +373.4365 -417.8398 m +F +373.4365 -420.2603 m +F +373.4365 -422.1172 m +F +1 D +373.4365 -422.3711 m +373.4922 -422.3418 373.6045 -422.3711 373.6045 -422.2871 c +373.5488 -422.3145 373.4365 -422.2871 373.4365 -422.3711 c +f +373.6045 -420.5977 m +373.6611 -420.626 373.7178 -420.6826 373.8301 -420.6826 c +373.8584 -420.7666 373.9707 -420.7944 373.999 -420.9072 c +373.8584 -420.9351 373.9424 -421.1885 373.8301 -421.2451 c +373.9707 -421.2168 373.9707 -421.3013 374.083 -421.3296 c +374.083 -421.3857 374.083 -421.4141 374.083 -421.4702 c +373.9707 -421.5264 374.083 -421.583 374.083 -421.4702 c +374.1963 -421.583 374.4775 -421.6108 374.4775 -421.4141 c +374.5625 -421.3857 374.5625 -421.3296 374.6455 -421.3296 c +374.6738 -421.2168 374.6182 -421.1885 374.5625 -421.1606 c +374.5625 -421.2451 374.4219 -421.2168 374.3926 -421.3296 c +374.252 -421.1885 374.3076 -421.3296 374.083 -421.3296 c +374.0557 -421.0762 374.252 -421.0762 374.252 -420.8232 c +373.999 -420.9072 374.083 -420.626 373.8301 -420.6826 c +373.7744 -420.5132 374.083 -420.4009 373.8301 -420.3442 c +373.8301 -420.457 373.6895 -420.4292 373.6045 -420.4292 c +373.6045 -420.4854 373.6045 -420.5415 373.6045 -420.5977 c +373.2676 -420.5132 373.5771 -420.8232 373.6045 -420.5977 c +f +0 D +373.5205 -417.6152 m +F +1 D +374.083 -418.2622 m +373.8857 -418.29 373.999 -418.0088 373.8301 -418.0088 c +373.8018 -418.1494 373.6045 -417.9248 373.5205 -418.1777 c +373.7178 -418.2061 373.9424 -418.6563 374.083 -418.2622 c +f +0 D +373.5205 -424.959 m +F +1 D +373.915 -415.5889 m +373.8301 -415.5889 373.7744 -415.5889 373.6895 -415.5889 c +373.5771 -415.6733 373.6611 -415.9546 373.7744 -416.0674 c +373.8857 -415.9829 373.9707 -415.8418 373.915 -415.5889 c +f +373.915 -412.9155 m +373.8301 -412.9155 373.8018 -412.8311 373.6895 -412.8311 c +373.6611 -413.0283 373.6895 -413.1406 373.8301 -413.1689 c +373.8301 -413.0562 373.8857 -413 373.915 -412.9155 c +f +373.6895 -420.1196 m +373.7451 -420.0913 373.8301 -420.1196 373.8301 -420.0347 c +373.7744 -420.0347 373.6895 -420.0347 373.6895 -420.1196 c +f +0 D +373.6895 -420.8232 m +F +373.6895 -426.8164 m +F +1 D +373.7744 -419.8662 m +373.8301 -419.9224 373.9707 -419.979 373.999 -419.8662 c +373.8857 -419.8379 373.999 -419.7817 373.999 -419.6973 c +373.8584 -419.6973 373.8018 -419.7534 373.7744 -419.8662 c +373.6338 -419.9224 373.7744 -419.9507 373.7744 -419.8662 c +f +373.8301 -422.624 m +373.8018 -422.6523 373.7451 -422.5957 373.7744 -422.6797 c +373.8018 -423.0459 374.2236 -422.2305 373.8301 -422.624 c +f +374.167 -419.2192 m +374.1396 -419.1064 373.999 -419.1343 373.999 -419.2192 c +373.9424 -419.2192 373.915 -419.2471 373.915 -419.3032 c +373.8857 -419.3032 373.8584 -419.3032 373.8301 -419.3032 c +373.8301 -419.3599 373.7744 -419.3877 373.7744 -419.4722 c +373.8301 -419.5005 373.8857 -419.5566 373.999 -419.5566 c +374.0264 -419.416 373.915 -419.416 373.915 -419.3032 c +373.999 -419.3032 373.999 -419.2754 373.999 -419.2192 c +374.0557 -419.2192 374.1113 -419.2192 374.167 -419.2192 c +374.083 -419.5005 374.6182 -419.3877 374.5625 -419.2192 c +374.8145 -419.1904 374.4775 -418.8813 374.5625 -419.2192 c +374.3076 -419.2754 374.4219 -419.2754 374.167 -419.2192 c +f +0 D +373.7744 -421.8076 m +373.8018 -421.8076 373.8584 -421.8643 373.7744 -421.8921 c +373.7744 -421.8643 373.7744 -421.8359 373.7744 -421.8076 c +f +373.8301 -412.606 m +F +1 D +373.999 -413.4785 m +373.9424 -413.6753 374.3076 -413.6753 374.252 -413.4785 c +374.2236 -413.4224 374.0264 -413.394 373.999 -413.4785 c +f +0 D +374.252 -415.1104 m +374.1396 -415.167 374.252 -415.1948 374.252 -415.1104 c +374.3643 -415.1104 374.4482 -415.1104 374.5625 -415.1104 c +374.5625 -415.3076 374.2813 -415.2231 374.167 -415.3354 c +374.083 -415.2793 374.1113 -415.1387 373.999 -415.1104 c +373.999 -414.998 374.2236 -414.998 374.252 -415.1104 c +f +373.999 -420.5132 m +F +1 D +374.4775 -416.0674 m +374.3076 -416.0391 374.4775 -415.7012 374.252 -415.7578 c +374.2236 -415.8706 374.1113 -415.8984 374.083 -415.9829 c +374.1963 -415.9829 374.4219 -416.2925 374.4775 -416.0674 c +f +374.3369 -418.6563 m +374.1963 -418.6563 374.1113 -418.7124 374.083 -418.8252 c +374.2236 -418.8252 374.2813 -418.7686 374.3369 -418.6563 c +f +0 D +374.167 -418.3184 m +F +374.252 -415.9829 m +F +374.252 -419.9507 m +F +374.252 -420.1196 m +F +1 D +374.3369 -419.0498 m +374.3926 -419.0498 374.4775 -419.0498 374.4775 -418.9658 c +374.4219 -418.9937 374.3369 -418.9937 374.3369 -419.0498 c +f +0 D +374.3369 -420.9917 m +F +374.3926 -420.3442 m +F +374.4775 -421.4141 m +374.4482 -421.3857 374.3926 -421.3857 374.3926 -421.3296 c +374.4482 -421.3296 374.5049 -421.3296 374.4775 -421.4141 c +f +1 D +374.4775 -418.6563 m +374.6182 -418.5996 374.4775 -418.5718 374.4775 -418.6563 c +374.252 -418.6846 374.5625 -418.9937 374.4775 -418.6563 c +f +0 D +374.4775 -415.6733 m +F +374.4775 -419.6128 m +F +374.4775 -425.916 m +F +374.5625 -415.8418 m +F +374.5625 -421.6387 m +F +1 D +374.5625 -427.2109 m +374.6182 -427.1826 374.7305 -427.2109 374.7305 -427.127 c +374.6738 -427.1543 374.5625 -427.127 374.5625 -427.2109 c +f +0 D +374.6455 -424.7061 m +F +374.6455 -424.875 m +F +374.7305 -412.3525 m +F +374.7305 -413.563 m +F +374.8145 -414.21 m +F +374.8145 -424.6221 m +F +1 D +374.8994 -421.0762 m +375.0117 -421.02 374.8711 -420.9917 374.8994 -421.0762 c +374.7861 -421.1328 374.8994 -421.1606 374.8994 -421.0762 c +f +0 D +374.8994 -413.0845 m +F +1 D +374.8994 -426.957 m +374.9551 -426.957 375.04 -426.957 375.04 -426.9004 c +374.9844 -426.9004 374.8994 -426.9004 374.8994 -426.957 c +f +375.209 -427.4639 m +374.9844 -427.4355 375.04 -427.5762 374.8994 -427.4639 c +374.8994 -427.5488 374.8994 -427.6045 374.8994 -427.6895 c +375.0957 -427.7168 375.1523 -427.5762 375.209 -427.4639 c +f +375.209 -418.8252 m +375.0684 -418.8252 375.0117 -418.8813 374.9844 -418.9658 c +375.125 -418.9937 375.1807 -418.9092 375.209 -418.8252 c +f +0 D +374.9844 -419.3032 m +F +375.04 -420.1758 m +F +1 D +375.209 -412.437 m +375.209 -412.522 375.3496 -412.5498 375.3779 -412.437 c +375.293 -412.437 375.2373 -412.3247 375.209 -412.437 c +f +375.209 -427.2109 m +375.2656 -427.1826 375.3779 -427.2109 375.3779 -427.127 c +375.3213 -427.1543 375.209 -427.127 375.209 -427.2109 c +f +0 D +375.209 -427.3799 m +F +375.293 -426.6484 m +F +375.3779 -423.5801 m +F +*U +*u +387.5293 -415.8418 m +387.416 -415.8418 387.3604 -415.814 387.3047 -415.7578 c +386.9658 -415.73 387.332 -416.0112 387.3887 -416.0952 c +386.7422 -416.1519 385.9248 -416.208 385.0244 -416.0952 c +384.8838 -415.9546 384.6865 -415.5889 384.4619 -415.7578 c +384.3779 -415.5322 384.124 -415.4766 384.1533 -415.1104 c +383.7871 -415.4482 383.7871 -415.7578 383.9834 -416.0952 c +383.3926 -416.0674 382.1543 -416.3208 381.2256 -416.0952 c +381.2256 -416.5176 381.2256 -417.0522 381.2256 -417.5308 c +381.2256 -418.0088 381.3662 -418.5996 381.085 -418.8252 c +381.3662 -419.3315 381.2256 -420.0068 381.2256 -420.5977 c +381.2256 -422.5684 381.2256 -424.5654 381.2256 -426.4229 c +383.5059 -426.4229 386.1221 -426.4229 388.0918 -426.4229 c +388.9082 -426.4229 389.6963 -426.3379 390.3711 -426.4229 c +390.625 -426.4512 390.6533 -426.3379 390.7656 -426.6758 c +390.6533 -426.7041 390.7656 -426.7598 390.7656 -426.6758 c +391.1025 -426.2822 392.5947 -426.4512 393.5234 -426.5078 c +393.3828 -426.5635 393.5234 -426.5918 393.5234 -426.5078 c +394.2266 -426.3105 395.2676 -426.4785 396.084 -426.4229 c +396.084 -427.9424 396.084 -429.4902 396.084 -431.0098 c +389.6396 -431.0098 383.167 -431.0098 376.7236 -431.0098 c +376.7793 -430.4746 376.5264 -429.4902 377.0332 -429.6582 c +377.1172 -429.209 376.667 -429.6582 376.7236 -429.3213 c +376.7236 -423.5801 376.7236 -417.5308 376.7236 -411.5649 c +383.167 -411.5649 389.6396 -411.5649 396.084 -411.5649 c +396.084 -413.2534 396.168 -414.5479 396.084 -416.1802 c +393.0439 -416.1519 389.2461 -416.208 387.6133 -416.0952 c +387.6133 -415.9829 387.501 -415.9829 387.5293 -415.8418 c +387.6416 -415.7856 387.5293 -415.7578 387.5293 -415.8418 c +f +1 D +376.9492 -418.0933 m +376.9492 -418.2061 376.8643 -418.1494 376.8076 -418.0933 c +376.8076 -418.1777 376.8076 -418.2622 376.8076 -418.3467 c +376.9766 -418.4312 377.1738 -418.1494 376.9492 -418.0933 c +f +0 D +376.8076 -418.7402 m +F +376.8076 -418.9937 m +F +1 D +376.8926 -417.6152 m +376.9492 -417.6152 376.9766 -417.6152 377.0332 -417.6152 c +377.0605 -417.4746 376.9766 -417.4746 376.8926 -417.4746 c +376.8359 -417.3335 376.7793 -417.4746 376.8926 -417.4746 c +376.8926 -417.5024 376.8926 -417.5586 376.8926 -417.6152 c +f +0 D +377.0332 -418.5996 m +F +377.1172 -418.2622 m +F +1 D +377.2861 -418.4312 m +377.3711 -418.459 377.3418 -418.5996 377.4561 -418.5996 c +377.4561 -418.5156 377.54 -418.5156 377.54 -418.4312 c +377.7637 -418.4028 377.4561 -418.0933 377.54 -418.4312 c +377.4561 -418.375 377.3145 -418.3184 377.2861 -418.4312 c +f +0 D +377.3711 -418.7402 m +F +1 D +377.54 -424.8184 m +377.5117 -424.6777 377.54 -424.5371 377.3711 -424.5654 c +377.3711 -424.6221 377.3711 -424.6777 377.3711 -424.7344 c +377.4561 -424.7344 377.4561 -424.791 377.54 -424.8184 c +f +0 D +377.4561 -417.6992 m +F +1 D +377.6807 -418.8252 m +377.7373 -418.5718 377.4824 -418.5435 377.4561 -418.7402 c +377.5674 -418.7402 377.623 -418.7969 377.6807 -418.8252 c +f +0 D +377.7637 -418.5996 m +F +377.7637 -421.4141 m +F +377.8486 -418.1777 m +F +377.8486 -421.2451 m +F +377.8486 -421.667 m +F +378.0186 -417.2212 m +F +378.1025 -420.3726 m +F +378.2432 -423.5244 m +F +378.4961 -421.8921 m +F +1 D +379.0596 -428.1953 m +379.0596 -428.083 379.0596 -427.9707 379.0596 -427.8867 c +378.8623 -427.8574 378.7217 -427.9141 378.665 -428.0273 c +378.8057 -428.083 378.8057 -428.2803 379.0596 -428.1953 c +f +379.96 -415.8418 m +379.96 -415.7578 380.0156 -415.7578 380.0156 -415.6733 c +379.9307 -415.7012 379.8467 -415.645 379.79 -415.6172 c +379.79 -415.6733 379.79 -415.7578 379.79 -415.8418 c +379.8467 -415.8418 379.9043 -415.8418 379.96 -415.8418 c +f +0 D +381.873 -415.2793 m +F +1 D +382.2109 -415.6172 m +382.2109 -415.5044 382.3232 -415.5044 382.2949 -415.3638 c +382.2109 -415.3638 382.127 -415.3638 382.042 -415.3638 c +382.042 -415.4482 382.042 -415.5322 382.042 -415.6172 c +382.0977 -415.6172 382.1543 -415.6172 382.2109 -415.6172 c +f +0 D +382.5195 -415.8418 m +F +382.6895 -415.4482 m +F +1 D +382.8584 -415.6172 m +383.1396 -415.5605 383.6465 -415.73 383.5898 -415.3638 c +383.5332 -415.3638 383.4766 -415.3638 383.4209 -415.3638 c +383.5059 -414.998 383.0547 -415.4482 383.4209 -415.3638 c +383.5059 -415.6733 382.6045 -415.4199 382.8584 -415.6172 c +f +0 D +383.167 -414.1538 m +F +383.252 -414.4072 m +F +383.252 -414.5479 m +F +1 D +383.4209 -414.7168 m +383.6738 -414.6885 383.3359 -414.3789 383.4209 -414.7168 c +383.3086 -414.7729 383.4209 -414.8008 383.4209 -414.7168 c +f +0 D +383.6738 -414.6318 m +F +384.7158 -416.1802 m +384.4619 -416.1235 384.4619 -415.8418 384.1533 -415.8418 c +384.1533 -415.73 384.3496 -415.7856 384.4619 -415.7578 c +384.5459 -415.9268 384.9121 -415.9546 384.7158 -416.1802 c +f +384.2939 -416.0952 m +384.2646 -416.208 384.2373 -416.0674 384.1533 -416.0952 c +384.1533 -415.9829 384.2939 -416.0112 384.2939 -416.0952 c +f +384.5459 -415.2793 m +F +384.8838 -415.8418 m +F +385.3623 -415.8418 m +F +386.1504 -415.6733 m +F +1 D +386.4043 -415.0264 m +386.4609 -415.0264 386.5723 -415.0264 386.5723 -414.9697 c +386.5166 -414.9697 386.4043 -414.9697 386.4043 -415.0264 c +f +0 D +386.5723 -415.9268 m +F +386.6572 -415.0264 m +F +386.8828 -429.4063 m +F +388.1768 -415.6172 m +F +1 D +390.5957 -426.5918 m +390.5127 -426.5918 390.4551 -426.5918 390.3711 -426.5918 c +390.3711 -426.6758 390.3711 -426.7324 390.3711 -426.8164 c +390.5684 -426.873 390.5127 -426.6484 390.5957 -426.5918 c +f +0 D +390.9346 -426.7324 m +F +1 D +391.8066 -427.7168 m +391.8633 -427.6895 391.9756 -427.7168 391.9756 -427.6328 c +391.9189 -427.6611 391.8066 -427.6328 391.8066 -427.7168 c +f +393.0166 -427.4639 m +393.0166 -427.2676 392.876 -427.1826 392.792 -427.0703 c +392.707 -427.0977 392.4814 -427.3799 392.707 -427.4639 c +392.7354 -427.2676 392.8477 -427.5762 393.0166 -427.4639 c +f +393.2695 -427.1543 m +393.2695 -427.0137 393.2695 -426.873 393.2695 -426.7324 c +393.6074 -426.8164 393.2695 -426.5078 393.2695 -426.7324 c +393.1582 -426.8447 393.0166 -427.127 393.2695 -427.1543 c +f +393.832 -427.4639 m +393.9453 -427.4082 393.832 -427.3799 393.832 -427.4639 c +393.8047 -427.4639 393.7764 -427.4639 393.748 -427.4639 c +393.832 -427.127 393.5234 -427.4639 393.748 -427.4639 c +393.7764 -427.5488 393.832 -427.5205 393.832 -427.4639 c +f +0 D +394.1426 -427.6328 m +F +395.5215 -415.1104 m +F +*U +*u +407.0537 -416.3208 m +407.0537 -416.4048 406.9688 -416.4048 406.9688 -416.4893 c +405.2529 -416.4614 404.042 -416.4614 402.3545 -416.4893 c +402.1846 -417.2212 402.3262 -418.3184 402.2695 -419.2192 c +404.0146 -419.3877 406.125 -419.3315 407.3633 -419.3877 c +407.6162 -419.3877 407.8975 -419.5288 408.0098 -419.3032 c +408.208 -419.4438 407.9268 -419.585 408.0938 -419.7817 c +408.2637 -419.8101 408.123 -419.5005 408.1787 -419.3877 c +411.3867 -419.1904 414.2012 -419.3599 417.3809 -419.3032 c +417.4648 -419.9224 417.4092 -420.2319 417.3809 -420.9917 c +417.2686 -420.9917 417.2686 -420.8794 417.1279 -420.9072 c +417.1553 -420.8511 417.0986 -420.8511 417.043 -420.8232 c +417.043 -420.9072 417.0723 -420.9072 417.1279 -420.9072 c +417.0986 -421.1045 417.2686 -421.1045 417.2129 -421.3296 c +417.0986 -421.3574 417.2129 -421.4141 417.2129 -421.3296 c +417.5498 -421.583 417.2129 -421.7515 417.3809 -422.1172 c +417.3809 -422.5684 417.4365 -423.3838 417.3809 -423.8906 c +416.7334 -423.8057 416.2549 -424.002 415.6924 -423.834 c +415.6357 -423.6934 415.5801 -423.834 415.6924 -423.834 c +411.4717 -424.0313 406.9131 -423.8057 403.3379 -423.8906 c +402.9453 -423.918 403.4785 -423.5244 403.0859 -423.4961 c +402.6641 -423.665 402.6074 -423.75 402.2139 -423.9746 c +402.6357 -424.3965 401.8193 -425.3252 402.2695 -425.2695 c +402.2695 -425.3535 402.2139 -425.3818 402.2139 -425.4375 c +402.0166 -425.2402 401.9326 -425.4941 401.792 -425.6064 c +401.96 -425.6631 402.0439 -425.7754 402.2695 -425.6064 c +402.3262 -426.2266 402.2139 -426.5635 402.2139 -426.8164 c +402.6641 -427.0977 403.3115 -426.957 403.9014 -426.957 c +405.7861 -426.957 407.6719 -426.957 409.4736 -426.957 c +409.4453 -427.0977 409.333 -427.0977 409.3047 -427.2109 c +409.4453 -427.4082 409.5303 -426.9004 409.7832 -426.957 c +411.4434 -427.127 413.7793 -426.7598 415.4385 -426.957 c +415.5518 -426.9863 415.7207 -426.957 415.6924 -427.127 c +416.002 -426.7891 416.9023 -427.041 417.4648 -426.957 c +417.3809 -427.998 417.4648 -429.377 417.4648 -431.0098 c +415.0459 -431.1221 412.5684 -431.1221 410.5156 -430.9258 c +410.9082 -430.9814 410.458 -430.5313 410.5156 -430.9258 c +406.1816 -431.0664 401.9033 -430.9531 397.3447 -431.0098 c +397.4023 -425.8887 397.2617 -420.5698 397.4287 -415.5889 c +397.5703 -415.6172 397.5137 -415.8418 397.7676 -415.7578 c +397.9922 -415.5605 397.626 -415.251 397.8516 -415.0264 c +397.9082 -415.0825 398.1045 -415.3638 398.0762 -415.0264 c +398.415 -414.8574 398.3857 -414.6885 398.5557 -414.4634 c +398.6113 -414.5195 398.6396 -414.604 398.7246 -414.6318 c +398.752 -414.3789 398.7246 -414.3506 398.5557 -414.4634 c +398.3857 -414.2944 398.667 -414.21 398.6396 -413.9849 c +398.7803 -413.9287 398.6396 -413.8726 398.6396 -413.9849 c +398.3857 -413.8442 398.1045 -413.9287 397.9922 -414.3789 c +398.2734 -414.604 398.0488 -414.041 398.415 -414.2944 c +398.5264 -414.604 398.1611 -414.4634 398.0762 -414.5479 c +397.9355 -414.6318 397.8799 -414.8291 397.7676 -414.9414 c +397.626 -415.0825 397.4023 -414.9414 397.4287 -415.1948 c +397.2041 -414.998 397.5137 -414.7168 397.3447 -414.5479 c +397.5703 -414.5479 397.8799 -414.5762 397.6836 -414.3789 c +398.1895 -414.3228 397.373 -414.041 397.6836 -414.3789 c +397.5703 -414.3789 397.458 -414.3789 397.3447 -414.3789 c +397.3447 -414.1538 397.3447 -413.9565 397.3447 -413.7314 c +397.4854 -413.9287 397.4854 -413.7876 397.6836 -413.9004 c +397.7109 -413.7036 397.543 -413.7036 397.5986 -413.4785 c +397.5986 -413.3096 397.373 -413.5063 397.4287 -413.647 c +397.2617 -413.1968 397.4023 -412.3813 397.3447 -411.79 c +404.0703 -411.79 410.7676 -411.79 417.4648 -411.79 c +417.3809 -413.4502 417.5498 -414.8853 417.3809 -416.4893 c +414.3984 -416.4893 411.415 -416.4893 408.4043 -416.4893 c +408.1504 -416.5454 408.291 -416.208 408.0938 -416.2358 c +408.1504 -416.6021 407.2783 -416.4893 407.0537 -416.3208 c +406.9971 -416.208 406.9404 -416.3208 407.0537 -416.3208 c +f +397.5137 -414.041 m +F +397.5986 -415.3354 m +F +397.5986 -415.3354 m +F +397.6836 -413.647 m +F +397.8516 -414.126 m +F +1 D +398.3301 -424.875 m +398.3301 -424.3965 397.7676 -424.791 398.1611 -424.959 c +398.1895 -424.875 398.2451 -424.8467 398.3301 -424.875 c +f +0 D +398.0762 -415.0264 m +F +1 D +398.3301 -425.5225 m +397.9922 -425.4375 398.3018 -425.7471 398.3301 -425.5225 c +398.3857 -425.5225 398.4424 -425.5225 398.499 -425.5225 c +398.499 -425.6348 398.415 -425.6631 398.415 -425.7471 c +398.667 -425.7754 399.1465 -425.5781 398.8926 -425.3535 c +398.8369 -425.4375 398.6396 -425.3535 398.499 -425.5225 c +398.4707 -425.4102 398.3301 -425.4375 398.3301 -425.5225 c +f +0 D +398.2451 -422.8496 m +F +398.3301 -415.8984 m +F +1 D +399.2031 -413.9004 m +399.2031 -413.6753 399.2031 -413.4502 399.2031 -413.2534 c +398.8652 -413.2534 398.7246 -413.1406 398.499 -413.3374 c +398.499 -413.5347 398.8369 -413.8442 399.2031 -413.9004 c +f +398.7246 -421.4141 m +398.752 -421.2168 398.7246 -421.1045 398.5557 -421.0762 c +398.583 -421.1885 398.5264 -421.2451 398.499 -421.3296 c +398.6113 -421.3296 398.667 -421.3574 398.7246 -421.4141 c +f +0 D +398.499 -421.4702 m +F +1 D +398.499 -425.2695 m +398.5557 -425.2695 398.6396 -425.2695 398.6396 -425.1846 c +398.583 -425.2129 398.499 -425.1846 398.499 -425.2695 c +f +398.9775 -424.4814 m +398.6963 -424.4814 398.583 -424.2842 398.5557 -424.6221 c +398.7803 -424.6504 398.8926 -424.5938 398.9775 -424.4814 c +f +0 D +398.6396 -412.3525 m +F +398.8076 -428.0273 m +F +398.8926 -420.8232 m +F +398.8926 -423.4961 m +F +1 D +398.9775 -414.8574 m +399.0332 -414.8574 399.1182 -414.8574 399.1465 -414.7729 c +399.0625 -414.8008 398.9775 -414.7729 398.9775 -414.8574 c +f +398.9775 -425.0439 m +399.1182 -425.0996 398.9775 -425.1846 398.9775 -425.2695 c +399.1182 -425.2969 399.1465 -425.1846 399.2871 -425.1846 c +399.3145 -425.0723 399.2295 -425.0439 399.2031 -424.959 c +399.54 -425.0156 399.5957 -424.6777 399.9336 -424.6221 c +400.3838 -424.9033 400.4971 -424.5371 v +400.5527 -424.791 400.666 -424.4814 400.834 -424.5371 c +400.7227 -424.3125 400.9189 -424.2285 401.0039 -423.9746 c +401.0879 -424.0586 401.1445 -424.1992 401.2285 -424.3125 c +400.8066 -424.2285 401.1445 -424.5371 401.2285 -424.3125 c +401.6221 -424.2842 401.1719 -424.0313 401.1445 -423.8906 c +401.5938 -424.002 401.3125 -423.4395 401.1445 -423.4121 c +401.1152 -423.5527 401.2285 -423.5527 401.2285 -423.665 c +400.7783 -423.665 400.4971 -424.5098 400.1025 -424.0586 c +400.1875 -424.7061 399.0059 -424.3125 399.2031 -424.959 c +399.0889 -424.9316 398.9775 -424.9316 398.9775 -425.0439 c +f +399.1465 -425.832 m +399.1465 -425.8594 399.1465 -425.8887 399.1465 -425.916 c +399.0059 -425.9727 399.1465 -426.0293 399.1465 -425.916 c +399.2031 -425.9443 399.2031 -425.8887 399.2031 -425.832 c +399.2871 -425.9727 399.3994 -426.3672 399.54 -426 c +399.0332 -425.9727 399.9902 -425.2695 399.7656 -425.7471 c +399.9336 -425.7471 400.2432 -425.4941 400.0186 -425.3535 c +399.9619 -425.5508 399.8496 -425.0996 399.625 -425.1846 c +399.625 -425.3252 399.6523 -425.4941 399.54 -425.5225 c +399.5117 -425.1563 399.0625 -425.5225 399.1465 -425.7471 c +399.0332 -425.7754 399.0889 -425.832 399.1465 -425.832 c +f +399.1465 -415.3354 m +399.2588 -415.3076 399.1182 -415.251 399.1465 -415.3354 c +399.0059 -415.3916 399.1465 -415.4482 399.1465 -415.3354 c +f +399.4551 -417.1929 m +399.3438 -417.1646 399.3145 -417.0806 399.1465 -417.1084 c +399.0625 -417.3896 399.2588 -417.3618 399.3711 -417.4458 c +399.3711 -417.3335 399.4277 -417.2773 399.4551 -417.1929 c +f +0 D +399.1465 -425.7471 m +399.1738 -425.7754 399.2295 -425.7754 399.2031 -425.832 c +399.1738 -425.832 399.1738 -425.832 399.1465 -425.832 c +399.1465 -425.8037 399.1465 -425.7754 399.1465 -425.7471 c +f +1 D +399.3711 -424.3125 m +399.3711 -424.2559 399.3711 -424.1992 399.3711 -424.1426 c +399.3145 -424.1426 399.2588 -424.1426 399.2031 -424.1426 c +399.2031 -424.1992 399.2031 -424.2559 399.2031 -424.3125 c +399.2588 -424.3125 399.3145 -424.3125 399.3711 -424.3125 c +f +0 D +399.2031 -430.1094 m +F +1 D +399.54 -414.8574 m +399.3994 -414.8574 399.3438 -414.9136 399.2871 -415.0264 c +399.4277 -415.0264 399.5117 -414.9697 399.54 -414.8574 c +f +399.3711 -426.3105 m +399.3145 -426.1973 399.2871 -426.3379 399.3711 -426.3105 c +399.4277 -426.4512 399.4844 -426.3105 399.3711 -426.3105 c +f +0 D +399.3711 -414.126 m +F +399.3711 -414.6885 m +F +399.3711 -423.5801 m +F +1 D +399.54 -415.3354 m +399.54 -415.251 399.6807 -415.2793 399.709 -415.1948 c +399.5957 -415.167 399.5684 -415.0825 399.4551 -415.1948 c +399.4844 -415.251 399.4551 -415.3354 399.54 -415.3354 c +f +0 D +399.4551 -421.7236 m +F +399.54 -412.7749 m +F +399.54 -416.5454 m +F +399.54 -416.7144 m +F +1 D +399.625 -414.6318 m +399.6807 -414.604 399.7656 -414.604 399.7656 -414.5479 c +399.709 -414.5479 399.625 -414.5479 399.625 -414.6318 c +f +399.7656 -415.0264 m +399.8213 -415.1387 399.877 -415.0264 399.7656 -415.0264 c +399.793 -414.9136 399.793 -414.8008 399.709 -414.7729 c +399.6523 -414.6602 399.5957 -414.8008 399.709 -414.7729 c +399.6807 -414.8853 399.6807 -414.998 399.7656 -415.0264 c +f +0 D +399.709 -413.563 m +F +399.709 -414.21 m +F +1 D +400.1025 -415.4199 m +400.1592 -415.5605 399.9902 -415.8984 400.1875 -415.8984 c +400.1309 -416.0674 399.9336 -416.0674 400.1025 -416.2358 c +399.9063 -416.2358 399.8213 -416.377 399.709 -416.4893 c +399.8496 -416.4893 399.7656 -416.7427 399.9336 -416.7144 c +399.9336 -416.6304 400.0469 -416.6582 400.1025 -416.6304 c +400.1025 -416.4893 400.1025 -416.377 400.1025 -416.2358 c +400.3838 -416.2358 400.4971 -415.6733 400.1875 -415.8984 c +400.2158 -415.73 400.3281 -415.5889 400.1875 -415.4199 c +400.2998 -415.3638 400.1875 -415.3354 400.1875 -415.4199 c +400.1592 -415.4199 400.1309 -415.4199 400.1025 -415.4199 c +f +399.8496 -415.4199 m +399.9902 -415.3638 399.8496 -415.3354 399.8496 -415.4199 c +399.7363 -415.4766 399.877 -415.5322 399.8496 -415.4199 c +f +399.8496 -428.168 m +399.793 -428.4766 400.2432 -428.4766 400.1875 -428.168 c +400.0742 -428.168 399.9619 -428.168 399.8496 -428.168 c +f +0 D +399.8496 -419.0498 m +F +1 D +400.1875 -414.7729 m +400.0186 -414.8008 400.0186 -414.6602 399.9336 -414.6318 c +399.9902 -414.7729 399.8496 -415.0825 400.0186 -415.1104 c +400.1309 -414.9136 399.9902 -414.9136 400.1875 -414.7729 c +f +0 D +399.9336 -415.7578 m +F +400.0186 -425.1846 m +F +400.0186 -425.7471 m +F +400.0186 -428.8984 m +F +1 D +400.1875 -415.1948 m +400.4404 -415.2793 400.666 -415.2793 400.834 -415.1104 c +400.4121 -415.2231 400.75 -414.9414 y +400.6094 -414.8008 400.3564 -414.9414 400.2715 -414.6318 c +400.2158 -414.8853 400.3838 -414.9414 400.4121 -415.1104 c +400.2998 -415.1104 400.1875 -415.0825 400.1875 -415.1948 c +399.8496 -415.1104 400.1592 -415.4199 400.1875 -415.1948 c +f +400.3564 -412.437 m +400.1309 -412.3525 399.9902 -412.7188 400.1875 -412.7749 c +400.1875 -412.606 400.4121 -412.6626 400.3564 -412.437 c +f +0 D +400.1025 -413 m +F +400.1025 -413.9004 m +F +400.1025 -423.5801 m +F +1 D +400.4971 -425.6064 m +400.4971 -425.6348 400.4971 -425.6631 400.4971 -425.6914 c +401.0596 -425.6064 400.3838 -425.0723 400.9189 -425.0439 c +400.7783 -424.9033 400.4404 -425.0439 400.4971 -425.3535 c +400.2998 -425.2695 400.0469 -425.5225 400.2715 -425.6064 c +400.2432 -425.4941 400.4971 -425.3252 400.4971 -425.5225 c +400.4121 -425.5225 400.4688 -425.6064 400.4971 -425.6064 c +f +0 D +400.2715 -414.4634 m +F +400.2715 -425.1846 m +F +400.2715 -425.916 m +F +1 D +400.75 -417.0522 m +400.6934 -417.0522 400.6377 -417.0522 400.5811 -417.0522 c +400.5254 -417.249 399.9902 -417.6152 400.4971 -417.6992 c +400.5254 -417.3618 400.5811 -417.3335 400.75 -417.0522 c +f +0 D +400.3564 -413.9849 m +F +400.3564 -415.5889 m +F +400.3564 -426.957 m +F +400.4121 -424.3965 m +F +1 D +400.4971 -414.6318 m +400.4688 -414.4912 400.4121 -414.6318 400.4971 -414.6318 c +400.4404 -414.9414 400.75 -414.6318 400.4971 -414.6318 c +f +0 D +400.4971 -425.5225 m +400.5254 -425.5225 400.5527 -425.5225 400.5811 -425.5225 c +400.5811 -425.5781 400.5811 -425.6064 400.4971 -425.6064 c +400.4971 -425.5781 400.4971 -425.5508 400.4971 -425.5225 c +f +400.4971 -426.1699 m +F +400.5811 -413.7314 m +F +400.666 -425.5225 m +400.6377 -425.5225 400.6094 -425.5225 400.5811 -425.5225 c +400.5811 -425.4658 400.666 -425.4375 400.666 -425.5225 c +f +400.666 -426.6484 m +F +400.666 -428.6738 m +F +1 D +400.75 -426.957 m +400.8633 -426.9297 400.75 -426.873 400.75 -426.957 c +400.6377 -427.0137 400.75 -427.0703 400.75 -426.957 c +f +400.75 -415.6733 m +400.9473 -415.7856 400.9746 -415.3916 400.834 -415.4199 c +400.834 -415.4766 400.8066 -415.5322 400.75 -415.5044 c +400.75 -415.5605 400.75 -415.6172 400.75 -415.6733 c +f +401.1445 -416.0674 m +401.1719 -415.9268 401.0596 -415.8984 401.0596 -415.7578 c +400.9189 -415.7578 400.8066 -415.814 400.75 -415.8984 c +400.8633 -415.9829 401.0313 -415.9829 401.1445 -416.0674 c +f +0 D +400.75 -416.8833 m +F +400.834 -425.2695 m +F +1 D +400.9189 -414.3789 m +401.0313 -414.3228 400.8906 -414.2666 400.9189 -414.3789 c +400.7783 -414.4351 400.9189 -414.4634 400.9189 -414.3789 c +f +401.1445 -418.6563 m +401.1445 -418.5156 401.0879 -418.459 401.0039 -418.4028 c +401.0039 -418.4873 400.9189 -418.5156 400.9189 -418.5718 c +401.0039 -418.5718 401.0313 -418.6846 401.1445 -418.6563 c +f +0 D +400.9189 -424.791 m +F +1 D +401.0039 -416.1519 m +400.9189 -416.3486 400.8633 -416.5176 401.0596 -416.6304 c +401.1152 -416.4614 401.2559 -416.208 401.0039 -416.1519 c +f +401.0039 -427.2949 m +400.9473 -427.1826 400.8906 -427.2949 401.0039 -427.2949 c +401.0313 -427.4082 401.0879 -427.2949 401.0039 -427.2949 c +f +401.3965 -415.1104 m +401.3965 -414.8574 401.5664 -414.7446 401.3965 -414.5479 c +401.4531 -414.9697 401.0596 -414.604 401.0039 -414.7729 c +401.1445 -414.8574 401.1152 -415.1387 401.3965 -415.1104 c +f +0 D +401.0039 -427.8574 m +F +1 D +401.0596 -426.2539 m +401.2002 -426.1973 401.0596 -426.1406 401.0596 -426.2539 c +400.9473 -426.2822 401.0879 -426.3379 401.0596 -426.2539 c +f +401.2285 -425.6914 m +401.1719 -425.7188 401.0879 -425.7471 401.0596 -425.832 c +401.1719 -425.832 401.3125 -425.832 401.3125 -425.916 c +401.3965 -426.1133 401.0596 -426.3105 401.3125 -426.3945 c +401.3408 -426.3379 401.3965 -426.2539 401.4814 -426.2539 c +401.5107 -426.3672 401.5664 -426.2266 401.4814 -426.2539 c +401.4814 -426.2266 401.4814 -426.1973 401.4814 -426.1699 c +401.5938 -426.1133 401.4531 -426.0566 401.4814 -426.1699 c +401.2852 -426.1406 401.4814 -425.8594 401.5664 -425.832 c +401.5664 -425.8594 401.5664 -425.8887 401.5664 -425.916 c +401.6514 -425.9443 401.6221 -426.0859 401.707 -426.0859 c +401.8193 -425.9727 401.7344 -425.9443 401.707 -425.832 c +401.8477 -425.8037 401.707 -425.7471 401.707 -425.832 c +401.6514 -425.832 401.6221 -425.832 401.5664 -425.832 c +401.6514 -425.7188 401.6514 -425.6348 401.4814 -425.6064 c +401.5938 -425.8037 401.2002 -425.832 401.2285 -425.6914 c +401.4258 -425.6914 401.3701 -425.5781 401.2285 -425.6064 c +401.2285 -425.5781 401.2285 -425.5508 401.2285 -425.5225 c +401.3408 -425.4658 401.2285 -425.4102 401.2285 -425.5225 c +401.0879 -425.2969 400.9473 -425.6348 401.2285 -425.6064 c +401.2285 -425.6348 401.2285 -425.6631 401.2285 -425.6914 c +f +0 D +401.0596 -426.6484 m +F +401.1445 -414.3789 m +F +401.1445 -414.5479 m +F +401.1445 -417.8398 m +F +401.2285 -415.3354 m +F +1 D +401.3965 -415.8984 m +401.3701 -415.8984 401.3408 -415.8984 401.3125 -415.8984 c +401.1445 -416.0391 401.3125 -416.3486 401.4814 -416.1519 c +401.4814 -416.208 401.4814 -416.2642 401.4814 -416.3208 c +401.4814 -416.4048 401.4814 -416.4893 401.4814 -416.5454 c +401.7344 -416.4614 401.6777 -416.686 401.792 -416.7144 c +401.7344 -416.1802 401.8193 -416.1519 401.875 -415.6733 c +401.9883 -415.5605 402.2695 -415.645 402.2695 -415.4199 c +401.9326 -415.251 402.5791 -414.8008 402.6074 -414.4634 c +402.1846 -414.4072 402.1572 -414.7168 402.1289 -415.0264 c +401.6777 -415.0825 401.5938 -415.4766 401.4814 -415.8418 c +401.3965 -415.814 401.3965 -415.8706 401.3965 -415.8984 c +f +401.3965 -425.0996 m +401.5107 -425.0723 401.3965 -425.0156 401.3965 -425.0996 c +401.3701 -425.0996 401.3408 -425.0996 401.3125 -425.0996 c +401.2559 -424.9883 401.2285 -425.1289 401.3125 -425.0996 c +401.3408 -425.2129 401.3965 -425.1563 401.3965 -425.0996 c +f +0 D +401.3125 -416.4048 m +F +1 D +401.707 -424.791 m +401.6514 -424.7344 401.4531 -424.3691 401.3125 -424.6221 c +401.3965 -424.6504 401.3701 -424.7061 401.3125 -424.791 c +401.4531 -424.8184 401.5938 -424.9316 401.707 -424.791 c +f +0 D +401.3125 -426.957 m +F +401.3125 -428.0273 m +F +1 D +401.3965 -428.3359 m +401.6514 -428.3086 401.2002 -428.5615 401.4814 -428.5898 c +401.5938 -428.5898 401.9326 -428.9277 402.0439 -429.0684 c +402.2979 -428.4766 402.1289 -428.3086 401.792 -427.8574 c +401.792 -427.9141 401.7344 -427.9424 401.6221 -427.9424 c +401.7344 -428.252 401.4814 -428.2236 401.3965 -428.3359 c +f +0 D +401.4814 -416.1519 m +401.5107 -416.0112 401.3965 -416.0112 401.3965 -415.8984 c +401.4531 -415.8984 401.4814 -415.8984 401.4814 -415.8418 c +401.7344 -415.814 401.792 -416.208 401.4814 -416.1519 c +f +401.4814 -413.563 m +F +1 D +401.875 -414.21 m +401.8477 -414.21 401.8193 -414.21 401.792 -414.21 c +401.7627 -414.4912 401.5107 -414.0132 401.4814 -414.2944 c +401.5664 -414.3228 401.5371 -414.4351 401.5664 -414.5479 c +401.7344 -414.5195 401.875 -414.5479 401.96 -414.6318 c +401.96 -414.5479 401.96 -414.4634 401.96 -414.3789 c +402.1572 -414.2944 402.1006 -414.0972 402.0439 -413.9004 c +402.1572 -413.8442 402.0439 -413.7876 402.0439 -413.9004 c +401.9883 -413.9004 401.9326 -413.9004 401.875 -413.9004 c +401.6514 -413.6753 401.9883 -413.8159 402.0439 -413.647 c +401.9326 -413.647 401.8193 -413.647 401.707 -413.647 c +401.7344 -413.7876 401.6514 -413.7876 401.6221 -413.9004 c +401.707 -413.9004 401.792 -413.9004 401.875 -413.9004 c +401.875 -414.126 401.7344 -414.0693 401.875 -414.21 c +f +0 D +401.4814 -427.2109 m +F +1 D +401.6221 -426.6484 m +401.7344 -426.4229 401.9033 -426.2539 402.1289 -426.1699 c +401.7627 -426.0859 401.4258 -426.4229 401.6221 -426.6484 c +401.6777 -426.7598 401.7344 -426.6484 401.6221 -426.6484 c +f +401.6221 -424.3965 m +401.6514 -424.2559 401.8193 -424.3398 401.875 -424.3965 c +401.96 -424.1152 401.7627 -424.1152 401.5664 -424.1426 c +401.5664 -424.1992 401.5664 -424.2559 401.5664 -424.3125 c +401.5664 -424.3691 401.5664 -424.3965 401.6221 -424.3965 c +f +0 D +401.6221 -414.8574 m +F +1 D +401.792 -427.3799 m +401.792 -427.4639 401.6514 -427.5488 401.792 -427.6045 c +401.8193 -427.5205 401.9326 -427.4355 401.792 -427.3799 c +f +0 D +401.96 -414.3789 m +401.9033 -414.3506 401.875 -414.3228 401.875 -414.21 c +401.9326 -414.2378 401.96 -414.2944 401.96 -414.3789 c +f +401.875 -426 m +F +401.875 -426.5635 m +F +401.96 -413.563 m +F +1 D +401.96 -418.7402 m +402.0166 -418.7124 402.1289 -418.7402 402.1289 -418.6563 c +402.0439 -418.6846 401.96 -418.6563 401.96 -418.7402 c +f +0 D +402.0439 -426.0859 m +F +402.1289 -413.7314 m +F +402.2139 -425.4375 m +F +1 D +402.7764 -413.4785 m +402.4668 -413.3096 402.3262 -413.5908 402.2695 -413.9004 c +402.5508 -413.8442 402.6074 -413.6191 402.7764 -413.4785 c +f +402.5234 -414.3789 m +402.5234 -414.3228 402.5234 -414.2666 402.5234 -414.21 c +402.4385 -414.21 402.3545 -414.21 402.2695 -414.21 c +402.2695 -414.2666 402.2695 -414.3228 402.2695 -414.3789 c +402.3545 -414.3789 402.4385 -414.3789 402.5234 -414.3789 c +f +0 D +402.3545 -414.041 m +F +1 D +402.4385 -422.8496 m +402.6914 -422.8496 402.3545 -422.5117 402.4385 -422.8496 c +402.3262 -422.9053 402.4385 -422.9609 402.4385 -422.8496 c +f +0 D +402.4385 -415.8984 m +F +1 D +402.5234 -428.4209 m +402.4102 -428.4766 402.5234 -428.5332 402.5234 -428.4209 c +402.6641 -428.4492 402.6641 -428.3359 402.7764 -428.3359 c +402.748 -428.4209 402.8047 -428.4209 402.832 -428.4209 c +402.8604 -428.5332 403.001 -428.5049 403.001 -428.4209 c +403.1143 -428.3643 403.001 -428.3359 403.001 -428.4209 c +402.9453 -428.4209 402.8887 -428.4209 402.832 -428.4209 c +402.8604 -428.3643 402.8047 -428.3359 402.7764 -428.3359 c +402.8604 -427.8301 403.3115 -428.1387 403.4785 -427.7734 c +404.0703 -427.8867 403.5361 -427.4355 403.4785 -427.7734 c +403.0859 -427.7168 402.6074 -427.8301 402.5234 -428.4209 c +f +402.7764 -415.0264 m +402.748 -414.9136 402.748 -414.8291 402.6074 -414.8574 c +402.6074 -414.9697 402.5791 -415.0825 402.6914 -415.1104 c +402.6914 -415.0542 402.6914 -414.998 402.7764 -415.0264 c +f +402.6914 -413.8159 m +402.8047 -413.7598 402.6641 -413.7036 402.6914 -413.8159 c +402.5791 -413.8726 402.6914 -413.9004 402.6914 -413.8159 c +f +402.832 -420.8232 m +402.832 -420.5132 402.4951 -420.8511 402.832 -420.8232 c +402.8887 -420.9639 402.9453 -420.8232 402.832 -420.8232 c +f +0 D +402.7764 -413.4224 m +F +1 D +402.832 -414.5479 m +402.7197 -414.5762 402.8604 -414.6318 402.832 -414.5479 c +402.917 -414.5479 402.917 -414.5195 402.917 -414.4634 c +403.0576 -414.4072 402.917 -414.3506 402.917 -414.4634 c +402.8604 -414.4351 402.8604 -414.4912 402.832 -414.5479 c +f +0 D +402.832 -415.5044 m +F +402.832 -423.8906 m +F +402.917 -413.2534 m +F +1 D +403.3379 -429.377 m +403.1982 -429.4063 402.917 -429.3213 403.001 -429.5469 c +403.1982 -429.5742 403.3115 -429.5469 403.3379 -429.377 c +f +403.3379 -422.2012 m +403.1143 -422.1738 403.0293 -422.0605 403.001 -422.3711 c +403.1709 -422.3711 403.2822 -422.3145 403.3379 -422.2012 c +f +403.0859 -414.041 m +403.2822 -414.1821 403.3379 -413.7876 403.1709 -413.8159 c +403.1709 -413.8726 403.1709 -413.9004 403.0859 -413.9004 c +403.0859 -413.9565 403.0859 -414.0132 403.0859 -414.041 c +f +0 D +403.0859 -427.127 m +F +1 D +403.0859 -429.2363 m +403.1709 -429.209 403.2266 -429.3496 403.2549 -429.2363 c +403.2549 -429.1523 403.1143 -429.125 403.0859 -429.2363 c +f +403.1709 -414.6885 m +403.2266 -414.6885 403.3379 -414.6885 403.3379 -414.6318 c +403.2549 -414.6318 403.1709 -414.6318 403.1709 -414.6885 c +f +0 D +403.3379 -420.3442 m +F +403.4785 -427.2949 m +F +403.4785 -429.5469 m +F +1 D +403.5635 -420.2603 m +403.6768 -420.2319 403.5635 -420.1758 403.5635 -420.2603 c +403.4521 -420.3164 403.5928 -420.3726 403.5635 -420.2603 c +f +0 D +403.5635 -414.2944 m +F +1 D +403.5635 -420.5977 m +403.6484 -420.5698 403.7334 -420.5977 403.7334 -420.5132 c +403.6768 -420.5415 403.5635 -420.5132 403.5635 -420.5977 c +f +0 D +403.6484 -429.9688 m +F +403.8184 -415.3354 m +F +403.8184 -430.0254 m +F +403.9014 -421.8076 m +F +1 D +404.127 -416.2358 m +404.2109 -415.8984 403.9014 -416.208 404.127 -416.2358 c +404.1826 -416.3486 404.2402 -416.2358 404.127 -416.2358 c +f +0 D +404.0703 -415.4199 m +F +404.0703 -415.8984 m +F +1 D +404.5488 -427.4639 m +404.3809 -427.4639 404.3809 -427.3516 404.2959 -427.2949 c +404.2676 -427.4082 404.127 -427.3799 404.0703 -427.4639 c +404.0996 -427.9141 404.4365 -427.7451 404.5488 -427.4639 c +f +404.3809 -421.0762 m +404.2109 -421.2168 404.042 -421.6108 404.2959 -421.7236 c +404.3809 -421.667 404.3516 -421.498 404.4648 -421.4702 c +404.5215 -421.6108 404.5488 -421.4702 404.4648 -421.4702 c +404.4648 -421.3574 404.4648 -421.2168 404.4648 -421.0762 c +404.5771 -421.02 404.4648 -420.9917 404.4648 -421.0762 c +404.4365 -421.0762 404.4082 -421.0762 404.3809 -421.0762 c +f +0 D +404.2109 -420.0347 m +F +404.2959 -420.3442 m +F +404.3809 -420.1196 m +F +1 D +404.5488 -413.8159 m +404.6621 -413.7598 404.5215 -413.7036 404.5488 -413.8159 c +404.4365 -413.8726 404.5488 -413.9004 404.5488 -413.8159 c +f +0 D +404.5488 -419.9507 m +F +404.5488 -422.2871 m +F +1 D +404.6895 -422.624 m +404.6895 -422.4834 404.7178 -422.3418 404.5488 -422.3711 c +404.5488 -422.4277 404.5488 -422.4834 404.5488 -422.5391 c +404.6328 -422.5391 404.6328 -422.5957 404.6895 -422.624 c +f +0 D +404.5488 -427.7734 m +F +1 D +404.5488 -429.9688 m +404.6055 -429.9395 404.6895 -429.9395 404.6895 -429.8848 c +404.6328 -429.8848 404.5488 -429.8848 404.5488 -429.9688 c +f +404.7744 -420.9072 m +404.6621 -420.9639 404.8018 -421.02 404.7744 -420.9072 c +404.8867 -420.9072 404.8301 -420.8232 404.7744 -420.8232 c +404.7744 -420.5977 404.4365 -420.9072 404.7744 -420.8232 c +404.7744 -420.8511 404.7744 -420.8794 404.7744 -420.9072 c +f +0 D +404.6328 -414.21 m +F +404.6328 -416.0674 m +F +1 D +405.3369 -421.5547 m +405.083 -421.4419 404.6621 -421.3013 404.6328 -421.7236 c +404.915 -421.5547 405.1123 -421.667 405.3369 -421.5547 c +f +404.6895 -420.0347 m +404.8584 -420.0068 405.1123 -420.1196 405.0273 -419.8662 c +405.3369 -419.8662 405.083 -419.3315 404.9424 -419.6128 c +405.0273 -419.6411 404.999 -419.7817 405.0273 -419.8662 c +404.8867 -419.8662 404.7461 -419.9224 404.6895 -420.0347 c +f +0 D +404.6895 -422.9336 m +F +404.7744 -416.2358 m +F +1 D +404.8584 -413.9849 m +404.8584 -414.041 404.999 -414.0693 405.0273 -413.9849 c +404.9424 -413.9849 404.8867 -413.8442 404.8584 -413.9849 c +f +404.9424 -423.2422 m +404.9424 -423.3281 405.083 -423.3555 405.1123 -423.2422 c +405.0273 -423.2715 404.9717 -423.1309 404.9424 -423.2422 c +f +0 D +405.0273 -419.4722 m +F +1 D +405.0273 -420.1758 m +405.083 -420.1758 405.1963 -420.1758 405.1963 -420.1196 c +405.1123 -420.1196 405.0273 -420.1196 405.0273 -420.1758 c +f +0 D +405.1123 -413.8159 m +F +405.1123 -420.6826 m +F +405.1963 -419.5566 m +F +405.1963 -420.0347 m +F +405.2803 -416.3208 m +F +1 D +405.2803 -420.5132 m +405.3369 -420.4854 405.4219 -420.5132 405.4219 -420.4292 c +405.3643 -420.457 405.2803 -420.4292 405.2803 -420.5132 c +f +0 D +405.2803 -422.7646 m +F +1 D +405.3369 -419.6973 m +405.3086 -420.0913 405.7305 -419.9224 405.8438 -419.7817 c +405.8711 -419.8379 405.9277 -419.9224 405.9004 -420.0347 c +405.9561 -420.0347 406.0117 -420.0347 406.0684 -420.0347 c +406.0967 -419.9507 406.1523 -419.9507 406.1523 -419.8662 c +406.0967 -419.8101 405.9844 -419.7817 405.8438 -419.7817 c +405.7861 -419.7256 405.7598 -419.6411 405.6748 -419.6128 c +405.6191 -419.5005 405.5625 -419.6411 405.6748 -419.6128 c +405.7031 -419.9507 405.5625 -419.6128 405.3369 -419.6973 c +f +405.4219 -422.0332 m +405.5049 -422.0889 405.6455 -422.1738 405.6748 -422.0332 c +405.6191 -422.0049 405.5342 -421.9482 405.4219 -421.9766 c +405.3936 -421.8359 405.3369 -421.9766 405.4219 -421.9766 c +405.4219 -422.0049 405.4219 -422.0049 405.4219 -422.0332 c +f +0 D +405.4219 -413.647 m +F +1 D +406.4063 -420.2603 m +406.209 -420.1758 405.9277 -420.1475 405.6748 -420.1196 c +405.6191 -420.5698 405.5342 -420.5977 405.4219 -420.9072 c +405.8711 -420.9351 406.1523 -420.7666 406.4063 -420.2603 c +f +405.5898 -421.8076 m +405.5898 -421.8359 405.5898 -421.8643 405.5898 -421.8921 c +405.8154 -421.8643 405.6455 -422.2012 405.9004 -422.1172 c +405.9844 -421.8921 405.7861 -421.8921 405.8438 -421.6387 c +405.6455 -421.6108 405.7305 -421.8076 405.5898 -421.8076 c +405.6191 -421.7236 405.5625 -421.7236 405.5049 -421.7236 c +405.4492 -421.6108 405.4219 -421.7236 405.5049 -421.7236 c +405.5049 -421.7798 405.5342 -421.8076 405.5898 -421.8076 c +f +0 D +405.5049 -413.9849 m +F +405.5049 -416.1519 m +F +405.5049 -420.1196 m +F +1 D +405.5898 -422.3711 m +405.5898 -422.4551 405.7305 -422.4834 405.7598 -422.3711 c +405.6748 -422.3711 405.6191 -422.2578 405.5898 -422.3711 c +f +0 D +405.5898 -427.4639 m +F +405.6748 -412.437 m +F +405.6748 -427.7734 m +F +1 D +405.7598 -423.4961 m +405.7031 -423.3838 405.6455 -423.4961 405.7598 -423.4961 c +405.8154 -423.6094 405.8438 -423.4961 405.7598 -423.4961 c +f +0 D +405.7598 -416.0674 m +F +405.9004 -427.2949 m +F +406.1523 -419.6128 m +F +1 D +406.4063 -421.5547 m +406.4336 -421.667 406.4902 -421.5547 406.4063 -421.5547 c +406.4063 -421.498 406.4063 -421.4419 406.4063 -421.4141 c +406.6035 -421.4419 406.5752 -421.2451 406.7998 -421.3296 c +406.8564 -421.583 406.9688 -421.8076 407.2783 -421.8076 c +407.0811 -421.4702 406.6875 -420.9072 406.1523 -421.1606 c +406.2656 -421.2168 406.3496 -421.2734 406.4063 -421.4141 c +406.125 -421.3296 406.2656 -421.5547 406.4063 -421.5547 c +f +0 D +406.2373 -430.1934 m +F +1 D +406.9688 -420.1196 m +406.6592 -420.063 406.6035 -420.0068 406.4902 -420.2603 c +406.7158 -420.2881 406.8848 -420.2603 406.9688 -420.1196 c +f +0 D +406.7158 -416.0674 m +F +406.7998 -419.9507 m +F +1 D +406.8848 -419.6973 m +406.8281 -419.585 406.7725 -419.7256 406.8848 -419.6973 c +406.9404 -419.8101 406.9688 -419.6973 406.8848 -419.6973 c +f +0 D +406.9688 -419.6128 m +F +407.0537 -422.0332 m +F +1 D +407.1943 -421.9766 m +407.3066 -421.9482 407.335 -422.0889 407.3633 -421.9766 c +407.3633 -421.8921 407.2227 -421.8643 407.1943 -421.9766 c +f +0 D +407.1943 -422.5391 m +F +407.3633 -420.2603 m +F +1 D +407.9268 -419.6973 m +407.9268 -419.6694 407.9268 -419.6411 407.9268 -419.6128 c +407.7285 -419.6411 407.5313 -419.6411 407.4473 -419.5566 c +407.4199 -419.7817 407.7012 -419.6973 407.8418 -419.7817 c +407.8418 -420.063 408.208 -419.6973 407.9268 -419.6973 c +f +0 D +407.4473 -429.8848 m +F +1 D +407.5313 -420.5132 m +407.4756 -420.4009 407.4199 -420.5132 407.5313 -420.5132 c +407.5879 -420.626 407.6162 -420.5132 407.5313 -420.5132 c +f +407.8418 -415.8984 m +407.7568 -415.814 407.5605 -415.814 407.5313 -415.9829 c +407.6445 -416.0952 407.8418 -416.0952 407.8418 -415.8984 c +f +407.7012 -422.0332 m +407.7012 -421.9766 407.7568 -421.9482 407.7568 -421.8921 c +407.7012 -421.8921 407.6719 -421.8076 407.6162 -421.8076 c +407.6162 -421.8921 407.5313 -421.8921 407.5313 -421.9766 c +407.6162 -421.9766 407.6162 -422.0332 407.7012 -422.0332 c +f +407.9268 -422.624 m +408.0674 -422.1738 407.5605 -422.0889 407.5313 -422.4551 c +407.5879 -422.5684 407.7285 -422.624 407.9268 -422.624 c +f +0 D +407.5313 -428.7578 m +F +1 D +407.7012 -429.5469 m +408.0381 -429.6309 407.7012 -429.3213 407.7012 -429.5469 c +407.3633 -429.4619 407.6719 -429.7988 407.7012 -429.5469 c +f +0 D +407.6162 -420.0347 m +F +407.6162 -420.1758 m +F +407.7012 -421.7236 m +F +407.7568 -429.1523 m +F +407.7568 -430.6152 m +F +407.9268 -419.6973 m +407.9531 -419.7817 407.8975 -419.7817 407.8418 -419.7817 c +407.8691 -419.7256 407.8691 -419.6973 407.9268 -419.6973 c +f +407.8418 -420.0347 m +F +1 D +407.8418 -420.1758 m +407.8691 -420.3442 407.8975 -420.457 408.0098 -420.5132 c +407.9824 -420.3726 408.0938 -420.1196 407.8418 -420.1758 c +f +0 D +407.9268 -414.4634 m +F +407.9268 -420.9072 m +F +1 D +408.0098 -429.5469 m +408.0674 -429.5469 408.123 -429.5469 408.1787 -429.5469 c +408.123 -429.8281 408.46 -429.6875 408.2637 -429.5469 c +408.3486 -428.8145 409.0791 -428.7305 408.6572 -428.1113 c +408.6855 -428.1113 408.7139 -428.1113 408.7412 -428.1113 c +408.7705 -427.8301 408.6572 -427.6045 408.4893 -427.7734 c +408.5732 -427.4355 408.2637 -427.7734 408.4893 -427.7734 c +408.5166 -428.7021 408.1504 -428.7871 408.0098 -429.5469 c +f +408.2637 -429.8848 m +408.2637 -430.1094 407.9268 -430.334 408.2637 -430.4473 c +408.3193 -430.3623 408.4316 -429.9121 408.2637 -429.8848 c +f +0 D +408.1787 -415.5889 m +F +408.2637 -429.5469 m +408.2344 -429.5469 408.208 -429.5469 408.1787 -429.5469 c +408.1787 -429.5176 408.2344 -429.4619 408.2637 -429.5469 c +f +408.2637 -419.5566 m +F +408.2637 -421.8076 m +F +1 D +408.3486 -419.6973 m +408.4043 -419.8379 408.5449 -419.8662 408.7412 -419.8662 c +408.7412 -419.7256 408.6299 -419.6973 408.6572 -419.5566 c +408.4316 -419.4722 408.4893 -419.6973 408.3486 -419.6973 c +408.291 -419.585 408.2344 -419.7256 408.3486 -419.6973 c +f +0 D +408.3486 -414.041 m +F +408.4043 -413.3374 m +F +408.4043 -420.9072 m +F +1 D +409.1357 -429.4619 m +408.8818 -429.293 408.8818 -429.3213 408.5732 -429.377 c +408.6006 -429.6309 408.3486 -429.8848 408.6572 -429.9688 c +408.7139 -429.8848 408.7412 -429.7715 408.7412 -429.6309 c +408.9668 -429.5176 409.0518 -429.7148 409.1357 -429.4619 c +f +0 D +408.5732 -430.1094 m +F +408.6572 -428.0273 m +408.6572 -428.0547 408.6572 -428.083 408.6572 -428.1113 c +408.6006 -428.1113 408.5732 -428.0273 408.6572 -428.0273 c +f +408.6572 -429.1523 m +F +408.7412 -429.4619 m +408.7412 -429.5176 408.7412 -429.5742 408.7412 -429.6309 c +408.6572 -429.6309 408.6299 -429.4902 408.7412 -429.4619 c +f +1 D +408.8262 -428.1113 m +408.9111 -428.083 408.9385 -428.2236 408.9668 -428.1113 c +408.9668 -428.0273 408.8262 -427.998 408.8262 -428.1113 c +f +408.9668 -430.1934 m +408.9668 -430.0811 408.9951 -429.9121 408.8262 -429.9688 c +408.8262 -429.9961 408.8262 -430.0527 408.8262 -430.1094 c +408.9111 -430.1094 408.9111 -430.1934 408.9668 -430.1934 c +f +0 D +408.8262 -430.6152 m +F +1 D +408.9111 -419.8662 m +408.8818 -419.9507 408.9111 -420.0068 408.9668 -420.0347 c +408.9951 -419.9507 409.0791 -419.979 409.1357 -419.9507 c +409.1924 -420.063 409.248 -419.9507 409.1357 -419.9507 c +409.1641 -419.894 409.2207 -419.8662 409.2207 -419.7817 c +409.0234 -419.7817 408.7412 -419.4438 408.9111 -419.7817 c +408.7979 -419.8101 408.8545 -419.8662 408.9111 -419.8662 c +f +408.9668 -428.9844 m +408.9111 -428.9844 408.9111 -429.0117 408.9111 -429.0684 c +408.7705 -429.125 408.9111 -429.1523 408.9111 -429.0684 c +408.9668 -429.0957 408.9668 -429.0391 408.9668 -428.9844 c +409.1074 -429.0117 408.9951 -429.2363 409.1357 -429.2363 c +409.1924 -429.0684 409.2764 -429.0684 409.3887 -429.1523 c +409.4736 -428.8428 409.0234 -429.0684 409.0518 -428.8145 c +409.1924 -428.7871 409.0518 -428.7305 409.0518 -428.8145 c +408.9951 -428.8145 408.9951 -428.9277 408.9668 -428.9844 c +f +0 D +408.9111 -419.7817 m +408.9385 -419.7817 408.9951 -419.8379 408.9111 -419.8662 c +408.9111 -419.8379 408.9111 -419.8101 408.9111 -419.7817 c +f +408.9668 -420.9072 m +F +1 D +409.2207 -427.9424 m +409.3047 -427.8301 409.3047 -427.7451 409.1357 -427.6895 c +409.1357 -427.8018 409.1074 -427.8867 409.0518 -427.9424 c +409.1074 -427.9424 409.1641 -427.9424 409.2207 -427.9424 c +f +0 D +409.0518 -430.2783 m +F +1 D +409.3887 -428.1113 m +409.2764 -428.1113 409.1641 -428.083 409.1357 -428.168 c +409.248 -428.1953 409.1924 -428.2803 409.1357 -428.3359 c +409.3047 -428.3643 409.3887 -428.2803 409.3887 -428.1113 c +f +409.5576 -420.4292 m +409.5576 -420.2036 409.5576 -419.979 409.3047 -420.0347 c +409.2764 -420.1475 409.1924 -420.1758 409.2207 -420.3442 c +409.3613 -420.3442 409.4736 -420.3726 409.5576 -420.4292 c +f +409.2207 -428.8145 m +409.2764 -428.8145 409.3887 -428.8145 409.3887 -428.7578 c +409.333 -428.7578 409.2207 -428.7578 409.2207 -428.8145 c +f +0 D +409.4736 -415.4199 m +F +1 D +409.6982 -428.8984 m +409.7275 -429.0117 409.7832 -428.9551 409.7832 -428.8984 c +409.8389 -428.8984 409.8945 -428.8984 409.9521 -428.8984 c +410.0088 -429.0117 410.0352 -428.8984 409.9521 -428.8984 c +410.0645 -428.7021 409.6709 -428.6738 409.6982 -428.8145 c +409.6143 -428.8428 409.6709 -428.8984 409.6982 -428.8984 c +f +0 D +409.6982 -428.8145 m +409.7549 -428.8428 409.8115 -428.8428 409.7832 -428.8984 c +409.7549 -428.8984 409.7275 -428.8984 409.6982 -428.8984 c +409.6982 -428.8711 409.6982 -428.8428 409.6982 -428.8145 c +f +1 D +409.8682 -421.1606 m +410.0088 -421.1885 409.9521 -421.4141 410.2051 -421.3296 c +410.2607 -421.02 410.0088 -420.9072 409.8682 -421.0762 c +409.8115 -420.9639 409.7832 -421.0762 409.8682 -421.0762 c +409.8682 -421.1045 409.8682 -421.1328 409.8682 -421.1606 c +f +0 D +409.8682 -414.4634 m +F +1 D +410.0352 -427.8574 m +409.9795 -427.9141 409.9521 -427.998 409.9521 -428.1113 c +409.8389 -428.1387 409.9521 -428.1953 409.9521 -428.1113 c +410.0352 -428.0547 410.1201 -427.998 410.1201 -427.8574 c +410.1494 -427.8574 410.1768 -427.8574 410.2051 -427.8574 c +410.375 -427.6895 410.3457 -427.5488 410.1201 -427.4639 c +410.0928 -427.6611 409.9521 -427.7168 410.1201 -427.8574 c +410.0928 -427.8574 410.0645 -427.8574 410.0352 -427.8574 c +f +410.1201 -428.4209 m +410.2051 -428.3086 410.2051 -428.2236 410.0352 -428.168 c +410.0352 -428.2803 409.9795 -428.3643 409.9521 -428.4209 c +410.0088 -428.4209 410.0645 -428.4209 410.1201 -428.4209 c +f +410.0352 -419.4722 m +410.0928 -419.4438 410.1768 -419.4722 410.2051 -419.3877 c +410.1201 -419.3877 410.0352 -419.3877 410.0352 -419.4722 c +f +410.2051 -428.7578 m +410.2334 -428.7578 410.29 -428.7578 410.3457 -428.7578 c +410.3457 -428.8428 410.3457 -428.9551 410.3457 -429.0684 c +410.3174 -429.0684 410.29 -429.0684 410.2607 -429.0684 c +410.2607 -428.9844 410.2051 -429.0117 410.2051 -429.0684 c +409.8115 -428.9844 410.29 -429.4336 410.2051 -429.0684 c +410.2334 -429.0684 410.2607 -429.0684 v +410.29 -429.1523 410.3457 -429.125 410.3457 -429.0684 c +410.5156 -429.0684 410.4014 -428.7871 410.4307 -428.6738 c +410.3174 -428.6455 410.2051 -428.6455 410.2051 -428.7578 c +410.0645 -428.7871 410.2051 -428.8428 410.2051 -428.7578 c +f +0 D +410.1201 -429.7988 m +F +1 D +410.7676 -420.1758 m +411.0215 -419.7534 410.4307 -419.979 410.5156 -419.6128 c +410.3174 -419.6128 410.2051 -419.6411 410.2051 -419.7817 c +410.5713 -419.7534 410.4014 -420.2036 410.7676 -420.1758 c +f +410.3457 -415.0264 m +410.4014 -414.998 410.5156 -415.0264 410.5156 -414.9414 c +410.458 -414.9697 410.3457 -414.9414 410.3457 -415.0264 c +f +0 D +410.4307 -429.8848 m +F +410.6826 -429.6309 m +F +1 D +410.8242 -428.8984 m +410.9648 -428.9277 410.9932 -428.8428 410.9932 -428.7578 c +411.1055 -428.7021 410.9932 -428.6455 410.9932 -428.7578 c +410.9375 -428.7578 410.8799 -428.7578 410.8242 -428.7578 c +410.8525 -428.3926 410.5156 -428.7305 410.8242 -428.7578 c +410.8242 -428.7871 410.8242 -428.8428 410.8242 -428.8984 c +f +411.1621 -415.251 m +411.1621 -415.2231 411.1621 -415.167 411.1621 -415.1104 c +411.0781 -415.1104 410.9932 -415.1104 410.9082 -415.1104 c +410.9082 -415.167 410.9082 -415.2231 410.9082 -415.251 c +410.9932 -415.251 411.0781 -415.251 411.1621 -415.251 c +f +0 D +410.9932 -429.4619 m +F +411.3311 -415.1948 m +F +1 D +411.9785 -430.1934 m +412.0059 -429.7988 411.6396 -429.8281 411.3311 -429.7988 c +411.415 -430.0527 411.2461 -430.1094 411.4717 -430.2783 c +411.5557 -430.0811 411.8369 -430.4473 411.9785 -430.1934 c +412.0059 -430.3066 412.0615 -430.1934 411.9785 -430.1934 c +f +0 D +411.415 -415.4199 m +F +411.4717 -419.7817 m +F +1 D +411.6396 -415.251 m +411.584 -415.1387 411.5557 -415.2793 411.6396 -415.251 c +411.6963 -415.3916 411.7529 -415.251 411.6396 -415.251 c +f +0 D +411.6396 -420.0347 m +F +1 D +411.8096 -419.8662 m +411.8369 -419.9507 411.8652 -420.0068 411.9785 -420.0347 c +412.0059 -420.1475 412.0615 -420.0068 411.9785 -420.0347 c +412.0059 -419.894 411.8936 -419.8662 411.8096 -419.8662 c +411.8096 -419.8101 411.8096 -419.7534 411.8096 -419.6973 c +411.9785 -419.7817 412.2871 -419.7534 412.457 -419.8662 c +412.4004 -419.6128 412.1191 -419.5566 411.8096 -419.5566 c +411.8096 -419.585 411.8096 -419.6411 411.8096 -419.6973 c +411.5283 -419.6411 411.6963 -419.8662 411.8096 -419.8662 c +f +0 D +411.7246 -415.8984 m +F +1 D +412.2021 -429.4619 m +412.2021 -429.5176 412.2314 -429.5742 412.2871 -429.5469 c +412.0908 -429.293 411.8652 -429.2656 412.1191 -428.8984 c +411.7246 -428.8711 411.9502 -429.4336 411.8096 -429.6309 c +412.1191 -429.7432 411.9502 -429.4063 412.2021 -429.4619 c +f +411.9785 -421.2451 m +411.8369 -421.3574 411.9209 -421.5547 412.0615 -421.6387 c +412.0059 -421.5264 412.1465 -421.2168 411.9785 -421.2451 c +f +0 D +411.9785 -420.5977 m +F +1 D +412.0615 -428.6738 m +412.1191 -428.6455 412.2021 -428.6738 412.2021 -428.5898 c +412.1465 -428.5898 412.0615 -428.5898 412.0615 -428.6738 c +f +0 D +412.1191 -420.1196 m +F +412.1191 -422.1172 m +F +412.1191 -428.8145 m +F +412.2021 -421.5547 m +F +1 D +412.457 -428.4209 m +412.4834 -428.3086 412.5977 -428.2803 412.625 -428.168 c +412.5127 -428.083 412.2314 -428.0547 412.2021 -428.252 c +412.3721 -428.2236 412.3721 -428.3643 412.457 -428.4209 c +f +0 D +412.2871 -420.1196 m +F +412.2871 -420.4292 m +F +412.2871 -420.6826 m +F +412.3721 -421.5547 m +F +1 D +412.625 -419.6973 m +412.7383 -419.6411 412.5977 -419.6128 412.625 -419.6973 c +412.3721 -419.7256 412.6816 -420.0347 412.625 -419.6973 c +f +0 D +412.541 -420.0347 m +F +1 D +412.541 -420.5132 m +412.5977 -420.4854 412.6816 -420.5132 412.6816 -420.4292 c +412.625 -420.457 412.541 -420.4292 412.541 -420.5132 c +f +0 D +412.7656 -413.1689 m +F +412.8496 -420.4292 m +F +412.8496 -421.6387 m +F +1 D +412.8496 -429.9688 m +412.9063 -429.9395 413.0195 -429.9395 413.0195 -429.8848 c +412.9629 -429.8848 412.8496 -429.8848 412.8496 -429.9688 c +f +0 D +412.9346 -429.7148 m +F +1 D +413.1875 -420.5977 m +413.2725 -420.5977 413.3008 -420.7104 413.3291 -420.5977 c +413.3291 -420.5132 413.1875 -420.4854 413.1875 -420.5977 c +f +413.666 -429.7148 m +414.0039 -429.7988 413.666 -429.4619 413.666 -429.7148 c +413.5537 -429.7715 413.666 -429.7988 413.666 -429.7148 c +f +0 D +413.751 -422.9336 m +F +413.751 -423.1016 m +F +413.835 -413.4224 m +F +413.9766 -421.6387 m +F +414.3984 -421.1606 m +F +414.4824 -421.8921 m +F +414.791 -421.8921 m +F +414.791 -429.3213 m +F +415.0459 -421.4702 m +F +415.0459 -422.5391 m +F +415.1299 -419.8662 m +F +415.1865 -420.6826 m +F +1 D +415.2705 -427.4639 m +415.3545 -427.0137 415.0459 -427.3516 415.2705 -427.4639 c +415.3271 -427.5762 415.3828 -427.4355 415.2705 -427.4639 c +f +0 D +415.3545 -423.4121 m +F +415.4385 -423.1875 m +F +415.5234 -430.1094 m +F +415.6084 -420.1758 m +F +415.6084 -428.168 m +F +1 D +415.6924 -422.8496 m +415.6357 -423.1016 415.749 -423.2148 416.002 -423.1875 c +416.002 -422.9609 415.8896 -422.8496 415.6924 -422.8496 c +f +0 D +416.002 -423.834 m +F +1 D +416.1709 -423.4961 m +416.1426 -423.7207 416.2832 -423.75 416.4805 -423.75 c +416.5088 -423.5244 416.3682 -423.4688 416.1709 -423.4961 c +f +0 D +416.3398 -415.4199 m +F +416.5654 -420.7666 m +F +416.6494 -421.8076 m +F +416.6494 -422.8496 m +F +416.7334 -423.665 m +F +416.9023 -420.7666 m +F +416.958 -429.377 m +F +417.043 -422.1172 m +F +417.1279 -423.3281 m +F +417.2129 -423.5801 m +F +417.3809 -422.1172 m +F +*U +U +u +*u +0.187533 0.952972 0.991791 0.093599 k +436.6563 -423.8242 m +422.2119 -423.8242 L +422.2119 -421.4131 L +434.2451 -421.4131 L +434.2451 -419.022 L +422.2119 -419.022 L +422.2119 -416.6113 L +434.2451 -416.6113 L +434.2451 -414.2007 L +422.2119 -414.2007 L +422.2119 -411.79 L +436.6563 -411.79 l +436.6563 -423.8242 L +f +*U +U +U +LB +%AI5_EndLayer-- +%%PageTrailer +gsave annotatepage grestore showpage +%%Trailer +Adobe_Illustrator_AI5 /terminate get exec +Adobe_shading_AI8 /terminate get exec +Adobe_ColorImage_AI6 /terminate get exec +Adobe_pattern_AI5 /terminate get exec +AGM_Gradient /terminate get exec +Adobe_screens_AI5 /terminate get exec +Adobe_cshow /terminate get exec +Adobe_level2_AI5 /terminate get exec +%%EOF diff --git a/extras/assets/logo/black/ACE3-Logo.jpg b/extras/assets/logo/black/ACE3-Logo.jpg new file mode 100644 index 0000000000..3028852c73 Binary files /dev/null and b/extras/assets/logo/black/ACE3-Logo.jpg differ diff --git a/extras/assets/logo/black/ACE3-Logo.png b/extras/assets/logo/black/ACE3-Logo.png new file mode 100644 index 0000000000..43ee025f97 Binary files /dev/null and b/extras/assets/logo/black/ACE3-Logo.png differ diff --git a/extras/assets/logo/white/ACE3-Logo.eps b/extras/assets/logo/white/ACE3-Logo.eps new file mode 100644 index 0000000000..b4f7202d88 --- /dev/null +++ b/extras/assets/logo/white/ACE3-Logo.eps @@ -0,0 +1,15918 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: Adobe Illustrator(R) 8.0 +%%AI8_CreatorVersion: 16.0.2 +%%For: (bux578) () +%%Title: (ACE3-Logo.eps) +%%CreationDate: 3/12/2015 2:49 PM +%%Canvassize: 16383 +%%BoundingBox: 354 -432 437 -411 +%%HiResBoundingBox: 354.8633 -431.0947 436.6563 -411.5649 +%%DocumentProcessColors: Cyan Magenta Yellow Black +%%DocumentSuppliedResources: procset Adobe_level2_AI5 1.2 0 +%%+ procset Adobe_screens_AI5 1.0 0 +%%+ procset AGM_Gradient 1.0 0 +%%+ procset Adobe_ColorImage_AI6 1.3 0 +%%+ procset Adobe_Illustrator_AI5 1.3 0 +%%+ procset Adobe_pattern_AI5 1.0 0 +%%+ procset Adobe_cshow 2.0 8 +%%+ procset Adobe_shading_AI8 1.0 0 +%AI5_FileFormat 4.0 +%AI3_ColorUsage: Color +%AI7_ImageSettings: 0 +%%CMYKProcessColor: 1 1 1 1 ([Passermarken]) +%%AI6_ColorSeparationSet: 1 1 (AI6 Default Color Separation Set) +%%+ Options: 1 16 0 1 1 1 0 0 0 0 1 1 1 18 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 2 3 4 +%%+ PPD: 1 21 0 0 60 45 2 2 1 0 0 1 0 0 0 0 0 0 0 0 1 0 () +%AI3_TemplateBox: 396.3633 -422.0654 396.3633 -422.0654 +%AI3_TileBox: -13.2603 -706.8096 804.7793 -135.8496 +%AI3_DocumentPreview: Header +%AI5_ArtSize: 81.793 19.5298 +%AI5_RulerUnits: 1 +%AI5_ArtFlags: 0 0 0 1 0 0 0 0 0 +%AI5_TargetResolution: 800 +%AI5_NumLayers: 1 +%AI8_OpenToView: 342 -390 16 1821 1035 18 0 0 50 116 0 0 +%AI5_OpenViewLayers: 7 +%%PageOrigin:-8 -817 +%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 +%AI9_Flatten: 0 +%AI12_CMSettings: 00.MS +%%EndComments +%%BeginProlog +%%BeginResource: procset Adobe_level2_AI5 1.2 0 +%%Title: (Adobe Illustrator (R) Version 5.0 Level 2 Emulation) +%%Version: 1.2 0 +%%CreationDate: (04/10/93) () +%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) +userdict /Adobe_level2_AI5 26 dict dup begin + put + /packedarray where not + { + userdict begin + /packedarray + { + array astore readonly + } bind def + /setpacking /pop load def + /currentpacking false def + end + 0 + } if + pop + userdict /defaultpacking currentpacking put true setpacking + /initialize + { + Adobe_level2_AI5 begin + } bind def + /terminate + { + currentdict Adobe_level2_AI5 eq + { + end + } if + } bind def + mark + /setcustomcolor where not + { + /findcmykcustomcolor + { + (AI8_CMYK_CustomColor) + 6 packedarray + } bind def + /findrgbcustomcolor + { + (AI8_RGB_CustomColor) + 5 packedarray + } bind def + /setcustomcolor + { + exch + aload pop dup + (AI8_CMYK_CustomColor) eq + { + pop pop + 4 + { + 4 index mul + 4 1 roll + } repeat + 5 -1 roll pop + setcmykcolor + } + { + dup (AI8_RGB_CustomColor) eq + { + pop pop + 3 + { + 1 exch sub + 3 index mul + 1 exch sub + 3 1 roll + } repeat + 4 -1 roll pop + setrgbcolor + } + { + pop + 4 + { + 4 index mul 4 1 roll + } repeat + 5 -1 roll pop + setcmykcolor + } ifelse + } ifelse + } + def + } if + /setAIseparationgray + { + false setoverprint + 0 setgray + /setseparationgray where{ + pop setseparationgray + }{ + /setcolorspace where{ + pop + [/Separation (All) /DeviceCMYK {dup dup dup}] setcolorspace + 1 exch sub setcolor + }{ + setgray + }ifelse + }ifelse + } def + + /gt38? mark {version cvr cvx exec} stopped {cleartomark true} {38 gt exch pop} ifelse def + userdict /deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt put + userdict /level2? + systemdict /languagelevel known dup + { + pop systemdict /languagelevel get 2 ge + } if + put +/level2ScreenFreq +{ + begin + 60 + HalftoneType 1 eq + { + pop Frequency + } if + HalftoneType 2 eq + { + pop GrayFrequency + } if + HalftoneType 5 eq + { + pop Default level2ScreenFreq + } if + end +} bind def +userdict /currentScreenFreq + level2? {currenthalftone level2ScreenFreq} {currentscreen pop pop} ifelse put +level2? not + { + /setcmykcolor where not + { + /setcmykcolor + { + exch .11 mul add exch .59 mul add exch .3 mul add + 1 exch sub setgray + } def + } if + /currentcmykcolor where not + { + /currentcmykcolor + { + 0 0 0 1 currentgray sub + } def + } if + /setoverprint where not + { + /setoverprint /pop load def + } if + /selectfont where not + { + /selectfont + { + exch findfont exch + dup type /arraytype eq + { + makefont + } + { + scalefont + } ifelse + setfont + } bind def + } if + /cshow where not + { + /cshow + { + [ + 0 0 5 -1 roll aload pop + ] cvx bind forall + } bind def + } if + } if + cleartomark + /anyColor? + { + add add add 0 ne + } bind def + /testColor + { + gsave + setcmykcolor currentcmykcolor + grestore + } bind def + /testCMYKColorThrough + { + testColor anyColor? + } bind def + userdict /composite? + 1 0 0 0 testCMYKColorThrough + 0 1 0 0 testCMYKColorThrough + 0 0 1 0 testCMYKColorThrough + 0 0 0 1 testCMYKColorThrough + and and and + put + composite? not + { + userdict begin + gsave + /cyan? 1 0 0 0 testCMYKColorThrough def + /magenta? 0 1 0 0 testCMYKColorThrough def + /yellow? 0 0 1 0 testCMYKColorThrough def + /black? 0 0 0 1 testCMYKColorThrough def + grestore + /isCMYKSep? cyan? magenta? yellow? black? or or or def + /customColor? isCMYKSep? not def + end + } if + end defaultpacking setpacking +%%EndResource +%%BeginResource: procset Adobe_screens_AI5 1.2 0 +%%Title: (Adobe Illustrator (R) Version 5.0 Custom Halftone Screens ProcSet) +%%Version: 1.2 0 +%%CreationDate: (03/24/93) () +%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) +userdict /defaultpacking currentpacking put true setpacking +systemdict begin +userdict /Adobe_screens_AI5 15 dict dup begin +put +/initialize +{ + Adobe_screens_AI5 begin + /screenid + deviceDPI 600 gt composite? not or + { + -1 + } + { + deviceDPI currentScreenFreq + dup dup 60 ge exch 150 le and deviceDPI 300 le and + { + pop 60 + } if + div 1.41421 div 0.5 add cvi + } ifelse + def + + 2 screenid eq + { + /customsize 16 def + /customdata /customdata2 def + setcustomscreen + } if + + 3 screenid eq + { + /customsize 24 def + /customdata /customdata3 def + setcustomscreen + } if + + 4 screenid eq + { + /customsize 16 def + /customdata /customdata4 def + setcustomscreen + } if + + 5 screenid eq + { + /customsize 20 def + /customdata /customdata5 def + setcustomscreen + } if + + 6 screenid eq + { + /customsize 24 def + /customdata /customdata6 def + setcustomscreen + } if + + 7 screenid eq + { + /customsize 28 def + /customdata /customdata7 def + setcustomscreen + } if + + 8 screenid eq + { + /customsize 16 def + /customdata /customdata8 def + setcustomscreen + } if +} def +/terminate +{ + currentdict Adobe_screens_AI5 eq + { + end + } if +} def +/setcustomscreen +{ + deviceDPI customsize div 0 + { + 1 add 2 div customsize mul cvi exch + 1 add 2 div customsize mul cvi exch + customsize mul add + customdata load exch get 256 div + } setscreen +} def +/customdata2 28 28 mul string def +currentfile customdata2 readhexstring +4180E8694988E2634382EA6B4B8AE061A01939C8A81737C2A21B3BCAAA1636C0 +F8795998F6775796FA7B5B9AF57656952ED8B80727D6B60F2FDABA0626D5B50E +4E8DE6674786EE6F4F8EE5664685ED6EAD1434C6A61F3FCEAE1232C5A51E3ECD +F3745493FE7F5F9EF1725291FD7E5E9D24D3B30C2CDEBE0222D1B10A2ADDBD04 +4483EB6C4C8BE1624281E96A4A89E364A31C3CCBAB1535C1A11A3AC9A91838C3 +FB7C5C9BF4755594F97A5A99F778589730DBBB0525D4B40D2DD9B90828D7B710 +508FE4654584EC6D4D8CE7684887EF70AF1131C4A41D3DCCAC1333C7A72040CF +F0715190FC7D5D9CF2735392FF80609F21D0B00929DCBC0323D2B20B2BDFBF01 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000 +pop pop +/customdata3 28 28 mul string def +currentfile customdata3 readhexstring +011DC7F5E73D0421CBF3E43A021EC8F6E83E0522CCF2E43A2B648BC4A0762F68 +8AC39E732C658CC5A177306989C29D72D5B6521A6192D9B55219608FD6B6531B +6193DAB451185F8FFCEE440C28D2FCED430B27D1FDEF450C29D3FBEC420A26D0 +BEA77D366F83BCA77C356E87BFA87E377082BBA67B346D86145B99E0AE4A1259 +98DFB14E155C9AE1AD4A115897DEB04D0623CDF4E63C0420CAF8EA400723CDF4 +E53B031FC9F7E93F316988C19F752E678EC6A378326A88C09F742D668DC6A278 +DBB350175E91D8B8551C6395DCB24F165D90D7B7541C6294FAEC420925CFFFF1 +470E2BD5F9EB410824CEFEF0460D2AD4BAA57A336C85BEAA80397180B9A47933 +6B84BDA97F387181105797DDAF4C145A9CE3AB480F5696DDAE4B13599BE2AC49 +021EC8F6E83E0522CCF2E43A011DC7F5E73D0421CBF3E43A2C658CC5A1773069 +89C29D722B648BC4A0762F688AC39E73D6B6531B6193DAB451185F8FD5B6521A +6192D9B55219608FFDEF450C29D3FBEC420A26D0FCEE440C28D2FCED430B27D1 +BFA87E377082BBA67B346D86BEA77D366F83BCA77C356E87155C9AE1AD4A1158 +97DEB04D145B99E0AE4A125998DFB14E0723CDF4E53B031FC9F7E93F0623CDF4 +E63C0420CAF8EA40326A88C09F742D668DC6A278316988C19F752E678EC6A378 +DCB24F165D90D7B7541C6294DBB350175E91D8B8551C6395F9EB410824CEFEF0 +460D2AD4FAEC420925CFFFF1470E2BD5B9A479336B84BDA97F387181BAA57A33 +6C85BEAA803971800F5696DDAE4B13599BE2AC49105797DDAF4C145A9CE3AB48 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000 +pop pop +/customdata4 28 28 mul string def +currentfile customdata4 readhexstring +1139B8E0FAD2531B133BBAE2F8D05119417180A6AE9A7B4B437382A5AD987949 +C08867272F6F92CAC28A66262E6E90C8E8DE5F070F37B6F2EADD5E060E36B5F0 +FED6571F173FBEE6FDD5561E163EBDE5AB9E7F4F477786A1A99D7E4E467685A3 +2C6C96CEC68E62222A6A95CDC58D64240C34B3F6EED95A020A32B1F5EDDB5C04 +143CBBE3F9D1521A123AB9E1FBD3541C447483A4AC997A4A427281A7AF9B7C4C +C38B65252D6D91C9C1896828307093CBEBDC5D050D35B4F1E9DF60081038B7F3 +FCD4551D153DBCE4FFD758201840BFE7A89C7D4D457584A2AA9F8050487887A0 +296994CCC48C63232B6B97CFC78F61210931B0F4ECDA5B030B33B2F7EFD85901 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000 +pop pop +/customdata5 28 28 mul string def +currentfile customdata5 readhexstring +010B34C3EBFCF7CE3F16020C35C4EDFBF6CD3E15102552A4D6EADDB5632B1126 +54A5D5EADCB3622A3958768499C19E8C7C5E3A59778498C19D8B7B5DC8A99370 +47334C7587AFC9AA936F46324B7485AEF1E5BC6B1E0A2351A3D8F2E4BC6A1E09 +2351A2D7FFF9D14219050F38C6EFFEF9D04118040E37C6EFE8E0B7662D142856 +A8D3E7DFB7652D132856A7D4BF9C8E7F603D5B7A8195BE9A8E7E603C5B798297 +314A7389B2CCAD906D442F497289B1CBAC926E4508214FA1DBF4E2B9671B0720 +4EA0DAF4E3BA691C030D36C5EDFBF6CD3F16010C34C3ECFDF8CF4017122654A6 +D4E9DDB4622A112553A5D6EBDEB5642C3B59788397C09C8B7C5D3A58778599C2 +9E8C7D5FCAAB926E46314B7486AFC8AA947048334D7587B0F2E4BB691D082250 +A1D8F1E6BD6B1F0A2452A3D9FDF8CF4118030E36C5EEFFFAD1421A050F38C7F0 +E6DFB6642C132755A7D3E8E1B8662E152957A8D2BE9A8D7E5F3B5A798296BF9B +8F80613D5C7B80952F487188B1CAAC916D443049728AB3CCAE906C43061F4D9F +DAF3E2BA681C07214FA0DBF5E1B8671A00000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000 +pop pop +/customdata6 28 28 mul string def +currentfile customdata6 readhexstring +081A44B6E0F2FDECC150250C091B45B6E1F3FCEBC04F240C1D336199C7D8DCD3 +A56C37221E33619AC8D7DBD2A46B36214864798091AEB1958C7E694C49657A81 +90ADB0948B7D684BB99D8475593C405C7888A1BEBA9E8574583B3F5B7888A0BD +E4CBAA712E1215326098CFE8E4CCA9712D1114315F97CEE7F5F1C6552B040719 +43B5DFFAF6F0C6542A03061842B4DEF9FFEDC352270E0B1C47B8E3F4FEECC251 +260D0A1C46B7E2F4DAD5A76E39232035639CCAD5D9D4A66D38231F34629BC9D6 +AF938E806A4E4A677C838FABAE928D7F694D4A667B828FAC3E5A778AA3BFBC9F +8772563A3D597689A2BEBB9F8673573A14305E97D1EAE6CDA76F2B0F132F5D96 +D0E9E5CDA8702C10051742B3DDFCF8EEC4522801041641B2DDFBF7EFC5532902 +091B45B6E1F3FCEBC04F240C081A44B6E0F2FDECC150250C1E33619AC8D7DBD2 +A46B36211D336199C7D8DCD3A56C372249657A8190ADB0948B7D684B48647980 +91AEB1958C7E694CBA9E8574583B3F5B7888A0BDB99D8475593C405C7888A1BE +E4CCA9712D1114315F97CEE7E4CBAA712E1215326098CFE8F6F0C6542A030618 +42B4DEF9F5F1C6552B04071943B5DFFAFEECC251260D0A1C46B7E2F4FFEDC352 +270E0B1C47B8E3F4D9D4A66D38231F34629BC9D6DAD5A76E39232035639CCAD5 +AE928D7F694D4A667B828FACAF938E806A4E4A677C838FAB3D597689A2BEBB9F +8673573A3E5A778AA3BFBC9F8772563A132F5D96D0E9E5CDA8702C1014305E97 +D1EAE6CDA76F2B0F041641B2DDFBF7EFC5532902051742B3DDFCF8EEC4522801 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000 +pop pop +/customdata7 28 28 mul string def +currentfile customdata7 readhexstring +01061B44B7E1F5FEFBE6BD4A210C01071B45B8E1F6FDFBE6BC4A200B09132A54 +A7D1EAF5EED9B05D331609142B55A8D2EAF4EED9AF5C32161D2D3D6993C1CBE0 +CEC59B7140301E2E3D6A93C0CADFCDC49A713F3047576C7B828DA2B6A48F867E +6F5A48576C7C828CA1B6A38F867E6E59BAAA958A78634E4451667A8498ADBAAB +968977624E4350657A8398ADE3D4C99F7539251A273C6892C2D7E4D4C89E7539 +241A273B6891C1D6F8F2DDB460371005122A53A7D0ECF9F2DDB360360F051229 +53A6D0EBFFFDE8BE4C220D03081D46B9E3F7FFFCE7BD4B210D02071C46B8E2F7 +F3F0DBB15E34180B152C56A9D3E8F3EFDAB05D34170A142C55A9D2E9DFCCC69C +7341321F2F3F6B94BFC9DECCC59C7241311F2E3E6A94BFCAB5A38E8780705B49 +596D7D808BA0B4A28D877F6F5B48586D7C818BA043506479859AAFBCAC978876 +614C424F64798499AEBBAB968977624D19263B6791C3D8E5D6C79D7337231825 +3A6690C3D7E5D5C79E74382304112952A5CFEDFAF0DBB25E350E03102851A5CE +ECF9F1DCB25F360E01071B45B8E1F6FDFBE6BC4A200B01061B44B7E1F5FEFBE6 +BD4A210C09142B55A8D2EAF4EED9AF5C321609132A54A7D1EAF5EED9B05D3316 +1E2E3D6A93C0CADFCDC49A713F301D2D3D6993C1CBE0CEC59B71403048576C7C +828CA1B6A38F867E6E5947576C7B828DA2B6A48F867E6F5ABAAB968977624E43 +50657A8398ADBAAA958A78634E4451667A8498ADE4D4C89E7539241A273B6891 +C1D6E3D4C99F7539251A273C6892C2D7F9F2DDB360360F05122953A6D0EBF8F2 +DDB460371005122A53A7D0ECFFFCE7BD4B210D02071C46B8E2F7FFFDE8BE4C22 +0D03081D46B9E3F7F3EFDAB05D34170A142C55A9D2E9F3F0DBB15E34180B152C +56A9D3E8DECCC59C7241311F2E3E6A94BFCADFCCC69C7341321F2F3F6B94BFC9 +B4A28D877F6F5B48586D7C818BA0B5A38E8780705B49596D7D808BA0424F6479 +8499AEBBAB968977624D43506479859AAFBCAC978876614C18253A6690C3D7E5 +D5C79E74382319263B6791C3D8E5D6C79D73372303102851A5CEECF9F1DCB25F +360E04112952A5CFEDFAF0DBB25E350E +pop pop +/customdata8 28 28 mul string def +currentfile customdata8 readhexstring +050F2747B6D6EEF8FEF4DCBC4D2D1507111D375F9EC6E0E9EBE6CCA4653D1F13 +2939556F8EA8C1D1D3C3AE9475573B2B4961717D808999B1B39B8B867F73634B +B8A090827A6A5A42445C6C7C8492A2BAD8C8AA97785232222434546E8DACCADA +F0E2CFA768401A0A0C1C365E9DC5E4F2FAF7DFBF50301802040E2646B5D5EDFC +FFF5DDBD4E2E160806102848B7D7EFF9EAE7CDA5663E2014121E38609FC7E1E8 +D2C2AF9576583C2C2A3A56708FA9C0D0B29A8A878074644C4A62727E818898B0 +435B6B7B8593A3BBB9A19183796959412333536D8CADCBDBD9C9AB9677513121 +0B1B355D9CC4E5F3F1E3CEA6673F1909030D2545B4D4ECFDFBF6DEBE4F2F1701 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000 +pop pop +end +end +defaultpacking setpacking +%%EndResource +%%BeginResource: procset AGM_Gradient_Sep 1.0 0 +%%Title: (AGM Gradient Procset) +%%Version: 1.0 0 +%%CreationDate: (4/26/96) () +%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) +userdict /defaultpacking currentpacking put true setpacking +userdict /AGM_Gradient_Sep 5 dict dup begin put +/AGM_Gradient_Sep_private 100 dict def +/initialize{ + AGM_Gradient_Sep begin + AGM_Gradient_Sep_private begin + _compositeJob{ + initializeSinglePassSeps + }{ + initializeMultiPassSeps + }ifelse + initializeSeps + AGM_Gradient_private begin + /_fillSD newSpotDict def + /_rampSD newSpotDict def + /_nCustomColorSD nd + end + AGM_Gradient_Sep_private + { + dup xcheck 1 index type /arraytype eq and + { + bind + }if + pop pop + }forall + AGM_Gradient_Sep + { + dup xcheck 1 index type /arraytype eq and + { + bind + }if + pop pop + }forall + end + + currentdict readonly pop + end +}def +/terminate{ + currentdict AGM_Gradient_Sep eq{ + end + }if +}def +AGM_Gradient_Sep_private begin +/initializeSeps{ + /currentoverprint { _of } def + _noImage not _level2PS not and{ + /linealFill{ + currentoverprint{ + 0 0 1 1 rectfill + }{ + mySave + 8 setImageParms + _color{ + _nCustomColorSD begin + cyan magenta yellow black + + _spotColor{ + spot1/tintImage spot1/tintValue get 1 exch sub makeByte8 put + spot2/tintImage spot2/tintValue get 1 exch sub makeByte8 put + }if + end + + 4{ + makeByte8 4 1 roll + }repeat + true 4 _nCustomColorSD ncolorimage + }{ + _nCustomColorSD/black get 1 exch sub makeByte8 + _nCustomColorSD bwImage + }ifelse + myRestore + }ifelse + }def + }if + /_whiteBytes 1 makeByte8 pt + /knockOut{ + _noImage _level2PS or currentoverprint or{ + gsave + false setoverprint + 1 setgray + 0 0 1 1 rectfill + grestore + }{ + 8 setImageParms _whiteBytes /_image load 5 execImage + }ifelse + }def + /newSpotDict{ + 11 dict dup begin + /nSpots 2 def + /spot1 7 dict def + /spot2 7 dict def + end + }def + /initSpotData + { + begin + /name nd + /tintImage nd + /tintValue nd + /spot_C nd + /spot_M nd + /spot_Y nd + /spot_K nd + end + }def + /initSpotDict{ + begin + /cyanInk nd + /magentaInk nd + /yellowInk nd + /blackInk nd + /cyan nd + /magenta nd + /yellow nd + /black nd + spot1 initSpotData + spot2 initSpotData + end + }def + /copySpotDict{ + /_dst xp + begin + cyanInk magentaInk yellowInk blackInk + cyan magenta yellow black + spot1 spot2 + end + _dst begin + /spot1 spot1 maxlength dict def + /spot2 spot2 maxlength dict def + spot2 copy pop + spot1 copy pop + /black xd + /yellow xd + /magenta xd + /cyan xd + /blackInk xd + /yellowInk xd + /magentaInk xd + /cyanInk xd + end + }def + /setCustomColor + { + 1 index /Black eq{ + 6 1 roll 5 npop + 1 exch sub + setgray + }{ + 6 1 roll _ccAry1 astore exch + dup null eq{ + pop 0 + }if + setcustomcolor + }ifelse + }def + /setCStop{ + /_colorStyle exch pt + + _colorStyle 0 eq{ + 0 0 0 + 4 -1 roll + 1 exch sub + _spotColor{ + /_colorStyle 3 pt + /Black + 1 index + 1 exch sub + }if + }if + _colorStyle 2 eq{ + 3 npop + }if + _rampSD _fillSD copySpotDict + + _colorStyle 4 eq{ + pop + 9 2 roll 3 npop 6 -2 roll + } if + + _colorStyle 3 eq _colorStyle 4 eq or{ + + _fillSD begin + /_spot1 spot1 pt + /_spot2 spot2 pt + end + + exch dup _spot1/name get eq{ + _spot1 _spot2 + }{ + _spot2 _spot1 + }ifelse + begin + begin + /name xd + 1 exch sub /tintValue xd + 4{ + tintValue mul 4 1 roll + }repeat + _spotColor not{ + /tintValue null def + }if + end + /tintValue 0 def + end + }if + _fillSD nsetcustomcolor + }def + /renderCMYK{ + spot1/name get null eq + spot2/name get null eq and + dup not{ + pop + spot1 spotConverted + }if + dup not{ + pop + spot2 spotConverted + }if + }def + /currentInk{ + true + _inRipSep{ + currentcolorspace 0 get + dup /DeviceGray eq + 1 index /DeviceCMYK eq or{ + pop + currentcmykcolor add add add 0 eq{ + pop false + }if + }{ + /Separation eq{ + currentcolor 0 eq{ + pop false + }if + }if + }ifelse + }{ + currentgray 1 eq{ + pop false + }if + }ifelse + }def + /currentInkN{ + + _nCustomColorSD begin + /_spot1 spot1 pt + /_spot2 spot2 pt + renderCMYK + end + { + currentInk + }{ + gsave + _spot1 begin + name null ne{ + spot_C spot_M spot_Y spot_K name tintValue setCustomColor + currentInk + }{ + false + }ifelse + end + _spot2 begin + name null ne{ + spot_C spot_M spot_Y spot_K name tintValue setCustomColor + currentInk + }{ + false + }ifelse + end + grestore + + or + } ifelse + }def + /fill_ /fill load def + /fillOvp{ + currentoverprint{ + _inRipSep{ + currentcolorspace 0 get + dup /DeviceGray eq + 1 index /DeviceCMYK eq or{ + pop + currentcmykcolor add add add 0 eq{ + newpath + }if + }{ + /Separation eq{ + currentcolor 0 eq{ + newpath + }if + }if + }ifelse + }{ + currentgray 1 eq{ + newpath + }if + }ifelse + }if + fill_ + }def + /fill{ + _nCustomColorSD begin + /_spot1 spot1 pt + /_spot2 spot2 pt + renderCMYK + end + + { + fillOvp + }{ + _spot1 begin + gsave + name null ne{ + spot_C spot_M spot_Y spot_K name tintValue setCustomColor + }{ + 1 setgray + }ifelse + fillOvp + grestore + end + _spot2 begin + name null ne{ + gsave + true setoverprint + spot_C spot_M spot_Y spot_K name tintValue setCustomColor + fillOvp + grestore + }if + end + newpath + }ifelse + }def + /expandSpot{ + _spotColor{ + /_len xp + _rampSD begin + spot1 begin + tintImage null ne{ + tintImage _len expandOne /tintImage xd + }if + end + spot2 begin + tintImage null ne{ + tintImage _len expandOne /tintImage xd + }if + end + end + }{ + pop + }ifelse + }def + /rampImage{ + currentoverprint{ + rectImage + }{ + _enabledSmoothShade{ + fillRamp + }{ + _color{ + _rampSD begin + /cyanInk _cyanData 0 ne def + /magentaInk _magentaData 0 ne def + /yellowInk _yellowData 0 ne def + /blackInk _blackData 0 ne def + end + + _nSamples setImageParms + _nSamples expandSpot + _cyanData _magentaData _yellowData _blackData _nSamples 4 expandColor + true 4 _rampSD ncolorimage + }{ + _rampSD begin + /cyanInk false def + /magentaInk false def + /yellowInk false def + /blackInk true def + end + _nSamples setImageParms + _blackData _rampSD bwImage + }ifelse + }ifelse + }ifelse + }def + /nsetcustomcolor where{ + pop + }{ + /nsetcustomcolor + { + /_nCustomColorSD xp + _nCustomColorSD begin + 4 copy + /black xd + /yellow xd + /magenta xd + /cyan xd + 4 copy + 0 ne /blackInk xd + 0 ne /yellowInk xd + 0 ne /magentaInk xd + 0 ne /cyanInk xd + end + setcmykcolor + }def + }ifelse + /nsetcustomcolorend where{ + pop + }{ + /nsetcustomcolorend + { + /_nCustomColorSD null pt + }def + }ifelse +}def +/initializeSinglePassSeps{ + /_decodeNorm [0 1] pt + /_decodeInvert [1 0] pt + /spotConverted + { + begin + name null eq{ + false + }{ + tintValue null eq tintImage null eq and{ + true + }{ + _inDistiller{ + false + }{ + false + currentpagedevice/SeparationColorNames get{name eq or}forall + not + }ifelse + }ifelse + }ifelse + end + }def + /dictImage + { + 20 dict dup begin + /Dict xd + /Decode xd + /DataSource xd + /ImageMatrix xd + /BitsPerComponent xd + /Height xd + /Width xd + /ImageType 1 def + Dict + end + /_image load 1 execImage + }def + /bwImage{ + begin + gsave + currentoverprint{ + blackInk{ + [/Separation /Black /DeviceGray{}] setcolorspace + _decodeInvert dictImage + }{ + 5 npop + }ifelse + }{ + /DeviceGray setcolorspace + _decodeNorm dictImage + }ifelse + grestore + end + }def + /ncolorimage where{ + pop + }{ + /ncolorimage{ + begin + renderCMYK{ + cyanInk + magentaInk and + yellowInk and + blackInk and + not + currentoverprint + and{ + pop pop + gsave + cyanInk{ + 8 copy + [/Separation /Cyan /DeviceGray{}] setcolorspace + 3 npop + _decodeNorm dictImage + }if + magentaInk{ + 8 copy + [/Separation /Magenta /DeviceGray{}] setcolorspace + 4 -1 roll + 3 npop + _decodeNorm dictImage + }if + yellowInk{ + 8 copy + [/Separation /Yellow /DeviceGray{}] setcolorspace + 4 -2 roll + 3 npop + _decodeNorm dictImage + }if + blackInk{ + 4 -3 roll + [/Separation /Black /DeviceGray{}] setcolorspace + 3 npop + _decodeNorm dictImage + }{ + 8 npop + }ifelse + grestore + }{ + /_colorimage load 10 execImage + }ifelse + }{ + 6 npop + gsave + spot1 begin + name null ne tintImage null ne and{ + [/Separation name /DeviceGray{}] setcolorspace + 4 copy + tintImage + name /Black eq{ + _decodeNorm + }{ + _decodeInvert + }ifelse + dictImage + }{ + 1 setgray fill + }ifelse + end + spot2 begin + true setoverprint + name null ne tintImage null ne and{ + [/Separation name /DeviceGray{}] setcolorspace + tintImage + name /Black eq{ + _decodeNorm + }{ + _decodeInvert + }ifelse + dictImage + }{ + 4 npop + 1 setgray fill + }ifelse + end + grestore + }ifelse + end + }def + }ifelse + /getRampColorSpace{ + + /_renderCMYK _rampSD begin renderCMYK end pt + + _renderCMYK not{ + _rampSD begin + [/DeviceN + [ + spot1 begin + name null ne tintImage null ne and{ + name + }if + end + spot2 begin + name null ne tintImage null ne and{ + name + }if + end + ] + _inDistiller { + /DeviceCMYK [ + spot1 begin + name null ne tintImage null ne and{ + spot_C spot_M spot_Y spot_K 1 + }{ + 0 0 0 0 0 + }ifelse + end + spot2 begin + name null ne tintImage null ne and{ + spot_C spot_M spot_Y spot_K 2 + }{ + 0 0 0 0 0 + }ifelse + end + 5 1 roll 6 -2 roll add + dup 1 eq { + pop + 8 /index cvx 1 /exch cvx /sub cvx + 9 1 /roll cvx + }{ + 2 eq { + 8 /index cvx 1 /exch cvx /sub cvx + 10 1 /roll cvx + }if + }ifelse + 4 1 /roll cvx 5 -2 /roll cvx + 8 /index cvx /mul cvx /exch cvx 9 /index cvx /mul cvx /add cvx 7 1 /roll cvx + 3 1 /roll cvx 4 -2 /roll cvx + 7 /index cvx /mul cvx /exch cvx 8 /index cvx /mul cvx /add cvx 6 1 /roll cvx + 2 1 /roll cvx 3 -2 /roll cvx + 6 /index cvx /mul cvx /exch cvx 7 /index cvx /mul cvx /add cvx 5 1 /roll cvx + 5 /index cvx /mul cvx /exch cvx 6 /index cvx /mul cvx /add cvx 4 1 /roll cvx + 6 -2 /roll cvx /pop cvx /pop cvx + ] cvx bind + }{ + /DeviceCMYK {} + }ifelse + ] setcolorspace + end + /_nColorSpace currentcolorspace pt + }if + + _nSamples 1 gt{ + /_ndx 0 pt + [blendColor] cvx exec + }if + _renderCMYK{ + /_C0 [currentcolor] pt + /_C0_Space currentcolorspace pt + }{ + /_C0 [ + _nCustomColorSD begin + spot1 begin + name null ne{ + tintValue + }if + end + spot2 begin + name null ne{ + tintValue + }if + end + end + ] pt + /_C0_Space _nColorSpace pt + }ifelse + + _nSamples 1 gt{ + /_ndx _nSamples 1 sub pt + [blendColor] cvx exec + }if + _renderCMYK{ + /_C1 [currentcolor] pt + /_C1_Space currentcolorspace pt + }{ + /_C1 [ + _nCustomColorSD begin + spot1 begin + name null ne{ + tintValue + }if + end + spot2 begin + name null ne{ + tintValue + }if + end + end + ] pt + /_C1_Space _nColorSpace pt + }ifelse + + /_rampColorSpace _C0_Space pt + _spotColor{ + nsetcustomcolorend + }if + }def +}def +/initializeMultiPassSeps{ + /invertXfer{ + [ + { + 1 exch sub + }/exec load systemdict /currenttransfer get exec /exec load + ] cvx systemdict /settransfer get exec + }def + /ccThrough{ + gsave + 1 setCustomColor + currentcmykcolor + grestore + add add add 0 ne + }def + /spotConverted + { + begin + _isCMYKSep not{ + false + }{ + name null eq{ + false + }{ + tintValue null eq tintImage null eq and{ + true + }{ + spot_C spot_M spot_Y spot_K name ccThrough + }ifelse + }ifelse + }ifelse + end + }def + /spotChannel + { + _isCMYKSep{ + pop false + }{ + /_spotDict xp + _spotDict/name get null eq{ + false + }{ + _spotDict/spot_C get + _spotDict/spot_M get + _spotDict/spot_Y get + _spotDict/spot_K get + _spotDict/name get + ccThrough + }ifelse + }ifelse + }def + /getChannelData + { + _isCMYKSep dup{ + pop renderCMYK + }if + { + _blackPlate{ + 4 1 roll 3 npop blackInk + }{ + _yellowPlate{ + 4 2 roll 3 npop yellowInk + }{ + _magentaPlate{ + 4 3 roll 3 npop magentaInk + }{ + 3 npop cyanInk + }ifelse + }ifelse + }ifelse + { + true /nonZeroData + }{ + true /zeroData + }ifelse + }{ + 4 npop + spot1/name get null ne + spot1 spotChannel and{ + spot1/tintImage get dup null ne{ + false /nonZeroData + }{ + pop false /noData + }ifelse + }{ + spot2/name get null ne + spot2 spotChannel and{ + spot2/tintImage get dup null ne{ + false /nonZeroData + }{ + pop false /noData + }ifelse + }{ + false /noData + }ifelse + }ifelse + }ifelse + }def + /renderChannelData + { + /_tmp xp + _tmp /nonZeroData ne currentoverprint and{ + pop + _tmp /zeroData eq{pop}if + 4 npop + }{ + _tmp /nonZeroData eq{ + { + invertXfer + }if + systemdict/image + get 5 execImage + }{ + pop + _tmp /zeroData eq{pop}if + 4 npop + knockOut + }ifelse + }ifelse + }def + /bwImage{ + begin + gsave + dup dup dup + getChannelData + exch pop false exch + renderChannelData + grestore + end + }def + /ncolorimage{ + begin + pop pop + gsave + spot2/name get null ne spot2 spotChannel and{ + true setoverprint + }if + getChannelData + renderChannelData + grestore + end + }def + /getRampColorSpace{ + + /_renderCMYK _rampSD begin renderCMYK end pt + + _nSamples 1 gt{ + /_ndx 0 pt + [blendColor] cvx exec + }if + + _renderCMYK{ + /_C0 [currentcolor] pt + /_C0_Space currentcolorspace pt + }{ + /_C0 [ + _nCustomColorSD begin + 0 + spot1 begin + name null ne + tintValue null ne and + spot1 spotChannel and{ + pop tintValue + }if + end + spot2 begin + name null ne + tintValue null ne and + spot2 spotChannel and{ + pop tintValue + }if + end + 1 exch sub + end + ] pt + /_C0_Space /DeviceGray pt + }ifelse + + _nSamples 1 gt{ + /_ndx _nSamples 1 sub pt + [blendColor] cvx exec + }if + + _renderCMYK{ + /_C1 [currentcolor] pt + /_C1_Space currentcolorspace pt + }{ + /_C1 [ + _nCustomColorSD begin + 0 + spot1 begin + name null ne + tintValue null ne and + spot1 spotChannel and{ + pop tintValue + }if + end + spot2 begin + name null ne + tintValue null ne and + spot2 spotChannel and{ + pop tintValue + }if + end + 1 exch sub + end + ] pt + /_C1_Space /DeviceGray pt + }ifelse + + /_rampColorSpace _C0_Space pt + _spotColor{ + nsetcustomcolorend + }if + }def +}def +end +end +defaultpacking setpacking +%%EndResource +%%BeginResource: procset AGM_Gradient 1.0 0 +%%Title: (AGM Gradient Procset) +%%Version: 1.0 0 +%%CreationDate: (4/26/96) () +%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) +userdict /defaultpacking currentpacking put true setpacking +userdict /AGM_Gradient 20 dict dup begin put +/AGM_Gradient_private 201 dict def +/initialize +{ + AGM_Gradient begin + AGM_Gradient_private begin + initializeVars + + /bd systemdict/mark get def + /ed + _level2PS + { + (>>) + }{ + (counttomark 2 idiv dup dict begin {def} repeat pop currentdict end) + } ifelse + cvx def + + _level2PS{ + initializeLev2 + }{ + initializeLev1 + }ifelse + + queryDevice + + initializeRectFill + initializeShading + initializeOps + _producingSeps{ + AGM_Gradient_Sep/initialize get exec + }{ + initializeComposite + }ifelse + _illustrator{ + /f{}def + /F{}def + /s{}def + /S{}def + /b{}def + /B{}def + }if + /image where{ + /image get /_image xd + }if + /colorimage where{ + /colorimage get /_colorimage xd + }if + AGM_Gradient_private + { + dup xcheck 1 index type /arraytype eq and + { + bind + }if + pop pop + }forall + AGM_Gradient + { + dup xcheck 1 index type /arraytype eq and + { + bind + }if + pop pop + }forall + end + + currentdict readonly pop + end +}def +/initializeAI +{ + pop pop + AGM_Gradient/AGM_Gradient_private get /_illustrator true put + AGM_Gradient/initialize get exec + AGM_Gradient begin +}def +/unload{ + systemdict/languagelevel known{ + systemdict/languagelevel get 2 ge{ + userdict/AGM_Gradient_Sep 2 copy known{ + undef + }{ + pop pop + }ifelse + userdict/AGM_Gradient 2 copy known{ + undef + }{ + pop pop + }ifelse + }if + }if +}def +/terminate{ + currentdict AGM_Gradient eq{ + end + }if +}def + +AGM_Gradient_private begin +/initializeVars{ + /_d255 256 array def + 0 1 255{ + _d255 exch dup 255 div put + }bind for + /_d255- 256 array def + 0 1 255{ + _d255- exch 1 _d255 2 index get sub put + }bind for + /_sSave nd + /_dUserSpace matrix defaultmatrix def + /_bUMatrix matrix def + /_imageMatrix matrix def + /_saveMatrix matrix def + /_xm matrix def + /_ccAry1 5 array def + /_bbox 4 array pt + /_level2PS + systemdict/languagelevel known dup{ + pop systemdict/languagelevel get 2 ge + }if + def + /_level3PS + _level2PS systemdict/shfill known and + def + currentdict /_illustrator known not{ + /_illustrator false def + }if + +}def +/initializeOps +{ + AGM_Gradient begin + currentdict/Bc known not{ + /Bc{ + + _renderFlag 2 eq _enabledSmoothShade or{ + 6 npop + }{ + pushBSpace + _rampIndex 0 eq{ + pop pop + setCStop + }if + linealFill + popBSpace + }ifelse + + }def + }if + + currentdict/Bg known not{ + /Bg{ + 10 npop + /_gradName xp + /_renderFlag xp + /_enabledSmoothShade false pt + + _renderFlag 2 ne{ + + _illustrator{ + _of setoverprint + }if + + /_enabledSmoothShade + _level3PS{ + _usingSmoothShade + _producingSeps not + currentoverprint not or and + _noImage not and + }{ + false + }ifelse + pt + + _illustrator _eo and _renderFlag 3 eq or{ + eoclip + }{ + clip + }ifelse + + _gradNames _gradName 2 copy known{ + get + mark exch aload pop + /_gradType xp + 1 sub dup /_rampIndex xp + /_maxRampIndex xp + mark exch aload pop + 0 0 + }if + pop pop + getRampData + }{ + mark mark + }ifelse + }def + }if + + currentdict/Bm known not{ + /Bm{ + _renderFlag 2 ne{ + _gradType 0 eq{ + linealRamp + }{ + radialGrad + }ifelse + }{ + 6 npop + }ifelse + }def + }if + + currentdict/Bh known not{ + /Bh{ + 2 npop + /_yHi xp + /_xHi xp + /_radHilite _xHi 0 ne _yHi 0 ne or pt + }def + }if + + currentdict/Bn known not{ + /Bn{ + AGM_Gradient_private begin + dict /_gradNames xp + end + }def + }if + + currentdict/Bd known not{ + /Bd{ + AGM_Gradient begin + AGM_Gradient_private begin + /_nColorsBd xp + /_gradType xp + /_gradName xp + }def + }if + + currentdict/BD known not{ + /BD{ + currentdict/_gradNames known not{ + /_gradNames 20 dict def + }if + ] _nColorsBd _gradType + ] _gradName exch /_gradNames xput + end + end + }def + }if + + currentdict/Bb known not{ + /Bb{ + + AGM_Gradient/AGM_Gradient_private get /_illustrator get not{ + AGM_Gradient begin + }if + AGM_Gradient_private begin + _producingSeps{ + AGM_Gradient_Sep/AGM_Gradient_Sep_private get begin + }if + mySave + }def + }if + + currentdict/BB known not{ + /BB{ + + /_tmp xp + cleartomark cleartomark + + _tmp dup + _renderFlag + + myRestore + + _producingSeps{ + end + }if + + _illustrator dup + end + not { + end + }if + + { + 2 ne exch 0 gt and{ + 2 eq{ + s + }{ + S + }ifelse + }{ + pop newpath + }ifelse + }{ + pop newpath + }ifelse + + + }def + }if + + currentdict/Xm known not{ + /Xm{ + _xm astore pop + }def + }if + + end +}def +/queryDevice{ + /_inDistiller + systemdict /currentdistillerparams known + def + /_inRipSep + _level2PS{ + currentpagedevice/Separations 2 copy known{ + get + }{ + pop pop false + }ifelse + }{ + false + }ifelse + _inDistiller or + def + /_noImage /lv1Fix where{ + pop lv1Fix + }{ + false + }ifelse + def + /_useShells where{ + /_useShells get /_usingShells xp + }{ + /_usingShells false def + }ifelse + + /_useSmoothShade where{ + pop + }{ + /_useSmoothShade false def + }ifelse + /_forceToCMYK where{ + pop + }{ + /_forceToCMYK false def + }ifelse + /_cyanPlate 1 0 0 0 testCMYKColorThrough def + /_magentaPlate 0 1 0 0 testCMYKColorThrough def + /_yellowPlate 0 0 1 0 testCMYKColorThrough def + /_blackPlate 0 0 0 1 testCMYKColorThrough def + /_compositeJob + _cyanPlate _magentaPlate and _yellowPlate and _blackPlate and + def + /_isCMYKSep + _cyanPlate _magentaPlate or _yellowPlate or _blackPlate or + def + /_compositeSpotDevice where{ + pop + }{ + /_compositeSpotDevice _compositeJob not _inRipSep or{ + 1 + }{ + 0 + }ifelse + def + }ifelse + /_producingSeps _compositeSpotDevice 0 ne def + /_deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt def + /_dpiThreshold where{ + pop + }{ + /_dpiThreshold 600 def + }ifelse + /_screenFreqThreshold where{ + pop + }{ + /_screenFreqThreshold 150 def + }ifelse + /_contoneDevice where{ + pop + }{ + /_contoneDevice false def + }ifelse + /_subSampleOK + _deviceDPI _dpiThreshold le + currentScreenFreq _screenFreqThreshold le and + _contoneDevice not and + def +}def +/initializeRectFill{ + /rectfill where dup{ + exch pop not _producingSeps or + }{ + not + }ifelse + { + /rectfill{ + gsave + newpath + 4 2 roll moveto + 1 index 0 rlineto + 0 1 index rlineto + 1 index neg 0 rlineto + pop pop + closepath + fill + grestore + }def + }if +}def +/initializeLev1{ + /currentScreenFreq{ + currentscreen pop pop + }def + /_byte 1 string def + /colorimage where{ + pop + }{ + /colorimage{ + pop pop + /_blackTmp xp + /_yellowTmp xp + /_magentaTmp xp + /_cyanTmp xp + /_cnt 0 pt + [ + _byte dup 0 + _cyanTmp + /_cnt cvx /get cvx _d255 /exch cvx /get cvx .3 /mul cvx + _magentaTmp + /_cnt cvx /get cvx _d255 /exch cvx /get cvx .59 /mul cvx + _yellowTmp + /_cnt cvx /get cvx _d255 /exch cvx /get cvx .11 /mul cvx + _blackTmp + /_cnt cvx /get cvx _d255 /exch cvx /get cvx + /add cvx /add cvx /add cvx 1 /exch cvx /sub cvx + /dup cvx 0 /lt cvx{ + pop 0 + }/if cvx + /dup cvx 1 /gt cvx{ + pop 1 + }/if cvx + 255 /mul cvx /cvi cvx + 256 /mod cvx + /dup cvx 0 /lt cvx{ + pop 0 + }/if cvx + /put cvx + /_cnt dup cvx 1 /add cvx /pt cvx + ] cvx + bind + /_image load 5 execImage + }def + }ifelse +}def +/initializeLev2{ + /level2ScreenFreq{ + begin + 60 + HalftoneType 1 eq{ + pop Frequency + }if + HalftoneType 2 eq{ + pop GrayFrequency + }if + HalftoneType 5 eq{ + pop Default level2ScreenFreq + }if + end + }def + /currentScreenFreq{ + currenthalftone level2ScreenFreq + }def +}def +/initializeShading{ + _useSmoothShade _level3PS and{ + /_usingSmoothShade true pt + initializeLev3_Ops + }{ + /_usingSmoothShade false pt + }ifelse +}def +/initializeLev3_Ops +{ + /initShFill{ + /_index _gradType 0 eq {0}{_maxRampIndex 1 sub} ifelse pt + /_rampFuncsArray _maxRampIndex array pt + /_boundsArray _maxRampIndex 1 sub array pt + /_encodeArray _maxRampIndex 2 mul array pt + /_beginCoord _rampPoint pt + /_colorSpace null pt + /_firstFill _rampIndex _maxRampIndex eq pt + /_lastFill false pt + }def + /linealShFill{ + popBSpace + _xm aload pop pushBSpace + + /_size _index 1 add pt + _size _maxRampIndex lt { + /_rampFuncsArray _rampFuncsArray 0 _size getinterval pt + /_boundsArray _boundsArray 0 _size 1 sub getinterval pt + /_encodeArray _encodeArray 0 _size 2 mul getinterval pt + }if + + bd + /ShadingType 2 + /ColorSpace _colorSpace + _rgbInCMYK{ + /Function [ + _cData sampFunc + _mData sampFunc + _yData sampFunc + _kData sampFunc + ] + }{ + /Function + bd + /FunctionType 3 + /Domain [0 1] + /Functions _rampFuncsArray + /Bounds _boundsArray + /Encode _encodeArray + ed + }ifelse + /Extend [_firstFill _lastFill] + /Domain [0 1] + /Coords [_beginCoord 0 _endCoord 0] + ed + shfill + }def + + /radialShFill{ + /_size _maxRampIndex _index sub pt + _size _maxRampIndex lt { + /_rampFuncsArray _rampFuncsArray _index _size getinterval pt + /_boundsArray _boundsArray _index _size 1 sub getinterval pt + /_encodeArray _encodeArray _index 2 mul _size 2 mul getinterval pt + }if + + /_rampLen _beginCoord _endCoord sub pt + bd + /ShadingType 3 + /ColorSpace _colorSpace + _rgbInCMYK{ + /Function [ + _cData sampFunc + _mData sampFunc + _yData sampFunc + _kData sampFunc + ] + }{ + /Function + bd + /FunctionType 3 + /Domain [0 1] + /Functions _rampFuncsArray + /Bounds _boundsArray + /Encode _encodeArray + ed + }ifelse + /Extend [_lastFill _firstFill] + /Domain [0 1] + /Coords [_xHi _rampLen mul _yHi _rampLen mul _endCoord 0 0 _beginCoord] + ed + shfill + + _radHilite{ + _xHi _rampLen mul _yHi _rampLen mul translate + }if + }def + + % + /sampFunc{ + /_tmp exch pt + bd + _tmp length 1 eq { + _tmp 0 get + /_tmp 2 string pt + dup _tmp 0 3 -1 roll put + _tmp 1 3 -1 roll put + }if + /FunctionType 0 + /Order 1 + /Size [_tmp length] + /Domain [0 1] + /BitsPerSample 8 + /DataSource _tmp + /Range [0 1] + ed + }def + + /fillRamp{ + + + /_invert _midPoint 0.5 lt pt + _rampIndex _maxRampIndex eq { + initShFill + }if + + getRampColorSpace + + _colorSpace null eq{ + /_colorSpace _rampColorSpace pt + }{ + _colorSpace _rampColorSpace ne _rgbInCMYK or{ + /_index _index 1 + _gradType 0 eq{ + sub pt + linealShFill + }{ + add pt + radialShFill + }ifelse + initShFill + /_colorSpace _rampColorSpace pt + } if + }ifelse + /_endCoord _endPoint pt + /_rgbInCMYK false pt + _producingSeps _forceToCMYK or _rgbRamp and { + _spotColor{ + _renderCMYK + }{ + _isCMYKSep + }ifelse + }{ + false + }ifelse + { + _compositeJob{ + /_rgbInCMYK true pt + _cyanData _magentaData _yellowData _blackData _nSamples 4 expandColor + dup length string copy /_kData exch pt + dup length string copy /_yData exch pt + dup length string copy /_mData exch pt + dup length string copy /_cData exch pt + }{ + _rampFuncsArray _index + _cyanPlate{_cyanData}if + _magentaPlate{_magentaData}if + _yellowPlate{_yellowData}if + _blackPlate{_blackData}if + _nSamples expandOne + sampFunc + dup begin /Decode [1 0] def end + put + /_invert false pt + }ifelse + }{ + _rampFuncsArray _index + bd + /FunctionType 2 + /Domain [0 1] + /N 0.5 log _invert{1 _midPoint sub}{_midPoint}ifelse log div + _gradType 0 eq{ + _invert{/C1}{/C0}ifelse _C0 + _invert{/C0}{/C1}ifelse _C1 + }{ + _invert{/C0}{/C1}ifelse _C1 + _invert{/C1}{/C0}ifelse _C0 + }ifelse + ed + put + }ifelse + + _rampIndex 1 ne{ + _boundsArray _index _gradType 1 eq{1 sub}if _endCoord put + } if + + 0 1 _invert {exch}if + _encodeArray _index 2 mul 1 add 3 -1 roll put + _encodeArray _index 2 mul 3 -1 roll put + _rampIndex 1 eq { + /_lastFill true pt + _gradType 0 eq{ + linealShFill + }{ + radialShFill + }ifelse + }if + /_index _index 1 + _gradType 0 eq{ + add pt + }{ + sub pt + }ifelse + }def +}def +/initializeComposite{ + /bwImage{ + pop /_image load 5 execImage + }def + /rampImage{ + _enabledSmoothShade{ + fillRamp + }{ + _color{ + _nSamples setImageParms + + + _rgbRamp _forceToCMYK not and{ + _redData _greenData _blueData _nSamples 3 expandColor + true 3 null ncolorimage + }{ + _cyanData _magentaData _yellowData _blackData _nSamples 4 expandColor + true 4 null ncolorimage + }ifelse + }{ + _nSamples setImageParms _blackData null bwImage + }ifelse + }ifelse + }def + /setCStop{ + /_colorStyle exch pt + _colorStyle 0 eq{ + 1 exch sub + 0 0 0 + 4 -1 roll + }if + + _colorStyle 2 eq{ + _forceToCMYK{ + 3 npop setcmykcolor + }{ + setrgbcolor 4 npop + }ifelse + }if + + _colorStyle 3 eq{ + 1 exch sub /_tmp xp + pop + 4{ + _tmp mul 4 1 roll + }repeat + }if + + _colorStyle 4 eq{ + _forceToCMYK{ + 6 npop setcmykcolor + }{ + 3 -1 roll pop pop + 1 exch sub /_tmp xp + 3{ + 1 exch sub _tmp mul 1 exch sub 3 1 roll + }repeat + setrgbcolor + 4 npop + }ifelse + }if + _colorStyle 2 ne _colorStyle 4 ne and{ + null nsetcustomcolor + }if + }def + /nsetcustomcolor + { + pop setcmykcolor + }def + /nsetcustomcolorend + { + }def + /ncolorimage{ + pop + /_colorimage load 10 execImage + }def + _noImage not _level2PS not and{ + /linealFill{ + 8 setImageParms + _color{ + currentcmykcolor + 4{ + makeByte8 4 1 roll + }repeat + true 4 null ncolorimage + }{ + currentgray makeByte8 null bwImage + }ifelse + }def + }if + /getRampColorSpace{ + _nSamples 1 gt{ + /_ndx 0 pt + [blendColor] cvx exec + }if + /_C0 [currentcolor] pt + /_C0_Space currentcolorspace pt + + _nSamples 1 gt{ + /_ndx _nSamples 1 sub pt + [blendColor] cvx exec + }if + /_C1 [currentcolor] pt + /_C1_Space currentcolorspace pt + + /_rampColorSpace _C0_Space pt + + _spotColor{ + nsetcustomcolorend + }if + }def +}def +/npop{ + {pop}repeat +}def +/xd{ + exch def +}def +/nd{ + null def +}def +/pt{ + AGM_Gradient_private 3 1 roll put +}def +/xp{ + exch pt +}def +/xput{ + dup load dup length exch maxlength eq{ + dup dup load dup + length 2 mul dict copy def + }if + load begin + def + end +}def +/mySave{ + save /_sSave xp +}def +/myRestore{ + _sSave type /savetype eq{ + _sSave restore + }if +}def +/gMark{ + counttomark 2 add -1 roll +}def +/execImage{ + /_tmp xp + { + exec + }stopped{ + $error /errorname get /undefinedresult ne{ + stop + }{ + _tmp npop + }ifelse + }if +}def +/pushBSpace{ + newpath gsave + _bUMatrix astore concat +}def +/popBSpace{ + grestore +}def +/makeByte8{ + /_tmp 0 pt + 255 mul cvi + 8 string 8{ + dup _tmp 3 index put + /_tmp _tmp 1 add pt + }repeat + exch pop +}def +/setImageParms{ + 1 8 2 index 0 0 1 0 0 _imageMatrix astore +}def +/linealFill{ + 0 0 1 1 rectfill +}def +/testCMYKColorThrough{ + gsave + setcmykcolor currentcmykcolor + grestore + add add add 0 ne +}def +/expandOne { + /_tmp xp + dup type /stringtype ne{ + _tmp string + exch + dup 0 ne{ + 255 mul cvi + 0 1 _tmp 1 sub{ + 3 copy + exch put pop + }for + }if + pop + }if +}def +/expandColor{ + /_channels xp + /_len xp + _channels{ + _len expandOne _channels 1 roll + }repeat +}def +/blendColor{ + + _color{ + _rgbRamp _producingSeps not and _forceToCMYK not and{ + _redData dup type /stringtype eq{ + /_ndx cvx /get cvx _d255 /exch cvx /get cvx + }if + _greenData dup type /stringtype eq{ + /_ndx cvx /get cvx _d255 /exch cvx /get cvx + }if + _blueData dup type /stringtype eq{ + /_ndx cvx /get cvx _d255 /exch cvx /get cvx + }if + /setrgbcolor cvx + }{ + _cyanData dup type /stringtype eq{ + /_ndx cvx /get cvx _d255 /exch cvx /get cvx + }if + _magentaData dup type /stringtype eq{ + /_ndx cvx /get cvx _d255 /exch cvx /get cvx + }if + _yellowData dup type /stringtype eq{ + /_ndx cvx /get cvx _d255 /exch cvx /get cvx + }if + _blackData dup type /stringtype eq{ + /_ndx cvx /get cvx _d255 /exch cvx /get cvx + }if + + _spotColor{ + _rampSD begin + /_rampSD cvx /begin cvx + + spot1 begin + tintImage dup type /stringtype eq{ + /_ndx cvx /get cvx _d255- /exch cvx /get cvx + }{ + dup null ne{ + name type /nametype ne{ + 1 exch sub + }if + }if + }ifelse + end + /spot1 cvx /tintValue 3 -1 /roll cvx /put cvx + + spot2 begin + tintImage dup type /stringtype eq{ + /_ndx cvx /get cvx _d255- /exch cvx /get cvx + }{ + dup null ne{ + name type /nametype ne{ + 1 exch sub + }if + }if + }ifelse + end + /spot2 cvx /tintValue 3 -1 /roll cvx /put cvx + /end cvx + end + /_rampSD cvx + /nsetcustomcolor cvx + }{ + /setcmykcolor cvx + }ifelse + }ifelse + }{ + _blackData dup type /stringtype eq{ + /_ndx cvx /get cvx _d255 /exch cvx /get cvx + }if + + _enabledSmoothShade{ + 1 /exch cvx /sub cvx 0 0 0 4 -1 /roll cvx /setcmykcolor cvx + }{ + /setgray cvx + }ifelse + }ifelse +}def +/useRectImage{ + _subSampleOK _enabledSmoothShade not and{ + { + mark + 0 1 dtransform atan cvi 90 mod 0 eq + 1 0 dtransform atan cvi 90 mod 0 eq + } stopped + { + cleartomark + false + } + { + and exch pop + } ifelse + }{ + false + }ifelse +}def +/linealImage{ + _noImage{ + rectImage + }{ + _producingSeps{ + AGM_Gradient_Sep/AGM_Gradient_Sep_private get + /rampImage get exec + }{ + useRectImage{ + rectImage + }{ + rampImage + }ifelse + }ifelse + }ifelse +}def +/linealRamp{ + pushBSpace + _ramp{ + linealImage + }{ + linealFill + }ifelse + popBSpace + /_rampIndex _rampIndex 1 sub pt + _rampIndex 0 gt{ + getRampData + }if +}def +/radialGrad{ + /_usingShells currentoverprint _producingSeps and _usingShells or pt + /_firstShell true pt + _enabledSmoothShade not{ + currentoverprint _producingSeps and{ + + newpath + clippath pathbbox + 1 add 4 1 roll + 1 add 4 1 roll + 1 sub 4 1 roll + 1 sub 4 1 roll + _bbox astore pop + + newpath + _bbox 0 get _bbox 1 get moveto + _bbox 2 get _bbox 1 get lineto + _bbox 2 get _bbox 3 get lineto + _bbox 0 get _bbox 3 get lineto + closepath + 6 copy + gsave _bUMatrix astore concat + 1 0 moveto 0 0 1 0 360 arc closepath + eoclip fill + popBSpace + }{ + fill + }ifelse + }if + pushBSpace + + _radHilite{ + _xHi _yHi _bUMatrix idtransform /_yHi xp /_xHi xp + _rampPoint 1 lt{ + 1 _rampPoint sub dup _xHi mul exch _yHi mul translate + }if + }if + _rampIndex{ + radialRamp + /_rampIndex _rampIndex 1 sub pt + _rampIndex 0 gt{ + getRampData + }if + }repeat + + popBSpace + +}def +/getNSamples{ + 0 exch + { + dup type /stringtype eq{ + length exch pop exit + }if + pop + }forall + dup 0 eq{ + pop 1 + }if +}def +/getRampData{ + /_rampType gMark pt + /_color _rampType 0 gt pt + /_ccRGB _rampType 5 eq _rampType 6 eq or pt + /_rgbRamp _rampType 4 eq _ccRGB or pt + /_ccProcess _rampType 2 eq _rampType 3 eq or pt + _producingSeps{ + _rampSD initSpotDict + /_spotColor _ccProcess _ccRGB or pt + }{ + /_spotColor false pt + }ifelse + /_ramp true pt + 100 div /_rampPoint xp + 100 div /_midPoint xp + + dup /_colorStyle xp + _colorStyle 0 eq{ + 2 + }{ + _colorStyle 1 eq{ + 5 + }{ + _colorStyle 2 eq{ + 8 + }{ + _colorStyle 3 eq{ + _producingSeps{ + _rampSD /spot1 get begin + /name 3 index def + /spot_K 4 index def + /spot_Y 5 index def + /spot_M 6 index def + /spot_C 7 index def + end + }if + 7 + }{ + _producingSeps{ + _rampSD/spot1 get begin + /name 4 index def + /spot_K 8 index def + /spot_Y 9 index def + /spot_M 10 index def + /spot_C 11 index def + end + }if + 11 + } ifelse + }ifelse + }ifelse + }ifelse + /_tmp xp + _tmp index 100 div /_endPoint xp + + _gradType 1 eq{ + _tmp 1 add index 100 div /_midPoint xp + }if + + _producingSeps{ + _tmp 2 add index /_nextColorStyle xp + _nextColorStyle 3 eq{ + /_tmp _tmp 4 add pt + _tmp index dup + _rampSD/spot1 get /name get ne{ + _rampSD /spot2 get begin + /name xd + /spot_K _tmp 2 add index def + /spot_Y _tmp 3 add index def + /spot_M _tmp 4 add index def + /spot_C _tmp 5 add index def + end + }{ + pop + }ifelse + }if + _nextColorStyle 4 eq{ + /_tmp _tmp 5 add pt + _tmp index dup + _rampSD/spot1 get /name get ne{ + _rampSD /spot2 get begin + /name xd + /spot_K _tmp 5 add index def + /spot_Y _tmp 6 add index def + /spot_M _tmp 7 add index def + /spot_C _tmp 8 add index def + end + }{ + pop + }ifelse + }if + }if + _rampType 3 eq _rampType 6 eq or{ + /_tint2Data gMark pt + }if + _ccProcess _ccRGB or{ + /_tint1Data gMark pt + }if + _rgbRamp{ + /_blueData gMark pt + /_greenData gMark pt + /_redData gMark pt + }if + + _producingSeps{ + _ccProcess _ccRGB or{ + _rampType 3 eq _rampType 6 eq or{ + _rampSD /spot2 get begin + /tintImage _gradType 0 eq{ + _tint2Data + }{ + _tint1Data + }ifelse + def + name null eq{ + /name /Black def + }if + end + }if + _rampSD /spot1 get begin + /tintImage _gradType 0 eq _rampType 2 eq or _rampType 5 eq or{ + _tint1Data + }{ + _tint2Data + }ifelse + def + _rampType 2 eq _rampType 5 eq or{ + name null eq{ + /name _rampSD/spot2 get /name get def + /spot_C _rampSD/spot2 get /spot_C get def + /spot_M _rampSD/spot2 get /spot_M get def + /spot_Y _rampSD/spot2 get /spot_Y get def + /spot_K _rampSD/spot2 get /spot_K get def + _rampSD/spot2 get /name null put + }if + }{ + name null eq{ + /name /Black def + }if + }ifelse + end + }if + }if + /_blackData gMark pt + _rampType 0 gt{ + counttomark 4 add -3 roll + /_yellowData xp + /_magentaData xp + /_cyanData xp + }if + _ramp{ + /_nSamples + [ + _rampType 0 eq {_blackData}if + _rampType 1 eq {_cyanData _magentaData _yellowData _blackData}if + _rampType 2 eq {_cyanData _magentaData _yellowData _blackData _tint1Data}if + _rampType 3 eq {_cyanData _magentaData _yellowData _blackData _tint1Data _tint2Data}if + _rampType 4 eq {_cyanData _magentaData _yellowData _blackData _redData _greenData _blueData}if + _rampType 5 eq {_cyanData _magentaData _yellowData _blackData _redData _greenData _blueData _tint1Data}if + _rampType 6 eq {_cyanData _magentaData _yellowData _blackData _redData _greenData _blueData _tint1Data _tint2Data}if + ] getNSamples pt + _enabledSmoothShade not {/_ramp _nSamples 1 gt pt} if + } if + + setCStop +}def +/rectImage{ + gsave + /_sInc 1 pt + /_bInc 1 _nSamples div pt + /_nSubSamples _nSamples pt + /_optimize false pt + + _subSampleOK{ + /_uRampLen 1 0 dtransform _dUserSpace idtransform dup mul exch dup mul add sqrt pt + /_pChange _uRampLen 0 eq{0}{_nSamples _uRampLen div}ifelse pt + + _pChange .5 gt dup /_optimize xp{ + /_nSubSamples _uRampLen 2 div round cvi dup 1 le{pop 2}if pt + /_bInc 1 _nSubSamples div pt + /_sInc _nSamples 1 sub _nSubSamples 1 sub div pt + }if + }if + 0 + _nSubSamples + [ + /dup cvx + _optimize { + /round cvx /cvi cvx + } if + /_ndx /exch cvx /pt cvx + blendColor + 0 0 _bInc 1 /rectfill cvx + _bInc 0 /translate cvx + _sInc /add cvx + ] cvx + bind + repeat + pop + _spotColor{ + nsetcustomcolorend + }if + grestore +}def +/radialInit{ + /_nRadSamples _nSamples dup 0 eq{pop 1}if pt + /_sInc -1 pt + /_rampLen _rampPoint _endPoint sub pt + /_bInc _rampLen _nSamples div neg pt + /_optimize false pt + _subSampleOK{ + /_uRampLen + _rampLen 0 dtransform _dUserSpace idtransform dup mul exch dup mul add sqrt + 0 _rampLen dtransform _dUserSpace idtransform dup mul exch dup mul add sqrt + 2 copy lt{ + exch + }if pop + pt + /_pChange + _uRampLen 0 eq{ + 0 + }{ + _nSamples _uRampLen div + }ifelse + pt + _pChange .5 gt dup /_optimize xp{ + /_nRadSamples _uRampLen 2 div round cvi dup 1 le{pop 2}if pt + /_bInc _rampLen _nRadSamples div neg pt + /_sInc _nSamples 1 sub _nRadSamples 1 sub div neg pt + }if + }if + _radHilite{ + /_xBCInc _xHi _rampLen mul _nRadSamples div pt + /_yBCInc _yHi _rampLen mul _nRadSamples div pt + }if +}def +/radialRamp{ + _enabledSmoothShade{ + fillRamp + }{ + /_saveMatrix _saveMatrix currentmatrix def + + radialInit + + % + % + true + _producingSeps _rgbRamp not and{ + _nSamples 1 gt{ + pop + /_ndx 0 pt + [blendColor] cvx exec + currentInkN + /_ndx _nSamples 1 sub pt + [blendColor] cvx exec + currentInkN + or + }if + }if + { + _rampPoint + + _nSamples 1 sub + + _nRadSamples + [ + /dup cvx + + _optimize{ + /round cvx /cvi cvx + }if + + /_ndx /exch cvx /pt cvx + + _usingShells{ + /_firstShell cvx{ + /_firstShell false pt + }{ + 0 0 3 index 360 0 arcn fill + }/ifelse cvx + }if + + blendColor + + _usingShells{ + 0 0 3 /index cvx 0 360 /arc cvx + }{ + 0 0 3 /index cvx 0 360 /arc cvx /fill cvx + }ifelse + + /exch cvx _bInc /add cvx /exch cvx + + _sInc /add cvx + + _radHilite{ + _xBCInc _yBCInc /translate cvx + }if + ] cvx bind + repeat + + pop pop + }{ + _usingShells{ + 0 0 _rampPoint 360 0 arcn fill + }if + }ifelse + + _saveMatrix setmatrix + + _radHilite{ + _xHi _rampLen mul _yHi _rampLen mul translate + }if + + _usingShells _rampIndex 1 eq and{ + fill + }if + + _spotColor{ + nsetcustomcolorend + }if + }ifelse +}def +end +end +defaultpacking setpacking +%%EndResource +%%BeginProcSet: Adobe_ColorImage_AI6 1.3 0 +userdict /Adobe_ColorImage_AI6 known not +{ + userdict /Adobe_ColorImage_AI6 53 dict put +} if +userdict /Adobe_ColorImage_AI6 get begin +/initialize { + Adobe_ColorImage_AI6 begin + Adobe_ColorImage_AI6 { + dup type /arraytype eq { + dup xcheck { + bind + } if + } if + pop pop + } forall +} def +/terminate { end } def +currentdict /Adobe_ColorImage_AI6_Vars known not { + /Adobe_ColorImage_AI6_Vars 41 dict def +} if +Adobe_ColorImage_AI6_Vars begin + /plateindex -1 def + /_newproc null def + /_proc1 null def + /_proc2 null def + /sourcearray 4 array def + /_ptispace null def + /_ptiname null def + /_pti0 0 def + /_pti1 0 def + /_ptiproc null def + /_ptiscale 0 def + /_pticomps 0 def + /_ptibuf 0 string def + /_gtigray 0 def + /_cticmyk null def + /_rtirgb null def + /XIEnable true def + /XIType 0 def + /XIEncoding 0 def + /XICompression 0 def + /XIChannelCount 0 def + /XIBitsPerPixel 0 def + /XIImageHeight 0 def + /XIImageWidth 0 def + /XIImageMatrix null def + /XIRowBytes 0 def + /XIFile null def + /XIBuffer1 null def + /XIBuffer2 null def + /XIBuffer3 null def + /XIDataProc null def + /XIColorSpace /DeviceGray def + /XIColorValues 0 def + /XIPlateList false def +end +/ci6colorimage /colorimage where {/colorimage get}{null} ifelse def +/ci6image systemdict /image get def +/ci6curtransfer systemdict /currenttransfer get def +/ci6curoverprint /currentoverprint where {/currentoverprint get}{{_of}} ifelse def +/ci6foureq { + 4 index ne { + pop pop pop false + }{ + 4 index ne { + pop pop false + }{ + 4 index ne { + pop false + }{ + 4 index eq + } ifelse + } ifelse + } ifelse +} def +/ci6testplate { + Adobe_ColorImage_AI6_Vars begin + /plateindex -1 def + /setcmykcolor where { + pop + gsave + 1 0 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub + 0 1 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub + 0 0 1 0 setcmykcolor systemdict /currentgray get exec 1 exch sub + 0 0 0 1 setcmykcolor systemdict /currentgray get exec 1 exch sub + grestore + 1 0 0 0 ci6foureq { + /plateindex 0 def + }{ + 0 1 0 0 ci6foureq { + /plateindex 1 def + }{ + 0 0 1 0 ci6foureq { + /plateindex 2 def + }{ + 0 0 0 1 ci6foureq { + /plateindex 3 def + }{ + 0 0 0 0 ci6foureq { + /plateindex 5 def + } if + } ifelse + } ifelse + } ifelse + } ifelse + pop pop pop pop + } if + plateindex + end +} def +/ci6concatprocs { + /packedarray where { + pop dup type /packedarraytype eq 2 index type + /packedarraytype eq or + }{ + false + } ifelse + { + /_proc2 exch cvlit def + /_proc1 exch cvlit def + _proc1 aload pop + _proc2 aload pop + _proc1 length + _proc2 length add + packedarray cvx + }{ + /_proc2 exch cvlit def + /_proc1 exch cvlit def + /_newproc _proc1 length _proc2 length add array def + _newproc 0 _proc1 putinterval + _newproc _proc1 length _proc2 putinterval + _newproc cvx + } ifelse +} def +/ci6istint { + type /arraytype eq +} def +/ci6isspot { + dup type /arraytype eq { + dup length 1 sub get /Separation eq + }{ + pop false + } ifelse +} def +/ci6spotname { + dup ci6isspot {dup length 2 sub get}{pop ()} ifelse +} def +/ci6altspace { + aload pop pop pop ci6colormake +} def +/ci6numcomps { + dup /DeviceGray eq { + pop 1 + }{ + dup /DeviceRGB eq { + pop 3 + }{ + /DeviceCMYK eq { + 4 + }{ + 1 + } ifelse + } ifelse + } ifelse +} def +/ci6marksplate { + dup /DeviceGray eq { + pop plateindex 3 eq + }{ + dup /DeviceRGB eq { + pop plateindex 5 ne + }{ + dup /DeviceCMYK eq { + pop plateindex 5 ne + }{ + dup ci6isspot { + /findcmykcustomcolor where { + pop + dup length 2 sub get + 0.1 0.1 0.1 0.1 5 -1 roll + findcmykcustomcolor 1 setcustomcolor + systemdict /currentgray get exec + 1 ne + }{ + pop plateindex 5 ne + } ifelse + }{ + pop plateindex 5 ne + } ifelse + } ifelse + } ifelse + } ifelse +} def +/ci6colormake { + dup ci6numcomps + exch 1 index 2 add 1 roll + dup 1 eq {pop}{array astore} ifelse + exch +} def +/ci6colorexpand { + dup ci6spotname exch + dup ci6istint { + ci6altspace + exch 4 1 roll + }{ + 1 3 1 roll + } ifelse +} def +/ci6colortint { + dup /DeviceGray eq { + 3 1 roll 1 exch sub mul 1 exch sub exch + }{ + dup /DeviceRGB eq { + 3 1 roll {1 exch sub 1 index mul 1 exch sub exch} forall pop 3 array astore exch + }{ + dup /DeviceCMYK eq { + 3 1 roll {1 index mul exch} forall pop 4 array astore exch + }{ + 3 1 roll mul exch + } ifelse + } ifelse + } ifelse +} def +/ci6colortocmyk { + dup /DeviceGray eq { + pop 1 exch sub 0 0 0 4 -1 roll 4 array astore + }{ + dup /DeviceRGB eq { + pop aload pop _rgbtocmyk 4 array astore + }{ + dup /DeviceCMYK eq { + pop + }{ + ci6altspace ci6colortint ci6colortocmyk + } ifelse + } ifelse + } ifelse +} def +/ci6makeimagedict { + 7 dict begin + /ImageType 1 def + /Decode exch def + /DataSource exch def + /ImageMatrix exch def + /BitsPerComponent exch def + /Height exch def + /Width exch def + currentdict end +} def +/ci6stringinvert { + 0 1 2 index length 1 sub { + dup 2 index exch get 255 exch sub 2 index 3 1 roll put + } for +} def +/ci6stringknockout { + 0 1 2 index length 1 sub { + 255 2 index 3 1 roll put + } for +} def +/ci6stringapply { + 0 1 4 index length 1 sub { + dup + 4 index exch get + 3 index 3 1 roll + 3 index exec + } for + pop exch pop +} def +/ci6walkrgbstring { + 0 3 index + dup length 1 sub 0 3 3 -1 roll { + 3 getinterval {} forall + 5 index exec + 3 index + } for + + 5 {pop} repeat +} def +/ci6walkcmykstring +{ + 0 3 index + dup length 1 sub 0 4 3 -1 roll { + 4 getinterval {} forall + + 6 index exec + + 3 index + + } for + + 5 { pop } repeat + +} def +/ci6putrgbtograystr +{ + .11 mul exch + + .59 mul add exch + + .3 mul add + + cvi 3 copy put + + pop 1 add +} def +/ci6putcmyktograystr +{ + exch .11 mul add + + exch .59 mul add + + exch .3 mul add + + dup 255 gt { pop 255 } if + + 255 exch sub cvi 3 copy put + + pop 1 add +} def +/ci6rgbtograyproc { + Adobe_ColorImage_AI6_Vars begin + sourcearray 0 get exec + XIBuffer3 + dup 3 1 roll + + /ci6putrgbtograystr load exch + ci6walkrgbstring + end +} def +/ci6cmyktograyproc { + Adobe_ColorImage_AI6_Vars begin + sourcearray 0 get exec + XIBuffer3 + dup 3 1 roll + + /ci6putcmyktograystr load exch + ci6walkcmykstring + end +} def +/ci6separatecmykproc { + Adobe_ColorImage_AI6_Vars begin + sourcearray 0 get exec + + XIBuffer3 + + 0 2 index + + plateindex 4 2 index length 1 sub { + get 255 exch sub + + 3 copy put pop 1 add + + 2 index + } for + pop pop exch pop + end +} def + +/ci6compositeimage { + dup 1 eq { + pop pop image + }{ + /ci6colorimage load null ne { + ci6colorimage + }{ + 3 1 roll pop + sourcearray 0 3 -1 roll put + 3 eq {/ci6rgbtograyproc}{/ci6cmyktograyproc} ifelse load + image + } ifelse + } ifelse +} def +/ci6knockoutimage { + gsave + 0 ci6curtransfer exec 1 ci6curtransfer exec + eq { + 0 ci6curtransfer exec 0.5 lt + }{ + 0 ci6curtransfer exec 1 ci6curtransfer exec gt + } ifelse + {{pop 0}}{{pop 1}} ifelse + systemdict /settransfer get exec + ci6compositeimage + grestore +} def +/ci6drawimage { + ci6testplate -1 eq { + pop ci6compositeimage + }{ + dup type /arraytype eq { + dup length plateindex gt {plateindex get}{pop false} ifelse + }{ + { + true + }{ + dup 1 eq {plateindex 3 eq}{plateindex 3 le} ifelse + } ifelse + } ifelse + { + dup 1 eq { + pop pop ci6image + }{ + dup 3 eq { + ci6compositeimage + }{ + pop pop + sourcearray 0 3 -1 roll put + /ci6separatecmykproc load + ci6image + } ifelse + } ifelse + }{ + ci6curoverprint { + 7 {pop} repeat + }{ + ci6knockoutimage + } ifelse + } ifelse + } ifelse +} def +/ci6proctintimage { + /_ptispace exch store /_ptiname exch store /_pti1 exch store /_pti0 exch store /_ptiproc exch store + /_pticomps _ptispace ci6numcomps store + /_ptiscale _pti1 _pti0 sub store + level2? { + _ptiname length 0 gt version cvr 2012 ge and { + [/Separation _ptiname _ptispace {_ptiproc}] setcolorspace + [_pti0 _pti1] ci6makeimagedict ci6image + }{ + [/Indexed _ptispace 255 {255 div _ptiscale mul _pti0 add _ptiproc}] setcolorspace + [0 255] ci6makeimagedict ci6image + } ifelse + }{ + _pticomps 1 eq { + { + dup + { + 255 div _ptiscale mul _pti0 add _ptiproc 255 mul cvi put + } ci6stringapply + } ci6concatprocs ci6image + }{ + { + dup length _pticomps mul dup _ptibuf length ne {/_ptibuf exch string store}{pop} ifelse + _ptibuf { + exch _pticomps mul exch 255 div _ptiscale mul _pti0 add _ptiproc + _pticomps 2 add -2 roll + _pticomps 1 sub -1 0 { + 1 index add 2 index exch + 5 -1 roll + 255 mul cvi put + } for + pop pop + } ci6stringapply + } ci6concatprocs false _pticomps + /ci6colorimage load null eq {7 {pop} repeat}{ci6colorimage} ifelse + } ifelse + } ifelse +} def +/ci6graytintimage { + /_gtigray 5 -1 roll store + {1 _gtigray sub mul 1 exch sub} 4 1 roll + /DeviceGray ci6proctintimage +} def +/ci6cmyktintimage { + /_cticmyk 5 -1 roll store + {_cticmyk {1 index mul exch} forall pop} 4 1 roll + /DeviceCMYK ci6proctintimage +} def +/ci6rgbtintimage { + /_rtirgb 5 -1 roll store + {_rtirgb {1 exch sub 1 index mul 1 exch sub exch} forall pop} 4 1 roll + /DeviceRGB ci6proctintimage +} def +/ci6tintimage { + ci6testplate -1 eq { + ci6colorexpand + 3 -1 roll 5 -1 roll {0}{0 exch} ifelse 4 2 roll + dup /DeviceGray eq { + pop ci6graytintimage + }{ + dup /DeviceRGB eq { + pop ci6rgbtintimage + }{ + pop ci6cmyktintimage + } ifelse + } ifelse + }{ + dup ci6marksplate { + plateindex 5 lt { + ci6colortocmyk plateindex get + dup 0 eq ci6curoverprint and { + 7 {pop} repeat + }{ + 1 exch sub + exch {1 0}{0 1} ifelse () ci6graytintimage + } ifelse + }{ + pop exch {0}{0 exch} ifelse 0 3 1 roll () ci6graytintimage + } ifelse + }{ + ci6curoverprint { + 8 {pop} repeat + }{ + pop pop pop + {pop 1} 0 1 () /DeviceGray ci6proctintimage + } ifelse + } ifelse + } ifelse +} def +/XINullImage { +} def +/XIImageMask { + XIImageWidth XIImageHeight false + [XIImageWidth 0 0 XIImageHeight neg 0 0] + /XIDataProc load + imagemask +} def +/XIImageTint { + XIImageWidth XIImageHeight XIBitsPerPixel + [XIImageWidth 0 0 XIImageHeight neg 0 0] + /XIDataProc load + XIType 3 eq XIColorValues XIColorSpace ci6tintimage +} def +/XIImage { + XIImageWidth XIImageHeight XIBitsPerPixel + [XIImageWidth 0 0 XIImageHeight neg 0 0] + /XIDataProc load + false XIChannelCount XIPlateList ci6drawimage +} def +/XG { + pop pop +} def +/XF { + 13 {pop} repeat +} def +/Xh { + Adobe_ColorImage_AI6_Vars begin + gsave + /XIType exch def + /XIImageHeight exch def + /XIImageWidth exch def + /XIImageMatrix exch def + 0 0 moveto + XIImageMatrix concat + XIImageWidth XIImageHeight scale + + /_lp /null ddef + _fc + /_lp /imagemask ddef + end +} def +/XH { + Adobe_ColorImage_AI6_Vars begin + grestore + end +} def +/XIEnable { + Adobe_ColorImage_AI6_Vars /XIEnable 3 -1 roll put +} def +/XC { + Adobe_ColorImage_AI6_Vars begin + ci6colormake + /XIColorSpace exch def + /XIColorValues exch def + end +} def +/XIPlates { + Adobe_ColorImage_AI6_Vars begin + /XIPlateList exch def + end +} def +/XI +{ + Adobe_ColorImage_AI6_Vars begin + gsave + /XIType exch def + cvi dup + 256 idiv /XICompression exch store + 256 mod /XIEncoding exch store + pop pop + /XIChannelCount exch def + /XIBitsPerPixel exch def + /XIImageHeight exch def + /XIImageWidth exch def + pop pop pop pop + /XIImageMatrix exch def + XIBitsPerPixel 1 eq { + XIImageWidth 8 div ceiling cvi + }{ + XIImageWidth XIChannelCount mul + } ifelse + /XIRowBytes exch def + XIEnable { + /XIBuffer3 XIImageWidth string def + XICompression 0 eq { + /XIBuffer1 XIRowBytes string def + XIEncoding 0 eq { + {currentfile XIBuffer1 readhexstring pop} + }{ + {currentfile XIBuffer1 readstring pop} + } ifelse + }{ + /XIBuffer1 256 string def + /XIBuffer2 XIRowBytes string def + {currentfile XIBuffer1 readline pop (%) anchorsearch {pop} if} + /ASCII85Decode filter /DCTDecode filter + /XIFile exch def + {XIFile XIBuffer2 readstring pop} + } ifelse + /XIDataProc exch def + + XIType 1 ne { + 0 setgray + } if + XIType 1 eq { + XIImageMask + }{ + XIType 2 eq XIType 3 eq or { + XIImageTint + }{ + XIImage + } ifelse + } ifelse + }{ + XINullImage + } ifelse + /XIPlateList false def + grestore + end +} def +end +%%EndProcSet +%%BeginResource: procset Adobe_Illustrator_AI5 1.3 0 +%%Title: (Adobe Illustrator (R) Version 8.0 Full Prolog) +%%Version: 1.3 0 +%%CreationDate: (3/7/1994) () +%%Copyright: ((C) 1987-1998 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_Illustrator_AI5_vars 112 dict dup begin +put +/_?cmyk false def +/_eo false def +/_lp /none def +/_pf +{ +} def +/_ps +{ +} def +/_psf +{ +} def +/_pss +{ +} def +/_pjsf +{ +} def +/_pjss +{ +} def +/_pola 0 def +/_doClip 0 def +/cf currentflat def +/_lineorientation 0 def +/_charorientation 0 def +/_yokoorientation 0 def +/_tm matrix def +/_renderStart +[ +/e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0 +] def +/_renderEnd +[ +null null null null /i1 /i1 /i1 /i1 +] def +/_render -1 def +/_shift [0 0] def +/_ax 0 def +/_ay 0 def +/_cx 0 def +/_cy 0 def +/_leading +[ +0 0 +] def +/_ctm matrix def +/_mtx matrix def +/_sp 16#020 def +/_hyphen (-) def +/_fontSize 0 def +/_fontAscent 0 def +/_fontDescent 0 def +/_fontHeight 0 def +/_fontRotateAdjust 0 def +/Ss 256 string def +Ss 0 (fonts/) putinterval +/_cnt 0 def +/_scale [1 1] def +/_nativeEncoding 0 def +/_useNativeEncoding 0 def +/_tempEncode 0 def +/_pntr 0 def +/_tDict 2 dict def +/_hfname 100 string def +/_hffound false def +/Tx +{ +} def +/Tj +{ +} def +/CRender +{ +} def +/_AI3_savepage +{ +} def +/_gf null def +/_cf 4 array def +/_rgbf 3 array def +/_if null def +/_of false def +/_fc +{ +} def +/_gs null def +/_cs 4 array def +/_rgbs 3 array def +/_is null def +/_os false def +/_sc +{ +} def +/_pd 1 dict def +/_ed 15 dict def +/_pm matrix def +/_fm null def +/_fd null def +/_fdd null def +/_sm null def +/_sd null def +/_sdd null def +/_i null def +/_lobyte 0 def +/_hibyte 0 def +/_cproc null def +/_cscript 0 def +/_hvax 0 def +/_hvay 0 def +/_hvwb 0 def +/_hvcx 0 def +/_hvcy 0 def +/_bitfont null def +/_bitlobyte 0 def +/_bithibyte 0 def +/_bitkey null def +/_bitdata null def +/_bitindex 0 def +/discardSave null def +/buffer 256 string def +/beginString null def +/endString null def +/endStringLength null def +/layerCnt 1 def +/layerCount 1 def +/perCent (%) 0 get def +/perCentSeen? false def +/newBuff null def +/newBuffButFirst null def +/newBuffLast null def +/clipForward? false def +end +userdict /Adobe_Illustrator_AI5 known not { + userdict /Adobe_Illustrator_AI5 100 dict put +} if +userdict /Adobe_Illustrator_AI5 get begin +/initialize +{ + Adobe_Illustrator_AI5 dup begin + Adobe_Illustrator_AI5_vars begin + /_aicmykps where {pop /_?cmyk _aicmykps def}if + discardDict + { + bind pop pop + } forall + dup /nc get begin + { + dup xcheck 1 index type /operatortype ne and + { + bind + } if + pop pop + } forall + end + newpath +} def +/terminate +{ + end + end +} def +/_ +null def +/ddef +{ + Adobe_Illustrator_AI5_vars 3 1 roll put +} def +/xput +{ + dup load dup length exch maxlength eq + { + dup dup load dup + length 2 mul dict copy def + } if + load begin + def + end +} def +/npop +{ + { + pop + } repeat +} def +/hswj +{ + dup stringwidth 3 2 roll + { + _hvwb eq { exch _hvcx add exch _hvcy add } if + exch _hvax add exch _hvay add + } cforall +} def +/vswj +{ + 0 0 3 -1 roll + { + dup 255 le + _charorientation 1 eq + and + { + dup cstring stringwidth 5 2 roll + _hvwb eq { exch _hvcy sub exch _hvcx sub } if + exch _hvay sub exch _hvax sub + 4 -1 roll sub exch + 3 -1 roll sub exch + } + { + _hvwb eq { exch _hvcy sub exch _hvcx sub } if + exch _hvay sub exch _hvax sub + _fontHeight sub + } ifelse + } cforall +} def +/swj +{ + 6 1 roll + /_hvay exch ddef + /_hvax exch ddef + /_hvwb exch ddef + /_hvcy exch ddef + /_hvcx exch ddef + _lineorientation 0 eq { hswj } { vswj } ifelse +} def +/sw +{ + 0 0 0 6 3 roll swj +} def +/vjss +{ + 4 1 roll + { + dup cstring + dup length 1 eq + _charorientation 1 eq + and + { + -90 rotate + currentpoint + _fontRotateAdjust add + moveto + gsave + false charpath currentpoint + 5 index setmatrix stroke + grestore + _fontRotateAdjust sub + moveto + _sp eq + { + 5 index 5 index rmoveto + } if + 2 copy rmoveto + 90 rotate + } + { + currentpoint + _fontHeight sub + 5 index sub + 3 index _sp eq + { + 9 index sub + } if + + currentpoint + exch 4 index stringwidth pop 2 div sub + exch _fontAscent sub + moveto + + gsave + 2 index false charpath + 6 index setmatrix stroke + grestore + + moveto pop pop + } ifelse + } cforall + 6 npop +} def +/hjss +{ + 4 1 roll + { + dup cstring + gsave + false charpath currentpoint + 5 index setmatrix stroke + grestore + moveto + _sp eq + { + 5 index 5 index rmoveto + } if + 2 copy rmoveto + } cforall + 6 npop +} def +/jss +{ + _lineorientation 0 eq { hjss } { vjss } ifelse +} def +/ss +{ + 0 0 0 7 3 roll jss +} def +/vjsp +{ + 4 1 roll + { + dup cstring + dup length 1 eq + _charorientation 1 eq + and + { + -90 rotate + currentpoint + _fontRotateAdjust add + moveto + false charpath + currentpoint + _fontRotateAdjust sub + moveto + _sp eq + { + 5 index 5 index rmoveto + } if + 2 copy rmoveto + 90 rotate + } + { + currentpoint + _fontHeight sub + 5 index sub + 3 index _sp eq + { + 9 index sub + } if + + currentpoint + exch 4 index stringwidth pop 2 div sub + exch _fontAscent sub + moveto + + 2 index false charpath + + moveto pop pop + } ifelse + } cforall + 6 npop +} def +/hjsp +{ + 4 1 roll + { + dup cstring + false charpath + _sp eq + { + 5 index 5 index rmoveto + } if + 2 copy rmoveto + } cforall + 6 npop +} def +/jsp +{ + matrix currentmatrix + _lineorientation 0 eq {hjsp} {vjsp} ifelse +} def +/sp +{ + matrix currentmatrix + 0 0 0 7 3 roll + _lineorientation 0 eq {hjsp} {vjsp} ifelse +} def +/pl +{ + transform + 0.25 sub round 0.25 add exch + 0.25 sub round 0.25 add exch + itransform +} def +/setstrokeadjust where +{ + pop true setstrokeadjust + /c + { + curveto + } def + /C + /c load def + /v + { + currentpoint 6 2 roll curveto + } def + /V + /v load def + /y + { + 2 copy curveto + } def + /Y + /y load def + /l + { + lineto + } def + /L + /l load def + /m + { + moveto + } def +} +{ + /c + { + pl curveto + } def + /C + /c load def + /v + { + currentpoint 6 2 roll pl curveto + } def + /V + /v load def + /y + { + pl 2 copy curveto + } def + /Y + /y load def + /l + { + pl lineto + } def + /L + /l load def + /m + { + pl moveto + } def +} ifelse +/d +{ + setdash +} def +/cf +{ +} def +/i +{ + dup 0 eq + { + pop cf + } if + setflat +} def +/j +{ + setlinejoin +} def +/J +{ + setlinecap +} def +/M +{ + setmiterlimit +} def +/w +{ + setlinewidth +} def +/XR +{ + 0 ne + /_eo exch ddef +} def +/H +{ +} def +/h +{ + closepath +} def +/N +{ + _pola 0 eq + { + _doClip 1 eq + { + _eo {eoclip} {clip} ifelse /_doClip 0 ddef + } if + newpath + } + { + /CRender + { + N + } ddef + } ifelse +} def +/n +{ + N +} def +/F +{ + _pola 0 eq + { + _doClip 1 eq + { + gsave _pf grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _fc + /_doClip 0 ddef + } + { + _pf + } ifelse + } + { + /CRender + { + F + } ddef + } ifelse +} def +/f +{ + closepath + F +} def +/S +{ + _pola 0 eq + { + _doClip 1 eq + { + gsave _ps grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc + /_doClip 0 ddef + } + { + _ps + } ifelse + } + { + /CRender + { + S + } ddef + } ifelse +} def +/s +{ + closepath + S +} def +/B +{ + _pola 0 eq + { + _doClip 1 eq + gsave F grestore + { + gsave S grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc + /_doClip 0 ddef + } + { + S + } ifelse + } + { + /CRender + { + B + } ddef + } ifelse +} def +/b +{ + closepath + B +} def +/W +{ + /_doClip 1 ddef +} def +/* +{ + count 0 ne + { + dup type /stringtype eq + { + pop + } if + } if + newpath +} def +/u +{ +} def +/U +{ +} def +/q +{ + _pola 0 eq + { + gsave + } if +} def +/Q +{ + _pola 0 eq + { + grestore + } if +} def +/*u +{ + _pola 1 add /_pola exch ddef +} def +/*U +{ + _pola 1 sub /_pola exch ddef + _pola 0 eq + { + CRender + } if +} def +/D +{ + pop +} def +/*w +{ +} def +/*W +{ +} def +/` +{ + /_i save ddef + clipForward? + { + nulldevice + } if + 6 1 roll 4 npop + concat pop + userdict begin + /showpage + { + } def + 0 setgray + 0 setlinecap + 1 setlinewidth + 0 setlinejoin + 10 setmiterlimit + [] 0 setdash + /setstrokeadjust where {pop false setstrokeadjust} if + newpath + 0 setgray + false setoverprint +} def +/~ +{ + end + _i restore +} def +/_rgbtocmyk +{ + 3 + { + 1 exch sub 3 1 roll + } repeat + 3 copy 1 4 1 roll + 3 + { + 3 index 2 copy gt + { + exch + } if + pop 4 1 roll + } repeat + pop pop pop + 4 1 roll + 3 + { + 3 index sub + 3 1 roll + } repeat + 4 -1 roll +} def +/setrgbfill +{ + _rgbf astore pop + /_fc + { + _lp /fill ne + { + _of setoverprint + _rgbf aload pop setrgbcolor + /_lp /fill ddef + } if + } ddef + /_pf + { + _fc + _eo {eofill} {fill} ifelse + } ddef + /_psf + { + _fc + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } ddef + /_lp /none ddef +} def +/setrgbstroke +{ + _rgbs astore pop + /_sc + { + _lp /stroke ne + { + _os setoverprint + _rgbs aload pop setrgbcolor + /_lp /stroke ddef + } if + } ddef + /_ps + { + _sc + stroke + } ddef + /_pss + { + _sc + ss + } ddef + /_pjss + { + _sc + jss + } ddef + /_lp /none ddef +} def +/O +{ + 0 ne + /_of exch ddef + /_lp /none ddef +} def +/R +{ + 0 ne + /_os exch ddef + /_lp /none ddef +} def +/g +{ + /_gf exch ddef + /_fc + { + _lp /fill ne + { + _of setoverprint + _gf setgray + /_lp /fill ddef + } if + } ddef + /_pf + { + _fc + _eo {eofill} {fill} ifelse + } ddef + /_psf + { + _fc + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } ddef + /_lp /none ddef +} def +/G +{ + /_gs exch ddef + /_sc + { + _lp /stroke ne + { + _os setoverprint + _gs setgray + /_lp /stroke ddef + } if + } ddef + /_ps + { + _sc + stroke + } ddef + /_pss + { + _sc + ss + } ddef + /_pjss + { + _sc + jss + } ddef + /_lp /none ddef +} def +/k +{ + _cf astore pop + /_fc + { + _lp /fill ne + { + _of setoverprint + _cf aload pop setcmykcolor + /_lp /fill ddef + } if + } ddef + /_pf + { + _fc + _eo {eofill} {fill} ifelse + } ddef + /_psf + { + _fc + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } ddef + /_lp /none ddef +} def +/K +{ + _cs astore pop + /_sc + { + _lp /stroke ne + { + _os setoverprint + _cs aload pop setcmykcolor + /_lp /stroke ddef + } if + } ddef + /_ps + { + _sc + stroke + } ddef + /_pss + { + _sc + ss + } ddef + /_pjss + { + _sc + jss + } ddef + /_lp /none ddef +} def +/Xa +{ + _?cmyk { + 3 npop k + }{ + setrgbfill 4 npop + } ifelse +} def +/XA +{ + _?cmyk { + 3 npop K + }{ + setrgbstroke 4 npop + } ifelse +} def +/Xs +{ + /_gf exch ddef + 5 npop + /_fc + { + _lp /fill ne + { + _of setoverprint + _gf setAIseparationgray + /_lp /fill ddef + } if + } ddef + /_pf + { + _fc + _eo {eofill} {fill} ifelse + } ddef + /_psf + { + _fc + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } ddef + /_lp /none ddef +} def +/XS +{ + /_gs exch ddef + 5 npop + /_sc + { + _lp /stroke ne + { + _os setoverprint + _gs setAIseparationgray + /_lp /stroke ddef + } if + } ddef + /_ps + { + _sc + stroke + } ddef + /_pss + { + _sc + ss + } ddef + /_pjss + { + _sc + jss + } ddef + /_lp /none ddef +} def +/Xx +{ + exch + /_gf exch ddef + 0 eq { + findcmykcustomcolor + }{ + _?cmyk {true}{/findrgbcustomcolor where{pop false}{true}ifelse}ifelse + { + 4 1 roll 3 npop + findcmykcustomcolor + }{ + 8 -4 roll 4 npop + findrgbcustomcolor + } ifelse + } ifelse + /_if exch ddef + /_fc + { + _lp /fill ne + { + _of setoverprint + _if _gf 1 exch sub setcustomcolor + /_lp /fill ddef + } if + } ddef + /_pf + { + _fc + _eo {eofill} {fill} ifelse + } ddef + /_psf + { + _fc + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } ddef + /_lp /none ddef +} def +/XX +{ + exch + /_gs exch ddef + 0 eq { + findcmykcustomcolor + }{ + _?cmyk {true}{/findrgbcustomcolor where{pop false}{true}ifelse}ifelse + { + 4 1 roll 3 npop + findcmykcustomcolor + }{ + 8 -4 roll 4 npop + findrgbcustomcolor + } ifelse + } ifelse + /_is exch ddef + /_sc + { + _lp /stroke ne + { + _os setoverprint + _is _gs 1 exch sub setcustomcolor + /_lp /stroke ddef + } if + } ddef + /_ps + { + _sc + stroke + } ddef + /_pss + { + _sc + ss + } ddef + /_pjss + { + _sc + jss + } ddef + /_lp /none ddef +} def +/x +{ + /_gf exch ddef + findcmykcustomcolor + /_if exch ddef + /_fc + { + _lp /fill ne + { + _of setoverprint + _if _gf 1 exch sub setcustomcolor + /_lp /fill ddef + } if + } ddef + /_pf + { + _fc + _eo {eofill} {fill} ifelse + } ddef + /_psf + { + _fc + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } ddef + /_lp /none ddef +} def +/X +{ + /_gs exch ddef + findcmykcustomcolor + /_is exch ddef + /_sc + { + _lp /stroke ne + { + _os setoverprint + _is _gs 1 exch sub setcustomcolor + /_lp /stroke ddef + } if + } ddef + /_ps + { + _sc + stroke + } ddef + /_pss + { + _sc + ss + } ddef + /_pjss + { + _sc + jss + } ddef + /_lp /none ddef +} def +/XK +{ + 3 -1 roll pop + 0 eq + { + 1 exch sub + 3 {dup 3 1 roll mul 5 1 roll} repeat + mul 4 1 roll + K + } + { + 1 exch sub 4 1 roll + 3 {1 exch sub 3 index mul 1 exch sub 3 1 roll} repeat + 4 -1 roll pop + XA + } ifelse +} def +/Xk +{ + 3 -1 roll pop + 0 eq + { + 1 exch sub + 3 {dup 3 1 roll mul 5 1 roll} repeat + mul 4 1 roll + k + } + { + 1 exch sub 4 1 roll + 3 {1 exch sub 3 index mul 1 exch sub 3 1 roll} repeat + 4 -1 roll pop + Xa + } ifelse +} def +/A +{ + pop +} def +/annotatepage +{ +userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse +} def +/XT { + pop pop +} def +/Xt { + pop +} def +/discard +{ + save /discardSave exch store + discardDict begin + /endString exch store + gt38? + { + 2 add + } if + load + stopped + pop + end + discardSave restore +} bind def +userdict /discardDict 7 dict dup begin +put +/pre38Initialize +{ + /endStringLength endString length store + /newBuff buffer 0 endStringLength getinterval store + /newBuffButFirst newBuff 1 endStringLength 1 sub getinterval store + /newBuffLast newBuff endStringLength 1 sub 1 getinterval store +} def +/shiftBuffer +{ + newBuff 0 newBuffButFirst putinterval + newBuffLast 0 + currentfile read not + { + stop + } if + put +} def +0 +{ + pre38Initialize + mark + currentfile newBuff readstring exch pop + { + { + newBuff endString eq + { + cleartomark stop + } if + shiftBuffer + } loop + } + { + stop + } ifelse +} def +1 +{ + pre38Initialize + /beginString exch store + mark + currentfile newBuff readstring exch pop + { + { + newBuff beginString eq + { + /layerCount dup load 1 add store + } + { + newBuff endString eq + { + /layerCount dup load 1 sub store + layerCount 0 eq + { + cleartomark stop + } if + } if + } ifelse + shiftBuffer + } loop + } if +} def +2 +{ + mark + { + currentfile buffer {readline} stopped { + % assume error was due to overfilling the buffer + }{ + not + { + stop + } if + endString eq { + cleartomark stop + } if + }ifelse + } loop +} def +3 +{ + /beginString exch store + /layerCnt 1 store + mark + { + currentfile buffer {readline} stopped { + % assume error was due to overfilling the buffer + }{ + not + { + stop + } if + dup beginString eq + { + pop /layerCnt dup load 1 add store + } + { + endString eq + { + layerCnt 1 eq + { + cleartomark stop + } + { + /layerCnt dup load 1 sub store + } ifelse + } if + } ifelse + }ifelse + } loop +} def +end +userdict /clipRenderOff 15 dict dup begin +put +{ + /n /N /s /S /f /F /b /B +} +{ + { + _doClip 1 eq + { + /_doClip 0 ddef _eo {eoclip} {clip} ifelse + } if + newpath + } def +} forall +/Tr /pop load def +/Bb {} def +/BB /pop load def +/Bg {12 npop} def +/Bm {6 npop} def +/Bc /Bm load def +/Bh {4 npop} def +end +/Lb +{ + 6 npop + 7 2 roll + 5 npop + 0 eq + { + 0 eq + { + (%AI5_BeginLayer) 1 (%AI5_EndLayer--) discard + } + { + + /clipForward? true def + + /Tx /pop load def + /Tj /pop load def + + currentdict end clipRenderOff begin begin + } ifelse + } + { + 0 eq + { + save /discardSave exch store + } if + } ifelse +} bind def +/LB +{ + discardSave dup null ne + { + restore + } + { + pop + clipForward? + { + currentdict + end + end + begin + + /clipForward? false ddef + } if + } ifelse +} bind def +/Pb +{ + pop pop + 0 (%AI5_EndPalette) discard +} bind def +/Np +{ + 0 (%AI5_End_NonPrinting--) discard +} bind def +/Ln /pop load def +/Ap +/pop load def +/Ar +{ + 72 exch div + 0 dtransform dup mul exch dup mul add sqrt + dup 1 lt + { + pop 1 + } if + setflat +} def +/Mb +{ + q +} def +/Md +{ +} def +/MB +{ + Q +} def +/nc 4 dict def +nc begin +/setgray +{ + pop +} bind def +/setcmykcolor +{ + 4 npop +} bind def +/setrgbcolor +{ + 3 npop +} bind def +/setcustomcolor +{ + 2 npop +} bind def +currentdict readonly pop +end +/XP +{ + 4 npop +} bind def +/XD +{ + pop +} bind def +end +setpacking +%%EndResource +%%BeginResource: procset Adobe_pattern_AI5 1.1 0 +%%Title: (Adobe Illustrator (R) Version 5.0 Pattern Operators) +%%Version: 1.1 0 +%%CreationDate: (03/26/93) () +%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_Illustrator_AI5 known not { + userdict /Adobe_Illustrator_AI5 95 dict put +} if +userdict /Adobe_Illustrator_AI5 get begin +/@ +{ +} def +/& +{ +} def +/dp +{ + dup null eq + { + pop + _dp 0 ne + { + 0 1 _dp 1 sub _dl mod + { + _da exch get 3 get + } for + _dp 1 sub _dl mod 1 add packedarray + _da 0 get aload pop 8 -1 roll 5 -1 roll pop 4 1 roll + definepattern pop + } if + } + { + _dp 0 ne _dp _dl mod 0 eq and + { + null dp + } if + 7 packedarray _da exch _dp _dl mod exch put + _dp _dl mod _da 0 get 4 get 2 packedarray + /_dp _dp 1 add def + } ifelse +} def +/E +{ + _ed begin + dup 0 get type /arraytype ne + { + 0 + { + dup 1 add index type /arraytype eq + { + 1 add + } + { + exit + } ifelse + } loop + array astore + } if + /_dd exch def + /_ury exch def + /_urx exch def + /_lly exch def + /_llx exch def + /_n exch def + /_y 0 def + /_dl 4 def + /_dp 0 def + /_da _dl array def + 0 1 _dd length 1 sub + { + /_d exch _dd exch get def + 0 2 _d length 2 sub + { + /_x exch def + /_c false def + /_r _d _x 1 add get cvlit def + _r _ ne + { + _urx _llx sub _ury _lly sub + [ + 1 0 0 1 0 0 + ] + [ + /save cvx + _llx neg _lly neg /translate cvx + _c + { + nc /begin cvx + } if + _r dup type /stringtype eq + { + cvx + } + { + { + exec + } /forall cvx + } ifelse + _c + { + /end cvx + } if + /restore cvx + ] cvx + /_fn 12 _n length add string def + _y _fn cvs pop + /_y _y 1 add def + _fn 12 _n putinterval + _fn _c false dp + _d exch _x 1 add exch put + } if + } for + } for + null dp + _n _dd /_pd + end + xput +} def +/fc +{ + _fm dup concatmatrix pop +} def +/p +{ + /_fm exch ddef + 9 -2 roll _pm translate fc + 7 -2 roll _pm scale fc + 5 -1 roll _pm rotate fc + 4 -2 roll exch 0 ne + { + dup _pm rotate fc + 1 -1 _pm scale fc + neg _pm rotate fc + } + { + pop + } ifelse + dup _pm rotate fc + exch dup sin exch cos div 1 0 0 1 0 6 2 roll + _pm astore fc + neg _pm rotate fc + _pd exch get /_fdd exch ddef + /_pf + { + save + /_doClip 0 ddef + 0 1 _fdd length 1 sub + { + /_fd exch _fdd exch get ddef + _fd + 0 2 _fd length 2 sub + { + gsave + 2 copy get dup _ ne + { + cvx exec _fc + } + { + pop + } ifelse + 2 copy 1 add get dup _ ne + { + aload pop findfont _fm + patternfill + } + { + pop + fill + } ifelse + grestore + pop + } for + pop + } for + restore + newpath + } ddef + /_psf + { + save + /_doClip 0 ddef + 0 1 _fdd length 1 sub + { + /_fd exch _fdd exch get ddef + _fd + 0 2 _fd length 2 sub + { + gsave + 2 copy get dup _ ne + { + cvx exec _fc + } + { + pop + } ifelse + 2 copy 1 add get dup _ ne + { + aload pop findfont _fm + 9 copy 6 npop patternashow + } + { + pop + 6 copy 3 npop hvashow + } ifelse + grestore + pop + } for + pop + } for + restore + sw rmoveto + } ddef + /_pjsf + { + save + /_doClip 0 ddef + 0 1 _fdd length 1 sub + { + /_fd exch _fdd exch get ddef + _fd + 0 2 _fd length 2 sub + { + gsave + 2 copy get dup _ ne + { + cvx exec _fc + } + { + pop + } ifelse + 2 copy 1 add get dup _ ne + { + aload pop findfont _fm + 12 copy 6 npop patternawidthshow + } + { + pop 9 copy 3 npop hvawidthshow + } ifelse + grestore + pop + } for + pop + } for + restore + swj rmoveto + } ddef + /_lp /none ddef +} def +/sc +{ + _sm dup concatmatrix pop +} def +/P +{ + /_sm exch ddef + 9 -2 roll _pm translate sc + 7 -2 roll _pm scale sc + 5 -1 roll _pm rotate sc + 4 -2 roll exch 0 ne + { + dup _pm rotate sc + 1 -1 _pm scale sc + neg _pm rotate sc + } + { + pop + } ifelse + dup _pm rotate sc + exch dup sin exch cos div 1 0 0 1 0 6 2 roll + _pm astore sc + neg _pm rotate sc + _pd exch get /_sdd exch ddef + /_ps + { + save + /_doClip 0 ddef + 0 1 _sdd length 1 sub + { + /_sd exch _sdd exch get ddef + _sd + 0 2 _sd length 2 sub + { + gsave + 2 copy get dup _ ne + { + cvx exec _sc + } + { + pop + } ifelse + 2 copy 1 add get dup _ ne + { + aload pop findfont _sm + patternstroke + } + { + pop stroke + } ifelse + grestore + pop + } for + pop + } for + restore + newpath + } ddef + /_pss + { + save + /_doClip 0 ddef + 0 1 _sdd length 1 sub + { + /_sd exch _sdd exch get ddef + _sd + 0 2 _sd length 2 sub + { + gsave + 2 copy get dup _ ne + { + cvx exec _sc + } + { + pop + } ifelse + 2 copy 1 add get dup _ ne + { + aload pop findfont _sm + 10 copy 6 npop patternashowstroke + } + { + pop 7 copy 3 npop ss + } ifelse + grestore + pop + } for + pop + } for + restore + pop sw rmoveto + } ddef + /_pjss + { + save + /_doClip 0 ddef + 0 1 _sdd length 1 sub + { + /_sd exch _sdd exch get ddef + _sd + 0 2 _sd length 2 sub + { + gsave + 2 copy get dup _ ne + { + cvx exec _sc + } + { + pop + } ifelse + 2 copy 1 add get dup _ ne + { + aload pop findfont _sm + 13 copy 6 npop patternawidthshowstroke + } + { + pop 10 copy 3 npop jss + } ifelse + grestore + pop + } for + pop + } for + restore + pop swj rmoveto + } ddef + /_lp /none ddef +} def +end +userdict /Adobe_pattern_AI5 18 dict dup begin +put +/initialize +{ + /definepattern where + { + pop + pop pop + } + { + begin + begin + Adobe_pattern_AI5 begin + Adobe_pattern_AI5 + { + dup xcheck + { + bind + } if + pop pop + } forall + mark + cachestatus 7 1 roll pop pop pop pop exch pop exch + { + { + 10000 add + dup 2 index gt + { + exit + } if + dup setcachelimit + } loop + } stopped + cleartomark + end + + end + end + + Adobe_pattern_AI5 begin + } ifelse +} def +/terminate +{ + currentdict Adobe_pattern_AI5 eq + { + end + } if +} def +errordict +/nocurrentpoint +{ + pop + stop +} put +errordict +/invalidaccess +{ + pop + stop +} put +/patternencoding +256 array def +0 1 255 +{ + patternencoding exch ( ) 2 copy exch 0 exch put cvn put +} for +/definepattern +{ + 17 dict begin + /uniform exch def + /cache exch def + /key exch def + /procarray exch def + /mtx exch matrix invertmatrix def + /height exch def + /width exch def + /ctm matrix currentmatrix def + /ptm matrix def + /str 32 string def + /slice 9 dict def + slice /s 1 put + slice /q 256 procarray length div sqrt floor cvi put + slice /b 0 put + /FontBBox + [ + 0 0 0 0 + ] def + /FontMatrix mtx matrix copy def + /Encoding patternencoding def + /FontType 3 def + /BuildChar + { + exch + begin + /setstrokeadjust where {pop true setstrokeadjust} if + slice begin + dup q dup mul mod s idiv /i exch def + dup q dup mul mod s mod /j exch def + q dup mul idiv procarray exch get + /xl j width s div mul def + /xg j 1 add width s div mul def + /yl i height s div mul def + /yg i 1 add height s div mul def + uniform + { + 1 1 + } + { + width 0 dtransform + dup mul exch dup mul add sqrt dup 1 add exch div + 0 height dtransform + dup mul exch dup mul add sqrt dup 1 add exch div + } ifelse + width 0 cache + { + xl 4 index mul yl 4 index mul xg 6 index mul yg 6 index mul + setcachedevice + } + { + setcharwidth + } ifelse + gsave + scale + newpath + xl yl moveto + xg yl lineto + xg yg lineto + xl yg lineto + closepath + clip + newpath + end + end + exec + grestore + } def + key currentdict definefont + end +} def +/patterncachesize +{ + gsave + newpath + 0 0 moveto + width 0 lineto + width height lineto + 0 height lineto + closepath + patternmatrix setmatrix + pathbbox + exch ceiling 4 -1 roll floor sub 3 1 roll + ceiling exch floor sub + mul 1 add + grestore +} def +/patterncachelimit +{ + cachestatus 7 1 roll 6 npop 8 mul +} def +/patternpath +{ + exch dup begin + setfont + ctm setmatrix + concat + slice exch /b exch slice /q get dup mul mul put + FontMatrix concat + uniform + { + width 0 dtransform round width div exch round width div exch + 0 height dtransform round height div exch height div exch + 0 0 transform round exch round exch + ptm astore setmatrix + } + { + ptm currentmatrix pop + } ifelse + { + currentpoint + } stopped not + { + 2 npop + pathbbox + true + 4 index 3 index eq + 4 index 3 index eq + and + { + pop false + { + { + 2 npop + } + { + 3 npop true + } + { + 7 npop true + } + { + pop true + } pathforall + } stopped + { + 5 npop true + } if + } if + { + height div ceiling height mul 4 1 roll + width div ceiling width mul 4 1 roll + height div floor height mul 4 1 roll + width div floor width mul 4 1 roll + 2 index sub height div ceiling cvi exch + 3 index sub width div ceiling cvi exch + 4 2 roll moveto + FontMatrix mtx invertmatrix + dup dup 4 get exch 5 get rmoveto + ptm ptm concatmatrix pop + slice /s + patterncachesize patterncachelimit div ceiling sqrt ceiling cvi + dup slice /q get gt + { + pop slice /q get + } if + put + 0 1 slice /s get dup mul 1 sub + { + slice /b get add + gsave + 0 1 str length 1 sub + { + str exch 2 index put + } for + pop + dup + { + gsave + ptm setmatrix + 1 index str length idiv + { + str show + } repeat + 1 index str length mod str exch 0 exch getinterval show + grestore + 0 height rmoveto + } repeat + grestore + } for + 2 npop + } + { + 4 npop + } ifelse + } if + end +} def +/patternclip +{ + _eo {eoclip} {clip} ifelse +} def +/patternstrokepath +{ + strokepath +} def +/patternmatrix +matrix def +/patternfill +{ + dup type /dicttype eq + { + Adobe_pattern_AI5 /patternmatrix get + } if + gsave + patternclip + Adobe_pattern_AI5 /patternpath get exec + grestore + newpath +} def +/patternstroke +{ + dup type /dicttype eq + { + Adobe_pattern_AI5 /patternmatrix get + } if + gsave + patternstrokepath + true + { + { + { + newpath + moveto + } + { + lineto + } + { + curveto + } + { + closepath + 3 copy + Adobe_pattern_AI5 /patternfill get exec + } pathforall + 3 npop + } stopped + { + 5 npop + patternclip + Adobe_pattern_AI5 /patternfill get exec + } if + } + { + patternclip + Adobe_pattern_AI5 /patternfill get exec + } ifelse + grestore + newpath +} def +/vpatternawidthshow +{ + 6 1 roll + /_hvay exch ddef + /_hvax exch ddef + /_hvwb exch ddef + /_hvcy exch ddef + /_hvcx exch ddef + + { + dup cstring + dup length 1 eq + _charorientation 1 eq + and + { + -90 rotate + currentpoint + _fontRotateAdjust add + moveto + gsave + false charpath currentpoint + 5 index 5 index 5 index Adobe_pattern_AI5 /patternfill get exec + grestore + _fontRotateAdjust sub + moveto + _hvwb eq { _hvcx _hvcy rmoveto } if + _hvax _hvay rmoveto + 90 rotate + } + { + currentpoint + _fontHeight sub + _hvax sub + 3 index _hvwb eq { _hvcx sub } if + currentpoint + exch 4 index stringwidth pop 2 div sub + exch _fontAscent sub + moveto + gsave + 2 index false charpath + 6 index 6 index 6 index Adobe_pattern_AI5 /patternfill get exec + grestore + newpath moveto pop pop + } ifelse + } cforall + 3 npop +} def +/hpatternawidthshow +{ + { + dup cstring exch + gsave + 3 index eq { 5 index 5 index rmoveto } if + false charpath currentpoint + 9 index 9 index 9 index + Adobe_pattern_AI5 /patternfill get exec + grestore + newpath moveto + 2 copy rmoveto + } cforall + 8 npop +} def +/patternashow +{ +0 0 0 6 3 roll +patternawidthshow +} def +/patternawidthshow +{ + 6 index type /dicttype eq + { + Adobe_pattern_AI5 /patternmatrix get 7 1 roll + } if + _lineorientation 0 eq { hpatternawidthshow } { vpatternawidthshow } ifelse +} def +/vpatternawidthshowstroke +{ + 7 1 roll + 6 1 roll + /_hvay exch ddef + /_hvax exch ddef + /_hvwb exch ddef + /_hvcy exch ddef + /_hvcx exch ddef + { + dup cstring + dup length 1 eq + _charorientation 1 eq + and + { + -90 rotate + currentpoint + _fontRotateAdjust add + moveto + gsave + false charpath currentpoint + 3 index setmatrix + 6 index 6 index 6 index Adobe_pattern_AI5 /patternstroke get exec + grestore + _fontRotateAdjust sub + moveto + _hvwb eq { _hvcx _hvcy rmoveto } if + _hvax _hvay rmoveto + 90 rotate + } + { + currentpoint + _fontHeight sub + _hvax sub + 3 index _hvwb eq { _hvcx sub } if + currentpoint + exch 4 index stringwidth pop 2 div sub + exch _fontAscent sub + moveto + gsave + 2 index false charpath + 4 index setmatrix + 7 index 7 index 7 index Adobe_pattern_AI5 /patternstroke get exec + grestore + newpath moveto pop pop + } ifelse + } cforall + 4 npop +} def +/hpatternawidthshowstroke +{ + 7 1 roll + { + dup cstring exch + gsave + 3 index eq { 5 index 5 index rmoveto } if + false charpath currentpoint + 7 index setmatrix + 10 index 10 index 10 index + Adobe_pattern_AI5 /patternstroke get exec + grestore + newpath moveto + 2 copy rmoveto + } cforall + 9 npop +} def +/patternashowstroke +{ + 0 0 0 7 3 roll + patternawidthshowstroke +} def +/patternawidthshowstroke +{ + 7 index type /dicttype eq + { + patternmatrix /patternmatrix get 8 1 roll + } if + _lineorientation 0 eq { hpatternawidthshowstroke } { vpatternawidthshowstroke } ifelse +} def +end +setpacking +%%EndResource +%%BeginResource: procset Adobe_cshow 2.0 8 +%%Title: (Writing System Operators) +%%Version: 2.0 8 +%%CreationDate: (1/23/89) () +%%Copyright: ((C) 1992-1996 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_cshow 14 dict dup begin put +/initialize +{ + Adobe_cshow begin + Adobe_cshow + { + dup xcheck + { + bind + } if + pop pop + } forall + end + Adobe_cshow begin +} def +/terminate +{ +currentdict Adobe_cshow eq + { + end + } if +} def +/cforall +{ + /_lobyte 0 ddef + /_hibyte 0 ddef + /_cproc exch ddef + /_cscript currentfont /FontScript known { currentfont /FontScript get } { -1 } ifelse ddef + { + /_lobyte exch ddef + _hibyte 0 eq + _cscript 1 eq + _lobyte 129 ge _lobyte 159 le and + _lobyte 224 ge _lobyte 252 le and or and + _cscript 2 eq + _lobyte 161 ge _lobyte 254 le and and + _cscript 3 eq + _lobyte 161 ge _lobyte 254 le and and + _cscript 25 eq + _lobyte 161 ge _lobyte 254 le and and + _cscript -1 eq + or or or or and + { + /_hibyte _lobyte ddef + } + { + _hibyte 256 mul _lobyte add + _cproc + /_hibyte 0 ddef + } ifelse + } forall +} def +/cstring +{ + dup 256 lt + { + (s) dup 0 4 3 roll put + } + { + dup 256 idiv exch 256 mod + (hl) dup dup 0 6 5 roll put 1 4 3 roll put + } ifelse +} def +/clength +{ + 0 exch + { 256 lt { 1 } { 2 } ifelse add } cforall +} def +/hawidthshow +{ + { + dup cstring + show + _hvax _hvay rmoveto + _hvwb eq { _hvcx _hvcy rmoveto } if + } cforall +} def +/vawidthshow +{ + { + dup 255 le + _charorientation 1 eq + and + { + -90 rotate + 0 _fontRotateAdjust rmoveto + cstring + _hvcx _hvcy _hvwb _hvax _hvay 6 -1 roll awidthshow + 0 _fontRotateAdjust neg rmoveto + 90 rotate + } + { + currentpoint + _fontHeight sub + exch _hvay sub exch _hvax sub + 2 index _hvwb eq { exch _hvcy sub exch _hvcx sub } if + 3 2 roll + cstring + dup stringwidth pop 2 div neg _fontAscent neg rmoveto + show + moveto + } ifelse + } cforall +} def +/hvawidthshow +{ + 6 1 roll + /_hvay exch ddef + /_hvax exch ddef + /_hvwb exch ddef + /_hvcy exch ddef + /_hvcx exch ddef + _lineorientation 0 eq { hawidthshow } { vawidthshow } ifelse +} def +/hvwidthshow +{ + 0 0 3 -1 roll hvawidthshow +} def +/hvashow +{ + 0 0 0 6 -3 roll hvawidthshow +} def +/hvshow +{ + 0 0 0 0 0 6 -1 roll hvawidthshow +} def +currentdict readonly pop end +setpacking +%%EndResource +%%BeginResource: procset Adobe_shading_AI8 1.0 0 +%%Title: (Adobe Illustrator 8 Shading Procset) +%%Version: 1.0 0 +%%CreationDate: (12/17/97) () +%%Copyright: ((C) 1987-1997 Adobe Systems Incorporated All Rights Reserved) +userdict /defaultpacking currentpacking put true setpacking +userdict /Adobe_shading_AI8 10 dict dup begin put +/initialize { + Adobe_shading_AI8 begin + Adobe_shading_AI8 bdprocs + Mesh /initialize get exec +} def +/terminate { + currentdict Adobe_shading_AI8 eq { + end + } if +} def +/bdprocs { + { + dup xcheck 1 index type /arraytype eq and { + bind + } if + pop pop + } forall +} def +/X! {pop} def +/X# {pop pop} def +/Mesh 40 dict def +Mesh begin +/initialize { + Mesh bdprocs + Mesh begin + /emulate? /AI8MeshEmulation where { + pop AI8MeshEmulation + }{ + systemdict /shfill known not + } ifelse def + end +} def +/bd { + shadingdict begin +} def +/paint { + emulate? { + end + }{ + /_lp /none ddef _fc /_lp /none ddef + + /AIColorSpace AIColorSpace tocolorspace store + /ColorSpace AIColorSpace topsspace store + + version_ge_3010.106 not systemdict /setsmoothness known and { + 0.0001 setsmoothness + } if + + composite? { + /DataSource getdatasrc def + Matrix concat + currentdict end + shfill + }{ + AIColorSpace makesmarks AIPlateList markingplate and not isoverprint and { + end + }{ + /ColorSpace /DeviceGray store + /Decode [0 1 0 1 0 1] store + /DataSource getplatesrc def + Matrix concat + currentdict end + shfill + } ifelse + } ifelse + } ifelse +} def +/shadingdict 12 dict def +shadingdict begin + /ShadingType 6 def + /BitsPerCoordinate 16 def + /BitsPerComponent 8 def + /BitsPerFlag 8 def +end +/datafile null def +/databuf 256 string def +/dataptr 0 def +/srcspace null def +/srcchannels 0 def +/dstchannels 0 def +/dstplate 0 def +/srctodstcolor null def +/getplatesrc { + /srcspace AIColorSpace store + /srcchannels AIColorSpace getnchannels store + /dstchannels 1 store + /dstplate getplateindex store + /srctodstcolor srcspace makesmarks { + dstplate 4 eq { + {1 exch sub} + }{ + {srcspace tocmyk 3 dstplate sub index 1 exch sub 5 1 roll 4 {pop} repeat} + } ifelse + }{ + {srcchannels {pop} repeat 1} + } ifelse store + /datafile getdatasrc store + /rdpatch168 load DataLength () /SubFileDecode filter +} def +/getdatasrc { + /rdcmntline load /ASCII85Decode filter +} def +/rdpatch168 { + /dataptr 0 store + 49 rdcount + 4 { + dup {pop srcchannels getint8} if + dup {pop srctodstcolor dstchannels putint8 true} if + } repeat + {databuf 0 dataptr getinterval}{()} ifelse +} def +/rdpatch3216 { + /dataptr 0 store + 97 rdcount + 4 { + dup {pop srcchannels getint16} if + dup {pop srctodstcolor dstchannels putint16 true} if + } repeat + {databuf 0 dataptr getinterval}{()} ifelse +} def +/rdcount { + dup 0 gt { + datafile databuf dataptr 4 -1 roll getinterval readstring + exch length dataptr add /dataptr exch store + }{ + true + } ifelse +} def +/getint8 { + mark true 3 -1 roll + { + dup {pop datafile read} if + dup {pop 255 div true} if + } repeat + { + counttomark 1 add -1 roll pop true + }{ + cleartomark false + } ifelse +} def +/putint8 { + dup dataptr add /dataptr exch store + dataptr exch + { + 1 sub exch + 255 mul cvi + databuf 2 index + 3 -1 roll put + } repeat + pop +} def +/getint16 { + mark true 3 -1 roll + { + dup {pop datafile read} if + dup {pop 256 mul datafile read} if + dup {pop add 65535 div true} if + } repeat + { + counttomark 1 add -1 roll pop true + }{ + cleartomark false + } ifelse +} def +/putint16 { + dup 2 mul dataptr add /dataptr exch store + dataptr exch + { + 2 sub exch + 65535 mul cvi dup + 256 idiv databuf 3 index 3 -1 roll put + 256 mod databuf 2 index 1 add 3 -1 roll put + } repeat + pop +} def +/srcbuf 256 string def +/rdcmntline { + currentfile srcbuf readline pop + (%) anchorsearch {pop} if +} def +/getplateindex { + 0 [cyan? magenta? yellow? black? customColor?] {{exit} if 1 add} forall +} def +/aicsarray 4 array def +/aicsaltvals 4 array def +/aicsaltcolr aicsaltvals def +/tocolorspace { + dup type /arraytype eq { + mark exch aload pop + aicsarray 0 3 -1 roll put + aicsarray 1 3 -1 roll put + dup aicsarray 2 3 -1 roll put + gettintxform aicsarray 3 3 -1 roll put + counttomark aicsaltvals 0 3 -1 roll getinterval /aicsaltcolr exch store + aicsaltcolr astore pop pop + aicsarray + } if +} def +/subtintxform {aicsaltcolr {1 index mul exch} forall pop} def +/addtintxform {aicsaltcolr {1 sub 1 index mul 1 add exch} forall pop} def +/gettintxform { + /DeviceRGB eq {/addtintxform}{/subtintxform} ifelse load +} def +/getnchannels { + dup type /arraytype eq {0 get} if + colorspacedict exch get begin Channels end +} def +/makesmarks { + composite? { + pop true + }{ + dup dup type /arraytype eq {0 get} if + colorspacedict exch get begin MarksPlate end + } ifelse +} def +/markingplate { + composite? { + pop true + }{ + dup type /arraytype eq { + dup length getplateindex gt {getplateindex get}{pop false} ifelse + } if + } ifelse +} def +/tocmyk { + dup dup type /arraytype eq {0 get} if + colorspacedict exch get begin ToCMYK end +} def +/topsspace { + dup dup type /arraytype eq {0 get} if + colorspacedict exch get begin ToPSSpace end +} def +/colorspacedict 5 dict dup begin + /DeviceGray 4 dict dup begin + /Channels 1 def + /MarksPlate {pop black?} def + /ToCMYK {pop 1 exch sub 0 0 0 4 -1 roll} def + /ToPSSpace {} def + end def + /DeviceRGB 4 dict dup begin + /Channels 3 def + /MarksPlate {pop isCMYKSep?} def + /ToCMYK {pop _rgbtocmyk} def + /ToPSSpace {} def + end def + /DeviceCMYK 4 dict dup begin + /Channels 4 def + /MarksPlate {pop isCMYKSep?} def + /ToCMYK {pop} def + /ToPSSpace {} def + end def + /Separation 4 dict dup begin + /Channels 1 def + /MarksPlate { + /findcmykcustomcolor where { + pop dup 1 exch ToCMYK 5 -1 roll 1 get + findcmykcustomcolor 1 setcustomcolor + systemdict /currentgray get exec + 1 ne + }{ + pop false + } ifelse + } def + /ToCMYK { + dup 2 get mark exch 4 2 roll + 3 get exec + counttomark -1 roll tocmyk + 5 -1 roll pop + } def + /ToPSSpace {} def + end def + /Process 4 dict dup begin + /Channels 1 def + /MarksPlate { + isCMYKSep? { + 1 exch ToCMYK 4 array astore getplateindex get 0 ne + }{ + pop false + } ifelse + } def + /ToCMYK { + dup 2 get mark exch 4 2 roll + 3 get exec + counttomark -1 roll tocmyk + 5 -1 roll pop + } def + /ToPSSpace { + 4 array copy dup 0 /Separation put + } def + end def +end def +/isoverprint { + /currentoverprint where {pop currentoverprint}{_of} ifelse +} def +/version_ge_3010.106 { + version {cvr} stopped { + pop + false + }{ + 3010.106 ge + } ifelse +} def +end +end +defaultpacking setpacking +%%EndResource +%%EndProlog +%%BeginSetup +userdict /_useSmoothShade true put +userdict /_aicmykps false put +userdict /_forceToCMYK false put +Adobe_level2_AI5 /initialize get exec +Adobe_cshow /initialize get exec +Adobe_screens_AI5 /initialize get exec +Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 AGM_Gradient /initializeAI get exec +Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_pattern_AI5 /initialize get exec +Adobe_ColorImage_AI6 /initialize get exec +Adobe_shading_AI8 /initialize get exec +Adobe_Illustrator_AI5 /initialize get exec +%AI5_Begin_NonPrinting +Np +%AI8_PluginGroupInfo +(Adobe Flare Plugin) (Flare) (flare.aip) +%AI8_PluginGroupInfo +(Adobe Deform Plugin) (Adobe H\374llen-Zusatzmodul) (Envelope and Warp.aip) +%AI8_PluginGroupInfo +(Adobe Planar Group) (Adobe-Zusatzmodul Interaktiv malen) (Live Paint.aip) +%AI8_PluginGroupInfo +(Adobe Perspective Plugin Group) (Adobe Perspective Plugin Group) (Perspective.aip) +%AI8_PluginGroupInfo +(Adobe Vectorized Object) (Nachgezeichnetes Bild) (Illustrator.exe) +%AI8_PluginGroupInfo +(Adobe Path Blends) (Adobe Angleichungen-Zusatzmodul) (Live Blends.aip) +%AI8_PluginGroupInfo +(Adobe Symbolism) (Adobe Symbolism) (Symbolism.aip) +%AI8_PluginGroupInfo +(Adobe PatternOnPath Brush Tool) (Adobe Musterpinsel-Zusatzmodul) (ArtOnPath.aip) +%AI8_PluginGroupInfo +(Adobe PatternOnPath Brush Tool) (Adobe Musterpinsel-Zusatzmodul) (ArtOnPath.aip) +%AI8_PluginGroupInfo +(Adobe ArtOnPath Brush Tool) (Adobe Bildpinsel-Zusatzmodul) (ArtOnPath.aip) +%AI8_PluginGroupInfo +(Adobe ArtOnPath Brush Tool) (Adobe Bildpinsel-Zusatzmodul) (ArtOnPath.aip) +%AI8_PluginGroupInfo +(Adobe Calligraphic Brush Tool) (Adobe Kalligrafiepinsel-Zusatzmodul) (Calligraphic Brush Tool.aip) +%AI8_PluginGroupInfo +(Adobe Scatter Brush Tool) (Adobe Spezialpinsel-Zusatzmodul) (Scatter Brush Tool.aip) +%AI8_PluginGroupInfo +(Adobe Scatter Brush Tool) (Adobe Spezialpinsel-Zusatzmodul) (Scatter Brush Tool.aip) +%AI8_PluginGroupInfo +(Adobe Pattern Editor Plugin Group) (Adobe Pattern Editor Plugin Group) (Swatch Libraries.aip) +%AI8_PluginGroupInfo +(Pathfinder Suite) (Adobe Zusammengesetzte Form) (PathFinder Suite.aip) +%AI5_End_NonPrinting-- +%AI5_Begin_NonPrinting +Np +13 Bn +%AI5_BeginGradient: (Orange, Gelb) +(Orange, Gelb) 0 5 Bd +[ +< +05050505050505050505050505050505050505050505050505050505060606060606060606060606 +0606060606 +> +< +BBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3 +E4E5E6E7E8 +> +< +D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4D4 +D4D4D4D4D4 +> +0 +1 %_Br +< +03030303030303030303030303030404040404040404040404040404040404040404040404040404 +040404040404040405050505050505 +> +< +8485868788898A8B8C8D8E8F9091929495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABAC +ADAEAFB0B1B2B3B4B5B6B7B8B9BABB +> +< +D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6 +D6D6D6D6D6D6D6D6D6D5D5D5D5D5D5 +> +0 +1 %_Br +< +02020202020202020202020202020202020202020202020202020202020202020202020202020202 +020202020202020303030303030303030303030303030303030303030303030303030303 +> +< +38393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051525455565758595A5B5C5D5E5F60 +6162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F8081828384 +> +< +FFFEFEFDFDFCFCFBFBFAFAF9F9F8F8F7F7F6F5F5F4F4F3F3F2F2F1F1F0F0EFEFEEEEEDECECEBEBEA +EAE9E9E8E8E7E7E6E6E5E5E4E4E3E2E2E1E1E0E0DFDFDEDEDDDDDCDCDBDBDAD9D9D8D8D7 +> +0 +1 %_Br +< +00000000000000000000000000000000000000000101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +0101010101010101010101010102020202020202020202020202020202020202020202020202 +> +< +000102030405060708090A0B0B0C0D0E0F101112121314151616171819191A1B1C1C1D1E1E1F2020 +212222232324252526262727282829292A2A2B2B2C2C2D2D2E2E2E2F2F3030303131313232323333 +3333343434343535353536363636363637373737373737373838383838383838383838383838 +> +< +DBDCDDDDDEDEDFE0E0E1E1E2E3E3E4E4E5E5E6E6E7E7E8E9E9EAEAEAEBEBECECEDEDEEEEEFEFEFF0 +F0F1F1F1F2F2F3F3F3F4F4F4F5F5F5F6F6F6F7F7F7F7F8F8F8F9F9F9F9FAFAFAFAFAFBFBFBFBFBFC +FCFCFCFCFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +> +0 +1 %_Br +[ +0.0235 0.91 0.83 0 1 50 100 %_BS +%_0.0235 0.91 0.83 0 1 50 100 Bs +0.0184 0.7341 0.8365 0 1 50 88.764 %_BS +%_0.0184 0.7341 0.8365 0 1 50 88.764 Bs +0.0121 0.5186 0.8445 0 1 50 66.8539 %_BS +%_0.0121 0.5186 0.8445 0 1 50 66.8539 Bs +0.0061 0.22 1 0 1 50 28.0899 %_BS +%_0.0061 0.22 1 0 1 50 28.0899 Bs +0 0 0.86 0 1 28 0 %_BS +%_0 0 0.86 0 1 28 0 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Sehr weiche schwarze Vignette) +(Sehr weiche schwarze Vignette) 1 3 Bd +[ +0.2 +0.2 +0.2 +1 +1 %_Br +0.2 +0.2 +0.2 +1 +1 %_Br +[ +0.2 0.2 0.2 1 1 56.0729 57.4443 %_BS +%_0.2 0.2 0.2 1 1 56.0729 57.4443 Bs +0.2 0.2 0.2 1 1 31.8603 79.7713 %_BS +%_0.2 0.2 0.2 1 1 31.8603 79.7713 Bs +0.2 0.2 0.2 1 1 50 100 %_BS +%_0.2 0.2 0.2 1 1 50 100 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Unnamed gradient 14) +(Unnamed gradient 14) 1 4 Bd +[ +< +000102030405060708090A0B0C0D0E0F10111212131415161718191A1B1C1D1D1E1F202122232425 +25262728292A2B2B2C2D2E2F303031323334353536373839393A3B3C3C3D3E3F3F40414242434445 +4546474848494A4A4B4C4D4D4E4F4F5051515253535455555656575858595A5A5B5B5C5D5D5E5E5F +5F6061616262636364646566666767686869696A6A6B6B6C6C6D6D6D6E6E6F6F7070717171727273 +737374747575757676767777777878787979797A7A7A7B7B7B7B7C7C7C7C7D7D7D7D7E7E7E7E7E7F +7F7F7F7F8080808080808080818181818181818181 +> +< +000001010102020203030304040404050505060606070707080808080909090A0A0A0A0B0B0B0C0C +0C0C0D0D0D0E0E0E0E0F0F0F10101010111111111212121213131313141414141515151516161616 +171717171818181818191919191A1A1A1A1A1B1B1B1B1C1C1C1C1C1D1D1D1D1D1E1E1E1E1E1F1F1F +1F1F1F20202020202121212121212222222222222323232323232324242424242424252525252525 +25262626262626262627272727272727272728282828282828282828282929292929292929292929 +292929292A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A +> +< +00000000000000000101010101010101010101010101010202020202020202020202020202020203 +03030303030303030303030303030303040404040404040404040404040404040404050505050505 +05050505050505050505050505050606060606060606060606060606060606060606060607070707 +07070707070707070707070707070707070707070707070808080808080808080808080808080808 +08080808080808080808080808080808080808080909090909090909090909090909090909090909 +090909090909090909090909090909090909090909 +> +< +00000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +010101010101010101010101010101010101010101 +> +1 %_Br +< +8182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 +A9AAABACADAEAFB0B1B2B3B4B5B6B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1 +D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECED +> +< +2A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +52535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576777879 +7A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +> +< +09090909090909090909090909090909090908080808080808080808080808080808080808080808 +08080808080808080808080808080707070707070707070707070707070707070707070707070707 +07070707070707070706060606060606060606060606060606060606 +> +< +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000 +> +1 %_Br +< +EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE +EEEEEEEEEEEEEEEEEEEEEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEF +EFF0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 +> +< +95959696969797979898989999999A9A9A9B9B9B9C9C9C9D9D9D9E9E9F9F9FA0A0A0A1A1A1A2A2A3 +A3A3A4A4A4A5A5A5A6A6A7A7A7A8A8A8A9A9AAAAAAABABABACACADADADAEAEAEAFAFB0B0B0B1B1B1 +B2B2B3B3B3B4B4B5B5B5B6B6B6B7B7B8B8 +> +< +06070708090A0B0C0C0D0E0F10111213141415161718191A1B1C1D1E1E1F20212223242526272829 +2A2B2C2C2D2E2F303132333435363738393A3B3C3D3E3F40414243444445464748494A4B4C4D4E4F +505152535455565758595A5B5C5D5E5F60 +> +< +0001020203040506070708090A0B0C0D0E0F0F101112131415161718191A1B1C1C1D1E1F20212223 +2425262728292A2B2C2D2E2F30313232333435363738393A3B3C3D3E3F404142434445464748494A +4B4C4D4E4F505152535455565758595A5B +> +1 %_Br +[ +0 0 0 0 1 33.3333 0 %_BS +%_0 0 0 0 1 33.3333 0 Bs +0.5059 0.1647 0.0353 0.0039 1 50 29.2135 %_BS +%_0.5059 0.1647 0.0353 0.0039 1 50 29.2135 Bs +0.9294 0.5843 0.0235 0 1 51.9231 64.6067 %_BS +%_0.9294 0.5843 0.0235 0 1 51.9231 64.6067 Bs +0.9412 0.7216 0.3765 0.3569 1 51.9231 100 %_BS +%_0.9412 0.7216 0.3765 0.3569 1 51.9231 100 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Unnamed gradient 18) +(Unnamed gradient 18) 1 4 Bd +[ +< +000102030405060708090A0B0C0D0E0F10111212131415161718191A1B1C1D1D1E1F202122232425 +25262728292A2B2B2C2D2E2F303031323334353536373839393A3B3C3C3D3E3F3F40414242434445 +4546474848494A4A4B4C4D4D4E4F4F5051515253535455555656575858595A5A5B5B5C5D5D5E5E5F +5F6061616262636364646566666767686869696A6A6B6B6C6C6D6D6D6E6E6F6F7070717171727273 +737374747575757676767777777878787979797A7A7A7B7B7B7B7C7C7C7C7D7D7D7D7E7E7E7E7E7F +7F7F7F7F8080808080808080818181818181818181 +> +< +000001010102020203030304040404050505060606070707080808080909090A0A0A0A0B0B0B0C0C +0C0C0D0D0D0E0E0E0E0F0F0F10101010111111111212121213131313141414141515151516161616 +171717171818181818191919191A1A1A1A1A1B1B1B1B1C1C1C1C1C1D1D1D1D1D1E1E1E1E1E1F1F1F +1F1F1F20202020202121212121212222222222222323232323232324242424242424252525252525 +25262626262626262627272727272727272728282828282828282828282929292929292929292929 +292929292A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A +> +< +00000000000000000101010101010101010101010101010202020202020202020202020202020203 +03030303030303030303030303030303040404040404040404040404040404040404050505050505 +05050505050505050505050505050606060606060606060606060606060606060606060607070707 +07070707070707070707070707070707070707070707070808080808080808080808080808080808 +08080808080808080808080808080808080808080909090909090909090909090909090909090909 +090909090909090909090909090909090909090909 +> +< +00000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +010101010101010101010101010101010101010101 +> +1 %_Br +< +8182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 +A9AAABACADAEAFB0B1B2B3B4B5B6B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1 +D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECED +> +< +2A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +52535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576777879 +7A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +> +< +09090909090909090909090909090909090908080808080808080808080808080808080808080808 +08080808080808080808080808080707070707070707070707070707070707070707070707070707 +07070707070707070706060606060606060606060606060606060606 +> +< +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000 +> +1 %_Br +< +EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED +EDEDEDEDEDEDEDEDEDEDECECECECECECECECECECECECECECECECECECECECECECECECECECECECECEC +ECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECEC +ECECECECECECECECECECECECECECECECECECECECECEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB +EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB +> +< +959595969696969697979797979898989899999999999A9A9A9A9B9B9B9B9B9C9C9C9C9D9D9D9D9E +9E9E9E9E9F9F9F9FA0A0A0A0A1A1A1A1A2A2A2A2A2A3A3A3A3A4A4A4A4A5A5A5A5A6A6A6A6A7A7A7 +A7A7A8A8A8A8A9A9A9A9AAAAAAAAABABABABACACACACADADADADAEAEAEAEAFAFAFAFB0B0B0B0B1B1 +B1B1B1B2B2B2B2B3B3B3B3B4B4B4B4B5B5B5B5B6B6B6B6B7B7B7B7B8B8B8B8B9B9B9B9BABABABABB +BBBBBBBCBCBCBCBDBDBDBDBEBEBEBEBFBFBFBFC0C0C0C1C1C1 +> +< +06060707080809090A0A0B0B0C0D0D0E0E0F0F1010111112131314141515161617181819191A1A1B +1B1C1D1D1E1E1F1F20212122222324242525262627282829292A2B2B2C2C2D2D2E2F2F3030313232 +3333343535363637383839393A3A3B3C3C3D3D3E3F3F404041424243434445454646474848494A4A +4B4B4C4D4D4E4E4F50505151525353545455565657585859595A5B5B5C5C5D5E5E5F5F6061616263 +63646465666667676869696A6B6B6C6C6D6E6E6F7070717172 +> +< +0001010203040505060708090A0B0B0C0D0E0F10111212131415161718191A1A1B1C1D1E1F202122 +23242425262728292A2B2C2D2E2F30313132333435363738393A3B3C3D3E3F404141424344454647 +48494A4B4C4D4E4F50515253545556565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E +6F70717273747576777879797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE +> +1 %_Br +[ +0 0 0 0 1 33.3333 0 %_BS +%_0 0 0 0 1 33.3333 0 Bs +0.5059 0.1647 0.0353 0.0039 1 50 35.955 %_BS +%_0.5059 0.1647 0.0353 0.0039 1 50 35.955 Bs +0.9294 0.5843 0.0235 0 1 51.9231 85.3932 %_BS +%_0.9294 0.5843 0.0235 0 1 51.9231 85.3932 Bs +0.9216 0.7569 0.4471 0.6824 1 51.9231 100 %_BS +%_0.9216 0.7569 0.4471 0.6824 1 51.9231 100 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Unnamed gradient 35) +(Unnamed gradient 35) 0 2 Bd +[ +0 +< +666564636261605F5E5D5C5B5A5958565554535251504F4E4D4C4B4A49484746454443424140 +> +1 +0 +1 %_Br +[ +0 0.25 1 0 1 50 76.0736 %_BS +%_0 0.25 1 0 1 50 76.0736 Bs +0 0.4 1 0 1 50 23.3129 %_BS +%_0 0.4 1 0 1 50 23.3129 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Unnamed gradient 4) +(Unnamed gradient 4) 1 2 Bd +[ +< +000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F +505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 +78797A7B7C7D7E7F8081 +> +< +0000010101020202030303040404050505060606070707070808080909090A0A0A0B0B0B0C0C0C0D +0D0D0E0E0E0F0F0F101010111111121212131313141414151515151616161717171818181919191A +1A1A1B1B1B1C1C1C1D1D1D1E1E1E1F1F1F2020202121212222222323232324242425252526262627 +27272828282929292A2A +> +< +00000000000000000101010101010101010101010101020202020202020202020202020203030303 +03030303030303030303030404040404040404040404040404050505050505050505050505050506 +06060606060606060606060606060707070707070707070707070707080808080808080808080808 +08080909090909090909 +> +< +00000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101 +> +1 %_Br +[ +0 0 0 0 1 50 0 %_BS +%_0 0 0 0 1 50 0 Bs +0.5059 0.1647 0.0353 0.0039 1 50 100 %_BS +%_0.5059 0.1647 0.0353 0.0039 1 50 100 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Unnamed gradient 41) +(Unnamed gradient 41) 1 2 Bd +[ +< +000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1E1F202122232425262728 +292A2B2C2D2E2F303132333435363738393A +> +< +000101020303040405060607080809090A0B0B0C0D0D0E0F0F101011121213141415151617171819 +191A1B1B1C1C1D1E1E1F2020212122232324 +> +< +00000001010101020202020303030303040404040505050505060606060707070708080808080909 +09090A0A0A0A0A0B0B0B0B0C0C0C0C0D0D0D +> +< +00000000000000000000000000000001010101010101010101010101010101010101010101010101 +010101020202020202020202020202020202 +> +1 %_Br +[ +0 0 0 0 1 50 0 %_BS +%_0 0 0 0 1 50 0 Bs +0.2275 0.1412 0.051 0.0078 1 50 100 %_BS +%_0.2275 0.1412 0.051 0.0078 1 50 100 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Unnamed gradient 5) +(Unnamed gradient 5) 1 4 Bd +[ +< +000102030405060708090A0B0C0D0E0F10111212131415161718191A1B1C1D1D1E1F202122232425 +25262728292A2B2B2C2D2E2F303031323334353536373839393A3B3C3C3D3E3F3F40414242434445 +4546474848494A4A4B4C4D4D4E4F4F5051515253535455555656575858595A5A5B5B5C5D5D5E5E5F +5F6061616262636364646566666767686869696A6A6B6B6C6C6D6D6D6E6E6F6F7070717171727273 +737374747575757676767777777878787979797A7A7A7B7B7B7B7C7C7C7C7D7D7D7D7E7E7E7E7E7F +7F7F7F7F8080808080808080818181818181818181 +> +< +000001010102020203030304040404050505060606070707080808080909090A0A0A0A0B0B0B0C0C +0C0C0D0D0D0E0E0E0E0F0F0F10101010111111111212121213131313141414141515151516161616 +171717171818181818191919191A1A1A1A1A1B1B1B1B1C1C1C1C1C1D1D1D1D1D1E1E1E1E1E1F1F1F +1F1F1F20202020202121212121212222222222222323232323232324242424242424252525252525 +25262626262626262627272727272727272728282828282828282828282929292929292929292929 +292929292A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A +> +< +00000000000000000101010101010101010101010101010202020202020202020202020202020203 +03030303030303030303030303030303040404040404040404040404040404040404050505050505 +05050505050505050505050505050606060606060606060606060606060606060606060607070707 +07070707070707070707070707070707070707070707070808080808080808080808080808080808 +08080808080808080808080808080808080808080909090909090909090909090909090909090909 +090909090909090909090909090909090909090909 +> +< +00000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +010101010101010101010101010101010101010101 +> +1 %_Br +< +8182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8 +A9AAABACADAEAFB0B1B2B3B4B5B6B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1 +D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECED +> +< +2A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F5051 +52535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576777879 +7A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +> +< +09090909090909090909090909090909090908080808080808080808080808080808080808080808 +08080808080808080808080808080707070707070707070707070707070707070707070707070707 +07070707070707070706060606060606060606060606060606060606 +> +< +01010101010101010101010101010101010101010101010101010101010101010101010101010101 +01010101010101010101010101010000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000 +> +1 %_Br +< +EDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDED +EDEDEDEDEDEDEDEDEDEDECECECECECECECECECECECECECECECECECECECECECECECECECECECECECEC +ECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECECEC +ECECECECECECECECECECECECECECECECECECECECECEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB +EBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEBEB +> +< +959595969696969697979797979898989899999999999A9A9A9A9B9B9B9B9B9C9C9C9C9D9D9D9D9E +9E9E9E9E9F9F9F9FA0A0A0A0A1A1A1A1A2A2A2A2A2A3A3A3A3A4A4A4A4A5A5A5A5A6A6A6A6A7A7A7 +A7A7A8A8A8A8A9A9A9A9AAAAAAAAABABABABACACACACADADADADAEAEAEAEAFAFAFAFB0B0B0B0B1B1 +B1B1B1B2B2B2B2B3B3B3B3B4B4B4B4B5B5B5B5B6B6B6B6B7B7B7B7B8B8B8B8B9B9B9B9BABABABABB +BBBBBBBCBCBCBCBDBDBDBDBEBEBEBEBFBFBFBFC0C0C0C1C1C1 +> +< +06060707080809090A0A0B0B0C0D0D0E0E0F0F1010111112131314141515161617181819191A1A1B +1B1C1D1D1E1E1F1F20212122222324242525262627282829292A2B2B2C2C2D2D2E2F2F3030313232 +3333343535363637383839393A3A3B3C3C3D3D3E3F3F404041424243434445454646474848494A4A +4B4B4C4D4D4E4E4F50505151525353545455565657585859595A5B5B5C5C5D5E5E5F5F6061616263 +63646465666667676869696A6B6B6C6C6D6E6E6F7070717172 +> +< +0001010203040505060708090A0B0B0C0D0E0F10111212131415161718191A1A1B1C1D1E1F202122 +23242425262728292A2B2C2D2E2F30313132333435363738393A3B3C3D3E3F404141424344454647 +48494A4B4C4D4E4F50515253545556565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E +6F70717273747576777879797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495 +969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAE +> +1 %_Br +[ +0 0 0 0 1 33.3333 0 %_BS +%_0 0 0 0 1 33.3333 0 Bs +0.5059 0.1647 0.0353 0.0039 1 50 56.7416 %_BS +%_0.5059 0.1647 0.0353 0.0039 1 50 56.7416 Bs +0.9294 0.5843 0.0235 0 1 51.9231 85.3932 %_BS +%_0.9294 0.5843 0.0235 0 1 51.9231 85.3932 Bs +0.9216 0.7569 0.4471 0.6824 1 51.9231 100 %_BS +%_0.9216 0.7569 0.4471 0.6824 1 51.9231 100 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Unnamed gradient 51) +(Unnamed gradient 51) 0 2 Bd +[ +< +1D1D1D1D1D1D1D1D1D1D1D1D1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1F1F1F1F1F1F1F1F1F +1F202020202020202021212121212121222222222223232323232324242424252525252526262626 +27272728282828292929292A2A2A2B2B2B2C2C2C2D2D2D2E2E2E2F2F2F3030313131323233333334 +3435353636363737383839393A3A3B3B3C3C3C3D3E3E3F3F40404141424243434444454646474748 +49494A4A4B4C4C4D4D4E4F4F5051515253535455555657575859595A5B5C5C5D5E5F5F6061626263 +646566666768696A6A6B6C6D6E6E6F70717273747475767778797A7B7C7C7D7E7F80818283848586 +8788898A8B8C8D8E +> +< +16161616161616161616161616161616161616161616161616161616161616171717171717171717 +17171718181818181818181819191919191919191A1A1A1A1A1A1B1B1B1B1B1B1C1C1C1C1C1D1D1D +1D1D1E1E1E1E1E1F1F1F1F2020202021212121222222222323232424242525252526262627272728 +28282929292A2A2A2B2B2C2C2C2D2D2D2E2E2F2F2F30303131323232333334343535353636373738 +3839393A3A3B3B3C3C3D3D3E3E3F3F4040414142434344444545464747484849494A4B4B4C4C4D4E +4E4F5050515252535354555556575758595A5A5B5C5C5D5E5E5F606161626364646566676768696A +6A6B6C6D6E6E6F70 +> +< +11111111111111111111111111111111111111111111111111111111111111121212121212121212 +12121213131313131313131314141414141414151515151515161616161616171717171718181818 +18191919191A1A1A1A1A1B1B1B1B1C1C1C1D1D1D1D1E1E1E1F1F1F1F202020212121222222232323 +242424252525262627272728282929292A2A2B2B2B2C2C2D2D2E2E2E2F2F30303131323233333434 +353536363737383839393A3A3B3B3C3D3D3E3E3F3F404041424243434445454646474848494A4A4B +4C4C4D4E4E4F5050515252535454555656575859595A5B5C5C5D5E5F5F6061626263646566666768 +696A6A6B6C6D6E6F +> +< +00000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000010101010101010101010101010101010101010101010101010101010102020202020202 +02020202020202020202020203030303030303030303030303030304040404040404040404040405 +05050505050505050505050606060606060606060607070707070707070708080808080808080809 +090909090909090A0A0A0A0A0A0A0A0B0B0B0B0B0B0B0C0C0C0C0C0C0C0D0D0D0D0D0D0D0E0E0E0E +0E0E0E0F0F0F0F0F0F10101010101011111111111112121212121313131313131414141414151515 +1515161616161617 +> +1 %_Br +[ +0.555993 0.439094 0.433417 0.088563 1 50 100 %_BS +%_0.555993 0.439094 0.433417 0.088563 1 50 100 Bs +0.115175 0.08484 0.065003 0 1 73.0337 0 %_BS +%_0.115175 0.08484 0.065003 0 1 73.0337 0 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Unnamed gradient 54) +(Unnamed gradient 54) 0 2 Bd +[ +< +1D1D1D1D1D1D1D1D1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1F1F1F1F1F1F1F1F202020202020202121 +2121212122222222222323232323242424242525252526262627272727282828292929292A2A2A2B +2B2B2C2C2C2D2D2E2E2E2F2F2F30303131313232333333343435353636373737383839393A3A3B3B +3C3C3D3D3E3E3F3F4040414142434344444545464747484849494A4B4B4C4C4D4E4E4F5050515252 +535354555556575858595A5A5B5C5C5D5E5F5F606161626364646566676768696A6B6B6C6D6E6F6F +7071727373747576777878797A7B7C7D7E7F7F80818283848586878888898A8B8C8D8E8F90919293 +9495969798999A9B9C9D +> +< +16161616161616161616161616161616161616161616171717171717171717171718181818181818 +181919191919191A1A1A1A1A1A1B1B1B1B1B1C1C1C1C1C1D1D1D1D1D1E1E1E1E1F1F1F1F20202020 +212121222222222323232424242525252626262727272828282929292A2A2A2B2B2C2C2C2D2D2D2E +2E2F2F30303031313232323333343435353636373737383839393A3A3B3B3C3C3D3D3E3E3F3F4040 +414242434344444545464647484849494A4A4B4C4C4D4D4E4F4F5050515252535454555656575758 +59595A5B5B5C5D5D5E5F6060616262636464656667676869696A6B6C6C6D6E6F6F70717273737475 +76767778797A7A7B7C7D +> +< +11111111111111111111111111111111111111111111121212121212121212121313131313131313 +1414141414141515151515151616161616171717171718181818191919191A1A1A1A1B1B1B1B1C1C +1C1D1D1D1D1E1E1E1F1F1F2020202121212222222323232424242525262626272728282829292A2A +2A2B2B2C2C2D2D2E2E2E2F2F30303131323233333434353536363737383839393A3A3B3B3C3C3D3E +3E3F3F40404141424343444445464647474849494A4B4B4C4C4D4E4E4F5050515252535454555656 +575858595A5B5B5C5D5D5E5F60606162636364656666676869696A6B6C6C6D6E6F70707172737475 +75767778797A7A7B7C7D +> +< +00000000000000000000000000000000000000000000000000000101010101010101010101010101 +01010101010202020202020202020202020203030303030303030303030404040404040404040505 +050505050505060606060606060607070707070707080808080808080909090909090A0A0A0A0A0A +0B0B0B0B0B0B0C0C0C0C0C0D0D0D0D0D0E0E0E0E0E0F0F0F0F0F1010101010111111111112121212 +131313131414141414151515151616161617171717181818181919191A1A1A1A1B1B1B1B1C1C1C1D +1D1D1D1E1E1E1F1F1F1F202020212121222222222323232424242525252626262727272828282929 +292A2A2A2B2B2B2C2C2C +> +1 %_Br +[ +0.614191 0.489448 0.489815 0.173739 1 50 100 %_BS +%_0.614191 0.489448 0.489815 0.173739 1 50 100 Bs +0.115175 0.08484 0.065003 0 1 70.2247 0 %_BS +%_0.115175 0.08484 0.065003 0 1 70.2247 0 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Unnamed gradient 83) +(Unnamed gradient 83) 1 2 Bd +[ +< +A6A5A4A3A2A1A09F9E9D9C9B9A9897969594939291908F8E8D8C +> +0 +1 +< +1A1817161514131211100F0E0D0C0B0A09080706050403020100 +> +1 %_Br +[ +0.65 0 1 0.1 1 50 34.7917 %_BS +%_0.65 0 1 0.1 1 50 34.7917 Bs +0.55 0 1 0 1 50 76.0736 %_BS +%_0.55 0 1 0 1 50 76.0736 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Verblassender Himmel) +(Verblassender Himmel) 0 2 Bd +[ +0.8 +0.4 +0 +< +00 +> +1 %_Br +[ +0.8 0.4 0 0.000031 1 50 100 %_BS +%_0.8 0.4 0 0.000031 1 50 100 Bs +0.8 0.4 0 0 1 50 0 %_BS +%_0.8 0.4 0 0 1 50 0 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Wei\737, Schwarz) +(Wei\737, Schwarz) 0 2 Bd +[ +< +FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 +D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 +AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 +87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 +5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 +37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 +0F0E0D0C0B0A09080706050403020100 +> +0 %_Br +[ +0 0 0 1 1 50 100 %_BS +%_0 0 0 1 1 50 100 Bs +0 0 0 0 1 50 0 %_BS +%_0 0 0 0 1 50 0 Bs +BD +%AI5_EndGradient +%AI5_End_NonPrinting-- +%AI5_Begin_NonPrinting +Np +%AI3_BeginPattern: (Pompadour) +(Pompadour) 218.1958 183.1699 385.1958 350.1699 [ +%AI3_Tile +(0 O 0 R 0.35 0.6 0.8 0.25 k + 0.35 0.6 0.8 0.25 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +407.2622 96.3711 m +407.3872 96.3711 407.4927 96.4629 407.5103 96.585 c +409.8911 112.5996 419.1646 125.9746 431.9028 133.9814 c +432.0063 134.0449 432.0493 134.1758 432.0044 134.29 c +431.9575 134.4023 431.8384 134.4688 431.7173 134.4443 c +421.2466 132.3398 411.9243 126.5811 405.27 118.4141 C +400.645 131.7891 390.0337 140.418 376.9692 144.0654 C +381.7778 149.6582 379.2622 157.5986 371.8501 158.9023 c +371.7368 158.9229 371.6255 158.8643 371.5767 158.7607 c +371.5278 158.6563 371.5552 158.5322 371.6431 158.46 c +375.6157 155.1143 374.1626 147.04 362.3052 147.04 c +354.5103 147.04 349.4849 150.2188 349.4849 154.5254 c +349.4849 157.9102 352.5474 159.7559 355.1255 159.7559 c +359.5415 159.7559 362.0649 155.7949 360.1685 152.2129 c +360.1138 152.1104 360.1353 151.9814 360.2231 151.9033 c +360.311 151.8271 360.4399 151.8184 360.5376 151.8857 c +362.7856 153.4492 364.356 155.5059 364.356 158.6768 c +364.356 164.0635 359.3306 169.8066 351.0239 169.8066 c +342.1021 169.8066 334.0005 162.9355 334.0005 154.5254 c +334.0005 142.71 344.0493 137.0918 354.6138 136.0918 C +350.2485 134.4189 346.981 129.5664 v +346.9146 129.4697 346.9243 129.3418 347.0024 129.2559 c +347.0806 129.1689 347.2056 129.1475 347.3091 129.2012 c +353.1392 132.2822 359.7954 133.9453 366.811 133.9453 c +386.4321 133.9453 403.3579 117.541 407.0103 96.5801 c +407.0317 96.4561 407.1392 96.3691 407.2622 96.3711 c +f +483.9399 148.7773 m +488.5493 156.4551 490.1919 169.627 485.897 179.46 c +485.8481 179.5703 485.8833 179.6992 485.9829 179.7686 c +486.0806 179.8379 486.2153 179.8281 486.3032 179.7461 c +491.1099 175.1914 495.2427 164.5684 493.0083 152.2871 C +496.106 149.8936 498.0532 147.5176 499.522 144.335 c +499.5688 144.2314 499.5415 144.1104 499.4556 144.0352 c +499.3696 143.9629 499.2446 143.9551 499.1489 144.0186 c +494.1528 147.3809 489.686 148.5283 483.9399 148.7773 C +f +473.3306 28.9707 m +473.4009 28.8672 473.3833 28.7266 473.2915 28.6426 c +473.1978 28.5586 473.0571 28.5547 472.9595 28.6348 c +466.145 34.1621 457.0845 37.6895 445.9243 37.6895 c +418.3521 37.6895 400.9517 21.1719 398.2173 3.76367 c +398.1997 3.65234 398.1099 3.56641 397.9985 3.55078 c +397.8872 3.53711 397.7778 3.59766 397.7329 3.70117 c +395.0083 9.95898 393.3657 19.0352 401.7817 31.209 c +406.8169 38.4941 412.9106 43.5098 412.9106 50.0273 c +412.9106 54.2852 410.6509 57.1797 407.2231 57.1797 c +403.6177 57.1797 401.2876 54.0918 401.2876 50.625 c +401.2876 48.877 401.7915 47.1465 402.6958 45.5801 c +402.7544 45.4766 402.7368 45.3496 402.6509 45.2676 c +402.5649 45.1875 402.436 45.1758 402.3384 45.2402 c +399.3657 47.1777 396.7114 50.6367 396.7114 55.5117 c +396.7114 62.6836 402.8442 68.6816 411.1802 68.6816 c +420.1548 68.6816 427.5044 61.6328 427.5044 51.4922 c +427.5044 48.0156 426.5142 43.8242 424.0415 40.3613 C +427.4263 43.1875 429.2329 45.1875 430.7192 49.5117 C +441.1196 51.3223 452.2251 49.6602 461.0493 43.8691 C +461.3052 49.9707 463.3013 55.0605 467.3931 59.1875 c +467.4771 59.2715 467.6079 59.2852 467.7075 59.2227 c +467.8091 59.1582 467.8521 59.0332 467.811 58.9219 c +464.9341 50.9199 466.8657 38.7246 473.3306 28.9707 c +f +560.6978 35.6055 m +558.4517 30.8066 553.2388 28.1211 547.2368 28.0117 c +547.1118 28.0098 547.0044 28.0977 546.9829 28.2188 c +546.9595 28.3418 547.0278 28.4609 547.1431 28.5039 c +549.1899 29.2578 550.8052 30.5762 551.6646 32.4141 c +553.8774 37.1426 550.2974 43.5098 543.6509 46.7832 c +543.5728 46.8223 543.52 46.8965 543.5103 46.9824 c +543.5005 47.0684 543.5337 47.1523 543.6001 47.207 c +547.8911 50.7266 553.0122 57.2617 553.0122 70.627 c +553.0122 89.3086 540.8579 107.0898 524.7368 107.0898 c +515.5239 107.0898 508.104 100.6934 504.2661 91.0977 C +508.4868 96.8564 514.2446 101.2051 522.1782 101.2051 c +533.8208 101.2051 543.0337 88.7969 543.0337 70.8828 c +543.0337 53.9941 531.1333 34.2891 515.2681 34.2891 c +506.5669 34.2891 500.0435 41.3281 500.0435 50.4121 c +500.0435 58.4746 505.2896 63.0781 511.1763 63.0781 c +515.6099 63.0781 518.6685 59.9473 519.6196 56.5527 c +519.6509 56.4375 519.6001 56.3164 519.4927 56.2598 c +519.3872 56.2051 519.2583 56.2305 519.1802 56.3223 c +518.4282 57.2168 517.2837 57.9609 515.5259 57.9609 c +512.5825 57.9609 511.0474 55.4316 511.0474 53.6113 c +511.0474 50.1563 513.606 47.7246 517.4458 47.7246 c +522.6899 47.7246 526.7856 53.4824 526.7856 60.9023 c +526.7856 70.1152 517.9556 78.5586 509.1274 78.5586 c +500.106 78.5586 490.4478 70.5 490.4478 55.5293 c +490.4478 40.8164 500.4282 23.9258 516.2935 23.9258 c +525.5435 23.9258 533.4048 28.0957 539.436 35.002 c +539.5161 35.0918 539.6489 35.1152 539.7544 35.0547 c +539.8599 34.9941 539.9067 34.8672 539.8677 34.752 c +535.4341 21.8164 537.9126 9.60742 544.688 9.60742 c +548.0024 9.60742 549.6899 11.9863 549.6899 14.5234 c +549.6899 17.1309 547.7915 19.2852 544.7212 19.6777 c +544.6001 19.6934 544.5063 19.793 544.4985 19.9141 c +544.4927 20.0352 544.5708 20.1465 544.6899 20.1758 c +551.5044 21.9395 558.5142 18.2285 558.5142 11.1328 c +558.5142 4.85547 553.1372 0.001953 546.1021 0.001953 c +535.4653 0.001953 530.3774 11.2715 532.6431 21.5371 C +527.1841 14.4922 519.0903 8.70117 507.4653 8.70117 c +483.9224 8.70117 472.0239 35.5703 472.0239 53.6113 c +472.0239 69.9883 475.3501 80.4785 482.2603 88.5391 C +474.1978 82.3984 470.8716 75.6172 469.3384 66.2773 C +463.1958 57.832 447.2036 57.832 v +440.5161 57.832 434.2739 60.3086 429.4302 64.998 C +429.4282 64.9961 429.4263 64.9941 429.4243 64.9902 C +429.3892 65.0313 429.3501 65.0703 429.3149 65.1094 C +428.9946 65.4238 428.6802 65.748 428.3716 66.082 C +423.3091 70.9316 413.1802 75.4785 403.9399 71.6797 c +403.8345 71.6367 403.7134 71.6699 403.6431 71.7578 c +403.5728 71.8477 403.5708 71.9727 403.6392 72.0645 c +408.0454 78.0898 415.6626 80.0059 421.3169 79.1309 C +420.272 82.8457 419.6938 87.0117 419.6938 91.6094 c +419.6938 108.0137 428.4927 119.5801 438.106 125.2109 C +434.9517 129.0137 435.5962 134.9883 439.1372 139.0449 c +439.2173 139.1357 439.3481 139.1582 439.4536 139.0996 c +439.5571 139.041 439.606 138.918 439.5708 138.8018 c +437.8403 133.2695 442.9634 128.6523 449.7524 128.9004 c +449.8755 128.9033 449.9829 128.8193 450.0103 128.6992 c +450.0356 128.5801 449.9712 128.457 449.8579 128.4111 c +439.7212 124.248 433.0005 115.4316 433.0005 104.4033 c +433.0005 92.8906 439.9087 83.5488 451.0415 83.5488 c +460.1255 83.5488 469.2095 91.8672 469.2095 102.2285 c +469.2095 110.2891 464.731 115.0225 458.9731 115.0225 c +453.9849 115.0225 450.0181 111.5684 450.0181 107.4736 c +450.0181 101.6211 456.6001 99.499 460.1118 104.1309 c +460.1821 104.2227 460.3032 104.2559 460.4087 104.2129 c +460.5161 104.1699 460.5806 104.0625 460.5669 103.9482 c +460.0435 99.5586 456.8149 95.4482 451.8091 95.4482 c +447.2036 95.4482 442.4692 99.2861 442.4692 107.4746 c +442.4692 117.1982 451.8071 127.0508 467.1606 127.0508 c +488.1431 127.0508 499.5317 103.3809 489.2974 84.4453 C +494.5415 90.459 499.2759 96.8555 499.2759 108.2432 c +499.2759 129.75 478.0122 144.291 452.9224 135.7441 c +452.8032 135.7021 452.6724 135.7559 452.6157 135.8672 c +452.5571 135.9785 452.5884 136.1143 452.6899 136.1895 c +459.6958 141.2979 467.0337 148.8262 467.0337 161.4668 c +467.0337 174.6475 458.3345 183.9854 444.772 183.9854 c +434.2798 183.9854 427.6274 177.5879 427.6274 170.04 c +427.6274 164.2822 431.3462 159.6768 437.7349 159.6768 c +447.2466 159.6768 450.481 170.0195 445.5591 174.6445 c +445.4751 174.7236 445.4556 174.8516 445.5103 174.9521 c +445.5669 175.0547 445.6841 175.1055 445.7974 175.0762 c +450.5669 173.8398 455.1353 169.0068 455.1353 161.7236 c +455.1353 149.1855 443.4927 140.8682 430.6978 140.8682 c +424.7017 140.8682 418.8989 142.623 414.2271 145.9102 C +414.7778 150.0635 413.3579 154.6602 411.2603 157.752 C +413.2095 150.8848 411.1021 139.5732 400.5864 139.5732 c +394.6958 139.5732 390.8013 144.1025 390.8013 149.4551 c +390.8013 155.7793 396.147 158.7314 400.4966 158.125 c +400.6118 158.1104 400.7017 158.0186 400.7134 157.9023 c +400.7271 157.7891 400.6606 157.6797 400.5532 157.6367 c +398.9673 157.0293 397.6118 155.3691 397.6118 153.373 c +397.6118 150.873 399.52 149.3906 401.52 149.3906 c +404.8149 149.3906 406.645 153.0605 405.4927 157.1104 C +405.5044 157.1104 L +404.4321 159.9473 403.8286 163.1152 403.8286 166.6055 c +403.8286 183.3672 422.0103 199.3398 444.9497 199.3398 c +469.1626 199.3398 482.0044 182.0664 482.0044 164.2822 c +482.0044 154.7461 478.4224 147.5225 473.8149 142.915 C +493.7368 145.0332 506.313 136.5176 513.0942 124.2354 C +508.6157 120.3975 506.9536 114.7676 Y +512.3267 121.8057 521.5376 127.9453 534.4595 127.9453 c +554.0356 127.9453 569.3911 108.7539 569.3911 88.1563 c +569.3911 75.084 564.5884 62.375 554.8267 53.9102 C +560.8638 48.8809 563.4731 41.5391 560.6978 35.6055 c +f +*U +*u +482.2114 160.9053 m +482.1782 160.7852 482.2388 160.6582 482.3521 160.6094 c +497.1763 154.0957 507.6372 141.6289 512.0063 127.2324 c +512.0415 127.1152 512.1548 127.0391 512.2778 127.0527 c +512.3989 127.0664 512.4946 127.166 512.5024 127.2871 c +513.229 137.9434 510.1274 148.4531 504.0005 157.0234 C +518.1216 157.9648 529.2407 165.9297 536.1997 177.5723 C +540.3286 171.46 548.6509 171.7969 551.8599 178.6035 c +551.9106 178.708 551.8833 178.832 551.7954 178.9063 c +551.7075 178.9805 551.5806 178.9873 551.4868 178.9219 c +547.2134 175.9688 539.8071 179.498 542.9282 190.9355 c +544.981 198.4561 549.3716 202.4668 553.5259 201.333 c +556.7915 200.4414 557.7661 197.002 557.0864 194.5146 c +555.9243 190.2539 551.438 188.8623 548.481 191.6357 c +548.397 191.7158 548.2681 191.7285 548.1704 191.6641 c +548.0728 191.5986 548.0298 191.4775 548.0688 191.3662 c +548.9868 188.7852 550.5571 186.7285 553.6157 185.8936 c +558.811 184.4756 565.6743 187.8115 567.8618 195.8252 c +570.2114 204.4316 565.7153 214.0566 557.604 216.2715 c +546.2036 219.3818 538.1392 211.166 534.3931 201.2383 C +533.9263 205.8896 530.1079 210.3203 v +530.0317 210.4092 529.9048 210.4336 529.8013 210.3818 c +529.6978 210.3291 529.6431 210.2129 529.6665 210.0996 c +531.106 203.6641 530.9575 196.8047 529.1099 190.0361 c +523.9438 171.1074 503.6626 159.0977 482.479 161.0938 c +482.354 161.1055 482.2407 161.0254 482.2114 160.9053 c +f +512.5806 73.1348 m +518.7739 66.666 531.0493 61.6133 541.6646 63.168 c +541.7856 63.1855 541.9009 63.1172 541.9399 63.0039 c +541.981 62.8906 541.936 62.7637 541.8345 62.7012 c +536.1743 59.2617 524.8384 58.0723 513.5786 63.4609 C +510.4536 61.1035 507.6489 59.8496 504.1919 59.2715 c +504.0806 59.2539 503.9692 59.3125 503.9204 59.4141 c +503.8735 59.5156 503.8989 59.6387 503.9849 59.7148 c +508.5454 63.6484 510.8286 67.6563 512.5806 73.1348 C +f +399.7935 114.9121 m +399.6763 114.8711 399.5454 114.9258 399.4888 115.0371 c +399.4321 115.1484 399.4653 115.2852 399.5688 115.3594 c +406.6938 120.4785 412.4829 128.291 415.4204 139.0566 c +422.6802 165.6563 411.3267 186.792 395.2544 194.0146 c +395.1509 194.0605 395.0903 194.1689 395.106 194.2803 c +395.1216 194.3926 395.2095 194.4814 395.3208 194.4971 c +402.0747 195.4785 411.2622 194.6729 420.7915 183.3486 c +426.4927 176.5732 429.7271 169.373 436.0142 167.6563 c +440.1216 166.5352 443.5103 167.9551 444.4126 171.2617 c +445.3618 174.7393 442.9966 177.8018 439.6528 178.7148 c +437.9653 179.1738 436.1626 179.1436 434.4146 178.6836 c +434.2993 178.6533 434.1821 178.7051 434.1255 178.8086 c +434.0708 178.9121 434.0923 179.04 434.1802 179.1172 c +436.8325 181.4746 440.8677 183.125 445.5708 181.8408 c +452.4907 179.9531 456.6606 172.457 454.4673 164.415 c +452.104 155.7578 443.3696 150.5234 433.5864 153.1934 c +430.2329 154.1084 426.4497 156.168 423.7603 159.4648 C +425.5942 155.4551 427.0493 153.1855 430.8286 150.6133 C +429.8364 140.1035 425.3091 129.8271 417.4009 122.8389 C +423.2192 120.9863 427.604 117.7207 430.5083 112.6855 c +430.5669 112.582 430.5454 112.4531 430.4595 112.373 c +430.3696 112.293 430.2388 112.2832 430.1411 112.3535 c +423.1802 117.2344 410.9048 118.582 399.7935 114.9121 c +f +383.1919 28.8809 m +379.1548 32.3105 377.936 38.0469 379.4106 43.8672 c +379.4419 43.9883 379.5552 44.0684 379.6782 44.0566 c +379.8032 44.0469 379.8989 43.9492 379.9106 43.8281 c +380.0981 41.6543 380.9458 39.748 382.4927 38.4355 c +386.4712 35.0566 393.5571 36.834 398.4634 42.3828 c +398.522 42.4492 398.6079 42.4805 398.6938 42.4668 c +398.7798 42.4531 398.8521 42.3984 398.8872 42.3203 c +401.1528 37.2539 406.1079 30.5938 419.0005 27.0742 c +437.0239 22.1563 457.3794 29.1992 461.6235 44.752 c +464.0493 53.6406 459.8306 62.4824 451.5845 68.7109 C +456.0298 63.123 458.7075 56.4238 456.6177 48.7695 c +453.5532 37.5391 439.1567 31.918 421.8755 36.6348 c +405.5825 41.0801 389.7075 57.748 393.8833 73.0547 c +396.1743 81.4492 404.6821 85.8887 413.4458 83.4961 c +421.2231 81.375 424.2837 75.1016 422.7329 69.4219 c +421.5669 65.1445 417.7407 63.0195 414.2153 62.9941 c +414.0962 62.9941 413.9927 63.0762 413.9653 63.1934 c +413.9419 63.3105 413.9985 63.4277 414.1079 63.4785 c +415.1704 63.9688 416.188 64.877 416.6509 66.5742 c +417.4263 69.4121 415.3911 71.5605 413.6353 72.0391 c +410.3032 72.9492 407.2837 71.1211 406.272 67.416 c +404.8911 62.3574 409.3677 56.8906 416.5239 54.9355 c +425.4126 52.5117 435.8833 58.8066 438.2075 67.3223 c +440.5825 76.0254 435.3501 87.4648 420.9087 91.4063 c +406.7153 95.2813 387.7935 90.0996 383.6157 74.793 c +381.1802 65.8691 383.1333 57.1875 388.2075 49.5508 c +388.2739 49.4512 388.2622 49.3164 388.1763 49.2305 c +388.0884 49.1445 387.9536 49.1328 387.854 49.2012 c +376.5415 56.8828 364.1118 57.707 362.3267 51.1699 c +361.4536 47.9727 363.3052 45.7188 365.7524 45.0508 c +368.2681 44.3652 370.8462 45.6289 372.0337 48.4883 c +372.0806 48.5996 372.2017 48.6641 372.3208 48.6406 c +372.438 48.6133 372.5259 48.5098 372.522 48.3867 c +372.4302 41.3477 367.0044 35.5625 360.1587 37.4316 c +354.1021 39.084 350.8364 45.5488 352.688 52.3359 c +355.4888 62.5977 367.6997 64.5391 377.0063 59.6504 C +371.647 66.7715 368.1919 76.1035 371.2524 87.3184 c +377.4517 110.0313 406.5044 114.4355 423.9087 109.6855 c +439.7075 105.373 448.9517 99.4023 454.9087 90.6152 C +451.1079 100.0098 445.4419 105.0039 436.8345 108.9434 C +430.3052 117.0918 434.5161 132.5195 v +436.2759 138.9707 440.3091 144.3418 446.1079 147.7793 C +446.1079 147.7813 446.106 147.7842 446.1021 147.7871 C +446.1509 147.8105 446.1997 147.8379 446.2466 147.8613 C +446.6333 148.0879 447.0298 148.3057 447.4321 148.5146 C +453.4438 152.1211 460.4966 160.6973 459.2661 170.6113 c +459.2524 170.7236 459.3149 170.832 459.4185 170.877 c +459.5239 170.9219 459.645 170.8896 459.7153 170.8018 c +464.3677 164.9629 464.2114 157.1104 461.8794 151.8857 C +465.7368 151.915 469.9087 151.375 474.3442 150.165 c +490.1685 145.8457 499.0122 134.3135 501.9126 123.5566 C +506.4106 125.5977 512.0063 123.4043 514.9888 118.9199 c +515.0532 118.8184 515.0415 118.6855 514.9575 118.5996 c +514.8735 118.5156 514.7407 118.5 514.6392 118.5645 c +509.7583 121.6914 503.9556 117.9648 502.4048 111.3496 c +502.3774 111.2305 502.2681 111.1484 502.145 111.1543 c +502.022 111.1602 501.9204 111.2539 501.9067 111.377 c +500.5591 122.251 493.8228 131.0566 483.1841 133.96 c +472.0767 136.9922 461.2446 132.7852 458.3149 122.0469 c +455.9224 113.2832 461.5571 102.3301 471.5513 99.6016 c +479.3286 97.4785 485.0747 100.5527 486.5903 106.1074 c +487.9048 110.9199 485.6157 115.6563 481.6665 116.7344 c +476.0181 118.2754 472.2388 112.4844 475.7837 107.877 c +475.8521 107.7852 475.854 107.6602 475.7837 107.5684 c +475.7153 107.4766 475.5923 107.4434 475.4868 107.4863 c +471.3892 109.1465 468.2739 113.3418 469.5923 118.1729 c +470.8052 122.6152 475.7544 126.1729 483.6548 124.0166 c +493.0356 121.457 500.0806 109.8555 496.0376 95.043 c +490.5142 74.7988 464.6802 70.0449 449.1079 84.9043 C +453.5278 78.2617 458.4517 72.0098 469.438 69.0117 c +490.188 63.3496 509.813 80.0332 508.1724 106.4902 c +508.1646 106.6152 508.2505 106.7285 508.3735 106.7539 c +508.4946 106.7813 508.6196 106.7129 508.6646 106.5977 c +511.7466 98.4922 517.0786 89.4316 529.2739 86.1035 c +541.9888 82.6328 553.2876 88.5664 556.8599 101.6504 c +559.6216 111.7734 555.2017 119.875 547.9204 121.8623 c +542.3657 123.3789 536.9419 121.0039 535.2603 114.8398 c +532.7563 105.6641 541.8833 99.8203 547.6411 103.3516 c +547.7388 103.4121 547.8677 103.3965 547.9497 103.3164 c +548.0337 103.2363 548.0513 103.1094 547.9927 103.0078 c +545.5454 98.7324 539.6802 95.5977 532.6548 97.5156 c +520.5571 100.8164 515.6001 114.2383 518.9673 126.5811 c +520.5454 132.3652 523.7681 137.502 528.1685 141.1426 C +532.0298 139.5186 536.8384 139.6777 540.3735 140.8867 C +533.2349 140.8154 522.8794 145.8262 525.647 155.9707 c +527.1978 161.6533 532.5923 164.2188 537.7563 162.8086 c +543.8579 161.1436 545.2974 155.21 543.5688 151.1729 c +543.522 151.0654 543.4106 151.0039 543.2974 151.0225 c +543.1821 151.04 543.0942 151.1318 543.0825 151.2471 c +542.9146 152.9375 541.6685 154.6836 539.7446 155.208 c +537.3325 155.8662 535.3989 154.415 534.8735 152.4854 c +534.0044 149.3066 537.063 146.5752 541.2739 146.6211 C +541.27 146.6094 L +544.2896 146.8984 547.5044 146.6445 550.8716 145.7266 c +567.0415 141.3125 577.6646 119.5674 571.6235 97.4375 c +565.2485 74.0781 545.2056 66.2363 528.0474 70.9199 c +518.8481 73.4297 512.8228 78.7871 509.5903 84.4453 C +506.3892 64.668 494.8618 54.7793 481.229 51.4707 C +478.7056 56.8008 473.7114 59.8867 Y +479.0864 52.8496 482.5845 42.3477 479.1821 29.8809 c +474.0278 10.9961 451.4712 1.23438 431.6001 6.6582 c +418.9888 10.0996 407.9927 18.0801 402.397 29.7266 C +395.9556 25.2266 388.186 24.6406 383.1919 28.8809 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0 0 0 0 k + 0 0 0 0 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +530.1294 102.9688 m +530.0044 102.9688 529.8989 102.877 529.8794 102.7539 c +527.5005 86.7402 518.2271 73.3652 505.4888 65.3594 c +505.3853 65.2949 505.3403 65.1641 505.3872 65.0508 c +505.4321 64.9375 505.5532 64.8711 505.6724 64.8965 c +516.145 67 525.4653 72.7598 532.1216 80.9277 C +536.7466 67.5508 547.3579 58.9219 560.4224 55.2734 C +555.6138 49.6816 558.1294 41.7402 565.5415 40.4375 c +565.6548 40.416 565.7661 40.4746 565.8149 40.5781 c +565.8638 40.6816 565.8364 40.8066 565.7485 40.8809 c +561.7759 44.2266 563.229 52.3008 575.0864 52.3008 c +582.8804 52.3008 587.9077 49.1211 587.9077 44.8145 c +587.9077 41.4297 584.8452 39.584 582.2651 39.584 c +577.8511 39.584 575.3267 43.5449 577.2231 47.127 c +577.2778 47.2305 577.2563 47.3574 577.1685 47.4355 c +577.0806 47.5137 576.9517 47.5215 576.854 47.4551 c +574.606 45.8906 573.0356 43.834 573.0356 40.6641 c +573.0356 35.2773 578.062 29.5352 586.3687 29.5332 c +595.2905 29.5332 603.3921 36.4043 603.3921 44.8145 c +603.3921 56.6309 593.3433 62.248 582.7788 63.248 C +587.144 64.9219 590.4116 69.7734 v +590.478 69.8691 590.4683 69.998 590.3901 70.084 c +590.312 70.1719 590.1851 70.1934 590.0835 70.1387 c +584.2534 67.0566 577.5942 65.3945 570.5806 65.3945 c +550.9575 65.3945 534.0337 81.7988 530.3813 102.7607 c +530.3599 102.8818 530.2524 102.9727 530.1294 102.9688 c +f +453.4517 50.5625 m +448.8442 42.8867 447.1997 29.7129 451.4946 19.8809 c +451.5435 19.7695 451.5083 19.6406 451.4087 19.5703 c +451.3091 19.502 451.1763 19.5117 451.0884 19.5957 c +446.2817 24.1484 442.1489 34.7715 444.3833 47.0527 C +441.2876 49.4473 439.3384 51.8223 437.8696 55.0059 c +437.8228 55.1074 437.8501 55.2305 437.936 55.3047 c +438.022 55.377 438.147 55.3848 438.2427 55.3203 c +443.2388 51.959 447.7056 50.8125 453.4517 50.5625 C +f +464.0591 170.3691 m +463.9907 170.4727 464.0083 170.6133 464.1001 170.6973 c +464.1938 170.7813 464.3345 170.7852 464.4321 170.7061 c +471.2466 165.1797 480.3071 161.6504 491.4673 161.6504 c +519.0376 161.6504 536.4399 178.1689 539.1743 195.5771 c +539.1919 195.6885 539.2817 195.7734 539.3931 195.7891 c +539.5044 195.8047 539.6138 195.7422 539.6587 195.6396 c +542.3833 189.3818 544.0259 180.3057 535.6099 168.1309 c +530.5747 160.8457 524.479 155.8311 524.479 149.3145 c +524.479 145.0566 526.7407 142.1602 530.1685 142.1602 c +533.7739 142.1602 536.106 145.248 536.104 148.7148 c +536.104 150.4629 535.6001 152.1934 534.6958 153.7607 c +534.6372 153.8633 534.6548 153.9902 534.7407 154.0723 c +534.8247 154.1523 534.9556 154.165 535.0532 154.1016 c +538.0259 152.1641 540.6802 148.7021 540.6802 143.8281 c +540.6802 136.6563 534.5474 130.6602 526.2095 130.6602 c +517.2368 130.6602 509.8872 137.709 509.8872 147.8477 c +509.8872 151.3262 510.8755 155.5156 513.3501 158.9805 C +509.9653 156.1523 508.1587 154.1523 506.6724 149.8271 C +496.272 148.0186 485.1665 149.6797 476.3403 155.4727 C +476.0864 149.3711 474.0903 144.2793 469.9985 140.1533 c +469.9146 140.0684 469.7837 140.0547 469.6841 140.1182 c +469.5825 140.1816 469.5415 140.3066 469.5806 140.4189 c +472.4575 148.4199 470.5239 160.6152 464.0591 170.3691 c +f +376.6938 163.7344 m +378.938 168.5352 384.1528 171.2188 390.1548 171.3271 c +390.2798 171.3311 390.3872 171.2432 390.4087 171.1211 c +390.4321 170.998 390.3638 170.8779 390.2485 170.8359 c +388.2017 170.082 386.5864 168.7637 385.7271 166.9258 c +383.5142 162.1973 387.0942 155.8301 393.7407 152.5566 c +393.8188 152.5186 393.8716 152.4434 393.8813 152.3594 c +393.8911 152.2725 393.856 152.1885 393.7915 152.1318 c +389.5005 148.6143 384.3794 142.0781 384.3794 128.7148 c +384.3774 110.0322 396.5337 92.25 412.6548 92.25 c +421.8677 92.25 429.2876 98.6465 433.1255 108.2422 C +428.9028 102.4844 423.145 98.1348 415.2114 98.1348 c +403.5708 98.1348 394.3579 110.5439 394.356 128.459 c +394.356 145.3457 406.2583 165.0518 422.1216 165.0508 c +430.8247 165.0488 437.3481 158.0117 437.3481 148.9277 c +437.3481 140.8672 432.1021 136.2637 426.2173 136.2637 c +421.7798 136.2637 418.7231 139.3936 417.772 142.7871 c +417.7388 142.9023 417.7915 143.0254 417.897 143.0811 c +418.0044 143.1357 418.1333 143.1104 418.2114 143.0186 c +418.9634 142.124 420.1079 141.3809 421.8657 141.3809 c +424.8091 141.3789 426.3442 143.9082 426.3442 145.7285 c +426.3442 149.1836 423.7856 151.6152 419.9458 151.6152 c +414.7036 151.6152 410.606 145.8564 410.606 138.4385 c +410.606 129.2236 419.436 120.7813 428.2642 120.7813 c +437.2856 120.7813 446.9438 128.8408 446.9438 143.8125 c +446.9419 158.5234 436.9653 175.4141 421.0981 175.4141 c +411.8481 175.4141 403.9849 171.2441 397.9556 164.3398 c +397.8755 164.248 397.7427 164.2246 397.6392 164.2852 c +397.5317 164.3477 397.4849 164.4727 397.5239 164.5879 c +401.9575 177.5234 399.4771 189.7344 392.7036 189.7324 c +389.3892 189.7324 387.7017 187.3535 387.7017 184.8154 c +387.7017 182.21 389.6001 180.0566 392.6704 179.6611 c +392.7915 179.6475 392.8833 179.5479 392.8931 179.4268 c +392.8989 179.3047 392.8188 179.1943 392.7017 179.1641 c +385.8872 177.4004 378.8774 181.1133 378.8774 188.2061 c +378.8774 194.4854 384.2544 199.3398 391.2896 199.3398 c +401.9263 199.3379 407.0142 188.0684 404.7485 177.8047 C +410.2075 184.8486 418.3013 190.6396 429.9263 190.6396 c +453.4692 190.6396 465.3677 163.7715 465.3677 145.7285 c +465.3677 129.3525 462.0415 118.8604 455.1313 110.8018 C +463.1938 116.9404 466.52 123.7227 468.0552 133.0645 C +474.1958 141.5078 490.188 141.5078 v +496.8755 141.5078 503.1177 139.0322 507.9614 134.3438 C +507.9634 134.3447 507.9653 134.3477 507.9673 134.3486 C +508.0024 134.3105 508.0396 134.2695 508.0767 134.2314 C +508.397 133.915 508.7114 133.5918 509.02 133.2578 C +514.0806 128.4102 524.2114 123.8633 533.4517 127.6602 c +533.5571 127.7031 533.6782 127.6699 533.7485 127.582 c +533.8188 127.4932 533.8188 127.3672 533.7524 127.2754 c +529.3462 121.252 521.729 119.335 516.0747 120.21 C +517.1177 116.4941 517.6958 112.3281 517.6958 107.7305 c +517.6978 91.3262 508.8989 79.7598 499.2856 74.1289 C +502.438 70.3281 501.7954 64.3535 498.2544 60.2949 c +498.1743 60.2051 498.0435 60.1816 497.938 60.2402 c +497.8345 60.2988 497.7837 60.4238 497.8188 60.5391 c +499.5513 66.0703 494.4282 70.6875 487.6392 70.4395 c +487.5161 70.4355 487.4067 70.5195 487.3813 70.6406 c +487.356 70.7617 487.4185 70.8828 487.5337 70.9277 c +497.6685 75.0918 504.3911 83.9102 504.3892 94.9355 c +504.3911 106.4492 497.481 115.79 486.3501 115.79 c +477.2661 115.79 468.1821 107.4727 468.1821 97.1133 c +468.1821 89.0508 472.6587 84.3184 478.4165 84.3164 c +483.4067 84.3184 487.3735 87.7715 487.3735 91.8672 c +487.3735 97.7188 480.7896 99.8408 477.2778 95.209 c +477.2095 95.1172 477.0864 95.084 476.981 95.127 c +476.8755 95.1689 476.811 95.2773 476.8228 95.3926 c +477.3462 99.7813 480.5767 103.8926 485.5825 103.8926 c +490.188 103.8926 494.9224 100.0518 494.9224 91.8652 c +494.9224 82.1406 485.5845 72.291 470.231 72.2891 c +449.2466 72.2891 437.8599 95.959 448.0942 114.8945 C +442.8501 108.8809 438.1157 102.4844 438.1157 91.0977 c +438.1138 69.5898 459.3794 55.0488 484.4692 63.5977 c +484.5884 63.6367 484.7192 63.584 484.7759 63.4746 c +484.8345 63.3633 484.8013 63.2266 484.6997 63.1523 c +477.6938 58.043 470.356 50.5137 470.356 37.873 c +470.356 24.6934 479.0552 15.3535 492.6196 15.3535 c +503.1099 15.3535 509.7642 21.752 509.7642 29.2988 c +509.7642 35.0566 506.0454 39.6641 499.6567 39.6641 c +490.1431 39.6641 486.9087 29.3203 491.8325 24.6953 c +491.9165 24.6152 491.936 24.4902 491.8813 24.3887 c +491.8247 24.2871 491.7056 24.2344 491.5942 24.2637 c +486.8247 25.5 482.2563 30.332 482.2563 37.6152 c +482.2544 50.1563 493.897 58.4727 506.6919 58.4727 c +512.688 58.4727 518.4907 56.7188 523.1646 53.4297 C +522.6118 49.2773 524.0317 44.6816 526.1313 41.5879 C +524.1821 48.457 526.2915 59.7656 536.8032 59.7676 c +542.6958 59.7656 546.5903 55.2383 546.5903 49.8867 c +546.5903 43.5605 541.2446 40.6094 536.895 41.2148 c +536.7798 41.2305 536.6899 41.3223 536.6763 41.4375 c +536.6646 41.5527 536.731 41.6602 536.8384 41.7031 c +538.4243 42.3105 539.7817 43.9727 539.7817 45.9668 c +539.7817 48.4668 537.8696 49.9492 535.8696 49.9492 c +532.5767 49.9492 530.7466 46.2793 531.8989 42.2305 C +531.8872 42.2285 L +532.9595 39.3926 533.561 36.2246 533.561 32.7363 c +533.561 15.9746 515.3813 0.001953 492.4399 0 c +468.229 0 455.3872 17.2734 455.3892 35.0566 c +455.3892 44.5938 458.9692 51.8184 463.5767 56.4258 C +443.6548 54.3066 431.0786 62.8223 424.2974 75.1035 C +428.7759 78.9414 430.438 84.5723 Y +425.0649 77.5352 415.854 71.3945 402.9321 71.3945 c +383.356 71.3945 368.0005 90.5859 368.0005 111.1836 c +368.0005 124.2568 372.8032 136.9648 382.5649 145.4307 C +376.5278 150.459 373.9185 157.8018 376.6938 163.7344 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0.35 0.6 0.8 0.25 k + 0.35 0.6 0.8 0.25 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +240.2622 96.3711 m +240.3872 96.3711 240.4927 96.4629 240.5103 96.585 c +242.8911 112.5996 252.1646 125.9746 264.9028 133.9814 c +265.0063 134.0449 265.0493 134.1758 265.0044 134.29 c +264.9575 134.4023 264.8384 134.4688 264.7173 134.4443 c +254.2466 132.3398 244.9243 126.5811 238.27 118.4141 C +233.644 131.7891 223.0337 140.418 209.9692 144.0654 C +214.7778 149.6582 212.2622 157.5986 204.8501 158.9023 c +204.7368 158.9229 204.6245 158.8643 204.5757 158.7607 c +204.5278 158.6563 204.5542 158.5322 204.6421 158.46 c +208.6157 155.1143 207.1616 147.04 195.3052 147.04 c +187.5103 147.04 182.4849 150.2188 182.4849 154.5254 c +182.4849 157.9102 185.5464 159.7559 188.1255 159.7559 c +192.5415 159.7559 195.0649 155.7949 193.1675 152.2129 c +193.1128 152.1104 193.1353 151.9814 193.2231 151.9033 c +193.311 151.8271 193.4399 151.8184 193.5366 151.8857 c +195.7856 153.4492 197.356 155.5059 197.356 158.6768 c +197.356 164.0635 192.3306 169.8066 184.0239 169.8066 c +175.1021 169.8066 167.0005 162.9355 167.0005 154.5254 c +167.0005 142.71 177.0493 137.0918 187.6138 136.0918 C +183.2485 134.4189 179.98 129.5664 v +179.9146 129.4697 179.9243 129.3418 180.0015 129.2559 c +180.0796 129.1689 180.2056 129.1475 180.3091 129.2012 c +186.1392 132.2822 192.7954 133.9453 199.811 133.9453 c +219.4321 133.9453 236.3579 117.541 240.0103 96.5801 c +240.0317 96.4561 240.1382 96.3691 240.2622 96.3711 c +f +316.9399 148.7773 m +321.5493 156.4551 323.1919 169.627 318.897 179.46 c +318.8481 179.5703 318.8833 179.6992 318.9829 179.7686 c +319.0806 179.8379 319.2153 179.8281 319.3032 179.7461 c +324.1099 175.1914 328.2427 164.5684 326.0083 152.2871 C +329.106 149.8936 331.0532 147.5176 332.522 144.335 c +332.5688 144.2314 332.5415 144.1104 332.4556 144.0352 c +332.3696 143.9629 332.2446 143.9551 332.1489 144.0186 c +327.1528 147.3809 322.686 148.5283 316.9399 148.7773 C +f +306.3306 28.9707 m +306.4009 28.8672 306.3833 28.7266 306.2915 28.6426 c +306.1978 28.5586 306.0571 28.5547 305.9595 28.6348 c +299.145 34.1621 290.0845 37.6895 278.9243 37.6895 c +251.3521 37.6895 233.9517 21.1719 231.2163 3.76367 c +231.1987 3.65234 231.1099 3.56641 230.9985 3.55078 c +230.8862 3.53711 230.7778 3.59766 230.7329 3.70117 c +228.0073 9.95898 226.3657 19.0352 234.7817 31.209 c +239.8159 38.4941 245.9106 43.5098 245.9106 50.0273 c +245.9106 54.2852 243.6509 57.1797 240.2231 57.1797 c +236.6177 57.1797 234.2866 54.0918 234.2866 50.625 c +234.2866 48.877 234.7915 47.1465 235.6958 45.5801 c +235.7544 45.4766 235.7358 45.3496 235.6509 45.2676 c +235.5649 45.1875 235.436 45.1758 235.3384 45.2402 c +232.3657 47.1777 229.7114 50.6367 229.7114 55.5117 c +229.7114 62.6836 235.8442 68.6816 244.1802 68.6816 c +253.1548 68.6816 260.5044 61.6328 260.5044 51.4922 c +260.5044 48.0156 259.5142 43.8242 257.0415 40.3613 C +260.4263 43.1875 262.2329 45.1875 263.7192 49.5117 C +274.1196 51.3223 285.2251 49.6602 294.0493 43.8691 C +294.3052 49.9707 296.3013 55.0605 300.3931 59.1875 c +300.4771 59.2715 300.6079 59.2852 300.7075 59.2227 c +300.8091 59.1582 300.8521 59.0332 300.811 58.9219 c +297.9341 50.9199 299.8657 38.7246 306.3306 28.9707 c +f +393.6978 35.6055 m +391.4517 30.8066 386.2388 28.1211 380.2368 28.0117 c +380.1118 28.0098 380.0044 28.0977 379.9829 28.2188 c +379.9595 28.3418 380.0278 28.4609 380.1431 28.5039 c +382.1899 29.2578 383.8052 30.5762 384.6646 32.4141 c +386.8774 37.1426 383.2974 43.5098 376.6509 46.7832 c +376.5728 46.8223 376.52 46.8965 376.5103 46.9824 c +376.5005 47.0684 376.5337 47.1523 376.6001 47.207 c +380.8911 50.7266 386.0122 57.2617 386.0122 70.627 c +386.0122 89.3086 373.8579 107.0898 357.7368 107.0898 c +348.5239 107.0898 341.104 100.6934 337.2661 91.0977 C +341.4868 96.8564 347.2446 101.2051 355.1782 101.2051 c +366.8208 101.2051 376.0337 88.7969 376.0337 70.8828 c +376.0337 53.9941 364.1333 34.2891 348.2681 34.2891 c +339.5669 34.2891 333.0435 41.3281 333.0435 50.4121 c +333.0435 58.4746 338.2896 63.0781 344.1763 63.0781 c +348.6099 63.0781 351.6685 59.9473 352.6196 56.5527 c +352.6509 56.4375 352.6001 56.3164 352.4927 56.2598 c +352.3872 56.2051 352.2583 56.2305 352.1802 56.3223 c +351.4282 57.2168 350.2837 57.9609 348.5259 57.9609 c +345.5825 57.9609 344.0474 55.4316 344.0474 53.6113 c +344.0474 50.1563 346.606 47.7246 350.4458 47.7246 c +355.6899 47.7246 359.7856 53.4824 359.7856 60.9023 c +359.7856 70.1152 350.9556 78.5586 342.1274 78.5586 c +333.106 78.5586 323.4478 70.5 323.4478 55.5293 c +323.4478 40.8164 333.4282 23.9258 349.2935 23.9258 c +358.5435 23.9258 366.4048 28.0957 372.436 35.002 c +372.5161 35.0918 372.6489 35.1152 372.7544 35.0547 c +372.8599 34.9941 372.9067 34.8672 372.8677 34.752 c +368.4341 21.8164 370.9126 9.60742 377.688 9.60742 c +381.0024 9.60742 382.6899 11.9863 382.6899 14.5234 c +382.6899 17.1309 380.7915 19.2852 377.7212 19.6777 c +377.6001 19.6934 377.5063 19.793 377.4985 19.9141 c +377.4927 20.0352 377.5708 20.1465 377.6899 20.1758 c +384.5044 21.9395 391.5142 18.2285 391.5142 11.1328 c +391.5142 4.85547 386.1372 0.001953 379.1021 0.001953 c +368.4653 0.001953 363.3774 11.2715 365.6431 21.5371 C +360.1841 14.4922 352.0903 8.70117 340.4653 8.70117 c +316.9224 8.70117 305.0239 35.5703 305.0239 53.6113 c +305.0239 69.9883 308.3501 80.4785 315.2603 88.5391 C +307.1978 82.3984 303.8716 75.6172 302.3384 66.2773 C +296.1958 57.832 280.2036 57.832 v +273.5161 57.832 267.2739 60.3086 262.4302 64.998 C +262.4282 64.9961 262.4263 64.9941 262.4243 64.9902 C +262.3892 65.0313 262.3501 65.0703 262.3149 65.1094 C +261.9946 65.4238 261.6802 65.748 261.3716 66.082 C +256.3091 70.9316 246.1802 75.4785 236.9399 71.6797 c +236.8345 71.6367 236.7134 71.6699 236.6431 71.7578 c +236.5728 71.8477 236.5708 71.9727 236.6382 72.0645 c +241.0454 78.0898 248.6626 80.0059 254.3169 79.1309 C +253.272 82.8457 252.6938 87.0117 252.6938 91.6094 c +252.6938 108.0137 261.4927 119.5801 271.106 125.2109 C +267.9517 129.0137 268.5962 134.9883 272.1372 139.0449 c +272.2173 139.1357 272.3481 139.1582 272.4536 139.0996 c +272.5571 139.041 272.606 138.918 272.5708 138.8018 c +270.8403 133.2695 275.9634 128.6523 282.7524 128.9004 c +282.8755 128.9033 282.9829 128.8193 283.0103 128.6992 c +283.0356 128.5801 282.9712 128.457 282.8579 128.4111 c +272.7212 124.248 266.0005 115.4316 266.0005 104.4033 c +266.0005 92.8906 272.9087 83.5488 284.0415 83.5488 c +293.1255 83.5488 302.2095 91.8672 302.2095 102.2285 c +302.2095 110.2891 297.731 115.0225 291.9731 115.0225 c +286.9849 115.0225 283.0181 111.5684 283.0181 107.4736 c +283.0181 101.6211 289.6001 99.499 293.1118 104.1309 c +293.1821 104.2227 293.3032 104.2559 293.4087 104.2129 c +293.5161 104.1699 293.5806 104.0625 293.5669 103.9482 c +293.0435 99.5586 289.8149 95.4482 284.8091 95.4482 c +280.2036 95.4482 275.4692 99.2861 275.4692 107.4746 c +275.4692 117.1982 284.8071 127.0508 300.1606 127.0508 c +321.1431 127.0508 332.5317 103.3809 322.2974 84.4453 C +327.5415 90.459 332.2759 96.8555 332.2759 108.2432 c +332.2759 129.75 311.0122 144.291 285.9224 135.7441 c +285.8032 135.7021 285.6724 135.7559 285.6157 135.8672 c +285.5571 135.9785 285.5884 136.1143 285.6899 136.1895 c +292.6958 141.2979 300.0337 148.8262 300.0337 161.4668 c +300.0337 174.6475 291.3345 183.9854 277.772 183.9854 c +267.2798 183.9854 260.6274 177.5879 260.6274 170.04 c +260.6274 164.2822 264.3462 159.6768 270.7349 159.6768 c +280.2466 159.6768 283.481 170.0195 278.5591 174.6445 c +278.4751 174.7236 278.4556 174.8516 278.5103 174.9521 c +278.5669 175.0547 278.6841 175.1055 278.7974 175.0762 c +283.5669 173.8398 288.1353 169.0068 288.1353 161.7236 c +288.1353 149.1855 276.4927 140.8682 263.6978 140.8682 c +257.7017 140.8682 251.8989 142.623 247.2271 145.9102 C +247.7778 150.0635 246.3579 154.6602 244.2603 157.752 C +246.2095 150.8848 244.1021 139.5732 233.5864 139.5732 c +227.6958 139.5732 223.8013 144.1025 223.8013 149.4551 c +223.8013 155.7793 229.147 158.7314 233.4966 158.125 c +233.6118 158.1104 233.7007 158.0186 233.7134 157.9023 c +233.7271 157.7891 233.6606 157.6797 233.5532 157.6367 c +231.9673 157.0293 230.6108 155.3691 230.6108 153.373 c +230.6108 150.873 232.52 149.3906 234.52 149.3906 c +237.8149 149.3906 239.645 153.0605 238.4927 157.1104 C +238.5044 157.1104 L +237.4312 159.9473 236.8286 163.1152 236.8286 166.6055 c +236.8286 183.3672 255.0103 199.3398 277.9497 199.3398 c +302.1626 199.3398 315.0044 182.0664 315.0044 164.2822 c +315.0044 154.7461 311.4224 147.5225 306.8149 142.915 C +326.7368 145.0332 339.313 136.5176 346.0942 124.2354 C +341.6157 120.3975 339.9536 114.7676 Y +345.3267 121.8057 354.5376 127.9453 367.4595 127.9453 c +387.0356 127.9453 402.3911 108.7539 402.3911 88.1563 c +402.3911 75.084 397.5884 62.375 387.8267 53.9102 C +393.8638 48.8809 396.4731 41.5391 393.6978 35.6055 c +f +*U +*u +315.2114 160.9053 m +315.1782 160.7852 315.2388 160.6582 315.3521 160.6094 c +330.1763 154.0957 340.6372 141.6289 345.0063 127.2324 c +345.0415 127.1152 345.1548 127.0391 345.2778 127.0527 c +345.3989 127.0664 345.4946 127.166 345.5024 127.2871 c +346.229 137.9434 343.1274 148.4531 337.0005 157.0234 C +351.1216 157.9648 362.2407 165.9297 369.1997 177.5723 C +373.3286 171.46 381.6509 171.7969 384.8599 178.6035 c +384.9106 178.708 384.8833 178.832 384.7954 178.9063 c +384.7075 178.9805 384.5806 178.9873 384.4868 178.9219 c +380.2134 175.9688 372.8071 179.498 375.9282 190.9355 c +377.981 198.4561 382.3716 202.4668 386.5259 201.333 c +389.7915 200.4414 390.7661 197.002 390.0864 194.5146 c +388.9243 190.2539 384.438 188.8623 381.481 191.6357 c +381.397 191.7158 381.2681 191.7285 381.1704 191.6641 c +381.0728 191.5986 381.0298 191.4775 381.0688 191.3662 c +381.9868 188.7852 383.5571 186.7285 386.6157 185.8936 c +391.811 184.4756 398.6743 187.8115 400.8618 195.8252 c +403.2114 204.4316 398.7153 214.0566 390.604 216.2715 c +379.2036 219.3818 371.1392 211.166 367.3931 201.2383 C +366.9263 205.8896 363.1079 210.3203 v +363.0317 210.4092 362.9048 210.4336 362.8013 210.3818 c +362.6978 210.3291 362.6431 210.2129 362.6665 210.0996 c +364.106 203.6641 363.9575 196.8047 362.1099 190.0361 c +356.9438 171.1074 336.6626 159.0977 315.479 161.0938 c +315.354 161.1055 315.2407 161.0254 315.2114 160.9053 c +f +345.5806 73.1348 m +351.7739 66.666 364.0493 61.6133 374.6646 63.168 c +374.7856 63.1855 374.9009 63.1172 374.9399 63.0039 c +374.981 62.8906 374.936 62.7637 374.8345 62.7012 c +369.1743 59.2617 357.8384 58.0723 346.5786 63.4609 C +343.4536 61.1035 340.6489 59.8496 337.1919 59.2715 c +337.0806 59.2539 336.9692 59.3125 336.9204 59.4141 c +336.8735 59.5156 336.8989 59.6387 336.9849 59.7148 c +341.5454 63.6484 343.8286 67.6563 345.5806 73.1348 C +f +232.7935 114.9121 m +232.6753 114.8711 232.5444 114.9258 232.4878 115.0371 c +232.4312 115.1484 232.4644 115.2852 232.5679 115.3594 c +239.6938 120.4785 245.4829 128.291 248.4204 139.0566 c +255.6802 165.6563 244.3267 186.792 228.2534 194.0146 c +228.1499 194.0605 228.0903 194.1689 228.105 194.2803 c +228.1216 194.3926 228.2085 194.4814 228.3198 194.4971 c +235.0747 195.4785 244.2622 194.6729 253.7915 183.3486 c +259.4927 176.5732 262.7271 169.373 269.0142 167.6563 c +273.1216 166.5352 276.5103 167.9551 277.4126 171.2617 c +278.3618 174.7393 275.9966 177.8018 272.6528 178.7148 c +270.9653 179.1738 269.1626 179.1436 267.4146 178.6836 c +267.2993 178.6533 267.1821 178.7051 267.1255 178.8086 c +267.0708 178.9121 267.0923 179.04 267.1802 179.1172 c +269.8325 181.4746 273.8677 183.125 278.5708 181.8408 c +285.4907 179.9531 289.6606 172.457 287.4673 164.415 c +285.104 155.7578 276.3696 150.5234 266.5864 153.1934 c +263.2329 154.1084 259.4497 156.168 256.7603 159.4648 C +258.5942 155.4551 260.0493 153.1855 263.8286 150.6133 C +262.8364 140.1035 258.3091 129.8271 250.4009 122.8389 C +256.2192 120.9863 260.604 117.7207 263.5083 112.6855 c +263.5669 112.582 263.5454 112.4531 263.4595 112.373 c +263.3696 112.293 263.2388 112.2832 263.1411 112.3535 c +256.1802 117.2344 243.9048 118.582 232.7935 114.9121 c +f +216.1919 28.8809 m +212.1538 32.3105 210.936 38.0469 212.4106 43.8672 c +212.4419 43.9883 212.5542 44.0684 212.6772 44.0566 c +212.8022 44.0469 212.8989 43.9492 212.9097 43.8281 c +213.0981 41.6543 213.9448 39.748 215.4917 38.4355 c +219.4712 35.0566 226.5562 36.834 231.4634 42.3828 c +231.522 42.4492 231.6079 42.4805 231.6929 42.4668 c +231.7788 42.4531 231.8511 42.3984 231.8862 42.3203 c +234.1519 37.2539 239.1079 30.5938 252.0005 27.0742 c +270.0239 22.1563 290.3794 29.1992 294.6235 44.752 c +297.0493 53.6406 292.8306 62.4824 284.5845 68.7109 C +289.0298 63.123 291.7075 56.4238 289.6177 48.7695 c +286.5532 37.5391 272.1567 31.918 254.8755 36.6348 c +238.5825 41.0801 222.7065 57.748 226.8833 73.0547 c +229.1743 81.4492 237.6821 85.8887 246.4458 83.4961 c +254.2231 81.375 257.2837 75.1016 255.7329 69.4219 c +254.5669 65.1445 250.7407 63.0195 247.2153 62.9941 c +247.0962 62.9941 246.9927 63.0762 246.9653 63.1934 c +246.9419 63.3105 246.9985 63.4277 247.1079 63.4785 c +248.1704 63.9688 249.188 64.877 249.6509 66.5742 c +250.4263 69.4121 248.3911 71.5605 246.6353 72.0391 c +243.3022 72.9492 240.2827 71.1211 239.271 67.416 c +237.8911 62.3574 242.3667 56.8906 249.5239 54.9355 c +258.4126 52.5117 268.8833 58.8066 271.2075 67.3223 c +273.5825 76.0254 268.3501 87.4648 253.9087 91.4063 c +239.7153 95.2813 220.7925 90.0996 216.6157 74.793 c +214.1802 65.8691 216.1333 57.1875 221.2075 49.5508 c +221.2739 49.4512 221.2612 49.3164 221.1753 49.2305 c +221.0884 49.1445 220.9536 49.1328 220.853 49.2012 c +209.5415 56.8828 197.1108 57.707 195.3267 51.1699 c +194.4536 47.9727 196.3042 45.7188 198.7524 45.0508 c +201.2681 44.3652 203.8462 45.6289 205.0327 48.4883 c +205.0796 48.5996 205.2007 48.6641 205.3198 48.6406 c +205.438 48.6133 205.5249 48.5098 205.522 48.3867 c +205.4292 41.3477 200.0034 35.5625 193.1577 37.4316 c +187.1021 39.084 183.8354 45.5488 185.688 52.3359 c +188.4888 62.5977 200.6997 64.5391 210.0063 59.6504 C +204.647 66.7715 201.1919 76.1035 204.2524 87.3184 c +210.4507 110.0313 239.5044 114.4355 256.9087 109.6855 c +272.7075 105.373 281.9517 99.4023 287.9087 90.6152 C +284.1079 100.0098 278.4419 105.0039 269.8345 108.9434 C +263.3052 117.0918 267.5161 132.5195 v +269.2759 138.9707 273.3091 144.3418 279.1079 147.7793 C +279.1079 147.7813 279.106 147.7842 279.1021 147.7871 C +279.1509 147.8105 279.1997 147.8379 279.2466 147.8613 C +279.6333 148.0879 280.0298 148.3057 280.4321 148.5146 C +286.4438 152.1211 293.4966 160.6973 292.2661 170.6113 c +292.2524 170.7236 292.3149 170.832 292.4185 170.877 c +292.5239 170.9219 292.645 170.8896 292.7153 170.8018 c +297.3677 164.9629 297.2114 157.1104 294.8794 151.8857 C +298.7368 151.915 302.9087 151.375 307.3442 150.165 c +323.1685 145.8457 332.0122 134.3135 334.9126 123.5566 C +339.4106 125.5977 345.0063 123.4043 347.9888 118.9199 c +348.0532 118.8184 348.0415 118.6855 347.9575 118.5996 c +347.8735 118.5156 347.7407 118.5 347.6392 118.5645 c +342.7583 121.6914 336.9556 117.9648 335.4048 111.3496 c +335.3774 111.2305 335.2681 111.1484 335.145 111.1543 c +335.022 111.1602 334.9204 111.2539 334.9067 111.377 c +333.5591 122.251 326.8228 131.0566 316.1841 133.96 c +305.0767 136.9922 294.2446 132.7852 291.3149 122.0469 c +288.9224 113.2832 294.5571 102.3301 304.5513 99.6016 c +312.3286 97.4785 318.0747 100.5527 319.5903 106.1074 c +320.9048 110.9199 318.6157 115.6563 314.6665 116.7344 c +309.0181 118.2754 305.2388 112.4844 308.7837 107.877 c +308.8521 107.7852 308.854 107.6602 308.7837 107.5684 c +308.7153 107.4766 308.5923 107.4434 308.4868 107.4863 c +304.3892 109.1465 301.2739 113.3418 302.5923 118.1729 c +303.8052 122.6152 308.7544 126.1729 316.6548 124.0166 c +326.0356 121.457 333.0806 109.8555 329.0376 95.043 c +323.5142 74.7988 297.6802 70.0449 282.1079 84.9043 C +286.5278 78.2617 291.4517 72.0098 302.438 69.0117 c +323.188 63.3496 342.813 80.0332 341.1724 106.4902 c +341.1646 106.6152 341.2505 106.7285 341.3735 106.7539 c +341.4946 106.7813 341.6196 106.7129 341.6646 106.5977 c +344.7466 98.4922 350.0786 89.4316 362.2739 86.1035 c +374.9888 82.6328 386.2876 88.5664 389.8599 101.6504 c +392.6216 111.7734 388.2017 119.875 380.9204 121.8623 c +375.3657 123.3789 369.9419 121.0039 368.2603 114.8398 c +365.7563 105.6641 374.8833 99.8203 380.6411 103.3516 c +380.7388 103.4121 380.8677 103.3965 380.9497 103.3164 c +381.0337 103.2363 381.0513 103.1094 380.9927 103.0078 c +378.5454 98.7324 372.6802 95.5977 365.6548 97.5156 c +353.5571 100.8164 348.6001 114.2383 351.9673 126.5811 c +353.5454 132.3652 356.7681 137.502 361.1685 141.1426 C +365.0298 139.5186 369.8384 139.6777 373.3735 140.8867 C +366.2349 140.8154 355.8794 145.8262 358.647 155.9707 c +360.1978 161.6533 365.5923 164.2188 370.7563 162.8086 c +376.8579 161.1436 378.2974 155.21 376.5688 151.1729 c +376.522 151.0654 376.4106 151.0039 376.2974 151.0225 c +376.1821 151.04 376.0942 151.1318 376.0825 151.2471 c +375.9146 152.9375 374.6685 154.6836 372.7446 155.208 c +370.3325 155.8662 368.3989 154.415 367.8735 152.4854 c +367.0044 149.3066 370.063 146.5752 374.2739 146.6211 C +374.27 146.6094 L +377.2896 146.8984 380.5044 146.6445 383.8716 145.7266 c +400.0415 141.3125 410.6646 119.5674 404.6235 97.4375 c +398.2485 74.0781 378.2056 66.2363 361.0474 70.9199 c +351.8481 73.4297 345.8228 78.7871 342.5903 84.4453 C +339.3892 64.668 327.8618 54.7793 314.229 51.4707 C +311.7056 56.8008 306.7114 59.8867 Y +312.0864 52.8496 315.5845 42.3477 312.1821 29.8809 c +307.0278 10.9961 284.4712 1.23438 264.6001 6.6582 c +251.9888 10.0996 240.9927 18.0801 235.397 29.7266 C +228.9556 25.2266 221.186 24.6406 216.1919 28.8809 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0 0 0 0 k + 0 0 0 0 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +363.1294 102.9688 m +363.0044 102.9688 362.8989 102.877 362.8794 102.7539 c +360.5005 86.7402 351.2271 73.3652 338.4888 65.3594 c +338.3853 65.2949 338.3403 65.1641 338.3872 65.0508 c +338.4321 64.9375 338.5532 64.8711 338.6724 64.8965 c +349.145 67 358.4653 72.7598 365.1216 80.9277 C +369.7466 67.5508 380.3579 58.9219 393.4224 55.2734 C +388.6138 49.6816 391.1294 41.7402 398.5415 40.4375 c +398.6548 40.416 398.7661 40.4746 398.8149 40.5781 c +398.8638 40.6816 398.8364 40.8066 398.7485 40.8809 c +394.7759 44.2266 396.229 52.3008 408.0864 52.3008 c +415.8794 52.3008 420.9067 49.1211 420.9067 44.8145 c +420.9067 41.4297 417.8442 39.584 415.2642 39.584 c +410.8501 39.584 408.3267 43.5449 410.2231 47.127 c +410.2778 47.2305 410.2563 47.3574 410.1685 47.4355 c +410.0806 47.5137 409.9517 47.5215 409.854 47.4551 c +407.606 45.8906 406.0356 43.834 406.0356 40.6641 c +406.0356 35.2773 411.061 29.5352 419.3677 29.5332 c +428.2896 29.5332 436.3911 36.4043 436.3911 44.8145 c +436.3911 56.6309 426.3423 62.248 415.7778 63.248 C +420.1431 64.9219 423.4106 69.7734 v +423.4771 69.8691 423.4673 69.998 423.3892 70.084 c +423.311 70.1719 423.1841 70.1934 423.0825 70.1387 c +417.2524 67.0566 410.5942 65.3945 403.5806 65.3945 c +383.9575 65.3945 367.0337 81.7988 363.3813 102.7607 c +363.3599 102.8818 363.2524 102.9727 363.1294 102.9688 c +f +286.4517 50.5625 m +281.8442 42.8867 280.1997 29.7129 284.4946 19.8809 c +284.5435 19.7695 284.5083 19.6406 284.4087 19.5703 c +284.3091 19.502 284.1763 19.5117 284.0884 19.5957 c +279.2817 24.1484 275.1489 34.7715 277.3833 47.0527 C +274.2876 49.4473 272.3384 51.8223 270.8696 55.0059 c +270.8228 55.1074 270.8501 55.2305 270.936 55.3047 c +271.022 55.377 271.147 55.3848 271.2427 55.3203 c +276.2388 51.959 280.7056 50.8125 286.4517 50.5625 C +f +297.0591 170.3691 m +296.9907 170.4727 297.0083 170.6133 297.1001 170.6973 c +297.1938 170.7813 297.3345 170.7852 297.4321 170.7061 c +304.2466 165.1797 313.3071 161.6504 324.4673 161.6504 c +352.0376 161.6504 369.4399 178.1689 372.1743 195.5771 c +372.1919 195.6885 372.2817 195.7734 372.3931 195.7891 c +372.5044 195.8047 372.6138 195.7422 372.6587 195.6396 c +375.3833 189.3818 377.0259 180.3057 368.6099 168.1309 c +363.5747 160.8457 357.479 155.8311 357.479 149.3145 c +357.479 145.0566 359.7407 142.1602 363.1685 142.1602 c +366.7739 142.1602 369.106 145.248 369.104 148.7148 c +369.104 150.4629 368.6001 152.1934 367.6958 153.7607 c +367.6372 153.8633 367.6548 153.9902 367.7407 154.0723 c +367.8247 154.1523 367.9556 154.165 368.0532 154.1016 c +371.0259 152.1641 373.6802 148.7021 373.6802 143.8281 c +373.6802 136.6563 367.5474 130.6602 359.2095 130.6602 c +350.2368 130.6602 342.8872 137.709 342.8872 147.8477 c +342.8872 151.3262 343.8755 155.5156 346.3501 158.9805 C +342.9653 156.1523 341.1587 154.1523 339.6724 149.8271 C +329.272 148.0186 318.1665 149.6797 309.3403 155.4727 C +309.0864 149.3711 307.0903 144.2793 302.9985 140.1533 c +302.9146 140.0684 302.7837 140.0547 302.6841 140.1182 c +302.5825 140.1816 302.5415 140.3066 302.5806 140.4189 c +305.4575 148.4199 303.5239 160.6152 297.0591 170.3691 c +f +209.6938 163.7344 m +211.938 168.5352 217.1528 171.2188 223.1548 171.3271 c +223.2798 171.3311 223.3872 171.2432 223.4087 171.1211 c +223.4321 170.998 223.3638 170.8779 223.2485 170.8359 c +221.2017 170.082 219.5864 168.7637 218.7271 166.9258 c +216.5142 162.1973 220.0942 155.8301 226.7407 152.5566 c +226.8188 152.5186 226.8716 152.4434 226.8813 152.3594 c +226.8911 152.2725 226.856 152.1885 226.7915 152.1318 c +222.5005 148.6143 217.3794 142.0781 217.3794 128.7148 c +217.3774 110.0322 229.5337 92.25 245.6548 92.25 c +254.8677 92.25 262.2876 98.6465 266.1255 108.2422 C +261.9028 102.4844 256.145 98.1348 248.2114 98.1348 c +236.5708 98.1348 227.3579 110.5439 227.356 128.459 c +227.356 145.3457 239.2583 165.0518 255.1216 165.0508 c +263.8247 165.0488 270.3481 158.0117 270.3481 148.9277 c +270.3481 140.8672 265.1021 136.2637 259.2173 136.2637 c +254.7798 136.2637 251.7231 139.3936 250.772 142.7871 c +250.7388 142.9023 250.7915 143.0254 250.897 143.0811 c +251.0044 143.1357 251.1333 143.1104 251.2114 143.0186 c +251.9634 142.124 253.1079 141.3809 254.8657 141.3809 c +257.8091 141.3789 259.3442 143.9082 259.3442 145.7285 c +259.3442 149.1836 256.7856 151.6152 252.9458 151.6152 c +247.7036 151.6152 243.606 145.8564 243.606 138.4385 c +243.606 129.2236 252.436 120.7813 261.2642 120.7813 c +270.2856 120.7813 279.9438 128.8408 279.9438 143.8125 c +279.9419 158.5234 269.9653 175.4141 254.0981 175.4141 c +244.8481 175.4141 236.9849 171.2441 230.9556 164.3398 c +230.8755 164.248 230.7427 164.2246 230.6392 164.2852 c +230.5317 164.3477 230.4849 164.4727 230.5239 164.5879 c +234.9575 177.5234 232.4771 189.7344 225.7036 189.7324 c +222.3892 189.7324 220.7017 187.3535 220.7017 184.8154 c +220.7017 182.21 222.6001 180.0566 225.6704 179.6611 c +225.7915 179.6475 225.8833 179.5479 225.8931 179.4268 c +225.8989 179.3047 225.8188 179.1943 225.7017 179.1641 c +218.8872 177.4004 211.8774 181.1133 211.8774 188.2061 c +211.8774 194.4854 217.2544 199.3398 224.2896 199.3398 c +234.9263 199.3379 240.0142 188.0684 237.7485 177.8047 C +243.2075 184.8486 251.3013 190.6396 262.9263 190.6396 c +286.4692 190.6396 298.3677 163.7715 298.3677 145.7285 c +298.3677 129.3525 295.0415 118.8604 288.1313 110.8018 C +296.1938 116.9404 299.52 123.7227 301.0552 133.0645 C +307.1958 141.5078 323.188 141.5078 v +329.8755 141.5078 336.1177 139.0322 340.9614 134.3438 C +340.9634 134.3447 340.9653 134.3477 340.9673 134.3486 C +341.0024 134.3105 341.0396 134.2695 341.0767 134.2314 C +341.397 133.915 341.7114 133.5918 342.02 133.2578 C +347.0806 128.4102 357.2114 123.8633 366.4517 127.6602 c +366.5571 127.7031 366.6782 127.6699 366.7485 127.582 c +366.8188 127.4932 366.8188 127.3672 366.7524 127.2754 c +362.3462 121.252 354.729 119.335 349.0747 120.21 C +350.1177 116.4941 350.6958 112.3281 350.6958 107.7305 c +350.6978 91.3262 341.8989 79.7598 332.2856 74.1289 C +335.438 70.3281 334.7954 64.3535 331.2544 60.2949 c +331.1743 60.2051 331.0435 60.1816 330.938 60.2402 c +330.8345 60.2988 330.7837 60.4238 330.8188 60.5391 c +332.5513 66.0703 327.4282 70.6875 320.6392 70.4395 c +320.5161 70.4355 320.4067 70.5195 320.3813 70.6406 c +320.356 70.7617 320.4185 70.8828 320.5337 70.9277 c +330.6685 75.0918 337.3911 83.9102 337.3892 94.9355 c +337.3911 106.4492 330.481 115.79 319.3501 115.79 c +310.2661 115.79 301.1821 107.4727 301.1821 97.1133 c +301.1821 89.0508 305.6587 84.3184 311.4165 84.3164 c +316.4067 84.3184 320.3735 87.7715 320.3735 91.8672 c +320.3735 97.7188 313.7896 99.8408 310.2778 95.209 c +310.2095 95.1172 310.0864 95.084 309.981 95.127 c +309.8755 95.1689 309.811 95.2773 309.8228 95.3926 c +310.3462 99.7813 313.5767 103.8926 318.5825 103.8926 c +323.188 103.8926 327.9224 100.0518 327.9224 91.8652 c +327.9224 82.1406 318.5845 72.291 303.231 72.2891 c +282.2466 72.2891 270.8599 95.959 281.0942 114.8945 C +275.8501 108.8809 271.1157 102.4844 271.1157 91.0977 c +271.1138 69.5898 292.3794 55.0488 317.4692 63.5977 c +317.5884 63.6367 317.7192 63.584 317.7759 63.4746 c +317.8345 63.3633 317.8013 63.2266 317.6997 63.1523 c +310.6938 58.043 303.356 50.5137 303.356 37.873 c +303.356 24.6934 312.0552 15.3535 325.6196 15.3535 c +336.1099 15.3535 342.7642 21.752 342.7642 29.2988 c +342.7642 35.0566 339.0454 39.6641 332.6567 39.6641 c +323.1431 39.6641 319.9087 29.3203 324.8325 24.6953 c +324.9165 24.6152 324.936 24.4902 324.8813 24.3887 c +324.8247 24.2871 324.7056 24.2344 324.5942 24.2637 c +319.8247 25.5 315.2563 30.332 315.2563 37.6152 c +315.2544 50.1563 326.897 58.4727 339.6919 58.4727 c +345.688 58.4727 351.4907 56.7188 356.1646 53.4297 C +355.6118 49.2773 357.0317 44.6816 359.1313 41.5879 C +357.1821 48.457 359.2915 59.7656 369.8032 59.7676 c +375.6958 59.7656 379.5903 55.2383 379.5903 49.8867 c +379.5903 43.5605 374.2446 40.6094 369.895 41.2148 c +369.7798 41.2305 369.6899 41.3223 369.6763 41.4375 c +369.6646 41.5527 369.731 41.6602 369.8384 41.7031 c +371.4243 42.3105 372.7817 43.9727 372.7817 45.9668 c +372.7817 48.4668 370.8696 49.9492 368.8696 49.9492 c +365.5767 49.9492 363.7466 46.2793 364.8989 42.2305 C +364.8872 42.2285 L +365.9595 39.3926 366.561 36.2246 366.561 32.7363 c +366.561 15.9746 348.3813 0.001953 325.4399 0 c +301.229 0 288.3872 17.2734 288.3892 35.0566 c +288.3892 44.5938 291.9692 51.8184 296.5767 56.4258 C +276.6548 54.3066 264.0786 62.8223 257.2974 75.1035 C +261.7759 78.9414 263.438 84.5723 Y +258.0649 77.5352 248.854 71.3945 235.9321 71.3945 c +216.356 71.3945 201.0005 90.5859 201.0005 111.1836 c +201.0005 124.2568 205.8032 136.9648 215.5649 145.4307 C +209.5278 150.459 206.9185 157.8018 209.6938 163.7344 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0.35 0.6 0.8 0.25 k + 0.35 0.6 0.8 0.25 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +73.2617 96.3711 m +73.3867 96.3711 73.4922 96.4629 73.5098 96.585 c +75.8906 112.5996 85.1641 125.9746 97.9023 133.9814 c +98.0059 134.0449 98.0488 134.1758 98.0039 134.29 c +97.957 134.4023 97.8379 134.4688 97.7168 134.4443 c +87.2461 132.3398 77.9238 126.5811 71.2695 118.4141 C +66.6436 131.7891 56.0332 140.418 42.9688 144.0654 C +47.7773 149.6582 45.2617 157.5986 37.8496 158.9023 c +37.7363 158.9229 37.624 158.8643 37.5752 158.7607 c +37.5273 158.6563 37.5537 158.5322 37.6416 158.46 c +41.6152 155.1143 40.1611 147.04 28.3047 147.04 c +20.5098 147.04 15.4844 150.2188 15.4844 154.5254 c +15.4844 157.9102 18.5459 159.7559 21.125 159.7559 c +25.541 159.7559 28.0645 155.7949 26.167 152.2129 c +26.1123 152.1104 26.1348 151.9814 26.2227 151.9033 c +26.3105 151.8271 26.4395 151.8184 26.5361 151.8857 c +28.7852 153.4492 30.3555 155.5059 30.3555 158.6768 c +30.3555 164.0635 25.3301 169.8066 17.0234 169.8066 c +8.10156 169.8066 0 162.9355 0 154.5254 c +0 142.71 10.0488 137.0918 20.6133 136.0918 C +16.248 134.4189 12.9795 129.5664 v +12.9141 129.4697 12.9238 129.3418 13.001 129.2559 c +13.0791 129.1689 13.2051 129.1475 13.3086 129.2012 c +19.1387 132.2822 25.7949 133.9453 32.8105 133.9453 c +52.4316 133.9453 69.3574 117.541 73.0098 96.5801 c +73.0313 96.4561 73.1377 96.3691 73.2617 96.3711 c +f +149.9395 148.7773 m +154.5488 156.4551 156.1914 169.627 151.8965 179.46 c +151.8477 179.5703 151.8828 179.6992 151.9824 179.7686 c +152.0801 179.8379 152.2148 179.8281 152.3027 179.7461 c +157.1094 175.1914 161.2422 164.5684 159.0078 152.2871 C +162.1055 149.8936 164.0527 147.5176 165.5215 144.335 c +165.5684 144.2314 165.541 144.1104 165.4551 144.0352 c +165.3691 143.9629 165.2441 143.9551 165.1484 144.0186 c +160.1523 147.3809 155.6855 148.5283 149.9395 148.7773 C +f +139.3301 28.9707 m +139.4004 28.8672 139.3828 28.7266 139.291 28.6426 c +139.1973 28.5586 139.0566 28.5547 138.959 28.6348 c +132.1445 34.1621 123.084 37.6895 111.9238 37.6895 c +84.3516 37.6895 66.9512 21.1719 64.2158 3.76367 c +64.1982 3.65234 64.1094 3.56641 63.998 3.55078 c +63.8857 3.53711 63.7773 3.59766 63.7324 3.70117 c +61.0068 9.95898 59.3652 19.0352 67.7813 31.209 c +72.8154 38.4941 78.9102 43.5098 78.9102 50.0273 c +78.9102 54.2852 76.6504 57.1797 73.2227 57.1797 c +69.6172 57.1797 67.2861 54.0918 67.2861 50.625 c +67.2861 48.877 67.791 47.1465 68.6953 45.5801 c +68.7539 45.4766 68.7354 45.3496 68.6504 45.2676 c +68.5645 45.1875 68.4355 45.1758 68.3379 45.2402 c +65.3652 47.1777 62.7109 50.6367 62.7109 55.5117 c +62.7109 62.6836 68.8438 68.6816 77.1797 68.6816 c +86.1543 68.6816 93.5039 61.6328 93.5039 51.4922 c +93.5039 48.0156 92.5137 43.8242 90.041 40.3613 C +93.4258 43.1875 95.2324 45.1875 96.7188 49.5117 C +107.1191 51.3223 118.2246 49.6602 127.0488 43.8691 C +127.3047 49.9707 129.3008 55.0605 133.3926 59.1875 c +133.4766 59.2715 133.6074 59.2852 133.707 59.2227 c +133.8086 59.1582 133.8516 59.0332 133.8105 58.9219 c +130.9336 50.9199 132.8652 38.7246 139.3301 28.9707 c +f +226.6973 35.6055 m +224.4512 30.8066 219.2383 28.1211 213.2363 28.0117 c +213.1113 28.0098 213.0039 28.0977 212.9824 28.2188 c +212.959 28.3418 213.0273 28.4609 213.1426 28.5039 c +215.1895 29.2578 216.8047 30.5762 217.6641 32.4141 c +219.877 37.1426 216.2969 43.5098 209.6504 46.7832 c +209.5723 46.8223 209.5195 46.8965 209.5098 46.9824 c +209.5 47.0684 209.5332 47.1523 209.5996 47.207 c +213.8906 50.7266 219.0117 57.2617 219.0117 70.627 c +219.0117 89.3086 206.8574 107.0898 190.7363 107.0898 c +181.5234 107.0898 174.1035 100.6934 170.2656 91.0977 C +174.4863 96.8564 180.2441 101.2051 188.1777 101.2051 c +199.8203 101.2051 209.0332 88.7969 209.0332 70.8828 c +209.0332 53.9941 197.1328 34.2891 181.2676 34.2891 c +172.5664 34.2891 166.043 41.3281 166.043 50.4121 c +166.043 58.4746 171.2891 63.0781 177.1758 63.0781 c +181.6094 63.0781 184.668 59.9473 185.6191 56.5527 c +185.6504 56.4375 185.5996 56.3164 185.4922 56.2598 c +185.3867 56.2051 185.2578 56.2305 185.1797 56.3223 c +184.4277 57.2168 183.2832 57.9609 181.5254 57.9609 c +178.582 57.9609 177.0469 55.4316 177.0469 53.6113 c +177.0469 50.1563 179.6055 47.7246 183.4453 47.7246 c +188.6895 47.7246 192.7852 53.4824 192.7852 60.9023 c +192.7852 70.1152 183.9551 78.5586 175.127 78.5586 c +166.1055 78.5586 156.4473 70.5 156.4473 55.5293 c +156.4473 40.8164 166.4277 23.9258 182.293 23.9258 c +191.543 23.9258 199.4043 28.0957 205.4355 35.002 c +205.5156 35.0918 205.6484 35.1152 205.7539 35.0547 c +205.8594 34.9941 205.9063 34.8672 205.8672 34.752 c +201.4336 21.8164 203.9121 9.60742 210.6875 9.60742 c +214.002 9.60742 215.6895 11.9863 215.6895 14.5234 c +215.6895 17.1309 213.791 19.2852 210.7207 19.6777 c +210.5996 19.6934 210.5059 19.793 210.498 19.9141 c +210.4922 20.0352 210.5703 20.1465 210.6895 20.1758 c +217.5039 21.9395 224.5137 18.2285 224.5137 11.1328 c +224.5137 4.85547 219.1367 0.001953 212.1016 0.001953 c +201.4648 0.001953 196.377 11.2715 198.6426 21.5371 C +193.1836 14.4922 185.0898 8.70117 173.4648 8.70117 c +149.9219 8.70117 138.0234 35.5703 138.0234 53.6113 c +138.0234 69.9883 141.3496 80.4785 148.2598 88.5391 C +140.1973 82.3984 136.8711 75.6172 135.3379 66.2773 C +129.1953 57.832 113.2031 57.832 v +106.5156 57.832 100.2734 60.3086 95.4297 64.998 C +95.4277 64.9961 95.4258 64.9941 95.4238 64.9902 C +95.3887 65.0313 95.3496 65.0703 95.3145 65.1094 C +94.9941 65.4238 94.6797 65.748 94.3711 66.082 C +89.3086 70.9316 79.1797 75.4785 69.9395 71.6797 c +69.834 71.6367 69.7129 71.6699 69.6426 71.7578 c +69.5723 71.8477 69.5703 71.9727 69.6377 72.0645 c +74.0449 78.0898 81.6621 80.0059 87.3164 79.1309 C +86.2715 82.8457 85.6934 87.0117 85.6934 91.6094 c +85.6934 108.0137 94.4922 119.5801 104.1055 125.2109 C +100.9512 129.0137 101.5957 134.9883 105.1367 139.0449 c +105.2168 139.1357 105.3477 139.1582 105.4531 139.0996 c +105.5566 139.041 105.6055 138.918 105.5703 138.8018 c +103.8398 133.2695 108.9629 128.6523 115.752 128.9004 c +115.875 128.9033 115.9824 128.8193 116.0098 128.6992 c +116.0352 128.5801 115.9707 128.457 115.8574 128.4111 c +105.7207 124.248 99 115.4316 99 104.4033 c +99 92.8906 105.9082 83.5488 117.041 83.5488 c +126.125 83.5488 135.209 91.8672 135.209 102.2285 c +135.209 110.2891 130.7305 115.0225 124.9727 115.0225 c +119.9844 115.0225 116.0176 111.5684 116.0176 107.4736 c +116.0176 101.6211 122.5996 99.499 126.1113 104.1309 c +126.1816 104.2227 126.3027 104.2559 126.4082 104.2129 c +126.5156 104.1699 126.5801 104.0625 126.5664 103.9482 c +126.043 99.5586 122.8145 95.4482 117.8086 95.4482 c +113.2031 95.4482 108.4688 99.2861 108.4688 107.4746 c +108.4688 117.1982 117.8066 127.0508 133.1602 127.0508 c +154.1426 127.0508 165.5313 103.3809 155.2969 84.4453 C +160.541 90.459 165.2754 96.8555 165.2754 108.2432 c +165.2754 129.75 144.0117 144.291 118.9219 135.7441 c +118.8027 135.7021 118.6719 135.7559 118.6152 135.8672 c +118.5566 135.9785 118.5879 136.1143 118.6895 136.1895 c +125.6953 141.2979 133.0332 148.8262 133.0332 161.4668 c +133.0332 174.6475 124.334 183.9854 110.7715 183.9854 c +100.2793 183.9854 93.627 177.5879 93.627 170.04 c +93.627 164.2822 97.3457 159.6768 103.7344 159.6768 c +113.2461 159.6768 116.4805 170.0195 111.5586 174.6445 c +111.4746 174.7236 111.4551 174.8516 111.5098 174.9521 c +111.5664 175.0547 111.6836 175.1055 111.7969 175.0762 c +116.5664 173.8398 121.1348 169.0068 121.1348 161.7236 c +121.1348 149.1855 109.4922 140.8682 96.6973 140.8682 c +90.7012 140.8682 84.8984 142.623 80.2266 145.9102 C +80.7773 150.0635 79.3574 154.6602 77.2598 157.752 C +79.209 150.8848 77.1016 139.5732 66.5859 139.5732 c +60.6953 139.5732 56.8008 144.1025 56.8008 149.4551 c +56.8008 155.7793 62.1465 158.7314 66.4961 158.125 c +66.6113 158.1104 66.7002 158.0186 66.7129 157.9023 c +66.7266 157.7891 66.6602 157.6797 66.5527 157.6367 c +64.9668 157.0293 63.6104 155.3691 63.6104 153.373 c +63.6104 150.873 65.5195 149.3906 67.5195 149.3906 c +70.8145 149.3906 72.6445 153.0605 71.4922 157.1104 C +71.5039 157.1104 L +70.4307 159.9473 69.8281 163.1152 69.8281 166.6055 c +69.8281 183.3672 88.0098 199.3398 110.9492 199.3398 c +135.1621 199.3398 148.0039 182.0664 148.0039 164.2822 c +148.0039 154.7461 144.4219 147.5225 139.8145 142.915 C +159.7363 145.0332 172.3125 136.5176 179.0938 124.2354 C +174.6152 120.3975 172.9531 114.7676 Y +178.3262 121.8057 187.5371 127.9453 200.459 127.9453 c +220.0352 127.9453 235.3906 108.7539 235.3906 88.1563 c +235.3906 75.084 230.5879 62.375 220.8262 53.9102 C +226.8633 48.8809 229.4727 41.5391 226.6973 35.6055 c +f +*U +*u +148.2109 160.9053 m +148.1777 160.7852 148.2383 160.6582 148.3516 160.6094 c +163.1758 154.0957 173.6367 141.6289 178.0059 127.2324 c +178.041 127.1152 178.1543 127.0391 178.2773 127.0527 c +178.3984 127.0664 178.4941 127.166 178.502 127.2871 c +179.2285 137.9434 176.127 148.4531 170 157.0234 C +184.1211 157.9648 195.2402 165.9297 202.1992 177.5723 C +206.3281 171.46 214.6504 171.7969 217.8594 178.6035 c +217.9102 178.708 217.8828 178.832 217.7949 178.9063 c +217.707 178.9805 217.5801 178.9873 217.4863 178.9219 c +213.2129 175.9688 205.8066 179.498 208.9277 190.9355 c +210.9805 198.4561 215.3711 202.4668 219.5254 201.333 c +222.791 200.4414 223.7656 197.002 223.0859 194.5146 c +221.9238 190.2539 217.4375 188.8623 214.4805 191.6357 c +214.3965 191.7158 214.2676 191.7285 214.1699 191.6641 c +214.0723 191.5986 214.0293 191.4775 214.0684 191.3662 c +214.9863 188.7852 216.5566 186.7285 219.6152 185.8936 c +224.8105 184.4756 231.6738 187.8115 233.8613 195.8252 c +236.2109 204.4316 231.7148 214.0566 223.6035 216.2715 c +212.2031 219.3818 204.1387 211.166 200.3926 201.2383 C +199.9258 205.8896 196.1074 210.3203 v +196.0313 210.4092 195.9043 210.4336 195.8008 210.3818 c +195.6973 210.3291 195.6426 210.2129 195.666 210.0996 c +197.1055 203.6641 196.957 196.8047 195.1094 190.0361 c +189.9434 171.1074 169.6621 159.0977 148.4785 161.0938 c +148.3535 161.1055 148.2402 161.0254 148.2109 160.9053 c +f +178.5801 73.1348 m +184.7734 66.666 197.0488 61.6133 207.6641 63.168 c +207.7852 63.1855 207.9004 63.1172 207.9395 63.0039 c +207.9805 62.8906 207.9355 62.7637 207.834 62.7012 c +202.1738 59.2617 190.8379 58.0723 179.5781 63.4609 C +176.4531 61.1035 173.6484 59.8496 170.1914 59.2715 c +170.0801 59.2539 169.9688 59.3125 169.9199 59.4141 c +169.873 59.5156 169.8984 59.6387 169.9844 59.7148 c +174.5449 63.6484 176.8281 67.6563 178.5801 73.1348 C +f +65.793 114.9121 m +65.6748 114.8711 65.5439 114.9258 65.4873 115.0371 c +65.4307 115.1484 65.4639 115.2852 65.5674 115.3594 c +72.6934 120.4785 78.4824 128.291 81.4199 139.0566 c +88.6797 165.6563 77.3262 186.792 61.2529 194.0146 c +61.1494 194.0605 61.0898 194.1689 61.1045 194.2803 c +61.1211 194.3926 61.208 194.4814 61.3193 194.4971 c +68.0742 195.4785 77.2617 194.6729 86.791 183.3486 c +92.4922 176.5732 95.7266 169.373 102.0137 167.6563 c +106.1211 166.5352 109.5098 167.9551 110.4121 171.2617 c +111.3613 174.7393 108.9961 177.8018 105.6523 178.7148 c +103.9648 179.1738 102.1621 179.1436 100.4141 178.6836 c +100.2988 178.6533 100.1816 178.7051 100.125 178.8086 c +100.0703 178.9121 100.0918 179.04 100.1797 179.1172 c +102.832 181.4746 106.8672 183.125 111.5703 181.8408 c +118.4902 179.9531 122.6602 172.457 120.4668 164.415 c +118.1035 155.7578 109.3691 150.5234 99.5859 153.1934 c +96.2324 154.1084 92.4492 156.168 89.7598 159.4648 C +91.5938 155.4551 93.0488 153.1855 96.8281 150.6133 C +95.8359 140.1035 91.3086 129.8271 83.4004 122.8389 C +89.2188 120.9863 93.6035 117.7207 96.5078 112.6855 c +96.5664 112.582 96.5449 112.4531 96.459 112.373 c +96.3691 112.293 96.2383 112.2832 96.1406 112.3535 c +89.1797 117.2344 76.9043 118.582 65.793 114.9121 c +f +49.1914 28.8809 m +45.1533 32.3105 43.9355 38.0469 45.4102 43.8672 c +45.4414 43.9883 45.5537 44.0684 45.6768 44.0566 c +45.8018 44.0469 45.8984 43.9492 45.9092 43.8281 c +46.0977 41.6543 46.9443 39.748 48.4912 38.4355 c +52.4707 35.0566 59.5557 36.834 64.4629 42.3828 c +64.5215 42.4492 64.6074 42.4805 64.6924 42.4668 c +64.7783 42.4531 64.8506 42.3984 64.8857 42.3203 c +67.1514 37.2539 72.1074 30.5938 85 27.0742 c +103.0234 22.1563 123.3789 29.1992 127.623 44.752 c +130.0488 53.6406 125.8301 62.4824 117.584 68.7109 C +122.0293 63.123 124.707 56.4238 122.6172 48.7695 c +119.5527 37.5391 105.1563 31.918 87.875 36.6348 c +71.582 41.0801 55.7061 57.748 59.8828 73.0547 c +62.1738 81.4492 70.6816 85.8887 79.4453 83.4961 c +87.2227 81.375 90.2832 75.1016 88.7324 69.4219 c +87.5664 65.1445 83.7402 63.0195 80.2148 62.9941 c +80.0957 62.9941 79.9922 63.0762 79.9648 63.1934 c +79.9414 63.3105 79.998 63.4277 80.1074 63.4785 c +81.1699 63.9688 82.1875 64.877 82.6504 66.5742 c +83.4258 69.4121 81.3906 71.5605 79.6348 72.0391 c +76.3018 72.9492 73.2822 71.1211 72.2705 67.416 c +70.8906 62.3574 75.3662 56.8906 82.5234 54.9355 c +91.4121 52.5117 101.8828 58.8066 104.207 67.3223 c +106.582 76.0254 101.3496 87.4648 86.9082 91.4063 c +72.7148 95.2813 53.792 90.0996 49.6152 74.793 c +47.1797 65.8691 49.1328 57.1875 54.207 49.5508 c +54.2734 49.4512 54.2607 49.3164 54.1748 49.2305 c +54.0879 49.1445 53.9531 49.1328 53.8525 49.2012 c +42.541 56.8828 30.1104 57.707 28.3262 51.1699 c +27.4531 47.9727 29.3037 45.7188 31.752 45.0508 c +34.2676 44.3652 36.8457 45.6289 38.0322 48.4883 c +38.0791 48.5996 38.2002 48.6641 38.3193 48.6406 c +38.4375 48.6133 38.5244 48.5098 38.5215 48.3867 c +38.4287 41.3477 33.0029 35.5625 26.1572 37.4316 c +20.1016 39.084 16.835 45.5488 18.6875 52.3359 c +21.4883 62.5977 33.6992 64.5391 43.0059 59.6504 C +37.6465 66.7715 34.1914 76.1035 37.252 87.3184 c +43.4502 110.0313 72.5039 114.4355 89.9082 109.6855 c +105.707 105.373 114.9512 99.4023 120.9082 90.6152 C +117.1074 100.0098 111.4414 105.0039 102.834 108.9434 C +96.3047 117.0918 100.5156 132.5195 v +102.2754 138.9707 106.3086 144.3418 112.1074 147.7793 C +112.1074 147.7813 112.1055 147.7842 112.1016 147.7871 C +112.1504 147.8105 112.1992 147.8379 112.2461 147.8613 C +112.6328 148.0879 113.0293 148.3057 113.4316 148.5146 C +119.4434 152.1211 126.4961 160.6973 125.2656 170.6113 c +125.252 170.7236 125.3145 170.832 125.418 170.877 c +125.5234 170.9219 125.6445 170.8896 125.7148 170.8018 c +130.3672 164.9629 130.2109 157.1104 127.8789 151.8857 C +131.7363 151.915 135.9082 151.375 140.3438 150.165 c +156.168 145.8457 165.0117 134.3135 167.9121 123.5566 C +172.4102 125.5977 178.0059 123.4043 180.9883 118.9199 c +181.0527 118.8184 181.041 118.6855 180.957 118.5996 c +180.873 118.5156 180.7402 118.5 180.6387 118.5645 c +175.7578 121.6914 169.9551 117.9648 168.4043 111.3496 c +168.377 111.2305 168.2676 111.1484 168.1445 111.1543 c +168.0215 111.1602 167.9199 111.2539 167.9063 111.377 c +166.5586 122.251 159.8223 131.0566 149.1836 133.96 c +138.0762 136.9922 127.2441 132.7852 124.3145 122.0469 c +121.9219 113.2832 127.5566 102.3301 137.5508 99.6016 c +145.3281 97.4785 151.0742 100.5527 152.5898 106.1074 c +153.9043 110.9199 151.6152 115.6563 147.666 116.7344 c +142.0176 118.2754 138.2383 112.4844 141.7832 107.877 c +141.8516 107.7852 141.8535 107.6602 141.7832 107.5684 c +141.7148 107.4766 141.5918 107.4434 141.4863 107.4863 c +137.3887 109.1465 134.2734 113.3418 135.5918 118.1729 c +136.8047 122.6152 141.7539 126.1729 149.6543 124.0166 c +159.0352 121.457 166.0801 109.8555 162.0371 95.043 c +156.5137 74.7988 130.6797 70.0449 115.1074 84.9043 C +119.5273 78.2617 124.4512 72.0098 135.4375 69.0117 c +156.1875 63.3496 175.8125 80.0332 174.1719 106.4902 c +174.1641 106.6152 174.25 106.7285 174.373 106.7539 c +174.4941 106.7813 174.6191 106.7129 174.6641 106.5977 c +177.7461 98.4922 183.0781 89.4316 195.2734 86.1035 c +207.9883 82.6328 219.2871 88.5664 222.8594 101.6504 c +225.6211 111.7734 221.2012 119.875 213.9199 121.8623 c +208.3652 123.3789 202.9414 121.0039 201.2598 114.8398 c +198.7559 105.6641 207.8828 99.8203 213.6406 103.3516 c +213.7383 103.4121 213.8672 103.3965 213.9492 103.3164 c +214.0332 103.2363 214.0508 103.1094 213.9922 103.0078 c +211.5449 98.7324 205.6797 95.5977 198.6543 97.5156 c +186.5566 100.8164 181.5996 114.2383 184.9668 126.5811 c +186.5449 132.3652 189.7676 137.502 194.168 141.1426 C +198.0293 139.5186 202.8379 139.6777 206.373 140.8867 C +199.2344 140.8154 188.8789 145.8262 191.6465 155.9707 c +193.1973 161.6533 198.5918 164.2188 203.7559 162.8086 c +209.8574 161.1436 211.2969 155.21 209.5684 151.1729 c +209.5215 151.0654 209.4102 151.0039 209.2969 151.0225 c +209.1816 151.04 209.0938 151.1318 209.082 151.2471 c +208.9141 152.9375 207.668 154.6836 205.7441 155.208 c +203.332 155.8662 201.3984 154.415 200.873 152.4854 c +200.0039 149.3066 203.0625 146.5752 207.2734 146.6211 C +207.2695 146.6094 L +210.2891 146.8984 213.5039 146.6445 216.8711 145.7266 c +233.041 141.3125 243.6641 119.5674 237.623 97.4375 c +231.248 74.0781 211.2051 66.2363 194.0469 70.9199 c +184.8477 73.4297 178.8223 78.7871 175.5898 84.4453 C +172.3887 64.668 160.8613 54.7793 147.2285 51.4707 C +144.7051 56.8008 139.7109 59.8867 Y +145.0859 52.8496 148.584 42.3477 145.1816 29.8809 c +140.0273 10.9961 117.4707 1.23438 97.5996 6.6582 c +84.9883 10.0996 73.9922 18.0801 68.3965 29.7266 C +61.9551 25.2266 54.1855 24.6406 49.1914 28.8809 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0 0 0 0 k + 0 0 0 0 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +196.1289 102.9688 m +196.0039 102.9688 195.8984 102.877 195.8789 102.7539 c +193.5 86.7402 184.2266 73.3652 171.4883 65.3594 c +171.3848 65.2949 171.3398 65.1641 171.3867 65.0508 c +171.4316 64.9375 171.5527 64.8711 171.6719 64.8965 c +182.1445 67 191.4648 72.7598 198.1211 80.9277 C +202.7461 67.5508 213.3574 58.9219 226.4219 55.2734 C +221.6133 49.6816 224.1289 41.7402 231.541 40.4375 c +231.6543 40.416 231.7656 40.4746 231.8145 40.5781 c +231.8633 40.6816 231.8359 40.8066 231.748 40.8809 c +227.7754 44.2266 229.2285 52.3008 241.0859 52.3008 c +248.8794 52.3008 253.9067 49.1211 253.9067 44.8145 c +253.9067 41.4297 250.8442 39.584 248.2642 39.584 c +243.8501 39.584 241.3262 43.5449 243.2227 47.127 c +243.2773 47.2305 243.2559 47.3574 243.168 47.4355 c +243.0801 47.5137 242.9512 47.5215 242.8535 47.4551 c +240.6055 45.8906 239.0352 43.834 239.0352 40.6641 c +239.0352 35.2773 244.061 29.5352 252.3677 29.5332 c +261.2896 29.5332 269.3911 36.4043 269.3911 44.8145 c +269.3911 56.6309 259.3423 62.248 248.7778 63.248 C +253.1431 64.9219 256.4106 69.7734 v +256.4771 69.8691 256.4673 69.998 256.3892 70.084 c +256.311 70.1719 256.1841 70.1934 256.0825 70.1387 c +250.2524 67.0566 243.5938 65.3945 236.5801 65.3945 c +216.957 65.3945 200.0332 81.7988 196.3809 102.7607 c +196.3594 102.8818 196.252 102.9727 196.1289 102.9688 c +f +119.4512 50.5625 m +114.8438 42.8867 113.1992 29.7129 117.4941 19.8809 c +117.543 19.7695 117.5078 19.6406 117.4082 19.5703 c +117.3086 19.502 117.1758 19.5117 117.0879 19.5957 c +112.2813 24.1484 108.1484 34.7715 110.3828 47.0527 C +107.2871 49.4473 105.3379 51.8223 103.8691 55.0059 c +103.8223 55.1074 103.8496 55.2305 103.9355 55.3047 c +104.0215 55.377 104.1465 55.3848 104.2422 55.3203 c +109.2383 51.959 113.7051 50.8125 119.4512 50.5625 C +f +130.0586 170.3691 m +129.9902 170.4727 130.0078 170.6133 130.0996 170.6973 c +130.1934 170.7813 130.334 170.7852 130.4316 170.7061 c +137.2461 165.1797 146.3066 161.6504 157.4668 161.6504 c +185.0371 161.6504 202.4395 178.1689 205.1738 195.5771 c +205.1914 195.6885 205.2813 195.7734 205.3926 195.7891 c +205.5039 195.8047 205.6133 195.7422 205.6582 195.6396 c +208.3828 189.3818 210.0254 180.3057 201.6094 168.1309 c +196.5742 160.8457 190.4785 155.8311 190.4785 149.3145 c +190.4785 145.0566 192.7402 142.1602 196.168 142.1602 c +199.7734 142.1602 202.1055 145.248 202.1035 148.7148 c +202.1035 150.4629 201.5996 152.1934 200.6953 153.7607 c +200.6367 153.8633 200.6543 153.9902 200.7402 154.0723 c +200.8242 154.1523 200.9551 154.165 201.0527 154.1016 c +204.0254 152.1641 206.6797 148.7021 206.6797 143.8281 c +206.6797 136.6563 200.5469 130.6602 192.209 130.6602 c +183.2363 130.6602 175.8867 137.709 175.8867 147.8477 c +175.8867 151.3262 176.875 155.5156 179.3496 158.9805 C +175.9648 156.1523 174.1582 154.1523 172.6719 149.8271 C +162.2715 148.0186 151.166 149.6797 142.3398 155.4727 C +142.0859 149.3711 140.0898 144.2793 135.998 140.1533 c +135.9141 140.0684 135.7832 140.0547 135.6836 140.1182 c +135.582 140.1816 135.541 140.3066 135.5801 140.4189 c +138.457 148.4199 136.5234 160.6152 130.0586 170.3691 c +f +42.6934 163.7344 m +44.9375 168.5352 50.1523 171.2188 56.1543 171.3271 c +56.2793 171.3311 56.3867 171.2432 56.4082 171.1211 c +56.4316 170.998 56.3633 170.8779 56.248 170.8359 c +54.2012 170.082 52.5859 168.7637 51.7266 166.9258 c +49.5137 162.1973 53.0938 155.8301 59.7402 152.5566 c +59.8184 152.5186 59.8711 152.4434 59.8809 152.3594 c +59.8906 152.2725 59.8555 152.1885 59.791 152.1318 c +55.5 148.6143 50.3789 142.0781 50.3789 128.7148 c +50.377 110.0322 62.5332 92.25 78.6543 92.25 c +87.8672 92.25 95.2871 98.6465 99.125 108.2422 C +94.9023 102.4844 89.1445 98.1348 81.2109 98.1348 c +69.5703 98.1348 60.3574 110.5439 60.3555 128.459 c +60.3555 145.3457 72.2578 165.0518 88.1211 165.0508 c +96.8242 165.0488 103.3477 158.0117 103.3477 148.9277 c +103.3477 140.8672 98.1016 136.2637 92.2168 136.2637 c +87.7793 136.2637 84.7227 139.3936 83.7715 142.7871 c +83.7383 142.9023 83.791 143.0254 83.8965 143.0811 c +84.0039 143.1357 84.1328 143.1104 84.2109 143.0186 c +84.9629 142.124 86.1074 141.3809 87.8652 141.3809 c +90.8086 141.3789 92.3438 143.9082 92.3438 145.7285 c +92.3438 149.1836 89.7852 151.6152 85.9453 151.6152 c +80.7031 151.6152 76.6055 145.8564 76.6055 138.4385 c +76.6055 129.2236 85.4355 120.7813 94.2637 120.7813 c +103.2852 120.7813 112.9434 128.8408 112.9434 143.8125 c +112.9414 158.5234 102.9648 175.4141 87.0977 175.4141 c +77.8477 175.4141 69.9844 171.2441 63.9551 164.3398 c +63.875 164.248 63.7422 164.2246 63.6387 164.2852 c +63.5313 164.3477 63.4844 164.4727 63.5234 164.5879 c +67.957 177.5234 65.4766 189.7344 58.7031 189.7324 c +55.3887 189.7324 53.7012 187.3535 53.7012 184.8154 c +53.7012 182.21 55.5996 180.0566 58.6699 179.6611 c +58.791 179.6475 58.8828 179.5479 58.8926 179.4268 c +58.8984 179.3047 58.8184 179.1943 58.7012 179.1641 c +51.8867 177.4004 44.877 181.1133 44.877 188.2061 c +44.877 194.4854 50.2539 199.3398 57.2891 199.3398 c +67.9258 199.3379 73.0137 188.0684 70.748 177.8047 C +76.207 184.8486 84.3008 190.6396 95.9258 190.6396 c +119.4688 190.6396 131.3672 163.7715 131.3672 145.7285 c +131.3672 129.3525 128.041 118.8604 121.1309 110.8018 C +129.1934 116.9404 132.5195 123.7227 134.0547 133.0645 C +140.1953 141.5078 156.1875 141.5078 v +162.875 141.5078 169.1172 139.0322 173.9609 134.3438 C +173.9629 134.3447 173.9648 134.3477 173.9668 134.3486 C +174.002 134.3105 174.0391 134.2695 174.0762 134.2314 C +174.3965 133.915 174.7109 133.5918 175.0195 133.2578 C +180.0801 128.4102 190.2109 123.8633 199.4512 127.6602 c +199.5566 127.7031 199.6777 127.6699 199.748 127.582 c +199.8184 127.4932 199.8184 127.3672 199.752 127.2754 c +195.3457 121.252 187.7285 119.335 182.0742 120.21 C +183.1172 116.4941 183.6953 112.3281 183.6953 107.7305 c +183.6973 91.3262 174.8984 79.7598 165.2852 74.1289 C +168.4375 70.3281 167.7949 64.3535 164.2539 60.2949 c +164.1738 60.2051 164.043 60.1816 163.9375 60.2402 c +163.834 60.2988 163.7832 60.4238 163.8184 60.5391 c +165.5508 66.0703 160.4277 70.6875 153.6387 70.4395 c +153.5156 70.4355 153.4063 70.5195 153.3809 70.6406 c +153.3555 70.7617 153.418 70.8828 153.5332 70.9277 c +163.668 75.0918 170.3906 83.9102 170.3887 94.9355 c +170.3906 106.4492 163.4805 115.79 152.3496 115.79 c +143.2656 115.79 134.1816 107.4727 134.1816 97.1133 c +134.1816 89.0508 138.6582 84.3184 144.416 84.3164 c +149.4063 84.3184 153.373 87.7715 153.373 91.8672 c +153.373 97.7188 146.7891 99.8408 143.2773 95.209 c +143.209 95.1172 143.0859 95.084 142.9805 95.127 c +142.875 95.1689 142.8105 95.2773 142.8223 95.3926 c +143.3457 99.7813 146.5762 103.8926 151.582 103.8926 c +156.1875 103.8926 160.9219 100.0518 160.9219 91.8652 c +160.9219 82.1406 151.584 72.291 136.2305 72.2891 c +115.2461 72.2891 103.8594 95.959 114.0938 114.8945 C +108.8496 108.8809 104.1152 102.4844 104.1152 91.0977 c +104.1133 69.5898 125.3789 55.0488 150.4688 63.5977 c +150.5879 63.6367 150.7188 63.584 150.7754 63.4746 c +150.834 63.3633 150.8008 63.2266 150.6992 63.1523 c +143.6934 58.043 136.3555 50.5137 136.3555 37.873 c +136.3555 24.6934 145.0547 15.3535 158.6191 15.3535 c +169.1094 15.3535 175.7637 21.752 175.7637 29.2988 c +175.7637 35.0566 172.0449 39.6641 165.6563 39.6641 c +156.1426 39.6641 152.9082 29.3203 157.832 24.6953 c +157.916 24.6152 157.9355 24.4902 157.8809 24.3887 c +157.8242 24.2871 157.7051 24.2344 157.5938 24.2637 c +152.8242 25.5 148.2559 30.332 148.2559 37.6152 c +148.2539 50.1563 159.8965 58.4727 172.6914 58.4727 c +178.6875 58.4727 184.4902 56.7188 189.1641 53.4297 C +188.6113 49.2773 190.0313 44.6816 192.1309 41.5879 C +190.1816 48.457 192.291 59.7656 202.8027 59.7676 c +208.6953 59.7656 212.5898 55.2383 212.5898 49.8867 c +212.5898 43.5605 207.2441 40.6094 202.8945 41.2148 c +202.7793 41.2305 202.6895 41.3223 202.6758 41.4375 c +202.6641 41.5527 202.7305 41.6602 202.8379 41.7031 c +204.4238 42.3105 205.7813 43.9727 205.7813 45.9668 c +205.7813 48.4668 203.8691 49.9492 201.8691 49.9492 c +198.5762 49.9492 196.7461 46.2793 197.8984 42.2305 C +197.8867 42.2285 L +198.959 39.3926 199.5605 36.2246 199.5605 32.7363 c +199.5605 15.9746 181.3809 0.001953 158.4395 0 c +134.2285 0 121.3867 17.2734 121.3887 35.0566 c +121.3887 44.5938 124.9688 51.8184 129.5762 56.4258 C +109.6543 54.3066 97.0781 62.8223 90.2969 75.1035 C +94.7754 78.9414 96.4375 84.5723 Y +91.0645 77.5352 81.8535 71.3945 68.9316 71.3945 c +49.3555 71.3945 34 90.5859 34 111.1836 c +34 124.2568 38.8027 136.9648 48.5645 145.4307 C +42.5273 150.459 39.918 157.8018 42.6934 163.7344 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0.35 0.6 0.8 0.25 k + 0.35 0.6 0.8 0.25 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +407.2622 263.3711 m +407.3872 263.3711 407.4927 263.4629 407.5103 263.585 c +409.8911 279.5996 419.1646 292.9746 431.9028 300.9814 c +432.0063 301.0449 432.0493 301.1758 432.0044 301.29 c +431.9575 301.4023 431.8384 301.4688 431.7173 301.4443 c +421.2466 299.3398 411.9243 293.5811 405.27 285.4141 C +400.645 298.7891 390.0337 307.418 376.9692 311.0654 C +381.7778 316.6582 379.2622 324.5986 371.8501 325.9023 c +371.7368 325.9229 371.6255 325.8643 371.5767 325.7607 c +371.5278 325.6563 371.5552 325.5322 371.6431 325.46 c +375.6157 322.1143 374.1626 314.04 362.3052 314.04 c +354.5103 314.04 349.4849 317.2188 349.4849 321.5254 c +349.4849 324.9102 352.5474 326.7559 355.1255 326.7559 c +359.5415 326.7559 362.0649 322.7949 360.1685 319.2129 c +360.1138 319.1104 360.1353 318.9814 360.2231 318.9033 c +360.311 318.8271 360.4399 318.8184 360.5376 318.8857 c +362.7856 320.4492 364.356 322.5059 364.356 325.6768 c +364.356 331.0635 359.3306 336.8066 351.0239 336.8066 c +342.1021 336.8066 334.0005 329.9355 334.0005 321.5254 c +334.0005 309.71 344.0493 304.0918 354.6138 303.0918 C +350.2485 301.4189 346.981 296.5664 v +346.9146 296.4697 346.9243 296.3418 347.0024 296.2559 c +347.0806 296.1689 347.2056 296.1475 347.3091 296.2012 c +353.1392 299.2822 359.7954 300.9453 366.811 300.9453 c +386.4321 300.9453 403.3579 284.541 407.0103 263.5801 c +407.0317 263.4561 407.1392 263.3691 407.2622 263.3711 c +f +483.9399 315.7773 m +488.5493 323.4551 490.1919 336.627 485.897 346.46 c +485.8481 346.5703 485.8833 346.6992 485.9829 346.7686 c +486.0806 346.8379 486.2153 346.8281 486.3032 346.7461 c +491.1099 342.1914 495.2427 331.5684 493.0083 319.2871 C +496.106 316.8936 498.0532 314.5176 499.522 311.335 c +499.5688 311.2314 499.5415 311.1104 499.4556 311.0352 c +499.3696 310.9629 499.2446 310.9551 499.1489 311.0186 c +494.1528 314.3809 489.686 315.5283 483.9399 315.7773 C +f +473.3306 195.9707 m +473.4009 195.8672 473.3833 195.7266 473.2915 195.6426 c +473.1978 195.5586 473.0571 195.5547 472.9595 195.6348 c +466.145 201.1621 457.0845 204.6895 445.9243 204.6895 c +418.3521 204.6895 400.9517 188.1719 398.2173 170.7637 c +398.1997 170.6523 398.1099 170.5664 397.9985 170.5508 c +397.8872 170.5371 397.7778 170.5977 397.7329 170.7012 c +395.0083 176.959 393.3657 186.0352 401.7817 198.209 c +406.8169 205.4941 412.9106 210.5098 412.9106 217.0273 c +412.9106 221.2852 410.6509 224.1797 407.2231 224.1797 c +403.6177 224.1797 401.2876 221.0918 401.2876 217.625 c +401.2876 215.877 401.7915 214.1465 402.6958 212.5801 c +402.7544 212.4766 402.7368 212.3496 402.6509 212.2676 c +402.5649 212.1875 402.436 212.1758 402.3384 212.2402 c +399.3657 214.1777 396.7114 217.6367 396.7114 222.5117 c +396.7114 229.6836 402.8442 235.6816 411.1802 235.6816 c +420.1548 235.6816 427.5044 228.6328 427.5044 218.4922 c +427.5044 215.0156 426.5142 210.8242 424.0415 207.3613 C +427.4263 210.1875 429.2329 212.1875 430.7192 216.5117 C +441.1196 218.3223 452.2251 216.6602 461.0493 210.8691 C +461.3052 216.9707 463.3013 222.0605 467.3931 226.1875 c +467.4771 226.2715 467.6079 226.2852 467.7075 226.2227 c +467.8091 226.1582 467.8521 226.0332 467.811 225.9219 c +464.9341 217.9199 466.8657 205.7246 473.3306 195.9707 c +f +560.6978 202.6055 m +558.4517 197.8066 553.2388 195.1211 547.2368 195.0117 c +547.1118 195.0098 547.0044 195.0977 546.9829 195.2188 c +546.9595 195.3418 547.0278 195.4609 547.1431 195.5039 c +549.1899 196.2578 550.8052 197.5762 551.6646 199.4141 c +553.8774 204.1426 550.2974 210.5098 543.6509 213.7832 c +543.5728 213.8223 543.52 213.8965 543.5103 213.9824 c +543.5005 214.0684 543.5337 214.1523 543.6001 214.207 c +547.8911 217.7266 553.0122 224.2617 553.0122 237.627 c +553.0122 256.3086 540.8579 274.0898 524.7368 274.0898 c +515.5239 274.0898 508.104 267.6934 504.2661 258.0977 C +508.4868 263.8564 514.2446 268.2051 522.1782 268.2051 c +533.8208 268.2051 543.0337 255.7969 543.0337 237.8828 c +543.0337 220.9941 531.1333 201.2891 515.2681 201.2891 c +506.5669 201.2891 500.0435 208.3281 500.0435 217.4121 c +500.0435 225.4746 505.2896 230.0781 511.1763 230.0781 c +515.6099 230.0781 518.6685 226.9473 519.6196 223.5527 c +519.6509 223.4375 519.6001 223.3164 519.4927 223.2598 c +519.3872 223.2051 519.2583 223.2305 519.1802 223.3223 c +518.4282 224.2168 517.2837 224.9609 515.5259 224.9609 c +512.5825 224.9609 511.0474 222.4316 511.0474 220.6113 c +511.0474 217.1563 513.606 214.7246 517.4458 214.7246 c +522.6899 214.7246 526.7856 220.4824 526.7856 227.9023 c +526.7856 237.1152 517.9556 245.5586 509.1274 245.5586 c +500.106 245.5586 490.4478 237.5 490.4478 222.5293 c +490.4478 207.8164 500.4282 190.9258 516.2935 190.9258 c +525.5435 190.9258 533.4048 195.0957 539.436 202.002 c +539.5161 202.0918 539.6489 202.1152 539.7544 202.0547 c +539.8599 201.9941 539.9067 201.8672 539.8677 201.752 c +535.4341 188.8164 537.9126 176.6074 544.688 176.6074 c +548.0024 176.6074 549.6899 178.9863 549.6899 181.5234 c +549.6899 184.1309 547.7915 186.2852 544.7212 186.6777 c +544.6001 186.6934 544.5063 186.793 544.4985 186.9141 c +544.4927 187.0352 544.5708 187.1465 544.6899 187.1758 c +551.5044 188.9395 558.5142 185.2285 558.5142 178.1328 c +558.5142 171.8555 553.1372 167.002 546.1021 167.002 c +535.4653 167.002 530.3774 178.2715 532.6431 188.5371 C +527.1841 181.4922 519.0903 175.7012 507.4653 175.7012 c +483.9224 175.7012 472.0239 202.5703 472.0239 220.6113 c +472.0239 236.9883 475.3501 247.4785 482.2603 255.5391 C +474.1978 249.3984 470.8716 242.6172 469.3384 233.2773 C +463.1958 224.832 447.2036 224.832 v +440.5161 224.832 434.2739 227.3086 429.4302 231.998 C +429.4282 231.9961 429.4263 231.9941 429.4243 231.9902 C +429.3892 232.0313 429.3501 232.0703 429.3149 232.1094 C +428.9946 232.4238 428.6802 232.748 428.3716 233.082 C +423.3091 237.9316 413.1802 242.4785 403.9399 238.6797 c +403.8345 238.6367 403.7134 238.6699 403.6431 238.7578 c +403.5728 238.8477 403.5708 238.9727 403.6392 239.0645 c +408.0454 245.0898 415.6626 247.0059 421.3169 246.1309 C +420.272 249.8457 419.6938 254.0117 419.6938 258.6094 c +419.6938 275.0137 428.4927 286.5801 438.106 292.2109 C +434.9517 296.0137 435.5962 301.9883 439.1372 306.0449 c +439.2173 306.1357 439.3481 306.1582 439.4536 306.0996 c +439.5571 306.041 439.606 305.918 439.5708 305.8018 c +437.8403 300.2695 442.9634 295.6523 449.7524 295.9004 c +449.8755 295.9033 449.9829 295.8193 450.0103 295.6992 c +450.0356 295.5801 449.9712 295.457 449.8579 295.4111 c +439.7212 291.248 433.0005 282.4316 433.0005 271.4033 c +433.0005 259.8906 439.9087 250.5488 451.0415 250.5488 c +460.1255 250.5488 469.2095 258.8672 469.2095 269.2285 c +469.2095 277.2891 464.731 282.0225 458.9731 282.0225 c +453.9849 282.0225 450.0181 278.5684 450.0181 274.4736 c +450.0181 268.6211 456.6001 266.499 460.1118 271.1309 c +460.1821 271.2227 460.3032 271.2559 460.4087 271.2129 c +460.5161 271.1699 460.5806 271.0625 460.5669 270.9482 c +460.0435 266.5586 456.8149 262.4482 451.8091 262.4482 c +447.2036 262.4482 442.4692 266.2861 442.4692 274.4746 c +442.4692 284.1982 451.8071 294.0508 467.1606 294.0508 c +488.1431 294.0508 499.5317 270.3809 489.2974 251.4453 C +494.5415 257.459 499.2759 263.8555 499.2759 275.2432 c +499.2759 296.75 478.0122 311.291 452.9224 302.7441 c +452.8032 302.7021 452.6724 302.7559 452.6157 302.8672 c +452.5571 302.9785 452.5884 303.1143 452.6899 303.1895 c +459.6958 308.2979 467.0337 315.8262 467.0337 328.4668 c +467.0337 341.6475 458.3345 350.9854 444.772 350.9854 c +434.2798 350.9854 427.6274 344.5879 427.6274 337.04 c +427.6274 331.2822 431.3462 326.6768 437.7349 326.6768 c +447.2466 326.6768 450.481 337.0195 445.5591 341.6445 c +445.4751 341.7236 445.4556 341.8516 445.5103 341.9521 c +445.5669 342.0547 445.6841 342.1055 445.7974 342.0762 c +450.5669 340.8398 455.1353 336.0068 455.1353 328.7236 c +455.1353 316.1855 443.4927 307.8682 430.6978 307.8682 c +424.7017 307.8682 418.8989 309.623 414.2271 312.9102 C +414.7778 317.0635 413.3579 321.6602 411.2603 324.752 C +413.2095 317.8848 411.1021 306.5732 400.5864 306.5732 c +394.6958 306.5732 390.8013 311.1025 390.8013 316.4551 c +390.8013 322.7793 396.147 325.7314 400.4966 325.125 c +400.6118 325.1104 400.7017 325.0186 400.7134 324.9023 c +400.7271 324.7891 400.6606 324.6797 400.5532 324.6367 c +398.9673 324.0293 397.6118 322.3691 397.6118 320.373 c +397.6118 317.873 399.52 316.3906 401.52 316.3906 c +404.8149 316.3906 406.645 320.0605 405.4927 324.1104 C +405.5044 324.1104 L +404.4321 326.9473 403.8286 330.1152 403.8286 333.6055 c +403.8286 350.3672 422.0103 366.3398 444.9497 366.3398 c +469.1626 366.3398 482.0044 349.0664 482.0044 331.2822 c +482.0044 321.7461 478.4224 314.5225 473.8149 309.915 C +493.7368 312.0332 506.313 303.5176 513.0942 291.2354 C +508.6157 287.3975 506.9536 281.7676 Y +512.3267 288.8057 521.5376 294.9453 534.4595 294.9453 c +554.0356 294.9453 569.3911 275.7539 569.3911 255.1563 c +569.3911 242.084 564.5884 229.375 554.8267 220.9102 C +560.8638 215.8809 563.4731 208.5391 560.6978 202.6055 c +f +*U +*u +482.2114 327.9053 m +482.1782 327.7852 482.2388 327.6582 482.3521 327.6094 c +497.1763 321.0957 507.6372 308.6289 512.0063 294.2324 c +512.0415 294.1152 512.1548 294.0391 512.2778 294.0527 c +512.3989 294.0664 512.4946 294.166 512.5024 294.2871 c +513.229 304.9434 510.1274 315.4531 504.0005 324.0234 C +518.1216 324.9648 529.2407 332.9297 536.1997 344.5723 C +540.3286 338.46 548.6509 338.7969 551.8599 345.6035 c +551.9106 345.708 551.8833 345.832 551.7954 345.9063 c +551.7075 345.9805 551.5806 345.9873 551.4868 345.9219 c +547.2134 342.9688 539.8071 346.498 542.9282 357.9355 c +544.981 365.4561 549.3716 369.4668 553.5259 368.333 c +556.7915 367.4414 557.7661 364.002 557.0864 361.5146 c +555.9243 357.2539 551.438 355.8623 548.481 358.6357 c +548.397 358.7158 548.2681 358.7285 548.1704 358.6641 c +548.0728 358.5986 548.0298 358.4775 548.0688 358.3662 c +548.9868 355.7852 550.5571 353.7285 553.6157 352.8936 c +558.811 351.4756 565.6743 354.8115 567.8618 362.8252 c +570.2114 371.4316 565.7153 381.0566 557.604 383.2715 c +546.2036 386.3818 538.1392 378.166 534.3931 368.2383 C +533.9263 372.8896 530.1079 377.3203 v +530.0317 377.4092 529.9048 377.4336 529.8013 377.3818 c +529.6978 377.3291 529.6431 377.2129 529.6665 377.0996 c +531.106 370.6641 530.9575 363.8047 529.1099 357.0361 c +523.9438 338.1074 503.6626 326.0977 482.479 328.0938 c +482.354 328.1055 482.2407 328.0254 482.2114 327.9053 c +f +512.5806 240.1348 m +518.7739 233.666 531.0493 228.6133 541.6646 230.168 c +541.7856 230.1855 541.9009 230.1172 541.9399 230.0039 c +541.981 229.8906 541.936 229.7637 541.8345 229.7012 c +536.1743 226.2617 524.8384 225.0723 513.5786 230.4609 C +510.4536 228.1035 507.6489 226.8496 504.1919 226.2715 c +504.0806 226.2539 503.9692 226.3125 503.9204 226.4141 c +503.8735 226.5156 503.8989 226.6387 503.9849 226.7148 c +508.5454 230.6484 510.8286 234.6563 512.5806 240.1348 C +f +399.7935 281.9121 m +399.6763 281.8711 399.5454 281.9258 399.4888 282.0371 c +399.4321 282.1484 399.4653 282.2852 399.5688 282.3594 c +406.6938 287.4785 412.4829 295.291 415.4204 306.0566 c +422.6802 332.6563 411.3267 353.792 395.2544 361.0146 c +395.1509 361.0605 395.0903 361.1689 395.106 361.2803 c +395.1216 361.3926 395.2095 361.4814 395.3208 361.4971 c +402.0747 362.4785 411.2622 361.6729 420.7915 350.3486 c +426.4927 343.5732 429.7271 336.373 436.0142 334.6563 c +440.1216 333.5352 443.5103 334.9551 444.4126 338.2617 c +445.3618 341.7393 442.9966 344.8018 439.6528 345.7148 c +437.9653 346.1738 436.1626 346.1436 434.4146 345.6836 c +434.2993 345.6533 434.1821 345.7051 434.1255 345.8086 c +434.0708 345.9121 434.0923 346.04 434.1802 346.1172 c +436.8325 348.4746 440.8677 350.125 445.5708 348.8408 c +452.4907 346.9531 456.6606 339.457 454.4673 331.415 c +452.104 322.7578 443.3696 317.5234 433.5864 320.1934 c +430.2329 321.1084 426.4497 323.168 423.7603 326.4648 C +425.5942 322.4551 427.0493 320.1855 430.8286 317.6133 C +429.8364 307.1035 425.3091 296.8271 417.4009 289.8389 C +423.2192 287.9863 427.604 284.7207 430.5083 279.6855 c +430.5669 279.582 430.5454 279.4531 430.4595 279.373 c +430.3696 279.293 430.2388 279.2832 430.1411 279.3535 c +423.1802 284.2344 410.9048 285.582 399.7935 281.9121 c +f +383.1919 195.8809 m +379.1548 199.3105 377.936 205.0469 379.4106 210.8672 c +379.4419 210.9883 379.5552 211.0684 379.6782 211.0566 c +379.8032 211.0469 379.8989 210.9492 379.9106 210.8281 c +380.0981 208.6543 380.9458 206.748 382.4927 205.4355 c +386.4712 202.0566 393.5571 203.834 398.4634 209.3828 c +398.522 209.4492 398.6079 209.4805 398.6938 209.4668 c +398.7798 209.4531 398.8521 209.3984 398.8872 209.3203 c +401.1528 204.2539 406.1079 197.5938 419.0005 194.0742 c +437.0239 189.1563 457.3794 196.1992 461.6235 211.752 c +464.0493 220.6406 459.8306 229.4824 451.5845 235.7109 C +456.0298 230.123 458.7075 223.4238 456.6177 215.7695 c +453.5532 204.5391 439.1567 198.918 421.8755 203.6348 c +405.5825 208.0801 389.7075 224.748 393.8833 240.0547 c +396.1743 248.4492 404.6821 252.8887 413.4458 250.4961 c +421.2231 248.375 424.2837 242.1016 422.7329 236.4219 c +421.5669 232.1445 417.7407 230.0195 414.2153 229.9941 c +414.0962 229.9941 413.9927 230.0762 413.9653 230.1934 c +413.9419 230.3105 413.9985 230.4277 414.1079 230.4785 c +415.1704 230.9688 416.188 231.877 416.6509 233.5742 c +417.4263 236.4121 415.3911 238.5605 413.6353 239.0391 c +410.3032 239.9492 407.2837 238.1211 406.272 234.416 c +404.8911 229.3574 409.3677 223.8906 416.5239 221.9355 c +425.4126 219.5117 435.8833 225.8066 438.2075 234.3223 c +440.5825 243.0254 435.3501 254.4648 420.9087 258.4063 c +406.7153 262.2813 387.7935 257.0996 383.6157 241.793 c +381.1802 232.8691 383.1333 224.1875 388.2075 216.5508 c +388.2739 216.4512 388.2622 216.3164 388.1763 216.2305 c +388.0884 216.1445 387.9536 216.1328 387.854 216.2012 c +376.5415 223.8828 364.1118 224.707 362.3267 218.1699 c +361.4536 214.9727 363.3052 212.7188 365.7524 212.0508 c +368.2681 211.3652 370.8462 212.6289 372.0337 215.4883 c +372.0806 215.5996 372.2017 215.6641 372.3208 215.6406 c +372.438 215.6133 372.5259 215.5098 372.522 215.3867 c +372.4302 208.3477 367.0044 202.5625 360.1587 204.4316 c +354.1021 206.084 350.8364 212.5488 352.688 219.3359 c +355.4888 229.5977 367.6997 231.5391 377.0063 226.6504 C +371.647 233.7715 368.1919 243.1035 371.2524 254.3184 c +377.4517 277.0313 406.5044 281.4355 423.9087 276.6855 c +439.7075 272.373 448.9517 266.4023 454.9087 257.6152 C +451.1079 267.0098 445.4419 272.0039 436.8345 275.9434 C +430.3052 284.0918 434.5161 299.5195 v +436.2759 305.9707 440.3091 311.3418 446.1079 314.7793 C +446.1079 314.7813 446.106 314.7842 446.1021 314.7871 C +446.1509 314.8105 446.1997 314.8379 446.2466 314.8613 C +446.6333 315.0879 447.0298 315.3057 447.4321 315.5146 C +453.4438 319.1211 460.4966 327.6973 459.2661 337.6113 c +459.2524 337.7236 459.3149 337.832 459.4185 337.877 c +459.5239 337.9219 459.645 337.8896 459.7153 337.8018 c +464.3677 331.9629 464.2114 324.1104 461.8794 318.8857 C +465.7368 318.915 469.9087 318.375 474.3442 317.165 c +490.1685 312.8457 499.0122 301.3135 501.9126 290.5566 C +506.4106 292.5977 512.0063 290.4043 514.9888 285.9199 c +515.0532 285.8184 515.0415 285.6855 514.9575 285.5996 c +514.8735 285.5156 514.7407 285.5 514.6392 285.5645 c +509.7583 288.6914 503.9556 284.9648 502.4048 278.3496 c +502.3774 278.2305 502.2681 278.1484 502.145 278.1543 c +502.022 278.1602 501.9204 278.2539 501.9067 278.377 c +500.5591 289.251 493.8228 298.0566 483.1841 300.96 c +472.0767 303.9922 461.2446 299.7852 458.3149 289.0469 c +455.9224 280.2832 461.5571 269.3301 471.5513 266.6016 c +479.3286 264.4785 485.0747 267.5527 486.5903 273.1074 c +487.9048 277.9199 485.6157 282.6563 481.6665 283.7344 c +476.0181 285.2754 472.2388 279.4844 475.7837 274.877 c +475.8521 274.7852 475.854 274.6602 475.7837 274.5684 c +475.7153 274.4766 475.5923 274.4434 475.4868 274.4863 c +471.3892 276.1465 468.2739 280.3418 469.5923 285.1729 c +470.8052 289.6152 475.7544 293.1729 483.6548 291.0166 c +493.0356 288.457 500.0806 276.8555 496.0376 262.043 c +490.5142 241.7988 464.6802 237.0449 449.1079 251.9043 C +453.5278 245.2617 458.4517 239.0098 469.438 236.0117 c +490.188 230.3496 509.813 247.0332 508.1724 273.4902 c +508.1646 273.6152 508.2505 273.7285 508.3735 273.7539 c +508.4946 273.7813 508.6196 273.7129 508.6646 273.5977 c +511.7466 265.4922 517.0786 256.4316 529.2739 253.1035 c +541.9888 249.6328 553.2876 255.5664 556.8599 268.6504 c +559.6216 278.7734 555.2017 286.875 547.9204 288.8623 c +542.3657 290.3789 536.9419 288.0039 535.2603 281.8398 c +532.7563 272.6641 541.8833 266.8203 547.6411 270.3516 c +547.7388 270.4121 547.8677 270.3965 547.9497 270.3164 c +548.0337 270.2363 548.0513 270.1094 547.9927 270.0078 c +545.5454 265.7324 539.6802 262.5977 532.6548 264.5156 c +520.5571 267.8164 515.6001 281.2383 518.9673 293.5811 c +520.5454 299.3652 523.7681 304.502 528.1685 308.1426 C +532.0298 306.5186 536.8384 306.6777 540.3735 307.8867 C +533.2349 307.8154 522.8794 312.8262 525.647 322.9707 c +527.1978 328.6533 532.5923 331.2188 537.7563 329.8086 c +543.8579 328.1436 545.2974 322.21 543.5688 318.1729 c +543.522 318.0654 543.4106 318.0039 543.2974 318.0225 c +543.1821 318.04 543.0942 318.1318 543.0825 318.2471 c +542.9146 319.9375 541.6685 321.6836 539.7446 322.208 c +537.3325 322.8662 535.3989 321.415 534.8735 319.4854 c +534.0044 316.3066 537.063 313.5752 541.2739 313.6211 C +541.27 313.6094 L +544.2896 313.8984 547.5044 313.6445 550.8716 312.7266 c +567.0415 308.3125 577.6646 286.5674 571.6235 264.4375 c +565.2485 241.0781 545.2056 233.2363 528.0474 237.9199 c +518.8481 240.4297 512.8228 245.7871 509.5903 251.4453 C +506.3892 231.668 494.8618 221.7793 481.229 218.4707 C +478.7056 223.8008 473.7114 226.8867 Y +479.0864 219.8496 482.5845 209.3477 479.1821 196.8809 c +474.0278 177.9961 451.4712 168.2344 431.6001 173.6582 c +418.9888 177.0996 407.9927 185.0801 402.397 196.7266 C +395.9556 192.2266 388.186 191.6406 383.1919 195.8809 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0 0 0 0 k + 0 0 0 0 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +530.1294 269.9688 m +530.0044 269.9688 529.8989 269.877 529.8794 269.7539 c +527.5005 253.7402 518.2271 240.3652 505.4888 232.3594 c +505.3853 232.2949 505.3403 232.1641 505.3872 232.0508 c +505.4321 231.9375 505.5532 231.8711 505.6724 231.8965 c +516.145 234 525.4653 239.7598 532.1216 247.9277 C +536.7466 234.5508 547.3579 225.9219 560.4224 222.2734 C +555.6138 216.6816 558.1294 208.7402 565.5415 207.4375 c +565.6548 207.416 565.7661 207.4746 565.8149 207.5781 c +565.8638 207.6816 565.8364 207.8066 565.7485 207.8809 c +561.7759 211.2266 563.229 219.3008 575.0864 219.3008 c +582.8804 219.3008 587.9077 216.1211 587.9077 211.8145 c +587.9077 208.4297 584.8452 206.584 582.2651 206.584 c +577.8511 206.584 575.3267 210.5449 577.2231 214.127 c +577.2778 214.2305 577.2563 214.3574 577.1685 214.4355 c +577.0806 214.5137 576.9517 214.5215 576.854 214.4551 c +574.606 212.8906 573.0356 210.834 573.0356 207.6641 c +573.0356 202.2773 578.062 196.5352 586.3687 196.5332 c +595.2905 196.5332 603.3921 203.4043 603.3921 211.8145 c +603.3921 223.6309 593.3433 229.248 582.7788 230.248 C +587.144 231.9219 590.4116 236.7734 v +590.478 236.8691 590.4683 236.998 590.3901 237.084 c +590.312 237.1719 590.1851 237.1934 590.0835 237.1387 c +584.2534 234.0566 577.5942 232.3945 570.5806 232.3945 c +550.9575 232.3945 534.0337 248.7988 530.3813 269.7607 c +530.3599 269.8818 530.2524 269.9727 530.1294 269.9688 c +f +453.4517 217.5625 m +448.8442 209.8867 447.1997 196.7129 451.4946 186.8809 c +451.5435 186.7695 451.5083 186.6406 451.4087 186.5703 c +451.3091 186.502 451.1763 186.5117 451.0884 186.5957 c +446.2817 191.1484 442.1489 201.7715 444.3833 214.0527 C +441.2876 216.4473 439.3384 218.8223 437.8696 222.0059 c +437.8228 222.1074 437.8501 222.2305 437.936 222.3047 c +438.022 222.377 438.147 222.3848 438.2427 222.3203 c +443.2388 218.959 447.7056 217.8125 453.4517 217.5625 C +f +464.0591 337.3691 m +463.9907 337.4727 464.0083 337.6133 464.1001 337.6973 c +464.1938 337.7813 464.3345 337.7852 464.4321 337.7061 c +471.2466 332.1797 480.3071 328.6504 491.4673 328.6504 c +519.0376 328.6504 536.4399 345.1689 539.1743 362.5771 c +539.1919 362.6885 539.2817 362.7734 539.3931 362.7891 c +539.5044 362.8047 539.6138 362.7422 539.6587 362.6396 c +542.3833 356.3818 544.0259 347.3057 535.6099 335.1309 c +530.5747 327.8457 524.479 322.8311 524.479 316.3145 c +524.479 312.0566 526.7407 309.1602 530.1685 309.1602 c +533.7739 309.1602 536.106 312.248 536.104 315.7148 c +536.104 317.4629 535.6001 319.1934 534.6958 320.7607 c +534.6372 320.8633 534.6548 320.9902 534.7407 321.0723 c +534.8247 321.1523 534.9556 321.165 535.0532 321.1016 c +538.0259 319.1641 540.6802 315.7021 540.6802 310.8281 c +540.6802 303.6563 534.5474 297.6602 526.2095 297.6602 c +517.2368 297.6602 509.8872 304.709 509.8872 314.8477 c +509.8872 318.3262 510.8755 322.5156 513.3501 325.9805 C +509.9653 323.1523 508.1587 321.1523 506.6724 316.8271 C +496.272 315.0186 485.1665 316.6797 476.3403 322.4727 C +476.0864 316.3711 474.0903 311.2793 469.9985 307.1533 c +469.9146 307.0684 469.7837 307.0547 469.6841 307.1182 c +469.5825 307.1816 469.5415 307.3066 469.5806 307.4189 c +472.4575 315.4199 470.5239 327.6152 464.0591 337.3691 c +f +376.6938 330.7344 m +378.938 335.5352 384.1528 338.2188 390.1548 338.3271 c +390.2798 338.3311 390.3872 338.2432 390.4087 338.1211 c +390.4321 337.998 390.3638 337.8779 390.2485 337.8359 c +388.2017 337.082 386.5864 335.7637 385.7271 333.9258 c +383.5142 329.1973 387.0942 322.8301 393.7407 319.5566 c +393.8188 319.5186 393.8716 319.4434 393.8813 319.3594 c +393.8911 319.2725 393.856 319.1885 393.7915 319.1318 c +389.5005 315.6143 384.3794 309.0781 384.3794 295.7148 c +384.3774 277.0322 396.5337 259.25 412.6548 259.25 c +421.8677 259.25 429.2876 265.6465 433.1255 275.2422 C +428.9028 269.4844 423.145 265.1348 415.2114 265.1348 c +403.5708 265.1348 394.3579 277.5439 394.356 295.459 c +394.356 312.3457 406.2583 332.0518 422.1216 332.0508 c +430.8247 332.0488 437.3481 325.0117 437.3481 315.9277 c +437.3481 307.8672 432.1021 303.2637 426.2173 303.2637 c +421.7798 303.2637 418.7231 306.3936 417.772 309.7871 c +417.7388 309.9023 417.7915 310.0254 417.897 310.0811 c +418.0044 310.1357 418.1333 310.1104 418.2114 310.0186 c +418.9634 309.124 420.1079 308.3809 421.8657 308.3809 c +424.8091 308.3789 426.3442 310.9082 426.3442 312.7285 c +426.3442 316.1836 423.7856 318.6152 419.9458 318.6152 c +414.7036 318.6152 410.606 312.8564 410.606 305.4385 c +410.606 296.2236 419.436 287.7813 428.2642 287.7813 c +437.2856 287.7813 446.9438 295.8408 446.9438 310.8125 c +446.9419 325.5234 436.9653 342.4141 421.0981 342.4141 c +411.8481 342.4141 403.9849 338.2441 397.9556 331.3398 c +397.8755 331.248 397.7427 331.2246 397.6392 331.2852 c +397.5317 331.3477 397.4849 331.4727 397.5239 331.5879 c +401.9575 344.5234 399.4771 356.7344 392.7036 356.7324 c +389.3892 356.7324 387.7017 354.3535 387.7017 351.8154 c +387.7017 349.21 389.6001 347.0566 392.6704 346.6611 c +392.7915 346.6475 392.8833 346.5479 392.8931 346.4268 c +392.8989 346.3047 392.8188 346.1943 392.7017 346.1641 c +385.8872 344.4004 378.8774 348.1133 378.8774 355.2061 c +378.8774 361.4854 384.2544 366.3398 391.2896 366.3398 c +401.9263 366.3379 407.0142 355.0684 404.7485 344.8047 C +410.2075 351.8486 418.3013 357.6396 429.9263 357.6396 c +453.4692 357.6396 465.3677 330.7715 465.3677 312.7285 c +465.3677 296.3525 462.0415 285.8604 455.1313 277.8018 C +463.1938 283.9404 466.52 290.7227 468.0552 300.0645 C +474.1958 308.5078 490.188 308.5078 v +496.8755 308.5078 503.1177 306.0322 507.9614 301.3438 C +507.9634 301.3447 507.9653 301.3477 507.9673 301.3486 C +508.0024 301.3105 508.0396 301.2695 508.0767 301.2314 C +508.397 300.915 508.7114 300.5918 509.02 300.2578 C +514.0806 295.4102 524.2114 290.8633 533.4517 294.6602 c +533.5571 294.7031 533.6782 294.6699 533.7485 294.582 c +533.8188 294.4932 533.8188 294.3672 533.7524 294.2754 c +529.3462 288.252 521.729 286.335 516.0747 287.21 C +517.1177 283.4941 517.6958 279.3281 517.6958 274.7305 c +517.6978 258.3262 508.8989 246.7598 499.2856 241.1289 C +502.438 237.3281 501.7954 231.3535 498.2544 227.2949 c +498.1743 227.2051 498.0435 227.1816 497.938 227.2402 c +497.8345 227.2988 497.7837 227.4238 497.8188 227.5391 c +499.5513 233.0703 494.4282 237.6875 487.6392 237.4395 c +487.5161 237.4355 487.4067 237.5195 487.3813 237.6406 c +487.356 237.7617 487.4185 237.8828 487.5337 237.9277 c +497.6685 242.0918 504.3911 250.9102 504.3892 261.9355 c +504.3911 273.4492 497.481 282.79 486.3501 282.79 c +477.2661 282.79 468.1821 274.4727 468.1821 264.1133 c +468.1821 256.0508 472.6587 251.3184 478.4165 251.3164 c +483.4067 251.3184 487.3735 254.7715 487.3735 258.8672 c +487.3735 264.7188 480.7896 266.8408 477.2778 262.209 c +477.2095 262.1172 477.0864 262.084 476.981 262.127 c +476.8755 262.1689 476.811 262.2773 476.8228 262.3926 c +477.3462 266.7813 480.5767 270.8926 485.5825 270.8926 c +490.188 270.8926 494.9224 267.0518 494.9224 258.8652 c +494.9224 249.1406 485.5845 239.291 470.231 239.2891 c +449.2466 239.2891 437.8599 262.959 448.0942 281.8945 C +442.8501 275.8809 438.1157 269.4844 438.1157 258.0977 c +438.1138 236.5898 459.3794 222.0488 484.4692 230.5977 c +484.5884 230.6367 484.7192 230.584 484.7759 230.4746 c +484.8345 230.3633 484.8013 230.2266 484.6997 230.1523 c +477.6938 225.043 470.356 217.5137 470.356 204.873 c +470.356 191.6934 479.0552 182.3535 492.6196 182.3535 c +503.1099 182.3535 509.7642 188.752 509.7642 196.2988 c +509.7642 202.0566 506.0454 206.6641 499.6567 206.6641 c +490.1431 206.6641 486.9087 196.3203 491.8325 191.6953 c +491.9165 191.6152 491.936 191.4902 491.8813 191.3887 c +491.8247 191.2871 491.7056 191.2344 491.5942 191.2637 c +486.8247 192.5 482.2563 197.332 482.2563 204.6152 c +482.2544 217.1563 493.897 225.4727 506.6919 225.4727 c +512.688 225.4727 518.4907 223.7188 523.1646 220.4297 C +522.6118 216.2773 524.0317 211.6816 526.1313 208.5879 C +524.1821 215.457 526.2915 226.7656 536.8032 226.7676 c +542.6958 226.7656 546.5903 222.2383 546.5903 216.8867 c +546.5903 210.5605 541.2446 207.6094 536.895 208.2148 c +536.7798 208.2305 536.6899 208.3223 536.6763 208.4375 c +536.6646 208.5527 536.731 208.6602 536.8384 208.7031 c +538.4243 209.3105 539.7817 210.9727 539.7817 212.9668 c +539.7817 215.4668 537.8696 216.9492 535.8696 216.9492 c +532.5767 216.9492 530.7466 213.2793 531.8989 209.2305 C +531.8872 209.2285 L +532.9595 206.3926 533.561 203.2246 533.561 199.7363 c +533.561 182.9746 515.3813 167.002 492.4399 167 c +468.229 167 455.3872 184.2734 455.3892 202.0566 c +455.3892 211.5938 458.9692 218.8184 463.5767 223.4258 C +443.6548 221.3066 431.0786 229.8223 424.2974 242.1035 C +428.7759 245.9414 430.438 251.5723 Y +425.0649 244.5352 415.854 238.3945 402.9321 238.3945 c +383.356 238.3945 368.0005 257.5859 368.0005 278.1836 c +368.0005 291.2568 372.8032 303.9648 382.5649 312.4307 C +376.5278 317.459 373.9185 324.8018 376.6938 330.7344 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0.35 0.6 0.8 0.25 k + 0.35 0.6 0.8 0.25 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +240.2622 263.3711 m +240.3872 263.3711 240.4927 263.4629 240.5103 263.585 c +242.8911 279.5996 252.1646 292.9746 264.9028 300.9814 c +265.0063 301.0449 265.0493 301.1758 265.0044 301.29 c +264.9575 301.4023 264.8384 301.4688 264.7173 301.4443 c +254.2466 299.3398 244.9243 293.5811 238.27 285.4141 C +233.644 298.7891 223.0337 307.418 209.9692 311.0654 C +214.7778 316.6582 212.2622 324.5986 204.8501 325.9023 c +204.7368 325.9229 204.6245 325.8643 204.5757 325.7607 c +204.5278 325.6563 204.5542 325.5322 204.6421 325.46 c +208.6157 322.1143 207.1616 314.04 195.3052 314.04 c +187.5103 314.04 182.4849 317.2188 182.4849 321.5254 c +182.4849 324.9102 185.5464 326.7559 188.1255 326.7559 c +192.5415 326.7559 195.0649 322.7949 193.1675 319.2129 c +193.1128 319.1104 193.1353 318.9814 193.2231 318.9033 c +193.311 318.8271 193.4399 318.8184 193.5366 318.8857 c +195.7856 320.4492 197.356 322.5059 197.356 325.6768 c +197.356 331.0635 192.3306 336.8066 184.0239 336.8066 c +175.1021 336.8066 167.0005 329.9355 167.0005 321.5254 c +167.0005 309.71 177.0493 304.0918 187.6138 303.0918 C +183.2485 301.4189 179.98 296.5664 v +179.9146 296.4697 179.9243 296.3418 180.0015 296.2559 c +180.0796 296.1689 180.2056 296.1475 180.3091 296.2012 c +186.1392 299.2822 192.7954 300.9453 199.811 300.9453 c +219.4321 300.9453 236.3579 284.541 240.0103 263.5801 c +240.0317 263.4561 240.1382 263.3691 240.2622 263.3711 c +f +316.9399 315.7773 m +321.5493 323.4551 323.1919 336.627 318.897 346.46 c +318.8481 346.5703 318.8833 346.6992 318.9829 346.7686 c +319.0806 346.8379 319.2153 346.8281 319.3032 346.7461 c +324.1099 342.1914 328.2427 331.5684 326.0083 319.2871 C +329.106 316.8936 331.0532 314.5176 332.522 311.335 c +332.5688 311.2314 332.5415 311.1104 332.4556 311.0352 c +332.3696 310.9629 332.2446 310.9551 332.1489 311.0186 c +327.1528 314.3809 322.686 315.5283 316.9399 315.7773 C +f +306.3306 195.9707 m +306.4009 195.8672 306.3833 195.7266 306.2915 195.6426 c +306.1978 195.5586 306.0571 195.5547 305.9595 195.6348 c +299.145 201.1621 290.0845 204.6895 278.9243 204.6895 c +251.3521 204.6895 233.9517 188.1719 231.2163 170.7637 c +231.1987 170.6523 231.1099 170.5664 230.9985 170.5508 c +230.8862 170.5371 230.7778 170.5977 230.7329 170.7012 c +228.0073 176.959 226.3657 186.0352 234.7817 198.209 c +239.8159 205.4941 245.9106 210.5098 245.9106 217.0273 c +245.9106 221.2852 243.6509 224.1797 240.2231 224.1797 c +236.6177 224.1797 234.2866 221.0918 234.2866 217.625 c +234.2866 215.877 234.7915 214.1465 235.6958 212.5801 c +235.7544 212.4766 235.7358 212.3496 235.6509 212.2676 c +235.5649 212.1875 235.436 212.1758 235.3384 212.2402 c +232.3657 214.1777 229.7114 217.6367 229.7114 222.5117 c +229.7114 229.6836 235.8442 235.6816 244.1802 235.6816 c +253.1548 235.6816 260.5044 228.6328 260.5044 218.4922 c +260.5044 215.0156 259.5142 210.8242 257.0415 207.3613 C +260.4263 210.1875 262.2329 212.1875 263.7192 216.5117 C +274.1196 218.3223 285.2251 216.6602 294.0493 210.8691 C +294.3052 216.9707 296.3013 222.0605 300.3931 226.1875 c +300.4771 226.2715 300.6079 226.2852 300.7075 226.2227 c +300.8091 226.1582 300.8521 226.0332 300.811 225.9219 c +297.9341 217.9199 299.8657 205.7246 306.3306 195.9707 c +f +393.6978 202.6055 m +391.4517 197.8066 386.2388 195.1211 380.2368 195.0117 c +380.1118 195.0098 380.0044 195.0977 379.9829 195.2188 c +379.9595 195.3418 380.0278 195.4609 380.1431 195.5039 c +382.1899 196.2578 383.8052 197.5762 384.6646 199.4141 c +386.8774 204.1426 383.2974 210.5098 376.6509 213.7832 c +376.5728 213.8223 376.52 213.8965 376.5103 213.9824 c +376.5005 214.0684 376.5337 214.1523 376.6001 214.207 c +380.8911 217.7266 386.0122 224.2617 386.0122 237.627 c +386.0122 256.3086 373.8579 274.0898 357.7368 274.0898 c +348.5239 274.0898 341.104 267.6934 337.2661 258.0977 C +341.4868 263.8564 347.2446 268.2051 355.1782 268.2051 c +366.8208 268.2051 376.0337 255.7969 376.0337 237.8828 c +376.0337 220.9941 364.1333 201.2891 348.2681 201.2891 c +339.5669 201.2891 333.0435 208.3281 333.0435 217.4121 c +333.0435 225.4746 338.2896 230.0781 344.1763 230.0781 c +348.6099 230.0781 351.6685 226.9473 352.6196 223.5527 c +352.6509 223.4375 352.6001 223.3164 352.4927 223.2598 c +352.3872 223.2051 352.2583 223.2305 352.1802 223.3223 c +351.4282 224.2168 350.2837 224.9609 348.5259 224.9609 c +345.5825 224.9609 344.0474 222.4316 344.0474 220.6113 c +344.0474 217.1563 346.606 214.7246 350.4458 214.7246 c +355.6899 214.7246 359.7856 220.4824 359.7856 227.9023 c +359.7856 237.1152 350.9556 245.5586 342.1274 245.5586 c +333.106 245.5586 323.4478 237.5 323.4478 222.5293 c +323.4478 207.8164 333.4282 190.9258 349.2935 190.9258 c +358.5435 190.9258 366.4048 195.0957 372.436 202.002 c +372.5161 202.0918 372.6489 202.1152 372.7544 202.0547 c +372.8599 201.9941 372.9067 201.8672 372.8677 201.752 c +368.4341 188.8164 370.9126 176.6074 377.688 176.6074 c +381.0024 176.6074 382.6899 178.9863 382.6899 181.5234 c +382.6899 184.1309 380.7915 186.2852 377.7212 186.6777 c +377.6001 186.6934 377.5063 186.793 377.4985 186.9141 c +377.4927 187.0352 377.5708 187.1465 377.6899 187.1758 c +384.5044 188.9395 391.5142 185.2285 391.5142 178.1328 c +391.5142 171.8555 386.1372 167.002 379.1021 167.002 c +368.4653 167.002 363.3774 178.2715 365.6431 188.5371 C +360.1841 181.4922 352.0903 175.7012 340.4653 175.7012 c +316.9224 175.7012 305.0239 202.5703 305.0239 220.6113 c +305.0239 236.9883 308.3501 247.4785 315.2603 255.5391 C +307.1978 249.3984 303.8716 242.6172 302.3384 233.2773 C +296.1958 224.832 280.2036 224.832 v +273.5161 224.832 267.2739 227.3086 262.4302 231.998 C +262.4282 231.9961 262.4263 231.9941 262.4243 231.9902 C +262.3892 232.0313 262.3501 232.0703 262.3149 232.1094 C +261.9946 232.4238 261.6802 232.748 261.3716 233.082 C +256.3091 237.9316 246.1802 242.4785 236.9399 238.6797 c +236.8345 238.6367 236.7134 238.6699 236.6431 238.7578 c +236.5728 238.8477 236.5708 238.9727 236.6382 239.0645 c +241.0454 245.0898 248.6626 247.0059 254.3169 246.1309 C +253.272 249.8457 252.6938 254.0117 252.6938 258.6094 c +252.6938 275.0137 261.4927 286.5801 271.106 292.2109 C +267.9517 296.0137 268.5962 301.9883 272.1372 306.0449 c +272.2173 306.1357 272.3481 306.1582 272.4536 306.0996 c +272.5571 306.041 272.606 305.918 272.5708 305.8018 c +270.8403 300.2695 275.9634 295.6523 282.7524 295.9004 c +282.8755 295.9033 282.9829 295.8193 283.0103 295.6992 c +283.0356 295.5801 282.9712 295.457 282.8579 295.4111 c +272.7212 291.248 266.0005 282.4316 266.0005 271.4033 c +266.0005 259.8906 272.9087 250.5488 284.0415 250.5488 c +293.1255 250.5488 302.2095 258.8672 302.2095 269.2285 c +302.2095 277.2891 297.731 282.0225 291.9731 282.0225 c +286.9849 282.0225 283.0181 278.5684 283.0181 274.4736 c +283.0181 268.6211 289.6001 266.499 293.1118 271.1309 c +293.1821 271.2227 293.3032 271.2559 293.4087 271.2129 c +293.5161 271.1699 293.5806 271.0625 293.5669 270.9482 c +293.0435 266.5586 289.8149 262.4482 284.8091 262.4482 c +280.2036 262.4482 275.4692 266.2861 275.4692 274.4746 c +275.4692 284.1982 284.8071 294.0508 300.1606 294.0508 c +321.1431 294.0508 332.5317 270.3809 322.2974 251.4453 C +327.5415 257.459 332.2759 263.8555 332.2759 275.2432 c +332.2759 296.75 311.0122 311.291 285.9224 302.7441 c +285.8032 302.7021 285.6724 302.7559 285.6157 302.8672 c +285.5571 302.9785 285.5884 303.1143 285.6899 303.1895 c +292.6958 308.2979 300.0337 315.8262 300.0337 328.4668 c +300.0337 341.6475 291.3345 350.9854 277.772 350.9854 c +267.2798 350.9854 260.6274 344.5879 260.6274 337.04 c +260.6274 331.2822 264.3462 326.6768 270.7349 326.6768 c +280.2466 326.6768 283.481 337.0195 278.5591 341.6445 c +278.4751 341.7236 278.4556 341.8516 278.5103 341.9521 c +278.5669 342.0547 278.6841 342.1055 278.7974 342.0762 c +283.5669 340.8398 288.1353 336.0068 288.1353 328.7236 c +288.1353 316.1855 276.4927 307.8682 263.6978 307.8682 c +257.7017 307.8682 251.8989 309.623 247.2271 312.9102 C +247.7778 317.0635 246.3579 321.6602 244.2603 324.752 C +246.2095 317.8848 244.1021 306.5732 233.5864 306.5732 c +227.6958 306.5732 223.8013 311.1025 223.8013 316.4551 c +223.8013 322.7793 229.147 325.7314 233.4966 325.125 c +233.6118 325.1104 233.7007 325.0186 233.7134 324.9023 c +233.7271 324.7891 233.6606 324.6797 233.5532 324.6367 c +231.9673 324.0293 230.6108 322.3691 230.6108 320.373 c +230.6108 317.873 232.52 316.3906 234.52 316.3906 c +237.8149 316.3906 239.645 320.0605 238.4927 324.1104 C +238.5044 324.1104 L +237.4312 326.9473 236.8286 330.1152 236.8286 333.6055 c +236.8286 350.3672 255.0103 366.3398 277.9497 366.3398 c +302.1626 366.3398 315.0044 349.0664 315.0044 331.2822 c +315.0044 321.7461 311.4224 314.5225 306.8149 309.915 C +326.7368 312.0332 339.313 303.5176 346.0942 291.2354 C +341.6157 287.3975 339.9536 281.7676 Y +345.3267 288.8057 354.5376 294.9453 367.4595 294.9453 c +387.0356 294.9453 402.3911 275.7539 402.3911 255.1563 c +402.3911 242.084 397.5884 229.375 387.8267 220.9102 C +393.8638 215.8809 396.4731 208.5391 393.6978 202.6055 c +f +*U +*u +315.2114 327.9053 m +315.1782 327.7852 315.2388 327.6582 315.3521 327.6094 c +330.1763 321.0957 340.6372 308.6289 345.0063 294.2324 c +345.0415 294.1152 345.1548 294.0391 345.2778 294.0527 c +345.3989 294.0664 345.4946 294.166 345.5024 294.2871 c +346.229 304.9434 343.1274 315.4531 337.0005 324.0234 C +351.1216 324.9648 362.2407 332.9297 369.1997 344.5723 C +373.3286 338.46 381.6509 338.7969 384.8599 345.6035 c +384.9106 345.708 384.8833 345.832 384.7954 345.9063 c +384.7075 345.9805 384.5806 345.9873 384.4868 345.9219 c +380.2134 342.9688 372.8071 346.498 375.9282 357.9355 c +377.981 365.4561 382.3716 369.4668 386.5259 368.333 c +389.7915 367.4414 390.7661 364.002 390.0864 361.5146 c +388.9243 357.2539 384.438 355.8623 381.481 358.6357 c +381.397 358.7158 381.2681 358.7285 381.1704 358.6641 c +381.0728 358.5986 381.0298 358.4775 381.0688 358.3662 c +381.9868 355.7852 383.5571 353.7285 386.6157 352.8936 c +391.811 351.4756 398.6743 354.8115 400.8618 362.8252 c +403.2114 371.4316 398.7153 381.0566 390.604 383.2715 c +379.2036 386.3818 371.1392 378.166 367.3931 368.2383 C +366.9263 372.8896 363.1079 377.3203 v +363.0317 377.4092 362.9048 377.4336 362.8013 377.3818 c +362.6978 377.3291 362.6431 377.2129 362.6665 377.0996 c +364.106 370.6641 363.9575 363.8047 362.1099 357.0361 c +356.9438 338.1074 336.6626 326.0977 315.479 328.0938 c +315.354 328.1055 315.2407 328.0254 315.2114 327.9053 c +f +345.5806 240.1348 m +351.7739 233.666 364.0493 228.6133 374.6646 230.168 c +374.7856 230.1855 374.9009 230.1172 374.9399 230.0039 c +374.981 229.8906 374.936 229.7637 374.8345 229.7012 c +369.1743 226.2617 357.8384 225.0723 346.5786 230.4609 C +343.4536 228.1035 340.6489 226.8496 337.1919 226.2715 c +337.0806 226.2539 336.9692 226.3125 336.9204 226.4141 c +336.8735 226.5156 336.8989 226.6387 336.9849 226.7148 c +341.5454 230.6484 343.8286 234.6563 345.5806 240.1348 C +f +232.7935 281.9121 m +232.6753 281.8711 232.5444 281.9258 232.4878 282.0371 c +232.4312 282.1484 232.4644 282.2852 232.5679 282.3594 c +239.6938 287.4785 245.4829 295.291 248.4204 306.0566 c +255.6802 332.6563 244.3267 353.792 228.2534 361.0146 c +228.1499 361.0605 228.0903 361.1689 228.105 361.2803 c +228.1216 361.3926 228.2085 361.4814 228.3198 361.4971 c +235.0747 362.4785 244.2622 361.6729 253.7915 350.3486 c +259.4927 343.5732 262.7271 336.373 269.0142 334.6563 c +273.1216 333.5352 276.5103 334.9551 277.4126 338.2617 c +278.3618 341.7393 275.9966 344.8018 272.6528 345.7148 c +270.9653 346.1738 269.1626 346.1436 267.4146 345.6836 c +267.2993 345.6533 267.1821 345.7051 267.1255 345.8086 c +267.0708 345.9121 267.0923 346.04 267.1802 346.1172 c +269.8325 348.4746 273.8677 350.125 278.5708 348.8408 c +285.4907 346.9531 289.6606 339.457 287.4673 331.415 c +285.104 322.7578 276.3696 317.5234 266.5864 320.1934 c +263.2329 321.1084 259.4497 323.168 256.7603 326.4648 C +258.5942 322.4551 260.0493 320.1855 263.8286 317.6133 C +262.8364 307.1035 258.3091 296.8271 250.4009 289.8389 C +256.2192 287.9863 260.604 284.7207 263.5083 279.6855 c +263.5669 279.582 263.5454 279.4531 263.4595 279.373 c +263.3696 279.293 263.2388 279.2832 263.1411 279.3535 c +256.1802 284.2344 243.9048 285.582 232.7935 281.9121 c +f +216.1919 195.8809 m +212.1538 199.3105 210.936 205.0469 212.4106 210.8672 c +212.4419 210.9883 212.5542 211.0684 212.6772 211.0566 c +212.8022 211.0469 212.8989 210.9492 212.9097 210.8281 c +213.0981 208.6543 213.9448 206.748 215.4917 205.4355 c +219.4712 202.0566 226.5562 203.834 231.4634 209.3828 c +231.522 209.4492 231.6079 209.4805 231.6929 209.4668 c +231.7788 209.4531 231.8511 209.3984 231.8862 209.3203 c +234.1519 204.2539 239.1079 197.5938 252.0005 194.0742 c +270.0239 189.1563 290.3794 196.1992 294.6235 211.752 c +297.0493 220.6406 292.8306 229.4824 284.5845 235.7109 C +289.0298 230.123 291.7075 223.4238 289.6177 215.7695 c +286.5532 204.5391 272.1567 198.918 254.8755 203.6348 c +238.5825 208.0801 222.7065 224.748 226.8833 240.0547 c +229.1743 248.4492 237.6821 252.8887 246.4458 250.4961 c +254.2231 248.375 257.2837 242.1016 255.7329 236.4219 c +254.5669 232.1445 250.7407 230.0195 247.2153 229.9941 c +247.0962 229.9941 246.9927 230.0762 246.9653 230.1934 c +246.9419 230.3105 246.9985 230.4277 247.1079 230.4785 c +248.1704 230.9688 249.188 231.877 249.6509 233.5742 c +250.4263 236.4121 248.3911 238.5605 246.6353 239.0391 c +243.3022 239.9492 240.2827 238.1211 239.271 234.416 c +237.8911 229.3574 242.3667 223.8906 249.5239 221.9355 c +258.4126 219.5117 268.8833 225.8066 271.2075 234.3223 c +273.5825 243.0254 268.3501 254.4648 253.9087 258.4063 c +239.7153 262.2813 220.7925 257.0996 216.6157 241.793 c +214.1802 232.8691 216.1333 224.1875 221.2075 216.5508 c +221.2739 216.4512 221.2612 216.3164 221.1753 216.2305 c +221.0884 216.1445 220.9536 216.1328 220.853 216.2012 c +209.5415 223.8828 197.1108 224.707 195.3267 218.1699 c +194.4536 214.9727 196.3042 212.7188 198.7524 212.0508 c +201.2681 211.3652 203.8462 212.6289 205.0327 215.4883 c +205.0796 215.5996 205.2007 215.6641 205.3198 215.6406 c +205.438 215.6133 205.5249 215.5098 205.522 215.3867 c +205.4292 208.3477 200.0034 202.5625 193.1577 204.4316 c +187.1021 206.084 183.8354 212.5488 185.688 219.3359 c +188.4888 229.5977 200.6997 231.5391 210.0063 226.6504 C +204.647 233.7715 201.1919 243.1035 204.2524 254.3184 c +210.4507 277.0313 239.5044 281.4355 256.9087 276.6855 c +272.7075 272.373 281.9517 266.4023 287.9087 257.6152 C +284.1079 267.0098 278.4419 272.0039 269.8345 275.9434 C +263.3052 284.0918 267.5161 299.5195 v +269.2759 305.9707 273.3091 311.3418 279.1079 314.7793 C +279.1079 314.7813 279.106 314.7842 279.1021 314.7871 C +279.1509 314.8105 279.1997 314.8379 279.2466 314.8613 C +279.6333 315.0879 280.0298 315.3057 280.4321 315.5146 C +286.4438 319.1211 293.4966 327.6973 292.2661 337.6113 c +292.2524 337.7236 292.3149 337.832 292.4185 337.877 c +292.5239 337.9219 292.645 337.8896 292.7153 337.8018 c +297.3677 331.9629 297.2114 324.1104 294.8794 318.8857 C +298.7368 318.915 302.9087 318.375 307.3442 317.165 c +323.1685 312.8457 332.0122 301.3135 334.9126 290.5566 C +339.4106 292.5977 345.0063 290.4043 347.9888 285.9199 c +348.0532 285.8184 348.0415 285.6855 347.9575 285.5996 c +347.8735 285.5156 347.7407 285.5 347.6392 285.5645 c +342.7583 288.6914 336.9556 284.9648 335.4048 278.3496 c +335.3774 278.2305 335.2681 278.1484 335.145 278.1543 c +335.022 278.1602 334.9204 278.2539 334.9067 278.377 c +333.5591 289.251 326.8228 298.0566 316.1841 300.96 c +305.0767 303.9922 294.2446 299.7852 291.3149 289.0469 c +288.9224 280.2832 294.5571 269.3301 304.5513 266.6016 c +312.3286 264.4785 318.0747 267.5527 319.5903 273.1074 c +320.9048 277.9199 318.6157 282.6563 314.6665 283.7344 c +309.0181 285.2754 305.2388 279.4844 308.7837 274.877 c +308.8521 274.7852 308.854 274.6602 308.7837 274.5684 c +308.7153 274.4766 308.5923 274.4434 308.4868 274.4863 c +304.3892 276.1465 301.2739 280.3418 302.5923 285.1729 c +303.8052 289.6152 308.7544 293.1729 316.6548 291.0166 c +326.0356 288.457 333.0806 276.8555 329.0376 262.043 c +323.5142 241.7988 297.6802 237.0449 282.1079 251.9043 C +286.5278 245.2617 291.4517 239.0098 302.438 236.0117 c +323.188 230.3496 342.813 247.0332 341.1724 273.4902 c +341.1646 273.6152 341.2505 273.7285 341.3735 273.7539 c +341.4946 273.7813 341.6196 273.7129 341.6646 273.5977 c +344.7466 265.4922 350.0786 256.4316 362.2739 253.1035 c +374.9888 249.6328 386.2876 255.5664 389.8599 268.6504 c +392.6216 278.7734 388.2017 286.875 380.9204 288.8623 c +375.3657 290.3789 369.9419 288.0039 368.2603 281.8398 c +365.7563 272.6641 374.8833 266.8203 380.6411 270.3516 c +380.7388 270.4121 380.8677 270.3965 380.9497 270.3164 c +381.0337 270.2363 381.0513 270.1094 380.9927 270.0078 c +378.5454 265.7324 372.6802 262.5977 365.6548 264.5156 c +353.5571 267.8164 348.6001 281.2383 351.9673 293.5811 c +353.5454 299.3652 356.7681 304.502 361.1685 308.1426 C +365.0298 306.5186 369.8384 306.6777 373.3735 307.8867 C +366.2349 307.8154 355.8794 312.8262 358.647 322.9707 c +360.1978 328.6533 365.5923 331.2188 370.7563 329.8086 c +376.8579 328.1436 378.2974 322.21 376.5688 318.1729 c +376.522 318.0654 376.4106 318.0039 376.2974 318.0225 c +376.1821 318.04 376.0942 318.1318 376.0825 318.2471 c +375.9146 319.9375 374.6685 321.6836 372.7446 322.208 c +370.3325 322.8662 368.3989 321.415 367.8735 319.4854 c +367.0044 316.3066 370.063 313.5752 374.2739 313.6211 C +374.27 313.6094 L +377.2896 313.8984 380.5044 313.6445 383.8716 312.7266 c +400.0415 308.3125 410.6646 286.5674 404.6235 264.4375 c +398.2485 241.0781 378.2056 233.2363 361.0474 237.9199 c +351.8481 240.4297 345.8228 245.7871 342.5903 251.4453 C +339.3892 231.668 327.8618 221.7793 314.229 218.4707 C +311.7056 223.8008 306.7114 226.8867 Y +312.0864 219.8496 315.5845 209.3477 312.1821 196.8809 c +307.0278 177.9961 284.4712 168.2344 264.6001 173.6582 c +251.9888 177.0996 240.9927 185.0801 235.397 196.7266 C +228.9556 192.2266 221.186 191.6406 216.1919 195.8809 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0 0 0 0 k + 0 0 0 0 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +363.1294 269.9688 m +363.0044 269.9688 362.8989 269.877 362.8794 269.7539 c +360.5005 253.7402 351.2271 240.3652 338.4888 232.3594 c +338.3853 232.2949 338.3403 232.1641 338.3872 232.0508 c +338.4321 231.9375 338.5532 231.8711 338.6724 231.8965 c +349.145 234 358.4653 239.7598 365.1216 247.9277 C +369.7466 234.5508 380.3579 225.9219 393.4224 222.2734 C +388.6138 216.6816 391.1294 208.7402 398.5415 207.4375 c +398.6548 207.416 398.7661 207.4746 398.8149 207.5781 c +398.8638 207.6816 398.8364 207.8066 398.7485 207.8809 c +394.7759 211.2266 396.229 219.3008 408.0864 219.3008 c +415.8794 219.3008 420.9067 216.1211 420.9067 211.8145 c +420.9067 208.4297 417.8442 206.584 415.2642 206.584 c +410.8501 206.584 408.3267 210.5449 410.2231 214.127 c +410.2778 214.2305 410.2563 214.3574 410.1685 214.4355 c +410.0806 214.5137 409.9517 214.5215 409.854 214.4551 c +407.606 212.8906 406.0356 210.834 406.0356 207.6641 c +406.0356 202.2773 411.061 196.5352 419.3677 196.5332 c +428.2896 196.5332 436.3911 203.4043 436.3911 211.8145 c +436.3911 223.6309 426.3423 229.248 415.7778 230.248 C +420.1431 231.9219 423.4106 236.7734 v +423.4771 236.8691 423.4673 236.998 423.3892 237.084 c +423.311 237.1719 423.1841 237.1934 423.0825 237.1387 c +417.2524 234.0566 410.5942 232.3945 403.5806 232.3945 c +383.9575 232.3945 367.0337 248.7988 363.3813 269.7607 c +363.3599 269.8818 363.2524 269.9727 363.1294 269.9688 c +f +286.4517 217.5625 m +281.8442 209.8867 280.1997 196.7129 284.4946 186.8809 c +284.5435 186.7695 284.5083 186.6406 284.4087 186.5703 c +284.3091 186.502 284.1763 186.5117 284.0884 186.5957 c +279.2817 191.1484 275.1489 201.7715 277.3833 214.0527 C +274.2876 216.4473 272.3384 218.8223 270.8696 222.0059 c +270.8228 222.1074 270.8501 222.2305 270.936 222.3047 c +271.022 222.377 271.147 222.3848 271.2427 222.3203 c +276.2388 218.959 280.7056 217.8125 286.4517 217.5625 C +f +297.0591 337.3691 m +296.9907 337.4727 297.0083 337.6133 297.1001 337.6973 c +297.1938 337.7813 297.3345 337.7852 297.4321 337.7061 c +304.2466 332.1797 313.3071 328.6504 324.4673 328.6504 c +352.0376 328.6504 369.4399 345.1689 372.1743 362.5771 c +372.1919 362.6885 372.2817 362.7734 372.3931 362.7891 c +372.5044 362.8047 372.6138 362.7422 372.6587 362.6396 c +375.3833 356.3818 377.0259 347.3057 368.6099 335.1309 c +363.5747 327.8457 357.479 322.8311 357.479 316.3145 c +357.479 312.0566 359.7407 309.1602 363.1685 309.1602 c +366.7739 309.1602 369.106 312.248 369.104 315.7148 c +369.104 317.4629 368.6001 319.1934 367.6958 320.7607 c +367.6372 320.8633 367.6548 320.9902 367.7407 321.0723 c +367.8247 321.1523 367.9556 321.165 368.0532 321.1016 c +371.0259 319.1641 373.6802 315.7021 373.6802 310.8281 c +373.6802 303.6563 367.5474 297.6602 359.2095 297.6602 c +350.2368 297.6602 342.8872 304.709 342.8872 314.8477 c +342.8872 318.3262 343.8755 322.5156 346.3501 325.9805 C +342.9653 323.1523 341.1587 321.1523 339.6724 316.8271 C +329.272 315.0186 318.1665 316.6797 309.3403 322.4727 C +309.0864 316.3711 307.0903 311.2793 302.9985 307.1533 c +302.9146 307.0684 302.7837 307.0547 302.6841 307.1182 c +302.5825 307.1816 302.5415 307.3066 302.5806 307.4189 c +305.4575 315.4199 303.5239 327.6152 297.0591 337.3691 c +f +209.6938 330.7344 m +211.938 335.5352 217.1528 338.2188 223.1548 338.3271 c +223.2798 338.3311 223.3872 338.2432 223.4087 338.1211 c +223.4321 337.998 223.3638 337.8779 223.2485 337.8359 c +221.2017 337.082 219.5864 335.7637 218.7271 333.9258 c +216.5142 329.1973 220.0942 322.8301 226.7407 319.5566 c +226.8188 319.5186 226.8716 319.4434 226.8813 319.3594 c +226.8911 319.2725 226.856 319.1885 226.7915 319.1318 c +222.5005 315.6143 217.3794 309.0781 217.3794 295.7148 c +217.3774 277.0322 229.5337 259.25 245.6548 259.25 c +254.8677 259.25 262.2876 265.6465 266.1255 275.2422 C +261.9028 269.4844 256.145 265.1348 248.2114 265.1348 c +236.5708 265.1348 227.3579 277.5439 227.356 295.459 c +227.356 312.3457 239.2583 332.0518 255.1216 332.0508 c +263.8247 332.0488 270.3481 325.0117 270.3481 315.9277 c +270.3481 307.8672 265.1021 303.2637 259.2173 303.2637 c +254.7798 303.2637 251.7231 306.3936 250.772 309.7871 c +250.7388 309.9023 250.7915 310.0254 250.897 310.0811 c +251.0044 310.1357 251.1333 310.1104 251.2114 310.0186 c +251.9634 309.124 253.1079 308.3809 254.8657 308.3809 c +257.8091 308.3789 259.3442 310.9082 259.3442 312.7285 c +259.3442 316.1836 256.7856 318.6152 252.9458 318.6152 c +247.7036 318.6152 243.606 312.8564 243.606 305.4385 c +243.606 296.2236 252.436 287.7813 261.2642 287.7813 c +270.2856 287.7813 279.9438 295.8408 279.9438 310.8125 c +279.9419 325.5234 269.9653 342.4141 254.0981 342.4141 c +244.8481 342.4141 236.9849 338.2441 230.9556 331.3398 c +230.8755 331.248 230.7427 331.2246 230.6392 331.2852 c +230.5317 331.3477 230.4849 331.4727 230.5239 331.5879 c +234.9575 344.5234 232.4771 356.7344 225.7036 356.7324 c +222.3892 356.7324 220.7017 354.3535 220.7017 351.8154 c +220.7017 349.21 222.6001 347.0566 225.6704 346.6611 c +225.7915 346.6475 225.8833 346.5479 225.8931 346.4268 c +225.8989 346.3047 225.8188 346.1943 225.7017 346.1641 c +218.8872 344.4004 211.8774 348.1133 211.8774 355.2061 c +211.8774 361.4854 217.2544 366.3398 224.2896 366.3398 c +234.9263 366.3379 240.0142 355.0684 237.7485 344.8047 C +243.2075 351.8486 251.3013 357.6396 262.9263 357.6396 c +286.4692 357.6396 298.3677 330.7715 298.3677 312.7285 c +298.3677 296.3525 295.0415 285.8604 288.1313 277.8018 C +296.1938 283.9404 299.52 290.7227 301.0552 300.0645 C +307.1958 308.5078 323.188 308.5078 v +329.8755 308.5078 336.1177 306.0322 340.9614 301.3438 C +340.9634 301.3447 340.9653 301.3477 340.9673 301.3486 C +341.0024 301.3105 341.0396 301.2695 341.0767 301.2314 C +341.397 300.915 341.7114 300.5918 342.02 300.2578 C +347.0806 295.4102 357.2114 290.8633 366.4517 294.6602 c +366.5571 294.7031 366.6782 294.6699 366.7485 294.582 c +366.8188 294.4932 366.8188 294.3672 366.7524 294.2754 c +362.3462 288.252 354.729 286.335 349.0747 287.21 C +350.1177 283.4941 350.6958 279.3281 350.6958 274.7305 c +350.6978 258.3262 341.8989 246.7598 332.2856 241.1289 C +335.438 237.3281 334.7954 231.3535 331.2544 227.2949 c +331.1743 227.2051 331.0435 227.1816 330.938 227.2402 c +330.8345 227.2988 330.7837 227.4238 330.8188 227.5391 c +332.5513 233.0703 327.4282 237.6875 320.6392 237.4395 c +320.5161 237.4355 320.4067 237.5195 320.3813 237.6406 c +320.356 237.7617 320.4185 237.8828 320.5337 237.9277 c +330.6685 242.0918 337.3911 250.9102 337.3892 261.9355 c +337.3911 273.4492 330.481 282.79 319.3501 282.79 c +310.2661 282.79 301.1821 274.4727 301.1821 264.1133 c +301.1821 256.0508 305.6587 251.3184 311.4165 251.3164 c +316.4067 251.3184 320.3735 254.7715 320.3735 258.8672 c +320.3735 264.7188 313.7896 266.8408 310.2778 262.209 c +310.2095 262.1172 310.0864 262.084 309.981 262.127 c +309.8755 262.1689 309.811 262.2773 309.8228 262.3926 c +310.3462 266.7813 313.5767 270.8926 318.5825 270.8926 c +323.188 270.8926 327.9224 267.0518 327.9224 258.8652 c +327.9224 249.1406 318.5845 239.291 303.231 239.2891 c +282.2466 239.2891 270.8599 262.959 281.0942 281.8945 C +275.8501 275.8809 271.1157 269.4844 271.1157 258.0977 c +271.1138 236.5898 292.3794 222.0488 317.4692 230.5977 c +317.5884 230.6367 317.7192 230.584 317.7759 230.4746 c +317.8345 230.3633 317.8013 230.2266 317.6997 230.1523 c +310.6938 225.043 303.356 217.5137 303.356 204.873 c +303.356 191.6934 312.0552 182.3535 325.6196 182.3535 c +336.1099 182.3535 342.7642 188.752 342.7642 196.2988 c +342.7642 202.0566 339.0454 206.6641 332.6567 206.6641 c +323.1431 206.6641 319.9087 196.3203 324.8325 191.6953 c +324.9165 191.6152 324.936 191.4902 324.8813 191.3887 c +324.8247 191.2871 324.7056 191.2344 324.5942 191.2637 c +319.8247 192.5 315.2563 197.332 315.2563 204.6152 c +315.2544 217.1563 326.897 225.4727 339.6919 225.4727 c +345.688 225.4727 351.4907 223.7188 356.1646 220.4297 C +355.6118 216.2773 357.0317 211.6816 359.1313 208.5879 C +357.1821 215.457 359.2915 226.7656 369.8032 226.7676 c +375.6958 226.7656 379.5903 222.2383 379.5903 216.8867 c +379.5903 210.5605 374.2446 207.6094 369.895 208.2148 c +369.7798 208.2305 369.6899 208.3223 369.6763 208.4375 c +369.6646 208.5527 369.731 208.6602 369.8384 208.7031 c +371.4243 209.3105 372.7817 210.9727 372.7817 212.9668 c +372.7817 215.4668 370.8696 216.9492 368.8696 216.9492 c +365.5767 216.9492 363.7466 213.2793 364.8989 209.2305 C +364.8872 209.2285 L +365.9595 206.3926 366.561 203.2246 366.561 199.7363 c +366.561 182.9746 348.3813 167.002 325.4399 167 c +301.229 167 288.3872 184.2734 288.3892 202.0566 c +288.3892 211.5938 291.9692 218.8184 296.5767 223.4258 C +276.6548 221.3066 264.0786 229.8223 257.2974 242.1035 C +261.7759 245.9414 263.438 251.5723 Y +258.0649 244.5352 248.854 238.3945 235.9321 238.3945 c +216.356 238.3945 201.0005 257.5859 201.0005 278.1836 c +201.0005 291.2568 205.8032 303.9648 215.5649 312.4307 C +209.5278 317.459 206.9185 324.8018 209.6938 330.7344 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0.35 0.6 0.8 0.25 k + 0.35 0.6 0.8 0.25 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +73.2617 263.3711 m +73.3867 263.3711 73.4922 263.4629 73.5098 263.585 c +75.8906 279.5996 85.1641 292.9746 97.9023 300.9814 c +98.0059 301.0449 98.0488 301.1758 98.0039 301.29 c +97.957 301.4023 97.8379 301.4688 97.7168 301.4443 c +87.2461 299.3398 77.9238 293.5811 71.2695 285.4141 C +66.6436 298.7891 56.0332 307.418 42.9688 311.0654 C +47.7773 316.6582 45.2617 324.5986 37.8496 325.9023 c +37.7363 325.9229 37.624 325.8643 37.5752 325.7607 c +37.5273 325.6563 37.5537 325.5322 37.6416 325.46 c +41.6152 322.1143 40.1611 314.04 28.3047 314.04 c +20.5098 314.04 15.4844 317.2188 15.4844 321.5254 c +15.4844 324.9102 18.5459 326.7559 21.125 326.7559 c +25.541 326.7559 28.0645 322.7949 26.167 319.2129 c +26.1123 319.1104 26.1348 318.9814 26.2227 318.9033 c +26.3105 318.8271 26.4395 318.8184 26.5361 318.8857 c +28.7852 320.4492 30.3555 322.5059 30.3555 325.6768 c +30.3555 331.0635 25.3301 336.8066 17.0234 336.8066 c +8.10156 336.8066 0 329.9355 0 321.5254 c +0 309.71 10.0488 304.0918 20.6133 303.0918 C +16.248 301.4189 12.9795 296.5664 v +12.9141 296.4697 12.9238 296.3418 13.001 296.2559 c +13.0791 296.1689 13.2051 296.1475 13.3086 296.2012 c +19.1387 299.2822 25.7949 300.9453 32.8105 300.9453 c +52.4316 300.9453 69.3574 284.541 73.0098 263.5801 c +73.0313 263.4561 73.1377 263.3691 73.2617 263.3711 c +f +149.9395 315.7773 m +154.5488 323.4551 156.1914 336.627 151.8965 346.46 c +151.8477 346.5703 151.8828 346.6992 151.9824 346.7686 c +152.0801 346.8379 152.2148 346.8281 152.3027 346.7461 c +157.1094 342.1914 161.2422 331.5684 159.0078 319.2871 C +162.1055 316.8936 164.0527 314.5176 165.5215 311.335 c +165.5684 311.2314 165.541 311.1104 165.4551 311.0352 c +165.3691 310.9629 165.2441 310.9551 165.1484 311.0186 c +160.1523 314.3809 155.6855 315.5283 149.9395 315.7773 C +f +139.3301 195.9707 m +139.4004 195.8672 139.3828 195.7266 139.291 195.6426 c +139.1973 195.5586 139.0566 195.5547 138.959 195.6348 c +132.1445 201.1621 123.084 204.6895 111.9238 204.6895 c +84.3516 204.6895 66.9512 188.1719 64.2158 170.7637 c +64.1982 170.6523 64.1094 170.5664 63.998 170.5508 c +63.8857 170.5371 63.7773 170.5977 63.7324 170.7012 c +61.0068 176.959 59.3652 186.0352 67.7813 198.209 c +72.8154 205.4941 78.9102 210.5098 78.9102 217.0273 c +78.9102 221.2852 76.6504 224.1797 73.2227 224.1797 c +69.6172 224.1797 67.2861 221.0918 67.2861 217.625 c +67.2861 215.877 67.791 214.1465 68.6953 212.5801 c +68.7539 212.4766 68.7354 212.3496 68.6504 212.2676 c +68.5645 212.1875 68.4355 212.1758 68.3379 212.2402 c +65.3652 214.1777 62.7109 217.6367 62.7109 222.5117 c +62.7109 229.6836 68.8438 235.6816 77.1797 235.6816 c +86.1543 235.6816 93.5039 228.6328 93.5039 218.4922 c +93.5039 215.0156 92.5137 210.8242 90.041 207.3613 C +93.4258 210.1875 95.2324 212.1875 96.7188 216.5117 C +107.1191 218.3223 118.2246 216.6602 127.0488 210.8691 C +127.3047 216.9707 129.3008 222.0605 133.3926 226.1875 c +133.4766 226.2715 133.6074 226.2852 133.707 226.2227 c +133.8086 226.1582 133.8516 226.0332 133.8105 225.9219 c +130.9336 217.9199 132.8652 205.7246 139.3301 195.9707 c +f +226.6973 202.6055 m +224.4512 197.8066 219.2383 195.1211 213.2363 195.0117 c +213.1113 195.0098 213.0039 195.0977 212.9824 195.2188 c +212.959 195.3418 213.0273 195.4609 213.1426 195.5039 c +215.1895 196.2578 216.8047 197.5762 217.6641 199.4141 c +219.877 204.1426 216.2969 210.5098 209.6504 213.7832 c +209.5723 213.8223 209.5195 213.8965 209.5098 213.9824 c +209.5 214.0684 209.5332 214.1523 209.5996 214.207 c +213.8906 217.7266 219.0117 224.2617 219.0117 237.627 c +219.0117 256.3086 206.8574 274.0898 190.7363 274.0898 c +181.5234 274.0898 174.1035 267.6934 170.2656 258.0977 C +174.4863 263.8564 180.2441 268.2051 188.1777 268.2051 c +199.8203 268.2051 209.0332 255.7969 209.0332 237.8828 c +209.0332 220.9941 197.1328 201.2891 181.2676 201.2891 c +172.5664 201.2891 166.043 208.3281 166.043 217.4121 c +166.043 225.4746 171.2891 230.0781 177.1758 230.0781 c +181.6094 230.0781 184.668 226.9473 185.6191 223.5527 c +185.6504 223.4375 185.5996 223.3164 185.4922 223.2598 c +185.3867 223.2051 185.2578 223.2305 185.1797 223.3223 c +184.4277 224.2168 183.2832 224.9609 181.5254 224.9609 c +178.582 224.9609 177.0469 222.4316 177.0469 220.6113 c +177.0469 217.1563 179.6055 214.7246 183.4453 214.7246 c +188.6895 214.7246 192.7852 220.4824 192.7852 227.9023 c +192.7852 237.1152 183.9551 245.5586 175.127 245.5586 c +166.1055 245.5586 156.4473 237.5 156.4473 222.5293 c +156.4473 207.8164 166.4277 190.9258 182.293 190.9258 c +191.543 190.9258 199.4043 195.0957 205.4355 202.002 c +205.5156 202.0918 205.6484 202.1152 205.7539 202.0547 c +205.8594 201.9941 205.9063 201.8672 205.8672 201.752 c +201.4336 188.8164 203.9121 176.6074 210.6875 176.6074 c +214.002 176.6074 215.6895 178.9863 215.6895 181.5234 c +215.6895 184.1309 213.791 186.2852 210.7207 186.6777 c +210.5996 186.6934 210.5059 186.793 210.498 186.9141 c +210.4922 187.0352 210.5703 187.1465 210.6895 187.1758 c +217.5039 188.9395 224.5137 185.2285 224.5137 178.1328 c +224.5137 171.8555 219.1367 167.002 212.1016 167.002 c +201.4648 167.002 196.377 178.2715 198.6426 188.5371 C +193.1836 181.4922 185.0898 175.7012 173.4648 175.7012 c +149.9219 175.7012 138.0234 202.5703 138.0234 220.6113 c +138.0234 236.9883 141.3496 247.4785 148.2598 255.5391 C +140.1973 249.3984 136.8711 242.6172 135.3379 233.2773 C +129.1953 224.832 113.2031 224.832 v +106.5156 224.832 100.2734 227.3086 95.4297 231.998 C +95.4277 231.9961 95.4258 231.9941 95.4238 231.9902 C +95.3887 232.0313 95.3496 232.0703 95.3145 232.1094 C +94.9941 232.4238 94.6797 232.748 94.3711 233.082 C +89.3086 237.9316 79.1797 242.4785 69.9395 238.6797 c +69.834 238.6367 69.7129 238.6699 69.6426 238.7578 c +69.5723 238.8477 69.5703 238.9727 69.6377 239.0645 c +74.0449 245.0898 81.6621 247.0059 87.3164 246.1309 C +86.2715 249.8457 85.6934 254.0117 85.6934 258.6094 c +85.6934 275.0137 94.4922 286.5801 104.1055 292.2109 C +100.9512 296.0137 101.5957 301.9883 105.1367 306.0449 c +105.2168 306.1357 105.3477 306.1582 105.4531 306.0996 c +105.5566 306.041 105.6055 305.918 105.5703 305.8018 c +103.8398 300.2695 108.9629 295.6523 115.752 295.9004 c +115.875 295.9033 115.9824 295.8193 116.0098 295.6992 c +116.0352 295.5801 115.9707 295.457 115.8574 295.4111 c +105.7207 291.248 99 282.4316 99 271.4033 c +99 259.8906 105.9082 250.5488 117.041 250.5488 c +126.125 250.5488 135.209 258.8672 135.209 269.2285 c +135.209 277.2891 130.7305 282.0225 124.9727 282.0225 c +119.9844 282.0225 116.0176 278.5684 116.0176 274.4736 c +116.0176 268.6211 122.5996 266.499 126.1113 271.1309 c +126.1816 271.2227 126.3027 271.2559 126.4082 271.2129 c +126.5156 271.1699 126.5801 271.0625 126.5664 270.9482 c +126.043 266.5586 122.8145 262.4482 117.8086 262.4482 c +113.2031 262.4482 108.4688 266.2861 108.4688 274.4746 c +108.4688 284.1982 117.8066 294.0508 133.1602 294.0508 c +154.1426 294.0508 165.5313 270.3809 155.2969 251.4453 C +160.541 257.459 165.2754 263.8555 165.2754 275.2432 c +165.2754 296.75 144.0117 311.291 118.9219 302.7441 c +118.8027 302.7021 118.6719 302.7559 118.6152 302.8672 c +118.5566 302.9785 118.5879 303.1143 118.6895 303.1895 c +125.6953 308.2979 133.0332 315.8262 133.0332 328.4668 c +133.0332 341.6475 124.334 350.9854 110.7715 350.9854 c +100.2793 350.9854 93.627 344.5879 93.627 337.04 c +93.627 331.2822 97.3457 326.6768 103.7344 326.6768 c +113.2461 326.6768 116.4805 337.0195 111.5586 341.6445 c +111.4746 341.7236 111.4551 341.8516 111.5098 341.9521 c +111.5664 342.0547 111.6836 342.1055 111.7969 342.0762 c +116.5664 340.8398 121.1348 336.0068 121.1348 328.7236 c +121.1348 316.1855 109.4922 307.8682 96.6973 307.8682 c +90.7012 307.8682 84.8984 309.623 80.2266 312.9102 C +80.7773 317.0635 79.3574 321.6602 77.2598 324.752 C +79.209 317.8848 77.1016 306.5732 66.5859 306.5732 c +60.6953 306.5732 56.8008 311.1025 56.8008 316.4551 c +56.8008 322.7793 62.1465 325.7314 66.4961 325.125 c +66.6113 325.1104 66.7002 325.0186 66.7129 324.9023 c +66.7266 324.7891 66.6602 324.6797 66.5527 324.6367 c +64.9668 324.0293 63.6104 322.3691 63.6104 320.373 c +63.6104 317.873 65.5195 316.3906 67.5195 316.3906 c +70.8145 316.3906 72.6445 320.0605 71.4922 324.1104 C +71.5039 324.1104 L +70.4307 326.9473 69.8281 330.1152 69.8281 333.6055 c +69.8281 350.3672 88.0098 366.3398 110.9492 366.3398 c +135.1621 366.3398 148.0039 349.0664 148.0039 331.2822 c +148.0039 321.7461 144.4219 314.5225 139.8145 309.915 C +159.7363 312.0332 172.3125 303.5176 179.0938 291.2354 C +174.6152 287.3975 172.9531 281.7676 Y +178.3262 288.8057 187.5371 294.9453 200.459 294.9453 c +220.0352 294.9453 235.3906 275.7539 235.3906 255.1563 c +235.3906 242.084 230.5879 229.375 220.8262 220.9102 C +226.8633 215.8809 229.4727 208.5391 226.6973 202.6055 c +f +*U +*u +148.2109 327.9053 m +148.1777 327.7852 148.2383 327.6582 148.3516 327.6094 c +163.1758 321.0957 173.6367 308.6289 178.0059 294.2324 c +178.041 294.1152 178.1543 294.0391 178.2773 294.0527 c +178.3984 294.0664 178.4941 294.166 178.502 294.2871 c +179.2285 304.9434 176.127 315.4531 170 324.0234 C +184.1211 324.9648 195.2402 332.9297 202.1992 344.5723 C +206.3281 338.46 214.6504 338.7969 217.8594 345.6035 c +217.9102 345.708 217.8828 345.832 217.7949 345.9063 c +217.707 345.9805 217.5801 345.9873 217.4863 345.9219 c +213.2129 342.9688 205.8066 346.498 208.9277 357.9355 c +210.9805 365.4561 215.3711 369.4668 219.5254 368.333 c +222.791 367.4414 223.7656 364.002 223.0859 361.5146 c +221.9238 357.2539 217.4375 355.8623 214.4805 358.6357 c +214.3965 358.7158 214.2676 358.7285 214.1699 358.6641 c +214.0723 358.5986 214.0293 358.4775 214.0684 358.3662 c +214.9863 355.7852 216.5566 353.7285 219.6152 352.8936 c +224.8105 351.4756 231.6738 354.8115 233.8613 362.8252 c +236.2109 371.4316 231.7148 381.0566 223.6035 383.2715 c +212.2031 386.3818 204.1387 378.166 200.3926 368.2383 C +199.9258 372.8896 196.1074 377.3203 v +196.0313 377.4092 195.9043 377.4336 195.8008 377.3818 c +195.6973 377.3291 195.6426 377.2129 195.666 377.0996 c +197.1055 370.6641 196.957 363.8047 195.1094 357.0361 c +189.9434 338.1074 169.6621 326.0977 148.4785 328.0938 c +148.3535 328.1055 148.2402 328.0254 148.2109 327.9053 c +f +178.5801 240.1348 m +184.7734 233.666 197.0488 228.6133 207.6641 230.168 c +207.7852 230.1855 207.9004 230.1172 207.9395 230.0039 c +207.9805 229.8906 207.9355 229.7637 207.834 229.7012 c +202.1738 226.2617 190.8379 225.0723 179.5781 230.4609 C +176.4531 228.1035 173.6484 226.8496 170.1914 226.2715 c +170.0801 226.2539 169.9688 226.3125 169.9199 226.4141 c +169.873 226.5156 169.8984 226.6387 169.9844 226.7148 c +174.5449 230.6484 176.8281 234.6563 178.5801 240.1348 C +f +65.793 281.9121 m +65.6748 281.8711 65.5439 281.9258 65.4873 282.0371 c +65.4307 282.1484 65.4639 282.2852 65.5674 282.3594 c +72.6934 287.4785 78.4824 295.291 81.4199 306.0566 c +88.6797 332.6563 77.3262 353.792 61.2529 361.0146 c +61.1494 361.0605 61.0898 361.1689 61.1045 361.2803 c +61.1211 361.3926 61.208 361.4814 61.3193 361.4971 c +68.0742 362.4785 77.2617 361.6729 86.791 350.3486 c +92.4922 343.5732 95.7266 336.373 102.0137 334.6563 c +106.1211 333.5352 109.5098 334.9551 110.4121 338.2617 c +111.3613 341.7393 108.9961 344.8018 105.6523 345.7148 c +103.9648 346.1738 102.1621 346.1436 100.4141 345.6836 c +100.2988 345.6533 100.1816 345.7051 100.125 345.8086 c +100.0703 345.9121 100.0918 346.04 100.1797 346.1172 c +102.832 348.4746 106.8672 350.125 111.5703 348.8408 c +118.4902 346.9531 122.6602 339.457 120.4668 331.415 c +118.1035 322.7578 109.3691 317.5234 99.5859 320.1934 c +96.2324 321.1084 92.4492 323.168 89.7598 326.4648 C +91.5938 322.4551 93.0488 320.1855 96.8281 317.6133 C +95.8359 307.1035 91.3086 296.8271 83.4004 289.8389 C +89.2188 287.9863 93.6035 284.7207 96.5078 279.6855 c +96.5664 279.582 96.5449 279.4531 96.459 279.373 c +96.3691 279.293 96.2383 279.2832 96.1406 279.3535 c +89.1797 284.2344 76.9043 285.582 65.793 281.9121 c +f +49.1914 195.8809 m +45.1533 199.3105 43.9355 205.0469 45.4102 210.8672 c +45.4414 210.9883 45.5537 211.0684 45.6768 211.0566 c +45.8018 211.0469 45.8984 210.9492 45.9092 210.8281 c +46.0977 208.6543 46.9443 206.748 48.4912 205.4355 c +52.4707 202.0566 59.5557 203.834 64.4629 209.3828 c +64.5215 209.4492 64.6074 209.4805 64.6924 209.4668 c +64.7783 209.4531 64.8506 209.3984 64.8857 209.3203 c +67.1514 204.2539 72.1074 197.5938 85 194.0742 c +103.0234 189.1563 123.3789 196.1992 127.623 211.752 c +130.0488 220.6406 125.8301 229.4824 117.584 235.7109 C +122.0293 230.123 124.707 223.4238 122.6172 215.7695 c +119.5527 204.5391 105.1563 198.918 87.875 203.6348 c +71.582 208.0801 55.7061 224.748 59.8828 240.0547 c +62.1738 248.4492 70.6816 252.8887 79.4453 250.4961 c +87.2227 248.375 90.2832 242.1016 88.7324 236.4219 c +87.5664 232.1445 83.7402 230.0195 80.2148 229.9941 c +80.0957 229.9941 79.9922 230.0762 79.9648 230.1934 c +79.9414 230.3105 79.998 230.4277 80.1074 230.4785 c +81.1699 230.9688 82.1875 231.877 82.6504 233.5742 c +83.4258 236.4121 81.3906 238.5605 79.6348 239.0391 c +76.3018 239.9492 73.2822 238.1211 72.2705 234.416 c +70.8906 229.3574 75.3662 223.8906 82.5234 221.9355 c +91.4121 219.5117 101.8828 225.8066 104.207 234.3223 c +106.582 243.0254 101.3496 254.4648 86.9082 258.4063 c +72.7148 262.2813 53.792 257.0996 49.6152 241.793 c +47.1797 232.8691 49.1328 224.1875 54.207 216.5508 c +54.2734 216.4512 54.2607 216.3164 54.1748 216.2305 c +54.0879 216.1445 53.9531 216.1328 53.8525 216.2012 c +42.541 223.8828 30.1104 224.707 28.3262 218.1699 c +27.4531 214.9727 29.3037 212.7188 31.752 212.0508 c +34.2676 211.3652 36.8457 212.6289 38.0322 215.4883 c +38.0791 215.5996 38.2002 215.6641 38.3193 215.6406 c +38.4375 215.6133 38.5244 215.5098 38.5215 215.3867 c +38.4287 208.3477 33.0029 202.5625 26.1572 204.4316 c +20.1016 206.084 16.835 212.5488 18.6875 219.3359 c +21.4883 229.5977 33.6992 231.5391 43.0059 226.6504 C +37.6465 233.7715 34.1914 243.1035 37.252 254.3184 c +43.4502 277.0313 72.5039 281.4355 89.9082 276.6855 c +105.707 272.373 114.9512 266.4023 120.9082 257.6152 C +117.1074 267.0098 111.4414 272.0039 102.834 275.9434 C +96.3047 284.0918 100.5156 299.5195 v +102.2754 305.9707 106.3086 311.3418 112.1074 314.7793 C +112.1074 314.7813 112.1055 314.7842 112.1016 314.7871 C +112.1504 314.8105 112.1992 314.8379 112.2461 314.8613 C +112.6328 315.0879 113.0293 315.3057 113.4316 315.5146 C +119.4434 319.1211 126.4961 327.6973 125.2656 337.6113 c +125.252 337.7236 125.3145 337.832 125.418 337.877 c +125.5234 337.9219 125.6445 337.8896 125.7148 337.8018 c +130.3672 331.9629 130.2109 324.1104 127.8789 318.8857 C +131.7363 318.915 135.9082 318.375 140.3438 317.165 c +156.168 312.8457 165.0117 301.3135 167.9121 290.5566 C +172.4102 292.5977 178.0059 290.4043 180.9883 285.9199 c +181.0527 285.8184 181.041 285.6855 180.957 285.5996 c +180.873 285.5156 180.7402 285.5 180.6387 285.5645 c +175.7578 288.6914 169.9551 284.9648 168.4043 278.3496 c +168.377 278.2305 168.2676 278.1484 168.1445 278.1543 c +168.0215 278.1602 167.9199 278.2539 167.9063 278.377 c +166.5586 289.251 159.8223 298.0566 149.1836 300.96 c +138.0762 303.9922 127.2441 299.7852 124.3145 289.0469 c +121.9219 280.2832 127.5566 269.3301 137.5508 266.6016 c +145.3281 264.4785 151.0742 267.5527 152.5898 273.1074 c +153.9043 277.9199 151.6152 282.6563 147.666 283.7344 c +142.0176 285.2754 138.2383 279.4844 141.7832 274.877 c +141.8516 274.7852 141.8535 274.6602 141.7832 274.5684 c +141.7148 274.4766 141.5918 274.4434 141.4863 274.4863 c +137.3887 276.1465 134.2734 280.3418 135.5918 285.1729 c +136.8047 289.6152 141.7539 293.1729 149.6543 291.0166 c +159.0352 288.457 166.0801 276.8555 162.0371 262.043 c +156.5137 241.7988 130.6797 237.0449 115.1074 251.9043 C +119.5273 245.2617 124.4512 239.0098 135.4375 236.0117 c +156.1875 230.3496 175.8125 247.0332 174.1719 273.4902 c +174.1641 273.6152 174.25 273.7285 174.373 273.7539 c +174.4941 273.7813 174.6191 273.7129 174.6641 273.5977 c +177.7461 265.4922 183.0781 256.4316 195.2734 253.1035 c +207.9883 249.6328 219.2871 255.5664 222.8594 268.6504 c +225.6211 278.7734 221.2012 286.875 213.9199 288.8623 c +208.3652 290.3789 202.9414 288.0039 201.2598 281.8398 c +198.7559 272.6641 207.8828 266.8203 213.6406 270.3516 c +213.7383 270.4121 213.8672 270.3965 213.9492 270.3164 c +214.0332 270.2363 214.0508 270.1094 213.9922 270.0078 c +211.5449 265.7324 205.6797 262.5977 198.6543 264.5156 c +186.5566 267.8164 181.5996 281.2383 184.9668 293.5811 c +186.5449 299.3652 189.7676 304.502 194.168 308.1426 C +198.0293 306.5186 202.8379 306.6777 206.373 307.8867 C +199.2344 307.8154 188.8789 312.8262 191.6465 322.9707 c +193.1973 328.6533 198.5918 331.2188 203.7559 329.8086 c +209.8574 328.1436 211.2969 322.21 209.5684 318.1729 c +209.5215 318.0654 209.4102 318.0039 209.2969 318.0225 c +209.1816 318.04 209.0938 318.1318 209.082 318.2471 c +208.9141 319.9375 207.668 321.6836 205.7441 322.208 c +203.332 322.8662 201.3984 321.415 200.873 319.4854 c +200.0039 316.3066 203.0625 313.5752 207.2734 313.6211 C +207.2695 313.6094 L +210.2891 313.8984 213.5039 313.6445 216.8711 312.7266 c +233.041 308.3125 243.6641 286.5674 237.623 264.4375 c +231.248 241.0781 211.2051 233.2363 194.0469 237.9199 c +184.8477 240.4297 178.8223 245.7871 175.5898 251.4453 C +172.3887 231.668 160.8613 221.7793 147.2285 218.4707 C +144.7051 223.8008 139.7109 226.8867 Y +145.0859 219.8496 148.584 209.3477 145.1816 196.8809 c +140.0273 177.9961 117.4707 168.2344 97.5996 173.6582 c +84.9883 177.0996 73.9922 185.0801 68.3965 196.7266 C +61.9551 192.2266 54.1855 191.6406 49.1914 195.8809 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0 0 0 0 k + 0 0 0 0 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +196.1289 269.9688 m +196.0039 269.9688 195.8984 269.877 195.8789 269.7539 c +193.5 253.7402 184.2266 240.3652 171.4883 232.3594 c +171.3848 232.2949 171.3398 232.1641 171.3867 232.0508 c +171.4316 231.9375 171.5527 231.8711 171.6719 231.8965 c +182.1445 234 191.4648 239.7598 198.1211 247.9277 C +202.7461 234.5508 213.3574 225.9219 226.4219 222.2734 C +221.6133 216.6816 224.1289 208.7402 231.541 207.4375 c +231.6543 207.416 231.7656 207.4746 231.8145 207.5781 c +231.8633 207.6816 231.8359 207.8066 231.748 207.8809 c +227.7754 211.2266 229.2285 219.3008 241.0859 219.3008 c +248.8794 219.3008 253.9067 216.1211 253.9067 211.8145 c +253.9067 208.4297 250.8442 206.584 248.2642 206.584 c +243.8501 206.584 241.3262 210.5449 243.2227 214.127 c +243.2773 214.2305 243.2559 214.3574 243.168 214.4355 c +243.0801 214.5137 242.9512 214.5215 242.8535 214.4551 c +240.6055 212.8906 239.0352 210.834 239.0352 207.6641 c +239.0352 202.2773 244.061 196.5352 252.3677 196.5332 c +261.2896 196.5332 269.3911 203.4043 269.3911 211.8145 c +269.3911 223.6309 259.3423 229.248 248.7778 230.248 C +253.1431 231.9219 256.4106 236.7734 v +256.4771 236.8691 256.4673 236.998 256.3892 237.084 c +256.311 237.1719 256.1841 237.1934 256.0825 237.1387 c +250.2524 234.0566 243.5938 232.3945 236.5801 232.3945 c +216.957 232.3945 200.0332 248.7988 196.3809 269.7607 c +196.3594 269.8818 196.252 269.9727 196.1289 269.9688 c +f +119.4512 217.5625 m +114.8438 209.8867 113.1992 196.7129 117.4941 186.8809 c +117.543 186.7695 117.5078 186.6406 117.4082 186.5703 c +117.3086 186.502 117.1758 186.5117 117.0879 186.5957 c +112.2813 191.1484 108.1484 201.7715 110.3828 214.0527 C +107.2871 216.4473 105.3379 218.8223 103.8691 222.0059 c +103.8223 222.1074 103.8496 222.2305 103.9355 222.3047 c +104.0215 222.377 104.1465 222.3848 104.2422 222.3203 c +109.2383 218.959 113.7051 217.8125 119.4512 217.5625 C +f +130.0586 337.3691 m +129.9902 337.4727 130.0078 337.6133 130.0996 337.6973 c +130.1934 337.7813 130.334 337.7852 130.4316 337.7061 c +137.2461 332.1797 146.3066 328.6504 157.4668 328.6504 c +185.0371 328.6504 202.4395 345.1689 205.1738 362.5771 c +205.1914 362.6885 205.2813 362.7734 205.3926 362.7891 c +205.5039 362.8047 205.6133 362.7422 205.6582 362.6396 c +208.3828 356.3818 210.0254 347.3057 201.6094 335.1309 c +196.5742 327.8457 190.4785 322.8311 190.4785 316.3145 c +190.4785 312.0566 192.7402 309.1602 196.168 309.1602 c +199.7734 309.1602 202.1055 312.248 202.1035 315.7148 c +202.1035 317.4629 201.5996 319.1934 200.6953 320.7607 c +200.6367 320.8633 200.6543 320.9902 200.7402 321.0723 c +200.8242 321.1523 200.9551 321.165 201.0527 321.1016 c +204.0254 319.1641 206.6797 315.7021 206.6797 310.8281 c +206.6797 303.6563 200.5469 297.6602 192.209 297.6602 c +183.2363 297.6602 175.8867 304.709 175.8867 314.8477 c +175.8867 318.3262 176.875 322.5156 179.3496 325.9805 C +175.9648 323.1523 174.1582 321.1523 172.6719 316.8271 C +162.2715 315.0186 151.166 316.6797 142.3398 322.4727 C +142.0859 316.3711 140.0898 311.2793 135.998 307.1533 c +135.9141 307.0684 135.7832 307.0547 135.6836 307.1182 c +135.582 307.1816 135.541 307.3066 135.5801 307.4189 c +138.457 315.4199 136.5234 327.6152 130.0586 337.3691 c +f +42.6934 330.7344 m +44.9375 335.5352 50.1523 338.2188 56.1543 338.3271 c +56.2793 338.3311 56.3867 338.2432 56.4082 338.1211 c +56.4316 337.998 56.3633 337.8779 56.248 337.8359 c +54.2012 337.082 52.5859 335.7637 51.7266 333.9258 c +49.5137 329.1973 53.0938 322.8301 59.7402 319.5566 c +59.8184 319.5186 59.8711 319.4434 59.8809 319.3594 c +59.8906 319.2725 59.8555 319.1885 59.791 319.1318 c +55.5 315.6143 50.3789 309.0781 50.3789 295.7148 c +50.377 277.0322 62.5332 259.25 78.6543 259.25 c +87.8672 259.25 95.2871 265.6465 99.125 275.2422 C +94.9023 269.4844 89.1445 265.1348 81.2109 265.1348 c +69.5703 265.1348 60.3574 277.5439 60.3555 295.459 c +60.3555 312.3457 72.2578 332.0518 88.1211 332.0508 c +96.8242 332.0488 103.3477 325.0117 103.3477 315.9277 c +103.3477 307.8672 98.1016 303.2637 92.2168 303.2637 c +87.7793 303.2637 84.7227 306.3936 83.7715 309.7871 c +83.7383 309.9023 83.791 310.0254 83.8965 310.0811 c +84.0039 310.1357 84.1328 310.1104 84.2109 310.0186 c +84.9629 309.124 86.1074 308.3809 87.8652 308.3809 c +90.8086 308.3789 92.3438 310.9082 92.3438 312.7285 c +92.3438 316.1836 89.7852 318.6152 85.9453 318.6152 c +80.7031 318.6152 76.6055 312.8564 76.6055 305.4385 c +76.6055 296.2236 85.4355 287.7813 94.2637 287.7813 c +103.2852 287.7813 112.9434 295.8408 112.9434 310.8125 c +112.9414 325.5234 102.9648 342.4141 87.0977 342.4141 c +77.8477 342.4141 69.9844 338.2441 63.9551 331.3398 c +63.875 331.248 63.7422 331.2246 63.6387 331.2852 c +63.5313 331.3477 63.4844 331.4727 63.5234 331.5879 c +67.957 344.5234 65.4766 356.7344 58.7031 356.7324 c +55.3887 356.7324 53.7012 354.3535 53.7012 351.8154 c +53.7012 349.21 55.5996 347.0566 58.6699 346.6611 c +58.791 346.6475 58.8828 346.5479 58.8926 346.4268 c +58.8984 346.3047 58.8184 346.1943 58.7012 346.1641 c +51.8867 344.4004 44.877 348.1133 44.877 355.2061 c +44.877 361.4854 50.2539 366.3398 57.2891 366.3398 c +67.9258 366.3379 73.0137 355.0684 70.748 344.8047 C +76.207 351.8486 84.3008 357.6396 95.9258 357.6396 c +119.4688 357.6396 131.3672 330.7715 131.3672 312.7285 c +131.3672 296.3525 128.041 285.8604 121.1309 277.8018 C +129.1934 283.9404 132.5195 290.7227 134.0547 300.0645 C +140.1953 308.5078 156.1875 308.5078 v +162.875 308.5078 169.1172 306.0322 173.9609 301.3438 C +173.9629 301.3447 173.9648 301.3477 173.9668 301.3486 C +174.002 301.3105 174.0391 301.2695 174.0762 301.2314 C +174.3965 300.915 174.7109 300.5918 175.0195 300.2578 C +180.0801 295.4102 190.2109 290.8633 199.4512 294.6602 c +199.5566 294.7031 199.6777 294.6699 199.748 294.582 c +199.8184 294.4932 199.8184 294.3672 199.752 294.2754 c +195.3457 288.252 187.7285 286.335 182.0742 287.21 C +183.1172 283.4941 183.6953 279.3281 183.6953 274.7305 c +183.6973 258.3262 174.8984 246.7598 165.2852 241.1289 C +168.4375 237.3281 167.7949 231.3535 164.2539 227.2949 c +164.1738 227.2051 164.043 227.1816 163.9375 227.2402 c +163.834 227.2988 163.7832 227.4238 163.8184 227.5391 c +165.5508 233.0703 160.4277 237.6875 153.6387 237.4395 c +153.5156 237.4355 153.4063 237.5195 153.3809 237.6406 c +153.3555 237.7617 153.418 237.8828 153.5332 237.9277 c +163.668 242.0918 170.3906 250.9102 170.3887 261.9355 c +170.3906 273.4492 163.4805 282.79 152.3496 282.79 c +143.2656 282.79 134.1816 274.4727 134.1816 264.1133 c +134.1816 256.0508 138.6582 251.3184 144.416 251.3164 c +149.4063 251.3184 153.373 254.7715 153.373 258.8672 c +153.373 264.7188 146.7891 266.8408 143.2773 262.209 c +143.209 262.1172 143.0859 262.084 142.9805 262.127 c +142.875 262.1689 142.8105 262.2773 142.8223 262.3926 c +143.3457 266.7813 146.5762 270.8926 151.582 270.8926 c +156.1875 270.8926 160.9219 267.0518 160.9219 258.8652 c +160.9219 249.1406 151.584 239.291 136.2305 239.2891 c +115.2461 239.2891 103.8594 262.959 114.0938 281.8945 C +108.8496 275.8809 104.1152 269.4844 104.1152 258.0977 c +104.1133 236.5898 125.3789 222.0488 150.4688 230.5977 c +150.5879 230.6367 150.7188 230.584 150.7754 230.4746 c +150.834 230.3633 150.8008 230.2266 150.6992 230.1523 c +143.6934 225.043 136.3555 217.5137 136.3555 204.873 c +136.3555 191.6934 145.0547 182.3535 158.6191 182.3535 c +169.1094 182.3535 175.7637 188.752 175.7637 196.2988 c +175.7637 202.0566 172.0449 206.6641 165.6563 206.6641 c +156.1426 206.6641 152.9082 196.3203 157.832 191.6953 c +157.916 191.6152 157.9355 191.4902 157.8809 191.3887 c +157.8242 191.2871 157.7051 191.2344 157.5938 191.2637 c +152.8242 192.5 148.2559 197.332 148.2559 204.6152 c +148.2539 217.1563 159.8965 225.4727 172.6914 225.4727 c +178.6875 225.4727 184.4902 223.7188 189.1641 220.4297 C +188.6113 216.2773 190.0313 211.6816 192.1309 208.5879 C +190.1816 215.457 192.291 226.7656 202.8027 226.7676 c +208.6953 226.7656 212.5898 222.2383 212.5898 216.8867 c +212.5898 210.5605 207.2441 207.6094 202.8945 208.2148 c +202.7793 208.2305 202.6895 208.3223 202.6758 208.4375 c +202.6641 208.5527 202.7305 208.6602 202.8379 208.7031 c +204.4238 209.3105 205.7813 210.9727 205.7813 212.9668 c +205.7813 215.4668 203.8691 216.9492 201.8691 216.9492 c +198.5762 216.9492 196.7461 213.2793 197.8984 209.2305 C +197.8867 209.2285 L +198.959 206.3926 199.5605 203.2246 199.5605 199.7363 c +199.5605 182.9746 181.3809 167.002 158.4395 167 c +134.2285 167 121.3867 184.2734 121.3887 202.0566 c +121.3887 211.5938 124.9688 218.8184 129.5762 223.4258 C +109.6543 221.3066 97.0781 229.8223 90.2969 242.1035 C +94.7754 245.9414 96.4375 251.5723 Y +91.0645 244.5352 81.8535 238.3945 68.9316 238.3945 c +49.3555 238.3945 34 257.5859 34 278.1836 c +34 291.2568 38.8027 303.9648 48.5645 312.4307 C +42.5273 317.459 39.918 324.8018 42.6934 330.7344 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0.35 0.6 0.8 0.25 k + 0.35 0.6 0.8 0.25 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +407.2622 430.3711 m +407.3872 430.3711 407.4927 430.4629 407.5103 430.585 c +409.8911 446.5996 419.1646 459.9746 431.9028 467.9814 c +432.0063 468.0449 432.0493 468.1758 432.0044 468.29 c +431.9575 468.4023 431.8384 468.4688 431.7173 468.4443 c +421.2466 466.3398 411.9243 460.5811 405.27 452.4141 C +400.645 465.7891 390.0337 474.418 376.9692 478.0654 C +381.7778 483.6582 379.2622 491.5986 371.8501 492.9023 c +371.7368 492.9229 371.6255 492.8643 371.5767 492.7607 c +371.5278 492.6563 371.5552 492.5322 371.6431 492.46 c +375.6157 489.1143 374.1626 481.04 362.3052 481.04 c +354.5103 481.04 349.4849 484.2188 349.4849 488.5254 c +349.4849 491.9102 352.5474 493.7559 355.1255 493.7559 c +359.5415 493.7559 362.0649 489.7949 360.1685 486.2129 c +360.1138 486.1104 360.1353 485.9814 360.2231 485.9033 c +360.311 485.8271 360.4399 485.8184 360.5376 485.8857 c +362.7856 487.4492 364.356 489.5059 364.356 492.6768 c +364.356 498.0635 359.3306 503.8066 351.0239 503.8066 c +342.1021 503.8066 334.0005 496.9355 334.0005 488.5254 c +334.0005 476.71 344.0493 471.0918 354.6138 470.0918 C +350.2485 468.4189 346.981 463.5664 v +346.9146 463.4697 346.9243 463.3418 347.0024 463.2559 c +347.0806 463.1689 347.2056 463.1475 347.3091 463.2012 c +353.1392 466.2822 359.7954 467.9453 366.811 467.9453 c +386.4321 467.9453 403.3579 451.541 407.0103 430.5801 c +407.0317 430.4561 407.1392 430.3691 407.2622 430.3711 c +f +483.9399 482.7773 m +488.5493 490.4551 490.1919 503.627 485.897 513.46 c +485.8481 513.5703 485.8833 513.6992 485.9829 513.7686 c +486.0806 513.8379 486.2153 513.8281 486.3032 513.7461 c +491.1099 509.1914 495.2427 498.5684 493.0083 486.2871 C +496.106 483.8936 498.0532 481.5176 499.522 478.335 c +499.5688 478.2314 499.5415 478.1104 499.4556 478.0352 c +499.3696 477.9629 499.2446 477.9551 499.1489 478.0186 c +494.1528 481.3809 489.686 482.5283 483.9399 482.7773 C +f +473.3306 362.9707 m +473.4009 362.8672 473.3833 362.7266 473.2915 362.6426 c +473.1978 362.5586 473.0571 362.5547 472.9595 362.6348 c +466.145 368.1621 457.0845 371.6895 445.9243 371.6895 c +418.3521 371.6895 400.9517 355.1719 398.2173 337.7637 c +398.1997 337.6523 398.1099 337.5664 397.9985 337.5508 c +397.8872 337.5371 397.7778 337.5977 397.7329 337.7012 c +395.0083 343.959 393.3657 353.0352 401.7817 365.209 c +406.8169 372.4941 412.9106 377.5098 412.9106 384.0273 c +412.9106 388.2852 410.6509 391.1797 407.2231 391.1797 c +403.6177 391.1797 401.2876 388.0918 401.2876 384.625 c +401.2876 382.877 401.7915 381.1465 402.6958 379.5801 c +402.7544 379.4766 402.7368 379.3496 402.6509 379.2676 c +402.5649 379.1875 402.436 379.1758 402.3384 379.2402 c +399.3657 381.1777 396.7114 384.6367 396.7114 389.5117 c +396.7114 396.6836 402.8442 402.6816 411.1802 402.6816 c +420.1548 402.6816 427.5044 395.6328 427.5044 385.4922 c +427.5044 382.0156 426.5142 377.8242 424.0415 374.3613 C +427.4263 377.1875 429.2329 379.1875 430.7192 383.5117 C +441.1196 385.3223 452.2251 383.6602 461.0493 377.8691 C +461.3052 383.9707 463.3013 389.0605 467.3931 393.1875 c +467.4771 393.2715 467.6079 393.2852 467.7075 393.2227 c +467.8091 393.1582 467.8521 393.0332 467.811 392.9219 c +464.9341 384.9199 466.8657 372.7246 473.3306 362.9707 c +f +560.6978 369.6055 m +558.4517 364.8066 553.2388 362.1211 547.2368 362.0117 c +547.1118 362.0098 547.0044 362.0977 546.9829 362.2188 c +546.9595 362.3418 547.0278 362.4609 547.1431 362.5039 c +549.1899 363.2578 550.8052 364.5762 551.6646 366.4141 c +553.8774 371.1426 550.2974 377.5098 543.6509 380.7832 c +543.5728 380.8223 543.52 380.8965 543.5103 380.9824 c +543.5005 381.0684 543.5337 381.1523 543.6001 381.207 c +547.8911 384.7266 553.0122 391.2617 553.0122 404.627 c +553.0122 423.3086 540.8579 441.0898 524.7368 441.0898 c +515.5239 441.0898 508.104 434.6934 504.2661 425.0977 C +508.4868 430.8564 514.2446 435.2051 522.1782 435.2051 c +533.8208 435.2051 543.0337 422.7969 543.0337 404.8828 c +543.0337 387.9941 531.1333 368.2891 515.2681 368.2891 c +506.5669 368.2891 500.0435 375.3281 500.0435 384.4121 c +500.0435 392.4746 505.2896 397.0781 511.1763 397.0781 c +515.6099 397.0781 518.6685 393.9473 519.6196 390.5527 c +519.6509 390.4375 519.6001 390.3164 519.4927 390.2598 c +519.3872 390.2051 519.2583 390.2305 519.1802 390.3223 c +518.4282 391.2168 517.2837 391.9609 515.5259 391.9609 c +512.5825 391.9609 511.0474 389.4316 511.0474 387.6113 c +511.0474 384.1563 513.606 381.7246 517.4458 381.7246 c +522.6899 381.7246 526.7856 387.4824 526.7856 394.9023 c +526.7856 404.1152 517.9556 412.5586 509.1274 412.5586 c +500.106 412.5586 490.4478 404.5 490.4478 389.5293 c +490.4478 374.8164 500.4282 357.9258 516.2935 357.9258 c +525.5435 357.9258 533.4048 362.0957 539.436 369.002 c +539.5161 369.0918 539.6489 369.1152 539.7544 369.0547 c +539.8599 368.9941 539.9067 368.8672 539.8677 368.752 c +535.4341 355.8164 537.9126 343.6074 544.688 343.6074 c +548.0024 343.6074 549.6899 345.9863 549.6899 348.5234 c +549.6899 351.1309 547.7915 353.2852 544.7212 353.6777 c +544.6001 353.6934 544.5063 353.793 544.4985 353.9141 c +544.4927 354.0352 544.5708 354.1465 544.6899 354.1758 c +551.5044 355.9395 558.5142 352.2285 558.5142 345.1328 c +558.5142 338.8555 553.1372 334.002 546.1021 334.002 c +535.4653 334.002 530.3774 345.2715 532.6431 355.5371 C +527.1841 348.4922 519.0903 342.7012 507.4653 342.7012 c +483.9224 342.7012 472.0239 369.5703 472.0239 387.6113 c +472.0239 403.9883 475.3501 414.4785 482.2603 422.5391 C +474.1978 416.3984 470.8716 409.6172 469.3384 400.2773 C +463.1958 391.832 447.2036 391.832 v +440.5161 391.832 434.2739 394.3086 429.4302 398.998 C +429.4282 398.9961 429.4263 398.9941 429.4243 398.9902 C +429.3892 399.0313 429.3501 399.0703 429.3149 399.1094 C +428.9946 399.4238 428.6802 399.748 428.3716 400.082 C +423.3091 404.9316 413.1802 409.4785 403.9399 405.6797 c +403.8345 405.6367 403.7134 405.6699 403.6431 405.7578 c +403.5728 405.8477 403.5708 405.9727 403.6392 406.0645 c +408.0454 412.0898 415.6626 414.0059 421.3169 413.1309 C +420.272 416.8457 419.6938 421.0117 419.6938 425.6094 c +419.6938 442.0137 428.4927 453.5801 438.106 459.2109 C +434.9517 463.0137 435.5962 468.9883 439.1372 473.0449 c +439.2173 473.1357 439.3481 473.1582 439.4536 473.0996 c +439.5571 473.041 439.606 472.918 439.5708 472.8018 c +437.8403 467.2695 442.9634 462.6523 449.7524 462.9004 c +449.8755 462.9033 449.9829 462.8193 450.0103 462.6992 c +450.0356 462.5801 449.9712 462.457 449.8579 462.4111 c +439.7212 458.248 433.0005 449.4316 433.0005 438.4033 c +433.0005 426.8906 439.9087 417.5488 451.0415 417.5488 c +460.1255 417.5488 469.2095 425.8672 469.2095 436.2285 c +469.2095 444.2891 464.731 449.0225 458.9731 449.0225 c +453.9849 449.0225 450.0181 445.5684 450.0181 441.4736 c +450.0181 435.6211 456.6001 433.499 460.1118 438.1309 c +460.1821 438.2227 460.3032 438.2559 460.4087 438.2129 c +460.5161 438.1699 460.5806 438.0625 460.5669 437.9482 c +460.0435 433.5586 456.8149 429.4482 451.8091 429.4482 c +447.2036 429.4482 442.4692 433.2861 442.4692 441.4746 c +442.4692 451.1982 451.8071 461.0508 467.1606 461.0508 c +488.1431 461.0508 499.5317 437.3809 489.2974 418.4453 C +494.5415 424.459 499.2759 430.8555 499.2759 442.2432 c +499.2759 463.75 478.0122 478.291 452.9224 469.7441 c +452.8032 469.7021 452.6724 469.7559 452.6157 469.8672 c +452.5571 469.9785 452.5884 470.1143 452.6899 470.1895 c +459.6958 475.2979 467.0337 482.8262 467.0337 495.4668 c +467.0337 508.6475 458.3345 517.9854 444.772 517.9854 c +434.2798 517.9854 427.6274 511.5879 427.6274 504.04 c +427.6274 498.2822 431.3462 493.6768 437.7349 493.6768 c +447.2466 493.6768 450.481 504.0195 445.5591 508.6445 c +445.4751 508.7236 445.4556 508.8516 445.5103 508.9521 c +445.5669 509.0547 445.6841 509.1055 445.7974 509.0762 c +450.5669 507.8398 455.1353 503.0068 455.1353 495.7236 c +455.1353 483.1855 443.4927 474.8682 430.6978 474.8682 c +424.7017 474.8682 418.8989 476.623 414.2271 479.9102 C +414.7778 484.0635 413.3579 488.6602 411.2603 491.752 C +413.2095 484.8848 411.1021 473.5732 400.5864 473.5732 c +394.6958 473.5732 390.8013 478.1025 390.8013 483.4551 c +390.8013 489.7793 396.147 492.7314 400.4966 492.125 c +400.6118 492.1104 400.7017 492.0186 400.7134 491.9023 c +400.7271 491.7891 400.6606 491.6797 400.5532 491.6367 c +398.9673 491.0293 397.6118 489.3691 397.6118 487.373 c +397.6118 484.873 399.52 483.3906 401.52 483.3906 c +404.8149 483.3906 406.645 487.0605 405.4927 491.1104 C +405.5044 491.1104 L +404.4321 493.9473 403.8286 497.1152 403.8286 500.6055 c +403.8286 517.3672 422.0103 533.3398 444.9497 533.3398 c +469.1626 533.3398 482.0044 516.0664 482.0044 498.2822 c +482.0044 488.7461 478.4224 481.5225 473.8149 476.915 C +493.7368 479.0332 506.313 470.5176 513.0942 458.2354 C +508.6157 454.3975 506.9536 448.7676 Y +512.3267 455.8057 521.5376 461.9453 534.4595 461.9453 c +554.0356 461.9453 569.3911 442.7539 569.3911 422.1563 c +569.3911 409.084 564.5884 396.375 554.8267 387.9102 C +560.8638 382.8809 563.4731 375.5391 560.6978 369.6055 c +f +*U +*u +482.2114 494.9053 m +482.1782 494.7852 482.2388 494.6582 482.3521 494.6094 c +497.1763 488.0957 507.6372 475.6289 512.0063 461.2324 c +512.0415 461.1152 512.1548 461.0391 512.2778 461.0527 c +512.3989 461.0664 512.4946 461.166 512.5024 461.2871 c +513.229 471.9434 510.1274 482.4531 504.0005 491.0234 C +518.1216 491.9648 529.2407 499.9297 536.1997 511.5723 C +540.3286 505.46 548.6509 505.7969 551.8599 512.6035 c +551.9106 512.708 551.8833 512.832 551.7954 512.9063 c +551.7075 512.9805 551.5806 512.9873 551.4868 512.9219 c +547.2134 509.9688 539.8071 513.498 542.9282 524.9355 c +544.981 532.4561 549.3716 536.4668 553.5259 535.333 c +556.7915 534.4414 557.7661 531.002 557.0864 528.5146 c +555.9243 524.2539 551.438 522.8623 548.481 525.6357 c +548.397 525.7158 548.2681 525.7285 548.1704 525.6641 c +548.0728 525.5986 548.0298 525.4775 548.0688 525.3662 c +548.9868 522.7852 550.5571 520.7285 553.6157 519.8936 c +558.811 518.4756 565.6743 521.8115 567.8618 529.8252 c +570.2114 538.4316 565.7153 548.0566 557.604 550.2715 c +546.2036 553.3818 538.1392 545.166 534.3931 535.2383 C +533.9263 539.8896 530.1079 544.3203 v +530.0317 544.4092 529.9048 544.4336 529.8013 544.3818 c +529.6978 544.3291 529.6431 544.2129 529.6665 544.0996 c +531.106 537.6641 530.9575 530.8047 529.1099 524.0361 c +523.9438 505.1074 503.6626 493.0977 482.479 495.0938 c +482.354 495.1055 482.2407 495.0254 482.2114 494.9053 c +f +512.5806 407.1348 m +518.7739 400.666 531.0493 395.6133 541.6646 397.168 c +541.7856 397.1855 541.9009 397.1172 541.9399 397.0039 c +541.981 396.8906 541.936 396.7637 541.8345 396.7012 c +536.1743 393.2617 524.8384 392.0723 513.5786 397.4609 C +510.4536 395.1035 507.6489 393.8496 504.1919 393.2715 c +504.0806 393.2539 503.9692 393.3125 503.9204 393.4141 c +503.8735 393.5156 503.8989 393.6387 503.9849 393.7148 c +508.5454 397.6484 510.8286 401.6563 512.5806 407.1348 C +f +399.7935 448.9121 m +399.6763 448.8711 399.5454 448.9258 399.4888 449.0371 c +399.4321 449.1484 399.4653 449.2852 399.5688 449.3594 c +406.6938 454.4785 412.4829 462.291 415.4204 473.0566 c +422.6802 499.6563 411.3267 520.7921 395.2544 528.0146 c +395.1509 528.0605 395.0903 528.1689 395.106 528.2803 c +395.1216 528.3926 395.2095 528.4814 395.3208 528.4971 c +402.0747 529.4785 411.2622 528.6729 420.7915 517.3486 c +426.4927 510.5732 429.7271 503.373 436.0142 501.6563 c +440.1216 500.5352 443.5103 501.9551 444.4126 505.2617 c +445.3618 508.7393 442.9966 511.8018 439.6528 512.7148 c +437.9653 513.1738 436.1626 513.1436 434.4146 512.6836 c +434.2993 512.6533 434.1821 512.7051 434.1255 512.8086 c +434.0708 512.9121 434.0923 513.04 434.1802 513.1172 c +436.8325 515.4746 440.8677 517.125 445.5708 515.8408 c +452.4907 513.9531 456.6606 506.457 454.4673 498.415 c +452.104 489.7578 443.3696 484.5234 433.5864 487.1934 c +430.2329 488.1084 426.4497 490.168 423.7603 493.4648 C +425.5942 489.4551 427.0493 487.1855 430.8286 484.6133 C +429.8364 474.1035 425.3091 463.8271 417.4009 456.8389 C +423.2192 454.9863 427.604 451.7207 430.5083 446.6855 c +430.5669 446.582 430.5454 446.4531 430.4595 446.373 c +430.3696 446.293 430.2388 446.2832 430.1411 446.3535 c +423.1802 451.2344 410.9048 452.582 399.7935 448.9121 c +f +383.1919 362.8809 m +379.1548 366.3105 377.936 372.0469 379.4106 377.8672 c +379.4419 377.9883 379.5552 378.0684 379.6782 378.0566 c +379.8032 378.0469 379.8989 377.9492 379.9106 377.8281 c +380.0981 375.6543 380.9458 373.748 382.4927 372.4355 c +386.4712 369.0566 393.5571 370.834 398.4634 376.3828 c +398.522 376.4492 398.6079 376.4805 398.6938 376.4668 c +398.7798 376.4531 398.8521 376.3984 398.8872 376.3203 c +401.1528 371.2539 406.1079 364.5938 419.0005 361.0742 c +437.0239 356.1563 457.3794 363.1992 461.6235 378.752 c +464.0493 387.6406 459.8306 396.4824 451.5845 402.7109 C +456.0298 397.123 458.7075 390.4238 456.6177 382.7695 c +453.5532 371.5391 439.1567 365.918 421.8755 370.6348 c +405.5825 375.0801 389.7075 391.748 393.8833 407.0547 c +396.1743 415.4492 404.6821 419.8887 413.4458 417.4961 c +421.2231 415.375 424.2837 409.1016 422.7329 403.4219 c +421.5669 399.1445 417.7407 397.0195 414.2153 396.9941 c +414.0962 396.9941 413.9927 397.0762 413.9653 397.1934 c +413.9419 397.3105 413.9985 397.4277 414.1079 397.4785 c +415.1704 397.9688 416.188 398.877 416.6509 400.5742 c +417.4263 403.4121 415.3911 405.5605 413.6353 406.0391 c +410.3032 406.9492 407.2837 405.1211 406.272 401.416 c +404.8911 396.3574 409.3677 390.8906 416.5239 388.9355 c +425.4126 386.5117 435.8833 392.8066 438.2075 401.3223 c +440.5825 410.0254 435.3501 421.4648 420.9087 425.4063 c +406.7153 429.2813 387.7935 424.0996 383.6157 408.793 c +381.1802 399.8691 383.1333 391.1875 388.2075 383.5508 c +388.2739 383.4512 388.2622 383.3164 388.1763 383.2305 c +388.0884 383.1445 387.9536 383.1328 387.854 383.2012 c +376.5415 390.8828 364.1118 391.707 362.3267 385.1699 c +361.4536 381.9727 363.3052 379.7188 365.7524 379.0508 c +368.2681 378.3652 370.8462 379.6289 372.0337 382.4883 c +372.0806 382.5996 372.2017 382.6641 372.3208 382.6406 c +372.438 382.6133 372.5259 382.5098 372.522 382.3867 c +372.4302 375.3477 367.0044 369.5625 360.1587 371.4316 c +354.1021 373.084 350.8364 379.5488 352.688 386.3359 c +355.4888 396.5977 367.6997 398.5391 377.0063 393.6504 C +371.647 400.7715 368.1919 410.1035 371.2524 421.3184 c +377.4517 444.0313 406.5044 448.4355 423.9087 443.6855 c +439.7075 439.373 448.9517 433.4023 454.9087 424.6152 C +451.1079 434.0098 445.4419 439.0039 436.8345 442.9434 C +430.3052 451.0918 434.5161 466.5195 v +436.2759 472.9707 440.3091 478.3418 446.1079 481.7793 C +446.1079 481.7813 446.106 481.7842 446.1021 481.7871 C +446.1509 481.8105 446.1997 481.8379 446.2466 481.8613 C +446.6333 482.0879 447.0298 482.3057 447.4321 482.5146 C +453.4438 486.1211 460.4966 494.6973 459.2661 504.6113 c +459.2524 504.7236 459.3149 504.832 459.4185 504.877 c +459.5239 504.9219 459.645 504.8896 459.7153 504.8018 c +464.3677 498.9629 464.2114 491.1104 461.8794 485.8857 C +465.7368 485.915 469.9087 485.375 474.3442 484.165 c +490.1685 479.8457 499.0122 468.3135 501.9126 457.5566 C +506.4106 459.5977 512.0063 457.4043 514.9888 452.9199 c +515.0532 452.8184 515.0415 452.6855 514.9575 452.5996 c +514.8735 452.5156 514.7407 452.5 514.6392 452.5645 c +509.7583 455.6914 503.9556 451.9648 502.4048 445.3496 c +502.3774 445.2305 502.2681 445.1484 502.145 445.1543 c +502.022 445.1602 501.9204 445.2539 501.9067 445.377 c +500.5591 456.251 493.8228 465.0566 483.1841 467.96 c +472.0767 470.9922 461.2446 466.7852 458.3149 456.0469 c +455.9224 447.2832 461.5571 436.3301 471.5513 433.6016 c +479.3286 431.4785 485.0747 434.5527 486.5903 440.1074 c +487.9048 444.9199 485.6157 449.6563 481.6665 450.7344 c +476.0181 452.2754 472.2388 446.4844 475.7837 441.877 c +475.8521 441.7852 475.854 441.6602 475.7837 441.5684 c +475.7153 441.4766 475.5923 441.4434 475.4868 441.4863 c +471.3892 443.1465 468.2739 447.3418 469.5923 452.1729 c +470.8052 456.6152 475.7544 460.1729 483.6548 458.0166 c +493.0356 455.457 500.0806 443.8555 496.0376 429.043 c +490.5142 408.7988 464.6802 404.0449 449.1079 418.9043 C +453.5278 412.2617 458.4517 406.0098 469.438 403.0117 c +490.188 397.3496 509.813 414.0332 508.1724 440.4902 c +508.1646 440.6152 508.2505 440.7285 508.3735 440.7539 c +508.4946 440.7813 508.6196 440.7129 508.6646 440.5977 c +511.7466 432.4922 517.0786 423.4316 529.2739 420.1035 c +541.9888 416.6328 553.2876 422.5664 556.8599 435.6504 c +559.6216 445.7734 555.2017 453.875 547.9204 455.8623 c +542.3657 457.3789 536.9419 455.0039 535.2603 448.8398 c +532.7563 439.6641 541.8833 433.8203 547.6411 437.3516 c +547.7388 437.4121 547.8677 437.3965 547.9497 437.3164 c +548.0337 437.2363 548.0513 437.1094 547.9927 437.0078 c +545.5454 432.7324 539.6802 429.5977 532.6548 431.5156 c +520.5571 434.8164 515.6001 448.2383 518.9673 460.5811 c +520.5454 466.3652 523.7681 471.502 528.1685 475.1426 C +532.0298 473.5186 536.8384 473.6777 540.3735 474.8867 C +533.2349 474.8154 522.8794 479.8262 525.647 489.9707 c +527.1978 495.6533 532.5923 498.2188 537.7563 496.8086 c +543.8579 495.1436 545.2974 489.21 543.5688 485.1729 c +543.522 485.0654 543.4106 485.0039 543.2974 485.0225 c +543.1821 485.04 543.0942 485.1318 543.0825 485.2471 c +542.9146 486.9375 541.6685 488.6836 539.7446 489.208 c +537.3325 489.8662 535.3989 488.415 534.8735 486.4854 c +534.0044 483.3066 537.063 480.5752 541.2739 480.6211 C +541.27 480.6094 L +544.2896 480.8984 547.5044 480.6445 550.8716 479.7266 c +567.0415 475.3125 577.6646 453.5674 571.6235 431.4375 c +565.2485 408.0781 545.2056 400.2363 528.0474 404.9199 c +518.8481 407.4297 512.8228 412.7871 509.5903 418.4453 C +506.3892 398.668 494.8618 388.7793 481.229 385.4707 C +478.7056 390.8008 473.7114 393.8867 Y +479.0864 386.8496 482.5845 376.3477 479.1821 363.8809 c +474.0278 344.9961 451.4712 335.2344 431.6001 340.6582 c +418.9888 344.0996 407.9927 352.0801 402.397 363.7266 C +395.9556 359.2266 388.186 358.6406 383.1919 362.8809 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0 0 0 0 k + 0 0 0 0 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +530.1294 436.9688 m +530.0044 436.9688 529.8989 436.877 529.8794 436.7539 c +527.5005 420.7402 518.2271 407.3652 505.4888 399.3594 c +505.3853 399.2949 505.3403 399.1641 505.3872 399.0508 c +505.4321 398.9375 505.5532 398.8711 505.6724 398.8965 c +516.145 401 525.4653 406.7598 532.1216 414.9277 C +536.7466 401.5508 547.3579 392.9219 560.4224 389.2734 C +555.6138 383.6816 558.1294 375.7402 565.5415 374.4375 c +565.6548 374.416 565.7661 374.4746 565.8149 374.5781 c +565.8638 374.6816 565.8364 374.8066 565.7485 374.8809 c +561.7759 378.2266 563.229 386.3008 575.0864 386.3008 c +582.8804 386.3008 587.9077 383.1211 587.9077 378.8145 c +587.9077 375.4297 584.8452 373.584 582.2651 373.584 c +577.8511 373.584 575.3267 377.5449 577.2231 381.127 c +577.2778 381.2305 577.2563 381.3574 577.1685 381.4355 c +577.0806 381.5137 576.9517 381.5215 576.854 381.4551 c +574.606 379.8906 573.0356 377.834 573.0356 374.6641 c +573.0356 369.2773 578.062 363.5352 586.3687 363.5332 c +595.2905 363.5332 603.3921 370.4043 603.3921 378.8145 c +603.3921 390.6309 593.3433 396.248 582.7788 397.248 C +587.144 398.9219 590.4116 403.7734 v +590.478 403.8691 590.4683 403.998 590.3901 404.084 c +590.312 404.1719 590.1851 404.1934 590.0835 404.1387 c +584.2534 401.0566 577.5942 399.3945 570.5806 399.3945 c +550.9575 399.3945 534.0337 415.7988 530.3813 436.7607 c +530.3599 436.8818 530.2524 436.9727 530.1294 436.9688 c +f +453.4517 384.5625 m +448.8442 376.8867 447.1997 363.7129 451.4946 353.8809 c +451.5435 353.7695 451.5083 353.6406 451.4087 353.5703 c +451.3091 353.502 451.1763 353.5117 451.0884 353.5957 c +446.2817 358.1484 442.1489 368.7715 444.3833 381.0527 C +441.2876 383.4473 439.3384 385.8223 437.8696 389.0059 c +437.8228 389.1074 437.8501 389.2305 437.936 389.3047 c +438.022 389.377 438.147 389.3848 438.2427 389.3203 c +443.2388 385.959 447.7056 384.8125 453.4517 384.5625 C +f +464.0591 504.3691 m +463.9907 504.4727 464.0083 504.6133 464.1001 504.6973 c +464.1938 504.7813 464.3345 504.7852 464.4321 504.7061 c +471.2466 499.1797 480.3071 495.6504 491.4673 495.6504 c +519.0376 495.6504 536.4399 512.1689 539.1743 529.5771 c +539.1919 529.6885 539.2817 529.7734 539.3931 529.7891 c +539.5044 529.8047 539.6138 529.7422 539.6587 529.6396 c +542.3833 523.3818 544.0259 514.3057 535.6099 502.1309 c +530.5747 494.8457 524.479 489.8311 524.479 483.3145 c +524.479 479.0566 526.7407 476.1602 530.1685 476.1602 c +533.7739 476.1602 536.106 479.248 536.104 482.7148 c +536.104 484.4629 535.6001 486.1934 534.6958 487.7607 c +534.6372 487.8633 534.6548 487.9902 534.7407 488.0723 c +534.8247 488.1523 534.9556 488.165 535.0532 488.1016 c +538.0259 486.1641 540.6802 482.7021 540.6802 477.8281 c +540.6802 470.6563 534.5474 464.6602 526.2095 464.6602 c +517.2368 464.6602 509.8872 471.709 509.8872 481.8477 c +509.8872 485.3262 510.8755 489.5156 513.3501 492.9805 C +509.9653 490.1523 508.1587 488.1523 506.6724 483.8271 C +496.272 482.0186 485.1665 483.6797 476.3403 489.4727 C +476.0864 483.3711 474.0903 478.2793 469.9985 474.1533 c +469.9146 474.0684 469.7837 474.0547 469.6841 474.1182 c +469.5825 474.1816 469.5415 474.3066 469.5806 474.4189 c +472.4575 482.4199 470.5239 494.6152 464.0591 504.3691 c +f +376.6938 497.7344 m +378.938 502.5352 384.1528 505.2188 390.1548 505.3271 c +390.2798 505.3311 390.3872 505.2432 390.4087 505.1211 c +390.4321 504.998 390.3638 504.8779 390.2485 504.8359 c +388.2017 504.082 386.5864 502.7637 385.7271 500.9258 c +383.5142 496.1973 387.0942 489.8301 393.7407 486.5566 c +393.8188 486.5186 393.8716 486.4434 393.8813 486.3594 c +393.8911 486.2725 393.856 486.1885 393.7915 486.1318 c +389.5005 482.6143 384.3794 476.0781 384.3794 462.7148 c +384.3774 444.0322 396.5337 426.25 412.6548 426.25 c +421.8677 426.25 429.2876 432.6465 433.1255 442.2422 C +428.9028 436.4844 423.145 432.1348 415.2114 432.1348 c +403.5708 432.1348 394.3579 444.5439 394.356 462.459 c +394.356 479.3457 406.2583 499.0518 422.1216 499.0508 c +430.8247 499.0488 437.3481 492.0117 437.3481 482.9277 c +437.3481 474.8672 432.1021 470.2637 426.2173 470.2637 c +421.7798 470.2637 418.7231 473.3936 417.772 476.7871 c +417.7388 476.9023 417.7915 477.0254 417.897 477.0811 c +418.0044 477.1357 418.1333 477.1104 418.2114 477.0186 c +418.9634 476.124 420.1079 475.3809 421.8657 475.3809 c +424.8091 475.3789 426.3442 477.9082 426.3442 479.7285 c +426.3442 483.1836 423.7856 485.6152 419.9458 485.6152 c +414.7036 485.6152 410.606 479.8564 410.606 472.4385 c +410.606 463.2236 419.436 454.7813 428.2642 454.7813 c +437.2856 454.7813 446.9438 462.8408 446.9438 477.8125 c +446.9419 492.5234 436.9653 509.4141 421.0981 509.4141 c +411.8481 509.4141 403.9849 505.2441 397.9556 498.3398 c +397.8755 498.248 397.7427 498.2246 397.6392 498.2852 c +397.5317 498.3477 397.4849 498.4727 397.5239 498.5879 c +401.9575 511.5234 399.4771 523.7344 392.7036 523.7324 c +389.3892 523.7324 387.7017 521.3535 387.7017 518.8154 c +387.7017 516.21 389.6001 514.0566 392.6704 513.6611 c +392.7915 513.6475 392.8833 513.5479 392.8931 513.4268 c +392.8989 513.3047 392.8188 513.1943 392.7017 513.1641 c +385.8872 511.4004 378.8774 515.1133 378.8774 522.2061 c +378.8774 528.4854 384.2544 533.3398 391.2896 533.3398 c +401.9263 533.3379 407.0142 522.0684 404.7485 511.8047 C +410.2075 518.8486 418.3013 524.6396 429.9263 524.6396 c +453.4692 524.6396 465.3677 497.7715 465.3677 479.7285 c +465.3677 463.3525 462.0415 452.8604 455.1313 444.8018 C +463.1938 450.9404 466.52 457.7227 468.0552 467.0645 C +474.1958 475.5078 490.188 475.5078 v +496.8755 475.5078 503.1177 473.0322 507.9614 468.3438 C +507.9634 468.3447 507.9653 468.3477 507.9673 468.3486 C +508.0024 468.3105 508.0396 468.2695 508.0767 468.2314 C +508.397 467.915 508.7114 467.5918 509.02 467.2578 C +514.0806 462.4102 524.2114 457.8633 533.4517 461.6602 c +533.5571 461.7031 533.6782 461.6699 533.7485 461.582 c +533.8188 461.4932 533.8188 461.3672 533.7524 461.2754 c +529.3462 455.252 521.729 453.335 516.0747 454.21 C +517.1177 450.4941 517.6958 446.3281 517.6958 441.7305 c +517.6978 425.3262 508.8989 413.7598 499.2856 408.1289 C +502.438 404.3281 501.7954 398.3535 498.2544 394.2949 c +498.1743 394.2051 498.0435 394.1816 497.938 394.2402 c +497.8345 394.2988 497.7837 394.4238 497.8188 394.5391 c +499.5513 400.0703 494.4282 404.6875 487.6392 404.4395 c +487.5161 404.4355 487.4067 404.5195 487.3813 404.6406 c +487.356 404.7617 487.4185 404.8828 487.5337 404.9277 c +497.6685 409.0918 504.3911 417.9102 504.3892 428.9355 c +504.3911 440.4492 497.481 449.79 486.3501 449.79 c +477.2661 449.79 468.1821 441.4727 468.1821 431.1133 c +468.1821 423.0508 472.6587 418.3184 478.4165 418.3164 c +483.4067 418.3184 487.3735 421.7715 487.3735 425.8672 c +487.3735 431.7188 480.7896 433.8408 477.2778 429.209 c +477.2095 429.1172 477.0864 429.084 476.981 429.127 c +476.8755 429.1689 476.811 429.2773 476.8228 429.3926 c +477.3462 433.7813 480.5767 437.8926 485.5825 437.8926 c +490.188 437.8926 494.9224 434.0518 494.9224 425.8652 c +494.9224 416.1406 485.5845 406.291 470.231 406.2891 c +449.2466 406.2891 437.8599 429.959 448.0942 448.8945 C +442.8501 442.8809 438.1157 436.4844 438.1157 425.0977 c +438.1138 403.5898 459.3794 389.0488 484.4692 397.5977 c +484.5884 397.6367 484.7192 397.584 484.7759 397.4746 c +484.8345 397.3633 484.8013 397.2266 484.6997 397.1523 c +477.6938 392.043 470.356 384.5137 470.356 371.873 c +470.356 358.6934 479.0552 349.3535 492.6196 349.3535 c +503.1099 349.3535 509.7642 355.752 509.7642 363.2988 c +509.7642 369.0566 506.0454 373.6641 499.6567 373.6641 c +490.1431 373.6641 486.9087 363.3203 491.8325 358.6953 c +491.9165 358.6152 491.936 358.4902 491.8813 358.3887 c +491.8247 358.2871 491.7056 358.2344 491.5942 358.2637 c +486.8247 359.5 482.2563 364.332 482.2563 371.6152 c +482.2544 384.1563 493.897 392.4727 506.6919 392.4727 c +512.688 392.4727 518.4907 390.7188 523.1646 387.4297 C +522.6118 383.2773 524.0317 378.6816 526.1313 375.5879 C +524.1821 382.457 526.2915 393.7656 536.8032 393.7676 c +542.6958 393.7656 546.5903 389.2383 546.5903 383.8867 c +546.5903 377.5605 541.2446 374.6094 536.895 375.2148 c +536.7798 375.2305 536.6899 375.3223 536.6763 375.4375 c +536.6646 375.5527 536.731 375.6602 536.8384 375.7031 c +538.4243 376.3105 539.7817 377.9727 539.7817 379.9668 c +539.7817 382.4668 537.8696 383.9492 535.8696 383.9492 c +532.5767 383.9492 530.7466 380.2793 531.8989 376.2305 C +531.8872 376.2285 L +532.9595 373.3926 533.561 370.2246 533.561 366.7363 c +533.561 349.9746 515.3813 334.002 492.4399 334 c +468.229 334 455.3872 351.2734 455.3892 369.0566 c +455.3892 378.5938 458.9692 385.8184 463.5767 390.4258 C +443.6548 388.3066 431.0786 396.8223 424.2974 409.1035 C +428.7759 412.9414 430.438 418.5723 Y +425.0649 411.5352 415.854 405.3945 402.9321 405.3945 c +383.356 405.3945 368.0005 424.5859 368.0005 445.1836 c +368.0005 458.2568 372.8032 470.9648 382.5649 479.4307 C +376.5278 484.459 373.9185 491.8018 376.6938 497.7344 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0.35 0.6 0.8 0.25 k + 0.35 0.6 0.8 0.25 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +240.2622 430.3711 m +240.3872 430.3711 240.4927 430.4629 240.5103 430.585 c +242.8911 446.5996 252.1646 459.9746 264.9028 467.9814 c +265.0063 468.0449 265.0493 468.1758 265.0044 468.29 c +264.9575 468.4023 264.8384 468.4688 264.7173 468.4443 c +254.2466 466.3398 244.9243 460.5811 238.27 452.4141 C +233.644 465.7891 223.0337 474.418 209.9692 478.0654 C +214.7778 483.6582 212.2622 491.5986 204.8501 492.9023 c +204.7368 492.9229 204.6245 492.8643 204.5757 492.7607 c +204.5278 492.6563 204.5542 492.5322 204.6421 492.46 c +208.6157 489.1143 207.1616 481.04 195.3052 481.04 c +187.5103 481.04 182.4849 484.2188 182.4849 488.5254 c +182.4849 491.9102 185.5464 493.7559 188.1255 493.7559 c +192.5415 493.7559 195.0649 489.7949 193.1675 486.2129 c +193.1128 486.1104 193.1353 485.9814 193.2231 485.9033 c +193.311 485.8271 193.4399 485.8184 193.5366 485.8857 c +195.7856 487.4492 197.356 489.5059 197.356 492.6768 c +197.356 498.0635 192.3306 503.8066 184.0239 503.8066 c +175.1021 503.8066 167.0005 496.9355 167.0005 488.5254 c +167.0005 476.71 177.0493 471.0918 187.6138 470.0918 C +183.2485 468.4189 179.98 463.5664 v +179.9146 463.4697 179.9243 463.3418 180.0015 463.2559 c +180.0796 463.1689 180.2056 463.1475 180.3091 463.2012 c +186.1392 466.2822 192.7954 467.9453 199.811 467.9453 c +219.4321 467.9453 236.3579 451.541 240.0103 430.5801 c +240.0317 430.4561 240.1382 430.3691 240.2622 430.3711 c +f +316.9399 482.7773 m +321.5493 490.4551 323.1919 503.627 318.897 513.46 c +318.8481 513.5703 318.8833 513.6992 318.9829 513.7686 c +319.0806 513.8379 319.2153 513.8281 319.3032 513.7461 c +324.1099 509.1914 328.2427 498.5684 326.0083 486.2871 C +329.106 483.8936 331.0532 481.5176 332.522 478.335 c +332.5688 478.2314 332.5415 478.1104 332.4556 478.0352 c +332.3696 477.9629 332.2446 477.9551 332.1489 478.0186 c +327.1528 481.3809 322.686 482.5283 316.9399 482.7773 C +f +306.3306 362.9707 m +306.4009 362.8672 306.3833 362.7266 306.2915 362.6426 c +306.1978 362.5586 306.0571 362.5547 305.9595 362.6348 c +299.145 368.1621 290.0845 371.6895 278.9243 371.6895 c +251.3521 371.6895 233.9517 355.1719 231.2163 337.7637 c +231.1987 337.6523 231.1099 337.5664 230.9985 337.5508 c +230.8862 337.5371 230.7778 337.5977 230.7329 337.7012 c +228.0073 343.959 226.3657 353.0352 234.7817 365.209 c +239.8159 372.4941 245.9106 377.5098 245.9106 384.0273 c +245.9106 388.2852 243.6509 391.1797 240.2231 391.1797 c +236.6177 391.1797 234.2866 388.0918 234.2866 384.625 c +234.2866 382.877 234.7915 381.1465 235.6958 379.5801 c +235.7544 379.4766 235.7358 379.3496 235.6509 379.2676 c +235.5649 379.1875 235.436 379.1758 235.3384 379.2402 c +232.3657 381.1777 229.7114 384.6367 229.7114 389.5117 c +229.7114 396.6836 235.8442 402.6816 244.1802 402.6816 c +253.1548 402.6816 260.5044 395.6328 260.5044 385.4922 c +260.5044 382.0156 259.5142 377.8242 257.0415 374.3613 C +260.4263 377.1875 262.2329 379.1875 263.7192 383.5117 C +274.1196 385.3223 285.2251 383.6602 294.0493 377.8691 C +294.3052 383.9707 296.3013 389.0605 300.3931 393.1875 c +300.4771 393.2715 300.6079 393.2852 300.7075 393.2227 c +300.8091 393.1582 300.8521 393.0332 300.811 392.9219 c +297.9341 384.9199 299.8657 372.7246 306.3306 362.9707 c +f +393.6978 369.6055 m +391.4517 364.8066 386.2388 362.1211 380.2368 362.0117 c +380.1118 362.0098 380.0044 362.0977 379.9829 362.2188 c +379.9595 362.3418 380.0278 362.4609 380.1431 362.5039 c +382.1899 363.2578 383.8052 364.5762 384.6646 366.4141 c +386.8774 371.1426 383.2974 377.5098 376.6509 380.7832 c +376.5728 380.8223 376.52 380.8965 376.5103 380.9824 c +376.5005 381.0684 376.5337 381.1523 376.6001 381.207 c +380.8911 384.7266 386.0122 391.2617 386.0122 404.627 c +386.0122 423.3086 373.8579 441.0898 357.7368 441.0898 c +348.5239 441.0898 341.104 434.6934 337.2661 425.0977 C +341.4868 430.8564 347.2446 435.2051 355.1782 435.2051 c +366.8208 435.2051 376.0337 422.7969 376.0337 404.8828 c +376.0337 387.9941 364.1333 368.2891 348.2681 368.2891 c +339.5669 368.2891 333.0435 375.3281 333.0435 384.4121 c +333.0435 392.4746 338.2896 397.0781 344.1763 397.0781 c +348.6099 397.0781 351.6685 393.9473 352.6196 390.5527 c +352.6509 390.4375 352.6001 390.3164 352.4927 390.2598 c +352.3872 390.2051 352.2583 390.2305 352.1802 390.3223 c +351.4282 391.2168 350.2837 391.9609 348.5259 391.9609 c +345.5825 391.9609 344.0474 389.4316 344.0474 387.6113 c +344.0474 384.1563 346.606 381.7246 350.4458 381.7246 c +355.6899 381.7246 359.7856 387.4824 359.7856 394.9023 c +359.7856 404.1152 350.9556 412.5586 342.1274 412.5586 c +333.106 412.5586 323.4478 404.5 323.4478 389.5293 c +323.4478 374.8164 333.4282 357.9258 349.2935 357.9258 c +358.5435 357.9258 366.4048 362.0957 372.436 369.002 c +372.5161 369.0918 372.6489 369.1152 372.7544 369.0547 c +372.8599 368.9941 372.9067 368.8672 372.8677 368.752 c +368.4341 355.8164 370.9126 343.6074 377.688 343.6074 c +381.0024 343.6074 382.6899 345.9863 382.6899 348.5234 c +382.6899 351.1309 380.7915 353.2852 377.7212 353.6777 c +377.6001 353.6934 377.5063 353.793 377.4985 353.9141 c +377.4927 354.0352 377.5708 354.1465 377.6899 354.1758 c +384.5044 355.9395 391.5142 352.2285 391.5142 345.1328 c +391.5142 338.8555 386.1372 334.002 379.1021 334.002 c +368.4653 334.002 363.3774 345.2715 365.6431 355.5371 C +360.1841 348.4922 352.0903 342.7012 340.4653 342.7012 c +316.9224 342.7012 305.0239 369.5703 305.0239 387.6113 c +305.0239 403.9883 308.3501 414.4785 315.2603 422.5391 C +307.1978 416.3984 303.8716 409.6172 302.3384 400.2773 C +296.1958 391.832 280.2036 391.832 v +273.5161 391.832 267.2739 394.3086 262.4302 398.998 C +262.4282 398.9961 262.4263 398.9941 262.4243 398.9902 C +262.3892 399.0313 262.3501 399.0703 262.3149 399.1094 C +261.9946 399.4238 261.6802 399.748 261.3716 400.082 C +256.3091 404.9316 246.1802 409.4785 236.9399 405.6797 c +236.8345 405.6367 236.7134 405.6699 236.6431 405.7578 c +236.5728 405.8477 236.5708 405.9727 236.6382 406.0645 c +241.0454 412.0898 248.6626 414.0059 254.3169 413.1309 C +253.272 416.8457 252.6938 421.0117 252.6938 425.6094 c +252.6938 442.0137 261.4927 453.5801 271.106 459.2109 C +267.9517 463.0137 268.5962 468.9883 272.1372 473.0449 c +272.2173 473.1357 272.3481 473.1582 272.4536 473.0996 c +272.5571 473.041 272.606 472.918 272.5708 472.8018 c +270.8403 467.2695 275.9634 462.6523 282.7524 462.9004 c +282.8755 462.9033 282.9829 462.8193 283.0103 462.6992 c +283.0356 462.5801 282.9712 462.457 282.8579 462.4111 c +272.7212 458.248 266.0005 449.4316 266.0005 438.4033 c +266.0005 426.8906 272.9087 417.5488 284.0415 417.5488 c +293.1255 417.5488 302.2095 425.8672 302.2095 436.2285 c +302.2095 444.2891 297.731 449.0225 291.9731 449.0225 c +286.9849 449.0225 283.0181 445.5684 283.0181 441.4736 c +283.0181 435.6211 289.6001 433.499 293.1118 438.1309 c +293.1821 438.2227 293.3032 438.2559 293.4087 438.2129 c +293.5161 438.1699 293.5806 438.0625 293.5669 437.9482 c +293.0435 433.5586 289.8149 429.4482 284.8091 429.4482 c +280.2036 429.4482 275.4692 433.2861 275.4692 441.4746 c +275.4692 451.1982 284.8071 461.0508 300.1606 461.0508 c +321.1431 461.0508 332.5317 437.3809 322.2974 418.4453 C +327.5415 424.459 332.2759 430.8555 332.2759 442.2432 c +332.2759 463.75 311.0122 478.291 285.9224 469.7441 c +285.8032 469.7021 285.6724 469.7559 285.6157 469.8672 c +285.5571 469.9785 285.5884 470.1143 285.6899 470.1895 c +292.6958 475.2979 300.0337 482.8262 300.0337 495.4668 c +300.0337 508.6475 291.3345 517.9854 277.772 517.9854 c +267.2798 517.9854 260.6274 511.5879 260.6274 504.04 c +260.6274 498.2822 264.3462 493.6768 270.7349 493.6768 c +280.2466 493.6768 283.481 504.0195 278.5591 508.6445 c +278.4751 508.7236 278.4556 508.8516 278.5103 508.9521 c +278.5669 509.0547 278.6841 509.1055 278.7974 509.0762 c +283.5669 507.8398 288.1353 503.0068 288.1353 495.7236 c +288.1353 483.1855 276.4927 474.8682 263.6978 474.8682 c +257.7017 474.8682 251.8989 476.623 247.2271 479.9102 C +247.7778 484.0635 246.3579 488.6602 244.2603 491.752 C +246.2095 484.8848 244.1021 473.5732 233.5864 473.5732 c +227.6958 473.5732 223.8013 478.1025 223.8013 483.4551 c +223.8013 489.7793 229.147 492.7314 233.4966 492.125 c +233.6118 492.1104 233.7007 492.0186 233.7134 491.9023 c +233.7271 491.7891 233.6606 491.6797 233.5532 491.6367 c +231.9673 491.0293 230.6108 489.3691 230.6108 487.373 c +230.6108 484.873 232.52 483.3906 234.52 483.3906 c +237.8149 483.3906 239.645 487.0605 238.4927 491.1104 C +238.5044 491.1104 L +237.4312 493.9473 236.8286 497.1152 236.8286 500.6055 c +236.8286 517.3672 255.0103 533.3398 277.9497 533.3398 c +302.1626 533.3398 315.0044 516.0664 315.0044 498.2822 c +315.0044 488.7461 311.4224 481.5225 306.8149 476.915 C +326.7368 479.0332 339.313 470.5176 346.0942 458.2354 C +341.6157 454.3975 339.9536 448.7676 Y +345.3267 455.8057 354.5376 461.9453 367.4595 461.9453 c +387.0356 461.9453 402.3911 442.7539 402.3911 422.1563 c +402.3911 409.084 397.5884 396.375 387.8267 387.9102 C +393.8638 382.8809 396.4731 375.5391 393.6978 369.6055 c +f +*U +*u +315.2114 494.9053 m +315.1782 494.7852 315.2388 494.6582 315.3521 494.6094 c +330.1763 488.0957 340.6372 475.6289 345.0063 461.2324 c +345.0415 461.1152 345.1548 461.0391 345.2778 461.0527 c +345.3989 461.0664 345.4946 461.166 345.5024 461.2871 c +346.229 471.9434 343.1274 482.4531 337.0005 491.0234 C +351.1216 491.9648 362.2407 499.9297 369.1997 511.5723 C +373.3286 505.46 381.6509 505.7969 384.8599 512.6035 c +384.9106 512.708 384.8833 512.832 384.7954 512.9063 c +384.7075 512.9805 384.5806 512.9873 384.4868 512.9219 c +380.2134 509.9688 372.8071 513.498 375.9282 524.9355 c +377.981 532.4561 382.3716 536.4668 386.5259 535.333 c +389.7915 534.4414 390.7661 531.002 390.0864 528.5146 c +388.9243 524.2539 384.438 522.8623 381.481 525.6357 c +381.397 525.7158 381.2681 525.7285 381.1704 525.6641 c +381.0728 525.5986 381.0298 525.4775 381.0688 525.3662 c +381.9868 522.7852 383.5571 520.7285 386.6157 519.8936 c +391.811 518.4756 398.6743 521.8115 400.8618 529.8252 c +403.2114 538.4316 398.7153 548.0566 390.604 550.2715 c +379.2036 553.3818 371.1392 545.166 367.3931 535.2383 C +366.9263 539.8896 363.1079 544.3203 v +363.0317 544.4092 362.9048 544.4336 362.8013 544.3818 c +362.6978 544.3291 362.6431 544.2129 362.6665 544.0996 c +364.106 537.6641 363.9575 530.8047 362.1099 524.0361 c +356.9438 505.1074 336.6626 493.0977 315.479 495.0938 c +315.354 495.1055 315.2407 495.0254 315.2114 494.9053 c +f +345.5806 407.1348 m +351.7739 400.666 364.0493 395.6133 374.6646 397.168 c +374.7856 397.1855 374.9009 397.1172 374.9399 397.0039 c +374.981 396.8906 374.936 396.7637 374.8345 396.7012 c +369.1743 393.2617 357.8384 392.0723 346.5786 397.4609 C +343.4536 395.1035 340.6489 393.8496 337.1919 393.2715 c +337.0806 393.2539 336.9692 393.3125 336.9204 393.4141 c +336.8735 393.5156 336.8989 393.6387 336.9849 393.7148 c +341.5454 397.6484 343.8286 401.6563 345.5806 407.1348 C +f +232.7935 448.9121 m +232.6753 448.8711 232.5444 448.9258 232.4878 449.0371 c +232.4312 449.1484 232.4644 449.2852 232.5679 449.3594 c +239.6938 454.4785 245.4829 462.291 248.4204 473.0566 c +255.6802 499.6563 244.3267 520.7921 228.2534 528.0146 c +228.1499 528.0605 228.0903 528.1689 228.105 528.2803 c +228.1216 528.3926 228.2085 528.4814 228.3198 528.4971 c +235.0747 529.4785 244.2622 528.6729 253.7915 517.3486 c +259.4927 510.5732 262.7271 503.373 269.0142 501.6563 c +273.1216 500.5352 276.5103 501.9551 277.4126 505.2617 c +278.3618 508.7393 275.9966 511.8018 272.6528 512.7148 c +270.9653 513.1738 269.1626 513.1436 267.4146 512.6836 c +267.2993 512.6533 267.1821 512.7051 267.1255 512.8086 c +267.0708 512.9121 267.0923 513.04 267.1802 513.1172 c +269.8325 515.4746 273.8677 517.125 278.5708 515.8408 c +285.4907 513.9531 289.6606 506.457 287.4673 498.415 c +285.104 489.7578 276.3696 484.5234 266.5864 487.1934 c +263.2329 488.1084 259.4497 490.168 256.7603 493.4648 C +258.5942 489.4551 260.0493 487.1855 263.8286 484.6133 C +262.8364 474.1035 258.3091 463.8271 250.4009 456.8389 C +256.2192 454.9863 260.604 451.7207 263.5083 446.6855 c +263.5669 446.582 263.5454 446.4531 263.4595 446.373 c +263.3696 446.293 263.2388 446.2832 263.1411 446.3535 c +256.1802 451.2344 243.9048 452.582 232.7935 448.9121 c +f +216.1919 362.8809 m +212.1538 366.3105 210.936 372.0469 212.4106 377.8672 c +212.4419 377.9883 212.5542 378.0684 212.6772 378.0566 c +212.8022 378.0469 212.8989 377.9492 212.9097 377.8281 c +213.0981 375.6543 213.9448 373.748 215.4917 372.4355 c +219.4712 369.0566 226.5562 370.834 231.4634 376.3828 c +231.522 376.4492 231.6079 376.4805 231.6929 376.4668 c +231.7788 376.4531 231.8511 376.3984 231.8862 376.3203 c +234.1519 371.2539 239.1079 364.5938 252.0005 361.0742 c +270.0239 356.1563 290.3794 363.1992 294.6235 378.752 c +297.0493 387.6406 292.8306 396.4824 284.5845 402.7109 C +289.0298 397.123 291.7075 390.4238 289.6177 382.7695 c +286.5532 371.5391 272.1567 365.918 254.8755 370.6348 c +238.5825 375.0801 222.7065 391.748 226.8833 407.0547 c +229.1743 415.4492 237.6821 419.8887 246.4458 417.4961 c +254.2231 415.375 257.2837 409.1016 255.7329 403.4219 c +254.5669 399.1445 250.7407 397.0195 247.2153 396.9941 c +247.0962 396.9941 246.9927 397.0762 246.9653 397.1934 c +246.9419 397.3105 246.9985 397.4277 247.1079 397.4785 c +248.1704 397.9688 249.188 398.877 249.6509 400.5742 c +250.4263 403.4121 248.3911 405.5605 246.6353 406.0391 c +243.3022 406.9492 240.2827 405.1211 239.271 401.416 c +237.8911 396.3574 242.3667 390.8906 249.5239 388.9355 c +258.4126 386.5117 268.8833 392.8066 271.2075 401.3223 c +273.5825 410.0254 268.3501 421.4648 253.9087 425.4063 c +239.7153 429.2813 220.7925 424.0996 216.6157 408.793 c +214.1802 399.8691 216.1333 391.1875 221.2075 383.5508 c +221.2739 383.4512 221.2612 383.3164 221.1753 383.2305 c +221.0884 383.1445 220.9536 383.1328 220.853 383.2012 c +209.5415 390.8828 197.1108 391.707 195.3267 385.1699 c +194.4536 381.9727 196.3042 379.7188 198.7524 379.0508 c +201.2681 378.3652 203.8462 379.6289 205.0327 382.4883 c +205.0796 382.5996 205.2007 382.6641 205.3198 382.6406 c +205.438 382.6133 205.5249 382.5098 205.522 382.3867 c +205.4292 375.3477 200.0034 369.5625 193.1577 371.4316 c +187.1021 373.084 183.8354 379.5488 185.688 386.3359 c +188.4888 396.5977 200.6997 398.5391 210.0063 393.6504 C +204.647 400.7715 201.1919 410.1035 204.2524 421.3184 c +210.4507 444.0313 239.5044 448.4355 256.9087 443.6855 c +272.7075 439.373 281.9517 433.4023 287.9087 424.6152 C +284.1079 434.0098 278.4419 439.0039 269.8345 442.9434 C +263.3052 451.0918 267.5161 466.5195 v +269.2759 472.9707 273.3091 478.3418 279.1079 481.7793 C +279.1079 481.7813 279.106 481.7842 279.1021 481.7871 C +279.1509 481.8105 279.1997 481.8379 279.2466 481.8613 C +279.6333 482.0879 280.0298 482.3057 280.4321 482.5146 C +286.4438 486.1211 293.4966 494.6973 292.2661 504.6113 c +292.2524 504.7236 292.3149 504.832 292.4185 504.877 c +292.5239 504.9219 292.645 504.8896 292.7153 504.8018 c +297.3677 498.9629 297.2114 491.1104 294.8794 485.8857 C +298.7368 485.915 302.9087 485.375 307.3442 484.165 c +323.1685 479.8457 332.0122 468.3135 334.9126 457.5566 C +339.4106 459.5977 345.0063 457.4043 347.9888 452.9199 c +348.0532 452.8184 348.0415 452.6855 347.9575 452.5996 c +347.8735 452.5156 347.7407 452.5 347.6392 452.5645 c +342.7583 455.6914 336.9556 451.9648 335.4048 445.3496 c +335.3774 445.2305 335.2681 445.1484 335.145 445.1543 c +335.022 445.1602 334.9204 445.2539 334.9067 445.377 c +333.5591 456.251 326.8228 465.0566 316.1841 467.96 c +305.0767 470.9922 294.2446 466.7852 291.3149 456.0469 c +288.9224 447.2832 294.5571 436.3301 304.5513 433.6016 c +312.3286 431.4785 318.0747 434.5527 319.5903 440.1074 c +320.9048 444.9199 318.6157 449.6563 314.6665 450.7344 c +309.0181 452.2754 305.2388 446.4844 308.7837 441.877 c +308.8521 441.7852 308.854 441.6602 308.7837 441.5684 c +308.7153 441.4766 308.5923 441.4434 308.4868 441.4863 c +304.3892 443.1465 301.2739 447.3418 302.5923 452.1729 c +303.8052 456.6152 308.7544 460.1729 316.6548 458.0166 c +326.0356 455.457 333.0806 443.8555 329.0376 429.043 c +323.5142 408.7988 297.6802 404.0449 282.1079 418.9043 C +286.5278 412.2617 291.4517 406.0098 302.438 403.0117 c +323.188 397.3496 342.813 414.0332 341.1724 440.4902 c +341.1646 440.6152 341.2505 440.7285 341.3735 440.7539 c +341.4946 440.7813 341.6196 440.7129 341.6646 440.5977 c +344.7466 432.4922 350.0786 423.4316 362.2739 420.1035 c +374.9888 416.6328 386.2876 422.5664 389.8599 435.6504 c +392.6216 445.7734 388.2017 453.875 380.9204 455.8623 c +375.3657 457.3789 369.9419 455.0039 368.2603 448.8398 c +365.7563 439.6641 374.8833 433.8203 380.6411 437.3516 c +380.7388 437.4121 380.8677 437.3965 380.9497 437.3164 c +381.0337 437.2363 381.0513 437.1094 380.9927 437.0078 c +378.5454 432.7324 372.6802 429.5977 365.6548 431.5156 c +353.5571 434.8164 348.6001 448.2383 351.9673 460.5811 c +353.5454 466.3652 356.7681 471.502 361.1685 475.1426 C +365.0298 473.5186 369.8384 473.6777 373.3735 474.8867 C +366.2349 474.8154 355.8794 479.8262 358.647 489.9707 c +360.1978 495.6533 365.5923 498.2188 370.7563 496.8086 c +376.8579 495.1436 378.2974 489.21 376.5688 485.1729 c +376.522 485.0654 376.4106 485.0039 376.2974 485.0225 c +376.1821 485.04 376.0942 485.1318 376.0825 485.2471 c +375.9146 486.9375 374.6685 488.6836 372.7446 489.208 c +370.3325 489.8662 368.3989 488.415 367.8735 486.4854 c +367.0044 483.3066 370.063 480.5752 374.2739 480.6211 C +374.27 480.6094 L +377.2896 480.8984 380.5044 480.6445 383.8716 479.7266 c +400.0415 475.3125 410.6646 453.5674 404.6235 431.4375 c +398.2485 408.0781 378.2056 400.2363 361.0474 404.9199 c +351.8481 407.4297 345.8228 412.7871 342.5903 418.4453 C +339.3892 398.668 327.8618 388.7793 314.229 385.4707 C +311.7056 390.8008 306.7114 393.8867 Y +312.0864 386.8496 315.5845 376.3477 312.1821 363.8809 c +307.0278 344.9961 284.4712 335.2344 264.6001 340.6582 c +251.9888 344.0996 240.9927 352.0801 235.397 363.7266 C +228.9556 359.2266 221.186 358.6406 216.1919 362.8809 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0 0 0 0 k + 0 0 0 0 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +363.1294 436.9688 m +363.0044 436.9688 362.8989 436.877 362.8794 436.7539 c +360.5005 420.7402 351.2271 407.3652 338.4888 399.3594 c +338.3853 399.2949 338.3403 399.1641 338.3872 399.0508 c +338.4321 398.9375 338.5532 398.8711 338.6724 398.8965 c +349.145 401 358.4653 406.7598 365.1216 414.9277 C +369.7466 401.5508 380.3579 392.9219 393.4224 389.2734 C +388.6138 383.6816 391.1294 375.7402 398.5415 374.4375 c +398.6548 374.416 398.7661 374.4746 398.8149 374.5781 c +398.8638 374.6816 398.8364 374.8066 398.7485 374.8809 c +394.7759 378.2266 396.229 386.3008 408.0864 386.3008 c +415.8794 386.3008 420.9067 383.1211 420.9067 378.8145 c +420.9067 375.4297 417.8442 373.584 415.2642 373.584 c +410.8501 373.584 408.3267 377.5449 410.2231 381.127 c +410.2778 381.2305 410.2563 381.3574 410.1685 381.4355 c +410.0806 381.5137 409.9517 381.5215 409.854 381.4551 c +407.606 379.8906 406.0356 377.834 406.0356 374.6641 c +406.0356 369.2773 411.061 363.5352 419.3677 363.5332 c +428.2896 363.5332 436.3911 370.4043 436.3911 378.8145 c +436.3911 390.6309 426.3423 396.248 415.7778 397.248 C +420.1431 398.9219 423.4106 403.7734 v +423.4771 403.8691 423.4673 403.998 423.3892 404.084 c +423.311 404.1719 423.1841 404.1934 423.0825 404.1387 c +417.2524 401.0566 410.5942 399.3945 403.5806 399.3945 c +383.9575 399.3945 367.0337 415.7988 363.3813 436.7607 c +363.3599 436.8818 363.2524 436.9727 363.1294 436.9688 c +f +286.4517 384.5625 m +281.8442 376.8867 280.1997 363.7129 284.4946 353.8809 c +284.5435 353.7695 284.5083 353.6406 284.4087 353.5703 c +284.3091 353.502 284.1763 353.5117 284.0884 353.5957 c +279.2817 358.1484 275.1489 368.7715 277.3833 381.0527 C +274.2876 383.4473 272.3384 385.8223 270.8696 389.0059 c +270.8228 389.1074 270.8501 389.2305 270.936 389.3047 c +271.022 389.377 271.147 389.3848 271.2427 389.3203 c +276.2388 385.959 280.7056 384.8125 286.4517 384.5625 C +f +297.0591 504.3691 m +296.9907 504.4727 297.0083 504.6133 297.1001 504.6973 c +297.1938 504.7813 297.3345 504.7852 297.4321 504.7061 c +304.2466 499.1797 313.3071 495.6504 324.4673 495.6504 c +352.0376 495.6504 369.4399 512.1689 372.1743 529.5771 c +372.1919 529.6885 372.2817 529.7734 372.3931 529.7891 c +372.5044 529.8047 372.6138 529.7422 372.6587 529.6396 c +375.3833 523.3818 377.0259 514.3057 368.6099 502.1309 c +363.5747 494.8457 357.479 489.8311 357.479 483.3145 c +357.479 479.0566 359.7407 476.1602 363.1685 476.1602 c +366.7739 476.1602 369.106 479.248 369.104 482.7148 c +369.104 484.4629 368.6001 486.1934 367.6958 487.7607 c +367.6372 487.8633 367.6548 487.9902 367.7407 488.0723 c +367.8247 488.1523 367.9556 488.165 368.0532 488.1016 c +371.0259 486.1641 373.6802 482.7021 373.6802 477.8281 c +373.6802 470.6563 367.5474 464.6602 359.2095 464.6602 c +350.2368 464.6602 342.8872 471.709 342.8872 481.8477 c +342.8872 485.3262 343.8755 489.5156 346.3501 492.9805 C +342.9653 490.1523 341.1587 488.1523 339.6724 483.8271 C +329.272 482.0186 318.1665 483.6797 309.3403 489.4727 C +309.0864 483.3711 307.0903 478.2793 302.9985 474.1533 c +302.9146 474.0684 302.7837 474.0547 302.6841 474.1182 c +302.5825 474.1816 302.5415 474.3066 302.5806 474.4189 c +305.4575 482.4199 303.5239 494.6152 297.0591 504.3691 c +f +209.6938 497.7344 m +211.938 502.5352 217.1528 505.2188 223.1548 505.3271 c +223.2798 505.3311 223.3872 505.2432 223.4087 505.1211 c +223.4321 504.998 223.3638 504.8779 223.2485 504.8359 c +221.2017 504.082 219.5864 502.7637 218.7271 500.9258 c +216.5142 496.1973 220.0942 489.8301 226.7407 486.5566 c +226.8188 486.5186 226.8716 486.4434 226.8813 486.3594 c +226.8911 486.2725 226.856 486.1885 226.7915 486.1318 c +222.5005 482.6143 217.3794 476.0781 217.3794 462.7148 c +217.3774 444.0322 229.5337 426.25 245.6548 426.25 c +254.8677 426.25 262.2876 432.6465 266.1255 442.2422 C +261.9028 436.4844 256.145 432.1348 248.2114 432.1348 c +236.5708 432.1348 227.3579 444.5439 227.356 462.459 c +227.356 479.3457 239.2583 499.0518 255.1216 499.0508 c +263.8247 499.0488 270.3481 492.0117 270.3481 482.9277 c +270.3481 474.8672 265.1021 470.2637 259.2173 470.2637 c +254.7798 470.2637 251.7231 473.3936 250.772 476.7871 c +250.7388 476.9023 250.7915 477.0254 250.897 477.0811 c +251.0044 477.1357 251.1333 477.1104 251.2114 477.0186 c +251.9634 476.124 253.1079 475.3809 254.8657 475.3809 c +257.8091 475.3789 259.3442 477.9082 259.3442 479.7285 c +259.3442 483.1836 256.7856 485.6152 252.9458 485.6152 c +247.7036 485.6152 243.606 479.8564 243.606 472.4385 c +243.606 463.2236 252.436 454.7813 261.2642 454.7813 c +270.2856 454.7813 279.9438 462.8408 279.9438 477.8125 c +279.9419 492.5234 269.9653 509.4141 254.0981 509.4141 c +244.8481 509.4141 236.9849 505.2441 230.9556 498.3398 c +230.8755 498.248 230.7427 498.2246 230.6392 498.2852 c +230.5317 498.3477 230.4849 498.4727 230.5239 498.5879 c +234.9575 511.5234 232.4771 523.7344 225.7036 523.7324 c +222.3892 523.7324 220.7017 521.3535 220.7017 518.8154 c +220.7017 516.21 222.6001 514.0566 225.6704 513.6611 c +225.7915 513.6475 225.8833 513.5479 225.8931 513.4268 c +225.8989 513.3047 225.8188 513.1943 225.7017 513.1641 c +218.8872 511.4004 211.8774 515.1133 211.8774 522.2061 c +211.8774 528.4854 217.2544 533.3398 224.2896 533.3398 c +234.9263 533.3379 240.0142 522.0684 237.7485 511.8047 C +243.2075 518.8486 251.3013 524.6396 262.9263 524.6396 c +286.4692 524.6396 298.3677 497.7715 298.3677 479.7285 c +298.3677 463.3525 295.0415 452.8604 288.1313 444.8018 C +296.1938 450.9404 299.52 457.7227 301.0552 467.0645 C +307.1958 475.5078 323.188 475.5078 v +329.8755 475.5078 336.1177 473.0322 340.9614 468.3438 C +340.9634 468.3447 340.9653 468.3477 340.9673 468.3486 C +341.0024 468.3105 341.0396 468.2695 341.0767 468.2314 C +341.397 467.915 341.7114 467.5918 342.02 467.2578 C +347.0806 462.4102 357.2114 457.8633 366.4517 461.6602 c +366.5571 461.7031 366.6782 461.6699 366.7485 461.582 c +366.8188 461.4932 366.8188 461.3672 366.7524 461.2754 c +362.3462 455.252 354.729 453.335 349.0747 454.21 C +350.1177 450.4941 350.6958 446.3281 350.6958 441.7305 c +350.6978 425.3262 341.8989 413.7598 332.2856 408.1289 C +335.438 404.3281 334.7954 398.3535 331.2544 394.2949 c +331.1743 394.2051 331.0435 394.1816 330.938 394.2402 c +330.8345 394.2988 330.7837 394.4238 330.8188 394.5391 c +332.5513 400.0703 327.4282 404.6875 320.6392 404.4395 c +320.5161 404.4355 320.4067 404.5195 320.3813 404.6406 c +320.356 404.7617 320.4185 404.8828 320.5337 404.9277 c +330.6685 409.0918 337.3911 417.9102 337.3892 428.9355 c +337.3911 440.4492 330.481 449.79 319.3501 449.79 c +310.2661 449.79 301.1821 441.4727 301.1821 431.1133 c +301.1821 423.0508 305.6587 418.3184 311.4165 418.3164 c +316.4067 418.3184 320.3735 421.7715 320.3735 425.8672 c +320.3735 431.7188 313.7896 433.8408 310.2778 429.209 c +310.2095 429.1172 310.0864 429.084 309.981 429.127 c +309.8755 429.1689 309.811 429.2773 309.8228 429.3926 c +310.3462 433.7813 313.5767 437.8926 318.5825 437.8926 c +323.188 437.8926 327.9224 434.0518 327.9224 425.8652 c +327.9224 416.1406 318.5845 406.291 303.231 406.2891 c +282.2466 406.2891 270.8599 429.959 281.0942 448.8945 C +275.8501 442.8809 271.1157 436.4844 271.1157 425.0977 c +271.1138 403.5898 292.3794 389.0488 317.4692 397.5977 c +317.5884 397.6367 317.7192 397.584 317.7759 397.4746 c +317.8345 397.3633 317.8013 397.2266 317.6997 397.1523 c +310.6938 392.043 303.356 384.5137 303.356 371.873 c +303.356 358.6934 312.0552 349.3535 325.6196 349.3535 c +336.1099 349.3535 342.7642 355.752 342.7642 363.2988 c +342.7642 369.0566 339.0454 373.6641 332.6567 373.6641 c +323.1431 373.6641 319.9087 363.3203 324.8325 358.6953 c +324.9165 358.6152 324.936 358.4902 324.8813 358.3887 c +324.8247 358.2871 324.7056 358.2344 324.5942 358.2637 c +319.8247 359.5 315.2563 364.332 315.2563 371.6152 c +315.2544 384.1563 326.897 392.4727 339.6919 392.4727 c +345.688 392.4727 351.4907 390.7188 356.1646 387.4297 C +355.6118 383.2773 357.0317 378.6816 359.1313 375.5879 C +357.1821 382.457 359.2915 393.7656 369.8032 393.7676 c +375.6958 393.7656 379.5903 389.2383 379.5903 383.8867 c +379.5903 377.5605 374.2446 374.6094 369.895 375.2148 c +369.7798 375.2305 369.6899 375.3223 369.6763 375.4375 c +369.6646 375.5527 369.731 375.6602 369.8384 375.7031 c +371.4243 376.3105 372.7817 377.9727 372.7817 379.9668 c +372.7817 382.4668 370.8696 383.9492 368.8696 383.9492 c +365.5767 383.9492 363.7466 380.2793 364.8989 376.2305 C +364.8872 376.2285 L +365.9595 373.3926 366.561 370.2246 366.561 366.7363 c +366.561 349.9746 348.3813 334.002 325.4399 334 c +301.229 334 288.3872 351.2734 288.3892 369.0566 c +288.3892 378.5938 291.9692 385.8184 296.5767 390.4258 C +276.6548 388.3066 264.0786 396.8223 257.2974 409.1035 C +261.7759 412.9414 263.438 418.5723 Y +258.0649 411.5352 248.854 405.3945 235.9321 405.3945 c +216.356 405.3945 201.0005 424.5859 201.0005 445.1836 c +201.0005 458.2568 205.8032 470.9648 215.5649 479.4307 C +209.5278 484.459 206.9185 491.8018 209.6938 497.7344 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0.35 0.6 0.8 0.25 k + 0.35 0.6 0.8 0.25 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +73.2617 430.3711 m +73.3867 430.3711 73.4922 430.4629 73.5098 430.585 c +75.8906 446.5996 85.1641 459.9746 97.9023 467.9814 c +98.0059 468.0449 98.0488 468.1758 98.0039 468.29 c +97.957 468.4023 97.8379 468.4688 97.7168 468.4443 c +87.2461 466.3398 77.9238 460.5811 71.2695 452.4141 C +66.6436 465.7891 56.0332 474.418 42.9688 478.0654 C +47.7773 483.6582 45.2617 491.5986 37.8496 492.9023 c +37.7363 492.9229 37.624 492.8643 37.5752 492.7607 c +37.5273 492.6563 37.5537 492.5322 37.6416 492.46 c +41.6152 489.1143 40.1611 481.04 28.3047 481.04 c +20.5098 481.04 15.4844 484.2188 15.4844 488.5254 c +15.4844 491.9102 18.5459 493.7559 21.125 493.7559 c +25.541 493.7559 28.0645 489.7949 26.167 486.2129 c +26.1123 486.1104 26.1348 485.9814 26.2227 485.9033 c +26.3105 485.8271 26.4395 485.8184 26.5361 485.8857 c +28.7852 487.4492 30.3555 489.5059 30.3555 492.6768 c +30.3555 498.0635 25.3301 503.8066 17.0234 503.8066 c +8.10156 503.8066 0 496.9355 0 488.5254 c +0 476.71 10.0488 471.0918 20.6133 470.0918 C +16.248 468.4189 12.9795 463.5664 v +12.9141 463.4697 12.9238 463.3418 13.001 463.2559 c +13.0791 463.1689 13.2051 463.1475 13.3086 463.2012 c +19.1387 466.2822 25.7949 467.9453 32.8105 467.9453 c +52.4316 467.9453 69.3574 451.541 73.0098 430.5801 c +73.0313 430.4561 73.1377 430.3691 73.2617 430.3711 c +f +149.9395 482.7773 m +154.5488 490.4551 156.1914 503.627 151.8965 513.46 c +151.8477 513.5703 151.8828 513.6992 151.9824 513.7686 c +152.0801 513.8379 152.2148 513.8281 152.3027 513.7461 c +157.1094 509.1914 161.2422 498.5684 159.0078 486.2871 C +162.1055 483.8936 164.0527 481.5176 165.5215 478.335 c +165.5684 478.2314 165.541 478.1104 165.4551 478.0352 c +165.3691 477.9629 165.2441 477.9551 165.1484 478.0186 c +160.1523 481.3809 155.6855 482.5283 149.9395 482.7773 C +f +139.3301 362.9707 m +139.4004 362.8672 139.3828 362.7266 139.291 362.6426 c +139.1973 362.5586 139.0566 362.5547 138.959 362.6348 c +132.1445 368.1621 123.084 371.6895 111.9238 371.6895 c +84.3516 371.6895 66.9512 355.1719 64.2158 337.7637 c +64.1982 337.6523 64.1094 337.5664 63.998 337.5508 c +63.8857 337.5371 63.7773 337.5977 63.7324 337.7012 c +61.0068 343.959 59.3652 353.0352 67.7813 365.209 c +72.8154 372.4941 78.9102 377.5098 78.9102 384.0273 c +78.9102 388.2852 76.6504 391.1797 73.2227 391.1797 c +69.6172 391.1797 67.2861 388.0918 67.2861 384.625 c +67.2861 382.877 67.791 381.1465 68.6953 379.5801 c +68.7539 379.4766 68.7354 379.3496 68.6504 379.2676 c +68.5645 379.1875 68.4355 379.1758 68.3379 379.2402 c +65.3652 381.1777 62.7109 384.6367 62.7109 389.5117 c +62.7109 396.6836 68.8438 402.6816 77.1797 402.6816 c +86.1543 402.6816 93.5039 395.6328 93.5039 385.4922 c +93.5039 382.0156 92.5137 377.8242 90.041 374.3613 C +93.4258 377.1875 95.2324 379.1875 96.7188 383.5117 C +107.1191 385.3223 118.2246 383.6602 127.0488 377.8691 C +127.3047 383.9707 129.3008 389.0605 133.3926 393.1875 c +133.4766 393.2715 133.6074 393.2852 133.707 393.2227 c +133.8086 393.1582 133.8516 393.0332 133.8105 392.9219 c +130.9336 384.9199 132.8652 372.7246 139.3301 362.9707 c +f +226.6973 369.6055 m +224.4512 364.8066 219.2383 362.1211 213.2363 362.0117 c +213.1113 362.0098 213.0039 362.0977 212.9824 362.2188 c +212.959 362.3418 213.0273 362.4609 213.1426 362.5039 c +215.1895 363.2578 216.8047 364.5762 217.6641 366.4141 c +219.877 371.1426 216.2969 377.5098 209.6504 380.7832 c +209.5723 380.8223 209.5195 380.8965 209.5098 380.9824 c +209.5 381.0684 209.5332 381.1523 209.5996 381.207 c +213.8906 384.7266 219.0117 391.2617 219.0117 404.627 c +219.0117 423.3086 206.8574 441.0898 190.7363 441.0898 c +181.5234 441.0898 174.1035 434.6934 170.2656 425.0977 C +174.4863 430.8564 180.2441 435.2051 188.1777 435.2051 c +199.8203 435.2051 209.0332 422.7969 209.0332 404.8828 c +209.0332 387.9941 197.1328 368.2891 181.2676 368.2891 c +172.5664 368.2891 166.043 375.3281 166.043 384.4121 c +166.043 392.4746 171.2891 397.0781 177.1758 397.0781 c +181.6094 397.0781 184.668 393.9473 185.6191 390.5527 c +185.6504 390.4375 185.5996 390.3164 185.4922 390.2598 c +185.3867 390.2051 185.2578 390.2305 185.1797 390.3223 c +184.4277 391.2168 183.2832 391.9609 181.5254 391.9609 c +178.582 391.9609 177.0469 389.4316 177.0469 387.6113 c +177.0469 384.1563 179.6055 381.7246 183.4453 381.7246 c +188.6895 381.7246 192.7852 387.4824 192.7852 394.9023 c +192.7852 404.1152 183.9551 412.5586 175.127 412.5586 c +166.1055 412.5586 156.4473 404.5 156.4473 389.5293 c +156.4473 374.8164 166.4277 357.9258 182.293 357.9258 c +191.543 357.9258 199.4043 362.0957 205.4355 369.002 c +205.5156 369.0918 205.6484 369.1152 205.7539 369.0547 c +205.8594 368.9941 205.9063 368.8672 205.8672 368.752 c +201.4336 355.8164 203.9121 343.6074 210.6875 343.6074 c +214.002 343.6074 215.6895 345.9863 215.6895 348.5234 c +215.6895 351.1309 213.791 353.2852 210.7207 353.6777 c +210.5996 353.6934 210.5059 353.793 210.498 353.9141 c +210.4922 354.0352 210.5703 354.1465 210.6895 354.1758 c +217.5039 355.9395 224.5137 352.2285 224.5137 345.1328 c +224.5137 338.8555 219.1367 334.002 212.1016 334.002 c +201.4648 334.002 196.377 345.2715 198.6426 355.5371 C +193.1836 348.4922 185.0898 342.7012 173.4648 342.7012 c +149.9219 342.7012 138.0234 369.5703 138.0234 387.6113 c +138.0234 403.9883 141.3496 414.4785 148.2598 422.5391 C +140.1973 416.3984 136.8711 409.6172 135.3379 400.2773 C +129.1953 391.832 113.2031 391.832 v +106.5156 391.832 100.2734 394.3086 95.4297 398.998 C +95.4277 398.9961 95.4258 398.9941 95.4238 398.9902 C +95.3887 399.0313 95.3496 399.0703 95.3145 399.1094 C +94.9941 399.4238 94.6797 399.748 94.3711 400.082 C +89.3086 404.9316 79.1797 409.4785 69.9395 405.6797 c +69.834 405.6367 69.7129 405.6699 69.6426 405.7578 c +69.5723 405.8477 69.5703 405.9727 69.6377 406.0645 c +74.0449 412.0898 81.6621 414.0059 87.3164 413.1309 C +86.2715 416.8457 85.6934 421.0117 85.6934 425.6094 c +85.6934 442.0137 94.4922 453.5801 104.1055 459.2109 C +100.9512 463.0137 101.5957 468.9883 105.1367 473.0449 c +105.2168 473.1357 105.3477 473.1582 105.4531 473.0996 c +105.5566 473.041 105.6055 472.918 105.5703 472.8018 c +103.8398 467.2695 108.9629 462.6523 115.752 462.9004 c +115.875 462.9033 115.9824 462.8193 116.0098 462.6992 c +116.0352 462.5801 115.9707 462.457 115.8574 462.4111 c +105.7207 458.248 99 449.4316 99 438.4033 c +99 426.8906 105.9082 417.5488 117.041 417.5488 c +126.125 417.5488 135.209 425.8672 135.209 436.2285 c +135.209 444.2891 130.7305 449.0225 124.9727 449.0225 c +119.9844 449.0225 116.0176 445.5684 116.0176 441.4736 c +116.0176 435.6211 122.5996 433.499 126.1113 438.1309 c +126.1816 438.2227 126.3027 438.2559 126.4082 438.2129 c +126.5156 438.1699 126.5801 438.0625 126.5664 437.9482 c +126.043 433.5586 122.8145 429.4482 117.8086 429.4482 c +113.2031 429.4482 108.4688 433.2861 108.4688 441.4746 c +108.4688 451.1982 117.8066 461.0508 133.1602 461.0508 c +154.1426 461.0508 165.5313 437.3809 155.2969 418.4453 C +160.541 424.459 165.2754 430.8555 165.2754 442.2432 c +165.2754 463.75 144.0117 478.291 118.9219 469.7441 c +118.8027 469.7021 118.6719 469.7559 118.6152 469.8672 c +118.5566 469.9785 118.5879 470.1143 118.6895 470.1895 c +125.6953 475.2979 133.0332 482.8262 133.0332 495.4668 c +133.0332 508.6475 124.334 517.9854 110.7715 517.9854 c +100.2793 517.9854 93.627 511.5879 93.627 504.04 c +93.627 498.2822 97.3457 493.6768 103.7344 493.6768 c +113.2461 493.6768 116.4805 504.0195 111.5586 508.6445 c +111.4746 508.7236 111.4551 508.8516 111.5098 508.9521 c +111.5664 509.0547 111.6836 509.1055 111.7969 509.0762 c +116.5664 507.8398 121.1348 503.0068 121.1348 495.7236 c +121.1348 483.1855 109.4922 474.8682 96.6973 474.8682 c +90.7012 474.8682 84.8984 476.623 80.2266 479.9102 C +80.7773 484.0635 79.3574 488.6602 77.2598 491.752 C +79.209 484.8848 77.1016 473.5732 66.5859 473.5732 c +60.6953 473.5732 56.8008 478.1025 56.8008 483.4551 c +56.8008 489.7793 62.1465 492.7314 66.4961 492.125 c +66.6113 492.1104 66.7002 492.0186 66.7129 491.9023 c +66.7266 491.7891 66.6602 491.6797 66.5527 491.6367 c +64.9668 491.0293 63.6104 489.3691 63.6104 487.373 c +63.6104 484.873 65.5195 483.3906 67.5195 483.3906 c +70.8145 483.3906 72.6445 487.0605 71.4922 491.1104 C +71.5039 491.1104 L +70.4307 493.9473 69.8281 497.1152 69.8281 500.6055 c +69.8281 517.3672 88.0098 533.3398 110.9492 533.3398 c +135.1621 533.3398 148.0039 516.0664 148.0039 498.2822 c +148.0039 488.7461 144.4219 481.5225 139.8145 476.915 C +159.7363 479.0332 172.3125 470.5176 179.0938 458.2354 C +174.6152 454.3975 172.9531 448.7676 Y +178.3262 455.8057 187.5371 461.9453 200.459 461.9453 c +220.0352 461.9453 235.3906 442.7539 235.3906 422.1563 c +235.3906 409.084 230.5879 396.375 220.8262 387.9102 C +226.8633 382.8809 229.4727 375.5391 226.6973 369.6055 c +f +*U +*u +148.2109 494.9053 m +148.1777 494.7852 148.2383 494.6582 148.3516 494.6094 c +163.1758 488.0957 173.6367 475.6289 178.0059 461.2324 c +178.041 461.1152 178.1543 461.0391 178.2773 461.0527 c +178.3984 461.0664 178.4941 461.166 178.502 461.2871 c +179.2285 471.9434 176.127 482.4531 170 491.0234 C +184.1211 491.9648 195.2402 499.9297 202.1992 511.5723 C +206.3281 505.46 214.6504 505.7969 217.8594 512.6035 c +217.9102 512.708 217.8828 512.832 217.7949 512.9063 c +217.707 512.9805 217.5801 512.9873 217.4863 512.9219 c +213.2129 509.9688 205.8066 513.498 208.9277 524.9355 c +210.9805 532.4561 215.3711 536.4668 219.5254 535.333 c +222.791 534.4414 223.7656 531.002 223.0859 528.5146 c +221.9238 524.2539 217.4375 522.8623 214.4805 525.6357 c +214.3965 525.7158 214.2676 525.7285 214.1699 525.6641 c +214.0723 525.5986 214.0293 525.4775 214.0684 525.3662 c +214.9863 522.7852 216.5566 520.7285 219.6152 519.8936 c +224.8105 518.4756 231.6738 521.8115 233.8613 529.8252 c +236.2109 538.4316 231.7148 548.0566 223.6035 550.2715 c +212.2031 553.3818 204.1387 545.166 200.3926 535.2383 C +199.9258 539.8896 196.1074 544.3203 v +196.0313 544.4092 195.9043 544.4336 195.8008 544.3818 c +195.6973 544.3291 195.6426 544.2129 195.666 544.0996 c +197.1055 537.6641 196.957 530.8047 195.1094 524.0361 c +189.9434 505.1074 169.6621 493.0977 148.4785 495.0938 c +148.3535 495.1055 148.2402 495.0254 148.2109 494.9053 c +f +178.5801 407.1348 m +184.7734 400.666 197.0488 395.6133 207.6641 397.168 c +207.7852 397.1855 207.9004 397.1172 207.9395 397.0039 c +207.9805 396.8906 207.9355 396.7637 207.834 396.7012 c +202.1738 393.2617 190.8379 392.0723 179.5781 397.4609 C +176.4531 395.1035 173.6484 393.8496 170.1914 393.2715 c +170.0801 393.2539 169.9688 393.3125 169.9199 393.4141 c +169.873 393.5156 169.8984 393.6387 169.9844 393.7148 c +174.5449 397.6484 176.8281 401.6563 178.5801 407.1348 C +f +65.793 448.9121 m +65.6748 448.8711 65.5439 448.9258 65.4873 449.0371 c +65.4307 449.1484 65.4639 449.2852 65.5674 449.3594 c +72.6934 454.4785 78.4824 462.291 81.4199 473.0566 c +88.6797 499.6563 77.3262 520.7921 61.2529 528.0146 c +61.1494 528.0605 61.0898 528.1689 61.1045 528.2803 c +61.1211 528.3926 61.208 528.4814 61.3193 528.4971 c +68.0742 529.4785 77.2617 528.6729 86.791 517.3486 c +92.4922 510.5732 95.7266 503.373 102.0137 501.6563 c +106.1211 500.5352 109.5098 501.9551 110.4121 505.2617 c +111.3613 508.7393 108.9961 511.8018 105.6523 512.7148 c +103.9648 513.1738 102.1621 513.1436 100.4141 512.6836 c +100.2988 512.6533 100.1816 512.7051 100.125 512.8086 c +100.0703 512.9121 100.0918 513.04 100.1797 513.1172 c +102.832 515.4746 106.8672 517.125 111.5703 515.8408 c +118.4902 513.9531 122.6602 506.457 120.4668 498.415 c +118.1035 489.7578 109.3691 484.5234 99.5859 487.1934 c +96.2324 488.1084 92.4492 490.168 89.7598 493.4648 C +91.5938 489.4551 93.0488 487.1855 96.8281 484.6133 C +95.8359 474.1035 91.3086 463.8271 83.4004 456.8389 C +89.2188 454.9863 93.6035 451.7207 96.5078 446.6855 c +96.5664 446.582 96.5449 446.4531 96.459 446.373 c +96.3691 446.293 96.2383 446.2832 96.1406 446.3535 c +89.1797 451.2344 76.9043 452.582 65.793 448.9121 c +f +49.1914 362.8809 m +45.1533 366.3105 43.9355 372.0469 45.4102 377.8672 c +45.4414 377.9883 45.5537 378.0684 45.6768 378.0566 c +45.8018 378.0469 45.8984 377.9492 45.9092 377.8281 c +46.0977 375.6543 46.9443 373.748 48.4912 372.4355 c +52.4707 369.0566 59.5557 370.834 64.4629 376.3828 c +64.5215 376.4492 64.6074 376.4805 64.6924 376.4668 c +64.7783 376.4531 64.8506 376.3984 64.8857 376.3203 c +67.1514 371.2539 72.1074 364.5938 85 361.0742 c +103.0234 356.1563 123.3789 363.1992 127.623 378.752 c +130.0488 387.6406 125.8301 396.4824 117.584 402.7109 C +122.0293 397.123 124.707 390.4238 122.6172 382.7695 c +119.5527 371.5391 105.1563 365.918 87.875 370.6348 c +71.582 375.0801 55.7061 391.748 59.8828 407.0547 c +62.1738 415.4492 70.6816 419.8887 79.4453 417.4961 c +87.2227 415.375 90.2832 409.1016 88.7324 403.4219 c +87.5664 399.1445 83.7402 397.0195 80.2148 396.9941 c +80.0957 396.9941 79.9922 397.0762 79.9648 397.1934 c +79.9414 397.3105 79.998 397.4277 80.1074 397.4785 c +81.1699 397.9688 82.1875 398.877 82.6504 400.5742 c +83.4258 403.4121 81.3906 405.5605 79.6348 406.0391 c +76.3018 406.9492 73.2822 405.1211 72.2705 401.416 c +70.8906 396.3574 75.3662 390.8906 82.5234 388.9355 c +91.4121 386.5117 101.8828 392.8066 104.207 401.3223 c +106.582 410.0254 101.3496 421.4648 86.9082 425.4063 c +72.7148 429.2813 53.792 424.0996 49.6152 408.793 c +47.1797 399.8691 49.1328 391.1875 54.207 383.5508 c +54.2734 383.4512 54.2607 383.3164 54.1748 383.2305 c +54.0879 383.1445 53.9531 383.1328 53.8525 383.2012 c +42.541 390.8828 30.1104 391.707 28.3262 385.1699 c +27.4531 381.9727 29.3037 379.7188 31.752 379.0508 c +34.2676 378.3652 36.8457 379.6289 38.0322 382.4883 c +38.0791 382.5996 38.2002 382.6641 38.3193 382.6406 c +38.4375 382.6133 38.5244 382.5098 38.5215 382.3867 c +38.4287 375.3477 33.0029 369.5625 26.1572 371.4316 c +20.1016 373.084 16.835 379.5488 18.6875 386.3359 c +21.4883 396.5977 33.6992 398.5391 43.0059 393.6504 C +37.6465 400.7715 34.1914 410.1035 37.252 421.3184 c +43.4502 444.0313 72.5039 448.4355 89.9082 443.6855 c +105.707 439.373 114.9512 433.4023 120.9082 424.6152 C +117.1074 434.0098 111.4414 439.0039 102.834 442.9434 C +96.3047 451.0918 100.5156 466.5195 v +102.2754 472.9707 106.3086 478.3418 112.1074 481.7793 C +112.1074 481.7813 112.1055 481.7842 112.1016 481.7871 C +112.1504 481.8105 112.1992 481.8379 112.2461 481.8613 C +112.6328 482.0879 113.0293 482.3057 113.4316 482.5146 C +119.4434 486.1211 126.4961 494.6973 125.2656 504.6113 c +125.252 504.7236 125.3145 504.832 125.418 504.877 c +125.5234 504.9219 125.6445 504.8896 125.7148 504.8018 c +130.3672 498.9629 130.2109 491.1104 127.8789 485.8857 C +131.7363 485.915 135.9082 485.375 140.3438 484.165 c +156.168 479.8457 165.0117 468.3135 167.9121 457.5566 C +172.4102 459.5977 178.0059 457.4043 180.9883 452.9199 c +181.0527 452.8184 181.041 452.6855 180.957 452.5996 c +180.873 452.5156 180.7402 452.5 180.6387 452.5645 c +175.7578 455.6914 169.9551 451.9648 168.4043 445.3496 c +168.377 445.2305 168.2676 445.1484 168.1445 445.1543 c +168.0215 445.1602 167.9199 445.2539 167.9063 445.377 c +166.5586 456.251 159.8223 465.0566 149.1836 467.96 c +138.0762 470.9922 127.2441 466.7852 124.3145 456.0469 c +121.9219 447.2832 127.5566 436.3301 137.5508 433.6016 c +145.3281 431.4785 151.0742 434.5527 152.5898 440.1074 c +153.9043 444.9199 151.6152 449.6563 147.666 450.7344 c +142.0176 452.2754 138.2383 446.4844 141.7832 441.877 c +141.8516 441.7852 141.8535 441.6602 141.7832 441.5684 c +141.7148 441.4766 141.5918 441.4434 141.4863 441.4863 c +137.3887 443.1465 134.2734 447.3418 135.5918 452.1729 c +136.8047 456.6152 141.7539 460.1729 149.6543 458.0166 c +159.0352 455.457 166.0801 443.8555 162.0371 429.043 c +156.5137 408.7988 130.6797 404.0449 115.1074 418.9043 C +119.5273 412.2617 124.4512 406.0098 135.4375 403.0117 c +156.1875 397.3496 175.8125 414.0332 174.1719 440.4902 c +174.1641 440.6152 174.25 440.7285 174.373 440.7539 c +174.4941 440.7813 174.6191 440.7129 174.6641 440.5977 c +177.7461 432.4922 183.0781 423.4316 195.2734 420.1035 c +207.9883 416.6328 219.2871 422.5664 222.8594 435.6504 c +225.6211 445.7734 221.2012 453.875 213.9199 455.8623 c +208.3652 457.3789 202.9414 455.0039 201.2598 448.8398 c +198.7559 439.6641 207.8828 433.8203 213.6406 437.3516 c +213.7383 437.4121 213.8672 437.3965 213.9492 437.3164 c +214.0332 437.2363 214.0508 437.1094 213.9922 437.0078 c +211.5449 432.7324 205.6797 429.5977 198.6543 431.5156 c +186.5566 434.8164 181.5996 448.2383 184.9668 460.5811 c +186.5449 466.3652 189.7676 471.502 194.168 475.1426 C +198.0293 473.5186 202.8379 473.6777 206.373 474.8867 C +199.2344 474.8154 188.8789 479.8262 191.6465 489.9707 c +193.1973 495.6533 198.5918 498.2188 203.7559 496.8086 c +209.8574 495.1436 211.2969 489.21 209.5684 485.1729 c +209.5215 485.0654 209.4102 485.0039 209.2969 485.0225 c +209.1816 485.04 209.0938 485.1318 209.082 485.2471 c +208.9141 486.9375 207.668 488.6836 205.7441 489.208 c +203.332 489.8662 201.3984 488.415 200.873 486.4854 c +200.0039 483.3066 203.0625 480.5752 207.2734 480.6211 C +207.2695 480.6094 L +210.2891 480.8984 213.5039 480.6445 216.8711 479.7266 c +233.041 475.3125 243.6641 453.5674 237.623 431.4375 c +231.248 408.0781 211.2051 400.2363 194.0469 404.9199 c +184.8477 407.4297 178.8223 412.7871 175.5898 418.4453 C +172.3887 398.668 160.8613 388.7793 147.2285 385.4707 C +144.7051 390.8008 139.7109 393.8867 Y +145.0859 386.8496 148.584 376.3477 145.1816 363.8809 c +140.0273 344.9961 117.4707 335.2344 97.5996 340.6582 c +84.9883 344.0996 73.9922 352.0801 68.3965 363.7266 C +61.9551 359.2266 54.1855 358.6406 49.1914 362.8809 c +f +*U +%AI6_EndPatternLayer +) & +(0 O 0 R 0 0 0 0 k + 0 0 0 0 K +) @ +( +%AI6_BeginPatternLayer +*u +0 J 0 j 1 w 10 M []0 d 0 XR +196.1289 436.9688 m +196.0039 436.9688 195.8984 436.877 195.8789 436.7539 c +193.5 420.7402 184.2266 407.3652 171.4883 399.3594 c +171.3848 399.2949 171.3398 399.1641 171.3867 399.0508 c +171.4316 398.9375 171.5527 398.8711 171.6719 398.8965 c +182.1445 401 191.4648 406.7598 198.1211 414.9277 C +202.7461 401.5508 213.3574 392.9219 226.4219 389.2734 C +221.6133 383.6816 224.1289 375.7402 231.541 374.4375 c +231.6543 374.416 231.7656 374.4746 231.8145 374.5781 c +231.8633 374.6816 231.8359 374.8066 231.748 374.8809 c +227.7754 378.2266 229.2285 386.3008 241.0859 386.3008 c +248.8794 386.3008 253.9067 383.1211 253.9067 378.8145 c +253.9067 375.4297 250.8442 373.584 248.2642 373.584 c +243.8501 373.584 241.3262 377.5449 243.2227 381.127 c +243.2773 381.2305 243.2559 381.3574 243.168 381.4355 c +243.0801 381.5137 242.9512 381.5215 242.8535 381.4551 c +240.6055 379.8906 239.0352 377.834 239.0352 374.6641 c +239.0352 369.2773 244.061 363.5352 252.3677 363.5332 c +261.2896 363.5332 269.3911 370.4043 269.3911 378.8145 c +269.3911 390.6309 259.3423 396.248 248.7778 397.248 C +253.1431 398.9219 256.4106 403.7734 v +256.4771 403.8691 256.4673 403.998 256.3892 404.084 c +256.311 404.1719 256.1841 404.1934 256.0825 404.1387 c +250.2524 401.0566 243.5938 399.3945 236.5801 399.3945 c +216.957 399.3945 200.0332 415.7988 196.3809 436.7607 c +196.3594 436.8818 196.252 436.9727 196.1289 436.9688 c +f +119.4512 384.5625 m +114.8438 376.8867 113.1992 363.7129 117.4941 353.8809 c +117.543 353.7695 117.5078 353.6406 117.4082 353.5703 c +117.3086 353.502 117.1758 353.5117 117.0879 353.5957 c +112.2813 358.1484 108.1484 368.7715 110.3828 381.0527 C +107.2871 383.4473 105.3379 385.8223 103.8691 389.0059 c +103.8223 389.1074 103.8496 389.2305 103.9355 389.3047 c +104.0215 389.377 104.1465 389.3848 104.2422 389.3203 c +109.2383 385.959 113.7051 384.8125 119.4512 384.5625 C +f +130.0586 504.3691 m +129.9902 504.4727 130.0078 504.6133 130.0996 504.6973 c +130.1934 504.7813 130.334 504.7852 130.4316 504.7061 c +137.2461 499.1797 146.3066 495.6504 157.4668 495.6504 c +185.0371 495.6504 202.4395 512.1689 205.1738 529.5771 c +205.1914 529.6885 205.2813 529.7734 205.3926 529.7891 c +205.5039 529.8047 205.6133 529.7422 205.6582 529.6396 c +208.3828 523.3818 210.0254 514.3057 201.6094 502.1309 c +196.5742 494.8457 190.4785 489.8311 190.4785 483.3145 c +190.4785 479.0566 192.7402 476.1602 196.168 476.1602 c +199.7734 476.1602 202.1055 479.248 202.1035 482.7148 c +202.1035 484.4629 201.5996 486.1934 200.6953 487.7607 c +200.6367 487.8633 200.6543 487.9902 200.7402 488.0723 c +200.8242 488.1523 200.9551 488.165 201.0527 488.1016 c +204.0254 486.1641 206.6797 482.7021 206.6797 477.8281 c +206.6797 470.6563 200.5469 464.6602 192.209 464.6602 c +183.2363 464.6602 175.8867 471.709 175.8867 481.8477 c +175.8867 485.3262 176.875 489.5156 179.3496 492.9805 C +175.9648 490.1523 174.1582 488.1523 172.6719 483.8271 C +162.2715 482.0186 151.166 483.6797 142.3398 489.4727 C +142.0859 483.3711 140.0898 478.2793 135.998 474.1533 c +135.9141 474.0684 135.7832 474.0547 135.6836 474.1182 c +135.582 474.1816 135.541 474.3066 135.5801 474.4189 c +138.457 482.4199 136.5234 494.6152 130.0586 504.3691 c +f +42.6934 497.7344 m +44.9375 502.5352 50.1523 505.2188 56.1543 505.3271 c +56.2793 505.3311 56.3867 505.2432 56.4082 505.1211 c +56.4316 504.998 56.3633 504.8779 56.248 504.8359 c +54.2012 504.082 52.5859 502.7637 51.7266 500.9258 c +49.5137 496.1973 53.0938 489.8301 59.7402 486.5566 c +59.8184 486.5186 59.8711 486.4434 59.8809 486.3594 c +59.8906 486.2725 59.8555 486.1885 59.791 486.1318 c +55.5 482.6143 50.3789 476.0781 50.3789 462.7148 c +50.377 444.0322 62.5332 426.25 78.6543 426.25 c +87.8672 426.25 95.2871 432.6465 99.125 442.2422 C +94.9023 436.4844 89.1445 432.1348 81.2109 432.1348 c +69.5703 432.1348 60.3574 444.5439 60.3555 462.459 c +60.3555 479.3457 72.2578 499.0518 88.1211 499.0508 c +96.8242 499.0488 103.3477 492.0117 103.3477 482.9277 c +103.3477 474.8672 98.1016 470.2637 92.2168 470.2637 c +87.7793 470.2637 84.7227 473.3936 83.7715 476.7871 c +83.7383 476.9023 83.791 477.0254 83.8965 477.0811 c +84.0039 477.1357 84.1328 477.1104 84.2109 477.0186 c +84.9629 476.124 86.1074 475.3809 87.8652 475.3809 c +90.8086 475.3789 92.3438 477.9082 92.3438 479.7285 c +92.3438 483.1836 89.7852 485.6152 85.9453 485.6152 c +80.7031 485.6152 76.6055 479.8564 76.6055 472.4385 c +76.6055 463.2236 85.4355 454.7813 94.2637 454.7813 c +103.2852 454.7813 112.9434 462.8408 112.9434 477.8125 c +112.9414 492.5234 102.9648 509.4141 87.0977 509.4141 c +77.8477 509.4141 69.9844 505.2441 63.9551 498.3398 c +63.875 498.248 63.7422 498.2246 63.6387 498.2852 c +63.5313 498.3477 63.4844 498.4727 63.5234 498.5879 c +67.957 511.5234 65.4766 523.7344 58.7031 523.7324 c +55.3887 523.7324 53.7012 521.3535 53.7012 518.8154 c +53.7012 516.21 55.5996 514.0566 58.6699 513.6611 c +58.791 513.6475 58.8828 513.5479 58.8926 513.4268 c +58.8984 513.3047 58.8184 513.1943 58.7012 513.1641 c +51.8867 511.4004 44.877 515.1133 44.877 522.2061 c +44.877 528.4854 50.2539 533.3398 57.2891 533.3398 c +67.9258 533.3379 73.0137 522.0684 70.748 511.8047 C +76.207 518.8486 84.3008 524.6396 95.9258 524.6396 c +119.4688 524.6396 131.3672 497.7715 131.3672 479.7285 c +131.3672 463.3525 128.041 452.8604 121.1309 444.8018 C +129.1934 450.9404 132.5195 457.7227 134.0547 467.0645 C +140.1953 475.5078 156.1875 475.5078 v +162.875 475.5078 169.1172 473.0322 173.9609 468.3438 C +173.9629 468.3447 173.9648 468.3477 173.9668 468.3486 C +174.002 468.3105 174.0391 468.2695 174.0762 468.2314 C +174.3965 467.915 174.7109 467.5918 175.0195 467.2578 C +180.0801 462.4102 190.2109 457.8633 199.4512 461.6602 c +199.5566 461.7031 199.6777 461.6699 199.748 461.582 c +199.8184 461.4932 199.8184 461.3672 199.752 461.2754 c +195.3457 455.252 187.7285 453.335 182.0742 454.21 C +183.1172 450.4941 183.6953 446.3281 183.6953 441.7305 c +183.6973 425.3262 174.8984 413.7598 165.2852 408.1289 C +168.4375 404.3281 167.7949 398.3535 164.2539 394.2949 c +164.1738 394.2051 164.043 394.1816 163.9375 394.2402 c +163.834 394.2988 163.7832 394.4238 163.8184 394.5391 c +165.5508 400.0703 160.4277 404.6875 153.6387 404.4395 c +153.5156 404.4355 153.4063 404.5195 153.3809 404.6406 c +153.3555 404.7617 153.418 404.8828 153.5332 404.9277 c +163.668 409.0918 170.3906 417.9102 170.3887 428.9355 c +170.3906 440.4492 163.4805 449.79 152.3496 449.79 c +143.2656 449.79 134.1816 441.4727 134.1816 431.1133 c +134.1816 423.0508 138.6582 418.3184 144.416 418.3164 c +149.4063 418.3184 153.373 421.7715 153.373 425.8672 c +153.373 431.7188 146.7891 433.8408 143.2773 429.209 c +143.209 429.1172 143.0859 429.084 142.9805 429.127 c +142.875 429.1689 142.8105 429.2773 142.8223 429.3926 c +143.3457 433.7813 146.5762 437.8926 151.582 437.8926 c +156.1875 437.8926 160.9219 434.0518 160.9219 425.8652 c +160.9219 416.1406 151.584 406.291 136.2305 406.2891 c +115.2461 406.2891 103.8594 429.959 114.0938 448.8945 C +108.8496 442.8809 104.1152 436.4844 104.1152 425.0977 c +104.1133 403.5898 125.3789 389.0488 150.4688 397.5977 c +150.5879 397.6367 150.7188 397.584 150.7754 397.4746 c +150.834 397.3633 150.8008 397.2266 150.6992 397.1523 c +143.6934 392.043 136.3555 384.5137 136.3555 371.873 c +136.3555 358.6934 145.0547 349.3535 158.6191 349.3535 c +169.1094 349.3535 175.7637 355.752 175.7637 363.2988 c +175.7637 369.0566 172.0449 373.6641 165.6563 373.6641 c +156.1426 373.6641 152.9082 363.3203 157.832 358.6953 c +157.916 358.6152 157.9355 358.4902 157.8809 358.3887 c +157.8242 358.2871 157.7051 358.2344 157.5938 358.2637 c +152.8242 359.5 148.2559 364.332 148.2559 371.6152 c +148.2539 384.1563 159.8965 392.4727 172.6914 392.4727 c +178.6875 392.4727 184.4902 390.7188 189.1641 387.4297 C +188.6113 383.2773 190.0313 378.6816 192.1309 375.5879 C +190.1816 382.457 192.291 393.7656 202.8027 393.7676 c +208.6953 393.7656 212.5898 389.2383 212.5898 383.8867 c +212.5898 377.5605 207.2441 374.6094 202.8945 375.2148 c +202.7793 375.2305 202.6895 375.3223 202.6758 375.4375 c +202.6641 375.5527 202.7305 375.6602 202.8379 375.7031 c +204.4238 376.3105 205.7813 377.9727 205.7813 379.9668 c +205.7813 382.4668 203.8691 383.9492 201.8691 383.9492 c +198.5762 383.9492 196.7461 380.2793 197.8984 376.2305 C +197.8867 376.2285 L +198.959 373.3926 199.5605 370.2246 199.5605 366.7363 c +199.5605 349.9746 181.3809 334.002 158.4395 334 c +134.2285 334 121.3867 351.2734 121.3887 369.0566 c +121.3887 378.5938 124.9688 385.8184 129.5762 390.4258 C +109.6543 388.3066 97.0781 396.8223 90.2969 409.1035 C +94.7754 412.9414 96.4375 418.5723 Y +91.0645 411.5352 81.8535 405.3945 68.9316 405.3945 c +49.3555 405.3945 34 424.5859 34 445.1836 c +34 458.2568 38.8027 470.9648 48.5645 479.4307 C +42.5273 484.459 39.918 491.8018 42.6934 497.7344 c +f +*U +%AI6_EndPatternLayer +) & +] E +%AI3_EndPattern +%AI5_End_NonPrinting-- +%AI5_Begin_NonPrinting +Np +%AI8_BeginBrushPattern +(New Pattern 11) 0 A +u +0 J 0 j 1 w 4 M []0 d 0 XR +-7844.6191 7768.6997 m +-7844.6191 7721.3188 L +-7892 7721.3188 L +-7892 7768.6997 L +-7844.6191 7768.6997 L +n +u +0 O +0 0 0 1 k +-7867.4058 7764.4551 m +-7869.1816 7764.4551 L +-7869.1816 7769 L +-7867.4058 7769 L +-7867.4058 7764.4551 L +f +-7867.4058 7757.6855 m +-7869.1816 7757.6855 L +-7869.1816 7762.23 L +-7867.4058 7762.23 L +-7867.4058 7757.6855 L +f +-7867.4058 7750.9185 m +-7869.1816 7750.9185 L +-7869.1816 7755.4629 L +-7867.4058 7755.4629 L +-7867.4058 7750.9185 L +f +-7867.4058 7744.1494 m +-7869.1816 7744.1494 L +-7869.1816 7748.6934 L +-7867.4058 7748.6934 L +-7867.4058 7744.1494 L +f +U +u +-7860.3809 7745.9238 m +-7860.3809 7744.146 L +-7864.9258 7744.146 L +-7864.9258 7745.9238 L +-7860.3809 7745.9238 L +f +-7846.8442 7745.9238 m +-7846.8442 7744.146 L +-7851.3882 7744.146 L +-7851.3882 7745.9238 L +-7846.8442 7745.9238 L +f +U +*u +1 D +-7855.4922 7744.146 m +-7853.6118 7744.146 L +-7853.6118 7745.9238 L +-7858.1558 7745.9238 L +-7858.1558 7744.146 L +-7857.3306 7744.146 L +-7858.4585 7741.2109 L +-7861.8838 7740.1733 L +-7862.3145 7740.0127 -7862.3818 7740.2061 -7862.4609 7740.5845 c +-7862.7915 7742.1582 -7864.0337 7742.5825 -7865.0703 7742.1934 c +-7866.1855 7741.7749 -7866.9023 7740.4141 -7866.4785 7739.2788 c +-7866.0825 7738.2236 -7865.0215 7737.9512 -7864.0439 7738.3184 c +-7863.2817 7738.6021 -7862.6255 7739.2949 -7861.8623 7739.5791 c +-7860.9824 7739.9102 -7859.7529 7739.7222 -7858.9312 7739.3164 C +-7858.9658 7738.8135 -7859.1592 7738.3164 -7859.3945 7737.8735 c +-7859.9458 7736.8408 -7860.4375 7736.3672 -7861.3984 7735.7168 c +-7861.7842 7735.439 -7862.2246 7735.1855 -7862.5625 7734.8359 c +-7863.1738 7734.2036 -7863.5186 7733.3398 -7863.1978 7732.478 c +-7862.8374 7731.5215 -7861.8345 7731.1597 -7860.9146 7731.5039 c +-7859.8184 7731.9165 -7859.0513 7733.3184 -7859.4746 7734.4512 c +-7859.7007 7735.0581 -7860.2271 7735.3301 -7860.3008 7735.5254 c +-7860.4395 7735.8984 -7859.4858 7736.5664 -7859.2671 7736.7598 c +-7858.6074 7737.3184 -7858.0845 7738.3628 -7857.6978 7739.1768 C +-7851.4033 7741.1309 L +-7850.0137 7741.6504 -7848.8535 7742.5967 -7848.0103 7743.8047 C +-7856.5176 7741.8037 L +-7855.4922 7744.146 L +f +0 D +-7860.0366 7734.1069 m +-7859.7524 7733.3452 -7860.3882 7732.3047 -7861.1113 7732.0332 c +-7861.8359 7731.7612 -7862.4214 7732.0781 -7862.6934 7732.8008 c +-7862.9863 7733.5845 -7862.1455 7734.6133 -7861.4199 7734.8838 c +-7860.7954 7735.1182 -7860.25 7734.6758 -7860.0366 7734.1069 c +f +-7864.2695 7738.8584 m +-7864.9146 7738.6172 -7865.6689 7738.8452 -7865.9185 7739.5117 c +-7866.2319 7740.3535 -7865.6685 7741.3452 -7864.8657 7741.6455 c +-7864.2002 7741.894 -7863.4302 7741.6255 -7863.1675 7740.9199 c +-7862.8232 7740.0024 -7863.4082 7739.1797 -7864.2695 7738.8584 c +f +*U +U +%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 4) 0 A +u +1 Ap +0 J 0 j 1 w 4 M []0 d 0 XR +-7845.6191 7770 m +-7845.6191 7722.6191 L +-7893 7722.6191 L +-7893 7770 L +-7845.6191 7770 L +n +u +0 O +0 0 0 1 k +-7888.4551 7747.2222 m +-7888.4551 7745.4453 L +-7893 7745.4453 L +-7893 7747.2222 L +-7888.4551 7747.2222 L +f +-7881.6865 7747.2222 m +-7881.6865 7745.4453 L +-7886.2314 7745.4453 L +-7886.2314 7747.2222 L +-7881.6865 7747.2222 L +f +-7874.9185 7747.2222 m +-7874.9185 7745.4453 L +-7879.4634 7745.4453 L +-7879.4634 7747.2222 L +-7874.9185 7747.2222 L +f +-7868.1494 7747.2222 m +-7868.1494 7745.4453 L +-7872.6934 7745.4453 L +-7872.6934 7747.2222 L +-7868.1494 7747.2222 L +f +-7861.3809 7747.2222 m +-7861.3809 7745.4453 L +-7865.9258 7745.4453 L +-7865.9258 7747.2222 L +-7861.3809 7747.2222 L +f +-7854.6113 7747.2222 m +-7854.6113 7745.4453 L +-7859.1558 7745.4453 L +-7859.1558 7747.2222 L +-7854.6113 7747.2222 L +f +-7847.8442 7747.2222 m +-7847.8442 7745.4453 L +-7852.3882 7745.4453 L +-7852.3882 7747.2222 L +-7847.8442 7747.2222 L +f +U +U +%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(Unnamed 6) 0 A +u +u +0 Ap +0 J 0 j 1 w 4 M []0 d 0 XR +-4020.5 3897.5 m +-3919.1816 3897.5 L +-3919.1816 3889.7832 L +-4020.5 3889.7832 L +-4020.5 3897.5 L +n +u +0 O +0 0 0 1 k +-3919.3 3891.2073 m +-3919.1504 3891.2434 -3919.2041 3890.8247 -3919.1816 3890.7495 C +-3919.4319 3890.8423 -3919.2937 3891.3159 -3919.3 3891.2073 C +f +-3921.7693 3892.1582 m +-3921.7256 3891.9871 L +-3922.0896 3892.4063 L +-3921.7693 3892.1582 L +f +-3924.0784 3892.1504 m +-3923.8601 3892.8643 -3923.2417 3892.0352 -3922.8303 3892.2891 C +-3922.7625 3892.4514 L +-3922.5769 3891.8774 L +-3923.0769 3891.9683 -3923.7263 3892.3496 -3924.0784 3892.1504 C +f +-3925.3096 3890.6062 m +-3925.2336 3890.8843 -3925.5759 3890.8455 -3925.0225 3890.6936 C +-3925.0503 3890.6631 -3925.0583 3890.6455 -3925.0745 3890.6233 C +-3925.1243 3890.6272 -3925.1929 3890.6262 -3925.3096 3890.6062 C +f +-3925.0745 3890.6233 m +-3924.8313 3890.6033 -3925.2336 3890.3894 -3925.0745 3890.6233 C +-3925.0745 3890.6233 L +f +-3926.1975 3890.7822 m +-3925.8772 3890.5342 L +-3925.9441 3890.3699 -3926.2292 3890.3333 -3926.1233 3890.2139 C +-3926.4519 3890.3496 -3926.3843 3890.5127 -3926.1975 3890.7822 C +f +-3926.5012 3891.3032 m +-3926.3352 3891.1982 L +-3926.3643 3891.1294 -3926.4082 3891.1055 -3926.5012 3891.3032 C +f +-3925.9832 3890.9768 m +-3926.3352 3891.1982 L +-3926.2888 3891.3135 -3926.2839 3891.5447 -3926.1736 3891.1184 C +-3926.2024 3891.3296 -3926.1328 3891.1262 -3925.9832 3890.9768 C +f +-3925.7839 3891.0854 m +-3925.6042 3891.2407 -3925.3721 3891.3384 -3925.6936 3891.5854 C +-3925.0808 3891.4871 -3925.1711 3890.9856 -3925.7839 3891.0854 C +f +-3924.1963 3892.8887 m +-3923.9561 3893.0974 L +-3923.7483 3892.8584 L +-3923.8521 3892.9771 -3924.2112 3892.6653 -3924.1963 3892.8887 C +f +-3928.1929 3890.4126 m +-3928.2129 3890.5642 -3928.0852 3890.8174 -3928.0613 3891.0115 C +-3927.8247 3890.8374 L +-3927.9463 3890.7334 -3928.1768 3890.6375 -3928.1929 3890.4126 C +f +-3928.0613 3891.0115 m +-3928.4153 3891.2722 L +-3928.0991 3891.3032 -3928.0413 3891.1792 -3928.0613 3891.0115 C +f +-3926.5583 3892.0955 m +-3925.9768 3891.5479 L +-3926.6704 3892.1033 L +-3926.5583 3892.0955 L +f +-3929.5449 3890.3936 m +-3929.3442 3890.0422 L +-3929.7017 3890.573 L +-3929.5449 3890.3936 L +f +-3930.4417 3890.4551 m +-3930.2932 3890.1638 -3930.6453 3889.9624 -3930.4883 3889.7832 C +-3930.7319 3889.8352 -3930.9399 3890.0854 -3931.1272 3890.3098 C +-3930.9282 3890.1848 -3930.7161 3890.2168 -3930.4417 3890.4551 C +f +-3931.4417 3890.6375 m +-3931.3423 3890.5679 -3931.2393 3890.4426 -3931.1272 3890.3098 C +-3931.2329 3890.3774 -3931.3369 3890.4739 -3931.4417 3890.6375 C +f +-3929.0183 3891.197 m +-3929.0457 3891.1055 -3929.0984 3890.865 -3929.2969 3890.7634 C +-3929.1577 3891.1907 L +-3929.1152 3891.1936 -3929.0671 3891.1951 -3929.0183 3891.197 C +f +-3929.1528 3891.2046 m +-3929.1577 3891.1907 L +-3929.3088 3891.1814 -3929.4136 3891.1719 -3929.4585 3891.1672 c +-3929.4199 3891.1707 -3929.3279 3891.1814 -3929.1528 3891.2046 C +f +-3928.9832 3891.1992 m +-3928.9961 3891.1982 -3929.0056 3891.197 -3929.0183 3891.197 C +-3929.0049 3891.239 -3928.9968 3891.2534 -3928.9832 3891.1992 C +f +-3927.4863 3891.7092 m +-3927.6943 3891.948 -3928.1279 3892.2039 -3927.7083 3892.5684 C +-3927.5591 3892.2759 -3927.7993 3892.0684 -3927.4863 3891.7092 c +f +-3928.8103 3891.7334 m +-3928.4343 3891.8311 L +-3928.4417 3891.7183 -3928.5095 3891.5535 -3928.4065 3891.4351 C +-3928.8103 3891.7334 L +f +-3928.9944 3891.8691 m +-3928.8103 3891.7334 L +-3928.9497 3891.697 L +-3928.9944 3891.8691 L +f +-3930.7976 3891.0376 m +-3930.96 3891.2234 -3931.1377 3891.239 -3931.3384 3891.2693 C +-3931.1233 3891.3533 -3930.9009 3891.3982 -3930.6897 3891.3975 C +-3930.6599 3891.2632 -3930.5671 3891.0222 -3930.7976 3891.0376 C +f +-3929.9983 3891.1563 m +-3930.0095 3891.1663 -3930.0239 3891.1707 -3930.0344 3891.1807 C +-3930.0122 3891.2168 -3929.9944 3891.2283 -3929.9983 3891.1563 C +f +-3933.3142 3891.2659 m +-3933.3032 3891.2896 -3933.2937 3891.3186 -3933.2825 3891.344 C +-3933.28 3891.3186 -3933.2783 3891.2947 -3933.2751 3891.27 C +-3933.3142 3891.2659 L +f +-3930.6536 3891.4771 m +-3930.4919 3891.5596 -3930.3953 3891.4551 -3930.3032 3891.323 C +-3930.4241 3891.3662 -3930.5522 3891.3943 -3930.6897 3891.3975 C +-3930.7031 3891.4583 -3930.7056 3891.4983 -3930.6536 3891.4771 C +f +-3931.9929 3890.8374 m +-3931.9087 3890.9268 -3931.8132 3891.0022 -3931.7129 3891.0723 C +-3931.7952 3890.9373 -3931.9631 3890.7258 -3931.9929 3890.8374 C +f +-3930.0889 3891.0623 m +-3930.0808 3891.0554 -3930.0735 3891.0479 -3930.0647 3891.0435 C +-3930.1177 3890.9514 -3930.1111 3890.9966 -3930.0889 3891.0623 C +f +-3930.0889 3891.0623 m +-3930.1721 3891.1243 -3930.2375 3891.2295 -3930.3032 3891.323 C +-3930.2048 3891.2896 -3930.1135 3891.2434 -3930.0344 3891.1807 C +-3930.0544 3891.1504 -3930.0745 3891.1042 -3930.0889 3891.0623 C +f +-3933.9128 3894.009 m +-3933.8843 3893.613 -3933.4592 3893.2471 -3933.0923 3893.6719 C +-3932.7312 3893.3752 -3932.9673 3892.0723 -3933.2825 3891.344 C +-3933.2937 3891.5166 -3933.2937 3891.6763 -3933.6653 3891.9104 C +-3933.5352 3892.1262 -3932.8408 3892.4163 -3933.1543 3892.7744 C +-3933.6465 3892.9783 -3933.5576 3892.6343 -3933.7969 3892.4248 C +-3933.5935 3892.9182 -3934.4231 3893.1431 -3934.3159 3893.8687 C +-3933.8843 3893.613 L +-3933.8762 3893.7258 -3934.0327 3893.9063 -3933.9128 3894.009 C +f +-3932.5745 3891.3843 m +-3932.4216 3891.3352 L +-3932.5959 3891.2659 -3932.7207 3891.1079 -3932.9504 3890.7979 C +-3933.2048 3890.9912 -3933.2576 3891.1382 -3933.2751 3891.27 C +-3932.5222 3891.3252 L +-3932.5745 3891.3843 L +f +-3931.7351 3891.3335 m +-3931.8545 3891.7646 -3932.2217 3891.948 -3931.9968 3892.4138 C +-3931.5481 3892.3843 -3931.6824 3892.0542 -3931.4143 3891.8672 C +-3932.1384 3891.9739 -3931.2063 3891.6272 -3931.7295 3891.3828 C +-3931.5872 3891.3096 -3931.4592 3891.2871 -3931.3384 3891.2693 C +-3931.4688 3891.2168 -3931.5945 3891.1519 -3931.7129 3891.0723 C +-3931.7063 3891.0823 -3931.7017 3891.0896 -3931.6963 3891.0991 C +-3931.6929 3891.0974 L +-3931.6929 3891.1006 -3931.6936 3891.1016 -3931.6936 3891.1042 C +-3931.6624 3891.1582 -3931.6521 3891.1907 -3931.6873 3891.1594 C +-3931.6897 3891.1653 -3931.6985 3891.1672 -3931.7024 3891.1682 C +-3931.7073 3891.2283 -3931.7207 3891.2808 -3931.7351 3891.3311 C +-3931.9448 3891.2422 -3931.7681 3891.219 -3931.7024 3891.1682 C +-3931.7 3891.1475 -3931.6943 3891.1272 -3931.6936 3891.1042 C +-3931.6943 3891.1018 -3931.6953 3891.1006 -3931.6963 3891.0991 C +-3932.4216 3891.3352 L +-3932.2681 3891.3953 -3932.0759 3891.3828 -3931.7351 3891.3335 C +f +-3928.0952 3893.4951 m +-3928.1177 3893.4573 -3928.1167 3893.4263 -3928.1184 3893.3953 C +-3928.1653 3893.448 -3928.1831 3893.4839 -3928.0952 3893.4951 C +f +-3928.3936 3893.2346 m +-3928.3408 3893.1748 -3928.2969 3893.0022 -3928.1255 3893.0466 C +-3927.9768 3893.1763 -3928.1262 3893.2534 -3928.1184 3893.3953 C +-3928.0151 3893.2808 -3927.7568 3893.0859 -3928.0808 3892.8762 C +-3928.1321 3892.9351 L +-3928.4241 3892.7871 -3928.7993 3892.2495 -3928.7483 3892.1902 C +-3928.6631 3892.5779 -3928.5879 3892.8542 -3928.3936 3893.2346 C +f +-3930.0852 3892.3943 m +-3930.6892 3892.6055 L +-3930.3816 3892.9783 L +-3930.3972 3892.7544 L +-3930.0537 3892.8423 -3930.1279 3892.5664 -3930.0852 3892.3943 C +f +-3933.3833 3891.052 m +-3933.3032 3890.5967 L +-3933.6521 3891.239 L +-3933.3833 3891.052 L +f +-3934.1682 3891.1062 m +-3934.1392 3890.7102 L +-3934.3464 3890.9492 L +-3934.1682 3891.1062 L +f +-3978.4617 3896.0166 m +-3978.6392 3896.1287 L +-3978.5552 3896.0942 -3978.5012 3896.0566 -3978.4617 3896.0166 C +f +-3977.1768 3896.0435 m +-3977.1453 3895.8486 L +-3977.2048 3895.9558 -3977.2292 3896.0352 -3977.1768 3896.0435 C +f +-3953.4456 3891.1506 m +-3953.7041 3890.781 -3953.9929 3890.2083 -3953.9617 3890.6531 C +-3953.8823 3891.0867 L +-3953.7017 3891.009 -3953.5632 3891.0576 -3953.4456 3891.1506 C +f +-3966.6479 3893.7412 m +-3966.6233 3893.7832 -3966.5977 3893.8286 -3966.5723 3893.8733 C +-3966.5095 3893.7246 -3966.4504 3893.5867 -3966.3977 3893.4583 C +-3966.4729 3893.5466 -3966.5583 3893.6416 -3966.6479 3893.7412 C +f +-3966.8303 3895.5366 m +-3967.1711 3895.2566 L +-3967.0945 3895.3542 -3966.9849 3895.448 -3966.8303 3895.5366 C +f +-3985.4792 3896.4768 m +-3985.6863 3896.9182 L +-3985.3623 3896.9163 -3985.5049 3896.6936 -3985.4792 3896.4768 C +f +-3942.2073 3891.2659 m +-3942.4304 3891.0967 -3942.6079 3891.0254 -3942.7639 3891.0044 C +-3942.4951 3891.2534 -3942.2783 3891.6272 -3942.2073 3891.2659 C +f +-3977.9561 3891.4126 m +-3978.0647 3891.4912 -3978.1111 3891.5796 -3978.1079 3891.6763 C +-3977.9961 3891.6018 -3977.9329 3891.5193 -3977.9561 3891.4126 C +f +-3943.4082 3891.0059 m +-3943.3689 3891.0491 -3943.3303 3891.071 -3943.2903 3891.1079 C +-3943.1272 3891.0352 -3942.9631 3890.9768 -3942.7639 3891.0044 C +-3942.9624 3890.8186 -3943.1897 3890.7046 -3943.4082 3891.0059 C +f +-4010.9297 3896.1172 m +-4010.9482 3896.0974 -4010.9705 3896.0884 -4010.9873 3896.0654 C +-4010.9929 3896.1243 -4010.9673 3896.1272 -4010.9297 3896.1172 C +f +-4018.3442 3891.739 m +-4018.2712 3891.7124 -4018.1521 3891.7119 -4018.0398 3891.7058 C +-4018.0945 3891.6763 -4018.1863 3891.6792 -4018.3442 3891.739 c +f +-3937.3264 3890.9172 m +-3937.1599 3890.8887 -3937.3 3890.8691 -3937.3264 3890.9172 C +-3937.3264 3890.9172 L +f +-3936.5168 3892.6328 m +-3936.5522 3892.6814 -3936.5791 3892.7434 -3936.5833 3892.844 C +-3936.5696 3892.739 -3936.5464 3892.6726 -3936.5168 3892.6328 c +f +-3945.0664 3893.7058 m +-3945.0713 3893.7058 -3945.0752 3893.7046 -3945.0808 3893.7046 C +-3945.0313 3893.7896 -3945.0398 3893.7734 -3945.0664 3893.7058 C +f +-3937.0759 3891.1143 m +-3937.1384 3891.0613 -3937.2104 3891.0166 -3937.2888 3890.9856 C +-3937.2544 3891.0193 -3937.1897 3891.0613 -3937.0759 3891.1143 C +f +-3937.1096 3890.9092 m +-3937.0522 3890.9287 -3937.0071 3890.9395 -3936.9641 3890.9512 C +-3936.9431 3890.8787 -3936.9617 3890.8335 -3937.1096 3890.9092 C +f +-3937.5583 3890.9402 m +-3937.4631 3890.9336 -3937.3743 3890.9539 -3937.2888 3890.9856 C +-3937.3215 3890.9558 -3937.3352 3890.9314 -3937.3264 3890.9172 C +-3937.3752 3890.9238 -3937.4441 3890.9326 -3937.5583 3890.9402 c +f +-3997.2932 3894.9558 m +-3997.3042 3894.9424 -3997.3169 3894.9336 -3997.3289 3894.9153 C +-3997.4968 3895.0952 -3997.4231 3895.0664 -3997.2932 3894.9558 C +f +-3957.7783 3895.6563 m +-3957.7705 3895.6519 -3957.7664 3895.6406 -3957.7593 3895.635 C +-3957.7671 3895.6306 -3957.7769 3895.6252 -3957.7839 3895.6199 C +-3957.7783 3895.6563 L +f +-3958.3762 3895.9795 m +-3958.1216 3895.4395 -3957.9768 3895.5059 -3957.7839 3895.6199 C +-3957.9817 3894.3691 L +-3958.3762 3895.9795 L +f +*u +-3981.5383 3896.1416 m +-3981.1184 3896.531 L +-3981.6252 3897.1726 -3981.9919 3896.9514 -3981.5977 3897.5 C +-3981.5383 3896.1416 -3979.9656 3897.3606 -3979.9072 3896.0039 C +-3979.6304 3896.2896 L +-3979.7097 3896.2764 -3979.7224 3896.3562 -3979.8008 3896.3428 C +-3979.2625 3896.9932 -3979.4009 3895.3606 -3978.7073 3895.5542 C +-3978.4656 3895.6582 -3978.2969 3895.8555 -3978.4617 3896.0166 C +-3977.9231 3895.6807 L +-3977.7664 3895.7073 -3977.8047 3895.9426 -3977.9607 3895.9172 C +-3977.1392 3895.8086 L +-3977.1453 3895.8486 L +-3977.0281 3895.635 -3976.7625 3895.3064 -3976.6328 3895.1663 C +-3976.4241 3895.3606 -3976.7375 3895.3098 -3976.6841 3895.4795 C +-3976.2292 3895.1504 L +-3976.0439 3895.5022 -3976.4209 3895.844 -3976.7351 3895.7935 C +-3976.3103 3897.1494 -3976.3577 3895.4514 -3975.4409 3896.2434 C +-3975.8704 3896.4163 L +-3975.5935 3897.1863 -3975.2583 3896.907 -3974.7727 3897.3875 C +-3974.8879 3897.1367 -3975.7449 3896.177 -3975.2512 3895.8386 C +-3975.1121 3895.9414 -3974.9287 3895.9902 -3974.6624 3895.7168 C +-3974.6599 3896.1995 -3974.3999 3896.0811 -3974.0745 3896.0535 C +-3974.0967 3896.6936 L +-3973.7449 3896.5088 -3973.7727 3896.1831 -3973.5657 3895.8953 C +-3973.1736 3895.9583 -3973.0923 3896.4536 -3973 3896.8711 C +-3972.3721 3896.9727 -3973.4336 3896.0767 -3972.6904 3895.9558 C +-3972.1682 3896.2007 -3971.8015 3895.9395 -3971.1768 3895.5566 C +-3970.8113 3895.7766 -3971.2407 3895.948 -3971.1096 3896.1306 C +-3970.7856 3895.6206 L +-3970.7063 3895.6328 -3970.7319 3895.7896 -3970.7449 3895.8687 C +-3970.4719 3895.6707 -3970.7224 3895.2295 -3970.2932 3895.0554 C +-3970.1775 3894.3511 -3969.4121 3896.0854 -3968.8809 3895.2852 C +-3968.75 3895.4668 -3968.9441 3895.677 -3968.9041 3895.9248 C +-3968.1753 3895.3999 -3968.2793 3895.5435 -3967.6809 3894.8367 C +-3967.1711 3895.2566 L +-3967.5457 3894.7764 -3967.0671 3894.2083 -3966.6479 3893.7412 C +-3966.7808 3893.509 -3966.8943 3893.3064 -3966.9705 3893.2095 C +-3966.3015 3892.8662 L +-3966.2207 3892.9712 -3966.2881 3893.1907 -3966.3977 3893.4583 C +-3966.3521 3893.405 -3966.3088 3893.3533 -3966.2751 3893.3047 C +-3966.0359 3893.5413 -3966.1599 3893.9104 -3966.3313 3894.2676 C +-3966.4128 3894.1416 -3966.4937 3894.0066 -3966.5723 3893.8733 C +-3966.7375 3894.2615 -3966.8921 3894.6919 -3966.8577 3895.0664 C +-3966.8142 3894.9927 -3966.7305 3894.9292 -3966.6384 3894.8936 C +-3966.6816 3894.9993 -3966.7092 3895.093 -3966.6892 3895.157 c +-3966.6665 3895.2246 -3966.5967 3895.0833 -3966.4873 3894.9199 C +-3966.3352 3895.6328 L +-3966.2983 3895.3496 L +-3965.4231 3895.7959 L +-3964.7969 3895.0779 -3964.2522 3894.0215 -3963.2583 3893.7271 C +-3963.5049 3894.25 -3963.3113 3894.5811 -3963.3247 3895.2007 C +-3963.5959 3894.5447 -3964.0945 3895.4795 -3964.6096 3895.3462 c +-3964.3408 3895.4153 -3964.3999 3895.7102 -3964.4683 3895.8135 C +-3963.5496 3895.2168 L +-3963.5703 3895.7234 -3963.3545 3895.5967 -3963.1145 3895.8064 C +-3963.2959 3894.8047 -3962.4297 3895.1392 -3962.0559 3894.8323 C +-3962.0327 3895.1682 -3962.1223 3895.5115 -3962.5784 3895.4307 C +-3962.0752 3896.1848 -3961.9282 3894.2544 -3961.4343 3894.8953 C +-3961.5457 3894.9031 -3961.6057 3894.8516 -3961.6497 3895.0222 C +-3961.3896 3894.7234 -3960.7537 3894.9602 -3960.9033 3895.2534 C +-3961.0144 3895.2603 L +-3960.2751 3895.3787 -3958.7639 3895.2676 -3958.6536 3894.4172 C +-3958.6462 3894.5266 -3958.7505 3895.4424 -3958.7952 3895.6143 C +-3957.4761 3892.7522 L +-3957.5923 3893.4827 -3957.1462 3895.2227 -3957.7593 3895.635 C +-3957.5833 3895.739 -3957.3655 3895.8606 -3956.9944 3895.6033 C +-3957.1145 3895.4993 -3957.2937 3894.5466 -3957.1296 3894.48 C +-3956.6792 3895.2935 -3956.8169 3894.9153 -3956.2617 3895.6084 C +-3956.4417 3895.4514 -3956.2417 3894.3064 -3955.9573 3894.3428 C +-3956.0017 3894.5144 -3955.9336 3895.4734 -3956.0376 3895.5928 C +-3955.3296 3894.4683 L +-3955.5063 3894.6707 -3955.3608 3895.4214 -3955.2024 3895.739 C +-3955.2759 3895.5193 -3954.5903 3895.76 -3954.4016 3895.6482 C +-3954.7017 3895.3875 L +-3953.9023 3895.5576 -3953.9121 3893.8064 -3953.1191 3893.865 C +-3953.2151 3894.0974 -3953.3562 3895.2947 -3952.9529 3895.4363 C +-3952.7681 3894.8604 -3952.1345 3892.6663 -3951.4329 3892.2227 C +-3951.2983 3892.552 L +-3950.76 3892.1768 L +-3951.0952 3893.0435 -3952.0359 3894.8672 -3952.5496 3895.5767 C +-3952.2505 3895.8374 -3952.4663 3895.9646 -3952.0183 3895.9351 C +-3951.8601 3896.2434 -3952.2625 3896.4031 -3952.3943 3896.4214 C +-3951.3513 3896.6206 L +-3951.3977 3895.948 -3950.5537 3895.9463 -3950.5935 3895.3862 C +-3951.7263 3896.0833 L +-3951.7722 3895.4119 -3951.0713 3894.1748 -3950.3323 3894.2935 C +-3950.1443 3894.5613 -3950.4729 3895.4902 -3950.4575 3895.7144 C +-3950.3616 3895.4827 -3949.7561 3895.2722 -3949.6882 3895.4363 C +-3950.0017 3895.7959 L +-3949.5903 3896.0486 -3949.3303 3894.9048 -3948.8359 3895.5464 C +-3948.6653 3895.5896 -3948.3264 3896.4119 -3948.2969 3896.0144 C +-3948.5752 3895.2471 -3948.6296 3892.8743 -3948.4441 3892.2979 C +-3948.3843 3892.3496 -3947.5481 3893.031 -3947.3533 3893.4104 C +-3947.0723 3894.0115 -3947.7751 3894.844 -3947.5359 3895.3604 C +-3947.5256 3895.1768 -3947.3704 3894.9502 -3947.3057 3894.8774 C +-3947.1265 3895.0342 -3947.3799 3895.4463 -3946.9905 3895.363 C +-3946.9255 3894.6814 -3946.1985 3895.4207 -3946.8064 3894.7871 C +-3946.4255 3894.5923 -3946.4016 3894.927 -3945.9543 3894.8975 C +-3946.0967 3894.4573 -3945.5527 3893.3982 -3945.1711 3893.2039 C +-3945.1936 3893.3774 -3945.1079 3893.6033 -3945.0664 3893.7058 C +-3944.2856 3893.7676 -3943.8665 3894.0771 -3943.1384 3894.0833 C +-3943.0713 3894.2483 -3942.72 3894.448 -3942.8696 3894.7412 C +-3942.7649 3894.6206 -3942.6687 3894.3894 -3942.4441 3894.3733 C +-3942.0095 3894.9624 -3942.9448 3894.4646 -3942.6135 3895.1726 C +-3942.5852 3894.7766 -3942.0327 3894.6262 -3941.7129 3894.3787 C +-3941.8113 3893.7671 -3942.4519 3894.2615 -3942.7722 3894.5088 C +-3942.7737 3893.6653 -3942.2161 3892.781 -3941.4551 3892.3911 C +-3940.8503 3892.1814 -3941.1929 3892.9363 -3941.0879 3892.8164 C +-3939.9519 3892.9639 -3940.1201 3891.3428 -3939.1768 3891.9514 C +-3938.8025 3892.489 -3939.1599 3893.0215 -3939.0769 3893.4092 C +-3939.5696 3893.6128 -3939.8333 3893.0679 -3940.1672 3893.0896 C +-3939.7561 3893.344 L +-3939.9128 3893.5222 -3940.2417 3893.6582 -3940.4209 3893.5022 C +-3940.1072 3893.9856 -3938.5017 3893.5952 -3937.6252 3894.0413 C +-3937.4695 3893.8606 -3937.2007 3893.6743 -3937.3279 3893.4583 C +-3937.6052 3893.5332 L +-3937.8601 3893.0996 -3937.0833 3892.9336 -3937.4343 3892.7312 C +-3937.0623 3892.4263 -3936.6453 3891.947 -3936.1216 3892.1924 C +-3936.0232 3892.8054 L +-3936.0344 3892.6262 -3936.3655 3892.4402 -3936.5127 3892.6272 c +-3936.2944 3892.3555 -3935.7097 3893.4573 -3935.4705 3892.6543 C +-3935.8376 3892.2295 L +-3935.4641 3891.9214 -3935.0024 3891.2703 -3934.5383 3891.4639 C +-3934.7495 3890.8584 -3934.6453 3891.5332 -3934.9751 3890.8247 C +-3934.6892 3891.7058 -3936.1624 3890.7876 -3935.7031 3891.7139 C +-3936.0415 3890.8916 -3936.2888 3891.365 -3936.7312 3890.6638 C +-3936.7175 3890.8662 -3936.5745 3891.0508 -3936.9641 3890.9512 C +-3936.9817 3891.0103 -3937.0232 3891.0854 -3937.0496 3891.1294 C +-3937.0615 3891.1243 -3937.0657 3891.1206 -3937.0759 3891.1143 C +-3937.0681 3891.1218 -3937.0623 3891.1306 -3937.0544 3891.1382 C +-3937.0713 3891.1682 -3937.0728 3891.1748 -3937.0464 3891.1462 C +-3936.9536 3891.2346 -3936.8784 3891.3411 -3936.8479 3891.4539 C +-3937.0413 3891.9182 -3937.6609 3891.9038 -3937.8704 3892.1443 C +-3938.1016 3892.0479 -3937.7737 3891.9119 -3937.8999 3891.6963 C +-3938.2129 3892.0554 L +-3938.2439 3891.6062 -3938.8271 3891.3096 -3938.2825 3891.0464 C +-3938.7727 3891.0264 L +-3939.0613 3890.7744 -3939.4583 3890.6743 -3939.7031 3890.863 C +-3939.9343 3890.7659 -3940.2871 3891.3604 -3940.0857 3891.0088 C +-3940.8545 3891.2871 L +-3940.8616 3891.1748 L +-3941.6201 3891.1184 -3942.4231 3891.9182 -3943.2903 3891.1079 C +-3943.5457 3891.2212 -3943.8096 3891.3599 -3944.2368 3891.2324 C +-3944.3201 3890.844 L +-3944.6479 3890.9795 -3945.3047 3890.4551 -3945.4456 3890.8599 C +-3945.7993 3889.8142 -3947.0369 3890.6318 -3947.6135 3890.4463 C +-3947.6353 3890.9536 L +-3948.0322 3890.9248 -3948.4128 3891.0686 -3948.9055 3891.2722 C +-3948.8752 3891.7207 L +-3949.3 3892.0886 -3949.9673 3891.4019 -3950.6392 3891.448 C +-3950.5935 3891.2764 -3950.4231 3891.321 -3950.3025 3891.4248 C +-3951.1052 3890.4119 -3951.9961 3892.1616 -3952.7241 3891.4238 C +-3952.9055 3891.5867 -3953.0369 3891.531 -3953.1641 3891.4182 C +-3953.1472 3891.4175 -3953.1321 3891.4092 -3953.1191 3891.3953 C +-3953.1377 3891.3894 -3953.1653 3891.3887 -3953.1936 3891.3894 C +-3953.2737 3891.3123 -3953.3562 3891.2227 -3953.4456 3891.1506 C +-3953.3696 3891.26 -3953.2969 3891.3496 -3953.2336 3891.3911 C +-3953.3735 3891.4004 -3953.5857 3891.4558 -3953.7937 3891.5684 C +-3953.8823 3891.0867 L +-3953.8992 3891.093 -3953.9128 3891.0923 -3953.9304 3891.1006 C +-3954.1345 3890.9226 -3954.0945 3891.3286 -3953.9856 3891.6907 C +-3954.0903 3891.77 -3954.1863 3891.865 -3954.2607 3891.9814 C +-3954.4265 3891.2039 -3954.8064 3892.2432 -3955.0327 3891.4138 C +-3955.1729 3891.8184 -3956.0784 3891.7183 -3956.1892 3892.5686 C +-3956.1963 3892.4583 -3956.2576 3892.405 -3956.1453 3892.3982 C +-3956.3772 3892.301 -3956.6089 3892.2046 -3956.8169 3892.4443 C +-3956.9153 3891.8323 L +-3957.4216 3892.655 L +-3957.7292 3892.2822 -3957.8567 3892.0654 -3957.5513 3891.5942 C +-3958.2888 3892.3186 -3958.1497 3891.8672 -3958.7769 3892.5854 C +-3958.7463 3892.1895 L +-3958.9705 3892.2046 -3959.3289 3892.7346 -3959.4641 3892.4075 C +-3959.9656 3891.655 -3961.9456 3892.3035 -3963.2329 3891.6042 C +-3962.9832 3892.77 -3963.8313 3891.0823 -3963.8823 3891.9856 C +-3963.9573 3891.71 -3964.1367 3891.5542 -3963.9282 3891.3142 C +-3964.5852 3891.5854 -3964.9153 3890.8774 -3965.3689 3891.6392 C +-3965.4441 3891.3623 -3965.2283 3891.2346 -3965.2952 3891.071 C +-3965.3479 3891.1306 -3965.5039 3891.3113 -3965.5723 3891.1462 c +-3965.6392 3890.9824 -3965.4761 3890.9153 -3965.3721 3890.7947 C +-3966.0432 3890.8411 -3966.1111 3891.6907 -3966.1599 3892.4883 C +-3966.5 3892.1106 -3966.6697 3892.1638 -3966.9153 3892.6873 C +-3967.0337 3892.4263 -3967.2312 3892.1531 -3966.8142 3892.0596 C +-3967.0488 3892.0215 -3968.2473 3891.677 -3968.2712 3892.3164 C +-3968.3447 3892.1543 -3968.5991 3892.2693 -3968.6609 3892.3428 C +-3969.1873 3892.3047 -3969.2336 3892.2471 -3969.7505 3892.3076 C +-3969.6072 3892.4119 L +-3969.8113 3893.1831 -3970.0369 3892.5842 -3970.4536 3892.6768 C +-3970.4417 3892.5974 L +-3971.3972 3892.0415 -3970.8542 3892.8643 -3971.7969 3892.2295 C +-3971.7456 3892.7092 L +-3971.8335 3893.7407 -3972.5808 3892.1006 -3973.1279 3892.4951 C +-3972.9304 3892.7693 L +-3973.2292 3893.1218 -3973.7656 3891.3662 -3974.0657 3891.2371 C +-3974.1311 3891.1475 -3973.9624 3891.093 -3973.8711 3891.0266 C +-3974.6567 3890.4182 -3973.9729 3891.655 -3974.5583 3891.801 C +-3974.6663 3891.4624 -3974.4192 3890.9395 -3974.8132 3890.8762 C +-3975.0095 3890.6018 -3975.9561 3891.9768 -3976.4937 3891.3267 C +-3976.3752 3891.5879 -3976.2576 3891.8486 -3976.5295 3892.0447 C +-3976.9463 3892.1382 -3977.6563 3891.0576 -3978.0327 3891.8806 C +-3978.0857 3891.8096 -3978.1057 3891.7412 -3978.1079 3891.6763 C +-3978.4265 3891.8887 -3979.1433 3892.0291 -3979.3352 3892.4756 C +-3979.6296 3890.8186 -3981.3159 3893.281 -3981.3088 3891.7534 C +-3982.2888 3891.8352 L +-3982.2632 3891.6792 L +-3982.8896 3891.5779 -3983.1111 3891.9443 -3983.3313 3892.3113 C +-3983.4761 3892.2073 -3983.3704 3892.0642 -3983.3584 3891.9844 C +-3984.2737 3891.6763 -3984.3647 3891.7412 -3985.1321 3892.5022 C +-3985.2119 3892.0066 L +-3985.4199 3892.2947 -3986.5352 3891.2295 -3987.4329 3891.8076 C +-3987.4241 3891.7515 -3987.4055 3891.655 -3987.3342 3891.5854 C +-3988.3442 3892.1672 -3989.7522 3890.2102 -3990.1223 3892.0154 C +-3990.7888 3892.4602 L +-3989.9265 3892.6006 -3990.9172 3893.2434 -3990.5625 3893.5435 C +-3990.9016 3893.6494 -3991.4392 3892.9993 -3991.0225 3892.9063 C +-3990.9573 3892.9966 L +-3990.8042 3892.0554 -3992.0288 3892.6631 -3992.0056 3892.0222 C +-3993.7024 3892.0686 -3995.3562 3891.5479 -3996.9456 3891.5078 C +-3996.7625 3892.239 L +-3997.3169 3892.197 L +-3997.4624 3892.0266 -3997.5122 3891.6252 -3997.1167 3891.655 C +-3997.3247 3891.2407 -3997.78 3892.0022 -3997.7913 3892.1616 C +-3998.5657 3891.865 -3997.4888 3891.3086 -3997.7263 3891.2913 C +-3998.0488 3891.3455 L +-3997.9761 3891.4312 L +-3998.2375 3891.73 -3998.2607 3892.0466 -3998.7361 3892.0107 C +-3999.0369 3891.8643 -3998.8904 3891.5596 -3999.0088 3891.531 C +-3999.0081 3891.4795 -3999.0481 3891.4551 -3999.1904 3891.5103 C +-3999.8889 3891.448 L +-3999.6096 3892.0254 L +-3999.9192 3892.3098 -4000.2664 3891.9951 -3999.9441 3892.6494 c +-4000.4172 3891.6406 -4002.5496 3892.2871 -4002.8401 3891.9739 C +-4003.2737 3892.3953 -4003.7017 3892.3875 -4004.2319 3892.3367 C +-4004.1001 3892.4573 -4004.0212 3893.1062 -4004.4785 3893.0266 C +-4004.3113 3891.6873 -4005.3159 3892.4451 -4005.6855 3891.4814 C +-4005.3552 3892.1206 -4006.9856 3891.6392 -4006.4673 3892.5466 C +-4006.8489 3892.4382 -4006.4905 3892.0454 -4006.78 3891.73 C +-4007.6882 3892.2493 -4008.7815 3891.3928 -4009.9041 3891.5679 C +-4009.9216 3891.7434 -4009.7336 3892.0127 -4009.9744 3892.2744 C +-4010.5671 3891.3953 L +-4010.7888 3891.4814 -4010.7712 3892.4104 -4011.1763 3891.7998 C +-4011.1191 3891.948 -4011.0337 3892.1707 -4011.1824 3892.2271 C +-4013.3816 3891.3699 -4015.6763 3892.9292 -4017.9097 3891.3186 C +-4017.6072 3891.6594 -4017.8088 3891.6936 -4018.0398 3891.7058 C +-4017.8896 3891.7876 -4018.0432 3892.1406 -4018.0137 3892.3787 C +-4018.9487 3891.7168 L +-4019.1191 3892.3784 -4019.9512 3891.7615 -4020.0488 3892.3943 C +-4019.7527 3892.2803 L +-4020.1465 3893.0266 -4019.2017 3893.9395 -4019.2593 3894.8975 C +-4018.8184 3894.0486 -4018.0967 3896.1543 -4017.3733 3894.9395 C +-4017.2136 3895.1348 -4017.5095 3895.2483 -4017.4241 3895.4702 C +-4017.2407 3895.0596 -4017.0193 3894.9739 -4016.6089 3895.1582 C +-4016.6553 3895.26 L +-4015.5024 3895.1594 -4015.0081 3895.5642 -4013.7129 3895.8342 C +-4013.8088 3895.3604 L +-4013.5305 3895.4238 -4013.4719 3895.5723 -4013.3416 3895.6907 C +-4013.0222 3894.9727 -4014.1233 3895.6504 -4013.8323 3894.8584 C +-4013.4631 3895.8223 -4011.8696 3894.8733 -4011.6201 3895.9683 C +-4011.1919 3895.9739 -4011.7456 3895.4199 -4011.3176 3895.4263 C +-4011.2041 3895.7227 L +-4011.0959 3895.3408 L +-4010.8152 3895.4038 -4010.6736 3895.7744 -4010.6631 3896.0254 C +-4010.7312 3895.9956 -4010.8567 3896.0955 -4010.9297 3896.1172 C +-4010.5657 3896.4663 -4009.9033 3895.9983 -4009.7783 3896.1118 C +-4010.1897 3895.9292 L +-4009.0212 3895.6519 -4007.5945 3896.0413 -4006.4656 3895.4382 C +-4006.5513 3895.2146 L +-4005.6892 3894.801 -4005.8608 3895.4602 -4004.9143 3895.2693 C +-4004.9487 3895.3223 L +-4004.7593 3895.0996 -4004.5063 3894.9871 -4004.2473 3895.0127 C +-4004.4863 3895.2744 -4003.7976 3895.5215 -4004.1111 3895.8113 C +-4003.1763 3895.3672 -4003.6487 3895.4624 -4003.0313 3894.6318 C +-4002.8889 3895.0022 L +-4002.6785 3894.6672 -4002.6609 3894.4902 -4002.1882 3894.3943 C +-4002.5759 3894.7124 -4001.8865 3894.9592 -4002.3208 3895.3799 C +-4001.3289 3896.1907 -4000.8479 3894.5613 -4000.3928 3895.7471 C +-3999.9373 3894.7207 -4001.2512 3895.177 -4000.9961 3894.9575 C +-4001.2097 3894.6218 -4000.6201 3894.1902 -4000.3088 3894.2935 C +-3999.9919 3894.3164 -3999.77 3895.6062 -3998.9729 3895.5867 C +-3999.0522 3895.5823 -3999.0576 3895.6594 -3999.1367 3895.655 C +-3998.8384 3895.9172 -3998.5522 3895.3008 -3998.1863 3895.7258 C +-3997.9812 3895.1055 -3997.7112 3895.7615 -3997.6521 3894.9702 C +-3998.3833 3895.1531 L +-3997.9688 3894.9463 -3997.5801 3894.02 -3996.8972 3894.469 C +-3996.9504 3894.6287 -3997.1536 3894.8386 -3997.2932 3894.9558 C +-3997.0935 3895.1895 -3996.9087 3894.801 -3996.7017 3895.0413 C +-3996.7607 3895.8335 -3997.5903 3895.2136 -3998.0344 3895.8174 C +-3997.8201 3896.1519 -3997.1943 3895.2434 -3997.4175 3896.1016 c +-3997.0967 3895.0107 -3996.6321 3896.239 -3996.0923 3895.4063 C +-3996.1279 3895.8806 L +-3996.0425 3895.8064 -3995.8655 3895.5823 -3995.7083 3895.5942 C +-3995.9929 3896.2095 L +-3995.5559 3895.6848 -3995.1504 3896.6682 -3994.7312 3896.3828 C +-3995.6089 3896.3975 -3994.9282 3895.8113 -3995.2993 3895.4646 C +-3994.2168 3894.8296 -3994.6768 3896.7058 -3993.4648 3896.4783 C +-3993.6289 3896.5454 -3994.0808 3896.1936 -3993.8242 3895.9734 C +-3993.5935 3896.071 -3993.2888 3896.2534 -3993.1472 3896.5022 C +-3992.3442 3896.4038 -3993.2705 3896.0144 -3992.9287 3895.7227 C +-3992.6553 3896.3008 -3992.5344 3895.4871 -3992.1824 3895.3022 C +-3992.1799 3895.7847 L +-3991.2649 3896.0942 -3991.9373 3894.7791 -3991.1135 3895.1531 C +-3991.4617 3895.8223 L +-3991.0322 3895.6494 L +-3991.1208 3896.1982 L +-3990.6536 3895.7913 -3990.5081 3895.8962 -3990.0503 3896.0503 C +-3990.1567 3895.7102 -3989.9905 3895.1748 -3989.5852 3895.1594 C +-3989.3088 3895.4463 -3989.74 3895.6184 -3989.1655 3895.5491 C +-3989.2952 3895.8511 -3989.4373 3896.23 -3989.6873 3895.7854 C +-3989.7129 3895.9426 -3989.8152 3896.0884 -3989.8416 3896.2434 C +-3989.5439 3896.573 -3989.0935 3896.3186 -3988.8855 3896.3142 C +-3988.9656 3896.2964 -3989.0613 3896.2703 -3989.1104 3896.2014 C +-3988.2776 3895.5332 L +-3988.1465 3895.7144 -3988.2505 3895.8599 -3988.3535 3896.0022 C +-3988.1848 3895.9502 -3988.0681 3895.7283 -3987.8201 3895.6873 C +-3987.8843 3896.0791 -3987.8689 3896.4839 -3988.22 3896.6682 C +-3987.4265 3896.2334 L +-3987.3735 3896.4038 -3987.0193 3896.7014 -3987.1223 3896.8462 C +-3986.6824 3897.0767 -3986.0432 3896.0854 -3985.46 3896.3894 C +-3985.4297 3896.3135 -3985.3689 3896.2407 -3985.2449 3896.1848 C +-3984.6968 3896.2734 -3984.2112 3896.7544 -3983.5615 3896.2168 C +-3983.1929 3896.9199 L +-3982.6841 3896.7603 -3983.6919 3896.0342 -3982.8447 3895.7693 C +-3982.2449 3895.5447 -3982.6208 3896.3687 -3982.4104 3896.5642 C +-3982.1121 3896.21 -3981.5935 3895.4888 -3981.0425 3896.0613 C +-3981.2249 3896.1936 -3981.3679 3896.0896 -3981.5383 3896.1416 C +f +1 D +-3975.2632 3895.8298 m +-3975.3848 3895.9312 -3975.6272 3896.2434 -3975.7161 3895.9592 C +-3975.5776 3895.4063 -3975.4705 3895.6707 -3975.2632 3895.8298 C +f +-3965.7241 3894.6682 m +-3965.8145 3894.8279 -3965.9543 3894.7493 -3966.1121 3894.5664 C +-3965.9976 3894.5266 -3965.8679 3894.5447 -3965.7241 3894.6682 C +f +-3939.1511 3891.3096 m +-3939.1563 3891.3174 -3939.1599 3891.323 -3939.1641 3891.3333 C +-3939.4353 3891.1453 -3939.3391 3891.219 -3939.1511 3891.3096 C +f +0 D +-3938.5879 3891.5193 m +-3938.5313 3891.4514 -3938.5352 3891.3848 -3938.5591 3891.3174 C +-3938.5984 3891.4395 -3938.7249 3891.448 -3938.8689 3891.4136 C +-3938.8289 3891.5398 -3938.7561 3891.6272 -3938.5879 3891.5193 C +f +1 D +-3999.0713 3891.7092 m +-3998.9617 3891.8352 L +-3999.2092 3891.9739 -3999.1399 3891.8486 -3999.0713 3891.7092 C +f +*U +0 D +-3966.8057 3895.3286 m +-3966.8401 3895.2471 -3966.8496 3895.157 -3966.8577 3895.0664 C +-3966.9055 3895.1475 -3966.9065 3895.2412 -3966.8057 3895.3286 C +f +-3985.4409 3896.3953 m +-3985.4473 3896.3911 -3985.4536 3896.3928 -3985.46 3896.3894 C +-3985.4705 3896.4182 -3985.4761 3896.448 -3985.4792 3896.4768 C +-3985.4409 3896.3953 L +f +-3947.3123 3895.6096 m +-3947.4282 3895.5398 -3947.4929 3895.4514 -3947.5359 3895.3604 C +-3947.5422 3895.4783 -3947.4895 3895.5779 -3947.3123 3895.6096 C +f +-3935.6033 3890.6992 m +-3935.9641 3890.8247 L +-3935.7896 3890.8008 -3935.7273 3890.9063 -3935.6392 3890.9827 C +-3935.6472 3890.8699 -3935.7161 3890.7073 -3935.6033 3890.6992 C +f +-3932.4719 3893.6848 m +-3932.4192 3893.6255 -3932.3601 3893.6782 -3932.3081 3893.6184 C +-3932.3225 3893.3943 L +-3932.5471 3893.4087 -3932.7041 3893.5896 -3932.4719 3893.6848 C +f +-3935.2693 3892.3022 m +-3935.2407 3892.7083 -3935.0144 3892.5703 -3934.7617 3892.4951 C +-3934.7769 3892.4966 -3934.7913 3892.5 -3934.8064 3892.4951 C +-3934.7319 3891.927 -3935.0012 3892.115 -3935.2693 3892.3022 C +f +-3934.7031 3892.4814 m +-3934.6252 3892.4624 -3934.5457 3892.4514 -3934.4695 3892.4712 C +-3934.4399 3892.2434 -3934.5642 3892.4238 -3934.7031 3892.4814 C +f +-3937.8735 3891.25 m +-3937.7537 3891.3542 -3937.7983 3890.7312 -3937.7305 3890.8962 C +-3937.5967 3890.3799 -3938.5295 3891.5215 -3937.8735 3891.25 C +f +-3935.0647 3893.6392 m +-3935.1553 3893.1382 L +-3935.2969 3893.5422 L +-3935.0647 3893.6392 L +f +-3937.0601 3893.2715 m +-3936.6563 3893.4104 L +-3936.6624 3893.3264 -3936.6111 3893.2766 -3936.5481 3893.239 C +-3936.7969 3893.2227 -3937.0696 3893.1233 -3937.0601 3893.2715 C +f +-3936.5481 3893.239 m +-3936.4185 3893.2493 -3936.2952 3893.2383 -3936.2231 3893.1563 C +-3936.2932 3893.1616 -3936.4441 3893.1782 -3936.5481 3893.239 C +f +-3935.6167 3893.7896 m +-3935.7361 3893.6851 L +-3936.0212 3893.6482 L +-3935.6167 3893.7896 L +f +-3941.4009 3893.1748 m +-3941.8416 3893.3184 L +-3941.8865 3893.4902 -3941.7664 3893.5952 -3941.6023 3893.5266 C +-3941.4968 3893.407 -3941.3333 3893.3408 -3941.4009 3893.1748 C +f +-3940.0681 3894.5466 m +-3940.1873 3894.4426 -3940.1953 3894.3311 -3940.2625 3894.1663 C +-3940.2759 3894.7871 L +-3940.0681 3894.5466 L +f +-3941.3533 3894.6919 m +-3941.3972 3894.8643 -3941.9929 3895.1863 -3941.4343 3895.1475 C +-3941.3896 3894.9768 -3940.9482 3894.8335 -3941.3533 3894.6919 C +f +-3947.9937 3893.9063 m +-3947.8816 3893.8982 L +-3947.8977 3892.8799 L +-3947.9937 3893.9063 L +f +-3953.8464 3896.3428 m +-3953.3242 3896.5867 -3953.7224 3895.7144 -3953.2505 3896.0193 C +-3953.1279 3895.7783 -3953.6362 3895.7703 -3953.5105 3895.5623 C +-3953.8257 3895.8164 -3953.9912 3895.6726 -3953.8464 3896.3428 C +f +-3953.5105 3895.5623 m +-3953.46 3895.5222 -3953.4065 3895.4734 -3953.3496 3895.4075 C +-3953.4409 3895.4712 -3953.4839 3895.52 -3953.5105 3895.5623 C +f +-4019.5745 3891.1924 m +-4019.9104 3890.98 L +-4019.6936 3891.3223 L +-4019.5745 3891.1924 L +f +-4020.2192 3891.948 m +-4020.2983 3891.2986 L +-4020.5 3891.8862 L +-4020.4241 3891.8574 -4020.2769 3891.801 -4020.2192 3891.948 C +f +-3974.3303 3897.1375 m +-3974.3047 3896.9814 L +-3974.3567 3896.8123 -3974.4353 3896.7998 -3974.5928 3896.7734 C +-3974.3303 3897.1375 L +f +-3978.8848 3896.6519 m +-3978.8064 3896.6653 L +-3978.9529 3896.0779 L +-3978.8848 3896.6519 L +f +-3982.7073 3897.4004 m +-3982.5513 3897.4248 -3982.3679 3897.2939 -3982.2112 3897.3186 C +-3982.5513 3897.4248 -3982.7495 3896.6682 -3982.7073 3897.4004 C +f +U +U +U +%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(Unnamed Brush Pat 1) 0 A +u +0 J 0 j 1 w 10 M []0 d 0 XR +-7892.75 7764.8213 m +-7813.1685 7764.8213 L +-7813.1685 7747.2422 L +-7892.75 7747.2422 L +-7892.75 7764.8213 L +n +0 R +0.1098 0.7333 0.9725 0.0196 K +1 J 1 j 0.25 w 4 M -7828.8325 7750.1836 m +-7877.0845 7750.1836 L +S +u +u +0.3333 0.5765 0.9882 0.2549 K +0.5 w -7813.8823 7752.6284 m +-7892.0356 7752.6284 l +S +u +0 O +0.3333 0.5765 0.9882 0.2549 k +0 J 0 j 1 w 10 M -7813.9199 7751.8774 m +-7813.5049 7751.8774 -7813.1685 7752.2134 -7813.1685 7752.6284 c +-7813.1685 7753.0439 -7813.5049 7753.3804 -7813.9199 7753.3804 c +-7814.3354 7753.3804 -7814.6719 7753.0439 -7814.6719 7752.6284 c +-7814.6719 7752.2134 -7814.3354 7751.8774 -7813.9199 7751.8774 c +f +U +u +-7891.9985 7751.8774 m +-7892.4131 7751.8774 -7892.75 7752.2134 -7892.75 7752.6284 c +-7892.75 7753.0439 -7892.4131 7753.3804 -7891.9985 7753.3804 c +-7891.5835 7753.3804 -7891.2461 7753.0439 -7891.2461 7752.6284 c +-7891.2461 7752.2134 -7891.5835 7751.8774 -7891.9985 7751.8774 c +f +U +U +U +u +u +0 R +0.1098 0.7333 0.9725 0.0196 K +0.5 w 4 M -7821.3242 7749.0078 m +-7821.7363 7749.4492 l +-7828.5879 7756.7886 -7813.9067 7770 -7817.0879 7762.1719 c +-7819.9434 7755.1445 -7828.8325 7755.0757 Y +-7877.0845 7755.0757 L +-7885.9746 7755.1445 -7888.8296 7762.1719 v +-7892.0103 7770 -7877.3281 7756.7886 -7884.1807 7749.4492 C +-7884.5928 7749.0078 l +S +u +0 O +0.1098 0.7333 0.9725 0.0196 k +1 w 10 M -7819.6777 7747.2422 m +-7820.7607 7747.7856 -7822.2485 7748.3237 -7823.4009 7748.4429 c +-7821.5405 7749.2388 l +-7820.6191 7751.04 l +-7820.5801 7749.8804 -7820.1445 7748.3589 -7819.6777 7747.2422 c +f +U +u +-7886.2397 7747.2422 m +-7885.1567 7747.7856 -7883.6694 7748.3237 -7882.5166 7748.4429 c +-7884.3774 7749.2388 l +-7885.2983 7751.0391 l +-7885.3369 7749.8804 -7885.7729 7748.3589 -7886.2397 7747.2422 c +f +U +U +U +U +%AI8_EndBrushPattern +%AI5_End_NonPrinting-- +%AI5_Begin_NonPrinting +Np +%AI8_BeginPluginObject +(Adobe Brush Manager Order) +(Adobe Brush Manager Order) +( Adobe Calligraphic Brush Tool/ Rund - 5 Pt./ Adobe Calligraph) - +(ic Brush Tool/ Rund - 15 Pt./ Adobe Calligraphic Brush Tool/ O) - +(val - 3 Pt./ Adobe Calligraphic Brush Tool/ Oval - 5 Pt./ Adob) - +(e Calligraphic Brush Tool/ Flach - 5 Pt./ Adobe ArtOnPath Brus) - +(h Tool/ Kohle - Feder/ Adobe ArtOnPath Brush Tool/ Trennlinie/) - +( Adobe PatternOnPath Brush Tool/ Hier schneiden/) . +%AI8_EndPluginObject +%AI5_End_NonPrinting-- +%AI5_Begin_NonPrinting +Np +%AI5_End_NonPrinting-- +%AI5_Begin_NonPrinting +Np +%AI8_BeginPluginObject +(Adobe Calligraphic Brush Tool) +(Flach - 5 Pt.) +(1 5 5 0 0 90 90 0 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Calligraphic Brush Tool) +(Oval - 3 Pt.) +(1 3 3 26 74 15 15 0 1 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Calligraphic Brush Tool) +(Oval - 5 Pt.) +(1 5 5 10 90 -65 35 0 1 1 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Calligraphic Brush Tool) +(Rund - 15 Pt.) +(1 15 15 100 100 0 0 1 0 1 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Calligraphic Brush Tool) +(Rund - 5 Pt.) +(1 5 5 100 100 0 0 0 0 0 0) . +%AI8_EndPluginObject +%AI5_End_NonPrinting-- +%AI5_Begin_NonPrinting +Np +%AI8_BeginPluginObject +(Adobe ArtOnPath Brush Tool) +(Kohle - Feder) +(1 / Unnamed 6/ / / / / 0 1 / 1 1 1 0 1 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe ArtOnPath Brush Tool) +(Trennlinie) +(1 / Unnamed Brush Pat 1/ / / / / 5 0.85098 0.396078 0.168627 /) - +( 1 1 1 0 1 0 0 0) . +%AI8_EndPluginObject +%AI5_End_NonPrinting-- +%AI5_Begin_NonPrinting +Np +%AI8_BeginPluginObject +(Adobe PatternOnPath Brush Tool) +(Hier schneiden) +(1 / New Pattern 4/ New Pattern 11/ New Pattern 11/ / / 0 0 / ) - +(1 1 1 0 1 0 0 0) . +%AI8_EndPluginObject +%AI5_End_NonPrinting-- +%AI5_BeginPalette +0 0 Pb +1 1 1 1 ([Passermarken]) 0 Xs +([Passermarken]) +Pc +0 0 0 0 k +(Wei\737) +Pc +0 0 0 1 k +(Schwarz) +Pc +0 1 1 0 k +(CMYK Rot) +Pc +0 0 1 0 k +(CMYK Gelb) +Pc +1 0 1 0 k +(CMYK Gr\774n) +Pc +1 0 0 0 k +(CMYK Cyan) +Pc +1 1 0 0 k +(CMYK Blau) +Pc +0 1 0 0 k +(CMYK Magenta) +Pc +0.15 1 0.9 0.1 k +(C=15 M=100 Y=90 K=10) +Pc +0 0.9 0.85 0 k +(C=0 M=90 Y=85 K=0) +Pc +0 0.8 0.95 0 k +(C=0 M=80 Y=95 K=0) +Pc +0 0.5 1 0 k +(C=0 M=50 Y=100 K=0) +Pc +0 0.35 0.85 0 k +(C=0 M=35 Y=85 K=0) +Pc +0.05 0 0.9 0 k +(C=5 M=0 Y=90 K=0) +Pc +0.2 0 1 0 k +(C=20 M=0 Y=100 K=0) +Pc +0.5 0 1 0 k +(C=50 M=0 Y=100 K=0) +Pc +0.75 0 1 0 k +(C=75 M=0 Y=100 K=0) +Pc +0.85 0.1 1 0.1 k +(C=85 M=10 Y=100 K=10) +Pc +0.9 0.3 0.95 0.3 k +(C=90 M=30 Y=95 K=30) +Pc +0.75 0 0.75 0 k +(C=75 M=0 Y=75 K=0) +Pc +0.8 0.1 0.45 0 k +(C=80 M=10 Y=45 K=0) +Pc +0.7 0.15 0 0 k +(C=70 M=15 Y=0 K=0) +Pc +0.85 0.5 0 0 k +(C=85 M=50 Y=0 K=0) +Pc +1 0.95 0.05 0 k +(C=100 M=95 Y=5 K=0) +Pc +1 1 0.25 0.25 k +(C=100 M=100 Y=25 K=25) +Pc +0.75 1 0 0 k +(C=75 M=100 Y=0 K=0) +Pc +0.5 1 0 0 k +(C=50 M=100 Y=0 K=0) +Pc +0.35 1 0.35 0.1 k +(C=35 M=100 Y=35 K=10) +Pc +0.1 1 0.5 0 k +(C=10 M=100 Y=50 K=0) +Pc +0 0.95 0.2 0 k +(C=0 M=95 Y=20 K=0) +Pc +0.25 0.25 0.4 0 k +(C=25 M=25 Y=40 K=0) +Pc +0.4 0.45 0.5 0.05 k +(C=40 M=45 Y=50 K=5) +Pc +0.5 0.5 0.6 0.25 k +(C=50 M=50 Y=60 K=25) +Pc +0.55 0.6 0.65 0.4 k +(C=55 M=60 Y=65 K=40) +Pc +0.25 0.4 0.65 0 k +(C=25 M=40 Y=65 K=0) +Pc +0.3 0.5 0.75 0.1 k +(C=30 M=50 Y=75 K=10) +Pc +0.35 0.6 0.8 0.25 k +(C=35 M=60 Y=80 K=25) +Pc +0.4 0.65 0.9 0.35 k +(C=40 M=65 Y=90 K=35) +Pc +0.4 0.7 1 0.5 k +(C=40 M=70 Y=100 K=50) +Pc +0.5 0.7 0.8 0.7 k +(C=50 M=70 Y=80 K=70) +Pc +Bb +2 (Wei\737, Schwarz) 0 0 0 1 1 0 0 1 0 0 Bg +0 BB +(Wei\737, Schwarz) +Pc +Bb +2 (Orange, Gelb) 0 0 0 1 1 0 0 1 0 0 Bg +0 BB +(Orange, Gelb) +Pc +Bb +2 (Verblassender Himmel) 0 0 0 1 1 0 0 1 0 0 Bg +0 BB +(Verblassender Himmel) +Pc +Bb +0 0 0 0 Bh +2 (Sehr weiche schwarze Vignette) 0 0 0 1 1 0 0 1 0 0 Bg +0 BB +(Sehr weiche schwarze Vignette) +Pc +(Pompadour) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p +(Pompadour) +Pc +0 0 0 1 k +(C=0 M=0 Y=0 K=100) +Pc +0 0 0 0.899994 k +(C=0 M=0 Y=0 K=90) +Pc +0 0 0 0.799988 k +(C=0 M=0 Y=0 K=80) +Pc +0 0 0 0.699997 k +(C=0 M=0 Y=0 K=70) +Pc +0 0 0 0.599991 k +(C=0 M=0 Y=0 K=60) +Pc +0 0 0 0.5 k +(C=0 M=0 Y=0 K=50) +Pc +0 0 0 0.399994 k +(C=0 M=0 Y=0 K=40) +Pc +0 0 0 0.299988 k +(C=0 M=0 Y=0 K=30) +Pc +0 0 0 0.199997 k +(C=0 M=0 Y=0 K=20) +Pc +0 0 0 0.099991 k +(C=0 M=0 Y=0 K=10) +Pc +0 0 0 0.049988 k +(C=0 M=0 Y=0 K=5) +Pc +0 1 1 0 k +(C=0 M=100 Y=100 K=0) +Pc +0 0.75 1 0 k +(C=0 M=75 Y=100 K=0) +Pc +0 0.1 0.95 0 k +(C=0 M=10 Y=95 K=0) +Pc +0.85 0.1 1 0 k +(C=85 M=10 Y=100 K=0) +Pc +1 0.9 0 0 k +(C=100 M=90 Y=0 K=0) +Pc +0.6 0.9 0.000031 0.000031 k +(C=60 M=90 Y=0 K=0) +Pc +PB +%AI5_EndPalette +%%EndSetup +%AI5_BeginLayer +1 1 1 1 0 0 1 0 79 128 255 0 50 Lb +(Ebene 1) Ln +0 A +u +u +*u +0 O +0 0 0 0 k +0 J 0 j 1 w 10 M []0 d 0 XR +360.4355 -411.79 m +361.0537 -411.79 361.7305 -411.6777 362.208 -411.959 c +362.208 -412.0996 362.292 -412.0996 362.292 -412.1836 c +361.9268 -412.0996 362.377 -412.5781 362.292 -412.1836 c +362.377 -412.1836 362.4619 -412.1836 362.5459 -412.1836 c +362.6025 -412.3247 362.6309 -412.1836 362.5459 -412.1836 c +362.5176 -412.043 362.3213 -412.043 362.208 -411.959 c +362.292 -411.6494 362.6865 -411.79 362.8545 -411.79 c +367.0771 -411.6211 371.5508 -411.8745 375.5459 -411.8745 c +375.4619 -413.5347 375.6592 -416.0391 375.4619 -417.8398 c +375.04 -417.6714 375.1523 -417.3618 375.04 -416.9678 c +374.8994 -416.7988 374.3369 -416.0674 374.6455 -416.6304 c +374.3643 -416.7144 374.4219 -416.855 374.4775 -417.0522 c +374.8711 -416.8833 374.6738 -417.1362 374.8145 -417.2773 c +374.9551 -417.6431 375.1523 -417.8965 375.5459 -418.0933 c +375.3779 -419.2754 375.7715 -421.02 375.3779 -422.2871 c +375.6592 -422.8496 375.5459 -423.7207 375.5459 -424.5371 c +375.5459 -425.3818 375.6592 -426.3379 375.3779 -426.9004 c +375.1523 -427.0977 375.4902 -426.957 375.5459 -427.127 c +375.6309 -427.4355 375.3496 -427.3516 375.3779 -427.6045 c +375.6865 -428.4492 375.5459 -430.1377 375.4619 -431.0664 c +373.9707 -431.0381 372.2822 -431.1787 370.9316 -431.0098 c +370.9316 -429.8848 370.9316 -428.6172 370.9316 -427.4639 c +370.9316 -426.2822 370.8193 -425.1289 371.1846 -424.5371 c +370.5938 -424.3398 371.3818 -423.6934 370.8467 -423.75 c +370.96 -423.3555 371.5225 -423.6367 371.748 -423.2422 c +371.3262 -423.1582 371.0156 -423.4395 370.7627 -423.2422 c +370.5654 -423.4395 370.6504 -423.8906 370.1992 -423.834 c +370.0586 -423.6094 370.3125 -423.2422 369.8906 -423.1016 c +369.8623 -423.5527 369.5254 -423.2148 369.4961 -423.5801 c +369.4404 -423.5801 369.3838 -423.5801 369.3281 -423.5801 c +369.2705 -423.4688 369.2148 -423.5801 369.3281 -423.5801 c +369.2705 -423.834 369.4688 -423.6934 369.4961 -423.5801 c +370.0879 -424.002 367.8916 -423.8057 367.6396 -423.75 c +367.6104 -423.6367 367.5547 -423.6934 367.5547 -423.75 c +367.4424 -423.7773 366.8516 -423.918 366.5703 -423.75 c +366.6543 -423.75 366.6543 -423.7207 366.6543 -423.665 c +366.6826 -423.665 366.7109 -423.665 366.7383 -423.665 c +366.7383 -423.75 366.8232 -423.7207 366.9072 -423.75 c +366.9072 -423.665 366.7949 -423.665 366.7383 -423.665 c +366.7109 -423.5801 366.6543 -423.6094 366.6543 -423.665 c +366.5977 -423.6367 366.5703 -423.6934 366.5703 -423.75 c +366.457 -423.7207 366.4297 -423.6094 366.3447 -423.5801 c +366.4297 -423.9746 365.9229 -423.8057 365.7813 -423.834 c +363.8965 -423.9746 361.6738 -423.7773 360.041 -423.75 c +360.1543 -423.6934 360.041 -423.6367 360.041 -423.75 c +359.9287 -423.8613 359.6191 -423.8057 359.3936 -423.834 c +359.3936 -426.2539 359.3936 -428.6738 359.3936 -431.0664 c +357.875 -431.0664 356.3828 -431.0664 354.8633 -431.0664 c +354.8633 -424.6504 354.8633 -418.2339 354.8633 -411.79 c +356.6934 -411.79 358.6904 -411.79 360.4355 -411.79 c +f +356.2422 -419.1343 m +F +356.7207 -417.1929 m +F +1 D +357.6211 -416.1519 m +357.6211 -416.0952 357.6211 -416.0391 357.6211 -415.9829 c +357.5371 -415.9829 357.4521 -415.9829 357.3682 -415.9829 c +357.3682 -416.0391 357.3682 -416.0952 357.3682 -416.1519 c +357.4521 -416.1519 357.5371 -416.1519 357.6211 -416.1519 c +f +0 D +357.4521 -420.0347 m +F +357.7061 -420.1196 m +F +1 D +358.0156 -419.5566 m +358.0723 -419.5288 358.1836 -419.5288 358.1836 -419.4722 c +358.1279 -419.4722 358.0156 -419.4722 358.0156 -419.5566 c +f +358.2686 -416.2358 m +358.3242 -416.208 358.4092 -416.2358 358.4375 -416.1519 c +358.3535 -416.1802 358.2686 -416.1519 358.2686 -416.2358 c +f +360.5205 -421.8076 m +360.2949 -421.5547 360.7725 -421.4702 360.5205 -421.2451 c +360.5205 -421.3296 360.4355 -421.3013 360.3506 -421.3296 c +360.3506 -421.4702 360.4355 -421.7236 360.21 -421.6387 c +360.2666 -421.583 360.3232 -421.4141 360.21 -421.4141 c +359.9854 -421.4419 359.6475 -421.5547 359.2256 -421.3296 c +359.3379 -420.9639 358.8311 -421.4702 358.7461 -421.1606 c +358.8867 -421.1328 358.9434 -421.02 358.916 -420.8232 c +358.6348 -420.7666 358.6055 -420.9639 358.5781 -421.1606 c +358.6621 -421.3296 358.9717 -421.3013 358.916 -421.6387 c +358.5781 -421.7798 358.4092 -421.7798 358.2686 -421.9766 c +358.5498 -422.0605 358.9434 -421.9204 359.1416 -421.6387 c +359.3096 -421.7798 359.2529 -421.6387 359.4785 -421.6387 c +359.6191 -422.0889 359.7598 -421.6108 360.126 -421.8076 c +360.0977 -421.7236 360.126 -421.667 360.21 -421.6387 c +360.2666 -421.9204 360.3789 -421.6387 360.5205 -421.8076 c +f +0 D +358.3535 -421.3296 m +F +1 D +358.4375 -415.251 m +358.4375 -415.5889 358.9717 -415.73 359.0566 -415.5044 c +358.8027 -415.4766 358.7754 -415.1948 358.4375 -415.251 c +f +358.4941 -414.041 m +358.4375 -414.3506 358.8867 -414.3789 358.916 -414.126 c +358.7197 -414.1821 358.7461 -413.9849 358.4941 -414.041 c +f +358.7461 -422.2871 m +358.7197 -422.0332 359.1416 -422.2578 359.0566 -421.9766 c +358.8027 -421.9766 358.6348 -422.0605 358.5781 -422.2871 c +358.6348 -422.2871 358.6904 -422.2871 358.7461 -422.2871 c +358.6621 -422.624 359.001 -422.3145 358.7461 -422.2871 c +f +0 D +358.6621 -423.9746 m +F +359.001 -421.3296 m +359.0566 -421.3296 359.1416 -421.3296 359.2256 -421.3296 c +359.3379 -421.667 358.9717 -421.5547 359.001 -421.3296 c +f +1 D +359.001 -419.5566 m +359.0566 -419.5288 359.1416 -419.5288 359.1416 -419.4722 c +359.084 -419.4722 359.001 -419.4722 359.001 -419.5566 c +f +359.1416 -421.8921 m +359.1973 -422.0605 359.0566 -422.4277 359.2256 -422.4551 c +359.4229 -422.2012 359.3662 -422.0605 359.1416 -421.8921 c +f +359.1416 -415.7578 m +359.2256 -415.73 359.3096 -415.7578 359.3096 -415.6733 c +359.2529 -415.6733 359.1416 -415.6733 359.1416 -415.7578 c +f +359.6475 -419.8662 m +361.6738 -419.5566 363.8682 -419.7817 366.0068 -419.6973 c +366.0908 -419.8101 366.0908 -420.0068 366.2607 -420.0347 c +366.373 -419.8379 366.0352 -419.7256 366.2607 -419.6973 c +366.9072 -419.6694 367.4424 -419.894 368.2021 -419.6973 c +368.2305 -419.8101 368.3428 -419.8379 368.3428 -419.9507 c +368.1465 -419.894 368.0615 -419.979 368.1172 -420.1758 c +368.0332 -420.1758 368.0332 -420.2319 368.0332 -420.2603 c +367.667 -420.4009 367.4697 -420.1758 367.2178 -420.3442 c +367.5264 -420.2881 367.3857 -420.6538 367.6396 -420.6826 c +367.6104 -420.4292 368.0059 -420.6538 368.0332 -420.2603 c +368.0889 -420.2881 368.1172 -420.2319 368.1172 -420.1758 c +368.624 -419.894 369.1025 -419.894 369.5518 -420.0347 c +369.6094 -420.1475 369.666 -420.0068 369.5518 -420.0347 c +369.918 -419.894 370.1436 -419.9507 370.1992 -419.6973 c +370.1992 -420.1758 370.4531 -419.5566 370.5371 -420.0347 c +370.6504 -419.5288 371.0156 -420.2319 371.1846 -419.7817 c +370.8193 -419.6128 371.0156 -419.416 371.2695 -419.0498 c +371.2695 -418.9375 371.0156 -418.8252 370.9316 -418.5718 c +370.791 -417.5864 371.2695 -416.8271 370.8467 -416.3208 c +370.5654 -416.4331 370.2285 -416.3208 369.8906 -416.3208 c +367.7803 -416.2925 364.7402 -416.6021 362.7715 -416.2358 c +362.6309 -416.3486 362.3486 -416.3486 362.124 -416.4048 c +362.1797 -416.1235 361.8418 -416.2925 362.0674 -416.0674 c +361.6455 -416.4614 360.8574 -416.377 360.2949 -416.2358 c +360.2666 -416.1519 359.9854 -415.9546 359.957 -416.1519 c +360.21 -416.3486 359.5635 -416.3486 359.3936 -416.4048 c +359.2822 -417.3618 359.6475 -418.8252 359.1416 -419.3877 c +359.4229 -419.3877 359.2822 -419.6128 359.1416 -419.6973 c +359.1973 -419.8662 359.5908 -419.6973 359.6475 -419.8662 c +359.5068 -419.9224 359.6475 -419.9507 359.6475 -419.8662 c +f +0 D +359.1416 -418.9092 m +F +1 D +359.5635 -420.1758 m +359.5068 -420.1758 359.4502 -420.1758 359.3936 -420.1758 c +359.2529 -420.4009 359.6758 -420.4292 359.6475 -420.2603 c +359.9854 -420.2881 359.6475 -419.9507 359.6475 -420.2603 c +359.5635 -420.2881 359.5635 -420.2319 359.5635 -420.1758 c +f +359.3936 -420.8232 m +359.2822 -420.9639 359.873 -420.7944 359.7041 -420.7666 c +359.5908 -420.7104 359.4502 -420.7666 359.3936 -420.8232 c +f +360.6045 -415.1104 m +360.5479 -414.8574 360.0137 -414.8291 359.873 -414.9414 c +359.8164 -414.7729 359.7314 -414.6602 359.5635 -414.6318 c +359.4785 -414.6885 359.4785 -414.8008 359.4785 -414.9414 c +359.6191 -414.9414 359.7314 -414.9414 359.873 -414.9414 c +360.1543 -415.4766 360.1816 -414.8291 360.6045 -415.1104 c +f +0 D +359.4785 -420.5132 m +F +359.4785 -423.2422 m +F +1 D +359.5635 -422.2871 m +359.5635 -422.4834 359.6475 -422.4277 359.6475 -422.2871 c +359.6758 -422.2871 359.6758 -422.2871 359.7041 -422.2871 c +359.7598 -422.3984 359.8164 -422.2871 359.7041 -422.2871 c +359.7314 -422.2305 359.7881 -422.2012 359.7881 -422.1172 c +360.2383 -422.2012 359.9004 -421.8921 359.7881 -422.1172 c +359.7041 -422.1172 359.7314 -421.9766 359.6475 -421.9766 c +359.6475 -422.0889 359.5635 -422.1172 359.5635 -422.2012 c +359.4502 -422.2305 359.5068 -422.2871 359.5635 -422.2871 c +f +359.5635 -415.8418 m +359.5342 -416.0674 359.957 -416.1519 359.957 -415.8984 c +359.7598 -415.814 359.8164 -415.9268 359.5635 -415.8418 c +f +0 D +359.5635 -422.2012 m +359.5908 -422.2012 359.6475 -422.2305 359.6475 -422.2871 c +359.6191 -422.2871 359.5908 -422.2871 359.5635 -422.2871 c +359.5635 -422.2578 359.5635 -422.2305 359.5635 -422.2012 c +f +359.6475 -423.3281 m +F +359.7041 -423.1875 m +F +359.7881 -413.9849 m +F +359.7881 -420.0347 m +F +359.7881 -420.4292 m +F +1 D +360.041 -422.9336 m +360.1543 -422.9053 360.0693 -422.6797 360.21 -422.6797 c +360.1816 -422.793 360.21 -422.8496 360.2949 -422.8496 c +360.2949 -423.1016 360.6045 -422.7646 360.2949 -422.8496 c +360.2949 -422.7646 360.2666 -422.709 360.21 -422.6797 c +360.21 -422.6523 360.21 -422.624 y +359.8164 -422.5684 360.0693 -422.6797 360.041 -422.9336 c +359.7041 -422.8496 360.0137 -423.1875 360.041 -422.9336 c +f +359.957 -413.1689 m +360.0137 -413.1406 360.126 -413.1689 360.126 -413.0845 c +360.0693 -413.1128 359.957 -413.0845 359.957 -413.1689 c +f +0 D +359.957 -413.9849 m +F +359.957 -420.1196 m +F +359.957 -420.4292 m +F +360.041 -422.5391 m +F +1 D +360.2949 -423.1016 m +360.4072 -423.0459 360.2666 -422.9902 360.2949 -423.1016 c +359.8447 -423.0176 360.1816 -423.3281 360.2949 -423.1016 c +f +360.5205 -412.6904 m +360.5205 -412.4653 360.5205 -412.2686 360.2949 -412.2686 c +360.2666 -412.4092 360.0693 -412.3525 360.126 -412.522 c +360.1816 -412.6338 360.3789 -412.6338 360.5205 -412.6904 c +f +360.4355 -415.8984 m +360.4639 -415.645 360.0693 -415.5889 360.126 -415.8984 c +360.2383 -415.8984 360.3232 -415.8984 360.4355 -415.8984 c +f +360.126 -420.4292 m +360.126 -420.5132 360.2666 -420.5415 360.2949 -420.4292 c +360.1816 -420.4292 360.1543 -420.3164 360.126 -420.4292 c +f +0 D +360.21 -416.2358 m +360.2383 -416.2358 360.2666 -416.2358 360.2949 -416.2358 c +360.2949 -416.2925 360.21 -416.3208 360.21 -416.2358 c +f +1 D +360.21 -419.9507 m +360.21 -420.0347 360.3506 -420.0347 360.3506 -419.9507 c +360.2666 -419.9507 360.2383 -419.8379 360.21 -419.9507 c +f +360.2949 -420.6826 m +360.3506 -420.6538 360.4355 -420.6826 360.4355 -420.5977 c +360.3789 -420.5977 360.2949 -420.5977 360.2949 -420.6826 c +f +0 D +360.2949 -423.3281 m +F +360.3506 -414.7729 m +F +360.3506 -423.4961 m +F +1 D +360.4355 -421.9766 m +360.5479 -421.9204 360.4355 -421.8643 360.4355 -421.9766 c +360.21 -421.9766 360.5205 -422.2871 360.4355 -421.9766 c +f +0 D +360.4355 -415.6733 m +F +1 D +360.4355 -422.6797 m +360.5479 -422.793 360.7451 -422.793 360.7725 -422.624 c +360.6318 -422.624 360.4639 -422.5957 360.4355 -422.6797 c +f +0 D +360.6045 -413.1689 m +F +360.6045 -413.9004 m +F +360.6045 -414.126 m +F +360.6045 -421.8076 m +F +360.6045 -422.5391 m +F +360.6045 -423.3281 m +F +1 D +360.6885 -414.6318 m +360.6318 -414.4912 360.5762 -414.6318 360.6885 -414.6318 c +360.7451 -414.7446 360.7725 -414.604 360.6885 -414.6318 c +f +360.6885 -414.2944 m +360.8018 -414.2666 360.8291 -414.3789 360.9131 -414.3789 c +361.0537 -414.1821 360.6611 -414.1538 360.6885 -414.2944 c +360.5762 -414.3506 360.6885 -414.4072 360.6885 -414.2944 c +f +0 D +360.6885 -415.0264 m +F +360.6885 -421.0762 m +F +1 D +360.7725 -420.2603 m +360.7168 -420.1475 360.6611 -420.2881 360.7725 -420.2603 c +360.8018 -420.4009 360.8574 -420.2603 360.7725 -420.2603 c +f +360.9131 -412.7749 m +360.8018 -412.4653 360.6611 -413.0283 360.9131 -412.7749 c +360.9697 -412.8872 361.0273 -412.7466 360.9131 -412.7749 c +f +0 D +360.7725 -421.8076 m +F +1 D +360.7725 -422.5391 m +360.9697 -422.5957 361.2236 -422.6797 361.335 -422.4551 c +361.168 -422.4834 360.8018 -422.3418 360.7725 -422.5391 c +f +360.8574 -416.1519 m +360.8857 -416.1519 360.9424 -416.1519 360.998 -416.1519 c +361.0273 -416.0952 361.083 -416.0674 361.083 -415.9829 c +361.1104 -415.9829 361.1387 -415.9829 361.168 -415.9829 c +360.9697 -416.377 361.5322 -416.208 361.7305 -416.1519 c +361.5605 -416.1802 361.4766 -416.1235 361.5049 -415.9829 c +361.5322 -415.9829 361.5605 -415.9829 v +361.5049 -415.645 361.0537 -415.8984 361.5049 -415.9829 c +361.3916 -415.9829 361.2793 -415.9829 361.168 -415.9829 c +361.168 -415.7856 361.083 -415.8418 361.083 -415.9829 c +360.9697 -416.0112 360.9424 -415.9268 360.8574 -415.8984 c +360.8018 -415.7856 360.7451 -415.9268 360.8574 -415.8984 c +360.8574 -415.9829 360.8574 -416.0674 360.8574 -416.1519 c +f +361.251 -415.1948 m +361.1387 -415.2231 360.8291 -415.0825 360.8574 -415.251 c +360.9424 -415.3076 360.998 -415.4482 360.998 -415.5889 c +360.8857 -415.645 361.0273 -415.6733 360.998 -415.5889 c +361.1104 -415.5889 361.1387 -415.5605 361.168 -415.5044 c +361.3916 -415.4199 361.0537 -415.2793 361.251 -415.1948 c +361.4492 -415.1948 361.5898 -415.1387 361.6455 -415.0264 c +361.7578 -414.9697 361.6455 -414.9136 361.6455 -415.0264 c +361.4492 -414.998 361.251 -414.998 361.251 -415.1948 c +f +360.9131 -414.9414 m +360.8857 -414.8291 360.8291 -414.9414 360.9131 -414.9414 c +360.8291 -415.3076 361.3086 -414.8574 360.9131 -414.9414 c +f +360.9131 -420.4292 m +360.9424 -420.5415 361.0273 -420.4854 361.083 -420.4292 c +361.083 -420.3442 360.9424 -420.3164 360.9131 -420.4292 c +f +362.0674 -413.2534 m +362.1514 -412.8311 361.7305 -413.0562 361.5605 -413.0845 c +361.4492 -412.9722 361.083 -412.6904 360.998 -413 c +361.3643 -413.0845 361.5605 -413.3096 362.0674 -413.2534 c +362.0957 -413.3657 362.1514 -413.2251 362.0674 -413.2534 c +f +360.998 -414.7729 m +361.1104 -414.8853 361.3916 -414.9136 361.4199 -414.6885 c +361.2793 -414.7446 360.998 -414.604 360.998 -414.7729 c +f +0 D +361.083 -414.041 m +F +361.083 -421.8076 m +F +361.168 -415.5044 m +F +1 D +361.335 -414.5479 m +361.3086 -414.2944 360.998 -414.604 361.335 -414.5479 c +361.3916 -414.6602 361.4199 -414.5195 361.335 -414.5479 c +f +0 D +361.335 -414.21 m +F +1 D +361.8145 -421.7236 m +361.6172 -421.667 361.4766 -421.6387 361.335 -421.8076 c +361.5049 -421.8359 361.7578 -421.9766 361.8145 -421.7236 c +f +0 D +361.4199 -414.4634 m +F +361.5605 -415.251 m +F +361.6455 -415.8418 m +F +1 D +361.7305 -412.8311 m +361.7861 -412.8311 361.8984 -412.8311 361.8984 -412.7749 c +361.8418 -412.7749 361.7305 -412.7749 361.7305 -412.8311 c +f +361.8145 -414.126 m +361.7305 -414.2666 362.124 -414.0972 362.0674 -414.041 c +361.9824 -413.9849 361.8145 -414.126 y +f +0 D +361.8145 -414.6885 m +F +361.8145 -415.9829 m +F +361.8984 -414.4634 m +F +1 D +361.9824 -422.624 m +362.0957 -422.5684 361.9551 -422.5117 361.9824 -422.624 c +361.8711 -422.6523 361.9824 -422.709 361.9824 -422.624 c +f +0 D +361.9824 -415.8984 m +F +1 D +362.208 -420.8232 m +362.0674 -420.8232 362.0107 -420.9072 361.9824 -420.9917 c +362.124 -420.9917 362.1797 -420.9351 362.208 -420.8232 c +f +0 D +362.124 -413.1689 m +F +1 D +362.124 -415.1104 m +362.1514 -415.1948 362.2363 -415.167 362.292 -415.1104 c +362.292 -415.0264 362.1514 -414.998 362.124 -415.1104 c +f +362.208 -413.647 m +362.3486 -413.6753 362.1797 -413.7598 362.208 -413.9004 c +362.6025 -413.8726 362.6865 -413.8726 362.8545 -413.8159 c +362.9121 -413.9287 362.9688 -413.8159 362.8545 -413.8159 c +362.7715 -413.563 363.0244 -413.4502 362.7715 -413.1689 c +362.9121 -413.1128 362.7715 -413.0562 362.7715 -413.1689 c +362.3213 -413.2251 362.4053 -413.4224 362.208 -413.647 c +f +0 D +362.208 -416.2358 m +F +362.292 -414.8574 m +F +362.6309 -414.4634 m +F +1 D +362.7139 -420.4292 m +362.7715 -420.4009 362.8545 -420.4292 362.8545 -420.3442 c +362.7988 -420.3726 362.7139 -420.3442 362.7139 -420.4292 c +f +0 D +362.8545 -420.0347 m +F +363.1094 -421.2451 m +F +363.1934 -420.7666 m +F +1 D +363.502 -414.6885 m +363.4463 -414.9697 363.8125 -415.0264 363.8398 -414.7729 c +363.6719 -414.8008 363.6426 -414.6885 363.502 -414.6885 c +f +0 D +364.7969 -420.5132 m +F +1 D +364.9658 -422.8496 m +364.9658 -422.9609 365.0508 -422.9053 365.1348 -422.8496 c +365.1348 -422.7646 364.9941 -422.7646 364.9658 -422.8496 c +f +0 D +365.1914 -420.2603 m +F +365.6133 -422.2871 m +F +1 D +366.0068 -422.7646 m +366.0352 -423.1016 366.373 -422.7646 366.0068 -422.7646 c +366.0352 -422.6523 365.9229 -422.624 365.9229 -422.5391 c +366.0352 -422.4834 365.9229 -422.4277 365.9229 -422.5391 c +365.7813 -422.5117 365.8096 -422.9053 366.0068 -422.7646 c +f +0 D +365.8389 -421.9766 m +F +366.0068 -412.437 m +F +1 D +366.2607 -421.8076 m +366.2041 -422.0332 366.4297 -421.9482 366.4854 -422.0332 c +366.5137 -421.8643 366.4297 -421.7798 366.2607 -421.8076 c +f +0 D +366.3447 -420.9072 m +F +1 D +366.4854 -423.3281 m +366.4854 -423.4121 366.626 -423.4395 366.6543 -423.3281 c +366.5703 -423.3555 366.542 -423.2148 366.4854 -423.3281 c +f +0 D +366.4854 -423.5801 m +F +1 D +366.6543 -422.4551 m +366.542 -422.6523 366.9355 -422.6797 366.9072 -422.5391 c +366.7949 -422.5391 366.7949 -422.4277 366.6543 -422.4551 c +f +366.9922 -423.4961 m +366.9639 -423.3838 366.9922 -423.2148 366.8232 -423.2422 c +366.8232 -423.3555 366.7666 -423.4395 366.7383 -423.4961 c +366.8232 -423.4961 366.9072 -423.4961 366.9922 -423.4961 c +f +366.9072 -422.6797 m +366.9072 -422.8496 366.9639 -422.9609 367.0479 -423.0176 c +367.0771 -422.8203 367.0479 -422.709 366.9072 -422.6797 c +f +367.1328 -423.4121 m +367.2451 -423.3555 367.1328 -423.3281 367.1328 -423.4121 c +367.0205 -423.4688 367.1611 -423.5244 367.1328 -423.4121 c +f +367.3857 -423.0176 m +367.499 -422.8203 367.1045 -422.7646 367.1328 -422.9336 c +367.1885 -422.9336 367.2451 -422.9336 367.2178 -423.0176 c +367.2734 -423.0176 367.3291 -423.0176 367.3857 -423.0176 c +f +0 D +367.1328 -422.0332 m +F +367.3018 -420.9917 m +F +1 D +367.6396 -423.3281 m +367.6396 -423.3838 367.6396 -423.4395 367.6953 -423.4121 c +367.6953 -423.2988 367.6104 -422.8203 367.4697 -423.1016 c +367.6953 -423.1582 367.3857 -423.3838 367.3857 -423.4961 c +367.5547 -423.5244 367.5547 -423.3838 367.6396 -423.3281 c +f +368.1172 -423.2422 m +368.1172 -423.2148 368.6523 -423.1875 368.3428 -422.9336 c +368.2871 -423.0459 368.2305 -422.9053 368.0332 -423.0176 c +368.0332 -422.9902 368.0332 -422.9609 368.0332 -422.9336 c +368.1465 -422.877 368.0332 -422.8496 368.0332 -422.9336 c +367.7803 -422.9053 367.7246 -422.6523 367.5547 -422.9336 c +367.8652 -422.8496 367.8359 -423.2148 368.0332 -423.0176 c +368.0332 -423.1309 368.0059 -423.2422 368.1172 -423.2422 c +f +0 D +367.6396 -423.75 m +367.6396 -423.7773 367.5547 -423.834 367.5547 -423.75 c +367.583 -423.75 367.6104 -423.75 367.6396 -423.75 c +f +1 D +367.6396 -422.5391 m +367.6953 -422.5117 367.7803 -422.5391 367.7803 -422.4551 c +367.7246 -422.4551 367.6396 -422.4551 367.6396 -422.5391 c +f +367.6953 -421.2451 m +367.751 -421.2734 368.0059 -421.4419 368.0332 -421.2451 c +367.9482 -421.2451 367.9766 -421.1328 367.9482 -421.0762 c +367.8916 -421.0762 367.8359 -421.0762 367.7803 -421.0762 c +367.7803 -421.1328 367.6953 -421.1606 367.6953 -421.2451 c +367.583 -421.3013 367.7246 -421.3296 367.6953 -421.2451 c +f +0 D +367.6953 -422.2871 m +F +1 D +367.7803 -423.2422 m +367.8359 -423.2422 367.9482 -423.2422 367.9482 -423.1875 c +367.8916 -423.1875 367.7803 -423.1875 367.7803 -423.2422 c +f +367.9482 -420.8232 m +367.5547 -420.8794 368.1738 -421.0762 368.2578 -421.1606 c +368.2578 -421.02 368.3428 -421.02 368.3428 -420.9072 c +368.2871 -420.9072 368.2578 -420.8232 368.2021 -420.8232 c +368.3711 -420.5698 368.6807 -420.5698 368.9053 -420.9072 c +368.9336 -420.8511 368.9893 -420.8232 368.9893 -420.7666 c +369.3281 -420.6538 369.3838 -420.7104 369.4961 -420.9917 c +369.3838 -421.02 369.4404 -421.0762 369.4961 -421.0762 c +369.5254 -421.1885 369.5811 -421.0762 369.4961 -421.0762 c +369.4961 -421.0479 369.4961 -421.02 369.4961 -420.9917 c +369.8623 -420.8232 369.7217 -420.626 369.9746 -420.3442 c +369.7773 -420.2881 369.6924 -420.3442 369.4111 -420.2603 c +369.4111 -420.3726 369.3838 -420.4009 369.3281 -420.4292 c +369.2705 -420.3164 369.2148 -420.4292 369.3281 -420.4292 c +369.2432 -420.5132 369.1592 -420.5977 369.0742 -420.6826 c +368.9893 -420.5698 368.9336 -420.4292 368.8486 -420.3442 c +368.8213 -420.2603 368.7646 -420.3164 368.7646 -420.3442 c +368.624 -420.5132 368.5117 -420.3164 368.3428 -420.2603 c +368.3428 -420.5132 368.1172 -420.5132 368.0332 -420.6826 c +367.8359 -420.6826 367.9209 -420.7383 367.9482 -420.8232 c +f +367.8652 -422.5391 m +367.9482 -422.5117 368.0059 -422.6523 368.0332 -422.5391 c +368.0332 -422.4551 367.8916 -422.4277 367.8652 -422.5391 c +f +0 D +368.2021 -420.8232 m +368.2021 -420.9351 367.9766 -420.9351 367.9482 -420.8232 c +368.0332 -420.8232 368.1172 -420.8232 368.2021 -420.8232 c +f +1 D +368.1172 -423.665 m +367.7803 -423.5801 368.0889 -423.8906 368.1172 -423.665 c +368.1738 -423.665 368.1738 -423.6367 368.2021 -423.5801 c +368.3145 -423.5244 368.1738 -423.4688 368.2021 -423.5801 c +368.1172 -423.5527 368.1172 -423.6094 368.1172 -423.665 c +f +0 D +368.0332 -420.6826 m +F +368.0332 -421.4141 m +F +368.1172 -421.3296 m +F +1 D +368.9053 -421.8921 m +368.8486 -421.9766 368.7646 -421.9204 368.5117 -421.9766 c +368.4277 -421.8921 368.4834 -421.667 368.2578 -421.7236 c +368.2305 -421.6108 368.1738 -421.7236 368.2578 -421.7236 c +368.1465 -422.1455 369.1592 -422.2871 368.9053 -421.8921 c +f +368.3428 -422.624 m +368.4277 -422.5957 368.5117 -422.5957 368.5117 -422.5391 c +368.4551 -422.5391 368.3428 -422.5391 368.3428 -422.624 c +f +0 D +368.5117 -420.8232 m +F +368.5957 -422.9336 m +F +368.6807 -420.9917 m +F +368.6807 -423.5801 m +F +368.8486 -420.3442 m +368.8486 -420.4009 368.7646 -420.4292 368.7646 -420.3442 c +368.793 -420.3442 368.8213 -420.3442 368.8486 -420.3442 c +f +1 D +368.7646 -422.6797 m +369.0186 -422.5957 369.1865 -423.0176 369.3281 -422.7646 c +369.1592 -422.793 369.2705 -422.4834 369.2432 -422.3711 c +369.2998 -422.3418 369.4111 -422.3711 369.4111 -422.2871 c +369.0742 -422.2305 369.1592 -422.2305 368.8486 -422.2871 c +368.8486 -422.4834 368.8213 -422.5957 368.7646 -422.6797 c +f +368.7646 -423.2422 m +368.8213 -423.2422 368.9053 -423.2422 368.9053 -423.1875 c +368.8486 -423.1875 368.7646 -423.1875 368.7646 -423.2422 c +f +0 D +368.9053 -421.8076 m +F +368.9893 -413.3374 m +F +368.9893 -420.7666 m +F +368.9893 -421.0762 m +F +1 D +369.0742 -421.4702 m +369.0186 -421.3574 368.9893 -421.498 369.0742 -421.4702 c +369.0459 -421.6387 369.1865 -421.6387 369.3281 -421.6387 c +369.3838 -421.7515 369.4111 -421.6387 369.3281 -421.6387 c +369.4111 -421.5264 369.4111 -421.4419 369.2432 -421.4141 c +369.2432 -421.0479 368.9336 -421.3857 369.2432 -421.4141 c +369.2432 -421.4702 369.1299 -421.4702 369.0742 -421.4702 c +f +0 D +369.0742 -423.5801 m +F +1 D +369.2432 -416.1519 m +369.3555 -416.0952 369.2432 -416.0674 369.2432 -416.1519 c +369.1299 -416.208 369.2432 -416.2642 369.2432 -416.1519 c +f +369.3281 -422.0332 m +369.666 -422.0605 369.3555 -421.7236 369.3281 -422.0332 c +369.2148 -422.0889 369.3281 -422.1455 369.3281 -422.0332 c +f +369.3281 -421.3296 m +369.3838 -421.3013 369.4688 -421.3296 369.4961 -421.2451 c +369.4111 -421.2451 369.3281 -421.2451 369.3281 -421.3296 c +f +0 D +369.6367 -421.7236 m +F +369.6367 -422.1172 m +F +369.7217 -420.5132 m +F +1 D +369.8906 -420.9917 m +369.8066 -421.2451 370.1436 -421.1045 370.1152 -421.3296 c +370.1152 -421.4702 369.918 -421.4141 369.9746 -421.6387 c +369.9473 -421.6387 369.918 -421.6387 369.8906 -421.6387 c +369.8906 -421.583 369.8623 -421.5547 369.8066 -421.5547 c +369.75 -421.4419 369.7217 -421.583 369.8066 -421.5547 c +369.7773 -421.6387 369.834 -421.6387 369.8906 -421.6387 c +369.8906 -421.667 369.8906 -421.6953 369.8906 -421.7236 c +369.8066 -421.6953 369.8066 -421.7515 369.8066 -421.8076 c +369.6924 -421.8643 369.8066 -421.8921 369.8066 -421.8076 c +369.8623 -421.8076 369.8906 -421.7798 369.8906 -421.7236 c +369.9473 -421.7515 369.9746 -421.6953 369.9746 -421.6387 c +370.0313 -421.6387 370.0586 -421.5547 370.1152 -421.5547 c +370.1719 -421.667 370.2285 -421.5547 370.1152 -421.5547 c +370.1719 -421.3857 370.3691 -421.1606 370.1992 -420.9917 c +370.3125 -420.9351 370.1992 -420.9072 370.1992 -420.9917 c +370.0029 -420.9917 370.0586 -421.1328 369.8906 -420.9917 c +f +0 D +369.8066 -412.606 m +F +1 D +370.0586 -415.1104 m +370.0586 -414.9136 369.918 -414.8574 369.8066 -414.7729 c +369.8066 -414.8853 369.8066 -414.998 369.8066 -415.1104 c +369.8906 -415.1104 369.9746 -415.1104 370.0586 -415.1104 c +f +369.8066 -422.4551 m +369.8623 -422.4277 369.9746 -422.4551 369.9746 -422.3711 c +369.8906 -422.3984 369.8066 -422.3711 369.8066 -422.4551 c +f +0 D +369.8906 -422.2012 m +F +1 D +370.1152 -422.5391 m +370.1992 -422.6797 369.8906 -422.793 370.1152 -422.8496 c +370.1436 -422.793 370.3398 -422.5391 370.1152 -422.5391 c +f +0 D +370.0586 -420.1758 m +F +370.0586 -420.8232 m +F +370.0586 -423.0176 m +F +370.1152 -422.2871 m +F +1 D +370.2842 -421.8076 m +370.5098 -421.8076 370.7061 -421.7798 370.7061 -421.5547 c +370.4814 -421.583 370.2842 -421.583 370.2842 -421.8076 c +370.1719 -421.8643 370.2842 -421.8921 370.2842 -421.8076 c +f +370.2842 -423.5801 m +370.3398 -423.5527 370.4531 -423.5801 370.4531 -423.4961 c +370.3965 -423.5244 370.2842 -423.4961 370.2842 -423.5801 c +f +0 D +370.3691 -412.1836 m +F +1 D +370.3691 -420.5977 m +370.4248 -420.5698 370.5371 -420.5977 370.5371 -420.5132 c +370.4814 -420.5415 370.3691 -420.5132 370.3691 -420.5977 c +f +0 D +370.3691 -421.2451 m +F +370.3691 -421.9766 m +F +370.3691 -422.9336 m +F +1 D +370.4531 -421.4141 m +370.4814 -421.4141 370.5098 -421.4141 370.5371 -421.4141 c +370.5371 -421.6387 370.875 -421.3296 370.5371 -421.4141 c +370.5098 -421.3013 370.4531 -421.3574 370.4531 -421.4141 c +370.3398 -421.4419 370.4531 -421.498 370.4531 -421.4141 c +f +0 D +370.4531 -415.8984 m +F +1 D +370.4531 -420.3442 m +370.5938 -420.3442 370.7061 -420.3726 370.7627 -420.4292 c +370.791 -420.2319 370.791 -420.0347 370.6221 -420.0347 c +370.5938 -420.0913 370.5371 -420.1196 370.4531 -420.1196 c +370.4531 -420.1758 370.4531 -420.2603 370.4531 -420.3442 c +f +0 D +370.5371 -423.3281 m +F +370.6221 -415.7578 m +F +1 D +372.5635 -420.5132 m +372.3955 -420.5132 372.3662 -420.4009 372.2256 -420.4292 c +372.1406 -420.5132 372.0566 -420.5977 371.9736 -420.6826 c +371.833 -420.3726 371.4941 -420.7944 371.0156 -420.6826 c +371.0156 -420.8232 371.1289 -420.8511 371.1006 -420.9917 c +370.9316 -420.8511 370.7061 -421.0762 370.6221 -421.2451 c +370.7344 -421.2451 370.875 -421.2451 371.0156 -421.2451 c +370.9873 -421.1045 371.1006 -421.1045 371.1006 -420.9917 c +371.6631 -420.9351 372.4795 -420.3726 372.958 -421.2451 c +372.6201 -421.2168 372.958 -421.583 372.958 -421.7236 c +373.042 -421.7236 373.127 -421.7236 373.1826 -421.7236 c +373.2393 -421.8359 373.2949 -421.7236 373.1826 -421.7236 c +373.4082 -421.4419 373.4639 -421.9766 373.7744 -421.8921 c +373.8857 -422.1738 373.8857 -421.6953 374.083 -421.8076 c +374.252 -421.9204 374.252 -422.2012 374.6455 -422.1172 c +374.5889 -421.8921 374.4219 -421.7515 374.083 -421.8076 c +374.083 -421.7798 374.083 -421.7515 374.083 -421.7236 c +373.8857 -421.7236 373.8301 -421.5547 373.7744 -421.8076 c +373.6045 -421.7515 373.7451 -421.667 373.7744 -421.5547 c +373.3516 -421.4419 373.2676 -420.9917 373.127 -420.5977 c +372.7607 -420.5698 372.6768 -420.7383 372.5635 -420.5977 c +372.5635 -420.5698 372.5635 -420.5415 372.5635 -420.5132 c +372.6768 -420.5415 372.6768 -420.4292 372.7881 -420.4292 c +372.8447 -420.5415 372.9014 -420.4292 372.7881 -420.4292 c +372.7324 -420.3726 372.7324 -420.2036 372.6201 -420.1758 c +372.7881 -420.0347 372.5361 -420.0068 372.4795 -419.8662 c +372.4512 -420.063 372.4795 -420.1758 372.6201 -420.1758 c +372.6475 -420.3442 372.5361 -420.3726 372.5635 -420.5132 c +f +0 D +370.6221 -423.834 m +F +1 D +370.7061 -414.8574 m +370.8193 -414.8008 370.6787 -414.7729 370.7061 -414.8574 c +370.5654 -414.9136 370.7061 -414.9697 370.7061 -414.8574 c +f +370.9316 -422.2871 m +371.0723 -422.0889 370.6504 -422.0605 370.7061 -422.2012 c +370.7344 -422.2012 370.791 -422.2305 370.7627 -422.2871 c +370.8193 -422.2871 370.875 -422.2871 370.9316 -422.2871 c +f +0 D +370.7627 -414.3789 m +F +1 D +370.8467 -421.8921 m +370.96 -421.8921 370.9316 -422.0332 371.0156 -422.0332 c +371.2129 -421.9482 370.9316 -421.667 370.8467 -421.8921 c +f +0 D +370.8467 -423.75 m +F +370.9316 -415.8984 m +F +1 D +370.9316 -420.4292 m +370.9873 -420.4009 371.1006 -420.4292 371.1006 -420.3442 c +371.0439 -420.3726 370.9316 -420.3442 370.9316 -420.4292 c +f +0 D +370.9316 -422.6797 m +F +370.9316 -423.0176 m +F +371.0156 -415.7578 m +F +1 D +371.1846 -416.2358 m +371.2969 -416.1802 371.1563 -416.1235 371.1846 -416.2358 c +370.9033 -416.377 371.4375 -416.4893 371.1846 -416.2358 c +f +0 D +371.1006 -422.2871 m +F +371.1846 -418.3184 m +F +371.1846 -424.3125 m +F +1 D +371.2695 -415.1104 m +371.3262 -415.0825 371.4102 -415.1104 371.4102 -415.0264 c +371.3535 -415.0542 371.2695 -415.0264 371.2695 -415.1104 c +f +0 D +371.2695 -415.5044 m +F +371.2695 -425.3535 m +F +1 D +371.3262 -416.1519 m +371.4102 -416.1235 371.4941 -416.1519 371.4941 -416.0674 c +371.4375 -416.0952 371.3535 -416.0674 371.3262 -416.1519 c +f +0 D +371.3262 -422.2871 m +F +371.4102 -416.8833 m +F +371.4102 -425.4375 m +F +1 D +371.4941 -415.5044 m +371.6074 -415.4482 371.4941 -415.4199 371.4941 -415.5044 c +371.3818 -415.5605 371.5225 -415.6172 371.4941 -415.5044 c +f +371.4941 -419.7817 m +371.5508 -419.7534 371.6631 -419.7817 371.6631 -419.6973 c +371.6074 -419.7256 371.4941 -419.6973 371.4941 -419.7817 c +f +371.748 -417.0522 m +371.748 -416.9956 371.748 -416.9395 371.748 -416.8833 c +371.6914 -416.8833 371.6348 -416.8833 371.5781 -416.8833 c +371.5781 -416.9395 371.5781 -416.9956 371.5781 -417.0522 c +371.6348 -417.0522 371.6914 -417.0522 371.748 -417.0522 c +f +372.5635 -419.4722 m +372.3105 -419.3877 372.3379 -419.585 372.1406 -419.5566 c +372.085 -419.3599 372.085 -419.0786 371.6631 -419.0498 c +371.6914 -419.3877 372.085 -419.3877 371.833 -419.7817 c +372.1406 -419.6411 372.5361 -419.979 372.5635 -419.4722 c +f +0 D +371.6631 -423.5801 m +F +1 D +371.748 -416.3208 m +372.085 -416.208 372.1143 -416.8271 372.3105 -416.4048 c +372.1143 -416.3208 372.1406 -416.208 371.916 -416.0674 c +371.8887 -416.1802 371.7754 -416.208 371.748 -416.3208 c +371.6348 -416.377 371.748 -416.4048 371.748 -416.3208 c +f +0 D +371.748 -414.041 m +F +371.748 -415.4199 m +F +371.748 -415.8984 m +F +371.833 -416.6304 m +F +371.833 -418.5718 m +F +1 D +371.833 -421.8076 m +371.916 -421.8076 371.9443 -421.9204 371.9736 -421.8076 c +371.9736 -421.7236 371.833 -421.6953 371.833 -421.8076 c +f +0 D +371.833 -423.1875 m +F +1 D +372.6201 -415.7578 m +372.5635 -415.814 372.4229 -415.7856 372.3955 -415.8984 c +372.2549 -415.9268 371.9736 -415.6733 371.916 -415.8984 c +372.0566 -415.8984 372.3105 -416.1519 372.3955 -415.8984 c +372.6475 -415.814 372.4512 -416.1802 372.7041 -416.0674 c +372.7041 -415.9829 372.7041 -415.8984 372.7041 -415.8418 c +372.7881 -415.8418 372.7881 -415.8984 372.873 -415.8984 c +372.873 -415.814 372.873 -415.7012 372.873 -415.5889 c +372.9854 -415.5322 372.873 -415.5044 372.873 -415.5889 c +372.7607 -415.7578 372.4512 -415.4482 372.6201 -415.7578 c +f +372.0566 -417.1084 m +372.0566 -417.0522 372.1406 -417.0239 372.1406 -416.9678 c +372.0566 -416.9678 372.0566 -416.8833 371.9736 -416.8833 c +371.9736 -416.9678 371.916 -416.9678 371.916 -417.0522 c +371.9736 -417.0522 372 -417.1084 372.0566 -417.1084 c +f +0 D +371.916 -424.3965 m +F +371.9736 -412.3525 m +F +1 D +372.0566 -413.9004 m +372 -414.0693 372.3955 -414.0693 372.3105 -413.9004 c +372.2822 -413.8159 372.085 -413.7876 372.0566 -413.9004 c +f +0 D +372.0566 -418.7402 m +F +372.0566 -421.7236 m +F +372.1406 -415.6733 m +F +372.1406 -425.5225 m +F +1 D +372.2256 -415.4199 m +372.3379 -415.3638 372.2256 -415.3354 372.2256 -415.4199 c +372.1143 -415.4766 372.2256 -415.5322 372.2256 -415.4199 c +f +372.6201 -423.4961 m +372.7324 -423.2988 372.6201 -423.3555 372.7041 -423.1016 c +372.5635 -423.1016 372.4512 -423.0742 372.3955 -423.0176 c +372.4512 -423.2715 372.1143 -423.1016 372.2256 -423.4121 c +372.4229 -423.3838 372.5361 -423.4395 372.6201 -423.4961 c +f +0 D +372.2256 -414.3789 m +F +372.2256 -427.5488 m +F +1 D +372.5635 -418.1777 m +372.5635 -418.0933 372.5635 -418.0088 372.5635 -417.9248 c +372.5068 -417.9248 372.4512 -417.9248 372.3955 -417.9248 c +372.3379 -417.9248 372.2822 -417.9526 372.3105 -418.0088 c +372.3955 -418.0371 372.3662 -418.0933 372.3105 -418.1777 c +372.3955 -418.1777 372.4795 -418.1777 372.5635 -418.1777 c +f +0 D +372.3105 -414.7729 m +F +1 D +372.3105 -422.5391 m +372.3662 -422.5117 372.4795 -422.5391 372.4795 -422.4551 c +372.3955 -422.4551 372.3105 -422.4551 372.3105 -422.5391 c +f +372.3955 -413.563 m +372.4229 -413.563 372.4512 -413.563 372.4795 -413.563 c +372.4512 -413.8442 372.6475 -413.9287 372.7881 -414.041 c +372.7041 -414.2378 372.5361 -414.3228 372.4795 -414.5479 c +372.7041 -414.4351 372.7324 -414.604 372.958 -414.4634 c +373.0137 -414.5762 373.042 -414.4634 372.958 -414.4634 c +373.0137 -414.3789 373.042 -414.2666 373.042 -414.126 c +373.127 -414.1538 373.1826 -414.126 373.1826 -414.041 c +373.0986 -414.0132 373.0703 -413.9004 372.958 -413.9004 c +372.9297 -413.647 372.6768 -413.647 372.4795 -413.563 c +372.4512 -413.4785 372.3955 -413.5347 372.3955 -413.563 c +372.2822 -413.6191 372.3955 -413.6753 372.3955 -413.563 c +f +372.4795 -412.8311 m +372.4795 -412.9722 372.3955 -412.9722 372.3955 -413.0845 c +372.6475 -413.0562 372.3955 -413.4785 372.873 -413.4224 c +372.958 -413.0283 372.6201 -413.0562 372.7041 -412.6904 c +372.5635 -412.6626 372.5635 -412.7466 372.5635 -412.8311 c +372.5361 -412.8311 372.5068 -412.8311 372.4795 -412.8311 c +f +372.7041 -415.4199 m +372.6201 -415.4199 372.6475 -415.3354 372.7041 -415.251 c +372.5918 -415.251 372.5068 -415.251 372.3955 -415.251 c +372.3955 -415.3354 372.3955 -415.4199 372.3955 -415.5044 c +372.5068 -415.5044 372.6768 -415.5322 372.7041 -415.4199 c +f +372.4795 -416.1519 m +372.3379 -416.3208 372.5361 -416.3208 372.3955 -416.4893 c +372.6201 -416.6021 372.6201 -416.1235 372.4795 -416.1519 c +f +0 D +372.5635 -412.3525 m +F +372.5635 -412.606 m +F +372.5635 -412.9155 m +372.5635 -412.8872 372.5635 -412.8594 372.5635 -412.8311 c +372.5918 -412.8311 372.6475 -412.9155 372.5635 -412.9155 c +f +1 D +372.5635 -415.1104 m +372.7041 -415.1387 372.7607 -415.2793 372.958 -415.251 c +372.958 -415.2231 372.958 -415.167 372.958 -415.1104 c +373.2109 -415.2793 373.0986 -415.0825 373.1826 -415.0264 c +373.3799 -414.998 373.1543 -415.3916 373.4365 -415.251 c +373.4365 -415.0542 373.2949 -415.0264 373.4365 -414.8574 c +372.958 -414.998 373.0986 -414.5479 372.7041 -414.6318 c +372.6475 -414.8574 372.9854 -414.7168 372.873 -415.0264 c +372.7607 -414.9136 372.5635 -414.9136 372.5635 -415.1104 c +f +0 D +372.7041 -415.8418 m +372.6768 -415.814 372.6201 -415.814 372.6201 -415.7578 c +372.6768 -415.7578 372.7324 -415.7578 372.7041 -415.8418 c +f +372.6201 -418.0088 m +F +1 D +373.1826 -416.5454 m +372.958 -416.5454 373.0137 -416.2358 372.7041 -416.3208 c +372.6475 -416.208 372.6201 -416.3208 372.7041 -416.3208 c +372.8447 -416.4048 372.9297 -416.9395 373.1826 -416.5454 c +f +373.2676 -419.4722 m +373.2676 -419.3599 373.2949 -419.3315 373.3516 -419.3032 c +373.3516 -419.3315 373.3516 -419.3599 373.3516 -419.3877 c +373.6045 -419.4722 373.6611 -419.416 373.7744 -419.2192 c +373.5771 -419.1904 373.4639 -419.2471 373.3516 -419.3032 c +373.3516 -419.2754 373.3516 -419.2471 373.3516 -419.2192 c +373.2393 -419.1904 373.1543 -419.1064 373.042 -419.0498 c +373.0137 -418.9375 373.0703 -418.7402 372.958 -418.7402 c +372.958 -418.8813 372.6768 -418.7969 372.7041 -418.9658 c +372.7881 -419.0498 372.9014 -419.0786 373.042 -419.0498 c +372.9854 -419.3032 373.127 -419.3877 373.2676 -419.4722 c +f +373.042 -418.3184 m +373.0137 -418.2061 372.8447 -418.2622 372.7041 -418.2622 c +372.7041 -418.5996 372.9014 -418.3467 373.042 -418.4873 c +373.042 -418.4312 373.042 -418.375 373.042 -418.3184 c +f +372.7881 -412.522 m +372.9014 -412.4653 372.7881 -412.437 372.7881 -412.522 c +372.6768 -412.5781 372.7881 -412.606 372.7881 -412.522 c +f +0 D +372.958 -414.041 m +372.9014 -414.041 372.8447 -414.041 372.7881 -414.041 c +372.7881 -413.9565 372.8174 -413.8726 372.958 -413.9004 c +372.958 -413.9565 372.958 -414.0132 372.958 -414.041 c +f +372.7881 -418.7402 m +F +1 D +373.127 -419.8662 m +372.873 -419.8379 372.9014 -420.063 372.7881 -420.1758 c +373.042 -420.2319 373.1543 -420.1196 373.127 -419.8662 c +f +0 D +372.958 -415.1104 m +372.9014 -415.1104 372.8447 -415.0825 372.873 -415.0264 c +372.9297 -415.0264 372.958 -415.0264 372.958 -415.1104 c +f +372.873 -417.0522 m +F +372.873 -418.0933 m +F +373.042 -414.126 m +372.9854 -414.126 372.9297 -414.126 372.958 -414.041 c +373.0137 -414.0693 373.042 -414.0693 373.042 -414.126 c +f +372.958 -413 m +F +372.958 -417.9248 m +F +372.958 -422.1172 m +F +1 D +373.3516 -413.3374 m +373.2109 -413.3096 373.1826 -413.4224 373.042 -413.4224 c +372.9854 -413.2817 372.9297 -413.4224 373.042 -413.4224 c +372.9854 -413.7598 373.4365 -413.647 373.3516 -413.3374 c +f +0 D +373.127 -414.5479 m +F +373.127 -421.9766 m +F +373.127 -424.3965 m +F +1 D +373.4365 -417.4458 m +373.4365 -417.3052 373.7178 -417.3896 373.7744 -417.2773 c +373.8301 -416.9678 373.5771 -416.9678 373.4365 -416.8833 c +373.4365 -416.7988 373.4639 -416.7988 373.5205 -416.7988 c +373.3799 -416.5737 373.4922 -416.4331 373.2676 -416.4048 c +373.2949 -416.6021 373.2949 -416.771 373.1826 -416.8833 c +373.2676 -416.8833 373.3516 -416.8833 373.4365 -416.8833 c +373.4922 -417.0806 373.1826 -417.3335 373.4365 -417.4458 c +f +0 D +373.1826 -418.4028 m +F +1 D +373.6045 -412.437 m +373.4082 -412.437 373.3516 -412.2964 373.2676 -412.522 c +373.3799 -412.6338 373.5771 -412.6338 373.6045 -412.437 c +f +373.2676 -415.7578 m +373.2676 -415.8418 373.4082 -415.8418 373.4365 -415.7578 c +373.3516 -415.7578 373.3232 -415.645 373.2676 -415.7578 c +f +373.2676 -420.0347 m +373.3516 -420.0068 373.4365 -420.0347 373.4365 -419.9507 c +373.3799 -419.979 373.2676 -419.9507 373.2676 -420.0347 c +f +0 D +373.2676 -424.2285 m +F +1 D +373.3516 -420.5132 m +373.4082 -420.4854 373.5205 -420.5132 373.5205 -420.4292 c +373.4639 -420.457 373.3516 -420.4292 373.3516 -420.5132 c +f +373.6045 -414.6318 m +373.915 -414.604 373.7451 -415.0542 373.999 -415.1104 c +373.9707 -415.2793 374.0264 -415.3638 374.167 -415.3354 c +374.0557 -415.4482 374.0557 -415.645 374.252 -415.6733 c +374.3076 -415.2793 374.5332 -415.5605 374.8994 -415.5044 c +374.8145 -415.0825 375.0957 -415.5044 375.125 -415.1948 c +374.7861 -415.1387 374.8711 -415.167 374.5625 -415.1104 c +374.4219 -414.7446 374.083 -414.7168 374.3369 -414.2944 c +374.0264 -414.4634 374.1396 -414.126 373.915 -414.2944 c +373.9707 -413.7876 373.7178 -413.5908 373.4365 -413.4224 c +373.2393 -413.9565 373.915 -414.1821 373.6045 -414.6318 c +373.4922 -414.6602 373.6045 -414.7168 373.6045 -414.6318 c +f +0 D +373.4365 -417.8398 m +F +373.4365 -420.2603 m +F +373.4365 -422.1172 m +F +1 D +373.4365 -422.3711 m +373.4922 -422.3418 373.6045 -422.3711 373.6045 -422.2871 c +373.5488 -422.3145 373.4365 -422.2871 373.4365 -422.3711 c +f +373.6045 -420.5977 m +373.6611 -420.626 373.7178 -420.6826 373.8301 -420.6826 c +373.8584 -420.7666 373.9707 -420.7944 373.999 -420.9072 c +373.8584 -420.9351 373.9424 -421.1885 373.8301 -421.2451 c +373.9707 -421.2168 373.9707 -421.3013 374.083 -421.3296 c +374.083 -421.3857 374.083 -421.4141 374.083 -421.4702 c +373.9707 -421.5264 374.083 -421.583 374.083 -421.4702 c +374.1963 -421.583 374.4775 -421.6108 374.4775 -421.4141 c +374.5625 -421.3857 374.5625 -421.3296 374.6455 -421.3296 c +374.6738 -421.2168 374.6182 -421.1885 374.5625 -421.1606 c +374.5625 -421.2451 374.4219 -421.2168 374.3926 -421.3296 c +374.252 -421.1885 374.3076 -421.3296 374.083 -421.3296 c +374.0557 -421.0762 374.252 -421.0762 374.252 -420.8232 c +373.999 -420.9072 374.083 -420.626 373.8301 -420.6826 c +373.7744 -420.5132 374.083 -420.4009 373.8301 -420.3442 c +373.8301 -420.457 373.6895 -420.4292 373.6045 -420.4292 c +373.6045 -420.4854 373.6045 -420.5415 373.6045 -420.5977 c +373.2676 -420.5132 373.5771 -420.8232 373.6045 -420.5977 c +f +0 D +373.5205 -417.6152 m +F +1 D +374.083 -418.2622 m +373.8857 -418.29 373.999 -418.0088 373.8301 -418.0088 c +373.8018 -418.1494 373.6045 -417.9248 373.5205 -418.1777 c +373.7178 -418.2061 373.9424 -418.6563 374.083 -418.2622 c +f +0 D +373.5205 -424.959 m +F +1 D +373.915 -415.5889 m +373.8301 -415.5889 373.7744 -415.5889 373.6895 -415.5889 c +373.5771 -415.6733 373.6611 -415.9546 373.7744 -416.0674 c +373.8857 -415.9829 373.9707 -415.8418 373.915 -415.5889 c +f +373.915 -412.9155 m +373.8301 -412.9155 373.8018 -412.8311 373.6895 -412.8311 c +373.6611 -413.0283 373.6895 -413.1406 373.8301 -413.1689 c +373.8301 -413.0562 373.8857 -413 373.915 -412.9155 c +f +373.6895 -420.1196 m +373.7451 -420.0913 373.8301 -420.1196 373.8301 -420.0347 c +373.7744 -420.0347 373.6895 -420.0347 373.6895 -420.1196 c +f +0 D +373.6895 -420.8232 m +F +373.6895 -426.8164 m +F +1 D +373.7744 -419.8662 m +373.8301 -419.9224 373.9707 -419.979 373.999 -419.8662 c +373.8857 -419.8379 373.999 -419.7817 373.999 -419.6973 c +373.8584 -419.6973 373.8018 -419.7534 373.7744 -419.8662 c +373.6338 -419.9224 373.7744 -419.9507 373.7744 -419.8662 c +f +373.8301 -422.624 m +373.8018 -422.6523 373.7451 -422.5957 373.7744 -422.6797 c +373.8018 -423.0459 374.2236 -422.2305 373.8301 -422.624 c +f +374.167 -419.2192 m +374.1396 -419.1064 373.999 -419.1343 373.999 -419.2192 c +373.9424 -419.2192 373.915 -419.2471 373.915 -419.3032 c +373.8857 -419.3032 373.8584 -419.3032 373.8301 -419.3032 c +373.8301 -419.3599 373.7744 -419.3877 373.7744 -419.4722 c +373.8301 -419.5005 373.8857 -419.5566 373.999 -419.5566 c +374.0264 -419.416 373.915 -419.416 373.915 -419.3032 c +373.999 -419.3032 373.999 -419.2754 373.999 -419.2192 c +374.0557 -419.2192 374.1113 -419.2192 374.167 -419.2192 c +374.083 -419.5005 374.6182 -419.3877 374.5625 -419.2192 c +374.8145 -419.1904 374.4775 -418.8813 374.5625 -419.2192 c +374.3076 -419.2754 374.4219 -419.2754 374.167 -419.2192 c +f +0 D +373.7744 -421.8076 m +373.8018 -421.8076 373.8584 -421.8643 373.7744 -421.8921 c +373.7744 -421.8643 373.7744 -421.8359 373.7744 -421.8076 c +f +373.8301 -412.606 m +F +1 D +373.999 -413.4785 m +373.9424 -413.6753 374.3076 -413.6753 374.252 -413.4785 c +374.2236 -413.4224 374.0264 -413.394 373.999 -413.4785 c +f +0 D +374.252 -415.1104 m +374.1396 -415.167 374.252 -415.1948 374.252 -415.1104 c +374.3643 -415.1104 374.4482 -415.1104 374.5625 -415.1104 c +374.5625 -415.3076 374.2813 -415.2231 374.167 -415.3354 c +374.083 -415.2793 374.1113 -415.1387 373.999 -415.1104 c +373.999 -414.998 374.2236 -414.998 374.252 -415.1104 c +f +373.999 -420.5132 m +F +1 D +374.4775 -416.0674 m +374.3076 -416.0391 374.4775 -415.7012 374.252 -415.7578 c +374.2236 -415.8706 374.1113 -415.8984 374.083 -415.9829 c +374.1963 -415.9829 374.4219 -416.2925 374.4775 -416.0674 c +f +374.3369 -418.6563 m +374.1963 -418.6563 374.1113 -418.7124 374.083 -418.8252 c +374.2236 -418.8252 374.2813 -418.7686 374.3369 -418.6563 c +f +0 D +374.167 -418.3184 m +F +374.252 -415.9829 m +F +374.252 -419.9507 m +F +374.252 -420.1196 m +F +1 D +374.3369 -419.0498 m +374.3926 -419.0498 374.4775 -419.0498 374.4775 -418.9658 c +374.4219 -418.9937 374.3369 -418.9937 374.3369 -419.0498 c +f +0 D +374.3369 -420.9917 m +F +374.3926 -420.3442 m +F +374.4775 -421.4141 m +374.4482 -421.3857 374.3926 -421.3857 374.3926 -421.3296 c +374.4482 -421.3296 374.5049 -421.3296 374.4775 -421.4141 c +f +1 D +374.4775 -418.6563 m +374.6182 -418.5996 374.4775 -418.5718 374.4775 -418.6563 c +374.252 -418.6846 374.5625 -418.9937 374.4775 -418.6563 c +f +0 D +374.4775 -415.6733 m +F +374.4775 -419.6128 m +F +374.4775 -425.916 m +F +374.5625 -415.8418 m +F +374.5625 -421.6387 m +F +1 D +374.5625 -427.2109 m +374.6182 -427.1826 374.7305 -427.2109 374.7305 -427.127 c +374.6738 -427.1543 374.5625 -427.127 374.5625 -427.2109 c +f +0 D +374.6455 -424.7061 m +F +374.6455 -424.875 m +F +374.7305 -412.3525 m +F +374.7305 -413.563 m +F +374.8145 -414.21 m +F +374.8145 -424.6221 m +F +1 D +374.8994 -421.0762 m +375.0117 -421.02 374.8711 -420.9917 374.8994 -421.0762 c +374.7861 -421.1328 374.8994 -421.1606 374.8994 -421.0762 c +f +0 D +374.8994 -413.0845 m +F +1 D +374.8994 -426.957 m +374.9551 -426.957 375.04 -426.957 375.04 -426.9004 c +374.9844 -426.9004 374.8994 -426.9004 374.8994 -426.957 c +f +375.209 -427.4639 m +374.9844 -427.4355 375.04 -427.5762 374.8994 -427.4639 c +374.8994 -427.5488 374.8994 -427.6045 374.8994 -427.6895 c +375.0957 -427.7168 375.1523 -427.5762 375.209 -427.4639 c +f +375.209 -418.8252 m +375.0684 -418.8252 375.0117 -418.8813 374.9844 -418.9658 c +375.125 -418.9937 375.1807 -418.9092 375.209 -418.8252 c +f +0 D +374.9844 -419.3032 m +F +375.04 -420.1758 m +F +1 D +375.209 -412.437 m +375.209 -412.522 375.3496 -412.5498 375.3779 -412.437 c +375.293 -412.437 375.2373 -412.3247 375.209 -412.437 c +f +375.209 -427.2109 m +375.2656 -427.1826 375.3779 -427.2109 375.3779 -427.127 c +375.3213 -427.1543 375.209 -427.127 375.209 -427.2109 c +f +0 D +375.209 -427.3799 m +F +375.293 -426.6484 m +F +375.3779 -423.5801 m +F +*U +*u +387.5293 -415.8418 m +387.416 -415.8418 387.3604 -415.814 387.3047 -415.7578 c +386.9658 -415.73 387.332 -416.0112 387.3887 -416.0952 c +386.7422 -416.1519 385.9248 -416.208 385.0244 -416.0952 c +384.8838 -415.9546 384.6865 -415.5889 384.4619 -415.7578 c +384.3779 -415.5322 384.124 -415.4766 384.1533 -415.1104 c +383.7871 -415.4482 383.7871 -415.7578 383.9834 -416.0952 c +383.3926 -416.0674 382.1543 -416.3208 381.2256 -416.0952 c +381.2256 -416.5176 381.2256 -417.0522 381.2256 -417.5308 c +381.2256 -418.0088 381.3662 -418.5996 381.085 -418.8252 c +381.3662 -419.3315 381.2256 -420.0068 381.2256 -420.5977 c +381.2256 -422.5684 381.2256 -424.5654 381.2256 -426.4229 c +383.5059 -426.4229 386.1221 -426.4229 388.0918 -426.4229 c +388.9082 -426.4229 389.6963 -426.3379 390.3711 -426.4229 c +390.625 -426.4512 390.6533 -426.3379 390.7656 -426.6758 c +390.6533 -426.7041 390.7656 -426.7598 390.7656 -426.6758 c +391.1025 -426.2822 392.5947 -426.4512 393.5234 -426.5078 c +393.3828 -426.5635 393.5234 -426.5918 393.5234 -426.5078 c +394.2266 -426.3105 395.2676 -426.4785 396.084 -426.4229 c +396.084 -427.9424 396.084 -429.4902 396.084 -431.0098 c +389.6396 -431.0098 383.167 -431.0098 376.7236 -431.0098 c +376.7793 -430.4746 376.5264 -429.4902 377.0332 -429.6582 c +377.1172 -429.209 376.667 -429.6582 376.7236 -429.3213 c +376.7236 -423.5801 376.7236 -417.5308 376.7236 -411.5649 c +383.167 -411.5649 389.6396 -411.5649 396.084 -411.5649 c +396.084 -413.2534 396.168 -414.5479 396.084 -416.1802 c +393.0439 -416.1519 389.2461 -416.208 387.6133 -416.0952 c +387.6133 -415.9829 387.501 -415.9829 387.5293 -415.8418 c +387.6416 -415.7856 387.5293 -415.7578 387.5293 -415.8418 c +f +1 D +376.9492 -418.0933 m +376.9492 -418.2061 376.8643 -418.1494 376.8076 -418.0933 c +376.8076 -418.1777 376.8076 -418.2622 376.8076 -418.3467 c +376.9766 -418.4312 377.1738 -418.1494 376.9492 -418.0933 c +f +0 D +376.8076 -418.7402 m +F +376.8076 -418.9937 m +F +1 D +376.8926 -417.6152 m +376.9492 -417.6152 376.9766 -417.6152 377.0332 -417.6152 c +377.0605 -417.4746 376.9766 -417.4746 376.8926 -417.4746 c +376.8359 -417.3335 376.7793 -417.4746 376.8926 -417.4746 c +376.8926 -417.5024 376.8926 -417.5586 376.8926 -417.6152 c +f +0 D +377.0332 -418.5996 m +F +377.1172 -418.2622 m +F +1 D +377.2861 -418.4312 m +377.3711 -418.459 377.3418 -418.5996 377.4561 -418.5996 c +377.4561 -418.5156 377.54 -418.5156 377.54 -418.4312 c +377.7637 -418.4028 377.4561 -418.0933 377.54 -418.4312 c +377.4561 -418.375 377.3145 -418.3184 377.2861 -418.4312 c +f +0 D +377.3711 -418.7402 m +F +1 D +377.54 -424.8184 m +377.5117 -424.6777 377.54 -424.5371 377.3711 -424.5654 c +377.3711 -424.6221 377.3711 -424.6777 377.3711 -424.7344 c +377.4561 -424.7344 377.4561 -424.791 377.54 -424.8184 c +f +0 D +377.4561 -417.6992 m +F +1 D +377.6807 -418.8252 m +377.7373 -418.5718 377.4824 -418.5435 377.4561 -418.7402 c +377.5674 -418.7402 377.623 -418.7969 377.6807 -418.8252 c +f +0 D +377.7637 -418.5996 m +F +377.7637 -421.4141 m +F +377.8486 -418.1777 m +F +377.8486 -421.2451 m +F +377.8486 -421.667 m +F +378.0186 -417.2212 m +F +378.1025 -420.3726 m +F +378.2432 -423.5244 m +F +378.4961 -421.8921 m +F +1 D +379.0596 -428.1953 m +379.0596 -428.083 379.0596 -427.9707 379.0596 -427.8867 c +378.8623 -427.8574 378.7217 -427.9141 378.665 -428.0273 c +378.8057 -428.083 378.8057 -428.2803 379.0596 -428.1953 c +f +379.96 -415.8418 m +379.96 -415.7578 380.0156 -415.7578 380.0156 -415.6733 c +379.9307 -415.7012 379.8467 -415.645 379.79 -415.6172 c +379.79 -415.6733 379.79 -415.7578 379.79 -415.8418 c +379.8467 -415.8418 379.9043 -415.8418 379.96 -415.8418 c +f +0 D +381.873 -415.2793 m +F +1 D +382.2109 -415.6172 m +382.2109 -415.5044 382.3232 -415.5044 382.2949 -415.3638 c +382.2109 -415.3638 382.127 -415.3638 382.042 -415.3638 c +382.042 -415.4482 382.042 -415.5322 382.042 -415.6172 c +382.0977 -415.6172 382.1543 -415.6172 382.2109 -415.6172 c +f +0 D +382.5195 -415.8418 m +F +382.6895 -415.4482 m +F +1 D +382.8584 -415.6172 m +383.1396 -415.5605 383.6465 -415.73 383.5898 -415.3638 c +383.5332 -415.3638 383.4766 -415.3638 383.4209 -415.3638 c +383.5059 -414.998 383.0547 -415.4482 383.4209 -415.3638 c +383.5059 -415.6733 382.6045 -415.4199 382.8584 -415.6172 c +f +0 D +383.167 -414.1538 m +F +383.252 -414.4072 m +F +383.252 -414.5479 m +F +1 D +383.4209 -414.7168 m +383.6738 -414.6885 383.3359 -414.3789 383.4209 -414.7168 c +383.3086 -414.7729 383.4209 -414.8008 383.4209 -414.7168 c +f +0 D +383.6738 -414.6318 m +F +384.7158 -416.1802 m +384.4619 -416.1235 384.4619 -415.8418 384.1533 -415.8418 c +384.1533 -415.73 384.3496 -415.7856 384.4619 -415.7578 c +384.5459 -415.9268 384.9121 -415.9546 384.7158 -416.1802 c +f +384.2939 -416.0952 m +384.2646 -416.208 384.2373 -416.0674 384.1533 -416.0952 c +384.1533 -415.9829 384.2939 -416.0112 384.2939 -416.0952 c +f +384.5459 -415.2793 m +F +384.8838 -415.8418 m +F +385.3623 -415.8418 m +F +386.1504 -415.6733 m +F +1 D +386.4043 -415.0264 m +386.4609 -415.0264 386.5723 -415.0264 386.5723 -414.9697 c +386.5166 -414.9697 386.4043 -414.9697 386.4043 -415.0264 c +f +0 D +386.5723 -415.9268 m +F +386.6572 -415.0264 m +F +386.8828 -429.4063 m +F +388.1768 -415.6172 m +F +1 D +390.5957 -426.5918 m +390.5127 -426.5918 390.4551 -426.5918 390.3711 -426.5918 c +390.3711 -426.6758 390.3711 -426.7324 390.3711 -426.8164 c +390.5684 -426.873 390.5127 -426.6484 390.5957 -426.5918 c +f +0 D +390.9346 -426.7324 m +F +1 D +391.8066 -427.7168 m +391.8633 -427.6895 391.9756 -427.7168 391.9756 -427.6328 c +391.9189 -427.6611 391.8066 -427.6328 391.8066 -427.7168 c +f +393.0166 -427.4639 m +393.0166 -427.2676 392.876 -427.1826 392.792 -427.0703 c +392.707 -427.0977 392.4814 -427.3799 392.707 -427.4639 c +392.7354 -427.2676 392.8477 -427.5762 393.0166 -427.4639 c +f +393.2695 -427.1543 m +393.2695 -427.0137 393.2695 -426.873 393.2695 -426.7324 c +393.6074 -426.8164 393.2695 -426.5078 393.2695 -426.7324 c +393.1582 -426.8447 393.0166 -427.127 393.2695 -427.1543 c +f +393.832 -427.4639 m +393.9453 -427.4082 393.832 -427.3799 393.832 -427.4639 c +393.8047 -427.4639 393.7764 -427.4639 393.748 -427.4639 c +393.832 -427.127 393.5234 -427.4639 393.748 -427.4639 c +393.7764 -427.5488 393.832 -427.5205 393.832 -427.4639 c +f +0 D +394.1426 -427.6328 m +F +395.5215 -415.1104 m +F +*U +*u +407.0537 -416.3208 m +407.0537 -416.4048 406.9688 -416.4048 406.9688 -416.4893 c +405.2529 -416.4614 404.042 -416.4614 402.3545 -416.4893 c +402.1846 -417.2212 402.3262 -418.3184 402.2695 -419.2192 c +404.0146 -419.3877 406.125 -419.3315 407.3633 -419.3877 c +407.6162 -419.3877 407.8975 -419.5288 408.0098 -419.3032 c +408.208 -419.4438 407.9268 -419.585 408.0938 -419.7817 c +408.2637 -419.8101 408.123 -419.5005 408.1787 -419.3877 c +411.3867 -419.1904 414.2012 -419.3599 417.3809 -419.3032 c +417.4648 -419.9224 417.4092 -420.2319 417.3809 -420.9917 c +417.2686 -420.9917 417.2686 -420.8794 417.1279 -420.9072 c +417.1553 -420.8511 417.0986 -420.8511 417.043 -420.8232 c +417.043 -420.9072 417.0723 -420.9072 417.1279 -420.9072 c +417.0986 -421.1045 417.2686 -421.1045 417.2129 -421.3296 c +417.0986 -421.3574 417.2129 -421.4141 417.2129 -421.3296 c +417.5498 -421.583 417.2129 -421.7515 417.3809 -422.1172 c +417.3809 -422.5684 417.4365 -423.3838 417.3809 -423.8906 c +416.7334 -423.8057 416.2549 -424.002 415.6924 -423.834 c +415.6357 -423.6934 415.5801 -423.834 415.6924 -423.834 c +411.4717 -424.0313 406.9131 -423.8057 403.3379 -423.8906 c +402.9453 -423.918 403.4785 -423.5244 403.0859 -423.4961 c +402.6641 -423.665 402.6074 -423.75 402.2139 -423.9746 c +402.6357 -424.3965 401.8193 -425.3252 402.2695 -425.2695 c +402.2695 -425.3535 402.2139 -425.3818 402.2139 -425.4375 c +402.0166 -425.2402 401.9326 -425.4941 401.792 -425.6064 c +401.96 -425.6631 402.0439 -425.7754 402.2695 -425.6064 c +402.3262 -426.2266 402.2139 -426.5635 402.2139 -426.8164 c +402.6641 -427.0977 403.3115 -426.957 403.9014 -426.957 c +405.7861 -426.957 407.6719 -426.957 409.4736 -426.957 c +409.4453 -427.0977 409.333 -427.0977 409.3047 -427.2109 c +409.4453 -427.4082 409.5303 -426.9004 409.7832 -426.957 c +411.4434 -427.127 413.7793 -426.7598 415.4385 -426.957 c +415.5518 -426.9863 415.7207 -426.957 415.6924 -427.127 c +416.002 -426.7891 416.9023 -427.041 417.4648 -426.957 c +417.3809 -427.998 417.4648 -429.377 417.4648 -431.0098 c +415.0459 -431.1221 412.5684 -431.1221 410.5156 -430.9258 c +410.9082 -430.9814 410.458 -430.5313 410.5156 -430.9258 c +406.1816 -431.0664 401.9033 -430.9531 397.3447 -431.0098 c +397.4023 -425.8887 397.2617 -420.5698 397.4287 -415.5889 c +397.5703 -415.6172 397.5137 -415.8418 397.7676 -415.7578 c +397.9922 -415.5605 397.626 -415.251 397.8516 -415.0264 c +397.9082 -415.0825 398.1045 -415.3638 398.0762 -415.0264 c +398.415 -414.8574 398.3857 -414.6885 398.5557 -414.4634 c +398.6113 -414.5195 398.6396 -414.604 398.7246 -414.6318 c +398.752 -414.3789 398.7246 -414.3506 398.5557 -414.4634 c +398.3857 -414.2944 398.667 -414.21 398.6396 -413.9849 c +398.7803 -413.9287 398.6396 -413.8726 398.6396 -413.9849 c +398.3857 -413.8442 398.1045 -413.9287 397.9922 -414.3789 c +398.2734 -414.604 398.0488 -414.041 398.415 -414.2944 c +398.5264 -414.604 398.1611 -414.4634 398.0762 -414.5479 c +397.9355 -414.6318 397.8799 -414.8291 397.7676 -414.9414 c +397.626 -415.0825 397.4023 -414.9414 397.4287 -415.1948 c +397.2041 -414.998 397.5137 -414.7168 397.3447 -414.5479 c +397.5703 -414.5479 397.8799 -414.5762 397.6836 -414.3789 c +398.1895 -414.3228 397.373 -414.041 397.6836 -414.3789 c +397.5703 -414.3789 397.458 -414.3789 397.3447 -414.3789 c +397.3447 -414.1538 397.3447 -413.9565 397.3447 -413.7314 c +397.4854 -413.9287 397.4854 -413.7876 397.6836 -413.9004 c +397.7109 -413.7036 397.543 -413.7036 397.5986 -413.4785 c +397.5986 -413.3096 397.373 -413.5063 397.4287 -413.647 c +397.2617 -413.1968 397.4023 -412.3813 397.3447 -411.79 c +404.0703 -411.79 410.7676 -411.79 417.4648 -411.79 c +417.3809 -413.4502 417.5498 -414.8853 417.3809 -416.4893 c +414.3984 -416.4893 411.415 -416.4893 408.4043 -416.4893 c +408.1504 -416.5454 408.291 -416.208 408.0938 -416.2358 c +408.1504 -416.6021 407.2783 -416.4893 407.0537 -416.3208 c +406.9971 -416.208 406.9404 -416.3208 407.0537 -416.3208 c +f +397.5137 -414.041 m +F +397.5986 -415.3354 m +F +397.5986 -415.3354 m +F +397.6836 -413.647 m +F +397.8516 -414.126 m +F +1 D +398.3301 -424.875 m +398.3301 -424.3965 397.7676 -424.791 398.1611 -424.959 c +398.1895 -424.875 398.2451 -424.8467 398.3301 -424.875 c +f +0 D +398.0762 -415.0264 m +F +1 D +398.3301 -425.5225 m +397.9922 -425.4375 398.3018 -425.7471 398.3301 -425.5225 c +398.3857 -425.5225 398.4424 -425.5225 398.499 -425.5225 c +398.499 -425.6348 398.415 -425.6631 398.415 -425.7471 c +398.667 -425.7754 399.1465 -425.5781 398.8926 -425.3535 c +398.8369 -425.4375 398.6396 -425.3535 398.499 -425.5225 c +398.4707 -425.4102 398.3301 -425.4375 398.3301 -425.5225 c +f +0 D +398.2451 -422.8496 m +F +398.3301 -415.8984 m +F +1 D +399.2031 -413.9004 m +399.2031 -413.6753 399.2031 -413.4502 399.2031 -413.2534 c +398.8652 -413.2534 398.7246 -413.1406 398.499 -413.3374 c +398.499 -413.5347 398.8369 -413.8442 399.2031 -413.9004 c +f +398.7246 -421.4141 m +398.752 -421.2168 398.7246 -421.1045 398.5557 -421.0762 c +398.583 -421.1885 398.5264 -421.2451 398.499 -421.3296 c +398.6113 -421.3296 398.667 -421.3574 398.7246 -421.4141 c +f +0 D +398.499 -421.4702 m +F +1 D +398.499 -425.2695 m +398.5557 -425.2695 398.6396 -425.2695 398.6396 -425.1846 c +398.583 -425.2129 398.499 -425.1846 398.499 -425.2695 c +f +398.9775 -424.4814 m +398.6963 -424.4814 398.583 -424.2842 398.5557 -424.6221 c +398.7803 -424.6504 398.8926 -424.5938 398.9775 -424.4814 c +f +0 D +398.6396 -412.3525 m +F +398.8076 -428.0273 m +F +398.8926 -420.8232 m +F +398.8926 -423.4961 m +F +1 D +398.9775 -414.8574 m +399.0332 -414.8574 399.1182 -414.8574 399.1465 -414.7729 c +399.0625 -414.8008 398.9775 -414.7729 398.9775 -414.8574 c +f +398.9775 -425.0439 m +399.1182 -425.0996 398.9775 -425.1846 398.9775 -425.2695 c +399.1182 -425.2969 399.1465 -425.1846 399.2871 -425.1846 c +399.3145 -425.0723 399.2295 -425.0439 399.2031 -424.959 c +399.54 -425.0156 399.5957 -424.6777 399.9336 -424.6221 c +400.3838 -424.9033 400.4971 -424.5371 v +400.5527 -424.791 400.666 -424.4814 400.834 -424.5371 c +400.7227 -424.3125 400.9189 -424.2285 401.0039 -423.9746 c +401.0879 -424.0586 401.1445 -424.1992 401.2285 -424.3125 c +400.8066 -424.2285 401.1445 -424.5371 401.2285 -424.3125 c +401.6221 -424.2842 401.1719 -424.0313 401.1445 -423.8906 c +401.5938 -424.002 401.3125 -423.4395 401.1445 -423.4121 c +401.1152 -423.5527 401.2285 -423.5527 401.2285 -423.665 c +400.7783 -423.665 400.4971 -424.5098 400.1025 -424.0586 c +400.1875 -424.7061 399.0059 -424.3125 399.2031 -424.959 c +399.0889 -424.9316 398.9775 -424.9316 398.9775 -425.0439 c +f +399.1465 -425.832 m +399.1465 -425.8594 399.1465 -425.8887 399.1465 -425.916 c +399.0059 -425.9727 399.1465 -426.0293 399.1465 -425.916 c +399.2031 -425.9443 399.2031 -425.8887 399.2031 -425.832 c +399.2871 -425.9727 399.3994 -426.3672 399.54 -426 c +399.0332 -425.9727 399.9902 -425.2695 399.7656 -425.7471 c +399.9336 -425.7471 400.2432 -425.4941 400.0186 -425.3535 c +399.9619 -425.5508 399.8496 -425.0996 399.625 -425.1846 c +399.625 -425.3252 399.6523 -425.4941 399.54 -425.5225 c +399.5117 -425.1563 399.0625 -425.5225 399.1465 -425.7471 c +399.0332 -425.7754 399.0889 -425.832 399.1465 -425.832 c +f +399.1465 -415.3354 m +399.2588 -415.3076 399.1182 -415.251 399.1465 -415.3354 c +399.0059 -415.3916 399.1465 -415.4482 399.1465 -415.3354 c +f +399.4551 -417.1929 m +399.3438 -417.1646 399.3145 -417.0806 399.1465 -417.1084 c +399.0625 -417.3896 399.2588 -417.3618 399.3711 -417.4458 c +399.3711 -417.3335 399.4277 -417.2773 399.4551 -417.1929 c +f +0 D +399.1465 -425.7471 m +399.1738 -425.7754 399.2295 -425.7754 399.2031 -425.832 c +399.1738 -425.832 399.1738 -425.832 399.1465 -425.832 c +399.1465 -425.8037 399.1465 -425.7754 399.1465 -425.7471 c +f +1 D +399.3711 -424.3125 m +399.3711 -424.2559 399.3711 -424.1992 399.3711 -424.1426 c +399.3145 -424.1426 399.2588 -424.1426 399.2031 -424.1426 c +399.2031 -424.1992 399.2031 -424.2559 399.2031 -424.3125 c +399.2588 -424.3125 399.3145 -424.3125 399.3711 -424.3125 c +f +0 D +399.2031 -430.1094 m +F +1 D +399.54 -414.8574 m +399.3994 -414.8574 399.3438 -414.9136 399.2871 -415.0264 c +399.4277 -415.0264 399.5117 -414.9697 399.54 -414.8574 c +f +399.3711 -426.3105 m +399.3145 -426.1973 399.2871 -426.3379 399.3711 -426.3105 c +399.4277 -426.4512 399.4844 -426.3105 399.3711 -426.3105 c +f +0 D +399.3711 -414.126 m +F +399.3711 -414.6885 m +F +399.3711 -423.5801 m +F +1 D +399.54 -415.3354 m +399.54 -415.251 399.6807 -415.2793 399.709 -415.1948 c +399.5957 -415.167 399.5684 -415.0825 399.4551 -415.1948 c +399.4844 -415.251 399.4551 -415.3354 399.54 -415.3354 c +f +0 D +399.4551 -421.7236 m +F +399.54 -412.7749 m +F +399.54 -416.5454 m +F +399.54 -416.7144 m +F +1 D +399.625 -414.6318 m +399.6807 -414.604 399.7656 -414.604 399.7656 -414.5479 c +399.709 -414.5479 399.625 -414.5479 399.625 -414.6318 c +f +399.7656 -415.0264 m +399.8213 -415.1387 399.877 -415.0264 399.7656 -415.0264 c +399.793 -414.9136 399.793 -414.8008 399.709 -414.7729 c +399.6523 -414.6602 399.5957 -414.8008 399.709 -414.7729 c +399.6807 -414.8853 399.6807 -414.998 399.7656 -415.0264 c +f +0 D +399.709 -413.563 m +F +399.709 -414.21 m +F +1 D +400.1025 -415.4199 m +400.1592 -415.5605 399.9902 -415.8984 400.1875 -415.8984 c +400.1309 -416.0674 399.9336 -416.0674 400.1025 -416.2358 c +399.9063 -416.2358 399.8213 -416.377 399.709 -416.4893 c +399.8496 -416.4893 399.7656 -416.7427 399.9336 -416.7144 c +399.9336 -416.6304 400.0469 -416.6582 400.1025 -416.6304 c +400.1025 -416.4893 400.1025 -416.377 400.1025 -416.2358 c +400.3838 -416.2358 400.4971 -415.6733 400.1875 -415.8984 c +400.2158 -415.73 400.3281 -415.5889 400.1875 -415.4199 c +400.2998 -415.3638 400.1875 -415.3354 400.1875 -415.4199 c +400.1592 -415.4199 400.1309 -415.4199 400.1025 -415.4199 c +f +399.8496 -415.4199 m +399.9902 -415.3638 399.8496 -415.3354 399.8496 -415.4199 c +399.7363 -415.4766 399.877 -415.5322 399.8496 -415.4199 c +f +399.8496 -428.168 m +399.793 -428.4766 400.2432 -428.4766 400.1875 -428.168 c +400.0742 -428.168 399.9619 -428.168 399.8496 -428.168 c +f +0 D +399.8496 -419.0498 m +F +1 D +400.1875 -414.7729 m +400.0186 -414.8008 400.0186 -414.6602 399.9336 -414.6318 c +399.9902 -414.7729 399.8496 -415.0825 400.0186 -415.1104 c +400.1309 -414.9136 399.9902 -414.9136 400.1875 -414.7729 c +f +0 D +399.9336 -415.7578 m +F +400.0186 -425.1846 m +F +400.0186 -425.7471 m +F +400.0186 -428.8984 m +F +1 D +400.1875 -415.1948 m +400.4404 -415.2793 400.666 -415.2793 400.834 -415.1104 c +400.4121 -415.2231 400.75 -414.9414 y +400.6094 -414.8008 400.3564 -414.9414 400.2715 -414.6318 c +400.2158 -414.8853 400.3838 -414.9414 400.4121 -415.1104 c +400.2998 -415.1104 400.1875 -415.0825 400.1875 -415.1948 c +399.8496 -415.1104 400.1592 -415.4199 400.1875 -415.1948 c +f +400.3564 -412.437 m +400.1309 -412.3525 399.9902 -412.7188 400.1875 -412.7749 c +400.1875 -412.606 400.4121 -412.6626 400.3564 -412.437 c +f +0 D +400.1025 -413 m +F +400.1025 -413.9004 m +F +400.1025 -423.5801 m +F +1 D +400.4971 -425.6064 m +400.4971 -425.6348 400.4971 -425.6631 400.4971 -425.6914 c +401.0596 -425.6064 400.3838 -425.0723 400.9189 -425.0439 c +400.7783 -424.9033 400.4404 -425.0439 400.4971 -425.3535 c +400.2998 -425.2695 400.0469 -425.5225 400.2715 -425.6064 c +400.2432 -425.4941 400.4971 -425.3252 400.4971 -425.5225 c +400.4121 -425.5225 400.4688 -425.6064 400.4971 -425.6064 c +f +0 D +400.2715 -414.4634 m +F +400.2715 -425.1846 m +F +400.2715 -425.916 m +F +1 D +400.75 -417.0522 m +400.6934 -417.0522 400.6377 -417.0522 400.5811 -417.0522 c +400.5254 -417.249 399.9902 -417.6152 400.4971 -417.6992 c +400.5254 -417.3618 400.5811 -417.3335 400.75 -417.0522 c +f +0 D +400.3564 -413.9849 m +F +400.3564 -415.5889 m +F +400.3564 -426.957 m +F +400.4121 -424.3965 m +F +1 D +400.4971 -414.6318 m +400.4688 -414.4912 400.4121 -414.6318 400.4971 -414.6318 c +400.4404 -414.9414 400.75 -414.6318 400.4971 -414.6318 c +f +0 D +400.4971 -425.5225 m +400.5254 -425.5225 400.5527 -425.5225 400.5811 -425.5225 c +400.5811 -425.5781 400.5811 -425.6064 400.4971 -425.6064 c +400.4971 -425.5781 400.4971 -425.5508 400.4971 -425.5225 c +f +400.4971 -426.1699 m +F +400.5811 -413.7314 m +F +400.666 -425.5225 m +400.6377 -425.5225 400.6094 -425.5225 400.5811 -425.5225 c +400.5811 -425.4658 400.666 -425.4375 400.666 -425.5225 c +f +400.666 -426.6484 m +F +400.666 -428.6738 m +F +1 D +400.75 -426.957 m +400.8633 -426.9297 400.75 -426.873 400.75 -426.957 c +400.6377 -427.0137 400.75 -427.0703 400.75 -426.957 c +f +400.75 -415.6733 m +400.9473 -415.7856 400.9746 -415.3916 400.834 -415.4199 c +400.834 -415.4766 400.8066 -415.5322 400.75 -415.5044 c +400.75 -415.5605 400.75 -415.6172 400.75 -415.6733 c +f +401.1445 -416.0674 m +401.1719 -415.9268 401.0596 -415.8984 401.0596 -415.7578 c +400.9189 -415.7578 400.8066 -415.814 400.75 -415.8984 c +400.8633 -415.9829 401.0313 -415.9829 401.1445 -416.0674 c +f +0 D +400.75 -416.8833 m +F +400.834 -425.2695 m +F +1 D +400.9189 -414.3789 m +401.0313 -414.3228 400.8906 -414.2666 400.9189 -414.3789 c +400.7783 -414.4351 400.9189 -414.4634 400.9189 -414.3789 c +f +401.1445 -418.6563 m +401.1445 -418.5156 401.0879 -418.459 401.0039 -418.4028 c +401.0039 -418.4873 400.9189 -418.5156 400.9189 -418.5718 c +401.0039 -418.5718 401.0313 -418.6846 401.1445 -418.6563 c +f +0 D +400.9189 -424.791 m +F +1 D +401.0039 -416.1519 m +400.9189 -416.3486 400.8633 -416.5176 401.0596 -416.6304 c +401.1152 -416.4614 401.2559 -416.208 401.0039 -416.1519 c +f +401.0039 -427.2949 m +400.9473 -427.1826 400.8906 -427.2949 401.0039 -427.2949 c +401.0313 -427.4082 401.0879 -427.2949 401.0039 -427.2949 c +f +401.3965 -415.1104 m +401.3965 -414.8574 401.5664 -414.7446 401.3965 -414.5479 c +401.4531 -414.9697 401.0596 -414.604 401.0039 -414.7729 c +401.1445 -414.8574 401.1152 -415.1387 401.3965 -415.1104 c +f +0 D +401.0039 -427.8574 m +F +1 D +401.0596 -426.2539 m +401.2002 -426.1973 401.0596 -426.1406 401.0596 -426.2539 c +400.9473 -426.2822 401.0879 -426.3379 401.0596 -426.2539 c +f +401.2285 -425.6914 m +401.1719 -425.7188 401.0879 -425.7471 401.0596 -425.832 c +401.1719 -425.832 401.3125 -425.832 401.3125 -425.916 c +401.3965 -426.1133 401.0596 -426.3105 401.3125 -426.3945 c +401.3408 -426.3379 401.3965 -426.2539 401.4814 -426.2539 c +401.5107 -426.3672 401.5664 -426.2266 401.4814 -426.2539 c +401.4814 -426.2266 401.4814 -426.1973 401.4814 -426.1699 c +401.5938 -426.1133 401.4531 -426.0566 401.4814 -426.1699 c +401.2852 -426.1406 401.4814 -425.8594 401.5664 -425.832 c +401.5664 -425.8594 401.5664 -425.8887 401.5664 -425.916 c +401.6514 -425.9443 401.6221 -426.0859 401.707 -426.0859 c +401.8193 -425.9727 401.7344 -425.9443 401.707 -425.832 c +401.8477 -425.8037 401.707 -425.7471 401.707 -425.832 c +401.6514 -425.832 401.6221 -425.832 401.5664 -425.832 c +401.6514 -425.7188 401.6514 -425.6348 401.4814 -425.6064 c +401.5938 -425.8037 401.2002 -425.832 401.2285 -425.6914 c +401.4258 -425.6914 401.3701 -425.5781 401.2285 -425.6064 c +401.2285 -425.5781 401.2285 -425.5508 401.2285 -425.5225 c +401.3408 -425.4658 401.2285 -425.4102 401.2285 -425.5225 c +401.0879 -425.2969 400.9473 -425.6348 401.2285 -425.6064 c +401.2285 -425.6348 401.2285 -425.6631 401.2285 -425.6914 c +f +0 D +401.0596 -426.6484 m +F +401.1445 -414.3789 m +F +401.1445 -414.5479 m +F +401.1445 -417.8398 m +F +401.2285 -415.3354 m +F +1 D +401.3965 -415.8984 m +401.3701 -415.8984 401.3408 -415.8984 401.3125 -415.8984 c +401.1445 -416.0391 401.3125 -416.3486 401.4814 -416.1519 c +401.4814 -416.208 401.4814 -416.2642 401.4814 -416.3208 c +401.4814 -416.4048 401.4814 -416.4893 401.4814 -416.5454 c +401.7344 -416.4614 401.6777 -416.686 401.792 -416.7144 c +401.7344 -416.1802 401.8193 -416.1519 401.875 -415.6733 c +401.9883 -415.5605 402.2695 -415.645 402.2695 -415.4199 c +401.9326 -415.251 402.5791 -414.8008 402.6074 -414.4634 c +402.1846 -414.4072 402.1572 -414.7168 402.1289 -415.0264 c +401.6777 -415.0825 401.5938 -415.4766 401.4814 -415.8418 c +401.3965 -415.814 401.3965 -415.8706 401.3965 -415.8984 c +f +401.3965 -425.0996 m +401.5107 -425.0723 401.3965 -425.0156 401.3965 -425.0996 c +401.3701 -425.0996 401.3408 -425.0996 401.3125 -425.0996 c +401.2559 -424.9883 401.2285 -425.1289 401.3125 -425.0996 c +401.3408 -425.2129 401.3965 -425.1563 401.3965 -425.0996 c +f +0 D +401.3125 -416.4048 m +F +1 D +401.707 -424.791 m +401.6514 -424.7344 401.4531 -424.3691 401.3125 -424.6221 c +401.3965 -424.6504 401.3701 -424.7061 401.3125 -424.791 c +401.4531 -424.8184 401.5938 -424.9316 401.707 -424.791 c +f +0 D +401.3125 -426.957 m +F +401.3125 -428.0273 m +F +1 D +401.3965 -428.3359 m +401.6514 -428.3086 401.2002 -428.5615 401.4814 -428.5898 c +401.5938 -428.5898 401.9326 -428.9277 402.0439 -429.0684 c +402.2979 -428.4766 402.1289 -428.3086 401.792 -427.8574 c +401.792 -427.9141 401.7344 -427.9424 401.6221 -427.9424 c +401.7344 -428.252 401.4814 -428.2236 401.3965 -428.3359 c +f +0 D +401.4814 -416.1519 m +401.5107 -416.0112 401.3965 -416.0112 401.3965 -415.8984 c +401.4531 -415.8984 401.4814 -415.8984 401.4814 -415.8418 c +401.7344 -415.814 401.792 -416.208 401.4814 -416.1519 c +f +401.4814 -413.563 m +F +1 D +401.875 -414.21 m +401.8477 -414.21 401.8193 -414.21 401.792 -414.21 c +401.7627 -414.4912 401.5107 -414.0132 401.4814 -414.2944 c +401.5664 -414.3228 401.5371 -414.4351 401.5664 -414.5479 c +401.7344 -414.5195 401.875 -414.5479 401.96 -414.6318 c +401.96 -414.5479 401.96 -414.4634 401.96 -414.3789 c +402.1572 -414.2944 402.1006 -414.0972 402.0439 -413.9004 c +402.1572 -413.8442 402.0439 -413.7876 402.0439 -413.9004 c +401.9883 -413.9004 401.9326 -413.9004 401.875 -413.9004 c +401.6514 -413.6753 401.9883 -413.8159 402.0439 -413.647 c +401.9326 -413.647 401.8193 -413.647 401.707 -413.647 c +401.7344 -413.7876 401.6514 -413.7876 401.6221 -413.9004 c +401.707 -413.9004 401.792 -413.9004 401.875 -413.9004 c +401.875 -414.126 401.7344 -414.0693 401.875 -414.21 c +f +0 D +401.4814 -427.2109 m +F +1 D +401.6221 -426.6484 m +401.7344 -426.4229 401.9033 -426.2539 402.1289 -426.1699 c +401.7627 -426.0859 401.4258 -426.4229 401.6221 -426.6484 c +401.6777 -426.7598 401.7344 -426.6484 401.6221 -426.6484 c +f +401.6221 -424.3965 m +401.6514 -424.2559 401.8193 -424.3398 401.875 -424.3965 c +401.96 -424.1152 401.7627 -424.1152 401.5664 -424.1426 c +401.5664 -424.1992 401.5664 -424.2559 401.5664 -424.3125 c +401.5664 -424.3691 401.5664 -424.3965 401.6221 -424.3965 c +f +0 D +401.6221 -414.8574 m +F +1 D +401.792 -427.3799 m +401.792 -427.4639 401.6514 -427.5488 401.792 -427.6045 c +401.8193 -427.5205 401.9326 -427.4355 401.792 -427.3799 c +f +0 D +401.96 -414.3789 m +401.9033 -414.3506 401.875 -414.3228 401.875 -414.21 c +401.9326 -414.2378 401.96 -414.2944 401.96 -414.3789 c +f +401.875 -426 m +F +401.875 -426.5635 m +F +401.96 -413.563 m +F +1 D +401.96 -418.7402 m +402.0166 -418.7124 402.1289 -418.7402 402.1289 -418.6563 c +402.0439 -418.6846 401.96 -418.6563 401.96 -418.7402 c +f +0 D +402.0439 -426.0859 m +F +402.1289 -413.7314 m +F +402.2139 -425.4375 m +F +1 D +402.7764 -413.4785 m +402.4668 -413.3096 402.3262 -413.5908 402.2695 -413.9004 c +402.5508 -413.8442 402.6074 -413.6191 402.7764 -413.4785 c +f +402.5234 -414.3789 m +402.5234 -414.3228 402.5234 -414.2666 402.5234 -414.21 c +402.4385 -414.21 402.3545 -414.21 402.2695 -414.21 c +402.2695 -414.2666 402.2695 -414.3228 402.2695 -414.3789 c +402.3545 -414.3789 402.4385 -414.3789 402.5234 -414.3789 c +f +0 D +402.3545 -414.041 m +F +1 D +402.4385 -422.8496 m +402.6914 -422.8496 402.3545 -422.5117 402.4385 -422.8496 c +402.3262 -422.9053 402.4385 -422.9609 402.4385 -422.8496 c +f +0 D +402.4385 -415.8984 m +F +1 D +402.5234 -428.4209 m +402.4102 -428.4766 402.5234 -428.5332 402.5234 -428.4209 c +402.6641 -428.4492 402.6641 -428.3359 402.7764 -428.3359 c +402.748 -428.4209 402.8047 -428.4209 402.832 -428.4209 c +402.8604 -428.5332 403.001 -428.5049 403.001 -428.4209 c +403.1143 -428.3643 403.001 -428.3359 403.001 -428.4209 c +402.9453 -428.4209 402.8887 -428.4209 402.832 -428.4209 c +402.8604 -428.3643 402.8047 -428.3359 402.7764 -428.3359 c +402.8604 -427.8301 403.3115 -428.1387 403.4785 -427.7734 c +404.0703 -427.8867 403.5361 -427.4355 403.4785 -427.7734 c +403.0859 -427.7168 402.6074 -427.8301 402.5234 -428.4209 c +f +402.7764 -415.0264 m +402.748 -414.9136 402.748 -414.8291 402.6074 -414.8574 c +402.6074 -414.9697 402.5791 -415.0825 402.6914 -415.1104 c +402.6914 -415.0542 402.6914 -414.998 402.7764 -415.0264 c +f +402.6914 -413.8159 m +402.8047 -413.7598 402.6641 -413.7036 402.6914 -413.8159 c +402.5791 -413.8726 402.6914 -413.9004 402.6914 -413.8159 c +f +402.832 -420.8232 m +402.832 -420.5132 402.4951 -420.8511 402.832 -420.8232 c +402.8887 -420.9639 402.9453 -420.8232 402.832 -420.8232 c +f +0 D +402.7764 -413.4224 m +F +1 D +402.832 -414.5479 m +402.7197 -414.5762 402.8604 -414.6318 402.832 -414.5479 c +402.917 -414.5479 402.917 -414.5195 402.917 -414.4634 c +403.0576 -414.4072 402.917 -414.3506 402.917 -414.4634 c +402.8604 -414.4351 402.8604 -414.4912 402.832 -414.5479 c +f +0 D +402.832 -415.5044 m +F +402.832 -423.8906 m +F +402.917 -413.2534 m +F +1 D +403.3379 -429.377 m +403.1982 -429.4063 402.917 -429.3213 403.001 -429.5469 c +403.1982 -429.5742 403.3115 -429.5469 403.3379 -429.377 c +f +403.3379 -422.2012 m +403.1143 -422.1738 403.0293 -422.0605 403.001 -422.3711 c +403.1709 -422.3711 403.2822 -422.3145 403.3379 -422.2012 c +f +403.0859 -414.041 m +403.2822 -414.1821 403.3379 -413.7876 403.1709 -413.8159 c +403.1709 -413.8726 403.1709 -413.9004 403.0859 -413.9004 c +403.0859 -413.9565 403.0859 -414.0132 403.0859 -414.041 c +f +0 D +403.0859 -427.127 m +F +1 D +403.0859 -429.2363 m +403.1709 -429.209 403.2266 -429.3496 403.2549 -429.2363 c +403.2549 -429.1523 403.1143 -429.125 403.0859 -429.2363 c +f +403.1709 -414.6885 m +403.2266 -414.6885 403.3379 -414.6885 403.3379 -414.6318 c +403.2549 -414.6318 403.1709 -414.6318 403.1709 -414.6885 c +f +0 D +403.3379 -420.3442 m +F +403.4785 -427.2949 m +F +403.4785 -429.5469 m +F +1 D +403.5635 -420.2603 m +403.6768 -420.2319 403.5635 -420.1758 403.5635 -420.2603 c +403.4521 -420.3164 403.5928 -420.3726 403.5635 -420.2603 c +f +0 D +403.5635 -414.2944 m +F +1 D +403.5635 -420.5977 m +403.6484 -420.5698 403.7334 -420.5977 403.7334 -420.5132 c +403.6768 -420.5415 403.5635 -420.5132 403.5635 -420.5977 c +f +0 D +403.6484 -429.9688 m +F +403.8184 -415.3354 m +F +403.8184 -430.0254 m +F +403.9014 -421.8076 m +F +1 D +404.127 -416.2358 m +404.2109 -415.8984 403.9014 -416.208 404.127 -416.2358 c +404.1826 -416.3486 404.2402 -416.2358 404.127 -416.2358 c +f +0 D +404.0703 -415.4199 m +F +404.0703 -415.8984 m +F +1 D +404.5488 -427.4639 m +404.3809 -427.4639 404.3809 -427.3516 404.2959 -427.2949 c +404.2676 -427.4082 404.127 -427.3799 404.0703 -427.4639 c +404.0996 -427.9141 404.4365 -427.7451 404.5488 -427.4639 c +f +404.3809 -421.0762 m +404.2109 -421.2168 404.042 -421.6108 404.2959 -421.7236 c +404.3809 -421.667 404.3516 -421.498 404.4648 -421.4702 c +404.5215 -421.6108 404.5488 -421.4702 404.4648 -421.4702 c +404.4648 -421.3574 404.4648 -421.2168 404.4648 -421.0762 c +404.5771 -421.02 404.4648 -420.9917 404.4648 -421.0762 c +404.4365 -421.0762 404.4082 -421.0762 404.3809 -421.0762 c +f +0 D +404.2109 -420.0347 m +F +404.2959 -420.3442 m +F +404.3809 -420.1196 m +F +1 D +404.5488 -413.8159 m +404.6621 -413.7598 404.5215 -413.7036 404.5488 -413.8159 c +404.4365 -413.8726 404.5488 -413.9004 404.5488 -413.8159 c +f +0 D +404.5488 -419.9507 m +F +404.5488 -422.2871 m +F +1 D +404.6895 -422.624 m +404.6895 -422.4834 404.7178 -422.3418 404.5488 -422.3711 c +404.5488 -422.4277 404.5488 -422.4834 404.5488 -422.5391 c +404.6328 -422.5391 404.6328 -422.5957 404.6895 -422.624 c +f +0 D +404.5488 -427.7734 m +F +1 D +404.5488 -429.9688 m +404.6055 -429.9395 404.6895 -429.9395 404.6895 -429.8848 c +404.6328 -429.8848 404.5488 -429.8848 404.5488 -429.9688 c +f +404.7744 -420.9072 m +404.6621 -420.9639 404.8018 -421.02 404.7744 -420.9072 c +404.8867 -420.9072 404.8301 -420.8232 404.7744 -420.8232 c +404.7744 -420.5977 404.4365 -420.9072 404.7744 -420.8232 c +404.7744 -420.8511 404.7744 -420.8794 404.7744 -420.9072 c +f +0 D +404.6328 -414.21 m +F +404.6328 -416.0674 m +F +1 D +405.3369 -421.5547 m +405.083 -421.4419 404.6621 -421.3013 404.6328 -421.7236 c +404.915 -421.5547 405.1123 -421.667 405.3369 -421.5547 c +f +404.6895 -420.0347 m +404.8584 -420.0068 405.1123 -420.1196 405.0273 -419.8662 c +405.3369 -419.8662 405.083 -419.3315 404.9424 -419.6128 c +405.0273 -419.6411 404.999 -419.7817 405.0273 -419.8662 c +404.8867 -419.8662 404.7461 -419.9224 404.6895 -420.0347 c +f +0 D +404.6895 -422.9336 m +F +404.7744 -416.2358 m +F +1 D +404.8584 -413.9849 m +404.8584 -414.041 404.999 -414.0693 405.0273 -413.9849 c +404.9424 -413.9849 404.8867 -413.8442 404.8584 -413.9849 c +f +404.9424 -423.2422 m +404.9424 -423.3281 405.083 -423.3555 405.1123 -423.2422 c +405.0273 -423.2715 404.9717 -423.1309 404.9424 -423.2422 c +f +0 D +405.0273 -419.4722 m +F +1 D +405.0273 -420.1758 m +405.083 -420.1758 405.1963 -420.1758 405.1963 -420.1196 c +405.1123 -420.1196 405.0273 -420.1196 405.0273 -420.1758 c +f +0 D +405.1123 -413.8159 m +F +405.1123 -420.6826 m +F +405.1963 -419.5566 m +F +405.1963 -420.0347 m +F +405.2803 -416.3208 m +F +1 D +405.2803 -420.5132 m +405.3369 -420.4854 405.4219 -420.5132 405.4219 -420.4292 c +405.3643 -420.457 405.2803 -420.4292 405.2803 -420.5132 c +f +0 D +405.2803 -422.7646 m +F +1 D +405.3369 -419.6973 m +405.3086 -420.0913 405.7305 -419.9224 405.8438 -419.7817 c +405.8711 -419.8379 405.9277 -419.9224 405.9004 -420.0347 c +405.9561 -420.0347 406.0117 -420.0347 406.0684 -420.0347 c +406.0967 -419.9507 406.1523 -419.9507 406.1523 -419.8662 c +406.0967 -419.8101 405.9844 -419.7817 405.8438 -419.7817 c +405.7861 -419.7256 405.7598 -419.6411 405.6748 -419.6128 c +405.6191 -419.5005 405.5625 -419.6411 405.6748 -419.6128 c +405.7031 -419.9507 405.5625 -419.6128 405.3369 -419.6973 c +f +405.4219 -422.0332 m +405.5049 -422.0889 405.6455 -422.1738 405.6748 -422.0332 c +405.6191 -422.0049 405.5342 -421.9482 405.4219 -421.9766 c +405.3936 -421.8359 405.3369 -421.9766 405.4219 -421.9766 c +405.4219 -422.0049 405.4219 -422.0049 405.4219 -422.0332 c +f +0 D +405.4219 -413.647 m +F +1 D +406.4063 -420.2603 m +406.209 -420.1758 405.9277 -420.1475 405.6748 -420.1196 c +405.6191 -420.5698 405.5342 -420.5977 405.4219 -420.9072 c +405.8711 -420.9351 406.1523 -420.7666 406.4063 -420.2603 c +f +405.5898 -421.8076 m +405.5898 -421.8359 405.5898 -421.8643 405.5898 -421.8921 c +405.8154 -421.8643 405.6455 -422.2012 405.9004 -422.1172 c +405.9844 -421.8921 405.7861 -421.8921 405.8438 -421.6387 c +405.6455 -421.6108 405.7305 -421.8076 405.5898 -421.8076 c +405.6191 -421.7236 405.5625 -421.7236 405.5049 -421.7236 c +405.4492 -421.6108 405.4219 -421.7236 405.5049 -421.7236 c +405.5049 -421.7798 405.5342 -421.8076 405.5898 -421.8076 c +f +0 D +405.5049 -413.9849 m +F +405.5049 -416.1519 m +F +405.5049 -420.1196 m +F +1 D +405.5898 -422.3711 m +405.5898 -422.4551 405.7305 -422.4834 405.7598 -422.3711 c +405.6748 -422.3711 405.6191 -422.2578 405.5898 -422.3711 c +f +0 D +405.5898 -427.4639 m +F +405.6748 -412.437 m +F +405.6748 -427.7734 m +F +1 D +405.7598 -423.4961 m +405.7031 -423.3838 405.6455 -423.4961 405.7598 -423.4961 c +405.8154 -423.6094 405.8438 -423.4961 405.7598 -423.4961 c +f +0 D +405.7598 -416.0674 m +F +405.9004 -427.2949 m +F +406.1523 -419.6128 m +F +1 D +406.4063 -421.5547 m +406.4336 -421.667 406.4902 -421.5547 406.4063 -421.5547 c +406.4063 -421.498 406.4063 -421.4419 406.4063 -421.4141 c +406.6035 -421.4419 406.5752 -421.2451 406.7998 -421.3296 c +406.8564 -421.583 406.9688 -421.8076 407.2783 -421.8076 c +407.0811 -421.4702 406.6875 -420.9072 406.1523 -421.1606 c +406.2656 -421.2168 406.3496 -421.2734 406.4063 -421.4141 c +406.125 -421.3296 406.2656 -421.5547 406.4063 -421.5547 c +f +0 D +406.2373 -430.1934 m +F +1 D +406.9688 -420.1196 m +406.6592 -420.063 406.6035 -420.0068 406.4902 -420.2603 c +406.7158 -420.2881 406.8848 -420.2603 406.9688 -420.1196 c +f +0 D +406.7158 -416.0674 m +F +406.7998 -419.9507 m +F +1 D +406.8848 -419.6973 m +406.8281 -419.585 406.7725 -419.7256 406.8848 -419.6973 c +406.9404 -419.8101 406.9688 -419.6973 406.8848 -419.6973 c +f +0 D +406.9688 -419.6128 m +F +407.0537 -422.0332 m +F +1 D +407.1943 -421.9766 m +407.3066 -421.9482 407.335 -422.0889 407.3633 -421.9766 c +407.3633 -421.8921 407.2227 -421.8643 407.1943 -421.9766 c +f +0 D +407.1943 -422.5391 m +F +407.3633 -420.2603 m +F +1 D +407.9268 -419.6973 m +407.9268 -419.6694 407.9268 -419.6411 407.9268 -419.6128 c +407.7285 -419.6411 407.5313 -419.6411 407.4473 -419.5566 c +407.4199 -419.7817 407.7012 -419.6973 407.8418 -419.7817 c +407.8418 -420.063 408.208 -419.6973 407.9268 -419.6973 c +f +0 D +407.4473 -429.8848 m +F +1 D +407.5313 -420.5132 m +407.4756 -420.4009 407.4199 -420.5132 407.5313 -420.5132 c +407.5879 -420.626 407.6162 -420.5132 407.5313 -420.5132 c +f +407.8418 -415.8984 m +407.7568 -415.814 407.5605 -415.814 407.5313 -415.9829 c +407.6445 -416.0952 407.8418 -416.0952 407.8418 -415.8984 c +f +407.7012 -422.0332 m +407.7012 -421.9766 407.7568 -421.9482 407.7568 -421.8921 c +407.7012 -421.8921 407.6719 -421.8076 407.6162 -421.8076 c +407.6162 -421.8921 407.5313 -421.8921 407.5313 -421.9766 c +407.6162 -421.9766 407.6162 -422.0332 407.7012 -422.0332 c +f +407.9268 -422.624 m +408.0674 -422.1738 407.5605 -422.0889 407.5313 -422.4551 c +407.5879 -422.5684 407.7285 -422.624 407.9268 -422.624 c +f +0 D +407.5313 -428.7578 m +F +1 D +407.7012 -429.5469 m +408.0381 -429.6309 407.7012 -429.3213 407.7012 -429.5469 c +407.3633 -429.4619 407.6719 -429.7988 407.7012 -429.5469 c +f +0 D +407.6162 -420.0347 m +F +407.6162 -420.1758 m +F +407.7012 -421.7236 m +F +407.7568 -429.1523 m +F +407.7568 -430.6152 m +F +407.9268 -419.6973 m +407.9531 -419.7817 407.8975 -419.7817 407.8418 -419.7817 c +407.8691 -419.7256 407.8691 -419.6973 407.9268 -419.6973 c +f +407.8418 -420.0347 m +F +1 D +407.8418 -420.1758 m +407.8691 -420.3442 407.8975 -420.457 408.0098 -420.5132 c +407.9824 -420.3726 408.0938 -420.1196 407.8418 -420.1758 c +f +0 D +407.9268 -414.4634 m +F +407.9268 -420.9072 m +F +1 D +408.0098 -429.5469 m +408.0674 -429.5469 408.123 -429.5469 408.1787 -429.5469 c +408.123 -429.8281 408.46 -429.6875 408.2637 -429.5469 c +408.3486 -428.8145 409.0791 -428.7305 408.6572 -428.1113 c +408.6855 -428.1113 408.7139 -428.1113 408.7412 -428.1113 c +408.7705 -427.8301 408.6572 -427.6045 408.4893 -427.7734 c +408.5732 -427.4355 408.2637 -427.7734 408.4893 -427.7734 c +408.5166 -428.7021 408.1504 -428.7871 408.0098 -429.5469 c +f +408.2637 -429.8848 m +408.2637 -430.1094 407.9268 -430.334 408.2637 -430.4473 c +408.3193 -430.3623 408.4316 -429.9121 408.2637 -429.8848 c +f +0 D +408.1787 -415.5889 m +F +408.2637 -429.5469 m +408.2344 -429.5469 408.208 -429.5469 408.1787 -429.5469 c +408.1787 -429.5176 408.2344 -429.4619 408.2637 -429.5469 c +f +408.2637 -419.5566 m +F +408.2637 -421.8076 m +F +1 D +408.3486 -419.6973 m +408.4043 -419.8379 408.5449 -419.8662 408.7412 -419.8662 c +408.7412 -419.7256 408.6299 -419.6973 408.6572 -419.5566 c +408.4316 -419.4722 408.4893 -419.6973 408.3486 -419.6973 c +408.291 -419.585 408.2344 -419.7256 408.3486 -419.6973 c +f +0 D +408.3486 -414.041 m +F +408.4043 -413.3374 m +F +408.4043 -420.9072 m +F +1 D +409.1357 -429.4619 m +408.8818 -429.293 408.8818 -429.3213 408.5732 -429.377 c +408.6006 -429.6309 408.3486 -429.8848 408.6572 -429.9688 c +408.7139 -429.8848 408.7412 -429.7715 408.7412 -429.6309 c +408.9668 -429.5176 409.0518 -429.7148 409.1357 -429.4619 c +f +0 D +408.5732 -430.1094 m +F +408.6572 -428.0273 m +408.6572 -428.0547 408.6572 -428.083 408.6572 -428.1113 c +408.6006 -428.1113 408.5732 -428.0273 408.6572 -428.0273 c +f +408.6572 -429.1523 m +F +408.7412 -429.4619 m +408.7412 -429.5176 408.7412 -429.5742 408.7412 -429.6309 c +408.6572 -429.6309 408.6299 -429.4902 408.7412 -429.4619 c +f +1 D +408.8262 -428.1113 m +408.9111 -428.083 408.9385 -428.2236 408.9668 -428.1113 c +408.9668 -428.0273 408.8262 -427.998 408.8262 -428.1113 c +f +408.9668 -430.1934 m +408.9668 -430.0811 408.9951 -429.9121 408.8262 -429.9688 c +408.8262 -429.9961 408.8262 -430.0527 408.8262 -430.1094 c +408.9111 -430.1094 408.9111 -430.1934 408.9668 -430.1934 c +f +0 D +408.8262 -430.6152 m +F +1 D +408.9111 -419.8662 m +408.8818 -419.9507 408.9111 -420.0068 408.9668 -420.0347 c +408.9951 -419.9507 409.0791 -419.979 409.1357 -419.9507 c +409.1924 -420.063 409.248 -419.9507 409.1357 -419.9507 c +409.1641 -419.894 409.2207 -419.8662 409.2207 -419.7817 c +409.0234 -419.7817 408.7412 -419.4438 408.9111 -419.7817 c +408.7979 -419.8101 408.8545 -419.8662 408.9111 -419.8662 c +f +408.9668 -428.9844 m +408.9111 -428.9844 408.9111 -429.0117 408.9111 -429.0684 c +408.7705 -429.125 408.9111 -429.1523 408.9111 -429.0684 c +408.9668 -429.0957 408.9668 -429.0391 408.9668 -428.9844 c +409.1074 -429.0117 408.9951 -429.2363 409.1357 -429.2363 c +409.1924 -429.0684 409.2764 -429.0684 409.3887 -429.1523 c +409.4736 -428.8428 409.0234 -429.0684 409.0518 -428.8145 c +409.1924 -428.7871 409.0518 -428.7305 409.0518 -428.8145 c +408.9951 -428.8145 408.9951 -428.9277 408.9668 -428.9844 c +f +0 D +408.9111 -419.7817 m +408.9385 -419.7817 408.9951 -419.8379 408.9111 -419.8662 c +408.9111 -419.8379 408.9111 -419.8101 408.9111 -419.7817 c +f +408.9668 -420.9072 m +F +1 D +409.2207 -427.9424 m +409.3047 -427.8301 409.3047 -427.7451 409.1357 -427.6895 c +409.1357 -427.8018 409.1074 -427.8867 409.0518 -427.9424 c +409.1074 -427.9424 409.1641 -427.9424 409.2207 -427.9424 c +f +0 D +409.0518 -430.2783 m +F +1 D +409.3887 -428.1113 m +409.2764 -428.1113 409.1641 -428.083 409.1357 -428.168 c +409.248 -428.1953 409.1924 -428.2803 409.1357 -428.3359 c +409.3047 -428.3643 409.3887 -428.2803 409.3887 -428.1113 c +f +409.5576 -420.4292 m +409.5576 -420.2036 409.5576 -419.979 409.3047 -420.0347 c +409.2764 -420.1475 409.1924 -420.1758 409.2207 -420.3442 c +409.3613 -420.3442 409.4736 -420.3726 409.5576 -420.4292 c +f +409.2207 -428.8145 m +409.2764 -428.8145 409.3887 -428.8145 409.3887 -428.7578 c +409.333 -428.7578 409.2207 -428.7578 409.2207 -428.8145 c +f +0 D +409.4736 -415.4199 m +F +1 D +409.6982 -428.8984 m +409.7275 -429.0117 409.7832 -428.9551 409.7832 -428.8984 c +409.8389 -428.8984 409.8945 -428.8984 409.9521 -428.8984 c +410.0088 -429.0117 410.0352 -428.8984 409.9521 -428.8984 c +410.0645 -428.7021 409.6709 -428.6738 409.6982 -428.8145 c +409.6143 -428.8428 409.6709 -428.8984 409.6982 -428.8984 c +f +0 D +409.6982 -428.8145 m +409.7549 -428.8428 409.8115 -428.8428 409.7832 -428.8984 c +409.7549 -428.8984 409.7275 -428.8984 409.6982 -428.8984 c +409.6982 -428.8711 409.6982 -428.8428 409.6982 -428.8145 c +f +1 D +409.8682 -421.1606 m +410.0088 -421.1885 409.9521 -421.4141 410.2051 -421.3296 c +410.2607 -421.02 410.0088 -420.9072 409.8682 -421.0762 c +409.8115 -420.9639 409.7832 -421.0762 409.8682 -421.0762 c +409.8682 -421.1045 409.8682 -421.1328 409.8682 -421.1606 c +f +0 D +409.8682 -414.4634 m +F +1 D +410.0352 -427.8574 m +409.9795 -427.9141 409.9521 -427.998 409.9521 -428.1113 c +409.8389 -428.1387 409.9521 -428.1953 409.9521 -428.1113 c +410.0352 -428.0547 410.1201 -427.998 410.1201 -427.8574 c +410.1494 -427.8574 410.1768 -427.8574 410.2051 -427.8574 c +410.375 -427.6895 410.3457 -427.5488 410.1201 -427.4639 c +410.0928 -427.6611 409.9521 -427.7168 410.1201 -427.8574 c +410.0928 -427.8574 410.0645 -427.8574 410.0352 -427.8574 c +f +410.1201 -428.4209 m +410.2051 -428.3086 410.2051 -428.2236 410.0352 -428.168 c +410.0352 -428.2803 409.9795 -428.3643 409.9521 -428.4209 c +410.0088 -428.4209 410.0645 -428.4209 410.1201 -428.4209 c +f +410.0352 -419.4722 m +410.0928 -419.4438 410.1768 -419.4722 410.2051 -419.3877 c +410.1201 -419.3877 410.0352 -419.3877 410.0352 -419.4722 c +f +410.2051 -428.7578 m +410.2334 -428.7578 410.29 -428.7578 410.3457 -428.7578 c +410.3457 -428.8428 410.3457 -428.9551 410.3457 -429.0684 c +410.3174 -429.0684 410.29 -429.0684 410.2607 -429.0684 c +410.2607 -428.9844 410.2051 -429.0117 410.2051 -429.0684 c +409.8115 -428.9844 410.29 -429.4336 410.2051 -429.0684 c +410.2334 -429.0684 410.2607 -429.0684 v +410.29 -429.1523 410.3457 -429.125 410.3457 -429.0684 c +410.5156 -429.0684 410.4014 -428.7871 410.4307 -428.6738 c +410.3174 -428.6455 410.2051 -428.6455 410.2051 -428.7578 c +410.0645 -428.7871 410.2051 -428.8428 410.2051 -428.7578 c +f +0 D +410.1201 -429.7988 m +F +1 D +410.7676 -420.1758 m +411.0215 -419.7534 410.4307 -419.979 410.5156 -419.6128 c +410.3174 -419.6128 410.2051 -419.6411 410.2051 -419.7817 c +410.5713 -419.7534 410.4014 -420.2036 410.7676 -420.1758 c +f +410.3457 -415.0264 m +410.4014 -414.998 410.5156 -415.0264 410.5156 -414.9414 c +410.458 -414.9697 410.3457 -414.9414 410.3457 -415.0264 c +f +0 D +410.4307 -429.8848 m +F +410.6826 -429.6309 m +F +1 D +410.8242 -428.8984 m +410.9648 -428.9277 410.9932 -428.8428 410.9932 -428.7578 c +411.1055 -428.7021 410.9932 -428.6455 410.9932 -428.7578 c +410.9375 -428.7578 410.8799 -428.7578 410.8242 -428.7578 c +410.8525 -428.3926 410.5156 -428.7305 410.8242 -428.7578 c +410.8242 -428.7871 410.8242 -428.8428 410.8242 -428.8984 c +f +411.1621 -415.251 m +411.1621 -415.2231 411.1621 -415.167 411.1621 -415.1104 c +411.0781 -415.1104 410.9932 -415.1104 410.9082 -415.1104 c +410.9082 -415.167 410.9082 -415.2231 410.9082 -415.251 c +410.9932 -415.251 411.0781 -415.251 411.1621 -415.251 c +f +0 D +410.9932 -429.4619 m +F +411.3311 -415.1948 m +F +1 D +411.9785 -430.1934 m +412.0059 -429.7988 411.6396 -429.8281 411.3311 -429.7988 c +411.415 -430.0527 411.2461 -430.1094 411.4717 -430.2783 c +411.5557 -430.0811 411.8369 -430.4473 411.9785 -430.1934 c +412.0059 -430.3066 412.0615 -430.1934 411.9785 -430.1934 c +f +0 D +411.415 -415.4199 m +F +411.4717 -419.7817 m +F +1 D +411.6396 -415.251 m +411.584 -415.1387 411.5557 -415.2793 411.6396 -415.251 c +411.6963 -415.3916 411.7529 -415.251 411.6396 -415.251 c +f +0 D +411.6396 -420.0347 m +F +1 D +411.8096 -419.8662 m +411.8369 -419.9507 411.8652 -420.0068 411.9785 -420.0347 c +412.0059 -420.1475 412.0615 -420.0068 411.9785 -420.0347 c +412.0059 -419.894 411.8936 -419.8662 411.8096 -419.8662 c +411.8096 -419.8101 411.8096 -419.7534 411.8096 -419.6973 c +411.9785 -419.7817 412.2871 -419.7534 412.457 -419.8662 c +412.4004 -419.6128 412.1191 -419.5566 411.8096 -419.5566 c +411.8096 -419.585 411.8096 -419.6411 411.8096 -419.6973 c +411.5283 -419.6411 411.6963 -419.8662 411.8096 -419.8662 c +f +0 D +411.7246 -415.8984 m +F +1 D +412.2021 -429.4619 m +412.2021 -429.5176 412.2314 -429.5742 412.2871 -429.5469 c +412.0908 -429.293 411.8652 -429.2656 412.1191 -428.8984 c +411.7246 -428.8711 411.9502 -429.4336 411.8096 -429.6309 c +412.1191 -429.7432 411.9502 -429.4063 412.2021 -429.4619 c +f +411.9785 -421.2451 m +411.8369 -421.3574 411.9209 -421.5547 412.0615 -421.6387 c +412.0059 -421.5264 412.1465 -421.2168 411.9785 -421.2451 c +f +0 D +411.9785 -420.5977 m +F +1 D +412.0615 -428.6738 m +412.1191 -428.6455 412.2021 -428.6738 412.2021 -428.5898 c +412.1465 -428.5898 412.0615 -428.5898 412.0615 -428.6738 c +f +0 D +412.1191 -420.1196 m +F +412.1191 -422.1172 m +F +412.1191 -428.8145 m +F +412.2021 -421.5547 m +F +1 D +412.457 -428.4209 m +412.4834 -428.3086 412.5977 -428.2803 412.625 -428.168 c +412.5127 -428.083 412.2314 -428.0547 412.2021 -428.252 c +412.3721 -428.2236 412.3721 -428.3643 412.457 -428.4209 c +f +0 D +412.2871 -420.1196 m +F +412.2871 -420.4292 m +F +412.2871 -420.6826 m +F +412.3721 -421.5547 m +F +1 D +412.625 -419.6973 m +412.7383 -419.6411 412.5977 -419.6128 412.625 -419.6973 c +412.3721 -419.7256 412.6816 -420.0347 412.625 -419.6973 c +f +0 D +412.541 -420.0347 m +F +1 D +412.541 -420.5132 m +412.5977 -420.4854 412.6816 -420.5132 412.6816 -420.4292 c +412.625 -420.457 412.541 -420.4292 412.541 -420.5132 c +f +0 D +412.7656 -413.1689 m +F +412.8496 -420.4292 m +F +412.8496 -421.6387 m +F +1 D +412.8496 -429.9688 m +412.9063 -429.9395 413.0195 -429.9395 413.0195 -429.8848 c +412.9629 -429.8848 412.8496 -429.8848 412.8496 -429.9688 c +f +0 D +412.9346 -429.7148 m +F +1 D +413.1875 -420.5977 m +413.2725 -420.5977 413.3008 -420.7104 413.3291 -420.5977 c +413.3291 -420.5132 413.1875 -420.4854 413.1875 -420.5977 c +f +413.666 -429.7148 m +414.0039 -429.7988 413.666 -429.4619 413.666 -429.7148 c +413.5537 -429.7715 413.666 -429.7988 413.666 -429.7148 c +f +0 D +413.751 -422.9336 m +F +413.751 -423.1016 m +F +413.835 -413.4224 m +F +413.9766 -421.6387 m +F +414.3984 -421.1606 m +F +414.4824 -421.8921 m +F +414.791 -421.8921 m +F +414.791 -429.3213 m +F +415.0459 -421.4702 m +F +415.0459 -422.5391 m +F +415.1299 -419.8662 m +F +415.1865 -420.6826 m +F +1 D +415.2705 -427.4639 m +415.3545 -427.0137 415.0459 -427.3516 415.2705 -427.4639 c +415.3271 -427.5762 415.3828 -427.4355 415.2705 -427.4639 c +f +0 D +415.3545 -423.4121 m +F +415.4385 -423.1875 m +F +415.5234 -430.1094 m +F +415.6084 -420.1758 m +F +415.6084 -428.168 m +F +1 D +415.6924 -422.8496 m +415.6357 -423.1016 415.749 -423.2148 416.002 -423.1875 c +416.002 -422.9609 415.8896 -422.8496 415.6924 -422.8496 c +f +0 D +416.002 -423.834 m +F +1 D +416.1709 -423.4961 m +416.1426 -423.7207 416.2832 -423.75 416.4805 -423.75 c +416.5088 -423.5244 416.3682 -423.4688 416.1709 -423.4961 c +f +0 D +416.3398 -415.4199 m +F +416.5654 -420.7666 m +F +416.6494 -421.8076 m +F +416.6494 -422.8496 m +F +416.7334 -423.665 m +F +416.9023 -420.7666 m +F +416.958 -429.377 m +F +417.043 -422.1172 m +F +417.1279 -423.3281 m +F +417.2129 -423.5801 m +F +417.3809 -422.1172 m +F +*U +U +u +*u +0.187533 0.952972 0.991791 0.093599 k +436.6563 -423.8242 m +422.2119 -423.8242 L +422.2119 -421.4131 L +434.2451 -421.4131 L +434.2451 -419.022 L +422.2119 -419.022 L +422.2119 -416.6113 L +434.2451 -416.6113 L +434.2451 -414.2007 L +422.2119 -414.2007 L +422.2119 -411.79 L +436.6563 -411.79 l +436.6563 -423.8242 L +f +*U +U +U +LB +%AI5_EndLayer-- +%%PageTrailer +gsave annotatepage grestore showpage +%%Trailer +Adobe_Illustrator_AI5 /terminate get exec +Adobe_shading_AI8 /terminate get exec +Adobe_ColorImage_AI6 /terminate get exec +Adobe_pattern_AI5 /terminate get exec +AGM_Gradient /terminate get exec +Adobe_screens_AI5 /terminate get exec +Adobe_cshow /terminate get exec +Adobe_level2_AI5 /terminate get exec +%%EOF diff --git a/extras/assets/logo/white/ACE3-Logo.jpg b/extras/assets/logo/white/ACE3-Logo.jpg new file mode 100644 index 0000000000..21dc24bb60 Binary files /dev/null and b/extras/assets/logo/white/ACE3-Logo.jpg differ diff --git a/extras/assets/logo/white/ACE3-Logo.png b/extras/assets/logo/white/ACE3-Logo.png new file mode 100644 index 0000000000..a2522124fa Binary files /dev/null and b/extras/assets/logo/white/ACE3-Logo.png differ diff --git a/extras/logo.png b/extras/logo.png deleted file mode 100644 index bb2bb1e90c..0000000000 Binary files a/extras/logo.png and /dev/null differ diff --git a/logo_ace3_ca.paa b/logo_ace3_ca.paa new file mode 100644 index 0000000000..dbfe1ce323 Binary files /dev/null and b/logo_ace3_ca.paa differ diff --git a/mod.cpp b/mod.cpp new file mode 100644 index 0000000000..e266c8b710 --- /dev/null +++ b/mod.cpp @@ -0,0 +1,12 @@ +name = "ACE3"; +picture = "logo_ace3_ca.paa"; +actionName = "Github"; +action = "https://github.com/KoffeinFlummi/ACE3"; +description = "ACE3 - Version 3.0.0"; +logo = "logo_ace3_ca.paa"; +logoOver = "logo_ace3_ca.paa"; +tooltip = "ACE3"; +tooltipOwned = "ACE3 Owned"; +overview = "ACE3 is a joint effort by the teams behind ACE2, AGM and CSE to improve the realism and authenticity of Arma3."; +author = "ACE3 Team"; +overviewPicture = "logo_ace3_ca.paa"; \ No newline at end of file diff --git a/tools/ace_build_tool/pabstFrankensteinBuilder.py b/tools/ace_build_tool/pabstFrankensteinBuilder.py new file mode 100644 index 0000000000..eb35f1c7e5 --- /dev/null +++ b/tools/ace_build_tool/pabstFrankensteinBuilder.py @@ -0,0 +1,776 @@ +#!/usr/bin/env python +# vim: set fileencoding=utf-8 : + +# make.py +# An Arma 3 addon build system + +############################################################################### + +# The MIT License (MIT) + +# Copyright (c) 2013-2014 Ryan Schultz + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +############################################################################### + +__version__ = "0.3dev" + +import sys + +if sys.version_info[0] == 2: + print("Python 3 is required.") + sys.exit(1) + +import os +import os.path +import shutil +import platform +import glob +import subprocess +import hashlib +import configparser +import json +import traceback + +if sys.platform == "win32": + import winreg + +############################################################################### +# http://akiscode.com/articles/sha-1directoryhash.shtml +# Copyright (c) 2009 Stephen Akiki +# MIT License (Means you can do whatever you want with this) +# See http://www.opensource.org/licenses/mit-license.php +# Error Codes: +# -1 -> Directory does not exist +# -2 -> General error (see stack traceback) +def get_directory_hash(directory): + directory_hash = hashlib.sha1() + if not os.path.exists (directory): + return -1 + + try: + for root, dirs, files in os.walk(directory): + for names in files: + path = os.path.join(root, names) + try: + f = open(path, 'rb') + except: + # You can't open the file for some reason + f.close() + continue + + while 1: + # Read file in as little chunks + buf = f.read(4096) + if not buf: break + new = hashlib.sha1(buf) + directory_hash.update(new.digest()) + f.close() + + except: + # Print the stack traceback + traceback.print_exc() + return -2 + + return directory_hash.hexdigest() + +# Copyright (c) André Burgaud +# http://www.burgaud.com/bring-colors-to-the-windows-console-with-python/ +if sys.platform == "win32": + from ctypes import windll, Structure, c_short, c_ushort, byref + + SHORT = c_short + WORD = c_ushort + + class COORD(Structure): + """struct in wincon.h.""" + _fields_ = [ + ("X", SHORT), + ("Y", SHORT)] + + class SMALL_RECT(Structure): + """struct in wincon.h.""" + _fields_ = [ + ("Left", SHORT), + ("Top", SHORT), + ("Right", SHORT), + ("Bottom", SHORT)] + + class CONSOLE_SCREEN_BUFFER_INFO(Structure): + """struct in wincon.h.""" + _fields_ = [ + ("dwSize", COORD), + ("dwCursorPosition", COORD), + ("wAttributes", WORD), + ("srWindow", SMALL_RECT), + ("dwMaximumWindowSize", COORD)] + + # winbase.h + STD_INPUT_HANDLE = -10 + STD_OUTPUT_HANDLE = -11 + STD_ERROR_HANDLE = -12 + + # wincon.h + FOREGROUND_BLACK = 0x0000 + FOREGROUND_BLUE = 0x0001 + FOREGROUND_GREEN = 0x0002 + FOREGROUND_CYAN = 0x0003 + FOREGROUND_RED = 0x0004 + FOREGROUND_MAGENTA = 0x0005 + FOREGROUND_YELLOW = 0x0006 + FOREGROUND_GREY = 0x0007 + FOREGROUND_INTENSITY = 0x0008 # foreground color is intensified. + + BACKGROUND_BLACK = 0x0000 + BACKGROUND_BLUE = 0x0010 + BACKGROUND_GREEN = 0x0020 + BACKGROUND_CYAN = 0x0030 + BACKGROUND_RED = 0x0040 + BACKGROUND_MAGENTA = 0x0050 + BACKGROUND_YELLOW = 0x0060 + BACKGROUND_GREY = 0x0070 + BACKGROUND_INTENSITY = 0x0080 # background color is intensified. + + stdout_handle = windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE) + SetConsoleTextAttribute = windll.kernel32.SetConsoleTextAttribute + GetConsoleScreenBufferInfo = windll.kernel32.GetConsoleScreenBufferInfo + + def get_text_attr(): + """Returns the character attributes (colors) of the console screen + buffer.""" + csbi = CONSOLE_SCREEN_BUFFER_INFO() + GetConsoleScreenBufferInfo(stdout_handle, byref(csbi)) + return csbi.wAttributes + + def set_text_attr(color): + """Sets the character attributes (colors) of the console screen + buffer. Color is a combination of foreground and background color, + foreground and background intensity.""" + SetConsoleTextAttribute(stdout_handle, color) +############################################################################### + +def find_bi_tools(work_drive): + """Find BI tools.""" + + reg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER) + try: + k = winreg.OpenKey(reg, r"Software\bohemia interactive\arma 3 tools") + arma3tools_path = winreg.QueryValueEx(k, "path")[0] + winreg.CloseKey(k) + except: + raise Exception("BadTools","Arma 3 Tools are not installed correctly or the P: drive needs to be created.") + + addonbuilder_path = os.path.join(arma3tools_path, "AddonBuilder", "AddonBuilder.exe") + dssignfile_path = os.path.join(arma3tools_path, "DSSignFile", "DSSignFile.exe") + dscreatekey_path = os.path.join(arma3tools_path, "DSSignFile", "DSCreateKey.exe") + + if os.path.isfile(addonbuilder_path) and os.path.isfile(dssignfile_path) and os.path.isfile(dscreatekey_path): + return [addonbuilder_path, dssignfile_path, dscreatekey_path] + else: + raise Exception("BadTools","Arma 3 Tools are not installed correctly or the P: drive needs to be created.") + +def find_depbo_tools(): + """Use registry entries to find DePBO-based tools.""" + + reg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER) + try: + k = winreg.OpenKey(reg, r"Software\Mikero\pboProject") + try: + pboproject_path = winreg.QueryValueEx(k, "exe")[0] + winreg.CloseKey(k) + print("Found pboproject.") + except: + print_error("ERROR: Could not find pboProject.") + + k = winreg.OpenKey(reg, r"Software\Mikero\rapify") + try: + rapify_path = winreg.QueryValueEx(k, "exe")[0] + winreg.CloseKey(k) + print("Found rapify.") + except: + print_error("Could not find rapify.") + + k = winreg.OpenKey(reg, r"Software\Mikero\MakePbo") + try: + makepbo_path = winreg.QueryValueEx(k, "exe")[0] + winreg.CloseKey(k) + print("Found makepbo.") + except: + print_error("Could not find makepbo.") + except: + raise Exception("BadDePBO", "DePBO tools not installed correctly") + + #Strip any quotations from the path due to a MikeRo tool bug which leaves a trailing space in some of its registry paths. + return [pboproject_path.strip('"'),rapify_path.strip('"'),makepbo_path.strip('"')] + +def color(color): + """Set the color. Works on Win32 and normal terminals.""" + if sys.platform == "win32": + if color == "green": + set_text_attr(FOREGROUND_GREEN | get_text_attr() & 0x0070 | FOREGROUND_INTENSITY) + elif color == "red": + set_text_attr(FOREGROUND_RED | get_text_attr() & 0x0070 | FOREGROUND_INTENSITY) + elif color == "blue": + set_text_attr(FOREGROUND_BLUE | get_text_attr() & 0x0070 | FOREGROUND_INTENSITY) + elif color == "reset": + set_text_attr(FOREGROUND_GREY | get_text_attr() & 0x0070) + elif color == "grey": + set_text_attr(FOREGROUND_GREY | get_text_attr() & 0x0070) + else : + if color == "green": + sys.stdout.write('\033[92m') + elif color == "red": + sys.stdout.write('\033[91m') + elif color == "blue": + sys.stdout.write('\033[94m') + elif color == "reset": + sys.stdout.write('\033[0m') + +def print_error(msg): + color("red") + print ("ERROR: " + msg) + color("reset") + +def print_green(msg): + color("green") + print(msg) + color("reset") + +def print_blue(msg): + color("blue") + print(msg) + color("reset") + +def print_yellow(msg): + color("yellow") + print(msg) + color("reset") + +############################################################################### + +def main(argv): + """Build an Arma addon suite in a directory from rules in a make.cfg file.""" + print_blue(("\nmake.py for Arma, v" + __version__)) + + if sys.platform != "win32": + print_error("Non-Windows platform (Cygwin?). Please re-run from cmd.") + sys.exit(1) + + reg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER) + try: + k = winreg.OpenKey(reg, r"Software\bohemia interactive\arma 3 tools") + arma3tools_path = winreg.QueryValueEx(k, "path")[0] + winreg.CloseKey(k) + except: + raise Exception("BadTools","Arma 3 Tools are not installed correctly or the P: drive needs to be created.") + + # Default behaviors + test = False # Copy to Arma 3 directory? + arg_modules = False # Only build modules on command line? + make_release = False # Make zip file from the release? + release_version = 0 # Version of release + use_pboproject = True # Default to pboProject build tool + make_target = "DEFAULT" # Which section in make.cfg to use for the build + new_key = False # Make a new key and use it to sign? + quiet = False # Suppress output from build tool? + + # Parse arguments + if "help" in argv or "-h" in argv or "--help" in argv: + print (""" +make.py [help] [test] [force] [key ] [target ] [release ] + [module name] [module name] [...] + +test -- Copy result to Arma 3. +release -- Make archive with . +force -- Ignore cache and build all. +target -- Use rules in make.cfg under heading [] rather than + default [Make] +key -- Use key in working directory with to sign. If it does not + exist, create key. +quiet -- Suppress command line output from build tool. + +If module names are specified, only those modules will be built. + +Examples: + make.py force test + Build all modules (ignoring cache) and copy the mod folder to the Arma 3 + directory. + make.py mymodule_gun + Only build the module named 'mymodule_gun'. + make.py force key MyNewKey release 1.0 + Build all modules (ignoring cache), sign them with NewKey, and pack them + into a zip file for release with version 1.0. + + +If a file called $NOBIN$ is found in the module directory, that module will not be binarized. + +See the make.cfg file for additional build options. +""") + sys.exit(0) + + if "force" in argv: + argv.remove("force") + force_build = True + else: + force_build = False + + if "test" in argv: + test = True + argv.remove("test") + + if "release" in argv: + make_release = True + release_version = argv[argv.index("release") + 1] + argv.remove(release_version) + argv.remove("release") + + if "target" in argv: + make_target = argv[argv.index("target") + 1] + argv.remove("target") + argv.remove(make_target) + force_build = True + + if "key" in argv: + new_key = True + key_name = argv[argv.index("key") + 1] + argv.remove("key") + argv.remove(key_name) + + if "quiet" in argv: + quiet = True + argv.remove("quiet") + + # Get the directory the make script is in. + make_root = os.path.dirname(os.path.realpath(__file__)) + make_root_parent = os.path.abspath(os.path.join(os.getcwd(), os.pardir)) + os.chdir(make_root) + + cfg = configparser.ConfigParser(); + try: + cfg.read(os.path.join(make_root, "make.cfg")) + + # Project name (with @ symbol) + project = cfg.get(make_target, "project", fallback="@"+os.path.basename(os.getcwd())) + + # Private key path + key = cfg.get(make_target, "key", fallback=None) + + # Project prefix (folder path) + prefix = cfg.get(make_target, "prefix", fallback="") + + # Should we autodetect modules on a complete build? + module_autodetect = cfg.getboolean(make_target, "module_autodetect", fallback=True) + + # Manual list of modules to build for a complete build + modules = cfg.get(make_target, "modules", fallback=None) + # Parse it out + if modules: + modules = [x.strip() for x in modules.split(',')] + else: + modules = [] + + # List of directories to ignore when detecting + ignore = [x.strip() for x in cfg.get(make_target, "ignore", fallback="release").split(',')] + + # BI Tools work drive on Windows + work_drive = cfg.get(make_target, "work_drive", fallback="P:\\") + + # Which build tool should we use? + build_tool = "pboproject" + + # Release/build directory, relative to script dir + release_dir = cfg.get(make_target, "release_dir", fallback="release") + + # Project PBO file prefix (files are renamed to prefix_name.pbo) + pbo_name_prefix = cfg.get(make_target, "pbo_name_prefix", fallback=None) + + # Project module Root + module_root_parent = os.path.abspath(os.path.join(os.path.join(work_drive, prefix), os.pardir)) + module_root = cfg.get(make_target, "module_root", fallback=os.path.join(make_root_parent, "addons")) + print_green ("module_root: " + module_root) + if (os.path.isdir(module_root)): + os.chdir(module_root) + else: + print_error ("Directory " + module_root + " does not exist.") + sys.exit() + + except: + raise + print_error("Could not parse make.cfg.") + sys.exit(1) + + + + # See if we have been given specific modules to build from command line. + if len(argv) > 1 and not make_release: + arg_modules = True + modules = argv[1:] + + # Find the tools we need. + try: + tools = find_bi_tools(work_drive) + addonbuilder = tools[0] + dssignfile = tools[1] + dscreatekey = tools[2] + + except: + print_error("Arma 3 Tools are not installed correctly or the P: drive has not been created.") + sys.exit(1) + + if build_tool == "pboproject": + try: + depbo_tools = find_depbo_tools() + pboproject = depbo_tools[0] + rapifyTool = depbo_tools[1] + makepboTool = depbo_tools[2] + except: + raise + print_error("Could not find dePBO tools. Download the needed tools from: https://dev.withsix.com/projects/mikero-pbodll/files") + sys.exit(1) + + # Try to open and deserialize build cache file. + try: + cache = {} + with open(os.path.join(make_root, "make.cache"), 'r') as f: + cache_raw = f.read() + + cache = json.loads(cache_raw) + + except: + print ("No cache found.") + cache = {} + + # Get list of subdirs in make root. + dirs = next(os.walk(module_root))[1] + + # Autodetect what directories to build. + if module_autodetect and not arg_modules: + modules = [] + for path in dirs: + # Any dir that has a config.cpp in its root is an addon to build. + config_path = os.path.join(path, 'config.cpp') + if os.path.isfile(config_path) and not path in ignore: + modules.append(path) + + # Make the key specified from command line if necessary. + if new_key: + if not os.path.isfile(os.path.join(module_root, key_name + ".biprivatekey")): + print_green("\nRequested key does not exist.") + ret = subprocess.call([dscreatekey, key_name]) # Created in make_root + if ret == 0: + print_blue("Created: " + os.path.join(module_root, key_name + ".biprivatekey")) + else: + print_error("Failed to create key!") + + try: + print_blue("Copying public key to release directory.") + + try: + os.makedirs(os.path.join(module_root, release_dir, "Keys")) + except: + pass + + shutil.copyfile(os.path.join(module_root, key_name + ".bikey"), os.path.join(module_root, release_dir, "Keys", key_name + ".bikey")) + + except: + raise + print_error("Could not copy key to release directory.") + + else: + print_green("\nNOTE: Using key " + os.path.join(module_root, key_name + ".biprivatekey")) + + key = os.path.join(module_root, key_name + ".biprivatekey") + + + # For each module, prep files and then build. + for module in modules: + print_green("\nMaking " + module + "-"*max(1, (60-len(module)))) + + # Cache check + if module in cache: + old_sha = cache[module] + else: + old_sha = "" + + # Hash the module + new_sha = get_directory_hash(os.path.join(module_root, module)) + + # Check if it needs rebuilt + # print ("Hash:", new_sha) + if old_sha == new_sha: + if not force_build: + print("Module has not changed.") + # Skip everything else + continue + + # Only do this if the project isn't stored directly on the work drive. + # Split the path at the drive name and see if they are on the same drive (usually P:) + if os.path.splitdrive(module_root)[0] != os.path.splitdrive(work_drive)[0]: + try: + # Remove old work drive version (ignore errors) + shutil.rmtree(os.path.join(work_drive, prefix, module), True) + + # Copy module to the work drive + shutil.copytree(module, os.path.join(work_drive, prefix, module)) + + except: + raise + print_error("ERROR: Could not copy module to work drive. Does the module exist?") + input("Press Enter to continue...") + print("Resuming build...") + continue + else: + print("WARNING: Module is stored on work drive (" + work_drive + ").") + + try: + # Remove the old pbo, key, and log + old = os.path.join(module_root, release_dir, project, "Addons", module) + "*" + files = glob.glob(old) + for f in files: + os.remove(f) + + if pbo_name_prefix: + old = os.path.join(module_root, release_dir, project, "Addons", pbo_name_prefix+module) + "*" + files = glob.glob(old) + for f in files: + os.remove(f) + except: + raise + print_error("ERROR: Could not copy module to work drive. Does the module exist?") + input("Press Enter to continue...") + print("Resuming build...") + continue + + # Build the module into a pbo + print_blue("Building: " + os.path.join(work_drive, prefix, module)) + print_blue("Destination: " + os.path.join(module_root, release_dir, project, "Addons")) + + # Make destination folder (if needed) + try: + os.makedirs(os.path.join(module_root, release_dir, project, "Addons")) + except: + pass + + # Run build tool + build_successful = False + if build_tool == "pboproject": + try: + #PABST: Convert config (run the macro'd config.cpp through CfgConvert twice to produce a de-macro'd cpp that pboProject can read without fucking up: + os.chdir("P:\\CfgConvert") + shutil.copyfile(os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.backup")) + print_green("\Pabst (double converting):" + "cfgConvertGUI.exe " + os.path.join(work_drive, prefix, module, "config.cpp")) + ret = subprocess.call(["cfgConvertGUI.exe", os.path.join(work_drive, prefix, module, "config.cpp")]) + ret = subprocess.call(["cfgConvertGUI.exe", os.path.join(work_drive, prefix, module, "config.bin")]) + + # Call pboProject + os.chdir("P:\\") + + if os.path.isfile(os.path.join(work_drive, prefix, module, "$NOBIN$")): + print_green("$NOBIN$ Found. Proceeding with non-binarizing!") + cmd = [makepboTool, "-P","-A","-L","-N","-G", os.path.join(work_drive, prefix, module),os.path.join(module_root, release_dir, project,"Addons")] + + else: + cmd = [pboproject, "-P", os.path.join(work_drive, prefix, module), "+Engine=Arma3", "-S","+Noisy", "+X", "+Clean", "+Mod="+os.path.join(module_root, release_dir, project), "-Key"] + + color("grey") + if quiet: + devnull = open(os.devnull, 'w') + ret = subprocess.call(cmd, stdout=devnull) + devnull.close() + else: + ret = subprocess.call(cmd) + color("reset") + + if ret == 0: + print_green("pboProject return code == " + str(ret)) + # Prettyprefix rename the PBO if requested. + if pbo_name_prefix: + try: + os.rename(os.path.join(module_root, release_dir, project, "Addons", module+".pbo"), os.path.join(module_root, release_dir, project, "Addons", pbo_name_prefix+module+".pbo")) + except: + raise + print_error("Could not rename built PBO with prefix.") + # Sign result + if key: + print("Signing with " + key + ".") + if pbo_name_prefix: + ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "Addons", pbo_name_prefix + module + ".pbo")]) + else: + ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "Addons", module + ".pbo")]) + + if ret == 0: + build_successful = True + else: + build_successful = True + + if not build_successful: + print_error("pboProject return code == " + str(ret)) + print_error("Module not successfully built/signed.") + #input("Press Enter to continue...") + print ("Resuming build...") + continue + + #PABST: cleanup config BS (you could comment this out to see the "de-macroed" cpp + print_green("\Pabst (restoring): " + os.path.join(work_drive, prefix, module, "config.cpp")) + os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) + os.remove(os.path.join(work_drive, prefix, module, "config.bin")) + os.rename(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) + + # Back to the root + os.chdir(module_root) + + except: + raise + print_error("Could not run Addon Builder.") + input("Press Enter to continue...") + print ("Resuming build...") + continue + + elif build_tool== "addonbuilder": + # Detect $NOBIN$ and do not binarize if found. + if os.path.isfile(os.path.join(work_drive, prefix, module, "$NOBIN$")): + do_binarize = False + print("$NOBIN$ file found in module, packing only.") + else: + do_binarize = True + try: + # Call AddonBuilder + os.chdir("P:\\") + + cmd = [addonbuilder, os.path.join(work_drive, prefix, module), os.path.join(make_root, release_dir, project, "Addons"), "-clear", "-project="+work_drive] + if not do_binarize: + cmd.append("-packonly") + + if quiet: + previousDirectory = os.getcwd() + os.chdir(arma3tools_path) + devnull = open(os.devnull, 'w') + ret = subprocess.call(cmd, stdout=devnull) + devnull.close() + os.chdir(previousDirectory) + else: + previousDirectory = os.getcwd() + os.chdir(arma3tools_path) + print_error("Current directory - " + os.getcwd()) + ret = subprocess.call(cmd) + os.chdir(previousDirectory) + print_error("Current directory - " + os.getcwd()) + color("reset") + print_green("completed") + # Prettyprefix rename the PBO if requested. + if pbo_name_prefix: + try: + os.rename(os.path.join(make_root, release_dir, project, "Addons", module+".pbo"), os.path.join(make_root, release_dir, project, "Addons", pbo_name_prefix+module+".pbo")) + except: + raise + print_error("Could not rename built PBO with prefix.") + + if ret == 0: + # Sign result + if key: + print("Signing with " + key + ".") + if pbo_name_prefix: + ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "Addons", pbo_name_prefix + module + ".pbo")]) + else: + ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "Addons", module + ".pbo")]) + + if ret == 0: + build_successful = True + else: + build_successful = True + + if not build_successful: + print_error("Module not successfully built.") + + # Back to the root + os.chdir(make_root) + + except: + raise + print_error("Could not run Addon Builder.") + input("Press Enter to continue...") + print ("Resuming build...") + continue + + else: + print_error("Unknown build_tool " + build_tool + "!") + + # Update the hash for a successfully built module + if build_successful: + cache[module] = new_sha + + # Done building all modules! + + # Write out the cache state + cache_out = json.dumps(cache) + with open(os.path.join(make_root, "make.cache"), 'w') as f: + f.write(cache_out) + + # Delete the pboproject temp files if building a release. + if make_release and build_tool == "pboproject": + try: + shutil.rmtree(os.path.join(module_root, release_dir, project, "temp"), True) + except: + print_error("ERROR: Could not delete pboProject temp files.") + + print_green("\nDone.") + + # Make release + if make_release: + print_blue("\nMaking release: " + project + "-" + release_version + ".zip") + + try: + # Delete all log files + for root, dirs, files in os.walk(os.path.join(module_root, release_dir, project, "Addons")): + for currentFile in files: + if currentFile.lower().endswith("log"): + os.remove(os.path.join(root, currentFile)) + + # Create a zip with the contents of release/ in it + shutil.make_archive(project + "-" + release_version, "zip", os.path.join(module_root, release_dir)) + except: + raise + print_error("Could not make release.") + + # Copy to Arma 3 folder for testing + if test: + print_blue("\nCopying to Arma 3.") + + if sys.platform == "win32": + reg = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) + try: + k = winreg.OpenKey(reg, r"SOFTWARE\Wow6432Node\Bohemia Interactive\Arma 3") + a3_path = winreg.EnumValue(k, 1)[1] + winreg.CloseKey(k) + except: + print_error("Could not find Arma 3's directory in the registry.") + else: + a3_path = cygwin_a3path + + if os.path.exists(a3_path): + try: + shutil.rmtree(os.path.join(a3_path, project), True) + shutil.copytree(os.path.join(module_root, release_dir, project), os.path.join(a3_path, project)) + except: + print_error("Could not copy files. Is Arma 3 running?") + +if __name__ == "__main__": + main(sys.argv) +input("Press Enter to continue...") \ No newline at end of file