diff --git a/.travis.yml b/.travis.yml index 02a490b663..65465956e9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,9 +21,6 @@ script: - make -j 3 - python3 tools/sqf_validator.py - python3 tools/config_style_checker.py -- if [ -n "${GH_TOKEN}" ] && [ "${TRAVIS_BRANCH}" == "master" ] && [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then - python3 tools/deploy.py; - fi env: global: - secure: cdxkn5cAx+s1C9Ne5m+odEhde1uuSg6XGMDgepN4DwSAJwtMnUv3ZmDebd5YJC1raZJdep+n09Cj0GoTNICQRkco50DxHKHYNad41wetY0tn0cs9gmPYzyFE5q4vuWiQ47dlGhQQ7IJDyX0nU++gG5E50/PhlZfebdedGSprN/4= diff --git a/AUTHORS.txt b/AUTHORS.txt index 378419fcdb..11b34fff14 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -98,6 +98,7 @@ legman Legolasindar "Viper" licht-im-Norden87 looter +Lugubrious Hatchling Luigi "Luigium" Myrini Macusercom MarcBook @@ -109,6 +110,7 @@ nic547 nikolauska nomisum OnkelDisMaster +Orbis2358 oscarmolinadev PaxJaromeMalues Phyma diff --git a/README.md b/README.md index 779202d258..8241ea340f 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@

- ACE3 Version + ACE3 Version ACE3 Issues diff --git a/addons/advanced_ballistics/stringtable.xml b/addons/advanced_ballistics/stringtable.xml index 7abec780da..b3fb2015d8 100644 --- a/addons/advanced_ballistics/stringtable.xml +++ b/addons/advanced_ballistics/stringtable.xml @@ -76,7 +76,7 @@ Engedélyezi a fejlett ballisztikát Включает продвинутую баллистику Abilita Balistica Avanzata - アドバンスド バリスティックス + アドバンスド バリスティックスを有効化 고급 탄도학을 적용합니다 啟用先進彈道系統 启用先进弹道系统 @@ -87,13 +87,19 @@ 銃口初速の変化 Abilita Variazione Velocità Volata 총구속도 변화적용 + 啟用槍口初速變化 + 启用枪口初速变化 + Activer les variations de la vitesse initiale Simulates slight variations in muzzle velocity between each shot Simuliert leichte Variationen der Mündungsgeschwindigkeit zwischen jedem Schuss. - 発射毎に僅かな銃口初速の変化をシミュレートします。 + 発射毎に銃口初速の僅かな変化をシミュレートします Simula lievi variazioni della velocità della volata tra un colpo e l'altro 각 사격 사이에 총구속도 변화를 시뮬레이션 합니다. + 模擬每發子彈的槍口初速都略有不同 + 模拟每发子弹的枪口初速都略有不同 + Simule les légères variations Enable Ammo Temperature Simulation @@ -266,7 +272,7 @@ Этот модуль включает симуляцию продвинутой баллистики - при этом на траекторию полета снаряда влияют различные параметры, такие как температура воздуха, атмосферное давление, влажность, гравитация, тип боеприпаса и оружия, из которого произвели выстрел. Este módulo permite la simulación balística avanzada - es decir, la trayectoria de los proyectiles está influenciada por variables como la temperatura del aire, la presión atmosférica, la humedad, la gravedad, el tipo de municiones y el arma desde el que fue disparada. Questo modulo abilita la simulazione della Balistica Avanzata - cioè la traiettoria dei proiettili è influenzata da variabili come la temperatura dell'aria, pressione atmosferica, umidità, gravità, il tipo di munizione e l'arma da cui è sparata - このモジュールはアドバンスド バリスティックスを有効化します。弾道は気温や気圧、湿度、重力、弾薬の種類、発射する武器から影響を受けるようになります。 + アドバンスド バリスティックスを有効化します。弾道は気温や気圧、湿度、重力、弾薬の種類、発射する武器から影響を受けるようになります。 이 모듈은 고급 탄도학을 적용시킵니다 - 이는 발사체의 궤적이 기온, 대기압, 습도, 중력, 탄환의 종류와 어느 무기에서 발사되는지에 따라 영향을 받습니다. 該模塊實現先進的彈道仿真 - 這意味著子彈的軌跡是由空氣溫度、大氣壓力、濕度、重力、彈藥類型以及射擊的武器所影響 该模块实现先进的弹道仿真 - 这意味着子弹的轨迹是由空气温度、大气压力、湿度、重力、弹药类型以及射击的武器所影响 diff --git a/addons/advanced_fatigue/functions/fnc_handleEffects.sqf b/addons/advanced_fatigue/functions/fnc_handleEffects.sqf index 111727c826..dd973afe29 100644 --- a/addons/advanced_fatigue/functions/fnc_handleEffects.sqf +++ b/addons/advanced_fatigue/functions/fnc_handleEffects.sqf @@ -90,12 +90,12 @@ if (_overexhausted) then { switch (stance _unit) do { case ("CROUCH"): { - _unit setCustomAimCoef (1.0 + _fatigue ^ 2 * 0.1); + [_unit, QUOTE(ADDON), (1.0 + _fatigue ^ 2 * 0.1) * GVAR(swayFactor)] call EFUNC(common,setAimCoef); }; case ("PRONE"): { - _unit setCustomAimCoef (1.0 + _fatigue ^ 2 * 2.0); + [_unit, QUOTE(ADDON), (1.0 + _fatigue ^ 2 * 2.0) * GVAR(swayFactor)] call EFUNC(common,setAimCoef); }; default { - _unit setCustomAimCoef (1.5 + _fatigue ^ 2 * 3.0); + [_unit, QUOTE(ADDON), (1.5 + _fatigue ^ 2 * 3.0) * GVAR(swayFactor)] call EFUNC(common,setAimCoef); }; }; diff --git a/addons/advanced_fatigue/initSettings.sqf b/addons/advanced_fatigue/initSettings.sqf index d6c8acd0db..ea8ddb45d6 100644 --- a/addons/advanced_fatigue/initSettings.sqf +++ b/addons/advanced_fatigue/initSettings.sqf @@ -57,3 +57,12 @@ [0, 2, 1, 1], true ] call CBA_Settings_fnc_init; + +[ + QGVAR(swayFactor), + "SLIDER", + [LSTRING(SwayFactor), LSTRING(SwayFactor_Description)], + "ACE3 Advanced Fatigue", + [0, 2, 1, 1], + true +] call CBA_Settings_fnc_init; diff --git a/addons/advanced_fatigue/stringtable.xml b/addons/advanced_fatigue/stringtable.xml index 95b30d3c57..2dfbbac817 100644 --- a/addons/advanced_fatigue/stringtable.xml +++ b/addons/advanced_fatigue/stringtable.xml @@ -35,7 +35,7 @@ Influences the overall performance of this unit. Higher means better. Beinflusst die Leistungsfähigkeit dieser Einheit. Ein höherer Wert bedeutet bessere Leistung. - このユニットの全体的な動作に影響させます。高いほど良い効果があります。 + ユニットの全体的な動作に影響させます。高いほど良い効果があります。 Wpływa na ogólną wydolność tej jednostki. Więcej znaczy lepiej. 모든 성능이 이 단위로 영향을 받습니다. 값이 클수록 더 나은 성능을 발휘합니다 Influence les performances générales de cette unité. Une valeur plus élevée implique de meilleures performances. @@ -101,7 +101,7 @@ Sets how much steep terrain increases stamina loss. Higher means higher stamina loss. Beeinflusst, wie stark Steigungen den Ausdauerverbrauch erhöhen. Ein höherer Wert erhöht den Ausdauerverbrauch. - 地形によって影響する体力の消費量を決定します。高数値ではより体力を消費します。 + 地形によって体力の消費量を決定します。高数値ではより体力を消費します。 Wpływa na to w jakim stopniu stromy teren wpływa na utratę wytrzymałości. Więcej oznacza szybszą utratę wytrzymałości. 경사도에 따라 얼마나 피로해지는지를 정합니다. 값이 클수록 더 많은 피로를 유발합니다. Configure l'influence de l'inclinaison du terrain sur la perte d'endurance. Une valeur plus élevée implique une perte d'endurance plus importante. @@ -109,6 +109,12 @@ 設定陡峭的地形將會影響多少體力的流失,值越高代表體力流失越快 设定陡峭的地形将会影响多少体力的流,失值越高代表体力流失越快 + + Sway factor + + + Influences the amount of weapon sway. Higher means more sway. + Enabled Aktiv diff --git a/addons/ai/XEH_postInit.sqf b/addons/ai/XEH_postInit.sqf index cf0ab8e49d..4ce37fd314 100644 --- a/addons/ai/XEH_postInit.sqf +++ b/addons/ai/XEH_postInit.sqf @@ -7,50 +7,75 @@ { if (_bool) then { _x enableAI _section; + LOG_3("%1 enableAI %2 | ID: %3",_x,_section,clientOwner); } else { _x disableAI _section; + LOG_3("%1 disableAI %2 | ID: %3",_x,_section,clientOwner); }; - LOG(format [ARR_4("XEH_postInit: %1 disableAI %2 | ID %3", _x, _section, clientOwner)]); - } foreach (_units select {local _x}); - } foreach _sections + } forEach (_units select {local _x}); + } forEach _sections; }] call CBA_fnc_addEventHandler; [QGVAR(unGarrison), FUNC(unGarrison)] call CBA_fnc_addEventHandler; + [QGVAR(doMove), { params ["_unitsArray"]; - { + { _x params ["_unit", "_pos"]; - //_unit doFollow leader _unit; _unit setDestination [_pos, "LEADER PLANNED", true]; _unit doMove _pos; - LOG(format [ARR_4("XEH_postInit: %1 doMove %2 | ID %3", _unit, _pos, clientOwner)]); - } foreach _unitsArray + LOG_3("%1 doMove %2 | ID: %3",_unit,_pos,clientOwner); + } forEach _unitsArray; }] call CBA_fnc_addEventHandler; + [QGVAR(setBehaviour), { params ["_groupsArray", "_behaviour"]; - { - _x params ["_group"]; - _group setBehaviour _behaviour; - LOG(format [ARR_4("XEH_postInit: %1 setBehaviour %2 | ID %3", _group, _behaviour, clientOwner)]); - } foreach _groupsArray + { + _x setBehaviour _behaviour; + LOG_3("%1 setBehaviour %2 | ID: %3",_x,_behaviour,clientOwner); + } forEach _groupsArray; }] call CBA_fnc_addEventHandler; + [QGVAR(enableAttack), { params ["_unitsArray", "_mode"]; { - _x params ["_unit"]; - _unit enableAttack _mode; - LOG(format [ARR_4("XEH_postInit: %1 enableAttack %2 | ID %3", _unit, _mode, clientOwner)]); - } foreach _unitsArray + _x enableAttack _mode; + LOG_3("%1 enableAttack %2 | ID: %3",_x,_mode,clientOwner); + } forEach _unitsArray; +}] call CBA_fnc_addEventHandler; + +[QGVAR(setUnitPos), { + params ["_unit", "_mode"]; + _unit setUnitPos _mode; +}] call CBA_fnc_addEventHandler; + +[QGVAR(setSpeedMode), { + params ["_unit", "_mode"]; + _unit setSpeedMode _mode; +}] call CBA_fnc_addEventHandler; + +[QGVAR(setCombatMode), { + params ["_unit", "_mode"]; + _unit setCombatMode _mode; +}] call CBA_fnc_addEventHandler; + +[QGVAR(allowFleeing), { + params ["_unit", "_cowardice"]; + _unit allowFleeing _cowardice; +}] call CBA_fnc_addEventHandler; + +[QGVAR(enableGunLights), { + params ["_unit", "_mode"]; + _unit enableGunLights _mode; }] call CBA_fnc_addEventHandler; #ifdef DEBUG_MODE_FULL addMissionEventHandler ["Draw3D", { private _unitMoveList = missionNameSpace getVariable [QGVAR(garrison_unitMoveList), []]; - { _x params ["_unit", "_pos"]; - switch true do { + switch (true) do { case (surfaceIsWater (getPos _unit) && {surfaceIsWater _pos}) : { for "_i" from 0 to 3 do { drawLine3D [_unit modelToWorldVisualWorld [0,0,1], (AGLtoASL _pos), [1,0,0,1]]; @@ -79,6 +104,6 @@ drawIcon3D ["\a3\ui_f\data\map\groupicons\waypoint.paa", [1,0,0,1], _pos, 0.75, 0.75, 0.75]; }; }; - } foreach _unitMoveList; + } forEach _unitMoveList; }]; -#endif \ No newline at end of file +#endif diff --git a/addons/ai/script_component.hpp b/addons/ai/script_component.hpp index 3a05db6896..9a0afcf434 100644 --- a/addons/ai/script_component.hpp +++ b/addons/ai/script_component.hpp @@ -2,8 +2,8 @@ #define COMPONENT_BEAUTIFIED AI #include "\z\ace\addons\main\script_mod.hpp" -//#define DEBUG_MODE_FULL -//#define DISABLE_COMPILE_CACHE +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE // #define ENABLE_PERFORMANCE_COUNTERS #ifdef DEBUG_ENABLED_AI diff --git a/addons/arsenal/ACE_Arsenal_Stats.hpp b/addons/arsenal/ACE_Arsenal_Stats.hpp new file mode 100644 index 0000000000..ca8f236e94 --- /dev/null +++ b/addons/arsenal/ACE_Arsenal_Stats.hpp @@ -0,0 +1,104 @@ +class GVAR(stats) { + class statBase { + scope = 1; + priority = 0; + stats[] = {}; + displayName = ""; + showBar = 0; + showText = 0; + barStatement = ""; + textStatement = ""; + condition = "true"; + tabs[] = {{}, {}}; + }; + class ACE_bananaPotassium: statBase { + scope = 2; + displayName= CSTRING(statPotassium); + showBar = 1; + barStatement = "1"; + condition = QUOTE((configName (_this select 1)) == 'ACE_Banana'); + tabs[] = {{}, {7}}; + }; + class ACE_mass: statBase { + scope = 2; + displayName= "$STR_a3_rscdisplayarsenal_stat_weight"; + showText = 1; + textStatement = QUOTE([ARR_2(_this select 0, _this select 1)] call FUNC(statTextStatement_mass)); + tabs[] = {{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14}, {0,1,2,3,4,5,6,7}}; + }; + class ACE_rateOfFire: statBase { + scope = 2; + priority = 5; + stats[] = {"reloadTime"}; + displayName= "$STR_a3_rscdisplayarsenal_stat_rof"; + showBar = 1; + showText = 1; + barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(-1.4, 0.31)], [ARR_2(1, 0.01)], true)])] call FUNC(statBarStatement_default)); + textStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_2([ARR_2(-1.4, 0.31)], false)])] call FUNC(statTextStatement_rateOfFire)); + tabs[] = {{0,1}, {}}; + }; + class ACE_accuracy: statBase { + scope = 2; + priority = 4; + stats[] = {"dispersion"}; + displayName = "$STR_a3_rscdisplayarsenal_stat_dispersion"; + showBar = 1; + showText = 1; + barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(-4, -1.7)], [ARR_2(1, 0.01)], true)])] call FUNC(statBarStatement_default)); + textStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_2([ARR_2(-4, -1.7)], false)])] call FUNC(statTextStatement_accuracy)); + tabs[] = {{0,1}, {}}; + }; + class ACE_maxZeroing: statBase { + scope = 2; + priority = 3; + stats[] = {"maxZeroing"}; + displayName = "$STR_a3_rscdisplayarsenal_stat_range"; + showBar = 1; + barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 2500)], [ARR_2(0.01, 1)], false)])] call FUNC(statBarStatement_default)); + tabs[] = {{0,1,2}, {}}; + }; + class ACE_impact: statBase { + scope = 2; + priority = 2; + stats[] = {"hit", "initSpeed"}; + displayName = "$STR_a3_rscdisplayarsenal_stat_impact"; + showBar = 1; + barStatement = QUOTE([ARR_3(_this select 0, _this select 1, [ARR_3([ARR_2(0, 3.2)], [ARR_2(-1, 1100)], 2006)])] call FUNC(statBarStatement_impact)); + tabs[] = {{0,1,2}, {}}; + }; + class ACE_scopeMagnification: statBase { + scope = 2; + priority = 2; + displayName = CSTRING(statMagnification); + showText = 1; + textStatement = QUOTE(call FUNC(statTextStatement_scopeMag)); + tabs[] = {{}, {0}}; + }; + class ACE_ballisticProtection: statBase { + scope = 2; + priority = 5; + stats[] = {"passthrough"}; + displayName = "$STR_a3_rscdisplayarsenal_stat_passthrough"; + showBar = 1; + barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 0.63)], [ARR_2(0.01, 1)], false)])] call FUNC(statBarStatement_default)); + tabs[] = {{3,4,6}, {}}; + }; + class ACE_explosiveResistance: statBase { + scope = 2; + priority = 4; + stats[] = {"armor"}; + displayName = "$STR_a3_rscdisplayarsenal_stat_armor"; + showBar = 1; + barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 0.80)], [ARR_2(0.01, 1)], false)])] call FUNC(statBarStatement_default)); + tabs[] = {{3,4,6}, {}}; + }; + class ACE_load: statBase { + scope = 2; + priority = 3; + stats[] = {"maximumLoad"}; + displayName = "$STR_a3_rscdisplayarsenal_stat_load"; + showBar = 1; + barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 500)], [ARR_2(0.01, 1)], false)])] call FUNC(statBarStatement_default)); + tabs[] = {{3,4,5}, {}}; + }; +}; diff --git a/addons/arsenal/XEH_PREP.hpp b/addons/arsenal/XEH_PREP.hpp index 7596b769d8..52b3d2e242 100644 --- a/addons/arsenal/XEH_PREP.hpp +++ b/addons/arsenal/XEH_PREP.hpp @@ -1,4 +1,5 @@ PREP(addListBoxItem); +PREP(addStat); PREP(addVirtualItems); PREP(buttonCargo); PREP(buttonClearAll); @@ -10,7 +11,10 @@ PREP(buttonLoadoutsLoad); PREP(buttonLoadoutsRename); PREP(buttonLoadoutsSave); PREP(buttonLoadoutsShare); +PREP(buttonStats); +PREP(buttonStatsPage); PREP(clearSearchbar); +PREP(compileStats); PREP(fillLeftPanel); PREP(fillLoadoutsList); PREP(fillRightPanel); @@ -18,6 +22,7 @@ PREP(handleLoadoutsSearchbar); PREP(handleMouse); PREP(handleScrollWheel); PREP(handleSearchbar); +PREP(handleStats); PREP(initBox); PREP(itemInfo); PREP(loadoutsChangeTab); @@ -37,10 +42,17 @@ PREP(open3DEN); PREP(openBox); PREP(portVALoadouts); PREP(removeBox); +PREP(removeStat); PREP(removeVirtualItems); PREP(scanConfig); PREP(showItem); PREP(sortPanel); +PREP(statBarStatement_default); +PREP(statBarStatement_impact); +PREP(statTextStatement_accuracy); +PREP(statTextStatement_mass); +PREP(statTextStatement_rateOfFire); +PREP(statTextStatement_scopeMag); PREP(updateCamPos); PREP(updateRightPanel); PREP(updateUniqueItemsList); diff --git a/addons/arsenal/XEH_preInit.sqf b/addons/arsenal/XEH_preInit.sqf index 537af9c11d..41f5f4cf88 100644 --- a/addons/arsenal/XEH_preInit.sqf +++ b/addons/arsenal/XEH_preInit.sqf @@ -1,4 +1,5 @@ #include "script_component.hpp" +#include "defines.hpp" ADDON = false; @@ -12,10 +13,51 @@ GVAR(modList) = ["","curator","kart","heli","mark","expansion","expansionpremium [QGVAR(camInverted), "CHECKBOX", localize LSTRING(invertCameraSetting), localize LSTRING(settingCategory), false] call CBA_Settings_fnc_init; [QGVAR(enableModIcons), "CHECKBOX", [LSTRING(modIconsSetting), LSTRING(modIconsTooltip)], localize LSTRING(settingCategory), true] call CBA_Settings_fnc_init; [QGVAR(fontHeight), "SLIDER", [LSTRING(fontHeightSetting), LSTRING(fontHeightTooltip)], localize LSTRING(settingCategory), [1, 10, 4.5, 1]] call CBA_Settings_fnc_init; +[QGVAR(enableIdentityTabs), "CHECKBOX", localize LSTRING(enableIdentityTabsSettings), localize LSTRING(settingCategory), true, true] call CBA_Settings_fnc_init; + // Arsenal loadouts [QGVAR(allowDefaultLoadouts), "CHECKBOX", [LSTRING(allowDefaultLoadoutsSetting), LSTRING(defaultLoadoutsTooltip)], localize LSTRING(settingCategory), true, true] call CBA_Settings_fnc_init; [QGVAR(allowSharedLoadouts), "CHECKBOX", localize LSTRING(allowSharingSetting), localize LSTRING(settingCategory), true, true] call CBA_Settings_fnc_init; [QGVAR(EnableRPTLog), "CHECKBOX", [LSTRING(printToRPTSetting), LSTRING(printToRPTTooltip)], localize LSTRING(settingCategory), false, false] call CBA_Settings_fnc_init; +[QGVAR(statsToggle), { + params ["_display", "_showStats"]; + + private _statsCtrlGroupCtrl = _display displayCtrl IDC_statsBox; + private _statsPreviousPageCtrl = _display displayCtrl IDC_statsPreviousPage; + private _statsNextPageCtrl = _display displayCtrl IDC_statsNextPage; + private _statsCurrentPageCtrl = _display displayCtrl IDC_statsCurrentPage; + + private _statsButtonCtrl = _display displayCtrl IDC_statsButton; + private _statsButtonCloseCtrl = _display displayCtrl IDC_statsButtonClose; + + { + _x ctrlShow (GVAR(showStats) && {_showStats}); + } forEach [ + _statsCtrlGroupCtrl, + _statsPreviousPageCtrl, + _statsNextPageCtrl, + _statsCurrentPageCtrl, + _statsButtonCloseCtrl + ]; + + _statsButtonCtrl ctrlShow (!GVAR(showStats) && {_showStats}) +}] call CBA_fnc_addEventHandler; + +[QGVAR(statsButton), { + _this call FUNC(buttonStats); +}] call CBA_fnc_addEventHandler; + +[QGVAR(statsChangePage), { + _this call FUNC(buttonStatsPage); +}] call CBA_fnc_addEventHandler; + + +[QGVAR(displayStats), { + _this call FUNC(handleStats); +}] call CBA_fnc_addEventHandler; + +call FUNC(compileStats); + ADDON = true; diff --git a/addons/arsenal/config.cpp b/addons/arsenal/config.cpp index 0c3000ab3c..9ba31a31f6 100644 --- a/addons/arsenal/config.cpp +++ b/addons/arsenal/config.cpp @@ -39,3 +39,4 @@ class Cfg3DEN { #include "ui\RscAttributes.hpp" #include "CfgEventHandlers.hpp" #include "RscDisplayMain.hpp" +#include "ACE_Arsenal_Stats.hpp" diff --git a/addons/arsenal/defines.hpp b/addons/arsenal/defines.hpp index ca5e7ed6a2..1a3c94d1ca 100644 --- a/addons/arsenal/defines.hpp +++ b/addons/arsenal/defines.hpp @@ -104,6 +104,32 @@ #define IDC_buttonMisc 38 #define IDC_buttonRemoveAllSelected 39 #define IDC_buttonRemoveAll 40 +#define IDC_statsBox 51 +#define IDC_statsTitle1 5101 +#define IDC_statsBackground1 5102 +#define IDC_statsBar1 5103 +#define IDC_statsText1 5104 +#define IDC_statsTitle2 5105 +#define IDC_statsBackground2 5106 +#define IDC_statsBar2 5107 +#define IDC_statsText2 5108 +#define IDC_statsTitle3 5109 +#define IDC_statsBackground3 5110 +#define IDC_statsBar3 5111 +#define IDC_statsText3 5112 +#define IDC_statsTitle4 5113 +#define IDC_statsBackground4 5114 +#define IDC_statsBar4 5115 +#define IDC_statsText4 5116 +#define IDC_statsTitle5 5117 +#define IDC_statsBackground5 5118 +#define IDC_statsBar5 5119 +#define IDC_statsText5 5120 +#define IDC_statsPreviousPage 52 +#define IDC_statsNextPage 53 +#define IDC_statsCurrentPage 54 +#define IDC_statsButton 55 +#define IDC_statsButtonClose 56 #define IDD_loadouts_display 1127002 #define IDC_centerBox 3 @@ -200,6 +226,21 @@ _buttonCurrentMag2Ctrl ctrlCommit FADE_DELAY;\ IDC_rightTabContentListnBox,\ RIGHT_PANEL_ITEMS_BACKGROUND_IDCS,\ IDC_buttonRemoveAll\ +];\ +{\ + _x = _display displayCtrl _x;\ + _x ctrlSetPosition [\ + safezoneX + safezoneW - 93 * GRID_W,\ + safezoneY + 14 * GRID_H,\ + 80 * GRID_W,\ + safezoneH - 28 * GRID_H\ + ];\ + _x ctrlCommit 0;\ +} foreach [\ + IDC_rightTabContent,\ + IDC_rightTabContentListnBox,\ + IDC_blockRightFrame,\ + IDC_blockRighttBackground\ ]; #define TOGGLE_RIGHT_PANEL_CONTAINER\ @@ -232,6 +273,21 @@ _buttonCurrentMag2Ctrl ctrlCommit FADE_DELAY;\ IDC_buttonCurrentMag2,\ IDC_iconBackgroundCurrentMag,\ IDC_iconBackgroundCurrentMag2\ +];\ +{\ + _x = _display displayCtrl _x;\ + _x ctrlSetPosition [\ + safezoneX + safezoneW - 93 * GRID_W,\ + safezoneY + 14 * GRID_H,\ + 80 * GRID_W,\ + safezoneH - 34 * GRID_H\ + ];\ + _x ctrlCommit 0;\ +} foreach [\ + IDC_rightTabContent,\ + IDC_rightTabContentListnBox,\ + IDC_blockRightFrame,\ + IDC_blockRighttBackground\ ]; #define TOGGLE_RIGHT_PANEL_HIDE\ @@ -283,27 +339,27 @@ _buttonCurrentMag2Ctrl ctrlCommit FADE_DELAY;\ ] #define CHECK_WEAPON_OR_ACC\ - _item in (_weaponsArray select 0) ||\ - {_item in (_weaponsArray select 1)} ||\ - {_item in (_weaponsArray select 2)} ||\ - {_item in (GVAR(virtualItems) select 9)} ||\ - {_item in (_accsArray select 0)} ||\ - {_item in (_accsArray select 1)} ||\ - {_item in (_accsArray select 2)} ||\ - {_item in (_accsArray select 3)} + (_weaponsArray select 0) findIf {_x == _item} > -1 ||\ + {(_weaponsArray select 1) findIf {_x == _item} > -1} ||\ + {(_weaponsArray select 2) findIf {_x == _item} > -1} ||\ + {(GVAR(virtualItems) select 9) findIf {_x == _item} > -1} ||\ + {(_accsArray select 0) findIf {_x == _item} > -1} ||\ + {(_accsArray select 1 findIf {_x == _item} > -1)} ||\ + {(_accsArray select 2) findIf {_x == _item} > -1} ||\ + {(_accsArray select 3) findIf {_x == _item} > -1} #define CHECK_ASSIGNED_ITEMS\ - _item in (GVAR(virtualItems) select 10) ||\ - {_item in (GVAR(virtualItems) select 11)} ||\ - {_item in (GVAR(virtualItems) select 12)} ||\ - {_item in (GVAR(virtualItems) select 13)} ||\ - {_item in (GVAR(virtualItems) select 14)} ||\ - {_item in (GVAR(virtualItems) select 8)} + (GVAR(virtualItems) select 10) findIf {_x == _item} > -1 ||\ + {(GVAR(virtualItems) select 11) findIf {_x == _item} > -1} ||\ + {(GVAR(virtualItems) select 12) findIf {_x == _item} > -1} ||\ + {(GVAR(virtualItems) select 13) findIf {_x == _item} > -1} ||\ + {(GVAR(virtualItems) select 14) findIf {_x == _item} > -1} ||\ + {(GVAR(virtualItems) select 8) findIf {_x == _item} > -1} #define CHECK_CONTAINER\ - _item in (GVAR(virtualItems) select 4) ||\ - {_item in (GVAR(virtualItems) select 5)} ||\ - {_item in (GVAR(virtualItems) select 6)} + (GVAR(virtualItems) select 4) findIf {_x == _item} > -1 ||\ + {(GVAR(virtualItems) select 5) findIf {_x == _item} > -1} ||\ + {(GVAR(virtualItems) select 6) findIf {_x == _item} > -1} #define CLASS_CHECK_ITEM\ isClass (_weaponCfg >> _item) ||\ @@ -312,24 +368,24 @@ _buttonCurrentMag2Ctrl ctrlCommit FADE_DELAY;\ {isClass (_magCfg >> _item)} #define CHECK_CONTAINER_ITEMS\ - _item in (GVAR(virtualItems) select 3) ||\ - {_item in (_accsArray select 0)} ||\ - {_item in (_accsArray select 1)} ||\ - {_item in (_accsArray select 2)} ||\ - {_item in (_accsArray select 3)} ||\ - {_item in (GVAR(virtualItems) select 4)} ||\ - {_item in (GVAR(virtualItems) select 5)} ||\ - {_item in (GVAR(virtualItems) select 6)} ||\ - {_item in (GVAR(virtualItems) select 7)} ||\ - {_item in (GVAR(virtualItems) select 8)} ||\ - {_item in (GVAR(virtualItems) select 10)} ||\ - {_item in (GVAR(virtualItems) select 11)} ||\ - {_item in (GVAR(virtualItems) select 12)} ||\ - {_item in (GVAR(virtualItems) select 13)} ||\ - {_item in (GVAR(virtualItems) select 14)} ||\ - {_item in (GVAR(virtualItems) select 15)} ||\ - {_item in (GVAR(virtualItems) select 16)} ||\ - {_item in (GVAR(virtualItems) select 17)} + (GVAR(virtualItems) select 3) findIf {_x == _item} > -1 ||\ + {(_accsArray select 0) findIf {_x == _item} > -1} ||\ + {(_accsArray select 1) findIf {_x == _item} > -1} ||\ + {(_accsArray select 2) findIf {_x == _item} > -1} ||\ + {(_accsArray select 3) findIf {_x == _item} > -1} ||\ + {(GVAR(virtualItems) select 4) findIf {_x == _item} > -1} ||\ + {(GVAR(virtualItems) select 5) findIf {_x == _item} > -1} ||\ + {(GVAR(virtualItems) select 6) findIf {_x == _item} > -1} ||\ + {(GVAR(virtualItems) select 7) findIf {_x == _item} > -1} ||\ + {(GVAR(virtualItems) select 8) findIf {_x == _item} > -1} ||\ + {(GVAR(virtualItems) select 10) findIf {_x == _item} > -1} ||\ + {(GVAR(virtualItems) select 11) findIf {_x == _item} > -1} ||\ + {(GVAR(virtualItems) select 12) findIf {_x == _item} > -1} ||\ + {(GVAR(virtualItems) select 13) findIf {_x == _item} > -1} ||\ + {(GVAR(virtualItems) select 14) findIf {_x == _item} > -1} ||\ + {(GVAR(virtualItems) select 15) findIf {_x == _item} > -1} ||\ + {(GVAR(virtualItems) select 16) findIf {_x == _item} > -1} ||\ + {(GVAR(virtualItems) select 17) findIf {_x == _item} > -1} #define ADD_LOADOUTS_LIST_PICTURES\ _contentPanelCtrl lnbSetPicture [[_newRow, 2], getText (configFile >> "cfgWeapons" >> ((_loadout select 0) select 0) >> "picture")];\ diff --git a/addons/arsenal/functions/fnc_addStat.sqf b/addons/arsenal/functions/fnc_addStat.sqf new file mode 100644 index 0000000000..d51c0ff13d --- /dev/null +++ b/addons/arsenal/functions/fnc_addStat.sqf @@ -0,0 +1,99 @@ +/* + * Author: Alganthe + * Add a stat to ACE Arsenal. + * + * Arguments: + * 0: Tabs to add the stat to (ARRAY of ARRAYS) + * 0.1: Left tab indexes (ARRAY of NUMBERS) + * 0.2 Right tab indexes (ARRAY of NUMBERS) + * 1: Stat class (STRING) (A unique string for each stat) + * 2: Config entries to pass (ARRAY of STRINGS) + * 3: Title (STRING) + * 4: Show bar / show text bools (ARRAY of BOOLS) + * 4.1 Show bar (BOOL) + * 4.2 Show text (BOOL) + * 5: Array of statements (ARRAY of ARRAYS) + * 5.1: Bar code (CODE) + * 5.2 Text code (CODE) + * 5.3 Condition code (CODE) + * 6: Priority (NUMBER) (Optional) + * + * Return Value: + * 0: Array of IDs (ARRAY of STRINGS) + * + * Example: + * [[[0,1,2], [7]], "scopeStat", ["scope"], "Scope", [false, true], [{}, { + params ["_statsArray", "_itemCfg"]; + getNumber (_itemCfg >> _statsArray select 0) + }, {true}]] call ACE_arsenal_fnc_addStat + * + * Public: Yes +*/ +#include "script_component.hpp" +params [ + ["_tabs", [[], []], [[]], 2], + ["_class", "", [""]], + ["_stats", [], [[]]], + ["_title", "", [""]], + ["_bools", [false, false], [[]], 2], + ["_statements", [{}, {}, {true}], [[]], 3], + ["_priority", 0, [0]] +]; + +_tabs params [ + ["_leftTabs", [], [[]]], + ["_rightTabs", [], [[]]] +]; + +_bools params [["_showBar", false, [false]], ["_showText", false, [false]]]; + +_statements params [ + ["_barStatement", {}, [{}]], + ["_textStatement", {}, [{}]], + ["_condition", {true}, [{}]] +]; + +call FUNC(compileStats); + +private _returnArray = []; + +private _fnc_addToTabs = { + params ["_tabsList", "_tabsToAddTo", "_sideString", "_returnIndex"]; + { + private _currentTab = _tabsList select _x; + + private _finalID = [_class, _sideString, [str _x, format ["0%1", _x]] select (_x < 10)] joinString ""; + + if ({{_x select 0 == _finalID} count _x > 0} count _currentTab > 0) then { + TRACE_1("A stat with this ID already exists", _finalID); + } else { + + private _arrayToSave = +_finalArray; + _arrayToSave set [0, _finalID]; + _returnArray pushBack _finalID; + + // Add to existing page if there's enough space, otherwise create a new page + if ({count _x < 5} count _currentTab > 0) then { + { + if (count _x < 5) exitWith { + (_currentTab select _forEachIndex) append [_arrayToSave]; + }; + } foreach _currentTab; + } else { + _currentTab pushBack [_arrayToSave]; + }; + }; + } foreach _tabsToAddTo; +}; + +private _finalArray = ["", _stats, _title, [_showBar, _showText], [_barStatement, _textStatement, _condition], _priority]; + +if (count _leftTabs > 0) then { + [GVAR(statsListLeftPanel), _leftTabs, "L", 0] call _fnc_addToTabs; +}; + +if (count _rightTabs > 0) then { + [GVAR(statsListRightPanel), _rightTabs, "R", 1] call _fnc_addToTabs; +}; + +_returnArray diff --git a/addons/arsenal/functions/fnc_buttonExport.sqf b/addons/arsenal/functions/fnc_buttonExport.sqf index 7bcac4c8ba..dd9233764b 100644 --- a/addons/arsenal/functions/fnc_buttonExport.sqf +++ b/addons/arsenal/functions/fnc_buttonExport.sqf @@ -49,3 +49,5 @@ if (GVAR(shiftState)) then { [_display, localize LSTRING(exportCurrent)] call FUNC(message); }; + +[QGVAR(loadoutExported), [_display, GVAR(shiftState)]] call CBA_fnc_localEvent; diff --git a/addons/arsenal/functions/fnc_buttonHide.sqf b/addons/arsenal/functions/fnc_buttonHide.sqf index d79ff779d1..da870e0b9f 100644 --- a/addons/arsenal/functions/fnc_buttonHide.sqf +++ b/addons/arsenal/functions/fnc_buttonHide.sqf @@ -48,5 +48,12 @@ private _showToggle = !ctrlShown (_display displayCtrl IDC_menuBar); IDC_buttonCurrentMag, IDC_buttonCurrentMag2, IDC_iconBackgroundCurrentMag, - IDC_iconBackgroundCurrentMag2 + IDC_iconBackgroundCurrentMag2, + IDC_statsButton, + IDC_statsPreviousPage, + IDC_statsNextPage, + IDC_statsCurrentPage, + IDC_statsButtonClose ]; + +[QGVAR(statsToggle), [_display, _showToggle]] call CBA_fnc_localEvent; diff --git a/addons/arsenal/functions/fnc_buttonImport.sqf b/addons/arsenal/functions/fnc_buttonImport.sqf index 76cd2f3a75..7cc059d818 100644 --- a/addons/arsenal/functions/fnc_buttonImport.sqf +++ b/addons/arsenal/functions/fnc_buttonImport.sqf @@ -109,3 +109,5 @@ if (GVAR(shiftState) && {is3DEN}) then { [_display, localize LSTRING(importedCurrent)] call FUNC(message); }; }; + +[QGVAR(loadoutImported), [_display, (GVAR(shiftState) && {is3DEN})]] call CBA_fnc_localEvent; diff --git a/addons/arsenal/functions/fnc_buttonLoadoutsLoad.sqf b/addons/arsenal/functions/fnc_buttonLoadoutsLoad.sqf index 9d413a233c..131bc1331f 100644 --- a/addons/arsenal/functions/fnc_buttonLoadoutsLoad.sqf +++ b/addons/arsenal/functions/fnc_buttonLoadoutsLoad.sqf @@ -88,3 +88,5 @@ call FUNC(updateUniqueItemsList); [GVAR(center), GVAR(currentInsignia)] call bis_fnc_setUnitInsignia; [(findDisplay IDD_ace_arsenal), [localize LSTRING(loadoutLoaded), _loadoutName] joinString " "] call FUNC(message); + +[QGVAR(onLoadoutLoad), [_loadout, _loadoutName]] call CBA_fnc_localEvent; diff --git a/addons/arsenal/functions/fnc_buttonStats.sqf b/addons/arsenal/functions/fnc_buttonStats.sqf new file mode 100644 index 0000000000..7fe2d1fbf1 --- /dev/null +++ b/addons/arsenal/functions/fnc_buttonStats.sqf @@ -0,0 +1,31 @@ +/* + * Author: Alganthe + * Toggle the stats control group + * + * Arguments: + * 0: Arsenal display + * 1: Button control + * + * Return Value: + * None + * + * Public: No +*/ +#include "script_component.hpp" +#include "..\defines.hpp" + +params ["_display"]; + +(_display displayCtrl IDC_statsButton) ctrlShow GVAR(showStats); +GVAR(showStats) = !GVAR(showStats); + +{ + (_display displayCtrl _x) ctrlShow GVAR(showStats); +} foreach [ + IDC_statsBox, + IDC_statsPreviousPage, + IDC_statsNextPage, + IDC_statsCurrentPage, + IDC_statsButtonClose +]; + diff --git a/addons/arsenal/functions/fnc_buttonStatsPage.sqf b/addons/arsenal/functions/fnc_buttonStatsPage.sqf new file mode 100644 index 0000000000..b1c1cdf7eb --- /dev/null +++ b/addons/arsenal/functions/fnc_buttonStatsPage.sqf @@ -0,0 +1,29 @@ +/* + * Author: Alganthe + * Handles the previous / next page buttons for stats + * + * Arguments: + * 0: Arsenal display + * 1: Previous or next (false = previous, true = next) + * + * Return Value: + * None + * + * Public: No +*/ +#include "script_component.hpp" +#include "..\defines.hpp" + +params ["_display", "_control", "_nextPage"]; + +TRACE_1("control enabled", ctrlEnabled _control); +if !(ctrlEnabled _control) exitWith {}; + +GVAR(statsInfo) params ["_isLeftPanel", "_statsIndex", "_panelControl", "_curSel", "_itemCfg"]; + +private _pageList = [GVAR(statsPagesRight), GVAR(statsPagesLeft)] select (_isLeftPanel); +private _newPageNumber = [(_pageList select _statsIndex) - 1, (_pageList select _statsIndex) + 1] select _nextPage; + +_pageList set [_statsIndex, _newPageNumber]; + +[QGVAR(displayStats), [_display, _panelControl, _curSel, _itemCfg]] call CBA_fnc_localEvent; diff --git a/addons/arsenal/functions/fnc_compileStats.sqf b/addons/arsenal/functions/fnc_compileStats.sqf new file mode 100644 index 0000000000..f705e76884 --- /dev/null +++ b/addons/arsenal/functions/fnc_compileStats.sqf @@ -0,0 +1,135 @@ +/* + * Author: Alganthe + * Create the internal stats arrays when needed for the first time + * + * Arguments: + * None + * + * Return Value: + * None + * + * Public: No +*/ +#include "script_component.hpp" + +if (!isNil QGVAR(statsListLeftPanel)) exitWith {}; + +private _fnc_addToTabs = { + params ["_tabsList", "_tabsToAddTo", "_sideString"]; + { + private _currentTab = _tabsList select _x; + private _availablePagesCount = {count _x < 5} count _currentTab; + + private _arrayToSave = +_finalArray; + _arrayToSave set [0, ([_class, _sideString, [str _x, format ["0%1", _x]] select (_x < 10)] joinString "")]; + + if (_availablePagesCount > 0) then { + + { + if (count _x < 5) exitWith { + (_currentTab select _forEachIndex) append [_arrayToSave]; + }; + } foreach _currentTab; + } else { + _currentTab pushBack [_arrayToSave]; + }; + } foreach _tabsToAddTo; +}; + +private _fnc_sortLists = { + params ["_tabsList"]; + + { + private _page = _x; + { + { + reverse _x; + } foreach _x; + + _x sort false; + + { + reverse _x; + } foreach _x; + } foreach _page; + } foreach _tabsList; +}; + +private _statsListLeftPanel = [ + [[]], // Primary 0 + [[]], // Handgun 1 + [[]], // Launcher 2 + [[]], // Uniform 3 + [[]], // Vests 4 + [[]], // Backpacks 5 + [[]], // Headgear 6 + [[]], // Goggles 7 + [[]], // NVGs 8 + [[]], // Binoculars 9 + [[]], // Map 10 + [[]], // GPS 11 + [[]], // Radio 12 + [[]], // Compass 13 + [[]] // Watch 14 +]; + +private _statsListRightPanel = [ + [[]], // Optics 0 + [[]], // Side accs 1 + [[]], // Muzzle 2 + [[]], // Bipod 3 + [[]], // Mag 4 + [[]], // Throw 5 + [[]], // Put 6 + [[]] // Misc 7 +]; + +//------------------------- Config handling +private _configEntries = "(getNumber (_x >> 'scope')) == 2" configClasses (configFile >> QGVAR(stats)); + +{ + private _finalArray = []; + + private _class = configName _x; + private _stats = getArray (_x >> "stats"); + private _displayName = getText (_x >> "displayName"); + private _showBar = getNumber (_x >> "showBar") == 1; + private _showText = getNumber (_x >> "showText") == 1; + private _condition = getText (_x >> "condition"); + private _priority = getNumber (_x >> "priority"); + (getArray (_x >> "tabs")) params ["_leftTabsList", "_rightTabsList"]; + + if (_condition != "") then { + _condition = compile _condition; + }; + + _finalArray = ["", _stats, _displayName, [_showBar, _showText], [{}, {}, _condition], _priority]; + + if (_showBar) then { + private _barStatement = compile (getText (_x >> "barStatement")); + (_finalArray select 4) set [0, _barStatement]; + }; + + if (_showText) then { + private _textStatement = compile (getText (_x >> "textStatement")); + (_finalArray select 4) set [1, _textStatement]; + }; + + TRACE_3("stats array", _finalArray, _leftTabsList, _rightTabsList); + + if (count _leftTabsList > 0) then { + [_statsListLeftPanel, _leftTabsList, "L"] call _fnc_addToTabs; + }; + + if (count _rightTabsList > 0) then { + [_statsListRightPanel, _rightTabsList, "R"] call _fnc_addToTabs; + }; +} foreach _configEntries; + +[_statsListLeftPanel] call _fnc_sortLists; +[_statsListRightPanel] call _fnc_sortLists; + +//------------------------- Config Handling + +missionNamespace setVariable [QGVAR(statsListLeftPanel), _statsListLeftPanel]; +missionNamespace setVariable [QGVAR(statsListRightPanel), _statsListRightPanel]; diff --git a/addons/arsenal/functions/fnc_handleMouse.sqf b/addons/arsenal/functions/fnc_handleMouse.sqf index 16548f3985..071eb1f94d 100644 --- a/addons/arsenal/functions/fnc_handleMouse.sqf +++ b/addons/arsenal/functions/fnc_handleMouse.sqf @@ -44,11 +44,6 @@ if (count _LMB > 0) then { _helperPos set [2,(_helperPos select 2) max ((boundingboxreal GVAR(center) select 0 select 2) + 0.2)]; - //--- Do not let target go below ground - private _posZmin = 0.1; - private _targetWorldPosZ = (GVAR(center) modeltoworldvisual _helperPos) select 2; - if (_targetWorldPosZ < _posZmin) then {_helperPos set [2,(_helperPos select 2) - _targetWorldPosZ + _posZmin];}; - GVAR(cameraPosition) set [3,_helperPos]; }; diff --git a/addons/arsenal/functions/fnc_handleStats.sqf b/addons/arsenal/functions/fnc_handleStats.sqf new file mode 100644 index 0000000000..ec22b6055d --- /dev/null +++ b/addons/arsenal/functions/fnc_handleStats.sqf @@ -0,0 +1,244 @@ +/* + * Author: Alganthe + * Handles the stats control group + * + * Arguments: + * 0: Arsenal display + * 1: Current panel control + * 2: Current panel selection + * 3: Item config entry + * + * Return Value: + * None + * + * Public: No +*/ +#include "script_component.hpp" +#include "..\defines.hpp" + +params ["_display", "_control", "_curSel", "_itemCfg"]; + +private _statsBoxCtrl = _display displayCtrl IDC_statsBox; +private _statsPreviousPageCtrl = _display displayCtrl IDC_statsPreviousPage; +private _statsNextPageCtrl = _display displayCtrl IDC_statsNextPage; +private _statsCurrentPageCtrl = _display displayCtrl IDC_statsCurrentPage; + +private _hideUnusedFnc = { + params ["_numbers"]; + + { + private _statsTitleCtrl = _display displayCtrl (5101 + ((_x - 1) * 4)); + private _statsTitleIDC = ctrlIDC _statsTitleCtrl; + + private _statsBackgroundCtrl = _display displayCtrl (_statsTitleIDC + 1); + private _statsBarCtrl = _display displayCtrl (_statsTitleIDC + 2); + private _statsTextCtrl = _display displayCtrl (_statsTitleIDC + 3); + + { + _x ctrlSetFade 1; + _x ctrlCommit 0; + } forEach [ + _statsTitleCtrl, + _statsBackgroundCtrl, + _statsBarCtrl, + _statsTextCtrl + ]; + } forEach _numbers; +}; + +if !(isNil "_itemCfg") then { + + private _handleStatsFnc = { + params ["_statsIndex", "_leftPanel"]; + + // Get the proper list and page + if (_leftPanel) then { + [true, (GVAR(statsListLeftPanel)) select _statsIndex, GVAR(statsPagesLeft) select _statsIndex] + } else { + [false, (GVAR(statsListRightPanel)) select _statsIndex, GVAR(statsPagesRight) select _statsIndex] + } params ["_isLeftPanel", "_statsArray", "_currentPage"]; + + private _statsList = _statsArray select _currentPage; + + private _statsCount = 0; + + // Handle titles, bars and text + _statsList = _statsList select [0, 5]; + if !(_statsList isEqualTo []) then { + { + _x params ["_ID", "_configEntry", "_title", "_bools", "_statements"]; + _bools params ["_showBar", "_showText"]; + _statements params [["_barStatement", {}, [{}]], ["_textStatement", {}, [{}]], ["_condition", {true}, [{}]]]; + + private _statsTitleCtrl = _display displayCtrl (5101 + _forEachIndex * 4); + private _statsTitleIDC = ctrlIDC _statsTitleCtrl; + private _statsBackgroundCtrl = _display displayCtrl (_statsTitleIDC + 1); + private _statsBarCtrl = _display displayCtrl (_statsTitleIDC + 2); + private _statsTextCtrl = _display displayCtrl (_statsTitleIDC + 3); + + _statsCount = _statsCount + 1; + _statsTitleCtrl ctrlSetText _title; + _statsTitleCtrl ctrlSetFade 0; + + // Handle bars + if (_showBar) then { + _statsBarCtrl progressSetPosition ([_configEntry, _itemCfg] call _barStatement); + + _statsBackgroundCtrl ctrlSetFade 0; + _statsBarCtrl ctrlSetFade 0; + } else { + _statsBackgroundCtrl ctrlSetFade 1; + _statsBarCtrl ctrlSetFade 1; + }; + + // Handle text entries + if (_showText) then { + private _textStatementResult = [_configEntry, _itemCfg] call _textStatement; + + if (_textStatementResult isEqualtype "") then { + _statsTextCtrl ctrlSetText _textStatementResult; + } else { + _statsTextCtrl ctrlSetText (str _textStatementResult); + }; + _statsTextCtrl ctrlSetTextColor ([[1,1,1,1], [0,0,0,1]] select (_showBar)); + + _statsTextCtrl ctrlSetFade 0; + } else { + _statsTextCtrl ctrlSetFade 1; + }; + + { + _x ctrlCommit 0; + } forEach [ + _statsTitleCtrl, + _statsBackgroundCtrl, + _statsBarCtrl, + _statsTextCtrl + ]; + } forEach (_statsList select { + _x params ["_ID","_configEntry", "_title", "_bools", "_statements"]; + _statements params [["_barStatement", {}, [{}]], ["_textStatement", {}, [{}]], ["_condition", {true}, [{}]]]; + + ([_configEntry, _itemCfg] call _condition) + }); + }; + + // Resize the window + [[1, 2, 3, 4, 5] select [_statsCount, 5]] call _hideUnusedFnc; + _statsBoxCtrl ctrlSetPosition [ + (0.5 - WIDTH_TOTAL / 2) + WIDTH_GAP, + safezoneY + 1.8 * GRID_H, + 47 * GRID_W, + ([11, (10 * _statsCount) + 5] select (_statsCount > 0)) * GRID_H + ]; + _statsBoxCtrl ctrlCommit 0; + + GVAR(statsInfo) = [_isLeftPanel, _statsIndex, _control, _curSel, _itemCfg]; + + // Toggle page buttons + _statsPreviousPageCtrl ctrlEnable !(_currentPage == 0); + _statsNextPageCtrl ctrlEnable !(_currentPage + 1 >= count _statsArray); + _statsCurrentPageCtrl ctrlSetText ([localize LSTRING(page), str (_currentPage + 1)] joinString " "); + + { + _x ctrlSetFade 0; + _x ctrlCommit 0; + } forEach [ + _statsPreviousPageCtrl, + _statsNextPageCtrl, + _statsCurrentPageCtrl + ]; + }; + + if (ctrlIDC _control == IDC_leftTabContent) then { + + if ([IDC_buttonFace, IDC_buttonVoice, IDC_buttonInsigna] find GVAR(currentLeftPanel) > -1) then { + + [[1, 2, 3, 4, 5]] call _hideUnusedFnc; + _statsBoxCtrl ctrlSetPosition [ + (0.5 - WIDTH_TOTAL / 2) + WIDTH_GAP, + safezoneY + 1.8 * GRID_H, + 47 * GRID_W, + 11 * GRID_H + ]; + _statsBoxCtrl ctrlCommit 0; + + { + _x ctrlSetFade 1; + _x ctrlCommit 0; + } forEach [ + _statsPreviousPageCtrl, + _statsNextPageCtrl, + _statsCurrentPageCtrl + ]; + } else { + [[ + IDC_buttonPrimaryWeapon, + IDC_buttonHandgun, + IDC_buttonSecondaryWeapon, + IDC_buttonUniform, + IDC_buttonVest, + IDC_buttonBackpack, + IDC_buttonHeadgear, + IDC_buttonGoggles, + IDC_buttonNVG, + IDC_buttonBinoculars, + IDC_buttonMap, + IDC_buttonGPS, + IDC_buttonRadio, + IDC_buttonCompass, + IDC_buttonWatch + ] find GVAR(currentLeftPanel), true] call _handleStatsFnc; + }; + } else { + + switch (GVAR(currentRightPanel)) do { + case IDC_buttonOptic: { + [0, false] call _handleStatsFnc; + }; + case IDC_buttonItemAcc: { + [1, false] call _handleStatsFnc; + }; + case IDC_buttonMuzzle: { + [2, false] call _handleStatsFnc; + }; + case IDC_buttonBipod: { + [3, false] call _handleStatsFnc; + }; + case IDC_buttonCurrentMag; + case IDC_buttonCurrentMag2; + case IDC_buttonMag; + case IDC_buttonMagALL: { + [4, false] call _handleStatsFnc; + }; + case IDC_buttonThrow: { + [5, false] call _handleStatsFnc; + }; + case IDC_buttonPut: { + [6, false] call _handleStatsFnc; + }; + case IDC_buttonMisc: { + [7, false] call _handleStatsFnc; + }; + }; + }; +} else { + + [[1, 2, 3, 4, 5]] call _hideUnusedFnc; + _statsBoxCtrl ctrlSetPosition [ + (0.5 - WIDTH_TOTAL / 2) + WIDTH_GAP, + safezoneY + 1.8 * GRID_H, + 47 * GRID_W, + 11 * GRID_H + ]; + _statsBoxCtrl ctrlCommit 0; + + { + _x ctrlSetFade 1; + _x ctrlCommit 0; + } forEach [ + _statsPreviousPageCtrl, + _statsNextPageCtrl, + _statsCurrentPageCtrl + ]; +}; diff --git a/addons/arsenal/functions/fnc_initBox.sqf b/addons/arsenal/functions/fnc_initBox.sqf index adf122ddbe..52d7662a00 100644 --- a/addons/arsenal/functions/fnc_initBox.sqf +++ b/addons/arsenal/functions/fnc_initBox.sqf @@ -49,7 +49,7 @@ if (_global && {isMultiplayer} && {{_object in _x} count GVAR(EHIDArray) == 0}) { params ["_target", "_player"]; - [_player, _target, ["isNotSwimming", "isNotCarrying", "isNotDragging", "notOnMap", "isNotEscorting", "isNotOnLadder"]] call EFUNC(common,canInteractWith) + [_player, _target] call EFUNC(common,canInteractWith) }, {}, [] diff --git a/addons/arsenal/functions/fnc_itemInfo.sqf b/addons/arsenal/functions/fnc_itemInfo.sqf index 9dcfe2ea86..546158fa7e 100644 --- a/addons/arsenal/functions/fnc_itemInfo.sqf +++ b/addons/arsenal/functions/fnc_itemInfo.sqf @@ -25,6 +25,8 @@ if (isClass _itemCfg) then { _ctrlInfo ctrlSetFade 0; _ctrlInfo ctrlCommit FADE_DELAY; + [QGVAR(displayStats), [_display, _control, _curSel, _itemCfg]] call CBA_fnc_localEvent; + // Name + author private _ctrlInfoName = _display displayCtrl IDC_infoName; _ctrlInfoName ctrlSetText ([_control lbText _curSel, _control lnbText [_curSel, 1]] select (ctrlType _control == 102)); @@ -70,6 +72,8 @@ if (isClass _itemCfg) then { _ctrlDLCBackground ctrlcommit 0; } else { + [QGVAR(displayStats), [_display, _control, -1, nil]] call CBA_fnc_localEvent; + _ctrlInfo ctrlSetFade 1; _ctrlInfo ctrlCommit FADE_DELAY; }; diff --git a/addons/arsenal/functions/fnc_onArsenalClose.sqf b/addons/arsenal/functions/fnc_onArsenalClose.sqf index f9d2e2f2c5..316197faf0 100644 --- a/addons/arsenal/functions/fnc_onArsenalClose.sqf +++ b/addons/arsenal/functions/fnc_onArsenalClose.sqf @@ -14,19 +14,11 @@ (_this select 1) params ["", "_exitCode"]; -GVAR(camera) cameraEffect ["terminate", "back"]; private _cameraData = [getposAtl GVAR(camera), (getposAtl GVAR(camera)) vectorFromTo (getposAtl GVAR(cameraHelper))]; [QGVAR(displayClosed), []] call CBA_fnc_localEvent; - removeMissionEventHandler ["draw3D", GVAR(camPosUpdateHandle)]; -GVAR(camera) cameraEffect ["terminate","back"]; -player switchCamera GVAR(cameraView); - -deleteVehicle GVAR(cameraHelper); -camDestroy GVAR(camera); - if (is3DEN) then { private _centerOriginParent = objectParent GVAR(centerOrigin); @@ -62,8 +54,18 @@ if (is3DEN) then { case 1: {GVAR(center) selectWeapon secondaryWeapon GVAR(center);}; case 2: {GVAR(center) selectWeapon handgunWeapon GVAR(center);}; }; + + if (!(isnull curatorCamera) && {ACE_player == player}) then { + curatorcamera cameraEffect ["internal","back"]; + } else { + GVAR(camera) cameraEffect ["terminate","back"]; + ACE_player switchCamera GVAR(cameraView); + }; }; +deleteVehicle GVAR(cameraHelper); +camDestroy GVAR(camera); + if (isMultiplayer) then { [QGVAR(broadcastFace), [GVAR(center), GVAR(currentFace)], QGVAR(center) + "_face"] call CBA_fnc_globalEventJIP; @@ -73,10 +75,6 @@ if (isMultiplayer) then { [QGVAR(center) + "_voice", GVAR(center)] call CBA_fnc_removeGlobalEventJIP; }; -if !(isnull curatorCamera) then { - curatorcamera cameraEffect ["internal","back"]; -}; - GVAR(camera) = nil; GVAR(cameraHelper) = nil; @@ -98,6 +96,12 @@ GVAR(currentVoice) = nil; GVAR(currentInsignia) = nil; GVAR(currentAction) = nil; +GVAR(showStats) = nil; +GVAR(statsPagesLeft) = nil; +GVAR(statsPagesRight) = nil; +GVAR(statsInfo) = nil; + GVAR(center) = nil; +GVAR(centerNotPlayer) = nil; showHUD true; diff --git a/addons/arsenal/functions/fnc_onArsenalOpen.sqf b/addons/arsenal/functions/fnc_onArsenalOpen.sqf index c5d1cc0104..b67bd4173a 100644 --- a/addons/arsenal/functions/fnc_onArsenalOpen.sqf +++ b/addons/arsenal/functions/fnc_onArsenalOpen.sqf @@ -55,6 +55,11 @@ GVAR(currentInsignia) = GVAR(center) param [0, objNull, [objNull]] getVariable [ GVAR(currentAction) = "Stand"; GVAR(shiftState) = false; +GVAR(showStats) = true; +GVAR(statsPagesLeft) = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +GVAR(statsPagesRight) = [0, 0, 0, 0, 0, 0, 0, 0]; +GVAR(statsInfo) = [true, 0, controlNull, nil, nil]; + // Add the items the player has to virtualItems for "_index" from 0 to 10 do { switch (_index) do { @@ -87,8 +92,8 @@ for "_index" from 0 to 10 do { if (_x != "") then { (GVAR(virtualItems) select _index) select ([2, 1, 0, 3] select _forEachIndex) pushBackUnique _x; }; - } foreach _x; - } foreach _accsArray; + } forEach _x; + } forEach _accsArray; { if !(_x isEqualTo []) then { @@ -101,7 +106,7 @@ for "_index" from 0 to 10 do { (GVAR(virtualItems) select 2) pushBackUnique (_x select 1); }; }; - } foreach _magsArray; + } forEach _magsArray; }; // Inventory items @@ -113,7 +118,7 @@ for "_index" from 0 to 10 do { default { private _array = (LIST_DEFAULTS select _index) select {!(_x isEqualTo "")}; if !(_array isEqualTo []) then { - {(GVAR(virtualItems) select _index) pushBackUnique _x} foreach _array; + {(GVAR(virtualItems) select _index) pushBackUnique _x} forEach _array; }; }; }; @@ -163,7 +168,7 @@ for "_index" from 0 to 15 do { private _index = 10 + (["itemmap", "itemcompass", "itemradio", "itemwatch", "itemgps"] find (tolower _simulationType)); GVAR(currentItems) set [_index, _x]; -} foreach (assignedItems GVAR(center)); +} forEach (assignedItems GVAR(center)); GVAR(currentWeaponType) = switch true do { case (currentWeapon GVAR(center) == GVAR(currentItems) select 0): {0}; @@ -172,7 +177,7 @@ GVAR(currentWeaponType) = switch true do { default {-1}; }; -[QGVAR(displayOpened), []] call CBA_fnc_localEvent; +[QGVAR(displayOpened), [_display]] call CBA_fnc_localEvent; //--------------- Fade out unused elements private _mouseBlockCtrl = _display displayCtrl IDC_mouseBlock; @@ -184,7 +189,7 @@ _mouseBlockCtrl ctrlEnable false; _x ctrlSetFade 1; _x ctrlShow false; _x ctrlCommit 0; -} foreach [ +} forEach [ IDC_blockRightFrame, IDC_blockRighttBackground, IDC_loadIndicator, @@ -199,6 +204,20 @@ _mouseBlockCtrl ctrlEnable false; IDC_rightSearchbar ]; +// Handle stats +private _statsBoxCtrl = _display displayCtrl IDC_statsBox; +_statsBoxCtrl ctrlSetPosition [ + (0.5 - WIDTH_TOTAL / 2) + WIDTH_GAP, + safezoneY + 1.8 * GRID_H, + 47 * GRID_W, + 11 * GRID_H +]; +_statsBoxCtrl ctrlEnable false; +_statsBoxCtrl ctrlCommit 0; + +(_display displayCtrl IDC_statsButton) ctrlShow false; + +// Disable import in MP if (isMultiplayer) then { private _importButtonCtrl = _display displayCtrl IDC_buttonImport; _importButtonCtrl ctrlEnable false; @@ -258,8 +277,8 @@ if (is3DEN) then { private _ctrl = _display displayctrl _x; _ctrl ctrlEnable false; _ctrl ctrlSetFade 0.6; - _ctrl ctrlcommit 0; - } foreach [ + _ctrl ctrlCommit 0; + } forEach [ IDC_buttonFace, IDC_buttonVoice, IDC_buttonInsigna @@ -267,6 +286,19 @@ if (is3DEN) then { _buttonCloseCtrl = _display displayCtrl IDC_menuBarClose; _buttonCloseCtrl ctrlSetText (localize "str_ui_debug_but_apply"); +} else { + GVAR(centerNotPlayer) = (GVAR(center) != player); + + { + private _ctrl = _display displayCtrl _x; + _ctrl ctrlEnable GVAR(enableIdentityTabs); + _ctrl ctrlSetFade ([0.6, 0] select GVAR(enableIdentityTabs)); + _ctrl ctrlCommit 0; + } forEach [ + IDC_buttonFace, + IDC_buttonVoice, + IDC_buttonInsigna + ]; }; //--------------- Prepare the left panel @@ -282,7 +314,7 @@ GVAR(rightTabLnBFocus) = false; private _panel = _display displayCtrl _x; _panel ctrlSetFontHeight (GVAR(fontHeight) * GRID_H); _panel ctrlCommit 0; -} foreach [IDC_leftTabContent, IDC_rightTabContent, IDC_rightTabContentListnBox]; +} forEach [IDC_leftTabContent, IDC_rightTabContent, IDC_rightTabContentListnBox]; [_display, _display displayCtrl IDC_buttonPrimaryWeapon] call FUNC(fillLeftPanel); diff --git a/addons/arsenal/functions/fnc_onKeyDown.sqf b/addons/arsenal/functions/fnc_onKeyDown.sqf index b963974033..d06055f149 100644 --- a/addons/arsenal/functions/fnc_onKeyDown.sqf +++ b/addons/arsenal/functions/fnc_onKeyDown.sqf @@ -85,9 +85,31 @@ if !(_loadoutsDisplay isEqualTo displayNull) then { case (_keyPressed == DIK_BACKSPACE): { [_display] call FUNC(buttonHide); }; - // Export button + // Export button / export classname case (_keyPressed == DIK_C && {_ctrlState}): { - [_display] call FUNC(buttonExport); + if (GVAR(leftTabFocus) || {GVAR(rightTabFocus)} || {GVAR(rightTabLnBFocus)}) then { + switch true do { + case (GVAR(leftTabFocus)): { + private _control = (_display displayCtrl IDC_leftTabContent); + _control lbData (lbCurSel _control) + }; + case (GVAR(rightTabFocus)): { + private _control = (_display displayCtrl IDC_rightTabContent); + _control lbData (lbCurSel _control) + }; + case (GVAR(rightTabLnBFocus)): { + private _control = (_display displayCtrl IDC_rightTabContentListnBox); + _control lnbData [(lnbCurSelRow _control), 0] + }; + } params ["_className"]; + + "ace_clipboard" callExtension (_className + ";"); + "ace_clipboard" callExtension "--COMPLETE--"; + + [_display, localize LSTRING(exportedClassnameText)] call FUNC(message); + } else { + [_display] call FUNC(buttonExport); + }; }; // Import button case (_keyPressed == DIK_V && {_ctrlState}): { @@ -124,6 +146,18 @@ if !(_loadoutsDisplay isEqualTo displayNull) then { playsound ["RscDisplayCurator_visionMode",true]; }; + // Panel up down + case (_keyPressed in [DIK_UP, DIK_DOWN]): { + if (GVAR(leftTabFocus) || {GVAR(rightTabFocus)} || {GVAR(rightTabLnBFocus)}) then { + _return = false; + }; + }; + // Right panel lnb + and - buttons + case (_keyPressed in [DIK_LEFT, DIK_RIGHT]): { + if (GVAR(rightTabLnBFocus)) then { + [_display, [1, 0] select (_keyPressed == DIK_LEFT)] call FUNC(buttonCargo); + }; + }; }; } else { switch true do { @@ -167,22 +201,6 @@ if !(_loadoutsDisplay isEqualTo displayNull) then { }; }; }; - - if (GVAR(leftTabFocus) && {_keyPressed in [DIK_UP, DIK_DOWN]}) then { - _return = false; - }; - - if (GVAR(rightTabFocus) && {_keyPressed in [DIK_UP, DIK_DOWN]}) then { - _return = false; - }; - - if (GVAR(rightTabLnBFocus) && {_keyPressed in [DIK_UP, DIK_DOWN]}) then { - _return = false; - }; - - if (GVAR(rightTabLnBFocus) && {_keyPressed in [DIK_LEFT, DIK_RIGHT]}) then { - [_display, [1, 0] select (_keyPressed == DIK_LEFT)] call FUNC(buttonCargo); - }; }; _return diff --git a/addons/arsenal/functions/fnc_openBox.sqf b/addons/arsenal/functions/fnc_openBox.sqf index a4d45edac7..af23d9f990 100644 --- a/addons/arsenal/functions/fnc_openBox.sqf +++ b/addons/arsenal/functions/fnc_openBox.sqf @@ -22,7 +22,7 @@ params [["_object", objNull, [objNull]], ["_center", objNull, [objNull]], ["_mod if ( isNull _object || {isNull _center} || - {!(_center isKindOf "Man")} || + {!(_center isKindOf "CAManBase")} || {!(isNull objectParent _center) && {!is3DEN}} ) exitWith {}; diff --git a/addons/arsenal/functions/fnc_removeStat.sqf b/addons/arsenal/functions/fnc_removeStat.sqf new file mode 100644 index 0000000000..c13808e3a9 --- /dev/null +++ b/addons/arsenal/functions/fnc_removeStat.sqf @@ -0,0 +1,66 @@ +/* + * Author: Alganthe + * Remove a stat from ACE Arsenal. + * + * Arguments: + * 0: Array of IDs (ARRAY) + * + * Return Value: + * None + * + * Example: + * [["scopeStatL00","scopeStatL01","scopeStatL02","scopeStatR07"]] call ace_arsenal_fnc_removeStat; + * + * Public: Yes +*/ +#include "script_component.hpp" + +params ["_IDList"]; + +call FUNC(compileStats); + +{ + private _currentID = _x; + private _stringCount = count _currentID; + private _side = _currentID select [_stringCount - 3, 1]; + private _tab = _currentID select [_stringCount - 2, 2]; + _tab = parseNumber _tab; + + private _tabToChange = if (_side == "R") then { + GVAR(statsListRightPanel) select _tab + } else { + GVAR(statsListLeftPanel) select _tab + }; + + { + private _currentPage = _x; + + { + if (_x select 0 == _currentID) then { + _currentPage deleteAt _forEachIndex; + }; + } foreach _currentPage; + } foreach _tabToChange; +} foreach _IDList; + +// Clear empty pages +private _fnc_deleteEmptyPage = { + params ["_list"]; + { + private _evaluatedTab = _forEachIndex; + { + if (count _x == 0) then { + _markedForDeletion pushBack [_evaluatedTab, _forEachIndex]; + }; + } foreach _x; + + { + (_list select (_x select 0)) deleteAt (_x select 1); + } foreach _markedForDeletion; + } foreach (_this select 0); +}; + +private _markedForDeletion = []; + +[GVAR(statsListLeftPanel)] call _fnc_deleteEmptyPage; +[GVAR(statsListRightPanel)] call _fnc_deleteEmptyPage; diff --git a/addons/arsenal/functions/fnc_showItem.sqf b/addons/arsenal/functions/fnc_showItem.sqf index e97ebd8dd5..478ae4218d 100644 --- a/addons/arsenal/functions/fnc_showItem.sqf +++ b/addons/arsenal/functions/fnc_showItem.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" #include "..\defines.hpp" - +if (GVAR(centerNotPlayer)) exitWith {}; private _nextAction = switch (GVAR(currentLeftPanel)) do { diff --git a/addons/arsenal/functions/fnc_statBarStatement_default.sqf b/addons/arsenal/functions/fnc_statBarStatement_default.sqf new file mode 100644 index 0000000000..d31529b55b --- /dev/null +++ b/addons/arsenal/functions/fnc_statBarStatement_default.sqf @@ -0,0 +1,30 @@ +/* + * Author: Alganthe + * Generic bar statement for stats. + * + * Arguments: + * 0: stat (STRING) + * 1: item config path (CONFIG) + * 2: Args for configExtreme + * 2.1: Stat limits (ARRAY of BOOL) + * 2.2: Bar limits (ARRAY of SCALAR) + * 2.3: Evaluate as a logarithmic number (BOOL) + * + * Return Value: + * Number + * + * Public: Yes +*/ +#include "script_component.hpp" + +params ["_stat", "_config", "_args"]; +_args params ["_statMinMax", "_barLimits", "_configExtremeBool"]; + +private _statValues = [ + [_config], + [_stat], + [_configExtremeBool], + [_statMinMax select 0] +] call BIS_fnc_configExtremes; + +linearConversion [_statMinMax select 0, _statMinMax select 1, (_statValues select 1) select 0, _barLimits select 0, _barLimits select 1] diff --git a/addons/arsenal/functions/fnc_statBarStatement_impact.sqf b/addons/arsenal/functions/fnc_statBarStatement_impact.sqf new file mode 100644 index 0000000000..d979a178a0 --- /dev/null +++ b/addons/arsenal/functions/fnc_statBarStatement_impact.sqf @@ -0,0 +1,34 @@ +/* + * Author: Alganthe + * Impact bar statement. + * + * Arguments: + * 0: stats array (ARRAY) + * 1: item config path (CONFIG) + * 2: Args for configExtreme + * 2.1: Stat limits (ARRAY of BOOL) + * 2.2: Bar limits (ARRAY of SCALAR) + * 2.3: Evaluate as a logarithmic number (BOOL) + * + * Return Value: + * Number + * + * Public: No +*/ +#include "script_component.hpp" + +params ["_stats", "_config", "_args"]; +_args params ["_hitMinMax", "_initSpeedMinMax", "_launcherTabIDC"]; + +private _statValues = [ + [_config], + _stats, + [true, false], + [_hitMinMax select 0, _initSpeedMinMax select 0] +] call BIS_fnc_configExtremes; +(_statValues select 1) params ["_hit", "_initSpeed"]; + +_hit = linearConversion [_hitMinMax select 0, _hitMinMax select 1, _hit, 0.01, 1]; +_initSpeed = linearConversion [_initSpeedMinMax select 0, _initSpeedMinMax select 1, _initSpeed, 0.01, 1]; + +[sqrt(_hit^2 * _initSpeed), _hit] select (GVAR(currentLeftPanel) == _launcherTabIDC) diff --git a/addons/arsenal/functions/fnc_statTextStatement_accuracy.sqf b/addons/arsenal/functions/fnc_statTextStatement_accuracy.sqf new file mode 100644 index 0000000000..0f69236bb3 --- /dev/null +++ b/addons/arsenal/functions/fnc_statTextStatement_accuracy.sqf @@ -0,0 +1,31 @@ +/* + * Author: Alganthe + * Accuracy text statement. + * + * Arguments: + * 0: stat (STRING) + * 1: item config path (CONFIG) + * 2: Args for configExtreme + * 2.1: Stat limits (ARRAY of BOOL) + * 2.2: Evaluate as a logarithmic number (BOOL) + * + * Return Value: + * Number + * + * Public: No +*/ +#include "script_component.hpp" + +params ["_stat", "_config", "_args"]; +_args params ["_statMinMax", "_configExtremeBool"]; + +private _statValues = [ + [_config], + [_stat], + [_configExtremeBool], + [_statMinMax select 0] +] call BIS_fnc_configExtremes; + +private _dispersion = (_statValues select 1) select 0; + +format ["%1 MIL (%2 MOA)", (_dispersion * 1000) toFixed 2, (_dispersion / pi * 10800) ToFixed 1]; diff --git a/addons/arsenal/functions/fnc_statTextStatement_mass.sqf b/addons/arsenal/functions/fnc_statTextStatement_mass.sqf new file mode 100644 index 0000000000..eeda9d7203 --- /dev/null +++ b/addons/arsenal/functions/fnc_statTextStatement_mass.sqf @@ -0,0 +1,28 @@ +/* + * Author: Alganthe + * Text statement for the mass stat. + * + * Arguments: + * 0: not used + * 1: item config path (CONFIG) + * + * Return Value: + * String to display + * + * Public: No +*/ +#include "script_component.hpp" + +params ["", "_config"]; + +private _mass = getNumber (_config >> "mass"); + +if (_mass == 0 && {isClass (_config >> "itemInfo")}) then { + _mass = getNumber (_config >> "itemInfo" >> "mass"); +}; + +if (_mass == 0 && {isClass (_config >> "WeaponSlotsInfo")}) then { + _mass = getNumber (_config >> "WeaponSlotsInfo" >> "mass"); +}; + +format ["%1kg (%2lb)",((_mass * 0.1 * (1/2.2046) * 100) / 100) ToFixed 2, ((_mass * 0.1 * 100) / 100) ToFixed 2] diff --git a/addons/arsenal/functions/fnc_statTextStatement_rateOfFire.sqf b/addons/arsenal/functions/fnc_statTextStatement_rateOfFire.sqf new file mode 100644 index 0000000000..a34a2f7d7b --- /dev/null +++ b/addons/arsenal/functions/fnc_statTextStatement_rateOfFire.sqf @@ -0,0 +1,29 @@ +/* + * Author: Alganthe + * ROF text statement. + * + * Arguments: + * 0: stat (STRING) + * 1: item config path (CONFIG) + * 2: Args for configExtreme + * 2.1: Stat limits (ARRAY of BOOL) + * 2.2: Evaluate as a logarithmic number (BOOL) + * + * Return Value: + * Number + * + * Public: No +*/ +#include "script_component.hpp" + +params ["_stat", "_config", "_args"]; +_args params ["_statMinMax", "_configExtremeBool"]; + +private _statValues = [ + [_config], + [_stat], + [_configExtremeBool], + [_statMinMax select 0] +] call BIS_fnc_configExtremes; + +format ["%1 rpm", round (60 / ((_statValues select 1) select 0))] diff --git a/addons/arsenal/functions/fnc_statTextStatement_scopeMag.sqf b/addons/arsenal/functions/fnc_statTextStatement_scopeMag.sqf new file mode 100644 index 0000000000..5445847215 --- /dev/null +++ b/addons/arsenal/functions/fnc_statTextStatement_scopeMag.sqf @@ -0,0 +1,26 @@ +/* + * Author: PabstMirror + * Text statement for the scope magnification stat. + * + * Arguments: + * 0: not used + * 1: item config path (CONFIG) + * + * Return Value: + * String to display + * + * Public: No + */ +#include "script_component.hpp" + +params ["", "_config"]; +TRACE_1("statTextStatement_scopeMag",_config); + +private _minZoom = 999; // FOV, so smaller is more zoomed in +{ + _minZoom = _minZoom min (getNumber (_x >> "opticsZoomMin")); +} forEach configProperties [_config >> "ItemInfo" >> "OpticsModes"]; + +if (_minZoom in [0, 999]) exitWith {"?"}; + +format ["%1x", (0.25/_minZoom) toFixed 1] diff --git a/addons/arsenal/functions/fnc_updateCamPos.sqf b/addons/arsenal/functions/fnc_updateCamPos.sqf index f8b6b91a15..41b7399e61 100644 --- a/addons/arsenal/functions/fnc_updateCamPos.sqf +++ b/addons/arsenal/functions/fnc_updateCamPos.sqf @@ -19,9 +19,3 @@ GVAR(cameraHelper) attachTo [GVAR(center), GVAR(cameraPosition) select 3, ""]; / GVAR(camera) setPos (GVAR(cameraHelper) modelToWorld [0, -_distance, 0]); GVAR(camera) setVectorDirAndUp [vectorDir GVAR(cameraHelper), vectorUp GVAR(cameraHelper)]; - -//--- Make sure the camera is not underground -if ((getPosAsl GVAR(camera) select 2) < (getPosAsl GVAR(center) select 2)) then { - private _disCoef = ((getPosAsl GVAR(cameraHelper) select 2) - (getPosAsl GVAR(center) select 2)) / ((getPosAsl GVAR(cameraHelper) select 2) - (getPosAsl GVAR(camera) select 2) + 0.001); - GVAR(camera) setPos (GVAR(cameraHelper) modelToWorldVisual [0, -_distance * _disCoef, 0]); -}; diff --git a/addons/arsenal/functions/fnc_verifyLoadout.sqf b/addons/arsenal/functions/fnc_verifyLoadout.sqf index e7946b8b10..d5d0923511 100644 --- a/addons/arsenal/functions/fnc_verifyLoadout.sqf +++ b/addons/arsenal/functions/fnc_verifyLoadout.sqf @@ -60,13 +60,13 @@ private _fnc_weaponCheck = { if (isClass (_magCfg >> _mag)) then { if !(_mag in (GVAR(virtualItems) select 2)) then { - _unavailableItemsList pushBackUnique _item; + _unavailableItemsList pushBackUnique _mag; _dataPath set [_forEachIndex, []]; _unavailableItemsAmount = _unavailableItemsAmount + 1; }; } else { - _nullItemsList pushBackUnique _item; + _nullItemsList pushBackUnique _mag; _dataPath set [_forEachIndex, []]; _nullItemsAmount = _nullItemsAmount + 1; }; diff --git a/addons/arsenal/stringtable.xml b/addons/arsenal/stringtable.xml index e4c19a07b4..24e6968cb5 100644 --- a/addons/arsenal/stringtable.xml +++ b/addons/arsenal/stringtable.xml @@ -9,6 +9,8 @@ 非表示 Nascondere 숨김 + 隱藏 + 隐藏 Hide interface @@ -18,6 +20,8 @@ インターフェイスを隠す Nascondi interfaccia 인터페이스 숨기기 + 隱藏介面 + 隐藏介面 Loadouts @@ -27,6 +31,8 @@ 装備 Equipaggiamenti 로드아웃 + 裝備 + 装备 Export @@ -36,6 +42,8 @@ 出力 Esporta 내보내기 + 匯出 + 汇出 Import @@ -45,6 +53,8 @@ 取込 Importa 가져오기 + 匯入 + 汇入 Close @@ -54,6 +64,8 @@ 閉じる Chiudi 닫기 + 關閉 + 关闭 No virtual item available @@ -63,6 +75,8 @@ 利用可能なバーチャル アイテムは無し Nessun oggetto virtuale disponibile 가상장비 사용 불가 + 沒有可用的虛擬物品 + 没有可用的虚拟物品 Save @@ -72,6 +86,8 @@ 保存 Salva 저장 + 保存 + 保存 Save the current loadout @@ -81,6 +97,8 @@ 現在の装備を保存します Salva l'equipaggiamento corrente 현재 로드아웃 저장 + 保存當前的裝備 + 保存当前的装备 Rename @@ -90,15 +108,19 @@ 改名 Rinomina 이름바꾸기 + 重新命名 + 重新命名 Rename the selected loadout Renomme l'équipement sélectionné Ausgewählte Ausrüstung umbenennen Zmień nazwę wybranego zestawu - 現在選択中の装備を改名します + 選択中の装備を改名します Rinomina l'equipaggiamento selezionato 선택한 로드아웃의 이름 바꾸기 + 重新命名當前選擇的裝備 + 重新命名当前选择的装备 Load @@ -108,15 +130,19 @@ 読み込む Carica 불러오기 + 載入 + 载入 Load the selected loadout Charger l'équipement sélectionné Ausgewählte Ausrüstung laden Wczytaj wybrany zestaw - 現在選択中の装備を読み込みます + 選択中の装備を読み込みます Carica l'equipaggiamento selezionato 선택한 로드아웃 불러오기 + 載入當前選擇的裝備 + 载入当前选择的装备 Delete @@ -126,15 +152,19 @@ 削除 Elimina 삭제 + 刪除 + 删除 Delete the selected loadout Supprimer l'équipement sélectionné Ausgewählte Ausrüstung entfernen Skasuj wybrany zestaw - 現在選択中の装備を削除します + 選択中の装備を削除します Elimina l'equipaggiamento selezionato 선택한 로드아웃 삭제하기 + 刪除當前選擇的裝備 + 删除当前选择的装备 My loadouts @@ -144,15 +174,19 @@ 自分の装備 I miei equipaggiamenti 내 로드아웃 + 我的裝備 + 我的装备 Loadouts saved in your profile Équipements enregistrés dans votre profil Ausrüstungen, die in deinem Profil gespeichert sind Zestawy zapisane w Twoim profilu - 自プロフィールに保存された装備です + プロフィールに保存された装備です Gli equipaggiamenti salvati nel tuo profilo 프로필에 저장된 로드아웃 + 裝備已保存到你的設定檔中 + 装备已保存到你的设定档中 Default loadouts @@ -162,6 +196,8 @@ 標準の装備 Equipaggiamenti standard 기본 로드아웃 + 預設裝備 + 预设装备 Loadouts made available by the mission maker @@ -171,6 +207,8 @@ 装備はミッション著者によって利用できます Equipaggiamenti resi disponibili dal creatore della missione 미션메이커가 허용한 로드아웃 + 任務作者提供的預設裝備 + 任务作者提供的预设装备 Public loadouts @@ -180,6 +218,8 @@ 公開装備 Equipaggiamenti pubblici 공용 로드아웃 + 公用裝備 + 公用装备 Loadouts shared by you and other players @@ -189,6 +229,8 @@ 自分か他人によって共有された装備です Equipaggiamenti condivisi da te e da altri giocatori 플레이어들이 공유하는 로드아웃 + 由你與其他玩家分享的裝備配置 + 由你与其他玩家分享的装备配置 Sort by weight @@ -198,6 +240,8 @@ 重量で並び替え Ordina per peso 무게로 정렬 + 以重量排序 + 以重量排序 Sort by amount @@ -207,6 +251,8 @@ 量で並び替え Ordina per quantitativo 갯수로 정렬 + 以數量排序 + 以数量排序 Share or stop sharing the selected loadout @@ -216,6 +262,8 @@ 選択した装備の共有設定 Condividi o smetti di condividere l'equipaggiamento selezionato 선택한 로드아웃 공유 혹은 공유중지 + 開始/停止分享當前選擇的裝備 + 开始/停止分享当前选择的装备 Private @@ -225,6 +273,8 @@ 非公開 Privato 개인 + 私用 + 私用 Public @@ -234,6 +284,8 @@ 公開 Pubblico 공용 + 公用 + 公用 The default loadouts list is empty! @@ -243,6 +295,8 @@ 標準の装備一欄が空です! La lista degli equipaggiamenti standard è vuota! 기본 로드아웃 목록이 비어있습니다! + 沒有預設的裝備清單! + 没有预设的装备清单! Default loadouts list exported to clipboard @@ -252,6 +306,8 @@ 標準の装備一欄はクリップボードへ出力されました La lista degli equipaggiamenti standard è stata esportata negli appunti 클립보드에 기본 로드아웃 목록 내보내기 + 預設的裝備清單已匯出到剪貼簿中 + 预设的装备清单已汇出到剪贴簿中 Current loadout exported to clipboard @@ -261,6 +317,8 @@ 現在の装備はクリップボードへ出力されました Equipaggiamento corrente esportato negli appunti 현재 로드아웃을 클립보드로 내보냈습니다. + 當前的裝備已匯出到剪貼簿中 + 当前的装备已汇出到剪贴簿中 Wrong format provided @@ -270,6 +328,8 @@ 間違ったフォーマットが入力されました Formato fornito sbagliato 잘못된 형식 입력됨 + 提供的格式錯誤 + 提供的格式错误 Default loadouts list imported from clipboard @@ -279,6 +339,8 @@ 標準の装備一欄はクリップボードから取込されました La lista degli equipaggiamenti standard è stata importata dagli appunti 클립보드에서 기본 로드아웃 가져오기 + 預設的裝備清單已從剪貼簿中匯入 + 预设的装备清单已从剪贴簿中汇入 Loadout imported from clipboard @@ -288,6 +350,8 @@ 装備はクリップボードから取込されました Equipaggiamento importato dagli appunti 클립보드에서 로드아웃을 가져왔습니다. + 裝備已從剪貼簿中匯入 + 装备已从剪贴簿中汇入 The following loadout was deleted: @@ -297,6 +361,8 @@ 次の装備は削除されました: Il seguente equipaggiamento è stato eliminato: 다음 로드아웃이 삭제됨 : + 以下的裝備已被刪除: + 以下的装备已被删除: The following loadout is not public anymore: @@ -306,6 +372,8 @@ 次の装備は非公開になりました: Il seguente eequipaggiamento non è più pubblico: 다음 로드아웃이 더이상 공용이 아님: + 以下的裝備已不再被分享: + 以下的装备已不再被分享: The name field is empty! @@ -315,6 +383,8 @@ 名前欄が空白です! Il campo del nome è vuoto! 이름칸이 비었습니다! + 名稱欄位為空! + 名称栏位为空! You are the author of this loadout @@ -324,6 +394,8 @@ あなたはこの装備の作者です Sei l'autore di questo equipaggiamento 이 로드아웃의 제작자입니다. + 你是這個裝備的作者 + 你是这个装备的作者 A loadout of yours with the same name is public @@ -333,6 +405,8 @@ あなたの装備は既に公開されているものと同名です Un tuo equipaggiamento con lo stesso nome è pubblico 같은 이름의 로드아웃이 공용에 있습니다. + 已有相同名稱的裝備在公用分享區 + 已有相同名称的装备在公用分享区 The following loadout was saved: @@ -342,6 +416,8 @@ 次の装備は保存されました: Il seguente equipaggiamento è stato salvato: 다음 로드아웃이 저장됨: + 以下的裝備已被保存: + 以下的装备已被保存: The following loadout was loaded: @@ -351,6 +427,8 @@ 次の装備が読み込みされました: Il seguente equipaggiamento è stato caricato: 다음 로드아웃을 불러옴: + 以下的裝備已被載入: + 以下的装备已被载入: A loadout with the same name already exist! @@ -360,6 +438,8 @@ 既にその名前は装備に使われています! Un equipaggiamento con lo stesso nome è gia esistente! 같은 이름의 로드아웃이 이미 존재합니다! + 已有相同名稱的裝備! + 已有相同名称的装备! was renamed to @@ -369,6 +449,8 @@ 次の名前に改名されました E' stato rinominato in 이름이 다음과 같이 변경됨: + 已被改名為 + 已被改名为 Invert camera controls @@ -378,6 +460,8 @@ カメラ操作を反転 Inverti comandi camera 카메라 조종 반전 + 反轉攝影機控制 + 反转摄影机控制 Enable mod icons @@ -387,6 +471,8 @@ MOD アイコンを表示 Abilita icone mod 모드 아이콘 허가 + 啟用模組圖示 + 启用模组图示 Panel font height @@ -396,6 +482,8 @@ パネルにあるフォントの高さ Altezza carattere del pannello 패널 폰트 높이 + 面板字體高度 + 面板字体高度 Allow default loadouts @@ -405,6 +493,8 @@ 標準の装備を許可 Consenti equipaggiamenti standard 기본 로드아웃 허용 + 允許預設裝備 + 允许预设装备 Allow loadout sharing @@ -414,6 +504,8 @@ 装備の共有を許可 Consenti condivisione equipaggiamenti 로드아웃 공유 허용 + 允許分享裝備 + 允许分享装备 Log missing / unavailable items @@ -423,6 +515,8 @@ 欠落 / 利用不可アイテムを記録 Log mancante / oggetto non disponibile 누락 된 항목 / 사용 할 수 없는 항목 기록 + 記錄遺失/無法使用的項目 + 记录遗失/无法使用的项目 Primary magazine @@ -432,6 +526,8 @@ Caricatore primario 주무기 탄약 Primärmagazin + 主要武器彈匣 + 主要武器弹匣 Secondary magazine @@ -441,6 +537,8 @@ Caricatore secondario 보조무기 탄약 Sekundärmagazin + 次要武器彈匣 + 次要武器弹匣 ACE Arsenal @@ -450,6 +548,8 @@ ACE 武器庫 Arsenale ACE ACE 아스날 + ACE虛擬軍火庫 + ACE虚拟军火库 Allow the use of the default loadouts tab @@ -459,6 +559,8 @@ Consenti l'uso della sezione per gli equipaggiamenti standard 기본 로드아웃 탭 사용 허가 Erlaube die Nutzung des Standardausrüstungsreiters + 允許使用預設的裝備 + 允许使用预设的装备 Show / hide mod icons for the left panel @@ -468,6 +570,8 @@ Mostra / nascondi le icone delle mod dal pannello sinistro 왼쪽 패널의 모드 아이콘 표시 / 숨기기 Zeigt/Versteckt Mod-Symbole in der linken Leiste + 在左面板中顯示/隱藏模組圖示 + 在左面板中显示/隐藏模组图示 Change the font height for text in the left / right panels @@ -477,6 +581,8 @@ Cambia l'altezza del font per il testo sul pannello sinistro / destro 왼쪽 / 오른쪽 패널 텍스트의 글꼴 높이 변경 Ändert die Schriftgröße für die linke/rechte Leiste + 變更左/右面板中的字體高度 + 变更左/右面板中的字体高度 Log missing / unavailable items in the RPT @@ -486,6 +592,8 @@ Log mancante / oggetto non disponibile nell' RPT RPT에 누락 된 항목 / 사용할 수없는 항목 기록 Fehlende Gegenstände werden in der RPT aufgezeichnet + 記錄遺失/無法使用的項目到RPT檔案中 + 记录遗失/无法使用的项目到RPT档案中 Unable to open ACE arsenal @@ -494,6 +602,8 @@ Impossibile aprire l'arsenale ACE ACE 武器庫を開けません ACE 아스날을 열 수 없음 + 無法開啟ACE虛擬軍火庫 + 无法开启ACE虚拟军火库 Import BI VA loadouts to ACE Arsenal @@ -501,13 +611,17 @@ Importiert die BI-VA-Ausrüstungen in das ACE-Arsenal 標準の VA 装備から ACE 武器庫へ取り込み 바닐라 로드아웃을 ace 아스날로 가져오기 + 匯入BI原廠虛擬軍火庫的裝備到ACE虛擬軍火庫中 + 汇入BI原厂虚拟军火库的装备到ACE虚拟军火库中 No player unit available! Place a unit and mark it as "Player". Aucune unité joueur disponible ! Placez une unité et marquez la en tant que "joueur". Keine Spielereinheit verfügbar. Setze eine Einheit und markiere sie als "Spieler". - プレイヤー ユニットがありません!ユニットを設置しそれを"Player"と名付けてください。 + プレイヤー ユニットがありません!ユニットを設置し"Player"と名付けてください。 플레이어 유닛을 사용할 수 없습니다! 유닛을 놓고 "플레이어"라고 표시하십시오. + 沒有可用的玩家單位!請擺放一個單位並設定成"玩家"。 + 没有可用的玩家单位!请摆放一个单位并设定成"玩家"。 No loadouts to import. @@ -515,42 +629,102 @@ Keine Ausrüstungen zum Importieren 取り込みする装備がありません。 가져올 로드 아웃이 없습니다. + 沒有裝備被匯入。 + 没有装备被汇入。 ACE Arsenal ACE-Arsenal ACE 武器庫 ACE 아스날 + ACE虛擬軍火庫 + ACE虚拟军火库 Return to ACE Arsenal. Zurück zum ACE-Arsenal. ACE 武器庫へ戻ります。 ACE 아스날로 돌아가기 + 返回到ACE虛擬軍火庫。 + 返回到ACE虚拟军火库。 Use ACE Arsenal to try out different weapons and equipment. Verwende ACE-Arsenal und sieh dir verschiedene Waffen und Ausrüstung an und probiere sie aus. さまざまな武器と装備を試せるよう ACE 武器庫を使用します。 ACE Arsenal을 사용하여 다른 무기와 장비를 시험해보십시오. + 使用ACE虛擬軍火庫來嘗試不同的武器與裝備。 + 使用ACE虚拟军火库来尝试不同的武器与装备。 Try weapons and equipment and create your own loadouts. Probiere verschiedene Waffen und Ausrüstung aus und stelle dir eigene Ausrüstungsprofile zusammen. さまざまな武器と装備を試して、あなただけの装備を作成してください。 무기와 장비를 사용해보고 자신의 로드아웃을 만듭니다. + 嘗試不同的武器與裝備來組合你個人的裝備配置。 + 尝试不同的武器与装备来组合你个人的装备配置。 Open the loadouts screen Affiche la page des équipements + 開啟裝備選單 + 开启装备选单 + 装備画面を開く Export current / default loadouts Exporte l'équipement actuel ou la liste d'équipements de base + 匯出當前/預設的裝備 + 汇出当前/预设的装备 + 現在 / 標準装備を出力 Import current / default loadouts Importer l'équipement actuel ou la liste d'équipements de base + 匯入當前/預設的裝備 + 汇入当前/预设的装备 + 現在 / 標準装備を取込 + + + Potassium levels + Taux de potassium + カリウム レベル + + + Magnification + 放大倍率 + Grossissement + Aumento + Ingrandimento + Powiększenie + Увеличение + Vergrößerung + Zvětšení + Aumentox + 배율 + 放大倍数 + 拡大倍率 + Büyütme + + + Page + Page + ページ + + + Enable the faces / voices / insignias tabs + Activer les onglets faces / voix / insignes + 顔 / 声 / 記章タブを有効化 + + + Empty the selected container + Vider le conteneur selectionné + 選択されたコンテナは空です + + + Exported class name to clipboard + Nom de classe exporté dans le presse papier + クリップボードへクラスネームを出力 diff --git a/addons/arsenal/ui/RscAttributes.hpp b/addons/arsenal/ui/RscAttributes.hpp index e9c4f1f6b4..50a1d7f93c 100644 --- a/addons/arsenal/ui/RscAttributes.hpp +++ b/addons/arsenal/ui/RscAttributes.hpp @@ -42,7 +42,7 @@ class GVAR(display) { idc = IDC_arrowMinus; text = "-"; colorBackground[]={0,0,0,0.8}; - onButtonClick = QUOTE([ARR_2(ctrlparent (_this select 0), -1)] call FUNC(buttonCargo)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), -1)] call FUNC(buttonCargo)); fade = 1; enable = 0; x = 0.5; @@ -53,7 +53,7 @@ class GVAR(display) { }; class ArrowRight: ArrowLeft { idc = IDC_arrowPlus; - onButtonClick = QUOTE([ARR_2(ctrlparent (_this select 0), 1)] call FUNC(buttonCargo)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), 1)] call FUNC(buttonCargo)); text="+"; }; class blockLeftFrame: RscFrame { @@ -177,7 +177,7 @@ class GVAR(display) { sizeEx = QUOTE(5 * GRID_H); shortcuts[] = {"0x0E"}; tooltip = CSTRING(buttonHideTooltip); - onButtonClick = QUOTE([ctrlparent (_this select 0)] call FUNC(buttonHide)); + onButtonClick = QUOTE([ctrlParent (_this select 0)] call FUNC(buttonHide)); }; class buttonLoadouts: buttonHide { idc = IDC_buttonLoadouts; @@ -191,14 +191,14 @@ class GVAR(display) { x = QUOTE(3 * WIDTH_GAP + 2 * WIDTH_SINGLE); text = CSTRING(buttonExportText); tooltip = CSTRING(buttonExportTooltip); - onButtonClick = QUOTE([ctrlparent (_this select 0)] call FUNC(buttonExport)); + onButtonClick = QUOTE([ctrlParent (_this select 0)] call FUNC(buttonExport)); }; class buttonImport: buttonHide { idc = IDC_buttonImport; x = QUOTE(4 * WIDTH_GAP + 3 * WIDTH_SINGLE); text = CSTRING(buttonImportText); tooltip = CSTRING(buttonImportTooltip); - onButtonClick = QUOTE([ctrlparent (_this select 0)] call FUNC(buttonImport)); + onButtonClick = QUOTE([ctrlParent (_this select 0)] call FUNC(buttonImport)); }; class buttonClose: ctrlButtonOK { idc = IDC_menuBarClose; @@ -209,7 +209,7 @@ class GVAR(display) { h = QUOTE(7 * GRID_H); text = CSTRING(buttonCloseText); sizeEx = QUOTE(5 * GRID_H); - onButtonClick = QUOTE(ctrlparent (_this select 0) closeDisplay 1); + onButtonClick = QUOTE(ctrlParent (_this select 0) closeDisplay 1); }; }; }; @@ -268,6 +268,194 @@ class GVAR(display) { }; }; }; + class statsBox: RscControlsGroupNoScrollbars { + idc = IDC_statsBox; + x = QUOTE((0.5 - WIDTH_TOTAL / 2) + WIDTH_GAP); + y = QUOTE(safezoneY + 1.8 * GRID_H); + w = QUOTE(47 * GRID_W); + h = QUOTE(55 * GRID_H); + class controls { + class statsStaticBackground1: ctrlStaticBackground { + idc = -1; + x = QUOTE(0); + y = QUOTE(0); + w = QUOTE(47 * GRID_W); + h = QUOTE(55 * GRID_H); + colorBackground[]={0.1,0.1,0.1,0.5}; + }; + class statsStaticBackground2: ctrlStaticBackground { + idc = -1; + x = QUOTE(0); + y = QUOTE(0); + w = QUOTE(47 * GRID_W); + h = QUOTE(5 * GRID_H); + colorBackground[]={0.1,0.1,0.1,0.8}; + }; + class statsTitle1: RscText { + idc = IDC_statsTitle1; + fade = 1; + x = QUOTE(0 * GRID_W); + y = QUOTE(5 * GRID_H); + w = QUOTE(45 * GRID_W); + h = QUOTE(5 * GRID_H); + colorBackground[]={0,0,0,0}; + colorText[]={0.7,0.7,0.7,1}; + sizeEx = QUOTE(5 * GRID_H); + text = ""; + }; + class statsBackground1: ctrlStaticBackground { + idc = IDC_statsBackground1; + fade = 1; + x = QUOTE(1 * GRID_W); + y = QUOTE(10 * GRID_H); + w = QUOTE(45 * GRID_W); + h = QUOTE(4 * GRID_H); + colorBackground[]={1,1,1,0.15}; + }; + class statsBar1: ctrlProgress { + idc = IDC_statsBar1; + fade = 1; + style = 0; + texture = "#(argb,8,8,3)color(1,1,1,1)"; + colorBar[] = {1,1,1,1}; + colorFrame[] = {0,0,0,0}; + x = QUOTE(1 * GRID_W); + y = QUOTE(10 * GRID_H); + w = QUOTE(45 * GRID_W); + h = QUOTE(4 * GRID_H); + }; + class statsText1: RscText { + idc = IDC_statsText1; + shadow=0; + fade = 1; + colorShadow[]={1,1,1,1}; + colorText[]={0,0,0,1}; + x = QUOTE(0 * GRID_W); + y = QUOTE(10 * GRID_H); + w = QUOTE(45 * GRID_W); + h = QUOTE(4 * GRID_H); + sizeEx = QUOTE(5 * GRID_H); + text = ""; + }; + class statsTitle2: statsTitle1 { + idc = IDC_statsTitle2; + y = QUOTE(15 * GRID_H); + }; + class statsBackground2: statsBackground1 { + idc = IDC_statsBackground2; + y = QUOTE(20 * GRID_H); + }; + class statsBar2: statsBar1 { + idc = IDC_statsBar2; + y = QUOTE(20 * GRID_H); + }; + class statsText2: statsText1 { + idc = IDC_statsText2; + y = QUOTE(20 * GRID_H); + }; + class statsTitle3: statsTitle1 { + idc = IDC_statsTitle3; + y = QUOTE(25 * GRID_H); + }; + class statsBackground3: statsBackground1 { + idc = IDC_statsBackground3; + y = QUOTE(30 * GRID_H); + }; + class statsBar3: statsBar1 { + idc = IDC_statsBar3; + y = QUOTE(30 * GRID_H); + }; + class statsText3: statsText1 { + idc = IDC_statsText3; + y = QUOTE(30 * GRID_H); + }; + class statsTitle4: statsTitle1 { + idc = IDC_statsTitle4; + y = QUOTE(35 * GRID_H); + }; + class statsBackground4: statsBackground1 { + idc = IDC_statsBackground4; + y = QUOTE(40 * GRID_H); + }; + class statsBar4: statsBar1 { + idc = IDC_statsBar4; + y = QUOTE(40 * GRID_H); + }; + class statsText4: statsText1 { + idc = IDC_statsText4; + y = QUOTE(40 * GRID_H); + }; + class statsTitle5: statsTitle1 { + idc = IDC_statsTitle5; + y = QUOTE(45 * GRID_H); + }; + class statsBackground5: statsBackground1 { + idc = IDC_statsBackground5; + y = QUOTE(50 * GRID_H); + }; + class statsBar5: statsBar1 { + idc = IDC_statsBar5; + y = QUOTE(50 * GRID_H); + colorBackground[]={1,1,1,0.15}; + }; + class statsText5: statsText1 { + idc = IDC_statsText5; + y = QUOTE(50 * GRID_H); + }; + }; + }; + class statsButton: ctrlButton { + idc = IDC_statsButton; + style= 2; + text=">"; + onButtonClick = QUOTE(ARR_2([QQGVAR(statsButton), [ctrlParent (_this select 0)]]) call CBA_fnc_localEvent); + x = QUOTE((0.5 - WIDTH_TOTAL / 2) + WIDTH_GAP); + y = QUOTE(safezoneY + 1.8 * GRID_H); + w = QUOTE(6 * GRID_W); + h = QUOTE(6 * GRID_H); + sizeEx = QUOTE(5 * GRID_H); + }; + class statsPreviousPage: ctrlButton { + idc = IDC_statsPreviousPage; + style= 2; + text="<"; + colorBackground[]={0,0,0,0}; + colorBackgroundDisabled[]= {0,0,0,0}; + onButtonClick = QUOTE(ARR_2([QQGVAR(statsChangePage),[ARR_3(ctrlParent (_this select 0), _this select 0, false)]]) call CBA_fnc_localEvent); + x = QUOTE((0.5 - WIDTH_TOTAL / 2) + WIDTH_GAP); + y = QUOTE(safezoneY + 1.8 * GRID_H); + w = QUOTE(5 * GRID_W); + h = QUOTE(5 * GRID_H); + sizeEx = QUOTE(5.5 * GRID_H); + }; + class statsNextPage: statsPreviousPage { + idc = IDC_statsNextPage; + text = ">"; + onButtonClick = QUOTE(ARR_2([QQGVAR(statsChangePage),[ARR_3(ctrlParent (_this select 0), _this select 0, true)]]) call CBA_fnc_localEvent); + x = QUOTE((0.5 - WIDTH_TOTAL / 2) + WIDTH_GAP + 30 * GRID_W); + }; + class statsCurrentPage: RscText { + idc = IDC_statsCurrentPage; + style = ST_CENTER; + x = QUOTE((0.5 - WIDTH_TOTAL / 2) + WIDTH_GAP + 5 * GRID_W); + y = QUOTE(safezoneY + 1.8 * GRID_H); + w = QUOTE(25 * GRID_W); + h = QUOTE(5 * GRID_H); + colorBackground[]={0,0,0,0}; + shadow=2; + sizeEx = QUOTE(5 * GRID_H); + text = ""; + }; + class statsButtonClose: ctrlButtonPicture { + idc = IDC_statsButtonClose; + colorBackground[]={0,0,0,0}; + text="\a3\3DEN\Data\Displays\Display3DEN\search_end_ca.paa"; + onButtonClick = QUOTE(ARR_2([QQGVAR(statsButton), [ctrlParent (_this select 0)]]) call CBA_fnc_localEvent); + x = QUOTE((0.5 - WIDTH_TOTAL / 2) + WIDTH_GAP + 42 * GRID_W); + y = QUOTE(safezoneY + 1.8 * GRID_H); + w = QUOTE(5 * GRID_W); + h = QUOTE(5 * GRID_H); + }; class mouseBlock: RscText { idc = IDC_mouseBlock; style = 16; @@ -371,12 +559,13 @@ class GVAR(display) { y = QUOTE(safezoneY + 1.8 * GRID_H); w = QUOTE(74 * GRID_W); h = QUOTE(6 * GRID_H); + sizeEx = QUOTE(6 * GRID_H); }; class leftSearchbarButton: ctrlButtonPicture { idc = IDC_leftSearchbarButton; text = "\a3\Ui_f\data\GUI\RscCommon\RscButtonSearch\search_start_ca.paa"; colorBackground[]={0,0,0,0.5}; - onButtonClick = QUOTE([ARR_2(ctrlparent (_this select 0), ctrlparent (_this select 0) displayCtrl IDC_leftSearchbar)] call FUNC(handleSearchbar)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), ctrlParent (_this select 0) displayCtrl IDC_leftSearchbar)] call FUNC(handleSearchbar)); x = QUOTE(safezoneX + 87 * GRID_W); y = QUOTE(safezoneY + 1.8 * GRID_H); w = QUOTE(6 * GRID_W); @@ -390,7 +579,7 @@ class GVAR(display) { }; class rightSearchbarButton: leftSearchbarButton { idc = IDC_rightSearchbarButton; - onButtonClick = QUOTE([ARR_2(ctrlparent (_this select 0), ctrlparent (_this select 0) displayCtrl IDC_rightSearchbar)] call FUNC(handleSearchbar)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), ctrlParent (_this select 0) displayCtrl IDC_rightSearchbar)] call FUNC(handleSearchbar)); x = QUOTE(safezoneX + safezoneW - 93 * GRID_W); }; class tabLeft: RscControlsGroupNoScrollbars { @@ -414,7 +603,7 @@ class GVAR(display) { idc = IDC_buttonPrimaryWeapon; text="\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\PrimaryWeapon_ca.paa"; tooltip="$STR_A3_RscDisplayArsenal_tab_PrimaryWeapon"; - onButtonClick = QUOTE([ARR_2(ctrlparent (_this select 0), _this select 0)] call FUNC(fillLeftPanel)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), _this select 0)] call FUNC(fillLeftPanel)); colorBackground[]={0,0,0,0.5}; x = QUOTE(0 * GRID_W); y = QUOTE(0 * GRID_H); @@ -607,7 +796,7 @@ class GVAR(display) { idc = IDC_buttonOptic; tooltip="$STR_A3_RscDisplayArsenal_tab_ItemOptic"; text="\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\ItemOptic_ca.paa"; - onButtonClick = QUOTE([ARR_2(ctrlparent (_this select 0), _this select 0)] call FUNC(fillRightPanel)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), _this select 0)] call FUNC(fillRightPanel)); colorBackground[]={0,0,0,0.5}; x = QUOTE(safezoneW + safezoneX - 10 * GRID_W); y = QUOTE(safezoneY + 8 * GRID_H); @@ -717,6 +906,7 @@ class GVAR(display) { class buttonRemoveAll: ctrlButtonPicture { idc = IDC_buttonRemoveAll; text = QPATHTOF(data\iconClearContainer.paa); + tooltip = CSTRING(buttonClearContainerTooltip); colorBackground[]={0,0,0,0.5}; onButtonClick = QUOTE(ctrlParent (_this select 0) call FUNC(buttonClearAll)); fade=1; @@ -775,7 +965,7 @@ class GVAR(loadoutsDisplay) { onSetFocus = QUOTE(GVAR(loadoutsPanelFocus) = true); onKillFocus = QUOTE(GVAR(loadoutsPanelFocus) = false); onLBSelChanged = QUOTE([ARR_3(ctrlParent (_this select 0), _this select 0, _this select 1)] call FUNC(onSelChangedLoadouts)); - onLBDblClick = QUOTE([ARR_2(ctrlparent (_this select 0), (ctrlParent (_this select 0)) displayCtrl IDC_buttonLoad)] call FUNC(buttonLoadoutsLoad)); + onLBDblClick = QUOTE([ARR_2(ctrlParent (_this select 0), (ctrlParent (_this select 0)) displayCtrl IDC_buttonLoad)] call FUNC(buttonLoadoutsLoad)); x = QUOTE(0); y = QUOTE(5 * GRID_H); w = QUOTE(160 * GRID_W); @@ -798,6 +988,7 @@ class GVAR(loadoutsDisplay) { y = QUOTE(safezoneH - (51 * GRID_H)); w = QUOTE(65 * GRID_W); h = QUOTE(5 * GRID_H); + sizeEx = QUOTE(6 * GRID_H); }; class loadoutsSearchbar: ctrlEdit { idc = IDC_loadoutsSearchbar; @@ -808,12 +999,13 @@ class GVAR(loadoutsDisplay) { y = QUOTE(safezoneH - (51 * GRID_H)); w = QUOTE(72 * GRID_W); h = QUOTE(5 * GRID_H); + sizeEx = QUOTE(6 * GRID_H); }; class loadoutsSearchbarButton: ctrlButtonPicture { idc = -1; text = "\a3\Ui_f\data\GUI\RscCommon\RscButtonSearch\search_start_ca.paa"; colorBackground[]={0,0,0,0.5}; - onButtonClick = QUOTE([ARR_2(ctrlparent (_this select 0), ctrlparent (_this select 0) displayCtrl IDC_loadoutsSearchbar)] call FUNC(handleLoadoutsSearchbar)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), ctrlParent (_this select 0) displayCtrl IDC_loadoutsSearchbar)] call FUNC(handleLoadoutsSearchbar)); x = QUOTE(155 * GRID_W); y = QUOTE(safezoneH - (51 * GRID_H)); w = QUOTE(5 * GRID_W); @@ -828,7 +1020,7 @@ class GVAR(loadoutsDisplay) { text= CSTRING(buttonSaveText); tooltip= CSTRING(buttonSaveTooltip); sizeEx = QUOTE(5 * GRID_H); - onButtonClick = QUOTE([ARR_2(ctrlparent (_this select 0), _this select 0)] call FUNC(buttonLoadoutsSave)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), _this select 0)] call FUNC(buttonLoadoutsSave)); colorBackground[] = {0,0,0,0.8}; }; class buttonRename: buttonSave { @@ -836,21 +1028,21 @@ class GVAR(loadoutsDisplay) { x = QUOTE(32.5 * GRID_W); text= CSTRING(buttonRenameText); tooltip= CSTRING(buttonRenameTooltip); - onButtonClick = QUOTE([ARR_2(ctrlparent (_this select 0), _this select 0)] call FUNC(buttonLoadoutsRename)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), _this select 0)] call FUNC(buttonLoadoutsRename)); }; class buttonLoad: buttonSave { idc = IDC_buttonLoad; x = QUOTE(65 * GRID_W); text= CSTRING(buttonLoadText); tooltip= CSTRING(buttonLoadTooltip); - onButtonClick = QUOTE([ARR_2(ctrlparent (_this select 0), _this select 0)] call FUNC(buttonLoadoutsLoad)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), _this select 0)] call FUNC(buttonLoadoutsLoad)); }; class buttonShare: buttonSave { idc = IDC_buttonShare; x = QUOTE(97.5 * GRID_W); text= CSTRING(buttonSharePrivateText); tooltip= CSTRING(buttonShareTooltip); - onButtonClick = QUOTE([ARR_2(ctrlparent (_this select 0), _this select 0)] call FUNC(buttonLoadoutsShare)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), _this select 0)] call FUNC(buttonLoadoutsShare)); }; class buttonDelete: buttonSave { idc = IDC_buttonDelete; @@ -858,11 +1050,10 @@ class GVAR(loadoutsDisplay) { text= CSTRING(buttonDeleteText); tooltip= CSTRING(buttonDeleteTooltip); colorBackgroundActive[] = {0.5,0,0,1}; - onButtonClick = QUOTE([ARR_2(ctrlparent (_this select 0), _this select 0)] call FUNC(buttonLoadoutsDelete)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), _this select 0)] call FUNC(buttonLoadoutsDelete)); }; }; }; - class buttonClose: ctrlButton { idc = -1; x = QUOTE(safezoneW + safezoneX - 32 * GRID_W); @@ -873,7 +1064,7 @@ class GVAR(loadoutsDisplay) { text= CSTRING(buttonCloseText); shortcuts[]= {"0x01"}; tooltip= ""; - onButtonClick = QUOTE(ctrlparent (_this select 0) closeDisplay 2); + onButtonClick = QUOTE(ctrlParent (_this select 0) closeDisplay 2); }; class buttonBar: ctrlControlsGroupNoScrollbars { idc = -1; @@ -900,7 +1091,7 @@ class GVAR(loadoutsDisplay) { sizeEx = QUOTE(5 * GRID_H); text= CSTRING(tabMyLoadoutsText); tooltip= CSTRING(tabMyLoadoutsTooltip); - onButtonClick = QUOTE([ARR_2(ctrlparent (_this select 0), _this select 0)] call FUNC(loadoutsChangeTab)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), _this select 0)] call FUNC(loadoutsChangeTab)); }; class buttonDefaultLoadoutsBackground: buttonMyLoadoutsBackground { idc = IDC_buttonDefaultLoadoutsBackground; diff --git a/addons/arsenal/ui/RscCommon.hpp b/addons/arsenal/ui/RscCommon.hpp index 60bceeaec3..1d580c679e 100644 --- a/addons/arsenal/ui/RscCommon.hpp +++ b/addons/arsenal/ui/RscCommon.hpp @@ -271,6 +271,17 @@ class Display3DEN { class ContextMenu :ctrlMenu { class Items { class Arsenal { + items[]= {"aceArsenal", "virtualArsenal"}; + }; + class virtualArsenal { + text = "BI Virtual Arsenal"; + action= QUOTE(['arsenal'] call bis_fnc_3DENEntityMenu); + value=0; + data="Arsenal"; + opensNewWindow=1; + }; + class aceArsenal: virtualArsenal { + text = "ACE Arsenal"; action= QUOTE(call FUNC(open3DEN)); }; }; diff --git a/addons/attach/stringtable.xml b/addons/attach/stringtable.xml index a8e8c23cdf..04a93d53a6 100644 --- a/addons/attach/stringtable.xml +++ b/addons/attach/stringtable.xml @@ -60,7 +60,7 @@ Strobo IR attaccata Infravörös jeladó hozzácsatolva ИК-маяк прикреплён - 赤外線ストロボを取り付ける + 赤外線ストロボを取り付けました 적외선 스트로브 부착됨 已附掛紅外線頻閃器 已附挂红外线频闪器 @@ -76,7 +76,7 @@ Strobo IR staccata Infravörös jeladó lecsatolva ИК-маяк отсоединён - 赤外線ストロボを外す + 赤外線ストロボを外しました 적외선 스트로브 분리됨 已取下紅外線頻閃器 已取下红外线频闪器 @@ -92,7 +92,7 @@ Granata IR attaccata Infravörös gránát hozzácsatolva ИК-граната прикреплена - 赤外線グレネードを取り付ける + 赤外線グレネードを取り付けました 적외선 수류탄 부착됨 已附掛紅外線手榴彈 已附挂红外线手榴弹 @@ -108,7 +108,7 @@ Granata IR staccata Infravörös gránát lecsatolva ИК-граната отсоединена - 赤外線グレネードを外す + 赤外線グレネードを外しました 적외선 수류탄 분리됨 已取下紅外線手榴彈 已取下红外线手榴弹 @@ -124,7 +124,7 @@ Chemlight attaccata Chemlight hozzácsatolva Химсвет прикреплён - ケミライトを取り付け + ケミライトを取り付けました 켐라이트 부착됨 已附掛螢光棒 已附挂萤光棒 @@ -140,7 +140,7 @@ Chemlight staccata Chemlight hozzácsatolva Химсвет отсоединён - ケミライトを外す + ケミライトを外しました 켐라이트 분리됨 已取下螢光棒 已取下萤光棒 @@ -236,7 +236,7 @@ Przyczepianie nie powiodło się Hozzácsatolás sikertelen Non si attacca - 取り付けに失敗した + 取り付けに失敗しました 부착 실패 附掛失敗 附挂失败 @@ -252,7 +252,7 @@ %1<br/>attaccata %1<br/>hozzácsatolva %1<br/>присоединен(-а) - %1<br/>を取り付けた + %1<br/>を取り付けました %1<br/>부착됨 %1<br/>已附掛 %1<br/>已附挂 @@ -268,7 +268,7 @@ %1<br/>staccata %1<br/>lecsatolva %1<br/>отсоединен(-а) - %1<br/>を外した + %1<br/>を外しました %1<br/>분리됨 %1<br/>已取下 %1<br/>已取下 diff --git a/addons/ballistics/ACE_Arsenal_Stats.hpp b/addons/ballistics/ACE_Arsenal_Stats.hpp new file mode 100644 index 0000000000..620c0fb2bc --- /dev/null +++ b/addons/ballistics/ACE_Arsenal_Stats.hpp @@ -0,0 +1,69 @@ +class EGVAR(arsenal,stats) { + class statBase; + class ACE_barrelTwist: statBase { + scope = 2; + priority = 1; + stats[] = {"ACE_barrelTwist"}; + displayName= CSTRING(statBarrelTwist); + showText = 1; + textStatement = QUOTE(params [ARR_2('_stat', '_config')]; private _barrelTwist = getNumber (_config >> _stat select 0); format [ARR_3('%1mm (%2in)',_barrelTwist toFixed 0, (_barrelTwist / 25.4) toFixed 1)]); + tabs[] = {{0,1}, {}}; + }; + class ACE_barrelLength: statBase { + scope = 2; + priority = 0; + stats[] = {"ACE_barrelLength"}; + displayName = CSTRING(statBarrelLength); + showText = 1; + textStatement = QUOTE(params [ARR_2('_stat', '_config')]; private _barrelLength = getNumber (_config >> _stat select 0); format [ARR_3('%1mm (%2in)',_barrelLength toFixed 0, (_barrelLength / 25.4) toFixed 1)]); + tabs[] = {{0,1}, {}}; + }; + class ACE_ammo: statBase { + scope = 2; + priority = 5; + stats[] = {"ammo", "displayName"}; + displayName = "$STR_dn_ammo"; + showText = 1; + textStatement = QUOTE(params [ARR_2('_stat', '_config')]; private _ammoDisplayName = getText (configFile >> 'CfgAmmo' >> (getText (_config >> 'ammo')) >> _stat select 1); [ARR_2(_ammoDisplayName, getText (_config >> _stat select 0))] select (_ammoDisplayName == '')); + tabs[] = {{}, {4}}; + }; + class ACE_ballisticCoef: statBase { + scope = 2; + priority = 4; + stats[] = {"ACE_dragModel","ACE_ballisticCoefficients", "ACE_standardAtmosphere"}; + displayName= CSTRING(statBallisticCoef); + showText= 1; + textStatement = QUOTE(params[ARR_2('_stat', '_config')]; private _ammoCfg = (configFile >> 'CfgAmmo' >> (getText (_config >> 'ammo'))); private _ballisticCoef = getArray (_ammoCfg >> _stat select 1); _ballisticCoef sort false; format [ARR_4('%1 G%2 (%3)', _ballisticCoef select 0 ,getNumber (_ammoCfg >> _stat select 0), getText (_ammoCfg >> _stat select 2))]); + condition = QUOTE(params[ARR_2('_stat', '_config')]; private _ammoCfg = (configFile >> 'CfgAmmo' >> (getText (_config >> 'ammo'))); !(getArray (_ammoCfg >> _stat select 1) isEqualTo [])); + tabs[] ={{}, {4}}; + }; + class ACE_bulletMass: statBase { + scope = 2; + priority = 3; + stats[] = {"ACE_bulletMass"}; + displayName = CSTRING(statBulletMass); + showText = 1; + textStatement = QUOTE(params[ARR_2('_stat', '_config')]; private _ammoWeight = getNumber (configFile >> 'CfgAmmo' >> (getText (_config >> 'ammo')) >> _stat select 0); format [ARR_3('%1g (%2gr)', _ammoWeight toFixed 1, (_ammoWeight * 15.43) toFixed 1)]); + condition = QUOTE(params[ARR_2('_stat', '_config')]; getNumber (configFile >> 'CfgAmmo' >> (getText (_config >> 'ammo')) >> _stat select 0) > 0); + tabs[] = {{}, {4}}; + }; + class ACE_magMuzzleVelocity: statBase { + scope = 2; + priority = 3; + stats[] = {"initSpeed"}; + displayName= CSTRING(statMuzzleVelocity); + showText= 1; + textStatement = QUOTE(params[ARR_2('_stat', '_config')]; private _initSpeed = getNumber (_config >> _stat select 0); format [ARR_3('%1 m/s (%2 ft/s)', _initSpeed, (_initSpeed * 3.28084) toFixed 0)]); + condition = QUOTE(getNumber (_this select 1 >> (_this select 0) select 0) > 0); + tabs[] = {{}, {4}}; + }; + class ACE_weaponMuzzleVelocity: statBase { + scope = 2; + priority = 3; + stats[] = {"initSpeed"}; + displayName= CSTRING(statMuzzleVelocity); + showText = 1; + textStatement = QUOTE([ARR_2(_this select 0, _this select 1)] call FUNC(statTextStatement_weaponMuzzleVelocity)); + tabs[] = {{0,1}, {}}; + }; +}; diff --git a/addons/ballistics/CfgEventHandlers.hpp b/addons/ballistics/CfgEventHandlers.hpp new file mode 100644 index 0000000000..93e3311cf2 --- /dev/null +++ b/addons/ballistics/CfgEventHandlers.hpp @@ -0,0 +1,11 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + }; +}; diff --git a/addons/ballistics/XEH_PREP.hpp b/addons/ballistics/XEH_PREP.hpp new file mode 100644 index 0000000000..812a51e6f6 --- /dev/null +++ b/addons/ballistics/XEH_PREP.hpp @@ -0,0 +1 @@ +PREP(statTextStatement_weaponMuzzleVelocity); diff --git a/addons/ballistics/XEH_preInit.sqf b/addons/ballistics/XEH_preInit.sqf new file mode 100644 index 0000000000..63f3d7fe7e --- /dev/null +++ b/addons/ballistics/XEH_preInit.sqf @@ -0,0 +1,7 @@ +#include "script_component.hpp" + +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; diff --git a/addons/ballistics/XEH_preStart.sqf b/addons/ballistics/XEH_preStart.sqf new file mode 100644 index 0000000000..022888575e --- /dev/null +++ b/addons/ballistics/XEH_preStart.sqf @@ -0,0 +1,3 @@ +#include "script_component.hpp" + +#include "XEH_PREP.hpp" diff --git a/addons/ballistics/config.cpp b/addons/ballistics/config.cpp index 7f63a36dd2..0dc8289901 100644 --- a/addons/ballistics/config.cpp +++ b/addons/ballistics/config.cpp @@ -14,7 +14,9 @@ class CfgPatches { }; }; +#include "CfgEventHandlers.hpp" #include "CfgAmmo.hpp" #include "CfgMagazines.hpp" #include "CfgWeapons.hpp" #include "CfgVehicles.hpp" +#include "ACE_Arsenal_Stats.hpp" diff --git a/addons/ballistics/functions/fnc_statTextStatement_weaponMuzzleVelocity.sqf b/addons/ballistics/functions/fnc_statTextStatement_weaponMuzzleVelocity.sqf new file mode 100644 index 0000000000..1fcc75d405 --- /dev/null +++ b/addons/ballistics/functions/fnc_statTextStatement_weaponMuzzleVelocity.sqf @@ -0,0 +1,45 @@ +/* + * Author: Alganthe + * Text statement for the weapon muzzle velocity stat + * + * Arguments: + * 0: Not used + * 1: item config path (CONFIG) + * + * Return Value: + * String to display + * + * Public: No +*/ +#include "script_component.hpp" + +params ["", "_config"]; + +if (EGVAR(arsenal,currentLeftPanel) == 2002) then { + private _primaryMag = primaryWeaponMagazine EGVAR(arsenal,center); + + [primaryWeapon EGVAR(arsenal,center), _primaryMag param [0, ""]] +} else { + private _primaryMag = handgunMagazine EGVAR(arsenal,center); + + [handgunWeapon EGVAR(arsenal,center), _primaryMag param [0, ""]] +} params ["_weapon", "_magazine"]; + +private _initSpeed = getNumber (_config >> "initSpeed"); + +if (_magazine isEqualTo "") then { + _initSpeed +} else { + private _ammoCfg = (configFile >> "CfgAmmo" >> (getText (configFile >> "CfgMagazines" >> _magazine >> "ammo"))); + private _barrelLength = getNumber (_config >> "ACE_barrelLength"); + private _muzzleVelocityTable = getArray (_ammoCfg >> "ACE_muzzleVelocities"); + private _barrelLengthTable = getArray (_ammoCfg >> "ACE_barrelLengths"); + + if (_barrelLength != 0 && {count _muzzleVelocityTable > 0} && {count _barrelLengthTable > 0}) then { + private _muzzleVelocity = [_barrelLength, _muzzleVelocityTable, _barrelLengthTable, 0] call EFUNC(advanced_ballistics,calculateBarrelLengthVelocityShift); + + format ["%1 m/s (%2 ft/s)", _muzzleVelocity toFixed 0, (_muzzleVelocity * 3.28084) toFixed 0] + } else { + _initSpeed + }; +}; diff --git a/addons/ballistics/functions/script_component.hpp b/addons/ballistics/functions/script_component.hpp new file mode 100644 index 0000000000..a257e3d384 --- /dev/null +++ b/addons/ballistics/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\ballistics\script_component.hpp" diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index d8c09cbaeb..7205ec8de0 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -2006,6 +2006,8 @@ .338 Scenar 338 Scenar .338 Scenar + .338 Scenar + .338 Scenar Caliber: 8.6x70mm (300gr Lapua Scenar)<br />Rounds: 10 @@ -2279,5 +2281,29 @@ [ACE] 彈藥補給箱 [ACE] 弹药补给箱 + + Barrel twist + 銃身の転度 + + + Barrel length + Longueur du canon + 銃身長 + + + Ballistic coefficient + Coefficient ballistique + 弾道係数 + + + Bullet mass + Masse d'une balle + 弾丸重量 + + + Muzzle velocity + Vitesse à la bouche + 銃口初速 + diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index bf08c2a848..64c2c20dd4 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -85,7 +85,7 @@ Você deve tomá-lo como prisioneiro primeiro! Először foglyul kell ejtened őt! Вы должны сначала взять его в плен! - あなたは先に捕虜を取る必要があります。 + 捕虜を取っている必要があります! 먼저 포로로 만들어야합니다! 你必須先逮捕他! 你必须先逮捕他! diff --git a/addons/cargo/CfgVehicles.hpp b/addons/cargo/CfgVehicles.hpp index 8588296154..d3a800040e 100644 --- a/addons/cargo/CfgVehicles.hpp +++ b/addons/cargo/CfgVehicles.hpp @@ -330,6 +330,9 @@ class CfgVehicles { GVAR(size) = 2; // 1 = small, 2 = large GVAR(canLoad) = 1; }; + class Land_RepairDepot_01_base_F: ReammoBox_F { // TanksDLC - Repair Depo Thing (probably too big to safely unload) + GVAR(canLoad) = 0; + }; //"Supply Box" - Small Pallets class B_supplyCrate_F: ReammoBox_F { GVAR(size) = 6; @@ -421,7 +424,6 @@ class CfgVehicles { }; // objects - class Lamps_base_F; class RoadCone_F: ThingX { GVAR(size) = 1; GVAR(canLoad) = 1; @@ -429,10 +431,22 @@ class CfgVehicles { class RoadBarrier_F: RoadCone_F { GVAR(size) = 2; }; + + class Lamps_base_F; class Land_PortableLight_single_F: Lamps_base_F { - GVAR(size) = 1; + GVAR(size) = 2; GVAR(canLoad) = 1; }; + class FloatingStructure_F; + class Land_Camping_Light_F: FloatingStructure_F { + GVAR(size) = 0.2; + GVAR(canLoad) = 1; + }; + class Land_Camping_Light_off_F: ThingX { + GVAR(size) = 0.2; + GVAR(canLoad) = 1; + }; + class Scrapyard_base_F; class Land_PaperBox_closed_F: Scrapyard_base_F { @@ -569,16 +583,6 @@ class CfgVehicles { GVAR(size) = 50; }; - class Ruins_F; - class Land_Cargo20_military_ruins_F: Ruins_F { - class EventHandlers { - class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers {}; - }; - - GVAR(space) = 49; - GVAR(size) = 50; - }; - class Land_Cargo20_orange_F: Cargo_base_F { class EventHandlers { class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers {}; @@ -685,15 +689,6 @@ class CfgVehicles { GVAR(size) = 100; }; - class Land_Cargo40_military_ruins_F: Ruins_F { - class EventHandlers { - class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers {}; - }; - - GVAR(space) = 99; - GVAR(size) = 100; - }; - class Land_Cargo40_orange_F: Cargo_base_F { class EventHandlers { class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers {}; diff --git a/addons/cargo/XEH_postInit.sqf b/addons/cargo/XEH_postInit.sqf index 9d531a8e1a..829991ee87 100644 --- a/addons/cargo/XEH_postInit.sqf +++ b/addons/cargo/XEH_postInit.sqf @@ -61,23 +61,91 @@ [QGVAR(initObject), DFUNC(initObject)] call CBA_fnc_addEventHandler; [QGVAR(initVehicle), DFUNC(initVehicle)] call CBA_fnc_addEventHandler; -// Add all the vehicle init EHs (require initPost for set/get variables) -["LandVehicle", "initPost", DFUNC(initVehicle), nil, nil, true] call CBA_fnc_addClassEventHandler; -["Air", "initPost", DFUNC(initVehicle), nil, nil, true] call CBA_fnc_addClassEventHandler; -["Ship_F", "initPost", DFUNC(initVehicle), nil, nil, true] call CBA_fnc_addClassEventHandler; -// Add all the object init EHs -["StaticWeapon", "initPost", DFUNC(initObject), nil, nil, true] call CBA_fnc_addClassEventHandler; -["Land_PortableLight_single_F", "initPost", DFUNC(initObject), nil, nil, true] call CBA_fnc_addClassEventHandler; -["ACE_ConcertinaWireCoil", "initPost", DFUNC(initObject), nil, nil, true] call CBA_fnc_addClassEventHandler; +GVAR(vehicleAction) = [ + QGVAR(openMenu), localize LSTRING(openMenu), "", + { + //IGNORE_PRIVATE_WARNING ["_target", "_player"]; + GVAR(interactionVehicle) = _target; + GVAR(interactionParadrop) = false; + createDialog QGVAR(menu); + }, + { + //IGNORE_PRIVATE_WARNING ["_target", "_player"]; + GVAR(enable) && + {(_target getVariable [QGVAR(hasCargo), getNumber (configFile >> "CfgVehicles" >> (typeOf _target) >> QGVAR(hasCargo)) == 1])} && + {locked _target < 2} && + {([_player, _target] call EFUNC(interaction,getInteractionDistance)) < MAX_LOAD_DISTANCE} && + {alive _target} && + {[_player, _target, ["isNotSwimming"]] call EFUNC(common,canInteractWith)} + } +] call EFUNC(interact_menu,createAction); -// Add all the vehicle/object init EHs -["ThingX", "initPost", { - _this call DFUNC(initObject); _this call DFUNC(initVehicle); -}, nil, nil, true] call CBA_fnc_addClassEventHandler; -["Land_PaperBox_closed_F", "initPost", { - _this call DFUNC(initObject); _this call DFUNC(initVehicle); -}, nil, nil, true] call CBA_fnc_addClassEventHandler; -["PlasticCase_01_base_F", "initPost", { - _this call DFUNC(initObject); _this call DFUNC(initVehicle); -}, nil, nil, true] call CBA_fnc_addClassEventHandler; +GVAR(objectAction) = [ + QGVAR(load), localize LSTRING(loadObject), "a3\ui_f\data\IGUI\Cfg\Actions\loadVehicle_ca.paa", + { + params ["_target", "_player"]; + [_player, _target] call FUNC(startLoadIn); + }, + { + //IGNORE_PRIVATE_WARNING ["_target", "_player"]; + GVAR(enable) && + {(_target getVariable [QGVAR(canLoad), getNumber (configFile >> "CfgVehicles" >> (typeOf _target) >> QGVAR(canLoad))]) in [true, 1]} && + {locked _target < 2} && + {alive _target} && + {[_player, _target, ["isNotSwimming"]] call EFUNC(common,canInteractWith)} && + {0 < { + private _type = typeOf _x; + private _hasCargoPublic = _x getVariable [QGVAR(hasCargo), false]; + private _hasCargoConfig = getNumber (configFile >> "CfgVehicles" >> _type >> QGVAR(hasCargo)) == 1; + (_hasCargoPublic || _hasCargoConfig) && {_x != _target} && + {([_target, _x] call EFUNC(interaction,getInteractionDistance)) < MAX_LOAD_DISTANCE} + } count (nearestObjects [_player, GVAR(cargoHolderTypes), (MAX_LOAD_DISTANCE + 10)])} + }, + LINKFUNC(addCargoVehiclesActions) +] call EFUNC(interact_menu,createAction); + + +private _initVehicleClasses = ["ThingX", "LandVehicle", "Air", "Ship_F"]; +private _initObjectClasses = ["ThingX", "StaticWeapon"]; +{ + [_x, "initPost", DFUNC(initVehicle), nil, nil, true] call CBA_fnc_addClassEventHandler; +} forEach _initVehicleClasses; +{ + [_x, "initPost", DFUNC(initObject), nil, nil, true] call CBA_fnc_addClassEventHandler; +} forEach _initObjectClasses; + +// find all remaining configured classes and init them +{ + private _class = configName _x; + // init vehicle + if ( + 1 == getNumber (_x >> QGVAR(hasCargo)) + && {{if (_class isKindOf _x) exitWith {false}; true} forEach _initVehicleClasses} + ) then { + if (_class isKindOf "Static") then { + if (2 == getNumber (_x >> "scope")) then { + [_class, 0, ["ACE_MainActions"], GVAR(vehicleAction)] call EFUNC(interact_menu,addActionToClass); + GVAR(initializedVehicleClasses) pushBack _class; + }; + } else { + [_class, "initPost", DFUNC(initVehicle), nil, nil, true] call CBA_fnc_addClassEventHandler; + _initVehicleClasses pushBack _class; + }; + }; + // init object + if ( + 1 == getNumber (_x >> QGVAR(canLoad)) + && {{if (_class isKindOf _x) exitWith {false}; true} forEach _initObjectClasses} + ) then { + if (_class isKindOf "Static") then { + if (2 == getNumber (_x >> "scope")) then { + [_class, 0, ["ACE_MainActions"], GVAR(objectAction)] call EFUNC(interact_menu,addActionToClass); + GVAR(initializedItemClasses) pushBack _class; + }; + } else { + [_class, "initPost", DFUNC(initObject), nil, nil, true] call CBA_fnc_addClassEventHandler; + _initObjectClasses pushBack _class; + }; + }; +} forEach ("true" configClasses (configFile >> "CfgVehicles")); diff --git a/addons/cargo/functions/fnc_initObject.sqf b/addons/cargo/functions/fnc_initObject.sqf index d0e1e66a8f..b5339e8b28 100644 --- a/addons/cargo/functions/fnc_initObject.sqf +++ b/addons/cargo/functions/fnc_initObject.sqf @@ -41,38 +41,9 @@ if (_object getVariable [QGVAR(initObject),false]) exitWith {}; if (_canLoadConfig) then { GVAR(initializedItemClasses) pushBack _type; TRACE_1("Adding load cargo action to class", _type); + [_type, 0, ["ACE_MainActions"], GVAR(objectAction)] call EFUNC(interact_menu,addActionToClass); } else { _object setVariable [QGVAR(initObject),true]; TRACE_1("Adding load cargo action to object", _object); + [_object, 0, ["ACE_MainActions"], GVAR(objectAction)] call EFUNC(interact_menu,addActionToObject); }; - -// Vehicles with passengers inside are prevented from being loaded in `fnc_canLoadItemIn` -private _condition = { - //IGNORE_PRIVATE_WARNING ["_target", "_player"]; - GVAR(enable) && - {(_target getVariable [QGVAR(canLoad), getNumber (configFile >> "CfgVehicles" >> (typeOf _target) >> QGVAR(canLoad))]) in [true, 1]} && - {locked _target < 2} && - {alive _target} && - {[_player, _target, ["isNotSwimming"]] call EFUNC(common,canInteractWith)} && - {0 < { - private _type = typeOf _x; - private _hasCargoPublic = _x getVariable [QGVAR(hasCargo), false]; - private _hasCargoConfig = getNumber (configFile >> "CfgVehicles" >> _type >> QGVAR(hasCargo)) == 1; - (_hasCargoPublic || _hasCargoConfig) && {_x != _target} && - {([_target, _x] call EFUNC(interaction,getInteractionDistance)) < MAX_LOAD_DISTANCE} - } count (nearestObjects [_player, GVAR(cargoHolderTypes), (MAX_LOAD_DISTANCE + 10)])} -}; -private _statement = { - params ["_target", "_player"]; - [_player, _target] call FUNC(startLoadIn); -}; -private _text = localize LSTRING(loadObject); -private _icon = "a3\ui_f\data\IGUI\Cfg\Actions\loadVehicle_ca.paa"; - -private _action = [QGVAR(load), _text, _icon, _statement, _condition, {call FUNC(addCargoVehiclesActions)}] call EFUNC(interact_menu,createAction); -if (_canLoadConfig) then { - [_type, 0, ["ACE_MainActions"], _action] call EFUNC(interact_menu,addActionToClass); -} else { - [_object, 0, ["ACE_MainActions"], _action] call EFUNC(interact_menu,addActionToObject); -}; - diff --git a/addons/cargo/functions/fnc_initVehicle.sqf b/addons/cargo/functions/fnc_initVehicle.sqf index 474b1b0d8f..2f6398d48b 100644 --- a/addons/cargo/functions/fnc_initVehicle.sqf +++ b/addons/cargo/functions/fnc_initVehicle.sqf @@ -61,34 +61,11 @@ if (_vehicle getVariable [QGVAR(initVehicle),false]) exitWith {}; if (_hasCargoConfig) then { GVAR(initializedVehicleClasses) pushBack _type; TRACE_1("Adding unload cargo action to class", _type); + [_type, 0, ["ACE_MainActions"], GVAR(vehicleAction)] call EFUNC(interact_menu,addActionToClass); } else { _vehicle setVariable [QGVAR(initVehicle),true]; TRACE_1("Adding unload cargo action to object", _vehicle); -}; - -private _condition = { - //IGNORE_PRIVATE_WARNING ["_target", "_player"]; - GVAR(enable) && - {(_target getVariable [QGVAR(hasCargo), getNumber (configFile >> "CfgVehicles" >> (typeOf _target) >> QGVAR(hasCargo)) == 1])} && - {locked _target < 2} && - {([_player, _target] call EFUNC(interaction,getInteractionDistance)) < MAX_LOAD_DISTANCE} && - {alive _target} && - {[_player, _target, ["isNotSwimming"]] call EFUNC(common,canInteractWith)} -}; -private _statement = { - //IGNORE_PRIVATE_WARNING ["_target", "_player"]; - GVAR(interactionVehicle) = _target; - GVAR(interactionParadrop) = false; - createDialog QGVAR(menu); -}; -private _text = localize LSTRING(openMenu); -private _icon = ""; - -private _action = [QGVAR(openMenu), _text, _icon, _statement, _condition] call EFUNC(interact_menu,createAction); -if (_hasCargoConfig) then { - [_type, 0, ["ACE_MainActions"], _action] call EFUNC(interact_menu,addActionToClass); -} else { - [_vehicle, 0, ["ACE_MainActions"], _action] call EFUNC(interact_menu,addActionToObject); + [_vehicle, 0, ["ACE_MainActions"], GVAR(vehicleAction)] call EFUNC(interact_menu,addActionToObject); }; // Add the paradrop self interaction for planes and helicopters diff --git a/addons/cargo/functions/fnc_paradropItem.sqf b/addons/cargo/functions/fnc_paradropItem.sqf index 4c1929a1dc..ae9b192de4 100644 --- a/addons/cargo/functions/fnc_paradropItem.sqf +++ b/addons/cargo/functions/fnc_paradropItem.sqf @@ -65,7 +65,7 @@ _itemObject setVelocity ((velocity _vehicle) vectorAdd ((vectorNormalized (vecto private _velocity = velocity _item; - _item attachTo [_parachute, [0,0,-1]]; + _item attachTo [_parachute, [0,0,1]]; _parachute setVelocity _velocity; private _light = "Chemlight_yellow" createVehicle [0,0,0]; diff --git a/addons/cargo/stringtable.xml b/addons/cargo/stringtable.xml index 0d42954b7f..673e8be5c0 100644 --- a/addons/cargo/stringtable.xml +++ b/addons/cargo/stringtable.xml @@ -147,7 +147,7 @@ %1<br/>caricato su<br/>%2 %1<br/>berakodva ide:<br/>%2 %1<br/>загружен в<br/>%2 - %1<br/>は<br/>%2へ積み込まれた + %1<br/>は<br/>%2へ積み込まれました %1<br/>는<br/>%2 에 실림 %1<br/>裝載至<br/>%2 %1<br/>装载至<br/>%2 @@ -163,7 +163,7 @@ Hai scaricato<br/>%1 da<br/>%2 1%<br/>kirakodva ebből:<br/>%2 %1<br/>разгружен из<br/>%2 - <br/>%1が<br/>%2から降ろされた + <br/>%1が<br/>%2から降ろされました %1<br/>는<br/>%2 에서 내려짐 從<br/>%2卸載<br/>%1 从<br/>%2卸载<br/>%1 @@ -178,7 +178,7 @@ Caricando Cargando Chargement de la cargaison - カーゴへ積み込んでいる + カーゴへ積み込んでいます 화물 싣기 裝載貨物中 装载货物中 @@ -193,7 +193,7 @@ Scaricando Descargando Déchargement de la cargaison - カーゴから降ろしている + カーゴから降ろしています 화물 내리기 卸載貨物中 卸载货物中 @@ -208,7 +208,7 @@ %1<br/>non può essere caricato %1<br/>no pudo ser cargado %1<br /> n'a pas pu être chargé - %1<br/>は積み込めなかった + %1<br/>は積み込めませんでした %1<br/>이 실릴 수가 없습니다 %1<br/>無法被裝載 %1<br/>无法被装载 @@ -223,7 +223,7 @@ %1<br/>non può essere scaricato %1<br/>no pudo ser descargado %1<br /> n'a pas pu être déchargé - %1<br/>は降ろせなかった + %1<br/>は降ろせませんでした %1<br/>이 내려질 수가 없습니다 %1<br/>無法被卸載 %1<br/>无法被卸载 diff --git a/addons/common/CfgUIGrids.hpp b/addons/common/CfgUIGrids.hpp new file mode 100644 index 0000000000..295a9098eb --- /dev/null +++ b/addons/common/CfgUIGrids.hpp @@ -0,0 +1,20 @@ +class CfgUIGrids { + class IGUI { + class Presets { + class Arma3 { + class Variables { + grid_ACE_displayText[] = {{((safezoneX + safezoneW) - (10 *(((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 *(((safezoneW / safezoneH) min 1.2) / 40)),safeZoneY + 0.175 * safezoneH, (10 *(((safezoneW / safezoneH) min 1.2) / 40)), (3 *((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))}, "(((safezoneW / safezoneH) min 1.2) / 40)","((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"}; + }; + }; + }; + + class Variables { + class grid_ACE_displayText { + displayName = "ACE Hint"; + description = "Textual in game feedback to the player."; + preview = QPATHTOF(UI\ACE_Hint_Preview_ca.paa); + saveToProfile[] = {0,1}; + }; + }; + }; +}; diff --git a/addons/common/UI/ACE_Hint_Preview_ca.paa b/addons/common/UI/ACE_Hint_Preview_ca.paa new file mode 100644 index 0000000000..19e592edde Binary files /dev/null and b/addons/common/UI/ACE_Hint_Preview_ca.paa differ diff --git a/addons/common/XEH_PREP.hpp b/addons/common/XEH_PREP.hpp index 8a33997f57..526c498cd9 100644 --- a/addons/common/XEH_PREP.hpp +++ b/addons/common/XEH_PREP.hpp @@ -113,7 +113,6 @@ PREP(isMedic); PREP(isModLoaded); PREP(isPlayer); PREP(isSwimming); -PREP(isUnderwater); PREP(lightIntensityFromObject); PREP(loadPerson); PREP(loadPersonLocal); @@ -146,6 +145,7 @@ PREP(runTests); PREP(sanitizeString); PREP(sendRequest); PREP(serverLog); +PREP(setAimCoef); PREP(setApproximateVariablePublic); PREP(setDefinedVariable); PREP(setDisableUserInputStatus); diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 61061a9a1c..4299213e44 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -48,7 +48,8 @@ [QGVAR(setHidden), { params ["_object", "_set"]; TRACE_2("setHidden EH",_object,_set); - private _vis = _object getUnitTrait "camouflageCoef"; + // May report nil. Default to factor 1. + private _vis = [_object getUnitTrait "camouflageCoef"] param [0, 1]; if (_set > 0) then { if (_vis != 0) then { _object setVariable [QGVAR(oldVisibility), _vis]; diff --git a/addons/common/config.cpp b/addons/common/config.cpp index 6280f186d8..72e3f78621 100644 --- a/addons/common/config.cpp +++ b/addons/common/config.cpp @@ -65,27 +65,7 @@ class ACE_Rsc_Control_Base { #include #include #include "CompassControl.hpp" - -class CfgUIGrids { - class IGUI { - class Presets { - class Arma3 { - class Variables { - grid_ACE_displayText[] = {{((safezoneX + safezoneW) - (10 *(((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 *(((safezoneW / safezoneH) min 1.2) / 40)),safeZoneY + 0.175 * safezoneH, (10 *(((safezoneW / safezoneH) min 1.2) / 40)), (2 *((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))}, "(((safezoneW / safezoneH) min 1.2) / 40)","((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"}; - }; - }; - }; - - class Variables { - class grid_ACE_displayText { - displayName = "ACE Hint"; - description = "Textual in game feedback to the player."; - preview = "\a3\Ui_f\data\GUI\Cfg\UIGrids\grid_hint_ca.paa"; - saveToProfile[] = {0,1}; - }; - }; - }; -}; +#include "CfgUIGrids.hpp" class ACE_Extensions { extensions[] = {}; diff --git a/addons/common/functions/fnc_assignedItemFix.sqf b/addons/common/functions/fnc_assignedItemFix.sqf index f7fe02f30c..8e0c518c90 100644 --- a/addons/common/functions/fnc_assignedItemFix.sqf +++ b/addons/common/functions/fnc_assignedItemFix.sqf @@ -15,11 +15,11 @@ */ #include "script_component.hpp" -ACE_isMapEnabled = call {private _config = missionConfigFile >> "showMap"; !isNumber _config || {getNumber _config == 1}}; // default value is 1, so do isNumber check first -ACE_isCompassEnabled = call {private _config = missionConfigFile >> "showCompass"; !isNumber _config || {getNumber _config == 1}}; -ACE_isWatchEnabled = call {private _config = missionConfigFile >> "showWatch"; !isNumber _config || {getNumber _config == 1}}; -ACE_isRadioEnabled = call {private _config = missionConfigFile >> "showRadio"; !isNumber _config || {getNumber _config == 1}}; -ACE_isGPSEnabled = call {private _config = missionConfigFile >> "showGPS"; !isNumber _config || {getNumber _config == 1}}; +ACE_isMapEnabled = getMissionConfigValue ["showMap", 1] in [true, 1]; +ACE_isCompassEnabled = getMissionConfigValue ["showCompass", 1] in [true, 1]; +ACE_isWatchEnabled = getMissionConfigValue ["showWatch", 1] in [true, 1]; +ACE_isRadioEnabled = getMissionConfigValue ["showRadio", 1] in [true, 1]; +ACE_isGPSEnabled = getMissionConfigValue ["showGPS", 1] in [true, 1]; GVAR(AssignedItems) = []; GVAR(AssignedItemsInfo) = []; diff --git a/addons/common/functions/fnc_cachedCall.sqf b/addons/common/functions/fnc_cachedCall.sqf index 8636ffff84..086112b90d 100644 --- a/addons/common/functions/fnc_cachedCall.sqf +++ b/addons/common/functions/fnc_cachedCall.sqf @@ -25,7 +25,7 @@ params ["_params", "_function", "_namespace", "_uid", "_duration", "_event"]; 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? + // Does the cache need to be cleared on an event? if (!isNil "_event") then { private _varName = format [QGVAR(clearCache_%1), _event]; private _cacheList = missionNamespace getVariable _varName; diff --git a/addons/common/functions/fnc_cbaSettings.sqf b/addons/common/functions/fnc_cbaSettings.sqf index 2b623e5813..0441680dfd 100644 --- a/addons/common/functions/fnc_cbaSettings.sqf +++ b/addons/common/functions/fnc_cbaSettings.sqf @@ -85,17 +85,18 @@ for "_index" from 0 to (_countOptions - 1) do { }; }; -_settingsConfig = missionConfigFile >> "ACE_Settings"; -_countOptions = count _settingsConfig; +private _missionSettingsConfig = missionConfigFile >> "ACE_Settings"; +_countOptions = count _missionSettingsConfig; TRACE_1("Reading settings from missionConfigFile",_countOptions); for "_index" from 0 to (_countOptions - 1) do { - private _optionEntry = _settingsConfig select _index; + private _optionEntry = _missionSettingsConfig select _index; private _settingName = configName _optionEntry; if ((toLower _settingName) in GVAR(cbaSettings_forcedSettings)) then { WARNING_1("Setting [%1] - Already Forced - ignoring missionConfig",_varName); } else { if ((isNil _settingName) && {(getNumber (_settingsConfig >> _settingName >> "movedToSQF")) == 0}) then { // New setting, that was first defined in missionConfigFile + INFO_1("Creating new CBA setting for ace_setting from mission config [%1]",_settingName); [_optionEntry] call FUNC(cbaSettings_loadFromConfig); } else { private _value = (_optionEntry >> "value") call BIS_fnc_getCfgData; diff --git a/addons/common/functions/fnc_cbaSettings_convertHelper.sqf b/addons/common/functions/fnc_cbaSettings_convertHelper.sqf index d6ecd38591..6b6416e7df 100644 --- a/addons/common/functions/fnc_cbaSettings_convertHelper.sqf +++ b/addons/common/functions/fnc_cbaSettings_convertHelper.sqf @@ -67,6 +67,7 @@ private _settings = configProperties [configFile >> "ACE_Settings", "(isClass _x _valueTitles pushBack (if ((_x select [0, 1]) == "$") then {localize (_x select [1]);} else {_x}); } forEach (getArray (_config >> "values")); _cbaValueInfo = [_values, _valueTitles, getNumber (_config >> "value")]; + _cbaValueInfoHint = "[values, titles, defaultIndex]"; } else { _cbaSettingType = "SLIDER"; // [_min, _max, _default, _trailingDecimals] _cbaValueInfo = if (isArray (_config >> "sliderSettings")) then { @@ -116,7 +117,7 @@ private _settings = configProperties [configFile >> "ACE_Settings", "(isClass _x _output pushBack format [" %1, // %2", _cbaValueInfo, _cbaValueInfoHint]; _output pushBack format [" %1, // isGlobal", _cbaIsGlobal]; if ((_varName select [0, 4]) == "ACE_") then { - _output pushBack format [" {[QGVAR(%1), _this] call EFUNC(common,cbaSettings_settingChanged)}] call CBA_settings_fnc_init;", _gvarName]; + _output pushBack format [" {[QGVAR(%1), _this] call EFUNC(common,cbaSettings_settingChanged)}", _gvarName]; } else { _output pushBack format [" {[""%1"", _this] call ace_common_fnc_cbaSettings_settingChanged}", _varName]; }; diff --git a/addons/common/functions/fnc_displayTextStructured.sqf b/addons/common/functions/fnc_displayTextStructured.sqf index ee2c6a9f3f..b24b59ba81 100644 --- a/addons/common/functions/fnc_displayTextStructured.sqf +++ b/addons/common/functions/fnc_displayTextStructured.sqf @@ -49,25 +49,23 @@ private _ctrlHint = uiNamespace getVariable "ACE_ctrlHint"; _ctrlHint ctrlSetBackgroundColor GVAR(displayTextColor); _ctrlHint ctrlSetTextColor GVAR(displayTextFontColor); -/* -// This does not function at the moment. Has been disabled until it fixed. + +// Use profile settings from CfgUIGrids.hpp private _xPos = profilenamespace getVariable ["IGUI_GRID_ACE_displayText_X", ((safezoneX + safezoneW) - (10 *(((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 *(((safezoneW / safezoneH) min 1.2) / 40))]; private _yPos = profilenamespace getVariable ["IGUI_GRID_ACE_displayText_Y", safeZoneY + 0.175 * safezoneH]; -private _wPos = profilenamespace getVariable ["IGUI_GRID_ACE_displayText_W", (10 *(((safezoneW / safezoneH) min 1.2) / 40))]; -private _hPos = profilenamespace getVariable ["IGUI_GRID_ACE_displayText_H", (2 *((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))]; -*/ - -private _xPos = ((safezoneX + safezoneW) - (_width *(((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 *(((safezoneW / safezoneH) min 1.2) / 40)); -private _yPos = safeZoneY + 0.175 * safezoneH; private _wPos = (_width *(((safezoneW / safezoneH) min 1.2) / 40)); -private _hPos = (2 *((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)); +private _hPos = _size * (2 *((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)); + +// Ensure still in bounds for large width/height +_xPos = safezoneX max (_xPos min (safezoneX + safezoneW - _wPos)); +_yPos = safeZoneY max (_yPos min (safeZoneY + safezoneH - _hPos)); // Zeus Interface Open and Display would be under the "CREATE" list if (!isNull curatorCamera) then { _xPos = _xPos min ((safezoneX + safezoneW - 12.5 * (((safezoneW / safezoneH) min 1.2) / 40)) - _wPos); }; -private _position = [_xPos, _yPos, _wPos, _size * _hPos]; +private _position = [_xPos, _yPos, _wPos, _hPos]; _ctrlHint ctrlSetPosition _position; _ctrlHint ctrlCommit 0; diff --git a/addons/common/functions/fnc_isFeatureCameraActive.sqf b/addons/common/functions/fnc_isFeatureCameraActive.sqf index dfe3869905..1875b08681 100644 --- a/addons/common/functions/fnc_isFeatureCameraActive.sqf +++ b/addons/common/functions/fnc_isFeatureCameraActive.sqf @@ -27,6 +27,7 @@ !( isNull curatorCamera && // Curator {!GETMVAR(EGVAR(spectator,isSet),false)} && // ACE Spectator + {GETMVAR(EGVAR(huntir,stop),true)} && // ACE Hunt IR {isNull GETMVAR(BIS_EGSpectatorCamera_camera, objNull)} && // BIS Nexus Spectator {isNull GETUVAR(BIS_fnc_arsenal_cam, objNull)} && // Arsenal camera {isNull GETMVAR(BIS_fnc_establishingShot_fakeUAV, objNull)} && // Establishing shot camera diff --git a/addons/common/functions/fnc_isUnderwater.sqf b/addons/common/functions/fnc_isUnderwater.sqf deleted file mode 100644 index 0d7d1e50a1..0000000000 --- a/addons/common/functions/fnc_isUnderwater.sqf +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Author: Glowbal - * Check if unit's head is underwater - * - * Arguments: - * 0: Unit - * - * Return Value: - * If unit's head is underwater - * - * Example: - * [bob] call ace_common_fnc_isUnderwater - * - * Public: Yes - */ -#include "script_component.hpp" - -ACE_DEPRECATED(QFUNC(isUnderwater),"3.13.0","underwater OBJECT"); - -params [["_unit", objNull, [objNull]]]; - -private _return = false; - -if (surfaceIsWater getPosASL _unit) then { - private _pos = _unit modelToWorldVisual (_unit selectionPosition "head"); - - if (_pos select 2 < 0) then { - _return = true; - }; -}; - -_return diff --git a/addons/common/functions/fnc_lightIntensityFromObject.sqf b/addons/common/functions/fnc_lightIntensityFromObject.sqf index 6725a71580..4991370f5d 100644 --- a/addons/common/functions/fnc_lightIntensityFromObject.sqf +++ b/addons/common/functions/fnc_lightIntensityFromObject.sqf @@ -79,6 +79,21 @@ if (_lightSource isKindOf "CAManBase") then { } forEach _lights; + if (isCollisionLightOn _lightSource) then { + private _markerLights = [ + _lightSource, + {configProperties [configFile >> "CfgVehicles" >> typeOf _this >> "MarkerLights", "isClass _x", true]}, + uiNamespace, + format [QEGVAR(cache,MarkerLights_%1), typeOf _lightSource], + 1E11 + ] call FUNC(cachedCall); + { + private _position = _lightSource modelToWorld (_lightSource selectionPosition getText (_x >> "name")); + private _distance = _unitPos distance _position; + _lightLevel = _lightLevel max (linearConversion [0, 10, _distance, 1, 0, true] * linearConversion [0, 1300, getNumber (_x >> "intensity"), 0, 1, true]); + } forEach _markerLights; + }; + // handle campfires if (inflamed _lightSource) then { private _distance = _unitPos distance position _lightSource; diff --git a/addons/common/functions/fnc_setAimCoef.sqf b/addons/common/functions/fnc_setAimCoef.sqf new file mode 100644 index 0000000000..7c9352c3be --- /dev/null +++ b/addons/common/functions/fnc_setAimCoef.sqf @@ -0,0 +1,51 @@ +/* + * Author: xrufix, Glowbal + * Handle set AimCoef calls. Will use the highest available setting. + * + * Arguments: + * 0: Unit + * 1: Unique ID + * 2: Aim coefficient (a higher value causes more shaking) + * 3: Add (true) or remove (false) (default: true) + * + * Return Value: + * None + * + * Example: + * [player, "ace_advanced_fatigue", 1, true] call ace_common_fnc_setAimCoef + * + * Public: Yes + */ +#include "script_component.hpp" + +params ["_unit", "_id", "_setting", ["_add", true]]; + +private _exists = false; +private _highestCoef = 1; +private _map = _unit getVariable [QGVAR(setAimCoefMap), []]; + +_map = _map select { + _x params ["_xID", "_xSetting"]; + if (_id == _xID) then { + _exists = true; + if (_add) then { + _x set [1, _setting]; + _highestCoef = _highestCoef max _setting; + true + } else { + false + }; + } else { + _highestCoef = _highestCoef max _xSetting; + true + }; +}; + +if (!_exists && _add) then { + _highestCoef = _highestCoef max _setting; + _map pushBack [_id, _setting]; +}; + +// Update the value +_unit setVariable [QGVAR(setAimCoefMap), _map]; +_unit setCustomAimCoef _highestCoef; diff --git a/addons/common/functions/fnc_setHearingCapability.sqf b/addons/common/functions/fnc_setHearingCapability.sqf index 5cfe81cc16..98de3d0d32 100644 --- a/addons/common/functions/fnc_setHearingCapability.sqf +++ b/addons/common/functions/fnc_setHearingCapability.sqf @@ -3,9 +3,9 @@ * Handle set volume calls. Will use the lowest available volume setting. * * Arguments: - * 0: id - * 1: settings - * 2: add [true] OR remove [false] (default: true) + * 0: ID + * 1: Settings + * 2: Add (true) or remove (false) (default: true) * * Return Value: * None diff --git a/addons/common/functions/fnc_stringToColoredText.sqf b/addons/common/functions/fnc_stringToColoredText.sqf index c072da9253..33d2fb5dcc 100644 --- a/addons/common/functions/fnc_stringToColoredText.sqf +++ b/addons/common/functions/fnc_stringToColoredText.sqf @@ -4,7 +4,7 @@ * * Arguments: * 0: Text - * 1: Color + * 1: Color * * Return Value: * Text @@ -20,12 +20,14 @@ params ["_string", "_color"]; _string = format ["%1", _string]; -_color = ( - [255 * (_color select 0), 2] call FUNC(toHex) -) + ( - [255 * (_color select 1), 2] call FUNC(toHex) -) + ( - [255 * (_color select 2), 2] call FUNC(toHex) -); +if (_color isEqualType []) then { + _color = "#" + ( + [255 * (_color select 0), 2] call FUNC(toHex) + ) + ( + [255 * (_color select 1), 2] call FUNC(toHex) + ) + ( + [255 * (_color select 2), 2] call FUNC(toHex) + ); +}; -parseText format ["%1", _string, _color] +parseText format ["%2", _color, _string] diff --git a/addons/common/functions/fnc_switchPersistentLaser.sqf b/addons/common/functions/fnc_switchPersistentLaser.sqf index 5ba9d5ce05..0a186d8076 100644 --- a/addons/common/functions/fnc_switchPersistentLaser.sqf +++ b/addons/common/functions/fnc_switchPersistentLaser.sqf @@ -20,9 +20,10 @@ params ["_enabled"]; if (!_enabled) exitWith { if (isNil QGVAR(laserKeyDownEH)) exitWith {}; ["KeyDown", GVAR(laserKeyDownEH)] call CBA_fnc_removeDisplayHandler; - ["weapon", GVAR(laserWeaponEH)] call CBA_fnc_removePlayerEventHandler; + ["loadout", GVAR(laserLoadoutEH)] call CBA_fnc_removePlayerEventHandler; ["turret", GVAR(laserTurretEH)] call CBA_fnc_removePlayerEventHandler; ["vehicle", GVAR(laserVehicleEH)] call CBA_fnc_removePlayerEventHandler; + ["weapon", GVAR(laserWeaponEH)] call CBA_fnc_removePlayerEventHandler; }; GVAR(laserKeyDownEH) = ["KeyDown", { @@ -42,7 +43,7 @@ GVAR(laserKeyDownEH) = ["KeyDown", { }] call CBA_fnc_addDisplayHandler; private _laserEH = { - if (sunOrMoon > 0.5) exitWith {}; + if (sunOrMoon == 1) exitWith {}; params ["_player"]; private _weaponIndex = [_player, currentWeapon _player] call FUNC(getWeaponIndex); if ( @@ -60,6 +61,7 @@ private _laserEH = { ] call CBA_fnc_waitUntilAndExecute; }; -GVAR(laserWeaponEH) = ["weapon", _laserEH] call CBA_fnc_addPlayerEventHandler; +GVAR(laserLoadoutEH) = ["loadout", _laserEH] call CBA_fnc_addPlayerEventHandler; GVAR(laserTurretEH) = ["turret", _laserEH] call CBA_fnc_addPlayerEventHandler; GVAR(laserVehicleEH) = ["vehicle", _laserEH] call CBA_fnc_addPlayerEventHandler; +GVAR(laserWeaponEH) = ["weapon", _laserEH] call CBA_fnc_addPlayerEventHandler; diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index bbf71c4eea..acbf73d2e7 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -634,6 +634,8 @@ Laser/torcia dell'arma costantemente accesi 무기 레이저 포인터 / 손전등 지속 Kontinuität des Laserpointers/Taktischen Lichts + 保持武器雷射/手電筒的狀態 + 保持武器雷射/手电筒的状态 Enable gunlight after weapon switch or vehicle enter/exit if it was previously enabled. @@ -642,6 +644,8 @@ Abilita la torcia/laser dopo il cambio dell'arma o l'entrata/uscita del veicolo se precedentemente attiva. 무기를 바꾸거나 차량에 승하차 할 때 이전에 스위치 켜고 끔을 유지합니다. Aktiviert Laserpointer/Taktisches Licht nach einem Waffenwechsel oder dem Auf-/Absitzen, falls es zuvor aktiv war. + 保存武器雷射/手電筒的開關狀態,使玩家切換武器或進出載具時能保持之前的的狀態。 + 保存武器雷射/手电筒的开关状态,使玩家切换武器或进出载具时能保持之前的的状态。 Banana @@ -1163,11 +1167,17 @@ Allow turning down music Erlaube Musik leiser stellen 음악 끄기 허용 + 允許調低音樂音量 + 允许调低音乐音量 + 音楽の音量低下を許可 Allow ACE scripts to turn down the music. Erlaube ACE-Skripten, die Musik leiser zu stellen. ACE 스크립트가 음악을 끌 수 있습니다. + 允許ACE腳本去控制音樂的音量。 + 允许ACE脚本去控制音乐的音量。 + ACE スプリントへ音量低下を許可します。 diff --git a/addons/cookoff/ACE_Settings.hpp b/addons/cookoff/ACE_Settings.hpp index b06aaf7b9a..304aaf48e0 100644 --- a/addons/cookoff/ACE_Settings.hpp +++ b/addons/cookoff/ACE_Settings.hpp @@ -4,7 +4,7 @@ class ACE_Settings { category = CSTRING(displayName); displayName = CSTRING(enable_name); description = CSTRING(enable_tooltip); - value = 1; + value = 0; typeName = "BOOL"; }; class GVAR(enableAmmobox) { diff --git a/addons/cookoff/stringtable.xml b/addons/cookoff/stringtable.xml index 006c433146..3989ffab82 100644 --- a/addons/cookoff/stringtable.xml +++ b/addons/cookoff/stringtable.xml @@ -112,7 +112,7 @@ Faktor für die Munitionsdurchzündungsdauer [0 zum Deaktivieren] Multiplicateur de la durée du cook-off des munitions [Une valeur de 0 désactive l'effet] Mnożnik decydujący jak długo ma trwać samozapłon amunicji [Ustawienie na 0 spowoduje wyłącznie samozapłonu] - 誘爆の持続時間を乗数で設定。[0 に設定で誘爆を無効化] + 誘爆の持続時間を乗数で設定します。[0 に設定で誘爆を無効化] Moltiplicatore della durata dell'esplosione [Impostare 0 disabiliterà l'esplosione delle munizioni] 設定彈藥殉爆效果會持續多久時間 [輸入0來關閉殉爆效果] 设定弹药殉爆效果会持续多久时间 [输入0来关闭殉爆效果] @@ -123,12 +123,16 @@ 誘爆の可能性係数 Coefficiente probabilità esplosione Faktor für Wahrscheinlichkeit der Durchzündung + 殉爆發生機率係數 + 殉爆发生机率系数 Multiplier for cook-off probability. Higher value results in higher cook-off probability 誘爆する可能性の乗数。高い値では誘爆する可能性が高まります。 Moltiplicatore per la probabilità dell'esplosione. Un valore più alto aumenta la probabilità dell'esplosione Faktor für Wahrscheinlichkeit der Durchzündung. Ein höherer Wert führt zu höherer Durchzündungswahrscheinlichkeit. + 調整殉爆發生機率係數。值越高代表越容易發生殉爆。 + 调整殉爆发生机率系数。值越高代表越容易发生殉爆。 diff --git a/addons/dogtags/stringtable.xml b/addons/dogtags/stringtable.xml index a60f325652..3b712bc9eb 100644 --- a/addons/dogtags/stringtable.xml +++ b/addons/dogtags/stringtable.xml @@ -71,7 +71,7 @@ Ktoś już zabrał ten nieśmiertelnik... Кто-то уже забрал жетон... Někdo jiný už vzal identifikační známku... - すでに誰かがドッグ タグを取っていったようだ・・・ + すでにドッグ タグは取られています・・・ Jemand anderes hat bereits die Hundemarke genommen ... 누군가 이미 군번줄을 회수해갔습니다... Quelqu'un d'autre a déjâ pris les plaques d'identification... diff --git a/addons/dragging/CfgEventHandlers.hpp b/addons/dragging/CfgEventHandlers.hpp index 6b8f0004b9..424c2a3fed 100644 --- a/addons/dragging/CfgEventHandlers.hpp +++ b/addons/dragging/CfgEventHandlers.hpp @@ -38,6 +38,11 @@ class Extended_Init_EventHandlers { init = QUOTE(_this call DFUNC(initObject)); }; }; + class Land_Camping_Light_F { + class ADDON { + init = QUOTE(_this call DFUNC(initObject)); + }; + }; }; class Extended_Killed_EventHandlers { diff --git a/addons/dragging/CfgVehicles.hpp b/addons/dragging/CfgVehicles.hpp index 8808ea9030..182bc76596 100644 --- a/addons/dragging/CfgVehicles.hpp +++ b/addons/dragging/CfgVehicles.hpp @@ -249,4 +249,24 @@ class CfgVehicles { GVAR(dragPosition)[] = {0,1.2,0}; GVAR(dragDirection) = 180; }; + class FloatingStructure_F; + class Land_Camping_Light_F: FloatingStructure_F { + GVAR(canCarry) = 1; + // if y < 0.9 player gets damage + GVAR(carryPosition)[] = {0,0.9,1}; + GVAR(carryDirection) = 0; + + GVAR(canDrag) = 1; + GVAR(dragPosition)[] = {0,0.7,0}; + GVAR(dragDirection) = 0; + }; + class Land_Camping_Light_off_F: ThingX { + GVAR(canCarry) = 1; + GVAR(carryPosition)[] = {0,0.9,1}; + GVAR(carryDirection) = 0; + + GVAR(canDrag) = 1; + GVAR(dragPosition)[] = {0,0.7,0}; + GVAR(dragDirection) = 0; + }; }; diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index 767ae3fd73..95a17c60b0 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -60,7 +60,7 @@ Предмет слишком тяжёлый Předmět je moc těžký Az objektum túl nehéz - アイテムが重すぎる + アイテムが重すぎます 물체가 너무 무겁습니다 此物品過重 此物品过重 diff --git a/addons/explosives/ACE_Arsenal_Stats.hpp b/addons/explosives/ACE_Arsenal_Stats.hpp new file mode 100644 index 0000000000..61534b0f9d --- /dev/null +++ b/addons/explosives/ACE_Arsenal_Stats.hpp @@ -0,0 +1,13 @@ +class EGVAR(arsenal,stats) { + class statBase; + class ACE_explosiveRange: statBase { + scope = 2; + priority = 1; + stats[] = {QGVAR(Range)}; + displayName= CSTRING(statExploRange); + showText = 1; + textStatement = QUOTE(params [ARR_2('_stat', '_config')]; private _exploRangeStat = getNumber (_config >> _stat select 0); format [ARR_3('%1m (%2ft)', _exploRangeStat, (_exploRangeStat / 0.3048) toFixed 1)]); + condition = QUOTE(params [ARR_2('', '_config')]; (getNumber (_config >> QQGVAR(Detonator))) > 0); + tabs[] = {{}, {7}}; + }; +}; diff --git a/addons/explosives/CfgEventHandlers.hpp b/addons/explosives/CfgEventHandlers.hpp index ced23c6b56..37df24577d 100644 --- a/addons/explosives/CfgEventHandlers.hpp +++ b/addons/explosives/CfgEventHandlers.hpp @@ -24,7 +24,7 @@ class Extended_Killed_EventHandlers { class Extended_Take_EventHandlers { class CAManBase { - GVAR(takeHandler) = QUOTE([ARR_3(_this select 0, _this select 1, _this select 2)] call FUNC(onInventoryChanged)); + GVAR(takeHandler) = QUOTE(call FUNC(onInventoryChanged)); }; }; class Extended_Put_EventHandlers { diff --git a/addons/explosives/config.cpp b/addons/explosives/config.cpp index 71952c2eec..57bcdfd204 100644 --- a/addons/explosives/config.cpp +++ b/addons/explosives/config.cpp @@ -27,6 +27,7 @@ class CfgPatches { #include "ACE_Triggers.hpp" #include "ExplosivesUI.hpp" #include "GUI_VirtualAmmo.hpp" +#include "ACE_Arsenal_Stats.hpp" class CfgActions { class None; diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 2ca36bcdc1..320614a9db 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -122,7 +122,7 @@ Bloccato Blockiert Bloqué - 取り付けできない + 取り付け不可 막힘 断开 斷開 @@ -698,7 +698,7 @@ Usado para detonar remotamente o explosivo quando solto. Используется для дистанционного подрыва, после смерти оператора. Usato per attivare a distanza esplosivi al momento del rilascio - 点火装置を離すと遠隔で起爆したいときに使います。 + 点火装置を遠隔から離すと起爆したいときに使います。 압력이 해제될때 원격으로 폭발시킵니다. 当放开按钮时, 将会引爆炸弹. 當放開按鈕時, 將會引爆炸彈. @@ -842,7 +842,7 @@ Этот модуль управляет настройками, связанными со взрывными устройствами Este módulo ajusta las configuraciones relacionadas con explosivos. Questo modulo cambia le impostazioni relative agli esplosivi - このモジュールを調節し爆発物に設定を反映させます。 + モジュールを調節し爆発物に設定を反映させます。 이 모듈은 폭발물에 관한 설정을 수정할 수 있게합니다. 此模块用来调整炸药的相关设定 此模塊用來調整炸藥的相關設定 @@ -1019,5 +1019,10 @@ 类型: 绊线闪光地雷 - 触发后产生非致命性的强光.<br />发数: 1<br />使用于: 地面 類型: 絆線閃光地雷 - 觸發後產生非致命性的強光.<br />發數: 1<br />使用於: 地面 + + Explosive range + Portée du détonateur + 爆発範囲 + diff --git a/addons/fastroping/functions/fnc_canFastRope.sqf b/addons/fastroping/functions/fnc_canFastRope.sqf index 5bf5c07d03..4fe38cca93 100644 --- a/addons/fastroping/functions/fnc_canFastRope.sqf +++ b/addons/fastroping/functions/fnc_canFastRope.sqf @@ -22,5 +22,5 @@ private _deployedRopes = _vehicle getVariable [QGVAR(deployedRopes), []]; ((driver _vehicle != _unit) && {!(_deployedRopes isEqualTo [])} && -{{!(_x select 5)} count (_deployedRopes) > 0} && +{{!(_x select 5) && !(_x select 6)} count (_deployedRopes) > 0} && {getPos _vehicle select 2 > 2}) diff --git a/addons/fastroping/functions/fnc_deployRopes.sqf b/addons/fastroping/functions/fnc_deployRopes.sqf index 6e61ed232d..c6ed9dc9b6 100644 --- a/addons/fastroping/functions/fnc_deployRopes.sqf +++ b/addons/fastroping/functions/fnc_deployRopes.sqf @@ -45,8 +45,8 @@ private _hookAttachment = _vehicle getVariable [QGVAR(FRIES), _vehicle]; _ropeTop addEventHandler ["RopeBreak", {[_this, "top"] call FUNC(onRopeBreak)}]; _ropeBottom addEventHandler ["RopeBreak", {[_this, "bottom"] call FUNC(onRopeBreak)}]; - //deployedRopes format: attachment point, top part of the rope, bottom part of the rope, attachTo helper object, occupied - _deployedRopes pushBack [_ropeOrigin, _ropeTop, _ropeBottom, _dummy, _hook, false]; + //deployedRopes format: attachment point, top part of the rope, bottom part of the rope, attachTo helper object, occupied, broken + _deployedRopes pushBack [_ropeOrigin, _ropeTop, _ropeBottom, _dummy, _hook, false, false]; false } count _ropeOrigins; diff --git a/addons/fastroping/functions/fnc_fastRope.sqf b/addons/fastroping/functions/fnc_fastRope.sqf index ab78f122e5..a4ce39e7ad 100644 --- a/addons/fastroping/functions/fnc_fastRope.sqf +++ b/addons/fastroping/functions/fnc_fastRope.sqf @@ -23,7 +23,7 @@ private _deployedRopes = _vehicle getVariable [QGVAR(deployedRopes), []]; private _usableRope = _deployedRopes select 0; private _usableRopeIndex = 0; { - if !(_x select 5) exitWith { + if (!(_x select 5) && !(_x select 6)) exitWith { _usableRope = _x; _usableRopeIndex = _forEachIndex; }; diff --git a/addons/fastroping/functions/fnc_fastRopeServerPFH.sqf b/addons/fastroping/functions/fnc_fastRopeServerPFH.sqf index 8c4b347494..c8be61fb6f 100644 --- a/addons/fastroping/functions/fnc_fastRopeServerPFH.sqf +++ b/addons/fastroping/functions/fnc_fastRopeServerPFH.sqf @@ -85,7 +85,7 @@ if ( //Update deployedRopes array private _deployedRopes = _vehicle getVariable [QGVAR(deployedRopes), []]; - _deployedRopes set [_ropeIndex, [_attachmentPoint, _ropeTop, _ropeBottom, _dummy, _hook, false]]; + _deployedRopes set [_ropeIndex, [_attachmentPoint, _ropeTop, _ropeBottom, _dummy, _hook, false, false]]; _vehicle setVariable [QGVAR(deployedRopes), _deployedRopes, true]; [_pfhHandle] call CBA_fnc_removePerFrameHandler; diff --git a/addons/fastroping/functions/fnc_onRopeBreak.sqf b/addons/fastroping/functions/fnc_onRopeBreak.sqf index 3c83daea30..29937217cf 100644 --- a/addons/fastroping/functions/fnc_onRopeBreak.sqf +++ b/addons/fastroping/functions/fnc_onRopeBreak.sqf @@ -36,7 +36,7 @@ private _brokenRope = []; _brokenRope = _x; }; } forEach _deployedRopes; -_brokenRope set [5, true]; +_brokenRope set [6, true]; _vehicle setVariable [QGVAR(deployedRopes), _deployedRopes, true]; private _unit = { diff --git a/addons/fcs/CfgVehicles.hpp b/addons/fcs/CfgVehicles.hpp index 5b5935506e..e357613a80 100644 --- a/addons/fcs/CfgVehicles.hpp +++ b/addons/fcs/CfgVehicles.hpp @@ -97,35 +97,4 @@ class CfgVehicles { }; }; }; - - // AIR VEHICLES - class Air: AllVehicles {}; - - class Helicopter: Air { - class Turrets { - class MainTurret; - }; - }; - - class Helicopter_Base_F: Helicopter {}; - - class Heli_Attack_01_base_F: Helicopter_Base_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - GVAR(Enabled) = 1; - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; - }; - }; - - class Heli_Attack_02_base_F: Helicopter_Base_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - GVAR(Enabled) = 1; - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; - }; - }; }; diff --git a/addons/fcs/stringtable.xml b/addons/fcs/stringtable.xml index 5c0b77d75b..93d8121058 100644 --- a/addons/fcs/stringtable.xml +++ b/addons/fcs/stringtable.xml @@ -92,7 +92,7 @@ FCS reiniciado. L'FCS è stato azzerato СУО обнулен. - FCS は初期化された + FCS は初期化されました 사통장치 초기화됨 火控系统已被重置 火控系統已被重置 diff --git a/addons/finger/stringtable.xml b/addons/finger/stringtable.xml index de566acb49..901509dc5b 100644 --- a/addons/finger/stringtable.xml +++ b/addons/finger/stringtable.xml @@ -37,7 +37,7 @@ Muestra el indicador para el jugador que apunta. Esta opción no afecta si los otros jugadores verían el indicador Zobrazit infikátor, když ukážete prstem. Tato volba nemá vliv, zda ostatní hráči uvidí indikátor nebo ne. Mostra puntatore per il giocatore indicato. Questa opzione non influisce la possibilità che gli altri giocatori vedano il puntatore - プレイヤーへの指差し表記を描画します。このオプションは他のプレイヤーの表記に影響しません。 + プレイヤーへ指差し表記を描画します。これは他のプレイヤーの表記に影響しません。 대상이 가리키는곳을 보이게 합니다. 显示指向指示器给玩家自己。此选项设定并不影响其他玩家能否看到指示器 顯示指向指示器給玩家自己。此選項設定並不影響其他玩家能否看到指示器 @@ -101,7 +101,7 @@ Señala y muestra un marcador virtual donde ustás apuntando para las unidades cercanas. Puede ser mantenido. Ukazuje virtuální značku kruhu ve směru, kterým se díváte pro všechny blízké jednotky. Punta e mostra un marker virtuale di dove stai guardando alle unità vicine. Può essere tenuto premuto. - 指差しが出すマーカー表記は自ユニットの近くにいると表記されます。これは押しっぱなしにできます。 + 指差し表記は自ユニットの近くにいる人のみに表記されます。また押しっぱなしにできます。 당신이 보는것을 가상의 마커로 표시함으로서 다른 인원이 볼 수 있게 합니다. 누른채로 유지할 수 있습니다. 当按下此按键后,你附近的单位即可看见一个虚拟图示,标明你正在指向的位置。此按键可以被按住来持续显示。 當按下此按鍵後,你附近的單位即可看見一個虛擬圖示,標明你正在指向的位置。此按鍵可以被按住來持續顯示。 diff --git a/addons/flashlights/ACE_Arsenal_Stats.hpp b/addons/flashlights/ACE_Arsenal_Stats.hpp new file mode 100644 index 0000000000..7a5e7ea39a --- /dev/null +++ b/addons/flashlights/ACE_Arsenal_Stats.hpp @@ -0,0 +1,13 @@ +class EGVAR(arsenal,stats) { + class statBase; + class ACE_flashlightColor: statBase { + scope = 2; + priority = 1; + stats[] = {"ACE_Flashlight_Colour"}; + displayName = CSTRING(statMapLightColor); + showText = 1; + textStatement = QUOTE(getText (_this select 1 >> 'itemInfo' >> 'FlashLight' >> (_this select 0) select 0)); + condition = QUOTE(getText (_this select 1 >> 'itemInfo' >> 'FlashLight' >> (_this select 0) select 0) != ''); + tabs[] = {{}, {1,7}}; + }; +}; diff --git a/addons/flashlights/config.cpp b/addons/flashlights/config.cpp index 734a47db86..eefeb782f1 100644 --- a/addons/flashlights/config.cpp +++ b/addons/flashlights/config.cpp @@ -17,3 +17,4 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" +#include "ACE_Arsenal_Stats.hpp" diff --git a/addons/flashlights/stringtable.xml b/addons/flashlights/stringtable.xml index 08e291a2b6..0544baefa7 100644 --- a/addons/flashlights/stringtable.xml +++ b/addons/flashlights/stringtable.xml @@ -91,5 +91,10 @@ 拥有红色滤光片的手电筒。用来照亮地图。 擁有紅色濾光片的手電筒。用來照亮地圖。 + + Map light color + Couleur de la lampe sur carte + 光の色 + diff --git a/addons/frag/CfgAmmo.hpp b/addons/frag/CfgAmmo.hpp index bff5a49ffa..e8ba51a451 100644 --- a/addons/frag/CfgAmmo.hpp +++ b/addons/frag/CfgAmmo.hpp @@ -5,8 +5,8 @@ class CfgAmmo { // ~~~~ Bombs: - class LaserBombCore; - class Bo_GBU12_LGB: LaserBombCore { + class ammo_Bomb_LaserGuidedBase; + class Bo_GBU12_LGB: ammo_Bomb_LaserGuidedBase { GVAR(enabled) = 1; GVAR(classes)[] = {QGVAR(large), QGVAR(large), QGVAR(large_HD), QGVAR(large), QGVAR(huge), QGVAR(huge_HD), QGVAR(huge)}; @@ -15,7 +15,7 @@ class CfgAmmo { GVAR(gurney_c) = 2320; GVAR(gurney_k) = 1/2; }; - class Bomb_04_F: LaserBombCore { + class Bomb_04_F: ammo_Bomb_LaserGuidedBase { GVAR(enabled) = 1; GVAR(classes)[] = {QGVAR(large), QGVAR(large), QGVAR(large_HD), QGVAR(large), QGVAR(huge), QGVAR(huge_HD), QGVAR(huge)}; diff --git a/addons/frag/functions/fnc_doSpall.sqf b/addons/frag/functions/fnc_doSpall.sqf index 65b9327d5a..03a2df121b 100644 --- a/addons/frag/functions/fnc_doSpall.sqf +++ b/addons/frag/functions/fnc_doSpall.sqf @@ -22,7 +22,10 @@ private _initialData = GVAR(spallHPData) select (_hitData select 0); _initialData params ["_hpId", "_object", "_roundType", "_round", "_curPos", "_velocity"]; private _hpData = (_hitData select 1) select _hitPartDataIndex; -(_hpData select 0) removeEventHandler ["hitPart", _hpId]; +private _objectHit = _hpData param [0, objNull]; +TRACE_1("",_objectHit); +if ((isNil "_objectHit") || {isNull _objectHit}) exitWith {WARNING_1("Problem with hitPart data - bad object [%1]",_objectHit);}; +_objectHit removeEventHandler ["hitPart", _hpId]; private _caliber = getNumber (configFile >> "CfgAmmo" >> _roundType >> "caliber"); private _explosive = getNumber (configFile >> "CfgAmmo" >> _roundType >> "explosive"); @@ -54,6 +57,7 @@ if (_exit) exitWith {}; private _unitDir = vectorNormalized _velocity; private _pos = _hpData select 3; private _spallPos = []; +if ((isNil "_pos") || {!(_pos isEqualTypeArray [0,0,0])}) exitWith {WARNING_1("Problem with hitPart data - bad pos [%1]",_pos);}; for "_i" from 0 to 100 do { private _pos1 = _pos vectorAdd (_unitDir vectorMultiply (0.01 * _i)); private _pos2 = _pos vectorAdd (_unitDir vectorMultiply (0.01 * (_i + 1))); @@ -80,9 +84,9 @@ if (_explosive > 0) then { private _gC = getNumber (configFile >> "CfgAmmo" >> _roundType >> QGVAR(GURNEY_C)); if (_gC == 0) then {_gC = 2440; _warn = true;}; - if (_warn) then { - WARNING_1("Ammo class %1 lacks proper explosive properties definitions for frag!",_roundType); //TODO: turn this off when we get closer to release - }; + // if (_warn) then { + // WARNING_1("Ammo class %1 lacks proper explosive properties definitions for frag!",_roundType); //TODO: turn this off when we get closer to release + // }; private _fragPower = (((_m / _c) + _k) ^ - (1 / 2)) * _gC; _spallPolar set [0, _fragPower * 0.66]; @@ -91,6 +95,7 @@ if (_explosive > 0) then { // diag_log text format ["SPALL POWER: %1", _spallPolar select 0]; private _spread = 15 + (random 25); private _spallCount = 5 + (random 10); +TRACE_1("",_spallCount); for "_i" from 1 to _spallCount do { private _elev = ((_spallPolar select 2) - _spread) + (random (_spread * 2)); private _dir = ((_spallPolar select 1) - _spread) + (random (_spread * 2)); diff --git a/addons/frag/functions/fnc_fired.sqf b/addons/frag/functions/fnc_fired.sqf index a9d13cde08..8dc9be4307 100644 --- a/addons/frag/functions/fnc_fired.sqf +++ b/addons/frag/functions/fnc_fired.sqf @@ -24,19 +24,6 @@ private _shouldAdd = GVAR(cacheRoundsTypesToTrack) getVariable _ammo; if (isNil "_shouldAdd") then { TRACE_1("no cache for round",_ammo); - if (!EGVAR(common,settingsInitFinished)) exitWith { - //Just incase fired event happens before settings init, don't want to set cache wrong if spall setting changes - TRACE_1("Settings not init yet - exit without setting cache",_ammo); - _shouldAdd = false; - }; - - if (GVAR(spallEnabled)) exitWith { - //Always want to run whenever spall is enabled? - _shouldAdd = true; - TRACE_2("SettingCache[spallEnabled]",_ammo,_shouldAdd); - GVAR(cacheRoundsTypesToTrack) setVariable [_ammo, _shouldAdd]; - }; - //Read configs and test if it would actually cause a frag, using same logic as FUNC(pfhRound) private _skip = getNumber (configFile >> "CfgAmmo" >> _ammo >> QGVAR(skip)); private _explosive = getNumber (configFile >> "CfgAmmo" >> _ammo >> "explosive"); @@ -45,7 +32,15 @@ if (isNil "_shouldAdd") then { private _fragPower = getNumber (configFile >> "CfgAmmo" >> _ammo >> "indirecthit") * (sqrt (getNumber (configFile >> "CfgAmmo" >> _ammo >> "indirectHitRange"))); _shouldAdd = (_skip == 0) && {(_force == 1) || {_explosive > 0.5 && {_indirectRange >= 4.5} && {_fragPower >= 35}}}; - TRACE_6("SettingCache[willFrag?]",_skip,_explosive,_indirectRange,_force,_fragPower,_shouldAdd); + + if (GVAR(spallEnabled) && {!_shouldAdd}) then { + private _caliber = getNumber (configFile >> "CfgAmmo" >> _ammo >> "caliber"); + if !(_caliber >= 2.5 || {(_explosive > 0 && {_indirectRange >= 1})}) exitWith {}; // from check in doSpall: line 34 + TRACE_1("Won't frag, but will spall",_caliber); + _shouldAdd = true; + }; + + TRACE_6("Setting Cache",_skip,_explosive,_indirectRange,_force,_fragPower,_shouldAdd); GVAR(cacheRoundsTypesToTrack) setVariable [_ammo, _shouldAdd]; }; diff --git a/addons/frag/functions/fnc_spallHP.sqf b/addons/frag/functions/fnc_spallHP.sqf index 643f5aefe4..bc38c5c0fa 100644 --- a/addons/frag/functions/fnc_spallHP.sqf +++ b/addons/frag/functions/fnc_spallHP.sqf @@ -1,6 +1,6 @@ /* * Author: ACE-Team - * + * Handles the HitPart event * * Arguments: * None diff --git a/addons/frag/functions/fnc_spallTrack.sqf b/addons/frag/functions/fnc_spallTrack.sqf index ee928b35c0..ef1d7f77a8 100644 --- a/addons/frag/functions/fnc_spallTrack.sqf +++ b/addons/frag/functions/fnc_spallTrack.sqf @@ -1,6 +1,6 @@ /* * Author: ACE-Team - * + * Add HitPart EventHandler to objects in the projectile's path * * Arguments: * None diff --git a/addons/gestures/stringtable.xml b/addons/gestures/stringtable.xml index fce2270cbb..0677b435e1 100644 --- a/addons/gestures/stringtable.xml +++ b/addons/gestures/stringtable.xml @@ -276,7 +276,7 @@ Afficher les gestes dans le menu d'interaction. Mostrar gestos no menu de interação Показать жесты в меню взаимодействия - インタラクション メニュー上でジェスチャーを表示する + インタラクション メニュー上でジェスチャー表示 수신호를 상호작용 메뉴에서 보여줍니다 显示手势互动选单 顯示手勢互動選單 diff --git a/addons/gforces/ACE_Arsenal_Stats.hpp b/addons/gforces/ACE_Arsenal_Stats.hpp new file mode 100644 index 0000000000..4148ba5fe2 --- /dev/null +++ b/addons/gforces/ACE_Arsenal_Stats.hpp @@ -0,0 +1,13 @@ +class EGVAR(arsenal,stats) { + class statBase; + class ACE_gReduction: statBase { + scope = 2; + priority = 1; + stats[] = {"ACE_GForceCoef"}; + displayName = CSTRING(statGReduction); + showBar = 1; + barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(1, 0)], [ARR_2(0.01, 1)], false)])] call EFUNC(arsenal,statBarStatement_default)); + condition = QUOTE(getNumber (_this select 1 >> (_this select 0) select 0) > 0); + tabs[] = {{3}, {}}; + }; +}; diff --git a/addons/gforces/config.cpp b/addons/gforces/config.cpp index e05f582d08..da9e6a2328 100644 --- a/addons/gforces/config.cpp +++ b/addons/gforces/config.cpp @@ -21,3 +21,4 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgWeapons.hpp" #include "CfgVehicles.hpp" +#include "ACE_Arsenal_Stats.hpp" diff --git a/addons/gforces/stringtable.xml b/addons/gforces/stringtable.xml index adf7fb114d..c8251f1532 100644 --- a/addons/gforces/stringtable.xml +++ b/addons/gforces/stringtable.xml @@ -31,5 +31,10 @@ 只有战斗机 只有戰鬥機 + + G-force reduction + Reduction des Gs + 耐 G 性 + diff --git a/addons/goggles/ACE_Settings.hpp b/addons/goggles/ACE_Settings.hpp index 2b20b46514..26575ab554 100644 --- a/addons/goggles/ACE_Settings.hpp +++ b/addons/goggles/ACE_Settings.hpp @@ -5,6 +5,7 @@ class ACE_Settings { displayName = CSTRING(effects_displayName); typeName = "SCALAR"; value = 2; + isClientSettable = 1; values[] = {ECSTRING(common,Disabled), CSTRING(effects_tintOnly), CSTRING(enabled_tintAndEffects)}; }; class GVAR(showInThirdPerson) { diff --git a/addons/gunbag/XEH_preInit.sqf b/addons/gunbag/XEH_preInit.sqf index cac548d134..8f313ba472 100644 --- a/addons/gunbag/XEH_preInit.sqf +++ b/addons/gunbag/XEH_preInit.sqf @@ -24,4 +24,22 @@ PREP_RECOMPILE_END; }, _this] call CBA_fnc_execNextFrame; }] call CBA_fnc_addClassEventHandler; +[QEGVAR(arsenal,displayOpened), { + + private _center = EGVAR(arsenal,center); + + if (_center call FUNC(hasGunBag)) then { + GVAR(arsenalCache) = (backpackContainer _center) getVariable [QGVAR(gunbagWeapon), []]; + }; +}] call CBA_fnc_addEventHandler; + +[QEGVAR(arsenal,displayClosed), { + + if !(isNil QGVAR(arsenalCache)) then { + (backpackContainer EGVAR(arsenal,center)) setVariable [QGVAR(gunbagWeapon),GVAR(arsenalCache), true]; + }; + + GVAR(arsenalCache) = nil; +}] call CBA_fnc_addEventHandler; + ADDON = true; diff --git a/addons/hearing/ACE_Arsenal_Stats.hpp b/addons/hearing/ACE_Arsenal_Stats.hpp new file mode 100644 index 0000000000..cc9e048823 --- /dev/null +++ b/addons/hearing/ACE_Arsenal_Stats.hpp @@ -0,0 +1,21 @@ +class EGVAR(arsenal,stats) { + class statBase; + class ACE_hearingProtection: statBase { + scope = 2; + priority = 2; + stats[] = {QGVAR(protection)}; + displayName= CSTRING(statHearingProtection); + showBar = 1; + barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 1)], [ARR_2(0.01, 1)], false)])] call EFUNC(arsenal,statBarStatement_default)); + tabs[] = {{6}, {}}; + }; + class ACE_volumeMuffling: statBase { + scope = 2; + priority = 1; + stats[] = {QGVAR(lowerVolume)}; + displayName= CSTRING(statHearingLowerVolume); + showBar = 1; + barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 1)], [ARR_2(0.01, 1)], false)])] call EFUNC(arsenal,statBarStatement_default)); + tabs[] = {{6}, {}}; + }; +}; diff --git a/addons/hearing/ACE_Settings.hpp b/addons/hearing/ACE_Settings.hpp index 8814f2466d..a395ddd99f 100644 --- a/addons/hearing/ACE_Settings.hpp +++ b/addons/hearing/ACE_Settings.hpp @@ -8,12 +8,16 @@ class ACE_Settings { }; class GVAR(earplugsVolume) { category = CSTRING(Module_DisplayName); + displayName = CSTRING(earplugsVolume_DisplayName); + description = CSTRING(earplugsVolume_Description); value = 0.5; typeName = "SCALAR"; sliderSettings[] = {0, 1, 0.5, 1}; }; class GVAR(unconsciousnessVolume) { category = CSTRING(Module_DisplayName); + displayName = CSTRING(unconsciousnessVolume_DisplayName); + description = CSTRING(unconsciousnessVolume_Description); value = 0.4; typeName = "SCALAR"; sliderSettings[] = {0, 1, 0.4, 1}; diff --git a/addons/hearing/CfgWeapons.hpp b/addons/hearing/CfgWeapons.hpp index cba35e403e..6920e2691b 100644 --- a/addons/hearing/CfgWeapons.hpp +++ b/addons/hearing/CfgWeapons.hpp @@ -68,4 +68,8 @@ class CfgWeapons { HEARING_PROTECTION_PELTOR }; + class H_Tank_base_F; + class H_Tank_black_F: H_Tank_base_F { + HEARING_PROTECTION_VICCREW + }; }; diff --git a/addons/hearing/config.cpp b/addons/hearing/config.cpp index e562227047..a1cc956d89 100644 --- a/addons/hearing/config.cpp +++ b/addons/hearing/config.cpp @@ -20,3 +20,4 @@ class CfgPatches { #include "CfgWeapons.hpp" #include "CfgAmmo.hpp" #include "ACE_Settings.hpp" +#include "ACE_Arsenal_Stats.hpp" diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index d745734ca1..88863f7e0f 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -76,7 +76,7 @@ Füldugó berakva Protetores colocados Indossa i tappi auricolari - 耳栓を着けた + 耳栓を着けました 귀마개 착용 耳塞已塞入 耳塞已塞入 @@ -92,7 +92,7 @@ Füldugó kivéve Protetores retirados Levati i tappi auricolari - 耳栓を外した + 耳栓を外しました 귀마개 뺌 耳塞已取出 耳塞已取出 @@ -124,7 +124,7 @@ Não há espaço no inventário Nincs több hely Нет места в инвентаре - インベントリに空きがありません。 + インベントリに空きがありません 넣을 공간이 없습니다 无可用空间 無可用空間 @@ -154,7 +154,7 @@ Quando il giocatore riceve danni all'udito, non fa sentire i fischi nelle orecchie Remove o efeito de zunido quando o jogador recebe dano na audição Убирает эффект звона в ушах, когда игрок получает повреждение слуха - プレイヤーの聴覚が損傷をしたら耳鳴りの効果を削除します + プレイヤーの聴覚が損傷したら耳鳴りの効果を削除します 플레이어가 청력손실을 입을때 생기는 이명현상을 제거합니다. 关闭耳鸣效果时,就算玩家受到相当程度的听力伤害, 也不会造成耳鸣效果 關閉耳鳴效果時,就算玩家受到相當程度的聽力傷害, 也不會造成耳鳴效果 @@ -217,7 +217,7 @@ Ce module active / désactivé la surdité au combat. Si active, des joueurs peuvent devenir sourds sans protection d'oreille, si une arme est utilisée ou une explosion a lieu à proximité Controles de sordera de combate y zumbido en los oídos. Al activarlo, los jugadores pueden ser ensordecidos cuando un arma se dispara cerca o una explosión tiene lugar sin protección auditiva Controlla la sordità da combattimento e fischio alle orecchie. Quando attivato, i giocatori possono essere assordati quando un'arma spara vicino o avviene un'esplosione senza protezione uditiva - 戦闘による難聴や、耳鳴りを設定します。有効になった場合、聴覚を保護していないと近傍の銃声や爆発音により、難聴になります。 + 戦闘による難聴や、耳鳴りを設定します。有効では聴覚を保護していないと近傍の銃声や爆発音により、難聴になります。 전투 난청과 이명현상을 조작합니다. 작동시 플레이어가 화기나 폭발의 주변에 있을경우 청력보호장치가 없을때 청력손실을 입습니다. 设定战斗性耳聋和耳鸣。当启用后,玩家会在有武器在旁边射击或爆炸产生时造成耳鸣效果 設定戰鬥性耳聾和耳鳴。當啟用後,玩家會在有武器在旁邊射擊或爆炸產生時造成耳鳴效果 @@ -277,10 +277,36 @@ Aggiungi l'oggetto 'ACE_EarPlugs' a tutte le unità che hanno armi rumorose. Può essere disabilitato se vengono usati loadout personalizzati. Agregar el item `ACE_EarPlugs` a todas las unidades equipadas con armas muy ruidosas. Desactivar si quieren utilizarse equipamientos personalizados. Ajoute l'objet "Ace_EarPlugs" à toutes les unités ayant des armes bruyantes. Peut être désactivé par des loadouts personalisés. - 全ユニットへ`ACE_EarPlugs`アイテムをもたせます。これは変更された武装で無効化できます。 + 全ユニットへ`ACE_EarPlugs`アイテムを持たせます。これは変更された武装で無効化できます。 무기를 가지고 있는 모든 인원에게 'ACE_EarPlugs'를 지급합니다. 임의의 장비를 사용시 비활성화 할 수 있습니다. 增加`ACE_EarPlugs`物品给拥有巨大噪音武器的单位。当你想自定装备时,此功能可被关闭。 增加`ACE_EarPlugs`物品給擁有巨大噪音武器的單位。當你想自定裝備時,此功能可被關閉。 + + Hearing protection + Protection auditive + 聴覚保護 + + + Volume muffling + Étouffement des sons + 音量低下 + + + Earplugs Volume + 耳栓時の音量 + + + Volume when using earplugs. + 耳栓使用時の音量を決定します。 + + + Unconscious Volume + 気絶時の音量 + + + Volume when unconscious. + 気絶時の音量を決定します。 + diff --git a/addons/hellfire/CfgAmmo.hpp b/addons/hellfire/CfgAmmo.hpp index c8900459ad..234d9edeeb 100644 --- a/addons/hellfire/CfgAmmo.hpp +++ b/addons/hellfire/CfgAmmo.hpp @@ -59,9 +59,9 @@ class CfgAmmo { displayNameShort = "AGM-114N"; description = "AGM-114N"; descriptionShort = "AGM-114N"; - hit = 1100; + hit = 200; indirectHit = 200; - indirectHitRange = 10; + indirectHitRange = 12; explosionEffects = "BombExplosion"; class ace_missileguidance: ace_missileguidance { enabled = 1; // Missile Guidance must be explicitly enabled diff --git a/addons/hellfire/CfgWeapons.hpp b/addons/hellfire/CfgWeapons.hpp index e55492a59c..1d7f167aad 100644 --- a/addons/hellfire/CfgWeapons.hpp +++ b/addons/hellfire/CfgWeapons.hpp @@ -1,15 +1,28 @@ class CfgWeapons { - class missiles_SCALPEL; - class GVAR(launcher): missiles_SCALPEL { + class RocketPods; + class GVAR(launcher): RocketPods { displayName = "AGM-114K Hellfire II"; GVAR(enabled) = 1; // handle adding interactions and adding Laser Designator EGVAR(laser,canSelect) = 1; // can ace_laser lock (allows switching laser code) EGVAR(laser,showHud) = 1; // show attack profile / lock on hud + magazines[] = {"6Rnd_ACE_Hellfire_AGM114K", "PylonMissile_1Rnd_ACE_Hellfire_AGM114K", "PylonRack_1Rnd_ACE_Hellfire_AGM114K", "PylonRack_3Rnd_ACE_Hellfire_AGM114K", "PylonRack_4Rnd_ACE_Hellfire_AGM114K"}; + + autoFire = 0; canLock = 0; weaponLockSystem = 0; - magazines[] = {"6Rnd_ACE_Hellfire_AGM114K", "PylonMissile_1Rnd_ACE_Hellfire_AGM114K", "PylonRack_1Rnd_ACE_Hellfire_AGM114K", "PylonRack_3Rnd_ACE_Hellfire_AGM114K", "PylonRack_4Rnd_ACE_Hellfire_AGM114K"}; lockingTargetSound[] = {"",0,1}; lockedTargetSound[] = {"",0,1}; + soundFly[] = {"A3\Sounds_F\weapons\Rockets\rocket_fly_1",1,1.1,700}; + nameSound = "MissileLauncher"; + sounds[] = {"StandardSound"}; + class StandardSound { + begin1[] = {"A3\Sounds_F\weapons\Rockets\missile_1",1.12202,1.3,1000}; + soundBegin[] = {"begin1",1}; + soundsetshot[] = {"RocketsMedium_Shot_SoundSet"}; + }; + cursor = "EmptyCursor"; + cursorAim = "missile"; + showAimCursorInternal = 0; }; class GVAR(launcher_N): GVAR(launcher) { displayName = "AGM-114N Hellfire II"; diff --git a/addons/hitreactions/functions/fnc_fallDown.sqf b/addons/hitreactions/functions/fnc_fallDown.sqf index a7814b914e..c67f3fd0f8 100644 --- a/addons/hitreactions/functions/fnc_fallDown.sqf +++ b/addons/hitreactions/functions/fnc_fallDown.sqf @@ -38,7 +38,7 @@ if (_unit == ACE_player) then { // play scream sound if (!isNil QEFUNC(medical,playInjuredSound)) then { - [_unit] call EFUNC(medical,playInjuredSound); + [_unit,_damage] call EFUNC(medical,playInjuredSound); }; private _vehicle = vehicle _unit; diff --git a/addons/huntir/functions/fnc_cam.sqf b/addons/huntir/functions/fnc_cam.sqf index 753293f5ad..867420f8e1 100644 --- a/addons/huntir/functions/fnc_cam.sqf +++ b/addons/huntir/functions/fnc_cam.sqf @@ -55,7 +55,7 @@ GVAR(pphandle) ppEffectAdjust [1, 1, 0, [0.01, 0.02, 0.04, 0.01], [0.87, 1.08, 1 GVAR(pphandle) ppEffectCommit 0; GVAR(pphandle) ppEffectEnable true; -GVAR(stop) = false; +GVAR(stop) = false; // Var also used in ace_common_fnc_isFeatureCameraActive call FUNC(huntirCompass); GVAR(no_cams) = ACE_player nearEntities ["ACE_HuntIR", HUNTIR_MAX_TRANSMISSION_RANGE]; diff --git a/addons/interact_menu/XEH_clientInit.sqf b/addons/interact_menu/XEH_clientInit.sqf index dbe9d548cd..d6d5cd065c 100644 --- a/addons/interact_menu/XEH_clientInit.sqf +++ b/addons/interact_menu/XEH_clientInit.sqf @@ -1,4 +1,3 @@ -//XEH_clientInit.sqf #include "script_component.hpp" if (!hasInterface) exitWith {}; @@ -10,16 +9,16 @@ GVAR(cachedBuildingActionPairs) = []; GVAR(ParsedTextCached) = []; -["ace_settingChanged", { - params ["_name"]; - if (({_x == _name} count [QGVAR(colorTextMax), QGVAR(colorTextMin), QGVAR(colorShadowMax), QGVAR(colorShadowMin), QGVAR(textSize), QGVAR(shadowSetting)]) == 1) then { - [] call FUNC(setupTextColors); - }; -}] call CBA_fnc_addEventHandler; - ["ace_settingsInitialized", { - //Setup text/shadow/size/color settings matrix + // Setup text/shadow/size/color settings matrix [] call FUNC(setupTextColors); + // Setting changed added here so color setup happens once at init + ["ace_settingChanged", { + params ["_name"]; + if (_name in [QGVAR(colorTextMax), QGVAR(colorTextMin), QGVAR(colorShadowMax), QGVAR(colorShadowMin), QGVAR(textSize), QGVAR(shadowSetting)]) then { + [] call FUNC(setupTextColors); + }; + }] call CBA_fnc_addEventHandler; // Install the render EH on the main display addMissionEventHandler ["Draw3D", {call FUNC(render)}]; }] call CBA_fnc_addEventHandler; diff --git a/addons/interact_menu/XEH_preInit.sqf b/addons/interact_menu/XEH_preInit.sqf index 817693c93c..a05eac1bb5 100644 --- a/addons/interact_menu/XEH_preInit.sqf +++ b/addons/interact_menu/XEH_preInit.sqf @@ -6,6 +6,8 @@ PREP_RECOMPILE_START; #include "XEH_PREP.hpp" PREP_RECOMPILE_END; +#include "initSettings.sqf" + GVAR(ActNamespace) = [] call CBA_fnc_createNamespace; GVAR(ActSelfNamespace) = [] call CBA_fnc_createNamespace; diff --git a/addons/interact_menu/functions/fnc_addActionToObject.sqf b/addons/interact_menu/functions/fnc_addActionToObject.sqf index 31c8301735..c250296af6 100644 --- a/addons/interact_menu/functions/fnc_addActionToObject.sqf +++ b/addons/interact_menu/functions/fnc_addActionToObject.sqf @@ -31,6 +31,13 @@ if (_actionList isEqualTo []) then { _object setVariable [_varName, _actionList]; }; +// Ensure the config menu was compiled first +if (_typeNum == 0) then { + [_object] call FUNC(compileMenu); +} else { + [_object] call FUNC(compileMenuSelfAction); +}; + if (_parentPath isEqualTo ["ACE_MainActions"]) then { [(typeOf _object), _typeNum] call FUNC(addMainAction); }; diff --git a/addons/interact_menu/functions/fnc_render.sqf b/addons/interact_menu/functions/fnc_render.sqf index 1c3ed50c92..47ddcf938d 100644 --- a/addons/interact_menu/functions/fnc_render.sqf +++ b/addons/interact_menu/functions/fnc_render.sqf @@ -28,7 +28,7 @@ if (GVAR(openedMenuType) >= 0) then { // Render all available nearby interactions call FUNC(renderActionPoints); - // Draw the red selector only when there's no cursor + // Draw the selector only when there's no cursor if !(uiNamespace getVariable [QGVAR(cursorMenuOpened),false]) then { [[0.5,0.5], "\a3\ui_f\data\IGUI\Cfg\Cursors\selected_ca.paa"] call FUNC(renderSelector); }; diff --git a/addons/interact_menu/functions/fnc_renderSelector.sqf b/addons/interact_menu/functions/fnc_renderSelector.sqf index c2fe5f932c..2acc66c8eb 100644 --- a/addons/interact_menu/functions/fnc_renderSelector.sqf +++ b/addons/interact_menu/functions/fnc_renderSelector.sqf @@ -30,10 +30,10 @@ if(GVAR(iconCount) > (count GVAR(iconCtrls))-1) then { private _ctrl = GVAR(iconCtrls) select GVAR(iconCount); private _pos = if (GVAR(UseListMenu)) then { - [_ctrl, GVAR(iconCount), format ["", _icon]] call FUNC(ctrlSetParsedTextCached); + [_ctrl, GVAR(iconCount), format ["", _icon, GVAR(selectorColorHex)]] call FUNC(ctrlSetParsedTextCached); [(_sPos select 0)-(0.014*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.05*SafeZoneW, 0.035*SafeZoneW] } else { - [_ctrl, GVAR(iconCount), format ["", _icon]] call FUNC(ctrlSetParsedTextCached); + [_ctrl, GVAR(iconCount), format ["", _icon, GVAR(selectorColorHex)]] call FUNC(ctrlSetParsedTextCached); [(_sPos select 0)-(0.050*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.1*SafeZoneW, 0.035*SafeZoneW] }; diff --git a/addons/interact_menu/initSettings.sqf b/addons/interact_menu/initSettings.sqf new file mode 100644 index 0000000000..45c9fdbd3b --- /dev/null +++ b/addons/interact_menu/initSettings.sqf @@ -0,0 +1,9 @@ +[ + QGVAR(selectorColor), + "COLOR", + localize LSTRING(SelectorColor), + format ["ACE %1", localize LSTRING(Category_InteractionMenu)], + [1, 0, 0], + false, + {GVAR(selectorColorHex) = _this call BIS_fnc_colorRGBtoHTML} // Stored in Hex to avoid constant conversion +] call CBA_settings_fnc_init; diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index a05dcee3e4..b14dac6006 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -44,7 +44,7 @@ Interaktionsmenü in Listen anzeigen Cselekvő menük listaként való megjelenítése Mostrar menu de interação como listas - 表示されるインタラクション メニューを一覧表示 + インタラクション メニューを一覧表示 상호작용메뉴를 리스트화 해서 보이기 以列表方式显示互动表单 以列表方式顯示互動表單 @@ -236,7 +236,7 @@ Execute a ação quando soltar a tecla de menu Cselekvés végrehajtása a menügomb elengedésekor Esegui l'azione quando rilasci il tasto menu - メニュー キーを離したときに動作を実行します。 + メニュー キーを離した時に動作を実行 메뉴키를 놓을때 행동하기 当放开选单键后就执行动作 當放開選單鍵後就執行動作 @@ -396,7 +396,7 @@ Adiciona ações de interações para abrir portas e montar escadas em edifícios. (Nota: Existe um custo de performance quando aberto o menu de interação, especialmente em cidades) Добавляет действия открывания дверей и залезания на лестницы для зданий. (Примечание: возможно падение производительности при открытии меню взаимодействия, особенно в городах) Aggiunge azioni interattive per l'apertura delle porte e piazzamento scale su edifici. (Nota: C'è un costo in performance quando si apre il Menù Interazioni, soprattutto in città) - 建物にあるドアの開閉やラダーの昇降といった動作をインタラクションへ追加します。(街などでインタラクション メニューを開くとパフォーマンスが低下します) + 建物にある扉の開閉やはしごの昇降といった動作をインタラクションへ追加します。(街などでインタラクション メニューを開くと動作が低下します) 건물의 문을 열거나 사다리에 오르는 상호작용 행동을 추가합니다. (주의: 상호작용 메뉴를 열경우 성능하락이 있을 수 있음, 특히 마을 내부에서) 增加互动选单的功能在可开启的门与建筑物的梯子上。(注意: 此功能有可能会降低系统效能,特别是在城镇区更明显) 增加互動選單的功能在可開啟的門與建築物的梯子上。(注意: 此功能有可能會降低系統效能,特別是在城鎮區更明顯) @@ -441,10 +441,14 @@ Rende le animazioni Menù più veloci e diminuisce il tempo richiesto per mostrare sotto-azioni Hace la animación del menú más rápida, reduciendo el tiempo necesario para abrir sub-acciones. Rend les animations de menu plus rapide et réduit le temps nécessaire à l'affichage des sous menus d'action - サブ動作が表示されるホバーをした時に、表示されるメニューのアニメーション速度を早くしたり遅くしたりできます + ホバーで子アクションを表示した時に出るメニューのアニメーション速度を早くしたり遅くしたりできます 使选单的动画速度更快,并减少子选项显现出来的时间 使選單的動畫速度更快,並減少子選項顯現出來的時間 상호 작용을 표시하기 위해 메뉴 애니메이션을 빠르게 만들고 마우스를 가져 오는 데 필요한 시간을 줄입니다. + + Selector Color + セレクターの色 + diff --git a/addons/interaction/CfgVehicles.hpp b/addons/interaction/CfgVehicles.hpp index 9bd70a00da..c438eb2104 100644 --- a/addons/interaction/CfgVehicles.hpp +++ b/addons/interaction/CfgVehicles.hpp @@ -368,6 +368,40 @@ class CfgVehicles { }; }; + class Car_F: Car{}; + class Quadbike_01_base_F: Car_F { + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + class GVAR(flip) { + displayName = CSTRING(Flip); + condition = QUOTE(call DFUNC(canFlip)); + statement = QUOTE([ARR_3(QQGVAR(flip),_target,_target)] call CBA_fnc_targetEvent); + }; + class GVAR(push) { + displayName = CSTRING(Push); + condition = QUOTE(_target call FUNC(canPush)); + statement = QUOTE(call FUNC(push)); + }; + }; + }; + }; + class Kart_01_Base_F: Car_F { + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + class GVAR(flip) { + displayName = CSTRING(Flip); + condition = QUOTE(call DFUNC(canFlip)); + statement = QUOTE([ARR_3(QQGVAR(flip),_target,_target)] call CBA_fnc_targetEvent); + }; + class GVAR(push) { + displayName = CSTRING(Push); + condition = QUOTE(_target call FUNC(canPush)); + statement = QUOTE(call FUNC(push)); + }; + }; + }; + }; + class Tank: LandVehicle { class ACE_Actions { class ACE_MainActions { @@ -531,6 +565,11 @@ class CfgVehicles { }; }; + class Boat_F; + class Boat_Transport_02_base_F: Boat_F { + GVAR(canPush) = 1; + }; + class StaticWeapon: LandVehicle { class ACE_Actions { class ACE_MainActions { @@ -545,6 +584,11 @@ class CfgVehicles { exceptions[] = {"isNotSwimming"}; insertChildren = QUOTE(_this call DFUNC(addPassengersActions)); }; + class GVAR(flip) { + displayName = CSTRING(Flip); + condition = QUOTE(call DFUNC(canFlip)); + statement = QUOTE([ARR_3(QQGVAR(flip),_target,_target)] call CBA_fnc_targetEvent); + }; }; }; @@ -640,37 +684,48 @@ class CfgVehicles { class EventHandlers { class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers {}; }; - - scope = 2; class ACE_Actions { class ACE_MainActions { displayName = CSTRING(MainAction); - selection = ""; distance = 2; - condition = "true"; - class ACE_LampTurnOn { + + class GVAR(TurnOn) { displayName = CSTRING(TurnOn); + icon = "\A3\Ui_f\data\IGUI\Cfg\VehicleToggles\LightsIconOn_ca.paa"; condition = QUOTE(alive _target && !(_target getVariable [ARR_2('ACE_lampOn',true)])); statement = QUOTE(_target call DFUNC(switchLamp)); - selection = ""; - distance = 2; }; - class ACE_LampTurnOff { + class GVAR(TurnOff) { displayName = CSTRING(TurnOff); + icon = "\A3\ui_f\data\igui\cfg\actions\ico_cpt_land_OFF_ca.paa"; condition = QUOTE(alive _target && _target getVariable [ARR_2('ACE_lampOn',true)]); statement = QUOTE(_target call DFUNC(switchLamp)); - selection = ""; - distance = 2; }; }; }; }; - class Land_PortableLight_single_off_F: Land_PortableLight_single_F { - scope = 1; - }; - class Land_PortableLight_double_F: Land_PortableLight_single_F {}; - class Land_PortableLight_double_off_F: Land_PortableLight_double_F { - scope = 1; + + class FloatingStructure_F; + class Land_Camping_Light_F: FloatingStructure_F { + class ACE_Actions { + class ACE_MainActions { + displayName = CSTRING(MainAction); + distance = 2; + + class GVAR(TurnOn) { + displayName = CSTRING(TurnOn); + icon = "\A3\Ui_f\data\IGUI\Cfg\VehicleToggles\LightsIconOn_ca.paa"; + condition = QUOTE(alive _target && !isCollisionLightOn _target); + statement = QUOTE([ARR_3(QQGVAR(setCollisionLight),[ARR_2(_target,true)],_target)] call CBA_fnc_targetEvent); + }; + class GVAR(TurnOff) { + displayName = CSTRING(TurnOff); + icon = "\A3\ui_f\data\igui\cfg\actions\ico_cpt_land_OFF_ca.paa"; + condition = QUOTE(alive _target && isCollisionLightOn _target); + statement = QUOTE([ARR_3(QQGVAR(setCollisionLight),[ARR_2(_target,false)],_target)] call CBA_fnc_targetEvent); + }; + }; + }; }; class RoadCone_F: ThingX { diff --git a/addons/interaction/XEH_PREP.hpp b/addons/interaction/XEH_PREP.hpp index 1a70de8831..06dd7acbe0 100644 --- a/addons/interaction/XEH_PREP.hpp +++ b/addons/interaction/XEH_PREP.hpp @@ -42,4 +42,5 @@ PREP(openDoor); PREP(canPush); PREP(push); +PREP(canFlip); PREP(switchLamp); diff --git a/addons/interaction/XEH_postInit.sqf b/addons/interaction/XEH_postInit.sqf index 5d2b49f9b1..3604f94511 100644 --- a/addons/interaction/XEH_postInit.sqf +++ b/addons/interaction/XEH_postInit.sqf @@ -28,6 +28,18 @@ ACE_Modifier = 0; {_lamp setHit [_x select 0, (_x select 1) max _disabledLampDMG];nil} count _hitPointsDamage; }] call CBA_fnc_addEventHandler; + +[QGVAR(flip), { + params ["_vehicle"]; + private _position = getPosATL _vehicle; + _vehicle setVectorUp surfaceNormal _position; + _vehicle setPosATL _position; +}] call CBA_fnc_addEventHandler; + +[QGVAR(setCollisionLight), { + (_this select 0) setCollisionLight (_this select 1); +}] call CBA_fnc_addEventHandler; + // Zeus action events [QGVAR(zeusStance),{ { _x setUnitPos (_this select 0); } forEach (_this select 1); @@ -116,3 +128,21 @@ GVAR(isOpeningDoor) = false; }]; }; }] call CBA_fnc_addEventHandler; + + +// to make "Camping Lantern (Off)" be turned on we replace it with "Camping Lantern" +private _action = [ + QGVAR(TurnOn), + localize LSTRING(TurnOn), + "\A3\Ui_f\data\IGUI\Cfg\VehicleToggles\LightsIconOn_ca.paa", + { + private _position = getPosATL _target; + private _vectorDirAndUp = [vectorDir _target, vectorUp _target]; + deleteVehicle _target; + private _newLamp = "Land_Camping_Light_F" createVehicle [0,0,0]; + _newLamp setPosATL _position; + _newLamp setVectorDirAndUp _vectorDirAndUp; + }, + {alive _target} +] call EFUNC(interact_menu,createAction); +["Land_Camping_Light_off_F", 0, ["ACE_MainActions"], _action] call EFUNC(interact_menu,addActionToClass); diff --git a/addons/interaction/functions/fnc_canFlip.sqf b/addons/interaction/functions/fnc_canFlip.sqf new file mode 100644 index 0000000000..70c004920c --- /dev/null +++ b/addons/interaction/functions/fnc_canFlip.sqf @@ -0,0 +1,25 @@ +/* + * Author: Dystopian + * Checks if vehicle can be flipped. + * + * Arguments: + * 0: Vehicle + * + * Return Value: + * Can Flip + * + * Example: + * [cursorObject] call ace_interaction_fnc_canFlip + * + * Public: No + */ +#include "script_component.hpp" + +params ["_vehicle"]; + +// most suitable mass for all vanilla, CUP and RHS statics ATM (ZU-23 suits, D-30 and M119 don't suit) +#define FLIP_MAX_STATICWEAPON_MASS 2000 + +1 < (vectorUp _vehicle) vectorDistance (surfaceNormal getPosATL _vehicle) +&& {0 == {alive _x} count crew _vehicle || {isAutonomous _vehicle}} +&& {getMass _vehicle <= FLIP_MAX_STATICWEAPON_MASS} diff --git a/addons/interaction/functions/fnc_getVehiclePos.sqf b/addons/interaction/functions/fnc_getVehiclePos.sqf index ebcb856267..6d32519bd5 100644 --- a/addons/interaction/functions/fnc_getVehiclePos.sqf +++ b/addons/interaction/functions/fnc_getVehiclePos.sqf @@ -26,9 +26,10 @@ private _relPos = _target worldToModelVisual ASLToAGL _cameraPosASL; #endif _relPos params ["_dx", "_dy", "_dz"]; -private _ndx = (abs _dx) / ((abs (_bbx)) - 1); -private _ndy = (abs _dy) / ((abs (_bbY)) - 1); -private _ndz = (abs _dz) / ((abs (_bbZ)) - 1); +private _ndx = (abs _dx) / (((abs (_bbX)) - 1) max 1); +private _ndy = (abs _dy) / (((abs (_bbY)) - 1) max 1); +private _ndz = (abs _dz) / (((abs (_bbZ)) - 1) max 1); + private _pos = []; if (_ndx > _ndy) then { diff --git a/addons/interaction/functions/fnc_getVehiclePosComplex.sqf b/addons/interaction/functions/fnc_getVehiclePosComplex.sqf index bfb9fef803..be22134ffa 100644 --- a/addons/interaction/functions/fnc_getVehiclePosComplex.sqf +++ b/addons/interaction/functions/fnc_getVehiclePosComplex.sqf @@ -29,9 +29,9 @@ if (isNumber (_config >> QGVAR(bodyLength))) then {_bbY = getNumber (_config >> private _relPos = _target worldToModelVisual ASLToAGL _cameraPosASL; _relPos params ["_dx", "_dy", "_dz"]; -private _ndx = (abs _dx) / ((abs (_bbx)) - 1); -private _ndy = (abs _dy) / ((abs (_bbY)) - 1); -private _ndz = (abs _dz) / ((abs (_bbZ)) - 1); +private _ndx = (abs _dx) / (((abs (_bbX)) - 1) max 1); +private _ndy = (abs _dy) / (((abs (_bbY)) - 1) max 1); +private _ndz = (abs _dz) / (((abs (_bbZ)) - 1) max 1); private _pos = []; diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index 08081daaca..0d37a023ac 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -229,7 +229,7 @@ Zárt ajtó Zablokowano drzwi Zamčené dveře - ドアの鍵をしめた + ドアの鍵をしめました 잠긴 문 门已上锁 門已上鎖 @@ -245,7 +245,7 @@ Nyitott ajtó Odblokowano drzwi Odemčené dveře - ドアの鍵をあけた + ドアの鍵をあけました 열린 문 门未上锁 門未上鎖 @@ -389,7 +389,7 @@ Вас похлопали по ПРАВОМУ плечу Você foi tocado no ombro Ti è stato dato un colpetto sulla spalla destra - 右肩を叩かれた + 右肩を叩かれました 누군가 오른쪽 어깨를 쳤다 你的右肩膀被轻拍了一下 你的右肩膀被輕拍了一下 @@ -405,7 +405,7 @@ Вас похлопали по ЛЕВОМУ плечу Você foi tocado no ombro. Ti è stato dato un colpetto sulla spalla sinistra - 左肩を叩かれた + 左肩を叩かれました 누군가 왼쪽 어깨를 쳤다 你的左肩膀被轻拍了一下 你的左肩膀被輕拍了一下 @@ -707,7 +707,7 @@ Você uniu-se à Equipe %1 Sei entrato nel team %1 Csatlakoztál a %1 csapathoz - チーム %1 に入った + チーム %1 に入りました 당신은 %1팀에 참여했습니다 你已加入%1组 你已加入%1組 @@ -739,7 +739,7 @@ Você deixou a Equipe Hai lasciato il team Elhagytad a csapatot - チームを抜けた + チームを抜けました 팀을 나갔습니다 你已离开小队 你已離開小隊 @@ -832,7 +832,7 @@ Pchnij Tlačit Tolás - Толкать + Толкнуть Empurrar Spingere 押す @@ -840,6 +840,11 @@ + + Flip + Перевернуть + ひっくり返す + Interact Interagir @@ -948,7 +953,7 @@ Should players receive negative rating? When enabled players are only receiving positive ratings which prevents friendly AI fire when destroying friendly equipment or killing team members. Sollen Spieler negative Bewertungen erhalten dürfen? Wenn diese Option aktiviert ist, erhalten Spieler nur positive Bewertungen, was Freundbeschuss durch KI verhindert, wenn befreundete Ausrüstung zerstört oder befreundete Einheiten von Spielern des selben Teams getötet werden. - 否定評価を受けますか?有効化した場合プレイヤーは肯定評価のみを受け、友軍の装備を壊したり殺害をしてもAIからの攻撃を防ぎます。 + 否定評価を受けますか?有効化した場合プレイヤーは肯定評価のみを受け、友軍の装備を壊したり殺害をしても AI からの攻撃を防ぎます。 I giocatori dovrebbero ricevere delle valutazioni negative ? Quando è abilitato i giocatori ricevono esclusivamente valutazioni positive che prevengono il fuoco delle AI alleate quando distruggono equipaggiamenti o uccidono membri della squadra. 玩家是否會收到負面評價? 當本功能開啟時玩家只會接收到正面評價,所以當玩家做出擊殺友軍AI、毀壞友軍裝備或殺害小隊夥伴都不會收到負面評價。 玩家是否会收到负面评价? 当本功能开启时玩家只会接收到正面评价,所以当玩家做出击杀友军AI、毁坏友军装备或杀害小队伙伴都不会收到负面评价。 @@ -1081,6 +1086,8 @@ 身体を引き出す Estrai il corpo 시체 끌기 + 拿出屍體 + 拿出尸体 diff --git a/addons/javelin/CfgVehicles.hpp b/addons/javelin/CfgVehicles.hpp index 790b802230..cd9f23607b 100644 --- a/addons/javelin/CfgVehicles.hpp +++ b/addons/javelin/CfgVehicles.hpp @@ -65,4 +65,22 @@ class CfgVehicles { }; }; }; + class Car; + class Car_F: Car { + class Turrets { + class MainTurret; + }; + }; + class LSV_01_base_F: Car_F { + class Turrets: Turrets {}; + }; + class LSV_01_AT_base_F: LSV_01_base_F { // Prowler / Polaris DAGOR + class Turrets: Turrets { + class TopTurret: MainTurret { + weapons[] = { QGVAR(Titan_Static) }; + turretInfoType = "ACE_RscOptics_javelin"; + gunnerOpticsModel = QPATHTOF(data\reticle_titan.p3d); + }; + }; + }; }; diff --git a/addons/javelin/CfgWeapons.hpp b/addons/javelin/CfgWeapons.hpp index e8e5d382b2..b277b6364e 100644 --- a/addons/javelin/CfgWeapons.hpp +++ b/addons/javelin/CfgWeapons.hpp @@ -1,18 +1,8 @@ class CfgWeapons { - class Launcher; - class MissileLauncher; - - class Launcher_Base_F: Launcher { - class WeaponSlotsInfo; - }; - - // @TODO: AA by default, motherfuckers - class missiles_titan: MissileLauncher { - - }; - - class missiles_titan_at: missiles_titan { }; - class GVAR(Titan_Static): missiles_titan_at { + + class missiles_titan_static; + class GVAR(Titan_Static): missiles_titan_static { + modes[] = {"Player"}; GVAR(enabled) = 1; weaponInfoType = "ACE_RscOptics_javelin"; modelOptics = QPATHTOF(data\reticle_titan.p3d); @@ -23,11 +13,7 @@ class CfgWeapons { lockedTargetSound[] = {"",0,1}; }; - // @TODO: AA by default, motherfuckers - class launch_Titan_base: Launcher_Base_F {}; - - class launch_Titan_short_base: launch_Titan_base { }; - + class launch_Titan_short_base; class launch_B_Titan_short_F: launch_Titan_short_base { GVAR(enabled) = 1; weaponInfoType = "ACE_RscOptics_javelin"; diff --git a/addons/logistics_wirecutter/script_component.hpp b/addons/logistics_wirecutter/script_component.hpp index 69711d289b..74494a6aa4 100644 --- a/addons/logistics_wirecutter/script_component.hpp +++ b/addons/logistics_wirecutter/script_component.hpp @@ -18,6 +18,15 @@ //find is case sensitive, so keep everything lowercase -#define FENCE_P3DS ["mil_wiredfence_f.p3d","wall_indfnc_3.p3d", "wall_indfnc_9.p3d", "wall_indfnc_corner.p3d", "pletivo_wired.p3d", "wall_fen1_5.p3d", "net_fence_8m_f.p3d"] +#define FENCE_P3DS [\ + "mil_wiredfence_f.p3d",\ + "wall_indfnc_3.p3d",\ + "wall_indfnc_9.p3d",\ + "wall_indfnc_corner.p3d",\ + "pletivo_wired.p3d",\ + "wall_fen1_5.p3d",\ + "net_fence_8m_f.p3d",\ + "razorwire_f.p3d"\ +] #define SOUND_CLIP_TIME_SPACEING 1.5 diff --git a/addons/logistics_wirecutter/stringtable.xml b/addons/logistics_wirecutter/stringtable.xml index 62b7ef77d2..dd4ce0dd2e 100644 --- a/addons/logistics_wirecutter/stringtable.xml +++ b/addons/logistics_wirecutter/stringtable.xml @@ -76,7 +76,7 @@ Fatto! Drótkerítés átvágva Забор разрезан - フェンスを切断した + フェンスを切断しました 절단됨 护栏已被剪断 護欄已被剪斷 diff --git a/addons/magazinerepack/stringtable.xml b/addons/magazinerepack/stringtable.xml index 2ae06d02e1..74bd413b49 100644 --- a/addons/magazinerepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -63,7 +63,7 @@ Reorganizando Carregadores... Újratárazás... Перепаковка магазинов... - 弾倉を詰め替え中・・・ + 弾倉を詰め替えしています・・・ 다시 채우는중... 重新整理弹匣中 ... 重新整理彈匣中 ... @@ -79,7 +79,7 @@ %1 carregador(es) cheio(s) e %2 disparo(s) a mais %1 teljes tár és %2 extra lőszer %1 полных магазина(ов) и %2 патрона(ов) - %1 個の満杯な弾倉とあふれた %2 発の弾薬 + %1 個の満杯の弾倉とあふれた %2 発の弾薬 %1개의 꽉찬 탄창과 %2발의 총알이 남았다 %1个满的弹匣与%2发额外子弹 %1個滿的彈匣與%2發額外子彈 @@ -95,7 +95,7 @@ Újratárazás befejezve Caricatori Riempiti Reorganização Terminada - 詰め替えが完了 + 詰め替えが完了しました 탄창 채우기 끝남 重整完成 重整完成 @@ -111,7 +111,7 @@ Újratárazás megszakítva Riempimento Interrotto Reorganização Interrompida - 詰め替えを中断した + 詰め替えを中断しました 탄창 채우기 방해받음 重整被中断 重整被中斷 diff --git a/addons/main/config.cpp b/addons/main/config.cpp index e04f573e62..1d02625747 100644 --- a/addons/main/config.cpp +++ b/addons/main/config.cpp @@ -7,878 +7,7 @@ class CfgPatches { weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = { - "A3_Data_F_Loadorder", - "A3_Data_F_Curator_Loadorder", - "A3_Data_F_Kart_Loadorder", - "A3_Data_F_Bootcamp_Loadorder", - "A3_Data_F_Heli_Loadorder", - "A3_Data_F_Mark_Loadorder", - "A3_Data_F_Exp_A_Loadorder", - "A3_Data_F_Exp_B_Loadorder", - "A3_Data_F_Exp_Loadorder", - "A3_Data_F_Jets_Loadorder", - "A3_Data_F_Argo_Loadorder", - "A3_Data_F_Patrol_Loadorder", - "A3_Data_F_Orange_Loadorder", - - // Vanilla - "a3_3den", - "a3_3den_language", - "a3_air_f", - "a3_air_f_beta", - "a3_air_f_beta_heli_attack_01", - "a3_air_f_beta_heli_attack_02", - "a3_air_f_beta_heli_transport_01", - "a3_air_f_beta_heli_transport_02", - "a3_air_f_beta_parachute_01", - "a3_air_f_beta_parachute_02", - "a3_air_f_epb", - "a3_air_f_epb_heli_light_03", - "a3_air_f_epc", - "a3_air_f_epc_plane_cas_01", - "a3_air_f_epc_plane_cas_02", - "a3_air_f_epc_plane_fighter_03", - "a3_air_f_exp", - "a3_air_f_exp_heli_light_01", - "a3_air_f_exp_heli_transport_01", - "a3_air_f_exp_plane_civil_01", - "a3_air_f_exp_uav_03", - "a3_air_f_exp_uav_04", - "a3_air_f_exp_vtol_01", - "a3_air_f_exp_vtol_02", - "a3_air_f_gamma", - "a3_air_f_gamma_plane_fighter_03", - "a3_air_f_gamma_uav_01", - "a3_air_f_gamma_uav_02", - "a3_air_f_heli", - "a3_air_f_heli_heli_attack_01", - "a3_air_f_heli_heli_attack_02", - "a3_air_f_heli_heli_light_01", - "a3_air_f_heli_heli_light_02", - "a3_air_f_heli_heli_light_03", - "a3_air_f_heli_heli_transport_01", - "a3_air_f_heli_heli_transport_02", - "a3_air_f_heli_heli_transport_03", - "a3_air_f_heli_heli_transport_04", - "a3_air_f_heli_light_01", - "a3_air_f_heli_light_02", - "a3_animals_f", - "a3_animals_f_animconfig", - "a3_animals_f_beta", - "a3_animals_f_beta_chicken", - "a3_animals_f_beta_dog", - "a3_animals_f_beta_goat", - "a3_animals_f_beta_sheep", - "a3_animals_f_chicken", - "a3_animals_f_dog", - "a3_animals_f_fishes", - "a3_animals_f_goat", - "a3_animals_f_kestrel", - "a3_animals_f_rabbit", - "a3_animals_f_seagull", - "a3_animals_f_sheep", - "a3_animals_f_snakes", - "a3_animals_f_turtle", - "a3_anims_f", - "a3_anims_f_bootcamp", - "a3_anims_f_config_sdr", - "a3_anims_f_config_sdr_weaponswitching", - "a3_anims_f_data", - "a3_anims_f_epa", - "a3_anims_f_epc", - "a3_anims_f_exp", - "a3_anims_f_exp_a", - "a3_anims_f_exp_revive", - "a3_anims_f_heli", - "a3_anims_f_kart", - "a3_anims_f_mark", - "a3_anims_f_mark_deployment", - "a3_armor_f", - "a3_armor_f_amv", - "a3_armor_f_apc_wheeled_03", - "a3_armor_f_beta", - "a3_armor_f_beta_apc_tracked_01", - "a3_armor_f_beta_apc_tracked_02", - "a3_armor_f_beta_apc_wheeled_01", - "a3_armor_f_beta_apc_wheeled_02", - "a3_armor_f_epb", - "a3_armor_f_epb_apc_tracked_03", - "a3_armor_f_epb_mbt_03", - "a3_armor_f_epc", - "a3_armor_f_epc_mbt_01", - "a3_armor_f_exp", - "a3_armor_f_exp_apc_tracked_02", - "a3_armor_f_exp_apc_wheeled_02", - "a3_armor_f_exp_mbt_02", - "a3_armor_f_gamma", - "a3_armor_f_gamma_apc_wheeled_03", - "a3_armor_f_gamma_mbt_01", - "a3_armor_f_gamma_mbt_02", - "a3_armor_f_marid", - "a3_armor_f_panther", - "a3_armor_f_slammer", - "a3_armor_f_t100k", - "a3_baseconfig_f", - "a3_boat_f", - "a3_boat_f_beta", - "a3_boat_f_beta_boat_armed_01", - "a3_boat_f_beta_boat_transport_01", - "a3_boat_f_beta_sdv_01", - "a3_boat_f_boat_armed_01", - "a3_boat_f_boat_transport_01", - "a3_boat_f_civilian_boat", - "a3_boat_f_epc", - "a3_boat_f_epc_submarine_01", - "a3_boat_f_epc_submarine_01_f", - "a3_boat_f_exp", - "a3_boat_f_exp_boat_transport_01", - "a3_boat_f_exp_boat_transport_02", - "a3_boat_f_exp_scooter_transport_01", - "a3_boat_f_gamma", - "a3_boat_f_gamma_boat_civil_01", - "a3_boat_f_gamma_boat_civil_04", - "a3_boat_f_gamma_boat_transport_01", - "a3_boat_f_heli", - "a3_boat_f_heli_boat_armed_01", - "a3_boat_f_heli_sdv_01", - "a3_boat_f_sdv_01", - "a3_boat_f_trawler", - "a3_cargoposes_f", - "a3_cargoposes_f_exp", - "a3_cargoposes_f_heli", - "a3_characters_f", - "a3_characters_f_beta", - "a3_characters_f_beta_indep", - "a3_characters_f_blufor", - "a3_characters_f_bootcamp", - "a3_characters_f_bootcamp_common", - "a3_characters_f_civil", - "a3_characters_f_common", - "a3_characters_f_epa", - "a3_characters_f_epb", - "a3_characters_f_epb_heads", - "a3_characters_f_epc", - "a3_characters_f_exp", - "a3_characters_f_exp_civil", - "a3_characters_f_exp_headgear", - "a3_characters_f_exp_vests", - "a3_characters_f_gamma", - "a3_characters_f_heads", - "a3_characters_f_indep", - "a3_characters_f_kart", - "a3_characters_f_mark", - "a3_characters_f_opfor", - "a3_characters_f_proxies", - "a3_data_f", - "a3_data_f_bootcamp", - "a3_data_f_curator", - "a3_data_f_curator_characters", - "a3_data_f_curator_eagle", - "a3_data_f_curator_intel", - "a3_data_f_curator_misc", - "a3_data_f_curator_respawn", - "a3_data_f_curator_virtual", - "a3_data_f_exp", - "a3_data_f_exp_a", - "a3_data_f_exp_a_virtual", - "a3_data_f_exp_b", - "a3_data_f_exp_particleeffects", - "a3_data_f_heli", - "a3_data_f_hook", - "a3_data_f_kart", - "a3_data_f_kart_particleeffects", - "a3_data_f_mark", - "a3_data_f_particleeffects", - "a3_drones_f", - "a3_drones_f_air_f_gamma_uav_01", - "a3_drones_f_air_f_gamma_uav_02", - "a3_drones_f_characters_f_gamma", - "a3_drones_f_soft_f_gamma_ugv_01", - "a3_drones_f_weapons_f_gamma_ammoboxes", - "a3_drones_f_weapons_f_gamma_items", - "a3_dubbing_f", - "a3_dubbing_f_beta", - "a3_dubbing_f_bootcamp", - "a3_dubbing_f_epa", - "a3_dubbing_f_epb", - "a3_dubbing_f_epc", - "a3_dubbing_f_exp", - "a3_dubbing_f_gamma", - "a3_dubbing_f_heli", - "a3_dubbing_f_mark", - "a3_dubbing_f_mp_mark", - "a3_dubbing_radio_f", - "a3_dubbing_radio_f_data_eng", - "a3_dubbing_radio_f_data_engb", - "a3_dubbing_radio_f_data_gre", - "a3_dubbing_radio_f_data_per", - "a3_dubbing_radio_f_data_vr", - "a3_dubbing_radio_f_exp", - "a3_dubbing_radio_f_exp_data_chi", - "a3_dubbing_radio_f_exp_data_engfre", - "a3_dubbing_radio_f_exp_data_fre", - "a3_editor_f", - "a3_editorpreviews_f", - "a3_editorpreviews_f_exp", - "a3_functions_f", - "a3_functions_f_bootcamp", - "a3_functions_f_curator", - "a3_functions_f_epa", - "a3_functions_f_epc", - "a3_functions_f_exp", - "a3_functions_f_exp_a", - "a3_functions_f_heli", - "a3_functions_f_mark", - "a3_functions_f_mp_mark", - "a3_language_f", - "a3_language_f_beta", - "a3_language_f_bootcamp", - "a3_language_f_curator", - "a3_language_f_epa", - "a3_language_f_epb", - "a3_language_f_epc", - "a3_language_f_exp", - "a3_language_f_exp_a", - "a3_language_f_exp_b", - "a3_language_f_gamma", - "a3_language_f_heli", - "a3_language_f_kart", - "a3_language_f_mark", - "a3_language_f_mp_mark", - "a3_languagemissions_f", - "a3_languagemissions_f_beta", - "a3_languagemissions_f_bootcamp", - "a3_languagemissions_f_epa", - "a3_languagemissions_f_epb", - "a3_languagemissions_f_epc", - "a3_languagemissions_f_exp", - "a3_languagemissions_f_exp_a", - "a3_languagemissions_f_gamma", - "a3_languagemissions_f_heli", - "a3_languagemissions_f_kart", - "a3_languagemissions_f_mark", - "a3_languagemissions_f_mp_mark", - "a3_map_altis", - "a3_map_altis_data", - "a3_map_altis_data_layers", - "a3_map_altis_scenes", - "a3_map_altis_scenes_f", - "a3_map_data", - "a3_map_stratis", - "a3_map_stratis_data", - "a3_map_stratis_data_layers", - "a3_map_stratis_scenes", - "a3_map_stratis_scenes_f", - "a3_map_vr", - "a3_map_vr_scenes", - "a3_map_vr_scenes_f", - "a3_misc_f", - "a3_misc_f_helpers", - "a3_missions_f", - "a3_missions_f_beta", - "a3_missions_f_beta_data", - "a3_missions_f_beta_video", - "a3_missions_f_bootcamp", - "a3_missions_f_bootcamp_data", - "a3_missions_f_bootcamp_video", - "a3_missions_f_curator", - "a3_missions_f_data", - "a3_missions_f_epa", - "a3_missions_f_epa_data", - "a3_missions_f_epa_video", - "a3_missions_f_epb", - "a3_missions_f_epc", - "a3_missions_f_exp", - "a3_missions_f_exp_a", - "a3_missions_f_exp_a_data", - "a3_missions_f_exp_data", - "a3_missions_f_exp_video", - "a3_missions_f_gamma", - "a3_missions_f_gamma_data", - "a3_missions_f_gamma_video", - "a3_missions_f_heli", - "a3_missions_f_heli_data", - "a3_missions_f_heli_video", - "a3_missions_f_kart", - "a3_missions_f_kart_data", - "a3_missions_f_mark", - "a3_missions_f_mark_data", - "a3_missions_f_mark_video", - "a3_missions_f_mp_mark", - "a3_missions_f_mp_mark_data", - "a3_missions_f_video", - "a3_modules_f", - "a3_modules_f_beta", - "a3_modules_f_beta_data", - "a3_modules_f_beta_firingdrills", - "a3_modules_f_bootcamp", - "a3_modules_f_bootcamp_misc", - "a3_modules_f_curator", - "a3_modules_f_curator_animals", - "a3_modules_f_curator_cas", - "a3_modules_f_curator_chemlights", - "a3_modules_f_curator_curator", - "a3_modules_f_curator_effects", - "a3_modules_f_curator_environment", - "a3_modules_f_curator_flares", - "a3_modules_f_curator_intel", - "a3_modules_f_curator_lightning", - "a3_modules_f_curator_mines", - "a3_modules_f_curator_misc", - "a3_modules_f_curator_multiplayer", - "a3_modules_f_curator_objectives", - "a3_modules_f_curator_ordnance", - "a3_modules_f_curator_respawn", - "a3_modules_f_curator_smokeshells", - "a3_modules_f_data", - "a3_modules_f_dyno", - "a3_modules_f_effects", - "a3_modules_f_epb", - "a3_modules_f_epb_misc", - "a3_modules_f_events", - "a3_modules_f_exp", - "a3_modules_f_exp_a", - "a3_modules_f_groupmodifiers", - "a3_modules_f_hc", - "a3_modules_f_heli", - "a3_modules_f_heli_misc", - "a3_modules_f_heli_spawnai", - "a3_modules_f_intel", - "a3_modules_f_kart", - "a3_modules_f_kart_data", - "a3_modules_f_kart_timetrials", - "a3_modules_f_livefeed", - "a3_modules_f_mark", - "a3_modules_f_mark_firingdrills", - "a3_modules_f_mark_objectives", - "a3_modules_f_marta", - "a3_modules_f_misc", - "a3_modules_f_mp_mark", - "a3_modules_f_mp_mark_objectives", - "a3_modules_f_multiplayer", - "a3_modules_f_objectmodifiers", - "a3_modules_f_sites", - "a3_modules_f_skirmish", - "a3_modules_f_strategicmap", - "a3_modules_f_supports", - "a3_modules_f_uav", - "a3_music_f", - "a3_music_f_bootcamp", - "a3_music_f_bootcamp_music", - "a3_music_f_epa", - "a3_music_f_epa_music", - "a3_music_f_epb", - "a3_music_f_epb_music", - "a3_music_f_epc", - "a3_music_f_epc_music", - "a3_music_f_exp", - "a3_music_f_exp_music", - "a3_music_f_heli", - "a3_music_f_heli_music", - "a3_music_f_mark", - "a3_music_f_mark_music", - "a3_music_f_music", - "a3_plants_f", - "a3_plants_f_bush", - "a3_props_f_exp", - "a3_props_f_exp_a", - "a3_props_f_exp_a_military", - "a3_props_f_exp_a_military_equipment", - "a3_props_f_exp_civilian", - "a3_props_f_exp_civilian_garbage", - "a3_props_f_exp_commercial", - "a3_props_f_exp_commercial_market", - "a3_props_f_exp_industrial", - "a3_props_f_exp_industrial_heavyequipment", - "a3_props_f_exp_infrastructure", - "a3_props_f_exp_infrastructure_railways", - "a3_props_f_exp_infrastructure_traffic", - "a3_props_f_exp_military", - "a3_props_f_exp_military_camps", - "a3_props_f_exp_military_oldplanewrecks", - "a3_props_f_exp_naval", - "a3_props_f_exp_naval_boats", - "a3_roads_f", - "a3_rocks_f", - "a3_rocks_f_blunt", - "a3_rocks_f_sharp", - "a3_rocks_f_water", - "a3_signs_f", - "a3_signs_f_ad", - "a3_signs_f_signs_ad", - "a3_soft_f", - "a3_soft_f_beta", - "a3_soft_f_beta_mrap_03", - "a3_soft_f_beta_quadbike", - "a3_soft_f_beta_quadbike_01", - "a3_soft_f_beta_truck_01", - "a3_soft_f_beta_truck_02", - "a3_soft_f_bootcamp", - "a3_soft_f_bootcamp_offroad_01", - "a3_soft_f_bootcamp_quadbike", - "a3_soft_f_bootcamp_quadbike_01", - "a3_soft_f_bootcamp_truck", - "a3_soft_f_bootcamp_van_01", - "a3_soft_f_car", - "a3_soft_f_crusher_ugv", - "a3_soft_f_epc", - "a3_soft_f_epc_truck_03", - "a3_soft_f_exp", - "a3_soft_f_exp_lsv_01", - "a3_soft_f_exp_lsv_02", - "a3_soft_f_exp_mrap_02", - "a3_soft_f_exp_offroad_01", - "a3_soft_f_exp_offroad_02", - "a3_soft_f_exp_quadbike_01", - "a3_soft_f_exp_truck_03", - "a3_soft_f_exp_ugv_01", - "a3_soft_f_exp_van_01", - "a3_soft_f_gamma", - "a3_soft_f_gamma_hatchback_01", - "a3_soft_f_gamma_hemtt", - "a3_soft_f_gamma_offroad", - "a3_soft_f_gamma_offroad_01", - "a3_soft_f_gamma_quadbike", - "a3_soft_f_gamma_quadbike_01", - "a3_soft_f_gamma_suv_01", - "a3_soft_f_gamma_truck_01", - "a3_soft_f_gamma_truck_02", - "a3_soft_f_gamma_truckheavy", - "a3_soft_f_gamma_van_01", - "a3_soft_f_heli", - "a3_soft_f_heli_car", - "a3_soft_f_heli_crusher_ugv", - "a3_soft_f_heli_hatchback_01", - "a3_soft_f_heli_mrap_01", - "a3_soft_f_heli_mrap_02", - "a3_soft_f_heli_mrap_03", - "a3_soft_f_heli_quadbike", - "a3_soft_f_heli_quadbike_01", - "a3_soft_f_heli_suv", - "a3_soft_f_heli_suv_01", - "a3_soft_f_heli_truck", - "a3_soft_f_heli_ugv_01", - "a3_soft_f_heli_van_01", - "a3_soft_f_hemtt", - "a3_soft_f_kart", - "a3_soft_f_kart_kart_01", - "a3_soft_f_mrap_01", - "a3_soft_f_mrap_02", - "a3_soft_f_mrap_03", - "a3_soft_f_offroad_01", - "a3_soft_f_quadbike", - "a3_soft_f_quadbike_01", - "a3_soft_f_suv", - "a3_soft_f_truck", - "a3_soft_f_truckheavy", - "a3_sounds_f", - "a3_sounds_f_arsenal", - "a3_sounds_f_bootcamp", - "a3_sounds_f_characters", - "a3_sounds_f_environment", - "a3_sounds_f_epb", - "a3_sounds_f_epc", - "a3_sounds_f_exp", - "a3_sounds_f_exp_a", - "a3_sounds_f_heli", - "a3_sounds_f_kart", - "a3_sounds_f_mark", - "a3_sounds_f_sfx", - "a3_sounds_f_vehicles", - "a3_static_f", - "a3_static_f_aa_01", - "a3_static_f_at_01", - "a3_static_f_beta", - "a3_static_f_beta_mortar_01", - "a3_static_f_exp", - "a3_static_f_gamma", - "a3_static_f_gamma_aa", - "a3_static_f_gamma_at", - "a3_static_f_gamma_mortar_01", - "a3_static_f_mark", - "a3_static_f_mark_designator_01", - "a3_static_f_mark_designator_02", - "a3_static_f_mortar_01", - "a3_structures_f", - "a3_structures_f_bootcamp", - "a3_structures_f_bootcamp_civ_camping", - "a3_structures_f_bootcamp_civ_sportsgrounds", - "a3_structures_f_bootcamp_ind_cargo", - "a3_structures_f_bootcamp_items_electronics", - "a3_structures_f_bootcamp_items_food", - "a3_structures_f_bootcamp_items_sport", - "a3_structures_f_bootcamp_system", - "a3_structures_f_bootcamp_training", - "a3_structures_f_bootcamp_vr_blocks", - "a3_structures_f_bootcamp_vr_coverobjects", - "a3_structures_f_bootcamp_vr_helpers", - "a3_structures_f_bridges", - "a3_structures_f_civ", - "a3_structures_f_civ_accessories", - "a3_structures_f_civ_ancient", - "a3_structures_f_civ_belltowers", - "a3_structures_f_civ_calvaries", - "a3_structures_f_civ_camping", - "a3_structures_f_civ_chapels", - "a3_structures_f_civ_constructions", - "a3_structures_f_civ_dead", - "a3_structures_f_civ_garbage", - "a3_structures_f_civ_graffiti", - "a3_structures_f_civ_infoboards", - "a3_structures_f_civ_kiosks", - "a3_structures_f_civ_lamps", - "a3_structures_f_civ_market", - "a3_structures_f_civ_offices", - "a3_structures_f_civ_pavements", - "a3_structures_f_civ_playground", - "a3_structures_f_civ_sportsgrounds", - "a3_structures_f_civ_statues", - "a3_structures_f_civ_tourism", - "a3_structures_f_data", - "a3_structures_f_dominants", - "a3_structures_f_dominants_amphitheater", - "a3_structures_f_dominants_castle", - "a3_structures_f_dominants_church", - "a3_structures_f_dominants_hospital", - "a3_structures_f_dominants_lighthouse", - "a3_structures_f_dominants_wip", - "a3_structures_f_epa", - "a3_structures_f_epa_civ_camping", - "a3_structures_f_epa_civ_constructions", - "a3_structures_f_epa_items_electronics", - "a3_structures_f_epa_items_food", - "a3_structures_f_epa_items_medical", - "a3_structures_f_epa_items_tools", - "a3_structures_f_epa_items_vessels", - "a3_structures_f_epa_mil_scrapyard", - "a3_structures_f_epa_walls", - "a3_structures_f_epb", - "a3_structures_f_epb_civ_accessories", - "a3_structures_f_epb_civ_camping", - "a3_structures_f_epb_civ_dead", - "a3_structures_f_epb_civ_garbage", - "a3_structures_f_epb_civ_graffiti", - "a3_structures_f_epb_civ_playground", - "a3_structures_f_epb_furniture", - "a3_structures_f_epb_items_documents", - "a3_structures_f_epb_items_luggage", - "a3_structures_f_epb_items_military", - "a3_structures_f_epb_items_vessels", - "a3_structures_f_epb_naval_fishing", - "a3_structures_f_epc", - "a3_structures_f_epc_civ_accessories", - "a3_structures_f_epc_civ_camping", - "a3_structures_f_epc_civ_garbage", - "a3_structures_f_epc_civ_infoboards", - "a3_structures_f_epc_civ_kiosks", - "a3_structures_f_epc_civ_playground", - "a3_structures_f_epc_civ_tourism", - "a3_structures_f_epc_dominants_ghosthotel", - "a3_structures_f_epc_dominants_stadium", - "a3_structures_f_epc_furniture", - "a3_structures_f_epc_items_documents", - "a3_structures_f_epc_items_electronics", - "a3_structures_f_epc_walls", - "a3_structures_f_exp_a", - "a3_structures_f_exp_a_vr_blocks", - "a3_structures_f_exp_a_vr_helpers", - "a3_structures_f_furniture", - "a3_structures_f_heli", - "a3_structures_f_heli_civ_accessories", - "a3_structures_f_heli_civ_constructions", - "a3_structures_f_heli_civ_garbage", - "a3_structures_f_heli_civ_market", - "a3_structures_f_heli_furniture", - "a3_structures_f_heli_ind_airport", - "a3_structures_f_heli_ind_cargo", - "a3_structures_f_heli_ind_machines", - "a3_structures_f_heli_items_airport", - "a3_structures_f_heli_items_electronics", - "a3_structures_f_heli_items_food", - "a3_structures_f_heli_items_luggage", - "a3_structures_f_heli_items_sport", - "a3_structures_f_heli_items_tools", - "a3_structures_f_heli_vr_helpers", - "a3_structures_f_households", - "a3_structures_f_households_addons", - "a3_structures_f_households_house_big01", - "a3_structures_f_households_house_big02", - "a3_structures_f_households_house_shop01", - "a3_structures_f_households_house_shop02", - "a3_structures_f_households_house_small01", - "a3_structures_f_households_house_small02", - "a3_structures_f_households_house_small03", - "a3_structures_f_households_slum", - "a3_structures_f_households_stone_big", - "a3_structures_f_households_stone_shed", - "a3_structures_f_households_stone_small", - "a3_structures_f_households_wip", - "a3_structures_f_ind", - "a3_structures_f_ind_airport", - "a3_structures_f_ind_cargo", - "a3_structures_f_ind_carservice", - "a3_structures_f_ind_concretemixingplant", - "a3_structures_f_ind_crane", - "a3_structures_f_ind_dieselpowerplant", - "a3_structures_f_ind_factory", - "a3_structures_f_ind_fuelstation", - "a3_structures_f_ind_fuelstation_small", - "a3_structures_f_ind_pipes", - "a3_structures_f_ind_powerlines", - "a3_structures_f_ind_reservoirtank", - "a3_structures_f_ind_shed", - "a3_structures_f_ind_solarpowerplant", - "a3_structures_f_ind_tank", - "a3_structures_f_ind_transmitter_tower", - "a3_structures_f_ind_wavepowerplant", - "a3_structures_f_ind_windmill", - "a3_structures_f_ind_windpowerplant", - "a3_structures_f_items", - "a3_structures_f_items_cans", - "a3_structures_f_items_documents", - "a3_structures_f_items_electronics", - "a3_structures_f_items_food", - "a3_structures_f_items_gadgets", - "a3_structures_f_items_luggage", - "a3_structures_f_items_medical", - "a3_structures_f_items_military", - "a3_structures_f_items_stationery", - "a3_structures_f_items_tools", - "a3_structures_f_items_valuables", - "a3_structures_f_items_vessels", - "a3_structures_f_kart", - "a3_structures_f_kart_civ_sportsgrounds", - "a3_structures_f_kart_mil_flags", - "a3_structures_f_kart_signs_companies", - "a3_structures_f_mark", - "a3_structures_f_mark_items_military", - "a3_structures_f_mark_items_sport", - "a3_structures_f_mark_mil_flags", - "a3_structures_f_mark_training", - "a3_structures_f_mark_vr_helpers", - "a3_structures_f_mark_vr_shapes", - "a3_structures_f_mark_vr_targets", - "a3_structures_f_mil", - "a3_structures_f_mil_bagbunker", - "a3_structures_f_mil_bagfence", - "a3_structures_f_mil_barracks", - "a3_structures_f_mil_bunker", - "a3_structures_f_mil_cargo", - "a3_structures_f_mil_flags", - "a3_structures_f_mil_fortification", - "a3_structures_f_mil_helipads", - "a3_structures_f_mil_offices", - "a3_structures_f_mil_radar", - "a3_structures_f_mil_scrapyard", - "a3_structures_f_mil_shelters", - "a3_structures_f_mil_tenthangar", - "a3_structures_f_naval", - "a3_structures_f_naval_buoys", - "a3_structures_f_naval_fishing", - "a3_structures_f_naval_piers", - "a3_structures_f_naval_rowboats", - "a3_structures_f_research", - "a3_structures_f_signs_companies", - "a3_structures_f_system", - "a3_structures_f_training", - "a3_structures_f_training_invisibletarget", - "a3_structures_f_walls", - "a3_structures_f_wrecks", - "a3_supplies_f_exp", - "a3_supplies_f_exp_ammoboxes", - "a3_supplies_f_heli", - "a3_supplies_f_heli_bladders", - "a3_supplies_f_heli_cargonets", - "a3_supplies_f_heli_fuel", - "a3_supplies_f_heli_slingload", - "a3_supplies_f_mark", - "a3_uav_f_characters_f_gamma", - "a3_uav_f_weapons_f_gamma_ammoboxes", - "a3_ui_f", - "a3_ui_f_bootcamp", - "a3_ui_f_curator", - "a3_ui_f_data", - "a3_ui_f_exp", - "a3_ui_f_exp_a", - "a3_ui_f_heli", - "a3_ui_f_kart", - "a3_ui_f_mark", - "a3_ui_f_mp_mark", - "a3_uifonts_f", - "a3_weapons_f", - "a3_weapons_f_aaf", - "a3_weapons_f_acc", - "a3_weapons_f_ammoboxes", - "a3_weapons_f_beta", - "a3_weapons_f_beta_acc", - "a3_weapons_f_beta_ammoboxes", - "a3_weapons_f_beta_ebr", - "a3_weapons_f_beta_longrangerifles_ebr", - "a3_weapons_f_beta_longrangerifles_gm6", - "a3_weapons_f_beta_longrangerifles_m320", - "a3_weapons_f_beta_rifles_khaybar", - "a3_weapons_f_beta_rifles_mx", - "a3_weapons_f_beta_rifles_trg20", - "a3_weapons_f_bootcamp", - "a3_weapons_f_bootcamp_ammoboxes", - "a3_weapons_f_bootcamp_longrangerifles_gm6", - "a3_weapons_f_bootcamp_longrangerifles_gm6_camo", - "a3_weapons_f_bootcamp_longrangerifles_m320", - "a3_weapons_f_bootcamp_longrangerifles_m320_camo", - "a3_weapons_f_csat", - "a3_weapons_f_dummyweapons", - "a3_weapons_f_ebr", - "a3_weapons_f_epa", - "a3_weapons_f_epa_acc", - "a3_weapons_f_epa_ammoboxes", - "a3_weapons_f_epa_ebr", - "a3_weapons_f_epa_longrangerifles_dmr_01", - "a3_weapons_f_epa_longrangerifles_gm6", - "a3_weapons_f_epa_rifles_mx", - "a3_weapons_f_epb", - "a3_weapons_f_epb_acc", - "a3_weapons_f_epb_ammoboxes", - "a3_weapons_f_epb_longrangerifles_gm3", - "a3_weapons_f_epb_longrangerifles_gm6", - "a3_weapons_f_epb_longrangerifles_m320", - "a3_weapons_f_epb_rifles_mx_black", - "a3_weapons_f_epc", - "a3_weapons_f_exp", - "a3_weapons_f_exp_launchers_rpg32", - "a3_weapons_f_exp_launchers_rpg7", - "a3_weapons_f_exp_launchers_titan", - "a3_weapons_f_exp_longrangerifles_dmr_07", - "a3_weapons_f_exp_machineguns_lmg_03", - "a3_weapons_f_exp_pistols_pistol_01", - "a3_weapons_f_exp_rifles_ak12", - "a3_weapons_f_exp_rifles_akm", - "a3_weapons_f_exp_rifles_aks", - "a3_weapons_f_exp_rifles_arx", - "a3_weapons_f_exp_rifles_ctar", - "a3_weapons_f_exp_rifles_ctars", - "a3_weapons_f_exp_rifles_spar_01", - "a3_weapons_f_exp_rifles_spar_02", - "a3_weapons_f_exp_rifles_spar_03", - "a3_weapons_f_exp_smgs_smg_05", - "a3_weapons_f_explosives", - "a3_weapons_f_fia", - "a3_weapons_f_gamma", - "a3_weapons_f_gamma_acc", - "a3_weapons_f_gamma_ammoboxes", - "a3_weapons_f_gamma_items", - "a3_weapons_f_gamma_longrangerifles_ebr", - "a3_weapons_f_gamma_rifles_mx", - "a3_weapons_f_headgear", - "a3_weapons_f_itemholders", - "a3_weapons_f_items", - "a3_weapons_f_kart", - "a3_weapons_f_kart_pistols_pistol_signal_f", - "a3_weapons_f_launchers_law", - "a3_weapons_f_launchers_nlaw", - "a3_weapons_f_launchers_rpg32", - "a3_weapons_f_launchers_titan", - "a3_weapons_f_longrangerifles_dmr_01", - "a3_weapons_f_longrangerifles_ebr", - "a3_weapons_f_longrangerifles_gm6", - "a3_weapons_f_longrangerifles_m320", - "a3_weapons_f_machineguns_m200", - "a3_weapons_f_machineguns_zafir", - "a3_weapons_f_mark", - "a3_weapons_f_mark_acc", - "a3_weapons_f_mark_ebr", - "a3_weapons_f_mark_longrangerifles_dmr_01", - "a3_weapons_f_mark_longrangerifles_dmr_02", - "a3_weapons_f_mark_longrangerifles_dmr_03", - "a3_weapons_f_mark_longrangerifles_dmr_04", - "a3_weapons_f_mark_longrangerifles_dmr_05", - "a3_weapons_f_mark_longrangerifles_dmr_06", - "a3_weapons_f_mark_longrangerifles_ebr", - "a3_weapons_f_mark_longrangerifles_gm6", - "a3_weapons_f_mark_longrangerifles_gm6_camo", - "a3_weapons_f_mark_longrangerifles_m320", - "a3_weapons_f_mark_longrangerifles_m320_camo", - "a3_weapons_f_mark_machineguns_m200", - "a3_weapons_f_mark_machineguns_mmg_01", - "a3_weapons_f_mark_machineguns_mmg_02", - "a3_weapons_f_mark_machineguns_zafir", - "a3_weapons_f_mark_rifles_khaybar", - "a3_weapons_f_mark_rifles_mk20", - "a3_weapons_f_mark_rifles_mx", - "a3_weapons_f_mark_rifles_sdar", - "a3_weapons_f_mark_rifles_trg20", - "a3_weapons_f_nato", - "a3_weapons_f_pistols_acpc2", - "a3_weapons_f_pistols_p07", - "a3_weapons_f_pistols_pdw2000", - "a3_weapons_f_pistols_pistol_heavy_01", - "a3_weapons_f_pistols_pistol_heavy_02", - "a3_weapons_f_pistols_rook40", - "a3_weapons_f_rifles_khaybar", - "a3_weapons_f_rifles_mk20", - "a3_weapons_f_rifles_mx", - "a3_weapons_f_rifles_mx_black", - "a3_weapons_f_rifles_sdar", - "a3_weapons_f_rifles_smg_02", - "a3_weapons_f_rifles_trg20", - "a3_weapons_f_rifles_vector", - "a3_weapons_f_smgs_pdw2000", - "a3_weapons_f_smgs_smg_01", - "a3_weapons_f_smgs_smg_02", - "a3_weapons_f_uniforms", - "a3_weapons_f_vests", - "curatoronly_air_f_beta_heli_attack_01", - "curatoronly_air_f_beta_heli_attack_02", - "curatoronly_air_f_gamma_uav_01", - "curatoronly_armor_f_amv", - "curatoronly_armor_f_beta_apc_tracked_02", - "curatoronly_armor_f_marid", - "curatoronly_armor_f_panther", - "curatoronly_armor_f_slammer", - "curatoronly_armor_f_t100k", - "curatoronly_boat_f_boat_armed_01", - "curatoronly_characters_f_blufor", - "curatoronly_characters_f_common", - "curatoronly_characters_f_opfor", - "curatoronly_modules_f_curator_animals", - "curatoronly_modules_f_curator_chemlights", - "curatoronly_modules_f_curator_effects", - "curatoronly_modules_f_curator_environment", - "curatoronly_modules_f_curator_flares", - "curatoronly_modules_f_curator_lightning", - "curatoronly_modules_f_curator_mines", - "curatoronly_modules_f_curator_objectives", - "curatoronly_modules_f_curator_ordnance", - "curatoronly_modules_f_curator_smokeshells", - "curatoronly_signs_f", - "curatoronly_soft_f_crusher_ugv", - "curatoronly_soft_f_mrap_01", - "curatoronly_soft_f_mrap_02", - "curatoronly_soft_f_quadbike", - "curatoronly_static_f_gamma", - "curatoronly_static_f_mortar_01", - "curatoronly_structures_f_civ_ancient", - "curatoronly_structures_f_civ_camping", - "curatoronly_structures_f_civ_garbage", - "curatoronly_structures_f_epa_civ_constructions", - "curatoronly_structures_f_epb_civ_dead", - "curatoronly_structures_f_ind_cargo", - "curatoronly_structures_f_ind_crane", - "curatoronly_structures_f_ind_reservoirtank", - "curatoronly_structures_f_ind_transmitter_tower", - "curatoronly_structures_f_items_vessels", - "curatoronly_structures_f_mil_bagbunker", - "curatoronly_structures_f_mil_bagfence", - "curatoronly_structures_f_mil_cargo", - "curatoronly_structures_f_mil_fortification", - "curatoronly_structures_f_mil_radar", - "curatoronly_structures_f_mil_shelters", - "curatoronly_structures_f_research", - "curatoronly_structures_f_walls", - "curatoronly_structures_f_wrecks", - "a3data", - "3den", - "map_vr", - + "A3_Data_F_Tank_Loadorder", // CBA "cba_ui", "cba_xeh", diff --git a/addons/main/script_mod.hpp b/addons/main/script_mod.hpp index 04785a35a6..d24e2f7d9f 100644 --- a/addons/main/script_mod.hpp +++ b/addons/main/script_mod.hpp @@ -9,8 +9,8 @@ #define VERSION_AR MAJOR,MINOR,PATCHLVL,BUILD // MINIMAL required version for the Mod. Components can specify others.. -#define REQUIRED_VERSION 1.78 -#define REQUIRED_CBA_VERSION {3,5,0} +#define REQUIRED_VERSION 1.82 +#define REQUIRED_CBA_VERSION {3,6,0} #ifdef COMPONENT_BEAUTIFIED #define COMPONENT_NAME QUOTE(ACE3 - COMPONENT_BEAUTIFIED) diff --git a/addons/main/script_version.hpp b/addons/main/script_version.hpp index 661e95a56d..4f432970c0 100644 --- a/addons/main/script_version.hpp +++ b/addons/main/script_version.hpp @@ -1,4 +1,4 @@ #define MAJOR 3 #define MINOR 12 -#define PATCHLVL 1 -#define BUILD 31 +#define PATCHLVL 2 +#define BUILD 33 diff --git a/addons/map/functions/fnc_determineMapLight.sqf b/addons/map/functions/fnc_determineMapLight.sqf index 3eaa39c6d8..55ca51fbd8 100644 --- a/addons/map/functions/fnc_determineMapLight.sqf +++ b/addons/map/functions/fnc_determineMapLight.sqf @@ -10,7 +10,7 @@ * 1: Color of the overlay * * Example: - * call ACE_map_fnc_determineMapLight + * [player] call ACE_map_fnc_determineMapLight * * Public: No */ diff --git a/addons/map/functions/fnc_simulateMapLight.sqf b/addons/map/functions/fnc_simulateMapLight.sqf index 94c0853b23..05eb15ba3e 100644 --- a/addons/map/functions/fnc_simulateMapLight.sqf +++ b/addons/map/functions/fnc_simulateMapLight.sqf @@ -47,7 +47,7 @@ _colourList sort false; private _maxColour = _colourList select 0; //ambient colour fill -_mapCtrl drawIcon [format["#(rgb,8,8,3)color(%1,%2,%3,1)", _r / _maxColour, _g / _maxColour, _b / _maxColour], [1,1,1,_colourAlpha], _mapCentre, _screenSize, _screenSize, 0, "", 0]; +_mapCtrl drawIcon ["#(rgb,8,8,3)color(1,1,1,1)", [_r / _maxColour, _g / _maxColour, _b / _maxColour, _colourAlpha], _mapCentre, _screenSize, _screenSize, 0, "", 0]; if (_flashlight == "") then { //ambient shade fill diff --git a/addons/map/initSettings.sqf b/addons/map/initSettings.sqf index 1a72c6c90b..ae0e31b0ae 100644 --- a/addons/map/initSettings.sqf +++ b/addons/map/initSettings.sqf @@ -57,7 +57,7 @@ QGVAR(BFT_Enabled), "CHECKBOX", [localize LSTRING(BFT_Enabled_DisplayName), localize LSTRING(BFT_Enabled_Description)], - format ["ACE %1", localize LSTRING(BFT_Module_DisplayName)], + [format ["ACE %1", localize LSTRING(Module_DisplayName)], localize LSTRING(BFT_Module_DisplayName)], false, true ] call CBA_settings_fnc_init; @@ -66,7 +66,7 @@ QGVAR(BFT_Interval), "SLIDER", [localize LSTRING(BFT_Interval_DisplayName), localize LSTRING(BFT_Interval_Description)], - format ["ACE %1", localize LSTRING(BFT_Module_DisplayName)], + [format ["ACE %1", localize LSTRING(Module_DisplayName)], localize LSTRING(BFT_Module_DisplayName)], [0, 30, 1, 1], true ] call CBA_settings_fnc_init; @@ -75,7 +75,7 @@ QGVAR(BFT_ShowPlayerNames), "CHECKBOX", [localize LSTRING(BFT_ShowPlayerNames_DisplayName), localize LSTRING(BFT_ShowPlayerNames_Description)], - format ["ACE %1", localize LSTRING(BFT_Module_DisplayName)], + [format ["ACE %1", localize LSTRING(Module_DisplayName)], localize LSTRING(BFT_Module_DisplayName)], false, true ] call CBA_settings_fnc_init; @@ -84,7 +84,7 @@ QGVAR(BFT_HideAiGroups), "CHECKBOX", [localize LSTRING(BFT_HideAiGroups_DisplayName), localize LSTRING(BFT_HideAiGroups_Description)], - format ["ACE %1", localize LSTRING(BFT_Module_DisplayName)], + [format ["ACE %1", localize LSTRING(Module_DisplayName)], localize LSTRING(BFT_Module_DisplayName)], false, true ] call CBA_settings_fnc_init; diff --git a/addons/maptools/stringtable.xml b/addons/maptools/stringtable.xml index c467da5f2a..75ec9be96b 100644 --- a/addons/maptools/stringtable.xml +++ b/addons/maptools/stringtable.xml @@ -214,7 +214,7 @@ Draw on the edge of maptools to draw straight lines. Note: Must hover at midpoint to delete. - マップ ツールの端から直線を書きます。メモ:線の中央ホバーすると削除します。 + マップ ツールの端から直線を書きます。メモ: 線の中央ホバーすると削除します。 Zeichne gerade Linien am Rand des Kartenwerkzeugs. Hinweis: zum Löschen über den Mittelpunkt der Linie fahren 독도용 도구 가장자리에 직선을 그립니다. 주의: 삭제하기 위해선 선의 중앙에 가져다 대십시요 Przeciągnij po krawędzi narzędzi nawigacyjnych by narysować prostą linię. Uwaga: aby usunąć linię - nalezy ustawić kursor nad jej środkiem. diff --git a/addons/markers/stringtable.xml b/addons/markers/stringtable.xml index b23462ba46..afcf9e1ba7 100644 --- a/addons/markers/stringtable.xml +++ b/addons/markers/stringtable.xml @@ -31,18 +31,24 @@ Erlaube Marker zu bewegen für 次ユーザーにマーカー移動を許可 마커 이동 허가 + 誰可以移動標誌 + 谁可以移动标志 Restricts which players are able to move markers while holding the Alt key. Beschränkt welche Spieler Marker mit gedrückter Alt-Taste bewegen können. どのプレイヤーが Alt キーを押しながらマーカー移動をさせられるか制限できます。 Alt 키를 누른 상태에서 마커를 움직일 수있는 플레이어를 제한합니다. + 設定誰可以透過按住Alt鍵來移動標誌。 + 设定谁可以透过按住Alt键来移动标志。 Nobody Niemand 不許可 비활성 + 沒有人 + 没有人 All players diff --git a/addons/maverick/stringtable.xml b/addons/maverick/stringtable.xml index 5233f7bf2f..13a462f1b6 100644 --- a/addons/maverick/stringtable.xml +++ b/addons/maverick/stringtable.xml @@ -51,12 +51,18 @@ Kh-25ML, Laser Guided Air-to-Ground-Missile Ch-25ML, Lasergelenkte Luft-Boden-Rakete Kh-25ML, 레이저 유도 대공 미사일 + Kh-25ML,雷射導引對地導彈 + Kh-25ML,雷射导引对地导弹 + Kh-25ML、レーザー誘導対地ミサイル 1x Kh-25ML [ACE] 1x Ch-25ML [ACE] 1x Х-25МЛ [ACE] 1x Kh-25ML [ACE] + 1x Kh-25ML [ACE] + 1x Kh-25ML [ACE] + 1x Kh-25ML [ACE] @@ -74,6 +80,9 @@ Ch-25ML Х-25МЛ Kh-25ML + Kh-25ML + Kh-25ML + Kh-25ML diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index 3ba1052ea1..ee393c37e7 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -32,6 +32,8 @@ class ACE_Settings { }; class GVAR(enableOverdosing) { category = CSTRING(Category_Medical); + displayName = CSTRING(MedicalSettings_enableOverdosing_DisplayName); + description = CSTRING(MedicalSettings_enableOverdosing_Description); typeName = "BOOL"; value = 1; }; @@ -134,11 +136,15 @@ class ACE_Settings { value = -1; sliderSettings[] = {-1, 25, -1, -1}; }; + + /* class GVAR(allowDeadBodyMovement) { category = CSTRING(Category_Medical); typeName = "BOOL"; value = 0; }; + */ + class GVAR(allowLitterCreation) { category = CSTRING(Category_Medical); displayName = CSTRING(MedicalSettings_allowLitterCreation_DisplayName); @@ -275,11 +281,15 @@ class ACE_Settings { }; class GVAR(allowUnconsciousAnimationOnTreatment) { category = CSTRING(Category_Medical); + displayName = CSTRING(MedicalSettings_allowUnconsciousAnimationOnTreatment_DisplayName); + description = CSTRING(MedicalSettings_allowUnconsciousAnimationOnTreatment_Description); typeName = "BOOL"; value = 0; }; class GVAR(moveUnitsFromGroupOnUnconscious) { category = CSTRING(Category_Medical); + displayName = CSTRING(MedicalSettings_moveUnitsFromGroupOnUnconscious_DisplayName); + description = CSTRING(MedicalSettings_moveUnitsFromGroupOnUnconscious_Description); typeName = "BOOL"; value = 0; }; diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 55174bb84f..53060befb6 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -73,7 +73,7 @@ Adénosine Inietta andenosina Aplikovat adenosine - Injetar Adenosina + Injetar adenosina Ввести аденозин アデノシンを投与 아데노신 주사 @@ -90,7 +90,7 @@ Ввести атропин Atropin beadása Inietta atropina - Injetar Atropina + Injetar atropina アトロピンを投与 아트로핀 주사 注射阿托品 @@ -105,7 +105,7 @@ Épinéphrine Ввести адреналин Epinefrin beadása - Injetar Epinefrina + Injetar epinefrina Inietta adrenalina アドレナリンを投与 에피네프린 주사 @@ -121,7 +121,7 @@ Ввести морфин Morphine Morfium beadása - Injetar Morfina + Injetar morfina Inietta morfina モルヒネを投与 모르핀 주사 @@ -137,7 +137,7 @@ Перелить кровь Transfuser (sang) Infúzió (vér) - Transfundir Sangue + Transfundir sangue Trasfusione di sangue 輸血する 혈액 수혈 @@ -154,7 +154,7 @@ Перелить плазму Infúzió (vérplazma) Trasfusione di plasma - Transfundir Plasma + Transfundir plasma 血しょうを投与 혈장 수혈 输血浆 @@ -170,7 +170,7 @@ Перелить физраствор Infúzió (sós víz) Trasfusione di soluzione salina - Transfundir Soro + Transfundir soro 生理食塩水を投与 생리식염수 수혈 注射生理食盐水 @@ -185,7 +185,7 @@ Poser garrot Наложить жгут Applica laccio emostatico - Aplicar Torniquete + Aplicar torniquete Érszorító alkalmazása 止血帯を巻く 지혈대 적용 @@ -217,7 +217,7 @@ Перевязать голову Panser Tête Fej kötözése - Atar Cabeça + Atar cabeça Benda la testa 包帯を頭へ 머리에 붕대감기 @@ -233,7 +233,7 @@ Перевязать торс Panser Torse Testtörzs kötözése - Atar Tronco + Atar tronco Benda il torso 包帯を胴体へ 몸통에 붕대감기 @@ -249,7 +249,7 @@ Перевязать левую руку Panser Bras Gauche Bal kar kötözése - Atar Braço Esquerdo + Atar braço esquerdo Benda il braccio sinistro 包帯を左腕に 왼팔에 붕대감기 @@ -265,7 +265,7 @@ Перевязать правую руку Panser Bras Droit Jobb kar kötözése - Atar Braço Direito + Atar braço direito Benda il braccio destro 包帯を右腕に 오른팔에 붕대감기 @@ -281,7 +281,7 @@ Перевязать левую ногу Panser Jambe Gauche Bal láb kötözése - Atar Perna Esquerda + Atar perna esquerda Benda la gamba sinistra 包帯を左足へ 왼쪽 다리에 붕대감기 @@ -297,7 +297,7 @@ Перевязать правую ногу Panser Jambe Droite Jobb láb kötözése - Atar Perna Direita + Atar perna direita Benda la gamba destra 包帯を右足へ 오른쪽 다리에 붕대감기 @@ -313,7 +313,7 @@ Введение морфина... Injection (morphine)... Morfium beadása... - Injetando Morfina... + Injetando morfina... Inietto la morfina... モルヒネを投与しています・・・ 모르핀 주사중... @@ -329,7 +329,7 @@ Введение адреналина... Injection (épinéphrine)... Epinefrin beadása... - Injetando Epinefrina... + Injetando epinefrina... Inietto l'adrenalina... アドレナリンを投与しています・・・ 에피네프린 주사중... @@ -344,7 +344,7 @@ Injection (adénosine)... Inietto l'andenosina Aplikuji adenosine... - Injetando Adenosina... + Injetando adenosina... Введение аденозина... アドネシンを投与しています・・・ 아데노신 주사중... @@ -361,7 +361,7 @@ Введение атропина... Atropin beadása... Inietto l'atropina... - Injetando Atropina + Injetando atropina アトロピンを投与しています・・・ 아트리핀 주사중... 阿托品注射中 ... @@ -376,7 +376,7 @@ Переливание крови... Transfusion (sang)... Infúzió vérrel... - Transfundindo Sangue... + Transfundindo sangue... Effettuo la trasfusione di sangue... 輸血しています・・・ 혈액 수혈중... @@ -393,7 +393,7 @@ Переливание физраствора... Infúzió sós vizzel... Effettuo la rasfusione di soluzione salina - Transfundindo Soro... + Transfundindo soro... 生理食塩水を投与しています・・・ 생리식염수 수혈중... 施打生理食盐水中 ... @@ -409,7 +409,7 @@ Переливание плазмы... Infúzió vérplazmával... Effettu la trasfusione di plasma... - Transfundindo Plasma... + Transfundindo plasma... 血しょうを投与しています・・・ 혈장 수혈중... 输血浆中 ... @@ -441,7 +441,7 @@ Наложение жгута... Érszorító felhelyezése... Sto applicando il laccio emostatico... - Applicando Torniquete + Applicando torniquete 止血帯を巻いています・・・ 지혈대 적용중... 使用军用止血带中 ... @@ -473,7 +473,7 @@ Pansement individuel Zárókötszer Bendaggio rapido - Curativo de Campo + Curativo de campo 緊急圧迫包帯 필드 드레싱 基础绷带 @@ -488,7 +488,7 @@ Nyomókötszer Bendaggio compressivo Bande extensible - Bandagem de Compressão + Atadura de compressão Obvaz Tlakový 弾性包帯 거즈 붕대 @@ -505,7 +505,7 @@ Bande compressive Rögzitő kötszer Bendaggio elastico - Bandagem Elástica + Atadura elástica 伸縮包帯 압박 붕대 弹性绷带 @@ -521,7 +521,7 @@ Bandage hémostatique QuikClot QuikClot (polvere emostatica) - QuikClot + QuikClot (Agente homeostático) クイッククロット 퀵 클롯 止血粉 @@ -537,7 +537,7 @@ Prendre le pouls Pulzus ellenőrzése Controlla il polso - Checar Pulso + Checar pulso 心拍数をはかる 맥박 확인 检查脉搏 @@ -553,7 +553,7 @@ Prendre la tension Vérnyomás megmérése Controlla pressionsa sanguigna - Chegar Pressão Sanguínea + Chegar pressão sanguínea 血圧をはかる 혈압 확인 检查血压 @@ -569,7 +569,7 @@ Fiche de triage Orvosi lap Triage Card - Cartão de Triagem + Cartão de triagem トリアージ カード 부상자 분류 카드 检伤分类卡 @@ -585,8 +585,8 @@ Sin entradas en esta tarjeta de clasificación. Ez az orvosi lap nem tartalmaz bejegyzést. Žádné záznamy na tomto štítku - Nenhuma entrada neste cartão de triagem - トリアージ カードには何も無い。 + Nenhuma entrada neste cartão de triagem. + トリアージ カードには何もありません。 부상자 분류 카드에 쓰여있는것이 없습니다. 此检伤分类卡上没有任何资料 此檢傷分類卡上沒有任何資料 @@ -617,7 +617,7 @@ Enlever garrot Érszorító leszedése Rimuovi laccio emostatico - Remover Torniquete + Remover torniquete 止血帯をはずす 지혈대 제거 移除军用止血带 @@ -697,7 +697,7 @@ Podat krev. transfúzi (1000ml) Vér adása intravénásan (1000ml) Effettua trasfusione sangue EV (1˙000ml) - Administrar Sangue IV (1000ml) + Administrar sangue IV (1000ml) 血液 IV (1000ml) をあたえる IV 혈액 수혈 (1000ml) 输血液 (1000ml) @@ -713,7 +713,7 @@ Podat krev. transfúzi (500ml) Vér adása intravénásan (500ml) Effettua trasfusione sangue EV (500ml) - Administrar Sangue IV (500ml) + Administrar sangue IV (500ml) 血液 IV (500ml) をあたえる IV 혈액 수혈 (500ml) 输血液 (500ml) @@ -729,7 +729,7 @@ Podat krev. transfúzi (250ml) Vér adása intravénásan (250ml) Effettua trasfusione sangue EV (250ml) - Administrar Sangue IV (250ml) + Administrar sangue IV (250ml) 血液 IV (250ml) をあたえる IV 혈액 수혈 (250ml) 输血液 (250ml) @@ -745,7 +745,7 @@ Podat plazmu (1000ml) Vérplazma adása intravénásan (1000ml) Effettua trasfusione plasma EV (1˙000ml) - Administrar Plasma IV (1000ml) + Administrar plasma IV (1000ml) 血しょう IV (1000ml) をあたえる IV 혈장 수혈 (1000ml) 输血浆 (1000ml) @@ -761,7 +761,7 @@ Podat plazmu (500ml) Vérplazma adása intravénásan (500ml) Effettua trasfusione plasma EV (500ml) - Administrar Plasma IV (500ml) + Administrar plasma IV (500ml) 血しょう IV (500ml) をあたえる IV 혈장 수혈 (500ml) 输血浆 (500ml) @@ -777,7 +777,7 @@ Podat plazmu (250ml) Vérplazma adása intravénásan (250ml) Effettua trasfusione plasma EV (250ml) - Administrar Plasma IV (250ml) + Administrar plasma IV (250ml) 血しょう IV (250ml) をあたえる IV 혈장 수혈 (250ml) 输血浆 (250ml) @@ -793,7 +793,7 @@ Podaz fyz. roztok (1000ml) Sós víz adása intravénásan (1000ml) Effettua trasfusione salina EV (1˙000ml) - Administrar Soro IV (1000ml) + Administrar soro IV (1000ml) 生理食塩水 IV (1000ml) をあたえる IV 생리식염수 수혈 (1000ml) 注射生理食盐水 (1000ml) @@ -809,7 +809,7 @@ Podaz fyz. roztok (500ml) Sós víz adása intravénásan (500ml) Effettua trasfusione salina EV (500ml) - Administrar Soro IV (500ml) + Administrar soro IV (500ml) 生理食塩水 IV (500ml) をあたえる IV 생리식염수 수혈 (500ml) 注射生理食盐水 (500ml) @@ -825,7 +825,7 @@ Podaz fyz. roztok (250ml) Sós víz adása intravénásan (250ml) Effettua trasfusione salina EV (250ml) - Administrar Soro IV (250ml) + Administrar soro IV (250ml) 生理食塩水 IV (250ml) をあたえる IV 생리식염수 수혈 (250ml) 注射生理食盐水 (250ml) @@ -938,7 +938,7 @@ Nincs légzés Mancanza di respiro Não respira - 息をしていない + 息をしていません 호흡 불가 没有呼吸 沒有呼吸 @@ -954,7 +954,7 @@ Nehéz légzés Difficoltà a respirare Dificuldade para respirar - 呼吸が苦しそうだ + 呼吸が苦しそうです 호흡 곤란 呼吸困难 呼吸困難 @@ -970,7 +970,7 @@ Alig van légzés Respira a fatica Quase não respira - ほとんど呼吸をしていない + ほとんど呼吸をしていません 호흡이 없음 快要没呼吸 快要沒呼吸 @@ -986,7 +986,7 @@ Vérzik Sanguinando Sangrando - 出血している + 出血しています 출혈 流血中 流血中 @@ -1002,7 +1002,7 @@ Fájdalom alatt Con dolore Com dor - 痛みがある + 痛みがあります 고통 疼痛中 疼痛中 @@ -1018,7 +1018,7 @@ Sok vért vesztett Ha perso parecchio sangue Perdeu muito sangue - 大量失血している + 大量失血しています 大量失血中 大量失血中 혈액 부족 @@ -1050,7 +1050,7 @@ Infúzióra kötve [%1ml] Ricevendo EV [%1ml] Recebendo IV [%1ml] - IV で [%1ml] 投与されている + IV で [%1ml] 投与されています 接收静脉注射液中 [%1ml] 接收靜脈注射液中 [%1ml] IV처리 [%1ml] 수혈중 @@ -1065,7 +1065,7 @@ Obvaz (Standartní) Kötszer (Általános) Bendaggio (base) - Bandagem(Básico) + Atadura (Básica) 包帯 (緊急圧迫) 붕대 (기본) 基础绷带 @@ -1096,7 +1096,7 @@ Opatrunek materiałowy, używany do przykrywania ran, zakładany na ranę po zatamowaniu krwawienia. Egy különleges anyagú kötszer sebek betakarására, amelyet a vérzés elállítása után helyeznek fel. Una benda apposita, utilizzata per coprire una ferita, la quale viene applicata su di essa una volta fermata l'emorragia. - Uma curativo, material específico para cobrir um ferimento que é aplicado assim que o sangramento é estancando. + Um curativo, material específico usado para cobrir um ferimento assim que o sangramento é estancando. Obvaz je vhodným způsobem upravený sterilní materiál, určený k překrytí rány, případně k fixaci poranění. 緊急圧迫包帯は傷口を血液凝固剤でおおうようにできていて、つかうと出血の原因を取りさります。 드레싱, 출혈을 막고서 상처를 덮기위해 쓰는 물건입니다. @@ -1112,7 +1112,7 @@ Bandaż (uciskowy) Nyomókötszer Bendaggio compressivo - Bandagem de Compressão + Atadura de compressão Obvaz (Tlakový) 弾性包帯 거즈 붕대 @@ -1128,7 +1128,7 @@ Używany w celu opatrywania średnich i dużych ran oraz tamowania krwawienia. Dobrze radzi sobie z tamowaniem ran płatowych oraz postrzałowych. Közepestől nagyig terjedő sebek betakarására és vérzés elállítására használt kötszer Usato su ferite medie o larghe per fermare emorragie. - Usado para o preenchimento de cavidades geradas por ferimentos médios e grandes e estancar o sangramento. + Usado para atar ferimentos médios ou grandes e estancar sangramentos. Používá se k zastavení středních až silnějších krvácení 弾性包帯は粘着フィルム状で、普通から大きめなケガにつかい止血します。 중형 또는 대형 상처를 채우고 출혈을 막기위해 쓰입니다 @@ -1144,7 +1144,7 @@ Egy kötszerfajta, melyet a sebek nyomására használnak a vérzés elállítása és sebgyógyulás érdekében. A nyomókötés egy lehetőség nagyobb polytraumatikus sérülések esetén. Un bendaggio usato per coprire la ferita, fermare il sanguinamento e facilitarne la guarigione. Questa tecnica è opzionale su ferite multiple. Ein Verband, um die Wunde abzudecken und die Wundheilung zu fördern. Wunden abdecken ist eine Option bei größeren Polytraumen - Uma bandagem usada para preencher o ferimento para estancar o sangramento e facilitar a cicatrização. Preenchimento de feridas é uma opção em ferimentos de politrauma grandes. + Atadura usada para atar o ferimento, estancando o sangramento e facilitando a cicatrização. Atar feridas é uma opção em ferimentos de politrauma grandes. Tlakový obvaz se skládá se ze sterilní krycí vrstvy, na kterou je přiložena silná vrstva savého materiálu stlačující cévu v ráně a která je přitlačována k ráně a připevněna obinadlem. Slouží k zastavení silnějších krvácení. 包帯をつかうと出血を防ぎ治療を促進させます。また大きめな多発性外傷にたいしても使えます。 출혈을 막고 상처를 치유하기 위한 붕대. 다발성외상의 경우 상처를 채우는것도 한 가지 방법입니다. @@ -1161,7 +1161,7 @@ Obvaz (Elastický) Rögzító kötszer Benda (elastica) - Bandagem (Elástica) + Atadura (Elástica) 包帯 (伸縮) 붕대 (압박) 弹性绷带 @@ -1176,7 +1176,7 @@ Bandaż elastyczny służy do opatrywania ran ciętych oraz kłutych. Dobrze radzi sobie również ze zgniecieniami tkanek miękkich oraz rozerwaniami powierzchni skóry. Rugalmas kötszercsomag, "rögzítő" Kit di bendaggio, elastico - Kit de Bandagem, Elástica + Kit de ataduras elásticas Sada obvazů, Elastická 包帯キット (伸縮) 붕대, 압박 @@ -1192,7 +1192,7 @@ Brinda una compresión uniforme y ofrece soporte extra a una zona lesionada Egyenletes nyomást és támogatást biztosít a sebesült felületnek. Permette di comprimere e aiutare la zone ferita. - Esta bandagem pode ser utilizada para comprimir o ferimento e diminuir o sangramento e garantir que o ferimento não abra em movimento. + Esta atadura pode ser utilizada para comprimir o ferimento e diminuir o sangramento e garantir que não se abra em movimento. Hodí se k fixačním účelům a to i v oblastech kloubů. 負傷部分へ最大の対応と止血を続けられます。 부상 부위를 골고루 압박해주면서 동시에 고정시켜 줍니다. @@ -1240,7 +1240,7 @@ Ein Hilfsmittel, das Druck auf Venen und Arterien ausübt und so den Blutfluss verringert. Egy szűkítőeszköz, mely a vénás és artériás nyomás keringés helyi összenyomására szolgál, ezzel lelassítva vagy megállítva az adott területen a vérkeringést. Ez csökkenti a vérvesztés mértékét. Un laccio emostatico usato per comprimere le vene e arterie per bloccare o rallentare la circolazione del sangue e quindi rallentare dissanguamenti. - A aparelho que comprime as artérias e veias para diminuir a perda de sangue. + Aparelho que comprime as artérias e veias para diminuir a perda de sangue. Zařízení používané ke stlačení venózního a arteriálního oběhu. V důsledku dochází ke zpomalení toku krve a tedy i snížení ztrát krve. 止血帯は静脈や動脈へ圧力をかけ、循環を遅らせることで血液の流れをおそくし、失血を防ぎます。 정맥과 동맥을 압축시키켜 혈액순환을 억제 혹은 늦추게하여 혈액손실을 줄이는 도구입니다. @@ -1303,7 +1303,7 @@ Auto-injecteur d'adénosine Autoiniettore di adenosina Auto-adenosine - Auto-injetor de Adenosina + Auto-injetor de adenosina Аденозин в пневмошприце アデノシン注射器 아데노신 자동주사기 @@ -1318,7 +1318,7 @@ Utilisé pour contrer les effets de l'épinéphrine Usato per contrastare l'effetto dell'epinefrina Slouží jako protiváha Adrenalinu - Usado para combater os efeitos da Epinefrina + Usado para combater os efeitos da epinefrina Используется для купирования эффектов адреналина アドレナリンの反対の効果としてつかいます。 에피네프린 대응책으로 쓰입니다 @@ -1333,7 +1333,7 @@ Un composé utilisé pour contrer les effets de l'épinéphrine Medicamento usato per contrastare l'effetto dell'epinefrina Droga používaná k tlumení efektu Adrenalinu - Uma droga usada para combater os efeitos da Epinefrina + Uma droga usada para combater os efeitos da epinefrina Препарат используется для купирования эффектов адреналина つかうと、アドレナリンと反対の効果がでます。 에피네프린에 대응용으로 쓰이는 약품 @@ -1350,7 +1350,7 @@ Auto-atropine Atropin autoinjektor Autoiniettore di atropina - Auto-injetor de Atropina + Auto-injetor de atropina アトロピン注射器 아트로핀 자동주사기 阿托品自动注射器 @@ -1428,7 +1428,7 @@ 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. Una sostanza che permette di dilatare i bronchi, aumentare il battito cardiaco e combattere effetti di reazioni allergiche. Usato anche in casi di arresto cardiaco. Ein Medikament, das die Bronchien erweitert, die Herzfrequenz erhöht und Symptome von allergischen Reaktionen (Anaphylaxie) bekämpft. Wird bei plötzlichem Herzstillstand verabreicht. - Uma droga trabalha dilatando os bronquios, aumentando a frequência cardíaca e combate efeitos de reações alérgicas(anáfilaticas). Usado em casos de parada cardiaca com poucas changes de recuperação. + Uma droga que trabalha dilatando os brônquios, aumentando a frequência cardíaca e combate efeitos de reações alérgicas (anáfilaticas). Usado em casos de parada cardíaca com poucas chances de recuperação. Egy hormon, mely a szimpatikus idegrendszer által kitágítja a hörgőket, valamint megnöveli a szívverést, ezzel ellensúlyozva ilyen jellegű allergiás reakciókat (anafilaxiás sokk). Hirtelen szívmegállás esetén is használt, idő alatt csökkenő hatásfokkal. Zúžení periferních cév díky působení na alfa receptory a následné kontrakci hladkých svalů, tím dochází k tzv. centralizaci oběhu, krev se soustřeďuje v životně důležitých centrálních orgánech (srdce, mozek, plíce), působí také pozitivně na srdeční činnost a dochází ke zvýšení krevního tlaku a tepu. Dále se používá při náhlé srdeční zástavě. 薬は気管支を拡張するよう交感神経を拡張させ、心拍数を増加させます。それにアレルギー反応を収める効果もあります(アナフィラキシー ショック)。得られる効果は少ないですが、心停止している場合などにつかわれます。 @@ -1541,7 +1541,7 @@ Vér-infúzió, intravénás bejuttatásra egy páciensnek (hidegen tárolandó) Sangue usato per ripristinare pazienti in cui si è verificata una perdita di sangue (conservare al fresco) Blut IV, Bluthaushalt des Patienten wiederherstellen. (Kühl halten) - Sangue intravenoso, para restaurar o volume sanguinio do paciente.(Manter frio) + Sangue intravenoso, para restaurar o volume sanguíneo do paciente.(Manter frio) Krevní transfuze pro doplnění pacientovi krve (skladujte v chladu) 血液 IV は、患者へ血液を補給します。(要低温保存) 혈액 IV, 환자에게 혈액을 공급합니다. (차갑게 할것) @@ -1556,7 +1556,7 @@ Sangue 0 negativo usato per ripristinare sangue in pazienti in cui si è verificata una perdita di sangue. Culot sanguin O- utilisé dans de rares et stricts cas pour compléter une perte de sang importante. Administré normalement lors d'un MEDEVAC. O Negative Blutinfusion wird nur in seltenen Fällen verwendet, um den Bluthaushalt des Patienten zu ergänzen. Wird in der Regel wärend der Transportphase durchgeführt. - Sangue O- , utilizado em casos raros para rapidamente repor o sangue. Uso habitual ocorre durante o transporte ou em estações de tratamento. + Sangue "O" de fator Rh negativo, utilizado em casos raros para rapidamente repor o sangue. Uso habitual ocorre durante o transporte ou em estações de tratamento. Nullás vércsoportú, Rh-negatív vér-infúzió, melyet kritikus és ritka helyzetekben vérutánpótlásra használnak, jellemzően az orvosi ellátás szállítási fázisa közben. 0 Rh negativní krev se používá v vzácných případech k doplnění pacientovy hladiny krve, obvykle při převozu zraněné osoby do nemocnice. O 型への輸血はまれで厳格であり、通常は治療のための輸送段階で輸血をおこないます。 @@ -1621,7 +1621,7 @@ 0,9%-os sósvíz-infúzió, a páciens vérmennyiségének helyreállítására Soluzione salina, usata per ripristinare sangue nei pazienti. Kochsalzlösung, ein medizinisches Volumenersatzmittel - Solução Salina Intravenosa 0.9%, para restaurar o volume de sangue temporariamente. + Solução salina intravenosa, para restaurar o volume de sangue. Fyziologický roztok se aplikuje intravenózně a slouží k obnově pacientovi krve 生理食塩水 IV は、患者の血液量を補助します 생리식염수, 환자의 혈액량을 보충할때 쓰입니다 @@ -1637,7 +1637,7 @@ Egy orvosi térfogat-helyreállító készítmény, melyet intravénás módon lehet a szervezetbe juttatni. Una soluzione medica per ripristinare il volume del sangue introdotta tramite trasfusione EV. Ein medizinisches Volumenersatzmittel, dass durch einen intravenösen Zugang in den Blutkreislauf verabreicht wird. - Uma reposição temporaria para restaurar a pressão arterial perdida por perda de sangue. + Uma reposição temporária para restaurar a pressão arterial perdida por perda de sangue. Fyziologický roztok se využívá nejčastěji jako infuze při dehydrataci organismu. 生理食塩水 IV を静脈へ投与し、血液量を増加させることができます。 혈류에 IV로 투여되는 의료 용적 대체 요법 @@ -1685,7 +1685,7 @@ Verbandpäckchen (QuikClot) Általános zárókötszer (QuikClot) Bendaggio emostatico (QuikClot) - Bandagem básica (Coagulante) + Atadura básica (Coagulante) Hemostatický obvaz (QuikClot) 緊急圧迫止血包帯 (クイッククロット) 필드 드레싱 (퀵 클롯) @@ -1701,7 +1701,7 @@ Bandage mit Gerinnungsmittel QuikClot kötszer Bendaggio emostatico (QuikClot) - Bandagem com agente coagulante + Atadura com agente coagulante Hemostatický obvaz (QuikClot) クイッククロット包帯 퀵 클롯 붕대 @@ -1717,7 +1717,7 @@ Verband mit Gerinnungsmittel, um starke Blutung zu behandeln. Hemostatikus kötszer egy vérzésgátló anyaggal. Bendaggio emostatico con coagulante che permette di arrestare perdite di sangue - Bandagem Hemostática com coagulante que controla hemorragia médias e grandes com risco de vida. + Atadura homeostática com coagulante que controla hemorragias médias e grandes. Hemostatický obvaz určený k zástavě krvácení 血液凝固剤をふくむ包帯により、止血できます。 지혈시 사용하는 붕대로 혈액 응고제를 포함하고있습니다. @@ -1733,7 +1733,7 @@ Persönliches Erste-Hilfe-Set Elsősegélycsomag Pronto soccorso personale - Kit De Primeiros Socorros Pessoal + Kit de Primeiros Socorros Pessoal Osobní lékárnička (PAK) 応急処置キット 개인응급키트 @@ -1749,7 +1749,7 @@ Beinhaltet medizinisches Material für fortgeschrittene Behandlung und zum Nähen. Változatos segédfelszereléseket tartalmaz sebvarráshoz és haladó elsősegélynyújtáshoz Include vario materiale medico per trattamenti avanzati. - Inclui vários tratamentos materiais para custura e tratamento avançado + Inclui vários tratamentos materiais para costura e tratamento avançado Osobní lékárnička obsahuje zdravotnický materiál umožňující šití a pokročilejší ošetřování raněných 縫合や高度な処置に必要とされる、さまざまな治療器具が含まれています。 봉합및 고급 조치에 필요한 다양한 치료 도구가 있습니다. @@ -1797,7 +1797,7 @@ Operationsset Sebészeti készlet Kit chirurgico - Kit Cirurgico + Kit Cirúrgico Chirurgická sada 縫合キット 봉합 키트 @@ -1829,7 +1829,7 @@ Trousse chirurgicale pour le traitement sur le terrain Sebészeti készlet komplex orvosi feladatok terepen való ellátására Kit chirurgico per trattamenti avanzati sul campo. - Kit Cirurgico para uso de tratamento médico avançado em campo. + Kit Cirúrgico para tratamento médico avançado em campo. Chirurgická sada určená k pokročilejším zdravotnickým zákrokům v poli 縫合キットは戦場で高度な処置をするためにつかわれます。 야전 상황에서 고급 의료 처치를 위해 사용되는 봉합 키트 @@ -1861,7 +1861,7 @@ Leichensack Hullazsák Sacca per corpi - Saco para cadáver + Saco mortuário Pytel na mrtvoly 死体袋 尸袋 @@ -1909,7 +1909,7 @@ Blutdruck Vérnyomás Pressione sanguigna - Pressão Arterial + Pressão arterial Krevní tlak 血圧を測る 혈압 @@ -1925,7 +1925,7 @@ Blutdruck kontrollieren... Vérnyomás megmérése... Controllando la pressione sanguigna.. - Aferindo Pressão Arterial... + Aferindo pressão arterial... Měřím krevní tlak... 血圧を測定しています・・・ 혈압 측정증... @@ -1973,7 +1973,7 @@ Hai riscontrato una pressione di %2/%3 Wyczuwasz ciśnienie krwi o wartości %2/%3 Der Blutdruck liegt bei %2/%3 - A Pressão Arterial é de %2/%3 + A pressão arterial é de %2/%3 Naměřil si krevní tlak u %2/%3 血圧は %2/%3 혈압이 %2/%3 이다 @@ -1989,7 +1989,7 @@ Blutdruck ist niedrig A vérnyomás alacsony La pressione sanguigna è bassa - Pressão Arterial baixa + Pressão arterial baixa Naměřil si nízký krevní tlak 血圧はかなり低い 发现到低血压 @@ -2005,7 +2005,7 @@ Blutdruck ist normal A vérnyomás normális La pressione sanguigna è normale - Pressão Arterial normal + Pressão arterial normal Naměřil si normální krevní tlak 血圧は通常 发现到正常血压 @@ -2021,7 +2021,7 @@ Blutdruck ist hoch A vérnyomás magas La pressione sanguigna è alta - Pressão Arterial Alta + Pressão arterial alta Naměřil si vysoký krevní tlak 血圧はかなり高い 发现到高血压 @@ -2037,9 +2037,9 @@ Patient hat keinen Blutdruck Nem észlelhető vérnyomás La pressione sanguigna è assente - Sem Pressão Arterial + Sem pressão arterial Nenaměřil si žádný krevní tlak - 血圧は測れなかった + 血圧を測れませんでした 혈압이 잡히지 않는다 量不到血压 量不到血壓 @@ -2053,9 +2053,9 @@ Du konntest keinen Blutdruck feststellen Nem sikerült a vérnyomás megmérése Manca strumento per misurare pressione sanguigna - Você falhou em aferir a Pressão Arterial + Você falhou em aferir a pressão arterial Nedokázal si změřit krevní tlak - 血圧を測るのに失敗 + 血圧を測るのに失敗しました 혈압을 잡을 수 없었다 检查血压的动作失败 檢查血壓的動作失敗 @@ -2149,7 +2149,7 @@ Kontrolliere Herzfrequenz... Szívverés-szám mérése... Controllando il battito cardiaco... - Aferindo Pulso... + Aferindo pulso... Kontroluji srdeční tep... 心拍数を測定しています・・・ 맥박 확인중... @@ -2261,7 +2261,7 @@ Herzfrequenz ist %2 A szívverés-szám %2 Il battito cardiaco è %2 - A Freqüência Cardíaca é de %2 + A freqüência cardíaca é de %2 Nahmatal jsi srdeční tep u %2 心拍数は %2 心跳为%2 @@ -2277,7 +2277,7 @@ Schwacher Puls A szívverés-szám alacsony Hai riscontrato un debole battito cardiaco - Freqüência Cardíaca baixa + Freqüência cardíaca baixa Nahmatal si slabý srdeční puls 自分の心拍数は低い 心跳微弱 @@ -2293,7 +2293,7 @@ Starker Puls A szívverés-szám magas Hai riscontrato un forte battito cardiaco - Freqüência Cardíaca normal + Freqüência cardíaca normal Nahmatal si silný srdeční puls 自分の心拍数は強い 心跳过快 @@ -2309,7 +2309,7 @@ Normaler Puls A szívverés-szám normális Hai riscontrato un normale battito cardiaco - Freqüência Cardíaca alta + Freqüência cardíaca alta Nahmatal si normální srdeční puls 自分の心拍数は通常 心跳正常 @@ -2325,9 +2325,9 @@ Kein Puls gefunden Nem észlelhető szívverés Hai riscontrato una assenza di battito cardiaco - Sem Freqüência Cardíaca + Sem freqüência cardíaca Žádný puls - 心拍数を測れなかった + 心拍数を測れませんでした 量不到心跳 量不到心跳 맥박 없음 @@ -2359,7 +2359,7 @@ Controlli la risposta del paziente Aferindo se o paciente tem reação Zkontroloval jsi reakci pacienta - 患者からの反応をみる + 患者からの反応を見る 대상의 반응 확인중 检查伤者的反应 檢查傷者的反應 @@ -2370,7 +2370,7 @@ %1 est conscient %1 ha reaccionado %1 jest przytomny - %1 ist anprechbar + %1 ist ansprechbar %1 reakcióképes %1 e' cosciente %1 está respondendo @@ -2407,7 +2407,7 @@ Hai controllato %1 Você aferiu o paciente %1 Zkontroloval jsi %1 - %1 を見た + %1 を見ました %1 을 확인함 你已经检查 %1 你已經檢查 %1 @@ -2471,7 +2471,7 @@ Valamennyi vért vesztett Ztratil trochu krve Ele perdeu um pouco de sangue - 彼は出血している + 出血しています 적은 양의 피를 잃었다 他流失一些血液 他流失一些血液 @@ -2487,7 +2487,7 @@ Ztratil hodně krve Ele perdeu muito sangue Ha perso molto sangue - 彼は大量失血している + 大量失血しています 많은 양의 피를 잃었다 他流失大量血液 他流失大量血液 @@ -2503,7 +2503,7 @@ Nem vesztett vért Neztratil žádnou krev Ele não perdeu sangue - 彼は失血していない + 失血していません 피를 잃지 않았다 他并没有失血 他並沒有失血 @@ -2519,7 +2519,7 @@ Fájdalmai vannak Je v bolestech Ele está com dor - 彼には痛みがあるようだ + 痛いようです 통증이 있다 他感到疼痛 他感到疼痛 @@ -2535,7 +2535,7 @@ Nincsenek fájdalmai Nemá žádné bolesti Ele não está com dor - 彼には痛みがないようだ + 痛くないようです 통증이 없다 他不会疼痛 他不會疼痛 @@ -2565,9 +2565,9 @@ Bekötözöd %1-t (%2) Stai bendando %1 (%2) Du verbindest %1 (%2) - Você aplica bandagem no paciente %1 (%2) + Você aplica atadura no paciente %1 (%2) Obvazuješ %1 (%2) - %1 (%2) 包帯をつかった + %1 (%2) 包帯をつかいました %1 (%2) 붕대를 감았다 你正在对 %1 (%2) 包扎绷带中 你正在對 %1 (%2) 包紮繃帶中 @@ -2583,7 +2583,7 @@ %1 verbindet dich %1 está aplicando uma bandagem em você %1 tě obvazuje - %1 はあなたに包帯を巻いている + %1 はあなたに包帯を巻いています %1 (이)가 나에게 붕대를 감고있다 %1 正在对你包扎绷带中 %1 正在對你包紮繃帶中 @@ -2599,7 +2599,7 @@ Stai suturando le ferite di %1 (%2) Você começa a suturar os ferimentos do %1 (%2) Zašíváš rány %1 (%2) - あなたは %1 (%2) の外傷へ縫合をはじめた + %1 (%2) の外傷へ縫合を始めました 나는 %1(%2) 상처로부터 봉합을 시작했다 你正开始对 %1 (%2) 缝合伤口中 你正開始對 %1 (%2) 縫合傷口中 @@ -2663,7 +2663,7 @@ %1 ti sta trattando le vie respiratorie %1 está te entubando %1 ošetřuje tvoje dýchací cesty - %1 はあなたの気道を見ている + %1 はあなたの気道を見ています %1 (이)가 나의 기도를 확보중이다 %1 正在治疗你的呼吸道 %1 正在治療你的呼吸道 @@ -2725,7 +2725,7 @@ Погрузить пациента в Embarquer le patient Sebesült berakása - Carregar Paciente Em + Carregar paciente em Carica paziente nel 患者を載せる 환자 싣기 @@ -2741,7 +2741,7 @@ Выгрузить пациента Débarquer le patient Sebesült kihúzása - Descarregar Paciente + Descarregar paciente Scarica il paziente 患者を降ろす 환자 내리기 @@ -2757,7 +2757,7 @@ Le patient débarque Sebesült kihúzása Scarica il paziente - Descarregar Paciente + Descarregar paciente Vyložit pacienta 患者を降ろす 환자 내리기 @@ -2773,7 +2773,7 @@ Embarquer le patient Sebesült berakása Carica il paziente - Carregar Paciente Em + Carregar paciente em Naložit pacienta 患者を載せる 환자 싣기 @@ -2789,7 +2789,7 @@ Mettre le corps dans la housse mortuaire Test hullazsákba helyezése Metti il corpo nella sacca per cadaveri - Colocar corpo dentro do saco para cadáver + Colocar corpo dentro do saco mortuário Umístni tělo do pytle na mrtvoly 死体袋に入れる 시체 가방에 담기 @@ -2805,7 +2805,7 @@ Placement du corps dans la housse... Test hullazsákba helyezése... Stai mettendo il corpo nella sacca... - Colocando corpo dentro do saco para cadáver... + Colocando corpo dentro do saco mortuário... Umístňuji tělo do pytle na mrtvoly... 死体袋へ入れています・・・ 시체 가방에 담는중... @@ -2821,9 +2821,9 @@ %1 a pansé le patient %1 bekötözte a pácienst %1 ha bendato il paziente - %1 aplicou bandagem no paciente + %1 aplicou atadura no paciente %1 již obvázal pacienta - %1 は包帯を巻いた + %1 は包帯を巻きました %1 已包扎伤者 %1 已包紮傷者 %1 (이)가 붕대를 감음 @@ -2838,7 +2838,7 @@ %1 провел сердечно-легочную реанимацию %1 realicó RCP %1 à fait une RCP - %1 は心肺蘇生をした + %1 は心肺蘇生をしました %1 已执行心肺复苏术 %1 已執行心肺復甦術 %1 (이)가 심폐소생술을 실시함 @@ -2854,7 +2854,7 @@ %1 ha usato %2 %1 usou %2 %1 použil %2 - %1 は %2 をつかった + %1 は %2 をつかいました %1 已使用 %2 %1 已使用 %2 %1 (이)가 %2 을 사용함 @@ -2870,7 +2870,7 @@ %1 ha somministrato una EV %1 aplicou um intravenoso %1 již aplikoval IV - %1 は IV をした + %1 は IV をしました %1 已经给予静脉注射液 %1 已經給予靜脈注射液 %1 (이)가 IV를 실시함 @@ -2886,7 +2886,7 @@ %1 ha applicato un laccio emostatico %1 aplicou um torniquete %1 použil škrtidlo - %1 は止血帯を巻いた + %1 は止血帯を巻きました %1 已经绑上止血带 %1 已經綁上止血帶 %1 (이)가 지혈대를 적용함 @@ -2901,7 +2901,7 @@ %1 ha usato Kit Pronto Soccorso Personale %1 usó Kit de Primeros Auxilios %1 a utilisé une trousse - %1 は応急処置キットをつかった + %1 は応急処置キットをつかいました %1 已使用了个人急救包 %1 已使用了個人急救包 %1 (이)가 개인응급키트를 사용함 @@ -2948,7 +2948,7 @@ Très légèrement blessé Nagyon enyhén sérült Velmi lehce raněn - Muito levemente ferido + Ferido muito levemente かなり浅い傷 매우 가벼운 부상 小伤 @@ -2996,7 +2996,7 @@ Bras gauche Bal kar Levá ruka - Braço Esquerdo + Braço esquerdo 左腕 왼쪽 팔 左手 @@ -3012,7 +3012,7 @@ Bras droit Jobb kar Pravá ruka - Braço Direito + Braço direito 右腕 오른쪽 팔 右手 @@ -3028,7 +3028,7 @@ Jambe gauche Bal láb Levá noha - Perna Esquerda + Perna esquerda 左足 왼쪽 다리 左脚 @@ -3044,7 +3044,7 @@ Jambe droite Jobb láb Pravá noha - Perna Direita + Perna direita 右足 오른쪽 다리 右脚 @@ -3055,7 +3055,7 @@ Lecz w pełni zabandażowane hitpointy Curar miembros totalmente vendados Исцелять полностью перебинтованные части тела - Curar hitpoints totalmente enfaixados + Curar pontos de vida totalmente enfaixados Heal fully bandaged hitpoints Cura hitpoints completamente bendati Soigner les plaies entièrement bandées @@ -3071,7 +3071,7 @@ Ból jest tymczasowo zwalczany Bolest je potlačena pouze dočasně El dolor se suprime solo temporalmente - Dor é suprimida somente temporáriamente + Dor é suprimida somente temporariamente La douleur est temporairement calmée A fájdalom csak ideiglenesen csökken Боль приглушается только временно @@ -3090,7 +3090,7 @@ Tipo de efecto de dolor Type d'effet de douleur Fájdalom-effekt típusa - Tipo do efeito de dor + Tipo do efeito da dor Typ bolesti - efekt 痛みの種類 고통 효과 종류 @@ -3123,7 +3123,7 @@ Aberration chromatique Kromatikus aberráció Chromatická aberace - Aberração Cromática + Aberração cromática 色の収差 색수차 色差 @@ -3152,11 +3152,11 @@ Wähle den Menüstil: Standard 3D-Auswahl oder kreisförmig. Выберите тип меню: стандартный вариант (3D) или радиальный Selecciona el tipo de menú que prefieres: selecciones 3d por defecto o radial. - Selecione o tipo de menu que você prefere; padrão seleções 3d ou radial. + Selecione o tipo de menu que você prefere; seleções 3d padrão ou radial. Válaszd ki a neked megfelelő menüt: Alapértelmezett 3D válogatás, vagy kerek. Zvolte typ menu: základní 3D výběr nebo kruhový Seleziona il tipo di menù che preferisci: selezione (3D), radiale o disabilitata. - 好みに応じてメニューの表示形式を選んでください。標準では 3D 選択か円状です。 + メニューの表示形式を選んでください。標準では 3D 選択か円状です。 선호하는 종류의 메뉴를 고르세요; 기본 3d 선택형 혹은 다이얼형 选择你喜欢的选单样式; 预设为3D选项或放射状 選擇你喜歡的選單樣式; 預設為3D選項或放射狀 @@ -3202,7 +3202,7 @@ Draśnięcie Arañazo Horzsolás - Raspão + Escoriação Odřenina 擦り傷 찰과상 @@ -3218,7 +3218,7 @@ Pomniejsze draśnięcie Arañazo menor Kis horzsolás - Raspão leve + Escoriação leve Malá odřenina 小さな擦り傷 소형 찰과상 @@ -3234,7 +3234,7 @@ Średnie draśnięcie Arañazo medio Közepes horzsolás - Raspão médio + Escoriação média Středně velká odřenina 中くらいの擦り傷 중형 찰과상 @@ -3250,7 +3250,7 @@ Duże draśnięcie Arañazo severo Nagy horzsolás - Raspão grave + Escoriação grave Velká odřenina 大きな擦り傷 대형 찰과상 @@ -3269,7 +3269,7 @@ Avulsão Avulze 剥離傷 - 열상 + 적출상 撕脱伤 撕脫傷 @@ -3285,7 +3285,7 @@ Avulsão leve Malá avulze 小さな剥離傷 - 소형 열상 + 소형 적출상 小撕脱伤 小撕脫傷 @@ -3301,7 +3301,7 @@ Avulsão média Střední avulze 中くらいの剥離傷 - 중형 열상 + 중형 적출상 中撕脱伤 中撕脫傷 @@ -3317,7 +3317,7 @@ Avulsão grave Velká avulze 大きな剥離傷 - 대형 열상 + 대형 적출상 大撕脱伤 大撕脫傷 @@ -3346,7 +3346,7 @@ Pomniejsze stłuczenie Contusión menor Kis zúzódás - Contusão leve + Hematoma leve Malá modřina 小さな打ち傷 소형 타박상 @@ -3362,7 +3362,7 @@ Średnie stłuczenie Contusión media Közepes zúzódás - Contusão média + Hematoma médio Středně velká modřina 中くらいの打ち傷 중형 타박상 @@ -3378,7 +3378,7 @@ Duże stłuczenie Contusión severa Nagy zúzódás - Contusão grave + Hematoma grande Velká modřina 大きな打撲傷 대형 타박상 @@ -3394,10 +3394,10 @@ Zgniecienie tkanek miękkich Tejido triturado Zúzott szövet - Tecido esmagado + Contusão Zhmoždění měkkých tkání 圧挫傷 - 좌상 + 압궤상 撞伤 撞傷 @@ -3410,10 +3410,10 @@ Pomniejsze zgniecienie tkanek miękkich Tejido triturado menor Kis zúzott szövet - Tecido esmagado leve + Contusão leve Malé zhmoždění měkkých tkání 小さな圧挫傷 - 소형 좌상 + 소형 압궤상 小撞伤 小撞傷 @@ -3426,10 +3426,10 @@ Średnie zgniecienie tkanek miękkich Tejido triturado medio Közepes zúzott szövet - Tecido esmagado médio + Contusão média Střední zhmoždění měkkých tkání 中くらいの圧挫傷 - 중형 좌상 + 중형 압궤상 中撞伤 中撞傷 @@ -3442,10 +3442,10 @@ Duże zgniecienie tkanek miękkich Tejido triturado severo Nagy zúzött szövet - Tecido esmagado grave + Contusão grande Velké zhmoždění měkkých tkání 大きな圧挫傷 - 대형 좌상 + 대형 압궤상 大撞伤 大撞傷 @@ -3525,7 +3525,7 @@ Ruptura Tržná rána 裂傷 - 창상 + 열상 撕裂伤 撕裂傷 @@ -3541,7 +3541,7 @@ Ruptura leve Malá tržná rána 小さな裂傷 - 소형 창상 + 소형 열상 小撕裂伤 小撕裂傷 @@ -3557,7 +3557,7 @@ Ruptura média Střední tržná rána 中くらいの裂傷 - 중형 창상 + 중형 열상 中撕裂伤 中撕裂傷 @@ -3573,7 +3573,7 @@ Ruptura grave Velká tržná rána 大きな裂傷 - 대형 창상 + 대형 열상 大撕裂伤 大撕裂傷 @@ -3586,7 +3586,7 @@ Plaie pénétrante Herida de bala Lőtt seb - Ferimento por projétil de arma de fogo + Trauma balístico Střelné poranění 銃創 총상 @@ -3602,7 +3602,7 @@ Herida de bala menor Kis lőtt seb Petite plaie pénétrante - Ferimento leve por projétil de arma de fogo + Trauma balístico pequeno Malé střelné poranění 小さな銃創 소형 총상 @@ -3618,7 +3618,7 @@ Herida de bala media Közepes lőtt seb Moyenne plaie pénétrante - Ferimento médio por projétil de arma de fogo + Trauma balístico médio Střední střelné poranění 中くらいの銃創 중형 총상 @@ -3634,7 +3634,7 @@ Herida de bala severa Nagy lőtt seb Grande plaie pénétrante - Ferimento grave por projétil de arma de fogo + Trauma balístico grande Velké střelné poranění 大きな銃創 대형 총상 @@ -3650,10 +3650,10 @@ Perforation Herida punzante Szúrt seb - Ferimento por perfuração + Ferimento perfurante Bodná rána 刺し傷 - 관통상 + 자상 穿刺伤 穿刺傷 @@ -3666,10 +3666,10 @@ Herida punzante menor Kis szúrt seb Petite perforation - Ferimento leve por perfuração + Ferimento perfurante leve Malá bodná rána 小さな刺し傷 - 소형 관통상 + 소형 자상 小穿刺伤 小穿刺傷 @@ -3682,10 +3682,10 @@ Herida punzante media Közepes szúrt seb Moyenne perforation - Ferimento médio por perfuração + Ferimento perfurante médio Střední bodná rána 中くらいの刺し傷 - 중형 관통상 + 중형 자상 中穿刺伤 中穿刺傷 @@ -3698,10 +3698,10 @@ Herida punzante severa Nagy szúrt seb Grande perforation - Ferimento grave por perfuração + Ferimento perfurante grave Velká bodná rána 大きな刺し傷 - 대형 관통상 + 대형 자상 大穿刺伤 大穿刺傷 @@ -3812,7 +3812,7 @@ Quel niveau de simulation médicale choisissez-vous? Milyen komplex legyen az orvosi szimuláció? Qual'è il livello di simulazione medica? - 治療の再現度は? + 治療の再現度 의료 시뮬레이션의 수준 选择需要的医疗模拟等级 選擇需要的醫療模擬等級 @@ -3950,7 +3950,7 @@ Activar los restos médicos que se crean en el tratamiento Aktiviere Abfälle, wenn eine Behandlung durchgeführt wurde Vytváří odpad zdravotnického materiálu pří léčení - Ativar lixo ser criado após tratamento + Ativar lixo a ser criado após tratamento Activer la création de détrimus au début des traitements Engedélyezi a szemét keletkezését ellátáskor Abilita la creazione della barella dopo trattamento @@ -3966,7 +3966,7 @@ Tiempo de vida de los restos médicos Dauer des angezeigten Abfalls Životnost pro odpadky - Tempo de vida dos objetos do lixo + Tempo de vida do lixo médico Durée d'affichage des détritus Szemétobjektumok élettartama Tempo di vita delle barelle @@ -3982,7 +3982,7 @@ ¿Por cuánto tiempo deben permanecer los restos médicos? En segundos. -1 es para siempre. Wie lange sollen Abfälle am Boden liegen (in Sekunden)? -1 ist für immer. Za jak dlouho začnou odpadky mizet? V sekundách. -1 navždy. - Quanto tempo os objetos do lixo devem ficar? Em segundos. -1 é para sempre. + Quanto tempo o lixo médico deve permanecer? Em segundos. -1 é para sempre. Combien de temps doivent rester affiché les détritus? En secondes. -1 pour tout le temps Milyen sokáig legyenek jelen a szemétobjektumok (másodpercben)? A -1 végtelen időt jelent. Per quanto devono restare le barelle? In secondi. -1 è permanente @@ -4046,7 +4046,7 @@ ¿Cuál es el daño que un jugador puede sufrir antes de morir? Wie viel Schaden kann ein Spieler erleiden, bevor er getötet wird? Jaké poškození může hráč dostat než bude zabit? - Qal é o dano que um jogador pode sofrer antes de morrer? + Qual é o dano que um jogador pode sofrer antes de morrer? Quels dégâts peut subir un joueur avant d'être tué Mennyi sérülést szenvedhet el egy játékos, mielőtt meghal? Quanto è il danno che un giocatore può sostenere prima di essere ucciso? @@ -4174,7 +4174,7 @@ Mover una unidad a inconsciente en vez de a muerta Lässt eine Einheit bewusstlos werden anstatt zu sterben Jednotka upadne do bezvědomí namísto smrti - Fazer a unidade ficar inconsciente invés de morrer + Fazer a unidade ficar inconsciente ao invés de morrer Forcer l'inconscience au lieu de la mort instantanée Egy egység kerüljön eszméletlen állapotba a halott helyett Imposta un'unità come incosciente invece di morta @@ -4429,7 +4429,7 @@ Accidentes de vehículos Fahrzeugunfälle Poškození z kolize - Batidas de veículos + Colisão de veículos Accident en véhicule Járműbalesetek Schianto Veicoli @@ -4445,7 +4445,7 @@ ¿Las unidades reciben daño de un accidente de tráfico? Verursacht ein Fahrzeugunfall Verletzungen Dostane jednotka poškození při autonehodě? - As unidades recebem dano de uma batida de veículo? + As unidades recebem dano de uma colisão de veículo? Les unités subissent des dégats lors d'accident Sérülnek-e az egységek autós ütközés során? Le unità sostengono danni da incidenti con veicoli? @@ -4462,7 +4462,7 @@ Activer l'épinéphrine Permette epinefrina Povolit adrenalin - Permitir Epinefrina + Permitir epinefrina Разрешить Адреналин アドレナリンの許可 에피네프린 활성화 @@ -4477,7 +4477,7 @@ Qui peut utiliser l'adrénaline pour les soins complets ? (Médical basique seulement) Chi può usare l'epinefrina per la cura completa? (solo per sistema medico di base) Kdo může použít adrenalin k úplnému vyléčení? (Pouze základní zdravotní systém) - Quem pode usar Epinefrina para cura completa? (Somente sistema médico básico) + Quem pode usar epinefrina para cura completa? (Somente sistema médico básico) Кому разрешено использовать адреналин для полного излечения? (Только для базовой медицины) 完全に回復できるよう誰しもがアドレナリンを使えるようにしますか? (ベーシック医療のみ) 완전한 체력회복을 위해 어느 인원이 에피네프린을 쓸 수 있습니까? (기본 의료 전용) @@ -4571,7 +4571,7 @@ Eliminar EPA después del uso Entf. Erste-Hilfe-Set bei Verwendung Odebrat osobní lékárničku po použití - Remover o KPS depois do uso + Remover o KPS após uso Utilisation unique de la trousse sanitaire Elsősegélycsomag eltávolítása használatkor Rimuovi Kit Pronto Soccorso dopo l'uso @@ -4587,7 +4587,7 @@ El EPA será eliminado después de usarlo Sollen Erste-Hilfe-Sets bei Verwendung entfernt werden? Má se osobní lékárnička odstranit po použití? - Deve o KPS ser removido depois do uso? + Deve o KPS ser removido após seu uso? La trousse sanitaire doit être consommée à l'utilisation? Eltávolítódjon az elsősegélycsomag használatkor? Il Kit Pronto Soccorso dev'essere rimosso dopo l'utilizzo? @@ -4604,7 +4604,7 @@ Utilisation de l'épinéphrine Ubicazione epinefrina Oblast k použití adrenalinu - Localizações de Epinefrina + Localizações de epinefrina Место использования адреналина アドレナリンをつかう場所 에피네프린 사용 장소 @@ -4619,7 +4619,7 @@ Où peut être utilisé l'épinéphrine ? (Médical basique) Dove si può usare l'epinefrina? (Sistema medico di base) Kde může být použit adrenalin? (Pouze základní zdravotní systém) - Onde pode-se usar a Epinefrina? (Somente sistema médico básico) + Onde pode-se usar a epinefrina? (Somente sistema médico básico) Где может использоваться адреналин? (Базовая медицина) どこでもアドレナリンをつかえるようにしますか? (ベーシック医療のみ) 어디에서 에피네프린을 사용할 수 있습니까? (기본 의료) @@ -4713,7 +4713,7 @@ Vehiculos médicos Sanitätsfahrzeuge Zdravotnická vozidla - Veículos médcos + Veículos médicos Dans les véhicules sanitaires Orvosi járművek Veicoli medici @@ -4809,7 +4809,7 @@ Eliminar el equipo quirúrgico después del uso Entferne Operationskästen bei Verwendung? Odebrat chirurgickou soupravu po použití? - Deve o kit cirúrgico ser removido após o uso? + Deve o kit cirúrgico ser removido após seu uso? La trousse chirurgicale doit être consommée à l'utilisation? Eltávolítódjon a sebészkészlet használatkor? Il Kit Chirurgico dev'essere rimosso dopo l'uso? @@ -4888,7 +4888,7 @@ Lecz hitpointy Curar puntos de vida Исцелять части тела - Curar hitpoints + Curar pontos de vida Léčit hitponty Cura Hitpoints Soigner les blessures @@ -4903,7 +4903,7 @@ Po bandażowaniu ulecz hitpointy, usuwając z nich ślady krwi i przywracając im pełną sprawność. Curar miembros totalmente vendados Исцелять полностью перебинтованные части тела - Curar totalmente hitpoints enfaixados + Curar totalmente pontos de vida enfaixados Heal fully bandaged hitpoints Cura Hitpoints completamente bendati Soigner les plaies entièrement bandées. @@ -4934,7 +4934,7 @@ Ból jest tylko tymczasowo zwalczany, nie jest usuwany trwale Bolest je potlačena, ale jen dočastně El dolor se suprime solo temporalmente, no se elimina. - Dor é somente temporáriamente suprimida, não removida + Dor é somente temporariamente suprimida, não removida La douleur est seulement temporairement calmée A fájdalom csak ideiglenesen csökken, nem távolítódik el Боль приглушается только временно @@ -5512,7 +5512,7 @@ %1 je příliš daleko, léčba není možná Distanza da %1 è diventata troppo alta per permettere trattamento %1 est trop loin pour être soigné - %1 は治療をできない所まで離れた + %1 は治療をできない所まで離れました %1 부터의 거리가 너무 멀어 치료할 수 없습니다 设定当距离超过%1将不能使用治疗动作 設定當距離超過%1將不能使用治療動作 @@ -5527,7 +5527,7 @@ Tato osoba (%1) je vzhůru a nemůže být naložena Questa persona (%1) è sveglia e non può essere caricata. %1 est conscient et ne peut être embarqué. - 患者 (%1) は意識があり、積み込めない + 患者 (%1) は意識があり、積み込めません 이 사람 (%1) 은(는) 의식이 있어 태우지 못합니다 此人(%1)是清醒且不能被装载 此人(%1)是清醒且不能被裝載 @@ -5600,7 +5600,7 @@ Atraso durante cessar fogo da AI durante inconsciência Délai de cessez le feu de l'IA pour la perte de conscience Задержка прекращения огня ботами при потере сознания - AI は気絶している人へ、ためらってから射撃します + AI が気絶者へためらってから射撃 기절할 경우 인공지능이 발사를 지연합니다 延长AI对已无意识玩家的停火时间 延長AI對已無意識玩家的停火時間 @@ -5623,5 +5623,29 @@ 关闭盖子 뚜껑 닫기 + + Unconscious animation during treatment + 処置中に気絶アニメーション + + + Allow animation of unconscious patients during treatment. + 患者の処置中に気絶アニメーションを許可します。 + + + Move unconscious units from group + グループから気絶ユニットを移動 + + + When a group member goes unconscious, removes them from their group. + グループのメンバーが気絶すると、グループから退出させます。 + + + Overdosing + 過剰投与 + + + Makes patient vulnerable to Morphine/Epinephrine/Atropine overdosing. + モルヒネ/アドレナリン/アトロピンの過剰投与により患者を脆弱にします。 + diff --git a/addons/medical_ai/ACE_Settings.hpp b/addons/medical_ai/ACE_Settings.hpp index 8a43c34484..fc24f6dc2f 100644 --- a/addons/medical_ai/ACE_Settings.hpp +++ b/addons/medical_ai/ACE_Settings.hpp @@ -1,6 +1,8 @@ class ACE_Settings { class GVAR(enabledFor) { category = ECSTRING(medical,Category_Medical); + displayName = CSTRING(enabledFor_DisplayName); + description = CSTRING(enabledFor_Description); value = 2; typeName = "SCALAR"; values[] = {ECSTRING(Common,Disabled), CSTRING(enabledFor_OnlyServerAndHC), ECSTRING(Common,Enabled)}; diff --git a/addons/medical_ai/stringtable.xml b/addons/medical_ai/stringtable.xml index b2bda42146..559fba299f 100644 --- a/addons/medical_ai/stringtable.xml +++ b/addons/medical_ai/stringtable.xml @@ -1,6 +1,14 @@  + + Medical AI enabled for + 次に AI 治療を有効 + + + Enable AI units to heal themselves and each other. + AI ユニットの自己や相互治療を有効化します。 + Only Server and HC Nur Server und HC diff --git a/addons/medical_menu/ACE_Settings.hpp b/addons/medical_menu/ACE_Settings.hpp index e3ece532fd..b180157b3a 100644 --- a/addons/medical_menu/ACE_Settings.hpp +++ b/addons/medical_menu/ACE_Settings.hpp @@ -25,6 +25,8 @@ class ACE_Settings { category = ECSTRING(medical,Category_Medical); }; class GVAR(maxRange) { + displayName = CSTRING(maxRange); + description = CSTRING(maxRange_Descr); //for ref: 3d interaction (MEDICAL_ACTION_DISTANCE) is 1.75 value = 3; typeName = "SCALAR"; diff --git a/addons/medical_menu/stringtable.xml b/addons/medical_menu/stringtable.xml index 96b765d174..9800c33bb2 100644 --- a/addons/medical_menu/stringtable.xml +++ b/addons/medical_menu/stringtable.xml @@ -41,7 +41,7 @@ Povolit klientům používat zdravotnickou nabídku Consenti ai clients di usare il Menù Medico Autoriser les clients à utiliser le menu médical - すべてのクライアントが治療メニューをつかえるようにする + 全クライアントが治療メニューを使えるようにします 클라이언트가 의료 메뉴를 쓰는것을 허락합니다 允许客户端使用医疗选单 允許客戶端使用醫療選單 @@ -56,7 +56,7 @@ Použít zdravotnickou nabídku Usa Menù Medico Utiliser le menu médical - 治療メニューをつかう + 治療メニューを使う 의료 메뉴 사용 使用医疗选单 使用醫療選單 @@ -71,7 +71,7 @@ Pokud je povoleno serverem, umožní použít zdravotnickou nabídku skrze kláv. zkratku a interakční menu Se consentito dal server, abilita l'opzione di usare il Menù Medico attraverso hotkeys e menù interazione Si autorisé par le serveur, active l'option d'utiliser le menu médical à travers les raccourcis clavier et le menu d'interaction. - サーバーが有効化を許可している場合は、オプションから有効化でき治療メニューはキー割り当てとインタラクション メニューを無視できます + サーバーが有効化を許可している場合はオプションから有効化でき、治療メニューはキー割り当てとインタラクション メニューを無視できます 서버 허가하에 단축키와 상호작용 메뉴로 의료 메뉴사용을 허가합니다 如果伺服器允许,只需透过按键即可叫出医疗选单 如果伺服器允許,只需透過按鍵即可叫出醫療選單 @@ -86,7 +86,7 @@ Znovu otevřít zdravotnickou nabídku Ri-apri Menù Medico Ré-ouvrir le menu médical - 治療メニューを再びひらく + 治療メニューを再び開く 의료 메뉴 다시 열기 重新开启医疗选单 重新開啟醫療選單 @@ -101,7 +101,7 @@ Znovu otevřít zdravotnickou nabídku po úspěšné léčbě Ri-Apri il Menù Medico dopo un trattamento riuscito Ré-ouvrir le menu médical après un traitement réussi - 治療が終わったあと、再び治療メニューをひらく + 治療が終わった後、再び治療メニューを開きます 성공적으로 치료한후에 의료 메뉴를 다시 엽니다 当治疗成功后重新打开医疗选单 當治療成功後重新打開醫療選單 @@ -116,7 +116,7 @@ Otevřít zdravotnickou nabídku Apri Menù Medico Ouvir le menu médical - 治療メニューをひらく + 治療メニューを開く 의료 메뉴 열기 开起医疗选单 開起醫療選單 @@ -146,7 +146,7 @@ Konfigurace využití zdravotnické nabídky Configura l'uso del Menù Medico Configurer l'utilisation du menu médical - 治療メニューを使うための設定 + 治療メニュー用の設定 의료 메뉴 사용의 설정 设置医疗选单的使用 設置醫療選單的使用 @@ -611,7 +611,7 @@ Existem %2 ferimentos abertos %1 Jsou zde %2 %1 otevřené rány Ci sono %2 %1 Ferite Aperte - 開いている傷口が %2 %1 ほどあるようだ + 開いている傷口が %2 %1 ほどあります 여기 %2 %1 크기의 열린 상처가 있다 有 %2 %1 开放性伤口 有 %2 %1 開放性傷口 @@ -641,7 +641,7 @@ Existe um ferimento parcial aberto %1 Je zde částečně %1 otevřená rána C'è 1 parziale %1 Ferita Aperta - 部分的に開いている %1 の傷口がある + 部分的に開いている %1 の傷口があります 여기 부분적으로 %1 크기의 상처가 있다 有部分 %1 开放性伤口 有部分 %1 開放性傷口 @@ -656,7 +656,7 @@ Existem %2 ferimentos %1 tratados Jsou zde %2 %1 ovázané rány Ci sono %2 %1 Ferite Bendate - ここには %2 %1 の処置された傷がある + ここには %2 %1 の処置された傷があります 여기에 붕대를 감은 %2 %1 크기의 상처가 있다 有 %2 %1 包扎过伤口 有 %2 %1 包紮過傷口 @@ -686,7 +686,7 @@ Existe um ferimento parcial tratado %1 Je zde částěčně %1 ovázaná rána C'è 1 parziale %1 Ferita Bendata - 患者には %1 の包帯で処置された傷がある + 患者には %1 の包帯で処置された傷があります 여기 부분적으로 붕대질한 %1 크기의 상처가 있다 有部分 %1 包扎过伤口 有部分 %1 包紮過傷口 @@ -716,7 +716,7 @@ Sem respiração Nedýchá Nessuna Respirazione - 息をしていない + 息をしていません 호흡이 없음 没有呼吸 沒有呼吸 @@ -731,7 +731,7 @@ Dificuldade para respirar Potíže s dýcháním Difficoltà Respiratorie - 呼吸が難しそうだ + 呼吸が難しそうです 호흡 곤란 呼吸困难 呼吸困難 @@ -746,7 +746,7 @@ Quase sem respiração Téměř nedýchá Quasi nessuna Respirazione - ほとんど呼吸していない + ほとんど呼吸していません 호흡이 거의 없음 几乎没有呼吸 幾乎沒有呼吸 @@ -791,7 +791,7 @@ Perdeu muito sangue Ztratil hodně krve Perso molto Sangue - 大量失血している + 大量失血しています 많은 피를 흘림 大量失血 大量失血 @@ -826,5 +826,13 @@ 鼻咽管 鼻咽管 + + Medical Menu maximum range + 治療メニューの最大範囲 + + + Maximum distance from where the Medical Menu can be opened. + 治療メニューを開く事ができる最大範囲 + diff --git a/addons/minedetector/stringtable.xml b/addons/minedetector/stringtable.xml index 0e2e31e5a6..72f389813f 100644 --- a/addons/minedetector/stringtable.xml +++ b/addons/minedetector/stringtable.xml @@ -83,7 +83,7 @@ Headphones Connected Наушники подключены Sluchátka připojena - ヘッドホンへ接続された + ヘッドホンに接続しました Słuchawki podpięte Kopfhörer verbunden 헤드폰 연결됨 @@ -96,7 +96,7 @@ Headphones Disconnected Наушники отключены Sluchátka odpojena - ヘッドホンから外された + ヘッドホンから外しました Słuchawki odpięte Kopfhörer getrennt 헤드폰 연결끊김 diff --git a/addons/missionmodules/stringtable.xml b/addons/missionmodules/stringtable.xml index 55a754bf85..90142f9795 100644 --- a/addons/missionmodules/stringtable.xml +++ b/addons/missionmodules/stringtable.xml @@ -18,20 +18,20 @@ ACE 任務模塊 - Ambiance Sounds [ACE] - Dźwięki [ACE] - [ACE] Sonidos ambiente - Umgebungsgeräusche [ACE] - Zvuky prostředí [ACE] - [ACE] Sons ambientes - Sons d'ambiance [ACE] - Ambiens hangok [ACE] - Звук окружения [ACE] - Souni Ambientali [ACE] - 環境音 [ACE] - 환경 효과음 [ACE] - 环境声音 [ACE] - 環境聲音 [ACE] + Ambiance Sounds + Dźwięki + Sonidos ambiente + Umgebungsgeräusche + Zvuky prostředí + Sons ambientes + Sons d'ambiance + Ambiens hangok + Звук окружения + Souni Ambientali + 環境音 + 환경 효과음 + 环境声音 + 環境聲音 Sounds diff --git a/addons/movement/stringtable.xml b/addons/movement/stringtable.xml index 2d587ce3d2..1e8caf3a5f 100644 --- a/addons/movement/stringtable.xml +++ b/addons/movement/stringtable.xml @@ -44,7 +44,7 @@ Itt nem tudsz mászni Non puoi arrampicarti qui Não se pode subir aqui - ここは登れない + ここは登れません 这里无法攀爬 這裡無法攀爬 여기는 올라갈 수 없다 diff --git a/addons/nametags/ACE_Settings.hpp b/addons/nametags/ACE_Settings.hpp index 5f2956d03c..702cba07cd 100644 --- a/addons/nametags/ACE_Settings.hpp +++ b/addons/nametags/ACE_Settings.hpp @@ -37,6 +37,7 @@ class ACE_Settings { category = CSTRING(Module_DisplayName); }; class GVAR(showCursorTagForVehicles) { + displayName = CSTRING(showCursorTagForVehicles_DisplayName); value = 0; typeName = "BOOL"; isClientSettable = 0; @@ -52,6 +53,7 @@ class ACE_Settings { category = CSTRING(Module_DisplayName); }; class GVAR(playerNamesViewDistance) { + displayName = CSTRING(playerNamesViewDistance_DisplayName); value = 5; typeName = "SCALAR"; isClientSettable = 0; @@ -59,6 +61,7 @@ class ACE_Settings { sliderSettings[] = {0, 50, 5, 1}; }; class GVAR(playerNamesMaxAlpha) { + displayName = CSTRING(playerNamesMaxAlpha); value = 0.8; typeName = "SCALAR"; isClientSettable = 0; diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index ef6f27fb16..6c93c591de 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -331,7 +331,7 @@ Ez a modul lehetővé teszi a névcímkék beállításainak testreszabását. Этот модуль позволяет настроить опции и дистанцию отображения имен игроков. Questo modulo ti consente di personalizzare le impostazioni ed il raggio delle Etichette Nomi - このモジュールは名札の表示範囲と設定を変更できます。 + これは名札の表示範囲と設定を変更できます。 이 모듈은 당신이 이름표의 범위를 임의로 수정할 수 있게 해줍니다. 这个模块允许您设定名称和显示范围等设定 這個模塊允許您設定名稱和顯示範圍等設定 @@ -539,5 +539,9 @@ 在荧幕边框旁淡出 在螢幕邊框旁淡出 + + Player tags transparency + プレイヤー名札の透明度 + diff --git a/addons/nightvision/ACE_Settings.hpp b/addons/nightvision/ACE_Settings.hpp index 2cf90a2c05..1b9b0e164a 100644 --- a/addons/nightvision/ACE_Settings.hpp +++ b/addons/nightvision/ACE_Settings.hpp @@ -1,32 +1,17 @@ class ACE_Settings { class GVAR(disableNVGsWithSights) { - category = CSTRING(Category); - displayName = CSTRING(DisableNVGsWithSights_DisplayName); - description = CSTRING(DisableNVGsWithSights_description); - typeName = "BOOL"; - value = 0; + movedToSQF = 1; }; class GVAR(fogScaling) { - category = CSTRING(Category); - displayName = CSTRING(fogScaling_DisplayName); - description = CSTRING(fogScaling_Description); - typeName = "SCALAR"; - value = 1; - sliderSettings[] = {0, 2, 1, 1}; + movedToSQF = 1; + }; + class GVAR(noiseScaling) { + movedToSQF = 1; }; class GVAR(effectScaling) { - category = CSTRING(Category); - displayName = CSTRING(effectScaling_DisplayName); - description = CSTRING(effectScaling_Description); - typeName = "SCALAR"; - value = 1; - sliderSettings[] = {0, 2, 1, 1}; + movedToSQF = 1; }; class GVAR(aimDownSightsBlur) { - category = CSTRING(Category); - displayName = CSTRING(aimDownSightsBlur_DisplayName); - typeName = "SCALAR"; - value = 1; - sliderSettings[] = {0, 2, 1, 1}; + movedToSQF = 1; }; }; diff --git a/addons/nightvision/XEH_postInit.sqf b/addons/nightvision/XEH_postInit.sqf index 986013d106..44926ae7ac 100644 --- a/addons/nightvision/XEH_postInit.sqf +++ b/addons/nightvision/XEH_postInit.sqf @@ -23,7 +23,7 @@ GVAR(ppeffectBlur) = -1; ["ace_settingsInitialized", { - TRACE_3("settingsInitialized",GVAR(disableNVGsWithSights),GVAR(fogScaling),GVAR(effectScaling)); + TRACE_4("settingsInitialized",GVAR(disableNVGsWithSights),GVAR(fogScaling),GVAR(noiseScaling),GVAR(effectScaling)); ["visionMode", LINKFUNC(onVisionModeChanged), false] call CBA_fnc_addPlayerEventHandler; diff --git a/addons/nightvision/XEH_preInit.sqf b/addons/nightvision/XEH_preInit.sqf index b47cf6628d..d021ef1f57 100644 --- a/addons/nightvision/XEH_preInit.sqf +++ b/addons/nightvision/XEH_preInit.sqf @@ -6,4 +6,6 @@ PREP_RECOMPILE_START; #include "XEH_PREP.hpp" PREP_RECOMPILE_END; +#include "initSettings.sqf"; + ADDON = true; diff --git a/addons/nightvision/functions/fnc_onFiredPlayer.sqf b/addons/nightvision/functions/fnc_onFiredPlayer.sqf index 3621c975f8..efd01e1fd4 100644 --- a/addons/nightvision/functions/fnc_onFiredPlayer.sqf +++ b/addons/nightvision/functions/fnc_onFiredPlayer.sqf @@ -18,7 +18,7 @@ //IGNORE_PRIVATE_WARNING ["_unit", "_weapon", "_muzzle", "_mode", "_ammo", "_magazine", "_projectile"]; TRACE_7("firedEH:",_unit, _weapon, _muzzle, _mode, _ammo, _magazine, _projectile); -if ((!GVAR(running)) || {_weapon == "throw"} || {_weapon == "put"}) exitWith {}; +if ((!GVAR(running)) || {!GVAR(shutterEffects)} || {_weapon == "throw"} || {_weapon == "put"}) exitWith {}; private _visibleFireCoef = 1; if (_unit == ace_player) then { diff --git a/addons/nightvision/functions/fnc_pfeh.sqf b/addons/nightvision/functions/fnc_pfeh.sqf index 5da34d2aac..5c8e378c4d 100644 --- a/addons/nightvision/functions/fnc_pfeh.sqf +++ b/addons/nightvision/functions/fnc_pfeh.sqf @@ -92,13 +92,14 @@ if (CBA_missionTime < GVAR(nextEffectsUpdate)) then { if (currentWeapon ACE_player == handgunWeapon ACE_player) exitWith {_blurFinal = _blurFinal * linearConversion [0, 1, GVAR(aimDownSightsBlur), 1, ST_NVG_CAMERA_BLUR_SIGHTS_PISTOL]}; // Pistols aren't so bad }; - // Scale effects based on ace_nightvision_effectScaling setting - _grainIntensityFinal = _grainIntensityFinal * GVAR(effectScaling); - _noiseSharpnessFinal = linearConversion [0, 1, GVAR(effectScaling), 2.5, _noiseSharpnessFinal]; + // Scale general effects based on ace_nightvision_effectScaling setting private _radialBlurPower = 0.0025 * GVAR(effectScaling); _brightFinal = linearConversion [0, 1, GVAR(effectScaling), 1, _brightFinal]; _contrastFinal = linearConversion [0, 1, GVAR(effectScaling), 1, _contrastFinal]; + // Scale grain effects based on ace_nightvision_noiseScaling setting + _grainIntensityFinal = _grainIntensityFinal * GVAR(noiseScaling); + _noiseSharpnessFinal = linearConversion [0, 1, GVAR(noiseScaling), 2.5, _noiseSharpnessFinal]; // Setup all effects // This is hacky but... works. This prevents the effects from being cancelled by various things - alt-tabbing, resizing, going into AT sights, etc. A nicer method would be welcome but I don't have time to spend on it. TODO. @@ -152,7 +153,18 @@ if (CBA_missionTime < GVAR(nextEffectsUpdate)) then { #ifdef DEBUG_MODE_FULL private _aceAmbient = [] call EFUNC(common,ambientBrightness); - hintSilent format ["EffectiveLight %1\nLight: %2\nACE Ambient: %3\nBrightness: %4\nContrast: %5\nGrain: %6\nBlur: %7\nFog: %8\nScaling %9", _effectiveLight, _lightFinal, _aceAmbient, _brightFinal, _contrastFinal, [_grainIntensityFinal, _noiseSharpnessFinal, _grainFinal], _blurFinal, _fogApply, [GVAR(effectScaling),GVAR(fogScaling)]]; + hintSilent format [ + "EffectiveLight %1\nLight: %2\nACE Ambient: %3\nBrightness: %4\nContrast: %5\nGrain: %6\nBlur: %7\nFog: %8\nScaling %9", + _effectiveLight, + _lightFinal, + _aceAmbient, + _brightFinal, + _contrastFinal, + [_grainIntensityFinal, _noiseSharpnessFinal, _grainFinal], + _blurFinal, + _fogApply, + [GVAR(effectScaling), GVAR(fogScaling), GVAR(noiseScaling)] + ]; #endif END_COUNTER(updateAllEffects); diff --git a/addons/nightvision/initSettings.sqf b/addons/nightvision/initSettings.sqf new file mode 100644 index 0000000000..884c53055a --- /dev/null +++ b/addons/nightvision/initSettings.sqf @@ -0,0 +1,54 @@ +// CBA Settings [ADDON: ace_nightVision]: + +[ + QGVAR(effectScaling), "SLIDER", + [LSTRING(effectScaling_DisplayName), LSTRING(effectScaling_Description)], + localize LSTRING(Category), + [0,2,1,1], // [min, max, default value, trailing decimals (-1 for whole numbers only)] + true, // isGlobal + {[QGVAR(effectScaling), _this] call EFUNC(common,cbaSettings_settingChanged)} +] call CBA_settings_fnc_init; +[ + QGVAR(fogScaling), "SLIDER", + [LSTRING(fogScaling_DisplayName), LSTRING(fogScaling_Description)], + localize LSTRING(Category), + [0,2,1,1], // [min, max, default value, trailing decimals (-1 for whole numbers only)] + true, // isGlobal + {[QGVAR(fogScaling), _this] call EFUNC(common,cbaSettings_settingChanged)} +] call CBA_settings_fnc_init; + +[ + QGVAR(noiseScaling), "SLIDER", + [LSTRING(noiseScaling_DisplayName), LSTRING(noiseScaling_Description)], + localize LSTRING(Category), + [0,2,1,1], // [min, max, default value, trailing decimals (-1 for whole numbers only)] + true, // isGlobal + {[QGVAR(noiseScaling), _this] call EFUNC(common,cbaSettings_settingChanged)} +] call CBA_settings_fnc_init; + +[ + QGVAR(aimDownSightsBlur), "SLIDER", + [LSTRING(aimDownSightsBlur_DisplayName)], + localize LSTRING(Category), + [0,2,1,1], // [min, max, default value, trailing decimals (-1 for whole numbers only)] + true, // isGlobal + {[QGVAR(aimDownSightsBlur), _this] call EFUNC(common,cbaSettings_settingChanged)} +] call CBA_settings_fnc_init; + +[ + QGVAR(disableNVGsWithSights), "CHECKBOX", + [LSTRING(DisableNVGsWithSights_DisplayName), LSTRING(DisableNVGsWithSights_description)], + localize LSTRING(Category), + false, // default value + true, // isGlobal + {[QGVAR(disableNVGsWithSights), _this] call EFUNC(common,cbaSettings_settingChanged)} +] call CBA_settings_fnc_init; + +[ + QGVAR(shutterEffects), "CHECKBOX", + [LSTRING(shutterEffects_DisplayName), LSTRING(shutterEffects_description)], + localize LSTRING(Category), + true, // default value + false, // isGlobal + {[QGVAR(shutterEffects), _this] call EFUNC(common,cbaSettings_settingChanged)} +] call CBA_settings_fnc_init; diff --git a/addons/nightvision/stringtable.xml b/addons/nightvision/stringtable.xml index 9bb333a82d..115d05affa 100644 --- a/addons/nightvision/stringtable.xml +++ b/addons/nightvision/stringtable.xml @@ -6,6 +6,8 @@ ACE 暗視装置 Visione notturna ACE ACE-Nachtsicht + ACE夜視鏡 + ACE夜视镜 NV Goggles (Gen1) @@ -208,7 +210,7 @@ Impostazioni per visione notturna. Parámetros para visión nocturna Réglage pour la vision nocturne - 暗視装置の設定。 + 暗視装置の設定をします。 야간투시경 설정 设定夜视选项. 設定夜視選項. @@ -238,7 +240,7 @@ Blocca l'uso di visori notturni mentre miri con ottiche. Desactiva el uso de gafas visión nocturna cuando se utilizan miras normales. Bloque l'usage des JVN pendant la visée. - スコープを使い狙いを付けると、暗視装置を無効化します。 + スコープで狙いを付けると、暗視装置を無効化します。 조준시 야투경의 사용을 제한합니다. 此功能开启后,当要使用瞄准镜时,为避免夜视镜镜头碰撞到瞄准镜,会先拿开夜视镜后再进行瞄准镜瞄准。 此功能開啟後,當要使用瞄準鏡時,為避免夜視鏡鏡頭碰撞到瞄準鏡,會先拿開夜視鏡後再進行瞄準鏡瞄準。 @@ -248,29 +250,61 @@ 暗視装置の霧の規模 Livello Nebbia NVG Nebel in Nachtsicht + 夜視鏡霧氣程度 + 夜视镜雾气程度 Fog is used to limit visibility. 霧は視界制限のために使われます。 La nebbia viene utilizzata per limitare la visibilità. Nebel wird genutzt, um die Sichtbarkeit einzuschränken. + 透過霧氣來縮減夜視鏡的可視距離。 + 透过雾气来缩减夜视镜的可视距离。 NVG Effect Scale 暗視装置の効果規模 Effetto livello NVG Nachtsichteffekte + 夜視鏡效果程度 + 夜视镜效果程度 - Blur, grain and brightness effects [Setting to 0 will disable ALL nightvision effects] + Blur and brightness effects [Setting to 0 will disable ALL nightvision effects] ぼかしと粒子、明度効果 [0 に設定で全効果を無効化します] - Effetti di sfocatura, sgranatura e luminosità [Importare a 0 disabiliterà TUTTI gli effetti della visione notturna] - Unschärfe-, Körnungs- und Helligkeitseffekte [Dies auf 0 zu setzen deaktiviert SÄMTLICHE Nachtsichteffekte] + Effetti di sfocatura e luminosità [Importare a 0 disabiliterà TUTTI gli effetti della visione notturna] + Unschärfe und Helligkeitseffekte [Dies auf 0 zu setzen deaktiviert SÄMTLICHE Nachtsichteffekte] + 調整模糊與亮度的效果。[設值為0會關閉所有夜視鏡的特殊效果] + 调整模糊与亮度的效果。[设值为0会关闭所有夜视镜的特殊效果] Aim Down Sights Blur - 照準器を使用時にぼかし + 照準器を覗く時にぼかし Visierunschärfe + 瞄準具模糊程度 + 瞄准具模糊程度 + + + NVG Noise Scale + Intensität des Bildrauschens + 夜視鏡雜訊程度 + 夜视镜杂讯程度 + 暗視装置のノイズ度 + + + Image noise intensity when wearing NVGs + Intensität des Bildrauschens im Nachtsichtgerät + 調整配戴夜視鏡時畫面雜訊的多寡。 + 调整配戴夜视镜时画面杂讯的多寡。 + 暗視装置を使用時に起きる画像ノイズの強度です + + + Shutter Effects + シャッター効果 + + + Rolling shutter effect from muzzle flashes + 発射炎が作るローリング シャッター効果です diff --git a/addons/nlaw/CfgAmmo.hpp b/addons/nlaw/CfgAmmo.hpp index f0649b2ba4..f51816d692 100644 --- a/addons/nlaw/CfgAmmo.hpp +++ b/addons/nlaw/CfgAmmo.hpp @@ -39,11 +39,11 @@ class CfgAmmo { // Sub ammos used in OTA mode (see fnc_seeker.sqf) class ACE_NLAW_Explosion: ACE_NLAW { // Based on FCS-Airburst, will explode right away timeToLive = 0; - model = ""; + model = "\A3\weapons_f\empty"; }; class ACE_NLAW_ShapedCharge: ACE_NLAW { // Shaped charge from rocket explosion, no effects timeToLive = 1; - model = ""; + model = "\A3\weapons_f\empty"; hit = 750; indirectHit = 0; indirectHitRange = 0; diff --git a/addons/overheating/functions/fnc_canSwapBarrel.sqf b/addons/overheating/functions/fnc_canSwapBarrel.sqf index 560183e382..8d261db408 100644 --- a/addons/overheating/functions/fnc_canSwapBarrel.sqf +++ b/addons/overheating/functions/fnc_canSwapBarrel.sqf @@ -18,7 +18,7 @@ params ["_unit","_weapon"]; //Check if weapon can have its barrel swapped. If not exit out of function -if( !GVAR(enabled) && (getNumber (configFile >> 'CfgWeapons' >> _weapon >> QGVAR(allowSwapBarrel))) != 1) exitWith{false}; +if( !GVAR(enabled) || {getNumber (configFile >> 'CfgWeapons' >> _weapon >> QGVAR(allowSwapBarrel)) != 1}) exitWith{false}; //Get the classname of the spare barrel for the weapon private _weaponBarrelClass = getText (configFile >> 'CfgWeapons' >> _weapon >> QGVAR(barrelClassname)); diff --git a/addons/overheating/functions/fnc_displayTemperature.sqf b/addons/overheating/functions/fnc_displayTemperature.sqf index e829b61f57..b02a555bd4 100644 --- a/addons/overheating/functions/fnc_displayTemperature.sqf +++ b/addons/overheating/functions/fnc_displayTemperature.sqf @@ -45,7 +45,7 @@ for "_a" from (_count + 1) to 12 do { TRACE_3("",_temperature,_color,_string); -_text = composeText [_text, [_string, [0.5, 0.5, 0.5]] call EFUNC(common,stringToColoredText)]; +_text = composeText [_text, [_string, "#808080"] call EFUNC(common,stringToColoredText)]; private _picture = getText (configFile >> "CfgWeapons" >> _weapon >> "picture"); diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 57e14a50e2..e3995047a0 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -81,7 +81,7 @@ Částicové efekty přehřívání pro všechny Efeito de partícula de superaquecimento para todos Эффект частиц при перегреве для всех - 過熱の視覚表現を全体に与えます + 過熱の視覚表現を全員に与えます 모두에게 과열 입자 효과 적용 显示其他玩家的枪管过热特效 顯示其他玩家的槍管過熱特效 @@ -126,7 +126,7 @@ Armas superaquecidas irão ser menos precisas e ter velocidade de disparo reduzidas. Aplica a todos os jogadores. Перегретое оружие будет менее точным, а дульная скорость будет снижена. Применяется ко всем игрокам. Přehřátá zbraň bude méně přesná a bude mít menší úsťovou rychlost. Platí pro všechny hráče. - 過熱は精度を減少させたり、初速を低下させます、これは全プレイヤに適用します。 + 過熱は精度を減少させたり、初速を低下させます。これは全プレイヤに適用します。 무기 과열시 무기의 명중률이 저하되고 총구속도가 감소합니다. 이는 모든 플레이어에게 적용됩니다. 过热的武器将会有打不准和减少射击初速的情况。适用于所有玩家 過熱的武器將會有打不準和減少射擊初速的情況。適用於所有玩家 @@ -218,7 +218,7 @@ Használd a cső kicseréléséhez. Use para trocar o cano/estriamento. Usata per cambiare la canna. - 予備銃身に交換する。 + 予身の交換に使用します。 총열을 바꿀때 사용합니다. 用来更换枪管 用來更換槍管 @@ -266,7 +266,7 @@ Akadás elhárítva Arma destravada Arma pronta al fuoco - 弾詰りが除去された + 弾詰りが除去されました 탄걸림 해결됨 卡弹已清除 卡彈已清除 @@ -281,7 +281,7 @@ Zbrań se nepodařilo uvolnit Falha no desemperramento Не удалось исправить клин - 弾詰りの除去に失敗した + 弾詰りの除去に失敗しました 탄걸림 해결 실패 卡弹未能清除 卡彈未能清除 @@ -329,7 +329,7 @@ Cső kicserélve Cano substituído Canna sostituita - 銃身を交換した + 銃身を交換しました 교체된 총열 完成换枪管 完成換槍管 diff --git a/addons/overpressure/ACE_Arsenal_Stats.hpp b/addons/overpressure/ACE_Arsenal_Stats.hpp new file mode 100644 index 0000000000..906c50e8fb --- /dev/null +++ b/addons/overpressure/ACE_Arsenal_Stats.hpp @@ -0,0 +1,21 @@ +class EGVAR(arsenal,stats) { + class statBase; + class ACE_backblastAngle: statBase { + scope = 2; + priority = 2; + stats[] = {QGVAR(angle)}; + displayName = CSTRING(statBackblastAngle); + showText = 1; + textStatement = QUOTE(params [ARR_2('_stat', '_config')]; format [ARR_2('%1°', getNumber (_config >> _stat select 0))]); + tabs[] = {{2}, {}}; + }; + class ACE_backblastRange: statBase { + scope = 2; + priority = 1; + stats[] = {QGVAR(range)}; + displayName = CSTRING(statBackblastRange); + showText = 1; + textStatement = QUOTE(params [ARR_2('_stat', '_config')]; private _blastRangeStat = getNumber (_config >> _stat select 0); format [ARR_3('%1m (%2ft)', _blastRangeStat, (_blastRangeStat / 0.3048) toFixed 1)]); + tabs[] = {{2}, {}}; + }; +}; diff --git a/addons/overpressure/config.cpp b/addons/overpressure/config.cpp index d99cbb1cc7..3815cc831f 100644 --- a/addons/overpressure/config.cpp +++ b/addons/overpressure/config.cpp @@ -17,3 +17,4 @@ class CfgPatches { #include "ACE_Settings.hpp" #include "CfgEventHandlers.hpp" #include "CfgWeapons.hpp" +#include "ACE_Arsenal_Stats.hpp" diff --git a/addons/overpressure/stringtable.xml b/addons/overpressure/stringtable.xml index 9d909f918e..2191a29dec 100644 --- a/addons/overpressure/stringtable.xml +++ b/addons/overpressure/stringtable.xml @@ -23,5 +23,13 @@ 高压影响的范围 [预设: 1] 高壓影響的範圍 [預設: 1] + + Backblast range + 後方噴射の範囲 + + + Backblast angle + 後方噴射の角度 + diff --git a/addons/parachute/stringtable.xml b/addons/parachute/stringtable.xml index 820aa822d1..fa46ad254f 100644 --- a/addons/parachute/stringtable.xml +++ b/addons/parachute/stringtable.xml @@ -102,12 +102,16 @@ Freifall-Höhenmesser verstecken 降下時に高度計を非表示 Nascondi Altimetro in Caduta Libera + 隱藏自由落體高度計 + 隐藏自由落体高度计 Hides the altitude and speed shown while free falling or parachuting. Blendet den Höhen- und Geschwindigkeitsmesser während des Fallschirmspringens aus. - 自由降下時かパラシュート中に高度と速度を非表示にします。 + 自由降下時とパラシュート中に高度と速度を非表示にします。 Nasconde l'altitudine e la velocità mostrate durante la caduta libera o paracadutandosi. + 在自由落體時或開傘下隱藏自由落體高度計。 + 在自由落体时或开伞下隐藏自由落体高度计。 diff --git a/addons/pylons/XEH_postInit.sqf b/addons/pylons/XEH_postInit.sqf index 8dae8d4552..72a07078d0 100644 --- a/addons/pylons/XEH_postInit.sqf +++ b/addons/pylons/XEH_postInit.sqf @@ -28,8 +28,17 @@ } forEach GVAR(aircraftWithPylons); [QGVAR(setPylonLoadOutEvent), { - params ["_aircraft", "_pylonIndex", "_pylon", "_turret"]; + params ["_aircraft", "_pylonIndex", "_pylon", "_turret", "_weaponToRemove"]; + TRACE_5("setPylonLoadOutEvent",_aircraft,_pylonIndex,_pylon,_turret,_weaponToRemove); _aircraft setPylonLoadOut [_pylonIndex, _pylon, false, _turret]; + if (_weaponToRemove != "") then { + { + if (_aircraft turretLocal _x) then { + TRACE_3("removing",_aircraft,_x,_weaponToRemove); + _aircraft removeWeaponTurret [_weaponToRemove, _x]; + }; + } forEach [[-1], [0]]; + }; }] call CBA_fnc_addEventHandler; [QGVAR(setAmmoOnPylonEvent), { diff --git a/addons/pylons/functions/fnc_configurePylons.sqf b/addons/pylons/functions/fnc_configurePylons.sqf index 2fbc91e949..401063f8a9 100644 --- a/addons/pylons/functions/fnc_configurePylons.sqf +++ b/addons/pylons/functions/fnc_configurePylons.sqf @@ -27,8 +27,10 @@ if (_currentPylon == count _pylonsToConfigure) exitWith {}; { (_this select 0) params ["_pylonsToConfigure", "_currentPylon"]; private _pylonIndex = _pylonsToConfigure select _currentPylon; + TRACE_2("",_currentPylon,_pylonIndex); // Remove the weapon of current pylon from aircraft IF weapon is only on this pylon + private _weaponToRemove = ""; private _currentPylonMagazine = (getPylonMagazines GVAR(currentAircraft)) select _pylonIndex; if (_currentPylonMagazine != "") then { private _allPylonWeapons = (getPylonMagazines GVAR(currentAircraft)) apply { @@ -36,7 +38,8 @@ if (_currentPylon == count _pylonsToConfigure) exitWith {}; }; private _pylonWeapon = _allPylonWeapons select _pylonIndex; if (({_x == _pylonWeapon} count _allPylonWeapons) == 1) then { - GVAR(currentAircraft) removeWeaponGlobal _pylonWeapon; + TRACE_2("Removing unused weapon",_pylonWeapon,_allPylonWeapons); + _weaponToRemove = _pylonWeapon; }; }; @@ -47,7 +50,7 @@ if (_currentPylon == count _pylonsToConfigure) exitWith {}; [ QGVAR(setPylonLoadOutEvent), - [GVAR(currentAircraft), _pylonIndex + 1, _pylonMagazine, _turret] + [GVAR(currentAircraft), _pylonIndex + 1, _pylonMagazine, _turret, _weaponToRemove] ] call CBA_fnc_globalEvent; private _count = if (GVAR(rearmNewPylons) || {GVAR(isCurator)}) then { diff --git a/addons/pylons/functions/fnc_showDialog.sqf b/addons/pylons/functions/fnc_showDialog.sqf index 47b6585c89..5be18d20e8 100644 --- a/addons/pylons/functions/fnc_showDialog.sqf +++ b/addons/pylons/functions/fnc_showDialog.sqf @@ -149,7 +149,10 @@ if (!GVAR(isCurator)) then { isNull (GVAR(currentAircraft) getVariable [QGVAR(currentUser), objNull]) || {(ace_player distanceSqr GVAR(currentAircraft)) > GVAR(searchDistanceSqr)} }, { - [localize LSTRING(TooFar), false, 5] call EFUNC(common,displayText); + TRACE_3("disconnect/far",GVAR(currentAircraft),ace_player distance GVAR(currentAircraft),GVAR(currentAircraft) getVariable QGVAR(currentUser)); + if ((ace_player distanceSqr GVAR(currentAircraft)) > GVAR(searchDistanceSqr)) then { + [localize LSTRING(TooFar), false, 5] call EFUNC(common,displayText); + }; call FUNC(onButtonClose); }] call CBA_fnc_waitUntilAndExecute; }; diff --git a/addons/quickmount/functions/fnc_getInNearest.sqf b/addons/quickmount/functions/fnc_getInNearest.sqf index 4b5debc2aa..49f1f3521c 100644 --- a/addons/quickmount/functions/fnc_getInNearest.sqf +++ b/addons/quickmount/functions/fnc_getInNearest.sqf @@ -37,7 +37,7 @@ TRACE_1("",_target); if (!isNull _target && {alive _target} && {{_target isKindOf _x} count ["Air","LandVehicle","Ship","StaticMortar"] > 0} && - {([ACE_player, _target] call EFUNC(common,canInteractWith))} && + {([ACE_player, _target, ["isNotSwimming"]] call EFUNC(common,canInteractWith))} && {speed _target <= GVAR(speed)} ) then { diff --git a/addons/quickmount/stringtable.xml b/addons/quickmount/stringtable.xml index 2032af7a44..2caefe566f 100644 --- a/addons/quickmount/stringtable.xml +++ b/addons/quickmount/stringtable.xml @@ -25,7 +25,7 @@ Quickly enter the vehicle you are directly looking at. Schnellzugang in das Fahrzeug, welches man direkt anschaut. Entra velocemente nel veicolo che stai guardando. - 直接見ている車両へ迅速に搭乗します。 + 見ている車両へ迅速に搭乗します。 快速进入你正在看的载具之中 快速進入你正在看的載具之中 Szybko wsiądź do pojazdu, na który patrzysz. @@ -35,7 +35,7 @@ Vehicle Full Fahrzeug voll Veicolo Pieno - 車両は満員 + 車両は満員です 载具已满 載具已滿 Pojazd pełny @@ -65,7 +65,7 @@ Vehicle Locked Fahrzeug abgeschlossen Veicolo Bloccato. - 車両は施錠されている + 車両は施錠されています 载具已上锁 載具已上鎖 Pojazd zablokowany @@ -105,7 +105,7 @@ Seat priority on entry Priorisierter Sitzplatz zum Schnellzugang Priorità del sedile in entrata - 搭乗の際の優先順位 + 搭乗時の優先順位 优先想进入哪个座位。 優先想進入哪個座位。 Priorytet pozycji w pojeździe diff --git a/addons/realisticnames/CfgMagazines.hpp b/addons/realisticnames/CfgMagazines.hpp index ad6746df06..65d6e3d05e 100644 --- a/addons/realisticnames/CfgMagazines.hpp +++ b/addons/realisticnames/CfgMagazines.hpp @@ -246,23 +246,23 @@ class CfgMagazines { displayNameShort = "125mm MP-T"; }; - class 32Rnd_120mm_APFSDS_shells; - class 24Rnd_125mm_APFSDS: 32Rnd_120mm_APFSDS_shells { + class 20Rnd_125mm_APFSDS; + class 24Rnd_125mm_APFSDS: 20Rnd_125mm_APFSDS { displayNameShort = "125mm AP"; }; - class 32Rnd_120mm_APFSDS_shells_Tracer_Red; - class 24Rnd_125mm_APFSDS_T_Red: 32Rnd_120mm_APFSDS_shells_Tracer_Red { + class 20Rnd_125mm_APFSDS_T_Red; + class 24Rnd_125mm_APFSDS_T_Red: 20Rnd_125mm_APFSDS_T_Red { displayNameShort = "125mm AP-T"; }; - class 32Rnd_120mm_APFSDS_shells_Tracer_Green; - class 24Rnd_125mm_APFSDS_T_Green: 32Rnd_120mm_APFSDS_shells_Tracer_Green { + class 20Rnd_125mm_APFSDS_T_Green; + class 24Rnd_125mm_APFSDS_T_Green: 20Rnd_125mm_APFSDS_T_Green { displayNameShort = "125mm AP-T"; }; - class 32Rnd_120mm_APFSDS_shells_Tracer_Yellow; - class 24Rnd_125mm_APFSDS_T_Yellow: 32Rnd_120mm_APFSDS_shells_Tracer_Yellow { + class 20Rnd_125mm_APFSDS_T_Yellow; + class 24Rnd_125mm_APFSDS_T_Yellow: 20Rnd_125mm_APFSDS_T_Yellow { displayNameShort = "125mm AP-T"; }; diff --git a/addons/realisticnames/CfgVehicles.hpp b/addons/realisticnames/CfgVehicles.hpp index 708bf1c53f..2845e62a9f 100644 --- a/addons/realisticnames/CfgVehicles.hpp +++ b/addons/realisticnames/CfgVehicles.hpp @@ -733,18 +733,6 @@ class CfgVehicles { class I_C_Offroad_02_unarmed_F: Offroad_02_unarmed_base_F { displayName = CSTRING(C_Offroad_02_unarmed); }; - class C_Offroad_02_unarmed_F_black: C_Offroad_02_unarmed_F { - displayName = CSTRING(C_Offroad_02_unarmed_black); - }; - class C_Offroad_02_unarmed_F_blue: C_Offroad_02_unarmed_F { - displayName = CSTRING(C_Offroad_02_unarmed_blue); - }; - class C_Offroad_02_unarmed_F_green: C_Offroad_02_unarmed_F { - displayName = CSTRING(C_Offroad_02_unarmed_green); - }; - class C_Offroad_02_unarmed_F_orange: C_Offroad_02_unarmed_F { - displayName = CSTRING(C_Offroad_02_unarmed_orange); - }; // Cessna class Plane_Civil_01_base_F; diff --git a/addons/realisticnames/CfgWeapons.hpp b/addons/realisticnames/CfgWeapons.hpp index fc873ccf10..0e1287c716 100644 --- a/addons/realisticnames/CfgWeapons.hpp +++ b/addons/realisticnames/CfgWeapons.hpp @@ -350,6 +350,9 @@ class CfgWeapons { class Missile_AGM_02_Plane_CAS_01_F: MissileLauncher { displayName = "AGM-65 Maverick G"; }; + class weapon_AGM_65Launcher: RocketPods { + displayName = "AGM-65 Maverick G"; + }; class Missile_AGM_01_Plane_CAS_02_F: Missile_AGM_02_Plane_CAS_01_F { displayName = "Kh-25MTP"; }; @@ -413,9 +416,7 @@ class CfgWeapons { }; // bomb - class Bomb_04_Plane_CAS_01_F: RocketPods { - //displayName = ""; - }; + class Bomb_04_Plane_CAS_01_F; class Bomb_03_Plane_CAS_02_F: Bomb_04_Plane_CAS_01_F { displayName = "FAB-250M-54"; }; @@ -522,8 +523,8 @@ class CfgWeapons { class LMG_coax: LMG_RCWS { displayName = "PKT"; }; - // class ACE_LMG_coax_PKT_mem2: LMG_coax {}; - class ACE_LMG_coax_MAG58_mem2: LMG_coax { + class LMG_coax_ext: LMG_coax {}; + class ACE_LMG_coax_ext_MAG58: LMG_coax_ext { displayName = "MAG 58M"; }; class ACE_LMG_coax_MAG58_mem3: LMG_coax { diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 61a54b393b..e89f674bf1 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -1102,6 +1102,7 @@ JAS 39 グリペン JAS 39 그리펜 JAS 39 獅鷲戰鬥機 + JAS 39 狮鹫战斗机 Ka-60 Kasatka @@ -2590,102 +2591,6 @@ "牧馬人"吉普車 "牧马人"吉普车 - - Jeep Wrangler (Black) - Jeep Wrangler (Černý) - Jeep Wrangler (Noir) - Jeep Wrangler (Negro) - Jeep Wrangler (Чёрный) - Jeep Wrangler (czarny) - Jeep Wrangler (Schwarz) - Jeep Wrangler (Nero) - Jeep Wrangler (Fekete) - Jeep Wrangler (Preto) - ジープ ラングラー (黒) - Jeep Wrangler (검정) - "牧馬人"吉普車 (黑色) - "牧马人"吉普车 (黑色) - - - Jeep Wrangler (Blue) - Jeep Wrangler (Blau) - Jeep Wrangler (Azul) - Jeep Wrangler (niebieski) - Jeep Wrangler (Modrý) - Jeep Wrangler (Bleue) - Jeep Wrangler (Синий) - Jeep Wrangler (Azul) - Jeep Wrangler (Kék) - Jeep Wrangler (Blu) - ジープ ラングラー (青) - Jeep Wrangler (파랑) - "牧馬人"吉普車 (藍色) - "牧马人"吉普车 (蓝色) - - - Jeep Wrangler (Green) - Jeep Wrangler (Grün) - Jeep Wrangler (Verde) - Jeep Wrangler (zielony) - Jeep Wrangler (Zelený) - Jeep Wrangler (Verte) - Jeep Wrangler (Зелёный) - Jeep Wrangler (Verde) - Jeep Wrangler (Zöld) - Jeep Wrangler (Verde) - ジープ ラングラー (緑) - Jeep Wrangler (초록) - "牧馬人"吉普車 (綠色) - "牧马人"吉普车 (绿色) - - - Jeep Wrangler (Orange) - Jeep Wrangler (Orange) - Jeep Wrangler (Naranja) - Jeep Wrangler (pomarańczowy) - Jeep Wrangler (Oranžový) - Jeep Wrangler (Orange) - Jeep Wrangler (Оранжевый) - Jeep Wrangler (Laranja) - Jeep Wrangler (Narancssárga) - Jeep Wrangler (Arancione) - ジープ ラングラー (橙) - Jeep Wrangler (주황) - "牧馬人"吉普車 (橘色) - "牧马人"吉普车 (橘色) - - - Jeep Wrangler (Red) - Jeep Wrangler (Rot) - Jeep Wrangler (Rojo) - Jeep Wrangler (czerwony) - Jeep Wrangler (Červený) - Jeep Wrangler (Rouge) - Jeep Wrangler (Красный) - Jeep Wrangler (Vermelha) - Jeep Wrangler (Piros) - Jeep Wrangler (Rosso) - ジープ ラングラー (赤) - Jeep Wrangler (빨강) - "牧馬人"吉普車 (紅色) - "牧马人"吉普车 (红色) - - - Jeep Wrangler (White) - Jeep Wrangler (Weiß) - Jeep Wrangler (Blanco) - Jeep Wrangler (biały) - Jeep Wrangler (Bílý) - Jeep Wrangler (Blanche) - Jeep Wrangler (Белый) - Jeep Wrangler (Branca) - Jeep Wrangler (Fehér) - Jeep Wrangler (Bianco) - ジープ ラングラー (白) - Jeep Wrangler (하양) - "牧馬人"吉普車 (白色) - "牧马人"吉普车 (白色) - Cessna TTx Cessna TTx @@ -3234,26 +3139,36 @@ Polaris DAGOR (XM312) Polaris DAGOR (XM312) ポラリス DAGOR (XM312) + "北極星"先進佈署越野車 (XM312重機槍) + "北极星"先进布署越野车 (XM312重机枪) Polaris DAGOR Polaris DAGOR ポラリス DAGOR + "北極星"先進佈署越野車 + "北极星"先进布署越野车 Polaris DAGOR (light) Polaris DAGOR (leicht) ポラリス DAGOR (軽) + "北極星"先進佈署越野車 (輕型) + "北极星"先进布署越野车 (轻型) LSV Mk. II (M134) LSV Mk. II (M134) LSV Mk. II (M134) + 輕型突擊車2式 (M134迷你機炮) + 轻型突击车2式 (M134迷你机炮) LSV Mk. II LSV Mk. II LSV Mk. II + 輕型突擊車2式 + 轻型突击车2式 diff --git a/addons/rearm/CfgAmmo.hpp b/addons/rearm/CfgAmmo.hpp index 2443ab91a5..54ff37e279 100644 --- a/addons/rearm/CfgAmmo.hpp +++ b/addons/rearm/CfgAmmo.hpp @@ -1,9 +1,6 @@ class CfgAmmo { class BombCore; - class BombBase : BombCore { - GVAR(caliber) = 250; // Default caliber for bombs - }; class LaserBombCore : BombCore { GVAR(caliber) = 250; // Default caliber for bombs }; @@ -54,9 +51,6 @@ class CfgAmmo { GVAR(caliber) = 60; GVAR(dummy) = QGVAR(R_60mm_HE); }; - class R_Hydra_HE : RocketBase { - GVAR(dummy) = QGVAR(R_Hydra_HE); - }; class BulletBase; class B_19mm_HE : BulletBase { @@ -184,17 +178,18 @@ class CfgAmmo { GVAR(dummy) = QGVAR(Bo_Mk82); }; - class Bo_GBU12_LGB : LaserBombCore { + class ammo_Bomb_LaserGuidedBase: LaserBombCore {}; + class Bo_GBU12_LGB: ammo_Bomb_LaserGuidedBase { GVAR(caliber) = 250; // Default caliber for bombs GVAR(dummy) = QGVAR(Bo_GBU12_LGB); }; - class Bomb_04_F : LaserBombCore { + class Bomb_04_F: ammo_Bomb_LaserGuidedBase { GVAR(caliber) = 250; // Default caliber for bombs GVAR(dummy) = QGVAR(Bomb_04_F); }; - class Bomb_03_F : Bomb_04_F { + class Bomb_03_F: ammo_Bomb_LaserGuidedBase { GVAR(dummy) = QGVAR(Bomb_03_F); }; }; diff --git a/addons/rearm/CfgVehicles.hpp b/addons/rearm/CfgVehicles.hpp index 7c442e4df9..acf7b4d291 100644 --- a/addons/rearm/CfgVehicles.hpp +++ b/addons/rearm/CfgVehicles.hpp @@ -236,7 +236,4 @@ class CfgVehicles { class GVAR(R_60mm_HE): GVAR(defaultCarriedObject) { model = "\A3\Weapons_F_EPC\Ammo\Rocket_03_HE_F.p3d"; }; - class GVAR(R_Hydra_HE): GVAR(defaultCarriedObject) { - model = "\A3\Weapons_F_EPC\Ammo\Rocket_03_HE_F.p3d"; - }; }; diff --git a/addons/rearm/functions/fnc_getAllRearmTurrets.sqf b/addons/rearm/functions/fnc_getAllRearmTurrets.sqf index 890fe5cc6f..db1f4599ce 100644 --- a/addons/rearm/functions/fnc_getAllRearmTurrets.sqf +++ b/addons/rearm/functions/fnc_getAllRearmTurrets.sqf @@ -6,7 +6,7 @@ * This function just adds driver turret to the array returned by "allTurrets". * * Arguments: - * 0: Vehicle + * 0: Vehicle * * Return Value: * Turret paths @@ -20,7 +20,11 @@ params ["_vehicle"]; -private _turrets = allTurrets _vehicle; +private _turrets = if (_vehicle isEqualType objNull) then { + allTurrets _vehicle; +} else { + [_vehicle] call BIS_fnc_allTurrets; // "Does what allTurrets command does, except the param is vehicle's config class name" +}; // Adding the driver turret "[-1]". _turrets pushBack [-1]; diff --git a/addons/rearm/script_component.hpp b/addons/rearm/script_component.hpp index a80dab55b2..83d495bc38 100644 --- a/addons/rearm/script_component.hpp +++ b/addons/rearm/script_component.hpp @@ -18,8 +18,8 @@ #include "\z\ace\addons\main\script_macros.hpp" -#define REARM_ACTION_DISTANCE 7 -#define REARM_ACTION_DISTANCE_SQR 49 +#define REARM_ACTION_DISTANCE 9 +#define REARM_ACTION_DISTANCE_SQR 81 #define REARM_CALIBERS [ 6, 7, 8, 13, 19, 20, 25, 30, 35, 39, 40, 60, 70, 80, 82, 100, 105, 120, 122, 125, 155, 230, 250] #define REARM_DURATION_TAKE [ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 3, 4, 5, 5, 5, 5, 13, 10] diff --git a/addons/rearm/stringtable.xml b/addons/rearm/stringtable.xml index 3823d031ef..fafd3c936a 100644 --- a/addons/rearm/stringtable.xml +++ b/addons/rearm/stringtable.xml @@ -8,6 +8,7 @@ 整裝 整装 再武装 + 再武装 Rearm Settings @@ -64,7 +65,7 @@ Quanto velocemente dovrebbe essere riarmato un veicolo? Cuán rápido es el proceso de rearme? A quelle vitesse devrait être réarmé un véhicule ? - 車両を再武装する速さを設定しますか? + 車両を再武装する速さを設定しますか? 차량을 얼마나 빨리 재보급 시킵니까? 载具多快会整装完毕? 載具多快會整裝完畢? @@ -128,7 +129,7 @@ How much ammunition does an ammo truck carry? Wie viel Munition transportiert ein Munitionslaster? Quante munizioni può trasportare un camion? - 弾薬トラックがどの位の弾薬を供給できるようにしますか? + 弾薬トラックがどの位の弾薬を供給できるようにしますか? 弹药卡车会携带多少的弹药? 彈藥卡車會攜帶多少的彈藥? Ile amunicji przewozi ciężarówka? @@ -188,7 +189,7 @@ There is ammunition worth %1 points left. Es ist noch Munition für %1 Punkte übrig. E' presente una penalità delle munizioni %1 punti rimanenti. - この弾薬は%1残っている + 弾薬は%1残っています。 还剩下%1多的弹药. 還剩下%1多的彈藥. Pozostało %1 punktów amunicji. @@ -239,7 +240,7 @@ Riarmando %1 con %2... Rearmando %1 con %2... Réarmement de %1 avec %2... - %1を%2により再武装する。 + %1を%2により再武装しています・・・ %2을 %1에 재보급중... %2正整装到%1中... %2正整裝到%1中... @@ -254,7 +255,7 @@ Riarmando %1... Rearmando %1... Réarmement de %1... - %1を再武装中・・・ + %1を再武装しています・・・ %1 재보급중... 整装%1中... 整裝%1中... @@ -284,7 +285,7 @@ Prendi munizioni Tomar munición Prendre la munition - 弾薬をとる + 弾薬を取る 탄약 가지기 取得弹药 取得彈藥 @@ -343,7 +344,7 @@ Sto raccogliendo le munizioni... Levantando munición... Ramassage des munitions... - 弾薬を拾っている・・・ + 弾薬を拾っています・・・ 탄약 줍는중... 捡起弹药中... 撿起彈藥中... @@ -358,7 +359,7 @@ Riarmati %1 colpi di %2 su %3 Rearmadas %1 rondas de %2 en %3 %1 balles réarmées de %2 dans %3 - %1発の%2を%3から装填した + %1発の%2を%3から装填しました %3에 2%의 %1 탄약 재보급 整装了%1发%2到%3上 整裝了%1發%2到%3上 @@ -493,7 +494,7 @@ Hydra 70 HE Hydra 70 HE Hydra 70 HE - ハイドラ 70 HE + ハイドラ 70 りゅう弾 Hydra 70 고폭탄 九头蛇 70 高爆弹 九頭蛇 70 高爆彈 @@ -508,7 +509,7 @@ S-8 HE S-8 HE S-8 HE - S-8 HE + S-8 りゅう弾 S-8 고폭탄 S-8 高爆弹 S-8 高爆彈 @@ -522,7 +523,7 @@ Hydra 70 AP Hydra 70 AP Hydra 70 AP - Hydra 70 AP + Hydra 70 徹甲弾 ハイドラ 70 AP Hydra 70 철갑탄 九头蛇 70 反人员弹 @@ -538,7 +539,7 @@ S-8 AP S-8 AP S-8 AP - S-8 AP + S-8 徹甲弾 S-8 철갑탄 S-8 反人员弹 S-8 反人員彈 diff --git a/addons/refuel/XEH_postInit.sqf b/addons/refuel/XEH_postInit.sqf index b2d55e1f7f..92726bb61e 100644 --- a/addons/refuel/XEH_postInit.sqf +++ b/addons/refuel/XEH_postInit.sqf @@ -67,11 +67,6 @@ private _sourceClasses = []; private _fuelCargo = getNumber (_x >> QGVAR(fuelCargo)); if (_fuelCargo > 0 || {_fuelCargo == REFUEL_INFINITE_FUEL}) then { private _sourceClass = configName _x; - if (isClass (_x >> "ACE_Actions" >> "ACE_MainActions" >> QGVAR(Refuel))) exitWith { - if (!isClass (inheritsFrom _x >> "ACE_Actions" >> "ACE_MainActions" >> QGVAR(Refuel))) then { - ACE_DEPRECATED(FORMAT_1(QUOTE(GVAR(Refuel) interaction menu in %1),_sourceClass),"3.13.0",QUOTE(GVAR(fuelCargo) config value)); - }; - }; // check if we can use actions with inheritance if ( !isText (_x >> "EventHandlers" >> "CBA_Extended_EventHandlers" >> "init") // addActionToClass relies on XEH init diff --git a/addons/refuel/functions/fnc_connectNozzleAction.sqf b/addons/refuel/functions/fnc_connectNozzleAction.sqf index eece4b0caa..7a99ce8d6e 100644 --- a/addons/refuel/functions/fnc_connectNozzleAction.sqf +++ b/addons/refuel/functions/fnc_connectNozzleAction.sqf @@ -125,7 +125,7 @@ private _attachPosModel = _sink worldToModel (ASLtoAGL _bestPosASL); _unit setVariable [QGVAR(tempFuel), nil]; [_unit, _nozzle] call FUNC(turnOn); } else { - [LSTRING(CouldNotTurnOn)] call EFUNC(common,displayText); + [localize LSTRING(CouldNotTurnOn)] call EFUNC(common,displayText); }; }, "", diff --git a/addons/refuel/stringtable.xml b/addons/refuel/stringtable.xml index 00cdb7e308..32d0528ae3 100644 --- a/addons/refuel/stringtable.xml +++ b/addons/refuel/stringtable.xml @@ -131,7 +131,7 @@ Scollega manicotto benzina Desconectar surtidor Déconnecter la pompe - 給油ノズルを外した + 給油ノズルを外しました 주유기 뽑기 断开燃料喷嘴 斷開燃料噴嘴 @@ -191,7 +191,7 @@ Sono rimasti %1 litri. Quedan %1 litros. Il reste %1 litres. - 後 %1 リットル残っている。 + 後 %1 リットル残っています。 %1 리터 남음 剩下%1公升的燃料。 剩下%1公升的燃料。 @@ -206,7 +206,7 @@ Non è rimasta più benzina. No queda combustible. Il n'y a plus de carburant. - もう燃料は残っていない。 + もう燃料は残っていません。 연료 없음. 没有剩余的燃料 沒有剩餘的燃料 @@ -251,7 +251,7 @@ Ferma rifornimento Detener reabastecimiento Arrêter le ravitaillement - 給油をやめる + 給油を止める 그만 재급유하기 停止加油 停止加油 @@ -275,7 +275,7 @@ Couldn't turn on fuel nozzle Kann Zapfpistole nicht anschalten Impossibile iniziare il rifornimento - 給油を始められなかった + 給油を始められませんでした 無法開啟燃料噴嘴 无法开启燃料喷嘴 주유기를 켤 수 없습니다. @@ -290,7 +290,7 @@ %1 litri riforniti %1 lt reabastecido %1 litres ravitaillés - %1 リッターを給油した + %1 リッターを給油しました %1 리터 재급유됨 已加入%1公升的燃料 已加入%1公升的燃料 @@ -320,7 +320,7 @@ Distanza massima della pompa raggiunta. Máxima longitud de manguera alcanzada. Tuyau tendu au maximum - 給油ホースはもうこれ以上届かない。 + 給油ホースはもうこれ以上届きません。 주유기 호스 최대 거리에 도달함. 已加满至最大油量。 已加滿至最大油量。 @@ -335,7 +335,7 @@ Rifornimento completato Reabastecimiento completado Ravitaillement terminé - 給油完了 + 給油を完了しました 재급유 완료함 加油完毕 加油完畢 @@ -350,7 +350,7 @@ Rifornimento fermato Reabastecimiento detenido Ravitaillement stoppé - 給油を止めた + 給油を止めました 재급유 멈춤 已停止加油 已停止加油 @@ -365,7 +365,7 @@ Rifornimento iniziato Comenzó el reabastecimiento Ravitaillement débuté - 給油を始めた + 給油を始めました 재급유 시작함 已开始加油 已開始加油 @@ -425,7 +425,7 @@ %1 litri sono stati riforniti. Se reabastecieron %1 lt %1 litres ont été écoulés. - %1 リッターが給油された + %1 リッターが給油されました。 %1 리터가 재급유되었습니다. 已加入%1公升 已加入%1公升 @@ -456,7 +456,7 @@ The fuel volume available for refueling (-1 disable, -10 if infinite) Das Tankvolumen, welches zum Nachtanken verfügbar ist (-1 deaktiviert, -10 unendlich) Объем топлива, доступный для заправки других машин (-1 отключить, -10 если неограничен) - 給油用の貯油量を設定 (-1で無効、-10で無限) + 給油用の貯油量を設定できます (-1で無効、-10で無限) La capacità del carburante disponibile per il rifornimento (-1 disabilita, -10 se infinito) 設定有多少油料可供載具進行加油(-1時關閉,-10為無限油量) 设定有多少油料可供载具进行加油(-1时关闭,-10为无限油量) @@ -476,7 +476,7 @@ Model coordinates used to attach refuel hose Modelkoordinaten zum Anheften der Zapfpistole Координаты модели, куда крепится заправочный шланг - 給油ノズルの取り付けにモデル座標を使用 + 給油ノズルの取り付けにモデル座標を使用します Coordinate del modello utilizzate per il fissaggio del tubo 設定加油軟管會安裝到模型的哪個位置上 设定加油软管会安装到模型的哪个位置上 diff --git a/addons/reload/CfgEventHandlers.hpp b/addons/reload/CfgEventHandlers.hpp index a3dd6de29b..6016e7712a 100644 --- a/addons/reload/CfgEventHandlers.hpp +++ b/addons/reload/CfgEventHandlers.hpp @@ -20,7 +20,7 @@ class Extended_PostInit_EventHandlers { class Extended_Take_EventHandlers { class CAManBase { class ACE_AmmoIndicatorReload { - clientTake = QUOTE(if (_this select 0 == ACE_player && {GVAR(DisplayText)} && {(_this select 1) in [ARR_3(uniformContainer (_this select 0), vestContainer (_this select 0), backpackContainer (_this select 0))]} && {_this select 2 == currentMagazine (_this select 0)}) then {[ARR_2(_this select 0, vehicle (_this select 0))] call FUNC(displayAmmo)};); + clientTake = QUOTE(params ['_unit']; if (_unit == ACE_player && {GVAR(DisplayText)} && {(_this select 1) in [ARR_3(uniformContainer _unit, vestContainer _unit, backpackContainer _unit)]} && {_this select 2 == currentMagazine _unit}) then {[ARR_2(_unit, vehicle _unit)] call FUNC(displayAmmo)};); }; }; }; diff --git a/addons/reload/functions/fnc_displayAmmo.sqf b/addons/reload/functions/fnc_displayAmmo.sqf index f48bbb1e0a..36ee8c1528 100644 --- a/addons/reload/functions/fnc_displayAmmo.sqf +++ b/addons/reload/functions/fnc_displayAmmo.sqf @@ -95,7 +95,7 @@ private _ammoBarsStructuredText = if (_showNumber) then { _string = _string + "|"; }; - composeText [_text, [_string, [0.5, 0.5, 0.5]] call EFUNC(common,stringToColoredText)]; + composeText [_text, [_string, "#808080"] call EFUNC(common,stringToColoredText)]; }; diff --git a/addons/repair/ACE_Repair.hpp b/addons/repair/ACE_Repair.hpp index 3cea9ed7ca..ec0624e2dc 100644 --- a/addons/repair/ACE_Repair.hpp +++ b/addons/repair/ACE_Repair.hpp @@ -72,7 +72,7 @@ class ACE_Repair { requiredEngineer = QGVAR(engineerSetting_fullRepair); repairLocations[] = {QGVAR(fullRepairLocation)}; repairingTime = 30; - condition = "0 < ({_x>0} count (getAllHitPointsDamage _target param [2,[]]))"; + condition = "-1 != ((getAllHitPointsDamage _target param [2,[]]) findIf {_x > 0})"; callbackSuccess = QUOTE(call FUNC(doFullRepair)); itemConsumed = QGVAR(consumeItem_ToolKit); }; diff --git a/addons/repair/ACE_Settings.hpp b/addons/repair/ACE_Settings.hpp index ea3994caec..d5fc6a430e 100644 --- a/addons/repair/ACE_Settings.hpp +++ b/addons/repair/ACE_Settings.hpp @@ -80,6 +80,8 @@ class ACE_Settings { _values[] = {{}, {"ToolKit"}}; }; class GVAR(autoShutOffEngineWhenStartingRepair) { + displayName = CSTRING(autoShutOffEngineWhenStartingRepair_name); + description = CSTRING(autoShutOffEngineWhenStartingRepair_description); typeName = "BOOL"; value = 0; category = ECSTRING(OptionsMenu,CategoryLogistics); diff --git a/addons/repair/CfgVehicles.hpp b/addons/repair/CfgVehicles.hpp index 79f46ef753..74733cb7a0 100644 --- a/addons/repair/CfgVehicles.hpp +++ b/addons/repair/CfgVehicles.hpp @@ -405,6 +405,16 @@ class CfgVehicles { // disable vanilla repair // "getNumber (_x >> ""transportRepair"") > 0" configClasses (configFile >> "CfgVehicles") + class ReammoBox_F; + class Land_RepairDepot_01_base_F: ReammoBox_F { // TanksDLC - Repair Depo Thing + GVAR(canRepair) = 1; + transportRepair = 0; + }; + class Van_02_base_F; + class Van_02_service_base_F: Van_02_base_F { // OrangeDLC + GVAR(canRepair) = 1; + transportRepair = 0; + }; class Slingload_01_Base_F; class B_Slingload_01_Repair_F: Slingload_01_Base_F { @@ -414,7 +424,7 @@ class CfgVehicles { class Helicopter_Base_H; class Heli_Transport_04_base_F: Helicopter_Base_H { - GVAR(hitpointGroups)[] = { {"HitEngine", {"HitEngine1", "HitEngine2"}}, {"Glass_1_hitpoint", {"Glass_2_hitpoint", "Glass_3_hitpoint", "Glass_4_hitpoint", "Glass_5_hitpoint", "Glass_6_hitpoint", "Glass_7_hitpoint", "Glass_8_hitpoint", "Glass_9_hitpoint", "Glass_10_hitpoint", "Glass_11_hitpoint", "Glass_12_hitpoint", "Glass_13_hitpoint", "Glass_14_hitpoint", "Glass_15_hitpoint", "Glass_16_hitpoint", "Glass_17_hitpoint", "Glass_18_hitpoint", "Glass_19_hitpoint", "Glass_20_hitpoint"}} }; + GVAR(hitpointGroups)[] = { {"HitEngine", {"HitEngine1", "HitEngine2"}} }; }; class O_Heli_Transport_04_repair_F: Heli_Transport_04_base_F { GVAR(canRepair) = 1; @@ -448,18 +458,12 @@ class CfgVehicles { }; class Car_F; - class Offroad_01_base_F: Car_F { - GVAR(hitpointGroups)[] = { {"HitGlass1", {"HitGlass2"}} }; - }; + class Offroad_01_base_F: Car_F {}; class Offroad_01_repair_base_F: Offroad_01_base_F { GVAR(canRepair) = 1; transportRepair = 0; }; - class MRAP_01_base_F: Car_F { - GVAR(hitpointGroups)[] = { {"HitGlass1", {"HitGlass2", "HitGlass3", "HitGlass4", "HitGlass5", "HitGlass6"}} }; - }; - class B_Truck_01_mover_F; class B_Truck_01_Repair_F: B_Truck_01_mover_F { GVAR(canRepair) = 1; diff --git a/addons/repair/XEH_preInit.sqf b/addons/repair/XEH_preInit.sqf index ca76ce5758..040871d851 100644 --- a/addons/repair/XEH_preInit.sqf +++ b/addons/repair/XEH_preInit.sqf @@ -22,13 +22,17 @@ if (isServer) then { if (isNil "_spareTracks") then { _spareTracks = [0, 1] select (_vehicle isKindOf "Tank"); // must match eden attribute default }; - [_vehicle, _spareTracks, "ACE_Track"] call FUNC(addSpareParts); + if (_spareTracks > 0) then { + [_vehicle, _spareTracks, "ACE_Track"] call FUNC(addSpareParts); + }; private _spareWheels = _vehicle getVariable QGVAR(editorLoadedWheels); if (isNil "_spareWheels") then { _spareWheels = [0, 1] select (_vehicle isKindOf "Car"); // must match eden attribute default }; - [_vehicle, _spareWheels, "ACE_Wheel"] call FUNC(addSpareParts); + if (_spareWheels > 0) then { + [_vehicle, _spareWheels, "ACE_Wheel"] call FUNC(addSpareParts); + }; }; ["Tank", "initPost", _fnc_addSpareItems] call CBA_fnc_addClassEventHandler; diff --git a/addons/repair/dev/draw_showRepairInfo.sqf b/addons/repair/dev/draw_showRepairInfo.sqf index 5701c172ea..3a1f0c8d0f 100644 --- a/addons/repair/dev/draw_showRepairInfo.sqf +++ b/addons/repair/dev/draw_showRepairInfo.sqf @@ -64,6 +64,6 @@ addMissionEventHandler ["Draw3D", { _output pushBack format ["%1: %2[%3] = %4", _forEachIndex, _hitPoint, _selection, cursorObject getHitIndex _forEachIndex]; _output pushBack format ["- %1 -",_info]; }; - } forEach _hitPoints; + } forEach _hitSelections; hintSilent (_output joinString "\n"); }]; diff --git a/addons/repair/functions/fnc_addRepairActions.sqf b/addons/repair/functions/fnc_addRepairActions.sqf index 8a1e068379..9428cdb1a0 100644 --- a/addons/repair/functions/fnc_addRepairActions.sqf +++ b/addons/repair/functions/fnc_addRepairActions.sqf @@ -18,17 +18,15 @@ if (!hasInterface) exitWith {}; params ["_vehicle"]; -TRACE_2("params", _vehicle,typeOf _vehicle); - private _type = typeOf _vehicle; - -private _initializedClasses = GETMVAR(GVAR(initializedClasses),[]); +TRACE_2("addRepairActions", _vehicle,_type); // do nothing if the class is already initialized +private _initializedClasses = GETMVAR(GVAR(initializedClasses),[]); if (_type in _initializedClasses) exitWith {}; // get all hitpoints and selections -(getAllHitPointsDamage _vehicle) params [["_hitPoints", []], ["_hitSelections", []]]; +(getAllHitPointsDamage _vehicle) params [["_hitPoints", []], ["_hitSelections", []]]; // Since 1.82 these are all lower case // get hitpoints of wheels with their selections ([_vehicle] call FUNC(getWheelHitPointsWithSelections)) params ["_wheelHitPoints", "_wheelHitSelections"]; @@ -39,10 +37,15 @@ private _hitPointsAddedAmount = []; private _processedHitpoints = []; private _icon = QPATHTOF(ui\repair_0_ca.paa); + +// Custom position can be defined via config for associated hitpoint +private _hitpointPositions = getArray (configFile >> "CfgVehicles" >> _type >> QGVAR(hitpointPositions)); +// Associated hitpoints can be grouped via config to produce a single repair action +private _hitpointGroups = getArray(configFile >> "CfgVehicles" >> _type >> QGVAR(hitpointGroups)); + { private _selection = _x; - private _hitpoint = _hitPoints select _forEachIndex; - + private _hitpoint = toLower (_hitPoints select _forEachIndex); if (_selection in _wheelHitSelections) then { // Wheels should always be unique if (_hitpoint in _processedHitpoints) exitWith {TRACE_3("Duplicate Wheel",_hitpoint,_forEachIndex,_selection);}; @@ -67,56 +70,52 @@ private _icon = QPATHTOF(ui\repair_0_ca.paa); _action = [_name, _text, _icon, _statement, _condition, {}, [_hitpoint], _position, 2] call EFUNC(interact_menu,createAction); [_type, 0, [], _action] call EFUNC(interact_menu,addActionToClass); } else { - //Skip glass hitpoints - if (((toLower _hitPoint) find "glass") != -1) exitWith { - TRACE_3("Skipping Glass",_hitpoint,_forEachIndex,_selection); - }; // Empty selections don't exist + if (_selection isEqualTo "") exitWith { TRACE_3("Skipping Empty Sel",_hitpoint,_forEachIndex,_selection); }; // Empty hitpoints don't contain enough information - if (_selection isEqualTo "") exitWith { TRACE_3("Selection Empty",_hitpoint,_forEachIndex,_selection); }; - if (_hitpoint isEqualTo "") exitWith { TRACE_3("Hitpoint Empty",_hitpoint,_forEachIndex,_selection); }; + if (_hitpoint isEqualTo "") exitWith { TRACE_3("Skipping Empty Hit",_hitpoint,_forEachIndex,_selection); }; + // Ignore glass hitpoints + if ((_hitPoint find "glass") != -1) exitWith { TRACE_3("Skipping Glass",_hitpoint,_forEachIndex,_selection); }; + // Ignore hitpoints starting with # (seems to be lights) + if ((_hitpoint select [0,1]) == "#") exitWith { TRACE_3("Skipping # hit",_hitpoint,_forEachIndex,_selection); }; + // Ignore ERA/Slat armor (vanilla uses hitera_/hitslat_, pre-1.82 RHS uses era_) + // ToDo: see how community utilizes new armor system, could also check getText (_hitpointConfig >> "simulation") + if (((_hitpoint select [0,7]) == "hitera_") || {(_hitpoint select [0,8]) == "hitslat_"} || {(_hitpoint select [0,4]) == "era_"}) exitWith { TRACE_3("Skipping ERA/SLAT",_hitpoint,_forEachIndex,_selection); }; + + //Depends hitpoints shouldn't be modified directly (will be normalized) // Biki: Clearing 'depends' in case of inheritance cannot be an empty string (rpt warnings), but rather a "0" value. if (!((getText (configFile >> "CfgVehicles" >> _type >> "HitPoints" >> _hitpoint >> "depends")) in ["", "0"])) exitWith { TRACE_3("Skip Depends",_hitpoint,_forEachIndex,_selection); }; - // Associated hitpoints can be grouped via config to produce a single repair action - private _groupsConfig = configFile >> "CfgVehicles" >> _type >> QGVAR(hitpointGroups); private _childHitPoint = false; - if (isArray _groupsConfig) then { + { { - { - if (_hitpoint == _x) exitWith { - _childHitPoint = true; - }; - } forEach (_x select 1); - } forEach (getArray _groupsConfig); - }; + if (_hitpoint == _x) exitWith { + _childHitPoint = true; + }; + } forEach (_x select 1); + } forEach _hitpointGroups; // If the current selection is associated with a child hitpoint, then skip if (_childHitPoint) exitWith { TRACE_3("childHitpoint",_hitpoint,_forEachIndex,_selection); }; // Find the action position private _position = compile format ["_target selectionPosition ['%1', 'HitPoints'];", _selection]; - - // Custom position can be defined via config for associated hitpoint - private _positionsConfig = configFile >> "CfgVehicles" >> _type >> QGVAR(hitpointPositions); - if (isArray _positionsConfig) then { - { - _x params ["_hit", "_pos"]; - if (_hitpoint == _hit) exitWith { - if (_pos isEqualType []) exitWith { - _position = _pos; // Position in model space - }; - if (_pos isEqualType "") exitWith { - _position = compile format ["_target selectionPosition ['%1', 'HitPoints'];", _pos]; - }; - ERROR_3("Invalid custom position %1 of hitpoint %2 in vehicle %3.",_position,_hitpoint,_type); + { + _x params ["_hit", "_pos"]; + if (_hitpoint == _hit) exitWith { + if (_pos isEqualType []) exitWith { + _position = _pos; // Position in model space }; - } forEach (getArray _positionsConfig); - }; + if (_pos isEqualType "") exitWith { + _position = compile format ["_target selectionPosition ['%1', 'HitPoints'];", _pos]; + }; + ERROR_3("Invalid custom position %1 of hitpoint %2 in vehicle %3.",_position,_hitpoint,_type); + }; + } forEach _hitpointPositions; - // Prepair the repair action + // Prepare the repair action private _name = format ["Repair_%1_%2", _forEachIndex, _selection]; // Find localized string and track those added for numerization @@ -151,7 +150,7 @@ private _icon = QPATHTOF(ui\repair_0_ca.paa); }; }; - _processedHitPoints pushBack _hitPoint; + _processedHitPoints pushBack _hitpoint; }; } forEach _hitSelections; diff --git a/addons/repair/functions/fnc_canMiscRepair.sqf b/addons/repair/functions/fnc_canMiscRepair.sqf index 9d9fc29478..c26cfdb42a 100644 --- a/addons/repair/functions/fnc_canMiscRepair.sqf +++ b/addons/repair/functions/fnc_canMiscRepair.sqf @@ -36,9 +36,10 @@ if (isArray _hitpointGroupConfig) then { // Exit using found hitpoint group if this hitpoint is leader of any if (_masterHitpoint == _hitPointClassname) exitWith { { - private _subHitIndex = _allHitPoints find _x; + private _subHitpoint = _x; + private _subHitIndex = _allHitPoints findIf {_x == _subHitpoint}; if (_subHitIndex == -1) then { - ERROR("Hitpoint Not Found"); + ERROR_2("Invalid hitpoint %1 in hitpointGroups of %2",_subHitpoint,_target); } else { _hitpointGroup pushBack _subHitIndex; }; diff --git a/addons/repair/functions/fnc_doRepair.sqf b/addons/repair/functions/fnc_doRepair.sqf index ad944518f4..64056fb999 100644 --- a/addons/repair/functions/fnc_doRepair.sqf +++ b/addons/repair/functions/fnc_doRepair.sqf @@ -47,9 +47,10 @@ if (isArray _hitpointGroupConfig) then { // Exit using found hitpoint group if this hitpoint is leader of any if (_masterHitpoint == _hitPointClassname) exitWith { { - private _subHitIndex = _allHitPoints find _x; //convert hitpoint classname to index + private _subHitpoint = _x; + private _subHitIndex = _allHitPoints findIf {_x == _subHitpoint}; //convert hitpoint classname to index if (_subHitIndex == -1) then { - ERROR_2("Invalid hitpoint %1 in hitpointGroups of %2",_x,_vehicle); + ERROR_2("Invalid hitpoint %1 in hitpointGroups of %2",_subHitpoint,_vehicle); } else { private _subPointCurDamage = _vehicle getHitIndex _hitPointIndex; private _subPointNewDamage = (_subPointCurDamage - 0.5) max _postRepairDamageMin; diff --git a/addons/repair/functions/fnc_isEngineer.sqf b/addons/repair/functions/fnc_isEngineer.sqf index 92ce1091b0..f7482760af 100644 --- a/addons/repair/functions/fnc_isEngineer.sqf +++ b/addons/repair/functions/fnc_isEngineer.sqf @@ -17,7 +17,6 @@ #include "script_component.hpp" params ["_unit", ["_engineerN", 1]]; -TRACE_2("params",_unit,_engineerN); private _class = _unit getVariable ["ACE_IsEngineer", _unit getUnitTrait "engineer"]; @@ -25,4 +24,5 @@ private _class = _unit getVariable ["ACE_IsEngineer", _unit getUnitTrait "engine // We cannot move this function to common because we require the GVAR(engineerSetting_Repair), which only makes sense to include in the repair module. if (_class isEqualType false) then {_class = [0, 1] select _class}; +TRACE_3("isEngineer",_unit,_engineerN,_class); _class >= _engineerN; diff --git a/addons/repair/functions/fnc_isInRepairFacility.sqf b/addons/repair/functions/fnc_isInRepairFacility.sqf index c9aed130ba..ffc7c26c26 100644 --- a/addons/repair/functions/fnc_isInRepairFacility.sqf +++ b/addons/repair/functions/fnc_isInRepairFacility.sqf @@ -20,11 +20,10 @@ TRACE_1("params",_object); private _position = getPosASL _object; private _isInBuilding = false; -private _repairFacility = []; private _objects = (lineIntersectsWith [_object modelToWorldVisual [0, 0, (_position select 2)], _object modelToWorldVisual [0, 0, (_position select 2) +10], _object]); { - if (((typeOf _x) in _repairFacility) || (_x getVariable ["ACE_isRepairFacility",0]) > 0) exitWith { + if (_x getVariable ["ACE_isRepairFacility", getNumber (configFile >> "CfgVehicles" >> typeOf _x >> QGVAR(canRepair))] > 0) exitWith { _isInBuilding = true; }; } forEach _objects; @@ -32,7 +31,7 @@ private _objects = (lineIntersectsWith [_object modelToWorldVisual [0, 0, (_posi if (!_isInBuilding) then { _objects = position _object nearObjects 7.5; { - if (((typeOf _x) in _repairFacility) || (_x getVariable ["ACE_isRepairFacility",0]) > 0) exitWith { + if (_x getVariable ["ACE_isRepairFacility", getNumber (configFile >> "CfgVehicles" >> typeOf _x >> QGVAR(canRepair))] > 0) exitWith { _isInBuilding = true; }; } forEach _objects; diff --git a/addons/repair/functions/fnc_isNearRepairVehicle.sqf b/addons/repair/functions/fnc_isNearRepairVehicle.sqf index b0bd4b3cd1..763d146970 100644 --- a/addons/repair/functions/fnc_isNearRepairVehicle.sqf +++ b/addons/repair/functions/fnc_isNearRepairVehicle.sqf @@ -22,7 +22,7 @@ private _nearObjects = nearestObjects [_unit, ["Air", "LandVehicle", "Slingload_ private _return = false; { - if ([_x] call FUNC(isRepairVehicle)) exitWith {_return = true;}; + if (alive _x && {[_x] call FUNC(isRepairVehicle)}) exitWith {_return = true;}; } forEach _nearObjects; _return; diff --git a/addons/repair/functions/fnc_isRepairVehicle.sqf b/addons/repair/functions/fnc_isRepairVehicle.sqf index f18ff0cd3e..ff3ac7ed1c 100644 --- a/addons/repair/functions/fnc_isRepairVehicle.sqf +++ b/addons/repair/functions/fnc_isRepairVehicle.sqf @@ -20,4 +20,6 @@ TRACE_1("params",_vehicle); if (_vehicle isKindOf "CAManBase") exitWith {false}; -((_vehicle getVariable ["ACE_isRepairVehicle", getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> QGVAR(canRepair))]) > 0); +// Value can be integer or boolean +private _value = _vehicle getVariable ["ACE_isRepairVehicle", getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> QGVAR(canRepair))]; +_value in [1, true] // return diff --git a/addons/repair/functions/fnc_modifyInteraction.sqf b/addons/repair/functions/fnc_modifyInteraction.sqf index 5288d10211..5b49089268 100644 --- a/addons/repair/functions/fnc_modifyInteraction.sqf +++ b/addons/repair/functions/fnc_modifyInteraction.sqf @@ -18,11 +18,11 @@ */ #include "script_component.hpp" -params ["_target", "_player", "_args", "_actionData"]; -TRACE_4("params",_target,_player,_args,_actionData); +params ["_target", "", "", "_actionData"]; // Interaction dots numbered 0..8, white to red. // Convert damage to number (rounding up), so that even slight damage can bee seen private _fileName = format [QPATHTOF(ui\damage_%1_ca.paa), ceil (linearConversion [0, 1, damage _target, 0, 8, true])]; +TRACE_2("modifyInteraction",_target,_fileName); _actionData set [2, _fileName]; diff --git a/addons/repair/functions/fnc_modifySelectionInteraction.sqf b/addons/repair/functions/fnc_modifySelectionInteraction.sqf index cf776a1831..5698d55e24 100644 --- a/addons/repair/functions/fnc_modifySelectionInteraction.sqf +++ b/addons/repair/functions/fnc_modifySelectionInteraction.sqf @@ -18,8 +18,7 @@ */ #include "script_component.hpp" -params ["_target", "_player", "_args", "_actionData"]; -TRACE_4("params",_target,_player,_args,_actionData); +params ["_target", "", "_args", "_actionData"]; // Interaction wrenches numbered 0..8, white to red. // Convert damage to number (rounding up), so that even slight damage can bee seen @@ -28,5 +27,5 @@ private _fileName = format [ QPATHTOF(ui\repair_%1_ca.paa), ceil (linearConversion [0, 1, _target getHitPointDamage (_args select 0), 0, 8, true]) ]; - +TRACE_2("modifyInteraction",_target,_fileName); _actionData set [2, _fileName]; diff --git a/addons/repair/script_component.hpp b/addons/repair/script_component.hpp index 879d6930e0..678f8fe04e 100644 --- a/addons/repair/script_component.hpp +++ b/addons/repair/script_component.hpp @@ -16,4 +16,4 @@ #include "\z\ace\addons\main\script_macros.hpp" -#define TRACK_HITPOINTS ["HitLTrack", "HitRTrack"] +#define TRACK_HITPOINTS ["hitltrack", "hitrtrack"] diff --git a/addons/repair/stringtable.xml b/addons/repair/stringtable.xml index fb4a44ca7b..b5728585a7 100644 --- a/addons/repair/stringtable.xml +++ b/addons/repair/stringtable.xml @@ -74,7 +74,7 @@ Rueda cambiada Ruota sostituita Roue remplacée - タイヤを交換した + タイヤを交換しました 바퀴 교체됨 轮胎更换完毕 輪胎更換完畢 @@ -120,7 +120,7 @@ Rueda quitada Ruota rimossa Roue démontée - タイヤを外した + タイヤを外しました 바퀴 제거됨 轮胎卸下完毕 輪胎卸下完畢 @@ -165,7 +165,7 @@ Oruga cambiada Cingolo sostituito Chenille remplacée - 履帯を交換した + 履帯を交換しました 궤도 교체됨 履带更换完毕 履帶更換完畢 @@ -210,7 +210,7 @@ Oruga quitada Cingolo rimosso Chenille enlevée - 履帯を外した + 履帯を外しました 궤도 제거됨 履带卸下完毕 履帶卸下完畢 @@ -376,7 +376,7 @@ Zobrazit oznámení kdykoliv opravíš vozidlo Mostra una notifica quando stai riparando un veicolo Afficher une notification lorsque l'on répare un véhicule - あなたが車両の修理を始めると、画面に通知を出します + 車両の修理を始めると、画面に通知を出します 수리시 화면에 글자로 알림이 뜹니다 每当维修载具时显示通知 每當維修載具時顯示通知 @@ -424,7 +424,7 @@ %1 Riparata/o %1 megjavítva %1 отремонтирован - %1 を修理した + %1 を修理しました %1 수리됨 已维修%1 已維修%1 @@ -454,7 +454,7 @@ %1 - částečně opraveno %1 parzialmente riparato %1 pratiquement réparée - %1 を部分的に修理した + %1 を部分的に修理しました %1 부분적으로 수리됨 %1已完成部分维修 %1已完成部分維修 @@ -469,7 +469,7 @@ Totalmente reparada %1 %1 completamente riparato %1 entièrement réparée - %1 を完全に修理した + %1 を完全に修理しました %1 완전히 수리됨 %1已完整维修 %1已完整維修 @@ -484,7 +484,7 @@ %1 - částečně opraveno %1 parzialmente riparato %1 pratiquement réparée - %1 を部分的に修理した + %1 を部分的に修理しました %1 부분적으로 수리됨 %1已完成部分维修 %1已完成部分維修 @@ -735,6 +735,38 @@ + + Commander Turret + Kommandant Turm + Comandante Torreta + Commander Tourelle + Dowódca Wieżyczka + Velitel Věž + Comandante Torre + Comandante Torretta + Parancsnok Lövegtorony + Башня командира + 車長の砲塔 + 지휘관 포탑 + 指挥官 炮塔 + 指揮官 砲塔 + + + Commander Gun + Kommandant Kanone + Comandante Cañón + Commander Canon + Dowódca Działo + Velitel Kanón + Comandante Canhão + Comandante Cannone + Parancsnok Ágyú + Пушка командира + 車長の砲 + 지휘관 포 + 指挥官 枪 + 指揮官 槍 + Missiles Rakete @@ -953,7 +985,7 @@ Rotore di coda Farokrotor Рулевой винт - 尾翼ローター + テイル ローター 꼬리 로터 尾桨 尾槳 @@ -1061,7 +1093,7 @@ Poskytuje rozsáhlý systém oprav pro všechny typy vozidel. Fornisce un sistema di riparazione per tutti i tipi di veicoli. Fournit un système de réparation pour tous les types de véhicules. - 車両の全種類に修理システムを適用しますか? + 全種類の車両に修理システムを適用しますか? 모든 차량에 대해 수리 시스템을 제공합니다. 提供修复系统给所有载具 提供修復系統給所有載具 @@ -1797,24 +1829,40 @@ Ersatzketten 予備履帯 Cingoli di Scorta + 備用履帶 + 备用履带 Number of spare tracks in cargo. Anzahl der Ersatzketten im Laderaum. カーゴ内にある予備履帯の数を指定します。 Numero dei cingoli di scorta nel cargo. + 設定載具在貨艙內攜帶的備用履帶數量。 + 设定载具在货舱内携带的备用履带数量。 Spare Wheels Ersatzreifen 予備タイヤ Ruote di Scorta + 備用輪胎 + 备用轮胎 Number of spare wheels in cargo. Anzahl der Ersatzreifen im Laderaum. カーゴ内にある予備タイヤの数を指定します。 Numero delle ruote di scorta nel cargo. + 設定載具在貨艙內攜帶的備用輪胎數量。 + 设定载具在货舱内携带的备用轮胎数量。 + + + Auto shut off engine on repair + 修理時にエンジン自動停止 + + + Automatically shut off the engine when doing repairs. + 修理時にエンジンを自動で停止します。 diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 47a9f7b756..d9947d98a6 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -35,7 +35,7 @@ Gyülekezőpont elhelyezve Rallypoint dispiegato Rallypoints posicionado - ラリーポイントを設置した + ラリーポイントを設置しました 집결지 배치됨 集合点布署完成 集合點佈署完成 @@ -83,7 +83,7 @@ Bázisra teleportálva Teleportato alla base Teletransportado para a Base - ベースへ移動した + ベースへ移動しました 기지로 순간이동함 已传送至基地 已傳送至基地 @@ -99,7 +99,7 @@ Gyülekezőpontra teleportálva Teleportato al rallypoint Teletransportado para o Rallypoints - ラリーポイントへ移動した + ラリーポイントへ移動しました 집결지로 순간이동함 已传送至集合点 已傳送至集合點 @@ -297,7 +297,7 @@ Ce module permet de régler les options de Respawn Questo modulo ti permette di configurare le funzionalità ACE specifiche dei respawn. Este módulo permite configurar parámetros relacionados con la reaparición - このモジュールを有効化するとリスポンへ ACE 機能を設定できます。 + 有効化するとリスポンへ ACE 機能を設定できます。 이 모듈은 ACE 재배치의 자세한 설정을 변결할 수 있게 해줍니다. 该模块使您可以设定ACE的重生功能 該模塊使您可以設定ACE的重生功能 diff --git a/addons/safemode/stringtable.xml b/addons/safemode/stringtable.xml index 2e259bc9d3..e5eff7255c 100644 --- a/addons/safemode/stringtable.xml +++ b/addons/safemode/stringtable.xml @@ -44,7 +44,7 @@ Sécurité mise Sicura inserita Colocar Segurança - 安全装置を掛けた + 安全装置をかけました 안전장치 적용 关保险 關保險 @@ -60,7 +60,7 @@ Sécurité enlevée Sicura tolta Tirou Segurança - 安全装置を外した + 安全装置を外しました 안전장치 해제됨 已开保险 已開保險 diff --git a/addons/sandbag/stringtable.xml b/addons/sandbag/stringtable.xml index 4559e43b00..de9ecd8a18 100644 --- a/addons/sandbag/stringtable.xml +++ b/addons/sandbag/stringtable.xml @@ -44,7 +44,7 @@ Impossibile costruire qui Nem teheted ide Não pode contruir aqui - ここでは作れない + ここでは作れません 여기에 지을 수 없습니다 无法放置在此 無法放置在此 @@ -140,7 +140,7 @@ Cancella Posizionamento Visszavonás Cancelar implantação - 作るのをやめる + 作るのを止める 설치 취소 取消布署 取消佈署 @@ -188,7 +188,7 @@ Qui non cè Sabbia Itt nincs homok Aqui não tem areia - ここに土は無い + ここに土はありません 흙이 없습니다 这里没有沙 這裡沒有沙 diff --git a/addons/scopes/ACE_Arsenal_Stats.hpp b/addons/scopes/ACE_Arsenal_Stats.hpp new file mode 100644 index 0000000000..1e2ebd91ea --- /dev/null +++ b/addons/scopes/ACE_Arsenal_Stats.hpp @@ -0,0 +1,18 @@ +class EGVAR(arsenal,stats) { + class statBase; + class ACE_scopeHorizontalLimits: statBase { + scope = 2; + priority = 3; + stats[] = {"ACE_ScopeAdjust_Horizontal", "ACE_ScopeAdjust_HorizontalIncrement"}; + displayName = CSTRING(statHorizontalLimits); + showText = 1; + textStatement = QUOTE(params[ARR_2('_stat','_config')]; private _limits = getArray (_config >> _stat select 0); format [ARR_4('%1 / %2 MIL (∆ %3 MIL)', _limits select 0, _limits select 1, getNumber (_config >> _stat select 1))]); + condition = QUOTE(params[ARR_2('_stat', '_config')]; !((getArray (_config >> _stat select 0)) isEqualTo [])); + tabs[] = {{}, {0}}; + }; + class ACE_scopeVerticalLimits: ACE_scopeHorizontalLimits { + stats[] = {"ACE_ScopeAdjust_Vertical", "ACE_ScopeAdjust_VerticalIncrement"}; + priority = 2; + displayName = CSTRING(statVerticalLimits); + }; +}; diff --git a/addons/scopes/config.cpp b/addons/scopes/config.cpp index 85c870b97c..4bef442049 100644 --- a/addons/scopes/config.cpp +++ b/addons/scopes/config.cpp @@ -20,3 +20,4 @@ class CfgPatches { #include "CfgWeapons.hpp" #include "RscTitles.hpp" #include "ACE_Settings.hpp" +#include "ACE_Arsenal_Stats.hpp" diff --git a/addons/scopes/functions/fnc_firedEH.sqf b/addons/scopes/functions/fnc_firedEH.sqf index 6d63f9107a..b183109071 100644 --- a/addons/scopes/functions/fnc_firedEH.sqf +++ b/addons/scopes/functions/fnc_firedEH.sqf @@ -24,12 +24,9 @@ private _weaponIndex = [_unit, currentWeapon _unit] call EFUNC(common,getWeaponI if (_weaponIndex < 0) exitWith {}; private _adjustment = _unit getVariable [QGVAR(Adjustment), [[0, 0, 0], [0, 0, 0], [0, 0, 0]]]; -private _zeroing = +(_adjustment select _weaponIndex); +private _zeroing = (_adjustment select _weaponIndex) vectorMultiply 0.05729578; // Convert zeroing from mils to degrees (value of MRAD_TO_DEG(1)) TRACE_1("Adjusting With",_zeroing); -// Convert zeroing from mils to degrees -_zeroing = _zeroing vectorMultiply MRAD_TO_DEG(1); - if (GVAR(correctZeroing) || GVAR(simplifiedZeroing)) then { private _advancedBallistics = missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]; private _baseAngle = (_unit getVariable [QGVAR(baseAngle), [0,0,0]]) select _weaponIndex; @@ -39,6 +36,8 @@ if (GVAR(correctZeroing) || GVAR(simplifiedZeroing)) then { private _zeroCorrection = missionNamespace getVariable format[QGVAR(%1_%2_%3_%4_%5_%6_%7), _oldZeroRange, _newZeroRange, _boreHeight, _weapon, _ammo, _magazine, _advancedBallistics]; if (isNil "_zeroCorrection") then { _zeroCorrection = [_oldZeroRange, _newZeroRange, _boreHeight, _weapon, _ammo, _magazine, _advancedBallistics] call FUNC(calculateZeroAngleCorrection); + TRACE_7("new calc",_oldZeroRange,_newZeroRange,_boreHeight,_weapon,_ammo,_magazine,_advancedBallistics); + TRACE_1("",_zeroCorrection); }; if (GVAR(simplifiedZeroing)) then { _zeroing = [0, 0, _zeroCorrection - _baseAngle]; @@ -50,6 +49,7 @@ if (GVAR(correctZeroing) || GVAR(simplifiedZeroing)) then { #endif }; +TRACE_1("",_zeroing); if (_zeroing isEqualTo [0, 0, 0]) exitWith {}; _zeroing params ["_elevation", "_windage", "_zero"]; diff --git a/addons/scopes/functions/fnc_getCurrentZeroRange.sqf b/addons/scopes/functions/fnc_getCurrentZeroRange.sqf index 2da5f32eb0..946e2e0b2b 100644 --- a/addons/scopes/functions/fnc_getCurrentZeroRange.sqf +++ b/addons/scopes/functions/fnc_getCurrentZeroRange.sqf @@ -22,6 +22,7 @@ if (!GVAR(enabled)) exitWith { currentZeroing _unit }; private _weaponIndex = [_unit, currentWeapon _unit] call EFUNC(common,getWeaponIndex); if (_weaponIndex < 0) exitWith { currentZeroing _unit }; if (GVAR(simplifiedZeroing)) exitWith { + if (!(GVAR(canAdjustElevation) select _weaponIndex)) exitWith { currentZeroing _unit }; private _adjustment = _unit getVariable [QGVAR(Adjustment), [[0, 0, 0], [0, 0, 0], [0, 0, 0]]]; ((_adjustment select _weaponIndex) select 0) }; diff --git a/addons/scopes/stringtable.xml b/addons/scopes/stringtable.xml index aac4152678..a19bb55df0 100644 --- a/addons/scopes/stringtable.xml +++ b/addons/scopes/stringtable.xml @@ -234,6 +234,8 @@ 簡略なゼロイン Azzeramento semplificato 단순화 된 영점 조정 + 簡單歸零 + 简单归零 Replicates the vanilla zeroing system for riflescopes. @@ -241,6 +243,8 @@ 標準で使われるライフルスコープ用のゼロイン システムを複製します。 Replica il sistema di azzeramento vanilla per le ottiche. 라이플스코프 용 바닐라 영점조정 시스템을 복제합니다. + 使用原版的歸零系統來取代ACE複雜的歸零模擬。 + 使用原版的归零系统来取代ACE复杂的归零模拟。 Minor adjustment up @@ -392,6 +396,8 @@ ゼロイン調節を初期化 Resetta i valori dell'azzeramento 영점 조정 재설정 + 重設歸零 + 重设归零 This module adds windage and elevation adjustment turrets on high power rifle scopes. @@ -434,5 +440,15 @@ %1R %1R + + Horizontal limits + Limites horizontales + 水平制限 + + + Vertical limits + Limites verticales + 垂直制限 + diff --git a/addons/slideshow/functions/fnc_createSlideshow.sqf b/addons/slideshow/functions/fnc_createSlideshow.sqf index 5eefbd39bc..b2bd602e29 100644 --- a/addons/slideshow/functions/fnc_createSlideshow.sqf +++ b/addons/slideshow/functions/fnc_createSlideshow.sqf @@ -49,11 +49,11 @@ if (isServer) then { { _x setObjectTextureGlobal [0, _images select 0]; } count _objects; - - // Number of slideshows (multiple modules support) - GVAR(slideshows) = GVAR(slideshows) + 1; }; +// Number of slideshows (multiple modules support) +GVAR(slideshows) = GVAR(slideshows) + 1; + private _currentSlideshow = GVAR(slideshows); // Local variable in case GVAR gets changed during execution of below code // If interaction menu module is not present, set default duration value diff --git a/addons/spectator/functions/fnc_updateUnits.sqf b/addons/spectator/functions/fnc_updateUnits.sqf index 6df7cad8ad..85ad1739ff 100644 --- a/addons/spectator/functions/fnc_updateUnits.sqf +++ b/addons/spectator/functions/fnc_updateUnits.sqf @@ -20,16 +20,7 @@ // Function only matters on player clients if (!hasInterface) exitWith {}; -params [["_addUnits",[],[[]]], ["_removeUnits",[],[[], true]]]; - -// Deprecated parameter (remember to remove bool from params when removed) -if (_removeUnits isEqualType true) then { - ACE_DEPRECATED("Boolean parameter","3.12.0","array (see function header or doc)"); - if (_removeUnits) then { - _removeUnits = _addUnits; - _addUnits = []; - }; -}; +params [["_addUnits",[],[[]]], ["_removeUnits",[],[[]]]]; // Add to the whitelist and prevent list overlap GVAR(unitBlacklist) = GVAR(unitBlacklist) - _addUnits; diff --git a/addons/spectator/stringtable.xml b/addons/spectator/stringtable.xml index a9aec6cbb0..e5984b4183 100644 --- a/addons/spectator/stringtable.xml +++ b/addons/spectator/stringtable.xml @@ -110,7 +110,7 @@ 1. a 3. osoby 1ª e 3ª pessoa 1PP 과 3PP 카메라 - 1PP と 3PP カメラ + 一人称と三人称 第一人稱與第三人稱 第一人称与第三人称 diff --git a/addons/tacticalladder/functions/fnc_cancelTLdeploy.sqf b/addons/tacticalladder/functions/fnc_cancelTLdeploy.sqf index 098429bcec..9dcd597230 100644 --- a/addons/tacticalladder/functions/fnc_cancelTLdeploy.sqf +++ b/addons/tacticalladder/functions/fnc_cancelTLdeploy.sqf @@ -10,7 +10,7 @@ * None * * Example: - * [_ladder] call ace_tacticalladder_fnc_cancelTLdeploy + * [player, 1] call ace_tacticalladder_fnc_cancelTLdeploy * * Public: No */ diff --git a/addons/tacticalladder/functions/fnc_handleInteractMenuOpened.sqf b/addons/tacticalladder/functions/fnc_handleInteractMenuOpened.sqf index 1e023b22b0..421329909e 100644 --- a/addons/tacticalladder/functions/fnc_handleInteractMenuOpened.sqf +++ b/addons/tacticalladder/functions/fnc_handleInteractMenuOpened.sqf @@ -18,5 +18,5 @@ params ["_unit"]; if (!isNull GETMVAR(GVAR(ladder),objNull) && {GVAR(ladder) in attachedObjects _unit}) then { - [_unit, GVAR(ladder)] call FUNC(cancelTLdeploy); + [_unit, 1] call FUNC(cancelTLdeploy); }; diff --git a/addons/tacticalladder/functions/fnc_handleKilled.sqf b/addons/tacticalladder/functions/fnc_handleKilled.sqf index 0983901010..9a03e5b4a6 100644 --- a/addons/tacticalladder/functions/fnc_handleKilled.sqf +++ b/addons/tacticalladder/functions/fnc_handleKilled.sqf @@ -18,5 +18,5 @@ params ["_unit"]; if (!isNull GETMVAR(ladder,objNull) && {GVAR(ladder) in attachedObjects _unit}) then { - [_unit, GVAR(ladder)] call FUNC(cancelTLdeploy); + [_unit, 1] call FUNC(cancelTLdeploy); }; diff --git a/addons/tacticalladder/functions/fnc_handlePlayerChanged.sqf b/addons/tacticalladder/functions/fnc_handlePlayerChanged.sqf index f2bac289d1..a19cfeb107 100644 --- a/addons/tacticalladder/functions/fnc_handlePlayerChanged.sqf +++ b/addons/tacticalladder/functions/fnc_handlePlayerChanged.sqf @@ -21,9 +21,9 @@ if (isNull GETGVAR(ladder,objNull)) exitWith {}; params ["_newPlayer", "_oldPlayer"]; if (GVAR(ladder) in attachedObjects _newPlayer) then { - [_newPlayer, GVAR(ladder)] call FUNC(cancelTLdeploy); + [_newPlayer, 1] call FUNC(cancelTLdeploy); }; if (GVAR(ladder) in attachedObjects _oldPlayer) then { - [_oldPlayer, GVAR(ladder)] call FUNC(cancelTLdeploy); + [_oldPlayer, 1] call FUNC(cancelTLdeploy); }; diff --git a/addons/tacticalladder/functions/fnc_handleUnconscious.sqf b/addons/tacticalladder/functions/fnc_handleUnconscious.sqf index 9d6f8ad23e..fe1bae5770 100644 --- a/addons/tacticalladder/functions/fnc_handleUnconscious.sqf +++ b/addons/tacticalladder/functions/fnc_handleUnconscious.sqf @@ -20,5 +20,5 @@ params ["_unit"]; if (!local _unit) exitWith {}; if (!isNull GETMVAR(ladder,objNull) && {GVAR(ladder) in attachedObjects _unit}) then { - [_unit, GVAR(ladder)] call FUNC(cancelTLdeploy); + [_unit, 1] call FUNC(cancelTLdeploy); }; diff --git a/addons/vehiclelock/ACE_Settings.hpp b/addons/vehiclelock/ACE_Settings.hpp index 75073f4f8f..29367b707f 100644 --- a/addons/vehiclelock/ACE_Settings.hpp +++ b/addons/vehiclelock/ACE_Settings.hpp @@ -1,25 +1,11 @@ class ACE_Settings { class GVAR(defaultLockpickStrength) { - category = CSTRING(DisplayName); - displayName = CSTRING(DefaultLockpickStrength_DisplayName); - description = CSTRING(DefaultLockpickStrength_Description); - value = 10; - typeName = "SCALAR"; - sliderSettings[] = {-1, 60, 5, 1}; + movedToSQF = 1; }; class GVAR(lockVehicleInventory) { - category = CSTRING(DisplayName); - displayName = CSTRING(LockVehicleInventory_DisplayName); - description = CSTRING(LockVehicleInventory_Description); - value = 0; - typeName = "BOOL"; + movedToSQF = 1; }; class GVAR(vehicleStartingLockState) { - category = CSTRING(DisplayName); - displayName = CSTRING(VehicleStartingLockState_DisplayName); - description = CSTRING(VehicleStartingLockState_Description); - value = -1; - typeName = "SCALAR"; - sliderSettings[] = {-1, 2, -1, -1}; // ToDo: Make this a list? + movedToSQF = 1; }; }; diff --git a/addons/vehiclelock/XEH_preInit.sqf b/addons/vehiclelock/XEH_preInit.sqf index b47cf6628d..9361d05015 100644 --- a/addons/vehiclelock/XEH_preInit.sqf +++ b/addons/vehiclelock/XEH_preInit.sqf @@ -6,4 +6,6 @@ PREP_RECOMPILE_START; #include "XEH_PREP.hpp" PREP_RECOMPILE_END; +#include "initSettings.sqf" + ADDON = true; diff --git a/addons/vehiclelock/initSettings.sqf b/addons/vehiclelock/initSettings.sqf new file mode 100644 index 0000000000..238268a8dc --- /dev/null +++ b/addons/vehiclelock/initSettings.sqf @@ -0,0 +1,28 @@ +// CBA Settings [ADDON: ace_vehicleLock]: + +[ + QGVAR(defaultLockpickStrength), "SLIDER", + [LSTRING(DefaultLockpickStrength_DisplayName), LSTRING(DefaultLockpickStrength_Description)], + LSTRING(DisplayName), + [-1,60,10,1], // [min, max, default value, trailing decimals (-1 for whole numbers only)] + true, // isGlobal + {[QGVAR(defaultLockpickStrength), _this] call EFUNC(common,cbaSettings_settingChanged)} +] call CBA_settings_fnc_init; + +[ + QGVAR(lockVehicleInventory), "CHECKBOX", + [LSTRING(LockVehicleInventory_DisplayName), LSTRING(LockVehicleInventory_Description)], + LSTRING(DisplayName), + false, // default value + true, // isGlobal + {[QGVAR(lockVehicleInventory), _this] call EFUNC(common,cbaSettings_settingChanged)} +] call CBA_settings_fnc_init; + +[ + QGVAR(vehicleStartingLockState), "LIST", + [LSTRING(VehicleStartingLockState_DisplayName), LSTRING(VehicleStartingLockState_Description)], + LSTRING(DisplayName), + [[-1,0,1,2],["str_cfg_envsounds_default", LSTRING(VehicleStartingLockState_AsIs), LSTRING(VehicleStartingLockState_Locked), LSTRING(VehicleStartingLockState_Unlocked)], 0], // [values, titles, defaultIndex] + true, // isGlobal + {[QGVAR(vehicleStartingLockState), _this] call EFUNC(common,cbaSettings_settingChanged)} +] call CBA_settings_fnc_init; diff --git a/addons/vehiclelock/stringtable.xml b/addons/vehiclelock/stringtable.xml index b6edabfc7a..e7cd5e3b14 100644 --- a/addons/vehiclelock/stringtable.xml +++ b/addons/vehiclelock/stringtable.xml @@ -2,13 +2,13 @@ - Vehicle Lock - Blocco Veicolo - 載具上鎖 - 载具上锁 - 車両の施錠 - 차량 잠금 - Fahrzeugsperre + ACE Vehicle Lock + ACE Blocco Veicolo + ACE 載具上鎖 + ACE 载具上锁 + ACE 車両の施錠 + ACE 차량 잠금 + ACE Fahrzeugsperre Unlock Vehicle diff --git a/addons/vehicles/CfgVehicles.hpp b/addons/vehicles/CfgVehicles.hpp index 8834cc1d4d..f2e76377d2 100644 --- a/addons/vehicles/CfgVehicles.hpp +++ b/addons/vehicles/CfgVehicles.hpp @@ -68,44 +68,17 @@ class CfgVehicles { class APC_Tracked_01_base_F: Tank_F { fuelCapacity = 500 * FUEL_FACTOR; - class Turrets: Turrets { - class MainTurret: MainTurret { - class Turrets; - }; - }; }; class APC_Tracked_02_base_F: Tank_F { fuelCapacity = 600 * FUEL_FACTOR; // NO FUCKING DATA - class Turrets: Turrets { - class MainTurret: MainTurret { - class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - }; - }; - }; - }; - - class O_APC_Tracked_02_base_F: APC_Tracked_02_base_F {}; - - class O_APC_Tracked_02_cannon_F: O_APC_Tracked_02_base_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - weapons[] = {"autocannon_30mm_CTWS","ACE_LMG_coax_PKT_mem2","missiles_titan"}; - magazines[] = {"140Rnd_30mm_MP_shells_Tracer_Green","60Rnd_30mm_APFSDS_shells_Tracer_Green","2000Rnd_762x51_Belt_Green","2Rnd_GAT_missiles"}; - }; - }; }; class APC_Tracked_03_base_F: Tank_F { fuelCapacity = 660 * FUEL_FACTOR; class Turrets: Turrets { class MainTurret: MainTurret { - weapons[] = {"autocannon_30mm","ACE_LMG_coax_L94A1_mem3"}; - magazines[] = {"140Rnd_30mm_MP_shells_Tracer_Yellow","60Rnd_30mm_APFSDS_shells_Tracer_Yellow","1000Rnd_762x51_Belt_Yellow","1000Rnd_762x51_Belt_Yellow"}; - class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - }; + weapons[] = {"autocannon_30mm","ACE_LMG_coax_L94A1_mem3"}; // Base 1.82: "autocannon_30mm","LMG_coax" }; }; }; @@ -114,11 +87,7 @@ class CfgVehicles { fuelCapacity = 550 * FUEL_FACTOR; class Turrets: Turrets { class MainTurret: MainTurret { - weapons[] = {"cannon_120mm_long","ACE_LMG_coax_MAG58_mem3"}; - magazines[] = {"28Rnd_120mm_APFSDS_shells_Tracer_Yellow","14Rnd_120mm_HE_shells_Tracer_Yellow","2000Rnd_762x51_Belt_Yellow","2000Rnd_762x51_Belt_Yellow"}; - class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - }; + weapons[] = {"cannon_120mm_long","ACE_LMG_coax_MAG58_mem3"}; // Base 1.82: "cannon_120mm_long","LMG_coax" }; }; }; @@ -127,64 +96,54 @@ class CfgVehicles { fuelCapacity = 500 * FUEL_FACTOR; class Turrets: Turrets { class MainTurret: MainTurret { - weapons[] = {"cannon_120mm","ACE_LMG_coax_MAG58_mem2"}; - magazines[] = {"32Rnd_120mm_APFSDS_shells_Tracer_Red","16Rnd_120mm_HE_shells_Tracer_Red","2000Rnd_762x51_Belt_Red","2000Rnd_762x51_Belt_Red"}; - class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - }; + weapons[] = {"cannon_120mm", "ACE_LMG_coax_MAG58_mem3"}; // Base 1.82: "cannon_120mm","LMG_coax" }; }; }; class B_MBT_01_base_F: MBT_01_base_F {}; - class B_MBT_01_cannon_F: B_MBT_01_base_F {}; - - class MBT_02_base_F: Tank_F { - fuelCapacity = 600 * FUEL_FACTOR; // again, couldn't find proper data + class B_MBT_01_TUSK_F: B_MBT_01_cannon_F { class Turrets: Turrets { class MainTurret: MainTurret { - class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - }; + weapons[] = {"cannon_120mm", "ACE_LMG_coax_MAG58_mem3"}; // Base 1.82: "cannon_120mm","LMG_coax" }; }; }; + + + + class MBT_02_base_F: Tank_F { + fuelCapacity = 600 * FUEL_FACTOR; // again, couldn't find proper data + }; + + + // Change boat minigun ammo to 7.62 class Ship_F: Ship {}; - class Boat_F: Ship_F {}; - class Boat_Armed_01_base_F: Boat_F { class Turrets: Turrets { class FrontTurret; class RearTurret: FrontTurret {}; }; }; - - class Boat_Armed_01_minigun_base_F: Boat_Armed_01_base_F {}; - - class B_Boat_Armed_01_minigun_F: Boat_Armed_01_minigun_base_F { + class Boat_Armed_01_minigun_base_F: Boat_Armed_01_base_F { class Turrets: Turrets { - class FrontTurret: FrontTurret {}; class RearTurret: RearTurret { - magazines[] = {"2000Rnd_762x51_Belt_T_Red"}; + magazines[] = {"2000Rnd_762x51_Belt_T_Red"}; // Base 1.82: "2000Rnd_65x39_belt_Tracer_Red" }; }; }; - class I_Boat_Armed_01_minigun_F: Boat_Armed_01_minigun_base_F { class Turrets: Turrets { - class FrontTurret: FrontTurret {}; class RearTurret: RearTurret { - magazines[] = {"2000Rnd_762x51_Belt_T_Yellow"}; + magazines[] = {"2000Rnd_762x51_Belt_T_Yellow"}; // Base 1.82: "2000Rnd_65x39_Belt_Tracer_Yellow" }; }; }; - class Truck_F: Car_F { - class Turrets: Turrets {}; - }; + class Truck_F: Car_F {}; class MRAP_01_base_F: Car_F { fuelCapacity = 510 * FUEL_FACTOR; @@ -193,15 +152,7 @@ class CfgVehicles { class MRAP_02_base_F: Car_F { fuelCapacity = 500 * FUEL_FACTOR; // couldn't find any data for the punisher }; - - class O_MRAP_02_F: MRAP_02_base_F { - class Turrets; - }; - - class Offroad_01_base_F: Car_F { - //fuelCapacity = 45; - }; - + class MRAP_03_base_F: Car_F { fuelCapacity = 860 * FUEL_FACTOR; smokeLauncherGrenadeCount = 3; @@ -217,7 +168,6 @@ class CfgVehicles { smokeLauncherGrenadeCount = 3; smokeLauncherAngle = 80; class Turrets: Turrets { - class MainTurret: MainTurret {}; class CommanderTurret: CommanderTurret { stabilizedInAxes = 3; }; @@ -228,7 +178,6 @@ class CfgVehicles { smokeLauncherGrenadeCount = 3; smokeLauncherAngle = 80; class Turrets: Turrets { - class MainTurret: MainTurret {}; class CommanderTurret: CommanderTurret { stabilizedInAxes = 3; }; @@ -237,190 +186,46 @@ class CfgVehicles { class Truck_01_base_F: Truck_F { fuelCapacity = 644 * FUEL_FACTOR; - class Turrets; }; class Truck_02_base_F: Truck_F { fuelCapacity = 1100 * FUEL_FACTOR; - class Turrets; }; class Truck_03_base_F: Truck_F { fuelCapacity = 900 * FUEL_FACTOR; // NO. FUCKING. DATA. - class Turrets; - }; - - class Hatchback_01_base_F: Car_F { - //fuelCapacity = 45; - class Turrets; - }; - - class SUV_01_base_F: Car_F { - //fuelCapacity = 45; - class Turrets; - }; - - class Van_01_base_F: Truck_F { - //fuelCapacity = 45; - class Turrets; }; class APC_Wheeled_01_base_F: Wheeled_APC_F { fuelCapacity = 800 * FUEL_FACTOR; class Turrets: Turrets { - class MainTurret: MainTurret { - class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - }; - }; + class MainTurret: MainTurret {}; }; }; - class B_APC_Wheeled_01_base_F: APC_Wheeled_01_base_F {}; - class B_APC_Wheeled_01_cannon_F: B_APC_Wheeled_01_base_F { class Turrets: Turrets { class MainTurret: MainTurret { - weapons[] = {"autocannon_40mm_CTWS","ACE_LMG_coax_MAG58_mem2"}; - magazines[] = {"60Rnd_40mm_GPR_Tracer_Red_shells","40Rnd_40mm_APFSDS_Tracer_Red_shells","2000Rnd_762x51_Belt_Red"}; + weapons[] = {"autocannon_40mm_CTWS","ACE_LMG_coax_MAG58_mem3"}; // Base 1.82: "autocannon_40mm_CTWS","LMG_coax" }; }; }; class APC_Wheeled_02_base_F: Wheeled_APC_F { fuelCapacity = 700 * FUEL_FACTOR; - class Turrets: Turrets { - class MainTurret: MainTurret { - class Turrets; - }; - - class CommanderOptics: CommanderOptics {}; - }; - }; - - class B_MBT_01_TUSK_F: B_MBT_01_cannon_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - weapons[] = {"cannon_105mm","ACE_LMG_coax_MAG58_mem2"}; - magazines[] = {"40Rnd_105mm_APFSDS_T_Red","20Rnd_105mm_HEAT_MP_T_Red","2000Rnd_762x51_Belt_Red","2000Rnd_762x51_Belt_Red"}; - class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - }; - }; - }; }; class APC_Wheeled_03_base_F: Wheeled_APC_F { fuelCapacity = 700 * FUEL_FACTOR; class Turrets: Turrets { - class MainTurret: MainTurret { - class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - }; - }; + class MainTurret: MainTurret {}; }; }; - class I_APC_Wheeled_03_base_F: APC_Wheeled_03_base_F {}; - class I_APC_Wheeled_03_cannon_F: I_APC_Wheeled_03_base_F { class Turrets: Turrets { class MainTurret: MainTurret { - weapons[] = {"autocannon_30mm_CTWS","ACE_LMG_coax_MAG58_mem2","missiles_titan"}; - magazines[] = {"140Rnd_30mm_MP_shells_Tracer_Yellow","60Rnd_30mm_APFSDS_shells_Tracer_Yellow","2000Rnd_762x51_Belt_Yellow","2Rnd_GAT_missiles"}; - }; - }; - }; - - // static mgs shouldn't use 500 rnd mags. - class StaticWeapon: LandVehicle { - class Turrets { - class MainTurret; //: NewTurret {}; - }; - }; - - class StaticMGWeapon: StaticWeapon {}; - - class HMG_01_base_F: StaticMGWeapon { - class Turrets: Turrets { - class MainTurret: MainTurret { - magazines[] = {"100Rnd_127x99_mag","100Rnd_127x99_mag","100Rnd_127x99_mag","100Rnd_127x99_mag","100Rnd_127x99_mag"}; - }; - }; - }; - - class B_HMG_01_F: HMG_01_base_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - magazines[] = {"100Rnd_127x99_mag_Tracer_Red","100Rnd_127x99_mag_Tracer_Red","100Rnd_127x99_mag_Tracer_Red","100Rnd_127x99_mag_Tracer_Red","100Rnd_127x99_mag_Tracer_Red"}; - }; - }; - }; - - class O_HMG_01_F: HMG_01_base_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - magazines[] = {"100Rnd_127x99_mag_Tracer_Green","100Rnd_127x99_mag_Tracer_Green","100Rnd_127x99_mag_Tracer_Green","100Rnd_127x99_mag_Tracer_Green","100Rnd_127x99_mag_Tracer_Green"}; - }; - }; - }; - - class I_HMG_01_F: HMG_01_base_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - magazines[] = {"100Rnd_127x99_mag_Tracer_Yellow","100Rnd_127x99_mag_Tracer_Yellow","100Rnd_127x99_mag_Tracer_Yellow","100Rnd_127x99_mag_Tracer_Yellow","100Rnd_127x99_mag_Tracer_Yellow"}; - }; - }; - }; - - class HMG_01_high_base_F: HMG_01_base_F {}; - - class B_HMG_01_high_F: HMG_01_high_base_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - magazines[] = {"100Rnd_127x99_mag_Tracer_Red","100Rnd_127x99_mag_Tracer_Red","100Rnd_127x99_mag_Tracer_Red","100Rnd_127x99_mag_Tracer_Red","100Rnd_127x99_mag_Tracer_Red"}; - }; - }; - }; - - class O_HMG_01_high_F: HMG_01_high_base_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - magazines[] = {"100Rnd_127x99_mag_Tracer_Green","100Rnd_127x99_mag_Tracer_Green","100Rnd_127x99_mag_Tracer_Green","100Rnd_127x99_mag_Tracer_Green","100Rnd_127x99_mag_Tracer_Green"}; - }; - }; - }; - - class I_HMG_01_high_F: HMG_01_high_base_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - magazines[] = {"100Rnd_127x99_mag_Tracer_Yellow","100Rnd_127x99_mag_Tracer_Yellow","100Rnd_127x99_mag_Tracer_Yellow","100Rnd_127x99_mag_Tracer_Yellow","100Rnd_127x99_mag_Tracer_Yellow"}; - }; - }; - }; - - class HMG_01_A_base_F: HMG_01_base_F {}; - - class B_HMG_01_A_F: HMG_01_A_base_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - magazines[] = {"100Rnd_127x99_mag_Tracer_Red","100Rnd_127x99_mag_Tracer_Red","100Rnd_127x99_mag_Tracer_Red","100Rnd_127x99_mag_Tracer_Red","100Rnd_127x99_mag_Tracer_Red"}; - }; - }; - }; - - class O_HMG_01_A_F: HMG_01_A_base_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - magazines[] = {"100Rnd_127x99_mag_Tracer_Green","100Rnd_127x99_mag_Tracer_Green","100Rnd_127x99_mag_Tracer_Green","100Rnd_127x99_mag_Tracer_Green","100Rnd_127x99_mag_Tracer_Green"}; - }; - }; - }; - - class I_HMG_01_A_F: HMG_01_A_base_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - magazines[] = {"100Rnd_127x99_mag_Tracer_Yellow","100Rnd_127x99_mag_Tracer_Yellow","100Rnd_127x99_mag_Tracer_Yellow","100Rnd_127x99_mag_Tracer_Yellow","100Rnd_127x99_mag_Tracer_Yellow"}; + weapons[] = {"autocannon_30mm_CTWS","ACE_LMG_coax_ext_MAG58", "missiles_titan"}; // Base 1.82: "autocannon_30mm_CTWS","LMG_coax_ext","missiles_titan" }; }; }; diff --git a/addons/vehicles/CfgWeapons.hpp b/addons/vehicles/CfgWeapons.hpp index 530a6913c7..b0c2f36cc9 100644 --- a/addons/vehicles/CfgWeapons.hpp +++ b/addons/vehicles/CfgWeapons.hpp @@ -3,30 +3,15 @@ class CfgWeapons { class MGunCore; class MGun: MGunCore {}; class LMG_RCWS: MGun {}; + class LMG_coax: LMG_RCWS {}; + class LMG_coax_ext: LMG_coax {}; - class LMG_coax; class ACE_LMG_coax_L94A1_mem3: LMG_coax {}; - class ACE_LMG_coax_PKT_mem2: LMG_coax { - class GunParticles { - class effect1 { - positionName = "usti hlavne2"; - directionName = "konec hlavne2"; - effectName = "MachineGunCloud"; - }; - }; - }; class ACE_LMG_coax_MAG58_mem3: LMG_coax {}; - class ACE_LMG_coax_MAG58_mem2: LMG_coax { - class GunParticles { - class effect1 { - positionName = "usti hlavne2"; - directionName = "konec hlavne2"; - effectName = "MachineGunCloud"; - }; - }; - }; + class ACE_LMG_coax_ext_MAG58: LMG_coax_ext {}; class LMG_Minigun: LMG_RCWS { + // Add the following: "2000Rnd_762x51_Belt_T_Green","2000Rnd_762x51_Belt_T_Red","2000Rnd_762x51_Belt_T_Yellow","5000Rnd_762x51_Belt","5000Rnd_762x51_Yellow_Belt" magazines[] = {"PylonWeapon_2000Rnd_65x39_belt", "1000Rnd_65x39_Belt","1000Rnd_65x39_Belt_Green","1000Rnd_65x39_Belt_Tracer_Green","1000Rnd_65x39_Belt_Tracer_Red","1000Rnd_65x39_Belt_Tracer_Yellow","1000Rnd_65x39_Belt_Yellow","2000Rnd_65x39_Belt","2000Rnd_65x39_Belt_Green","2000Rnd_65x39_Belt_Tracer_Green","2000Rnd_65x39_Belt_Tracer_Green_Splash","2000Rnd_65x39_Belt_Tracer_Red","2000Rnd_65x39_Belt_Tracer_Yellow","2000Rnd_65x39_Belt_Tracer_Yellow_Splash","2000Rnd_65x39_Belt_Yellow","2000Rnd_762x51_Belt_T_Green","2000Rnd_762x51_Belt_T_Red","2000Rnd_762x51_Belt_T_Yellow","200Rnd_65x39_Belt","200Rnd_65x39_Belt_Tracer_Green","200Rnd_65x39_Belt_Tracer_Red","200Rnd_65x39_Belt_Tracer_Yellow","5000Rnd_762x51_Belt","5000Rnd_762x51_Yellow_Belt","500Rnd_65x39_Belt","500Rnd_65x39_Belt_Tracer_Red_Splash","500Rnd_65x39_Belt_Tracer_Green_Splash","500Rnd_65x39_Belt_Tracer_Yellow_Splash"}; }; @@ -36,18 +21,8 @@ class CfgWeapons { class HMG_01: HMG_127 { reloadTime = 0.23; - class manual: manual { reloadTime = 0.23; }; - class close: manual {}; - class short: close {}; - class medium: close {}; - class far: close {}; - }; - - // make static weapons compatible with 100rnd mag variants - class HMG_static: HMG_01 { - magazines[] = {"500Rnd_127x99_mag","500Rnd_127x99_mag_Tracer_Red","500Rnd_127x99_mag_Tracer_Green","500Rnd_127x99_mag_Tracer_Yellow","200Rnd_127x99_mag","200Rnd_127x99_mag_Tracer_Red","200Rnd_127x99_mag_Tracer_Green","200Rnd_127x99_mag_Tracer_Yellow","100Rnd_127x99_mag","100Rnd_127x99_mag_Tracer_Red","100Rnd_127x99_mag_Tracer_Green","100Rnd_127x99_mag_Tracer_Yellow"}; }; }; diff --git a/addons/weaponselect/ACE_Settings.hpp b/addons/weaponselect/ACE_Settings.hpp index 5b58659f6e..ba3ccca74f 100644 --- a/addons/weaponselect/ACE_Settings.hpp +++ b/addons/weaponselect/ACE_Settings.hpp @@ -1,10 +1,6 @@ class ACE_Settings { class GVAR(displayText) { - typeName = "BOOL"; - isClientSettable = 1; - value = 1; - displayName = CSTRING(SettingDisplayTextName); - description = CSTRING(SettingDisplayTextDesc); + movedToSQF = 1; }; }; diff --git a/addons/weaponselect/XEH_preInit.sqf b/addons/weaponselect/XEH_preInit.sqf index 0335ee5fda..01c9f2484f 100644 --- a/addons/weaponselect/XEH_preInit.sqf +++ b/addons/weaponselect/XEH_preInit.sqf @@ -26,4 +26,6 @@ GVAR(GrenadesNonFrag) = []; false } count getArray (configFile >> "CfgWeapons" >> "Throw" >> "muzzles"); +#include "initSettings.sqf" + ADDON = true; diff --git a/addons/weaponselect/initSettings.sqf b/addons/weaponselect/initSettings.sqf new file mode 100644 index 0000000000..d4fc725783 --- /dev/null +++ b/addons/weaponselect/initSettings.sqf @@ -0,0 +1,8 @@ +// CBA Settings [ADDON: ace_weaponselect]: + +[QGVAR(displayText), "CHECKBOX", +[LSTRING(SettingDisplayTextName), LSTRING(SettingDisplayTextDesc)], +localize ELSTRING(common,ACEKeybindCategoryWeapons), +true, // default value +false, // isGlobal +{[QGVAR(displayText), _this] call EFUNC(common,cbaSettings_settingChanged)}] call CBA_settings_fnc_init; diff --git a/addons/zeus/CfgFactionClasses.hpp b/addons/zeus/CfgFactionClasses.hpp index 7d758adfc0..6c164a3c5d 100644 --- a/addons/zeus/CfgFactionClasses.hpp +++ b/addons/zeus/CfgFactionClasses.hpp @@ -24,4 +24,9 @@ class CfgFactionClasses { priority = 2; side = 7; }; + class GVAR(Arsenal) { + displayName = "ACE Arsenal"; + priority = 2; + side = 7; + }; }; diff --git a/addons/zeus/CfgVehicles.hpp b/addons/zeus/CfgVehicles.hpp index 49fcb9532a..74095cb4a2 100644 --- a/addons/zeus/CfgVehicles.hpp +++ b/addons/zeus/CfgVehicles.hpp @@ -107,6 +107,27 @@ class CfgVehicles { function = QFUNC(moduleAddSpareWheel); icon = "a3\ui_f\data\IGUI\Cfg\Actions\repair_ca.paa"; }; + class GVAR(moduleSetEngineer): GVAR(moduleBase) { + curatorCanAttach = 1; + category = QGVAR(Repair); + displayName = CSTRING(ModuleSetEngineer_DisplayName); + curatorInfoType = QGVAR(RscSetEngineer); + icon = "a3\ui_f\data\IGUI\Cfg\Actions\repair_ca.paa"; + }; + class GVAR(moduleSetRepairFacility): GVAR(moduleBase) { + curatorCanAttach = 1; + category = QGVAR(Repair); + displayName = CSTRING(ModuleSetRepairFacility_DisplayName); + function = QFUNC(moduleSetRepairFacility); + icon = "a3\ui_f\data\IGUI\Cfg\Actions\repair_ca.paa"; + }; + class GVAR(moduleSetRepairVehicle): GVAR(moduleBase) { + curatorCanAttach = 1; + category = QGVAR(Repair); + displayName = CSTRING(ModuleSetRepairVehicle_DisplayName); + function = QFUNC(moduleSetRepairVehicle); + icon = "a3\ui_f\data\IGUI\Cfg\Actions\repair_ca.paa"; + }; class GVAR(moduleAddOrRemoveFRIES): GVAR(moduleBase) { curatorCanAttach = 1; category = QGVAR(Utility); @@ -138,6 +159,7 @@ class CfgVehicles { category = QGVAR(Utility); displayName = CSTRING(ModuleEditableObjects_DisplayName); curatorInfoType = QGVAR(RscEditableObjects); + icon = QPATHTOF(ui\Icon_Module_Zeus_Editable_Objects_ca.paa); }; class GVAR(moduleGlobalSetSkill): GVAR(moduleBase) { category = QGVAR(AI); @@ -150,6 +172,13 @@ class CfgVehicles { displayName = CSTRING(ModuleGroupSide_DisplayName); curatorInfoType = QGVAR(RscGroupSide); }; + class GVAR(moduleHeal): GVAR(moduleBase) { + curatorCanAttach = 1; + category = QGVAR(Medical); + displayName = CSTRING(ModuleHeal_DisplayName); + function = QFUNC(moduleHeal); + icon = QPATHTOF(ui\Icon_Module_Zeus_Heal_ca.paa); + }; class GVAR(moduleLoadIntoCargo): GVAR(moduleBase) { curatorCanAttach = 1; category = QGVAR(Utility); @@ -208,6 +237,12 @@ class CfgVehicles { displayName = CSTRING(ModuleSimulation_DisplayName); function = QFUNC(moduleSimulation); }; + class GVAR(moduleSuicideBomber): GVAR(moduleBase) { + curatorCanAttach = 1; + category = QGVAR(AI); + displayName = CSTRING(ModuleSuicideBomber_DisplayName); + curatorInfoType = QGVAR(RscSuicideBomber); + }; class GVAR(moduleSurrender): GVAR(moduleBase) { curatorCanAttach = 1; category = QGVAR(Captive); @@ -245,14 +280,15 @@ class CfgVehicles { class GVAR(moduleToggleNvg): GVAR(moduleBase) { curatorCanAttach = 1; category = QGVAR(AI); - displayName = CSTRING(moduleToggleNVG_DisplayName); + displayName = CSTRING(ModuleToggleNVG_DisplayName); curatorInfoType = QGVAR(RscToggleNvg); }; class GVAR(moduleToggleFlashlight): GVAR(moduleBase) { curatorCanAttach = 1; category = QGVAR(AI); - displayName = CSTRING(moduleToggleFlashlight_DisplayName); + displayName = CSTRING(ModuleToggleFlashlight_DisplayName); curatorInfoType = QGVAR(RscToggleFlashlight); + icon = QPATHTOF(ui\Icon_Module_Zeus_Flashlight_ca.paa); }; class GVAR(AddFullArsenal): GVAR(moduleBase) { curatorCanAttach = 1; @@ -266,6 +302,18 @@ class CfgVehicles { displayName = CSTRING(ModuleRemoveArsenal_DisplayName); function = QFUNC(moduleRemoveArsenal); }; + class GVAR(AddFullAceArsenal): GVAR(moduleBase) { + curatorCanAttach = 1; + category = QGVAR(Arsenal); + displayName = CSTRING(ModuleAddFullACEArsenal_DisplayName); + function = QFUNC(moduleAddAceArsenal); + }; + class GVAR(RemoveFullAceArsenal): GVAR(moduleBase) { + curatorCanAttach = 1; + category = QGVAR(Arsenal); + displayName = CSTRING(ModuleRemoveACEArsenal_DisplayName); + function = QFUNC(moduleRemoveAceArsenal); + }; class ModuleArsenal_F: Module_F { function=QFUNC(bi_moduleArsenal); }; diff --git a/addons/zeus/XEH_PREP.hpp b/addons/zeus/XEH_PREP.hpp index aba07e7114..910b0db4d1 100644 --- a/addons/zeus/XEH_PREP.hpp +++ b/addons/zeus/XEH_PREP.hpp @@ -8,6 +8,7 @@ PREP(bi_moduleRemoteControl); PREP(getModuleDestination); PREP(handleZeusUnitAssigned); PREP(moduleAddArsenal); +PREP(moduleAddAceArsenal); PREP(moduleAddSpareTrack); PREP(moduleAddSpareWheel); PREP(moduleAddOrRemoveFRIES); @@ -16,13 +17,19 @@ PREP(moduleConfigurePylons); PREP(moduleGarrison); PREP(moduleGlobalSetSkill); PREP(moduleGroupSide); +PREP(moduleHeal); PREP(moduleLoadIntoCargo); PREP(moduleRemoveArsenal); +PREP(moduleRemoveAceArsenal); PREP(moduleSearchNearby); +PREP(moduleSetEngineer); PREP(moduleSetMedic); PREP(moduleSetMedicalVehicle); PREP(moduleSetMedicalFacility); +PREP(moduleSetRepairFacility); +PREP(moduleSetRepairVehicle); PREP(moduleSimulation); +PREP(moduleSuicideBomber); PREP(moduleSuppressiveFire); PREP(moduleSuppressiveFireLocal); PREP(moduleSurrender); @@ -34,7 +41,6 @@ PREP(moduleUnGarrison); PREP(moduleZeusSettings); PREP(showMessage); PREP(ui_attributeCargo); -//PREP(ui_attributePosition); PREP(ui_attributeRadius); PREP(ui_defendArea); PREP(ui_garrison); @@ -43,6 +49,8 @@ PREP(ui_globalSetSkill); PREP(ui_groupSide); PREP(ui_patrolArea); PREP(ui_searchArea); +PREP(ui_setEngineer); +PREP(ui_suicideBomber); PREP(ui_teleportPlayers); PREP(ui_toggleFlashlight); PREP(ui_toggleNvg); diff --git a/addons/zeus/XEH_postInit.sqf b/addons/zeus/XEH_postInit.sqf index 5929e8664e..2294e3a454 100644 --- a/addons/zeus/XEH_postInit.sqf +++ b/addons/zeus/XEH_postInit.sqf @@ -16,14 +16,11 @@ QGVAR(GlobalSkillAI) addPublicVariableEventHandler FUNC(moduleGlobalSetSkill); [QGVAR(moduleSearchNearby), CBA_fnc_searchNearby] call CBA_fnc_addEventHandler; [QGVAR(moduleSearchArea), CBA_fnc_taskSearchArea] call CBA_fnc_addEventHandler; [QGVAR(suppressiveFire), LINKFUNC(moduleSuppressiveFireLocal)] call CBA_fnc_addEventHandler; -[QGVAR(enableFlashlight), { - params ["_unit", "_mode"]; - _unit enableGunLights _mode; -}] call CBA_fnc_addEventHandler; // Editable object commands must be ran on server, this events are used in the respective module if (isServer) then { [QGVAR(equipFries), EFUNC(fastroping,equipFRIES)] call CBA_fnc_addEventHandler; + [QGVAR(addObjects), { params ["_objects", ["_curator", objNull]]; @@ -33,7 +30,6 @@ if (isServer) then { _x addCuratorEditableObjects [_objects, true]; } forEach allCurators; }] call CBA_fnc_addEventHandler; - [QGVAR(removeObjects), { params ["_objects", ["_curator", objNull]]; diff --git a/addons/zeus/config.cpp b/addons/zeus/config.cpp index 5b764b6007..37cfa24dd4 100644 --- a/addons/zeus/config.cpp +++ b/addons/zeus/config.cpp @@ -22,13 +22,17 @@ class CfgPatches { QGVAR(moduleSuppressiveFire), QGVAR(AddFullArsenal), QGVAR(RemoveFullArsenal), - QGVAR(moduleTeleportPlayers) + QGVAR(moduleTeleportPlayers), + QGVAR(moduleHeal), + QGVAR(moduleSuicideBomber), + QGVAR(AddFullAceArsenal), + QGVAR(RemoveFullAceArsenal) }; weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common", "ace_ai"}; author = ECSTRING(common,ACETeam); - authors[] = {"SilentSpike"}; + authors[] = {"SilentSpike", "mharis001"}; url = ECSTRING(main,URL); VERSION_CONFIG; }; @@ -53,6 +57,13 @@ class CfgPatches { QGVAR(moduleLoadIntoCargo) }; }; + class GVAR(repair): ADDON { + units[] = { + QGVAR(moduleSetEngineer), + QGVAR(moduleSetRepairVehicle), + QGVAR(moduleSetRepairFacility) + }; + }; class GVAR(cargoAndRepair): ADDON { units[] = { QGVAR(moduleAddSpareTrack), @@ -69,15 +80,23 @@ class CfgPatches { QGVAR(moduleConfigurePylons) }; }; + class GVAR(arsenal): ADDON { + units[] = { + QGVAR(AddFullAceArsenal), + QGVAR(RemoveFullAceArsenal) + }; + }; }; class ACE_Curator { GVAR(captives) = "ace_captives"; GVAR(medical) = "ace_medical"; GVAR(cargo) = "ace_cargo"; + GVAR(repair) = "ace_repair"; GVAR(cargoAndRepair)[] = {"ace_cargo", "ace_repair"}; GVAR(fastroping) = "ace_fastroping"; GVAR(pylons) = "ace_pylons"; + GVAR(arsenal) = "ace_arsenal"; }; #include "CfgFactionClasses.hpp" diff --git a/addons/zeus/functions/fnc_addObjectToCurator.sqf b/addons/zeus/functions/fnc_addObjectToCurator.sqf index 230f035eb3..7efa8beb64 100644 --- a/addons/zeus/functions/fnc_addObjectToCurator.sqf +++ b/addons/zeus/functions/fnc_addObjectToCurator.sqf @@ -13,7 +13,6 @@ * * Public: No */ - #include "script_component.hpp" params ["_object"]; diff --git a/addons/zeus/functions/fnc_bi_moduleArsenal.sqf b/addons/zeus/functions/fnc_bi_moduleArsenal.sqf index 2990d42633..bc976c7bee 100644 --- a/addons/zeus/functions/fnc_bi_moduleArsenal.sqf +++ b/addons/zeus/functions/fnc_bi_moduleArsenal.sqf @@ -16,7 +16,6 @@ * * Public: No */ - #include "script_component.hpp" params ["_logic", "", "_activated"]; diff --git a/addons/zeus/functions/fnc_bi_moduleCurator.sqf b/addons/zeus/functions/fnc_bi_moduleCurator.sqf index b556b08197..3b863a70a5 100644 --- a/addons/zeus/functions/fnc_bi_moduleCurator.sqf +++ b/addons/zeus/functions/fnc_bi_moduleCurator.sqf @@ -17,7 +17,6 @@ * * Public: No */ - #include "script_component.hpp" params ["_logic", "_units", "_activated"]; diff --git a/addons/zeus/functions/fnc_bi_moduleMine.sqf b/addons/zeus/functions/fnc_bi_moduleMine.sqf index 1c85706d09..cb3be133d1 100644 --- a/addons/zeus/functions/fnc_bi_moduleMine.sqf +++ b/addons/zeus/functions/fnc_bi_moduleMine.sqf @@ -16,7 +16,6 @@ * * Public: No */ - #include "script_component.hpp" params ["_logic", "_units", "_activated"]; diff --git a/addons/zeus/functions/fnc_bi_moduleProjectile.sqf b/addons/zeus/functions/fnc_bi_moduleProjectile.sqf index 3d974c126c..bbb4da0988 100644 --- a/addons/zeus/functions/fnc_bi_moduleProjectile.sqf +++ b/addons/zeus/functions/fnc_bi_moduleProjectile.sqf @@ -17,7 +17,6 @@ * * Public: No */ - #include "script_component.hpp" _logic = _this select 0; diff --git a/addons/zeus/functions/fnc_bi_moduleRemoteControl.sqf b/addons/zeus/functions/fnc_bi_moduleRemoteControl.sqf index 994b445d8d..687956492d 100644 --- a/addons/zeus/functions/fnc_bi_moduleRemoteControl.sqf +++ b/addons/zeus/functions/fnc_bi_moduleRemoteControl.sqf @@ -16,7 +16,6 @@ * * Public: No */ - #include "script_component.hpp" _logic = _this select 0; diff --git a/addons/zeus/functions/fnc_getModuleDestination.sqf b/addons/zeus/functions/fnc_getModuleDestination.sqf index f29b42550c..d6aa822b5a 100644 --- a/addons/zeus/functions/fnc_getModuleDestination.sqf +++ b/addons/zeus/functions/fnc_getModuleDestination.sqf @@ -15,6 +15,7 @@ * 2: Text (default: "") * 3: Icon image file (default: "\a3\ui_f\data\IGUI\Cfg\Cursors\select_target_ca.paa") * 4: Icon color (default: [1,0,0,1]) + * 5: Icon Angle (default: 0) * * Return Value: * None @@ -26,7 +27,7 @@ */ #include "script_component.hpp" -params ["_object", "_code", ["_text", ""], ["_icon", "\a3\ui_f\data\IGUI\Cfg\Cursors\select_target_ca.paa"], ["_color", [1,0,0,1]]]; +params ["_object", "_code", ["_text", ""], ["_icon", "\a3\ui_f\data\IGUI\Cfg\Cursors\select_target_ca.paa"], ["_color", [1,0,0,1]], ["_angle", 0]]; if (missionNamespace getVariable [QGVAR(moduleDestination_running), false]) exitWith { [false, _object, [0,0,0], false, false, false] call _code; @@ -86,16 +87,16 @@ GVAR(moduleDestination_displayEHKeyboard) = [findDisplay 312, "KeyDown", { GVAR(moduleDestination_mapDrawEH) = [((findDisplay 312) displayCtrl 50), "draw", { params ["_mapCtrl"]; //IGNORE_PRIVATE_WARNING ["_thisArgs"] - _thisArgs params ["_object", "_text", "_icon", "_color"]; + _thisArgs params ["_object", "_text", "_icon", "_color", "_angle"]; private _pos2d = (((findDisplay 312) displayCtrl 50) ctrlMapScreenToWorld getMousePosition); - _mapCtrl drawIcon [_icon, _color, _pos2d, 24, 24, 45, _text, 1, 0.03, "TahomaB", "right"]; + _mapCtrl drawIcon [_icon, _color, _pos2d, 24, 24, _angle, _text, 1, 0.03, "TahomaB", "right"]; _mapCtrl drawLine [getPos _object, _pos2d, _color]; -}, [_object, _text, _icon, _color]] call CBA_fnc_addBISEventHandler; +}, [_object, _text, _icon, _color, _angle]] call CBA_fnc_addBISEventHandler; // Add draw EH for 3D camera view - draws the 3D icon and line [{ - (_this select 0) params ["_object", "_code", "_text", "_icon", "_color"]; + (_this select 0) params ["_object", "_code", "_text", "_icon", "_color", "_angle"]; if ((isNull _object) || {isNull findDisplay 312} || {!isNull findDisplay 49}) then { TRACE_3("null-exit",isNull _object,isNull findDisplay 312,isNull findDisplay 49); GVAR(moduleDestination_running) = false; @@ -104,7 +105,7 @@ GVAR(moduleDestination_mapDrawEH) = [((findDisplay 312) displayCtrl 50), "draw", if (GVAR(moduleDestination_running)) then { // Draw the 3d icon and line private _mousePosAGL = screenToWorld getMousePosition; - drawIcon3D [_icon, _color, _mousePosAGL, 1.5, 1.5, 45, _text]; + drawIcon3D [_icon, _color, _mousePosAGL, 1.5, 1.5, _angle, _text]; drawLine3D [_mousePosAGL, ASLtoAGL (getPosASL _object), _color];; } else { TRACE_4("cleaning up",_this select 1,GVAR(moduleDestination_displayEHMouse),GVAR(moduleDestination_displayEHKeyboard),GVAR(moduleDestination_mapDrawEH)); @@ -116,4 +117,4 @@ GVAR(moduleDestination_mapDrawEH) = [((findDisplay 312) displayCtrl 50), "draw", GVAR(moduleDestination_displayEHKeyboard) = nil; GVAR(moduleDestination_mapDrawEH) = nil; }; -}, 0, [_object, _code, _text, _icon, _color]] call CBA_fnc_addPerFrameHandler; +}, 0, [_object, _code, _text, _icon, _color, _angle]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/zeus/functions/fnc_handleZeusUnitAssigned.sqf b/addons/zeus/functions/fnc_handleZeusUnitAssigned.sqf index 05c5de668e..58db9b093e 100644 --- a/addons/zeus/functions/fnc_handleZeusUnitAssigned.sqf +++ b/addons/zeus/functions/fnc_handleZeusUnitAssigned.sqf @@ -19,7 +19,6 @@ * * Public: No */ - #include "script_component.hpp" if !(isClass (configFile >> "ACE_Curator")) exitWith { ERROR("The ACE_Curator class does not exist") }; diff --git a/addons/zeus/functions/fnc_moduleAddAceArsenal.sqf b/addons/zeus/functions/fnc_moduleAddAceArsenal.sqf new file mode 100644 index 0000000000..5d8bbdb72c --- /dev/null +++ b/addons/zeus/functions/fnc_moduleAddAceArsenal.sqf @@ -0,0 +1,37 @@ +/* + * Author: alganthe + * Add a full ACE Arsenal to an object + * + * Arguments: + * 0: The module logic + * + * Return Value: + * None + * + * Public: No + */ +#include "script_component.hpp" + +params ["_logic"]; +if (!local _logic) exitWith {}; + +private _object = attachedTo _logic; +TRACE_3("moduleAddArsenal",_logic,_object,typeOf _object); + +switch (true) do { + case (isNull _object): { + [LSTRING(NothingSelected)] call FUNC(showMessage); + }; + case (isPlayer _object): { + ["str_a3_cfgvehicles_moduleremotecontrol_f_errorPlayer"] call FUNC(showMessage); + }; + case (!alive _object): { + [LSTRING(OnlyAlive)] call FUNC(showMessage); + }; + default { + [_object, true] call EFUNC(arsenal,removeBox); + [_object, true, true] call EFUNC(arsenal,initBox); + }; +}; + +deleteVehicle _logic; diff --git a/addons/zeus/functions/fnc_moduleAddArsenal.sqf b/addons/zeus/functions/fnc_moduleAddArsenal.sqf index 68b5148521..b8eed64d76 100644 --- a/addons/zeus/functions/fnc_moduleAddArsenal.sqf +++ b/addons/zeus/functions/fnc_moduleAddArsenal.sqf @@ -29,15 +29,9 @@ switch (true) do { [LSTRING(OnlyAlive)] call FUNC(showMessage); }; default { - if (["ACE_Arsenal"] call EFUNC(common,isModLoaded)) then { - - [_object, true, true] call EFUNC(arsenal,initBox); - } else { - - TRACE_1("BIS_fnc_arsenal: AmmoboxInit",_object); - // Global Effects: "Action to access the Arsenal will be added automatically on all clients." - ["AmmoboxInit", [_object, true]] call BIS_fnc_arsenal; - }; + TRACE_1("BIS_fnc_arsenal: AmmoboxInit",_object); + // Global Effects: "Action to access the Arsenal will be added automatically on all clients." + ["AmmoboxInit", [_object, true]] call BIS_fnc_arsenal; }; }; diff --git a/addons/zeus/functions/fnc_moduleCaptive.sqf b/addons/zeus/functions/fnc_moduleCaptive.sqf index 317c785f20..fbb1255b8d 100644 --- a/addons/zeus/functions/fnc_moduleCaptive.sqf +++ b/addons/zeus/functions/fnc_moduleCaptive.sqf @@ -15,7 +15,6 @@ * * Public: No */ - #include "script_component.hpp" params ["_logic"]; diff --git a/addons/zeus/functions/fnc_moduleGarrison.sqf b/addons/zeus/functions/fnc_moduleGarrison.sqf index 2762102d0c..5bc545716d 100644 --- a/addons/zeus/functions/fnc_moduleGarrison.sqf +++ b/addons/zeus/functions/fnc_moduleGarrison.sqf @@ -17,7 +17,6 @@ * * Public: No */ - #include "script_component.hpp" params ["_logic", "_pos", "_radius" ,"_mode" , "_topDownMode", "_teleport"]; diff --git a/addons/zeus/functions/fnc_moduleGlobalSetSkill.sqf b/addons/zeus/functions/fnc_moduleGlobalSetSkill.sqf index 1d4e2769b8..6e275acaf8 100644 --- a/addons/zeus/functions/fnc_moduleGlobalSetSkill.sqf +++ b/addons/zeus/functions/fnc_moduleGlobalSetSkill.sqf @@ -14,7 +14,6 @@ * * Public: No */ - #include "script_component.hpp" params ["_varName", "_varValue"]; diff --git a/addons/zeus/functions/fnc_moduleGroupSide.sqf b/addons/zeus/functions/fnc_moduleGroupSide.sqf index 2a52df09da..2ef385a091 100644 --- a/addons/zeus/functions/fnc_moduleGroupSide.sqf +++ b/addons/zeus/functions/fnc_moduleGroupSide.sqf @@ -14,7 +14,6 @@ * * Public: No */ - #include "script_component.hpp" params ["_unit", "_newSide"]; diff --git a/addons/zeus/functions/fnc_moduleHeal.sqf b/addons/zeus/functions/fnc_moduleHeal.sqf new file mode 100644 index 0000000000..34f7519699 --- /dev/null +++ b/addons/zeus/functions/fnc_moduleHeal.sqf @@ -0,0 +1,58 @@ +/* + * Author: mharis001 + * Full heal unit. + * + * Arguments: + * 0: The module logic + * + * Return Value: + * None + * + * Example: + * [LOGIC] call ace_zeus_fnc_moduleHeal + * + * Public: No + */ +#include "script_component.hpp" + +params ["_logic"]; + +if !(local _logic) exitWith {}; + +private _unit = attachedTo _logic; + +// Validate module target +scopeName "Main"; +private _fnc_errorAndClose = { + params ["_msg"]; + deleteVehicle _logic; + [_msg] call FUNC(showMessage); + breakOut "Main"; +}; + +switch (false) do { + case !(isNull _unit): { + [LSTRING(NothingSelected)] call _fnc_errorAndClose; + }; + case (_unit isKindOf "CAManBase"): { + [LSTRING(OnlyInfantry)] call _fnc_errorAndClose; + }; + case (alive _unit): { + [LSTRING(OnlyAlive)] call _fnc_errorAndClose; + }; +}; + +// Heal validated target +if (["ace_medical"] call EFUNC(common,isModLoaded) && {EGVAR(medical,level) > 0}) then { + [QEGVAR(medical,treatmentAdvanced_fullHealLocal), [_unit, _unit], _unit] call CBA_fnc_targetEvent; +} else { + // BI's scripted revive system + if ((missionNamespace getVariable ["bis_revive_mode", 0]) != 0) then { + ["#rev", 1, _unit] call BIS_fnc_reviveOnState; + _unit setVariable ["#rev", 1, true]; + } else { + _unit setDamage 0; + }; +}; + +deleteVehicle _logic; diff --git a/addons/zeus/functions/fnc_moduleRemoveAceArsenal.sqf b/addons/zeus/functions/fnc_moduleRemoveAceArsenal.sqf new file mode 100644 index 0000000000..83aa319480 --- /dev/null +++ b/addons/zeus/functions/fnc_moduleRemoveAceArsenal.sqf @@ -0,0 +1,36 @@ +/* + * Author: alganthe + * Remove ACE Arsenal from an object + * + * Arguments: + * 0: The module logic + * + * Return Value: + * None + * + * Public: No +*/ +#include "script_component.hpp" + +params ["_logic"]; +if (!local _logic) exitWith {}; + +private _object = attachedTo _logic; +TRACE_3("moduleRemoveArsenal",_logic,_object,typeOf _object); + +switch (true) do { + case (isNull _object): { + [LSTRING(NothingSelected)] call FUNC(showMessage); + }; + case (isPlayer _object): { + ["str_a3_cfgvehicles_moduleremotecontrol_f_errorPlayer"] call FUNC(showMessage); + }; + case (!alive _object): { + [LSTRING(OnlyAlive)] call FUNC(showMessage); + }; + default { + [_object, true, true] call EFUNC(arsenal,removeBox); + }; +}; + +deleteVehicle _logic; diff --git a/addons/zeus/functions/fnc_moduleRemoveArsenal.sqf b/addons/zeus/functions/fnc_moduleRemoveArsenal.sqf index b14509c272..97256ca67d 100644 --- a/addons/zeus/functions/fnc_moduleRemoveArsenal.sqf +++ b/addons/zeus/functions/fnc_moduleRemoveArsenal.sqf @@ -10,7 +10,6 @@ * * Public: No */ - #include "script_component.hpp" params ["_logic"]; @@ -31,17 +30,11 @@ switch (true) do { }; default { - if (["ACE_Arsenal"] call EFUNC(common,isModLoaded)) then { - - [_object, true, true] call EFUNC(arsenal,removeBox); - } else { - - TRACE_1("Calling removeVirtualXXXCargo functions",_object); - [_object, (_object call BIS_fnc_getVirtualItemCargo), true] call BIS_fnc_removeVirtualItemCargo; - [_object, (_object call BIS_fnc_getVirtualWeaponCargo), true] call BIS_fnc_removeVirtualWeaponCargo; - [_object, (_object call BIS_fnc_getVirtualMagazineCargo), true] call BIS_fnc_removeVirtualMagazineCargo; - [_object, (_object call BIS_fnc_getVirtualBackpackCargo), true] call BIS_fnc_removeVirtualBackpackCargo; - }; + TRACE_1("Calling removeVirtualXXXCargo functions", _object); + [_object, (_object call BIS_fnc_getVirtualItemCargo), true] call BIS_fnc_removeVirtualItemCargo; + [_object, (_object call BIS_fnc_getVirtualWeaponCargo), true] call BIS_fnc_removeVirtualWeaponCargo; + [_object, (_object call BIS_fnc_getVirtualMagazineCargo), true] call BIS_fnc_removeVirtualMagazineCargo; + [_object, (_object call BIS_fnc_getVirtualBackpackCargo), true] call BIS_fnc_removeVirtualBackpackCargo; }; }; diff --git a/addons/zeus/functions/fnc_moduleSearchNearby.sqf b/addons/zeus/functions/fnc_moduleSearchNearby.sqf index a73dbd7fe8..2145d62e17 100644 --- a/addons/zeus/functions/fnc_moduleSearchNearby.sqf +++ b/addons/zeus/functions/fnc_moduleSearchNearby.sqf @@ -15,7 +15,6 @@ * * Public: No */ - #include "script_component.hpp" params ["_logic"]; diff --git a/addons/zeus/functions/fnc_moduleSetEngineer.sqf b/addons/zeus/functions/fnc_moduleSetEngineer.sqf new file mode 100644 index 0000000000..e548c6c363 --- /dev/null +++ b/addons/zeus/functions/fnc_moduleSetEngineer.sqf @@ -0,0 +1,27 @@ +/* + * Author: mharis001 + * Zeus module function to set unit engineer skill. + * + * Arguments: + * 0: Unit + * 1: Skill level (1 - Engineer, 2 - Adv. Engineer) (default: 1) + * + * Return Value: + * None + * + * Example: + * [unit, 2] call ace_zeus_fnc_moduleSetEngineer + * + * Public: No + */ +#include "script_component.hpp" + +params ["_unit", ["_engineerN", 1]]; + +if (isNull _unit) exitWith { + ERROR("Passed unit is null"); +}; + +if !([_unit, _engineerN] call EFUNC(repair,isEngineer)) then { + _unit setVariable ["ACE_IsEngineer", _engineerN, true]; +}; diff --git a/addons/zeus/functions/fnc_moduleSetMedic.sqf b/addons/zeus/functions/fnc_moduleSetMedic.sqf index b2cd233bc7..c213bcc25e 100644 --- a/addons/zeus/functions/fnc_moduleSetMedic.sqf +++ b/addons/zeus/functions/fnc_moduleSetMedic.sqf @@ -15,7 +15,6 @@ * * Public: No */ - #include "script_component.hpp" params ["_logic"]; diff --git a/addons/zeus/functions/fnc_moduleSetMedicalFacility.sqf b/addons/zeus/functions/fnc_moduleSetMedicalFacility.sqf index 4977b21986..e9f39019a2 100644 --- a/addons/zeus/functions/fnc_moduleSetMedicalFacility.sqf +++ b/addons/zeus/functions/fnc_moduleSetMedicalFacility.sqf @@ -15,7 +15,6 @@ * * Public: No */ - #include "script_component.hpp" params ["_logic"]; diff --git a/addons/zeus/functions/fnc_moduleSetMedicalVehicle.sqf b/addons/zeus/functions/fnc_moduleSetMedicalVehicle.sqf index a819a15d9e..a4555c5ff9 100644 --- a/addons/zeus/functions/fnc_moduleSetMedicalVehicle.sqf +++ b/addons/zeus/functions/fnc_moduleSetMedicalVehicle.sqf @@ -15,7 +15,6 @@ * * Public: No */ - #include "script_component.hpp" params ["_logic"]; diff --git a/addons/zeus/functions/fnc_moduleSetRepairFacility.sqf b/addons/zeus/functions/fnc_moduleSetRepairFacility.sqf new file mode 100644 index 0000000000..a35533f4f4 --- /dev/null +++ b/addons/zeus/functions/fnc_moduleSetRepairFacility.sqf @@ -0,0 +1,50 @@ +/* + * Author: mharis001 + * Assigns object as repair facility. + * + * Arguments: + * 0: The module logic + * + * Return Value: + * None + * + * Example: + * [LOGIC] call ace_zeus_fnc_moduleSetRepairFacility + * + * Public: No + */ + #include "script_component.hpp" + + params ["_logic"]; + + if !(local _logic) exitWith {}; + +if !(["ace_repair"] call EFUNC(common,isModLoaded)) then { + [LSTRING(RequiresAddon)] call FUNC(showMessage); +} else { + private _mouseOver = GETMVAR(bis_fnc_curatorObjectPlaced_mouseOver,[""]); + + if ((_mouseOver select 0) != "OBJECT") then { + [LSTRING(NothingSelected)] call FUNC(showMessage); + } else { + private _unit = (_mouseOver select 1); + + if (_unit isKindOf "Man" || {!(_unit isKindOf "Building")}) then { + [LSTRING(OnlyStructures)] call FUNC(showMessage); + } else { + if !(alive _unit) then { + [LSTRING(OnlyAlive)] call FUNC(showMessage); + } else { + if (GETVAR(_unit,EGVAR(captives,isHandcuffed),false)) then { + [LSTRING(OnlyNonCaptive)] call FUNC(showMessage); + } else { + if ((_unit getVariable ["ACE_isRepairFacility", 0]) < 1) then { + _unit setVariable ["ACE_isRepairFacility", 1, true]; + }; + }; + }; + }; + }; +}; + +deleteVehicle _logic; diff --git a/addons/zeus/functions/fnc_moduleSetRepairVehicle.sqf b/addons/zeus/functions/fnc_moduleSetRepairVehicle.sqf new file mode 100644 index 0000000000..485c8f8db5 --- /dev/null +++ b/addons/zeus/functions/fnc_moduleSetRepairVehicle.sqf @@ -0,0 +1,46 @@ +/* + * Author: mharis001 + * Assigns object as repair vehicle. + * + * Arguments: + * 0: The module logic + * + * Return Value: + * None + * + * Example: + * [LOGIC] call ace_zeus_fnc_moduleSetRepairVehicle + * + * Public: No + */ +#include "script_component.hpp" + +params ["_logic"]; + +if !(local _logic) exitWith {}; + +if !(["ace_repair"] call EFUNC(common,isModLoaded)) then { + [LSTRING(RequiresAddon)] call FUNC(showMessage); +} else { + private _mouseOver = GETMVAR(bis_fnc_curatorObjectPlaced_mouseOver,[""]); + + if ((_mouseOver select 0) != "OBJECT") then { + [LSTRING(NothingSelected)] call FUNC(showMessage); + } else { + private _unit = _mouseOver select 1; + + if (_unit isKindOf "Man" || (_unit isKindOf "Building")) then { + [LSTRING(OnlyVehicles)] call FUNC(showMessage); + } else { + if !(alive _unit) then { + [LSTRING(OnlyAlive)] call FUNC(showMessage); + } else { + if !([_unit] call EFUNC(repair,isRepairVehicle)) then { + _unit setVariable ["ACE_isRepairVehicle", 1, true]; + }; + }; + }; + }; +}; + +deleteVehicle _logic; diff --git a/addons/zeus/functions/fnc_moduleSimulation.sqf b/addons/zeus/functions/fnc_moduleSimulation.sqf index fc6d6e4a06..76a275a02e 100644 --- a/addons/zeus/functions/fnc_moduleSimulation.sqf +++ b/addons/zeus/functions/fnc_moduleSimulation.sqf @@ -13,7 +13,6 @@ * * Public: No */ - #include "script_component.hpp" params ["_logic"]; diff --git a/addons/zeus/functions/fnc_moduleSuicideBomber.sqf b/addons/zeus/functions/fnc_moduleSuicideBomber.sqf new file mode 100644 index 0000000000..5364692ded --- /dev/null +++ b/addons/zeus/functions/fnc_moduleSuicideBomber.sqf @@ -0,0 +1,110 @@ +/* + * Author: mharis001 + * Zeus module function to make unit a suicide bomber. + * + * Arguments: + * 0: Unit that is suicide bomber + * 1: Activation side (default: west) + * 2: Activation radius (default: 10) + * 3: Explosion size (0 - Small, 1 - Medium, 2 - Large) (default: 0) + * 4: Auto seek (default: false) + * + * Return Value: + * None + * + * Example: + * [unit, west, 10, 0, true] call ace_zeus_fnc_moduleSuicideBomber + * + * Public: No + */ +#include "script_component.hpp" + +#define EXPLOSIVES ["R_TBG32V_F", "M_Mo_120mm_AT", "Bo_GBU12_LGB"] +#define DISTANCE_FAR 15 +#define DISTANCE_CLOSE 2 +#define MOVE_TIME 10 +#define SCANNING_PERIOD 1 + +#ifdef DEBUG_MODE_FULL + #define SCANNING_PERIOD 0 +#endif + +TRACE_1("params",_this); + +if (isNull (_this select 0)) exitWith {}; + +// Prevent another suicide bomber module being attached +_unit setVariable [QGVAR(suicideBomber), true, true]; + +// One time behaviour changes +if (_autoSeek) then { + [QEGVAR(ai,setUnitPos), [_unit, "UP"], _unit] call CBA_fnc_targetEvent; + [QEGVAR(ai,setSpeedMode), [_unit, "FULL"], _unit] call CBA_fnc_targetEvent; + [QEGVAR(ai,setBehaviour), [[_unit], "CARELESS"], _unit] call CBA_fnc_targetEvent; + [QEGVAR(ai,setCombatMode), [_unit, "BLUE"], _unit] call CBA_fnc_targetEvent; + [QEGVAR(ai,AISection), [[_unit], ["TARGET", "AUTOTARGET"], false], _unit] call CBA_fnc_targetEvent; + [QEGVAR(ai,allowFleeing), [_unit, 0], _unit] call CBA_fnc_targetEvent; +}; + +// Run PFH to make unit a suicide bomber +[{ + params ["_args", "_pfhID"]; + _args params [["_unit", objNull], ["_activationSide", west], ["_activationRadius", 10], ["_explosionSize", 0], ["_autoSeek", false]]; + + // Unit deleted or killed + if (isNull _unit || {!alive _unit}) exitWith { + [_pfhID] call CBA_fnc_removePerFrameHandler; + LOG("Unit deleted or killed, PFH removed"); + }; + + if (!([_unit] call EFUNC(common,isAwake))) exitWith {}; + + // Detonation + private _nearObjects = (_unit nearObjects _activationRadius) select {side _x == _activationSide && {_x != _unit} && {alive _x}}; + if !(_nearObjects isEqualTo []) then { + createVehicle [EXPLOSIVES select _explosionSize, _unit, [], 0, "CAN_COLLIDE"]; + [_pfhID] call CBA_fnc_removePerFrameHandler; + LOG("Explosion created, PFH removed"); + }; + + // Auto Seek + if (!_autoSeek) exitWith {}; + + private _memory = _unit getVariable [QGVAR(suicideBomber_memory), [nil, CBA_missionTime]]; + _memory params ["_lastMove", "_lastTime"]; + + private _range = 100 + 100 * (_unit skillFinal "spotDistance"); // 100-200 + private _nearestObjects = nearestObjects [_unit, [], _range] select {side _x == _activationSide && {_x != _unit} && {alive _x}}; + + #ifdef DEBUG_MODE_FULL + if !(isNil "_lastMove") then { + drawLine3D [_unit modelToWorldVisual [0, 0, 1], _lastMove, [1, 0, 0, 1]]; + }; + for "_i" from 0 to 35 do { + drawLine3D [(_unit getRelPos [_range, _i * 10]) vectorAdd [0, 0, 1], (_unit getRelPos [_range, (_i + 1) * 10]) vectorAdd [0, 0, 1], [0, 1, 0, 1]]; + }; + for "_i" from 0 to 35 do { + drawLine3D [(_unit getRelPos [_activationRadius, _i * 10]) vectorAdd [0, 0, 1], (_unit getRelPos [_activationRadius, (_i + 1) * 10]) vectorAdd [0, 0, 1], [0, 0, 1, 1]]; + }; + for "_i" from 0 to 359 do { + if (_i >= linearConversion [_lastTime - MOVE_TIME, _lastTime, CBA_missionTime, 0, 359, true]) then { + drawLine3D [(_unit getRelPos [2, _i]) vectorAdd [0, 0, 1], (_unit getRelPos [2, _i + 1]) vectorAdd [0, 0, 1], [1, 1, 0, 1]]; + }; + }; + #endif + + if (_nearestObjects isEqualTo []) exitWith {}; + + // Get relative position close to target to avoid bug where AI wont path to a certain position + private _moveToPos = (_nearestObjects select 0) getPos [1, random 360]; + + if (isNil "_lastMove" || // No move given yet + {_lastMove distance _moveToPos > DISTANCE_FAR} || // New target is too far from last move + {_lastMove distance _unit < DISTANCE_CLOSE} || // Unit has reached last move + {CBA_missionTime >= _lastTime} // Too much time passed between last move (also acts as a fail-safe if unit gets stuck) + ) then { + [QEGVAR(ai,doMove), [[[_unit, _moveToPos]]], _unit] call CBA_fnc_targetEvent; + _unit setVariable [QGVAR(suicideBomber_memory), [_moveToPos, CBA_missionTime + MOVE_TIME]]; + TRACE_2("Moving unit",_moveToPos,CBA_missionTime); + }; +}, SCANNING_PERIOD, _this] call CBA_fnc_addPerFrameHandler; diff --git a/addons/zeus/functions/fnc_moduleSuppressiveFire.sqf b/addons/zeus/functions/fnc_moduleSuppressiveFire.sqf index b2c9ba88a7..0dde339da6 100644 --- a/addons/zeus/functions/fnc_moduleSuppressiveFire.sqf +++ b/addons/zeus/functions/fnc_moduleSuppressiveFire.sqf @@ -116,4 +116,4 @@ if ([_unit] call EFUNC(common,isPlayer)) exitWith { }; #endif -}, localize LSTRING(ModuleSuppressiveFire_DisplayName)] call FUNC(getModuleDestination); +}, localize LSTRING(ModuleSuppressiveFire_DisplayName), "\a3\ui_f\data\IGUI\Cfg\Cursors\select_target_ca.paa", [1, 0, 0, 1], 45] call FUNC(getModuleDestination); diff --git a/addons/zeus/functions/fnc_moduleSurrender.sqf b/addons/zeus/functions/fnc_moduleSurrender.sqf index fceb72b57f..3c293bcfa0 100644 --- a/addons/zeus/functions/fnc_moduleSurrender.sqf +++ b/addons/zeus/functions/fnc_moduleSurrender.sqf @@ -15,7 +15,6 @@ * * Public: No */ - #include "script_component.hpp" params ["_logic"]; diff --git a/addons/zeus/functions/fnc_moduleTeleportPlayers.sqf b/addons/zeus/functions/fnc_moduleTeleportPlayers.sqf index c52517a7d0..eb42306931 100644 --- a/addons/zeus/functions/fnc_moduleTeleportPlayers.sqf +++ b/addons/zeus/functions/fnc_moduleTeleportPlayers.sqf @@ -15,7 +15,6 @@ * * Public: No */ - #include "script_component.hpp" params ["_logic","_uid","_group"]; diff --git a/addons/zeus/functions/fnc_moduleToggleFlashlight.sqf b/addons/zeus/functions/fnc_moduleToggleFlashlight.sqf index 4ebfd5a1c0..c5f4c3668d 100644 --- a/addons/zeus/functions/fnc_moduleToggleFlashlight.sqf +++ b/addons/zeus/functions/fnc_moduleToggleFlashlight.sqf @@ -1,64 +1,64 @@ /* - * Author: alganthe - * Zeus module function to toggle Flashlights + * Author: alganthe, mharis001 + * Zeus module function to toggle flashlights. * * Arguments: * 0: Logic object * 1: Toggle mode * 2: Add gear - * 3: Target of the toggle 0: blufor; 1: opfor; 2: indep; 3: civ; 4: selected group + * 3: Target units (-1 - Selected group, 0 - BLUFOR, 1 - OPFOR, 2 - Independent, 3 - Civilian) * * Return Value: * None * * Example: - * [LOGIC, true, true, 4] call ace_zeus_fnc_moduleToggleFlashlight + * [LOGIC, true, true, -1] call ace_zeus_fnc_moduleToggleFlashlight * * Public: No -*/ - + */ #include "script_component.hpp" params ["_logic", "_toggle", "_addGear", "_target"]; +TRACE_1("params",_this); +// Create array of target units private _units = []; -if (_target == 4) then { - _units = units (attachedTo _logic); +if (_target == -1) then { + _units = (units attachedTo _logic) select {alive _x && {!([_x] call EFUNC(common,isPlayer))} && {!(currentWeapon _x isEqualTo "")}}; } else { - _units = allUnits select {alive _x && {side _x == ([blufor, opfor, independent, civilian] select _target)}}, + private _side = [west, east, independent, civilian] select _target; + _units = allUnits select {alive _x && {side _x == _side} && {!([_x] call EFUNC(common,isPlayer))} && {!(currentWeapon _x isEqualTo "")}}; }; +// Toggle flashlights for units if (_toggle) then { + private _cfgWeapons = configFile >> "CfgWeapons"; { - // enableGunLights doesn't work on players - if !(isPlayer _x || {(currentWeapon _x) isEqualTo ""}) then { - private _pointer = (_x weaponAccessories (currentWeapon _x)) select 1; + private _weapon = currentWeapon _x; + private _pointer = (_x weaponAccessories _weapon) select 1; - if (!(_pointer isEqualTo "") && {isNull (configfile >> "CfgWeapons" >> _pointer >> "ItemInfo" >> "Pointer")}) then { - [QGVAR(enableFlashlight), [_x, "forceOn"], _x] call CBA_fnc_targetEvent; + if (!(_pointer isEqualTo "") && {getNumber (_cfgWeapons >> _pointer >> "ItemInfo" >> "FlashLight" >> "size") > 0}) then { + [QEGVAR(ai,enableGunLights), [_x, "forceOn"], _x] call CBA_fnc_targetEvent; + } else { + if (_addGear) then { + // Get compatible items for pointer slot + private _compatibleItems = [_weapon, "pointer"] call CBA_fnc_compatibleItems; - } else { - if (_addGear) then { - // Retrieve compatible items for the pointer slot - private _pointerSlotCompatible = [currentWeapon _x, "pointer"] call CBA_fnc_compatibleItems; + // Get random flashlight from compatible pointer slot items + private _flashlightItem = selectRandom (_compatibleItems select {getNumber (_cfgWeapons >> _x >> "ItemInfo" >> "FlashLight" >> "size") > 0}); - // Get flashlights from the array above and select the first one - private _flashlight = (_pointerSlotCompatible select {isNull (configfile >> "CfgWeapons" >> _x >> "ItemInfo" >> "Pointer")}) select 0; - - [QEGVAR(common,addWeaponItem), [_x, (currentWeapon _x), _flashlight], _x] call CBA_fnc_targetEvent; - [QGVAR(enableFlashlight), [_x, "forceOn"], _x] call CBA_fnc_targetEvent; - }; + // Add flashlight to weapon and enable + [QEGVAR(common,addWeaponItem), [_x, _weapon, _flashlightItem], _x] call CBA_fnc_targetEvent; + [QEGVAR(ai,enableGunLights), [_x, "forceOn"], _x] call CBA_fnc_targetEvent; + TRACE_2("Added flashlight to unit",_x,_flashlightItem); }; }; - } foreach _units; - + } forEach _units; } else { { - if !(isPlayer _x || {(currentWeapon _x) isEqualTo ""}) then { - [QGVAR(enableFlashlight), [_x, "forceOff"], _x] call CBA_fnc_targetEvent; - }; - } foreach _units; + [QEGVAR(ai,enableGunLights), [_x, "forceOff"], _x] call CBA_fnc_targetEvent; + } forEach _units; }; deleteVehicle _logic; diff --git a/addons/zeus/functions/fnc_moduleToggleNvg.sqf b/addons/zeus/functions/fnc_moduleToggleNvg.sqf index 16511063fe..7a01c27a4a 100644 --- a/addons/zeus/functions/fnc_moduleToggleNvg.sqf +++ b/addons/zeus/functions/fnc_moduleToggleNvg.sqf @@ -1,69 +1,76 @@ /* - * Author: alganthe - * Zeus module function to toggle NVGs + * Author: alganthe, mharis001 + * Zeus module function to toggle NVGs. * * Arguments: * 0: Logic object * 1: Toggle mode - * 2: Target of the toggle 0: blufor; 1: opfor; 2: indep; 3: civ; 4: selected group + * 2: Target units (-1 - Selected group, 0 - BLUFOR, 1 - OPFOR, 2 - Independent, 3 - Civilian) * * Return Value: * None * * Example: - * [LOGIC, true, 4] call ace_zeus_fnc_moduleToggleNvg + * [LOGIC, true, -1] call ace_zeus_fnc_moduleToggleNvg * * Public: No -*/ - + */ #include "script_component.hpp" params ["_logic", "_toggle", "_target"]; +TRACE_1("params",_this); +// Create array of target units private _units = []; -if (_target == 4) then { - _units = units (attachedTo _logic); +if (_target == -1) then { + _units = (units attachedTo _logic) select {alive _x && {!([_x] call EFUNC(common,isPlayer))}}; } else { - _units = allUnits select {alive _x && {side _x == ([blufor, opfor, independent, civilian] select _target)}}, + private _side = [west, east, independent, civilian] select _target; + _units = allUnits select {alive _x && {side _x == _side} && {!([_x] call EFUNC(common,isPlayer))}}; }; +// Add or remove NVGs from units +private _cfgVehicles = configFile >> "CfgVehicles"; +private _cfgWeapons = configFile >> "CfgWeapons"; + if (_toggle) then { { - if (!isplayer _x && {hmd _x isEqualTo ""}) then { - private _cfgArray = getArray (configFile >> 'CfgVehicles' >> typeOf _x >>'linkedItems'); + if (hmd _x isEqualTo "") then { + // Get NVG item and helmet from unit config + private _linkedItems = getArray (_cfgVehicles >> typeOf _x >> "linkedItems"); + private _nvgItem = _linkedItems select {_x isKindOf ["NVGoggles", _cfgWeapons]}; + private _nvgHelmet = _linkedItems select {!(getArray (_cfgWeapons >> _x >> "subItems") isEqualTo [])}; - private _nvgClass = _cfgArray select {_x isKindOf ["NVGoggles",(configFile >> "CfgWeapons")]}; - private _nvgHelmet =_cfgArray select {count (getArray (configFile >> "CfgWeapons" >> _x >> "subItems")) > 0}; - - // Can't have more than 1 assigned by default - if (count _nvgClass == 1 || {count _nvgHelmet == 1}) then { - if (count _nvgHelmet == 1) then { - _x addHeadgear (_nvgHelmet select 0); - } else { - _x linkItem (_nvgClass select 0); - }; - - } else { - _x linkItem "NVGoggles"; + // Add NVG helmet if defined + if !(_nvgHelmet isEqualTo []) exitWith { + _x addHeadgear (_nvgHelmet select 0); }; - }; - } foreach _units; + // Add NVGs if defined + if !(_nvgItem isEqualTo []) exitWith { + _x linkItem (_nvgItem select 0); + }; + + // Default: add basic NVGs + _x linkItem "NVGoggles"; + }; + } forEach _units; } else { { - if (!isplayer _x) then { - private _cfgArray = getArray (configFile >> 'CfgVehicles' >> typeOf _x >>'linkedItems'); + // Get unit current NVGs or helmet with NVG built-in + private _nvgItem = hmd _x; + private _nvgHelmet = getArray (_cfgWeapons >> headgear _x >> "subItems") isEqualTo []; - private _nvgHelmet =_cfgArray select {count (getArray (configFile >> "CfgWeapons" >> _x >> "subItems")) > 0}; - - if (count _nvgHelmet == 1) then { - removeHeadgear _x; - } else { - _x unlinkItem (hmd _x); - }; + // Remove NVG equipment from unit + if !(_nvgHelmet) then { + removeHeadgear _x; }; - } foreach _units; + + if !(_nvgItem isEqualTo "") then { + _x unlinkItem _nvgItem; + }; + } forEach _units; }; deleteVehicle _logic; diff --git a/addons/zeus/functions/fnc_moduleUnGarrison.sqf b/addons/zeus/functions/fnc_moduleUnGarrison.sqf index 08fb7ada10..082a19b2b1 100644 --- a/addons/zeus/functions/fnc_moduleUnGarrison.sqf +++ b/addons/zeus/functions/fnc_moduleUnGarrison.sqf @@ -13,7 +13,6 @@ * * Public: No */ - #include "script_component.hpp" params ["_logic"]; diff --git a/addons/zeus/functions/fnc_moduleUnconscious.sqf b/addons/zeus/functions/fnc_moduleUnconscious.sqf index 1e0955997f..72aa0599dd 100644 --- a/addons/zeus/functions/fnc_moduleUnconscious.sqf +++ b/addons/zeus/functions/fnc_moduleUnconscious.sqf @@ -15,7 +15,6 @@ * * Public: No */ - #include "script_component.hpp" params ["_logic"]; diff --git a/addons/zeus/functions/fnc_moduleZeusSettings.sqf b/addons/zeus/functions/fnc_moduleZeusSettings.sqf index 8abd714824..1aa4b399ef 100644 --- a/addons/zeus/functions/fnc_moduleZeusSettings.sqf +++ b/addons/zeus/functions/fnc_moduleZeusSettings.sqf @@ -15,7 +15,6 @@ * * Public: No */ - #include "script_component.hpp" params ["_logic"]; diff --git a/addons/zeus/functions/fnc_ui_attributeCargo.sqf b/addons/zeus/functions/fnc_ui_attributeCargo.sqf index fb57362fa1..aa4ed00090 100644 --- a/addons/zeus/functions/fnc_ui_attributeCargo.sqf +++ b/addons/zeus/functions/fnc_ui_attributeCargo.sqf @@ -1,5 +1,5 @@ /* - * Author: PabstMirror + * Author: PabstMirror, mharis001 * Initalises the ace_cargo attribute of the zeus vehicle attributes display * (the display shown on double click) * @@ -14,7 +14,6 @@ * * Public: No */ - #include "script_component.hpp" params ["_control"]; @@ -28,6 +27,10 @@ TRACE_1("",_loaded); _control ctrlRemoveAllEventHandlers "setFocus"; +private _listbox = _control controlsGroupCtrl 80086; + { - (_control controlsGroupCtrl 80086) lbAdd (str _x); + private _class = if (_x isEqualType "") then {_x} else {typeOf _x}; + private _displayName = getText (configFile >> "CfgVehicles" >> _class >> "displayName"); + _listbox lbAdd _displayName; } forEach _loaded; diff --git a/addons/zeus/functions/fnc_ui_attributePosition.sqf b/addons/zeus/functions/fnc_ui_attributePosition.sqf deleted file mode 100644 index ecd3458ac2..0000000000 --- a/addons/zeus/functions/fnc_ui_attributePosition.sqf +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Author: SilentSpike - * Initalises the `position` zeus module attribute - * - * Arguments: - * 0: position controls group - * - * Return Value: - * None - * - * Example: - * [CONTROL] call ace_zeus_fnc_ui_attributePosition - * - * Public: No - */ - -#include "script_component.hpp" - -//Generic Init: -params ["_control"]; -private _display = ctrlParent _control; -private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); - -_control ctrlRemoveAllEventHandlers "setFocus"; - -//Specific on-load stuff: -private _map = _control controlsGroupCtrl 26469; - -// Centre map on the logic initially -_map ctrlMapAnimAdd [0, ctrlMapScale _map, _logic]; -ctrlMapAnimCommit _map; - -private _fnc_onDraw = { - params ["_map"]; - - private _display = ctrlParent _map; - private _pos = GETVAR(_display,GVAR(position),[]); - private _radius = GETVAR(_display,GVAR(radius),0); - - if !(_pos isEqualTo []) then { - // Works alongside radius attribute - if (_radius == 0) then { - _map drawIcon ["\A3\ui_f\data\map\markers\military\dot_CA.paa", [0,0,0,1], _pos, 19, 19, 0, "", 0, 0]; - } else { - _map drawEllipse [_pos, _radius, _radius, 0, [0,0,0,1], ""]; - }; - }; -}; - -private _fnc_onMapClick = { - params ["_map","_button"]; - - if (_button == 0) then { - private _display = ctrlParent _map; - SETVAR(_display,GVAR(position),_pos); - }; -}; - -SETVAR(_display,GVAR(position),getPos _logic); -_map ctrlAddEventHandler ["draw",_fnc_onDraw]; -_map ctrlAddEventHandler ["mouseButtonDown",_fnc_onMapClick]; diff --git a/addons/zeus/functions/fnc_ui_attributeRadius.sqf b/addons/zeus/functions/fnc_ui_attributeRadius.sqf index 3c4d296f91..3fccb19fab 100644 --- a/addons/zeus/functions/fnc_ui_attributeRadius.sqf +++ b/addons/zeus/functions/fnc_ui_attributeRadius.sqf @@ -1,6 +1,6 @@ /* * Author: SilentSpike - * Initalises the `radius` zeus module attribute + * Initializes the "Radius" Zeus module attribute. * * Arguments: * 0: radius controls group @@ -13,16 +13,15 @@ * * Public: No */ - #include "script_component.hpp" -//Generic Init: +// Generic init params ["_control"]; private _display = ctrlParent _control; -_control ctrlRemoveAllEventHandlers "setFocus"; +_control ctrlRemoveAllEventHandlers "SetFocus"; -//Specific on-load stuff: +// Specific onLoad stuff private _edit = _control controlsGroupCtrl 26467; _edit ctrlSetText "100"; @@ -45,4 +44,4 @@ private _fnc_onKeyUp = { }; [_display] call _fnc_onKeyUp; -_display displayAddEventHandler ["keyUp", _fnc_onKeyUp]; +_display displayAddEventHandler ["KeyUp", _fnc_onKeyUp]; diff --git a/addons/zeus/functions/fnc_ui_defendArea.sqf b/addons/zeus/functions/fnc_ui_defendArea.sqf index 13de25c2fa..cd3153d628 100644 --- a/addons/zeus/functions/fnc_ui_defendArea.sqf +++ b/addons/zeus/functions/fnc_ui_defendArea.sqf @@ -1,6 +1,6 @@ /* * Author: SilentSpike - * Initalises the `defend area` zeus module display + * Initializes the "Defend Area" Zeus module display. * * Arguments: * 0: dummy controls group @@ -13,17 +13,16 @@ * * Public: No */ - #include "script_component.hpp" -//Generic Init: +// Generic init params ["_control"]; private _display = ctrlParent _control; private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); -_control ctrlRemoveAllEventHandlers "setFocus"; +_control ctrlRemoveAllEventHandlers "SetFocus"; -//Validate the module target: +// Validate module target private _unit = effectiveCommander (attachedTo _logic); scopeName "Main"; @@ -48,30 +47,28 @@ switch (false) do { }; private _fnc_onUnload = { - private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objnull); + private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); if (isNull _logic) exitWith {}; - if (_this select 1 == 2) then { - deleteVehicle _logic; - }; + deleteVehicle _logic; }; private _fnc_onConfirm = { params [["_ctrlButtonOK", controlNull, [controlNull]]]; - private _display = ctrlparent _ctrlButtonOK; + private _display = ctrlParent _ctrlButtonOK; if (isNull _display) exitWith {}; - private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objnull); + private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); if (isNull _logic) exitWith {}; private _unit = effectiveCommander (attachedTo _logic); - private _radius = GETVAR(_display,GVAR(radius),50); - private _position = GETVAR(_display,GVAR(position),getPos _logic); + private _radius = GETVAR(_display,GVAR(radius),100); + private _position = getPos _logic; - [QGVAR(moduleDefendArea), [_unit,_position,_radius], _unit] call CBA_fnc_targetEvent; + [QGVAR(moduleDefendArea), [_unit, _position, _radius], _unit] call CBA_fnc_targetEvent; deleteVehicle _logic; }; -_display displayAddEventHandler ["unload", _fnc_onUnload]; -_control ctrlAddEventHandler ["buttonClick", _fnc_onConfirm]; +_display displayAddEventHandler ["Unload", _fnc_onUnload]; +_control ctrlAddEventHandler ["ButtonClick", _fnc_onConfirm]; diff --git a/addons/zeus/functions/fnc_ui_editableObjects.sqf b/addons/zeus/functions/fnc_ui_editableObjects.sqf index 8cb243849e..7f817e6b90 100644 --- a/addons/zeus/functions/fnc_ui_editableObjects.sqf +++ b/addons/zeus/functions/fnc_ui_editableObjects.sqf @@ -1,6 +1,6 @@ /* - * Author: Fisher, SilentSpike - * Updated all/local curator with objects in the module radius. + * Author: Fisher, SilentSpike, mharis001 + * Initializes the "Editable Objects" Zeus module display. * * Arguments: * 0: editableObjects controls group @@ -13,29 +13,27 @@ * * Public: No */ - #include "script_component.hpp" params ["_control"]; -//Generic Init: +// Generic Init private _display = ctrlParent _control; private _ctrlButtonOK = _display displayCtrl 1; //IDC_OK private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); -TRACE_1("logicObject",_logic); +TRACE_1("Logic Object",_logic); -_control ctrlRemoveAllEventHandlers "setFocus"; +_control ctrlRemoveAllEventHandlers "SetFocus"; -//Specific on-load stuff: -(_display displayCtrl 16188) cbSetChecked true; +// Specific onLoad stuff +(_display displayCtrl 19181) lbSetCurSel 1; +(_display displayCtrl 19182) lbSetCurSel 1; private _fnc_onUnload = { private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); if (isNull _logic) exitWith {}; - if (_this select 1 == 2) then { - deleteVehicle _logic; - }; + deleteVehicle _logic; }; private _fnc_onConfirm = { @@ -47,22 +45,19 @@ private _fnc_onConfirm = { private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); if (isNull _logic) exitWith {}; - private _radius = GETVAR(_display,GVAR(radius),50); - private _position = GETVAR(_display,GVAR(position),getPos _logic); - private _allCurators = cbChecked (_display displayCtrl 16188); - private _removeObjects = cbChecked (_display displayCtrl 16189); + private _radius = GETVAR(_display,GVAR(radius),100); + private _editingMode = lbCurSel (_display displayCtrl 19181) > 0; + private _allCurators = [getAssignedCuratorLogic player, objNull] select (lbCurSel (_display displayCtrl 19182)); + private _objects = nearestObjects [getPos _logic, ["All"], _radius]; - private _objects = nearestObjects [_position, ["All"], _radius]; - private _localCurator = [getAssignedCuratorLogic player, objNull] select _allCurators; - - if (_removeObjects) then { - [QGVAR(removeObjects), [_objects, _localCurator]] call CBA_fnc_serverEvent; + if (_editingMode) then { + [QGVAR(addObjects), [_objects, _allCurators]] call CBA_fnc_serverEvent; } else { - [QGVAR(addObjects), [_objects, _localCurator]] call CBA_fnc_serverEvent; + [QGVAR(removeObjects), [_objects, _allCurators]] call CBA_fnc_serverEvent; }; deleteVehicle _logic; }; -_display displayAddEventHandler ["unload", _fnc_onUnload]; -_ctrlButtonOK ctrlAddEventHandler ["buttonClick", _fnc_onConfirm]; +_display displayAddEventHandler ["Unload", _fnc_onUnload]; +_ctrlButtonOK ctrlAddEventHandler ["ButtonClick", _fnc_onConfirm]; diff --git a/addons/zeus/functions/fnc_ui_garrison.sqf b/addons/zeus/functions/fnc_ui_garrison.sqf index cc5087de65..266d564457 100644 --- a/addons/zeus/functions/fnc_ui_garrison.sqf +++ b/addons/zeus/functions/fnc_ui_garrison.sqf @@ -13,7 +13,6 @@ * * Public: No */ - #include "script_component.hpp" disableSerialization; diff --git a/addons/zeus/functions/fnc_ui_globalSetSkill.sqf b/addons/zeus/functions/fnc_ui_globalSetSkill.sqf index edca781152..91da3b04dc 100644 --- a/addons/zeus/functions/fnc_ui_globalSetSkill.sqf +++ b/addons/zeus/functions/fnc_ui_globalSetSkill.sqf @@ -13,7 +13,6 @@ * * Public: No */ - #include "script_component.hpp" params ["_control"]; diff --git a/addons/zeus/functions/fnc_ui_groupSide.sqf b/addons/zeus/functions/fnc_ui_groupSide.sqf index e5720e0720..17e6aadc15 100644 --- a/addons/zeus/functions/fnc_ui_groupSide.sqf +++ b/addons/zeus/functions/fnc_ui_groupSide.sqf @@ -13,7 +13,6 @@ * * Public: No */ - #include "script_component.hpp" #define IDCs [31201,31200,31202,31203] diff --git a/addons/zeus/functions/fnc_ui_patrolArea.sqf b/addons/zeus/functions/fnc_ui_patrolArea.sqf index c026bbce6a..89947afb22 100644 --- a/addons/zeus/functions/fnc_ui_patrolArea.sqf +++ b/addons/zeus/functions/fnc_ui_patrolArea.sqf @@ -1,6 +1,6 @@ /* * Author: SilentSpike - * Initalises the `patrol area` zeus module display + * Initializes the "Patrol Area" Zeus module display. * * Arguments: * 0: dummy controls group @@ -13,17 +13,16 @@ * * Public: No */ - #include "script_component.hpp" -//Generic Init: +// Generic init params ["_control"]; private _display = ctrlParent _control; private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); -_control ctrlRemoveAllEventHandlers "setFocus"; +_control ctrlRemoveAllEventHandlers "SetFocus"; -//Validate the module target: +// Validate module target private _unit = effectiveCommander (attachedTo _logic); scopeName "Main"; @@ -48,30 +47,28 @@ switch (false) do { }; private _fnc_onUnload = { - private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objnull); + private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); if (isNull _logic) exitWith {}; - if (_this select 1 == 2) then { - deleteVehicle _logic; - }; + deleteVehicle _logic; }; private _fnc_onConfirm = { params [["_ctrlButtonOK", controlNull, [controlNull]]]; - private _display = ctrlparent _ctrlButtonOK; + private _display = ctrlParent _ctrlButtonOK; if (isNull _display) exitWith {}; - private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objnull); + private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); if (isNull _logic) exitWith {}; private _unit = effectiveCommander (attachedTo _logic); - private _radius = GETVAR(_display,GVAR(radius),50); - private _position = GETVAR(_display,GVAR(position),getPos _logic); + private _radius = GETVAR(_display,GVAR(radius),100); + private _position = getPos _logic; - [QGVAR(modulePatrolArea), [_unit,_position,_radius,5], _unit] call CBA_fnc_targetEvent; + [QGVAR(modulePatrolArea), [_unit, _position, _radius, 5], _unit] call CBA_fnc_targetEvent; deleteVehicle _logic; }; -_display displayAddEventHandler ["unload", _fnc_onUnload]; -_control ctrlAddEventHandler ["buttonClick", _fnc_onConfirm]; +_display displayAddEventHandler ["Unload", _fnc_onUnload]; +_control ctrlAddEventHandler ["ButtonClick", _fnc_onConfirm]; diff --git a/addons/zeus/functions/fnc_ui_searchArea.sqf b/addons/zeus/functions/fnc_ui_searchArea.sqf index 06393ca578..197f5c835f 100644 --- a/addons/zeus/functions/fnc_ui_searchArea.sqf +++ b/addons/zeus/functions/fnc_ui_searchArea.sqf @@ -1,6 +1,6 @@ /* * Author: SilentSpike - * Initalises the `search area` zeus module display + * Initializes the "Search Area" Zeus module display. * * Arguments: * 0: dummy controls group @@ -13,17 +13,16 @@ * * Public: No */ - #include "script_component.hpp" -//Generic Init: +// Generic init params ["_control"]; private _display = ctrlParent _control; private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); -_control ctrlRemoveAllEventHandlers "setFocus"; +_control ctrlRemoveAllEventHandlers "SetFocus"; -//Validate the module target: +// Validate module target private _unit = effectiveCommander (attachedTo _logic); scopeName "Main"; @@ -48,36 +47,34 @@ switch (false) do { }; private _fnc_onUnload = { - private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objnull); + private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); if (isNull _logic) exitWith {}; - if (_this select 1 == 2) then { - deleteVehicle _logic; - }; + deleteVehicle _logic; }; private _fnc_onConfirm = { params [["_ctrlButtonOK", controlNull, [controlNull]]]; - private _display = ctrlparent _ctrlButtonOK; + private _display = ctrlParent _ctrlButtonOK; if (isNull _display) exitWith {}; - private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objnull); + private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); if (isNull _logic) exitWith {}; private _unit = effectiveCommander (attachedTo _logic); - private _radius = GETVAR(_display,GVAR(radius),50); - private _position = GETVAR(_display,GVAR(position),getPos _logic); - private _marker = QGVAR(ModuleSearchArea) + str(_unit); + private _radius = GETVAR(_display,GVAR(radius),100); + private _position = getPos _logic; + private _marker = QGVAR(ModuleSearchArea) + str _unit; createMarker [_marker, _position]; _marker setMarkerAlpha 0; _marker setMarkerShape "ELLIPSE"; - _marker setMarkerSize [_radius,_radius]; + _marker setMarkerSize [_radius, _radius]; - [QGVAR(moduleSearchArea), [_unit,_marker], _unit] call CBA_fnc_targetEvent; + [QGVAR(moduleSearchArea), [_unit, _marker], _unit] call CBA_fnc_targetEvent; deleteVehicle _logic; }; -_display displayAddEventHandler ["unload", _fnc_onUnload]; -_control ctrlAddEventHandler ["buttonClick", _fnc_onConfirm]; +_display displayAddEventHandler ["Unload", _fnc_onUnload]; +_control ctrlAddEventHandler ["ButtonClick", _fnc_onConfirm]; diff --git a/addons/zeus/functions/fnc_ui_setEngineer.sqf b/addons/zeus/functions/fnc_ui_setEngineer.sqf new file mode 100644 index 0000000000..18cd5febfa --- /dev/null +++ b/addons/zeus/functions/fnc_ui_setEngineer.sqf @@ -0,0 +1,75 @@ +/* + * Author: mharis001 + * Initalizes the "Set Engineer" Zeus module display. + * + * Arguments: + * 0: setEngineer controls group + * + * Return Value: + * None + * + * Example: + * [CONTROL] call ace_zeus_fnc_ui_setEngineer + * + * Public: No + */ +#include "script_component.hpp" + +params ["_control"]; + +// Generic init +private _display = ctrlParent _control; +private _ctrlButtonOK = _display displayCtrl 1; // IDC_OK +private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); +TRACE_1("logicObject",_logic); + +_control ctrlRemoveAllEventHandlers "setFocus"; + +// Validate module target +private _unit = attachedTo _logic; +TRACE_1("unit",_unit); + +scopeName "Main"; +private _fnc_errorAndClose = { + params ["_msg"]; + _display closeDisplay 0; + deleteVehicle _logic; + [_msg] call FUNC(showMessage); + breakOut "Main"; +}; + +switch (false) do { + case !(isNull _unit): { + [LSTRING(NothingSelected)] call _fnc_errorAndClose; + }; + case (_unit isKindOf "CAManBase"): { + [LSTRING(OnlyInfantry)] call _fnc_errorAndClose; + }; + case (alive _unit): { + [LSTRING(OnlyAlive)] call _fnc_errorAndClose; + }; +}; + +// Specific onLoad stuff +private _fnc_onUnload = { + private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); + if (isNull _logic) exitWith {}; + + deleteVehicle _logic; +}; + +private _fnc_onConfirm = { + params [["_ctrlButtonOK", controlNull, [controlNull]]]; + + private _display = ctrlParent _ctrlButtonOK; + if (isNull _display) exitWith {}; + + private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objnull); + if (isNull _logic) exitWith {}; + + private _value = lbCurSel (_display displayCtrl 86947); + [attachedTo _logic, _value + 1] call FUNC(moduleSetEngineer); // +1 since lbCurSel zero-indexed +}; + +_display displayAddEventHandler ["Unload", _fnc_onUnload]; +_ctrlButtonOK ctrlAddEventHandler ["ButtonClick", _fnc_onConfirm]; diff --git a/addons/zeus/functions/fnc_ui_suicideBomber.sqf b/addons/zeus/functions/fnc_ui_suicideBomber.sqf new file mode 100644 index 0000000000..6ee5c6b0d8 --- /dev/null +++ b/addons/zeus/functions/fnc_ui_suicideBomber.sqf @@ -0,0 +1,151 @@ +/* + * Author: mharis001 + * Initializes the "Suicide Bomber" Zeus module display. + * + * Arguments: + * 0: suicideBomber controls group + * + * Return Value: + * None + * + * Example: + * [CONTROL] call ace_zeus_fnc_ui_suicideBomber + * + * Public: No + */ +#include "script_component.hpp" + +#define SIDE_IDCs [83580, 83581, 83582, 83583] + +params ["_control"]; + +// Generic init +private _display = ctrlParent _control; +private _ctrlButtonOK = _display displayCtrl 1; // IDC_OK +private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); +TRACE_1("Logic Object",_logic); + +_control ctrlRemoveAllEventHandlers "SetFocus"; + +// Validate module target +private _unit = attachedTo _logic; +TRACE_1("Unit",_unit); + +scopeName "Main"; +private _fnc_errorAndClose = { + params ["_msg"]; + _display closeDisplay 0; + deleteVehicle _logic; + [_msg] call FUNC(showMessage); + breakOut "Main"; +}; + +switch (false) do { + case !(isNull _unit): { + [LSTRING(NothingSelected)] call _fnc_errorAndClose; + }; + case (_unit isKindOf "CAManBase"): { + [LSTRING(OnlyInfantry)] call _fnc_errorAndClose; + }; + case (alive _unit): { + [LSTRING(OnlyAlive)] call _fnc_errorAndClose; + }; + case !([_unit] call EFUNC(common,isPlayer)): { + ["str_a3_cfgvehicles_moduleremotecontrol_f_errorPlayer"] call _fnc_errorAndClose; + }; + case !(_unit getVariable [QGVAR(suicideBomber), false]): { + [LSTRING(ModuleSuicideBomber_AlreadyBomber)] call _fnc_errorAndClose; + }; +}; + +// Specific onLoad stuff + +// Activation side +private _fnc_onSelection = { + params [["_activeCtrl", controlNull, [controlNull]]]; + + private _display = ctrlParent _activeCtrl; + if (isNUll _display) exitWith {}; + + // Update button colours and scales + { + private _ctrl = _display displayCtrl _x; + private _color = _ctrl getVariable "color"; + private _scale = 1; + + if (ctrlIDC _activeCtrl == _x) then { + _color set [3, 1]; + _scale = 1.2; + } else { + _color set [3, 0.5]; + }; + + _ctrl ctrlSetTextColor _color; + [_ctrl, _scale, 0.1] call BIS_fnc_ctrlSetScale; + } forEach SIDE_IDCs; + + // Save selected side + SETVAR(_display,activationSide,(ctrlIDC _activeCtrl) - 83580); +}; + +// Init side buttons +{ + private _ctrl = _display displayCtrl _x; + private _color = [_x - 83580] call BIS_fnc_sideColor; + _ctrl setVariable ["color", _color]; + _ctrl ctrlSetActiveColor _color; + + _color set [3, 0.5]; + _ctrl ctrlSetTextColor _color; + + _ctrl ctrlAddEventHandler ["ButtonClick", _fnc_onSelection]; +} forEach SIDE_IDCs; + +// Activation radius +private _fnc_onSliderMove = { + params ["_slider"]; + + private _display = ctrlParent _slider; + (_display displayCtrl 83573) ctrlSetText (str round sliderPosition _slider); +}; + +private _slider = _display displayCtrl 83572; +private _edit = _display displayCtrl 83573; + +_slider sliderSetRange [5, 50]; +_slider sliderSetSpeed [1, 1]; +_slider sliderSetPosition 10; +_edit ctrlSetText "10"; + +_slider ctrlAddEventHandler ["SliderPosChanged", _fnc_onSliderMove]; + +// Confirm and Cancel +private _fnc_onUnload = { + private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); + if (isNull _logic) exitWith {}; + + deleteVehicle _logic; +}; + +private _fnc_onConfirm = { + params [["_ctrlButtonOK", controlNull, [controlNull]]]; + + private _display = ctrlParent _ctrlButtonOK; + if (isNull _display) exitWith {}; + + private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); + if (isNull _logic) exitWith {}; + + private _unit = attachedTo _logic; + private _side = [GETVAR(_display,activationSide,1)] call BIS_fnc_sideType; + private _radius = round sliderPosition (_display displayCtrl 83572); + private _expSize = lbCurSel (_display displayCtrl 83574); + private _autoSeek = lbCurSel (_display displayCtrl 83575) > 0; + + [_unit, _side, _radius, _expSize, _autoSeek] call FUNC(moduleSuicideBomber); + + deleteVehicle _logic; +}; + +_display displayAddEventHandler ["Unload", _fnc_onUnload]; +_ctrlButtonOK ctrlAddEventHandler ["ButtonClick", _fnc_onConfirm]; diff --git a/addons/zeus/functions/fnc_ui_teleportPlayers.sqf b/addons/zeus/functions/fnc_ui_teleportPlayers.sqf index d323a9a467..99233482a4 100644 --- a/addons/zeus/functions/fnc_ui_teleportPlayers.sqf +++ b/addons/zeus/functions/fnc_ui_teleportPlayers.sqf @@ -1,6 +1,6 @@ /* - * Author: SilentSpike - * Initalises the `teleport players` zeus module display + * Author: SilentSpike, mharis001 + * Initalizes the "Teleport Players" Zeus module display. * * Arguments: * 0: teleportPlayers controls group @@ -13,7 +13,6 @@ * * Public: No */ - #include "script_component.hpp" params ["_control"]; @@ -37,6 +36,33 @@ private _listbox = _display displayCtrl 16189; _listbox lbSetCurSel 0; (_display displayCtrl 16188) cbSetChecked (_logic getVariable ["tpGroup",false]); +private _fnc_onKeyUp = { + params ["_display"]; + + private _listbox = _display displayCtrl 16189; + private _edit = _display displayCtrl 16190; + private _text = toLower ctrlText _edit; + + lbClear _listbox; + + { + if (alive _x) then { + if ([toLower name _x, _text] call CBA_fnc_find > -1) then { + _listbox lbSetData [_listbox lbAdd (name _x), getPlayerUID _x]; + }; + }; + } forEach ([] call CBA_fnc_players); + + // Alert user to zero search matches + if (lbSize _listbox == 0) then { + _edit ctrlSetTooltip (localize LSTRING(ModuleTeleportPlayers_noneFound)); + _edit ctrlSetTextColor [1, 0, 0, 1]; + } else { + _edit ctrlSetTooltip ""; + _edit ctrlSetTextColor [1, 1, 1, 1]; + }; +}; + private _fnc_onUnload = { params ["_display"]; @@ -64,5 +90,6 @@ private _fnc_onConfirm = { [_logic, _uid, _group] call FUNC(moduleTeleportPlayers); }; +_display displayAddEventHandler ["KeyUp", _fnc_onKeyUp]; _display displayAddEventHandler ["unload", _fnc_onUnload]; _ctrlButtonOK ctrlAddEventHandler ["buttonclick", _fnc_onConfirm]; diff --git a/addons/zeus/functions/fnc_ui_toggleFlashlight.sqf b/addons/zeus/functions/fnc_ui_toggleFlashlight.sqf index 9dff6808e4..874f2dcc91 100644 --- a/addons/zeus/functions/fnc_ui_toggleFlashlight.sqf +++ b/addons/zeus/functions/fnc_ui_toggleFlashlight.sqf @@ -1,36 +1,35 @@ /* - * Author: alganthe - * Initalises the `Toggle Flashlights` zeus module display + * Author: alganthe, mharis001 + * Initializes the "Toggle Flashlights" Zeus module display. * * Arguments: - * 0: Flashlight toggle controls group + * 0: toggleFlashlight controls group * * Return Value: * None * * Example: - * onSetFocus = "_this call ace_zeus_fnc_ui_toggleFLashlight" + * [CONTROL] call ace_zeus_fnc_ui_toggleFlashlight * * Public: No -*/ - + */ #include "script_component.hpp" -disableSerialization; +#define COMBO_ITEMS [[LSTRING(SelectedGroup), "\a3\ui_f_curator\data\displays\rscdisplaycurator\modegroups_ca.paa"], ["STR_WEST", "\a3\ui_f\data\map\diary\icons\playerwest_ca.paa"], ["STR_EAST", "\a3\ui_f\data\map\diary\icons\playereast_ca.paa"], ["STR_guerrila", "\a3\ui_f\data\map\diary\icons\playerguer_ca.paa"], ["STR_Civilian", "\a3\ui_f\data\map\diary\icons\playerciv_ca.paa"]] params ["_control"]; -//Generic Init: -private _display = ctrlparent _control; -private _ctrlButtonOK = _display displayctrl 1; //IDC_OK -private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objnull); -TRACE_1("logicObject",_logic); +// Generic init +private _display = ctrlParent _control; +private _ctrlButtonOK = _display displayCtrl 1; // IDC_OK +private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); +TRACE_1("Logic Object",_logic); -_control ctrlRemoveAllEventHandlers "setFocus"; +_control ctrlRemoveAllEventHandlers "SetFocus"; +// Validate module target private _unit = effectiveCommander (attachedTo _logic); -// Handles errors scopeName "Main"; private _fnc_errorAndClose = { params ["_msg"]; @@ -51,59 +50,24 @@ if !(isNull _unit) then { }; }; -//Specific on-load stuff: -private _comboBox = _display displayCtrl 56218; -private _comboBox2 = _display displayCtrl 56219; -private _comboBox3 = _display displayCtrl 56220; +// Specific onLoad stuff +private _combo = _display displayCtrl 56220; +// Add target combo options (only add selected group option if placed on unit) { - _comboBox lbSetValue [_comboBox lbAdd (_x select 0), _x select 1]; -} forEach [ - [localize ELSTRING(common,Disabled), 0], - [localize ELSTRING(common,Enabled), 1] -]; + _x params ["_text", "_icon"]; + _combo lbSetPicture [_combo lbAdd (localize _text), _icon]; +} forEach (COMBO_ITEMS select [[0, 1] select (isNull _unit), 5]); -if (isNull _unit) then { - { - _comboBox2 lbSetValue [_comboBox2 lbAdd (_x select 0), _x select 1]; - } forEach [ - ["BLUFOR", 0], - ["OPFOR", 1], - ["INDEP", 2], - ["CIV", 3] - ]; -} else { - { - _comboBox2 lbSetValue [_comboBox2 lbAdd (_x select 0), _x select 1]; - } forEach [ - [localize LSTRING(moduleToggleNVG_SelectedGroup), 4], - ["BLUFOR", 0], - ["OPFOR", 1], - ["INDEP", 2], - ["CIV", 3] - ]; +_combo lbSetCurSel 0; + +// Set default flashlight status +if !(isNull _unit) then { + (_display displayCtrl 56218) lbSetCurSel ([0, 1] select (_unit isFlashlightOn (currentWeapon _unit))); }; -{ - _comboBox3 lbSetValue [_comboBox3 lbAdd (_x select 0), _x select 1]; -} foreach [ - [localize ELSTRING(common,Disabled), 0], - [localize ELSTRING(common,Enabled), 1] -]; - - -private _enabledDefault = false; -if (!isNull _unit) then { - _enabledDefault = _unit isFlashlightOn (currentWeapon _unit); -}; -_comboBox lbSetCurSel ([0,1] select _enabledDefault); -_comboBox2 lbSetCurSel 0; -_comboBox3 lbSetCurSel 0; - private _fnc_onUnload = { - params ["_display"]; - - private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objnull); + private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); if (isNull _logic) exitWith {}; deleteVehicle _logic; @@ -112,22 +76,20 @@ private _fnc_onUnload = { private _fnc_onConfirm = { params [["_ctrlButtonOK", controlNull, [controlNull]]]; - private _display = ctrlparent _ctrlButtonOK; + private _display = ctrlParent _ctrlButtonOK; if (isNull _display) exitWith {}; - private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objnull); + private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); if (isNull _logic) exitWith {}; - private _combo1 = _display displayCtrl 56218; - private _combo2 = _display displayCtrl 56219; - private _combo3 = _display displayCtrl 56220; + private _toggle = lbCurSel (_display displayCtrl 56218) > 0; + private _addGear = lbCurSel (_display displayCtrl 56219) > 0; + private _combo = _display displayCtrl 56220; + private _target = lbCurSel _combo; + if (lbSize _combo > 4) then {DEC(_target)}; - private _toggle = _combo1 lbValue (lbCurSel _combo1); - private _target = _combo2 lbValue (lbCurSel _combo2); - private _gear = _combo3 lbValue (lbCurSel _combo3); - - [_logic, _toggle == 1, _gear == 1, _target] call FUNC(moduleToggleFlashlight); + [_logic, _toggle, _addGear, _target] call FUNC(moduleToggleFlashlight); }; -_display displayAddEventHandler ["unload", _fnc_onUnload]; -_ctrlButtonOK ctrlAddEventHandler ["buttonclick", _fnc_onConfirm]; +_display displayAddEventHandler ["Unload", _fnc_onUnload]; +_ctrlButtonOK ctrlAddEventHandler ["ButtonClick", _fnc_onConfirm]; diff --git a/addons/zeus/functions/fnc_ui_toggleNvg.sqf b/addons/zeus/functions/fnc_ui_toggleNvg.sqf index 822e552dac..c10b0b5bbc 100644 --- a/addons/zeus/functions/fnc_ui_toggleNvg.sqf +++ b/addons/zeus/functions/fnc_ui_toggleNvg.sqf @@ -1,36 +1,35 @@ /* - * Author: alganthe - * Initalises the `Toggle NVGs` zeus module display + * Author: alganthe, mharis001 + * Initializes the "Toggle NVGs" Zeus module display. * * Arguments: - * 0: Nvg toggle controls group + * 0: toggleNvg controls group * * Return Value: * None * * Example: - * onSetFocus = "_this call ace_zeus_fnc_ui_toggleNvg" + * [CONTROL] call ace_zeus_fnc_ui_toggleNvg * * Public: No -*/ - + */ #include "script_component.hpp" -disableSerialization; +#define COMBO_ITEMS [[LSTRING(SelectedGroup), "\a3\ui_f_curator\data\displays\rscdisplaycurator\modegroups_ca.paa"], ["STR_WEST", "\a3\ui_f\data\map\diary\icons\playerwest_ca.paa"], ["STR_EAST", "\a3\ui_f\data\map\diary\icons\playereast_ca.paa"], ["STR_guerrila", "\a3\ui_f\data\map\diary\icons\playerguer_ca.paa"], ["STR_Civilian", "\a3\ui_f\data\map\diary\icons\playerciv_ca.paa"]] params ["_control"]; -//Generic Init: -private _display = ctrlparent _control; -private _ctrlButtonOK = _display displayctrl 1; //IDC_OK -private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objnull); -TRACE_1("logicObject",_logic); +// Generic init +private _display = ctrlParent _control; +private _ctrlButtonOK = _display displayCtrl 1; // IDC_OK +private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); +TRACE_1("Logic Object",_logic); -_control ctrlRemoveAllEventHandlers "setFocus"; +_control ctrlRemoveAllEventHandlers "SetFocus"; +// Validate module target private _unit = effectiveCommander (attachedTo _logic); -// Handles errors scopeName "Main"; private _fnc_errorAndClose = { params ["_msg"]; @@ -51,50 +50,24 @@ if !(isNull _unit) then { }; }; -//Specific on-load stuff: -private _comboBox = _display displayCtrl 92855; -private _comboBox2 = _display displayCtrl 92856; +// Specific onLoad stuff +private _combo = _display displayCtrl 92856; +// Add target combo options (only add selected group option if placed on unit) { - _comboBox lbSetValue [_comboBox lbAdd (_x select 0), _x select 1]; -} forEach [ - [localize ELSTRING(common,Disabled), 0], - [localize ELSTRING(common,Enabled), 1] -]; + _x params ["_text", "_icon"]; + _combo lbSetPicture [_combo lbAdd (localize _text), _icon]; +} forEach (COMBO_ITEMS select [[0, 1] select (isNull _unit), 5]); -if (isNull _unit) then { - { - _comboBox2 lbSetValue [_comboBox2 lbAdd (_x select 0), _x select 1]; - } forEach [ - ["BLUFOR", 0], - ["OPFOR", 1], - ["INDEP", 2], - ["CIV", 3] - ]; -} else { - { - _comboBox2 lbSetValue [_comboBox2 lbAdd (_x select 0), _x select 1]; - } forEach [ - [localize LSTRING(moduleToggleNVG_SelectedGroup), 4], - ["BLUFOR", 0], - ["OPFOR", 1], - ["INDEP", 2], - ["CIV", 3] - ]; +_combo lbSetCurSel 0; + +// Set default NVG status +if !(isNull _unit) then { + (_display displayCtrl 92855) lbSetCurSel ([0, 1] select !(hmd _unit isEqualTo "")); }; - -private _enabledDefault = false; -if (!isNull _unit) then { - _enabledDefault = !(hmd _unit isEqualTo ""); -}; -_comboBox lbSetCurSel ([0,1] select _enabledDefault); -_comboBox2 lbSetCurSel 0; - private _fnc_onUnload = { - params ["_display"]; - - private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objnull); + private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); if (isNull _logic) exitWith {}; deleteVehicle _logic; @@ -103,20 +76,19 @@ private _fnc_onUnload = { private _fnc_onConfirm = { params [["_ctrlButtonOK", controlNull, [controlNull]]]; - private _display = ctrlparent _ctrlButtonOK; + private _display = ctrlParent _ctrlButtonOK; if (isNull _display) exitWith {}; - private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objnull); + private _logic = GETMVAR(BIS_fnc_initCuratorAttributes_target,objNull); if (isNull _logic) exitWith {}; - private _combo1 = _display displayCtrl 92855; - private _combo2 = _display displayCtrl 92856; + private _toggle = lbCurSel (_display displayCtrl 92855) > 0; + private _combo = _display displayCtrl 92856; + private _target = lbCurSel _combo; + if (lbSize _combo > 4) then {DEC(_target)}; - private _toggle = _combo1 lbValue (lbCurSel _combo1); - private _target = _combo2 lbValue (lbCurSel _combo2); - - [_logic, _toggle == 1, _target] call FUNC(moduleToggleNvg); + [_logic, _toggle, _target] call FUNC(moduleToggleNvg); }; -_display displayAddEventHandler ["unload", _fnc_onUnload]; -_ctrlButtonOK ctrlAddEventHandler ["buttonclick", _fnc_onConfirm]; +_display displayAddEventHandler ["Unload", _fnc_onUnload]; +_ctrlButtonOK ctrlAddEventHandler ["ButtonClick", _fnc_onConfirm]; diff --git a/addons/zeus/functions/fnc_zeusAttributes.sqf b/addons/zeus/functions/fnc_zeusAttributes.sqf index 5481120cd3..8e80744e66 100644 --- a/addons/zeus/functions/fnc_zeusAttributes.sqf +++ b/addons/zeus/functions/fnc_zeusAttributes.sqf @@ -16,7 +16,6 @@ * * Public: No */ - #include "script_component.hpp" TRACE_1("params",_this); diff --git a/addons/zeus/stringtable.xml b/addons/zeus/stringtable.xml index 7b34b84039..7be670ec00 100644 --- a/addons/zeus/stringtable.xml +++ b/addons/zeus/stringtable.xml @@ -273,29 +273,16 @@ 更新可编辑的物件 更新可編輯的物件 - - All Curators - Alle Zeus' - 全キュレーター - 모든 큐레이터 - Wszyscy kuratorzy - Tous curateurs - Tutti i Moderatori - 所有编辑者 - 所有編輯者 + + Editing Mode - - Apply changes to all curators - Änderungen bei allen Zeus' aktualisieren - 全キュレーターへ変更を適用 - 모든 큐레이터에 변화를 적용합니다 - Zatwierdź zmiany dla wszystkich kuratorów - Applique les changements à tous les curateurs - Applica i cambiamenti a tutti i moderatori - 确认变更给所有编辑者 - 確認變更給所有編輯者 + + Add or remove editable objects from Zeus - + + Add Objects + + Remove Objects Entferne Objekte オブジェクトの削除 @@ -306,16 +293,27 @@ 移除物件 移除物件 - - Remove existing instead of adding new - Entfernt Bestehendes, statt Neues hinzuzufügen - 新しく追加するために削除します - 물체를 삭제합니다 - Usuń istniejące zamiast dodawać nowe - Enlève les objets existants au lieu d'en ajouter de nouveaux - Rimuove gli esistenti e li sostituisce con i nuovi - 移除已存在的物件来新增新的物件 - 移除已存在的物件來新增新的物件 + + All Curators + Alle Zeus' + 全キュレーター + 모든 큐레이터 + Wszyscy kuratorzy + Tous curateurs + Tutti i Moderatori + 所有编辑者 + 所有編輯者 + + + Apply changes to all curators + Änderungen bei allen Zeus' aktualisieren + 全キュレーターへ変更を適用 + 모든 큐레이터에 변화를 적용합니다 + Zatwierdź zmiany dla wszystkich kuratorów + Applique les changements à tous les curateurs + Applica i cambiamenti a tutti i moderatori + 确认变更给所有编辑者 + 確認變更給所有編輯者 Global AI Skill @@ -955,7 +953,7 @@ Cargo : Груз: Náklad: - カーゴ: + カーゴ: Ładunek: Ladung: 화물: @@ -963,31 +961,6 @@ 货物: 貨物: - - Task Position - Position de la tâche - Местоположение задания - Pozice úkolu - タスク位置 - Pozycja zadania - Position der Aufgabe - 작업 위치 - Posizione Incarico - 目标位置 - 目標位置 - - - Select a position to perform the task at - Sélectionne une position où accomplir la tâche - Выбрать местоположение для выполнения задания - 次の選択位置をタスクとして実行 - Wybierz pozycję na której wykonać zadanie - Wähle eine Position, an der die Aufgabe ausgeführt werden soll - 작업을 할 위치를 선택하십시요 - Seleziona una posizione per eseguire l'incarico - 选择要执行目标的位置 - 選擇要執行目標的位置 - Task Radius Rayon de la tâche @@ -1000,7 +973,7 @@ 目标半径 目標半徑 - + Radius to perform the task within Rayon dans lequel la tâche prend place Радиус выполнения задания @@ -1067,7 +1040,7 @@ 装载到货物中 화물 싣기 - + Toggle NVGs Nachtsichtgeräte Hinzufügen/Entfernen Basculer JVN @@ -1077,8 +1050,8 @@ 切换夜视镜 야시경 토글 - - NVG equipment + + NVG Equipment Nachtsichtgeräte Equipment de vision nocturne Attrezzatura NVG @@ -1087,7 +1060,7 @@ 夜视镜装备 야시경 장비 - + Add or remove NVGs from units Nachtsichtgeräte Hinzufügen/Entfernen Ajouter ou retirer JVN des unités @@ -1097,18 +1070,16 @@ 增加或移除单位的夜视镜 야시경 추가/제거 - - Toggle NVG target - Wechsle Nachtsichtgeräteziel - Cible du basculement - Attiva obiettivo NVG - 選択先の暗視装置の切り替え - 切換目標的夜視鏡狀態 - 切换目标的夜视镜状态 - 목표의 야시경 토글 + + Toggle Target + 目標を切り替え - - Selected group + + Units affected by the toggle + ユニットは切り替えに影響を受けます + + + Selected Group Ausgewählte Gruppe Groupe sélectionné Gruppo selezionato @@ -1117,8 +1088,8 @@ 选择小队 그룹 선택 - - Toggle flashlights + + Toggle Flashlights Ändere Taschenlampen Basculer lampes torches Attiva torce @@ -1127,18 +1098,8 @@ 切换手电筒 손전등 토글 - - Toggle flashlight target - Wechsle Nachtsichtgeräteziel - Cible du basculement - Attiva obiettivo torcia - 選択先のフラッシュライトの切り替え - 切換目標的手電筒狀態 - 切换目标的手电筒状态 - 목표의 손전등 토글 - - - Flashlight + + Flashlights Taschenlampe Lampe torche Torcia @@ -1147,8 +1108,8 @@ 手电筒 손전등 - - Add gear + + Add Gear Ausrüstung hinzufügen Ajouter équipement Aggiungi equipaggiamento @@ -1238,5 +1199,269 @@ 解除驻军驻守状态 주둔해제 + + No players found + 沒有玩家找到 + 没有玩家找到 + Nije pronađen nijedan igrač + Aucun joueur trouvé + Keine Spieler gefunden + Nincsenek játékosok + Nessun giocatore trovato + プレーヤーが見つかりません + 플레이어가 없습니다. + Nie znaleziono graczy + Nenhum jogador encontrado + Игроки не найдены + No se encontraron jugadores + + + Assign Repair Vehicle + 分配維修車輛 + 分配维修车辆 + Přiřaďte opravárenské vozidlo + Affecter un véhicule de réparation + Fahrzeug reparieren zuweisen + Hozzárendelés javítóműhöz + Assegna veicolo di riparazione + 修理車両を割り当てる + 수리 차량 지정 + Przydziel pojazd do naprawy + Atribuir veículo de reparação + Назначить ремонтный автомобиль + Asignar vehículo de reparación + + + Assign Repair Facility + 分配修理設施 + 分配修理设施 + Přiřaďte opravu + Affecter une installation de réparation + Zuweisen von Reparatureinrichtung + Hozzárendelés javításhoz + Assegna struttura di riparazione + 修理施設を割り当てる + 수리 시설 지정 + Przydziel naprawę + Atribuir facilidade de reparação + Назначить ремонтный комплекс + Asignar instalación de reparación + + + Assign Engineer + 指派工程師 + 指派工程师 + Přiřadit inženýra + Affecter ingénieur + Engineer zuweisen + Engedélyezze a mérnököt + Assign Engineer + 担当エンジニア + 엔지니어 지정 + Przydziel inżyniera + Encarregar o engenheiro + Назначить инженера + Asignar Ingeniero + + + Engineer Skill + 工程師技能 + 工程师技能 + Inženýrská dovednost + Compétence d'ingénieur + Ingenieur Fähigkeit + Mérnöki készség + Abilità ingegnere + エンジニアのスキル + 기술자의 기술 + Umiejętność inżyniera + Habilidade do engenheiro + Инженерное мастерство + Habilidad de Ingeniero + + + Full Heal + 完全治愈 + 完全治愈 + Plné uzdravení + Guérison complète + Vollständige Heilung + Teljes gyógyítás + Guarigione completa + 完全に回復 + 완전 치유 + Pełne uleczenie + Cura completa + Полное исцеление + Totalmente curado + + + Suicide Bomber + 自殺式炸彈襲擊者 + 自杀式炸弹袭击者 + Samovražedný bombardér + Kamikaze + Selbstmordattentäter + Öngyilkos merénylő + Kamikaze + 自爆テロ犯 + 자살 폭탄 + Samobójca + Bombardeiro suicida + Террорист-смертник + Bombardeo suicida + + + Activation Side + 激活方 + 激活方 + Aktivační strana + Activation latérale + Aktivierungsseite + Aktiválási oldal + Lato di attivazione + 対象陣営 + 활성화면 + Strona aktywacji + Lado de ativação + Сторона активации + Lado de activación + + + Activation Radius + 激活半徑 + 激活半径 + Aktivační poloměr + Rayon d'activation + Aktivierungsradius + Aktiválási sugár + Raggio di attivazione + 活性化半径 + 활성화 반경 + Promień aktywacji + Rádio de ativação + Радиус активации + Radio de activación + + + Explosion Size + 爆炸尺寸 + 爆炸尺寸 + Velikost výbuchu + Taille d'explosion + Explosionsgröße + Robbanásméret + Dimensione di esplosione + 爆発サイズ + 폭발 크기 + Rozmiar wybuchu + Tamanho da Explosão + Размер взрыва + Tamaño de Explosión + + + Auto Seek + 自動尋求 + 自动寻求 + Auto Seek + Recherche automatique + Automatische Suche + Automatikus keresés + Ricerca automatica + 自動誘導 + 자동 탐색 + Auto Seek + Busca automática + Автоматический поиск + Búsqueda automática + + + Unit will actively try to find and move towards nearby units of the activation side. The range of Auto Seek is based on the unit's spot distance skill with a minimum of 100 meters. + 單位將主動嘗試尋找並移動到附近的激活方單位。自動搜索的範圍是基於單位的距離技能,最少100米。 + 单位将主动尝试寻找并移动到附近的激活方单位。自动搜索的范围是基于单位的距离技能,最少100米。 + Jednotka se bude aktivně snažit najít a přejít na blízké jednotky na straně aktivace. Rozsah Auto Seek je založen na dovednosti spotové vzdálenosti jednotky s minimem 100 metrů. + L'unité essayera activement de trouver et de se déplacer vers les unités à proximité du côté d'activation. La portée d'Auto Seek est basée sur la compétence de distance de l'unité avec un minimum de 100 mètres. + Die Einheit versucht aktiv, in der Nähe befindliche Einheiten der Aktivierungsseite zu finden und sich dorthin zu bewegen. Der Bereich der automatischen Suche basiert auf der Fähigkeit der Zielentfernung der Einheit mit einer Mindestentfernung von 100 Metern. + Az egység aktívan megpróbálja megtalálni és elmozdulni az aktivációs oldal közeli egységei felé.Az automatikus keresési tartomány az egység helyszíni szakértelmén alapul, legalább 100 méterrel. + L'unità cercherà attivamente di trovare e spostarsi verso le unità vicine del lato di attivazione. La gamma di Auto Seek si basa sull'abilità a distanza spot dell'unità con un minimo di 100 metri. + 対象陣営ユニットを見つけて移動しようと積極的に試みます。自動誘導の範囲は、ユニットの索敵能力に基づいており、最低100メートルです。 + 유닛은 액티브 측의 근접 유닛을 향해 적극적으로 찾아서 이동하려고 시도합니다. 자동 시크의 범위는 유닛의 스팟 거리 스킬을 기준으로 최소 100 미터입니다. + Jednostka będzie aktywnie próbowała znaleźć i ruszyć w kierunku pobliskich jednostek strony aktywacji. Zasięg Auto Seek opiera się na umiejętności punktowej odległości jednostki z minimum 100 metrów. + A unidade tentará ativamente encontrar e se mover para as unidades próximas do lado da ativação. O alcance da Auto Seek é baseado na habilidade de distância do ponto da unidade com um mínimo de 100 metros. + Устройство будет активно пытаться найти и перейти к соседним единицам активации. Диапазон автоматического поиска основан на умении снимать расстояние на расстоянии не менее 100 метров. + La unidad intentará buscar activamente y moverse hacia las unidades cercanas del lado de activación. El rango de Auto Seek se basa en la habilidad de distancia al punto de la unidad con un mínimo de 100 metros. + + + Small + + + Malý + Petit + Klein + Kicsi + Piccolo + + 작은 + Mały + Pequeno + Маленький + Pequeña + + + Medium + + + Střední + Moyen + Mittel + Közepes + medio + + 매질 + Średni + Médio + средний + Medio + + + Large + + + Velký + Grand + Groß + Nagy + Grande + + + Duży + ampla + большой + Grande + + + Unit is already a suicide bomber + 這個單位已經是自殺炸彈手了 + 这个单位已经是自杀炸弹手了 + Jednotka je již samovražedným bombardérem + L'unité est déjà un kamikaze + Die Einheit ist bereits ein Selbstmordattentäter + Az egység már öngyilkos bombázó + L'unità è già un kamikaze + すでに自爆ユニットです + 유닛은 이미 자살 폭탄 테러범이다. + Jednostka jest już zamachowcem-samobójcą + A unidade já é um suicida + Единица уже является террористом-смертником + La unidad ya es un terrorista suicida + + + Add full ACE Arsenal + ACE 武器庫を追加 + + + Remove ACE Arsenal + ACE 武器庫を削除 + diff --git a/addons/zeus/ui/Icon_Module_Zeus_Editable_Objects_ca.paa b/addons/zeus/ui/Icon_Module_Zeus_Editable_Objects_ca.paa new file mode 100644 index 0000000000..89828a42c5 Binary files /dev/null and b/addons/zeus/ui/Icon_Module_Zeus_Editable_Objects_ca.paa differ diff --git a/addons/zeus/ui/Icon_Module_Zeus_Flashlight_ca.paa b/addons/zeus/ui/Icon_Module_Zeus_Flashlight_ca.paa new file mode 100644 index 0000000000..276411b7aa Binary files /dev/null and b/addons/zeus/ui/Icon_Module_Zeus_Flashlight_ca.paa differ diff --git a/addons/zeus/ui/Icon_Module_Zeus_Heal_ca.paa b/addons/zeus/ui/Icon_Module_Zeus_Heal_ca.paa new file mode 100644 index 0000000000..03f808203c Binary files /dev/null and b/addons/zeus/ui/Icon_Module_Zeus_Heal_ca.paa differ diff --git a/addons/zeus/ui/RscAttributes.hpp b/addons/zeus/ui/RscAttributes.hpp index 2bb2c97d85..8af743b897 100644 --- a/addons/zeus/ui/RscAttributes.hpp +++ b/addons/zeus/ui/RscAttributes.hpp @@ -8,6 +8,8 @@ class RscXSliderH; class RscCheckBox; class RscActivePicture; class RscMapControl; +class RscPicture; +class ctrlToolbox; class RscDisplayAttributes { class Controls { @@ -27,67 +29,38 @@ class GVAR(AttributeRadius): RscControlsGroupNoScrollbars { x = 0; y = 0; w = W_PART(26); - h = H_PART(1.2); + h = H_PART(1.1); class controls { - class Title1: RscText { + class Label: RscText { idc = -1; text = CSTRING(AttributeRadius); - toolTip = CSTRING(AttributeRadius_desc); + tooltip = CSTRING(AttributeRadius_Tooltip); x = 0; y = H_PART(0.1); w = W_PART(10); h = H_PART(1); - colorBackground[] = {0,0,0,0.5}; + colorBackground[] = {0, 0, 0, 0.5}; }; class Radius: RscEdit { idc = 26467; x = W_PART(10.1); y = H_PART(0.1); - w = W_PART(15.8); + w = W_PART(15.9); h = H_PART(1); autocomplete = ""; }; }; }; -class GVAR(AttributePosition): RscControlsGroupNoScrollbars { - onSetFocus = QUOTE(_this call FUNC(ui_attributePosition)); - idc = 26468; - x = 0; - y = 0; - w = W_PART(26); - h = H_PART(26); - class controls { - class Title1: RscText { - idc = -1; - text = CSTRING(AttributePosition); - toolTip = CSTRING(AttributePosition_desc); - x = 0; - y = 0; - w = W_PART(26); - h = H_PART(1); - colorBackground[] = {0,0,0,0.5}; - }; - class Position: RscMapControl { - idc = 26469; - x = W_PART(0.5); - y = H_PART(1.1); - w = W_PART(25); - h = H_PART(24.8); - }; - }; -}; - class GVAR(RscDefendArea): RscDisplayAttributes { - onLoad = QUOTE([ARR_3('onLoad', _this, QUOTE(QGVAR(RscDefendArea)))] call FUNC(zeusAttributes)); - onUnload = QUOTE([ARR_3('onUnload', _this, QUOTE(QGVAR(RscDefendArea)))] call FUNC(zeusAttributes)); + onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscDefendArea))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscDefendArea))] call FUNC(zeusAttributes)); class Controls: Controls { class Background: Background {}; class Title: Title {}; class Content: Content { class Controls { class radius: GVAR(AttributeRadius) {}; - //class position: GVAR(AttributePosition) {}; }; }; class ButtonOK: ButtonOK { @@ -106,40 +79,43 @@ class GVAR(RscEditableObjects): RscDisplayAttributes { class Content: Content { class Controls { class radius: GVAR(AttributeRadius) {}; - //class position: GVAR(AttributePosition) {}; class editableObjects: RscControlsGroupNoScrollbars { onSetFocus = QUOTE(_this call FUNC(ui_editableObjects)); - idc = 26422; + idc = 19180; x = 0; y = 0; - w = W_PART(11.1); - h = H_PART(2.5); + w = W_PART(26); + h = H_PART(2.1); class controls { - class Label: RscText { + class EditingModeLabel: RscText { idc = -1; - text = CSTRING(ModuleEditableObjects_curators); - toolTip = CSTRING(ModuleEditableObjects_curators_desc); + text = CSTRING(ModuleEditableObjects_EditingMode); + tooltip = CSTRING(ModuleEditableObjects_EditingMode_Tooltip); x = 0; y = 0; w = W_PART(10); h = H_PART(1); - colorBackground[] = {0,0,0,0.5}; + colorBackground[] = {0, 0, 0, 0.5}; }; - class AllCurators: RscCheckBox { - idc = 16188; + class EditingMode: ctrlToolbox { + idc = 19181; x = W_PART(10.1); y = 0; - w = W_PART(1); + w = W_PART(15.9); h = H_PART(1); + rows = 1; + columns = 2; + strings[] = {CSTRING(ModuleEditableObjects_RemoveObjects), CSTRING(ModuleEditableObjects_AddObjects)}; }; - class Label2: Label { - text = CSTRING(ModuleEditableObjects_removal); - toolTip = CSTRING(ModuleEditableObjects_removal_desc); + class AllCuratorsLabel: EditingModeLabel { + text = CSTRING(ModuleEditableObjects_AllCurators); + tooltip = CSTRING(ModuleEditableObjects_AllCurators_Tooltip); y = H_PART(1.1); }; - class EditingMode: AllCurators { - idc = 16189; + class AllCurators: EditingMode { + idc = 19182; y = H_PART(1.1); + strings[] = {ECSTRING(common,No), ECSTRING(common,Yes)}; }; }; }; @@ -151,8 +127,8 @@ class GVAR(RscEditableObjects): RscDisplayAttributes { }; class GVAR(RscGlobalSetSkill): RscDisplayAttributes { - onLoad = QUOTE([ARR_3('onLoad', _this, QUOTE(QGVAR(RscGlobalSetSkill)))] call FUNC(zeusAttributes)); - onUnload = QUOTE([ARR_3('onUnload', _this, QUOTE(QGVAR(RscGlobalSetSkill)))] call FUNC(zeusAttributes)); + onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscGlobalSetSkill))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscGlobalSetSkill))] call FUNC(zeusAttributes)); class Controls: Controls { class Background: Background {}; class Title: Title {}; @@ -246,8 +222,8 @@ class GVAR(RscGlobalSetSkill): RscDisplayAttributes { }; class GVAR(RscGroupSide): RscDisplayAttributes { - onLoad = QUOTE([ARR_3('onLoad', _this, QUOTE(QGVAR(RscGroupSide)))] call FUNC(zeusAttributes)); - onUnload = QUOTE([ARR_3('onUnload', _this, QUOTE(QGVAR(RscGroupSide)))] call FUNC(zeusAttributes)); + onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscGroupSide))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscGroupSide))] call FUNC(zeusAttributes)); class Controls: Controls { class Background: Background {}; class Title: Title {}; @@ -280,7 +256,7 @@ class GVAR(RscGroupSide): RscDisplayAttributes { }; class BLUFOR: RscActivePicture { idc = 31200; - text = "\a3\Ui_f\data\Map\Markers\NATO\b_unknown.paa"; + text = "\a3\Ui_F_Curator\Data\Displays\RscDisplayCurator\side_west_ca.paa"; x = W_PART(12.5); y = H_PART(0.25); w = W_PART(2); @@ -289,7 +265,7 @@ class GVAR(RscGroupSide): RscDisplayAttributes { }; class OPFOR: BLUFOR { idc = 31201; - text = "\a3\Ui_f\data\Map\Markers\NATO\o_unknown.paa"; + text = "\a3\Ui_F_Curator\Data\Displays\RscDisplayCurator\side_east_ca.paa"; x = W_PART(15.5); y = H_PART(0.25); w = W_PART(2); @@ -298,7 +274,7 @@ class GVAR(RscGroupSide): RscDisplayAttributes { }; class Independent: BLUFOR { idc = 31202; - text = "\a3\Ui_f\data\Map\Markers\NATO\n_unknown.paa"; + text = "\a3\Ui_F_Curator\Data\Displays\RscDisplayCurator\side_guer_ca.paa"; x = W_PART(18.5); y = H_PART(0.25); w = W_PART(2); @@ -307,7 +283,7 @@ class GVAR(RscGroupSide): RscDisplayAttributes { }; class Civilian: BLUFOR { idc = 31203; - text = "\a3\Ui_f\data\Map\Markers\NATO\n_unknown.paa"; + text = "\a3\Ui_F_Curator\Data\Displays\RscDisplayCurator\side_civ_ca.paa"; x = W_PART(21.5); y = H_PART(0.25); w = W_PART(2); @@ -324,15 +300,14 @@ class GVAR(RscGroupSide): RscDisplayAttributes { }; class GVAR(RscPatrolArea): RscDisplayAttributes { - onLoad = QUOTE([ARR_3('onLoad', _this, QUOTE(QGVAR(RscPatrolArea)))] call FUNC(zeusAttributes)); - onUnload = QUOTE([ARR_3('onUnload', _this, QUOTE(QGVAR(RscPatrolArea)))] call FUNC(zeusAttributes)); + onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscPatrolArea))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscPatrolArea))] call FUNC(zeusAttributes)); class Controls: Controls { class Background: Background {}; class Title: Title {}; class Content: Content { class Controls { class radius: GVAR(AttributeRadius) {}; - //class position: GVAR(AttributePosition) {}; }; }; class ButtonOK: ButtonOK { @@ -343,15 +318,14 @@ class GVAR(RscPatrolArea): RscDisplayAttributes { }; class GVAR(RscSearchArea): RscDisplayAttributes { - onLoad = QUOTE([ARR_3('onLoad', _this, QUOTE(QGVAR(RscSearchArea)))] call FUNC(zeusAttributes)); - onUnload = QUOTE([ARR_3('onUnload', _this, QUOTE(QGVAR(RscSearchArea)))] call FUNC(zeusAttributes)); + onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscSearchArea))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscSearchArea))] call FUNC(zeusAttributes)); class Controls: Controls { class Background: Background {}; class Title: Title {}; class Content: Content { class Controls { class radius: GVAR(AttributeRadius) {}; - //class position: GVAR(AttributePosition) {}; }; }; class ButtonOK: ButtonOK { @@ -362,8 +336,8 @@ class GVAR(RscSearchArea): RscDisplayAttributes { }; class GVAR(RscTeleportPlayers): RscDisplayAttributes { - onLoad = QUOTE([ARR_3('onLoad', _this, QUOTE(QGVAR(RscTeleportPlayers)))] call FUNC(zeusAttributes)); - onUnload = QUOTE([ARR_3('onUnload', _this, QUOTE(QGVAR(RscTeleportPlayers)))] call FUNC(zeusAttributes)); + onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscTeleportPlayers))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscTeleportPlayers))] call FUNC(zeusAttributes)); class Controls: Controls { class Background: Background {}; class Title: Title {}; @@ -394,16 +368,41 @@ class GVAR(RscTeleportPlayers): RscDisplayAttributes { w = W_PART(26); h = H_PART(5.9); }; - class Label: Title { + class SearchBackground: RscText { + idc = -1; + x = 0; + y = H_PART(7.1); + w = W_PART(1); + h = H_PART(1); + colorBackground[] = {0, 0, 0, 0.5}; + }; + class SearchPicture: RscPicture { + idc = -1; + text = "\a3\Ui_f\data\GUI\RscCommon\RscButtonSearch\search_start_ca.paa"; + x = 0; + y = H_PART(7.1); + w = W_PART(1); + h = H_PART(1); + }; + class Search: RscEdit { + idc = 16190; + x = W_PART(1.2); + y = H_PART(7.1); + w = W_PART(14.5); + h = H_PART(1); + autocomplete = ""; + }; + class LabelGroup: Title { idc = -1; text = CSTRING(ModuleTeleportPlayers_group); toolTip = CSTRING(ModuleTeleportPlayers_group_desc); + x = W_PART(15.9); y = H_PART(7.1); - w = W_PART(10); + w = W_PART(9); }; class UseGroup: RscCheckBox { idc = 16188; - x = W_PART(10.1); + x = W_PART(25); y = H_PART(7.1); w = W_PART(1); h = H_PART(1); @@ -474,8 +473,8 @@ class RscDisplayAttributesVehicleEmpty: RscDisplayAttributes { }; class GVAR(RscGarrison): RscDisplayAttributes { - onLoad = QUOTE([ARR_3('onLoad', _this, QUOTE(QGVAR(RscGarrison)))] call FUNC(zeusAttributes)); - onUnload = QUOTE([ARR_3('onUnload', _this, QUOTE(QGVAR(RscGarrison)))] call FUNC(zeusAttributes)); + onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscGarrison))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscGarrison))] call FUNC(zeusAttributes)); class Controls: Controls { class Background: Background {}; class Title: Title {}; @@ -549,49 +548,53 @@ class GVAR(RscGarrison): RscDisplayAttributes { }; class GVAR(RscToggleNvg): RscDisplayAttributes { - onLoad = QUOTE([ARR_3('onLoad', _this, QUOTE(QGVAR(RscToggleNvg)))] call FUNC(zeusAttributes)); - onUnload = QUOTE([ARR_3('onUnload', _this, QUOTE(QGVAR(RscToggleNvg)))] call FUNC(zeusAttributes)); + onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscToggleNvg))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscToggleNvg))] call FUNC(zeusAttributes)); class Controls: Controls { class Background: Background {}; class Title: Title {}; class Content: Content { class Controls { - class ToggleNvg: RscControlsGroupNoScrollbars { + class toggleNvg: RscControlsGroupNoScrollbars { onSetFocus = QUOTE(_this call FUNC(ui_toggleNvg)); idc = 92854; x = 0; y = 0; w = W_PART(26); - h = H_PART(3); + h = H_PART(2.1); class controls { - class ToggleNvgTitle: Title { + class ToggleLabel: RscText { idc = -1; - text = CSTRING(moduleToggleNVG_ToggleNvgTitle); - toolTip = CSTRING(moduleToggleNVG_ToggleNvgTitleTooltip); - x = H_PART(0); - y = H_PART(0); - w = W_PART(7); + text = CSTRING(ModuleToggleNVG_NvgEquipment); + tooltip = CSTRING(ModuleToggleNVG_NvgEquipment_tooltip); + x = 0; + y = 0; + w = W_PART(10); + h = H_PART(1); + colorBackground[] = {0, 0, 0, 0.5}; }; - class ToggleNvgCombo: RscCombo { + class Toggle: ctrlToolbox { idc = 92855; - x = H_PART(6); - y = H_PART(0); - w = W_PART(10.1); + x = W_PART(10.1); + y = 0; + w = W_PART(15.9); h = H_PART(1); + rows = 1; + columns = 2; + strings[] = {ECSTRING(common,Disabled), ECSTRING(common,Enabled)}; }; - class ToggleNvgSideTitle: Title { - idc = -1; - text = CSTRING(moduleToggleNVG_ToggleNvgSide); - x = H_PART(0); - y = H_PART(1.2); - w = W_PART(7); + class TargetLabel: ToggleLabel { + text = CSTRING(ToggleTarget); + tooltip = CSTRING(ToggleTarget_Tooltip); + y = H_PART(1.1); }; - class ToggleNvgSideCombo: RscCombo { + class Target: RscCombo { idc = 92856; - x = H_PART(6); - y = H_PART(1.2); - w = W_PART(10.1); + x = W_PART(10.1); + y = H_PART(1.1); + w = W_PART(15.9); h = H_PART(1); + colorBackground[] = {0, 0, 0, 0.7}; }; }; }; @@ -603,62 +606,237 @@ class GVAR(RscToggleNvg): RscDisplayAttributes { }; class GVAR(RscToggleFlashlight): RscDisplayAttributes { - onLoad = QUOTE([ARR_3('onLoad', _this, QUOTE(QGVAR(RscToggleFlashlight)))] call FUNC(zeusAttributes)); - onUnload = QUOTE([ARR_3('onUnload', _this, QUOTE(QGVAR(RscToggleFlashlight)))] call FUNC(zeusAttributes)); + onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscToggleFlashlight))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscToggleFlashlight))] call FUNC(zeusAttributes)); class Controls: Controls { class Background: Background {}; class Title: Title {}; class Content: Content { class Controls { - class ToggleFlashlight: RscControlsGroupNoScrollbars { + class toggleFlashlight: RscControlsGroupNoScrollbars { onSetFocus = QUOTE(_this call FUNC(ui_toggleFlashlight)); idc = 56217; x = 0; y = 0; w = W_PART(26); - h = H_PART(5); + h = H_PART(3.2); class controls { - class ToggleFlashlightTitle: Title { + class ToggleLabel: RscText { idc = -1; - text = CSTRING(moduleToggleFlashlight_ToggleFlashlightTitle); - x = H_PART(0); - y = H_PART(0); - w = W_PART(7); + text = CSTRING(ModuleToggleFlashlight_Flashlights); + x = 0; + y = 0; + w = W_PART(10); + h = H_PART(1); + colorBackground[] = {0, 0, 0, 0.5}; }; - class ToggleFlashlightCombo: RscCombo { + class Toggle: ctrlToolbox { idc = 56218; - x = H_PART(6); - y = H_PART(0); - w = W_PART(10.1); + x = W_PART(10.1); + y = 0; + w = W_PART(15.9); h = H_PART(1); + rows = 1; + columns = 2; + strings[] = {ECSTRING(common,Disabled), ECSTRING(common,Enabled)}; }; - class ToggleFlashlightSideTitle: Title { - idc = -1; - text = CSTRING(moduleToggleFlashlight_ToggleFlashlightSide); - x = H_PART(0); - y = H_PART(1.2); - w = W_PART(7); + class AddGearLabel: ToggleLabel { + text = CSTRING(ModuleToggleFlashlight_AddGear); + y = H_PART(1.1); }; - class ToggleFlashlightSideCombo: RscCombo { + class AddGear: Toggle { idc = 56219; - x = H_PART(6); - y = H_PART(1.2); - w = W_PART(10.1); - h = H_PART(1); + y = H_PART(1.1); + strings[] = {ECSTRING(common,No), ECSTRING(common,Yes)}; }; - class ToggleFlashlightGearTitle: Title { - idc = -1; - text = CSTRING(moduleToggleFlashlight_ToggleFlashlightGear); - x = H_PART(0); - y = H_PART(2.4); - w = W_PART(7); + class TargetLabel: ToggleLabel { + text = CSTRING(ToggleTarget); + tooltip = CSTRING(ToggleTarget_Tooltip); + y = H_PART(2.2); }; - class ToggleFlashlightGearCombo: RscCombo { + class Target: RscCombo { idc = 56220; - x = H_PART(6); - y = H_PART(2.4); - w = W_PART(10.1); + x = W_PART(10.1); + y = H_PART(2.2); + w = W_PART(15.9); h = H_PART(1); + colorBackground[] = {0, 0, 0, 0.7}; + }; + }; + }; + }; + }; + class ButtonOK: ButtonOK {}; + class ButtonCancel: ButtonCancel {}; + }; +}; + +class GVAR(RscSetEngineer): RscDisplayAttributes { + onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscSetEngineer))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscSetEngineer))] call FUNC(zeusAttributes)); + class Controls: Controls { + class Background: Background {}; + class Title: Title {}; + class Content: Content { + class Controls { + class setEngineer: RscControlsGroupNoScrollbars { + onSetFocus = QUOTE(_this call FUNC(ui_setEngineer)); + idc = 86946; + x = 0; + y = 0; + w = W_PART(26); + h = H_PART(1.2); + class controls { + class Label: RscText { + idc = -1; + text = CSTRING(ModuleSetEngineer_skill); + toolTip = ECSTRING(repair,AssignEngineerRole_role_Description); + x = 0; + y = H_PART(0.1); + w = W_PART(10); + h = H_PART(1); + colorBackground[] = {0, 0, 0, 0.5}; + }; + class Roles: ctrlToolbox { + idc = 86947; + x = W_PART(10.1); + y = H_PART(0.1); + w = W_PART(15.9); + h = H_PART(1); + rows = 1; + columns = 2; + strings[] = {ECSTRING(repair,AssignEngineerRole_role_engineer), ECSTRING(repair,AssignEngineerRole_role_advanced)}; + }; + }; + }; + }; + }; + class ButtonOK: ButtonOK {}; + class ButtonCancel: ButtonCancel {}; + }; +}; + +class GVAR(RscSuicideBomber): RscDisplayAttributes { + onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscSuicideBomber))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscSuicideBomber))] call FUNC(zeusAttributes)); + class Controls: Controls { + class Background: Background {}; + class Title: Title {}; + class Content: Content { + class Controls { + class suicideBomber: RscControlsGroupNoScrollbars { + onSetFocus = QUOTE(_this call FUNC(ui_suicideBomber)); + idc = 83470; + x = 0; + y = 0; + w = W_PART(26); + h = H_PART(5.8); + class controls { + class ActivationSide: RscControlsGroupNoScrollbars { + idc = 83571; + x = 0; + y = 0; + w = W_PART(26); + h = H_PART(2.5); + class controls { + class Label: RscText { + idc = -1; + text = CSTRING(ModuleSuicideBomber_ActivationSide); + x = 0; + y = 0; + w = W_PART(10); + h = H_PART(2.5); + colorBackground[] = {0, 0, 0, 0.5}; + }; + class Background: RscText { + idc = -1; + x = W_PART(10); + y = 0; + w = W_PART(16); + h = H_PART(2.5); + colorBackground[] = {1, 1, 1, 0.1}; + }; + class BLUFOR: RscActivePicture { + idc = 83581; + text = "\a3\Ui_F_Curator\Data\Displays\RscDisplayCurator\side_west_ca.paa"; + x = W_PART(12.5); + y = H_PART(0.25); + w = W_PART(2); + h = H_PART(2); + tooltip = "$STR_WEST"; + }; + class OPFOR: BLUFOR { + idc = 83580; + text = "\a3\Ui_F_Curator\Data\Displays\RscDisplayCurator\side_east_ca.paa"; + x = W_PART(15.5); + tooltip = "$STR_EAST"; + }; + class Independent: BLUFOR { + idc = 83582; + text = "\a3\Ui_F_Curator\Data\Displays\RscDisplayCurator\side_guer_ca.paa"; + x = W_PART(18.5); + tooltip = "$STR_guerrila"; + }; + class Civilian: BLUFOR { + idc = 83583; + text = "\a3\Ui_F_Curator\Data\Displays\RscDisplayCurator\side_civ_ca.paa"; + x = W_PART(21.5); + tooltip = "$STR_Civilian"; + }; + }; + }; + class DistanceLabel: RscText { + idc = -1; + text = CSTRING(ModuleSuicideBomber_ActivationRadius); + x = 0; + y = H_PART(2.6); + w = W_PART(10); + h = H_PART(1); + colorBackground[] = {0, 0, 0, 0.5}; + }; + class DistanceSlider: RscXSliderH { + idc = 83572; + x = W_PART(10.1); + y = H_PART(2.6); + w = W_PART(13.9); + h = H_PART(1); + }; + class DistanceEdit: RscEdit { + idc = 83573; + x = W_PART(24.1); + y = H_PART(2.6); + w = W_PART(1.9); + h = H_PART(1); + autocomplete = ""; + maxChars = 3; + canModify = 0; + }; + class ExplosionLabel: DistanceLabel { + idc = -1; + text = CSTRING(ModuleSuicideBomber_ExplosionSize); + y = H_PART(3.7); + }; + class Explosion: ctrlToolbox { + idc = 83574; + x = W_PART(10.1); + y = H_PART(3.7); + w = W_PART(15.9); + h = H_PART(1); + rows = 1; + columns = 3; + strings[] = {CSTRING(ModuleSuicideBomber_Small), CSTRING(ModuleSuicideBomber_Medium), CSTRING(ModuleSuicideBomber_Large)}; + }; + class AutoSeekLabel: DistanceLabel { + idc = -1; + text = CSTRING(ModuleSuicideBomber_AutoSeek); + y = H_PART(4.8); + toolTip = CSTRING(ModuleSuicideBomber_AutoSeek_tooltip); + }; + class AutoSeek: Explosion { + idc = 83575; + y = H_PART(4.8); + columns = 2; + strings[] = {ECSTRING(common,Disabled), ECSTRING(common,Enabled)}; }; }; }; diff --git a/circle.yml b/circle.yml index f00d4ca5af..9ed4a84a63 100644 --- a/circle.yml +++ b/circle.yml @@ -8,6 +8,9 @@ jobs: - run: name: Validate SQF and Config style command: python tools/sqf_validator.py && python tools/config_style_checker.py + - run: + name: Version + command: armake --version - run: name: Build command: | @@ -22,6 +25,11 @@ jobs: steps: - checkout - deploy: - name: Deploy + name: Update documentation and translation statistics command: | - python3 tools/deploy.py + if [ "${CIRCLE_BRANCH}" == "master" ] && [ "${CIRCLE_PROJECT_USERNAME}" == "acemod" ]; then + pip install pygithub pygithub3 + python3 tools/deploy.py + else + echo "Skipping, not on acemod/ACE3 master branch..." + fi diff --git a/docs/README_DE.md b/docs/README_DE.md index 1a34aa0104..806c31cea0 100644 --- a/docs/README_DE.md +++ b/docs/README_DE.md @@ -4,7 +4,7 @@

- ACE3 Version + ACE3 Version ACE3 Fehlermeldungen diff --git a/docs/README_PL.md b/docs/README_PL.md index 2ada5d6533..4f2c9b80b7 100644 --- a/docs/README_PL.md +++ b/docs/README_PL.md @@ -3,7 +3,7 @@

- ACE3 Wersja + ACE3 Wersja ACE3 Zagadnienia diff --git a/docs/_config.yml b/docs/_config.yml index 237d3d7348..18cefe6347 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -9,8 +9,8 @@ ace: version: major: 3 minor: 12 - patch: 1 - build: 30 + patch: 2 + build: 33 acex: githubUrl: https://github.com/acemod/ACEX diff --git a/docs/acebot.json b/docs/acebot.json new file mode 100644 index 0000000000..8aea4186b2 --- /dev/null +++ b/docs/acebot.json @@ -0,0 +1,102 @@ +[ + // General + { + "name": "Arsenal", + "url": "https://ace3mod.com/wiki/feature/arsenal.html" + }, + // Interaction + { + "name": "AdvancedThrowing", + "url": "https://ace3mod.com/wiki/feature/advanced-throwing.html" + }, + { + "name": "Captives", + "url": "https://ace3mod.com/wiki/feature/captives.html" + }, + { + "name": "Explosives", + "url": "https://ace3mod.com/wiki/feature/explosives.html" + }, + { + "name": "Interaction", + "url": "https://ace3mod.com/wiki/feature/interaction.html" + }, + { + "name": "MapGestures", + "url": "https://ace3mod.com/wiki/feature/map-gestures.html" + }, + { + "name": "Nametags", + "url": "https://ace3mod.com/wiki/feature/nametags.html" + }, + { + "name": "Pylons", + "url": "https://ace3mod.com/wiki/feature/pylons.html" + }, + { + "name": "Refuel", + "url": "https://ace3mod.com/wiki/feature/refuel.html" + }, + { + "name": "Reload", + "url": "https://ace3mod.com/wiki/feature/reload.html" + }, + { + "name": "Repair", + "url": "https://ace3mod.com/wiki/feature/repair.html" + }, + { + "name": "Slideshow", + "url": "https://ace3mod.com/wiki/feature/slideshow.html" + }, + { + "name": "Spectator", + "url": "https://ace3mod.com/wiki/feature/spectator.html" + }, + // Realism + { + "name": "AdvancedBallistics", + "url": "https://ace3mod.com/wiki/feature/advanced-ballistics.html" + }, + { + "name": "Hearing", + "url": "https://ace3mod.com/wiki/feature/hearing.html" + }, + { + "name": "MedicalSystem", + "url": "https://ace3mod.com/wiki/feature/medical-system.html" + }, + { + "name": "Overheating", + "url": "https://ace3mod.com/wiki/feature/overheating.html" + }, + { + "name": "Weather", + "url": "https://ace3mod.com/wiki/feature/weather.html" + }, + // Equipment + { + "name": "ATragMX", + "url": "https://ace3mod.com/wiki/feature/atragmx.html" + }, + { + "name": "Hellfire", + "url": "https://ace3mod.com/wiki/feature/hellfire.html" + }, + { + "name": "Kestrel4500", + "url": "https://ace3mod.com/wiki/feature/kestrel4500.html" + }, + { + "name": "MapTools", + "url": "https://ace3mod.com/wiki/feature/maptools.html" + }, + { + "name": "MicroDAGR", + "url": "https://ace3mod.com/wiki/feature/microdagr.html" + }, + { + "name": "Nightvision", + "url": "https://ace3mod.com/wiki/feature/nightvision.html" + } +] diff --git a/docs/js/footer.min.js.map b/docs/js/footer.min.js.map index a97698868a..ae13990616 100644 --- a/docs/js/footer.min.js.map +++ b/docs/js/footer.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/js/vendor/modernizr/modernizr.custom.18747.js","../src/js/vendor/picturefill/picturefill.js","../src/js/vendor/jquery/jquery.min.js","../src/js/vendor/foundation/foundation.js","../src/js/vendor/foundation/foundation.topbar.js","../src/js/vendor/foundation/foundation.clearing.js","../src/js/vendor/slick/slick.js","../src/js/vendor/jekyll-toc/jekyll-toc.js","../src/js/core/utils.js","../src/js/components/analytics.js","../src/js/components/storage.js","../src/js/components/contentSearch.js","../src/js/app.js"],"names":["window","Modernizr","a","b","c","u","j","cssText","w","k","r","t","d","e","f","g","documentElement","h","i","createElement","style","m","toString","p","q","slice","s","hasOwnProperty","call","constructor","prototype","Function","bind","this","TypeError","arguments","apply","concat","Object","z","toLowerCase","push","addTest","className","l","getElementsByTagName","innerHTML","insertBefore","lastChild","firstChild","elements","split","n","o","cache","cloneNode","test","createElem","canHaveChildren","tagUrn","frag","appendChild","createDocumentFragment","length","createFrag","shivMethods","join","replace","shivCSS","hasCSS","html5","childNodes","version","supportsUnknownElements","type","shivDocument","_version","document","shift","B","injectCss","injectJs","x","readyState","onload","onreadystatechange","removeChild","y","errorTimeout","data","src","width","height","onerror","splice","v","loader","load","A","setTimeout","createRange","compareNode","parentNode","opera","attachEvent","Array","isArray","timeout","pop","url","origUrl","prefixes","autoCallback","bypass","instead","noexec","forceCSS","forceJS","attrs","both","callback","complete","yep","nope","yepnope","addPrefix","addFilter","addEventListener","removeEventListener","executeStack","setAttribute","href","rel","ua","navigator","userAgent","HTMLPictureElement","match","RegExp","$1","timer","dummySrc","fixRespimg","img","source","sizes","picture","nodeName","toUpperCase","firstElementChild","_pfLastSize","offsetWidth","findPictureImgs","imgs","querySelectorAll","onResize","clearTimeout","mq","matchMedia","init","addListener","srcset","undefined","isSpace","detectTypeSupport","typeUri","image","Image","types","picturefill","updateMetrics","isVwDirty","DPR","devicePixelRatio","cssCache","sizeLengthCache","pf","units","Math","max","innerWidth","docElem","clientWidth","innerHeight","clientHeight","vw","vh","evalId","em","getEmValue","rem","chooseLowRes","lowerValue","higherValue","dprValue","isCached","bonusFactor","tooMuch","bonus","meanDensity","cfg","algorithm","pow","sqrt","applyBestCandidate","srcSetCandidates","matchingSet","getSet","evaluated","setRes","applySetCandidate","ns","evaled","ascendingSort","res","setSrcToCur","set","candidate","sets","getCandidateForSrc","makeUrl","curSrc","curCan","setResolution","candidates","parseSet","getAllSourceElements","len","sources","getAttribute","media","parseSrcset","input","collectCharacters","regEx","chars","exec","substring","pos","parseDescriptors","desc","lastChar","value","intVal","floatVal","pError","descriptors","parseInt","parseFloat","regexNonNegativeInteger","regexFloatingPoint","has1x","tokenize","regexLeadingSpaces","currentDescriptor","state","charAt","inputLength","regexLeadingCommasOrSpaces","regexLeadingNotSpaces","regexTrailingCommas","parseSizes","strValue","parseComponentValues","str","pushComponent","component","componentArray","pushComponentArray","listArray","chrctr","parenDepth","inComment","isValidNonNegativeSourceSizeValue","regexCssLengthWithUnits","regexCssCalc","unparsedSizesList","unparsedSizesListLength","unparsedSize","lastComponentValue","size","matchesMedia","warn","eminpx","alwaysCheckWDescriptor","isSupportTestReady","noop","getImgAttr","setImgAttr","removeImgAttr","removeAttribute","srcAttr","srcsetAttr","supportAbort","curSrcProp","regWDesc","regSize","setOptions","picturefillCFG","baseStyle","fsCss","px","in","anchor","alreadyRun","on","obj","evt","fn","capture","memoize","evalCSS","regLength","args","index","string","buildStr","css","parsedLength","sizesattr","cWidth","calcListLength","opt","plen","options","nodeType","context","qsa","reevaluate","reselect","sel","selShort","setupRun","fillImg","teardownRun","console","message","implementation","hasFeature","Date","getTime","substr","supSrcset","supSizes","supPicture","image2","width2","width1","setSize","matches","mMQ","calcLength","sourceSizeValue","supportsType","parseSize","sourceSizeStr","cands","body","div","originalHTMLCSS","originalBodyCSS","sourceSizeListStr","uT","winningLength","bestCandidate","candidateSrc","abortCurSrc","imageData","dpr","cached","sort","setSrc","origWidth","parseSets","element","parent","srcsetAttribute","imageSet","isWDescripor","srcsetParsed","hasPicture","pic","supported","parsed","extreme","isDomReady","regReady","run","timerId","fillImgs","debounce","func","wait","timestamp","later","last","lastClientWidth","_","name","module","exports","define","amd","Error","isWindow","isFunction","grep","filter","F","H","each","G","J","ready","M","expando","uid","R","Q","P","parseJSON","O","W","cur","cssNumber","T","unit","start","end","merge","aa","N","get","ca","ba","Y","$","_default","htmlPrefilter","textContent","createTextNode","inArray","contains","ownerDocument","Z","ga","ha","ia","activeElement","ja","off","guid","event","add","pa","qa","ra","na","sa","hasData","access","events","handle","extend","ta","X","checked","defaultValue","checkClone","ma","eq","html","map","clone","_evalUrl","globalEval","oa","va","cleanData","ya","appendTo","detach","za","xa","wa","contentDocument","write","close","Fa","Ca","getPropertyValue","pixelMarginRight","Ba","Aa","minWidth","maxWidth","Ga","Ma","La","Ka","Na","Oa","U","Pa","offsetHeight","msFullscreenElement","top","getClientRects","round","getBoundingClientRect","boxSizingReliable","Qa","display","V","Ra","Wa","Sa","now","Xa","opacity","Ya","_a","tweeners","Za","queue","_queueHooks","unqueued","empty","fire","always","overflow","overflowX","overflowY","Ua","isEmptyObject","hidden","show","done","hide","remove","$a","camelCase","cssHooks","expand","prefilters","Deferred","elem","startTime","duration","tweens","notifyWith","resolveWith","promise","props","opts","specialEasing","easing","originalProperties","originalOptions","createTween","Tween","stop","rejectWith","proxy","fx","anim","progress","fail","fb","vb","unshift","wb","dataTypes","sb","xb","ajaxSettings","flatOptions","yb","contents","mimeType","getResponseHeader","converters","zb","responseFields","dataFilter","dataType","error","Fb","Bb","Lb","defaultView","indexOf","jquery","selector","toArray","pushStack","prevObject","first","isPlainObject","random","isReady","isNumeric","eval","trim","text","head","makeArray","support","Symbol","iterator","fa","getElementById","id","getElementsByClassName","cacheLength","attrHandle","ka","sourceIndex","C","nextSibling","la","dir","uniqueID","relative","find","TAG","uniqueSort","D","E","I","K","L","S","ID","CLASS","ATTR","PSEUDO","CHILD","bool","needsContext","String","fromCharCode","da","ea","isXML","setDocument","attributes","createComment","getById","getElementsByName","getAttributeNode","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","sortDetached","attr","specified","detectDuplicates","sortStable","getText","nodeValue","selectors","createPseudo",">"," ","+","~","preFilter","pseudos","setFilters","not","has","innerText","lang","target","location","hash","root","focus","hasFocus","tabIndex","enabled","disabled","selected","selectedIndex","header","button","even","odd","lt","gt","nth","radio","checkbox","file","password","submit","reset","filters","compile","select","expr","unique","isXMLDoc","is","parseHTML","children","next","prev","closest","prevAll","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","siblings","reverse","Callbacks","once","stopOnFalse","memory","disable","lock","locked","fireWith","fired","then","notify","resolve","reject","pipe","when","readyWait","holdReady","triggerHandler","doScroll","register","defineProperty","writable","configurable","removeData","_data","_removeData","dequeue","clearQueue","option","thead","col","tr","td","optgroup","tbody","tfoot","colgroup","caption","th","noCloneChecked","global","handler","triggered","dispatch","special","delegateType","bindType","origType","namespace","delegateCount","setup","teardown","removeEvent","fix","delegateTarget","preDispatch","handlers","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","handleObj","result","preventDefault","stopPropagation","postDispatch","isNaN","fixHooks","keyHooks","which","charCode","keyCode","mouseHooks","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","Event","noBubble","trigger","blur","click","beforeunload","originalEvent","returnValue","isDefaultPrevented","defaultPrevented","timeStamp","stopImmediatePropagation","mouseenter","mouseleave","pointerenter","pointerleave","relatedTarget","one","domManip","append","prepend","before","after","replaceWith","replaceChild","prependTo","insertAfter","replaceAll","HTML","BODY","opener","getComputedStyle","Da","Ea","marginLeft","marginRight","backgroundClip","clearCloneStyle","pixelPosition","reliableMarginLeft","reliableMarginRight","Ha","Ia","position","visibility","Ja","letterSpacing","fontWeight","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","cssProps","float","isFinite","left","margin","padding","border","toggle","prop","propHooks","step","linear","swing","cos","PI","Ta","Va","Animation","*","tweener","prefilter","speed","speeds","old","fadeTo","animate","finish","timers","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","tick","interval","setInterval","clearInterval","slow","fast","delay","checkOn","optSelected","optDisabled","radioValue","ab","bb","removeAttr","attrHooks","propFix","cb","db","removeProp","for","class","eb","addClass","removeClass","toggleClass","hasClass","gb","val","valHooks","hb","isTrigger","parentWindow","simulate","isSimulated","hover","focusin","ib","jb","kb","JSON","parse","parseXML","DOMParser","parseFromString","lb","mb","nb","ob","pb","qb","rb","tb","ub","active","lastModified","etag","isLocal","protocol","processData","async","contentType","accepts","xml","json","* text","text html","text json","text xml","ajaxSetup","ajaxPrefilter","ajaxTransport","ajax","ifModified","status","statusText","statusCode","getAllResponseHeaders","setRequestHeader","overrideMimeType","abort","success","method","crossDomain","host","param","traditional","hasContent","headers","beforeSend","send","getJSON","getScript","throws","wrapAll","wrapInner","wrap","unwrap","visible","Ab","Cb","Db","Eb","encodeURIComponent","serialize","serializeArray","xhr","XMLHttpRequest","Gb","0","1223","Hb","cors","open","username","xhrFields","onabort","responseType","responseText","binary","response","script","text script","charset","scriptCharset","Ib","Jb","jsonp","jsonpCallback","createHTMLDocument","Kb","animated","offset","setOffset","using","pageYOffset","pageXOffset","offsetParent","scrollTo","Height","Width","content","","unbind","delegate","undelegate","andSelf","Mb","jQuery","Nb","noConflict","removeQuotes","header_helpers","class_array","FastClick","attach","cont","attr_name","arr","add_namespace","parts","bindings","self","$this","should_bind_events","settings","data_options","scope","single_image_loaded","loaded","bindLoad","doc","refNode","fakeBody","background","raf","animating","requestAnimationFrame","jqueryFxAvailable","lastTime","vendors","cancelAnimationFrame","currTime","timeToCall","Foundation","media_queries","small","small-only","medium","medium-only","large","large-only","xlarge","xlarge-only","xxlarge","stylesheet","sheet","libraries","responses","rtl","set_namespace","libs","init_lib","lib","patch","defaults","utils","inherit","methods","methods_arr","throttle","immediate","callNow","el","data_attr_name","isNumber","ii","opts_arr","cached_options","register_media","media_class","add_custom_rule","rule","insertRule","cssRules","query","image_loaded","images","unloaded","random_str","fidx","prefix","is_small_up","is_medium_up","is_large_up","is_xlarge_up","is_xxlarge_up","is_small_only","is_medium_only","is_large_only","is_xlarge_only","is_xxlarge_only","foundation","topbar","sticky_class","custom_back_text","back_text","mobile_show_parent_link","is_hover","scrolltop","sticky_on","section","topbarContainer","is_sticky","sticky_topbar","outerHeight","assembled","assemble","sticky","smallMatch","medMatch","lrgMatch","toggleEl","breakpoint","right","update_sticky_positioning","bar","li","touch","$selectedLi","resize","$movedLi","$previousLevelUl","stickyOffset","stickyContainer","doToggle","$titleLi","$link","$dropdown","ul","total","klass","$window","distance","reflow","clearing","templates","viewing","close_selectors","open_selectors","skip_selector","touch_label","$scroll_container","current","is_open","update_paddles","nav","keydown","swipe_events","touches","start_page_x","start_page_y","start_time","delta_x","is_scrolling","scale","abs","direction","$li","$el","grid","grid_outerHTML","outerHTML","holder","wrapper","$image","startLoad","outerWidth","container","visible_image","fix_height","center_and_label","label","prev_index","NEXT_KEY","PREV_KEY","ESC_KEY","go","lis","marginTop","preload","new_img","new_a","$ul","skip_shift","old_index","dir_obj","up_count","unlock","li_width","floor","target_index","adjacent","current_index","factory","require","Slick","dataSettings","accessibility","adaptiveHeight","appendArrows","appendDots","arrows","asNavFor","prevArrow","nextArrow","autoplay","autoplaySpeed","centerMode","centerPadding","cssEase","customPaging","slider","dots","dotsClass","draggable","edgeFriction","fade","focusOnSelect","infinite","initialSlide","lazyLoad","mobileFirst","pauseOnHover","pauseOnFocus","pauseOnDotsHover","respondTo","responsive","rows","slide","slidesPerRow","slidesToShow","slidesToScroll","swipe","swipeToSlide","touchMove","touchThreshold","useCSS","useTransform","variableWidth","vertical","verticalSwiping","waitForAnimate","initials","dragging","autoPlayTimer","currentDirection","currentLeft","currentSlide","$dots","listWidth","listHeight","loadIndex","$nextArrow","$prevArrow","slideCount","slideWidth","$slideTrack","$slides","sliding","slideOffset","swipeLeft","$list","touchObject","transformsEnabled","unslicked","activeBreakpoint","animType","animProp","breakpoints","breakpointSettings","cssTransitions","focussed","interrupted","paused","positionProp","rowCount","shouldClick","$slider","$slidesCache","transformType","transitionType","visibilityChange","windowWidth","windowTimer","originalSettings","mozHidden","webkitHidden","autoPlay","autoPlayClear","autoPlayIterator","changeSlide","clickHandler","selectHandler","setPosition","swipeHandler","dragHandler","keyHandler","instanceUid","htmlExpr","registerBreakpoints","activateADA","aria-hidden","tabindex","addSlide","slickAdd","markup","addBefore","unload","reinit","animateHeight","targetHeight","animateSlide","targetLeft","animProps","animStart","ceil","applyTransition","disableTransition","getNavTarget","slick","slideHandler","transition","slideTo","buildArrows","aria-disabled","buildDots","dot","getDotCount","buildOut","setupInfinite","updateDots","setSlideClasses","buildRows","newSlides","numOfSlides","originalSlides","slidesPerSection","row","checkResponsive","initial","forceUpdate","targetBreakpoint","respondToWidth","triggerBreakpoint","sliderWidth","min","unslick","refresh","dontAnimate","indexOffset","unevenOffset","$target","checkNavigable","navigables","prevNavigable","getNavigableIndexes","cleanUpEvents","interrupt","cleanUpSlideEvents","orientationChange","cleanUpRows","destroy","fadeSlide","slideIndex","fadeSlideOut","filterSlides","slickFilter","focusHandler","$sf","getCurrent","slickCurrentSlide","breakPoint","counter","pagerQty","getLeft","verticalHeight","targetSlide","verticalOffset","offsetLeft","getOption","slickGetOption","indexes","getSlick","getSlideCount","slidesTraversed","swipedSlide","centerOffset","goTo","slickGoTo","creation","setProps","loadSlider","initializeEvents","updateArrows","initADA","role","aria-describedby","aria-selected","aria-controls","initArrowEvents","initDotEvents","initSlideEvents","action","initUI","tagName","loadImages","imagesScope","imageSource","imageToLoad","loadRange","cloneRange","rangeStart","rangeEnd","progressiveLazyLoad","slickNext","pause","slickPause","play","slickPlay","postSlide","slickPrev","tryCount","$imgsToLoad","initializing","lastVisibleIndex","currentBreakpoint","responsiveSettings","windowDelay","removeSlide","slickRemove","removeBefore","removeAll","setCSS","positionProps","setDimensions","setFade","setHeight","setOption","slickSetOption","item","bodyStyle","WebkitTransition","MozTransition","msTransition","OTransform","perspectiveProperty","webkitPerspective","MozTransform","MozPerspective","webkitTransform","msTransform","transform","allSlides","remainder","infiniteCount","targetElement","sync","animSlide","oldSlide","slideLeft","navTarget","swipeDirection","xDist","yDist","swipeAngle","startX","curX","startY","curY","atan2","swipeEnd","swipeLength","edgeHit","minSwipe","fingerCount","swipeStart","swipeMove","curLeft","positionOffset","unfilterSlides","slickUnfilter","fromBreakpoint","ret","toc","fixedEncodeURIComponent","charCodeAt","noBackToTopLinks","title","minimumHeaders","listType","showEffect","showSpeed","previousSiblingName","output","this_level","render","none","get_level","ele","highest_level","return_to_top","level","format","myString","regX","addHours","hours","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","getQueryParam","regex","results","search","decodeURIComponent","countOccurrences","searchTerm","app","analytics","sendEvent","category","ex","storage","getItem","key","currentItem","sessionStorage","date","timeToInvalidateItem","setItem","itemToSave","stringify","contentSearch","updateSearchFieldFromQueryParams","$liveSearchField","handleLiveKeyDown","hideLiveResultList","$liveSearchButton","openSearchPage","$contentSearchField","handleContentKeyDown","findSearchTermInArray","maxEntries","multiplier","found","currentPage","occurrences","description","group","_searchTerm","_searchTermCombined","getSearchResults","searchJsonUrl","searchTermValid","_searchStartLength","_timeOutID","showLiveResultList","$liveSearchResultList","_maxDescriptionLengthLive","term","startLiveSearch","cachedSearchResults","storageKeyName","handleLiveSearchResult","_maxEntriesLive","searchTermParamName","startContentSearch","handleContentSearchResult","_maxEntriesContent","showContentResultList","_maxDescriptionLengthContent","origin","$contentSearchResultList","$liveSearch","$toc","$tables","$table"],"mappings":"AAGCA,OAAOC,UAAU,SAASC,EAAEC,EAAEC,GAAG,QAASC,GAAEH,GAAGI,EAAEC,QAAQL,EAAyD,QAASM,GAAEN,EAAEC,GAAG,aAAcD,KAAIC,EAAiK,GAAyFM,GAA8CC,EAAsBC,EAAzJC,EAAE,QAAQC,KAAKC,GAAE,EAAGC,EAAEZ,EAAEa,gBAAgBC,EAAE,YAAYC,EAAEf,EAAEgB,cAAcF,GAAGX,EAAEY,EAAEE,MAAsBC,MAATC,aAAwBC,KAAKC,EAAED,EAAEE,MAAQC,KAAKC,cAA+FhB,GAA7EH,EAAEkB,EAAE,cAAelB,EAAEkB,EAAEE,KAAK,aAAmD,SAAS1B,EAAEC,GAAG,MAAOA,KAAKD,IAAGM,EAAEN,EAAE2B,YAAYC,UAAU3B,GAAG,cAA9F,SAASD,EAAEC,GAAG,MAAOuB,GAAEE,KAAK1B,EAAEC,IAA8E4B,SAASD,UAAUE,OAAOD,SAASD,UAAUE,KAAK,SAAS7B,GAAG,GAAIC,GAAE6B,IAAK,IAAa,kBAAH7B,GAAc,KAAM,IAAI8B,UAAU,IAAItB,GAAEY,EAAEI,KAAKO,UAAU,GAAGtB,EAAE,WAAW,GAAGoB,eAAgBpB,GAAE,CAAC,GAAIX,GAAE,YAAaA,GAAE4B,UAAU1B,EAAE0B,SAAU,IAAIhB,GAAE,GAAIZ,GAAEa,EAAEX,EAAEgC,MAAMtB,EAAEF,EAAEyB,OAAOb,EAAEI,KAAKO,YAAa,OAAOG,QAAOvB,KAAKA,EAAEA,EAAED,EAAE,MAAOV,GAAEgC,MAAMjC,EAAES,EAAEyB,OAAOb,EAAEI,KAAKO,aAAc,OAAOtB,IAAI,KAAI,GAAI0B,KAAKlB,GAAEV,EAAEU,EAAEkB,KAAK7B,EAAE6B,EAAEC,cAAc3B,EAAEH,GAAGW,EAAEkB,KAAKhB,EAAEkB,MAAM5B,EAAEH,GAAG,GAAG,OAAOA,GAAI,OAAOG,GAAE6B,QAAQ,SAASxC,EAAEC,GAAG,GAAa,gBAAHD,GAAY,IAAI,GAAIU,KAAKV,GAAES,EAAET,EAAEU,IAAIC,EAAE6B,QAAQ9B,EAAEV,EAAEU,QAAQ,CAAmB,GAAlBV,EAAEA,EAAEsC,cAAiB3B,EAAEX,KAAKE,EAAE,MAAOS,EAAEV,GAAY,kBAAHA,GAAcA,IAAIA,EAAY,mBAAHW,IAAgBA,IAAIC,EAAE4B,WAAW,KAAKxC,EAAE,GAAG,OAAOD,GAAGW,EAAEX,GAAGC,EAAE,MAAOU,IAAGR,EAAE,IAAIa,EAAET,EAAE,KAAK,SAASP,EAAEC,GAAG,QAASyC,GAAE1C,EAAEC,GAAG,GAAIC,GAAEF,EAAEiB,cAAc,KAAKP,EAAEV,EAAE2C,qBAAqB,QAAQ,IAAI3C,EAAEc,eAAgB,OAAOZ,GAAE0C,UAAU,WAAW3C,EAAE,WAAWS,EAAEmC,aAAa3C,EAAE4C,UAAUpC,EAAEqC,YAAY,QAAS5B,KAAI,GAAInB,GAAEwB,EAAEwB,QAAS,OAAiB,gBAAHhD,GAAYA,EAAEiD,MAAM,KAAKjD,EAAE,QAASkD,GAAElD,GAAG,GAAIC,GAAEG,EAAEJ,EAAEe,GAAI,OAAOd,KAAIA,KAAKe,IAAIhB,EAAEe,GAAGC,EAAEZ,EAAEY,GAAGf,GAAGA,EAAE,QAASkD,GAAEnD,EAAEE,EAAEQ,GAAY,GAATR,IAAIA,EAAED,GAAMM,EAAE,MAAOL,GAAEe,cAAcjB,EAAGU,KAAIA,EAAEwC,EAAEhD,GAAI,IAAIW,EAAE,OAAkBA,GAAXH,EAAE0C,MAAMpD,GAAKU,EAAE0C,MAAMpD,GAAGqD,YAAYzC,EAAE0C,KAAKtD,IAAMU,EAAE0C,MAAMpD,GAAGU,EAAE6C,WAAWvD,IAAIqD,YAAc3C,EAAE6C,WAAWvD,IAAGa,EAAE2C,iBAAkB7C,EAAE2C,KAAKtD,IAAKa,EAAE4C,OAA6B5C,EAAtBH,EAAEgD,KAAKC,YAAY9C,GAAK,QAASQ,GAAErB,EAAEE,GAAY,GAATF,IAAIA,EAAEC,GAAMM,EAAE,MAAOP,GAAE4D,wBAAyB1D,GAAEA,GAAGgD,EAAElD,EAAiD,KAA9C,GAAIU,GAAER,EAAEwD,KAAKL,YAAY1C,EAAE,EAAEC,EAAEO,IAAIN,EAAED,EAAEiD,OAAYlD,EAAEE,EAAEF,IAAID,EAAEO,cAAcL,EAAED,GAAI,OAAOD,GAAE,QAASY,GAAEtB,EAAEC,GAAGA,EAAEmD,QAAQnD,EAAEmD,SAASnD,EAAEsD,WAAWvD,EAAEiB,cAAchB,EAAE6D,WAAW9D,EAAE4D,uBAAuB3D,EAAEyD,KAAKzD,EAAE6D,cAAc9D,EAAEiB,cAAc,SAASf,GAAG,MAAOsB,GAAEuC,YAAYZ,EAAEjD,EAAEF,EAAEC,GAAGA,EAAEsD,WAAWrD,IAAIF,EAAE4D,uBAAuB/B,SAAS,MAAM,2EAA2EV,IAAI6C,OAAOC,QAAQ,WAAW,SAASjE,GAAG,MAAOC,GAAEsD,WAAWvD,GAAGC,EAAEyD,KAAKzC,cAAcjB,GAAG,MAAMA,EAAE,OAAO,eAAewB,EAAEvB,EAAEyD,MAAM,QAASlD,GAAER,GAAGA,IAAIA,EAAEC,EAAG,IAAIC,GAAEgD,EAAElD,EAAG,OAAOwB,GAAE0C,UAAUrD,IAAIX,EAAEiE,SAASjE,EAAEiE,SAASzB,EAAE1C,EAAE,sJAAsJO,GAAGe,EAAEtB,EAAEE,GAAGF,EAAE,GAAkNa,GAA0BN,EAAxOL,EAAE,QAAQQ,EAAEV,EAAEoE,UAAUzD,EAAE,qEAAqEC,EAAE,6GAA+GG,EAAE,aAAaC,EAAE,EAAEZ,MAAO,WAAY,IAAI,GAAIJ,GAAEC,EAAEgB,cAAc,IAAKjB,GAAE4C,UAAU,cAAc/B,EAAE,UAAWb,GAAEO,EAAuB,GAArBP,EAAEqE,WAAWR,QAAW,WAAW5D,EAAEgB,cAAc,IAAK,IAAIjB,GAAEC,EAAE2D,wBAAyB,OAA2B,mBAAb5D,GAAEqD,WAAyD,mBAA1BrD,GAAE4D,wBAA6D,mBAAjB5D,GAAEiB,iBAA8B,MAAMf,GAAGW,GAAE,EAAGN,GAAE,KAAQ,IAAIiB,IAAGwB,SAAStC,EAAEsC,UAAU,kLAAkLsB,QAAQpE,EAAEgE,QAAQxD,EAAEwD,WAAU,EAAGK,wBAAwBhE,EAAEwD,YAAYrD,EAAEqD,eAAc,EAAGS,KAAK,UAAUC,aAAajE,EAAES,cAAckC,EAAES,uBAAuBvC,EAAGrB,GAAEoE,MAAM5C,EAAEhB,EAAEP,IAAI8B,KAAK9B,GAAGU,EAAE+D,SAAShE,EAAEG,EAAE4B,UAAU5B,EAAE4B,UAAUwB,QAAQ,oBAAoB,SAASrD,EAAE,OAAOS,EAAE2C,KAAK,KAAK,IAAIrD,GAAGoB,KAAKA,KAAK4C,UAAU,SAAS3E,EAAEC,EAAEC,GAAG,QAASQ,GAAEV,GAAG,MAAM,qBAAqBmD,EAAEzB,KAAK1B,GAAG,QAASW,GAAEX,GAAG,MAAM,gBAAiBA,GAAE,QAASY,MAAK,QAASC,GAAEb,GAAG,OAAOA,GAAG,UAAUA,GAAG,YAAYA,GAAG,iBAAiBA,EAAE,QAASe,KAAI,GAAIf,GAAEqB,EAAEuD,OAAQtD,GAAE,EAAEtB,EAAEA,EAAES,EAAEU,EAAE,YAAY,KAAKnB,EAAES,EAAEoE,EAAEC,UAAUD,EAAEE,UAAU/E,EAAEwB,EAAE,EAAExB,EAAEA,EAAEA,EAAEgF,EAAEhF,EAAEW,EAAE,IAAI,IAAIX,IAAIe,KAAKO,EAAE,EAAE,QAASN,GAAEhB,EAAEE,EAAEQ,EAAEC,EAAEC,EAAEI,EAAEZ,GAAG,QAASG,GAAEN,GAAG,IAAIkD,GAAGtC,EAAE6B,EAAEuC,cAAc9E,EAAEK,EAAE2C,EAAE,GAAG7B,GAAGP,IAAI2B,EAAEwC,OAAOxC,EAAEyC,mBAAmB,KAAKlF,GAAG,CAAC,OAAOD,GAAGmB,EAAE,WAAWV,EAAE2E,YAAY1C,IAAI,GAAI,KAAI,GAAIhC,KAAK2E,GAAEnF,GAAGmF,EAAEnF,GAAGuB,eAAef,IAAI2E,EAAEnF,GAAGQ,GAAGwE,UAAU,GAAI9E,GAAEA,GAAGyE,EAAES,aAAa5C,EAAEzC,EAAEgB,cAAcjB,GAAGmD,EAAE,EAAE3C,EAAE,EAAEL,GAAGM,EAAEC,EAAEc,EAAEtB,EAAES,EAAEC,EAAEZ,EAAEgB,EAAEgE,EAAE5E,EAAG,KAAIiF,EAAEnF,KAAKM,EAAE,EAAE6E,EAAEnF,OAAO,UAAUF,EAAE0C,EAAE6C,KAAKrF,GAAGwC,EAAE8C,IAAItF,EAAEwC,EAAE8B,KAAKxE,GAAG0C,EAAE+C,MAAM/C,EAAEgD,OAAO,IAAIhD,EAAEiD,QAAQjD,EAAEwC,OAAOxC,EAAEyC,mBAAmB,WAAW5E,EAAEmB,KAAKK,KAAKvB,IAAIa,EAAEuE,OAAOjF,EAAE,EAAER,GAAG,OAAOH,IAAIQ,GAAG,IAAI6E,EAAEnF,IAAIO,EAAEoC,aAAaH,EAAElB,EAAE,KAAK0B,GAAG/B,EAAEZ,EAAEH,IAAIiF,EAAEnF,GAAGqC,KAAKG,IAAI,QAAStC,GAAEJ,EAAEC,EAAEC,EAAEQ,EAAEE,GAAG,MAAOU,GAAE,EAAErB,EAAEA,GAAG,IAAIU,EAAEX,GAAGgB,EAAE,KAAKf,EAAE4F,EAAE1F,EAAEH,EAAEC,EAAE8B,KAAKf,IAAId,EAAEQ,EAAEE,IAAIS,EAAEuE,OAAO7D,KAAKf,IAAI,EAAEhB,GAAG,GAAGqB,EAAEwC,QAAQ9C,KAAKgB,KAAK,QAASxB,KAAI,GAAIP,GAAE6E,CAAE,OAAO7E,GAAE8F,QAAQC,KAAK3F,EAAEY,EAAE,GAAGhB,EAAE,GAA+agG,GAAEnB,EAA7anC,EAAEzC,EAAEa,gBAAgBK,EAAEnB,EAAEiG,WAAW/C,EAAEjD,EAAE0C,qBAAqB,UAAU,GAAGQ,KAAK/B,SAASC,KAAKC,EAAE,EAAEd,EAAE,iBAAkBkC,GAAExB,MAAMM,EAAEhB,KAAKP,EAAEiG,cAAcC,YAAY1F,EAAEe,EAAEkB,EAAEQ,EAAEkD,WAAW1D,EAAE1C,EAAEqG,OAAO,kBAAkBlD,EAAEzB,KAAK1B,EAAEqG,OAAO3D,IAAIzC,EAAEqG,cAAc5D,EAAEvC,EAAEK,EAAE,SAASkC,EAAE,SAAS,MAAMmD,EAAEnD,EAAE,SAASvC,EAAEG,EAAEiG,MAAMC,SAAS,SAASxG,GAAG,MAAM,kBAAkBmD,EAAEzB,KAAK1B,IAAIgF,KAAKK,KAAKhD,GAAGoE,QAAQ,SAASzG,EAAEC,GAAG,MAAOA,GAAE4D,SAAS7D,EAAEyG,QAAQxG,EAAE,IAAID,GAAQ6E,GAAE,SAAS7E,GAAG,QAASC,GAAED,GAAG,GAAkFW,GAAEC,EAAEC,EAAlFb,EAAEA,EAAEiD,MAAM,KAAKhD,EAAE+E,EAAEnB,OAAO3D,EAAEF,EAAE0G,MAAMhG,EAAEV,EAAE6D,OAAO3D,GAAGyG,IAAIzG,EAAE0G,QAAQ1G,EAAE2G,SAAS7G,EAAS,KAAIY,EAAE,EAAEA,EAAEF,EAAEE,IAAIC,EAAEb,EAAEY,GAAGqC,MAAM,MAAMtC,EAAE0B,EAAExB,EAAE+D,YAAY1E,EAAES,EAAET,EAAEW,GAAI,KAAID,EAAE,EAAEA,EAAEX,EAAEW,IAAIV,EAAE8E,EAAEpE,GAAGV,EAAG,OAAOA,GAAE,QAASW,GAAEb,EAAEW,EAAEC,EAAEC,EAAEE,GAAG,GAAIC,GAAEf,EAAED,GAAGI,EAAEY,EAAE8F,YAAa9F,GAAE2F,IAAI1D,MAAM,KAAKyD,MAAMzD,MAAM,KAAK2B,QAAQ5D,EAAE+F,SAASpG,IAAIA,EAAED,EAAEC,GAAGA,EAAEA,EAAEX,IAAIW,EAAEE,IAAIF,EAAEX,EAAEiD,MAAM,KAAKyD,MAAMzD,MAAM,KAAK,KAAKjC,EAAEgG,QAAQhG,EAAEgG,QAAQhH,EAAEW,EAAEC,EAAEC,EAAEE,IAAIsE,EAAErE,EAAE2F,KAAK3F,EAAEiG,QAAO,EAAG5B,EAAErE,EAAE2F,KAAK,EAAE/F,EAAEmF,KAAK/E,EAAE2F,IAAI3F,EAAEkG,WAAWlG,EAAEmG,SAAS,OAAOnG,EAAE2F,IAAI1D,MAAM,KAAKyD,MAAMzD,MAAM,KAAK2B,QAAQ,IAAI1E,EAAEc,EAAEiG,OAAOjG,EAAEoG,MAAMpG,EAAEyF,UAAU/F,EAAEC,IAAID,EAAEN,KAAKQ,EAAEmF,KAAK,WAAWxF,IAAII,GAAGA,EAAEK,EAAE4F,QAAQ7F,EAAEF,GAAGT,GAAGA,EAAEY,EAAE4F,QAAQ7F,EAAEF,GAAGwE,EAAErE,EAAE2F,KAAK,MAAM,QAAS5F,GAAEf,EAAEC,GAAG,QAASC,GAAEF,EAAEE,GAAG,GAAGF,GAAG,GAAGW,EAAEX,GAAGE,IAAIE,EAAE,WAAW,GAAIJ,MAAKuB,MAAMG,KAAKO,UAAW1B,GAAE2B,MAAMH,KAAK/B,GAAG0C,MAAM7B,EAAEb,EAAEI,EAAEH,EAAE,EAAEc,OAAQ,IAAGqB,OAAOpC,KAAKA,EAAE,IAAIkD,IAAK/B,GAAE,WAAW,GAAQjB,GAAJD,EAAE,CAAI,KAAIC,IAAKF,GAAEA,EAAEyB,eAAevB,IAAID,GAAI,OAAOA,MAAKD,EAAEA,EAAEyB,eAAeyB,MAAMhD,MAAMiB,IAAIT,EAAEN,GAAGA,EAAE,WAAW,GAAIJ,MAAKuB,MAAMG,KAAKO,UAAW1B,GAAE2B,MAAMH,KAAK/B,GAAG0C,KAAKtC,EAAE8C,GAAG,SAASlD,GAAG,MAAO,YAAW,GAAIC,MAAKsB,MAAMG,KAAKO,UAAWjC,IAAGA,EAAEkC,MAAMH,KAAK9B,GAAGyC,MAAMnC,EAAE2C,KAAKrC,EAAEb,EAAEkD,GAAG9C,EAAEH,EAAEiD,EAAEnC,SAASb,GAAGwC,IAAI,GAAoEvB,GAAE+B,EAAlEnC,IAAIf,EAAEsD,KAAKtC,EAAEhB,EAAE+F,MAAM/F,EAAEqH,KAAKjH,EAAEJ,EAAEsH,UAAU1G,EAAEL,EAAEH,EAAEsC,EAAE1C,EAAEuH,UAAU3G,CAAMV,GAAEa,EAAEf,EAAEwH,IAAIxH,EAAEyH,OAAOzG,GAAGA,GAAGd,EAAEc,GAAG,GAAIA,GAAEZ,EAAEsC,EAAEX,KAAK2F,QAAQ5B,MAAO,IAAGnF,EAAEX,GAAGa,EAAEb,EAAE,EAAE0C,EAAE,OAAQ,IAAGpC,EAAEN,GAAG,IAAIgB,EAAE,EAAEA,EAAEhB,EAAE6D,OAAO7C,IAAIZ,EAAEJ,EAAEgB,GAAGL,EAAEP,GAAGS,EAAET,EAAE,EAAEsC,EAAE,GAAGpC,EAAEF,GAAGyE,EAAEzE,GAAGgC,OAAOhC,KAAKA,GAAGW,EAAEX,EAAEsC,OAAQN,QAAOpC,KAAKA,GAAGe,EAAEf,EAAE0C,IAAImC,EAAE8C,UAAU,SAAS3H,EAAEC,GAAGoC,EAAErC,GAAGC,GAAG4E,EAAE+C,UAAU,SAAS5H,GAAGgF,EAAEzC,KAAKvC,IAAI6E,EAAES,aAAa,IAAI,MAAMrF,EAAEgF,YAAYhF,EAAE4H,mBAAmB5H,EAAEgF,WAAW,UAAUhF,EAAE4H,iBAAiB,mBAAmB7B,EAAE,WAAW/F,EAAE6H,oBAAoB,mBAAmB9B,EAAE,GAAG/F,EAAEgF,WAAW,YAAY,IAAIjF,EAAE0H,QAAQnH,IAAIP,EAAE0H,QAAQK,aAAahH,EAAEf,EAAE0H,QAAQ3C,SAAS,SAAS/E,EAAEE,EAAEQ,EAAEC,EAAEK,EAAEZ,GAAG,GAAgCsC,GAAES,EAA9B5C,EAAEN,EAAEgB,cAAc,UAAcN,EAAEA,GAAGkE,EAAES,YAAa/E,GAAEiF,IAAIxF,CAAE,KAAImD,IAAKzC,GAAEH,EAAEyH,aAAa7E,EAAEzC,EAAEyC,GAAIjD,GAAEE,EAAEW,EAAEb,GAAGU,EAAEL,EAAE4E,mBAAmB5E,EAAE2E,OAAO,YAAYxC,GAAG7B,EAAEN,EAAE0E,cAAcvC,EAAE,EAAExC,IAAIK,EAAE2E,OAAO3E,EAAE4E,mBAAmB,OAAOhE,EAAE,WAAWuB,IAAIA,EAAE,EAAExC,EAAE,KAAKS,GAAGK,EAAET,EAAE2E,SAAShC,EAAEkD,WAAWvD,aAAatC,EAAE2C,IAAIlD,EAAE0H,QAAQ5C,UAAU,SAAS9E,EAAEE,EAAEQ,EAAEC,EAAEE,EAAEG,GAAG,GAA8BZ,GAA1BO,EAAEV,EAAEgB,cAAc,QAAUf,EAAEc,EAAED,EAAEb,GAAGU,CAAED,GAAEsH,KAAKjI,EAAEW,EAAEuH,IAAI,aAAavH,EAAE6D,KAAK,UAAW,KAAIpE,IAAKM,GAAEC,EAAEqH,aAAa5H,EAAEM,EAAEN,GAAIS,KAAIqC,EAAEkD,WAAWvD,aAAalC,EAAEuC,GAAG/B,EAAEjB,EAAE,MAAM6B,KAAK4C,UAAU5E,UAAUgG,KAAK,WAAW2B,QAAQxF,MAAMpC,UAAUyB,MAAMG,KAAKO,UAAU,KCM39O,SAAWnC,GAEP,GAAIqI,GAAKC,UAAUC,SAEfvI,GAAOwI,oBAAuB,OAAShF,KAAK6E,IAAOA,EAAGI,MAAM,cAAgBC,OAAOC,GAAK,IACxFZ,iBAAiB,SAAU,WACvB,GAAIa,GAEAC,EAAWhE,SAAS1D,cAAc,UAElC2H,EAAa,SAAUC,GACvB,GAAIC,GAAQC,EACRC,EAAUH,EAAIzC,UAEqB,aAAnC4C,EAAQC,SAASC,eACjBJ,EAASH,EAAStF,YAElB2F,EAAQnG,aAAaiG,EAAQE,EAAQG,mBACrClD,WAAW,WACP+C,EAAQ5D,YAAY0D,QAEhBD,EAAIO,aAAeP,EAAIQ,YAAcR,EAAIO,eACjDP,EAAIO,YAAcP,EAAIQ,YACtBN,EAAQF,EAAIE,MACZF,EAAIE,OAAS,SACb9C,WAAW,WACP4C,EAAIE,MAAQA,MAKpBO,EAAkB,WAClB,GAAItI,GACAuI,EAAO5E,SAAS6E,iBAAiB,oCACrC,KAAKxI,EAAI,EAAGA,EAAIuI,EAAK1F,OAAQ7C,IACzB4H,EAAWW,EAAKvI,KAGpByI,EAAW,WACXC,aAAahB,GACbA,EAAQzC,WAAWqD,EAAiB,KAEpCK,EAAK7J,EAAO8J,YAAcA,WAAW,4BACrCC,EAAO,WACPJ,IAEIE,GAAMA,EAAGG,aACTH,EAAGG,YAAYL,GAYvB,OARAd,GAASoB,OAAS,6EAEd,YAAYzG,KAAKqB,SAASM,YAAc,IACxC4E,IAEAlF,SAASkD,iBAAiB,mBAAoBgC,GAG3CJ,OAGhB3J,QAQH,SAAWA,EAAQ6E,EAAUqF,GAEzB,YA+FA,SAASC,GAAQ/J,GACb,MAAc,MAANA,GACF,OAANA,GACM,OAANA,GACM,OAANA,GACM,OAANA,EAuIJ,QAASgK,GAAkB1F,EAAM2F,GAG7B,GAAIC,GAAQ,GAAItK,GAAOuK,KAUvB,OATAD,GAAMzE,QAAU,WACZ2E,EAAM9F,IAAQ,EACd+F,MAEJH,EAAMlF,OAAS,WACXoF,EAAM9F,GAAwB,IAAhB4F,EAAM3E,MACpB8E,MAEJH,EAAM5E,IAAM2E,EACL,UASX,QAASK,KAELC,GAAY,EACZC,EAAM5K,EAAO6K,iBACbC,KACAC,KAEAC,EAAGJ,IAAMA,GAAO,EAEhBK,EAAMtF,MAAQuF,KAAKC,IAAInL,EAAOoL,YAAc,EAAGC,EAAQC,aACvDL,EAAMrF,OAASsF,KAAKC,IAAInL,EAAOuL,aAAe,EAAGF,EAAQG,cAEzDP,EAAMQ,GAAKR,EAAMtF,MAAQ,IACzBsF,EAAMS,GAAKT,EAAMrF,OAAS,IAE1B+F,GAAUV,EAAMrF,OAAQqF,EAAMtF,MAAOiF,GAAK1G,KAAK,KAE/C+G,EAAMW,GAAKZ,EAAGa,aACdZ,EAAMa,IAAMb,EAAMW,GAGtB,QAASG,GAAaC,EAAYC,EAAaC,EAAUC,GACrD,GAAIC,GAAaC,EAASC,EAAOC,CAwBjC,OArBsB,aAAlBC,EAAIC,UACAT,EAAa,IACbO,EAAcL,EAAW,GAEzBG,EAAUJ,EAAcC,EACxBE,EAAclB,KAAKwB,IAAIV,EAAa,GAAK,KAEzCM,EAAQD,EAAUD,EAEdD,IACAG,GAAS,GAAMF,GAGnBG,EAAcP,EAAaM,GAG/BC,EAAeL,EAAW,EACtBhB,KAAKyB,KAAKX,EAAaC,GACvBD,EAGDO,EAAcL,EAGzB,QAASU,GAAmB7D,GACxB,GAAI8D,GACAC,EAAc9B,EAAG+B,OAAOhE,GACxBiE,GAAY,CACI,aAAhBF,IACAE,EAAYrB,EACRmB,IACAD,EAAmB7B,EAAGiC,OAAOH,GAC7B9B,EAAGkC,kBAAkBL,EAAkB9D,KAG/CA,EAAIiC,EAAGmC,IAAIC,OAASJ,EAGxB,QAASK,GAAcnN,EAAGC,GACtB,MAAOD,GAAEoN,IAAMnN,EAAEmN,IAGrB,QAASC,GAAYxE,EAAKrD,EAAK8H,GAC3B,GAAIC,EAiBJ,QAhBKD,GAAO9H,IACR8H,EAAMzE,EAAIiC,EAAGmC,IAAIO,KACjBF,EAAMA,GAAOA,EAAIA,EAAIzJ,OAAS,IAGlC0J,EAAYE,EAAmBjI,EAAK8H,GAEhCC,IACA/H,EAAMsF,EAAG4C,QAAQlI,GACjBqD,EAAIiC,EAAGmC,IAAIU,OAASnI,EACpBqD,EAAIiC,EAAGmC,IAAIW,OAASL,EAEfA,EAAUH,KACXS,GAAcN,EAAWA,EAAUD,IAAIvE,QAGxCwE,EAGX,QAASE,GAAmBjI,EAAK8H,GAC7B,GAAItM,GAAGuM,EAAWO,CAClB,IAAItI,GAAO8H,EAGP,IAFAQ,EAAahD,EAAGiD,SAAST,GACzB9H,EAAMsF,EAAG4C,QAAQlI,GACZxE,EAAI,EAAGA,EAAI8M,EAAWjK,OAAQ7C,IAC/B,GAAIwE,IAAQsF,EAAG4C,QAAQI,EAAW9M,GAAG2F,KAAM,CACvC4G,EAAYO,EAAW9M,EACvB,OAIZ,MAAOuM,GAGX,QAASS,GAAqBhF,EAAS8E,GACnC,GAAI9M,GAAGiN,EAAKnF,EAAQiB,EAKhBmE,EAAUlF,EAAQrG,qBAAqB,SAE3C,KAAK3B,EAAI,EAAGiN,EAAMC,EAAQrK,OAAQ7C,EAAIiN,EAAKjN,IACvC8H,EAASoF,EAAQlN,GACjB8H,EAAOgC,EAAGmC,KAAM,EAChBlD,EAASjB,EAAOqF,aAAa,UAGzBpE,GACA+D,EAAWvL,MACPwH,OAAQA,EACRqE,MAAOtF,EAAOqF,aAAa,SAC3B3J,KAAMsE,EAAOqF,aAAa,QAC1BpF,MAAOD,EAAOqF,aAAa,WAqB3C,QAASE,GAAYC,EAAOhB,GAExB,QAASiB,GAAkBC,GACvB,GAAIC,GACAlG,EAAQiG,EAAME,KAAKJ,EAAMK,UAAUC,GACvC,IAAIrG,EAGA,MAFAkG,GAAQlG,EAAM,GACdqG,GAAOH,EAAM5K,OACN4K,EAyBf,QAASI,KAGL,GAKIvO,GAAGI,EAAGK,EAAGC,EAET8N,EAAMC,EAAUC,EAAOC,EAAQC,EAP/BC,GAAS,EAMT5B,IAKJ,KAAKvM,EAAI,EAAGA,EAAIoO,EAAYvL,OAAQ7C,IAChC8N,EAAOM,EAAYpO,GAEnB+N,EAAWD,EAAKA,EAAKjL,OAAS,GAC9BmL,EAAQF,EAAKH,UAAU,EAAGG,EAAKjL,OAAS,GACxCoL,EAASI,SAASL,EAAO,IACzBE,EAAWI,WAAWN,GAIlBO,EAAwBjM,KAAK0L,IAAwB,MAAbD,IAGpCzO,GAAKI,KACLyO,GAAS,GAME,IAAXF,EACAE,GAAS,EAET7O,EAAI2O,GAKDO,EAAmBlM,KAAK0L,IAAwB,MAAbD,IAItCzO,GAAKI,GAAKK,KACVoO,GAAS,GAMTD,EAAW,EACXC,GAAS,EAETzO,EAAIwO,GAKDK,EAAwBjM,KAAK0L,IAAwB,MAAbD,IAG3ChO,GAAKL,KACLyO,GAAS,GAME,IAAXF,EACAE,GAAS,EAETpO,EAAIkO,GAKRE,GAAS,CAOZA,KACD5B,EAAU5G,IAAMA,EAEZrG,IACAiN,EAAUjN,EAAIA,GAEdI,IACA6M,EAAU7M,EAAIA,GAEdK,IACAwM,EAAUxM,EAAIA,GAEbA,GAAML,GAAMJ,IACbiN,EAAU7M,EAAI,GAEE,IAAhB6M,EAAU7M,IACV4M,EAAImC,OAAQ,GAEhBlC,EAAUD,IAAMA,EAEhBQ,EAAWvL,KAAKgL,IAUxB,QAASmC,KAWL,IARAnB,EAAkBoB,GAGlBC,EAAoB,GAGpBC,EAAQ,kBAEK,CAUT,GAPA3P,EAAIoO,EAAMwB,OAAOlB,GAOH,kBAAViB,EAOA,GAAI5F,EAAQ/J,GACJ0P,IACAR,EAAY7M,KAAKqN,GACjBA,EAAoB,GACpBC,EAAQ,wBAOT,CAAA,GAAU,MAAN3P,EAMP,MALA0O,IAAO,EACHgB,GACAR,EAAY7M,KAAKqN,OAErBf,IAKG,IAAU,MAAN3O,EACP0P,GAAwC1P,EACxC2P,EAAQ,gBAKL,CAAA,GAAU,KAAN3P,EAKP,MAJI0P,IACAR,EAAY7M,KAAKqN,OAErBf,IAMAe,IAAwC1P,OAKzC,IAAc,cAAV2P,EAIP,GAAU,MAAN3P,EACA0P,GAAwC1P,EACxC2P,EAAQ,oBAKL,CAAA,GAAU,KAAN3P,EAGP,MAFAkP,GAAY7M,KAAKqN,OACjBf,IAMAe,IAAwC1P,MAIzC,IAAc,qBAAV2P,EAIP,GAAI5F,EAAQ/J,QAGL,CAAA,GAAU,KAANA,EAEP,WADA2O,IAMAgB,GAAQ,gBACRjB,GAAO,EAMfA,GAAO,GASf,IArQA,GACIjI,GACAyI,EACAQ,EACAC,EACA3P,EALA6P,EAAczB,EAAMzK,OASpB+K,EAAM,EAGNd,OAyPS,CAIT,GAHAS,EAAkByB,GAGdpB,GAAOmB,EACP,MAAOjC,EAKXnH,GAAM4H,EAAkB0B,GAGxBb,KAKsB,MAAlBzI,EAAIpF,OAAM,IACVoF,EAAMA,EAAI1C,QAAQiM,EAAqB,IAEvCrB,KAIAa,KAkCZ,QAASS,GAAWC,GA8BhB,QAASC,GAAqBC,GAS1B,QAASC,KACDC,IACAC,EAAelO,KAAKiO,GACpBA,EAAY,IAIpB,QAASE,KACDD,EAAe,KACfE,EAAUpO,KAAKkO,GACfA,MAKR,IAvBA,GAAIG,GACAJ,EAAY,GACZC,KACAE,KACAE,EAAa,EACbjC,EAAM,EACNkC,GAAY,IAiBH,CAGT,GAFAF,EAASN,EAAIR,OAAOlB,GAEL,KAAXgC,EAGA,MAFAL,KACAG,IACOC,CACJ,IAAIG,EAAJ,CACH,GAAgB,MAAXF,GAAqC,MAAjBN,EAAI1B,EAAM,GAAa,CAC5CkC,GAAY,EACZlC,GAAO,EACP2B,GACA,UAEA3B,GAAO,MAPR,CAUA,GAAI3E,EAAQ2G,GAAS,CAIxB,GAAKN,EAAIR,OAAOlB,EAAM,IAAM3E,EAAQqG,EAAIR,OAAOlB,EAAM,MAAU4B,EAAW,CACtE5B,GAAO,CACP,UACG,GAAmB,IAAfiC,EAAkB,CACzBN,IACA3B,GAAO,CACP,UAGAgC,EAAS,QAEV,IAAe,MAAXA,EACPC,GAAc,MACX,IAAe,MAAXD,EACPC,GAAc,MACX,CAAA,GAAe,MAAXD,EAAgB,CACvBL,IACAG,IACA9B,GAAO,CACP,UACG,GAAgB,MAAXgC,GAA4C,MAAxBN,EAAIR,OAAOlB,EAAM,GAAa,CAC1DkC,GAAY,EACZlC,GAAO,CACP,WAGJ4B,GAAwBI,EACxBhC,GAAO,IAIf,QAASmC,GAAkCvP,GACvC,SAAIwP,EAAwB1N,KAAK9B,IAAO8N,WAAW9N,IAAM,OAGrDyP,EAAa3N,KAAK9B,KAMX,MAANA,GAAqB,OAANA,GAAsB,OAANA,IA1GxC,GAMIR,GACAkQ,EACAC,EACAC,EACAC,EACAC,EAXAN,EAA0B,0GAI1BC,EAAe,yCAsHnB,KAJAC,EAAoBb,EAAqBD,GACzCe,EAA0BD,EAAkBrN,OAGvC7C,EAAI,EAAGA,EAAImQ,EAAyBnQ,IAkBrC,GAjBAoQ,EAAeF,EAAkBlQ,GAejCqQ,EAAqBD,EAAaA,EAAavN,OAAS,GAEpDkN,EAAkCM,GAAtC,CAUA,GATIC,EAAOD,EACPD,EAAa1K,MAQW,IAAxB0K,EAAavN,OACb,MAAOyN,EAYX,IADAF,EAAeA,EAAapN,KAAK,KAC3B8G,EAAGyG,aAAaH,GAKtB,MAAOE,GAKX,MAAO,QAh5BX3M,EAAS1D,cAAc,UAEvB,IAAIuQ,GAAMC,EAAQC,EAAwBjG,EAEtCX,KACA6G,GAAqB,EACrBC,EAAO,aAEPxH,EAAQzF,EAAS1D,cAAc,OAC/B4Q,EAAazH,EAAM+D,aACnB2D,EAAa1H,EAAMpC,aACnB+J,EAAgB3H,EAAM4H,gBACtB7G,EAAUxG,EAAS7D,gBACnBwJ,KACAgC,GAEAC,UAAW,IAEX0F,EAAU,aACVC,EAAaD,EAAU,MAGvB9J,EAAKC,UAAUC,UACf8J,EAAe,SAAW7O,KAAK6E,IAAQ,OAAS7E,KAAK6E,IAAOA,EAAGI,MAAM,cAAgBC,OAAOC,GAAK,GACjG2J,EAAa,aACbC,EAAW,oBACXC,EAAU,sBACVC,EAAazS,EAAO0S,eAKpBC,EAAY,uJACZC,EAAQ,4BACRjI,GAAY,EAEZG,KACAC,KACAH,EAAM5K,EAAO6K,iBACbI,GACA4H,GAAI,EACJC,GAAM,IAENC,EAASlO,EAAS1D,cAAc,KAKhC6R,GAAa,EAKbnD,EAAqB,oBACrBK,EAA6B,qBAC7BC,EAAwB,qBACxBC,EAAsB,QACtBX,EAA0B,QAO1BC,EAAqB,oDAErBuD,EAAK,SAAUC,EAAKC,EAAKC,EAAIC,GACzBH,EAAInL,iBACJmL,EAAInL,iBAAiBoL,EAAKC,EAAIC,IAAW,GAClCH,EAAI1M,aACX0M,EAAI1M,YAAY,KAAO2M,EAAKC,IAQhCE,EAAU,SAAUF,GACpB,GAAI9P,KACJ,OAAO,UAAUkL,GAIb,MAHMA,KAASlL,KACXA,EAAMkL,GAAS4E,EAAG5E,IAEflL,EAAMkL,KAuBjB+E,EAAU,WAEV,GAAIC,GAAY,wBACZrP,EAAU,WAEV,IADA,GAAIsP,GAAOtR,UAAWuR,EAAQ,EAAGC,EAASF,EAAK,KACtCC,IAASD,IACdE,EAASA,EAAOxP,QAAQsP,EAAKC,GAAQD,IAAOC,GAEhD,OAAOC,IAGPC,EAAWN,EAAQ,SAAUO,GAE7B,MAAO,UAAY1P,GAAS0P,GAAO,IAAIrR,cAE/B,WAAY,KAGZ,KAAM,KAGN,oBAAqB,SAGrB,oBAAqB,SAGrB,eAAgB,OAGhB,2BAA4B,cAE5B,8CAA+C,IAC/C,KAGZ,OAAO,UAAUqR,EAAK9P,GAClB,GAAI+P,EACJ,MAAMD,IAAO/I,IAET,GADAA,EAAS+I,IAAO,EACZ9P,IAAW+P,EAAeD,EAAIpL,MAAM+K,IACpC1I,EAAS+I,GAAOC,EAAa,GAAK7I,EAAM6I,EAAa,QAGrD,KACIhJ,EAAS+I,GAAO,GAAI9R,UAAS,IAAK6R,EAASC,IAAM5I,GACnD,MAAOpK,IAKjB,MAAOiK,GAAS+I,OAIpB9F,GAAgB,SAAUN,EAAWsG,GAOrC,MANItG,GAAUjN,GACViN,EAAUuG,OAAShJ,EAAGiJ,eAAeF,GAAa,SAClDtG,EAAUH,IAAMG,EAAUjN,EAAIiN,EAAUuG,QAExCvG,EAAUH,IAAMG,EAAU7M,EAEvB6M,GAOPhD,GAAc,SAAUyJ,GAExB,GAAKrC,EAAL,CAIA,GAAI3O,GAAUhC,EAAGiT,EAEbC,EAAUF,KAad,IAXIE,EAAQlR,UAA0C,IAA9BkR,EAAQlR,SAASmR,WACW,QAA5CD,EAAQlR,SAASiG,SAASC,cAC1BgL,EAAQlR,UAAYkR,EAAQlR,WAE5BkR,EAAQE,QAAUF,EAAQlR,SAC1BkR,EAAQlR,SAAW,OAI3BA,EAAWkR,EAAQlR,UAAY8H,EAAGuJ,IAAKH,EAAQE,SAAWzP,EAAauP,EAAQI,YAAcJ,EAAQK,SAAazJ,EAAG0J,IAAM1J,EAAG2J,UAEzHR,EAAOjR,EAASa,OAAS,CAM1B,IAJAiH,EAAG4J,SAASR,GACZpB,GAAa,EAGR9R,EAAI,EAAGA,EAAIiT,EAAMjT,IAClB8J,EAAG6J,QAAQ3R,EAAShC,GAAIkT,EAG5BpJ,GAAG8J,YAAYV,KASvB1C,GAAS1R,EAAO+U,SAAWA,QAAQrD,KAC/B,SAAUsD,GACND,QAAQrD,KAAKsD,IAEjBlD,EAGEQ,IAAchI,KAChBgI,EAAa,OAIjB9H,EAAM,eAAgB,EACtBA,EAAM,cAAe,EACrBA,EAAM,cAAe,EAmBrBA,EAAM,iBAAmB3F,EAASoQ,eAAeC,WAAW,2CAA4C,OA2pBxGlK,EAAGmC,IAAM,MAAO,GAAIgI,OAAOC,WAAWC,OAAO,EAAG,GAGhDrK,EAAGsK,UAAY,UAAYhL,GAC3BU,EAAGuK,SAAW,SAAWjL,GACzBU,EAAGwK,aAAexV,EAAOwI,mBAIrBwC,EAAGsK,WAAatK,EAAGwK,aAAexK,EAAGuK,WACrC,SAAWE,GACPnL,EAAML,OAAS,UACfwL,EAAO/P,IAAM,UACbsF,EAAGsK,UAAYhL,EAAM7C,WAAagO,EAAOhO,SACzCuD,EAAGwK,WAAaxK,EAAGsK,WAAatK,EAAGwK,YACpC3Q,EAAS1D,cAAc,QAI1B6J,EAAGsK,YAActK,EAAGuK,UAEpB,WACI,GAAIG,GAAS,qFACTC,EAAS,6EACT5M,EAAMlE,EAAS1D,cAAc,OAC7BqC,EAAO,WACP,GAAImC,GAAQoD,EAAIpD,KAEF,KAAVA,IACAqF,EAAGuK,UAAW,GAGlB3D,EAAyB5G,EAAGsK,YAActK,EAAGuK,SAE7C1D,GAAqB,EAErB1L,WAAWsE,IAGf1B,GAAI3D,OAAS5B,EACbuF,EAAIlD,QAAUrC,EACduF,EAAIb,aAAa,QAAS,OAE1Ba,EAAIkB,OAAS0L,EAAS,OAASD,EAAS,MACxC3M,EAAIrD,IAAMiQ,KAId9D,GAAqB,EAKzB7G,EAAG2J,SAAW,0BACd3J,EAAG0J,IAAM1J,EAAG2J,SACZ3J,EAAGwB,IAAMA,EAKTxB,EAAGJ,IAAOA,GAAO,EACjBI,EAAG3K,EAAI4K,EAGPD,EAAGR,MAAQA,EAEXQ,EAAG4K,QAAU9D,EAQb9G,EAAG4C,QAAU0F,EAAQ,SAAU5N,GAE3B,MADAqN,GAAO5K,KAAOzC,EACPqN,EAAO5K,OAUlB6C,EAAGuJ,IAAM,SAAUD,EAASI,GACxB,MAAS,iBAAmBJ,GAAYA,EAAQ5K,iBAAiBgL,OAQrE1J,EAAGyG,aAAe,WASd,MARIzR,GAAO8J,aAAeA,WAAW,2BAA6B+L,QAC9D7K,EAAGyG,aAAe,SAAUnD,GACxB,OAAQA,GAAWxE,WAAWwE,GAAe,SAGjDtD,EAAGyG,aAAezG,EAAG8K,IAGlB9K,EAAGyG,aAAarP,MAAMH,KAAME,YASvC6I,EAAG8K,IAAM,SAAUxH,GACf,OAAOA,GAAQiF,EAAQjF,IAY3BtD,EAAG+K,WAAa,SAAUC,GAEtB,GAAI9G,GAAQqE,EAAQyC,GAAiB,KAAS,CAK9C,OAJI9G,GAAQ,IACRA,GAAQ,GAGLA,GAOXlE,EAAGiL,aAAe,SAAUvR,GACxB,OAAO,GAAW8F,EAAM9F,IAQ5BsG,EAAGkL,UAAY5C,EAAQ,SAAU6C,GAC7B,GAAI1N,IAAU0N,GAAiB,IAAK1N,MAAM+J,EAC1C,QACIlE,MAAO7F,GAASA,EAAM,GACtB1E,OAAQ0E,GAASA,EAAM,MAI/BuC,EAAGiD,SAAW,SAAUT,GAIpB,MAHKA,GAAI4I,QACL5I,EAAI4I,MAAQ7H,EAAYf,EAAIvD,OAAQuD,IAEjCA,EAAI4I,OAQfpL,EAAGa,WAAa,WACZ,GAAIwK,EACJ,KAAK1E,IAAW0E,EAAOxR,EAASwR,MAAO,CACnC,GAAIC,GAAMzR,EAAS1D,cAAc,OAC7BoV,EAAkBlL,EAAQjK,MAAMb,QAChCiW,EAAkBH,EAAKjV,MAAMb,OAEjC+V,GAAIlV,MAAMb,QAAUoS,EAIpBtH,EAAQjK,MAAMb,QAAUqS,EACxByD,EAAKjV,MAAMb,QAAUqS,EAErByD,EAAKxS,YAAYyS,GACjB3E,EAAS2E,EAAI/M,YACb8M,EAAK/Q,YAAYgR,GAGjB3E,EAASnC,WAAWmC,EAAQ,IAG5BtG,EAAQjK,MAAMb,QAAUgW,EACxBF,EAAKjV,MAAMb,QAAUiW,EAGzB,MAAO7E,IAAU,IAMrB3G,EAAGiJ,eAAiB,SAAUwC,GAI1B,KAAMA,IAAqB1L,KAAoByB,EAAIkK,GAAI,CACnD,GAAIC,GAAgB3L,EAAG+K,WAAW1F,EAAWoG,GAE7C1L,GAAgB0L,GAAsBE,EAA8BA,EAAd1L,EAAMtF,MAGhE,MAAOoF,GAAgB0L,IAa3BzL,EAAGiC,OAAS,SAAUO,GAClB,GAAIQ,EACJ,IAAIR,EAAK,CAELQ,EAAahD,EAAGiD,SAAST,EAEzB,KAAK,GAAItM,GAAI,EAAGiN,EAAMH,EAAWjK,OAAQ7C,EAAIiN,EAAKjN,IAC9C6M,GAAcC,EAAW9M,GAAIsM,EAAIvE,OAGzC,MAAO+E,IAGXhD,EAAGiC,OAAOK,IAAMS,GAEhB/C,EAAGkC,kBAAoB,SAAUc,EAAYjF,GACzC,GAAKiF,EAAWjK,OAAhB,CAGA,GAAI0J,GACAvM,EACAZ,EACAyD,EACA6S,EACA/I,EACAC,EACA+I,EACAC,EAEAC,EAAYhO,EAAIiC,EAAGmC,IACnB6J,EAAMhM,EAAGJ,GAwBb,IAtBAiD,EAASkJ,EAAUlJ,QAAU9E,EAAIuJ,GAEjCxE,EAASiJ,EAAUjJ,QAAUP,EAAYxE,EAAK8E,EAAQG,EAAW,GAAGR,KAGhEM,GAAUA,EAAON,MAAQQ,EAAW,GAAGR,MAIvCsJ,EAAezE,IAAiBtJ,EAAItB,UAAYqG,EAAOR,IAAM,GAAM0J,EAE9DF,IACDhJ,EAAOmJ,QAAS,EAIZnJ,EAAOR,KAAO0J,IACdJ,EAAgB9I,MAKvB8I,EAOD,IALA5I,EAAWkJ,KAAK7J,GAEhBtJ,EAASiK,EAAWjK,OACpB6S,EAAgB5I,EAAWjK,EAAS,GAE/B7C,EAAI,EAAGA,EAAI6C,EAAQ7C,IAEpB,GADAuM,EAAYO,EAAW9M,GACnBuM,EAAUH,KAAO0J,EAAK,CACtB1W,EAAIY,EAAI,EAQJ0V,EAJA5I,EAAW1N,KACVwW,GAAejJ,IAAW7C,EAAG4C,QAAQH,EAAU5G,OAChDkF,EAAaiC,EAAW1N,GAAGgN,IAAKG,EAAUH,IAAK0J,EAAKhJ,EAAW1N,GAAG2W,QAElDjJ,EAAW1N,GAGXmN,CAEpB,OAKRmJ,IAEAC,EAAe7L,EAAG4C,QAAQgJ,EAAc/P,KAExCkQ,EAAUlJ,OAASgJ,EACnBE,EAAUjJ,OAAS8I,EAEfC,IAAiBhJ,GACjB7C,EAAGmM,OAAOpO,EAAK6N,GAEnB5L,EAAG4K,QAAQ7M,MAInBiC,EAAGmM,OAAS,SAAUpO,EAAK6N,GACvB,GAAIQ,EACJrO,GAAIrD,IAAMkR,EAAc/P,IAGO,kBAA3B+P,EAAcpJ,IAAI9I,OAClB0S,EAAYrO,EAAI3H,MAAMuE,MACtBoD,EAAI3H,MAAMuE,MAASoD,EAAIQ,YAAc,EAAK,KAItCR,EAAIQ,YAAc,IAClBR,EAAI3H,MAAMuE,MAAQyR,KAK9BpM,EAAG+B,OAAS,SAAUhE,GAClB,GAAI7H,GAAGsM,EAAKyI,EACRxN,GAAQ,EACRiF,EAAO3E,EAAKiC,EAAGmC,IAAIO,IAEvB,KAAKxM,EAAI,EAAGA,EAAIwM,EAAK3J,SAAW0E,EAAOvH,IAGnC,GAFAsM,EAAME,EAAKxM,GAENsM,EAAIvD,QAAWe,EAAGyG,aAAajE,EAAIc,SAAY2H,EAAejL,EAAGiL,aAAazI,EAAI9I,OAAvF,CAIqB,YAAjBuR,IACAzI,EAAMyI,GAGVxN,EAAQ+E,CACR,OAGJ,MAAO/E,IAGXuC,EAAGqM,UAAY,SAAUC,EAASC,EAAQnD,GACtC,GAAIoD,GAAiBC,EAAUC,EAAcC,EAEzCC,EAAaL,GAA4C,YAAlCA,EAAOpO,SAASC,cACvC2N,EAAYO,EAAQtM,EAAGmC,KAEvB4J,EAAUrR,MAAQwE,GAAakK,EAAQ1O,OACvCqR,EAAUrR,IAAMqM,EAAWnQ,KAAK0V,EAAS,OACrCP,EAAUrR,IACVsM,EAAWpQ,KAAK0V,EAASnF,EAAS4E,EAAUrR,KAE5CuM,EAAcrQ,KAAK0V,EAASnF,KAIhC4E,EAAU9M,SAAWC,GAAakK,EAAQnK,SAAWe,EAAGsK,WAAagC,EAAQrN,UAC7EuN,EAAkBzF,EAAWnQ,KAAK0V,EAAS,UAC3CP,EAAU9M,OAASuN,EACnBG,GAAe,GAGnBZ,EAAUrJ,QAENkK,IACAb,EAAUc,KAAM,EAChB3J,EAAqBqJ,EAAQR,EAAUrJ,OAGvCqJ,EAAU9M,QACVwN,GACIxN,OAAQ8M,EAAU9M,OAClBhB,MAAO8I,EAAWnQ,KAAK0V,EAAS,UAGpCP,EAAUrJ,KAAKjL,KAAKgV,GAEpBC,GAAgB9F,GAA0BmF,EAAUrR,MAAQ6M,EAAS/O,KAAKuT,EAAU9M,QAAU,IAGzFyN,IAAgBX,EAAUrR,KAAQiI,EAAmBoJ,EAAUrR,IAAK+R,IAAcA,EAAS9H,QAC5F8H,EAASxN,QAAU,KAAO8M,EAAUrR,IACpC+R,EAASrB,MAAM3T,MACXoE,IAAKkQ,EAAUrR,IACf9E,EAAG,EACH4M,IAAKiK,MAINV,EAAUrR,KACjBqR,EAAUrJ,KAAKjL,MACXwH,OAAQ8M,EAAUrR,IAClBuD,MAAO,OAIf8N,EAAUjJ,OAAS,KACnBiJ,EAAUlJ,OAAS3D,EAInB6M,EAAUe,YAAeF,GAAgBH,IAAazM,EAAGsK,WAAgBoC,IAAiB1M,EAAGuK,UAEzFoC,GAAgB3M,EAAGsK,YAAcyB,EAAUe,YACvCN,GACAxF,EAAWpQ,KAAK0V,EAASlF,EAAYoF,GACrCF,EAAQrN,OAAS,IAEjBgI,EAAcrQ,KAAK0V,EAASlF,IAIhC2E,EAAUe,YAAcf,EAAU9M,UAAa8M,EAAUrR,KAAO4R,EAAQ5R,KAAQ4R,EAAQ5R,MAAQsF,EAAG4C,QAAQmJ,EAAUrR,QAC/F,OAAlBqR,EAAUrR,IACV4R,EAAQpF,gBAAgB,OAExBoF,EAAQ5R,IAAMqR,EAAUrR,KAIhCqR,EAAUgB,QAAS,GAGvB/M,EAAG6J,QAAU,SAAUyC,EAASlD,GAC5B,GAAI2C,GACAiB,EAAU5D,EAAQK,UAAYL,EAAQI,UAGrC8C,GAAQtM,EAAGmC,MACZmK,EAAQtM,EAAGmC,QAGf4J,EAAYO,EAAQtM,EAAGmC,KAKlB6K,GAAWjB,EAAU3J,SAAWzB,KAIhCoL,EAAUgB,SAAU3D,EAAQI,YAC7BxJ,EAAGqM,UAAUC,EAASA,EAAQhR,WAAY8N,GAGzC2C,EAAUe,UAGXf,EAAU3J,OAASzB,EAFnBiB,EAAmB0K,KAM3BtM,EAAG4J,SAAW,WACL5B,IAAcrI,GAAcC,IAAQ5K,EAAO6K,kBAC5CH,KAKJM,EAAGwK,YACH/K,GAAcqH,EACd9G,EAAG6J,QAAU/C,IAIb,WACI,GAAImG,GACAC,EAAWlY,EAAOwG,YAAc,QAAU,WAE1C2R,EAAM,WACN,GAAIhT,GAAaN,EAASM,YAAc,EAExCiT,GAAUjS,WAAWgS,EAAoB,YAAfhT,EAA2B,IAAM,KACvDN,EAASwR,OACTrL,EAAGqN,WACHJ,EAAaA,GAAcC,EAAS1U,KAAK2B,GACrC8S,GACArO,aAAawO,KAMrBA,EAAUjS,WAAWgS,EAAKtT,EAASwR,KAAO,EAAI,IAI9CiC,EAAW,SAAUC,EAAMC,GAC3B,GAAI7R,GAAS8R,EACTC,EAAQ,WACR,GAAIC,GAAO,GAAKxD,MAAUsD,CAEtBE,GAAOH,EACP7R,EAAUR,WAAWuS,EAAOF,EAAOG,IAEnChS,EAAU,KACV4R,KAIR,OAAO,YACHE,EAAY,GAAItD,MAEXxO,IACDA,EAAUR,WAAWuS,EAAOF,MAIpCI,EAAkBvN,EAAQG,aAC1B7B,EAAW,WACXgB,EAAYO,KAAKC,IAAInL,EAAOoL,YAAc,EAAGC,EAAQC,eAAiBL,EAAMtF,OAAS0F,EAAQG,eAAiBoN,EAC9GA,EAAkBvN,EAAQG,aACtBb,GACAK,EAAGqN,WAIXpF,GAAGjT,EAAQ,SAAUsY,EAAS3O,EAAU,KACxCsJ,EAAGpO,EAAU,mBAAoBsT,MAIzCnN,EAAGP,YAAcA,GAEjBO,EAAGqN,SAAW5N,GACdO,EAAG8J,YAAchD,EAGjBrH,GAAYoO,EAAI7N,EAEhBhL,EAAO0S,gBACH1H,GAAIA,EACJvI,KAAM,SAAUgR,GACZ,GAAIqF,GAAOrF,EAAK3O,OACQ,mBAAbkG,GAAG8N,GACV9N,EAAG8N,GAAM1W,MAAM4I,EAAIyI,IAEnBjH,EAAIsM,GAAQrF,EAAK,GACbT,GACAhI,EAAGqN,UAAU5D,UAAU,MAMvC,MAAOhC,GAAcA,EAAW1O,QAC5B/D,EAAO0S,eAAejQ,KAAKgQ,EAAW3N,QAI1C9E,GAAOyK,YAAcA,GAGC,gBAAXsO,SAAiD,gBAAnBA,QAAOC,QAE5CD,OAAOC,QAAUvO,GACQ,kBAAXwO,SAAyBA,OAAOC,KAE9CD,OAAO,cAAe,WAClB,MAAOxO,MAKVO,EAAGwK,aACJhL,EAAM,cAAgBJ,EAAkB,aAAc,6IAG3DpK,OAAQ6E,WCljDV,SAAS3E,EAAEC,GAAG,gBAAiB4Y,SAAQ,gBAAiBA,QAAOC,QAAQD,OAAOC,QAAQ9Y,EAAE2E,SAAS1E,EAAED,GAAE,GAAI,SAASA,GAAG,IAAIA,EAAE2E,SAAS,KAAM,IAAIsU,OAAM,2CAA4C,OAAOhZ,GAAED,IAAIC,EAAED,IAAI,mBAAoBF,QAAOA,OAAOiC,KAAK,SAAS/B,EAAEC,GAAqlH,QAASuB,GAAExB,GAAG,GAAIC,KAAID,GAAG,UAAWA,IAAGA,EAAE6D,OAAO3D,EAAEgD,GAAEsB,KAAKxE,EAAG,OAAM,aAAaE,IAAGgD,GAAEgW,SAASlZ,KAAM,UAAUE,GAAG,IAAID,GAAG,gBAAiBA,IAAGA,EAAE,GAAGA,EAAE,IAAKD,IAA4olB,QAASqC,GAAErC,EAAEC,EAAEC,GAAG,GAAGgD,GAAEiW,WAAWlZ,GAAG,MAAOiD,IAAEkW,KAAKpZ,EAAE,SAASA,EAAEU,GAAG,QAAQT,EAAEyB,KAAK1B,EAAEU,EAAEV,KAAKE,GAAI,IAAGD,EAAEkU,SAAS,MAAOjR,IAAEkW,KAAKpZ,EAAE,SAASA,GAAG,MAAOA,KAAIC,IAAIC,GAAI,IAAG,gBAAiBD,GAAE,CAAC,GAAGoF,GAAE/B,KAAKrD,GAAG,MAAOiD,IAAEmW,OAAOpZ,EAAED,EAAEE,EAAGD,GAAEiD,GAAEmW,OAAOpZ,EAAED,GAAG,MAAOkD,IAAEkW,KAAKpZ,EAAE,SAASA,GAAG,MAAOe,GAAEW,KAAKzB,EAAED,IAAG,IAAKE,IAAo2E,QAASoZ,GAAEtZ,EAAEC,GAAG,MAAOD,EAAEA,EAAEC,KAAK,IAAID,EAAEmU,WAAU,MAAOnU,GAAs4B,QAASuZ,GAAEvZ,GAAG,GAAIC,KAAK,OAAOiD,IAAEsW,KAAKxZ,EAAEuI,MAAMkR,QAAO,SAASzZ,EAAEE,GAAGD,EAAEC,IAAG,IAAKD,EAA4wF,QAASyZ,KAAIhZ,EAAEoH,oBAAoB,mBAAmB4R,GAAG1Z,EAAE8H,oBAAoB,OAAO4R,GAAGxW,GAAEyW,QAAoqB,QAASC,KAAI7X,KAAK8X,QAAQ3W,GAAE2W,QAAQD,EAAEE,MAA6sC,QAASC,GAAE/Z,EAAEC,EAAEC,GAAG,GAAIQ,EAAE,IAAG,SAASR,GAAG,IAAIF,EAAEmU,SAAS,GAAGzT,EAAE,QAAQT,EAAEgE,QAAQ+V,GAAE,OAAO1X,cAAcpC,EAAEF,EAAEmO,aAAazN,GAAG,gBAAiBR,GAAE,CAAC,IAAIA,EAAE,SAASA,GAAK,UAAUA,IAAK,SAASA,EAAE,MAAMA,EAAE,KAAKA,GAAGA,EAAE+Z,GAAE3W,KAAKpD,GAAGgD,GAAEgX,UAAUha,GAAGA,GAAE,MAAMS,IAAIwZ,GAAE7M,IAAItN,EAAEC,EAAEC,OACzv+BA,GAAE,MAAO,OAAOA,GAAm7E,QAASka,GAAEpa,EAAEC,EAAEC,EAAEQ,GAAG,GAAIC,GAAEC,EAAE,EAAEC,EAAE,GAAGE,EAAEL,EAAE,WAAW,MAAOA,GAAE2Z,OAAO,WAAW,MAAOnX,IAAEyQ,IAAI3T,EAAEC,EAAE,KAAKe,EAAED,IAAIX,EAAEF,GAAGA,EAAE,KAAKgD,GAAEoX,UAAUra,GAAG,GAAG,MAAMM,GAAG2C,GAAEoX,UAAUra,IAAI,OAAOG,IAAIY,IAAIuZ,GAAE7L,KAAKxL,GAAEyQ,IAAI3T,EAAEC,GAAI,IAAGM,GAAGA,EAAE,KAAKH,EAAE,CAACA,EAAEA,GAAGG,EAAE,GAAGL,EAAEA,MAAMK,GAAGS,GAAG,CAAE,GAAGJ,GAAEA,GAAG,KAAKL,GAAGK,EAAEsC,GAAEhC,MAAMlB,EAAEC,EAAEM,EAAEH,SAASQ,KAAKA,EAAEG,IAAIC,IAAI,IAAIJ,KAAKC,GAAG,MAAOX,KAAIK,GAAGA,IAAIS,GAAG,EAAEL,EAAET,EAAE,GAAGK,GAAGL,EAAE,GAAG,GAAGA,EAAE,IAAIA,EAAE,GAAGQ,IAAIA,EAAE8Z,KAAKpa,EAAEM,EAAE+Z,MAAMla,EAAEG,EAAEga,IAAI/Z,IAAIA,EAAqZ,QAASgY,GAAE3Y,EAAEC,GAAG,GAAIC,GAAE,mBAAoBF,GAAE2C,qBAAqB3C,EAAE2C,qBAAqB1C,GAAG,KAAK,mBAAoBD,GAAEwJ,iBAAiBxJ,EAAEwJ,iBAAiBvJ,GAAG,OAAQ,OAAO,UAASA,GAAGA,GAAGiD,GAAE+F,SAASjJ,EAAEC,GAAGiD,GAAEyX,OAAO3a,GAAGE,GAAGA,EAAE,QAAS0a,GAAG5a,EAAEC,GAAG,IAAI,GAAIC,GAAE,EAAEQ,EAAEV,EAAE6D,OAAOnD,EAAER,EAAEA,IAAI2a,GAAEvN,IAAItN,EAAEE,GAAG,cAAcD,GAAG4a,GAAEC,IAAI7a,EAAEC,GAAG,eAAkC,QAAS6a,GAAG/a,EAAEC,EAAEC,EAAEQ,EAAEC,GAAG,IAAI,GAAIC,GAAEC,EAAEE,EAAEC,EAAEZ,EAAEG,EAAEmC,EAAEzC,EAAE2D,yBAAyBzC,KAAKgC,EAAE,EAAE9B,EAAErB,EAAE6D,OAAOxC,EAAE8B,EAAEA,IAAI,GAAGvC,EAAEZ,EAAEmD,GAAGvC,GAAG,IAAIA,EAAE,GAAG,WAAWsC,GAAEsB,KAAK5D,GAAGsC,GAAEyX,MAAMxZ,EAAEP,EAAEuT,UAAUvT,GAAGA,OAAQ,IAAGoa,GAAG1X,KAAK1C,GAAG,CAAuJ,IAAtJC,EAAEA,GAAG6B,EAAEiB,YAAY1D,EAAEgB,cAAc,QAAQF,GAAGka,GAAEvM,KAAK9N,KAAK,GAAG,KAAK,GAAG0B,cAActB,EAAEka,GAAEna,IAAIma,GAAEC,SAASta,EAAE+B,UAAU5B,EAAE,GAAGkC,GAAEkY,cAAcxa,GAAGI,EAAE,GAAGT,EAAES,EAAE,GAAST,KAAIM,EAAEA,EAAEiC,SAAUI,IAAEyX,MAAMxZ,EAAEN,EAAEwD,YAAYxD,EAAE6B,EAAEK,WAAWlC,EAAEwa,YAAY,OAAQla,GAAEoB,KAAKtC,EAAEqb,eAAe1a,GAAyB,KAArB8B,EAAE2Y,YAAY,GAAGlY,EAAE,EAAQvC,EAAEO,EAAEgC,MAAK,GAAGzC,GAAGwC,GAAEqY,QAAQ3a,EAAEF,IAAG,EAAGC,GAAGA,EAAE4B,KAAK3B,OAAQ,IAAGR,EAAE8C,GAAEsY,SAAS5a,EAAE6a,cAAc7a,GAAGC,EAAE8X,EAAEjW,EAAEiB,YAAY/C,GAAG,UAAUR,GAAGwa,EAAG/Z,GAAGX,EAAO,IAAJK,EAAE,EAAQK,EAAEC,EAAEN,MAAKmb,GAAEpY,KAAK1C,EAAE4D,MAAM,KAAKtE,EAAEqC,KAAK3B,EAAG,OAAO8B,GAA2d,QAASiZ,KAAK,OAAM,EAAG,QAASC,KAAK,OAAM,EAAG,QAASC,KAAK,IAAI,MAAOnb,GAAEob,cAAc,MAAM9b,KAAK,QAAS+b,GAAG/b,EAAEC,EAAEC,EAAEQ,EAAEC,EAAEC,GAAG,GAAIC,GAAEE,CAAE,IAAG,gBAAiBd,GAAE,CAAC,gBAAiBC,KAAIQ,EAAEA,GAAGR,EAAEA,EAAE,OAAQ,KAAIa,IAAKd,GAAE8b,EAAG/b,EAAEe,EAAEb,EAAEQ,EAAET,EAAEc,GAAGH,EAAG,OAAOZ,GAAE,GAAG,MAAMU,GAAG,MAAMC,GAAGA,EAAET,EAAEQ,EAAER,EAAE,QAAQ,MAAMS,IAAI,gBAAiBT,IAAGS,EAAED,EAAEA,EAAE,SAASC,EAAED,EAAEA,EAAER,EAAEA,EAAE,SAASS,KAAI,EAAGA,EAAEib,MAAQ,KAAIjb,EAAE,MAAOoB,KAAK,OAAO,KAAInB,IAAIC,EAAEF,EAAEA,EAAE,SAASX,GAAG,MAAOkD,MAAI8Y,IAAIhc,GAAGa,EAAEqB,MAAMH,KAAKE,YAAYtB,EAAEsb,KAAKpb,EAAEob,OAAOpb,EAAEob,KAAK/Y,GAAE+Y,SAASjc,EAAEwZ,KAAK,WAAWtW,GAAEgZ,MAAMC,IAAIpa,KAAK9B,EAAEU,EAAED,EAAER,KAA6zM,QAASkc,GAAGpc,EAAEC,GAAG,MAAOiD,IAAE+F,SAASjJ,EAAE,UAAUkD,GAAE+F,SAAS,KAAKhJ,EAAEkU,SAASlU,EAAEA,EAAE8C,WAAW,MAAM/C,EAAE2C,qBAAqB,SAAS,IAAI3C,EAAEA,EAAE,QAASqc,GAAGrc,GAAG,MAAOA,GAAEwE,MAAM,OAAOxE,EAAEmO,aAAa,SAAS,IAAInO,EAAEwE,KAAKxE,EAAE,QAASsc,GAAGtc,GAAG,GAAIC,GAAEsc,GAAG7N,KAAK1O,EAAEwE,KAAM,OAAOvE,GAAED,EAAEwE,KAAKvE,EAAE,GAAGD,EAAEgS,gBAAgB,QAAQhS,EAAE,QAASwc,GAAGxc,EAAEC,GAAG,GAAIC,GAAEQ,EAAEC,EAAEC,EAAEC,EAAEE,EAAEC,EAAEZ,CAAE,IAAG,IAAIH,EAAEkU,SAAS,CAAC,GAAG0G,GAAE4B,QAAQzc,KAAKY,EAAEia,GAAE6B,OAAO1c,GAAGa,EAAEga,GAAEvN,IAAIrN,EAAEW,GAAGR,EAAEQ,EAAE+b,QAAQ,OAAQ9b,GAAE+b,OAAO/b,EAAE8b,SAAU,KAAIhc,IAAKP,GAAE,IAAIF,EAAE,EAAEQ,EAAEN,EAAEO,GAAGkD,OAAOnD,EAAER,EAAEA,IAAIgD,GAAEgZ,MAAMC,IAAIlc,EAAEU,EAAEP,EAAEO,GAAGT,IAAIia,GAAEsC,QAAQzc,KAAKe,EAAEoZ,GAAEuC,OAAO1c,GAAGgB,EAAEkC,GAAE2Z,UAAU9b,GAAGoZ,GAAE7M,IAAIrN,EAAEe,KAAK,QAAS8b,GAAG9c,EAAEC,GAAG,GAAIC,GAAED,EAAEgJ,SAAS3G,aAAc,WAAUpC,GAAG6c,GAAEzZ,KAAKtD,EAAEwE,MAAMvE,EAAE+c,QAAQhd,EAAEgd,SAAS,UAAU9c,GAAG,aAAaA,KAAKD,EAAEgd,aAAajd,EAAEid,cAAc,QAAS9U,GAAGnI,EAAEC,EAAEC,EAAEQ,GAAGT,EAAEW,EAAEsB,SAASjC,EAAG,IAAIU,GAAEE,EAAEE,EAAEC,EAAEZ,EAAEG,EAAEY,EAAE,EAAEgC,EAAEnD,EAAE6D,OAAOxC,EAAE8B,EAAE,EAAE7B,EAAErB,EAAE,GAAGO,EAAE0C,GAAEiW,WAAW7X,EAAG,IAAGd,GAAG2C,EAAE,GAAG,gBAAiB7B,KAAIoB,GAAEwa,YAAYC,GAAG7Z,KAAKhC,GAAG,MAAOtB,GAAEwZ,KAAK,SAAS7Y,GAAG,GAAIC,GAAEZ,EAAEod,GAAGzc,EAAGH,KAAIP,EAAE,GAAGqB,EAAEI,KAAKK,KAAKpB,EAAEC,EAAEyc,SAASlV,EAAGvH,EAAEX,EAAEC,EAAEQ,IAAK,IAAGyC,IAAIxC,EAAEoa,EAAG9a,EAAED,EAAE,GAAGyb,eAAc,EAAGzb,EAAEU,GAAGG,EAAEF,EAAEoC,WAAW,IAAIpC,EAAE0D,WAAWR,SAASlD,EAAEE,GAAGA,GAAGH,GAAG,CAAC,IAAIK,EAAEmC,GAAEoa,IAAI3E,EAAEhY,EAAE,UAAU0b,GAAIrb,EAAED,EAAE8C,OAAOV,EAAEhC,EAAEA,IAAIf,EAAEO,EAAEQ,IAAIE,IAAIjB,EAAE8C,GAAEqa,MAAMnd,GAAE,GAAG,GAAIY,GAAGkC,GAAEyX,MAAM5Z,EAAE4X,EAAEvY,EAAE,YAAYF,EAAEwB,KAAK1B,EAAEmB,GAAGf,EAAEe,EAAG,IAAGH,EAAE,IAAIT,EAAEQ,EAAEA,EAAE8C,OAAO,GAAG4X,cAAcvY,GAAEoa,IAAIvc,EAAEub,GAAInb,EAAE,EAAEH,EAAEG,EAAEA,IAAIf,EAAEW,EAAEI,GAAGua,GAAEpY,KAAKlD,EAAEoE,MAAM,MAAMqW,GAAE6B,OAAOtc,EAAE,eAAe8C,GAAEsY,SAASjb,EAAEH,KAAKA,EAAEoF,IAAItC,GAAEsa,UAAUta,GAAEsa,SAASpd,EAAEoF,KAAKtC,GAAEua,WAAWrd,EAAEib,YAAYpX,QAAQyZ,GAAG,MAAM,MAAO1d,GAAE,QAAS2d,GAAG3d,EAAEC,EAAEC,GAAG,IAAI,GAAIQ,GAAEC,EAAEV,EAAEiD,GAAEmW,OAAOpZ,EAAED,GAAGA,EAAEY,EAAE,EAAE,OAAOF,EAAEC,EAAEC,IAAIA,IAAIV,GAAG,IAAIQ,EAAEyT,UAAUjR,GAAE0a,UAAUjF,EAAEjY,IAAIA,EAAE0F,aAAalG,GAAGgD,GAAEsY,SAAS9a,EAAE+a,cAAc/a,IAAIka,EAAGjC,EAAEjY,EAAE,WAAWA,EAAE0F,WAAWhB,YAAY1E,GAAI,OAAOV,GAA2lF,QAAS6d,GAAG7d,EAAEC,GAAG,GAAIC,GAAEgD,GAAEjD,EAAEgB,cAAcjB,IAAI8d,SAAS7d,EAAEkW,MAAMzV,EAAEwC,GAAEyQ,IAAIzT,EAAE,GAAG,UAAW,OAAOA,GAAE6d,SAASrd,EAAE,QAASsd,GAAGhe,GAAG,GAAIC,GAAES,EAAER,EAAE+d,GAAGje,EAAG,OAAOE,KAAIA,EAAE2d,EAAG7d,EAAEC,GAAG,SAASC,GAAGA,IAAIge,IAAIA,IAAIhb,GAAE,mDAAmD4a,SAAS7d,EAAEa,iBAAiBb,EAAEie,GAAG,GAAGC,gBAAgBle,EAAEme,QAAQne,EAAEoe,QAAQne,EAAE2d,EAAG7d,EAAEC,GAAGie,GAAGH,UAAUE,GAAGje,GAAGE,GAAGA,EAA0lD,QAASoe,GAAGte,EAAEC,EAAEC,GAAG,GAAIQ,GAAEC,EAAEC,EAAEC,EAAEE,EAAEf,EAAEkB,KAAM,OAAOhB,GAAEA,GAAGqe,GAAGve,GAAGE,IAAIW,EAAEX,EAAEse,iBAAiBve,IAAIC,EAAED,GAAG,KAAKY,GAAGqC,GAAEsY,SAASxb,EAAEyb,cAAczb,KAAKa,EAAEqC,GAAEhC,MAAMlB,EAAEC,KAAKyC,GAAE+b,oBAAoBC,GAAGpb,KAAKzC,IAAI8d,GAAGrb,KAAKrD,KAAKS,EAAEK,EAAE0E,MAAM9E,EAAEI,EAAE6d,SAAShe,EAAEG,EAAE8d,SAAS9d,EAAE6d,SAAS7d,EAAE8d,SAAS9d,EAAE0E,MAAM5E,EAAEA,EAAEX,EAAEuF,MAAM1E,EAAE0E,MAAM/E,EAAEK,EAAE6d,SAASje,EAAEI,EAAE8d,SAASje,IAAI,SAASC,EAAEA,EAAE,GAAGA,EAAE,QAASie,GAAG9e,EAAEC,GAAG,OAAO6a,IAAI,WAAW,MAAO9a,gBAAgB+B,MAAK+Y,KAAK/Y,KAAK+Y,IAAI7a,GAAGiC,MAAMH,KAAKE,aAAkN,QAAS8c,GAAG/e,GAAG,GAAGA,IAAKgf,IAAG,MAAOhf,EAAkD,KAAhD,GAAIC,GAAED,EAAE,GAAGkJ,cAAclJ,EAAEuB,MAAM,GAAGrB,EAAE+e,GAAGpb,OAAa3D,KAAI,GAAGF,EAAEif,GAAG/e,GAAGD,EAAED,IAAKgf,IAAG,MAAOhf,GAAE,QAASkf,GAAGlf,EAAEC,EAAEC,GAAG,GAAIQ,GAAE6Z,GAAE7L,KAAKzO,EAAG,OAAOS,GAAEsK,KAAKC,IAAI,EAAEvK,EAAE,IAAIR,GAAG,KAAKQ,EAAE,IAAI,MAAMT,EAAE,QAASkf,GAAGnf,EAAEC,EAAEC,EAAEQ,EAAEC,GAAG,IAAI,GAAIC,GAAEV,KAAKQ,EAAE,SAAS,WAAW,EAAE,UAAUT,EAAE,EAAE,EAAEY,EAAE,EAAE,EAAED,EAAEA,GAAG,EAAE,WAAWV,IAAIW,GAAGqC,GAAEyQ,IAAI3T,EAAEE,EAAEkf,GAAExe,IAAG,EAAGD,IAAID,GAAG,YAAYR,IAAIW,GAAGqC,GAAEyQ,IAAI3T,EAAE,UAAUof,GAAExe,IAAG,EAAGD,IAAI,WAAWT,IAAIW,GAAGqC,GAAEyQ,IAAI3T,EAAE,SAASof,GAAExe,GAAG,SAAQ,EAAGD,MAAME,GAAGqC,GAAEyQ,IAAI3T,EAAE,UAAUof,GAAExe,IAAG,EAAGD,GAAG,YAAYT,IAAIW,GAAGqC,GAAEyQ,IAAI3T,EAAE,SAASof,GAAExe,GAAG,SAAQ,EAAGD,IAAK,OAAOE,GAAE,QAASwe,GAAGpf,EAAEC,EAAES,GAAG,GAAIC,IAAE,EAAGC,EAAE,UAAUX,EAAED,EAAEoJ,YAAYpJ,EAAEqf,aAAave,EAAEwd,GAAGte,GAAGe,EAAE,eAAekC,GAAEyQ,IAAI1T,EAAE,aAAY,EAAGc,EAAG,IAAGL,EAAE6e,qBAAqBvf,EAAEwf,MAAMxf,GAAGC,EAAEwf,iBAAiB5b,SAAShD,EAAEmK,KAAK0U,MAAM,IAAIzf,EAAE0f,wBAAwBzf,KAAK,GAAGW,GAAG,MAAMA,EAAE,CAAC,GAAGA,EAAEyd,EAAGre,EAAEC,EAAEa,IAAI,EAAEF,GAAG,MAAMA,KAAKA,EAAEZ,EAAEiB,MAAMhB,IAAIwe,GAAGpb,KAAKzC,GAAG,MAAOA,EAAED,GAAEI,IAAI0B,GAAEkd,qBAAqB/e,IAAIZ,EAAEiB,MAAMhB,IAAIW,EAAEyO,WAAWzO,IAAI,EAAE,MAAOA,GAAEse,EAAGlf,EAAEC,EAAES,IAAIK,EAAE,SAAS,WAAWJ,EAAEG,GAAG,KAAK,QAAS8e,GAAG7f,EAAEC,GAAG,IAAI,GAAIC,GAAEQ,EAAEC,EAAEC,KAAKC,EAAE,EAAEE,EAAEf,EAAE6D,OAAO9C,EAAEF,EAAEA,IAAIH,EAAEV,EAAEa,GAAGH,EAAEQ,QAAQN,EAAEC,GAAGga,GAAEC,IAAIpa,EAAE,cAAcR,EAAEQ,EAAEQ,MAAM4e,QAAQ7f,GAAGW,EAAEC,IAAI,SAASX,IAAIQ,EAAEQ,MAAM4e,QAAQ,IAAI,KAAKpf,EAAEQ,MAAM4e,SAASC,GAAErf,KAAKE,EAAEC,GAAGga,GAAE6B,OAAOhc,EAAE,aAAasd,EAAGtd,EAAEuI,cAActI,EAAEof,GAAErf,GAAG,SAASR,GAAGS,GAAGka,GAAEvN,IAAI5M,EAAE,aAAaC,EAAET,EAAEgD,GAAEyQ,IAAIjT,EAAE,aAAc,KAAIG,EAAE,EAAEE,EAAEF,EAAEA,IAAIH,EAAEV,EAAEa,GAAGH,EAAEQ,QAAQjB,GAAG,SAASS,EAAEQ,MAAM4e,SAAS,KAAKpf,EAAEQ,MAAM4e,UAAUpf,EAAEQ,MAAM4e,QAAQ7f,EAAEW,EAAEC,IAAI,GAAG,QAAS,OAAOb,GAA88E,QAASggB,GAAGhgB,EAAEC,EAAEC,EAAEQ,EAAEC,GAAG,MAAO,IAAIqf,GAAGpe,UAAUiI,KAAK7J,EAAEC,EAAEC,EAAEQ,EAAEC,GAA64C,QAASsf,KAAK,MAAOjgB,GAAEiG,WAAW,WAAWia,GAAG,SAASA,GAAGhd,GAAEid,MAAM,QAASC,GAAGpgB,EAAEC,GAAG,GAAIC,GAAEQ,EAAE,EAAEC,GAAG+E,OAAO1F,EAAG,KAAIC,EAAEA,EAAE,EAAE,EAAE,EAAES,EAAEA,GAAG,EAAET,EAAEC,EAAEkf,GAAE1e,GAAGC,EAAE,SAAST,GAAGS,EAAE,UAAUT,GAAGF,CAAE,OAAOC,KAAIU,EAAE0f,QAAQ1f,EAAE8E,MAAMzF,GAAGW,EAAE,QAAS2f,GAAGtgB,EAAEC,EAAEC,GAAG,IAAI,GAAIQ,GAAEC,GAAG4f,EAAGC,SAASvgB,QAAQkC,OAAOoe,EAAGC,SAAS,MAAM5f,EAAE,EAAEC,EAAEF,EAAEkD,OAAOhD,EAAED,EAAEA,IAAI,GAAGF,EAAEC,EAAEC,GAAGc,KAAKxB,EAAED,EAAED,GAAG,MAAOU,GAAE,QAAS+f,GAAGzgB,EAAEC,EAAEC,GAAG,GAAIQ,GAAEC,EAAEC,EAAEC,EAAEE,EAAEC,EAAEZ,EAAEG,EAAEmC,EAAEX,KAAKZ,KAAKgC,EAAEnD,EAAEkB,MAAMG,EAAErB,EAAEmU,UAAU4L,GAAE/f,GAAGsB,EAAEuZ,GAAEC,IAAI9a,EAAE,SAAUE,GAAEwgB,QAAQ3f,EAAEmC,GAAEyd,YAAY3gB,EAAE,MAAM,MAAMe,EAAE6f,WAAW7f,EAAE6f,SAAS,EAAE5f,EAAED,EAAE8f,MAAMC,KAAK/f,EAAE8f,MAAMC,KAAK,WAAW/f,EAAE6f,UAAU5f,MAAMD,EAAE6f,WAAWle,EAAEqe,OAAO,WAAWre,EAAEqe,OAAO,WAAWhgB,EAAE6f,WAAW1d,GAAEwd,MAAM1gB,EAAE,MAAM6D,QAAQ9C,EAAE8f,MAAMC,YAAY,IAAI9gB,EAAEmU,WAAW,UAAWlU,IAAG,SAAUA,MAAKC,EAAE8gB,UAAU7d,EAAE6d,SAAS7d,EAAE8d,UAAU9d,EAAE+d,WAAW9gB,EAAE8C,GAAEyQ,IAAI3T,EAAE,WAAWO,EAAE,SAASH,EAAEya,GAAEC,IAAI9a,EAAE,eAAege,EAAGhe,EAAEiJ,UAAU7I,EAAE,WAAWG,GAAG,SAAS2C,GAAEyQ,IAAI3T,EAAE,WAAWmD,EAAE2c,QAAQ,iBAAiB5f,EAAE8gB,WAAW7d,EAAE6d,SAAS,SAASte,EAAEqe,OAAO,WAAW5d,EAAE6d,SAAS9gB,EAAE8gB,SAAS,GAAG7d,EAAE8d,UAAU/gB,EAAE8gB,SAAS,GAAG7d,EAAE+d,UAAUhhB,EAAE8gB,SAAS,KAAM,KAAItgB,IAAKT,GAAE,GAAGU,EAAEV,EAAES,GAAGygB,GAAGzS,KAAK/N,GAAG,CAAC,SAAUV,GAAES,GAAGE,EAAEA,GAAG,WAAWD,EAAEA,KAAKU,EAAE,OAAO,QAAQ,CAAC,GAAG,SAASV,IAAIW,GAAG,SAASA,EAAEZ,GAAG,QAASW,IAAE,EAAGF,EAAET,GAAGY,GAAGA,EAAEZ,IAAIwC,GAAEhC,MAAMlB,EAAEU,OAAQN,GAAE,MAAO,IAAG8C,GAAEke,cAAcjgB,GAAG,YAAY,SAASf,EAAE4d,EAAGhe,EAAEiJ,UAAU7I,KAAK+C,EAAE2c,QAAQ1f,OAAO,CAACkB,EAAE,UAAWA,KAAID,EAAEC,EAAE+f,QAAQ/f,EAAEuZ,GAAE6B,OAAO1c,EAAE,aAAaY,IAAIU,EAAE+f,QAAQhgB,GAAGA,EAAE6B,GAAElD,GAAGshB,OAAO5e,EAAE6e,KAAK,WAAWre,GAAElD,GAAGwhB,SAAS9e,EAAE6e,KAAK,WAAW,GAAIthB,EAAE4a,IAAE4G,OAAOzhB,EAAE,SAAU,KAAIC,IAAKkB,GAAE+B,GAAEhC,MAAMlB,EAAEC,EAAEkB,EAAElB,KAAM,KAAIS,IAAKS,GAAEN,EAAEyf,EAAGjf,EAAEC,EAAEZ,GAAG,EAAEA,EAAEgC,GAAGhC,IAAKY,KAAIA,EAAEZ,GAAGG,EAAE4Z,MAAMpZ,IAAIR,EAAE6Z,IAAI7Z,EAAE4Z,MAAM5Z,EAAE4Z,MAAM,UAAU/Z,GAAG,WAAWA,EAAE,EAAE,KAAK,QAASghB,GAAG1hB,EAAEC,GAAG,GAAIC,GAAEQ,EAAEC,EAAEC,EAAEC,CAAE,KAAIX,IAAKF,GAAE,GAAGU,EAAEwC,GAAEye,UAAUzhB,GAAGS,EAAEV,EAAES,GAAGE,EAAEZ,EAAEE,GAAGgD,GAAEsD,QAAQ5F,KAAKD,EAAEC,EAAE,GAAGA,EAAEZ,EAAEE,GAAGU,EAAE,IAAIV,IAAIQ,IAAIV,EAAEU,GAAGE,QAASZ,GAAEE,IAAIW,EAAEqC,GAAE0e,SAASlhB,GAAGG,GAAG,UAAWA,GAAE,CAACD,EAAEC,EAAEghB,OAAOjhB,SAAUZ,GAAEU,EAAG,KAAIR,IAAKU,GAAEV,IAAKF,KAAIA,EAAEE,GAAGU,EAAEV,GAAGD,EAAEC,GAAGS,OAAQV,GAAES,GAAGC,EAAE,QAAS4f,GAAGvgB,EAAEC,EAAEC,GAAG,GAAIQ,GAAEC,EAAEC,EAAE,EAAEC,EAAE0f,EAAGuB,WAAWje,OAAO9C,EAAEmC,GAAE6e,WAAWhB,OAAO,iBAAkB/f,GAAEghB,OAAOhhB,EAAE,WAAW,GAAGL,EAAE,OAAM,CAAG,KAAI,GAAIV,GAAEigB,IAAID,IAAK/f,EAAE8K,KAAKC,IAAI,EAAE7K,EAAE6hB,UAAU7hB,EAAE8hB,SAASjiB,GAAGS,EAAER,EAAEE,EAAE8hB,UAAU,EAAEthB,EAAE,EAAEF,EAAEG,EAAE,EAAEG,EAAEZ,EAAE+hB,OAAOte,OAAO7C,EAAEH,EAAEA,IAAIT,EAAE+hB,OAAOthB,GAAGoX,IAAIrX,EAAG,OAAOG,GAAEqhB,WAAWpiB,GAAGI,EAAEQ,EAAEV,IAAI,EAAEU,GAAGI,EAAEd,GAAGa,EAAEshB,YAAYriB,GAAGI,KAAI,IAAKA,EAAEW,EAAEuhB,SAASN,KAAKhiB,EAAEuiB,MAAMrf,GAAE2Z,UAAU5c,GAAGuiB,KAAKtf,GAAE2Z,QAAO,GAAI4F,iBAAiBC,OAAOxf,GAAEwf,OAAOvH,UAAUjb,GAAGyiB,mBAAmB1iB,EAAE2iB,gBAAgB1iB,EAAE+hB,UAAU/B,IAAID,IAAKiC,SAAShiB,EAAEgiB,SAASC,UAAUU,YAAY,SAAS5iB,EAAEC,GAAG,GAAIQ,GAAEwC,GAAE4f,MAAM9iB,EAAEI,EAAEoiB,KAAKviB,EAAEC,EAAEE,EAAEoiB,KAAKC,cAAcxiB,IAAIG,EAAEoiB,KAAKE,OAAQ,OAAOtiB,GAAE+hB,OAAO5f,KAAK7B,GAAGA,GAAGqiB,KAAK,SAAS9iB,GAAG,GAAIC,GAAE,EAAEQ,EAAET,EAAEG,EAAE+hB,OAAOte,OAAO,CAAE,IAAGlD,EAAE,MAAOoB,KAAK,KAAIpB,GAAE,EAAGD,EAAER,EAAEA,IAAIE,EAAE+hB,OAAOjiB,GAAG+X,IAAI,EAAG,OAAOhY,IAAGc,EAAEqhB,WAAWpiB,GAAGI,EAAE,EAAE,IAAIW,EAAEshB,YAAYriB,GAAGI,EAAEH,KAAKc,EAAEiiB,WAAWhjB,GAAGI,EAAEH,IAAI8B,QAAQxB,EAAEH,EAAEmiB,KAAM,KAAIb,EAAGnhB,EAAEH,EAAEoiB,KAAKC,eAAe5hB,EAAED,EAAEA,IAAI,GAAGF,EAAE6f,EAAGuB,WAAWlhB,GAAGc,KAAKtB,EAAEJ,EAAEO,EAAEH,EAAEoiB,MAAM,MAAOtf,IAAEiW,WAAWzY,EAAEqiB,QAAQ7f,GAAEyd,YAAYvgB,EAAE4hB,KAAK5hB,EAAEoiB,KAAK9B,OAAOqC,KAAK7f,GAAE+f,MAAMviB,EAAEqiB,KAAKriB,IAAIA,CAAE,OAAOwC,IAAEoa,IAAI/c,EAAE+f,EAAGlgB,GAAG8C,GAAEiW,WAAW/Y,EAAEoiB,KAAK/H,QAAQra,EAAEoiB,KAAK/H,MAAM/Y,KAAK1B,EAAEI,GAAG8C,GAAEggB,GAAGxa,MAAMxF,GAAE2Z,OAAO7b,GAAGghB,KAAKhiB,EAAEmjB,KAAK/iB,EAAEsgB,MAAMtgB,EAAEoiB,KAAK9B,SAAStgB,EAAEgjB,SAAShjB,EAAEoiB,KAAKY,UAAU7B,KAAKnhB,EAAEoiB,KAAKjB,KAAKnhB,EAAEoiB,KAAKjb,UAAU8b,KAAKjjB,EAAEoiB,KAAKa,MAAMtC,OAAO3gB,EAAEoiB,KAAKzB,QAC79zB,QAASuC,GAAGtjB,GAAG,MAAOA,GAAEmO,cAAcnO,EAAEmO,aAAa,UAAU,GAA21L,QAASoV,GAAGvjB,GAAG,MAAO,UAASC,EAAEC,GAAG,gBAAiBD,KAAIC,EAAED,EAAEA,EAAE,IAAK,IAAIS,GAAEC,EAAE,EAAEC,EAAEX,EAAEqC,cAAciG,MAAMkR,OAAO,IAAGvW,GAAEiW,WAAWjZ,GAAG,KAAMQ,EAAEE,EAAED,MAAK,MAAMD,EAAE,IAAIA,EAAEA,EAAEa,MAAM,IAAI,KAAKvB,EAAEU,GAAGV,EAAEU,QAAQ8iB,QAAQtjB,KAAKF,EAAEU,GAAGV,EAAEU,QAAQ6B,KAAKrC,IAAI,QAASujB,GAAGzjB,EAAEC,EAAEC,EAAEQ,GAAqB,QAASG,GAAEE,GAAG,GAAIC,EAAE,OAAOL,GAAEI,IAAG,EAAGmC,GAAEsW,KAAKxZ,EAAEe,OAAO,SAASf,EAAEe,GAAG,GAAIX,GAAEW,EAAEd,EAAEC,EAAEQ,EAAG,OAAM,gBAAiBN,IAAGQ,GAAGD,EAAEP,GAAGQ,IAAII,EAAEZ,GAAG,QAAQH,EAAEyjB,UAAUF,QAAQpjB,GAAGS,EAAET,IAAG,KAAMY,EAAvL,GAAIL,MAAKC,EAAEZ,IAAI2jB,EAA0K,OAAO9iB,GAAEZ,EAAEyjB,UAAU,MAAM/iB,EAAE,MAAME,EAAE,KAAK,QAAS+iB,GAAG5jB,EAAEC,GAAG,GAAIC,GAAEQ,EAAEC,EAAEuC,GAAE2gB,aAAaC,eAAgB,KAAI5jB,IAAKD,GAAE,SAASA,EAAEC,MAAMS,EAAET,GAAGF,EAAEU,IAAIA,OAAOR,GAAGD,EAAEC,GAAI,OAAOQ,IAAGwC,GAAE2Z,QAAO,EAAG7c,EAAEU,GAAGV,EAAE,QAAS+jB,GAAG/jB,EAAEC,EAAEC,GAA0C,IAAvC,GAAIQ,GAAEC,EAAEC,EAAEC,EAAEE,EAAEf,EAAEgkB,SAAShjB,EAAEhB,EAAE0jB,UAAgB,MAAM1iB,EAAE,IAAGA,EAAE4D,QAAQ,SAASlE,IAAIA,EAAEV,EAAEikB,UAAUhkB,EAAEikB,kBAAkB,gBAAiB,IAAGxjB,EAAE,IAAIC,IAAKI,GAAE,GAAGA,EAAEJ,IAAII,EAAEJ,GAAG2C,KAAK5C,GAAG,CAACM,EAAEwiB,QAAQ7iB,EAAG,OAAM,GAAGK,EAAE,IAAKd,GAAEU,EAAEI,EAAE,OAAO,CAAC,IAAIL,IAAKT,GAAE,CAAC,IAAIc,EAAE,IAAIhB,EAAEmkB,WAAWxjB,EAAE,IAAIK,EAAE,IAAI,CAACJ,EAAED,CAAE,OAAME,IAAIA,EAAEF,GAAGC,EAAEA,GAAGC,EAAE,MAAOD,IAAGA,IAAII,EAAE,IAAIA,EAAEwiB,QAAQ5iB,GAAGV,EAAEU,IAAI,OAAO,QAASwjB,GAAGpkB,EAAEC,EAAEC,EAAEQ,GAAG,GAAIC,GAAEC,EAAEC,EAAEE,EAAEC,EAAEZ,KAAKG,EAAEP,EAAE0jB,UAAUniB,OAAQ,IAAGhB,EAAE,GAAG,IAAIM,IAAKb,GAAEmkB,WAAW/jB,EAAES,EAAEyB,eAAetC,EAAEmkB,WAAWtjB,EAAe,KAAZD,EAAEL,EAAEqE,QAAchE,GAAE,GAAGZ,EAAEqkB,eAAezjB,KAAKV,EAAEF,EAAEqkB,eAAezjB,IAAIX,IAAIe,GAAGN,GAAGV,EAAEskB,aAAarkB,EAAED,EAAEskB,WAAWrkB,EAAED,EAAEukB,WAAWvjB,EAAEJ,EAAEA,EAAEL,EAAEqE,QAAQ,GAAG,MAAMhE,EAAEA,EAAEI,MAAO,IAAG,MAAMA,GAAGA,IAAIJ,EAAE,CAAC,GAAGC,EAAET,EAAEY,EAAE,IAAIJ,IAAIR,EAAE,KAAKQ,IAAIC,EAAE,IAAIF,IAAKP,GAAE,GAAGW,EAAEJ,EAAEsC,MAAM,KAAKlC,EAAE,KAAKH,IAAIC,EAAET,EAAEY,EAAE,IAAID,EAAE,KAAKX,EAAE,KAAKW,EAAE,KAAK,CAACF,KAAI,EAAGA,EAAET,EAAEO,GAAGP,EAAEO,MAAK,IAAKC,EAAEG,EAAE,GAAGR,EAAEijB,QAAQziB,EAAE,IAAK,OAAM,GAAGF,KAAI,EAAG,GAAGA,GAAGb,EAAU,OAAEC,EAAEY,EAAEZ,OAAQ,KAAIA,EAAEY,EAAEZ,GAAG,MAAMyC,GAAG,OAAOmN,MAAM,cAAc2U,MAAM3jB,EAAE6B,EAAE,sBAAsB1B,EAAE,OAAOJ,IAAI,OAAOiP,MAAM,UAAUtK,KAAKtF,GAAuuK,QAASwkB,GAAGzkB,EAAEC,EAAEC,EAAEQ,GAAG,GAAIC,EAAE,IAAGuC,GAAEsD,QAAQvG,GAAGiD,GAAEsW,KAAKvZ,EAAE,SAASA,EAAEU,GAAGT,GAAGwkB,GAAGphB,KAAKtD,GAAGU,EAAEV,EAAEW,GAAG8jB,EAAGzkB,EAAE,KAAK,gBAAiBW,IAAG,MAAMA,EAAEV,EAAE,IAAI,IAAIU,EAAET,EAAEQ,SAAU,IAAGR,GAAG,WAAWgD,GAAEsB,KAAKvE,GAAGS,EAAEV,EAAEC,OAAQ,KAAIU,IAAKV,GAAEwkB,EAAGzkB,EAAE,IAAIW,EAAE,IAAIV,EAAEU,GAAGT,EAAEQ,GAAoqJ,QAASikB,GAAG3kB,GAAG,MAAOkD,IAAEgW,SAASlZ,GAAGA,EAAE,IAAIA,EAAEmU,UAAUnU,EAAE4kB,YAF53jB,GAAI1kB,MAAKQ,EAAEV,EAAE2E,SAAShE,EAAET,EAAEqB,MAAMX,EAAEV,EAAEiC,OAAOtB,EAAEX,EAAEqC,KAAKxB,EAAEb,EAAE2kB,QAAQ7jB,MAAKZ,GAAEY,GAAEI,SAASb,GAAES,GAAES,eAAeiB,MAAKvB,GAAE,QAAQ+B,GAAE,SAASlD,EAAEC,GAAG,MAAO,IAAIiD,IAAEgQ,GAAGrJ,KAAK7J,EAAEC,IAAIkD,GAAE,qCAAqC9B,GAAE,QAAQC,GAAE,eAAed,GAAE,SAASR,EAAEC,GAAG,MAAOA,GAAEiJ,cAAehG,IAAEgQ,GAAGhQ,GAAEtB,WAAWkjB,OAAO3jB,GAAEQ,YAAYuB,GAAE6hB,SAAS,GAAGlhB,OAAO,EAAEmhB,QAAQ,WAAW,MAAOrkB,GAAEe,KAAKK,OAAO+Y,IAAI,SAAS9a,GAAG,MAAO,OAAMA,EAAE,EAAEA,EAAE+B,KAAK/B,EAAE+B,KAAK8B,QAAQ9B,KAAK/B,GAAGW,EAAEe,KAAKK,OAAOkjB,UAAU,SAASjlB,GAAG,GAAIC,GAAEiD,GAAEyX,MAAM5Y,KAAKJ,cAAc3B,EAAG,OAAOC,GAAEilB,WAAWnjB,KAAK9B,EAAEmU,QAAQrS,KAAKqS,QAAQnU,GAAGuZ,KAAK,SAASxZ,GAAG,MAAOkD,IAAEsW,KAAKzX,KAAK/B,IAAIsd,IAAI,SAAStd,GAAG,MAAO+B,MAAKkjB,UAAU/hB,GAAEoa,IAAIvb,KAAK,SAAS9B,EAAEC,GAAG,MAAOF,GAAE0B,KAAKzB,EAAEC,EAAED,OAAOsB,MAAM,WAAW,MAAOQ,MAAKkjB,UAAUtkB,EAAEuB,MAAMH,KAAKE,aAAakjB,MAAM,WAAW,MAAOpjB,MAAKqb,GAAG,IAAI3E,KAAK,WAAW,MAAO1W,MAAKqb,IAAG,IAAKA,GAAG,SAASpd;AAAG,GAAIC,GAAE8B,KAAK8B,OAAO3D,GAAGF,GAAG,EAAEA,EAAEC,EAAE,EAAG,OAAO8B,MAAKkjB,UAAU/kB,GAAG,GAAGD,EAAEC,GAAG6B,KAAK7B,SAASwa,IAAI,WAAW,MAAO3Y,MAAKmjB,YAAYnjB,KAAKJ,eAAeY,KAAK1B,EAAEmW,KAAK9W,EAAE8W,KAAKpR,OAAO1F,EAAE0F,QAAQ1C,GAAE2Z,OAAO3Z,GAAEgQ,GAAG2J,OAAO,WAAW,GAAI7c,GAAEC,EAAEC,EAAEQ,EAAEC,EAAEC,EAAEC,EAAEoB,UAAU,OAAOlB,EAAE,EAAEC,EAAEiB,UAAU4B,OAAOzD,GAAE,CAAG,KAAI,iBAAkBS,KAAIT,EAAES,EAAEA,EAAEoB,UAAUlB,OAAOA,KAAK,gBAAiBF,IAAGqC,GAAEiW,WAAWtY,KAAKA,MAAME,IAAIC,IAAIH,EAAEkB,KAAKhB,KAAKC,EAAED,EAAEA,IAAI,GAAG,OAAOf,EAAEiC,UAAUlB,IAAI,IAAId,IAAKD,GAAEE,EAAEW,EAAEZ,GAAGS,EAAEV,EAAEC,GAAGY,IAAIH,IAAIN,GAAGM,IAAIwC,GAAEkiB,cAAc1kB,KAAKC,EAAEuC,GAAEsD,QAAQ9F,MAAMC,GAAGA,GAAE,EAAGC,EAAEV,GAAGgD,GAAEsD,QAAQtG,GAAGA,MAAMU,EAAEV,GAAGgD,GAAEkiB,cAAcllB,GAAGA,KAAKW,EAAEZ,GAAGiD,GAAE2Z,OAAOzc,EAAEQ,EAAEF,IAAI,SAASA,IAAIG,EAAEZ,GAAGS,GAAI,OAAOG,IAAGqC,GAAE2Z,QAAQhD,QAAQ,UAAU1Y,GAAE6J,KAAKqa,UAAUphB,QAAQ,MAAM,IAAIqhB,SAAQ,EAAGd,MAAM,SAASxkB,GAAG,KAAM,IAAIiZ,OAAMjZ,IAAI4R,KAAK,aAAauH,WAAW,SAASnZ,GAAG,MAAM,aAAakD,GAAEsB,KAAKxE,IAAIwG,QAAQD,MAAMC,QAAQ0S,SAAS,SAASlZ,GAAG,MAAO,OAAMA,GAAGA,IAAIA,EAAEF,QAAQylB,UAAU,SAASvlB,GAAG,GAAIC,GAAED,GAAGA,EAAEoB,UAAW,QAAO8B,GAAEsD,QAAQxG,IAAIC,EAAEqP,WAAWrP,GAAG,GAAG,GAAGmlB,cAAc,SAASplB,GAAG,MAAM,WAAWkD,GAAEsB,KAAKxE,KAAIA,EAAEmU,WAAUjR,GAAEgW,SAASlZ,MAAMA,EAAE2B,cAAcpB,GAAEmB,KAAK1B,EAAE2B,YAAYC,UAAU,mBAAwBwf,cAAc,SAASphB,GAAG,GAAIC,EAAE,KAAIA,IAAKD,GAAE,OAAM,CAAG,QAAM,GAAIwE,KAAK,SAASxE,GAAG,MAAO,OAAMA,EAAEA,EAAE,GAAG,gBAAiBA,IAAG,kBAAmBA,GAAEgB,GAAEZ,GAAEsB,KAAK1B,KAAK,eAAgBA,IAAGyd,WAAW,SAASzd,GAAG,GAAIC,GAAEC,EAAEslB,IAAKxlB,GAAEkD,GAAEuiB,KAAKzlB,GAAGA,IAAI,IAAIA,EAAE6kB,QAAQ,eAAe5kB,EAAES,EAAEO,cAAc,UAAUhB,EAAEylB,KAAK1lB,EAAEU,EAAEilB,KAAKhiB,YAAY1D,GAAGmG,WAAWhB,YAAYnF,IAAIC,EAAEF,KAAK2hB,UAAU,SAAS3hB,GAAG,MAAOA,GAAEiE,QAAQ5C,GAAE,OAAO4C,QAAQ3C,GAAEd,KAAIyI,SAAS,SAASjJ,EAAEC,GAAG,MAAOD,GAAEiJ,UAAUjJ,EAAEiJ,SAAS3G,gBAAgBrC,EAAEqC,eAAekX,KAAK,SAASxZ,EAAEC,GAAG,GAAIC,GAAEQ,EAAE,CAAE,IAAGc,EAAExB,GAAI,IAAIE,EAAEF,EAAE6D,OAAO3D,EAAEQ,GAAST,EAAEyB,KAAK1B,EAAEU,GAAGA,EAAEV,EAAEU,OAAM,EAA7BA,SAA2C,KAAIA,IAAKV,GAAE,GAAGC,EAAEyB,KAAK1B,EAAEU,GAAGA,EAAEV,EAAEU,OAAM,EAAG,KAAM,OAAOV,IAAGylB,KAAK,SAASzlB,GAAG,MAAO,OAAMA,EAAE,IAAIA,EAAE,IAAIiE,QAAQd,GAAE,KAAKyiB,UAAU,SAAS5lB,EAAEC,GAAG,GAAIC,GAAED,KAAM,OAAO,OAAMD,IAAIwB,EAAEY,OAAOpC,IAAIkD,GAAEyX,MAAMza,EAAE,gBAAiBF,IAAGA,GAAGA,GAAGa,EAAEa,KAAKxB,EAAEF,IAAIE,GAAGqb,QAAQ,SAASvb,EAAEC,EAAEC,GAAG,MAAO,OAAMD,GAAE,EAAGc,EAAEW,KAAKzB,EAAED,EAAEE,IAAIya,MAAM,SAAS3a,EAAEC,GAAG,IAAI,GAAIC,IAAGD,EAAE4D,OAAOnD,EAAE,EAAEC,EAAEX,EAAE6D,OAAO3D,EAAEQ,EAAEA,IAAIV,EAAEW,KAAKV,EAAES,EAAG,OAAOV,GAAE6D,OAAOlD,EAAEX,GAAGoZ,KAAK,SAASpZ,EAAEC,EAAEC,GAAG,IAAI,GAAIQ,GAAEC,KAAKC,EAAE,EAAEC,EAAEb,EAAE6D,OAAO9C,GAAGb,EAAEW,EAAED,EAAEA,IAAIF,GAAGT,EAAED,EAAEY,GAAGA,GAAGF,IAAIK,GAAGJ,EAAE4B,KAAKvC,EAAEY,GAAI,OAAOD,IAAG2c,IAAI,SAAStd,EAAEC,EAAEC,GAAG,GAAIQ,GAAEC,EAAEE,EAAE,EAAEE,IAAK,IAAGS,EAAExB,GAAG,IAAIU,EAAEV,EAAE6D,OAAOnD,EAAEG,EAAEA,IAAIF,EAAEV,EAAED,EAAEa,GAAGA,EAAEX,GAAG,MAAMS,GAAGI,EAAEwB,KAAK5B,OAAQ,KAAIE,IAAKb,GAAEW,EAAEV,EAAED,EAAEa,GAAGA,EAAEX,GAAG,MAAMS,GAAGI,EAAEwB,KAAK5B,EAAG,OAAOC,GAAEsB,SAASnB,IAAIkb,KAAK,EAAEgH,MAAM,SAASjjB,EAAEC,GAAG,GAAIC,GAAEQ,EAAEE,CAAE,OAAM,gBAAiBX,KAAIC,EAAEF,EAAEC,GAAGA,EAAED,EAAEA,EAAEE,GAAGgD,GAAEiW,WAAWnZ,IAAIU,EAAEC,EAAEe,KAAKO,UAAU,GAAGrB,EAAE,WAAW,MAAOZ,GAAEkC,MAAMjC,GAAG8B,KAAKrB,EAAEyB,OAAOxB,EAAEe,KAAKO,cAAcrB,EAAEqb,KAAKjc,EAAEic,KAAKjc,EAAEic,MAAM/Y,GAAE+Y,OAAOrb,GAAG,QAAQuf,IAAIlL,KAAKkL,IAAI0F,QAAQnjB,KAAI,kBAAmBojB,UAAS5iB,GAAEgQ,GAAG4S,OAAOC,UAAU7lB,EAAE4lB,OAAOC,WAAW7iB,GAAEsW,KAAK,uEAAuEvW,MAAM,KAAK,SAASjD,EAAEC,GAAGe,GAAE,WAAWf,EAAE,KAAKA,EAAEqC,eAAyK,IAAI7B,IAAE,SAAST,GAAq8D,QAASgmB,GAAGhmB,EAAEC,EAAES,EAAEC,GAAG,GAAIC,GAAEG,EAAEX,EAAEG,EAAEmC,EAAES,EAAE3C,EAAEgB,EAAElB,EAAEL,GAAGA,EAAEwb,cAAczW,EAAE/E,EAAEA,EAAEkU,SAAS,CAAE,IAAGzT,EAAEA,MAAM,gBAAiBV,KAAIA,GAAG,IAAIgF,GAAG,IAAIA,GAAG,KAAKA,EAAE,MAAOtE,EAAE,KAAIC,KAAKV,EAAEA,EAAEwb,eAAexb,EAAE4F,KAAK3C,GAAG/B,EAAElB,GAAGA,EAAEA,GAAGiD,EAAE7B,GAAG,CAAC,GAAG,KAAK2D,IAAI7B,EAAE+X,GAAExM,KAAK1O,IAAI,GAAGY,EAAEuC,EAAE,IAAI,GAAG,IAAI6B,EAAE,CAAC,KAAK5E,EAAEH,EAAEgmB,eAAerlB,IAAI,MAAOF,EAAE,IAAGN,EAAE8lB,KAAKtlB,EAAE,MAAOF,GAAE6B,KAAKnC,GAAGM,MAAO,IAAGJ,IAAIF,EAAEE,EAAE2lB,eAAerlB,KAAKH,EAAER,EAAEG,IAAIA,EAAE8lB,KAAKtlB,EAAE,MAAOF,GAAE6B,KAAKnC,GAAGM,MAAM,CAAC,GAAGyC,EAAE,GAAG,MAAOoW,GAAErX,MAAMxB,EAAET,EAAE0C,qBAAqB3C,IAAIU,CAAE,KAAIE,EAAEuC,EAAE,KAAKjD,EAAEimB,wBAAwBlmB,EAAEkmB,uBAAuB,MAAO5M,GAAErX,MAAMxB,EAAET,EAAEkmB,uBAAuBvlB,IAAIF,EAAE,GAAGR,EAAEmU,MAAMrO,EAAEhG,EAAE,QAAQsB,IAAIA,EAAEgC,KAAKtD,IAAI,CAAC,GAAG,IAAIgF,EAAE1E,EAAEL,EAAEuB,EAAExB,MAAO,IAAG,WAAWC,EAAEgJ,SAAS3G,cAAc,CAA6H,KAA3H/B,EAAEN,EAAEkO,aAAa,OAAO5N,EAAEA,EAAE0D,QAAQ2W,GAAG,QAAQ3a,EAAE+H,aAAa,KAAKzH,EAAEJ,GAAGK,EAAEK,EAAEb,GAAGe,EAAEP,EAAEqD,OAAOnB,EAAEqd,GAAEzc,KAAK/C,GAAG,IAAIA,EAAE,QAAQA,EAAE,KAAWQ,KAAIP,EAAEO,GAAG2B,EAAE,IAAI2Z,EAAG7b,EAAEO,GAAIS,GAAEhB,EAAEwD,KAAK,KAAK1D,EAAEqY,GAAErV,KAAKtD,IAAI0d,EAAGzd,EAAEmG,aAAanG,EAAE,GAAGuB,EAAE,IAAI,MAAO+X,GAAErX,MAAMxB,EAAEJ,EAAEkJ,iBAAiBhI,IAAId,EAAE,MAAM2E,IAAI,QAAQ9E,IAAIJ,GAAGF,EAAE+R,gBAAgB,QAAQ,MAAOhR,GAAEhB,EAAEiE,QAAQ+V,GAAE,MAAM/Z,EAAES,EAAEC,GAAG,QAASgb,KAAc,QAAS1b,GAAEC,EAAES,GAAG,MAAOX,GAAEuC,KAAKrC,EAAE,KAAKQ,EAAE0lB,mBAAoBnmB,GAAED,EAAE4E,SAAS3E,EAAEC,EAAE,KAAKS,EAA1F,GAAIX,KAAwF,OAAOC,GAAE,QAAS2b,GAAG5b,GAAG,MAAOA,GAAEG,IAAG,EAAGH,EAAE,QAAS6b,GAAG7b,GAAG,GAAIC,GAAEiD,EAAEjC,cAAc,MAAO,KAAI,QAAQjB,EAAEC,GAAG,MAAMC,GAAG,OAAM,EAAG,QAAQD,EAAEmG,YAAYnG,EAAEmG,WAAWhB,YAAYnF,GAAGA,EAAE,MAAM,QAAS8b,GAAG/b,EAAEC,GAAiC,IAA9B,GAAIC,GAAEF,EAAEiD,MAAM,KAAKtC,EAAET,EAAE2D,OAAalD,KAAID,EAAE2lB,WAAWnmB,EAAES,IAAIV,EAAE,QAASqmB,GAAGtmB,EAAEC,GAAG,GAAIC,GAAED,GAAGD,EAAEU,EAAER,GAAG,IAAIF,EAAEmU,UAAU,IAAIlU,EAAEkU,YAAYlU,EAAEsmB,aAAaC,KAAKxmB,EAAEumB,aAAaC,EAAG,IAAG9lB,EAAE,MAAOA,EAAE,IAAGR,EAAE,KAAMA,EAAEA,EAAEumB,aAAY,GAAGvmB,IAAID,EAAE,OAAM,CAAG,OAAOD,GAAE,GAAE,EAAG,QAAS0mB,GAAG1mB,GAAG,MAAO,UAASC,GAAG,GAAIC,GAAED,EAAEgJ,SAAS3G,aAAc,OAAM,UAAUpC,GAAGD,EAAEuE,OAAOxE,GAAG,QAASmd,GAAGnd,GAAG,MAAO,UAASC,GAAG,GAAIC,GAAED,EAAEgJ,SAAS3G,aAAc,QAAO,UAAUpC,GAAG,WAAWA,IAAID,EAAEuE,OAAOxE,GAAG,QAASuc,GAAGvc,GAAG,MAAO4b,GAAG,SAAS3b,GAAG,MAAOA,IAAGA,EAAE2b,EAAG,SAAS1b,EAAEQ,GAAuC,IAApC,GAAIC,GAAEC,EAAEZ,KAAKE,EAAE2D,OAAO5D,GAAGY,EAAED,EAAEiD,OAAahD,KAAIX,EAAES,EAAEC,EAAEC,MAAMX,EAAES,KAAKD,EAAEC,GAAGT,EAAES,SAAS,QAAS+c,GAAG1d,GAAG,MAAOA,IAAG,mBAAoBA,GAAE2C,sBAAsB3C,EAAgvT,QAASoc,MAA8gB,QAASC,GAAGrc,GAAG,IAAI,GAAIC,GAAE,EAAEC,EAAEF,EAAE6D,OAAOnD,EAAE,GAAGR,EAAED,EAAEA,IAAIS,GAAGV,EAAEC,GAAG+O,KAAM,OAAOtO,GAAE,QAAS4b,GAAGtc,EAAEC,EAAEC,GAAG,GAAIQ,GAAET,EAAE0mB,IAAIhmB,EAAET,GAAG,eAAeQ,EAAEE,EAAEoE,GAAI,OAAO/E,GAAEklB,MAAM,SAASllB,EAAEC,EAAEU,GAAG,KAAMX,EAAEA,EAAES,IAAG,GAAG,IAAIT,EAAEkU,UAAUxT,EAAE,MAAOX,GAAEC,EAAEC,EAAEU,IAAI,SAASX,EAAEC,EAAEW,GAAG,GAAIE,GAAEC,EAAEZ,EAAEG,GAAGD,EAAEM,EAAG,IAAGC,GAAG,KAAMZ,EAAEA,EAAES,IAAG,IAAI,IAAIT,EAAEkU,UAAUxT,IAAIX,EAAEC,EAAEC,EAAEW,GAAG,OAAM,MAAQ,MAAMZ,EAAEA,EAAES,IAAG,GAAG,IAAIT,EAAEkU,UAAUxT,EAAE,CAAC,GAAGP,EAAEH,EAAEE,KAAKF,EAAEE,OAAOa,EAAEZ,EAAEH,EAAE2mB,YAAYxmB,EAAEH,EAAE2mB,eAAe7lB,EAAEC,EAAEN,KAAKK,EAAE,KAAKT,GAAGS,EAAE,KAAKH,EAAE,MAAOL,GAAE,GAAGQ,EAAE,EAAG,IAAGC,EAAEN,GAAGH,EAAEA,EAAE,GAAGP,EAAEC,EAAEC,EAAEW,GAAG,OAAM,IAAK,QAAS2b,GAAGxc,GAAG,MAAOA,GAAE6D,OAAO,EAAE,SAAS5D,EAAEC,EAAEQ,GAAkB,IAAf,GAAIC,GAAEX,EAAE6D,OAAalD,KAAI,IAAIX,EAAEW,GAAGV,EAAEC,EAAEQ,GAAG,OAAM,CAAG,QAAM,GAAIV,EAAE,GAAG,QAAS8c,GAAG9c,EAAEC,EAAEC,GAAG,IAAI,GAAIQ,GAAE,EAAEC,EAAEV,EAAE4D,OAAOlD,EAAED,EAAEA,IAAIslB,EAAGhmB,EAAEC,EAAES,GAAGR,EAAG,OAAOA,GAAE,QAASiI,GAAGnI,EAAEC,EAAEC,EAAEQ,EAAEC,GAAG,IAAI,GAAIC,GAAEC,KAAKE,EAAE,EAAEC,EAAEhB,EAAE6D,OAAOzD,EAAE,MAAMH,EAAEe,EAAED,EAAEA,KAAKH,EAAEZ,EAAEe,OAAOb,GAAGA,EAAEU,EAAEF,EAAEC,MAAME,EAAE0B,KAAK3B,GAAGR,GAAGH,EAAEsC,KAAKxB,GAAI,OAAOF,GAAE,QAAS8c,GAAG3d,EAAEC,EAAEC,EAAEQ,EAAEC,EAAEC,GAAG,MAAOF,KAAIA,EAAEP,KAAKO,EAAEid,EAAGjd,IAAIC,IAAIA,EAAER,KAAKQ,EAAEgd,EAAGhd,EAAEC,IAAIgb,EAAG,SAAShb,EAAEC,EAAEE,EAAEC,GAAG,GAAIZ,GAAEG,EAAEmC,EAAEvB,KAAK+B,KAAKC,EAAEtC,EAAEgD,OAAOxC,EAAET,GAAGkc,EAAG7c,GAAG,IAAIc,EAAEoT,UAAUpT,GAAGA,MAAMO,GAAGtB,IAAIY,GAAGX,EAAEoB,EAAE8G,EAAG9G,EAAEF,EAAEnB,EAAEe,EAAEC,GAAGR,EAAEN,EAAES,IAAIC,EAAEZ,EAAEmD,GAAGzC,MAAMG,EAAES,CAAE,IAAGpB,GAAGA,EAAEoB,EAAEd,EAAEO,EAAEC,GAAGN,EAAoC,IAAjCN,EAAE+H,EAAG3H,EAAE0C,GAAGxC,EAAEN,KAAKW,EAAEC,GAAGT,EAAEH,EAAEyD,OAAatD,MAAKmC,EAAEtC,EAAEG,MAAMC,EAAE0C,EAAE3C,MAAMe,EAAE4B,EAAE3C,IAAImC,GAAI,IAAG9B,GAAG,GAAGD,GAAGX,EAAE,CAAC,GAAGW,EAAE,CAAiB,IAAhBP,KAAKG,EAAEC,EAAEqD,OAAatD,MAAKmC,EAAElC,EAAED,KAAKH,EAAEmC,KAAKjB,EAAEf,GAAGmC,EAAG/B,GAAE,KAAKH,KAAKJ,EAAEY,GAAc,IAAXT,EAAEC,EAAEqD,OAAatD,MAAKmC,EAAElC,EAAED,MAAMH,EAAEO,EAAE+Y,GAAE9Y,EAAE8B,GAAGvB,EAAEZ,KAAI,IAAKK,EAAER,KAAKS,EAAET,GAAGsC,SAAUlC,GAAE2H,EAAG3H,IAAIK,EAAEL,EAAEoF,OAAOzC,EAAE3C,EAAEqD,QAAQrD,GAAGG,EAAEA,EAAE,KAAKE,EAAEL,EAAEQ,GAAGuY,EAAErX,MAAMrB,EAAEL,KAAK,QAAS0d,GAAGle,GAAG,IAAI,GAAIC,GAAEC,EAAES,EAAEC,EAAEZ,EAAE6D,OAAOhD,EAAEH,EAAEmmB,SAAS7mB,EAAE,GAAGwE,MAAMzD,EAAEF,GAAGH,EAAEmmB,SAAS,KAAK7lB,EAAEH,EAAE,EAAE,EAAEN,EAAE+b,EAAG,SAAStc,GAAG,MAAOA,KAAIC,GAAGc,GAAE,GAAI2B,EAAE4Z,EAAG,SAAStc,GAAG,MAAO0Z,IAAEzZ,EAAED,IAAG,GAAIe,GAAE,GAAII,GAAG,SAASnB,EAAEE,EAAEQ,GAAG,GAAIC,IAAGE,IAAIH,GAAGR,IAAIE,MAAMH,EAAEC,GAAGiU,SAAS5T,EAAEP,EAAEE,EAAEQ,GAAGgC,EAAE1C,EAAEE,EAAEQ,GAAI,OAAOT,GAAE,KAAKU,IAAIC,EAAEI,EAAEA,IAAI,GAAGd,EAAEQ,EAAEmmB,SAAS7mB,EAAEgB,GAAGwD,MAAMrD,GAAGmb,EAAGE,EAAGrb,GAAGjB,QAAQ,CAAC,GAAGA,EAAEQ,EAAE2Y,OAAOrZ,EAAEgB,GAAGwD,MAAMtC,MAAM,KAAKlC,EAAEgB,GAAG2U,SAASzV,EAAEC,GAAG,CAAC,IAAIQ,IAAIK,EAAEJ,EAAED,IAASD,EAAEmmB,SAAS7mB,EAAEW,GAAG6D,MAAvB7D,KAAmC,MAAOgd,GAAG3c,EAAE,GAAGwb,EAAGrb,GAAGH,EAAE,GAAGqb,EAAGrc,EAAEuB,MAAM,EAAEP,EAAE,GAAGmB,QAAQ6M,MAAM,MAAMhP,EAAEgB,EAAE,GAAGwD,KAAK,IAAI,MAAMP,QAAQ+V,GAAE,MAAM9Z,EAAES,EAAEK,GAAGkd,EAAGle,EAAEuB,MAAMP,EAAEL,IAAIC,EAAED,GAAGud,EAAGle,EAAEA,EAAEuB,MAAMZ,IAAIC,EAAED,GAAG0b,EAAGrc,IAAImB,EAAEoB,KAAKrC,GAAG,MAAOsc,GAAGrb,GAAG,QAAS8c,GAAGje,EAAEC,GAAG,GAAIC,GAAED,EAAE4D,OAAO,EAAElD,EAAEX,EAAE6D,OAAO,EAAEjD,EAAE,SAASA,EAAEC,EAAEE,EAAEC,EAAET,GAAG,GAAImC,GAAES,EAAE7B,EAAEd,EAAE,EAAEgB,EAAE,IAAIf,EAAEG,MAAMT,KAAK0F,EAAEzF,EAAE4E,EAAEpE,GAAGD,GAAGD,EAAEomB,KAAKC,IAAI,IAAIxmB,GAAG8E,EAAE/E,GAAG,MAAMuF,EAAE,EAAEmF,KAAKqa,UAAU,GAAGhjB,EAAE2C,EAAEnB,MAAO,KAAItD,IAAIH,EAAES,IAAIqC,GAAGrC,GAAGN,GAAGiB,IAAIa,GAAG,OAAOK,EAAEsC,EAAExD,IAAIA,IAAI,CAAC,GAAGb,GAAG+B,EAAE,CAAyC,IAAxCS,EAAE,EAAEtC,GAAG6B,EAAE+Y,gBAAgBvY,IAAI/B,EAAEuB,GAAG3B,GAAGM,GAASC,EAAEtB,EAAEmD,MAAK,GAAG7B,EAAEoB,EAAE7B,GAAGqC,EAAEnC,GAAG,CAACC,EAAEuB,KAAKG,EAAG,OAAMnC,IAAID,EAAE+E,GAAGnF,KAAKwC,GAAGpB,GAAGoB,IAAIlC,IAAII,GAAGH,EAAE8B,KAAKG,IAAI,GAAGlC,GAAGgB,EAAEtB,GAAGsB,IAAIhB,EAAE,CAAK,IAAJ2C,EAAE,EAAQ7B,EAAErB,EAAEkD,MAAK7B,EAAEb,EAAEN,EAAEU,EAAEE,EAAG,IAAGH,EAAE,CAAC,GAAGJ,EAAE,EAAE,KAAMgB,KAAIf,EAAEe,IAAIrB,EAAEqB,KAAKrB,EAAEqB,GAAG8X,EAAE5X,KAAKV,GAAIb,GAAEgI,EAAGhI,GAAGoZ,EAAErX,MAAMlB,EAAEb,GAAGI,IAAIK,GAAGT,EAAE0D,OAAO,GAAGrD,EAAEP,EAAE4D,OAAO,GAAGmiB,EAAGgB,WAAWhmB,GAAG,MAAOT,KAAID,EAAE+E,EAAEjF,EAAEyF,GAAGpF,EAAG,OAAOP,GAAE0b,EAAGhb,GAAGA,EAA/khB,GAAIX,GAAEC,EAAEQ,EAAEC,EAAEC,EAAEC,EAAEE,EAAEC,EAAEZ,EAAEG,EAAEmC,EAAEvB,EAAE+B,EAAEC,EAAE9B,EAAEC,EAAEd,EAAEgB,EAAEf,EAAEN,EAAE,SAAS,EAAE,GAAI8U,MAAKpP,EAAE7F,EAAE2E,SAASrE,EAAE,EAAE0E,EAAE,EAAEK,EAAEsW,IAAKtZ,EAAEsZ,IAAK3V,EAAE2V,IAAK9W,EAAE,SAAS7E,EAAEC,GAAG,MAAOD,KAAIC,IAAIyC,GAAE,GAAI,GAAG8jB,EAAE,GAAG,GAAGS,KAAKxlB,eAAeylB,KAAK5N,EAAE4N,EAAExgB,IAAI+S,EAAEyN,EAAE3kB,KAAKgX,EAAE2N,EAAE3kB,KAAK4kB,EAAED,EAAE3lB,MAAMmY,GAAE,SAAS1Z,EAAEC,GAAG,IAAI,GAAIC,GAAE,EAAEQ,EAAEV,EAAE6D,OAAOnD,EAAER,EAAEA,IAAI,GAAGF,EAAEE,KAAKD,EAAE,MAAOC,EAAE,QAAM,GAAIknB,GAAE,6HAA6HC,GAAE,sBAAsBzN,GAAE,mCAAmCiB,GAAE,MAAMwM,GAAE,KAAKzN,GAAE,OAAOyN,GAAE,gBAAgBA,GAAE,2DAA2DzN,GAAE,OAAOyN,GAAE,OAAOlN,GAAE,KAAKP,GAAE,wFAAwFiB,GAAE,eAAeZ,GAAE,GAAIzR,QAAO6e,GAAE,IAAI,KAAKrN,GAAE,GAAIxR,QAAO,IAAI6e,GAAE,8BAA8BA,GAAE,KAAK,KAAKtN,GAAE,GAAIvR,QAAO,IAAI6e,GAAE,KAAKA,GAAE,KAAKC,GAAE,GAAI9e,QAAO,IAAI6e,GAAE,WAAWA,GAAE,IAAIA,GAAE,KAAK9M,GAAE,GAAI/R,QAAO,IAAI6e,GAAE,iBAAiBA,GAAE,OAAO,KAAKjI,GAAE,GAAI5W,QAAO2R,IAAG4F,GAAE,GAAIvX,QAAO,IAAIoR,GAAE,KAAKQ,IAAGmN,GAAG,GAAI/e,QAAO,MAAMoR,GAAE,KAAK4N,MAAM,GAAIhf,QAAO,QAAQoR,GAAE,KAAKmN,IAAI,GAAIve,QAAO,KAAKoR,GAAE,SAAS6N,KAAK,GAAIjf,QAAO,IAAIqS,IAAG6M,OAAO,GAAIlf,QAAO,IAAI2R,IAAGwN,MAAM,GAAInf,QAAO,yDAAyD6e,GAAE,+BAA+BA,GAAE,cAAcA,GAAE,aAAaA,GAAE,SAAS,KAAKO,KAAK,GAAIpf,QAAO,OAAO4e,GAAE,KAAK,KAAKS,aAAa,GAAIrf,QAAO,IAAI6e,GAAE,mDAAmDA,GAAE,mBAAmBA,GAAE,mBAAmB,MAAMtK,GAAE,sCAAsC9B,GAAE,SAASS,GAAE,yBAAyBR,GAAE,mCAAmCvC,GAAE,OAAOiC,GAAG,QAAQI,GAAG,GAAIxS,QAAO,qBAAqB6e,GAAE,MAAMA,GAAE,OAAO,MAAMtM,GAAG,SAAS/a,EAAEC,EAAEC,GAAG,GAAIQ,GAAE,KAAKT,EAAE,KAAM,OAAOS,KAAIA,GAAGR,EAAED,EAAE,EAAES,EAAEonB,OAAOC,aAAarnB,EAAE,OAAOonB,OAAOC,aAAarnB,GAAG,GAAG,MAAM,KAAKA,EAAE,QAAQsnB,GAAG,WAAW7mB,IAAK,KAAIoY,EAAErX,MAAMglB,EAAEC,EAAEzlB,KAAKmE,EAAExB,YAAYwB,EAAExB,YAAY6iB,EAAErhB,EAAExB,WAAWR,QAAQsQ,SAAS,MAAM8T,GAAI1O,GAAGrX,MAAMglB,EAAErjB,OAAO,SAAS7D,EAAEC,GAAGwZ,EAAEvX,MAAMlC,EAAEmnB,EAAEzlB,KAAKzB,KAAK,SAASD,EAAEC,GAAsB,IAAnB,GAAIC,GAAEF,EAAE6D,OAAOnD,EAAE,EAAQV,EAAEE,KAAKD,EAAES,OAAMV,EAAE6D,OAAO3D,EAAE,IAA26DA,EAAE8lB,EAAGH,WAAWjlB,EAAEolB,EAAGkC,MAAM,SAASloB,GAAG,GAAIC,GAAED,IAAIA,EAAEyb,eAAezb,GAAGc,eAAgB,SAAOb,GAAE,SAASA,EAAEgJ,UAAa9H,EAAE6kB,EAAGmC,YAAY,SAASnoB,GAAG,GAAIC,GAAEU,EAAEE,EAAEb,EAAEA,EAAEyb,eAAezb,EAAE6F,CAAE,OAAOhF,KAAIqC,GAAG,IAAIrC,EAAEsT,UAAUtT,EAAEC,iBAAiBoC,EAAErC,EAAEsC,EAAED,EAAEpC,gBAAgBO,GAAGT,EAAEsC,IAAIvC,EAAEuC,EAAE0hB,cAAcjkB,EAAE6e,MAAM7e,IAAIA,EAAEkH,iBAAiBlH,EAAEkH,iBAAiB,SAASmgB,IAAG,GAAIrnB,EAAE2F,aAAa3F,EAAE2F,YAAY,WAAW0hB,KAAK9nB,EAAEkoB,WAAWvM,EAAG,SAAS7b,GAAG,MAAOA,GAAEyC,UAAU,KAAKzC,EAAEmO,aAAa,eAAejO,EAAEyC,qBAAqBkZ,EAAG,SAAS7b,GAAG,MAAOA,GAAE2D,YAAYT,EAAEmlB,cAAc,MAAMroB,EAAE2C,qBAAqB,KAAKkB,SAAS3D,EAAEimB,uBAAuBzK,GAAEpY,KAAKJ,EAAEijB,wBAAwBjmB,EAAEooB,QAAQzM,EAAG,SAAS7b,GAAG,MAAOmD,GAAEQ,YAAY3D,GAAGkmB,GAAG/lB,GAAG+C,EAAEqlB,oBAAoBrlB,EAAEqlB,kBAAkBpoB,GAAG0D,SAAS3D,EAAEooB,SAAS5nB,EAAEomB,KAAKS,GAAG,SAASvnB,EAAEC,GAAG,GAAG,mBAAoBA,GAAEgmB,gBAAgB5kB,EAAE,CAAC,GAAInB,GAAED,EAAEgmB,eAAejmB,EAAG,OAAOE,IAAGA,QAAQQ,EAAE2Y,OAAOkO,GAAG,SAASvnB,GAAG,GAAIC,GAAED,EAAEiE,QAAQ+W,GAAGD,GAAI,OAAO,UAAS/a,GAAG,MAAOA,GAAEmO,aAAa,QAAQlO,YAAaS,GAAEomB,KAAKS,GAAG7mB,EAAE2Y,OAAOkO,GAAG,SAASvnB,GAAG,GAAIC,GAAED,EAAEiE,QAAQ+W,GAAGD,GAAI,OAAO,UAAS/a,GAAG,GAAIE,GAAE,mBAAoBF,GAAEwoB,kBAAkBxoB,EAAEwoB,iBAAiB,KAAM,OAAOtoB,IAAGA,EAAE8O,QAAQ/O,KAAKS,EAAEomB,KAAKC,IAAI7mB,EAAEyC,qBAAqB,SAAS3C,EAAEC,GAAG,MAAM,mBAAoBA,GAAE0C,qBAAqB1C,EAAE0C,qBAAqB3C,GAAGE,EAAEmU,IAAIpU,EAAEuJ,iBAAiBxJ,GAAG,QAAQ,SAASA,EAAEC,GAAG,GAAIC,GAAEQ,KAAKC,EAAE,EAAEC,EAAEX,EAAE0C,qBAAqB3C,EAAG,IAAG,MAAMA,EAAE,CAAC,KAAME,EAAEU,EAAED,MAAK,IAAIT,EAAEiU,UAAUzT,EAAE6B,KAAKrC,EAAG,OAAOQ,GAAE,MAAOE,IAAGF,EAAEomB,KAAKU,MAAMtnB,EAAEimB,wBAAwB,SAASnmB,EAAEC,GAAG,MAAM,mBAAoBA,GAAEkmB,wBAAwB9kB,EAAEpB,EAAEkmB,uBAAuBnmB,GAAG,QAAQQ,KAAKc,MAAMpB,EAAEmU,IAAIqH,GAAEpY,KAAKJ,EAAEsG,qBAAqBqS,EAAG,SAAS7b,GAAGmD,EAAEQ,YAAY3D,GAAG4C,UAAU,UAAUzC,EAAE,qBAAqBA,EAAE,kEAAkEH,EAAEwJ,iBAAiB,wBAAwB3F,QAAQvC,EAAEiB,KAAK,SAAS8kB,GAAE,gBAAgBrnB,EAAEwJ,iBAAiB,cAAc3F,QAAQvC,EAAEiB,KAAK,MAAM8kB,GAAE,aAAaD,GAAE,KAAKpnB,EAAEwJ,iBAAiB,QAAQrJ,EAAE,MAAM0D,QAAQvC,EAAEiB,KAAK,MAAMvC,EAAEwJ,iBAAiB,YAAY3F,QAAQvC,EAAEiB,KAAK,YAAYvC,EAAEwJ,iBAAiB,KAAKrJ,EAAE,MAAM0D,QAAQvC,EAAEiB,KAAK,cAAcsZ,EAAG,SAAS7b,GAAG,GAAIC,GAAEiD,EAAEjC,cAAc,QAAShB,GAAE+H,aAAa,OAAO,UAAUhI,EAAE2D,YAAY1D,GAAG+H,aAAa,OAAO,KAAKhI,EAAEwJ,iBAAiB,YAAY3F,QAAQvC,EAAEiB,KAAK,OAAO8kB,GAAE,eAAernB,EAAEwJ,iBAAiB,YAAY3F,QAAQvC,EAAEiB,KAAK,WAAW,aAAavC,EAAEwJ,iBAAiB,QAAQlI,EAAEiB,KAAK,YAAYrC,EAAEuoB,gBAAgB/M,GAAEpY,KAAK9B,EAAE2B,EAAEwS,SAASxS,EAAEulB,uBAAuBvlB,EAAEwlB,oBAAoBxlB,EAAEylB,kBAAkBzlB,EAAE0lB,qBAAqBhN,EAAG,SAAS7b,GAAGE,EAAE4oB,kBAAkBtnB,EAAEE,KAAK1B,EAAE,OAAOwB,EAAEE,KAAK1B,EAAE,aAAaQ,EAAE+B,KAAK,KAAK4X,MAAK7Y,EAAEA,EAAEuC,QAAQ,GAAI2E,QAAOlH,EAAE0C,KAAK,MAAMxD,EAAEA,EAAEqD,QAAQ,GAAI2E,QAAOhI,EAAEwD,KAAK,MAAM/D,EAAEyb,GAAEpY,KAAKH,EAAE4lB,yBAAyBtoB,EAAER,GAAGyb,GAAEpY,KAAKH,EAAEqY,UAAU,SAASxb,EAAEC,GAAG,GAAIC,GAAE,IAAIF,EAAEmU,SAASnU,EAAEc,gBAAgBd,EAAEU,EAAET,GAAGA,EAAEmG,UAAW,OAAOpG,KAAIU,MAAMA,GAAG,IAAIA,EAAEyT,YAAYjU,EAAEsb,SAAStb,EAAEsb,SAAS9a,GAAGV,EAAE+oB,yBAAyB,GAAG/oB,EAAE+oB,wBAAwBroB,MAAM,SAASV,EAAEC,GAAG,GAAGA,EAAE,KAAMA,EAAEA,EAAEmG,YAAW,GAAGnG,IAAID,EAAE,OAAM,CAAG,QAAM,GAAI6E,EAAE5E,EAAE,SAASD,EAAEC,GAAG,GAAGD,IAAIC,EAAE,MAAOyC,IAAE,EAAG,CAAE,IAAIhC,IAAGV,EAAE+oB,yBAAyB9oB,EAAE8oB,uBAAwB,OAAOroB,GAAEA,GAAGA,GAAGV,EAAEyb,eAAezb,MAAMC,EAAEwb,eAAexb,GAAGD,EAAE+oB,wBAAwB9oB,GAAG,EAAE,EAAES,IAAIR,EAAE8oB,cAAc/oB,EAAE8oB,wBAAwB/oB,KAAKU,EAAEV,IAAIkD,GAAGlD,EAAEyb,gBAAgB5V,GAAGpF,EAAEoF,EAAE7F,IAAG,EAAGC,IAAIiD,GAAGjD,EAAEwb,gBAAgB5V,GAAGpF,EAAEoF,EAAE5F,GAAG,EAAEM,EAAEmZ,GAAEnZ,EAAEP,GAAG0Z,GAAEnZ,EAAEN,GAAG,EAAE,EAAES,GAAE,EAAG,IAAI,SAASV,EAAEC,GAAG,GAAGD,IAAIC,EAAE,MAAOyC,IAAE,EAAG,CAAE,IAAIxC,GAAEQ,EAAE,EAAEC,EAAEX,EAAEoG,WAAWxF,EAAEX,EAAEmG,WAAWvF,GAAGb,GAAGe,GAAGd,EAAG,KAAIU,IAAIC,EAAE,MAAOZ,KAAIkD,GAAE,EAAGjD,IAAIiD,EAAE,EAAEvC,GAAE,EAAGC,EAAE,EAAEL,EAAEmZ,GAAEnZ,EAAEP,GAAG0Z,GAAEnZ,EAAEN,GAAG,CAAE,IAAGU,IAAIC,EAAE,MAAO0lB,GAAGtmB,EAAEC,EAAO,KAAJC,EAAEF,EAAQE,EAAEA,EAAEkG,YAAWvF,EAAE2iB,QAAQtjB,EAAO,KAAJA,EAAED,EAAQC,EAAEA,EAAEkG,YAAWrF,EAAEyiB,QAAQtjB,EAAG,MAAMW,EAAEH,KAAKK,EAAEL,IAAGA,GAAI,OAAOA,GAAE4lB,EAAGzlB,EAAEH,GAAGK,EAAEL,IAAIG,EAAEH,KAAKmF,GAAE,EAAG9E,EAAEL,KAAKmF,EAAE,EAAE,GAAG3C,GAAGA,GAAG8iB,EAAGrQ,QAAQ,SAAS3V,EAAEC,GAAG,MAAO+lB,GAAGhmB,EAAE,KAAK,KAAKC,IAAI+lB,EAAGyC,gBAAgB,SAASzoB,EAAEC,GAAG,IAAID,EAAEyb,eAAezb,KAAKkD,GAAG/B,EAAEnB,GAAGC,EAAEA,EAAEgE,QAAQsW,GAAE,UAAUra,EAAEuoB,iBAAiBpnB,IAAI2E,EAAE/F,EAAE,QAAQO,IAAIA,EAAE8C,KAAKrD,OAAOqB,IAAIA,EAAEgC,KAAKrD,IAAI,IAAI,GAAIS,GAAEc,EAAEE,KAAK1B,EAAEC,EAAG,IAAGS,GAAGR,EAAE4oB,mBAAmB9oB,EAAE2E,UAAU,KAAK3E,EAAE2E,SAASwP,SAAS,MAAOzT,GAAE,MAAMC,IAAI,MAAOqlB,GAAG/lB,EAAEiD,EAAE,MAAMlD,IAAI6D,OAAO,GAAGmiB,EAAGxK,SAAS,SAASxb,EAAEC,GAAG,OAAOD,EAAEyb,eAAezb,KAAKkD,GAAG/B,EAAEnB,GAAGS,EAAET,EAAEC,IAAI+lB,EAAGiD,KAAK,SAASjpB,EAAEC,IAAID,EAAEyb,eAAezb,KAAKkD,GAAG/B,EAAEnB,EAAG,IAAIW,GAAED,EAAE2lB,WAAWpmB,EAAEqC,eAAe1B,EAAED,GAAGsmB,EAAEvlB,KAAKhB,EAAE2lB,WAAWpmB,EAAEqC,eAAe3B,EAAEX,EAAEC,GAAGoB,GAAG,MAAO,OAAO,UAAST,EAAEA,EAAEV,EAAEkoB,aAAa/mB,EAAErB,EAAEmO,aAAalO,IAAIW,EAAEZ,EAAEwoB,iBAAiBvoB,KAAKW,EAAEsoB,UAAUtoB,EAAEoO,MAAM,MAAMgX,EAAGxB,MAAM,SAASxkB,GAAG,KAAM,IAAIiZ,OAAM,0CAA0CjZ,IAAIgmB,EAAGgB,WAAW,SAAShnB,GAAG,GAAIC,GAAES,KAAKC,EAAE,EAAEC,EAAE,CAAE,IAAG8B,GAAGxC,EAAEipB,iBAAiB5oB,GAAGL,EAAEkpB,YAAYppB,EAAEuB,MAAM,GAAGvB,EAAEgX,KAAKnS,GAAGnC,EAAE,CAAC,KAAMzC,EAAED,EAAEY,MAAKX,IAAID,EAAEY,KAAKD,EAAED,EAAE6B,KAAK3B,GAAI,MAAMD,KAAIX,EAAE4F,OAAOlF,EAAEC,GAAG,GAAG,MAAOJ,GAAE,KAAKP,GAAGW,EAAEqlB,EAAGqD,QAAQ,SAASrpB,GAAG,GAAIC,GAAEC,EAAE,GAAGQ,EAAE,EAAEE,EAAEZ,EAAEmU,QAAS,IAAGvT,GAAG,GAAG,IAAIA,GAAG,IAAIA,GAAG,KAAKA,EAAE,CAAC,GAAG,gBAAiBZ,GAAEqb,YAAY,MAAOrb,GAAEqb,WAAY,KAAIrb,EAAEA,EAAE+C,WAAW/C,EAAEA,EAAEA,EAAEymB,YAAYvmB,GAAGS,EAAEX,OAAQ,IAAG,IAAIY,GAAG,IAAIA,EAAE,MAAOZ,GAAEspB,cAAe,MAAMrpB,EAAED,EAAEU,MAAKR,GAAGS,EAAEV,EAAG,OAAOC,IAAGQ,EAAEslB,EAAGuD,WAAWnD,YAAY,GAAGoD,aAAa5N,EAAGrT,MAAM6R,GAAEiM,cAAcS,QAAQD,UAAU4C,KAAK9C,IAAI,aAAaxB,OAAM,GAAIuE,KAAK/C,IAAI,cAAcgD,KAAKhD,IAAI,kBAAkBxB,OAAM,GAAIyE,KAAKjD,IAAI,oBAAoBkD,WAAWpC,KAAK,SAASznB,GAAG,MAAOA,GAAE,GAAGA,EAAE,GAAGiE,QAAQ+W,GAAGD,IAAI/a,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAI,IAAIiE,QAAQ+W,GAAGD,IAAI,OAAO/a,EAAE,KAAKA,EAAE,GAAG,IAAIA,EAAE,GAAG,KAAKA,EAAEuB,MAAM,EAAE,IAAIomB,MAAM,SAAS3nB,GAAG,MAAOA,GAAE,GAAGA,EAAE,GAAGsC,cAAc,QAAQtC,EAAE,GAAGuB,MAAM,EAAE,IAAIvB,EAAE,IAAIgmB,EAAGxB,MAAMxkB,EAAE,IAAIA,EAAE,KAAKA,EAAE,GAAGA,EAAE,IAAIA,EAAE,IAAI,GAAG,GAAG,SAASA,EAAE,IAAI,QAAQA,EAAE,KAAKA,EAAE,KAAKA,EAAE,GAAGA,EAAE,IAAI,QAAQA,EAAE,KAAKA,EAAE,IAAIgmB,EAAGxB,MAAMxkB,EAAE,IAAIA,GAAG0nB,OAAO,SAAS1nB,GAAG,GAAIC,GAAEC,GAAGF,EAAE,IAAIA,EAAE,EAAG,OAAOoa,IAAEuN,MAAMrkB,KAAKtD,EAAE,IAAI,MAAMA,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAIA,EAAE,IAAI,GAAGE,GAAGkf,GAAE9b,KAAKpD,KAAKD,EAAEY,EAAEX,GAAE,MAAOD,EAAEC,EAAE2kB,QAAQ,IAAI3kB,EAAE2D,OAAO5D,GAAGC,EAAE2D,UAAU7D,EAAE,GAAGA,EAAE,GAAGuB,MAAM,EAAEtB,GAAGD,EAAE,GAAGE,EAAEqB,MAAM,EAAEtB,IAAID,EAAEuB,MAAM,EAAE,MAAM8X,QAAQ0N,IAAI,SAAS/mB,GAAG,GAAIC,GAAED,EAAEiE,QAAQ+W,GAAGD,IAAIzY,aAAc,OAAM,MAAMtC,EAAE,WAAW,OAAM,GAAI,SAASA,GAAG,MAAOA,GAAEiJ,UAAUjJ,EAAEiJ,SAAS3G,gBAAgBrC,IAAIunB,MAAM,SAASxnB,GAAG,GAAIC,GAAEoF,EAAErF,EAAE,IAAK,OAAOC,KAAIA,EAAE,GAAIuI,QAAO,MAAM6e,GAAE,IAAIrnB,EAAE,IAAIqnB,GAAE,SAAShiB,EAAErF,EAAE,SAASA,GAAG,MAAOC,GAAEqD,KAAK,gBAAiBtD,GAAEyC,WAAWzC,EAAEyC,WAAW,mBAAoBzC,GAAEmO,cAAcnO,EAAEmO,aAAa,UAAU,OAAOsZ,KAAK,SAASznB,EAAEC,EAAEC,GAAG,MAAO,UAASQ,GAAG,GAAIC,GAAEqlB,EAAGiD,KAAKvoB,EAAEV,EAAG,OAAO,OAAMW,EAAE,OAAOV,GAAEA,IAAGU,GAAG,GAAG,MAAMV,EAAEU,IAAIT,EAAE,OAAOD,EAAEU,IAAIT,EAAE,OAAOD,EAAEC,GAAG,IAAIS,EAAEkkB,QAAQ3kB,GAAG,OAAOD,EAAEC,GAAGS,EAAEkkB,QAAQ3kB,IAAG,EAAG,OAAOD,EAAEC,GAAGS,EAAEY,OAAOrB,EAAE2D,UAAU3D,EAAE,OAAOD,GAAG,IAAIU,EAAEsD,QAAQgW,GAAE,KAAK,KAAK4K,QAAQ3kB,IAAG,EAAG,OAAOD,IAAEU,IAAIT,GAAGS,EAAEY,MAAM,EAAErB,EAAE2D,OAAO,KAAK3D,EAAE,QAAaynB,MAAM,SAAS3nB,EAAEC,EAAEC,EAAEQ,EAAEC,GAAG,GAAIC,GAAE,QAAQZ,EAAEuB,MAAM,EAAE,GAAGV,EAAE,SAASb,EAAEuB,OAAM,GAAIR,EAAE,YAAYd,CAAE,OAAO,KAAIS,GAAG,IAAIC,EAAE,SAASX,GAAG,QAAQA,EAAEoG,YAAY,SAASnG,EAAEC,EAAEc,GAAG,GAAIZ,GAAEG,EAAEmC,EAAEvB,EAAE+B,EAAEC,EAAE9B,EAAET,IAAIC,EAAE,cAAc,kBAAkBS,EAAErB,EAAEmG,WAAW5F,EAAEO,GAAGd,EAAEgJ,SAAS3G,cAAcd,GAAGR,IAAID,EAAEN,GAAE,CAAG,IAAGa,EAAE,CAAC,GAAGV,EAAE,CAAC,KAAMS,GAAE,CAAK,IAAJF,EAAElB,EAAQkB,EAAEA,EAAEE,IAAG,GAAGN,EAAEI,EAAE8H,SAAS3G,gBAAgB9B,EAAE,IAAIW,EAAEgT,SAAS,OAAM,CAAGhR,GAAE9B,EAAE,SAASrB,IAAImD,GAAG,cAAc,OAAM,EAAG,GAAGA,GAAGtC,EAAES,EAAEyB,WAAWzB,EAAEwB,WAAWjC,GAAGW,GAAwH,IAArHL,EAAEG,EAAEoB,EAAEvB,EAAEhB,KAAKgB,EAAEhB,OAAOI,EAAEmC,EAAEvB,EAAEylB,YAAYlkB,EAAEvB,EAAEylB,cAAcxmB,EAAEG,EAAEP,OAAOkD,EAAE9C,EAAE,KAAKE,GAAGF,EAAE,GAAGK,EAAEyC,GAAG9C,EAAE,GAAGe,EAAE+B,GAAG5B,EAAE+C,WAAWnB,GAAS/B,IAAI+B,GAAG/B,GAAGA,EAAEE,KAAKZ,EAAEyC,EAAE,IAAIC,EAAEuD,OAAM,GAAG,IAAIvF,EAAEgT,YAAY1T,GAAGU,IAAIlB,EAAE,CAACM,EAAEP,IAAIM,EAAE4C,EAAEzC,EAAG,YAAY,IAAGe,IAAIL,EAAElB,EAAEyC,EAAEvB,EAAEhB,KAAKgB,EAAEhB,OAAOI,EAAEmC,EAAEvB,EAAEylB,YAAYlkB,EAAEvB,EAAEylB,cAAcxmB,EAAEG,EAAEP,OAAOkD,EAAE9C,EAAE,KAAKE,GAAGF,EAAE,GAAGK,EAAEyC,GAAGzC,KAAI,EAAG,MAAMU,IAAI+B,GAAG/B,GAAGA,EAAEE,KAAKZ,EAAEyC,EAAE,IAAIC,EAAEuD,UAAU3F,EAAEI,EAAE8H,SAAS3G,gBAAgB9B,EAAE,IAAIW,EAAEgT,cAAa1T,IAAIe,IAAIkB,EAAEvB,EAAEhB,KAAKgB,EAAEhB,OAAOI,EAAEmC,EAAEvB,EAAEylB,YAAYlkB,EAAEvB,EAAEylB,cAAcrmB,EAAEP,IAAIM,EAAEG,IAAIU,IAAIlB,MAAS,MAAOQ,IAAGE,EAAEF,IAAIC,GAAGD,EAAEC,IAAI,GAAGD,EAAEC,GAAG,KAAKgnB,OAAO,SAAS1nB,EAAEC,GAAG,GAAIC,GAAES,EAAED,EAAEopB,QAAQ9pB,IAAIU,EAAEqpB,WAAW/pB,EAAEsC,gBAAgB0jB,EAAGxB,MAAM,uBAAuBxkB,EAAG,OAAOW,GAAER,GAAGQ,EAAEV,GAAGU,EAAEkD,OAAO,GAAG3D,GAAGF,EAAEA,EAAE,GAAGC,GAAGS,EAAEqpB,WAAWtoB,eAAezB,EAAEsC,eAAesZ,EAAG,SAAS5b,EAAEE,GAA6B,IAA1B,GAAIQ,GAAEE,EAAED,EAAEX,EAAEC,GAAGY,EAAED,EAAEiD,OAAahD,KAAIH,EAAEgZ,GAAE1Z,EAAEY,EAAEC,IAAIb,EAAEU,KAAKR,EAAEQ,GAAGE,EAAEC,MAAM,SAASb,GAAG,MAAOW,GAAEX,EAAE,EAAEE,KAAKS,IAAImpB,SAASE,IAAIpO,EAAG,SAAS5b,GAAG,GAAIC,MAAKC,KAAKQ,EAAEK,EAAEf,EAAEiE,QAAQ+V,GAAE,MAAO,OAAOtZ,GAAEP,GAAGyb,EAAG,SAAS5b,EAAEC,EAAEC,EAAES,GAAqC,IAAlC,GAAIC,GAAEC,EAAEH,EAAEV,EAAE,KAAKW,MAAMI,EAAEf,EAAE6D,OAAa9C,MAAKH,EAAEC,EAAEE,MAAMf,EAAEe,KAAKd,EAAEc,GAAGH,MAAM,SAASZ,EAAEW,EAAEC,GAAG,MAAOX,GAAE,GAAGD,EAAEU,EAAET,EAAE,KAAKW,EAAEV,GAAGD,EAAE,GAAG,MAAMC,EAAEwG,SAASujB,IAAIrO,EAAG,SAAS5b,GAAG,MAAO,UAASC,GAAG,MAAO+lB,GAAGhmB,EAAEC,GAAG4D,OAAO,KAAK2X,SAASI,EAAG,SAAS5b,GAAG,MAAOA,GAAEA,EAAEiE,QAAQ+W,GAAGD,IAAI,SAAS9a,GAAG,OAAOA,EAAEob,aAAapb,EAAEiqB,WAAWvpB,EAAEV,IAAI4kB,QAAQ7kB,IAAG,KAAMmqB,KAAKvO,EAAG,SAAS5b,GAAG,MAAO+f,IAAEzc,KAAKtD,GAAG,KAAKgmB,EAAGxB,MAAM,qBAAqBxkB,GAAGA,EAAEA,EAAEiE,QAAQ+W,GAAGD,IAAIzY,cAAc,SAASrC,GAAG,GAAIC,EAAE,GAAG,IAAGA,EAAEmB,EAAEpB,EAAEkqB,KAAKlqB,EAAEkO,aAAa,aAAalO,EAAEkO,aAAa,QAAQ,MAAOjO,GAAEA,EAAEoC,cAAcpC,IAAIF,GAAG,IAAIE,EAAE2kB,QAAQ7kB,EAAE,YAAYC,EAAEA,EAAEmG,aAAa,IAAInG,EAAEkU,SAAU,QAAM,KAAMiW,OAAO,SAASnqB,GAAG,GAAIC,GAAEF,EAAEqqB,UAAUrqB,EAAEqqB,SAASC,IAAK,OAAOpqB,IAAGA,EAAEqB,MAAM,KAAKtB,EAAEimB,IAAIqE,KAAK,SAASvqB,GAAG,MAAOA,KAAImD,GAAGqnB,MAAM,SAASxqB,GAAG,MAAOA,KAAIkD,EAAE4Y,iBAAiB5Y,EAAEunB,UAAUvnB,EAAEunB,gBAAgBzqB,EAAEwE,MAAMxE,EAAEiI,OAAOjI,EAAE0qB,WAAWC,QAAQ,SAAS3qB,GAAG,MAAOA,GAAE4qB,YAAW,GAAIA,SAAS,SAAS5qB,GAAG,MAAOA,GAAE4qB,YAAW,GAAI5N,QAAQ,SAAShd,GAAG,GAAIC,GAAED,EAAEiJ,SAAS3G,aAAc,OAAM,UAAUrC,KAAKD,EAAEgd,SAAS,WAAW/c,KAAKD,EAAE6qB,UAAUA,SAAS,SAAS7qB,GAAG,MAAOA,GAAEoG,YAAYpG,EAAEoG,WAAW0kB,cAAc9qB,EAAE6qB,YAAW,GAAIhK,MAAM,SAAS7gB,GAAG,IAAIA,EAAEA,EAAE+C,WAAW/C,EAAEA,EAAEA,EAAEymB,YAAY,GAAGzmB,EAAEmU,SAAS,EAAE,OAAM,CAAG,QAAM,GAAIkD,OAAO,SAASrX,GAAG,OAAOU,EAAEopB,QAAQjJ,MAAM7gB,IAAI+qB,OAAO,SAAS/qB,GAAG,MAAOib,IAAE3X,KAAKtD,EAAEiJ,WAAWqF,MAAM,SAAStO,GAAG,MAAO+c,IAAEzZ,KAAKtD,EAAEiJ,WAAW+hB,OAAO,SAAShrB,GAAG,GAAIC,GAAED,EAAEiJ,SAAS3G,aAAc,OAAM,UAAUrC,GAAG,WAAWD,EAAEwE,MAAM,WAAWvE,GAAGylB,KAAK,SAAS1lB,GAAG,GAAIC,EAAE,OAAM,UAAUD,EAAEiJ,SAAS3G,eAAe,SAAStC,EAAEwE,OAAO,OAAOvE,EAAED,EAAEmO,aAAa,UAAU,SAASlO,EAAEqC,gBAAgB6iB,MAAM5I,EAAG,WAAW,OAAO,KAAK9D,KAAK8D,EAAG,SAASvc,EAAEC,GAAG,OAAOA,EAAE,KAAKmd,GAAGb,EAAG,SAASvc,EAAEC,EAAEC,GAAG,OAAO,EAAEA,EAAEA,EAAED,EAAEC,KAAK+qB,KAAK1O,EAAG,SAASvc,EAAEC,GAAG,IAAI,GAAIC,GAAE,EAAED,EAAEC,EAAEA,GAAG,EAAEF,EAAEuC,KAAKrC,EAAG,OAAOF,KAAIkrB,IAAI3O,EAAG,SAASvc,EAAEC,GAAG,IAAI,GAAIC,GAAE,EAAED,EAAEC,EAAEA,GAAG,EAAEF,EAAEuC,KAAKrC,EAAG,OAAOF,KAAImrB,GAAG5O,EAAG,SAASvc,EAAEC,EAAEC,GAAG,IAAI,GAAIQ,GAAE,EAAER,EAAEA,EAAED,EAAEC,IAAIQ,GAAG,GAAGV,EAAEuC,KAAK7B,EAAG,OAAOV,KAAIorB,GAAG7O,EAAG,SAASvc,EAAEC,EAAEC,GAAG,IAAI,GAAIQ,GAAE,EAAER,EAAEA,EAAED,EAAEC,IAAIQ,EAAET,GAAGD,EAAEuC,KAAK7B,EAAG,OAAOV,OAAMU,EAAEopB,QAAQuB,IAAI3qB,EAAEopB,QAAQ1M,EAAG,KAAInd,KAAKqrB,OAAM,EAAGC,UAAS,EAAGC,MAAK,EAAGC,UAAS,EAAGrhB,OAAM,GAAI1J,EAAEopB,QAAQ7pB,GAAGymB,EAAGzmB,EAAG,KAAIA,KAAKyrB,QAAO,EAAGC,OAAM,GAAIjrB,EAAEopB,QAAQ7pB,GAAGkd,EAAGld,EAA6/F,OAA3+Fmc,GAAGxa,UAAUlB,EAAEkrB,QAAQlrB,EAAEopB,QAAQppB,EAAEqpB,WAAW,GAAI3N,GAAGvb,EAAEmlB,EAAGtW,SAAS,SAAS1P,EAAEC,GAAG,GAAIC,GAAES,EAAEC,EAAEC,EAAEE,EAAEC,EAAEZ,EAAEG,EAAE8B,EAAErC,EAAE,IAAK,IAAGO,EAAE,MAAON,GAAE,EAAEM,EAAEgB,MAAM,EAA0B,KAAvBR,EAAEf,EAAEgB,KAAKZ,EAAEM,EAAEmpB,UAAgB9oB,GAAE,GAAGb,IAAIS,EAAEoZ,GAAErL,KAAK3N,OAAOJ,IAAII,EAAEA,EAAEQ,MAAMZ,EAAE,GAAGkD,SAAS9C,GAAGC,EAAEuB,KAAK3B,OAAOV,GAAE,GAAIS,EAAE2mB,GAAE5Y,KAAK3N,MAAMb,EAAES,EAAEiE,QAAQhE,EAAE2B,MAAMyM,MAAM9O,EAAEsE,KAAK7D,EAAE,GAAGsD,QAAQ+V,GAAE,OAAOjZ,EAAEA,EAAEQ,MAAMrB,EAAE2D,QAAS,KAAIhD,IAAKH,GAAE2Y,SAAS1Y,EAAEyZ,GAAEvZ,GAAG6N,KAAK3N,KAAKX,EAAES,MAAMF,EAAEP,EAAES,GAAGF,MAAMT,EAAES,EAAEiE,QAAQhE,EAAE2B,MAAMyM,MAAM9O,EAAEsE,KAAK3D,EAAE8U,QAAQhV,IAAII,EAAEA,EAAEQ,MAAMrB,EAAE2D,QAAS,KAAI3D,EAAE,MAAM,MAAOD,GAAEc,EAAE8C,OAAO9C,EAAEilB,EAAGxB,MAAMxkB,GAAGqC,EAAErC,EAAEgB,GAAGO,MAAM,IAA8+ER,EAAEilB,EAAG6F,QAAQ,SAAS7rB,EAAEC,GAAG,GAAIC,GAAEQ,KAAKC,KAAKC,EAAEoF,EAAEhG,EAAE,IAAK,KAAIY,EAAE,CAAwB,IAAvBX,IAAIA,EAAEY,EAAEb,IAAIE,EAAED,EAAE4D,OAAa3D,KAAIU,EAAEsd,EAAGje,EAAEC,IAAIU,EAAET,GAAGO,EAAE6B,KAAK3B,GAAGD,EAAE4B,KAAK3B,EAAGA,GAAEoF,EAAEhG,EAAEie,EAAGtd,EAAED,IAAIE,EAAEmkB,SAAS/kB,EAAE,MAAOY,IAAGI,EAAEglB,EAAG8F,OAAO,SAAS9rB,EAAEC,EAAEU,EAAEC,GAAG,GAAII,GAAEZ,EAAEG,EAAEmC,EAAEvB,EAAE+B,EAAE,kBAAmBlD,IAAGA,EAAEmD,GAAGvC,GAAGC,EAAEb,EAAEkD,EAAE6hB,UAAU/kB,EAAG,IAAGW,EAAEA,MAAM,IAAIwC,EAAEU,OAAO,CAAC,GAAGzD,EAAE+C,EAAE,GAAGA,EAAE,GAAG5B,MAAM,GAAGnB,EAAEyD,OAAO,GAAG,QAAQtD,EAAEH,EAAE,IAAIoE,MAAMtE,EAAEooB,SAAS,IAAIroB,EAAEkU,UAAU9S,GAAGX,EAAEmmB,SAASzmB,EAAE,GAAGoE,MAAM,CAAC,GAAGvE,GAAGS,EAAEomB,KAAKS,GAAGhnB,EAAEoV,QAAQ,GAAG1R,QAAQ+W,GAAGD,IAAI9a,QAAQ,IAAIA,EAAE,MAAOU,EAAEuC,KAAIjD,EAAEA,EAAEmG,YAAYpG,EAAEA,EAAEuB,MAAMnB,EAAEwE,QAAQoK,MAAMnL,QAA4C,IAApC7C,EAAEoZ,GAAEyN,aAAavkB,KAAKtD,GAAG,EAAEI,EAAEyD,OAAa7C,MAAQT,EAAEH,EAAEY,IAAGN,EAAEmmB,SAASnkB,EAAEnC,EAAEiE,QAAY,IAAIrD,EAAET,EAAEomB,KAAKpkB,MAAM9B,EAAEO,EAAEZ,EAAEoV,QAAQ,GAAG1R,QAAQ+W,GAAGD,IAAIpC,GAAErV,KAAKlD,EAAE,GAAGoE,OAAOkZ,EAAGzd,EAAEmG,aAAanG,IAAI,CAAC,GAAGG,EAAEwF,OAAO5E,EAAE,GAAGhB,EAAEY,EAAEiD,QAAQwY,EAAGjc,IAAIJ,EAAE,MAAOuZ,GAAErX,MAAMvB,EAAEC,GAAGD,CAAE,QAAQ,OAAOuC,GAAGnC,EAAEf,EAAEmD,IAAIvC,EAAEX,GAAGoB,EAAEV,GAAGV,GAAG0Y,GAAErV,KAAKtD,IAAI0d,EAAGzd,EAAEmG,aAAanG,GAAGU,GAAGT,EAAEkpB,WAAWjpB,EAAE8C,MAAM,IAAI+T,KAAKnS,GAAGb,KAAK,MAAM7D,EAAED,EAAEipB,mBAAmBzmB,EAAEvB,IAAIjB,EAAE8oB,aAAanN,EAAG,SAAS7b,GAAG,MAAO,GAAEA,EAAE+oB,wBAAwB7lB,EAAEjC,cAAc,UAAU4a,EAAG,SAAS7b,GAAG,MAAOA,GAAE4C,UAAU,mBAAmB,MAAM5C,EAAE+C,WAAWoL,aAAa,WAAW4N,EAAG,yBAAyB,SAAS/b,EAAEC,EAAEC,GAAG,MAAOA,GAAE,OAAOF,EAAEmO,aAAalO,EAAE,SAASA,EAAEqC,cAAc,EAAE,KAAKpC,EAAEkoB,YAAYvM,EAAG,SAAS7b,GAAG,MAAOA,GAAE4C,UAAU,WAAW5C,EAAE+C,WAAWiF,aAAa,QAAQ,IAAI,KAAKhI,EAAE+C,WAAWoL,aAAa,YAAY4N,EAAG,QAAQ,SAAS/b,EAAEC,EAAEC,GAAG,MAAOA,IAAG,UAAUF,EAAEiJ,SAAS3G,cAAc,OAAOtC,EAAEid,eAAepB,EAAG,SAAS7b,GAAG,MAAO,OAAMA,EAAEmO,aAAa,eAAe4N,EAAGqL,GAAE,SAASpnB,EAAEC,EAAEC,GAAG,GAAIQ,EAAE,OAAOR,GAAE,OAAOF,EAAEC,MAAK,EAAGA,EAAEqC,eAAe5B,EAAEV,EAAEwoB,iBAAiBvoB,KAAKS,EAAEwoB,UAAUxoB,EAAEsO,MAAM,OAAOgX,GAAIhmB,EAAGkD,IAAE4jB,KAAKrmB,GAAEyC,GAAE6oB,KAAKtrB,GAAE8oB,UAAUrmB,GAAE6oB,KAAK,KAAK7oB,GAAE6oB,KAAKjC,QAAQ5mB,GAAE8jB,WAAW9jB,GAAE8oB,OAAOvrB,GAAEumB,WAAW9jB,GAAEwiB,KAAKjlB,GAAE4oB,QAAQnmB,GAAE+oB,SAASxrB,GAAEynB,MAAMhlB,GAAEsY,SAAS/a,GAAE+a,QAAS,IAAIrb,IAAE,SAASH,EAAEC,EAAEC,GAAyB,IAAtB,GAAIQ,MAAKC,EAAE,SAAST,GAASF,EAAEA,EAAEC,KAAK,IAAID,EAAEmU,UAAS,GAAG,IAAInU,EAAEmU,SAAS,CAAC,GAAGxT,GAAGuC,GAAElD,GAAGksB,GAAGhsB,GAAG,KAAMQ,GAAE6B,KAAKvC,GAAG,MAAOU,IAAGmF,GAAE,SAAS7F,EAAEC,GAAG,IAAI,GAAIC,MAAKF,EAAEA,EAAEA,EAAEymB,YAAY,IAAIzmB,EAAEmU,UAAUnU,IAAIC,GAAGC,EAAEqC,KAAKvC,EAAG,OAAOE,IAAGI,GAAE4C,GAAE6oB,KAAKxjB,MAAMsf,aAAa7iB,GAAE,gCAAgCK,GAAE,gBAAgTnC,IAAEmW,OAAO,SAASrZ,EAAEC,EAAEC,GAAG,GAAIQ,GAAET,EAAE,EAAG,OAAOC,KAAIF,EAAE,QAAQA,EAAE,KAAK,IAAIC,EAAE4D,QAAQ,IAAInD,EAAEyT,SAASjR,GAAE4jB,KAAK2B,gBAAgB/nB,EAAEV,IAAIU,MAAMwC,GAAE4jB,KAAKnR,QAAQ3V,EAAEkD,GAAEkW,KAAKnZ,EAAE,SAASD,GAAG,MAAO,KAAIA,EAAEmU,aAAajR,GAAEgQ,GAAG2J,QAAQiK,KAAK,SAAS9mB,GAAG,GAAIC,GAAEC,EAAE6B,KAAK8B,OAAOnD,KAAKC,EAAEoB,IAAK,IAAG,gBAAiB/B,GAAE,MAAO+B,MAAKkjB,UAAU/hB,GAAElD,GAAGqZ,OAAO,WAAW,IAAIpZ,EAAE,EAAEC,EAAED,EAAEA,IAAI,GAAGiD,GAAEsY,SAAS7a,EAAEV,GAAG8B,MAAM,OAAM,IAAM,KAAI9B,EAAE,EAAEC,EAAED,EAAEA,IAAIiD,GAAE4jB,KAAK9mB,EAAEW,EAAEV,GAAGS,EAAG,OAAOA,GAAEqB,KAAKkjB,UAAU/kB,EAAE,EAAEgD,GAAE8oB,OAAOtrB,GAAGA,GAAGA,EAAEqkB,SAAShjB,KAAKgjB,SAAShjB,KAAKgjB,SAAS,IAAI/kB,EAAEA,EAAEU,GAAG2Y,OAAO,SAASrZ,GAAG,MAAO+B,MAAKkjB,UAAU5iB,EAAEN,KAAK/B,OAAM,KAAMgqB,IAAI,SAAShqB,GAAG,MAAO+B,MAAKkjB,UAAU5iB,EAAEN,KAAK/B,OAAM,KAAMksB,GAAG,SAASlsB,GAAG,QAAQqC,EAAEN,KAAK,gBAAiB/B,IAAGM,GAAEgD,KAAKtD,GAAGkD,GAAElD,GAAGA,OAAM,GAAI6D,SAAU,IAAImC,IAAEnB,GAAE,sCAAsC2hB,GAAEtjB,GAAEgQ,GAAGrJ,KAAK,SAAS7J,EAAEC,EAAEC,GAAG,GAAIS,GAAEC,CAAE,KAAIZ,EAAE,MAAO+B,KAAK,IAAG7B,EAAEA,GAAG8F,GAAE,gBAAiBhG,GAAE,CAAC,GAAGW,EAAE,MAAMX,EAAE,IAAI,MAAMA,EAAEA,EAAE6D,OAAO,IAAI7D,EAAE6D,QAAQ,GAAG,KAAK7D,EAAE,MAAM6E,GAAE6J,KAAK1O,IAAIW,IAAIA,EAAE,IAAIV,EAAE,OAAOA,GAAGA,EAAE6kB,QAAQ7kB,GAAGC,GAAG4mB,KAAK9mB,GAAG+B,KAAKJ,YAAY1B,GAAG6mB,KAAK9mB,EAAG,IAAGW,EAAE,GAAG,CAAC,GAAGV,EAAEA,YAAaiD,IAAEjD,EAAE,GAAGA,EAAEiD,GAAEyX,MAAM5Y,KAAKmB,GAAEipB,UAAUxrB,EAAE,GAAGV,GAAGA,EAAEkU,SAASlU,EAAEwb,eAAexb,EAAES,GAAE,IAAKsE,GAAE1B,KAAK3C,EAAE,KAAKuC,GAAEkiB,cAAcnlB,GAAG,IAAIU,IAAKV,GAAEiD,GAAEiW,WAAWpX,KAAKpB,IAAIoB,KAAKpB,GAAGV,EAAEU,IAAIoB,KAAKknB,KAAKtoB,EAAEV,EAAEU,GAAI,OAAOoB,MAAK,MAAOnB,GAAEF,EAAEulB,eAAetlB,EAAE,IAAIC,GAAGA,EAAEwF,aAAarE,KAAK8B,OAAO,EAAE9B,KAAK,GAAGnB,GAAGmB,KAAKqS,QAAQ1T,EAAEqB,KAAKgjB,SAAS/kB,EAAE+B,KAAK,MAAO/B,GAAEmU,UAAUpS,KAAKqS,QAAQrS,KAAK,GAAG/B,EAAE+B,KAAK8B,OAAO,EAAE9B,MAAMmB,GAAEiW,WAAWnZ,GAAG,SAASE,EAAEyZ,MAAMzZ,EAAEyZ,MAAM3Z,GAAGA,EAAEkD,KAAI,SAASlD,EAAE+kB,WAAWhjB,KAAKgjB,SAAS/kB,EAAE+kB,SAAShjB,KAAKqS,QAAQpU,EAAEoU,SAASlR,GAAE0iB,UAAU5lB,EAAE+B,OAAQykB,IAAE5kB,UAAUsB,GAAEgQ,GAAGlN,GAAE9C,GAAExC,EAAG,IAAIumB,IAAE,iCAAiCC,IAAGkF,UAAS,EAAGpI,UAAS,EAAGqI,MAAK,EAAGC,MAAK,EAAIppB,IAAEgQ,GAAG2J,QAAQoN,IAAI,SAASjqB,GAAG,GAAIC,GAAEiD,GAAElD,EAAE+B,MAAM7B,EAAED,EAAE4D,MAAO,OAAO9B,MAAKsX,OAAO,WAAW,IAAI,GAAIrZ,GAAE,EAAEE,EAAEF,EAAEA,IAAI,GAAGkD,GAAEsY,SAASzZ,KAAK9B,EAAED,IAAI,OAAM,KAAMusB,QAAQ,SAASvsB,EAAEC,GAAG,IAAI,GAAIC,GAAEQ,EAAE,EAAEC,EAAEoB,KAAK8B,OAAOjD,KAAKC,EAAEP,GAAEgD,KAAKtD,IAAI,gBAAiBA,GAAEkD,GAAElD,EAAEC,GAAG8B,KAAKqS,SAAS,EAAEzT,EAAED,EAAEA,IAAI,IAAIR,EAAE6B,KAAKrB,GAAGR,GAAGA,IAAID,EAAEC,EAAEA,EAAEkG,WAAW,GAAGlG,EAAEiU,SAAS,KAAKtT,EAAEA,EAAE2S,MAAMtT,IAAG,EAAG,IAAIA,EAAEiU,UAAUjR,GAAE4jB,KAAK2B,gBAAgBvoB,EAAEF,IAAI,CAACY,EAAE2B,KAAKrC,EAAG,OAAM,MAAO6B,MAAKkjB,UAAUrkB,EAAEiD,OAAO,EAAEX,GAAE8jB,WAAWpmB,GAAGA,IAAI4S,MAAM,SAASxT,GAAG,MAAOA,GAAE,gBAAiBA,GAAEe,EAAEW,KAAKwB,GAAElD,GAAG+B,KAAK,IAAIhB,EAAEW,KAAKK,KAAK/B,EAAE8kB,OAAO9kB,EAAE,GAAGA,GAAG+B,KAAK,IAAIA,KAAK,GAAGqE,WAAWrE,KAAKojB,QAAQqH,UAAU3oB,QAAO,GAAIsY,IAAI,SAASnc,EAAEC,GAAG,MAAO8B,MAAKkjB,UAAU/hB,GAAE8jB,WAAW9jB,GAAEyX,MAAM5Y,KAAK+Y,MAAM5X,GAAElD,EAAEC,OAAOwsB,QAAQ,SAASzsB,GAAG,MAAO+B,MAAKoa,IAAI,MAAMnc,EAAE+B,KAAKmjB,WAAWnjB,KAAKmjB,WAAW7L,OAAOrZ,OAAgEkD,GAAEsW,MAAMnC,OAAO,SAASrX,GAAG,GAAIC,GAAED,EAAEoG,UAAW,OAAOnG,IAAG,KAAKA,EAAEkU,SAASlU,EAAE,MAAMysB,QAAQ,SAAS1sB,GAAG,MAAOG,IAAEH,EAAE,eAAe2sB,aAAa,SAAS3sB,EAAEC,EAAEC,GAAG,MAAOC,IAAEH,EAAE,aAAaE,IAAImsB,KAAK,SAASrsB,GAAG,MAAOsZ,GAAEtZ,EAAE,gBAAgBssB,KAAK,SAAStsB,GAAG,MAAOsZ,GAAEtZ,EAAE,oBAAoB4sB,QAAQ,SAAS5sB,GAAG,MAAOG,IAAEH,EAAE,gBAAgBwsB,QAAQ,SAASxsB,GAAG,MAAOG,IAAEH,EAAE,oBAAoB6sB,UAAU,SAAS7sB,EAAEC,EAAEC,GAAG,MAAOC,IAAEH,EAAE,cAAcE,IAAI4sB,UAAU,SAAS9sB,EAAEC,EAAEC,GAAG,MAAOC,IAAEH,EAAE,kBAAkBE,IAAI6sB,SAAS,SAAS/sB,GAAG,MAAO6F,KAAG7F,EAAEoG,gBAAgBrD,WAAW/C,IAAIosB,SAAS,SAASpsB,GAAG,MAAO6F,IAAE7F,EAAE+C,aAAaihB,SAAS,SAAShkB,GAAG,MAAOA,GAAEme,iBAAiBjb,GAAEyX,SAAS3a,EAAEqE,cAAc,SAASrE,EAAEC,GAAGiD,GAAEgQ,GAAGlT,GAAG,SAASE,EAAEQ,GAAG,GAAIC,GAAEuC,GAAEoa,IAAIvb,KAAK9B,EAAEC,EAAG,OAAM,UAAUF,EAAEuB,OAAM,KAAMb,EAAER,GAAGQ,GAAG,gBAAiBA,KAAIC,EAAEuC,GAAEmW,OAAO3Y,EAAEC,IAAIoB,KAAK8B,OAAO,IAAIqjB,GAAElnB,IAAIkD,GAAE8jB,WAAWrmB,GAAGsmB,GAAE3jB,KAAKtD,IAAIW,EAAEqsB,WAAWjrB,KAAKkjB,UAAUtkB,KAAM,IAAI8Y,IAAE,MAAqFvW,IAAE+pB,UAAU,SAASjtB,GAAGA,EAAE,gBAAiBA,GAAEuZ,EAAEvZ,GAAGkD,GAAE2Z,UAAU7c,EAAG,IAAIC,GAAEC,EAAEQ,EAAEC,EAAEC,KAAKC,KAAKE,GAAE,EAAGC,EAAE,WAAW,IAAIL,EAAEX,EAAEktB,KAAKxsB,EAAET,GAAE,EAAGY,EAAEgD,OAAO9C,GAAE,EAAgB,IAAZb,EAAEW,EAAE+D,UAAgB7D,EAAEH,EAAEiD,QAAOjD,EAAEG,GAAGmB,MAAMhC,EAAE,GAAGA,EAAE,OAAM,GAAIF,EAAEmtB,cAAcpsB,EAAEH,EAAEiD,OAAO3D,GAAE,EAAIF,GAAEotB,SAASltB,GAAE,GAAID,GAAE,EAAGU,IAAIC,EAAEV,KAAK,KAAKE,GAAG+b,IAAI,WAAW,MAAOvb,KAAIV,IAAID,IAAIc,EAAEH,EAAEiD,OAAO,EAAEhD,EAAE0B,KAAKrC,IAAI,QAASQ,GAAET,GAAGiD,GAAEsW,KAAKvZ,EAAE,SAASA,EAAEC,GAAGgD,GAAEiW,WAAWjZ,GAAGF,EAAEgsB,QAAQ5rB,EAAE6pB,IAAI/pB,IAAIU,EAAE2B,KAAKrC,GAAGA,GAAGA,EAAE2D,QAAQ,WAAWX,GAAEsB,KAAKtE,IAAIQ,EAAER,MAAM+B,WAAW/B,IAAID,GAAGe,KAAKe,MAAM0f,OAAO,WAAW,MAAOve,IAAEsW,KAAKvX,UAAU,SAASjC,EAAEC,GAAS,IAAN,GAAIC,IAASA,EAAEgD,GAAEqY,QAAQtb,EAAEW,EAAEV,KAAI,GAAGU,EAAEgF,OAAO1F,EAAE,GAAGa,GAAGb,GAAGa,MAAMgB,MAAMkoB,IAAI,SAASjqB,GAAG,MAAOA,GAAEkD,GAAEqY,QAAQvb,EAAEY,IAAG,EAAGA,EAAEiD,OAAO,GAAGgd,MAAM,WAAW,MAAOjgB,KAAIA,MAAMmB,MAAMsrB,QAAQ,WAAW,MAAO1sB,GAAEE,KAAKD,EAAEV,EAAE,GAAG6B,MAAM6oB,SAAS,WAAW,OAAOhqB,GAAG0sB,KAAK,WAAW,MAAO3sB,GAAEE,KAAKX,IAAIU,EAAEV,EAAE,IAAI6B,MAAMwrB,OAAO,WAAW,QAAQ5sB,GAAG6sB,SAAS,SAASxtB,EAAEE,GAAG,MAAOS,KAAIT,EAAEA,MAAMA,GAAGF,EAAEE,EAAEqB,MAAMrB,EAAEqB,QAAQrB,GAAGW,EAAE0B,KAAKrC,GAAGD,GAAGe,KAAKe,MAAM+e,KAAK,WAAW,MAAO1gB,GAAEotB,SAASzrB,KAAKE,WAAWF,MAAM0rB,MAAM,WAAW,QAAQ/sB,GAAI,OAAON,IAAG8C,GAAE2Z,QAAQkF,SAAS,SAAS/hB,GAAG,GAAIC,KAAI,UAAU,OAAOiD,GAAE+pB,UAAU,eAAe,aAAa,SAAS,OAAO/pB,GAAE+pB,UAAU,eAAe,aAAa,SAAS,WAAW/pB,GAAE+pB,UAAU,YAAY/sB,EAAE,UAAUQ,GAAGmP,MAAM,WAAW,MAAO3P,IAAG6gB,OAAO,WAAW,MAAOpgB,GAAE4gB,KAAKtf,WAAWohB,KAAKphB,WAAWF,MAAM2rB,KAAK,WAAW,GAAI1tB,GAAEiC,SAAU,OAAOiB,IAAE6e,SAAS,SAAS7hB,GAAGgD,GAAEsW,KAAKvZ,EAAE,SAASA,EAAEW,GAAG,GAAIC,GAAEqC,GAAEiW,WAAWnZ,EAAEC,KAAKD,EAAEC,EAAGU,GAAEC,EAAE,IAAI,WAAW,GAAIZ,GAAEa,GAAGA,EAAEqB,MAAMH,KAAKE,UAAWjC,IAAGkD,GAAEiW,WAAWnZ,EAAEsiB,SAAStiB,EAAEsiB,UAAUc,SAASljB,EAAEytB,QAAQpM,KAAKrhB,EAAE0tB,SAASvK,KAAKnjB,EAAE2tB,QAAQ3tB,EAAEU,EAAE,GAAG,QAAQmB,OAAOrB,EAAER,EAAEoiB,UAAUvgB,KAAKlB,GAAGb,GAAGiC,eAAejC,EAAE,OAAOsiB,WAAWA,QAAQ,SAAStiB,GAAG,MAAO,OAAMA,EAAEkD,GAAE2Z,OAAO7c,EAAEU,GAAGA,IAAIC,IAAK,OAAOD,GAAEotB,KAAKptB,EAAEgtB,KAAKxqB,GAAEsW,KAAKvZ,EAAE,SAASD,EAAEY,GAAG,GAAIC,GAAED,EAAE,GAAGG,EAAEH,EAAE,EAAGF,GAAEE,EAAE,IAAIC,EAAEsb,IAAIpb,GAAGF,EAAEsb,IAAI,WAAWjc,EAAEa,GAAGd,EAAE,EAAED,GAAG,GAAGqtB,QAAQptB,EAAE,GAAG,GAAGqtB,MAAM3sB,EAAEC,EAAE,IAAI,WAAW,MAAOD,GAAEC,EAAE,GAAG,QAAQmB,OAAOpB,EAAED,EAAEqB,KAAKE,WAAWF,MAAMpB,EAAEC,EAAE,GAAG,QAAQC,EAAE2sB,WAAW9sB,EAAE4hB,QAAQ3hB,GAAGX,GAAGA,EAAE0B,KAAKf,EAAEA,GAAGA,GAAGotB,KAAK,SAAS/tB,GAAG,GAAmPgB,GAAEZ,EAAEG,EAAnPN,EAAE,EAAEC,EAAES,EAAEe,KAAKO,WAAWvB,EAAER,EAAE2D,OAAOjD,EAAE,IAAIF,GAAGV,GAAGkD,GAAEiW,WAAWnZ,EAAEsiB,SAAS5hB,EAAE,EAAEG,EAAE,IAAID,EAAEZ,EAAEkD,GAAE6e,WAAWhhB,EAAE,SAASf,EAAEC,EAAEC,GAAG,MAAO,UAASQ,GAAGT,EAAED,GAAG+B,KAAK7B,EAAEF,GAAGiC,UAAU4B,OAAO,EAAElD,EAAEe,KAAKO,WAAWvB,EAAER,IAAIc,EAAEH,EAAEuhB,WAAWniB,EAAEC,KAAKU,GAAGC,EAAEwhB,YAAYpiB,EAAEC,IAAW,IAAGQ,EAAE,EAAE,IAAIM,EAAE,GAAIuF,OAAM7F,GAAGN,EAAE,GAAImG,OAAM7F,GAAGH,EAAE,GAAIgG,OAAM7F,GAAGA,EAAET,EAAEA,IAAIC,EAAED,IAAIiD,GAAEiW,WAAWjZ,EAAED,GAAGqiB,SAASpiB,EAAED,GAAGqiB,UAAUc,SAASriB,EAAEd,EAAEG,EAAEY,IAAIugB,KAAKxgB,EAAEd,EAAEM,EAAEL,IAAImjB,KAAKxiB,EAAEgtB,UAAUjtB,CAAE,OAAOA,IAAGC,EAAEwhB,YAAY9hB,EAAEL,GAAGW,EAAEyhB,YAAa,IAAI6E,GAAEjkB,IAAEgQ,GAAGyG,MAAM,SAAS3Z,GAAG,MAAOkD,IAAEyW,MAAM2I,UAAUf,KAAKvhB,GAAG+B,MAAMmB,GAAE2Z,QAAQyI,SAAQ,EAAG0I,UAAU,EAAEC,UAAU,SAASjuB,GAAGA,EAAEkD,GAAE8qB,YAAY9qB,GAAEyW,OAAM,IAAKA,MAAM,SAAS3Z,IAAIA,KAAI,IAAKkD,GAAE8qB,UAAU9qB,GAAEoiB,WAAWpiB,GAAEoiB,SAAQ,EAAGtlB,KAAI,KAAMkD,GAAE8qB,UAAU,IAAI7G,GAAE9E,YAAY3hB,GAAGwC,KAAIA,GAAEgQ,GAAGgb,iBAAiBhrB,GAAExC,GAAGwtB,eAAe,SAAShrB,GAAExC,GAAGsb,IAAI,eAAkH9Y,GAAEyW,MAAM2I,QAAQ,SAASriB,GAAG,MAAOknB,MAAIA,GAAEjkB,GAAE6e,WAAW,aAAarhB,EAAEuE,YAAY,YAAYvE,EAAEuE,aAAavE,EAAEI,gBAAgBqtB,SAASnuB,EAAEiG,WAAW/C,GAAEyW,QAAQjZ,EAAEmH,iBAAiB,mBAAmB6R,GAAG1Z,EAAE6H,iBAAiB,OAAO6R,KAAKyN,GAAE7E,QAAQriB,IAAIiD,GAAEyW,MAAM2I,SAAU,IAAI8E,IAAE,SAASpnB,EAAEC,EAAEC,EAAEQ,EAAEC,EAAEC,EAAEC,GAAG,GAAIE,GAAE,EAAEC,EAAEhB,EAAE6D,OAAOzD,EAAE,MAAMF,CAAE,IAAG,WAAWgD,GAAEsB,KAAKtE,GAAG,CAACS,GAAE,CAAG,KAAII,IAAKb,GAAEknB,GAAEpnB,EAAEC,EAAEc,EAAEb,EAAEa,IAAG,EAAGH,EAAEC,OAAQ,IAAG,SAASH,IAAIC,GAAE,EAAGuC,GAAEiW,WAAWzY,KAAKG,GAAE,GAAIT,IAAIS,GAAGZ,EAAEyB,KAAK1B,EAAEU,GAAGT,EAAE,OAAOG,EAAEH,EAAEA,EAAE,SAASD,EAAEC,EAAEC,GAAG,MAAOE,GAAEsB,KAAKwB,GAAElD,GAAGE,MAAMD,GAAG,KAAKe,EAAED,EAAEA,IAAId,EAAED,EAAEe,GAAGb,EAAEW,EAAEH,EAAEA,EAAEgB,KAAK1B,EAAEe,GAAGA,EAAEd,EAAED,EAAEe,GAAGb,IAAK,OAAOS,GAAEX,EAAEI,EAAEH,EAAEyB,KAAK1B,GAAGgB,EAAEf,EAAED,EAAE,GAAGE,GAAGU,GAAGymB,GAAE,SAASrnB,GAAG,MAAO,KAAIA,EAAEmU,UAAU,IAAInU,EAAEmU,YAAYnU,EAAEmU,SAAsDyF,GAAEE,IAAI,EAAEF,EAAEhY,WAAWwsB,SAAS,SAASpuB,EAAEC,GAAG,GAAIC,GAAED,KAAM,OAAOD,GAAEmU,SAASnU,EAAE+B,KAAK8X,SAAS3Z,EAAEkC,OAAOisB,eAAeruB,EAAE+B,KAAK8X,SAAS7K,MAAM9O,EAAEouB,UAAS,EAAGC,cAAa,IAAKvuB,EAAE+B,KAAK8X,UAAUzW,MAAM,SAASpD,GAAG,IAAIqnB,GAAErnB,GAAG,QAAS,IAAIC,GAAED,EAAE+B,KAAK8X,QAAS,OAAO5Z,KAAIA,KAAKonB,GAAErnB,KAAKA,EAAEmU,SAASnU,EAAE+B,KAAK8X,SAAS5Z,EAAEmC,OAAOisB,eAAeruB,EAAE+B,KAAK8X,SAAS7K,MAAM/O,EAAEsuB,cAAa,MAAOtuB,GAAGqN,IAAI,SAAStN,EAAEC,EAAEC,GAAG,GAAIQ,GAAEC,EAAEoB,KAAKqB,MAAMpD,EAAG,IAAG,gBAAiBC,GAAEU,EAAEV,GAAGC,MAAO,KAAIQ,IAAKT,GAAEU,EAAED,GAAGT,EAAES,EAAG,OAAOC,IAAGma,IAAI,SAAS9a,EAAEC,GAAG,MAAO,UAASA,EAAE8B,KAAKqB,MAAMpD,GAAGA,EAAE+B,KAAK8X,UAAU7Z,EAAE+B,KAAK8X,SAAS5Z,IAAIyc,OAAO,SAAS1c,EAAEC,EAAEC,GAAG,GAAIQ,EAAE,OAAO,UAAST,GAAGA,GAAG,gBAAiBA,IAAG,SAASC,GAAGQ,EAAEqB,KAAK+Y,IAAI9a,EAAEC,GAAG,SAASS,EAAEA,EAAEqB,KAAK+Y,IAAI9a,EAAEkD,GAAEye,UAAU1hB,MAAM8B,KAAKuL,IAAItN,EAAEC,EAAEC,GAAG,SAASA,EAAEA,EAAED,IAAIwhB,OAAO,SAASzhB,EAAEC,GAAG,GAAIC,GAAEQ,EAAEC,EAAEC,EAAEZ,EAAE+B,KAAK8X,QAAS,IAAG,SAASjZ,EAAE,CAAC,GAAG,SAASX,EAAE8B,KAAKqsB,SAASpuB,OAAO,CAACkD,GAAEsD,QAAQvG,GAAGS,EAAET,EAAEkC,OAAOlC,EAAEqd,IAAIpa,GAAEye,aAAahhB,EAAEuC,GAAEye,UAAU1hB,GAAGA,IAAKW,GAAEF,GAAGT,EAAEU,IAAID,EAAEC,EAAED,EAAEA,IAAKE,IAAGF,GAAGA,EAAE6H,MAAMkR,UAASvZ,EAAEQ,EAAEmD,MAAO,MAAM3D,WAAWU,GAAEF,EAAER,KAAK,SAASD,GAAGiD,GAAEke,cAAcxgB,MAAMZ,EAAEmU,SAASnU,EAAE+B,KAAK8X,SAAS,aAAc7Z,GAAE+B,KAAK8X,YAAY4C,QAAQ,SAASzc,GAAG,GAAIC,GAAED,EAAE+B,KAAK8X,QAAS,OAAO,UAAS5Z,IAAIiD,GAAEke,cAAcnhB,IAAK,IAAI4a,IAAE,GAAIjB,GAAEO,GAAE,GAAIP,GAAEK,GAAE,gCAAgCD,GAAE,QACn+9B9W,IAAE2Z,QAAQJ,QAAQ,SAASzc,GAAG,MAAOma,IAAEsC,QAAQzc,IAAI6a,GAAE4B,QAAQzc,IAAIuF,KAAK,SAASvF,EAAEC,EAAEC,GAAG,MAAOia,IAAEuC,OAAO1c,EAAEC,EAAEC,IAAIsuB,WAAW,SAASxuB,EAAEC,GAAGka,GAAEsH,OAAOzhB,EAAEC,IAAIwuB,MAAM,SAASzuB,EAAEC,EAAEC,GAAG,MAAO2a,IAAE6B,OAAO1c,EAAEC,EAAEC,IAAIwuB,YAAY,SAAS1uB,EAAEC,GAAG4a,GAAE4G,OAAOzhB,EAAEC,MAAMiD,GAAEgQ,GAAG2J,QAAQtX,KAAK,SAASvF,EAAEC,GAAG,GAAIC,GAAEQ,EAAEC,EAAEC,EAAEmB,KAAK,GAAGlB,EAAED,GAAGA,EAAEwnB,UAAW,IAAG,SAASpoB,EAAE,CAAC,GAAG+B,KAAK8B,SAASlD,EAAEwZ,GAAEW,IAAIla,GAAG,IAAIA,EAAEuT,WAAW0G,GAAEC,IAAIla,EAAE,iBAAiB,CAAY,IAAXV,EAAEW,EAAEgD,OAAa3D,KAAIW,EAAEX,KAAKQ,EAAEG,EAAEX,GAAG0Y,KAAK,IAAIlY,EAAEmkB,QAAQ,WAAWnkB,EAAEwC,GAAEye,UAAUjhB,EAAEa,MAAM,IAAIwY,EAAEnZ,EAAEF,EAAEC,EAAED,KAAMma,IAAEvN,IAAI1M,EAAE,gBAAe,GAAI,MAAOD,GAAE,MAAM,gBAAiBX,GAAE+B,KAAKyX,KAAK,WAAWW,GAAE7M,IAAIvL,KAAK/B,KAAKonB,GAAErlB,KAAK,SAAS9B,GAAG,GAAIC,GAAEQ,CAAE,IAAGE,GAAG,SAASX,EAAE,CAAC,GAAGC,EAAEia,GAAEW,IAAIla,EAAEZ,IAAIma,GAAEW,IAAIla,EAAEZ,EAAEiE,QAAQ+V,GAAE,OAAO1X,eAAe,SAASpC,EAAE,MAAOA,EAAE,IAAGQ,EAAEwC,GAAEye,UAAU3hB,GAAGE,EAAEia,GAAEW,IAAIla,EAAEF,GAAG,SAASR,EAAE,MAAOA,EAAE,IAAGA,EAAE6Z,EAAEnZ,EAAEF,EAAE,QAAQ,SAASR,EAAE,MAAOA,OAAOQ,GAAEwC,GAAEye,UAAU3hB,GAAG+B,KAAKyX,KAAK,WAAW,GAAItZ,GAAEia,GAAEW,IAAI/Y,KAAKrB,EAAGyZ,IAAE7M,IAAIvL,KAAKrB,EAAET,GAAGD,EAAE6kB,QAAQ,MAAK,GAAI,SAAS3kB,GAAGia,GAAE7M,IAAIvL,KAAK/B,EAAEC,MAAM,KAAKA,EAAEgC,UAAU4B,OAAO,EAAE,MAAK,IAAK2qB,WAAW,SAASxuB,GAAG,MAAO+B,MAAKyX,KAAK,WAAWW,GAAEsH,OAAO1f,KAAK/B,QAAQkD,GAAE2Z,QAAQ6D,MAAM,SAAS1gB,EAAEC,EAAEC,GAAG,GAAIQ,EAAE,OAAOV,IAAGC,GAAGA,GAAG,MAAM,QAAQS,EAAEma,GAAEC,IAAI9a,EAAEC,GAAGC,KAAKQ,GAAGwC,GAAEsD,QAAQtG,GAAGQ,EAAEma,GAAE6B,OAAO1c,EAAEC,EAAEiD,GAAE0iB,UAAU1lB,IAAIQ,EAAE6B,KAAKrC,IAAIQ,OAAO,QAAQiuB,QAAQ,SAAS3uB,EAAEC,GAAGA,EAAEA,GAAG,IAAK,IAAIC,GAAEgD,GAAEwd,MAAM1gB,EAAEC,GAAGS,EAAER,EAAE2D,OAAOlD,EAAET,EAAE0E,QAAQhE,EAAEsC,GAAEyd,YAAY3gB,EAAEC,GAAGY,EAAE,WAAWqC,GAAEyrB,QAAQ3uB,EAAEC,GAAI,gBAAeU,IAAIA,EAAET,EAAE0E,QAAQlE,KAAKC,IAAI,OAAOV,GAAGC,EAAEsjB,QAAQ,oBAAqB5iB,GAAEmiB,KAAKpiB,EAAEe,KAAK1B,EAAEa,EAAED,KAAKF,GAAGE,GAAGA,EAAEigB,MAAMC,QAAQH,YAAY,SAAS3gB,EAAEC,GAAG,GAAIC,GAAED,EAAE,YAAa,OAAO4a,IAAEC,IAAI9a,EAAEE,IAAI2a,GAAE6B,OAAO1c,EAAEE,GAAG2gB,MAAM3d,GAAE+pB,UAAU,eAAe9Q,IAAI,WAAWtB,GAAE4G,OAAOzhB,GAAGC,EAAE,QAAQC,WAAWgD,GAAEgQ,GAAG2J,QAAQ6D,MAAM,SAAS1gB,EAAEC,GAAG,GAAIC,GAAE,CAAE,OAAM,gBAAiBF,KAAIC,EAAED,EAAEA,EAAE,KAAKE,KAAK+B,UAAU4B,OAAO3D,EAAEgD,GAAEwd,MAAM3e,KAAK,GAAG/B,GAAG,SAASC,EAAE8B,KAAKA,KAAKyX,KAAK,WAAW,GAAItZ,GAAEgD,GAAEwd,MAAM3e,KAAK/B,EAAEC,EAAGiD,IAAEyd,YAAY5e,KAAK/B,GAAG,OAAOA,GAAG,eAAeE,EAAE,IAAIgD,GAAEyrB,QAAQ5sB,KAAK/B,MAAM2uB,QAAQ,SAAS3uB,GAAG,MAAO+B,MAAKyX,KAAK;AAAWtW,GAAEyrB,QAAQ5sB,KAAK/B,MAAM4uB,WAAW,SAAS5uB,GAAG,MAAO+B,MAAK2e,MAAM1gB,GAAG,UAAUsiB,QAAQ,SAAStiB,EAAEC,GAAG,GAAIC,GAAEQ,EAAE,EAAEC,EAAEuC,GAAE6e,WAAWnhB,EAAEmB,KAAKlB,EAAEkB,KAAK8B,OAAO9C,EAAE,aAAaL,GAAGC,EAAE0hB,YAAYzhB,GAAGA,IAAkD,KAA7C,gBAAiBZ,KAAIC,EAAED,EAAEA,EAAE,QAAQA,EAAEA,GAAG,KAAWa,KAAIX,EAAE2a,GAAEC,IAAIla,EAAEC,GAAGb,EAAE,cAAcE,GAAGA,EAAE2gB,QAAQngB,IAAIR,EAAE2gB,MAAM1E,IAAIpb,GAAI,OAAOA,KAAIJ,EAAE2hB,QAAQriB,KAAM,IAAIqnB,IAAE,sCAAsCxe,OAAOyR,GAAE,GAAI/R,QAAO,iBAAiB8e,GAAE,cAAc,KAAKlI,IAAG,MAAM,QAAQ,SAAS,QAAQW,GAAE,SAAS/f,EAAEC,GAAG,MAAOD,GAAEC,GAAGD,EAAE,SAASkD,GAAEyQ,IAAI3T,EAAE,aAAakD,GAAEsY,SAASxb,EAAEyb,cAAczb,IAA+Y+c,GAAE,wBAAwB9B,GAAE,aAAaS,GAAE,4BAA4BR,IAAG2T,QAAQ,EAAE,+BAA+B,aAAaC,OAAO,EAAE,UAAU,YAAYC,KAAK,EAAE,oBAAoB,uBAAuBC,IAAI,EAAE,iBAAiB,oBAAoBC,IAAI,EAAE,qBAAqB,yBAAyB9T,UAAU,EAAE,GAAG,IAAKD,IAAEgU,SAAShU,GAAE2T,OAAO3T,GAAEiU,MAAMjU,GAAEkU,MAAMlU,GAAEmU,SAASnU,GAAEoU,QAAQpU,GAAE4T,MAAM5T,GAAEqU,GAAGrU,GAAE+T,EAAqU,IAAIjU,IAAG,aAAyqB,WAAW,GAAIhb,GAAEU,EAAEkD,yBAAyB3D,EAAED,EAAE2D,YAAYjD,EAAEO,cAAc,QAAQf,EAAEQ,EAAEO,cAAc,QAASf,GAAE8H,aAAa,OAAO,SAAS9H,EAAE8H,aAAa,UAAU,WAAW9H,EAAE8H,aAAa,OAAO,KAAK/H,EAAE0D,YAAYzD,GAAGwC,GAAEwa,WAAWjd,EAAEoD,WAAU,GAAIA,WAAU,GAAIP,UAAUka,QAAQ/c,EAAE2C,UAAU,yBAAyBF,GAAE8sB,iBAAiBvvB,EAAEoD,WAAU,GAAIP,UAAUma,eAAgB,IAAI+K,IAAG,OAAOC,GAAG,iDAAiDjC,GAAG,qBAAiiB9iB,IAAEgZ,OAAOuT,UAAUtT,IAAI,SAASnc,EAAEC,EAAEC,EAAEQ,EAAEC,GAAG,GAAIC,GAAEC,EAAEE,EAAEC,EAAEZ,EAAEG,EAAEmC,EAAEvB,EAAEgC,EAAE9B,EAAEC,EAAEd,EAAEqa,GAAEC,IAAI9a,EAAG,IAAGQ,EAAoR,IAAjRN,EAAEwvB,UAAU9uB,EAAEV,EAAEA,EAAEU,EAAE8uB,QAAQ/uB,EAAEC,EAAEmkB,UAAU7kB,EAAE+b,OAAO/b,EAAE+b,KAAK/Y,GAAE+Y,SAASjb,EAAER,EAAEmc,UAAU3b,EAAER,EAAEmc,YAAY9b,EAAEL,EAAEoc,UAAU/b,EAAEL,EAAEoc,OAAO,SAAS3c,GAAG,MAAM,mBAAoBiD,KAAGA,GAAEgZ,MAAMyT,YAAY1vB,EAAEuE,KAAKtB,GAAEgZ,MAAM0T,SAAS1tB,MAAMlC,EAAEiC,WAAW,SAAShC,GAAGA,GAAG,IAAIsI,MAAMkR,MAAK,IAAIrZ,EAAEH,EAAE4D,OAAazD,KAAIW,EAAEilB,GAAGtX,KAAKzO,EAAEG,QAAQ+C,EAAE7B,EAAEP,EAAE,GAAGM,GAAGN,EAAE,IAAI,IAAIkC,MAAM,KAAK+T,OAAO7T,IAAIT,EAAEQ,GAAEgZ,MAAM2T,QAAQ1sB,OAAOA,GAAGxC,EAAE+B,EAAEotB,aAAaptB,EAAEqtB,WAAW5sB,EAAET,EAAEQ,GAAEgZ,MAAM2T,QAAQ1sB,OAAO5C,EAAE2C,GAAE2Z,QAAQrY,KAAKrB,EAAE6sB,SAAS1uB,EAAEiE,KAAK7E,EAAEgvB,QAAQxvB,EAAE+b,KAAK/b,EAAE+b,KAAK8I,SAASpkB,EAAEknB,aAAalnB,GAAGuC,GAAE6oB,KAAKxjB,MAAMsf,aAAavkB,KAAK3C,GAAGsvB,UAAU5uB,EAAE2C,KAAK,MAAMpD,IAAIO,EAAEH,EAAEmC,MAAMhC,EAAEH,EAAEmC,MAAMhC,EAAE+uB,cAAc,EAAExtB,EAAEytB,OAAOztB,EAAEytB,MAAMzuB,KAAK1B,EAAEU,EAAEW,EAAER,MAAK,GAAIb,EAAE6H,kBAAkB7H,EAAE6H,iBAAiB1E,EAAEtC,IAAI6B,EAAEyZ,MAAMzZ,EAAEyZ,IAAIza,KAAK1B,EAAEO,GAAGA,EAAEmvB,QAAQzT,OAAO1b,EAAEmvB,QAAQzT,KAAK/b,EAAE+b,OAAOtb,EAAEQ,EAAEyE,OAAOzE,EAAE+uB,gBAAgB,EAAE3vB,GAAGY,EAAEoB,KAAKhC,GAAG2C,GAAEgZ,MAAMuT,OAAOtsB,IAAG,IAAMse,OAAO,SAASzhB,EAAEC,EAAEC,EAAEQ,EAAEC,GAAG,GAAIC,GAAEC,EAAEE,EAAEC,EAAEZ,EAAEG,EAAEmC,EAAEvB,EAAEgC,EAAE9B,EAAEC,EAAEd,EAAEqa,GAAE4B,QAAQzc,IAAI6a,GAAEC,IAAI9a,EAAG,IAAGQ,IAAIQ,EAAER,EAAEmc,QAAQ,CAAqC,IAApC1c,GAAGA,GAAG,IAAIsI,MAAMkR,MAAK,IAAIrZ,EAAEH,EAAE4D,OAAazD,KAAI,GAAGW,EAAEilB,GAAGtX,KAAKzO,EAAEG,QAAQ+C,EAAE7B,EAAEP,EAAE,GAAGM,GAAGN,EAAE,IAAI,IAAIkC,MAAM,KAAK+T,OAAO7T,EAAE,CAAqJ,IAApJT,EAAEQ,GAAEgZ,MAAM2T,QAAQ1sB,OAAOA,GAAGzC,EAAEgC,EAAEotB,aAAaptB,EAAEqtB,WAAW5sB,EAAEhC,EAAEH,EAAEmC,OAAOpC,EAAEA,EAAE,IAAI,GAAIyH,QAAO,UAAUnH,EAAE2C,KAAK,iBAAiB,WAAWnD,EAAED,EAAEO,EAAE0C,OAAajD,KAAIL,EAAEY,EAAEP,IAAID,GAAGW,IAAIf,EAAEyvB,UAAU9vB,GAAGA,EAAE+b,OAAO1b,EAAE0b,MAAMlb,IAAIA,EAAEuC,KAAK/C,EAAE0vB,YAAYvvB,GAAGA,IAAIH,EAAEwkB,WAAW,OAAOrkB,IAAIH,EAAEwkB,YAAY5jB,EAAEyE,OAAOhF,EAAE,GAAGL,EAAEwkB,UAAU5jB,EAAE+uB,gBAAgBxtB,EAAE+e,QAAQ/e,EAAE+e,OAAO/f,KAAK1B,EAAEO,GAAIM,KAAIM,EAAE0C,SAASnB,EAAE0tB,UAAU1tB,EAAE0tB,SAAS1uB,KAAK1B,EAAEqB,EAAEb,EAAEoc,WAAU,GAAI1Z,GAAEmtB,YAAYrwB,EAAEmD,EAAE3C,EAAEoc,cAAe5b,GAAEmC,QAAS,KAAIA,IAAKnC,GAAEkC,GAAEgZ,MAAMuF,OAAOzhB,EAAEmD,EAAElD,EAAEG,GAAGF,EAAEQ,GAAE,EAAIwC,IAAEke,cAAcpgB,IAAI6Z,GAAE4G,OAAOzhB,EAAE,mBAAmB4vB,SAAS,SAAS5vB,GAAGA,EAAEkD,GAAEgZ,MAAMoU,IAAItwB,EAAG,IAAIC,GAAEC,EAAEQ,EAAEE,EAAEC,EAAEE,KAAKC,EAAEL,EAAEe,KAAKO,WAAW7B,GAAGya,GAAEC,IAAI/Y,KAAK,eAAe/B,EAAEwE,UAAUjE,EAAE2C,GAAEgZ,MAAM2T,QAAQ7vB,EAAEwE,SAAU,IAAGxD,EAAE,GAAGhB,EAAEA,EAAEuwB,eAAexuB,MAAMxB,EAAEiwB,aAAajwB,EAAEiwB,YAAY9uB,KAAKK,KAAK/B,MAAK,EAAG,CAAuC,IAAtCe,EAAEmC,GAAEgZ,MAAMuU,SAAS/uB,KAAKK,KAAK/B,EAAEI,GAAGH,EAAE,GAASW,EAAEG,EAAEd,QAAQD,EAAE0wB,wBAAmD,IAA3B1wB,EAAE2wB,cAAc/vB,EAAEohB,KAAK9hB,EAAE,GAASW,EAAED,EAAE6vB,SAASvwB,QAAQF,EAAE4wB,mCAAkC5wB,EAAE6wB,YAAY7wB,EAAE6wB,WAAWvtB,KAAKzC,EAAEovB,cAAcjwB,EAAE8wB,UAAUjwB,EAAEb,EAAEuF,KAAK1E,EAAE0E,KAAK7E,IAAIwC,GAAEgZ,MAAM2T,QAAQhvB,EAAEmvB,eAAepT,QAAQ/b,EAAE6uB,SAASxtB,MAAMtB,EAAEohB,KAAKhhB,GAAG,SAASN,IAAIV,EAAE+wB,OAAOrwB,MAAK,IAAKV,EAAEgxB,iBAAiBhxB,EAAEixB,mBAAoB,OAAO1wB,GAAE2wB,cAAc3wB,EAAE2wB,aAAaxvB,KAAKK,KAAK/B,GAAGA,EAAE+wB,SAASN,SAAS,SAASzwB,EAAEC,GAAG,GAAIC,GAAEQ,EAAEC,EAAEC,EAAEC,KAAKE,EAAEd,EAAEiwB,cAAclvB,EAAEhB,EAAEoqB,MAAO,IAAGrpB,GAAGC,EAAEmT,WAAW,UAAUnU,EAAEwE,MAAM2sB,MAAMnxB,EAAEgrB,SAAShrB,EAAEgrB,OAAO,GAAG,KAAKhqB,IAAIe,KAAKf,EAAEA,EAAEoF,YAAYrE,KAAK,GAAG,IAAIf,EAAEmT,WAAWnT,EAAE4pB,YAAW,GAAI,UAAU5qB,EAAEwE,MAAM,CAAC,IAAI9D,KAAKR,EAAE,EAAEa,EAAEb,EAAEA,IAAIU,EAAEX,EAAEC,GAAGS,EAAEC,EAAEmkB,SAAS,IAAI,SAASrkB,EAAEC,KAAKD,EAAEC,GAAGC,EAAEinB,aAAa3kB,GAAEvC,EAAEoB,MAAMyR,MAAMxS,IAAG,EAAGkC,GAAE4jB,KAAKnmB,EAAEoB,KAAK,MAAMf,IAAI6C,QAAQnD,EAAEC,IAAID,EAAE6B,KAAK3B,EAAGF,GAAEmD,QAAQhD,EAAE0B,MAAMyf,KAAKhhB,EAAEyvB,SAAS/vB,IAAI,MAAOK,GAAEd,EAAE4D,QAAQhD,EAAE0B,MAAMyf,KAAKjgB,KAAK0uB,SAASxwB,EAAEsB,MAAMR,KAAKF,GAAG0hB,MAAM,+HAA+Htf,MAAM,KAAKmuB,YAAYC,UAAU9O,MAAM,4BAA4Btf,MAAM,KAAKoW,OAAO,SAASrZ,EAAEC,GAAG,MAAO,OAAMD,EAAEsxB,QAAQtxB,EAAEsxB,MAAM,MAAMrxB,EAAEsxB,SAAStxB,EAAEsxB,SAAStxB,EAAEuxB,SAASxxB,IAAIyxB,YAAYlP,MAAM,uFAAuFtf,MAAM,KAAKoW,OAAO,SAASrZ,EAAEC,GAAG,GAAIC,GAAES,EAAEC,EAAEC,EAAEZ,EAAE+qB,MAAO,OAAO,OAAMhrB,EAAE0xB,OAAO,MAAMzxB,EAAE0xB,UAAUzxB,EAAEF,EAAEoqB,OAAO3O,eAAe/a,EAAEC,EAAET,EAAEY,gBAAgBF,EAAEV,EAAEiW,KAAKnW,EAAE0xB,MAAMzxB,EAAE0xB,SAAShxB,GAAGA,EAAEixB,YAAYhxB,GAAGA,EAAEgxB,YAAY,IAAIjxB,GAAGA,EAAEkxB,YAAYjxB,GAAGA,EAAEixB,YAAY,GAAG7xB,EAAE8xB,MAAM7xB,EAAE8xB,SAASpxB,GAAGA,EAAEqxB,WAAWpxB,GAAGA,EAAEoxB,WAAW,IAAIrxB,GAAGA,EAAEsxB,WAAWrxB,GAAGA,EAAEqxB,WAAW,IAAIjyB,EAAEsxB,OAAO,SAASzwB,IAAIb,EAAEsxB,MAAM,EAAEzwB,EAAE,EAAE,EAAEA,EAAE,EAAE,EAAEA,EAAE,EAAE,GAAGb,IAAIswB,IAAI,SAAStwB,GAAG,GAAGA,EAAEkD,GAAE2W,SAAS,MAAO7Z,EAAE,IAAIC,GAAEC,EAAES,EAAEC,EAAEZ,EAAEwE,KAAK3D,EAAEb,EAAEe,EAAEgB,KAAKqvB,SAASxwB,EAA8J,KAA3JG,IAAIgB,KAAKqvB,SAASxwB,GAAGG,EAAEknB,GAAG3kB,KAAK1C,GAAGmB,KAAK0vB,WAAWzJ,GAAG1kB,KAAK1C,GAAGmB,KAAKsvB,aAAa1wB,EAAEI,EAAEwhB,MAAMxgB,KAAKwgB,MAAMpgB,OAAOpB,EAAEwhB,OAAOxgB,KAAKwgB,MAAMviB,EAAE,GAAIkD,IAAEgvB,MAAMrxB,GAAGZ,EAAEU,EAAEkD,OAAa5D,KAAIC,EAAES,EAAEV,GAAGD,EAAEE,GAAGW,EAAEX,EAAG,OAAOF,GAAEoqB,SAASpqB,EAAEoqB,OAAO1pB,GAAG,IAAIV,EAAEoqB,OAAOjW,WAAWnU,EAAEoqB,OAAOpqB,EAAEoqB,OAAOhkB,YAAYrF,EAAEsY,OAAOtY,EAAEsY,OAAOrZ,EAAEa,GAAGb,GAAG6vB,SAAS9pB,MAAMosB,UAAS,GAAI3H,OAAO4H,QAAQ,WAAW,MAAOrwB,QAAO8Z,KAAM9Z,KAAKyoB,OAAOzoB,KAAKyoB,SAAQ,GAAI,QAAQsF,aAAa,WAAWuC,MAAMD,QAAQ,WAAW,MAAOrwB,QAAO8Z,KAAM9Z,KAAKswB,MAAMtwB,KAAKswB,QAAO,GAAI,QAAQvC,aAAa,YAAYwC,OAAOF,QAAQ,WAAW,MAAM,aAAarwB,KAAKyC,MAAMzC,KAAKuwB,OAAOpvB,GAAE+F,SAASlH,KAAK,UAAUA,KAAKuwB,SAAQ,GAAI,QAAQnX,SAAS,SAASnb,GAAG,MAAOkD,IAAE+F,SAASjJ,EAAEoqB,OAAO,OAAOmI,cAAcrB,aAAa,SAASlxB,GAAG,SAASA,EAAE+wB,QAAQ/wB,EAAEwyB,gBAAgBxyB,EAAEwyB,cAAcC,YAAYzyB,EAAE+wB,YAAY7tB,GAAEmtB,YAAY,SAASrwB,EAAEC,EAAEC,GAAGF,EAAE8H,qBAAqB9H,EAAE8H,oBAAoB7H,EAAEC,IAAIgD,GAAEgvB,MAAM,SAASlyB,EAAEC,GAAG,MAAO8B,gBAAgBmB,IAAEgvB,OAAOlyB,GAAGA,EAAEwE,MAAMzC,KAAKywB,cAAcxyB,EAAE+B,KAAKyC,KAAKxE,EAAEwE,KAAKzC,KAAK2wB,mBAAmB1yB,EAAE2yB,kBAAkB,SAAS3yB,EAAE2yB,kBAAkB3yB,EAAEyyB,eAAc,EAAG9W,EAAGC,GAAI7Z,KAAKyC,KAAKxE,EAAEC,GAAGiD,GAAE2Z,OAAO9a,KAAK9B,GAAG8B,KAAK6wB,UAAU5yB,GAAGA,EAAE4yB,WAAW1vB,GAAEid,WAAWpe,KAAKmB,GAAE2W,UAAS,IAAK,GAAI3W,IAAEgvB,MAAMlyB,EAAEC,IAAIiD,GAAEgvB,MAAMtwB,WAAWD,YAAYuB,GAAEgvB,MAAMQ,mBAAmB9W,EAAG8U,qBAAqB9U,EAAGgV,8BAA8BhV,EAAGoV,eAAe,WAAW,GAAIhxB,GAAE+B,KAAKywB,aAAczwB,MAAK2wB,mBAAmB/W,EAAG3b,GAAGA,EAAEgxB,kBAAkBC,gBAAgB,WAAW,GAAIjxB,GAAE+B,KAAKywB,aAAczwB,MAAK2uB,qBAAqB/U,EAAG3b,GAAGA,EAAEixB,mBAAmB4B,yBAAyB,WAAW,GAAI7yB,GAAE+B,KAAKywB,aAAczwB,MAAK6uB,8BAA8BjV,EAAG3b,GAAGA,EAAE6yB,2BAA2B9wB,KAAKkvB,oBAAoB/tB,GAAEsW,MAAMsZ,WAAW,YAAYC,WAAW,WAAWC,aAAa,cAAcC,aAAa,cAAc,SAASjzB,EAAEC,GAAGiD,GAAEgZ,MAAM2T,QAAQ7vB,IAAI8vB,aAAa7vB,EAAE8vB,SAAS9vB,EAAE2c,OAAO,SAAS5c,GAAG,GAAIE,GAAEQ,EAAEqB,KAAKpB,EAAEX,EAAEkzB,cAActyB,EAAEZ,EAAE8wB,SAAU,SAAQnwB,GAAGA,IAAID,IAAIwC,GAAEsY,SAAS9a,EAAEC,MAAMX,EAAEwE,KAAK5D,EAAEovB,SAAS9vB,EAAEU,EAAE8uB,QAAQxtB,MAAMH,KAAKE,WAAWjC,EAAEwE,KAAKvE,GAAGC,MAAMgD,GAAEgQ,GAAG2J,QAAQ9J,GAAG,SAAS/S,EAAEC,EAAEC,EAAEQ,GAAG,MAAOqb,GAAGha,KAAK/B,EAAEC,EAAEC,EAAEQ,IAAIyyB,IAAI,SAASnzB,EAAEC,EAAEC,EAAEQ,GAAG,MAAOqb,GAAGha,KAAK/B,EAAEC,EAAEC,EAAEQ,EAAE,IAAIsb,IAAI,SAAShc,EAAEC,EAAEC,GAAG,GAAIQ,GAAEC,CAAE,IAAGX,GAAGA,EAAEgxB,gBAAgBhxB,EAAE8wB,UAAU,MAAOpwB,GAAEV,EAAE8wB,UAAU5tB,GAAElD,EAAEuwB,gBAAgBvU,IAAItb,EAAEuvB,UAAUvvB,EAAEsvB,SAAS,IAAItvB,EAAEuvB,UAAUvvB,EAAEsvB,SAAStvB,EAAEqkB,SAASrkB,EAAEgvB,SAAS3tB,IAAK,IAAG,gBAAiB/B,GAAE,CAAC,IAAIW,IAAKX,GAAE+B,KAAKia,IAAIrb,EAAEV,EAAED,EAAEW,GAAI,OAAOoB,MAAK,OAAO9B,KAAI,GAAI,kBAAmBA,MAAKC,EAAED,EAAEA,EAAE,QAAQC,KAAI,IAAKA,EAAE0b,GAAI7Z,KAAKyX,KAAK,WAAWtW,GAAEgZ,MAAMuF,OAAO1f,KAAK/B,EAAEE,EAAED,OAAQ,IAAIqmB,IAAG,2EAA2EI,GAAG,wBAAwBvJ,GAAG,oCAAoCZ,GAAG,cAAcmB,GAAG,0CAAkoDxa,IAAE2Z,QAAQzB,cAAc,SAASpb,GAAG,MAAOA,GAAEiE,QAAQqiB,GAAG,cAAc/I,MAAM,SAASvd,EAAEC,EAAEC,GAAG,GAAIQ,GAAEC,EAAEC,EAAEC,EAAEE,EAAEf,EAAEqD,WAAU,GAAIrC,EAAEkC,GAAEsY,SAASxb,EAAEyb,cAAczb,EAAG,MAAK0C,GAAE8sB,gBAAgB,IAAIxvB,EAAEmU,UAAU,KAAKnU,EAAEmU,UAAUjR,GAAE+oB,SAASjsB,IAAI,IAAIa,EAAE8X,EAAE5X,GAAGH,EAAE+X,EAAE3Y,GAAGU,EAAE,EAAEC,EAAEC,EAAEiD,OAAOlD,EAAED,EAAEA,IAAIoc,EAAGlc,EAAEF,GAAGG,EAAEH,GAAI,IAAGT,EAAE,GAAGC,EAAE,IAAIU,EAAEA,GAAG+X,EAAE3Y,GAAGa,EAAEA,GAAG8X,EAAE5X,GAAGL,EAAE,EAAEC,EAAEC,EAAEiD,OAAOlD,EAAED,EAAEA,IAAI8b,EAAG5b,EAAEF,GAAGG,EAAEH,QAAS8b,GAAGxc,EAAEe,EAAG,OAAOF,GAAE8X,EAAE5X,EAAE,UAAUF,EAAEgD,OAAO,GAAG+W,EAAG/Z,GAAGG,GAAG2X,EAAE3Y,EAAE,WAAWe,GAAG6c,UAAU,SAAS5d,GAAG,IAAI,GAAIC,GAAEC,EAAEQ,EAAEC,EAAEuC,GAAEgZ,MAAM2T,QAAQjvB,EAAE,EAAE,UAAUV,EAAEF,EAAEY,IAAIA,IAAI,GAAGymB,GAAEnnB,GAAG,CAAC,GAAGD,EAAEC,EAAE2a,GAAEhB,SAAS,CAAC,GAAG5Z,EAAE0c,OAAO,IAAIjc,IAAKT,GAAE0c,OAAOhc,EAAED,GAAGwC,GAAEgZ,MAAMuF,OAAOvhB,EAAEQ,GAAGwC,GAAEmtB,YAAYnwB,EAAEQ,EAAET,EAAE2c,OAAQ1c,GAAE2a,GAAEhB,SAAS,OAAO3Z,EAAEia,GAAEN,WAAW3Z,EAAEia,GAAEN,SAAS,YAAY3W,GAAEgQ,GAAG2J,QAAQuW,SAASjrB,EAAG4V,OAAO,SAAS/d,GAAG,MAAO2d,GAAG5b,KAAK/B,GAAE,IAAKyhB,OAAO,SAASzhB,GAAG,MAAO2d,GAAG5b,KAAK/B,IAAI0lB,KAAK,SAAS1lB,GAAG,MAAOonB,IAAErlB,KAAK,SAAS/B,GAAG,MAAO,UAASA,EAAEkD,GAAEwiB,KAAK3jB,MAAMA,KAAK8e,QAAQrH,KAAK,YAAY,IAAIzX,KAAKoS,UAAU,KAAKpS,KAAKoS,UAAU,IAAIpS,KAAKoS,YAAYpS,KAAKsZ,YAAYrb,MAAM,KAAKA,EAAEiC,UAAU4B,SAASwvB,OAAO,WAAW,MAAOlrB,GAAGpG,KAAKE,UAAU,SAASjC,GAAG,GAAG,IAAI+B,KAAKoS,UAAU,KAAKpS,KAAKoS,UAAU,IAAIpS,KAAKoS,SAAS,CAAC,GAAIlU,GAAEmc,EAAGra,KAAK/B,EAAGC,GAAE0D,YAAY3D,OAAOszB,QAAQ,WAAW,MAAOnrB,GAAGpG,KAAKE,UAAU,SAASjC,GAAG,GAAG,IAAI+B,KAAKoS,UAAU,KAAKpS,KAAKoS,UAAU,IAAIpS,KAAKoS,SAAS,CAAC,GAAIlU,GAAEmc,EAAGra,KAAK/B,EAAGC,GAAE4C,aAAa7C,EAAEC,EAAE8C,gBAAgBwwB,OAAO,WAAW,MAAOprB,GAAGpG,KAAKE,UAAU,SAASjC,GAAG+B,KAAKqE,YAAYrE,KAAKqE,WAAWvD,aAAa7C,EAAE+B,SAASyxB,MAAM,WAAW,MAAOrrB,GAAGpG,KAAKE,UAAU,SAASjC,GAAG+B,KAAKqE,YAAYrE,KAAKqE,WAAWvD,aAAa7C,EAAE+B,KAAK0kB,gBAAgB5F,MAAM,WAAW,IAAI,GAAI7gB,GAAEC,EAAE,EAAE,OAAOD,EAAE+B,KAAK9B,IAAIA,IAAI,IAAID,EAAEmU,WAAWjR,GAAE0a,UAAUjF,EAAE3Y,GAAE,IAAKA,EAAEqb,YAAY,GAAI,OAAOtZ,OAAMwb,MAAM,SAASvd,EAAEC,GAAG,MAAOD,GAAE,MAAMA,GAAKA,EAAEC,EAAE,MAAMA,EAAED,EAAEC,EAAE8B,KAAKub,IAAI,WAAW,MAAOpa,IAAEqa,MAAMxb,KAAK/B,EAAEC,MAAMod,KAAK,SAASrd,GAAG,MAAOonB,IAAErlB,KAAK,SAAS/B,GAAG,GAAIC,GAAE8B,KAAK,OAAO7B,EAAE,EAAEQ,EAAEqB,KAAK8B,MAAO,IAAG,SAAS7D,GAAG,IAAIC,EAAEkU,SAAS,MAAOlU,GAAE2C,SAAU,IAAG,gBAAiB5C,KAAI0mB,GAAGpjB,KAAKtD,KAAKkb,IAAGD,GAAEvM,KAAK1O,KAAK,GAAG,KAAK,GAAGsC,eAAe,CAACtC,EAAEkD,GAAEkY,cAAcpb,EAAG,KAAI,KAAKU,EAAER,EAAEA,IAAID,EAAE8B,KAAK7B,OAAO,IAAID,EAAEkU,WAAWjR,GAAE0a,UAAUjF,EAAE1Y,GAAE,IAAKA,EAAE2C,UAAU5C,EAAGC,GAAE,EAAE,MAAMU,KAAKV,GAAG8B,KAAK8e,QAAQwS,OAAOrzB,IAAI,KAAKA,EAAEiC,UAAU4B,SAAS4vB,YAAY,WAAW,GAAIzzB,KAAK,OAAOmI,GAAGpG,KAAKE,UAAU,SAAShC,GAAG,GAAIC,GAAE6B,KAAKqE,UAAWlD,IAAEqY,QAAQxZ,KAAK/B,GAAG,IAAIkD,GAAE0a,UAAUjF,EAAE5W,OAAO7B,GAAGA,EAAEwzB,aAAazzB,EAAE8B,QAAQ/B,MAAMkD,GAAEsW,MAAMsE,SAAS,SAAS6V,UAAU,UAAU9wB,aAAa,SAAS+wB,YAAY,QAAQC,WAAW,eAAe,SAAS7zB,EAAEC,GAAGiD,GAAEgQ,GAAGlT,GAAG,SAASA,GAAG,IAAI,GAAIE,GAAEQ,KAAKC,EAAEuC,GAAElD,GAAGY,EAAED,EAAEkD,OAAO,EAAE9C,EAAE,EAAEH,GAAGG,EAAEA,IAAIb,EAAEa,IAAIH,EAAEmB,KAAKA,KAAKwb,OAAM,GAAIra,GAAEvC,EAAEI,IAAId,GAAGC,GAAGW,EAAEqB,MAAMxB,EAAER,EAAE4a,MAAO,OAAO/Y,MAAKkjB,UAAUvkB,KAAM,IAAIwd,IAAGD,IAAI6V,KAAK,QAAQC,KAAK,SAAkWpV,GAAG,UAAUD,GAAG,GAAIlW,QAAO,KAAK8e,GAAE,kBAAkB,KAAK/I,GAAG,SAASte,GAAG,GAAIC,GAAED,EAAEwb,cAAcmJ,WAAY,OAAO1kB,GAAE8zB,SAAS9zB,EAAEF,GAAGE,EAAE+zB,iBAAiBh0B,IAAIi0B,GAAG,SAASl0B,EAAEC,EAAEC,EAAEQ,GAAG,GAAIC,GAAEC,EAAEC,IAAK,KAAID,IAAKX,GAAEY,EAAED,GAAGZ,EAAEkB,MAAMN,GAAGZ,EAAEkB,MAAMN,GAAGX,EAAEW,EAAGD,GAAET,EAAEgC,MAAMlC,EAAEU,MAAO,KAAIE,IAAKX,GAAED,EAAEkB,MAAMN,GAAGC,EAAED,EAAG,OAAOD,IAAGwzB,GAAGzzB,EAAEI,iBAAiB,WAAwV,QAASE,KAAID,EAAEG,MAAMb,QAAQ,qKAAqKU,EAAE6B,UAAU,GAAGuxB,GAAGxwB,YAAY9C,EAAG,IAAIH,GAAEV,EAAEi0B,iBAAiBlzB,EAAGd,GAAE,OAAOS,EAAE8e,IAAI5e,EAAE,QAAQF,EAAE0zB,WAAWl0B,EAAE,QAAQQ,EAAE+E,MAAM1E,EAAEG,MAAMmzB,YAAY,MAAM1zB,EAAE,QAAQD,EAAE2zB,YAAYF,GAAG/uB,YAAYvE,GAArsB,GAAIZ,GAAEC,EAAES,EAAEC,EAAEC,EAAEH,EAAEO,cAAc,OAAOF,EAAEL,EAAEO,cAAc,MAAUF,GAAEG,QAAOH,EAAEG,MAAMozB,eAAe,cAAcvzB,EAAEsC,WAAU,GAAInC,MAAMozB,eAAe,GAAG5xB,GAAE6xB,gBAAgB,gBAAgBxzB,EAAEG,MAAMozB,eAAezzB,EAAEK,MAAMb,QAAQ,4FAA4FQ,EAAE8C,YAAY5C,GAA8XmC,GAAE2Z,OAAOna,IAAG8xB,cAAc,WAAW,MAAOxzB,KAAIf,GAAG2f,kBAAkB,WAAW,MAAO,OAAM1f,GAAGc,IAAId,GAAGue,iBAAiB,WAAW,MAAO,OAAMve,GAAGc,IAAIL,GAAG8zB,mBAAmB,WAAW,MAAO,OAAMv0B,GAAGc,IAAIJ,GAAG8zB,oBAAoB,WAAW,GAAIz0B,GAAEC,EAAEa,EAAE4C,YAAYjD,EAAEO,cAAc,OAAQ,OAAOf,GAAEgB,MAAMb,QAAQU,EAAEG,MAAMb,QAAQ,kGAAkGH,EAAEgB,MAAMmzB,YAAYn0B,EAAEgB,MAAMuE,MAAM,IAAI1E,EAAEG,MAAMuE,MAAM,MAAM0uB,GAAGxwB,YAAY9C,GAAGZ,GAAGqP,WAAWtP,EAAEi0B,iBAAiB/zB,GAAGm0B,aAAaF,GAAG/uB,YAAYvE,GAAGE,EAAEqE,YAAYlF,GAAGD,QAAgc,IAAI00B,IAAG,4BAA4BC,IAAIC,SAAS,WAAWC,WAAW,SAAShV,QAAQ,SAASiV,IAAIC,cAAc,IAAIC,WAAW,OAAOhW,IAAI,SAAS,IAAI,MAAM,MAAMD,GAAGte,EAAEO,cAAc,OAAOC,KAA64CgC,IAAE2Z,QAAQ+E,UAAUvB,SAASvF,IAAI,SAAS9a,EAAEC,GAAG,GAAGA,EAAE,CAAC,GAAIC,GAAEoe,EAAGte,EAAE,UAAW,OAAM,KAAKE,EAAE,IAAIA,MAAMoa,WAAW4a,yBAAwB,EAAGC,aAAY,EAAGC,aAAY,EAAGC,UAAS,EAAGC,YAAW,EAAGL,YAAW,EAAGM,YAAW,EAAGlV,SAAQ,EAAGmV,OAAM,EAAGC,SAAQ,EAAGC,QAAO,EAAGC,QAAO,EAAGC,MAAK,GAAIC,UAAUC,MAAQ,YAAY50B,MAAM,SAASlB,EAAEC,EAAEC,EAAEQ,GAAG,GAAGV,GAAG,IAAIA,EAAEmU,UAAU,IAAInU,EAAEmU,UAAUnU,EAAEkB,MAAM,CAAC,GAAIP,GAAEC,EAAEC,EAAEE,EAAEmC,GAAEye,UAAU1hB,GAAGe,EAAEhB,EAAEkB,KAAM,OAAOjB,GAAEiD,GAAE2yB,SAAS90B,KAAKmC,GAAE2yB,SAAS90B,GAAGge,EAAGhe,IAAIA,GAAGF,EAAEqC,GAAE0e,SAAS3hB,IAAIiD,GAAE0e,SAAS7gB,GAAG,SAASb,EAAEW,GAAG,OAAQA,IAAG,UAAUF,EAAEE,EAAEia,IAAI9a,GAAE,EAAGU,IAAIC,EAAEK,EAAEf,IAAIW,QAASV,GAAE,WAAWU,IAAID,EAAE4Z,GAAE7L,KAAKxO,KAAKS,EAAE,KAAKT,EAAEka,EAAEpa,EAAEC,EAAEU,GAAGC,EAAE,eAAU,MAAMV,GAAGA,IAAIA,IAAI,WAAWU,IAAIV,GAAGS,GAAGA,EAAE,KAAKuC,GAAEoX,UAAUvZ,GAAG,GAAG,OAAO2B,GAAE6xB,iBAAiB,KAAKr0B,GAAG,IAAID,EAAE4kB,QAAQ,gBAAgB7jB,EAAEf,GAAG,WAAWY,GAAG,OAAQA,IAAG,UAAUX,EAAEW,EAAEyM,IAAItN,EAAEE,EAAEQ,MAAMM,EAAEf,GAAGC,QAAcyT,IAAI,SAAS3T,EAAEC,EAAEC,EAAEQ,GAAG,GAAIC,GAAEC,EAAEC,EAAEE,EAAEmC,GAAEye,UAAU1hB,EAAG,OAAOA,GAAEiD,GAAE2yB,SAAS90B,KAAKmC,GAAE2yB,SAAS90B,GAAGge,EAAGhe,IAAIA,GAAGF,EAAEqC,GAAE0e,SAAS3hB,IAAIiD,GAAE0e,SAAS7gB,GAAGF,GAAG,OAAQA,KAAIF,EAAEE,EAAEia,IAAI9a,GAAE,EAAGE,IAAI,SAASS,IAAIA,EAAE2d,EAAGte,EAAEC,EAAES,IAAI,WAAWC,GAAGV,IAAK80B,MAAKp0B,EAAEo0B,GAAG90B,IAAI,KAAKC,GAAGA,GAAGU,EAAE0O,WAAW3O,GAAGT,KAAI,GAAI61B,SAASn1B,GAAGA,GAAG,EAAED,GAAGA,KAAKuC,GAAEsW,MAAM,SAAS,SAAS,SAASxZ,EAAEC,GAAGiD,GAAE0e,SAAS3hB,IAAI6a,IAAI,SAAS9a,EAAEE,EAAEQ,GAAG,MAAOR,GAAEy0B,GAAGrxB,KAAKJ,GAAEyQ,IAAI3T,EAAE,aAAa,IAAIA,EAAEqJ,YAAY6qB,GAAGl0B,EAAE40B,GAAG,WAAW,MAAOvV,GAAGrf,EAAEC,EAAES,KAAK2e,EAAGrf,EAAEC,EAAES,GAAG,QAAQ4M,IAAI,SAAStN,EAAEE,EAAEQ,GAAG,GAAIC,GAAEC,EAAEF,GAAG6d,GAAGve,GAAGa,EAAEH,GAAGye,EAAGnf,EAAEC,EAAES,EAAE,eAAewC,GAAEyQ,IAAI3T,EAAE,aAAY,EAAGY,GAAGA,EAAG,OAAOC,KAAIF,EAAE4Z,GAAE7L,KAAKxO,KAAK,QAAQS,EAAE,IAAI,QAAQX,EAAEkB,MAAMjB,GAAGC,EAAEA,EAAEgD,GAAEyQ,IAAI3T,EAAEC,IAAIif,EAAGlf,EAAEE,EAAEW,OAAOqC,GAAE0e,SAASwS,WAAWtV,EAAGpc,GAAE+xB,mBAAmB,SAASz0B,EAAEC,GAAG,MAAOA,IAAGqP,WAAWgP,EAAGte,EAAE,gBAAgBA,EAAE2f,wBAAwBqW,KAAK9B,GAAGl0B,GAAGo0B,WAAW,GAAG,WAAW,MAAOp0B,GAAE2f,wBAAwBqW,QAAQ,KAAK,SAAS9yB,GAAE0e,SAASyS,YAAYvV,EAAGpc,GAAEgyB,oBAAoB,SAAS10B,EAAEC,GAAG,MAAOA,GAAEi0B,GAAGl0B,GAAG8f,QAAQ,gBAAgBxB,GAAIte,EAAE,gBAAgB,SAASkD,GAAEsW,MAAMyc,OAAO,GAAGC,QAAQ,GAAGC,OAAO,SAAS,SAASn2B,EAAEC,GAAGiD,GAAE0e,SAAS5hB,EAAEC,IAAI4hB,OAAO,SAAS3hB,GAAG,IAAI,GAAIQ,GAAE,EAAEC,KAAKC,EAAE,gBAAiBV,GAAEA,EAAE+C,MAAM,MAAM/C,GAAG,EAAEQ,EAAEA,IAAIC,EAAEX,EAAEof,GAAE1e,GAAGT,GAAGW,EAAEF,IAAIE,EAAEF,EAAE,IAAIE,EAAE,EAAG,OAAOD,KAAIge,GAAGrb,KAAKtD,KAAKkD,GAAE0e,SAAS5hB,EAAEC,GAAGqN,IAAI4R,KAAMhc,GAAEgQ,GAAG2J,QAAQlJ,IAAI,SAAS3T,EAAEC,GAAG,MAAOmnB,IAAErlB,KAAK,SAAS/B,EAAEC,EAAEC,GAAG,GAAIQ,GAAEC,EAAEC,KAAKC,EAAE,CAAE,IAAGqC,GAAEsD,QAAQvG,GAAG,CAAC,IAAIS,EAAE6d,GAAGve,GAAGW,EAAEV,EAAE4D,OAAOlD,EAAEE,EAAEA,IAAID,EAAEX,EAAEY,IAAIqC,GAAEyQ,IAAI3T,EAAEC,EAAEY,IAAG,EAAGH,EAAG,OAAOE,GAAE,MAAO,UAASV,EAAEgD,GAAEhC,MAAMlB,EAAEC,EAAEC,GAAGgD,GAAEyQ,IAAI3T,EAAEC,IAAID,EAAEC,EAAEgC,UAAU4B,OAAO,IAAIyd,KAAK,WAAW,MAAOzB,GAAG9d,MAAK,IAAKyf,KAAK,WAAW,MAAO3B,GAAG9d,OAAOq0B,OAAO,SAASp2B,GAAG,MAAM,iBAAkBA,GAAEA,EAAE+B,KAAKuf,OAAOvf,KAAKyf,OAAOzf,KAAKyX,KAAK,WAAWuG,GAAEhe,MAAMmB,GAAEnB,MAAMuf,OAAOpe,GAAEnB,MAAMyf,YAA2Ete,GAAE4f,MAAM9C,EAAGA,EAAGpe,WAAWD,YAAYqe,EAAGnW,KAAK,SAAS7J,EAAEC,EAAEC,EAAEQ,EAAEC,EAAEC,GAAGmB,KAAKigB,KAAKhiB,EAAE+B,KAAKs0B,KAAKn2B,EAAE6B,KAAK2gB,OAAO/hB,GAAGuC,GAAEwf,OAAOvH,SAASpZ,KAAKmS,QAAQjU,EAAE8B,KAAK0Y,MAAM1Y,KAAKoe,IAAIpe,KAAKsY,MAAMtY,KAAK2Y,IAAIha,EAAEqB,KAAKyY,KAAK5Z,IAAIsC,GAAEoX,UAAUpa,GAAG,GAAG,OAAOma,IAAI,WAAW,GAAIra,GAAEggB,EAAGsW,UAAUv0B,KAAKs0B,KAAM,OAAOr2B,IAAGA,EAAE8a,IAAI9a,EAAE8a,IAAI/Y,MAAMie,EAAGsW,UAAUnb,SAASL,IAAI/Y,OAAOkW,IAAI,SAASjY,GAAG,GAAIC,GAAEC,EAAE8f,EAAGsW,UAAUv0B,KAAKs0B,KAAM,OAAOt0B,MAAKmS,QAAQgO,SAASngB,KAAK6M,IAAI3O,EAAEiD,GAAEwf,OAAO3gB,KAAK2gB,QAAQ1iB,EAAE+B,KAAKmS,QAAQgO,SAASliB,EAAE,EAAE,EAAE+B,KAAKmS,QAAQgO,UAAUngB,KAAK6M,IAAI3O,EAAED,EAAE+B,KAAKoe,KAAKpe,KAAK2Y,IAAI3Y,KAAK0Y,OAAOxa,EAAE8B,KAAK0Y,MAAM1Y,KAAKmS,QAAQqiB,MAAMx0B,KAAKmS,QAAQqiB,KAAK70B,KAAKK,KAAKigB,KAAKjgB,KAAKoe,IAAIpe,MAAM7B,GAAGA,EAAEoN,IAAIpN,EAAEoN,IAAIvL,MAAMie,EAAGsW,UAAUnb,SAAS7N,IAAIvL,MAAMA,OAAOie,EAAGpe,UAAUiI,KAAKjI,UAAUoe,EAAGpe,UAAUoe,EAAGsW,WAAWnb,UAAUL,IAAI,SAAS9a,GAAG,GAAIC,EAAE,OAAO,KAAID,EAAEgiB,KAAK7N,UAAU,MAAMnU,EAAEgiB,KAAKhiB,EAAEq2B,OAAO,MAAMr2B,EAAEgiB,KAAK9gB,MAAMlB,EAAEq2B,MAAMr2B,EAAEgiB,KAAKhiB,EAAEq2B,OAAOp2B,EAAEiD,GAAEyQ,IAAI3T,EAAEgiB,KAAKhiB,EAAEq2B,KAAK,IAAIp2B,GAAG,SAASA,EAAEA,EAAE,IAAIqN,IAAI,SAAStN,GAAGkD,GAAEggB,GAAGqT,KAAKv2B,EAAEq2B,MAAMnzB,GAAEggB,GAAGqT,KAAKv2B,EAAEq2B,MAAMr2B,GAAG,IAAIA,EAAEgiB,KAAK7N,UAAU,MAAMnU,EAAEgiB,KAAK9gB,MAAMgC,GAAE2yB,SAAS71B,EAAEq2B,SAASnzB,GAAE0e,SAAS5hB,EAAEq2B,MAAMr2B,EAAEgiB,KAAKhiB,EAAEq2B,MAAMr2B,EAAEmgB,IAAIjd,GAAEhC,MAAMlB,EAAEgiB,KAAKhiB,EAAEq2B,KAAKr2B,EAAEmgB,IAAIngB,EAAEwa,SAASwF,EAAGsW,UAAUtE,UAAUhS,EAAGsW,UAAU1E,YAAYtkB,IAAI,SAAStN,GAAGA,EAAEgiB,KAAK7N,UAAUnU,EAAEgiB,KAAK5b,aAAapG,EAAEgiB,KAAKhiB,EAAEq2B,MAAMr2B,EAAEmgB,OAAOjd,GAAEwf,QAAQ8T,OAAO,SAASx2B,GAAG,MAAOA,IAAGy2B,MAAM,SAASz2B,GAAG,MAAM,GAAGgL,KAAK0rB,IAAI12B,EAAEgL,KAAK2rB,IAAI,GAAGxb,SAAS,SAASjY,GAAEggB,GAAGlD,EAAGpe,UAAUiI,KAAK3G,GAAEggB,GAAGqT,OAAQ,IAAIrW,IAAG0W,GAAGzV,GAAG,yBAAyB0V,GAAG,aAAmiG3zB,IAAE4zB,UAAU5zB,GAAE2Z,OAAO0D,GAAIC,UAAUuW,KAAK,SAAS/2B,EAAEC,GAAG,GAAIC,GAAE6B,KAAK8gB,YAAY7iB,EAAEC,EAAG,OAAOma,GAAEla,EAAE8hB,KAAKhiB,EAAEua,GAAE7L,KAAKzO,GAAGC,GAAGA,KAAK82B,QAAQ,SAASh3B,EAAEC,GAAGiD,GAAEiW,WAAWnZ,IAAIC,EAAED,EAAEA,GAAG,MAAMA,EAAEA,EAAEuI,MAAMkR,GAAG,KAAI,GAAIvZ,GAAEQ,EAAE,EAAEC,EAAEX,EAAE6D,OAAOlD,EAAED,EAAEA,IAAIR,EAAEF,EAAEU,GAAG6f,EAAGC,SAAStgB,GAAGqgB,EAAGC,SAAStgB,OAAOqgB,EAAGC,SAAStgB,GAAGsjB,QAAQvjB,IAAI6hB,YAAYrB,GAAIwW,UAAU,SAASj3B,EAAEC,GAAGA,EAAEsgB,EAAGuB,WAAW0B,QAAQxjB,GAAGugB,EAAGuB,WAAWvf,KAAKvC,MAAMkD,GAAEg0B,MAAM,SAASl3B,EAAEC,EAAEC,GAAG,GAAIQ,GAAEV,GAAG,gBAAiBA,GAAEkD,GAAE2Z,UAAU7c,IAAIuH,SAASrH,IAAIA,GAAGD,GAAGiD,GAAEiW,WAAWnZ,IAAIA,EAAEkiB,SAASliB,EAAE0iB,OAAOxiB,GAAGD,GAAGA,IAAIiD,GAAEiW,WAAWlZ,IAAIA,EAAG,OAAOS,GAAEwhB,SAAShf,GAAEggB,GAAGlH,IAAI,EAAE,gBAAiBtb,GAAEwhB,SAASxhB,EAAEwhB,SAASxhB,EAAEwhB,WAAYhf,IAAEggB,GAAGiU,OAAOj0B,GAAEggB,GAAGiU,OAAOz2B,EAAEwhB,UAAUhf,GAAEggB,GAAGiU,OAAOhc,UAAU,MAAMza,EAAEggB,OAAOhgB,EAAEggB,SAAQ,KAAMhgB,EAAEggB,MAAM,MAAMhgB,EAAE02B,IAAI12B,EAAE6G,SAAS7G,EAAE6G,SAAS,WAAWrE,GAAEiW,WAAWzY,EAAE02B,MAAM12B,EAAE02B,IAAI11B,KAAKK,MAAMrB,EAAEggB,OAAOxd,GAAEyrB,QAAQ5sB,KAAKrB,EAAEggB,QAAQhgB,GAAGwC,GAAEgQ,GAAG2J,QAAQwa,OAAO,SAASr3B,EAAEC,EAAEC,EAAEQ,GAAG,MAAOqB,MAAKsX,OAAO0G,IAAGpM,IAAI,UAAU,GAAG2N,OAAO5G,MAAM4c,SAASjX,QAAQpgB,GAAGD,EAAEE,EAAEQ,IAAI42B,QAAQ,SAASt3B,EAAEC,EAAEC,EAAEQ,GAAG,GAAIC,GAAEuC,GAAEke,cAAcphB,GAAGY,EAAEsC,GAAEg0B,MAAMj3B,EAAEC,EAAEQ,GAAGG,EAAE,WAAW,GAAIZ,GAAEsgB,EAAGxe,KAAKmB,GAAE2Z,UAAU7c,GAAGY,IAAID,GAAGka,GAAEC,IAAI/Y,KAAK,YAAY9B,EAAE8iB,MAAK,GAAK,OAAOliB,GAAE02B,OAAO12B,EAAEF,GAAGC,EAAE8f,SAAQ,EAAG3e,KAAKyX,KAAK3Y,GAAGkB,KAAK2e,MAAM9f,EAAE8f,MAAM7f,IAAIkiB,KAAK,SAAS/iB,EAAEC,EAAEC,GAAG,GAAIQ,GAAE,SAASV,GAAG,GAAIC,GAAED,EAAE+iB,WAAY/iB,GAAE+iB,KAAK9iB,EAAEC,GAAI,OAAM,gBAAiBF,KAAIE,EAAED,EAAEA,EAAED,EAAEA,EAAE,QAAQC,GAAGD,KAAI,GAAI+B,KAAK2e,MAAM1gB,GAAG,SAAS+B,KAAKyX,KAAK,WAAW,GAAIvZ,IAAE,EAAGU,EAAE,MAAMX,GAAGA,EAAE,aAAaY,EAAEsC,GAAEs0B,OAAO32B,EAAEga,GAAEC,IAAI/Y,KAAM,IAAGpB,EAAEE,EAAEF,IAAIE,EAAEF,GAAGoiB,MAAMriB,EAAEG,EAAEF,QAAS,KAAIA,IAAKE,GAAEA,EAAEF,IAAIE,EAAEF,GAAGoiB,MAAM8T,GAAGvzB,KAAK3C,IAAID,EAAEG,EAAEF,GAAI,KAAIA,EAAEC,EAAEiD,OAAOlD,KAAKC,EAAED,GAAGqhB,OAAOjgB,MAAM,MAAM/B,GAAGY,EAAED,GAAG+f,QAAQ1gB,IAAIY,EAAED,GAAGwiB,KAAKJ,KAAK7iB,GAAGD,GAAE,EAAGW,EAAEgF,OAAOjF,EAAE,KAAKV,IAAIC,IAAIgD,GAAEyrB,QAAQ5sB,KAAK/B,MAAMu3B,OAAO,SAASv3B,GAAG,MAAOA,MAAI,IAAKA,EAAEA,GAAG,MAAM+B,KAAKyX,KAAK,WAAW,GAAIvZ,GAAEC,EAAE2a,GAAEC,IAAI/Y,MAAMrB,EAAER,EAAEF,EAAE,SAASW,EAAET,EAAEF,EAAE,cAAcY,EAAEsC,GAAEs0B,OAAO32B,EAAEH,EAAEA,EAAEmD,OAAO,CAAE,KAAI3D,EAAEq3B,QAAO,EAAGr0B,GAAEwd,MAAM3e,KAAK/B,MAAMW,GAAGA,EAAEoiB,MAAMpiB,EAAEoiB,KAAKrhB,KAAKK,MAAK,GAAI9B,EAAEW,EAAEiD,OAAO5D,KAAKW,EAAEX,GAAG+hB,OAAOjgB,MAAMnB,EAAEX,GAAGygB,QAAQ1gB,IAAIY,EAAEX,GAAGkjB,KAAKJ,MAAK,GAAIniB,EAAEgF,OAAO3F,EAAE,GAAI,KAAIA,EAAE,EAAEY,EAAEZ,EAAEA,IAAIS,EAAET,IAAIS,EAAET,GAAGs3B,QAAQ72B,EAAET,GAAGs3B,OAAO71B,KAAKK,YAAa7B,GAAEq3B,YAAYr0B,GAAEsW,MAAM,SAAS,OAAO,QAAQ,SAASxZ,EAAEC,GAAG,GAAIC,GAAEgD,GAAEgQ,GAAGjT,EAAGiD,IAAEgQ,GAAGjT,GAAG,SAASD,EAAEU,EAAEC,GAAG,MAAO,OAAMX,GAAG,iBAAkBA,GAAEE,EAAEgC,MAAMH,KAAKE,WAAWF,KAAKu1B,QAAQlX,EAAGngB,GAAE,GAAID,EAAEU,EAAEC,MAAMuC,GAAEsW,MAAMie,UAAUrX,EAAG,QAAQsX,QAAQtX,EAAG,QAAQuX,YAAYvX,EAAG,UAAUwX,QAAQvX,QAAQ,QAAQwX,SAASxX,QAAQ,QAAQyX,YAAYzX,QAAQ,WAAW,SAASrgB,EAAEC,GAAGiD,GAAEgQ,GAAGlT,GAAG,SAASA,EAAEE,EAAEQ,GAAG,MAAOqB,MAAKu1B,QAAQr3B,EAAED,EAAEE,EAAEQ,MAAMwC,GAAEs0B,UAAUt0B,GAAEggB,GAAG6U,KAAK,WAAW,GAAI/3B,GAAEC,EAAE,EAAEC,EAAEgD,GAAEs0B,MAAO,KAAItX,GAAGhd,GAAEid,MAAMlgB,EAAEC,EAAE2D,OAAO5D,IAAID,EAAEE,EAAED,GAAGD,KAAKE,EAAED,KAAKD,GAAGE,EAAE0F,OAAO3F,IAAI,EAAGC,GAAE2D,QAAQX,GAAEggB,GAAGH,OAAO7C,GAAG,QAAQhd,GAAEggB,GAAGxa,MAAM,SAAS1I,GAAGkD,GAAEs0B,OAAOj1B,KAAKvC,GAAGA,IAAIkD,GAAEggB,GAAGzI,QAAQvX,GAAEs0B,OAAO9wB,OAAOxD,GAAEggB,GAAG8U,SAAS,GAAG90B,GAAEggB,GAAGzI,MAAM,WAAWmc,KAAKA,GAAG52B,EAAEi4B,YAAY/0B,GAAEggB,GAAG6U,KAAK70B,GAAEggB,GAAG8U,YAAY90B,GAAEggB,GAAGH,KAAK,WAAW/iB,EAAEk4B,cAActB,IAAIA,GAAG,MAAM1zB,GAAEggB,GAAGiU,QAAQgB,KAAK,IAAIC,KAAK,IAAIjd,SAAS,KAAKjY,GAAEgQ,GAAGmlB,MAAM,SAASp4B,EAAEC,GAAG,MAAOD,GAAEiD,GAAEggB,GAAGhgB,GAAEggB,GAAGiU,OAAOl3B,IAAIA,EAAEA,EAAEC,EAAEA,GAAG,KAAK6B,KAAK2e,MAAMxgB,EAAE,SAASA,EAAEQ,GAAG,GAAIC,GAAEX,EAAEiG,WAAW/F,EAAED,EAAGS,GAAEqiB,KAAK,WAAW/iB,EAAE0J,aAAa/I,OAAO,WAAW,GAAIX,GAAEU,EAAEO,cAAc,SAAShB,EAAES,EAAEO,cAAc,UAAUf,EAAED,EAAE0D,YAAYjD,EAAEO,cAAc,UAAWjB,GAAEwE,KAAK,WAAW9B,GAAE41B,QAAQ,KAAKt4B,EAAEgP,MAAMtM,GAAE61B,YAAYr4B,EAAE2qB,SAAS5qB,EAAE2qB,UAAS,EAAGloB,GAAE81B,aAAat4B,EAAE0qB,SAAS5qB,EAAEU,EAAEO,cAAc,SAASjB,EAAEgP,MAAM,IAAIhP,EAAEwE,KAAK,QAAQ9B,GAAE+1B,WAAW,MAAMz4B,EAAEgP,QAAS,IAAI0pB,IAAGC,GAAGz1B,GAAE6oB,KAAK1F,UAAWnjB,IAAEgQ,GAAG2J,QAAQoM,KAAK,SAASjpB,EAAEC,GAAG,MAAOmnB,IAAErlB,KAAKmB,GAAE+lB,KAAKjpB,EAAEC,EAAEgC,UAAU4B,OAAO,IAAI+0B,WAAW,SAAS54B,GAAG,MAAO+B,MAAKyX,KAAK,WAAWtW,GAAE01B,WAAW72B,KAAK/B,QAAQkD,GAAE2Z,QAAQoM,KAAK,SAASjpB,EAAEC,EAAEC,GAAG,GAAIQ,GAAEC,EAAEC,EAAEZ,EAAEmU,QAAS,IAAG,IAAIvT,GAAG,IAAIA,GAAG,IAAIA,EAAE,MAAM,mBAAoBZ,GAAEmO,aAAajL,GAAEmzB,KAAKr2B,EAAEC,EAAEC,IAAI,IAAIU,GAAGsC,GAAE+oB,SAASjsB,KAAKC,EAAEA,EAAEqC,cAAc3B,EAAEuC,GAAE21B,UAAU54B,KAAKiD,GAAE6oB,KAAKxjB,MAAMqf,KAAKtkB,KAAKrD,GAAGy4B,GAAG,SAAS,SAASx4B,EAAE,OAAOA,MAAOgD,IAAE01B,WAAW54B,EAAEC,GAAGU,GAAG,OAAQA,IAAG,UAAUD,EAAEC,EAAE2M,IAAItN,EAAEE,EAAED,IAAIS,GAAGV,EAAEgI,aAAa/H,EAAEC,EAAE,IAAIA,GAAGS,GAAG,OAAQA,IAAG,QAAQD,EAAEC,EAAEma,IAAI9a,EAAEC,IAAIS,GAAGA,EAAEwC,GAAE4jB,KAAKmC,KAAKjpB,EAAEC,GAAG,MAAMS,EAAE,OAAOA,KAAKm4B,WAAWr0B,MAAM8I,IAAI,SAAStN,EAAEC,GAAG,IAAIyC,GAAE+1B,YAAY,UAAUx4B,GAAGiD,GAAE+F,SAASjJ,EAAE,SAAS,CAAC,GAAIE,GAAEF,EAAEgP,KAAM,OAAOhP,GAAEgI,aAAa,OAAO/H,GAAGC,IAAIF,EAAEgP,MAAM9O,GAAGD,MAAM24B,WAAW,SAAS54B,EAAEC,GAAG,GAAIC,GAAEQ,EAAEC,EAAE,EAAEC,EAAEX,GAAGA,EAAEsI,MAAMkR,GAAG,IAAG7Y,GAAG,IAAIZ,EAAEmU,SAAS,KAAMjU,EAAEU,EAAED,MAAKD,EAAEwC,GAAE41B,QAAQ54B,IAAIA,EAAEgD,GAAE6oB,KAAKxjB,MAAMqf,KAAKtkB,KAAKpD,KAAKF,EAAEU,IAAG,GAAIV,EAAEgS,gBAAgB9R,MAAMw4B,IAAIprB,IAAI,SAAStN,EAAEC,EAAEC,GAAG,MAAOD,MAAI,EAAGiD,GAAE01B,WAAW54B,EAAEE,GAAGF,EAAEgI,aAAa9H,EAAEA,GAAGA,IAAIgD,GAAEsW,KAAKtW,GAAE6oB,KAAKxjB,MAAMqf,KAAK9e,OAAOP,MAAM,QAAQ,SAASvI,EAAEC,GAAG,GAAIC,GAAEy4B,GAAG14B,IAAIiD,GAAE4jB,KAAKmC,IAAK0P,IAAG14B,GAAG,SAASD,EAAEC,EAAES,GAAG,GAAIC,GAAEC,CAAE,OAAOF,KAAIE,EAAE+3B,GAAG14B,GAAG04B,GAAG14B,GAAGU,EAAEA,EAAE,MAAMT,EAAEF,EAAEC,EAAES,GAAGT,EAAEqC,cAAc,KAAKq2B,GAAG14B,GAAGW,GAAGD,IAAK,IAAIo4B,IAAG,sCAAsCC,GAAG,eAAgB91B,IAAEgQ,GAAG2J,QAAQwZ,KAAK,SAASr2B,EAAEC,GAAG,MAAOmnB,IAAErlB,KAAKmB,GAAEmzB,KAAKr2B,EAAEC,EAAEgC,UAAU4B,OAAO,IAAIo1B,WAAW,SAASj5B,GAAG,MAAO+B,MAAKyX,KAAK,iBAAkBzX,MAAKmB,GAAE41B,QAAQ94B,IAAIA,QAAQkD,GAAE2Z,QAAQwZ,KAAK,SAASr2B,EAAEC,EAAEC,GAAG,GAAIQ,GAAEC,EAAEC,EAAEZ,EAAEmU,QAAS,IAAG,IAAIvT,GAAG,IAAIA,GAAG,IAAIA,EAAE,MAAO,KAAIA,GAAGsC,GAAE+oB,SAASjsB,KAAKC,EAAEiD,GAAE41B,QAAQ74B,IAAIA,EAAEU,EAAEuC,GAAEozB,UAAUr2B,IAAI,SAASC,EAAES,GAAG,OAAQA,IAAG,UAAUD,EAAEC,EAAE2M,IAAItN,EAAEE,EAAED,IAAIS,EAAEV,EAAEC,GAAGC,EAAES,GAAG,OAAQA,IAAG,QAAQD,EAAEC,EAAEma,IAAI9a,EAAEC,IAAIS,EAAEV,EAAEC,IACh0+Bq2B,WAAW5L,UAAU5P,IAAI,SAAS9a,GAAG,GAAIC,GAAEiD,GAAE4jB,KAAKmC,KAAKjpB,EAAE,WAAY,OAAOC,GAAEoP,SAASpP,EAAE,IAAI84B,GAAGz1B,KAAKtD,EAAEiJ,WAAW+vB,GAAG11B,KAAKtD,EAAEiJ,WAAWjJ,EAAEiI,KAAK,GAAE,KAAM6wB,SAASI,IAAM,UAAUC,MAAQ,eAAez2B,GAAE61B,cAAcr1B,GAAEozB,UAAUzL,UAAU/P,IAAI,SAAS9a,GAAG,GAAIC,GAAED,EAAEoG,UAAW,OAAOnG,IAAGA,EAAEmG,YAAYnG,EAAEmG,WAAW0kB,cAAc,QAAQ5nB,GAAEsW,MAAM,WAAW,WAAW,YAAY,cAAc,cAAc,UAAU,UAAU,SAAS,cAAc,mBAAmB,WAAWtW,GAAE41B,QAAQ/2B,KAAKO,eAAeP,MAAO,IAAIq3B,IAAG,aAAgFl2B,IAAEgQ,GAAG2J,QAAQwc,SAAS,SAASr5B,GAAG,GAAIC,GAAEC,EAAEQ,EAAEC,EAAEC,EAAEC,EAAEE,EAAEC,EAAE,CAAE,IAAGkC,GAAEiW,WAAWnZ,GAAG,MAAO+B,MAAKyX,KAAK,SAASvZ,GAAGiD,GAAEnB,MAAMs3B,SAASr5B,EAAE0B,KAAKK,KAAK9B,EAAEqjB,EAAGvhB,SAAU,IAAG,gBAAiB/B,IAAGA,EAAoB,IAAjBC,EAAED,EAAEuI,MAAMkR,QAAavZ,EAAE6B,KAAKf,MAAK,GAAGL,EAAE2iB,EAAGpjB,GAAGQ,EAAE,IAAIR,EAAEiU,WAAW,IAAIxT,EAAE,KAAKsD,QAAQm1B,GAAG,KAAK,CAAK,IAAJv4B,EAAE,EAAQD,EAAEX,EAAEY,MAAKH,EAAEmkB,QAAQ,IAAIjkB,EAAE,KAAK,IAAIF,GAAGE,EAAE,IAAKG,GAAEmC,GAAEuiB,KAAK/kB,GAAGC,IAAII,GAAGb,EAAE8H,aAAa,QAAQjH,GAAI,MAAOgB,OAAMu3B,YAAY,SAASt5B,GAAG,GAAIC,GAAEC,EAAEQ,EAAEC,EAAEC,EAAEC,EAAEE,EAAEC,EAAE,CAAE,IAAGkC,GAAEiW,WAAWnZ,GAAG,MAAO+B,MAAKyX,KAAK,SAASvZ,GAAGiD,GAAEnB,MAAMu3B,YAAYt5B,EAAE0B,KAAKK,KAAK9B,EAAEqjB,EAAGvhB,SAAU,KAAIE,UAAU4B,OAAO,MAAO9B,MAAKknB,KAAK,QAAQ,GAAI,IAAG,gBAAiBjpB,IAAGA,EAAoB,IAAjBC,EAAED,EAAEuI,MAAMkR,QAAavZ,EAAE6B,KAAKf,MAAK,GAAGL,EAAE2iB,EAAGpjB,GAAGQ,EAAE,IAAIR,EAAEiU,WAAW,IAAIxT,EAAE,KAAKsD,QAAQm1B,GAAG,KAAK,CAAK,IAAJv4B,EAAE,EAAQD,EAAEX,EAAEY,MAAK,KAAMH,EAAEmkB,QAAQ,IAAIjkB,EAAE,MAAK,GAAGF,EAAEA,EAAEuD,QAAQ,IAAIrD,EAAE,IAAI,IAAKG,GAAEmC,GAAEuiB,KAAK/kB,GAAGC,IAAII,GAAGb,EAAE8H,aAAa,QAAQjH,GAAI,MAAOgB,OAAMw3B,YAAY,SAASv5B,EAAEC,GAAG,GAAIC,SAASF,EAAE,OAAM,iBAAkBC,IAAG,WAAWC,EAAED,EAAE8B,KAAKs3B,SAASr5B,GAAG+B,KAAKu3B,YAAYt5B,GAAGkD,GAAEiW,WAAWnZ,GAAG+B,KAAKyX,KAAK,SAAStZ,GAAGgD,GAAEnB,MAAMw3B,YAAYv5B,EAAE0B,KAAKK,KAAK7B,EAAEojB,EAAGvhB,MAAM9B,GAAGA,KAAK8B,KAAKyX,KAAK,WAAW,GAAIvZ,GAAES,EAAEC,EAAEC,CAAE,IAAG,WAAWV,EAAkC,IAA/BQ,EAAE,EAAEC,EAAEuC,GAAEnB,MAAMnB,EAAEZ,EAAEuI,MAAMkR,QAAaxZ,EAAEW,EAAEF,MAAKC,EAAE64B,SAASv5B,GAAGU,EAAE24B,YAAYr5B,GAAGU,EAAE04B,SAASp5B,QAAQ,SAASD,GAAG,YAAYE,KAAKD,EAAEqjB,EAAGvhB,MAAM9B,GAAG4a,GAAEvN,IAAIvL,KAAK,gBAAgB9B,GAAG8B,KAAKiG,cAAcjG,KAAKiG,aAAa,QAAQ/H,GAAGD,KAAI,EAAG,GAAG6a,GAAEC,IAAI/Y,KAAK,kBAAkB,QAAQy3B,SAAS,SAASx5B,GAAG,GAAIC,GAAEC,EAAEQ,EAAE,CAAc,KAAZT,EAAE,IAAID,EAAE,IAAUE,EAAE6B,KAAKrB,MAAK,GAAG,IAAIR,EAAEiU,WAAW,IAAImP,EAAGpjB,GAAG,KAAK+D,QAAQm1B,GAAG,KAAKvU,QAAQ5kB,IAAG,EAAG,OAAM,CAAG,QAAM,IAAM,IAAIw5B,IAAG,KAAMv2B,IAAEgQ,GAAG2J,QAAQ6c,IAAI,SAAS15B,GAAG,GAAIC,GAAEC,EAAEQ,EAAEC,EAAEoB,KAAK,EAAI,OAAGE,WAAU4B,QAAcnD,EAAEwC,GAAEiW,WAAWnZ,GAAG+B,KAAKyX,KAAK,SAAStZ,GAAG,GAAIS,EAAE,KAAIoB,KAAKoS,WAAWxT,EAAED,EAAEV,EAAE0B,KAAKK,KAAK7B,EAAEgD,GAAEnB,MAAM23B,OAAO15B,EAAE,MAAMW,EAAEA,EAAE,GAAG,gBAAiBA,GAAEA,GAAG,GAAGuC,GAAEsD,QAAQ7F,KAAKA,EAAEuC,GAAEoa,IAAI3c,EAAE,SAASX,GAAG,MAAO,OAAMA,EAAE,GAAGA,EAAE,MAAMC,EAAEiD,GAAEy2B,SAAS53B,KAAKyC,OAAOtB,GAAEy2B,SAAS53B,KAAKkH,SAAS3G,eAAerC,GAAG,OAAQA,IAAG,SAASA,EAAEqN,IAAIvL,KAAKpB,EAAE,WAAWoB,KAAKiN,MAAMrO,OAASA,GAASV,EAAEiD,GAAEy2B,SAASh5B,EAAE6D,OAAOtB,GAAEy2B,SAASh5B,EAAEsI,SAAS3G,eAAerC,GAAG,OAAQA,IAAG,UAAUC,EAAED,EAAE6a,IAAIna,EAAE,UAAUT,GAAGA,EAAES,EAAEqO,MAAM,gBAAiB9O,GAAEA,EAAE+D,QAAQw1B,GAAG,IAAI,MAAMv5B,EAAE,GAAGA,IAA/K,UAAsLgD,GAAE2Z,QAAQ8c,UAAU9K,QAAQ/T,IAAI,SAAS9a,GAAG,MAAOkD,IAAEuiB,KAAKzlB,EAAEgP,SAAS8c,QAAQhR,IAAI,SAAS9a,GAAG,IAAI,GAAIC,GAAEC,EAAEQ,EAAEV,EAAEkU,QAAQvT,EAAEX,EAAE8qB,cAAclqB,EAAE,eAAeZ,EAAEwE,MAAM,EAAE7D,EAAEE,EAAED,EAAE,QAAQG,EAAEH,EAAED,EAAE,EAAED,EAAEmD,OAAO7C,EAAE,EAAEL,EAAEI,EAAEH,EAAED,EAAE,EAAEI,EAAEC,EAAEA,IAAI,GAAGd,EAAEQ,EAAEM,IAAId,EAAE2qB,UAAU7pB,IAAIL,KAAK+B,GAAE81B,aAAat4B,EAAE0qB,SAAS,OAAO1qB,EAAEiO,aAAa,gBAAgBjO,EAAEkG,WAAWwkB,WAAW1nB,GAAE+F,SAAS/I,EAAEkG,WAAW,aAAa,CAAC,GAAGnG,EAAEiD,GAAEhD,GAAGw5B,MAAM94B,EAAE,MAAOX,EAAEY,GAAE0B,KAAKtC,GAAG,MAAOY,IAAGyM,IAAI,SAAStN,EAAEC,GAAmD,IAAhD,GAAIC,GAAEQ,EAAEC,EAAEX,EAAEkU,QAAQtT,EAAEsC,GAAE0iB,UAAU3lB,GAAGY,EAAEF,EAAEkD,OAAahD,KAAIH,EAAEC,EAAEE,IAAIH,EAAEmqB,SAAS3nB,GAAEqY,QAAQrY,GAAEy2B,SAAS9K,OAAO/T,IAAIpa,GAAGE,IAAG,KAAMV,GAAE,EAAI,OAAOA,KAAIF,EAAE8qB,eAAc,GAAIlqB,OAAOsC,GAAEsW,MAAM,QAAQ,YAAY,WAAWtW,GAAEy2B,SAAS53B,OAAOuL,IAAI,SAAStN,EAAEC,GAAG,MAAOiD,IAAEsD,QAAQvG,GAAGD,EAAEgd,QAAQ9Z,GAAEqY,QAAQrY,GAAElD,GAAG05B,MAAMz5B,IAAG,EAAG,SAASyC,GAAE41B,UAAUp1B,GAAEy2B,SAAS53B,MAAM+Y,IAAI,SAAS9a,GAAG,MAAO,QAAOA,EAAEmO,aAAa,SAAS,KAAKnO,EAAEgP,SAAU,IAAI4qB,IAAG,iCAAkC12B,IAAE2Z,OAAO3Z,GAAEgZ,OAAOkW,QAAQ,SAASnyB,EAAEC,EAAES,EAAEC,GAAG,GAAIC,GAAEE,EAAEC,EAAEZ,EAAEsC,EAAEvB,EAAEgC,EAAE9B,GAAGV,GAAGD,GAAGY,EAAEf,GAAEmB,KAAKzB,EAAE,QAAQA,EAAEuE,KAAKvE,EAAEO,EAAED,GAAEmB,KAAKzB,EAAE,aAAaA,EAAEgwB,UAAUhtB,MAAM,OAAQ,IAAGlC,EAAEC,EAAEL,EAAEA,GAAGD,EAAE,IAAIC,EAAEwT,UAAU,IAAIxT,EAAEwT,WAAWylB,GAAGt2B,KAAKhC,EAAE4B,GAAEgZ,MAAMyT,aAAaruB,EAAEujB,QAAQ,MAAK,IAAKrkB,EAAEc,EAAE2B,MAAM,KAAK3B,EAAEd,EAAEoE,QAAQpE,EAAEwW,QAAQtU,EAAEpB,EAAEujB,QAAQ,KAAK,GAAG,KAAKvjB,EAAErB,EAAEA,EAAEiD,GAAE2W,SAAS5Z,EAAE,GAAIiD,IAAEgvB,MAAM5wB,EAAE,gBAAiBrB,IAAGA,GAAGA,EAAE45B,UAAUj5B,EAAE,EAAE,EAAEX,EAAEgwB,UAAUzvB,EAAEwD,KAAK,KAAK/D,EAAE4wB,WAAW5wB,EAAEgwB,UAAU,GAAIznB,QAAO,UAAUhI,EAAEwD,KAAK,iBAAiB,WAAW,KAAK/D,EAAE8wB,OAAO,OAAO9wB,EAAEmqB,SAASnqB,EAAEmqB,OAAOzpB,GAAGT,EAAE,MAAMA,GAAGD,GAAGiD,GAAE0iB,UAAU1lB,GAAGD,IAAIkD,EAAED,GAAEgZ,MAAM2T,QAAQvuB,OAAOV,IAAIuC,EAAEivB,SAASjvB,EAAEivB,QAAQlwB,MAAMvB,EAAET,MAAK,GAAI,CAAC,IAAIU,IAAIuC,EAAEgvB,WAAWjvB,GAAEgW,SAASvY,GAAG,CAAC,IAAIP,EAAE+C,EAAE2sB,cAAcxuB,EAAEs4B,GAAGt2B,KAAKlD,EAAEkB,KAAKP,EAAEA,EAAEqF,YAAYrF,EAAEA,EAAEA,EAAEqF,WAAW/E,EAAEkB,KAAKxB,GAAGC,EAAED,CAAEC,MAAKL,EAAE8a,eAAe/a,IAAIW,EAAEkB,KAAKvB,EAAE4jB,aAAa5jB,EAAE84B,cAAc95B,GAAO,IAAJa,EAAE,GAASE,EAAEM,EAAER,QAAQZ,EAAEywB,wBAAuBzwB,EAAEuE,KAAK3D,EAAE,EAAET,EAAE+C,EAAE4sB,UAAUzuB,EAAEH,GAAG0Z,GAAEC,IAAI/Z,EAAE,eAAed,EAAEuE,OAAOqW,GAAEC,IAAI/Z,EAAE,UAAUI,GAAGA,EAAEe,MAAMnB,EAAEb,GAAGiB,EAAEuB,GAAG3B,EAAE2B,GAAGvB,GAAGA,EAAEe,OAAOmlB,GAAEtmB,KAAKd,EAAE8wB,OAAO5vB,EAAEe,MAAMnB,EAAEb,GAAGD,EAAE8wB,UAAS,GAAI9wB,EAAE+wB,iBAAkB,OAAO/wB,GAAEuE,KAAKlD,EAAEV,GAAGX,EAAEyyB,sBAAsBvvB,EAAEgY,UAAUhY,EAAEgY,SAASjZ,MAAMb,EAAEqF,MAAMxG,MAAK,IAAKmnB,GAAE1mB,IAAI+B,GAAGQ,GAAEiW,WAAWxY,EAAEW,MAAM4B,GAAEgW,SAASvY,KAAKK,EAAEL,EAAE+B,GAAG1B,IAAIL,EAAE+B,GAAG,MAAMQ,GAAEgZ,MAAMyT,UAAUruB,EAAEX,EAAEW,KAAK4B,GAAEgZ,MAAMyT,UAAU,OAAO3uB,IAAIL,EAAE+B,GAAG1B,IAAIf,EAAE8wB,SAASgJ,SAAS,SAAS/5B,EAAEC,EAAEC,GAAG,GAAIQ,GAAEwC,GAAE2Z,OAAO,GAAI3Z,IAAEgvB,MAAMhyB,GAAGsE,KAAKxE,EAAEg6B,aAAY,GAAK92B,IAAEgZ,MAAMkW,QAAQ1xB,EAAE,KAAKT,GAAGS,EAAEgyB,sBAAsBxyB,EAAE8wB,oBAAoB9tB,GAAEgQ,GAAG2J,QAAQuV,QAAQ,SAASpyB,EAAEC,GAAG,MAAO8B,MAAKyX,KAAK,WAAWtW,GAAEgZ,MAAMkW,QAAQpyB,EAAEC,EAAE8B,SAASmsB,eAAe,SAASluB,EAAEC,GAAG,GAAIC,GAAE6B,KAAK,EAAG,OAAO7B,GAAEgD,GAAEgZ,MAAMkW,QAAQpyB,EAAEC,EAAEC,GAAE,GAAI,UAAUgD,GAAEsW,KAAK,0MAA0MvW,MAAM,KAAK,SAASjD,EAAEC,GAAGiD,GAAEgQ,GAAGjT,GAAG,SAASD,EAAEE,GAAG,MAAO+B,WAAU4B,OAAO,EAAE9B,KAAKgR,GAAG9S,EAAE,KAAKD,EAAEE,GAAG6B,KAAKqwB,QAAQnyB,MAAMiD,GAAEgQ,GAAG2J,QAAQod,MAAM,SAASj6B,EAAEC,GAAG,MAAO8B,MAAK+wB,WAAW9yB,GAAG+yB,WAAW9yB,GAAGD,MAAM0C,GAAEw3B,QAAQ,aAAcl6B,GAAE0C,GAAEw3B,SAASh3B,GAAEsW,MAAMgR,MAAM,UAAU6H,KAAK,YAAY,SAASryB,EAAEC,GAAG,GAAIC,GAAE,SAASF,GAAGkD,GAAEgZ,MAAM6d,SAAS95B,EAAED,EAAEoqB,OAAOlnB,GAAEgZ,MAAMoU,IAAItwB,IAAKkD,IAAEgZ,MAAM2T,QAAQ5vB,IAAIkwB,MAAM,WAAW,GAAIzvB,GAAEqB,KAAK0Z,eAAe1Z,KAAKpB,EAAEka,GAAE6B,OAAOhc,EAAET,EAAGU,IAAGD,EAAEmH,iBAAiB7H,EAAEE,GAAE,GAAI2a,GAAE6B,OAAOhc,EAAET,GAAGU,GAAG,GAAG,IAAIyvB,SAAS,WAAW,GAAI1vB,GAAEqB,KAAK0Z,eAAe1Z,KAAKpB,EAAEka,GAAE6B,OAAOhc,EAAET,GAAG,CAAEU,GAAEka,GAAE6B,OAAOhc,EAAET,EAAEU,IAAID,EAAEoH,oBAAoB9H,EAAEE,GAAE,GAAI2a,GAAE4G,OAAO/gB,EAAET,OAAQ,IAAIk6B,IAAGn6B,EAAEqqB,SAAS+P,GAAGl3B,GAAEid,MAAMka,GAAG,IAAKn3B,IAAEgX,UAAU,SAASla,GAAG,MAAOs6B,MAAKC,MAAMv6B,EAAE,KAAKkD,GAAEs3B,SAAS,SAASv6B,GAAG,GAAIC,EAAE,KAAID,GAAG,gBAAiBA,GAAE,MAAO,KAAK,KAAIC,GAAE,GAAKF,GAAEy6B,WAAWC,gBAAgBz6B,EAAE,YAAY,MAAMS,GAAGR,EAAE,OAAO,QAAQA,GAAGA,EAAEyC,qBAAqB,eAAekB,SAASX,GAAEshB,MAAM,gBAAgBvkB,GAAGC,EAAG,IAAIy6B,IAAG,OAAOC,GAAG,gBAAgBC,GAAG,6BAA6BC,GAAG,4DAA4DC,GAAG,iBAAiBC,GAAG,QAAQC,MAAMtX,MAAMuX,GAAG,KAAK/4B,OAAO,KAAKg5B,GAAGz6B,EAAEO,cAAc,IAAKk6B,IAAGlzB,KAAKkyB,GAAGlyB,KAA8jD/E,GAAE2Z,QAAQue,OAAO,EAAEC,gBAAgBC,QAAQzX,cAAcld,IAAIwzB,GAAGlyB,KAAKzD,KAAK,MAAM+2B,QAAQT,GAAGx3B,KAAK62B,GAAGqB,UAAU/L,QAAO,EAAGgM,aAAY,EAAGC,OAAM,EAAGC,YAAY,mDAAmDC,SAAS7E,IAAImE,GAAGxV,KAAK,aAAarI,KAAK,YAAYwe,IAAI,4BAA4BC,KAAK,qCAAqC9X,UAAU6X,IAAI,UAAUxe,KAAK,SAASye,KAAK,YAAYzX,gBAAgBwX,IAAI,cAAcnW,KAAK,eAAeoW,KAAK,gBAAgB3X,YAAY4X,SAASjU,OAAOkU,aAAY,EAAGC,YAAY/4B,GAAEgX,UAAUgiB,WAAWh5B,GAAEs3B,UAAU1W,aAAand,KAAI,EAAGyN,SAAQ,IAAK+nB,UAAU,SAASn8B,EAAEC,GAAG,MAAOA,GAAE2jB,EAAGA,EAAG5jB,EAAEkD,GAAE2gB,cAAc5jB,GAAG2jB,EAAG1gB,GAAE2gB,aAAa7jB,IAAIo8B,cAAc7Y,EAAG0X,IAAIoB,cAAc9Y,EAAGI,IAAI2Y,KAAK,SAASr8B,EAAEC,GAA+5E,QAASmC,GAAEpC,EAAEC,EAAEQ,EAAEK,GAAG,GAAIX,GAAEsC,EAAEjC,EAAEN,EAAEG,EAAE+E,EAAEnF,CAAE,KAAI2F,IAAIA,EAAE,EAAE7E,GAAGhB,EAAE0J,aAAa1I,GAAGL,EAAE,OAAOE,EAAEE,GAAG,GAAGiE,EAAEC,WAAWhF,EAAE,EAAE,EAAE,EAAEG,EAAEH,GAAG,KAAK,IAAIA,GAAG,MAAMA,EAAES,IAAIP,EAAE4jB,EAAG5iB,EAAE6D,EAAEtE,IAAIP,EAAEikB,EAAGjjB,EAAEhB,EAAE6E,EAAE5E,GAAGA,GAAGe,EAAEo7B,aAAaj8B,EAAE0E,EAAEkf,kBAAkB,iBAAiB5jB,IAAI4C,GAAEm4B,aAAaz6B,GAAGN,GAAGA,EAAE0E,EAAEkf,kBAAkB,QAAQ5jB,IAAI4C,GAAEo4B,KAAK16B,GAAGN,IAAI,MAAML,GAAG,SAASkB,EAAEqD,KAAKa,EAAE,YAAY,MAAMpF,EAAEoF,EAAE,eAAeA,EAAElF,EAAE0P,MAAMnN,EAAEvC,EAAEoF,KAAK9E,EAAEN,EAAEqkB,MAAMpkB,GAAGK,KAAKA,EAAE4E,GAAGpF,IAAIoF,KAAKA,EAAE,QAAQ,EAAEpF,IAAIA,EAAE,KAAK+E,EAAEw3B,OAAOv8B,EAAE+E,EAAEy3B,YAAYv8B,GAAGmF,GAAG,GAAGjF,EAAEkB,EAAE+gB,YAAYlf,GAAGT,EAAE2C,EAAEL,IAAI1D,EAAE0hB,WAAW7f,GAAG6B,EAAEK,EAAE5E,IAAIuE,EAAE03B,WAAWl7B,GAAGA,EAAE,OAAOjB,GAAGc,EAAE+wB,QAAQhyB,EAAE,cAAc,aAAa4E,EAAE7D,EAAEf,EAAEsC,EAAEjC,IAAID,EAAEgtB,SAASrqB,GAAG6B,EAAEK,IAAI9E,IAAIc,EAAE+wB,QAAQ,gBAAgBptB,EAAE7D,MAAM+B,GAAEk4B,QAAQl4B,GAAEgZ,MAAMkW,QAAQ,cAArkG,gBAAiBnyB,KAAIC,EAAED,EAAEA,EAAE,QAAQC,EAAEA,KAAM,IAAIS,GAAEC,EAAEC,EAAEE,EAAEC,EAAEZ,EAAEG,EAAEmC,EAAEvB,EAAE+B,GAAEi5B,aAAaj8B,GAAGiD,EAAEhC,EAAEiT,SAASjT,EAAEE,EAAEF,EAAEiT,UAAUjR,EAAEgR,UAAUhR,EAAE2hB,QAAQ5hB,GAAEC,GAAGD,GAAEgZ,MAAM5a,EAAE4B,GAAE6e,WAAWvhB,EAAE0C,GAAE+pB,UAAU,eAAezrB,EAAEL,EAAEu7B,eAAej8B,KAAKN,KAAK0F,EAAE,EAAEvF,EAAE,WAAW0E,GAAGC,WAAW,EAAEif,kBAAkB,SAASlkB,GAAG,GAAIC,EAAE,IAAG,IAAI4F,EAAE,CAAC,IAAI9E,EAAQ,IAALA,KAAWd,EAAE46B,GAAGnsB,KAAK7N,IAAGE,EAAEd,EAAE,GAAGqC,eAAerC,EAAE,EAAGA,GAAEc,EAAEf,EAAEsC,eAAe,MAAO,OAAMrC,EAAE,KAAKA,GAAG08B,sBAAsB,WAAW,MAAO,KAAI92B,EAAEhF,EAAE,MAAM+7B,iBAAiB,SAAS58B,EAAEC,GAAG,GAAIC,GAAEF,EAAEsC,aAAc,OAAOuD,KAAI7F,EAAEG,EAAED,GAAGC,EAAED,IAAIF,EAAES,EAAET,GAAGC,GAAG8B,MAAM86B,iBAAiB,SAAS78B,GAAG,MAAO6F,KAAI1E,EAAE8iB,SAASjkB,GAAG+B,MAAM26B,WAAW,SAAS18B,GAAG,GAAIC,EAAE,IAAGD,EAAE,GAAG,EAAE6F,EAAE,IAAI5F,IAAKD,GAAEwB,EAAEvB,IAAIuB,EAAEvB,GAAGD,EAAEC,QAAS+E,GAAE+b,OAAO/gB,EAAEgF,EAAEw3B,QAAS,OAAOz6B,OAAM+6B,MAAM,SAAS98B,GAAG,GAAIC,GAAED,GAAGM,CAAE,OAAOK,IAAGA,EAAEm8B,MAAM78B,GAAGoC,EAAE,EAAEpC,GAAG8B,MAAO,IAAGT,EAAEghB,QAAQtd,GAAGuC,SAAS/G,EAAE2b,IAAInX,EAAE+3B,QAAQ/3B,EAAEuc,KAAKvc,EAAEwf,MAAMxf,EAAEqe,KAAKliB,EAAEwF,MAAM1G,GAAGkB,EAAEwF,KAAKwzB,GAAGlyB,MAAM,IAAIhE,QAAQ02B,GAAG,IAAI12B,QAAQ+2B,GAAGb,GAAGqB,SAAS,MAAMr6B,EAAEqD,KAAKtE,EAAE88B,QAAQ98B,EAAEsE,MAAMrD,EAAE67B,QAAQ77B,EAAEqD,KAAKrD,EAAEuiB,UAAUxgB,GAAEuiB,KAAKtkB,EAAEojB,UAAU,KAAKjiB,cAAciG,MAAMkR,MAAK,IAAI,MAAMtY,EAAE87B,YAAY,CAAC78B,EAAEM,EAAEO,cAAc,IAAK,KAAIb,EAAE6H,KAAK9G,EAAEwF,IAAIvG,EAAE6H,KAAK7H,EAAE6H,KAAK9G,EAAE87B,YAAY9B,GAAGK,SAAS,KAAKL,GAAG+B,MAAM98B,EAAEo7B,SAAS,KAAKp7B,EAAE88B,KAAK,MAAM73B,GAAGlE,EAAE87B,aAAY,GAAI,GAAG97B,EAAEoE,MAAMpE,EAAEs6B,aAAa,gBAAiBt6B,GAAEoE,OAAOpE,EAAEoE,KAAKrC,GAAEi6B,MAAMh8B,EAAEoE,KAAKpE,EAAEi8B,cAAc3Z,EAAGwX,GAAG95B,EAAEjB,EAAE8E,GAAG,IAAIa,EAAE,MAAOb,EAAEzE,GAAE2C,GAAEgZ,OAAO/a,EAAEsuB,OAAOlvB,GAAG,IAAI2C,GAAEk4B,UAAUl4B,GAAEgZ,MAAMkW,QAAQ,aAAajxB,EAAEqD,KAAKrD,EAAEqD,KAAK0E,cAAc/H,EAAEk8B,YAAYtC,GAAGz3B,KAAKnC,EAAEqD,MAAM5D,EAAEO,EAAEwF,IAAIxF,EAAEk8B,aAAal8B,EAAEoE,OAAO3E,EAAEO,EAAEwF,MAAM0zB,GAAG/2B,KAAK1C,GAAG,IAAI,KAAKO,EAAEoE,WAAYpE,GAAEoE,MAAMpE,EAAEiC,SAAQ,IAAKjC,EAAEwF,IAAIi0B,GAAGt3B,KAAK1C,GAAGA,EAAEqD,QAAQ22B,GAAG,OAAOR,MAAMx5B,GAAGy5B,GAAG/2B,KAAK1C,GAAG,IAAI,KAAK,KAAKw5B,OAAOj5B,EAAEo7B,aAAar5B,GAAEm4B,aAAaz6B,IAAIoE,EAAE43B,iBAAiB,oBAAoB15B,GAAEm4B,aAAaz6B,IAAIsC,GAAEo4B,KAAK16B,IAAIoE,EAAE43B,iBAAiB,gBAAgB15B,GAAEo4B,KAAK16B,MAAMO,EAAEoE,MAAMpE,EAAEk8B,YAAYl8B,EAAEw6B,eAAc,GAAIz7B,EAAEy7B,cAAc32B,EAAE43B,iBAAiB,eAAez7B,EAAEw6B,aAAa32B,EAAE43B,iBAAiB,SAASz7B,EAAEuiB,UAAU,IAAIviB,EAAEy6B,QAAQz6B,EAAEuiB,UAAU,IAAIviB,EAAEy6B,QAAQz6B,EAAEuiB,UAAU,KAAK,MAAMviB,EAAEuiB,UAAU,GAAG,KAAKwX,GAAG,WAAW,IAAI/5B,EAAEy6B,QAAQ,KAAM,KAAIl5B,IAAKvB,GAAEm8B,QAAQt4B,EAAE43B,iBAAiBl6B,EAAEvB,EAAEm8B,QAAQ56B,GAAI,IAAGvB,EAAEo8B,aAAap8B,EAAEo8B,WAAW77B,KAAKyB,EAAE6B,EAAE7D,MAAK,GAAI,IAAI0E,GAAG,MAAOb,GAAE83B,OAAQx8B,GAAE,OAAQ,KAAIoC,KAAKq6B,QAAQ,EAAEvY,MAAM,EAAEjd,SAAS,GAAGvC,EAAEtC,GAAGvB,EAAEuB,GAAI,IAAG/B,EAAE8iB,EAAGE,GAAGxiB,EAAEjB,EAAE8E,GAAG,CAAC,GAAGA,EAAEC,WAAW,EAAE1E,GAAGc,EAAE+wB,QAAQ,YAAYptB,EAAE7D,IAAI,IAAI0E,EAAE,MAAOb,EAAE7D,GAAEu6B,OAAOv6B,EAAEsF,QAAQ,IAAIzF,EAAEhB,EAAEiG,WAAW,WAAWjB,EAAE83B,MAAM,YAAY37B,EAAEsF,SAAU,KAAIZ,EAAE,EAAElF,EAAE68B,KAAK/8B,EAAE4B,GAAG,MAAMgD,GAAG,KAAK,EAAEQ,GAAG,KAAMR,EAAEhD,IAAE,EAAGgD,QAAShD,IAAE,EAAG,eAAusB,OAAO2C,IAAGy4B,QAAQ,SAASz9B,EAAEC,EAAEC,GAAG,MAAOgD,IAAE4X,IAAI9a,EAAEC,EAAEC,EAAE,SAASw9B,UAAU,SAAS19B,EAAEC,GAAG,MAAOiD,IAAE4X,IAAI9a,EAAE,OAAOC,EAAE,aAAaiD,GAAEsW,MAAM,MAAM,QAAQ,SAASxZ,EAAEC;AAAGiD,GAAEjD,GAAG,SAASD,EAAEE,EAAEQ,EAAEC,GAAG,MAAOuC,IAAEiW,WAAWjZ,KAAKS,EAAEA,GAAGD,EAAEA,EAAER,EAAEA,EAAE,QAAQgD,GAAEo5B,KAAKp5B,GAAE2Z,QAAQlW,IAAI3G,EAAEwE,KAAKvE,EAAEskB,SAAS5jB,EAAE4E,KAAKrF,EAAE68B,QAAQr8B,GAAGwC,GAAEkiB,cAAcplB,IAAIA,OAAOkD,GAAEsa,SAAS,SAASxd,GAAG,MAAOkD,IAAEo5B,MAAM31B,IAAI3G,EAAEwE,KAAK,MAAM+f,SAAS,SAASmX,OAAM,EAAGjM,QAAO,EAAGkO,QAAS,KAAMz6B,GAAEgQ,GAAG2J,QAAQ+gB,QAAQ,SAAS59B,GAAG,GAAIC,EAAE,OAAOiD,IAAEiW,WAAWnZ,GAAG+B,KAAKyX,KAAK,SAASvZ,GAAGiD,GAAEnB,MAAM67B,QAAQ59B,EAAE0B,KAAKK,KAAK9B,OAAO8B,KAAK,KAAK9B,EAAEiD,GAAElD,EAAE+B,KAAK,GAAG0Z,eAAe2B,GAAG,GAAGG,OAAM,GAAIxb,KAAK,GAAGqE,YAAYnG,EAAE4C,aAAad,KAAK,IAAI9B,EAAEqd,IAAI,WAAsB,IAAX,GAAItd,GAAE+B,KAAW/B,EAAEmJ,mBAAkBnJ,EAAEA,EAAEmJ,iBAAkB,OAAOnJ,KAAIqzB,OAAOtxB,OAAOA,OAAO87B,UAAU,SAAS79B,GAAG,MAAOkD,IAAEiW,WAAWnZ,GAAG+B,KAAKyX,KAAK,SAASvZ,GAAGiD,GAAEnB,MAAM87B,UAAU79B,EAAE0B,KAAKK,KAAK9B,MAAM8B,KAAKyX,KAAK,WAAW,GAAIvZ,GAAEiD,GAAEnB,MAAM7B,EAAED,EAAE+jB,UAAW9jB,GAAE2D,OAAO3D,EAAE09B,QAAQ59B,GAAGC,EAAEozB,OAAOrzB,MAAM89B,KAAK,SAAS99B,GAAG,GAAIC,GAAEiD,GAAEiW,WAAWnZ,EAAG,OAAO+B,MAAKyX,KAAK,SAAStZ,GAAGgD,GAAEnB,MAAM67B,QAAQ39B,EAAED,EAAE0B,KAAKK,KAAK7B,GAAGF,MAAM+9B,OAAO,WAAW,MAAOh8B,MAAKsV,SAASmC,KAAK,WAAWtW,GAAE+F,SAASlH,KAAK,SAASmB,GAAEnB,MAAM0xB,YAAY1xB,KAAKsC,cAAcqW,SAASxX,GAAE6oB,KAAKH,QAAQvK,OAAO,SAASrhB,GAAG,OAAOkD,GAAE6oB,KAAKH,QAAQoS,QAAQh+B,IAAIkD,GAAE6oB,KAAKH,QAAQoS,QAAQ,SAASh+B,GAAG,MAAOA,GAAEqJ,YAAY,GAAGrJ,EAAEsf,aAAa,GAAGtf,EAAEyf,iBAAiB5b,OAAO,EAAG,IAAIo6B,IAAG,OAAOvZ,GAAG,QAAQwZ,GAAG,SAASC,GAAG,wCAAwCC,GAAG,oCAAqQl7B,IAAEi6B,MAAM,SAASn9B,EAAEC,GAAG,GAAIC,GAAEQ,KAAKC,EAAE,SAASX,EAAEC,GAAGA,EAAEiD,GAAEiW,WAAWlZ,GAAGA,IAAI,MAAMA,EAAE,GAAGA,EAAES,EAAEA,EAAEmD,QAAQw6B,mBAAmBr+B,GAAG,IAAIq+B,mBAAmBp+B,GAAI,IAAG,SAASA,IAAIA,EAAEiD,GAAE2gB,cAAc3gB,GAAE2gB,aAAauZ,aAAal6B,GAAEsD,QAAQxG,IAAIA,EAAE8kB,SAAS5hB,GAAEkiB,cAAcplB,GAAGkD,GAAEsW,KAAKxZ,EAAE,WAAWW,EAAEoB,KAAK6W,KAAK7W,KAAKiN,aAAc,KAAI9O,IAAKF,GAAEykB,EAAGvkB,EAAEF,EAAEE,GAAGD,EAAEU,EAAG,OAAOD,GAAEsD,KAAK,KAAKC,QAAQg6B,GAAG,MAAM/6B,GAAEgQ,GAAG2J,QAAQyhB,UAAU,WAAW,MAAOp7B,IAAEi6B,MAAMp7B,KAAKw8B,mBAAmBA,eAAe,WAAW,MAAOx8B,MAAKub,IAAI,WAAW,GAAItd,GAAEkD,GAAEmzB,KAAKt0B,KAAK,WAAY,OAAO/B,GAAEkD,GAAE0iB,UAAU5lB,GAAG+B,OAAOsX,OAAO,WAAW,GAAIrZ,GAAE+B,KAAKyC,IAAK,OAAOzC,MAAK6W,OAAO1V,GAAEnB,MAAMmqB,GAAG,cAAckS,GAAG96B,KAAKvB,KAAKkH,YAAYk1B,GAAG76B,KAAKtD,KAAK+B,KAAKib,UAAUD,GAAEzZ,KAAKtD,MAAMsd,IAAI,SAAStd,EAAEC,GAAG,GAAIC,GAAEgD,GAAEnB,MAAM23B,KAAM,OAAO,OAAMx5B,EAAE,KAAKgD,GAAEsD,QAAQtG,GAAGgD,GAAEoa,IAAIpd,EAAE,SAASF,GAAG,OAAO4Y,KAAK3Y,EAAE2Y,KAAK5J,MAAMhP,EAAEiE,QAAQi6B,GAAG,YAAYtlB,KAAK3Y,EAAE2Y,KAAK5J,MAAM9O,EAAE+D,QAAQi6B,GAAG,WAAWpjB,SAAS5X,GAAE2gB,aAAa2a,IAAI,WAAW,IAAI,MAAO,IAAIx+B,GAAEy+B,eAAe,MAAMx+B,KAAM,IAAIy+B,KAAIC,EAAE,IAAIC,KAAK,KAAKC,GAAG37B,GAAE2gB,aAAa2a,KAAM97B,IAAEo8B,OAAOD,IAAI,mBAAoBA,IAAGn8B,GAAE45B,KAAKuC,KAAKA,GAAG37B,GAAEm5B,cAAc,SAASp8B,GAAG,GAAIC,GAAEQ,CAAE,OAAOgC,IAAEo8B,MAAMD,KAAK5+B,EAAEg9B,aAAaO,KAAK,SAAS78B,EAAEC,GAAG,GAAIC,GAAEE,EAAEd,EAAEu+B,KAAM,IAAGz9B,EAAEg+B,KAAK9+B,EAAEuE,KAAKvE,EAAE0G,IAAI1G,EAAEy7B,MAAMz7B,EAAE++B,SAAS/+B,EAAEwrB,UAAUxrB,EAAEg/B,UAAU,IAAIp+B,IAAKZ,GAAEg/B,UAAUl+B,EAAEF,GAAGZ,EAAEg/B,UAAUp+B,EAAGZ,GAAEgkB,UAAUljB,EAAE87B,kBAAkB97B,EAAE87B,iBAAiB58B,EAAEgkB,UAAUhkB,EAAEg9B,aAAat8B,EAAE,sBAAsBA,EAAE,oBAAoB,iBAAkB,KAAIE,IAAKF,GAAEI,EAAE67B,iBAAiB/7B,EAAEF,EAAEE,GAAIX,GAAE,SAASF,GAAG,MAAO,YAAWE,IAAIA,EAAEQ,EAAEK,EAAEmE,OAAOnE,EAAE4E,QAAQ5E,EAAEm+B,QAAQn+B,EAAEoE,mBAAmB,KAAK,UAAUnF,EAAEe,EAAE+7B,QAAQ,UAAU98B,EAAE,gBAAiBe,GAAEy7B,OAAO57B,EAAE,EAAE,SAASA,EAAEG,EAAEy7B,OAAOz7B,EAAE07B,YAAY77B,EAAE89B,GAAG39B,EAAEy7B,SAASz7B,EAAEy7B,OAAOz7B,EAAE07B,WAAW,UAAU17B,EAAEo+B,cAAc,SAAS,gBAAiBp+B,GAAEq+B,cAAcC,OAAOt+B,EAAEu+B,WAAW5Z,KAAK3kB,EAAEq+B,cAAcr+B,EAAE47B,4BAA4B57B,EAAEmE,OAAOhF,IAAIQ,EAAEK,EAAE4E,QAAQzF,EAAE,SAAS,SAASa,EAAEm+B,QAAQn+B,EAAEm+B,QAAQx+B,EAAEK,EAAEoE,mBAAmB,WAAW,IAAIpE,EAAEkE,YAAYjF,EAAEiG,WAAW,WAAW/F,GAAGQ,OAAOR,EAAEA,EAAE,QAAS,KAAIa,EAAEy8B,KAAKv9B,EAAEo9B,YAAYp9B,EAAEsF,MAAM,MAAM,MAAMvE,GAAG,GAAGd,EAAE,KAAMc,KAAI87B,MAAM,WAAW58B,GAAGA,MAAM,SAASgD,GAAEi5B,WAAWP,SAAS2D,OAAO,6FAA6Fvb,UAAUub,OAAO,2BAA2Bpb,YAAYqb,cAAc,SAASx/B,GAAG,MAAOkD,IAAEua,WAAWzd,GAAGA,MAAMkD,GAAEk5B,cAAc,SAAS,SAASp8B,GAAG,SAASA,EAAEoD,QAAQpD,EAAEoD,OAAM,GAAIpD,EAAEi9B,cAAcj9B,EAAEwE,KAAK,SAAStB,GAAEm5B,cAAc,SAAS,SAASr8B,GAAG,GAAGA,EAAEi9B,YAAY,CAAC,GAAIh9B,GAAEC,CAAE,QAAOs9B,KAAK,SAAS78B,EAAEC,GAAGX,EAAEiD,GAAE,YAAYmzB,MAAMoJ,QAAQz/B,EAAE0/B,cAAcl6B,IAAIxF,EAAE2G,MAAMoM,GAAG,aAAa7S,EAAE,SAASF,GAAGC,EAAEwhB,SAASvhB,EAAE,KAAKF,GAAGY,EAAE,UAAUZ,EAAEwE,KAAK,IAAI,IAAIxE,EAAEwE,QAAQ9D,EAAEilB,KAAKhiB,YAAY1D,EAAE,KAAK68B,MAAM,WAAW58B,GAAGA,QAAS,IAAIy/B,OAAMC,GAAG,mBAAoB18B,IAAEi5B,WAAW0D,MAAM,WAAWC,cAAc,WAAW,GAAI9/B,GAAE2/B,GAAGj5B,OAAOxD,GAAE2W,QAAQ,IAAIugB,IAAK,OAAOr4B,MAAK/B,IAAG,EAAGA,KAAKkD,GAAEk5B,cAAc,aAAa,SAASn8B,EAAEC,EAAEQ,GAAG,GAAIC,GAAEC,EAAEC,EAAEE,EAAEd,EAAE4/B,SAAQ,IAAKD,GAAGt8B,KAAKrD,EAAE0G,KAAK,MAAM,gBAAiB1G,GAAEsF,MAAM,KAAKtF,EAAE07B,aAAa,IAAI9W,QAAQ,sCAAsC+a,GAAGt8B,KAAKrD,EAAEsF,OAAO,OAAQ,OAAOxE,IAAG,UAAUd,EAAEyjB,UAAU,IAAI/iB,EAAEV,EAAE6/B,cAAc58B,GAAEiW,WAAWlZ,EAAE6/B,eAAe7/B,EAAE6/B,gBAAgB7/B,EAAE6/B,cAAc/+B,EAAEd,EAAEc,GAAGd,EAAEc,GAAGkD,QAAQ27B,GAAG,KAAKj/B,GAAGV,EAAE4/B,SAAQ,IAAK5/B,EAAE0G,MAAM0zB,GAAG/2B,KAAKrD,EAAE0G,KAAK,IAAI,KAAK1G,EAAE4/B,MAAM,IAAIl/B,GAAGV,EAAEkkB,WAAW,eAAe,WAAW,MAAOtjB,IAAGqC,GAAEshB,MAAM7jB,EAAE,mBAAmBE,EAAE,IAAIZ,EAAEyjB,UAAU,GAAG,OAAO9iB,EAAEZ,EAAEW,GAAGX,EAAEW,GAAG,WAAWE,EAAEoB,WAAWvB,EAAEqgB,OAAO,WAAW,SAASngB,EAAEsC,GAAElD,GAAGi5B,WAAWt4B,GAAGX,EAAEW,GAAGC,EAAEX,EAAEU,KAAKV,EAAE6/B,cAAc5/B,EAAE4/B,cAAcH,GAAGp9B,KAAK5B,IAAIE,GAAGqC,GAAEiW,WAAWvY,IAAIA,EAAEC,EAAE,IAAIA,EAAED,EAAE,SAAS,UAAU,SAAS8B,GAAEq9B,mBAAmB,WAAW,GAAI//B,GAAEU,EAAEqU,eAAegrB,mBAAmB,IAAI5pB,IAAK,OAAOnW,GAAE4C,UAAU,6BAA6B,IAAI5C,EAAEqE,WAAWR,UAAUX,GAAEipB,UAAU,SAASnsB,EAAEC,EAAEC,GAAG,IAAIF,GAAG,gBAAiBA,GAAE,MAAO,KAAK,kBAAkBC,KAAIC,EAAED,EAAEA,GAAE,GAAIA,EAAEA,IAAIyC,GAAEq9B,mBAAmBr/B,EAAEqU,eAAegrB,mBAAmB,IAAIr/B,EAAG,IAAIC,GAAEqE,GAAE0J,KAAK1O,GAAGY,GAAGV,KAAM,OAAOS,IAAGV,EAAEgB,cAAcN,EAAE,MAAMA,EAAEoa,GAAI/a,GAAGC,EAAEW,GAAGA,GAAGA,EAAEiD,QAAQX,GAAEtC,GAAG6gB,SAASve,GAAEyX,SAASha,EAAE0D,aAAc,IAAI27B,IAAG98B,GAAEgQ,GAAGnN,IAAK7C,IAAEgQ,GAAGnN,KAAK,SAAS/F,EAAEC,EAAEC,GAAG,GAAG,gBAAiBF,IAAGggC,GAAG,MAAOA,IAAG99B,MAAMH,KAAKE,UAAW,IAAIvB,GAAEC,EAAEC,EAAEC,EAAEkB,KAAKhB,EAAEf,EAAE6kB,QAAQ,IAAK,OAAO9jB,IAAE,IAAKL,EAAEwC,GAAEuiB,KAAKzlB,EAAEuB,MAAMR,IAAIf,EAAEA,EAAEuB,MAAM,EAAER,IAAImC,GAAEiW,WAAWlZ,IAAIC,EAAED,EAAEA,EAAE,QAAQA,GAAG,gBAAiBA,KAAIU,EAAE,QAAQE,EAAEgD,OAAO,GAAGX,GAAEo5B,MAAM31B,IAAI3G,EAAEwE,KAAK7D,GAAG,MAAM4jB,SAAS,OAAOhf,KAAKtF,IAAIshB,KAAK,SAASvhB,GAAGY,EAAEqB,UAAUpB,EAAEwc,KAAK3c,EAAEwC,GAAE,SAASmwB,OAAOnwB,GAAEipB,UAAUnsB,IAAI8mB,KAAKpmB,GAAGV,KAAK+gB,OAAO7gB,GAAG,SAASF,EAAEC,GAAGY,EAAE2Y,KAAK,WAAWtZ,EAAEgC,MAAMrB,EAAED,IAAIZ,EAAEo/B,aAAan/B,EAAED,QAAQ+B,MAAMmB,GAAEsW,MAAM,YAAY,WAAW,eAAe,YAAY,cAAc,YAAY,SAASxZ,EAAEC,GAAGiD,GAAEgQ,GAAGjT,GAAG,SAASD,GAAG,MAAO+B,MAAKgR,GAAG9S,EAAED,MAAMkD,GAAE6oB,KAAKH,QAAQqU,SAAS,SAASjgC,GAAG,MAAOkD,IAAEkW,KAAKlW,GAAEs0B,OAAO,SAASv3B,GAAG,MAAOD,KAAIC,EAAE+hB,OAAOne,QAA4EX,GAAEg9B,QAAQC,UAAU,SAASngC,EAAEC,EAAEC,GAAG,GAAIQ,GAAEC,EAAEC,EAAEC,EAAEE,EAAEC,EAAEZ,EAAEG,EAAE2C,GAAEyQ,IAAI3T,EAAE,YAAY0C,EAAEQ,GAAElD,GAAGmB,IAAK,YAAWZ,IAAIP,EAAEkB,MAAM2zB,SAAS,YAAY9zB,EAAE2B,EAAEw9B,SAASt/B,EAAEsC,GAAEyQ,IAAI3T,EAAE,OAAOgB,EAAEkC,GAAEyQ,IAAI3T,EAAE,QAAQI,GAAG,aAAaG,GAAG,UAAUA,KAAKK,EAAEI,GAAG6jB,QAAQ,SAAQ,EAAGzkB,GAAGM,EAAEgC,EAAEmyB,WAAWh0B,EAAEH,EAAE8e,IAAI7e,EAAED,EAAEs1B,OAAOn1B,EAAEyO,WAAW1O,IAAI,EAAED,EAAE2O,WAAWtO,IAAI,GAAGkC,GAAEiW,WAAWlZ,KAAKA,EAAEA,EAAEyB,KAAK1B,EAAEE,EAAEgD,GAAE2Z,UAAU9b,KAAK,MAAMd,EAAEuf,MAAMre,EAAEqe,IAAIvf,EAAEuf,IAAIze,EAAEye,IAAI3e,GAAG,MAAMZ,EAAE+1B,OAAO70B,EAAE60B,KAAK/1B,EAAE+1B,KAAKj1B,EAAEi1B,KAAKr1B,GAAG,SAAUV,GAAEA,EAAEmgC,MAAM1+B,KAAK1B,EAAEmB,GAAGuB,EAAEiR,IAAIxS,KAAK+B,GAAEgQ,GAAG2J,QAAQqjB,OAAO,SAASlgC,GAAG,GAAGiC,UAAU4B,OAAO,MAAO,UAAS7D,EAAE+B,KAAKA,KAAKyX,KAAK,SAASvZ,GAAGiD,GAAEg9B,OAAOC,UAAUp+B,KAAK/B,EAAEC,IAAK,IAAIA,GAAEC,EAAEQ,EAAEqB,KAAK,GAAGpB,GAAG6e,IAAI,EAAEwW,KAAK,GAAGp1B,EAAEF,GAAGA,EAAE+a,aAAc,OAAG7a,IAASX,EAAEW,EAAEE,gBAAgBoC,GAAEsY,SAASvb,EAAES,IAAIC,EAAED,EAAEif,wBAAwBzf,EAAEykB,EAAG/jB,IAAI4e,IAAI7e,EAAE6e,IAAItf,EAAEmgC,YAAYpgC,EAAEgyB,UAAU+D,KAAKr1B,EAAEq1B,KAAK91B,EAAEogC,YAAYrgC,EAAE4xB,aAAalxB,GAAnK,QAAsKk0B,SAAS,WAAW,GAAG9yB,KAAK,GAAG,CAAC,GAAI/B,GAAEC,EAAEC,EAAE6B,KAAK,GAAGrB,GAAG8e,IAAI,EAAEwW,KAAK,EAAG,OAAM,UAAU9yB,GAAEyQ,IAAIzT,EAAE,YAAYD,EAAEC,EAAEyf,yBAAyB3f,EAAE+B,KAAKw+B,eAAetgC,EAAE8B,KAAKm+B,SAASh9B,GAAE+F,SAASjJ,EAAE,GAAG,UAAUU,EAAEV,EAAEkgC,UAAUx/B,EAAE8e,KAAKtc,GAAEyQ,IAAI3T,EAAE,GAAG,kBAAiB,GAAIA,EAAEgyB,YAAYtxB,EAAEs1B,MAAM9yB,GAAEyQ,IAAI3T,EAAE,GAAG,mBAAkB,GAAIA,EAAE4xB,eAAepS,IAAIvf,EAAEuf,IAAI9e,EAAE8e,IAAItc,GAAEyQ,IAAIzT,EAAE,aAAY,GAAI81B,KAAK/1B,EAAE+1B,KAAKt1B,EAAEs1B,KAAK9yB,GAAEyQ,IAAIzT,EAAE,cAAa,MAAOqgC,aAAa,WAAW,MAAOx+B,MAAKub,IAAI,WAAmC,IAAxB,GAAItd,GAAE+B,KAAKw+B,aAAmBvgC,GAAG,WAAWkD,GAAEyQ,IAAI3T,EAAE,aAAYA,EAAEA,EAAEugC,YAAa,OAAOvgC,IAAGm0B,QAAQjxB,GAAEsW,MAAMoY,WAAW,cAAcI,UAAU,eAAe,SAAShyB,EAAEC,GAAG,GAAIC,GAAE,gBAAgBD,CAAEiD,IAAEgQ,GAAGlT,GAAG,SAASU,GAAG,MAAO0mB,IAAErlB,KAAK,SAAS/B,EAAEU,EAAEC,GAAG,GAAIC,GAAE+jB,EAAG3kB,EAAG,OAAO,UAASW,EAAEC,EAAEA,EAAEX,GAAGD,EAAEU,QAAQE,EAAEA,EAAE4/B,SAAStgC,EAAEU,EAAE0/B,YAAY3/B,EAAET,EAAES,EAAEC,EAAEy/B,aAAargC,EAAEU,GAAGC,IAAIX,EAAEU,EAAEuB,UAAU4B,WAAWX,GAAEsW,MAAM,MAAM,QAAQ,SAASxZ,EAAEC,GAAGiD,GAAE0e,SAAS3hB,GAAG6e,EAAGpc,GAAE8xB,cAAc,SAASx0B,EAAEE,GAAG,MAAOA,IAAGA,EAAEoe,EAAGte,EAAEC,GAAGye,GAAGpb,KAAKpD,GAAGgD,GAAElD,GAAG60B,WAAW50B,GAAG,KAAKC,GAAG,WAAWgD,GAAEsW,MAAMinB,OAAO,SAASC,MAAM,SAAS,SAAS1gC,EAAEC,GAAGiD,GAAEsW,MAAM0c,QAAQ,QAAQl2B,EAAE2gC,QAAQ1gC,EAAE2gC,GAAG,QAAQ5gC,GAAG,SAASE,EAAEQ,GAAGwC,GAAEgQ,GAAGxS,GAAG,SAASA,EAAEC,GAAG,GAAIC,GAAEqB,UAAU4B,SAAS3D,GAAG,iBAAkBQ,IAAGG,EAAEX,IAAIQ,KAAI,GAAIC,KAAI,EAAG,SAAS,SAAU,OAAOymB,IAAErlB,KAAK,SAAS9B,EAAEC,EAAEQ,GAAG,GAAIC,EAAE,OAAOuC,IAAEgW,SAASjZ,GAAGA,EAAE0E,SAAS7D,gBAAgB,SAASd,GAAG,IAAIC,EAAEkU,UAAUxT,EAAEV,EAAEa,gBAAgBkK,KAAKC,IAAIhL,EAAEkW,KAAK,SAASnW,GAAGW,EAAE,SAASX,GAAGC,EAAEkW,KAAK,SAASnW,GAAGW,EAAE,SAASX,GAAGW,EAAE,SAASX,KAAK,SAASU,EAAEwC,GAAEyQ,IAAI1T,EAAEC,EAAEW,GAAGqC,GAAEhC,MAAMjB,EAAEC,EAAEQ,EAAEG,IAAIZ,EAAEW,EAAEF,EAAE,OAAOE,EAAE,WAAWsC,GAAEgQ,GAAG2J,QAAQ/a,KAAK,SAAS9B,EAAEC,EAAEC,GAAG,MAAO6B,MAAKgR,GAAG/S,EAAE,KAAKC,EAAEC,IAAI2gC,OAAO,SAAS7gC,EAAEC,GAAG,MAAO8B,MAAKia,IAAIhc,EAAE,KAAKC,IAAI6gC,SAAS,SAAS9gC,EAAEC,EAAEC,EAAEQ,GAAG,MAAOqB,MAAKgR,GAAG9S,EAAED,EAAEE,EAAEQ,IAAIqgC,WAAW,SAAS/gC,EAAEC,EAAEC,GAAG,MAAO,KAAI+B,UAAU4B,OAAO9B,KAAKia,IAAIhc,EAAE,MAAM+B,KAAKia,IAAI/b,EAAED,GAAG,KAAKE,IAAIoR,KAAK,WAAW,MAAOvP,MAAK8B,UAAUX,GAAEgQ,GAAG8tB,QAAQ99B,GAAEgQ,GAAGuZ,QAAQ,kBAAmB1T,SAAQA,OAAOC,KAAKD,OAAO,YAAY,WAAW,MAAO7V,KAAI,IAAI+9B,IAAGjhC,EAAEkhC,OAAOC,GAAGnhC,EAAEkb,CAAE,OAAOhY,IAAEk+B,WAAW,SAASnhC,GAAG,MAAOD,GAAEkb,IAAIhY,KAAIlD,EAAEkb,EAAEimB,IAAIlhC,GAAGD,EAAEkhC,SAASh+B,KAAIlD,EAAEkhC,OAAOD,IAAI/9B,IAAGjD,IAAID,EAAEkhC,OAAOlhC,EAAEkb,EAAEhY,IAAGA,KCKp8pB,SAAUgY,EAAGpb,EAAQ6E,EAAUqF,GAC9B,YAyQA,SAASq3B,GAAc5tB,GAKrB,OAJsB,gBAAXA,IAAuBA,YAAkBqU,WAClDrU,EAASA,EAAOxP,QAAQ,gCAAiC,KAGpDwP,EA5QT,GAAI6tB,GAAiB,SAAUC,GAI7B,IAHA,GAAIvgC,GAAIugC,EAAY19B,OAChB8hB,EAAOzK,EAAE,QAENla,KACyC,IAA1C2kB,EAAKsE,IAAI,IAAMsX,EAAYvgC,IAAI6C,QACjC8hB,EAAK0N,OAAO,gBAAkBkO,EAAYvgC,GAAK,QAKrDsgC,IACE,sBACA,2BACA,uBACA,4BACA,sBACA,2BACA,uBACA,4BACA,wBACA,wCAIFpmB,EAAE,WACyB,mBAAdsmB,YAEoB,mBAAlB78B,GAASwR,MAClBqrB,UAAUC,OAAO98B,EAASwR,OAQhC,IAAImR,GAAI,SAAUvC,EAAU3Q,GAC1B,GAAwB,gBAAb2Q,GAAuB,CAChC,GAAI3Q,EAAS,CACX,GAAIstB,EACJ,IAAIttB,EAAQ0Q,QAEV,GADA4c,EAAOttB,EAAQ,IACVstB,EACH,MAAOttB,OAGTstB,GAAOttB,CAET,OAAO8G,GAAEwmB,EAAKl4B,iBAAiBub,IAGjC,MAAO7J,GAAEvW,EAAS6E,iBAAiBub,IAGrC,MAAO7J,GAAE6J,EAAU3Q,IAKjButB,EAAY,SAAU93B,GACxB,GAAI+3B,KASJ,OARK/3B,IACH+3B,EAAIr/B,KAAK,QAEPR,KAAKkuB,UAAUpsB,OAAS,GAC1B+9B,EAAIr/B,KAAKR,KAAKkuB,WAEhB2R,EAAIr/B,KAAKR,KAAK6W,MAEPgpB,EAAI59B,KAAK,MAGd69B,EAAgB,SAAUvxB,GAK5B,IAJA,GAAIwxB,GAAQxxB,EAAIrN,MAAM,KAClBjC,EAAI8gC,EAAMj+B,OACV+9B,KAEG5gC,KACK,IAANA,EACF4gC,EAAIr/B,KAAKu/B,EAAM9gC,IAEXe,KAAKkuB,UAAUpsB,OAAS,EAC1B+9B,EAAIr/B,KAAKR,KAAKkuB,UAAW6R,EAAM9gC,IAE/B4gC,EAAIr/B,KAAKu/B,EAAM9gC,GAKrB,OAAO4gC,GAAI5U,UAAUhpB,KAAK,MAKxB+9B,EAAW,SAAU/E,EAAQ9oB,GAC/B,GAAI8tB,GAAOjgC,KACPD,EAAO,WACL,GAAImgC,GAAQ3a,EAAEvlB,MACVmgC,GAAsBD,EAAM18B,KAAKy8B,EAAKL,WAAU,GAAQ,QAC5DM,GAAM18B,KAAKy8B,EAAKL,WAAU,GAAQ,QAASzmB,EAAE2B,UAAWmlB,EAAKG,SAAWjuB,GAAW8oB,EAASgF,EAAKI,aAAaH,KAE1GC,GACFF,EAAKrlB,OAAO5a,MAUpB,IANIulB,EAAEvlB,KAAKsgC,OAAOnW,GAAG,IAAMnqB,KAAK4/B,YAAa,KAC3C7/B,EAAKJ,KAAKK,KAAKsgC,OAEf/a,EAAE,IAAMvlB,KAAK4/B,YAAa,IAAK5/B,KAAKsgC,OAAO7oB,KAAK1X,GAG5B,gBAAXk7B,GACT,MAAOj7B,MAAKi7B,GAAQt7B,KAAKK,KAAMmS,IAK/BouB,EAAsB,SAAUl4B,EAAO9C,GACzC,QAASi7B,KACPj7B,EAAS8C,EAAM,IAGjB,QAASo4B,KAGP,GAFAzgC,KAAKoxB,IAAI,OAAQoP,GAEb,mBAAmBj/B,KAAK8E,UAAUC,WAAY,CAChD,GAAI7C,GAAMzD,KAAKknB,KAAM,OACjBkU,EAAQ33B,EAAI+C,MAAO,MAAS,IAAM,GAEtC40B,IAAS,WAAY,GAAKloB,OAAQC,UAClCnT,KAAKknB,KAAK,MAAOzjB,EAAM23B,IAI3B,MAAK/yB,GAAM6e,KAAK,YAKZ7e,EAAM,GAAG7C,UAAoC,IAAxB6C,EAAM,GAAGnF,WAChCs9B,IAEAC,EAAS9gC,KAAK0I,QAPdm4B,KAeJziC,GAAO8J,WAAa9J,EAAO8J,YAAe,SAAW64B,GAInD,GAAI7a,GACAzc,EAAUs3B,EAAI3hC,gBACd4hC,EAAUv3B,EAAQhC,mBAAqBgC,EAAQpI,WAE/C4/B,EAAWF,EAAIxhC,cAAe,QAC9BmV,EAAMqsB,EAAIxhC,cAAe,MAO7B,OALAmV,GAAI8P,GAAK,YACT9P,EAAIlV,MAAMb,QAAU,+BACpBsiC,EAASzhC,MAAM0hC,WAAa,OAC5BD,EAASh/B,YAAYyS,GAEd,SAAU9U,GAQf,MANA8U,GAAIxT,UAAY,sBAAwBtB,EAAI,yCAE5C6J,EAAQtI,aAAc8/B,EAAUD,GAChC9a,EAA2B,KAApBxR,EAAI/M,YACX8B,EAAQ/F,YAAau9B,IAGnBhtB,QAAUiS,EACVxZ,MAAQ9M,KAKXqD,GAWF,SAASu8B,GAsBV,QAAS2B,KACHC,IACFC,EAAsBF,GAElBG,GACF9B,EAAOhe,GAAG6U,QAZhB,IAPA,GAAI+K,GACAG,EAAW,EACXC,GAAW,SAAU,OACrBH,EAAwBjjC,EAAOijC,sBAC/BI,EAAuBrjC,EAAOqjC,qBAC9BH,EAAoB,mBAAuB9B,GAAOhe,GAE/C+f,EAAWC,EAAQr/B,SAAWk/B,EAAuBE,IAC1DF,EAAwBjjC,EAAQojC,EAAQD,GAAY,yBACpDE,EAAuBA,GACrBrjC,EAAQojC,EAAQD,GAAY,yBAC5BnjC,EAAQojC,EAAQD,GAAY,8BAa5BF,IAEFjjC,EAAOijC,sBAAwBA,EAC/BjjC,EAAOqjC,qBAAuBA,EAE1BH,IACF9B,EAAOhe,GAAGxa,MAAQ,SAAUA,GACtBA,KAAWw4B,EAAO1J,OAAOj1B,KAAKmG,KAAWo6B,IAC3CA,GAAY,EACZD,MAIJ3B,EAAOhe,GAAGH,KAAO,WACf+f,GAAY,MAKhBhjC,EAAOijC,sBAAwB,SAAUz7B,GACvC,GAAI87B,IAAW,GAAInuB,OAAOC,UACxBmuB,EAAar4B,KAAKC,IAAI,EAAG,IAAMm4B,EAAWH,IAC1C/c,EAAKpmB,EAAOmG,WAAW,WACrBqB,EAAS87B,EAAWC,IACnBA,EAEL,OADAJ,GAAWG,EAAWC,EACfnd,GAGTpmB,EAAOqjC,qBAAuB,SAAUjd,GACtCxc,aAAawc,MAKdhL,GAUHpb,EAAOwjC,YACL1qB,KAAO,aAEPtU,QAAU,QAEVi/B,eACEC,MAAgBlc,EAAE,wBAAwB3T,IAAI,eAAe1P,QAAQ,kCAAmC,IACxGw/B,aAAgBnc,EAAE,6BAA6B3T,IAAI,eAAe1P,QAAQ,kCAAmC,IAC7Gy/B,OAAgBpc,EAAE,yBAAyB3T,IAAI,eAAe1P,QAAQ,kCAAmC,IACzG0/B,cAAgBrc,EAAE,8BAA8B3T,IAAI,eAAe1P,QAAQ,kCAAmC,IAC9G2/B,MAAgBtc,EAAE,wBAAwB3T,IAAI,eAAe1P,QAAQ,kCAAmC,IACxG4/B,aAAgBvc,EAAE,6BAA6B3T,IAAI,eAAe1P,QAAQ,kCAAmC,IAC7G6/B,OAAgBxc,EAAE,yBAAyB3T,IAAI,eAAe1P,QAAQ,kCAAmC,IACzG8/B,cAAgBzc,EAAE,8BAA8B3T,IAAI,eAAe1P,QAAQ,kCAAmC,IAC9G+/B,QAAgB1c,EAAE,0BAA0B3T,IAAI,eAAe1P,QAAQ,kCAAmC,KAG5GggC,WAAa/oB,EAAE,mBAAmB4C,SAAS,QAAQ,GAAGomB,MAEtDzU,QACEQ,UAAYjmB,GAGdH,KAAO,SAAUw4B,EAAO8B,EAAWnH,EAAQ9oB,EAASorB,GAClD,GAAI/rB,IAAQ8uB,EAAOrF,EAAQ9oB,EAASorB,GAChC8E,IAUJ,IAPAriC,KAAKsiC,IAAM,OAAO/gC,KAAKgkB,EAAE,QAAQ2B,KAAK,QAGtClnB,KAAKsgC,MAAQA,GAAStgC,KAAKsgC,MAE3BtgC,KAAKuiC,gBAEDH,GAAkC,gBAAdA,KAA2B,UAAU7gC,KAAK6gC,GAC5DpiC,KAAKwiC,KAAK9iC,eAAe0iC,IAC3BC,EAAU7hC,KAAKR,KAAKyiC,SAASL,EAAW5wB,QAG1C,KAAK,GAAIkxB,KAAO1iC,MAAKwiC,KACnBH,EAAU7hC,KAAKR,KAAKyiC,SAASC,EAAKN,GAgBtC,OAZA7c,GAAExnB,GAAQiG,KAAK,WACbuhB,EAAExnB,GACCsyB,QAAQ,yBACRA,QAAQ,yBACRA,QAAQ,0BACRA,QAAQ,4BACRA,QAAQ,wBACRA,QAAQ,yBACRA,QAAQ,uBACRA,QAAQ,yBAGNiQ,GAGTmC,SAAW,SAAUC,EAAKlxB,GACxB,MAAIxR,MAAKwiC,KAAK9iC,eAAegjC,IAC3B1iC,KAAK2iC,MAAM3iC,KAAKwiC,KAAKE,IAEjBlxB,GAAQA,EAAK9R,eAAegjC,IACW,mBAA5B1iC,MAAKwiC,KAAKE,GAAKtC,SACxBjnB,EAAE2B,QAAO,EAAM9a,KAAKwiC,KAAKE,GAAKtC,SAAU5uB,EAAKkxB,IACD,mBAA5B1iC,MAAKwiC,KAAKE,GAAKE,UAC/BzpB,EAAE2B,QAAO,EAAM9a,KAAKwiC,KAAKE,GAAKE,SAAUpxB,EAAKkxB,IAE1C1iC,KAAKwiC,KAAKE,GAAK56B,KAAK3H,MAAMH,KAAKwiC,KAAKE,IAAO1iC,KAAKsgC,MAAO9uB,EAAKkxB,OAGrElxB,EAAOA,YAAgBhN,OAAQgN,EAAO,GAAIhN,OAAMgN,GACzCxR,KAAKwiC,KAAKE,GAAK56B,KAAK3H,MAAMH,KAAKwiC,KAAKE,GAAMlxB,KAG5C,cAGTmxB,MAAQ,SAAUD,GAChBA,EAAIpC,MAAQtgC,KAAKsgC,MACjBoC,EAAIxU,UAAYluB,KAAK0tB,OAAOQ,UAC5BwU,EAAIJ,IAAMtiC,KAAKsiC,IACfI,EAAkB,aAAI1iC,KAAK6iC,MAAMxC,aACjCqC,EAAe,UAAI9C,EACnB8C,EAAmB,cAAI5C,EACvB4C,EAAc,SAAI1C,EAClB0C,EAAO,EAAI1iC,KAAK6iC,MAAMtd,GAGxBud,QAAU,SAAUxC,EAAOyC,GAIzB,IAHA,GAAIC,GAAcD,EAAQ7hC,MAAM,KAC5BjC,EAAI+jC,EAAYlhC,OAEb7C,KACDe,KAAK6iC,MAAMnjC,eAAesjC,EAAY/jC,MACxCqhC,EAAM0C,EAAY/jC,IAAMe,KAAK6iC,MAAMG,EAAY/jC,MAKrDsjC,cAAgB,WAed,GAAIrU,GAAcluB,KAAK0tB,OAAOQ,YAAcjmB,EAAckR,EAAE,wCAAwCvH,IAAI,eAAiB5R,KAAK0tB,OAAOQ,SAIrIluB,MAAK0tB,OAAOQ,UAAcA,IAAcjmB,GAAa,SAAS1G,KAAK2sB,GAAe,GAAKA,GAGzFsU,QAGAK,OAgBEtd,EAAIA,EAYJ0d,SAAW,SAAU3sB,EAAMggB,GACzB,GAAI3vB,GAAQ,IAEZ,OAAO,YACL,GAAI0L,GAAUrS,KAAMwR,EAAOtR,SAEd,OAATyG,IACFA,EAAQzC,WAAW,WACjBoS,EAAKnW,MAAMkS,EAASb,GACpB7K,EAAQ,MACP2vB,MAmBTjgB,SAAW,SAAUC,EAAMggB,EAAO4M,GAChC,GAAIx+B,GAASsqB,CACb,OAAO,YACL,GAAI3c,GAAUrS,KAAMwR,EAAOtR,UACvBuW,EAAQ,WACV/R,EAAU,KACLw+B,IACHlU,EAAS1Y,EAAKnW,MAAMkS,EAASb,KAG7B2xB,EAAUD,IAAcx+B,CAM5B,OALAiD,cAAajD,GACbA,EAAUR,WAAWuS,EAAO6f,GACxB6M,IACFnU,EAAS1Y,EAAKnW,MAAMkS,EAASb,IAExBwd,IAaXqR,aAAe,SAAU+C,EAAIC,GAsB3B,QAASC,GAAUliC,GACjB,OAAQguB,MAAOhuB,EAAI,IAAY,OAANA,GAAoB,KAANA,GAAYA,KAAM,GAASA,KAAM,EAG1E,QAASsiB,GAAMnV,GACb,MAAmB,gBAARA,GACF4K,EAAEuK,KAAKnV,GAETA,EA7BT80B,EAAiBA,GAAkB,SACnC,IAAeE,GAAIjkC,EAAGkkC,EAAlB/iB,KACA4f,EAAe,SAAU+C,GACvB,GAAIlV,GAAYqT,WAAW7T,OAAOQ,SAElC,OAAIA,GAAUpsB,OAAS,EACdshC,EAAG5/B,KAAK0qB,EAAY,IAAMmV,GAG5BD,EAAG5/B,KAAK6/B,IAGjBI,EAAiBpD,EAAa+C,EAElC,IAA8B,gBAAnBK,GACT,MAAOA,EAiBT,KAdAD,GAAYC,GAAkB,KAAKviC,MAAM,KACzCqiC,EAAKC,EAAS1hC,OAaPyhC,KACLjkC,EAAIkkC,EAASD,GAAIriC,MAAM,KACvB5B,GAAKA,EAAE,GAAIA,EAAEE,MAAM,GAAGyC,KAAK,MAEvB,QAAQV,KAAKjC,EAAE,MACjBA,EAAE,IAAK,GAEL,SAASiC,KAAKjC,EAAE,MAClBA,EAAE,IAAK,GAELgkC,EAAShkC,EAAE,MACTA,EAAE,GAAGwjB,QAAQ,QAAS,EACxBxjB,EAAE,GAAKgO,SAAShO,EAAE,GAAI,IAEtBA,EAAE,GAAKiO,WAAWjO,EAAE,KAIP,IAAbA,EAAEwC,QAAgBxC,EAAE,GAAGwC,OAAS,IAClC2e,EAAKiD,EAAKpkB,EAAE,KAAOokB,EAAKpkB,EAAE,IAI9B,OAAOmhB,IAWTijB,eAAiB,SAAUr3B,EAAOs3B,GAC5BpC,WAAWC,cAAcn1B,KAAWpE,IACtCkR,EAAE,QAAQmY,OAAO,gBAAkBqS,EAAc,OACjDpC,WAAWC,cAAcn1B,GAASizB,EAAanmB,EAAE,IAAMwqB,GAAa/xB,IAAI,kBAY5EgyB,gBAAkB,SAAUC,EAAMx3B,GAChC,GAAIA,IAAUpE,GAAas5B,WAAWW,WACpCX,WAAWW,WAAW4B,WAAWD,EAAMtC,WAAWW,WAAW6B,SAASjiC,YACjE,CACL,GAAIkiC,GAAQzC,WAAWC,cAAcn1B,EAEjC23B,KAAU/7B,GACZs5B,WAAWW,WAAW4B,WAAW,UAC/BvC,WAAWC,cAAcn1B,GAAS,KAAOw3B,EAAO,QAYxDI,aAAe,SAAUC,EAAQ3+B,GAC/B,GAAI06B,GAAOjgC,KACPmkC,EAAWD,EAAOpiC,MAEL,KAAbqiC,GACF5+B,EAAS2+B,GAGXA,EAAOzsB,KAAK,WACV8oB,EAAoBN,EAAK1a,EAAEvlB,MAAO,WAChCmkC,GAAY,EACK,IAAbA,GACF5+B,EAAS2+B,QAejBE,WAAa,WAMX,MALKpkC,MAAKqkC,OACRrkC,KAAKqkC,KAAO,GAEdrkC,KAAKskC,OAAStkC,KAAKskC,SAAYtkC,KAAK6W,MAAQ,MAAQ,GAAI3D,OAAM7T,SAAS,KAAK4C,KAAK,KAE1EjC,KAAKskC,QAAUtkC,KAAKqkC,QAAQhlC,SAAS,KAW9CmH,MAAQ,SAAUoB,GAChB,MAAO7J,GAAO8J,WAAWD,GAAIgM,SAS/B2wB,YAAc,WACZ,MAAOvkC,MAAKwG,MAAM+6B,WAAWC,cAAcC,QAG7C+C,aAAe,WACb,MAAOxkC,MAAKwG,MAAM+6B,WAAWC,cAAcG,SAG7C8C,YAAc,WACZ,MAAOzkC,MAAKwG,MAAM+6B,WAAWC,cAAcK,QAG7C6C,aAAe,WACb,MAAO1kC,MAAKwG,MAAM+6B,WAAWC,cAAcO,SAG7C4C,cAAgB,WACd,MAAO3kC,MAAKwG,MAAM+6B,WAAWC,cAAcS,UAG7C2C,cAAgB,WACd,QAAQ5kC,KAAKwkC,gBAAmBxkC,KAAKykC,eAAkBzkC,KAAK0kC,gBAAmB1kC,KAAK2kC,kBAGtFE,eAAiB,WACf,MAAO7kC,MAAKwkC,iBAAmBxkC,KAAKykC,gBAAkBzkC,KAAK0kC,iBAAmB1kC,KAAK2kC,iBAGrFG,cAAgB,WACd,MAAO9kC,MAAKwkC,gBAAkBxkC,KAAKykC,gBAAkBzkC,KAAK0kC,iBAAmB1kC,KAAK2kC,iBAGpFI,eAAiB,WACf,MAAO/kC,MAAKwkC,gBAAkBxkC,KAAKykC,eAAiBzkC,KAAK0kC,iBAAmB1kC,KAAK2kC,iBAGnFK,gBAAkB,WAChB,MAAOhlC,MAAKwkC,gBAAkBxkC,KAAKykC,eAAiBzkC,KAAK0kC,gBAAkB1kC,KAAK2kC,mBAKtFxrB,EAAEhI,GAAG8zB,WAAa,WAChB,GAAIzzB,GAAOhN,MAAM3E,UAAUL,MAAMG,KAAKO,UAAW,EAEjD,OAAOF,MAAKyX,KAAK,WAEf,MADA8pB,YAAWz5B,KAAK3H,MAAMohC,YAAavhC,MAAMI,OAAOoR,IACzCxR,SAIXm/B,OAAQphC,OAAQA,OAAO6E,UC9rBvB,SAAUuW,EAAGpb,EAAQ6E,EAAUqF,GAC/B,YAEAs5B,YAAWiB,KAAK0C,QACdruB,KAAO,SAEPtU,QAAU,QAEV69B,UACE3uB,MAAQ,EACR0zB,aAAe,SACfC,kBAAmB,EACnBC,UAAY,OACZC,yBAA0B,EAC1BC,UAAW,EACXC,WAAY,EACZC,UAAY,OAGd39B,KAAO,SAAU49B,EAASzK,EAAQ9oB,GAChCovB,WAAWuB,QAAQ9iC,KAAM,0CACzB,IAAIigC,GAAOjgC,IAEXigC,GAAKyD,eAAe,SAAU,wBAE9B1jC,KAAKggC,SAAS/E,EAAQ9oB,GAEtB8tB,EAAK1a,EAAE,IAAMvlB,KAAK4/B,YAAc,IAAK5/B,KAAKsgC,OAAO7oB,KAAK,WACpD,GAAIytB,GAAS/rB,EAAEnZ,MACXogC,EAAW8E,EAAO1hC,KAAKy8B,EAAKL,WAAU,GAAQ,QACpCK,GAAK1a,EAAE,4BAA6BvlB,KAClDklC,GAAO1hC,KAAK,QAAS,EACrB,IAAImiC,GAAkBT,EAAO5vB,QACzBqwB,GAAgBlO,SAAS,UAAYwI,EAAK2F,UAAUV,EAAQS,EAAiBvF,IAC/EH,EAAKG,SAAS+E,aAAe/E,EAAS+E,aACtClF,EAAKG,SAASyF,cAAgBX,EAC9BA,EAAO1hC,KAAK,SAAUmiC,EAAgBG,eACtCZ,EAAO1hC,KAAK,eAAgBmiC,EAAgBxH,SAAS1gB,MAErDynB,EAAO1hC,KAAK,SAAU0hC,EAAOY,eAG1B1F,EAAS2F,WACZ9F,EAAK+F,SAASd,GAGZ9E,EAASmF,SACXtF,EAAK1a,EAAE,gBAAiB2f,GAAQ5N,SAAS,aAEzC2I,EAAK1a,EAAE,gBAAiB2f,GAAQ3N,YAAY,aAI9C0I,EAAK2D,gBAAgB,kCAAoCsB,EAAO1hC,KAAK,UAAY,QAE7EmiC,EAAgBlO,SAAS,UAC3BwI,EAAK1a,EAAE,QAAQ+R,SAAS,qBAM9BsO,UAAY,SAAUV,EAAQS,EAAiBvF,GAC7C,GAAI6F,GAAaN,EAAgBlO,SAAS2I,EAAS+E,cAC/Ce,EAAar+B,WAAW05B,WAAWC,cAAcC,OAAO7tB,QACxDuyB,EAAat+B,WAAW05B,WAAWC,cAAcG,QAAQ/tB,QACzDwyB,EAAav+B,WAAW05B,WAAWC,cAAcK,OAAOjuB,OAE3D,UAAIqyB,GAAiC,QAAvB7F,EAASqF,iBAGnBQ,GAAUjmC,KAAKyhC,SAAWrB,EAASqF,UAAU3iB,QAAQ,YAAa,GAC9DojB,IAAeC,GAAaC,SAEhCH,GAAUjmC,KAAK2hC,UAAYvB,EAASqF,UAAU3iB,QAAQ,aAAc,GAChEojB,GAAcC,IAAaC,QAE/BH,GAAUjmC,KAAK6hC,SAAWzB,EAASqF,UAAU3iB,QAAQ,YAAa,GAC9DojB,GAAcC,GAAYC,OAI9BH,IAAU5/B,UAAUC,UAAUE,MAAM,4BAM3C6tB,OAAS,SAAUgS,GACjB,GACInB,GADAjF,EAAOjgC,IAITklC,GADEmB,EACOpG,EAAK1a,EAAE8gB,GAAU7b,QAAQ,IAAMxqB,KAAK4/B,YAAc,KAElDK,EAAK1a,EAAE,IAAMvlB,KAAK4/B,YAAc,IAG3C,IAAIQ,GAAW8E,EAAO1hC,KAAKxD,KAAK4/B,WAAU,GAAQ,SAE9C8F,EAAUzF,EAAK1a,EAAE,4BAA6B2f,EAE9CjF,GAAKqG,eACFrG,EAAKqC,KAIRoD,EAAQ9zB,KAAK20B,MAAQ,OACrBptB,EAAE,SAAUusB,GAAS9zB,KAAK20B,MAAQ,WAJlCb,EAAQ9zB,KAAKqiB,KAAO,OACpB9a,EAAE,SAAUusB,GAAS9zB,KAAKqiB,KAAO,UAMnCgM,EAAK1a,EAAE,WAAYmgB,GAASnO,YAAY,SACxC2N,EAAO1hC,KAAK,QAAS,GAErB0hC,EACG1N,YAAY,YACZ5lB,IAAI,SAAU,KAGfwuB,EAASoF,UACNN,EAAOzN,SAAS,YAMVyN,EAAO5vB,SAASmiB,SAAS,WAC9B2I,EAASoF,WACXN,EAAO5vB,SAASiiB,YAAY,SAC5B2N,EAAO5N,SAAS,SAChB2I,EAAK1a,EAAE,QAAQgS,YAAY,kBAE3Bx5B,EAAO0gC,SAAS,EAAG,IAEnByG,EAAO5vB,SAASiiB,YAAY,aAb1B2N,EAAOzN,SAAS,WAClByN,EAAO5vB,SAASgiB,SAAS,SACzB4N,EAAO3N,YAAY,SACnB0I,EAAK1a,EAAE,QAAQ+R,SAAS,oBAcxB2I,EAAK2F,UAAUV,EAAQA,EAAO5vB,SAAU8qB,IAC1C8E,EAAO5vB,SAASgiB,SAAS,SAGvB4N,EAAO5vB,SAASmiB,SAAS,WACtByN,EAAOzN,SAAS,aAKnByN,EAAO5N,SAAS,SAChB4N,EAAO5vB,SAASgiB,SAAS,YACzB2I,EAAK1a,EAAE,QAAQ+R,SAAS,oBANxB4N,EAAO3N,YAAY,SACnB2N,EAAO5vB,SAASiiB,YAAY,YAC5B0I,EAAKuG,gCAUb7/B,MAAQ,KAERiU,OAAS,SAAU6rB,GACjB,GAAIxG,GAAOjgC,KACPulB,EAAIvlB,KAAKulB,CAEbA,GAAEvlB,KAAKsgC,OACJrmB,IAAI,WACJjJ,GAAG,qBAAsB,IAAMhR,KAAK4/B,YAAc,mBAAoB,SAAUhhC,GAC/EA,EAAEqwB,iBACFgR,EAAK5L,OAAOr0B,QAEbgR,GAAG,qBAAsB,8CAAgDhR,KAAK4/B,YAAc,qCAAsC,SAAUhhC,GACzI,GAAI8nC,GAAKvtB,EAAEnZ,MAAMwqB,QAAQ,OACrByV,EAAKqG,cAAiBI,EAAGjP,SAAS,SAAYiP,EAAGjP,SAAS,iBAC5DwI,EAAK5L,WAGVrjB,GAAG,qBAAsB,IAAMhR,KAAK4/B,YAAc,oBAAqB,SAAUhhC,GAChF,GAAI8nC,GAAKnhB,EAAEvlB,MACPqoB,EAAS9C,EAAE3mB,EAAEypB,QACb6c,EAASwB,EAAGlc,QAAQ,IAAMyV,EAAKL,YAAc,KAC7CQ,EAAW8E,EAAO1hC,KAAKy8B,EAAKL,WAAU,GAAQ,QAElD,OAAIvX,GAAO7kB,KAAK,gBACdy8B,GAAK5L,cAIH4L,EAAKqG,cAILlG,EAASmF,WAAavnC,UAAU2oC,QAIpC/nC,EAAEkyB,2BAEE4V,EAAGjP,SAAS,UACdiP,EACGnP,YAAY,SACZxS,KAAK,MACLwS,YAAY,SAEfmP,EAAG/b,QAAQ,YACR4M,YAAY,WAEfmP,EAAGpP,SAAS,SAEZne,EAAEutB,GAAI1b,WAAWuM,YAAY,SAEF,MAAvBlP,EAAO,GAAGnhB,UAAoBmhB,EAAO/S,SAASmiB,SAAS,iBACzD74B,EAAEqwB,sBAIPje,GAAG,qBAAsB,IAAMhR,KAAK4/B,YAAc,oBAAqB,SAAUhhC,GAChF,GAAIqhC,EAAKqG,aAAc,CAErB1nC,EAAEqwB,gBAEF,IAAIiR,GAAQ3a,EAAEvlB,MACVklC,EAAShF,EAAM1V,QAAQ,IAAMyV,EAAKL,YAAc,KAChD8F,EAAUR,EAAOngB,KAAK,6BAEtB6hB,GADiB1G,EAAM5V,KAAK,aAAawb,cAC3B5F,EAAM1V,QAAQ,MAEhC0a,GAAO1hC,KAAK,QAAS0hC,EAAO1hC,KAAK,SAAW,GAC5CojC,EAAYtP,SAAS,SAEhB2I,EAAKqC,KAIRoD,EAAQ9zB,KAAK20B,QAAU,IAAMrB,EAAO1hC,KAAK,UAAY,MACrDkiC,EAAQ3gB,KAAK,UAAUnT,KAAK20B,MAAQ,IAAMrB,EAAO1hC,KAAK,SAAW,QAJjEkiC,EAAQ9zB,KAAKqiB,OAAS,IAAMiR,EAAO1hC,KAAK,UAAY,MACpDkiC,EAAQ3gB,KAAK,UAAUnT,KAAKqiB,KAAO,IAAMiR,EAAO1hC,KAAK,SAAW,OAMlE0hC,EAAOtzB,IAAI,SAAUsuB,EAAMlV,SAAS,MAAM8a,aAAY,GAAQZ,EAAO1hC,KAAK,cAIhF+hB,EAAExnB,GAAQkc,IAAI,WAAWjJ,GAAG,sBAAuBivB,EAAKgD,SAAS,WAC7DhD,EAAK4G,OAAOlnC,KAAKsgC,IAClB,KAAK5P,QAAQ,UAAUA,QAAQ,uBAAuBrsB,KAAK,WAE1DuhB,EAAEvlB,MAAMqwB,QAAQ,yBAGpB9K,EAAE,QAAQtL,IAAI,WAAWjJ,GAAG,qBAAsB,SAAUpS,GAC1D,GAAI0W,GAASiQ,EAAE3mB,EAAEypB,QAAQmC,QAAQ,MAAMA,QAAQ,WAE3ClV,GAAOxT,OAAS,GAIpByjB,EAAE,IAAM0a,EAAKL,YAAc,cAAcrI,YAAY,WAIvDhS,EAAEvlB,KAAKsgC,OAAOtvB,GAAG,qBAAsB,IAAMhR,KAAK4/B,YAAc,wBAAyB,SAAUhhC,GACjGA,EAAEqwB,gBAEF,IAAIiR,GAAQ3a,EAAEvlB,MACVklC,EAAShF,EAAM1V,QAAQ,IAAMyV,EAAKL,YAAc,KAChD8F,EAAUR,EAAOngB,KAAK,6BAEtB+hB,GADW5B,EAAO1hC,KAAKy8B,EAAKL,WAAU,GAAQ,SACnCM,EAAM1V,QAAQ,aACzBuc,EAAmBD,EAASxxB,QAEhC4vB,GAAO1hC,KAAK,QAAS0hC,EAAO1hC,KAAK,SAAW,GAEvCy8B,EAAKqC,KAIRoD,EAAQ9zB,KAAK20B,QAAU,IAAMrB,EAAO1hC,KAAK,UAAY,MACrDkiC,EAAQ3gB,KAAK,UAAUnT,KAAK20B,MAAQ,IAAMrB,EAAO1hC,KAAK,SAAW,QAJjEkiC,EAAQ9zB,KAAKqiB,OAAS,IAAMiR,EAAO1hC,KAAK,UAAY,MACpDkiC,EAAQ3gB,KAAK,UAAUnT,KAAKqiB,KAAO,IAAMiR,EAAO1hC,KAAK,SAAW,OAMrC,IAAzB0hC,EAAO1hC,KAAK,SACd0hC,EAAOtzB,IAAI,SAAU,IAErBszB,EAAOtzB,IAAI,SAAUm1B,EAAiBjB,aAAY,GAAQZ,EAAO1hC,KAAK,WAGxEU,WAAW,WACT4iC,EAASvP,YAAY,UACpB,OAILhS,EAAEvlB,KAAKsgC,OAAOvb,KAAK,eAChB0D,MAAM,WACLtP,EAAEnZ,MAAM2qB,QAAQ,iBAAiB2M,SAAS,WAE3ChH,KAAK,WACJnX,EAAEnZ,MAAM2qB,QAAQ,iBAAiB4M,YAAY,YAInDsP,OAAS,WACP,GAAI5G,GAAOjgC,IACXigC,GAAK1a,EAAE,IAAMvlB,KAAK4/B,YAAc,KAAKnoB,KAAK,WACxC,GAIIuvB,GAJA9B,EAASjF,EAAK1a,EAAEvlB,MAChBogC,EAAW8E,EAAO1hC,KAAKy8B,EAAKL,WAAU,GAAQ,SAE9CqH,EAAkB/B,EAAO5vB,OAAO,IAAM2qB,EAAKG,SAAS+E,aAGxD,KAAKlF,EAAKqG,aAAc,CACtB,GAAIY,GAAWhC,EAAOzN,SAAS,WAC/ByN,GACGtzB,IAAI,SAAU,IACd2lB,YAAY,YACZxS,KAAK,MACLwS,YAAY,SAET2P,GACFjH,EAAK5L,OAAO6Q,GAIdjF,EAAK2F,UAAUV,EAAQ+B,EAAiB7G,KACtC6G,EAAgBxP,SAAS,UAE3BwP,EAAgB1P,YAAY,SAE5ByP,EAAeC,EAAgB9I,SAAS1gB,IACpCwiB,EAAK1a,EAAE3iB,EAASwR,MAAMqjB,SAAS,oBACjCuP,GAAgB9B,EAAO1hC,KAAK,WAG9B0hC,EAAO1hC,KAAK,eAAgBwjC,GAC5BC,EAAgB3P,SAAS,WAEzB0P,EAAeC,EAAgB9I,SAAS1gB,IACxCynB,EAAO1hC,KAAK,eAAgBwjC,QAOpCV,WAAa,WACX,OAAQz+B,WAAW05B,WAAWC,cAAsB,QAAG5tB,SAGzD6tB,MAAQ,WACN,MAAO55B,YAAW05B,WAAWC,cAAqB,OAAG5tB,SAGvD+tB,OAAS,WACP,MAAO95B,YAAW05B,WAAWC,cAAsB,QAAG5tB,SAGxDiuB,MAAQ,WACN,MAAOh6B,YAAW05B,WAAWC,cAAqB,OAAG5tB,SAGvDoyB,SAAW,SAAUd,GACnB,GAAIjF,GAAOjgC,KACPogC,EAAW8E,EAAO1hC,KAAKxD,KAAK4/B,WAAU,GAAQ,SAC9C8F,EAAUzF,EAAK1a,EAAE,4BAA6B2f,EAGlDQ,GAAQ1pB,SAERikB,EAAK1a,EAAE,kBAAmBmgB,GAASjuB,KAAK,WACtC,GAGI0vB,GAHAC,EAAQnH,EAAK1a,EAAEvlB,MACfqnC,EAAYD,EAAMpc,SAAS,aAC3BpmB,EAAMwiC,EAAMlgB,KAAK,OAGhBmgB,GAAUtiB,KAAK,eAAejjB,SAG/BqlC,EAAWhuB,EAD2B,GAApCinB,EAASkF,yBAAmC1gC,EACjC,0KAA4KA,EAAM,KAAOwiC,EAAM9rB,OAAQ,YAEvM,kFAIkB,GAA7B8kB,EAASgF,iBACXjsB,EAAE,OAAQguB,GAAU7rB,KAAK8kB,EAASiF,WAElClsB,EAAE,OAAQguB,GAAU7rB,KAAK,WAAa8rB,EAAM9rB,QAE9C+rB,EAAU9V,QAAQ4V,MAKtBzB,EAAQ3pB,SAASmpB,GAGjBllC,KAAKimC,SAELjmC,KAAK+lC,UAAUb,IAGjBa,UAAY,SAAUb,GACpBA,EAAO1hC,KAAKxD,KAAK4/B,WAAU,GAAOzmB,EAAE2B,UAAWoqB,EAAO1hC,KAAKxD,KAAK4/B,WAAU,KAASmG,WAAY,MAGjGpiC,OAAS,SAAU2jC,GACjB,GAAIC,GAAQ,EACRtH,EAAOjgC,IAMX,OAJAmZ,GAAE,OAAQmuB,GAAI7vB,KAAK,WACjB8vB,GAAStH,EAAK1a,EAAEvlB,MAAM8lC,aAAY,KAG7ByB,GAGTtB,OAAS,WACP,GAAIhG,GAAOjgC,IAEXA,MAAKulB,EAAExnB,GAAQiT,GAAG,SAAU,WAC1BivB,EAAKuG,+BAITA,0BAA4B,WAC1B,GAAIgB,GAAQ,IAAMxnC,KAAKogC,SAAS+E,aAC5BsC,EAAUznC,KAAKulB,EAAExnB,GACjBkiC,EAAOjgC,IAEX,IAAIigC,EAAKG,SAASyF,eAAiB5F,EAAK2F,UAAU5lC,KAAKogC,SAASyF,cAAe7lC,KAAKogC,SAASyF,cAAcvwB,SAAUtV,KAAKogC,UAAW,CACnI,GAAIsH,GAAW1nC,KAAKogC,SAASyF,cAAcriC,KAAK,eAC3Cy8B,GAAK1a,EAAEiiB,GAAO/P,SAAS,cACtBgQ,EAAQxX,YAAc,EACnBgQ,EAAK1a,EAAEiiB,GAAO/P,SAAS,WAC1BwI,EAAK1a,EAAEiiB,GAAOlQ,SAAS,SACvB2I,EAAK1a,EAAE,QAAQ+R,SAAS,mBAEjBmQ,EAAQxX,aAAeyX,GAC5BzH,EAAK1a,EAAEiiB,GAAO/P,SAAS,WACzBwI,EAAK1a,EAAEiiB,GAAOjQ,YAAY,SAC1B0I,EAAK1a,EAAE,QAAQgS,YAAY,sBAOrCtd,IAAM,WACJja,KAAKulB,EAAEvlB,KAAKsgC,OAAOrmB,IAAI,iBACvBja,KAAKulB,EAAExnB,GAAQkc,IAAI,kBAGrB0tB,OAAS,eAEXxI,OAAQphC,OAAQA,OAAO6E,UCncvB,SAAUuW,EAAGpb,EAAQ6E,EAAUqF,GAC/B,YAEAs5B,YAAWiB,KAAKoF,UACd/wB,KAAO,WAEPtU,QAAU,QAEV69B,UACEyH,WACEC,QAAU,gXAQZC,gBAAkB,yCAGlBC,eAAiB,GAGjBC,cAAgB,GAEhBC,YAAc,GAGdpgC,MAAO,EACP0jB,QAAS,GAGX1jB,KAAO,SAAUw4B,EAAOrF,EAAQ9oB,GAC9B,GAAI8tB,GAAOjgC,IACXuhC,YAAWuB,QAAQ9iC,KAAM,yBAEzBA,KAAKggC,SAAS/E,EAAQ9oB,GAElB8tB,EAAK1a,EAAEvlB,KAAKsgC,OAAOnW,GAAG,IAAMnqB,KAAK4/B,YAAc,KACjD5/B,KAAKgmC,SAAS/F,EAAK1a,EAAE,KAAMvlB,KAAKsgC,QAEhCL,EAAK1a,EAAE,IAAMvlB,KAAK4/B,YAAc,IAAK5/B,KAAKsgC,OAAO7oB,KAAK,WACpDwoB,EAAK+F,SAAS/F,EAAK1a,EAAE,KAAMvlB,UAKjC4a,OAAS,SAAU0lB,GACjB,GAAIL,GAAOjgC,KACPulB,EAAI0a,EAAK1a,EACT4iB,EAAoBhvB,EAAE,oBAEtBgvB,GAAkBrmC,OAAS,IAC7B9B,KAAKsgC,MAAQ6H,GAGf5iB,EAAEvlB,KAAKsgC,OACJrmB,IAAI,aACJjJ,GAAG,uBAAwB,MAAQhR,KAAK4/B,YAAc,QAAU5/B,KAAKogC,SAAS4H,eAC7E,SAAUppC,EAAGwpC,EAAS/f,GACpB,GAAI+f,GAAUA,GAAW7iB,EAAEvlB,MACvBqoB,EAASA,GAAU+f,EACnB9d,EAAO8d,EAAQ9d,KAAK,MACpB8V,EAAWgI,EAAQ5d,QAAQ,IAAMyV,EAAKL,YAAc,KAAKp8B,KAAKy8B,EAAKL,WAAU,GAAQ,SACrFv3B,EAAQkd,EAAE3mB,EAAEypB,OAEhBzpB,GAAEqwB,iBAEGmR,IACHH,EAAKn4B,OACLs4B,EAAWgI,EAAQ5d,QAAQ,IAAMyV,EAAKL,YAAc,KAAKp8B,KAAKy8B,EAAKL,WAAU,GAAQ,UAKnFvX,EAAOoP,SAAS,YAClB2Q,EAAQ,KAAO/f,EAAO,IACtBiC,EAAKxoB,OAAS,GAAKm+B,EAAKoI,QAAQD,KAChC/f,EAASiC,EACTjiB,EAAQkd,EAAE,MAAO8C,IAInB4X,EAAKjD,KAAK30B,EAAO+/B,EAAS/f,GAC1B4X,EAAKqI,eAAejgB,KAGvBrX,GAAG,uBAAwB,sBAC1B,SAAUpS,GAAKqhC,EAAKsI,IAAI3pC,EAAG,UAC5BoS,GAAG,uBAAwB,sBAC1B,SAAUpS,GAAKqhC,EAAKsI,IAAI3pC,EAAG,UAC5BoS,GAAG,uBAAwBhR,KAAKogC,SAAS2H,gBACxC,SAAUnpC,GAAK2iC,WAAWiB,KAAKoF,SAAStrB,MAAM1d,EAAGoB,QAErDmZ,EAAEvW,GAAUoO,GAAG,yBACX,SAAUpS,GAAKqhC,EAAKuI,QAAQ5pC,KAEhC2mB,EAAExnB,GAAQkc,IAAI,aAAajJ,GAAG,wBAC5B,WAAcivB,EAAK4G,WAErB7mC,KAAKyoC,aAAanI,IAGpBmI,aAAe,SAAUnI,GACvB,GAAIL,GAAOjgC,KACXulB,EAAI0a,EAAK1a,CAETA,GAAEvlB,KAAKsgC,OACJtvB,GAAG,4BAA6B,eAAgB,SAAUpS,GACpDA,EAAE8pC,UAAW9pC,EAAIA,EAAE6xB,cACxB,IAAIjtB,IACEmlC,aAAe/pC,EAAE8pC,QAAQ,GAAG/Y,MAC5BiZ,aAAehqC,EAAE8pC,QAAQ,GAAG3Y,MAC5B8Y,YAAa,GAAK31B,OAAQC,UAC1B21B,QAAU,EACVC,aAAe9gC,EAGrBsd,GAAEvlB,MAAMwD,KAAK,mBAAoBA,GACjC5E,EAAEswB,oBAEHle,GAAG,2BAA4B,eAAgB,SAAUpS,GAKxD,GAJKA,EAAE8pC,UACL9pC,EAAIA,EAAE6xB,iBAGJ7xB,EAAE8pC,QAAQ5mC,OAAS,GAAKlD,EAAEoqC,OAAqB,IAAZpqC,EAAEoqC,OAAzC,CAIA,GAAIxlC,GAAO+hB,EAAEvlB,MAAMwD,KAAK,mBAgBxB,IAdoB,mBAATA,KACTA,MAGFA,EAAKslC,QAAUlqC,EAAE8pC,QAAQ,GAAG/Y,MAAQnsB,EAAKmlC,aAErCpH,WAAWe,MACb9+B,EAAKslC,SAAWtlC,EAAKslC,SAGU,mBAAtBtlC,GAAKulC,eACdvlC,EAAKulC,gBAAmBvlC,EAAKulC,cAAgB9/B,KAAKggC,IAAIzlC,EAAKslC,SAAW7/B,KAAKggC,IAAIrqC,EAAE8pC,QAAQ,GAAG3Y,MAAQvsB,EAAKolC,iBAGtGplC,EAAKulC,eAAiBvlC,EAAK61B,OAAQ,CACtCz6B,EAAEqwB,gBACF,IAAIia,GAAa1lC,EAAKslC,QAAU,EAAK,OAAS,MAC9CtlC,GAAK61B,QAAS,EACd4G,EAAKsI,IAAI3pC,EAAGsqC,OAGfl4B,GAAG,0BAA2B,eAAgB,SAAUpS,GACvD2mB,EAAEvlB,MAAMwD,KAAK,uBACb5E,EAAEswB,qBAIR8W,SAAW,SAAUmD,GACnB,GAAIC,GAAMD,EAAI7zB,QAEd,KAAI8zB,EAAI9zB,SAASmiB,SAAS,YAA1B,CAIA2R,EAAI3X,MAAM,4CAEV,IAAI4X,GAAOD,EAAIptB,SACXstB,EAAiB,EAErB,IAAe,MAAXD,EAAK,GAAT,CAGEC,EAAiBD,EAAK,GAAGE,SAG3B,IAAIC,GAASxpC,KAAKulB,EAAE,6BAChB6a,EAAWgJ,EAAI5lC,KAAKxD,KAAK4/B,WAAU,GAAQ,SAC3Cp8B,GACE6lC,KAAO,yBAA2BC,EAAiB,SACnDxB,QAAU1H,EAASyH,UAAUC,SAE/B2B,EAAU,wCAA0CjmC,EAAKskC,QACvDtkC,EAAK6lC,KAAO,eACdnB,EAAcloC,KAAKogC,SAAS8H,WAE5BlqC,WAAU2oC,QACZ8C,EAAUtwB,EAAEswB,GAAS1kB,KAAK,yBAAyBzJ,KAAK4sB,GAAavvB,OAGvE6wB,EAAO/X,MAAMgY,GAAS/pB,YAGxBsd,KAAO,SAAU0M,EAAQtB,EAAS/f,GAmBhC,QAASshB,KACPzlC,WAAW,WACTlE,KAAKikC,aAAa57B,EAAO,WACI,IAAvBA,EAAMuhC,cAAuBnnB,EAG/BuU,EAAGr3B,KAAKK,KAAMqI,GAFdshC,EAAUhqC,KAAKK,OAIjBD,KAAKC,QACPD,KAAKC,MAAO,KAGhB,QAASg3B,GAAI3uB,GACX,GAAIqhC,GAASvwB,EAAE9Q,EACfqhC,GAAO93B,IAAI,aAAc,WAEzBwC,EAAKxC,IAAI,WAAY,UACrB4W,EAAK8O,SAAS,qBACduS,EAAUvS,SAAS,sBACnBwS,EAAcvqB,OACdvf,KAAK+pC,WAAW1hB,GACbkF,QAAQ0S,EAAK1a,EAAE,oBAAqBukB,GAAgB7J,EAAK1a,EAAE,MAAO8C,IAClE2hB,iBAAiB3hC,EAAO4hC,GACxBpnC,MAAMulC,EAAS/f,EAAQ,WACtBA,EAAOmC,QAAQ,MAAMQ,WAAWuM,YAAY,WAC5ClP,EAAOmC,QAAQ,MAAM8M,SAAS,aAElCwS,EAAczZ,QAAQ,yBA7CxB,GAAI4P,GAAOjgC,KACPoU,EAAO+E,EAAEvW,EAASwR,MAClBoU,EAAOH,EAAOmC,QAAQ,uBACtBqf,EAAY5J,EAAK1a,EAAE,MAAOiD,GAAMpF,QAChC0mB,EAAgB7J,EAAK1a,EAAE,eAAgBskB,GACvCxhC,EAAQ43B,EAAK1a,EAAE,MAAOukB,GAAe7hB,IAAIyhB,GACzCO,EAAQhK,EAAK1a,EAAE,wBAAyBskB,GACxCpnB,GAAQ,CAGZtJ,GAAE,QAAQnI,GAAG,YAAa,SAAUpS,GAClCA,EAAEqwB,mBAGJ5mB,EAAMoa,MAAM,WACVA,GAAQ,IAiCLziB,KAAKwrB,WACRse,EAAczZ,QAAQ,uBAEtBhoB,EACG6e,KAAK,MAAOlnB,KAAKgE,KAAK0lC,IACtB93B,IAAI,aAAc,UAErB+3B,EAAUhqC,KAAKK,QAInBsc,MAAQ,SAAU1d,EAAGwkC,GACnBxkC,EAAEqwB,gBAEF,IAO6B4a,GAAWC,EAPpCthB,EAAQ,SAAUH,GAChB,MAAI,WAAW9mB,KAAK8mB,EAAOrF,UAClBqF,EAEAA,EAAOmC,QAAQ,uBAExBrR,EAAEiqB,IACJhvB,EAAO+E,EAAEvW,EAASwR,KAmBtB,OAjBIgvB,KAAOxkC,EAAEypB,QAAUG,IACrBpU,EAAKxC,IAAI,WAAY,IACrBi4B,EAAY1wB,EAAE,MAAOqP,GAAMpF,QAC3B0mB,EAAgB3wB,EAAE,eAAgB0wB,GAClCC,EAAczZ,QAAQ,wBACtBrwB,KAAKogC,SAAS8J,WAAa,EAC3B/wB,EAAE,MAAQnZ,KAAK4/B,YAAc,IAAKpX,GAC/BtB,KAAK,QAAS,IAAIsD,QAAQ,sBAC1B+M,YAAY,qBACfsS,EAAUtS,YAAY,sBACtBuS,EAAcrqB,OACdqqB,EAAczZ,QAAQ,0BAIxBlX,EAAE,QAAQc,IAAI,cAEP,GAGTouB,QAAU,SAAUD,GAClB,MAAOA,GAAQ9yB,SAASgf,KAAK,SAASxyB,OAAS,GAGjD0mC,QAAU,SAAU5pC,GAClB,GAAIgpC,GAAWzuB,EAAE,yBAA2BnZ,KAAK4/B,YAAc,KAC3DuK,EAAWnqC,KAAKsiC,IAAM,GAAK,GAC3B8H,EAAWpqC,KAAKsiC,IAAM,GAAK,GAC3B+H,EAAU,EAEVzrC,GAAE2wB,QAAU4a,GACdnqC,KAAKsqC,GAAG1C,EAAU,QAEhBhpC,EAAE2wB,QAAU6a,GACdpqC,KAAKsqC,GAAG1C,EAAU,QAEhBhpC,EAAE2wB,QAAU8a,GACdrqC,KAAKulB,EAAE,oBAAoB8K,QAAQ,SAASA,QAAQ,yBAIxDkY,IAAM,SAAU3pC,EAAGsqC,GACjB,GAAItB,GAAWzuB,EAAE,MAAQnZ,KAAK4/B,YAAc,IAAK,qBAEjDhhC,GAAEqwB,iBACFjvB,KAAKsqC,GAAG1C,EAAUsB,IAGpBrC,OAAS,WACP,GAAIx+B,GAAQ8Q,EAAE,MAAO,mCACjB8wB,EAAQ9wB,EAAE,wBAAyB,qBAEnC9Q,GAAMvG,SACR9B,KAAKgqC,iBAAiB3hC,EAAO4hC,GAC7B5hC,EAAMgoB,QAAQ,4BAKlB0Z,WAAa,SAAU1hB,GACrB,GAAIkiB,GAAMliB,EAAO/S,SAAS+U,WACtB4V,EAAOjgC,IAaX,OAXAuqC,GAAI9yB,KAAK,WACP,GAAIivB,GAAKzG,EAAK1a,EAAEvlB,MACZqI,EAAQq+B,EAAG3hB,KAAK,MAEhB2hB,GAAG/iC,SAAW0E,EAAMy9B,eACtBY,EAAGpP,SAAS,gBAGf9M,QAAQ,MACR9mB,MAAmB,IAAb6mC,EAAIzoC,OAAe,KAEnB9B,MAGTsoC,eAAiB,SAAUjgB,GACzBA,EAASA,EAAOmC,QAAQ,KACxB,IAAIsf,GAAgBzhB,EACjBmC,QAAQ,aACRQ,SAAS,eAER3C,GAAOiC,OAAOxoB,OAAS,EACzB9B,KAAKulB,EAAE,sBAAuBukB,GAAevS,YAAY,YAEzDv3B,KAAKulB,EAAE,sBAAuBukB,GAAexS,SAAS,YAGpDjP,EAAOkC,OAAOzoB,OAAS,EACzB9B,KAAKulB,EAAE,sBAAuBukB,GAAevS,YAAY,YAEzDv3B,KAAKulB,EAAE,sBAAuBukB,GAAexS,SAAS,aAI1D0S,iBAAmB,SAAU3hB,EAAQ4hB,GAcnC,OAbKjqC,KAAKsiC,KAAO2H,EAAMnoC,OAAS,EAC9BmoC,EAAMr4B,KACJygB,aAAe4X,EAAML,aAAe,GACpCY,YAAcniB,EAAOyd,cAAgB,GAAGmE,EAAMnE,cAAc,KAG9DmE,EAAMr4B,KACJ0gB,cAAgB2X,EAAML,aAAe,GACrCY,YAAcniB,EAAOyd,cAAgB,GAAGmE,EAAMnE,cAAc,GAC5D7R,KAAM,OACNsS,MAAO,QAGJvmC,MAKTgE,KAAO,SAAU0lC,GACf,GAAIxjC,EAUJ,OAPEA,GADyB,MAAvBwjC,EAAO,GAAGxiC,SACLwiC,EAAOxiB,KAAK,QAEZwiB,EAAOlf,QAAQ,KAAKtD,KAAK,QAGlClnB,KAAKyqC,QAAQf,GAETxjC,EACKA,EAEFwjC,EAAOxiB,KAAK,QAGrBujB,QAAU,SAAUf,GAClB1pC,KACG8G,IAAI4iC,EAAOlf,QAAQ,MAAMF,QACzBxjB,IAAI4iC,EAAOlf,QAAQ,MAAMD,SAG9BzjB,IAAM,SAAUA,GACd,GAAIA,EAAIhF,OAAQ,CACd,GAAI4oC,GAAU,GAAIpiC,OACdqiC,EAAQ3qC,KAAKulB,EAAE,IAAKze,EAEpB6jC,GAAM7oC,OACR4oC,EAAQjnC,IAAMknC,EAAMzjB,KAAK,QAEzBwjB,EAAQjnC,IAAMzD,KAAKulB,EAAE,MAAOze,GAAKogB,KAAK,OAG1C,MAAOlnB,OAKTutB,QAAU,SAAUsc,EAAWH,GAC7B,GAAInc,GAAUmc,EAAOxiB,KAAK;AAW1B,MATIqG,GACFsc,EACGvuB,KAAKiS,GACLhO,OAEHsqB,EACGlmB,KAAK,IACLlE,OAEEzf,MAKTsqC,GAAK,SAAUM,EAAK1B,GAClB,GAAId,GAAUpoC,KAAKulB,EAAE,WAAYqlB,GAC7BviB,EAAS+f,EAAQc,IAGjBlpC,MAAKogC,SAAS6H,eAAoE,GAAnD5f,EAAOtD,KAAK/kB,KAAKogC,SAAS6H,eAAenmC,SAC1EumB,EAASA,EAAO6gB,MAGd7gB,EAAOvmB,QACT9B,KAAKulB,EAAE,MAAO8C,GACXgI,QAAQ,SAAU+X,EAAS/f,IAASgI,QAAQ,wBAAyB+X,EAAS/f,IAC9EgI,QAAQ,0BAIfxtB,MAAQ,SAAUulC,EAAS/f,EAAQ9iB,GACjC,GAMIslC,GANAjD,EAAWvf,EAAO/S,SAClBw1B,EAAY9qC,KAAKogC,SAAS8J,YAAc7hB,EAAO5W,QAC/Cy3B,EAAYlpC,KAAKkpC,UAAUtB,EAAUQ,EAAS/f,GAC9CzD,EAAM5kB,KAAKsiC,IAAM,QAAU,OAC3BrO,EAAO3mB,SAASs6B,EAASh2B,IAAI,QAAS,IACtClO,EAAQ2kB,EAAOuhB,aAGfmB,IAKA1iB,GAAO5W,UAAYq5B,GAAc,OAAOvpC,KAAK2nC,GAUtC,OAAO3nC,KAAK2nC,KAGrB2B,EAAaxiB,EAAO5W,QAAUzR,KAAKogC,SAAS4K,SAC5ChrC,KAAKurB,OAEDsf,EAAa,GACfE,EAAQnmB,KAASimB,EAAannC,GAC9BkkC,EAASrS,QAAQwV,EAAS,IAAK/qC,KAAKirC,YAEpCF,EAAQnmB,GAAO,EACfgjB,EAASrS,QAAQwV,EAAS,IAAK/qC,KAAKirC,YApBlC,OAAO1pC,KAAK2nC,IACdlpC,KAAKurB,OACLwf,EAAQnmB,GAAOqP,EAAOvwB,EACtBkkC,EAASrS,QAAQwV,EAAS,IAAK/qC,KAAKirC,WAC3B,QAAQ1pC,KAAK2nC,KACtBlpC,KAAKurB,OACLwf,EAAQnmB,GAAOqP,EAAOvwB,EACtBkkC,EAASrS,QAAQwV,EAAS,IAAK/qC,KAAKirC,WAiBxC1lC,KAGF2jC,UAAY,SAAUE,EAAKhB,EAAS/f,GAClC,GAIIkV,GAJAgN,EAAMvqC,KAAKulB,EAAE,KAAM6jB,GACnB8B,EAAWX,EAAIX,aAAgBW,EAAIX,aAAe,EAClDoB,EAAW/hC,KAAKkiC,MAAMnrC,KAAKulB,EAAE,uBAAuBqkB,aAAesB,GAAY,EAC/EE,EAAeb,EAAI94B,MAAM4W,EAmB7B,OAhBAroB,MAAKogC,SAAS4K,SAAWA,EAIrBzN,EAFAv9B,KAAKqrC,SAASrrC,KAAKogC,SAAS8J,WAAYkB,GACrCA,EAAeJ,GAAaI,EAAeprC,KAAKogC,SAAS8J,WACjD,QACDkB,EAAeJ,EAAW,GAAMI,GAAgBprC,KAAKogC,SAAS8J,YAC7D,OAKF,OAGblqC,KAAKogC,SAAS8J,WAAakB,EAEpB7N,GAGT8N,SAAW,SAAUC,EAAeF,GAClC,IAAK,GAAInsC,GAAImsC,EAAe,EAAGnsC,GAAKmsC,EAAe,EAAGnsC,IACpD,GAAIA,IAAMqsC,EACR,OAAO,CAGX,QAAO,GAKT/f,KAAO,WACLvrB,KAAKogC,SAAS5U,QAAS,GAGzByf,OAAS,WACPjrC,KAAKogC,SAAS5U,QAAS,GAGzBA,OAAS,WACP,MAAOxrB,MAAKogC,SAAS5U,QAGvBvR,IAAM,WACJja,KAAKulB,EAAEvlB,KAAKsgC,OAAOrmB,IAAI,mBACvBja,KAAKulB,EAAExnB,GAAQkc,IAAI,oBAGrB0tB,OAAS,WACP3nC,KAAK8H,UAITq3B,OAAQphC,OAAQA,OAAO6E,UC1hBxB,SAAS2oC,GACN,YACsB,mBAAXv0B,SAAyBA,OAAOC,IACvCD,QAAQ,UAAWu0B,GACO,mBAAZx0B,SACdD,OAAOC,QAAUw0B,EAAQC,QAAQ,WAEjCD,EAAQpM,SAGd,SAAShmB,GACP,YACA,IAAIsyB,GAAQ1tC,OAAO0tC,SAEnBA,GAAS,WAIL,QAASA,GAAMp2B,EAAS+qB,GAEpB,GAAcsL,GAAV90B,EAAI5W,IAER4W,GAAEgsB,UACE+I,eAAe,EACfC,gBAAgB,EAChBC,aAAc1yB,EAAE9D,GAChBy2B,WAAY3yB,EAAE9D,GACd02B,QAAQ,EACRC,SAAU,KACVC,UAAW,+HACXC,UAAW,uHACXC,UAAU,EACVC,cAAe,IACfC,YAAY,EACZC,cAAe,OACfC,QAAS,OACTC,aAAc,SAASC,EAAQxtC,GAC3B,MAAOka,GAAE,wEAAwEwK,KAAK1kB,EAAI,IAE9FytC,MAAM,EACNC,UAAW,aACXC,WAAW,EACXjsB,OAAQ,SACRksB,aAAc,IACdC,MAAM,EACNC,eAAe,EACfC,UAAU,EACVC,aAAc,EACdC,SAAU,WACVC,aAAa,EACbC,cAAc,EACdC,cAAc,EACdC,kBAAkB,EAClBC,UAAW,SACXC,WAAY,KACZC,KAAM,EACNnL,KAAK,EACLoL,MAAO,GACPC,aAAc,EACdC,aAAc,EACdC,eAAgB,EAChB1Y,MAAO,IACP2Y,OAAO,EACPC,cAAc,EACdC,WAAW,EACXC,eAAgB,EAChBC,QAAQ,EACRC,cAAc,EACdC,eAAe,EACfC,UAAU,EACVC,iBAAiB,EACjBC,gBAAgB,EAChB3a,OAAQ,KAGZhd,EAAE43B,UACEzN,WAAW,EACX0N,UAAU,EACVC,cAAe,KACfC,iBAAkB,EAClBC,YAAa,KACbC,aAAc,EACd3F,UAAW,EACX4F,MAAO,KACPC,UAAW,KACXC,WAAY,KACZC,UAAW,EACXC,WAAY,KACZC,WAAY,KACZC,WAAY,KACZC,WAAY,KACZC,YAAa,KACbC,QAAS,KACTC,SAAS,EACTC,YAAa,EACbC,UAAW,KACXC,MAAO,KACPC,eACAC,mBAAmB,EACnBC,WAAW,GAGf32B,EAAE2B,OAAOlE,EAAGA,EAAE43B,UAEd53B,EAAEm5B,iBAAmB,KACrBn5B,EAAEo5B,SAAW,KACbp5B,EAAEq5B,SAAW,KACbr5B,EAAEs5B,eACFt5B,EAAEu5B,sBACFv5B,EAAEw5B,gBAAiB,EACnBx5B,EAAEy5B,UAAW,EACbz5B,EAAE05B,aAAc,EAChB15B,EAAE0I,OAAS,SACX1I,EAAE25B,QAAS,EACX35B,EAAE45B,aAAe,KACjB55B,EAAE22B,UAAY,KACd32B,EAAE65B,SAAW,EACb75B,EAAE85B,aAAc,EAChB95B,EAAE+5B,QAAUx3B,EAAE9D,GACduB,EAAEg6B,aAAe,KACjBh6B,EAAEi6B,cAAgB,KAClBj6B,EAAEk6B,eAAiB,KACnBl6B,EAAEm6B,iBAAmB,mBACrBn6B,EAAEo6B,YAAc,EAChBp6B,EAAEq6B,YAAc,KAEhBvF,EAAevyB,EAAE9D,GAAS7R,KAAK,aAE/BoT,EAAEzE,QAAUgH,EAAE2B,UAAWlE,EAAEgsB,SAAUxC,EAAUsL,GAE/C90B,EAAEi4B,aAAej4B,EAAEzE,QAAQ86B,aAE3Br2B,EAAEs6B,iBAAmBt6B,EAAEzE,QAEW,mBAAvBvP,UAASuuC,WAChBv6B,EAAE0I,OAAS,YACX1I,EAAEm6B,iBAAmB,uBACmB,mBAA1BnuC,UAASwuC,eACvBx6B,EAAE0I,OAAS,eACX1I,EAAEm6B,iBAAmB,0BAGzBn6B,EAAEy6B,SAAWl4B,EAAE+H,MAAMtK,EAAEy6B,SAAUz6B,GACjCA,EAAE06B,cAAgBn4B,EAAE+H,MAAMtK,EAAE06B,cAAe16B,GAC3CA,EAAE26B,iBAAmBp4B,EAAE+H,MAAMtK,EAAE26B,iBAAkB36B,GACjDA,EAAE46B,YAAcr4B,EAAE+H,MAAMtK,EAAE46B,YAAa56B,GACvCA,EAAE66B,aAAet4B,EAAE+H,MAAMtK,EAAE66B,aAAc76B,GACzCA,EAAE86B,cAAgBv4B,EAAE+H,MAAMtK,EAAE86B,cAAe96B,GAC3CA,EAAE+6B,YAAcx4B,EAAE+H,MAAMtK,EAAE+6B,YAAa/6B,GACvCA,EAAEg7B,aAAez4B,EAAE+H,MAAMtK,EAAEg7B,aAAch7B,GACzCA,EAAEi7B,YAAc14B,EAAE+H,MAAMtK,EAAEi7B,YAAaj7B,GACvCA,EAAEk7B,WAAa34B,EAAE+H,MAAMtK,EAAEk7B,WAAYl7B,GAErCA,EAAEm7B,YAAcA,IAKhBn7B,EAAEo7B,SAAW,4BAGbp7B,EAAEq7B,sBACFr7B,EAAE9O,MAAK,GAlJX,GAAIiqC,GAAc,CAsJlB,OAAOtG,MAIXA,EAAM5rC,UAAUqyC,YAAc,WAC1B,GAAIt7B,GAAI5W,IAER4W,GAAE04B,YAAYvqB,KAAK,iBAAiBmC,MAChCirB,cAAe,UAChBptB,KAAK,4BAA4BmC,MAChCkrB,SAAY,OAKpB3G,EAAM5rC,UAAUwyC,SAAW5G,EAAM5rC,UAAUyyC,SAAW,SAASC,EAAQ9gC,EAAO+gC,GAE1E,GAAI57B,GAAI5W,IAER,IAAsB,iBAAZ,GACNwyC,EAAY/gC,EACZA,EAAQ,SACL,IAAIA,EAAQ,GAAMA,GAASmF,EAAEw4B,WAChC,OAAO,CAGXx4B,GAAE67B,SAEoB,gBAAZ,GACQ,IAAVhhC,GAAoC,IAArBmF,EAAE24B,QAAQztC,OACzBqX,EAAEo5B,GAAQx2B,SAASnF,EAAE04B,aACdkD,EACPr5B,EAAEo5B,GAAQzxC,aAAa8V,EAAE24B,QAAQl0B,GAAG5J,IAEpC0H,EAAEo5B,GAAQ1gB,YAAYjb,EAAE24B,QAAQl0B,GAAG5J,IAGnC+gC,KAAc,EACdr5B,EAAEo5B,GAAQ3gB,UAAUhb,EAAE04B,aAEtBn2B,EAAEo5B,GAAQx2B,SAASnF,EAAE04B,aAI7B14B,EAAE24B,QAAU34B,EAAE04B,YAAYjlB,SAASrqB,KAAKmS,QAAQu7B,OAEhD92B,EAAE04B,YAAYjlB,SAASrqB,KAAKmS,QAAQu7B,OAAO1xB,SAE3CpF,EAAE04B,YAAYhe,OAAO1a,EAAE24B,SAEvB34B,EAAE24B,QAAQ93B,KAAK,SAAShG,EAAO4D,GAC3B8D,EAAE9D,GAAS6R,KAAK,mBAAoBzV,KAGxCmF,EAAEg6B,aAAeh6B,EAAE24B,QAEnB34B,EAAE87B,UAINjH,EAAM5rC,UAAU8yC,cAAgB,WAC5B,GAAI/7B,GAAI5W,IACR,IAA+B,IAA3B4W,EAAEzE,QAAQy7B,cAAsBh3B,EAAEzE,QAAQy5B,kBAAmB,GAAQh1B,EAAEzE,QAAQk8B,YAAa,EAAO,CACnG,GAAIuE,GAAeh8B,EAAE24B,QAAQl0B,GAAGzE,EAAEi4B,cAAc/I,aAAY,EAC5DlvB,GAAE+4B,MAAMpa,SACJ5xB,OAAQivC,GACTh8B,EAAEzE,QAAQgjB,SAIrBsW,EAAM5rC,UAAUgzC,aAAe,SAASC,EAAYvtC,GAEhD,GAAIwtC,MACAn8B,EAAI5W,IAER4W,GAAE+7B,gBAEE/7B,EAAEzE,QAAQmwB,OAAQ,GAAQ1rB,EAAEzE,QAAQk8B,YAAa,IACjDyE,GAAcA,GAEdl8B,EAAEi5B,qBAAsB,EACpBj5B,EAAEzE,QAAQk8B,YAAa,EACvBz3B,EAAE04B,YAAY/Z,SACVtB,KAAM6e,GACPl8B,EAAEzE,QAAQgjB,MAAOve,EAAEzE,QAAQwO,OAAQpb,GAEtCqR,EAAE04B,YAAY/Z,SACV9X,IAAKq1B,GACNl8B,EAAEzE,QAAQgjB,MAAOve,EAAEzE,QAAQwO,OAAQpb,GAKtCqR,EAAEw5B,kBAAmB,GACjBx5B,EAAEzE,QAAQmwB,OAAQ,IAClB1rB,EAAEg4B,aAAgBh4B,EAAa,aAEnCuC,GACI65B,UAAWp8B,EAAEg4B,cACdrZ,SACCyd,UAAWF,IAEX3yB,SAAUvJ,EAAEzE,QAAQgjB,MACpBxU,OAAQ/J,EAAEzE,QAAQwO,OAClB6T,KAAM,SAASpW,GACXA,EAAMnV,KAAKgqC,KAAK70B,GACZxH,EAAEzE,QAAQk8B,YAAa,GACvB0E,EAAUn8B,EAAEo5B,UAAY,aACpB5xB,EAAM,WACVxH,EAAE04B,YAAY19B,IAAImhC,KAElBA,EAAUn8B,EAAEo5B,UAAY,iBACpB5xB,EAAM,MACVxH,EAAE04B,YAAY19B,IAAImhC,KAG1BvtC,SAAU,WACFD,GACAA,EAAS5F,YAOrBiX,EAAEs8B,kBACFJ,EAAa7pC,KAAKgqC,KAAKH,GAEnBl8B,EAAEzE,QAAQk8B,YAAa,EACvB0E,EAAUn8B,EAAEo5B,UAAY,eAAiB8C,EAAa,gBAEtDC,EAAUn8B,EAAEo5B,UAAY,mBAAqB8C,EAAa,WAE9Dl8B,EAAE04B,YAAY19B,IAAImhC,GAEdxtC,GACArB,WAAW,WAEP0S,EAAEu8B,oBAEF5tC,EAAS5F,QACViX,EAAEzE,QAAQgjB,SAS7BsW,EAAM5rC,UAAUuzC,aAAe,WAE3B,GAAIx8B,GAAI5W,KACJgsC,EAAWp1B,EAAEzE,QAAQ65B,QAMzB,OAJKA,IAAyB,OAAbA,IACbA,EAAW7yB,EAAE6yB,GAAU/jB,IAAIrR,EAAE+5B,UAG1B3E,GAIXP,EAAM5rC,UAAUmsC,SAAW,SAASv6B,GAEhC,GAAImF,GAAI5W,KACJgsC,EAAWp1B,EAAEw8B,cAEC,QAAbpH,GAAyC,gBAAbA,IAC7BA,EAASv0B,KAAK,WACV,GAAI4Q,GAASlP,EAAEnZ,MAAMqzC,MAAM,WACvBhrB,GAAOynB,WACPznB,EAAOirB,aAAa7hC,GAAO,MAO3Cg6B,EAAM5rC,UAAUqzC,gBAAkB,SAASxF,GAEvC,GAAI92B,GAAI5W,KACJuzC,IAEA38B,GAAEzE,QAAQ26B,QAAS,EACnByG,EAAW38B,EAAEk6B,gBAAkBl6B,EAAEi6B,cAAgB,IAAMj6B,EAAEzE,QAAQgjB,MAAQ,MAAQve,EAAEzE,QAAQo6B,QAE3FgH,EAAW38B,EAAEk6B,gBAAkB,WAAal6B,EAAEzE,QAAQgjB,MAAQ,MAAQve,EAAEzE,QAAQo6B,QAGhF31B,EAAEzE,QAAQ26B,QAAS,EACnBl2B,EAAE04B,YAAY19B,IAAI2hC,GAElB38B,EAAE24B,QAAQl0B,GAAGqyB,GAAO97B,IAAI2hC,IAKhC9H,EAAM5rC,UAAUwxC,SAAW,WAEvB,GAAIz6B,GAAI5W,IAER4W,GAAE06B,gBAEG16B,EAAEw4B,WAAax4B,EAAEzE,QAAQy7B,eAC1Bh3B,EAAE83B,cAAgBxY,YAAatf,EAAE26B,iBAAkB36B,EAAEzE,QAAQi6B,iBAKrEX,EAAM5rC,UAAUyxC,cAAgB,WAE5B,GAAI16B,GAAI5W,IAEJ4W,GAAE83B,eACFvY,cAAcvf,EAAE83B,gBAKxBjD,EAAM5rC,UAAU0xC,iBAAmB,WAE/B,GAAI36B,GAAI5W,KACJwzC,EAAU58B,EAAEi4B,aAAej4B,EAAEzE,QAAQ07B,cAEnCj3B,GAAE25B,QAAW35B,EAAE05B,aAAgB15B,EAAEy5B,WAE9Bz5B,EAAEzE,QAAQ66B,YAAa,IAEH,IAAhBp2B,EAAEsyB,WAAqBtyB,EAAEi4B,aAAe,IAAUj4B,EAAEw4B,WAAa,EAClEx4B,EAAEsyB,UAAY,EAGQ,IAAhBtyB,EAAEsyB,YAERsK,EAAU58B,EAAEi4B,aAAej4B,EAAEzE,QAAQ07B,eAEhCj3B,EAAEi4B,aAAe,IAAM,IACxBj4B,EAAEsyB,UAAY,KAO1BtyB,EAAE08B,aAAcE,KAMxB/H,EAAM5rC,UAAU4zC,YAAc,WAE1B,GAAI78B,GAAI5W,IAEJ4W,GAAEzE,QAAQ45B,UAAW,IAErBn1B,EAAEu4B,WAAah2B,EAAEvC,EAAEzE,QAAQ85B,WAAW3U,SAAS,eAC/C1gB,EAAEs4B,WAAa/1B,EAAEvC,EAAEzE,QAAQ+5B,WAAW5U,SAAS,eAE3C1gB,EAAEw4B,WAAax4B,EAAEzE,QAAQy7B,cAEzBh3B,EAAEu4B,WAAW5X,YAAY,gBAAgBV,WAAW,wBACpDjgB,EAAEs4B,WAAW3X,YAAY,gBAAgBV,WAAW,wBAEhDjgB,EAAEo7B,SAASzwC,KAAKqV,EAAEzE,QAAQ85B,YAC1Br1B,EAAEu4B,WAAWvd,UAAUhb,EAAEzE,QAAQ05B,cAGjCj1B,EAAEo7B,SAASzwC,KAAKqV,EAAEzE,QAAQ+5B,YAC1Bt1B,EAAEs4B,WAAWnzB,SAASnF,EAAEzE,QAAQ05B,cAGhCj1B,EAAEzE,QAAQ66B,YAAa,GACvBp2B,EAAEu4B,WACG7X,SAAS,kBACTpQ,KAAK,gBAAiB,SAK/BtQ,EAAEu4B,WAAW/0B,IAAKxD,EAAEs4B,YAEf5X,SAAS,gBACTpQ,MACGwsB,gBAAiB,OACjBtB,SAAY,SAShC3G,EAAM5rC,UAAU8zC,UAAY,WAExB,GACI10C,GAAG20C,EADHh9B,EAAI5W,IAGR,IAAI4W,EAAEzE,QAAQu6B,QAAS,GAAQ91B,EAAEw4B,WAAax4B,EAAEzE,QAAQy7B,aAAc,CAMlE,IAJAh3B,EAAE+5B,QAAQrZ,SAAS,gBAEnBsc,EAAMz6B,EAAE,UAAUme,SAAS1gB,EAAEzE,QAAQw6B,WAEhC1tC,EAAI,EAAGA,GAAK2X,EAAEi9B,cAAe50C,GAAK,EACnC20C,EAAItiB,OAAOnY,EAAE,UAAUmY,OAAO1a,EAAEzE,QAAQq6B,aAAa7sC,KAAKK,KAAM4W,EAAG3X,IAGvE2X,GAAEk4B,MAAQ8E,EAAI73B,SAASnF,EAAEzE,QAAQ25B,YAEjCl1B,EAAEk4B,MAAM/pB,KAAK,MAAM3B,QAAQkU,SAAS,gBAAgBpQ,KAAK,cAAe,WAMhFukB,EAAM5rC,UAAUi0C,SAAW,WAEvB,GAAIl9B,GAAI5W,IAER4W,GAAE24B,QACE34B,EAAE+5B,QACGtmB,SAAUzT,EAAEzE,QAAQu7B,MAAQ,uBAC5BpW,SAAS,eAElB1gB,EAAEw4B,WAAax4B,EAAE24B,QAAQztC,OAEzB8U,EAAE24B,QAAQ93B,KAAK,SAAShG,EAAO4D,GAC3B8D,EAAE9D,GACG6R,KAAK,mBAAoBzV,GACzBjO,KAAK,kBAAmB2V,EAAE9D,GAAS6R,KAAK,UAAY,MAG7DtQ,EAAE+5B,QAAQrZ,SAAS,gBAEnB1gB,EAAE04B,YAAgC,IAAjB14B,EAAEw4B,WACfj2B,EAAE,8BAA8B4C,SAASnF,EAAE+5B,SAC3C/5B,EAAE24B,QAAQ1T,QAAQ,8BAA8BvmB,SAEpDsB,EAAE+4B,MAAQ/4B,EAAE04B,YAAYvT,KACpB,gDAAgDzmB,SACpDsB,EAAE04B,YAAY19B,IAAI,UAAW,GAEzBgF,EAAEzE,QAAQk6B,cAAe,GAAQz1B,EAAEzE,QAAQ47B,gBAAiB,IAC5Dn3B,EAAEzE,QAAQ07B,eAAiB,GAG/B10B,EAAE,iBAAkBvC,EAAE+5B,SAAS1oB,IAAI,SAASqP,SAAS,iBAErD1gB,EAAEm9B,gBAEFn9B,EAAE68B,cAEF78B,EAAE+8B,YAEF/8B,EAAEo9B,aAGFp9B,EAAEq9B,gBAA0C,gBAAnBr9B,GAAEi4B,aAA4Bj4B,EAAEi4B,aAAe,GAEpEj4B,EAAEzE,QAAQy6B,aAAc,GACxBh2B,EAAE+4B,MAAMrY,SAAS,cAKzBmU,EAAM5rC,UAAUq0C,UAAY,WAExB,GAAcj2C,GAAGC,EAAGC,EAAGg2C,EAAWC,EAAaC,EAAeC,EAA1D19B,EAAI5W,IAKR,IAHAm0C,EAAYvxC,SAASf,yBACrBwyC,EAAiBz9B,EAAE+5B,QAAQtmB,WAExBzT,EAAEzE,QAAQs7B,KAAO,EAAG,CAOnB,IALA6G,EAAmB19B,EAAEzE,QAAQw7B,aAAe/2B,EAAEzE,QAAQs7B,KACtD2G,EAAcnrC,KAAKgqC,KACfoB,EAAevyC,OAASwyC,GAGxBr2C,EAAI,EAAGA,EAAIm2C,EAAan2C,IAAI,CAC5B,GAAIyvC,GAAQ9qC,SAAS1D,cAAc,MACnC,KAAIhB,EAAI,EAAGA,EAAI0Y,EAAEzE,QAAQs7B,KAAMvvC,IAAK,CAChC,GAAIq2C,GAAM3xC,SAAS1D,cAAc,MACjC,KAAIf,EAAI,EAAGA,EAAIyY,EAAEzE,QAAQw7B,aAAcxvC,IAAK,CACxC,GAAIkqB,GAAUpqB,EAAIq2C,GAAqBp2C,EAAI0Y,EAAEzE,QAAQw7B,aAAgBxvC,EACjEk2C,GAAet7B,IAAIsP,IACnBksB,EAAI3yC,YAAYyyC,EAAet7B,IAAIsP,IAG3CqlB,EAAM9rC,YAAY2yC,GAEtBJ,EAAUvyC,YAAY8rC,GAG1B92B,EAAE+5B,QAAQ7xB,QAAQwS,OAAO6iB,GACzBv9B,EAAE+5B,QAAQtmB,WAAWA,WAAWA,WAC3BzY,KACGlO,MAAS,IAAMkT,EAAEzE,QAAQw7B,aAAgB,IACzC5vB,QAAW,mBAO3B0tB,EAAM5rC,UAAU20C,gBAAkB,SAASC,EAASC,GAEhD,GACIpO,GAAYqO,EAAkBC,EAD9Bh+B,EAAI5W,KAC0C60C,GAAoB,EAClEC,EAAcl+B,EAAE+5B,QAAQjtC,QACxBstC,EAAcjzC,OAAOoL,YAAcgQ,EAAEpb,QAAQ2F,OAUjD,IARoB,WAAhBkT,EAAE22B,UACFqH,EAAiB5D,EACM,WAAhBp6B,EAAE22B,UACTqH,EAAiBE,EACM,QAAhBl+B,EAAE22B,YACTqH,EAAiB3rC,KAAK8rC,IAAI/D,EAAa8D,IAGtCl+B,EAAEzE,QAAQq7B,YACX52B,EAAEzE,QAAQq7B,WAAW1rC,QACI,OAAzB8U,EAAEzE,QAAQq7B,WAAqB,CAE/BmH,EAAmB,IAEnB,KAAKrO,IAAc1vB,GAAEs5B,YACbt5B,EAAEs5B,YAAYxwC,eAAe4mC,KACzB1vB,EAAEs6B,iBAAiB/D,eAAgB,EAC/ByH,EAAiBh+B,EAAEs5B,YAAY5J,KAC/BqO,EAAmB/9B,EAAEs5B,YAAY5J,IAGjCsO,EAAiBh+B,EAAEs5B,YAAY5J,KAC/BqO,EAAmB/9B,EAAEs5B,YAAY5J,IAMxB,QAArBqO,EAC2B,OAAvB/9B,EAAEm5B,kBACE4E,IAAqB/9B,EAAEm5B,kBAAoB2E,KAC3C99B,EAAEm5B,iBACE4E,EAC2C,YAA3C/9B,EAAEu5B,mBAAmBwE,GACrB/9B,EAAEo+B,QAAQL,IAEV/9B,EAAEzE,QAAUgH,EAAE2B,UAAWlE,EAAEs6B,iBACvBt6B,EAAEu5B,mBACEwE,IACJF,KAAY,IACZ79B,EAAEi4B,aAAej4B,EAAEzE,QAAQ86B,cAE/Br2B,EAAEq+B,QAAQR,IAEdI,EAAoBF,IAGxB/9B,EAAEm5B,iBAAmB4E,EAC0B,YAA3C/9B,EAAEu5B,mBAAmBwE,GACrB/9B,EAAEo+B,QAAQL,IAEV/9B,EAAEzE,QAAUgH,EAAE2B,UAAWlE,EAAEs6B,iBACvBt6B,EAAEu5B,mBACEwE,IACJF,KAAY,IACZ79B,EAAEi4B,aAAej4B,EAAEzE,QAAQ86B,cAE/Br2B,EAAEq+B,QAAQR,IAEdI,EAAoBF,GAGG,OAAvB/9B,EAAEm5B,mBACFn5B,EAAEm5B,iBAAmB,KACrBn5B,EAAEzE,QAAUyE,EAAEs6B,iBACVuD,KAAY,IACZ79B,EAAEi4B,aAAej4B,EAAEzE,QAAQ86B,cAE/Br2B,EAAEq+B,QAAQR,GACVI,EAAoBF,GAKvBF,GAAWI,KAAsB,GAClCj+B,EAAE+5B,QAAQtgB,QAAQ,cAAezZ,EAAGi+B,MAMhDpJ,EAAM5rC,UAAU2xC,YAAc,SAASr3B,EAAO+6B,GAE1C,GAEIC,GAAa1F,EAAa2F,EAF1Bx+B,EAAI5W,KACJq1C,EAAUl8B,EAAEgB,EAAMyU,cAgBtB,QAZGymB,EAAQlrB,GAAG,MACVhQ,EAAM8U,iBAINomB,EAAQlrB,GAAG,QACXkrB,EAAUA,EAAQ7qB,QAAQ,OAG9B4qB,EAAgBx+B,EAAEw4B,WAAax4B,EAAEzE,QAAQ07B,iBAAmB,EAC5DsH,EAAcC,EAAe,GAAKx+B,EAAEw4B,WAAax4B,EAAEi4B,cAAgBj4B,EAAEzE,QAAQ07B,eAErE1zB,EAAM3W,KAAKuP,SAEf,IAAK,WACD08B,EAA8B,IAAhB0F,EAAoBv+B,EAAEzE,QAAQ07B,eAAiBj3B,EAAEzE,QAAQy7B,aAAeuH,EAClFv+B,EAAEw4B,WAAax4B,EAAEzE,QAAQy7B,cACzBh3B,EAAE08B,aAAa18B,EAAEi4B,aAAeY,GAAa,EAAOyF,EAExD,MAEJ,KAAK,OACDzF,EAA8B,IAAhB0F,EAAoBv+B,EAAEzE,QAAQ07B,eAAiBsH,EACzDv+B,EAAEw4B,WAAax4B,EAAEzE,QAAQy7B,cACzBh3B,EAAE08B,aAAa18B,EAAEi4B,aAAeY,GAAa,EAAOyF,EAExD,MAEJ,KAAK,QACD,GAAIzjC,GAA6B,IAArB0I,EAAM3W,KAAKiO,MAAc,EACjC0I,EAAM3W,KAAKiO,OAAS4jC,EAAQ5jC,QAAUmF,EAAEzE,QAAQ07B,cAEpDj3B,GAAE08B,aAAa18B,EAAE0+B,eAAe7jC,IAAQ,EAAOyjC,GAC/CG,EAAQhrB,WAAWgG,QAAQ,QAC3B,MAEJ,SACI,SAKZob,EAAM5rC,UAAUy1C,eAAiB,SAAS7jC,GAEtC,GACI8jC,GAAYC,EADZ5+B,EAAI5W,IAKR,IAFAu1C,EAAa3+B,EAAE6+B,sBACfD,EAAgB,EACZ/jC,EAAQ8jC,EAAWA,EAAWzzC,OAAS,GACvC2P,EAAQ8jC,EAAWA,EAAWzzC,OAAS,OAEvC,KAAK,GAAIX,KAAKo0C,GAAY,CACtB,GAAI9jC,EAAQ8jC,EAAWp0C,GAAI,CACvBsQ,EAAQ+jC,CACR,OAEJA,EAAgBD,EAAWp0C,GAInC,MAAOsQ,IAGXg6B,EAAM5rC,UAAU61C,cAAgB,WAE5B,GAAI9+B,GAAI5W,IAEJ4W,GAAEzE,QAAQu6B,MAAoB,OAAZ91B,EAAEk4B,OAEpB31B,EAAE,KAAMvC,EAAEk4B,OACL70B,IAAI,cAAerD,EAAE46B,aACrBv3B,IAAI,mBAAoBd,EAAE+H,MAAMtK,EAAE++B,UAAW/+B,GAAG,IAChDqD,IAAI,mBAAoBd,EAAE+H,MAAMtK,EAAE++B,UAAW/+B,GAAG,IAIzDA,EAAE+5B,QAAQ12B,IAAI,0BAEVrD,EAAEzE,QAAQ45B,UAAW,GAAQn1B,EAAEw4B,WAAax4B,EAAEzE,QAAQy7B,eACtDh3B,EAAEu4B,YAAcv4B,EAAEu4B,WAAWl1B,IAAI,cAAerD,EAAE46B,aAClD56B,EAAEs4B,YAAct4B,EAAEs4B,WAAWj1B,IAAI,cAAerD,EAAE46B,cAGtD56B,EAAE+4B,MAAM11B,IAAI,mCAAoCrD,EAAEg7B,cAClDh7B,EAAE+4B,MAAM11B,IAAI,kCAAmCrD,EAAEg7B,cACjDh7B,EAAE+4B,MAAM11B,IAAI,+BAAgCrD,EAAEg7B,cAC9Ch7B,EAAE+4B,MAAM11B,IAAI,qCAAsCrD,EAAEg7B,cAEpDh7B,EAAE+4B,MAAM11B,IAAI,cAAerD,EAAE66B,cAE7Bt4B,EAAEvW,UAAUqX,IAAIrD,EAAEm6B,iBAAkBn6B,EAAEmc,YAEtCnc,EAAEg/B,qBAEEh/B,EAAEzE,QAAQw5B,iBAAkB,GAC5B/0B,EAAE+4B,MAAM11B,IAAI,gBAAiBrD,EAAEk7B,YAG/Bl7B,EAAEzE,QAAQ46B,iBAAkB,GAC5B5zB,EAAEvC,EAAE04B,aAAajlB,WAAWpQ,IAAI,cAAerD,EAAE86B,eAGrDv4B,EAAEpb,QAAQkc,IAAI,iCAAmCrD,EAAEm7B,YAAan7B,EAAEi/B,mBAElE18B,EAAEpb,QAAQkc,IAAI,sBAAwBrD,EAAEm7B,YAAan7B,EAAEiwB,QAEvD1tB,EAAE,oBAAqBvC,EAAE04B,aAAar1B,IAAI,YAAarD,EAAEqY,gBAEzD9V,EAAEpb,QAAQkc,IAAI,oBAAsBrD,EAAEm7B,YAAan7B,EAAE+6B,aACrDx4B,EAAEvW,UAAUqX,IAAI,qBAAuBrD,EAAEm7B,YAAan7B,EAAE+6B,cAI5DlG,EAAM5rC,UAAU+1C,mBAAqB,WAEjC,GAAIh/B,GAAI5W,IAER4W,GAAE+4B,MAAM11B,IAAI,mBAAoBd,EAAE+H,MAAMtK,EAAE++B,UAAW/+B,GAAG,IACxDA,EAAE+4B,MAAM11B,IAAI,mBAAoBd,EAAE+H,MAAMtK,EAAE++B,UAAW/+B,GAAG,KAI5D60B,EAAM5rC,UAAUi2C,YAAc,WAE1B,GAAczB,GAAVz9B,EAAI5W,IAEL4W,GAAEzE,QAAQs7B,KAAO,IAChB4G,EAAiBz9B,EAAE24B,QAAQllB,WAAWA,WACtCgqB,EAAexd,WAAW,SAC1BjgB,EAAE+5B,QAAQ7xB,QAAQwS,OAAO+iB,KAKjC5I,EAAM5rC,UAAU4xC,aAAe,SAASt3B,GAEpC,GAAIvD,GAAI5W,IAEJ4W,GAAE85B,eAAgB,IAClBv2B,EAAM2W,2BACN3W,EAAM+U,kBACN/U,EAAM8U,mBAKdwc,EAAM5rC,UAAUk2C,QAAU,SAASd,GAE/B,GAAIr+B,GAAI5W,IAER4W,GAAE06B,gBAEF16B,EAAEg5B,eAEFh5B,EAAE8+B,gBAEFv8B,EAAE,gBAAiBvC,EAAE+5B,SAAS30B,SAE1BpF,EAAEk4B,OACFl4B,EAAEk4B,MAAMpvB,SAIP9I,EAAEu4B,YAAcv4B,EAAEu4B,WAAWrtC,SAE9B8U,EAAEu4B,WACG5X,YAAY,2CACZV,WAAW,sCACXjlB,IAAI,UAAU,IAEdgF,EAAEo7B,SAASzwC,KAAMqV,EAAEzE,QAAQ85B,YAC5Br1B,EAAEu4B,WAAWzvB,UAIhB9I,EAAEs4B,YAAct4B,EAAEs4B,WAAWptC,SAE9B8U,EAAEs4B,WACG3X,YAAY,2CACZV,WAAW,sCACXjlB,IAAI,UAAU,IAEdgF,EAAEo7B,SAASzwC,KAAMqV,EAAEzE,QAAQ+5B,YAC5Bt1B,EAAEs4B,WAAWxvB,UAMjB9I,EAAE24B,UAEF34B,EAAE24B,QACGhY,YAAY,qEACZV,WAAW,eACXA,WAAW,oBACXpf,KAAK,WACF0B,EAAEnZ,MAAMknB,KAAK,QAAS/N,EAAEnZ,MAAMwD,KAAK,sBAG3CoT,EAAE04B,YAAYjlB,SAASrqB,KAAKmS,QAAQu7B,OAAO1xB,SAE3CpF,EAAE04B,YAAYtzB,SAEdpF,EAAE+4B,MAAM3zB,SAERpF,EAAE+5B,QAAQrf,OAAO1a,EAAE24B,UAGvB34B,EAAEk/B,cAEFl/B,EAAE+5B,QAAQpZ,YAAY,gBACtB3gB,EAAE+5B,QAAQpZ,YAAY,qBACtB3gB,EAAE+5B,QAAQpZ,YAAY,gBAEtB3gB,EAAEk5B,WAAY,EAEVmF,GACAr+B,EAAE+5B,QAAQtgB,QAAQ,WAAYzZ,KAKtC60B,EAAM5rC,UAAUszC,kBAAoB,SAASzF,GAEzC,GAAI92B,GAAI5W,KACJuzC,IAEJA,GAAW38B,EAAEk6B,gBAAkB,GAE3Bl6B,EAAEzE,QAAQ26B,QAAS,EACnBl2B,EAAE04B,YAAY19B,IAAI2hC,GAElB38B,EAAE24B,QAAQl0B,GAAGqyB,GAAO97B,IAAI2hC,IAKhC9H,EAAM5rC,UAAUm2C,UAAY,SAASC,EAAY1wC,GAE7C,GAAIqR,GAAI5W,IAEJ4W,GAAEw5B,kBAAmB,GAErBx5B,EAAE24B,QAAQl0B,GAAG46B,GAAYrkC,KACrBgiB,OAAQhd,EAAEzE,QAAQyhB,SAGtBhd,EAAE24B,QAAQl0B,GAAG46B,GAAY1gB,SACrBjX,QAAS,GACV1H,EAAEzE,QAAQgjB,MAAOve,EAAEzE,QAAQwO,OAAQpb,KAItCqR,EAAEs8B,gBAAgB+C,GAElBr/B,EAAE24B,QAAQl0B,GAAG46B,GAAYrkC,KACrB0M,QAAS,EACTsV,OAAQhd,EAAEzE,QAAQyhB,SAGlBruB,GACArB,WAAW,WAEP0S,EAAEu8B,kBAAkB8C,GAEpB1wC,EAAS5F,QACViX,EAAEzE,QAAQgjB,SAOzBsW,EAAM5rC,UAAUq2C,aAAe,SAASD,GAEpC,GAAIr/B,GAAI5W,IAEJ4W,GAAEw5B,kBAAmB,EAErBx5B,EAAE24B,QAAQl0B,GAAG46B,GAAY1gB,SACrBjX,QAAS,EACTsV,OAAQhd,EAAEzE,QAAQyhB,OAAS,GAC5Bhd,EAAEzE,QAAQgjB,MAAOve,EAAEzE,QAAQwO,SAI9B/J,EAAEs8B,gBAAgB+C,GAElBr/B,EAAE24B,QAAQl0B,GAAG46B,GAAYrkC,KACrB0M,QAAS,EACTsV,OAAQhd,EAAEzE,QAAQyhB,OAAS,MAOvC6X,EAAM5rC,UAAUs2C,aAAe1K,EAAM5rC,UAAUu2C,YAAc,SAAS9+B,GAElE,GAAIV,GAAI5W,IAEO,QAAXsX,IAEAV,EAAEg6B,aAAeh6B,EAAE24B,QAEnB34B,EAAE67B,SAEF77B,EAAE04B,YAAYjlB,SAASrqB,KAAKmS,QAAQu7B,OAAO1xB,SAE3CpF,EAAEg6B,aAAat5B,OAAOA,GAAQyE,SAASnF,EAAE04B,aAEzC14B,EAAE87B,WAMVjH,EAAM5rC,UAAUw2C,aAAe,WAE3B,GAAIz/B,GAAI5W,IAER4W,GAAE+5B,QACG12B,IAAI,0BACJjJ,GAAG,yBACA,sBAAuB,SAASmJ,GAEpCA,EAAM2W,0BACN,IAAIwlB,GAAMn9B,EAAEnZ,KAEZkE,YAAW,WAEH0S,EAAEzE,QAAQk7B,eACVz2B,EAAEy5B,SAAWiG,EAAInsB,GAAG,UACpBvT,EAAEy6B,aAGP,MAKX5F,EAAM5rC,UAAU02C,WAAa9K,EAAM5rC,UAAU22C,kBAAoB,WAE7D,GAAI5/B,GAAI5W,IACR,OAAO4W,GAAEi4B,cAIbpD,EAAM5rC,UAAUg0C,YAAc,WAE1B,GAAIj9B,GAAI5W,KAEJy2C,EAAa,EACbC,EAAU,EACVC,EAAW,CAEf,IAAI//B,EAAEzE,QAAQ66B,YAAa,EACvB,KAAOyJ,EAAa7/B,EAAEw4B,cAChBuH,EACFF,EAAaC,EAAU9/B,EAAEzE,QAAQ07B,eACjC6I,GAAW9/B,EAAEzE,QAAQ07B,gBAAkBj3B,EAAEzE,QAAQy7B,aAAeh3B,EAAEzE,QAAQ07B,eAAiBj3B,EAAEzE,QAAQy7B,iBAEtG,IAAIh3B,EAAEzE,QAAQk6B,cAAe,EAChCsK,EAAW//B,EAAEw4B,eACV,IAAIx4B,EAAEzE,QAAQ65B,SAGjB,KAAOyK,EAAa7/B,EAAEw4B,cAChBuH,EACFF,EAAaC,EAAU9/B,EAAEzE,QAAQ07B,eACjC6I,GAAW9/B,EAAEzE,QAAQ07B,gBAAkBj3B,EAAEzE,QAAQy7B,aAAeh3B,EAAEzE,QAAQ07B,eAAiBj3B,EAAEzE,QAAQy7B,iBALzG+I,GAAW,EAAI1tC,KAAKgqC,MAAMr8B,EAAEw4B,WAAax4B,EAAEzE,QAAQy7B,cAAgBh3B,EAAEzE,QAAQ07B,eASjF,OAAO8I,GAAW,GAItBlL,EAAM5rC,UAAU+2C,QAAU,SAASX,GAE/B,GACInD,GACA+D,EAEAC,EAJAlgC,EAAI5W,KAGJ+2C,EAAiB,CAsFrB,OAnFAngC,GAAE64B,YAAc,EAChBoH,EAAiBjgC,EAAE24B,QAAQnsB,QAAQ0iB,aAAY,GAE3ClvB,EAAEzE,QAAQ66B,YAAa,GACnBp2B,EAAEw4B,WAAax4B,EAAEzE,QAAQy7B,eACzBh3B,EAAE64B,YAAe74B,EAAEy4B,WAAaz4B,EAAEzE,QAAQy7B,cAAgB,EAC1DmJ,EAAkBF,EAAiBjgC,EAAEzE,QAAQy7B,cAAgB,GAE7Dh3B,EAAEw4B,WAAax4B,EAAEzE,QAAQ07B,iBAAmB,GACxCoI,EAAar/B,EAAEzE,QAAQ07B,eAAiBj3B,EAAEw4B,YAAcx4B,EAAEw4B,WAAax4B,EAAEzE,QAAQy7B,eAC7EqI,EAAar/B,EAAEw4B,YACfx4B,EAAE64B,aAAgB74B,EAAEzE,QAAQy7B,cAAgBqI,EAAar/B,EAAEw4B,aAAex4B,EAAEy4B,YAAc,EAC1F0H,GAAmBngC,EAAEzE,QAAQy7B,cAAgBqI,EAAar/B,EAAEw4B,aAAeyH,GAAkB,IAE7FjgC,EAAE64B,YAAgB74B,EAAEw4B,WAAax4B,EAAEzE,QAAQ07B,eAAkBj3B,EAAEy4B,YAAc,EAC7E0H,EAAmBngC,EAAEw4B,WAAax4B,EAAEzE,QAAQ07B,eAAkBgJ,GAAkB,KAKxFZ,EAAar/B,EAAEzE,QAAQy7B,aAAeh3B,EAAEw4B,aACxCx4B,EAAE64B,aAAgBwG,EAAar/B,EAAEzE,QAAQy7B,aAAgBh3B,EAAEw4B,YAAcx4B,EAAEy4B,WAC3E0H,GAAmBd,EAAar/B,EAAEzE,QAAQy7B,aAAgBh3B,EAAEw4B,YAAcyH,GAI9EjgC,EAAEw4B,YAAcx4B,EAAEzE,QAAQy7B,eAC1Bh3B,EAAE64B,YAAc,EAChBsH,EAAiB,GAGjBngC,EAAEzE,QAAQk6B,cAAe,GAAQz1B,EAAEzE,QAAQ66B,YAAa,EACxDp2B,EAAE64B,aAAe74B,EAAEy4B,WAAapmC,KAAKkiC,MAAMv0B,EAAEzE,QAAQy7B,aAAe,GAAKh3B,EAAEy4B,WACpEz4B,EAAEzE,QAAQk6B,cAAe,IAChCz1B,EAAE64B,YAAc,EAChB74B,EAAE64B,aAAe74B,EAAEy4B,WAAapmC,KAAKkiC,MAAMv0B,EAAEzE,QAAQy7B,aAAe,IAIpEkF,EADAl8B,EAAEzE,QAAQk8B,YAAa,EACR4H,EAAar/B,EAAEy4B,YAAc,EAAMz4B,EAAE64B,YAErCwG,EAAaY,GAAkB,EAAME,EAGpDngC,EAAEzE,QAAQi8B,iBAAkB,IAGxB0I,EADAlgC,EAAEw4B,YAAcx4B,EAAEzE,QAAQy7B,cAAgBh3B,EAAEzE,QAAQ66B,YAAa,EACnDp2B,EAAE04B,YAAYjlB,SAAS,gBAAgBhP,GAAG46B,GAE1Cr/B,EAAE04B,YAAYjlB,SAAS,gBAAgBhP,GAAG46B,EAAar/B,EAAEzE,QAAQy7B,cAK3EkF,EAFJl8B,EAAEzE,QAAQmwB,OAAQ,EACdwU,EAAY,IACElgC,EAAE04B,YAAY5rC,QAAUozC,EAAY,GAAGE,WAAaF,EAAYpzC,UAAW,EAE3E,EAGLozC,EAAY,GAAKA,EAAY,GAAGE,YAAa,EAAK,EAG/DpgC,EAAEzE,QAAQk6B,cAAe,IAErByK,EADAlgC,EAAEw4B,YAAcx4B,EAAEzE,QAAQy7B,cAAgBh3B,EAAEzE,QAAQ66B,YAAa,EACnDp2B,EAAE04B,YAAYjlB,SAAS,gBAAgBhP,GAAG46B,GAE1Cr/B,EAAE04B,YAAYjlB,SAAS,gBAAgBhP,GAAG46B,EAAar/B,EAAEzE,QAAQy7B,aAAe,GAK1FkF,EAFJl8B,EAAEzE,QAAQmwB,OAAQ,EACdwU,EAAY,IACElgC,EAAE04B,YAAY5rC,QAAUozC,EAAY,GAAGE,WAAaF,EAAYpzC,UAAW,EAE3E,EAGLozC,EAAY,GAAKA,EAAY,GAAGE,YAAa,EAAK,EAGnElE,IAAel8B,EAAE+4B,MAAMjsC,QAAUozC,EAAYlN,cAAgB,IAI9DkJ,GAIXrH,EAAM5rC,UAAUo3C,UAAYxL,EAAM5rC,UAAUq3C,eAAiB,SAASpqB,GAElE,GAAIlW,GAAI5W,IAER,OAAO4W,GAAEzE,QAAQ2a,IAIrB2e,EAAM5rC,UAAU41C,oBAAsB,WAElC,GAIIvsC,GAJA0N,EAAI5W,KACJy2C,EAAa,EACbC,EAAU,EACVS,IAWJ,KARIvgC,EAAEzE,QAAQ66B,YAAa,EACvB9jC,EAAM0N,EAAEw4B,YAERqH,EAAa7/B,EAAEzE,QAAQ07B,gBAAiB,EACxC6I,EAAU9/B,EAAEzE,QAAQ07B,gBAAiB,EACrC3kC,EAAqB,EAAf0N,EAAEw4B,YAGLqH,EAAavtC,GAChBiuC,EAAQ32C,KAAKi2C,GACbA,EAAaC,EAAU9/B,EAAEzE,QAAQ07B,eACjC6I,GAAW9/B,EAAEzE,QAAQ07B,gBAAkBj3B,EAAEzE,QAAQy7B,aAAeh3B,EAAEzE,QAAQ07B,eAAiBj3B,EAAEzE,QAAQy7B,YAGzG,OAAOuJ,IAIX1L,EAAM5rC,UAAUu3C,SAAW,WAEvB,MAAOp3C,OAIXyrC,EAAM5rC,UAAUw3C,cAAgB,WAE5B,GACIC,GAAiBC,EAAaC,EAD9B5gC,EAAI5W,IAKR,OAFAw3C,GAAe5gC,EAAEzE,QAAQk6B,cAAe,EAAOz1B,EAAEy4B,WAAapmC,KAAKkiC,MAAMv0B,EAAEzE,QAAQy7B,aAAe,GAAK,EAEnGh3B,EAAEzE,QAAQ47B,gBAAiB,GAC3Bn3B,EAAE04B,YAAYvqB,KAAK,gBAAgBtN,KAAK,SAAShG,EAAOi8B,GACpD,GAAIA,EAAMsJ,WAAaQ,EAAgBr+B,EAAEu0B,GAAO9D,aAAe,EAAMhzB,EAAE84B,WAAY,EAE/E,MADA6H,GAAc7J,GACP,IAIf4J,EAAkBruC,KAAKggC,IAAI9vB,EAAEo+B,GAAarwB,KAAK,oBAAsBtQ,EAAEi4B,eAAiB,GAKjFj4B,EAAEzE,QAAQ07B,gBAKzBpC,EAAM5rC,UAAU43C,KAAOhM,EAAM5rC,UAAU63C,UAAY,SAAShK,EAAOwH,GAE/D,GAAIt+B,GAAI5W,IAER4W,GAAE46B,aACEhuC,MACIuP,QAAS,QACTtB,MAAOnE,SAASogC,KAErBwH,IAIPzJ,EAAM5rC,UAAUiI,KAAO,SAAS6vC,GAE5B,GAAI/gC,GAAI5W,IAEHmZ,GAAEvC,EAAE+5B,SAASlZ,SAAS,uBAEvBte,EAAEvC,EAAE+5B,SAASrZ,SAAS,qBAEtB1gB,EAAEs9B,YACFt9B,EAAEk9B,WACFl9B,EAAEghC,WACFhhC,EAAE+yB,YACF/yB,EAAEihC,aACFjhC,EAAEkhC,mBACFlhC,EAAEmhC,eACFnhC,EAAEo9B,aACFp9B,EAAE49B,iBAAgB,GAClB59B,EAAEy/B,gBAIFsB,GACA/gC,EAAE+5B,QAAQtgB,QAAQ,QAASzZ,IAG3BA,EAAEzE,QAAQw5B,iBAAkB,GAC5B/0B,EAAEohC,UAGDphC,EAAEzE,QAAQg6B,WAEXv1B,EAAE25B,QAAS,EACX35B,EAAEy6B,aAMV5F,EAAM5rC,UAAUm4C,QAAU,WACtB,GAAIphC,GAAI5W,IACR4W,GAAE24B,QAAQn1B,IAAIxD,EAAE04B,YAAYvqB,KAAK,kBAAkBmC,MAC/CirB,cAAe,OACfC,SAAY,OACbrtB,KAAK,4BAA4BmC,MAChCkrB,SAAY,OAGhBx7B,EAAE04B,YAAYpoB,KAAK,OAAQ,WAE3BtQ,EAAE24B,QAAQtnB,IAAIrR,EAAE04B,YAAYvqB,KAAK,kBAAkBtN,KAAK,SAASxY,GAC7Dka,EAAEnZ,MAAMknB,MACJ+wB,KAAQ,SACRC,mBAAoB,cAAgBthC,EAAEm7B,YAAc9yC,MAI5C,OAAZ2X,EAAEk4B,OACFl4B,EAAEk4B,MAAM5nB,KAAK,OAAQ,WAAWnC,KAAK,MAAMtN,KAAK,SAASxY,GACrDka,EAAEnZ,MAAMknB,MACJ+wB,KAAQ,eACRE,gBAAiB,QACjBC,gBAAiB,aAAexhC,EAAEm7B,YAAc9yC,EAChDklB,GAAM,cAAgBvN,EAAEm7B,YAAc9yC,MAGzCmkB,QAAQ8D,KAAK,gBAAiB,QAAQvO,MACtCoM,KAAK,UAAUmC,KAAK,OAAQ,UAAUvO,MACtC6R,QAAQ,OAAOtD,KAAK,OAAQ,WAErCtQ,EAAEs7B,eAINzG,EAAM5rC,UAAUw4C,gBAAkB,WAE9B,GAAIzhC,GAAI5W,IAEJ4W,GAAEzE,QAAQ45B,UAAW,GAAQn1B,EAAEw4B,WAAax4B,EAAEzE,QAAQy7B,eACtDh3B,EAAEu4B,WACEl1B,IAAI,eACJjJ,GAAG,eACC+B,QAAS,YACX6D,EAAE46B,aACR56B,EAAEs4B,WACEj1B,IAAI,eACJjJ,GAAG,eACC+B,QAAS,QACX6D,EAAE46B,eAKhB/F,EAAM5rC,UAAUy4C,cAAgB,WAE5B,GAAI1hC,GAAI5W,IAEJ4W,GAAEzE,QAAQu6B,QAAS,GAAQ91B,EAAEw4B,WAAax4B,EAAEzE,QAAQy7B,cACpDz0B,EAAE,KAAMvC,EAAEk4B,OAAO99B,GAAG,eAChB+B,QAAS,SACV6D,EAAE46B,aAGJ56B,EAAEzE,QAAQu6B,QAAS,GAAQ91B,EAAEzE,QAAQm7B,oBAAqB,GAE3Dn0B,EAAE,KAAMvC,EAAEk4B,OACL99B,GAAG,mBAAoBmI,EAAE+H,MAAMtK,EAAE++B,UAAW/+B,GAAG,IAC/C5F,GAAG,mBAAoBmI,EAAE+H,MAAMtK,EAAE++B,UAAW/+B,GAAG,KAM5D60B,EAAM5rC,UAAU04C,gBAAkB,WAE9B,GAAI3hC,GAAI5W,IAEH4W,GAAEzE,QAAQi7B,eAEXx2B,EAAE+4B,MAAM3+B,GAAG,mBAAoBmI,EAAE+H,MAAMtK,EAAE++B,UAAW/+B,GAAG,IACvDA,EAAE+4B,MAAM3+B,GAAG,mBAAoBmI,EAAE+H,MAAMtK,EAAE++B,UAAW/+B,GAAG,MAM/D60B,EAAM5rC,UAAUi4C,iBAAmB,WAE/B,GAAIlhC,GAAI5W,IAER4W,GAAEyhC,kBAEFzhC,EAAE0hC,gBACF1hC,EAAE2hC,kBAEF3hC,EAAE+4B,MAAM3+B,GAAG,oCACPwnC,OAAQ,SACT5hC,EAAEg7B,cACLh7B,EAAE+4B,MAAM3+B,GAAG,mCACPwnC,OAAQ,QACT5hC,EAAEg7B,cACLh7B,EAAE+4B,MAAM3+B,GAAG,gCACPwnC,OAAQ,OACT5hC,EAAEg7B,cACLh7B,EAAE+4B,MAAM3+B,GAAG,sCACPwnC,OAAQ,OACT5hC,EAAEg7B,cAELh7B,EAAE+4B,MAAM3+B,GAAG,cAAe4F,EAAE66B,cAE5Bt4B,EAAEvW,UAAUoO,GAAG4F,EAAEm6B,iBAAkB53B,EAAE+H,MAAMtK,EAAEmc,WAAYnc,IAErDA,EAAEzE,QAAQw5B,iBAAkB,GAC5B/0B,EAAE+4B,MAAM3+B,GAAG,gBAAiB4F,EAAEk7B,YAG9Bl7B,EAAEzE,QAAQ46B,iBAAkB,GAC5B5zB,EAAEvC,EAAE04B,aAAajlB,WAAWrZ,GAAG,cAAe4F,EAAE86B,eAGpDv4B,EAAEpb,QAAQiT,GAAG,iCAAmC4F,EAAEm7B,YAAa54B,EAAE+H,MAAMtK,EAAEi/B,kBAAmBj/B,IAE5FuC,EAAEpb,QAAQiT,GAAG,sBAAwB4F,EAAEm7B,YAAa54B,EAAE+H,MAAMtK,EAAEiwB,OAAQjwB,IAEtEuC,EAAE,oBAAqBvC,EAAE04B,aAAat+B,GAAG,YAAa4F,EAAEqY,gBAExD9V,EAAEpb,QAAQiT,GAAG,oBAAsB4F,EAAEm7B,YAAan7B,EAAE+6B,aACpDx4B,EAAEvW,UAAUoO,GAAG,qBAAuB4F,EAAEm7B,YAAan7B,EAAE+6B,cAI3DlG,EAAM5rC,UAAU44C,OAAS,WAErB,GAAI7hC,GAAI5W,IAEJ4W,GAAEzE,QAAQ45B,UAAW,GAAQn1B,EAAEw4B,WAAax4B,EAAEzE,QAAQy7B,eAEtDh3B,EAAEu4B,WAAW5vB,OACb3I,EAAEs4B,WAAW3vB,QAIb3I,EAAEzE,QAAQu6B,QAAS,GAAQ91B,EAAEw4B,WAAax4B,EAAEzE,QAAQy7B,cAEpDh3B,EAAEk4B,MAAMvvB,QAMhBksB,EAAM5rC,UAAUiyC,WAAa,SAAS33B,GAElC,GAAIvD,GAAI5W,IAEJma,GAAMkO,OAAOqwB,QAAQlyC,MAAM,2BACL,KAAlB2T,EAAMsV,SAAkB7Y,EAAEzE,QAAQw5B,iBAAkB,EACpD/0B,EAAE46B,aACEhuC,MACIuP,QAAS6D,EAAEzE,QAAQmwB,OAAQ,EAAO,OAAU,cAG3B,KAAlBnoB,EAAMsV,SAAkB7Y,EAAEzE,QAAQw5B,iBAAkB,GAC3D/0B,EAAE46B,aACEhuC,MACIuP,QAAS6D,EAAEzE,QAAQmwB,OAAQ,EAAO,WAAa,YAQnEmJ,EAAM5rC,UAAUqtC,SAAW,WAKvB,QAASyL,GAAWC,GAEhBz/B,EAAE,iBAAkBy/B,GAAanhC,KAAK,WAElC,GAAIpP,GAAQ8Q,EAAEnZ,MACV64C,EAAc1/B,EAAEnZ,MAAMknB,KAAK,aAC3B4xB,EAAcl2C,SAAS1D,cAAc,MAEzC45C,GAAY31C,OAAS,WAEjBkF,EACKktB,SAAUjX,QAAS,GAAK,IAAK,WAC1BjW,EACK6e,KAAK,MAAO2xB,GACZtjB,SAAUjX,QAAS,GAAK,IAAK,WAC1BjW,EACKwuB,WAAW,aACXU,YAAY,mBAEzB3gB,EAAE+5B,QAAQtgB,QAAQ,cAAezZ,EAAGvO,EAAOwwC,OAKvDC,EAAYl1C,QAAU,WAElByE,EACKwuB,WAAY,aACZU,YAAa,iBACbD,SAAU,wBAEf1gB,EAAE+5B,QAAQtgB,QAAQ,iBAAmBzZ,EAAGvO,EAAOwwC,KAInDC,EAAYr1C,IAAMo1C,IAtC1B,GACIE,GAAWC,EAAYC,EAAYC,EADnCtiC,EAAI5W,IA4CJ4W,GAAEzE,QAAQk6B,cAAe,EACrBz1B,EAAEzE,QAAQ66B,YAAa,GACvBiM,EAAariC,EAAEi4B,cAAgBj4B,EAAEzE,QAAQy7B,aAAe,EAAI,GAC5DsL,EAAWD,EAAariC,EAAEzE,QAAQy7B,aAAe,IAEjDqL,EAAahwC,KAAKC,IAAI,EAAG0N,EAAEi4B,cAAgBj4B,EAAEzE,QAAQy7B,aAAe,EAAI,IACxEsL,EAAW,GAAKtiC,EAAEzE,QAAQy7B,aAAe,EAAI,GAAKh3B,EAAEi4B,eAGxDoK,EAAariC,EAAEzE,QAAQ66B,SAAWp2B,EAAEzE,QAAQy7B,aAAeh3B,EAAEi4B,aAAej4B,EAAEi4B,aAC9EqK,EAAWjwC,KAAKgqC,KAAKgG,EAAariC,EAAEzE,QAAQy7B,cACxCh3B,EAAEzE,QAAQ26B,QAAS,IACfmM,EAAa,GAAGA,IAChBC,GAAYtiC,EAAEw4B,YAAY8J,MAItCH,EAAYniC,EAAE+5B,QAAQ5rB,KAAK,gBAAgBvlB,MAAMy5C,EAAYC,GAC7DP,EAAWI,GAEPniC,EAAEw4B,YAAcx4B,EAAEzE,QAAQy7B,cAC1BoL,EAAapiC,EAAE+5B,QAAQ5rB,KAAK,gBAC5B4zB,EAAWK,IAEXpiC,EAAEi4B,cAAgBj4B,EAAEw4B,WAAax4B,EAAEzE,QAAQy7B,cAC3CoL,EAAapiC,EAAE+5B,QAAQ5rB,KAAK,iBAAiBvlB,MAAM,EAAGoX,EAAEzE,QAAQy7B,cAChE+K,EAAWK,IACe,IAAnBpiC,EAAEi4B,eACTmK,EAAapiC,EAAE+5B,QAAQ5rB,KAAK,iBAAiBvlB,MAAMoX,EAAEzE,QAAQy7B,cAAe,GAC5E+K,EAAWK,KAKnBvN,EAAM5rC,UAAUg4C,WAAa,WAEzB,GAAIjhC,GAAI5W,IAER4W,GAAE+6B,cAEF/6B,EAAE04B,YAAY19B,KACV0M,QAAS,IAGb1H,EAAE+5B,QAAQpZ,YAAY,iBAEtB3gB,EAAE6hC,SAEyB,gBAAvB7hC,EAAEzE,QAAQ+6B,UACVt2B,EAAEuiC,uBAKV1N,EAAM5rC,UAAUyqB,KAAOmhB,EAAM5rC,UAAUu5C,UAAY,WAE/C,GAAIxiC,GAAI5W,IAER4W,GAAE46B,aACEhuC,MACIuP,QAAS,WAMrB04B,EAAM5rC,UAAUg2C,kBAAoB,WAEhC,GAAIj/B,GAAI5W,IAER4W,GAAE49B,kBACF59B,EAAE+6B,eAINlG,EAAM5rC,UAAUw5C,MAAQ5N,EAAM5rC,UAAUy5C,WAAa,WAEjD,GAAI1iC,GAAI5W,IAER4W,GAAE06B,gBACF16B,EAAE25B,QAAS,GAIf9E,EAAM5rC,UAAU05C,KAAO9N,EAAM5rC,UAAU25C,UAAY,WAE/C,GAAI5iC,GAAI5W,IAER4W,GAAEy6B,WACFz6B,EAAEzE,QAAQg6B,UAAW,EACrBv1B,EAAE25B,QAAS,EACX35B,EAAEy5B,UAAW,EACbz5B,EAAE05B,aAAc,GAIpB7E,EAAM5rC,UAAU45C,UAAY,SAAShoC,GAEjC,GAAImF,GAAI5W,IAEH4W,GAAEk5B,YAEHl5B,EAAE+5B,QAAQtgB,QAAQ,eAAgBzZ,EAAGnF,IAErCmF,EAAEmqB,WAAY,EAEdnqB,EAAE+6B,cAEF/6B,EAAE84B,UAAY,KAET94B,EAAEzE,QAAQg6B,UACXv1B,EAAEy6B,WAGFz6B,EAAEzE,QAAQw5B,iBAAkB,GAC5B/0B,EAAEohC,YAOdvM,EAAM5rC,UAAU0qB,KAAOkhB,EAAM5rC,UAAU65C,UAAY,WAE/C,GAAI9iC,GAAI5W,IAER4W,GAAE46B,aACEhuC,MACIuP,QAAS,eAMrB04B,EAAM5rC,UAAUovB,eAAiB,SAAS9U,GAEtCA,EAAM8U,kBAIVwc,EAAM5rC,UAAUs5C,oBAAsB,SAAUQ,GAE5CA,EAAWA,GAAY,CAEvB,IAEItxC,GACAwwC,EACAC,EAJAliC,EAAI5W,KACJ45C,EAAczgC,EAAG,iBAAkBvC,EAAE+5B,QAKpCiJ,GAAY93C,QAEbuG,EAAQuxC,EAAYx2B,QACpBy1B,EAAcxwC,EAAM6e,KAAK,aACzB4xB,EAAcl2C,SAAS1D,cAAc,OAErC45C,EAAY31C,OAAS,WAEjBkF,EACK6e,KAAM,MAAO2xB,GACbhiB,WAAW,aACXU,YAAY,iBAEZ3gB,EAAEzE,QAAQy5B,kBAAmB,GAC9Bh1B,EAAE+6B,cAGN/6B,EAAE+5B,QAAQtgB,QAAQ,cAAgBzZ,EAAGvO,EAAOwwC,IAC5CjiC,EAAEuiC,uBAINL,EAAYl1C,QAAU,WAEb+1C,EAAW,EAOZz1C,WAAY,WACR0S,EAAEuiC,oBAAqBQ,EAAW,IACnC,MAIHtxC,EACKwuB,WAAY,aACZU,YAAa,iBACbD,SAAU,wBAEf1gB,EAAE+5B,QAAQtgB,QAAQ,iBAAmBzZ,EAAGvO,EAAOwwC,IAE/CjiC,EAAEuiC,wBAMVL,EAAYr1C,IAAMo1C,GAIlBjiC,EAAE+5B,QAAQtgB,QAAQ,mBAAqBzZ,KAM/C60B,EAAM5rC,UAAUo1C,QAAU,SAAU4E,GAEhC,GAAchL,GAAciL,EAAxBljC,EAAI5W,IAER85C,GAAmBljC,EAAEw4B,WAAax4B,EAAEzE,QAAQy7B,cAIvCh3B,EAAEzE,QAAQ66B,UAAcp2B,EAAEi4B,aAAeiL,IAC1CljC,EAAEi4B,aAAeiL,GAIhBljC,EAAEw4B,YAAcx4B,EAAEzE,QAAQy7B,eAC3Bh3B,EAAEi4B,aAAe,GAIrBA,EAAej4B,EAAEi4B,aAEjBj4B,EAAEm/B,SAAQ,GAEV58B,EAAE2B,OAAOlE,EAAGA,EAAE43B,UAAYK,aAAcA,IAExCj4B,EAAE9O,OAEG+xC,GAEDjjC,EAAE46B,aACEhuC,MACIuP,QAAS,QACTtB,MAAOo9B,KAEZ,IAMXpD,EAAM5rC,UAAUoyC,oBAAsB,WAElC,GAAc3L,GAAYyT,EAAmBp5C,EAAzCiW,EAAI5W,KACJg6C,EAAqBpjC,EAAEzE,QAAQq7B,YAAc,IAEjD,IAAoC,UAA/Br0B,EAAE1W,KAAKu3C,IAAmCA,EAAmBl4C,OAAS,CAEvE8U,EAAE22B,UAAY32B,EAAEzE,QAAQo7B,WAAa,QAErC,KAAMjH,IAAc0T,GAKhB,GAHAr5C,EAAIiW,EAAEs5B,YAAYpuC,OAAO,EACzBi4C,EAAoBC,EAAmB1T,GAAYA,WAE/C0T,EAAmBt6C,eAAe4mC,GAAa,CAI/C,KAAO3lC,GAAK,GACJiW,EAAEs5B,YAAYvvC,IAAMiW,EAAEs5B,YAAYvvC,KAAOo5C,GACzCnjC,EAAEs5B,YAAYrsC,OAAOlD,EAAE,GAE3BA,GAGJiW,GAAEs5B,YAAY1vC,KAAKu5C,GACnBnjC,EAAEu5B,mBAAmB4J,GAAqBC,EAAmB1T,GAAYlG,SAMjFxpB,EAAEs5B,YAAYj7B,KAAK,SAAShX,EAAGC,GAC3B,MAAS0Y,GAAEzE,QAAoB,YAAIlU,EAAEC,EAAIA,EAAED,MAOvDwtC,EAAM5rC,UAAU6yC,OAAS,WAErB,GAAI97B,GAAI5W,IAER4W,GAAE24B,QACE34B,EAAE04B,YACGjlB,SAASzT,EAAEzE,QAAQu7B,OACnBpW,SAAS,eAElB1gB,EAAEw4B,WAAax4B,EAAE24B,QAAQztC,OAErB8U,EAAEi4B,cAAgBj4B,EAAEw4B,YAAiC,IAAnBx4B,EAAEi4B,eACpCj4B,EAAEi4B,aAAej4B,EAAEi4B,aAAej4B,EAAEzE,QAAQ07B,gBAG5Cj3B,EAAEw4B,YAAcx4B,EAAEzE,QAAQy7B,eAC1Bh3B,EAAEi4B,aAAe,GAGrBj4B,EAAEq7B,sBAEFr7B,EAAEghC,WACFhhC,EAAEm9B,gBACFn9B,EAAE68B,cACF78B,EAAEmhC,eACFnhC,EAAEyhC,kBACFzhC,EAAE+8B,YACF/8B,EAAEo9B,aACFp9B,EAAE0hC,gBACF1hC,EAAEg/B,qBACFh/B,EAAE2hC,kBAEF3hC,EAAE49B,iBAAgB,GAAO,GAErB59B,EAAEzE,QAAQ46B,iBAAkB,GAC5B5zB,EAAEvC,EAAE04B,aAAajlB,WAAWrZ,GAAG,cAAe4F,EAAE86B,eAGpD96B,EAAEq9B,gBAA0C,gBAAnBr9B,GAAEi4B,aAA4Bj4B,EAAEi4B,aAAe,GAExEj4B,EAAE+6B,cACF/6B,EAAEy/B,eAEFz/B,EAAE25B,QAAU35B,EAAEzE,QAAQg6B,SACtBv1B,EAAEy6B,WAEFz6B,EAAE+5B,QAAQtgB,QAAQ,UAAWzZ,KAIjC60B,EAAM5rC,UAAUgnC,OAAS,WAErB,GAAIjwB,GAAI5W,IAEJmZ,GAAEpb,QAAQ2F,UAAYkT,EAAEo6B,cACxBrpC,aAAaiP,EAAEqjC,aACfrjC,EAAEqjC,YAAcl8C,OAAOmG,WAAW,WAC9B0S,EAAEo6B,YAAc73B,EAAEpb,QAAQ2F,QAC1BkT,EAAE49B,kBACG59B,EAAEk5B,WAAcl5B,EAAE+6B,eACxB,MAIXlG,EAAM5rC,UAAUq6C,YAAczO,EAAM5rC,UAAUs6C,YAAc,SAAS1oC,EAAO2oC,EAAcC,GAEtF,GAAIzjC,GAAI5W,IASR,OAPsB,iBAAZ,IACNo6C,EAAe3oC,EACfA,EAAQ2oC,KAAiB,EAAO,EAAIxjC,EAAEw4B,WAAa,GAEnD39B,EAAQ2oC,KAAiB,IAAS3oC,EAAQA,IAG1CmF,EAAEw4B,WAAa,GAAK39B,EAAQ,GAAKA,EAAQmF,EAAEw4B,WAAa,KAI5Dx4B,EAAE67B,SAEE4H,KAAc,EACdzjC,EAAE04B,YAAYjlB,WAAW3K,SAEzB9I,EAAE04B,YAAYjlB,SAASrqB,KAAKmS,QAAQu7B,OAAOryB,GAAG5J,GAAOiO,SAGzD9I,EAAE24B,QAAU34B,EAAE04B,YAAYjlB,SAASrqB,KAAKmS,QAAQu7B,OAEhD92B,EAAE04B,YAAYjlB,SAASrqB,KAAKmS,QAAQu7B,OAAO1xB,SAE3CpF,EAAE04B,YAAYhe,OAAO1a,EAAE24B,SAEvB34B,EAAEg6B,aAAeh6B,EAAE24B,YAEnB34B,GAAE87B,WAINjH,EAAM5rC,UAAUy6C,OAAS,SAASxnB,GAE9B,GAEI7vB,GAAGK,EAFHsT,EAAI5W,KACJu6C,IAGA3jC,GAAEzE,QAAQmwB,OAAQ,IAClBxP,GAAYA,GAEhB7vB,EAAsB,QAAlB2T,EAAE45B,aAAyBvnC,KAAKgqC,KAAKngB,GAAY,KAAO,MAC5DxvB,EAAsB,OAAlBsT,EAAE45B,aAAwBvnC,KAAKgqC,KAAKngB,GAAY,KAAO,MAE3DynB,EAAc3jC,EAAE45B,cAAgB1d,EAE5Blc,EAAEi5B,qBAAsB,EACxBj5B,EAAE04B,YAAY19B,IAAI2oC,IAElBA,KACI3jC,EAAEw5B,kBAAmB,GACrBmK,EAAc3jC,EAAEo5B,UAAY,aAAe/sC,EAAI,KAAOK,EAAI,IAC1DsT,EAAE04B,YAAY19B,IAAI2oC,KAElBA,EAAc3jC,EAAEo5B,UAAY,eAAiB/sC,EAAI,KAAOK,EAAI,SAC5DsT,EAAE04B,YAAY19B,IAAI2oC,MAM9B9O,EAAM5rC,UAAU26C,cAAgB,WAE5B,GAAI5jC,GAAI5W,IAEJ4W,GAAEzE,QAAQk8B,YAAa,EACnBz3B,EAAEzE,QAAQk6B,cAAe,GACzBz1B,EAAE+4B,MAAM/9B,KACJuiB,QAAU,OAASvd,EAAEzE,QAAQm6B,iBAIrC11B,EAAE+4B,MAAMhsC,OAAOiT,EAAE24B,QAAQnsB,QAAQ0iB,aAAY,GAAQlvB,EAAEzE,QAAQy7B,cAC3Dh3B,EAAEzE,QAAQk6B,cAAe,GACzBz1B,EAAE+4B,MAAM/9B,KACJuiB,QAAUvd,EAAEzE,QAAQm6B,cAAgB,UAKhD11B,EAAEm4B,UAAYn4B,EAAE+4B,MAAMjsC,QACtBkT,EAAEo4B,WAAap4B,EAAE+4B,MAAMhsC,SAGnBiT,EAAEzE,QAAQk8B,YAAa,GAASz3B,EAAEzE,QAAQi8B,iBAAkB,GAC5Dx3B,EAAEy4B,WAAapmC,KAAKgqC,KAAKr8B,EAAEm4B,UAAYn4B,EAAEzE,QAAQy7B,cACjDh3B,EAAE04B,YAAY5rC,MAAMuF,KAAKgqC,KAAMr8B,EAAEy4B,WAAaz4B,EAAE04B,YAAYjlB,SAAS,gBAAgBvoB,UAE9E8U,EAAEzE,QAAQi8B,iBAAkB,EACnCx3B,EAAE04B,YAAY5rC,MAAM,IAAOkT,EAAEw4B,aAE7Bx4B,EAAEy4B,WAAapmC,KAAKgqC,KAAKr8B,EAAEm4B,WAC3Bn4B,EAAE04B,YAAY3rC,OAAOsF,KAAKgqC,KAAMr8B,EAAE24B,QAAQnsB,QAAQ0iB,aAAY,GAAQlvB,EAAE04B,YAAYjlB,SAAS,gBAAgBvoB,SAGjH,IAAIq8B,GAASvnB,EAAE24B,QAAQnsB,QAAQwmB,YAAW,GAAQhzB,EAAE24B,QAAQnsB,QAAQ1f,OAChEkT,GAAEzE,QAAQi8B,iBAAkB,GAAOx3B,EAAE04B,YAAYjlB,SAAS,gBAAgB3mB,MAAMkT,EAAEy4B,WAAalR,IAIvGsN,EAAM5rC,UAAU46C,QAAU,WAEtB,GACI3H,GADAl8B,EAAI5W,IAGR4W,GAAE24B,QAAQ93B,KAAK,SAAShG,EAAO4D,GAC3By9B,EAAcl8B,EAAEy4B,WAAa59B,GAAS,EAClCmF,EAAEzE,QAAQmwB,OAAQ,EAClBnpB,EAAE9D,GAASzD,KACPkhB,SAAU,WACVyT,MAAOuM,EACPr1B,IAAK,EACLmW,OAAQhd,EAAEzE,QAAQyhB,OAAS,EAC3BtV,QAAS,IAGbnF,EAAE9D,GAASzD,KACPkhB,SAAU,WACVmB,KAAM6e,EACNr1B,IAAK,EACLmW,OAAQhd,EAAEzE,QAAQyhB,OAAS,EAC3BtV,QAAS,MAKrB1H,EAAE24B,QAAQl0B,GAAGzE,EAAEi4B,cAAcj9B,KACzBgiB,OAAQhd,EAAEzE,QAAQyhB,OAAS,EAC3BtV,QAAS,KAKjBmtB,EAAM5rC,UAAU66C,UAAY,WAExB,GAAI9jC,GAAI5W,IAER,IAA+B,IAA3B4W,EAAEzE,QAAQy7B,cAAsBh3B,EAAEzE,QAAQy5B,kBAAmB,GAAQh1B,EAAEzE,QAAQk8B,YAAa,EAAO,CACnG,GAAIuE,GAAeh8B,EAAE24B,QAAQl0B,GAAGzE,EAAEi4B,cAAc/I,aAAY,EAC5DlvB,GAAE+4B,MAAM/9B,IAAI,SAAUghC,KAK9BnH,EAAM5rC,UAAU86C,UAChBlP,EAAM5rC,UAAU+6C,eAAiB,WAe7B,GAAcj6C,GAAGk6C,EAAM/tB,EAAQ7f,EAAwBxK,EAAnDmU,EAAI5W,KAA8Bi1C,GAAU,CA0BhD,IAxB+B,WAA3B97B,EAAE1W,KAAMvC,UAAU,KAElB4sB,EAAU5sB,UAAU,GACpB+0C,EAAU/0C,UAAU,GACpBuC,EAAO,YAE4B,WAA3B0W,EAAE1W,KAAMvC,UAAU,MAE1B4sB,EAAU5sB,UAAU,GACpB+M,EAAQ/M,UAAU,GAClB+0C,EAAU/0C,UAAU,GAEE,eAAjBA,UAAU,IAAkD,UAA3BiZ,EAAE1W,KAAMvC,UAAU,IAEpDuC,EAAO,aAEyB,mBAAjBvC,WAAU,KAEzBuC,EAAO,WAMD,WAATA,EAEDmU,EAAEzE,QAAQ2a,GAAU7f,MAGjB,IAAc,aAATxK,EAER0W,EAAE1B,KAAMqV,EAAS,SAAU7a,EAAK0lB,GAE5B/gB,EAAEzE,QAAQF,GAAO0lB,QAKlB,IAAc,eAATl1B,EAER,IAAMo4C,IAAQ5tC,GAEV,GAAuC,UAAnCkM,EAAE1W,KAAMmU,EAAEzE,QAAQq7B,YAElB52B,EAAEzE,QAAQq7B,YAAevgC,EAAM4tC,QAE5B,CAKH,IAHAl6C,EAAIiW,EAAEzE,QAAQq7B,WAAW1rC,OAAO,EAGzBnB,GAAK,GAEJiW,EAAEzE,QAAQq7B,WAAW7sC,GAAG2lC,aAAer5B,EAAM4tC,GAAMvU,YAEnD1vB,EAAEzE,QAAQq7B,WAAW3pC,OAAOlD,EAAE,GAIlCA,GAIJiW,GAAEzE,QAAQq7B,WAAWhtC,KAAMyM,EAAM4tC,IAQxC5F,IAEDr+B,EAAE67B,SACF77B,EAAE87B,WAMVjH,EAAM5rC,UAAU8xC,YAAc,WAE1B,GAAI/6B,GAAI5W,IAER4W,GAAE4jC,gBAEF5jC,EAAE8jC,YAEE9jC,EAAEzE,QAAQ26B,QAAS,EACnBl2B,EAAE0jC,OAAO1jC,EAAEggC,QAAQhgC,EAAEi4B,eAErBj4B,EAAE6jC,UAGN7jC,EAAE+5B,QAAQtgB,QAAQ,eAAgBzZ,KAItC60B,EAAM5rC,UAAU+3C,SAAW,WAEvB,GAAIhhC,GAAI5W,KACJ86C,EAAYl4C,SAASwR,KAAKjV,KAE9ByX,GAAE45B,aAAe55B,EAAEzE,QAAQk8B,YAAa,EAAO,MAAQ,OAEhC,QAAnBz3B,EAAE45B,aACF55B,EAAE+5B,QAAQrZ,SAAS,kBAEnB1gB,EAAE+5B,QAAQpZ,YAAY,kBAGStvB,SAA/B6yC,EAAUC,kBACkB9yC,SAA5B6yC,EAAUE,eACiB/yC,SAA3B6yC,EAAUG,cACNrkC,EAAEzE,QAAQ+7B,UAAW,IACrBt3B,EAAEw5B,gBAAiB;AAItBx5B,EAAEzE,QAAQ26B,OACsB,gBAArBl2B,GAAEzE,QAAQyhB,OACdhd,EAAEzE,QAAQyhB,OAAS,IACnBhd,EAAEzE,QAAQyhB,OAAS,GAGvBhd,EAAEzE,QAAQyhB,OAAShd,EAAEgsB,SAAShP,QAIT3rB,SAAzB6yC,EAAUI,aACVtkC,EAAEo5B,SAAW,aACbp5B,EAAEi6B,cAAgB,eAClBj6B,EAAEk6B,eAAiB,cACmB7oC,SAAlC6yC,EAAUK,qBAAqElzC,SAAhC6yC,EAAUM,oBAAiCxkC,EAAEo5B,UAAW,IAEhF/nC,SAA3B6yC,EAAUO,eACVzkC,EAAEo5B,SAAW,eACbp5B,EAAEi6B,cAAgB,iBAClBj6B,EAAEk6B,eAAiB,gBACmB7oC,SAAlC6yC,EAAUK,qBAAkElzC,SAA7B6yC,EAAUQ,iBAA8B1kC,EAAEo5B,UAAW,IAE1E/nC,SAA9B6yC,EAAUS,kBACV3kC,EAAEo5B,SAAW,kBACbp5B,EAAEi6B,cAAgB,oBAClBj6B,EAAEk6B,eAAiB,mBACmB7oC,SAAlC6yC,EAAUK,qBAAqElzC,SAAhC6yC,EAAUM,oBAAiCxkC,EAAEo5B,UAAW,IAEjF/nC,SAA1B6yC,EAAUU,cACV5kC,EAAEo5B,SAAW,cACbp5B,EAAEi6B,cAAgB,gBAClBj6B,EAAEk6B,eAAiB,eACW7oC,SAA1B6yC,EAAUU,cAA2B5kC,EAAEo5B,UAAW,IAE9B/nC,SAAxB6yC,EAAUW,WAA2B7kC,EAAEo5B,YAAa,IACpDp5B,EAAEo5B,SAAW,YACbp5B,EAAEi6B,cAAgB,YAClBj6B,EAAEk6B,eAAiB,cAEvBl6B,EAAEi5B,kBAAoBj5B,EAAEzE,QAAQg8B,cAAgC,OAAfv3B,EAAEo5B,UAAqBp5B,EAAEo5B,YAAa,GAI3FvE,EAAM5rC,UAAUo0C,gBAAkB,SAASxiC,GAEvC,GACI+lC,GAAckE,EAAWvG,EAAawG,EADtC/kC,EAAI5W,IAGR07C,GAAY9kC,EAAE+5B,QACT5rB,KAAK,gBACLwS,YAAY,2CACZrQ,KAAK,cAAe,QAEzBtQ,EAAE24B,QACGl0B,GAAG5J,GACH6lB,SAAS,iBAEV1gB,EAAEzE,QAAQk6B,cAAe,GAEzBmL,EAAevuC,KAAKkiC,MAAMv0B,EAAEzE,QAAQy7B,aAAe,GAE/Ch3B,EAAEzE,QAAQ66B,YAAa,IAEnBv7B,GAAS+lC,GAAgB/lC,GAAUmF,EAAEw4B,WAAa,EAAKoI,EAEvD5gC,EAAE24B,QACG/vC,MAAMiS,EAAQ+lC,EAAc/lC,EAAQ+lC,EAAe,GACnDlgB,SAAS,gBACTpQ,KAAK,cAAe,UAIzBiuB,EAAcv+B,EAAEzE,QAAQy7B,aAAen8B,EACvCiqC,EACKl8C,MAAM21C,EAAcqC,EAAe,EAAGrC,EAAcqC,EAAe,GACnElgB,SAAS,gBACTpQ,KAAK,cAAe,UAIf,IAAVzV,EAEAiqC,EACKrgC,GAAGqgC,EAAU55C,OAAS,EAAI8U,EAAEzE,QAAQy7B,cACpCtW,SAAS,gBAEP7lB,IAAUmF,EAAEw4B,WAAa,GAEhCsM,EACKrgC,GAAGzE,EAAEzE,QAAQy7B,cACbtW,SAAS,iBAMtB1gB,EAAE24B,QACGl0B,GAAG5J,GACH6lB,SAAS,iBAIV7lB,GAAS,GAAKA,GAAUmF,EAAEw4B,WAAax4B,EAAEzE,QAAQy7B,aAEjDh3B,EAAE24B,QACG/vC,MAAMiS,EAAOA,EAAQmF,EAAEzE,QAAQy7B,cAC/BtW,SAAS,gBACTpQ,KAAK,cAAe,SAElBw0B,EAAU55C,QAAU8U,EAAEzE,QAAQy7B,aAErC8N,EACKpkB,SAAS,gBACTpQ,KAAK,cAAe,UAIzBy0B,EAAY/kC,EAAEw4B,WAAax4B,EAAEzE,QAAQy7B,aACrCuH,EAAcv+B,EAAEzE,QAAQ66B,YAAa,EAAOp2B,EAAEzE,QAAQy7B,aAAen8B,EAAQA,EAEzEmF,EAAEzE,QAAQy7B,cAAgBh3B,EAAEzE,QAAQ07B,gBAAmBj3B,EAAEw4B,WAAa39B,EAASmF,EAAEzE,QAAQy7B,aAEzF8N,EACKl8C,MAAM21C,GAAev+B,EAAEzE,QAAQy7B,aAAe+N,GAAYxG,EAAcwG,GACxErkB,SAAS,gBACTpQ,KAAK,cAAe,SAIzBw0B,EACKl8C,MAAM21C,EAAaA,EAAcv+B,EAAEzE,QAAQy7B,cAC3CtW,SAAS,gBACTpQ,KAAK,cAAe,UAQV,aAAvBtQ,EAAEzE,QAAQ+6B,UACVt2B,EAAEs2B,YAKVzB,EAAM5rC,UAAUk0C,cAAgB,WAE5B,GACI90C,GAAGg3C,EAAY2F,EADfhlC,EAAI5W,IAOR,IAJI4W,EAAEzE,QAAQ26B,QAAS,IACnBl2B,EAAEzE,QAAQk6B,YAAa,GAGvBz1B,EAAEzE,QAAQ66B,YAAa,GAAQp2B,EAAEzE,QAAQ26B,QAAS,IAElDmJ,EAAa,KAETr/B,EAAEw4B,WAAax4B,EAAEzE,QAAQy7B,cAAc,CAQvC,IALIgO,EADAhlC,EAAEzE,QAAQk6B,cAAe,EACTz1B,EAAEzE,QAAQy7B,aAAe,EAEzBh3B,EAAEzE,QAAQy7B,aAGzB3uC,EAAI2X,EAAEw4B,WAAYnwC,EAAK2X,EAAEw4B,WACtBwM,EAAgB38C,GAAK,EACzBg3C,EAAah3C,EAAI,EACjBka,EAAEvC,EAAE24B,QAAQ0G,IAAaz6B,OAAM,GAAM0L,KAAK,KAAM,IAC3CA,KAAK,mBAAoB+uB,EAAar/B,EAAEw4B,YACxCxd,UAAUhb,EAAE04B,aAAahY,SAAS,eAE3C,KAAKr4B,EAAI,EAAGA,EAAI28C,EAAe38C,GAAK,EAChCg3C,EAAah3C,EACbka,EAAEvC,EAAE24B,QAAQ0G,IAAaz6B,OAAM,GAAM0L,KAAK,KAAM,IAC3CA,KAAK,mBAAoB+uB,EAAar/B,EAAEw4B,YACxCrzB,SAASnF,EAAE04B,aAAahY,SAAS,eAE1C1gB,GAAE04B,YAAYvqB,KAAK,iBAAiBA,KAAK,QAAQtN,KAAK,WAClD0B,EAAEnZ,MAAMknB,KAAK,KAAM,QASnCukB,EAAM5rC,UAAU81C,UAAY,SAAUthB,GAElC,GAAIzd,GAAI5W,IAEHq0B,IACDzd,EAAEy6B,WAENz6B,EAAE05B,YAAcjc,GAIpBoX,EAAM5rC,UAAU6xC,cAAgB,SAASv3B,GAErC,GAAIvD,GAAI5W,KAEJ67C,EACA1iC,EAAEgB,EAAMkO,QAAQ8B,GAAG,gBACfhR,EAAEgB,EAAMkO,QACRlP,EAAEgB,EAAMkO,QAAQsC,QAAQ,gBAE5BlZ,EAAQnE,SAASuuC,EAAc30B,KAAK,oBAIxC,OAFKzV,KAAOA,EAAQ,GAEhBmF,EAAEw4B,YAAcx4B,EAAEzE,QAAQy7B,cAE1Bh3B,EAAEq9B,gBAAgBxiC,OAClBmF,GAAEo1B,SAASv6B,QAKfmF,GAAE08B,aAAa7hC,IAInBg6B,EAAM5rC,UAAUyzC,aAAe,SAAS7hC,EAAOqqC,EAAM5G,GAEjD,GAAI4B,GAAaiF,EAAWC,EAAUC,EACxBC,EADmCpJ,EAAa,KAC1Dl8B,EAAI5W,IAIR,IAFA87C,EAAOA,IAAQ,GAEXllC,EAAEmqB,aAAc,GAAQnqB,EAAEzE,QAAQo8B,kBAAmB,MAIrD33B,EAAEzE,QAAQ26B,QAAS,GAAQl2B,EAAEi4B,eAAiBp9B,GAI9CmF,EAAEw4B,YAAcx4B,EAAEzE,QAAQy7B,cAc9B,MAVIkO,MAAS,GACTllC,EAAEo1B,SAASv6B,GAGfqlC,EAAcrlC,EACdqhC,EAAal8B,EAAEggC,QAAQE,GACvBmF,EAAYrlC,EAAEggC,QAAQhgC,EAAEi4B,cAExBj4B,EAAEg4B,YAA8B,OAAhBh4B,EAAE84B,UAAqBuM,EAAYrlC,EAAE84B,UAEjD94B,EAAEzE,QAAQ66B,YAAa,GAASp2B,EAAEzE,QAAQk6B,cAAe,IAAU56B,EAAQ,GAAKA,EAAQmF,EAAEi9B,cAAgBj9B,EAAEzE,QAAQ07B,qBAChHj3B,EAAEzE,QAAQ26B,QAAS,IACnBgK,EAAclgC,EAAEi4B,aACZqG,KAAgB,EAChBt+B,EAAEi8B,aAAaoJ,EAAW,WACtBrlC,EAAE6iC,UAAU3C,KAGhBlgC,EAAE6iC,UAAU3C,KAIblgC,EAAEzE,QAAQ66B,YAAa,GAASp2B,EAAEzE,QAAQk6B,cAAe,IAAS56B,EAAQ,GAAKA,EAASmF,EAAEw4B,WAAax4B,EAAEzE,QAAQ07B,qBACpHj3B,EAAEzE,QAAQ26B,QAAS,IACnBgK,EAAclgC,EAAEi4B,aACZqG,KAAgB,EAChBt+B,EAAEi8B,aAAaoJ,EAAW,WACtBrlC,EAAE6iC,UAAU3C,KAGhBlgC,EAAE6iC,UAAU3C,MAMnBlgC,EAAEzE,QAAQg6B,UACXhW,cAAcvf,EAAE83B,eAKZqN,EAFJjF,EAAc,EACVlgC,EAAEw4B,WAAax4B,EAAEzE,QAAQ07B,iBAAmB,EAChCj3B,EAAEw4B,WAAcx4B,EAAEw4B,WAAax4B,EAAEzE,QAAQ07B,eAEzCj3B,EAAEw4B,WAAa0H,EAExBA,GAAelgC,EAAEw4B,WACpBx4B,EAAEw4B,WAAax4B,EAAEzE,QAAQ07B,iBAAmB,EAChC,EAEAiJ,EAAclgC,EAAEw4B,WAGpB0H,EAGhBlgC,EAAEmqB,WAAY,EAEdnqB,EAAE+5B,QAAQtgB,QAAQ,gBAAiBzZ,EAAGA,EAAEi4B,aAAckN,IAEtDC,EAAWplC,EAAEi4B,aACbj4B,EAAEi4B,aAAekN,EAEjBnlC,EAAEq9B,gBAAgBr9B,EAAEi4B,cAEfj4B,EAAEzE,QAAQ65B,WAEXkQ,EAAYtlC,EAAEw8B,eACd8I,EAAYA,EAAU7I,MAAM,YAEvB6I,EAAU9M,YAAc8M,EAAU/pC,QAAQy7B,cAC3CsO,EAAUjI,gBAAgBr9B,EAAEi4B,eAKpCj4B,EAAEo9B,aACFp9B,EAAEmhC,eAEEnhC,EAAEzE,QAAQ26B,QAAS,GACfoI,KAAgB,GAEhBt+B,EAAEs/B,aAAa8F,GAEfplC,EAAEo/B,UAAU+F,EAAW,WACnBnlC,EAAE6iC,UAAUsC,MAIhBnlC,EAAE6iC,UAAUsC,OAEhBnlC,GAAE+7B,sBAIFuC,KAAgB,EAChBt+B,EAAEi8B,aAAaC,EAAY,WACvBl8B,EAAE6iC,UAAUsC,KAGhBnlC,EAAE6iC,UAAUsC,MAKpBtQ,EAAM5rC,UAAU8pC,UAAY,WAExB,GAAI/yB,GAAI5W,IAEJ4W,GAAEzE,QAAQ45B,UAAW,GAAQn1B,EAAEw4B,WAAax4B,EAAEzE,QAAQy7B,eAEtDh3B,EAAEu4B,WAAW1vB,OACb7I,EAAEs4B,WAAWzvB,QAIb7I,EAAEzE,QAAQu6B,QAAS,GAAQ91B,EAAEw4B,WAAax4B,EAAEzE,QAAQy7B,cAEpDh3B,EAAEk4B,MAAMrvB,OAIZ7I,EAAE+5B,QAAQrZ,SAAS,kBAIvBmU,EAAM5rC,UAAUs8C,eAAiB,WAE7B,GAAIC,GAAOC,EAAO59C,EAAG69C,EAAY1lC,EAAI5W,IAWrC,OATAo8C,GAAQxlC,EAAEg5B,YAAY2M,OAAS3lC,EAAEg5B,YAAY4M,KAC7CH,EAAQzlC,EAAEg5B,YAAY6M,OAAS7lC,EAAEg5B,YAAY8M,KAC7Cj+C,EAAIwK,KAAK0zC,MAAMN,EAAOD,GAEtBE,EAAarzC,KAAK0U,MAAU,IAAJlf,EAAUwK,KAAK2rB,IACnC0nB,EAAa,IACbA,EAAa,IAAMrzC,KAAKggC,IAAIqT,IAG3BA,GAAc,IAAQA,GAAc,EAC7B1lC,EAAEzE,QAAQmwB,OAAQ,EAAQ,OAAS,QAE1Cga,GAAc,KAASA,GAAc,IAC9B1lC,EAAEzE,QAAQmwB,OAAQ,EAAQ,OAAS,QAE1Cga,GAAc,KAASA,GAAc,IAC9B1lC,EAAEzE,QAAQmwB,OAAQ,EAAQ,QAAU,OAE5C1rB,EAAEzE,QAAQm8B,mBAAoB,EACzBgO,GAAc,IAAQA,GAAc,IAC9B,OAEA,KAIR,YAIX7Q,EAAM5rC,UAAU+8C,SAAW,SAASziC,GAEhC,GACIi1B,GACAlG,EAFAtyB,EAAI5W,IAQR,IAJA4W,EAAE63B,UAAW,EACb73B,EAAE05B,aAAc,EAChB15B,EAAE85B,cAAgB95B,EAAEg5B,YAAYiN,YAAc,IAElB50C,SAAvB2O,EAAEg5B,YAAY4M,KACf,OAAO,CAOX,IAJK5lC,EAAEg5B,YAAYkN,WAAY,GAC3BlmC,EAAE+5B,QAAQtgB,QAAQ,QAASzZ,EAAGA,EAAEulC,mBAG/BvlC,EAAEg5B,YAAYiN,aAAejmC,EAAEg5B,YAAYmN,SAAW,CAIvD,OAFA7T,EAAYtyB,EAAEulC,kBAIV,IAAK,OACL,IAAK,OAED/M,EACIx4B,EAAEzE,QAAQ47B,aACNn3B,EAAE0+B,eAAgB1+B,EAAEi4B,aAAej4B,EAAEygC,iBACrCzgC,EAAEi4B,aAAej4B,EAAEygC,gBAE3BzgC,EAAE+3B,iBAAmB,CAErB,MAEJ,KAAK,QACL,IAAK,KAEDS,EACIx4B,EAAEzE,QAAQ47B,aACNn3B,EAAE0+B,eAAgB1+B,EAAEi4B,aAAej4B,EAAEygC,iBACrCzgC,EAAEi4B,aAAej4B,EAAEygC,gBAE3BzgC,EAAE+3B,iBAAmB,EASZ,YAAbzF,IAEAtyB,EAAE08B,aAAclE,GAChBx4B,EAAEg5B,eACFh5B,EAAE+5B,QAAQtgB,QAAQ,SAAUzZ,EAAGsyB,SAM9BtyB,GAAEg5B,YAAY2M,SAAW3lC,EAAEg5B,YAAY4M,OAExC5lC,EAAE08B,aAAc18B,EAAEi4B,cAClBj4B,EAAEg5B,iBAQdnE,EAAM5rC,UAAU+xC,aAAe,SAASz3B,GAEpC,GAAIvD,GAAI5W,IAER,MAAK4W,EAAEzE,QAAQ27B,SAAU,GAAW,cAAgBlrC,WAAYgU,EAAEzE,QAAQ27B,SAAU,GAEzEl3B,EAAEzE,QAAQy6B,aAAc,GAASzyB,EAAM1X,KAAKqgB,QAAQ,YAAa,GAe5E,OAXAlM,EAAEg5B,YAAYoN,YAAc7iC,EAAMsW,eAAiDxoB,SAAhCkS,EAAMsW,cAAciY,QACnEvuB,EAAMsW,cAAciY,QAAQ5mC,OAAS,EAEzC8U,EAAEg5B,YAAYmN,SAAWnmC,EAAEm4B,UAAYn4B,EAAEzE,QACpC87B,eAEDr3B,EAAEzE,QAAQm8B,mBAAoB,IAC9B13B,EAAEg5B,YAAYmN,SAAWnmC,EAAEo4B,WAAap4B,EAAEzE,QACrC87B,gBAGD9zB,EAAM3W,KAAKg1C,QAEf,IAAK,QACD5hC,EAAEqmC,WAAW9iC,EACb,MAEJ,KAAK,OACDvD,EAAEsmC,UAAU/iC,EACZ,MAEJ,KAAK,MACDvD,EAAEgmC,SAASziC,KAOvBsxB,EAAM5rC,UAAUq9C,UAAY,SAAS/iC,GAEjC,GAEIgjC,GAAShB,EAAgBU,EAAaO,EAAgB1U,EAFtD9xB,EAAI5W,IAMR,OAFA0oC,GAAkCzgC,SAAxBkS,EAAMsW,cAA8BtW,EAAMsW,cAAciY,QAAU,QAEvE9xB,EAAE63B,UAAY/F,GAA8B,IAAnBA,EAAQ5mC,UAItCq7C,EAAUvmC,EAAEggC,QAAQhgC,EAAEi4B,cAEtBj4B,EAAEg5B,YAAY4M,KAAmBv0C,SAAZygC,EAAwBA,EAAQ,GAAG/Y,MAAQxV,EAAMyV,QACtEhZ,EAAEg5B,YAAY8M,KAAmBz0C,SAAZygC,EAAwBA,EAAQ,GAAG3Y,MAAQ5V,EAAM6V,QAEtEpZ,EAAEg5B,YAAYiN,YAAc5zC,KAAK0U,MAAM1U,KAAKyB,KACxCzB,KAAKwB,IAAImM,EAAEg5B,YAAY4M,KAAO5lC,EAAEg5B,YAAY2M,OAAQ,KAEpD3lC,EAAEzE,QAAQm8B,mBAAoB,IAC9B13B,EAAEg5B,YAAYiN,YAAc5zC,KAAK0U,MAAM1U,KAAKyB,KACxCzB,KAAKwB,IAAImM,EAAEg5B,YAAY8M,KAAO9lC,EAAEg5B,YAAY6M,OAAQ,MAG5DN,EAAiBvlC,EAAEulC,iBAEI,aAAnBA,GAIwBl0C,SAAxBkS,EAAMsW,eAA+B7Z,EAAEg5B,YAAYiN,YAAc,GACjE1iC,EAAM8U,iBAGVmuB,GAAkBxmC,EAAEzE,QAAQmwB,OAAQ,EAAQ,GAAI,IAAO1rB,EAAEg5B,YAAY4M,KAAO5lC,EAAEg5B,YAAY2M,OAAS,GAAI,GACnG3lC,EAAEzE,QAAQm8B,mBAAoB,IAC9B8O,EAAiBxmC,EAAEg5B,YAAY8M,KAAO9lC,EAAEg5B,YAAY6M,OAAS,GAAI,GAIrEI,EAAcjmC,EAAEg5B,YAAYiN,YAE5BjmC,EAAEg5B,YAAYkN,SAAU,EAEpBlmC,EAAEzE,QAAQ66B,YAAa,IACC,IAAnBp2B,EAAEi4B,cAAyC,UAAnBsN,GAAgCvlC,EAAEi4B,cAAgBj4B,EAAEi9B,eAAoC,SAAnBsI,KAC9FU,EAAcjmC,EAAEg5B,YAAYiN,YAAcjmC,EAAEzE,QAAQ06B,aACpDj2B,EAAEg5B,YAAYkN,SAAU,GAI5BlmC,EAAEzE,QAAQk8B,YAAa,EACvBz3B,EAAE84B,UAAYyN,EAAUN,EAAcO,EAEtCxmC,EAAE84B,UAAYyN,EAAWN,GAAejmC,EAAE+4B,MAAMhsC,SAAWiT,EAAEm4B,WAAcqO,EAE3ExmC,EAAEzE,QAAQm8B,mBAAoB,IAC9B13B,EAAE84B,UAAYyN,EAAUN,EAAcO,GAGtCxmC,EAAEzE,QAAQ26B,QAAS,GAAQl2B,EAAEzE,QAAQ67B,aAAc,IAInDp3B,EAAEmqB,aAAc,GAChBnqB,EAAE84B,UAAY,MACP,OAGX94B,GAAE0jC,OAAO1jC,EAAE84B,aA3CX,SA+CJjE,EAAM5rC,UAAUo9C,WAAa,SAAS9iC,GAElC,GACIuuB,GADA9xB,EAAI5W,IAKR,OAFA4W,GAAE05B,aAAc,EAEkB,IAA9B15B,EAAEg5B,YAAYoN,aAAqBpmC,EAAEw4B,YAAcx4B,EAAEzE,QAAQy7B,cAC7Dh3B,EAAEg5B,gBACK,IAGiB3nC,SAAxBkS,EAAMsW,eAA+DxoB,SAAhCkS,EAAMsW,cAAciY,UACzDA,EAAUvuB,EAAMsW,cAAciY,QAAQ,IAG1C9xB,EAAEg5B,YAAY2M,OAAS3lC,EAAEg5B,YAAY4M,KAAmBv0C,SAAZygC,EAAwBA,EAAQ/Y,MAAQxV,EAAMyV,QAC1FhZ,EAAEg5B,YAAY6M,OAAS7lC,EAAEg5B,YAAY8M,KAAmBz0C,SAAZygC,EAAwBA,EAAQ3Y,MAAQ5V,EAAM6V,aAE1FpZ,EAAE63B,UAAW,KAIjBhD,EAAM5rC,UAAUw9C,eAAiB5R,EAAM5rC,UAAUy9C,cAAgB,WAE7D,GAAI1mC,GAAI5W,IAEe,QAAnB4W,EAAEg6B,eAEFh6B,EAAE67B,SAEF77B,EAAE04B,YAAYjlB,SAASrqB,KAAKmS,QAAQu7B,OAAO1xB,SAE3CpF,EAAEg6B,aAAa70B,SAASnF,EAAE04B,aAE1B14B,EAAE87B,WAMVjH,EAAM5rC,UAAU4yC,OAAS,WAErB,GAAI77B,GAAI5W,IAERmZ,GAAE,gBAAiBvC,EAAE+5B,SAASjxB,SAE1B9I,EAAEk4B,OACFl4B,EAAEk4B,MAAMpvB,SAGR9I,EAAEu4B,YAAcv4B,EAAEo7B,SAASzwC,KAAKqV,EAAEzE,QAAQ85B,YAC1Cr1B,EAAEu4B,WAAWzvB,SAGb9I,EAAEs4B,YAAct4B,EAAEo7B,SAASzwC,KAAKqV,EAAEzE,QAAQ+5B,YAC1Ct1B,EAAEs4B,WAAWxvB,SAGjB9I,EAAE24B,QACGhY,YAAY,wDACZrQ,KAAK,cAAe,QACpBtV,IAAI,QAAS,KAItB65B,EAAM5rC,UAAUm1C,QAAU,SAASuI,GAE/B,GAAI3mC,GAAI5W,IACR4W,GAAE+5B,QAAQtgB,QAAQ,WAAYzZ,EAAG2mC,IACjC3mC,EAAEm/B,WAINtK,EAAM5rC,UAAUk4C,aAAe,WAE3B,GACIP,GADA5gC,EAAI5W,IAGRw3C,GAAevuC,KAAKkiC,MAAMv0B,EAAEzE,QAAQy7B,aAAe,GAE9Ch3B,EAAEzE,QAAQ45B,UAAW,GACtBn1B,EAAEw4B,WAAax4B,EAAEzE,QAAQy7B,eACxBh3B,EAAEzE,QAAQ66B,WAEXp2B,EAAEu4B,WAAW5X,YAAY,kBAAkBrQ,KAAK,gBAAiB,SACjEtQ,EAAEs4B,WAAW3X,YAAY,kBAAkBrQ,KAAK,gBAAiB,SAE1C,IAAnBtQ,EAAEi4B,cAEFj4B,EAAEu4B,WAAW7X,SAAS,kBAAkBpQ,KAAK,gBAAiB,QAC9DtQ,EAAEs4B,WAAW3X,YAAY,kBAAkBrQ,KAAK,gBAAiB,UAE1DtQ,EAAEi4B,cAAgBj4B,EAAEw4B,WAAax4B,EAAEzE,QAAQy7B,cAAgBh3B,EAAEzE,QAAQk6B,cAAe,GAE3Fz1B,EAAEs4B,WAAW5X,SAAS,kBAAkBpQ,KAAK,gBAAiB,QAC9DtQ,EAAEu4B,WAAW5X,YAAY,kBAAkBrQ,KAAK,gBAAiB,UAE1DtQ,EAAEi4B,cAAgBj4B,EAAEw4B,WAAa,GAAKx4B,EAAEzE,QAAQk6B,cAAe,IAEtEz1B,EAAEs4B,WAAW5X,SAAS,kBAAkBpQ,KAAK,gBAAiB,QAC9DtQ,EAAEu4B,WAAW5X,YAAY,kBAAkBrQ,KAAK,gBAAiB,YAQ7EukB,EAAM5rC,UAAUm0C,WAAa,WAEzB,GAAIp9B,GAAI5W,IAEQ,QAAZ4W,EAAEk4B,QAEFl4B,EAAEk4B,MACG/pB,KAAK,MACLwS,YAAY,gBACZrQ,KAAK,cAAe,QAEzBtQ,EAAEk4B,MACG/pB,KAAK,MACL1J,GAAGpS,KAAKkiC,MAAMv0B,EAAEi4B,aAAej4B,EAAEzE,QAAQ07B,iBACzCvW,SAAS,gBACTpQ,KAAK,cAAe,WAMjCukB,EAAM5rC,UAAUkzB,WAAa,WAEzB,GAAInc,GAAI5W,IAEH4W,GAAEzE,QAAQg6B,WAENvpC,SAASgU,EAAE0I,QAEZ1I,EAAE05B,aAAc,EAIhB15B,EAAE05B,aAAc,IAQ5Bn3B,EAAEhI,GAAGkiC,MAAQ,WACT,GAIIp0C,GACAu+C,EALA5mC,EAAI5W,KACJiS,EAAM/R,UAAU,GAChBsR,EAAOhN,MAAM3E,UAAUL,MAAMG,KAAKO,UAAW,GAC7CS,EAAIiW,EAAE9U,MAGV,KAAK7C,EAAI,EAAGA,EAAI0B,EAAG1B,IAKf,GAJkB,gBAAPgT,IAAiC,mBAAPA,GACjC2E,EAAE3X,GAAGo0C,MAAQ,GAAI5H,GAAM70B,EAAE3X,GAAIgT,GAE7BurC,EAAM5mC,EAAE3X,GAAGo0C,MAAMphC,GAAK9R,MAAMyW,EAAE3X,GAAGo0C,MAAO7hC,GAC1B,mBAAPgsC,GAAoB,MAAOA,EAE1C,OAAO5mC,MCv0Ff,SAAWuC,GACPA,EAAEhI,GAAGssC,IAAM,SAAUtrC,GAYjB,QAASurC,GAAwBnvC,GAC7B,MAAO+tB,oBAAmB/tB,GAAKrM,QAAQ,WAAY,SAAU/D,GACzD,MAAO,IAAMA,EAAEw/C,WAAW,GAAGt+C,SAAS,MAb9C,GAAIujC,IACIgb,kBAAkB,EAClBC,MAAO,6BACPC,eAAgB,EAChBviB,QAAS,yBACTwiB,SAAU,KACVC,WAAY,OACZC,UAAW,QAEf7d,EAAWjnB,EAAE2B,OAAO8nB,EAAUzwB,GAQ9BopB,EAAUpiB,EAAEinB,EAAS7E,SAASjkB,OAAO,WAErC,GAAI4mC,GAAsB/kC,EAAEnZ,MAAMuqB,OAAOrD,KAAK,OAI9C,QAHKlnB,KAAKmkB,IAAM+5B,IACZl+C,KAAKmkB,GAAKhL,EAAEnZ,MAAMknB,KAAK,KAAMg3B,EAAoBh8C,QAAQ,MAAO,OAE7DlC,KAAKmkB,KACZg6B,EAAShlC,EAAEnZ,KACf,IAAKu7B,EAAQz5B,UAAUy5B,EAAQz5B,OAASs+B,EAAS0d,iBAAmBK,EAAOr8C,OAA3E,CAII,IAAMs+B,EAAS6d,YACf7d,EAAS4d,WAAa,OAG1B,IAwBII,GAxBAC,GACA9+B,KAAM,WACF4+B,EAAO1+B,OAAOnE,KAAKA,GAAMiE,KAAK6gB,EAAS6d,YAE3CvoB,UAAW,WACPyoB,EAAO1+B,OAAOnE,KAAKA,GAAMoa,UAAU0K,EAAS6d,YAEhDpoB,OAAQ,WACJsoB,EAAO1+B,OAAOnE,KAAKA,GAAMua,OAAOuK,EAAS6d,YAE7CK,KAAM,WACFH,EAAO7iC,KAAKA,KAIhBijC,EAAY,SAAUC,GACtB,MAAOlxC,UAASkxC,EAAIt3C,SAAShF,QAAQ,IAAK,IAAK,KAE/Cu8C,EAAgBljB,EAAQhgB,IAAI,SAAU3E,EAAG4nC,GACzC,MAAOD,GAAUC,KAClBzlC,MAAM9D,OAAO,GACZypC,EAAgB,8CAEhBC,EAAQJ,EAAUhjB,EAAQ,IAE1BjgB,EAAO,IAAM8kB,EAAS2d,SAAW,GACrCxiB,GAAQvqB,GAAG,QAAS,WACXovB,EAASwd,mBACV7/C,OAAOuqB,SAASC,KAAOvoB,KAAKmkB,MAG/BmT,SAAS,oBACT7f,KAAK,SAAUb,EAAGoS,GAKf,GAJAo1B,EAAaG,EAAUv1B,GAClBoX,EAASwd,kBAAoBQ,IAAeK,GAC7CtlC,EAAE6P,GAAQsO,SAAS,oBAAoB7F,MAAMitB,GAE7CN,IAAeO,EACfrjC,GAAQ,iBAAoBoiC,EAAwB10B,EAAO7E,IAAM,KAAQ6E,EAAOnoB,UAAY,WAC3F,IAAIu9C,GAAcO,EAAO,CAC1B,IAAK1/C,EAAIm/C,EAAYn/C,EAAI0/C,EAAO1/C,IAC5Bqc,GAAQ,UAAY8kB,EAAS2d,SAAW,GAE5CziC,IAAQ,iBAAoBoiC,EAAwB10B,EAAO7E,IAAM,KAAQ6E,EAAOnoB,UAAY,WAE3F,IAAIu9C,EAAaO,EAAO,CACzB,IAAK1/C,EAAIm/C,EAAYn/C,EAAI0/C,EAAO1/C,IAC5Bqc,GAAQ,IAAM8kB,EAAS2d,SAAW,OAEtCziC,IAAQ,aAAgBoiC,EAAwB10B,EAAO7E,IAAM,KAAQ6E,EAAOnoB,UAAY,OAE5F89C,EAAQP,IAEhB9iC,GAAQ,KAAO8kB,EAAS2d,SAAW,IAC9B3d,EAASwd,kBACVzkC,EAAEvW,UAAUoO,GAAG,QAAS,eAAgB,WAGpC,MAFAmI,GAAEpb,QAAQkyB,UAAU,GACpBlyB,OAAOuqB,SAASC,KAAO,IAChB,IAIf81B,EAAOje,EAAS4d,iBAErB7e,QCpGHpZ,OAAO64B,OAAS,WAEZ,IAAK,GADDC,GAAW3+C,UAAU,GAChBjB,EAAI,EAAGA,EAAIiB,UAAU4B,OAAQ7C,IAAK,CACvC,GAAI6/C,GAAO,GAAIr4C,QAAO,OAASxH,EAAI,GAAK,MAAO,KAC/C4/C,GAAWA,EAAS38C,QAAQ48C,EAAM5+C,UAAUjB,IAEhD,MAAO4/C,IAGX3rC,KAAKrT,UAAUk/C,SAAW,SAAUC,GAChC,MAAO,IAAI9rC,MACPlT,KAAKi/C,cACLj/C,KAAKk/C,WACLl/C,KAAKm/C,UACLn/C,KAAKo/C,WAAaJ,EAClBh/C,KAAKq/C,aACLr/C,KAAKs/C,aACLt/C,KAAKu/C,oBAIbxhD,OAAO8kC,MAAQ9kC,OAAO8kC,UACtBA,MAAM2c,cAAgB,SAAU3oC,GAC5B,YACAA,GAAOA,EAAK3U,QAAQ,OAAQ,OAAOA,QAAQ,OAAQ,MACnD,IAAIu9C,GAAQ,GAAIh5C,QAAO,SAAWoQ,EAAO,aACrC6oC,EAAUD,EAAM9yC,KAAK2b,SAASq3B,OAClC,OAAmB,QAAZD,EAAmB,GAAKE,mBAAmBF,EAAQ,GAAGx9C,QAAQ,MAAO,OAGhF2gC,MAAMgd,iBAAmB,SAAUl8B,EAAMm8B,GAGrC,GAFAn8B,GAAQ,GACRm8B,GAAc,GACVA,EAAWh+C,QAAU,EAAG,MAAO6hB,GAAK7hB,OAAS,CAKjD,KAHA,GAAIX,GAAI,EAAG0L,EAAM,EACb2nB,EAAOsrB,EAAWh+C,SAET,CAET,GADA+K,EAAM8W,EAAKb,QAAQg9B,EAAYjzC,KAC3BA,GAAO,GAGJ,KAFH1L,KACA0L,GAAO2nB,EAGf,MAAO,IC7CXz2B,OAAOgiD,IAAMhiD,OAAOgiD,QACpBhiD,OAAOgiD,IAAIC,UAAY,WAGnB,QAASC,GAAUC,EAAU1H,EAAQvO,EAAOh9B,GAExC,GAAKlP,OAAO6b,GAIZ,IACIA,GAAG,OAAQ,QAASsmC,EAAU1H,EAAQvO,EAAOh9B,GAC/C,MAAMkzC,KAIZ,OACIF,UAAWA,MCjBnBliD,OAAOgiD,IAAMhiD,OAAOgiD,QACpBhiD,OAAOgiD,IAAIK,QAAU,WAMjB,QAASC,GAASC,GACd,GAAIC,GAAcxiD,OAAOyiD,eAAeH,QAAQ/b,EAASgc,EAEzD,OAAKC,IAILA,EAAchoB,KAAKC,MAAM+nB,GAGrB,GAAIrtC,MAAKqtC,EAAYE,MAAM1B,SAAS2B,GAAwB,GAAIxtC,MACzDqtC,EAAY1F,KAGhB,MAVI,KAcf,QAAS8F,GAASL,EAAKrzC,GAEnB,GAAI2zC,IACAH,KAAM,GAAIvtC,MACV2nC,KAAM5tC,GAGNszC,EAAchoB,KAAKsoB,UAAUD,EAEjC7iD,QAAOyiD,eAAeG,QAAQrc,EAASgc,EAAKC,GA/BhD,GAAIjc,GAAS,QACToc,EAAuB,CAiC3B,QACIL,QAASA,EACTM,QAASA,MCvCjB5iD,OAAOgiD,IAAMhiD,OAAOgiD,QACpBhiD,OAAOgiD,IAAIe,cAAgB,SAAW3nC,GA2BlC,QAASrR,KAELi5C,IAEAC,EAAiBhwC,GAAG,QAASiwC,GAC7BD,EAAiBhwC,GAAG,OAAQ,WACxB9M,WAAWg9C,EAAoB,OAEnCC,EAAkBnwC,GAAG,QAASowC,GAE9BC,EAAoBrwC,GAAG,QAASswC,GAWpC,QAASC,GAAsBhkB,EAAUikB,GACrC,GAAI9B,MACAzgD,EAAI,EACJZ,EAAI,EACJyD,EAASy7B,EAASz7B,OAClB6hB,EAAO,GACP89B,EAAa,CAEjB,KAAKxiD,EAAGA,EAAI6C,EAAQ7C,IAAK,CAErB,GAAIyiD,IAAQ,CAEZ,IAAIhC,EAAQ59C,QAAU0/C,EAClB,KAGJ,IAAIG,GAAcpkB,EAASt+B,EAC3B0iD,GAAY10C,MAAQ,CAEpB,IAAI20C,GAAc,CAElB,KAAKvjD,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAIpB,OAFAujD,EAAc,EAENvjD,GACJ,IAAK,GACDslB,EAAOg+B,EAAYE,YAAYthD,cAC/BkhD,EAAa,GACb,MACJ,KAAK,GACD99B,EAAOg+B,EAAY9D,MAAMt9C,cACzBkhD,EAAa,GACb,MACJ,KAAK,GACD99B,EAAOg+B,EAAYG,MAAMvhD,cACzBkhD,EAAa,EACb,MACJ,KAAK,GACD99B,EAAOg+B,EAAY/iB,QAAQr+B,cAC3BkhD,EAAa,GAGjB99B,EAAKb,QAAQi/B,IAAgB,GAAKp+B,EAAKb,QAAQk/B,IAAwB,KACvEN,GAAQ,EACRE,EAAc/e,MAAMgd,iBAAiBl8B,EAAMo+B,GAEvCC,IAAwBD,IACxBH,GAAe/e,MAAMgd,iBAAiBl8B,EAAMq+B,IAG5CJ,EAAc,IACdD,EAAY10C,OAAU20C,EAAcH,IAK5CC,GACAhC,EAAQl/C,KAAKmhD,GAerB,MAVAjC,GAAUA,EAAQzqC,KAAK,SAAShS,EAAEK,GAC9B,MAAIL,GAAEgK,MAAQ3J,EAAE2J,OACL,EACD3J,EAAE2J,MAAQhK,EAAEgK,MACX,EAEA,IAOnB,QAASg1C,KACL,MAAO9oC,GAAEuiB,QAAQwmB,GAGrB,QAASC,GAAgBrC,GACrB,QAAmB,KAAfA,GAAqBA,EAAWh+C,OAASsgD,GAcjD,QAASnB,GAAkBriD,GAGvB,MAAkB,MAAdA,EAAE6wB,SAAgC,KAAd7wB,EAAE6wB,SACtB7wB,EAAEqwB,kBACK,GAIO,KAAdrwB,EAAE6wB,SACF7wB,EAAEqwB,iBACFmyB,EAAexiD,IACR,IAIX+I,aAAa06C,QACbA,EAAan+C,WAAWy7C,EAAQ,OAGpC,QAAS2C,GAAmB5C,GACxB,IAAKA,EAED,WADA6C,GAAsBhrB,YAAY,SAItC,IAAIt4B,GAAI,EACJ6C,EAAS49C,EAAQ59C,OAEjBwZ,EAAO,EAEX,KAAKrc,EAAGA,EAAI6C,EAAQ7C,IAAK,CACrB,GAAI0iD,GAAcjC,EAAQzgD,GAEtB4iD,EAAcF,EAAYE,WAC1BA,GAAY//C,OAAS0gD,IACrBX,EAAcA,EAAYzuC,OAAO,EAAGovC,GAA6B,YAGrElnC,GAAQyK,OAAO64B,OAAO,uDAA0D+C,EAAY9D,MAAO8D,EAAY/8C,IAAKi9C,GAGxHU,EAAsBzjC,QAAQwS,OAAOhW,GAAMic,YAAY,UAG3D,QAAS2pB,KACLqB,EAAsBjrB,SAAS,UAGnC,QAASqoB,KACL,GAAI8C,GAAOzB,EAAiBrpB,KAK5B,OAHAoqB,GAAcU,EAAK/+B,OAAOnjB,cAC1ByhD,EAAsBD,EAAY7/C,QAAQ,IAAK,IAE1CigD,EAAgBJ,OAKrBW,MAJIH,EAAsBzjC,SACf,GAMf,QAAS4jC,KACL,GAAIC,GAAsB5C,IAAIK,QAAQC,QAAQuC,EACzCD,GAMDE,EAAuBF,GALvBV,IAAmBziC,KAAK,SAAU+d,GAC9BwiB,IAAIK,QAAQO,QAAQiC,EAAgBrlB,GACpCslB,EAAuBtlB,KAOnC,QAASslB,GAAuBtlB,GAC5B,GAAImiB,GAAU6B,EAAsBhkB,EAAUulB,EAC9C/C,KAAIC,UAAUC,UAAU,aAAc,SAAU8B,GAChDO,EAAmB5C,GAGvB,QAAS0B,GAAexiD,GACpBA,EAAEqwB,gBACF,IAAI6wB,GAAakB,EAAiBrpB,MAAMjU,MAGxC,OAFAq8B,KAAIC,UAAUC,UAAU,aAAc,iBAAkBH,GACxDl9C,SAAS0lB,SAASpiB,KAAO6f,OAAO64B,OAAO,sBAAuBmE,EAAqBzmB,mBAAmBwjB,KAC/F,EAUX,QAASwB,GAAqB1iD,GAG1B,MAAkB,MAAdA,EAAE6wB,SAAgC,KAAd7wB,EAAE6wB,SACtB7wB,EAAEqwB,kBACK,GAIO,KAAdrwB,EAAE6wB,SACF7wB,EAAEqwB,iBACF6xB,KACO,IAIXn5C,aAAa06C,QACbA,EAAan+C,WAAW48C,EAAe,OAG3C,QAASA,KACL,GAAI2B,GAAOpB,EAAoB1pB,KAK/B,OAHAoqB,GAAcU,EAAK/+B,OAAOnjB,cAC1ByhD,EAAsBD,EAAY7/C,QAAQ,IAAK,MAE1CigD,EAAgBJ,QAGrBiB,KAGJ,QAASjC,KACLgB,EAAclf,MAAM2c,cAAcuD,GAClCf,EAAsBD,EAAY7/C,QAAQ,IAAK,IAC/Cm/C,EAAoB1pB,IAAIoqB,GACpBI,EAAgBJ,IAChBiB,IAIR,QAASA,KACL,GAAIL,GAAsB5C,IAAIK,QAAQC,QAAQuC,EACzCD,GAMDM,EAA0BN,GAL1BV,IAAmBziC,KAAK,SAAU+d,GAC9BwiB,IAAIK,QAAQO,QAAQiC,EAAgBrlB,GACpC0lB,EAA0B1lB,KAQtC,QAAS0lB,GAA0B1lB,GAC/B,GAAImiB,GAAU6B,EAAsBhkB,EAAU2lB,EAC9CnD,KAAIC,UAAUC,UAAU,gBAAiB,SAAU8B,GACnDoB,EAAsBzD,GAG1B,QAASyD,GAAsBzD,GAC3B,GAAIzgD,GAAI,EACJ6C,EAAS49C,EAAQ59C,OAEjBwZ,EAAO,EAEX,KAAKrc,EAAGA,EAAI6C,EAAQ7C,IAAK,CACrB,GAAI0iD,GAAcjC,EAAQzgD,GAEtB4iD,EAAcF,EAAYE,WAC1BA,GAAY//C,OAASshD,IACrBvB,EAAcA,EAAYzuC,OAAO,EAAGgwC,GAAgC,YAGxE9nC,GAAQyK,OAAO64B,OAAO,4JAAqK+C,EAAY9D,MAAO8D,EAAY/8C,IAAKi9C,EAAaj/C,SAAS0lB,SAAS+6B,OAAS1B,EAAY/8C,KAGvR0+C,EAAyBxkC,QAAQwS,OAAOhW,GA1T5C,GAaI+mC,GAbAH,EAAgB,kBAChBU,EAAiB,eAEjBG,EAAsB,aAEtBX,EAAqB,EACrBU,EAAkB,GAClBI,EAAqB,GACrBV,EAA4B,GAC5BY,EAA+B,IAE/BrB,EAAc,GACdC,EAAsB,GAGtBuB,EAAcpqC,EAAE,eAEhB6nC,EAAmBuC,EAAYx+B,KAAK,qBACpCw9B,EAAwBgB,EAAYx+B,KAAK,2BACzCo8B,EAAoBoC,EAAYx+B,KAAK,sBAGrCs8B,EAAsBkC,EAAYx+B,KAAK,wBACvCu+B,EAA2BnqC,EAAE,0BAsSjC,QACIrR,KAAMA,IAIXq3B,QCrUHA,OAAOv8B,UAAUqiC,aAEjB9F,OAAOv8B,UAAUgV,MAAM,WACnB,GAAI+4B,GAAUxR,OAAO,UACjBwR,GAAQ7uC,OAAS,GACjB6uC,EAAQ0C,OACJtH,QAAQ,EACRW,MAAM,EACNkB,aAAc,EACdC,eAAgB,EAChB1B,UAAU,EACVC,cAAe,IACfoB,aAEQlH,WAAY,IACZlG,UACI2L,QAAQ,MAQ5B,IAAIyX,GAAOrkB,OAAO,OACdqkB,GAAK1hD,OAAS,IACd0hD,EAAK/F,KACDliB,QAAS,kEACTyiB,WAAY,SAGI,KAAhBwF,EAAKloC,SACL6jB,OAAO,iBAAiBzf,SACxByf,OAAO,eAAezf,UAK9B,IAAI+jC,GAAUtqC,EAAE,iBAChBsqC,GAAQhsC,KAAK,SAAShG,EAAOopC,GACzB,GAAI6I,GAASvqC,EAAE0hC,EACf6I,GAAO3nB,KAAK,mCAIpBh+B,OAAOgiD,IAAMhiD,OAAOgiD,QAEpBhiD,OAAOgiD,IAAIe,cAAch5C","file":"footer.min.js","sourceRoot":"../../dist/js/"} \ No newline at end of file +{"version":3,"sources":["../src/js/vendor/modernizr/modernizr.custom.18747.js","../src/js/vendor/picturefill/picturefill.js","../src/js/vendor/jquery/jquery.min.js","../src/js/vendor/foundation/foundation.js","../src/js/vendor/foundation/foundation.topbar.js","../src/js/vendor/foundation/foundation.clearing.js","../src/js/vendor/slick/slick.js","../src/js/vendor/jekyll-toc/jekyll-toc.js","../src/js/core/utils.js","../src/js/components/analytics.js","../src/js/components/storage.js","../src/js/components/contentSearch.js","../src/js/app.js"],"names":["window","Modernizr","a","b","c","u","j","cssText","w","r","t","e","g","documentElement","i","createElement","style","m","p","q","slice","s","hasOwnProperty","call","constructor","prototype","Function","bind","this","TypeError","d","arguments","f","apply","concat","Object","z","toLowerCase","push","addTest","className","l","getElementsByTagName","innerHTML","insertBefore","lastChild","firstChild","elements","split","n","h","o","k","cache","cloneNode","test","createElem","canHaveChildren","tagUrn","frag","appendChild","createDocumentFragment","length","createFrag","shivMethods","join","replace","shivCSS","hasCSS","html5","childNodes","version","supportsUnknownElements","type","shivDocument","_version","document","shift","B","injectCss","injectJs","x","readyState","onload","onreadystatechange","removeChild","y","errorTimeout","data","src","width","height","onerror","splice","v","loader","load","A","setTimeout","toString","createRange","compareNode","parentNode","opera","attachEvent","Array","isArray","timeout","pop","url","origUrl","prefixes","autoCallback","bypass","instead","noexec","forceCSS","forceJS","attrs","both","callback","complete","yep","nope","yepnope","addPrefix","addFilter","addEventListener","removeEventListener","executeStack","setAttribute","href","rel","ua","navigator","userAgent","HTMLPictureElement","match","RegExp","$1","timer","dummySrc","fixRespimg","img","source","sizes","picture","nodeName","toUpperCase","firstElementChild","_pfLastSize","offsetWidth","findPictureImgs","imgs","querySelectorAll","onResize","clearTimeout","mq","matchMedia","init","addListener","srcset","undefined","isSpace","updateMetrics","isVwDirty","DPR","devicePixelRatio","cssCache","sizeLengthCache","pf","units","Math","max","innerWidth","docElem","clientWidth","innerHeight","clientHeight","vw","vh","evalId","em","getEmValue","rem","chooseLowRes","lowerValue","higherValue","dprValue","isCached","bonusFactor","tooMuch","bonus","meanDensity","cfg","algorithm","pow","sqrt","applyBestCandidate","srcSetCandidates","matchingSet","getSet","evaluated","setRes","applySetCandidate","ns","evaled","ascendingSort","res","setSrcToCur","set","candidate","sets","getCandidateForSrc","makeUrl","curSrc","curCan","setResolution","candidates","parseSet","getAllSourceElements","len","sources","getAttribute","media","parseSrcset","input","collectCharacters","regEx","chars","exec","substring","pos","parseDescriptors","desc","lastChar","value","intVal","floatVal","pError","descriptors","parseInt","parseFloat","regexNonNegativeInteger","regexFloatingPoint","has1x","currentDescriptor","state","inputLength","regexLeadingCommasOrSpaces","regexLeadingNotSpaces","regexTrailingCommas","regexLeadingSpaces","charAt","parseSizes","strValue","unparsedSizesList","unparsedSizesListLength","unparsedSize","lastComponentValue","size","regexCssLengthWithUnits","regexCssCalc","str","pushComponent","component","componentArray","pushComponentArray","listArray","chrctr","parenDepth","inComment","matchesMedia","eminpx","alwaysCheckWDescriptor","isSupportTestReady","noop","image","getImgAttr","setImgAttr","removeImgAttr","removeAttribute","types","supportAbort","curSrcProp","regWDesc","regSize","setOptions","picturefillCFG","fsCss","px","in","anchor","alreadyRun","on","obj","evt","fn","capture","memoize","evalCSS","regLength","args","index","string","buildStr","css","parsedLength","sizesattr","cWidth","calcListLength","picturefill","opt","plen","options","nodeType","context","qsa","reevaluate","reselect","sel","selShort","setupRun","fillImg","teardownRun","console","warn","implementation","hasFeature","Date","getTime","substr","supSrcset","supSizes","supPicture","image2","width1","setSize","matches","mMQ","calcLength","sourceSizeValue","supportsType","parseSize","sourceSizeStr","cands","body","div","originalHTMLCSS","originalBodyCSS","sourceSizeListStr","uT","winningLength","bestCandidate","candidateSrc","abortCurSrc","imageData","dpr","cached","sort","setSrc","origWidth","parseSets","element","parent","srcsetAttribute","imageSet","isWDescripor","srcsetParsed","hasPicture","pic","supported","srcAttr","parsed","extreme","isDomReady","regReady","run","timerId","fillImgs","lastClientWidth","func","wait","timestamp","later","last","_","name","module","exports","define","amd","typeUri","Image","Error","isWindow","isFunction","grep","filter","F","H","each","G","J","ready","M","expando","uid","R","Q","P","parseJSON","O","W","cur","cssNumber","T","unit","start","end","merge","aa","N","get","ca","ba","Y","$","_default","htmlPrefilter","textContent","createTextNode","inArray","contains","ownerDocument","Z","ga","ha","ia","activeElement","ja","off","guid","event","add","pa","qa","ra","na","sa","hasData","access","events","handle","extend","ta","X","checked","defaultValue","checkClone","ma","eq","html","map","clone","_evalUrl","globalEval","oa","va","cleanData","ya","appendTo","detach","za","xa","wa","contentDocument","write","close","Fa","Ca","getPropertyValue","pixelMarginRight","Ba","Aa","minWidth","maxWidth","Ga","Ma","La","Ka","Na","Oa","U","Pa","offsetHeight","msFullscreenElement","top","getClientRects","round","getBoundingClientRect","boxSizingReliable","Qa","display","V","Ra","Wa","Sa","now","Xa","opacity","Ya","_a","tweeners","Za","queue","_queueHooks","unqueued","empty","fire","always","overflow","overflowX","overflowY","Ua","isEmptyObject","hidden","show","done","hide","remove","$a","camelCase","cssHooks","expand","prefilters","Deferred","elem","startTime","duration","tweens","notifyWith","resolveWith","promise","props","opts","specialEasing","easing","originalProperties","originalOptions","createTween","Tween","stop","rejectWith","proxy","fx","anim","progress","fail","fb","vb","unshift","wb","dataTypes","sb","xb","ajaxSettings","flatOptions","yb","contents","mimeType","getResponseHeader","converters","zb","responseFields","dataFilter","dataType","error","Fb","Bb","Lb","defaultView","indexOf","jquery","selector","toArray","pushStack","prevObject","first","isPlainObject","random","isReady","isNumeric","eval","trim","text","head","makeArray","support","Symbol","iterator","fa","getElementById","id","getElementsByClassName","cacheLength","attrHandle","ka","sourceIndex","C","nextSibling","dir","uniqueID","relative","find","TAG","uniqueSort","D","E","I","K","L","S","ID","CLASS","ATTR","PSEUDO","CHILD","bool","needsContext","String","fromCharCode","da","ea","isXML","setDocument","attributes","createComment","getById","getElementsByName","getAttributeNode","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","sortDetached","attr","specified","detectDuplicates","sortStable","getText","nodeValue","selectors","createPseudo",">"," ","+","~","preFilter","pseudos","setFilters","not","has","innerText","lang","target","location","hash","root","focus","hasFocus","tabIndex","enabled","disabled","selected","selectedIndex","header","button","even","odd","lt","gt","nth","radio","checkbox","file","password","submit","reset","filters","tokenize","compile","select","expr","unique","isXMLDoc","is","parseHTML","children","next","prev","closest","prevAll","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","siblings","reverse","Callbacks","once","stopOnFalse","memory","disable","lock","locked","fireWith","fired","then","notify","resolve","reject","pipe","when","readyWait","holdReady","triggerHandler","doScroll","register","defineProperty","writable","configurable","removeData","_data","_removeData","dequeue","clearQueue","option","thead","col","tr","td","optgroup","tbody","tfoot","colgroup","caption","th","noCloneChecked","global","handler","triggered","dispatch","special","delegateType","bindType","origType","namespace","delegateCount","setup","teardown","removeEvent","fix","delegateTarget","preDispatch","handlers","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","handleObj","result","preventDefault","stopPropagation","postDispatch","isNaN","fixHooks","keyHooks","which","charCode","keyCode","mouseHooks","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","Event","noBubble","trigger","blur","click","beforeunload","originalEvent","returnValue","isDefaultPrevented","defaultPrevented","timeStamp","stopImmediatePropagation","mouseenter","mouseleave","pointerenter","pointerleave","relatedTarget","one","la","domManip","append","prepend","before","after","replaceWith","replaceChild","prependTo","insertAfter","replaceAll","HTML","BODY","opener","getComputedStyle","Da","Ea","marginLeft","marginRight","backgroundClip","clearCloneStyle","pixelPosition","reliableMarginLeft","reliableMarginRight","Ha","Ia","position","visibility","Ja","letterSpacing","fontWeight","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","cssProps","float","isFinite","left","margin","padding","border","toggle","prop","propHooks","step","linear","swing","cos","PI","Ta","Va","Animation","*","tweener","prefilter","speed","speeds","old","fadeTo","animate","finish","timers","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","tick","interval","setInterval","clearInterval","slow","fast","delay","checkOn","optSelected","optDisabled","radioValue","ab","bb","removeAttr","attrHooks","propFix","cb","db","removeProp","for","class","eb","addClass","removeClass","toggleClass","hasClass","gb","val","valHooks","hb","isTrigger","parentWindow","simulate","isSimulated","hover","focusin","ib","jb","kb","JSON","parse","parseXML","DOMParser","parseFromString","lb","mb","nb","ob","pb","qb","rb","tb","ub","active","lastModified","etag","isLocal","protocol","processData","async","contentType","accepts","xml","json","* text","text html","text json","text xml","ajaxSetup","ajaxPrefilter","ajaxTransport","ajax","ifModified","status","statusText","statusCode","getAllResponseHeaders","setRequestHeader","overrideMimeType","abort","success","method","crossDomain","host","param","traditional","hasContent","headers","beforeSend","send","getJSON","getScript","throws","wrapAll","wrapInner","wrap","unwrap","visible","Ab","Cb","Db","Eb","encodeURIComponent","serialize","serializeArray","xhr","XMLHttpRequest","Gb","0","1223","Hb","cors","open","username","xhrFields","onabort","responseType","responseText","binary","response","script","text script","charset","scriptCharset","Ib","Jb","jsonp","jsonpCallback","createHTMLDocument","Kb","animated","offset","setOffset","using","pageYOffset","pageXOffset","offsetParent","scrollTo","Height","Width","content","","unbind","delegate","undelegate","andSelf","Mb","jQuery","Nb","noConflict","removeQuotes","class_array","FastClick","attach","cont","attr_name","arr","add_namespace","parts","bindings","self","$this","should_bind_events","settings","data_options","scope","single_image_loaded","loaded","bindLoad","doc","refNode","fakeBody","background","raf","animating","requestAnimationFrame","jqueryFxAvailable","lastTime","vendors","cancelAnimationFrame","currTime","timeToCall","Foundation","media_queries","small","small-only","medium","medium-only","large","large-only","xlarge","xlarge-only","xxlarge","stylesheet","sheet","libraries","responses","rtl","set_namespace","libs","init_lib","lib","patch","defaults","utils","inherit","methods","methods_arr","throttle","debounce","immediate","callNow","el","data_attr_name","ii","opts_arr","cached_options","register_media","media_class","add_custom_rule","rule","insertRule","cssRules","image_loaded","images","unloaded","random_str","fidx","prefix","is_small_up","is_medium_up","is_large_up","is_xlarge_up","is_xxlarge_up","is_small_only","is_medium_only","is_large_only","is_xlarge_only","is_xxlarge_only","foundation","topbar","sticky_class","custom_back_text","back_text","mobile_show_parent_link","is_hover","scrolltop","sticky_on","section","topbarContainer","is_sticky","sticky_topbar","outerHeight","assembled","assemble","sticky","smallMatch","medMatch","lrgMatch","toggleEl","breakpoint","right","update_sticky_positioning","bar","li","touch","$selectedLi","resize","$movedLi","$previousLevelUl","stickyOffset","stickyContainer","doToggle","$titleLi","$link","$dropdown","ul","total","klass","$window","distance","reflow","clearing","templates","viewing","close_selectors","open_selectors","skip_selector","touch_label","$scroll_container","current","is_open","update_paddles","nav","keydown","swipe_events","touches","start_page_x","start_page_y","start_time","delta_x","is_scrolling","scale","abs","direction","$li","$el","grid","grid_outerHTML","outerHTML","holder","wrapper","$image","startLoad","outerWidth","container","visible_image","fix_height","center_and_label","label","prev_index","NEXT_KEY","PREV_KEY","go","lis","marginTop","preload","new_img","new_a","$ul","skip_shift","old_index","dir_obj","up_count","unlock","li_width","floor","target_index","adjacent","current_index","factory","require","Slick","dataSettings","accessibility","adaptiveHeight","appendArrows","appendDots","arrows","asNavFor","prevArrow","nextArrow","autoplay","autoplaySpeed","centerMode","centerPadding","cssEase","customPaging","slider","dots","dotsClass","draggable","edgeFriction","fade","focusOnSelect","infinite","initialSlide","lazyLoad","mobileFirst","pauseOnHover","pauseOnFocus","pauseOnDotsHover","respondTo","responsive","rows","slide","slidesPerRow","slidesToShow","slidesToScroll","swipe","swipeToSlide","touchMove","touchThreshold","useCSS","useTransform","variableWidth","vertical","verticalSwiping","waitForAnimate","initials","dragging","autoPlayTimer","currentDirection","currentLeft","currentSlide","$dots","listWidth","listHeight","loadIndex","$nextArrow","$prevArrow","slideCount","slideWidth","$slideTrack","$slides","sliding","slideOffset","swipeLeft","$list","touchObject","transformsEnabled","unslicked","activeBreakpoint","animType","animProp","breakpoints","breakpointSettings","cssTransitions","focussed","interrupted","paused","positionProp","rowCount","shouldClick","$slider","$slidesCache","transformType","transitionType","visibilityChange","windowWidth","windowTimer","originalSettings","mozHidden","webkitHidden","autoPlay","autoPlayClear","autoPlayIterator","changeSlide","clickHandler","selectHandler","setPosition","swipeHandler","dragHandler","keyHandler","instanceUid","htmlExpr","registerBreakpoints","activateADA","aria-hidden","tabindex","addSlide","slickAdd","markup","addBefore","unload","reinit","animateHeight","targetHeight","animateSlide","targetLeft","animProps","animStart","ceil","applyTransition","disableTransition","getNavTarget","slick","slideHandler","transition","slideTo","buildArrows","aria-disabled","buildDots","dot","getDotCount","buildOut","setupInfinite","updateDots","setSlideClasses","buildRows","newSlides","numOfSlides","originalSlides","slidesPerSection","row","checkResponsive","initial","forceUpdate","targetBreakpoint","respondToWidth","triggerBreakpoint","sliderWidth","min","unslick","refresh","dontAnimate","indexOffset","unevenOffset","$target","message","checkNavigable","navigables","prevNavigable","getNavigableIndexes","cleanUpEvents","interrupt","cleanUpSlideEvents","orientationChange","cleanUpRows","destroy","fadeSlide","slideIndex","fadeSlideOut","filterSlides","slickFilter","focusHandler","$sf","getCurrent","slickCurrentSlide","breakPoint","counter","pagerQty","getLeft","verticalHeight","targetSlide","verticalOffset","offsetLeft","getOption","slickGetOption","indexes","getSlick","getSlideCount","swipedSlide","centerOffset","goTo","slickGoTo","creation","setProps","loadSlider","initializeEvents","updateArrows","initADA","role","aria-describedby","aria-selected","aria-controls","initArrowEvents","initDotEvents","initSlideEvents","action","initUI","tagName","loadImages","imagesScope","imageSource","imageToLoad","loadRange","cloneRange","rangeStart","rangeEnd","progressiveLazyLoad","slickNext","pause","slickPause","play","slickPlay","postSlide","slickPrev","tryCount","$imgsToLoad","initializing","lastVisibleIndex","currentBreakpoint","responsiveSettings","windowDelay","removeSlide","slickRemove","removeBefore","removeAll","setCSS","positionProps","setDimensions","setFade","setHeight","setOption","slickSetOption","item","bodyStyle","WebkitTransition","MozTransition","msTransition","OTransform","perspectiveProperty","webkitPerspective","MozTransform","MozPerspective","webkitTransform","msTransform","transform","allSlides","remainder","infiniteCount","targetElement","sync","animSlide","oldSlide","slideLeft","navTarget","swipeDirection","xDist","yDist","swipeAngle","startX","curX","startY","curY","atan2","swipeEnd","swipeLength","edgeHit","minSwipe","fingerCount","swipeStart","swipeMove","curLeft","positionOffset","unfilterSlides","slickUnfilter","fromBreakpoint","ret","toc","fixedEncodeURIComponent","charCodeAt","noBackToTopLinks","title","minimumHeaders","listType","showEffect","showSpeed","previousSiblingName","output","this_level","render","none","get_level","ele","highest_level","level","format","myString","regX","addHours","hours","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","getQueryParam","regex","results","search","decodeURIComponent","countOccurrences","searchTerm","app","analytics","sendEvent","category","ex","storage","getItem","key","currentItem","sessionStorage","date","timeToInvalidateItem","setItem","itemToSave","stringify","contentSearch","updateSearchFieldFromQueryParams","$liveSearchField","handleLiveKeyDown","hideLiveResultList","$liveSearchButton","openSearchPage","$contentSearchField","handleContentKeyDown","findSearchTermInArray","maxEntries","multiplier","found","currentPage","occurrences","description","group","_searchTerm","_searchTermCombined","getSearchResults","searchJsonUrl","searchTermValid","_searchStartLength","_timeOutID","showLiveResultList","$liveSearchResultList","_maxDescriptionLengthLive","term","startLiveSearch","cachedSearchResults","storageKeyName","handleLiveSearchResult","_maxEntriesLive","searchTermParamName","startContentSearch","handleContentSearchResult","_maxEntriesContent","showContentResultList","_maxDescriptionLengthContent","origin","$contentSearchResultList","$liveSearch","$toc"],"mappings":"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","file":"footer.min.js","sourceRoot":"../../dist/js/"} \ No newline at end of file diff --git a/docs/src/package-lock.json b/docs/src/package-lock.json index 7fbf90dc6c..a20abaa185 100644 --- a/docs/src/package-lock.json +++ b/docs/src/package-lock.json @@ -10,26 +10,6 @@ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true }, - "ajv": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz", - "integrity": "sha1-RBT/dKUIecII7l/cgm4ywwNUnto=", - "dev": true, - "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.0.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" - }, - "dependencies": { - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - } - } - }, "align-text": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", @@ -139,9 +119,9 @@ "dev": true }, "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", "dev": true }, "async": { @@ -170,15 +150,15 @@ "dev": true }, "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", "dev": true }, "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", + "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==", "dev": true }, "balanced-match": { @@ -303,13 +283,13 @@ "bytes": "2.2.0", "content-type": "1.0.4", "debug": "2.2.0", - "depd": "1.1.1", + "depd": "1.1.2", "http-errors": "1.3.1", "iconv-lite": "0.4.13", "on-finished": "2.3.0", "qs": "5.2.0", "raw-body": "2.1.7", - "type-is": "1.6.15" + "type-is": "1.6.16" }, "dependencies": { "iconv-lite": { @@ -327,12 +307,12 @@ } }, "boom": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", - "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "dev": true, "requires": { - "hoek": "4.2.0" + "hoek": "2.16.3" } }, "brace-expansion": { @@ -418,9 +398,9 @@ "dev": true }, "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", "dev": true }, "caw": { @@ -521,10 +501,10 @@ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, - "coffee-script": { + "coffeescript": { "version": "1.10.0", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.10.0.tgz", - "integrity": "sha1-EpOLz5vhlI+gBvkuDEyegXBRCMA=", + "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.10.0.tgz", + "integrity": "sha1-56qDAZF+9iGzXYo580jc3R234z4=", "dev": true }, "colors": { @@ -534,9 +514,9 @@ "dev": true }, "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "dev": true, "requires": { "delayed-stream": "1.0.0" @@ -608,33 +588,13 @@ "capture-stack-trace": "1.0.0" } }, - "cross-spawn": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-0.2.9.tgz", - "integrity": "sha1-vWf5bAfvtjA7f+lMHpefiEeOCjk=", - "dev": true, - "requires": { - "lru-cache": "2.7.3" - } - }, "cryptiles": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", - "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", "dev": true, "requires": { - "boom": "5.2.0" - }, - "dependencies": { - "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "dev": true, - "requires": { - "hoek": "4.2.0" - } - } + "boom": "2.10.1" } }, "csso": { @@ -657,15 +617,6 @@ "array-find-index": "1.0.2" } }, - "dargs": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", - "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -673,6 +624,14 @@ "dev": true, "requires": { "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } } }, "dateformat": { @@ -888,9 +847,9 @@ "dev": true }, "depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true }, "download": { @@ -1103,18 +1062,6 @@ "time-stamp": "1.1.0" } }, - "fast-deep-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true - }, "faye-websocket": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", @@ -1266,14 +1213,14 @@ "dev": true }, "form-data": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", - "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", "dev": true, "requires": { "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.17" + "combined-stream": "1.0.6", + "mime-types": "2.1.18" } }, "fs.realpath": { @@ -1325,6 +1272,21 @@ "globule": "1.2.0" } }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "requires": { + "is-property": "1.0.2" + } + }, "get-caller-file": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", @@ -1359,6 +1321,14 @@ "dev": true, "requires": { "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } } }, "gifsicle": { @@ -1471,7 +1441,7 @@ "dev": true, "requires": { "glob": "7.1.2", - "lodash": "4.17.4", + "lodash": "4.17.10", "minimatch": "3.0.4" }, "dependencies": { @@ -1488,12 +1458,6 @@ "once": "1.4.0", "path-is-absolute": "1.0.1" } - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", - "dev": true } } }, @@ -1542,12 +1506,12 @@ "dev": true }, "grunt": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.1.tgz", - "integrity": "sha1-6HeHZOlEsY8yuw8QuQeEdcnftWs=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.2.tgz", + "integrity": "sha1-TmpeaVtwRy/VME9fqeNCNoNqc7w=", "dev": true, "requires": { - "coffee-script": "1.10.0", + "coffeescript": "1.10.0", "dateformat": "1.0.12", "eventemitter2": "0.4.14", "exit": "0.1.2", @@ -1555,9 +1519,9 @@ "glob": "7.0.6", "grunt-cli": "1.2.0", "grunt-known-options": "1.1.0", - "grunt-legacy-log": "1.0.0", + "grunt-legacy-log": "1.0.2", "grunt-legacy-util": "1.0.0", - "iconv-lite": "0.4.19", + "iconv-lite": "0.4.21", "js-yaml": "3.5.5", "minimatch": "3.0.4", "nopt": "3.0.6", @@ -1602,27 +1566,6 @@ "pretty-bytes": "3.0.1" } }, - "grunt-contrib-sass": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-sass/-/grunt-contrib-sass-1.0.0.tgz", - "integrity": "sha1-gGg4JRy8DhqU1k1RXN00z2dNcBs=", - "dev": true, - "requires": { - "async": "0.9.2", - "chalk": "1.1.3", - "cross-spawn": "0.2.9", - "dargs": "4.1.0", - "which": "1.2.14" - }, - "dependencies": { - "async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", - "dev": true - } - } - }, "grunt-contrib-uglify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-2.3.0.tgz", @@ -1637,14 +1580,14 @@ } }, "grunt-contrib-watch": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz", - "integrity": "sha1-hKGnodar0m7VaEE0lscxM+mQAY8=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.0.1.tgz", + "integrity": "sha512-8Zka/svGl6+ZwF7d6z/CfXwsb4cDODnajmZsY4nUAs9Ob0kJEcsLiDf5qm2HdDoEcm3NHjWCrFiWx+PZ2y4D7A==", "dev": true, "requires": { "async": "1.5.2", "gaze": "1.1.2", - "lodash": "3.10.1", + "lodash": "4.17.10", "tiny-lr": "0.2.1" } }, @@ -1655,16 +1598,15 @@ "dev": true }, "grunt-legacy-log": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz", - "integrity": "sha1-+4bxgJhHvAfcR4Q/ns1srLYt8tU=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.2.tgz", + "integrity": "sha512-WdedTJ/6zCXnI/coaouzqvkI19uwqbcPkdsXiDRKJyB5rOUlOxnCnTVbpeUdEckKVir2uHF3rDBYppj2p6N3+g==", "dev": true, "requires": { "colors": "1.1.2", "grunt-legacy-log-utils": "1.0.0", "hooker": "0.2.3", - "lodash": "3.10.1", - "underscore.string": "3.2.3" + "lodash": "4.17.10" } }, "grunt-legacy-log-utils": { @@ -1709,13 +1651,13 @@ } }, "grunt-sass": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/grunt-sass/-/grunt-sass-2.0.0.tgz", - "integrity": "sha1-kHTPnXtFkuIPd4jKpye4+aoGtgo=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/grunt-sass/-/grunt-sass-2.1.0.tgz", + "integrity": "sha512-XkexnQt/9rhReNd+Y7T0n/2g5FqYOQKfi2iSlpwDqvgs7EgEaGTxNhnWzHnbW5oNRvzL9AHopBG3AgRxL0d+DA==", "dev": true, "requires": { "each-async": "1.1.1", - "node-sass": "4.5.3", + "node-sass": "4.9.0", "object-assign": "4.1.1" } }, @@ -1842,20 +1784,24 @@ "concat-stream": "1.6.0" } }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, "har-validator": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", - "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", "dev": true, "requires": { - "ajv": "5.3.0", - "har-schema": "2.0.0" + "chalk": "1.1.3", + "commander": "2.15.1", + "is-my-json-valid": "2.17.2", + "pinkie-promise": "2.0.1" + }, + "dependencies": { + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + } } }, "has-ansi": { @@ -1883,21 +1829,21 @@ "dev": true }, "hawk": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", - "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "dev": true, "requires": { - "boom": "4.3.1", - "cryptiles": "3.1.2", - "hoek": "4.2.0", - "sntp": "2.1.0" + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" } }, "hoek": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", - "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", "dev": true }, "hooker": { @@ -1919,31 +1865,34 @@ "dev": true, "requires": { "inherits": "2.0.3", - "statuses": "1.4.0" + "statuses": "1.5.0" } }, "http-parser-js": { - "version": "0.4.9", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.9.tgz", - "integrity": "sha1-6hoE+2St/wJC6ZdPKX3Uw8rSceE=", + "version": "0.4.12", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.12.tgz", + "integrity": "sha1-uc+/Sizybw/DSxDKFImid3HjR08=", "dev": true }, "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "dev": true, "requires": { - "assert-plus": "1.0.0", + "assert-plus": "0.2.0", "jsprim": "1.4.1", - "sshpk": "1.13.1" + "sshpk": "1.14.1" } }, "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", - "dev": true + "version": "0.4.21", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", + "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", + "dev": true, + "requires": { + "safer-buffer": "2.1.2" + } }, "imagemin": { "version": "4.0.0", @@ -2198,6 +2147,25 @@ "dev": true, "optional": true }, + "is-my-ip-valid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", + "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", + "dev": true + }, + "is-my-json-valid": { + "version": "2.17.2", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz", + "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==", + "dev": true, + "requires": { + "generate-function": "2.0.0", + "generate-object-property": "1.2.0", + "is-my-ip-valid": "1.0.0", + "jsonpointer": "4.0.1", + "xtend": "4.0.1" + } + }, "is-natural-number": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-2.1.1.tgz", @@ -2238,6 +2206,12 @@ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", "dev": true }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true + }, "is-redirect": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", @@ -2345,9 +2319,9 @@ } }, "js-base64": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.3.2.tgz", - "integrity": "sha512-Y2/+DnfJJXT1/FCwUebUhLWb3QihxiSC42+ctHLGogmW2jPY6LCapMdFZXRvVP2z6qyKW7s6qncE/9gSqZiArw==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz", + "integrity": "sha512-H7ErYLM34CvDMto3GbD6xD0JLUGYXR3QTcH6B/tr4Hi/QpSThnCsIp+Sy5FRTw3B0d6py4HcNkW7nO/wdtGWEw==", "dev": true }, "js-yaml": { @@ -2373,12 +2347,6 @@ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", "dev": true }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true - }, "json-stable-stringify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", @@ -2400,6 +2368,12 @@ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", "dev": true }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true + }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -2410,6 +2384,14 @@ "extsprintf": "1.3.0", "json-schema": "0.2.3", "verror": "1.10.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } } }, "kind-of": { @@ -2453,9 +2435,9 @@ } }, "livereload-js": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.2.2.tgz", - "integrity": "sha1-bIclfmSKtHW8JOoldFftzB+NC8I=", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz", + "integrity": "sha512-j1R0/FeGa64Y+NmqfZhyoVRzcFlOZ8sNlKzHjh4VvLULFACZhn68XrX5DFg2FhMvSMJmROuFxRSa560ECWKBMg==", "dev": true }, "load-json-file": { @@ -2472,9 +2454,9 @@ } }, "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", "dev": true }, "lodash._basecopy": { @@ -2582,9 +2564,9 @@ } }, "lodash.mergewith": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz", - "integrity": "sha1-FQzwoWeR9ZA7iJHqsVRgknS96lU=", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", + "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", "dev": true }, "lodash.restparam": { @@ -2666,12 +2648,6 @@ "meow": "3.7.0" } }, - "lru-cache": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", - "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", - "dev": true - }, "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", @@ -2774,18 +2750,18 @@ } }, "mime-db": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", "dev": true }, "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "dev": true, "requires": { - "mime-db": "1.30.0" + "mime-db": "1.33.0" } }, "minimatch": { @@ -2871,9 +2847,9 @@ } }, "nan": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz", - "integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY=", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", "dev": true }, "node-gyp": { @@ -2889,8 +2865,8 @@ "mkdirp": "0.5.1", "nopt": "3.0.6", "npmlog": "4.1.2", - "osenv": "0.1.4", - "request": "2.83.0", + "osenv": "0.1.5", + "request": "2.79.0", "rimraf": "2.2.8", "semver": "5.3.0", "tar": "2.2.1", @@ -2906,9 +2882,9 @@ } }, "node-sass": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.5.3.tgz", - "integrity": "sha1-0JydEXlkEjnRuX/8YjH9zsU+FWg=", + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.0.tgz", + "integrity": "sha512-QFHfrZl6lqRU3csypwviz2XLgGNOoWQbo2GOvtsfQqOfL4cy1BtWnhx/XUeAO9LT3ahBzSRXcEO6DdvAH9DzSg==", "dev": true, "requires": { "async-foreach": "0.1.3", @@ -2920,15 +2896,16 @@ "in-publish": "2.0.0", "lodash.assign": "4.2.0", "lodash.clonedeep": "4.5.0", - "lodash.mergewith": "4.6.0", + "lodash.mergewith": "4.6.1", "meow": "3.7.0", "mkdirp": "0.5.1", - "nan": "2.7.0", + "nan": "2.10.0", "node-gyp": "3.6.2", "npmlog": "4.1.2", - "request": "2.83.0", + "request": "2.79.0", "sass-graph": "2.2.4", - "stdout-stream": "1.4.0" + "stdout-stream": "1.4.0", + "true-case-path": "1.0.2" }, "dependencies": { "cross-spawn": { @@ -2937,14 +2914,14 @@ "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", "dev": true, "requires": { - "lru-cache": "4.1.1", + "lru-cache": "4.1.2", "which": "1.2.14" } }, "lru-cache": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", + "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==", "dev": true, "requires": { "pseudomap": "1.0.2", @@ -3127,9 +3104,9 @@ "dev": true }, "osenv": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", - "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "requires": { "os-homedir": "1.0.2", @@ -3224,12 +3201,6 @@ "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", "dev": true }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -3480,54 +3451,43 @@ "dev": true }, "request": { - "version": "2.83.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", - "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "version": "2.79.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", + "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", "dev": true, "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", + "aws-sign2": "0.6.0", + "aws4": "1.7.0", + "caseless": "0.11.0", + "combined-stream": "1.0.6", "extend": "3.0.1", "forever-agent": "0.6.1", - "form-data": "2.3.1", - "har-validator": "5.0.3", - "hawk": "6.0.2", - "http-signature": "1.2.0", + "form-data": "2.1.4", + "har-validator": "2.0.6", + "hawk": "3.1.3", + "http-signature": "1.1.1", "is-typedarray": "1.0.0", "isstream": "0.1.2", "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", + "mime-types": "2.1.18", "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.1", - "safe-buffer": "5.1.1", + "qs": "6.3.2", "stringstream": "0.0.5", - "tough-cookie": "2.3.3", - "tunnel-agent": "0.6.0", - "uuid": "3.1.0" + "tough-cookie": "2.3.4", + "tunnel-agent": "0.4.3", + "uuid": "3.2.1" }, "dependencies": { "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", + "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", "dev": true }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", "dev": true } } @@ -3571,6 +3531,12 @@ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", "dev": true }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, "sass-graph": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", @@ -3578,7 +3544,7 @@ "dev": true, "requires": { "glob": "7.0.6", - "lodash": "4.17.4", + "lodash": "4.17.10", "scss-tokenizer": "0.2.3", "yargs": "7.1.0" }, @@ -3600,12 +3566,6 @@ "wrap-ansi": "2.1.0" } }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", - "dev": true - }, "yargs": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", @@ -3642,7 +3602,7 @@ "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", "dev": true, "requires": { - "js-base64": "2.3.2", + "js-base64": "2.4.3", "source-map": "0.4.4" }, "dependencies": { @@ -3708,12 +3668,12 @@ "dev": true }, "sntp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", - "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "dev": true, "requires": { - "hoek": "4.2.0" + "hoek": "2.16.3" } }, "source-map": { @@ -3768,9 +3728,9 @@ } }, "sshpk": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", - "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", + "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", "dev": true, "requires": { "asn1": "0.2.3", @@ -3781,6 +3741,14 @@ "getpass": "0.1.7", "jsbn": "0.1.1", "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } } }, "stat-mode": { @@ -3790,9 +3758,9 @@ "dev": true }, "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true }, "stdout-stream": { @@ -3820,15 +3788,6 @@ "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", "dev": true }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -3840,6 +3799,15 @@ "strip-ansi": "3.0.1" } }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", @@ -4068,7 +4036,7 @@ "body-parser": "1.14.2", "debug": "2.2.0", "faye-websocket": "0.10.0", - "livereload-js": "2.2.2", + "livereload-js": "2.3.0", "parseurl": "1.3.2", "qs": "5.1.0" } @@ -4083,9 +4051,9 @@ } }, "tough-cookie": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", - "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "dev": true, "requires": { "punycode": "1.4.1" @@ -4106,6 +4074,30 @@ "escape-string-regexp": "1.0.5" } }, + "true-case-path": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz", + "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=", + "dev": true, + "requires": { + "glob": "6.0.4" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + } + } + }, "tunnel-agent": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", @@ -4120,13 +4112,13 @@ "optional": true }, "type-is": { - "version": "1.6.15", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", - "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", "dev": true, "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.17" + "mime-types": "2.1.18" } }, "typedarray": { @@ -4243,6 +4235,14 @@ "assert-plus": "1.0.0", "core-util-is": "1.0.2", "extsprintf": "1.3.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } } }, "vinyl": { @@ -4318,14 +4318,14 @@ "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", "dev": true, "requires": { - "http-parser-js": "0.4.9", - "websocket-extensions": "0.1.2" + "http-parser-js": "0.4.12", + "websocket-extensions": "0.1.3" } }, "websocket-extensions": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.2.tgz", - "integrity": "sha1-Dhh4HeYpoYMIzhSBZQ9n/6JpOl0=", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", "dev": true }, "whet.extend": { diff --git a/docs/src/package.json b/docs/src/package.json index 09d1f6a78b..f1a4c361a0 100644 --- a/docs/src/package.json +++ b/docs/src/package.json @@ -2,12 +2,11 @@ "name": "ACE3", "version": "0.1.0", "devDependencies": { - "grunt": "^1.0.1", + "grunt": "^1.0.2", "grunt-contrib-concat": "^1.0.1", "grunt-contrib-imagemin": "^1.0.1", - "grunt-contrib-sass": "^1.0.0", "grunt-contrib-uglify": "^2.0.0", - "grunt-contrib-watch": "^1.0.0", - "grunt-sass": "^2.0.0" + "grunt-contrib-watch": "^1.0.1", + "grunt-sass": "^2.1.0" } } diff --git a/docs/wiki/development/coding-guidelines.md b/docs/wiki/development/coding-guidelines.md index 3e83c631cf..23ad2317f9 100644 --- a/docs/wiki/development/coding-guidelines.md +++ b/docs/wiki/development/coding-guidelines.md @@ -780,17 +780,14 @@ while {true} do { ``` ### 8.9 `waitUntil` -The `waitUntil` command shall not be used. Instead, make use of a per-frame handler: - +The `waitUntil` command shall not be used. Instead, make use of CBA's `CBA_fnc_waitUntilAndExecute` ```js [{ - params ["_args", "_id"]; - _args params ["_unit"]; - - if (_unit getvariable [QGVAR(myVariable), false]) exitwith { - [_id] call CBA_fnc_removePerFrameHandler; - - // Execute any code - }; -}, [_unit], 0] call CBA_fnc_addPerFrameHandler; + params ["_unit"]; + _unit getVariable [QGVAR(myVariable), false] +}, +{ + params ["_unit"]; + // Execute any code +}, [_unit]] call CBA_fnc_waitUntilAndExecute; ``` diff --git a/docs/wiki/feature/arsenal.md b/docs/wiki/feature/arsenal.md index 885b8e26e8..91b4341de0 100644 --- a/docs/wiki/feature/arsenal.md +++ b/docs/wiki/feature/arsenal.md @@ -55,6 +55,15 @@ The color coding for loadouts is as follows: - Grey: Some items in that loadout are not available in that box. - Red: Missing mods / class not defined, this takes precedence over grey if there is also unavailable items. +#### 1.2.1 Importing loadouts from Virtual Arsenal + +You can import loadouts from Virtual Arsenal into ACE Arsenal, face, voice, insignias, and items from mods that aren't loaded won't be ported. + +- Go in 3DEN +- Place down a player unit +- In the 3DEN top toolbar, click on the `TOOLS` tab +- Click on `Import BI VA Loadouts to Ace Arsenal` + ## 2. Shortcuts

diff --git a/docs/wiki/feature/optionsmenu.md b/docs/wiki/feature/optionsmenu.md index 1ccf255882..68aa84ab71 100644 --- a/docs/wiki/feature/optionsmenu.md +++ b/docs/wiki/feature/optionsmenu.md @@ -12,6 +12,11 @@ version: patch: 0 --- + + ## 1. Overview Adds the options menu used by other components. diff --git a/docs/wiki/framework/advanced-fatigue-framework.md b/docs/wiki/framework/advanced-fatigue-framework.md index 7ef836b7f2..93c9aa9b77 100644 --- a/docs/wiki/framework/advanced-fatigue-framework.md +++ b/docs/wiki/framework/advanced-fatigue-framework.md @@ -19,6 +19,7 @@ ACE provides four settings to tweak Advanced Fatigue. Adjust these factors depen - **Recovery factor:** Do you like looking at the landscape or think breaks are boring? Whatever the case, this influences the length of your stamina breaks. - **Load factor:** If you believe a Javelin is the perfect companion for your .50 BMG sniper rifle you probably should tweak this setting. - **Terrain factor**: Not everyone is used to mountainous terrain. Tweak this until you feel more at home. +- **Sway factor**: Influences the amount of weapon sway. Higher means more sway. Note that while there currently is no restriction on the value of these settings, it's generally recommended to keep them between 0 and 2. diff --git a/docs/wiki/framework/arsenal-framework.md b/docs/wiki/framework/arsenal-framework.md index d716c05f51..eb30728169 100644 --- a/docs/wiki/framework/arsenal-framework.md +++ b/docs/wiki/framework/arsenal-framework.md @@ -117,5 +117,127 @@ Both of them are optional. ## 4. Default loadouts While in 3DEN you have the ability to save default loadouts in ACE Arsenal, doing so will make the saved loadouts available to all players (those loadouts are still subject to loadout verification). +To do so: +- Open ACE Arsenal in 3DEN by editing a unit's loadout. +- Click on the "Loadouts" tab. +- Click on the "Default Loadouts" tab. +- Enter a loadout name and save. This loadout list can be exported to the clipboard by using Shift. + LMB. on the export button, doing the same on the import button will import the list currently in the clipboard. + +## 5. Stats + +ACE Arsenal stats are customizable, this will show you how. + +### 5.1. Adding stats via config + +```cpp +class ace_arsenal_stats { + class statBase; + + class TAG_myStat: statBase { + scope = 2; // Only scope 2 show up in arsenal, scope 1 is used for base classes. + displayName= "Test entry title"; // Title of the stat. + priority = 0; // A higher value means the stat will be displayed higher on the page. + stats[] = {"mySuperStat"}; // Array of strings to pass to the statements, typically + showBar = 1; // 0 disabled; 1 enabled; + showText = 1; // 0 disabled; 1 enabled; + barStatement = "1"; // Statement evaluated to set the bar progress, needs to return a NUMBER. + textStatement = "test entry" // statement evaluated to set the text entry, can return anything. + condition = "true"; // Condition for the stats to be displayed, default is true if not defined, needs to return a BOOL. + tabs[] = { {0,1,2}, { } }; // Arrays of tabs, left array is left tabs, right array is right tabs. + }; +}; +``` + +The arguments passed to the bar, text and condition statements are: +- The stats array `` +- The config entry of the weapon `` + +### 5.2 Adding stats via a function + +To add a stat simply call `ace_arsenal_fnc_addStat` +```cpp +/* + * Author: Alganthe + * Add a stat to ACE Arsenal. + * + * Arguments: + * 0: Tabs to add the stat to (ARRAY of ARRAYS) + * 0.1: Left tab indexes (ARRAY of NUMBERS) + * 0.2 Right tab indexes (ARRAY of NUMBERS) + * 1: Stat class (STRING) (A unique string for each stat) + * 2: Config entries to pass (ARRAY of STRINGS) + * 3: Title (STRING) + * 4: Show bar / show text bools (ARRAY of BOOLS) + * 4.1 Show bar (BOOL) + * 4.2 Show text (BOOL) + * 5: Array of statements (ARRAY of ARRAYS) + * 5.1: Bar code (CODE) + * 5.2 Text code (CODE) + * 5.3 Condition code (CODE) + * 6: Priority (NUMBER) (Optional) + * + * Return Value: + * 0: Array of IDs (ARRAY of STRINGS) + * + * Example: + * [[[0,1,2], [7]], "scopeStat", ["scope"], "Scope", [false, true], [{}, { + params ["_statsArray", "_itemCfg"]; + getNumber (_itemCfg >> _statsArray select 0) + }, {true}]] call ACE_arsenal_fnc_addStat + * + * Public: Yes +*/ +``` + +### 5.3 Removing stats via a function + +Removing a stat is as simple as adding one, call `ace_arsenal_fnc_removeStat` + +Stats IDs are unique, IDs are generated as follows: + +`Class + side + tab` + +For example: `testClassL03` +- Class: `testClass` +- Side: `L` for the left panel +- Tab: `03` for the 3rd tab + +For config added stats the classname is used, for function added ones the string provided is used. + +```cpp +/* + * Author: Alganthe + * Remove a stat from ACE Arsenal. + * + * Arguments: + * 0: Array of IDs (ARRAY) + * + * Return Value: + * None + * + * Example: + * [["scopeStatL00","scopeStatL01","scopeStatL02","scopeStatR07"]] call ace_arsenal_fnc_removeStat; + * + * Public: Yes +*/ +``` + +#### 6.0 Eventhandlers + +All are local. + +| Name | Arguments | +| ------------- | ------------- | +| ace_arsenal_displayOpened | Arsenal display (DISPLAY) | +| ace_arsenal_displayClosed | None | +| ace_arsenal_leftPanelFilled | Arsenal display (DISPLAY), current left panel IDC (SCALAR), current right panel IDC (SCALAR) | +| ace_arsenal_rightPanelFilled | Arsenal display (DISPLAY), current left panel IDC (SCALAR), current right panel IDC (SCALAR) | +| ace_arsenal_onLoadoutSave | Loadout index (SCALAR), [loadout name (STRING), loadout data (ARRAY)] | +| ace_arsenal_onLoadoutLoad | loadout data (ARRAY), loadout name (STRING) | +| ace_arsenal_loadoutShared | Loadouts list listnBox control (CONTROL),, [loadout author (STRING), loadout name (STRING), loadout data (ARRAY)] | +| ace_arsenal_loadoutUnshared | Loadouts list listnBox control (CONTROL), loadout name (STRING) | +| ace_arsenal_cargoChanged | Arsenal display (DISPLAY), item (STRING), add or remove (BOOL), shiftState (BOOL) | +| ace_arsenal_loadoutImported | Arsenal display (DISPLAY), (import list (BOOL) | +| ace_arsenal_loadoutExported | Arsenal display (DISPLAY), export list (BOOL) | diff --git a/docs/wiki/frameworkx/fortify-framework.md b/docs/wiki/frameworkx/fortify-framework.md index fe49cc1eb3..547dd180c7 100644 --- a/docs/wiki/frameworkx/fortify-framework.md +++ b/docs/wiki/frameworkx/fortify-framework.md @@ -64,3 +64,12 @@ class ACEX_Fortify_Presets { ``` Then you will have to set the mission preset to `myMissionObjects` with `#fortify blufor myMissionObjects` to enable it. + +## 2. Events + +### 2.1 Listenable + +Event Name | Passed Parameter(s) | Locality | Description +---------- | ----------- | ------------------- | -------- +`acex_fortify_objectPlaced` | [player, side, objectPlaced] | Global | Foritfy object placed +`acex_fortify_objectDeleted` | [player, side, objectDeleted] | Global | Foritfy object deleted diff --git a/mod.cpp b/mod.cpp index d3827c93ad..cbb26b3acb 100644 --- a/mod.cpp +++ b/mod.cpp @@ -1,8 +1,8 @@ -name = "Advanced Combat Environment 3.12.1"; +name = "Advanced Combat Environment 3.12.2"; picture = "logo_ace3_ca.paa"; actionName = "GitHub"; action = "https://github.com/acemod/ACE3"; -description = "ACE3 - Version 3.12.1"; +description = "ACE3 - Version 3.12.2"; logo = "logo_ace3_ca.paa"; logoOver = "logo_ace3_ca.paa"; tooltip = "ACE3"; diff --git a/optionals/compat_r3f/CfgAmmo.hpp b/optionals/compat_r3f/CfgAmmo.hpp index d7f8ac085c..a708d34e2d 100644 --- a/optionals/compat_r3f/CfgAmmo.hpp +++ b/optionals/compat_r3f/CfgAmmo.hpp @@ -1,7 +1,7 @@ class CfgAmmo { class Default; class BulletBase; - class R3F_9x19_Ball: BulletBase { // https://github.com/acemod/ACE3/blob/master/addons/ballistics/CfgAmmo.hpp#L360 + class R3F_9x19_Ball: BulletBase { // https://github.com/acemod/ACE3/blob/master/addons/ballistics/CfgAmmo.hpp#L370 typicalSpeed = 350; // R3F config airFriction = -0.00201185; // ACE3 value, default -0.001413 ACE_caliber = 9.017; @@ -15,13 +15,13 @@ class CfgAmmo { ACE_muzzleVelocities[] = {340, 370, 400}; ACE_barrelLengths[] = {101.6, 127.0, 228.6}; }; - class R3F_556x45_Ball: BulletBase { // https://github.com/acemod/ACE3/blob/master/addons/ballistics/CfgAmmo.hpp#L9 + class R3F_556x45_Ball: BulletBase { // M855 https://github.com/acemod/ACE3/blob/master/addons/ballistics/CfgAmmo.hpp#L9 typicalSpeed = 930; // R3F config airFriction = -0.00130094; // ACE3 value, default -0.001625 ACE_caliber = 5.69; ACE_bulletLength = 23.012; ACE_bulletMass = 4.0176; - ACE_ammoTempMuzzleVelocityShifts[] = {-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; + ACE_ammoTempMuzzleVelocityShifts[] = {-19.25, -18.49, -15.81, -13.05, -9.59, -5.15, 0, 6.33, 14.19, 23.43, 35.70}; ACE_ballisticCoefficients[] = {0.151}; ACE_velocityBoundaries[] = {}; ACE_standardAtmosphere = "ASM"; @@ -29,13 +29,13 @@ class CfgAmmo { ACE_muzzleVelocities[] = {723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; ACE_barrelLengths[] = {210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; - class R3F_762x51_Ball: BulletBase { // https://github.com/acemod/ACE3/blob/master/addons/ballistics/CfgAmmo.hpp#L152 + class R3F_762x51_Ball: BulletBase { // M80 https://github.com/acemod/ACE3/blob/master/addons/ballistics/CfgAmmo.hpp#L155 typicalSpeed = 820; // R3F config airFriction = -0.00103711; // ACE3 value, default -0.00095 ACE_caliber = 7.823; ACE_bulletLength = 28.956; ACE_bulletMass = 9.4608; - ACE_ammoTempMuzzleVelocityShifts[] = {-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; + ACE_ammoTempMuzzleVelocityShifts[] = {-18.91, -17.83, -15.21, -12.48, -09.34, -05.16, 0, 6.11, 13.60, 22.81, 33.83}; ACE_ballisticCoefficients[] = {0.2}; ACE_velocityBoundaries[] = {}; ACE_standardAtmosphere = "ICAO"; @@ -43,31 +43,31 @@ class CfgAmmo { ACE_muzzleVelocities[] = {700, 800, 820, 833, 845}; ACE_barrelLengths[] = {254.0, 406.4, 508.0, 609.6, 660.4}; }; - class R3F_762x51_Ball2: R3F_762x51_Ball { // https://github.com/acemod/ACE3/blob/master/addons/ballistics/CfgAmmo.hpp#L152 + class R3F_762x51_Ball2: R3F_762x51_Ball { // M993 AP https://github.com/acemod/ACE3/blob/master/addons/ballistics/CfgAmmo.hpp#L226 typicalSpeed = 850; // R3F config - airFriction = -0.00103711; // ACE3 value, default -0.00095 + airFriction = -0.00110718; // ACE3 value, default -0.00095 ACE_caliber = 7.823; - ACE_bulletLength = 28.956; - ACE_bulletMass = 9.4608; - ACE_ammoTempMuzzleVelocityShifts[] = {-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - ACE_ballisticCoefficients[] = {0.2}; + ACE_bulletLength = 31.496; + ACE_bulletMass = 8.22946157; + ACE_ammoTempMuzzleVelocityShifts[] = {-18.91, -17.83, -15.21, -12.48, -09.34, -05.16, 0, 6.11, 13.60, 22.81, 33.83}; + ACE_ballisticCoefficients[] = {0.359}; ACE_velocityBoundaries[] = {}; ACE_standardAtmosphere = "ICAO"; - ACE_dragModel = 7; + ACE_dragModel = 1; ACE_muzzleVelocities[] = {850}; ACE_barrelLengths[] = {650}; }; - class R3F_762x51_Minimi_Ball: R3F_762x51_Ball { // https://github.com/acemod/ACE3/blob/master/addons/ballistics/CfgAmmo.hpp#L152 + class R3F_762x51_Minimi_Ball: R3F_762x51_Ball { // M80 https://github.com/acemod/ACE3/blob/master/addons/ballistics/CfgAmmo.hpp#L155 airFriction = -0.00103711; // ACE3 value, default -0.002000 }; - class R3F_127x99_Ball: BulletBase { // https://github.com/acemod/ACE3/blob/master/addons/ballistics/CfgAmmo.hpp#L494 + class R3F_127x99_Ball: BulletBase { // M33 https://github.com/acemod/ACE3/blob/master/addons/ballistics/CfgAmmo.hpp#L510 typicalSpeed = 780; // R3F config - airFriction = -0.00058679; // ACE3 value, default -0.00086 + airFriction = -0.00062115; // ACE3 value, default -0.00086 ACE_caliber = 12.954; ACE_bulletLength = 58.674; ACE_bulletMass = 41.9256; - ACE_muzzleVelocityVariationSD=0.35; - ACE_ammoTempMuzzleVelocityShifts[] = {-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; + ACE_muzzleVelocityVariationSD = 0.35; + ACE_ammoTempMuzzleVelocityShifts[] = {-18.91, -17.83, -15.21, -12.48, -09.34, -05.16, 0, 6.11, 13.60, 22.81, 33.83}; ACE_ballisticCoefficients[] = {0.670}; ACE_velocityBoundaries[] = {}; ACE_standardAtmosphere = "ASM"; @@ -75,14 +75,14 @@ class CfgAmmo { ACE_muzzleVelocities[] = {780}; ACE_barrelLengths[] = {700}; }; - class R3F_127x99_PEI: R3F_127x99_Ball { // https://github.com/acemod/ACE3/blob/master/addons/ballistics/CfgAmmo.hpp#L494 + class R3F_127x99_PEI: R3F_127x99_Ball { // M33 https://github.com/acemod/ACE3/blob/master/addons/ballistics/CfgAmmo.hpp#L510 typicalSpeed = 780; // R3F config - airFriction = -0.00058679; // ACE3 value, default -0.00086 + airFriction = -0.00062115; // ACE3 value, default -0.00086 ACE_caliber = 12.954; ACE_bulletLength = 58.674; ACE_bulletMass = 41.9256; - ACE_muzzleVelocityVariationSD=0.4; - ACE_ammoTempMuzzleVelocityShifts[] = {-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; + ACE_muzzleVelocityVariationSD = 0.4; + ACE_ammoTempMuzzleVelocityShifts[] = {-18.91, -17.83, -15.21, -12.48, -09.34, -05.16, 0, 6.11, 13.60, 22.81, 33.83}; ACE_ballisticCoefficients[] = {0.670}; ACE_velocityBoundaries[] = {}; ACE_standardAtmosphere = "ASM"; @@ -90,14 +90,14 @@ class CfgAmmo { ACE_muzzleVelocities[] = {780}; ACE_barrelLengths[] = {700}; }; - class R3F_127x99_Ball2: BulletBase { // https://github.com/acemod/ACE3/blob/master/addons/ballistics/CfgAmmo.hpp#L494 + class R3F_127x99_Ball2: BulletBase { // M33 https://github.com/acemod/ACE3/blob/master/addons/ballistics/CfgAmmo.hpp#L510 typicalSpeed = 850; // R3F config - airFriction = -0.00058679; // ACE3 value, default -0.00086 + airFriction = -0.000601; // ACE3 value, default -0.00086 ACE_caliber = 12.954; ACE_bulletLength = 58.674; ACE_bulletMass = 41.9256; - ACE_muzzleVelocityVariationSD=0.35; - ACE_ammoTempMuzzleVelocityShifts[] = {-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; + ACE_muzzleVelocityVariationSD = 0.35; + ACE_ammoTempMuzzleVelocityShifts[] = {-18.91, -17.83, -15.21, -12.48, -09.34, -05.16, 0, 6.11, 13.60, 22.81, 33.83}; ACE_ballisticCoefficients[] = {0.670}; ACE_velocityBoundaries[] = {}; ACE_standardAtmosphere = "ASM"; @@ -105,14 +105,14 @@ class CfgAmmo { ACE_muzzleVelocities[] = {850}; ACE_barrelLengths[] = {736.6}; }; - class R3F_127x99_PEI2: R3F_127x99_Ball2 { // https://github.com/acemod/ACE3/blob/master/addons/ballistics/CfgAmmo.hpp#L494 + class R3F_127x99_PEI2: R3F_127x99_Ball2 { // M33 https://github.com/acemod/ACE3/blob/master/addons/ballistics/CfgAmmo.hpp#L510 typicalSpeed = 850; // R3F config - airFriction = -0.00058679; // ACE3 value, default -0.00086 + airFriction = -0.000601; // ACE3 value, default -0.00086 ACE_caliber = 12.954; ACE_bulletLength = 58.674; ACE_bulletMass = 41.9256; - ACE_muzzleVelocityVariationSD=0.4; - ACE_ammoTempMuzzleVelocityShifts[] = {-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; + ACE_muzzleVelocityVariationSD = 0.4; + ACE_ammoTempMuzzleVelocityShifts[] = {-18.91, -17.83, -15.21, -12.48, -09.34, -05.16, 0, 6.11, 13.60, 22.81, 33.83}; ACE_ballisticCoefficients[] = {0.670}; ACE_velocityBoundaries[] = {}; ACE_standardAtmosphere = "ASM"; @@ -120,14 +120,14 @@ class CfgAmmo { ACE_muzzleVelocities[] = {850}; ACE_barrelLengths[] = {736.6}; }; - class R3F_127x99_Ball3: BulletBase { // https://github.com/acemod/ACE3/blob/master/addons/ballistics/CfgAmmo.hpp#L494 + class R3F_127x99_Ball3: BulletBase { // M33 https://github.com/acemod/ACE3/blob/master/addons/ballistics/CfgAmmo.hpp#L510 typicalSpeed = 820; // R3F config - airFriction = -0.00058679; // ACE3 value, default -0.00086 + airFriction = -0.00060964; // ACE3 value, default -0.00086 ACE_caliber = 12.954; ACE_bulletLength = 58.674; ACE_bulletMass = 41.9256; - ACE_muzzleVelocityVariationSD=0.35; - ACE_ammoTempMuzzleVelocityShifts[] = {-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; + ACE_muzzleVelocityVariationSD = 0.35; + ACE_ammoTempMuzzleVelocityShifts[] = {-18.91, -17.83, -15.21, -12.48, -09.34, -05.16, 0, 6.11, 13.60, 22.81, 33.83}; ACE_ballisticCoefficients[] = {0.670}; ACE_velocityBoundaries[] = {}; ACE_standardAtmosphere = "ASM"; diff --git a/optionals/compat_r3f/CfgMagazines.hpp b/optionals/compat_r3f/CfgMagazines.hpp index e00a8446a4..82247aa887 100644 --- a/optionals/compat_r3f/CfgMagazines.hpp +++ b/optionals/compat_r3f/CfgMagazines.hpp @@ -28,7 +28,7 @@ class CfgMagazines { initSpeed = 850; // R3F config }; class R3F_30Rnd_556x45_TRACER_SIG551: R3F_30Rnd_556x45_SIG551 {}; // AtragMx GunList: 5.56x45mm M855 - class R3F_10Rnd_762x51_FRF2: CA_magazine { // AtragMx GunList: 5.56x45mm M855 + class R3F_10Rnd_762x51_FRF2: CA_magazine { // AtragMx GunList: R3F FRF2 M993 initSpeed = 850; // R3F config }; class R3F_200Rnd_556x45_MINIMI: CA_magazine { // AtragMx GunList: 5.56x45mm M855 @@ -37,23 +37,23 @@ class CfgMagazines { class R3F_100Rnd_762x51_MINIMI: CA_magazine { // AtragMx GunList: 7.62x51mm M80 initSpeed = 820; // R3F config }; - class R3F_20Rnd_762x51_HK417: CA_magazine { // AtragMx GunList: 7.62x51mm M80 + class R3F_20Rnd_762x51_HK417: CA_magazine { // AtragMx GunList: 7.62x51mm M80 / HK417L 20": R3F HK417L M80 initSpeed = 820; // R3F config }; - class R3F_20Rnd_762x51_TRACER_HK417: R3F_20Rnd_762x51_HK417 {}; // AtragMx GunList: 7.62x51mm M80 - class R3F_7Rnd_127x99_PGM: CA_magazine { // AtragMx GunList: 12.7x99mm + class R3F_20Rnd_762x51_TRACER_HK417: R3F_20Rnd_762x51_HK417 {}; // AtragMx GunList: 7.62x51mm M80 / HK417L 20": R3F HK417L M80 + class R3F_7Rnd_127x99_PGM: CA_magazine { // AtragMx GunList: R3F PGM M33 initSpeed = 780; // R3F config }; - class R3F_7Rnd_127x99_PEI_PGM: R3F_7Rnd_127x99_PGM { // AtragMx GunList: 12.7x99mm + class R3F_7Rnd_127x99_PEI_PGM: R3F_7Rnd_127x99_PGM { // AtragMx GunList: R3F PGM M33 initSpeed = 780; // R3F config }; - class R3F_10Rnd_127x99_M107: CA_magazine { // AtragMx GunList: 12.7x99mm + class R3F_10Rnd_127x99_M107: CA_magazine { // AtragMx GunList: R3F M107 M33 initSpeed = 850; // R3F config }; - class R3F_10Rnd_127x99_PEI_M107: R3F_10Rnd_127x99_M107 { // AtragMx GunList: 12.7x99mm + class R3F_10Rnd_127x99_PEI_M107: R3F_10Rnd_127x99_M107 { // AtragMx GunList: R3F M107 M33 initSpeed = 850; // R3F config }; - class R3F_5Rnd_127x99_TAC50: CA_magazine { // AtragMx GunList: 12.7x99mm + class R3F_5Rnd_127x99_TAC50: CA_magazine { // AtragMx GunList: R3F TAC50 M33 initSpeed = 820; // R3F config }; }; diff --git a/optionals/compat_r3f/CfgWeapons.hpp b/optionals/compat_r3f/CfgWeapons.hpp index cadf8f08aa..97fcb6c23e 100644 --- a/optionals/compat_r3f/CfgWeapons.hpp +++ b/optionals/compat_r3f/CfgWeapons.hpp @@ -247,7 +247,7 @@ class CfgWeapons { }; class R3F_J4: ItemCore { // http://www.scrome.com/assets/templates/flexibility/pdf/Scrome_Riflescope_LTE_J4_Datasheet_GB.pdf ACE_ScopeHeightAboveRail = 3.20641; - ACE_ScopeAdjust_Vertical[] = {0, 16}; + ACE_ScopeAdjust_Vertical[] = {-8, 8}; ACE_ScopeAdjust_Horizontal[] = {-8, 8}; ACE_ScopeAdjust_VerticalIncrement = 0.2; ACE_ScopeAdjust_HorizontalIncrement = 0.2; @@ -267,8 +267,8 @@ class CfgWeapons { ACE_ScopeHeightAboveRail = 4.28091; }; class R3F_J8: ItemCore { // http://www.scrome.com/assets/templates/flexibility/pdf/Scrome_Marksman_Scope_LTE_Datasheet_GB.pdf - ACE_ScopeHeightAboveRail = 4.474; - ACE_ScopeAdjust_Vertical[] = {0, 20}; + ACE_ScopeHeightAboveRail = 4.474; // Inaccurate BDC reticle, designed to work with the vanilla ballistic and R3F values. + ACE_ScopeAdjust_Vertical[] = {-10, 10}; ACE_ScopeAdjust_Horizontal[] = {-10, 10}; ACE_ScopeAdjust_VerticalIncrement = 0.1; ACE_ScopeAdjust_HorizontalIncrement = 0.1; @@ -296,9 +296,9 @@ class CfgWeapons { }; }; class R3F_J10: ItemCore { // http://www.scrome.com/assets/templates/flexibility/pdf/Scrome_Marksman_Scope_LTE_Datasheet_GB.pdf - ACE_ScopeZeroRange = 1400; // Inaccurate reticle, designed to work with the vanilla ballistic. + ACE_ScopeZeroRange = 1400; // Inaccurate BDC reticle, designed to work with the vanilla ballistic and R3F values. ACE_ScopeHeightAboveRail = 4.474; - ACE_ScopeAdjust_Vertical[] = {0, 20}; + ACE_ScopeAdjust_Vertical[] = {-10, 10}; ACE_ScopeAdjust_Horizontal[] = {-10, 10}; ACE_ScopeAdjust_VerticalIncrement = 0.1; ACE_ScopeAdjust_HorizontalIncrement = 0.1; @@ -476,22 +476,22 @@ class CfgWeapons { class ACE_ATragMX_Presets { class R3F_PGM_Hecate_II { // Profile Name, Muzzle Velocity, Zero Range, Scope Base Angle, AirFriction, Bore Height, Scope Unit, Scope Click Unit, Scope Click Number, Maximum Elevation, Dialed Elevation, Dialed Windage, Mass, Bullet Diameter, Rifle Twist, BC, Drag Model, Atmosphere Model, Muzzle Velocity vs. Temperature Interpolation, C1 Ballistic Coefficient vs. Distance Interpolation - preset[] = {"[R3F]PGM", 780, 100, 0.0879633, -0.00058679, 8.89, 0, 2, 10, 120, 0, 0, 41.92, 12.7, 38.10, 0.670, 1, "ASM", {{-15,753},{0,760},{10,767},{15,772},{25,786},{30,795},{35,806}}, {{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}}}; + preset[] = {"R3F PGM M33", 780, 100, 0.0845596, -0.00062115, 6.35, 0, 2, 10, 120, 0, 0, 41.92, 12.7, 38.10, 0.670, 1, "ASM", {{-15, 761},{0, 768},{10, 775},{15, 780},{25, 794},{30, 803},{35, 814}}, {{0, 0},{0, 0},{0, 0},{0, 0},{0, 0},{0, 0},{0, 0}}}; }; class R3F_M107 { // Profile Name, Muzzle Velocity, Zero Range, Scope Base Angle, AirFriction, Bore Height, Scope Unit, Scope Click Unit, Scope Click Number, Maximum Elevation, Dialed Elevation, Dialed Windage, Mass, Bullet Diameter, Rifle Twist, BC, Drag Model, Atmosphere Model, Muzzle Velocity vs. Temperature Interpolation, C1 Ballistic Coefficient vs. Distance Interpolation - preset[] = {"[R3F]M107", 850, 100, 0.0879633, -0.00058679, 8.89, 0, 2, 10, 120, 0, 0, 41.92, 12.7, 38.10, 0.670, 1, "ASM", {{-15,823},{0,830},{10,837},{15,842},{25,856},{30,865},{35,876}}, {{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}}}; + preset[] = {"R3F M107 M33", 850, 100, 0.0841653, -0.000601, 7.62, 0, 2, 10, 120, 0, 0, 41.92, 12.7, 38.10, 0.670, 1, "ASM", {{-15, 831},{0, 838},{10, 845},{15, 850},{25, 864},{30, 873},{35, 884}}, {{0, 0},{0, 0},{0, 0},{0, 0},{0, 0},{0, 0},{0, 0}}}; }; class R3F_TAC50 { // Profile Name, Muzzle Velocity, Zero Range, Scope Base Angle, AirFriction, Bore Height, Scope Unit, Scope Click Unit, Scope Click Number, Maximum Elevation, Dialed Elevation, Dialed Windage, Mass, Bullet Diameter, Rifle Twist, BC, Drag Model, Atmosphere Model, Muzzle Velocity vs. Temperature Interpolation, C1 Ballistic Coefficient vs. Distance Interpolation - preset[] = {"[R3F]TAC50", 820, 100, 0.0879633, -0.00058679, 8.89, 0, 2, 10, 120, 0, 0, 41.92, 12.7, 38.10, 0.670, 1, "ASM", {{-15,793},{0,800},{10,807},{15,812},{25,826},{30,835},{35,846}}, {{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}}}; + preset[] = {"R3F TAC50 M33", 820, 100, 0.0872461, -0.00060964, 7.62, 0, 2, 10, 120, 0, 0, 41.92, 12.7, 38.10, 0.670, 1, "ASM", {{-15, 801},{0, 808},{10, 815},{15, 820},{25, 834},{30, 843},{35, 854}}, {{0, 0},{0, 0},{0, 0},{0, 0},{0, 0},{0, 0},{0, 0}}}; }; class R3F_FRF2 { // Profile Name, Muzzle Velocity, Zero Range, Scope Base Angle, AirFriction, Bore Height, Scope Unit, Scope Click Unit, Scope Click Number, Maximum Elevation, Dialed Elevation, Dialed Windage, Mass, Bullet Diameter, Rifle Twist, BC, Drag Model, Atmosphere Model, Muzzle Velocity vs. Temperature Interpolation, C1 Ballistic Coefficient vs. Distance Interpolation - preset[] = {"[R3F]FRF2", 850, 100, 0.0909184, -0.00103711, 7.62, 0, 2, 10, 120, 0, 0, 9.461, 7.82, 29.46, 0.398, 1, "ICAO", {{-15,823},{0,830},{10,837},{15,842},{25,856},{30,865},{35,876}}, {{0, 0.399}, {810, 0.392}, {1030, 0.383}, {1120, 0.381}, {1270, 0.380}, {1410, 0.379}, {1530, 0.379}}}; + preset[] = {"R3F FRF2 M993", 850, 100, 0.0783702, -0.00110718, 6.35, 0, 2, 10, 120, 0, 0, 8.230, 7.82, 29.46, 0.359, 1, "ICAO", {{-15, 831},{0, 838},{10, 845},{15, 850},{25, 864},{30, 873},{35, 884}}, {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}}; }; class R3F_HK417L { // Profile Name, Muzzle Velocity, Zero Range, Scope Base Angle, AirFriction, Bore Height, Scope Unit, Scope Click Unit, Scope Click Number, Maximum Elevation, Dialed Elevation, Dialed Windage, Mass, Bullet Diameter, Rifle Twist, BC, Drag Model, Atmosphere Model, Muzzle Velocity vs. Temperature Interpolation, C1 Ballistic Coefficient vs. Distance Interpolation - preset[] = {"[R3F]HK417L", 820, 100, 0.0909184, -0.00103711, 7.62, 0, 2, 10, 120, 0, 0, 9.461, 7.82, 29.46, 0.398, 1, "ICAO", {{-15,793},{0,800},{10,807},{15,812},{25,826},{30,835},{35,846}}, {{0, 0.399}, {810, 0.392}, {1030, 0.383}, {1120, 0.381}, {1270, 0.380}, {1410, 0.379}, {1530, 0.379}}}; + preset[] = {"R3F HK417L M80", 820, 100, 0.0884448, -0.00103711, 7.62, 0, 2, 10, 120, 0, 0, 9.461, 7.82, 27.94, 0.398, 1, "ICAO", {{-15, 801},{0, 808},{10, 815},{15, 820},{25, 834},{30, 843},{35, 854}}, {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}}; }; }; diff --git a/optionals/compat_rhs_afrf3/CfgVehicles.hpp b/optionals/compat_rhs_afrf3/CfgVehicles.hpp index c1c3c73908..60c6b78d9a 100644 --- a/optionals/compat_rhs_afrf3/CfgVehicles.hpp +++ b/optionals/compat_rhs_afrf3/CfgVehicles.hpp @@ -59,29 +59,9 @@ class CfgVehicles { class rhs_a3spruttank_base: Tank_F { EGVAR(refuel,fuelCapacity) = 400; }; - -#define ERA(num) QUOTE(era_##num##_hitpoint) -#define ERA_2_28 ERA(2), ERA(3), ERA(4), ERA(5), ERA(6), ERA(7), ERA(8), ERA(9), ERA(10), ERA(11), ERA(12), ERA(13), ERA(14), ERA(15), ERA(16), ERA(17), ERA(18), ERA(19), ERA(20), ERA(21), ERA(22), ERA(23), ERA(24), ERA(25), ERA(26), ERA(27), ERA(28) -#define ERA_2_31 ERA_2_28, ERA(29), ERA(30), ERA(31) -#define ERA_2_32 ERA_2_31, ERA(32) -#define ERA_2_35 ERA_2_32, ERA(33), ERA(34), ERA(35) -#define ERA_2_36 ERA_2_35, ERA(36) - class rhs_a3t72tank_base: Tank_F { EGVAR(refuel,fuelCapacity) = 1200; }; - class rhs_t72bb_tv: rhs_a3t72tank_base { - ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}}; - ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_31}}}; - }; - class rhs_t72bc_tv: rhs_a3t72tank_base { - ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}}; - ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_32}}}; - }; - class rhs_t72bd_tv: rhs_a3t72tank_base { - ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}}; - ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_32}}}; - }; class rhs_tank_base: Tank_F { EGVAR(refuel,fuelCapacity) = 1200; }; @@ -152,60 +132,20 @@ class CfgVehicles { }; class Heli_Attack_02_base_F: Helicopter_Base_F {}; - class rhs_mi28_base: Heli_Attack_02_base_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - EGVAR(fcs,enabled) = 0; // Note: This is still required because of inheritance from Heli_Attack_02_base_F - }; - }; - }; - class RHS_Ka52_base: Heli_Attack_02_base_F { EGVAR(refuel,fuelCapacity) = 1870; EGVAR(fastroping,enabled) = 0; - class Turrets: Turrets { - class MainTurret: MainTurret { - EGVAR(fcs,enabled) = 0; // Note: This is still required because of inheritance from Heli_Attack_02_base_F - }; - }; }; class RHS_Mi24_base: Heli_Attack_02_base_F { EGVAR(map,vehicleLightColor)[] = {1,0,0,0.1}; EGVAR(refuel,fuelCapacity) = 1851; EGVAR(fastroping,enabled) = 0; - class Turrets: Turrets { - class MainTurret: MainTurret { - EGVAR(fcs,enabled) = 0; // Note: This is still required because of inheritance from Heli_Attack_02_base_F - }; - }; }; class rhs_t80b: rhs_tank_base { EGVAR(refuel,fuelCapacity) = 1100; }; - class rhs_t80bv: rhs_t80b { - ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}}; - ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_28}}}; - }; - class rhs_t80a: rhs_t80bv {}; - class rhs_t80u: rhs_t80a { - ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}}; - ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_35}}}; - }; - class rhs_t80uk: rhs_t80u { - ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}}; - ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_36}}}; - }; - class rhs_t80ue1: rhs_t80a { - ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}}; - ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_36}}}; - }; - class rhs_t80um: rhs_t80u { - ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}}; - ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_36}}}; - }; - class Truck_F: Car_F {}; class RHS_Ural_BaseTurret: Truck_F { EGVAR(refuel,fuelCapacity) = 360; diff --git a/optionals/compat_rhs_usf3/CfgVehicles.hpp b/optionals/compat_rhs_usf3/CfgVehicles.hpp index 9e646f40cc..18e400f016 100644 --- a/optionals/compat_rhs_usf3/CfgVehicles.hpp +++ b/optionals/compat_rhs_usf3/CfgVehicles.hpp @@ -44,30 +44,10 @@ class CfgVehicles { }; }; -#define ERA(num) QUOTE(era_##num##_hitpoint) -#define ERA_2_34 ERA(2), ERA(3), ERA(4), ERA(5), ERA(6), ERA(7), ERA(8), ERA(9), ERA(10), ERA(11), ERA(12), ERA(13), ERA(14), ERA(15), ERA(16), ERA(17), ERA(18), ERA(19), ERA(20), ERA(21), ERA(22), ERA(23), ERA(24), ERA(25), ERA(26), ERA(27), ERA(28), ERA(29), ERA(30), ERA(31), ERA(32), ERA(33), ERA(34) -#define ERA_2_45 ERA_2_34, ERA(35), ERA(36), ERA(37), ERA(38), ERA(39), ERA(40), ERA(41), ERA(42), ERA(43), ERA(44), ERA(45) -#define ERA_2_46 ERA_2_45, ERA(46) -#define ERA_2_59 ERA_2_46, ERA(47), ERA(48), ERA(49), ERA(50), ERA(51), ERA(52), ERA(53), ERA(54), ERA(55), ERA(56), ERA(57), ERA(58), ERA(59) - class MBT_01_base_F: Tank_F {}; class rhsusf_m1a1tank_base: MBT_01_base_F { EGVAR(refuel,fuelCapacity) = 1909; }; - class rhsusf_m1a1aim_tuski_wd: rhsusf_m1a1tank_base { - ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}}; - ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_34}}}; - }; - class rhsusf_m1a2tank_base; - class rhsusf_m1a2sep1tuskid_usarmy: rhsusf_m1a2tank_base { - ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}}; - ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_34}}}; - }; - class rhsusf_m1a2sep1tuskiiwd_usarmy: rhsusf_m1a2sep1tuskid_usarmy { - ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}}; - ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_46}}}; - }; - class Helicopter_Base_F: Helicopter { class Eventhandlers; }; @@ -196,24 +176,10 @@ class CfgVehicles { EGVAR(hellfire,addLaserDesignator) = 1; }; - class RHS_AH1Z: RHS_AH1Z_base { - class Turrets: Turrets { - class MainTurret: MainTurret { - ace_fcs_Enabled = 0; // Note: This is still required because of inheritance from Heli_Attack_01_base_F - }; - }; - }; class RHS_AH64_base: Heli_Attack_01_base_F { EGVAR(refuel,fuelCapacity) = 1420; EGVAR(hellfire,addLaserDesignator) = 1; }; - class RHS_AH64D: RHS_AH64_base { - class Turrets: Turrets { - class MainTurret: MainTurret { - ace_fcs_Enabled = 0; // Note: This is still required because of inheritance from Heli_Attack_01_base_F - }; - }; - }; class MBT_01_arty_base_F; class rhsusf_m109tank_base: MBT_01_arty_base_F { @@ -306,20 +272,6 @@ class CfgVehicles { class RHS_M2A2_Base: APC_Tracked_03_base_F { EGVAR(refuel,fuelCapacity) = 746; }; - class RHS_M2A2: RHS_M2A2_Base {}; - class RHS_M2A2_BUSKI: RHS_M2A2 { - ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}}; - ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_45}}}; - }; - class RHS_M2A3: RHS_M2A2 {}; - class RHS_M2A3_BUSKI: RHS_M2A3 { - ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}}; - ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_45}}}; - }; - class RHS_M2A3_BUSKIII: RHS_M2A3_BUSKI { - ace_repair_hitpointPositions[] = {{ERA(1), {0,0,0}}}; - ace_repair_hitpointGroups[] = {{ERA(1), {ERA_2_59}}}; - }; class Plane_CAS_01_base_F; class RHS_A10: Plane_CAS_01_base_F { diff --git a/tools/extract_dependencies.py b/tools/extract_dependencies.py index e1e29e58d1..33933a8fc6 100644 --- a/tools/extract_dependencies.py +++ b/tools/extract_dependencies.py @@ -50,9 +50,9 @@ def main(): open(dependencies_path, "w", newline="\n").close() if os.path.exists(addons_path): - addons = next(os.walk(addons_path))[1] + addons = sorted(next(os.walk(addons_path))[1]) if os.path.exists(optionals_path): - addons += ["."] + next(os.walk(optionals_path))[1] + addons += ["."] + sorted(next(os.walk(optionals_path))[1]) dependencies_path_current = dependencies_path addons_path_current = addons_path @@ -60,9 +60,9 @@ def main(): if "--acex" in sys.argv: open(dependenciesx_path, "w", newline="\n").close() if os.path.exists(addonsx_path): - addons += [".."] + next(os.walk(addonsx_path))[1] + addons += [".."] + sorted(next(os.walk(addonsx_path))[1]) if os.path.exists(optionalsx_path): - addons += ["."] + next(os.walk(optionalsx_path))[1] + addons += ["."] + sorted(next(os.walk(optionalsx_path))[1]) # Iterate through folders in the addons directories for folder in addons: diff --git a/tools/make.py b/tools/make.py index 3ca0523cd0..8e4509e162 100644 --- a/tools/make.py +++ b/tools/make.py @@ -432,9 +432,15 @@ def cleanup_optionals(mod): if (os.path.isfile(src_file_path)): + if (os.path.isfile(dst_file_path)): + # print("Cleanuping up old file {}".format(dst_file_path)) + os.remove(dst_file_path); #print("Preserving {}".format(file_name)) os.renames(src_file_path,dst_file_path) if (os.path.isfile(src_sig_path)): + if (os.path.isfile(dst_sig_path)): + # print("Cleanuping up old file {}".format(dst_sig_path)) + os.remove(dst_sig_path); #print("Preserving {}".format(sigFile_name)) os.renames(src_sig_path,dst_sig_path) except FileExistsError: