From f8417c6d14df4c9da2c70b0b5e5705f6d0bed800 Mon Sep 17 00:00:00 2001 From: aablatov Date: Wed, 1 Mar 2023 09:52:43 +0300 Subject: [PATCH 01/86] tests/cypress-02-1. disabling video --- tests/tests_cypress/E2E/cypress.config.js | 1 + tests/tests_cypress/E2E/package.json | 2 +- tests/tests_cypress/validateHTML/cypress.config.js | 3 ++- tests/tests_cypress/validateHTML/package.json | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/tests_cypress/E2E/cypress.config.js b/tests/tests_cypress/E2E/cypress.config.js index a83302c..630de6d 100644 --- a/tests/tests_cypress/E2E/cypress.config.js +++ b/tests/tests_cypress/E2E/cypress.config.js @@ -3,6 +3,7 @@ export default ({ e2e: { baseUrl: 'http://localhost:8080', setupNodeEvents(on, config) { + video: false; // implement node event listeners here }, }, diff --git a/tests/tests_cypress/E2E/package.json b/tests/tests_cypress/E2E/package.json index b146ff1..9f6b14d 100644 --- a/tests/tests_cypress/E2E/package.json +++ b/tests/tests_cypress/E2E/package.json @@ -4,7 +4,7 @@ }, "type": "module", "scripts": { - "start": "npx cypress run", + "start": "npx cypress open", "test:integration": "docker-compose --file docker-compose.cypress.yml up --exit-code-from cypress --build cypress", "clean:reports": "rm -rf cypress/reports/", "test": "npm run clean:reports && cypress run", diff --git a/tests/tests_cypress/validateHTML/cypress.config.js b/tests/tests_cypress/validateHTML/cypress.config.js index 383fc58..a9079e3 100644 --- a/tests/tests_cypress/validateHTML/cypress.config.js +++ b/tests/tests_cypress/validateHTML/cypress.config.js @@ -3,7 +3,8 @@ import htmlvalidate from "cypress-html-validate/plugin"; export default { e2e: { baseUrl: 'http://localhost:8080', - setupNodeEvents(on, config) { + setupNodeEvents(on, config) { + video: false; htmlvalidate.install(on); // implement node event listeners here }, diff --git a/tests/tests_cypress/validateHTML/package.json b/tests/tests_cypress/validateHTML/package.json index ca86ed2..328620d 100644 --- a/tests/tests_cypress/validateHTML/package.json +++ b/tests/tests_cypress/validateHTML/package.json @@ -6,7 +6,7 @@ }, "type": "module", "scripts": { - "start": "npx cypress run", + "start": "npx cypress open", "test:integration": "docker-compose --file docker-compose.cypress.yml up --exit-code-from cypress --build cypress", "clean:reports": "rm -rf cypress/reports/", "test": "npm run clean:reports && cypress run", From a611cdf092fdfb9c5f3acce601ebff906a12aca4 Mon Sep 17 00:00:00 2001 From: "Kirill.Lohmatov" Date: Thu, 2 Mar 2023 00:13:38 +0200 Subject: [PATCH 02/86] sum textz --- langs/en-US.js | 330 ++++++++++++++++++------------------------------- 1 file changed, 123 insertions(+), 207 deletions(-) diff --git a/langs/en-US.js b/langs/en-US.js index 0cc6f1d..8b4b061 100644 --- a/langs/en-US.js +++ b/langs/en-US.js @@ -41,85 +41,85 @@ localeStrings.push("placeholder");//35 localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder");//40 -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder");//45 -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder");//50 -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); +localeStrings.push("Call firemen? It will cost you %arg1 gold!"); +localeStrings.push("firemen put end to the fire!");//40 +localeStrings.push("it will burn to ashes!"); +localeStrings.push("pesky thieves stole %arg1 gold from your treasury"); +localeStrings.push("You won in a lottery %arg1 gold prize"); +localeStrings.push("Save game"); +localeStrings.push("Load game");//45 +localeStrings.push("City"); +localeStrings.push("Explore"); +localeStrings.push("Settings"); +localeStrings.push("Garrison"); +localeStrings.push("Building");//50 +localeStrings.push("How To Play"); +localeStrings.push("Discord"); +localeStrings.push("Put out the fire"); +localeStrings.push("Execute somebody"); localeStrings.push("placeholder");//55 -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push(["placeholder","placeholder"]); -localeStrings.push(["placeholder","placeholder"]); -localeStrings.push("placeholder");//60 -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder");//65 -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder");//70 -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder");//75 -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder");//80 -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder");//85 -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push(["placeholder","placeholder","placeholder"]); -localeStrings.push("placeholder"); -localeStrings.push("placeholder");//90 -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder");//95 -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder");//100 -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); +localeStrings.push("Ancient holiday is forthcoming. Townsfolks are in a good mood to celebrate and already prepared some wine. If you wish, you may start a festival.\n But it will cost you %arg1 gold. You order milord?\n"); +localeStrings.push("The festival was started not so long ago.\nThe effect from festival would be weaker.\n"); +localeStrings.push(["The event item collected!","Your pledge is recorded!"]); +localeStrings.push(["Festival brought some fun to your people and %arg1 gold to you","Festival got out of control and some drunken brigands ransacked town. You lost %arg1 gold, milord"]); +localeStrings.push("Okay");//60 +localeStrings.push("You already have a hero!"); +localeStrings.push("Autosave is turned on"); +localeStrings.push("Autosave is turned off"); +localeStrings.push("You are about to build %arg1.\nIf the object is built, you wouldn't be allow to build %arg2.\nAre you sure in your choice?"); +localeStrings.push("Nothing to show yet, come here later.");//65 +localeStrings.push("Settings"); +localeStrings.push("Export Game"); +localeStrings.push("Import Game"); +localeStrings.push("Autosave"); +localeStrings.push("Change color mode");//70 +localeStrings.push("Option"); +localeStrings.push("On"); +localeStrings.push("Off"); +localeStrings.push("All sound effects"); +localeStrings.push("Effects on all events");//75 +localeStrings.push("Effects on action required events"); +localeStrings.push("All music"); +localeStrings.push("Lore and script music"); +localeStrings.push("Back"); +localeStrings.push("Sound effects and music");//80 +localeStrings.push("Open sound settings"); +localeStrings.push("Mobile UI"); +localeStrings.push("Event log size"); +localeStrings.push("lines"); +localeStrings.push("Your UID");//85 +localeStrings.push("Your nickname"); +localeStrings.push("Update"); +localeStrings.push(["Your nickname is registered","Your nickname is updated","Sorry, but this nicknames is taken"]); +localeStrings.push("%arg1 gold has been added to your treasury"); +localeStrings.push("Amber is the most valued currency");//90 +localeStrings.push("Garrison"); +localeStrings.push("Fire"); +localeStrings.push("Hire"); +localeStrings.push("Hiring and managing troops"); +localeStrings.push("Castellan");//95 +localeStrings.push("Hero"); +localeStrings.push("Train brother-sergeant
%arg1 gold"); +localeStrings.push("Hire turkopol
%arg1 gold"); +localeStrings.push("Train brother-knight
%arg1 gold"); +localeStrings.push("brothers-sergeants: ");//100 +localeStrings.push("turkopols: "); +localeStrings.push("brothers-knights: "); +localeStrings.push("move a unit to the hero squad"); +localeStrings.push("move a unit to the hero garrison"); localeStrings.push("placeholder");//105 -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder");//110 -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder");//115 -localeStrings.push("placeholder"); -localeStrings.push("placeholder");//117 +localeStrings.push("Building"); +localeStrings.push("Build Home
lvl %arg1
%arg2 gold"); +localeStrings.push("Build Wall
lvl %arg1
%arg2 gold"); +localeStrings.push("Build Tower
lvl %arg1
%arg2 gold"); +localeStrings.push("Build Treasury
lvl %arg1
%arg2 gold");//110 +localeStrings.push("Build Gallows
lvl %arg1
%arg2 gold"); +localeStrings.push("Build Fountain
lvl %arg1
%arg2 gold"); +localeStrings.push("Build Stash
lvl %arg1
%arg2 gold"); +localeStrings.push("Build Inn
lvl %arg1
%arg2 gold"); +localeStrings.push("Build Stable
lvl %arg1
%arg2 gold");//115 +localeStrings.push("Build Archery range
lvl %arg1
%arg2 gold"); +localeStrings.push("Build Castle
lvl %arg1
%arg2 gold");//117 localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//120 @@ -133,13 +133,45 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//130 -localeStrings.push("placeholder");//131 -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder");//135 -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); +localeStrings.push("

1255 Burgomaster

" + + "

How to play

" + + 'wiki https://github.com/Areso/1255-burgomaster/wiki
' + + "feedback feedback form
" + + "This game has some clock under the hood. Each clock's tick happens in 30 seconds.
" + + "After each clock turn your population is paying taxes to you and growing.
" + + "Normally, each citizen pays to you one gold piece per tick.
" + + "This behavior could be changed by player decisions.
" + + "You need to build Homes to continue growth of your city population.
" + + "Each lvl of Houses allows you to have more population.
" + + "You need to build Walls and Tower (Keep) to keep your city safe against intruders.
" + + "You need to build a Treasury to store your gold.
" + + "Each lvl of the treasury allows you to store more gold.
" + + "Also, Treasury allows you to hire treasury guards.
" + + "Treasury guards significantly decrease chance of gold being stolen from your treasury.
" + + "Hiring a guard will cost you %arg1 gold.
" + + "Each guard requires regular payment (each tick), it also costs %arg2 gold.
" + + "If you do not have enough money, they will leave their work permanently.
" + + "You can build Fountain OR Gallows. You cannot change your choice after building is done.
" + + "Fountains will increase happiness and speed of population growth
" + + "Gallows will decrease population, increase taxes, and allow you to execute townsfolk.
" + + "Executing any townsperson will add his property as confiscated gold.
" + + "Stash is required to lower your losses from stealing. You cannot build Stash without Treasury.
"+ + "This is a single-player game.
"+ + "
" + + "Supported Languages(SL): English, Russian (Русский).
"+ + "Community Supported Languages(CSL): German (Deutsch), Esperanto, French (le français).
"+ + "CSL means that the author doesn't provide any help or answers asked in the CSL,
"+ + "though parts of the game or game in whole could be provided in the CSL.
"+ + "Also, any CSL translation could have mistakes or untranslated parts
"+ + "or parts of translation which are partly outdated.
"+ + "You could help with translations for the game here:
"+ + "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
");//131 +localeStrings.push("wishing well"); +localeStrings.push("sawmill"); +localeStrings.push("wall"); +localeStrings.push("stone wall");//135 +localeStrings.push("tower"); +localeStrings.push("stone tower"); localeStrings.push("home"); localeStrings.push("homes"); localeStrings.push("inn");//140 @@ -174,7 +206,7 @@ localeStrings.push("The sky above the city darkened to black, lightning bolts ma localeStrings.push("Day "); localeStrings.push("Your hero needs to be in a autocampaign to do that!");//170 localeStrings.push("Do you want to withdraw your hero?"); -localeStrings.push("the hero and all troops met their death in the glory combat"); +localeStrings.push("Milord, we lost a hero with all troops in the glorious combat."); localeStrings.push("the hero has met great number of enemies and crash them. The battle brings to the hero money and experience!"); localeStrings.push("the hero has met small number of enemies and crash them. The battle brings to the hero money and experience!"); localeStrings.push("the day was very boring. Only one pagan was killed (a hunter took a pagan as a prey. so sad!)");//175 @@ -183,7 +215,7 @@ localeStrings.push("Do you want to dismiss hero with all troops?"); localeStrings.push("Nope. I will move all units from the hero first"); localeStrings.push("Do you want to generate a new map? It would cost %arg1 gold to you!"); localeStrings.push("You couldn't do it while your hero on the map!");//180 -localeStrings.push("Welcome to Inn!"); +localeStrings.push("A sly innkeeper winks at you: Your gold, my food and stories, milord. Welcome to inn!"); localeStrings.push("Hire hero
lvl %arg1
%arg2 gold"); localeStrings.push("luck"); localeStrings.push("superstition"); @@ -226,13 +258,13 @@ localeStrings.push("Open journal");//220 localeStrings.push("Use towngate scroll"); localeStrings.push("Go to the adventure map"); localeStrings.push("Regenerate map"); -localeStrings.push("Your hero got promoted to the next level!"); +localeStrings.push("Your hero got promoted to the next level for his brilliant service."); localeStrings.push("Do you want aggressive stance (higher reward, higher risk) or cautious one?");//225 localeStrings.push("Aggressive! Want blood and money!"); localeStrings.push("Cautious. What good of gold if your hero is dead?"); -localeStrings.push("You need to add some troops to hero's squad first!"); +localeStrings.push("We need to send some troops to a hero's squad first, milord"); localeStrings.push("You need a hero to do that!"); -localeStrings.push("It is a pleasure to have a business with you. I will see you again");//230 +localeStrings.push("It is a pleasure to have a business with you. Come again.");//230 localeStrings.push("Congratulations with your purchase! you made good choice!"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -328,7 +360,7 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//325 -localeStrings.push("placeholder"); +localeStrings.push("There is no savestring in the field"); localeStrings.push("placeholder"); localeStrings.push("Download game for playing off-grid (to play without Internet connection)"); localeStrings.push("placeholder"); @@ -499,10 +531,6 @@ locObj.requiredStables = {"txt": "To do that, you need to build stables", "loc": locObj.requiredArcheryRange = {"txt":"To do that, you need to build Archery Range", "loc":"happens when trying to hire turkopols if no archery range is built"}; locObj.requiredStablesUpgrade = {"txt": "To do that, you need to upgrade the stable to %arg1 level", "loc":"happens when trying to hire knights and stables level too low"}; locObj.deadCounselorDemolish = {"txt":"Your counselor is dead.\nThe new counselor, however, urges us to reconsider\nthe choice which was made with the previous one:\n-it's time, m'lord, when we could decide what's better for our nation.\n-if you agree, we demolish the %arg1 and thus you could build %arg2", "loc":""} -locObj.demolishGallows = {"txt": "Gallows", "loc": "your choice in deadCounselorDemolish dialogue"}; -locObj.fountainUnlock = {"txt": "Fountain", "loc": "will be unlocked in deadCounselorDemolish dialogue"}; -locObj.demolishFountain = {"txt": "Fountain", "loc": "your choice in deadCounselorDemolish dialogue"}; -locObj.gallowsUnlock = {"txt": "Gallows", "loc": "will be unlocked in deadCounselorDemolish dialogue"}; locObj.deadCounselorDemolishAnsYes = {"txt":"Yes, demolish it", "loc":"Positive answer"} locObj.buy = {"txt":"Buy", "loc":"On item in BlackMarket for sale from Goblin"}; locObj.sell = {"txt":"Sell", "loc":"On item in BlackMarket for sale from Hero"}; @@ -513,15 +541,13 @@ locObj.moneyDecreased = {"txt":"amount of money is decreased", "loc":"happens wh locObj.popIncreased = {"txt":"population is increased", "loc":"happens when s-to-s population value increased"}; locObj.popDecreased = {"txt":"population is decreased", "loc":"happens when s-to-s population value decreased"}; locObj.buildUpgradeHouse = {"txt":"your city is reached population limit. Build new houses or upgrade existing ones", "loc":"the endturn tip in case of overpopulating"}; -locObj.requiredFieldsNotFilled = {"txt": "Required fields are not filled!", "loc":"happens in case of empty fields like login, password, etc"}; locObj.savedSuccessfully = {"txt":"game saved successfully", "loc":"when manual save completed successfully"}; locObj.loadedSuccessfully = {"txt":"game loaded successfully", "loc":"when loaded completed successfully"}; locObj.dialogLoadGame = {"txt":"Load game? You will lose any unsaved progress!", "loc":"confirmation dialogue over loading game"}; locObj.noSaveGame = {"txt":"Sorry! There is no save to load from!", "loc":"in case there is no savegame"}; //TODO check only in case of overwrite or every savegame dialog! locObj.dialogSaveGame = {"txt":"Save game? You will rewrite any save you already have!", "loc":"when trying to save game or overwriting existing savegame"}; -locObj.loadGameFromStringEmpty = {"txt":"Please insert save string", "loc":"happens when the loadgame input is empty"}; -locObj.loadGameFromStringError = {"txt":"Couldn't load the game from the savestring ;-;", "loc":"happens when the loadgame input is incorrect or couldn't be processed"}; +locObj.loadGameFromStringError = {"txt":"Please insert save string", "loc":"happens when the loadgame input is empty"}; locObj.lblLongSaveString = {"txt":"very long string", "loc":"label near input fielf for savegame string"}; locObj.dialogConfirmHireGuard = {"txt":"Do you want to hire a guardsman? He will cost you %arg1 gold\nand then %arg2 gold per each season!", "loc":"hiring treasury guard confirmation dialogue"}; locObj.hiredGuardsman = {"txt":"You hired a guardsman!", "loc":"after succesfully hired a guardsman"}; @@ -584,113 +610,3 @@ locObj.helpStables = {"txt":"This building and its improvements is needed to hir locObj.helpArcheryRange = {"txt":"This building and its improvements is needed to hire archery units.
The higher level of Archery range you have, the more experienced troops you could hire there", "loc":"help msg in the building tab"}; locObj.helpInn = {"txt":"This building and its improvements is needed to hire heroes.
The higher level of Inn you have, the more experienced hero you could hire there", "loc":"help msg in the building tab"}; locObj.helpUniversity = {"txt":"This building is required to research new technologies", "loc":"User saw this when moving the coursor above the university icon in Building tab"}; -locObj.callFiremen = {"txt":"Call firemen? It will cost you %arg1 gold!", "loc":"dialog happens when trying to get rid off the fire"}; -locObj.fireEndedByFireservice = {"txt": "firemen put end to the fire!", "loc":"happens after firemen ended the fire"}; -locObj.burnToAshes = {"txt": "it will burn to ashes!", "loc":"happens if player decided not to pay to firemen"}; -locObj.rndEventsStealing = {"txt": "shit happens: thieves stole %arg1 gold from your treasury", "loc":"random events, stealings"}; -locObj.rndEventsLotteryWon = {"txt": "You won in a lottery %arg1 gold prize", "loc":"random events lottery won msg"}; -locObj.locSaveGame = {"txt": "Save game", "loc":"browser-wide savegame"}; -locObj.locLoadGame = {"txt": "Load game", "loc":"load save from localStorage of the browser"}; -locObj.tabCity = {"txt":"City", "loc":"tabname in the tab bar"}; -locObj.tabSettings = {"txt":"Settings", "loc": "tabname Settings in the tab bar"}; -locObj.tabBuilding = {"txt": "Building", "loc": "tabname Building in the tab bar"}; -locObj.tabHowToPlay = {"txt": "How To Play", "loc":"tabname How To Play, about and stuff in da bar"}; -locObj.tabDiscord = {"txt": "Discord", "loc": "tabname Discord with a Discord widget"}; -locObj.btnPutOutTheFire = {"txt": "Put out the fire", "loc": "button to extinguish the fire"}; -locObj.btnExecutePerson = {"txt": "Execute somebody", "loc": "button to execute somebody"}; -locObj.festivalConfirm = {"txt": "Do you want to place a festival?\nIt would cost to you %arg1 gold!\n", "loc":"place festival confirmation dialogue"}; -locObj.festivalConfirmCooldown = {"txt":"Festival was placed not so long ago.\nThe effect from festival would be weaken.\n", "loc":"happens in case of Cooldown of the festivals"}; -locObj.eventItemCollected = {"txt": "The event item collected!", "loc": "happens when gathered an event item"}; -locObj.eventPledgeRecorded = {"txt": "Your pledge is recorded", "loc": "happens when the pledge was successfully recorded"}; -locObj.eventPledgeError = {"txt": "Your pledge couldn't be recorded. Are you logged in?", "loc": "happens when the pledge wasn't recorded"}; -locObj.festivalGain = {"txt": "Your gain because of the festival is %arg1", "loc":"happens if the festival was profitable for budget"}; -locObj.festivalLoss = {"txt": "Your loss because of the festival is %arg1", "loc":"happens if the festival was unprofitable for budget"}; -locObj.errAlreadyHasHero = {"txt": "You already have a hero!", "loc":"happens when trying to hire a hero, when you have one hired"}; -locObj.autosaveTurnedOn = {"txt": "Autosave is turned on", "loc": "happens when autosave enabled"}; -locObj.autosaveTurnedOff = {"txt": "Autosave is turned off", "loc": "happens when autosave disabled"}; -locObj.GallowsFountainChoiceConfirm = {"txt": "You are about to build %arg1.\nIf the object is built, you wouldn't be allow to build %arg2.\nAre you sure in your choice?", "loc":"happens when you are about to build Fountain or Gallows"}; -locObj.GallowsChoiceConfirm = {"txt": "Gallows", "loc": "your choice in GallowsFountainChoiceConfirm dialogue"}; -locObj.FountainBlocked = {"txt": "Fountain", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue"}; -locObj.FountainChoiceConfirm = {"txt": "Fountain", "loc": "your choice in GallowsFountainChoiceConfirm dialogue"}; -locObj.GallowsBlocked = {"txt": "Gallows", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue"}; -locObj.noStatsYet = {"txt": "Nothing to show yet, come here later", "loc":"happens when trying to open gold/pop stats"}; -locObj.tabSettings = {"txt": "Settings", "loc":"Settings tab name"}; -locObj.tabSettingsBtnExportGame = {"txt": "Export Game", "loc":"Export game button"}; -locObj.tabSettingsBtnImportGame = {"txt": "Import Game", "loc":"Import game button"}; -locObj.tabSettingsLblAutosave = {"txt": "Autosave", "loc": "Autsave label before the toggle"}; -locObj.tabSettingsBtnChangeColorMode = {"txt": "Change color mode", "loc": "settings tab change colour mode button"}; -locObj.tabSoundSettingsLblOption = {"txt": "Option", "loc":"Sound settings tab, name of the option"}; -locObj.on = {"txt": "on", "loc": "used on Sound Settings tab"}; -locObj.off = {"txt": "off", "loc": "used on Sounds Settings tab"}; -locObj.tabSoundSettingsLblAllSoundEffects = {"txt":"All sound effects", "loc": "sound settings tab"}; -locObj.tabSoundSettingsLblAllEventsEffects = {"txt":"Effects on all events", "loc": "sound settings tab"}; -locObj.tabSoundSettingsLblEffectsAR = {"txt": "Effects on action required events", "loc":"sound settings tab"}; -locObj.tabSoundSettingsAllMusic = {"txt": "All music", "loc":"sound settings tab"}; -locObj.tabSoundSettingsScMusic = {"txt": "Lore and script music", "loc": "sounds settings tab"}; -locObj.btnBack = {"txt": "Back", "loc":"sound settings tab"}; -locObj.lblSoundMenu = {"txt": "Sound effects and music", "loc": "sounds settings tab"}; -locObj.tabSettingsBtnOpenSoundSettings = {"txt": "Open sound settings", "loc":"settings tab"}; -locObj.tabSettingsLblMobileUI = {"txt": "Mobile UI", "loc": "settings tab"}; -locObj.tabSettingsLblLogSize = {"txt":"Event log size", "loc": "settings tab"}; -locObj.tabSettingsLblLines = {"txt": "lines", "loc": "settings tab"}; -locObj.goldAddedToTreasury = {"txt": "%arg1 gold has been added to your treasury", "loc":"gold added when a hero returned to the city"}; -locObj.amber = {"txt": "Amber is the most valued currency", "loc": "happens on click on amber"}; -locObj.lblGarrison = {"txt": "Garrison", "loc": "label in Garrison tab"}; -locObj.btnFire = {"txt": "Fire", "loc": "button in Garrison tab"}; -locObj.btnHire = {"txt": "Hire", "loc": "button in Garrison tab"}; -locObj.imgCastellan = {"txt": "Castellan", "loc": "troops management screen"}; -locObj.imgHero = {"txt":"Hero","loc":"troops management screen"}; -locObj.imgBrotherSergeants = {"txt": "brothers-sergeants", "loc": "troops management screen"}; -locObj.imgTurkopols = {"txt": "turkopols", "loc": "troops management screen"}; -locObj.imgBrotherKnights = {"txt": "brother-knights", "loc": "troops management screen"}; -locObj.btnBuildHouse = {"txt": "Build Home
lvl %arg1
%arg2 gold", "loc":"building tab"}; -locObj.btnBuildWall = {"txt": "Build Wall
lvl %arg1
%arg2 gold", "loc":"building tab"}; -locObj.btnBuildTower = {"txt": "Build Tower
lvl %arg1
%arg2 gold", "loc":"building tab"}; -locObj.btnBuildCastle = {"txt": "Build Castle
lvl %arg1
%arg2 gold", "loc":"building tab"}; -locObj.btnBuildTreasury = {"txt": "Build Treasury
lvl %arg1
%arg2 gold", "loc": "building tab"}; -locObj.btnBuildGallows = {"txt": "Build Gallows
lvl %arg1
%arg2 gold", "loc": "building tab"}; -locObj.btnBuildFountain = {"txt": "Build Fountain
lvl %arg1
%arg2 gold", "loc": "building tab"}; -locObj.btnBuildStash = {"txt": "Build Stash
lvl %arg1
%arg2 gold", "loc": "building tab"}; -locObj.btnBuildInn = {"txt": "Build Inn
lvl %arg1
%arg2 gold", "loc": "building tab"}; -locObj.btnBuildStables = {"txt": "Build Stable
lvl %arg1
%arg2 gold", "loc":"building tab"}; -locObj.btnBuildArcheryRange = {"txt": "Build Archery range
lvl %arg1
%arg2 gold", "loc":"building tab"}; -helpBlock = "

1255: Rise of Teutonics

" + - "

How to play

" + - 'wiki https://github.com/Areso/1255-burgomaster/wiki
' + - "feedback feedback form
" + - "This game has some clock under the hood. Each clock's tick happens in 30 seconds.
" + - "After each clock turn your population is paying taxes to you and growing.
" + - "Normally, each citizen pays to you one gold piece per tick.
" + - "This behavior could be changed by player decisions.
" + - "You need to build Homes to continue growth of your city population.
" + - "Each lvl of Houses allows you to have more population.
" + - "You need to build Walls and Tower (Keep) to keep your city safe against intruders.
" + - "You need to build a Treasury to store your gold.
" + - "Each lvl of the treasury allows you to store more gold.
" + - "Also, Treasury allows you to hire treasury guards.
" + - "Treasury guards significantly decrease chance of gold being stolen from your treasury.
" + - "Hiring a guard will cost you %arg1 gold.
" + - "Each guard requires regular payment (each tick), it also costs %arg2 gold.
" + - "If you do not have enough money, they will leave their work permanently.
" + - "You can build Fountain OR Gallows. You cannot change your choice after building is done.
" + - "Fountains will increase happiness and speed of population growth
" + - "Gallows will decrease population, increase taxes, and allow you to execute townsfolk.
" + - "Executing any townsperson will add his property as confiscated gold.
" + - "Stash is required to lower your losses from stealing. You cannot build Stash without Treasury.
"+ - "This is a single-player game.
"+ - "
" + - "Supported Languages(SL): English, Russian (Русский).
"+ - "Community Supported Languages(CSL): German (Deutsch), Esperanto, French (le français).
"+ - "CSL means that the author doesn't provide any help or answers asked in the CSL,
"+ - "though parts of the game or game in whole could be provided in the CSL.
"+ - "Also, any CSL translation could have mistakes or untranslated parts
"+ - "or parts of translation which are partly outdated.
"+ - "You could help with translations for the game here:
"+ - "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
"; -locObj.tabHowToPlayText = helpBlock; -locObj.cityScreenSawmill = {"txt": "sawmill", "loc": "cityscreen"}; -locObj.cityScreenWishingWell = {"txt": "wishing well", "loc": "cityscreen"}; -locObj.cityScreenWall = {"txt": "wall", "loc": "cityscreen"}; -locObj.cityScreenStoneWall = {"txt": "stone wall", "loc": "cityscreen"}; -locObj.cityScreenTower = {"txt": "tower", "loc": "cityscreen"}; -locObj.cityScreenStoneTower = {"txt": "stone tower", "loc": "cityscreen"}; \ No newline at end of file From c6805abb8e6824ae34949747b669371e00510639 Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Thu, 2 Mar 2023 01:52:25 +0200 Subject: [PATCH 03/86] fixed --- js/dom.js | 16 ++-- js/game.js | 3 +- langs/de-DE.js | 37 +++++++--- langs/en-US.js | 195 ++++++++++++++++++++++++++++++++++++------------- langs/eo.js | 37 +++++++--- langs/es-ES.js | 37 +++++++--- langs/fr-FR.js | 41 +++++++---- langs/ru-RU.js | 41 +++++++---- 8 files changed, 281 insertions(+), 126 deletions(-) diff --git a/js/dom.js b/js/dom.js index eaade9a..4a6f1c8 100644 --- a/js/dom.js +++ b/js/dom.js @@ -87,14 +87,14 @@ include('localisation.js',function(){ document.getElementById("lblFBOn").innerText = localeStrings[272]; document.getElementById("lblFBOff").innerText = localeStrings[273]; document.getElementById("lblFBUpKeepPrice").innerText = localeStrings[274]; - document.getElementById("btnPopAtStart").innerText = localeStrings[157]; - document.getElementById("btnGoldAtStart").innerText = localeStrings[157]; - document.getElementById("btnPopPrev").innerText = localeStrings[158]; - document.getElementById("btnGoldPrev").innerText = localeStrings[158]; - document.getElementById("btnPopNext").innerText = localeStrings[159]; - document.getElementById("btnGoldNext").innerText = localeStrings[159]; - document.getElementById("btnPopAtEnd").innerText = localeStrings[160]; - document.getElementById("btnGoldAtEnd").innerText = localeStrings[160]; + document.getElementById("btnPopAtStart").innerText = locObj.paginationStart.txt; + document.getElementById("btnGoldAtStart").innerText = locObj.paginationStart.txt; + document.getElementById("btnPopPrev").innerText = locObj.paginationPrevious.txt; + document.getElementById("btnGoldPrev").innerText = locObj.paginationPrevious.txt; + document.getElementById("btnPopNext").innerText = locObj.paginationNext.txt; + document.getElementById("btnGoldNext").innerText = locObj.paginationNext.txt; + document.getElementById("btnPopAtEnd").innerText = locObj.paginationCurrent.txt; + document.getElementById("btnGoldAtEnd").innerText = locObj.paginationCurrent.txt; document.getElementById("downloadGame").innerText = localeStrings[328]; document.getElementById("lblLevelForHireLbl").innerText = locObj.heroLvlLbl.txt; document.getElementById("spnServerStatusLabel").innerText= locObj.serverStatusSpn.txt; diff --git a/js/game.js b/js/game.js index 14b8ef0..75e103e 100644 --- a/js/game.js +++ b/js/game.js @@ -2648,7 +2648,7 @@ function gameOK() { } if (objectToBuild==="Gallows") { costOfBuilding = config.costGallows; - question = locObj.GallowsFountainChoiceConfirm.txt.replace("%arg1",locObj.GallowsChoiceConfirm.txt).replace(locObj.FountainBlocked.txt); + question = locObj.GallowsFountainChoiceConfirm.txt.replace("%arg1",locObj.GallowsChoiceConfirm.txt).replace("%arg2",locObj.FountainBlocked.txt); } if (game.gold > costOfBuilding) { if (game.buildLevelFountain === 0 && game.buildLevelGallows === 0) { @@ -3543,7 +3543,6 @@ function gameOK() { alertMsg = locObj.cityScreenStoneTower.txt; } if (buildingName==='inn') { - //alertMsg = localeStrings[140]; showAlert = false; if (game.checkAudio('sfx', 'all')===true) { document.getElementById('innAudio0').play(); diff --git a/langs/de-DE.js b/langs/de-DE.js index 0929a02..e4616a2 100644 --- a/langs/de-DE.js +++ b/langs/de-DE.js @@ -140,15 +140,15 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder");//135 localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("Haus"); -localeStrings.push("Häuser"); -localeStrings.push("Schenke");//140 localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("Schatzkammer"); -localeStrings.push("gold"); -localeStrings.push("Bevölkerung");//145 -localeStrings.push("Schießstand"); +localeStrings.push("placeholder");//140 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//145 +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -159,10 +159,10 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//155 localeStrings.push("placeholder"); -localeStrings.push("Zu Beginn"); -localeStrings.push("Bisherige"); -localeStrings.push("Nächster"); -localeStrings.push("Zur aktuellen");//160 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//160 localeStrings.push("Bevölkerungshistorie-Tab"); localeStrings.push("Aktuelle Bevölkerungsgrenze ist %arg1"); localeStrings.push("Aktuelle Goldgrenze ist %arg1"); @@ -692,4 +692,17 @@ locObj.cityScreenWishingWell = {"txt": "Wunschbrunnen", "loc": "cityscreen"}; locObj.cityScreenWall = {"txt": "Mauer", "loc": "cityscreen"}; locObj.cityScreenStoneWall = {"txt": "Steinmauer", "loc": "cityscreen"}; locObj.cityScreenTower = {"txt": "Turm", "loc": "cityscreen"}; -locObj.cityScreenStoneTower = {"txt": "Steinturm", "loc": "cityscreen"}; \ No newline at end of file +locObj.cityScreenStoneTower = {"txt": "Steinturm", "loc": "cityscreen"}; +locObj.cityScreenHouse = {"txt": "Haus", "loc": "cityscreen"}; +locObj.cityScreenHouses = {"txt": "Häuser", "loc": "cityscreen"}; +locObj.cityScreenInn = {"txt": "Schenke", "loc": "cityscreen"}; +locObj.cityScreenGallows = {"txt": "gallows", "loc": "cityscreen"}; +locObj.cityScreenFountain = {"txt": "fountain", "loc": "cityscreen"}; +locObj.cityScreenTreasury = {"txt": "Schatzkammer", "loc": "cityscreen"}; +locObj.resourceGold = {"txt": "gold", "loc": "resource panel"}; +locObj.resourcePop = {"txt": "Bevölkerung", "loc": "resource panel"}; +locObj.cityScreenArcheryRange = {"txt": "Schießstand", "loc":"cityscreen"}; +locObj.paginationStart = {"txt": "Zu Beginn", "loc": "stat pages, to the start button"}; +locObj.paginationPrevious = {"txt": "Bisherige", "loc": "stat pages, previous page"}; +locObj.paginationNext = {"txt": "Nächster", "loc": "stat pages, next page btn"}; +locObj.paginationCurrent = {"txt": "Zur aktuellen", "loc": "stat pages, current btn"}; \ No newline at end of file diff --git a/langs/en-US.js b/langs/en-US.js index 8b4b061..829dadf 100644 --- a/langs/en-US.js +++ b/langs/en-US.js @@ -133,54 +133,22 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//130 -localeStrings.push("

1255 Burgomaster

" + - "

How to play

" + - 'wiki https://github.com/Areso/1255-burgomaster/wiki
' + - "feedback feedback form
" + - "This game has some clock under the hood. Each clock's tick happens in 30 seconds.
" + - "After each clock turn your population is paying taxes to you and growing.
" + - "Normally, each citizen pays to you one gold piece per tick.
" + - "This behavior could be changed by player decisions.
" + - "You need to build Homes to continue growth of your city population.
" + - "Each lvl of Houses allows you to have more population.
" + - "You need to build Walls and Tower (Keep) to keep your city safe against intruders.
" + - "You need to build a Treasury to store your gold.
" + - "Each lvl of the treasury allows you to store more gold.
" + - "Also, Treasury allows you to hire treasury guards.
" + - "Treasury guards significantly decrease chance of gold being stolen from your treasury.
" + - "Hiring a guard will cost you %arg1 gold.
" + - "Each guard requires regular payment (each tick), it also costs %arg2 gold.
" + - "If you do not have enough money, they will leave their work permanently.
" + - "You can build Fountain OR Gallows. You cannot change your choice after building is done.
" + - "Fountains will increase happiness and speed of population growth
" + - "Gallows will decrease population, increase taxes, and allow you to execute townsfolk.
" + - "Executing any townsperson will add his property as confiscated gold.
" + - "Stash is required to lower your losses from stealing. You cannot build Stash without Treasury.
"+ - "This is a single-player game.
"+ - "
" + - "Supported Languages(SL): English, Russian (Русский).
"+ - "Community Supported Languages(CSL): German (Deutsch), Esperanto, French (le français).
"+ - "CSL means that the author doesn't provide any help or answers asked in the CSL,
"+ - "though parts of the game or game in whole could be provided in the CSL.
"+ - "Also, any CSL translation could have mistakes or untranslated parts
"+ - "or parts of translation which are partly outdated.
"+ - "You could help with translations for the game here:
"+ - "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
");//131 -localeStrings.push("wishing well"); -localeStrings.push("sawmill"); -localeStrings.push("wall"); -localeStrings.push("stone wall");//135 -localeStrings.push("tower"); -localeStrings.push("stone tower"); -localeStrings.push("home"); -localeStrings.push("homes"); -localeStrings.push("inn");//140 -localeStrings.push("gallows"); -localeStrings.push("fountain"); -localeStrings.push("treasury"); -localeStrings.push("gold"); -localeStrings.push("population");//145 -localeStrings.push("archery range"); +localeStrings.push("placeholder");//131 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//135 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//140 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//145 +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -191,10 +159,10 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//155 localeStrings.push("placeholder"); -localeStrings.push("To the beginning"); -localeStrings.push("Previous"); -localeStrings.push("Next"); -localeStrings.push("To the current");//160 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//160 localeStrings.push("Population history tab"); localeStrings.push("Current population limit is %arg1"); localeStrings.push("Current gold limit is %arg1"); @@ -610,3 +578,126 @@ locObj.helpStables = {"txt":"This building and its improvements is needed to hir locObj.helpArcheryRange = {"txt":"This building and its improvements is needed to hire archery units.
The higher level of Archery range you have, the more experienced troops you could hire there", "loc":"help msg in the building tab"}; locObj.helpInn = {"txt":"This building and its improvements is needed to hire heroes.
The higher level of Inn you have, the more experienced hero you could hire there", "loc":"help msg in the building tab"}; locObj.helpUniversity = {"txt":"This building is required to research new technologies", "loc":"User saw this when moving the coursor above the university icon in Building tab"}; +locObj.callFiremen = {"txt":"Call firemen? It will cost you %arg1 gold!", "loc":"dialog happens when trying to get rid off the fire"}; +locObj.fireEndedByFireservice = {"txt": "firemen put end to the fire!", "loc":"happens after firemen ended the fire"}; +locObj.burnToAshes = {"txt": "it will burn to ashes!", "loc":"happens if player decided not to pay to firemen"}; +locObj.rndEventsStealing = {"txt": "shit happens: thieves stole %arg1 gold from your treasury", "loc":"random events, stealings"}; +locObj.rndEventsLotteryWon = {"txt": "You won in a lottery %arg1 gold prize", "loc":"random events lottery won msg"}; +locObj.locSaveGame = {"txt": "Save game", "loc":"browser-wide savegame"}; +locObj.locLoadGame = {"txt": "Load game", "loc":"load save from localStorage of the browser"}; +locObj.tabCity = {"txt":"City", "loc":"tabname in the tab bar"}; +locObj.tabSettings = {"txt":"Settings", "loc": "tabname Settings in the tab bar"}; +locObj.tabBuilding = {"txt": "Building", "loc": "tabname Building in the tab bar"}; +locObj.tabHowToPlay = {"txt": "How To Play", "loc":"tabname How To Play, about and stuff in da bar"}; +locObj.tabDiscord = {"txt": "Discord", "loc": "tabname Discord with a Discord widget"}; +locObj.btnPutOutTheFire = {"txt": "Put out the fire", "loc": "button to extinguish the fire"}; +locObj.btnExecutePerson = {"txt": "Execute somebody", "loc": "button to execute somebody"}; +locObj.festivalConfirm = {"txt": "Do you want to place a festival?\nIt would cost to you %arg1 gold!\n", "loc":"place festival confirmation dialogue"}; +locObj.festivalConfirmCooldown = {"txt":"Festival was placed not so long ago.\nThe effect from festival would be weaken.\n", "loc":"happens in case of Cooldown of the festivals"}; +locObj.eventItemCollected = {"txt": "The event item collected!", "loc": "happens when gathered an event item"}; +locObj.eventPledgeRecorded = {"txt": "Your pledge is recorded", "loc": "happens when the pledge was successfully recorded"}; +locObj.eventPledgeError = {"txt": "Your pledge couldn't be recorded. Are you logged in?", "loc": "happens when the pledge wasn't recorded"}; +locObj.festivalGain = {"txt": "Your gain because of the festival is %arg1", "loc":"happens if the festival was profitable for budget"}; +locObj.festivalLoss = {"txt": "Your loss because of the festival is %arg1", "loc":"happens if the festival was unprofitable for budget"}; +locObj.errAlreadyHasHero = {"txt": "You already have a hero!", "loc":"happens when trying to hire a hero, when you have one hired"}; +locObj.autosaveTurnedOn = {"txt": "Autosave is turned on", "loc": "happens when autosave enabled"}; +locObj.autosaveTurnedOff = {"txt": "Autosave is turned off", "loc": "happens when autosave disabled"}; +locObj.GallowsFountainChoiceConfirm = {"txt": "You are about to build %arg1.\nIf the object is built, you wouldn't be allow to build %arg2.\nAre you sure in your choice?", "loc":"happens when you are about to build Fountain or Gallows"}; +locObj.GallowsChoiceConfirm = {"txt": "Gallows", "loc": "your choice in GallowsFountainChoiceConfirm dialogue"}; +locObj.FountainBlocked = {"txt": "Fountain", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue"}; +locObj.FountainChoiceConfirm = {"txt": "Fountain", "loc": "your choice in GallowsFountainChoiceConfirm dialogue"}; +locObj.GallowsBlocked = {"txt": "Gallows", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue"}; +locObj.noStatsYet = {"txt": "Nothing to show yet, come here later", "loc":"happens when trying to open gold/pop stats"}; +locObj.tabSettings = {"txt": "Settings", "loc":"Settings tab name"}; +locObj.tabSettingsBtnExportGame = {"txt": "Export Game", "loc":"Export game button"}; +locObj.tabSettingsBtnImportGame = {"txt": "Import Game", "loc":"Import game button"}; +locObj.tabSettingsLblAutosave = {"txt": "Autosave", "loc": "Autsave label before the toggle"}; +locObj.tabSettingsBtnChangeColorMode = {"txt": "Change color mode", "loc": "settings tab change colour mode button"}; +locObj.tabSoundSettingsLblOption = {"txt": "Option", "loc":"Sound settings tab, name of the option"}; +locObj.on = {"txt": "on", "loc": "used on Sound Settings tab"}; +locObj.off = {"txt": "off", "loc": "used on Sounds Settings tab"}; +locObj.tabSoundSettingsLblAllSoundEffects = {"txt":"All sound effects", "loc": "sound settings tab"}; +locObj.tabSoundSettingsLblAllEventsEffects = {"txt":"Effects on all events", "loc": "sound settings tab"}; +locObj.tabSoundSettingsLblEffectsAR = {"txt": "Effects on action required events", "loc":"sound settings tab"}; +locObj.tabSoundSettingsAllMusic = {"txt": "All music", "loc":"sound settings tab"}; +locObj.tabSoundSettingsScMusic = {"txt": "Lore and script music", "loc": "sounds settings tab"}; +locObj.btnBack = {"txt": "Back", "loc":"sound settings tab"}; +locObj.lblSoundMenu = {"txt": "Sound effects and music", "loc": "sounds settings tab"}; +locObj.tabSettingsBtnOpenSoundSettings = {"txt": "Open sound settings", "loc":"settings tab"}; +locObj.tabSettingsLblMobileUI = {"txt": "Mobile UI", "loc": "settings tab"}; +locObj.tabSettingsLblLogSize = {"txt":"Event log size", "loc": "settings tab"}; +locObj.tabSettingsLblLines = {"txt": "lines", "loc": "settings tab"}; +locObj.goldAddedToTreasury = {"txt": "%arg1 gold has been added to your treasury", "loc":"gold added when a hero returned to the city"}; +locObj.amber = {"txt": "Amber is the most valued currency", "loc": "happens on click on amber"}; +locObj.lblGarrison = {"txt": "Garrison", "loc": "label in Garrison tab"}; +locObj.btnFire = {"txt": "Fire", "loc": "button in Garrison tab"}; +locObj.btnHire = {"txt": "Hire", "loc": "button in Garrison tab"}; +locObj.imgCastellan = {"txt": "Castellan", "loc": "troops management screen"}; +locObj.imgHero = {"txt":"Hero","loc":"troops management screen"}; +locObj.imgBrotherSergeants = {"txt": "brothers-sergeants", "loc": "troops management screen"}; +locObj.imgTurkopols = {"txt": "turkopols", "loc": "troops management screen"}; +locObj.imgBrotherKnights = {"txt": "brother-knights", "loc": "troops management screen"}; +locObj.btnBuildHouse = {"txt": "Build Home
lvl %arg1
%arg2 gold", "loc":"building tab"}; +locObj.btnBuildWall = {"txt": "Build Wall
lvl %arg1
%arg2 gold", "loc":"building tab"}; +locObj.btnBuildTower = {"txt": "Build Tower
lvl %arg1
%arg2 gold", "loc":"building tab"}; +locObj.btnBuildCastle = {"txt": "Build Castle
lvl %arg1
%arg2 gold", "loc":"building tab"}; +locObj.btnBuildTreasury = {"txt": "Build Treasury
lvl %arg1
%arg2 gold", "loc": "building tab"}; +locObj.btnBuildGallows = {"txt": "Build Gallows
lvl %arg1
%arg2 gold", "loc": "building tab"}; +locObj.btnBuildFountain = {"txt": "Build Fountain
lvl %arg1
%arg2 gold", "loc": "building tab"}; +locObj.btnBuildStash = {"txt": "Build Stash
lvl %arg1
%arg2 gold", "loc": "building tab"}; +locObj.btnBuildInn = {"txt": "Build Inn
lvl %arg1
%arg2 gold", "loc": "building tab"}; +locObj.btnBuildStables = {"txt": "Build Stable
lvl %arg1
%arg2 gold", "loc":"building tab"}; +locObj.btnBuildArcheryRange = {"txt": "Build Archery range
lvl %arg1
%arg2 gold", "loc":"building tab"}; +helpBlock = "

1255: Rise of Teutonics

" + + "

How to play

" + + 'wiki https://github.com/Areso/1255-burgomaster/wiki
' + + "feedback feedback form
" + + "This game has some clock under the hood. Each clock's tick happens in 30 seconds.
" + + "After each clock turn your population is paying taxes to you and growing.
" + + "Normally, each citizen pays to you one gold piece per tick.
" + + "This behavior could be changed by player decisions.
" + + "You need to build Homes to continue growth of your city population.
" + + "Each lvl of Houses allows you to have more population.
" + + "You need to build Walls and Tower (Keep) to keep your city safe against intruders.
" + + "You need to build a Treasury to store your gold.
" + + "Each lvl of the treasury allows you to store more gold.
" + + "Also, Treasury allows you to hire treasury guards.
" + + "Treasury guards significantly decrease chance of gold being stolen from your treasury.
" + + "Hiring a guard will cost you %arg1 gold.
" + + "Each guard requires regular payment (each tick), it also costs %arg2 gold.
" + + "If you do not have enough money, they will leave their work permanently.
" + + "You can build Fountain OR Gallows. You cannot change your choice after building is done.
" + + "Fountains will increase happiness and speed of population growth
" + + "Gallows will decrease population, increase taxes, and allow you to execute townsfolk.
" + + "Executing any townsperson will add his property as confiscated gold.
" + + "Stash is required to lower your losses from stealing. You cannot build Stash without Treasury.
"+ + "This is a single-player game.
"+ + "
" + + "Supported Languages(SL): English, Russian (Русский).
"+ + "Community Supported Languages(CSL): German (Deutsch), Esperanto, French (le français).
"+ + "CSL means that the author doesn't provide any help or answers asked in the CSL,
"+ + "though parts of the game or game in whole could be provided in the CSL.
"+ + "Also, any CSL translation could have mistakes or untranslated parts
"+ + "or parts of translation which are partly outdated.
"+ + "You could help with translations for the game here:
"+ + "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
"; +locObj.tabHowToPlayText = helpBlock; +locObj.cityScreenSawmill = {"txt": "sawmill", "loc": "cityscreen"}; +locObj.cityScreenWishingWell = {"txt": "wishing well", "loc": "cityscreen"}; +locObj.cityScreenWall = {"txt": "wall", "loc": "cityscreen"}; +locObj.cityScreenStoneWall = {"txt": "stone wall", "loc": "cityscreen"}; +locObj.cityScreenTower = {"txt": "tower", "loc": "cityscreen"}; +locObj.cityScreenStoneTower = {"txt": "stone tower", "loc": "cityscreen"}; +locObj.cityScreenHouse = {"txt": "house", "loc": "cityscreen"}; +locObj.cityScreenHouses = {"txt": "houses", "loc": "cityscreen"}; +locObj.cityScreenInn = {"txt": "inn", "loc": "cityscreen"}; +locObj.cityScreenGallows = {"txt": "gallows", "loc": "cityscreen"}; +locObj.cityScreenFountain = {"txt": "fountain", "loc": "cityscreen"}; +locObj.cityScreenTreasury = {"txt": "treasury", "loc": "cityscreen"}; +locObj.resourceGold = {"txt": "gold", "loc": "resource panel"}; +locObj.resourcePop = {"txt": "population", "loc": "resource panel"}; +locObj.cityScreenArcheryRange = {"txt": "archery range", "loc":"cityscreen"}; +locObj.paginationStart = {"txt": "To the beginning", "loc": "stat pages, to the start button"}; +locObj.paginationPrevious = {"txt": "Previous", "loc": "stat pages, previous page btn"}; +locObj.paginationNext = {"txt": "Next", "loc": "stat pages, next page btn"}; +locObj.paginationCurrent = {"txt": "To the current", "loc": "stat pages, current btn"}; diff --git a/langs/eo.js b/langs/eo.js index 2df6f2f..4a82f27 100644 --- a/langs/eo.js +++ b/langs/eo.js @@ -140,15 +140,15 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder");//135 localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("domo"); -localeStrings.push("domoj"); -localeStrings.push("gatejo");//140 localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("trezorejo"); -localeStrings.push("oro"); -localeStrings.push("langeto");//145 -localeStrings.push("pafado"); +localeStrings.push("placeholder");//140 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//145 +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -159,10 +159,10 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//155 localeStrings.push("placeholder"); -localeStrings.push("Al la komenco"); -localeStrings.push("Antaŭa"); -localeStrings.push("Sekva"); -localeStrings.push("Al la fluo");//160 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//160 localeStrings.push("langeto pri civitanaj historio"); localeStrings.push("Nuna populacio limo estas %arg1"); localeStrings.push("Nuna ora limo estas %arg1"); @@ -691,4 +691,17 @@ locObj.cityScreenWishingWell = {"txt": "dezirante puto", "loc": "cityscreen"}; locObj.cityScreenWall = {"txt": "muro", "loc": "cityscreen"}; locObj.cityScreenStoneWall = {"txt": "ŝtona muro", "loc": "cityscreen"}; locObj.cityScreenTower = {"txt": "turo", "loc": "cityscreen"}; -locObj.cityScreenStoneTower = {"txt": "ŝtona turo", "loc": "cityscreen"}; \ No newline at end of file +locObj.cityScreenStoneTower = {"txt": "ŝtona turo", "loc": "cityscreen"}; +locObj.cityScreenHouse = {"txt": "domo", "loc": "cityscreen"}; +locObj.cityScreenHouses = {"txt": "domoj", "loc": "cityscreen"}; +locObj.cityScreenInn = {"txt": "gatejo", "loc": "cityscreen"}; +locObj.cityScreenGallows = {"txt": "gallows", "loc": "cityscreen"}; +locObj.cityScreenFountain = {"txt": "fountain", "loc": "cityscreen"}; +locObj.cityScreenTreasury = {"txt": "trezorejo", "loc": "cityscreen"}; +locObj.resourceGold = {"txt": "oro", "loc": "resource panel"}; +locObj.resourcePop = {"txt": "langeto", "loc": "resource panel"}; +locObj.cityScreenArcheryRange = {"txt": "pafado", "loc":"cityscreen"}; +locObj.paginationStart = {"txt": "Al la komenco", "loc": "stat pages, to the start button"}; +locObj.paginationPrevious = {"txt": "Antaŭa", "loc": "stat pages, previous page"}; +locObj.paginationNext = {"txt": "Sekva", "loc": "stat pages, next page btn"}; +locObj.paginationCurrent = {"txt": "Al la fluo", "loc": "stat pages, current btn"}; \ No newline at end of file diff --git a/langs/es-ES.js b/langs/es-ES.js index 0b326c9..72217be 100644 --- a/langs/es-ES.js +++ b/langs/es-ES.js @@ -140,15 +140,15 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder");//135 localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("home"); -localeStrings.push("homes"); -localeStrings.push("inn");//140 localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("treasury"); -localeStrings.push("gold"); -localeStrings.push("population");//145 -localeStrings.push("archery range"); +localeStrings.push("placeholder");//140 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//145 +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -159,10 +159,10 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//155 localeStrings.push("placeholder"); -localeStrings.push("To the beginning"); -localeStrings.push("Previous"); -localeStrings.push("Next"); -localeStrings.push("To the current");//160 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//160 localeStrings.push("Population history tab"); localeStrings.push("Current population limit is %arg1"); localeStrings.push("Current gold limit is %arg1"); @@ -689,4 +689,17 @@ locObj.cityScreenWishingWell = {"txt": "pozo de los deseos", "loc": "cityscreen" locObj.cityScreenWall = {"txt": "muro", "loc": "cityscreen"}; locObj.cityScreenStoneWall = {"txt": "muro de piedra", "loc": "cityscreen"}; locObj.cityScreenTower = {"txt": "torre", "loc": "cityscreen"}; -locObj.cityScreenStoneTower = {"txt": "torre de piedra", "loc": "cityscreen"}; \ No newline at end of file +locObj.cityScreenStoneTower = {"txt": "torre de piedra", "loc": "cityscreen"}; +locObj.cityScreenHouse = {"txt": "house", "loc": "cityscreen"}; +locObj.cityScreenHouses = {"txt": "houses", "loc": "cityscreen"}; +locObj.cityScreenInn = {"txt": "inn", "loc": "cityscreen"}; +locObj.cityScreenGallows = {"txt": "gallows", "loc": "cityscreen"}; +locObj.cityScreenFountain = {"txt": "fountain", "loc": "cityscreen"}; +locObj.cityScreenTreasury = {"txt": "treasury", "loc": "cityscreen"}; +locObj.resourceGold = {"txt": "gold", "loc": "resource panel"}; +locObj.resourcePop = {"txt": "population", "loc": "resource panel"}; +locObj.cityScreenArcheryRange = {"txt": "archery range", "loc":"cityscreen"}; +locObj.paginationStart = {"txt": "To the beginning", "loc": "stat pages, to the start button"}; +locObj.paginationPrevious = {"txt": "Previous", "loc": "stat pages, previous page"}; +locObj.paginationNext = {"txt": "Next", "loc": "stat pages, next page btn"}; +locObj.paginationCurrent = {"txt": "To the current", "loc": "stat pages, current btn"}; \ No newline at end of file diff --git a/langs/fr-FR.js b/langs/fr-FR.js index 88cbf0f..a73fc6d 100644 --- a/langs/fr-FR.js +++ b/langs/fr-FR.js @@ -138,17 +138,17 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//135 -localeStrings.push("tour"); -localeStrings.push("tour de pierre"); -localeStrings.push("maison"); -localeStrings.push("maisons"); -localeStrings.push("auberge");//140 localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("trésorerie"); -localeStrings.push("or"); -localeStrings.push("population");//145 -localeStrings.push("camp de tir à l'arc"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//140 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//145 +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -159,10 +159,10 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//155 localeStrings.push("placeholder"); -localeStrings.push("Au début"); -localeStrings.push("Précédent"); -localeStrings.push("Prochain"); -localeStrings.push("Au courant");//160 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//160 localeStrings.push("Onglet Historique de la population"); localeStrings.push("La population actuelle est limitée à %arg1"); localeStrings.push("La limite d'or actuelle est de %arg1"); @@ -691,4 +691,17 @@ locObj.cityScreenWishingWell = {"txt": "puit", "loc": "cityscreen"}; locObj.cityScreenWall = {"txt": "mur", "loc": "cityscreen"}; locObj.cityScreenStoneWall = {"txt": "mur de pierre", "loc": "cityscreen"}; locObj.cityScreenTower = {"txt": "tour", "loc": "cityscreen"}; -locObj.cityScreenStoneTower = {"txt": "tour de pierre", "loc": "cityscreen"}; \ No newline at end of file +locObj.cityScreenStoneTower = {"txt": "tour de pierre", "loc": "cityscreen"}; +locObj.cityScreenHouse = {"txt": "maison", "loc": "cityscreen"}; +locObj.cityScreenHouses = {"txt": "maisons", "loc": "cityscreen"}; +locObj.cityScreenInn = {"txt": "auberge", "loc": "cityscreen"}; +locObj.cityScreenGallows = {"txt": "gallows", "loc": "cityscreen"}; +locObj.cityScreenFountain = {"txt": "fountain", "loc": "cityscreen"}; +locObj.cityScreenTreasury = {"txt": "trésorerie", "loc": "cityscreen"}; +locObj.resourceGold = {"txt": "or", "loc": "resource panel"}; +locObj.resourcePop = {"txt": "camp de tir à l'arc", "loc": "resource panel"}; +locObj.cityScreenArcheryRange = {"txt": "archery range", "loc":"cityscreen"}; +locObj.paginationStart = {"txt": "Au début", "loc": "stat pages, to the start button"}; +locObj.paginationPrevious = {"txt": "Précédent", "loc": "stat pages, previous page"}; +locObj.paginationNext = {"txt": "Prochain", "loc": "stat pages, next page btn"}; +locObj.paginationCurrent = {"txt": "Au courant", "loc": "stat pages, current btn"}; \ No newline at end of file diff --git a/langs/ru-RU.js b/langs/ru-RU.js index 303b337..2880244 100644 --- a/langs/ru-RU.js +++ b/langs/ru-RU.js @@ -140,15 +140,15 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder");//135 localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("дом"); -localeStrings.push("дома"); -localeStrings.push("таверна");//140 -localeStrings.push("виселица");//TODO ["виселица","виселицу"] -localeStrings.push("фонтан"); -localeStrings.push("сокровищница"); -localeStrings.push("золото"); -localeStrings.push("население");//145 -localeStrings.push("стрельбище"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//140 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//145 +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -159,10 +159,10 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//155 localeStrings.push("placeholder"); -localeStrings.push("В начало"); -localeStrings.push("Предыдущая"); -localeStrings.push("Следующая"); -localeStrings.push("К текущей");//160 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//160 localeStrings.push("Данные о населении по периодам"); localeStrings.push("Текущий лимит населения %arg1"); localeStrings.push("Текущий лимит золота %arg1"); @@ -695,4 +695,17 @@ locObj.cityScreenWishingWell = {"txt": "колодец желаний", "loc": " locObj.cityScreenWall = {"txt": "стена", "loc": "cityscreen"}; locObj.cityScreenStoneWall = {"txt": "каменная стена", "loc": "cityscreen"}; locObj.cityScreenTower = {"txt": "башня", "loc": "cityscreen"}; -locObj.cityScreenStoneTower = {"txt": "каменная башня", "loc": "cityscreen"}; \ No newline at end of file +locObj.cityScreenStoneTower = {"txt": "каменная башня", "loc": "cityscreen"}; +locObj.cityScreenHouse = {"txt": "дом", "loc": "cityscreen"}; +locObj.cityScreenHouses = {"txt": "дома", "loc": "cityscreen"}; +locObj.cityScreenInn = {"txt": "таверна", "loc": "cityscreen"}; +locObj.cityScreenGallows = {"txt": "виселица", "loc": "cityscreen"}; +locObj.cityScreenFountain = {"txt": "фонтан", "loc": "cityscreen"}; +locObj.cityScreenTreasury = {"txt": "сокровищница", "loc": "cityscreen"}; +locObj.resourceGold = {"txt": "золото", "loc": "resource panel"}; +locObj.resourcePop = {"txt": "население", "loc": "resource panel"}; +locObj.cityScreenArcheryRange = {"txt": "стрельбище", "loc":"cityscreen"}; +locObj.paginationStart = {"txt": "В начало", "loc": "stat pages, to the start button"}; +locObj.paginationPrevious = {"txt": "Предыдущая", "loc": "stat pages, previous page"}; +locObj.paginationNext = {"txt": "Следующая", "loc": "stat pages, next page btn"}; +locObj.paginationCurrent = {"txt": "К текущей", "loc": "stat pages, current btn"}; \ No newline at end of file From 249f19eae7ae6e6027cb6f9ae946f3860eedf9dd Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Thu, 2 Mar 2023 01:58:38 +0200 Subject: [PATCH 04/86] fix #768 --- langs/en-US.js | 156 ++++++++++++++++++++++++------------------------- 1 file changed, 78 insertions(+), 78 deletions(-) diff --git a/langs/en-US.js b/langs/en-US.js index 829dadf..34dd005 100644 --- a/langs/en-US.js +++ b/langs/en-US.js @@ -41,85 +41,85 @@ localeStrings.push("placeholder");//35 localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("Call firemen? It will cost you %arg1 gold!"); -localeStrings.push("firemen put end to the fire!");//40 -localeStrings.push("it will burn to ashes!"); -localeStrings.push("pesky thieves stole %arg1 gold from your treasury"); -localeStrings.push("You won in a lottery %arg1 gold prize"); -localeStrings.push("Save game"); -localeStrings.push("Load game");//45 -localeStrings.push("City"); -localeStrings.push("Explore"); -localeStrings.push("Settings"); -localeStrings.push("Garrison"); -localeStrings.push("Building");//50 -localeStrings.push("How To Play"); -localeStrings.push("Discord"); -localeStrings.push("Put out the fire"); -localeStrings.push("Execute somebody"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//40 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//45 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//50 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); localeStrings.push("placeholder");//55 -localeStrings.push("Ancient holiday is forthcoming. Townsfolks are in a good mood to celebrate and already prepared some wine. If you wish, you may start a festival.\n But it will cost you %arg1 gold. You order milord?\n"); -localeStrings.push("The festival was started not so long ago.\nThe effect from festival would be weaker.\n"); -localeStrings.push(["The event item collected!","Your pledge is recorded!"]); -localeStrings.push(["Festival brought some fun to your people and %arg1 gold to you","Festival got out of control and some drunken brigands ransacked town. You lost %arg1 gold, milord"]); -localeStrings.push("Okay");//60 -localeStrings.push("You already have a hero!"); -localeStrings.push("Autosave is turned on"); -localeStrings.push("Autosave is turned off"); -localeStrings.push("You are about to build %arg1.\nIf the object is built, you wouldn't be allow to build %arg2.\nAre you sure in your choice?"); -localeStrings.push("Nothing to show yet, come here later.");//65 -localeStrings.push("Settings"); -localeStrings.push("Export Game"); -localeStrings.push("Import Game"); -localeStrings.push("Autosave"); -localeStrings.push("Change color mode");//70 -localeStrings.push("Option"); -localeStrings.push("On"); -localeStrings.push("Off"); -localeStrings.push("All sound effects"); -localeStrings.push("Effects on all events");//75 -localeStrings.push("Effects on action required events"); -localeStrings.push("All music"); -localeStrings.push("Lore and script music"); -localeStrings.push("Back"); -localeStrings.push("Sound effects and music");//80 -localeStrings.push("Open sound settings"); -localeStrings.push("Mobile UI"); -localeStrings.push("Event log size"); -localeStrings.push("lines"); -localeStrings.push("Your UID");//85 -localeStrings.push("Your nickname"); -localeStrings.push("Update"); -localeStrings.push(["Your nickname is registered","Your nickname is updated","Sorry, but this nicknames is taken"]); -localeStrings.push("%arg1 gold has been added to your treasury"); -localeStrings.push("Amber is the most valued currency");//90 -localeStrings.push("Garrison"); -localeStrings.push("Fire"); -localeStrings.push("Hire"); -localeStrings.push("Hiring and managing troops"); -localeStrings.push("Castellan");//95 -localeStrings.push("Hero"); -localeStrings.push("Train brother-sergeant
%arg1 gold"); -localeStrings.push("Hire turkopol
%arg1 gold"); -localeStrings.push("Train brother-knight
%arg1 gold"); -localeStrings.push("brothers-sergeants: ");//100 -localeStrings.push("turkopols: "); -localeStrings.push("brothers-knights: "); -localeStrings.push("move a unit to the hero squad"); -localeStrings.push("move a unit to the hero garrison"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push(["placeholder","placeholder"]); +localeStrings.push(["placeholder","placeholder"]); +localeStrings.push("placeholder");//60 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//65 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//70 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//75 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//80 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//85 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push(["placeholder","placeholder","placeholder"]); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//90 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//95 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//100 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); localeStrings.push("placeholder");//105 -localeStrings.push("Building"); -localeStrings.push("Build Home
lvl %arg1
%arg2 gold"); -localeStrings.push("Build Wall
lvl %arg1
%arg2 gold"); -localeStrings.push("Build Tower
lvl %arg1
%arg2 gold"); -localeStrings.push("Build Treasury
lvl %arg1
%arg2 gold");//110 -localeStrings.push("Build Gallows
lvl %arg1
%arg2 gold"); -localeStrings.push("Build Fountain
lvl %arg1
%arg2 gold"); -localeStrings.push("Build Stash
lvl %arg1
%arg2 gold"); -localeStrings.push("Build Inn
lvl %arg1
%arg2 gold"); -localeStrings.push("Build Stable
lvl %arg1
%arg2 gold");//115 -localeStrings.push("Build Archery range
lvl %arg1
%arg2 gold"); -localeStrings.push("Build Castle
lvl %arg1
%arg2 gold");//117 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//110 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//115 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//120 @@ -133,7 +133,7 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//130 -localeStrings.push("placeholder");//131 +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); From b34eaed408c4d16dede5da020aaafbd596750b2c Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Thu, 2 Mar 2023 02:29:18 +0200 Subject: [PATCH 05/86] fixed #765 --- js/mech_tips_story.js | 1 + langs/en-US.js | 10 ++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/js/mech_tips_story.js b/js/mech_tips_story.js index 0254ca9..9168696 100644 --- a/js/mech_tips_story.js +++ b/js/mech_tips_story.js @@ -78,6 +78,7 @@ function gameChangePathCallback() { } if (game.buildLevelGallows>0) { removeIndex = buildingsInTown.indexOf('gallows'); + document.getElementById("buttonDeathPenalty").style.display = 'none'; } //removeFromArrays(removeIndex); game.buildLevelFountain = 0; diff --git a/langs/en-US.js b/langs/en-US.js index 34dd005..940ba72 100644 --- a/langs/en-US.js +++ b/langs/en-US.js @@ -394,7 +394,7 @@ locObj.tutorial1_pop0 = {"txt":"Sir Commander, you need to build houses to keep locObj.tutorial_defense = {"txt":"Sir Commander, scouts reported on armed people\nin the nearest woods. Consider building a wall", "loc":"tutorial msg when defense line is unlocked"}; locObj.tutorial_treasury = {"txt":"Sir Commander, your gold supply is growing\nBuild a treasury to store the vast amount of gold", "loc":"tutorial msg when treasury is unlocked"}; locObj.tutorial_treasury_guards = {"txt":"Sir Commander, now you could hire treasury guards in your treasury\nThey are decreasing the chance of stealing from the treasury", "loc":"tutorial msg when treasury is built"}; -locObj.tutorial_stash = {"txt":"Sir Commander, thieves stole gold from your treasury!\nBuild a stash, so you could hide some gold from stealing", "loc":"tutorial msg when first stealing has a place"}; +locObj.tutorial_stash = {"txt":"Sir Commander, pesky thieves stole gold from your treasury!\nBuild a stash, so you could hide some gold from stealing", "loc":"tutorial msg when first stealing has a place"}; locObj.tutorial_stable = {"txt":"Sir Commander, now you could build Stables\nStables will allow you to hire sergeants and knights", "loc":"tutorial msg when reached 50 pop"}; locObj.tutorial_archery = {"txt":"Sir Commander, now you could build Archery range\nArchery range will allow you to hire turkopols in stables", "loc":"tutorial msg when reached 70 pop"}; locObj.tutorial_inn = {"txt":"Sir Commander, now you could build Inn\nThe Inn will allow you to hire a hero", "loc":"tutorial msg when reached 100 pop"}; @@ -592,13 +592,15 @@ locObj.tabHowToPlay = {"txt": "How To Play", "loc":"tabname How To Play, about a locObj.tabDiscord = {"txt": "Discord", "loc": "tabname Discord with a Discord widget"}; locObj.btnPutOutTheFire = {"txt": "Put out the fire", "loc": "button to extinguish the fire"}; locObj.btnExecutePerson = {"txt": "Execute somebody", "loc": "button to execute somebody"}; -locObj.festivalConfirm = {"txt": "Do you want to place a festival?\nIt would cost to you %arg1 gold!\n", "loc":"place festival confirmation dialogue"}; -locObj.festivalConfirmCooldown = {"txt":"Festival was placed not so long ago.\nThe effect from festival would be weaken.\n", "loc":"happens in case of Cooldown of the festivals"}; +locObj.festivalConfirm = {"txt": "Ancient holiday is forthcoming.\nTownsfolks are in a good mood and ready to celebrate\nand already prepared some wine.\nIf you wish, you may start a festival.\nIt will cost you %arg1 gold. You order milord?\n", "loc":"place festival confirmation dialogue"}; +locObj.festivalConfirmCooldown = {"txt":"Festival was placed not so long ago.\nThe effect from festival would be weaker.\n", "loc":"happens in case of Cooldown of the festivals"}; locObj.eventItemCollected = {"txt": "The event item collected!", "loc": "happens when gathered an event item"}; locObj.eventPledgeRecorded = {"txt": "Your pledge is recorded", "loc": "happens when the pledge was successfully recorded"}; locObj.eventPledgeError = {"txt": "Your pledge couldn't be recorded. Are you logged in?", "loc": "happens when the pledge wasn't recorded"}; -locObj.festivalGain = {"txt": "Your gain because of the festival is %arg1", "loc":"happens if the festival was profitable for budget"}; +locObj.festivalGain = {"txt": "Festival brought some fun to your people and %arg1 gold to you", "loc":"happens if the festival was profitable for budget"}; locObj.festivalLoss = {"txt": "Your loss because of the festival is %arg1", "loc":"happens if the festival was unprofitable for budget"}; +//todo ransack +//Festival got out of control and some drunken brigands ransacked town. You lost %arg1 gold, milord locObj.errAlreadyHasHero = {"txt": "You already have a hero!", "loc":"happens when trying to hire a hero, when you have one hired"}; locObj.autosaveTurnedOn = {"txt": "Autosave is turned on", "loc": "happens when autosave enabled"}; locObj.autosaveTurnedOff = {"txt": "Autosave is turned off", "loc": "happens when autosave disabled"}; From a6adb780a7d49130eb8203576e5ec419f2b4868e Mon Sep 17 00:00:00 2001 From: aablatov Date: Thu, 2 Mar 2023 23:07:00 +0300 Subject: [PATCH 06/86] tests/cypress-01-1. rules htmlvalidate --- index.html | 124 +++++++++--------- .../validateHTML/.htmlvalidate.json | 18 +++ .../validateHTML/cypress.config.js | 7 +- .../cypress/e2e/validateHTML.cy.js | 30 ++++- tests/tests_cypress/validateHTML/package.json | 3 +- 5 files changed, 108 insertions(+), 74 deletions(-) create mode 100644 tests/tests_cypress/validateHTML/.htmlvalidate.json diff --git a/index.html b/index.html index 7841c03..d04867f 100644 --- a/index.html +++ b/index.html @@ -23,11 +23,11 @@
@@ -64,10 +64,10 @@
- - - - + + + +
@@ -81,12 +81,12 @@

Settings

- -
+ +
Nickname:
Password:
Email: - trully optional, only for account recovering
-

+

+
Download game for playing off-grid (to play without Internet connection)

- - + +

Research - +

@@ -123,8 +123,8 @@

Settings

- - + +
@@ -214,7 +214,7 @@

Settings



- +

Garrison

@@ -229,9 +229,9 @@

Garrison

- + 0 - + @@ -279,7 +279,7 @@

onclick="game.help(this)">
- +
@@ -292,7 +292,7 @@

onclick="game.help(this)">
- +
@@ -305,7 +305,7 @@

onclick="game.help(this)">
- +
@@ -318,7 +318,7 @@

onclick="game.help(this)">
- +
@@ -331,7 +331,7 @@

onclick="game.help(this)">
- +
@@ -344,7 +344,7 @@

onclick="game.help(this)">
- +
@@ -357,7 +357,7 @@

onclick="game.help(this)">
- +
@@ -370,7 +370,7 @@

onclick="game.help(this)">
- +
@@ -383,7 +383,7 @@

onclick="game.help(this)">
- +
@@ -397,7 +397,7 @@

onclick="game.help(this)">
- +
@@ -424,10 +424,10 @@

How to play


- - - - + + + +

@@ -444,10 +444,10 @@

How to play


- - - - + + + +

@@ -480,7 +480,7 @@

Welcome to Inn!

- +
@@ -490,25 +490,25 @@

Welcome to Inn!

- - - - + + + +

- - + + - +
- +
- +
@@ -587,14 +587,14 @@

Welcome to Inn!

This blackmarket could buy your goods!
- +

- +
@@ -603,7 +603,7 @@

Welcome to Inn!

- +
@@ -611,7 +611,7 @@

Welcome to Inn!

- +
- - - + + +
Online: n/d
@@ -693,9 +693,9 @@

Welcome to Inn!

- +
- +
diff --git a/tests/tests_cypress/validateHTML/.htmlvalidate.json b/tests/tests_cypress/validateHTML/.htmlvalidate.json new file mode 100644 index 0000000..3e13c91 --- /dev/null +++ b/tests/tests_cypress/validateHTML/.htmlvalidate.json @@ -0,0 +1,18 @@ +{ + "extends": ["html-validate:standard"], + "rules": { + "require-sri": "warn", + "script-type": "warn", + "wcag/h30": "warn", + "wcag/h37": "warn", + "heading-level": "warn", + "element-permitted-content": "warn", + "input-missing-label": "warn", + "no-deprecated-attr": "warn", + "attribute-allowed-values": "warn", + "element-name": "warn" + }, + "elements": [ + "html5" + ] +} \ No newline at end of file diff --git a/tests/tests_cypress/validateHTML/cypress.config.js b/tests/tests_cypress/validateHTML/cypress.config.js index 383fc58..0b40b86 100644 --- a/tests/tests_cypress/validateHTML/cypress.config.js +++ b/tests/tests_cypress/validateHTML/cypress.config.js @@ -1,11 +1,10 @@ -import htmlvalidate from "cypress-html-validate/plugin"; +import htmlvalidate from 'cypress-html-validate/plugin'; export default { e2e: { baseUrl: 'http://localhost:8080', - setupNodeEvents(on, config) { - htmlvalidate.install(on); - // implement node event listeners here + setupNodeEvents(on) { + htmlvalidate.install(on); }, }, }; \ No newline at end of file diff --git a/tests/tests_cypress/validateHTML/cypress/e2e/validateHTML.cy.js b/tests/tests_cypress/validateHTML/cypress/e2e/validateHTML.cy.js index c8d1f66..1364881 100644 --- a/tests/tests_cypress/validateHTML/cypress/e2e/validateHTML.cy.js +++ b/tests/tests_cypress/validateHTML/cypress/e2e/validateHTML.cy.js @@ -2,13 +2,29 @@ import 'cypress-html-validate/commands'; describe("validate", () => { - it("should be validate", () => { - cy.visit('/'); + it("should be validate", () => { + cy.visit('/'); - Cypress.on('uncaught:exception', (err, runnable) => { - return false; - }); - - cy.htmlvalidate(); + Cypress.on('uncaught:exception', (err, runnable) => { + return false; }); + + cy.htmlvalidate( + { + rules: { + 'require-sri': 'off', + 'script-type': 'off', + 'wcag/h30': 'off', + 'wcag/h37': 'off', + 'heading-level': 'off', + 'element-permitted-content': 'off', + 'input-missing-label': 'off', + 'no-deprecated-attr': 'off', + 'element-permitted-content': 'off', + 'attribute-allowed-values': 'off', + 'element-name': 'off' + } + } + ); + }); }) \ No newline at end of file diff --git a/tests/tests_cypress/validateHTML/package.json b/tests/tests_cypress/validateHTML/package.json index ca86ed2..2fe925d 100644 --- a/tests/tests_cypress/validateHTML/package.json +++ b/tests/tests_cypress/validateHTML/package.json @@ -12,6 +12,7 @@ "test": "npm run clean:reports && cypress run", "merge:reports": "mochawesome-merge cypress/reports/*.json > cypress-tests-report.json", "create:html:report": "marge --reportDir tests cypress-tests-report.json", - "generate:html:report": "npm run merge:reports && npm run create:html:report" + "generate:html:report": "npm run merge:reports && npm run create:html:report", + "validate": "npm exec html-validate ../../../index.html" } } \ No newline at end of file From 161488b880f48f391c2e9f748ee787adf825e78c Mon Sep 17 00:00:00 2001 From: aablatov Date: Thu, 2 Mar 2023 23:39:51 +0300 Subject: [PATCH 07/86] tests/cypress-01-1. add --- .../validateHTML/.htmlvalidate.json => .htmlvalidate.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename tests/tests_cypress/validateHTML/.htmlvalidate.json => .htmlvalidate.json (93%) diff --git a/tests/tests_cypress/validateHTML/.htmlvalidate.json b/.htmlvalidate.json similarity index 93% rename from tests/tests_cypress/validateHTML/.htmlvalidate.json rename to .htmlvalidate.json index 3e13c91..99e0e32 100644 --- a/tests/tests_cypress/validateHTML/.htmlvalidate.json +++ b/.htmlvalidate.json @@ -1,7 +1,7 @@ { "extends": ["html-validate:standard"], "rules": { - "require-sri": "warn", + "require-sri": "warn", "script-type": "warn", "wcag/h30": "warn", "wcag/h37": "warn", From 8f393f0b36e515f375475033cca13919e075ba1e Mon Sep 17 00:00:00 2001 From: aablatov Date: Thu, 2 Mar 2023 23:49:28 +0300 Subject: [PATCH 08/86] tests/cypress-01-1. extends : recommended --- .htmlvalidate.json | 2 +- tests/tests_cypress/validateHTML/cypress/e2e/validateHTML.cy.js | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.htmlvalidate.json b/.htmlvalidate.json index 99e0e32..9bb124d 100644 --- a/.htmlvalidate.json +++ b/.htmlvalidate.json @@ -1,5 +1,5 @@ { - "extends": ["html-validate:standard"], + "extends": ["html-validate:recommended"], "rules": { "require-sri": "warn", "script-type": "warn", diff --git a/tests/tests_cypress/validateHTML/cypress/e2e/validateHTML.cy.js b/tests/tests_cypress/validateHTML/cypress/e2e/validateHTML.cy.js index 1364881..1b41b0e 100644 --- a/tests/tests_cypress/validateHTML/cypress/e2e/validateHTML.cy.js +++ b/tests/tests_cypress/validateHTML/cypress/e2e/validateHTML.cy.js @@ -11,6 +11,7 @@ describe("validate", () => { cy.htmlvalidate( { + extends: ["html-validate:recommended"], rules: { 'require-sri': 'off', 'script-type': 'off', From a9fbb9a3c6b4101155e4dea5798fd0f21ffada66 Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Thu, 2 Mar 2023 23:03:43 +0200 Subject: [PATCH 09/86] continued with localizations --- js/dom.js | 6 +++--- js/lib/mech_online.js | 6 +++--- js/tab_gold_pop_stats.js | 42 ++++++++++++++++++---------------------- langs/de-DE.js | 19 ++++++++++++------ langs/en-US.js | 17 +++++++++++----- langs/eo.js | 19 ++++++++++++------ langs/es-ES.js | 19 ++++++++++++------ langs/fr-FR.js | 19 ++++++++++++------ langs/ru-RU.js | 19 ++++++++++++------ 9 files changed, 102 insertions(+), 64 deletions(-) diff --git a/js/dom.js b/js/dom.js index 4a6f1c8..0ded068 100644 --- a/js/dom.js +++ b/js/dom.js @@ -44,9 +44,9 @@ include('localisation.js',function(){ document.getElementById("labelGarrison").innerText = locObj.lblGarrison.txt; document.getElementById("buttonFireGuard").innerText = locObj.btnFire.txt; document.getElementById("buttonHireGuard").innerText = locObj.btnHire.txt; - document.getElementById("lblAboutGame").innerHTML = locObj.tabHowToPlayText.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll); - document.getElementById("lblTabPop").innerText = localeStrings[161]; - document.getElementById("lblTabGold").innerText = localeStrings[164]; + document.getElementById("lblAboutGame").innerHTML = locObj.tabHowToPlayText.txt.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll); + document.getElementById("lblTabPop").innerText = locObj.tabPopHistory.txt; + document.getElementById("lblTabGold").innerText = locObj.tabGoldHistory.txt; document.getElementById("btnColorMode").innerText = locObj.tabSettingsBtnChangeColorMode.txt; document.getElementById("lblTabInn").innerText = localeStrings[181]; document.getElementById("lblUpkeepSrc").innerText = localeStrings[279]; diff --git a/js/lib/mech_online.js b/js/lib/mech_online.js index 1fd655d..248c9f5 100644 --- a/js/lib/mech_online.js +++ b/js/lib/mech_online.js @@ -498,9 +498,9 @@ function reloadBanned() { event_id = parseInt(back_response["event_id"]); event_timer_lbl = document.getElementById("event-label"); event_timer_val = document.getElementById("event-value"); - eventTimerVal = cntdwn[0]+localeStrings[165][0]; - eventTimerVal += " "+cntdwn[1]+localeStrings[165][1]; - eventTimerVal += " "+cntdwn[2]+localeStrings[165][2]; + eventTimerVal = cntdwn[0]+locObj.dayAcronym.txt; + eventTimerVal += " "+cntdwn[1]+locObj.hourAcronym.txt; + eventTimerVal += " "+cntdwn[2]+locObj.minuteAcronym.txt; if (event_status_code===1){ if (event_id === 1){ event_name = locObj.eventHalloweenName.txt; diff --git a/js/tab_gold_pop_stats.js b/js/tab_gold_pop_stats.js index 9d12be7..8618345 100644 --- a/js/tab_gold_pop_stats.js +++ b/js/tab_gold_pop_stats.js @@ -11,7 +11,7 @@ function checkPop() { year.innerHTML = year.innerHTML +''+ game.years[game.years.length-10+i] +''; pop.innerHTML = pop.innerHTML +''+ game.pops[game.years.length-10+i] +''; } - document.getElementById("lblCurrentPopLimit").innerHTML=localeStrings[162].replace("%arg1",game.popLimit()); + document.getElementById("lblCurrentPopLimit").innerHTML=locObj.tabPopHistoryCurrentLimit.txt.replace("%arg1",game.popLimit()); dynamicCellsSetStyle(); openTab(null, 'tabPopulation'); } else { @@ -20,7 +20,7 @@ function checkPop() { year.innerHTML = year.innerHTML +''+ game.years[game.years.length-game.years.length+i] +''; pop.innerHTML = pop.innerHTML +''+ game.pops[game.years.length-game.years.length+i] +''; } - document.getElementById("lblCurrentPopLimit").innerHTML=localeStrings[162].replace("%arg1",game.popLimit()); + document.getElementById("lblCurrentPopLimit").innerHTML=locObj.tabPopHistoryCurrentLimit.txt.replace("%arg1",game.popLimit()); dynamicCellsSetStyle(); openTab(null, 'tabPopulation'); } else { @@ -30,7 +30,7 @@ function checkPop() { disabledElements.push("loadGameButton"); document.getElementById("saveGameButton").disabled = true; document.getElementById("loadGameButton").disabled = true; - showModal(0, '', getAck, alertMsg, localeStrings[65], '') + showModal(0, '', getAck, alertMsg, locObj.okay.txt, '') } } } @@ -46,7 +46,7 @@ function popAtStart() { year.innerHTML = year.innerHTML +''+ game.years[i] +''; pop.innerHTML = pop.innerHTML +''+ game.pops[i] +''; } - document.getElementById("lblCurrentPopLimit").innerHTML=localeStrings[162].replace("%arg1",game.popLimit()); + document.getElementById("lblCurrentPopLimit").innerHTML=locObj.tabPopHistoryCurrentLimit.txt.replace("%arg1",game.popLimit()); dynamicCellsSetStyle(); openTab(null, 'tabPopulation'); } else { @@ -55,7 +55,7 @@ function popAtStart() { year.innerHTML = year.innerHTML +''+ game.years[i] +''; pop.innerHTML = pop.innerHTML +''+ game.pops[i] +''; } - document.getElementById("lblCurrentPopLimit").innerHTML=localeStrings[162].replace("%arg1",game.popLimit()); + document.getElementById("lblCurrentPopLimit").innerHTML=locObj.tabPopHistoryCurrentLimit.txt.replace("%arg1",game.popLimit()); dynamicCellsSetStyle(); openTab(null, 'tabPopulation'); } else { @@ -80,7 +80,7 @@ function popPrev() { year.innerHTML = year.innerHTML +''+ game.years[popPage*10+i] +''; pop.innerHTML = pop.innerHTML +''+ game.pops[popPage*10+i] +''; } - document.getElementById("lblCurrentPopLimit").innerHTML=localeStrings[162].replace("%arg1",game.popLimit()); + document.getElementById("lblCurrentPopLimit").innerHTML=locObj.tabPopHistoryCurrentLimit.txt.replace("%arg1",game.popLimit()); dynamicCellsSetStyle(); openTab(null, 'tabPopulation'); } else { @@ -89,7 +89,7 @@ function popPrev() { year.innerHTML = year.innerHTML +''+ game.years[game.years.length-game.years.length+i] +''; pop.innerHTML = pop.innerHTML +''+ game.pops[game.years.length-game.years.length+i] +''; } - document.getElementById("lblCurrentPopLimit").innerHTML=localeStrings[162].replace("%arg1",game.popLimit()); + document.getElementById("lblCurrentPopLimit").innerHTML=locObj.tabPopHistoryCurrentLimit.txt.replace("%arg1",game.popLimit()); dynamicCellsSetStyle(); openTab(null, 'tabPopulation'); } else { @@ -114,7 +114,7 @@ function popNext() { year.innerHTML = year.innerHTML +''+ game.years[popPage*10+i] +''; pop.innerHTML = pop.innerHTML +''+ game.pops[popPage*10+i] +''; } - document.getElementById("lblCurrentPopLimit").innerHTML=localeStrings[162].replace("%arg1",game.popLimit()); + document.getElementById("lblCurrentPopLimit").innerHTML=locObj.tabPopHistoryCurrentLimit.txt.replace("%arg1",game.popLimit()); dynamicCellsSetStyle(); openTab(null, 'tabPopulation'); } else { @@ -123,7 +123,7 @@ function popNext() { year.innerHTML = year.innerHTML +''+ game.years[game.years.length-game.years.length+i] +''; pop.innerHTML = pop.innerHTML +''+ game.pops[game.years.length-game.years.length+i] +''; } - document.getElementById("lblCurrentPopLimit").innerHTML=localeStrings[162].replace("%arg1",game.popLimit()); + document.getElementById("lblCurrentPopLimit").innerHTML=locObj.tabPopHistoryCurrentLimit.txt.replace("%arg1",game.popLimit()); dynamicCellsSetStyle(); openTab(null, 'tabPopulation'); } else { @@ -146,9 +146,8 @@ function checkGold() { for (i=0;i<10;i++) { year.innerHTML = year.innerHTML +''+ game.years[game.years.length-10+i] +''; gold.innerHTML = gold.innerHTML +''+ game.budgets[game.years.length-10+i] +''; - //console.log('period is '+game.years[game.years.length-10+i]+' and gold is '+game.budgets[game.years.length-10+i]); } - document.getElementById("lblCurrentGoldLimit").innerHTML=localeStrings[163].replace("%arg1",game.goldLimit()); + document.getElementById("lblCurrentGoldLimit").innerHTML=locObj.tabGoldHistoryCurrentLimit.txt.replace("%arg1",game.goldLimit()); dynamicCellsSetStyle(); openTab(null, 'tabGold'); } else { @@ -156,19 +155,18 @@ function checkGold() { for (i=0;i'+ game.years[game.years.length-game.years.length+i] +''; gold.innerHTML = gold.innerHTML +''+ game.budgets[game.years.length-game.years.length+i] +''; - //console.log('period is '+game.years[game.years.length-game.years.length+i]+' and gold is '+game.budgets[game.years.length-game.years.length+i]); } - document.getElementById("lblCurrentGoldLimit").innerHTML=localeStrings[163].replace("%arg1",game.goldLimit()); + document.getElementById("lblCurrentGoldLimit").innerHTML=locObj.tabGoldHistoryCurrentLimit.txt.replace("%arg1",game.goldLimit()); dynamicCellsSetStyle(); openTab(null, 'tabGold'); } else { // nothing to show - var alertMsg = localeStrings[65]; + var alertMsg = locObj.noStatsYet.txt; disabledElements.push("saveGameButton"); disabledElements.push("loadGameButton"); document.getElementById("saveGameButton").disabled = true; document.getElementById("loadGameButton").disabled = true; - showModal(0, '', getAck, alertMsg, localeStrings[65], '') + showModal(0, '', getAck, alertMsg, locObj.okay.txt, '') } } } @@ -183,9 +181,8 @@ function goldAtStart() { for (i=0;i<10;i++) { year.innerHTML = year.innerHTML +''+ game.years[i] +''; gold.innerHTML = gold.innerHTML +''+ game.budgets[i] +''; - //console.log('period is '+game.years[i]+' and gold is '+game.budgets[i]); } - document.getElementById("lblCurrentGoldLimit").innerHTML=localeStrings[163].replace("%arg1",game.goldLimit()); + document.getElementById("lblCurrentGoldLimit").innerHTML=locObj.tabGoldHistoryCurrentLimit.txt.replace("%arg1",game.goldLimit()); dynamicCellsSetStyle(); openTab(null, 'tabGold'); } else { @@ -193,9 +190,8 @@ function goldAtStart() { for (i=0;i'+ game.years[i] +''; gold.innerHTML = gold.innerHTML +''+ game.budgets[i] +''; - //console.log('period is '+game.years[i]+' and gold is '+game.budgets[i]); } - document.getElementById("lblCurrentGoldLimit").innerHTML=localeStrings[163].replace("%arg1",game.goldLimit()); + document.getElementById("lblCurrentGoldLimit").innerHTML=locObj.tabGoldHistoryCurrentLimit.txt.replace("%arg1",game.goldLimit()); dynamicCellsSetStyle(); openTab(null, 'tabGold'); } else { @@ -221,7 +217,7 @@ function goldPrev() { year.innerHTML = year.innerHTML +''+ game.years[goldPage*10+i] +''; gold.innerHTML = gold.innerHTML +''+ game.budgets[goldPage*10+i] +''; } - document.getElementById("lblCurrentGoldLimit").innerHTML=localeStrings[163].replace("%arg1",game.goldLimit()); + document.getElementById("lblCurrentGoldLimit").innerHTML=locObj.tabGoldHistoryCurrentLimit.txt.replace("%arg1",game.goldLimit()); dynamicCellsSetStyle(); openTab(null, 'tabGold'); } else { @@ -230,7 +226,7 @@ function goldPrev() { year.innerHTML = year.innerHTML +''+ game.years[game.years.length-game.years.length+i] +''; gold.innerHTML = gold.innerHTML +''+ game.budgets[game.years.length-game.years.length+i] +''; } - document.getElementById("lblCurrentGoldLimit").innerHTML=localeStrings[163].replace("%arg1",game.goldLimit()); + document.getElementById("lblCurrentGoldLimit").innerHTML=locObj.tabGoldHistoryCurrentLimit.txt.replace("%arg1",game.goldLimit()); dynamicCellsSetStyle(); openTab(null, 'tabGold'); } else { @@ -256,7 +252,7 @@ function goldNext() { year.innerHTML = year.innerHTML +''+ game.years[goldPage*10+i] +''; gold.innerHTML = gold.innerHTML +''+ game.budgets[goldPage*10+i] +''; } - document.getElementById("lblCurrentGoldLimit").innerHTML=localeStrings[163].replace("%arg1",game.goldLimit()); + document.getElementById("lblCurrentGoldLimit").innerHTML=locObj.tabGoldHistoryCurrentLimit.txt.replace("%arg1",game.goldLimit()); dynamicCellsSetStyle(); openTab(null, 'tabGold'); } else { @@ -265,7 +261,7 @@ function goldNext() { year.innerHTML = year.innerHTML +''+ game.years[game.years.length-game.years.length+i] +''; gold.innerHTML = gold.innerHTML +''+ game.budgets[game.years.length-game.years.length+i] +''; } - document.getElementById("lblCurrentGoldLimit").innerHTML=localeStrings[163].replace("%arg1",game.goldLimit()); + document.getElementById("lblCurrentGoldLimit").innerHTML=locObj.tabGoldHistoryCurrentLimit.txt.replace("%arg1",game.goldLimit()); dynamicCellsSetStyle(); openTab(null, 'tabGold'); } else { diff --git a/langs/de-DE.js b/langs/de-DE.js index e4616a2..630832c 100644 --- a/langs/de-DE.js +++ b/langs/de-DE.js @@ -163,11 +163,11 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//160 -localeStrings.push("Bevölkerungshistorie-Tab"); -localeStrings.push("Aktuelle Bevölkerungsgrenze ist %arg1"); -localeStrings.push("Aktuelle Goldgrenze ist %arg1"); -localeStrings.push("Goldhistorie-Tab"); -localeStrings.push(["T","S","M"]);//165 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push(["plc","plc","plc"]);//165 localeStrings.push("This is the time amount before an event will start"); localeStrings.push("This is the time amount before the event will end"); localeStrings.push("Der Himmel über der Stadt verdunkelte sich zu Schwarz, Blitzschläge machten einen solchen Anblick und plötzlich hörten alle auf."); @@ -705,4 +705,11 @@ locObj.cityScreenArcheryRange = {"txt": "Schießstand", "loc":"cityscreen"}; locObj.paginationStart = {"txt": "Zu Beginn", "loc": "stat pages, to the start button"}; locObj.paginationPrevious = {"txt": "Bisherige", "loc": "stat pages, previous page"}; locObj.paginationNext = {"txt": "Nächster", "loc": "stat pages, next page btn"}; -locObj.paginationCurrent = {"txt": "Zur aktuellen", "loc": "stat pages, current btn"}; \ No newline at end of file +locObj.paginationCurrent = {"txt": "Zur aktuellen", "loc": "stat pages, current btn"}; +locObj.tabPopHistory = {"txt": "Bevölkerungshistorie-Tab", "loc": "Label in Pop history tab"}; +locObj.tabPopHistoryCurrentLimit = {"txt": "Aktuelle Bevölkerungsgrenze ist %arg1", "loc": "Label current pop limit"}; +locObj.tabGoldHistoryCurrentLimit = {"txt": "Aktuelle Goldgrenze ist %arg1", "loc": "label current gold limit"}; +locObj.tabGoldHistory = {"txt": "Goldhistorie-Tab", "loc":"Label in Gold history tab"}; +locObj.dayAcronym = {"txt": "T", "loc": "used for countdown in events"}; +locObj.hourAcronym = {"txt": "S", "loc": "used for countdown in events"}; +locObj.minuteAcronym = {"txt", "M", "loc": "used for countdown in events"}; \ No newline at end of file diff --git a/langs/en-US.js b/langs/en-US.js index 940ba72..236a667 100644 --- a/langs/en-US.js +++ b/langs/en-US.js @@ -163,11 +163,11 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//160 -localeStrings.push("Population history tab"); -localeStrings.push("Current population limit is %arg1"); -localeStrings.push("Current gold limit is %arg1"); -localeStrings.push("Gold history tab"); -localeStrings.push(["D","H","M"]);//165 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push(["plch","plch","plch"]);//165 localeStrings.push("This is the time amount before an event will start"); localeStrings.push("This is the time amount before the event will end"); localeStrings.push("The sky above the city darkened to black, lightning bolts made such a sight, and suddenly all stopped."); @@ -703,3 +703,10 @@ locObj.paginationStart = {"txt": "To the beginning", "loc": "stat pages, to the locObj.paginationPrevious = {"txt": "Previous", "loc": "stat pages, previous page btn"}; locObj.paginationNext = {"txt": "Next", "loc": "stat pages, next page btn"}; locObj.paginationCurrent = {"txt": "To the current", "loc": "stat pages, current btn"}; +locObj.tabPopHistory = {"txt": "Population history tab", "loc": "Label in Pop history tab"}; +locObj.tabPopHistoryCurrentLimit = {"txt": "Current population limit is %arg1", "loc": "Label current pop limit"}; +locObj.tabGoldHistoryCurrentLimit = {"txt": "Current gold limit is %arg1", "loc": "label current gold limit"}; +locObj.tabGoldHistory = {"txt": "Gold history tab", "loc":"Label in Gold history tab"}; +locObj.dayAcronym = {"txt": "D", "loc": "used for countdown in events"}; +locObj.hourAcronym = {"txt": "H", "loc": "used for countdown in events"}; +locObj.minuteAcronym = {"txt", "M", "loc": "used for countdown in events"}; \ No newline at end of file diff --git a/langs/eo.js b/langs/eo.js index 4a82f27..72ae7be 100644 --- a/langs/eo.js +++ b/langs/eo.js @@ -163,11 +163,11 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//160 -localeStrings.push("langeto pri civitanaj historio"); -localeStrings.push("Nuna populacio limo estas %arg1"); -localeStrings.push("Nuna ora limo estas %arg1"); -localeStrings.push("langeto pri mono historio"); -localeStrings.push(["T","H","M"]);//165 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push(["plch","plch","plch"]);//165 localeStrings.push("This is the time amount before an event will start"); localeStrings.push("This is the time amount before the event will end"); localeStrings.push("La ĉielo super la urbo malheliĝis al nigraj, fulmotondroj faris tian vidon, kaj subite ĉiuj haltis."); @@ -704,4 +704,11 @@ locObj.cityScreenArcheryRange = {"txt": "pafado", "loc":"cityscreen"}; locObj.paginationStart = {"txt": "Al la komenco", "loc": "stat pages, to the start button"}; locObj.paginationPrevious = {"txt": "Antaŭa", "loc": "stat pages, previous page"}; locObj.paginationNext = {"txt": "Sekva", "loc": "stat pages, next page btn"}; -locObj.paginationCurrent = {"txt": "Al la fluo", "loc": "stat pages, current btn"}; \ No newline at end of file +locObj.paginationCurrent = {"txt": "Al la fluo", "loc": "stat pages, current btn"}; +locObj.tabPopHistory = {"txt": "langeto pri civitanaj historio", "loc": "Label in Pop history tab"}; +locObj.tabPopHistoryCurrentLimit = {"txt": "Nuna populacio limo estas %arg1", "loc": "Label current pop limit"}; +locObj.tabGoldHistoryCurrentLimit = {"txt": "Nuna ora limo estas %arg1", "loc": "label current gold limit"}; +locObj.tabGoldHistory = {"txt": "langeto pri mono historio", "loc":"Label in Gold history tab"}; +locObj.dayAcronym = {"txt": "T", "loc": "used for countdown in events"}; +locObj.hourAcronym = {"txt": "H", "loc": "used for countdown in events"}; +locObj.minuteAcronym = {"txt", "M", "loc": "used for countdown in events"}; \ No newline at end of file diff --git a/langs/es-ES.js b/langs/es-ES.js index 72217be..125063e 100644 --- a/langs/es-ES.js +++ b/langs/es-ES.js @@ -163,11 +163,11 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//160 -localeStrings.push("Population history tab"); -localeStrings.push("Current population limit is %arg1"); -localeStrings.push("Current gold limit is %arg1"); -localeStrings.push("Gold history tab"); -localeStrings.push(["D","H","M"]);//165 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placehodler"); +localeStrings.push("placeholder"); +localeStrings.push(["plc","plc","plc"]);//165 localeStrings.push("This is the time amount before an event will start"); localeStrings.push("This is the time amount before the event will end"); localeStrings.push("The sky above the city darkened to black, lightning bolts made such a sight, and suddenly all stopped."); @@ -702,4 +702,11 @@ locObj.cityScreenArcheryRange = {"txt": "archery range", "loc":"cityscreen"}; locObj.paginationStart = {"txt": "To the beginning", "loc": "stat pages, to the start button"}; locObj.paginationPrevious = {"txt": "Previous", "loc": "stat pages, previous page"}; locObj.paginationNext = {"txt": "Next", "loc": "stat pages, next page btn"}; -locObj.paginationCurrent = {"txt": "To the current", "loc": "stat pages, current btn"}; \ No newline at end of file +locObj.paginationCurrent = {"txt": "To the current", "loc": "stat pages, current btn"}; +locObj.tabPopHistory = {"txt": "Population history tab", "loc": "Label in Pop history tab"}; +locObj.tabPopHistoryCurrentLimit = {"txt": "Current population limit is %arg1", "loc": "Label current pop limit"}; +locObj.tabGoldHistoryCurrentLimit = {"txt": "Current gold limit is %arg1", "loc": "label current gold limit"}; +locObj.tabGoldHistory = {"txt": "Gold history tab", "loc":"Label in Gold history tab"}; +locObj.dayAcronym = {"txt": "D", "loc": "used for countdown in events"}; +locObj.hourAcronym = {"txt": "H", "loc": "used for countdown in events"}; +locObj.minuteAcronym = {"txt", "M", "loc": "used for countdown in events"}; \ No newline at end of file diff --git a/langs/fr-FR.js b/langs/fr-FR.js index a73fc6d..cce85b8 100644 --- a/langs/fr-FR.js +++ b/langs/fr-FR.js @@ -163,11 +163,11 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//160 -localeStrings.push("Onglet Historique de la population"); -localeStrings.push("La population actuelle est limitée à %arg1"); -localeStrings.push("La limite d'or actuelle est de %arg1"); -localeStrings.push("Onglet Historique de l'or"); -localeStrings.push(["J","H","M"]);//165 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push(["plc","plc","plc"]);//165 localeStrings.push("This is the time amount before an event will start"); localeStrings.push("This is the time amount before the event will end"); localeStrings.push("Le ciel au-dessus de la ville s'assombrit en noir, des éclairs firent un tel spectacle et tout s'arrêta brusquement."); @@ -704,4 +704,11 @@ locObj.cityScreenArcheryRange = {"txt": "archery range", "loc":"cityscreen"}; locObj.paginationStart = {"txt": "Au début", "loc": "stat pages, to the start button"}; locObj.paginationPrevious = {"txt": "Précédent", "loc": "stat pages, previous page"}; locObj.paginationNext = {"txt": "Prochain", "loc": "stat pages, next page btn"}; -locObj.paginationCurrent = {"txt": "Au courant", "loc": "stat pages, current btn"}; \ No newline at end of file +locObj.paginationCurrent = {"txt": "Au courant", "loc": "stat pages, current btn"}; +locObj.tabPopHistory = {"txt": "Onglet Historique de la population", "loc": "Label in Pop history tab"}; +locObj.tabPopHistoryCurrentLimit = {"txt": "La population actuelle est limitée à %arg1", "loc": "Label current pop limit"}; +locObj.tabGoldHistoryCurrentLimit = {"txt": "La limite d'or actuelle est de %arg1", "loc": "label current gold limit"}; +locObj.tabGoldHistory = {"txt": "Onglet Historique de l'or", "loc":"Label in Gold history tab"}; +locObj.dayAcronym = {"txt": "J", "loc": "used for countdown in events"}; +locObj.hourAcronym = {"txt": "H", "loc": "used for countdown in events"}; +locObj.minuteAcronym = {"txt", "M", "loc": "used for countdown in events"}; \ No newline at end of file diff --git a/langs/ru-RU.js b/langs/ru-RU.js index 2880244..5c393d9 100644 --- a/langs/ru-RU.js +++ b/langs/ru-RU.js @@ -163,11 +163,11 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//160 -localeStrings.push("Данные о населении по периодам"); -localeStrings.push("Текущий лимит населения %arg1"); -localeStrings.push("Текущий лимит золота %arg1"); -localeStrings.push("Данные о казне по периодам"); -localeStrings.push(["Д","Ч","М"]);//165 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push(["plch","plch","plch"]);//165 localeStrings.push("Время до начала ближайшего тематического игрового мероприятия"); localeStrings.push("Время до конца ближайшего тематического игрового мероприятия"); localeStrings.push("Небо над городом потемнело, засверкали молнии, и внезапно всё прекратилось."); @@ -708,4 +708,11 @@ locObj.cityScreenArcheryRange = {"txt": "стрельбище", "loc":"cityscree locObj.paginationStart = {"txt": "В начало", "loc": "stat pages, to the start button"}; locObj.paginationPrevious = {"txt": "Предыдущая", "loc": "stat pages, previous page"}; locObj.paginationNext = {"txt": "Следующая", "loc": "stat pages, next page btn"}; -locObj.paginationCurrent = {"txt": "К текущей", "loc": "stat pages, current btn"}; \ No newline at end of file +locObj.paginationCurrent = {"txt": "К текущей", "loc": "stat pages, current btn"}; +locObj.tabPopHistory = {"txt": "Данные о населении по периодам", "loc": "Label in Pop history tab"}; +locObj.tabPopHistoryCurrentLimit = {"txt": "Текущий лимит населения %arg1", "loc": "Label current pop limit"}; +locObj.tabGoldHistoryCurrentLimit = {"txt": "Текущий лимит золота %arg1", "loc": "label current gold limit"}; +locObj.tabGoldHistory = {"txt": "Данные о казне по периодам", "loc":"Label in Gold history tab"}; +locObj.dayAcronym = {"txt": "Д", "loc": "used for countdown in events"}; +locObj.hourAcronym = {"txt": "Ч", "loc": "used for countdown in events"}; +locObj.minuteAcronym = {"txt", "М", "loc": "used for countdown in events"}; \ No newline at end of file From a2ff7304400d02f49440ec59d5f14db9702a2cae Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Thu, 2 Mar 2023 23:04:55 +0200 Subject: [PATCH 10/86] hotfix --- langs/de-DE.js | 2 +- langs/en-US.js | 2 +- langs/eo.js | 2 +- langs/es-ES.js | 2 +- langs/fr-FR.js | 2 +- langs/ru-RU.js | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/langs/de-DE.js b/langs/de-DE.js index 630832c..f2341dc 100644 --- a/langs/de-DE.js +++ b/langs/de-DE.js @@ -712,4 +712,4 @@ locObj.tabGoldHistoryCurrentLimit = {"txt": "Aktuelle Goldgrenze ist %arg1", "lo locObj.tabGoldHistory = {"txt": "Goldhistorie-Tab", "loc":"Label in Gold history tab"}; locObj.dayAcronym = {"txt": "T", "loc": "used for countdown in events"}; locObj.hourAcronym = {"txt": "S", "loc": "used for countdown in events"}; -locObj.minuteAcronym = {"txt", "M", "loc": "used for countdown in events"}; \ No newline at end of file +locObj.minuteAcronym = {"txt": "M", "loc": "used for countdown in events"}; \ No newline at end of file diff --git a/langs/en-US.js b/langs/en-US.js index 236a667..f657eb9 100644 --- a/langs/en-US.js +++ b/langs/en-US.js @@ -709,4 +709,4 @@ locObj.tabGoldHistoryCurrentLimit = {"txt": "Current gold limit is %arg1", "loc" locObj.tabGoldHistory = {"txt": "Gold history tab", "loc":"Label in Gold history tab"}; locObj.dayAcronym = {"txt": "D", "loc": "used for countdown in events"}; locObj.hourAcronym = {"txt": "H", "loc": "used for countdown in events"}; -locObj.minuteAcronym = {"txt", "M", "loc": "used for countdown in events"}; \ No newline at end of file +locObj.minuteAcronym = {"txt": "M", "loc": "used for countdown in events"}; \ No newline at end of file diff --git a/langs/eo.js b/langs/eo.js index 72ae7be..27a1d0a 100644 --- a/langs/eo.js +++ b/langs/eo.js @@ -711,4 +711,4 @@ locObj.tabGoldHistoryCurrentLimit = {"txt": "Nuna ora limo estas %arg1", "loc": locObj.tabGoldHistory = {"txt": "langeto pri mono historio", "loc":"Label in Gold history tab"}; locObj.dayAcronym = {"txt": "T", "loc": "used for countdown in events"}; locObj.hourAcronym = {"txt": "H", "loc": "used for countdown in events"}; -locObj.minuteAcronym = {"txt", "M", "loc": "used for countdown in events"}; \ No newline at end of file +locObj.minuteAcronym = {"txt": "M", "loc": "used for countdown in events"}; \ No newline at end of file diff --git a/langs/es-ES.js b/langs/es-ES.js index 125063e..79ad127 100644 --- a/langs/es-ES.js +++ b/langs/es-ES.js @@ -709,4 +709,4 @@ locObj.tabGoldHistoryCurrentLimit = {"txt": "Current gold limit is %arg1", "loc" locObj.tabGoldHistory = {"txt": "Gold history tab", "loc":"Label in Gold history tab"}; locObj.dayAcronym = {"txt": "D", "loc": "used for countdown in events"}; locObj.hourAcronym = {"txt": "H", "loc": "used for countdown in events"}; -locObj.minuteAcronym = {"txt", "M", "loc": "used for countdown in events"}; \ No newline at end of file +locObj.minuteAcronym = {"txt": "M", "loc": "used for countdown in events"}; \ No newline at end of file diff --git a/langs/fr-FR.js b/langs/fr-FR.js index cce85b8..f4667ea 100644 --- a/langs/fr-FR.js +++ b/langs/fr-FR.js @@ -711,4 +711,4 @@ locObj.tabGoldHistoryCurrentLimit = {"txt": "La limite d'or actuelle est de %arg locObj.tabGoldHistory = {"txt": "Onglet Historique de l'or", "loc":"Label in Gold history tab"}; locObj.dayAcronym = {"txt": "J", "loc": "used for countdown in events"}; locObj.hourAcronym = {"txt": "H", "loc": "used for countdown in events"}; -locObj.minuteAcronym = {"txt", "M", "loc": "used for countdown in events"}; \ No newline at end of file +locObj.minuteAcronym = {"txt": "M", "loc": "used for countdown in events"}; \ No newline at end of file diff --git a/langs/ru-RU.js b/langs/ru-RU.js index 5c393d9..c2f0ca7 100644 --- a/langs/ru-RU.js +++ b/langs/ru-RU.js @@ -715,4 +715,4 @@ locObj.tabGoldHistoryCurrentLimit = {"txt": "Текущий лимит золо locObj.tabGoldHistory = {"txt": "Данные о казне по периодам", "loc":"Label in Gold history tab"}; locObj.dayAcronym = {"txt": "Д", "loc": "used for countdown in events"}; locObj.hourAcronym = {"txt": "Ч", "loc": "used for countdown in events"}; -locObj.minuteAcronym = {"txt", "М", "loc": "used for countdown in events"}; \ No newline at end of file +locObj.minuteAcronym = {"txt": "М", "loc": "used for countdown in events"}; \ No newline at end of file From 882744e22498dca90300dd5241f04f3fcd563754 Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Thu, 2 Mar 2023 23:06:22 +0200 Subject: [PATCH 11/86] hotfix --- js/dom.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/dom.js b/js/dom.js index 0ded068..74364c5 100644 --- a/js/dom.js +++ b/js/dom.js @@ -44,7 +44,7 @@ include('localisation.js',function(){ document.getElementById("labelGarrison").innerText = locObj.lblGarrison.txt; document.getElementById("buttonFireGuard").innerText = locObj.btnFire.txt; document.getElementById("buttonHireGuard").innerText = locObj.btnHire.txt; - document.getElementById("lblAboutGame").innerHTML = locObj.tabHowToPlayText.txt.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll); + document.getElementById("lblAboutGame").innerHTML = locObj.tabHowToPlayText.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll); document.getElementById("lblTabPop").innerText = locObj.tabPopHistory.txt; document.getElementById("lblTabGold").innerText = locObj.tabGoldHistory.txt; document.getElementById("btnColorMode").innerText = locObj.tabSettingsBtnChangeColorMode.txt; From a6f9cebf894e8004de1a5e6f06f38b9824b4ce5f Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Sun, 5 Mar 2023 23:46:51 +0200 Subject: [PATCH 12/86] localizations rewritten 196/376 --- js/dom.js | 4 +-- js/game.js | 51 ++++++++++----------------- js/tab_inn.js | 18 +++++----- langs/de-DE.js | 93 +++++++++++++++++++++++++++++++----------------- langs/en-US.js | 96 +++++++++++++++++++++++++++++++++----------------- langs/eo.js | 94 +++++++++++++++++++++++++++++++----------------- langs/es-ES.js | 94 +++++++++++++++++++++++++++++++----------------- langs/fr-FR.js | 94 +++++++++++++++++++++++++++++++----------------- langs/ru-RU.js | 94 +++++++++++++++++++++++++++++++----------------- 9 files changed, 403 insertions(+), 235 deletions(-) diff --git a/js/dom.js b/js/dom.js index 74364c5..c7efd30 100644 --- a/js/dom.js +++ b/js/dom.js @@ -48,7 +48,7 @@ include('localisation.js',function(){ document.getElementById("lblTabPop").innerText = locObj.tabPopHistory.txt; document.getElementById("lblTabGold").innerText = locObj.tabGoldHistory.txt; document.getElementById("btnColorMode").innerText = locObj.tabSettingsBtnChangeColorMode.txt; - document.getElementById("lblTabInn").innerText = localeStrings[181]; + document.getElementById("lblTabInn").innerText = locObj.tabInnWelcome.txt; document.getElementById("lblUpkeepSrc").innerText = localeStrings[279]; document.getElementById("selectUpkeepSrc")[0].text = localeStrings[284]; document.getElementById("selectUpkeepSrc")[1].text = localeStrings[285]; @@ -258,7 +258,7 @@ function updateButtonCaptions(){ } document.getElementById("buttonDeathPenalty").style.display = 'block'; } - document.getElementById("btnHireHero").innerHTML = localeStrings[182].replace("%arg1",game.buildLevelInn).replace("%arg2",config.costHero); + document.getElementById("btnHireHero").innerHTML = locObj.tabInnBtnHireHero.txt.replace("%arg1",game.buildLevelInn).replace("%arg2",config.costHero); } function dynamicCellsSetStyle() { if (game.nightMode === true){ diff --git a/js/game.js b/js/game.js index 75e103e..2bd6c55 100644 --- a/js/game.js +++ b/js/game.js @@ -206,20 +206,7 @@ function gameOK() { xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhttp.send(dataToParse); }, - sendSaveToTheCloud : function (lastHope_str) { - var xhttp = new XMLHttpRequest(); - xhttp.onreadystatechange = function() { - if (this.readyState === 4 && this.status === 200) { - msg = "savegame sent to the cloud successfully"; - postEventLog(msg); - } - }; - dataToParse = game.UID; - xhttp.open("POST", "http://51.68.172.115:9090/lasthope", true); - xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); - xhttp.send(lastHope_str); - }, - getEventHelp : function () { + getEventHelp : function () { if (eventHelpMsg!==null) { if (flag_event_started===0){ disabledElements.push("saveGameButton"); @@ -419,15 +406,15 @@ function gameOK() { var genMapPriceFinal = Math.pow((game.buildLevelInn+2)*(game.buildLevelTreasury+2),2)*config.genMapCostBasic/2; if (game.heroExists()===true) { if (game.myhero.status !== 2) { - var question = localeStrings[179]; + let question = locObj.dialogMapRegenerate.txt; question = question.replace("%arg1", genMapPriceFinal); showModal(1, '', game.generateMapCallback, question, locObj.yes.txt, locObj.no.txt) } else { - alertMsg = localeStrings[180]; + alertMsg = locObj.errMapRegenerateHeroOnMap.txt; showModal(0, '', getAck, alertMsg, locObj.okay.txt, ''); } } else { - var question = localeStrings[179]; + let question = locObj.dialogMapRegenerate.txt; question = question.replace("%arg1", genMapPriceFinal); showModal(1, '', game.generateMapCallback, question, locObj.yes.txt, locObj.no.txt) } @@ -441,7 +428,7 @@ function gameOK() { if (answer === 2) { if (game.gold >= genMapPriceFinal) { genMap(genMapPriceFinal); - postEventLog(localeStrings[168]); + postEventLog(locObj.mapRegenerate.txt); updateUI(); } else { alertMsg = locObj.notEnoughGold.txt; @@ -514,7 +501,7 @@ function gameOK() { }, checkColissionWithRemovableObstacles : function () { if (game.myMapRemObjects[game.heroX][game.heroY]===1) { - postEventLog(localeStrings[186]+config.chestMoney); + postEventLog(locObj.heroFoundMoney.txt.replace("%arg1", config.chestMoney)); game.myhero.gold += config.chestMoney; game.checkTreasuryCapacity(); updateUI(); @@ -702,9 +689,9 @@ function gameOK() { if (game.attacker === 1 && !game.isAutoBattle) { if (campaignType === "AutoCampaign") { if (game.myhero.stance === 1) { - postJournalLog(localeStrings[174]); + postJournalLog(locObj.autocampaignHeroCrushedSmallEnemyArmy.txt); } else { - postJournalLog(localeStrings[173]); + postJournalLog(locObj.autocampaignHeroCrushedVastEnemyArmy.txt); } } console.log("The player is the winner"); @@ -719,7 +706,7 @@ function gameOK() { } else { if (campaignType === "AutoCampaign") { if (game.myhero.stance === 0) { - postJournalLog(localeStrings[172]); + postJournalLog(locObj.heroLost.txt); game.heroDie(); game.myheroArmy = {armyID: 1, units: {}}; } else { @@ -793,8 +780,8 @@ function gameOK() { heroDismiss: function () { if (game.heroExists()===true){ if (game.isHeroHaveTroops()) { - var question = localeStrings[177]; - showModal(1, '', game.heroDismissCallback, question, locObj.yes.txt, localeStrings[178]); + let question = locObj.dialogDismissHeroConfirm.txt; + showModal(1, '', game.heroDismissCallback, question, locObj.yes.txt, locObj.dialogDismissHeroNoOption.txt); } else { game.heroDie(); } @@ -1015,7 +1002,7 @@ function gameOK() { } } else { - postJournalLog(localeStrings[175]); + postJournalLog(locObj.autocampaignNoEvents.txt); } game.heroLvlUp("AutoCampaign"); @@ -1023,6 +1010,7 @@ function gameOK() { } if (game.myhero.aCampaignBackward === 1) { + // TODO make an ambush!!! if (game.myhero.aCampaignLong - 1 > 0){ game.myhero.aCampaignLong -= 1; if (game.isDefeated) { @@ -1031,7 +1019,7 @@ function gameOK() { return; } game.myhero.aCampaignTotalLong += 1; - postJournalLog(localeStrings[175]); + postJournalLog(locObj.autocampaignNoEvents.txt); } else { document.getElementById("btnAutocampaign").disabled = false; enemyRandomizer.clearEntriesList(); @@ -1040,7 +1028,7 @@ function gameOK() { game.myhero.aCampaignTotalLong = 0; game.myhero.aCampaignForward = 0; game.myhero.aCampaignBackward = 0; - postEventLog(localeStrings[176] + game.myhero.gold); + postEventLog(locObj.autocampaignLootList.txt + game.myhero.gold); var gold_diff = game.addMoneyToTreasury(game.myhero.gold); if (gold_diff !== game.myhero.gold){ postEventLog(locObj.goldAddedToTreasury.txt.replace("%arg1", gold_diff)); @@ -1051,8 +1039,6 @@ function gameOK() { } } - - }, isHeroHaveTroops : function () { var totalCount = 0; @@ -1086,9 +1072,10 @@ function gameOK() { } if (game.myhero.status === HERO_STATUS.AUTOCAMPAIGN) { - showModal(1, '', game.autocampaignWithdrawCallback, localeStrings[171], locObj.yes.txt, locObj.no.txt); + let question = locObj.autocampaignWithdrawDialogConfirm.txt; + showModal(1, '', game.autocampaignWithdrawCallback, question, locObj.yes.txt, locObj.no.txt); } else { - showModal(0, '', getAck, localeStrings[170], locObj.okay.txt, ''); + showModal(0, '', getAck, locObj.autocampaignWithdrawErr.txt, locObj.okay.txt, ''); } } else { @@ -3882,7 +3869,7 @@ WeightedRandom.prototype.clearEntriesList = function() { function postJournalLog(msgEventLog) { var id = "accordionBody-" + game.autocampaignCounter; var targetCampaignLogElement = document.getElementById(id); - targetCampaignLogElement.innerHTML += localeStrings[169]+game.myhero.aCampaignTotalLong; + targetCampaignLogElement.innerHTML += locObj.day.txt+" "+game.myhero.aCampaignTotalLong; targetCampaignLogElement.innerHTML += ": "+msgEventLog+"
"; scrollDown(); } diff --git a/js/tab_inn.js b/js/tab_inn.js index 2214220..dd2b8ea 100644 --- a/js/tab_inn.js +++ b/js/tab_inn.js @@ -84,15 +84,15 @@ function updateHeroStatusInn() { if (heroStatusNeedsUpdate === true) { game.myhero.status = 0; } - HTMLofHeroStats += localeStrings[189]+": "+game.myhero.level+"
"; - HTMLofHeroStats += localeStrings[197]+": "+lblAlignment+"
"; - HTMLofHeroStats += localeStrings[195]+": "+game.myhero.exp+" | "; - HTMLofHeroStats += localeStrings[196]+": "+game.heroNextLvlExpLimit()+"
"; - HTMLofHeroStats += localeStrings[190]+": "+game.myhero.atk+" | "; - HTMLofHeroStats += localeStrings[191]+": "+game.myhero.def+"
"; - HTMLofHeroStats += localeStrings[187]+": "+game.myhero.int+"
"; - HTMLofHeroStats += localeStrings[192]+": "+game.myhero.cmana+"/"+game.myhero.mana+" | "; - HTMLofHeroStats += localeStrings[193]+": "+game.myhero.mpow+"
"; + HTMLofHeroStats += locObj.heroStatLevel.txt+": "+game.myhero.level+"
"; + //HTMLofHeroStats += localeStrings[197]+": "+lblAlignment+"
"; + HTMLofHeroStats += locObj.heroCurrentExp.txt +": "+game.myhero.exp+" | "; + HTMLofHeroStats += locObj.heroNextLvlExp.txt +": "+game.heroNextLvlExpLimit()+"
"; + HTMLofHeroStats += locObj.heroStatAtk.txt +": "+game.myhero.atk+" | "; + HTMLofHeroStats += locObj.heroStatDef.txt +": "+game.myhero.def+"
"; + HTMLofHeroStats += locObj.heroStatInt.txt +": "+game.myhero.int+"
"; + HTMLofHeroStats += locObj.heroStatMP.txt +": "+game.myhero.cmana+"/"+game.myhero.mana+" | "; + HTMLofHeroStats += locObj.heroStatSpellpower.txt +": "+game.myhero.mpow+"
"; HTMLofHeroStats += heroActivity+"
"; if (game.myhero.status===1) { HTMLofHeroStats += localeStrings[213]+": "+game.myhero.aCampaignLong+"
"; diff --git a/langs/de-DE.js b/langs/de-DE.js index f2341dc..37a9230 100644 --- a/langs/de-DE.js +++ b/langs/de-DE.js @@ -168,37 +168,37 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push(["plc","plc","plc"]);//165 -localeStrings.push("This is the time amount before an event will start"); -localeStrings.push("This is the time amount before the event will end"); -localeStrings.push("Der Himmel über der Stadt verdunkelte sich zu Schwarz, Blitzschläge machten einen solchen Anblick und plötzlich hörten alle auf."); -localeStrings.push("Tag "); -localeStrings.push("Dein Held muss in einer Autokampagne sein, um das zu tun!");//170 -localeStrings.push("Möchtest du deinen Helden zurückziehen?"); -localeStrings.push("Der Held und alle Truppen sind im Ruhmkampf ums Leben gekommen"); -localeStrings.push("Der Held hat eine große Anzahl von Feinden getroffen und sie zerschlagen. Der Kampf bringt dem Helden Geld und Erfahrung!"); -localeStrings.push("Der Held hat eine kleine Anzahl von Feinden getroffen und sie zerschlagen. Der Kampf bringt dem Helden Geld und Erfahrung!"); -localeStrings.push("Der Tag war sehr langweilig. Nur ein Heide wurde getötet (ein Jäger nahm einen Heiden als Beute. So traurig!)");//175 -localeStrings.push("Geplünderte Trophäen aus der Kampagne: "); -localeStrings.push("Möchtest du den Helden mit allen Truppen entlassen?"); -localeStrings.push("Nicht. Ich werde zuerst alle Einheiten des Helden bewegen"); -localeStrings.push("Möchten Sie eine neue Karte erstellen? Es würde %arg1 Geld kosten!"); -localeStrings.push("Du konntest es nicht tun, während dein Held auf der Karte ist!");//180 -localeStrings.push("Willkommen im Schenke"); -localeStrings.push("Vermietung Held
Stufe %arg1
%arg2 Gold"); -localeStrings.push("Glück"); -localeStrings.push("Aberglaube"); -localeStrings.push("Moral"); // 185 -localeStrings.push("Der Held hat etwas Geld gefunden: "); -localeStrings.push("Intelligenz"); -localeStrings.push("placeholder"); -localeStrings.push("Stufe"); -localeStrings.push("Attack");//190 -localeStrings.push("Defense"); -localeStrings.push("Zauberpunkte"); -localeStrings.push("Zauberkraft"); -localeStrings.push("Erfahrung"); -localeStrings.push("Aktuelle Erfahrung");//195 -localeStrings.push("Erfahrung für das nächste Level erforderlich"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//170 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//175 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//180 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); // 185 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//190 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//195 +localeStrings.push("placeholder"); localeStrings.push("Alignment"); localeStrings.push("Rechtmäßig"); localeStrings.push("Neutral"); @@ -712,4 +712,33 @@ locObj.tabGoldHistoryCurrentLimit = {"txt": "Aktuelle Goldgrenze ist %arg1", "lo locObj.tabGoldHistory = {"txt": "Goldhistorie-Tab", "loc":"Label in Gold history tab"}; locObj.dayAcronym = {"txt": "T", "loc": "used for countdown in events"}; locObj.hourAcronym = {"txt": "S", "loc": "used for countdown in events"}; -locObj.minuteAcronym = {"txt": "M", "loc": "used for countdown in events"}; \ No newline at end of file +locObj.minuteAcronym = {"txt": "M", "loc": "used for countdown in events"}; +locObj.countDownBeforeEventStarts = {"txt": "This is the time amount before an event will start", "loc": "resource panel?"}; +locObj.countDownBeforeEventEnds = {"txt": "This is the time amount before the event will end", "loc": "resource panel?"}; +locObj.mapRegenerate = {"txt": "Der Himmel über der Stadt verdunkelte sich zu Schwarz, Blitzschläge machten einen solchen Anblick und plötzlich hörten alle auf", "loc": "after pressed generate new map button"}; +locObj.day = {"txt": "Tag", "loc": "occurs in autobattles logs"}; +locObj.autocampaignWithdrawErr = {"txt": "Dein Held muss in einer Autokampagne sein, um das zu tun!", "loc":"happens when failing to withdraw the hero from autocampaign"}; +locObj.autocampaignWithdrawDialogConfirm = {"txt": "Möchtest du deinen Helden zurückziehen?", "loc": "happens when you pressing withdraw button"}; +locObj.heroLost = {"txt":"Der Held und alle Truppen sind im Ruhmkampf ums Leben gekommen", "loc": "happens when the hero is lost"}; +locObj.autocampaignHeroCrushedVastEnemyArmy = {"txt":"Der Held hat eine große Anzahl von Feinden getroffen und sie zerschlagen. Der Kampf bringt dem Helden Geld und Erfahrung!", "loc":"autocampaign journal with aggressive stance"}; +locObj.autocampaignHeroCrushedSmallEnemyArmy = {"txt": "Der Held hat eine kleine Anzahl von Feinden getroffen und sie zerschlagen. Der Kampf bringt dem Helden Geld und Erfahrung!", "loc":"autocampaign journal with cautious stance"}; +locObj.autocampaignNoEvents = {"txt": "Der Tag war sehr langweilig. Nur ein Heide wurde getötet (ein Jäger nahm einen Heiden als Beute. So traurig!)", "loc":"autocampaign log no events"}; +locObj.autocampaignLootList = {"txt": "Geplünderte Trophäen aus der Kampagne: ", "loc":"autocampaign"}; +locObj.dialogDismissHeroConfirm = {"txt": "Möchtest du den Helden mit allen Truppen entlassen?", "loc":"when dismiss hero button pressed"}; +locObj.dialogDismissHeroNoOption = {"txt": "Nicht. Ich werde zuerst alle Einheiten des Helden bewegen", "loc":"when you declined"}; +locObj.dialogMapRegenerate = {"txt": "Möchten Sie eine neue Karte erstellen? Es würde %arg1 Geld kosten!", "loc": "map regenerate confirmation dialogue"}; +locObj.errMapRegenerateHeroOnMap = {"txt": "Du konntest es nicht tun, während dein Held auf der Karte ist!", "loc": "happens if you try to make new map while your hero on an existing one"}; +locObj.tabInnWelcome = {"txt": "Willkommen im Schenke", "loc":"label in Inn tab"}; +locObj.tabInnBtnHireHero = {"txt": "Vermietung Held
Stufe %arg1
%arg2 Gold", "loc": "tab Inn, button Hire Hero"}; +locObj.heroStatLuck = {"txt": "Aberglaube", "loc": "hero stat"}; +locObj.heroStatMorale = {"txt": "moral", "loc": "hero stat"}; +locObj.heroFoundMoney = {"txt": "Der Held hat etwas Geld gefunden: %arg1", "loc": "when a chest found on Adventure Map"}; +locObj.heroStatInt = {"txt": "Intelligenz", "loc": "hero stat"}; +locObj.heroStatLevel = {"txt": "Stufe", "loc": "hero stat"}; +locObj.heroStatAtk = {"txt": "Attack", "loc": "hero stat"}; +locObj.heroStatDef = {"txt": "Defense", "loc": "hero stat"}; +locObj.heroStatMP = {"txt": "Zauberpunkte", "loc": "hero stat"}; +locObj.heroStatSpellpower = {"txt": "Zauberkraft", "loc": "hero stat"}; +locObj.heroExp = {"txt": "Erfahrung", "loc": "hero stat"}; +locObj.heroCurrentExp = {"txt": "Aktuelle Erfahrung", "loc": "hero stat"}; +locObj.heroNextLvlExp = {"txt": "Erfahrung für das nächste Level erforderlich", "loc": "hero stat"}; \ No newline at end of file diff --git a/langs/en-US.js b/langs/en-US.js index f657eb9..7e0c802 100644 --- a/langs/en-US.js +++ b/langs/en-US.js @@ -168,37 +168,37 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push(["plch","plch","plch"]);//165 -localeStrings.push("This is the time amount before an event will start"); -localeStrings.push("This is the time amount before the event will end"); -localeStrings.push("The sky above the city darkened to black, lightning bolts made such a sight, and suddenly all stopped."); -localeStrings.push("Day "); -localeStrings.push("Your hero needs to be in a autocampaign to do that!");//170 -localeStrings.push("Do you want to withdraw your hero?"); -localeStrings.push("Milord, we lost a hero with all troops in the glorious combat."); -localeStrings.push("the hero has met great number of enemies and crash them. The battle brings to the hero money and experience!"); -localeStrings.push("the hero has met small number of enemies and crash them. The battle brings to the hero money and experience!"); -localeStrings.push("the day was very boring. Only one pagan was killed (a hunter took a pagan as a prey. so sad!)");//175 -localeStrings.push("looted trophies from the campaign: "); -localeStrings.push("Do you want to dismiss hero with all troops?"); -localeStrings.push("Nope. I will move all units from the hero first"); -localeStrings.push("Do you want to generate a new map? It would cost %arg1 gold to you!"); -localeStrings.push("You couldn't do it while your hero on the map!");//180 -localeStrings.push("A sly innkeeper winks at you: Your gold, my food and stories, milord. Welcome to inn!"); -localeStrings.push("Hire hero
lvl %arg1
%arg2 gold"); -localeStrings.push("luck"); -localeStrings.push("superstition"); -localeStrings.push("morale");//185 -localeStrings.push("the hero found some money: "); -localeStrings.push("Intelligence"); -localeStrings.push("placeholder"); -localeStrings.push("Level"); -localeStrings.push("Attack");//190 -localeStrings.push("Defense"); -localeStrings.push("Manapoints"); -localeStrings.push("Spellpower"); -localeStrings.push("Experience"); -localeStrings.push("Current experience");//195 -localeStrings.push("Experience required for next level"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//170 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//175 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//180 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//185 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//190 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//195 +localeStrings.push("placeholder"); localeStrings.push("Alignment"); localeStrings.push("Lawful"); localeStrings.push("Neutral"); @@ -709,4 +709,36 @@ locObj.tabGoldHistoryCurrentLimit = {"txt": "Current gold limit is %arg1", "loc" locObj.tabGoldHistory = {"txt": "Gold history tab", "loc":"Label in Gold history tab"}; locObj.dayAcronym = {"txt": "D", "loc": "used for countdown in events"}; locObj.hourAcronym = {"txt": "H", "loc": "used for countdown in events"}; -locObj.minuteAcronym = {"txt": "M", "loc": "used for countdown in events"}; \ No newline at end of file +locObj.minuteAcronym = {"txt": "M", "loc": "used for countdown in events"}; +locObj.countDownBeforeEventStarts = {"txt": "This is the time amount before an event will start", "loc": "resource panel?"}; +locObj.countDownBeforeEventEnds = {"txt": "This is the time amount before the event will end", "loc": "resource panel?"}; +locObj.mapRegenerate = {"txt": "The sky above the city darkened to black, lightning bolts made such a sight, and suddenly all stopped", "loc": "after pressed generate new map button"}; +locObj.day = {"txt": "Day", "loc": "occurs in autobattles logs"}; +locObj.autocampaignWithdrawErr = {"txt": "Your hero needs to be in a autocampaign to do that!", "loc":"happens when failing to withdraw the hero from autocampaign"}; +locObj.autocampaignWithdrawDialogConfirm = {"txt": "Do you want to withdraw your hero?", "loc": "happens when you pressing withdraw button"}; +locObj.heroLost = {"txt":"Milord, we lost a hero with all troops in the glorious combat", "loc": "happens when the hero is lost"}; +locObj.autocampaignHeroCrushedVastEnemyArmy = {"txt":"the hero has met great number of enemies and crash them. The battle brings to the hero money and experience!", "loc":"autocampaign journal with aggressive stance"}; +locObj.autocampaignHeroCrushedSmallEnemyArmy = {"txt": "the hero has met small number of enemies and crash them. The battle brings to the hero a bit of money and experience", "loc":"autocampaign journal with cautious stance"}; +locObj.autocampaignNoEvents = {"txt": "the day was very boring. Only one pagan was killed (a hunter took a pagan as a prey. so sad!)", "loc":"autocampaign log no events"}; +locObj.autocampaignLootList = {"txt": "looted trophies from the campaign: ", "loc":"autocampaign"}; +locObj.dialogDismissHeroConfirm = {"txt": "Do you want to dismiss hero with all troops?", "loc":"when dismiss hero button pressed"}; +locObj.dialogDismissHeroNoOption = {"txt": "Nope. I will move all units from the hero first", "loc":"when you declined"}; +locObj.dialogMapRegenerate = {"txt": "Do you want to generate a new map? It would cost %arg1 gold to you!", "loc": "map regenerate confirmation dialogue"}; +locObj.errMapRegenerateHeroOnMap = {"txt": "You couldn't do it while your hero on the map!", "loc": "happens if you try to make new map while your hero on an existing one"}; +locObj.tabInnWelcome = {"txt": "A sly innkeeper winks at you: Your gold, my food and stories, milord. Welcome to inn!", "loc":"label in Inn tab"}; +locObj.tabInnBtnHireHero = {"txt": "Hire hero
lvl %arg1
%arg2 gold", "loc": "tab Inn, button Hire Hero"}; +//todo , unused so far +locObj.heroStatLuck = {"txt": "luck", "loc": "hero stat"}; +locObj.heroStatSuperstition = {"txt": "superstition", "loc": "hero stat"}; +locObj.heroStatMorale = {"txt": "morale", "loc": "hero stat"}; +//end of todo +locObj.heroFoundMoney = {"txt": "the hero found some money: %arg1", "loc": "when a chest found on Adventure Map"}; +locObj.heroStatInt = {"txt": "Intelligence", "loc": "hero stat"}; +locObj.heroStatLevel = {"txt": "Level", "loc": "hero stat"}; +locObj.heroStatAtk = {"txt": "Attack", "loc": "hero stat"}; +locObj.heroStatDef = {"txt": "Defense", "loc": "hero stat"}; +locObj.heroStatMP = {"txt": "Manapoints", "loc": "hero stat"}; +locObj.heroStatSpellpower = {"txt": "Spellpower", "loc": "hero stat"}; +locObj.heroExp = {"txt": "Experience", "loc": "hero stat"}; +locObj.heroCurrentExp = {"txt": "Current experience", "loc": "hero stat"}; +locObj.heroNextLvlExp = {"txt": "Experience required for next level", "loc": "hero stat"}; \ No newline at end of file diff --git a/langs/eo.js b/langs/eo.js index 27a1d0a..4e5e37d 100644 --- a/langs/eo.js +++ b/langs/eo.js @@ -168,37 +168,37 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push(["plch","plch","plch"]);//165 -localeStrings.push("This is the time amount before an event will start"); -localeStrings.push("This is the time amount before the event will end"); -localeStrings.push("La ĉielo super la urbo malheliĝis al nigraj, fulmotondroj faris tian vidon, kaj subite ĉiuj haltis."); -localeStrings.push("Tago "); -localeStrings.push("Via heroo devas esti en aŭtokampanjo por fari tion!");//170 -localeStrings.push("Ĉu vi volas retiri vian heroon?"); -localeStrings.push("la heroo kaj ĉiuj trupoj renkontis sian morton en la glor-batalo"); -localeStrings.push("la heroo renkontis grandan nombron da malamikoj kaj frakasis ilin. La batalo alportas al la heroo monon kaj sperton!"); -localeStrings.push("la heroo renkontis malgrandan nombron da malamikoj kaj frakasis ilin. La batalo alportas al la heroo monon kaj sperton!"); -localeStrings.push("la tago estis tre enuiga. Nur unu pagano estis mortigita (ĉasisto prenis paganon kiel predon. Do malĝoja!)");//175 -localeStrings.push("Forigitaj trofeoj de la kampanjo: "); -localeStrings.push("Ĉu vi volas eksigi heroon kun ĉiuj trupoj?"); -localeStrings.push("Ne. Unue, mi translokigos ĉiujn ekzemplerojn de la heroo"); -localeStrings.push("Ĉu vi volas generi novan mapon? Kostus al vi %arg1 mono!"); -localeStrings.push("Vi ne povis fari ĝin dum via heroo sur la mapo!");//180 -localeStrings.push("Bonvenon al Gastejo"); -localeStrings.push("dungi heroon
nivelo %arg1
%arg2 oro"); -localeStrings.push("bonŝanco"); -localeStrings.push("superstiĉo"); -localeStrings.push("moralo"); // 185 -localeStrings.push("la heroo trovis iom da mono: "); -localeStrings.push("Inteligenteco"); -localeStrings.push("placeholder"); -localeStrings.push("Nivelo"); -localeStrings.push("Atako");//190 -localeStrings.push("Defendo"); -localeStrings.push("Magiaj punktoj"); -localeStrings.push("Magia potenco"); -localeStrings.push("Sperto"); -localeStrings.push("Nuna sperto");//195 -localeStrings.push("Sperto bezonata por sekva nivelo"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//170 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//175 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//180 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); // 185 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//190 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//195 +localeStrings.push("placeholder"); localeStrings.push("Aliĝo"); localeStrings.push("Laŭleĝa"); localeStrings.push("Neŭtrala"); @@ -711,4 +711,34 @@ locObj.tabGoldHistoryCurrentLimit = {"txt": "Nuna ora limo estas %arg1", "loc": locObj.tabGoldHistory = {"txt": "langeto pri mono historio", "loc":"Label in Gold history tab"}; locObj.dayAcronym = {"txt": "T", "loc": "used for countdown in events"}; locObj.hourAcronym = {"txt": "H", "loc": "used for countdown in events"}; -locObj.minuteAcronym = {"txt": "M", "loc": "used for countdown in events"}; \ No newline at end of file +locObj.minuteAcronym = {"txt": "M", "loc": "used for countdown in events"}; +locObj.countDownBeforeEventStarts = {"txt": "This is the time amount before an event will start", "loc": "resource panel?"}; +locObj.countDownBeforeEventEnds = {"txt": "This is the time amount before the event will end", "loc": "resource panel?"}; +locObj.mapRegenerate = {"txt": "La ĉielo super la urbo malheliĝis al nigraj, fulmotondroj faris tian vidon, kaj subite ĉiuj haltis", "loc": "after pressed generate new map button"}; +locObj.day = {"txt": "Tago", "loc": "occurs in autobattles logs"}; +locObj.autocampaignWithdrawErr = {"txt": "Via heroo devas esti en aŭtokampanjo por fari tion!", "loc":"happens when failing to withdraw the hero from autocampaign"}; +locObj.autocampaignWithdrawDialogConfirm = {"txt": "Ĉu vi volas retiri vian heroon?", "loc": "happens when you pressing withdraw button"}; +locObj.heroLost = {"txt":"la heroo kaj ĉiuj trupoj renkontis sian morton en la glor-batalo", "loc": "happens when the hero is lost"}; +locObj.autocampaignHeroCrushedVastEnemyArmy = {"txt":"la heroo renkontis grandan nombron da malamikoj kaj frakasis ilin. La batalo alportas al la heroo monon kaj sperton!", "loc":"autocampaign journal with aggressive stance"}; +locObj.autocampaignHeroCrushedSmallEnemyArmy = {"txt": "la heroo renkontis malgrandan nombron da malamikoj kaj frakasis ilin. La batalo alportas al la heroo monon kaj sperton!", "loc":"autocampaign journal with cautious stance"}; +locObj.autocampaignNoEvents = {"txt": "la tago estis tre enuiga. Nur unu pagano estis mortigita (ĉasisto prenis paganon kiel predon. Do malĝoja!)", "loc":"autocampaign log no events"}; +locObj.autocampaignLootList = {"txt": "Forigitaj trofeoj de la kampanjo: ", "loc":"autocampaign"}; +locObj.dialogDismissHeroConfirm = {"txt": "Ĉu vi volas eksigi heroon kun ĉiuj trupoj?", "loc":"when dismiss hero button pressed"}; +locObj.dialogDismissHeroNoOption = {"txt": "Ne. Unue, mi translokigos ĉiujn ekzemplerojn de la heroo", "loc":"when you declined"}; +locObj.dialogMapRegenerate = {"txt": "Ĉu vi volas generi novan mapon? Kostus al vi %arg1 mono!", "loc": "map regenerate confirmation dialogue"}; +locObj.errMapRegenerateHeroOnMap = {"txt": "Vi ne povis fari ĝin dum via heroo sur la mapo!", "loc": "happens if you try to make new map while your hero on an existing one"}; +locObj.tabInnWelcome = {"txt": "Bonvenon al Gastejo", "loc":"label in Inn tab"}; +locObj.tabInnBtnHireHero = {"txt": "dungi heroon
nivelo %arg1
%arg2 oro", "loc": "tab Inn, button Hire Hero"}; +locObj.heroStatLuck = {"txt": "bonŝanco", "loc": "hero stat"}; +locObj.heroStatSuperstition = {"txt": "superstiĉo", "loc": "hero stat"}; +locObj.heroStatMorale = {"txt": "moralo", "loc": "hero stat"}; +locObj.heroFoundMoney = {"txt": "la heroo trovis iom da mono: %arg1", "loc": "when a chest found on Adventure Map"}; +locObj.heroStatInt = {"txt": "Inteligenteco", "loc": "hero stat"}; +locObj.heroStatLevel = {"txt": "Nivelo", "loc": "hero stat"}; +locObj.heroStatAtk = {"txt": "Atako", "loc": "hero stat"}; +locObj.heroStatDef = {"txt": "Defendo", "loc": "hero stat"}; +locObj.heroStatMP = {"txt": "Magiaj punktoj", "loc": "hero stat"}; +locObj.heroStatSpellpower = {"txt": "Magia potenco", "loc": "hero stat"}; +locObj.heroExp = {"txt": "Sperto", "loc": "hero stat"}; +locObj.heroCurrentExp = {"txt": "Nuna sperto", "loc": "hero stat"}; +locObj.heroNextLvlExp = {"txt": "Sperto bezonata por sekva nivelo", "loc": "hero stat"}; \ No newline at end of file diff --git a/langs/es-ES.js b/langs/es-ES.js index 79ad127..88c0e10 100644 --- a/langs/es-ES.js +++ b/langs/es-ES.js @@ -168,37 +168,37 @@ localeStrings.push("placeholder"); localeStrings.push("placehodler"); localeStrings.push("placeholder"); localeStrings.push(["plc","plc","plc"]);//165 -localeStrings.push("This is the time amount before an event will start"); -localeStrings.push("This is the time amount before the event will end"); -localeStrings.push("The sky above the city darkened to black, lightning bolts made such a sight, and suddenly all stopped."); -localeStrings.push("Day "); -localeStrings.push("Your hero needs to be in a autocampaign to do that!");//170 -localeStrings.push("Do you want to withdraw your hero?"); -localeStrings.push("the hero and all troops met their death in the glory combat"); -localeStrings.push("the hero has met great number of enemies and crash them. The battle brings to the hero money and experience!"); -localeStrings.push("the hero has met small number of enemies and crash them. The battle brings to the hero money and experience!"); -localeStrings.push("the day was very boring. Only one pagan was killed (a hunter took a pagan as a prey. so sad!)");//175 -localeStrings.push("looted trophies from the campaign: "); -localeStrings.push("Do you want to dismiss hero with all troops?"); -localeStrings.push("Nope. I will move all units from the hero first"); -localeStrings.push("Do you want to generate a new map? It would cost %arg1 gold to you!"); -localeStrings.push("You couldn't do it while your hero on the map!");//180 -localeStrings.push("Welcome to Inn!"); -localeStrings.push("Hire hero
lvl %arg1
%arg2 gold"); -localeStrings.push("luck"); -localeStrings.push("superstition"); -localeStrings.push("morale");//185 -localeStrings.push("the hero found some money: "); -localeStrings.push("Intelligence"); -localeStrings.push("placeholder"); -localeStrings.push("Level"); -localeStrings.push("Attack");//190 -localeStrings.push("Defense"); -localeStrings.push("Manapoints"); -localeStrings.push("Spellpower"); -localeStrings.push("Experience"); -localeStrings.push("Current experience");//195 -localeStrings.push("Experience required for next level"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//170 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//175 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//180 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//185 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//190 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//195 +localeStrings.push("placeholder"); localeStrings.push("Alignment"); localeStrings.push("Lawful"); localeStrings.push("Neutral"); @@ -709,4 +709,34 @@ locObj.tabGoldHistoryCurrentLimit = {"txt": "Current gold limit is %arg1", "loc" locObj.tabGoldHistory = {"txt": "Gold history tab", "loc":"Label in Gold history tab"}; locObj.dayAcronym = {"txt": "D", "loc": "used for countdown in events"}; locObj.hourAcronym = {"txt": "H", "loc": "used for countdown in events"}; -locObj.minuteAcronym = {"txt": "M", "loc": "used for countdown in events"}; \ No newline at end of file +locObj.minuteAcronym = {"txt": "M", "loc": "used for countdown in events"}; +locObj.countDownBeforeEventStarts = {"txt": "This is the time amount before an event will start", "loc": "resource panel?"}; +locObj.countDownBeforeEventEnds = {"txt": "This is the time amount before the event will end", "loc": "resource panel?"}; +locObj.mapRegenerate = {"txt": "The sky above the city darkened to black, lightning bolts made such a sight, and suddenly all stopped", "loc": "after pressed generate new map button"}; +locObj.day = {"txt": "Día", "loc": "occurs in autobattles logs"}; +locObj.autocampaignWithdrawErr = {"txt": "Your hero needs to be in a autocampaign to do that!", "loc":"happens when failing to withdraw the hero from autocampaign"}; +locObj.autocampaignWithdrawDialogConfirm = {"txt": "Do you want to withdraw your hero?", "loc": "happens when you pressing withdraw button"}; +locObj.heroLost = {"txt":"the hero and all troops met their death in the glory combat", "loc": "happens when the hero is lost"}; +locObj.autocampaignHeroCrushedVastEnemyArmy = {"txt":"the hero has met great number of enemies and crash them. The battle brings to the hero money and experience!", "loc":"autocampaign journal with aggressive stance"}; +locObj.autocampaignHeroCrushedSmallEnemyArmy = {"txt": "the hero has met small number of enemies and crash them. The battle brings to the hero a bit of money and experience", "loc":"autocampaign journal with cautious stance"}; +locObj.autocampaignNoEvents = {"txt": "the day was very boring. Only one pagan was killed (a hunter took a pagan as a prey. so sad!)", "loc":"autocampaign log no events"}; +locObj.autocampaignLootList = {"txt": "looted trophies from the campaign: ", "loc":"autocampaign"}; +locObj.dialogDismissHeroConfirm = {"txt": "Do you want to dismiss hero with all troops?", "loc":"when dismiss hero button pressed"}; +locObj.dialogDismissHeroNoOption = {"txt": "Nope. I will move all units from the hero first", "loc":"when you declined"}; +locObj.dialogMapRegenerate = {"txt": "Do you want to generate a new map? It would cost %arg1 gold to you!", "loc": "map regenerate confirmation dialogue"}; +locObj.errMapRegenerateHeroOnMap = {"txt": "You couldn't do it while your hero on the map!", "loc": "happens if you try to make new map while your hero on an existing one"}; +locObj.tabInnWelcome = {"txt": "A sly innkeeper winks at you: Your gold, my food and stories, milord. Welcome to inn!", "loc":"label in Inn tab"}; +locObj.tabInnBtnHireHero = {"txt": "Hire hero
lvl %arg1
%arg2 gold", "loc": "tab Inn, button Hire Hero"}; +locObj.heroStatLuck = {"txt": "luck", "loc": "hero stat"}; +locObj.heroStatSuperstition = {"txt": "superstition", "loc": "hero stat"}; +locObj.heroStatMorale = {"txt": "morale", "loc": "hero stat"}; +locObj.heroFoundMoney = {"txt": "the hero found some money: %arg1", "loc": "when a chest found on Adventure Map"}; +locObj.heroStatInt = {"txt": "Intelligence", "loc": "hero stat"}; +locObj.heroStatLevel = {"txt": "Level", "loc": "hero stat"}; +locObj.heroStatAtk = {"txt": "Attack", "loc": "hero stat"}; +locObj.heroStatDef = {"txt": "Defense", "loc": "hero stat"}; +locObj.heroStatMP = {"txt": "Manapoints", "loc": "hero stat"}; +locObj.heroStatSpellpower = {"txt": "Spellpower", "loc": "hero stat"}; +locObj.heroExp = {"txt": "Experience", "loc": "hero stat"}; +locObj.heroCurrentExp = {"txt": "Current experience", "loc": "hero stat"}; +locObj.heroNextLvlExp = {"txt": "Experience required for next level", "loc": "hero stat"}; \ No newline at end of file diff --git a/langs/fr-FR.js b/langs/fr-FR.js index f4667ea..2bbd387 100644 --- a/langs/fr-FR.js +++ b/langs/fr-FR.js @@ -168,37 +168,37 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push(["plc","plc","plc"]);//165 -localeStrings.push("This is the time amount before an event will start"); -localeStrings.push("This is the time amount before the event will end"); -localeStrings.push("Le ciel au-dessus de la ville s'assombrit en noir, des éclairs firent un tel spectacle et tout s'arrêta brusquement."); -localeStrings.push("Jour "); -localeStrings.push("Votre héros doit être en autocampagne pour le faire!");//170 -localeStrings.push("Voulez-vous retirer votre héros?"); -localeStrings.push("e héros et toutes les troupes ont rencontré leur mort dans le combat de gloire"); -localeStrings.push("le héros a rencontré un grand nombre d'ennemis et les a écrasés. La bataille apporte au héros de l'argent et de l'expérience!"); -localeStrings.push("le héros a rencontré un petit nombre d'ennemis et les a écrasés. La bataille apporte au héros de l'argent et de l'expérience!"); -localeStrings.push("la journée était très ennuyeuse. Un seul païen a été tué (un chasseur a pris un païen comme proie. Si triste!)");//175 -localeStrings.push("Trophées pillés de la campagne: "); -localeStrings.push("Voulez-vous renvoyer le héros avec toutes les troupes?"); -localeStrings.push("Nan. Tout d'abord, je déplacerai toutes les unités du héros"); -localeStrings.push("Voulez-vous générer une nouvelle carte? Il vous en coûterait %arg1 pièces d'or!"); -localeStrings.push("Vous ne pouvez pas le faire tant que votre héros est sur la carte!");//180 -localeStrings.push("Bienvenue à l'auberge!"); -localeStrings.push("Embaucher un héros
de niveau %arg1
pour %arg2 pièces d'or"); -localeStrings.push("chance"); -localeStrings.push("superstition"); -localeStrings.push("morale"); // 185 -localeStrings.push("le héros a trouvé de l'or: "); -localeStrings.push("Intelligence"); -localeStrings.push("placeholder"); -localeStrings.push("Niveau"); -localeStrings.push("Attaque");//190 -localeStrings.push("Défense"); -localeStrings.push("Points magiques"); -localeStrings.push("Puissance des sorts"); -localeStrings.push("Expérience"); -localeStrings.push("Expérience actuelle");//195 -localeStrings.push("Expérience requise pour le nivueau suivant"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//170 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//175 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//180 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); // 185 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//190 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//195 +localeStrings.push("placeholder"); localeStrings.push("Alignement"); localeStrings.push("Légitime"); localeStrings.push("Neutre"); @@ -711,4 +711,34 @@ locObj.tabGoldHistoryCurrentLimit = {"txt": "La limite d'or actuelle est de %arg locObj.tabGoldHistory = {"txt": "Onglet Historique de l'or", "loc":"Label in Gold history tab"}; locObj.dayAcronym = {"txt": "J", "loc": "used for countdown in events"}; locObj.hourAcronym = {"txt": "H", "loc": "used for countdown in events"}; -locObj.minuteAcronym = {"txt": "M", "loc": "used for countdown in events"}; \ No newline at end of file +locObj.minuteAcronym = {"txt": "M", "loc": "used for countdown in events"}; +locObj.countDownBeforeEventStarts = {"txt": "This is the time amount before an event will start", "loc": "resource panel?"}; +locObj.countDownBeforeEventEnds = {"txt": "This is the time amount before the event will end", "loc": "resource panel?"}; +locObj.mapRegenerate = {"txt": "Le ciel au-dessus de la ville s'assombrit en noir, des éclairs firent un tel spectacle et tout s'arrêta brusquement", "loc": "after pressed generate new map button"}; +locObj.day = {"txt": "Jour", "loc": "occurs in autobattles logs"}; +locObj.autocampaignWithdrawErr = {"txt": "Votre héros doit être en autocampagne pour le faire!", "loc":"happens when failing to withdraw the hero from autocampaign"}; +locObj.autocampaignWithdrawDialogConfirm = {"txt": "Voulez-vous retirer votre héros?", "loc": "happens when you pressing withdraw button"}; +locObj.heroLost = {"txt":"e héros et toutes les troupes ont rencontré leur mort dans le combat de gloire", "loc": "happens when the hero is lost"}; +locObj.autocampaignHeroCrushedVastEnemyArmy = {"txt":"le héros a rencontré un grand nombre d'ennemis et les a écrasés. La bataille apporte au héros de l'argent et de l'expérience!", "loc":"autocampaign journal with aggressive stance"}; +locObj.autocampaignHeroCrushedSmallEnemyArmy = {"txt": "le héros a rencontré un petit nombre d'ennemis et les a écrasés. La bataille apporte au héros de l'argent et de l'expérience!", "loc":"autocampaign journal with cautious stance"}; +locObj.autocampaignNoEvents = {"txt": "la journée était très ennuyeuse. Un seul païen a été tué (un chasseur a pris un païen comme proie. Si triste!)", "loc":"autocampaign log no events"}; +locObj.autocampaignLootList = {"txt": "Trophées pillés de la campagne: ", "loc":"autocampaign"}; +locObj.dialogDismissHeroConfirm = {"txt": "Voulez-vous renvoyer le héros avec toutes les troupes?", "loc":"when dismiss hero button pressed"}; +locObj.dialogDismissHeroNoOption = {"txt": "Nan. Tout d'abord, je déplacerai toutes les unités du héros", "loc":"when you declined"}; +locObj.dialogMapRegenerate = {"txt": "Voulez-vous générer une nouvelle carte? Il vous en coûterait %arg1 pièces d'or!", "loc": "map regenerate confirmation dialogue"}; +locObj.errMapRegenerateHeroOnMap = {"txt": "Vous ne pouvez pas le faire tant que votre héros est sur la carte!", "loc": "happens if you try to make new map while your hero on an existing one"}; +locObj.tabInnWelcome = {"txt": "Bienvenue à l'auberge!", "loc":"label in Inn tab"}; +locObj.tabInnBtnHireHero = {"txt": "Embaucher un héros
de niveau %arg1
pour %arg2 pièces d'or", "loc": "tab Inn, button Hire Hero"}; +locObj.heroStatLuck = {"txt": "chance", "loc": "hero stat"}; +locObj.heroStatSuperstition = {"txt": "superstition", "loc": "hero stat"}; +locObj.heroStatMorale = {"txt": "morale", "loc": "hero stat"}; +locObj.heroFoundMoney = {"txt": "le héros a trouvé de l'or: %arg1", "loc": "when a chest found on Adventure Map"}; +locObj.heroStatInt = {"txt": "Intelligence", "loc": "hero stat"}; +locObj.heroStatLevel = {"txt": "Niveau", "loc": "hero stat"}; +locObj.heroStatAtk = {"txt": "Attaque", "loc": "hero stat"}; +locObj.heroStatDef = {"txt": "Défense", "loc": "hero stat"}; +locObj.heroStatMP = {"txt": "Points magiques", "loc": "hero stat"}; +locObj.heroStatSpellpower = {"txt": "Puissance des sorts", "loc": "hero stat"}; +locObj.heroExp = {"txt": "Expérience", "loc": "hero stat"}; +locObj.heroCurrentExp = {"txt": "Current experience", "loc": "hero stat"}; +locObj.heroNextLvlExp = {"txt": "Expérience requise pour le nivueau suivant", "loc": "hero stat"}; \ No newline at end of file diff --git a/langs/ru-RU.js b/langs/ru-RU.js index c2f0ca7..1dbf57b 100644 --- a/langs/ru-RU.js +++ b/langs/ru-RU.js @@ -168,37 +168,37 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push(["plch","plch","plch"]);//165 -localeStrings.push("Время до начала ближайшего тематического игрового мероприятия"); -localeStrings.push("Время до конца ближайшего тематического игрового мероприятия"); -localeStrings.push("Небо над городом потемнело, засверкали молнии, и внезапно всё прекратилось."); -localeStrings.push("День "); -localeStrings.push("Ваш герой должен быть в автокампании");//170 -localeStrings.push("Вы хотите отозвать героя?"); -localeStrings.push("герой и все его войска встретили свою смерть на поле брани."); -localeStrings.push("герой встретил превосходящего по численности врага и одолел его. Опыт и деньги стали наградой!"); -localeStrings.push("герой встретил малочисленного врага и одолел его. Опыт и деньги стали наградой!"); -localeStrings.push("день прошел скучно. Один язычник был убит (охотник принял его в лесу за дикого зверя. Бывает)");//175 -localeStrings.push("Добытые трофеи из похода: "); -localeStrings.push("Вы хотите уволить героя со всеми войсками?"); -localeStrings.push("Нет. Сперва надо забрать войска"); -localeStrings.push("Вы хотите создать карту заново? Это будет стоить %arg1 золота"); -localeStrings.push("Нельзя это сделать, пока герой на карте");//180 -localeStrings.push("Вы в Таверне"); -localeStrings.push("Нанять героя
уровень %arg1
%arg2 золота"); -localeStrings.push("удача"); -localeStrings.push("суеверность"); -localeStrings.push("мораль");//185 -localeStrings.push("герой нашел немного денег: "); -localeStrings.push("Интеллект"); -localeStrings.push("placeholder"); -localeStrings.push("Уровень"); -localeStrings.push("Атака");//190 -localeStrings.push("Защита"); -localeStrings.push("Мана"); -localeStrings.push("Сила магии"); -localeStrings.push("Опыт"); -localeStrings.push("Текущий опыт");//195 -localeStrings.push("Опыт, необходимый для следующего уровня"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//170 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//175 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//180 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//185 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//190 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//195 +localeStrings.push("placeholder"); localeStrings.push("Характер"); localeStrings.push("Добропорядочный"); localeStrings.push("Нейтральный"); @@ -715,4 +715,34 @@ locObj.tabGoldHistoryCurrentLimit = {"txt": "Текущий лимит золо locObj.tabGoldHistory = {"txt": "Данные о казне по периодам", "loc":"Label in Gold history tab"}; locObj.dayAcronym = {"txt": "Д", "loc": "used for countdown in events"}; locObj.hourAcronym = {"txt": "Ч", "loc": "used for countdown in events"}; -locObj.minuteAcronym = {"txt": "М", "loc": "used for countdown in events"}; \ No newline at end of file +locObj.minuteAcronym = {"txt": "М", "loc": "used for countdown in events"}; +locObj.countDownBeforeEventStarts = {"txt": "Время до начала ближайшего тематического игрового мероприятия", "loc": "resource panel?"}; +locObj.countDownBeforeEventEnds = {"txt": "Время до конца ближайшего тематического игрового мероприятия", "loc": "resource panel?"}; +locObj.mapRegenerate = {"txt": "Небо над городом потемнело, засверкали молнии, и внезапно всё прекратилось", "loc": "after pressed generate new map button"}; +locObj.day = {"txt": "День", "loc": "occurs in autobattles logs"}; +locObj.autocampaignWithdrawErr = {"txt": "Команда доступна только если герой находится в автокампании!", "loc":"happens when failing to withdraw the hero from autocampaign"}; +locObj.autocampaignWithdrawDialogConfirm = {"txt": "Вы хотите отозвать героя?", "loc": "happens when you pressing withdraw button"}; +locObj.heroLost = {"txt":"герой и все его войска встретили свою смерть на поле брани", "loc": "happens when the hero is lost"}; +locObj.autocampaignHeroCrushedVastEnemyArmy = {"txt":"герой встретил превосходящего по численности врага и одолел его. Опыт и деньги стали наградой!", "loc":"autocampaign journal with aggressive stance"}; +locObj.autocampaignHeroCrushedSmallEnemyArmy = {"txt": "герой встретил малочисленного врага и одолел его. Опыт и деньги стали наградой!", "loc":"autocampaign journal with cautious stance"}; +locObj.autocampaignNoEvents = {"txt": "день прошел скучно. Один язычник был убит (охотник принял его в лесу за дикого зверя. Бывает)", "loc":"autocampaign log no events"}; +locObj.autocampaignLootList = {"txt": "Добытые трофеи из похода: ", "loc":"autocampaign"}; +locObj.dialogDismissHeroConfirm = {"txt": "Вы хотите уволить героя со всеми войсками?", "loc":"when dismiss hero button pressed"}; +locObj.dialogDismissHeroNoOption = {"txt": "Нет. Сперва надо забрать войска", "loc":"when you declined"}; +locObj.dialogMapRegenerate = {"txt": "Вы хотите создать карту заново? Это будет стоить %arg1 золота", "loc": "map regenerate confirmation dialogue"}; +locObj.errMapRegenerateHeroOnMap = {"txt": "Нельзя это сделать, пока герой на карте", "loc": "happens if you try to make new map while your hero on an existing one"}; +locObj.tabInnWelcome = {"txt": "Вы в Таверне", "loc":"label in Inn tab"}; +locObj.tabInnBtnHireHero = {"txt": "Нанять героя
уровень %arg1
%arg2 золота", "loc": "tab Inn, button Hire Hero"}; +locObj.heroStatLuck = {"txt": "удача", "loc": "hero stat"}; +locObj.heroStatSuperstition = {"txt": "суеверность", "loc": "hero stat"}; +locObj.heroStatMorale = {"txt": "мораль", "loc": "hero stat"}; +locObj.heroFoundMoney = {"txt": "герой нашел немного денег: %arg1", "loc": "when a chest found on Adventure Map"}; +locObj.heroStatInt = {"txt": "Интеллект", "loc": "hero stat"}; +locObj.heroStatLevel = {"txt": "Уровень", "loc": "hero stat"}; +locObj.heroStatAtk = {"txt": "Атака", "loc": "hero stat"}; +locObj.heroStatDef = {"txt": "Защита", "loc": "hero stat"}; +locObj.heroStatMP = {"txt": "Мана", "loc": "hero stat"}; +locObj.heroStatSpellpower = {"txt": "Сила магии", "loc": "hero stat"}; +locObj.heroExp = {"txt": "Опыт", "loc": "hero stat"}; +locObj.heroCurrentExp = {"txt": "Текущий опыт", "loc": "hero stat"}; +locObj.heroNextLvlExp = {"txt": "Опыт, необходимый для следующего уровня", "loc": "hero stat"}; \ No newline at end of file From d6ef60e05086db0eaf7167db7171d06e4969778f Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Mon, 6 Mar 2023 22:51:58 +0200 Subject: [PATCH 13/86] fix stats issue in Night mode thus fix #773 --- css/game.css | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/css/game.css b/css/game.css index 0e01e1d..59d14ef 100644 --- a/css/game.css +++ b/css/game.css @@ -414,6 +414,14 @@ body { overflow-y: auto; } +.dynamicCellsNight { + color: #c1c1c1; +} + +.dynamicCellsDay { + color: #000000; +} + #lblGoodsForSale, #lblGoodsForBuying { margin-bottom: 12px; From c56430a4097909719d91ce201337bdcd29ef7d2b Mon Sep 17 00:00:00 2001 From: aablatov Date: Tue, 7 Mar 2023 19:05:12 +0300 Subject: [PATCH 14/86] Fixed layouts for displaying buttons and text when selecting a hero --- index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index d04867f..83a4607 100644 --- a/index.html +++ b/index.html @@ -458,13 +458,13 @@

Welcome to Inn!

- -
+ +
@@ -480,7 +480,7 @@

Welcome to Inn!

- +
From 9e2e19011f70555cd6b9171988d78093fc302484 Mon Sep 17 00:00:00 2001 From: aablatov Date: Wed, 8 Mar 2023 02:05:28 +0300 Subject: [PATCH 15/86] tests/cypress-03. Verification of authorization and loading of the save --- .github/workflows/cypress_SP.yml | 22 + .../E2E/cypress/e2e/buttonSettings.cy.js | 4 +- .../smoke_prod/cypress.config.js | 9 + .../cypress/e2e/checkSaveGame.cy.js | 66 + .../smoke_prod/cypress/fixtures/example.json | 5 + .../smoke_prod/cypress/support/commands.js | 25 + .../smoke_prod/cypress/support/e2e.js | 20 + .../smoke_prod/package-lock.json | 3999 +++++++++++++++++ tests/tests_cypress/smoke_prod/package.json | 15 + 9 files changed, 4163 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/cypress_SP.yml create mode 100644 tests/tests_cypress/smoke_prod/cypress.config.js create mode 100644 tests/tests_cypress/smoke_prod/cypress/e2e/checkSaveGame.cy.js create mode 100644 tests/tests_cypress/smoke_prod/cypress/fixtures/example.json create mode 100644 tests/tests_cypress/smoke_prod/cypress/support/commands.js create mode 100644 tests/tests_cypress/smoke_prod/cypress/support/e2e.js create mode 100644 tests/tests_cypress/smoke_prod/package-lock.json create mode 100644 tests/tests_cypress/smoke_prod/package.json diff --git a/.github/workflows/cypress_SP.yml b/.github/workflows/cypress_SP.yml new file mode 100644 index 0000000..6e79136 --- /dev/null +++ b/.github/workflows/cypress_SP.yml @@ -0,0 +1,22 @@ +name: "E2E tests" + +on: + pull_request: + push: + workflow_call: + workflow_dispatch: + +jobs: + smoke_job: + name: Cypress E2E tests + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: cypress run + uses: cypress-io/github-action@v5 + with: + working-directory: tests/tests_cypress/smoke_prod + start: npm run start diff --git a/tests/tests_cypress/E2E/cypress/e2e/buttonSettings.cy.js b/tests/tests_cypress/E2E/cypress/e2e/buttonSettings.cy.js index b4e2d74..101e032 100644 --- a/tests/tests_cypress/E2E/cypress/e2e/buttonSettings.cy.js +++ b/tests/tests_cypress/E2E/cypress/e2e/buttonSettings.cy.js @@ -58,9 +58,9 @@ describe('Settings', () => { cy.get('#login').should('have.attr', 'type', 'text'); cy.get('#password').should('have.attr', 'type', 'password'); cy.get('#email').should('have.attr', 'type', 'text'); - cy.get('#btnRegLogin').should('have.attr', 'onclick', 'remoteRegLogin()'); //cy.get('.connectors-list > li').should(($lis) => { + cy.get('#btnRegLogin').should('have.attr', 'onclick', 'remoteRegLogin()'); - cy.get('#selectLng').should('have.attr', 'onchange', 'reloadLang()'); + cy.get('#selectLng').should('have.attr', 'onchange', 'reloadLang()');//cy.get('.connectors-list > li').should(($lis) => { cy.get('#labelAutosave'); cy.get('#autosaveImg').should('have.attr', 'onclick', 'changeAutosave()'); cy.get('#buttonExportGame').should('have.attr', 'onclick', 'exportGame()'); diff --git a/tests/tests_cypress/smoke_prod/cypress.config.js b/tests/tests_cypress/smoke_prod/cypress.config.js new file mode 100644 index 0000000..ec60df2 --- /dev/null +++ b/tests/tests_cypress/smoke_prod/cypress.config.js @@ -0,0 +1,9 @@ + +export default ({ + e2e: { + baseUrl: 'https://1255.areso.pro/', + setupNodeEvents(on, config) { + // implement node event listeners here + }, + }, +}); diff --git a/tests/tests_cypress/smoke_prod/cypress/e2e/checkSaveGame.cy.js b/tests/tests_cypress/smoke_prod/cypress/e2e/checkSaveGame.cy.js new file mode 100644 index 0000000..f9e4d00 --- /dev/null +++ b/tests/tests_cypress/smoke_prod/cypress/e2e/checkSaveGame.cy.js @@ -0,0 +1,66 @@ +describe('Verification of authorization and loading of the save', () => { + + it('Verification of authorization and loading of the save', () => { + cy.visit('/'); + + Cypress.on('uncaught:exception', (err, runnable) => { + return false; + }); + + //close windows canvas + cy.window().then((win) => { + win.eval('document.getElementById("myDCanvas").classList.remove("active-modal")'); + }); + + cy.get('#tabSettings').click(); + cy.get('#selectLng').select('English'); + cy.get('#btnLogin').click(); + cy.get('#login').type('tester16'); + cy.get('#password').type('tester16'); + cy.get('#btnRegLogin').click(); + cy.get('#buttonLoadFromCloud', { timeout: 15000 }).click(); + + // Check + cy.get('#autosaveImg').should('have.attr', 'src', 'resources/button_green.png'); + cy.get('#panelGoldValue').should("have.text", 24180); + cy.get('#panelPopValue').should("have.text", 648); + cy.get('#gems').should("have.text", 10); + cy.get('#spnServerStatusValue').should("have.text", "Up"); + + cy.window().its('game.year').should('equal', 1308); + cy.window().its('game.season').should('equal', 3); + cy.window().its('game.food').should('equal', 20); + cy.window().its('game.treasuryGuard').should('equal', 20); + cy.window().its('game.happiness').should('equal', 80); + cy.window().its('game.fire').should('equal', 0); + cy.window().its('game.fireSteps').should('equal', 0); + cy.window().its('game.fireGuard').should('equal', 0); + cy.window().its('game.hero').should('equal', 0); + + // checking available buildings + cy.get('#btnOpenTabBuilding').click(); + + cy.get('#homes').should('have.text', 'Build Homelvl 17131072 gold'); + // bugs + // cy.get('#defence').should('have.class', 'Build Walllvl 3125000 gold'); + cy.get('#treasury').should('have.text', 'Build Treasurylvl 1381920000000000000 gold'); + cy.get('#buttonBldGallows').should('have.text', 'Build Gallowslvl 150 gold'); + cy.get('#buttonBldFountain').should('have.text', 'Build Fountainlvl 3125000 gold'); + cy.get('#buttonBldStash').should('have.text', 'Build Stashlvl 3125000 gold'); + cy.get('#buttonBldStable').should('have.text', 'Build Stablelvl 3125000 gold'); + cy.get('#buttonBldArchery').should('have.text', 'Build Archery rangelvl 3125000 gold'); + cy.get('#buttonBldInn').should('have.text', 'Build Innlvl 4160000 gold'); + cy.get('#buttonBuildUniversity').should('have.text', 'Build university200 gold'); + + cy.get('#chat_btn').click(); + cy.get('#log_btn').click(); + + cy.get('#log').within(() => { + cy.contains('Hello player in this incremental game!'); + cy.contains('Your task is simple - manage the city as mayor of the city!'); + cy.contains('Citizen will pay taxes each season (30 secs) and population will grow each season'); + cy.contains('login successfull'); + cy.contains('game loaded successfully'); + }); + }); +}) \ No newline at end of file diff --git a/tests/tests_cypress/smoke_prod/cypress/fixtures/example.json b/tests/tests_cypress/smoke_prod/cypress/fixtures/example.json new file mode 100644 index 0000000..02e4254 --- /dev/null +++ b/tests/tests_cypress/smoke_prod/cypress/fixtures/example.json @@ -0,0 +1,5 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io", + "body": "Fixtures are a great way to mock data for responses to routes" +} diff --git a/tests/tests_cypress/smoke_prod/cypress/support/commands.js b/tests/tests_cypress/smoke_prod/cypress/support/commands.js new file mode 100644 index 0000000..66ea16e --- /dev/null +++ b/tests/tests_cypress/smoke_prod/cypress/support/commands.js @@ -0,0 +1,25 @@ +// *********************************************** +// This example commands.js shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** +// +// +// -- This is a parent command -- +// Cypress.Commands.add('login', (email, password) => { ... }) +// +// +// -- This is a child command -- +// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This will overwrite an existing command -- +// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) \ No newline at end of file diff --git a/tests/tests_cypress/smoke_prod/cypress/support/e2e.js b/tests/tests_cypress/smoke_prod/cypress/support/e2e.js new file mode 100644 index 0000000..0e7290a --- /dev/null +++ b/tests/tests_cypress/smoke_prod/cypress/support/e2e.js @@ -0,0 +1,20 @@ +// *********************************************************** +// This example support/e2e.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands' + +// Alternatively you can use CommonJS syntax: +// require('./commands') \ No newline at end of file diff --git a/tests/tests_cypress/smoke_prod/package-lock.json b/tests/tests_cypress/smoke_prod/package-lock.json new file mode 100644 index 0000000..27b602d --- /dev/null +++ b/tests/tests_cypress/smoke_prod/package-lock.json @@ -0,0 +1,3999 @@ +{ + "name": "tests", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "devDependencies": { + "cypress": "12.6.0", + "cypress-html-validate": "^5.1.2", + "html-validate": "^7.13.2" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@cypress/request": { + "version": "2.88.11", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.11.tgz", + "integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "http-signature": "~1.3.6", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "~6.10.3", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dev": true, + "dependencies": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + } + }, + "node_modules/@cypress/xvfb/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@html-validate/stylish": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@html-validate/stylish/-/stylish-3.0.1.tgz", + "integrity": "sha512-jQNDrSnWvJEPSlqC1tFqcbmVuJy2x61UwqFsXHxYT2sgCXFW4AVhsoIcHkECCmUHtQ8hpHU6yOBGA+rMLZhS7A==", + "dev": true, + "dependencies": { + "kleur": "^4.0.0" + }, + "engines": { + "node": ">= 14.0" + } + }, + "node_modules/@sidvind/better-ajv-errors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@sidvind/better-ajv-errors/-/better-ajv-errors-2.1.0.tgz", + "integrity": "sha512-JuIb009FhHuL9priFBho2kv7QmZOydj0LgYvj+h1t0mMCmhM/YmQNRlJR5wVtBZya6wrVFK5Hi5TIbv5BKEx7w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.0", + "chalk": "^4.1.0" + }, + "engines": { + "node": ">= 14.0.0" + }, + "peerDependencies": { + "ajv": "4.11.8 - 8" + } + }, + "node_modules/@types/node": { + "version": "14.18.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz", + "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", + "dev": true + }, + "node_modules/@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", + "dev": true + }, + "node_modules/@types/sizzle": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", + "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", + "dev": true + }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cypress": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.6.0.tgz", + "integrity": "sha512-WdHSVaS1lumSd5XpVTslZd8ui9GIGphrzvXq9+3DtVhqjRZC5M70gu5SW/Y/SLPq3D1wiXGZoHC6HJ7ESVE2lw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@cypress/request": "^2.88.10", + "@cypress/xvfb": "^1.2.4", + "@types/node": "^14.14.31", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.6.0", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^5.1.0", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.4", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "getos": "^3.2.1", + "is-ci": "^3.0.0", + "is-installed-globally": "~0.4.0", + "lazy-ass": "^1.6.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.6", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "semver": "^7.3.2", + "supports-color": "^8.1.1", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + }, + "bin": { + "cypress": "bin/cypress" + }, + "engines": { + "node": "^14.0.0 || ^16.0.0 || >=18.0.0" + } + }, + "node_modules/cypress-html-validate": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/cypress-html-validate/-/cypress-html-validate-5.1.2.tgz", + "integrity": "sha512-e8xL6YvnwRwN/1ey0aTQRbsE50rmUtT7WXPnr7ZjAUhTm/kRMKBzxmCZRqiGhy5Q4lOLOHlOkGFg2wCObvENcQ==", + "dev": true, + "engines": { + "node": ">= 14.19" + }, + "peerDependencies": { + "cypress": "^7.0.1 || ^8 || ^9 || ^10 || ^11.0.1 || ^12", + "html-validate": "^2.17 || ^3 || ^4 || ^5 || ^6 || ^7" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deepmerge": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz", + "integrity": "sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/espree": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "dev": true, + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", + "dev": true + }, + "node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "dependencies": { + "pify": "^2.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dev": true, + "dependencies": { + "async": "^3.2.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/html-validate": { + "version": "7.13.2", + "resolved": "https://registry.npmjs.org/html-validate/-/html-validate-7.13.2.tgz", + "integrity": "sha512-ZUinzQ/a9zC0vP3uoCAKhHWogkCCK8KXcl5gMd+d8esuCl+p5d8P4zL/qSuvhc+zJ3qiIFyDaZ/wyUE1A78vNA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.0", + "@html-validate/stylish": "^3.0.0", + "@sidvind/better-ajv-errors": "^2.0.0", + "acorn-walk": "^8.0.0", + "ajv": "^8.0.0", + "deepmerge": "^4.2.0", + "espree": "^9.0.0", + "glob": "^8.0.0", + "ignore": "^5.0.0", + "kleur": "^4.1.0", + "minimist": "^1.2.0", + "prompts": "^2.0.0", + "semver": "^7.0.0" + }, + "bin": { + "html-validate": "bin/html-validate.js" + }, + "engines": { + "node": ">= 14.0" + }, + "peerDependencies": { + "jest": "^25.1 || ^26 || ^27.1 || ^28.1.3 || ^29.0.3", + "jest-diff": "^25.1 || ^26 || ^27.1 || ^28.1.3 || ^29.0.3", + "jest-snapshot": "^25.1 || ^26 || ^27.1 || ^28.1.3 || ^29.0.3" + }, + "peerDependenciesMeta": { + "jest": { + "optional": true + }, + "jest-diff": { + "optional": true + }, + "jest-snapshot": { + "optional": true + } + } + }, + "node_modules/html-validate/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true, + "engines": { + "node": "> 0.8" + } + }, + "node_modules/listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", + "dev": true + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", + "dev": true + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dev": true, + "dependencies": { + "throttleit": "^1.0.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rxjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "optional": true + }, + "@cypress/request": { + "version": "2.88.11", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.11.tgz", + "integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "http-signature": "~1.3.6", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "~6.10.3", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + } + }, + "@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@html-validate/stylish": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@html-validate/stylish/-/stylish-3.0.1.tgz", + "integrity": "sha512-jQNDrSnWvJEPSlqC1tFqcbmVuJy2x61UwqFsXHxYT2sgCXFW4AVhsoIcHkECCmUHtQ8hpHU6yOBGA+rMLZhS7A==", + "dev": true, + "requires": { + "kleur": "^4.0.0" + } + }, + "@sidvind/better-ajv-errors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@sidvind/better-ajv-errors/-/better-ajv-errors-2.1.0.tgz", + "integrity": "sha512-JuIb009FhHuL9priFBho2kv7QmZOydj0LgYvj+h1t0mMCmhM/YmQNRlJR5wVtBZya6wrVFK5Hi5TIbv5BKEx7w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.0", + "chalk": "^4.1.0" + } + }, + "@types/node": { + "version": "14.18.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz", + "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", + "dev": true + }, + "@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", + "dev": true + }, + "@types/sizzle": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", + "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", + "dev": true + }, + "@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true + }, + "aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true + }, + "cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "dev": true + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true + }, + "ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dev": true, + "requires": { + "@colors/colors": "1.5.0", + "string-width": "^4.2.0" + } + }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true + }, + "common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "cypress": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.6.0.tgz", + "integrity": "sha512-WdHSVaS1lumSd5XpVTslZd8ui9GIGphrzvXq9+3DtVhqjRZC5M70gu5SW/Y/SLPq3D1wiXGZoHC6HJ7ESVE2lw==", + "dev": true, + "requires": { + "@cypress/request": "^2.88.10", + "@cypress/xvfb": "^1.2.4", + "@types/node": "^14.14.31", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.6.0", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^5.1.0", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.4", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "getos": "^3.2.1", + "is-ci": "^3.0.0", + "is-installed-globally": "~0.4.0", + "lazy-ass": "^1.6.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.6", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "semver": "^7.3.2", + "supports-color": "^8.1.1", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + } + }, + "cypress-html-validate": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/cypress-html-validate/-/cypress-html-validate-5.1.2.tgz", + "integrity": "sha512-e8xL6YvnwRwN/1ey0aTQRbsE50rmUtT7WXPnr7ZjAUhTm/kRMKBzxmCZRqiGhy5Q4lOLOHlOkGFg2wCObvENcQ==", + "dev": true, + "requires": {} + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deepmerge": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz", + "integrity": "sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true + }, + "espree": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + } + }, + "eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", + "dev": true + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "requires": { + "pify": "^2.2.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dev": true, + "requires": { + "async": "^3.2.0" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "requires": { + "ini": "2.0.0" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "html-validate": { + "version": "7.13.2", + "resolved": "https://registry.npmjs.org/html-validate/-/html-validate-7.13.2.tgz", + "integrity": "sha512-ZUinzQ/a9zC0vP3uoCAKhHWogkCCK8KXcl5gMd+d8esuCl+p5d8P4zL/qSuvhc+zJ3qiIFyDaZ/wyUE1A78vNA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.0", + "@html-validate/stylish": "^3.0.0", + "@sidvind/better-ajv-errors": "^2.0.0", + "acorn-walk": "^8.0.0", + "ajv": "^8.0.0", + "deepmerge": "^4.2.0", + "espree": "^9.0.0", + "glob": "^8.0.0", + "ignore": "^5.0.0", + "kleur": "^4.1.0", + "minimist": "^1.2.0", + "prompts": "^2.0.0", + "semver": "^7.0.0" + }, + "dependencies": { + "glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + } + } + }, + "http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true + }, + "is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dev": true, + "requires": { + "ci-info": "^3.2.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "requires": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + } + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true + }, + "lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true + }, + "listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "requires": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, + "log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", + "dev": true + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "dependencies": { + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + } + } + }, + "proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", + "dev": true + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "qs": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dev": true, + "requires": { + "throttleit": "^1.0.0" + } + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rxjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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 + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + } +} \ No newline at end of file diff --git a/tests/tests_cypress/smoke_prod/package.json b/tests/tests_cypress/smoke_prod/package.json new file mode 100644 index 0000000..9f6b14d --- /dev/null +++ b/tests/tests_cypress/smoke_prod/package.json @@ -0,0 +1,15 @@ +{ + "devDependencies": { + "cypress": "12.6.0" + }, + "type": "module", + "scripts": { + "start": "npx cypress open", + "test:integration": "docker-compose --file docker-compose.cypress.yml up --exit-code-from cypress --build cypress", + "clean:reports": "rm -rf cypress/reports/", + "test": "npm run clean:reports && cypress run", + "merge:reports": "mochawesome-merge cypress/reports/*.json > cypress-tests-report.json", + "create:html:report": "marge --reportDir tests cypress-tests-report.json", + "generate:html:report": "npm run merge:reports && npm run create:html:report" + } + } \ No newline at end of file From 8d5c6d9a95fe3f9b27dc7f3f164bd07e4344bd71 Mon Sep 17 00:00:00 2001 From: aablatov Date: Wed, 8 Mar 2023 02:10:25 +0300 Subject: [PATCH 16/86] tests/cypress-03. rename yml --- .github/workflows/cypress_SP.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cypress_SP.yml b/.github/workflows/cypress_SP.yml index 6e79136..87b59e2 100644 --- a/.github/workflows/cypress_SP.yml +++ b/.github/workflows/cypress_SP.yml @@ -1,4 +1,4 @@ -name: "E2E tests" +name: "PROD Check save Game" on: pull_request: @@ -8,7 +8,7 @@ on: jobs: smoke_job: - name: Cypress E2E tests + name: Cypress PROD Check save Game runs-on: ubuntu-latest steps: From eb3986fc9f5288cd7de0544e615dfb0d808b79d3 Mon Sep 17 00:00:00 2001 From: aablatov Date: Thu, 9 Mar 2023 22:12:39 +0300 Subject: [PATCH 17/86] tests/Cypress-03. added verification of the login --- tests/tests_cypress/smoke_prod/cypress/e2e/checkSaveGame.cy.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/tests_cypress/smoke_prod/cypress/e2e/checkSaveGame.cy.js b/tests/tests_cypress/smoke_prod/cypress/e2e/checkSaveGame.cy.js index f9e4d00..983702b 100644 --- a/tests/tests_cypress/smoke_prod/cypress/e2e/checkSaveGame.cy.js +++ b/tests/tests_cypress/smoke_prod/cypress/e2e/checkSaveGame.cy.js @@ -18,7 +18,8 @@ describe('Verification of authorization and loading of the save', () => { cy.get('#login').type('tester16'); cy.get('#password').type('tester16'); cy.get('#btnRegLogin').click(); - cy.get('#buttonLoadFromCloud', { timeout: 15000 }).click(); + cy.get('#log').contains('login successfull'); + cy.get('#buttonLoadFromCloud', { timeout: 9000 }).click(); // Check cy.get('#autosaveImg').should('have.attr', 'src', 'resources/button_green.png'); From 3c0af1f8e93e89fd2f10808033fb560127ebe8b3 Mon Sep 17 00:00:00 2001 From: aablatov Date: Thu, 9 Mar 2023 23:35:48 +0300 Subject: [PATCH 18/86] tests/Cypress-03. Exceptions in the HTMLvalidate --- .htmlvalidate.json | 38 +++++++++++++------ .../cypress/e2e/validateHTML.cy.js | 37 ++++++++++++------ 2 files changed, 52 insertions(+), 23 deletions(-) diff --git a/.htmlvalidate.json b/.htmlvalidate.json index 9bb124d..e049c6a 100644 --- a/.htmlvalidate.json +++ b/.htmlvalidate.json @@ -1,18 +1,32 @@ { - "extends": ["html-validate:recommended"], + "extends": [ + "html-validate:recommended" + ], "rules": { - "require-sri": "warn", - "script-type": "warn", - "wcag/h30": "warn", - "wcag/h37": "warn", - "heading-level": "warn", - "element-permitted-content": "warn", - "input-missing-label": "warn", - "no-deprecated-attr": "warn", - "attribute-allowed-values": "warn", - "element-name": "warn" + "element-required-attributes": [ + "warn", + { + "exclude": [ + "html lang" + ] + } + ], + "require-sri": "warn", + "script-type": "warn", + "wcag/h30": "warn", + "wcag/h37": "warn", + "heading-level": "warn", + "element-permitted-content": "warn", + "input-missing-label": "warn", + "no-deprecated-attr": "warn", + "attribute-allowed-values": "warn", + "element-name": "warn", + "attribute-boolean-style": "warn", + "no-inline-style": "warn", + "valid-id": "warn", + "void-style": "warn" }, "elements": [ - "html5" + "html5" ] } \ No newline at end of file diff --git a/tests/tests_cypress/validateHTML/cypress/e2e/validateHTML.cy.js b/tests/tests_cypress/validateHTML/cypress/e2e/validateHTML.cy.js index 1b41b0e..719a9ec 100644 --- a/tests/tests_cypress/validateHTML/cypress/e2e/validateHTML.cy.js +++ b/tests/tests_cypress/validateHTML/cypress/e2e/validateHTML.cy.js @@ -1,4 +1,5 @@ import 'cypress-html-validate/commands'; +import { Attribute } from 'html-validate'; describe("validate", () => { @@ -13,18 +14,32 @@ describe("validate", () => { { extends: ["html-validate:recommended"], rules: { - 'require-sri': 'off', - 'script-type': 'off', - 'wcag/h30': 'off', - 'wcag/h37': 'off', - 'heading-level': 'off', - 'element-permitted-content': 'off', - 'input-missing-label': 'off', - 'no-deprecated-attr': 'off', - 'element-permitted-content': 'off', - 'attribute-allowed-values': 'off', - 'element-name': 'off' + "element-required-attributes": [ + "warn", + { + exclude: ['lang'], + }, + ], + 'require-sri': 'warn', + 'script-type': 'warn', + 'wcag/h30': 'warn', + 'wcag/h37': 'warn', + 'heading-level': 'warn', + 'element-permitted-content': 'warn', + 'input-missing-label': 'warn', + 'no-deprecated-attr': 'warn', + 'element-permitted-content': 'warn', + 'attribute-allowed-values': 'warn', + 'element-name': 'warn', + 'attribute-boolean-style':'warn', + 'no-inline-style':'warn', + 'valid-id':'warn', + 'void-style':'warn' + } + }, + { + exclude: ['lang'], } ); }); From 3d08c37c64a16ac02df201e2931a07e5d3f6aa45 Mon Sep 17 00:00:00 2001 From: aablatov Date: Sat, 11 Mar 2023 00:07:59 +0300 Subject: [PATCH 19/86] tests/Cypress-04. Verification the registration --- .../smoke_prod/cypress/e2e/checkRegGame.cy.js | 92 +++++++++++++++++++ .../cypress/e2e/checkSaveGame.cy.js | 43 ++++++--- 2 files changed, 124 insertions(+), 11 deletions(-) create mode 100644 tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js diff --git a/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js b/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js new file mode 100644 index 0000000..dc5945f --- /dev/null +++ b/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js @@ -0,0 +1,92 @@ +describe('Verification of authorization and loading of the save', () => { + + it('Verification of authorization and loading of the save', () => { + cy.visit('/'); + + Cypress.on('uncaught:exception', (err, runnable) => { + return false; + }); + + //close windows canvas + cy.window().then((win) => { + win.eval('document.getElementById("myDCanvas").classList.remove("active-modal")'); + }); + + cy.get('#tabSettings').click(); + cy.get('#selectLng').select('English'); + cy.get('#btnReg').click(); + cy.get('#login').type('Autotest' + Math.floor(Math.random() * 10000)); + cy.get('#password').type('Autotest'); + cy.get('#btnRegLogin').click(); + cy.get('#log').contains('registered successfully'); + + cy.get('#log').within(() => { + cy.contains('registered successfully'); + cy.contains("you got a 'registered user' badge and 10 ambers"); + cy.contains('please, make a log-in now!'); + }); + + cy.get('#buttonLoadFromCloud', { timeout: 9000 }).click(); + cy.get('#log').contains('error from server. Are you logged in? Is server up?'); + + // Check + cy.get('#autosaveImg').should('have.attr', 'src', 'resources/button_red.png'); + cy.get('#panelGoldValue').should("have.text", 30); + cy.get('#panelPopValue').should("have.text", 6); + cy.get('#gems').should("have.text", 10); + cy.get('#spnServerStatusValue').should("have.text", "Up"); + + cy.window().its('game.year').should('equal', 1255); + cy.window().its('game.season').should('equal', 2); + cy.window().its('game.food').should('equal', 20); + cy.window().its('game.treasuryGuard').should('equal', 0); + cy.window().its('game.happiness').should('equal', 80); + cy.window().its('game.fire').should('equal', 0); + cy.window().its('game.fireSteps').should('equal', 0); + cy.window().its('game.fireGuard').should('equal', 0); + cy.window().its('game.hero').should('equal', 0); + + // checking available buildings + cy.get('#btnOpenTabBuilding').click(); + + cy.get('#homes') + .should('have.text', 'Build Homelvl 12 gold') + .and('have.class', 'btn is-tutorial'); + cy.get('#defence') + .should('have.text', 'Build Walllvl 12 gold') + .and('have.class', 'btn is-tutorial'); + cy.get('#treasury') + .should('have.text', 'Build Treasurylvl 120 gold') + .and('have.class', 'btn is-tutorial'); + cy.get('#buttonBldGallows') + .should('have.text', 'Build Gallowslvl 150 gold') + .and('have.class', 'btn is-tutorial'); + cy.get('#buttonBldFountain') + .should('have.text', 'Build Fountainlvl 150 gold') + .and('have.class', 'btn is-tutorial'); + cy.get('#buttonBldStash') + .should('have.text', 'Build Stashlvl 150 gold') + .and('have.class', 'btn is-tutorial'); + cy.get('#buttonBldStable') + .should('have.text', 'Build Stablelvl 150 gold') + .and('have.class', 'btn is-tutorial'); + cy.get('#buttonBldArchery') + .should('have.text', 'Build Archery rangelvl 150 gold') + .and('have.class', 'btn is-tutorial'); + cy.get('#buttonBldInn') + .should('have.text', 'Build Innlvl 120 gold') + .and('have.class', 'btn is-tutorial'); + cy.get('#buttonBuildUniversity') + .should('have.text', 'Build university200 gold') + .and('have.class', 'btn is-tutorial'); + + cy.get('#chat_btn').click(); + cy.get('#log_btn').click(); + + cy.get('#log').within(() => { + cy.contains('Hello player in this incremental game!'); + cy.contains('Your task is simple - manage the city as mayor of the city!'); + cy.contains('Citizen will pay taxes each season (30 secs) and population will grow each season'); + }); + }); +}) \ No newline at end of file diff --git a/tests/tests_cypress/smoke_prod/cypress/e2e/checkSaveGame.cy.js b/tests/tests_cypress/smoke_prod/cypress/e2e/checkSaveGame.cy.js index 983702b..a3c1713 100644 --- a/tests/tests_cypress/smoke_prod/cypress/e2e/checkSaveGame.cy.js +++ b/tests/tests_cypress/smoke_prod/cypress/e2e/checkSaveGame.cy.js @@ -41,17 +41,38 @@ describe('Verification of authorization and loading of the save', () => { // checking available buildings cy.get('#btnOpenTabBuilding').click(); - cy.get('#homes').should('have.text', 'Build Homelvl 17131072 gold'); - // bugs - // cy.get('#defence').should('have.class', 'Build Walllvl 3125000 gold'); - cy.get('#treasury').should('have.text', 'Build Treasurylvl 1381920000000000000 gold'); - cy.get('#buttonBldGallows').should('have.text', 'Build Gallowslvl 150 gold'); - cy.get('#buttonBldFountain').should('have.text', 'Build Fountainlvl 3125000 gold'); - cy.get('#buttonBldStash').should('have.text', 'Build Stashlvl 3125000 gold'); - cy.get('#buttonBldStable').should('have.text', 'Build Stablelvl 3125000 gold'); - cy.get('#buttonBldArchery').should('have.text', 'Build Archery rangelvl 3125000 gold'); - cy.get('#buttonBldInn').should('have.text', 'Build Innlvl 4160000 gold'); - cy.get('#buttonBuildUniversity').should('have.text', 'Build university200 gold'); + cy.get('#homes') + .should('have.text', 'Build Homelvl 17131072 gold') + .and('have.class', 'btn'); + cy.get('#defence') + .should('have.text', 'Build Walllvl 12 gold') + .and('have.class', 'btn') + .and('not.be.visible'); + cy.get('#treasury') + .should('have.text', 'Build Treasurylvl 1381920000000000000 gold') + .and('have.class', 'btn'); + cy.get('#buttonBldGallows') + .should('have.text', 'Build Gallowslvl 150 gold') + .and('have.class', 'btn') + .and('not.be.visible'); //'not.be.visible' 'have.style','display:none' + cy.get('#buttonBldFountain') + .should('have.text', 'Build Fountainlvl 3125000 gold') + .and('have.class', 'btn'); + cy.get('#buttonBldStash') + .should('have.text', 'Build Stashlvl 3125000 gold') + .and('have.class', 'btn'); + cy.get('#buttonBldStable') + .should('have.text', 'Build Stablelvl 3125000 gold') + .and('have.class', 'btn'); + cy.get('#buttonBldArchery') + .should('have.text', 'Build Archery rangelvl 3125000 gold') + .and('have.class', 'btn'); + cy.get('#buttonBldInn') + .should('have.text', 'Build Innlvl 4160000 gold') + .and('have.class', 'btn'); + cy.get('#buttonBuildUniversity') + .should('have.text', 'Build university200 gold') + .and('have.class', 'btn'); cy.get('#chat_btn').click(); cy.get('#log_btn').click(); From ccc43f7bbeab8dfd2da54cf7037c5bdab37d5c5b Mon Sep 17 00:00:00 2001 From: aablatov Date: Sat, 11 Mar 2023 00:14:41 +0300 Subject: [PATCH 20/86] tests/Cypress-04 --- tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js b/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js index dc5945f..68a9134 100644 --- a/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js +++ b/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js @@ -1,6 +1,6 @@ -describe('Verification of authorization and loading of the save', () => { +describe('Checking the registration of a new user', () => { - it('Verification of authorization and loading of the save', () => { + it('Checking the registration of a new user', () => { cy.visit('/'); Cypress.on('uncaught:exception', (err, runnable) => { From 4051ae2790e42d027a4a52a5ed1aa01cd174161a Mon Sep 17 00:00:00 2001 From: aablatov Date: Sat, 11 Mar 2023 00:50:49 +0300 Subject: [PATCH 21/86] tests/Cypress-04. Add check authorization --- .../smoke_prod/cypress/e2e/checkRegGame.cy.js | 15 ++++++++++++++- .../smoke_prod/cypress/e2e/checkSaveGame.cy.js | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js b/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js index 68a9134..c2be4eb 100644 --- a/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js +++ b/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js @@ -11,11 +11,12 @@ describe('Checking the registration of a new user', () => { cy.window().then((win) => { win.eval('document.getElementById("myDCanvas").classList.remove("active-modal")'); }); + let userName = 'Autotest' + Math.floor(Math.random() * 10000); cy.get('#tabSettings').click(); cy.get('#selectLng').select('English'); cy.get('#btnReg').click(); - cy.get('#login').type('Autotest' + Math.floor(Math.random() * 10000)); + cy.get('#login').type(userName); cy.get('#password').type('Autotest'); cy.get('#btnRegLogin').click(); cy.get('#log').contains('registered successfully'); @@ -88,5 +89,17 @@ describe('Checking the registration of a new user', () => { cy.contains('Your task is simple - manage the city as mayor of the city!'); cy.contains('Citizen will pay taxes each season (30 secs) and population will grow each season'); }); + + cy.visit('/'); + cy.reload(true); + + cy.get('#tabSettings').click(); + cy.get('#selectLng').select('English'); + cy.get('#btnLogin').click(); + cy.get('#login').type(userName); + cy.get('#password').type('Autotest'); + cy.get('#btnRegLogin').click(); + cy.get('#log').contains('login successfull'); + }); }) \ No newline at end of file diff --git a/tests/tests_cypress/smoke_prod/cypress/e2e/checkSaveGame.cy.js b/tests/tests_cypress/smoke_prod/cypress/e2e/checkSaveGame.cy.js index a3c1713..97685da 100644 --- a/tests/tests_cypress/smoke_prod/cypress/e2e/checkSaveGame.cy.js +++ b/tests/tests_cypress/smoke_prod/cypress/e2e/checkSaveGame.cy.js @@ -54,7 +54,7 @@ describe('Verification of authorization and loading of the save', () => { cy.get('#buttonBldGallows') .should('have.text', 'Build Gallowslvl 150 gold') .and('have.class', 'btn') - .and('not.be.visible'); //'not.be.visible' 'have.style','display:none' + .and('not.be.visible'); cy.get('#buttonBldFountain') .should('have.text', 'Build Fountainlvl 3125000 gold') .and('have.class', 'btn'); From f6e8c21edb68bfda7f6ed4ebe0234946ed8be41d Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Sat, 11 Mar 2023 00:04:16 +0200 Subject: [PATCH 22/86] 220/378 done --- js/dom.js | 5 ++-- js/game.js | 25 ----------------- js/tab_inn.js | 44 ++++++++++++++++-------------- langs/de-DE.js | 70 +++++++++++++++++++++++++++++------------------ langs/en-US.js | 74 ++++++++++++++++++++++++++++++++------------------ langs/eo.js | 70 +++++++++++++++++++++++++++++------------------ langs/es-ES.js | 70 +++++++++++++++++++++++++++++------------------ langs/fr-FR.js | 70 +++++++++++++++++++++++++++++------------------ langs/ru-RU.js | 70 +++++++++++++++++++++++++++++------------------ 9 files changed, 294 insertions(+), 204 deletions(-) diff --git a/js/dom.js b/js/dom.js index c7efd30..749eb94 100644 --- a/js/dom.js +++ b/js/dom.js @@ -52,9 +52,8 @@ include('localisation.js',function(){ document.getElementById("lblUpkeepSrc").innerText = localeStrings[279]; document.getElementById("selectUpkeepSrc")[0].text = localeStrings[284]; document.getElementById("selectUpkeepSrc")[1].text = localeStrings[285]; - document.getElementById("btnDismissHero").innerText = localeStrings[217]; - //document.getElementById("btnAutocampaign").innerText = localeStrings[218]; - document.getElementById("btnAutocampaignJournal").innerText = localeStrings[220]; + document.getElementById("btnDismissHero").innerText = locObj.btnDismissHero.txt; + document.getElementById("btnAutocampaignJournal").innerText = locObj.btnAutocampaignOpenJournal.txt; document.getElementById("btnTowngate").innerText = localeStrings[221]; document.getElementById("btnLeaveCity").innerText = localeStrings[222]; document.getElementById("btnGenerateMap").innerText = localeStrings[223]; diff --git a/js/game.js b/js/game.js index 2bd6c55..49134b8 100644 --- a/js/game.js +++ b/js/game.js @@ -1449,31 +1449,6 @@ function gameOK() { heroExists: function () { return (Object.keys(game.myhero).length === 0 && game.myhero.constructor === Object) ? false : true; }, - heroAlignment(returnFormat) { - if (returnFormat==="text") { - var heroAlignment = ""; - if (game.myhero.lawful < 40) { - heroAlignment += localeStrings[200]; - } - if (game.myhero.lawful >= 40 && game.myhero.lawful <60) { - heroAlignment += localeStrings[199]; - } - if (game.myhero.lawful >= 60) { - heroAlignment += localeStrings[198]; - } - if (game.myhero.kindness < 40) { - heroAlignment += " "+localeStrings[203]; - } - if (game.myhero.kindness >= 40 && game.myhero.kindness <60) { - heroAlignment += " "+localeStrings[202]; - } - if (game.myhero.kindness >= 60) { - heroAlignment += " "+localeStrings[201]; - } - heroAlignment += " ("+game.myhero.lawful+"; "+game.myhero.kindness+")"; - } - return heroAlignment; - }, heroNextLvlExpLimit () { return Math.pow((game.myhero.level+1) * config.heroExpK,2); }, diff --git a/js/tab_inn.js b/js/tab_inn.js index dd2b8ea..041aab7 100644 --- a/js/tab_inn.js +++ b/js/tab_inn.js @@ -6,9 +6,8 @@ let curHeroPortraitId = []; function updateHeroStatusInn() { if ( game.heroExists()) { - var lblHeroClass = localeStrings[204][game.myhero.class]; - var lblAlignment = game.heroAlignment("text"); - var HTMLofHeroStats = localeStrings[205]+": "+lblHeroClass+" | "; + var lblHeroClass = locObj.heroClasses.txt[game.myhero.class]; + var HTMLofHeroStats = locObj.lblClass.txt+": "+lblHeroClass+" | "; var heroStatusNeedsUpdate = true; document.getElementById("btnDismissHero").style.visibility = "visible"; document.getElementById("btnAutocampaign").style.visibility = "visible"; @@ -43,13 +42,14 @@ function updateHeroStatusInn() { game.myhero.knights = 0; } - var heroActivity = localeStrings[206]; + var heroActivity = locObj.lblHeroLocation.txt; if (game.myhero.status===0){ - var rnd = Math.floor(Math.random() * localeStrings[210].length); - heroActivity += localeStrings[210][rnd]+localeStrings[207]; + let rnd = Math.floor(Math.random() * locObj.heroActivitiesInTown.txt.length); + heroActivity = heroActivity.replace("%arg1", locObj.heroActivitiesInTown.txt[rnd]); + heroActivity = heroActivity.replace("%arg2", locObj.heroInTown.txt); heroStatusNeedsUpdate = false; - document.getElementById("btnAutocampaign").innerText=localeStrings[218]; + document.getElementById("btnAutocampaign").innerText=locObj.btnAutocampaignSendHero.txt; document.getElementById("btnAutocampaign").style.visibility="visible"; document.getElementById("btnAutocampaign").disabled = false; document.getElementById("btnAutocampaign").style.visibility="visible"; @@ -59,22 +59,27 @@ function updateHeroStatusInn() { document.getElementById("grid-hero").style.display="block"; } if (game.myhero.status===1){ - var rnd = Math.floor(Math.random() * localeStrings[211].length); - while (rnd === 0) { - rnd = Math.floor(Math.random() * localeStrings[211].length); + let rnd = Math.floor(Math.random() * locObj.heroActivitiesInAutocampaign.txt.length); + //if hero is not marching back + if (game.myhero.aCampaignBackward !== 1){ + //then rnd===0 ("marching back") is not available. Rolling dices again! + while (rnd === 0) { + rnd = Math.floor(Math.random() * locObj.heroActivitiesInAutocampaign.txt.length); + } } - heroActivity += localeStrings[211][rnd]+localeStrings[208]; + heroActivity = heroActivity.replace("%arg1", locObj.heroActivitiesInAutocampaign.txt[rnd]); + heroActivity = heroActivity.replace("%arg2", locObj.heroInAutocampaign.txt); heroStatusNeedsUpdate = false; - document.getElementById("btnAutocampaign").innerText=localeStrings[219]; + document.getElementById("btnAutocampaign").innerText=locObj.btnAutocampaignWithdrawHero.txt; document.getElementById("btnAutocampaign").style.visibility="visible"; document.getElementById("btnAutocampaignJournal").style.visibility="visible"; document.getElementById("btnLeaveCity").style.visibility="hidden"; document.getElementById("btnTowngate").style.visibility="visible" } if (game.myhero.status===2){ - var rnd = Math.floor(Math.random() * localeStrings[212].length); - // console.log('[updateHeroStatusInn::STATUS::2]: manual campaign, activity is: ' + rnd); - heroActivity += localeStrings[212][rnd]+localeStrings[209]; + var rnd = Math.floor(Math.random() * locObj.heroActivitiesOnAdventureMap.txt.length); + heroActivity = heroActivity.replace("%arg1", locObj.heroActivitiesOnAdventureMap.txt[rnd]); + heroActivity = heroActivity.replace("%arg2", locObj.heroOnAdventureMap.txt); heroStatusNeedsUpdate = false; document.getElementById("btnAutocampaign").style.visibility="hidden"; document.getElementById("btnAutocampaignJournal").style.visibility="hidden"; @@ -85,7 +90,6 @@ function updateHeroStatusInn() { game.myhero.status = 0; } HTMLofHeroStats += locObj.heroStatLevel.txt+": "+game.myhero.level+"
"; - //HTMLofHeroStats += localeStrings[197]+": "+lblAlignment+"
"; HTMLofHeroStats += locObj.heroCurrentExp.txt +": "+game.myhero.exp+" | "; HTMLofHeroStats += locObj.heroNextLvlExp.txt +": "+game.heroNextLvlExpLimit()+"
"; HTMLofHeroStats += locObj.heroStatAtk.txt +": "+game.myhero.atk+" | "; @@ -95,13 +99,13 @@ function updateHeroStatusInn() { HTMLofHeroStats += locObj.heroStatSpellpower.txt +": "+game.myhero.mpow+"
"; HTMLofHeroStats += heroActivity+"
"; if (game.myhero.status===1) { - HTMLofHeroStats += localeStrings[213]+": "+game.myhero.aCampaignLong+"
"; + HTMLofHeroStats += locObj.lblDistanceFromTown.txt+": "+game.myhero.aCampaignLong+"
"; if (game.myhero.aCampaignForward === 1) { - HTMLofHeroStats += localeStrings[254] + localeStrings[214] + "
"; + HTMLofHeroStats += locObj.lblDirection.txt + locObj.directionFromTown.txt + "
"; } else { - HTMLofHeroStats += localeStrings[254] + localeStrings[215] + "
"; + HTMLofHeroStats += locObj.lblDirection.txt + locObj.directionToTown.txt + "
"; } - HTMLofHeroStats += localeStrings[216]+": "+game.myhero.gold+"
"; + HTMLofHeroStats += locObj.goldInHerosPurse.txt+": "+game.myhero.gold+"
"; } var heroStatsElem = document.getElementById("heroStats"); heroStatsElem.innerHTML = HTMLofHeroStats; diff --git a/langs/de-DE.js b/langs/de-DE.js index 37a9230..c6172fa 100644 --- a/langs/de-DE.js +++ b/langs/de-DE.js @@ -199,30 +199,30 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//195 localeStrings.push("placeholder"); -localeStrings.push("Alignment"); -localeStrings.push("Rechtmäßig"); -localeStrings.push("Neutral"); -localeStrings.push("Chaotisch");//200 -localeStrings.push("Gut"); -localeStrings.push("Neutral"); -localeStrings.push("Evil"); -localeStrings.push(["Ritter", "Mönch"]); -localeStrings.push("Klasse");//205 -localeStrings.push("Hero now is"); -localeStrings.push(" in der Stadt"); -localeStrings.push(" in autocompaign"); -localeStrings.push(" in manualcompaign"); -localeStrings.push(["Essen", "Trinken", "Spielen", "Training", "Faustkampf", "Ruhen"]); // 210 -localeStrings.push(["zurückmarschieren", "marschieren", "Heiden töten", "Heiden bekehren", "ein Lager errichten", "tote Heiden plündern"]); -localeStrings.push(["marschieren", "ein Lager aufschlagen", "plündern"]); -localeStrings.push("Tage aus der Stadt"); -localeStrings.push("Aus der Stadt"); -localeStrings.push("In die Stadt"); // 215 -localeStrings.push("Gold im Geldbeutel des Helden"); -localeStrings.push("Held entlassen"); -localeStrings.push("Held an Autokampagne senden"); -localeStrings.push("Den Helden zurückziehen"); -localeStrings.push("Tagebuch öffnen"); // 220 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//200 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push(["placeholder", "placeholder"]); +localeStrings.push("placeholder");//205 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push(["placeholder"]); // 210 +localeStrings.push(["placeholder"]); +localeStrings.push(["placeholder"]); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); // 215 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); // 220 localeStrings.push("Towngate-Scroll verwenden"); localeStrings.push("Gehe zur Abenteuerkarte"); localeStrings.push("Karte neu generieren"); @@ -256,7 +256,7 @@ localeStrings.push("placeholder");//250 localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("Direction: "); +localeStrings.push("placeholder"); localeStrings.push("Der Held ist gerade hinter der Stadt!");//255 localeStrings.push("Sie haben keine Towngate-Schriftrolle!"); localeStrings.push("Begib dich zuerst mit dem Helden in die Stadt!"); @@ -741,4 +741,22 @@ locObj.heroStatMP = {"txt": "Zauberpunkte", "loc": "hero stat"}; locObj.heroStatSpellpower = {"txt": "Zauberkraft", "loc": "hero stat"}; locObj.heroExp = {"txt": "Erfahrung", "loc": "hero stat"}; locObj.heroCurrentExp = {"txt": "Aktuelle Erfahrung", "loc": "hero stat"}; -locObj.heroNextLvlExp = {"txt": "Erfahrung für das nächste Level erforderlich", "loc": "hero stat"}; \ No newline at end of file +locObj.heroNextLvlExp = {"txt": "Erfahrung für das nächste Level erforderlich", "loc": "hero stat"}; +locObj.heroClasses = {"txt": ["Ritter", "Mönch"], "loc": "inn tab"}; +locObj.lblClass = {"txt": "Klasse", "loc": "inn tab"}; +locObj.lblHeroLocation = {"txt":"Held ", "loc":"inn tab"}; +locObj.heroInTown = {"txt": " in der Stadt", "loc": "used to build hero activity line"}; +locObj.heroInAutocampaign = {"txt": " in der autokampagne", "loc": "used to build hero activity line"}; +locObj.heroOnAdventureMap = {"txt": " auf der Abenteuerkarte", "loc": "used to build hero activity line"}; +locObj.heroActivitiesInTown = {"txt": ["Essen", "Trinken", "Spielen", "Training", "Faustkampf", "Ruhen"], "loc": "used to build hero activity line"}; +locObj.heroActivitiesInAutocampaign = {"txt":["zurückmarschieren", "marschieren", "Heiden töten", "Heiden bekehren", "ein Lager errichten", "tote Heiden plündern"], "loc": "used to build hero activity line"}; +locObj.heroActivitiesOnAdventureMap = {"txt":["marschieren", "ein Lager aufschlagen", "plündern"],"loc": "used to build hero activity line"}; +locObj.lblDistanceFromTown = {"txt": "Tage aus der Stadt", "loc": "inn tab"}; +locObj.directionFromTown = {"txt": "Aus der Stadt", "loc": "inn tab"}; +locObj.directionToTown = {"txt": "In die Stadt", "loc": "inn tab"}; +locObj.goldInHerosPurse = {"txt": "Gold im Geldbeutel des Helden", "loc": "inn tab"}; +locObj.lblDirection = {"txt": "Direction: ", "loc": "inn tab"}; +locObj.btnDismissHero = {"txt": "Held entlassen", "loc": "inn tab"}; +locObj.btnAutocampaignSendHero = {"txt": "Held an Autokampagne senden", "loc": "inn tab"}; +locObj.btnAutocampaignWithdrawHero = {"txt": "Den Helden zurückziehen", "loc": "inn tab"}; +locObj.btnAutocampaignOpenJournal = {"txt": "Tagebuch öffnen", "loc": "inn tab"}; \ No newline at end of file diff --git a/langs/en-US.js b/langs/en-US.js index 7e0c802..fcae7fa 100644 --- a/langs/en-US.js +++ b/langs/en-US.js @@ -199,30 +199,30 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//195 localeStrings.push("placeholder"); -localeStrings.push("Alignment"); -localeStrings.push("Lawful"); -localeStrings.push("Neutral"); -localeStrings.push("Chaotic");//200 -localeStrings.push("Good"); -localeStrings.push("Neutral"); -localeStrings.push("Evil"); -localeStrings.push(["Knight", "Monk"]); -localeStrings.push("Class");//205 -localeStrings.push("Hero now is "); -localeStrings.push(" in town"); -localeStrings.push(" in autocampaign"); -localeStrings.push(" in manualcampaign"); -localeStrings.push(["eating", "drinking","gambling","training","fistfighting","resting"]);//210 -localeStrings.push(["marching back","marching","killing pagans", "converting pagans","making a camp","looting dead pagans"]); -localeStrings.push(["marching", "making a camp","looting"]); -localeStrings.push("Days from the city"); -localeStrings.push("From the city"); -localeStrings.push("To the city");//215 -localeStrings.push("Gold in hero's purse"); -localeStrings.push("Dismiss hero"); -localeStrings.push("Send hero to autocampaign"); -localeStrings.push("Withdraw the hero"); -localeStrings.push("Open journal");//220 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//200 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push(["placeholder", "placeholder"]); +localeStrings.push("placeholder");//205 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push(["placeholder"]);//210 +localeStrings.push(["placeholder"]); +localeStrings.push(["placeholder"]); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//215 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//220 localeStrings.push("Use towngate scroll"); localeStrings.push("Go to the adventure map"); localeStrings.push("Regenerate map"); @@ -256,7 +256,7 @@ localeStrings.push("placeholder");//250 localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("Direction: "); +localeStrings.push("placeholder"); localeStrings.push("The hero is just behind the city now!");//255 localeStrings.push("You don't have a Towngate scroll!"); localeStrings.push("First, head the hero to the town!"); @@ -499,6 +499,10 @@ locObj.requiredStables = {"txt": "To do that, you need to build stables", "loc": locObj.requiredArcheryRange = {"txt":"To do that, you need to build Archery Range", "loc":"happens when trying to hire turkopols if no archery range is built"}; locObj.requiredStablesUpgrade = {"txt": "To do that, you need to upgrade the stable to %arg1 level", "loc":"happens when trying to hire knights and stables level too low"}; locObj.deadCounselorDemolish = {"txt":"Your counselor is dead.\nThe new counselor, however, urges us to reconsider\nthe choice which was made with the previous one:\n-it's time, m'lord, when we could decide what's better for our nation.\n-if you agree, we demolish the %arg1 and thus you could build %arg2", "loc":""} +locObj.demolishGallows = {"txt": "Gallows", "loc": "your choice in deadCounselorDemolish dialogue"}; +locObj.fountainUnlock = {"txt": "Fountain", "loc": "will be unlocked in deadCounselorDemolish dialogue"}; +locObj.demolishFountain = {"txt": "Fountain", "loc": "your choice in deadCounselorDemolish dialogue"}; +locObj.gallowsUnlock = {"txt": "Gallows", "loc": "will be unlocked in deadCounselorDemolish dialogue"}; locObj.deadCounselorDemolishAnsYes = {"txt":"Yes, demolish it", "loc":"Positive answer"} locObj.buy = {"txt":"Buy", "loc":"On item in BlackMarket for sale from Goblin"}; locObj.sell = {"txt":"Sell", "loc":"On item in BlackMarket for sale from Hero"}; @@ -741,4 +745,22 @@ locObj.heroStatMP = {"txt": "Manapoints", "loc": "hero stat"}; locObj.heroStatSpellpower = {"txt": "Spellpower", "loc": "hero stat"}; locObj.heroExp = {"txt": "Experience", "loc": "hero stat"}; locObj.heroCurrentExp = {"txt": "Current experience", "loc": "hero stat"}; -locObj.heroNextLvlExp = {"txt": "Experience required for next level", "loc": "hero stat"}; \ No newline at end of file +locObj.heroNextLvlExp = {"txt": "Experience required for next level", "loc": "hero stat"}; +locObj.heroClasses = {"txt": ["Knight", "Monk"], "loc": "inn tab"}; +locObj.lblClass = {"txt": "Class", "loc": "inn tab"}; +locObj.lblHeroLocation = {"txt":"Hero now is %arg1 %arg2", "loc":"inn tab"}; +locObj.heroInTown = {"txt": " in town", "loc": "used to build hero activity line"}; +locObj.heroInAutocampaign = {"txt": " in autocampaign", "loc": "used to build hero activity line"}; +locObj.heroOnAdventureMap = {"txt": " on the Adventure Map", "loc": "used to build hero activity line"}; +locObj.heroActivitiesInTown = {"txt": ["eating", "drinking","gambling","training","fistfighting","resting"], "loc": "used to build hero activity line"}; +locObj.heroActivitiesInAutocampaign = {"txt":["marching back","marching","killing pagans", "converting pagans","making a camp","looting dead pagans"], "loc": "used to build hero activity line"}; +locObj.heroActivitiesOnAdventureMap = {"txt":["marching", "making a camp","looting"],"loc": "used to build hero activity line"}; +locObj.lblDistanceFromTown = {"txt": "Days from the city", "loc": "inn tab"}; +locObj.directionFromTown = {"txt": "From the city", "loc": "inn tab"}; +locObj.directionToTown = {"txt": "To the city", "loc": "inn tab"}; +locObj.goldInHerosPurse = {"txt": "Gold in hero's purse", "loc": "inn tab"}; +locObj.lblDirection = {"txt": "Direction: ", "loc": "inn tab"}; +locObj.btnDismissHero = {"txt": "Dismiss hero", "loc": "inn tab"}; +locObj.btnAutocampaignSendHero = {"txt": "Send hero to autocampaign", "loc": "inn tab"}; +locObj.btnAutocampaignWithdrawHero = {"txt": "Withdraw the hero", "loc": "inn tab"}; +locObj.btnAutocampaignOpenJournal = {"txt": "Open journal", "loc": "inn tab"}; \ No newline at end of file diff --git a/langs/eo.js b/langs/eo.js index 4e5e37d..a198b81 100644 --- a/langs/eo.js +++ b/langs/eo.js @@ -199,30 +199,30 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//195 localeStrings.push("placeholder"); -localeStrings.push("Aliĝo"); -localeStrings.push("Laŭleĝa"); -localeStrings.push("Neŭtrala"); -localeStrings.push("Kaosa");//200 -localeStrings.push("Bono"); -localeStrings.push("Neŭtralo"); -localeStrings.push("Malbono"); -localeStrings.push(["Kavaliro", "Monako"]); -localeStrings.push("Klaso");//205 -localeStrings.push("Heroo nun estas"); -localeStrings.push(" en la urbo"); -localeStrings.push(" en aŭtokombina"); -localeStrings.push(" en mana komparado"); -localeStrings.push(["manĝi", "trinki", "vetludi", "trejni", "pugni", "ripozi"]); // 210 -localeStrings.push(["marŝi reen", "marŝi", "mortigi paganojn", "konverti paganojn", "fari tendaron", "prirabi mortintajn paganojn"]); -localeStrings.push(["marŝi", "fari tendaron", "rabado"]); -localeStrings.push("Tagoj el la urbo"); -localeStrings.push("El la urbo"); -localeStrings.push("Al la urbo"); // 215 -localeStrings.push("Ora en monujo de heroo"); -localeStrings.push("Malakcepti heroon"); -localeStrings.push("Sendu heroon al aŭtokampanjo"); -localeStrings.push("Forigu la heroon"); -localeStrings.push("Malferma taglibro"); // 220 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//200 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push(["placeholder", "placeholder"]); +localeStrings.push("placeholder");//205 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push(["placeholder"]); // 210 +localeStrings.push(["placeholder"]); +localeStrings.push(["placeholder"]); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); // 215 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); // 220 localeStrings.push("Uzu ruleton de urbeto"); localeStrings.push("Iru al aventura mapo"); localeStrings.push("Regeneri mapon"); @@ -256,7 +256,7 @@ localeStrings.push("placeholder");//250 localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("Direction: "); +localeStrings.push("placeholder"); localeStrings.push("La heroo estas malantaŭ la urbo nun!");//255 localeStrings.push("Vi ne havas Towngate-movon!"); localeStrings.push("Unue, direktu la heroon al la urbo!"); @@ -741,4 +741,22 @@ locObj.heroStatMP = {"txt": "Magiaj punktoj", "loc": "hero stat"}; locObj.heroStatSpellpower = {"txt": "Magia potenco", "loc": "hero stat"}; locObj.heroExp = {"txt": "Sperto", "loc": "hero stat"}; locObj.heroCurrentExp = {"txt": "Nuna sperto", "loc": "hero stat"}; -locObj.heroNextLvlExp = {"txt": "Sperto bezonata por sekva nivelo", "loc": "hero stat"}; \ No newline at end of file +locObj.heroNextLvlExp = {"txt": "Sperto bezonata por sekva nivelo", "loc": "hero stat"}; +locObj.heroClasses = {"txt": ["Kavaliro", "Monako"], "loc": "inn tab"}; +locObj.lblClass = {"txt": "Klaso", "loc": "inn tab"}; +locObj.lblHeroLocation = {"txt":"Heroo nun estas ", "loc":"inn tab"}; +locObj.heroInTown = {"txt": " en la urbo", "loc": "used to build hero activity line"}; +locObj.heroInAutocampaign = {"txt": " en aŭtokombina", "loc": "used to build hero activity line"}; +locObj.heroOnAdventureMap = {"txt": " on the Adventure Map", "loc": "used to build hero activity line"}; +locObj.heroActivitiesInTown = {"txt": ["manĝi", "trinki", "vetludi", "trejni", "pugni", "ripozi"], "loc": "used to build hero activity line"}; +locObj.heroActivitiesInAutocampaign = {"txt":["marŝi reen", "marŝi", "mortigi paganojn", "konverti paganojn", "fari tendaron", "prirabi mortintajn paganojn"], "loc": "used to build hero activity line"}; +locObj.heroActivitiesOnAdventureMap = {"txt":["marŝi", "fari tendaron", "rabado"],"loc": "used to build hero activity line"}; +locObj.lblDistanceFromTown = {"txt": "Tagoj el la urbo", "loc": "inn tab"}; +locObj.directionFromTown = {"txt": "El la urbo", "loc": "inn tab"}; +locObj.directionToTown = {"txt": "Al la urbo", "loc": "inn tab"}; +locObj.goldInHerosPurse = {"txt": "Ora en monujo de heroo", "loc": "inn tab"}; +locObj.lblDirection = {"txt": "Direction: ", "loc": "inn tab"}; +locObj.btnDismissHero = {"txt": "Malakcepti heroon", "loc": "inn tab"}; +locObj.btnAutocampaignSendHero = {"txt": "Sendi heroon al aŭtokampanjo", "loc": "inn tab"}; +locObj.btnAutocampaignWithdrawHero = {"txt": "Forigi la heroon", "loc": "inn tab"}; +locObj.btnAutocampaignOpenJournal = {"txt": "Malfermi taglibro", "loc": "inn tab"}; \ No newline at end of file diff --git a/langs/es-ES.js b/langs/es-ES.js index 88c0e10..95e910b 100644 --- a/langs/es-ES.js +++ b/langs/es-ES.js @@ -199,30 +199,30 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//195 localeStrings.push("placeholder"); -localeStrings.push("Alignment"); -localeStrings.push("Lawful"); -localeStrings.push("Neutral"); -localeStrings.push("Chaotic");//200 -localeStrings.push("Good"); -localeStrings.push("Neutral"); -localeStrings.push("Evil"); -localeStrings.push(["Knight", "Monk"]); -localeStrings.push("Class");//205 -localeStrings.push("Hero now is "); -localeStrings.push(" in town"); -localeStrings.push(" in autocampaign"); -localeStrings.push(" in manualcampaign"); -localeStrings.push(["eating", "drinking","gambling","training","fistfighting","resting"]);//210 -localeStrings.push(["marching back","marching","killing pagans", "converting pagans","making a camp","looting dead pagans"]); -localeStrings.push(["marching", "making a camp","looting"]); -localeStrings.push("Days from the city"); -localeStrings.push("From the city"); -localeStrings.push("To the city");//215 -localeStrings.push("Gold in hero's purse"); -localeStrings.push("Dismiss hero"); -localeStrings.push("Send hero to autocampaign"); -localeStrings.push("Withdraw the hero"); -localeStrings.push("Open journal");//220 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//200 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push(["placeholder", "placeholder"]); +localeStrings.push("placeholder");//205 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push(["placeholder"]);//210 +localeStrings.push(["placeholder"]); +localeStrings.push(["placeholder"]); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//215 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//220 localeStrings.push("Use towngate scroll"); localeStrings.push("Go to the adventure map"); localeStrings.push("Regenerate map"); @@ -256,7 +256,7 @@ localeStrings.push("placeholder");//250 localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("Direction: "); +localeStrings.push("placeholder"); localeStrings.push("The hero is just behind the city now!");//255 localeStrings.push("You don't have a Towngate scroll!"); localeStrings.push("First, head the hero to the town!"); @@ -739,4 +739,22 @@ locObj.heroStatMP = {"txt": "Manapoints", "loc": "hero stat"}; locObj.heroStatSpellpower = {"txt": "Spellpower", "loc": "hero stat"}; locObj.heroExp = {"txt": "Experience", "loc": "hero stat"}; locObj.heroCurrentExp = {"txt": "Current experience", "loc": "hero stat"}; -locObj.heroNextLvlExp = {"txt": "Experience required for next level", "loc": "hero stat"}; \ No newline at end of file +locObj.heroNextLvlExp = {"txt": "Experience required for next level", "loc": "hero stat"}; +locObj.heroClasses = {"txt": ["Knight", "Monk"], "loc": "inn tab"}; +locObj.lblClass = {"txt": "Class", "loc": "inn tab"}; +locObj.lblHeroLocation = {"txt":"Hero now is ", "loc":"inn tab"}; +locObj.heroInTown = {"txt": " in town", "loc": "used to build hero activity line"}; +locObj.heroInAutocampaign = {"txt": " in autocampaign", "loc": "used to build hero activity line"}; +locObj.heroOnAdventureMap = {"txt": " on the Adventure Map", "loc": "used to build hero activity line"}; +locObj.heroActivitiesInTown = {"txt": ["eating", "drinking","gambling","training","fistfighting","resting"], "loc": "used to build hero activity line"}; +locObj.heroActivitiesInAutocampaign = {"txt":["marching back","marching","killing pagans", "converting pagans","making a camp","looting dead pagans"], "loc": "used to build hero activity line"}; +locObj.heroActivitiesOnAdventureMap = {"txt":["marching", "making a camp","looting"],"loc": "used to build hero activity line"}; +locObj.lblDistanceFromTown = {"txt": "Days from the city", "loc": "inn tab"}; +locObj.directionFromTown = {"txt": "From the city", "loc": "inn tab"}; +locObj.directionToTown = {"txt": "To the city", "loc": "inn tab"}; +locObj.goldInHerosPurse = {"txt": "Gold in hero's purse", "loc": "inn tab"}; +locObj.lblDirection = {"txt": "Direction: ", "loc": "inn tab"}; +locObj.btnDismissHero = {"txt": "Dismiss hero", "loc": "inn tab"}; +locObj.btnAutocampaignSendHero = {"txt": "Send hero to autocampaign", "loc": "inn tab"}; +locObj.btnAutocampaignWithdrawHero = {"txt": "Withdraw the hero", "loc": "inn tab"}; +locObj.btnAutocampaignOpenJournal = {"txt": "Open journal", "loc": "inn tab"}; \ No newline at end of file diff --git a/langs/fr-FR.js b/langs/fr-FR.js index 2bbd387..5664a7a 100644 --- a/langs/fr-FR.js +++ b/langs/fr-FR.js @@ -199,30 +199,30 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//195 localeStrings.push("placeholder"); -localeStrings.push("Alignement"); -localeStrings.push("Légitime"); -localeStrings.push("Neutre"); -localeStrings.push("Chaotique");//200 -localeStrings.push("Bien"); -localeStrings.push("Neutre"); -localeStrings.push("Mal"); -localeStrings.push(["Chevalier", "Moine"]); -localeStrings.push("Classe");//205 -localeStrings.push("Le héros "); -localeStrings.push(" en cité"); -localeStrings.push(" en campagne automatique"); -localeStrings.push(" en campagne"); -localeStrings.push(["manger", "boit", "joue", "s'entraine", "se bat", "se repose"]); // 210 -localeStrings.push(["sur le trajet retour", "marchant", "tuant des païens", "convertissant des païens", "faisant un camp", "pillant des païens morts"]); -localeStrings.push(["marching", "faire un camp", "piller"]); -localeStrings.push("Jours de la cité"); -localeStrings.push("De la cité"); -localeStrings.push("Vers la cité"); // 215 -localeStrings.push("L'or dans le sac du héros"); -localeStrings.push("Rejeter le héros"); -localeStrings.push("Envoyer le héros à autocampaign"); -localeStrings.push("Retirer le héros"); -localeStrings.push("Journal ouvert"); // 220 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//200 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push(["placeholder", "placeholder"]); +localeStrings.push("placeholder");//205 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push(["placeholder"]); // 210 +localeStrings.push(["placeholder"]); +localeStrings.push(["placeholder"]); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); // 215 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); // 220 localeStrings.push("Utiliser porte de la cité"); localeStrings.push("Aller à la carte d'aventure"); localeStrings.push("Régénérer la carte"); @@ -256,7 +256,7 @@ localeStrings.push("placeholder");//250 localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("Direction: "); +localeStrings.push("placeholder"); localeStrings.push("Le héros est juste derrière la ville maintenant!");//255 localeStrings.push("Vous n'avez pas de rouleau Towngate!"); localeStrings.push("Tout d'abord, dirigez le héros en ville!"); @@ -741,4 +741,22 @@ locObj.heroStatMP = {"txt": "Points magiques", "loc": "hero stat"}; locObj.heroStatSpellpower = {"txt": "Puissance des sorts", "loc": "hero stat"}; locObj.heroExp = {"txt": "Expérience", "loc": "hero stat"}; locObj.heroCurrentExp = {"txt": "Current experience", "loc": "hero stat"}; -locObj.heroNextLvlExp = {"txt": "Expérience requise pour le nivueau suivant", "loc": "hero stat"}; \ No newline at end of file +locObj.heroNextLvlExp = {"txt": "Expérience requise pour le nivueau suivant", "loc": "hero stat"}; +locObj.heroClasses = {"txt": ["Chevalier", "Moine"], "loc": "inn tab"}; +locObj.lblClass = {"txt": "Classe", "loc": "inn tab"}; +locObj.lblHeroLocation = {"txt":"Le héros ", "loc":"inn tab"}; +locObj.heroInTown = {"txt": " en cité", "loc": "used to build hero activity line"}; +locObj.heroInAutocampaign = {"txt": " en campagne automatique", "loc": "used to build hero activity line"}; +locObj.heroOnAdventureMap = {"txt": " sur la carte d'aventure", "loc": "used to build hero activity line"}; +locObj.heroActivitiesInTown = {"txt": ["manger", "boit", "joue", "s'entraine", "se bat", "se repose"], "loc": "used to build hero activity line"}; +locObj.heroActivitiesInAutocampaign = {"txt":["sur le trajet retour", "marchant", "tuant des païens", "convertissant des païens", "faisant un camp", "pillant des païens morts"], "loc": "used to build hero activity line"}; +locObj.heroActivitiesOnAdventureMap = {"txt":["marching", "faire un camp", "piller"],"loc": "used to build hero activity line"}; +locObj.lblDistanceFromTown = {"txt": "Jours de la cité", "loc": "inn tab"}; +locObj.directionFromTown = {"txt": "De la cité", "loc": "inn tab"}; +locObj.directionToTown = {"txt": "Vers la cité", "loc": "inn tab"}; +locObj.goldInHerosPurse = {"txt": "L'or dans le sac du héros", "loc": "inn tab"}; +locObj.lblDirection = {"txt": "Direction: ", "loc": "inn tab"}; +locObj.btnDismissHero = {"txt": "Rejeter le héros", "loc": "inn tab"}; +locObj.btnAutocampaignSendHero = {"txt": "Envoyer le héros à autocampaign", "loc": "inn tab"}; +locObj.btnAutocampaignWithdrawHero = {"txt": "Retirer le héros", "loc": "inn tab"}; +locObj.btnAutocampaignOpenJournal = {"txt": "Journal ouvert", "loc": "inn tab"}; \ No newline at end of file diff --git a/langs/ru-RU.js b/langs/ru-RU.js index 1dbf57b..aa75b0b 100644 --- a/langs/ru-RU.js +++ b/langs/ru-RU.js @@ -199,30 +199,30 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//195 localeStrings.push("placeholder"); -localeStrings.push("Характер"); -localeStrings.push("Добропорядочный"); -localeStrings.push("Нейтральный"); -localeStrings.push("Разрушительный");//200 -localeStrings.push("Добряк"); -localeStrings.push("Пофигист"); -localeStrings.push("Злыдень"); -localeStrings.push(["Рыцарь", "Монах"]); -localeStrings.push("Класс");//205 -localeStrings.push("Герой сейчас "); -localeStrings.push(" где-то в городе"); -localeStrings.push(" в автокампании"); -localeStrings.push(" в кампании"); -localeStrings.push(["ест", "пьет","играет в карты","тренируется","дерется","отдыхает"]);//210 -localeStrings.push(["возвращается в город","на марше","убивает язычников", "обращает язычников","строит лагерь","собирает трофеи"]); -localeStrings.push(["на марше", "строит лагерь","собирает трофеи"]); -localeStrings.push("Дней от города"); -localeStrings.push("От города"); -localeStrings.push("К городу");//215 -localeStrings.push("Злата в кошеле героя"); -localeStrings.push("Уволить героя"); -localeStrings.push("Отправить в поход"); -localeStrings.push("Вернуть из похода"); -localeStrings.push("Открыть журнал");//220 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//200 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push(["placeholder", "placeholder"]); +localeStrings.push("placeholder");//205 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push(["placeholder"]);//210 +localeStrings.push(["placeholder"]); +localeStrings.push(["placeholder"]); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//215 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//220 localeStrings.push("Свиток городских врат"); localeStrings.push("На карту приключений"); localeStrings.push("Пересоздать карту"); @@ -256,7 +256,7 @@ localeStrings.push("placeholder");//250 localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("Direction: "); +localeStrings.push("placeholder"); localeStrings.push("Герой теперь буквально в одном шаге от города!");//255 localeStrings.push("У вас нет свитка городских врат!"); localeStrings.push("Сначала направьте героя в город."); @@ -745,4 +745,22 @@ locObj.heroStatMP = {"txt": "Мана", "loc": "hero stat"}; locObj.heroStatSpellpower = {"txt": "Сила магии", "loc": "hero stat"}; locObj.heroExp = {"txt": "Опыт", "loc": "hero stat"}; locObj.heroCurrentExp = {"txt": "Текущий опыт", "loc": "hero stat"}; -locObj.heroNextLvlExp = {"txt": "Опыт, необходимый для следующего уровня", "loc": "hero stat"}; \ No newline at end of file +locObj.heroNextLvlExp = {"txt": "Опыт, необходимый для следующего уровня", "loc": "hero stat"}; +locObj.heroClasses = {"txt": ["Рыцарь", "Монах"], "loc": "inn tab"}; +locObj.lblClass = {"txt": "Класс", "loc": "inn tab"}; +locObj.lblHeroLocation = {"txt":"Герой сейчас ", "loc":"inn tab"}; +locObj.heroInTown = {"txt": " где-то в городе", "loc": "used to build hero activity line"}; +locObj.heroInAutocampaign = {"txt": " в автокампании", "loc": "used to build hero activity line"}; +locObj.heroOnAdventureMap = {"txt": " на карте приключений", "loc": "used to build hero activity line"}; +locObj.heroActivitiesInTown = {"txt": ["ест", "пьет","играет в карты","тренируется","дерется","отдыхает"], "loc": "used to build hero activity line"}; +locObj.heroActivitiesInAutocampaign = {"txt":["возвращается в город","на марше","убивает язычников", "обращает язычников","строит лагерь","собирает трофеи"], "loc": "used to build hero activity line"}; +locObj.heroActivitiesOnAdventureMap = {"txt":["на марше", "строит лагерь","собирает трофеи"],"loc": "used to build hero activity line"}; +locObj.lblDistanceFromTown = {"txt": "Дней от города", "loc": "inn tab"}; +locObj.directionFromTown = {"txt": "От города", "loc": "inn tab"}; +locObj.directionToTown = {"txt": "К городу", "loc": "inn tab"}; +locObj.goldInHerosPurse = {"txt": "Злата в кошеле героя", "loc": "inn tab"}; +locObj.lblDirection = {"txt": "Направление: ", "loc": "inn tab"}; +locObj.btnDismissHero = {"txt": "Уволить героя", "loc": "inn tab"}; +locObj.btnAutocampaignSendHero = {"txt": "Отправить в поход", "loc": "inn tab"}; +locObj.btnAutocampaignWithdrawHero = {"txt": "Вернуть из похода", "loc": "inn tab"}; +locObj.btnAutocampaignOpenJournal = {"txt": "Открыть журнал", "loc": "inn tab"}; \ No newline at end of file From 176bcccd5422aa869f9310c898c17c87db7ab05d Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Sat, 11 Mar 2023 20:29:46 +0200 Subject: [PATCH 23/86] 274/378 --- js/dom.js | 74 +++++++++++++++++++++++------------------------- js/game.js | 70 ++++++++++++++++----------------------------- js/tab_shop.js | 64 ++++++++++------------------------------- langs/de-DE.js | 75 ++++++++++++++++++++++++++++++++---------------- langs/en-US.js | 77 ++++++++++++++++++++++++++++++++++---------------- langs/eo.js | 75 ++++++++++++++++++++++++++++++++---------------- langs/es-ES.js | 75 ++++++++++++++++++++++++++++++++---------------- langs/fr-FR.js | 75 ++++++++++++++++++++++++++++++++---------------- langs/ru-RU.js | 75 ++++++++++++++++++++++++++++++++---------------- 9 files changed, 377 insertions(+), 283 deletions(-) diff --git a/js/dom.js b/js/dom.js index 749eb94..244bb15 100644 --- a/js/dom.js +++ b/js/dom.js @@ -54,9 +54,9 @@ include('localisation.js',function(){ document.getElementById("selectUpkeepSrc")[1].text = localeStrings[285]; document.getElementById("btnDismissHero").innerText = locObj.btnDismissHero.txt; document.getElementById("btnAutocampaignJournal").innerText = locObj.btnAutocampaignOpenJournal.txt; - document.getElementById("btnTowngate").innerText = localeStrings[221]; - document.getElementById("btnLeaveCity").innerText = localeStrings[222]; - document.getElementById("btnGenerateMap").innerText = localeStrings[223]; + document.getElementById("btnTowngate").innerText = locObj.btnUseTowngateScroll.txt; + document.getElementById("btnLeaveCity").innerText = locObj.btnGoToAdvenureMap.txt; + document.getElementById("btnGenerateMap").innerText = locObj.btnRegenerateMap.txt; document.getElementById("btnAutobattlesList").innerText = locObj.autobattle_journal_btn.txt; document.getElementById("lblOption").innerText = locObj.tabSoundSettingsLblOption.txt; document.getElementById("lblOn").innerText = locObj.on.txt; @@ -74,18 +74,14 @@ include('localisation.js',function(){ document.getElementById("lblStnMobileUI").innerText = locObj.tabSettingsLblMobileUI.txt; document.getElementById("lblStnEventLogSize").innerText = locObj.tabSettingsLblLogSize.txt; document.getElementById("lblStnLines").innerText = locObj.tabSettingsLblLines.txt; - document.getElementById("lblGoodsForSale").innerText = localeStrings[260]; - //document.getElementById("lblArtefactSellPrice").innerText= localeStrings[261]; - //document.getElementById("lblArtefactBuyPrice").innerText = localeStrings[261]; - //document.getElementById("btnBuyArtefact").innerText = localeStrings[262]; - document.getElementById("lblGoodsForBuying").innerText = localeStrings[263]; - //document.getElementById("btnSellArtefact").innerText = localeStrings[264]; - document.getElementById("btnLeaveBlackmarket").innerText = localeStrings[222]; - document.getElementById("lblFirebrigade").innerText = localeStrings[270]; - document.getElementById("lblFBOption").innerText = localeStrings[271]; - document.getElementById("lblFBOn").innerText = localeStrings[272]; - document.getElementById("lblFBOff").innerText = localeStrings[273]; - document.getElementById("lblFBUpKeepPrice").innerText = localeStrings[274]; + document.getElementById("lblGoodsForSale").innerText = locObj.lblGoodForSale.txt; + document.getElementById("lblGoodsForBuying").innerText = locObj.lblHeroGoodsFoSale.txt; + document.getElementById("btnLeaveBlackmarket").innerText = locObj.btnGoToAdvenureMap.txt; + document.getElementById("lblFirebrigade").innerText = locObj.lblFirebrigade.txt; + document.getElementById("lblFBOption").innerText = locObj.lblFireServiceStatus.txt; + document.getElementById("lblFBOn").innerText = locObj.onDuty.txt; + document.getElementById("lblFBOff").innerText = locObj.offDuty.txt; + document.getElementById("lblFBUpKeepPrice").innerText = locObj.lblFirebrigadeUpkeep.txt; document.getElementById("btnPopAtStart").innerText = locObj.paginationStart.txt; document.getElementById("btnGoldAtStart").innerText = locObj.paginationStart.txt; document.getElementById("btnPopPrev").innerText = locObj.paginationPrevious.txt; @@ -260,30 +256,30 @@ function updateButtonCaptions(){ document.getElementById("btnHireHero").innerHTML = locObj.tabInnBtnHireHero.txt.replace("%arg1",game.buildLevelInn).replace("%arg2",config.costHero); } function dynamicCellsSetStyle() { - if (game.nightMode === true){ - var dynElementsDay = document.getElementsByClassName('dynamicCellsDay'); - while(dynElementsDay.length) { - dynElementsDay[0].className = 'dynamicCellsNight'; - } - var dynElements = document.getElementsByClassName('dynamicCells'); - while(dynElements.length) { - dynElements[0].className = 'dynamicCellsNight'; - } - } else { - var dynElementsNight = document.getElementsByClassName('dynamicCellsNight'); - while(dynElementsNight.length) { - dynElementsNight[0].className = 'dynamicCellsDay'; - } - var dynElements = document.getElementsByClassName('dynamicCells'); - while(dynElements.length) { - dynElements[0].className = 'dynamicCellsDay'; - } - } + if (game.nightMode === true){ + var dynElementsDay = document.getElementsByClassName('dynamicCellsDay'); + while(dynElementsDay.length) { + dynElementsDay[0].className = 'dynamicCellsNight'; + } + var dynElements = document.getElementsByClassName('dynamicCells'); + while(dynElements.length) { + dynElements[0].className = 'dynamicCellsNight'; + } + } else { + var dynElementsNight = document.getElementsByClassName('dynamicCellsNight'); + while(dynElementsNight.length) { + dynElementsNight[0].className = 'dynamicCellsDay'; + } + var dynElements = document.getElementsByClassName('dynamicCells'); + while(dynElements.length) { + dynElements[0].className = 'dynamicCellsDay'; + } + } } function setupFirebrigadeUI () { - if (game.fireGuard === 1) { - document.getElementById("fb_on").checked = true; - } else { - document.getElementById("fb_off").checked = true; - } + if (game.fireGuard === 1) { + document.getElementById("fb_on").checked = true; + } else { + document.getElementById("fb_off").checked = true; + } } diff --git a/js/game.js b/js/game.js index 49134b8..24d296c 100644 --- a/js/game.js +++ b/js/game.js @@ -263,13 +263,13 @@ function gameOK() { unequipItem(towngateScroll.uid); removeElementUI(towngateScroll.uid); game.myhero.aCampaignLong = 1; - postEventLog(localeStrings[255], 'bold'); + postEventLog(locObj.artifactTowngateAfterUse.txt, 'bold'); updateUI(); } else { - postEventLog(localeStrings[256], 'bold'); + postEventLog(locObj.artifactErrNoTowngate.txt, 'bold'); } } else { - postEventLog(localeStrings[257], 'bold'); + postEventLog(locObj.artifactErrWrongDirection.txt, 'bold'); } }, checkAudio : function (typeAudio, target) { @@ -557,20 +557,19 @@ function gameOK() { } }, cityLeave: function () { - if (game.heroExists()) { if (game.myhero.status === 0) { if (game.isHeroHaveTroops()) { - var question = localeStrings[225]; - showModal(1, '', game.cityLeaveCallback, question, localeStrings[226], localeStrings[227]); + let question = locObj.dlgHeroStance.txt; + showModal(1, '', game.cityLeaveCallback, question, + locObj.ansHeroAggressiveStance.txt, locObj.ansHeroCautiousStance.txt); return; } else { - var alertMsg = localeStrings[228]; + let alertMsg = locObj.errAddTroopsToHero.txt; showModal(0, '', getAck, alertMsg, locObj.okay.txt, ''); return; } } - if (game.myhero.status === 2) { console.log("[cityLeave]: Hero is on the adventure map, just open it!"); openTab(null, 'Explore'); @@ -786,7 +785,7 @@ function gameOK() { game.heroDie(); } } else { - alertMsg = localeStrings[229]; + let alertMsg = locObj.errNoHero.txt; showModal(0, '', getAck, alertMsg, locObj.okay.txt, ''); } }, @@ -1064,9 +1063,11 @@ function gameOK() { if (game.heroExists()){ if (game.myhero.status === HERO_STATUS.CITY) { if (game.isHeroHaveTroops()) { - showModal(1, '', game.autocampaignLaunchCallback, localeStrings[225], localeStrings[226], localeStrings[227]); + let question = locObj.dlgHeroStance.txt; + showModal(1, '', game.autocampaignLaunchCallback, question, + locObj.ansHeroAggressiveStance.txt, locObj.ansHeroCautiousStance.txt); } else { - showModal(0, '', getAck, localeStrings[228], locObj.okay.txt, ''); + showModal(0, '', getAck, locObj.errHeroHasNoTroops.txt, locObj.okay.txt, ''); } return; } @@ -1079,7 +1080,7 @@ function gameOK() { } } else { - showModal(0, '', getAck, localeStrings[229], locObj.okay.txt, ''); + showModal(0, '', getAck, locObj.errNoHero.txt, locObj.okay.txt, ''); } }, autocampaignLaunchCallback : function () { @@ -1557,7 +1558,7 @@ function gameOK() { } if (campaignType === "AutoCampaign") { - postJournalLog(localeStrings[224]); + postJournalLog(locObj.msgHeroAdvancedToNextLvl.txt); } } }, @@ -3738,42 +3739,21 @@ WeightedRandom.prototype.clearEntriesList = function() { postEventLog(locObj.welcome2.txt); } function postEventLog(msgEventLog, styling) { - - if (styling) { - styling = styling.toUpperCase(); - - switch (styling) { - case 'BOLD': msgEventLog = '' + msgEventLog + ''; break; - case 'ITALIC': msgEventLog = '' + msgEventLog + ''; break; - case 'RED': msgEventLog = '' + msgEventLog + ''; break; - default: console.warn('Unknown msg styling'); - } - } - - - - // if (typeof styling !== 'undefined') { - // styling = styling.toUpperCase(); - // } else { - // styling = ""; - // } - // styling = styling.toUpperCase(); - // if (styling.indexOf("BOLD")!==-1){ - // msgEventLog = ""+msgEventLog+""; - // } - // if (styling.indexOf("ITALIC")!==-1){ - // msgEventLog = ""+msgEventLog+""; - // } - // if (styling.indexOf("RED")!==-1){ - // msgEventLog = ""+msgEventLog+""; - // } - document.getElementById('log').innerHTML += getTime(0) + ': ' + msgEventLog + '
'; - scrollDown(); + if (styling) { + styling = styling.toUpperCase(); + switch (styling) { + case 'BOLD': msgEventLog = '' + msgEventLog + ''; break; + case 'ITALIC': msgEventLog = '' + msgEventLog + ''; break; + case 'RED': msgEventLog = '' + msgEventLog + ''; break; + default: console.warn('Unknown msg styling'); + } + } + document.getElementById('log').innerHTML += getTime(0) + ': ' + msgEventLog + '
'; + scrollDown(); } function clearJournalLog() { document.getElementById("lblAutocampaignJournal").innerHTML = ""; } - function createJournalAccordion() { var accordionContainerElement = document.createElement('div'); var accordionHeaderElement = document.createElement('div'); diff --git a/js/tab_shop.js b/js/tab_shop.js index 9aa71db..3f337a1 100644 --- a/js/tab_shop.js +++ b/js/tab_shop.js @@ -1,40 +1,31 @@ function addItem(target, item) { - var newItem = Object.assign({}, item); newItem.uid = uuidv4(); - if (target === "hero" && game.heroExists()) { newItem.priceBuy = newItem.priceBuy / 2; game.myhero.inventory.push(newItem); createElementUI(newItem, "heroMarketList"); equipItem(newItem.uid); } - if (target === "trader") { game.blackMarketGoods.push(newItem); createElementUI(newItem, "marketList"); } - } function removeItem(target, item) { - if (isNil(item)) { throw new Error('Item not passed.') } - var targetInventoryList = null; - switch (target) { case 'hero': targetInventoryList = game.myhero.inventory; break; case 'trader': targetInventoryList = game.blackMarketGoods; break; default: throw new Error('Incorrect target type: available types are "trader" or "hero"'); } - var targetIndex = targetInventoryList.findIndex(function (inventoryItem) { return inventoryItem.id === item.id; }); - if (targetIndex > -1) { targetInventoryList.splice(targetIndex, 1); removeElementUI(item.uid); @@ -52,34 +43,27 @@ function removeElementUI(elemUID) { function createElementUI(item, targetListId) { var parent = document.getElementById(targetListId); - var descWrapperElement = document.createElement("div"); var nameElement = document.createElement("div"); var descElement = document.createElement("span"); var priceElement = document.createElement("div"); - var imgElement = document.createElement("img"); var imgWrapperElement = document.createElement("div"); - var actionBtnElement = document.createElement("button"); - var id = item.id; if (targetListId === "marketList") { actionBtnElement.innerText = locObj.buy.txt; actionBtnElement.onclick = function (e) { e.preventDefault(); - // TODO: #SwordsRestriction remove it later if ((item.id === 'artid15' || item.id === 'artid16') && swordsCount === 2) { showModal(0, '', getAck, locObj.swordsWarn.txt, locObj.okay.txt, ''); return; } - if ((item.id === 'artid17' || item.id === 'artid18') && ringsCount === 2) { showModal(0, '', getAck, locObj.ringsWarn.txt, locObj.okay.txt, ''); return; } - if (game.gold >= item.priceBuy) { game.gold -= item.priceBuy; @@ -100,15 +84,12 @@ function createElementUI(item, targetListId) { actionBtnElement.innerText = locObj.sell.txt; actionBtnElement.onclick = function (e) { e.preventDefault(); - var testCost = game.gold + item.priceBuy; if (testCost >= game.goldLimit()) { postEventLog("You reached gold limit!"); return } - game.gold += item.priceBuy; - if (item.id !== "artid00") { item.priceBuy *= 2; addItem("trader", item); @@ -118,45 +99,31 @@ function createElementUI(item, targetListId) { unequipItem(item.uid); }; } - - - var imgSrc = "resources/" + item.img; imgElement.setAttribute("src", imgSrc); - var wrapperElement = document.createElement("div"); - - nameElement.innerText = item.name; priceElement.innerText = item.priceBuy; priceElement.classList.add("price-val"); nameElement.appendChild(priceElement); - descElement.innerText = item.desc; - - imgWrapperElement.appendChild(imgElement); imgWrapperElement.classList.add("inventory-item__wrapper-img"); descWrapperElement.appendChild(nameElement); descWrapperElement.appendChild(descElement); nameElement.classList.add("inventory-item__name") - descWrapperElement.classList.add("inventory-item__wrapper-desc"); - wrapperElement.appendChild(imgWrapperElement); wrapperElement.appendChild(descWrapperElement); wrapperElement.appendChild(actionBtnElement); actionBtnElement.classList.add("inventory-item__btn"); - wrapperElement.classList.add("inventory-item"); wrapperElement.setAttribute("data-uid", item.uid); - parent.appendChild(wrapperElement); - } function clearTraderUI() { - document.getElementById('marketList').innerHTML = ''; + document.getElementById('marketList').innerHTML = ''; } var swordsCount = 0; // TODO: #SwordsRestriction Counter will be removed after hero inventory system rework. For now dummy fix. @@ -293,21 +260,20 @@ function recalcStats(itemStats) { function getInventoryItemListIds(target) { - let targetList = []; - switch (target) { - case 'hero': { - if (game.heroExists()) { - targetList = game.myhero && game.myhero.inventory; - } - } break; - case 'trader': targetList = game.blackMarketGoods; break; - default: console.warn('Unknown inventory target'); return; - } - if (targetList.length > 0) { - console.log('123'); - targetList = targetList.map(item => item.id); - } - return targetList; + let targetList = []; + switch (target) { + case 'hero': { + if (game.heroExists()) { + targetList = game.myhero && game.myhero.inventory; + } + } break; + case 'trader': targetList = game.blackMarketGoods; break; + default: console.warn('Unknown inventory target'); return; + } + if (targetList.length > 0) { + targetList = targetList.map(item => item.id); + } + return targetList; } diff --git a/langs/de-DE.js b/langs/de-DE.js index c6172fa..cc5d5cc 100644 --- a/langs/de-DE.js +++ b/langs/de-DE.js @@ -223,17 +223,17 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); // 220 -localeStrings.push("Towngate-Scroll verwenden"); -localeStrings.push("Gehe zur Abenteuerkarte"); -localeStrings.push("Karte neu generieren"); -localeStrings.push("Dein Held wurde zum nächsten Level befördert!"); -localeStrings.push("Wollen Sie eine aggressive Haltung (höhere Belohnung, höheres Risiko) oder eine vorsichtige?");//225 -localeStrings.push("Aggressiv! Willst du Blut und Geld!"); -localeStrings.push("Vorsichtig. Was nützt Gold, wenn dein Held tot ist?"); -localeStrings.push("Sie müssen zuerst einige Truppen in den Kader des Helden aufnehmen!"); -localeStrings.push("Dafür brauchst du einen Helden!"); -localeStrings.push("Es ist eine Freude, mit Ihnen Geschäfte zu machen. Ich werde dich wiedersehen");//230 -localeStrings.push("Herzlichen Glückwunsch zum Kauf! Sie haben eine gute Wahl getroffen!"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//225 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//230 +localeStrings.push("palceholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -257,26 +257,26 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("Der Held ist gerade hinter der Stadt!");//255 -localeStrings.push("Sie haben keine Towngate-Schriftrolle!"); -localeStrings.push("Begib dich zuerst mit dem Helden in die Stadt!"); +localeStrings.push("placeholder");//255 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//260 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("Der Schwarzmarkt des Händlers bietet diese Waren zum Verkauf!");//260 -localeStrings.push("preis "); -localeStrings.push("kaufen Sie ausgewählt"); -localeStrings.push("Der Händler Schwarzmarkt könnte Ihre Waren kaufen."); -localeStrings.push("Verkaufen ausgewählt"); localeStrings.push("placeholder");//265 localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("Feuerwehr");//270 -localeStrings.push("Die Feuerwehr"); -localeStrings.push("ist im Dienst"); -localeStrings.push("ist dienstfrei"); -localeStrings.push("Der Preis für den Erhalt des Dienstes beträgt"); +localeStrings.push("placeholder");//270 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); localeStrings.push("%arg1% of fire extinguished");//275 localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -759,4 +759,29 @@ locObj.lblDirection = {"txt": "Direction: ", "loc": "inn tab"}; locObj.btnDismissHero = {"txt": "Held entlassen", "loc": "inn tab"}; locObj.btnAutocampaignSendHero = {"txt": "Held an Autokampagne senden", "loc": "inn tab"}; locObj.btnAutocampaignWithdrawHero = {"txt": "Den Helden zurückziehen", "loc": "inn tab"}; -locObj.btnAutocampaignOpenJournal = {"txt": "Tagebuch öffnen", "loc": "inn tab"}; \ No newline at end of file +locObj.btnAutocampaignOpenJournal = {"txt": "Tagebuch öffnen", "loc": "inn tab"}; +locObj.btnUseTowngateScroll = {"txt": "Towngate-Scroll verwenden", "loc": "inn tab"}; +locObj.btnGoToAdvenureMap = {"txt": "Gehe zur Abenteuerkarte", "loc": "inn tab"}; +locObj.btnRegenerateMap = {"txt": "Karte neu generieren", "loc": "inn tab"}; +locObj.msgHeroAdvancedToNextLvl = {"txt": "Dein Held wurde zum nächsten Level befördert!", "loc": "event log?"}; +locObj.dlgHeroStance = {"txt": "Wollen Sie eine aggressive Haltung (höhere Belohnung, höheres Risiko) oder eine vorsichtige?", "loc": "dialog happens when hero leaving town"}; +locObj.ansHeroAggressiveStance = {"txt": "Aggressiv! Willst du Blut und Geld!", "loc": "One of the options to the locObj.dlgHeroStance question"}; +locObj.ansHeroCautiousStance = {"txt": "Vorsichtig. Was nützt Gold, wenn dein Held tot ist??", "loc": "One of the options to the locObj.dlgHeroStance question"}; +locObj.errHeroHasNoTroops = {"txt": "Sie müssen zuerst einige Truppen in den Kader des Helden aufnehmen!", "loc": "when trying to send hero outta city with no troops"}; +locObj.errNoHero = {"txt": "Dafür brauchst du einen Helden!", "loc": "when trying to invoke hero-related actions with no hero"}; +locObj.msgAfterSellToTrader = {"txt": "Es ist eine Freude, mit Ihnen Geschäfte zu machen. Ich werde dich wiedersehen.", "loc": "not used so far"}; +locObj.msgAfterBuyFromTrader = {"txt": "Herzlichen Glückwunsch zum Kauf! Sie haben eine gute Wahl getroffen!", "loc": "not used so far"}; +locObj.artifactTowngateAfterUse = {"txt": "Der Held ist gerade hinter der Stadt!", "loc": "after the artefact was used"}; +locObj.artifactErrNoTowngate = {"txt": "Sie haben keine Towngate-Schriftrolle!", "loc": "when trying to use towngate scroll witout having one"}; +locObj.artifactErrWrongDirection = {"txt": "Begib dich zuerst mit dem Helden in die Stadt!", "loc": "happens when try to cast towngate and moving from the town"}; +locObj.lblGoodForSale = {"txt": "Der Schwarzmarkt des Händlers bietet diese Waren zum Verkauf!", "loc":"blackmarket tab, good for sale from the NPC"}; +locObj.lblHeroGoodsFoSale = {"txt": "Der Händler Schwarzmarkt könnte Ihre Waren kaufen", "loc":"blackmarket tab"}; +//TODO chech the following two, they aren't in use right now for some reason! +locObj.tabBlackMarketlblPrice = {"txt": "preis ", "loc": "blackmarket tab"}; +locObj.btnBuySelected = {"txt": "kaufen Sie ausgewählt", "loc": "blackmarket tab"}; +locObj.btnSellSelected = {"txt": "Verkaufen ausgewählt", "loc": "blackmarket tab"}; +locObj.lblFirebrigade = {"txt": "Feuerwehr", "loc": "firebrigade tab title"}; +locObj.lblFireServiceStatus = {"txt": "Die Feuerwehr", "loc": "fireservice service label"}; +locObj.onDuty = {"txt": "ist im Dienst", "loc":"a fire service status - enabled"}; +locObj.offDuty = {"txt": "ist dienstfrei", "loc":"a fire service status - disabled"}; +locObj.lblFirebrigadeUpkeep = {"txt":"Der Preis für den Erhalt des Dienstes beträgt", "loc":"firebrigade tab"}; \ No newline at end of file diff --git a/langs/en-US.js b/langs/en-US.js index fcae7fa..1eea705 100644 --- a/langs/en-US.js +++ b/langs/en-US.js @@ -223,17 +223,17 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//220 -localeStrings.push("Use towngate scroll"); -localeStrings.push("Go to the adventure map"); -localeStrings.push("Regenerate map"); -localeStrings.push("Your hero got promoted to the next level for his brilliant service."); -localeStrings.push("Do you want aggressive stance (higher reward, higher risk) or cautious one?");//225 -localeStrings.push("Aggressive! Want blood and money!"); -localeStrings.push("Cautious. What good of gold if your hero is dead?"); -localeStrings.push("We need to send some troops to a hero's squad first, milord"); -localeStrings.push("You need a hero to do that!"); -localeStrings.push("It is a pleasure to have a business with you. Come again.");//230 -localeStrings.push("Congratulations with your purchase! you made good choice!"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//225 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//230 +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -257,26 +257,26 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("The hero is just behind the city now!");//255 -localeStrings.push("You don't have a Towngate scroll!"); -localeStrings.push("First, head the hero to the town!"); +localeStrings.push("placeholder");//255 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//260 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("The blackmarket's merchant offers these goods for sale!");//260 -localeStrings.push("price "); -localeStrings.push("Buy selected"); -localeStrings.push("The blackmarket's merchant could buy your goods."); -localeStrings.push("Sell selected"); localeStrings.push("placeholder");//265 localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("Fire brigade");//270 -localeStrings.push("The fire service is"); -localeStrings.push("on duty"); -localeStrings.push("off duty"); -localeStrings.push("The price of sustain of the service is"); +localeStrings.push("placeholder");//270 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); localeStrings.push("%arg1% of fire extinguished");//275 localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -763,4 +763,31 @@ locObj.lblDirection = {"txt": "Direction: ", "loc": "inn tab"}; locObj.btnDismissHero = {"txt": "Dismiss hero", "loc": "inn tab"}; locObj.btnAutocampaignSendHero = {"txt": "Send hero to autocampaign", "loc": "inn tab"}; locObj.btnAutocampaignWithdrawHero = {"txt": "Withdraw the hero", "loc": "inn tab"}; -locObj.btnAutocampaignOpenJournal = {"txt": "Open journal", "loc": "inn tab"}; \ No newline at end of file +locObj.btnAutocampaignOpenJournal = {"txt": "Open journal", "loc": "inn tab"}; +locObj.btnUseTowngateScroll = {"txt": "Use towngate scroll", "loc": "inn tab"}; +locObj.btnGoToAdvenureMap = {"txt": "Go to the adventure map", "loc": "inn tab"}; +locObj.btnRegenerateMap = {"txt": "Regenerate map", "loc": "inn tab"}; +locObj.msgHeroAdvancedToNextLvl = {"txt": "Your hero got promoted to the next level for his brilliant service", "loc": "event log?"}; +locObj.dlgHeroStance = {"txt": "Do you want aggressive stance (higher reward, higher risk) or cautious one?", "loc": "dialog happens when hero leaving town"}; +locObj.ansHeroAggressiveStance = {"txt": "Aggressive! Want blood and money!", "loc": "One of the options to the locObj.dlgHeroStance question"}; +locObj.ansHeroCautiousStance = {"txt": "Cautious. What good of gold if your hero is dead?", "loc": "One of the options to the locObj.dlgHeroStance question"}; +//TODO add msg about hiring screen when the msg first occured +locObj.errHeroHasNoTroops = {"txt": "We need to send some troops to a hero's squad first, milord", "loc": "when trying to send hero outta city with no troops"}; +locObj.errNoHero = {"txt": "You need a hero to do that!", "loc": "when trying to invoke hero-related actions with no hero"}; +//TODO use the following two +locObj.msgAfterSellToTrader = {"txt": "It is a pleasure to have a business with you. Come again.", "loc": "not used so far"}; +locObj.msgAfterBuyFromTrader = {"txt": "Congratulations with your purchase! you made good choice!", "loc": "not used so far"}; +locObj.artifactTowngateAfterUse = {"txt": "The hero is just behind the city now!", "loc": "after the artefact was used"}; +locObj.artifactErrNoTowngate = {"txt": "You don't have a Towngate scroll!", "loc": "when trying to use towngate scroll witout having one"}; +locObj.artifactErrWrongDirection = {"txt": "First, head the hero to the town!", "loc": "happens when try to cast towngate and moving from the town"}; +locObj.lblGoodForSale = {"txt": "The blackmarket's merchant offers these goods for sale!", "loc":"blackmarket tab, good for sale from the NPC"}; +locObj.lblHeroGoodsFoSale = {"txt": "The blackmarket's merchant could buy your goods.", "loc":"blackmarket tab"}; +//TODO chech the following three, they aren't in use right now for some reason! +locObj.tabBlackMarketlblPrice = {"txt": "price ", "loc": "blackmarket tab"}; +locObj.btnBuySelected = {"txt": "Buy selected", "loc": "blackmarket tab"}; +locObj.btnSellSelected = {"txt": "Sell selected", "loc": "blackmarket tab"}; +locObj.lblFirebrigade = {"txt": "Fire brigade", "loc": "firebrigade tab title"}; +locObj.lblFireServiceStatus = {"txt": "The fire service is", "loc": "fireservice service label"}; +locObj.onDuty = {"txt": "on duty", "loc":"a fire service status - enabled"}; +locObj.offDuty = {"txt": "off duty", "loc":"a fire service status - disabled"}; +locObj.lblFirebrigadeUpkeep = {"txt":"The price of sustain of the service is", "loc":"firebrigade tab"}; \ No newline at end of file diff --git a/langs/eo.js b/langs/eo.js index a198b81..6c8268d 100644 --- a/langs/eo.js +++ b/langs/eo.js @@ -223,17 +223,17 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); // 220 -localeStrings.push("Uzu ruleton de urbeto"); -localeStrings.push("Iru al aventura mapo"); -localeStrings.push("Regeneri mapon"); -localeStrings.push("Via heroo promociiĝis al la sekva nivelo!"); -localeStrings.push("Ĉu vi volas agresa sinteno (pli alta rekompenco, pli alta risko) aŭ singarda?");//225 -localeStrings.push("Agresa! Volu sangon kaj monon!"); -localeStrings.push("Zorgema. Ĉu bona el oro se via heroo mortis?"); -localeStrings.push("Vi devas unue aldoni iujn trupojn al la taĉmento de herooj!"); -localeStrings.push("Vi bezonas heroon por fari tion!"); -localeStrings.push("Estas plezuro havi komercon kun vi. Mi revidos vin");//230 -localeStrings.push("Gratulojn pro via aĉeto! Vi faris bonan elekton!"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//225 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//230 +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -257,26 +257,26 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("La heroo estas malantaŭ la urbo nun!");//255 -localeStrings.push("Vi ne havas Towngate-movon!"); -localeStrings.push("Unue, direktu la heroon al la urbo!"); +localeStrings.push("placeholder");//255 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//260 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("La komercisto de nigra merkato ofertas ĉi tiujn varojn por vendo!");//260 -localeStrings.push("prezo "); -localeStrings.push("Aĉeti elektitan"); -localeStrings.push("La komercisto de nigra merkato povus aĉeti viajn varojn."); -localeStrings.push("Vendi elektita"); localeStrings.push("placeholder");//265 localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("Fajrobrigadisto");//270 -localeStrings.push("La fajro servo"); -localeStrings.push("funkcias"); -localeStrings.push("ne funkcias"); -localeStrings.push("La prezo de daŭro de la servo estas"); +localeStrings.push("placeholder");//270 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); localeStrings.push("%arg1% of fire extinguished");//275 localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -759,4 +759,29 @@ locObj.lblDirection = {"txt": "Direction: ", "loc": "inn tab"}; locObj.btnDismissHero = {"txt": "Malakcepti heroon", "loc": "inn tab"}; locObj.btnAutocampaignSendHero = {"txt": "Sendi heroon al aŭtokampanjo", "loc": "inn tab"}; locObj.btnAutocampaignWithdrawHero = {"txt": "Forigi la heroon", "loc": "inn tab"}; -locObj.btnAutocampaignOpenJournal = {"txt": "Malfermi taglibro", "loc": "inn tab"}; \ No newline at end of file +locObj.btnAutocampaignOpenJournal = {"txt": "Malfermi taglibro", "loc": "inn tab"}; +locObj.btnUseTowngateScroll = {"txt": "Uzi ruleton de urbeto", "loc": "inn tab"}; +locObj.btnGoToAdvenureMap = {"txt": "Iri al aventura mapo", "loc": "inn tab"}; +locObj.btnRegenerateMap = {"txt": "Regeneri mapon", "loc": "inn tab"}; +locObj.msgHeroAdvancedToNextLvl = {"txt": "Via heroo promociiĝis al la sekva nivelo!", "loc": "event log?"}; +locObj.dlgHeroStance = {"txt": "Ĉu vi volas agresa sinteno (pli alta rekompenco, pli alta risko) aŭ singarda?", "loc": "dialog happens when hero leaving town"}; +locObj.ansHeroAggressiveStance = {"txt": "Agresa! Volu sangon kaj monon!", "loc": "One of the options to the locObj.dlgHeroStance question"}; +locObj.ansHeroCautiousStance = {"txt": "Zorgema. Ĉu bona el oro se via heroo mortis?", "loc": "One of the options to the locObj.dlgHeroStance question"}; +locObj.errHeroHasNoTroops = {"txt": "Vi devas unue aldoni iujn trupojn al la taĉmento de herooj!", "loc": "when trying to send hero outta city with no troops"}; +locObj.errNoHero = {"txt": "Vi bezonas heroon por fari tion!", "loc": "when trying to invoke hero-related actions with no hero"}; +locObj.msgAfterSellToTrader = {"txt": "Estas plezuro havi komercon kun vi. Mi revidos vin", "loc": "not used so far"}; +locObj.msgAfterBuyFromTrader = {"txt": "Gratulojn pro via aĉeto! Vi faris bonan elekton!", "loc": "not used so far"}; +locObj.artifactTowngateAfterUse = {"txt": "La heroo estas malantaŭ la urbo nun!", "loc": "after the artefact was used"}; +locObj.artifactErrNoTowngate = {"txt": "Vi ne havas Towngate-movon!", "loc": "when trying to use towngate scroll witout having one"}; +locObj.artifactErrWrongDirection = {"txt": "Unue, direktu la heroon al la urbo!", "loc": "happens when try to cast towngate and moving from the town"}; +locObj.lblGoodForSale = {"txt": "La komercisto de nigra merkato ofertas ĉi tiujn varojn por vendo!", "loc":"blackmarket tab, good for sale from the NPC"}; +locObj.lblHeroGoodsFoSale = {"txt": "La komercisto de nigra merkato povus aĉeti viajn varojn.", "loc":"blackmarket tab"}; +//TODO chech the following three, they aren't in use right now for some reason! +locObj.tabBlackMarketlblPrice = {"txt": "prezo ", "loc": "blackmarket tab"}; +locObj.btnBuySelected = {"txt": "Aĉeti elektitan", "loc": "blackmarket tab"}; +locObj.btnSellSelected = {"txt": "Vendi elektita", "loc": "blackmarket tab"}; +locObj.lblFirebrigade = {"txt": "Fajrobrigadisto", "loc": "firebrigade tab title"}; +locObj.lblFireServiceStatus = {"txt": "La fajro servo", "loc": "fireservice service label"}; +locObj.onDuty = {"txt": "funkcias", "loc":"a fire service status - enabled"}; +locObj.offDuty = {"txt": "ne funkcias", "loc":"a fire service status - disabled"}; +locObj.lblFirebrigadeUpkeep = {"txt":"La prezo de daŭro de la servo estas", "loc":"firebrigade tab"}; \ No newline at end of file diff --git a/langs/es-ES.js b/langs/es-ES.js index 95e910b..4c5a42f 100644 --- a/langs/es-ES.js +++ b/langs/es-ES.js @@ -223,17 +223,17 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//220 -localeStrings.push("Use towngate scroll"); -localeStrings.push("Go to the adventure map"); -localeStrings.push("Regenerate map"); -localeStrings.push("Your hero got promoted to the next level!"); -localeStrings.push("Do you want aggressive stance (higher reward, higher risk) or cautious one?");//225 -localeStrings.push("Aggressive! Want blood and money!"); -localeStrings.push("Cautious. What good of gold if your hero is dead?"); -localeStrings.push("You need to add some troops to hero's squad first!"); -localeStrings.push("You need a hero to do that!"); -localeStrings.push("It is a pleasure to have a business with you. I will see you again");//230 -localeStrings.push("Congratulations with your purchase! you made good choice!"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//225 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//230 +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -257,26 +257,26 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("The hero is just behind the city now!");//255 -localeStrings.push("You don't have a Towngate scroll!"); -localeStrings.push("First, head the hero to the town!"); +localeStrings.push("placeholder");//255 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//260 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("The blackmarket's merchant offers these goods for sale!");//260 -localeStrings.push("price "); -localeStrings.push("Buy selected"); -localeStrings.push("The blackmarket's merchant could buy your goods."); -localeStrings.push("Sell selected"); localeStrings.push("placeholder");//265 localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("Fire brigade");//270 -localeStrings.push("The fire service is"); -localeStrings.push("on duty"); -localeStrings.push("off duty"); -localeStrings.push("The price of sustain of the service is"); +localeStrings.push("placeholder");//270 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); localeStrings.push("%arg1% of fire extinguished");//275 localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -757,4 +757,29 @@ locObj.lblDirection = {"txt": "Direction: ", "loc": "inn tab"}; locObj.btnDismissHero = {"txt": "Dismiss hero", "loc": "inn tab"}; locObj.btnAutocampaignSendHero = {"txt": "Send hero to autocampaign", "loc": "inn tab"}; locObj.btnAutocampaignWithdrawHero = {"txt": "Withdraw the hero", "loc": "inn tab"}; -locObj.btnAutocampaignOpenJournal = {"txt": "Open journal", "loc": "inn tab"}; \ No newline at end of file +locObj.btnAutocampaignOpenJournal = {"txt": "Open journal", "loc": "inn tab"}; +locObj.btnUseTowngateScroll = {"txt": "Use towngate scroll", "loc": "inn tab"}; +locObj.btnGoToAdvenureMap = {"txt": "Go to the adventure map", "loc": "inn tab"}; +locObj.btnRegenerateMap = {"txt": "Regenerate map", "loc": "inn tab"}; +locObj.msgHeroAdvancedToNextLvl = {"txt": "Your hero got promoted to the next level for his brilliant service", "loc": "event log?"}; +locObj.dlgHeroStance = {"txt": "Do you want aggressive stance (higher reward, higher risk) or cautious one?", "loc": "dialog happens when hero leaving town"}; +locObj.ansHeroAggressiveStance = {"txt": "Aggressive! Want blood and money!", "loc": "One of the options to the locObj.dlgHeroStance question"}; +locObj.ansHeroCautiousStance = {"txt": "Cautious. What good of gold if your hero is dead?", "loc": "One of the options to the locObj.dlgHeroStance question"}; +locObj.errHeroHasNoTroops = {"txt": "You need to add some troops to hero's squad first!", "loc": "when trying to send hero outta city with no troops"}; +locObj.errNoHero = {"txt": "You need a hero to do that!", "loc": "when trying to invoke hero-related actions with no hero"}; +locObj.msgAfterSellToTrader = {"txt": "It is a pleasure to have a business with you. Come again.", "loc": "not used so far"}; +locObj.msgAfterBuyFromTrader = {"txt": "Congratulations with your purchase! you made good choice!", "loc": "not used so far"}; +locObj.artifactTowngateAfterUse = {"txt": "The hero is just behind the city now!", "loc": "after the artefact was used"}; +locObj.artifactErrNoTowngate = {"txt": "You don't have a Towngate scroll!", "loc": "when trying to use towngate scroll witout having one"}; +locObj.artifactErrWrongDirection = {"txt": "First, head the hero to the town!", "loc": "happens when try to cast towngate and moving from the town"}; +locObj.lblGoodForSale = {"txt": "The blackmarket's merchant offers these goods for sale!", "loc":"blackmarket tab, good for sale from the NPC"}; +locObj.lblHeroGoodsFoSale = {"txt": "The blackmarket's merchant could buy your goods.", "loc":"blackmarket tab"}; +//TODO chech the following three, they aren't in use right now for some reason! +locObj.tabBlackMarketlblPrice = {"txt": "price ", "loc": "blackmarket tab"}; +locObj.btnBuySelected = {"txt": "Buy selected", "loc": "blackmarket tab"}; +locObj.btnSellSelected = {"txt": "Sell selected", "loc": "blackmarket tab"}; +locObj.lblFirebrigade = {"txt": "Fire brigade", "loc": "firebrigade tab title"}; +locObj.lblFireServiceStatus = {"txt": "The fire service is", "loc": "fireservice service label"}; +locObj.onDuty = {"txt": "on duty", "loc":"a fire service status - enabled"}; +locObj.offDuty = {"txt": "off duty", "loc":"a fire service status - disabled"}; +locObj.lblFirebrigadeUpkeep = {"txt":"The price of sustain of the service is", "loc":"firebrigade tab"}; \ No newline at end of file diff --git a/langs/fr-FR.js b/langs/fr-FR.js index 5664a7a..4aef985 100644 --- a/langs/fr-FR.js +++ b/langs/fr-FR.js @@ -223,17 +223,17 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); // 220 -localeStrings.push("Utiliser porte de la cité"); -localeStrings.push("Aller à la carte d'aventure"); -localeStrings.push("Régénérer la carte"); -localeStrings.push("Votre héros a été promu au niveau suivant!"); -localeStrings.push("Voulez-vous une attitude agressive (récompense plus élevée, risque plus élevé) ou une position de prudence?");//225 -localeStrings.push("Agressif! Vouloir du sang et de l'or!"); -localeStrings.push("Prudent. A quoi bon d'or si votre héros est mort?"); -localeStrings.push("Vous devez d'abord ajouter des troupes à l'équipe de héros!"); -localeStrings.push("Vous avez besoin d'un héros pour faire ça!"); -localeStrings.push("C'est un plaisir d'avoir une entreprise avec vous. Je te reverrai");//230 -localeStrings.push("Félicitations pour votre achat! Vous avez fait le bon choix!"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//225 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//230 +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -257,26 +257,26 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("Le héros est juste derrière la ville maintenant!");//255 -localeStrings.push("Vous n'avez pas de rouleau Towngate!"); -localeStrings.push("Tout d'abord, dirigez le héros en ville!"); +localeStrings.push("placeholder");//255 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//260 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("Le marchand du marché noir propose ces produits à la vente!");//260 -localeStrings.push("prix "); -localeStrings.push("Acheter sélectionné"); -localeStrings.push("Le marchand du marché noir pourrait acheter vos biens."); -localeStrings.push("Vendre sélectionné"); localeStrings.push("placeholder");//265 localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("Le service d'incendie");//270 -localeStrings.push("Le service d'incendie est"); -localeStrings.push("service"); -localeStrings.push("hors service"); -localeStrings.push("Le prix du maintien du service est de"); +localeStrings.push("placeholder");//270 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); localeStrings.push("%arg1% of fire extinguished");//275 localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -759,4 +759,29 @@ locObj.lblDirection = {"txt": "Direction: ", "loc": "inn tab"}; locObj.btnDismissHero = {"txt": "Rejeter le héros", "loc": "inn tab"}; locObj.btnAutocampaignSendHero = {"txt": "Envoyer le héros à autocampaign", "loc": "inn tab"}; locObj.btnAutocampaignWithdrawHero = {"txt": "Retirer le héros", "loc": "inn tab"}; -locObj.btnAutocampaignOpenJournal = {"txt": "Journal ouvert", "loc": "inn tab"}; \ No newline at end of file +locObj.btnAutocampaignOpenJournal = {"txt": "Journal ouvert", "loc": "inn tab"}; +locObj.btnUseTowngateScroll = {"txt": "Utiliser porte de la cité", "loc": "inn tab"}; +locObj.btnGoToAdvenureMap = {"txt": "Aller à la carte d'aventure", "loc": "inn tab"}; +locObj.btnRegenerateMap = {"txt": "Régénérer la carte", "loc": "inn tab"}; +locObj.msgHeroAdvancedToNextLvl = {"txt": "Votre héros a été promu au niveau suivant!", "loc": "event log?"}; +locObj.dlgHeroStance = {"txt": "Voulez-vous une attitude agressive (récompense plus élevée, risque plus élevé) ou une position de prudence?", "loc": "dialog happens when hero leaving town"}; +locObj.ansHeroAggressiveStance = {"txt": "Agressif! Vouloir du sang et de l'or!", "loc": "One of the options to the locObj.dlgHeroStance question"}; +locObj.ansHeroCautiousStance = {"txt": "Prudent. A quoi bon d'or si votre héros est mort?", "loc": "One of the options to the locObj.dlgHeroStance question"}; +locObj.errHeroHasNoTroops = {"txt": "Vous devez d'abord ajouter des troupes à l'équipe de héros!", "loc": "when trying to send hero outta city with no troops"}; +locObj.errNoHero = {"txt": "Vous avez besoin d'un héros pour faire ça!", "loc": "when trying to invoke hero-related actions with no hero"}; +locObj.msgAfterSellToTrader = {"txt": "C'est un plaisir d'avoir une entreprise avec vous. Je te reverrai", "loc": "not used so far"}; +locObj.msgAfterBuyFromTrader = {"txt": "Félicitations pour votre achat! Vous avez fait le bon choix!", "loc": "not used so far"}; +locObj.artifactTowngateAfterUse = {"txt": "Le héros est juste derrière la ville maintenant!", "loc": "after the artefact was used"}; +locObj.artifactErrNoTowngate = {"txt": "Vous n'avez pas de rouleau Towngate!", "loc": "when trying to use towngate scroll witout having one"}; +locObj.artifactErrWrongDirection = {"txt": "Tout d'abord, dirigez le héros en ville!", "loc": "happens when try to cast towngate and moving from the town"}; +locObj.lblGoodForSale = {"txt": "Le marchand du marché noir propose ces produits à la vente!", "loc":"blackmarket tab, good for sale from the NPC"}; +locObj.lblHeroGoodsFoSale = {"txt": "Le marchand du marché noir pourrait acheter vos biens.", "loc":"blackmarket tab"}; +//TODO chech the following three, they aren't in use right now for some reason! +locObj.tabBlackMarketlblPrice = {"txt": "prix ", "loc": "blackmarket tab"}; +locObj.btnBuySelected = {"txt": "Acheter sélectionné", "loc": "blackmarket tab"}; +locObj.btnSellSelected = {"txt": "Vendre sélectionné", "loc": "blackmarket tab"}; +locObj.lblFirebrigade = {"txt": "Le service d'incendie", "loc": "firebrigade tab title"}; +locObj.lblFireServiceStatus = {"txt": "Le service d'incendie est", "loc": "fireservice service label"}; +locObj.onDuty = {"txt": "service", "loc":"a fire service status - enabled"}; +locObj.offDuty = {"txt": "hors service", "loc":"a fire service status - disabled"}; +locObj.lblFirebrigadeUpkeep = {"txt":"Le prix du maintien du service est de", "loc":"firebrigade tab"}; \ No newline at end of file diff --git a/langs/ru-RU.js b/langs/ru-RU.js index aa75b0b..ac59f2a 100644 --- a/langs/ru-RU.js +++ b/langs/ru-RU.js @@ -223,17 +223,17 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//220 -localeStrings.push("Свиток городских врат"); -localeStrings.push("На карту приключений"); -localeStrings.push("Пересоздать карту"); -localeStrings.push("Ваш герой достиг следующего уровня!"); -localeStrings.push("Выберите поведение героя: агрессивное (выше награда и риск) или осторожное?");//225 -localeStrings.push("Агрессивное. Хочу крови и денег!"); -localeStrings.push("Осторожное. Какой толк от денег, если ваш герой мертв?"); -localeStrings.push("Сначала добавьте войск герою"); -localeStrings.push("Для этого нужен герой!"); -localeStrings.push("Приятно иметь с вами дело. Надеюсь на скорую встречу с вами вновь.");//230 -localeStrings.push("Поздравляю с покупкой. Это хороший выбор."); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//225 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//230 +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -257,26 +257,26 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("Герой теперь буквально в одном шаге от города!");//255 -localeStrings.push("У вас нет свитка городских врат!"); -localeStrings.push("Сначала направьте героя в город."); +localeStrings.push("placeholder");//255 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//260 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("Продавец с черного рынка предлагает свои товары на продажу!");//260 -localeStrings.push("цена "); -localeStrings.push("Купить выбранное"); -localeStrings.push("Продавец с черного рынка может выкупить ваши товары."); -localeStrings.push("Продать выбранное"); localeStrings.push("placeholder");//265 localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("Пожарная охрана");//270 -localeStrings.push("Пожарная охрана"); -localeStrings.push("на службе"); -localeStrings.push("не на службе"); -localeStrings.push("Цена содержания пожарной охраны"); +localeStrings.push("placeholder");//270 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); localeStrings.push("%arg1% of fire extinguished");//275 localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -763,4 +763,29 @@ locObj.lblDirection = {"txt": "Направление: ", "loc": "inn tab"}; locObj.btnDismissHero = {"txt": "Уволить героя", "loc": "inn tab"}; locObj.btnAutocampaignSendHero = {"txt": "Отправить в поход", "loc": "inn tab"}; locObj.btnAutocampaignWithdrawHero = {"txt": "Вернуть из похода", "loc": "inn tab"}; -locObj.btnAutocampaignOpenJournal = {"txt": "Открыть журнал", "loc": "inn tab"}; \ No newline at end of file +locObj.btnAutocampaignOpenJournal = {"txt": "Открыть журнал", "loc": "inn tab"}; +locObj.btnUseTowngateScroll = {"txt": "Свиток городских врат", "loc": "inn tab"}; +locObj.btnGoToAdvenureMap = {"txt": "На карту приключений", "loc": "inn tab"}; +locObj.btnRegenerateMap = {"txt": "Пересоздать карту", "loc": "inn tab"}; +locObj.msgHeroAdvancedToNextLvl = {"txt": "Ваш герой достиг следующего уровня!", "loc": "event log?"}; +locObj.dlgHeroStance = {"txt": "Выберите поведение героя: агрессивное (выше награда и риск) или осторожное?", "loc": "dialog happens when hero leaving town"}; +locObj.ansHeroAggressiveStance = {"txt": "Агрессивное. Хочу крови и денег!", "loc": "One of the options to the locObj.dlgHeroStance question"}; +locObj.ansHeroCautiousStance = {"txt": "Осторожное. Какой толк от денег, если ваш герой мертв?", "loc": "One of the options to the locObj.dlgHeroStance question"}; +locObj.errHeroHasNoTroops = {"txt": "Сначала добавьте войск герою", "loc": "when trying to send hero outta city with no troops"}; +locObj.errNoHero = {"txt": "Для этого нужен герой!", "loc": "when trying to invoke hero-related actions with no hero"}; +locObj.msgAfterSellToTrader = {"txt": "Приятно иметь с вами дело. Надеюсь на скорую встречу с вами вновь.", "loc": "not used so far"}; +locObj.msgAfterBuyFromTrader = {"txt": "Поздравляю с покупкой. Это хороший выбор.", "loc": "not used so far"}; +locObj.artifactTowngateAfterUse = {"txt": "Герой теперь буквально в одном шаге от города!!", "loc": "after the artefact was used"}; +locObj.artifactErrNoTowngate = {"txt": "У вас нет свитка городских врат!", "loc": "when trying to use towngate scroll witout having one"}; +locObj.artifactErrWrongDirection = {"txt": "Сначала направьте героя в город.", "loc": "happens when try to cast towngate and moving from the town"}; +locObj.lblGoodForSale = {"txt": "Продавец с черного рынка предлагает свои товары на продажу!", "loc":"blackmarket tab, good for sale from the NPC"}; +locObj.lblHeroGoodsFoSale = {"txt": "Продавец с черного рынка может выкупить ваши товары.", "loc":"blackmarket tab"}; +//TODO chech the following three, they aren't in use right now for some reason! +locObj.tabBlackMarketlblPrice = {"txt": "цена ", "loc": "blackmarket tab"}; +locObj.btnBuySelected = {"txt": "Купить выбранное", "loc": "blackmarket tab"}; +locObj.btnSellSelected = {"txt": "Продать выбранное", "loc": "blackmarket tab"}; +locObj.lblFirebrigade = {"txt": "Пожарная охрана", "loc": "firebrigade tab title"}; +locObj.lblFireServiceStatus = {"txt": "Пожарная охрана", "loc": "fireservice service label"}; +locObj.onDuty = {"txt": "на службе", "loc":"a fire service status - enabled"}; +locObj.offDuty = {"txt": "не на службе", "loc":"a fire service status - disabled"}; +locObj.lblFirebrigadeUpkeep = {"txt":"Цена содержания пожарной охраны", "loc":"firebrigade tab"}; \ No newline at end of file From efb522ec112aeee4c9c2b56e4936cd5a43ee1c8e Mon Sep 17 00:00:00 2001 From: aablatov Date: Sat, 11 Mar 2023 23:12:35 +0300 Subject: [PATCH 24/86] tests/Cypress-04-1. add clear test data --- .../smoke_prod/cypress/e2e/checkRegGame.cy.js | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js b/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js index c2be4eb..411b483 100644 --- a/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js +++ b/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js @@ -1,5 +1,13 @@ describe('Checking the registration of a new user', () => { + before(() => { + cy.request('DELETE', 'https://navi.areso.pro:7001/api/v1.1/delete_test_users'); + }) + + after(() => { + cy.request('DELETE', 'https://navi.areso.pro:7001/api/v1.1/delete_test_users'); + }) + it('Checking the registration of a new user', () => { cy.visit('/'); @@ -11,7 +19,8 @@ describe('Checking the registration of a new user', () => { cy.window().then((win) => { win.eval('document.getElementById("myDCanvas").classList.remove("active-modal")'); }); - let userName = 'Autotest' + Math.floor(Math.random() * 10000); + + let userName = 'Autotest0000'; cy.get('#tabSettings').click(); cy.get('#selectLng').select('English'); @@ -27,15 +36,15 @@ describe('Checking the registration of a new user', () => { cy.contains('please, make a log-in now!'); }); - cy.get('#buttonLoadFromCloud', { timeout: 9000 }).click(); - cy.get('#log').contains('error from server. Are you logged in? Is server up?'); + cy.get('#buttonLoadFromCloud', { timeout: 15000 }).click(); + cy.get('#log').contains("you don't have saved game in the cloud"); // Check cy.get('#autosaveImg').should('have.attr', 'src', 'resources/button_red.png'); - cy.get('#panelGoldValue').should("have.text", 30); - cy.get('#panelPopValue').should("have.text", 6); - cy.get('#gems').should("have.text", 10); - cy.get('#spnServerStatusValue').should("have.text", "Up"); + cy.get('#panelGoldValue').should('have.text', 30); + cy.get('#panelPopValue').should('have.text', 6); + cy.get('#gems').should('have.text', 10); + cy.get('#spnServerStatusValue').should('have.text', 'Up'); cy.window().its('game.year').should('equal', 1255); cy.window().its('game.season').should('equal', 2); @@ -100,6 +109,5 @@ describe('Checking the registration of a new user', () => { cy.get('#password').type('Autotest'); cy.get('#btnRegLogin').click(); cy.get('#log').contains('login successfull'); - }); }) \ No newline at end of file From fbba67385d5c3df8e27b3dc51424bde475d168ba Mon Sep 17 00:00:00 2001 From: aablatov Date: Sat, 11 Mar 2023 23:26:46 +0300 Subject: [PATCH 25/86] tests/Cypress-04-1. add retries tests --- .../smoke_prod/cypress/e2e/checkRegGame.cy.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js b/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js index 411b483..ec41f0d 100644 --- a/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js +++ b/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js @@ -8,7 +8,12 @@ describe('Checking the registration of a new user', () => { cy.request('DELETE', 'https://navi.areso.pro:7001/api/v1.1/delete_test_users'); }) - it('Checking the registration of a new user', () => { + it('Checking the registration of a new user', { + retries: { + runMode: 2, + openMode: 2, + }, + }, () => { cy.visit('/'); Cypress.on('uncaught:exception', (err, runnable) => { From 16e2eb82613d67d4dc4a48cc7104ffbca3af3240 Mon Sep 17 00:00:00 2001 From: aablatov Date: Sat, 11 Mar 2023 23:35:24 +0300 Subject: [PATCH 26/86] tests/Cypress-04-1. increasing stability --- tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js b/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js index ec41f0d..8e242fa 100644 --- a/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js +++ b/tests/tests_cypress/smoke_prod/cypress/e2e/checkRegGame.cy.js @@ -1,10 +1,10 @@ describe('Checking the registration of a new user', () => { - before(() => { + beforeEach(() => { cy.request('DELETE', 'https://navi.areso.pro:7001/api/v1.1/delete_test_users'); }) - after(() => { + afterEach(() => { cy.request('DELETE', 'https://navi.areso.pro:7001/api/v1.1/delete_test_users'); }) From 4c331ec5eb72390de7984dd616ad61beaa1788ab Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Mon, 13 Mar 2023 01:29:46 +0200 Subject: [PATCH 27/86] 304/378 --- js/dom.js | 6 +- js/game.js | 17 +-- js/objects_artifacts.js | 229 +++++++++++++++++++++++++++++++++------- langs/de-DE.js | 34 +++--- langs/en-US.js | 77 ++++++++------ langs/eo.js | 34 +++--- langs/es-ES.js | 34 +++--- langs/fr-FR.js | 34 +++--- langs/ru-RU.js | 76 +++++++------ 9 files changed, 373 insertions(+), 168 deletions(-) diff --git a/js/dom.js b/js/dom.js index 244bb15..2acf71a 100644 --- a/js/dom.js +++ b/js/dom.js @@ -49,9 +49,9 @@ include('localisation.js',function(){ document.getElementById("lblTabGold").innerText = locObj.tabGoldHistory.txt; document.getElementById("btnColorMode").innerText = locObj.tabSettingsBtnChangeColorMode.txt; document.getElementById("lblTabInn").innerText = locObj.tabInnWelcome.txt; - document.getElementById("lblUpkeepSrc").innerText = localeStrings[279]; - document.getElementById("selectUpkeepSrc")[0].text = localeStrings[284]; - document.getElementById("selectUpkeepSrc")[1].text = localeStrings[285]; + document.getElementById("lblUpkeepSrc").innerText = locObj.heroTroopsUpkeepSource.txt; + document.getElementById("selectUpkeepSrc")[0].text = locObj.heroTroopsUpkeepSrcHeroPurse.txt; + document.getElementById("selectUpkeepSrc")[1].text = locObj.heroTroopsUpkeepSrcTreasury.txt; document.getElementById("btnDismissHero").innerText = locObj.btnDismissHero.txt; document.getElementById("btnAutocampaignJournal").innerText = locObj.btnAutocampaignOpenJournal.txt; document.getElementById("btnTowngate").innerText = locObj.btnUseTowngateScroll.txt; diff --git a/js/game.js b/js/game.js index 24d296c..8b2da25 100644 --- a/js/game.js +++ b/js/game.js @@ -565,7 +565,7 @@ function gameOK() { locObj.ansHeroAggressiveStance.txt, locObj.ansHeroCautiousStance.txt); return; } else { - let alertMsg = locObj.errAddTroopsToHero.txt; + let alertMsg = locObj.errHeroHasNoTroops.txt; showModal(0, '', getAck, alertMsg, locObj.okay.txt, ''); return; } @@ -2306,7 +2306,7 @@ function gameOK() { console.log("Sergeants: ", game.sergeants); console.groupEnd(); - msg = (canUpkeep > 0) ? localeStrings[336].replace("%arg1", dismissedSergeants) : localeStrings[280]; + msg = (canUpkeep > 0) ? localeStrings[336].replace("%arg1", dismissedSergeants) : locObj.noUpkeepSergeantsDismissed.txt; postEventLog(msg); } } @@ -2328,7 +2328,7 @@ function gameOK() { console.log("Turkopols: ", game.turkopols); console.groupEnd(); - msg = (canUpkeep > 0) ? localeStrings[337].replace("%arg1", dismissedTurkopols) : localeStrings[281]; + msg = (canUpkeep > 0) ? localeStrings[337].replace("%arg1", dismissedTurkopols) : locObj.noUpkeepTurkopolsDismissed.txt; postEventLog(msg); } } @@ -2351,7 +2351,7 @@ function gameOK() { console.log("Knights: ", game.knights); console.groupEnd(); - msg = (canUpkeep > 0) ? localeStrings[338].replace("%arg1", dismissedKnights) : localeStrings[282]; + msg = (canUpkeep > 0) ? localeStrings[338].replace("%arg1", dismissedKnights) : locObj.noUpkeepKnightsDismissed.txt; postEventLog(msg); } } @@ -2362,7 +2362,7 @@ function gameOK() { else { game.fireGuard = 0; setupFirebrigadeUI(); - msg = localeStrings[283]; + msg = locObj.noUpkeepFirebrigadeDismissed.txt; postEventLog(msg); } } @@ -2377,7 +2377,9 @@ function gameOK() { document.getElementById("divFBProgress").style.display="inline"; } var fireProgress = Math.ceil((config.fireStepsBasic-game.fireSteps)/config.fireStepsBasic*100); - document.getElementById("divFBProgress").innerHTML = localeStrings[275].replace("%arg1",fireProgress); + //TODO CHECK THIS CODE, IT IS REPEATED TWICE IN DIFFERENT PLACES + //CONSIDER to move to one function + document.getElementById("divFBProgress").innerHTML = locObj.fireExtinguishingProgress.txt.replace("%arg1",fireProgress); } } //console.log("%c GOLD AFTER UPKEEP PAYMENTS: ", "color: blue", game.gold); @@ -2800,7 +2802,8 @@ function gameOK() { } composite(); game.fireSteps = config.fireStepsBasic; - document.getElementById("divFBProgress").innerHTML = localeStrings[275].replace("%arg1","0"); + //TODO check this + document.getElementById("divFBProgress").innerHTML = locObj.fireExtinguishingProgress.txt.replace("%arg1","0"); if (game.fireGuard===1){ document.getElementById("divFBProgress").style.display="inline"; } diff --git a/js/objects_artifacts.js b/js/objects_artifacts.js index c571253..50186c3 100644 --- a/js/objects_artifacts.js +++ b/js/objects_artifacts.js @@ -9,8 +9,16 @@ var artefacts = { artid00: { id: "artid00", img: "scroll_01.png", - name: localeStrings[286], - desc: localeStrings[287], + name: { + "default":"Towngate scroll", + "en-US":"Towngate scroll", + "ru-RU":"Свиток телепорта", + }, + descr: { + "default":"This consumable item allows you to teleport to city from an autocampaign", + "en-US":"This consumable item allows you to teleport to city from an autocampaign", + "ru-RU":"Этот одноразовый предмет позволяет вам совершить телепорт к городу в автокампании.", + }, attr: [], change: [], priceBuy: 500, @@ -19,8 +27,16 @@ var artefacts = { }, artid01: { id: "artid01", - name: localeStrings[288], - desc: localeStrings[289], + name: { + "default":"Four-Leaf Clover", + "en-US":"Four-Leaf Clover", + "ru-RU":"Четырехлистный клевер", + }, + desc: { + "default":"This item increases your hero's luck and superstition by 1", + "en-US":"This item increases your hero's luck and superstition by 1", + "ru-RU":"Этот предмет увеличивает удачу и суеверность героя на 1", + }, attr: ["luck","superstition"], change: [1,1], priceBuy: 1500000, @@ -30,8 +46,16 @@ var artefacts = { }, artid02: { id: "artid02", - name: localeStrings[290], - desc: localeStrings[291], + name: { + "default": "Medal of Valor", + "en-US": "Medal of Valor", + "ru-RU": "Медаль отваги", + }, + desc: { + "default": "This item increases your hero's moral by 1", + "en-US": "This item increases your hero's moral by 1", + "ru-RU": "Этот предмет увеличивает мораль героя на 1", + }, attr: ["moral"], change: [1], priceBuy: 1500000, @@ -41,8 +65,16 @@ var artefacts = { }, artid03: { id: "artid03", - name: localeStrings[292], - desc: localeStrings[293], + name: { + "default": "Medal of Courage", + "en-US": "Medal of Courage", + "ru-RU": "Медаль храбрости", + }, + desc: { + "default": "This item increases your hero's moral by 1", + "en-US": "This item increases your hero's moral by 1", + "ru-RU": "Этот предмет увеличивает мораль героя на 1", + }, attr: ["moral"], change: [1], priceBuy: 1500000, @@ -52,8 +84,16 @@ var artefacts = { }, artid04: { id: "artid04", - name: localeStrings[294], - desc: localeStrings[295], + name: { + "default": "Medal of Honor", + "en-US": "Medal of Honor", + "ru-RU": "Медаль чести", + }, + desc: { + "default": "This item increases your hero's moral by 1", + "en-US": "This item increases your hero's moral by 1", + "ru-RU": "Этот предмет увеличивает мораль героя на 1", + }, attr: ["moral"], change: [1], priceBuy: 1500000, @@ -63,8 +103,16 @@ var artefacts = { }, artid05: { id: "artid05", - name: localeStrings[296], - desc: localeStrings[297], + name: { + "default": "Medal of Distinction", + "en-US": "Medal of Distinction", + "ru-RU": "Медаль за отличия", + }, + desc: { + "default": "This item increases your hero's moral by 1", + "en-US": "This item increases your hero's moral by 1", + "ru-RU": "Этот предмет увеличивает мораль героя на 1", + }, attr: ["moral"], change: [1], priceBuy: 1500000, @@ -74,8 +122,16 @@ var artefacts = { }, artid06: { id: "artid06", - name: localeStrings[298], - desc: localeStrings[299], + name: { + "default": "Rabbit's Foot", + "en-US": "Rabbit's Foot", + "ru-RU": "Заячья лапка", + }, + desc: { + "default": "This item increases your hero's luck and superstition by 1", + "en-US": "This item increases your hero's luck and superstition by 1", + "ru-RU": "Этот предмет увеличивает удачу и суеверность героя на 1", + }, attr: ["luck","superstition"], change: [1,1], priceBuy: 1500000, @@ -85,8 +141,16 @@ var artefacts = { }, artid07: { id: "artid07", - name: localeStrings[300], - desc: localeStrings[301], + name: { + "default": "Golden Horseshoe", + "en-US": "Golden Horseshoe", + "ru-RU": "Золотая подкова", + }, + desc: { + "default": "This item increases your hero's luck and superstition by 1", + "en-US": "This item increases your hero's luck and superstition by 1", + "ru-RU": "Этот предмет увеличивает удачу и суеверность героя на 1", + }, attr: ["luck","superstition"], change: [1,1], priceBuy: 1500000, @@ -96,8 +160,16 @@ var artefacts = { }, artid08: { id: "artid08", - name: localeStrings[302], - desc: localeStrings[303], + name: { + "default": "Gambler's Lucky Coin", + "en-US": "Gambler's Lucky Coin", + "ru-RU": "Удачливая монетка игрока", + }, + desc: { + "default": "This item increases your hero's luck and superstition by 1", + "en-US": "This item increases your hero's luck and superstition by 1", + "ru-RU": "Этот предмет увеличивает удачу и суеверность героя на 1", + }, attr: ["luck","superstition"], change: [1,1], priceBuy: 1500000, @@ -107,8 +179,16 @@ var artefacts = { }, artid09: { id: "artid09", - name: localeStrings[304], - desc: localeStrings[305], + name: { + "default": "Unlucky hourglass", + "en-US": "Unlucky hourglass", + "ru-RU": "Песочные часы неудачи", + }, + desc: { + "default": "This item reset any luck bonuses for your hero and opponent's troops", + "en-US": "This item reset any luck bonuses for your hero and opponent's troops", + "ru-RU": "Этот предмет отменяет все бонусы удачи и суеверности героя и его врага", + }, attr: ["luck","superstition"], change: [0,0], priceBuy: 1500000, @@ -118,8 +198,17 @@ var artefacts = { }, artid10: { id: "artid10", - name: localeStrings[306], - desc: localeStrings[307], + name: { + "default": "Glass globe", + "en-US": "Glass globe", + "ru-RU": "Хрустальный шар", + }, + desc: { + "default": "This item alows your hero to guess next battle result", + "en-US": "This item alows your hero to guess next battle result", + "ru-RU": "Этот предмет позволяет предсказать результат следующей битвы", + }, + comment: "may be do this as chance item? 70% of chance?", attr: [], change: [], priceBuy: 5000000, @@ -130,8 +219,16 @@ var artefacts = { artid11: { id: "artid11", img: "glyph_01.png", - name: locObj.glyphKnightTile.txt, - desc: locObj.glyphKnightDesc.txt, + name: { + "default": "Glyph of Knight's Valor", + "en-US": "Glyph of Knight's Valor", + "ru-RU": "Глиф Рыцарской Доблести", + }, + desc: { + "default": "Increases the hero's attack by +10, increases hero's defence by +6.", + "en-US": "Increases the hero's attack by +10, increases hero's defence by +6.", + "ru-RU": "Увеличивает атаку героя на +10, увеличивает защиту героя на +6", + }, attr: [ { name: "atk", type: BONUS_VALUE_TYPES.INTEGER, val: 10 }, { name: "def", type: BONUS_VALUE_TYPES.INTEGER, val: 6 } @@ -145,8 +242,16 @@ var artefacts = { artid12: { id: "artid12", img: "glyph_02.png", - name: locObj.glyphMonkTile.txt, - desc: locObj.glyphMonkDesc.txt, + name: { + "default": "Glyph of Monk's Virtue", + "en-US": "Glyph of Monk's Virtue", + "ru-RU": "Глиф Монашеской Добродетели", + }, + desc: { + "default": "Increases the hero's attack by +4, increases hero's defence by +12.", + "en-US": "Increases the hero's attack by +4, increases hero's defence by +12.", + "ru-RU": "Увеличивает атаку героя на +4, увеличивает защиту героя на +12", + }, attr: [ { name: "atk", type: BONUS_VALUE_TYPES.INTEGER, val: 4 }, { name: "def", type: BONUS_VALUE_TYPES.INTEGER, val: 12 } @@ -160,8 +265,16 @@ var artefacts = { artid13: { id: "artid13", img: "rune_gold.png", - name: locObj.goldRuneTitle.txt, - desc: locObj.goldRuneDesc.txt, + name: { + "default": "Rune of Golden Search", + "en-US": "Rune of Golden Search", + "ru-RU": "Руна Золотого Поиска", + }, + desc: { + "default": "Increases the hero's gold reward after battle by 7%", + "en-US": "Increases the hero's gold reward after battle by 7%", + "ru-RU": "Увеличивает награду героя золотом после боя на 7%", + }, attr: [{name: "gold", type: BONUS_VALUE_TYPES.PERCENT, val: 1.07}], change: [], priceBuy: 5000000, @@ -172,8 +285,16 @@ var artefacts = { artid14: { id: "artid14", img: "lifeblood_vial.png", - name: locObj.lifebloodVialTitle.txt, - desc: locObj.lifebloodVialDesc.txt, + name: { + "default": "Vial of Lifeblood", + "en-US": "Vial of Lifeblood", + "ru-RU": "Склянка жизненной силы", + }, + desc: { + "default": "Increases the health of all units in the hero's army by +3", + "en-US": "Increases the health of all units in the hero's army by +3", + "ru-RU": "Увеличивает показатель здоровья всех юнитов армии героя на +3", + }, attr: [{ name: "unit_health", type: BONUS_VALUE_TYPES.INTEGER, val: 3 }], change: [], priceBuy: 1000000, @@ -184,8 +305,16 @@ var artefacts = { artid15: { id: "artid15", img: "darkpact_sword.png", - name: locObj.darkPactSwordTitle.txt, - desc: locObj.darkPactSwordDesc.txt, + name: { + "default": "Dark Pact Sword", + "en-US": "Dark Pact Sword", + "ru-RU": "Меч Темного Договора", + }, + desc: { + "default": "Increases the hero's attack by +15, reduces the health of all units in the hero's army by -35%", + "en-US": "Increases the hero's attack by +15, reduces the health of all units in the hero's army by -35%", + "ru-RU": "Увеличивает атаку героя на +15, уменьшает здоровье всех юнитов в армии героя на -35%", + }, attr: [ { name: "atk", type: BONUS_VALUE_TYPES.INTEGER, val: 15 }, { name: "unit_health", type: BONUS_VALUE_TYPES.PERCENT, val: (1 - 0.35) }, @@ -199,8 +328,16 @@ var artefacts = { artid16: { id: "artid16", img: "crusaders_sword.png", - name: locObj.crusadersSwordTitle.txt, - desc: locObj.crusadersSwordDesc.txt, + name: { + "default": "Crusader's Sword", + "en-US": "Crusader's Sword", + "ru-RU": "Меч Крестоносца", + }, + desc: { + "default": "Increases attack of all units in the hero's army by +20%", + "en-US": "Increases attack of all units in the hero's army by +20%", + "ru-RU": "Увеличивает атаку всех юнитов в армии героя на +20", + }, attr: [ { name: "unit_attack", type: BONUS_VALUE_TYPES.PERCENT, val: 1.2 }, ], @@ -213,8 +350,16 @@ var artefacts = { artid17: { id: "artid17", img: 'ring_strength.png', - name: locObj.ringStrengthTitle.txt, - desc: locObj.ringStrengthDesc.txt, + name: { + "default": "Ring of Strength", + "en-US": "Ring of Strength", + "ru-RU": "Кольцо Силы", + }, + desc: { + "default": "Increases the hero's attack by +5, increases attack of all units in the hero's army by +10%", + "en-US": "Increases the hero's attack by +5, increases attack of all units in the hero's army by +10%", + "ru-RU": "Увеличивает атаку героя на +5, увеличивает атаку всех юнитов в армии героя на +10%", + }, attr: [ { name: "atk", type: BONUS_VALUE_TYPES.INTEGER, val: 5 }, { name: "unit_attack", type: BONUS_VALUE_TYPES.PERCENT, val: 1.1 }, @@ -228,8 +373,16 @@ var artefacts = { artid18: { id: "artid18", img: 'ring_protection.png', - name: locObj.ringProtectionTitle.txt, - desc: locObj.ringProtectionDesc.txt, + name: { + "default": "Ring of Protection", + "en-US": "Ring of Protection", + "ru-RU": "Кольцо Защиты", + }, + desc: { + "default": "Increases the hero's defence by +5, increases defence of all units in the hero's army by +10%", + "en-US": "Increases the hero's defence by +5, increases defence of all units in the hero's army by +10%", + "ru-RU": "Увеличивает защиту героя на +5, увеличивает защиту всех юнитов в армии героя на +10%", + }, attr: [ { name: "def", type: BONUS_VALUE_TYPES.INTEGER, val: 5 }, { name: "unit_defence", type: BONUS_VALUE_TYPES.PERCENT, val: 1.1 }, diff --git a/langs/de-DE.js b/langs/de-DE.js index cc5d5cc..25d1a56 100644 --- a/langs/de-DE.js +++ b/langs/de-DE.js @@ -277,21 +277,21 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("%arg1% of fire extinguished");//275 +localeStrings.push("placeholder");//275 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//280 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//285 +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("The primary source of payments to the hero's troops is "); -localeStrings.push("Sie können es sich nicht leisten, Ihre Sergeanten zu behalten. Sie werden entlassen.");//280 -localeStrings.push("Sie können es sich nicht leisten, Ihre Turkopole zu unterhalten. Sie werden entlassen."); -localeStrings.push("Sie können es sich nicht leisten, Ihre Ritter zu unterhalten. Sie werden entlassen."); -localeStrings.push("Sie können es sich nicht leisten, Ihr Feuerwehrteam zu unterhalten. Sie werden entlassen."); -localeStrings.push("the hero's purse"); -localeStrings.push("the treasury");//285 -localeStrings.push("Towngate scroll"); -localeStrings.push("This consumable item allows you to teleport to city from an autocampaign"); -localeStrings.push("Four-Leaf Clover"); -localeStrings.push("This item increases your hero's luck and superstition by 1"); localeStrings.push("Medal of Valor");//290 localeStrings.push("This item increases your hero's moral by 1"); localeStrings.push("Medal of Courage"); @@ -784,4 +784,12 @@ locObj.lblFirebrigade = {"txt": "Feuerwehr", "loc": "firebrigade tab title"}; locObj.lblFireServiceStatus = {"txt": "Die Feuerwehr", "loc": "fireservice service label"}; locObj.onDuty = {"txt": "ist im Dienst", "loc":"a fire service status - enabled"}; locObj.offDuty = {"txt": "ist dienstfrei", "loc":"a fire service status - disabled"}; -locObj.lblFirebrigadeUpkeep = {"txt":"Der Preis für den Erhalt des Dienstes beträgt", "loc":"firebrigade tab"}; \ No newline at end of file +locObj.lblFirebrigadeUpkeep = {"txt":"Der Preis für den Erhalt des Dienstes beträgt", "loc":"firebrigade tab"}; +locObj.fireExtinguishingProgress = {"txt": "%arg1% of fire extinguished", "loc":"firebrigade tab"}; +locObj.heroTroopsUpkeepSource = {"txt": "The primary source of payments to the hero's troops is ", "loc": "inn tab"}; +locObj.noUpkeepSergeantsDismissed = {"txt": "Sie können es sich nicht leisten, Ihre Sergeanten zu behalten. Sie werden entlassen.", "loc":"happens in calcTurn if no money for sergeants"}; +locObj.noUpkeepTurkopolsDismissed = {"txt": "Sie können es sich nicht leisten, Ihre Turkopole zu unterhalten. Sie werden entlassen.", "loc":"happens in calcTurn if no money for turkopols"}; +locObj.noUpkeepKnightsDismissed = {"txt": "Sie können es sich nicht leisten, Ihre Ritter zu unterhalten. Sie werden entlassen", "loc":"happens in calcTurn if no money for knights"}; +locObj.noUpkeepFirebrigadeDismissed = {"txt": "Sie können es sich nicht leisten, Ihr Feuerwehrteam zu unterhalten. Sie werden entlassen.", "loc": "happens in calcTurn if no money for firebrigade"}; +locObj.heroTroopsUpkeepSrcHeroPurse = {"txt": "the hero's purse", "loc": "inn tab"}; +locObj.heroTroopsUpkeepSrcTreasury = {"txt": "the treasury", "loc": "inn tab"}; \ No newline at end of file diff --git a/langs/en-US.js b/langs/en-US.js index 1eea705..ccaa341 100644 --- a/langs/en-US.js +++ b/langs/en-US.js @@ -277,39 +277,39 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("%arg1% of fire extinguished");//275 -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("The primary source of payments to the hero's troops is "); -localeStrings.push("You can't afford upkeep your sergeants. they are dismissed");//280 -localeStrings.push("You can't afford upkeep your turkopols. they are dismissed"); -localeStrings.push("You can't afford upkeep your knights. they are dismissed"); -localeStrings.push("You can't afford upkeep your fireguard team. they are dismissed"); -localeStrings.push("the hero's purse"); -localeStrings.push("the treasury");//285 -localeStrings.push("Towngate scroll"); -localeStrings.push("This consumable item allows you to teleport to city from an autocampaign"); -localeStrings.push("Four-Leaf Clover"); -localeStrings.push("This item increases your hero's luck and superstition by 1"); -localeStrings.push("Medal of Valor");//290 -localeStrings.push("This item increases your hero's moral by 1"); -localeStrings.push("Medal of Courage"); -localeStrings.push("This item increases your hero's moral by 1"); -localeStrings.push("Medal of Honor"); -localeStrings.push("This item increases your hero's moral by 1");//295 -localeStrings.push("Medal of Distinction"); -localeStrings.push("This item increases your hero's moral by 1"); -localeStrings.push("Rabbit's Foot"); -localeStrings.push("This item increases your hero's luck and superstition by 1"); -localeStrings.push("Golden Horseshoe");//300 -localeStrings.push("This item increases your hero's luck and superstition by 1"); -localeStrings.push("Gambler's Lucky Coin"); -localeStrings.push("This item increases your hero's luck and superstition by 1"); -localeStrings.push("Unlucky hourglass"); -localeStrings.push("This item reset any luck bonuses for your hero and opponent's troops");//305 -localeStrings.push("Glass globe"); -localeStrings.push("This item alows your hero to guess next battle result");//almost all times. 70% I guess, would be enough for start +localeStrings.push("placeholder");//275 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//280 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//285 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//290 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//295 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//300 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//305 +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//almost all times. 70% I guess, would be enough for start localeStrings.push("Brother-sergeant. Mounted melee unit. Hiring cost %arg1. Upkeep cost %arg2"); localeStrings.push("Turkopol. Mounted ranged unit. Hiring cost %arg1. Upkeep cost %arg2"); localeStrings.push("Brother-knight. Advanced mounted melee unit. Hiring cost %arg1. Upkeep cost %arg2");//310 @@ -790,4 +790,13 @@ locObj.lblFirebrigade = {"txt": "Fire brigade", "loc": "firebrigade tab title"}; locObj.lblFireServiceStatus = {"txt": "The fire service is", "loc": "fireservice service label"}; locObj.onDuty = {"txt": "on duty", "loc":"a fire service status - enabled"}; locObj.offDuty = {"txt": "off duty", "loc":"a fire service status - disabled"}; -locObj.lblFirebrigadeUpkeep = {"txt":"The price of sustain of the service is", "loc":"firebrigade tab"}; \ No newline at end of file +locObj.lblFirebrigadeUpkeep = {"txt":"The price of sustain of the service is", "loc":"firebrigade tab"}; +locObj.fireExtinguishingProgress = {"txt": "%arg1% of fire extinguished", "loc":"firebrigade tab"}; +locObj.heroTroopsUpkeepSource = {"txt": "The primary source of payments to the hero's troops is ", "loc": "inn tab"}; +locObj.noUpkeepSergeantsDismissed = {"txt": "You can't afford upkeep your sergeants. they are dismissed", "loc":"happens in calcTurn if no money for sergeants"}; +locObj.noUpkeepTurkopolsDismissed = {"txt": "You can't afford upkeep your turkopols. they are dismissed", "loc":"happens in calcTurn if no money for turkopols"}; +locObj.noUpkeepKnightsDismissed = {"txt": "You can't afford upkeep your knights. they are dismissed", "loc":"happens in calcTurn if no money for knights"}; +locObj.noUpkeepFirebrigadeDismissed = {"txt": "You can't afford upkeep your fireguard team. they are dismissed", "loc": "happens in calcTurn if no money for firebrigade"}; +//TODO also add the same noUpkeepGuardsDismissed for Treasury Guards +locObj.heroTroopsUpkeepSrcHeroPurse = {"txt": "the hero's purse", "loc": "inn tab"}; +locObj.heroTroopsUpkeepSrcTreasury = {"txt": "the treasury", "loc": "inn tab"}; \ No newline at end of file diff --git a/langs/eo.js b/langs/eo.js index 6c8268d..99c434b 100644 --- a/langs/eo.js +++ b/langs/eo.js @@ -277,21 +277,21 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("%arg1% of fire extinguished");//275 +localeStrings.push("placeholder");//275 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//280 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//285 +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("The primary source of payments to the hero's troops is "); -localeStrings.push("Vi ne povas permesi gardi viajn serĝentojn. Ili estas eksigitaj.");//280 -localeStrings.push("Vi ne povas permesi konservi viajn turkopolojn. Ili estas eksigitaj."); -localeStrings.push("Vi ne povas permesi konservi viajn kavalirojn. Ili estas eksigitaj."); -localeStrings.push("Vi ne povas permesi subteni vian fajrestingistaron. Ili estas eksigitaj."); -localeStrings.push("the hero's purse"); -localeStrings.push("the treasury");//285 -localeStrings.push("Towngate scroll"); -localeStrings.push("This consumable item allows you to teleport to city from an autocampaign"); -localeStrings.push("Four-Leaf Clover"); -localeStrings.push("This item increases your hero's luck and superstition by 1"); localeStrings.push("Medal of Valor");//290 localeStrings.push("This item increases your hero's moral by 1"); localeStrings.push("Medal of Courage"); @@ -784,4 +784,12 @@ locObj.lblFirebrigade = {"txt": "Fajrobrigadisto", "loc": "firebrigade tab title locObj.lblFireServiceStatus = {"txt": "La fajro servo", "loc": "fireservice service label"}; locObj.onDuty = {"txt": "funkcias", "loc":"a fire service status - enabled"}; locObj.offDuty = {"txt": "ne funkcias", "loc":"a fire service status - disabled"}; -locObj.lblFirebrigadeUpkeep = {"txt":"La prezo de daŭro de la servo estas", "loc":"firebrigade tab"}; \ No newline at end of file +locObj.lblFirebrigadeUpkeep = {"txt":"La prezo de daŭro de la servo estas", "loc":"firebrigade tab"}; +locObj.fireExtinguishingProgress = {"txt": "%arg1% of fire extinguished", "loc":"firebrigade tab"}; +locObj.heroTroopsUpkeepSource = {"txt": "The primary source of payments to the hero's troops is ", "loc": "inn tab"}; +locObj.noUpkeepSergeantsDismissed = {"txt": "Vi ne povas permesi gardi viajn serĝentojn. Ili estas eksigitaj.", "loc":"happens in calcTurn if no money for sergeants"}; +locObj.noUpkeepTurkopolsDismissed = {"txt": "Vi ne povas permesi konservi viajn turkopolojn. Ili estas eksigitaj.", "loc":"happens in calcTurn if no money for turkopols"}; +locObj.noUpkeepKnightsDismissed = {"txt": "Vi ne povas permesi konservi viajn kavalirojn. Ili estas eksigitaj.", "loc":"happens in calcTurn if no money for knights"}; +locObj.noUpkeepFirebrigadeDismissed = {"txt": "Vi ne povas permesi subteni vian fajrestingistaron. Ili estas eksigitaj.", "loc": "happens in calcTurn if no money for firebrigade"}; +locObj.heroTroopsUpkeepSrcHeroPurse = {"txt": "the hero's purse", "loc": "inn tab"}; +locObj.heroTroopsUpkeepSrcTreasury = {"txt": "the treasury", "loc": "inn tab"}; \ No newline at end of file diff --git a/langs/es-ES.js b/langs/es-ES.js index 4c5a42f..1df3fd7 100644 --- a/langs/es-ES.js +++ b/langs/es-ES.js @@ -277,21 +277,21 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("%arg1% of fire extinguished");//275 +localeStrings.push("placeholder");//275 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//280 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//285 +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("The primary source of payments to the hero's troops is "); -localeStrings.push("You can't afford upkeep your sergeants. they are dismissed");//280 -localeStrings.push("You can't afford upkeep your turkopols. they are dismissed"); -localeStrings.push("You can't afford upkeep your knights. they are dismissed"); -localeStrings.push("You can't afford upkeep your fireguard team. they are dismissed"); -localeStrings.push("the hero's purse"); -localeStrings.push("the treasury");//285 -localeStrings.push("Towngate scroll"); -localeStrings.push("This consumable item allows you to teleport to city from an autocampaign"); -localeStrings.push("Four-Leaf Clover"); -localeStrings.push("This item increases your hero's luck and superstition by 1"); localeStrings.push("Medal of Valor");//290 localeStrings.push("This item increases your hero's moral by 1"); localeStrings.push("Medal of Courage"); @@ -782,4 +782,12 @@ locObj.lblFirebrigade = {"txt": "Fire brigade", "loc": "firebrigade tab title"}; locObj.lblFireServiceStatus = {"txt": "The fire service is", "loc": "fireservice service label"}; locObj.onDuty = {"txt": "on duty", "loc":"a fire service status - enabled"}; locObj.offDuty = {"txt": "off duty", "loc":"a fire service status - disabled"}; -locObj.lblFirebrigadeUpkeep = {"txt":"The price of sustain of the service is", "loc":"firebrigade tab"}; \ No newline at end of file +locObj.lblFirebrigadeUpkeep = {"txt":"The price of sustain of the service is", "loc":"firebrigade tab"}; +locObj.fireExtinguishingProgress = {"txt": "%arg1% of fire extinguished", "loc":"firebrigade tab"}; +locObj.heroTroopsUpkeepSource = {"txt": "The primary source of payments to the hero's troops is ", "loc": "inn tab"}; +locObj.noUpkeepSergeantsDismissed = {"txt": "You can't afford upkeep your sergeants. they are dismissed", "loc":"happens in calcTurn if no money for sergeants"}; +locObj.noUpkeepTurkopolsDismissed = {"txt": "You can't afford upkeep your turkopols. they are dismissed", "loc":"happens in calcTurn if no money for turkopols"}; +locObj.noUpkeepKnightsDismissed = {"txt": "You can't afford upkeep your knights. they are dismissed", "loc":"happens in calcTurn if no money for knights"}; +locObj.noUpkeepFirebrigadeDismissed = {"txt": "You can't afford upkeep your fireguard team. they are dismissed", "loc": "happens in calcTurn if no money for firebrigade"}; +locObj.heroTroopsUpkeepSrcHeroPurse = {"txt": "the hero's purse", "loc": "inn tab"}; +locObj.heroTroopsUpkeepSrcTreasury = {"txt": "the treasury", "loc": "inn tab"}; \ No newline at end of file diff --git a/langs/fr-FR.js b/langs/fr-FR.js index 4aef985..d56d83e 100644 --- a/langs/fr-FR.js +++ b/langs/fr-FR.js @@ -277,21 +277,21 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("%arg1% of fire extinguished");//275 +localeStrings.push("placeholder");//275 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//280 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//285 +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("The primary source of payments to the hero's troops is "); -localeStrings.push("Vous ne pouvez pas vous permettre de garder vos sergents. ils sont licenciés.");//280 -localeStrings.push("Vous ne pouvez pas vous permettre d'entretenir vos turkopols. ils sont licenciés."); -localeStrings.push("Vous ne pouvez pas vous permettre d'entretenir vos chevaliers. ils sont licenciés."); -localeStrings.push("Vous ne pouvez pas vous permettre d'entretenir votre équipe de gardes-feu. ils sont licenciés."); -localeStrings.push("the hero's purse"); -localeStrings.push("the treasury");//285 -localeStrings.push("Towngate scroll"); -localeStrings.push("This consumable item allows you to teleport to city from an autocampaign"); -localeStrings.push("Four-Leaf Clover"); -localeStrings.push("This item increases your hero's luck and superstition by 1"); localeStrings.push("Medal of Valor");//290 localeStrings.push("This item increases your hero's moral by 1"); localeStrings.push("Medal of Courage"); @@ -784,4 +784,12 @@ locObj.lblFirebrigade = {"txt": "Le service d'incendie", "loc": "firebrigade tab locObj.lblFireServiceStatus = {"txt": "Le service d'incendie est", "loc": "fireservice service label"}; locObj.onDuty = {"txt": "service", "loc":"a fire service status - enabled"}; locObj.offDuty = {"txt": "hors service", "loc":"a fire service status - disabled"}; -locObj.lblFirebrigadeUpkeep = {"txt":"Le prix du maintien du service est de", "loc":"firebrigade tab"}; \ No newline at end of file +locObj.lblFirebrigadeUpkeep = {"txt":"Le prix du maintien du service est de", "loc":"firebrigade tab"}; +locObj.fireExtinguishingProgress = {"txt": "%arg1% of fire extinguished", "loc":"firebrigade tab"}; +locObj.heroTroopsUpkeepSource = {"txt": "The primary source of payments to the hero's troops is ", "loc": "inn tab"}; +locObj.noUpkeepSergeantsDismissed = {"txt": "You can't afford upkeep your sergeants. they are dismissed", "loc":"happens in calcTurn if no money for sergeants"}; +locObj.noUpkeepTurkopolsDismissed = {"txt": "You can't afford upkeep your turkopols. they are dismissed", "loc":"happens in calcTurn if no money for turkopols"}; +locObj.noUpkeepKnightsDismissed = {"txt": "You can't afford upkeep your knights. they are dismissed", "loc":"happens in calcTurn if no money for knights"}; +locObj.noUpkeepFirebrigadeDismissed = {"txt": "You can't afford upkeep your fireguard team. they are dismissed", "loc": "happens in calcTurn if no money for firebrigade"}; +locObj.heroTroopsUpkeepSrcHeroPurse = {"txt": "the hero's purse", "loc": "inn tab"}; +locObj.heroTroopsUpkeepSrcTreasury = {"txt": "the treasury", "loc": "inn tab"}; \ No newline at end of file diff --git a/langs/ru-RU.js b/langs/ru-RU.js index ac59f2a..3c51d37 100644 --- a/langs/ru-RU.js +++ b/langs/ru-RU.js @@ -277,39 +277,39 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push("%arg1% of fire extinguished");//275 -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("placeholder"); -localeStrings.push("Основной источник выплаты содержания войскам героя "); -localeStrings.push("Вы не можете платить содержание сержантам. Они уволены.");//280 -localeStrings.push("Вы не можете платить содержание туркополам. Они уволены."); -localeStrings.push("Вы не можете платить содержание рыцарям. Они уволены."); -localeStrings.push("Вы не можете платить содержание пожарным. Они уволены."); -localeStrings.push("кошелек героя"); -localeStrings.push("сокровищница");//285 -localeStrings.push("Свиток телепорта"); -localeStrings.push("Этот одноразовый предмет позволяет вам совершить телепорт к городу в автокампании."); -localeStrings.push("Четырехлистный клевер"); -localeStrings.push("Этот предмет увеличивает удачу и суеверность героя на 1"); -localeStrings.push("Медаль отваги");//290 -localeStrings.push("Этот предмет увеличивает мораль героя на 1"); -localeStrings.push("Медаль храбрости"); -localeStrings.push("Этот предмет увеличивает мораль героя на 1"); -localeStrings.push("Медаль чести"); -localeStrings.push("Этот предмет увеличивает мораль героя на 1");//295 -localeStrings.push("Медаль за отличия"); -localeStrings.push("Этот предмет увеличивает мораль героя на 1"); -localeStrings.push("Заячья лапка"); -localeStrings.push("Этот предмет увеличивает удачу и суеверность героя на 1"); -localeStrings.push("Золотая подкова");//300 -localeStrings.push("Этот предмет увеличивает удачу и суеверность героя на 1"); -localeStrings.push("Удачливая монетка игрока"); -localeStrings.push("Этот предмет увеличивает удачу и суеверность героя на 1"); -localeStrings.push("Песочные часы неудачи"); -localeStrings.push("Этот предмет отменяет все бонусы удачи и суеверности героя и его врага");//305 -localeStrings.push("Хрустальный шар"); -localeStrings.push("Этот предмет позволяет предсказать результат следующей битвы");//almost all times. 70% I guess, would be enough for start +localeStrings.push("placeholder");//275 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//280 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//285 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//290 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//295 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//300 +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//305 +localeStrings.push("placeholder"); +localeStrings.push("placeholder");//almost all times. 70% I guess, would be enough for start localeStrings.push("Брат-сержант. Конный воин ближнего боя. Цена найма %arg1. Цена содержания %arg2"); localeStrings.push("Туркопол. Верховой лучник. Цена найма %arg1. Цена содержания %arg2"); localeStrings.push("Брат-рыцарь. Конный воин ближнего боя с хорошими доспехами. Цена найма %arg1. Цена содержания %arg2");//310 @@ -788,4 +788,12 @@ locObj.lblFirebrigade = {"txt": "Пожарная охрана", "loc": "firebri locObj.lblFireServiceStatus = {"txt": "Пожарная охрана", "loc": "fireservice service label"}; locObj.onDuty = {"txt": "на службе", "loc":"a fire service status - enabled"}; locObj.offDuty = {"txt": "не на службе", "loc":"a fire service status - disabled"}; -locObj.lblFirebrigadeUpkeep = {"txt":"Цена содержания пожарной охраны", "loc":"firebrigade tab"}; \ No newline at end of file +locObj.lblFirebrigadeUpkeep = {"txt":"Цена содержания пожарной охраны", "loc":"firebrigade tab"}; +locObj.fireExtinguishingProgress = {"txt": "%arg1% пожара потушено", "loc":"firebrigade tab"}; +locObj.heroTroopsUpkeepSource = {"txt": "Основной источник выплаты содержания войскам героя ", "loc": "inn tab"}; +locObj.noUpkeepSergeantsDismissed = {"txt": "Вы не можете платить содержание сержантам. Они уволены.", "loc":"happens in calcTurn if no money for sergeants"}; +locObj.noUpkeepTurkopolsDismissed = {"txt": "Вы не можете платить содержание туркополам. Они уволены.", "loc":"happens in calcTurn if no money for turkopols"}; +locObj.noUpkeepKnightsDismissed = {"txt": "Вы не можете платить содержание рыцарям. Они уволены.", "loc":"happens in calcTurn if no money for knights"}; +locObj.noUpkeepFirebrigadeDismissed = {"txt": "Вы не можете платить содержание пожарным. Они уволены.", "loc": "happens in calcTurn if no money for firebrigade"}; +locObj.heroTroopsUpkeepSrcHeroPurse = {"txt": "кошелек героя", "loc": "inn tab"}; +locObj.heroTroopsUpkeepSrcTreasury = {"txt": "сокровищница", "loc": "inn tab"}; \ No newline at end of file From e17f187b1ce4dd6f989d21075931bfe6b709bf08 Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Mon, 13 Mar 2023 01:32:43 +0200 Subject: [PATCH 28/86] fixed formatting --- js/game.js | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/js/game.js b/js/game.js index 8b2da25..89f9ede 100644 --- a/js/game.js +++ b/js/game.js @@ -3741,19 +3741,19 @@ WeightedRandom.prototype.clearEntriesList = function() { postEventLog(locObj.welcome1.txt); postEventLog(locObj.welcome2.txt); } - function postEventLog(msgEventLog, styling) { - if (styling) { - styling = styling.toUpperCase(); - switch (styling) { - case 'BOLD': msgEventLog = '' + msgEventLog + ''; break; - case 'ITALIC': msgEventLog = '' + msgEventLog + ''; break; - case 'RED': msgEventLog = '' + msgEventLog + ''; break; - default: console.warn('Unknown msg styling'); - } - } - document.getElementById('log').innerHTML += getTime(0) + ': ' + msgEventLog + '
'; - scrollDown(); - } +function postEventLog(msgEventLog, styling) { + if (styling) { + styling = styling.toUpperCase(); + switch (styling) { + case 'BOLD': msgEventLog = '' + msgEventLog + ''; break; + case 'ITALIC': msgEventLog = '' + msgEventLog + ''; break; + case 'RED': msgEventLog = '' + msgEventLog + ''; break; + default: console.warn('Unknown msg styling'); + } + } + document.getElementById('log').innerHTML += getTime(0) + ': ' + msgEventLog + '
'; + scrollDown(); +} function clearJournalLog() { document.getElementById("lblAutocampaignJournal").innerHTML = ""; } From db9f89581bc1a31ab1406b6df5677b913caa419a Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Tue, 14 Mar 2023 00:13:01 +0200 Subject: [PATCH 29/86] made startFire autotest-aware --- js/game.js | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/js/game.js b/js/game.js index 89f9ede..7d03717 100644 --- a/js/game.js +++ b/js/game.js @@ -2790,10 +2790,15 @@ function gameOK() { } } }, - startFire : function () { + startFire : function (autotest=false) { if (game.year > 1260) { if (game.fire === 0) { - var rnd = Math.floor((Math.random() * 3) + 1); + let rnd = 0 + if (autotest===true) { + rnd = 1 + } else { + rnd = Math.floor((Math.random() * 3) + 1); + } if (rnd === 1) { postEventLog(locObj.fireInCity.txt, "bold"); game.fire = 1; @@ -2814,26 +2819,13 @@ function gameOK() { showModal(0, '', getAck, locObj.tutorial_firebrigade.txt, locObj.okay.txt, '') } //TODO make a certain building in fire, not just "city" - if (game.buildLevelD == 1) { - ceil = 1 - } - if (game.buildLevelD == 2) { - ceil = 2 - } - rnd = Math.floor((Math.random() * 2) + 0); - if (rnd === 0) { - // document.getElementById('constructions').innerHTML = document.getElementById('constructions').innerHTML+fire; - } - if (rnd === 1) { - // document.getElementById('constructions').innerHTML = document.getElementById('constructions').innerHTML+fire; - } - if (rnd === 0) { - // document.getElementById('constructions').innerHTML = document.getElementById('constructions').innerHTML+fire; - } + return true; } } else { - //you can't get another fire, while you do have previous still burning your city. For now. + return false; } + } else { + return false; } }, putOutFire : function () { From fe1ad99cb74d43575b16c2d21c032ed7dc4f1489 Mon Sep 17 00:00:00 2001 From: aablatov Date: Tue, 14 Mar 2023 22:21:09 +0300 Subject: [PATCH 30/86] python_localhost --- .github/workflows/seleinium-pytest-smoke-test.yml | 9 ++++++++- tests/selenium/pages/base_page.py | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/seleinium-pytest-smoke-test.yml b/.github/workflows/seleinium-pytest-smoke-test.yml index 62e97bd..57fc6a0 100644 --- a/.github/workflows/seleinium-pytest-smoke-test.yml +++ b/.github/workflows/seleinium-pytest-smoke-test.yml @@ -14,9 +14,16 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v3 + + - name: run server with the front of the game + run: python3 -m http.server 8080 & + + - name: check whether game is UP + run: | + curl -X GET "http://localhost:8080/" - name: Install python requirements run: pip install -r ./tests/selenium/requirements.txt - name: Run tests - run: pytest -s -v -m smoke ./tests/selenium + run: pytest -s -v -m smoke ./tests/selenium \ No newline at end of file diff --git a/tests/selenium/pages/base_page.py b/tests/selenium/pages/base_page.py index 3bf0f1f..92e3e79 100644 --- a/tests/selenium/pages/base_page.py +++ b/tests/selenium/pages/base_page.py @@ -8,7 +8,7 @@ class BasePage: def __init__(self, browser, timeout=10): self.browser = browser - self.url = "https://1255.areso.pro/" + self.url = "http://localhost:8080/" self.browser.implicitly_wait(timeout) def open(self): From 6124c345641a41b388ce522cf07ca9cfacf18d75 Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Tue, 14 Mar 2023 21:52:37 +0200 Subject: [PATCH 31/86] runs-on: was windows, now ubuntu --- .github/workflows/seleinium-pytest-smoke-test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/seleinium-pytest-smoke-test.yml b/.github/workflows/seleinium-pytest-smoke-test.yml index 57fc6a0..784643c 100644 --- a/.github/workflows/seleinium-pytest-smoke-test.yml +++ b/.github/workflows/seleinium-pytest-smoke-test.yml @@ -9,7 +9,7 @@ on: jobs: smoke_job: name: Smoke tests - runs-on: windows-latest + runs-on: ubuntu-latest steps: - name: Checkout code @@ -26,4 +26,4 @@ jobs: run: pip install -r ./tests/selenium/requirements.txt - name: Run tests - run: pytest -s -v -m smoke ./tests/selenium \ No newline at end of file + run: pytest -s -v -m smoke ./tests/selenium From cf88af3cc562e447cc0eb288d37ce40864e66849 Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Tue, 14 Mar 2023 22:31:45 +0200 Subject: [PATCH 32/86] reversed to Windows; deleted curl --- .github/workflows/seleinium-pytest-smoke-test.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/seleinium-pytest-smoke-test.yml b/.github/workflows/seleinium-pytest-smoke-test.yml index 784643c..85f9641 100644 --- a/.github/workflows/seleinium-pytest-smoke-test.yml +++ b/.github/workflows/seleinium-pytest-smoke-test.yml @@ -9,7 +9,7 @@ on: jobs: smoke_job: name: Smoke tests - runs-on: ubuntu-latest + runs-on: windows-latest steps: - name: Checkout code @@ -18,10 +18,6 @@ jobs: - name: run server with the front of the game run: python3 -m http.server 8080 & - - name: check whether game is UP - run: | - curl -X GET "http://localhost:8080/" - - name: Install python requirements run: pip install -r ./tests/selenium/requirements.txt From 0bc8b19c1344df019c2a585a66c324428d5e9032 Mon Sep 17 00:00:00 2001 From: aablatov Date: Tue, 14 Mar 2023 23:33:25 +0300 Subject: [PATCH 33/86] chrom driver path --- tests/selenium/conftest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/selenium/conftest.py b/tests/selenium/conftest.py index e967fa2..8c4c8df 100644 --- a/tests/selenium/conftest.py +++ b/tests/selenium/conftest.py @@ -13,7 +13,7 @@ def browser(request): browser = None if browser_name == "chrome": print("\nstart chrome browser for test..") - browser = webdriver.Chrome() + browser = webdriver.Chrome('/usr/local/bin/chromedriver') browser.maximize_window() elif browser_name == "firefox": print("\nstart firefox browser for test..") From e03f9859c94fc5e33ae64e2106599d45a9b8d839 Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Tue, 14 Mar 2023 22:38:38 +0200 Subject: [PATCH 34/86] switched to ubuntu --- .github/workflows/seleinium-pytest-smoke-test.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/seleinium-pytest-smoke-test.yml b/.github/workflows/seleinium-pytest-smoke-test.yml index 85f9641..c15a668 100644 --- a/.github/workflows/seleinium-pytest-smoke-test.yml +++ b/.github/workflows/seleinium-pytest-smoke-test.yml @@ -9,7 +9,7 @@ on: jobs: smoke_job: name: Smoke tests - runs-on: windows-latest + runs-on: ubuntu-latest steps: - name: Checkout code @@ -18,6 +18,10 @@ jobs: - name: run server with the front of the game run: python3 -m http.server 8080 & + - name: check whether game is UP + run: | + curl -X GET "http://localhost:8080/" + - name: Install python requirements run: pip install -r ./tests/selenium/requirements.txt From 9394111699a975919c3d695c0be4b916a48283d8 Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Tue, 14 Mar 2023 22:47:42 +0200 Subject: [PATCH 35/86] where is chromedriver? english, do you speak it? --- .github/workflows/seleinium-pytest-smoke-test.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/seleinium-pytest-smoke-test.yml b/.github/workflows/seleinium-pytest-smoke-test.yml index c15a668..4f0b8fd 100644 --- a/.github/workflows/seleinium-pytest-smoke-test.yml +++ b/.github/workflows/seleinium-pytest-smoke-test.yml @@ -21,6 +21,9 @@ jobs: - name: check whether game is UP run: | curl -X GET "http://localhost:8080/" + + - name: where is chromedriver, mzfka? + run: whereis chromedriver - name: Install python requirements run: pip install -r ./tests/selenium/requirements.txt From f292ae179fafb71b45520091b7ffa7fe0a606736 Mon Sep 17 00:00:00 2001 From: aablatov Date: Tue, 14 Mar 2023 23:50:41 +0300 Subject: [PATCH 36/86] chrom driver foreve --- tests/selenium/conftest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/selenium/conftest.py b/tests/selenium/conftest.py index 8c4c8df..b91a743 100644 --- a/tests/selenium/conftest.py +++ b/tests/selenium/conftest.py @@ -13,7 +13,7 @@ def browser(request): browser = None if browser_name == "chrome": print("\nstart chrome browser for test..") - browser = webdriver.Chrome('/usr/local/bin/chromedriver') + browser = webdriver.Chrome('/usr/bin/chromedriver') browser.maximize_window() elif browser_name == "firefox": print("\nstart firefox browser for test..") From 288972301d788b87b8e51653acb1ca0964b9c3a2 Mon Sep 17 00:00:00 2001 From: aablatov Date: Tue, 14 Mar 2023 23:53:46 +0300 Subject: [PATCH 37/86] chrom driver foreve 2 --- tests/selenium/conftest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/selenium/conftest.py b/tests/selenium/conftest.py index b91a743..6b3037c 100644 --- a/tests/selenium/conftest.py +++ b/tests/selenium/conftest.py @@ -13,7 +13,7 @@ def browser(request): browser = None if browser_name == "chrome": print("\nstart chrome browser for test..") - browser = webdriver.Chrome('/usr/bin/chromedriver') + browser = webdriver.Chrome(executable_path='/usr/bin/chromedriver') browser.maximize_window() elif browser_name == "firefox": print("\nstart firefox browser for test..") From 9dcb6be2964124f5234380229eb71f67ab5d51e2 Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Tue, 14 Mar 2023 23:02:07 +0200 Subject: [PATCH 38/86] chromedriver --- .github/workflows/seleinium-pytest-smoke-test.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/seleinium-pytest-smoke-test.yml b/.github/workflows/seleinium-pytest-smoke-test.yml index 4f0b8fd..0d81d6c 100644 --- a/.github/workflows/seleinium-pytest-smoke-test.yml +++ b/.github/workflows/seleinium-pytest-smoke-test.yml @@ -24,6 +24,12 @@ jobs: - name: where is chromedriver, mzfka? run: whereis chromedriver + + - name: what the rights do we have? + run: cd /usr/bin && ls -lah | grep chromedriver + + - name: smokestart the driver + run: /usr/bin/chromedriver - name: Install python requirements run: pip install -r ./tests/selenium/requirements.txt From 5e6012fa3f9f54ed4cfa73e269bfac713a0866c7 Mon Sep 17 00:00:00 2001 From: aablatov Date: Wed, 15 Mar 2023 00:15:19 +0300 Subject: [PATCH 39/86] chrom driver foreve 3 --- tests/selenium/conftest.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/selenium/conftest.py b/tests/selenium/conftest.py index 6b3037c..acc79dc 100644 --- a/tests/selenium/conftest.py +++ b/tests/selenium/conftest.py @@ -4,7 +4,8 @@ def pytest_addoption(parser): - parser.addoption('--browser_name', action='store', default='chrome', + parser.addoption('--browser_name', '--no-sandbox', '--disable-dev-shm-usage', + action='store', default='chrome', help="Choose browser: chrome or firefox") @pytest.fixture(scope="function") @@ -13,7 +14,7 @@ def browser(request): browser = None if browser_name == "chrome": print("\nstart chrome browser for test..") - browser = webdriver.Chrome(executable_path='/usr/bin/chromedriver') + browser = webdriver.Chrome('/usr/bin/chromedriver') browser.maximize_window() elif browser_name == "firefox": print("\nstart firefox browser for test..") From 246f978679bb4255e979910401df7ab84042edf1 Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Tue, 14 Mar 2023 23:17:52 +0200 Subject: [PATCH 40/86] deleted debug commands --- .github/workflows/seleinium-pytest-smoke-test.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.github/workflows/seleinium-pytest-smoke-test.yml b/.github/workflows/seleinium-pytest-smoke-test.yml index 0d81d6c..164a31a 100644 --- a/.github/workflows/seleinium-pytest-smoke-test.yml +++ b/.github/workflows/seleinium-pytest-smoke-test.yml @@ -22,15 +22,6 @@ jobs: run: | curl -X GET "http://localhost:8080/" - - name: where is chromedriver, mzfka? - run: whereis chromedriver - - - name: what the rights do we have? - run: cd /usr/bin && ls -lah | grep chromedriver - - - name: smokestart the driver - run: /usr/bin/chromedriver - - name: Install python requirements run: pip install -r ./tests/selenium/requirements.txt From cb21a58f57ade6a1867baa9f9471df9b3345b6c7 Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Tue, 14 Mar 2023 23:24:06 +0200 Subject: [PATCH 41/86] didn't help --- tests/selenium/conftest.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/selenium/conftest.py b/tests/selenium/conftest.py index acc79dc..6590ffc 100644 --- a/tests/selenium/conftest.py +++ b/tests/selenium/conftest.py @@ -4,8 +4,7 @@ def pytest_addoption(parser): - parser.addoption('--browser_name', '--no-sandbox', '--disable-dev-shm-usage', - action='store', default='chrome', + parser.addoption('--browser_name', action='store', default='chrome', help="Choose browser: chrome or firefox") @pytest.fixture(scope="function") @@ -14,7 +13,11 @@ def browser(request): browser = None if browser_name == "chrome": print("\nstart chrome browser for test..") - browser = webdriver.Chrome('/usr/bin/chromedriver') + chrome_options = Options() + chrome_options.add_argument('--headless') + chrome_options.add_argument('--no-sandbox') + chrome_options.add_argument('--disable-dev-shm-usage') + browser = webdriver.Chrome('/usr/bin/chromedriver', chrome_options=chrome_options)) browser.maximize_window() elif browser_name == "firefox": print("\nstart firefox browser for test..") From 760016a53798dc166244bfd9a4859870a2762bbe Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Tue, 14 Mar 2023 23:25:36 +0200 Subject: [PATCH 42/86] Update conftest.py --- tests/selenium/conftest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/selenium/conftest.py b/tests/selenium/conftest.py index 6590ffc..d59cbed 100644 --- a/tests/selenium/conftest.py +++ b/tests/selenium/conftest.py @@ -17,7 +17,7 @@ def browser(request): chrome_options.add_argument('--headless') chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('--disable-dev-shm-usage') - browser = webdriver.Chrome('/usr/bin/chromedriver', chrome_options=chrome_options)) + browser = webdriver.Chrome('/usr/bin/chromedriver', chrome_options=chrome_options) browser.maximize_window() elif browser_name == "firefox": print("\nstart firefox browser for test..") From 6b5b24a8a1d51205908080d10f97b6d3fa97fbd7 Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Tue, 14 Mar 2023 23:29:39 +0200 Subject: [PATCH 43/86] Update conftest.py --- tests/selenium/conftest.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/selenium/conftest.py b/tests/selenium/conftest.py index d59cbed..1c39edf 100644 --- a/tests/selenium/conftest.py +++ b/tests/selenium/conftest.py @@ -1,6 +1,7 @@ import pytest from selenium import webdriver +from selenium.webdriver.chrome.options import Options def pytest_addoption(parser): From 7af2d11e3387e83a8b24d019214df82c23d98d48 Mon Sep 17 00:00:00 2001 From: aablatov Date: Wed, 15 Mar 2023 23:26:18 +0300 Subject: [PATCH 44/86] correction validateHTML and index.html --- index.html | 148 ++++++++++-------- .../cypress/e2e/validateHTML.cy.js | 3 +- 2 files changed, 82 insertions(+), 69 deletions(-) diff --git a/index.html b/index.html index 83a4607..5fe34d2 100644 --- a/index.html +++ b/index.html @@ -3,10 +3,10 @@ 1255: Rise of Teutonics - - - - + + + + - diff --git a/tests/tests_cypress/validateHTML/cypress/e2e/validateHTML.cy.js b/tests/tests_cypress/validateHTML/cypress/e2e/validateHTML.cy.js index 719a9ec..9e3864c 100644 --- a/tests/tests_cypress/validateHTML/cypress/e2e/validateHTML.cy.js +++ b/tests/tests_cypress/validateHTML/cypress/e2e/validateHTML.cy.js @@ -34,7 +34,8 @@ describe("validate", () => { 'attribute-boolean-style':'warn', 'no-inline-style':'warn', 'valid-id':'warn', - 'void-style':'warn' + 'void-style':'warn', + 'no-dup-id':'warn' } }, From f2bd29c778b6a7087c7bc224c4fd948d8a07ccc9 Mon Sep 17 00:00:00 2001 From: aablatov Date: Wed, 15 Mar 2023 23:36:11 +0300 Subject: [PATCH 45/86] tests/Cypress-05. Check langn en-US --- .../check_langs/cypress.config.js | 10 + .../cypress/e2e/verificationLang.cy.js | 275 ++ .../check_langs/cypress/fixtures/example.json | 5 + .../check_langs/cypress/support/commands.js | 47 + .../check_langs/cypress/support/e2e.js | 20 + .../check_langs/package-lock.json | 3999 +++++++++++++++++ tests/tests_cypress/check_langs/package.json | 15 + 7 files changed, 4371 insertions(+) create mode 100644 tests/tests_cypress/check_langs/cypress.config.js create mode 100644 tests/tests_cypress/check_langs/cypress/e2e/verificationLang.cy.js create mode 100644 tests/tests_cypress/check_langs/cypress/fixtures/example.json create mode 100644 tests/tests_cypress/check_langs/cypress/support/commands.js create mode 100644 tests/tests_cypress/check_langs/cypress/support/e2e.js create mode 100644 tests/tests_cypress/check_langs/package-lock.json create mode 100644 tests/tests_cypress/check_langs/package.json diff --git a/tests/tests_cypress/check_langs/cypress.config.js b/tests/tests_cypress/check_langs/cypress.config.js new file mode 100644 index 0000000..630de6d --- /dev/null +++ b/tests/tests_cypress/check_langs/cypress.config.js @@ -0,0 +1,10 @@ + +export default ({ + e2e: { + baseUrl: 'http://localhost:8080', + setupNodeEvents(on, config) { + video: false; + // implement node event listeners here + }, + }, +}); diff --git a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang.cy.js b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang.cy.js new file mode 100644 index 0000000..8e7433d --- /dev/null +++ b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang.cy.js @@ -0,0 +1,275 @@ +describe('Verification lang', () => { + + beforeEach(() => { + cy.visit('/') + + Cypress.on('uncaught:exception', (err, runnable) => { + return false; + }); + + //close windows canvas + cy.window().then((win) => { + win.eval('document.getElementById("myDCanvas").classList.remove("active-modal")'); + }); + + cy.window().then((win) => { + win.eval('loadLocale("en-US")'); + }); + }) + + it('Verification lang', () => { + let welcome0; + let errGetSaveEndpoint; + + cy.get('#tabSettings').click(); + cy.get('#buttonLoadFromCloud', { timeout: 9000 }).click(); + + cy.get('#log_btn').click(); + + cy.window().then((win) => { + welcome0 = win.eval('locObj.welcome0.txt'); + errGetSaveEndpoint = win.eval('locObj.errGetSaveEndpoint.txt'); + }); + + cy.get('#log').within(() => { + + cy.contains(welcome0); + cy.contains(errGetSaveEndpoint); + }); + }) + + it.skip('Verification lang Fire', () => { + + let fireInCity; + let buttonPutOutFire; + + cy.window().then((win) => { + // win.eval('loadLocale("en-US")'); + // win.eval('game.putOutFireUI()'); + win.eval('game.buildLevelH=3'); + win.eval('game.buildLevelD=2'); + win.eval('game.ticks=3'); + win.eval("game.Build('Home')"); + win.eval('game.startFire()'); + win.eval('game.putOutFireUI()'); + }); + + // cy.get('#chat_btn').click(); + cy.get('#log_btn').click(); + + cy.window().then((win) => { + fireInCity = win.eval('locObj.fireInCity.txt'); + buttonPutOutFire = win.eval('locObj.btnPutOutTheFire.txt'); + }); + + cy.window().then((win) => { + // win.eval('game.startFire()'); + // win.eval('game.putOutFireUI()'); + }); + + cy.get('#log').within(() => { + cy.contains(buttonPutOutFire); + cy.contains(buttonPutOutFire); + }); + }); + + it.skip('Verification lang save/loadGameButton', () => { + + let saveGameButton; + let loadGameButton; + + // cy.window().then((win) => { + // win.eval('loadLocale("en-US")'); + // win.eval('saveGameCallback()'); + // win.eval('loadGameCallback()'); + // win.eval('game.buildLevelH=3'); + // win.eval('game.buildLevelD=2'); + // win.eval('game.ticks=3'); + // win.eval("game.Build('Home')"); + // win.eval('game.startFire()'); + // win.eval('game.putOutFireUI()'); + // }); + + // cy.get('#chat_btn').click(); + cy.get('#log_btn').click(); + + cy.window().then((win) => { + saveGameButton = win.eval('locObj.locSaveGame.txt'); + loadGameButton = win.eval('locObj.locLoadGame.txt'); + }); + + cy.window().then((win) => { + win.eval('saveGameCallback()'); + win.eval('loadGameCallback()'); + }); + + cy.get('#log').within(() => { + cy.contains(saveGameButton); + cy.contains(loadGameButton); + }); + }); + + it('Verification lang tabCity', () => { + cy.langBtn('tabCity', 'tabCity'); + }); + + it('Verification lang btnOpenTabBuilding', () => { + cy.langBtn('btnOpenTabBuilding', 'tabBuilding'); + }); + + it('Verification lang tabSettings', () => { + cy.langBtn('tabSettings', 'tabSettings'); + }); + + it('Verification lang tabAbout', () => { + cy.langBtn('tabAbout', 'tabHowToPlay'); + }); + + it('Verification lang tabDiscord', () => { + cy.langBtn('tabDiscord', 'tabDiscord'); + }); + + it('Verification lang labelSettings', () => { + cy.langContentBtn('tabSettings', 'labelSettings', 'tabSettings'); + }); + + it('Verification lang buttonExportGame', () => { + cy.langContentBtn('tabSettings', 'buttonExportGame', 'tabSettingsBtnExportGame'); + }); + + // -????????---------("buttonPutOutFire").innerText = locObj.btnPutOutTheFire.txt; + // document.getElementById("buttonDeathPenalty").innerText = locObj.btnExecutePerson.txt; + // -????????---------("saveGameButton").innerText = locObj.locSaveGame.txt; + // -????????---------("loadGameButton").innerText = locObj.locLoadGame.txt; + // ------------------("tabCity").innerText = locObj.tabCity.txt; + // ------------------("tabSettings").innerText = locObj.tabSettings.txt; + // ------------------("btnOpenTabBuilding").innerText = locObj.tabBuilding.txt; + // ------------------("tabAbout").innerText = locObj.tabHowToPlay.txt; + // ------------------("tabDiscord").innerText = locObj.tabDiscord.txt; + // ------------------("labelSettings").innerText = locObj.tabSettings.txt; + // ------------------("buttonExportGame").innerText = locObj.tabSettingsBtnExportGame.txt; + // document.getElementById("buttonImportGame").innerText = locObj.tabSettingsBtnImportGame.txt; + // document.getElementById("labelAutosave").innerText = locObj.tabSettingsLblAutosave.txt; + // document.getElementById("labelGarrison").innerText = locObj.lblGarrison.txt; + // document.getElementById("buttonFireGuard").innerText = locObj.btnFire.txt; + // document.getElementById("buttonHireGuard").innerText = locObj.btnHire.txt; + // document.getElementById("lblAboutGame").innerHTML = locObj.tabHowToPlayText.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll); + // document.getElementById("lblTabPop").innerText = locObj.tabPopHistory.txt; + // document.getElementById("lblTabGold").innerText = locObj.tabGoldHistory.txt; + // document.getElementById("btnColorMode").innerText = locObj.tabSettingsBtnChangeColorMode.txt; + // document.getElementById("lblTabInn").innerText = locObj.tabInnWelcome.txt; + // document.getElementById("lblUpkeepSrc").innerText = localeStrings[279]; + // document.getElementById("selectUpkeepSrc")[0].text = localeStrings[284]; + // document.getElementById("selectUpkeepSrc")[1].text = localeStrings[285]; + // document.getElementById("btnDismissHero").innerText = locObj.btnDismissHero.txt; + // document.getElementById("btnAutocampaignJournal").innerText = locObj.btnAutocampaignOpenJournal.txt; + // document.getElementById("btnTowngate").innerText = locObj.btnUseTowngateScroll.txt; + // document.getElementById("btnLeaveCity").innerText = locObj.btnGoToAdvenureMap.txt; + // document.getElementById("btnGenerateMap").innerText = locObj.btnRegenerateMap.txt; + // document.getElementById("btnAutobattlesList").innerText = locObj.autobattle_journal_btn.txt; + // document.getElementById("lblOption").innerText = locObj.tabSoundSettingsLblOption.txt; + // document.getElementById("lblOn").innerText = locObj.on.txt; + // document.getElementById("lblOff").innerText = locObj.off.txt; + // document.getElementById("lblSfxAll").innerText = locObj.tabSoundSettingsLblAllSoundEffects.txt; + // document.getElementById("lblSfxEvt").innerText = locObj.tabSoundSettingsLblAllEventsEffects.txt; + // document.getElementById("lblSfxEvtAR").innerText = locObj.tabSoundSettingsLblEffectsAR.txt; + // document.getElementById("lblMscAll").innerText = locObj.tabSoundSettingsAllMusic.txt; + // document.getElementById("lblMscScr").innerText = locObj.tabSoundSettingsScMusic.txt; + // document.getElementById("btnToGeneralSettings").innerText= locObj.btnBack.txt; + // document.getElementById("btnToInn").innerText = locObj.btnBack.txt; + // document.getElementById("btnToInn1").innerText = locObj.btnBack.txt; + // document.getElementById("lblSoundMenu").innerText = locObj.lblSoundMenu.txt; + // document.getElementById("btnSoundSettings").innerText = locObj.tabSettingsBtnOpenSoundSettings.txt; + // document.getElementById("lblStnMobileUI").innerText = locObj.tabSettingsLblMobileUI.txt; + // document.getElementById("lblStnEventLogSize").innerText = locObj.tabSettingsLblLogSize.txt; + // document.getElementById("lblStnLines").innerText = locObj.tabSettingsLblLines.txt; + // document.getElementById("lblGoodsForSale").innerText = locObj.lblGoodForSale.txt; + // document.getElementById("lblGoodsForBuying").innerText = locObj.lblHeroGoodsFoSale.txt; + // document.getElementById("btnLeaveBlackmarket").innerText = locObj.btnGoToAdvenureMap.txt; + // document.getElementById("lblFirebrigade").innerText = locObj.lblFirebrigade.txt; + // document.getElementById("lblFBOption").innerText = locObj.lblFireServiceStatus.txt; + // document.getElementById("lblFBOn").innerText = locObj.onDuty.txt; + // document.getElementById("lblFBOff").innerText = locObj.offDuty.txt; + // document.getElementById("lblFBUpKeepPrice").innerText = locObj.lblFirebrigadeUpkeep.txt; + // document.getElementById("btnPopAtStart").innerText = locObj.paginationStart.txt; + // document.getElementById("btnGoldAtStart").innerText = locObj.paginationStart.txt; + // document.getElementById("btnPopPrev").innerText = locObj.paginationPrevious.txt; + // document.getElementById("btnGoldPrev").innerText = locObj.paginationPrevious.txt; + // document.getElementById("btnPopNext").innerText = locObj.paginationNext.txt; + // document.getElementById("btnGoldNext").innerText = locObj.paginationNext.txt; + // document.getElementById("btnPopAtEnd").innerText = locObj.paginationCurrent.txt; + // document.getElementById("btnGoldAtEnd").innerText = locObj.paginationCurrent.txt; + // document.getElementById("downloadGame").innerText = localeStrings[328]; + // document.getElementById("lblLevelForHireLbl").innerText = locObj.heroLvlLbl.txt; + // document.getElementById("spnServerStatusLabel").innerText= locObj.serverStatusSpn.txt; + // document.getElementById("spnServerStatusValue").innerText= locObj.serverStatusND.txt; + // document.getElementById("spnOnline").innerText = locObj.online.txt; + // document.getElementById("spnOnlineValue").innerText = locObj.onlineValueND.txt; + + + + + + // }); + // cy.get('#tabSettings').click(); + // cy.get('#selectLng').select('English'); + // cy.get('#btnLogin').click(); + // cy.get('#login').type('tester16'); + // cy.get('#password').type('tester16'); + // cy.get('#btnRegLogin').click(); + // cy.get('#log').contains('login successfull'); + // cy.get('#buttonLoadFromCloud', { timeout: 9000 }).click(); + + // // Check + // cy.get('#autosaveImg').should('have.attr', 'src', 'resources/button_green.png'); + // cy.get('#panelGoldValue').should("have.text", 24180); + // cy.get('#panelPopValue').should("have.text", 648); + // cy.get('#gems').should("have.text", 10); + // cy.get('#spnServerStatusValue').should("have.text", "Up"); + + // cy.window().its('game.year').should('equal', 1308); + // cy.window().its('game.season').should('equal', 3); + // cy.window().its('game.food').should('equal', 20); + // cy.window().its('game.treasuryGuard').should('equal', 20); + // cy.window().its('game.happiness').should('equal', 80); + // cy.window().its('game.fire').should('equal', 0); + // cy.window().its('game.fireSteps').should('equal', 0); + // cy.window().its('game.fireGuard').should('equal', 0); + // cy.window().its('game.hero').should('equal', 0); + + // // checking available buildings + // cy.get('#btnOpenTabBuilding').click(); + + // cy.get('#homes') + // .should('have.text', 'Build Homelvl 17131072 gold') + // .and('have.class', 'btn'); + // cy.get('#defence') + // .should('have.text', 'Build Walllvl 12 gold') + // .and('have.class', 'btn') + // .and('not.be.visible'); + // cy.get('#treasury') + // .should('have.text', 'Build Treasurylvl 1381920000000000000 gold') + // .and('have.class', 'btn'); + // cy.get('#buttonBldGallows') + // .should('have.text', 'Build Gallowslvl 150 gold') + // .and('have.class', 'btn') + // .and('not.be.visible'); + // cy.get('#buttonBldFountain') + // .should('have.text', 'Build Fountainlvl 3125000 gold') + // .and('have.class', 'btn'); + // cy.get('#buttonBldStash') + // .should('have.text', 'Build Stashlvl 3125000 gold') + // .and('have.class', 'btn'); + // cy.get('#buttonBldStable') + // .should('have.text', 'Build Stablelvl 3125000 gold') + // .and('have.class', 'btn'); + // cy.get('#buttonBldArchery') + // .should('have.text', 'Build Archery rangelvl 3125000 gold') + // .and('have.class', 'btn'); + // cy.get('#buttonBldInn') + // .should('have.text', 'Build Innlvl 4160000 gold') + // .and('have.class', 'btn'); + // cy.get('#buttonBuildUniversity') + // .should('have.text', 'Build university200 gold') + // .and('have.class', 'btn'); +}) \ No newline at end of file diff --git a/tests/tests_cypress/check_langs/cypress/fixtures/example.json b/tests/tests_cypress/check_langs/cypress/fixtures/example.json new file mode 100644 index 0000000..02e4254 --- /dev/null +++ b/tests/tests_cypress/check_langs/cypress/fixtures/example.json @@ -0,0 +1,5 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io", + "body": "Fixtures are a great way to mock data for responses to routes" +} diff --git a/tests/tests_cypress/check_langs/cypress/support/commands.js b/tests/tests_cypress/check_langs/cypress/support/commands.js new file mode 100644 index 0000000..f036d95 --- /dev/null +++ b/tests/tests_cypress/check_langs/cypress/support/commands.js @@ -0,0 +1,47 @@ +// *********************************************** +// This example commands.js shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** +// +// +// -- This is a parent command -- +// Cypress.Commands.add('login', (email, password) => { ... }) +// +// +// -- This is a child command -- +// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This will overwrite an existing command -- +// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) + +Cypress.Commands.add('langBtn', (btnName, textName) => { + let text; + cy.get('#'+btnName).click(); + + cy.window().then((win1) => { + text = win1.eval('locObj.' + textName + '.txt'); + cy.get('[id="'+btnName+'"]').should('text', text); + + }); +}) + +Cypress.Commands.add('langContentBtn', (tabName, btnName, textName) => { + let text; + cy.get('#'+tabName).click(); + + cy.window().then((win1) => { + text = win1.eval('locObj.' + textName + '.txt'); + cy.get('[id="'+btnName+'"]').should('text', text); + + }); +}) \ No newline at end of file diff --git a/tests/tests_cypress/check_langs/cypress/support/e2e.js b/tests/tests_cypress/check_langs/cypress/support/e2e.js new file mode 100644 index 0000000..0e7290a --- /dev/null +++ b/tests/tests_cypress/check_langs/cypress/support/e2e.js @@ -0,0 +1,20 @@ +// *********************************************************** +// This example support/e2e.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands' + +// Alternatively you can use CommonJS syntax: +// require('./commands') \ No newline at end of file diff --git a/tests/tests_cypress/check_langs/package-lock.json b/tests/tests_cypress/check_langs/package-lock.json new file mode 100644 index 0000000..27b602d --- /dev/null +++ b/tests/tests_cypress/check_langs/package-lock.json @@ -0,0 +1,3999 @@ +{ + "name": "tests", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "devDependencies": { + "cypress": "12.6.0", + "cypress-html-validate": "^5.1.2", + "html-validate": "^7.13.2" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@cypress/request": { + "version": "2.88.11", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.11.tgz", + "integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "http-signature": "~1.3.6", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "~6.10.3", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dev": true, + "dependencies": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + } + }, + "node_modules/@cypress/xvfb/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@html-validate/stylish": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@html-validate/stylish/-/stylish-3.0.1.tgz", + "integrity": "sha512-jQNDrSnWvJEPSlqC1tFqcbmVuJy2x61UwqFsXHxYT2sgCXFW4AVhsoIcHkECCmUHtQ8hpHU6yOBGA+rMLZhS7A==", + "dev": true, + "dependencies": { + "kleur": "^4.0.0" + }, + "engines": { + "node": ">= 14.0" + } + }, + "node_modules/@sidvind/better-ajv-errors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@sidvind/better-ajv-errors/-/better-ajv-errors-2.1.0.tgz", + "integrity": "sha512-JuIb009FhHuL9priFBho2kv7QmZOydj0LgYvj+h1t0mMCmhM/YmQNRlJR5wVtBZya6wrVFK5Hi5TIbv5BKEx7w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.0", + "chalk": "^4.1.0" + }, + "engines": { + "node": ">= 14.0.0" + }, + "peerDependencies": { + "ajv": "4.11.8 - 8" + } + }, + "node_modules/@types/node": { + "version": "14.18.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz", + "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", + "dev": true + }, + "node_modules/@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", + "dev": true + }, + "node_modules/@types/sizzle": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", + "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", + "dev": true + }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cypress": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.6.0.tgz", + "integrity": "sha512-WdHSVaS1lumSd5XpVTslZd8ui9GIGphrzvXq9+3DtVhqjRZC5M70gu5SW/Y/SLPq3D1wiXGZoHC6HJ7ESVE2lw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@cypress/request": "^2.88.10", + "@cypress/xvfb": "^1.2.4", + "@types/node": "^14.14.31", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.6.0", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^5.1.0", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.4", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "getos": "^3.2.1", + "is-ci": "^3.0.0", + "is-installed-globally": "~0.4.0", + "lazy-ass": "^1.6.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.6", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "semver": "^7.3.2", + "supports-color": "^8.1.1", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + }, + "bin": { + "cypress": "bin/cypress" + }, + "engines": { + "node": "^14.0.0 || ^16.0.0 || >=18.0.0" + } + }, + "node_modules/cypress-html-validate": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/cypress-html-validate/-/cypress-html-validate-5.1.2.tgz", + "integrity": "sha512-e8xL6YvnwRwN/1ey0aTQRbsE50rmUtT7WXPnr7ZjAUhTm/kRMKBzxmCZRqiGhy5Q4lOLOHlOkGFg2wCObvENcQ==", + "dev": true, + "engines": { + "node": ">= 14.19" + }, + "peerDependencies": { + "cypress": "^7.0.1 || ^8 || ^9 || ^10 || ^11.0.1 || ^12", + "html-validate": "^2.17 || ^3 || ^4 || ^5 || ^6 || ^7" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deepmerge": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz", + "integrity": "sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/espree": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "dev": true, + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", + "dev": true + }, + "node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "dependencies": { + "pify": "^2.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dev": true, + "dependencies": { + "async": "^3.2.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/html-validate": { + "version": "7.13.2", + "resolved": "https://registry.npmjs.org/html-validate/-/html-validate-7.13.2.tgz", + "integrity": "sha512-ZUinzQ/a9zC0vP3uoCAKhHWogkCCK8KXcl5gMd+d8esuCl+p5d8P4zL/qSuvhc+zJ3qiIFyDaZ/wyUE1A78vNA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.0", + "@html-validate/stylish": "^3.0.0", + "@sidvind/better-ajv-errors": "^2.0.0", + "acorn-walk": "^8.0.0", + "ajv": "^8.0.0", + "deepmerge": "^4.2.0", + "espree": "^9.0.0", + "glob": "^8.0.0", + "ignore": "^5.0.0", + "kleur": "^4.1.0", + "minimist": "^1.2.0", + "prompts": "^2.0.0", + "semver": "^7.0.0" + }, + "bin": { + "html-validate": "bin/html-validate.js" + }, + "engines": { + "node": ">= 14.0" + }, + "peerDependencies": { + "jest": "^25.1 || ^26 || ^27.1 || ^28.1.3 || ^29.0.3", + "jest-diff": "^25.1 || ^26 || ^27.1 || ^28.1.3 || ^29.0.3", + "jest-snapshot": "^25.1 || ^26 || ^27.1 || ^28.1.3 || ^29.0.3" + }, + "peerDependenciesMeta": { + "jest": { + "optional": true + }, + "jest-diff": { + "optional": true + }, + "jest-snapshot": { + "optional": true + } + } + }, + "node_modules/html-validate/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true, + "engines": { + "node": "> 0.8" + } + }, + "node_modules/listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", + "dev": true + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", + "dev": true + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dev": true, + "dependencies": { + "throttleit": "^1.0.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rxjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "optional": true + }, + "@cypress/request": { + "version": "2.88.11", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.11.tgz", + "integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "http-signature": "~1.3.6", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "~6.10.3", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + } + }, + "@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@html-validate/stylish": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@html-validate/stylish/-/stylish-3.0.1.tgz", + "integrity": "sha512-jQNDrSnWvJEPSlqC1tFqcbmVuJy2x61UwqFsXHxYT2sgCXFW4AVhsoIcHkECCmUHtQ8hpHU6yOBGA+rMLZhS7A==", + "dev": true, + "requires": { + "kleur": "^4.0.0" + } + }, + "@sidvind/better-ajv-errors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@sidvind/better-ajv-errors/-/better-ajv-errors-2.1.0.tgz", + "integrity": "sha512-JuIb009FhHuL9priFBho2kv7QmZOydj0LgYvj+h1t0mMCmhM/YmQNRlJR5wVtBZya6wrVFK5Hi5TIbv5BKEx7w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.0", + "chalk": "^4.1.0" + } + }, + "@types/node": { + "version": "14.18.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz", + "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", + "dev": true + }, + "@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", + "dev": true + }, + "@types/sizzle": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", + "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", + "dev": true + }, + "@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true + }, + "aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true + }, + "cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "dev": true + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true + }, + "ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dev": true, + "requires": { + "@colors/colors": "1.5.0", + "string-width": "^4.2.0" + } + }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true + }, + "common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "cypress": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.6.0.tgz", + "integrity": "sha512-WdHSVaS1lumSd5XpVTslZd8ui9GIGphrzvXq9+3DtVhqjRZC5M70gu5SW/Y/SLPq3D1wiXGZoHC6HJ7ESVE2lw==", + "dev": true, + "requires": { + "@cypress/request": "^2.88.10", + "@cypress/xvfb": "^1.2.4", + "@types/node": "^14.14.31", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.6.0", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^5.1.0", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.4", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "getos": "^3.2.1", + "is-ci": "^3.0.0", + "is-installed-globally": "~0.4.0", + "lazy-ass": "^1.6.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.6", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "semver": "^7.3.2", + "supports-color": "^8.1.1", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + } + }, + "cypress-html-validate": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/cypress-html-validate/-/cypress-html-validate-5.1.2.tgz", + "integrity": "sha512-e8xL6YvnwRwN/1ey0aTQRbsE50rmUtT7WXPnr7ZjAUhTm/kRMKBzxmCZRqiGhy5Q4lOLOHlOkGFg2wCObvENcQ==", + "dev": true, + "requires": {} + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deepmerge": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz", + "integrity": "sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true + }, + "espree": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + } + }, + "eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", + "dev": true + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "requires": { + "pify": "^2.2.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dev": true, + "requires": { + "async": "^3.2.0" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "requires": { + "ini": "2.0.0" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "html-validate": { + "version": "7.13.2", + "resolved": "https://registry.npmjs.org/html-validate/-/html-validate-7.13.2.tgz", + "integrity": "sha512-ZUinzQ/a9zC0vP3uoCAKhHWogkCCK8KXcl5gMd+d8esuCl+p5d8P4zL/qSuvhc+zJ3qiIFyDaZ/wyUE1A78vNA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.0", + "@html-validate/stylish": "^3.0.0", + "@sidvind/better-ajv-errors": "^2.0.0", + "acorn-walk": "^8.0.0", + "ajv": "^8.0.0", + "deepmerge": "^4.2.0", + "espree": "^9.0.0", + "glob": "^8.0.0", + "ignore": "^5.0.0", + "kleur": "^4.1.0", + "minimist": "^1.2.0", + "prompts": "^2.0.0", + "semver": "^7.0.0" + }, + "dependencies": { + "glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + } + } + }, + "http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true + }, + "is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dev": true, + "requires": { + "ci-info": "^3.2.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "requires": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + } + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true + }, + "lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true + }, + "listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "requires": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, + "log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", + "dev": true + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "dependencies": { + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + } + } + }, + "proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", + "dev": true + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "qs": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dev": true, + "requires": { + "throttleit": "^1.0.0" + } + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rxjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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 + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + } +} \ No newline at end of file diff --git a/tests/tests_cypress/check_langs/package.json b/tests/tests_cypress/check_langs/package.json new file mode 100644 index 0000000..9f6b14d --- /dev/null +++ b/tests/tests_cypress/check_langs/package.json @@ -0,0 +1,15 @@ +{ + "devDependencies": { + "cypress": "12.6.0" + }, + "type": "module", + "scripts": { + "start": "npx cypress open", + "test:integration": "docker-compose --file docker-compose.cypress.yml up --exit-code-from cypress --build cypress", + "clean:reports": "rm -rf cypress/reports/", + "test": "npm run clean:reports && cypress run", + "merge:reports": "mochawesome-merge cypress/reports/*.json > cypress-tests-report.json", + "create:html:report": "marge --reportDir tests cypress-tests-report.json", + "generate:html:report": "npm run merge:reports && npm run create:html:report" + } + } \ No newline at end of file From 83e187b177a1286554d73ea83f668ace2ad45a4d Mon Sep 17 00:00:00 2001 From: aablatov Date: Sat, 18 Mar 2023 02:05:40 +0300 Subject: [PATCH 46/86] add --- .../E2E/cypress/e2e/buttonAbout.cy.js | 14 + .../check_langs/cypress.config.js | 2 + .../cypress/e2e/verificationLang.cy.js | 466 ++++++++++++------ .../check_langs/cypress/support/commands.js | 12 + 4 files changed, 353 insertions(+), 141 deletions(-) diff --git a/tests/tests_cypress/E2E/cypress/e2e/buttonAbout.cy.js b/tests/tests_cypress/E2E/cypress/e2e/buttonAbout.cy.js index a969fb6..0d612f9 100644 --- a/tests/tests_cypress/E2E/cypress/e2e/buttonAbout.cy.js +++ b/tests/tests_cypress/E2E/cypress/e2e/buttonAbout.cy.js @@ -58,6 +58,20 @@ describe('About', () => { cy.get('[href="https://github.com/Areso/1255-burgomaster/wiki"]'); cy.get('[href="https://docs.google.com/forms/d/e/1FAIpQLSdM9HyQVEdW39Mc2-t8_LNFXUlyMZLhvX0jx_uvrzxF7QnmfQ/viewform"]'); cy.get('[href="https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE"]'); + + // TODO Проверить что ссылка валидна. Отправляем запрос проверяем на код 200 + // cy + // .get('a') + // .invoke('attr', 'href') + // .then(href => { + + // cy + // .request(href) + // .its('status') + // .should('eq', 200); + + // }); + }); }); }); diff --git a/tests/tests_cypress/check_langs/cypress.config.js b/tests/tests_cypress/check_langs/cypress.config.js index 630de6d..8caa0c5 100644 --- a/tests/tests_cypress/check_langs/cypress.config.js +++ b/tests/tests_cypress/check_langs/cypress.config.js @@ -1,5 +1,7 @@ export default ({ + // defaultCommandTimeout: 200000, + // pageLoadTimeout:10000, e2e: { baseUrl: 'http://localhost:8080', setupNodeEvents(on, config) { diff --git a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang.cy.js b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang.cy.js index 8e7433d..a6fb54a 100644 --- a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang.cy.js +++ b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang.cy.js @@ -1,4 +1,12 @@ + describe('Verification lang', () => { + const LANG = '"en-US"'; + + const CITY = 'tabCity'; + const BUILDING = 'btnOpenTabBuilding'; + const SETTINGS = 'tabSettings'; + const ABOUT = 'tabAbout'; + const DISCORD = 'tabDiscord'; beforeEach(() => { cy.visit('/') @@ -13,131 +21,308 @@ describe('Verification lang', () => { }); cy.window().then((win) => { - win.eval('loadLocale("en-US")'); + win.eval('loadLocale(' + LANG + ')'); }); }) - it('Verification lang', () => { - let welcome0; - let errGetSaveEndpoint; - - cy.get('#tabSettings').click(); - cy.get('#buttonLoadFromCloud', { timeout: 9000 }).click(); + it('Locale ' + LANG + '. Verification welcome text in log', () => { + cy.logText('', 'welcome0'); + cy.logText('', 'welcome1'); + cy.logText('', 'welcome2'); + }) + it('Locale ' + LANG + '. Verification feature Fire', () => { cy.get('#log_btn').click(); cy.window().then((win) => { - welcome0 = win.eval('locObj.welcome0.txt'); - errGetSaveEndpoint = win.eval('locObj.errGetSaveEndpoint.txt'); + win.eval('game.year=1261'); }); - cy.get('#log').within(() => { + cy.logText('game.startFire(autotest=true)', 'fireInCity'); + cy.langContentBtn(CITY, 'buttonPutOutFire', 'btnPutOutTheFire'); + cy.logText('game.putOutFireUI()', 'fireEndedByFireservice'); + }); - cy.contains(welcome0); - cy.contains(errGetSaveEndpoint); - }); - }) + it('Locale ' + LANG + '. Verification button saveGameButton', () => { + cy.langContentBtn(CITY, 'saveGameButton', 'locSaveGame'); + }); - it.skip('Verification lang Fire', () => { + it('Locale ' + LANG + '. Verification button loadGameButton', () => { + cy.langContentBtn(CITY, 'loadGameButton', 'locLoadGame'); + }); - let fireInCity; - let buttonPutOutFire; + it('Locale ' + LANG + '. Verification button tabCity', () => { + cy.langBtn(CITY, 'tabCity'); + }); + it('Locale ' + LANG + '. Verification button btnOpenTabBuilding', () => { + cy.langBtn(BUILDING, 'tabBuilding'); + }); - cy.window().then((win) => { - // win.eval('loadLocale("en-US")'); - // win.eval('game.putOutFireUI()'); - win.eval('game.buildLevelH=3'); - win.eval('game.buildLevelD=2'); - win.eval('game.ticks=3'); - win.eval("game.Build('Home')"); - win.eval('game.startFire()'); - win.eval('game.putOutFireUI()'); - }); + it('Locale ' + LANG + '. Verification button tabSettings', () => { + cy.langBtn(SETTINGS, 'tabSettings'); + }); - // cy.get('#chat_btn').click(); - cy.get('#log_btn').click(); + it('Locale ' + LANG + '. Verification button tabAbout', () => { + cy.langBtn(ABOUT, 'tabHowToPlay'); + }); - cy.window().then((win) => { - fireInCity = win.eval('locObj.fireInCity.txt'); - buttonPutOutFire = win.eval('locObj.btnPutOutTheFire.txt'); - }); + it('Locale ' + LANG + '. Verification button tabDiscord', () => { + cy.langBtn(DISCORD, 'tabDiscord'); + }); - cy.window().then((win) => { - // win.eval('game.startFire()'); - // win.eval('game.putOutFireUI()'); - }); + it('Locale ' + LANG + '. Verification button labelSettings', () => { + cy.langContentBtn(SETTINGS, 'labelSettings', 'tabSettings'); + }); - cy.get('#log').within(() => { - cy.contains(buttonPutOutFire); - cy.contains(buttonPutOutFire); - }); + it('Locale ' + LANG + '. Verification button buttonExportGame', () => { + cy.langContentBtn(SETTINGS, 'buttonExportGame', 'tabSettingsBtnExportGame'); }); - it.skip('Verification lang save/loadGameButton', () => { + it('Locale ' + LANG + '. Verification button buttonImportGame', () => { + cy.langContentBtn(SETTINGS, 'buttonImportGame', 'tabSettingsBtnImportGame'); + }); - let saveGameButton; - let loadGameButton; + it('Locale ' + LANG + '. Verification label labelAutosave', () => { + cy.langContentBtn(SETTINGS, 'labelAutosave', 'tabSettingsLblAutosave'); + }); - // cy.window().then((win) => { - // win.eval('loadLocale("en-US")'); - // win.eval('saveGameCallback()'); - // win.eval('loadGameCallback()'); - // win.eval('game.buildLevelH=3'); - // win.eval('game.buildLevelD=2'); - // win.eval('game.ticks=3'); - // win.eval("game.Build('Home')"); - // win.eval('game.startFire()'); - // win.eval('game.putOutFireUI()'); - // }); + it('Locale ' + LANG + '. Verification label labelGarrison', () => { + cy.langContentBtn(CITY, 'labelGarrison', 'lblGarrison'); + }); - // cy.get('#chat_btn').click(); - cy.get('#log_btn').click(); + it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + cy.langContentBtn(CITY, 'buttonFireGuard', 'btnFire'); + }); - cy.window().then((win) => { - saveGameButton = win.eval('locObj.locSaveGame.txt'); - loadGameButton = win.eval('locObj.locLoadGame.txt'); - }); + it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + cy.langContentBtn(CITY, 'buttonHireGuard', 'btnHire'); + }); - cy.window().then((win) => { - win.eval('saveGameCallback()'); - win.eval('loadGameCallback()'); - }); + // разобраться, возможно сменить блок, проверяем форматированный текст + it.skip('!!!!!!!!!!!!!!!!!!!!!!!!!! Locale ' + LANG + '. Verification label lblAboutGame', () => { + let text; + cy.get('#' + ABOUT).click(); + + cy.window().then((win1) => { + text = win1.eval('locObj.tabHowToPlayText.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll)'); + // cy.get('[id="' + lblAboutGame + '"]').then(() => { + // console.log("=====> " + text); + cy.get('#lblAboutGame').then(() => { + // cy.get('[id="' + aboutGameWrapper + '"]').then(() => { + + cy.contains(text); + }) - cy.get('#log').within(() => { - cy.contains(saveGameButton); - cy.contains(loadGameButton); }); + + }); + + it('Locale ' + LANG + '. Verification label lblTabGold', () => { + cy.langContentBtn(CITY, 'lblTabGold', 'tabGoldHistory'); + }); + + it('Locale ' + LANG + '. Verification label lblTabPop', () => { + cy.langContentBtn(CITY, 'lblTabPop', 'tabPopHistory'); + }); + + it('Locale ' + LANG + '. Verification label lblTabInn', () => { + cy.langContentBtn(CITY, 'lblTabInn', 'tabInnWelcome'); + }); + + it('Locale ' + LANG + '. Verification label lblUpkeepSrc', () => { + cy.langContentBtn(SETTINGS, 'lblUpkeepSrc', 'heroTroopsUpkeepSource'); + }); + + it('Locale ' + LANG + '. Verification label btnColorMode', () => { + cy.langContentBtn(SETTINGS, 'btnColorMode', 'tabSettingsBtnChangeColorMode'); + }); + + it.skip('!!!!!!!!!!!!!!!Locale ' + LANG + '. label selectUpkeepSrc[0]', () => { + cy.langContentBtn(CITY, 'selectUpkeepSrc[0]', 'heroTroopsUpkeepSrcHeroPurse'); + }); + + it.skip('!!!!!!!!!!!!!!!Locale ' + LANG + '. label selectUpkeepSrc[1]', () => { + cy.langContentBtn(CITY, 'selectUpkeepSrc[1]', 'heroTroopsUpkeepSrcTreasury'); + }); + + it('Locale ' + LANG + '. Verification button btnDismissHero', () => { + cy.langContentBtn(CITY, 'btnDismissHero', 'btnDismissHero'); + }); + + it('Locale ' + LANG + '. Verification button btnAutocampaignJournal', () => { + cy.langContentBtn(CITY, 'btnAutocampaignJournal', 'btnAutocampaignOpenJournal'); + }); + + it('Locale ' + LANG + '. Verification button btnTowngate', () => { + cy.langContentBtn(CITY, 'btnTowngate', 'btnUseTowngateScroll'); + }); + + it('Locale ' + LANG + '. Verification button btnLeaveCity', () => { + cy.langContentBtn(CITY, 'btnLeaveCity', 'btnGoToAdvenureMap'); + }); + it('Locale ' + LANG + '. Verification button btnGenerateMap', () => { + cy.langContentBtn(CITY, 'btnGenerateMap', 'btnRegenerateMap'); + }); + + it('Locale ' + LANG + '. Verification button btnAutobattlesList', () => { + cy.langContentBtn(CITY, 'btnAutobattlesList', 'autobattle_journal_btn'); + }); + + it('Locale ' + LANG + '. Verification label lblOption', () => { + cy.langContentBtn(SETTINGS, 'lblOption', 'tabSoundSettingsLblOption'); }); - it('Verification lang tabCity', () => { - cy.langBtn('tabCity', 'tabCity'); + it('Locale ' + LANG + '. Verification label lblOn', () => { + cy.langContentBtn(SETTINGS, 'lblOn', 'on'); }); - it('Verification lang btnOpenTabBuilding', () => { - cy.langBtn('btnOpenTabBuilding', 'tabBuilding'); + it('Locale ' + LANG + '. Verification label lblOff', () => { + cy.langContentBtn(SETTINGS, 'lblOff', 'off'); }); - it('Verification lang tabSettings', () => { - cy.langBtn('tabSettings', 'tabSettings'); + it('Locale ' + LANG + '. Verification label lblSfxAll', () => { + cy.langContentBtn(SETTINGS, 'lblSfxAll', 'tabSoundSettingsLblAllSoundEffects'); }); - it('Verification lang tabAbout', () => { - cy.langBtn('tabAbout', 'tabHowToPlay'); + it('Locale ' + LANG + '. Verification label lblSfxEvt', () => { + cy.langContentBtn(SETTINGS, 'lblSfxEvt', 'tabSoundSettingsLblAllEventsEffects'); }); - it('Verification lang tabDiscord', () => { - cy.langBtn('tabDiscord', 'tabDiscord'); + it('Locale ' + LANG + '. Verification label lblSfxEvtAR', () => { + cy.langContentBtn(SETTINGS, 'lblSfxEvtAR', 'tabSoundSettingsLblEffectsAR'); }); - it('Verification lang labelSettings', () => { - cy.langContentBtn('tabSettings', 'labelSettings', 'tabSettings'); + it('Locale ' + LANG + '. Verification label lblMscAll', () => { + cy.langContentBtn(SETTINGS, 'lblMscAll', 'tabSoundSettingsAllMusic'); }); - it('Verification lang buttonExportGame', () => { - cy.langContentBtn('tabSettings', 'buttonExportGame', 'tabSettingsBtnExportGame'); + it('Locale ' + LANG + '. Verification label lblMscScr', () => { + cy.langContentBtn(SETTINGS, 'lblMscScr', 'tabSoundSettingsScMusic'); }); - // -????????---------("buttonPutOutFire").innerText = locObj.btnPutOutTheFire.txt; + it('Locale ' + LANG + '. Verification button btnToGeneralSettings', () => { + cy.langContentBtn(CITY, 'btnToGeneralSettings', 'btnBack'); + }); + + it('Locale ' + LANG + '. Verification button btnToInn', () => { + cy.langContentBtn(CITY, 'btnToInn', 'btnBack'); + }); + + it('Locale ' + LANG + '. Verification button btnToInn1', () => { + cy.langContentBtn(CITY, 'btnToInn1', 'btnBack'); + }); + + it('Locale ' + LANG + '. Verification label lblSoundMenu', () => { + cy.langContentBtn(SETTINGS, 'lblSoundMenu', 'lblSoundMenu'); + }); + + it('Locale ' + LANG + '. Verification button btnSoundSettings', () => { + cy.langContentBtn(CITY, 'btnSoundSettings', 'tabSettingsBtnOpenSoundSettings'); + }); + + it('Locale ' + LANG + '. Verification label lblStnMobileUI', () => { + cy.langContentBtn(SETTINGS, 'lblStnMobileUI', 'tabSettingsLblMobileUI'); + }); + + it('Locale ' + LANG + '. Verification label lblStnEventLogSize', () => { + cy.langContentBtn(SETTINGS, 'lblStnEventLogSize', 'tabSettingsLblLogSize'); + }); + + it('Locale ' + LANG + '. Verification label lblStnLines', () => { + cy.langContentBtn(SETTINGS, 'lblStnLines', 'tabSettingsLblLines'); + }); + + it('Locale ' + LANG + '. Verification label lblGoodsForSale', () => { + cy.langContentBtn(SETTINGS, 'lblGoodsForSale', 'lblGoodForSale'); + }); + + it('Locale ' + LANG + '. Verification label lblGoodsForBuying', () => { + cy.langContentBtn(SETTINGS, 'lblGoodsForBuying', 'lblHeroGoodsFoSale'); + }); + + it('Locale ' + LANG + '. Verification button btnLeaveBlackmarket', () => { + cy.langContentBtn(CITY, 'btnLeaveBlackmarket', 'btnGoToAdvenureMap'); + }); + + it('Locale ' + LANG + '. Verification label lblFirebrigade', () => { + cy.langContentBtn(SETTINGS, 'lblFirebrigade', 'lblFirebrigade'); + }); + + it('Locale ' + LANG + '. Verification label lblFBOption', () => { + cy.langContentBtn(SETTINGS, 'lblFBOption', 'lblFireServiceStatus'); + }); + + it('Locale ' + LANG + '. Verification label lblFBOn', () => { + cy.langContentBtn(SETTINGS, 'lblFBOn', 'onDuty'); + }); + + it('Locale ' + LANG + '. Verification label lblFBOff', () => { + cy.langContentBtn(SETTINGS, 'lblFBOff', 'offDuty'); + }); + + it('Locale ' + LANG + '. Verification label lblFBUpKeepPrice', () => { + cy.langContentBtn(SETTINGS, 'lblFBUpKeepPrice', 'lblFirebrigadeUpkeep'); + }); + + it('Locale ' + LANG + '. Verification button btnPopAtStart', () => { + cy.langContentBtn(CITY, 'btnPopAtStart', 'paginationStart'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldAtStart', () => { + cy.langContentBtn(CITY, 'btnGoldAtStart', 'paginationStart'); + }); + + it('Locale ' + LANG + '. Verification button btnPopPrev', () => { + cy.langContentBtn(CITY, 'btnPopPrev', 'paginationPrevious'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldPrev', () => { + cy.langContentBtn(CITY, 'btnGoldPrev', 'paginationPrevious'); + }); + + it('Locale ' + LANG + '. Verification button btnPopNext', () => { + cy.langContentBtn(CITY, 'btnPopNext', 'paginationNext'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldNext', () => { + cy.langContentBtn(CITY, 'btnGoldNext', 'paginationNext'); + }); + + it('Locale ' + LANG + '. Verification button btnPopAtEnd', () => { + cy.langContentBtn(CITY, 'btnPopAtEnd', 'paginationCurrent'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldAtEnd', () => { + cy.langContentBtn(CITY, 'btnGoldAtEnd', 'paginationCurrent'); + }); + + it.skip('&&&&&&&&&&&&&&&&Locale ' + LANG + '. Verification button downloadGame', () => { + cy.langContentBtn(CITY, 'downloadGame', 'localeStrings[328]'); + }); + + it('Locale ' + LANG + '. Verification label lblLevelForHireLbl', () => { + cy.langContentBtn(SETTINGS, 'lblLevelForHireLbl', 'heroLvlLbl'); + }); + + it('Locale ' + LANG + '. Verification button spnServerStatusLabel', () => { + cy.langContentBtn(CITY, 'spnServerStatusLabel', 'serverStatusSpn'); + }); + + it('Locale ' + LANG + '. Verification button spnServerStatusValue', () => { + cy.langContentBtn(CITY, 'spnServerStatusValue', 'serverStatusND'); + }); + + it('Locale ' + LANG + '. Verification button spnOnline', () => { + cy.langContentBtn(CITY, 'spnOnline', 'online'); + }); + + it('Locale ' + LANG + '. Verification button spnOnlineValue', () => { + cy.langContentBtn(CITY, 'spnOnlineValue', 'onlineValueND'); + }); + + + // 68 / 7 + // ------------------("buttonPutOutFire").innerText = locObj.btnPutOutTheFire.txt; // document.getElementById("buttonDeathPenalty").innerText = locObj.btnExecutePerson.txt; // -????????---------("saveGameButton").innerText = locObj.locSaveGame.txt; // -????????---------("loadGameButton").innerText = locObj.locLoadGame.txt; @@ -148,64 +333,63 @@ describe('Verification lang', () => { // ------------------("tabDiscord").innerText = locObj.tabDiscord.txt; // ------------------("labelSettings").innerText = locObj.tabSettings.txt; // ------------------("buttonExportGame").innerText = locObj.tabSettingsBtnExportGame.txt; - // document.getElementById("buttonImportGame").innerText = locObj.tabSettingsBtnImportGame.txt; - // document.getElementById("labelAutosave").innerText = locObj.tabSettingsLblAutosave.txt; - // document.getElementById("labelGarrison").innerText = locObj.lblGarrison.txt; - // document.getElementById("buttonFireGuard").innerText = locObj.btnFire.txt; - // document.getElementById("buttonHireGuard").innerText = locObj.btnHire.txt; - // document.getElementById("lblAboutGame").innerHTML = locObj.tabHowToPlayText.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll); - // document.getElementById("lblTabPop").innerText = locObj.tabPopHistory.txt; - // document.getElementById("lblTabGold").innerText = locObj.tabGoldHistory.txt; - // document.getElementById("btnColorMode").innerText = locObj.tabSettingsBtnChangeColorMode.txt; - // document.getElementById("lblTabInn").innerText = locObj.tabInnWelcome.txt; - // document.getElementById("lblUpkeepSrc").innerText = localeStrings[279]; - // document.getElementById("selectUpkeepSrc")[0].text = localeStrings[284]; - // document.getElementById("selectUpkeepSrc")[1].text = localeStrings[285]; - // document.getElementById("btnDismissHero").innerText = locObj.btnDismissHero.txt; - // document.getElementById("btnAutocampaignJournal").innerText = locObj.btnAutocampaignOpenJournal.txt; - // document.getElementById("btnTowngate").innerText = locObj.btnUseTowngateScroll.txt; - // document.getElementById("btnLeaveCity").innerText = locObj.btnGoToAdvenureMap.txt; - // document.getElementById("btnGenerateMap").innerText = locObj.btnRegenerateMap.txt; - // document.getElementById("btnAutobattlesList").innerText = locObj.autobattle_journal_btn.txt; - // document.getElementById("lblOption").innerText = locObj.tabSoundSettingsLblOption.txt; - // document.getElementById("lblOn").innerText = locObj.on.txt; - // document.getElementById("lblOff").innerText = locObj.off.txt; - // document.getElementById("lblSfxAll").innerText = locObj.tabSoundSettingsLblAllSoundEffects.txt; - // document.getElementById("lblSfxEvt").innerText = locObj.tabSoundSettingsLblAllEventsEffects.txt; - // document.getElementById("lblSfxEvtAR").innerText = locObj.tabSoundSettingsLblEffectsAR.txt; - // document.getElementById("lblMscAll").innerText = locObj.tabSoundSettingsAllMusic.txt; - // document.getElementById("lblMscScr").innerText = locObj.tabSoundSettingsScMusic.txt; - // document.getElementById("btnToGeneralSettings").innerText= locObj.btnBack.txt; - // document.getElementById("btnToInn").innerText = locObj.btnBack.txt; - // document.getElementById("btnToInn1").innerText = locObj.btnBack.txt; - // document.getElementById("lblSoundMenu").innerText = locObj.lblSoundMenu.txt; - // document.getElementById("btnSoundSettings").innerText = locObj.tabSettingsBtnOpenSoundSettings.txt; - // document.getElementById("lblStnMobileUI").innerText = locObj.tabSettingsLblMobileUI.txt; - // document.getElementById("lblStnEventLogSize").innerText = locObj.tabSettingsLblLogSize.txt; - // document.getElementById("lblStnLines").innerText = locObj.tabSettingsLblLines.txt; - // document.getElementById("lblGoodsForSale").innerText = locObj.lblGoodForSale.txt; - // document.getElementById("lblGoodsForBuying").innerText = locObj.lblHeroGoodsFoSale.txt; - // document.getElementById("btnLeaveBlackmarket").innerText = locObj.btnGoToAdvenureMap.txt; - // document.getElementById("lblFirebrigade").innerText = locObj.lblFirebrigade.txt; - // document.getElementById("lblFBOption").innerText = locObj.lblFireServiceStatus.txt; - // document.getElementById("lblFBOn").innerText = locObj.onDuty.txt; - // document.getElementById("lblFBOff").innerText = locObj.offDuty.txt; - // document.getElementById("lblFBUpKeepPrice").innerText = locObj.lblFirebrigadeUpkeep.txt; - // document.getElementById("btnPopAtStart").innerText = locObj.paginationStart.txt; - // document.getElementById("btnGoldAtStart").innerText = locObj.paginationStart.txt; - // document.getElementById("btnPopPrev").innerText = locObj.paginationPrevious.txt; - // document.getElementById("btnGoldPrev").innerText = locObj.paginationPrevious.txt; - // document.getElementById("btnPopNext").innerText = locObj.paginationNext.txt; - // document.getElementById("btnGoldNext").innerText = locObj.paginationNext.txt; - // document.getElementById("btnPopAtEnd").innerText = locObj.paginationCurrent.txt; - // document.getElementById("btnGoldAtEnd").innerText = locObj.paginationCurrent.txt; - // document.getElementById("downloadGame").innerText = localeStrings[328]; - // document.getElementById("lblLevelForHireLbl").innerText = locObj.heroLvlLbl.txt; - // document.getElementById("spnServerStatusLabel").innerText= locObj.serverStatusSpn.txt; - // document.getElementById("spnServerStatusValue").innerText= locObj.serverStatusND.txt; - // document.getElementById("spnOnline").innerText = locObj.online.txt; - // document.getElementById("spnOnlineValue").innerText = locObj.onlineValueND.txt; - + // ------------------("buttonImportGame").innerText = locObj.tabSettingsBtnImportGame.txt; + // ------------------("labelAutosave").innerText = locObj.tabSettingsLblAutosave.txt; + // ------------------("labelGarrison").innerText = locObj.lblGarrison.txt; + // ------------------("buttonFireGuard").innerText = locObj.btnFire.txt; + // ------------------("buttonHireGuard").innerText = locObj.btnHire.txt; + // -????????---------("lblAboutGame").innerHTML = locObj.tabHowToPlayText.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll); + // ------------------("lblTabPop").innerText = locObj.tabPopHistory.txt; + // ------------------("lblTabGold").innerText = locObj.tabGoldHistory.txt; + // ------------------("btnColorMode").innerText = locObj.tabSettingsBtnChangeColorMode.txt; + // ------------------("lblTabInn").innerText = locObj.tabInnWelcome.txt; + // ------------------("lblUpkeepSrc").innerText = locObj.heroTroopsUpkeepSource.txt; + // -????????---------("selectUpkeepSrc")[0].text = locObj.heroTroopsUpkeepSrcHeroPurse.txt; + // -????????---------("selectUpkeepSrc")[1].text = locObj.heroTroopsUpkeepSrcTreasury.txt; + // -----------------("btnDismissHero").innerText = locObj.btnDismissHero.txt; + // -----------------("btnAutocampaignJournal").innerText = locObj.btnAutocampaignOpenJournal.txt; + // -----------------("btnTowngate").innerText = locObj.btnUseTowngateScroll.txt; + // -----------------("btnLeaveCity").innerText = locObj.btnGoToAdvenureMap.txt; + // -----------------("btnGenerateMap").innerText = locObj.btnRegenerateMap.txt; + // -----------------("btnAutobattlesList").innerText = locObj.autobattle_journal_btn.txt; + // -----------------("lblOption").innerText = locObj.tabSoundSettingsLblOption.txt; + // -----------------("lblOn").innerText = locObj.on.txt; + // -----------------("lblOff").innerText = locObj.off.txt; + // -----------------("lblSfxAll").innerText = locObj.tabSoundSettingsLblAllSoundEffects.txt; + // -----------------("lblSfxEvt").innerText = locObj.tabSoundSettingsLblAllEventsEffects.txt; + // -----------------("lblSfxEvtAR").innerText = locObj.tabSoundSettingsLblEffectsAR.txt; + // -----------------("lblMscAll").innerText = locObj.tabSoundSettingsAllMusic.txt; + // -----------------("lblMscScr").innerText = locObj.tabSoundSettingsScMusic.txt; + // -----------------("btnToGeneralSettings").innerText= locObj.btnBack.txt; + // -----------------("btnToInn").innerText = locObj.btnBack.txt; + // -----------------("btnToInn1").innerText = locObj.btnBack.txt; + // -----------------("lblSoundMenu").innerText = locObj.lblSoundMenu.txt; + // -----------------("btnSoundSettings").innerText = locObj.tabSettingsBtnOpenSoundSettings.txt; + // -----------------("lblStnMobileUI").innerText = locObj.tabSettingsLblMobileUI.txt; + // -----------------("lblStnEventLogSize").innerText = locObj.tabSettingsLblLogSize.txt; + // -----------------("lblStnLines").innerText = locObj.tabSettingsLblLines.txt; + // -----------------("lblGoodsForSale").innerText = locObj.lblGoodForSale.txt; + // -----------------("lblGoodsForBuying").innerText = locObj.lblHeroGoodsFoSale.txt; + // -----------------("btnLeaveBlackmarket").innerText = locObj.btnGoToAdvenureMap.txt; + // -----------------("lblFirebrigade").innerText = locObj.lblFirebrigade.txt; + // -----------------("lblFBOption").innerText = locObj.lblFireServiceStatus.txt; + // -----------------("lblFBOn").innerText = locObj.onDuty.txt; + // -----------------("lblFBOff").innerText = locObj.offDuty.txt; + // -----------------("lblFBUpKeepPrice").innerText = locObj.lblFirebrigadeUpkeep.txt; + // -----------------("btnPopAtStart").innerText = locObj.paginationStart.txt; + // -----------------("btnGoldAtStart").innerText = locObj.paginationStart.txt; + // -----------------("btnPopPrev").innerText = locObj.paginationPrevious.txt; + // -----------------("btnGoldPrev").innerText = locObj.paginationPrevious.txt; + // -----------------("btnPopNext").innerText = locObj.paginationNext.txt; + // -----------------("btnGoldNext").innerText = locObj.paginationNext.txt; + // -----------------("btnPopAtEnd").innerText = locObj.paginationCurrent.txt; + // -----------------("btnGoldAtEnd").innerText = locObj.paginationCurrent.txt; + // --???????--------("downloadGame").innerText = localeStrings[328]; + // -----------------("lblLevelForHireLbl").innerText = locObj.heroLvlLbl.txt; + // -----------------("spnServerStatusLabel").innerText= locObj.serverStatusSpn.txt; + // -----------------("spnServerStatusValue").innerText= locObj.serverStatusND.txt; + // -----------------("spnOnline").innerText = locObj.online.txt; + // -----------------("spnOnlineValue").innerText = locObj.onlineValueND.txt; diff --git a/tests/tests_cypress/check_langs/cypress/support/commands.js b/tests/tests_cypress/check_langs/cypress/support/commands.js index f036d95..a3d8ff4 100644 --- a/tests/tests_cypress/check_langs/cypress/support/commands.js +++ b/tests/tests_cypress/check_langs/cypress/support/commands.js @@ -43,5 +43,17 @@ Cypress.Commands.add('langContentBtn', (tabName, btnName, textName) => { text = win1.eval('locObj.' + textName + '.txt'); cy.get('[id="'+btnName+'"]').should('text', text); + }); +}) + +Cypress.Commands.add('logText', (eventCommand, textName) => { + let text; + cy.get('#log_btn').click(); + + cy.window().then((win1) => { + win1.eval(eventCommand); + text = win1.eval('locObj.' + textName + '.txt'); + cy.get('[id="log"]').contains(text); + }); }) \ No newline at end of file From 2118c510d6aa7e0d78fb767e6be5dc30a36fcb00 Mon Sep 17 00:00:00 2001 From: aablatov Date: Sun, 19 Mar 2023 01:19:11 +0300 Subject: [PATCH 47/86] add --- .../check_langs/cypress.config.js | 4 + ...ang.cy.js => verificationLang_de-DE.cy.js} | 181 ++-------- .../cypress/e2e/verificationLang_en-US.cy.js | 320 ++++++++++++++++++ .../cypress/e2e/verificationLang_eo.cy.js | 320 ++++++++++++++++++ .../cypress/e2e/verificationLang_fr-FR.cy.js | 320 ++++++++++++++++++ .../cypress/e2e/verificationLang_ru-RU.cy.js | 320 ++++++++++++++++++ .../check_langs/cypress/support/commands.js | 14 +- 7 files changed, 1318 insertions(+), 161 deletions(-) rename tests/tests_cypress/check_langs/cypress/e2e/{verificationLang.cy.js => verificationLang_de-DE.cy.js} (50%) create mode 100644 tests/tests_cypress/check_langs/cypress/e2e/verificationLang_en-US.cy.js create mode 100644 tests/tests_cypress/check_langs/cypress/e2e/verificationLang_eo.cy.js create mode 100644 tests/tests_cypress/check_langs/cypress/e2e/verificationLang_fr-FR.cy.js create mode 100644 tests/tests_cypress/check_langs/cypress/e2e/verificationLang_ru-RU.cy.js diff --git a/tests/tests_cypress/check_langs/cypress.config.js b/tests/tests_cypress/check_langs/cypress.config.js index 8caa0c5..f7e9e6c 100644 --- a/tests/tests_cypress/check_langs/cypress.config.js +++ b/tests/tests_cypress/check_langs/cypress.config.js @@ -2,6 +2,10 @@ export default ({ // defaultCommandTimeout: 200000, // pageLoadTimeout:10000, + retries: { + runMode: 2, + openMode: 2, +}, e2e: { baseUrl: 'http://localhost:8080', setupNodeEvents(on, config) { diff --git a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang.cy.js b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_de-DE.cy.js similarity index 50% rename from tests/tests_cypress/check_langs/cypress/e2e/verificationLang.cy.js rename to tests/tests_cypress/check_langs/cypress/e2e/verificationLang_de-DE.cy.js index a6fb54a..680b119 100644 --- a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang.cy.js +++ b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_de-DE.cy.js @@ -1,6 +1,6 @@ describe('Verification lang', () => { - const LANG = '"en-US"'; + const LANG = '"de-DE"'; // en-US, ru-RU, de-DE, eo, fr-FR const CITY = 'tabCity'; const BUILDING = 'btnOpenTabBuilding'; @@ -26,9 +26,9 @@ describe('Verification lang', () => { }) it('Locale ' + LANG + '. Verification welcome text in log', () => { - cy.logText('', 'welcome0'); - cy.logText('', 'welcome1'); - cy.logText('', 'welcome2'); + cy.langLogText('', 'welcome0'); + cy.langLogText('', 'welcome1'); + cy.langLogText('', 'welcome2'); }) it('Locale ' + LANG + '. Verification feature Fire', () => { @@ -38,9 +38,13 @@ describe('Verification lang', () => { win.eval('game.year=1261'); }); - cy.logText('game.startFire(autotest=true)', 'fireInCity'); + cy.langLogText('game.startFire(autotest=true)', 'fireInCity'); cy.langContentBtn(CITY, 'buttonPutOutFire', 'btnPutOutTheFire'); - cy.logText('game.putOutFireUI()', 'fireEndedByFireservice'); + cy.langLogText('game.putOutFireUI()', 'fireEndedByFireservice'); + }); + + it('Locale ' + LANG + '. Verification button buttonDeathPenalty', () => { + cy.langContentBtn(CITY, 'buttonDeathPenalty', 'btnExecutePerson'); }); it('Locale ' + LANG + '. Verification button saveGameButton', () => { @@ -98,22 +102,15 @@ describe('Verification lang', () => { cy.langContentBtn(CITY, 'buttonHireGuard', 'btnHire'); }); - // разобраться, возможно сменить блок, проверяем форматированный текст - it.skip('!!!!!!!!!!!!!!!!!!!!!!!!!! Locale ' + LANG + '. Verification label lblAboutGame', () => { + // ожидает рефакторинга кода + it.skip('!!!SKIP!!! Locale ' + LANG + '. Verification label lblAboutGame', () => { let text; cy.get('#' + ABOUT).click(); cy.window().then((win1) => { - text = win1.eval('locObj.tabHowToPlayText.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll)'); - // cy.get('[id="' + lblAboutGame + '"]').then(() => { - // console.log("=====> " + text); - cy.get('#lblAboutGame').then(() => { - // cy.get('[id="' + aboutGameWrapper + '"]').then(() => { - - cy.contains(text); - }) - - }); + text = win1.eval('locObj.tabHowToPlayText');//.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll)'); + cy.get('#lblAboutGame').should('text',text); + }); }); @@ -137,12 +134,12 @@ describe('Verification lang', () => { cy.langContentBtn(SETTINGS, 'btnColorMode', 'tabSettingsBtnChangeColorMode'); }); - it.skip('!!!!!!!!!!!!!!!Locale ' + LANG + '. label selectUpkeepSrc[0]', () => { - cy.langContentBtn(CITY, 'selectUpkeepSrc[0]', 'heroTroopsUpkeepSrcHeroPurse'); + it('Locale ' + LANG + '. label selectUpkeepSrc[0]', () => { + cy.langListElement(CITY, 'selectUpkeepSrc',0, 'heroTroopsUpkeepSrcHeroPurse'); }); - it.skip('!!!!!!!!!!!!!!!Locale ' + LANG + '. label selectUpkeepSrc[1]', () => { - cy.langContentBtn(CITY, 'selectUpkeepSrc[1]', 'heroTroopsUpkeepSrcTreasury'); + it('Locale ' + LANG + '. label selectUpkeepSrc[1]', () => { + cy.langListElement(CITY, 'selectUpkeepSrc',1, 'heroTroopsUpkeepSrcTreasury'); }); it('Locale ' + LANG + '. Verification button btnDismissHero', () => { @@ -296,7 +293,8 @@ describe('Verification lang', () => { cy.langContentBtn(CITY, 'btnGoldAtEnd', 'paginationCurrent'); }); - it.skip('&&&&&&&&&&&&&&&&Locale ' + LANG + '. Verification button downloadGame', () => { + // Ожидает рефакторинга кода + it.skip('!!!SKIP!!!Locale ' + LANG + '. Verification button downloadGame', () => { cy.langContentBtn(CITY, 'downloadGame', 'localeStrings[328]'); }); @@ -319,141 +317,4 @@ describe('Verification lang', () => { it('Locale ' + LANG + '. Verification button spnOnlineValue', () => { cy.langContentBtn(CITY, 'spnOnlineValue', 'onlineValueND'); }); - - - // 68 / 7 - // ------------------("buttonPutOutFire").innerText = locObj.btnPutOutTheFire.txt; - // document.getElementById("buttonDeathPenalty").innerText = locObj.btnExecutePerson.txt; - // -????????---------("saveGameButton").innerText = locObj.locSaveGame.txt; - // -????????---------("loadGameButton").innerText = locObj.locLoadGame.txt; - // ------------------("tabCity").innerText = locObj.tabCity.txt; - // ------------------("tabSettings").innerText = locObj.tabSettings.txt; - // ------------------("btnOpenTabBuilding").innerText = locObj.tabBuilding.txt; - // ------------------("tabAbout").innerText = locObj.tabHowToPlay.txt; - // ------------------("tabDiscord").innerText = locObj.tabDiscord.txt; - // ------------------("labelSettings").innerText = locObj.tabSettings.txt; - // ------------------("buttonExportGame").innerText = locObj.tabSettingsBtnExportGame.txt; - // ------------------("buttonImportGame").innerText = locObj.tabSettingsBtnImportGame.txt; - // ------------------("labelAutosave").innerText = locObj.tabSettingsLblAutosave.txt; - // ------------------("labelGarrison").innerText = locObj.lblGarrison.txt; - // ------------------("buttonFireGuard").innerText = locObj.btnFire.txt; - // ------------------("buttonHireGuard").innerText = locObj.btnHire.txt; - // -????????---------("lblAboutGame").innerHTML = locObj.tabHowToPlayText.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll); - // ------------------("lblTabPop").innerText = locObj.tabPopHistory.txt; - // ------------------("lblTabGold").innerText = locObj.tabGoldHistory.txt; - // ------------------("btnColorMode").innerText = locObj.tabSettingsBtnChangeColorMode.txt; - // ------------------("lblTabInn").innerText = locObj.tabInnWelcome.txt; - // ------------------("lblUpkeepSrc").innerText = locObj.heroTroopsUpkeepSource.txt; - // -????????---------("selectUpkeepSrc")[0].text = locObj.heroTroopsUpkeepSrcHeroPurse.txt; - // -????????---------("selectUpkeepSrc")[1].text = locObj.heroTroopsUpkeepSrcTreasury.txt; - // -----------------("btnDismissHero").innerText = locObj.btnDismissHero.txt; - // -----------------("btnAutocampaignJournal").innerText = locObj.btnAutocampaignOpenJournal.txt; - // -----------------("btnTowngate").innerText = locObj.btnUseTowngateScroll.txt; - // -----------------("btnLeaveCity").innerText = locObj.btnGoToAdvenureMap.txt; - // -----------------("btnGenerateMap").innerText = locObj.btnRegenerateMap.txt; - // -----------------("btnAutobattlesList").innerText = locObj.autobattle_journal_btn.txt; - // -----------------("lblOption").innerText = locObj.tabSoundSettingsLblOption.txt; - // -----------------("lblOn").innerText = locObj.on.txt; - // -----------------("lblOff").innerText = locObj.off.txt; - // -----------------("lblSfxAll").innerText = locObj.tabSoundSettingsLblAllSoundEffects.txt; - // -----------------("lblSfxEvt").innerText = locObj.tabSoundSettingsLblAllEventsEffects.txt; - // -----------------("lblSfxEvtAR").innerText = locObj.tabSoundSettingsLblEffectsAR.txt; - // -----------------("lblMscAll").innerText = locObj.tabSoundSettingsAllMusic.txt; - // -----------------("lblMscScr").innerText = locObj.tabSoundSettingsScMusic.txt; - // -----------------("btnToGeneralSettings").innerText= locObj.btnBack.txt; - // -----------------("btnToInn").innerText = locObj.btnBack.txt; - // -----------------("btnToInn1").innerText = locObj.btnBack.txt; - // -----------------("lblSoundMenu").innerText = locObj.lblSoundMenu.txt; - // -----------------("btnSoundSettings").innerText = locObj.tabSettingsBtnOpenSoundSettings.txt; - // -----------------("lblStnMobileUI").innerText = locObj.tabSettingsLblMobileUI.txt; - // -----------------("lblStnEventLogSize").innerText = locObj.tabSettingsLblLogSize.txt; - // -----------------("lblStnLines").innerText = locObj.tabSettingsLblLines.txt; - // -----------------("lblGoodsForSale").innerText = locObj.lblGoodForSale.txt; - // -----------------("lblGoodsForBuying").innerText = locObj.lblHeroGoodsFoSale.txt; - // -----------------("btnLeaveBlackmarket").innerText = locObj.btnGoToAdvenureMap.txt; - // -----------------("lblFirebrigade").innerText = locObj.lblFirebrigade.txt; - // -----------------("lblFBOption").innerText = locObj.lblFireServiceStatus.txt; - // -----------------("lblFBOn").innerText = locObj.onDuty.txt; - // -----------------("lblFBOff").innerText = locObj.offDuty.txt; - // -----------------("lblFBUpKeepPrice").innerText = locObj.lblFirebrigadeUpkeep.txt; - // -----------------("btnPopAtStart").innerText = locObj.paginationStart.txt; - // -----------------("btnGoldAtStart").innerText = locObj.paginationStart.txt; - // -----------------("btnPopPrev").innerText = locObj.paginationPrevious.txt; - // -----------------("btnGoldPrev").innerText = locObj.paginationPrevious.txt; - // -----------------("btnPopNext").innerText = locObj.paginationNext.txt; - // -----------------("btnGoldNext").innerText = locObj.paginationNext.txt; - // -----------------("btnPopAtEnd").innerText = locObj.paginationCurrent.txt; - // -----------------("btnGoldAtEnd").innerText = locObj.paginationCurrent.txt; - // --???????--------("downloadGame").innerText = localeStrings[328]; - // -----------------("lblLevelForHireLbl").innerText = locObj.heroLvlLbl.txt; - // -----------------("spnServerStatusLabel").innerText= locObj.serverStatusSpn.txt; - // -----------------("spnServerStatusValue").innerText= locObj.serverStatusND.txt; - // -----------------("spnOnline").innerText = locObj.online.txt; - // -----------------("spnOnlineValue").innerText = locObj.onlineValueND.txt; - - - - - // }); - // cy.get('#tabSettings').click(); - // cy.get('#selectLng').select('English'); - // cy.get('#btnLogin').click(); - // cy.get('#login').type('tester16'); - // cy.get('#password').type('tester16'); - // cy.get('#btnRegLogin').click(); - // cy.get('#log').contains('login successfull'); - // cy.get('#buttonLoadFromCloud', { timeout: 9000 }).click(); - - // // Check - // cy.get('#autosaveImg').should('have.attr', 'src', 'resources/button_green.png'); - // cy.get('#panelGoldValue').should("have.text", 24180); - // cy.get('#panelPopValue').should("have.text", 648); - // cy.get('#gems').should("have.text", 10); - // cy.get('#spnServerStatusValue').should("have.text", "Up"); - - // cy.window().its('game.year').should('equal', 1308); - // cy.window().its('game.season').should('equal', 3); - // cy.window().its('game.food').should('equal', 20); - // cy.window().its('game.treasuryGuard').should('equal', 20); - // cy.window().its('game.happiness').should('equal', 80); - // cy.window().its('game.fire').should('equal', 0); - // cy.window().its('game.fireSteps').should('equal', 0); - // cy.window().its('game.fireGuard').should('equal', 0); - // cy.window().its('game.hero').should('equal', 0); - - // // checking available buildings - // cy.get('#btnOpenTabBuilding').click(); - - // cy.get('#homes') - // .should('have.text', 'Build Homelvl 17131072 gold') - // .and('have.class', 'btn'); - // cy.get('#defence') - // .should('have.text', 'Build Walllvl 12 gold') - // .and('have.class', 'btn') - // .and('not.be.visible'); - // cy.get('#treasury') - // .should('have.text', 'Build Treasurylvl 1381920000000000000 gold') - // .and('have.class', 'btn'); - // cy.get('#buttonBldGallows') - // .should('have.text', 'Build Gallowslvl 150 gold') - // .and('have.class', 'btn') - // .and('not.be.visible'); - // cy.get('#buttonBldFountain') - // .should('have.text', 'Build Fountainlvl 3125000 gold') - // .and('have.class', 'btn'); - // cy.get('#buttonBldStash') - // .should('have.text', 'Build Stashlvl 3125000 gold') - // .and('have.class', 'btn'); - // cy.get('#buttonBldStable') - // .should('have.text', 'Build Stablelvl 3125000 gold') - // .and('have.class', 'btn'); - // cy.get('#buttonBldArchery') - // .should('have.text', 'Build Archery rangelvl 3125000 gold') - // .and('have.class', 'btn'); - // cy.get('#buttonBldInn') - // .should('have.text', 'Build Innlvl 4160000 gold') - // .and('have.class', 'btn'); - // cy.get('#buttonBuildUniversity') - // .should('have.text', 'Build university200 gold') - // .and('have.class', 'btn'); }) \ No newline at end of file diff --git a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_en-US.cy.js b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_en-US.cy.js new file mode 100644 index 0000000..61bc6c8 --- /dev/null +++ b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_en-US.cy.js @@ -0,0 +1,320 @@ + +describe('Verification lang', () => { + const LANG = '"en-US"'; // en-US, ru-RU, de-DE, eo, fr-FR + + const CITY = 'tabCity'; + const BUILDING = 'btnOpenTabBuilding'; + const SETTINGS = 'tabSettings'; + const ABOUT = 'tabAbout'; + const DISCORD = 'tabDiscord'; + + beforeEach(() => { + cy.visit('/') + + Cypress.on('uncaught:exception', (err, runnable) => { + return false; + }); + + //close windows canvas + cy.window().then((win) => { + win.eval('document.getElementById("myDCanvas").classList.remove("active-modal")'); + }); + + cy.window().then((win) => { + win.eval('loadLocale(' + LANG + ')'); + }); + }) + + it('Locale ' + LANG + '. Verification welcome text in log', () => { + cy.langLogText('', 'welcome0'); + cy.langLogText('', 'welcome1'); + cy.langLogText('', 'welcome2'); + }) + + it('Locale ' + LANG + '. Verification feature Fire', () => { + cy.get('#log_btn').click(); + + cy.window().then((win) => { + win.eval('game.year=1261'); + }); + + cy.langLogText('game.startFire(autotest=true)', 'fireInCity'); + cy.langContentBtn(CITY, 'buttonPutOutFire', 'btnPutOutTheFire'); + cy.langLogText('game.putOutFireUI()', 'fireEndedByFireservice'); + }); + + it('Locale ' + LANG + '. Verification button buttonDeathPenalty', () => { + cy.langContentBtn(CITY, 'buttonDeathPenalty', 'btnExecutePerson'); + }); + + it('Locale ' + LANG + '. Verification button saveGameButton', () => { + cy.langContentBtn(CITY, 'saveGameButton', 'locSaveGame'); + }); + + it('Locale ' + LANG + '. Verification button loadGameButton', () => { + cy.langContentBtn(CITY, 'loadGameButton', 'locLoadGame'); + }); + + it('Locale ' + LANG + '. Verification button tabCity', () => { + cy.langBtn(CITY, 'tabCity'); + }); + it('Locale ' + LANG + '. Verification button btnOpenTabBuilding', () => { + cy.langBtn(BUILDING, 'tabBuilding'); + }); + + it('Locale ' + LANG + '. Verification button tabSettings', () => { + cy.langBtn(SETTINGS, 'tabSettings'); + }); + + it('Locale ' + LANG + '. Verification button tabAbout', () => { + cy.langBtn(ABOUT, 'tabHowToPlay'); + }); + + it('Locale ' + LANG + '. Verification button tabDiscord', () => { + cy.langBtn(DISCORD, 'tabDiscord'); + }); + + it('Locale ' + LANG + '. Verification button labelSettings', () => { + cy.langContentBtn(SETTINGS, 'labelSettings', 'tabSettings'); + }); + + it('Locale ' + LANG + '. Verification button buttonExportGame', () => { + cy.langContentBtn(SETTINGS, 'buttonExportGame', 'tabSettingsBtnExportGame'); + }); + + it('Locale ' + LANG + '. Verification button buttonImportGame', () => { + cy.langContentBtn(SETTINGS, 'buttonImportGame', 'tabSettingsBtnImportGame'); + }); + + it('Locale ' + LANG + '. Verification label labelAutosave', () => { + cy.langContentBtn(SETTINGS, 'labelAutosave', 'tabSettingsLblAutosave'); + }); + + it('Locale ' + LANG + '. Verification label labelGarrison', () => { + cy.langContentBtn(CITY, 'labelGarrison', 'lblGarrison'); + }); + + it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + cy.langContentBtn(CITY, 'buttonFireGuard', 'btnFire'); + }); + + it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + cy.langContentBtn(CITY, 'buttonHireGuard', 'btnHire'); + }); + + // ожидает рефакторинга кода + it.skip('!!!SKIP!!! Locale ' + LANG + '. Verification label lblAboutGame', () => { + let text; + cy.get('#' + ABOUT).click(); + + cy.window().then((win1) => { + text = win1.eval('locObj.tabHowToPlayText');//.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll)'); + cy.get('#lblAboutGame').should('text',text); + }); + + }); + + it('Locale ' + LANG + '. Verification label lblTabGold', () => { + cy.langContentBtn(CITY, 'lblTabGold', 'tabGoldHistory'); + }); + + it('Locale ' + LANG + '. Verification label lblTabPop', () => { + cy.langContentBtn(CITY, 'lblTabPop', 'tabPopHistory'); + }); + + it('Locale ' + LANG + '. Verification label lblTabInn', () => { + cy.langContentBtn(CITY, 'lblTabInn', 'tabInnWelcome'); + }); + + it('Locale ' + LANG + '. Verification label lblUpkeepSrc', () => { + cy.langContentBtn(SETTINGS, 'lblUpkeepSrc', 'heroTroopsUpkeepSource'); + }); + + it('Locale ' + LANG + '. Verification label btnColorMode', () => { + cy.langContentBtn(SETTINGS, 'btnColorMode', 'tabSettingsBtnChangeColorMode'); + }); + + it('Locale ' + LANG + '. label selectUpkeepSrc[0]', () => { + cy.langListElement(CITY, 'selectUpkeepSrc',0, 'heroTroopsUpkeepSrcHeroPurse'); + }); + + it('Locale ' + LANG + '. label selectUpkeepSrc[1]', () => { + cy.langListElement(CITY, 'selectUpkeepSrc',1, 'heroTroopsUpkeepSrcTreasury'); + }); + + it('Locale ' + LANG + '. Verification button btnDismissHero', () => { + cy.langContentBtn(CITY, 'btnDismissHero', 'btnDismissHero'); + }); + + it('Locale ' + LANG + '. Verification button btnAutocampaignJournal', () => { + cy.langContentBtn(CITY, 'btnAutocampaignJournal', 'btnAutocampaignOpenJournal'); + }); + + it('Locale ' + LANG + '. Verification button btnTowngate', () => { + cy.langContentBtn(CITY, 'btnTowngate', 'btnUseTowngateScroll'); + }); + + it('Locale ' + LANG + '. Verification button btnLeaveCity', () => { + cy.langContentBtn(CITY, 'btnLeaveCity', 'btnGoToAdvenureMap'); + }); + it('Locale ' + LANG + '. Verification button btnGenerateMap', () => { + cy.langContentBtn(CITY, 'btnGenerateMap', 'btnRegenerateMap'); + }); + + it('Locale ' + LANG + '. Verification button btnAutobattlesList', () => { + cy.langContentBtn(CITY, 'btnAutobattlesList', 'autobattle_journal_btn'); + }); + + it('Locale ' + LANG + '. Verification label lblOption', () => { + cy.langContentBtn(SETTINGS, 'lblOption', 'tabSoundSettingsLblOption'); + }); + + it('Locale ' + LANG + '. Verification label lblOn', () => { + cy.langContentBtn(SETTINGS, 'lblOn', 'on'); + }); + + it('Locale ' + LANG + '. Verification label lblOff', () => { + cy.langContentBtn(SETTINGS, 'lblOff', 'off'); + }); + + it('Locale ' + LANG + '. Verification label lblSfxAll', () => { + cy.langContentBtn(SETTINGS, 'lblSfxAll', 'tabSoundSettingsLblAllSoundEffects'); + }); + + it('Locale ' + LANG + '. Verification label lblSfxEvt', () => { + cy.langContentBtn(SETTINGS, 'lblSfxEvt', 'tabSoundSettingsLblAllEventsEffects'); + }); + + it('Locale ' + LANG + '. Verification label lblSfxEvtAR', () => { + cy.langContentBtn(SETTINGS, 'lblSfxEvtAR', 'tabSoundSettingsLblEffectsAR'); + }); + + it('Locale ' + LANG + '. Verification label lblMscAll', () => { + cy.langContentBtn(SETTINGS, 'lblMscAll', 'tabSoundSettingsAllMusic'); + }); + + it('Locale ' + LANG + '. Verification label lblMscScr', () => { + cy.langContentBtn(SETTINGS, 'lblMscScr', 'tabSoundSettingsScMusic'); + }); + + it('Locale ' + LANG + '. Verification button btnToGeneralSettings', () => { + cy.langContentBtn(CITY, 'btnToGeneralSettings', 'btnBack'); + }); + + it('Locale ' + LANG + '. Verification button btnToInn', () => { + cy.langContentBtn(CITY, 'btnToInn', 'btnBack'); + }); + + it('Locale ' + LANG + '. Verification button btnToInn1', () => { + cy.langContentBtn(CITY, 'btnToInn1', 'btnBack'); + }); + + it('Locale ' + LANG + '. Verification label lblSoundMenu', () => { + cy.langContentBtn(SETTINGS, 'lblSoundMenu', 'lblSoundMenu'); + }); + + it('Locale ' + LANG + '. Verification button btnSoundSettings', () => { + cy.langContentBtn(CITY, 'btnSoundSettings', 'tabSettingsBtnOpenSoundSettings'); + }); + + it('Locale ' + LANG + '. Verification label lblStnMobileUI', () => { + cy.langContentBtn(SETTINGS, 'lblStnMobileUI', 'tabSettingsLblMobileUI'); + }); + + it('Locale ' + LANG + '. Verification label lblStnEventLogSize', () => { + cy.langContentBtn(SETTINGS, 'lblStnEventLogSize', 'tabSettingsLblLogSize'); + }); + + it('Locale ' + LANG + '. Verification label lblStnLines', () => { + cy.langContentBtn(SETTINGS, 'lblStnLines', 'tabSettingsLblLines'); + }); + + it('Locale ' + LANG + '. Verification label lblGoodsForSale', () => { + cy.langContentBtn(SETTINGS, 'lblGoodsForSale', 'lblGoodForSale'); + }); + + it('Locale ' + LANG + '. Verification label lblGoodsForBuying', () => { + cy.langContentBtn(SETTINGS, 'lblGoodsForBuying', 'lblHeroGoodsFoSale'); + }); + + it('Locale ' + LANG + '. Verification button btnLeaveBlackmarket', () => { + cy.langContentBtn(CITY, 'btnLeaveBlackmarket', 'btnGoToAdvenureMap'); + }); + + it('Locale ' + LANG + '. Verification label lblFirebrigade', () => { + cy.langContentBtn(SETTINGS, 'lblFirebrigade', 'lblFirebrigade'); + }); + + it('Locale ' + LANG + '. Verification label lblFBOption', () => { + cy.langContentBtn(SETTINGS, 'lblFBOption', 'lblFireServiceStatus'); + }); + + it('Locale ' + LANG + '. Verification label lblFBOn', () => { + cy.langContentBtn(SETTINGS, 'lblFBOn', 'onDuty'); + }); + + it('Locale ' + LANG + '. Verification label lblFBOff', () => { + cy.langContentBtn(SETTINGS, 'lblFBOff', 'offDuty'); + }); + + it('Locale ' + LANG + '. Verification label lblFBUpKeepPrice', () => { + cy.langContentBtn(SETTINGS, 'lblFBUpKeepPrice', 'lblFirebrigadeUpkeep'); + }); + + it('Locale ' + LANG + '. Verification button btnPopAtStart', () => { + cy.langContentBtn(CITY, 'btnPopAtStart', 'paginationStart'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldAtStart', () => { + cy.langContentBtn(CITY, 'btnGoldAtStart', 'paginationStart'); + }); + + it('Locale ' + LANG + '. Verification button btnPopPrev', () => { + cy.langContentBtn(CITY, 'btnPopPrev', 'paginationPrevious'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldPrev', () => { + cy.langContentBtn(CITY, 'btnGoldPrev', 'paginationPrevious'); + }); + + it('Locale ' + LANG + '. Verification button btnPopNext', () => { + cy.langContentBtn(CITY, 'btnPopNext', 'paginationNext'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldNext', () => { + cy.langContentBtn(CITY, 'btnGoldNext', 'paginationNext'); + }); + + it('Locale ' + LANG + '. Verification button btnPopAtEnd', () => { + cy.langContentBtn(CITY, 'btnPopAtEnd', 'paginationCurrent'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldAtEnd', () => { + cy.langContentBtn(CITY, 'btnGoldAtEnd', 'paginationCurrent'); + }); + + // Ожидает рефакторинга кода + it.skip('!!!SKIP!!!Locale ' + LANG + '. Verification button downloadGame', () => { + cy.langContentBtn(CITY, 'downloadGame', 'localeStrings[328]'); + }); + + it('Locale ' + LANG + '. Verification label lblLevelForHireLbl', () => { + cy.langContentBtn(SETTINGS, 'lblLevelForHireLbl', 'heroLvlLbl'); + }); + + it('Locale ' + LANG + '. Verification button spnServerStatusLabel', () => { + cy.langContentBtn(CITY, 'spnServerStatusLabel', 'serverStatusSpn'); + }); + + it('Locale ' + LANG + '. Verification button spnServerStatusValue', () => { + cy.langContentBtn(CITY, 'spnServerStatusValue', 'serverStatusND'); + }); + + it('Locale ' + LANG + '. Verification button spnOnline', () => { + cy.langContentBtn(CITY, 'spnOnline', 'online'); + }); + + it('Locale ' + LANG + '. Verification button spnOnlineValue', () => { + cy.langContentBtn(CITY, 'spnOnlineValue', 'onlineValueND'); + }); +}) \ No newline at end of file diff --git a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_eo.cy.js b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_eo.cy.js new file mode 100644 index 0000000..c0408b3 --- /dev/null +++ b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_eo.cy.js @@ -0,0 +1,320 @@ + +describe('Verification lang', () => { + const LANG = '"eo"'; // en-US, ru-RU, de-DE, eo, fr-FR + + const CITY = 'tabCity'; + const BUILDING = 'btnOpenTabBuilding'; + const SETTINGS = 'tabSettings'; + const ABOUT = 'tabAbout'; + const DISCORD = 'tabDiscord'; + + beforeEach(() => { + cy.visit('/') + + Cypress.on('uncaught:exception', (err, runnable) => { + return false; + }); + + //close windows canvas + cy.window().then((win) => { + win.eval('document.getElementById("myDCanvas").classList.remove("active-modal")'); + }); + + cy.window().then((win) => { + win.eval('loadLocale(' + LANG + ')'); + }); + }) + + it('Locale ' + LANG + '. Verification welcome text in log', () => { + cy.langLogText('', 'welcome0'); + cy.langLogText('', 'welcome1'); + cy.langLogText('', 'welcome2'); + }) + + it('Locale ' + LANG + '. Verification feature Fire', () => { + cy.get('#log_btn').click(); + + cy.window().then((win) => { + win.eval('game.year=1261'); + }); + + cy.langLogText('game.startFire(autotest=true)', 'fireInCity'); + cy.langContentBtn(CITY, 'buttonPutOutFire', 'btnPutOutTheFire'); + cy.langLogText('game.putOutFireUI()', 'fireEndedByFireservice'); + }); + + it('Locale ' + LANG + '. Verification button buttonDeathPenalty', () => { + cy.langContentBtn(CITY, 'buttonDeathPenalty', 'btnExecutePerson'); + }); + + it('Locale ' + LANG + '. Verification button saveGameButton', () => { + cy.langContentBtn(CITY, 'saveGameButton', 'locSaveGame'); + }); + + it('Locale ' + LANG + '. Verification button loadGameButton', () => { + cy.langContentBtn(CITY, 'loadGameButton', 'locLoadGame'); + }); + + it('Locale ' + LANG + '. Verification button tabCity', () => { + cy.langBtn(CITY, 'tabCity'); + }); + it('Locale ' + LANG + '. Verification button btnOpenTabBuilding', () => { + cy.langBtn(BUILDING, 'tabBuilding'); + }); + + it('Locale ' + LANG + '. Verification button tabSettings', () => { + cy.langBtn(SETTINGS, 'tabSettings'); + }); + + it('Locale ' + LANG + '. Verification button tabAbout', () => { + cy.langBtn(ABOUT, 'tabHowToPlay'); + }); + + it('Locale ' + LANG + '. Verification button tabDiscord', () => { + cy.langBtn(DISCORD, 'tabDiscord'); + }); + + it('Locale ' + LANG + '. Verification button labelSettings', () => { + cy.langContentBtn(SETTINGS, 'labelSettings', 'tabSettings'); + }); + + it('Locale ' + LANG + '. Verification button buttonExportGame', () => { + cy.langContentBtn(SETTINGS, 'buttonExportGame', 'tabSettingsBtnExportGame'); + }); + + it('Locale ' + LANG + '. Verification button buttonImportGame', () => { + cy.langContentBtn(SETTINGS, 'buttonImportGame', 'tabSettingsBtnImportGame'); + }); + + it('Locale ' + LANG + '. Verification label labelAutosave', () => { + cy.langContentBtn(SETTINGS, 'labelAutosave', 'tabSettingsLblAutosave'); + }); + + it('Locale ' + LANG + '. Verification label labelGarrison', () => { + cy.langContentBtn(CITY, 'labelGarrison', 'lblGarrison'); + }); + + it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + cy.langContentBtn(CITY, 'buttonFireGuard', 'btnFire'); + }); + + it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + cy.langContentBtn(CITY, 'buttonHireGuard', 'btnHire'); + }); + + // ожидает рефакторинга кода + it.skip('!!!SKIP!!! Locale ' + LANG + '. Verification label lblAboutGame', () => { + let text; + cy.get('#' + ABOUT).click(); + + cy.window().then((win1) => { + text = win1.eval('locObj.tabHowToPlayText');//.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll)'); + cy.get('#lblAboutGame').should('text',text); + }); + + }); + + it('Locale ' + LANG + '. Verification label lblTabGold', () => { + cy.langContentBtn(CITY, 'lblTabGold', 'tabGoldHistory'); + }); + + it('Locale ' + LANG + '. Verification label lblTabPop', () => { + cy.langContentBtn(CITY, 'lblTabPop', 'tabPopHistory'); + }); + + it('Locale ' + LANG + '. Verification label lblTabInn', () => { + cy.langContentBtn(CITY, 'lblTabInn', 'tabInnWelcome'); + }); + + it('Locale ' + LANG + '. Verification label lblUpkeepSrc', () => { + cy.langContentBtn(SETTINGS, 'lblUpkeepSrc', 'heroTroopsUpkeepSource'); + }); + + it('Locale ' + LANG + '. Verification label btnColorMode', () => { + cy.langContentBtn(SETTINGS, 'btnColorMode', 'tabSettingsBtnChangeColorMode'); + }); + + it('Locale ' + LANG + '. label selectUpkeepSrc[0]', () => { + cy.langListElement(CITY, 'selectUpkeepSrc',0, 'heroTroopsUpkeepSrcHeroPurse'); + }); + + it('Locale ' + LANG + '. label selectUpkeepSrc[1]', () => { + cy.langListElement(CITY, 'selectUpkeepSrc',1, 'heroTroopsUpkeepSrcTreasury'); + }); + + it('Locale ' + LANG + '. Verification button btnDismissHero', () => { + cy.langContentBtn(CITY, 'btnDismissHero', 'btnDismissHero'); + }); + + it('Locale ' + LANG + '. Verification button btnAutocampaignJournal', () => { + cy.langContentBtn(CITY, 'btnAutocampaignJournal', 'btnAutocampaignOpenJournal'); + }); + + it('Locale ' + LANG + '. Verification button btnTowngate', () => { + cy.langContentBtn(CITY, 'btnTowngate', 'btnUseTowngateScroll'); + }); + + it('Locale ' + LANG + '. Verification button btnLeaveCity', () => { + cy.langContentBtn(CITY, 'btnLeaveCity', 'btnGoToAdvenureMap'); + }); + it('Locale ' + LANG + '. Verification button btnGenerateMap', () => { + cy.langContentBtn(CITY, 'btnGenerateMap', 'btnRegenerateMap'); + }); + + it('Locale ' + LANG + '. Verification button btnAutobattlesList', () => { + cy.langContentBtn(CITY, 'btnAutobattlesList', 'autobattle_journal_btn'); + }); + + it('Locale ' + LANG + '. Verification label lblOption', () => { + cy.langContentBtn(SETTINGS, 'lblOption', 'tabSoundSettingsLblOption'); + }); + + it('Locale ' + LANG + '. Verification label lblOn', () => { + cy.langContentBtn(SETTINGS, 'lblOn', 'on'); + }); + + it('Locale ' + LANG + '. Verification label lblOff', () => { + cy.langContentBtn(SETTINGS, 'lblOff', 'off'); + }); + + it('Locale ' + LANG + '. Verification label lblSfxAll', () => { + cy.langContentBtn(SETTINGS, 'lblSfxAll', 'tabSoundSettingsLblAllSoundEffects'); + }); + + it('Locale ' + LANG + '. Verification label lblSfxEvt', () => { + cy.langContentBtn(SETTINGS, 'lblSfxEvt', 'tabSoundSettingsLblAllEventsEffects'); + }); + + it('Locale ' + LANG + '. Verification label lblSfxEvtAR', () => { + cy.langContentBtn(SETTINGS, 'lblSfxEvtAR', 'tabSoundSettingsLblEffectsAR'); + }); + + it('Locale ' + LANG + '. Verification label lblMscAll', () => { + cy.langContentBtn(SETTINGS, 'lblMscAll', 'tabSoundSettingsAllMusic'); + }); + + it('Locale ' + LANG + '. Verification label lblMscScr', () => { + cy.langContentBtn(SETTINGS, 'lblMscScr', 'tabSoundSettingsScMusic'); + }); + + it('Locale ' + LANG + '. Verification button btnToGeneralSettings', () => { + cy.langContentBtn(CITY, 'btnToGeneralSettings', 'btnBack'); + }); + + it('Locale ' + LANG + '. Verification button btnToInn', () => { + cy.langContentBtn(CITY, 'btnToInn', 'btnBack'); + }); + + it('Locale ' + LANG + '. Verification button btnToInn1', () => { + cy.langContentBtn(CITY, 'btnToInn1', 'btnBack'); + }); + + it('Locale ' + LANG + '. Verification label lblSoundMenu', () => { + cy.langContentBtn(SETTINGS, 'lblSoundMenu', 'lblSoundMenu'); + }); + + it('Locale ' + LANG + '. Verification button btnSoundSettings', () => { + cy.langContentBtn(CITY, 'btnSoundSettings', 'tabSettingsBtnOpenSoundSettings'); + }); + + it('Locale ' + LANG + '. Verification label lblStnMobileUI', () => { + cy.langContentBtn(SETTINGS, 'lblStnMobileUI', 'tabSettingsLblMobileUI'); + }); + + it('Locale ' + LANG + '. Verification label lblStnEventLogSize', () => { + cy.langContentBtn(SETTINGS, 'lblStnEventLogSize', 'tabSettingsLblLogSize'); + }); + + it('Locale ' + LANG + '. Verification label lblStnLines', () => { + cy.langContentBtn(SETTINGS, 'lblStnLines', 'tabSettingsLblLines'); + }); + + it('Locale ' + LANG + '. Verification label lblGoodsForSale', () => { + cy.langContentBtn(SETTINGS, 'lblGoodsForSale', 'lblGoodForSale'); + }); + + it('Locale ' + LANG + '. Verification label lblGoodsForBuying', () => { + cy.langContentBtn(SETTINGS, 'lblGoodsForBuying', 'lblHeroGoodsFoSale'); + }); + + it('Locale ' + LANG + '. Verification button btnLeaveBlackmarket', () => { + cy.langContentBtn(CITY, 'btnLeaveBlackmarket', 'btnGoToAdvenureMap'); + }); + + it('Locale ' + LANG + '. Verification label lblFirebrigade', () => { + cy.langContentBtn(SETTINGS, 'lblFirebrigade', 'lblFirebrigade'); + }); + + it('Locale ' + LANG + '. Verification label lblFBOption', () => { + cy.langContentBtn(SETTINGS, 'lblFBOption', 'lblFireServiceStatus'); + }); + + it('Locale ' + LANG + '. Verification label lblFBOn', () => { + cy.langContentBtn(SETTINGS, 'lblFBOn', 'onDuty'); + }); + + it('Locale ' + LANG + '. Verification label lblFBOff', () => { + cy.langContentBtn(SETTINGS, 'lblFBOff', 'offDuty'); + }); + + it('Locale ' + LANG + '. Verification label lblFBUpKeepPrice', () => { + cy.langContentBtn(SETTINGS, 'lblFBUpKeepPrice', 'lblFirebrigadeUpkeep'); + }); + + it('Locale ' + LANG + '. Verification button btnPopAtStart', () => { + cy.langContentBtn(CITY, 'btnPopAtStart', 'paginationStart'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldAtStart', () => { + cy.langContentBtn(CITY, 'btnGoldAtStart', 'paginationStart'); + }); + + it('Locale ' + LANG + '. Verification button btnPopPrev', () => { + cy.langContentBtn(CITY, 'btnPopPrev', 'paginationPrevious'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldPrev', () => { + cy.langContentBtn(CITY, 'btnGoldPrev', 'paginationPrevious'); + }); + + it('Locale ' + LANG + '. Verification button btnPopNext', () => { + cy.langContentBtn(CITY, 'btnPopNext', 'paginationNext'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldNext', () => { + cy.langContentBtn(CITY, 'btnGoldNext', 'paginationNext'); + }); + + it('Locale ' + LANG + '. Verification button btnPopAtEnd', () => { + cy.langContentBtn(CITY, 'btnPopAtEnd', 'paginationCurrent'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldAtEnd', () => { + cy.langContentBtn(CITY, 'btnGoldAtEnd', 'paginationCurrent'); + }); + + // Ожидает рефакторинга кода + it.skip('!!!SKIP!!!Locale ' + LANG + '. Verification button downloadGame', () => { + cy.langContentBtn(CITY, 'downloadGame', 'localeStrings[328]'); + }); + + it('Locale ' + LANG + '. Verification label lblLevelForHireLbl', () => { + cy.langContentBtn(SETTINGS, 'lblLevelForHireLbl', 'heroLvlLbl'); + }); + + it('Locale ' + LANG + '. Verification button spnServerStatusLabel', () => { + cy.langContentBtn(CITY, 'spnServerStatusLabel', 'serverStatusSpn'); + }); + + it('Locale ' + LANG + '. Verification button spnServerStatusValue', () => { + cy.langContentBtn(CITY, 'spnServerStatusValue', 'serverStatusND'); + }); + + it('Locale ' + LANG + '. Verification button spnOnline', () => { + cy.langContentBtn(CITY, 'spnOnline', 'online'); + }); + + it('Locale ' + LANG + '. Verification button spnOnlineValue', () => { + cy.langContentBtn(CITY, 'spnOnlineValue', 'onlineValueND'); + }); +}) \ No newline at end of file diff --git a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_fr-FR.cy.js b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_fr-FR.cy.js new file mode 100644 index 0000000..d72b701 --- /dev/null +++ b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_fr-FR.cy.js @@ -0,0 +1,320 @@ + +describe('Verification lang', () => { + const LANG = '"fr-FR"'; // en-US, ru-RU, de-DE, eo, fr-FR + + const CITY = 'tabCity'; + const BUILDING = 'btnOpenTabBuilding'; + const SETTINGS = 'tabSettings'; + const ABOUT = 'tabAbout'; + const DISCORD = 'tabDiscord'; + + beforeEach(() => { + cy.visit('/') + + Cypress.on('uncaught:exception', (err, runnable) => { + return false; + }); + + //close windows canvas + cy.window().then((win) => { + win.eval('document.getElementById("myDCanvas").classList.remove("active-modal")'); + }); + + cy.window().then((win) => { + win.eval('loadLocale(' + LANG + ')'); + }); + }) + + it('Locale ' + LANG + '. Verification welcome text in log', () => { + cy.langLogText('', 'welcome0'); + cy.langLogText('', 'welcome1'); + cy.langLogText('', 'welcome2'); + }) + + it('Locale ' + LANG + '. Verification feature Fire', () => { + cy.get('#log_btn').click(); + + cy.window().then((win) => { + win.eval('game.year=1261'); + }); + + cy.langLogText('game.startFire(autotest=true)', 'fireInCity'); + cy.langContentBtn(CITY, 'buttonPutOutFire', 'btnPutOutTheFire'); + cy.langLogText('game.putOutFireUI()', 'fireEndedByFireservice'); + }); + + it('Locale ' + LANG + '. Verification button buttonDeathPenalty', () => { + cy.langContentBtn(CITY, 'buttonDeathPenalty', 'btnExecutePerson'); + }); + + it('Locale ' + LANG + '. Verification button saveGameButton', () => { + cy.langContentBtn(CITY, 'saveGameButton', 'locSaveGame'); + }); + + it('Locale ' + LANG + '. Verification button loadGameButton', () => { + cy.langContentBtn(CITY, 'loadGameButton', 'locLoadGame'); + }); + + it('Locale ' + LANG + '. Verification button tabCity', () => { + cy.langBtn(CITY, 'tabCity'); + }); + it('Locale ' + LANG + '. Verification button btnOpenTabBuilding', () => { + cy.langBtn(BUILDING, 'tabBuilding'); + }); + + it('Locale ' + LANG + '. Verification button tabSettings', () => { + cy.langBtn(SETTINGS, 'tabSettings'); + }); + + it('Locale ' + LANG + '. Verification button tabAbout', () => { + cy.langBtn(ABOUT, 'tabHowToPlay'); + }); + + it('Locale ' + LANG + '. Verification button tabDiscord', () => { + cy.langBtn(DISCORD, 'tabDiscord'); + }); + + it('Locale ' + LANG + '. Verification button labelSettings', () => { + cy.langContentBtn(SETTINGS, 'labelSettings', 'tabSettings'); + }); + + it('Locale ' + LANG + '. Verification button buttonExportGame', () => { + cy.langContentBtn(SETTINGS, 'buttonExportGame', 'tabSettingsBtnExportGame'); + }); + + it('Locale ' + LANG + '. Verification button buttonImportGame', () => { + cy.langContentBtn(SETTINGS, 'buttonImportGame', 'tabSettingsBtnImportGame'); + }); + + it('Locale ' + LANG + '. Verification label labelAutosave', () => { + cy.langContentBtn(SETTINGS, 'labelAutosave', 'tabSettingsLblAutosave'); + }); + + it('Locale ' + LANG + '. Verification label labelGarrison', () => { + cy.langContentBtn(CITY, 'labelGarrison', 'lblGarrison'); + }); + + it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + cy.langContentBtn(CITY, 'buttonFireGuard', 'btnFire'); + }); + + it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + cy.langContentBtn(CITY, 'buttonHireGuard', 'btnHire'); + }); + + // ожидает рефакторинга кода + it.skip('!!!SKIP!!! Locale ' + LANG + '. Verification label lblAboutGame', () => { + let text; + cy.get('#' + ABOUT).click(); + + cy.window().then((win1) => { + text = win1.eval('locObj.tabHowToPlayText');//.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll)'); + cy.get('#lblAboutGame').should('text',text); + }); + + }); + + it('Locale ' + LANG + '. Verification label lblTabGold', () => { + cy.langContentBtn(CITY, 'lblTabGold', 'tabGoldHistory'); + }); + + it('Locale ' + LANG + '. Verification label lblTabPop', () => { + cy.langContentBtn(CITY, 'lblTabPop', 'tabPopHistory'); + }); + + it('Locale ' + LANG + '. Verification label lblTabInn', () => { + cy.langContentBtn(CITY, 'lblTabInn', 'tabInnWelcome'); + }); + + it('Locale ' + LANG + '. Verification label lblUpkeepSrc', () => { + cy.langContentBtn(SETTINGS, 'lblUpkeepSrc', 'heroTroopsUpkeepSource'); + }); + + it('Locale ' + LANG + '. Verification label btnColorMode', () => { + cy.langContentBtn(SETTINGS, 'btnColorMode', 'tabSettingsBtnChangeColorMode'); + }); + + it('Locale ' + LANG + '. label selectUpkeepSrc[0]', () => { + cy.langListElement(CITY, 'selectUpkeepSrc',0, 'heroTroopsUpkeepSrcHeroPurse'); + }); + + it('Locale ' + LANG + '. label selectUpkeepSrc[1]', () => { + cy.langListElement(CITY, 'selectUpkeepSrc',1, 'heroTroopsUpkeepSrcTreasury'); + }); + + it('Locale ' + LANG + '. Verification button btnDismissHero', () => { + cy.langContentBtn(CITY, 'btnDismissHero', 'btnDismissHero'); + }); + + it('Locale ' + LANG + '. Verification button btnAutocampaignJournal', () => { + cy.langContentBtn(CITY, 'btnAutocampaignJournal', 'btnAutocampaignOpenJournal'); + }); + + it('Locale ' + LANG + '. Verification button btnTowngate', () => { + cy.langContentBtn(CITY, 'btnTowngate', 'btnUseTowngateScroll'); + }); + + it('Locale ' + LANG + '. Verification button btnLeaveCity', () => { + cy.langContentBtn(CITY, 'btnLeaveCity', 'btnGoToAdvenureMap'); + }); + it('Locale ' + LANG + '. Verification button btnGenerateMap', () => { + cy.langContentBtn(CITY, 'btnGenerateMap', 'btnRegenerateMap'); + }); + + it('Locale ' + LANG + '. Verification button btnAutobattlesList', () => { + cy.langContentBtn(CITY, 'btnAutobattlesList', 'autobattle_journal_btn'); + }); + + it('Locale ' + LANG + '. Verification label lblOption', () => { + cy.langContentBtn(SETTINGS, 'lblOption', 'tabSoundSettingsLblOption'); + }); + + it('Locale ' + LANG + '. Verification label lblOn', () => { + cy.langContentBtn(SETTINGS, 'lblOn', 'on'); + }); + + it('Locale ' + LANG + '. Verification label lblOff', () => { + cy.langContentBtn(SETTINGS, 'lblOff', 'off'); + }); + + it('Locale ' + LANG + '. Verification label lblSfxAll', () => { + cy.langContentBtn(SETTINGS, 'lblSfxAll', 'tabSoundSettingsLblAllSoundEffects'); + }); + + it('Locale ' + LANG + '. Verification label lblSfxEvt', () => { + cy.langContentBtn(SETTINGS, 'lblSfxEvt', 'tabSoundSettingsLblAllEventsEffects'); + }); + + it('Locale ' + LANG + '. Verification label lblSfxEvtAR', () => { + cy.langContentBtn(SETTINGS, 'lblSfxEvtAR', 'tabSoundSettingsLblEffectsAR'); + }); + + it('Locale ' + LANG + '. Verification label lblMscAll', () => { + cy.langContentBtn(SETTINGS, 'lblMscAll', 'tabSoundSettingsAllMusic'); + }); + + it('Locale ' + LANG + '. Verification label lblMscScr', () => { + cy.langContentBtn(SETTINGS, 'lblMscScr', 'tabSoundSettingsScMusic'); + }); + + it('Locale ' + LANG + '. Verification button btnToGeneralSettings', () => { + cy.langContentBtn(CITY, 'btnToGeneralSettings', 'btnBack'); + }); + + it('Locale ' + LANG + '. Verification button btnToInn', () => { + cy.langContentBtn(CITY, 'btnToInn', 'btnBack'); + }); + + it('Locale ' + LANG + '. Verification button btnToInn1', () => { + cy.langContentBtn(CITY, 'btnToInn1', 'btnBack'); + }); + + it('Locale ' + LANG + '. Verification label lblSoundMenu', () => { + cy.langContentBtn(SETTINGS, 'lblSoundMenu', 'lblSoundMenu'); + }); + + it('Locale ' + LANG + '. Verification button btnSoundSettings', () => { + cy.langContentBtn(CITY, 'btnSoundSettings', 'tabSettingsBtnOpenSoundSettings'); + }); + + it('Locale ' + LANG + '. Verification label lblStnMobileUI', () => { + cy.langContentBtn(SETTINGS, 'lblStnMobileUI', 'tabSettingsLblMobileUI'); + }); + + it('Locale ' + LANG + '. Verification label lblStnEventLogSize', () => { + cy.langContentBtn(SETTINGS, 'lblStnEventLogSize', 'tabSettingsLblLogSize'); + }); + + it('Locale ' + LANG + '. Verification label lblStnLines', () => { + cy.langContentBtn(SETTINGS, 'lblStnLines', 'tabSettingsLblLines'); + }); + + it('Locale ' + LANG + '. Verification label lblGoodsForSale', () => { + cy.langContentBtn(SETTINGS, 'lblGoodsForSale', 'lblGoodForSale'); + }); + + it('Locale ' + LANG + '. Verification label lblGoodsForBuying', () => { + cy.langContentBtn(SETTINGS, 'lblGoodsForBuying', 'lblHeroGoodsFoSale'); + }); + + it('Locale ' + LANG + '. Verification button btnLeaveBlackmarket', () => { + cy.langContentBtn(CITY, 'btnLeaveBlackmarket', 'btnGoToAdvenureMap'); + }); + + it('Locale ' + LANG + '. Verification label lblFirebrigade', () => { + cy.langContentBtn(SETTINGS, 'lblFirebrigade', 'lblFirebrigade'); + }); + + it('Locale ' + LANG + '. Verification label lblFBOption', () => { + cy.langContentBtn(SETTINGS, 'lblFBOption', 'lblFireServiceStatus'); + }); + + it('Locale ' + LANG + '. Verification label lblFBOn', () => { + cy.langContentBtn(SETTINGS, 'lblFBOn', 'onDuty'); + }); + + it('Locale ' + LANG + '. Verification label lblFBOff', () => { + cy.langContentBtn(SETTINGS, 'lblFBOff', 'offDuty'); + }); + + it('Locale ' + LANG + '. Verification label lblFBUpKeepPrice', () => { + cy.langContentBtn(SETTINGS, 'lblFBUpKeepPrice', 'lblFirebrigadeUpkeep'); + }); + + it('Locale ' + LANG + '. Verification button btnPopAtStart', () => { + cy.langContentBtn(CITY, 'btnPopAtStart', 'paginationStart'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldAtStart', () => { + cy.langContentBtn(CITY, 'btnGoldAtStart', 'paginationStart'); + }); + + it('Locale ' + LANG + '. Verification button btnPopPrev', () => { + cy.langContentBtn(CITY, 'btnPopPrev', 'paginationPrevious'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldPrev', () => { + cy.langContentBtn(CITY, 'btnGoldPrev', 'paginationPrevious'); + }); + + it('Locale ' + LANG + '. Verification button btnPopNext', () => { + cy.langContentBtn(CITY, 'btnPopNext', 'paginationNext'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldNext', () => { + cy.langContentBtn(CITY, 'btnGoldNext', 'paginationNext'); + }); + + it('Locale ' + LANG + '. Verification button btnPopAtEnd', () => { + cy.langContentBtn(CITY, 'btnPopAtEnd', 'paginationCurrent'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldAtEnd', () => { + cy.langContentBtn(CITY, 'btnGoldAtEnd', 'paginationCurrent'); + }); + + // Ожидает рефакторинга кода + it.skip('!!!SKIP!!!Locale ' + LANG + '. Verification button downloadGame', () => { + cy.langContentBtn(CITY, 'downloadGame', 'localeStrings[328]'); + }); + + it('Locale ' + LANG + '. Verification label lblLevelForHireLbl', () => { + cy.langContentBtn(SETTINGS, 'lblLevelForHireLbl', 'heroLvlLbl'); + }); + + it('Locale ' + LANG + '. Verification button spnServerStatusLabel', () => { + cy.langContentBtn(CITY, 'spnServerStatusLabel', 'serverStatusSpn'); + }); + + it('Locale ' + LANG + '. Verification button spnServerStatusValue', () => { + cy.langContentBtn(CITY, 'spnServerStatusValue', 'serverStatusND'); + }); + + it('Locale ' + LANG + '. Verification button spnOnline', () => { + cy.langContentBtn(CITY, 'spnOnline', 'online'); + }); + + it('Locale ' + LANG + '. Verification button spnOnlineValue', () => { + cy.langContentBtn(CITY, 'spnOnlineValue', 'onlineValueND'); + }); +}) \ No newline at end of file diff --git a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_ru-RU.cy.js b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_ru-RU.cy.js new file mode 100644 index 0000000..fdde027 --- /dev/null +++ b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_ru-RU.cy.js @@ -0,0 +1,320 @@ + +describe('Verification lang', () => { + const LANG = '"ru-RU"'; // en-US, ru-RU, de-DE, eo, fr-FR + + const CITY = 'tabCity'; + const BUILDING = 'btnOpenTabBuilding'; + const SETTINGS = 'tabSettings'; + const ABOUT = 'tabAbout'; + const DISCORD = 'tabDiscord'; + + beforeEach(() => { + cy.visit('/') + + Cypress.on('uncaught:exception', (err, runnable) => { + return false; + }); + + //close windows canvas + cy.window().then((win) => { + win.eval('document.getElementById("myDCanvas").classList.remove("active-modal")'); + }); + + cy.window().then((win) => { + win.eval('loadLocale(' + LANG + ')'); + }); + }) + + it('Locale ' + LANG + '. Verification welcome text in log', () => { + cy.langLogText('', 'welcome0'); + cy.langLogText('', 'welcome1'); + cy.langLogText('', 'welcome2'); + }) + + it('Locale ' + LANG + '. Verification feature Fire', () => { + cy.get('#log_btn').click(); + + cy.window().then((win) => { + win.eval('game.year=1261'); + }); + + cy.langLogText('game.startFire(autotest=true)', 'fireInCity'); + cy.langContentBtn(CITY, 'buttonPutOutFire', 'btnPutOutTheFire'); + cy.langLogText('game.putOutFireUI()', 'fireEndedByFireservice'); + }); + + it('Locale ' + LANG + '. Verification button buttonDeathPenalty', () => { + cy.langContentBtn(CITY, 'buttonDeathPenalty', 'btnExecutePerson'); + }); + + it('Locale ' + LANG + '. Verification button saveGameButton', () => { + cy.langContentBtn(CITY, 'saveGameButton', 'locSaveGame'); + }); + + it('Locale ' + LANG + '. Verification button loadGameButton', () => { + cy.langContentBtn(CITY, 'loadGameButton', 'locLoadGame'); + }); + + it('Locale ' + LANG + '. Verification button tabCity', () => { + cy.langBtn(CITY, 'tabCity'); + }); + it('Locale ' + LANG + '. Verification button btnOpenTabBuilding', () => { + cy.langBtn(BUILDING, 'tabBuilding'); + }); + + it('Locale ' + LANG + '. Verification button tabSettings', () => { + cy.langBtn(SETTINGS, 'tabSettings'); + }); + + it('Locale ' + LANG + '. Verification button tabAbout', () => { + cy.langBtn(ABOUT, 'tabHowToPlay'); + }); + + it('Locale ' + LANG + '. Verification button tabDiscord', () => { + cy.langBtn(DISCORD, 'tabDiscord'); + }); + + it('Locale ' + LANG + '. Verification button labelSettings', () => { + cy.langContentBtn(SETTINGS, 'labelSettings', 'tabSettings'); + }); + + it('Locale ' + LANG + '. Verification button buttonExportGame', () => { + cy.langContentBtn(SETTINGS, 'buttonExportGame', 'tabSettingsBtnExportGame'); + }); + + it('Locale ' + LANG + '. Verification button buttonImportGame', () => { + cy.langContentBtn(SETTINGS, 'buttonImportGame', 'tabSettingsBtnImportGame'); + }); + + it('Locale ' + LANG + '. Verification label labelAutosave', () => { + cy.langContentBtn(SETTINGS, 'labelAutosave', 'tabSettingsLblAutosave'); + }); + + it('Locale ' + LANG + '. Verification label labelGarrison', () => { + cy.langContentBtn(CITY, 'labelGarrison', 'lblGarrison'); + }); + + it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + cy.langContentBtn(CITY, 'buttonFireGuard', 'btnFire'); + }); + + it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + cy.langContentBtn(CITY, 'buttonHireGuard', 'btnHire'); + }); + + // ожидает рефакторинга кода + it.skip('!!!SKIP!!! Locale ' + LANG + '. Verification label lblAboutGame', () => { + let text; + cy.get('#' + ABOUT).click(); + + cy.window().then((win1) => { + text = win1.eval('locObj.tabHowToPlayText');//.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll)'); + cy.get('#lblAboutGame').should('text',text); + }); + + }); + + it('Locale ' + LANG + '. Verification label lblTabGold', () => { + cy.langContentBtn(CITY, 'lblTabGold', 'tabGoldHistory'); + }); + + it('Locale ' + LANG + '. Verification label lblTabPop', () => { + cy.langContentBtn(CITY, 'lblTabPop', 'tabPopHistory'); + }); + + it('Locale ' + LANG + '. Verification label lblTabInn', () => { + cy.langContentBtn(CITY, 'lblTabInn', 'tabInnWelcome'); + }); + + it('Locale ' + LANG + '. Verification label lblUpkeepSrc', () => { + cy.langContentBtn(SETTINGS, 'lblUpkeepSrc', 'heroTroopsUpkeepSource'); + }); + + it('Locale ' + LANG + '. Verification label btnColorMode', () => { + cy.langContentBtn(SETTINGS, 'btnColorMode', 'tabSettingsBtnChangeColorMode'); + }); + + it('Locale ' + LANG + '. label selectUpkeepSrc[0]', () => { + cy.langListElement(CITY, 'selectUpkeepSrc',0, 'heroTroopsUpkeepSrcHeroPurse'); + }); + + it('Locale ' + LANG + '. label selectUpkeepSrc[1]', () => { + cy.langListElement(CITY, 'selectUpkeepSrc',1, 'heroTroopsUpkeepSrcTreasury'); + }); + + it('Locale ' + LANG + '. Verification button btnDismissHero', () => { + cy.langContentBtn(CITY, 'btnDismissHero', 'btnDismissHero'); + }); + + it('Locale ' + LANG + '. Verification button btnAutocampaignJournal', () => { + cy.langContentBtn(CITY, 'btnAutocampaignJournal', 'btnAutocampaignOpenJournal'); + }); + + it('Locale ' + LANG + '. Verification button btnTowngate', () => { + cy.langContentBtn(CITY, 'btnTowngate', 'btnUseTowngateScroll'); + }); + + it('Locale ' + LANG + '. Verification button btnLeaveCity', () => { + cy.langContentBtn(CITY, 'btnLeaveCity', 'btnGoToAdvenureMap'); + }); + it('Locale ' + LANG + '. Verification button btnGenerateMap', () => { + cy.langContentBtn(CITY, 'btnGenerateMap', 'btnRegenerateMap'); + }); + + it('Locale ' + LANG + '. Verification button btnAutobattlesList', () => { + cy.langContentBtn(CITY, 'btnAutobattlesList', 'autobattle_journal_btn'); + }); + + it('Locale ' + LANG + '. Verification label lblOption', () => { + cy.langContentBtn(SETTINGS, 'lblOption', 'tabSoundSettingsLblOption'); + }); + + it('Locale ' + LANG + '. Verification label lblOn', () => { + cy.langContentBtn(SETTINGS, 'lblOn', 'on'); + }); + + it('Locale ' + LANG + '. Verification label lblOff', () => { + cy.langContentBtn(SETTINGS, 'lblOff', 'off'); + }); + + it('Locale ' + LANG + '. Verification label lblSfxAll', () => { + cy.langContentBtn(SETTINGS, 'lblSfxAll', 'tabSoundSettingsLblAllSoundEffects'); + }); + + it('Locale ' + LANG + '. Verification label lblSfxEvt', () => { + cy.langContentBtn(SETTINGS, 'lblSfxEvt', 'tabSoundSettingsLblAllEventsEffects'); + }); + + it('Locale ' + LANG + '. Verification label lblSfxEvtAR', () => { + cy.langContentBtn(SETTINGS, 'lblSfxEvtAR', 'tabSoundSettingsLblEffectsAR'); + }); + + it('Locale ' + LANG + '. Verification label lblMscAll', () => { + cy.langContentBtn(SETTINGS, 'lblMscAll', 'tabSoundSettingsAllMusic'); + }); + + it('Locale ' + LANG + '. Verification label lblMscScr', () => { + cy.langContentBtn(SETTINGS, 'lblMscScr', 'tabSoundSettingsScMusic'); + }); + + it('Locale ' + LANG + '. Verification button btnToGeneralSettings', () => { + cy.langContentBtn(CITY, 'btnToGeneralSettings', 'btnBack'); + }); + + it('Locale ' + LANG + '. Verification button btnToInn', () => { + cy.langContentBtn(CITY, 'btnToInn', 'btnBack'); + }); + + it('Locale ' + LANG + '. Verification button btnToInn1', () => { + cy.langContentBtn(CITY, 'btnToInn1', 'btnBack'); + }); + + it('Locale ' + LANG + '. Verification label lblSoundMenu', () => { + cy.langContentBtn(SETTINGS, 'lblSoundMenu', 'lblSoundMenu'); + }); + + it('Locale ' + LANG + '. Verification button btnSoundSettings', () => { + cy.langContentBtn(CITY, 'btnSoundSettings', 'tabSettingsBtnOpenSoundSettings'); + }); + + it('Locale ' + LANG + '. Verification label lblStnMobileUI', () => { + cy.langContentBtn(SETTINGS, 'lblStnMobileUI', 'tabSettingsLblMobileUI'); + }); + + it('Locale ' + LANG + '. Verification label lblStnEventLogSize', () => { + cy.langContentBtn(SETTINGS, 'lblStnEventLogSize', 'tabSettingsLblLogSize'); + }); + + it('Locale ' + LANG + '. Verification label lblStnLines', () => { + cy.langContentBtn(SETTINGS, 'lblStnLines', 'tabSettingsLblLines'); + }); + + it('Locale ' + LANG + '. Verification label lblGoodsForSale', () => { + cy.langContentBtn(SETTINGS, 'lblGoodsForSale', 'lblGoodForSale'); + }); + + it('Locale ' + LANG + '. Verification label lblGoodsForBuying', () => { + cy.langContentBtn(SETTINGS, 'lblGoodsForBuying', 'lblHeroGoodsFoSale'); + }); + + it('Locale ' + LANG + '. Verification button btnLeaveBlackmarket', () => { + cy.langContentBtn(CITY, 'btnLeaveBlackmarket', 'btnGoToAdvenureMap'); + }); + + it('Locale ' + LANG + '. Verification label lblFirebrigade', () => { + cy.langContentBtn(SETTINGS, 'lblFirebrigade', 'lblFirebrigade'); + }); + + it('Locale ' + LANG + '. Verification label lblFBOption', () => { + cy.langContentBtn(SETTINGS, 'lblFBOption', 'lblFireServiceStatus'); + }); + + it('Locale ' + LANG + '. Verification label lblFBOn', () => { + cy.langContentBtn(SETTINGS, 'lblFBOn', 'onDuty'); + }); + + it('Locale ' + LANG + '. Verification label lblFBOff', () => { + cy.langContentBtn(SETTINGS, 'lblFBOff', 'offDuty'); + }); + + it('Locale ' + LANG + '. Verification label lblFBUpKeepPrice', () => { + cy.langContentBtn(SETTINGS, 'lblFBUpKeepPrice', 'lblFirebrigadeUpkeep'); + }); + + it('Locale ' + LANG + '. Verification button btnPopAtStart', () => { + cy.langContentBtn(CITY, 'btnPopAtStart', 'paginationStart'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldAtStart', () => { + cy.langContentBtn(CITY, 'btnGoldAtStart', 'paginationStart'); + }); + + it('Locale ' + LANG + '. Verification button btnPopPrev', () => { + cy.langContentBtn(CITY, 'btnPopPrev', 'paginationPrevious'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldPrev', () => { + cy.langContentBtn(CITY, 'btnGoldPrev', 'paginationPrevious'); + }); + + it('Locale ' + LANG + '. Verification button btnPopNext', () => { + cy.langContentBtn(CITY, 'btnPopNext', 'paginationNext'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldNext', () => { + cy.langContentBtn(CITY, 'btnGoldNext', 'paginationNext'); + }); + + it('Locale ' + LANG + '. Verification button btnPopAtEnd', () => { + cy.langContentBtn(CITY, 'btnPopAtEnd', 'paginationCurrent'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldAtEnd', () => { + cy.langContentBtn(CITY, 'btnGoldAtEnd', 'paginationCurrent'); + }); + + // Ожидает рефакторинга кода + it.skip('!!!SKIP!!!Locale ' + LANG + '. Verification button downloadGame', () => { + cy.langContentBtn(CITY, 'downloadGame', 'localeStrings[328]'); + }); + + it('Locale ' + LANG + '. Verification label lblLevelForHireLbl', () => { + cy.langContentBtn(SETTINGS, 'lblLevelForHireLbl', 'heroLvlLbl'); + }); + + it('Locale ' + LANG + '. Verification button spnServerStatusLabel', () => { + cy.langContentBtn(CITY, 'spnServerStatusLabel', 'serverStatusSpn'); + }); + + it('Locale ' + LANG + '. Verification button spnServerStatusValue', () => { + cy.langContentBtn(CITY, 'spnServerStatusValue', 'serverStatusND'); + }); + + it('Locale ' + LANG + '. Verification button spnOnline', () => { + cy.langContentBtn(CITY, 'spnOnline', 'online'); + }); + + it('Locale ' + LANG + '. Verification button spnOnlineValue', () => { + cy.langContentBtn(CITY, 'spnOnlineValue', 'onlineValueND'); + }); +}) \ No newline at end of file diff --git a/tests/tests_cypress/check_langs/cypress/support/commands.js b/tests/tests_cypress/check_langs/cypress/support/commands.js index a3d8ff4..361f88a 100644 --- a/tests/tests_cypress/check_langs/cypress/support/commands.js +++ b/tests/tests_cypress/check_langs/cypress/support/commands.js @@ -46,7 +46,7 @@ Cypress.Commands.add('langContentBtn', (tabName, btnName, textName) => { }); }) -Cypress.Commands.add('logText', (eventCommand, textName) => { +Cypress.Commands.add('langLogText', (eventCommand, textName) => { let text; cy.get('#log_btn').click(); @@ -56,4 +56,16 @@ Cypress.Commands.add('logText', (eventCommand, textName) => { cy.get('[id="log"]').contains(text); }); +}) + +Cypress.Commands.add('langListElement', (tabName, listName, elemNumber, textName) => { + let text; + cy.get('#'+tabName).click(); + + cy.window().then((win1) => { + text = win1.eval('locObj.' + textName + '.txt'); + cy.get('[id="'+listName+'"] > option').should(($lis) => { + expect($lis.eq(elemNumber)).to.contain(text); + }) + }); }) \ No newline at end of file From 0876b037154ca3449be3cd7455b0c00dc98c14fa Mon Sep 17 00:00:00 2001 From: aablatov Date: Sun, 19 Mar 2023 01:29:28 +0300 Subject: [PATCH 48/86] add yml --- .../workflows/cypress_verificationLang.yml | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .github/workflows/cypress_verificationLang.yml diff --git a/.github/workflows/cypress_verificationLang.yml b/.github/workflows/cypress_verificationLang.yml new file mode 100644 index 0000000..810acab --- /dev/null +++ b/.github/workflows/cypress_verificationLang.yml @@ -0,0 +1,31 @@ +name: "Validate HTML" + +on: + pull_request: + push: + workflow_call: + workflow_dispatch: + +jobs: + smoke_job: + name: Cypress Validate HTML + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: run server with the front of the game + run: python3 -m http.server 8080 & + + - name: check whether game is UP + run: | + curl -X GET "http://localhost:8080/" + + - name: cypress run + uses: cypress-io/github-action@v5 + with: + working-directory: tests/tests_cypress/check_langs + start: | + npm install --save-dev html-validate cypress-html-validate + npm run start From c447f36d89f6a118d50ba0527edee0a9f8016070 Mon Sep 17 00:00:00 2001 From: aablatov Date: Sun, 19 Mar 2023 01:31:59 +0300 Subject: [PATCH 49/86] add name job --- .github/workflows/cypress_verificationLang.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cypress_verificationLang.yml b/.github/workflows/cypress_verificationLang.yml index 810acab..6b16041 100644 --- a/.github/workflows/cypress_verificationLang.yml +++ b/.github/workflows/cypress_verificationLang.yml @@ -1,4 +1,4 @@ -name: "Validate HTML" +name: "Verification language" on: pull_request: @@ -8,7 +8,7 @@ on: jobs: smoke_job: - name: Cypress Validate HTML + name: Cypress Verification language runs-on: ubuntu-latest steps: From a4b21fcb66af5c46e9baee2c22c98c463f9acf4c Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Sun, 19 Mar 2023 01:55:50 +0200 Subject: [PATCH 50/86] resolved merge conflict --- js/lib/sentry.min.js | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 js/lib/sentry.min.js diff --git a/js/lib/sentry.min.js b/js/lib/sentry.min.js new file mode 100644 index 0000000..3fb1cbf --- /dev/null +++ b/js/lib/sentry.min.js @@ -0,0 +1,4 @@ +//https://browser.sentry-cdn.com/7.43.0/bundle.min.js +/*! @sentry/browser 7.43.0 (1b14f27) | https://github.com/getsentry/sentry-javascript */ +var Sentry=function(t){const n=Object.prototype.toString;function e(t){switch(n.call(t)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return h(t,Error)}}function r(t,e){return n.call(t)===`[object ${e}]`}function i(t){return r(t,"ErrorEvent")}function s(t){return r(t,"DOMError")}function o(t){return r(t,"String")}function c(t){return null===t||"object"!=typeof t&&"function"!=typeof t}function u(t){return r(t,"Object")}function a(t){return"undefined"!=typeof Event&&h(t,Event)}function f(t){return Boolean(t&&t.then&&"function"==typeof t.then)}function h(t,n){try{return t instanceof n}catch(t){return!1}}function l(t){return t&&t.Math==Math?t:void 0}const d="object"==typeof globalThis&&l(globalThis)||"object"==typeof window&&l(window)||"object"==typeof self&&l(self)||"object"==typeof global&&l(global)||function(){return this}()||{};function p(){return d}function y(t,n,e){const r=e||d,i=r.__SENTRY__=r.__SENTRY__||{};return i[t]||(i[t]=n())}const v=p();function m(t,n={}){try{let e=t;const r=5,i=[];let s=0,o=0;const c=" > ",u=c.length;let a;const f=Array.isArray(n)?n:n.keyAttrs,h=!Array.isArray(n)&&n.maxStringLength||80;for(;e&&s++1&&o+i.length*u+a.length>=h));)i.push(a),o+=a.length,e=e.parentNode;return i.reverse().join(c)}catch(t){return""}}function g(t,n){const e=t,r=[];let i,s,c,u,a;if(!e||!e.tagName)return"";r.push(e.tagName.toLowerCase());const f=n&&n.length?n.filter((t=>e.getAttribute(t))).map((t=>[t,e.getAttribute(t)])):null;if(f&&f.length)f.forEach((t=>{r.push(`[${t[0]}="${t[1]}"]`)}));else if(e.id&&r.push(`#${e.id}`),i=e.className,i&&o(i))for(s=i.split(/\s+/),a=0;a1&&(u=f.slice(0,-1).join("/"),a=f.pop()),a){const t=a.match(/^\d+/);t&&(a=t[0])}return E({host:s,pass:i,path:u,projectId:a,port:o,protocol:e,publicKey:r})}(t):E(t)}const $=["debug","info","warn","error","log","assert","trace"];function x(t,n=0){return"string"!=typeof t||0===n||t.length<=n?t:`${t.slice(0,n)}...`}function k(t,n){if(!Array.isArray(t))return"";const e=[];for(let n=0;nj(t,n,e)))}function T(t,n,e){if(!(n in t))return;const r=t[n],i=e(r);if("function"==typeof i)try{R(i,r)}catch(t){}t[n]=i}function D(t,n,e){Object.defineProperty(t,n,{value:e,writable:!0,configurable:!0})}function R(t,n){const e=n.prototype||{};t.prototype=n.prototype=e,D(t,"__sentry_original__",n)}function I(t){return t.__sentry_original__}function A(t){if(e(t))return{message:t.message,name:t.name,stack:t.stack,...N(t)};if(a(t)){const n={type:t.type,target:M(t.target),currentTarget:M(t.currentTarget),...N(t)};return"undefined"!=typeof CustomEvent&&h(t,CustomEvent)&&(n.detail=t.detail),n}return t}function M(t){try{return n=t,"undefined"!=typeof Element&&h(n,Element)?m(t):Object.prototype.toString.call(t)}catch(t){return""}var n}function N(t){if("object"==typeof t&&null!==t){const n={};for(const e in t)Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e]);return n}return{}}function L(t,n=40){const e=Object.keys(A(t));if(e.sort(),!e.length)return"[object has no keys]";if(e[0].length>=n)return x(e[0],n);for(let t=e.length;t>0;t--){const r=e.slice(0,t).join(", ");if(!(r.length>n))return t===e.length?r:x(r,n)}return""}function C(t){return U(t,new Map)}function U(t,n){if(u(t)){const e=n.get(t);if(void 0!==e)return e;const r={};n.set(t,r);for(const e of Object.keys(t))void 0!==t[e]&&(r[e]=U(t[e],n));return r}if(Array.isArray(t)){const e=n.get(t);if(void 0!==e)return e;const r=[];return n.set(t,r),t.forEach((t=>{r.push(U(t,n))})),r}return t}!function(){const t={enable:()=>{},disable:()=>{}};$.forEach((n=>{t[n]=()=>{}}))}();const q=/\(error: (.*)\)/;function P(...t){const n=t.sort(((t,n)=>t[0]-n[0])).map((t=>t[1]));return(t,e=0)=>{const r=[];for(const i of t.split("\n").slice(e)){if(i.length>1024)continue;const t=q.test(i)?i.replace(q,"$1"):i;for(const e of n){const n=e(t);if(n){r.push(n);break}}}return function(t){if(!t.length)return[];let n=t;const e=n[0].function||"",r=n[n.length-1].function||"";-1===e.indexOf("captureMessage")&&-1===e.indexOf("captureException")||(n=n.slice(1));-1!==r.indexOf("sentryWrapped")&&(n=n.slice(0,-1));return n.slice(0,50).map((t=>({...t,filename:t.filename||n[0].filename,function:t.function||"?"}))).reverse()}(r)}}const B="";function H(t){try{return t&&"function"==typeof t&&t.name||B}catch(t){return B}}const F=p();function X(){if(!("fetch"in F))return!1;try{return new Headers,new Request("http://www.example.com"),new Response,!0}catch(t){return!1}}function W(t){return t&&/^function fetch\(\)\s+\{\s+\[native code\]\s+\}$/.test(t.toString())}const z=p(),J={},K={};function G(t){if(!K[t])switch(K[t]=!0,t){case"console":!function(){if(!("console"in z))return;$.forEach((function(t){t in z.console&&T(z.console,t,(function(n){return function(...e){Y("console",{args:e,level:t}),n&&n.apply(z.console,e)}}))}))}();break;case"dom":!function(){if(!("document"in z))return;const t=Y.bind(null,"dom"),n=rt(t,!0);z.document.addEventListener("click",n,!1),z.document.addEventListener("keypress",n,!1),["EventTarget","Node"].forEach((n=>{const e=z[n]&&z[n].prototype;e&&e.hasOwnProperty&&e.hasOwnProperty("addEventListener")&&(T(e,"addEventListener",(function(n){return function(e,r,i){if("click"===e||"keypress"==e)try{const r=this,s=r.__sentry_instrumentation_handlers__=r.__sentry_instrumentation_handlers__||{},o=s[e]=s[e]||{refCount:0};if(!o.handler){const r=rt(t);o.handler=r,n.call(this,e,r,i)}o.refCount++}catch(t){}return n.call(this,e,r,i)}})),T(e,"removeEventListener",(function(t){return function(n,e,r){if("click"===n||"keypress"==n)try{const e=this,i=e.__sentry_instrumentation_handlers__||{},s=i[n];s&&(s.refCount--,s.refCount<=0&&(t.call(this,n,s.handler,r),s.handler=void 0,delete i[n]),0===Object.keys(i).length&&delete e.__sentry_instrumentation_handlers__)}catch(t){}return t.call(this,n,e,r)}})))}))}();break;case"xhr":!function(){if(!("XMLHttpRequest"in z))return;const t=XMLHttpRequest.prototype;T(t,"open",(function(t){return function(...n){const e=this,r=n[1],i=e.__sentry_xhr__={method:o(n[0])?n[0].toUpperCase():n[0],url:n[1]};o(r)&&"POST"===i.method&&r.match(/sentry_key/)&&(e.__sentry_own_request__=!0);const s=function(){if(4===e.readyState){try{i.status_code=e.status}catch(t){}Y("xhr",{args:n,endTimestamp:Date.now(),startTimestamp:Date.now(),xhr:e})}};return"onreadystatechange"in e&&"function"==typeof e.onreadystatechange?T(e,"onreadystatechange",(function(t){return function(...n){return s(),t.apply(e,n)}})):e.addEventListener("readystatechange",s),t.apply(e,n)}})),T(t,"send",(function(t){return function(...n){return this.__sentry_xhr__&&void 0!==n[0]&&(this.__sentry_xhr__.body=n[0]),Y("xhr",{args:n,startTimestamp:Date.now(),xhr:this}),t.apply(this,n)}}))}();break;case"fetch":!function(){if(!function(){if(!X())return!1;if(W(F.fetch))return!0;let t=!1;const n=F.document;if(n&&"function"==typeof n.createElement)try{const e=n.createElement("iframe");e.hidden=!0,n.head.appendChild(e),e.contentWindow&&e.contentWindow.fetch&&(t=W(e.contentWindow.fetch)),n.head.removeChild(e)}catch(t){}return t}())return;T(z,"fetch",(function(t){return function(...n){const e={args:n,fetchData:{method:Q(n),url:Z(n)},startTimestamp:Date.now()};return Y("fetch",{...e}),t.apply(z,n).then((t=>(Y("fetch",{...e,endTimestamp:Date.now(),response:t}),t)),(t=>{throw Y("fetch",{...e,endTimestamp:Date.now(),error:t}),t}))}}))}();break;case"history":!function(){if(!function(){const t=F.chrome,n=t&&t.app&&t.app.runtime,e="history"in F&&!!F.history.pushState&&!!F.history.replaceState;return!n&&e}())return;const t=z.onpopstate;function n(t){return function(...n){const e=n.length>2?n[2]:void 0;if(e){const t=tt,n=String(e);tt=n,Y("history",{from:t,to:n})}return t.apply(this,n)}}z.onpopstate=function(...n){const e=z.location.href,r=tt;if(tt=e,Y("history",{from:r,to:e}),t)try{return t.apply(this,n)}catch(t){}},T(z.history,"pushState",n),T(z.history,"replaceState",n)}();break;case"error":it=z.onerror,z.onerror=function(t,n,e,r,i){return Y("error",{column:r,error:i,line:e,msg:t,url:n}),!!it&&it.apply(this,arguments)};break;case"unhandledrejection":st=z.onunhandledrejection,z.onunhandledrejection=function(t){return Y("unhandledrejection",t),!st||st.apply(this,arguments)};break;default:return}}function V(t,n){J[t]=J[t]||[],J[t].push(n),G(t)}function Y(t,n){if(t&&J[t])for(const e of J[t]||[])try{e(n)}catch(t){}}function Q(t=[]){return"Request"in z&&h(t[0],Request)&&t[0].method?String(t[0].method).toUpperCase():t[1]&&t[1].method?String(t[1].method).toUpperCase():"GET"}function Z(t=[]){return"string"==typeof t[0]?t[0]:"Request"in z&&h(t[0],Request)?t[0].url:String(t[0])}let tt;let nt,et;function rt(t,n=!1){return e=>{if(!e||et===e)return;if(function(t){if("keypress"!==t.type)return!1;try{const n=t.target;if(!n||!n.tagName)return!0;if("INPUT"===n.tagName||"TEXTAREA"===n.tagName||n.isContentEditable)return!1}catch(t){}return!0}(e))return;const r="keypress"===e.type?"input":e.type;(void 0===nt||function(t,n){if(!t)return!0;if(t.type!==n.type)return!0;try{if(t.target!==n.target)return!0}catch(t){}return!1}(et,e))&&(t({event:e,name:r,global:n}),et=e),clearTimeout(nt),nt=z.setTimeout((()=>{nt=void 0}),1e3)}}let it=null;let st=null;function ot(){const t=d,n=t.crypto||t.msCrypto;if(n&&n.randomUUID)return n.randomUUID().replace(/-/g,"");const e=n&&n.getRandomValues?()=>n.getRandomValues(new Uint8Array(1))[0]:()=>16*Math.random();return([1e7]+1e3+4e3+8e3+1e11).replace(/[018]/g,(t=>(t^(15&e())>>t/4).toString(16)))}function ct(t){return t.exception&&t.exception.values?t.exception.values[0]:void 0}function ut(t){const{message:n,event_id:e}=t;if(n)return n;const r=ct(t);return r?r.type&&r.value?`${r.type}: ${r.value}`:r.type||r.value||e||"":e||""}function at(t,n,e){const r=t.exception=t.exception||{},i=r.values=r.values||[],s=i[0]=i[0]||{};s.value||(s.value=n||""),s.type||(s.type=e||"Error")}function ft(t,n){const e=ct(t);if(!e)return;const r=e.mechanism;if(e.mechanism={type:"generic",handled:!0,...r,...n},n&&"data"in n){const t={...r&&r.data,...n.data};e.mechanism.data=t}}function ht(t){if(t&&t.__sentry_captured__)return!0;try{D(t,"__sentry_captured__",!0)}catch(t){}return!1}function lt(t){return Array.isArray(t)?t:[t]}function dt(t,n=1/0,e=1/0){try{return yt("",t,n,e)}catch(t){return{ERROR:`**non-serializable** (${t})`}}}function pt(t,n=3,e=102400){const r=dt(t,n);return i=r,function(t){return~-encodeURI(t).split(/%..|./).length}(JSON.stringify(i))>e?pt(t,n-1,e):r;var i}function yt(t,n,e=1/0,r=1/0,i=function(){const t="function"==typeof WeakSet,n=t?new WeakSet:[];return[function(e){if(t)return!!n.has(e)||(n.add(e),!1);for(let t=0;t=r){l[t]="[MaxProperties ~]";break}const n=p[t];l[t]=yt(t,n,f-1,r,i),d++}return o(n),l}var vt;function mt(t){return new bt((n=>{n(t)}))}function gt(t){return new bt(((n,e)=>{e(t)}))}!function(t){t[t.PENDING=0]="PENDING";t[t.RESOLVED=1]="RESOLVED";t[t.REJECTED=2]="REJECTED"}(vt||(vt={}));class bt{__init(){this.i=vt.PENDING}__init2(){this.o=[]}constructor(t){bt.prototype.__init.call(this),bt.prototype.__init2.call(this),bt.prototype.__init3.call(this),bt.prototype.__init4.call(this),bt.prototype.__init5.call(this),bt.prototype.__init6.call(this);try{t(this.u,this.h)}catch(t){this.h(t)}}then(t,n){return new bt(((e,r)=>{this.o.push([!1,n=>{if(t)try{e(t(n))}catch(t){r(t)}else e(n)},t=>{if(n)try{e(n(t))}catch(t){r(t)}else r(t)}]),this.l()}))}catch(t){return this.then((t=>t),t)}finally(t){return new bt(((n,e)=>{let r,i;return this.then((n=>{i=!1,r=n,t&&t()}),(n=>{i=!0,r=n,t&&t()})).then((()=>{i?e(r):n(r)}))}))}__init3(){this.u=t=>{this.p(vt.RESOLVED,t)}}__init4(){this.h=t=>{this.p(vt.REJECTED,t)}}__init5(){this.p=(t,n)=>{this.i===vt.PENDING&&(f(n)?n.then(this.u,this.h):(this.i=t,this.v=n,this.l()))}}__init6(){this.l=()=>{if(this.i===vt.PENDING)return;const t=this.o.slice();this.o=[],t.forEach((t=>{t[0]||(this.i===vt.RESOLVED&&t[1](this.v),this.i===vt.REJECTED&&t[2](this.v),t[0]=!0)}))}}}function _t(t){const n=[];function e(t){return n.splice(n.indexOf(t),1)[0]}return{$:n,add:function(r){if(!(void 0===t||n.lengthe(i))).then(null,(()=>e(i).then(null,(()=>{})))),i},drain:function(t){return new bt(((e,r)=>{let i=n.length;if(!i)return e(!0);const s=setTimeout((()=>{t&&t>0&&e(!1)}),t);n.forEach((t=>{mt(t).then((()=>{--i||(clearTimeout(s),e(!0))}),r)}))}))}}}function wt(t){if(!t)return{};const n=t.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!n)return{};const e=n[6]||"",r=n[8]||"";return{host:n[4],path:n[5],protocol:n[2],relative:n[5]+e+r}}const Et=["fatal","error","warning","log","info","debug"];const St=p(),$t={nowSeconds:()=>Date.now()/1e3};const xt=function(){const{performance:t}=St;if(!t||!t.now)return;return{now:()=>t.now(),timeOrigin:Date.now()-t.now()}}(),kt=void 0===xt?$t:{nowSeconds:()=>(xt.timeOrigin+xt.now())/1e3},jt=$t.nowSeconds.bind($t),Ot=kt.nowSeconds.bind(kt);function Tt(t,n=[]){return[t,n]}function Dt(t,n){const[e,r]=t;return[e,[...r,n]]}function Rt(t,n){const e=t[1];for(const t of e){if(n(t,t[0].type))return!0}return!1}function It(t,n){return(n||new TextEncoder).encode(t)}function At(t,n){const[e,r]=t;let i=JSON.stringify(e);function s(t){"string"==typeof i?i="string"==typeof t?i+t:[It(i,n),t]:i.push("string"==typeof t?It(t,n):t)}for(const t of r){const[n,e]=t;if(s(`\n${JSON.stringify(n)}\n`),"string"==typeof e||e instanceof Uint8Array)s(e);else{let t;try{t=JSON.stringify(e)}catch(n){t=JSON.stringify(dt(e))}s(t)}}return"string"==typeof i?i:function(t){const n=t.reduce(((t,n)=>t+n.length),0),e=new Uint8Array(n);let r=0;for(const n of t)e.set(n,r),r+=n.length;return e}(i)}function Mt(t,n){const e="string"==typeof t.data?It(t.data,n):t.data;return[C({type:"attachment",length:e.length,filename:t.filename,content_type:t.contentType,attachment_type:t.attachmentType}),e]}(()=>{const{performance:t}=St;if(!t||!t.now)return;const n=36e5,e=t.now(),r=Date.now(),i=t.timeOrigin?Math.abs(t.timeOrigin+e-r):n,s=ifunction(t){return C({sid:`${t.sid}`,init:t.init,started:new Date(1e3*t.started).toISOString(),timestamp:new Date(1e3*t.timestamp).toISOString(),status:t.status,errors:t.errors,did:"number"==typeof t.did||"string"==typeof t.did?`${t.did}`:void 0,duration:t.duration,attrs:{release:t.release,environment:t.environment,ip_address:t.ipAddress,user_agent:t.userAgent}})}(e)};return t&&Bt(e,t),e}function Bt(t,n={}){if(n.user&&(!t.ipAddress&&n.user.ip_address&&(t.ipAddress=n.user.ip_address),t.did||n.did||(t.did=n.user.id||n.user.email||n.user.username)),t.timestamp=n.timestamp||Ot(),n.ignoreDuration&&(t.ignoreDuration=n.ignoreDuration),n.sid&&(t.sid=32===n.sid.length?n.sid:ot()),void 0!==n.init&&(t.init=n.init),!t.did&&n.did&&(t.did=`${n.did}`),"number"==typeof n.started&&(t.started=n.started),t.ignoreDuration)t.duration=void 0;else if("number"==typeof n.duration)t.duration=n.duration;else{const n=t.timestamp-t.started;t.duration=n>=0?n:0}n.release&&(t.release=n.release),n.environment&&(t.environment=n.environment),!t.ipAddress&&n.ipAddress&&(t.ipAddress=n.ipAddress),!t.userAgent&&n.userAgent&&(t.userAgent=n.userAgent),"number"==typeof n.errors&&(t.errors=n.errors),n.status&&(t.status=n.status)}class Ht{constructor(){this.m=!1,this.g=[],this._=[],this.S=[],this.k=[],this.j={},this.O={},this.T={},this.D={},this.R={}}static clone(t){const n=new Ht;return t&&(n.S=[...t.S],n.O={...t.O},n.T={...t.T},n.D={...t.D},n.j=t.j,n.I=t.I,n.A=t.A,n.M=t.M,n.N=t.N,n.L=t.L,n._=[...t._],n.C=t.C,n.k=[...t.k],n.R={...t.R}),n}addScopeListener(t){this.g.push(t)}addEventProcessor(t){return this._.push(t),this}setUser(t){return this.j=t||{},this.M&&Bt(this.M,{user:t}),this.U(),this}getUser(){return this.j}getRequestSession(){return this.C}setRequestSession(t){return this.C=t,this}setTags(t){return this.O={...this.O,...t},this.U(),this}setTag(t,n){return this.O={...this.O,[t]:n},this.U(),this}setExtras(t){return this.T={...this.T,...t},this.U(),this}setExtra(t,n){return this.T={...this.T,[t]:n},this.U(),this}setFingerprint(t){return this.L=t,this.U(),this}setLevel(t){return this.I=t,this.U(),this}setTransactionName(t){return this.N=t,this.U(),this}setContext(t,n){return null===n?delete this.D[t]:this.D[t]=n,this.U(),this}setSpan(t){return this.A=t,this.U(),this}getSpan(){return this.A}getTransaction(){const t=this.getSpan();return t&&t.transaction}setSession(t){return t?this.M=t:delete this.M,this.U(),this}getSession(){return this.M}update(t){if(!t)return this;if("function"==typeof t){const n=t(this);return n instanceof Ht?n:this}return t instanceof Ht?(this.O={...this.O,...t.O},this.T={...this.T,...t.T},this.D={...this.D,...t.D},t.j&&Object.keys(t.j).length&&(this.j=t.j),t.I&&(this.I=t.I),t.L&&(this.L=t.L),t.C&&(this.C=t.C)):u(t)&&(t=t,this.O={...this.O,...t.tags},this.T={...this.T,...t.extra},this.D={...this.D,...t.contexts},t.user&&(this.j=t.user),t.level&&(this.I=t.level),t.fingerprint&&(this.L=t.fingerprint),t.requestSession&&(this.C=t.requestSession)),this}clear(){return this.S=[],this.O={},this.T={},this.j={},this.D={},this.I=void 0,this.N=void 0,this.L=void 0,this.C=void 0,this.A=void 0,this.M=void 0,this.U(),this.k=[],this}addBreadcrumb(t,n){const e="number"==typeof n?n:100;if(e<=0)return this;const r={timestamp:jt(),...t};return this.S=[...this.S,r].slice(-e),this.U(),this}getLastBreadcrumb(){return this.S[this.S.length-1]}clearBreadcrumbs(){return this.S=[],this.U(),this}addAttachment(t){return this.k.push(t),this}getAttachments(){return this.k}clearAttachments(){return this.k=[],this}applyToEvent(t,n={}){if(this.T&&Object.keys(this.T).length&&(t.extra={...this.T,...t.extra}),this.O&&Object.keys(this.O).length&&(t.tags={...this.O,...t.tags}),this.j&&Object.keys(this.j).length&&(t.user={...this.j,...t.user}),this.D&&Object.keys(this.D).length&&(t.contexts={...this.D,...t.contexts}),this.I&&(t.level=this.I),this.N&&(t.transaction=this.N),this.A){t.contexts={trace:this.A.getTraceContext(),...t.contexts};const n=this.A.transaction&&this.A.transaction.name;n&&(t.tags={transaction:n,...t.tags})}return this.q(t),t.breadcrumbs=[...t.breadcrumbs||[],...this.S],t.breadcrumbs=t.breadcrumbs.length>0?t.breadcrumbs:void 0,t.sdkProcessingMetadata={...t.sdkProcessingMetadata,...this.R},this.P([...Ft(),...this._],t,n)}setSDKProcessingMetadata(t){return this.R={...this.R,...t},this}P(t,n,e,r=0){return new bt(((i,s)=>{const o=t[r];if(null===n||"function"!=typeof o)i(n);else{const c=o({...n},e);f(c)?c.then((n=>this.P(t,n,e,r+1).then(i))).then(null,s):this.P(t,c,e,r+1).then(i).then(null,s)}}))}U(){this.m||(this.m=!0,this.g.forEach((t=>{t(this)})),this.m=!1)}q(t){t.fingerprint=t.fingerprint?lt(t.fingerprint):[],this.L&&(t.fingerprint=t.fingerprint.concat(this.L)),t.fingerprint&&!t.fingerprint.length&&delete t.fingerprint}}function Ft(){return y("globalEventProcessors",(()=>[]))}function Xt(t){Ft().push(t)}const Wt=100;class zt{__init(){this.B=[{}]}constructor(t,n=new Ht,e=4){this.H=e,zt.prototype.__init.call(this),this.getStackTop().scope=n,t&&this.bindClient(t)}isOlderThan(t){return this.H{i.captureException(t,{originalException:t,syntheticException:r,...n,event_id:e},s)})),e}captureMessage(t,n,e){const r=this.F=e&&e.event_id?e.event_id:ot(),i=new Error(t);return this.X(((s,o)=>{s.captureMessage(t,n,{originalException:t,syntheticException:i,...e,event_id:r},o)})),r}captureEvent(t,n){const e=n&&n.event_id?n.event_id:ot();return t.type||(this.F=e),this.X(((r,i)=>{r.captureEvent(t,{...n,event_id:e},i)})),e}lastEventId(){return this.F}addBreadcrumb(t,n){const{scope:e,client:r}=this.getStackTop();if(!e||!r)return;const{beforeBreadcrumb:i=null,maxBreadcrumbs:s=Wt}=r.getOptions&&r.getOptions()||{};if(s<=0)return;const o={timestamp:jt(),...t},c=i?function(t){if(!("console"in d))return t();const n=d.console,e={};$.forEach((t=>{const r=n[t]&&n[t].__sentry_original__;t in n&&r&&(e[t]=n[t],n[t]=r)}));try{return t()}finally{Object.keys(e).forEach((t=>{n[t]=e[t]}))}}((()=>i(o,n))):o;null!==c&&e.addBreadcrumb(c,s)}setUser(t){const n=this.getScope();n&&n.setUser(t)}setTags(t){const n=this.getScope();n&&n.setTags(t)}setExtras(t){const n=this.getScope();n&&n.setExtras(t)}setTag(t,n){const e=this.getScope();e&&e.setTag(t,n)}setExtra(t,n){const e=this.getScope();e&&e.setExtra(t,n)}setContext(t,n){const e=this.getScope();e&&e.setContext(t,n)}configureScope(t){const{scope:n,client:e}=this.getStackTop();n&&e&&t(n)}run(t){const n=Kt(this);try{t(this)}finally{Kt(n)}}getIntegration(t){const n=this.getClient();if(!n)return null;try{return n.getIntegration(t)}catch(t){return null}}startTransaction(t,n){return this.W("startTransaction",t,n)}traceHeaders(){return this.W("traceHeaders")}captureSession(t=!1){if(t)return this.endSession();this.J()}endSession(){const t=this.getStackTop(),n=t&&t.scope,e=n&&n.getSession();e&&function(t,n){let e={};n?e={status:n}:"ok"===t.status&&(e={status:"exited"}),Bt(t,e)}(e),this.J(),n&&n.setSession()}startSession(t){const{scope:n,client:e}=this.getStackTop(),{release:r,environment:i=qt}=e&&e.getOptions()||{},{userAgent:s}=d.navigator||{},o=Pt({release:r,environment:i,...n&&{user:n.getUser()},...s&&{userAgent:s},...t});if(n){const t=n.getSession&&n.getSession();t&&"ok"===t.status&&Bt(t,{status:"exited"}),this.endSession(),n.setSession(o)}return o}shouldSendDefaultPii(){const t=this.getClient(),n=t&&t.getOptions();return Boolean(n&&n.sendDefaultPii)}J(){const{scope:t,client:n}=this.getStackTop();if(!t)return;const e=t.getSession();e&&n&&n.captureSession&&n.captureSession(e)}X(t){const{scope:n,client:e}=this.getStackTop();e&&t(e,n)}W(t,...n){const e=Jt().__SENTRY__;if(e&&e.extensions&&"function"==typeof e.extensions[t])return e.extensions[t].apply(this,n)}}function Jt(){return d.__SENTRY__=d.__SENTRY__||{extensions:{},hub:void 0},d}function Kt(t){const n=Jt(),e=Vt(n);return Yt(n,t),e}function Gt(){const t=Jt();var n;return(n=t)&&n.__SENTRY__&&n.__SENTRY__.hub&&!Vt(t).isOlderThan(4)||Yt(t,new zt),Vt(t)}function Vt(t){return y("hub",(()=>new zt),t)}function Yt(t,n){if(!t)return!1;return(t.__SENTRY__=t.__SENTRY__||{}).hub=n,!0}function captureException(t,n){return Gt().captureException(t,{captureContext:n})}function Qt(t){Gt().withScope(t)}function Zt(t){const n=t.protocol?`${t.protocol}:`:"",e=t.port?`:${t.port}`:"";return`${n}//${t.host}${e}${t.path?`/${t.path}`:""}/api/`}function tn(t,n){return e={sentry_key:t.publicKey,sentry_version:"7",...n&&{sentry_client:`${n.name}/${n.version}`}},Object.keys(e).map((t=>`${encodeURIComponent(t)}=${encodeURIComponent(e[t])}`)).join("&");var e}function nn(t,n={}){const e="string"==typeof n?n:n.tunnel,r="string"!=typeof n&&n.K?n.K.sdk:void 0;return e||`${function(t){return`${Zt(t)}${t.projectId}/envelope/`}(t)}?${tn(t,r)}`}function en(t,n,e,r){const i=Ct(e),s=t.type&&"replay_event"!==t.type?t.type:"event";!function(t,n){n&&(t.sdk=t.sdk||{},t.sdk.name=t.sdk.name||n.name,t.sdk.version=t.sdk.version||n.version,t.sdk.integrations=[...t.sdk.integrations||[],...n.integrations||[]],t.sdk.packages=[...t.sdk.packages||[],...n.packages||[]])}(t,e&&e.sdk);const o=function(t,n,e,r){const i=t.sdkProcessingMetadata&&t.sdkProcessingMetadata.dynamicSamplingContext;return{event_id:t.event_id,sent_at:(new Date).toISOString(),...n&&{sdk:n},...!!e&&{dsn:w(r)},..."transaction"===t.type&&i&&{trace:C({...i})}}}(t,i,r,n);delete t.sdkProcessingMetadata;return Tt(o,[[{type:s},t]])}const rn=[];function sn(t){const n=t.defaultIntegrations||[],e=t.integrations;let r;n.forEach((t=>{t.isDefaultInstance=!0})),r=Array.isArray(e)?[...n,...e]:"function"==typeof e?lt(e(n)):n;const i=function(t){const n={};return t.forEach((t=>{const{name:e}=t,r=n[e];r&&!r.isDefaultInstance&&t.isDefaultInstance||(n[e]=t)})),Object.keys(n).map((t=>n[t]))}(r),s=function(t,n){for(let e=0;e"Debug"===t.name));if(-1!==s){const[t]=i.splice(s,1);i.push(t)}return i}function on(t,n){n[t.name]=t,-1===rn.indexOf(t.name)&&(t.setupOnce(Xt,Gt),rn.push(t.name))}function cn(t,n,e,r){const{normalizeDepth:i=3,normalizeMaxBreadth:s=1e3}=t,o={...n,event_id:n.event_id||e.event_id||ot(),timestamp:n.timestamp||jt()},c=e.integrations||t.integrations.map((t=>t.name));!function(t,n){const{environment:e,release:r,dist:i,maxValueLength:s=250}=n;"environment"in t||(t.environment="environment"in n?e:qt);void 0===t.release&&void 0!==r&&(t.release=r);void 0===t.dist&&void 0!==i&&(t.dist=i);t.message&&(t.message=x(t.message,s));const o=t.exception&&t.exception.values&&t.exception.values[0];o&&o.value&&(o.value=x(o.value,s));const c=t.request;c&&c.url&&(c.url=x(c.url,s))}(o,t),function(t,n){n.length>0&&(t.sdk=t.sdk||{},t.sdk.integrations=[...t.sdk.integrations||[],...n])}(o,c),function(t,n){const e=d.G;if(!e)return;const r=Object.keys(e).reduce(((t,r)=>{const i=n(r);for(const n of i)if(n.abs_path){t[n.abs_path]=e[r];break}return t}),{}),i=new Set;try{t.exception.values.forEach((t=>{t.stacktrace.frames.forEach((t=>{t.abs_path&&i.add(t.abs_path)}))}))}catch(t){}t.debug_meta=t.debug_meta||{},t.debug_meta.images=t.debug_meta.images||[];const s=t.debug_meta.images;i.forEach((t=>{r[t]&&s.push({type:"sourcemap",code_file:t,debug_id:r[t]})}))}(o,t.stackParser);let u=r;e.captureContext&&(u=Ht.clone(u).update(e.captureContext));let a=mt(o);if(u){if(u.getAttachments){const t=[...e.attachments||[],...u.getAttachments()];t.length&&(e.attachments=t)}a=u.applyToEvent(o,e)}return a.then((t=>"number"==typeof i&&i>0?function(t,n,e){if(!t)return null;const r={...t,...t.breadcrumbs&&{breadcrumbs:t.breadcrumbs.map((t=>({...t,...t.data&&{data:dt(t.data,n,e)}})))},...t.user&&{user:dt(t.user,n,e)},...t.contexts&&{contexts:dt(t.contexts,n,e)},...t.extra&&{extra:dt(t.extra,n,e)}};t.contexts&&t.contexts.trace&&r.contexts&&(r.contexts.trace=t.contexts.trace,t.contexts.trace.data&&(r.contexts.trace.data=dt(t.contexts.trace.data,n,e)));t.spans&&(r.spans=t.spans.map((t=>(t.data&&(t.data=dt(t.data,n,e)),t))));return r}(t,i,s):t))}class un{__init(){this._integrations={}}__init2(){this.V=!1}__init3(){this.Y=0}__init4(){this.Z={}}__init5(){this.tt={}}constructor(t){if(un.prototype.__init.call(this),un.prototype.__init2.call(this),un.prototype.__init3.call(this),un.prototype.__init4.call(this),un.prototype.__init5.call(this),this.nt=t,t.dsn){this.et=S(t.dsn);const n=nn(this.et,t);this.rt=t.transport({recordDroppedEvent:this.recordDroppedEvent.bind(this),...t.transportOptions,url:n})}}captureException(t,n,e){if(ht(t))return;let r=n&&n.event_id;return this.it(this.eventFromException(t,n).then((t=>this.st(t,n,e))).then((t=>{r=t}))),r}captureMessage(t,n,e,r){let i=e&&e.event_id;const s=c(t)?this.eventFromMessage(String(t),n,e):this.eventFromException(t,e);return this.it(s.then((t=>this.st(t,e,r))).then((t=>{i=t}))),i}captureEvent(t,n,e){if(n&&n.originalException&&ht(n.originalException))return;let r=n&&n.event_id;return this.it(this.st(t,n,e).then((t=>{r=t}))),r}captureSession(t){this.ot()&&("string"!=typeof t.release||(this.sendSession(t),Bt(t,{init:!1})))}getDsn(){return this.et}getOptions(){return this.nt}getSdkMetadata(){return this.nt.K}getTransport(){return this.rt}flush(t){const n=this.rt;return n?this.ct(t).then((e=>n.flush(t).then((t=>e&&t)))):mt(!0)}close(t){return this.flush(t).then((t=>(this.getOptions().enabled=!1,t)))}setupIntegrations(){this.ot()&&!this.V&&(this._integrations=function(t){const n={};return t.forEach((t=>{t&&on(t,n)})),n}(this.nt.integrations),this.V=!0)}getIntegrationById(t){return this._integrations[t]}getIntegration(t){try{return this._integrations[t.id]||null}catch(t){return null}}addIntegration(t){on(t,this._integrations)}sendEvent(t,n={}){if(this.et){let e=en(t,this.et,this.nt.K,this.nt.tunnel);for(const t of n.attachments||[])e=Dt(e,Mt(t,this.nt.transportOptions&&this.nt.transportOptions.textEncoder));this.ut(e)}}sendSession(t){if(this.et){const n=function(t,n,e,r){const i=Ct(e);return Tt({sent_at:(new Date).toISOString(),...i&&{sdk:i},...!!r&&{dsn:w(n)}},["aggregates"in t?[{type:"sessions"},t]:[{type:"session"},t]])}(t,this.et,this.nt.K,this.nt.tunnel);this.ut(n)}}recordDroppedEvent(t,n,e){if(this.nt.sendClientReports){const e=`${t}:${n}`;this.Z[e]=this.Z[e]+1||1}}on(t,n){this.tt[t]||(this.tt[t]=[]),this.tt[t].push(n)}emit(t,...n){this.tt[t]&&this.tt[t].forEach((t=>t(...n)))}ft(t,n){let e=!1,r=!1;const i=n.exception&&n.exception.values;if(i){r=!0;for(const t of i){const n=t.mechanism;if(n&&!1===n.handled){e=!0;break}}}const s="ok"===t.status;(s&&0===t.errors||s&&e)&&(Bt(t,{...e&&{status:"crashed"},errors:t.errors||Number(r||e)}),this.captureSession(t))}ct(t){return new bt((n=>{let e=0;const r=setInterval((()=>{0==this.Y?(clearInterval(r),n(!0)):(e+=1,t&&e>=t&&(clearInterval(r),n(!1)))}),1)}))}ot(){return!1!==this.getOptions().enabled&&void 0!==this.et}ht(t,n,e){const r=this.getOptions(),i=Object.keys(this._integrations);return!n.integrations&&i.length>0&&(n.integrations=i),cn(r,t,n,e)}st(t,n={},e){return this.lt(t,n,e).then((t=>t.event_id),(t=>{}))}lt(t,n,e){const r=this.getOptions(),{sampleRate:i}=r;if(!this.ot())return gt(new b("SDK not enabled, will not capture event.","log"));const s=fn(t),o=an(t),c=t.type||"error",a=`before send for type \`${c}\``;if(o&&"number"==typeof i&&Math.random()>i)return this.recordDroppedEvent("sample_rate","error",t),gt(new b(`Discarding event because it's not included in the random sample (sampling rate = ${i})`,"log"));const h="replay_event"===c?"replay":c;return this.ht(t,n,e).then((e=>{if(null===e)throw this.recordDroppedEvent("event_processor",h,t),new b("An event processor returned `null`, will not send event.","log");if(n.data&&!0===n.data.__sentry__)return e;const i=function(t,n,e){const{beforeSend:r,beforeSendTransaction:i}=t;if(an(n)&&r)return r(n,e);if(fn(n)&&i)return i(n,e);return n}(r,e,n);return function(t,n){const e=`${n} must return \`null\` or a valid event.`;if(f(t))return t.then((t=>{if(!u(t)&&null!==t)throw new b(e);return t}),(t=>{throw new b(`${n} rejected with ${t}`)}));if(!u(t)&&null!==t)throw new b(e);return t}(i,a)})).then((r=>{if(null===r)throw this.recordDroppedEvent("before_send",h,t),new b(`${a} returned \`null\`, will not send event.`,"log");const i=e&&e.getSession();!s&&i&&this.ft(i,r);const o=r.transaction_info;if(s&&o&&r.transaction!==t.transaction){const t="custom";r.transaction_info={...o,source:t}}return this.sendEvent(r,n),r})).then(null,(t=>{if(t instanceof b)throw t;throw this.captureException(t,{data:{__sentry__:!0},originalException:t}),new b(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason: ${t}`)}))}it(t){this.Y++,t.then((t=>(this.Y--,t)),(t=>(this.Y--,t)))}ut(t){this.rt&&this.et&&this.rt.send(t).then(null,(t=>{}))}dt(){const t=this.Z;return this.Z={},Object.keys(t).map((n=>{const[e,r]=n.split(":");return{reason:e,category:r,quantity:t[n]}}))}}function an(t){return void 0===t.type}function fn(t){return"transaction"===t.type}function hn(t,n,e=_t(t.bufferSize||30)){let r={};return{send:function(i){const s=[];if(Rt(i,((n,e)=>{const i=Lt(e);if(function(t,n,e=Date.now()){return function(t,n){return t[n]||t.all||0}(t,n)>e}(r,i)){const r=ln(n,e);t.recordDroppedEvent("ratelimit_backoff",i,r)}else s.push(n)})),0===s.length)return mt();const o=Tt(i[0],s),c=n=>{Rt(o,((e,r)=>{const i=ln(e,r);t.recordDroppedEvent(n,Lt(r),i)}))};return e.add((()=>n({body:At(o,t.textEncoder)}).then((t=>(r=Ut(r,t),t)),(t=>{throw c("network_error"),t})))).then((t=>t),(t=>{if(t instanceof b)return c("queue_overflow"),mt();throw t}))},flush:t=>e.drain(t)}}function ln(t,n){if("event"===n||"transaction"===n)return Array.isArray(t)?t[1]:void 0}const dn="7.43.0";let pn;class yn{constructor(){yn.prototype.__init.call(this)}static __initStatic(){this.id="FunctionToString"}__init(){this.name=yn.id}setupOnce(){pn=Function.prototype.toString,Function.prototype.toString=function(...t){const n=I(this)||this;return pn.apply(n,t)}}}yn.__initStatic();const vn=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/];class mn{static __initStatic(){this.id="InboundFilters"}__init(){this.name=mn.id}constructor(t={}){this.nt=t,mn.prototype.__init.call(this)}setupOnce(t,n){const e=t=>{const e=n();if(e){const n=e.getIntegration(mn);if(n){const r=e.getClient(),i=r?r.getOptions():{},s=function(t={},n={}){return{allowUrls:[...t.allowUrls||[],...n.allowUrls||[]],denyUrls:[...t.denyUrls||[],...n.denyUrls||[]],ignoreErrors:[...t.ignoreErrors||[],...n.ignoreErrors||[],...vn],ignoreInternal:void 0===t.ignoreInternal||t.ignoreInternal}}(n.nt,i);return function(t,n){if(n.ignoreInternal&&function(t){try{return"SentryError"===t.exception.values[0].type}catch(t){}return!1}(t))return!0;if(function(t,n){if(!n||!n.length)return!1;return function(t){if(t.message)return[t.message];if(t.exception)try{const{type:n="",value:e=""}=t.exception.values&&t.exception.values[0]||{};return[`${e}`,`${n}: ${e}`]}catch(t){return[]}return[]}(t).some((t=>O(t,n)))}(t,n.ignoreErrors))return!0;if(function(t,n){if(!n||!n.length)return!1;const e=gn(t);return!!e&&O(e,n)}(t,n.denyUrls))return!0;if(!function(t,n){if(!n||!n.length)return!0;const e=gn(t);return!e||O(e,n)}(t,n.allowUrls))return!0;return!1}(t,s)?null:t}}return t};e.id=this.name,t(e)}}function gn(t){try{let n;try{n=t.exception.values[0].stacktrace.frames}catch(t){}return n?function(t=[]){for(let n=t.length-1;n>=0;n--){const e=t[n];if(e&&""!==e.filename&&"[native code]"!==e.filename)return e.filename||null}return null}(n):null}catch(t){return null}}mn.__initStatic();var bn=Object.freeze({__proto__:null,FunctionToString:yn,InboundFilters:mn});const _n=d;let wn=0;function En(){return wn>0}function Sn(){wn++,setTimeout((()=>{wn--}))}function $n(t,n={},e){if("function"!=typeof t)return t;try{const n=t.__sentry_wrapped__;if(n)return n;if(I(t))return t}catch(n){return t}const sentryWrapped=function(){const r=Array.prototype.slice.call(arguments);try{e&&"function"==typeof e&&e.apply(this,arguments);const i=r.map((t=>$n(t,n)));return t.apply(this,i)}catch(t){throw Sn(),Qt((e=>{e.addEventProcessor((t=>(n.mechanism&&(at(t,void 0,void 0),ft(t,n.mechanism)),t.extra={...t.extra,arguments:r},t))),captureException(t)})),t}};try{for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&(sentryWrapped[n]=t[n])}catch(t){}R(sentryWrapped,t),D(t,"__sentry_wrapped__",sentryWrapped);try{Object.getOwnPropertyDescriptor(sentryWrapped,"name").configurable&&Object.defineProperty(sentryWrapped,"name",{get:()=>t.name})}catch(t){}return sentryWrapped}function xn(t,n){const e=jn(t,n),r={type:n&&n.name,value:Tn(n)};return e.length&&(r.stacktrace={frames:e}),void 0===r.type&&""===r.value&&(r.value="Unrecoverable error caught"),r}function kn(t,n){return{exception:{values:[xn(t,n)]}}}function jn(t,n){const e=n.stacktrace||n.stack||"",r=function(t){if(t){if("number"==typeof t.framesToPop)return t.framesToPop;if(On.test(t.message))return 1}return 0}(n);try{return t(e,r)}catch(t){}return[]}const On=/Minified React error #\d+;/i;function Tn(t){const n=t&&t.message;return n?n.error&&"string"==typeof n.error.message?n.error.message:n:"No error message"}function Dn(t,n,e,r){const i=In(t,n,e&&e.syntheticException||void 0,r);return ft(i),i.level="error",e&&e.event_id&&(i.event_id=e.event_id),mt(i)}function Rn(t,n,e="info",r,i){const s=An(t,n,r&&r.syntheticException||void 0,i);return s.level=e,r&&r.event_id&&(s.event_id=r.event_id),mt(s)}function In(t,n,o,c,f){let h;if(i(n)&&n.error){return kn(t,n.error)}if(s(n)||r(n,"DOMException")){const e=n;if("stack"in n)h=kn(t,n);else{const n=e.name||(s(e)?"DOMError":"DOMException"),r=e.message?`${n}: ${e.message}`:n;h=An(t,r,o,c),at(h,r)}return"code"in e&&(h.tags={...h.tags,"DOMException.code":`${e.code}`}),h}if(e(n))return kn(t,n);if(u(n)||a(n)){return h=function(t,n,e,r){const i=Gt().getClient(),s=i&&i.getOptions().normalizeDepth,o={exception:{values:[{type:a(n)?n.constructor.name:r?"UnhandledRejection":"Error",value:`Non-Error ${r?"promise rejection":"exception"} captured with keys: ${L(n)}`}]},extra:{__serialized__:pt(n,s)}};if(e){const n=jn(t,e);n.length&&(o.exception.values[0].stacktrace={frames:n})}return o}(t,n,o,f),ft(h,{synthetic:!0}),h}return h=An(t,n,o,c),at(h,`${n}`,void 0),ft(h,{synthetic:!0}),h}function An(t,n,e,r){const i={message:n};if(r&&e){const r=jn(t,e);r.length&&(i.exception={values:[{value:n,stacktrace:{frames:r}}]})}return i}const Mn=1024,Nn="Breadcrumbs";class Ln{static __initStatic(){this.id=Nn}__init(){this.name=Ln.id}constructor(t){Ln.prototype.__init.call(this),this.options={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...t}}setupOnce(){this.options.console&&V("console",Cn),this.options.dom&&V("dom",function(t){function n(n){let e,r="object"==typeof t?t.serializeAttribute:void 0,i="object"==typeof t&&"number"==typeof t.maxStringLength?t.maxStringLength:void 0;i&&i>Mn&&(i=Mn),"string"==typeof r&&(r=[r]);try{const t=n.event;e=function(t){return t&&!!t.target}(t)?m(t.target,{keyAttrs:r,maxStringLength:i}):m(t,{keyAttrs:r,maxStringLength:i})}catch(t){e=""}0!==e.length&&Gt().addBreadcrumb({category:`ui.${n.name}`,message:e},{event:n.event,name:n.name,global:n.global})}return n}(this.options.dom)),this.options.xhr&&V("xhr",Un),this.options.fetch&&V("fetch",qn),this.options.history&&V("history",Pn)}addSentryBreadcrumb(t){this.options.sentry&&Gt().addBreadcrumb({category:"sentry."+("transaction"===t.type?"transaction":"event"),event_id:t.event_id,level:t.level,message:ut(t)},{event:t})}}function Cn(t){for(let n=0;n{"hidden"===_n.document.visibilityState&&this.yt()}))}eventFromException(t,n){return Dn(this.nt.stackParser,t,n,this.nt.attachStacktrace)}eventFromMessage(t,n="info",e){return Rn(this.nt.stackParser,t,n,e,this.nt.attachStacktrace)}sendEvent(t,n){const e=this.getIntegrationById(Nn);e&&e.addSentryBreadcrumb&&e.addSentryBreadcrumb(t),super.sendEvent(t,n)}ht(t,n,e){return t.platform=t.platform||"javascript",super.ht(t,n,e)}yt(){const t=this.dt();if(0===t.length)return;if(!this.et)return;const n=nn(this.et,this.nt),e=(r=t,Tt((i=this.nt.tunnel&&w(this.et))?{dsn:i}:{},[[{type:"client_report"},{timestamp:s||jt(),discarded_events:r}]]));var r,i,s;try{const t="[object Navigator]"===Object.prototype.toString.call(_n&&_n.navigator);if(t&&"function"==typeof _n.navigator.sendBeacon&&!this.nt.transportOptions){_n.navigator.sendBeacon.bind(_n.navigator)(n,At(e))}else this.ut(e)}catch(t){}}}let Hn;function Fn(t,n=function(){if(Hn)return Hn;if(W(_n.fetch))return Hn=_n.fetch.bind(_n);const t=_n.document;let n=_n.fetch;if(t&&"function"==typeof t.createElement)try{const e=t.createElement("iframe");e.hidden=!0,t.head.appendChild(e);const r=e.contentWindow;r&&r.fetch&&(n=r.fetch),t.head.removeChild(e)}catch(t){}return Hn=n.bind(_n)}()){return hn(t,(function(e){const r={body:e.body,method:"POST",referrerPolicy:"origin",headers:t.headers,keepalive:e.body.length<=65536,...t.fetchOptions};try{return n(t.url,r).then((t=>({statusCode:t.status,headers:{"x-sentry-rate-limits":t.headers.get("X-Sentry-Rate-Limits"),"retry-after":t.headers.get("Retry-After")}})))}catch(t){return Hn=void 0,gt(t)}}))}function Xn(t){return hn(t,(function(n){return new bt(((e,r)=>{const i=new XMLHttpRequest;i.onerror=r,i.onreadystatechange=()=>{4===i.readyState&&e({statusCode:i.status,headers:{"x-sentry-rate-limits":i.getResponseHeader("X-Sentry-Rate-Limits"),"retry-after":i.getResponseHeader("Retry-After")}})},i.open("POST",t.url);for(const n in t.headers)Object.prototype.hasOwnProperty.call(t.headers,n)&&i.setRequestHeader(n,t.headers[n]);i.send(n.body)}))}))}const Wn="?";function zn(t,n,e,r){const i={filename:t,abs_path:t,function:n,in_app:!0};return void 0!==e&&(i.lineno=e),void 0!==r&&(i.colno=r),i}const Jn=/^\s*at (?:(.*\).*?|.*?) ?\((?:address at )?)?(?:async )?((?:file|https?|blob|chrome-extension|address|native|eval|webpack||[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Kn=/\((\S*)(?::(\d+))(?::(\d+))\)/,Gn=[30,t=>{const n=Jn.exec(t);if(n){if(n[2]&&0===n[2].indexOf("eval")){const t=Kn.exec(n[2]);t&&(n[2]=t[1],n[3]=t[2],n[4]=t[3])}const[t,e]=ce(n[1]||Wn,n[2]);return zn(e,t,n[3]?+n[3]:void 0,n[4]?+n[4]:void 0)}}],Vn=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension|safari-extension|safari-web-extension|capacitor)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,Yn=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,Qn=[50,t=>{const n=Vn.exec(t);if(n){if(n[3]&&n[3].indexOf(" > eval")>-1){const t=Yn.exec(n[3]);t&&(n[1]=n[1]||"eval",n[3]=t[1],n[4]=t[2],n[5]="")}let t=n[3],e=n[1]||Wn;return[e,t]=ce(e,t),zn(t,e,n[4]?+n[4]:void 0,n[5]?+n[5]:void 0)}}],Zn=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,te=[40,t=>{const n=Zn.exec(t);return n?zn(n[2],n[1]||Wn,+n[3],n[4]?+n[4]:void 0):void 0}],ne=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,ee=[10,t=>{const n=ne.exec(t);return n?zn(n[2],n[3]||Wn,+n[1]):void 0}],re=/ line (\d+), column (\d+)\s*(?:in (?:]+)>|([^)]+))\(.*\))? in (.*):\s*$/i,ie=[20,t=>{const n=re.exec(t);return n?zn(n[5],n[3]||n[4]||Wn,+n[1],+n[2]):void 0}],se=[Gn,Qn,te],oe=P(...se),ce=(t,n)=>{const e=-1!==t.indexOf("safari-extension"),r=-1!==t.indexOf("safari-web-extension");return e||r?[-1!==t.indexOf("@")?t.split("@")[0]:Wn,e?`safari-extension:${n}`:`safari-web-extension:${n}`]:[t,n]};class ue{static __initStatic(){this.id="GlobalHandlers"}__init(){this.name=ue.id}__init2(){this.vt={onerror:ae,onunhandledrejection:fe}}constructor(t){ue.prototype.__init.call(this),ue.prototype.__init2.call(this),this.nt={onerror:!0,onunhandledrejection:!0,...t}}setupOnce(){Error.stackTraceLimit=50;const t=this.nt;for(const n in t){const e=this.vt[n];e&&t[n]&&(e(),this.vt[n]=void 0)}}}function ae(){V("error",(t=>{const[n,e,r]=de();if(!n.getIntegration(ue))return;const{msg:s,url:c,line:u,column:a,error:f}=t;if(En()||f&&f.__sentry_own_request__)return;const h=void 0===f&&o(s)?function(t,n,e,r){const s=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;let o=i(t)?t.message:t,c="Error";const u=o.match(s);u&&(c=u[1],o=u[2]);return he({exception:{values:[{type:c,value:o}]}},n,e,r)}(s,c,u,a):he(In(e,f||s,void 0,r,!1),c,u,a);h.level="error",le(n,f,h,"onerror")}))}function fe(){V("unhandledrejection",(t=>{const[n,e,r]=de();if(!n.getIntegration(ue))return;let i=t;try{"reason"in t?i=t.reason:"detail"in t&&"reason"in t.detail&&(i=t.detail.reason)}catch(t){}if(En()||i&&i.__sentry_own_request__)return!0;const s=c(i)?{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(i)}`}]}}:In(e,i,void 0,r,!0);s.level="error",le(n,i,s,"onunhandledrejection")}))}function he(t,n,e,r){const i=t.exception=t.exception||{},s=i.values=i.values||[],c=s[0]=s[0]||{},u=c.stacktrace=c.stacktrace||{},a=u.frames=u.frames||[],f=isNaN(parseInt(r,10))?void 0:r,h=isNaN(parseInt(e,10))?void 0:e,l=o(n)&&n.length>0?n:function(){try{return v.document.location.href}catch(t){return""}}();return 0===a.length&&a.push({colno:f,filename:l,function:"?",in_app:!0,lineno:h}),t}function le(t,n,e,r){ft(e,{handled:!1,type:r}),t.captureEvent(e,{originalException:n})}function de(){const t=Gt(),n=t.getClient(),e=n&&n.getOptions()||{stackParser:()=>[],attachStacktrace:!1};return[t,e.stackParser,e.attachStacktrace]}ue.__initStatic();const pe=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"];class ye{static __initStatic(){this.id="TryCatch"}__init(){this.name=ye.id}constructor(t){ye.prototype.__init.call(this),this.nt={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,...t}}setupOnce(){this.nt.setTimeout&&T(_n,"setTimeout",ve),this.nt.setInterval&&T(_n,"setInterval",ve),this.nt.requestAnimationFrame&&T(_n,"requestAnimationFrame",me),this.nt.XMLHttpRequest&&"XMLHttpRequest"in _n&&T(XMLHttpRequest.prototype,"send",ge);const t=this.nt.eventTarget;if(t){(Array.isArray(t)?t:pe).forEach(be)}}}function ve(t){return function(...n){const e=n[0];return n[0]=$n(e,{mechanism:{data:{function:H(t)},handled:!0,type:"instrument"}}),t.apply(this,n)}}function me(t){return function(n){return t.apply(this,[$n(n,{mechanism:{data:{function:"requestAnimationFrame",handler:H(t)},handled:!0,type:"instrument"}})])}}function ge(t){return function(...n){const e=this;return["onload","onerror","onprogress","onreadystatechange"].forEach((t=>{t in e&&"function"==typeof e[t]&&T(e,t,(function(n){const e={mechanism:{data:{function:t,handler:H(n)},handled:!0,type:"instrument"}},r=I(n);return r&&(e.mechanism.data.handler=H(r)),$n(n,e)}))})),t.apply(this,n)}}function be(t){const n=_n,e=n[t]&&n[t].prototype;e&&e.hasOwnProperty&&e.hasOwnProperty("addEventListener")&&(T(e,"addEventListener",(function(n){return function(e,r,i){try{"function"==typeof r.handleEvent&&(r.handleEvent=$n(r.handleEvent,{mechanism:{data:{function:"handleEvent",handler:H(r),target:t},handled:!0,type:"instrument"}}))}catch(t){}return n.apply(this,[e,$n(r,{mechanism:{data:{function:"addEventListener",handler:H(r),target:t},handled:!0,type:"instrument"}}),i])}})),T(e,"removeEventListener",(function(t){return function(n,e,r){const i=e;try{const e=i&&i.__sentry_wrapped__;e&&t.call(this,n,e,r)}catch(t){}return t.call(this,n,i,r)}})))}ye.__initStatic();class _e{static __initStatic(){this.id="LinkedErrors"}__init(){this.name=_e.id}constructor(t={}){_e.prototype.__init.call(this),this.gt=t.key||"cause",this.bt=t.limit||5}setupOnce(){const t=Gt().getClient();t&&Xt(((n,e)=>{const r=Gt().getIntegration(_e);return r?function(t,n,e,r,i){if(!(r.exception&&r.exception.values&&i&&h(i.originalException,Error)))return r;const s=we(t,e,i.originalException,n);return r.exception.values=[...s,...r.exception.values],r}(t.getOptions().stackParser,r.gt,r.bt,n,e):n}))}}function we(t,n,e,r,i=[]){if(!h(e[r],Error)||i.length+1>=n)return i;const s=xn(t,e[r]);return we(t,n,e[r],r,[s,...i])}_e.__initStatic();class Ee{constructor(){Ee.prototype.__init.call(this)}static __initStatic(){this.id="HttpContext"}__init(){this.name=Ee.id}setupOnce(){Xt((t=>{if(Gt().getIntegration(Ee)){if(!_n.navigator&&!_n.location&&!_n.document)return t;const n=t.request&&t.request.url||_n.location&&_n.location.href,{referrer:e}=_n.document||{},{userAgent:r}=_n.navigator||{},i={...t.request&&t.request.headers,...e&&{Referer:e},...r&&{"User-Agent":r}},s={...t.request,...n&&{url:n},headers:i};return{...t,request:s}}return t}))}}Ee.__initStatic();class Se{constructor(){Se.prototype.__init.call(this)}static __initStatic(){this.id="Dedupe"}__init(){this.name=Se.id}setupOnce(t,n){const e=t=>{if(t.type)return t;const e=n().getIntegration(Se);if(e){try{if(function(t,n){if(!n)return!1;if(function(t,n){const e=t.message,r=n.message;if(!e&&!r)return!1;if(e&&!r||!e&&r)return!1;if(e!==r)return!1;if(!xe(t,n))return!1;if(!$e(t,n))return!1;return!0}(t,n))return!0;if(function(t,n){const e=ke(n),r=ke(t);if(!e||!r)return!1;if(e.type!==r.type||e.value!==r.value)return!1;if(!xe(t,n))return!1;if(!$e(t,n))return!1;return!0}(t,n))return!0;return!1}(t,e._t))return null}catch(n){return e._t=t}return e._t=t}return t};e.id=this.name,t(e)}}function $e(t,n){let e=je(t),r=je(n);if(!e&&!r)return!0;if(e&&!r||!e&&r)return!1;if(e=e,r=r,r.length!==e.length)return!1;for(let t=0;t{void 0!==t&&t!==n&&De(Gt())}))}()},t.lastEventId=function(){return Gt().lastEventId()},t.makeFetchTransport=Fn,t.makeMain=Kt,t.makeXHRTransport=Xn,t.onLoad=function(t){t()},t.opera10StackLineParser=ee,t.opera11StackLineParser=ie,t.setContext=function(t,n){Gt().setContext(t,n)},t.setExtra=function(t,n){Gt().setExtra(t,n)},t.setExtras=function(t){Gt().setExtras(t)},t.setTag=function(t,n){Gt().setTag(t,n)},t.setTags=function(t){Gt().setTags(t)},t.setUser=function(t){Gt().setUser(t)},t.showReportDialog=function(t={},n=Gt()){if(!_n.document)return;const{client:e,scope:r}=n.getStackTop(),i=t.dsn||e&&e.getDsn();if(!i)return;r&&(t.user={...r.getUser(),...t.user}),t.eventId||(t.eventId=n.lastEventId());const s=_n.document.createElement("script");s.async=!0,s.src=function(t,n){const e=S(t),r=`${Zt(e)}embed/error-page/`;let i=`dsn=${w(e)}`;for(const t in n)if("dsn"!==t)if("user"===t){const t=n.user;if(!t)continue;t.name&&(i+=`&name=${encodeURIComponent(t.name)}`),t.email&&(i+=`&email=${encodeURIComponent(t.email)}`)}else i+=`&${encodeURIComponent(t)}=${encodeURIComponent(n[t])}`;return`${r}?${i}`}(i,t),t.onLoad&&(s.onload=t.onLoad);const o=_n.document.head||_n.document.body;o&&o.appendChild(s)},t.startTransaction=function(t,n){return Gt().startTransaction({...t},n)},t.winjsStackLineParser=te,t.withScope=Qt,t.wrap=function(t){return $n(t)()},t}({}); +//# sourceMappingURL=bundle.min.js.map From 817beaad32c50fffea737c4f6fa35e5e4d4f29de Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Sun, 19 Mar 2023 02:32:14 +0200 Subject: [PATCH 51/86] fix #785 --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 5fe34d2..18e91dd 100644 --- a/index.html +++ b/index.html @@ -7,7 +7,7 @@ - + - + diff --git a/js/game.js b/js/game.js index 7d03717..a5a231c 100644 --- a/js/game.js +++ b/js/game.js @@ -386,21 +386,19 @@ function gameOK() { setupAudioUI(); }, genBlackMarketGoods : function () { - // Just simple goods generation for now. Only two artefacts per adventure map. - game.blackMarketGoods = []; - clearTraderUI(); - var rnd = randomFromRange(11, 16); - // if (rnd.toString().length < 2) { - // rnd = "0" + rnd; - // } - var id = "artid" + rnd; - addItem('trader', artefacts['artid00']); - addItem('trader', artefacts[id]); - - // var artefactIds = ['artid00']; // Always set artid00 as default market item. Not used for now. - // artefactIds.push(id); - Not used for now - - // console.log('%c BLACK MARKET GOODS: ', 'background: #c00; color: #fff;', game.blackMarketGoods); + // Just simple goods generation for now. Only two artefacts per adventure map. + game.blackMarketGoods = []; + clearTraderUI(); + var rnd = randomFromRange(11, 16); + // if (rnd.toString().length < 2) { + // rnd = "0" + rnd; + // } + var id = "artid" + rnd; + addItem('blackMarketGoods', artefacts['artid00']); + addItem('blackMarketGoods', artefacts[id]); + // var artefactIds = ['artid00']; // Always set artid00 as default market item. Not used for now. + // artefactIds.push(id); - Not used for now + // console.log('%c BLACK MARKET GOODS: ', 'background: #c00; color: #fff;', game.blackMarketGoods); }, generateMap : function () { var genMapPriceFinal = Math.pow((game.buildLevelInn+2)*(game.buildLevelTreasury+2),2)*config.genMapCostBasic/2; diff --git a/js/objects_artifacts.js b/js/objects_artifacts.js index 50186c3..3f704c8 100644 --- a/js/objects_artifacts.js +++ b/js/objects_artifacts.js @@ -14,7 +14,7 @@ var artefacts = { "en-US":"Towngate scroll", "ru-RU":"Свиток телепорта", }, - descr: { + desc: { "default":"This consumable item allows you to teleport to city from an autocampaign", "en-US":"This consumable item allows you to teleport to city from an autocampaign", "ru-RU":"Этот одноразовый предмет позволяет вам совершить телепорт к городу в автокампании.", diff --git a/js/tab_shop.js b/js/tab_blackmarket.js similarity index 90% rename from js/tab_shop.js rename to js/tab_blackmarket.js index 3f337a1..8e1b5b5 100644 --- a/js/tab_shop.js +++ b/js/tab_blackmarket.js @@ -1,6 +1,20 @@ +function uuidv4() { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { + var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); + return v.toString(16); + }); +} +function get_artifact_localization(object_id, property){ + if (artifacts[id][property][language]==="undefined") { + return artefacts[id]["default"]; + } else { + return artefacts[id][language]; + } +} function addItem(target, item) { - var newItem = Object.assign({}, item); + //var newItem = Object.assign({}, item); newItem.uid = uuidv4(); + console.log(newItem); if (target === "hero" && game.heroExists()) { newItem.priceBuy = newItem.priceBuy / 2; game.myhero.inventory.push(newItem); @@ -64,22 +78,19 @@ function createElementUI(item, targetListId) { showModal(0, '', getAck, locObj.ringsWarn.txt, locObj.okay.txt, ''); return; } - if (game.gold >= item.priceBuy) { - - game.gold -= item.priceBuy; - addItem("hero", item); - updateUI(); - if (targetListId === "marketList" && id === "artid00") { - return - } - removeItem("trader", item); - } else { - postEventLog(localeStrings[20], 'bold'); - return - } - } - - + if (game.gold >= item.priceBuy) { + game.gold -= item.priceBuy; + addItem("hero", item); + updateUI(); + if (targetListId === "marketList" && id === "artid00") { + return + } + removeItem("trader", item); + } else { + postEventLog(locObj.notEnoughGold.txt, 'bold'); + return + } + } } else { actionBtnElement.innerText = locObj.sell.txt; actionBtnElement.onclick = function (e) { @@ -166,12 +177,9 @@ function unequipItem(itemUID) { var substr = 'unit_'; var substrLength = substr.length; var itemStats = equipedItem.attr; - for (var i = 0; i < itemStats.length; i++) { - if (itemStats[i].name.includes(substr)) { var unitParam = itemStats[i].name.substring(substrLength); - switch(itemStats[i].type) { case BONUS_VALUE_TYPES.INTEGER: { for (var key in game.myheroArmy.units) { @@ -186,7 +194,6 @@ function unequipItem(itemUID) { default: throw new Error('Unknown stat type. Unable to assign value to ' + itemStats[i].name + '. Correct types is: "flat" or "percentage"'); } } - if (game.myhero && game.myhero[itemStats[i].name]) { switch(itemStats[i].type) { case BONUS_VALUE_TYPES.INTEGER: @@ -210,24 +217,17 @@ function unequipItem(itemUID) { if (equipedItem.id === 'artid17' || equipedItem.id === 'artid18') { ringsCount--; } - updateHeroStatus(); - } - } - function recalcStats(itemStats) { if (itemStats.length) { var substr = 'unit_'; var substrLength = substr.length; - for (var i = 0; i < itemStats.length; i++) { - if (itemStats[i].name.includes(substr)) { var unitParam = itemStats[i].name.substring(substrLength); - switch(itemStats[i].type) { case BONUS_VALUE_TYPES.INTEGER: { for (var key in game.myheroArmy.units) { diff --git a/js/tab_blackmarket_new.js b/js/tab_blackmarket_new.js new file mode 100644 index 0000000..c38fac2 --- /dev/null +++ b/js/tab_blackmarket_new.js @@ -0,0 +1,290 @@ +function uuidv4() { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { + var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); + return v.toString(16); + }); +} +function get_artefact_localization(object_id, property){ + console.log(object_id, property, language); + console.log(artefacts) + console.log(artefacts[object_id]) + console.log(artefacts[object_id][property]) + console.log(artefacts[object_id][property][language]) + if (artefacts[object_id][property][language]===undefined) { + return artefacts[object_id][property]["default"]; + } else { + return artefacts[object_id][property][language]; + } +} +function clearTraderUI() { + document.getElementById('marketList').innerHTML = ''; +} +function addItem(target, item) { + if (target === "blackMarketGoods"){ + game.blackMarketGoods.push(item.id); + createElementUI(item.id,"marketList"); + } + if (target === "hero"){ + game.myhero.inventory.push(item.id); + createElementUI(item.id,"heroMarketList"); + } +} +//TODO move actionBtnElement.onclick = function (e) sto below +function buy() { + +} +function sell() { + +} +function removeElementUI(elemUID) { + console.log("INSIDE REMOVE ELEMENT UI"); + var selector = '[data-uid=' + '"' + elemUID + '"]'; + var element = document.querySelector(selector); + if (element) { + var parent = element.parentNode; + parent.removeChild(element) + } +} +function createElementUI(item_id, targetListId) { + //get item + let item = artefacts[item_id]; + //DOM + var parent = document.getElementById(targetListId); + var descWrapperElement = document.createElement("div"); + var nameElement = document.createElement("div"); + var descElement = document.createElement("span"); + var priceElement = document.createElement("div"); + var imgElement = document.createElement("img"); + var imgWrapperElement = document.createElement("div"); + var actionBtnElement = document.createElement("button"); + //end of DOM + var id = item.id; + item.uid = uuidv4(); + if (targetListId === "marketList") { + actionBtnElement.innerText = locObj.buy.txt; + actionBtnElement.onclick = function (e) { + e.preventDefault(); + // TODO: #SwordsRestriction remove it later + if ((item.id === 'artid15' || item.id === 'artid16') && swordsCount === 2) { + showModal(0, '', getAck, locObj.swordsWarn.txt, locObj.okay.txt, ''); + return; + } + if ((item.id === 'artid17' || item.id === 'artid18') && ringsCount === 2) { + showModal(0, '', getAck, locObj.ringsWarn.txt, locObj.okay.txt, ''); + return; + } + if (game.gold >= item.priceBuy) { + game.gold -= item.priceBuy; + addItem("hero", item); + updateUI(); + if (targetListId === "marketList" && id === "artid00") { + return + } + removeItem("trader", item); + equipItem(item.uid); + } else { + postEventLog(locObj.notEnoughGold.txt, 'bold'); + return + } + } + } + if (targetListId === "heroMarketList") { + console.log("WE ARE HERE"); + actionBtnElement.innerText = locObj.sell.txt; + console.log(locObj.sell.txt) + actionBtnElement.onclick = function (e) { + e.preventDefault(); + var testCost = game.gold + item.priceBuy; + if (testCost >= game.goldLimit()) { + postEventLog("You reached gold limit!"); + return + } + console.log(item) + game.gold += item.priceBuy; + if (item.id !== "artid00") { + item.priceBuy *= 2; + addItem("trader", item); + } + updateUI(); + removeItem("hero", item); + unequipItem(item.uid); + }; + } + var imgSrc = "resources/" + item.img; + imgElement.setAttribute("src", imgSrc); + var wrapperElement = document.createElement("div"); + nameElement.innerText = get_artefact_localization(id, "name"); + priceElement.innerText = item.priceBuy; + priceElement.classList.add("price-val"); + nameElement.appendChild(priceElement); + descElement.innerText = get_artefact_localization(id, "desc");; + imgWrapperElement.appendChild(imgElement); + imgWrapperElement.classList.add("inventory-item__wrapper-img"); + descWrapperElement.appendChild(nameElement); + descWrapperElement.appendChild(descElement); + nameElement.classList.add("inventory-item__name") + descWrapperElement.classList.add("inventory-item__wrapper-desc"); + wrapperElement.appendChild(imgWrapperElement); + wrapperElement.appendChild(descWrapperElement); + wrapperElement.appendChild(actionBtnElement); + actionBtnElement.classList.add("inventory-item__btn"); + wrapperElement.classList.add("inventory-item"); + wrapperElement.setAttribute("data-uid", item.uid); + parent.appendChild(wrapperElement); +} +function removeItem(target, item) { + if (isNil(item)) { + throw new Error('Item not passed.') + } + var targetInventoryList = null; + switch (target) { + case 'hero': targetInventoryList = game.myhero.inventory; break; + case 'trader': targetInventoryList = game.blackMarketGoods; break; + default: throw new Error('Incorrect target type: available types are "trader" or "hero"'); + } + console.log(item) + console.log(target) + console.log(targetInventoryList) + var targetIndex = targetInventoryList.findIndex(function (inventoryItem) { + return inventoryItem.id === item.id; + }); + console.log(targetIndex) + if (targetIndex > -1) { + targetInventoryList.splice(targetIndex, 1); + console.log("TRY TO CALL REMOVE ELEMENT UI"); + removeElementUI(item.uid); + } +} +var swordsCount = 0; // TODO: #SwordsRestriction Counter will be removed after hero inventory system rework. For now dummy fix. +var ringsCount = 0; // TODO: Same as swords. For now... +function equipItem(itemUID) { + var inventoryItem = game.myhero.inventory.find(function (item) { + return item.uid === itemUID; + }); + + var equipedItem = game.myhero.inventoryWorn.find(function (item) { + return item.uid === itemUID; + }); + + if (inventoryItem && !equipedItem) { + var newItem = JSON.parse(JSON.stringify(inventoryItem)); + // TODO: #SwordsRestriction remove it later + if (newItem.id === 'artid15' || newItem.id === 'artid16') { + swordsCount++; + } + + if (newItem.id === 'artid17' || newItem.id === 'artid18') { + ringsCount++; + } + + game.myhero.inventoryWorn.push(newItem); + recalcStats(newItem.attr); + updateHeroStatus(); + } + +} +function unequipItem(itemUID) { + var equipedItem = game.myhero.inventoryWorn.find(function (item) { + return item.uid === itemUID; + }); + + if (equipedItem) { + var substr = 'unit_'; + var substrLength = substr.length; + var itemStats = equipedItem.attr; + for (var i = 0; i < itemStats.length; i++) { + if (itemStats[i].name.includes(substr)) { + var unitParam = itemStats[i].name.substring(substrLength); + switch(itemStats[i].type) { + case BONUS_VALUE_TYPES.INTEGER: { + for (var key in game.myheroArmy.units) { + game.myheroArmy.units[key][unitParam] -= itemStats[i].val; + } + } break; + case BONUS_VALUE_TYPES.PERCENT: { + for (var key in game.myheroArmy.units) { + game.myheroArmy.units[key][unitParam] = Math.round(game.myheroArmy.units[key][unitParam] / itemStats[i].val); + } + } break; + default: throw new Error('Unknown stat type. Unable to assign value to ' + itemStats[i].name + '. Correct types is: "flat" or "percentage"'); + } + } + if (game.myhero && game.myhero[itemStats[i].name]) { + switch(itemStats[i].type) { + case BONUS_VALUE_TYPES.INTEGER: + game.myhero[itemStats[i].name] -= itemStats[i].val; + console.log(game.myhero[itemStats[i].name]); + break; + case BONUS_VALUE_TYPES.PERCENT: + game.myhero[itemStats[i].name] = Math.round(game.myhero[itemStats[i].name] / itemStats[i].val); + break; + default: throw new Error('Unknown stat type. Unable to assign value to ' + itemStats[i].name + '. Correct types is: "flat" or "percentage"'); + } + } + } + + game.myhero.inventoryWorn = deleteFromArray(game.myhero.inventoryWorn, game.myhero.inventoryWorn.indexOf(equipedItem)); + // TODO: #SwordsRestriction remove it later + if (equipedItem.id === 'artid15' || equipedItem.id === 'artid16') { + swordsCount--; + } + // TODO: #RingsRestrictions remove it later + if (equipedItem.id === 'artid17' || equipedItem.id === 'artid18') { + ringsCount--; + } + updateHeroStatus(); + } +} +function recalcStats(itemStats) { + if (itemStats.length) { + var substr = 'unit_'; + var substrLength = substr.length; + for (var i = 0; i < itemStats.length; i++) { + if (itemStats[i].name.includes(substr)) { + var unitParam = itemStats[i].name.substring(substrLength); + switch(itemStats[i].type) { + case BONUS_VALUE_TYPES.INTEGER: { + for (var key in game.myheroArmy.units) { + game.myheroArmy.units[key][unitParam] += itemStats[i].val; + } + } break; + case BONUS_VALUE_TYPES.PERCENT: { + for (var key in game.myheroArmy.units) { + game.myheroArmy.units[key][unitParam] = Math.round(game.myheroArmy.units[key][unitParam] * itemStats[i].val); + } + } break; + default: throw new Error('Unknown stat type. Unable to assign value to ' + itemStats[i].name + '. Correct types is: "' + BONUS_VALUE_TYPES.INTEGER + '" or "' + BONUS_VALUE_TYPES.PERCENT + '"'); + } + } + + if (game.myhero && game.myhero[itemStats[i].name]) { + switch(itemStats[i].type) { + case BONUS_VALUE_TYPES.INTEGER: + game.myhero[itemStats[i].name] += itemStats[i].val; + break; + case BONUS_VALUE_TYPES.PERCENT: + game.myhero[itemStats[i].name] = Math.round(game.myhero[itemStats[i].name] * itemStats[i].val); + break; + default: throw new Error('Unknown stat type. Unable to assign value to ' + itemStats[i].name + '. Correct types is: "' + BONUS_VALUE_TYPES.INTEGER + '" or "' + BONUS_VALUE_TYPES.PERCENT + '"'); + } + } + } + } +} +function getInventoryItemListIds(target) { + let targetList = []; + switch (target) { + case 'hero': { + if (game.heroExists()) { + targetList = game.myhero && game.myhero.inventory; + } + } break; + case 'trader': targetList = game.blackMarketGoods; break; + default: console.warn('Unknown inventory target'); return; + } + if (targetList.length > 0) { + targetList = targetList.map(item => item.id); + } + return targetList; +} + From 9523ccc90345eb0a3d8e8e7ec3da042f37837ca7 Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Mon, 20 Mar 2023 00:23:48 +0200 Subject: [PATCH 55/86] added new template --- .github/ISSUE_TEMPLATE/proposal.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/proposal.md diff --git a/.github/ISSUE_TEMPLATE/proposal.md b/.github/ISSUE_TEMPLATE/proposal.md new file mode 100644 index 0000000..57ca293 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/proposal.md @@ -0,0 +1,13 @@ +--- +name: Proposal +about: Create a proposal to help us improve +title: '' +labels: question/proposal +assignees: Areso + +--- + +1. Describe what you want to improve (if it is already here) +OR +2. Describe what you want to add (if it is not yet presented) +3. You could add schemas, images, drafts, anything drawn digital or manually (photo taken of that) \ No newline at end of file From d644203bac60c28ee87190cd892857eb30206e85 Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Tue, 21 Mar 2023 23:08:55 +0200 Subject: [PATCH 56/86] :( --- js/game.js | 20 ++- js/tab_blackmarket_new.js | 217 +++++++++++++---------- js/tab_blackmarket_new_doomed.js | 285 +++++++++++++++++++++++++++++++ js/tab_settings.js | 4 +- 4 files changed, 433 insertions(+), 93 deletions(-) create mode 100644 js/tab_blackmarket_new_doomed.js diff --git a/js/game.js b/js/game.js index a5a231c..65f1bf3 100644 --- a/js/game.js +++ b/js/game.js @@ -394,8 +394,10 @@ function gameOK() { // rnd = "0" + rnd; // } var id = "artid" + rnd; - addItem('blackMarketGoods', artefacts['artid00']); - addItem('blackMarketGoods', artefacts[id]); + game.blackMarketGoods.push('artid00'); + game.blackMarketGoods.push(id); + //addItem('blackMarketGoods', artefacts['artid00']); + //addItem('blackMarketGoods', artefacts[id]); // var artefactIds = ['artid00']; // Always set artid00 as default market item. Not used for now. // artefactIds.push(id); - Not used for now // console.log('%c BLACK MARKET GOODS: ', 'background: #c00; color: #fff;', game.blackMarketGoods); @@ -453,6 +455,7 @@ function gameOK() { game.isAutoBattle = true; while(game.isAutoBattle) { if (typeof calcAttackPhase === "function") { calcAttackPhase("AdvMap") }; + break;//DEBUG } //suppose we win the battle //removing the monster from removable objects (render array) @@ -3845,7 +3848,7 @@ function postEventLog(msgEventLog, styling) { } } - function prepareInventoryWriteSave(gameObjToPrepare) { + /*function prepareInventoryWriteSave(gameObjToPrepare) { const heroInventoryIds = getInventoryItemListIds('hero'); const traderInventoryIds = getInventoryItemListIds('trader'); @@ -3879,6 +3882,7 @@ function postEventLog(msgEventLog, styling) { } } + */ function writeSave(SaveType){ document.getElementById("loadGameButton").style.display = 'block'; @@ -3951,11 +3955,15 @@ function setTutorialAfterSaveRestore(gameTemp) { } } } + for (let iterator in tmpHero["inventory"]) { + let itemToAdd = tmpHero["inventory"][iterator] + addItem('hero', itemToAdd); + } while (game.myhero.inventory.length>game.myhero.inventoryWorn.length){ game.myhero.inventoryWorn.push(0); } } - prepareInventoryLoadSave(gameTemp); + //prepareInventoryLoadSave(gameTemp); //options = JSON.parse(localStorage.getItem('options')); game.active_tab=""; game.putOutFireUI(true); @@ -3967,6 +3975,10 @@ function setTutorialAfterSaveRestore(gameTemp) { if (game.myhero.status === HERO_STATUS.AUTOCAMPAIGN || game.myhero.status === HERO_STATUS.ADVENTURE_MAP){ createJournalAccordion() } + for (let iterator in game.blackMarketGoods) { + let itemToAdd = game["blackMarketGoods"][iterator]; + addItem('blackMarketGoods', itemToAdd); + } setupMobileUI(); if (typeof setupFirebrigadeUI === "function") { setupFirebrigadeUI() }; if (typeof setupAudioUI === "function") { setupAudioUI() }; diff --git a/js/tab_blackmarket_new.js b/js/tab_blackmarket_new.js index c38fac2..237279c 100644 --- a/js/tab_blackmarket_new.js +++ b/js/tab_blackmarket_new.js @@ -5,39 +5,65 @@ function uuidv4() { }); } function get_artefact_localization(object_id, property){ - console.log(object_id, property, language); - console.log(artefacts) - console.log(artefacts[object_id]) - console.log(artefacts[object_id][property]) - console.log(artefacts[object_id][property][language]) if (artefacts[object_id][property][language]===undefined) { return artefacts[object_id][property]["default"]; } else { return artefacts[object_id][property][language]; } } -function clearTraderUI() { - document.getElementById('marketList').innerHTML = ''; -} -function addItem(target, item) { - if (target === "blackMarketGoods"){ - game.blackMarketGoods.push(item.id); - createElementUI(item.id,"marketList"); - } - if (target === "hero"){ - game.myhero.inventory.push(item.id); - createElementUI(item.id,"heroMarketList"); +function tabBlackMarketDrawUI(){ + if (game.heroExists()){ + for (let iterator in tmpHero["inventory"]) { + let itemToAdd = tmpHero["inventory"][iterator] + addItem('hero', itemToAdd); + } } } -//TODO move actionBtnElement.onclick = function (e) sto below -function buy() { +function addItem(target, item) { + console.log(target, item) + item = artefacts[item]; + console.log('======') + //var newItem = Object.assign({}, item); + item.uid = uuidv4(); + + if (target === "hero" && game.heroExists()) { + //game.myhero.inventory.push(newItem); + createElementUI(item, "heroMarketList"); + equipItem(item.uid); + } + + if (target === "blackMarketGoods") { + //game.blackMarketGoods.push(newItem); + createElementUI(item, "marketList"); + } } -function sell() { +function removeItem(target, item) { + if (isNil(item)) { + throw new Error('Item not passed.') + } + var targetInventoryList = null; + switch (target) { + case 'hero': targetInventoryList = game.myhero.inventory; break; + case 'trader': targetInventoryList = game.blackMarketGoods; break; + default: throw new Error('Incorrect target type: available types are "trader" or "hero"'); + } + console.log(item) + console.log(target) + console.log(targetInventoryList) + id_item = item["id"] + console.log(id_item); + targetIndex = targetInventoryList.indexOf(id_item) + console.log(targetIndex) + if (targetIndex > -1) { + targetInventoryList.splice(targetIndex, 1); + console.log("TRY TO CALL REMOVE ELEMENT UI"); + removeElementUI(item.uid); + } } + function removeElementUI(elemUID) { - console.log("INSIDE REMOVE ELEMENT UI"); var selector = '[data-uid=' + '"' + elemUID + '"]'; var element = document.querySelector(selector); if (element) { @@ -45,79 +71,92 @@ function removeElementUI(elemUID) { parent.removeChild(element) } } -function createElementUI(item_id, targetListId) { - //get item - let item = artefacts[item_id]; - //DOM + +function createElementUI(item, targetListId) { var parent = document.getElementById(targetListId); + var descWrapperElement = document.createElement("div"); var nameElement = document.createElement("div"); var descElement = document.createElement("span"); var priceElement = document.createElement("div"); + var imgElement = document.createElement("img"); var imgWrapperElement = document.createElement("div"); + var actionBtnElement = document.createElement("button"); - //end of DOM + var id = item.id; - item.uid = uuidv4(); + console.log('----X----0----xx'); + console.log(item, targetListId) + var price = item.priceBuy if (targetListId === "marketList") { actionBtnElement.innerText = locObj.buy.txt; actionBtnElement.onclick = function (e) { e.preventDefault(); + // TODO: #SwordsRestriction remove it later if ((item.id === 'artid15' || item.id === 'artid16') && swordsCount === 2) { showModal(0, '', getAck, locObj.swordsWarn.txt, locObj.okay.txt, ''); return; } + if ((item.id === 'artid17' || item.id === 'artid18') && ringsCount === 2) { showModal(0, '', getAck, locObj.ringsWarn.txt, locObj.okay.txt, ''); return; } - if (game.gold >= item.priceBuy) { - game.gold -= item.priceBuy; - addItem("hero", item); - updateUI(); - if (targetListId === "marketList" && id === "artid00") { - return - } - removeItem("trader", item); - equipItem(item.uid); - } else { - postEventLog(locObj.notEnoughGold.txt, 'bold'); - return - } - } + + if (game.gold >= item.priceBuy) { + + game.gold -= item.priceBuy; + addItem("hero", item.id); + updateUI(); + if (targetListId === "marketList" && id === "artid00") { + return + } + removeItem("trader", item.id); + } else { + postEventLog(localeStrings[20], 'bold'); + return + } } - if (targetListId === "heroMarketList") { - console.log("WE ARE HERE"); + + + } else { actionBtnElement.innerText = locObj.sell.txt; - console.log(locObj.sell.txt) actionBtnElement.onclick = function (e) { e.preventDefault(); - var testCost = game.gold + item.priceBuy; + price = price/2 + console.log("new price is ", price) + var testCost = game.gold + item.priceBuy/2; if (testCost >= game.goldLimit()) { postEventLog("You reached gold limit!"); return } - console.log(item) + game.gold += item.priceBuy; + if (item.id !== "artid00") { - item.priceBuy *= 2; - addItem("trader", item); + //item.priceBuy *= 2; + addItem("blackMarketGoods", item.id); } updateUI(); - removeItem("hero", item); + removeItem("hero", item.id); unequipItem(item.uid); }; } + console.log("before assigment price is ", price) + + var imgSrc = "resources/" + item.img; imgElement.setAttribute("src", imgSrc); + var wrapperElement = document.createElement("div"); - nameElement.innerText = get_artefact_localization(id, "name"); - priceElement.innerText = item.priceBuy; + + nameElement.innerText = get_artefact_localization(item.id, "name"); + priceElement.innerText =price; priceElement.classList.add("price-val"); nameElement.appendChild(priceElement); - descElement.innerText = get_artefact_localization(id, "desc");; + descElement.innerText = get_artefact_localization(item.id, "desc"); imgWrapperElement.appendChild(imgElement); imgWrapperElement.classList.add("inventory-item__wrapper-img"); descWrapperElement.appendChild(nameElement); @@ -130,33 +169,18 @@ function createElementUI(item_id, targetListId) { actionBtnElement.classList.add("inventory-item__btn"); wrapperElement.classList.add("inventory-item"); wrapperElement.setAttribute("data-uid", item.uid); + parent.appendChild(wrapperElement); + } -function removeItem(target, item) { - if (isNil(item)) { - throw new Error('Item not passed.') - } - var targetInventoryList = null; - switch (target) { - case 'hero': targetInventoryList = game.myhero.inventory; break; - case 'trader': targetInventoryList = game.blackMarketGoods; break; - default: throw new Error('Incorrect target type: available types are "trader" or "hero"'); - } - console.log(item) - console.log(target) - console.log(targetInventoryList) - var targetIndex = targetInventoryList.findIndex(function (inventoryItem) { - return inventoryItem.id === item.id; - }); - console.log(targetIndex) - if (targetIndex > -1) { - targetInventoryList.splice(targetIndex, 1); - console.log("TRY TO CALL REMOVE ELEMENT UI"); - removeElementUI(item.uid); - } + +function clearTraderUI() { + document.getElementById('marketList').innerHTML = ''; } + var swordsCount = 0; // TODO: #SwordsRestriction Counter will be removed after hero inventory system rework. For now dummy fix. var ringsCount = 0; // TODO: Same as swords. For now... + function equipItem(itemUID) { var inventoryItem = game.myhero.inventory.find(function (item) { return item.uid === itemUID; @@ -183,6 +207,8 @@ function equipItem(itemUID) { } } + + function unequipItem(itemUID) { var equipedItem = game.myhero.inventoryWorn.find(function (item) { return item.uid === itemUID; @@ -192,9 +218,12 @@ function unequipItem(itemUID) { var substr = 'unit_'; var substrLength = substr.length; var itemStats = equipedItem.attr; + for (var i = 0; i < itemStats.length; i++) { + if (itemStats[i].name.includes(substr)) { var unitParam = itemStats[i].name.substring(substrLength); + switch(itemStats[i].type) { case BONUS_VALUE_TYPES.INTEGER: { for (var key in game.myheroArmy.units) { @@ -209,6 +238,7 @@ function unequipItem(itemUID) { default: throw new Error('Unknown stat type. Unable to assign value to ' + itemStats[i].name + '. Correct types is: "flat" or "percentage"'); } } + if (game.myhero && game.myhero[itemStats[i].name]) { switch(itemStats[i].type) { case BONUS_VALUE_TYPES.INTEGER: @@ -232,16 +262,24 @@ function unequipItem(itemUID) { if (equipedItem.id === 'artid17' || equipedItem.id === 'artid18') { ringsCount--; } + updateHeroStatus(); + } + } + + function recalcStats(itemStats) { if (itemStats.length) { var substr = 'unit_'; var substrLength = substr.length; + for (var i = 0; i < itemStats.length; i++) { + if (itemStats[i].name.includes(substr)) { var unitParam = itemStats[i].name.substring(substrLength); + switch(itemStats[i].type) { case BONUS_VALUE_TYPES.INTEGER: { for (var key in game.myheroArmy.units) { @@ -271,20 +309,25 @@ function recalcStats(itemStats) { } } } + + function getInventoryItemListIds(target) { - let targetList = []; - switch (target) { - case 'hero': { - if (game.heroExists()) { - targetList = game.myhero && game.myhero.inventory; - } - } break; - case 'trader': targetList = game.blackMarketGoods; break; - default: console.warn('Unknown inventory target'); return; - } - if (targetList.length > 0) { - targetList = targetList.map(item => item.id); - } - return targetList; + let targetList = []; + switch (target) { + case 'hero': { + if (game.heroExists()) { + targetList = game.myhero && game.myhero.inventory; + } + } break; + case 'trader': targetList = game.blackMarketGoods; break; + default: console.warn('Unknown inventory target'); return; + } + if (targetList.length > 0) { + console.log('123'); + targetList = targetList.map(item => item.id); + } + return targetList; } + + diff --git a/js/tab_blackmarket_new_doomed.js b/js/tab_blackmarket_new_doomed.js new file mode 100644 index 0000000..b125404 --- /dev/null +++ b/js/tab_blackmarket_new_doomed.js @@ -0,0 +1,285 @@ +function uuidv4() { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { + var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); + return v.toString(16); + }); +} +function get_artefact_localization(object_id, property){ + if (artefacts[object_id][property][language]===undefined) { + return artefacts[object_id][property]["default"]; + } else { + return artefacts[object_id][property][language]; + } +} +function clearTraderUI() { + document.getElementById('marketList').innerHTML = ''; +} +function addItem(target, item) { + if (target === "blackMarketGoods"){ + //game.blackMarketGoods.push(item.id); + createElementUI(item,"marketList"); + } + if (target === "hero"){ + //game.myhero.inventory.push(item.id); + createElementUI(item,"heroMarketList"); + } +} +//TODO move actionBtnElement.onclick = function (e) sto below +function buy() { + +} +function sell() { + +} +function removeElementUI(elemUID) { + console.log("INSIDE REMOVE ELEMENT UI"); + var selector = '[data-uid=' + '"' + elemUID + '"]'; + var element = document.querySelector(selector); + if (element) { + var parent = element.parentNode; + parent.removeChild(element) + } +} +function createElementUI(item_ref, targetListId) { + //get item + item = artefacts[item_ref]; + console.log("create elementUI ",item) + //DOM + var parent = document.getElementById(targetListId); + var descWrapperElement = document.createElement("div"); + var nameElement = document.createElement("div"); + var descElement = document.createElement("span"); + var priceElement = document.createElement("div"); + var imgElement = document.createElement("img"); + var imgWrapperElement = document.createElement("div"); + var actionBtnElement = document.createElement("button"); + //end of DOM + var id = item.id; + console.log("id is ", id); + console.log(targetListId) + item.uid = uuidv4(); + + if (targetListId === "marketList") { + actionBtnElement.innerText = locObj.buy.txt; + actionBtnElement.onclick = function (e) { + e.preventDefault(); + // TODO: #SwordsRestriction remove it later + if ((item.id === 'artid15' || item.id === 'artid16') && swordsCount === 2) { + showModal(0, '', getAck, locObj.swordsWarn.txt, locObj.okay.txt, ''); + return; + } + if ((item.id === 'artid17' || item.id === 'artid18') && ringsCount === 2) { + showModal(0, '', getAck, locObj.ringsWarn.txt, locObj.okay.txt, ''); + return; + } + console.log("item for sale from trader is ", item); + if (game.gold >= item.priceBuy) { + game.gold -= item.priceBuy; + addItem("hero", item); + updateUI(); + if (targetListId === "marketList" && id === "artid00") { + return + } + removeItem("trader", item); + equipItem(item.uid); + } else { + postEventLog(locObj.notEnoughGold.txt, 'bold'); + return + } + } + priceElement.innerText = item.priceBuy; + } + if (targetListId === "heroMarketList") { + actionBtnElement.innerText = locObj.sell.txt; + console.log(locObj.sell.txt) + actionBtnElement.onclick = function (e) { + e.preventDefault(); + var testCost = game.gold + item.priceBuy; + if (testCost >= game.goldLimit()) { + postEventLog("You reached gold limit!"); + return + } + console.log("the item for sale ", item); + game.gold += item.priceBuy; + if (item.id !== "artid00") { + item.priceBuy *= 2; + addItem("trader", item); + } + updateUI(); + removeItem("hero", item); + unequipItem(item.uid); + }; + priceElement.innerText = item.priceBuy/2; + } + var imgSrc = "resources/" + item.img; + imgElement.setAttribute("src", imgSrc); + var wrapperElement = document.createElement("div"); + nameElement.innerText = get_artefact_localization(id, "name"); + priceElement.classList.add("price-val"); + nameElement.appendChild(priceElement); + descElement.innerText = get_artefact_localization(id, "desc");; + imgWrapperElement.appendChild(imgElement); + imgWrapperElement.classList.add("inventory-item__wrapper-img"); + descWrapperElement.appendChild(nameElement); + descWrapperElement.appendChild(descElement); + nameElement.classList.add("inventory-item__name") + descWrapperElement.classList.add("inventory-item__wrapper-desc"); + wrapperElement.appendChild(imgWrapperElement); + wrapperElement.appendChild(descWrapperElement); + wrapperElement.appendChild(actionBtnElement); + actionBtnElement.classList.add("inventory-item__btn"); + wrapperElement.classList.add("inventory-item"); + wrapperElement.setAttribute("data-uid", item.uid); + parent.appendChild(wrapperElement); +} +function removeItem(target, item) { + if (isNil(item)) { + throw new Error('Item not passed.') + } + var targetInventoryList = null; + switch (target) { + case 'hero': targetInventoryList = game.myhero.inventory; break; + case 'trader': targetInventoryList = game.blackMarketGoods; break; + default: throw new Error('Incorrect target type: available types are "trader" or "hero"'); + } + console.log(item) + console.log(target) + console.log(targetInventoryList) + id_item = item["id"] + console.log(id_item); + targetIndex = targetInventoryList.indexOf(id_item) + console.log(targetIndex) + if (targetIndex > -1) { + targetInventoryList.splice(targetIndex, 1); + console.log("TRY TO CALL REMOVE ELEMENT UI"); + removeElementUI(item.uid); + } +} +var swordsCount = 0; // TODO: #SwordsRestriction Counter will be removed after hero inventory system rework. For now dummy fix. +var ringsCount = 0; // TODO: Same as swords. For now... +function equipItem(itemUID) { + var inventoryItem = game.myhero.inventory.find(function (item) { + return item.uid === itemUID; + }); + var equipedItem = game.myhero.inventoryWorn.find(function (item) { + return item.uid === itemUID; + }); + if (inventoryItem && !equipedItem) { + var newItem = JSON.parse(JSON.stringify(inventoryItem)); + // TODO: #SwordsRestriction remove it later + if (newItem.id === 'artid15' || newItem.id === 'artid16') { + swordsCount++; + } + if (newItem.id === 'artid17' || newItem.id === 'artid18') { + ringsCount++; + } + game.myhero.inventoryWorn.push(newItem); + recalcStats(newItem.attr); + updateHeroStatus(); + } +} +function unequipItem(itemUID) { + var equipedItem = game.myhero.inventoryWorn.find(function (item) { + return item.uid === itemUID; + }); + + if (equipedItem) { + var substr = 'unit_'; + var substrLength = substr.length; + var itemStats = equipedItem.attr; + for (var i = 0; i < itemStats.length; i++) { + if (itemStats[i].name.includes(substr)) { + var unitParam = itemStats[i].name.substring(substrLength); + switch(itemStats[i].type) { + case BONUS_VALUE_TYPES.INTEGER: { + for (var key in game.myheroArmy.units) { + game.myheroArmy.units[key][unitParam] -= itemStats[i].val; + } + } break; + case BONUS_VALUE_TYPES.PERCENT: { + for (var key in game.myheroArmy.units) { + game.myheroArmy.units[key][unitParam] = Math.round(game.myheroArmy.units[key][unitParam] / itemStats[i].val); + } + } break; + default: throw new Error('Unknown stat type. Unable to assign value to ' + itemStats[i].name + '. Correct types is: "flat" or "percentage"'); + } + } + if (game.myhero && game.myhero[itemStats[i].name]) { + switch(itemStats[i].type) { + case BONUS_VALUE_TYPES.INTEGER: + game.myhero[itemStats[i].name] -= itemStats[i].val; + console.log(game.myhero[itemStats[i].name]); + break; + case BONUS_VALUE_TYPES.PERCENT: + game.myhero[itemStats[i].name] = Math.round(game.myhero[itemStats[i].name] / itemStats[i].val); + break; + default: throw new Error('Unknown stat type. Unable to assign value to ' + itemStats[i].name + '. Correct types is: "flat" or "percentage"'); + } + } + } + + game.myhero.inventoryWorn = deleteFromArray(game.myhero.inventoryWorn, game.myhero.inventoryWorn.indexOf(equipedItem)); + // TODO: #SwordsRestriction remove it later + if (equipedItem.id === 'artid15' || equipedItem.id === 'artid16') { + swordsCount--; + } + // TODO: #RingsRestrictions remove it later + if (equipedItem.id === 'artid17' || equipedItem.id === 'artid18') { + ringsCount--; + } + updateHeroStatus(); + } +} +function recalcStats(itemStats) { + if (itemStats.length) { + var substr = 'unit_'; + var substrLength = substr.length; + for (var i = 0; i < itemStats.length; i++) { + if (itemStats[i].name.includes(substr)) { + var unitParam = itemStats[i].name.substring(substrLength); + switch(itemStats[i].type) { + case BONUS_VALUE_TYPES.INTEGER: { + for (var key in game.myheroArmy.units) { + game.myheroArmy.units[key][unitParam] += itemStats[i].val; + } + } break; + case BONUS_VALUE_TYPES.PERCENT: { + for (var key in game.myheroArmy.units) { + game.myheroArmy.units[key][unitParam] = Math.round(game.myheroArmy.units[key][unitParam] * itemStats[i].val); + } + } break; + default: throw new Error('Unknown stat type. Unable to assign value to ' + itemStats[i].name + '. Correct types is: "' + BONUS_VALUE_TYPES.INTEGER + '" or "' + BONUS_VALUE_TYPES.PERCENT + '"'); + } + } + + if (game.myhero && game.myhero[itemStats[i].name]) { + switch(itemStats[i].type) { + case BONUS_VALUE_TYPES.INTEGER: + game.myhero[itemStats[i].name] += itemStats[i].val; + break; + case BONUS_VALUE_TYPES.PERCENT: + game.myhero[itemStats[i].name] = Math.round(game.myhero[itemStats[i].name] * itemStats[i].val); + break; + default: throw new Error('Unknown stat type. Unable to assign value to ' + itemStats[i].name + '. Correct types is: "' + BONUS_VALUE_TYPES.INTEGER + '" or "' + BONUS_VALUE_TYPES.PERCENT + '"'); + } + } + } + } +} +function getInventoryItemListIds(target) { + let targetList = []; + switch (target) { + case 'hero': { + if (game.heroExists()) { + targetList = game.myhero && game.myhero.inventory; + } + } break; + case 'trader': targetList = game.blackMarketGoods; break; + default: console.warn('Unknown inventory target'); return; + } + if (targetList.length > 0) { + targetList = targetList.map(item => item.id); + } + return targetList; +} + diff --git a/js/tab_settings.js b/js/tab_settings.js index bb5cd90..a991996 100644 --- a/js/tab_settings.js +++ b/js/tab_settings.js @@ -135,7 +135,7 @@ function setupMobileUI() { } function exportGame() { const tmpExportGame = JSON.parse(JSON.stringify(game)); // Some dummy copy of object; - prepareInventoryWriteSave(tmpExportGame); + //prepareInventoryWriteSave(tmpExportGame); tmpExportGame.pops = []; tmpExportGame.budgets = []; tmpExportGame.years = []; @@ -170,7 +170,7 @@ function importGame() { } function cloudQuickSave(){ const tmpExportGame = JSON.parse(JSON.stringify(game)); // Some dummy copy of object - prepareInventoryWriteSave(tmpExportGame); + //prepareInventoryWriteSave(tmpExportGame); tmpExportGame.pops = []; tmpExportGame.budgets = []; tmpExportGame.years = []; From f432c4cdab09f0899defed0e8c3f3344acdad19c Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Wed, 22 Mar 2023 00:39:16 +0200 Subject: [PATCH 57/86] one more attemp, WIP --- index.html | 4 +- js/game.js | 4 +- js/tab_blackmarket_new.js | 343 +++++------------------------ js/tab_blackmarket_new_doomed_2.js | 329 +++++++++++++++++++++++++++ 4 files changed, 393 insertions(+), 287 deletions(-) create mode 100644 js/tab_blackmarket_new_doomed_2.js diff --git a/index.html b/index.html index ee4efb8..a9f5eb6 100644 --- a/index.html +++ b/index.html @@ -593,11 +593,11 @@

Welcome to Inn!

This blackmarket offers these goods for sale!
-
+
This blackmarket could buy your goods!
-
+
diff --git a/js/game.js b/js/game.js index 65f1bf3..23bde47 100644 --- a/js/game.js +++ b/js/game.js @@ -3957,7 +3957,7 @@ function setTutorialAfterSaveRestore(gameTemp) { } for (let iterator in tmpHero["inventory"]) { let itemToAdd = tmpHero["inventory"][iterator] - addItem('hero', itemToAdd); + createElementUI(itemToAdd, 'tabBlackMarketHeroGoods'); } while (game.myhero.inventory.length>game.myhero.inventoryWorn.length){ game.myhero.inventoryWorn.push(0); @@ -3977,7 +3977,7 @@ function setTutorialAfterSaveRestore(gameTemp) { } for (let iterator in game.blackMarketGoods) { let itemToAdd = game["blackMarketGoods"][iterator]; - addItem('blackMarketGoods', itemToAdd); + createElementUI(itemToAdd, 'tabBlackMarketTraderGoods'); } setupMobileUI(); if (typeof setupFirebrigadeUI === "function") { setupFirebrigadeUI() }; diff --git a/js/tab_blackmarket_new.js b/js/tab_blackmarket_new.js index 237279c..e877f55 100644 --- a/js/tab_blackmarket_new.js +++ b/js/tab_blackmarket_new.js @@ -11,152 +11,89 @@ function get_artefact_localization(object_id, property){ return artefacts[object_id][property][language]; } } -function tabBlackMarketDrawUI(){ - if (game.heroExists()){ - for (let iterator in tmpHero["inventory"]) { - let itemToAdd = tmpHero["inventory"][iterator] - addItem('hero', itemToAdd); - } - } -} -function addItem(target, item) { - console.log(target, item) - item = artefacts[item]; - console.log('======') - //var newItem = Object.assign({}, item); - item.uid = uuidv4(); - - if (target === "hero" && game.heroExists()) { - //game.myhero.inventory.push(newItem); - createElementUI(item, "heroMarketList"); - equipItem(item.uid); - } - - if (target === "blackMarketGoods") { - //game.blackMarketGoods.push(newItem); - createElementUI(item, "marketList"); - } - -} - -function removeItem(target, item) { - if (isNil(item)) { - throw new Error('Item not passed.') - } - var targetInventoryList = null; - switch (target) { - case 'hero': targetInventoryList = game.myhero.inventory; break; - case 'trader': targetInventoryList = game.blackMarketGoods; break; - default: throw new Error('Incorrect target type: available types are "trader" or "hero"'); - } - console.log(item) - console.log(target) - console.log(targetInventoryList) - id_item = item["id"] - console.log(id_item); - targetIndex = targetInventoryList.indexOf(id_item) - console.log(targetIndex) - if (targetIndex > -1) { - targetInventoryList.splice(targetIndex, 1); - console.log("TRY TO CALL REMOVE ELEMENT UI"); - removeElementUI(item.uid); - } -} - -function removeElementUI(elemUID) { - var selector = '[data-uid=' + '"' + elemUID + '"]'; - var element = document.querySelector(selector); - if (element) { - var parent = element.parentNode; - parent.removeChild(element) - } -} - -function createElementUI(item, targetListId) { - var parent = document.getElementById(targetListId); - - var descWrapperElement = document.createElement("div"); - var nameElement = document.createElement("div"); - var descElement = document.createElement("span"); - var priceElement = document.createElement("div"); - - var imgElement = document.createElement("img"); - var imgWrapperElement = document.createElement("div"); - - var actionBtnElement = document.createElement("button"); - - var id = item.id; - console.log('----X----0----xx'); - console.log(item, targetListId) - var price = item.priceBuy - if (targetListId === "marketList") { - actionBtnElement.innerText = locObj.buy.txt; - actionBtnElement.onclick = function (e) { - e.preventDefault(); - +function buy(){ // TODO: #SwordsRestriction remove it later if ((item.id === 'artid15' || item.id === 'artid16') && swordsCount === 2) { showModal(0, '', getAck, locObj.swordsWarn.txt, locObj.okay.txt, ''); return; } - if ((item.id === 'artid17' || item.id === 'artid18') && ringsCount === 2) { showModal(0, '', getAck, locObj.ringsWarn.txt, locObj.okay.txt, ''); return; } - - if (game.gold >= item.priceBuy) { - - game.gold -= item.priceBuy; - addItem("hero", item.id); - updateUI(); - if (targetListId === "marketList" && id === "artid00") { - return - } - removeItem("trader", item.id); - } else { - postEventLog(localeStrings[20], 'bold'); - return - } - } - - - } else { - actionBtnElement.innerText = locObj.sell.txt; - actionBtnElement.onclick = function (e) { - e.preventDefault(); - price = price/2 - console.log("new price is ", price) - var testCost = game.gold + item.priceBuy/2; + console.log("item for sale from trader is ", item); + if (game.gold >= item.priceBuy) { + game.gold -= item.priceBuy; + addItem("hero", item); + updateUI(); + if (targetListId === "marketList" && id === "artid00") { + return + } + removeItem("trader", item); + equipItem(item.uid); + } else { + postEventLog(locObj.notEnoughGold.txt, 'bold'); + return + } +} +function sell(){ +var testCost = game.gold + item.priceBuy; if (testCost >= game.goldLimit()) { postEventLog("You reached gold limit!"); return } - + console.log("the item for sale ", item); game.gold += item.priceBuy; - if (item.id !== "artid00") { - //item.priceBuy *= 2; - addItem("blackMarketGoods", item.id); + item.priceBuy *= 2; + addItem("trader", item); } updateUI(); - removeItem("hero", item.id); + removeItem("hero", item); unequipItem(item.uid); - }; - } - console.log("before assigment price is ", price) - +} +function createElementUI(item_ref, targetListId) { + //get item + console.log(item_ref) + item = artefacts[item_ref]; + console.log("create elementUI ",item) + //DOM + var parent = document.getElementById(targetListId); + var descWrapperElement = document.createElement("div"); + var nameElement = document.createElement("div"); + var descElement = document.createElement("span"); + var priceElement = document.createElement("div"); + var imgElement = document.createElement("img"); + var imgWrapperElement = document.createElement("div"); + var actionBtnElement = document.createElement("button"); + //end of DOM + var id = item.id; + console.log("id is ", id); + console.log(targetListId) + item.uid = uuidv4(); + if (targetListId === "tabBlackMarketTraderGoods") { + actionBtnElement.innerText = locObj.buy.txt; + actionBtnElement.onclick = function (e) { + buy(this); + } + priceElement.innerText = item.priceBuy; + } + if (targetListId === "tabBlackMarketHeroGoods") { + actionBtnElement.innerText = locObj.sell.txt; + console.log(locObj.sell.txt) + actionBtnElement.onclick = function (e) { + sell(this); + } + priceElement.innerText = item.priceBuy/2; + } var imgSrc = "resources/" + item.img; imgElement.setAttribute("src", imgSrc); - var wrapperElement = document.createElement("div"); - - nameElement.innerText = get_artefact_localization(item.id, "name"); - priceElement.innerText =price; + nameElement.innerText = get_artefact_localization(id, "name"); priceElement.classList.add("price-val"); nameElement.appendChild(priceElement); - descElement.innerText = get_artefact_localization(item.id, "desc"); + descElement.innerText = get_artefact_localization(id, "desc");; imgWrapperElement.appendChild(imgElement); imgWrapperElement.classList.add("inventory-item__wrapper-img"); descWrapperElement.appendChild(nameElement); @@ -169,165 +106,5 @@ function createElementUI(item, targetListId) { actionBtnElement.classList.add("inventory-item__btn"); wrapperElement.classList.add("inventory-item"); wrapperElement.setAttribute("data-uid", item.uid); - parent.appendChild(wrapperElement); - -} - -function clearTraderUI() { - document.getElementById('marketList').innerHTML = ''; -} - -var swordsCount = 0; // TODO: #SwordsRestriction Counter will be removed after hero inventory system rework. For now dummy fix. -var ringsCount = 0; // TODO: Same as swords. For now... - -function equipItem(itemUID) { - var inventoryItem = game.myhero.inventory.find(function (item) { - return item.uid === itemUID; - }); - - var equipedItem = game.myhero.inventoryWorn.find(function (item) { - return item.uid === itemUID; - }); - - if (inventoryItem && !equipedItem) { - var newItem = JSON.parse(JSON.stringify(inventoryItem)); - // TODO: #SwordsRestriction remove it later - if (newItem.id === 'artid15' || newItem.id === 'artid16') { - swordsCount++; - } - - if (newItem.id === 'artid17' || newItem.id === 'artid18') { - ringsCount++; - } - - game.myhero.inventoryWorn.push(newItem); - recalcStats(newItem.attr); - updateHeroStatus(); - } - -} - - -function unequipItem(itemUID) { - var equipedItem = game.myhero.inventoryWorn.find(function (item) { - return item.uid === itemUID; - }); - - if (equipedItem) { - var substr = 'unit_'; - var substrLength = substr.length; - var itemStats = equipedItem.attr; - - for (var i = 0; i < itemStats.length; i++) { - - if (itemStats[i].name.includes(substr)) { - var unitParam = itemStats[i].name.substring(substrLength); - - switch(itemStats[i].type) { - case BONUS_VALUE_TYPES.INTEGER: { - for (var key in game.myheroArmy.units) { - game.myheroArmy.units[key][unitParam] -= itemStats[i].val; - } - } break; - case BONUS_VALUE_TYPES.PERCENT: { - for (var key in game.myheroArmy.units) { - game.myheroArmy.units[key][unitParam] = Math.round(game.myheroArmy.units[key][unitParam] / itemStats[i].val); - } - } break; - default: throw new Error('Unknown stat type. Unable to assign value to ' + itemStats[i].name + '. Correct types is: "flat" or "percentage"'); - } - } - - if (game.myhero && game.myhero[itemStats[i].name]) { - switch(itemStats[i].type) { - case BONUS_VALUE_TYPES.INTEGER: - game.myhero[itemStats[i].name] -= itemStats[i].val; - console.log(game.myhero[itemStats[i].name]); - break; - case BONUS_VALUE_TYPES.PERCENT: - game.myhero[itemStats[i].name] = Math.round(game.myhero[itemStats[i].name] / itemStats[i].val); - break; - default: throw new Error('Unknown stat type. Unable to assign value to ' + itemStats[i].name + '. Correct types is: "flat" or "percentage"'); - } - } - } - - game.myhero.inventoryWorn = deleteFromArray(game.myhero.inventoryWorn, game.myhero.inventoryWorn.indexOf(equipedItem)); - // TODO: #SwordsRestriction remove it later - if (equipedItem.id === 'artid15' || equipedItem.id === 'artid16') { - swordsCount--; - } - // TODO: #RingsRestrictions remove it later - if (equipedItem.id === 'artid17' || equipedItem.id === 'artid18') { - ringsCount--; - } - - updateHeroStatus(); - - } - -} - - -function recalcStats(itemStats) { - if (itemStats.length) { - var substr = 'unit_'; - var substrLength = substr.length; - - for (var i = 0; i < itemStats.length; i++) { - - if (itemStats[i].name.includes(substr)) { - var unitParam = itemStats[i].name.substring(substrLength); - - switch(itemStats[i].type) { - case BONUS_VALUE_TYPES.INTEGER: { - for (var key in game.myheroArmy.units) { - game.myheroArmy.units[key][unitParam] += itemStats[i].val; - } - } break; - case BONUS_VALUE_TYPES.PERCENT: { - for (var key in game.myheroArmy.units) { - game.myheroArmy.units[key][unitParam] = Math.round(game.myheroArmy.units[key][unitParam] * itemStats[i].val); - } - } break; - default: throw new Error('Unknown stat type. Unable to assign value to ' + itemStats[i].name + '. Correct types is: "' + BONUS_VALUE_TYPES.INTEGER + '" or "' + BONUS_VALUE_TYPES.PERCENT + '"'); - } - } - - if (game.myhero && game.myhero[itemStats[i].name]) { - switch(itemStats[i].type) { - case BONUS_VALUE_TYPES.INTEGER: - game.myhero[itemStats[i].name] += itemStats[i].val; - break; - case BONUS_VALUE_TYPES.PERCENT: - game.myhero[itemStats[i].name] = Math.round(game.myhero[itemStats[i].name] * itemStats[i].val); - break; - default: throw new Error('Unknown stat type. Unable to assign value to ' + itemStats[i].name + '. Correct types is: "' + BONUS_VALUE_TYPES.INTEGER + '" or "' + BONUS_VALUE_TYPES.PERCENT + '"'); - } - } - } - } -} - - -function getInventoryItemListIds(target) { - let targetList = []; - switch (target) { - case 'hero': { - if (game.heroExists()) { - targetList = game.myhero && game.myhero.inventory; - } - } break; - case 'trader': targetList = game.blackMarketGoods; break; - default: console.warn('Unknown inventory target'); return; - } - if (targetList.length > 0) { - console.log('123'); - targetList = targetList.map(item => item.id); - } - return targetList; -} - - - +} \ No newline at end of file diff --git a/js/tab_blackmarket_new_doomed_2.js b/js/tab_blackmarket_new_doomed_2.js new file mode 100644 index 0000000..728fe38 --- /dev/null +++ b/js/tab_blackmarket_new_doomed_2.js @@ -0,0 +1,329 @@ +function uuidv4() { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { + var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); + return v.toString(16); + }); +} +function get_artefact_localization(object_id, property){ + if (artefacts[object_id][property][language]===undefined) { + return artefacts[object_id][property]["default"]; + } else { + return artefacts[object_id][property][language]; + } +} +function tabBlackMarketDrawUI(){ + if (game.heroExists()){ + for (let iterator in tmpHero["inventory"]) { + let itemToAdd = tmpHero["inventory"][iterator] + addItem('hero', itemToAdd); + } + } +} +function addItem(target, item) { + console.log(target, item) + item = artefacts[item]; + console.log('======') + //var newItem = Object.assign({}, item); + item.uid = uuidv4(); + + if (target === "hero" && game.heroExists()) { + //game.myhero.inventory.push(newItem); + createElementUI(item, "heroMarketList"); + equipItem(item.uid); + } + + if (target === "blackMarketGoods") { + //game.blackMarketGoods.push(newItem); + createElementUI(item, "marketList"); + } + +} + +function removeItem(target, item) { + if (isNil(item)) { + throw new Error('Item not passed.') + } + var targetInventoryList = null; + switch (target) { + case 'hero': targetInventoryList = game.myhero.inventory; break; + case 'trader': targetInventoryList = game.blackMarketGoods; break; + default: throw new Error('Incorrect target type: available types are "trader" or "hero"'); + } + console.log(item) + console.log(target) + console.log(targetInventoryList) + id_item = item["id"] + console.log(id_item); + targetIndex = targetInventoryList.indexOf(id_item) + console.log(targetIndex) + if (targetIndex > -1) { + targetInventoryList.splice(targetIndex, 1); + console.log("TRY TO CALL REMOVE ELEMENT UI"); + removeElementUI(item.uid); + } +} + +function removeElementUI(elemUID) { + var selector = '[data-uid=' + '"' + elemUID + '"]'; + var element = document.querySelector(selector); + if (element) { + var parent = element.parentNode; + parent.removeChild(element) + } +} + +function createElementUI(item, targetListId) { + var parent = document.getElementById(targetListId); + var descWrapperElement = document.createElement("div"); + var nameElement = document.createElement("div"); + var descElement = document.createElement("span"); + var priceElement = document.createElement("div"); + var imgElement = document.createElement("img"); + var imgWrapperElement = document.createElement("div"); + var actionBtnElement = document.createElement("button"); + var id = item.id; + console.log('----X----0----xx'); + console.log(item, targetListId) + var price = item.priceBuy + if (targetListId === "marketList") { + actionBtnElement.innerText = locObj.buy.txt; + actionBtnElement.onclick = function (e) { + e.preventDefault(); + + // TODO: #SwordsRestriction remove it later + if ((item.id === 'artid15' || item.id === 'artid16') && swordsCount === 2) { + showModal(0, '', getAck, locObj.swordsWarn.txt, locObj.okay.txt, ''); + return; + } + + if ((item.id === 'artid17' || item.id === 'artid18') && ringsCount === 2) { + showModal(0, '', getAck, locObj.ringsWarn.txt, locObj.okay.txt, ''); + return; + } + + if (game.gold >= item.priceBuy) { + + game.gold -= item.priceBuy; + addItem("hero", item.id); + updateUI(); + if (targetListId === "marketList" && id === "artid00") { + return + } + removeItem("trader", item.id); + } else { + postEventLog(localeStrings[20], 'bold'); + return + } + } + + + } else { + actionBtnElement.innerText = locObj.sell.txt; + actionBtnElement.onclick = function (e) { + e.preventDefault(); + price = price/2 + console.log("new price is ", price) + var testCost = game.gold + item.priceBuy/2; + if (testCost >= game.goldLimit()) { + postEventLog("You reached gold limit!"); + return + } + + game.gold += item.priceBuy; + + if (item.id !== "artid00") { + //item.priceBuy *= 2; + addItem("blackMarketGoods", item.id); + } + updateUI(); + removeItem("hero", item.id); + unequipItem(item.uid); + }; + } + console.log("before assigment price is ", price) + + + var imgSrc = "resources/" + item.img; + imgElement.setAttribute("src", imgSrc); + + var wrapperElement = document.createElement("div"); + + nameElement.innerText = get_artefact_localization(item.id, "name"); + priceElement.innerText =price; + priceElement.classList.add("price-val"); + nameElement.appendChild(priceElement); + descElement.innerText = get_artefact_localization(item.id, "desc"); + imgWrapperElement.appendChild(imgElement); + imgWrapperElement.classList.add("inventory-item__wrapper-img"); + descWrapperElement.appendChild(nameElement); + descWrapperElement.appendChild(descElement); + nameElement.classList.add("inventory-item__name") + descWrapperElement.classList.add("inventory-item__wrapper-desc"); + wrapperElement.appendChild(imgWrapperElement); + wrapperElement.appendChild(descWrapperElement); + wrapperElement.appendChild(actionBtnElement); + actionBtnElement.classList.add("inventory-item__btn"); + wrapperElement.classList.add("inventory-item"); + wrapperElement.setAttribute("data-uid", item.uid); + + parent.appendChild(wrapperElement); + +} + +function clearTraderUI() { + document.getElementById('marketList').innerHTML = ''; +} + +var swordsCount = 0; // TODO: #SwordsRestriction Counter will be removed after hero inventory system rework. For now dummy fix. +var ringsCount = 0; // TODO: Same as swords. For now... + +function equipItem(itemUID) { + var inventoryItem = game.myhero.inventory.find(function (item) { + return item.uid === itemUID; + }); + + var equipedItem = game.myhero.inventoryWorn.find(function (item) { + return item.uid === itemUID; + }); + + if (inventoryItem && !equipedItem) { + var newItem = JSON.parse(JSON.stringify(inventoryItem)); + // TODO: #SwordsRestriction remove it later + if (newItem.id === 'artid15' || newItem.id === 'artid16') { + swordsCount++; + } + + if (newItem.id === 'artid17' || newItem.id === 'artid18') { + ringsCount++; + } + + game.myhero.inventoryWorn.push(newItem); + recalcStats(newItem.attr); + updateHeroStatus(); + } + +} + + +function unequipItem(itemUID) { + var equipedItem = game.myhero.inventoryWorn.find(function (item) { + return item.uid === itemUID; + }); + + if (equipedItem) { + var substr = 'unit_'; + var substrLength = substr.length; + var itemStats = equipedItem.attr; + + for (var i = 0; i < itemStats.length; i++) { + + if (itemStats[i].name.includes(substr)) { + var unitParam = itemStats[i].name.substring(substrLength); + + switch(itemStats[i].type) { + case BONUS_VALUE_TYPES.INTEGER: { + for (var key in game.myheroArmy.units) { + game.myheroArmy.units[key][unitParam] -= itemStats[i].val; + } + } break; + case BONUS_VALUE_TYPES.PERCENT: { + for (var key in game.myheroArmy.units) { + game.myheroArmy.units[key][unitParam] = Math.round(game.myheroArmy.units[key][unitParam] / itemStats[i].val); + } + } break; + default: throw new Error('Unknown stat type. Unable to assign value to ' + itemStats[i].name + '. Correct types is: "flat" or "percentage"'); + } + } + + if (game.myhero && game.myhero[itemStats[i].name]) { + switch(itemStats[i].type) { + case BONUS_VALUE_TYPES.INTEGER: + game.myhero[itemStats[i].name] -= itemStats[i].val; + console.log(game.myhero[itemStats[i].name]); + break; + case BONUS_VALUE_TYPES.PERCENT: + game.myhero[itemStats[i].name] = Math.round(game.myhero[itemStats[i].name] / itemStats[i].val); + break; + default: throw new Error('Unknown stat type. Unable to assign value to ' + itemStats[i].name + '. Correct types is: "flat" or "percentage"'); + } + } + } + + game.myhero.inventoryWorn = deleteFromArray(game.myhero.inventoryWorn, game.myhero.inventoryWorn.indexOf(equipedItem)); + // TODO: #SwordsRestriction remove it later + if (equipedItem.id === 'artid15' || equipedItem.id === 'artid16') { + swordsCount--; + } + // TODO: #RingsRestrictions remove it later + if (equipedItem.id === 'artid17' || equipedItem.id === 'artid18') { + ringsCount--; + } + + updateHeroStatus(); + + } + +} + + +function recalcStats(itemStats) { + if (itemStats.length) { + var substr = 'unit_'; + var substrLength = substr.length; + + for (var i = 0; i < itemStats.length; i++) { + + if (itemStats[i].name.includes(substr)) { + var unitParam = itemStats[i].name.substring(substrLength); + + switch(itemStats[i].type) { + case BONUS_VALUE_TYPES.INTEGER: { + for (var key in game.myheroArmy.units) { + game.myheroArmy.units[key][unitParam] += itemStats[i].val; + } + } break; + case BONUS_VALUE_TYPES.PERCENT: { + for (var key in game.myheroArmy.units) { + game.myheroArmy.units[key][unitParam] = Math.round(game.myheroArmy.units[key][unitParam] * itemStats[i].val); + } + } break; + default: throw new Error('Unknown stat type. Unable to assign value to ' + itemStats[i].name + '. Correct types is: "' + BONUS_VALUE_TYPES.INTEGER + '" or "' + BONUS_VALUE_TYPES.PERCENT + '"'); + } + } + + if (game.myhero && game.myhero[itemStats[i].name]) { + switch(itemStats[i].type) { + case BONUS_VALUE_TYPES.INTEGER: + game.myhero[itemStats[i].name] += itemStats[i].val; + break; + case BONUS_VALUE_TYPES.PERCENT: + game.myhero[itemStats[i].name] = Math.round(game.myhero[itemStats[i].name] * itemStats[i].val); + break; + default: throw new Error('Unknown stat type. Unable to assign value to ' + itemStats[i].name + '. Correct types is: "' + BONUS_VALUE_TYPES.INTEGER + '" or "' + BONUS_VALUE_TYPES.PERCENT + '"'); + } + } + } + } +} + + +function getInventoryItemListIds(target) { + let targetList = []; + switch (target) { + case 'hero': { + if (game.heroExists()) { + targetList = game.myhero && game.myhero.inventory; + } + } break; + case 'trader': targetList = game.blackMarketGoods; break; + default: console.warn('Unknown inventory target'); return; + } + if (targetList.length > 0) { + console.log('123'); + targetList = targetList.map(item => item.id); + } + return targetList; +} + + + From 42a054f7dc96a24cfc5dbaf81fc4c90e99995111 Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Wed, 22 Mar 2023 00:46:39 +0200 Subject: [PATCH 58/86] an idea --- js/tab_blackmarket_new.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/js/tab_blackmarket_new.js b/js/tab_blackmarket_new.js index e877f55..feac92d 100644 --- a/js/tab_blackmarket_new.js +++ b/js/tab_blackmarket_new.js @@ -11,7 +11,8 @@ function get_artefact_localization(object_id, property){ return artefacts[object_id][property][language]; } } -function buy(){ +function buy(tem_for_buying){ +console.log(item_for_buying) // TODO: #SwordsRestriction remove it later if ((item.id === 'artid15' || item.id === 'artid16') && swordsCount === 2) { showModal(0, '', getAck, locObj.swordsWarn.txt, locObj.okay.txt, ''); @@ -74,7 +75,9 @@ function createElementUI(item_ref, targetListId) { if (targetListId === "tabBlackMarketTraderGoods") { actionBtnElement.innerText = locObj.buy.txt; + actionBtnElement.id = item.uid; actionBtnElement.onclick = function (e) { + console.log(e.target.id) buy(this); } priceElement.innerText = item.priceBuy; From dd4f8ca8af609ddaa926e1eb6d15ad85daf93766 Mon Sep 17 00:00:00 2001 From: aablatov Date: Wed, 22 Mar 2023 01:57:51 +0300 Subject: [PATCH 59/86] refactoring content About --- index.html | 17 +- js/dom.js | 8 +- langs/en-US.js | 769 ++++++++--------- langs/ru-RU.js | 774 +++++++++--------- .../E2E/cypress/e2e/buttonAbout.cy.js | 4 +- 5 files changed, 797 insertions(+), 775 deletions(-) diff --git a/index.html b/index.html index ee4efb8..6360846 100644 --- a/index.html +++ b/index.html @@ -414,9 +414,20 @@

-
-

1255 Burgomaster

-

How to play

+
+

1255 Burgomaster

+

How to play

+
+ + +
+ +
+
+ + +
+
diff --git a/js/dom.js b/js/dom.js index 2acf71a..2ecf40a 100644 --- a/js/dom.js +++ b/js/dom.js @@ -44,7 +44,13 @@ include('localisation.js',function(){ document.getElementById("labelGarrison").innerText = locObj.lblGarrison.txt; document.getElementById("buttonFireGuard").innerText = locObj.btnFire.txt; document.getElementById("buttonHireGuard").innerText = locObj.btnHire.txt; - document.getElementById("lblAboutGame").innerHTML = locObj.tabHowToPlayText.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll); + document.getElementById("lblAbout_h1").innerText = locObj.lblAbout_h1.txt; + document.getElementById("lblAbout_h2").innerText = locObj.lblAbout_h2.txt; + document.getElementById("lblAbout_wiki").innerHTML = locObj.lblAbout_wiki.txt; + document.getElementById("lblAbout_feedback").innerHTML = locObj.lblAbout_feedback.txt; + document.getElementById("lblAbout_meh").innerText = locObj.lblAbout_meh.txt; + document.getElementById("lblAbout_supLang").innerText = locObj.lblAbout_supLang.txt; + document.getElementById("lblAbout_googleLang").innerHTML = locObj.lblAbout_googleLang.txt; document.getElementById("lblTabPop").innerText = locObj.tabPopHistory.txt; document.getElementById("lblTabGold").innerText = locObj.tabGoldHistory.txt; document.getElementById("btnColorMode").innerText = locObj.tabSettingsBtnChangeColorMode.txt; diff --git a/langs/en-US.js b/langs/en-US.js index 6ce45d2..cc16abc 100644 --- a/langs/en-US.js +++ b/langs/en-US.js @@ -60,8 +60,8 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder");//55 localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push(["placeholder","placeholder"]); -localeStrings.push(["placeholder","placeholder"]); +localeStrings.push(["placeholder", "placeholder"]); +localeStrings.push(["placeholder", "placeholder"]); localeStrings.push("placeholder");//60 localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -90,7 +90,7 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder");//85 localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push(["placeholder","placeholder","placeholder"]); +localeStrings.push(["placeholder", "placeholder", "placeholder"]); localeStrings.push("placeholder"); localeStrings.push("placeholder");//90 localeStrings.push("placeholder"); @@ -167,7 +167,7 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push(["plch","plch","plch"]);//165 +localeStrings.push(["plch", "plch", "plch"]);//165 localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -383,421 +383,424 @@ localeStrings.push("knights(%arg1)"); locObj = {}; //locObj.welcome2 = {"txt":"", "loc":""}; -locObj.welcome0 = {"txt":"Hello player in this incremental game!", "loc":"Once game initted, those strings are put to the gamelog"}; -locObj.welcome1 = {"txt":"Your task is simple - manage the city as mayor of the city!", "loc":"same"}; -locObj.welcome2 = {"txt":"Citizen will pay taxes each season (30 secs) and population will grow each season", "loc":"same"}; -locObj.okay = {"txt":"Okay", "loc":"Mostly used in information dialogues"} -locObj.skipTutorial = {"txt": "I don't need any advices!", "loc": "Dont show tutorial messages"} +locObj.welcome0 = { "txt": "Hello player in this incremental game!", "loc": "Once game initted, those strings are put to the gamelog" }; +locObj.welcome1 = { "txt": "Your task is simple - manage the city as mayor of the city!", "loc": "same" }; +locObj.welcome2 = { "txt": "Citizen will pay taxes each season (30 secs) and population will grow each season", "loc": "same" }; +locObj.okay = { "txt": "Okay", "loc": "Mostly used in information dialogues" } +locObj.skipTutorial = { "txt": "I don't need any advices!", "loc": "Dont show tutorial messages" } -locObj.tutorial0_w0 = {"txt":"Your uncle, the landmaster of Teutonic order,\nsent you to build a city on the pagan frontier.\nYou have found a suituable place with a hill, river, forest.\nYour peasants already cleared the place and ready for building", "loc":"tutorial0_w0"}; -locObj.tutorial1_pop0 = {"txt":"Sir Commander, you need to build houses to keep your population growing", "loc":"tutorial0_w0"}; -locObj.tutorial_defense = {"txt":"Sir Commander, scouts reported on armed people\nin the nearest woods. Consider building a wall", "loc":"tutorial msg when defense line is unlocked"}; -locObj.tutorial_treasury = {"txt":"Sir Commander, your gold supply is growing\nBuild a treasury to store the vast amount of gold", "loc":"tutorial msg when treasury is unlocked"}; -locObj.tutorial_treasury_guards = {"txt":"Sir Commander, now you could hire treasury guards in your treasury\nThey are decreasing the chance of stealing from the treasury", "loc":"tutorial msg when treasury is built"}; -locObj.tutorial_stash = {"txt":"Sir Commander, pesky thieves stole gold from your treasury!\nBuild a stash, so you could hide some gold from stealing", "loc":"tutorial msg when first stealing has a place"}; -locObj.tutorial_stable = {"txt":"Sir Commander, now you could build Stables\nStables will allow you to hire sergeants and knights", "loc":"tutorial msg when reached 50 pop"}; -locObj.tutorial_archery = {"txt":"Sir Commander, now you could build Archery range\nArchery range will allow you to hire turkopols in stables", "loc":"tutorial msg when reached 70 pop"}; -locObj.tutorial_inn = {"txt":"Sir Commander, now you could build Inn\nThe Inn will allow you to hire a hero", "loc":"tutorial msg when reached 100 pop"}; -locObj.tutorial_social = {"txt":"Sir Commander, now you could build Gallows or Fountain\nBoth have own passive and active bonuses", "loc":"tutorial msg when reached 120 pop"}; -locObj.tutorial_university = {"txt":"Sir Commander, now you could build Univeristy\nUniversity will allow you to research new technologies", "loc":"tutorial msg when year is 1544"}; -locObj.tutorial_firebrigade = {"txt":"Sir Commander, you could hire a firebrigade by clicking on the well\nThe firebrigade will put out the fire eventually\nThe brigade's upkeep depends on how many buildings you have built and upgraded", "loc":"tutorial msg when fire, pop>50, year>1260"}; -locObj.tutorial_autosave = {"txt":"Sir Commander, you should consider to enable autosave in Settings", "loc":"tutorial. Triggered by 10 first ticks"}; -locObj.tutorial_moving_troops = {"txt":"Sir Commander, buttons near the number of units allow you to manage units\nSingle arrow moves a unit, double arrow moves a stack,\nX button fires a unit, XX button fires a stack", "loc":"triggered by first enter into Hiring tab"}; -locObj.tutorial_new_buildings = {"txt":"New buildings will unlock as your population grows","loc":"tutorial"} +locObj.tutorial0_w0 = { "txt": "Your uncle, the landmaster of Teutonic order,\nsent you to build a city on the pagan frontier.\nYou have found a suituable place with a hill, river, forest.\nYour peasants already cleared the place and ready for building", "loc": "tutorial0_w0" }; +locObj.tutorial1_pop0 = { "txt": "Sir Commander, you need to build houses to keep your population growing", "loc": "tutorial0_w0" }; +locObj.tutorial_defense = { "txt": "Sir Commander, scouts reported on armed people\nin the nearest woods. Consider building a wall", "loc": "tutorial msg when defense line is unlocked" }; +locObj.tutorial_treasury = { "txt": "Sir Commander, your gold supply is growing\nBuild a treasury to store the vast amount of gold", "loc": "tutorial msg when treasury is unlocked" }; +locObj.tutorial_treasury_guards = { "txt": "Sir Commander, now you could hire treasury guards in your treasury\nThey are decreasing the chance of stealing from the treasury", "loc": "tutorial msg when treasury is built" }; +locObj.tutorial_stash = { "txt": "Sir Commander, pesky thieves stole gold from your treasury!\nBuild a stash, so you could hide some gold from stealing", "loc": "tutorial msg when first stealing has a place" }; +locObj.tutorial_stable = { "txt": "Sir Commander, now you could build Stables\nStables will allow you to hire sergeants and knights", "loc": "tutorial msg when reached 50 pop" }; +locObj.tutorial_archery = { "txt": "Sir Commander, now you could build Archery range\nArchery range will allow you to hire turkopols in stables", "loc": "tutorial msg when reached 70 pop" }; +locObj.tutorial_inn = { "txt": "Sir Commander, now you could build Inn\nThe Inn will allow you to hire a hero", "loc": "tutorial msg when reached 100 pop" }; +locObj.tutorial_social = { "txt": "Sir Commander, now you could build Gallows or Fountain\nBoth have own passive and active bonuses", "loc": "tutorial msg when reached 120 pop" }; +locObj.tutorial_university = { "txt": "Sir Commander, now you could build Univeristy\nUniversity will allow you to research new technologies", "loc": "tutorial msg when year is 1544" }; +locObj.tutorial_firebrigade = { "txt": "Sir Commander, you could hire a firebrigade by clicking on the well\nThe firebrigade will put out the fire eventually\nThe brigade's upkeep depends on how many buildings you have built and upgraded", "loc": "tutorial msg when fire, pop>50, year>1260" }; +locObj.tutorial_autosave = { "txt": "Sir Commander, you should consider to enable autosave in Settings", "loc": "tutorial. Triggered by 10 first ticks" }; +locObj.tutorial_moving_troops = { "txt": "Sir Commander, buttons near the number of units allow you to manage units\nSingle arrow moves a unit, double arrow moves a stack,\nX button fires a unit, XX button fires a stack", "loc": "triggered by first enter into Hiring tab" }; +locObj.tutorial_new_buildings = { "txt": "New buildings will unlock as your population grows", "loc": "tutorial" } -locObj.story1_catastrophe = {"txt":"Your forces captured a witch. The trial was quick and short\nWhile people gathered to watch the execution\nshe started to chant. When flames licked her bare feet, she screamed\nAt this very moment, out of nowhere struck a lightning bolt with titanic power\nright in the center of the fire...", "loc":"tutorial msg catastrophe"}; -locObj.story2_two_steps = {"txt":"You saw a few peasants, running from ugly monsters you have never seen\nYou killed monsters and asked peasants what happened\nThey told you that trolls were mad because they don't paid for passing by...", "loc":"tutorial. when you step 2 times from city"}; +locObj.story1_catastrophe = { "txt": "Your forces captured a witch. The trial was quick and short\nWhile people gathered to watch the execution\nshe started to chant. When flames licked her bare feet, she screamed\nAt this very moment, out of nowhere struck a lightning bolt with titanic power\nright in the center of the fire...", "loc": "tutorial msg catastrophe" }; +locObj.story2_two_steps = { "txt": "You saw a few peasants, running from ugly monsters you have never seen\nYou killed monsters and asked peasants what happened\nThey told you that trolls were mad because they don't paid for passing by...", "loc": "tutorial. when you step 2 times from city" }; -locObj.unit_sergeants = {"txt": "Sergeants", "loc": "Autbattle log, player unit"}; -locObj.unit_turkopols = {"txt": "Turkopols", "loc": "Autbattle log, player unit"}; -locObj.unit_knights = {"txt": "Brother-knights", "loc": "Autbattle log, player unit"}; +locObj.unit_sergeants = { "txt": "Sergeants", "loc": "Autbattle log, player unit" }; +locObj.unit_turkopols = { "txt": "Turkopols", "loc": "Autbattle log, player unit" }; +locObj.unit_knights = { "txt": "Brother-knights", "loc": "Autbattle log, player unit" }; -locObj.unit_bandit = {"txt": "Bandits", "loc": "Autbattle log, enemy unit"}; -locObj.unit_bandit_archer = {"txt": "Bandit archers", "loc": "Autbattle log, enemy unit"}; -locObj.unit_merc_swordman = {"txt": "Mercenary swordmen", "loc": "Autbattle log, highlevel enemy unit"}; -locObj.unit_merc_spearman = {"txt": "Mercenary spearmen", "loc": "Autbattle log, highlevel enemy unit"}; -locObj.unit_goblin = {"txt": "Goblins", "loc": "Autbattle log, enemy unit"}; +locObj.unit_bandit = { "txt": "Bandits", "loc": "Autbattle log, enemy unit" }; +locObj.unit_bandit_archer = { "txt": "Bandit archers", "loc": "Autbattle log, enemy unit" }; +locObj.unit_merc_swordman = { "txt": "Mercenary swordmen", "loc": "Autbattle log, highlevel enemy unit" }; +locObj.unit_merc_spearman = { "txt": "Mercenary spearmen", "loc": "Autbattle log, highlevel enemy unit" }; +locObj.unit_goblin = { "txt": "Goblins", "loc": "Autbattle log, enemy unit" }; -locObj.autobattle_journal_btn = {"txt": "Battle journal", "loc": "Inn window. Battle report by round moves"}; -locObj.autobattle_journal_log_start = {"txt": "Round started", "loc": "Start round title"}; -locObj.autobattle_journal_log_end = {"txt": "Round ended", "loc": "End round title"}; -locObj.autobattle_journal_log_dmg = {"txt": "%arg1 squad does %arg2 dmg to %arg3.", "loc": "Autobattle dmg log"}; -locObj.autobattle_journal_log_dead = {"txt": "%arg1 %arg2 is dead.", "loc": "Autobattle dead log"}; -locObj.autobattle_journal_log_destroyed = {"txt": "%arg1 squad is destroyed.", "loc": "Autobattle destroyed squad log"}; +locObj.autobattle_journal_btn = { "txt": "Battle journal", "loc": "Inn window. Battle report by round moves" }; +locObj.autobattle_journal_log_start = { "txt": "Round started", "loc": "Start round title" }; +locObj.autobattle_journal_log_end = { "txt": "Round ended", "loc": "End round title" }; +locObj.autobattle_journal_log_dmg = { "txt": "%arg1 squad does %arg2 dmg to %arg3.", "loc": "Autobattle dmg log" }; +locObj.autobattle_journal_log_dead = { "txt": "%arg1 %arg2 is dead.", "loc": "Autobattle dead log" }; +locObj.autobattle_journal_log_destroyed = { "txt": "%arg1 squad is destroyed.", "loc": "Autobattle destroyed squad log" }; -locObj.advmap = {"txt":"To move your hero use arrow keys\nIf you play with sensor input, please turn on Mobile UI in Settings", "loc":"when first visiting adventure map"}; -locObj.plague_turk = {"txt":"On the edge: your turkopol spotted a plague person and shot him. The corpse was burned afterwards", "loc":"Random event. Plague. A turkopol prevents plague in the city"}; -locObj.plague_army = {"txt":"shit happens: the plague outbreak was stopped by your garrison, but killed %arg1 of your garrisoned troops", "loc":"Your army prevents plague in the city. Some soldiers are dead now"}; -locObj.plague = {"txt":"shit happens: the plague killed %arg1 citizens", "loc":"default plague case + case where army failed to prevent outbreak"}; -locObj.new_adepts = {"txt":"People had heard that any new christian gets gifts from the Church. And so they came: %arg1","loc":"migration event case 1"}; -locObj.people_arrive = {"txt":"People had heard that you are kind ruler. And so they came: %arg1","loc":"migration event case 2"}; -locObj.people_leave = {"txt":"People left you, because of your cruelty. Left: %arg1","loc":"migration event case 3"}; -locObj.city_chest_gold = {"txt":"You found %arg1 gold in a chest!", "loc":"Random event. Opened a short-living chest in city screen"}; -locObj.blackmarket_dstr = {"txt":"A tall, fat-belly green goblin, who named itself Elbenkonig,\n offered you a variety of magic artifacts.\nYou, as a true Christian, a brother of Teutonic order, were offended by it.\nThe first your intention was to kill the goblin and to burn the market.\nOn the other hand, magical artifacts could prove helpful in this world.\nWhat will you do?", "loc":"This dialogue happens every time you first visit blackmarket on the newly generated map"}; -locObj.blackmarket_dstr_brn = {"txt":"Kill the goblin and burn the blackmarket!", "loc":"Destroying the blackmarket"}; -locObj.blackmarket_dstr_kp = {"txt":"Start trade", "loc":"Keeping the blackmarket"}; -locObj.borderCollide = {"txt":"You hit an invisible border. You couldn't pass any further", "loc":"adventure map. collision with border"}; +locObj.advmap = { "txt": "To move your hero use arrow keys\nIf you play with sensor input, please turn on Mobile UI in Settings", "loc": "when first visiting adventure map" }; +locObj.plague_turk = { "txt": "On the edge: your turkopol spotted a plague person and shot him. The corpse was burned afterwards", "loc": "Random event. Plague. A turkopol prevents plague in the city" }; +locObj.plague_army = { "txt": "shit happens: the plague outbreak was stopped by your garrison, but killed %arg1 of your garrisoned troops", "loc": "Your army prevents plague in the city. Some soldiers are dead now" }; +locObj.plague = { "txt": "shit happens: the plague killed %arg1 citizens", "loc": "default plague case + case where army failed to prevent outbreak" }; +locObj.new_adepts = { "txt": "People had heard that any new christian gets gifts from the Church. And so they came: %arg1", "loc": "migration event case 1" }; +locObj.people_arrive = { "txt": "People had heard that you are kind ruler. And so they came: %arg1", "loc": "migration event case 2" }; +locObj.people_leave = { "txt": "People left you, because of your cruelty. Left: %arg1", "loc": "migration event case 3" }; +locObj.city_chest_gold = { "txt": "You found %arg1 gold in a chest!", "loc": "Random event. Opened a short-living chest in city screen" }; +locObj.blackmarket_dstr = { "txt": "A tall, fat-belly green goblin, who named itself Elbenkonig,\n offered you a variety of magic artifacts.\nYou, as a true Christian, a brother of Teutonic order, were offended by it.\nThe first your intention was to kill the goblin and to burn the market.\nOn the other hand, magical artifacts could prove helpful in this world.\nWhat will you do?", "loc": "This dialogue happens every time you first visit blackmarket on the newly generated map" }; +locObj.blackmarket_dstr_brn = { "txt": "Kill the goblin and burn the blackmarket!", "loc": "Destroying the blackmarket" }; +locObj.blackmarket_dstr_kp = { "txt": "Start trade", "loc": "Keeping the blackmarket" }; +locObj.borderCollide = { "txt": "You hit an invisible border. You couldn't pass any further", "loc": "adventure map. collision with border" }; -locObj.campaignTitle = {"txt":"Campaign-%arg1","loc":"Autocampaign accordion title"}; -locObj.autobattleTitle = {"txt": "Battle-%arg1", "loc": "Autobattle log title"}; +locObj.campaignTitle = { "txt": "Campaign-%arg1", "loc": "Autocampaign accordion title" }; +locObj.autobattleTitle = { "txt": "Battle-%arg1", "loc": "Autobattle log title" }; -locObj.upgCostSidebar = {"txt":"Upgrade to %arg1 level costs %arg2 gold", "loc":"Shows under the building description on the left sidebar for upgrades"}; -locObj.bldCostSidebar = {"txt":"Building costs %arg2 gold", "loc":"Shows under the building description on the left sidebar for initial building"}; +locObj.upgCostSidebar = { "txt": "Upgrade to %arg1 level costs %arg2 gold", "loc": "Shows under the building description on the left sidebar for upgrades" }; +locObj.bldCostSidebar = { "txt": "Building costs %arg2 gold", "loc": "Shows under the building description on the left sidebar for initial building" }; -locObj.knightLearnCurve = {"txt":"Has high chance to increase ATK when level up", "loc":"short description of the class in inn"}; -locObj.monkLearnCurve = {"txt":"Has high chance to increase DEF when level up", "loc":"short description of the class in inn"}; -locObj.heroClassKnight = {"txt":"Knight", "loc":"The inn when we are hiring. Hero class"}; -locObj.heroClassMonk = {"txt":"Monk", "loc":"The inn when we are hiring. Hero class"}; +locObj.knightLearnCurve = { "txt": "Has high chance to increase ATK when level up", "loc": "short description of the class in inn" }; +locObj.monkLearnCurve = { "txt": "Has high chance to increase DEF when level up", "loc": "short description of the class in inn" }; +locObj.heroClassKnight = { "txt": "Knight", "loc": "The inn when we are hiring. Hero class" }; +locObj.heroClassMonk = { "txt": "Monk", "loc": "The inn when we are hiring. Hero class" }; -locObj.heroLvlLbl = {"txt":"level", "loc":"The inn when we are hiring. Level"}; -locObj.heroStatsLbl = {"txt":"Stats:", "loc":"The inn when we are hiring. Stats"}; -locObj.heroStatsAtkLbl = {"txt":"Attack", "loc":"The inn when we are hiring. Stats. Attack"}; -locObj.heroStatsDefLbl = {"txt":"Defence", "loc":"The inn when we are hiring. Stats. Defence"}; -locObj.heroStatsMpowLbl = {"txt":"Magic power", "loc":"The inn when we are hiring. Stats. Magic power"}; -locObj.heroStatsIntLbl = {"txt":"Intelligence", "loc":"The inn when we are hiring. Stats. Intelligence"}; +locObj.heroLvlLbl = { "txt": "level", "loc": "The inn when we are hiring. Level" }; +locObj.heroStatsLbl = { "txt": "Stats:", "loc": "The inn when we are hiring. Stats" }; +locObj.heroStatsAtkLbl = { "txt": "Attack", "loc": "The inn when we are hiring. Stats. Attack" }; +locObj.heroStatsDefLbl = { "txt": "Defence", "loc": "The inn when we are hiring. Stats. Defence" }; +locObj.heroStatsMpowLbl = { "txt": "Magic power", "loc": "The inn when we are hiring. Stats. Magic power" }; +locObj.heroStatsIntLbl = { "txt": "Intelligence", "loc": "The inn when we are hiring. Stats. Intelligence" }; -locObj.equipmentTitle = {"txt": "Equiped", "loc": "Equiped items title"}; +locObj.equipmentTitle = { "txt": "Equiped", "loc": "Equiped items title" }; -locObj.moneyExceedsTreasury = {"txt":"Sir Commander, sum of money your treasury and your hero's purse had exceeds your treasury capacity. To avoid losing money, build or upgrade your treasury now", "loc":"checking function which indicated if player needs to upgrade his treasury"}; +locObj.moneyExceedsTreasury = { "txt": "Sir Commander, sum of money your treasury and your hero's purse had exceeds your treasury capacity. To avoid losing money, build or upgrade your treasury now", "loc": "checking function which indicated if player needs to upgrade his treasury" }; -locObj.glyphKnightTile = {"txt": "Glyph of Knight's Valor", "loc": "Artifact name"}; -locObj.glyphKnightDesc = {"txt": "Increases the hero's attack by +10, increases hero's defence by +6.", "loc": "Artifact description"}; +locObj.glyphKnightTile = { "txt": "Glyph of Knight's Valor", "loc": "Artifact name" }; +locObj.glyphKnightDesc = { "txt": "Increases the hero's attack by +10, increases hero's defence by +6.", "loc": "Artifact description" }; -locObj.glyphMonkTile = {"txt": "Glyph of Monk's Virtue", "loc": "Artifact name"}; -locObj.glyphMonkDesc = {"txt": "Increases the hero's attack by +4, increases hero's defence by +12.", "loc": "Artifact description"}; +locObj.glyphMonkTile = { "txt": "Glyph of Monk's Virtue", "loc": "Artifact name" }; +locObj.glyphMonkDesc = { "txt": "Increases the hero's attack by +4, increases hero's defence by +12.", "loc": "Artifact description" }; -locObj.goldRuneTitle = {"txt": "Rune of Golden Search", "loc": "Artifact name"}; -locObj.goldRuneDesc = {"txt": "Increases the hero's gold reward after battle by 7%.", "loc": "Artifact description"}; +locObj.goldRuneTitle = { "txt": "Rune of Golden Search", "loc": "Artifact name" }; +locObj.goldRuneDesc = { "txt": "Increases the hero's gold reward after battle by 7%.", "loc": "Artifact description" }; -locObj.lifebloodVialTitle = {"txt": "Vial of Lifeblood", "loc": "Artifact name"}; -locObj.lifebloodVialDesc = {"txt": "Increases the health of all units in the hero's army by +3", "loc": "Artifact description"}; +locObj.lifebloodVialTitle = { "txt": "Vial of Lifeblood", "loc": "Artifact name" }; +locObj.lifebloodVialDesc = { "txt": "Increases the health of all units in the hero's army by +3", "loc": "Artifact description" }; locObj.darkPactSwordTitle = { "txt": "Dark Pact Sword", "loc": "Artefact name" }; -locObj.darkPactSwordDesc = {"txt": "Increases the hero's attack by +15, reduces the health of all units in the hero's army by -35%", "loc": "Artefact description"}; +locObj.darkPactSwordDesc = { "txt": "Increases the hero's attack by +15, reduces the health of all units in the hero's army by -35%", "loc": "Artefact description" }; locObj.crusadersSwordTitle = { "txt": "Crusader's Sword", "loc": "Artifact name" }; -locObj.crusadersSwordDesc = {"txt": "Increases attack of all units in the hero's army by +20%", "loc": "Artifact description"}; +locObj.crusadersSwordDesc = { "txt": "Increases attack of all units in the hero's army by +20%", "loc": "Artifact description" }; -locObj.ringStrengthTitle = {"txt": "Ring of Strength", "loc": "Artifact name"}; -locObj.ringStrengthDesc = {"txt": "Increases the hero's attack by +5, increases attack of all units in the hero's army by +10%", "loc": "Artifact description"}; +locObj.ringStrengthTitle = { "txt": "Ring of Strength", "loc": "Artifact name" }; +locObj.ringStrengthDesc = { "txt": "Increases the hero's attack by +5, increases attack of all units in the hero's army by +10%", "loc": "Artifact description" }; -locObj.ringProtectionTitle = {"txt": "Ring of Protection", "loc": "Artifact name"}; -locObj.ringProtectionDesc = {"txt": "Increases the hero's defence by +5, increases defence of all units in the hero's army by +10%", "loc": "Artifact description"}; +locObj.ringProtectionTitle = { "txt": "Ring of Protection", "loc": "Artifact name" }; +locObj.ringProtectionDesc = { "txt": "Increases the hero's defence by +5, increases defence of all units in the hero's army by +10%", "loc": "Artifact description" }; // TODO: #SwordRestriction remove it later locObj.swordsWarn = { "txt": 'A hero can carry only two swords!', "loc": 'Sword restriction' }; locObj.ringsWarn = { "txt": 'A hero can wear only two rings!', "loc": 'Rings restriction' }; -locObj.advmapHeroLose = {"txt": "Your troops were defeated and the hero is forced to retreat to the city.", "loc":"When hero loses battle on advmap"} +locObj.advmapHeroLose = { "txt": "Your troops were defeated and the hero is forced to retreat to the city.", "loc": "When hero loses battle on advmap" } -locObj.eventHalloween = {"txt": "Halloween is about collecting pumpkins!\nGenerate a new adventure map to find them\nYou need to be registered & logged, so you pledge could be recorded", "loc":"eventhelp"} -locObj.eventNewYear = {"txt": "New Year is about collecting snowmen!\nGenerate a new adventure map to find them\nYou need to be registered & logged, so you pledge could be recorded", "loc":"eventhelp"} -locObj.couldntRecordPledge = {"txt": "It seems you are not logged it. Your pledge will not be recorded","loc":"happens when collected event item while being not logged in"} -locObj.requiredStables = {"txt": "To do that, you need to build stables", "loc":"happens when trying to hire sergeants if no stables built"}; -locObj.requiredArcheryRange = {"txt":"To do that, you need to build Archery Range", "loc":"happens when trying to hire turkopols if no archery range is built"}; -locObj.requiredStablesUpgrade = {"txt": "To do that, you need to upgrade the stable to %arg1 level", "loc":"happens when trying to hire knights and stables level too low"}; -locObj.deadCounselorDemolish = {"txt":"Your counselor is dead.\nThe new counselor, however, urges us to reconsider\nthe choice which was made with the previous one:\n-it's time, m'lord, when we could decide what's better for our nation.\n-if you agree, we demolish the %arg1 and thus you could build %arg2", "loc":""} -locObj.demolishGallows = {"txt": "Gallows", "loc": "your choice in deadCounselorDemolish dialogue"}; -locObj.fountainUnlock = {"txt": "Fountain", "loc": "will be unlocked in deadCounselorDemolish dialogue"}; -locObj.demolishFountain = {"txt": "Fountain", "loc": "your choice in deadCounselorDemolish dialogue"}; -locObj.gallowsUnlock = {"txt": "Gallows", "loc": "will be unlocked in deadCounselorDemolish dialogue"}; -locObj.deadCounselorDemolishAnsYes = {"txt":"Yes, demolish it", "loc":"Positive answer"} -locObj.buy = {"txt":"Buy", "loc":"On item in BlackMarket for sale from Goblin"}; -locObj.sell = {"txt":"Sell", "loc":"On item in BlackMarket for sale from Hero"}; -locObj.buildArchery = {"txt":"Archery provides mounted archers. Build stables first", "loc":"error msg bulding archery"}; -locObj.buildUpgradeTreasury = {"txt":"build or upgrade your Treasury", "loc":"the endturn tip in case of overflowing gold amount"} -locObj.moneyIncreased = {"txt":"amount of money is increased", "loc":"happens when s-to-s money value increased"}; -locObj.moneyDecreased = {"txt":"amount of money is decreased", "loc":"happens when s-to-s money value decreased"}; -locObj.popIncreased = {"txt":"population is increased", "loc":"happens when s-to-s population value increased"}; -locObj.popDecreased = {"txt":"population is decreased", "loc":"happens when s-to-s population value decreased"}; -locObj.buildUpgradeHouse = {"txt":"your city is reached population limit. Build new houses or upgrade existing ones", "loc":"the endturn tip in case of overpopulating"}; -locObj.savedSuccessfully = {"txt":"game saved successfully", "loc":"when manual save completed successfully"}; -locObj.loadedSuccessfully = {"txt":"game loaded successfully", "loc":"when loaded completed successfully"}; -locObj.dialogLoadGame = {"txt":"Load game? You will lose any unsaved progress!", "loc":"confirmation dialogue over loading game"}; -locObj.noSaveGame = {"txt":"Sorry! There is no save to load from!", "loc":"in case there is no savegame"}; +locObj.eventHalloween = { "txt": "Halloween is about collecting pumpkins!\nGenerate a new adventure map to find them\nYou need to be registered & logged, so you pledge could be recorded", "loc": "eventhelp" } +locObj.eventNewYear = { "txt": "New Year is about collecting snowmen!\nGenerate a new adventure map to find them\nYou need to be registered & logged, so you pledge could be recorded", "loc": "eventhelp" } +locObj.couldntRecordPledge = { "txt": "It seems you are not logged it. Your pledge will not be recorded", "loc": "happens when collected event item while being not logged in" } +locObj.requiredStables = { "txt": "To do that, you need to build stables", "loc": "happens when trying to hire sergeants if no stables built" }; +locObj.requiredArcheryRange = { "txt": "To do that, you need to build Archery Range", "loc": "happens when trying to hire turkopols if no archery range is built" }; +locObj.requiredStablesUpgrade = { "txt": "To do that, you need to upgrade the stable to %arg1 level", "loc": "happens when trying to hire knights and stables level too low" }; +locObj.deadCounselorDemolish = { "txt": "Your counselor is dead.\nThe new counselor, however, urges us to reconsider\nthe choice which was made with the previous one:\n-it's time, m'lord, when we could decide what's better for our nation.\n-if you agree, we demolish the %arg1 and thus you could build %arg2", "loc": "" } +locObj.demolishGallows = { "txt": "Gallows", "loc": "your choice in deadCounselorDemolish dialogue" }; +locObj.fountainUnlock = { "txt": "Fountain", "loc": "will be unlocked in deadCounselorDemolish dialogue" }; +locObj.demolishFountain = { "txt": "Fountain", "loc": "your choice in deadCounselorDemolish dialogue" }; +locObj.gallowsUnlock = { "txt": "Gallows", "loc": "will be unlocked in deadCounselorDemolish dialogue" }; +locObj.deadCounselorDemolishAnsYes = { "txt": "Yes, demolish it", "loc": "Positive answer" } +locObj.buy = { "txt": "Buy", "loc": "On item in BlackMarket for sale from Goblin" }; +locObj.sell = { "txt": "Sell", "loc": "On item in BlackMarket for sale from Hero" }; +locObj.buildArchery = { "txt": "Archery provides mounted archers. Build stables first", "loc": "error msg bulding archery" }; +locObj.buildUpgradeTreasury = { "txt": "build or upgrade your Treasury", "loc": "the endturn tip in case of overflowing gold amount" } +locObj.moneyIncreased = { "txt": "amount of money is increased", "loc": "happens when s-to-s money value increased" }; +locObj.moneyDecreased = { "txt": "amount of money is decreased", "loc": "happens when s-to-s money value decreased" }; +locObj.popIncreased = { "txt": "population is increased", "loc": "happens when s-to-s population value increased" }; +locObj.popDecreased = { "txt": "population is decreased", "loc": "happens when s-to-s population value decreased" }; +locObj.buildUpgradeHouse = { "txt": "your city is reached population limit. Build new houses or upgrade existing ones", "loc": "the endturn tip in case of overpopulating" }; +locObj.savedSuccessfully = { "txt": "game saved successfully", "loc": "when manual save completed successfully" }; +locObj.loadedSuccessfully = { "txt": "game loaded successfully", "loc": "when loaded completed successfully" }; +locObj.dialogLoadGame = { "txt": "Load game? You will lose any unsaved progress!", "loc": "confirmation dialogue over loading game" }; +locObj.noSaveGame = { "txt": "Sorry! There is no save to load from!", "loc": "in case there is no savegame" }; //TODO check only in case of overwrite or every savegame dialog! -locObj.dialogSaveGame = {"txt":"Save game? You will rewrite any save you already have!", "loc":"when trying to save game or overwriting existing savegame"}; -locObj.loadGameFromStringError = {"txt":"Please insert save string", "loc":"happens when the loadgame input is empty"}; -locObj.lblLongSaveString = {"txt":"very long string", "loc":"label near input fielf for savegame string"}; -locObj.dialogConfirmHireGuard = {"txt":"Do you want to hire a guardsman? He will cost you %arg1 gold\nand then %arg2 gold per each season!", "loc":"hiring treasury guard confirmation dialogue"}; -locObj.hiredGuardsman = {"txt":"You hired a guardsman!", "loc":"after succesfully hired a guardsman"}; -locObj.notEnoughGold = {"txt":"Not enough gold to do that!", "loc":"not enough gold"}; -locObj.treasuryRequired = {"txt":"Treasury is required to hiring a guardsman!", "loc":"happens when trying to hire gaurdsman without a treasury"}; -locObj.dialogConfirmDismssGuardsman = {"txt":"Would you like to dismiss a guardsman?", "loc":"happens when try to dismiss one guardsman"}; -locObj.dismissedGuardsman = {"txt":"You dismissed a guardsman!", "loc":"happens after dismissing a guardsman"}; -locObj.noGuardsman = {"txt":"You don't have any guardsmen!", "loc":"happens when trying to dismiss guardsman when there are none of them"}; -locObj.execReasons = [{"txt":"treachery", "loc":"when executing a person"}, - {"txt":"betrayal", "loc":""}, - {"txt":"corruption", "loc":"when executing a person"}, - {"txt":"bribery", "loc":"when executing a person"}, - {"txt":"graft and theft", "loc":"when executing a person"}, - {"txt":"embezzlement", "loc":"when executing a person"}]; -locObj.techArtilleryResearched = {"txt":"You researched the artillery technology!", "loc":"Happens when the tech is discovered"}; -locObj.bldUniversityButton = {"txt":"Build university
%arg2 gold", "loc":"the label of the button of building the University on the building tab"}; -locObj.eventWillStart = {"txt":" event will start in", "loc":"shows on the status bar if an event was announced"}; -locObj.eventWillEnd = {"txt":" event will end in", "loc":"shows on the status bar if an event was started"}; -locObj.eventHalloweenName = {"txt":"Halloween", "loc":"shows on the status bar if the event announced or online"}; -locObj.eventNewYearName = {"txt":"New Year", "loc":"shows on the status bar if the event announced or online"}; -locObj.yes = {"txt":"Yes", "loc":"Positive answer, happens in modal dialogues"}; -locObj.yesKillBloody = {"txt":"Yes, in the most bloody way!", "loc":"NOT USED YET"}; -locObj.no = {"txt":"No", "loc":"Negative answer, happens in modal dialogues"}; -locObj.serverStatusSpn = {"txt": "Server: ", "loc":"showed in the status bar"}; -locObj.serverStatusND = {"txt":"n/d", "loc":"server status is no data"}; -locObj.serverStatusUp = {"txt":"Up", "loc":"server status is Up"}; -locObj.serverStatusDown = {"txt":"Down", "loc":"server status is Down"}; -locObj.online = {"txt":"Online: ", "loc":"label before the online users counter"}; -locObj.onlineValueND = {"txt":"n/d", "loc":"online users numbers has no data"}; -locObj.errCityLevelTooLowForSendingMsg = {"txt":"Sir Commander, your city level is too low for sending messages to other Lords", "loc":"happens when low-level user try to send msg in chat"} -locObj.userCntOne = {"txt":"user", "loc":"(one) user"}; -locObj.userCntTwoPlus = {"txt":"users", "loc":"two or more users"}; -locObj.savedCloudSuccessfully = {"txt":"game saved to the cloud successfully", "loc":"when cloud save completed successfully"}; -locObj.errNoCloudSave = {"txt":"you don't have saved game in the cloud", "loc":"could happen when trying to load a savegame from DB"}; -locObj.errGettingCloudSave = {"txt":"error while trying to get your cloudsave from the cloud","loc":"could happen when trying to get a savegame from backend"}; -locObj.errLoadingCloudSave = {"txt":"error while processing your cloudsave","loc":"could happen while loading cloudsave"}; -locObj.errGetSaveEndpoint = {"txt":"error from server. Are you logged in? Is server up?","loc":"endpoint error from /get_savegame"}; -locObj.executedMsg = {"txt": "you executed a citizen for %arg1", "loc":"eventlog after the execution"}; -locObj.executedGainMsg = {"txt": "%arg1 is confiscated property of the executed citizen", "loc": "eventlog after the execution"}; -locObj.executionAborted = {"txt":"too few citizens", "loc":"happens if you have too low amount of citizens"}; -locObj.cantUpkeepTreasuryGuards = {"txt": "treasury guard(s) dismissed because you are cannot pay to them!", "loc":"in calculateTurn in case of money deficite"}; -locObj.fireInCity = {"txt": "fire in the city!", "loc":"happens as part of random events"}; -locObj.rqtsHome = {"txt": "Unlocks by an Event", "loc":"Requirements for homes"}; -locObj.rqtsDef = {"txt": "Unlocks by an Event", "loc":"Requirements for defense buildings"}; -locObj.rqtsTreasury = {"txt": "Requires %arg1 gold to unlock", "loc":"Reqs for Treasury building"}; -locObj.rqtsGallows = {"txt":"Requires %arg1 citizens to unlock", "loc":"Reqs for Gallows"}; -locObj.rqtsFountain = {"txt":"Requires %arg1 citizens to unlock", "loc":"Reqs for Fountain"}; -locObj.rqtsStash = {"txt":"Requires Treasury and Unlocks by an event", "loc":"Reqs for Fountain"}; -locObj.rqtsStables = {"txt":"Requires %arg1 citizens to unlock", "loc":"Reqs for Stables"}; -locObj.rqtsArcheryRange = {"txt": "Requires %arg1 citizens and Stables", "loc":"Reqs for Archery Range"}; -locObj.rqtsInn = {"txt":"Requires %arg1 citizens to unlock ", "loc":"Reqs for Inn"}; -locObj.rqtsUniversity = {"txt":"Unlocks in %arg1. Current year is %arg2", "loc":"Reqs for Konigsberg University"}; -locObj.rqtsCatherdal = {"txt":"Unlocks in 1380", "loc": "Reqs for Königsberg Cathedral"}; -locObj.helpDef = {"txt":"This building is needed for defending the city from intruders", "loc":"help message in the building tab"}; -locObj.helpHome = {"txt": "This building and its improvements is needed to raise your population limit", "loc":"help msg in the building tab"}; -locObj.helpTreasury = {"txt":"This building and its improvements is needed to raise your money limit.
This building allows you to hire treasury guards.
They are needed to minimize your chances to be robbed", "loc":"help msg in the building tab"}; -locObj.helpGallows = {"txt":"This building and its improvements is needed to execute your citizens.
It is also increase taxes and decrease birthrate and happiness.
If you build this building, you will not be able to build the Fountain!", "loc":"help msg in the building tab"} -locObj.helpFountain = {"txt":"This building and its improvements is needed to place festivals.
It is also increase birthrate and happiness and decrease taxes.
If you build this building, you will not be able to build the Gallows!", "loc":"help msg in the building tab"}; -locObj.helpStash = {"txt":"This building and its improvements is needed to save your money from thieves, in case the thieves rob your treasury.
The higher level of Stash you have, the more you could hide in the Stash.","loc":"help msg in the building tab"}; -locObj.helpStables = {"txt":"This building and its improvements is needed to hire cavalry units.
The higher level of Stable you have, the more experienced troops you could hire there", "loc":"help msg in the building tab"}; -locObj.helpArcheryRange = {"txt":"This building and its improvements is needed to hire archery units.
The higher level of Archery range you have, the more experienced troops you could hire there", "loc":"help msg in the building tab"}; -locObj.helpInn = {"txt":"This building and its improvements is needed to hire heroes.
The higher level of Inn you have, the more experienced hero you could hire there", "loc":"help msg in the building tab"}; -locObj.helpUniversity = {"txt":"This building is required to research new technologies", "loc":"User saw this when moving the coursor above the university icon in Building tab"}; -locObj.callFiremen = {"txt":"Call firemen? It will cost you %arg1 gold!", "loc":"dialog happens when trying to get rid off the fire"}; -locObj.fireEndedByFireservice = {"txt": "firemen put end to the fire!", "loc":"happens after firemen ended the fire"}; -locObj.burnToAshes = {"txt": "it will burn to ashes!", "loc":"happens if player decided not to pay to firemen"}; -locObj.rndEventsStealing = {"txt": "shit happens: thieves stole %arg1 gold from your treasury", "loc":"random events, stealings"}; -locObj.rndEventsLotteryWon = {"txt": "You won in a lottery %arg1 gold prize", "loc":"random events lottery won msg"}; -locObj.locSaveGame = {"txt": "Save game", "loc":"browser-wide savegame"}; -locObj.locLoadGame = {"txt": "Load game", "loc":"load save from localStorage of the browser"}; -locObj.tabCity = {"txt":"City", "loc":"tabname in the tab bar"}; -locObj.tabSettings = {"txt":"Settings", "loc": "tabname Settings in the tab bar"}; -locObj.tabBuilding = {"txt": "Building", "loc": "tabname Building in the tab bar"}; -locObj.tabHowToPlay = {"txt": "How To Play", "loc":"tabname How To Play, about and stuff in da bar"}; -locObj.tabDiscord = {"txt": "Discord", "loc": "tabname Discord with a Discord widget"}; -locObj.btnPutOutTheFire = {"txt": "Put out the fire", "loc": "button to extinguish the fire"}; -locObj.btnExecutePerson = {"txt": "Execute somebody", "loc": "button to execute somebody"}; -locObj.festivalConfirm = {"txt": "Ancient holiday is forthcoming.\nTownsfolks are in a good mood and ready to celebrate\nand already prepared some wine.\nIf you wish, you may start a festival.\nIt will cost you %arg1 gold. You order milord?\n", "loc":"place festival confirmation dialogue"}; -locObj.festivalConfirmCooldown = {"txt":"Festival was placed not so long ago.\nThe effect from festival would be weaker.\n", "loc":"happens in case of Cooldown of the festivals"}; -locObj.eventItemCollected = {"txt": "The event item collected!", "loc": "happens when gathered an event item"}; -locObj.eventPledgeRecorded = {"txt": "Your pledge is recorded", "loc": "happens when the pledge was successfully recorded"}; -locObj.eventPledgeError = {"txt": "Your pledge couldn't be recorded. Are you logged in?", "loc": "happens when the pledge wasn't recorded"}; -locObj.festivalGain = {"txt": "Festival brought some fun to your people and %arg1 gold to you", "loc":"happens if the festival was profitable for budget"}; -locObj.festivalLoss = {"txt": "Your loss because of the festival is %arg1", "loc":"happens if the festival was unprofitable for budget"}; +locObj.dialogSaveGame = { "txt": "Save game? You will rewrite any save you already have!", "loc": "when trying to save game or overwriting existing savegame" }; +locObj.loadGameFromStringError = { "txt": "Please insert save string", "loc": "happens when the loadgame input is empty" }; +locObj.lblLongSaveString = { "txt": "very long string", "loc": "label near input fielf for savegame string" }; +locObj.dialogConfirmHireGuard = { "txt": "Do you want to hire a guardsman? He will cost you %arg1 gold\nand then %arg2 gold per each season!", "loc": "hiring treasury guard confirmation dialogue" }; +locObj.hiredGuardsman = { "txt": "You hired a guardsman!", "loc": "after succesfully hired a guardsman" }; +locObj.notEnoughGold = { "txt": "Not enough gold to do that!", "loc": "not enough gold" }; +locObj.treasuryRequired = { "txt": "Treasury is required to hiring a guardsman!", "loc": "happens when trying to hire gaurdsman without a treasury" }; +locObj.dialogConfirmDismssGuardsman = { "txt": "Would you like to dismiss a guardsman?", "loc": "happens when try to dismiss one guardsman" }; +locObj.dismissedGuardsman = { "txt": "You dismissed a guardsman!", "loc": "happens after dismissing a guardsman" }; +locObj.noGuardsman = { "txt": "You don't have any guardsmen!", "loc": "happens when trying to dismiss guardsman when there are none of them" }; +locObj.execReasons = [{ "txt": "treachery", "loc": "when executing a person" }, +{ "txt": "betrayal", "loc": "" }, +{ "txt": "corruption", "loc": "when executing a person" }, +{ "txt": "bribery", "loc": "when executing a person" }, +{ "txt": "graft and theft", "loc": "when executing a person" }, +{ "txt": "embezzlement", "loc": "when executing a person" }]; +locObj.techArtilleryResearched = { "txt": "You researched the artillery technology!", "loc": "Happens when the tech is discovered" }; +locObj.bldUniversityButton = { "txt": "Build university
%arg2 gold", "loc": "the label of the button of building the University on the building tab" }; +locObj.eventWillStart = { "txt": " event will start in", "loc": "shows on the status bar if an event was announced" }; +locObj.eventWillEnd = { "txt": " event will end in", "loc": "shows on the status bar if an event was started" }; +locObj.eventHalloweenName = { "txt": "Halloween", "loc": "shows on the status bar if the event announced or online" }; +locObj.eventNewYearName = { "txt": "New Year", "loc": "shows on the status bar if the event announced or online" }; +locObj.yes = { "txt": "Yes", "loc": "Positive answer, happens in modal dialogues" }; +locObj.yesKillBloody = { "txt": "Yes, in the most bloody way!", "loc": "NOT USED YET" }; +locObj.no = { "txt": "No", "loc": "Negative answer, happens in modal dialogues" }; +locObj.serverStatusSpn = { "txt": "Server: ", "loc": "showed in the status bar" }; +locObj.serverStatusND = { "txt": "n/d", "loc": "server status is no data" }; +locObj.serverStatusUp = { "txt": "Up", "loc": "server status is Up" }; +locObj.serverStatusDown = { "txt": "Down", "loc": "server status is Down" }; +locObj.online = { "txt": "Online: ", "loc": "label before the online users counter" }; +locObj.onlineValueND = { "txt": "n/d", "loc": "online users numbers has no data" }; +locObj.errCityLevelTooLowForSendingMsg = { "txt": "Sir Commander, your city level is too low for sending messages to other Lords", "loc": "happens when low-level user try to send msg in chat" } +locObj.userCntOne = { "txt": "user", "loc": "(one) user" }; +locObj.userCntTwoPlus = { "txt": "users", "loc": "two or more users" }; +locObj.savedCloudSuccessfully = { "txt": "game saved to the cloud successfully", "loc": "when cloud save completed successfully" }; +locObj.errNoCloudSave = { "txt": "you don't have saved game in the cloud", "loc": "could happen when trying to load a savegame from DB" }; +locObj.errGettingCloudSave = { "txt": "error while trying to get your cloudsave from the cloud", "loc": "could happen when trying to get a savegame from backend" }; +locObj.errLoadingCloudSave = { "txt": "error while processing your cloudsave", "loc": "could happen while loading cloudsave" }; +locObj.errGetSaveEndpoint = { "txt": "error from server. Are you logged in? Is server up?", "loc": "endpoint error from /get_savegame" }; +locObj.executedMsg = { "txt": "you executed a citizen for %arg1", "loc": "eventlog after the execution" }; +locObj.executedGainMsg = { "txt": "%arg1 is confiscated property of the executed citizen", "loc": "eventlog after the execution" }; +locObj.executionAborted = { "txt": "too few citizens", "loc": "happens if you have too low amount of citizens" }; +locObj.cantUpkeepTreasuryGuards = { "txt": "treasury guard(s) dismissed because you are cannot pay to them!", "loc": "in calculateTurn in case of money deficite" }; +locObj.fireInCity = { "txt": "fire in the city!", "loc": "happens as part of random events" }; +locObj.rqtsHome = { "txt": "Unlocks by an Event", "loc": "Requirements for homes" }; +locObj.rqtsDef = { "txt": "Unlocks by an Event", "loc": "Requirements for defense buildings" }; +locObj.rqtsTreasury = { "txt": "Requires %arg1 gold to unlock", "loc": "Reqs for Treasury building" }; +locObj.rqtsGallows = { "txt": "Requires %arg1 citizens to unlock", "loc": "Reqs for Gallows" }; +locObj.rqtsFountain = { "txt": "Requires %arg1 citizens to unlock", "loc": "Reqs for Fountain" }; +locObj.rqtsStash = { "txt": "Requires Treasury and Unlocks by an event", "loc": "Reqs for Fountain" }; +locObj.rqtsStables = { "txt": "Requires %arg1 citizens to unlock", "loc": "Reqs for Stables" }; +locObj.rqtsArcheryRange = { "txt": "Requires %arg1 citizens and Stables", "loc": "Reqs for Archery Range" }; +locObj.rqtsInn = { "txt": "Requires %arg1 citizens to unlock ", "loc": "Reqs for Inn" }; +locObj.rqtsUniversity = { "txt": "Unlocks in %arg1. Current year is %arg2", "loc": "Reqs for Konigsberg University" }; +locObj.rqtsCatherdal = { "txt": "Unlocks in 1380", "loc": "Reqs for Königsberg Cathedral" }; +locObj.helpDef = { "txt": "This building is needed for defending the city from intruders", "loc": "help message in the building tab" }; +locObj.helpHome = { "txt": "This building and its improvements is needed to raise your population limit", "loc": "help msg in the building tab" }; +locObj.helpTreasury = { "txt": "This building and its improvements is needed to raise your money limit.
This building allows you to hire treasury guards.
They are needed to minimize your chances to be robbed", "loc": "help msg in the building tab" }; +locObj.helpGallows = { "txt": "This building and its improvements is needed to execute your citizens.
It is also increase taxes and decrease birthrate and happiness.
If you build this building, you will not be able to build the Fountain!", "loc": "help msg in the building tab" } +locObj.helpFountain = { "txt": "This building and its improvements is needed to place festivals.
It is also increase birthrate and happiness and decrease taxes.
If you build this building, you will not be able to build the Gallows!", "loc": "help msg in the building tab" }; +locObj.helpStash = { "txt": "This building and its improvements is needed to save your money from thieves, in case the thieves rob your treasury.
The higher level of Stash you have, the more you could hide in the Stash.", "loc": "help msg in the building tab" }; +locObj.helpStables = { "txt": "This building and its improvements is needed to hire cavalry units.
The higher level of Stable you have, the more experienced troops you could hire there", "loc": "help msg in the building tab" }; +locObj.helpArcheryRange = { "txt": "This building and its improvements is needed to hire archery units.
The higher level of Archery range you have, the more experienced troops you could hire there", "loc": "help msg in the building tab" }; +locObj.helpInn = { "txt": "This building and its improvements is needed to hire heroes.
The higher level of Inn you have, the more experienced hero you could hire there", "loc": "help msg in the building tab" }; +locObj.helpUniversity = { "txt": "This building is required to research new technologies", "loc": "User saw this when moving the coursor above the university icon in Building tab" }; +locObj.callFiremen = { "txt": "Call firemen? It will cost you %arg1 gold!", "loc": "dialog happens when trying to get rid off the fire" }; +locObj.fireEndedByFireservice = { "txt": "firemen put end to the fire!", "loc": "happens after firemen ended the fire" }; +locObj.burnToAshes = { "txt": "it will burn to ashes!", "loc": "happens if player decided not to pay to firemen" }; +locObj.rndEventsStealing = { "txt": "shit happens: thieves stole %arg1 gold from your treasury", "loc": "random events, stealings" }; +locObj.rndEventsLotteryWon = { "txt": "You won in a lottery %arg1 gold prize", "loc": "random events lottery won msg" }; +locObj.locSaveGame = { "txt": "Save game", "loc": "browser-wide savegame" }; +locObj.locLoadGame = { "txt": "Load game", "loc": "load save from localStorage of the browser" }; +locObj.tabCity = { "txt": "City", "loc": "tabname in the tab bar" }; +locObj.tabSettings = { "txt": "Settings", "loc": "tabname Settings in the tab bar" }; +locObj.tabBuilding = { "txt": "Building", "loc": "tabname Building in the tab bar" }; +locObj.tabHowToPlay = { "txt": "How To Play", "loc": "tabname How To Play, about and stuff in da bar" }; +locObj.tabDiscord = { "txt": "Discord", "loc": "tabname Discord with a Discord widget" }; +locObj.btnPutOutTheFire = { "txt": "Put out the fire", "loc": "button to extinguish the fire" }; +locObj.btnExecutePerson = { "txt": "Execute somebody", "loc": "button to execute somebody" }; +locObj.festivalConfirm = { "txt": "Ancient holiday is forthcoming.\nTownsfolks are in a good mood and ready to celebrate\nand already prepared some wine.\nIf you wish, you may start a festival.\nIt will cost you %arg1 gold. You order milord?\n", "loc": "place festival confirmation dialogue" }; +locObj.festivalConfirmCooldown = { "txt": "Festival was placed not so long ago.\nThe effect from festival would be weaker.\n", "loc": "happens in case of Cooldown of the festivals" }; +locObj.eventItemCollected = { "txt": "The event item collected!", "loc": "happens when gathered an event item" }; +locObj.eventPledgeRecorded = { "txt": "Your pledge is recorded", "loc": "happens when the pledge was successfully recorded" }; +locObj.eventPledgeError = { "txt": "Your pledge couldn't be recorded. Are you logged in?", "loc": "happens when the pledge wasn't recorded" }; +locObj.festivalGain = { "txt": "Festival brought some fun to your people and %arg1 gold to you", "loc": "happens if the festival was profitable for budget" }; +locObj.festivalLoss = { "txt": "Your loss because of the festival is %arg1", "loc": "happens if the festival was unprofitable for budget" }; //todo ransack //Festival got out of control and some drunken brigands ransacked town. You lost %arg1 gold, milord -locObj.errAlreadyHasHero = {"txt": "You already have a hero!", "loc":"happens when trying to hire a hero, when you have one hired"}; -locObj.autosaveTurnedOn = {"txt": "Autosave is turned on", "loc": "happens when autosave enabled"}; -locObj.autosaveTurnedOff = {"txt": "Autosave is turned off", "loc": "happens when autosave disabled"}; -locObj.GallowsFountainChoiceConfirm = {"txt": "You are about to build %arg1.\nIf the object is built, you wouldn't be allow to build %arg2.\nAre you sure in your choice?", "loc":"happens when you are about to build Fountain or Gallows"}; -locObj.GallowsChoiceConfirm = {"txt": "Gallows", "loc": "your choice in GallowsFountainChoiceConfirm dialogue"}; -locObj.FountainBlocked = {"txt": "Fountain", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue"}; -locObj.FountainChoiceConfirm = {"txt": "Fountain", "loc": "your choice in GallowsFountainChoiceConfirm dialogue"}; -locObj.GallowsBlocked = {"txt": "Gallows", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue"}; -locObj.noStatsYet = {"txt": "Nothing to show yet, come here later", "loc":"happens when trying to open gold/pop stats"}; -locObj.tabSettings = {"txt": "Settings", "loc":"Settings tab name"}; -locObj.tabSettingsBtnExportGame = {"txt": "Export Game", "loc":"Export game button"}; -locObj.tabSettingsBtnImportGame = {"txt": "Import Game", "loc":"Import game button"}; -locObj.tabSettingsLblAutosave = {"txt": "Autosave", "loc": "Autsave label before the toggle"}; -locObj.tabSettingsBtnChangeColorMode = {"txt": "Change color mode", "loc": "settings tab change colour mode button"}; -locObj.tabSoundSettingsLblOption = {"txt": "Option", "loc":"Sound settings tab, name of the option"}; -locObj.on = {"txt": "on", "loc": "used on Sound Settings tab"}; -locObj.off = {"txt": "off", "loc": "used on Sounds Settings tab"}; -locObj.tabSoundSettingsLblAllSoundEffects = {"txt":"All sound effects", "loc": "sound settings tab"}; -locObj.tabSoundSettingsLblAllEventsEffects = {"txt":"Effects on all events", "loc": "sound settings tab"}; -locObj.tabSoundSettingsLblEffectsAR = {"txt": "Effects on action required events", "loc":"sound settings tab"}; -locObj.tabSoundSettingsAllMusic = {"txt": "All music", "loc":"sound settings tab"}; -locObj.tabSoundSettingsScMusic = {"txt": "Lore and script music", "loc": "sounds settings tab"}; -locObj.btnBack = {"txt": "Back", "loc":"sound settings tab"}; -locObj.lblSoundMenu = {"txt": "Sound effects and music", "loc": "sounds settings tab"}; -locObj.tabSettingsBtnOpenSoundSettings = {"txt": "Open sound settings", "loc":"settings tab"}; -locObj.tabSettingsLblMobileUI = {"txt": "Mobile UI", "loc": "settings tab"}; -locObj.tabSettingsLblLogSize = {"txt":"Event log size", "loc": "settings tab"}; -locObj.tabSettingsLblLines = {"txt": "lines", "loc": "settings tab"}; -locObj.goldAddedToTreasury = {"txt": "%arg1 gold has been added to your treasury", "loc":"gold added when a hero returned to the city"}; -locObj.amber = {"txt": "Amber is the most valued currency", "loc": "happens on click on amber"}; -locObj.lblGarrison = {"txt": "Garrison", "loc": "label in Garrison tab"}; -locObj.btnFire = {"txt": "Fire", "loc": "button in Garrison tab"}; -locObj.btnHire = {"txt": "Hire", "loc": "button in Garrison tab"}; -locObj.imgCastellan = {"txt": "Castellan", "loc": "troops management screen"}; -locObj.imgHero = {"txt":"Hero","loc":"troops management screen"}; -locObj.imgBrotherSergeants = {"txt": "brothers-sergeants", "loc": "troops management screen"}; -locObj.imgTurkopols = {"txt": "turkopols", "loc": "troops management screen"}; -locObj.imgBrotherKnights = {"txt": "brother-knights", "loc": "troops management screen"}; -locObj.btnBuildHouse = {"txt": "Build Home
lvl %arg1
%arg2 gold", "loc":"building tab"}; -locObj.btnBuildWall = {"txt": "Build Wall
lvl %arg1
%arg2 gold", "loc":"building tab"}; -locObj.btnBuildTower = {"txt": "Build Tower
lvl %arg1
%arg2 gold", "loc":"building tab"}; -locObj.btnBuildCastle = {"txt": "Build Castle
lvl %arg1
%arg2 gold", "loc":"building tab"}; -locObj.btnBuildTreasury = {"txt": "Build Treasury
lvl %arg1
%arg2 gold", "loc": "building tab"}; -locObj.btnBuildGallows = {"txt": "Build Gallows
lvl %arg1
%arg2 gold", "loc": "building tab"}; -locObj.btnBuildFountain = {"txt": "Build Fountain
lvl %arg1
%arg2 gold", "loc": "building tab"}; -locObj.btnBuildStash = {"txt": "Build Stash
lvl %arg1
%arg2 gold", "loc": "building tab"}; -locObj.btnBuildInn = {"txt": "Build Inn
lvl %arg1
%arg2 gold", "loc": "building tab"}; -locObj.btnBuildStables = {"txt": "Build Stable
lvl %arg1
%arg2 gold", "loc":"building tab"}; -locObj.btnBuildArcheryRange = {"txt": "Build Archery range
lvl %arg1
%arg2 gold", "loc":"building tab"}; -helpBlock = "

1255: Rise of Teutonics

" + - "

How to play

" + - 'wiki https://github.com/Areso/1255-burgomaster/wiki
' + - "feedback feedback form
" + - "This game has some clock under the hood. Each clock's tick happens in 30 seconds.
" + - "After each clock turn your population is paying taxes to you and growing.
" + - "Normally, each citizen pays to you one gold piece per tick.
" + - "This behavior could be changed by player decisions.
" + - "You need to build Homes to continue growth of your city population.
" + - "Each lvl of Houses allows you to have more population.
" + - "You need to build Walls and Tower (Keep) to keep your city safe against intruders.
" + - "You need to build a Treasury to store your gold.
" + - "Each lvl of the treasury allows you to store more gold.
" + - "Also, Treasury allows you to hire treasury guards.
" + - "Treasury guards significantly decrease chance of gold being stolen from your treasury.
" + - "Hiring a guard will cost you %arg1 gold.
" + - "Each guard requires regular payment (each tick), it also costs %arg2 gold.
" + - "If you do not have enough money, they will leave their work permanently.
" + - "You can build Fountain OR Gallows. You cannot change your choice after building is done.
" + - "Fountains will increase happiness and speed of population growth
" + - "Gallows will decrease population, increase taxes, and allow you to execute townsfolk.
" + - "Executing any townsperson will add his property as confiscated gold.
" + - "Stash is required to lower your losses from stealing. You cannot build Stash without Treasury.
"+ - "This is a single-player game.
"+ - "
" + - "Supported Languages(SL): English, Russian (Русский).
"+ - "Community Supported Languages(CSL): German (Deutsch), Esperanto, French (le français).
"+ - "CSL means that the author doesn't provide any help or answers asked in the CSL,
"+ - "though parts of the game or game in whole could be provided in the CSL.
"+ - "Also, any CSL translation could have mistakes or untranslated parts
"+ - "or parts of translation which are partly outdated.
"+ - "You could help with translations for the game here:
"+ - "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
"; -locObj.tabHowToPlayText = helpBlock; -locObj.cityScreenSawmill = {"txt": "sawmill", "loc": "cityscreen"}; -locObj.cityScreenWishingWell = {"txt": "wishing well", "loc": "cityscreen"}; -locObj.cityScreenWall = {"txt": "wall", "loc": "cityscreen"}; -locObj.cityScreenStoneWall = {"txt": "stone wall", "loc": "cityscreen"}; -locObj.cityScreenTower = {"txt": "tower", "loc": "cityscreen"}; -locObj.cityScreenStoneTower = {"txt": "stone tower", "loc": "cityscreen"}; -locObj.cityScreenHouse = {"txt": "house", "loc": "cityscreen"}; -locObj.cityScreenHouses = {"txt": "houses", "loc": "cityscreen"}; -locObj.cityScreenInn = {"txt": "inn", "loc": "cityscreen"}; -locObj.cityScreenGallows = {"txt": "gallows", "loc": "cityscreen"}; -locObj.cityScreenFountain = {"txt": "fountain", "loc": "cityscreen"}; -locObj.cityScreenTreasury = {"txt": "treasury", "loc": "cityscreen"}; -locObj.resourceGold = {"txt": "gold", "loc": "resource panel"}; -locObj.resourcePop = {"txt": "population", "loc": "resource panel"}; -locObj.cityScreenArcheryRange = {"txt": "archery range", "loc":"cityscreen"}; -locObj.paginationStart = {"txt": "To the beginning", "loc": "stat pages, to the start button"}; -locObj.paginationPrevious = {"txt": "Previous", "loc": "stat pages, previous page btn"}; -locObj.paginationNext = {"txt": "Next", "loc": "stat pages, next page btn"}; -locObj.paginationCurrent = {"txt": "To the current", "loc": "stat pages, current btn"}; -locObj.tabPopHistory = {"txt": "Population history tab", "loc": "Label in Pop history tab"}; -locObj.tabPopHistoryCurrentLimit = {"txt": "Current population limit is %arg1", "loc": "Label current pop limit"}; -locObj.tabGoldHistoryCurrentLimit = {"txt": "Current gold limit is %arg1", "loc": "label current gold limit"}; -locObj.tabGoldHistory = {"txt": "Gold history tab", "loc":"Label in Gold history tab"}; -locObj.dayAcronym = {"txt": "D", "loc": "used for countdown in events"}; -locObj.hourAcronym = {"txt": "H", "loc": "used for countdown in events"}; -locObj.minuteAcronym = {"txt": "M", "loc": "used for countdown in events"}; -locObj.countDownBeforeEventStarts = {"txt": "This is the time amount before an event will start", "loc": "resource panel?"}; -locObj.countDownBeforeEventEnds = {"txt": "This is the time amount before the event will end", "loc": "resource panel?"}; -locObj.mapRegenerate = {"txt": "The sky above the city darkened to black, lightning bolts made such a sight, and suddenly all stopped", "loc": "after pressed generate new map button"}; -locObj.day = {"txt": "Day", "loc": "occurs in autobattles logs"}; -locObj.autocampaignWithdrawErr = {"txt": "Your hero needs to be in a autocampaign to do that!", "loc":"happens when failing to withdraw the hero from autocampaign"}; -locObj.autocampaignWithdrawDialogConfirm = {"txt": "Do you want to withdraw your hero?", "loc": "happens when you pressing withdraw button"}; -locObj.heroLost = {"txt":"Milord, we lost a hero with all troops in the glorious combat", "loc": "happens when the hero is lost"}; -locObj.autocampaignHeroCrushedVastEnemyArmy = {"txt":"the hero has met great number of enemies and crash them. The battle brings to the hero money and experience!", "loc":"autocampaign journal with aggressive stance"}; -locObj.autocampaignHeroCrushedSmallEnemyArmy = {"txt": "the hero has met small number of enemies and crash them. The battle brings to the hero a bit of money and experience", "loc":"autocampaign journal with cautious stance"}; -locObj.autocampaignNoEvents = {"txt": "the day was very boring. Only one pagan was killed (a hunter took a pagan as a prey. so sad!)", "loc":"autocampaign log no events"}; -locObj.autocampaignLootList = {"txt": "looted trophies from the campaign: ", "loc":"autocampaign"}; -locObj.dialogDismissHeroConfirm = {"txt": "Do you want to dismiss hero with all troops?", "loc":"when dismiss hero button pressed"}; -locObj.dialogDismissHeroNoOption = {"txt": "Nope. I will move all units from the hero first", "loc":"when you declined"}; -locObj.dialogMapRegenerate = {"txt": "Do you want to generate a new map? It would cost %arg1 gold to you!", "loc": "map regenerate confirmation dialogue"}; -locObj.errMapRegenerateHeroOnMap = {"txt": "You couldn't do it while your hero on the map!", "loc": "happens if you try to make new map while your hero on an existing one"}; -locObj.tabInnWelcome = {"txt": "A sly innkeeper winks at you: Your gold, my food and stories, milord. Welcome to inn!", "loc":"label in Inn tab"}; -locObj.tabInnBtnHireHero = {"txt": "Hire hero
lvl %arg1
%arg2 gold", "loc": "tab Inn, button Hire Hero"}; +locObj.errAlreadyHasHero = { "txt": "You already have a hero!", "loc": "happens when trying to hire a hero, when you have one hired" }; +locObj.autosaveTurnedOn = { "txt": "Autosave is turned on", "loc": "happens when autosave enabled" }; +locObj.autosaveTurnedOff = { "txt": "Autosave is turned off", "loc": "happens when autosave disabled" }; +locObj.GallowsFountainChoiceConfirm = { "txt": "You are about to build %arg1.\nIf the object is built, you wouldn't be allow to build %arg2.\nAre you sure in your choice?", "loc": "happens when you are about to build Fountain or Gallows" }; +locObj.GallowsChoiceConfirm = { "txt": "Gallows", "loc": "your choice in GallowsFountainChoiceConfirm dialogue" }; +locObj.FountainBlocked = { "txt": "Fountain", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue" }; +locObj.FountainChoiceConfirm = { "txt": "Fountain", "loc": "your choice in GallowsFountainChoiceConfirm dialogue" }; +locObj.GallowsBlocked = { "txt": "Gallows", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue" }; +locObj.noStatsYet = { "txt": "Nothing to show yet, come here later", "loc": "happens when trying to open gold/pop stats" }; +locObj.tabSettings = { "txt": "Settings", "loc": "Settings tab name" }; +locObj.tabSettingsBtnExportGame = { "txt": "Export Game", "loc": "Export game button" }; +locObj.tabSettingsBtnImportGame = { "txt": "Import Game", "loc": "Import game button" }; +locObj.tabSettingsLblAutosave = { "txt": "Autosave", "loc": "Autsave label before the toggle" }; +locObj.tabSettingsBtnChangeColorMode = { "txt": "Change color mode", "loc": "settings tab change colour mode button" }; +locObj.tabSoundSettingsLblOption = { "txt": "Option", "loc": "Sound settings tab, name of the option" }; +locObj.on = { "txt": "on", "loc": "used on Sound Settings tab" }; +locObj.off = { "txt": "off", "loc": "used on Sounds Settings tab" }; +locObj.tabSoundSettingsLblAllSoundEffects = { "txt": "All sound effects", "loc": "sound settings tab" }; +locObj.tabSoundSettingsLblAllEventsEffects = { "txt": "Effects on all events", "loc": "sound settings tab" }; +locObj.tabSoundSettingsLblEffectsAR = { "txt": "Effects on action required events", "loc": "sound settings tab" }; +locObj.tabSoundSettingsAllMusic = { "txt": "All music", "loc": "sound settings tab" }; +locObj.tabSoundSettingsScMusic = { "txt": "Lore and script music", "loc": "sounds settings tab" }; +locObj.btnBack = { "txt": "Back", "loc": "sound settings tab" }; +locObj.lblSoundMenu = { "txt": "Sound effects and music", "loc": "sounds settings tab" }; +locObj.tabSettingsBtnOpenSoundSettings = { "txt": "Open sound settings", "loc": "settings tab" }; +locObj.tabSettingsLblMobileUI = { "txt": "Mobile UI", "loc": "settings tab" }; +locObj.tabSettingsLblLogSize = { "txt": "Event log size", "loc": "settings tab" }; +locObj.tabSettingsLblLines = { "txt": "lines", "loc": "settings tab" }; +locObj.goldAddedToTreasury = { "txt": "%arg1 gold has been added to your treasury", "loc": "gold added when a hero returned to the city" }; +locObj.amber = { "txt": "Amber is the most valued currency", "loc": "happens on click on amber" }; +locObj.lblGarrison = { "txt": "Garrison", "loc": "label in Garrison tab" }; +locObj.btnFire = { "txt": "Fire", "loc": "button in Garrison tab" }; +locObj.btnHire = { "txt": "Hire", "loc": "button in Garrison tab" }; +locObj.imgCastellan = { "txt": "Castellan", "loc": "troops management screen" }; +locObj.imgHero = { "txt": "Hero", "loc": "troops management screen" }; +locObj.imgBrotherSergeants = { "txt": "brothers-sergeants", "loc": "troops management screen" }; +locObj.imgTurkopols = { "txt": "turkopols", "loc": "troops management screen" }; +locObj.imgBrotherKnights = { "txt": "brother-knights", "loc": "troops management screen" }; +locObj.btnBuildHouse = { "txt": "Build Home
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.btnBuildWall = { "txt": "Build Wall
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.btnBuildTower = { "txt": "Build Tower
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.btnBuildCastle = { "txt": "Build Castle
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.btnBuildTreasury = { "txt": "Build Treasury
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.btnBuildGallows = { "txt": "Build Gallows
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.btnBuildFountain = { "txt": "Build Fountain
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.btnBuildStash = { "txt": "Build Stash
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.btnBuildInn = { "txt": "Build Inn
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.btnBuildStables = { "txt": "Build Stable
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.btnBuildArcheryRange = { "txt": "Build Archery range
lvl %arg1
%arg2 gold", "loc": "building tab" }; +// helpBlock = +locObj.lblAbout_h1 = { "txt": "1255: Rise of Teutonics" }; +locObj.lblAbout_h2 = { "txt": "How to play" }; +locObj.lblAbout_wiki = { "txt": "wiki: https://github.com/Areso/1255-burgomaster/wiki
" }; +locObj.lblAbout_feedback = { "txt": "feedback feedback form
" }; +locObj.lblAbout_meh = { + "txt": "This game has some clock under the hood. Each clock's tick happens in 30 seconds.\n" + + "After each clock turn your population is paying taxes to you and growing.\n" + + "Normally, each citizen pays to you one gold piece per tick.\n" + + "This behavior could be changed by player decisions.\n" + + "You need to build Homes to continue growth of your city population.\n" + + "Each lvl of Houses allows you to have more population.\n" + + "You need to build Walls and Tower (Keep) to keep your city safe against intruders.\n" + + "You need to build a Treasury to store your gold.\n" + + "Each lvl of the treasury allows you to store more gold.\n" + + "Also, Treasury allows you to hire treasury guards.\n" + + "Treasury guards significantly decrease chance of gold being stolen from your treasury.\n" + + "Hiring a guard will cost you 20 gold.\n" + + 'Each guard requires regular payment (each tick), it also costs 10 gold.\n' + + "If you do not have enough money, they will leave their work permanently.\n" + + "You can build Fountain OR Gallows. You cannot change your choice after building is done.\n" + + "Fountains will increase happiness and speed of population growth.\n" + + "Gallows will decrease population, increase taxes, and allow you to execute townsfolk.\n" + + "Executing any townsperson will add his property as confiscated gold.\n" + + "This is a single-player game." +}; +locObj.lblAbout_supLang = { + "txt": "Supported Languages(SL): English, Russian (Русский).\n" + + "Community Supported Languages(CSL): German (Deutsch), Esperanto, French (le français).\n" + + "CSL means that the author doesn't provide any help or answers asked in the CSL,\n" + + "though parts of the game or game in whole could be provided in the CSL.\n" + + "Also, any CSL translation could have mistakes or untranslated parts\n" + + "or parts of translation which are partly outdated.\n" + + "You could help with translations for the game here:" +}; +locObj.lblAbout_googleLang = { "txt": "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
" }; +// locObj.tabHowToPlayText = helpBlock; +locObj.cityScreenSawmill = { "txt": "sawmill", "loc": "cityscreen" }; +locObj.cityScreenWishingWell = { "txt": "wishing well", "loc": "cityscreen" }; +locObj.cityScreenWall = { "txt": "wall", "loc": "cityscreen" }; +locObj.cityScreenStoneWall = { "txt": "stone wall", "loc": "cityscreen" }; +locObj.cityScreenTower = { "txt": "tower", "loc": "cityscreen" }; +locObj.cityScreenStoneTower = { "txt": "stone tower", "loc": "cityscreen" }; +locObj.cityScreenHouse = { "txt": "house", "loc": "cityscreen" }; +locObj.cityScreenHouses = { "txt": "houses", "loc": "cityscreen" }; +locObj.cityScreenInn = { "txt": "inn", "loc": "cityscreen" }; +locObj.cityScreenGallows = { "txt": "gallows", "loc": "cityscreen" }; +locObj.cityScreenFountain = { "txt": "fountain", "loc": "cityscreen" }; +locObj.cityScreenTreasury = { "txt": "treasury", "loc": "cityscreen" }; +locObj.resourceGold = { "txt": "gold", "loc": "resource panel" }; +locObj.resourcePop = { "txt": "population", "loc": "resource panel" }; +locObj.cityScreenArcheryRange = { "txt": "archery range", "loc": "cityscreen" }; +locObj.paginationStart = { "txt": "To the beginning", "loc": "stat pages, to the start button" }; +locObj.paginationPrevious = { "txt": "Previous", "loc": "stat pages, previous page btn" }; +locObj.paginationNext = { "txt": "Next", "loc": "stat pages, next page btn" }; +locObj.paginationCurrent = { "txt": "To the current", "loc": "stat pages, current btn" }; +locObj.tabPopHistory = { "txt": "Population history tab", "loc": "Label in Pop history tab" }; +locObj.tabPopHistoryCurrentLimit = { "txt": "Current population limit is %arg1", "loc": "Label current pop limit" }; +locObj.tabGoldHistoryCurrentLimit = { "txt": "Current gold limit is %arg1", "loc": "label current gold limit" }; +locObj.tabGoldHistory = { "txt": "Gold history tab", "loc": "Label in Gold history tab" }; +locObj.dayAcronym = { "txt": "D", "loc": "used for countdown in events" }; +locObj.hourAcronym = { "txt": "H", "loc": "used for countdown in events" }; +locObj.minuteAcronym = { "txt": "M", "loc": "used for countdown in events" }; +locObj.countDownBeforeEventStarts = { "txt": "This is the time amount before an event will start", "loc": "resource panel?" }; +locObj.countDownBeforeEventEnds = { "txt": "This is the time amount before the event will end", "loc": "resource panel?" }; +locObj.mapRegenerate = { "txt": "The sky above the city darkened to black, lightning bolts made such a sight, and suddenly all stopped", "loc": "after pressed generate new map button" }; +locObj.day = { "txt": "Day", "loc": "occurs in autobattles logs" }; +locObj.autocampaignWithdrawErr = { "txt": "Your hero needs to be in a autocampaign to do that!", "loc": "happens when failing to withdraw the hero from autocampaign" }; +locObj.autocampaignWithdrawDialogConfirm = { "txt": "Do you want to withdraw your hero?", "loc": "happens when you pressing withdraw button" }; +locObj.heroLost = { "txt": "Milord, we lost a hero with all troops in the glorious combat", "loc": "happens when the hero is lost" }; +locObj.autocampaignHeroCrushedVastEnemyArmy = { "txt": "the hero has met great number of enemies and crash them. The battle brings to the hero money and experience!", "loc": "autocampaign journal with aggressive stance" }; +locObj.autocampaignHeroCrushedSmallEnemyArmy = { "txt": "the hero has met small number of enemies and crash them. The battle brings to the hero a bit of money and experience", "loc": "autocampaign journal with cautious stance" }; +locObj.autocampaignNoEvents = { "txt": "the day was very boring. Only one pagan was killed (a hunter took a pagan as a prey. so sad!)", "loc": "autocampaign log no events" }; +locObj.autocampaignLootList = { "txt": "looted trophies from the campaign: ", "loc": "autocampaign" }; +locObj.dialogDismissHeroConfirm = { "txt": "Do you want to dismiss hero with all troops?", "loc": "when dismiss hero button pressed" }; +locObj.dialogDismissHeroNoOption = { "txt": "Nope. I will move all units from the hero first", "loc": "when you declined" }; +locObj.dialogMapRegenerate = { "txt": "Do you want to generate a new map? It would cost %arg1 gold to you!", "loc": "map regenerate confirmation dialogue" }; +locObj.errMapRegenerateHeroOnMap = { "txt": "You couldn't do it while your hero on the map!", "loc": "happens if you try to make new map while your hero on an existing one" }; +locObj.tabInnWelcome = { "txt": "A sly innkeeper winks at you: Your gold, my food and stories, milord. Welcome to inn!", "loc": "label in Inn tab" }; +locObj.tabInnBtnHireHero = { "txt": "Hire hero
lvl %arg1
%arg2 gold", "loc": "tab Inn, button Hire Hero" }; //todo , unused so far -locObj.heroStatLuck = {"txt": "luck", "loc": "hero stat"}; -locObj.heroStatSuperstition = {"txt": "superstition", "loc": "hero stat"}; -locObj.heroStatMorale = {"txt": "morale", "loc": "hero stat"}; +locObj.heroStatLuck = { "txt": "luck", "loc": "hero stat" }; +locObj.heroStatSuperstition = { "txt": "superstition", "loc": "hero stat" }; +locObj.heroStatMorale = { "txt": "morale", "loc": "hero stat" }; //end of todo -locObj.heroFoundMoney = {"txt": "the hero found some money: %arg1", "loc": "when a chest found on Adventure Map"}; -locObj.heroStatInt = {"txt": "Intelligence", "loc": "hero stat"}; -locObj.heroStatLevel = {"txt": "Level", "loc": "hero stat"}; -locObj.heroStatAtk = {"txt": "Attack", "loc": "hero stat"}; -locObj.heroStatDef = {"txt": "Defense", "loc": "hero stat"}; -locObj.heroStatMP = {"txt": "Manapoints", "loc": "hero stat"}; -locObj.heroStatSpellpower = {"txt": "Spellpower", "loc": "hero stat"}; -locObj.heroExp = {"txt": "Experience", "loc": "hero stat"}; -locObj.heroCurrentExp = {"txt": "Current experience", "loc": "hero stat"}; -locObj.heroNextLvlExp = {"txt": "Experience required for next level", "loc": "hero stat"}; -locObj.heroClasses = {"txt": ["Knight", "Monk"], "loc": "inn tab"}; -locObj.lblClass = {"txt": "Class", "loc": "inn tab"}; -locObj.lblHeroLocation = {"txt":"Hero now is %arg1 %arg2", "loc":"inn tab"}; -locObj.heroInTown = {"txt": " in town", "loc": "used to build hero activity line"}; -locObj.heroInAutocampaign = {"txt": " in autocampaign", "loc": "used to build hero activity line"}; -locObj.heroOnAdventureMap = {"txt": " on the Adventure Map", "loc": "used to build hero activity line"}; -locObj.heroActivitiesInTown = {"txt": ["eating", "drinking","gambling","training","fistfighting","resting"], "loc": "used to build hero activity line"}; -locObj.heroActivitiesInAutocampaign = {"txt":["marching back","marching","killing pagans", "converting pagans","making a camp","looting dead pagans"], "loc": "used to build hero activity line"}; -locObj.heroActivitiesOnAdventureMap = {"txt":["marching", "making a camp","looting"],"loc": "used to build hero activity line"}; -locObj.lblDistanceFromTown = {"txt": "Days from the city", "loc": "inn tab"}; -locObj.directionFromTown = {"txt": "From the city", "loc": "inn tab"}; -locObj.directionToTown = {"txt": "To the city", "loc": "inn tab"}; -locObj.goldInHerosPurse = {"txt": "Gold in hero's purse", "loc": "inn tab"}; -locObj.lblDirection = {"txt": "Direction: ", "loc": "inn tab"}; -locObj.btnDismissHero = {"txt": "Dismiss hero", "loc": "inn tab"}; -locObj.btnAutocampaignSendHero = {"txt": "Send hero to autocampaign", "loc": "inn tab"}; -locObj.btnAutocampaignWithdrawHero = {"txt": "Withdraw the hero", "loc": "inn tab"}; -locObj.btnAutocampaignOpenJournal = {"txt": "Open journal", "loc": "inn tab"}; -locObj.btnUseTowngateScroll = {"txt": "Use towngate scroll", "loc": "inn tab"}; -locObj.btnGoToAdvenureMap = {"txt": "Go to the adventure map", "loc": "inn tab"}; -locObj.btnRegenerateMap = {"txt": "Regenerate map", "loc": "inn tab"}; -locObj.msgHeroAdvancedToNextLvl = {"txt": "Your hero got promoted to the next level for his brilliant service", "loc": "event log?"}; -locObj.dlgHeroStance = {"txt": "Do you want aggressive stance (higher reward, higher risk) or cautious one?", "loc": "dialog happens when hero leaving town"}; -locObj.ansHeroAggressiveStance = {"txt": "Aggressive! Want blood and money!", "loc": "One of the options to the locObj.dlgHeroStance question"}; -locObj.ansHeroCautiousStance = {"txt": "Cautious. What good of gold if your hero is dead?", "loc": "One of the options to the locObj.dlgHeroStance question"}; +locObj.heroFoundMoney = { "txt": "the hero found some money: %arg1", "loc": "when a chest found on Adventure Map" }; +locObj.heroStatInt = { "txt": "Intelligence", "loc": "hero stat" }; +locObj.heroStatLevel = { "txt": "Level", "loc": "hero stat" }; +locObj.heroStatAtk = { "txt": "Attack", "loc": "hero stat" }; +locObj.heroStatDef = { "txt": "Defense", "loc": "hero stat" }; +locObj.heroStatMP = { "txt": "Manapoints", "loc": "hero stat" }; +locObj.heroStatSpellpower = { "txt": "Spellpower", "loc": "hero stat" }; +locObj.heroExp = { "txt": "Experience", "loc": "hero stat" }; +locObj.heroCurrentExp = { "txt": "Current experience", "loc": "hero stat" }; +locObj.heroNextLvlExp = { "txt": "Experience required for next level", "loc": "hero stat" }; +locObj.heroClasses = { "txt": ["Knight", "Monk"], "loc": "inn tab" }; +locObj.lblClass = { "txt": "Class", "loc": "inn tab" }; +locObj.lblHeroLocation = { "txt": "Hero now is %arg1 %arg2", "loc": "inn tab" }; +locObj.heroInTown = { "txt": " in town", "loc": "used to build hero activity line" }; +locObj.heroInAutocampaign = { "txt": " in autocampaign", "loc": "used to build hero activity line" }; +locObj.heroOnAdventureMap = { "txt": " on the Adventure Map", "loc": "used to build hero activity line" }; +locObj.heroActivitiesInTown = { "txt": ["eating", "drinking", "gambling", "training", "fistfighting", "resting"], "loc": "used to build hero activity line" }; +locObj.heroActivitiesInAutocampaign = { "txt": ["marching back", "marching", "killing pagans", "converting pagans", "making a camp", "looting dead pagans"], "loc": "used to build hero activity line" }; +locObj.heroActivitiesOnAdventureMap = { "txt": ["marching", "making a camp", "looting"], "loc": "used to build hero activity line" }; +locObj.lblDistanceFromTown = { "txt": "Days from the city", "loc": "inn tab" }; +locObj.directionFromTown = { "txt": "From the city", "loc": "inn tab" }; +locObj.directionToTown = { "txt": "To the city", "loc": "inn tab" }; +locObj.goldInHerosPurse = { "txt": "Gold in hero's purse", "loc": "inn tab" }; +locObj.lblDirection = { "txt": "Direction: ", "loc": "inn tab" }; +locObj.btnDismissHero = { "txt": "Dismiss hero", "loc": "inn tab" }; +locObj.btnAutocampaignSendHero = { "txt": "Send hero to autocampaign", "loc": "inn tab" }; +locObj.btnAutocampaignWithdrawHero = { "txt": "Withdraw the hero", "loc": "inn tab" }; +locObj.btnAutocampaignOpenJournal = { "txt": "Open journal", "loc": "inn tab" }; +locObj.btnUseTowngateScroll = { "txt": "Use towngate scroll", "loc": "inn tab" }; +locObj.btnGoToAdvenureMap = { "txt": "Go to the adventure map", "loc": "inn tab" }; +locObj.btnRegenerateMap = { "txt": "Regenerate map", "loc": "inn tab" }; +locObj.msgHeroAdvancedToNextLvl = { "txt": "Your hero got promoted to the next level for his brilliant service", "loc": "event log?" }; +locObj.dlgHeroStance = { "txt": "Do you want aggressive stance (higher reward, higher risk) or cautious one?", "loc": "dialog happens when hero leaving town" }; +locObj.ansHeroAggressiveStance = { "txt": "Aggressive! Want blood and money!", "loc": "One of the options to the locObj.dlgHeroStance question" }; +locObj.ansHeroCautiousStance = { "txt": "Cautious. What good of gold if your hero is dead?", "loc": "One of the options to the locObj.dlgHeroStance question" }; //TODO add msg about hiring screen when the msg first occured -locObj.errHeroHasNoTroops = {"txt": "We need to send some troops to a hero's squad first, milord", "loc": "when trying to send hero outta city with no troops"}; -locObj.errNoHero = {"txt": "You need a hero to do that!", "loc": "when trying to invoke hero-related actions with no hero"}; +locObj.errHeroHasNoTroops = { "txt": "We need to send some troops to a hero's squad first, milord", "loc": "when trying to send hero outta city with no troops" }; +locObj.errNoHero = { "txt": "You need a hero to do that!", "loc": "when trying to invoke hero-related actions with no hero" }; //TODO use the following two -locObj.msgAfterSellToTrader = {"txt": "It is a pleasure to have a business with you. Come again.", "loc": "not used so far"}; -locObj.msgAfterBuyFromTrader = {"txt": "Congratulations with your purchase! you made good choice!", "loc": "not used so far"}; -locObj.artifactTowngateAfterUse = {"txt": "The hero is just behind the city now!", "loc": "after the artefact was used"}; -locObj.artifactErrNoTowngate = {"txt": "You don't have a Towngate scroll!", "loc": "when trying to use towngate scroll witout having one"}; -locObj.artifactErrWrongDirection = {"txt": "First, head the hero to the town!", "loc": "happens when try to cast towngate and moving from the town"}; -locObj.lblGoodForSale = {"txt": "The blackmarket's merchant offers these goods for sale!", "loc":"blackmarket tab, good for sale from the NPC"}; -locObj.lblHeroGoodsFoSale = {"txt": "The blackmarket's merchant could buy your goods.", "loc":"blackmarket tab"}; +locObj.msgAfterSellToTrader = { "txt": "It is a pleasure to have a business with you. Come again.", "loc": "not used so far" }; +locObj.msgAfterBuyFromTrader = { "txt": "Congratulations with your purchase! you made good choice!", "loc": "not used so far" }; +locObj.artifactTowngateAfterUse = { "txt": "The hero is just behind the city now!", "loc": "after the artefact was used" }; +locObj.artifactErrNoTowngate = { "txt": "You don't have a Towngate scroll!", "loc": "when trying to use towngate scroll witout having one" }; +locObj.artifactErrWrongDirection = { "txt": "First, head the hero to the town!", "loc": "happens when try to cast towngate and moving from the town" }; +locObj.lblGoodForSale = { "txt": "The blackmarket's merchant offers these goods for sale!", "loc": "blackmarket tab, good for sale from the NPC" }; +locObj.lblHeroGoodsFoSale = { "txt": "The blackmarket's merchant could buy your goods.", "loc": "blackmarket tab" }; //TODO chech the following three, they aren't in use right now for some reason! -locObj.tabBlackMarketlblPrice = {"txt": "price ", "loc": "blackmarket tab"}; -locObj.btnBuySelected = {"txt": "Buy selected", "loc": "blackmarket tab"}; -locObj.btnSellSelected = {"txt": "Sell selected", "loc": "blackmarket tab"}; -locObj.lblFirebrigade = {"txt": "Fire brigade", "loc": "firebrigade tab title"}; -locObj.lblFireServiceStatus = {"txt": "The fire service is", "loc": "fireservice service label"}; -locObj.onDuty = {"txt": "on duty", "loc":"a fire service status - enabled"}; -locObj.offDuty = {"txt": "off duty", "loc":"a fire service status - disabled"}; -locObj.lblFirebrigadeUpkeep = {"txt":"The price of sustain of the service is", "loc":"firebrigade tab"}; -locObj.fireExtinguishingProgress = {"txt": "%arg1% of fire extinguished", "loc":"firebrigade tab"}; -locObj.heroTroopsUpkeepSource = {"txt": "The primary source of payments to the hero's troops is ", "loc": "inn tab"}; -locObj.noUpkeepSergeantsDismissed = {"txt": "You can't afford upkeep your sergeants. they are dismissed", "loc":"happens in calcTurn if no money for sergeants"}; -locObj.noUpkeepTurkopolsDismissed = {"txt": "You can't afford upkeep your turkopols. they are dismissed", "loc":"happens in calcTurn if no money for turkopols"}; -locObj.noUpkeepKnightsDismissed = {"txt": "You can't afford upkeep your knights. they are dismissed", "loc":"happens in calcTurn if no money for knights"}; -locObj.noUpkeepFirebrigadeDismissed = {"txt": "You can't afford upkeep your fireguard team. they are dismissed", "loc": "happens in calcTurn if no money for firebrigade"}; +locObj.tabBlackMarketlblPrice = { "txt": "price ", "loc": "blackmarket tab" }; +locObj.btnBuySelected = { "txt": "Buy selected", "loc": "blackmarket tab" }; +locObj.btnSellSelected = { "txt": "Sell selected", "loc": "blackmarket tab" }; +locObj.lblFirebrigade = { "txt": "Fire brigade", "loc": "firebrigade tab title" }; +locObj.lblFireServiceStatus = { "txt": "The fire service is", "loc": "fireservice service label" }; +locObj.onDuty = { "txt": "on duty", "loc": "a fire service status - enabled" }; +locObj.offDuty = { "txt": "off duty", "loc": "a fire service status - disabled" }; +locObj.lblFirebrigadeUpkeep = { "txt": "The price of sustain of the service is", "loc": "firebrigade tab" }; +locObj.fireExtinguishingProgress = { "txt": "%arg1% of fire extinguished", "loc": "firebrigade tab" }; +locObj.heroTroopsUpkeepSource = { "txt": "The primary source of payments to the hero's troops is ", "loc": "inn tab" }; +locObj.noUpkeepSergeantsDismissed = { "txt": "You can't afford upkeep your sergeants. they are dismissed", "loc": "happens in calcTurn if no money for sergeants" }; +locObj.noUpkeepTurkopolsDismissed = { "txt": "You can't afford upkeep your turkopols. they are dismissed", "loc": "happens in calcTurn if no money for turkopols" }; +locObj.noUpkeepKnightsDismissed = { "txt": "You can't afford upkeep your knights. they are dismissed", "loc": "happens in calcTurn if no money for knights" }; +locObj.noUpkeepFirebrigadeDismissed = { "txt": "You can't afford upkeep your fireguard team. they are dismissed", "loc": "happens in calcTurn if no money for firebrigade" }; //TODO also add the same noUpkeepGuardsDismissed for Treasury Guards -locObj.heroTroopsUpkeepSrcHeroPurse = {"txt": "the hero's purse", "loc": "inn tab"}; -locObj.heroTroopsUpkeepSrcTreasury = {"txt": "the treasury", "loc": "inn tab"}; \ No newline at end of file +locObj.heroTroopsUpkeepSrcHeroPurse = { "txt": "the hero's purse", "loc": "inn tab" }; +locObj.heroTroopsUpkeepSrcTreasury = { "txt": "the treasury", "loc": "inn tab" }; \ No newline at end of file diff --git a/langs/ru-RU.js b/langs/ru-RU.js index 0ee37b3..033f688 100644 --- a/langs/ru-RU.js +++ b/langs/ru-RU.js @@ -60,8 +60,8 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder");//55 localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push(["placeholder","placeholder"]); -localeStrings.push(["placeholder","placeholder"]); +localeStrings.push(["placeholder", "placeholder"]); +localeStrings.push(["placeholder", "placeholder"]); localeStrings.push("placeholder");//60 localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -90,7 +90,7 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder");//85 localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push(["placeholder","placeholder","placeholder"]); +localeStrings.push(["placeholder", "placeholder", "placeholder"]); localeStrings.push("placeholder"); localeStrings.push("placeholder");//90 localeStrings.push("placeholder"); @@ -167,7 +167,7 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push(["plch","plch","plch"]);//165 +localeStrings.push(["plch", "plch", "plch"]);//165 localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -383,418 +383,420 @@ localeStrings.push("рыцари(%arg1)"); var locObj = {} //locObj.welcome2 = {"txt":"", "loc":""}; -locObj.welcome2 = {"txt":"", "loc":""}; -locObj.welcome0 = {"txt":"Приветствую вас!", "loc":"Кладём в игровой лог при инициализации игры"}; -locObj.welcome1 = {"txt":"Ваша задача проста - вам нужно управлять городом, чтобы магистру не было за вас стыдно", "loc":"там же"}; -locObj.welcome2 = {"txt":"Горожане будут платить налоги, а их популяция расти каждый сезон (30 секунд)", "loc":"там же"}; -locObj.okay = {"txt":"Хорошо", "loc":"В диалоговых окнах ознакомления"}; -locObj.skipTutorial = {"txt": "Мне не нужны советы!", "loc": "Не показывать обучающие сообщения"}; +locObj.welcome2 = { "txt": "", "loc": "" }; +locObj.welcome0 = { "txt": "Приветствую вас!", "loc": "Кладём в игровой лог при инициализации игры" }; +locObj.welcome1 = { "txt": "Ваша задача проста - вам нужно управлять городом, чтобы магистру не было за вас стыдно", "loc": "там же" }; +locObj.welcome2 = { "txt": "Горожане будут платить налоги, а их популяция расти каждый сезон (30 секунд)", "loc": "там же" }; +locObj.okay = { "txt": "Хорошо", "loc": "В диалоговых окнах ознакомления" }; +locObj.skipTutorial = { "txt": "Мне не нужны советы!", "loc": "Не показывать обучающие сообщения" }; -locObj.tutorial0_w0 = {"txt":"Ваш дядя, лендмейстер Тевтонского Ордена,\nпослал вас основать город на границе с язычниками.\nВы нашли подходящее место с холмом, рекой и лесом.\nВаши крестьяне уже расчистили площадку и готовы начать стройку", "loc":"Приветственное сообщение"}; -locObj.tutorial1_pop0 = {"txt":"Герр Комтур, вам нужно построить дома, чтобы население могло расти", "loc":"Первый раз по окончанию хода и упирания в лимит численности"}; -locObj.tutorial_defense = {"txt":"Герр Комтур, разведчики доложили о воруженных людях\n в ближайших лесах. Вам следует построить крепостную стену и обезопасить жителей", "loc":"сообщение из туториала при разблокировке защитных зданий"}; -locObj.tutorial_treasury = {"txt":"Герр Комтур, золотой запас растёт\nПостройте сокровищницу, чтобы хранить больше золота", "loc":"tutorial msg when treasury is unlocked"}; -locObj.tutorial_treasury_guards = {"txt":"Герр Комтур, теперь вы можете нанять охранников в сокровищнице\nИх наличие снижает шанс на кражу из сокровищницы", "loc":"tutorial msg when treasury is built"}; -locObj.tutorial_stash = {"txt":"Герр Комтур, воры украли золото из сокровищницы!\nПостройте тайник, чтобы спрятать часть золота", "loc":"tutorial msg when first stealing has a place"}; -locObj.tutorial_stable = {"txt":"Герр Комтур, теперь вы можете построить конюшню.\nВ конюшне вы сможете нанимать сержантов и рыцарей", "loc":"tutorial msg when reached 50 pop"}; -locObj.tutorial_archery = {"txt":"Герр Комтур, теперь вы можете построить стрельбище\nНа стрельбщие можно нанимать туркополов", "loc":"tutorial msg when reached 70 pop"}; -locObj.tutorial_inn = {"txt":"Герр Комтур, теперь вы можете построить таверну\nВ таверне можно нанять героя", "loc":"tutorial msg when tutorial msg when reached 100 pop"}; -locObj.tutorial_social = {"txt":"Герр Комтур, теперь вы можете построить виселицу или фонтан\nКаждое здание имеет свои пассивные и активные бонусы", "loc":"tutorial msg when население 120 человек"}; -locObj.tutorial_university = {"txt":"Sir Commander, now you could build Univeristy\nUniversity will allow you to research new technologies", "loc":"tutorial msg when year is 1544"}; -locObj.tutorial_firebrigade = {"txt":"Герр Комтур, вы можете нанять пожарную бригаду щелкнув по колодцу\nБригада может медленно тушить пожары\nСодержание бригады зависит от количества зданий и их уровней", "loc":"tutorial msg when fire, pop>50, year>1260"}; -locObj.tutorial_autosave = {"txt":"Герр Комтур, подумайте о том, чтобы включить автосохранение в Настройках", "loc":"tutorial.Triggered by 10 first ticks"}; -locObj.tutorial_moving_troops = {"txt":"Герр Комтур, кнопки около числа юнитов позволяют ими управлять\nСтрелка перемещает юнит, двойная стрелка перемещает всех юнитов группы,\nX кнопка увольняет юнит, XX кнопка увольняет всех юнитов группы", "loc":"triggered by first enter into Hiring tab"}; -locObj.tutorial_new_buildings = {"txt":"Новые здания будут доступны по мере роста населения","loc":"tutorial"} +locObj.tutorial0_w0 = { "txt": "Ваш дядя, лендмейстер Тевтонского Ордена,\nпослал вас основать город на границе с язычниками.\nВы нашли подходящее место с холмом, рекой и лесом.\nВаши крестьяне уже расчистили площадку и готовы начать стройку", "loc": "Приветственное сообщение" }; +locObj.tutorial1_pop0 = { "txt": "Герр Комтур, вам нужно построить дома, чтобы население могло расти", "loc": "Первый раз по окончанию хода и упирания в лимит численности" }; +locObj.tutorial_defense = { "txt": "Герр Комтур, разведчики доложили о воруженных людях\n в ближайших лесах. Вам следует построить крепостную стену и обезопасить жителей", "loc": "сообщение из туториала при разблокировке защитных зданий" }; +locObj.tutorial_treasury = { "txt": "Герр Комтур, золотой запас растёт\nПостройте сокровищницу, чтобы хранить больше золота", "loc": "tutorial msg when treasury is unlocked" }; +locObj.tutorial_treasury_guards = { "txt": "Герр Комтур, теперь вы можете нанять охранников в сокровищнице\nИх наличие снижает шанс на кражу из сокровищницы", "loc": "tutorial msg when treasury is built" }; +locObj.tutorial_stash = { "txt": "Герр Комтур, воры украли золото из сокровищницы!\nПостройте тайник, чтобы спрятать часть золота", "loc": "tutorial msg when first stealing has a place" }; +locObj.tutorial_stable = { "txt": "Герр Комтур, теперь вы можете построить конюшню.\nВ конюшне вы сможете нанимать сержантов и рыцарей", "loc": "tutorial msg when reached 50 pop" }; +locObj.tutorial_archery = { "txt": "Герр Комтур, теперь вы можете построить стрельбище\nНа стрельбщие можно нанимать туркополов", "loc": "tutorial msg when reached 70 pop" }; +locObj.tutorial_inn = { "txt": "Герр Комтур, теперь вы можете построить таверну\nВ таверне можно нанять героя", "loc": "tutorial msg when tutorial msg when reached 100 pop" }; +locObj.tutorial_social = { "txt": "Герр Комтур, теперь вы можете построить виселицу или фонтан\nКаждое здание имеет свои пассивные и активные бонусы", "loc": "tutorial msg when население 120 человек" }; +locObj.tutorial_university = { "txt": "Sir Commander, now you could build Univeristy\nUniversity will allow you to research new technologies", "loc": "tutorial msg when year is 1544" }; +locObj.tutorial_firebrigade = { "txt": "Герр Комтур, вы можете нанять пожарную бригаду щелкнув по колодцу\nБригада может медленно тушить пожары\nСодержание бригады зависит от количества зданий и их уровней", "loc": "tutorial msg when fire, pop>50, year>1260" }; +locObj.tutorial_autosave = { "txt": "Герр Комтур, подумайте о том, чтобы включить автосохранение в Настройках", "loc": "tutorial.Triggered by 10 first ticks" }; +locObj.tutorial_moving_troops = { "txt": "Герр Комтур, кнопки около числа юнитов позволяют ими управлять\nСтрелка перемещает юнит, двойная стрелка перемещает всех юнитов группы,\nX кнопка увольняет юнит, XX кнопка увольняет всех юнитов группы", "loc": "triggered by first enter into Hiring tab" }; +locObj.tutorial_new_buildings = { "txt": "Новые здания будут доступны по мере роста населения", "loc": "tutorial" } -locObj.story1_catastrophe = {"txt":"Ваши войска схватили ведьму. Суд был быстрым.\nПока люди собирались, чтобы посмотреть казнь, ведьма начала петь.\nКогда языки огня коснулись её ног, её пение перешло в крик.\nВ этот момент с ясного неба ударила молния титанической силы\nровно в центр кострища...", "loc":"tutorial msg катастрофа"}; -locObj.story2_two_steps = {"txt":"Вы увидели крестьян, в ужасе убегающих от уродливых монстров, коих никогда не раньше не встречали ни вы, ни ваши братья\nВаш отряд победил монстров, и вы спросили крестьян, что случилось.\nОни ответили, что тролли выбесились, потому что крестьяне не смогли заплатить за право прохода по их теснине", "loc":"tutorial. when you step 2 times from city"}; +locObj.story1_catastrophe = { "txt": "Ваши войска схватили ведьму. Суд был быстрым.\nПока люди собирались, чтобы посмотреть казнь, ведьма начала петь.\nКогда языки огня коснулись её ног, её пение перешло в крик.\nВ этот момент с ясного неба ударила молния титанической силы\nровно в центр кострища...", "loc": "tutorial msg катастрофа" }; +locObj.story2_two_steps = { "txt": "Вы увидели крестьян, в ужасе убегающих от уродливых монстров, коих никогда не раньше не встречали ни вы, ни ваши братья\nВаш отряд победил монстров, и вы спросили крестьян, что случилось.\nОни ответили, что тролли выбесились, потому что крестьяне не смогли заплатить за право прохода по их теснине", "loc": "tutorial. when you step 2 times from city" }; -locObj.unit_sergeants = {"txt": "Сержанты", "loc": "Лог автобоя, юнит игрока"}; -locObj.unit_turkopols = {"txt": "Туркополы", "loc": "Лог автобоя, юнит игрока"}; -locObj.unit_knights = {"txt": "Братья-рыцари", "loc": "Лог автобоя, юнит игрока"}; +locObj.unit_sergeants = { "txt": "Сержанты", "loc": "Лог автобоя, юнит игрока" }; +locObj.unit_turkopols = { "txt": "Туркополы", "loc": "Лог автобоя, юнит игрока" }; +locObj.unit_knights = { "txt": "Братья-рыцари", "loc": "Лог автобоя, юнит игрока" }; -locObj.unit_bandit = {"txt": "Бандиты", "loc": "Лог автобоя, противник"}; -locObj.unit_bandit_archer = {"txt": "Бандиты лучники", "loc": "Лог автобоя, противник"}; -locObj.unit_merc_swordman = {"txt": "Наемники мечники", "loc": "Лог автобоя, противник более высокого уровня"}; -locObj.unit_merc_spearman = {"txt": "Наемники копейщики", "loc": "Лог автобоя, противник более высокого уровня"}; -locObj.unit_goblin = {"txt": "Гоблины", "loc": "Лог автобоя, противник"}; +locObj.unit_bandit = { "txt": "Бандиты", "loc": "Лог автобоя, противник" }; +locObj.unit_bandit_archer = { "txt": "Бандиты лучники", "loc": "Лог автобоя, противник" }; +locObj.unit_merc_swordman = { "txt": "Наемники мечники", "loc": "Лог автобоя, противник более высокого уровня" }; +locObj.unit_merc_spearman = { "txt": "Наемники копейщики", "loc": "Лог автобоя, противник более высокого уровня" }; +locObj.unit_goblin = { "txt": "Гоблины", "loc": "Лог автобоя, противник" }; -locObj.autobattle_journal_btn = {"txt": "Журнал битв", "loc": "В окне таверны, показывает ход битвы по раундам"}; -locObj.autobattle_journal_log_start = {"txt": "Начало раунда", "loc": "Показывает начало раунда"}; -locObj.autobattle_journal_log_end = {"txt": "Конец раунда", "loc": "Показывает конец раунда"}; -locObj.autobattle_journal_log_dmg = {"txt": "Отряд %arg1 наносит %arg2 ед. урона по %arg3.", "loc": "Лог боя со значениями нанесенного урона"}; -locObj.autobattle_journal_log_dead = {"txt": "Погибло %arg1 %arg2.", "loc": "Лог боя с кол-вом погибших"}; -locObj.autobattle_journal_log_destroyed = {"txt": "Отряд %arg1 уничтожен.", "loc": "Отряд уничтожен"}; +locObj.autobattle_journal_btn = { "txt": "Журнал битв", "loc": "В окне таверны, показывает ход битвы по раундам" }; +locObj.autobattle_journal_log_start = { "txt": "Начало раунда", "loc": "Показывает начало раунда" }; +locObj.autobattle_journal_log_end = { "txt": "Конец раунда", "loc": "Показывает конец раунда" }; +locObj.autobattle_journal_log_dmg = { "txt": "Отряд %arg1 наносит %arg2 ед. урона по %arg3.", "loc": "Лог боя со значениями нанесенного урона" }; +locObj.autobattle_journal_log_dead = { "txt": "Погибло %arg1 %arg2.", "loc": "Лог боя с кол-вом погибших" }; +locObj.autobattle_journal_log_destroyed = { "txt": "Отряд %arg1 уничтожен.", "loc": "Отряд уничтожен" }; -locObj.advmap = {"txt":"Для движения героя, используй клавиши-стрелки\nДля поддержки сенсорного экрана, включите Мобильный UI в настройках", "loc":"когда впервые игрок посещает карту приключений"}; -locObj.plague_turk = {"txt":"на краю: один из лучников увидел чумного человека и пристрелил его. Тело чумного сожгли", "loc":"Случайное событие - чума. Туркопол предотвратил чуму"}; -locObj.plague_army = {"txt":"фигня случается: вспышка чумы была остановлена гарнизоном, но унесла жизни %arg1 ваших солдат", "loc":"Случайное событие - чума. Остановлена гарнизоном с потерями в гарнизоне"}; -locObj.plague = {"txt":"фигня случается: чума унесла жизни %arg1 жителей", "loc":"Случайное событие - чума. Вариант по умолчанию + вариант, когда армия не справилась с чумой"}; -locObj.new_adepts = {"txt":"Люди услышали, что любой крестившийся получает подарки от церкви, и пришли в ожидании даров: %arg1","loc":"случайное событие миграция 1"}; -locObj.people_arrive = {"txt":"Люди услышали, что вы добрый правитель, и пришли к вам: %arg1","loc":"случайное событие миграция 2"}; -locObj.people_leave = {"txt":"Люди покинули вас из-за вашей жестокости. Ушло: %arg1","loc":"случайное событие миграция 3"}; -locObj.city_chest_gold = {"txt":"Вы нашли в %arg1 золота в сундуке!", "loc":"Случайное событие. Сундук. Открытие сундука на экране города"}; -locObj.blackmarket_dstr = {"txt":"Высокий, толстопузый зеленокожий гоблин, назвавшийся Элвенконингом,\n предложил вам разнообразные магические артефакты.\nВы, как истинный христианин, брат Тевтоноского ордена, оскорбились.\nПервая мысль была убить нечисть и сжечь рынок.\nС другой стороны, магические артефакты могут пригодиться в этом мире.\nЧто вы сделаете?", "loc":"This dialogue happens every time you first visit blackmarket on the newly generated map"}; -locObj.blackmarket_dstr_brn = {"txt":"Убить гоблина и сжечь его рынок!", "loc":"Destroying the blackmarket"}; -locObj.blackmarket_dstr_kp = {"txt":"Начать торговлю", "loc":"Keeping the blackmarket"}; -locObj.borderCollide = {"txt":"Вы врезались в невидимую границу. Вы не можете пройти дальше", "loc":"Карта приключений. Столкновение с границей"}; +locObj.advmap = { "txt": "Для движения героя, используй клавиши-стрелки\nДля поддержки сенсорного экрана, включите Мобильный UI в настройках", "loc": "когда впервые игрок посещает карту приключений" }; +locObj.plague_turk = { "txt": "на краю: один из лучников увидел чумного человека и пристрелил его. Тело чумного сожгли", "loc": "Случайное событие - чума. Туркопол предотвратил чуму" }; +locObj.plague_army = { "txt": "фигня случается: вспышка чумы была остановлена гарнизоном, но унесла жизни %arg1 ваших солдат", "loc": "Случайное событие - чума. Остановлена гарнизоном с потерями в гарнизоне" }; +locObj.plague = { "txt": "фигня случается: чума унесла жизни %arg1 жителей", "loc": "Случайное событие - чума. Вариант по умолчанию + вариант, когда армия не справилась с чумой" }; +locObj.new_adepts = { "txt": "Люди услышали, что любой крестившийся получает подарки от церкви, и пришли в ожидании даров: %arg1", "loc": "случайное событие миграция 1" }; +locObj.people_arrive = { "txt": "Люди услышали, что вы добрый правитель, и пришли к вам: %arg1", "loc": "случайное событие миграция 2" }; +locObj.people_leave = { "txt": "Люди покинули вас из-за вашей жестокости. Ушло: %arg1", "loc": "случайное событие миграция 3" }; +locObj.city_chest_gold = { "txt": "Вы нашли в %arg1 золота в сундуке!", "loc": "Случайное событие. Сундук. Открытие сундука на экране города" }; +locObj.blackmarket_dstr = { "txt": "Высокий, толстопузый зеленокожий гоблин, назвавшийся Элвенконингом,\n предложил вам разнообразные магические артефакты.\nВы, как истинный христианин, брат Тевтоноского ордена, оскорбились.\nПервая мысль была убить нечисть и сжечь рынок.\nС другой стороны, магические артефакты могут пригодиться в этом мире.\nЧто вы сделаете?", "loc": "This dialogue happens every time you first visit blackmarket on the newly generated map" }; +locObj.blackmarket_dstr_brn = { "txt": "Убить гоблина и сжечь его рынок!", "loc": "Destroying the blackmarket" }; +locObj.blackmarket_dstr_kp = { "txt": "Начать торговлю", "loc": "Keeping the blackmarket" }; +locObj.borderCollide = { "txt": "Вы врезались в невидимую границу. Вы не можете пройти дальше", "loc": "Карта приключений. Столкновение с границей" }; -locObj.campaignTitle = {"txt":"Кампания-%arg1","loc":"Заголовок аккоредона в логах автокампании"}; -locObj.autobattleTitle = {"txt": "Битва-%arg1", "loc": "Заголовок аккордеона в логах битвы"}; +locObj.campaignTitle = { "txt": "Кампания-%arg1", "loc": "Заголовок аккоредона в логах автокампании" }; +locObj.autobattleTitle = { "txt": "Битва-%arg1", "loc": "Заголовок аккордеона в логах битвы" }; -locObj.upgCostSidebar = {"txt":"Улучшение до %arg1 уровня стоит %arg2 золотых", "loc":"Показывается под описанием строения в левом экране при улучшениях"}; -locObj.bldCostSidebar = {"txt":"Строительство стоит %arg2 золотых", "loc":"Показывается под описанием строения в левом экране при первоначальном строительстве"}; +locObj.upgCostSidebar = { "txt": "Улучшение до %arg1 уровня стоит %arg2 золотых", "loc": "Показывается под описанием строения в левом экране при улучшениях" }; +locObj.bldCostSidebar = { "txt": "Строительство стоит %arg2 золотых", "loc": "Показывается под описанием строения в левом экране при первоначальном строительстве" }; -locObj.knightLearnCurve = {"txt":"Имеет высокий шанс улучшить Атаку при повышении уровня", "loc":"краткое описание класса в таверне"}; -locObj.monkLearnCurve = {"txt":"Имеет высокий шанс улучшить Защиту при повышении уровня", "loc":"краткое описание класса в таверне"}; -locObj.heroClassKnight = {"txt":"Рыцарь", "loc":"Имя класса в таверне"}; -locObj.heroClassMonk = {"txt":"Монах", "loc":"Имя класса в таверне"}; +locObj.knightLearnCurve = { "txt": "Имеет высокий шанс улучшить Атаку при повышении уровня", "loc": "краткое описание класса в таверне" }; +locObj.monkLearnCurve = { "txt": "Имеет высокий шанс улучшить Защиту при повышении уровня", "loc": "краткое описание класса в таверне" }; +locObj.heroClassKnight = { "txt": "Рыцарь", "loc": "Имя класса в таверне" }; +locObj.heroClassMonk = { "txt": "Монах", "loc": "Имя класса в таверне" }; -locObj.heroLvlLbl = {"txt":"уровень", "loc":"Надпись в таверне при найме"}; -locObj.heroStatsLbl = {"txt":"Статы:", "loc":"Надпись в таверне при найме"}; -locObj.heroStatsAtkLbl = {"txt":"Атака", "loc":"Надпись в таверне при найме"}; -locObj.heroStatsDefLbl = {"txt":"Защита", "loc":"Надпись в таверне при найме"}; -locObj.heroStatsMpowLbl = {"txt":"Сила магии", "loc":"Надпись в таверне при найме"}; -locObj.heroStatsIntLbl = {"txt":"Интеллект", "loc":"Надпись в таверне при найме"}; +locObj.heroLvlLbl = { "txt": "уровень", "loc": "Надпись в таверне при найме" }; +locObj.heroStatsLbl = { "txt": "Статы:", "loc": "Надпись в таверне при найме" }; +locObj.heroStatsAtkLbl = { "txt": "Атака", "loc": "Надпись в таверне при найме" }; +locObj.heroStatsDefLbl = { "txt": "Защита", "loc": "Надпись в таверне при найме" }; +locObj.heroStatsMpowLbl = { "txt": "Сила магии", "loc": "Надпись в таверне при найме" }; +locObj.heroStatsIntLbl = { "txt": "Интеллект", "loc": "Надпись в таверне при найме" }; -locObj.equipmentTitle = {"txt": "Экипировано", "loc": "Заглавие экипированных элементов"}; +locObj.equipmentTitle = { "txt": "Экипировано", "loc": "Заглавие экипированных элементов" }; -locObj.moneyExceedsTreasury = {"txt":"Герр Комтур! Сумма денег в казне и в кошелке героя превышает объем казны. Постройте или улучшите вашу сокровищницу сейчас, чтобы избежать потери денег.", "loc":"checking function which indicated if player needs to upgrade his treasury"}; +locObj.moneyExceedsTreasury = { "txt": "Герр Комтур! Сумма денег в казне и в кошелке героя превышает объем казны. Постройте или улучшите вашу сокровищницу сейчас, чтобы избежать потери денег.", "loc": "checking function which indicated if player needs to upgrade his treasury" }; -locObj.glyphKnightTile = {"txt": "Глиф Рыцарской Доблести", "loc": "Имя артефакта"}; -locObj.glyphKnightDesc = {"txt": "Увеличивает атаку героя на +10, увеличивает защиту героя на +6", "loc": "Описание артефакта"}; +locObj.glyphKnightTile = { "txt": "Глиф Рыцарской Доблести", "loc": "Имя артефакта" }; +locObj.glyphKnightDesc = { "txt": "Увеличивает атаку героя на +10, увеличивает защиту героя на +6", "loc": "Описание артефакта" }; -locObj.glyphMonkTile = {"txt": "Глиф Монашеской Добродетели", "loc": "Имя артефакта"}; -locObj.glyphMonkDesc = {"txt": "Увеличивает атаку героя на +4, увеличивает защиту героя на +12", "loc": "Описание артефакта"}; +locObj.glyphMonkTile = { "txt": "Глиф Монашеской Добродетели", "loc": "Имя артефакта" }; +locObj.glyphMonkDesc = { "txt": "Увеличивает атаку героя на +4, увеличивает защиту героя на +12", "loc": "Описание артефакта" }; -locObj.goldRuneTitle = {"txt": "Руна Золотого Поиска", "loc": "Имя артефакта"}; -locObj.goldRuneDesc = {"txt": "Увеличивает награду героя золотом после боя на 7%.", "loc": "Описание артефакта"}; +locObj.goldRuneTitle = { "txt": "Руна Золотого Поиска", "loc": "Имя артефакта" }; +locObj.goldRuneDesc = { "txt": "Увеличивает награду героя золотом после боя на 7%.", "loc": "Описание артефакта" }; -locObj.lifebloodVialTitle = {"txt": "Склянка жизненной силы", "loc": "Имя артефакта"}; -locObj.lifebloodVialDesc = {"txt": "Увеличивает показатель здоровья всех юнитов армии героя на +3", "loc": "Описание артефакта"}; +locObj.lifebloodVialTitle = { "txt": "Склянка жизненной силы", "loc": "Имя артефакта" }; +locObj.lifebloodVialDesc = { "txt": "Увеличивает показатель здоровья всех юнитов армии героя на +3", "loc": "Описание артефакта" }; locObj.darkPactSwordTitle = { "txt": "Меч Темного Договора", "loc": "Имя артефакта" }; -locObj.darkPactSwordDesc = {"txt": "Увеличивает атаку героя на +15, уменьшает здоровье всех юнитов в армии героя на -35%", "loc": "Описание артефакта"}; +locObj.darkPactSwordDesc = { "txt": "Увеличивает атаку героя на +15, уменьшает здоровье всех юнитов в армии героя на -35%", "loc": "Описание артефакта" }; locObj.crusadersSwordTitle = { "txt": "Меч Крестоносца", "loc": "Имя артефакта" }; -locObj.crusadersSwordDesc = {"txt": "Увеличивает атаку всех юнитов в армии героя на +20%", "loc": "Описание артефакта"}; +locObj.crusadersSwordDesc = { "txt": "Увеличивает атаку всех юнитов в армии героя на +20%", "loc": "Описание артефакта" }; -locObj.ringStrengthTitle = {"txt": "Кольцо Силы", "loc": "Имя артефакта"}; -locObj.ringStrengthDesc = {"txt": "Увеличивает атаку героя на +5, увеличивает атаку всех юнитов в армии героя на +10%", "loc": "Описание артефакта"}; +locObj.ringStrengthTitle = { "txt": "Кольцо Силы", "loc": "Имя артефакта" }; +locObj.ringStrengthDesc = { "txt": "Увеличивает атаку героя на +5, увеличивает атаку всех юнитов в армии героя на +10%", "loc": "Описание артефакта" }; -locObj.ringProtectionTitle = {"txt": "Кольцо Защиты", "loc": "Имя артефакта"}; -locObj.ringProtectionDesc = {"txt": "Увеличивает защиту героя на +5, увеличивает защиту всех юнитов в армии героя на +10%", "loc": "Описание артефакта"}; +locObj.ringProtectionTitle = { "txt": "Кольцо Защиты", "loc": "Имя артефакта" }; +locObj.ringProtectionDesc = { "txt": "Увеличивает защиту героя на +5, увеличивает защиту всех юнитов в армии героя на +10%", "loc": "Описание артефакта" }; // TODO: #SwordRestriction remove it later locObj.swordsWarn = { "txt": 'Герой может унести только два меча!', "loc": 'Ограничение меча' }; locObj.ringsWarn = { "txt": 'Герой может надеть только два кольца!', "loc": 'Ограничение кольца' }; -locObj.advmapHeroLose = {"txt": "Ваши войска потерпели поражение и герой вынужден отступить в город.", "loc":"Происходит, когда герой терпит поражение на карте приключений"} +locObj.advmapHeroLose = { "txt": "Ваши войска потерпели поражение и герой вынужден отступить в город.", "loc": "Происходит, когда герой терпит поражение на карте приключений" } -locObj.eventHalloween = {"txt": "Хэллоуин - это про тыквы!\nСоздайте новую карту приключений, чтобы найти их\nНе забудьте пройти регистрацию и залогиниться, чтобы ваш вклад был учтён", "loc":"eventhelp"} -locObj.eventNewYear = {"txt": "Новый Год - это про снеговики! \nСоздайте новую карту приключений, чтобы найти их\nВам надо быть зарегистрированным и залогиненным, чтобы ваш вклад был учтён", "loc":"eventhelp"} -locObj.couldntRecordPledge = {"txt": "Кажется, что вы не залогинены. Ваш вклад не будет записан","loc":"сервер не смог записать вклад"} -locObj.requiredArcheryRange = {"txt":"To do that, you need to build Archery Range", "loc":"happens when trying to hire turkopols if no archery range is built"}; -locObj.requiredStables = {"txt": "Для этого вам нужно стрельбище", "loc":"happens when trying to hire sergeants if no stables built"}; -locObj.requiredStablesUpgrade = {"txt": "Для этого нужно улучшить конюшни до %arg1 уровня", "loc":"happens when trying to hire knights and stables level too low"}; -locObj.deadCounselorDemolish = {"txt":"Ваш советник умер.\nНовоиспеченный советник рекомендует вам\nпересмотреть выбор, сделанный в прошлом:\n-настало время, милорд, когда вы решаете, что лучше для нашего города.\n-если вы согласны, %arg1 будет снесен, а на его месте мы построим %arg2", "loc":""} -locObj.demolishGallows = {"txt": "виселицу", "loc": "your choice in deadCounselorDemolish dialogue"}; -locObj.fountainUnlock = {"txt": "фонтант", "loc": "will be unlocked in deadCounselorDemolish dialogue"}; -locObj.demolishFountain = {"txt": "фонтан", "loc": "your choice in deadCounselorDemolish dialogue"}; -locObj.gallowsUnlock = {"txt": "виселицу", "loc": "will be unlocked in deadCounselorDemolish dialogue"}; -locObj.deadCounselorDemolishAnsYes = {"txt":"Да, сносим это здание", "loc":"Positive answer"} -locObj.buy = {"txt":"Купить", "loc":"На предмете для продажи Черного Рынка Гоблина"}; -locObj.sell = {"txt":"Продать", "loc":"На предмете для продажи Черного Рынка Гоблина"}; -locObj.buildArchery = {"txt":"Стрельбище позволяет нанимать конных лучников. Сначала нужно построить конюшни", "loc":"ошибка при постройке стрельбища"}; -locObj.buildUpgradeTreasury = {"txt":"постройте или улучшите вашу Сокровищницу", "loc":"the endturn tip in case of overflowing gold amount"} -locObj.moneyIncreased = {"txt":"казна пополняется, милорд!", "loc":"happens when s-to-s money value increased"}; -locObj.moneyDecreased = {"txt":"казна пустеет, милорд", "loc":"happens when s-to-s money value decreased"}; -locObj.popIncreased = {"txt":"население растет!", "loc":"happens when s-to-s population value increased"}; -locObj.popDecreased = {"txt":"население убывает", "loc":"happens when s-to-s population value decreased"}; -locObj.requiredFieldsNotFilled = {"txt": "Требуемые поля не заполнены!", "loc":"happens in case of empty fields like login, password, etc"}; -locObj.buildUpgradeHouse = {"txt":"ваш город достиг максимальной численности; постройте или улучшите дома", "loc":"the endturn tip in case of overpopulating"}; -locObj.savedSuccessfully = {"txt":"игра сохранена успешно", "loc":"when manual save completed successfully"}; -locObj.loadedSuccessfully = {"txt":"игра загружена успешно", "loc":"when loaded completed successfully"}; -locObj.dialogLoadGame = {"txt":"Загрузить игру? Вы потеряете весь несохраненный прогресс!", "loc":"confirmation dialogue over loading game"}; -locObj.noSaveGame = {"txt":"Извините, но сохраненных игр нет!", "loc":"in case there is no savegame"}; -locObj.dialogSaveGame = {"txt":"Сохранить игру? Это перезапишет текущее сохранение, если у вас такое есть", "loc":"when trying to save game or overwriting existing savegame"}; -locObj.loadGameFromStringEmpty = {"txt":"Пожалуйста, вставьте сохранение", "loc":"happens when the loadgame input is empty"}; -locObj.loadGameFromStringError = {"txt":"Не получается загрузиться из этой строки", "loc":"happens when the loadgame input is incorrect or couldn't be processed"}; -locObj.lblLongSaveString = {"txt":"очень длинная строка", "loc":"label near input fielf for savegame string"}; -locObj.dialogConfirmHireGuard = {"txt":"Вы хотите нанять охранника? Это будет стоить %arg1 золотых сразу\nи %arg2 золотых за каждый сезон", "loc":"hiring treasury guard confirmation dialogue"}; -locObj.hiredGuardsman = {"txt":"Вы наняли охранника", "loc":"after succesfully hired a guardsman"}; -locObj.notEnoughGold = {"txt":"Недостаточно золота!", "loc":"not enough gold"}; -locObj.treasuryRequired = {"txt":"Для найма охранника необходима Сокровищница!", "loc":"happens when trying to hire gaurdsman without a treasury"}; -locObj.dialogConfirmDismssGuardsman = {"txt":"Уволить охранника?", "loc":"happens when try to dismiss one guardsman"}; -locObj.dismissedGuardsman = {"txt":"Вы уволили охранника", "loc":"happens after dismissing a guardsman"}; -locObj.noGuardsman = {"txt":"У вас нет охранников", "loc":"happens when trying to dismiss guardsman when there are none of them"}; -locObj.execReasons = [{"txt":"предательство", "loc":"when executing a person"}, - {"txt":"шпионаж", "loc":""}, - {"txt":"коррупцию", "loc":""}, - {"txt":"подкуп", "loc":""}, - {"txt":"казнокрадство", "loc":""}, - {"txt":"кражи", "loc":""}]; -locObj.techArtilleryResearched = {"txt":"You researched the artillery technology!", "loc":"Happens when the tech is discovered"}; -locObj.bldUniversityButton = {"txt":"Построить университет
%arg2 золотых", "loc":"the label of the button of building the University on the building tab"}; -locObj.eventWillStart = {"txt":" ивент начнется через", "loc":"shows on the status bar if an event was announced"}; -locObj.eventWillEnd = {"txt":" ивент закончится через", "loc":"shows on the status bar if an event was started"}; -locObj.eventHalloweenName = {"txt":"Хэллуин", "loc":"shows on the status bar if the event announced or online"}; -locObj.eventNewYearName = {"txt":"Новогодний", "loc":"shows on the status bar if the event announced or online"}; -locObj.yes = {"txt":"Да", "loc":"Positive answer, happens in modal dialogues"}; -locObj.yesKillBloody = {"txt":"Да, и наиболее кроваво!", "loc":"NOT USED YET"}; -locObj.no = {"txt":"Нет", "loc":"Negative answer, happens in modal dialogues"}; -locObj.serverStatusSpn = {"txt": "Сервер: ", "loc":"showed in the status bar"}; -locObj.serverStatusND = {"txt":"н/д", "loc":"server status is no data"}; -locObj.serverStatusUp = {"txt":"поднят", "loc":"server status is Up"}; -locObj.serverStatusDown = {"txt":"лежит", "loc":"server status is Down"}; -locObj.online = {"txt":"Онлайн: ", "loc":"label before the online users counter"}; -locObj.onlineValueND = {"txt":"н/д", "loc":"online users numbers has no data"}; -locObj.errCityLevelTooLowForSendingMsg = {"txt":"Герр Комтур, уровень вашего города слишком низок\n для отправки сообщений другим Лордам", "loc":"happens when low-level user try to send msg in chat"} -locObj.userCntOne = {"txt":"юзер", "loc":"(one) user"}; -locObj.userCntTwoPlus = {"txt":"юзеров", "loc":"two or more users"}; -locObj.savedCloudSuccessfully = {"txt":"игра успешно сохранена в Облако", "loc":"when cloud save completed successfully"}; -locObj.errNoCloudSave = {"txt":"у вас нет сохранения в Облаке", "loc":"could happen when trying to load a savegame from DB"}; -locObj.errGettingCloudSave = {"txt":"ошибка при попытке получить сохранение из Облака","loc":"could happen when trying to get a savegame from backend"}; -locObj.errLoadingCloudSave = {"txt":"ошибка при загрузке в игру облачного сохранения","loc":"could happen while loading cloudsave"}; -locObj.errGetSaveEndpoint = {"txt":"ошибка сервера. Вы вошли в аккаунт? Сервер поднят?","loc":"endpoint error from /get_savegame"}; -locObj.executedMsg = {"txt": "вы казнили горожанина за %arg1", "loc":"eventlog after the execution"}; -locObj.executedGainMsg = {"txt": "%arg1 золотых конфисковано", "loc": "eventlog after the execution"}; -locObj.executionAborted = {"txt":"слишком мало жителей", "loc":"happens if you have too low amount of citizens"}; -locObj.cantUpkeepTreasuryGuards = {"txt": "охранники уволились, потому что вам нечем платить жалование!", "loc":"in calculateTurn in case of money deficite"}; -locObj.fireInCity = {"txt": "пожар в городе!", "loc":"happens as part of random events"}; -locObj.rqtsHome = {"txt": "Разблокируется событием", "loc":"Requirements for homes"}; -locObj.rqtsDef = {"txt": "Разблокируется событием", "loc":"Requirements for defense buildings"}; -locObj.rqtsTreasury = {"txt": "Для разблокировки требуется %arg1 золота", "loc":"Reqs for Treasury building"}; -locObj.rqtsGallows = {"txt":"Для разблокировки требуется %arg1 жителей", "loc":"Reqs for Gallows"}; -locObj.rqtsFountain = {"txt":"Для разблокировки требуется %arg1 жителей", "loc":"Reqs for Fountain"}; -locObj.rqtsStash = {"txt":"Requires Treasury and Unlocks by an event", "loc":"Reqs for Fountain"}; -locObj.rqtsStables = {"txt":"Для разблокировки требуется %arg1 жителей", "loc":"Reqs for Stables"}; -locObj.rqtsArcheryRange = {"txt": "Requires %arg1 citizens and Stables", "loc":"Reqs for Archery Range"}; -locObj.rqtsInn = {"txt":"Для разблокировки требуется %arg1 жителей", "loc":"Reqs for Inn"}; -locObj.rqtsUniversity = {"txt":"Разблокируется в %arg1. Текущий год: %arg2", "loc":"Reqs for Konigsberg University"}; -locObj.rqtsCatherdal = {"txt":"Unlocks in 1380", "loc": "Reqs for Königsberg Cathedral"}; -locObj.helpDef = {"txt":"Это здание нужно для защиты города от захватчиков", "loc":"help message in the building tab"}; -locObj.helpHome = {"txt": "Это здание и его улучшения нужны, чтобы поднять лимит населения", "loc":"help msg in the building tab"}; -locObj.helpTreasury = {"txt":"Это здание и его улучшения нужны, чтобы поднять лимит золота.
Это здание позволит вам нанять охранников.
Они нужны, чтобы уменьшить шанс кражи из казны.", "loc":"help msg in the building tab"}; -locObj.helpGallows = {"txt":"Это здание и его улучшения нужны, чтобы можно было казнить горожан.
Также повышает налоговые поступления, уменьшает рождаемость и счастье горожан.
Если вы построите это здание, вы не сможете построить фонтан!", "loc":"help msg in the building tab"}; -locObj.helpFountain = {"txt":"Это здание и его улучшения нужны, чтобы проводить фестивали.
Повышает рождаемость и счастье горожан, а также уменьшает налоговые поступления.
Если вы построите это здание, вы не сможете построить виселицу!", "loc":"help msg in the building tab"}; -locObj.helpStash = {"txt":"Это здание и его улучшения нужны, чтобы сохранить ваши деньги от воров, в случае если они обкрадут сокровищницу.
Более высокий уровень тайника позволяет спрятать больше денег","loc":"help msg in the building tab"}; -locObj.helpStables = {"txt":"Это здание и его улучшения нужны, чтобы нанимать конницу.
Более высокий уровень конюшни позволит нанимать более опытные войска", "loc":"help msg in the building tab"}; -locObj.helpArcheryRange = {"txt":"Это здание и его улучшения нужны, чтобы нанимать лучников.
Более высокий уровень стрельбища позволит нанимать более опытные войска", "loc":"help msg in the building tab"}; -locObj.helpInn = {"txt":"Это здание и его улучшения нужны, чтобы нанимать героев.
Более высокий уровень таверны позволит нанимать более опытных героев", "loc":"help msg in the building tab"}; -locObj.helpUniversity = {"txt":"Это здание необходимо для исследования новых технологий.", "loc":"User saw this when moving the coursor above the university icon in Building tab"}; -locObj.callFiremen = {"txt":"Вызвать пожарных? Это будет стоить %arg1 золота", "loc":"dialog happens when trying to get rid off the fire"}; -locObj.fireEndedByFireservice = {"txt": "пожарные погасили огонь!", "loc":"happens after firemen ended the fire"}; -locObj.burnToAshes = {"txt": "будет гореть дотла!", "loc":"happens if player decided not to pay to firemen"}; -locObj.rndEventsStealing = {"txt": "фигня случается: воры украли %arg1 золота из вашей казны", "loc":"random events, stealings"}; -locObj.rndEventsLotteryWon = {"txt": "вы выиграли в лотерею %arg1 золота", "loc":"random events lottery won msg"}; -locObj.locSaveGame= {"txt": "Сохранить игру", "loc":"browser-wide savegame"}; -locObj.locLoadGame = {"txt": "Загрузить игру", "loc":"load save from localStorage of the browser"}; -locObj.tabCity = {"txt":"Город", "loc":"tabname in the tab bar"}; -locObj.tabSettings = {"txt":"Настройки", "loc": "tabname Settings in the tab bar"}; -locObj.tabBuilding = {"txt": "Строительство", "loc": "tabname Building in the tab bar"}; -locObj.tabHowToPlay = {"txt": "Как играть", "loc":"tabname How To Play, about and stuff in da bar"}; -locObj.tabDiscord = {"txt": "Discord", "loc": "tabname Discord with a Discord widget"}; -locObj.btnPutOutTheFire = {"txt": "Потушить огонь", "loc": "button to extinguish the fire"}; -locObj.btnExecutePerson = {"txt": "Казнить человека", "loc": "button to execute somebody"}; -locObj.festivalConfirm = {"txt": "Вы хотите устроить фестиваль?\nЭто будет стоить %arg1 золота\n", "loc":"place festival confirmation dialogue"}; -locObj.festivalConfirmCooldown = {"txt":"Фестиваль был проведен не так давно.\nЭффект от фестиваля будет снижен.\n", "loc":"happens in case of Cooldown of the festivals"}; -locObj.eventItemCollected = {"txt": "Взят ивентовый предмет!", "loc": "happens when gathered an event item"}; -locObj.eventPledgeRecorded = {"txt": "Ваш вклад записан!", "loc": "happens when the pledge was successfully recorded"}; -locObj.eventPledgeError = {"txt": "Your pledge couldn't be recorded. Are you logged in?", "loc": "happens when the pledge wasn't recorded"}; -locObj.festivalGain = {"txt": "Ваша прибыль от фестиваля %arg1", "loc":"happens if the festival was profitable for budget"}; -locObj.festivalLoss = {"txt": "Ваш убыток от фестиваля %arg1", "loc":"happens if the festival was unprofitable for budget"}; -locObj.errAlreadyHasHero = {"txt": "У вас уже есть герой!", "loc":"happens when trying to hire a hero, when you have one hired"}; -locObj.autosaveTurnedOn = {"txt": "Автосохранение включено", "loc": "happens when autosave enabled"}; -locObj.autosaveTurnedOff = {"txt": "Автосохранение выключено", "loc": "happens when autosave disabled"}; -locObj.GallowsFountainChoiceConfirm = {"txt": "Вы собираетесь построить %arg1.\nЕсли вы построите это здание, вы не сможете построить %arg2.\nВы уверены в вашем выборе?", "loc":"happens when you are about to build Fountain or Gallows"}; -locObj.GallowsChoiceConfirm = {"txt": "виселицу", "loc": "your choice in GallowsFountainChoiceConfirm dialogue"}; -locObj.FountainBlocked = {"txt": "фонтан", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue"}; -locObj.FountainChoiceConfirm = {"txt": "фонтан", "loc": "your choice in GallowsFountainChoiceConfirm dialogue"}; -locObj.GallowsBlocked = {"txt": "виселицу", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue"}; -locObj.noStatsYet = {"txt": "Пока нечего показать. Попробуйте позже", "loc":"happens when trying to open gold/pop stats"}; -locObj.tabSettings = {"txt": "Настройки", "loc":"Settings tab name"}; -locObj.tabSettingsBtnExportGame = {"txt": "Экспорт сохранения", "loc":"Export game button"}; -locObj.tabSettingsBtnImportGame = {"txt": "Импорт сохранения", "loc":"Import game button"}; -locObj.tabSettingsLblAutosave = {"txt": "Автосохранение", "loc": "Autsave label before the toggle"}; -locObj.tabSettingsBtnChangeColorMode = {"txt": "Сменить цветовой режим", "loc": "settings tab change colour mode button"}; -locObj.tabSoundSettingsLblOption = {"txt": "Опция", "loc":"Sound settings tab, name of the option"}; -locObj.on = {"txt": "Включено", "loc": "used on Sound Settings tab"}; -locObj.off = {"txt": "Выключено", "loc": "used on Sounds Settings tab"}; -locObj.tabSoundSettingsLblAllSoundEffects = {"txt": "Все звуковые эффекты", "loc": "sound settings tab"}; -locObj.tabSoundSettingsLblAllEventsEffects = {"txt":"Эффекты всех событий", "loc": "sound settings tab"}; -locObj.tabSoundSettingsLblEffectsAR = {"txt": "Эффекты событий, где нужна ваша реакция", "loc":"sound settings tab"}; -locObj.tabSoundSettingsAllMusic = {"txt": "Вся музыка", "loc":"sound settings tab"}; -locObj.tabSoundSettingsScMusic = {"txt": "Музыка сценариев", "loc": "sounds settings tab"}; -locObj.btnBack = {"txt": "Назад", "loc":"sound settings tab"}; -locObj.lblSoundMenu = {"txt": "Настройки музыки и эффектов", "loc": "sounds settings tab"}; -locObj.tabSettingsBtnOpenSoundSettings = {"txt": "Открыть звуковые настройки", "loc":"settings tab"}; -locObj.tabSettingsLblMobileUI = {"txt": "Мобильный вид", "loc": "settings tab"}; -locObj.tabSettingsLblLogSize = {"txt":"Размер лога событий", "loc": "settings tab"}; -locObj.tabSettingsLblLines = {"txt": "строк", "loc": "settings tab"}; -locObj.goldAddedToTreasury = {"txt": "Сокровищница была пополнена на %arg1 золота", "loc":"gold added when a hero returned to the city"}; -locObj.amber = {"txt": "Янтарь - самая ценная валюта в игре", "loc": "happens on click on amber"}; -locObj.lblGarrison = {"txt": "Гарнизон", "loc": "label in Garrison tab"}; -locObj.btnFire = {"txt": "Уволить", "loc": "button in Garrison tab"}; -locObj.btnHire = {"txt": "Нанять", "loc": "button in Garrison tab"}; -locObj.imgCastellan = {"txt": "Кастелян", "loc": "troops management screen"}; -locObj.imgHero = {"txt":"Герой","loc":"troops management screen"}; -locObj.imgBrotherSergeants = {"txt": "братья-сержанты", "loc": "troops management screen"}; -locObj.imgTurkopols = {"txt": "туркополы", "loc": "troops management screen"}; -locObj.imgBrotherKnights = {"txt": "братья-рыцари", "loc": "troops management screen"}; -locObj.btnBuildHouse = {"txt": "Построить Дом
ур. %arg1
%arg2 золота", "loc":"building tab"}; -locObj.btnBuildWall = {"txt": "Построить Стену
ур. %arg1
%arg2 золота", "loc":"building tab"}; -locObj.btnBuildTower = {"txt": "Построить Башню
ур. %arg1
%arg2 золота", "loc":"building tab"}; -locObj.btnBuildCastle = {"txt": "Построить Замок
ур. %arg1
%arg2 золота", "loc":"building tab"}; -locObj.btnBuildTreasury = {"txt": "Построить Сокровищницу
ур. %arg1
%arg2 золота", "loc": "building tab"}; -locObj.btnBuildGallows = {"txt": "Построить Виселицу
ур. %arg1
%arg2 золота", "loc": "building tab"}; -locObj.btnBuildFountain = {"txt": "Построить Фонтан
ур. %arg1
%arg2 золота", "loc": "building tab"}; -locObj.btnBuildStash = {"txt": "Построить Тайник
ур. %arg1
%arg2 золота", "loc": "building tab"}; -locObj.btnBuildInn = {"txt": "Построить Таверну
ур. %arg1
%arg2 золота", "loc": "building tab"}; -locObj.btnBuildStables = {"txt": "Построить Конюшню
ур. %arg1
%arg2 золота", "loc":"building tab"}; -locObj.btnBuildArcheryRange = {"txt": "Построить Стрельбище
ур. %arg1
%arg2 золота", "loc":"building tab"}; -helpBlock = "

1255: Расцвет Тевтонцев

" + - "

Как играть

" + - "Cсылка на вики https://github.com/Areso/1255-burgomaster/wiki
"+ - "Анкета с обратной связью здесь
"+ - "У этой игры под 'капотом' находится таймер. Каждый 'тик' таймера происходит за 30 секунд.
" + - "После каждого тика население растет и платит налоги.
" + - "Обычно, каждый горожанин приносит один золотой за тик.
" + - "Однако, принимаемые игроком решения влияют на это значение.
" + - "Вам нужно строить дома для поддержания роста населения.
" + - "Чем выше уровень домов, тем больше населения сможет жить в вашем городе.
" + - "Вам нужно строить стены и крепость, чтобы предотвратить разрушительные набеги.
" + - "Вам нужно построить сокровищницу для хранения золота.
" + - "Чем выше уровень сокровищницы, тем больше золота вы можете в ней хранить.
" + - "Также, сокровищница позволяет нанимать охранников.
" + - "Охрана существенно снижает шанс воровства из сокровищницы.
" + - "Найм охранника будет стоить %arg1 золотых.
" + - "Каждый тик охранники нуждаются в жаловании, которое составляет %arg2 золотых.
" + - "Если в Сокровищнице будет недостаточно денег для выплаты жалования, они покинут вас.
" + - "Вы можете построить фонтан ИЛИ виселицу. Вы не можете изменить свой выбор, после того, как построили здание.
" + - "Фонтаны увеличивают счастье и скорость роста населения.
" + - "Виселица уменьшает счастье, скорость роста населения, увеличивает налоги и позволяет казнить горожан.
" + - "Казнь любого горожанина сопровождается конфискацией его имущества
" + - "Тайник позволяет сократить потери от воровства. Тайник нельзя построить без сокровищницы.
"+ - "Это однопользовательская игра
"+ - "
" + - "Поддерживаемые языки(ПЯ): Английский, Русский.
"+ - "Сообществом Поддерживаемые Языки (СПЯ): Немецкий, Эсперанто, Французский
"+ - "СПЯ значит, что автор не помогает и не отвечает на вопросы, заданные на СПЯ,
"+ - "несмотря на то, что части игры или игра целиком могут быть доступны на СПЯ.
"+ - "Также надо отметить, что переводы СПЯ могут содержать ошибки и непереведенные фрагменты
"+ - "или части, содержащие устаревший перевод.
"+ - "Вы можете помочь с переводами здесь:
"+ - "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
"; -locObj.tabHowToPlayText = helpBlock; -locObj.cityScreenSawmill = {"txt": "пилорама", "loc": "cityscreen"}; -locObj.cityScreenWishingWell = {"txt": "колодец желаний", "loc": "cityscreen"}; -locObj.cityScreenWall = {"txt": "стена", "loc": "cityscreen"}; -locObj.cityScreenStoneWall = {"txt": "каменная стена", "loc": "cityscreen"}; -locObj.cityScreenTower = {"txt": "башня", "loc": "cityscreen"}; -locObj.cityScreenStoneTower = {"txt": "каменная башня", "loc": "cityscreen"}; -locObj.cityScreenHouse = {"txt": "дом", "loc": "cityscreen"}; -locObj.cityScreenHouses = {"txt": "дома", "loc": "cityscreen"}; -locObj.cityScreenInn = {"txt": "таверна", "loc": "cityscreen"}; -locObj.cityScreenGallows = {"txt": "виселица", "loc": "cityscreen"}; -locObj.cityScreenFountain = {"txt": "фонтан", "loc": "cityscreen"}; -locObj.cityScreenTreasury = {"txt": "сокровищница", "loc": "cityscreen"}; -locObj.resourceGold = {"txt": "золото", "loc": "resource panel"}; -locObj.resourcePop = {"txt": "население", "loc": "resource panel"}; -locObj.cityScreenArcheryRange = {"txt": "стрельбище", "loc":"cityscreen"}; -locObj.paginationStart = {"txt": "В начало", "loc": "stat pages, to the start button"}; -locObj.paginationPrevious = {"txt": "Предыдущая", "loc": "stat pages, previous page"}; -locObj.paginationNext = {"txt": "Следующая", "loc": "stat pages, next page btn"}; -locObj.paginationCurrent = {"txt": "К текущей", "loc": "stat pages, current btn"}; -locObj.tabPopHistory = {"txt": "Данные о населении по периодам", "loc": "Label in Pop history tab"}; -locObj.tabPopHistoryCurrentLimit = {"txt": "Текущий лимит населения %arg1", "loc": "Label current pop limit"}; -locObj.tabGoldHistoryCurrentLimit = {"txt": "Текущий лимит золота %arg1", "loc": "label current gold limit"}; -locObj.tabGoldHistory = {"txt": "Данные о казне по периодам", "loc":"Label in Gold history tab"}; -locObj.dayAcronym = {"txt": "Д", "loc": "used for countdown in events"}; -locObj.hourAcronym = {"txt": "Ч", "loc": "used for countdown in events"}; -locObj.minuteAcronym = {"txt": "М", "loc": "used for countdown in events"}; -locObj.countDownBeforeEventStarts = {"txt": "Время до начала ближайшего тематического игрового мероприятия", "loc": "resource panel?"}; -locObj.countDownBeforeEventEnds = {"txt": "Время до конца ближайшего тематического игрового мероприятия", "loc": "resource panel?"}; -locObj.mapRegenerate = {"txt": "Небо над городом потемнело, засверкали молнии, и внезапно всё прекратилось", "loc": "after pressed generate new map button"}; -locObj.day = {"txt": "День", "loc": "occurs in autobattles logs"}; -locObj.autocampaignWithdrawErr = {"txt": "Команда доступна только если герой находится в автокампании!", "loc":"happens when failing to withdraw the hero from autocampaign"}; -locObj.autocampaignWithdrawDialogConfirm = {"txt": "Вы хотите отозвать героя?", "loc": "happens when you pressing withdraw button"}; -locObj.heroLost = {"txt":"герой и все его войска встретили свою смерть на поле брани", "loc": "happens when the hero is lost"}; -locObj.autocampaignHeroCrushedVastEnemyArmy = {"txt":"герой встретил превосходящего по численности врага и одолел его. Опыт и деньги стали наградой!", "loc":"autocampaign journal with aggressive stance"}; -locObj.autocampaignHeroCrushedSmallEnemyArmy = {"txt": "герой встретил малочисленного врага и одолел его. Опыт и деньги стали наградой!", "loc":"autocampaign journal with cautious stance"}; -locObj.autocampaignNoEvents = {"txt": "день прошел скучно. Один язычник был убит (охотник принял его в лесу за дикого зверя. Бывает)", "loc":"autocampaign log no events"}; -locObj.autocampaignLootList = {"txt": "Добытые трофеи из похода: ", "loc":"autocampaign"}; -locObj.dialogDismissHeroConfirm = {"txt": "Вы хотите уволить героя со всеми войсками?", "loc":"when dismiss hero button pressed"}; -locObj.dialogDismissHeroNoOption = {"txt": "Нет. Сперва надо забрать войска", "loc":"when you declined"}; -locObj.dialogMapRegenerate = {"txt": "Вы хотите создать карту заново? Это будет стоить %arg1 золота", "loc": "map regenerate confirmation dialogue"}; -locObj.errMapRegenerateHeroOnMap = {"txt": "Нельзя это сделать, пока герой на карте", "loc": "happens if you try to make new map while your hero on an existing one"}; -locObj.tabInnWelcome = {"txt": "Вы в Таверне", "loc":"label in Inn tab"}; -locObj.tabInnBtnHireHero = {"txt": "Нанять героя
уровень %arg1
%arg2 золота", "loc": "tab Inn, button Hire Hero"}; -locObj.heroStatLuck = {"txt": "удача", "loc": "hero stat"}; -locObj.heroStatSuperstition = {"txt": "суеверность", "loc": "hero stat"}; -locObj.heroStatMorale = {"txt": "мораль", "loc": "hero stat"}; -locObj.heroFoundMoney = {"txt": "герой нашел немного денег: %arg1", "loc": "when a chest found on Adventure Map"}; -locObj.heroStatInt = {"txt": "Интеллект", "loc": "hero stat"}; -locObj.heroStatLevel = {"txt": "Уровень", "loc": "hero stat"}; -locObj.heroStatAtk = {"txt": "Атака", "loc": "hero stat"}; -locObj.heroStatDef = {"txt": "Защита", "loc": "hero stat"}; -locObj.heroStatMP = {"txt": "Мана", "loc": "hero stat"}; -locObj.heroStatSpellpower = {"txt": "Сила магии", "loc": "hero stat"}; -locObj.heroExp = {"txt": "Опыт", "loc": "hero stat"}; -locObj.heroCurrentExp = {"txt": "Текущий опыт", "loc": "hero stat"}; -locObj.heroNextLvlExp = {"txt": "Опыт, необходимый для следующего уровня", "loc": "hero stat"}; -locObj.heroClasses = {"txt": ["Рыцарь", "Монах"], "loc": "inn tab"}; -locObj.lblClass = {"txt": "Класс", "loc": "inn tab"}; -locObj.lblHeroLocation = {"txt":"Герой сейчас ", "loc":"inn tab"}; -locObj.heroInTown = {"txt": " где-то в городе", "loc": "used to build hero activity line"}; -locObj.heroInAutocampaign = {"txt": " в автокампании", "loc": "used to build hero activity line"}; -locObj.heroOnAdventureMap = {"txt": " на карте приключений", "loc": "used to build hero activity line"}; -locObj.heroActivitiesInTown = {"txt": ["ест", "пьет","играет в карты","тренируется","дерется","отдыхает"], "loc": "used to build hero activity line"}; -locObj.heroActivitiesInAutocampaign = {"txt":["возвращается в город","на марше","убивает язычников", "обращает язычников","строит лагерь","собирает трофеи"], "loc": "used to build hero activity line"}; -locObj.heroActivitiesOnAdventureMap = {"txt":["на марше", "строит лагерь","собирает трофеи"],"loc": "used to build hero activity line"}; -locObj.lblDistanceFromTown = {"txt": "Дней от города", "loc": "inn tab"}; -locObj.directionFromTown = {"txt": "От города", "loc": "inn tab"}; -locObj.directionToTown = {"txt": "К городу", "loc": "inn tab"}; -locObj.goldInHerosPurse = {"txt": "Злата в кошеле героя", "loc": "inn tab"}; -locObj.lblDirection = {"txt": "Направление: ", "loc": "inn tab"}; -locObj.btnDismissHero = {"txt": "Уволить героя", "loc": "inn tab"}; -locObj.btnAutocampaignSendHero = {"txt": "Отправить в поход", "loc": "inn tab"}; -locObj.btnAutocampaignWithdrawHero = {"txt": "Вернуть из похода", "loc": "inn tab"}; -locObj.btnAutocampaignOpenJournal = {"txt": "Открыть журнал", "loc": "inn tab"}; -locObj.btnUseTowngateScroll = {"txt": "Свиток городских врат", "loc": "inn tab"}; -locObj.btnGoToAdvenureMap = {"txt": "На карту приключений", "loc": "inn tab"}; -locObj.btnRegenerateMap = {"txt": "Пересоздать карту", "loc": "inn tab"}; -locObj.msgHeroAdvancedToNextLvl = {"txt": "Ваш герой достиг следующего уровня!", "loc": "event log?"}; -locObj.dlgHeroStance = {"txt": "Выберите поведение героя: агрессивное (выше награда и риск) или осторожное?", "loc": "dialog happens when hero leaving town"}; -locObj.ansHeroAggressiveStance = {"txt": "Агрессивное. Хочу крови и денег!", "loc": "One of the options to the locObj.dlgHeroStance question"}; -locObj.ansHeroCautiousStance = {"txt": "Осторожное. Какой толк от денег, если ваш герой мертв?", "loc": "One of the options to the locObj.dlgHeroStance question"}; -locObj.errHeroHasNoTroops = {"txt": "Сначала добавьте войск герою", "loc": "when trying to send hero outta city with no troops"}; -locObj.errNoHero = {"txt": "Для этого нужен герой!", "loc": "when trying to invoke hero-related actions with no hero"}; -locObj.msgAfterSellToTrader = {"txt": "Приятно иметь с вами дело. Надеюсь на скорую встречу с вами вновь.", "loc": "not used so far"}; -locObj.msgAfterBuyFromTrader = {"txt": "Поздравляю с покупкой. Это хороший выбор.", "loc": "not used so far"}; -locObj.artifactTowngateAfterUse = {"txt": "Герой теперь буквально в одном шаге от города!!", "loc": "after the artefact was used"}; -locObj.artifactErrNoTowngate = {"txt": "У вас нет свитка городских врат!", "loc": "when trying to use towngate scroll witout having one"}; -locObj.artifactErrWrongDirection = {"txt": "Сначала направьте героя в город.", "loc": "happens when try to cast towngate and moving from the town"}; -locObj.lblGoodForSale = {"txt": "Продавец с черного рынка предлагает свои товары на продажу!", "loc":"blackmarket tab, good for sale from the NPC"}; -locObj.lblHeroGoodsFoSale = {"txt": "Продавец с черного рынка может выкупить ваши товары.", "loc":"blackmarket tab"}; +locObj.eventHalloween = { "txt": "Хэллоуин - это про тыквы!\nСоздайте новую карту приключений, чтобы найти их\nНе забудьте пройти регистрацию и залогиниться, чтобы ваш вклад был учтён", "loc": "eventhelp" } +locObj.eventNewYear = { "txt": "Новый Год - это про снеговики! \nСоздайте новую карту приключений, чтобы найти их\nВам надо быть зарегистрированным и залогиненным, чтобы ваш вклад был учтён", "loc": "eventhelp" } +locObj.couldntRecordPledge = { "txt": "Кажется, что вы не залогинены. Ваш вклад не будет записан", "loc": "сервер не смог записать вклад" } +locObj.requiredArcheryRange = { "txt": "To do that, you need to build Archery Range", "loc": "happens when trying to hire turkopols if no archery range is built" }; +locObj.requiredStables = { "txt": "Для этого вам нужно стрельбище", "loc": "happens when trying to hire sergeants if no stables built" }; +locObj.requiredStablesUpgrade = { "txt": "Для этого нужно улучшить конюшни до %arg1 уровня", "loc": "happens when trying to hire knights and stables level too low" }; +locObj.deadCounselorDemolish = { "txt": "Ваш советник умер.\nНовоиспеченный советник рекомендует вам\nпересмотреть выбор, сделанный в прошлом:\n-настало время, милорд, когда вы решаете, что лучше для нашего города.\n-если вы согласны, %arg1 будет снесен, а на его месте мы построим %arg2", "loc": "" } +locObj.demolishGallows = { "txt": "виселицу", "loc": "your choice in deadCounselorDemolish dialogue" }; +locObj.fountainUnlock = { "txt": "фонтант", "loc": "will be unlocked in deadCounselorDemolish dialogue" }; +locObj.demolishFountain = { "txt": "фонтан", "loc": "your choice in deadCounselorDemolish dialogue" }; +locObj.gallowsUnlock = { "txt": "виселицу", "loc": "will be unlocked in deadCounselorDemolish dialogue" }; +locObj.deadCounselorDemolishAnsYes = { "txt": "Да, сносим это здание", "loc": "Positive answer" } +locObj.buy = { "txt": "Купить", "loc": "На предмете для продажи Черного Рынка Гоблина" }; +locObj.sell = { "txt": "Продать", "loc": "На предмете для продажи Черного Рынка Гоблина" }; +locObj.buildArchery = { "txt": "Стрельбище позволяет нанимать конных лучников. Сначала нужно построить конюшни", "loc": "ошибка при постройке стрельбища" }; +locObj.buildUpgradeTreasury = { "txt": "постройте или улучшите вашу Сокровищницу", "loc": "the endturn tip in case of overflowing gold amount" } +locObj.moneyIncreased = { "txt": "казна пополняется, милорд!", "loc": "happens when s-to-s money value increased" }; +locObj.moneyDecreased = { "txt": "казна пустеет, милорд", "loc": "happens when s-to-s money value decreased" }; +locObj.popIncreased = { "txt": "население растет!", "loc": "happens when s-to-s population value increased" }; +locObj.popDecreased = { "txt": "население убывает", "loc": "happens when s-to-s population value decreased" }; +locObj.requiredFieldsNotFilled = { "txt": "Требуемые поля не заполнены!", "loc": "happens in case of empty fields like login, password, etc" }; +locObj.buildUpgradeHouse = { "txt": "ваш город достиг максимальной численности; постройте или улучшите дома", "loc": "the endturn tip in case of overpopulating" }; +locObj.savedSuccessfully = { "txt": "игра сохранена успешно", "loc": "when manual save completed successfully" }; +locObj.loadedSuccessfully = { "txt": "игра загружена успешно", "loc": "when loaded completed successfully" }; +locObj.dialogLoadGame = { "txt": "Загрузить игру? Вы потеряете весь несохраненный прогресс!", "loc": "confirmation dialogue over loading game" }; +locObj.noSaveGame = { "txt": "Извините, но сохраненных игр нет!", "loc": "in case there is no savegame" }; +locObj.dialogSaveGame = { "txt": "Сохранить игру? Это перезапишет текущее сохранение, если у вас такое есть", "loc": "when trying to save game or overwriting existing savegame" }; +locObj.loadGameFromStringEmpty = { "txt": "Пожалуйста, вставьте сохранение", "loc": "happens when the loadgame input is empty" }; +locObj.loadGameFromStringError = { "txt": "Не получается загрузиться из этой строки", "loc": "happens when the loadgame input is incorrect or couldn't be processed" }; +locObj.lblLongSaveString = { "txt": "очень длинная строка", "loc": "label near input fielf for savegame string" }; +locObj.dialogConfirmHireGuard = { "txt": "Вы хотите нанять охранника? Это будет стоить %arg1 золотых сразу\nи %arg2 золотых за каждый сезон", "loc": "hiring treasury guard confirmation dialogue" }; +locObj.hiredGuardsman = { "txt": "Вы наняли охранника", "loc": "after succesfully hired a guardsman" }; +locObj.notEnoughGold = { "txt": "Недостаточно золота!", "loc": "not enough gold" }; +locObj.treasuryRequired = { "txt": "Для найма охранника необходима Сокровищница!", "loc": "happens when trying to hire gaurdsman without a treasury" }; +locObj.dialogConfirmDismssGuardsman = { "txt": "Уволить охранника?", "loc": "happens when try to dismiss one guardsman" }; +locObj.dismissedGuardsman = { "txt": "Вы уволили охранника", "loc": "happens after dismissing a guardsman" }; +locObj.noGuardsman = { "txt": "У вас нет охранников", "loc": "happens when trying to dismiss guardsman when there are none of them" }; +locObj.execReasons = [{ "txt": "предательство", "loc": "when executing a person" }, +{ "txt": "шпионаж", "loc": "" }, +{ "txt": "коррупцию", "loc": "" }, +{ "txt": "подкуп", "loc": "" }, +{ "txt": "казнокрадство", "loc": "" }, +{ "txt": "кражи", "loc": "" }]; +locObj.techArtilleryResearched = { "txt": "You researched the artillery technology!", "loc": "Happens when the tech is discovered" }; +locObj.bldUniversityButton = { "txt": "Построить университет
%arg2 золотых", "loc": "the label of the button of building the University on the building tab" }; +locObj.eventWillStart = { "txt": " ивент начнется через", "loc": "shows on the status bar if an event was announced" }; +locObj.eventWillEnd = { "txt": " ивент закончится через", "loc": "shows on the status bar if an event was started" }; +locObj.eventHalloweenName = { "txt": "Хэллуин", "loc": "shows on the status bar if the event announced or online" }; +locObj.eventNewYearName = { "txt": "Новогодний", "loc": "shows on the status bar if the event announced or online" }; +locObj.yes = { "txt": "Да", "loc": "Positive answer, happens in modal dialogues" }; +locObj.yesKillBloody = { "txt": "Да, и наиболее кроваво!", "loc": "NOT USED YET" }; +locObj.no = { "txt": "Нет", "loc": "Negative answer, happens in modal dialogues" }; +locObj.serverStatusSpn = { "txt": "Сервер: ", "loc": "showed in the status bar" }; +locObj.serverStatusND = { "txt": "н/д", "loc": "server status is no data" }; +locObj.serverStatusUp = { "txt": "поднят", "loc": "server status is Up" }; +locObj.serverStatusDown = { "txt": "лежит", "loc": "server status is Down" }; +locObj.online = { "txt": "Онлайн: ", "loc": "label before the online users counter" }; +locObj.onlineValueND = { "txt": "н/д", "loc": "online users numbers has no data" }; +locObj.errCityLevelTooLowForSendingMsg = { "txt": "Герр Комтур, уровень вашего города слишком низок\n для отправки сообщений другим Лордам", "loc": "happens when low-level user try to send msg in chat" } +locObj.userCntOne = { "txt": "юзер", "loc": "(one) user" }; +locObj.userCntTwoPlus = { "txt": "юзеров", "loc": "two or more users" }; +locObj.savedCloudSuccessfully = { "txt": "игра успешно сохранена в Облако", "loc": "when cloud save completed successfully" }; +locObj.errNoCloudSave = { "txt": "у вас нет сохранения в Облаке", "loc": "could happen when trying to load a savegame from DB" }; +locObj.errGettingCloudSave = { "txt": "ошибка при попытке получить сохранение из Облака", "loc": "could happen when trying to get a savegame from backend" }; +locObj.errLoadingCloudSave = { "txt": "ошибка при загрузке в игру облачного сохранения", "loc": "could happen while loading cloudsave" }; +locObj.errGetSaveEndpoint = { "txt": "ошибка сервера. Вы вошли в аккаунт? Сервер поднят?", "loc": "endpoint error from /get_savegame" }; +locObj.executedMsg = { "txt": "вы казнили горожанина за %arg1", "loc": "eventlog after the execution" }; +locObj.executedGainMsg = { "txt": "%arg1 золотых конфисковано", "loc": "eventlog after the execution" }; +locObj.executionAborted = { "txt": "слишком мало жителей", "loc": "happens if you have too low amount of citizens" }; +locObj.cantUpkeepTreasuryGuards = { "txt": "охранники уволились, потому что вам нечем платить жалование!", "loc": "in calculateTurn in case of money deficite" }; +locObj.fireInCity = { "txt": "пожар в городе!", "loc": "happens as part of random events" }; +locObj.rqtsHome = { "txt": "Разблокируется событием", "loc": "Requirements for homes" }; +locObj.rqtsDef = { "txt": "Разблокируется событием", "loc": "Requirements for defense buildings" }; +locObj.rqtsTreasury = { "txt": "Для разблокировки требуется %arg1 золота", "loc": "Reqs for Treasury building" }; +locObj.rqtsGallows = { "txt": "Для разблокировки требуется %arg1 жителей", "loc": "Reqs for Gallows" }; +locObj.rqtsFountain = { "txt": "Для разблокировки требуется %arg1 жителей", "loc": "Reqs for Fountain" }; +locObj.rqtsStash = { "txt": "Requires Treasury and Unlocks by an event", "loc": "Reqs for Fountain" }; +locObj.rqtsStables = { "txt": "Для разблокировки требуется %arg1 жителей", "loc": "Reqs for Stables" }; +locObj.rqtsArcheryRange = { "txt": "Requires %arg1 citizens and Stables", "loc": "Reqs for Archery Range" }; +locObj.rqtsInn = { "txt": "Для разблокировки требуется %arg1 жителей", "loc": "Reqs for Inn" }; +locObj.rqtsUniversity = { "txt": "Разблокируется в %arg1. Текущий год: %arg2", "loc": "Reqs for Konigsberg University" }; +locObj.rqtsCatherdal = { "txt": "Unlocks in 1380", "loc": "Reqs for Königsberg Cathedral" }; +locObj.helpDef = { "txt": "Это здание нужно для защиты города от захватчиков", "loc": "help message in the building tab" }; +locObj.helpHome = { "txt": "Это здание и его улучшения нужны, чтобы поднять лимит населения", "loc": "help msg in the building tab" }; +locObj.helpTreasury = { "txt": "Это здание и его улучшения нужны, чтобы поднять лимит золота.
Это здание позволит вам нанять охранников.
Они нужны, чтобы уменьшить шанс кражи из казны.", "loc": "help msg in the building tab" }; +locObj.helpGallows = { "txt": "Это здание и его улучшения нужны, чтобы можно было казнить горожан.
Также повышает налоговые поступления, уменьшает рождаемость и счастье горожан.
Если вы построите это здание, вы не сможете построить фонтан!", "loc": "help msg in the building tab" }; +locObj.helpFountain = { "txt": "Это здание и его улучшения нужны, чтобы проводить фестивали.
Повышает рождаемость и счастье горожан, а также уменьшает налоговые поступления.
Если вы построите это здание, вы не сможете построить виселицу!", "loc": "help msg in the building tab" }; +locObj.helpStash = { "txt": "Это здание и его улучшения нужны, чтобы сохранить ваши деньги от воров, в случае если они обкрадут сокровищницу.
Более высокий уровень тайника позволяет спрятать больше денег", "loc": "help msg in the building tab" }; +locObj.helpStables = { "txt": "Это здание и его улучшения нужны, чтобы нанимать конницу.
Более высокий уровень конюшни позволит нанимать более опытные войска", "loc": "help msg in the building tab" }; +locObj.helpArcheryRange = { "txt": "Это здание и его улучшения нужны, чтобы нанимать лучников.
Более высокий уровень стрельбища позволит нанимать более опытные войска", "loc": "help msg in the building tab" }; +locObj.helpInn = { "txt": "Это здание и его улучшения нужны, чтобы нанимать героев.
Более высокий уровень таверны позволит нанимать более опытных героев", "loc": "help msg in the building tab" }; +locObj.helpUniversity = { "txt": "Это здание необходимо для исследования новых технологий.", "loc": "User saw this when moving the coursor above the university icon in Building tab" }; +locObj.callFiremen = { "txt": "Вызвать пожарных? Это будет стоить %arg1 золота", "loc": "dialog happens when trying to get rid off the fire" }; +locObj.fireEndedByFireservice = { "txt": "пожарные погасили огонь!", "loc": "happens after firemen ended the fire" }; +locObj.burnToAshes = { "txt": "будет гореть дотла!", "loc": "happens if player decided not to pay to firemen" }; +locObj.rndEventsStealing = { "txt": "фигня случается: воры украли %arg1 золота из вашей казны", "loc": "random events, stealings" }; +locObj.rndEventsLotteryWon = { "txt": "вы выиграли в лотерею %arg1 золота", "loc": "random events lottery won msg" }; +locObj.locSaveGame = { "txt": "Сохранить игру", "loc": "browser-wide savegame" }; +locObj.locLoadGame = { "txt": "Загрузить игру", "loc": "load save from localStorage of the browser" }; +locObj.tabCity = { "txt": "Город", "loc": "tabname in the tab bar" }; +locObj.tabSettings = { "txt": "Настройки", "loc": "tabname Settings in the tab bar" }; +locObj.tabBuilding = { "txt": "Строительство", "loc": "tabname Building in the tab bar" }; +locObj.tabHowToPlay = { "txt": "Как играть", "loc": "tabname How To Play, about and stuff in da bar" }; +locObj.tabDiscord = { "txt": "Discord", "loc": "tabname Discord with a Discord widget" }; +locObj.btnPutOutTheFire = { "txt": "Потушить огонь", "loc": "button to extinguish the fire" }; +locObj.btnExecutePerson = { "txt": "Казнить человека", "loc": "button to execute somebody" }; +locObj.festivalConfirm = { "txt": "Вы хотите устроить фестиваль?\nЭто будет стоить %arg1 золота\n", "loc": "place festival confirmation dialogue" }; +locObj.festivalConfirmCooldown = { "txt": "Фестиваль был проведен не так давно.\nЭффект от фестиваля будет снижен.\n", "loc": "happens in case of Cooldown of the festivals" }; +locObj.eventItemCollected = { "txt": "Взят ивентовый предмет!", "loc": "happens when gathered an event item" }; +locObj.eventPledgeRecorded = { "txt": "Ваш вклад записан!", "loc": "happens when the pledge was successfully recorded" }; +locObj.eventPledgeError = { "txt": "Your pledge couldn't be recorded. Are you logged in?", "loc": "happens when the pledge wasn't recorded" }; +locObj.festivalGain = { "txt": "Ваша прибыль от фестиваля %arg1", "loc": "happens if the festival was profitable for budget" }; +locObj.festivalLoss = { "txt": "Ваш убыток от фестиваля %arg1", "loc": "happens if the festival was unprofitable for budget" }; +locObj.errAlreadyHasHero = { "txt": "У вас уже есть герой!", "loc": "happens when trying to hire a hero, when you have one hired" }; +locObj.autosaveTurnedOn = { "txt": "Автосохранение включено", "loc": "happens when autosave enabled" }; +locObj.autosaveTurnedOff = { "txt": "Автосохранение выключено", "loc": "happens when autosave disabled" }; +locObj.GallowsFountainChoiceConfirm = { "txt": "Вы собираетесь построить %arg1.\nЕсли вы построите это здание, вы не сможете построить %arg2.\nВы уверены в вашем выборе?", "loc": "happens when you are about to build Fountain or Gallows" }; +locObj.GallowsChoiceConfirm = { "txt": "виселицу", "loc": "your choice in GallowsFountainChoiceConfirm dialogue" }; +locObj.FountainBlocked = { "txt": "фонтан", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue" }; +locObj.FountainChoiceConfirm = { "txt": "фонтан", "loc": "your choice in GallowsFountainChoiceConfirm dialogue" }; +locObj.GallowsBlocked = { "txt": "виселицу", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue" }; +locObj.noStatsYet = { "txt": "Пока нечего показать. Попробуйте позже", "loc": "happens when trying to open gold/pop stats" }; +locObj.tabSettings = { "txt": "Настройки", "loc": "Settings tab name" }; +locObj.tabSettingsBtnExportGame = { "txt": "Экспорт сохранения", "loc": "Export game button" }; +locObj.tabSettingsBtnImportGame = { "txt": "Импорт сохранения", "loc": "Import game button" }; +locObj.tabSettingsLblAutosave = { "txt": "Автосохранение", "loc": "Autsave label before the toggle" }; +locObj.tabSettingsBtnChangeColorMode = { "txt": "Сменить цветовой режим", "loc": "settings tab change colour mode button" }; +locObj.tabSoundSettingsLblOption = { "txt": "Опция", "loc": "Sound settings tab, name of the option" }; +locObj.on = { "txt": "Включено", "loc": "used on Sound Settings tab" }; +locObj.off = { "txt": "Выключено", "loc": "used on Sounds Settings tab" }; +locObj.tabSoundSettingsLblAllSoundEffects = { "txt": "Все звуковые эффекты", "loc": "sound settings tab" }; +locObj.tabSoundSettingsLblAllEventsEffects = { "txt": "Эффекты всех событий", "loc": "sound settings tab" }; +locObj.tabSoundSettingsLblEffectsAR = { "txt": "Эффекты событий, где нужна ваша реакция", "loc": "sound settings tab" }; +locObj.tabSoundSettingsAllMusic = { "txt": "Вся музыка", "loc": "sound settings tab" }; +locObj.tabSoundSettingsScMusic = { "txt": "Музыка сценариев", "loc": "sounds settings tab" }; +locObj.btnBack = { "txt": "Назад", "loc": "sound settings tab" }; +locObj.lblSoundMenu = { "txt": "Настройки музыки и эффектов", "loc": "sounds settings tab" }; +locObj.tabSettingsBtnOpenSoundSettings = { "txt": "Открыть звуковые настройки", "loc": "settings tab" }; +locObj.tabSettingsLblMobileUI = { "txt": "Мобильный вид", "loc": "settings tab" }; +locObj.tabSettingsLblLogSize = { "txt": "Размер лога событий", "loc": "settings tab" }; +locObj.tabSettingsLblLines = { "txt": "строк", "loc": "settings tab" }; +locObj.goldAddedToTreasury = { "txt": "Сокровищница была пополнена на %arg1 золота", "loc": "gold added when a hero returned to the city" }; +locObj.amber = { "txt": "Янтарь - самая ценная валюта в игре", "loc": "happens on click on amber" }; +locObj.lblGarrison = { "txt": "Гарнизон", "loc": "label in Garrison tab" }; +locObj.btnFire = { "txt": "Уволить", "loc": "button in Garrison tab" }; +locObj.btnHire = { "txt": "Нанять", "loc": "button in Garrison tab" }; +locObj.imgCastellan = { "txt": "Кастелян", "loc": "troops management screen" }; +locObj.imgHero = { "txt": "Герой", "loc": "troops management screen" }; +locObj.imgBrotherSergeants = { "txt": "братья-сержанты", "loc": "troops management screen" }; +locObj.imgTurkopols = { "txt": "туркополы", "loc": "troops management screen" }; +locObj.imgBrotherKnights = { "txt": "братья-рыцари", "loc": "troops management screen" }; +locObj.btnBuildHouse = { "txt": "Построить Дом
ур. %arg1
%arg2 золота", "loc": "building tab" }; +locObj.btnBuildWall = { "txt": "Построить Стену
ур. %arg1
%arg2 золота", "loc": "building tab" }; +locObj.btnBuildTower = { "txt": "Построить Башню
ур. %arg1
%arg2 золота", "loc": "building tab" }; +locObj.btnBuildCastle = { "txt": "Построить Замок
ур. %arg1
%arg2 золота", "loc": "building tab" }; +locObj.btnBuildTreasury = { "txt": "Построить Сокровищницу
ур. %arg1
%arg2 золота", "loc": "building tab" }; +locObj.btnBuildGallows = { "txt": "Построить Виселицу
ур. %arg1
%arg2 золота", "loc": "building tab" }; +locObj.btnBuildFountain = { "txt": "Построить Фонтан
ур. %arg1
%arg2 золота", "loc": "building tab" }; +locObj.btnBuildStash = { "txt": "Построить Тайник
ур. %arg1
%arg2 золота", "loc": "building tab" }; +locObj.btnBuildInn = { "txt": "Построить Таверну
ур. %arg1
%arg2 золота", "loc": "building tab" }; +locObj.btnBuildStables = { "txt": "Построить Конюшню
ур. %arg1
%arg2 золота", "loc": "building tab" }; +locObj.btnBuildArcheryRange = { "txt": "Построить Стрельбище
ур. %arg1
%arg2 золота", "loc": "building tab" }; +locObj.lblAbout_h1 = { "txt": "1255: Расцвет Тевтонцев" }; +locObj.lblAbout_h2 = { "txt": "Как играть" }; +locObj.lblAbout_wiki = { "txt": "Cсылка на вики: https://github.com/Areso/1255-burgomaster/wiki
" }; +locObj.lblAbout_feedback = { "txt": "Анкета с обратной связью здесь
" }; +locObj.lblAbout_meh = { + "txt": "У этой игры под 'капотом' находится таймер. Каждый 'тик' таймера происходит за 30 секунд.\n" + + "После каждого тика население растет и платит налоги.\n" + + "Обычно, каждый горожанин приносит один золотой за тик.\n" + + "Однако, принимаемые игроком решения влияют на это значение.\n" + + "Вам нужно строить дома для поддержания роста населения.\n" + + "Чем выше уровень домов, тем больше населения сможет жить в вашем городе.\n" + + "Вам нужно строить стены и крепость, чтобы предотвратить разрушительные набеги.\n" + + "Вам нужно построить сокровищницу для хранения золота.\n" + + "Чем выше уровень сокровищницы, тем больше золота вы можете в ней хранить.\n" + + "Также, сокровищница позволяет нанимать охранников.\n" + + "Охрана существенно снижает шанс воровства из сокровищницы.\n" + + "Найм охранника будет стоить 20 золотых.\n" + + "Каждый тик охранники нуждаются в жаловании, которое составляет 10 золотых.\n" + + "Если в Сокровищнице будет недостаточно денег для выплаты жалования, они покинут вас.\n" + + "Вы можете построить фонтан ИЛИ виселицу. Вы не можете изменить свой выбор, после того, как построили здание.\n" + + "Фонтаны увеличивают счастье и скорость роста населения.\n" + + "Виселица уменьшает счастье, скорость роста населения, увеличивает налоги и позволяет казнить горожан.\n" + + "Казнь любого горожанина сопровождается конфискацией его имущества.\n" + + "Тайник позволяет сократить потери от воровства. Тайник нельзя построить без сокровищницы.\n" + + "Это однопользовательская игра." +}; +locObj.lblAbout_supLang = { + "txt": "Поддерживаемые языки(ПЯ): Английский, Русский.\n" + + "Сообществом Поддерживаемые Языки (СПЯ): Немецкий, Эсперанто, Французский\n" + + "СПЯ значит, что автор не помогает и не отвечает на вопросы, заданные на СПЯ,\n" + + "несмотря на то, что части игры или игра целиком могут быть доступны на СПЯ.\n" + + "Также надо отметить, что переводы СПЯ могут содержать ошибки и непереведенные фрагменты\n" + + "или части, содержащие устаревший перевод.\n" + + "Вы можете помочь с переводами здесь:" +}; +locObj.lblAbout_googleLang = { "txt": "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
" }; +locObj.cityScreenSawmill = { "txt": "пилорама", "loc": "cityscreen" }; +locObj.cityScreenWishingWell = { "txt": "колодец желаний", "loc": "cityscreen" }; +locObj.cityScreenWall = { "txt": "стена", "loc": "cityscreen" }; +locObj.cityScreenStoneWall = { "txt": "каменная стена", "loc": "cityscreen" }; +locObj.cityScreenTower = { "txt": "башня", "loc": "cityscreen" }; +locObj.cityScreenStoneTower = { "txt": "каменная башня", "loc": "cityscreen" }; +locObj.cityScreenHouse = { "txt": "дом", "loc": "cityscreen" }; +locObj.cityScreenHouses = { "txt": "дома", "loc": "cityscreen" }; +locObj.cityScreenInn = { "txt": "таверна", "loc": "cityscreen" }; +locObj.cityScreenGallows = { "txt": "виселица", "loc": "cityscreen" }; +locObj.cityScreenFountain = { "txt": "фонтан", "loc": "cityscreen" }; +locObj.cityScreenTreasury = { "txt": "сокровищница", "loc": "cityscreen" }; +locObj.resourceGold = { "txt": "золото", "loc": "resource panel" }; +locObj.resourcePop = { "txt": "население", "loc": "resource panel" }; +locObj.cityScreenArcheryRange = { "txt": "стрельбище", "loc": "cityscreen" }; +locObj.paginationStart = { "txt": "В начало", "loc": "stat pages, to the start button" }; +locObj.paginationPrevious = { "txt": "Предыдущая", "loc": "stat pages, previous page" }; +locObj.paginationNext = { "txt": "Следующая", "loc": "stat pages, next page btn" }; +locObj.paginationCurrent = { "txt": "К текущей", "loc": "stat pages, current btn" }; +locObj.tabPopHistory = { "txt": "Данные о населении по периодам", "loc": "Label in Pop history tab" }; +locObj.tabPopHistoryCurrentLimit = { "txt": "Текущий лимит населения %arg1", "loc": "Label current pop limit" }; +locObj.tabGoldHistoryCurrentLimit = { "txt": "Текущий лимит золота %arg1", "loc": "label current gold limit" }; +locObj.tabGoldHistory = { "txt": "Данные о казне по периодам", "loc": "Label in Gold history tab" }; +locObj.dayAcronym = { "txt": "Д", "loc": "used for countdown in events" }; +locObj.hourAcronym = { "txt": "Ч", "loc": "used for countdown in events" }; +locObj.minuteAcronym = { "txt": "М", "loc": "used for countdown in events" }; +locObj.countDownBeforeEventStarts = { "txt": "Время до начала ближайшего тематического игрового мероприятия", "loc": "resource panel?" }; +locObj.countDownBeforeEventEnds = { "txt": "Время до конца ближайшего тематического игрового мероприятия", "loc": "resource panel?" }; +locObj.mapRegenerate = { "txt": "Небо над городом потемнело, засверкали молнии, и внезапно всё прекратилось", "loc": "after pressed generate new map button" }; +locObj.day = { "txt": "День", "loc": "occurs in autobattles logs" }; +locObj.autocampaignWithdrawErr = { "txt": "Команда доступна только если герой находится в автокампании!", "loc": "happens when failing to withdraw the hero from autocampaign" }; +locObj.autocampaignWithdrawDialogConfirm = { "txt": "Вы хотите отозвать героя?", "loc": "happens when you pressing withdraw button" }; +locObj.heroLost = { "txt": "герой и все его войска встретили свою смерть на поле брани", "loc": "happens when the hero is lost" }; +locObj.autocampaignHeroCrushedVastEnemyArmy = { "txt": "герой встретил превосходящего по численности врага и одолел его. Опыт и деньги стали наградой!", "loc": "autocampaign journal with aggressive stance" }; +locObj.autocampaignHeroCrushedSmallEnemyArmy = { "txt": "герой встретил малочисленного врага и одолел его. Опыт и деньги стали наградой!", "loc": "autocampaign journal with cautious stance" }; +locObj.autocampaignNoEvents = { "txt": "день прошел скучно. Один язычник был убит (охотник принял его в лесу за дикого зверя. Бывает)", "loc": "autocampaign log no events" }; +locObj.autocampaignLootList = { "txt": "Добытые трофеи из похода: ", "loc": "autocampaign" }; +locObj.dialogDismissHeroConfirm = { "txt": "Вы хотите уволить героя со всеми войсками?", "loc": "when dismiss hero button pressed" }; +locObj.dialogDismissHeroNoOption = { "txt": "Нет. Сперва надо забрать войска", "loc": "when you declined" }; +locObj.dialogMapRegenerate = { "txt": "Вы хотите создать карту заново? Это будет стоить %arg1 золота", "loc": "map regenerate confirmation dialogue" }; +locObj.errMapRegenerateHeroOnMap = { "txt": "Нельзя это сделать, пока герой на карте", "loc": "happens if you try to make new map while your hero on an existing one" }; +locObj.tabInnWelcome = { "txt": "Вы в Таверне", "loc": "label in Inn tab" }; +locObj.tabInnBtnHireHero = { "txt": "Нанять героя
уровень %arg1
%arg2 золота", "loc": "tab Inn, button Hire Hero" }; +locObj.heroStatLuck = { "txt": "удача", "loc": "hero stat" }; +locObj.heroStatSuperstition = { "txt": "суеверность", "loc": "hero stat" }; +locObj.heroStatMorale = { "txt": "мораль", "loc": "hero stat" }; +locObj.heroFoundMoney = { "txt": "герой нашел немного денег: %arg1", "loc": "when a chest found on Adventure Map" }; +locObj.heroStatInt = { "txt": "Интеллект", "loc": "hero stat" }; +locObj.heroStatLevel = { "txt": "Уровень", "loc": "hero stat" }; +locObj.heroStatAtk = { "txt": "Атака", "loc": "hero stat" }; +locObj.heroStatDef = { "txt": "Защита", "loc": "hero stat" }; +locObj.heroStatMP = { "txt": "Мана", "loc": "hero stat" }; +locObj.heroStatSpellpower = { "txt": "Сила магии", "loc": "hero stat" }; +locObj.heroExp = { "txt": "Опыт", "loc": "hero stat" }; +locObj.heroCurrentExp = { "txt": "Текущий опыт", "loc": "hero stat" }; +locObj.heroNextLvlExp = { "txt": "Опыт, необходимый для следующего уровня", "loc": "hero stat" }; +locObj.heroClasses = { "txt": ["Рыцарь", "Монах"], "loc": "inn tab" }; +locObj.lblClass = { "txt": "Класс", "loc": "inn tab" }; +locObj.lblHeroLocation = { "txt": "Герой сейчас ", "loc": "inn tab" }; +locObj.heroInTown = { "txt": " где-то в городе", "loc": "used to build hero activity line" }; +locObj.heroInAutocampaign = { "txt": " в автокампании", "loc": "used to build hero activity line" }; +locObj.heroOnAdventureMap = { "txt": " на карте приключений", "loc": "used to build hero activity line" }; +locObj.heroActivitiesInTown = { "txt": ["ест", "пьет", "играет в карты", "тренируется", "дерется", "отдыхает"], "loc": "used to build hero activity line" }; +locObj.heroActivitiesInAutocampaign = { "txt": ["возвращается в город", "на марше", "убивает язычников", "обращает язычников", "строит лагерь", "собирает трофеи"], "loc": "used to build hero activity line" }; +locObj.heroActivitiesOnAdventureMap = { "txt": ["на марше", "строит лагерь", "собирает трофеи"], "loc": "used to build hero activity line" }; +locObj.lblDistanceFromTown = { "txt": "Дней от города", "loc": "inn tab" }; +locObj.directionFromTown = { "txt": "От города", "loc": "inn tab" }; +locObj.directionToTown = { "txt": "К городу", "loc": "inn tab" }; +locObj.goldInHerosPurse = { "txt": "Злата в кошеле героя", "loc": "inn tab" }; +locObj.lblDirection = { "txt": "Направление: ", "loc": "inn tab" }; +locObj.btnDismissHero = { "txt": "Уволить героя", "loc": "inn tab" }; +locObj.btnAutocampaignSendHero = { "txt": "Отправить в поход", "loc": "inn tab" }; +locObj.btnAutocampaignWithdrawHero = { "txt": "Вернуть из похода", "loc": "inn tab" }; +locObj.btnAutocampaignOpenJournal = { "txt": "Открыть журнал", "loc": "inn tab" }; +locObj.btnUseTowngateScroll = { "txt": "Свиток городских врат", "loc": "inn tab" }; +locObj.btnGoToAdvenureMap = { "txt": "На карту приключений", "loc": "inn tab" }; +locObj.btnRegenerateMap = { "txt": "Пересоздать карту", "loc": "inn tab" }; +locObj.msgHeroAdvancedToNextLvl = { "txt": "Ваш герой достиг следующего уровня!", "loc": "event log?" }; +locObj.dlgHeroStance = { "txt": "Выберите поведение героя: агрессивное (выше награда и риск) или осторожное?", "loc": "dialog happens when hero leaving town" }; +locObj.ansHeroAggressiveStance = { "txt": "Агрессивное. Хочу крови и денег!", "loc": "One of the options to the locObj.dlgHeroStance question" }; +locObj.ansHeroCautiousStance = { "txt": "Осторожное. Какой толк от денег, если ваш герой мертв?", "loc": "One of the options to the locObj.dlgHeroStance question" }; +locObj.errHeroHasNoTroops = { "txt": "Сначала добавьте войск герою", "loc": "when trying to send hero outta city with no troops" }; +locObj.errNoHero = { "txt": "Для этого нужен герой!", "loc": "when trying to invoke hero-related actions with no hero" }; +locObj.msgAfterSellToTrader = { "txt": "Приятно иметь с вами дело. Надеюсь на скорую встречу с вами вновь.", "loc": "not used so far" }; +locObj.msgAfterBuyFromTrader = { "txt": "Поздравляю с покупкой. Это хороший выбор.", "loc": "not used so far" }; +locObj.artifactTowngateAfterUse = { "txt": "Герой теперь буквально в одном шаге от города!!", "loc": "after the artefact was used" }; +locObj.artifactErrNoTowngate = { "txt": "У вас нет свитка городских врат!", "loc": "when trying to use towngate scroll witout having one" }; +locObj.artifactErrWrongDirection = { "txt": "Сначала направьте героя в город.", "loc": "happens when try to cast towngate and moving from the town" }; +locObj.lblGoodForSale = { "txt": "Продавец с черного рынка предлагает свои товары на продажу!", "loc": "blackmarket tab, good for sale from the NPC" }; +locObj.lblHeroGoodsFoSale = { "txt": "Продавец с черного рынка может выкупить ваши товары.", "loc": "blackmarket tab" }; //TODO chech the following three, they aren't in use right now for some reason! -locObj.tabBlackMarketlblPrice = {"txt": "цена ", "loc": "blackmarket tab"}; -locObj.btnBuySelected = {"txt": "Купить выбранное", "loc": "blackmarket tab"}; -locObj.btnSellSelected = {"txt": "Продать выбранное", "loc": "blackmarket tab"}; -locObj.lblFirebrigade = {"txt": "Пожарная охрана", "loc": "firebrigade tab title"}; -locObj.lblFireServiceStatus = {"txt": "Пожарная охрана", "loc": "fireservice service label"}; -locObj.onDuty = {"txt": "на службе", "loc":"a fire service status - enabled"}; -locObj.offDuty = {"txt": "не на службе", "loc":"a fire service status - disabled"}; -locObj.lblFirebrigadeUpkeep = {"txt":"Цена содержания пожарной охраны", "loc":"firebrigade tab"}; -locObj.fireExtinguishingProgress = {"txt": "%arg1% пожара потушено", "loc":"firebrigade tab"}; -locObj.heroTroopsUpkeepSource = {"txt": "Основной источник выплаты содержания войскам героя ", "loc": "inn tab"}; -locObj.noUpkeepSergeantsDismissed = {"txt": "Вы не можете платить содержание сержантам. Они уволены.", "loc":"happens in calcTurn if no money for sergeants"}; -locObj.noUpkeepTurkopolsDismissed = {"txt": "Вы не можете платить содержание туркополам. Они уволены.", "loc":"happens in calcTurn if no money for turkopols"}; -locObj.noUpkeepKnightsDismissed = {"txt": "Вы не можете платить содержание рыцарям. Они уволены.", "loc":"happens in calcTurn if no money for knights"}; -locObj.noUpkeepFirebrigadeDismissed = {"txt": "Вы не можете платить содержание пожарным. Они уволены.", "loc": "happens in calcTurn if no money for firebrigade"}; -locObj.heroTroopsUpkeepSrcHeroPurse = {"txt": "кошелек героя", "loc": "inn tab"}; -locObj.heroTroopsUpkeepSrcTreasury = {"txt": "сокровищница", "loc": "inn tab"}; \ No newline at end of file +locObj.tabBlackMarketlblPrice = { "txt": "цена ", "loc": "blackmarket tab" }; +locObj.btnBuySelected = { "txt": "Купить выбранное", "loc": "blackmarket tab" }; +locObj.btnSellSelected = { "txt": "Продать выбранное", "loc": "blackmarket tab" }; +locObj.lblFirebrigade = { "txt": "Пожарная охрана", "loc": "firebrigade tab title" }; +locObj.lblFireServiceStatus = { "txt": "Пожарная охрана", "loc": "fireservice service label" }; +locObj.onDuty = { "txt": "на службе", "loc": "a fire service status - enabled" }; +locObj.offDuty = { "txt": "не на службе", "loc": "a fire service status - disabled" }; +locObj.lblFirebrigadeUpkeep = { "txt": "Цена содержания пожарной охраны", "loc": "firebrigade tab" }; +locObj.fireExtinguishingProgress = { "txt": "%arg1% пожара потушено", "loc": "firebrigade tab" }; +locObj.heroTroopsUpkeepSource = { "txt": "Основной источник выплаты содержания войскам героя ", "loc": "inn tab" }; +locObj.noUpkeepSergeantsDismissed = { "txt": "Вы не можете платить содержание сержантам. Они уволены.", "loc": "happens in calcTurn if no money for sergeants" }; +locObj.noUpkeepTurkopolsDismissed = { "txt": "Вы не можете платить содержание туркополам. Они уволены.", "loc": "happens in calcTurn if no money for turkopols" }; +locObj.noUpkeepKnightsDismissed = { "txt": "Вы не можете платить содержание рыцарям. Они уволены.", "loc": "happens in calcTurn if no money for knights" }; +locObj.noUpkeepFirebrigadeDismissed = { "txt": "Вы не можете платить содержание пожарным. Они уволены.", "loc": "happens in calcTurn if no money for firebrigade" }; +locObj.heroTroopsUpkeepSrcHeroPurse = { "txt": "кошелек героя", "loc": "inn tab" }; +locObj.heroTroopsUpkeepSrcTreasury = { "txt": "сокровищница", "loc": "inn tab" }; \ No newline at end of file diff --git a/tests/tests_cypress/E2E/cypress/e2e/buttonAbout.cy.js b/tests/tests_cypress/E2E/cypress/e2e/buttonAbout.cy.js index 0d612f9..6088129 100644 --- a/tests/tests_cypress/E2E/cypress/e2e/buttonAbout.cy.js +++ b/tests/tests_cypress/E2E/cypress/e2e/buttonAbout.cy.js @@ -54,7 +54,7 @@ describe('About', () => { cy.get('.content-panel').within(() => { cy.get('#About').within(() => { cy.get('#aboutGameWrapper').within(() => { - cy.get('#lblAboutGame').within(() => { + // cy.get('#lblAboutGame').within(() => { cy.get('[href="https://github.com/Areso/1255-burgomaster/wiki"]'); cy.get('[href="https://docs.google.com/forms/d/e/1FAIpQLSdM9HyQVEdW39Mc2-t8_LNFXUlyMZLhvX0jx_uvrzxF7QnmfQ/viewform"]'); cy.get('[href="https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE"]'); @@ -72,7 +72,7 @@ describe('About', () => { // }); - }); + // }); }); }); }); From bf58228cf224f8537cfa0374c8172a3bb1723734 Mon Sep 17 00:00:00 2001 From: aablatov Date: Wed, 22 Mar 2023 11:43:34 +0300 Subject: [PATCH 60/86] add args --- js/dom.js | 2 +- langs/en-US.js | 4 ++-- langs/ru-RU.js | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/js/dom.js b/js/dom.js index 2ecf40a..5cee1b8 100644 --- a/js/dom.js +++ b/js/dom.js @@ -48,7 +48,7 @@ include('localisation.js',function(){ document.getElementById("lblAbout_h2").innerText = locObj.lblAbout_h2.txt; document.getElementById("lblAbout_wiki").innerHTML = locObj.lblAbout_wiki.txt; document.getElementById("lblAbout_feedback").innerHTML = locObj.lblAbout_feedback.txt; - document.getElementById("lblAbout_meh").innerText = locObj.lblAbout_meh.txt; + document.getElementById("lblAbout_meh").innerText = locObj.lblAbout_meh.txt.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll); document.getElementById("lblAbout_supLang").innerText = locObj.lblAbout_supLang.txt; document.getElementById("lblAbout_googleLang").innerHTML = locObj.lblAbout_googleLang.txt; document.getElementById("lblTabPop").innerText = locObj.tabPopHistory.txt; diff --git a/langs/en-US.js b/langs/en-US.js index cc16abc..7f84f15 100644 --- a/langs/en-US.js +++ b/langs/en-US.js @@ -672,8 +672,8 @@ locObj.lblAbout_meh = { "Each lvl of the treasury allows you to store more gold.\n" + "Also, Treasury allows you to hire treasury guards.\n" + "Treasury guards significantly decrease chance of gold being stolen from your treasury.\n" + - "Hiring a guard will cost you 20 gold.\n" + - 'Each guard requires regular payment (each tick), it also costs 10 gold.\n' + + "Hiring a guard will cost you %arg1 gold.\n" + + 'Each guard requires regular payment (each tick), it also costs %arg2 gold.\n' + "If you do not have enough money, they will leave their work permanently.\n" + "You can build Fountain OR Gallows. You cannot change your choice after building is done.\n" + "Fountains will increase happiness and speed of population growth.\n" + diff --git a/langs/ru-RU.js b/langs/ru-RU.js index 033f688..f5ad0f0 100644 --- a/langs/ru-RU.js +++ b/langs/ru-RU.js @@ -673,8 +673,8 @@ locObj.lblAbout_meh = { "Чем выше уровень сокровищницы, тем больше золота вы можете в ней хранить.\n" + "Также, сокровищница позволяет нанимать охранников.\n" + "Охрана существенно снижает шанс воровства из сокровищницы.\n" + - "Найм охранника будет стоить 20 золотых.\n" + - "Каждый тик охранники нуждаются в жаловании, которое составляет 10 золотых.\n" + + "Найм охранника будет стоить %arg1 золотых.\n" + + "Каждый тик охранники нуждаются в жаловании, которое составляет %arg2 золотых.\n" + "Если в Сокровищнице будет недостаточно денег для выплаты жалования, они покинут вас.\n" + "Вы можете построить фонтан ИЛИ виселицу. Вы не можете изменить свой выбор, после того, как построили здание.\n" + "Фонтаны увеличивают счастье и скорость роста населения.\n" + From 81696cc8c9d1455d330f6be00ec1e075f3f987b8 Mon Sep 17 00:00:00 2001 From: aablatov Date: Thu, 23 Mar 2023 00:44:23 +0300 Subject: [PATCH 61/86] correction --- js/dom.js | 2 +- langs/de-DE.js | 772 ++++++++--------- langs/en-US.js | 3 +- langs/eo.js | 777 +++++++++--------- langs/es-ES.js | 70 +- langs/fr-FR.js | 774 ++++++++--------- langs/ru-RU.js | 1 + .../cypress/e2e/verificationLang_de-DE.cy.js | 5 +- .../cypress/e2e/verificationLang_en-US.cy.js | 5 +- .../cypress/e2e/verificationLang_eo.cy.js | 5 +- .../cypress/e2e/verificationLang_es-ES.cy.js | 319 +++++++ .../cypress/e2e/verificationLang_fr-FR.cy.js | 5 +- .../cypress/e2e/verificationLang_ru-RU.cy.js | 5 +- 13 files changed, 1536 insertions(+), 1207 deletions(-) create mode 100644 tests/tests_cypress/check_langs/cypress/e2e/verificationLang_es-ES.cy.js diff --git a/js/dom.js b/js/dom.js index 5cee1b8..8bf98fb 100644 --- a/js/dom.js +++ b/js/dom.js @@ -96,7 +96,7 @@ include('localisation.js',function(){ document.getElementById("btnGoldNext").innerText = locObj.paginationNext.txt; document.getElementById("btnPopAtEnd").innerText = locObj.paginationCurrent.txt; document.getElementById("btnGoldAtEnd").innerText = locObj.paginationCurrent.txt; - document.getElementById("downloadGame").innerText = localeStrings[328]; + document.getElementById("downloadGame").innerText = locObj.downloadGame.txt; document.getElementById("lblLevelForHireLbl").innerText = locObj.heroLvlLbl.txt; document.getElementById("spnServerStatusLabel").innerText= locObj.serverStatusSpn.txt; document.getElementById("spnServerStatusValue").innerText= locObj.serverStatusND.txt; diff --git a/langs/de-DE.js b/langs/de-DE.js index 6ad796a..146e6ec 100644 --- a/langs/de-DE.js +++ b/langs/de-DE.js @@ -60,8 +60,8 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder");//55 localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push(["placeholder","placeholder"]); -localeStrings.push(["placeholder","placeholder"]); +localeStrings.push(["placeholder", "placeholder"]); +localeStrings.push(["placeholder", "placeholder"]); localeStrings.push("placeholder");//60 localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -90,7 +90,7 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder");//85 localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push(["placeholder","placeholder","placeholder"]); +localeStrings.push(["placeholder", "placeholder", "placeholder"]); localeStrings.push("placeholder"); localeStrings.push("placeholder");//90 localeStrings.push("placeholder"); @@ -167,7 +167,7 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push(["plc","plc","plc"]);//165 +localeStrings.push(["plc", "plc", "plc"]);//165 localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -375,7 +375,7 @@ localeStrings.push("You don't have any knights at the garrison"); localeStrings.push("You don't have any sergeants at the hero's squad"); //370 localeStrings.push("You don't have any turkopols at the hero's squad"); localeStrings.push("You don't have any knights at the hero's squad"); -localeStrings.push("You don't have any forces at the garrison"); +localeStrings.push("You don't have any forces at the garrison"); localeStrings.push("You don't have any forces at the hero's squad"); localeStrings.push("sergeants(%arg1)"); //375 localeStrings.push("turkopols(%arg1)"); @@ -383,414 +383,418 @@ localeStrings.push("knights(%arg1)"); locObj = {}; //locObj.welcome2 = {"txt":"", "loc":""}; -locObj.welcome0 = {"txt":"Seid gegrüßt, edler Spieler.", "loc":"Once game initted, those strings are put to the gamelog"}; -locObj.welcome1 = {"txt":"Eure Aufgabe ist einfach - verwaltet die Stadt als ihr Bürgermeister.", "loc":"same"}; -locObj.welcome2 = {"txt":"Bürger zahlen jede Saison (30 Sekunden) Steuern. Außerdem wird die Bevölkerung jede Saison wachsen.", "loc":"same"}; -locObj.okay = {"txt":"Gut", "loc":"Mostly used in information dialogues"}; -locObj.skipTutorial = {"txt": "I don't need any advices!", "loc": "Dont show tutorial messages"}; // TODO: Translate it +locObj.welcome0 = { "txt": "Seid gegrüßt, edler Spieler.", "loc": "Once game initted, those strings are put to the gamelog" }; +locObj.welcome1 = { "txt": "Eure Aufgabe ist einfach - verwaltet die Stadt als ihr Bürgermeister.", "loc": "same" }; +locObj.welcome2 = { "txt": "Bürger zahlen jede Saison (30 Sekunden) Steuern. Außerdem wird die Bevölkerung jede Saison wachsen.", "loc": "same" }; +locObj.okay = { "txt": "Gut", "loc": "Mostly used in information dialogues" }; +locObj.skipTutorial = { "txt": "I don't need any advices!", "loc": "Dont show tutorial messages" }; // TODO: Translate it -locObj.tutorial0_w0 = {"txt":"Ihr Onkel, der Landmeister des Deutschen Ordens, hat Sie geschickt,\num eine Stadt an der heidnischen Grenze zu bauen.\nSie haben einen geeigneten Ort mit einem Hügel, einem Fluss und einem Wald gefunden.\nIhre Bauern haben den Platz bereits geräumt und sind bereit zum Bauen", "loc":"tutorial0_w0"}; -locObj.tutorial1_pop0 = {"txt":"Herr Komtur, Sie müssen Häuser bauen,\num Ihre Bevölkerung wachsen zu lassen", "loc":"tutorial0_w0"}; -locObj.tutorial_defense = {"txt":"Herr Komtur, Pfadfinder berichteten\nüber bewaffnete Menschen im nächsten Wald.\nErwägen Sie, eine Mauer zu bauen", "loc":"tutorial msg when defense line is unlocked"}; -locObj.tutorial_treasury = {"txt":"Herr Komtur, Ihr Goldvorrat wächst.\nBaue eine Schatzkammer, um die große Menge Gold aufzubewahren", "loc":"tutorial msg when treasury is unlocked"}; -locObj.tutorial_treasury_guards = {"txt":"Herr Komtur, Jetzt können Sie Schatzmeister in Ihrer Schatzkammer einstellen\nSie verringern die Wahrscheinlichkeit, aus der Schatzkammer zu stehlen", "loc":"tutorial msg when treasury is built"}; -locObj.tutorial_stash = {"txt":"Herr Komtur, Diebe haben Gold aus deiner Schatzkammer gestohlen!\nBaue ein Versteck, damit du etwas Gold vor\ndem Stehlen verstecken kannst ", "loc":"tutorial msg when first stealing has a place"}; -locObj.tutorial_stable = {"txt":"Herr Komtur, Jetzt könnten Sie Ställe bauen\nIn Ställen können Sie Sergeants und Ritter einstellen", "loc":"tutorial msg when reached 50 pop"}; -locObj.tutorial_archery = {"txt":"Herr Komtur, Jetzt können Sie die Bogenschießanlage bauen\nMit dem Bogenschießbereich können Sie Turkopole in Ställen mieten", "loc":"tutorial msg when reached 70 pop"}; -locObj.tutorial_inn = {"txt":"Herr Komtur, Jetzt könnten Sie einbauen\nIm Inn können Sie einen Helden einstellen ", "loc":"tutorial msg when reached 100 pop"}; -locObj.tutorial_social = {"txt":"Herr Komtur, Jetzt könnten Sie Galgen oder Brunnen bauen\nBeide haben eigene passive und aktive Boni ", "loc":"tutorial msg when reached 120 pop"}; -locObj.tutorial_university = {"txt":"Sir Commander, now you could build Univeristy\nUniversity will allow you to research new technologies", "loc":"tutorial msg when year is 1544"}; -locObj.tutorial_firebrigade = {"txt":"Herr Komtur, Sie können eine Feuerwehr mieten, indem Sie auf den Brunnen klicken\nDie Feuerwehr wird das Feuer irgendwann löschen\nDer Unterhalt der Feuerwehr hängt davon ab, wie viele Gebäude Sie gebaut und aufgerüstet haben", "loc":"tutorial msg when fire, pop>50, year>1260"}; -locObj.tutorial_autosave = {"txt":"Sir Commander, you should consider to enable autosave in Settings", "loc":"tutorial. Triggered by 10 first ticks"}; -locObj.tutorial_moving_troops = {"txt":"Sir Commander, buttons near the number of units allow you to manage units\nSingle arrow moves a unit, double arrow moves a stack,\nX button fires a unit, XX button fires a stack", "loc":"triggered by first enter into Hiring tab"}; -locObj.tutorial_new_buildings = {"txt":"New buildings will unlock as your population grows","loc":"tutorial"} +locObj.tutorial0_w0 = { "txt": "Ihr Onkel, der Landmeister des Deutschen Ordens, hat Sie geschickt,\num eine Stadt an der heidnischen Grenze zu bauen.\nSie haben einen geeigneten Ort mit einem Hügel, einem Fluss und einem Wald gefunden.\nIhre Bauern haben den Platz bereits geräumt und sind bereit zum Bauen", "loc": "tutorial0_w0" }; +locObj.tutorial1_pop0 = { "txt": "Herr Komtur, Sie müssen Häuser bauen,\num Ihre Bevölkerung wachsen zu lassen", "loc": "tutorial0_w0" }; +locObj.tutorial_defense = { "txt": "Herr Komtur, Pfadfinder berichteten\nüber bewaffnete Menschen im nächsten Wald.\nErwägen Sie, eine Mauer zu bauen", "loc": "tutorial msg when defense line is unlocked" }; +locObj.tutorial_treasury = { "txt": "Herr Komtur, Ihr Goldvorrat wächst.\nBaue eine Schatzkammer, um die große Menge Gold aufzubewahren", "loc": "tutorial msg when treasury is unlocked" }; +locObj.tutorial_treasury_guards = { "txt": "Herr Komtur, Jetzt können Sie Schatzmeister in Ihrer Schatzkammer einstellen\nSie verringern die Wahrscheinlichkeit, aus der Schatzkammer zu stehlen", "loc": "tutorial msg when treasury is built" }; +locObj.tutorial_stash = { "txt": "Herr Komtur, Diebe haben Gold aus deiner Schatzkammer gestohlen!\nBaue ein Versteck, damit du etwas Gold vor\ndem Stehlen verstecken kannst ", "loc": "tutorial msg when first stealing has a place" }; +locObj.tutorial_stable = { "txt": "Herr Komtur, Jetzt könnten Sie Ställe bauen\nIn Ställen können Sie Sergeants und Ritter einstellen", "loc": "tutorial msg when reached 50 pop" }; +locObj.tutorial_archery = { "txt": "Herr Komtur, Jetzt können Sie die Bogenschießanlage bauen\nMit dem Bogenschießbereich können Sie Turkopole in Ställen mieten", "loc": "tutorial msg when reached 70 pop" }; +locObj.tutorial_inn = { "txt": "Herr Komtur, Jetzt könnten Sie einbauen\nIm Inn können Sie einen Helden einstellen ", "loc": "tutorial msg when reached 100 pop" }; +locObj.tutorial_social = { "txt": "Herr Komtur, Jetzt könnten Sie Galgen oder Brunnen bauen\nBeide haben eigene passive und aktive Boni ", "loc": "tutorial msg when reached 120 pop" }; +locObj.tutorial_university = { "txt": "Sir Commander, now you could build Univeristy\nUniversity will allow you to research new technologies", "loc": "tutorial msg when year is 1544" }; +locObj.tutorial_firebrigade = { "txt": "Herr Komtur, Sie können eine Feuerwehr mieten, indem Sie auf den Brunnen klicken\nDie Feuerwehr wird das Feuer irgendwann löschen\nDer Unterhalt der Feuerwehr hängt davon ab, wie viele Gebäude Sie gebaut und aufgerüstet haben", "loc": "tutorial msg when fire, pop>50, year>1260" }; +locObj.tutorial_autosave = { "txt": "Sir Commander, you should consider to enable autosave in Settings", "loc": "tutorial. Triggered by 10 first ticks" }; +locObj.tutorial_moving_troops = { "txt": "Sir Commander, buttons near the number of units allow you to manage units\nSingle arrow moves a unit, double arrow moves a stack,\nX button fires a unit, XX button fires a stack", "loc": "triggered by first enter into Hiring tab" }; +locObj.tutorial_new_buildings = { "txt": "New buildings will unlock as your population grows", "loc": "tutorial" } -locObj.story1_catastrophe = {"txt":"Deine Streitkräfte haben eine Hexe gefangen genommen. Der Prozess war schnell und kurz\nWährend sich die Leute versammelten, um die Hinrichtung zu beobachten, begann sie zu singen\nAls Flammen ihre nackten Füße leckten, schrie sie. In diesem Moment traf aus dem Nichts\nein Blitz mit titanischer Kraft. Mitten im Feuer...", "loc":"tutorial msg catastrophe"}; -locObj.story2_two_steps = {"txt":"You saw a few peasants, running from ugly monsters you have never seen\nYou killed monsters and asked peasants what happened\nThey told you that trolls were mad because they don't paid for passing by...", "loc":"tutorial. when you step 2 times from city"}; +locObj.story1_catastrophe = { "txt": "Deine Streitkräfte haben eine Hexe gefangen genommen. Der Prozess war schnell und kurz\nWährend sich die Leute versammelten, um die Hinrichtung zu beobachten, begann sie zu singen\nAls Flammen ihre nackten Füße leckten, schrie sie. In diesem Moment traf aus dem Nichts\nein Blitz mit titanischer Kraft. Mitten im Feuer...", "loc": "tutorial msg catastrophe" }; +locObj.story2_two_steps = { "txt": "You saw a few peasants, running from ugly monsters you have never seen\nYou killed monsters and asked peasants what happened\nThey told you that trolls were mad because they don't paid for passing by...", "loc": "tutorial. when you step 2 times from city" }; -locObj.unit_sergeants = {"txt": "Sergeants", "loc": "Autbattle log, player unit"}; -locObj.unit_turkopols = {"txt": "Turkopols", "loc": "Autbattle log, player unit"}; -locObj.unit_knights = {"txt": "Brother-knights", "loc": "Autbattle log, player unit"}; +locObj.unit_sergeants = { "txt": "Sergeants", "loc": "Autbattle log, player unit" }; +locObj.unit_turkopols = { "txt": "Turkopols", "loc": "Autbattle log, player unit" }; +locObj.unit_knights = { "txt": "Brother-knights", "loc": "Autbattle log, player unit" }; -locObj.unit_bandit = {"txt": "Bandits", "loc": "Autbattle log, enemy unit"}; -locObj.unit_bandit_archer = {"txt": "Bandits archers", "loc": "Autbattle log, enemy unit"}; -locObj.unit_merc_swordman = {"txt": "Mercenary swordmen", "loc": "Autbattle log, highlevel enemy unit"}; -locObj.unit_merc_spearman = {"txt": "Mercenary spearmen", "loc": "Autbattle log, highlevel enemy unit"}; -locObj.unit_goblin = {"txt": "Goblins", "loc": "Autbattle log, enemy unit"}; +locObj.unit_bandit = { "txt": "Bandits", "loc": "Autbattle log, enemy unit" }; +locObj.unit_bandit_archer = { "txt": "Bandits archers", "loc": "Autbattle log, enemy unit" }; +locObj.unit_merc_swordman = { "txt": "Mercenary swordmen", "loc": "Autbattle log, highlevel enemy unit" }; +locObj.unit_merc_spearman = { "txt": "Mercenary spearmen", "loc": "Autbattle log, highlevel enemy unit" }; +locObj.unit_goblin = { "txt": "Goblins", "loc": "Autbattle log, enemy unit" }; -locObj.autobattle_journal_btn = {"txt": "Battle journal", "loc": "Inn window. Battle report by round moves"}; -locObj.autobattle_journal_log_start = {"txt": "Round started", "loc": "Start round title"}; -locObj.autobattle_journal_log_end = {"txt": "Round ended", "loc": "End round title"}; -locObj.autobattle_journal_log_dmg = {"txt": "%arg1 squad does %arg2 dmg to %arg3.", "loc": "Autobattle dmg log"}; -locObj.autobattle_journal_log_dead = {"txt": "%arg1 %arg2 is dead.", "loc": "Autobattle dead log"}; -locObj.autobattle_journal_log_destroyed = {"txt": "%arg1 squad is destroyed.", "loc": "Autobattle destroyed squad log"}; +locObj.autobattle_journal_btn = { "txt": "Battle journal", "loc": "Inn window. Battle report by round moves" }; +locObj.autobattle_journal_log_start = { "txt": "Round started", "loc": "Start round title" }; +locObj.autobattle_journal_log_end = { "txt": "Round ended", "loc": "End round title" }; +locObj.autobattle_journal_log_dmg = { "txt": "%arg1 squad does %arg2 dmg to %arg3.", "loc": "Autobattle dmg log" }; +locObj.autobattle_journal_log_dead = { "txt": "%arg1 %arg2 is dead.", "loc": "Autobattle dead log" }; +locObj.autobattle_journal_log_destroyed = { "txt": "%arg1 squad is destroyed.", "loc": "Autobattle destroyed squad log" }; -locObj.advmap = {"txt":"Um deinen Helden zu bewegen, benutze die Pfeiltasten\nWenn Sie mit Sensoreingaben spielen, aktivieren Sie bitte die mobile Benutzeroberfläche in den Einstellungen", "loc":"when first visiting adventure map"}; -locObj.plague_turk = {"txt":"Am Rande: Ihr Turkopol hat eine Pestperson entdeckt und auf sie geschossen. Die Leiche wurde danach verbrannt", "loc":"Random event. Plague. A turkopol prevents plague in the city"}; -locObj.plague_army = {"txt":"Dumm gelaufen: Der Pestausbruch wurde von Ihrer Garnison gestoppt, aber %arg1 Ihrer Garnisonstruppen getötet", "loc":"Your army prevents plague in the city. Some soldiers are dead now"}; -locObj.plague = {"txt":"Dumm gelaufen: Die Pest streckte %arg1 Bürger nieder!", "loc":"default plague case + case where army failed to prevent outbreak"}; -locObj.new_adepts = {"txt":"People had heard that any new christian gets gifts from the Church. And so they came: %arg1","loc":"migration event case 1"}; -locObj.people_arrive = {"txt":"People had heard that you are kind ruler. And so they came: %arg1","loc":"migration event case 2"}; -locObj.people_leave = {"txt":"People left you, because of your cruelty. Left: %arg1","loc":"migration event case 3"}; -locObj.city_chest_gold = {"txt":"Du hast %arg1 Gold in einer Truhe gefunden!", "loc":"Random event. Opened a short-living chest in city screen"}; -locObj.blackmarket_dstr = {"txt":"Ein großer grüner Kobold mit fettem Bauch, der sich Elbenkonig nannte,\n bot Ihnen eine Vielzahl magischer Artefakte an.\nSie als wahrer Christ, ein Bruder des Deutschen Ordens, waren davon beleidigt.\nDas erste, was Sie vorhatten, war, den Kobold zu töten und den Markt zu verbrennen.\nAndererseits könnten sich magische Artefakte in dieser Welt als hilfreich erweisen.\nWas werden Sie tun?", "loc":"This dialogue happens every time you first visit blackmarket on the newly generated map"}; -locObj.blackmarket_dstr_brn = {"txt":"Töte den Kobold und verbrenne den Schwarzmarkt!", "loc":"Destroying the blackmarket"}; -locObj.blackmarket_dstr_kp = {"txt":"Starten Sie den Handel", "loc":"Keeping the blackmarket"}; -locObj.borderCollide = {"txt":"Du hast eine unsichtbare Wand getroffen. Du konnten nicht weiter gehen", "loc":"adventure map. collision with border"}; +locObj.advmap = { "txt": "Um deinen Helden zu bewegen, benutze die Pfeiltasten\nWenn Sie mit Sensoreingaben spielen, aktivieren Sie bitte die mobile Benutzeroberfläche in den Einstellungen", "loc": "when first visiting adventure map" }; +locObj.plague_turk = { "txt": "Am Rande: Ihr Turkopol hat eine Pestperson entdeckt und auf sie geschossen. Die Leiche wurde danach verbrannt", "loc": "Random event. Plague. A turkopol prevents plague in the city" }; +locObj.plague_army = { "txt": "Dumm gelaufen: Der Pestausbruch wurde von Ihrer Garnison gestoppt, aber %arg1 Ihrer Garnisonstruppen getötet", "loc": "Your army prevents plague in the city. Some soldiers are dead now" }; +locObj.plague = { "txt": "Dumm gelaufen: Die Pest streckte %arg1 Bürger nieder!", "loc": "default plague case + case where army failed to prevent outbreak" }; +locObj.new_adepts = { "txt": "People had heard that any new christian gets gifts from the Church. And so they came: %arg1", "loc": "migration event case 1" }; +locObj.people_arrive = { "txt": "People had heard that you are kind ruler. And so they came: %arg1", "loc": "migration event case 2" }; +locObj.people_leave = { "txt": "People left you, because of your cruelty. Left: %arg1", "loc": "migration event case 3" }; +locObj.city_chest_gold = { "txt": "Du hast %arg1 Gold in einer Truhe gefunden!", "loc": "Random event. Opened a short-living chest in city screen" }; +locObj.blackmarket_dstr = { "txt": "Ein großer grüner Kobold mit fettem Bauch, der sich Elbenkonig nannte,\n bot Ihnen eine Vielzahl magischer Artefakte an.\nSie als wahrer Christ, ein Bruder des Deutschen Ordens, waren davon beleidigt.\nDas erste, was Sie vorhatten, war, den Kobold zu töten und den Markt zu verbrennen.\nAndererseits könnten sich magische Artefakte in dieser Welt als hilfreich erweisen.\nWas werden Sie tun?", "loc": "This dialogue happens every time you first visit blackmarket on the newly generated map" }; +locObj.blackmarket_dstr_brn = { "txt": "Töte den Kobold und verbrenne den Schwarzmarkt!", "loc": "Destroying the blackmarket" }; +locObj.blackmarket_dstr_kp = { "txt": "Starten Sie den Handel", "loc": "Keeping the blackmarket" }; +locObj.borderCollide = { "txt": "Du hast eine unsichtbare Wand getroffen. Du konnten nicht weiter gehen", "loc": "adventure map. collision with border" }; -locObj.campaignTitle = {"txt":"Campaign-%arg1","loc":"Autocampaign accordion title"}; -locObj.autobattleTitle = {"txt": "Battle-%arg1", "loc": "Autobattle log title"}; +locObj.campaignTitle = { "txt": "Campaign-%arg1", "loc": "Autocampaign accordion title" }; +locObj.autobattleTitle = { "txt": "Battle-%arg1", "loc": "Autobattle log title" }; -locObj.upgCostSidebar = {"txt":"Ein Upgrade auf %arg1 Level kostet %arg2 Gold", "loc":"Shows under the building description on the left sidebar for upgrades"}; -locObj.bldCostSidebar = {"txt":"Der Bau kostet %arg2 Gold", "loc":"Shows under the building description on the left sidebar for initial building"}; +locObj.upgCostSidebar = { "txt": "Ein Upgrade auf %arg1 Level kostet %arg2 Gold", "loc": "Shows under the building description on the left sidebar for upgrades" }; +locObj.bldCostSidebar = { "txt": "Der Bau kostet %arg2 Gold", "loc": "Shows under the building description on the left sidebar for initial building" }; -locObj.knightLearnCurve = {"txt":"Hat eine hohe Chance, die ATK zu erhöhen, wenn das Level steigt", "loc":"short description of the class in inn"}; -locObj.monkLearnCurve = {"txt":"Hat eine hohe Chance, die DEF zu erhöhen, wenn das Level steigt", "loc":"short description of the class in inn"}; -locObj.heroClassKnight = {"txt":"Ritter", "loc":"The inn when we are hiring. Hero class"}; -locObj.heroClassMonk = {"txt":"Mönch", "loc":"The inn when we are hiring. Hero class"}; +locObj.knightLearnCurve = { "txt": "Hat eine hohe Chance, die ATK zu erhöhen, wenn das Level steigt", "loc": "short description of the class in inn" }; +locObj.monkLearnCurve = { "txt": "Hat eine hohe Chance, die DEF zu erhöhen, wenn das Level steigt", "loc": "short description of the class in inn" }; +locObj.heroClassKnight = { "txt": "Ritter", "loc": "The inn when we are hiring. Hero class" }; +locObj.heroClassMonk = { "txt": "Mönch", "loc": "The inn when we are hiring. Hero class" }; -locObj.heroLvlLbl = {"txt":"Niveau", "loc":"The inn when we are hiring. Level"}; -locObj.heroStatsLbl = {"txt":"Statistiken:", "loc":"The inn when we are hiring. Stats"}; -locObj.heroStatsAtkLbl = {"txt":"Attacke", "loc":"The inn when we are hiring. Stats. Attack"}; -locObj.heroStatsDefLbl = {"txt":"Verteidigung", "loc":"The inn when we are hiring. Stats. Defence"}; -locObj.heroStatsMpowLbl = {"txt":"Magische Kraft", "loc":"The inn when we are hiring. Stats. Magic power"}; -locObj.heroStatsIntLbl = {"txt":"Intelligenz ", "loc":"The inn when we are hiring. Stats. Intelligence"}; +locObj.heroLvlLbl = { "txt": "Niveau", "loc": "The inn when we are hiring. Level" }; +locObj.heroStatsLbl = { "txt": "Statistiken:", "loc": "The inn when we are hiring. Stats" }; +locObj.heroStatsAtkLbl = { "txt": "Attacke", "loc": "The inn when we are hiring. Stats. Attack" }; +locObj.heroStatsDefLbl = { "txt": "Verteidigung", "loc": "The inn when we are hiring. Stats. Defence" }; +locObj.heroStatsMpowLbl = { "txt": "Magische Kraft", "loc": "The inn when we are hiring. Stats. Magic power" }; +locObj.heroStatsIntLbl = { "txt": "Intelligenz ", "loc": "The inn when we are hiring. Stats. Intelligence" }; -locObj.equipmentTitle = {"txt": "Equiped", "loc": "Equiped items title"}; +locObj.equipmentTitle = { "txt": "Equiped", "loc": "Equiped items title" }; -locObj.moneyExceedsTreasury = {"txt":"Herr Komtur, die Geldsumme, die Ihre Schatzkammer und die Geldbörse Ihres Helden haben, übersteigt Ihre Schatzkapazität. Um Geld zu vermeiden, bauen oder verbessern Sie jetzt Ihre Schatzkammer", "loc":"checking function which indicated if player needs to upgrade his treasury"}; +locObj.moneyExceedsTreasury = { "txt": "Herr Komtur, die Geldsumme, die Ihre Schatzkammer und die Geldbörse Ihres Helden haben, übersteigt Ihre Schatzkapazität. Um Geld zu vermeiden, bauen oder verbessern Sie jetzt Ihre Schatzkammer", "loc": "checking function which indicated if player needs to upgrade his treasury" }; -locObj.glyphKnightTile = {"txt": "Glyph of Knight's Valor", "loc": "Имя глифа"}; -locObj.glyphKnightDesc = {"txt": "Increases the hero's attack +10, increases heroe's defence +6.", "loc": "Glyph desc"}; +locObj.glyphKnightTile = { "txt": "Glyph of Knight's Valor", "loc": "Имя глифа" }; +locObj.glyphKnightDesc = { "txt": "Increases the hero's attack +10, increases heroe's defence +6.", "loc": "Glyph desc" }; -locObj.glyphMonkTile = {"txt": "Glyph of Monk's Virtue", "loc": "Имя глифа"}; -locObj.glyphMonkDesc = {"txt": "Increases the hero's attack +4, increases heroe's defence +12.", "loc": "Glyph desc"}; +locObj.glyphMonkTile = { "txt": "Glyph of Monk's Virtue", "loc": "Имя глифа" }; +locObj.glyphMonkDesc = { "txt": "Increases the hero's attack +4, increases heroe's defence +12.", "loc": "Glyph desc" }; -locObj.goldRuneTitle = {"txt": "Rune of Golden Search", "loc": "Имя глифа"}; -locObj.goldRuneDesc = {"txt": "Increases the hero's gold reward after battle by 7%.", "loc": "Glyph desc"}; +locObj.goldRuneTitle = { "txt": "Rune of Golden Search", "loc": "Имя глифа" }; +locObj.goldRuneDesc = { "txt": "Increases the hero's gold reward after battle by 7%.", "loc": "Glyph desc" }; -locObj.lifebloodVialTitle = {"txt": "Vial of Lifeblood", "loc": "Artifact name"}; -locObj.lifebloodVialDesc = {"txt": "Increases the health of all units in the hero's army by +3", "loc": "Artifact description"}; +locObj.lifebloodVialTitle = { "txt": "Vial of Lifeblood", "loc": "Artifact name" }; +locObj.lifebloodVialDesc = { "txt": "Increases the health of all units in the hero's army by +3", "loc": "Artifact description" }; locObj.darkPactSwordTitle = { "txt": "Dark Pact Sword", "loc": "Artefact name" }; -locObj.darkPactSwordDesc = {"txt": "Increases the hero's attack by +15, reduces the health of all units in the hero's army by -35%", "loc": "Artefact description"}; +locObj.darkPactSwordDesc = { "txt": "Increases the hero's attack by +15, reduces the health of all units in the hero's army by -35%", "loc": "Artefact description" }; locObj.crusadersSwordTitle = { "txt": "Crusader's Sword", "loc": "Artifact name" }; -locObj.crusadersSwordDesc = {"txt": "Increases attack of all units in the hero's army by +20%", "loc": "Artifact description"}; +locObj.crusadersSwordDesc = { "txt": "Increases attack of all units in the hero's army by +20%", "loc": "Artifact description" }; -locObj.ringStrengthTitle = {"txt": "Ring of Strength", "loc": "Artifact name"}; -locObj.ringStrengthDesc = {"txt": "Increases the hero's attack by +5, increases attack of all units in the hero's army by +10%", "loc": "Artifact description"}; +locObj.ringStrengthTitle = { "txt": "Ring of Strength", "loc": "Artifact name" }; +locObj.ringStrengthDesc = { "txt": "Increases the hero's attack by +5, increases attack of all units in the hero's army by +10%", "loc": "Artifact description" }; -locObj.ringProtectionTitle = {"txt": "Ring of Protection", "loc": "Artifact name"}; -locObj.ringProtectionDesc = {"txt": "Increases the hero's defence by +5, increases defence of all units in the hero's army by +10%", "loc": "Artifact description"}; +locObj.ringProtectionTitle = { "txt": "Ring of Protection", "loc": "Artifact name" }; +locObj.ringProtectionDesc = { "txt": "Increases the hero's defence by +5, increases defence of all units in the hero's army by +10%", "loc": "Artifact description" }; // TODO: #SwordRestriction remove it later locObj.swordsWarn = { "txt": 'A hero can carry only two swords!', "loc": 'Sword restriction' }; locObj.ringsWarn = { "txt": 'A hero can wear only two rings!', "loc": 'Rings restriction' }; -locObj.advmapHeroLose = {"txt": "Your troops were defeated and the hero is forced to retreat to the city.", "loc":"When hero loses battle on advmap"} +locObj.advmapHeroLose = { "txt": "Your troops were defeated and the hero is forced to retreat to the city.", "loc": "When hero loses battle on advmap" } -locObj.eventHalloween = {"txt": "Halloween is about collecting pumpkins!\nGenerate a new adventure map to find them\nYou need to be registered & logged, so you pledge could be recorded", "loc":"help"} -locObj.eventNewYear = {"txt": "New Year is about collecting snowmen!\nGenerate a new adventure map to find them\nYou need to be registered & logged, so you pledge could be recorded", "loc":"eventhelp"} -locObj.couldntRecordPledge = {"txt": "It seems you are not logged it. Your pledge will not be recorded","loc":"happens when collected event item while being not logged in"} -locObj.requiredStables = {"txt": "Dazu müssen Sie den Stall bauen", "loc":"happens when trying to hire sergeants if no stables built"}; -locObj.requiredArcheryRange = {"txt":"Dazu müssen Sie die Bogenschießanlage bauen", "loc":"happens when trying to hire turkopols if no archery range is built"}; -locObj.requiredStablesUpgrade = {"txt": "Dazu müssen Sie den Stable auf %arg1 Level upgraden", "loc":"happens when trying to hire knights and stables level too low"}; -locObj.deadCounselorDemolish = {"txt":"Your counselor is dead.\nThe new counselor, however, urges us to reconsider\nthe choice which was made with the previous one:\n-it's time, m'lord, when we could decide what's better for our nation.\n-if you agree, we demolish the %arg1 and thus you could build %arg2", "loc":""} -locObj.demolishGallows = {"txt": "Galgen", "loc": "your choice in deadCounselorDemolish dialogue"}; -locObj.fountainUnlock = {"txt": "ein Brunnen", "loc": "will be unlocked in deadCounselorDemolish dialogue"}; -locObj.demolishFountain = {"txt": "ein Brunnen", "loc": "your choice in deadCounselorDemolish dialogue"}; -locObj.gallowsUnlock = {"txt": "Galgen", "loc": "will be unlocked in deadCounselorDemolish dialogue"}; -locObj.deadCounselorDemolishAnsYes = {"txt":"Yes, demolish it", "loc":"Positive answer"} -locObj.buy = {"txt":"Buy", "loc":"On item in BlackMarket for sale from Goblin"}; -locObj.sell = {"txt":"Sell", "loc":"On item in BlackMarket for sale from Hero"}; -locObj.buildArchery = {"txt":"Archery provides mounted archers. Build stables first", "loc":"error msg bulding archery"}; -locObj.buildUpgradeTreasury = {"txt":"Baut oder verbessert Eure Schatzkammer", "loc":"the endturn tip in case of overflowing gold amount"} -locObj.moneyIncreased = {"txt":"Euer Reichtum vergrößerte sich", "loc":"happens when s-to-s money value increased"}; -locObj.moneyDecreased = {"txt":"Euer Reichtum verringerte sich", "loc":"happens when s-to-s money value decreased"}; -locObj.popIncreased = {"txt":"Die Bevölkerung wuchs", "loc":"happens when s-to-s population value increased"}; -locObj.popDecreased = {"txt":"Die Bevölkerung ging zurück", "loc":"happens when s-to-s population value decreased"}; -locObj.buildUpgradeHouse = {"txt":"Eure Stadt ist am Bevölkerungslimit. Errichtet neue Häuser oder rüstet bestehende auf", "loc":"the endturn tip in case of overpopulating"}; -locObj.requiredFieldsNotFilled = {"txt": "Required fields are not filled!", "loc":"happens in case of empty fields like login, password, etc"}; -locObj.savedSuccessfully = {"txt":"Spiel erfolgreich gespeichert", "loc":"when manual save completed successfully"}; -locObj.loadedSuccessfully = {"txt":"Spiel erfolgreich geladen", "loc":"when loaded completed successfully"}; -locObj.dialogLoadGame = {"txt":"Spiel laden? Nicht gespeicherter Fortschritt geht dabei verloren!", "loc":"confirmation dialogue over loading game"}; -locObj.noSaveGame = {"txt":"Verzeiht! Es wurde kein gespeicherter Spielstand gefunden", "loc":"in case there is no savegame"}; -locObj.dialogSaveGame = {"txt":"Spiel speichern? Alte Spielstände werden dabei überschrieben!", "loc":"when trying to save game or overwriting existing savegame"}; -locObj.loadGameFromStringEmpty = {"txt":"Bitte fügt Euren Spielstand ein", "loc":"happens when the loadgame input is empty"}; -locObj.loadGameFromStringError = {"txt":"Couldn't load the game from the savestring ;-;", "loc":"happens when the loadgame input is incorrect or couldn't be processed"}; -locObj.lblLongSaveString = {"txt":"sehr lange Zeichenkette", "loc":"label near input fielf for savegame string"}; -locObj.dialogConfirmHireGuard = {"txt":"Möchtet Ihr einen Wachmann einstellen? Er wird Euch einmalig %arg1 Gold und danach %arg2 Gold pro Saison kosten", "loc":"hiring treasury guard confirmation dialogue"}; -locObj.hiredGuardsman = {"txt":"Ihr habt einen Wachmann angeheuert", "loc":"after succesfully hired a guardsman"}; -locObj.notEnoughGold = {"txt":"Ihr besitzt leider nicht genug Gold dafür", "loc":"not enough gold"}; -locObj.treasuryRequired = {"txt":"Ihr benötigt eine Schatzkammer, um einen Wachmann anheuern zu können", "loc":"happens when trying to hire gaurdsman without a treasury"}; -locObj.dialogConfirmDismssGuardsman = {"txt":"Möchtet Ihr einen Wachmann entlassen?", "loc":"happens when try to dismiss one guardsman"}; -locObj.dismissedGuardsman = {"txt":"Ihr habt einen Wachmann entlassen", "loc":"happens after dismissing a guardsman"}; -locObj.noGuardsman = {"txt":"Ihr beschäftigt zur Zeit keine Wachleute", "loc":"happens when trying to dismiss guardsman when there are none of them"}; -locObj.execReasons = [{"txt":"Verrats", "loc":"when executing a person"}, - {"txt":"Spionage", "loc":""}, - {"txt":"Korruption", "loc":""}, - {"txt":"Bestechung", "loc":""}, - {"txt":"Unterschlagung", "loc":""}, - {"txt":"Diebstahls", "loc":""}]; -locObj.techArtilleryResearched = {"txt":"You researched the artillery technology!", "loc":"Happens when the tech is discovered"}; -locObj.bldUniversityButton = {"txt":"Build university
%arg2 gold", "loc":"the label of the button of building the University on the building tab"}; -locObj.eventWillStart = {"txt":" event will start in", "loc":"shows on the status bar if an event was announced"}; -locObj.eventWillEnd = {"txt":" event will end in", "loc":"shows on the status bar if an event was started"}; -locObj.eventHalloweenName = {"txt":"Halloween", "loc":"shows on the status bar if the event announced or online"}; -locObj.eventNewYearName = {"txt":"New Year", "loc":"shows on the status bar if the event announced or online"}; -locObj.yes = {"txt":"Ja", "loc":"Positive answer, happens in modal dialogues"}; -locObj.yesKillBloody = {"txt":"Ja, auf die blutigste Weise!", "loc":"NOT USED YET"}; -locObj.no = {"txt":"Nein", "loc":"Negative answer, happens in modal dialogues"}; -locObj.serverStatusSpn = {"txt": "Server: ", "loc":"showed in the status bar"}; -locObj.serverStatusND = {"txt":"n/d", "loc":"server status is no data"}; -locObj.serverStatusUp = {"txt":"Up", "loc":"server status is Up"}; -locObj.serverStatusDown = {"txt":"Down", "loc":"server status is Down"}; -locObj.online = {"txt":"Online: ", "loc":"label before the online users counter"}; -locObj.onlineValueND = {"txt":"n/d", "loc":"online users numbers has no data"}; -locObj.errCityLevelTooLowForSendingMsg = {"txt":"Sir Commander, your city level is too low for sending messages to other Lords", "loc":"happens when low-level user try to send msg in chat"} -locObj.userCntOne = {"txt":"user", "loc":"(one) user"}; -locObj.userCntTwoPlus = {"txt":"users", "loc":"two or more users"}; -locObj.savedCloudSuccessfully = {"txt":"game saved to the cloud successfully", "loc":"when cloud save completed successfully"}; -locObj.errNoCloudSave = {"txt":"you don't have savegame in the cloud", "loc":"could happen when trying to load a savegame from DB"}; -locObj.errGettingCloudSave = {"txt":"error while trying to get your cloudsave from the cloud","loc":"could happen when trying to get a savegame from backend"}; -locObj.errLoadingCloudSave = {"txt":"error while processing your cloudsave","loc":"could happen while loading cloudsave"}; -locObj.errGetSaveEndpoint = {"txt":"error from server. Are you logged in? Is server up?","loc":"endpoint error from /get_savegame"}; -locObj.executedMsg = {"txt": "Ihr habt einen Bürger wegen %arg1 hingerichtet", "loc":"eventlog after the execution"}; -locObj.executedGainMsg = {"txt": "%arg1 ist beschlagnahmtes Eigentum des hingerichteten Bürgers", "loc": "eventlog after the execution"}; -locObj.executionAborted = {"txt":"Ihr habt zu wenig Bürger", "loc":"happens if you have too low amount of citizens"}; -locObj.cantUpkeepTreasuryGuards = {"txt": "Einige Wachleute wurden entlassen, weil Ihr sie nicht bezahlen könnt!", "loc":"in calculateTurn in case of money deficite"}; -locObj.fireInCity = {"txt": "Feuer in der Stadt!", "loc":"happens as part of random events"}; -locObj.rqtsHome = {"txt": "Wird durch ein Ereignis freigeschaltet", "loc":"Requirements for homes"}; -locObj.rqtsDef = {"txt": "Wird durch ein Ereignis freigeschaltet", "loc":"Requirements for defense buildings"}; -locObj.rqtsTreasury = {"txt": "Benötigt %arg1 Gold", "loc":"Reqs for Treasury building"}; -locObj.rqtsGallows = {"txt":"Erfordert %arg1 Bürger zum Freischalten", "loc":"Reqs for Gallows"}; -locObj.rqtsFountain = {"txt":"Erfordert %arg1 Bürger zum Freischalten", "loc":"Reqs for Fountain"}; -locObj.rqtsStash = {"txt":"Requires Treasury and Unlocks by an event", "loc":"Reqs for Fountain"}; -locObj.rqtsStables = {"txt":"Erfordert %arg1 Bürger zum Freischalten", "loc":"Reqs for Stables"}; -locObj.rqtsArcheryRange = {"txt": "Requires %arg1 citizens and Stables", "loc":"Reqs for Archery Range"}; -locObj.rqtsInn = {"txt":"Erfordert %arg1 Bürger zum Freischalten", "loc":"Reqs for Inn"}; -locObj.rqtsUniversity = {"txt":"Unlocks in %arg1. Current year is %arg2", "loc":"Reqs for Konigsberg University"}; -locObj.rqtsCatherdal = {"txt":"Unlocks in 1380", "loc": "Reqs for Königsberg Cathedral"}; -locObj.helpDef = {"txt":"Dieses Gebäude wird benötigt, um die Stadt vor Eindringlingen zu schützen", "loc":"help message in the building tab"}; -locObj.helpHome = {"txt": "Dieses Gebäude und seine Verbesserungen sind erforderlich, um Ihr Bevölkerungslimit zu erhöhen", "loc":"help msg in the building tab"}; -locObj.helpTreasury = {"txt":"Dieses Gebäude und seine Verbesserungen werden benötigt, um Ihr Geldlimit zu erhöhen.
In diesem Gebäude können Sie Schatzmeister einstellen.
Sie werden benötigt, um die Wahrscheinlichkeit zu minimieren, dass Sie ausgeraubt werden.", "loc":"help msg in the building tab"}; -locObj.helpGallows = {"txt":"Dieses Gebäude und seine Verbesserungen sind für die Hinrichtung Ihrer Bürger erforderlich.
Es erhöht auch die Steuern und senkt die Geburtenrate und das Glück.
Wenn Sie dieses Gebäude bauen, können Sie den Brunnen nicht bauen!", "loc":"help msg in the building tab"}; -locObj.helpFountain = {"txt":"Dieses Gebäude und seine Verbesserungen sind für die Ausrichtung von Festivals erforderlich. Es erhöht außerdem die Geburtenrate und das Glück und senkt die Steuern.
Wenn Sie dieses Gebäude bauen, können Sie die Galgen nicht bauen!", "loc":"help msg in the building tab"}; -locObj.helpStash = {"txt":"Dieses Gebäude und seine Verbesserungen werden benötigt, um Ihr Geld vor Dieben zu retten, falls die Diebe Ihre Schatzkammer ausrauben.
Je höher Ihr Stash-Level ist, desto mehr könnten Sie sich im Stash verstecken","loc":"help msg in the building tab"}; -locObj.helpStables = {"txt":"Dieses Gebäude und seine Verbesserungen sind erforderlich, um Kavallerien einzustellen.
Je höher Ihr Stall Level ist, desto erfahrener können Sie dort Kavallerien einstellen", "loc":"help msg in the building tab"}; -locObj.helpArcheryRange = {"txt":"Dieses Gebäude und seine Verbesserungen sind erforderlich, um Bogenschützen einzustellen.
Je höher Ihre Schießstand Level ist, desto erfahrener können Sie dort Truppen anheuern", "loc":"help msg in the building tab"}; -locObj.helpInn = {"txt":"Dieses Gebäude und seine Verbesserungen sind erforderlich, um Helden einzustellen.
Je höher Ihr Inn-Level ist, desto erfahrener können Sie dort Helden einstellen", "loc":"help msg in the building tab"}; -locObj.helpUniversity = {"txt":"This building is required to research new technologies", "loc":"User saw this when moving the coursor above the university icon in Building tab"}; -locObj.callFiremen = {"txt":"Sollen wir die Feuerwehr rufen? Es wird Euch %arg1 Gold kosten", "loc":"dialog happens when trying to get rid off the fire"}; -locObj.fireEndedByFireservice = {"txt": "Die Feuerwehr hat den Brand gelöscht", "loc":"happens after firemen ended the fire"}; -locObj.burnToAshes = {"txt": "Alles wird zu Asche verbrennen!", "loc":"happens if player decided not to pay to firemen"}; -locObj.rndEventsStealing = {"txt": "Dumm gelaufen: Diebe haben %arg1 Gold aus Eurer Schatzkammer gestohlen!", "loc":"random events, stealings"}; -locObj.rndEventsLotteryWon = {"txt": "Ihr habt %arg1 Gold beim Glücksspiel gewonnen", "loc":"random events lottery won msg"}; -locObj.locSaveGame= {"txt": "Spiel speichern", "loc":"browser-wide savegame"}; -locObj.locLoadGame = {"txt": "Spiel laden", "loc":"load save from localStorage of the browser"}; -locObj.tabCity = {"txt":"Stadt", "loc":"tabname in the tab bar"}; -locObj.tabSettings = {"txt":"Einstellungen", "loc": "tabname Settings in the tab bar"}; -locObj.tabBuilding = {"txt": "Bauen", "loc": "tabname Building in the tab bar"}; -locObj.tabHowToPlay = {"txt": "Anleitung", "loc":"tabname How To Play, about and stuff in da bar"}; -locObj.tabDiscord = {"txt": "Discord", "loc": "tabname Discord with a Discord widget"}; -locObj.btnPutOutTheFire = {"txt": "Löscht das feuer", "loc": "button to extinguish the fire"}; -locObj.btnExecutePerson = {"txt": "Bürger hinrichten", "loc": "button to execute somebody"}; -locObj.festivalConfirm = {"txt": "Möchten Ihr ein Festival veranstalten?\nDas würde Sie %arg1 Gold kosten!\n", "loc":"place festival confirmation dialogue"}; -locObj.festivalConfirmCooldown = {"txt":"Festival wurde vor nicht allzu langer Zeit platziert.\nDer Effekt des Festivals würde schwächer werden.\n", "loc":"happens in case of Cooldown of the festivals"}; -locObj.eventItemCollected = {"txt": "The event item collected!", "loc": "happens when gathered an event item"}; -locObj.eventPledgeRecorded = {"txt": "Your pledge is recorded", "loc": "happens when the pledge was successfully recorded"}; -locObj.eventPledgeError = {"txt": "Your pledge couldn't be recorded. Are you logged in?", "loc": "happens when the pledge wasn't recorded"}; -locObj.festivalGain = {"txt": "Ihr Gewinn wegen des Festivals ist %arg1", "loc":"happens if the festival was profitable for budget"}; -locObj.festivalLoss = {"txt": "Ihr Verlust wegen des Festivals ist %arg1", "loc":"happens if the festival was unprofitable for budget"}; -locObj.errAlreadyHasHero = {"txt": "Ihr habt schon einen Helden", "loc":"happens when trying to hire a hero, when you have one hired"}; -locObj.autosaveTurnedOn = {"txt": "Automatisches Speichern ist eingeschaltet", "loc": "happens when autosave enabled"}; -locObj.autosaveTurnedOff = {"txt": "Automatisches Speichern ist ausgeschaltet", "loc": "happens when autosave disabled"}; -locObj.GallowsFountainChoiceConfirm = {"txt": "Ihr sind im Begriff, nach %arg1 zu bauen.\nWenn das Objekt gebaut wird, können Ihr keine %arg2 bauen.\nBist du dir bei deiner Wahl sicher?", "loc":"happens when you are about to build Fountain or Gallows"}; -locObj.GallowsChoiceConfirm = {"txt": "Galgen", "loc": "your choice in GallowsFountainChoiceConfirm dialogue"}; -locObj.FountainBlocked = {"txt": "ein Brunnen", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue"}; -locObj.FountainChoiceConfirm = {"txt": "ein Brunnen", "loc": "your choice in GallowsFountainChoiceConfirm dialogue"}; -locObj.GallowsBlocked = {"txt": "Galgen", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue"}; -locObj.noStatsYet = {"txt": "Noch nichts zu zeigen, kommen Sie später hierher", "loc":"happens when trying to open gold/pop stats"}; -locObj.tabSettings = {"txt": "Einstellungen", "loc":"Settings tab name"}; -locObj.tabSettingsBtnExportGame = {"txt": "Spielstand exportieren", "loc":"Export game button"}; -locObj.tabSettingsBtnImportGame = {"txt": "Spielstand importieren", "loc":"Import game button"}; -locObj.tabSettingsLblAutosave = {"txt": "Automatisches Speichern", "loc": "Autsave label before the toggle"}; -locObj.tabSettingsBtnChangeColorMode = {"txt": "Farbmodus ändern", "loc": "settings tab change colour mode button"}; -locObj.tabSoundSettingsLblOption = {"txt": "Möglichkeit", "loc":"Sound settings tab, name of the option"}; -locObj.on = {"txt": "Auf", "loc": "used on Sound Settings tab"}; -locObj.off = {"txt": "Aus", "loc": "used on Sounds Settings tab"}; -locObj.tabSoundSettingsLblAllSoundEffects = {"txt":"Alle Soundeffekte", "loc": "sound settings tab"}; -locObj.tabSoundSettingsLblAllEventsEffects = {"txt":"Auswirkungen auf alle Ereignisse", "loc": "sound settings tab"}; -locObj.tabSoundSettingsLblEffectsAR = {"txt": "Auswirkungen auf die erforderlichen Ereignisse", "loc":"sound settings tab"}; -locObj.tabSoundSettingsAllMusic = {"txt": "Musik alles", "loc":"sound settings tab"}; -locObj.tabSoundSettingsScMusic = {"txt": "Überlieferungs- und Bühnenmusik", "loc": "sounds settings tab"}; -locObj.btnBack = {"txt": "Zurück", "loc":"sound settings tab"}; -locObj.lblSoundMenu = {"txt": "Einstellungen von Soundeffekten und Musik", "loc": "sounds settings tab"}; -locObj.tabSettingsBtnOpenSoundSettings = {"txt": "Klangeinstellungen öffnen", "loc":"settings tab"}; -locObj.tabSettingsLblMobileUI = {"txt": "Mobile Benutzeroberfläche", "loc": "settings tab"}; -locObj.tabSettingsLblLogSize = {"txt":"Größe des Ereignisprotokolls", "loc": "settings tab"}; -locObj.tabSettingsLblLines = {"txt": "linien", "loc": "settings tab"}; -locObj.goldAddedToTreasury = {"txt": "%arg1 gold has been added to your treasury", "loc":"gold added when a hero returned to the city"}; -locObj.amber = {"txt": "Bernstein ist die seltenste Währung", "loc": "happens on click on amber"}; -locObj.lblGarrison = {"txt": "Garnison", "loc": "label in Garrison tab"}; -locObj.btnFire = {"txt": "Entlassen", "loc": "button in Garrison tab"}; -locObj.btnHire = {"txt": "Einstellen", "loc": "button in Garrison tab"}; -locObj.imgCastellan = {"txt": "Kastellan", "loc": "troops management screen"}; -locObj.imgHero = {"txt":"Held","loc":"troops management screen"}; -locObj.imgBrotherSergeants = {"txt": "Sariantsbrueder", "loc": "troops management screen"}; -locObj.imgTurkopols = {"txt": "turkopole", "loc": "troops management screen"}; -locObj.imgBrotherKnights = {"txt": "Ritterbrueder", "loc": "troops management screen"}; -locObj.btnBuildHouse = {"txt": "Haus bauen
lvl %arg1
%arg2 gold", "loc":"building tab"}; -locObj.btnBuildWall = {"txt": "Mauer bauen
lvl %arg1
%arg2 gold", "loc":"building tab"}; -locObj.btnBuildTower = {"txt": "Turm bauen
lvl %arg1
%arg2 gold", "loc":"building tab"}; -locObj.btnBuildCastle = {"txt": "Kastell bauen
lvl %arg1
%arg2 gold", "loc":"building tab"}; -locObj.btnBuildTreasury = {"txt": "Schatzkammer bauen
lvl %arg1
%arg2 gold", "loc": "building tab"}; -locObj.btnBuildGallows = {"txt": "Galgen bauen
lvl %arg1
%arg2 gold", "loc": "building tab"}; -locObj.btnBuildFountain = {"txt": "Brunnen bauen
lvl %arg1
%arg2 gold", "loc": "building tab"}; -locObj.btnBuildStash = {"txt": "Versteck bauen
lvl %arg1
%arg2 gold", "loc": "building tab"}; -locObj.btnBuildInn = {"txt": "Schenke bauen
lvl %arg1
%arg2 gold", "loc": "building tab"}; -locObj.btnBuildStables = {"txt": "Stall bauen
lvl %arg1
%arg2 gold", "loc":"building tab"}; -locObj.btnBuildArcheryRange = {"txt": "Schießstand bauen
lvl %arg1
%arg2 gold", "loc":"building tab"}; -helpBlock = "

1255: Rise of Teutonics

" + - "

Anleitung

" + - "Dieses Spiel ist rundenbasiert. Jede Runde dauert 30 Sekunden.
" + - "Nach jeder Runde zahlt deine Bevölkerung Steuern an Euch und wächst.
" + - "feedback feedback form
"+ - "Normalerweise bringt Euch jeder Bürger ein Goldstück pro Runde ein.
" + - "Dieses Verhalten kann durch Eure Entscheidungen geändert werden.
" + - "Ihr müsst Häuser bauen, um das Wachstum Eurer Stadtbevölkerung zu ermöglichen.
" + - "Jede Stufe von Häusern kann mehr Bürger beheimaten.
" + - "Ihr müsst Mauern und einen Turm errichten, um die Stadt vor Eindringlingen zu schützen.
" + - "Ihr müsst eine Schatzkammer bauen, um Euer Gold zu lagern.
" + - "Jede Stufe der Schatzkammer kann mehr Gold lagern.
" + - "Außerdem erlaubt Euch die Schatzkammer, Wachleute einzustellen.
" + - "Wachleute verringern die Wahrscheinlichkeit, dass Gold aus Eurer Schatzkammer gestohlen wird.
" + - "Einen Wachmann neu einzustellen wird Euch %arg1 Gold kosten.
" + - "Außerdem verlangt jeder Wachmann pro Runde einen Sold von %arg2 Gold.
" + - "Wenn Ihr nicht genug Geld habt, werden sie ihre Arbeit dauerhaft aufgeben.
" + - "Ihr könnt entweder einen Brunnen oder einen Galgen errichten. Ist der Bau abgeschlossen, könnt Ihr eure Entscheidung nicht mehr ändern.
" + - "Brunnen steigern die Zufriedenheit Eurer Bürger und das Bevölkerungswachstum.
" + - "Galgen verringern Zufriedenheit und Wachstum, aber erhöhen Eure Steuereinnahmen und ermöglichen Euch, Stadtbewohner hinzurichten.
" + - "Richtet Ihr einen Bürger hin, wird sein Besitz beschlagnahmt und Eurem Vermögen hinzugefügt.
" + - "Ein Versteck wird Eure Verluste durch Diebstahl verringern. Ihr könnt jedoch kein Versteck ohne eine Schatzkammer bauen.
"+ - "Dieses Spiel ist für einen Einzelspieler.
"+ - "
" + - "Unterstützte Sprachen (SL, supported languages): Englisch (English), Russisch (Русский).
" + - "Von der Community unterstützte Sprachen (CSL, community supported languages): Deutsch, Esperanto, French (le français)
" + - "Der Autor kann keine Hilfe oder Antworten zu in einer CSL gestellten Fragen geben,
"+ - "obwohl das Spiel (oder Teile davon) in der CSL zur Verfügung gestellt werden."+ - "Außerdem könnten Übersetzungen in eine CSL Fehler ebenso wie unübersetzte
"+ - "oder auch veraltete Teile beinhalten.
"+ - "Ihr könnt uns hier bei der Übersetzung des Spiels unterstützen:
"+ - "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
"; -locObj.tabHowToPlayText = helpBlock; -locObj.cityScreenSawmill = {"txt": "Sägewerk", "loc": "cityscreen"}; -locObj.cityScreenWishingWell = {"txt": "Wunschbrunnen", "loc": "cityscreen"}; -locObj.cityScreenWall = {"txt": "Mauer", "loc": "cityscreen"}; -locObj.cityScreenStoneWall = {"txt": "Steinmauer", "loc": "cityscreen"}; -locObj.cityScreenTower = {"txt": "Turm", "loc": "cityscreen"}; -locObj.cityScreenStoneTower = {"txt": "Steinturm", "loc": "cityscreen"}; -locObj.cityScreenHouse = {"txt": "Haus", "loc": "cityscreen"}; -locObj.cityScreenHouses = {"txt": "Häuser", "loc": "cityscreen"}; -locObj.cityScreenInn = {"txt": "Schenke", "loc": "cityscreen"}; -locObj.cityScreenGallows = {"txt": "gallows", "loc": "cityscreen"}; -locObj.cityScreenFountain = {"txt": "fountain", "loc": "cityscreen"}; -locObj.cityScreenTreasury = {"txt": "Schatzkammer", "loc": "cityscreen"}; -locObj.resourceGold = {"txt": "gold", "loc": "resource panel"}; -locObj.resourcePop = {"txt": "Bevölkerung", "loc": "resource panel"}; -locObj.cityScreenArcheryRange = {"txt": "Schießstand", "loc":"cityscreen"}; -locObj.paginationStart = {"txt": "Zu Beginn", "loc": "stat pages, to the start button"}; -locObj.paginationPrevious = {"txt": "Bisherige", "loc": "stat pages, previous page"}; -locObj.paginationNext = {"txt": "Nächster", "loc": "stat pages, next page btn"}; -locObj.paginationCurrent = {"txt": "Zur aktuellen", "loc": "stat pages, current btn"}; -locObj.tabPopHistory = {"txt": "Bevölkerungshistorie-Tab", "loc": "Label in Pop history tab"}; -locObj.tabPopHistoryCurrentLimit = {"txt": "Aktuelle Bevölkerungsgrenze ist %arg1", "loc": "Label current pop limit"}; -locObj.tabGoldHistoryCurrentLimit = {"txt": "Aktuelle Goldgrenze ist %arg1", "loc": "label current gold limit"}; -locObj.tabGoldHistory = {"txt": "Goldhistorie-Tab", "loc":"Label in Gold history tab"}; -locObj.dayAcronym = {"txt": "T", "loc": "used for countdown in events"}; -locObj.hourAcronym = {"txt": "S", "loc": "used for countdown in events"}; -locObj.minuteAcronym = {"txt": "M", "loc": "used for countdown in events"}; -locObj.countDownBeforeEventStarts = {"txt": "This is the time amount before an event will start", "loc": "resource panel?"}; -locObj.countDownBeforeEventEnds = {"txt": "This is the time amount before the event will end", "loc": "resource panel?"}; -locObj.mapRegenerate = {"txt": "Der Himmel über der Stadt verdunkelte sich zu Schwarz, Blitzschläge machten einen solchen Anblick und plötzlich hörten alle auf", "loc": "after pressed generate new map button"}; -locObj.day = {"txt": "Tag", "loc": "occurs in autobattles logs"}; -locObj.autocampaignWithdrawErr = {"txt": "Dein Held muss in einer Autokampagne sein, um das zu tun!", "loc":"happens when failing to withdraw the hero from autocampaign"}; -locObj.autocampaignWithdrawDialogConfirm = {"txt": "Möchtest du deinen Helden zurückziehen?", "loc": "happens when you pressing withdraw button"}; -locObj.heroLost = {"txt":"Der Held und alle Truppen sind im Ruhmkampf ums Leben gekommen", "loc": "happens when the hero is lost"}; -locObj.autocampaignHeroCrushedVastEnemyArmy = {"txt":"Der Held hat eine große Anzahl von Feinden getroffen und sie zerschlagen. Der Kampf bringt dem Helden Geld und Erfahrung!", "loc":"autocampaign journal with aggressive stance"}; -locObj.autocampaignHeroCrushedSmallEnemyArmy = {"txt": "Der Held hat eine kleine Anzahl von Feinden getroffen und sie zerschlagen. Der Kampf bringt dem Helden Geld und Erfahrung!", "loc":"autocampaign journal with cautious stance"}; -locObj.autocampaignNoEvents = {"txt": "Der Tag war sehr langweilig. Nur ein Heide wurde getötet (ein Jäger nahm einen Heiden als Beute. So traurig!)", "loc":"autocampaign log no events"}; -locObj.autocampaignLootList = {"txt": "Geplünderte Trophäen aus der Kampagne: ", "loc":"autocampaign"}; -locObj.dialogDismissHeroConfirm = {"txt": "Möchtest du den Helden mit allen Truppen entlassen?", "loc":"when dismiss hero button pressed"}; -locObj.dialogDismissHeroNoOption = {"txt": "Nicht. Ich werde zuerst alle Einheiten des Helden bewegen", "loc":"when you declined"}; -locObj.dialogMapRegenerate = {"txt": "Möchten Sie eine neue Karte erstellen? Es würde %arg1 Geld kosten!", "loc": "map regenerate confirmation dialogue"}; -locObj.errMapRegenerateHeroOnMap = {"txt": "Du konntest es nicht tun, während dein Held auf der Karte ist!", "loc": "happens if you try to make new map while your hero on an existing one"}; -locObj.tabInnWelcome = {"txt": "Willkommen im Schenke", "loc":"label in Inn tab"}; -locObj.tabInnBtnHireHero = {"txt": "Vermietung Held
Stufe %arg1
%arg2 Gold", "loc": "tab Inn, button Hire Hero"}; -locObj.heroStatLuck = {"txt": "Aberglaube", "loc": "hero stat"}; -locObj.heroStatMorale = {"txt": "moral", "loc": "hero stat"}; -locObj.heroFoundMoney = {"txt": "Der Held hat etwas Geld gefunden: %arg1", "loc": "when a chest found on Adventure Map"}; -locObj.heroStatInt = {"txt": "Intelligenz", "loc": "hero stat"}; -locObj.heroStatLevel = {"txt": "Stufe", "loc": "hero stat"}; -locObj.heroStatAtk = {"txt": "Attack", "loc": "hero stat"}; -locObj.heroStatDef = {"txt": "Defense", "loc": "hero stat"}; -locObj.heroStatMP = {"txt": "Zauberpunkte", "loc": "hero stat"}; -locObj.heroStatSpellpower = {"txt": "Zauberkraft", "loc": "hero stat"}; -locObj.heroExp = {"txt": "Erfahrung", "loc": "hero stat"}; -locObj.heroCurrentExp = {"txt": "Aktuelle Erfahrung", "loc": "hero stat"}; -locObj.heroNextLvlExp = {"txt": "Erfahrung für das nächste Level erforderlich", "loc": "hero stat"}; -locObj.heroClasses = {"txt": ["Ritter", "Mönch"], "loc": "inn tab"}; -locObj.lblClass = {"txt": "Klasse", "loc": "inn tab"}; -locObj.lblHeroLocation = {"txt":"Held ", "loc":"inn tab"}; -locObj.heroInTown = {"txt": " in der Stadt", "loc": "used to build hero activity line"}; -locObj.heroInAutocampaign = {"txt": " in der autokampagne", "loc": "used to build hero activity line"}; -locObj.heroOnAdventureMap = {"txt": " auf der Abenteuerkarte", "loc": "used to build hero activity line"}; -locObj.heroActivitiesInTown = {"txt": ["Essen", "Trinken", "Spielen", "Training", "Faustkampf", "Ruhen"], "loc": "used to build hero activity line"}; -locObj.heroActivitiesInAutocampaign = {"txt":["zurückmarschieren", "marschieren", "Heiden töten", "Heiden bekehren", "ein Lager errichten", "tote Heiden plündern"], "loc": "used to build hero activity line"}; -locObj.heroActivitiesOnAdventureMap = {"txt":["marschieren", "ein Lager aufschlagen", "plündern"],"loc": "used to build hero activity line"}; -locObj.lblDistanceFromTown = {"txt": "Tage aus der Stadt", "loc": "inn tab"}; -locObj.directionFromTown = {"txt": "Aus der Stadt", "loc": "inn tab"}; -locObj.directionToTown = {"txt": "In die Stadt", "loc": "inn tab"}; -locObj.goldInHerosPurse = {"txt": "Gold im Geldbeutel des Helden", "loc": "inn tab"}; -locObj.lblDirection = {"txt": "Direction: ", "loc": "inn tab"}; -locObj.btnDismissHero = {"txt": "Held entlassen", "loc": "inn tab"}; -locObj.btnAutocampaignSendHero = {"txt": "Held an Autokampagne senden", "loc": "inn tab"}; -locObj.btnAutocampaignWithdrawHero = {"txt": "Den Helden zurückziehen", "loc": "inn tab"}; -locObj.btnAutocampaignOpenJournal = {"txt": "Tagebuch öffnen", "loc": "inn tab"}; -locObj.btnUseTowngateScroll = {"txt": "Towngate-Scroll verwenden", "loc": "inn tab"}; -locObj.btnGoToAdvenureMap = {"txt": "Gehe zur Abenteuerkarte", "loc": "inn tab"}; -locObj.btnRegenerateMap = {"txt": "Karte neu generieren", "loc": "inn tab"}; -locObj.msgHeroAdvancedToNextLvl = {"txt": "Dein Held wurde zum nächsten Level befördert!", "loc": "event log?"}; -locObj.dlgHeroStance = {"txt": "Wollen Sie eine aggressive Haltung (höhere Belohnung, höheres Risiko) oder eine vorsichtige?", "loc": "dialog happens when hero leaving town"}; -locObj.ansHeroAggressiveStance = {"txt": "Aggressiv! Willst du Blut und Geld!", "loc": "One of the options to the locObj.dlgHeroStance question"}; -locObj.ansHeroCautiousStance = {"txt": "Vorsichtig. Was nützt Gold, wenn dein Held tot ist??", "loc": "One of the options to the locObj.dlgHeroStance question"}; -locObj.errHeroHasNoTroops = {"txt": "Sie müssen zuerst einige Truppen in den Kader des Helden aufnehmen!", "loc": "when trying to send hero outta city with no troops"}; -locObj.errNoHero = {"txt": "Dafür brauchst du einen Helden!", "loc": "when trying to invoke hero-related actions with no hero"}; -locObj.msgAfterSellToTrader = {"txt": "Es ist eine Freude, mit Ihnen Geschäfte zu machen. Ich werde dich wiedersehen.", "loc": "not used so far"}; -locObj.msgAfterBuyFromTrader = {"txt": "Herzlichen Glückwunsch zum Kauf! Sie haben eine gute Wahl getroffen!", "loc": "not used so far"}; -locObj.artifactTowngateAfterUse = {"txt": "Der Held ist gerade hinter der Stadt!", "loc": "after the artefact was used"}; -locObj.artifactErrNoTowngate = {"txt": "Sie haben keine Towngate-Schriftrolle!", "loc": "when trying to use towngate scroll witout having one"}; -locObj.artifactErrWrongDirection = {"txt": "Begib dich zuerst mit dem Helden in die Stadt!", "loc": "happens when try to cast towngate and moving from the town"}; -locObj.lblGoodForSale = {"txt": "Der Schwarzmarkt des Händlers bietet diese Waren zum Verkauf!", "loc":"blackmarket tab, good for sale from the NPC"}; -locObj.lblHeroGoodsFoSale = {"txt": "Der Händler Schwarzmarkt könnte Ihre Waren kaufen", "loc":"blackmarket tab"}; +locObj.eventHalloween = { "txt": "Halloween is about collecting pumpkins!\nGenerate a new adventure map to find them\nYou need to be registered & logged, so you pledge could be recorded", "loc": "help" } +locObj.eventNewYear = { "txt": "New Year is about collecting snowmen!\nGenerate a new adventure map to find them\nYou need to be registered & logged, so you pledge could be recorded", "loc": "eventhelp" } +locObj.couldntRecordPledge = { "txt": "It seems you are not logged it. Your pledge will not be recorded", "loc": "happens when collected event item while being not logged in" } +locObj.requiredStables = { "txt": "Dazu müssen Sie den Stall bauen", "loc": "happens when trying to hire sergeants if no stables built" }; +locObj.requiredArcheryRange = { "txt": "Dazu müssen Sie die Bogenschießanlage bauen", "loc": "happens when trying to hire turkopols if no archery range is built" }; +locObj.requiredStablesUpgrade = { "txt": "Dazu müssen Sie den Stable auf %arg1 Level upgraden", "loc": "happens when trying to hire knights and stables level too low" }; +locObj.deadCounselorDemolish = { "txt": "Your counselor is dead.\nThe new counselor, however, urges us to reconsider\nthe choice which was made with the previous one:\n-it's time, m'lord, when we could decide what's better for our nation.\n-if you agree, we demolish the %arg1 and thus you could build %arg2", "loc": "" } +locObj.demolishGallows = { "txt": "Galgen", "loc": "your choice in deadCounselorDemolish dialogue" }; +locObj.fountainUnlock = { "txt": "ein Brunnen", "loc": "will be unlocked in deadCounselorDemolish dialogue" }; +locObj.demolishFountain = { "txt": "ein Brunnen", "loc": "your choice in deadCounselorDemolish dialogue" }; +locObj.gallowsUnlock = { "txt": "Galgen", "loc": "will be unlocked in deadCounselorDemolish dialogue" }; +locObj.deadCounselorDemolishAnsYes = { "txt": "Yes, demolish it", "loc": "Positive answer" } +locObj.buy = { "txt": "Buy", "loc": "On item in BlackMarket for sale from Goblin" }; +locObj.sell = { "txt": "Sell", "loc": "On item in BlackMarket for sale from Hero" }; +locObj.buildArchery = { "txt": "Archery provides mounted archers. Build stables first", "loc": "error msg bulding archery" }; +locObj.buildUpgradeTreasury = { "txt": "Baut oder verbessert Eure Schatzkammer", "loc": "the endturn tip in case of overflowing gold amount" } +locObj.moneyIncreased = { "txt": "Euer Reichtum vergrößerte sich", "loc": "happens when s-to-s money value increased" }; +locObj.moneyDecreased = { "txt": "Euer Reichtum verringerte sich", "loc": "happens when s-to-s money value decreased" }; +locObj.popIncreased = { "txt": "Die Bevölkerung wuchs", "loc": "happens when s-to-s population value increased" }; +locObj.popDecreased = { "txt": "Die Bevölkerung ging zurück", "loc": "happens when s-to-s population value decreased" }; +locObj.buildUpgradeHouse = { "txt": "Eure Stadt ist am Bevölkerungslimit. Errichtet neue Häuser oder rüstet bestehende auf", "loc": "the endturn tip in case of overpopulating" }; +locObj.requiredFieldsNotFilled = { "txt": "Required fields are not filled!", "loc": "happens in case of empty fields like login, password, etc" }; +locObj.savedSuccessfully = { "txt": "Spiel erfolgreich gespeichert", "loc": "when manual save completed successfully" }; +locObj.loadedSuccessfully = { "txt": "Spiel erfolgreich geladen", "loc": "when loaded completed successfully" }; +locObj.dialogLoadGame = { "txt": "Spiel laden? Nicht gespeicherter Fortschritt geht dabei verloren!", "loc": "confirmation dialogue over loading game" }; +locObj.noSaveGame = { "txt": "Verzeiht! Es wurde kein gespeicherter Spielstand gefunden", "loc": "in case there is no savegame" }; +locObj.dialogSaveGame = { "txt": "Spiel speichern? Alte Spielstände werden dabei überschrieben!", "loc": "when trying to save game or overwriting existing savegame" }; +locObj.loadGameFromStringEmpty = { "txt": "Bitte fügt Euren Spielstand ein", "loc": "happens when the loadgame input is empty" }; +locObj.loadGameFromStringError = { "txt": "Couldn't load the game from the savestring ;-;", "loc": "happens when the loadgame input is incorrect or couldn't be processed" }; +locObj.lblLongSaveString = { "txt": "sehr lange Zeichenkette", "loc": "label near input fielf for savegame string" }; +locObj.dialogConfirmHireGuard = { "txt": "Möchtet Ihr einen Wachmann einstellen? Er wird Euch einmalig %arg1 Gold und danach %arg2 Gold pro Saison kosten", "loc": "hiring treasury guard confirmation dialogue" }; +locObj.hiredGuardsman = { "txt": "Ihr habt einen Wachmann angeheuert", "loc": "after succesfully hired a guardsman" }; +locObj.notEnoughGold = { "txt": "Ihr besitzt leider nicht genug Gold dafür", "loc": "not enough gold" }; +locObj.treasuryRequired = { "txt": "Ihr benötigt eine Schatzkammer, um einen Wachmann anheuern zu können", "loc": "happens when trying to hire gaurdsman without a treasury" }; +locObj.dialogConfirmDismssGuardsman = { "txt": "Möchtet Ihr einen Wachmann entlassen?", "loc": "happens when try to dismiss one guardsman" }; +locObj.dismissedGuardsman = { "txt": "Ihr habt einen Wachmann entlassen", "loc": "happens after dismissing a guardsman" }; +locObj.noGuardsman = { "txt": "Ihr beschäftigt zur Zeit keine Wachleute", "loc": "happens when trying to dismiss guardsman when there are none of them" }; +locObj.execReasons = [{ "txt": "Verrats", "loc": "when executing a person" }, +{ "txt": "Spionage", "loc": "" }, +{ "txt": "Korruption", "loc": "" }, +{ "txt": "Bestechung", "loc": "" }, +{ "txt": "Unterschlagung", "loc": "" }, +{ "txt": "Diebstahls", "loc": "" }]; +locObj.techArtilleryResearched = { "txt": "You researched the artillery technology!", "loc": "Happens when the tech is discovered" }; +locObj.bldUniversityButton = { "txt": "Build university
%arg2 gold", "loc": "the label of the button of building the University on the building tab" }; +locObj.eventWillStart = { "txt": " event will start in", "loc": "shows on the status bar if an event was announced" }; +locObj.eventWillEnd = { "txt": " event will end in", "loc": "shows on the status bar if an event was started" }; +locObj.eventHalloweenName = { "txt": "Halloween", "loc": "shows on the status bar if the event announced or online" }; +locObj.eventNewYearName = { "txt": "New Year", "loc": "shows on the status bar if the event announced or online" }; +locObj.yes = { "txt": "Ja", "loc": "Positive answer, happens in modal dialogues" }; +locObj.yesKillBloody = { "txt": "Ja, auf die blutigste Weise!", "loc": "NOT USED YET" }; +locObj.no = { "txt": "Nein", "loc": "Negative answer, happens in modal dialogues" }; +locObj.serverStatusSpn = { "txt": "Server: ", "loc": "showed in the status bar" }; +locObj.serverStatusND = { "txt": "n/d", "loc": "server status is no data" }; +locObj.serverStatusUp = { "txt": "Up", "loc": "server status is Up" }; +locObj.serverStatusDown = { "txt": "Down", "loc": "server status is Down" }; +locObj.online = { "txt": "Online: ", "loc": "label before the online users counter" }; +locObj.onlineValueND = { "txt": "n/d", "loc": "online users numbers has no data" }; +locObj.errCityLevelTooLowForSendingMsg = { "txt": "Sir Commander, your city level is too low for sending messages to other Lords", "loc": "happens when low-level user try to send msg in chat" } +locObj.userCntOne = { "txt": "user", "loc": "(one) user" }; +locObj.userCntTwoPlus = { "txt": "users", "loc": "two or more users" }; +locObj.savedCloudSuccessfully = { "txt": "game saved to the cloud successfully", "loc": "when cloud save completed successfully" }; +locObj.errNoCloudSave = { "txt": "you don't have savegame in the cloud", "loc": "could happen when trying to load a savegame from DB" }; +locObj.errGettingCloudSave = { "txt": "error while trying to get your cloudsave from the cloud", "loc": "could happen when trying to get a savegame from backend" }; +locObj.errLoadingCloudSave = { "txt": "error while processing your cloudsave", "loc": "could happen while loading cloudsave" }; +locObj.errGetSaveEndpoint = { "txt": "error from server. Are you logged in? Is server up?", "loc": "endpoint error from /get_savegame" }; +locObj.executedMsg = { "txt": "Ihr habt einen Bürger wegen %arg1 hingerichtet", "loc": "eventlog after the execution" }; +locObj.executedGainMsg = { "txt": "%arg1 ist beschlagnahmtes Eigentum des hingerichteten Bürgers", "loc": "eventlog after the execution" }; +locObj.executionAborted = { "txt": "Ihr habt zu wenig Bürger", "loc": "happens if you have too low amount of citizens" }; +locObj.cantUpkeepTreasuryGuards = { "txt": "Einige Wachleute wurden entlassen, weil Ihr sie nicht bezahlen könnt!", "loc": "in calculateTurn in case of money deficite" }; +locObj.fireInCity = { "txt": "Feuer in der Stadt!", "loc": "happens as part of random events" }; +locObj.rqtsHome = { "txt": "Wird durch ein Ereignis freigeschaltet", "loc": "Requirements for homes" }; +locObj.rqtsDef = { "txt": "Wird durch ein Ereignis freigeschaltet", "loc": "Requirements for defense buildings" }; +locObj.rqtsTreasury = { "txt": "Benötigt %arg1 Gold", "loc": "Reqs for Treasury building" }; +locObj.rqtsGallows = { "txt": "Erfordert %arg1 Bürger zum Freischalten", "loc": "Reqs for Gallows" }; +locObj.rqtsFountain = { "txt": "Erfordert %arg1 Bürger zum Freischalten", "loc": "Reqs for Fountain" }; +locObj.rqtsStash = { "txt": "Requires Treasury and Unlocks by an event", "loc": "Reqs for Fountain" }; +locObj.rqtsStables = { "txt": "Erfordert %arg1 Bürger zum Freischalten", "loc": "Reqs for Stables" }; +locObj.rqtsArcheryRange = { "txt": "Requires %arg1 citizens and Stables", "loc": "Reqs for Archery Range" }; +locObj.rqtsInn = { "txt": "Erfordert %arg1 Bürger zum Freischalten", "loc": "Reqs for Inn" }; +locObj.rqtsUniversity = { "txt": "Unlocks in %arg1. Current year is %arg2", "loc": "Reqs for Konigsberg University" }; +locObj.rqtsCatherdal = { "txt": "Unlocks in 1380", "loc": "Reqs for Königsberg Cathedral" }; +locObj.helpDef = { "txt": "Dieses Gebäude wird benötigt, um die Stadt vor Eindringlingen zu schützen", "loc": "help message in the building tab" }; +locObj.helpHome = { "txt": "Dieses Gebäude und seine Verbesserungen sind erforderlich, um Ihr Bevölkerungslimit zu erhöhen", "loc": "help msg in the building tab" }; +locObj.helpTreasury = { "txt": "Dieses Gebäude und seine Verbesserungen werden benötigt, um Ihr Geldlimit zu erhöhen.
In diesem Gebäude können Sie Schatzmeister einstellen.
Sie werden benötigt, um die Wahrscheinlichkeit zu minimieren, dass Sie ausgeraubt werden.", "loc": "help msg in the building tab" }; +locObj.helpGallows = { "txt": "Dieses Gebäude und seine Verbesserungen sind für die Hinrichtung Ihrer Bürger erforderlich.
Es erhöht auch die Steuern und senkt die Geburtenrate und das Glück.
Wenn Sie dieses Gebäude bauen, können Sie den Brunnen nicht bauen!", "loc": "help msg in the building tab" }; +locObj.helpFountain = { "txt": "Dieses Gebäude und seine Verbesserungen sind für die Ausrichtung von Festivals erforderlich. Es erhöht außerdem die Geburtenrate und das Glück und senkt die Steuern.
Wenn Sie dieses Gebäude bauen, können Sie die Galgen nicht bauen!", "loc": "help msg in the building tab" }; +locObj.helpStash = { "txt": "Dieses Gebäude und seine Verbesserungen werden benötigt, um Ihr Geld vor Dieben zu retten, falls die Diebe Ihre Schatzkammer ausrauben.
Je höher Ihr Stash-Level ist, desto mehr könnten Sie sich im Stash verstecken", "loc": "help msg in the building tab" }; +locObj.helpStables = { "txt": "Dieses Gebäude und seine Verbesserungen sind erforderlich, um Kavallerien einzustellen.
Je höher Ihr Stall Level ist, desto erfahrener können Sie dort Kavallerien einstellen", "loc": "help msg in the building tab" }; +locObj.helpArcheryRange = { "txt": "Dieses Gebäude und seine Verbesserungen sind erforderlich, um Bogenschützen einzustellen.
Je höher Ihre Schießstand Level ist, desto erfahrener können Sie dort Truppen anheuern", "loc": "help msg in the building tab" }; +locObj.helpInn = { "txt": "Dieses Gebäude und seine Verbesserungen sind erforderlich, um Helden einzustellen.
Je höher Ihr Inn-Level ist, desto erfahrener können Sie dort Helden einstellen", "loc": "help msg in the building tab" }; +locObj.helpUniversity = { "txt": "This building is required to research new technologies", "loc": "User saw this when moving the coursor above the university icon in Building tab" }; +locObj.callFiremen = { "txt": "Sollen wir die Feuerwehr rufen? Es wird Euch %arg1 Gold kosten", "loc": "dialog happens when trying to get rid off the fire" }; +locObj.fireEndedByFireservice = { "txt": "Die Feuerwehr hat den Brand gelöscht", "loc": "happens after firemen ended the fire" }; +locObj.burnToAshes = { "txt": "Alles wird zu Asche verbrennen!", "loc": "happens if player decided not to pay to firemen" }; +locObj.rndEventsStealing = { "txt": "Dumm gelaufen: Diebe haben %arg1 Gold aus Eurer Schatzkammer gestohlen!", "loc": "random events, stealings" }; +locObj.rndEventsLotteryWon = { "txt": "Ihr habt %arg1 Gold beim Glücksspiel gewonnen", "loc": "random events lottery won msg" }; +locObj.locSaveGame = { "txt": "Spiel speichern", "loc": "browser-wide savegame" }; +locObj.locLoadGame = { "txt": "Spiel laden", "loc": "load save from localStorage of the browser" }; +locObj.tabCity = { "txt": "Stadt", "loc": "tabname in the tab bar" }; +locObj.tabSettings = { "txt": "Einstellungen", "loc": "tabname Settings in the tab bar" }; +locObj.tabBuilding = { "txt": "Bauen", "loc": "tabname Building in the tab bar" }; +locObj.tabHowToPlay = { "txt": "Anleitung", "loc": "tabname How To Play, about and stuff in da bar" }; +locObj.tabDiscord = { "txt": "Discord", "loc": "tabname Discord with a Discord widget" }; +locObj.btnPutOutTheFire = { "txt": "Löscht das feuer", "loc": "button to extinguish the fire" }; +locObj.btnExecutePerson = { "txt": "Bürger hinrichten", "loc": "button to execute somebody" }; +locObj.festivalConfirm = { "txt": "Möchten Ihr ein Festival veranstalten?\nDas würde Sie %arg1 Gold kosten!\n", "loc": "place festival confirmation dialogue" }; +locObj.festivalConfirmCooldown = { "txt": "Festival wurde vor nicht allzu langer Zeit platziert.\nDer Effekt des Festivals würde schwächer werden.\n", "loc": "happens in case of Cooldown of the festivals" }; +locObj.eventItemCollected = { "txt": "The event item collected!", "loc": "happens when gathered an event item" }; +locObj.eventPledgeRecorded = { "txt": "Your pledge is recorded", "loc": "happens when the pledge was successfully recorded" }; +locObj.eventPledgeError = { "txt": "Your pledge couldn't be recorded. Are you logged in?", "loc": "happens when the pledge wasn't recorded" }; +locObj.festivalGain = { "txt": "Ihr Gewinn wegen des Festivals ist %arg1", "loc": "happens if the festival was profitable for budget" }; +locObj.festivalLoss = { "txt": "Ihr Verlust wegen des Festivals ist %arg1", "loc": "happens if the festival was unprofitable for budget" }; +locObj.errAlreadyHasHero = { "txt": "Ihr habt schon einen Helden", "loc": "happens when trying to hire a hero, when you have one hired" }; +locObj.autosaveTurnedOn = { "txt": "Automatisches Speichern ist eingeschaltet", "loc": "happens when autosave enabled" }; +locObj.autosaveTurnedOff = { "txt": "Automatisches Speichern ist ausgeschaltet", "loc": "happens when autosave disabled" }; +locObj.downloadGame = { "txt": "Download game for playing off-grid (to play without Internet connection)", "loc": "download game successfully" }; +locObj.GallowsFountainChoiceConfirm = { "txt": "Ihr sind im Begriff, nach %arg1 zu bauen.\nWenn das Objekt gebaut wird, können Ihr keine %arg2 bauen.\nBist du dir bei deiner Wahl sicher?", "loc": "happens when you are about to build Fountain or Gallows" }; +locObj.GallowsChoiceConfirm = { "txt": "Galgen", "loc": "your choice in GallowsFountainChoiceConfirm dialogue" }; +locObj.FountainBlocked = { "txt": "ein Brunnen", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue" }; +locObj.FountainChoiceConfirm = { "txt": "ein Brunnen", "loc": "your choice in GallowsFountainChoiceConfirm dialogue" }; +locObj.GallowsBlocked = { "txt": "Galgen", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue" }; +locObj.noStatsYet = { "txt": "Noch nichts zu zeigen, kommen Sie später hierher", "loc": "happens when trying to open gold/pop stats" }; +locObj.tabSettings = { "txt": "Einstellungen", "loc": "Settings tab name" }; +locObj.tabSettingsBtnExportGame = { "txt": "Spielstand exportieren", "loc": "Export game button" }; +locObj.tabSettingsBtnImportGame = { "txt": "Spielstand importieren", "loc": "Import game button" }; +locObj.tabSettingsLblAutosave = { "txt": "Automatisches Speichern", "loc": "Autsave label before the toggle" }; +locObj.tabSettingsBtnChangeColorMode = { "txt": "Farbmodus ändern", "loc": "settings tab change colour mode button" }; +locObj.tabSoundSettingsLblOption = { "txt": "Möglichkeit", "loc": "Sound settings tab, name of the option" }; +locObj.on = { "txt": "Auf", "loc": "used on Sound Settings tab" }; +locObj.off = { "txt": "Aus", "loc": "used on Sounds Settings tab" }; +locObj.tabSoundSettingsLblAllSoundEffects = { "txt": "Alle Soundeffekte", "loc": "sound settings tab" }; +locObj.tabSoundSettingsLblAllEventsEffects = { "txt": "Auswirkungen auf alle Ereignisse", "loc": "sound settings tab" }; +locObj.tabSoundSettingsLblEffectsAR = { "txt": "Auswirkungen auf die erforderlichen Ereignisse", "loc": "sound settings tab" }; +locObj.tabSoundSettingsAllMusic = { "txt": "Musik alles", "loc": "sound settings tab" }; +locObj.tabSoundSettingsScMusic = { "txt": "Überlieferungs- und Bühnenmusik", "loc": "sounds settings tab" }; +locObj.btnBack = { "txt": "Zurück", "loc": "sound settings tab" }; +locObj.lblSoundMenu = { "txt": "Einstellungen von Soundeffekten und Musik", "loc": "sounds settings tab" }; +locObj.tabSettingsBtnOpenSoundSettings = { "txt": "Klangeinstellungen öffnen", "loc": "settings tab" }; +locObj.tabSettingsLblMobileUI = { "txt": "Mobile Benutzeroberfläche", "loc": "settings tab" }; +locObj.tabSettingsLblLogSize = { "txt": "Größe des Ereignisprotokolls", "loc": "settings tab" }; +locObj.tabSettingsLblLines = { "txt": "linien", "loc": "settings tab" }; +locObj.goldAddedToTreasury = { "txt": "%arg1 gold has been added to your treasury", "loc": "gold added when a hero returned to the city" }; +locObj.amber = { "txt": "Bernstein ist die seltenste Währung", "loc": "happens on click on amber" }; +locObj.lblGarrison = { "txt": "Garnison", "loc": "label in Garrison tab" }; +locObj.btnFire = { "txt": "Entlassen", "loc": "button in Garrison tab" }; +locObj.btnHire = { "txt": "Einstellen", "loc": "button in Garrison tab" }; +locObj.imgCastellan = { "txt": "Kastellan", "loc": "troops management screen" }; +locObj.imgHero = { "txt": "Held", "loc": "troops management screen" }; +locObj.imgBrotherSergeants = { "txt": "Sariantsbrueder", "loc": "troops management screen" }; +locObj.imgTurkopols = { "txt": "turkopole", "loc": "troops management screen" }; +locObj.imgBrotherKnights = { "txt": "Ritterbrueder", "loc": "troops management screen" }; +locObj.btnBuildHouse = { "txt": "Haus bauen
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.btnBuildWall = { "txt": "Mauer bauen
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.btnBuildTower = { "txt": "Turm bauen
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.btnBuildCastle = { "txt": "Kastell bauen
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.btnBuildTreasury = { "txt": "Schatzkammer bauen
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.btnBuildGallows = { "txt": "Galgen bauen
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.btnBuildFountain = { "txt": "Brunnen bauen
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.btnBuildStash = { "txt": "Versteck bauen
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.btnBuildInn = { "txt": "Schenke bauen
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.btnBuildStables = { "txt": "Stall bauen
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.btnBuildArcheryRange = { "txt": "Schießstand bauen
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.lblAbout_h1 = { "txt": "1255: Rise of Teutonics" }; +locObj.lblAbout_h2 = { "txt": "Anleitung" }; +locObj.lblAbout_wiki = { "txt": "wiki: https://github.com/Areso/1255-burgomaster/wiki
" }; +locObj.lblAbout_feedback = { "txt": "feedback feedback form
" }; +locObj.lblAbout_meh = { + "txt": "Dieses Spiel ist rundenbasiert. Jede Runde dauert 30 Sekunden.\n" + + "Nach jeder Runde zahlt deine Bevölkerung Steuern an Euch und wächst.\n" + + "Normalerweise bringt Euch jeder Bürger ein Goldstück pro Runde ein.\n" + + "Dieses Verhalten kann durch Eure Entscheidungen geändert werden.\n" + + "Ihr müsst Häuser bauen, um das Wachstum Eurer Stadtbevölkerung zu ermöglichen.\n" + + "Jede Stufe von Häusern kann mehr Bürger beheimaten.\n" + + "Ihr müsst Mauern und einen Turm errichten, um die Stadt vor Eindringlingen zu schützen.\n" + + "Ihr müsst eine Schatzkammer bauen, um Euer Gold zu lagern.\n" + + "Jede Stufe der Schatzkammer kann mehr Gold lagern.\n" + + "Außerdem erlaubt Euch die Schatzkammer, Wachleute einzustellen.\n" + + "Wachleute verringern die Wahrscheinlichkeit, dass Gold aus Eurer Schatzkammer gestohlen wird.\n" + + "Einen Wachmann neu einzustellen wird Euch %arg1 Gold kosten.\n" + + "Außerdem verlangt jeder Wachmann pro Runde einen Sold von %arg2 Gold.\n" + + "Wenn Ihr nicht genug Geld habt, werden sie ihre Arbeit dauerhaft aufgeben.\n" + + "Ihr könnt entweder einen Brunnen oder einen Galgen errichten. Ist der Bau abgeschlossen, könnt Ihr eure Entscheidung nicht mehr ändern.\n" + + "Brunnen steigern die Zufriedenheit Eurer Bürger und das Bevölkerungswachstum.\n" + + "Galgen verringern Zufriedenheit und Wachstum, aber erhöhen Eure Steuereinnahmen und ermöglichen Euch, Stadtbewohner hinzurichten.\n" + + "Richtet Ihr einen Bürger hin, wird sein Besitz beschlagnahmt und Eurem Vermögen hinzugefügt.\n" + + "Ein Versteck wird Eure Verluste durch Diebstahl verringern. Ihr könnt jedoch kein Versteck ohne eine Schatzkammer bauen.\n" + + "Dieses Spiel ist für einen Einzelspieler." +}; +locObj.lblAbout_supLang = { + "txt": "Unterstützte Sprachen (SL, supported languages): Englisch (English), Russisch (Русский).\n" + + "Von der Community unterstützte Sprachen (CSL, community supported languages): Deutsch, Esperanto, French (le français)\n" + + "Der Autor kann keine Hilfe oder Antworten zu in einer CSL gestellten Fragen geben,\n" + + "obwohl das Spiel (oder Teile davon) in der CSL zur Verfügung gestellt werden.\n" + + "Außerdem könnten Übersetzungen in eine CSL Fehler ebenso wie unübersetzte\n" + + "oder auch veraltete Teile beinhalten.\n" + + "Ihr könnt uns hier bei der Übersetzung des Spiels unterstützen:
" +}; +locObj.lblAbout_googleLang = { "txt": "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
" }; +locObj.cityScreenSawmill = { "txt": "Sägewerk", "loc": "cityscreen" }; +locObj.cityScreenWishingWell = { "txt": "Wunschbrunnen", "loc": "cityscreen" }; +locObj.cityScreenWall = { "txt": "Mauer", "loc": "cityscreen" }; +locObj.cityScreenStoneWall = { "txt": "Steinmauer", "loc": "cityscreen" }; +locObj.cityScreenTower = { "txt": "Turm", "loc": "cityscreen" }; +locObj.cityScreenStoneTower = { "txt": "Steinturm", "loc": "cityscreen" }; +locObj.cityScreenHouse = { "txt": "Haus", "loc": "cityscreen" }; +locObj.cityScreenHouses = { "txt": "Häuser", "loc": "cityscreen" }; +locObj.cityScreenInn = { "txt": "Schenke", "loc": "cityscreen" }; +locObj.cityScreenGallows = { "txt": "gallows", "loc": "cityscreen" }; +locObj.cityScreenFountain = { "txt": "fountain", "loc": "cityscreen" }; +locObj.cityScreenTreasury = { "txt": "Schatzkammer", "loc": "cityscreen" }; +locObj.resourceGold = { "txt": "gold", "loc": "resource panel" }; +locObj.resourcePop = { "txt": "Bevölkerung", "loc": "resource panel" }; +locObj.cityScreenArcheryRange = { "txt": "Schießstand", "loc": "cityscreen" }; +locObj.paginationStart = { "txt": "Zu Beginn", "loc": "stat pages, to the start button" }; +locObj.paginationPrevious = { "txt": "Bisherige", "loc": "stat pages, previous page" }; +locObj.paginationNext = { "txt": "Nächster", "loc": "stat pages, next page btn" }; +locObj.paginationCurrent = { "txt": "Zur aktuellen", "loc": "stat pages, current btn" }; +locObj.tabPopHistory = { "txt": "Bevölkerungshistorie-Tab", "loc": "Label in Pop history tab" }; +locObj.tabPopHistoryCurrentLimit = { "txt": "Aktuelle Bevölkerungsgrenze ist %arg1", "loc": "Label current pop limit" }; +locObj.tabGoldHistoryCurrentLimit = { "txt": "Aktuelle Goldgrenze ist %arg1", "loc": "label current gold limit" }; +locObj.tabGoldHistory = { "txt": "Goldhistorie-Tab", "loc": "Label in Gold history tab" }; +locObj.dayAcronym = { "txt": "T", "loc": "used for countdown in events" }; +locObj.hourAcronym = { "txt": "S", "loc": "used for countdown in events" }; +locObj.minuteAcronym = { "txt": "M", "loc": "used for countdown in events" }; +locObj.countDownBeforeEventStarts = { "txt": "This is the time amount before an event will start", "loc": "resource panel?" }; +locObj.countDownBeforeEventEnds = { "txt": "This is the time amount before the event will end", "loc": "resource panel?" }; +locObj.mapRegenerate = { "txt": "Der Himmel über der Stadt verdunkelte sich zu Schwarz, Blitzschläge machten einen solchen Anblick und plötzlich hörten alle auf", "loc": "after pressed generate new map button" }; +locObj.day = { "txt": "Tag", "loc": "occurs in autobattles logs" }; +locObj.autocampaignWithdrawErr = { "txt": "Dein Held muss in einer Autokampagne sein, um das zu tun!", "loc": "happens when failing to withdraw the hero from autocampaign" }; +locObj.autocampaignWithdrawDialogConfirm = { "txt": "Möchtest du deinen Helden zurückziehen?", "loc": "happens when you pressing withdraw button" }; +locObj.heroLost = { "txt": "Der Held und alle Truppen sind im Ruhmkampf ums Leben gekommen", "loc": "happens when the hero is lost" }; +locObj.autocampaignHeroCrushedVastEnemyArmy = { "txt": "Der Held hat eine große Anzahl von Feinden getroffen und sie zerschlagen. Der Kampf bringt dem Helden Geld und Erfahrung!", "loc": "autocampaign journal with aggressive stance" }; +locObj.autocampaignHeroCrushedSmallEnemyArmy = { "txt": "Der Held hat eine kleine Anzahl von Feinden getroffen und sie zerschlagen. Der Kampf bringt dem Helden Geld und Erfahrung!", "loc": "autocampaign journal with cautious stance" }; +locObj.autocampaignNoEvents = { "txt": "Der Tag war sehr langweilig. Nur ein Heide wurde getötet (ein Jäger nahm einen Heiden als Beute. So traurig!)", "loc": "autocampaign log no events" }; +locObj.autocampaignLootList = { "txt": "Geplünderte Trophäen aus der Kampagne: ", "loc": "autocampaign" }; +locObj.dialogDismissHeroConfirm = { "txt": "Möchtest du den Helden mit allen Truppen entlassen?", "loc": "when dismiss hero button pressed" }; +locObj.dialogDismissHeroNoOption = { "txt": "Nicht. Ich werde zuerst alle Einheiten des Helden bewegen", "loc": "when you declined" }; +locObj.dialogMapRegenerate = { "txt": "Möchten Sie eine neue Karte erstellen? Es würde %arg1 Geld kosten!", "loc": "map regenerate confirmation dialogue" }; +locObj.errMapRegenerateHeroOnMap = { "txt": "Du konntest es nicht tun, während dein Held auf der Karte ist!", "loc": "happens if you try to make new map while your hero on an existing one" }; +locObj.tabInnWelcome = { "txt": "Willkommen im Schenke", "loc": "label in Inn tab" }; +locObj.tabInnBtnHireHero = { "txt": "Vermietung Held
Stufe %arg1
%arg2 Gold", "loc": "tab Inn, button Hire Hero" }; +locObj.heroStatLuck = { "txt": "Aberglaube", "loc": "hero stat" }; +locObj.heroStatMorale = { "txt": "moral", "loc": "hero stat" }; +locObj.heroFoundMoney = { "txt": "Der Held hat etwas Geld gefunden: %arg1", "loc": "when a chest found on Adventure Map" }; +locObj.heroStatInt = { "txt": "Intelligenz", "loc": "hero stat" }; +locObj.heroStatLevel = { "txt": "Stufe", "loc": "hero stat" }; +locObj.heroStatAtk = { "txt": "Attack", "loc": "hero stat" }; +locObj.heroStatDef = { "txt": "Defense", "loc": "hero stat" }; +locObj.heroStatMP = { "txt": "Zauberpunkte", "loc": "hero stat" }; +locObj.heroStatSpellpower = { "txt": "Zauberkraft", "loc": "hero stat" }; +locObj.heroExp = { "txt": "Erfahrung", "loc": "hero stat" }; +locObj.heroCurrentExp = { "txt": "Aktuelle Erfahrung", "loc": "hero stat" }; +locObj.heroNextLvlExp = { "txt": "Erfahrung für das nächste Level erforderlich", "loc": "hero stat" }; +locObj.heroClasses = { "txt": ["Ritter", "Mönch"], "loc": "inn tab" }; +locObj.lblClass = { "txt": "Klasse", "loc": "inn tab" }; +locObj.lblHeroLocation = { "txt": "Held ", "loc": "inn tab" }; +locObj.heroInTown = { "txt": " in der Stadt", "loc": "used to build hero activity line" }; +locObj.heroInAutocampaign = { "txt": " in der autokampagne", "loc": "used to build hero activity line" }; +locObj.heroOnAdventureMap = { "txt": " auf der Abenteuerkarte", "loc": "used to build hero activity line" }; +locObj.heroActivitiesInTown = { "txt": ["Essen", "Trinken", "Spielen", "Training", "Faustkampf", "Ruhen"], "loc": "used to build hero activity line" }; +locObj.heroActivitiesInAutocampaign = { "txt": ["zurückmarschieren", "marschieren", "Heiden töten", "Heiden bekehren", "ein Lager errichten", "tote Heiden plündern"], "loc": "used to build hero activity line" }; +locObj.heroActivitiesOnAdventureMap = { "txt": ["marschieren", "ein Lager aufschlagen", "plündern"], "loc": "used to build hero activity line" }; +locObj.lblDistanceFromTown = { "txt": "Tage aus der Stadt", "loc": "inn tab" }; +locObj.directionFromTown = { "txt": "Aus der Stadt", "loc": "inn tab" }; +locObj.directionToTown = { "txt": "In die Stadt", "loc": "inn tab" }; +locObj.goldInHerosPurse = { "txt": "Gold im Geldbeutel des Helden", "loc": "inn tab" }; +locObj.lblDirection = { "txt": "Direction: ", "loc": "inn tab" }; +locObj.btnDismissHero = { "txt": "Held entlassen", "loc": "inn tab" }; +locObj.btnAutocampaignSendHero = { "txt": "Held an Autokampagne senden", "loc": "inn tab" }; +locObj.btnAutocampaignWithdrawHero = { "txt": "Den Helden zurückziehen", "loc": "inn tab" }; +locObj.btnAutocampaignOpenJournal = { "txt": "Tagebuch öffnen", "loc": "inn tab" }; +locObj.btnUseTowngateScroll = { "txt": "Towngate-Scroll verwenden", "loc": "inn tab" }; +locObj.btnGoToAdvenureMap = { "txt": "Gehe zur Abenteuerkarte", "loc": "inn tab" }; +locObj.btnRegenerateMap = { "txt": "Karte neu generieren", "loc": "inn tab" }; +locObj.msgHeroAdvancedToNextLvl = { "txt": "Dein Held wurde zum nächsten Level befördert!", "loc": "event log?" }; +locObj.dlgHeroStance = { "txt": "Wollen Sie eine aggressive Haltung (höhere Belohnung, höheres Risiko) oder eine vorsichtige?", "loc": "dialog happens when hero leaving town" }; +locObj.ansHeroAggressiveStance = { "txt": "Aggressiv! Willst du Blut und Geld!", "loc": "One of the options to the locObj.dlgHeroStance question" }; +locObj.ansHeroCautiousStance = { "txt": "Vorsichtig. Was nützt Gold, wenn dein Held tot ist??", "loc": "One of the options to the locObj.dlgHeroStance question" }; +locObj.errHeroHasNoTroops = { "txt": "Sie müssen zuerst einige Truppen in den Kader des Helden aufnehmen!", "loc": "when trying to send hero outta city with no troops" }; +locObj.errNoHero = { "txt": "Dafür brauchst du einen Helden!", "loc": "when trying to invoke hero-related actions with no hero" }; +locObj.msgAfterSellToTrader = { "txt": "Es ist eine Freude, mit Ihnen Geschäfte zu machen. Ich werde dich wiedersehen.", "loc": "not used so far" }; +locObj.msgAfterBuyFromTrader = { "txt": "Herzlichen Glückwunsch zum Kauf! Sie haben eine gute Wahl getroffen!", "loc": "not used so far" }; +locObj.artifactTowngateAfterUse = { "txt": "Der Held ist gerade hinter der Stadt!", "loc": "after the artefact was used" }; +locObj.artifactErrNoTowngate = { "txt": "Sie haben keine Towngate-Schriftrolle!", "loc": "when trying to use towngate scroll witout having one" }; +locObj.artifactErrWrongDirection = { "txt": "Begib dich zuerst mit dem Helden in die Stadt!", "loc": "happens when try to cast towngate and moving from the town" }; +locObj.lblGoodForSale = { "txt": "Der Schwarzmarkt des Händlers bietet diese Waren zum Verkauf!", "loc": "blackmarket tab, good for sale from the NPC" }; +locObj.lblHeroGoodsFoSale = { "txt": "Der Händler Schwarzmarkt könnte Ihre Waren kaufen", "loc": "blackmarket tab" }; //TODO chech the following two, they aren't in use right now for some reason! -locObj.tabBlackMarketlblPrice = {"txt": "preis ", "loc": "blackmarket tab"}; -locObj.btnBuySelected = {"txt": "kaufen Sie ausgewählt", "loc": "blackmarket tab"}; -locObj.btnSellSelected = {"txt": "Verkaufen ausgewählt", "loc": "blackmarket tab"}; -locObj.lblFirebrigade = {"txt": "Feuerwehr", "loc": "firebrigade tab title"}; -locObj.lblFireServiceStatus = {"txt": "Die Feuerwehr", "loc": "fireservice service label"}; -locObj.onDuty = {"txt": "ist im Dienst", "loc":"a fire service status - enabled"}; -locObj.offDuty = {"txt": "ist dienstfrei", "loc":"a fire service status - disabled"}; -locObj.lblFirebrigadeUpkeep = {"txt":"Der Preis für den Erhalt des Dienstes beträgt", "loc":"firebrigade tab"}; -locObj.fireExtinguishingProgress = {"txt": "%arg1% of fire extinguished", "loc":"firebrigade tab"}; -locObj.heroTroopsUpkeepSource = {"txt": "The primary source of payments to the hero's troops is ", "loc": "inn tab"}; -locObj.noUpkeepSergeantsDismissed = {"txt": "Sie können es sich nicht leisten, Ihre Sergeanten zu behalten. Sie werden entlassen.", "loc":"happens in calcTurn if no money for sergeants"}; -locObj.noUpkeepTurkopolsDismissed = {"txt": "Sie können es sich nicht leisten, Ihre Turkopole zu unterhalten. Sie werden entlassen.", "loc":"happens in calcTurn if no money for turkopols"}; -locObj.noUpkeepKnightsDismissed = {"txt": "Sie können es sich nicht leisten, Ihre Ritter zu unterhalten. Sie werden entlassen", "loc":"happens in calcTurn if no money for knights"}; -locObj.noUpkeepFirebrigadeDismissed = {"txt": "Sie können es sich nicht leisten, Ihr Feuerwehrteam zu unterhalten. Sie werden entlassen.", "loc": "happens in calcTurn if no money for firebrigade"}; -locObj.heroTroopsUpkeepSrcHeroPurse = {"txt": "the hero's purse", "loc": "inn tab"}; -locObj.heroTroopsUpkeepSrcTreasury = {"txt": "the treasury", "loc": "inn tab"}; \ No newline at end of file +locObj.tabBlackMarketlblPrice = { "txt": "preis ", "loc": "blackmarket tab" }; +locObj.btnBuySelected = { "txt": "kaufen Sie ausgewählt", "loc": "blackmarket tab" }; +locObj.btnSellSelected = { "txt": "Verkaufen ausgewählt", "loc": "blackmarket tab" }; +locObj.lblFirebrigade = { "txt": "Feuerwehr", "loc": "firebrigade tab title" }; +locObj.lblFireServiceStatus = { "txt": "Die Feuerwehr", "loc": "fireservice service label" }; +locObj.onDuty = { "txt": "ist im Dienst", "loc": "a fire service status - enabled" }; +locObj.offDuty = { "txt": "ist dienstfrei", "loc": "a fire service status - disabled" }; +locObj.lblFirebrigadeUpkeep = { "txt": "Der Preis für den Erhalt des Dienstes beträgt", "loc": "firebrigade tab" }; +locObj.fireExtinguishingProgress = { "txt": "%arg1% of fire extinguished", "loc": "firebrigade tab" }; +locObj.heroTroopsUpkeepSource = { "txt": "The primary source of payments to the hero's troops is ", "loc": "inn tab" }; +locObj.noUpkeepSergeantsDismissed = { "txt": "Sie können es sich nicht leisten, Ihre Sergeanten zu behalten. Sie werden entlassen.", "loc": "happens in calcTurn if no money for sergeants" }; +locObj.noUpkeepTurkopolsDismissed = { "txt": "Sie können es sich nicht leisten, Ihre Turkopole zu unterhalten. Sie werden entlassen.", "loc": "happens in calcTurn if no money for turkopols" }; +locObj.noUpkeepKnightsDismissed = { "txt": "Sie können es sich nicht leisten, Ihre Ritter zu unterhalten. Sie werden entlassen", "loc": "happens in calcTurn if no money for knights" }; +locObj.noUpkeepFirebrigadeDismissed = { "txt": "Sie können es sich nicht leisten, Ihr Feuerwehrteam zu unterhalten. Sie werden entlassen.", "loc": "happens in calcTurn if no money for firebrigade" }; +locObj.heroTroopsUpkeepSrcHeroPurse = { "txt": "the hero's purse", "loc": "inn tab" }; +locObj.heroTroopsUpkeepSrcTreasury = { "txt": "the treasury", "loc": "inn tab" }; \ No newline at end of file diff --git a/langs/en-US.js b/langs/en-US.js index 7f84f15..103333b 100644 --- a/langs/en-US.js +++ b/langs/en-US.js @@ -609,6 +609,7 @@ locObj.festivalLoss = { "txt": "Your loss because of the festival is %arg1", "lo locObj.errAlreadyHasHero = { "txt": "You already have a hero!", "loc": "happens when trying to hire a hero, when you have one hired" }; locObj.autosaveTurnedOn = { "txt": "Autosave is turned on", "loc": "happens when autosave enabled" }; locObj.autosaveTurnedOff = { "txt": "Autosave is turned off", "loc": "happens when autosave disabled" }; +locObj.downloadGame = { "txt": "Download game for playing off-grid (to play without Internet connection)", "loc": "download game successfully" }; locObj.GallowsFountainChoiceConfirm = { "txt": "You are about to build %arg1.\nIf the object is built, you wouldn't be allow to build %arg2.\nAre you sure in your choice?", "loc": "happens when you are about to build Fountain or Gallows" }; locObj.GallowsChoiceConfirm = { "txt": "Gallows", "loc": "your choice in GallowsFountainChoiceConfirm dialogue" }; locObj.FountainBlocked = { "txt": "Fountain", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue" }; @@ -655,7 +656,6 @@ locObj.btnBuildStash = { "txt": "Build Stash
lvl %arg1
%arg2 gold", "loc locObj.btnBuildInn = { "txt": "Build Inn
lvl %arg1
%arg2 gold", "loc": "building tab" }; locObj.btnBuildStables = { "txt": "Build Stable
lvl %arg1
%arg2 gold", "loc": "building tab" }; locObj.btnBuildArcheryRange = { "txt": "Build Archery range
lvl %arg1
%arg2 gold", "loc": "building tab" }; -// helpBlock = locObj.lblAbout_h1 = { "txt": "1255: Rise of Teutonics" }; locObj.lblAbout_h2 = { "txt": "How to play" }; locObj.lblAbout_wiki = { "txt": "wiki: https://github.com/Areso/1255-burgomaster/wiki
" }; @@ -691,7 +691,6 @@ locObj.lblAbout_supLang = { "You could help with translations for the game here:" }; locObj.lblAbout_googleLang = { "txt": "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
" }; -// locObj.tabHowToPlayText = helpBlock; locObj.cityScreenSawmill = { "txt": "sawmill", "loc": "cityscreen" }; locObj.cityScreenWishingWell = { "txt": "wishing well", "loc": "cityscreen" }; locObj.cityScreenWall = { "txt": "wall", "loc": "cityscreen" }; diff --git a/langs/eo.js b/langs/eo.js index e3eace8..8b480c9 100644 --- a/langs/eo.js +++ b/langs/eo.js @@ -60,8 +60,8 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder");//55 localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push(["placeholder","placeholder"]); -localeStrings.push(["placeholder","placeholder"]); +localeStrings.push(["placeholder", "placeholder"]); +localeStrings.push(["placeholder", "placeholder"]); localeStrings.push("placeholder");//60 localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -90,7 +90,7 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder");//85 localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push(["placeholder","placeholder","placeholder"]); +localeStrings.push(["placeholder", "placeholder", "placeholder"]); localeStrings.push("placeholder"); localeStrings.push("placeholder");//90 localeStrings.push("placeholder"); @@ -167,7 +167,7 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push(["plch","plch","plch"]);//165 +localeStrings.push(["plch", "plch", "plch"]);//165 localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -239,7 +239,7 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//235 localeStrings.push("placeholder"); -localeStrings.push("placeholder") ; +localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder");//240 @@ -375,7 +375,7 @@ localeStrings.push("You don't have any knights at the garrison"); localeStrings.push("You don't have any sergeants at the hero's squad"); //370 localeStrings.push("You don't have any turkopols at the hero's squad"); localeStrings.push("You don't have any knights at the hero's squad"); -localeStrings.push("You don't have any forces at the garrison"); +localeStrings.push("You don't have any forces at the garrison"); localeStrings.push("You don't have any forces at the hero's squad"); localeStrings.push("sergeants(%arg1)"); //375 localeStrings.push("turkopols(%arg1)"); @@ -383,414 +383,419 @@ localeStrings.push("knights(%arg1)"); locObj = {}; //locObj.welcome2 = {"txt":"", "loc":""}; -locObj.welcome0 = {"txt":"Saluton ludanto en ĉi tiu pliiga ludo!", "loc":"Once game initted, those strings are put to the gamelog"}; -locObj.welcome1 = {"txt":"Via tasko estas simpla - administru la urbon kiel urbestro de la urbo!", "loc":"same"}; -locObj.welcome2 = {"txt":"Civitanoj pagos impostojn ĉiun sezonon (30 sekojn) kaj ankaŭ populacio kreskos ĉiun sezonon", "loc":"same"}; -locObj.okay = {"txt":"OK", "loc":"Mostly used in information dialogues"} -locObj.skipTutorial = {"txt": "I don't need any advices!", "loc": "Dont show tutorial messages"}; // TODO: Translate it +locObj.welcome0 = { "txt": "Saluton ludanto en ĉi tiu pliiga ludo!", "loc": "Once game initted, those strings are put to the gamelog" }; +locObj.welcome1 = { "txt": "Via tasko estas simpla - administru la urbon kiel urbestro de la urbo!", "loc": "same" }; +locObj.welcome2 = { "txt": "Civitanoj pagos impostojn ĉiun sezonon (30 sekojn) kaj ankaŭ populacio kreskos ĉiun sezonon", "loc": "same" }; +locObj.okay = { "txt": "OK", "loc": "Mostly used in information dialogues" } +locObj.skipTutorial = { "txt": "I don't need any advices!", "loc": "Dont show tutorial messages" }; // TODO: Translate it -locObj.tutorial0_w0 = {"txt":"Via onklo, la landestro de teŭtona ordo, sendis vin konstrui urbon sur la pagana limo.\nVi trovis taŭgan lokon kun monteto, rivero, arbaro.\nViaj kamparanoj jam liberigis la lokon kaj pretas konstrui", "loc":"tutorial0_w0"}; -locObj.tutorial1_pop0 = {"txt":"Sinjoro Komtur, vi bezonas konstrui domojn por kreskigi vian loĝantaron ", "loc":"tutorial0_w0"}; -locObj.tutorial_defense = {"txt":"Sinjoro Komtur, skoltoj raportis pri armitaj homoj\nen la plej proksima arbaro. Pripensu konstrui muron", "loc":"tutorial msg when defense line is unlocked"}; -locObj.tutorial_treasury = {"txt":"Sinjoro Komtur, via orprovizo kreskas. Konstruu trezorejon\npor stoki la vastan kvanton da oro", "loc":"tutorial msg when treasury is unlocked"}; -locObj.tutorial_treasury_guards = {"txt":"Sinjoro Komtur, nun vi povus dungi trezorajn gardistojn en via trezorejo\nIli malpliigas ŝancon ŝteli de la trezorejo", "loc":"tutorial msg when treasury is built"}; -locObj.tutorial_stash = {"txt":"Sinjoro Komtur, ŝtelistoj ŝtelis oron el via trezorejo!\nKonstruu konservon, por ke vi kaŝu iom da oro kontraŭ ŝtelo", "loc":"tutorial msg when first stealing has a place"}; -locObj.tutorial_stable = {"txt":"Sinjoro Komtur, nun vi povus konstrui Stalojn.\nStaloj permesos vin dungi serĝentojn kaj kavalirojn", "loc":"tutorial msg when reached 50 pop"}; -locObj.tutorial_archery = {"txt":"Sinjoro Komtur, nun vi povus konstrui Arkpafadon.\nArkpafado permesos vin dungi turkopolojn en staloj", "loc":"tutorial msg when reached 70 pop"}; -locObj.tutorial_inn = {"txt":"Sinjoro Komtur, nun vi povus enkonstrui\nLa Gastejo permesos vin dungi heroon", "loc":"tutorial msg when reached 100 pop"}; -locObj.tutorial_social = {"txt":"Sinjoro Komtur, nun vi povus konstrui Pendilon aŭ Fontanon\nAmbaŭ havas proprajn pasivajn kaj aktivajn gratifikojn", "loc":"tutorial msg when reached 120 pop"}; -locObj.tutorial_university = {"txt":"Sir Commander, now you could build Univeristy\nUniversity will allow you to research new technologies", "loc":"tutorial msg when year is 1544"}; -locObj.tutorial_firebrigade = {"txt":"Sinjoro Komtur, vi povus dungi fajroŝirmilon alklakante la puton\nLa fajrobrigado estingos la fajron eventuale\nLa prizorgado de la fajrobrigado dependas de kiom\nda konstruaĵoj vi konstruis kaj plibonigis", "loc":"tutorial msg when fire, pop>50, year>1260"}; -locObj.tutorial_autosave = {"txt":"Sir Commander, you should consider to enable autosave in Settings", "loc":"tutorial. Triggered by 10 first ticks"}; -locObj.tutorial_moving_troops = {"txt":"Sir Commander, buttons near the number of units allow you to manage units\nSingle arrow moves a unit, double arrow moves a stack,\nX button fires a unit, XX button fires a stack", "loc":"triggered by first enter into Hiring tab"}; -locObj.tutorial_new_buildings = {"txt":"New buildings will unlock as your population grows","loc":"tutorial"} +locObj.tutorial0_w0 = { "txt": "Via onklo, la landestro de teŭtona ordo, sendis vin konstrui urbon sur la pagana limo.\nVi trovis taŭgan lokon kun monteto, rivero, arbaro.\nViaj kamparanoj jam liberigis la lokon kaj pretas konstrui", "loc": "tutorial0_w0" }; +locObj.tutorial1_pop0 = { "txt": "Sinjoro Komtur, vi bezonas konstrui domojn por kreskigi vian loĝantaron ", "loc": "tutorial0_w0" }; +locObj.tutorial_defense = { "txt": "Sinjoro Komtur, skoltoj raportis pri armitaj homoj\nen la plej proksima arbaro. Pripensu konstrui muron", "loc": "tutorial msg when defense line is unlocked" }; +locObj.tutorial_treasury = { "txt": "Sinjoro Komtur, via orprovizo kreskas. Konstruu trezorejon\npor stoki la vastan kvanton da oro", "loc": "tutorial msg when treasury is unlocked" }; +locObj.tutorial_treasury_guards = { "txt": "Sinjoro Komtur, nun vi povus dungi trezorajn gardistojn en via trezorejo\nIli malpliigas ŝancon ŝteli de la trezorejo", "loc": "tutorial msg when treasury is built" }; +locObj.tutorial_stash = { "txt": "Sinjoro Komtur, ŝtelistoj ŝtelis oron el via trezorejo!\nKonstruu konservon, por ke vi kaŝu iom da oro kontraŭ ŝtelo", "loc": "tutorial msg when first stealing has a place" }; +locObj.tutorial_stable = { "txt": "Sinjoro Komtur, nun vi povus konstrui Stalojn.\nStaloj permesos vin dungi serĝentojn kaj kavalirojn", "loc": "tutorial msg when reached 50 pop" }; +locObj.tutorial_archery = { "txt": "Sinjoro Komtur, nun vi povus konstrui Arkpafadon.\nArkpafado permesos vin dungi turkopolojn en staloj", "loc": "tutorial msg when reached 70 pop" }; +locObj.tutorial_inn = { "txt": "Sinjoro Komtur, nun vi povus enkonstrui\nLa Gastejo permesos vin dungi heroon", "loc": "tutorial msg when reached 100 pop" }; +locObj.tutorial_social = { "txt": "Sinjoro Komtur, nun vi povus konstrui Pendilon aŭ Fontanon\nAmbaŭ havas proprajn pasivajn kaj aktivajn gratifikojn", "loc": "tutorial msg when reached 120 pop" }; +locObj.tutorial_university = { "txt": "Sir Commander, now you could build Univeristy\nUniversity will allow you to research new technologies", "loc": "tutorial msg when year is 1544" }; +locObj.tutorial_firebrigade = { "txt": "Sinjoro Komtur, vi povus dungi fajroŝirmilon alklakante la puton\nLa fajrobrigado estingos la fajron eventuale\nLa prizorgado de la fajrobrigado dependas de kiom\nda konstruaĵoj vi konstruis kaj plibonigis", "loc": "tutorial msg when fire, pop>50, year>1260" }; +locObj.tutorial_autosave = { "txt": "Sir Commander, you should consider to enable autosave in Settings", "loc": "tutorial. Triggered by 10 first ticks" }; +locObj.tutorial_moving_troops = { "txt": "Sir Commander, buttons near the number of units allow you to manage units\nSingle arrow moves a unit, double arrow moves a stack,\nX button fires a unit, XX button fires a stack", "loc": "triggered by first enter into Hiring tab" }; +locObj.tutorial_new_buildings = { "txt": "New buildings will unlock as your population grows", "loc": "tutorial" } -locObj.story1_catastrophe = {"txt":"Viaj fortoj kaptis sorĉistinon. La proceso estis rapida kaj mallonga\nDum homoj kolektiĝis por spekti la ekzekuton, ŝi ekĉantis. Kiam flamoj lekis\nŝiajn nudajn piedojn, ŝi kriegis. Ĝuste en ĉi tiu momento el nenio ekbrilis\nfulmo kun titana potenco. Ĝuste en la centro de la fajro...", "loc":"tutorial msg catastrophe"}; -locObj.story2_two_steps = {"txt":"You saw a few peasants, running from ugly monsters you have never seen\nYou killed monsters and asked peasants what happened\nThey told you that trolls were mad because they don't paid for passing by...", "loc":"tutorial. when you step 2 times from city"}; +locObj.story1_catastrophe = { "txt": "Viaj fortoj kaptis sorĉistinon. La proceso estis rapida kaj mallonga\nDum homoj kolektiĝis por spekti la ekzekuton, ŝi ekĉantis. Kiam flamoj lekis\nŝiajn nudajn piedojn, ŝi kriegis. Ĝuste en ĉi tiu momento el nenio ekbrilis\nfulmo kun titana potenco. Ĝuste en la centro de la fajro...", "loc": "tutorial msg catastrophe" }; +locObj.story2_two_steps = { "txt": "You saw a few peasants, running from ugly monsters you have never seen\nYou killed monsters and asked peasants what happened\nThey told you that trolls were mad because they don't paid for passing by...", "loc": "tutorial. when you step 2 times from city" }; -locObj.unit_sergeants = {"txt": "Sergeants", "loc": "Autbattle log, player unit"}; -locObj.unit_turkopols = {"txt": "Turkopols", "loc": "Autbattle log, player unit"}; -locObj.unit_knights = {"txt": "Brother-knights", "loc": "Autbattle log, player unit"}; +locObj.unit_sergeants = { "txt": "Sergeants", "loc": "Autbattle log, player unit" }; +locObj.unit_turkopols = { "txt": "Turkopols", "loc": "Autbattle log, player unit" }; +locObj.unit_knights = { "txt": "Brother-knights", "loc": "Autbattle log, player unit" }; -locObj.unit_bandit = {"txt": "Bandits", "loc": "Autbattle log, enemy unit"}; -locObj.unit_bandit_archer = {"txt": "Bandits archers", "loc": "Autbattle log, enemy unit"}; -locObj.unit_merc_swordman = {"txt": "Mercenary swordmen", "loc": "Autbattle log, highlevel enemy unit"}; -locObj.unit_merc_spearman = {"txt": "Mercenary spearmen", "loc": "Autbattle log, highlevel enemy unit"}; -locObj.unit_goblin = {"txt": "Goblins", "loc": "Autbattle log, enemy unit"}; +locObj.unit_bandit = { "txt": "Bandits", "loc": "Autbattle log, enemy unit" }; +locObj.unit_bandit_archer = { "txt": "Bandits archers", "loc": "Autbattle log, enemy unit" }; +locObj.unit_merc_swordman = { "txt": "Mercenary swordmen", "loc": "Autbattle log, highlevel enemy unit" }; +locObj.unit_merc_spearman = { "txt": "Mercenary spearmen", "loc": "Autbattle log, highlevel enemy unit" }; +locObj.unit_goblin = { "txt": "Goblins", "loc": "Autbattle log, enemy unit" }; -locObj.autobattle_journal_btn = {"txt": "Battle journal", "loc": "Inn window. Battle report by round moves"}; -locObj.autobattle_journal_log_start = {"txt": "Round started", "loc": "Start round title"}; -locObj.autobattle_journal_log_end = {"txt": "Round ended", "loc": "End round title"}; -locObj.autobattle_journal_log_dmg = {"txt": "%arg1 squad does %arg2 dmg to %arg3.", "loc": "Autobattle dmg log"}; -locObj.autobattle_journal_log_dead = {"txt": "%arg1 %arg2 is dead.", "loc": "Autobattle dead log"}; -locObj.autobattle_journal_log_destroyed = {"txt": "%arg1 squad is destroyed.", "loc": "Autobattle destroyed squad log"}; +locObj.autobattle_journal_btn = { "txt": "Battle journal", "loc": "Inn window. Battle report by round moves" }; +locObj.autobattle_journal_log_start = { "txt": "Round started", "loc": "Start round title" }; +locObj.autobattle_journal_log_end = { "txt": "Round ended", "loc": "End round title" }; +locObj.autobattle_journal_log_dmg = { "txt": "%arg1 squad does %arg2 dmg to %arg3.", "loc": "Autobattle dmg log" }; +locObj.autobattle_journal_log_dead = { "txt": "%arg1 %arg2 is dead.", "loc": "Autobattle dead log" }; +locObj.autobattle_journal_log_destroyed = { "txt": "%arg1 squad is destroyed.", "loc": "Autobattle destroyed squad log" }; -locObj.advmap = {"txt":"Por movi vian heroon uzu sagobutonojn.\nSe vi ludas per sensila eniro, bonvolu ŝalti Mobile UI en Preferoj", "loc":"when first visiting adventure map"}; -locObj.plague_turk = {"txt":"Rande: via turkopolo ekvidis pestulon kaj pafis lin. La kadavro estis bruligita poste ", "loc":"Random event. Plague. A turkopol prevents plague in the city"}; -locObj.plague_army = {"txt":"merdo okazas: la pesta eksplodo estis ĉesigita de via garnizono, sed mortigis %arg1 el viaj garnizonaj trupoj", "loc":"Your army prevents plague in the city. Some soldiers are dead now"}; -locObj.plague = {"txt":"merdo okazas: la pesto mortigis %arg1 civitanojn", "loc":"default plague case + case where army failed to prevent outbreak"}; -locObj.new_adepts = {"txt":"People had heard that any new christian gets gifts from the Church. And so they came: %arg1","loc":"migration event case 1"}; -locObj.people_arrive = {"txt":"People had heard that you are kind ruler. And so they came: %arg1","loc":"migration event case 2"}; -locObj.people_leave = {"txt":"People left you, because of your cruelty. Left: %arg1","loc":"migration event case 3"}; -locObj.city_chest_gold = {"txt":"Vi trovis %arg1 oron en kesto! !", "loc":"Random event. Opened a short-living chest in city screen"}; -locObj.blackmarket_dstr = {"txt":"Alta, grasventra verda koboldo, kiu nomis sin Elbenkonig,\n ofertis al vi diversajn magiajn artefaktojn.\nVi, kiel vera kristano, frato de teŭtona ordo, ofendiĝis pro ĝi.\nLa unua via intenco estis mortigi la koboldon kaj bruligi la merkaton.\nAliflanke, magiaj artefaktoj povus montriĝi utilaj en ĉi tiu mondo.\nKion vi faros?", "loc":"This dialogue happens every time you first visit blackmarket on the newly generated map"}; -locObj.blackmarket_dstr_brn = {"txt":"Mortigu la koboldon kaj forbruligu la nigran merkaton!", "loc":"Destroying the blackmarket"}; -locObj.blackmarket_dstr_kp = {"txt":"Komencu komercadon ", "loc":"Keeping the blackmarket"}; -locObj.borderCollide = {"txt":"Vi trafis nevideblan muron. Vi ne povus preterpasi plu", "loc":"adventure map. collision with border"}; +locObj.advmap = { "txt": "Por movi vian heroon uzu sagobutonojn.\nSe vi ludas per sensila eniro, bonvolu ŝalti Mobile UI en Preferoj", "loc": "when first visiting adventure map" }; +locObj.plague_turk = { "txt": "Rande: via turkopolo ekvidis pestulon kaj pafis lin. La kadavro estis bruligita poste ", "loc": "Random event. Plague. A turkopol prevents plague in the city" }; +locObj.plague_army = { "txt": "merdo okazas: la pesta eksplodo estis ĉesigita de via garnizono, sed mortigis %arg1 el viaj garnizonaj trupoj", "loc": "Your army prevents plague in the city. Some soldiers are dead now" }; +locObj.plague = { "txt": "merdo okazas: la pesto mortigis %arg1 civitanojn", "loc": "default plague case + case where army failed to prevent outbreak" }; +locObj.new_adepts = { "txt": "People had heard that any new christian gets gifts from the Church. And so they came: %arg1", "loc": "migration event case 1" }; +locObj.people_arrive = { "txt": "People had heard that you are kind ruler. And so they came: %arg1", "loc": "migration event case 2" }; +locObj.people_leave = { "txt": "People left you, because of your cruelty. Left: %arg1", "loc": "migration event case 3" }; +locObj.city_chest_gold = { "txt": "Vi trovis %arg1 oron en kesto! !", "loc": "Random event. Opened a short-living chest in city screen" }; +locObj.blackmarket_dstr = { "txt": "Alta, grasventra verda koboldo, kiu nomis sin Elbenkonig,\n ofertis al vi diversajn magiajn artefaktojn.\nVi, kiel vera kristano, frato de teŭtona ordo, ofendiĝis pro ĝi.\nLa unua via intenco estis mortigi la koboldon kaj bruligi la merkaton.\nAliflanke, magiaj artefaktoj povus montriĝi utilaj en ĉi tiu mondo.\nKion vi faros?", "loc": "This dialogue happens every time you first visit blackmarket on the newly generated map" }; +locObj.blackmarket_dstr_brn = { "txt": "Mortigu la koboldon kaj forbruligu la nigran merkaton!", "loc": "Destroying the blackmarket" }; +locObj.blackmarket_dstr_kp = { "txt": "Komencu komercadon ", "loc": "Keeping the blackmarket" }; +locObj.borderCollide = { "txt": "Vi trafis nevideblan muron. Vi ne povus preterpasi plu", "loc": "adventure map. collision with border" }; -locObj.campaignTitle = {"txt":"Campaign-%arg1","loc":"Autocampaign accordion title"}; -locObj.autobattleTitle = {"txt": "Battle-%arg1", "loc": "Autobattle log title"}; +locObj.campaignTitle = { "txt": "Campaign-%arg1", "loc": "Autocampaign accordion title" }; +locObj.autobattleTitle = { "txt": "Battle-%arg1", "loc": "Autobattle log title" }; -locObj.upgCostSidebar = {"txt":"Altgradigo al %arg1 nivelo kostas %arg2 orojn", "loc":"Shows under the building description on the left sidebar for upgrades"}; -locObj.bldCostSidebar = {"txt":"Konstruaĵo kostas %arg2 orojn ", "loc":"Shows under the building description on the left sidebar for initial building"}; +locObj.upgCostSidebar = { "txt": "Altgradigo al %arg1 nivelo kostas %arg2 orojn", "loc": "Shows under the building description on the left sidebar for upgrades" }; +locObj.bldCostSidebar = { "txt": "Konstruaĵo kostas %arg2 orojn ", "loc": "Shows under the building description on the left sidebar for initial building" }; -locObj.knightLearnCurve = {"txt":"Havas grandan ŝancon pliigi ATK kiam altnivele", "loc":"short description of the class in inn"}; -locObj.monkLearnCurve = {"txt":"Havas grandan ŝancon pliigi DEF kiam altnivele", "loc":"short description of the class in inn"}; -locObj.heroClassKnight = {"txt":"Kavaliro", "loc":"The inn when we are hiring. Hero class"}; -locObj.heroClassMonk = {"txt":"Monako", "loc":"The inn when we are hiring. Hero class"}; +locObj.knightLearnCurve = { "txt": "Havas grandan ŝancon pliigi ATK kiam altnivele", "loc": "short description of the class in inn" }; +locObj.monkLearnCurve = { "txt": "Havas grandan ŝancon pliigi DEF kiam altnivele", "loc": "short description of the class in inn" }; +locObj.heroClassKnight = { "txt": "Kavaliro", "loc": "The inn when we are hiring. Hero class" }; +locObj.heroClassMonk = { "txt": "Monako", "loc": "The inn when we are hiring. Hero class" }; -locObj.heroLvlLbl = {"txt":"nivelo", "loc":"The inn when we are hiring. Level"}; -locObj.heroStatsLbl = {"txt":"Statistikoj: ", "loc":"The inn when we are hiring. Stats"}; -locObj.heroStatsAtkLbl = {"txt":"Atako", "loc":"The inn when we are hiring. Stats. Attack"}; -locObj.heroStatsDefLbl = {"txt":"Defendo", "loc":"The inn when we are hiring. Stats. Defence"}; -locObj.heroStatsMpowLbl = {"txt":"Magia potenco", "loc":"The inn when we are hiring. Stats. Magic power"}; -locObj.heroStatsIntLbl = {"txt":"Inteligenteco", "loc":"The inn when we are hiring. Stats. Intelligence"}; +locObj.heroLvlLbl = { "txt": "nivelo", "loc": "The inn when we are hiring. Level" }; +locObj.heroStatsLbl = { "txt": "Statistikoj: ", "loc": "The inn when we are hiring. Stats" }; +locObj.heroStatsAtkLbl = { "txt": "Atako", "loc": "The inn when we are hiring. Stats. Attack" }; +locObj.heroStatsDefLbl = { "txt": "Defendo", "loc": "The inn when we are hiring. Stats. Defence" }; +locObj.heroStatsMpowLbl = { "txt": "Magia potenco", "loc": "The inn when we are hiring. Stats. Magic power" }; +locObj.heroStatsIntLbl = { "txt": "Inteligenteco", "loc": "The inn when we are hiring. Stats. Intelligence" }; -locObj.equipmentTitle = {"txt": "Equiped", "loc": "Equiped items title"}; +locObj.equipmentTitle = { "txt": "Equiped", "loc": "Equiped items title" }; -locObj.moneyExceedsTreasury = {"txt":"Sinjoro Komtur, monsumo via trezorejo kaj la monujo de via heroo superas vian trezorejan kapablon. Por eviti perdi monon, konstruu aŭ plibonigu vian trezorejon nun", "loc":"checking function which indicated if player needs to upgrade his treasury"}; +locObj.moneyExceedsTreasury = { "txt": "Sinjoro Komtur, monsumo via trezorejo kaj la monujo de via heroo superas vian trezorejan kapablon. Por eviti perdi monon, konstruu aŭ plibonigu vian trezorejon nun", "loc": "checking function which indicated if player needs to upgrade his treasury" }; -locObj.glyphKnightTile = {"txt": "Glyph of Knight's Valor", "loc": "Имя глифа"}; -locObj.glyphKnightDesc = {"txt": "Increases the hero's attack +10, increases heroe's defence +6.", "loc": "Glyph desc"}; +locObj.glyphKnightTile = { "txt": "Glyph of Knight's Valor", "loc": "Имя глифа" }; +locObj.glyphKnightDesc = { "txt": "Increases the hero's attack +10, increases heroe's defence +6.", "loc": "Glyph desc" }; -locObj.glyphMonkTile = {"txt": "Glyph of Monk's Virtue", "loc": "Имя глифа"}; -locObj.glyphMonkDesc = {"txt": "Increases the hero's attack +4, increases heroe's defence +12.", "loc": "Glyph desc"}; +locObj.glyphMonkTile = { "txt": "Glyph of Monk's Virtue", "loc": "Имя глифа" }; +locObj.glyphMonkDesc = { "txt": "Increases the hero's attack +4, increases heroe's defence +12.", "loc": "Glyph desc" }; -locObj.goldRuneTitle = {"txt": "Rune of Golden Search", "loc": "Имя глифа"}; -locObj.goldRuneDesc = {"txt": "Increases the hero's gold reward after battle by 7%.", "loc": "Glyph desc"}; +locObj.goldRuneTitle = { "txt": "Rune of Golden Search", "loc": "Имя глифа" }; +locObj.goldRuneDesc = { "txt": "Increases the hero's gold reward after battle by 7%.", "loc": "Glyph desc" }; -locObj.lifebloodVialTitle = {"txt": "Vial of Lifeblood", "loc": "Artifact name"}; -locObj.lifebloodVialDesc = {"txt": "Increases the health of all units in the hero's army by +3", "loc": "Artifact description"}; +locObj.lifebloodVialTitle = { "txt": "Vial of Lifeblood", "loc": "Artifact name" }; +locObj.lifebloodVialDesc = { "txt": "Increases the health of all units in the hero's army by +3", "loc": "Artifact description" }; locObj.darkPactSwordTitle = { "txt": "Dark Pact Sword", "loc": "Artefact name" }; -locObj.darkPactSwordDesc = {"txt": "Increases the hero's attack by +15, reduces the health of all units in the hero's army by -35%", "loc": "Artefact description"}; +locObj.darkPactSwordDesc = { "txt": "Increases the hero's attack by +15, reduces the health of all units in the hero's army by -35%", "loc": "Artefact description" }; locObj.crusadersSwordTitle = { "txt": "Crusader's Sword", "loc": "Artifact name" }; -locObj.crusadersSwordDesc = {"txt": "Increases attack of all units in the hero's army by +20%", "loc": "Artifact description"}; +locObj.crusadersSwordDesc = { "txt": "Increases attack of all units in the hero's army by +20%", "loc": "Artifact description" }; -locObj.ringStrengthTitle = {"txt": "Ring of Strength", "loc": "Artifact name"}; -locObj.ringStrengthDesc = {"txt": "Increases the hero's attack by +5, increases attack of all units in the hero's army by +10%", "loc": "Artifact description"}; +locObj.ringStrengthTitle = { "txt": "Ring of Strength", "loc": "Artifact name" }; +locObj.ringStrengthDesc = { "txt": "Increases the hero's attack by +5, increases attack of all units in the hero's army by +10%", "loc": "Artifact description" }; -locObj.ringProtectionTitle = {"txt": "Ring of Protection", "loc": "Artifact name"}; -locObj.ringProtectionDesc = {"txt": "Increases the hero's defence by +5, increases defence of all units in the hero's army by +10%", "loc": "Artifact description"}; +locObj.ringProtectionTitle = { "txt": "Ring of Protection", "loc": "Artifact name" }; +locObj.ringProtectionDesc = { "txt": "Increases the hero's defence by +5, increases defence of all units in the hero's army by +10%", "loc": "Artifact description" }; // TODO: #SwordRestriction remove it later locObj.swordsWarn = { "txt": 'A hero can carry only two swords!', "loc": 'Sword restriction' }; locObj.ringsWarn = { "txt": 'A hero can wear only two rings!', "loc": 'Rings restriction' }; -locObj.advmapHeroLose = {"txt": "Your troops were defeated and the hero is forced to retreat to the city.", "loc":"When hero loses battle on advmap"} +locObj.advmapHeroLose = { "txt": "Your troops were defeated and the hero is forced to retreat to the city.", "loc": "When hero loses battle on advmap" } + +locObj.eventHalloween = { "txt": "Halloween is about collecting pumpkins!\nGenerate a new adventure map to find them\nYou need to be registered & logged, so you pledge could be recorded", "loc": "help" } +locObj.eventNewYear = { "txt": "New Year is about collecting snowmen!\nGenerate a new adventure map to find them\nYou need to be registered & logged, so you pledge could be recorded", "loc": "eventhelp" } +locObj.couldntRecordPledge = { "txt": "It seems you are not logged it. Your pledge will not be recorded", "loc": "happens when collected event item while being not logged in" } +locObj.requiredStables = { "txt": "Por fari tion, vi devas konstrui la stalon", "loc": "happens when trying to hire sergeants if no stables built" }; +locObj.requiredArcheryRange = { "txt": "Por fari tion, vi devas konstrui arkpafadon", "loc": "happens when trying to hire turkopols if no archery range is built" }; +locObj.requiredStablesUpgrade = { "txt": "Por fari tion, vi devas altgradigi la stalon al %arg1 nivelo", "loc": "happens when trying to hire knights and stables level too low" }; +locObj.deadCounselorDemolish = { "txt": "Your counselor is dead.\nThe new counselor, however, urges us to reconsider\nthe choice which was made with the previous one:\n-it's time, m'lord, when we could decide what's better for our nation.\n-if you agree, we demolish the %arg1 and thus you could build %arg2", "loc": "" } +locObj.demolishGallows = { "txt": "pendumilo", "loc": "your choice in deadCounselorDemolish dialogue" }; +locObj.fountainUnlock = { "txt": "fonto", "loc": "will be unlocked in deadCounselorDemolish dialogue" }; +locObj.demolishFountain = { "txt": "fonto", "loc": "your choice in deadCounselorDemolish dialogue" }; +locObj.gallowsUnlock = { "txt": "pendumilo", "loc": "will be unlocked in deadCounselorDemolish dialogue" }; +locObj.deadCounselorDemolishAnsYes = { "txt": "Yes, demolish it", "loc": "Positive answer" } +locObj.buy = { "txt": "Buy", "loc": "On item in BlackMarket for sale from Goblin" }; +locObj.sell = { "txt": "Sell", "loc": "On item in BlackMarket for sale from Hero" }; +locObj.buildArchery = { "txt": "Archery provides mounted archers. Build stables first", "loc": "error msg bulding archery" }; +locObj.buildUpgradeTreasury = { "txt": "konstruu aŭ plibonigu vian trezorejon", "loc": "the endturn tip in case of overflowing gold amount" } +locObj.moneyIncreased = { "txt": "kvanto da mono pliiĝas", "loc": "happens when s-to-s money value increased" }; +locObj.moneyDecreased = { "txt": "kvanto da mono malpliiĝas", "loc": "happens when s-to-s money value decreased" }; +locObj.popIncreased = { "txt": "loĝantaro pliiĝas", "loc": "happens when s-to-s population value increased" }; +locObj.popDecreased = { "txt": "loĝantaro malpliiĝas", "loc": "happens when s-to-s population value decreased" }; +locObj.requiredFieldsNotFilled = { "txt": "Required fields are not filled!", "loc": "happens in case of empty fields like login, password, etc" }; +locObj.buildUpgradeHouse = { "txt": "via urbo atingas loĝantaran limon. Konstruu novajn domojn aŭ ĝisdatigu ekzistantajn domojn", "loc": "the endturn tip in case of overpopulating" }; +locObj.savedSuccessfully = { "txt": "ludo konservis sukcese", "loc": "when manual save completed successfully" }; +locObj.loadedSuccessfully = { "txt": "ludo ŝarĝis sukcese", "loc": "when loaded completed successfully" }; +locObj.dialogLoadGame = { "txt": "Ŝargi ludon? Vi perdos ĉiun nekonservitan progreson!", "loc": "confirmation dialogue over loading game" }; +locObj.noSaveGame = { "txt": "Pardonu! Ne ekzistas konserva dosiero!", "loc": "in case there is no savegame" }; +locObj.dialogSaveGame = { "txt": "Konservu ludon? Vi reskribos ian ajn konservitan!", "loc": "when trying to save game or overwriting existing savegame" }; +locObj.loadGameFromStringEmpty = { "txt": "Bonvolu enigi konservan ĉenon", "loc": "happens when the loadgame input is empty" }; +locObj.loadGameFromStringError = { "txt": "Couldn't load the game from the savestring ;-;", "loc": "happens when the loadgame input is incorrect or couldn't be processed" }; +locObj.lblLongSaveString = { "txt": "tre longa ĉeno", "loc": "label near input fielf for savegame string" }; +locObj.dialogConfirmHireGuard = { "txt": "Ĉu vi volas dungi gardiston? Li kostos al vi %arg1 oron kaj tiam %arg2 oron ĉiun sezonon!", "loc": "hiring treasury guard confirmation dialogue" }; +locObj.hiredGuardsman = { "txt": "Vi dungis gardiston!", "loc": "after succesfully hired a guardsman" }; +locObj.notEnoughGold = { "txt": "Ne sufiĉe da oro por fari tion!", "loc": "not enough gold" }; +locObj.treasuryRequired = { "txt": "Trezorejo necesas por dungi gardiston!", "loc": "happens when trying to hire gaurdsman without a treasury" }; +locObj.dialogConfirmDismssGuardsman = { "txt": "Ĉu vi volas forĵeti gardiston?", "loc": "happens when try to dismiss one guardsman" }; +locObj.dismissedGuardsman = { "txt": "Vi forĵetis gardiston!", "loc": "happens after dismissing a guardsman" }; +locObj.noGuardsman = { "txt": "Vi ne havas gardistojn!", "loc": "happens when trying to dismiss guardsman when there are none of them" }; +locObj.execReasons = [{ "txt": "misuzo", "loc": "when executing a person" }, +{ "txt": "perfido", "loc": "" }, +{ "txt": "korupto", "loc": "" }, +{ "txt": "subaĉeto", "loc": "" }, +{ "txt": "greftaĵo kaj ŝtelo", "loc": "" }, +{ "txt": "malversación", "loc": "" }]; +locObj.techArtilleryResearched = { "txt": "You researched the artillery technology!", "loc": "Happens when the tech is discovered" }; +locObj.bldUniversityButton = { "txt": "Build university
%arg2 gold", "loc": "the label of the button of building the University on the building tab" }; +locObj.eventWillStart = { "txt": " event will start in", "loc": "shows on the status bar if an event was announced" }; +locObj.eventWillEnd = { "txt": " event will end in", "loc": "shows on the status bar if an event was started" }; +locObj.eventHalloweenName = { "txt": "Hallovin", "loc": "shows on the status bar if the event announced or online" }; +locObj.eventNewYearName = { "txt": "Nova Jaro", "loc": "shows on the status bar if the event announced or online" }; +locObj.yes = { "txt": "Jes", "loc": "Positive answer, happens in modal dialogues" }; +locObj.yesKillBloody = { "txt": "Jes, plej sange!", "loc": "NOT USED YET" }; +locObj.no = { "txt": "No", "loc": "Negative answer, happens in modal dialogues" }; +locObj.serverStatusSpn = { "txt": "Server: ", "loc": "showed in the status bar" }; +locObj.serverStatusND = { "txt": "n/d", "loc": "server status is no data" }; +locObj.serverStatusUp = { "txt": "Up", "loc": "server status is Up" }; +locObj.serverStatusDown = { "txt": "Down", "loc": "server status is Down" }; +locObj.online = { "txt": "Online: ", "loc": "label before the online users counter" }; +locObj.onlineValueND = { "txt": "n/d", "loc": "online users numbers has no data" }; +locObj.errCityLevelTooLowForSendingMsg = { "txt": "Sir Commander, your city level is too low for sending messages to other Lords", "loc": "happens when low-level user try to send msg in chat" } +locObj.userCntOne = { "txt": "user", "loc": "(one) user" }; +locObj.userCntTwoPlus = { "txt": "users", "loc": "two or more users" }; +locObj.savedCloudSuccessfully = { "txt": "game saved to the cloud successfully", "loc": "when cloud save completed successfully" }; +locObj.errNoCloudSave = { "txt": "you don't have savegame in the cloud", "loc": "could happen when trying to load a savegame from DB" }; +locObj.errGettingCloudSave = { "txt": "error while trying to get your cloudsave from the cloud", "loc": "could happen when trying to get a savegame from backend" }; +locObj.errLoadingCloudSave = { "txt": "error while processing your cloudsave", "loc": "could happen while loading cloudsave" }; +locObj.errGetSaveEndpoint = { "txt": "error from server. Are you logged in? Is server up?", "loc": "endpoint error from /get_savegame" }; +locObj.executedMsg = { "txt": "vi ekzekutis civitanon pro %arg1", "loc": "eventlog after the execution" }; +locObj.executedGainMsg = { "txt": "%arg1 estas konfiskita posedaĵo de la ekzekutita civitano", "loc": "eventlog after the execution" }; +locObj.executionAborted = { "txt": "tre malmultaj civitanoj", "loc": "happens if you have too low amount of citizens" }; +locObj.cantUpkeepTreasuryGuards = { "txt": "trezoreja gardisto(j) forsendis ĉar vi ne povas pagi al ili!", "loc": "in calculateTurn in case of money deficite" }; +locObj.fireInCity = { "txt": "fajro en la urbo!", "loc": "happens as part of random events" }; +locObj.rqtsHome = { "txt": "Malŝlosas per Evento", "loc": "Requirements for homes" }; +locObj.rqtsDef = { "txt": "Malŝlosas per Evento", "loc": "Requirements for defense buildings" }; +locObj.rqtsTreasury = { "txt": "Postulas %arg1 orojn por malŝlosi", "loc": "Reqs for Treasury building" }; +locObj.rqtsGallows = { "txt": "Postulas %arg1 civitanon por malŝlosi", "loc": "Reqs for Gallows" }; +locObj.rqtsFountain = { "txt": "Postulas %arg1 civitanon por malŝlosi", "loc": "Reqs for Fountain" }; +locObj.rqtsStash = { "txt": "Requires Treasury and Unlocks by an event", "loc": "Reqs for Fountain" }; +locObj.rqtsStables = { "txt": "Postulas %arg1 civitanon por malŝlosi", "loc": "Reqs for Stables" }; +locObj.rqtsArcheryRange = { "txt": "Requires %arg1 citizens and Stables", "loc": "Reqs for Archery Range" }; +locObj.rqtsInn = { "txt": "Postulas %arg1 civitanon por malŝlosi", "loc": "Reqs for Inn" }; +locObj.rqtsUniversity = { "txt": "Unlocks in %arg1. Current year is %arg2", "loc": "Reqs for Konigsberg University" }; +locObj.rqtsCatherdal = { "txt": "Unlocks in 1380", "loc": "Reqs for Königsberg Cathedral" }; +locObj.helpDef = { "txt": "Ĉi tiu konstruaĵo necesas por defendi la urbon kontraŭ entruduloj", "loc": "help message in the building tab" }; +locObj.helpHome = { "txt": "Ĉi tiu konstruaĵo kaj ĝiaj plibonigoj bezonas por altigi vian loĝantar limon", "loc": "help msg in the building tab" }; +locObj.helpTreasury = { "txt": "Ĉi tiu konstruaĵo kaj ĝiaj plibonigoj estas bezonataj por pliigi vian monan limon.
Ĉi tiu konstruaĵo permesas dungi kasistojn.
Ili necesas por minimumigi viajn ŝancojn esti ŝtelitaj", "loc": "help msg in the building tab" }; +locObj.helpGallows = { "txt": "Ĉi tiu konstruaĵo kaj ĝiaj plibonigoj necesas por ekzekuti viajn civitanojn.
Ĝi ankaŭ pliigas impostojn kaj malpliigas naskiĝotempon kaj feliĉon.
Se vi konstruos ĉi tiun konstruaĵon, vi ne povos konstrui la Fontanon!", "loc": "help msg in the building tab" }; +locObj.helpFountain = { "txt": "Ĉi tiu konstruaĵo kaj ĝiaj plibonigoj necesas por aranĝi festivalojn.
Ĝi ankaŭ pliigas naskiĝtempon kaj feliĉon kaj malpliigas impostojn.
Se vi konstruos ĉi tiun konstruaĵon, vi ne povos konstrui la forkojn!", "loc": "help msg in the building tab" }; +locObj.helpStash = { "txt": "Ĉi tiu konstruaĵo kaj ĝiaj plibonigoj necesas por ŝpari vian monon de ŝtelistoj, se la ŝtelistoj ŝtelas vian trezorejon. La pli alta nivelo de Stash vi havas, des pli vi povus kaŝi en la Stash", "loc": "help msg in the building tab" }; +locObj.helpStables = { "txt": "Ĉi tiu konstruaĵo kaj ĝiaj plibonigoj necesas por dungi kavaleriajn unuojn. La pli alta Ĉevalejo nivelo vi havas, des pli spertaj trupoj vi povus dungi tie", "loc": "help msg in the building tab" }; +locObj.helpArcheryRange = { "txt": "Ĉi tiu konstruaĵo kaj ĝiaj plibonigoj necesas por dungi pafarkistajn unuojn. La pli alta Pafado nivelo vi havas, des pli spertaj trupoj vi povus dungi tie", "loc": "help msg in the building tab" }; +locObj.helpInn = { "txt": "Ĉi tiu konstruaĵo kaj ĝiaj plibonigoj necesas por dungi heroojn. La plej altan nivelon de Gastejo vi havas, des pli spertan heroon vi povus dungi tie", "loc": "help msg in the building tab" }; +locObj.helpUniversity = { "txt": "This building is required to research new technologies", "loc": "User saw this when moving the coursor above the university icon in Building tab" }; +locObj.callFiremen = { "txt": "Voku fajrestingistojn? Tio kostus vin %arg1 oron!", "loc": "dialog happens when trying to get rid off the fire" }; +locObj.fireEndedByFireservice = { "txt": "fajrobrigadistoj metis finon al la fajro!", "loc": "happens after firemen ended the fire" }; +locObj.burnToAshes = { "txt": "ĝi brulos al cindrojn!", "loc": "happens if player decided not to pay to firemen" }; +locObj.rndEventsStealing = { "txt": "merdo okazas: ŝtelistoj ŝtelis %arg1 oron de via trezorejo", "loc": "random events, stealings" }; +locObj.rndEventsLotteryWon = { "txt": "Vi gajnis per loterio %arg1 oro premio", "loc": "random events lottery won msg" }; +locObj.locSaveGame = { "txt": "Konservi ludon", "loc": "browser-wide savegame" }; +locObj.locLoadGame = { "txt": "Ŝarĝi ludon", "loc": "load save from localStorage of the browser" }; +locObj.tabCity = { "txt": "Urbo", "loc": "tabname in the tab bar" }; +locObj.tabSettings = { "txt": "Preferoj", "loc": "tabname Settings in the tab bar" }; +locObj.tabBuilding = { "txt": "Konstruaĵo", "loc": "tabname Building in the tab bar" }; +locObj.tabHowToPlay = { "txt": "Kiel ludi", "loc": "tabname How To Play, about and stuff in da bar" }; +locObj.tabDiscord = { "txt": "Discord", "loc": "tabname Discord with a Discord widget" }; +locObj.btnPutOutTheFire = { "txt": "Estingi la fajron", "loc": "button to extinguish the fire" }; +locObj.btnExecutePerson = { "txt": "Ekzekuti civitanon", "loc": "button to execute somebody" }; +locObj.festivalConfirm = { "txt": "Ĉu vi volas fari festivalon?\nKostus al vi %arg1 oro!\n", "loc": "place festival confirmation dialogue" }; +locObj.festivalConfirmCooldown = { "txt": "Festivalo estis farita antaŭ ne tre longa tempo.\nLa efekto de festivalo malfortiĝus.\n", "loc": "happens in case of Cooldown of the festivals" }; +locObj.eventItemCollected = { "txt": "The event item collected!", "loc": "happens when gathered an event item" }; +locObj.eventPledgeRecorded = { "txt": "Your pledge is recorded", "loc": "happens when the pledge was successfully recorded" }; +locObj.eventPledgeError = { "txt": "Your pledge couldn't be recorded. Are you logged in?", "loc": "happens when the pledge wasn't recorded" }; +locObj.festivalGain = { "txt": "Via gajno pro la festivalo estas %arg1", "loc": "happens if the festival was profitable for budget" }; +locObj.festivalLoss = { "txt": "Via perdo pro la festivalo estas %arg1", "loc": "happens if the festival was unprofitable for budget" }; +locObj.errAlreadyHasHero = { "txt": "Vi jam havas heroon!", "loc": "happens when trying to hire a hero, when you have one hired" }; +locObj.autosaveTurnedOn = { "txt": "aŭtomate konservi ŝaltita", "loc": "happens when autosave enabled" }; +locObj.autosaveTurnedOff = { "txt": "aŭtomate konservi malŝaltita", "loc": "happens when autosave disabled" }; +locObj.downloadGame = { "txt": "Download game for playing off-grid (to play without Internet connection)", "loc": "download game successfully" }; +locObj.GallowsFountainChoiceConfirm = { "txt": "Vi estas konstruonta %arg1.\n Se la objekto estas konstruita, vi ne rajtus konstrui %arg2.\n Ĉu vi certas en via elekto?", "loc": "happens when you are about to build Fountain or Gallows" }; +locObj.GallowsChoiceConfirm = { "txt": "pendumilo", "loc": "your choice in GallowsFountainChoiceConfirm dialogue" }; +locObj.FountainBlocked = { "txt": "fonto", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue" }; +locObj.FountainChoiceConfirm = { "txt": "fonto", "loc": "your choice in GallowsFountainChoiceConfirm dialogue" }; +locObj.GallowsBlocked = { "txt": "pendumilo", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue" }; +locObj.noStatsYet = { "txt": "Nenio por montri ankoraŭ, venu ĉi tien poste", "loc": "happens when trying to open gold/pop stats" }; +locObj.tabSettings = { "txt": "Preferoj", "loc": "Settings tab name" }; +locObj.tabSettingsBtnExportGame = { "txt": "eksporti konserva dosieron", "loc": "Export game button" }; +locObj.tabSettingsBtnImportGame = { "txt": "importi konserva dosieron", "loc": "Import game button" }; +locObj.tabSettingsLblAutosave = { "txt": "aŭtomate konservi", "loc": "Autsave label before the toggle" }; +locObj.tabSettingsBtnChangeColorMode = { "txt": "Ŝanĝi koloran reĝimon", "loc": "settings tab change colour mode button" }; +locObj.tabSoundSettingsLblOption = { "txt": "Prefero", "loc": "Sound settings tab, name of the option" }; +locObj.on = { "txt": "ŝaltita", "loc": "used on Sound Settings tab" }; +locObj.off = { "txt": "Malŝaltita", "loc": "used on Sounds Settings tab" }; +locObj.tabSoundSettingsLblAllSoundEffects = { "txt": "Ĉiuj sonefektoj", "loc": "sound settings tab" }; +locObj.tabSoundSettingsLblAllEventsEffects = { "txt": "Efikoj al ĉiuj eventoj", "loc": "sound settings tab" }; +locObj.tabSoundSettingsLblEffectsAR = { "txt": "Efikoj sur agado postulis eventojn", "loc": "sound settings tab" }; +locObj.tabSoundSettingsAllMusic = { "txt": "Muziko ĉio", "loc": "sound settings tab" }; +locObj.tabSoundSettingsScMusic = { "txt": "Lore kaj scenomuziko", "loc": "sounds settings tab" }; +locObj.btnBack = { "txt": "Reen", "loc": "sound settings tab" }; +locObj.lblSoundMenu = { "txt": "Preferoj de sonefektoj kaj muziko", "loc": "sounds settings tab" }; +locObj.tabSettingsBtnOpenSoundSettings = { "txt": "Malfermu sonajn preferojn", "loc": "settings tab" }; +locObj.tabSettingsLblMobileUI = { "txt": "Poŝtelefona UI", "loc": "settings tab" }; +locObj.tabSettingsLblLogSize = { "txt": "Eventa grandeco", "loc": "settings tab" }; +locObj.tabSettingsLblLines = { "txt": "linioj", "loc": "settings tab" }; +locObj.goldAddedToTreasury = { "txt": "%arg1 gold has been added to your treasury", "loc": "gold added when a hero returned to the city" }; +locObj.amber = { "txt": "Ambro estas la plej malofta valuto", "loc": "happens on click on amber" }; +locObj.lblGarrison = { "txt": "Garnison", "loc": "label in Garrison tab" }; +locObj.btnFire = { "txt": "Forsenti", "loc": "button in Garrison tab" }; +locObj.btnHire = { "txt": "Dungi", "loc": "button in Garrison tab" }; +locObj.imgCastellan = { "txt": "Castellan", "loc": "troops management screen" }; +locObj.imgHero = { "txt": "Heroo", "loc": "troops management screen" }; +locObj.imgBrotherSergeants = { "txt": "frat-serĝentoj", "loc": "troops management screen" }; +locObj.imgTurkopols = { "txt": "turkopoloj", "loc": "troops management screen" }; +locObj.imgBrotherKnights = { "txt": "frat-kavaliroj", "loc": "troops management screen" }; +locObj.btnBuildHouse = { "txt": "Konstrui Domon
nivelo %arg1
pro %arg2 oro", "loc": "building tab" }; +locObj.btnBuildWall = { "txt": "Konstrui Muron
nivelo %arg1
pro %arg2 oro", "loc": "building tab" }; +locObj.btnBuildTower = { "txt": "Konstrui Turon
nivelo %arg1
pro %arg2 oro", "loc": "building tab" }; +locObj.btnBuildCastle = { "txt": "Konstrui Kastelon
nivelo %arg1
pro %arg2 oro", "loc": "building tab" }; +locObj.btnBuildTreasury = { "txt": "Konstrui Trezoron
nivelo %arg1
pro %arg2 oro", "loc": "building tab" }; +locObj.btnBuildGallows = { "txt": "Konstrui Pendumilon
nivelo %arg1
pro %arg2 oro", "loc": "building tab" }; +locObj.btnBuildFountain = { "txt": "Konstrui Fonton
nivelo %arg1
pro %arg2 oro", "loc": "building tab" }; +locObj.btnBuildStash = { "txt": "Konstrui Kaŝejon
nivelo %arg1
pro %arg2 oro", "loc": "building tab" }; +locObj.btnBuildInn = { "txt": "Konstrui Gatejon
nivelo %arg1
pro %arg2 oro", "loc": "building tab" }; +locObj.btnBuildStables = { "txt": "Konstrui Ĉevalejon
lvl %arg1
pro %arg2 gold", "loc": "building tab" }; +locObj.btnBuildArcheryRange = { "txt": "Konstrui Pafadon
lvl %arg1
pro %arg2 gold", "loc": "building tab" }; +locObj.lblAbout_h1 = { "txt": "1255 Burgomaster" }; +locObj.lblAbout_h2 = { "txt": "Kiel ludi" }; +locObj.lblAbout_wiki = { "txt": "wiki: https://github.com/Areso/1255-burgomaster/wiki
" }; +locObj.lblAbout_feedback = { "txt": "feedback feedback form
" }; +locObj.lblAbout_meh = { + "txt": "Ĉi tiu ludo havas horloĝon sub la kapuĉo. Ĉiu tiklo de la horloĝo okazas en 30 sekundoj.\n" + + "Post ĉiu horloĝo turnu vian loĝantaron pagos impostojn al vi kaj kreskos.\n" + + "Normale, ĉiu civitano pagas al vi unu oran pecon laŭ tiktaĵo.\n" + + "Ĉi tiu konduto povus esti ŝanĝita per ludantodecidoj.\n" + + "Vi devas konstrui domojn por daŭrigi la kreskadon de via urba loĝantaro.\n" + + "Ĉiu nivelo de Domoj permesas vin havi pli da loĝantaro.\n" + + "Vi bezonas konstrui Murojn kaj Turon por konservi vian urbon sekura kontraŭ entruduloj.\n" + + "Vi devas konstrui Trezoron por konservi vian oron.\n" + + "Ĉiu nivelo de la trezorejo permesas vin ŝpari pli da oro.\n" + + "Ankaŭ la trezoro permesas vin dungi trezora gardistojn.\n" + + "Trezoraj gardistoj malpliigas signife la eblon ŝteli oron de via trezoro.\n" + + "Dungi gardiston vin kostos %arg1 oran.\n" + + "Ĉiu gardisto bezonas regulan pagon (ĉiu turno), ĝi kostas %arg2 oron.\n" + + "Se vi ne havas sufiĉe da mono, ili lasos sian laboron konstante.\n" + + "Vi povas konstrui fonton aŭ pendumilon. Vi ne povas ŝanĝi vian elekton post kiam konstruiĝis.\n" + + "Fontoj pliigos feliĉon kaj rapidecon de populacio kreskanta.\n" + + "Pendumilon povas malpliigi feliĉon kaj loĝantaran kreskon, pliigi impostojn kaj permesi ke vi ekzekutis civitanoоn.\n" + + "Ekzekuti iun civitanon konfiskos siajn posedaĵojn kaj aldonos ĝin al via trezoroĵo.\n" + + "Kaŝejon bezonas pro redukti viajn perdojn pro ŝtelado. Vi ne povas konstrui kaŝejon sen trezoroĵo.\n" + + "Tios estas unu-ludanta ludo." +}; +locObj.lblAbout_supLang = { + "txt": "Apogita Lingvoj (AL): Angla, Rusa.\n" + + "Komunumaj Apogita Lingvoj (KAL): Germana, Esperanto, Franka\n" + + "KAL signifas, ke la aŭtoro ne provizas helpon aŭ respondojn en la KAL,\n" + + "kvankam partoj de la ludo aŭ ludo entute povus esti disponigitaj en la KAL.\n" + + "Ankaŭ ĉiu KAL-tradukado povus havi erarojn aŭ netradukitajn partojn\n" + + "aŭ partoj de traduko, kiuj estas parte malaktualaj.\n" + + "Vi povus helpi per tradukoj por la ludo ĉi tie:" +}; +locObj.lblAbout_googleLang = { "txt": "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
" }; -locObj.eventHalloween = {"txt": "Halloween is about collecting pumpkins!\nGenerate a new adventure map to find them\nYou need to be registered & logged, so you pledge could be recorded", "loc":"help"} -locObj.eventNewYear = {"txt": "New Year is about collecting snowmen!\nGenerate a new adventure map to find them\nYou need to be registered & logged, so you pledge could be recorded", "loc":"eventhelp"} -locObj.couldntRecordPledge = {"txt": "It seems you are not logged it. Your pledge will not be recorded","loc":"happens when collected event item while being not logged in"} -locObj.requiredStables = {"txt": "Por fari tion, vi devas konstrui la stalon", "loc":"happens when trying to hire sergeants if no stables built"}; -locObj.requiredArcheryRange = {"txt":"Por fari tion, vi devas konstrui arkpafadon", "loc":"happens when trying to hire turkopols if no archery range is built"}; -locObj.requiredStablesUpgrade = {"txt": "Por fari tion, vi devas altgradigi la stalon al %arg1 nivelo", "loc":"happens when trying to hire knights and stables level too low"}; -locObj.deadCounselorDemolish = {"txt":"Your counselor is dead.\nThe new counselor, however, urges us to reconsider\nthe choice which was made with the previous one:\n-it's time, m'lord, when we could decide what's better for our nation.\n-if you agree, we demolish the %arg1 and thus you could build %arg2", "loc":""} -locObj.demolishGallows = {"txt": "pendumilo", "loc": "your choice in deadCounselorDemolish dialogue"}; -locObj.fountainUnlock = {"txt": "fonto", "loc": "will be unlocked in deadCounselorDemolish dialogue"}; -locObj.demolishFountain = {"txt": "fonto", "loc": "your choice in deadCounselorDemolish dialogue"}; -locObj.gallowsUnlock = {"txt": "pendumilo", "loc": "will be unlocked in deadCounselorDemolish dialogue"}; -locObj.deadCounselorDemolishAnsYes = {"txt":"Yes, demolish it", "loc":"Positive answer"} -locObj.buy = {"txt":"Buy", "loc":"On item in BlackMarket for sale from Goblin"}; -locObj.sell = {"txt":"Sell", "loc":"On item in BlackMarket for sale from Hero"}; -locObj.buildArchery = {"txt":"Archery provides mounted archers. Build stables first", "loc":"error msg bulding archery"}; -locObj.buildUpgradeTreasury = {"txt":"konstruu aŭ plibonigu vian trezorejon", "loc":"the endturn tip in case of overflowing gold amount"} -locObj.moneyIncreased = {"txt":"kvanto da mono pliiĝas", "loc":"happens when s-to-s money value increased"}; -locObj.moneyDecreased = {"txt":"kvanto da mono malpliiĝas", "loc":"happens when s-to-s money value decreased"}; -locObj.popIncreased = {"txt":"loĝantaro pliiĝas", "loc":"happens when s-to-s population value increased"}; -locObj.popDecreased = {"txt":"loĝantaro malpliiĝas", "loc":"happens when s-to-s population value decreased"}; -locObj.requiredFieldsNotFilled = {"txt": "Required fields are not filled!", "loc":"happens in case of empty fields like login, password, etc"}; -locObj.buildUpgradeHouse = {"txt":"via urbo atingas loĝantaran limon. Konstruu novajn domojn aŭ ĝisdatigu ekzistantajn domojn", "loc":"the endturn tip in case of overpopulating"}; -locObj.savedSuccessfully = {"txt":"ludo konservis sukcese", "loc":"when manual save completed successfully"}; -locObj.loadedSuccessfully = {"txt":"ludo ŝarĝis sukcese", "loc":"when loaded completed successfully"}; -locObj.dialogLoadGame = {"txt":"Ŝargi ludon? Vi perdos ĉiun nekonservitan progreson!", "loc":"confirmation dialogue over loading game"}; -locObj.noSaveGame = {"txt":"Pardonu! Ne ekzistas konserva dosiero!", "loc":"in case there is no savegame"}; -locObj.dialogSaveGame = {"txt":"Konservu ludon? Vi reskribos ian ajn konservitan!", "loc":"when trying to save game or overwriting existing savegame"}; -locObj.loadGameFromStringEmpty = {"txt":"Bonvolu enigi konservan ĉenon", "loc":"happens when the loadgame input is empty"}; -locObj.loadGameFromStringError = {"txt":"Couldn't load the game from the savestring ;-;", "loc":"happens when the loadgame input is incorrect or couldn't be processed"}; -locObj.lblLongSaveString = {"txt":"tre longa ĉeno", "loc":"label near input fielf for savegame string"}; -locObj.dialogConfirmHireGuard = {"txt":"Ĉu vi volas dungi gardiston? Li kostos al vi %arg1 oron kaj tiam %arg2 oron ĉiun sezonon!", "loc":"hiring treasury guard confirmation dialogue"}; -locObj.hiredGuardsman = {"txt":"Vi dungis gardiston!", "loc":"after succesfully hired a guardsman"}; -locObj.notEnoughGold = {"txt":"Ne sufiĉe da oro por fari tion!", "loc":"not enough gold"}; -locObj.treasuryRequired = {"txt":"Trezorejo necesas por dungi gardiston!", "loc":"happens when trying to hire gaurdsman without a treasury"}; -locObj.dialogConfirmDismssGuardsman = {"txt":"Ĉu vi volas forĵeti gardiston?", "loc":"happens when try to dismiss one guardsman"}; -locObj.dismissedGuardsman = {"txt":"Vi forĵetis gardiston!", "loc":"happens after dismissing a guardsman"}; -locObj.noGuardsman = {"txt":"Vi ne havas gardistojn!", "loc":"happens when trying to dismiss guardsman when there are none of them"}; -locObj.execReasons = [{"txt":"misuzo", "loc":"when executing a person"}, - {"txt":"perfido", "loc":""}, - {"txt":"korupto", "loc":""}, - {"txt":"subaĉeto", "loc":""}, - {"txt":"greftaĵo kaj ŝtelo", "loc":""}, - {"txt":"malversación", "loc":""}]; -locObj.techArtilleryResearched = {"txt":"You researched the artillery technology!", "loc":"Happens when the tech is discovered"}; -locObj.bldUniversityButton = {"txt":"Build university
%arg2 gold", "loc":"the label of the button of building the University on the building tab"}; -locObj.eventWillStart = {"txt":" event will start in", "loc":"shows on the status bar if an event was announced"}; -locObj.eventWillEnd = {"txt":" event will end in", "loc":"shows on the status bar if an event was started"}; -locObj.eventHalloweenName = {"txt":"Hallovin", "loc":"shows on the status bar if the event announced or online"}; -locObj.eventNewYearName = {"txt":"Nova Jaro", "loc":"shows on the status bar if the event announced or online"}; -locObj.yes = {"txt":"Jes", "loc":"Positive answer, happens in modal dialogues"}; -locObj.yesKillBloody = {"txt":"Jes, plej sange!", "loc":"NOT USED YET"}; -locObj.no = {"txt":"No", "loc":"Negative answer, happens in modal dialogues"}; -locObj.serverStatusSpn = {"txt": "Server: ", "loc":"showed in the status bar"}; -locObj.serverStatusND = {"txt":"n/d", "loc":"server status is no data"}; -locObj.serverStatusUp = {"txt":"Up", "loc":"server status is Up"}; -locObj.serverStatusDown = {"txt":"Down", "loc":"server status is Down"}; -locObj.online = {"txt":"Online: ", "loc":"label before the online users counter"}; -locObj.onlineValueND = {"txt":"n/d", "loc":"online users numbers has no data"}; -locObj.errCityLevelTooLowForSendingMsg = {"txt":"Sir Commander, your city level is too low for sending messages to other Lords", "loc":"happens when low-level user try to send msg in chat"} -locObj.userCntOne = {"txt":"user", "loc":"(one) user"}; -locObj.userCntTwoPlus = {"txt":"users", "loc":"two or more users"}; -locObj.savedCloudSuccessfully = {"txt":"game saved to the cloud successfully", "loc":"when cloud save completed successfully"}; -locObj.errNoCloudSave = {"txt":"you don't have savegame in the cloud", "loc":"could happen when trying to load a savegame from DB"}; -locObj.errGettingCloudSave = {"txt":"error while trying to get your cloudsave from the cloud","loc":"could happen when trying to get a savegame from backend"}; -locObj.errLoadingCloudSave = {"txt":"error while processing your cloudsave","loc":"could happen while loading cloudsave"}; -locObj.errGetSaveEndpoint = {"txt":"error from server. Are you logged in? Is server up?","loc":"endpoint error from /get_savegame"}; -locObj.executedMsg = {"txt": "vi ekzekutis civitanon pro %arg1", "loc":"eventlog after the execution"}; -locObj.executedGainMsg = {"txt": "%arg1 estas konfiskita posedaĵo de la ekzekutita civitano", "loc": "eventlog after the execution"}; -locObj.executionAborted = {"txt":"tre malmultaj civitanoj", "loc":"happens if you have too low amount of citizens"}; -locObj.cantUpkeepTreasuryGuards = {"txt": "trezoreja gardisto(j) forsendis ĉar vi ne povas pagi al ili!", "loc":"in calculateTurn in case of money deficite"}; -locObj.fireInCity = {"txt": "fajro en la urbo!", "loc":"happens as part of random events"}; -locObj.rqtsHome = {"txt": "Malŝlosas per Evento", "loc":"Requirements for homes"}; -locObj.rqtsDef = {"txt": "Malŝlosas per Evento", "loc":"Requirements for defense buildings"}; -locObj.rqtsTreasury = {"txt": "Postulas %arg1 orojn por malŝlosi", "loc":"Reqs for Treasury building"}; -locObj.rqtsGallows = {"txt":"Postulas %arg1 civitanon por malŝlosi", "loc":"Reqs for Gallows"}; -locObj.rqtsFountain = {"txt":"Postulas %arg1 civitanon por malŝlosi", "loc":"Reqs for Fountain"}; -locObj.rqtsStash = {"txt":"Requires Treasury and Unlocks by an event", "loc":"Reqs for Fountain"}; -locObj.rqtsStables = {"txt":"Postulas %arg1 civitanon por malŝlosi", "loc":"Reqs for Stables"}; -locObj.rqtsArcheryRange = {"txt": "Requires %arg1 citizens and Stables", "loc":"Reqs for Archery Range"}; -locObj.rqtsInn = {"txt":"Postulas %arg1 civitanon por malŝlosi", "loc":"Reqs for Inn"}; -locObj.rqtsUniversity = {"txt":"Unlocks in %arg1. Current year is %arg2", "loc":"Reqs for Konigsberg University"}; -locObj.rqtsCatherdal = {"txt":"Unlocks in 1380", "loc": "Reqs for Königsberg Cathedral"}; -locObj.helpDef = {"txt":"Ĉi tiu konstruaĵo necesas por defendi la urbon kontraŭ entruduloj", "loc":"help message in the building tab"}; -locObj.helpHome = {"txt": "Ĉi tiu konstruaĵo kaj ĝiaj plibonigoj bezonas por altigi vian loĝantar limon", "loc":"help msg in the building tab"}; -locObj.helpTreasury = {"txt":"Ĉi tiu konstruaĵo kaj ĝiaj plibonigoj estas bezonataj por pliigi vian monan limon.
Ĉi tiu konstruaĵo permesas dungi kasistojn.
Ili necesas por minimumigi viajn ŝancojn esti ŝtelitaj", "loc":"help msg in the building tab"}; -locObj.helpGallows = {"txt":"Ĉi tiu konstruaĵo kaj ĝiaj plibonigoj necesas por ekzekuti viajn civitanojn.
Ĝi ankaŭ pliigas impostojn kaj malpliigas naskiĝotempon kaj feliĉon.
Se vi konstruos ĉi tiun konstruaĵon, vi ne povos konstrui la Fontanon!", "loc":"help msg in the building tab"}; -locObj.helpFountain = {"txt":"Ĉi tiu konstruaĵo kaj ĝiaj plibonigoj necesas por aranĝi festivalojn.
Ĝi ankaŭ pliigas naskiĝtempon kaj feliĉon kaj malpliigas impostojn.
Se vi konstruos ĉi tiun konstruaĵon, vi ne povos konstrui la forkojn!", "loc":"help msg in the building tab"}; -locObj.helpStash = {"txt":"Ĉi tiu konstruaĵo kaj ĝiaj plibonigoj necesas por ŝpari vian monon de ŝtelistoj, se la ŝtelistoj ŝtelas vian trezorejon. La pli alta nivelo de Stash vi havas, des pli vi povus kaŝi en la Stash","loc":"help msg in the building tab"}; -locObj.helpStables = {"txt":"Ĉi tiu konstruaĵo kaj ĝiaj plibonigoj necesas por dungi kavaleriajn unuojn. La pli alta Ĉevalejo nivelo vi havas, des pli spertaj trupoj vi povus dungi tie", "loc":"help msg in the building tab"}; -locObj.helpArcheryRange = {"txt":"Ĉi tiu konstruaĵo kaj ĝiaj plibonigoj necesas por dungi pafarkistajn unuojn. La pli alta Pafado nivelo vi havas, des pli spertaj trupoj vi povus dungi tie", "loc":"help msg in the building tab"}; -locObj.helpInn = {"txt":"Ĉi tiu konstruaĵo kaj ĝiaj plibonigoj necesas por dungi heroojn. La plej altan nivelon de Gastejo vi havas, des pli spertan heroon vi povus dungi tie", "loc":"help msg in the building tab"}; -locObj.helpUniversity = {"txt":"This building is required to research new technologies", "loc":"User saw this when moving the coursor above the university icon in Building tab"}; -locObj.callFiremen = {"txt":"Voku fajrestingistojn? Tio kostus vin %arg1 oron!", "loc":"dialog happens when trying to get rid off the fire"}; -locObj.fireEndedByFireservice = {"txt": "fajrobrigadistoj metis finon al la fajro!", "loc":"happens after firemen ended the fire"}; -locObj.burnToAshes = {"txt": "ĝi brulos al cindrojn!", "loc":"happens if player decided not to pay to firemen"}; -locObj.rndEventsStealing = {"txt": "merdo okazas: ŝtelistoj ŝtelis %arg1 oron de via trezorejo", "loc":"random events, stealings"}; -locObj.rndEventsLotteryWon = {"txt": "Vi gajnis per loterio %arg1 oro premio", "loc":"random events lottery won msg"}; -locObj.locSaveGame= {"txt": "Konservi ludon", "loc":"browser-wide savegame"}; -locObj.locLoadGame = {"txt": "Ŝarĝi ludon", "loc":"load save from localStorage of the browser"}; -locObj.tabCity = {"txt":"Urbo", "loc":"tabname in the tab bar"}; -locObj.tabSettings = {"txt":"Preferoj", "loc": "tabname Settings in the tab bar"}; -locObj.tabBuilding = {"txt": "Konstruaĵo", "loc": "tabname Building in the tab bar"}; -locObj.tabHowToPlay = {"txt": "Kiel ludi", "loc":"tabname How To Play, about and stuff in da bar"}; -locObj.tabDiscord = {"txt": "Discord", "loc": "tabname Discord with a Discord widget"}; -locObj.btnPutOutTheFire = {"txt": "Estingi la fajron", "loc": "button to extinguish the fire"}; -locObj.btnExecutePerson = {"txt": "Ekzekuti civitanon", "loc": "button to execute somebody"}; -locObj.festivalConfirm = {"txt": "Ĉu vi volas fari festivalon?\nKostus al vi %arg1 oro!\n", "loc":"place festival confirmation dialogue"}; -locObj.festivalConfirmCooldown = {"txt":"Festivalo estis farita antaŭ ne tre longa tempo.\nLa efekto de festivalo malfortiĝus.\n", "loc":"happens in case of Cooldown of the festivals"}; -locObj.eventItemCollected = {"txt": "The event item collected!", "loc": "happens when gathered an event item"}; -locObj.eventPledgeRecorded = {"txt": "Your pledge is recorded", "loc": "happens when the pledge was successfully recorded"}; -locObj.eventPledgeError = {"txt": "Your pledge couldn't be recorded. Are you logged in?", "loc": "happens when the pledge wasn't recorded"}; -locObj.festivalGain = {"txt": "Via gajno pro la festivalo estas %arg1", "loc":"happens if the festival was profitable for budget"}; -locObj.festivalLoss = {"txt": "Via perdo pro la festivalo estas %arg1", "loc":"happens if the festival was unprofitable for budget"}; -locObj.errAlreadyHasHero = {"txt": "Vi jam havas heroon!", "loc":"happens when trying to hire a hero, when you have one hired"}; -locObj.autosaveTurnedOn = {"txt": "aŭtomate konservi ŝaltita", "loc": "happens when autosave enabled"}; -locObj.autosaveTurnedOff = {"txt": "aŭtomate konservi malŝaltita", "loc": "happens when autosave disabled"}; -locObj.GallowsFountainChoiceConfirm = {"txt": "Vi estas konstruonta %arg1.\n Se la objekto estas konstruita, vi ne rajtus konstrui %arg2.\n Ĉu vi certas en via elekto?", "loc":"happens when you are about to build Fountain or Gallows"}; -locObj.GallowsChoiceConfirm = {"txt": "pendumilo", "loc": "your choice in GallowsFountainChoiceConfirm dialogue"}; -locObj.FountainBlocked = {"txt": "fonto", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue"}; -locObj.FountainChoiceConfirm = {"txt": "fonto", "loc": "your choice in GallowsFountainChoiceConfirm dialogue"}; -locObj.GallowsBlocked = {"txt": "pendumilo", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue"}; -locObj.noStatsYet = {"txt": "Nenio por montri ankoraŭ, venu ĉi tien poste", "loc":"happens when trying to open gold/pop stats"}; -locObj.tabSettings = {"txt": "Preferoj", "loc":"Settings tab name"}; -locObj.tabSettingsBtnExportGame = {"txt": "eksporti konserva dosieron", "loc":"Export game button"}; -locObj.tabSettingsBtnImportGame = {"txt": "importi konserva dosieron", "loc":"Import game button"}; -locObj.tabSettingsLblAutosave = {"txt": "aŭtomate konservi", "loc": "Autsave label before the toggle"}; -locObj.tabSettingsBtnChangeColorMode = {"txt": "Ŝanĝi koloran reĝimon", "loc": "settings tab change colour mode button"}; -locObj.tabSoundSettingsLblOption = {"txt": "Prefero", "loc":"Sound settings tab, name of the option"}; -locObj.on = {"txt": "ŝaltita", "loc": "used on Sound Settings tab"}; -locObj.off = {"txt": "Malŝaltita", "loc": "used on Sounds Settings tab"}; -locObj.tabSoundSettingsLblAllSoundEffects = {"txt":"Ĉiuj sonefektoj", "loc": "sound settings tab"}; -locObj.tabSoundSettingsLblAllEventsEffects = {"txt":"Efikoj al ĉiuj eventoj", "loc": "sound settings tab"}; -locObj.tabSoundSettingsLblEffectsAR = {"txt": "Efikoj sur agado postulis eventojn", "loc":"sound settings tab"}; -locObj.tabSoundSettingsAllMusic = {"txt": "Muziko ĉio", "loc":"sound settings tab"}; -locObj.tabSoundSettingsScMusic = {"txt": "Lore kaj scenomuziko", "loc": "sounds settings tab"}; -locObj.btnBack = {"txt": "Reen", "loc":"sound settings tab"}; -locObj.lblSoundMenu = {"txt": "Preferoj de sonefektoj kaj muziko", "loc": "sounds settings tab"}; -locObj.tabSettingsBtnOpenSoundSettings = {"txt": "Malfermu sonajn preferojn", "loc":"settings tab"}; -locObj.tabSettingsLblMobileUI = {"txt": "Poŝtelefona UI", "loc": "settings tab"}; -locObj.tabSettingsLblLogSize = {"txt":"Eventa grandeco", "loc": "settings tab"}; -locObj.tabSettingsLblLines = {"txt": "linioj", "loc": "settings tab"}; -locObj.goldAddedToTreasury = {"txt": "%arg1 gold has been added to your treasury", "loc":"gold added when a hero returned to the city"}; -locObj.amber = {"txt": "Ambro estas la plej malofta valuto", "loc": "happens on click on amber"}; -locObj.lblGarrison = {"txt": "Garnison", "loc": "label in Garrison tab"}; -locObj.btnFire = {"txt": "Forsenti", "loc": "button in Garrison tab"}; -locObj.btnHire = {"txt": "Dungi", "loc": "button in Garrison tab"}; -locObj.imgCastellan = {"txt": "Castellan", "loc": "troops management screen"}; -locObj.imgHero = {"txt":"Heroo","loc":"troops management screen"}; -locObj.imgBrotherSergeants = {"txt": "frat-serĝentoj", "loc": "troops management screen"}; -locObj.imgTurkopols = {"txt": "turkopoloj", "loc": "troops management screen"}; -locObj.imgBrotherKnights = {"txt": "frat-kavaliroj", "loc": "troops management screen"}; -locObj.btnBuildHouse = {"txt": "Konstrui Domon
nivelo %arg1
pro %arg2 oro", "loc":"building tab"}; -locObj.btnBuildWall = {"txt": "Konstrui Muron
nivelo %arg1
pro %arg2 oro", "loc":"building tab"}; -locObj.btnBuildTower = {"txt": "Konstrui Turon
nivelo %arg1
pro %arg2 oro", "loc":"building tab"}; -locObj.btnBuildCastle = {"txt": "Konstrui Kastelon
nivelo %arg1
pro %arg2 oro", "loc":"building tab"}; -locObj.btnBuildTreasury = {"txt": "Konstrui Trezoron
nivelo %arg1
pro %arg2 oro", "loc": "building tab"}; -locObj.btnBuildGallows = {"txt": "Konstrui Pendumilon
nivelo %arg1
pro %arg2 oro", "loc": "building tab"}; -locObj.btnBuildFountain = {"txt": "Konstrui Fonton
nivelo %arg1
pro %arg2 oro", "loc": "building tab"}; -locObj.btnBuildStash = {"txt": "Konstrui Kaŝejon
nivelo %arg1
pro %arg2 oro", "loc": "building tab"}; -locObj.btnBuildInn = {"txt": "Konstrui Gatejon
nivelo %arg1
pro %arg2 oro", "loc": "building tab"}; -locObj.btnBuildStables = {"txt": "Konstrui Ĉevalejon
lvl %arg1
pro %arg2 gold", "loc":"building tab"}; -locObj.btnBuildArcheryRange = {"txt": "Konstrui Pafadon
lvl %arg1
pro %arg2 gold", "loc":"building tab"}; -helpBlock = "

1255 Burgomaster

" + - "

Kiel ludi

" + - "Ĉi tiu ludo havas horloĝon sub la kapuĉo. Ĉiu tiklo de la horloĝo okazas en 30 sekundoj.
" + - "Post ĉiu horloĝo turnu vian loĝantaron pagos impostojn al vi kaj kreskos.
" + - "feedback feedback form
" + - "Normale, ĉiu civitano pagas al vi unu oran pecon laŭ tiktaĵo.
" + - "Ĉi tiu konduto povus esti ŝanĝita per ludantodecidoj.
" + - "Vi devas konstrui domojn por daŭrigi la kreskadon de via urba loĝantaro.
" + - "Ĉiu nivelo de Domoj permesas vin havi pli da loĝantaro.
" + - "Vi bezonas konstrui Murojn kaj Turon por konservi vian urbon sekura kontraŭ entruduloj.
" + - "Vi devas konstrui Trezoron por konservi vian oron.
" + - "Ĉiu nivelo de la trezorejo permesas vin ŝpari pli da oro.
" + - "Ankaŭ la trezoro permesas vin dungi trezora gardistojn.
" + - "Trezoraj gardistoj malpliigas signife la eblon ŝteli oron de via trezoro.
" + - "Dungi gardiston vin kostos %arg1 oran.
" + - "Ĉiu gardisto bezonas regulan pagon (ĉiu turno), ĝi kostas %arg2 oron.
" + - "Se vi ne havas sufiĉe da mono, ili lasos sian laboron konstante.
" + - "Vi povas konstrui fonton aŭ pendumilon. Vi ne povas ŝanĝi vian elekton post kiam konstruiĝis.
" + - "Fontoj pliigos feliĉon kaj rapidecon de populacio kreskanta.
" + - "Pendumilon povas malpliigi feliĉon kaj loĝantaran kreskon, pliigi impostojn kaj permesi ke vi ekzekutis civitanoоn.
" + - "Ekzekuti iun civitanon konfiskos siajn posedaĵojn kaj aldonos ĝin al via trezoroĵo.
" + - "Kaŝejon bezonas pro redukti viajn perdojn pro ŝtelado. Vi ne povas konstrui kaŝejon sen trezoroĵo.
"+ - "Tios estas unu-ludanta ludo.
"+ - "
" + - "Apogita Lingvoj (AL): Angla, Rusa.
"+ - "Komunumaj Apogita Lingvoj (KAL): Germana, Esperanto, Franka
"+ - "KAL signifas, ke la aŭtoro ne provizas helpon aŭ respondojn en la KAL,
"+ - "kvankam partoj de la ludo aŭ ludo entute povus esti disponigitaj en la KAL.
"+ - "Ankaŭ ĉiu KAL-tradukado povus havi erarojn aŭ netradukitajn partojn
"+ - "aŭ partoj de traduko, kiuj estas parte malaktualaj.
"+ - "Vi povus helpi per tradukoj por la ludo ĉi tie:
"+ - "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
"; -locObj.tabHowToPlayText = helpBlock; -locObj.cityScreenSawmill = {"txt": "segejo", "loc": "cityscreen"}; -locObj.cityScreenWishingWell = {"txt": "dezirante puto", "loc": "cityscreen"}; -locObj.cityScreenWall = {"txt": "muro", "loc": "cityscreen"}; -locObj.cityScreenStoneWall = {"txt": "ŝtona muro", "loc": "cityscreen"}; -locObj.cityScreenTower = {"txt": "turo", "loc": "cityscreen"}; -locObj.cityScreenStoneTower = {"txt": "ŝtona turo", "loc": "cityscreen"}; -locObj.cityScreenHouse = {"txt": "domo", "loc": "cityscreen"}; -locObj.cityScreenHouses = {"txt": "domoj", "loc": "cityscreen"}; -locObj.cityScreenInn = {"txt": "gatejo", "loc": "cityscreen"}; -locObj.cityScreenGallows = {"txt": "gallows", "loc": "cityscreen"}; -locObj.cityScreenFountain = {"txt": "fountain", "loc": "cityscreen"}; -locObj.cityScreenTreasury = {"txt": "trezorejo", "loc": "cityscreen"}; -locObj.resourceGold = {"txt": "oro", "loc": "resource panel"}; -locObj.resourcePop = {"txt": "langeto", "loc": "resource panel"}; -locObj.cityScreenArcheryRange = {"txt": "pafado", "loc":"cityscreen"}; -locObj.paginationStart = {"txt": "Al la komenco", "loc": "stat pages, to the start button"}; -locObj.paginationPrevious = {"txt": "Antaŭa", "loc": "stat pages, previous page"}; -locObj.paginationNext = {"txt": "Sekva", "loc": "stat pages, next page btn"}; -locObj.paginationCurrent = {"txt": "Al la fluo", "loc": "stat pages, current btn"}; -locObj.tabPopHistory = {"txt": "langeto pri civitanaj historio", "loc": "Label in Pop history tab"}; -locObj.tabPopHistoryCurrentLimit = {"txt": "Nuna populacio limo estas %arg1", "loc": "Label current pop limit"}; -locObj.tabGoldHistoryCurrentLimit = {"txt": "Nuna ora limo estas %arg1", "loc": "label current gold limit"}; -locObj.tabGoldHistory = {"txt": "langeto pri mono historio", "loc":"Label in Gold history tab"}; -locObj.dayAcronym = {"txt": "T", "loc": "used for countdown in events"}; -locObj.hourAcronym = {"txt": "H", "loc": "used for countdown in events"}; -locObj.minuteAcronym = {"txt": "M", "loc": "used for countdown in events"}; -locObj.countDownBeforeEventStarts = {"txt": "This is the time amount before an event will start", "loc": "resource panel?"}; -locObj.countDownBeforeEventEnds = {"txt": "This is the time amount before the event will end", "loc": "resource panel?"}; -locObj.mapRegenerate = {"txt": "La ĉielo super la urbo malheliĝis al nigraj, fulmotondroj faris tian vidon, kaj subite ĉiuj haltis", "loc": "after pressed generate new map button"}; -locObj.day = {"txt": "Tago", "loc": "occurs in autobattles logs"}; -locObj.autocampaignWithdrawErr = {"txt": "Via heroo devas esti en aŭtokampanjo por fari tion!", "loc":"happens when failing to withdraw the hero from autocampaign"}; -locObj.autocampaignWithdrawDialogConfirm = {"txt": "Ĉu vi volas retiri vian heroon?", "loc": "happens when you pressing withdraw button"}; -locObj.heroLost = {"txt":"la heroo kaj ĉiuj trupoj renkontis sian morton en la glor-batalo", "loc": "happens when the hero is lost"}; -locObj.autocampaignHeroCrushedVastEnemyArmy = {"txt":"la heroo renkontis grandan nombron da malamikoj kaj frakasis ilin. La batalo alportas al la heroo monon kaj sperton!", "loc":"autocampaign journal with aggressive stance"}; -locObj.autocampaignHeroCrushedSmallEnemyArmy = {"txt": "la heroo renkontis malgrandan nombron da malamikoj kaj frakasis ilin. La batalo alportas al la heroo monon kaj sperton!", "loc":"autocampaign journal with cautious stance"}; -locObj.autocampaignNoEvents = {"txt": "la tago estis tre enuiga. Nur unu pagano estis mortigita (ĉasisto prenis paganon kiel predon. Do malĝoja!)", "loc":"autocampaign log no events"}; -locObj.autocampaignLootList = {"txt": "Forigitaj trofeoj de la kampanjo: ", "loc":"autocampaign"}; -locObj.dialogDismissHeroConfirm = {"txt": "Ĉu vi volas eksigi heroon kun ĉiuj trupoj?", "loc":"when dismiss hero button pressed"}; -locObj.dialogDismissHeroNoOption = {"txt": "Ne. Unue, mi translokigos ĉiujn ekzemplerojn de la heroo", "loc":"when you declined"}; -locObj.dialogMapRegenerate = {"txt": "Ĉu vi volas generi novan mapon? Kostus al vi %arg1 mono!", "loc": "map regenerate confirmation dialogue"}; -locObj.errMapRegenerateHeroOnMap = {"txt": "Vi ne povis fari ĝin dum via heroo sur la mapo!", "loc": "happens if you try to make new map while your hero on an existing one"}; -locObj.tabInnWelcome = {"txt": "Bonvenon al Gastejo", "loc":"label in Inn tab"}; -locObj.tabInnBtnHireHero = {"txt": "dungi heroon
nivelo %arg1
%arg2 oro", "loc": "tab Inn, button Hire Hero"}; -locObj.heroStatLuck = {"txt": "bonŝanco", "loc": "hero stat"}; -locObj.heroStatSuperstition = {"txt": "superstiĉo", "loc": "hero stat"}; -locObj.heroStatMorale = {"txt": "moralo", "loc": "hero stat"}; -locObj.heroFoundMoney = {"txt": "la heroo trovis iom da mono: %arg1", "loc": "when a chest found on Adventure Map"}; -locObj.heroStatInt = {"txt": "Inteligenteco", "loc": "hero stat"}; -locObj.heroStatLevel = {"txt": "Nivelo", "loc": "hero stat"}; -locObj.heroStatAtk = {"txt": "Atako", "loc": "hero stat"}; -locObj.heroStatDef = {"txt": "Defendo", "loc": "hero stat"}; -locObj.heroStatMP = {"txt": "Magiaj punktoj", "loc": "hero stat"}; -locObj.heroStatSpellpower = {"txt": "Magia potenco", "loc": "hero stat"}; -locObj.heroExp = {"txt": "Sperto", "loc": "hero stat"}; -locObj.heroCurrentExp = {"txt": "Nuna sperto", "loc": "hero stat"}; -locObj.heroNextLvlExp = {"txt": "Sperto bezonata por sekva nivelo", "loc": "hero stat"}; -locObj.heroClasses = {"txt": ["Kavaliro", "Monako"], "loc": "inn tab"}; -locObj.lblClass = {"txt": "Klaso", "loc": "inn tab"}; -locObj.lblHeroLocation = {"txt":"Heroo nun estas ", "loc":"inn tab"}; -locObj.heroInTown = {"txt": " en la urbo", "loc": "used to build hero activity line"}; -locObj.heroInAutocampaign = {"txt": " en aŭtokombina", "loc": "used to build hero activity line"}; -locObj.heroOnAdventureMap = {"txt": " on the Adventure Map", "loc": "used to build hero activity line"}; -locObj.heroActivitiesInTown = {"txt": ["manĝi", "trinki", "vetludi", "trejni", "pugni", "ripozi"], "loc": "used to build hero activity line"}; -locObj.heroActivitiesInAutocampaign = {"txt":["marŝi reen", "marŝi", "mortigi paganojn", "konverti paganojn", "fari tendaron", "prirabi mortintajn paganojn"], "loc": "used to build hero activity line"}; -locObj.heroActivitiesOnAdventureMap = {"txt":["marŝi", "fari tendaron", "rabado"],"loc": "used to build hero activity line"}; -locObj.lblDistanceFromTown = {"txt": "Tagoj el la urbo", "loc": "inn tab"}; -locObj.directionFromTown = {"txt": "El la urbo", "loc": "inn tab"}; -locObj.directionToTown = {"txt": "Al la urbo", "loc": "inn tab"}; -locObj.goldInHerosPurse = {"txt": "Ora en monujo de heroo", "loc": "inn tab"}; -locObj.lblDirection = {"txt": "Direction: ", "loc": "inn tab"}; -locObj.btnDismissHero = {"txt": "Malakcepti heroon", "loc": "inn tab"}; -locObj.btnAutocampaignSendHero = {"txt": "Sendi heroon al aŭtokampanjo", "loc": "inn tab"}; -locObj.btnAutocampaignWithdrawHero = {"txt": "Forigi la heroon", "loc": "inn tab"}; -locObj.btnAutocampaignOpenJournal = {"txt": "Malfermi taglibro", "loc": "inn tab"}; -locObj.btnUseTowngateScroll = {"txt": "Uzi ruleton de urbeto", "loc": "inn tab"}; -locObj.btnGoToAdvenureMap = {"txt": "Iri al aventura mapo", "loc": "inn tab"}; -locObj.btnRegenerateMap = {"txt": "Regeneri mapon", "loc": "inn tab"}; -locObj.msgHeroAdvancedToNextLvl = {"txt": "Via heroo promociiĝis al la sekva nivelo!", "loc": "event log?"}; -locObj.dlgHeroStance = {"txt": "Ĉu vi volas agresa sinteno (pli alta rekompenco, pli alta risko) aŭ singarda?", "loc": "dialog happens when hero leaving town"}; -locObj.ansHeroAggressiveStance = {"txt": "Agresa! Volu sangon kaj monon!", "loc": "One of the options to the locObj.dlgHeroStance question"}; -locObj.ansHeroCautiousStance = {"txt": "Zorgema. Ĉu bona el oro se via heroo mortis?", "loc": "One of the options to the locObj.dlgHeroStance question"}; -locObj.errHeroHasNoTroops = {"txt": "Vi devas unue aldoni iujn trupojn al la taĉmento de herooj!", "loc": "when trying to send hero outta city with no troops"}; -locObj.errNoHero = {"txt": "Vi bezonas heroon por fari tion!", "loc": "when trying to invoke hero-related actions with no hero"}; -locObj.msgAfterSellToTrader = {"txt": "Estas plezuro havi komercon kun vi. Mi revidos vin", "loc": "not used so far"}; -locObj.msgAfterBuyFromTrader = {"txt": "Gratulojn pro via aĉeto! Vi faris bonan elekton!", "loc": "not used so far"}; -locObj.artifactTowngateAfterUse = {"txt": "La heroo estas malantaŭ la urbo nun!", "loc": "after the artefact was used"}; -locObj.artifactErrNoTowngate = {"txt": "Vi ne havas Towngate-movon!", "loc": "when trying to use towngate scroll witout having one"}; -locObj.artifactErrWrongDirection = {"txt": "Unue, direktu la heroon al la urbo!", "loc": "happens when try to cast towngate and moving from the town"}; -locObj.lblGoodForSale = {"txt": "La komercisto de nigra merkato ofertas ĉi tiujn varojn por vendo!", "loc":"blackmarket tab, good for sale from the NPC"}; -locObj.lblHeroGoodsFoSale = {"txt": "La komercisto de nigra merkato povus aĉeti viajn varojn.", "loc":"blackmarket tab"}; +locObj.cityScreenSawmill = { "txt": "segejo", "loc": "cityscreen" }; +locObj.cityScreenWishingWell = { "txt": "dezirante puto", "loc": "cityscreen" }; +locObj.cityScreenWall = { "txt": "muro", "loc": "cityscreen" }; +locObj.cityScreenStoneWall = { "txt": "ŝtona muro", "loc": "cityscreen" }; +locObj.cityScreenTower = { "txt": "turo", "loc": "cityscreen" }; +locObj.cityScreenStoneTower = { "txt": "ŝtona turo", "loc": "cityscreen" }; +locObj.cityScreenHouse = { "txt": "domo", "loc": "cityscreen" }; +locObj.cityScreenHouses = { "txt": "domoj", "loc": "cityscreen" }; +locObj.cityScreenInn = { "txt": "gatejo", "loc": "cityscreen" }; +locObj.cityScreenGallows = { "txt": "gallows", "loc": "cityscreen" }; +locObj.cityScreenFountain = { "txt": "fountain", "loc": "cityscreen" }; +locObj.cityScreenTreasury = { "txt": "trezorejo", "loc": "cityscreen" }; +locObj.resourceGold = { "txt": "oro", "loc": "resource panel" }; +locObj.resourcePop = { "txt": "langeto", "loc": "resource panel" }; +locObj.cityScreenArcheryRange = { "txt": "pafado", "loc": "cityscreen" }; +locObj.paginationStart = { "txt": "Al la komenco", "loc": "stat pages, to the start button" }; +locObj.paginationPrevious = { "txt": "Antaŭa", "loc": "stat pages, previous page" }; +locObj.paginationNext = { "txt": "Sekva", "loc": "stat pages, next page btn" }; +locObj.paginationCurrent = { "txt": "Al la fluo", "loc": "stat pages, current btn" }; +locObj.tabPopHistory = { "txt": "langeto pri civitanaj historio", "loc": "Label in Pop history tab" }; +locObj.tabPopHistoryCurrentLimit = { "txt": "Nuna populacio limo estas %arg1", "loc": "Label current pop limit" }; +locObj.tabGoldHistoryCurrentLimit = { "txt": "Nuna ora limo estas %arg1", "loc": "label current gold limit" }; +locObj.tabGoldHistory = { "txt": "langeto pri mono historio", "loc": "Label in Gold history tab" }; +locObj.dayAcronym = { "txt": "T", "loc": "used for countdown in events" }; +locObj.hourAcronym = { "txt": "H", "loc": "used for countdown in events" }; +locObj.minuteAcronym = { "txt": "M", "loc": "used for countdown in events" }; +locObj.countDownBeforeEventStarts = { "txt": "This is the time amount before an event will start", "loc": "resource panel?" }; +locObj.countDownBeforeEventEnds = { "txt": "This is the time amount before the event will end", "loc": "resource panel?" }; +locObj.mapRegenerate = { "txt": "La ĉielo super la urbo malheliĝis al nigraj, fulmotondroj faris tian vidon, kaj subite ĉiuj haltis", "loc": "after pressed generate new map button" }; +locObj.day = { "txt": "Tago", "loc": "occurs in autobattles logs" }; +locObj.autocampaignWithdrawErr = { "txt": "Via heroo devas esti en aŭtokampanjo por fari tion!", "loc": "happens when failing to withdraw the hero from autocampaign" }; +locObj.autocampaignWithdrawDialogConfirm = { "txt": "Ĉu vi volas retiri vian heroon?", "loc": "happens when you pressing withdraw button" }; +locObj.heroLost = { "txt": "la heroo kaj ĉiuj trupoj renkontis sian morton en la glor-batalo", "loc": "happens when the hero is lost" }; +locObj.autocampaignHeroCrushedVastEnemyArmy = { "txt": "la heroo renkontis grandan nombron da malamikoj kaj frakasis ilin. La batalo alportas al la heroo monon kaj sperton!", "loc": "autocampaign journal with aggressive stance" }; +locObj.autocampaignHeroCrushedSmallEnemyArmy = { "txt": "la heroo renkontis malgrandan nombron da malamikoj kaj frakasis ilin. La batalo alportas al la heroo monon kaj sperton!", "loc": "autocampaign journal with cautious stance" }; +locObj.autocampaignNoEvents = { "txt": "la tago estis tre enuiga. Nur unu pagano estis mortigita (ĉasisto prenis paganon kiel predon. Do malĝoja!)", "loc": "autocampaign log no events" }; +locObj.autocampaignLootList = { "txt": "Forigitaj trofeoj de la kampanjo: ", "loc": "autocampaign" }; +locObj.dialogDismissHeroConfirm = { "txt": "Ĉu vi volas eksigi heroon kun ĉiuj trupoj?", "loc": "when dismiss hero button pressed" }; +locObj.dialogDismissHeroNoOption = { "txt": "Ne. Unue, mi translokigos ĉiujn ekzemplerojn de la heroo", "loc": "when you declined" }; +locObj.dialogMapRegenerate = { "txt": "Ĉu vi volas generi novan mapon? Kostus al vi %arg1 mono!", "loc": "map regenerate confirmation dialogue" }; +locObj.errMapRegenerateHeroOnMap = { "txt": "Vi ne povis fari ĝin dum via heroo sur la mapo!", "loc": "happens if you try to make new map while your hero on an existing one" }; +locObj.tabInnWelcome = { "txt": "Bonvenon al Gastejo", "loc": "label in Inn tab" }; +locObj.tabInnBtnHireHero = { "txt": "dungi heroon
nivelo %arg1
%arg2 oro", "loc": "tab Inn, button Hire Hero" }; +locObj.heroStatLuck = { "txt": "bonŝanco", "loc": "hero stat" }; +locObj.heroStatSuperstition = { "txt": "superstiĉo", "loc": "hero stat" }; +locObj.heroStatMorale = { "txt": "moralo", "loc": "hero stat" }; +locObj.heroFoundMoney = { "txt": "la heroo trovis iom da mono: %arg1", "loc": "when a chest found on Adventure Map" }; +locObj.heroStatInt = { "txt": "Inteligenteco", "loc": "hero stat" }; +locObj.heroStatLevel = { "txt": "Nivelo", "loc": "hero stat" }; +locObj.heroStatAtk = { "txt": "Atako", "loc": "hero stat" }; +locObj.heroStatDef = { "txt": "Defendo", "loc": "hero stat" }; +locObj.heroStatMP = { "txt": "Magiaj punktoj", "loc": "hero stat" }; +locObj.heroStatSpellpower = { "txt": "Magia potenco", "loc": "hero stat" }; +locObj.heroExp = { "txt": "Sperto", "loc": "hero stat" }; +locObj.heroCurrentExp = { "txt": "Nuna sperto", "loc": "hero stat" }; +locObj.heroNextLvlExp = { "txt": "Sperto bezonata por sekva nivelo", "loc": "hero stat" }; +locObj.heroClasses = { "txt": ["Kavaliro", "Monako"], "loc": "inn tab" }; +locObj.lblClass = { "txt": "Klaso", "loc": "inn tab" }; +locObj.lblHeroLocation = { "txt": "Heroo nun estas ", "loc": "inn tab" }; +locObj.heroInTown = { "txt": " en la urbo", "loc": "used to build hero activity line" }; +locObj.heroInAutocampaign = { "txt": " en aŭtokombina", "loc": "used to build hero activity line" }; +locObj.heroOnAdventureMap = { "txt": " on the Adventure Map", "loc": "used to build hero activity line" }; +locObj.heroActivitiesInTown = { "txt": ["manĝi", "trinki", "vetludi", "trejni", "pugni", "ripozi"], "loc": "used to build hero activity line" }; +locObj.heroActivitiesInAutocampaign = { "txt": ["marŝi reen", "marŝi", "mortigi paganojn", "konverti paganojn", "fari tendaron", "prirabi mortintajn paganojn"], "loc": "used to build hero activity line" }; +locObj.heroActivitiesOnAdventureMap = { "txt": ["marŝi", "fari tendaron", "rabado"], "loc": "used to build hero activity line" }; +locObj.lblDistanceFromTown = { "txt": "Tagoj el la urbo", "loc": "inn tab" }; +locObj.directionFromTown = { "txt": "El la urbo", "loc": "inn tab" }; +locObj.directionToTown = { "txt": "Al la urbo", "loc": "inn tab" }; +locObj.goldInHerosPurse = { "txt": "Ora en monujo de heroo", "loc": "inn tab" }; +locObj.lblDirection = { "txt": "Direction: ", "loc": "inn tab" }; +locObj.btnDismissHero = { "txt": "Malakcepti heroon", "loc": "inn tab" }; +locObj.btnAutocampaignSendHero = { "txt": "Sendi heroon al aŭtokampanjo", "loc": "inn tab" }; +locObj.btnAutocampaignWithdrawHero = { "txt": "Forigi la heroon", "loc": "inn tab" }; +locObj.btnAutocampaignOpenJournal = { "txt": "Malfermi taglibro", "loc": "inn tab" }; +locObj.btnUseTowngateScroll = { "txt": "Uzi ruleton de urbeto", "loc": "inn tab" }; +locObj.btnGoToAdvenureMap = { "txt": "Iri al aventura mapo", "loc": "inn tab" }; +locObj.btnRegenerateMap = { "txt": "Regeneri mapon", "loc": "inn tab" }; +locObj.msgHeroAdvancedToNextLvl = { "txt": "Via heroo promociiĝis al la sekva nivelo!", "loc": "event log?" }; +locObj.dlgHeroStance = { "txt": "Ĉu vi volas agresa sinteno (pli alta rekompenco, pli alta risko) aŭ singarda?", "loc": "dialog happens when hero leaving town" }; +locObj.ansHeroAggressiveStance = { "txt": "Agresa! Volu sangon kaj monon!", "loc": "One of the options to the locObj.dlgHeroStance question" }; +locObj.ansHeroCautiousStance = { "txt": "Zorgema. Ĉu bona el oro se via heroo mortis?", "loc": "One of the options to the locObj.dlgHeroStance question" }; +locObj.errHeroHasNoTroops = { "txt": "Vi devas unue aldoni iujn trupojn al la taĉmento de herooj!", "loc": "when trying to send hero outta city with no troops" }; +locObj.errNoHero = { "txt": "Vi bezonas heroon por fari tion!", "loc": "when trying to invoke hero-related actions with no hero" }; +locObj.msgAfterSellToTrader = { "txt": "Estas plezuro havi komercon kun vi. Mi revidos vin", "loc": "not used so far" }; +locObj.msgAfterBuyFromTrader = { "txt": "Gratulojn pro via aĉeto! Vi faris bonan elekton!", "loc": "not used so far" }; +locObj.artifactTowngateAfterUse = { "txt": "La heroo estas malantaŭ la urbo nun!", "loc": "after the artefact was used" }; +locObj.artifactErrNoTowngate = { "txt": "Vi ne havas Towngate-movon!", "loc": "when trying to use towngate scroll witout having one" }; +locObj.artifactErrWrongDirection = { "txt": "Unue, direktu la heroon al la urbo!", "loc": "happens when try to cast towngate and moving from the town" }; +locObj.lblGoodForSale = { "txt": "La komercisto de nigra merkato ofertas ĉi tiujn varojn por vendo!", "loc": "blackmarket tab, good for sale from the NPC" }; +locObj.lblHeroGoodsFoSale = { "txt": "La komercisto de nigra merkato povus aĉeti viajn varojn.", "loc": "blackmarket tab" }; //TODO chech the following three, they aren't in use right now for some reason! -locObj.tabBlackMarketlblPrice = {"txt": "prezo ", "loc": "blackmarket tab"}; -locObj.btnBuySelected = {"txt": "Aĉeti elektitan", "loc": "blackmarket tab"}; -locObj.btnSellSelected = {"txt": "Vendi elektita", "loc": "blackmarket tab"}; -locObj.lblFirebrigade = {"txt": "Fajrobrigadisto", "loc": "firebrigade tab title"}; -locObj.lblFireServiceStatus = {"txt": "La fajro servo", "loc": "fireservice service label"}; -locObj.onDuty = {"txt": "funkcias", "loc":"a fire service status - enabled"}; -locObj.offDuty = {"txt": "ne funkcias", "loc":"a fire service status - disabled"}; -locObj.lblFirebrigadeUpkeep = {"txt":"La prezo de daŭro de la servo estas", "loc":"firebrigade tab"}; -locObj.fireExtinguishingProgress = {"txt": "%arg1% of fire extinguished", "loc":"firebrigade tab"}; -locObj.heroTroopsUpkeepSource = {"txt": "The primary source of payments to the hero's troops is ", "loc": "inn tab"}; -locObj.noUpkeepSergeantsDismissed = {"txt": "Vi ne povas permesi gardi viajn serĝentojn. Ili estas eksigitaj.", "loc":"happens in calcTurn if no money for sergeants"}; -locObj.noUpkeepTurkopolsDismissed = {"txt": "Vi ne povas permesi konservi viajn turkopolojn. Ili estas eksigitaj.", "loc":"happens in calcTurn if no money for turkopols"}; -locObj.noUpkeepKnightsDismissed = {"txt": "Vi ne povas permesi konservi viajn kavalirojn. Ili estas eksigitaj.", "loc":"happens in calcTurn if no money for knights"}; -locObj.noUpkeepFirebrigadeDismissed = {"txt": "Vi ne povas permesi subteni vian fajrestingistaron. Ili estas eksigitaj.", "loc": "happens in calcTurn if no money for firebrigade"}; -locObj.heroTroopsUpkeepSrcHeroPurse = {"txt": "the hero's purse", "loc": "inn tab"}; -locObj.heroTroopsUpkeepSrcTreasury = {"txt": "the treasury", "loc": "inn tab"}; \ No newline at end of file +locObj.tabBlackMarketlblPrice = { "txt": "prezo ", "loc": "blackmarket tab" }; +locObj.btnBuySelected = { "txt": "Aĉeti elektitan", "loc": "blackmarket tab" }; +locObj.btnSellSelected = { "txt": "Vendi elektita", "loc": "blackmarket tab" }; +locObj.lblFirebrigade = { "txt": "Fajrobrigadisto", "loc": "firebrigade tab title" }; +locObj.lblFireServiceStatus = { "txt": "La fajro servo", "loc": "fireservice service label" }; +locObj.onDuty = { "txt": "funkcias", "loc": "a fire service status - enabled" }; +locObj.offDuty = { "txt": "ne funkcias", "loc": "a fire service status - disabled" }; +locObj.lblFirebrigadeUpkeep = { "txt": "La prezo de daŭro de la servo estas", "loc": "firebrigade tab" }; +locObj.fireExtinguishingProgress = { "txt": "%arg1% of fire extinguished", "loc": "firebrigade tab" }; +locObj.heroTroopsUpkeepSource = { "txt": "The primary source of payments to the hero's troops is ", "loc": "inn tab" }; +locObj.noUpkeepSergeantsDismissed = { "txt": "Vi ne povas permesi gardi viajn serĝentojn. Ili estas eksigitaj.", "loc": "happens in calcTurn if no money for sergeants" }; +locObj.noUpkeepTurkopolsDismissed = { "txt": "Vi ne povas permesi konservi viajn turkopolojn. Ili estas eksigitaj.", "loc": "happens in calcTurn if no money for turkopols" }; +locObj.noUpkeepKnightsDismissed = { "txt": "Vi ne povas permesi konservi viajn kavalirojn. Ili estas eksigitaj.", "loc": "happens in calcTurn if no money for knights" }; +locObj.noUpkeepFirebrigadeDismissed = { "txt": "Vi ne povas permesi subteni vian fajrestingistaron. Ili estas eksigitaj.", "loc": "happens in calcTurn if no money for firebrigade" }; +locObj.heroTroopsUpkeepSrcHeroPurse = { "txt": "the hero's purse", "loc": "inn tab" }; +locObj.heroTroopsUpkeepSrcTreasury = { "txt": "the treasury", "loc": "inn tab" }; \ No newline at end of file diff --git a/langs/es-ES.js b/langs/es-ES.js index 827de6e..62bc5df 100644 --- a/langs/es-ES.js +++ b/langs/es-ES.js @@ -605,6 +605,7 @@ locObj.festivalLoss = {"txt": "Tus pérdidas por el festival son %arg1", "loc":" locObj.errAlreadyHasHero = {"txt": "¡Usted ya tiene un héroe!", "loc":"happens when trying to hire a hero, when you have one hired"}; locObj.autosaveTurnedOn = {"txt": "Autoguardado encendido", "loc": "happens when autosave enabled"}; locObj.autosaveTurnedOff = {"txt": "Autoguardado apagado", "loc": "happens when autosave disabled"}; +locObj.downloadGame = { "txt": "Download game for playing off-grid (to play without Internet connection)", "loc": "download game successfully" }; locObj.GallowsFountainChoiceConfirm = {"txt": "Estás apunto de construir %arg1.\n Si el objeto es construído, no podrás construir %arg2.\n ¿Estás seguro de tu decisión?", "loc":"happens when you are about to build Fountain or Gallows"}; locObj.GallowsChoiceConfirm = {"txt": "Gallows", "loc": "your choice in GallowsFountainChoiceConfirm dialogue"}; locObj.FountainBlocked = {"txt": "Fountain", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue"}; @@ -651,40 +652,41 @@ locObj.btnBuildStash = {"txt": "Construir Escondite
nvl %arg1
%arg2 de o locObj.btnBuildInn = {"txt": "Construir Posada
nvl %arg1
%arg2 de oro", "loc": "building tab"}; locObj.btnBuildStables = {"txt": "Build Stable
lvl %arg1
%arg2 gold", "loc":"building tab"}; locObj.btnBuildArcheryRange = {"txt": "Build Archery range
lvl %arg1
%arg2 gold", "loc":"building tab"}; -helpBlock = "

1255: Rise of Teutonics

" + - "

Cómo Jugar

" + - 'wiki https://github.com/Areso/1255-burgomaster/wiki
' + - 'feedback https://form.jotform.com/211014175318041
' + - "Este juego se basa en tics. Un tic del reloj ocurre cada 30 segundos.
" + - "Después de cada vuelta del reloj tu población te paga impuestos y crece.
" + - "Normalmente, cada ciudadano te paga una pieza de oro por tic.
" + - "Este comportamiento puede cambiar por decisiones del jugador.
" + - "Necesitas construir Casas para permitir el crecimiento de la población de tu ciudad.
" + - "Cada nivel de Casas te permite tener más población.
" + - "Necesitas crear Muros y una Torre para mantener tu ciudad a salvo de intrusos.
" + - "Necesitas contruir una Tesorería para almacenar tu oro.
" + - "Cada nivel de la Tesorería te permite almacenar más oro.
" + - "Además, la Tesorería te permite contratar guardias del tesoro.
" + - "Los guardias del tesoro disminuyen significativamente la probabilidad de que tu oro sea robado de tu tesoro.
" + - "Contratar un guarda te costará %arg1 de oro.
" + - "Cada guardia requiere un pago regular (en cada tic), te costará %arg2 de oro.
" + - "Si no tienes suficiente dinero, dejarán su trabajo de forma permanente.
" + - "Puedes construir una Fuente O una Horca. No puedes cambiar tu decisión después de que se construya.
" + - "Las Fuentes incrementarán la felicidad y la velocidad de crecimiento de la población
" + - "Las Horcas reducirán la felicidad y el crecimiento de la población, aumentarán los impuestos y te permitirán ejecutar pobladores.
" + - "Ejecutar un poblador confiscará su propiedad y la agregará a tu tesoro en forma de oro.
" + - "Se requiere un Escondite para disminuir tus pérdidas por robo. No puedes construir un Escondite sin una Tesorería.
"+ - "Este es un juego de un jugador.
"+ - "
" + - "Idiomas Soportados (IS): Inglés (English), Ruso (Русский).
"+ - "Idiomas Soportados por la Comunidad (ISC): Alemán (Deutsch), Castellano.
"+ - "El autor no puede proveer ayuda ni respuestas a preguntas realizadas en los ISC,
"+ - "aún cuando (partes de) el juego están en ISC.
"+ - "Además, cualquier traducción de ISC puede tener errores o partes sin traducir
"+ - "o partes de la traducción parcialmente desactualizadas.
"+ - "Puedes ayudar con las traducciones del juego acá:
"+ - "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
"; -locObj.tabHowToPlayText = helpBlock; +locObj.lblAbout_h1 = { "txt": "1255: Rise of Teutonics"}; +locObj.lblAbout_h2 = { "txt": "Cómo Jugar"}; +locObj.lblAbout_wiki = { "txt": "wiki: https://github.com/Areso/1255-burgomaster/wiki
"}; +locObj.lblAbout_feedback = { "txt": "feedback https://form.jotform.com/211014175318041
"}; +locObj.lblAbout_meh = { + "txt": "Este juego se basa en tics. Un tic del reloj ocurre cada 30 segundos.\n" + + "Después de cada vuelta del reloj tu población te paga impuestos y crece.\n" + + "Normalmente, cada ciudadano te paga una pieza de oro por tic.\n" + + "Este comportamiento puede cambiar por decisiones del jugador.\n" + + "Necesitas construir Casas para permitir el crecimiento de la población de tu ciudad.\n" + + "Cada nivel de Casas te permite tener más población.\n" + + "Necesitas crear Muros y una Torre para mantener tu ciudad a salvo de intrusos.\n" + + "Necesitas contruir una Tesorería para almacenar tu oro.\n" + + "Cada nivel de la Tesorería te permite almacenar más oro.\n" + + "Además, la Tesorería te permite contratar guardias del tesoro.\n" + + "Los guardias del tesoro disminuyen significativamente la probabilidad de que tu oro sea robado de tu tesoro.\n" + + "Contratar un guarda te costará %arg1 de oro.\n" + + "Cada guardia requiere un pago regular (en cada tic), te costará %arg2 de oro.\n" + + "Si no tienes suficiente dinero, dejarán su trabajo de forma permanente.\n" + + "Puedes construir una Fuente O una Horca. No puedes cambiar tu decisión después de que se construya.\n" + + "Las Fuentes incrementarán la felicidad y la velocidad de crecimiento de la población\n" + + "Las Horcas reducirán la felicidad y el crecimiento de la población, aumentarán los impuestos y te permitirán ejecutar pobladores.\n" + + "Ejecutar un poblador confiscará su propiedad y la agregará a tu tesoro en forma de oro.\n" + + "Se requiere un Escondite para disminuir tus pérdidas por robo. No puedes construir un Escondite sin una Tesorería.\n"+ + "Este es un juego de un jugador."}; + locObj.lblAbout_supLang = { + "txt": "Idiomas Soportados (IS): Inglés (English), Ruso (Русский).\n"+ + "Idiomas Soportados por la Comunidad (ISC): Alemán (Deutsch), Castellano.\n"+ + "El autor no puede proveer ayuda ni respuestas a preguntas realizadas en los ISC,\n"+ + "aún cuando (partes de) el juego están en ISC.\n"+ + "Además, cualquier traducción de ISC puede tener errores o partes sin traducir\n"+ + "o partes de la traducción parcialmente desactualizadas.\n"+ + "Puedes ayudar con las traducciones del juego acá:"}; + locObj.lblAbout_googleLang = { "txt": "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
"}; + locObj.cityScreenSawmill = {"txt": "aserradero", "loc": "cityscreen"}; locObj.cityScreenWishingWell = {"txt": "pozo de los deseos", "loc": "cityscreen"}; locObj.cityScreenWall = {"txt": "muro", "loc": "cityscreen"}; diff --git a/langs/fr-FR.js b/langs/fr-FR.js index 4979c20..35ead03 100644 --- a/langs/fr-FR.js +++ b/langs/fr-FR.js @@ -60,8 +60,8 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder");//55 localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push(["placeholder","placeholder"]); -localeStrings.push(["placeholder","placeholder"]); +localeStrings.push(["placeholder", "placeholder"]); +localeStrings.push(["placeholder", "placeholder"]); localeStrings.push("placeholder");//60 localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -90,7 +90,7 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder");//85 localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push(["placeholder","placeholder","placeholder"]); +localeStrings.push(["placeholder", "placeholder", "placeholder"]); localeStrings.push("placeholder"); localeStrings.push("placeholder");//90 localeStrings.push("placeholder"); @@ -167,7 +167,7 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push(["plc","plc","plc"]);//165 +localeStrings.push(["plc", "plc", "plc"]);//165 localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -375,7 +375,7 @@ localeStrings.push("You don't have any knights at the garrison"); localeStrings.push("You don't have any sergeants at the hero's squad"); //370 localeStrings.push("You don't have any turkopols at the hero's squad"); localeStrings.push("You don't have any knights at the hero's squad"); -localeStrings.push("You don't have any forces at the garrison"); +localeStrings.push("You don't have any forces at the garrison"); localeStrings.push("You don't have any forces at the hero's squad"); localeStrings.push("sergeants(%arg1)"); //375 localeStrings.push("turkopols(%arg1)"); @@ -383,414 +383,418 @@ localeStrings.push("knights(%arg1)"); locObj = {}; //locObj.welcome2 = {"txt":"", "loc":""}; -locObj.welcome0 = {"txt":"Bonjour nouveau joueur et bienvenue dans mon jeux", "loc":"Once game initted, those strings are put to the gamelog"}; -locObj.welcome1 = {"txt":"Ta mission est simple - gérer cette cité en tant que maire.", "loc":"same"}; -locObj.welcome2 = {"txt":"Les citoyens payent des impôts chaque saison (30 sec.) et la population grandit chaque saison", "loc":"same"}; -locObj.okay = {"txt":"OK", "loc":"Mostly used in information dialogues"} -locObj.skipTutorial = {"txt": "Je n'ai pas besoin de conseils!", "loc": "Dont show tutorial messages"}; +locObj.welcome0 = { "txt": "Bonjour nouveau joueur et bienvenue dans mon jeux", "loc": "Once game initted, those strings are put to the gamelog" }; +locObj.welcome1 = { "txt": "Ta mission est simple - gérer cette cité en tant que maire.", "loc": "same" }; +locObj.welcome2 = { "txt": "Les citoyens payent des impôts chaque saison (30 sec.) et la population grandit chaque saison", "loc": "same" }; +locObj.okay = { "txt": "OK", "loc": "Mostly used in information dialogues" } +locObj.skipTutorial = { "txt": "Je n'ai pas besoin de conseils!", "loc": "Dont show tutorial messages" }; -locObj.tutorial0_w0 = {"txt":"Votre oncle, le maître foncier de l'ordre teutonique,\nvous a envoyé construire une ville sur la frontière païenne.\nVous avez trouvé un endroit convenable avec une colline, une rivière, une forêt.\nVos paysans ont déjà dégagé l'endroit et prêt à construire", "loc":"tutorial0_w0"}; -locObj.tutorial1_pop0 = {"txt":"Monseigneur Commandeur, vous devez construire des maisons\npour maintenir la croissance de votre population", "loc":"tutorial0_w0"}; -locObj.tutorial_defense = {"txt":"Monseigneur Commandeur, des éclaireurs ont signalé la présence\nde personnes armées dans les bois les plus proches.\nPensez à construire un mur", "loc":"tutorial msg when defense line is unlocked"}; -locObj.tutorial_treasury = {"txt":"Monseigneur Commandeur, votre offre d'or augmente.\nConstruisez un trésor pour stocker la grande quantité d'or", "loc":"tutorial msg when treasury is unlocked"}; -locObj.tutorial_treasury_guards = {"txt":"Monseigneur Commandeur, maintenant vous pouvez engager des gardes du trésor dans votre trésor\nIls réduisent les chances de voler le trésor", "loc":"tutorial msg when treasury is built"}; -locObj.tutorial_stash = {"txt":"Monseigneur Commandeur, des voleurs ont volé l'or de votre trésor!\nConstruisez une réserve, afin que vous puissiez cacher de l'or du vol", "loc":"tutorial msg when first stealing has a place"}; -locObj.tutorial_stable = {"txt":"Monseigneur Commandeur, maintenant vous pouvez construire des écuries\nLes écuries vous permettront d'embaucher des sergents et des chevaliers ", "loc":"tutorial msg when reached 50 pop"}; -locObj.tutorial_archery = {"txt":"Monseigneur Commandeur, maintenant vous pouvez construire un champ de tir à l'arc\nLe stand de tir à l'arc vous permettra de louer des turkopols dans les écuries", "loc":"tutorial msg when reached 70 pop"}; -locObj.tutorial_inn = {"txt":"Monseigneur Commandeur, maintenant vous pouvez construire\nL'Auberge vous permettra d'embaucher un héros", "loc":"tutorial msg when reached 100 pop"}; -locObj.tutorial_social = {"txt":"Monseigneur Commandeur, maintenant vous pouvez construire potence ou fontaine\nLes deux ont leurs propres bonus passifs et actifs", "loc":"tutorial msg when reached 120 pop"}; -locObj.tutorial_university = {"txt":"Sir Commander, now you could build Univeristy\nUniversity will allow you to research new technologies", "loc":"tutorial msg when year is 1544"}; -locObj.tutorial_firebrigade = {"txt":"Monseigneur Commandeur, vous pouvez engager un pompier en cliquant sur le puits\nLes pompiers finiront par éteindre le feu\nL'entretien des pompiers dépend du nombre de bâtiments\nque vous avez construits et modernisés", "loc":"tutorial msg when fire, pop>50, year>1260"}; -locObj.tutorial_autosave = {"txt":"Sir Commander, you should consider to enable autosave in Settings", "loc":"tutorial. Triggered by 10 first ticks"}; -locObj.tutorial_moving_troops = {"txt":"Sir Commander, buttons near the number of units allow you to manage units\nSingle arrow moves a unit, double arrow moves a stack,\nX button fires a unit, XX button fires a stack", "loc":"triggered by first enter into Hiring tab"}; -locObj.tutorial_new_buildings = {"txt":"New buildings will unlock as your population grows","loc":"tutorial"} +locObj.tutorial0_w0 = { "txt": "Votre oncle, le maître foncier de l'ordre teutonique,\nvous a envoyé construire une ville sur la frontière païenne.\nVous avez trouvé un endroit convenable avec une colline, une rivière, une forêt.\nVos paysans ont déjà dégagé l'endroit et prêt à construire", "loc": "tutorial0_w0" }; +locObj.tutorial1_pop0 = { "txt": "Monseigneur Commandeur, vous devez construire des maisons\npour maintenir la croissance de votre population", "loc": "tutorial0_w0" }; +locObj.tutorial_defense = { "txt": "Monseigneur Commandeur, des éclaireurs ont signalé la présence\nde personnes armées dans les bois les plus proches.\nPensez à construire un mur", "loc": "tutorial msg when defense line is unlocked" }; +locObj.tutorial_treasury = { "txt": "Monseigneur Commandeur, votre offre d'or augmente.\nConstruisez un trésor pour stocker la grande quantité d'or", "loc": "tutorial msg when treasury is unlocked" }; +locObj.tutorial_treasury_guards = { "txt": "Monseigneur Commandeur, maintenant vous pouvez engager des gardes du trésor dans votre trésor\nIls réduisent les chances de voler le trésor", "loc": "tutorial msg when treasury is built" }; +locObj.tutorial_stash = { "txt": "Monseigneur Commandeur, des voleurs ont volé l'or de votre trésor!\nConstruisez une réserve, afin que vous puissiez cacher de l'or du vol", "loc": "tutorial msg when first stealing has a place" }; +locObj.tutorial_stable = { "txt": "Monseigneur Commandeur, maintenant vous pouvez construire des écuries\nLes écuries vous permettront d'embaucher des sergents et des chevaliers ", "loc": "tutorial msg when reached 50 pop" }; +locObj.tutorial_archery = { "txt": "Monseigneur Commandeur, maintenant vous pouvez construire un champ de tir à l'arc\nLe stand de tir à l'arc vous permettra de louer des turkopols dans les écuries", "loc": "tutorial msg when reached 70 pop" }; +locObj.tutorial_inn = { "txt": "Monseigneur Commandeur, maintenant vous pouvez construire\nL'Auberge vous permettra d'embaucher un héros", "loc": "tutorial msg when reached 100 pop" }; +locObj.tutorial_social = { "txt": "Monseigneur Commandeur, maintenant vous pouvez construire potence ou fontaine\nLes deux ont leurs propres bonus passifs et actifs", "loc": "tutorial msg when reached 120 pop" }; +locObj.tutorial_university = { "txt": "Sir Commander, now you could build Univeristy\nUniversity will allow you to research new technologies", "loc": "tutorial msg when year is 1544" }; +locObj.tutorial_firebrigade = { "txt": "Monseigneur Commandeur, vous pouvez engager un pompier en cliquant sur le puits\nLes pompiers finiront par éteindre le feu\nL'entretien des pompiers dépend du nombre de bâtiments\nque vous avez construits et modernisés", "loc": "tutorial msg when fire, pop>50, year>1260" }; +locObj.tutorial_autosave = { "txt": "Sir Commander, you should consider to enable autosave in Settings", "loc": "tutorial. Triggered by 10 first ticks" }; +locObj.tutorial_moving_troops = { "txt": "Sir Commander, buttons near the number of units allow you to manage units\nSingle arrow moves a unit, double arrow moves a stack,\nX button fires a unit, XX button fires a stack", "loc": "triggered by first enter into Hiring tab" }; +locObj.tutorial_new_buildings = { "txt": "New buildings will unlock as your population grows", "loc": "tutorial" } -locObj.story1_catastrophe = {"txt":"Vos forces ont capturé une sorcière. Le procès a été rapide et court\nPendant que les gens se rassemblaient pour regarder l'exécution,\nelle a commencé à chanter. Quand les flammes léchaient ses pieds nus, elle hurlait\nEn ce moment même, de nulle part a frappé un éclair avec \nune puissance titanesque. En plein centre du feu ... ", "loc":"tutorial msg catastrophe"}; -locObj.story2_two_steps = {"txt":"You saw a few peasants, running from ugly monsters you have never seen\nYou killed monsters and asked peasants what happened\nThey told you that trolls were mad because they don't paid for passing by...", "loc":"tutorial. when you step 2 times from city"}; +locObj.story1_catastrophe = { "txt": "Vos forces ont capturé une sorcière. Le procès a été rapide et court\nPendant que les gens se rassemblaient pour regarder l'exécution,\nelle a commencé à chanter. Quand les flammes léchaient ses pieds nus, elle hurlait\nEn ce moment même, de nulle part a frappé un éclair avec \nune puissance titanesque. En plein centre du feu ... ", "loc": "tutorial msg catastrophe" }; +locObj.story2_two_steps = { "txt": "You saw a few peasants, running from ugly monsters you have never seen\nYou killed monsters and asked peasants what happened\nThey told you that trolls were mad because they don't paid for passing by...", "loc": "tutorial. when you step 2 times from city" }; -locObj.unit_sergeants = {"txt": "Sergeants", "loc": "Autbattle log, player unit"}; -locObj.unit_turkopols = {"txt": "Turkopols", "loc": "Autbattle log, player unit"}; -locObj.unit_knights = {"txt": "Brother-knights", "loc": "Autbattle log, player unit"}; +locObj.unit_sergeants = { "txt": "Sergeants", "loc": "Autbattle log, player unit" }; +locObj.unit_turkopols = { "txt": "Turkopols", "loc": "Autbattle log, player unit" }; +locObj.unit_knights = { "txt": "Brother-knights", "loc": "Autbattle log, player unit" }; -locObj.unit_bandit = {"txt": "Bandits", "loc": "Autbattle log, enemy unit"}; -locObj.unit_bandit_archer = {"txt": "Bandits archers", "loc": "Autbattle log, enemy unit"}; -locObj.unit_merc_swordman = {"txt": "Mercenary swordmen", "loc": "Autbattle log, highlevel enemy unit"}; -locObj.unit_merc_spearman = {"txt": "Mercenary spearmen", "loc": "Autbattle log, highlevel enemy unit"}; -locObj.unit_goblin = {"txt": "Goblins", "loc": "Autbattle log, enemy unit"}; +locObj.unit_bandit = { "txt": "Bandits", "loc": "Autbattle log, enemy unit" }; +locObj.unit_bandit_archer = { "txt": "Bandits archers", "loc": "Autbattle log, enemy unit" }; +locObj.unit_merc_swordman = { "txt": "Mercenary swordmen", "loc": "Autbattle log, highlevel enemy unit" }; +locObj.unit_merc_spearman = { "txt": "Mercenary spearmen", "loc": "Autbattle log, highlevel enemy unit" }; +locObj.unit_goblin = { "txt": "Goblins", "loc": "Autbattle log, enemy unit" }; -locObj.autobattle_journal_btn = {"txt": "Battle journal", "loc": "Inn window. Battle report by round moves"}; -locObj.autobattle_journal_log_start = {"txt": "Round started", "loc": "Start round title"}; -locObj.autobattle_journal_log_end = {"txt": "Round ended", "loc": "End round title"}; -locObj.autobattle_journal_log_dmg = {"txt": "%arg1 squad does %arg2 dmg to %arg3.", "loc": "Autobattle dmg log"}; -locObj.autobattle_journal_log_dead = {"txt": "%arg1 %arg2 is dead.", "loc": "Autobattle dead log"}; -locObj.autobattle_journal_log_destroyed = {"txt": "%arg1 squad is destroyed.", "loc": "Autobattle destroyed squad log"}; +locObj.autobattle_journal_btn = { "txt": "Battle journal", "loc": "Inn window. Battle report by round moves" }; +locObj.autobattle_journal_log_start = { "txt": "Round started", "loc": "Start round title" }; +locObj.autobattle_journal_log_end = { "txt": "Round ended", "loc": "End round title" }; +locObj.autobattle_journal_log_dmg = { "txt": "%arg1 squad does %arg2 dmg to %arg3.", "loc": "Autobattle dmg log" }; +locObj.autobattle_journal_log_dead = { "txt": "%arg1 %arg2 is dead.", "loc": "Autobattle dead log" }; +locObj.autobattle_journal_log_destroyed = { "txt": "%arg1 squad is destroyed.", "loc": "Autobattle destroyed squad log" }; -locObj.advmap = {"txt":"Pour déplacer votre héros, utilisez les boutons fléchés.\nSi vous jouez avec l'entrée de capteur, veuillez activer l'interface utilisateur mobile dans les paramètres", "loc":"when first visiting adventure map"}; -locObj.plague_turk = {"txt":"Sur le bord: votre turkopol a repéré une personne peste et lui a tiré dessus. Le cadavre a été brûlé après", "loc":"Random event. Plague. A turkopol prevents plague in the city"}; -locObj.plague_army = {"txt":"Un événement fâcheux vient de se produire : l'épidémie de peste a été stoppée par votre garnison, mais a tué %arg1 de vos troupes en garnison", "loc":"Your army prevents plague in the city. Some soldiers are dead now"}; -locObj.plague = {"txt":"Un événement fâcheux vient de se produire : la peste a tué %arg1 citoyens.", "loc":"default plague case + case where army failed to prevent outbreak"}; -locObj.new_adepts = {"txt":"People had heard that any new christian gets gifts from the Church. And so they came: %arg1","loc":"migration event case 1"}; -locObj.people_arrive = {"txt":"People had heard that you are kind ruler. And so they came: %arg1","loc":"migration event case 2"}; -locObj.people_leave = {"txt":"People left you, because of your cruelty. Left: %arg1","loc":"migration event case 3"}; -locObj.city_chest_gold = {"txt":"Vous avez trouvé %arg1 pièces d'or dans un coffre! ", "loc":"Random event. Opened a short-living chest in city screen"}; -locObj.blackmarket_dstr = {"txt":"Un grand gobelin vert au gros ventre, qui s'appelait Elbenkonig,\n vous a offert une variété d'artefacts magiques.\nVous, en tant que vrai chrétien, frère de l'ordre teutonique, vous en avez été offensé.\nVotre première intention était de tuer le gobelin et de brûler le marché.\nD'un autre côté, des artefacts magiques pourraient s'avérer utiles dans ce monde.\nQue ferez-vous?", "loc":"This dialogue happens every time you first visit blackmarket on the newly generated map"}; -locObj.blackmarket_dstr_brn = {"txt":"Tuez le gobelin et brûlez le marché noir!", "loc":"Destroying the blackmarket"}; -locObj.blackmarket_dstr_kp = {"txt":"Commencer le commerce", "loc":"Keeping the blackmarket"}; -locObj.borderCollide = {"txt":"Vous frappez un mur invisible. Tu ne pouvais pas aller plus loin", "loc":"adventure map. collision with border"}; +locObj.advmap = { "txt": "Pour déplacer votre héros, utilisez les boutons fléchés.\nSi vous jouez avec l'entrée de capteur, veuillez activer l'interface utilisateur mobile dans les paramètres", "loc": "when first visiting adventure map" }; +locObj.plague_turk = { "txt": "Sur le bord: votre turkopol a repéré une personne peste et lui a tiré dessus. Le cadavre a été brûlé après", "loc": "Random event. Plague. A turkopol prevents plague in the city" }; +locObj.plague_army = { "txt": "Un événement fâcheux vient de se produire : l'épidémie de peste a été stoppée par votre garnison, mais a tué %arg1 de vos troupes en garnison", "loc": "Your army prevents plague in the city. Some soldiers are dead now" }; +locObj.plague = { "txt": "Un événement fâcheux vient de se produire : la peste a tué %arg1 citoyens.", "loc": "default plague case + case where army failed to prevent outbreak" }; +locObj.new_adepts = { "txt": "People had heard that any new christian gets gifts from the Church. And so they came: %arg1", "loc": "migration event case 1" }; +locObj.people_arrive = { "txt": "People had heard that you are kind ruler. And so they came: %arg1", "loc": "migration event case 2" }; +locObj.people_leave = { "txt": "People left you, because of your cruelty. Left: %arg1", "loc": "migration event case 3" }; +locObj.city_chest_gold = { "txt": "Vous avez trouvé %arg1 pièces d'or dans un coffre! ", "loc": "Random event. Opened a short-living chest in city screen" }; +locObj.blackmarket_dstr = { "txt": "Un grand gobelin vert au gros ventre, qui s'appelait Elbenkonig,\n vous a offert une variété d'artefacts magiques.\nVous, en tant que vrai chrétien, frère de l'ordre teutonique, vous en avez été offensé.\nVotre première intention était de tuer le gobelin et de brûler le marché.\nD'un autre côté, des artefacts magiques pourraient s'avérer utiles dans ce monde.\nQue ferez-vous?", "loc": "This dialogue happens every time you first visit blackmarket on the newly generated map" }; +locObj.blackmarket_dstr_brn = { "txt": "Tuez le gobelin et brûlez le marché noir!", "loc": "Destroying the blackmarket" }; +locObj.blackmarket_dstr_kp = { "txt": "Commencer le commerce", "loc": "Keeping the blackmarket" }; +locObj.borderCollide = { "txt": "Vous frappez un mur invisible. Tu ne pouvais pas aller plus loin", "loc": "adventure map. collision with border" }; -locObj.campaignTitle = {"txt":"Campaign-%arg1","loc":"Autocampaign accordion title"}; -locObj.autobattleTitle = {"txt": "Battle-%arg1", "loc": "Autobattle log title"}; +locObj.campaignTitle = { "txt": "Campaign-%arg1", "loc": "Autocampaign accordion title" }; +locObj.autobattleTitle = { "txt": "Battle-%arg1", "loc": "Autobattle log title" }; -locObj.upgCostSidebar = {"txt":"La mise à niveau au niveau %arg1 coûte %arg2 pièces d'or", "loc":"Shows under the building description on the left sidebar for upgrades"}; -locObj.bldCostSidebar = {"txt":"Le bâtiment coûte %arg2 pièces d'or", "loc":"Shows under the building description on the left sidebar for initial building"}; +locObj.upgCostSidebar = { "txt": "La mise à niveau au niveau %arg1 coûte %arg2 pièces d'or", "loc": "Shows under the building description on the left sidebar for upgrades" }; +locObj.bldCostSidebar = { "txt": "Le bâtiment coûte %arg2 pièces d'or", "loc": "Shows under the building description on the left sidebar for initial building" }; -locObj.knightLearnCurve = {"txt":"A de fortes chances d'augmenter l'ATK lorsque le niveau augmente", "loc":"short description of the class in inn"}; -locObj.monkLearnCurve = {"txt":"A de fortes chances d'augmenter la DEF lorsque le niveau augmente ", "loc":"short description of the class in inn"}; -locObj.heroClassKnight = {"txt":"Сhevalier", "loc":"The inn when we are hiring. Hero class"}; -locObj.heroClassMonk = {"txt":"Moine", "loc":"The inn when we are hiring. Hero class"}; +locObj.knightLearnCurve = { "txt": "A de fortes chances d'augmenter l'ATK lorsque le niveau augmente", "loc": "short description of the class in inn" }; +locObj.monkLearnCurve = { "txt": "A de fortes chances d'augmenter la DEF lorsque le niveau augmente ", "loc": "short description of the class in inn" }; +locObj.heroClassKnight = { "txt": "Сhevalier", "loc": "The inn when we are hiring. Hero class" }; +locObj.heroClassMonk = { "txt": "Moine", "loc": "The inn when we are hiring. Hero class" }; -locObj.heroLvlLbl = {"txt":"niveau", "loc":"The inn when we are hiring. Level"}; -locObj.heroStatsLbl = {"txt":"Statistiques:", "loc":"The inn when we are hiring. Stats"}; -locObj.heroStatsAtkLbl = {"txt":"Attaque", "loc":"The inn when we are hiring. Stats. Attack"}; -locObj.heroStatsDefLbl = {"txt":"Défense", "loc":"The inn when we are hiring. Stats. Defence"}; -locObj.heroStatsMpowLbl = {"txt":"Pouvoir Magique", "loc":"The inn when we are hiring. Stats. Magic power"}; -locObj.heroStatsIntLbl = {"txt":"Intelligence", "loc":"The inn when we are hiring. Stats. Intelligence"}; +locObj.heroLvlLbl = { "txt": "niveau", "loc": "The inn when we are hiring. Level" }; +locObj.heroStatsLbl = { "txt": "Statistiques:", "loc": "The inn when we are hiring. Stats" }; +locObj.heroStatsAtkLbl = { "txt": "Attaque", "loc": "The inn when we are hiring. Stats. Attack" }; +locObj.heroStatsDefLbl = { "txt": "Défense", "loc": "The inn when we are hiring. Stats. Defence" }; +locObj.heroStatsMpowLbl = { "txt": "Pouvoir Magique", "loc": "The inn when we are hiring. Stats. Magic power" }; +locObj.heroStatsIntLbl = { "txt": "Intelligence", "loc": "The inn when we are hiring. Stats. Intelligence" }; -locObj.equipmentTitle = {"txt": "Equiped", "loc": "Equiped items title"}; +locObj.equipmentTitle = { "txt": "Equiped", "loc": "Equiped items title" }; -locObj.moneyExceedsTreasury = {"txt":"Monseigneur Commandeur, la somme d'argent de votre trésorerie et de la bourse de votre héros dépasse votre capacité de trésorerie. Pour éviter de perdre de l'argent, construisez ou améliorez votre trésorerie maintenant", "loc":"checking function which indicated if player needs to upgrade his treasury"}; +locObj.moneyExceedsTreasury = { "txt": "Monseigneur Commandeur, la somme d'argent de votre trésorerie et de la bourse de votre héros dépasse votre capacité de trésorerie. Pour éviter de perdre de l'argent, construisez ou améliorez votre trésorerie maintenant", "loc": "checking function which indicated if player needs to upgrade his treasury" }; -locObj.glyphKnightTile = {"txt": "Glyph of Knight's Valor", "loc": "Имя глифа"}; -locObj.glyphKnightDesc = {"txt": "Increases the hero's attack +10, increases heroe's defence +6.", "loc": "Glyph desc"}; +locObj.glyphKnightTile = { "txt": "Glyph of Knight's Valor", "loc": "Имя глифа" }; +locObj.glyphKnightDesc = { "txt": "Increases the hero's attack +10, increases heroe's defence +6.", "loc": "Glyph desc" }; -locObj.glyphMonkTile = {"txt": "Glyph of Monk's Virtue", "loc": "Имя глифа"}; -locObj.glyphMonkDesc = {"txt": "Increases the hero's attack +4, increases heroe's defence +12.", "loc": "Glyph desc"}; +locObj.glyphMonkTile = { "txt": "Glyph of Monk's Virtue", "loc": "Имя глифа" }; +locObj.glyphMonkDesc = { "txt": "Increases the hero's attack +4, increases heroe's defence +12.", "loc": "Glyph desc" }; -locObj.goldRuneTitle = {"txt": "Rune of Golden Search", "loc": "Имя глифа"}; -locObj.goldRuneDesc = {"txt": "Increases the hero's gold reward after battle by 7%.", "loc": "Glyph desc"}; +locObj.goldRuneTitle = { "txt": "Rune of Golden Search", "loc": "Имя глифа" }; +locObj.goldRuneDesc = { "txt": "Increases the hero's gold reward after battle by 7%.", "loc": "Glyph desc" }; -locObj.lifebloodVialTitle = {"txt": "Vial of Lifeblood", "loc": "Artifact name"}; -locObj.lifebloodVialDesc = {"txt": "Increases the health of all units in the hero's army by +3", "loc": "Artifact description"}; +locObj.lifebloodVialTitle = { "txt": "Vial of Lifeblood", "loc": "Artifact name" }; +locObj.lifebloodVialDesc = { "txt": "Increases the health of all units in the hero's army by +3", "loc": "Artifact description" }; locObj.darkPactSwordTitle = { "txt": "Dark Pact Sword", "loc": "Artefact name" }; -locObj.darkPactSwordDesc = {"txt": "Increases the hero's attack by +15, reduces the health of all units in the hero's army by -35%", "loc": "Artefact description"}; +locObj.darkPactSwordDesc = { "txt": "Increases the hero's attack by +15, reduces the health of all units in the hero's army by -35%", "loc": "Artefact description" }; locObj.crusadersSwordTitle = { "txt": "Crusader's Sword", "loc": "Artifact name" }; -locObj.crusadersSwordDesc = {"txt": "Increases attack of all units in the hero's army by +20%", "loc": "Artifact description"}; +locObj.crusadersSwordDesc = { "txt": "Increases attack of all units in the hero's army by +20%", "loc": "Artifact description" }; -locObj.ringStrengthTitle = {"txt": "Ring of Strength", "loc": "Artifact name"}; -locObj.ringStrengthDesc = {"txt": "Increases the hero's attack by +5, increases attack of all units in the hero's army by +10%", "loc": "Artifact description"}; +locObj.ringStrengthTitle = { "txt": "Ring of Strength", "loc": "Artifact name" }; +locObj.ringStrengthDesc = { "txt": "Increases the hero's attack by +5, increases attack of all units in the hero's army by +10%", "loc": "Artifact description" }; -locObj.ringProtectionTitle = {"txt": "Ring of Protection", "loc": "Artifact name"}; -locObj.ringProtectionDesc = {"txt": "Increases the hero's defence by +5, increases defence of all units in the hero's army by +10%", "loc": "Artifact description"}; +locObj.ringProtectionTitle = { "txt": "Ring of Protection", "loc": "Artifact name" }; +locObj.ringProtectionDesc = { "txt": "Increases the hero's defence by +5, increases defence of all units in the hero's army by +10%", "loc": "Artifact description" }; // TODO: #SwordRestriction remove it later locObj.swordsWarn = { "txt": 'A hero can carry only two swords!', "loc": 'Sword restriction' }; locObj.ringsWarn = { "txt": 'A hero can wear only two rings!', "loc": 'Rings restriction' }; -locObj.advmapHeroLose = {"txt": "Your troops were defeated and the hero is forced to retreat to the city.", "loc":"When hero loses battle on advmap"} +locObj.advmapHeroLose = { "txt": "Your troops were defeated and the hero is forced to retreat to the city.", "loc": "When hero loses battle on advmap" } -locObj.eventHalloween = {"txt": "Halloween is about collecting pumpkins!\nGenerate a new adventure map to find them\nYou need to be registered & logged, so you pledge could be recorded", "loc":"help"} -locObj.eventNewYear = {"txt": "New Year is about collecting snowmen!\nGenerate a new adventure map to find them\nYou need to be registered & logged, so you pledge could be recorded", "loc":"eventhelp"} -locObj.couldntRecordPledge = {"txt": "It seems you are not logged it. Your pledge will not be recorded","loc":"happens when collected event item while being not logged in"} -locObj.requiredStables = {"txt": "Pour ce faire, vous devez construire l'écurie", "loc":"happens when trying to hire sergeants if no stables built"}; -locObj.requiredArcheryRange = {"txt":"Pour ce faire, vous devez construire une gamme de tir à l'arc", "loc":"happens when trying to hire turkopols if no archery range is built"}; -locObj.requiredStablesUpgrade = {"txt": "Pour ce faire, vous devez mettre à niveau l'écurie au niveau %arg1", "loc":"happens when trying to hire knights and stables level too low"}; -locObj.deadCounselorDemolish = {"txt":"Your counselor is dead.\nThe new counselor, however, urges us to reconsider\nthe choice which was made with the previous one:\n-it's time, m'lord, when we could decide what's better for our nation.\n-if you agree, we demolish the %arg1 and thus you could build %arg2", "loc":""} -locObj.demolishGallows = {"txt": "potence", "loc": "your choice in deadCounselorDemolish dialogue"}; -locObj.fountainUnlock = {"txt": "fontaine", "loc": "will be unlocked in deadCounselorDemolish dialogue"}; -locObj.demolishFountain = {"txt": "fontaine", "loc": "your choice in deadCounselorDemolish dialogue"}; -locObj.gallowsUnlock = {"txt": "potence", "loc": "will be unlocked in deadCounselorDemolish dialogue"}; -locObj.deadCounselorDemolishAnsYes = {"txt":"Yes, demolish it", "loc":"Positive answer"} -locObj.buy = {"txt":"Buy", "loc":"On item in BlackMarket for sale from Goblin"}; -locObj.sell = {"txt":"Sell", "loc":"On item in BlackMarket for sale from Hero"}; -locObj.buildArchery = {"txt":"Archery provides mounted archers. Build stables first", "loc":"error msg bulding archery"}; -locObj.buildUpgradeTreasury = {"txt":"Construisez ou améliorez votre Trésorerie", "loc":"the endturn tip in case of overflowing gold amount"} -locObj.moneyIncreased = {"txt":"Votre richesse augmente", "loc":"happens when s-to-s money value increased"}; -locObj.moneyDecreased = {"txt":"Votre richesse diminue", "loc":"happens when s-to-s money value decreased"}; -locObj.popIncreased = {"txt":"La population augmente", "loc":"happens when s-to-s population value increased"}; -locObj.popDecreased = {"txt":"La population diminue", "loc":"happens when s-to-s population value decreased"}; -locObj.requiredFieldsNotFilled = {"txt": "Required fields are not filled!", "loc":"happens in case of empty fields like login, password, etc"}; -locObj.buildUpgradeHouse = {"txt":"Votre cité a atteint sa limite de population. Construisez de nouvelles maisons ou améliorez celles qui existent", "loc":"the endturn tip in case of overpopulating"}; -locObj.savedSuccessfully = {"txt":"Sauvegarde réussie", "loc":"when manual save completed successfully"}; -locObj.loadedSuccessfully = {"txt":"Chargement réussi", "loc":"when loaded completed successfully"}; -locObj.dialogLoadGame = {"txt":"Voulez-vous charger une partie ? Tout changement non sauvegardé sera perdu", "loc":"confirmation dialogue over loading game"}; -locObj.noSaveGame = {"txt":"Désolé, vous n'avez aucune sauvegarde", "loc":"in case there is no savegame"}; -locObj.dialogSaveGame = {"txt":"Voulez-vous sauvegarder ? La sauvegarde précédente sera ecrasée", "loc":"when trying to save game or overwriting existing savegame"}; -locObj.loadGameFromStringEmpty = {"txt":"Veuillez insérer la ligne de caractères composant la sauvegarde", "loc":"happens when the loadgame input is empty"}; -locObj.loadGameFromStringError = {"txt":"Couldn't load the game from the savestring ;-;", "loc":"happens when the loadgame input is incorrect or couldn't be processed"}; -locObj.lblLongSaveString = {"txt":"Une très longue chaine de caractères", "loc":"label near input fielf for savegame string"}; -locObj.dialogConfirmHireGuard = {"txt":"Voulez-vous embaucher un garde ? Il vous en coutera %arg1 or puis %arg2 or par saison", "loc":"hiring treasury guard confirmation dialogue"}; -locObj.hiredGuardsman = {"txt":"Vous avez embauché un garde", "loc":"after succesfully hired a guardsman"}; -locObj.notEnoughGold = {"txt":"Vous n'avez pas assez d'or pour faire ça", "loc":"not enough gold"}; -locObj.treasuryRequired = {"txt":"Une Trésorerie est requise pour embaucher un garde", "loc":"happens when trying to hire gaurdsman without a treasury"}; -locObj.dialogConfirmDismssGuardsman = {"txt":"Voulez-vous licencier un garde ?", "loc":"happens when try to dismiss one guardsman"}; -locObj.dismissedGuardsman = {"txt":"Vous avez licencié un garde.", "loc":"happens after dismissing a guardsman"}; -locObj.noGuardsman = {"txt":"Vous n'avez aucun garde", "loc":"happens when trying to dismiss guardsman when there are none of them"}; -locObj.execReasons = [{"txt":"traitrise", "loc":"when executing a person"}, - {"txt":"espionnage", "loc":""}, - {"txt":"corruption", "loc":""}, - {"txt":"corruption", "loc":""}, - {"txt":"détournement de fonds", "loc":""}, - {"txt":"vol", "loc":""}]; -locObj.techArtilleryResearched = {"txt":"You researched the artillery technology!", "loc":"Happens when the tech is discovered"}; -locObj.bldUniversityButton = {"txt":"Build university
%arg2 gold", "loc":"the label of the button of building the University on the building tab"}; -locObj.eventWillStart = {"txt":" event will start in", "loc":"shows on the status bar if an event was announced"}; -locObj.eventWillEnd = {"txt":" event will end in", "loc":"shows on the status bar if an event was started"}; -locObj.eventHalloweenName = {"txt":"Halloween", "loc":"shows on the status bar if the event announced or online"}; -locObj.eventNewYearName = {"txt":"New Year", "loc":"shows on the status bar if the event announced or online"}; -locObj.yes = {"txt":"Oui", "loc":"Positive answer, happens in modal dialogues"}; -locObj.yesKillBloody = {"txt":"Assurément, de la façon la plus barbare!", "loc":"NOT USED YET"}; -locObj.no = {"txt":"Non", "loc":"Negative answer, happens in modal dialogues"}; -locObj.serverStatusSpn = {"txt": "Server: ", "loc":"showed in the status bar"}; -locObj.serverStatusND = {"txt":"n/d", "loc":"server status is no data"}; -locObj.serverStatusUp = {"txt":"Up", "loc":"server status is Up"}; -locObj.serverStatusDown = {"txt":"Down", "loc":"server status is Down"}; -locObj.online = {"txt":"Online: ", "loc":"label before the online users counter"}; -locObj.onlineValueND = {"txt":"n/d", "loc":"online users numbers has no data"}; -locObj.errCityLevelTooLowForSendingMsg = {"txt":"Sir Commander, your city level is too low for sending messages to other Lords", "loc":"happens when low-level user try to send msg in chat"} -locObj.userCntOne = {"txt":"user", "loc":"(one) user"}; -locObj.userCntTwoPlus = {"txt":"users", "loc":"two or more users"}; -locObj.savedCloudSuccessfully = {"txt":"game saved to the cloud successfully", "loc":"when cloud save completed successfully"}; -locObj.errNoCloudSave = {"txt":"you don't have savegame in the cloud", "loc":"could happen when trying to load a savegame from DB"}; -locObj.errGettingCloudSave = {"txt":"error while trying to get your cloudsave from the cloud","loc":"could happen when trying to get a savegame from backend"}; -locObj.errLoadingCloudSave = {"txt":"error while processing your cloudsave","loc":"could happen while loading cloudsave"}; -locObj.errGetSaveEndpoint = {"txt":"error from server. Are you logged in? Is server up?","loc":"endpoint error from /get_savegame"}; -locObj.executedMsg = {"txt": "Vous avez exécuté un citoyen pour %arg1", "loc":"eventlog after the execution"}; -locObj.executedGainMsg = {"txt": "%arg1 est la propriété confisquée du citoyen exécuté", "loc": "eventlog after the execution"}; -locObj.executionAborted = {"txt":"Vous avez trop peu de citoyens", "loc":"happens if you have too low amount of citizens"}; -locObj.cantUpkeepTreasuryGuards = {"txt": "Des gardes ont démissioné car vous ne pouvez pas les payer !", "loc":"in calculateTurn in case of money deficite"}; -locObj.fireInCity = {"txt": "Un incendie dans la cité!", "loc":"happens as part of random events"}; -locObj.rqtsHome = {"txt": "Déverrouillé par un événement", "loc":"Requirements for homes"}; -locObj.rqtsDef = {"txt": "Déverrouillé par un événement", "loc":"Requirements for defense buildings"}; -locObj.rqtsTreasury = {"txt": "Nécessite %arg1 pièces d'or pour déverrouiller", "loc":"Reqs for Treasury building"}; -locObj.rqtsGallows = {"txt":"Nécessite %arg1 citoyen pour déverrouiller", "loc":"Reqs for Gallows"}; -locObj.rqtsFountain = {"txt":"Nécessite %arg1 citoyen pour déverrouiller", "loc":"Reqs for Fountain"}; -locObj.rqtsStash = {"txt":"Requires Treasury and Unlocks by an event", "loc":"Reqs for Fountain"}; -locObj.rqtsStables = {"txt":"Nécessite %arg1 citoyen pour déverrouiller", "loc":"Reqs for Stables"}; -locObj.rqtsArcheryRange = {"txt": "Requires %arg1 citizens and Stables", "loc":"Reqs for Archery Range"}; -locObj.rqtsInn = {"txt":"Nécessite %arg1 citoyen pour déverrouiller", "loc":"Reqs for Inn"}; -locObj.rqtsUniversity = {"txt":"Unlocks in %arg1. Current year is %arg2", "loc":"Reqs for Konigsberg University"}; -locObj.rqtsCatherdal = {"txt":"Unlocks in 1380", "loc": "Reqs for Königsberg Cathedral"}; -locObj.helpDef = {"txt":"Ce bâtiment est nécessaire pour protéger la cité des intrus", "loc":"help message in the building tab"}; -locObj.helpHome = {"txt": "Ce bâtiment et ses améliorations sont nécessaires pour augmenter votre limite de population", "loc":"help msg in the building tab"}; -locObj.helpTreasury = {"txt":"Ce bâtiment et ses améliorations sont nécessaires pour augmenter votre limite de dépenses.
Ce bâtiment vous permet d'engager des gardes du trésor.
Ils sont nécessaires pour réduire vos risques de vol"}; -locObj.helpGallows = {"txt":"Ce bâtiment et ses améliorations sont nécessaires pour exécuter vos citoyens.
Il permet aussi d'augmenter les impôts et de diminuer le taux de natalité et le bonheur.
Si vous construisez ce bâtiment, vous ne pourrez pas construire la fontaine!", "loc":"help msg in the building tab"}; -locObj.helpFountain = {"txt":"Ce bâtiment et ses améliorations sont nécessaires pour organiser des festivals.
C'est également augmenter le taux de natalité et le bonheur et réduire les impôts.
Si vous construisez ce bâtiment, vous ne pourrez pas construire la potence!", "loc":"help msg in the building tab"}; -locObj.helpStash = {"txt":"Ce bâtiment et ses améliorations sont nécessaires pour protéger votre argent des voleurs, au cas où les voleurs dévaliseraient votre trésorerie.
Plus le niveau de Planque est élevé, plus vous pourrez vous cacher d'or dans la Planque","loc":"help msg in the building tab"}; -locObj.helpStables = {"txt":"Ce bâtiment et ses améliorations sont nécessaires pour embaucher des unités de cavalerie.
Plus le niveau d'écurie est élevé, plus vous pourrez engager des troupes expérimentées là-bas", "loc":"help msg in the building tab"}; -locObj.helpArcheryRange = {"txt":"Ce bâtiment et ses améliorations sont nécessaires pour embaucher des unités de tir à l'arc.
Plus le niveau camp de tir à l'arc, plus vous pouvez engager des troupes expérimentées dans cette zone", "loc":"help msg in the building tab"}; -locObj.helpInn = {"txt":"Ce bâtiment et ses améliorations sont nécessaires pour embaucher des héros.
Plus le niveau d’auberge est élevé, plus le héros recruté sur place sera expérimenté", "loc":"help msg in the building tab"}; -locObj.helpUniversity = {"txt":"This building is required to research new technologies", "loc":"User saw this when moving the coursor above the university icon in Building tab"}; -locObj.callFiremen = {"txt":"Doit-on appeler les pompiers ? Il vous en coutera %arg1 or", "loc":"dialog happens when trying to get rid off the fire"}; -locObj.fireEndedByFireservice = {"txt": "Vos pompiers ont éteint le feu", "loc":"happens after firemen ended the fire"}; -locObj.burnToAshes = {"txt": "Tout va partir en fumée !", "loc":"happens if player decided not to pay to firemen"}; -locObj.rndEventsStealing = {"txt": "c'est la vie: des voleurs vous ont pris %arg1 or de votre Trésorerie.", "loc":"random events, stealings"}; -locObj.rndEventsLotteryWon = {"txt": "Vous avez gagné %arg1 or à la bourse.", "loc":"random events lottery won msg"}; -locObj.locSaveGame= {"txt": "Sauvegarder la partie", "loc":"browser-wide savegame"}; -locObj.locLoadGame = {"txt": "Charger une partie", "loc":"load save from localStorage of the browser"}; -locObj.tabCity = {"txt":"Cité", "loc":"tabname in the tab bar"}; -locObj.tabSettings = {"txt":"Paramètres", "loc": "tabname Settings in the tab bar"}; -locObj.tabBuilding = {"txt": "Bâtiment", "loc": "tabname Building in the tab bar"}; -locObj.tabHowToPlay = {"txt": "Comment jouer", "loc":"tabname How To Play, about and stuff in da bar"}; -locObj.tabDiscord = {"txt": "Discord", "loc": "tabname Discord with a Discord widget"}; -locObj.btnPutOutTheFire = {"txt": "Eteindre le feu", "loc": "button to extinguish the fire"}; -locObj.btnExecutePerson = {"txt": "Exécuter quelqu'un", "loc": "button to execute somebody"}; -locObj.festivalConfirm = {"txt": "Voulez-vous organiser un festival?\nCela vous coûterait %arg1 or.\n", "loc":"place festival confirmation dialogue"}; -locObj.festivalConfirmCooldown = {"txt":"Un Festival a été organisé il n'y a pas si longtemps.\nL'effet du festival serait affaibli.\n", "loc":"happens in case of Cooldown of the festivals"}; -locObj.eventItemCollected = {"txt": "The event item collected!", "loc": "happens when gathered an event item"}; -locObj.eventPledgeRecorded = {"txt": "Your pledge is recorded", "loc": "happens when the pledge was successfully recorded"}; -locObj.eventPledgeError = {"txt": "Your pledge couldn't be recorded. Are you logged in?", "loc": "happens when the pledge wasn't recorded"}; -locObj.festivalGain = {"txt": "Votre gain grâce au festival est de %arg1 or.", "loc":"happens if the festival was profitable for budget"}; -locObj.festivalLoss = {"txt": "Votre perte dû au festival est de %arg1 or.", "loc":"happens if the festival was unprofitable for budget"}; -locObj.errAlreadyHasHero = {"txt": "Vous avez déjà un héros !", "loc":"happens when trying to hire a hero, when you have one hired"}; -locObj.autosaveTurnedOn = {"txt": "La sauvegarde automatique est activée.", "loc": "happens when autosave enabled"}; -locObj.autosaveTurnedOff = {"txt": "La sauvegarde automatique est désactivée.", "loc": "happens when autosave disabled"}; -locObj.GallowsFountainChoiceConfirm = {"txt": "Vous êtes sur le point de constuire %arg1.\nSi cet objet est construit, vous ne pourrez plus construire %arg2.\nEtes-vous sûr de votre choix ?", "loc":"happens when you are about to build Fountain or Gallows"}; -locObj.GallowsChoiceConfirm = {"txt": "potence", "loc": "your choice in GallowsFountainChoiceConfirm dialogue"}; -locObj.FountainBlocked = {"txt": "fontaine", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue"}; -locObj.FountainChoiceConfirm = {"txt": "fontaine", "loc": "your choice in GallowsFountainChoiceConfirm dialogue"}; -locObj.GallowsBlocked = {"txt": "potence", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue"}; -locObj.noStatsYet = {"txt": "Rien à montrer encore, venez ici plus tard", "loc":"happens when trying to open gold/pop stats"}; -locObj.tabSettings = {"txt": "Paramètres", "loc":"Settings tab name"}; -locObj.tabSettingsBtnExportGame = {"txt": "Exporter la partie", "loc":"Export game button"}; -locObj.tabSettingsBtnImportGame = {"txt": "Importer la partie", "loc":"Import game button"}; -locObj.tabSettingsLblAutosave = {"txt": "Sauvegarde automatique", "loc": "Autsave label before the toggle"}; -locObj.tabSettingsBtnChangeColorMode = {"txt": "Inverser les couleurs", "loc": "settings tab change colour mode button"}; -locObj.tabSoundSettingsLblOption = {"txt": "Option", "loc":"Sound settings tab, name of the option"}; -locObj.on = {"txt": "Sur", "loc": "used on Sound Settings tab"}; -locObj.off = {"txt": "De", "loc": "used on Sounds Settings tab"}; -locObj.tabSoundSettingsLblAllSoundEffects = {"txt":"Tous les effets sonores", "loc": "sound settings tab"}; -locObj.tabSoundSettingsLblAllEventsEffects = {"txt":"Effets sur tous les événements", "loc": "sound settings tab"}; -locObj.tabSoundSettingsLblEffectsAR = {"txt": "Effets sur les événements requis", "loc":"sound settings tab"}; -locObj.tabSoundSettingsAllMusic = {"txt": "Musique tout", "loc":"sound settings tab"}; -locObj.tabSoundSettingsScMusic = {"txt": "Musique de tradition et de paysages", "loc": "sounds settings tab"}; -locObj.btnBack = {"txt": "Retour", "loc":"sound settings tab"}; -locObj.lblSoundMenu = {"txt": "Réglages des effets sonores et de la musique", "loc": "sounds settings tab"}; -locObj.tabSettingsBtnOpenSoundSettings = {"txt": "Ouvrir les paramètres sonores", "loc":"settings tab"}; -locObj.tabSettingsLblMobileUI = {"txt": "Interface utilisateur mobile", "loc": "settings tab"}; -locObj.tabSettingsLblLogSize = {"txt":"Taille du journal des événements", "loc": "settings tab"}; -locObj.tabSettingsLblLines = {"txt": "lignes", "loc": "settings tab"}; -locObj.goldAddedToTreasury = {"txt": "%arg1 gold has been added to your treasury", "loc":"gold added when a hero returned to the city"}; -locObj.amber = {"txt": "l'ambre est la monnaie la plus rare", "loc": "happens on click on amber"}; -locObj.lblGarrison = {"txt": "Garnison", "loc": "label in Garrison tab"}; -locObj.btnFire = {"txt": "Licencier", "loc": "button in Garrison tab"}; -locObj.btnHire = {"txt": "Embaucher", "loc": "button in Garrison tab"}; -locObj.imgCastellan = {"txt": "Castellan", "loc": "troops management screen"}; -locObj.imgHero = {"txt":"Héros","loc":"troops management screen"}; -locObj.imgBrotherSergeants = {"txt": "frère sergents", "loc": "troops management screen"}; -locObj.imgTurkopols = {"txt": "turkopols", "loc": "troops management screen"}; -locObj.imgBrotherKnights = {"txt": "frère chevaliers", "loc": "troops management screen"}; -locObj.btnBuildHouse = {"txt": "Construire une Maison
niveau %arg1
%arg2 or", "loc":"building tab"}; -locObj.btnBuildWall = {"txt": "Construire un Mur
niveau %arg1
%arg2 or", "loc":"building tab"}; -locObj.btnBuildTower = {"txt": "Construire une Tour
niveau %arg1
%arg2 or", "loc":"building tab"}; -locObj.btnBuildCastle = {"txt": "Construire un Château
niveau %arg1
%arg2 or", "loc":"building tab"}; -locObj.btnBuildTreasury = {"txt": "Construire une Trésorerie
niveau %arg1
%arg2 or", "loc": "building tab"}; -locObj.btnBuildGallows = {"txt": "Construire une Potence
niveau %arg1
%arg2 or", "loc": "building tab"}; -locObj.btnBuildFountain = {"txt": "Construire une Fontaine
niveau %arg1
%arg2 or", "loc": "building tab"}; -locObj.btnBuildStash = {"txt": "Construire une Planque
niveau %arg1
%arg2 or", "loc": "building tab"}; -locObj.btnBuildInn = {"txt": "Construire une Auberge
niveau %arg1
%arg2 or", "loc": "building tab"}; -locObj.btnBuildStables = {"txt": "Construire une Écuries
niveau %arg1
%arg2 or", "loc":"building tab"}; -locObj.btnBuildArcheryRange = {"txt": "Construire Camp de tir à l'arc
niveau %arg1
%arg2 or", "loc":"building tab"}; -helpBlock = "

1255 Burgomaster

" + - "

Comment jouer

" + - "Ce jeu se joue en tours. Une horloge décompte un tour toutes les 30 secondes.
" + - "A la fin de chaque tour votre population paye des impôts and s'agrandit.
" + - "feedback feedback form
" + - "Normalement, chaque citoyen vous paye un or par tour.
" + - "Ce comportement vient à changer en fonction de vos choix.
" + - "Vous devez construire des Maisons pour poursuivre la croissance de votre population.
" + - "Chaque niveau de maison vous permet d'avoir davantage d'habitants.
" + - "Vous avez besoin de construire des Murs et une Tour pour vous protéger des envahisseurs.
" + - "Vous avez besoin de construire une Trésorerie pour pouvoir stocker votre or.
" + - "Chaque niveau de Trésorerie vous permet de stocker davantage d'or.
" + - "La Trésorerie vous permet également d'embaucher des gardes.
" + - "Les gardes réduisent vos chances de vous faire dérober votre or de la Trésorerie.
" + - "Embaucher un garde vous coutera %arg1 or.
" + - "Chaque garde recquiert un paiement régulier à chaque tour d'un montant de %arg2 or.
" + - "Si vous n'avez pas assez d'or pour les payer, ils démissioneront de façon permanente.
" + - "Vous pouvez construire une Fontaine ou une Potence mais pas les deux. Vous ne pourrez pas changer d'avis une fois le bâtiment construit.
" + - "La Fontaine augmentera le bonheur et la vitesse de croissance de la population.
" + - "La Potence diminuera le bonheur et la vitesse de croissance de la population, mais augmentera les impôts et vous permettra d'exécuter des citoyens.
" + - "Exécuter une personne confisquera ses biens qui viendront s'ajouter à votre or.
" + - "La Planque est nécessaire pour diminuer le montant des vols. Vous ne pouvez pas construire de Planque sans posséder d'abord une Trésorerie.
"+ - "C'est un jeu solo.
"+ - "
" + - "Langages supportés (SL) : English, Russian (Русский).
"+ - "Langages apportés par la communauté (CSL): German (Deutsch), Esperanto, French (le français).
"+ - "L'auteur ne peut apporter aucune aide ni répondre aux questions concernant les CSL,
"+ - "même si le jeu est (en partie) fourni par les CSL.
"+ - "Par ailleurs, toute traduction issue des CSL peut présenter des erreurs ou des éléments non traduits.
"+ - "ou des éléments de traduction qui ne sont plus à jour.
"+ - "Vous pouvez aider pour la traduction du jeu ici :
"+ - "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
"; -locObj.tabHowToPlayText = helpBlock; -locObj.cityScreenSawmill = {"txt": "scierie", "loc": "cityscreen"}; -locObj.cityScreenWishingWell = {"txt": "puit", "loc": "cityscreen"}; -locObj.cityScreenWall = {"txt": "mur", "loc": "cityscreen"}; -locObj.cityScreenStoneWall = {"txt": "mur de pierre", "loc": "cityscreen"}; -locObj.cityScreenTower = {"txt": "tour", "loc": "cityscreen"}; -locObj.cityScreenStoneTower = {"txt": "tour de pierre", "loc": "cityscreen"}; -locObj.cityScreenHouse = {"txt": "maison", "loc": "cityscreen"}; -locObj.cityScreenHouses = {"txt": "maisons", "loc": "cityscreen"}; -locObj.cityScreenInn = {"txt": "auberge", "loc": "cityscreen"}; -locObj.cityScreenGallows = {"txt": "gallows", "loc": "cityscreen"}; -locObj.cityScreenFountain = {"txt": "fountain", "loc": "cityscreen"}; -locObj.cityScreenTreasury = {"txt": "trésorerie", "loc": "cityscreen"}; -locObj.resourceGold = {"txt": "or", "loc": "resource panel"}; -locObj.resourcePop = {"txt": "camp de tir à l'arc", "loc": "resource panel"}; -locObj.cityScreenArcheryRange = {"txt": "archery range", "loc":"cityscreen"}; -locObj.paginationStart = {"txt": "Au début", "loc": "stat pages, to the start button"}; -locObj.paginationPrevious = {"txt": "Précédent", "loc": "stat pages, previous page"}; -locObj.paginationNext = {"txt": "Prochain", "loc": "stat pages, next page btn"}; -locObj.paginationCurrent = {"txt": "Au courant", "loc": "stat pages, current btn"}; -locObj.tabPopHistory = {"txt": "Onglet Historique de la population", "loc": "Label in Pop history tab"}; -locObj.tabPopHistoryCurrentLimit = {"txt": "La population actuelle est limitée à %arg1", "loc": "Label current pop limit"}; -locObj.tabGoldHistoryCurrentLimit = {"txt": "La limite d'or actuelle est de %arg1", "loc": "label current gold limit"}; -locObj.tabGoldHistory = {"txt": "Onglet Historique de l'or", "loc":"Label in Gold history tab"}; -locObj.dayAcronym = {"txt": "J", "loc": "used for countdown in events"}; -locObj.hourAcronym = {"txt": "H", "loc": "used for countdown in events"}; -locObj.minuteAcronym = {"txt": "M", "loc": "used for countdown in events"}; -locObj.countDownBeforeEventStarts = {"txt": "This is the time amount before an event will start", "loc": "resource panel?"}; -locObj.countDownBeforeEventEnds = {"txt": "This is the time amount before the event will end", "loc": "resource panel?"}; -locObj.mapRegenerate = {"txt": "Le ciel au-dessus de la ville s'assombrit en noir, des éclairs firent un tel spectacle et tout s'arrêta brusquement", "loc": "after pressed generate new map button"}; -locObj.day = {"txt": "Jour", "loc": "occurs in autobattles logs"}; -locObj.autocampaignWithdrawErr = {"txt": "Votre héros doit être en autocampagne pour le faire!", "loc":"happens when failing to withdraw the hero from autocampaign"}; -locObj.autocampaignWithdrawDialogConfirm = {"txt": "Voulez-vous retirer votre héros?", "loc": "happens when you pressing withdraw button"}; -locObj.heroLost = {"txt":"e héros et toutes les troupes ont rencontré leur mort dans le combat de gloire", "loc": "happens when the hero is lost"}; -locObj.autocampaignHeroCrushedVastEnemyArmy = {"txt":"le héros a rencontré un grand nombre d'ennemis et les a écrasés. La bataille apporte au héros de l'argent et de l'expérience!", "loc":"autocampaign journal with aggressive stance"}; -locObj.autocampaignHeroCrushedSmallEnemyArmy = {"txt": "le héros a rencontré un petit nombre d'ennemis et les a écrasés. La bataille apporte au héros de l'argent et de l'expérience!", "loc":"autocampaign journal with cautious stance"}; -locObj.autocampaignNoEvents = {"txt": "la journée était très ennuyeuse. Un seul païen a été tué (un chasseur a pris un païen comme proie. Si triste!)", "loc":"autocampaign log no events"}; -locObj.autocampaignLootList = {"txt": "Trophées pillés de la campagne: ", "loc":"autocampaign"}; -locObj.dialogDismissHeroConfirm = {"txt": "Voulez-vous renvoyer le héros avec toutes les troupes?", "loc":"when dismiss hero button pressed"}; -locObj.dialogDismissHeroNoOption = {"txt": "Nan. Tout d'abord, je déplacerai toutes les unités du héros", "loc":"when you declined"}; -locObj.dialogMapRegenerate = {"txt": "Voulez-vous générer une nouvelle carte? Il vous en coûterait %arg1 pièces d'or!", "loc": "map regenerate confirmation dialogue"}; -locObj.errMapRegenerateHeroOnMap = {"txt": "Vous ne pouvez pas le faire tant que votre héros est sur la carte!", "loc": "happens if you try to make new map while your hero on an existing one"}; -locObj.tabInnWelcome = {"txt": "Bienvenue à l'auberge!", "loc":"label in Inn tab"}; -locObj.tabInnBtnHireHero = {"txt": "Embaucher un héros
de niveau %arg1
pour %arg2 pièces d'or", "loc": "tab Inn, button Hire Hero"}; -locObj.heroStatLuck = {"txt": "chance", "loc": "hero stat"}; -locObj.heroStatSuperstition = {"txt": "superstition", "loc": "hero stat"}; -locObj.heroStatMorale = {"txt": "morale", "loc": "hero stat"}; -locObj.heroFoundMoney = {"txt": "le héros a trouvé de l'or: %arg1", "loc": "when a chest found on Adventure Map"}; -locObj.heroStatInt = {"txt": "Intelligence", "loc": "hero stat"}; -locObj.heroStatLevel = {"txt": "Niveau", "loc": "hero stat"}; -locObj.heroStatAtk = {"txt": "Attaque", "loc": "hero stat"}; -locObj.heroStatDef = {"txt": "Défense", "loc": "hero stat"}; -locObj.heroStatMP = {"txt": "Points magiques", "loc": "hero stat"}; -locObj.heroStatSpellpower = {"txt": "Puissance des sorts", "loc": "hero stat"}; -locObj.heroExp = {"txt": "Expérience", "loc": "hero stat"}; -locObj.heroCurrentExp = {"txt": "Current experience", "loc": "hero stat"}; -locObj.heroNextLvlExp = {"txt": "Expérience requise pour le nivueau suivant", "loc": "hero stat"}; -locObj.heroClasses = {"txt": ["Chevalier", "Moine"], "loc": "inn tab"}; -locObj.lblClass = {"txt": "Classe", "loc": "inn tab"}; -locObj.lblHeroLocation = {"txt":"Le héros ", "loc":"inn tab"}; -locObj.heroInTown = {"txt": " en cité", "loc": "used to build hero activity line"}; -locObj.heroInAutocampaign = {"txt": " en campagne automatique", "loc": "used to build hero activity line"}; -locObj.heroOnAdventureMap = {"txt": " sur la carte d'aventure", "loc": "used to build hero activity line"}; -locObj.heroActivitiesInTown = {"txt": ["manger", "boit", "joue", "s'entraine", "se bat", "se repose"], "loc": "used to build hero activity line"}; -locObj.heroActivitiesInAutocampaign = {"txt":["sur le trajet retour", "marchant", "tuant des païens", "convertissant des païens", "faisant un camp", "pillant des païens morts"], "loc": "used to build hero activity line"}; -locObj.heroActivitiesOnAdventureMap = {"txt":["marching", "faire un camp", "piller"],"loc": "used to build hero activity line"}; -locObj.lblDistanceFromTown = {"txt": "Jours de la cité", "loc": "inn tab"}; -locObj.directionFromTown = {"txt": "De la cité", "loc": "inn tab"}; -locObj.directionToTown = {"txt": "Vers la cité", "loc": "inn tab"}; -locObj.goldInHerosPurse = {"txt": "L'or dans le sac du héros", "loc": "inn tab"}; -locObj.lblDirection = {"txt": "Direction: ", "loc": "inn tab"}; -locObj.btnDismissHero = {"txt": "Rejeter le héros", "loc": "inn tab"}; -locObj.btnAutocampaignSendHero = {"txt": "Envoyer le héros à autocampaign", "loc": "inn tab"}; -locObj.btnAutocampaignWithdrawHero = {"txt": "Retirer le héros", "loc": "inn tab"}; -locObj.btnAutocampaignOpenJournal = {"txt": "Journal ouvert", "loc": "inn tab"}; -locObj.btnUseTowngateScroll = {"txt": "Utiliser porte de la cité", "loc": "inn tab"}; -locObj.btnGoToAdvenureMap = {"txt": "Aller à la carte d'aventure", "loc": "inn tab"}; -locObj.btnRegenerateMap = {"txt": "Régénérer la carte", "loc": "inn tab"}; -locObj.msgHeroAdvancedToNextLvl = {"txt": "Votre héros a été promu au niveau suivant!", "loc": "event log?"}; -locObj.dlgHeroStance = {"txt": "Voulez-vous une attitude agressive (récompense plus élevée, risque plus élevé) ou une position de prudence?", "loc": "dialog happens when hero leaving town"}; -locObj.ansHeroAggressiveStance = {"txt": "Agressif! Vouloir du sang et de l'or!", "loc": "One of the options to the locObj.dlgHeroStance question"}; -locObj.ansHeroCautiousStance = {"txt": "Prudent. A quoi bon d'or si votre héros est mort?", "loc": "One of the options to the locObj.dlgHeroStance question"}; -locObj.errHeroHasNoTroops = {"txt": "Vous devez d'abord ajouter des troupes à l'équipe de héros!", "loc": "when trying to send hero outta city with no troops"}; -locObj.errNoHero = {"txt": "Vous avez besoin d'un héros pour faire ça!", "loc": "when trying to invoke hero-related actions with no hero"}; -locObj.msgAfterSellToTrader = {"txt": "C'est un plaisir d'avoir une entreprise avec vous. Je te reverrai", "loc": "not used so far"}; -locObj.msgAfterBuyFromTrader = {"txt": "Félicitations pour votre achat! Vous avez fait le bon choix!", "loc": "not used so far"}; -locObj.artifactTowngateAfterUse = {"txt": "Le héros est juste derrière la ville maintenant!", "loc": "after the artefact was used"}; -locObj.artifactErrNoTowngate = {"txt": "Vous n'avez pas de rouleau Towngate!", "loc": "when trying to use towngate scroll witout having one"}; -locObj.artifactErrWrongDirection = {"txt": "Tout d'abord, dirigez le héros en ville!", "loc": "happens when try to cast towngate and moving from the town"}; -locObj.lblGoodForSale = {"txt": "Le marchand du marché noir propose ces produits à la vente!", "loc":"blackmarket tab, good for sale from the NPC"}; -locObj.lblHeroGoodsFoSale = {"txt": "Le marchand du marché noir pourrait acheter vos biens.", "loc":"blackmarket tab"}; +locObj.eventHalloween = { "txt": "Halloween is about collecting pumpkins!\nGenerate a new adventure map to find them\nYou need to be registered & logged, so you pledge could be recorded", "loc": "help" } +locObj.eventNewYear = { "txt": "New Year is about collecting snowmen!\nGenerate a new adventure map to find them\nYou need to be registered & logged, so you pledge could be recorded", "loc": "eventhelp" } +locObj.couldntRecordPledge = { "txt": "It seems you are not logged it. Your pledge will not be recorded", "loc": "happens when collected event item while being not logged in" } +locObj.requiredStables = { "txt": "Pour ce faire, vous devez construire l'écurie", "loc": "happens when trying to hire sergeants if no stables built" }; +locObj.requiredArcheryRange = { "txt": "Pour ce faire, vous devez construire une gamme de tir à l'arc", "loc": "happens when trying to hire turkopols if no archery range is built" }; +locObj.requiredStablesUpgrade = { "txt": "Pour ce faire, vous devez mettre à niveau l'écurie au niveau %arg1", "loc": "happens when trying to hire knights and stables level too low" }; +locObj.deadCounselorDemolish = { "txt": "Your counselor is dead.\nThe new counselor, however, urges us to reconsider\nthe choice which was made with the previous one:\n-it's time, m'lord, when we could decide what's better for our nation.\n-if you agree, we demolish the %arg1 and thus you could build %arg2", "loc": "" } +locObj.demolishGallows = { "txt": "potence", "loc": "your choice in deadCounselorDemolish dialogue" }; +locObj.fountainUnlock = { "txt": "fontaine", "loc": "will be unlocked in deadCounselorDemolish dialogue" }; +locObj.demolishFountain = { "txt": "fontaine", "loc": "your choice in deadCounselorDemolish dialogue" }; +locObj.gallowsUnlock = { "txt": "potence", "loc": "will be unlocked in deadCounselorDemolish dialogue" }; +locObj.deadCounselorDemolishAnsYes = { "txt": "Yes, demolish it", "loc": "Positive answer" } +locObj.buy = { "txt": "Buy", "loc": "On item in BlackMarket for sale from Goblin" }; +locObj.sell = { "txt": "Sell", "loc": "On item in BlackMarket for sale from Hero" }; +locObj.buildArchery = { "txt": "Archery provides mounted archers. Build stables first", "loc": "error msg bulding archery" }; +locObj.buildUpgradeTreasury = { "txt": "Construisez ou améliorez votre Trésorerie", "loc": "the endturn tip in case of overflowing gold amount" } +locObj.moneyIncreased = { "txt": "Votre richesse augmente", "loc": "happens when s-to-s money value increased" }; +locObj.moneyDecreased = { "txt": "Votre richesse diminue", "loc": "happens when s-to-s money value decreased" }; +locObj.popIncreased = { "txt": "La population augmente", "loc": "happens when s-to-s population value increased" }; +locObj.popDecreased = { "txt": "La population diminue", "loc": "happens when s-to-s population value decreased" }; +locObj.requiredFieldsNotFilled = { "txt": "Required fields are not filled!", "loc": "happens in case of empty fields like login, password, etc" }; +locObj.buildUpgradeHouse = { "txt": "Votre cité a atteint sa limite de population. Construisez de nouvelles maisons ou améliorez celles qui existent", "loc": "the endturn tip in case of overpopulating" }; +locObj.savedSuccessfully = { "txt": "Sauvegarde réussie", "loc": "when manual save completed successfully" }; +locObj.loadedSuccessfully = { "txt": "Chargement réussi", "loc": "when loaded completed successfully" }; +locObj.dialogLoadGame = { "txt": "Voulez-vous charger une partie ? Tout changement non sauvegardé sera perdu", "loc": "confirmation dialogue over loading game" }; +locObj.noSaveGame = { "txt": "Désolé, vous n'avez aucune sauvegarde", "loc": "in case there is no savegame" }; +locObj.dialogSaveGame = { "txt": "Voulez-vous sauvegarder ? La sauvegarde précédente sera ecrasée", "loc": "when trying to save game or overwriting existing savegame" }; +locObj.loadGameFromStringEmpty = { "txt": "Veuillez insérer la ligne de caractères composant la sauvegarde", "loc": "happens when the loadgame input is empty" }; +locObj.loadGameFromStringError = { "txt": "Couldn't load the game from the savestring ;-;", "loc": "happens when the loadgame input is incorrect or couldn't be processed" }; +locObj.lblLongSaveString = { "txt": "Une très longue chaine de caractères", "loc": "label near input fielf for savegame string" }; +locObj.dialogConfirmHireGuard = { "txt": "Voulez-vous embaucher un garde ? Il vous en coutera %arg1 or puis %arg2 or par saison", "loc": "hiring treasury guard confirmation dialogue" }; +locObj.hiredGuardsman = { "txt": "Vous avez embauché un garde", "loc": "after succesfully hired a guardsman" }; +locObj.notEnoughGold = { "txt": "Vous n'avez pas assez d'or pour faire ça", "loc": "not enough gold" }; +locObj.treasuryRequired = { "txt": "Une Trésorerie est requise pour embaucher un garde", "loc": "happens when trying to hire gaurdsman without a treasury" }; +locObj.dialogConfirmDismssGuardsman = { "txt": "Voulez-vous licencier un garde ?", "loc": "happens when try to dismiss one guardsman" }; +locObj.dismissedGuardsman = { "txt": "Vous avez licencié un garde.", "loc": "happens after dismissing a guardsman" }; +locObj.noGuardsman = { "txt": "Vous n'avez aucun garde", "loc": "happens when trying to dismiss guardsman when there are none of them" }; +locObj.execReasons = [{ "txt": "traitrise", "loc": "when executing a person" }, +{ "txt": "espionnage", "loc": "" }, +{ "txt": "corruption", "loc": "" }, +{ "txt": "corruption", "loc": "" }, +{ "txt": "détournement de fonds", "loc": "" }, +{ "txt": "vol", "loc": "" }]; +locObj.techArtilleryResearched = { "txt": "You researched the artillery technology!", "loc": "Happens when the tech is discovered" }; +locObj.bldUniversityButton = { "txt": "Build university
%arg2 gold", "loc": "the label of the button of building the University on the building tab" }; +locObj.eventWillStart = { "txt": " event will start in", "loc": "shows on the status bar if an event was announced" }; +locObj.eventWillEnd = { "txt": " event will end in", "loc": "shows on the status bar if an event was started" }; +locObj.eventHalloweenName = { "txt": "Halloween", "loc": "shows on the status bar if the event announced or online" }; +locObj.eventNewYearName = { "txt": "New Year", "loc": "shows on the status bar if the event announced or online" }; +locObj.yes = { "txt": "Oui", "loc": "Positive answer, happens in modal dialogues" }; +locObj.yesKillBloody = { "txt": "Assurément, de la façon la plus barbare!", "loc": "NOT USED YET" }; +locObj.no = { "txt": "Non", "loc": "Negative answer, happens in modal dialogues" }; +locObj.serverStatusSpn = { "txt": "Server: ", "loc": "showed in the status bar" }; +locObj.serverStatusND = { "txt": "n/d", "loc": "server status is no data" }; +locObj.serverStatusUp = { "txt": "Up", "loc": "server status is Up" }; +locObj.serverStatusDown = { "txt": "Down", "loc": "server status is Down" }; +locObj.online = { "txt": "Online: ", "loc": "label before the online users counter" }; +locObj.onlineValueND = { "txt": "n/d", "loc": "online users numbers has no data" }; +locObj.errCityLevelTooLowForSendingMsg = { "txt": "Sir Commander, your city level is too low for sending messages to other Lords", "loc": "happens when low-level user try to send msg in chat" } +locObj.userCntOne = { "txt": "user", "loc": "(one) user" }; +locObj.userCntTwoPlus = { "txt": "users", "loc": "two or more users" }; +locObj.savedCloudSuccessfully = { "txt": "game saved to the cloud successfully", "loc": "when cloud save completed successfully" }; +locObj.errNoCloudSave = { "txt": "you don't have savegame in the cloud", "loc": "could happen when trying to load a savegame from DB" }; +locObj.errGettingCloudSave = { "txt": "error while trying to get your cloudsave from the cloud", "loc": "could happen when trying to get a savegame from backend" }; +locObj.errLoadingCloudSave = { "txt": "error while processing your cloudsave", "loc": "could happen while loading cloudsave" }; +locObj.errGetSaveEndpoint = { "txt": "error from server. Are you logged in? Is server up?", "loc": "endpoint error from /get_savegame" }; +locObj.executedMsg = { "txt": "Vous avez exécuté un citoyen pour %arg1", "loc": "eventlog after the execution" }; +locObj.executedGainMsg = { "txt": "%arg1 est la propriété confisquée du citoyen exécuté", "loc": "eventlog after the execution" }; +locObj.executionAborted = { "txt": "Vous avez trop peu de citoyens", "loc": "happens if you have too low amount of citizens" }; +locObj.cantUpkeepTreasuryGuards = { "txt": "Des gardes ont démissioné car vous ne pouvez pas les payer !", "loc": "in calculateTurn in case of money deficite" }; +locObj.fireInCity = { "txt": "Un incendie dans la cité!", "loc": "happens as part of random events" }; +locObj.rqtsHome = { "txt": "Déverrouillé par un événement", "loc": "Requirements for homes" }; +locObj.rqtsDef = { "txt": "Déverrouillé par un événement", "loc": "Requirements for defense buildings" }; +locObj.rqtsTreasury = { "txt": "Nécessite %arg1 pièces d'or pour déverrouiller", "loc": "Reqs for Treasury building" }; +locObj.rqtsGallows = { "txt": "Nécessite %arg1 citoyen pour déverrouiller", "loc": "Reqs for Gallows" }; +locObj.rqtsFountain = { "txt": "Nécessite %arg1 citoyen pour déverrouiller", "loc": "Reqs for Fountain" }; +locObj.rqtsStash = { "txt": "Requires Treasury and Unlocks by an event", "loc": "Reqs for Fountain" }; +locObj.rqtsStables = { "txt": "Nécessite %arg1 citoyen pour déverrouiller", "loc": "Reqs for Stables" }; +locObj.rqtsArcheryRange = { "txt": "Requires %arg1 citizens and Stables", "loc": "Reqs for Archery Range" }; +locObj.rqtsInn = { "txt": "Nécessite %arg1 citoyen pour déverrouiller", "loc": "Reqs for Inn" }; +locObj.rqtsUniversity = { "txt": "Unlocks in %arg1. Current year is %arg2", "loc": "Reqs for Konigsberg University" }; +locObj.rqtsCatherdal = { "txt": "Unlocks in 1380", "loc": "Reqs for Königsberg Cathedral" }; +locObj.helpDef = { "txt": "Ce bâtiment est nécessaire pour protéger la cité des intrus", "loc": "help message in the building tab" }; +locObj.helpHome = { "txt": "Ce bâtiment et ses améliorations sont nécessaires pour augmenter votre limite de population", "loc": "help msg in the building tab" }; +locObj.helpTreasury = { "txt": "Ce bâtiment et ses améliorations sont nécessaires pour augmenter votre limite de dépenses.
Ce bâtiment vous permet d'engager des gardes du trésor.
Ils sont nécessaires pour réduire vos risques de vol" }; +locObj.helpGallows = { "txt": "Ce bâtiment et ses améliorations sont nécessaires pour exécuter vos citoyens.
Il permet aussi d'augmenter les impôts et de diminuer le taux de natalité et le bonheur.
Si vous construisez ce bâtiment, vous ne pourrez pas construire la fontaine!", "loc": "help msg in the building tab" }; +locObj.helpFountain = { "txt": "Ce bâtiment et ses améliorations sont nécessaires pour organiser des festivals.
C'est également augmenter le taux de natalité et le bonheur et réduire les impôts.
Si vous construisez ce bâtiment, vous ne pourrez pas construire la potence!", "loc": "help msg in the building tab" }; +locObj.helpStash = { "txt": "Ce bâtiment et ses améliorations sont nécessaires pour protéger votre argent des voleurs, au cas où les voleurs dévaliseraient votre trésorerie.
Plus le niveau de Planque est élevé, plus vous pourrez vous cacher d'or dans la Planque", "loc": "help msg in the building tab" }; +locObj.helpStables = { "txt": "Ce bâtiment et ses améliorations sont nécessaires pour embaucher des unités de cavalerie.
Plus le niveau d'écurie est élevé, plus vous pourrez engager des troupes expérimentées là-bas", "loc": "help msg in the building tab" }; +locObj.helpArcheryRange = { "txt": "Ce bâtiment et ses améliorations sont nécessaires pour embaucher des unités de tir à l'arc.
Plus le niveau camp de tir à l'arc, plus vous pouvez engager des troupes expérimentées dans cette zone", "loc": "help msg in the building tab" }; +locObj.helpInn = { "txt": "Ce bâtiment et ses améliorations sont nécessaires pour embaucher des héros.
Plus le niveau d’auberge est élevé, plus le héros recruté sur place sera expérimenté", "loc": "help msg in the building tab" }; +locObj.helpUniversity = { "txt": "This building is required to research new technologies", "loc": "User saw this when moving the coursor above the university icon in Building tab" }; +locObj.callFiremen = { "txt": "Doit-on appeler les pompiers ? Il vous en coutera %arg1 or", "loc": "dialog happens when trying to get rid off the fire" }; +locObj.fireEndedByFireservice = { "txt": "Vos pompiers ont éteint le feu", "loc": "happens after firemen ended the fire" }; +locObj.burnToAshes = { "txt": "Tout va partir en fumée !", "loc": "happens if player decided not to pay to firemen" }; +locObj.rndEventsStealing = { "txt": "c'est la vie: des voleurs vous ont pris %arg1 or de votre Trésorerie.", "loc": "random events, stealings" }; +locObj.rndEventsLotteryWon = { "txt": "Vous avez gagné %arg1 or à la bourse.", "loc": "random events lottery won msg" }; +locObj.locSaveGame = { "txt": "Sauvegarder la partie", "loc": "browser-wide savegame" }; +locObj.locLoadGame = { "txt": "Charger une partie", "loc": "load save from localStorage of the browser" }; +locObj.tabCity = { "txt": "Cité", "loc": "tabname in the tab bar" }; +locObj.tabSettings = { "txt": "Paramètres", "loc": "tabname Settings in the tab bar" }; +locObj.tabBuilding = { "txt": "Bâtiment", "loc": "tabname Building in the tab bar" }; +locObj.tabHowToPlay = { "txt": "Comment jouer", "loc": "tabname How To Play, about and stuff in da bar" }; +locObj.tabDiscord = { "txt": "Discord", "loc": "tabname Discord with a Discord widget" }; +locObj.btnPutOutTheFire = { "txt": "Eteindre le feu", "loc": "button to extinguish the fire" }; +locObj.btnExecutePerson = { "txt": "Exécuter quelqu'un", "loc": "button to execute somebody" }; +locObj.festivalConfirm = { "txt": "Voulez-vous organiser un festival?\nCela vous coûterait %arg1 or.\n", "loc": "place festival confirmation dialogue" }; +locObj.festivalConfirmCooldown = { "txt": "Un Festival a été organisé il n'y a pas si longtemps.\nL'effet du festival serait affaibli.\n", "loc": "happens in case of Cooldown of the festivals" }; +locObj.eventItemCollected = { "txt": "The event item collected!", "loc": "happens when gathered an event item" }; +locObj.eventPledgeRecorded = { "txt": "Your pledge is recorded", "loc": "happens when the pledge was successfully recorded" }; +locObj.eventPledgeError = { "txt": "Your pledge couldn't be recorded. Are you logged in?", "loc": "happens when the pledge wasn't recorded" }; +locObj.festivalGain = { "txt": "Votre gain grâce au festival est de %arg1 or.", "loc": "happens if the festival was profitable for budget" }; +locObj.festivalLoss = { "txt": "Votre perte dû au festival est de %arg1 or.", "loc": "happens if the festival was unprofitable for budget" }; +locObj.errAlreadyHasHero = { "txt": "Vous avez déjà un héros !", "loc": "happens when trying to hire a hero, when you have one hired" }; +locObj.autosaveTurnedOn = { "txt": "La sauvegarde automatique est activée.", "loc": "happens when autosave enabled" }; +locObj.autosaveTurnedOff = { "txt": "La sauvegarde automatique est désactivée.", "loc": "happens when autosave disabled" }; +locObj.downloadGame = { "txt": "Download game for playing off-grid (to play without Internet connection)", "loc": "download game successfully" }; +locObj.GallowsFountainChoiceConfirm = { "txt": "Vous êtes sur le point de constuire %arg1.\nSi cet objet est construit, vous ne pourrez plus construire %arg2.\nEtes-vous sûr de votre choix ?", "loc": "happens when you are about to build Fountain or Gallows" }; +locObj.GallowsChoiceConfirm = { "txt": "potence", "loc": "your choice in GallowsFountainChoiceConfirm dialogue" }; +locObj.FountainBlocked = { "txt": "fontaine", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue" }; +locObj.FountainChoiceConfirm = { "txt": "fontaine", "loc": "your choice in GallowsFountainChoiceConfirm dialogue" }; +locObj.GallowsBlocked = { "txt": "potence", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue" }; +locObj.noStatsYet = { "txt": "Rien à montrer encore, venez ici plus tard", "loc": "happens when trying to open gold/pop stats" }; +locObj.tabSettings = { "txt": "Paramètres", "loc": "Settings tab name" }; +locObj.tabSettingsBtnExportGame = { "txt": "Exporter la partie", "loc": "Export game button" }; +locObj.tabSettingsBtnImportGame = { "txt": "Importer la partie", "loc": "Import game button" }; +locObj.tabSettingsLblAutosave = { "txt": "Sauvegarde automatique", "loc": "Autsave label before the toggle" }; +locObj.tabSettingsBtnChangeColorMode = { "txt": "Inverser les couleurs", "loc": "settings tab change colour mode button" }; +locObj.tabSoundSettingsLblOption = { "txt": "Option", "loc": "Sound settings tab, name of the option" }; +locObj.on = { "txt": "Sur", "loc": "used on Sound Settings tab" }; +locObj.off = { "txt": "De", "loc": "used on Sounds Settings tab" }; +locObj.tabSoundSettingsLblAllSoundEffects = { "txt": "Tous les effets sonores", "loc": "sound settings tab" }; +locObj.tabSoundSettingsLblAllEventsEffects = { "txt": "Effets sur tous les événements", "loc": "sound settings tab" }; +locObj.tabSoundSettingsLblEffectsAR = { "txt": "Effets sur les événements requis", "loc": "sound settings tab" }; +locObj.tabSoundSettingsAllMusic = { "txt": "Musique tout", "loc": "sound settings tab" }; +locObj.tabSoundSettingsScMusic = { "txt": "Musique de tradition et de paysages", "loc": "sounds settings tab" }; +locObj.btnBack = { "txt": "Retour", "loc": "sound settings tab" }; +locObj.lblSoundMenu = { "txt": "Réglages des effets sonores et de la musique", "loc": "sounds settings tab" }; +locObj.tabSettingsBtnOpenSoundSettings = { "txt": "Ouvrir les paramètres sonores", "loc": "settings tab" }; +locObj.tabSettingsLblMobileUI = { "txt": "Interface utilisateur mobile", "loc": "settings tab" }; +locObj.tabSettingsLblLogSize = { "txt": "Taille du journal des événements", "loc": "settings tab" }; +locObj.tabSettingsLblLines = { "txt": "lignes", "loc": "settings tab" }; +locObj.goldAddedToTreasury = { "txt": "%arg1 gold has been added to your treasury", "loc": "gold added when a hero returned to the city" }; +locObj.amber = { "txt": "l'ambre est la monnaie la plus rare", "loc": "happens on click on amber" }; +locObj.lblGarrison = { "txt": "Garnison", "loc": "label in Garrison tab" }; +locObj.btnFire = { "txt": "Licencier", "loc": "button in Garrison tab" }; +locObj.btnHire = { "txt": "Embaucher", "loc": "button in Garrison tab" }; +locObj.imgCastellan = { "txt": "Castellan", "loc": "troops management screen" }; +locObj.imgHero = { "txt": "Héros", "loc": "troops management screen" }; +locObj.imgBrotherSergeants = { "txt": "frère sergents", "loc": "troops management screen" }; +locObj.imgTurkopols = { "txt": "turkopols", "loc": "troops management screen" }; +locObj.imgBrotherKnights = { "txt": "frère chevaliers", "loc": "troops management screen" }; +locObj.btnBuildHouse = { "txt": "Construire une Maison
niveau %arg1
%arg2 or", "loc": "building tab" }; +locObj.btnBuildWall = { "txt": "Construire un Mur
niveau %arg1
%arg2 or", "loc": "building tab" }; +locObj.btnBuildTower = { "txt": "Construire une Tour
niveau %arg1
%arg2 or", "loc": "building tab" }; +locObj.btnBuildCastle = { "txt": "Construire un Château
niveau %arg1
%arg2 or", "loc": "building tab" }; +locObj.btnBuildTreasury = { "txt": "Construire une Trésorerie
niveau %arg1
%arg2 or", "loc": "building tab" }; +locObj.btnBuildGallows = { "txt": "Construire une Potence
niveau %arg1
%arg2 or", "loc": "building tab" }; +locObj.btnBuildFountain = { "txt": "Construire une Fontaine
niveau %arg1
%arg2 or", "loc": "building tab" }; +locObj.btnBuildStash = { "txt": "Construire une Planque
niveau %arg1
%arg2 or", "loc": "building tab" }; +locObj.btnBuildInn = { "txt": "Construire une Auberge
niveau %arg1
%arg2 or", "loc": "building tab" }; +locObj.btnBuildStables = { "txt": "Construire une Écuries
niveau %arg1
%arg2 or", "loc": "building tab" }; +locObj.btnBuildArcheryRange = { "txt": "Construire Camp de tir à l'arc
niveau %arg1
%arg2 or", "loc": "building tab" }; +locObj.lblAbout_h1 = { "txt": "1255 Burgomaster" }; +locObj.lblAbout_h2 = { "txt": "Comment jouer" }; +locObj.lblAbout_wiki = { "txt": "wiki: https://github.com/Areso/1255-burgomaster/wiki
" }; +locObj.lblAbout_feedback = { "txt": "feedback feedback form
" }; +locObj.lblAbout_meh = { + "txt": "Ce jeu se joue en tours. Une horloge décompte un tour toutes les 30 secondes.\n" + + "A la fin de chaque tour votre population paye des impôts and s'agrandit.\n" + + "Normalement, chaque citoyen vous paye un or par tour.\n" + + "Ce comportement vient à changer en fonction de vos choix.\n" + + "Vous devez construire des Maisons pour poursuivre la croissance de votre population.\n" + + "Chaque niveau de maison vous permet d'avoir davantage d'habitants.\n" + + "Vous avez besoin de construire des Murs et une Tour pour vous protéger des envahisseurs.\n" + + "Vous avez besoin de construire une Trésorerie pour pouvoir stocker votre or.\n" + + "Chaque niveau de Trésorerie vous permet de stocker davantage d'or.\n" + + "La Trésorerie vous permet également d'embaucher des gardes.\n" + + "Les gardes réduisent vos chances de vous faire dérober votre or de la Trésorerie.\n" + + "Embaucher un garde vous coutera %arg1 or.\n" + + "Chaque garde recquiert un paiement régulier à chaque tour d'un montant de %arg2 or.\n" + + "Si vous n'avez pas assez d'or pour les payer, ils démissioneront de façon permanente.\n" + + "Vous pouvez construire une Fontaine ou une Potence mais pas les deux. Vous ne pourrez pas changer d'avis une fois le bâtiment construit.\n" + + "La Fontaine augmentera le bonheur et la vitesse de croissance de la population.\n" + + "La Potence diminuera le bonheur et la vitesse de croissance de la population, mais augmentera les impôts et vous permettra d'exécuter des citoyens.\n" + + "Exécuter une personne confisquera ses biens qui viendront s'ajouter à votre or.\n" + + "La Planque est nécessaire pour diminuer le montant des vols. Vous ne pouvez pas construire de Planque sans posséder d'abord une Trésorerie.\n" + + "C'est un jeu solo." +}; +locObj.lblAbout_supLang = { + "txt": "Langages supportés (SL) : English, Russian (Русский).\n" + + "Langages apportés par la communauté (CSL): German (Deutsch), Esperanto, French (le français).\n" + + "L'auteur ne peut apporter aucune aide ni répondre aux questions concernant les CSL,\n" + + "même si le jeu est (en partie) fourni par les CSL.\n" + + "Par ailleurs, toute traduction issue des CSL peut présenter des erreurs ou des éléments non traduits.\n" + + "ou des éléments de traduction qui ne sont plus à jour.\n" + + "Vous pouvez aider pour la traduction du jeu ici :" +}; +locObj.lblAbout_googleLang = { "txt": "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
" }; +locObj.cityScreenSawmill = { "txt": "scierie", "loc": "cityscreen" }; +locObj.cityScreenWishingWell = { "txt": "puit", "loc": "cityscreen" }; +locObj.cityScreenWall = { "txt": "mur", "loc": "cityscreen" }; +locObj.cityScreenStoneWall = { "txt": "mur de pierre", "loc": "cityscreen" }; +locObj.cityScreenTower = { "txt": "tour", "loc": "cityscreen" }; +locObj.cityScreenStoneTower = { "txt": "tour de pierre", "loc": "cityscreen" }; +locObj.cityScreenHouse = { "txt": "maison", "loc": "cityscreen" }; +locObj.cityScreenHouses = { "txt": "maisons", "loc": "cityscreen" }; +locObj.cityScreenInn = { "txt": "auberge", "loc": "cityscreen" }; +locObj.cityScreenGallows = { "txt": "gallows", "loc": "cityscreen" }; +locObj.cityScreenFountain = { "txt": "fountain", "loc": "cityscreen" }; +locObj.cityScreenTreasury = { "txt": "trésorerie", "loc": "cityscreen" }; +locObj.resourceGold = { "txt": "or", "loc": "resource panel" }; +locObj.resourcePop = { "txt": "camp de tir à l'arc", "loc": "resource panel" }; +locObj.cityScreenArcheryRange = { "txt": "archery range", "loc": "cityscreen" }; +locObj.paginationStart = { "txt": "Au début", "loc": "stat pages, to the start button" }; +locObj.paginationPrevious = { "txt": "Précédent", "loc": "stat pages, previous page" }; +locObj.paginationNext = { "txt": "Prochain", "loc": "stat pages, next page btn" }; +locObj.paginationCurrent = { "txt": "Au courant", "loc": "stat pages, current btn" }; +locObj.tabPopHistory = { "txt": "Onglet Historique de la population", "loc": "Label in Pop history tab" }; +locObj.tabPopHistoryCurrentLimit = { "txt": "La population actuelle est limitée à %arg1", "loc": "Label current pop limit" }; +locObj.tabGoldHistoryCurrentLimit = { "txt": "La limite d'or actuelle est de %arg1", "loc": "label current gold limit" }; +locObj.tabGoldHistory = { "txt": "Onglet Historique de l'or", "loc": "Label in Gold history tab" }; +locObj.dayAcronym = { "txt": "J", "loc": "used for countdown in events" }; +locObj.hourAcronym = { "txt": "H", "loc": "used for countdown in events" }; +locObj.minuteAcronym = { "txt": "M", "loc": "used for countdown in events" }; +locObj.countDownBeforeEventStarts = { "txt": "This is the time amount before an event will start", "loc": "resource panel?" }; +locObj.countDownBeforeEventEnds = { "txt": "This is the time amount before the event will end", "loc": "resource panel?" }; +locObj.mapRegenerate = { "txt": "Le ciel au-dessus de la ville s'assombrit en noir, des éclairs firent un tel spectacle et tout s'arrêta brusquement", "loc": "after pressed generate new map button" }; +locObj.day = { "txt": "Jour", "loc": "occurs in autobattles logs" }; +locObj.autocampaignWithdrawErr = { "txt": "Votre héros doit être en autocampagne pour le faire!", "loc": "happens when failing to withdraw the hero from autocampaign" }; +locObj.autocampaignWithdrawDialogConfirm = { "txt": "Voulez-vous retirer votre héros?", "loc": "happens when you pressing withdraw button" }; +locObj.heroLost = { "txt": "e héros et toutes les troupes ont rencontré leur mort dans le combat de gloire", "loc": "happens when the hero is lost" }; +locObj.autocampaignHeroCrushedVastEnemyArmy = { "txt": "le héros a rencontré un grand nombre d'ennemis et les a écrasés. La bataille apporte au héros de l'argent et de l'expérience!", "loc": "autocampaign journal with aggressive stance" }; +locObj.autocampaignHeroCrushedSmallEnemyArmy = { "txt": "le héros a rencontré un petit nombre d'ennemis et les a écrasés. La bataille apporte au héros de l'argent et de l'expérience!", "loc": "autocampaign journal with cautious stance" }; +locObj.autocampaignNoEvents = { "txt": "la journée était très ennuyeuse. Un seul païen a été tué (un chasseur a pris un païen comme proie. Si triste!)", "loc": "autocampaign log no events" }; +locObj.autocampaignLootList = { "txt": "Trophées pillés de la campagne: ", "loc": "autocampaign" }; +locObj.dialogDismissHeroConfirm = { "txt": "Voulez-vous renvoyer le héros avec toutes les troupes?", "loc": "when dismiss hero button pressed" }; +locObj.dialogDismissHeroNoOption = { "txt": "Nan. Tout d'abord, je déplacerai toutes les unités du héros", "loc": "when you declined" }; +locObj.dialogMapRegenerate = { "txt": "Voulez-vous générer une nouvelle carte? Il vous en coûterait %arg1 pièces d'or!", "loc": "map regenerate confirmation dialogue" }; +locObj.errMapRegenerateHeroOnMap = { "txt": "Vous ne pouvez pas le faire tant que votre héros est sur la carte!", "loc": "happens if you try to make new map while your hero on an existing one" }; +locObj.tabInnWelcome = { "txt": "Bienvenue à l'auberge!", "loc": "label in Inn tab" }; +locObj.tabInnBtnHireHero = { "txt": "Embaucher un héros
de niveau %arg1
pour %arg2 pièces d'or", "loc": "tab Inn, button Hire Hero" }; +locObj.heroStatLuck = { "txt": "chance", "loc": "hero stat" }; +locObj.heroStatSuperstition = { "txt": "superstition", "loc": "hero stat" }; +locObj.heroStatMorale = { "txt": "morale", "loc": "hero stat" }; +locObj.heroFoundMoney = { "txt": "le héros a trouvé de l'or: %arg1", "loc": "when a chest found on Adventure Map" }; +locObj.heroStatInt = { "txt": "Intelligence", "loc": "hero stat" }; +locObj.heroStatLevel = { "txt": "Niveau", "loc": "hero stat" }; +locObj.heroStatAtk = { "txt": "Attaque", "loc": "hero stat" }; +locObj.heroStatDef = { "txt": "Défense", "loc": "hero stat" }; +locObj.heroStatMP = { "txt": "Points magiques", "loc": "hero stat" }; +locObj.heroStatSpellpower = { "txt": "Puissance des sorts", "loc": "hero stat" }; +locObj.heroExp = { "txt": "Expérience", "loc": "hero stat" }; +locObj.heroCurrentExp = { "txt": "Current experience", "loc": "hero stat" }; +locObj.heroNextLvlExp = { "txt": "Expérience requise pour le nivueau suivant", "loc": "hero stat" }; +locObj.heroClasses = { "txt": ["Chevalier", "Moine"], "loc": "inn tab" }; +locObj.lblClass = { "txt": "Classe", "loc": "inn tab" }; +locObj.lblHeroLocation = { "txt": "Le héros ", "loc": "inn tab" }; +locObj.heroInTown = { "txt": " en cité", "loc": "used to build hero activity line" }; +locObj.heroInAutocampaign = { "txt": " en campagne automatique", "loc": "used to build hero activity line" }; +locObj.heroOnAdventureMap = { "txt": " sur la carte d'aventure", "loc": "used to build hero activity line" }; +locObj.heroActivitiesInTown = { "txt": ["manger", "boit", "joue", "s'entraine", "se bat", "se repose"], "loc": "used to build hero activity line" }; +locObj.heroActivitiesInAutocampaign = { "txt": ["sur le trajet retour", "marchant", "tuant des païens", "convertissant des païens", "faisant un camp", "pillant des païens morts"], "loc": "used to build hero activity line" }; +locObj.heroActivitiesOnAdventureMap = { "txt": ["marching", "faire un camp", "piller"], "loc": "used to build hero activity line" }; +locObj.lblDistanceFromTown = { "txt": "Jours de la cité", "loc": "inn tab" }; +locObj.directionFromTown = { "txt": "De la cité", "loc": "inn tab" }; +locObj.directionToTown = { "txt": "Vers la cité", "loc": "inn tab" }; +locObj.goldInHerosPurse = { "txt": "L'or dans le sac du héros", "loc": "inn tab" }; +locObj.lblDirection = { "txt": "Direction: ", "loc": "inn tab" }; +locObj.btnDismissHero = { "txt": "Rejeter le héros", "loc": "inn tab" }; +locObj.btnAutocampaignSendHero = { "txt": "Envoyer le héros à autocampaign", "loc": "inn tab" }; +locObj.btnAutocampaignWithdrawHero = { "txt": "Retirer le héros", "loc": "inn tab" }; +locObj.btnAutocampaignOpenJournal = { "txt": "Journal ouvert", "loc": "inn tab" }; +locObj.btnUseTowngateScroll = { "txt": "Utiliser porte de la cité", "loc": "inn tab" }; +locObj.btnGoToAdvenureMap = { "txt": "Aller à la carte d'aventure", "loc": "inn tab" }; +locObj.btnRegenerateMap = { "txt": "Régénérer la carte", "loc": "inn tab" }; +locObj.msgHeroAdvancedToNextLvl = { "txt": "Votre héros a été promu au niveau suivant!", "loc": "event log?" }; +locObj.dlgHeroStance = { "txt": "Voulez-vous une attitude agressive (récompense plus élevée, risque plus élevé) ou une position de prudence?", "loc": "dialog happens when hero leaving town" }; +locObj.ansHeroAggressiveStance = { "txt": "Agressif! Vouloir du sang et de l'or!", "loc": "One of the options to the locObj.dlgHeroStance question" }; +locObj.ansHeroCautiousStance = { "txt": "Prudent. A quoi bon d'or si votre héros est mort?", "loc": "One of the options to the locObj.dlgHeroStance question" }; +locObj.errHeroHasNoTroops = { "txt": "Vous devez d'abord ajouter des troupes à l'équipe de héros!", "loc": "when trying to send hero outta city with no troops" }; +locObj.errNoHero = { "txt": "Vous avez besoin d'un héros pour faire ça!", "loc": "when trying to invoke hero-related actions with no hero" }; +locObj.msgAfterSellToTrader = { "txt": "C'est un plaisir d'avoir une entreprise avec vous. Je te reverrai", "loc": "not used so far" }; +locObj.msgAfterBuyFromTrader = { "txt": "Félicitations pour votre achat! Vous avez fait le bon choix!", "loc": "not used so far" }; +locObj.artifactTowngateAfterUse = { "txt": "Le héros est juste derrière la ville maintenant!", "loc": "after the artefact was used" }; +locObj.artifactErrNoTowngate = { "txt": "Vous n'avez pas de rouleau Towngate!", "loc": "when trying to use towngate scroll witout having one" }; +locObj.artifactErrWrongDirection = { "txt": "Tout d'abord, dirigez le héros en ville!", "loc": "happens when try to cast towngate and moving from the town" }; +locObj.lblGoodForSale = { "txt": "Le marchand du marché noir propose ces produits à la vente!", "loc": "blackmarket tab, good for sale from the NPC" }; +locObj.lblHeroGoodsFoSale = { "txt": "Le marchand du marché noir pourrait acheter vos biens.", "loc": "blackmarket tab" }; //TODO chech the following three, they aren't in use right now for some reason! -locObj.tabBlackMarketlblPrice = {"txt": "prix ", "loc": "blackmarket tab"}; -locObj.btnBuySelected = {"txt": "Acheter sélectionné", "loc": "blackmarket tab"}; -locObj.btnSellSelected = {"txt": "Vendre sélectionné", "loc": "blackmarket tab"}; -locObj.lblFirebrigade = {"txt": "Le service d'incendie", "loc": "firebrigade tab title"}; -locObj.lblFireServiceStatus = {"txt": "Le service d'incendie est", "loc": "fireservice service label"}; -locObj.onDuty = {"txt": "service", "loc":"a fire service status - enabled"}; -locObj.offDuty = {"txt": "hors service", "loc":"a fire service status - disabled"}; -locObj.lblFirebrigadeUpkeep = {"txt":"Le prix du maintien du service est de", "loc":"firebrigade tab"}; -locObj.fireExtinguishingProgress = {"txt": "%arg1% of fire extinguished", "loc":"firebrigade tab"}; -locObj.heroTroopsUpkeepSource = {"txt": "The primary source of payments to the hero's troops is ", "loc": "inn tab"}; -locObj.noUpkeepSergeantsDismissed = {"txt": "You can't afford upkeep your sergeants. they are dismissed", "loc":"happens in calcTurn if no money for sergeants"}; -locObj.noUpkeepTurkopolsDismissed = {"txt": "You can't afford upkeep your turkopols. they are dismissed", "loc":"happens in calcTurn if no money for turkopols"}; -locObj.noUpkeepKnightsDismissed = {"txt": "You can't afford upkeep your knights. they are dismissed", "loc":"happens in calcTurn if no money for knights"}; -locObj.noUpkeepFirebrigadeDismissed = {"txt": "You can't afford upkeep your fireguard team. they are dismissed", "loc": "happens in calcTurn if no money for firebrigade"}; -locObj.heroTroopsUpkeepSrcHeroPurse = {"txt": "the hero's purse", "loc": "inn tab"}; -locObj.heroTroopsUpkeepSrcTreasury = {"txt": "the treasury", "loc": "inn tab"}; \ No newline at end of file +locObj.tabBlackMarketlblPrice = { "txt": "prix ", "loc": "blackmarket tab" }; +locObj.btnBuySelected = { "txt": "Acheter sélectionné", "loc": "blackmarket tab" }; +locObj.btnSellSelected = { "txt": "Vendre sélectionné", "loc": "blackmarket tab" }; +locObj.lblFirebrigade = { "txt": "Le service d'incendie", "loc": "firebrigade tab title" }; +locObj.lblFireServiceStatus = { "txt": "Le service d'incendie est", "loc": "fireservice service label" }; +locObj.onDuty = { "txt": "service", "loc": "a fire service status - enabled" }; +locObj.offDuty = { "txt": "hors service", "loc": "a fire service status - disabled" }; +locObj.lblFirebrigadeUpkeep = { "txt": "Le prix du maintien du service est de", "loc": "firebrigade tab" }; +locObj.fireExtinguishingProgress = { "txt": "%arg1% of fire extinguished", "loc": "firebrigade tab" }; +locObj.heroTroopsUpkeepSource = { "txt": "The primary source of payments to the hero's troops is ", "loc": "inn tab" }; +locObj.noUpkeepSergeantsDismissed = { "txt": "You can't afford upkeep your sergeants. they are dismissed", "loc": "happens in calcTurn if no money for sergeants" }; +locObj.noUpkeepTurkopolsDismissed = { "txt": "You can't afford upkeep your turkopols. they are dismissed", "loc": "happens in calcTurn if no money for turkopols" }; +locObj.noUpkeepKnightsDismissed = { "txt": "You can't afford upkeep your knights. they are dismissed", "loc": "happens in calcTurn if no money for knights" }; +locObj.noUpkeepFirebrigadeDismissed = { "txt": "You can't afford upkeep your fireguard team. they are dismissed", "loc": "happens in calcTurn if no money for firebrigade" }; +locObj.heroTroopsUpkeepSrcHeroPurse = { "txt": "the hero's purse", "loc": "inn tab" }; +locObj.heroTroopsUpkeepSrcTreasury = { "txt": "the treasury", "loc": "inn tab" }; \ No newline at end of file diff --git a/langs/ru-RU.js b/langs/ru-RU.js index f5ad0f0..02a9691 100644 --- a/langs/ru-RU.js +++ b/langs/ru-RU.js @@ -611,6 +611,7 @@ locObj.festivalLoss = { "txt": "Ваш убыток от фестиваля %arg locObj.errAlreadyHasHero = { "txt": "У вас уже есть герой!", "loc": "happens when trying to hire a hero, when you have one hired" }; locObj.autosaveTurnedOn = { "txt": "Автосохранение включено", "loc": "happens when autosave enabled" }; locObj.autosaveTurnedOff = { "txt": "Автосохранение выключено", "loc": "happens when autosave disabled" }; +locObj.downloadGame = { "txt": "Скачать игру (чтобы играть без Интернета)", "loc": "download game successfully" }; locObj.GallowsFountainChoiceConfirm = { "txt": "Вы собираетесь построить %arg1.\nЕсли вы построите это здание, вы не сможете построить %arg2.\nВы уверены в вашем выборе?", "loc": "happens when you are about to build Fountain or Gallows" }; locObj.GallowsChoiceConfirm = { "txt": "виселицу", "loc": "your choice in GallowsFountainChoiceConfirm dialogue" }; locObj.FountainBlocked = { "txt": "фонтан", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue" }; diff --git a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_de-DE.cy.js b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_de-DE.cy.js index 680b119..607da59 100644 --- a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_de-DE.cy.js +++ b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_de-DE.cy.js @@ -293,9 +293,8 @@ describe('Verification lang', () => { cy.langContentBtn(CITY, 'btnGoldAtEnd', 'paginationCurrent'); }); - // Ожидает рефакторинга кода - it.skip('!!!SKIP!!!Locale ' + LANG + '. Verification button downloadGame', () => { - cy.langContentBtn(CITY, 'downloadGame', 'localeStrings[328]'); + it('Locale ' + LANG + '. Verification button downloadGame', () => { + cy.langContentBtn(CITY, 'downloadGame', 'downloadGame'); }); it('Locale ' + LANG + '. Verification label lblLevelForHireLbl', () => { diff --git a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_en-US.cy.js b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_en-US.cy.js index 61bc6c8..cb1fa6e 100644 --- a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_en-US.cy.js +++ b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_en-US.cy.js @@ -293,9 +293,8 @@ describe('Verification lang', () => { cy.langContentBtn(CITY, 'btnGoldAtEnd', 'paginationCurrent'); }); - // Ожидает рефакторинга кода - it.skip('!!!SKIP!!!Locale ' + LANG + '. Verification button downloadGame', () => { - cy.langContentBtn(CITY, 'downloadGame', 'localeStrings[328]'); + it('Locale ' + LANG + '. Verification button downloadGame', () => { + cy.langContentBtn(CITY, 'downloadGame', 'downloadGame'); }); it('Locale ' + LANG + '. Verification label lblLevelForHireLbl', () => { diff --git a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_eo.cy.js b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_eo.cy.js index c0408b3..b23f6fb 100644 --- a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_eo.cy.js +++ b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_eo.cy.js @@ -293,9 +293,8 @@ describe('Verification lang', () => { cy.langContentBtn(CITY, 'btnGoldAtEnd', 'paginationCurrent'); }); - // Ожидает рефакторинга кода - it.skip('!!!SKIP!!!Locale ' + LANG + '. Verification button downloadGame', () => { - cy.langContentBtn(CITY, 'downloadGame', 'localeStrings[328]'); + it('Locale ' + LANG + '. Verification button downloadGame', () => { + cy.langContentBtn(CITY, 'downloadGame', 'downloadGame'); }); it('Locale ' + LANG + '. Verification label lblLevelForHireLbl', () => { diff --git a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_es-ES.cy.js b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_es-ES.cy.js new file mode 100644 index 0000000..b005f99 --- /dev/null +++ b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_es-ES.cy.js @@ -0,0 +1,319 @@ + +describe('Verification lang', () => { + const LANG = '"es-ES"'; // en-US, ru-RU, de-DE, eo, fr-FR, es-ES + + const CITY = 'tabCity'; + const BUILDING = 'btnOpenTabBuilding'; + const SETTINGS = 'tabSettings'; + const ABOUT = 'tabAbout'; + const DISCORD = 'tabDiscord'; + + beforeEach(() => { + cy.visit('/') + + Cypress.on('uncaught:exception', (err, runnable) => { + return false; + }); + + //close windows canvas + cy.window().then((win) => { + win.eval('document.getElementById("myDCanvas").classList.remove("active-modal")'); + }); + + cy.window().then((win) => { + win.eval('loadLocale(' + LANG + ')'); + }); + }) + + it('Locale ' + LANG + '. Verification welcome text in log', () => { + cy.langLogText('', 'welcome0'); + cy.langLogText('', 'welcome1'); + cy.langLogText('', 'welcome2'); + }) + + it('Locale ' + LANG + '. Verification feature Fire', () => { + cy.get('#log_btn').click(); + + cy.window().then((win) => { + win.eval('game.year=1261'); + }); + + cy.langLogText('game.startFire(autotest=true)', 'fireInCity'); + cy.langContentBtn(CITY, 'buttonPutOutFire', 'btnPutOutTheFire'); + cy.langLogText('game.putOutFireUI()', 'fireEndedByFireservice'); + }); + + it('Locale ' + LANG + '. Verification button buttonDeathPenalty', () => { + cy.langContentBtn(CITY, 'buttonDeathPenalty', 'btnExecutePerson'); + }); + + it('Locale ' + LANG + '. Verification button saveGameButton', () => { + cy.langContentBtn(CITY, 'saveGameButton', 'locSaveGame'); + }); + + it('Locale ' + LANG + '. Verification button loadGameButton', () => { + cy.langContentBtn(CITY, 'loadGameButton', 'locLoadGame'); + }); + + it('Locale ' + LANG + '. Verification button tabCity', () => { + cy.langBtn(CITY, 'tabCity'); + }); + it('Locale ' + LANG + '. Verification button btnOpenTabBuilding', () => { + cy.langBtn(BUILDING, 'tabBuilding'); + }); + + it('Locale ' + LANG + '. Verification button tabSettings', () => { + cy.langBtn(SETTINGS, 'tabSettings'); + }); + + it('Locale ' + LANG + '. Verification button tabAbout', () => { + cy.langBtn(ABOUT, 'tabHowToPlay'); + }); + + it('Locale ' + LANG + '. Verification button tabDiscord', () => { + cy.langBtn(DISCORD, 'tabDiscord'); + }); + + it('Locale ' + LANG + '. Verification button labelSettings', () => { + cy.langContentBtn(SETTINGS, 'labelSettings', 'tabSettings'); + }); + + it('Locale ' + LANG + '. Verification button buttonExportGame', () => { + cy.langContentBtn(SETTINGS, 'buttonExportGame', 'tabSettingsBtnExportGame'); + }); + + it('Locale ' + LANG + '. Verification button buttonImportGame', () => { + cy.langContentBtn(SETTINGS, 'buttonImportGame', 'tabSettingsBtnImportGame'); + }); + + it('Locale ' + LANG + '. Verification label labelAutosave', () => { + cy.langContentBtn(SETTINGS, 'labelAutosave', 'tabSettingsLblAutosave'); + }); + + it('Locale ' + LANG + '. Verification label labelGarrison', () => { + cy.langContentBtn(CITY, 'labelGarrison', 'lblGarrison'); + }); + + it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + cy.langContentBtn(CITY, 'buttonFireGuard', 'btnFire'); + }); + + it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + cy.langContentBtn(CITY, 'buttonHireGuard', 'btnHire'); + }); + + // ожидает рефакторинга кода + it.skip('!!!SKIP!!! Locale ' + LANG + '. Verification label lblAboutGame', () => { + let text; + cy.get('#' + ABOUT).click(); + + cy.window().then((win1) => { + text = win1.eval('locObj.tabHowToPlayText');//.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll)'); + cy.get('#lblAboutGame').should('text',text); + }); + + }); + + it('Locale ' + LANG + '. Verification label lblTabGold', () => { + cy.langContentBtn(CITY, 'lblTabGold', 'tabGoldHistory'); + }); + + it('Locale ' + LANG + '. Verification label lblTabPop', () => { + cy.langContentBtn(CITY, 'lblTabPop', 'tabPopHistory'); + }); + + it('Locale ' + LANG + '. Verification label lblTabInn', () => { + cy.langContentBtn(CITY, 'lblTabInn', 'tabInnWelcome'); + }); + + it('Locale ' + LANG + '. Verification label lblUpkeepSrc', () => { + cy.langContentBtn(SETTINGS, 'lblUpkeepSrc', 'heroTroopsUpkeepSource'); + }); + + it('Locale ' + LANG + '. Verification label btnColorMode', () => { + cy.langContentBtn(SETTINGS, 'btnColorMode', 'tabSettingsBtnChangeColorMode'); + }); + + it('Locale ' + LANG + '. label selectUpkeepSrc[0]', () => { + cy.langListElement(CITY, 'selectUpkeepSrc',0, 'heroTroopsUpkeepSrcHeroPurse'); + }); + + it('Locale ' + LANG + '. label selectUpkeepSrc[1]', () => { + cy.langListElement(CITY, 'selectUpkeepSrc',1, 'heroTroopsUpkeepSrcTreasury'); + }); + + it('Locale ' + LANG + '. Verification button btnDismissHero', () => { + cy.langContentBtn(CITY, 'btnDismissHero', 'btnDismissHero'); + }); + + it('Locale ' + LANG + '. Verification button btnAutocampaignJournal', () => { + cy.langContentBtn(CITY, 'btnAutocampaignJournal', 'btnAutocampaignOpenJournal'); + }); + + it('Locale ' + LANG + '. Verification button btnTowngate', () => { + cy.langContentBtn(CITY, 'btnTowngate', 'btnUseTowngateScroll'); + }); + + it('Locale ' + LANG + '. Verification button btnLeaveCity', () => { + cy.langContentBtn(CITY, 'btnLeaveCity', 'btnGoToAdvenureMap'); + }); + it('Locale ' + LANG + '. Verification button btnGenerateMap', () => { + cy.langContentBtn(CITY, 'btnGenerateMap', 'btnRegenerateMap'); + }); + + it('Locale ' + LANG + '. Verification button btnAutobattlesList', () => { + cy.langContentBtn(CITY, 'btnAutobattlesList', 'autobattle_journal_btn'); + }); + + it('Locale ' + LANG + '. Verification label lblOption', () => { + cy.langContentBtn(SETTINGS, 'lblOption', 'tabSoundSettingsLblOption'); + }); + + it('Locale ' + LANG + '. Verification label lblOn', () => { + cy.langContentBtn(SETTINGS, 'lblOn', 'on'); + }); + + it('Locale ' + LANG + '. Verification label lblOff', () => { + cy.langContentBtn(SETTINGS, 'lblOff', 'off'); + }); + + it('Locale ' + LANG + '. Verification label lblSfxAll', () => { + cy.langContentBtn(SETTINGS, 'lblSfxAll', 'tabSoundSettingsLblAllSoundEffects'); + }); + + it('Locale ' + LANG + '. Verification label lblSfxEvt', () => { + cy.langContentBtn(SETTINGS, 'lblSfxEvt', 'tabSoundSettingsLblAllEventsEffects'); + }); + + it('Locale ' + LANG + '. Verification label lblSfxEvtAR', () => { + cy.langContentBtn(SETTINGS, 'lblSfxEvtAR', 'tabSoundSettingsLblEffectsAR'); + }); + + it('Locale ' + LANG + '. Verification label lblMscAll', () => { + cy.langContentBtn(SETTINGS, 'lblMscAll', 'tabSoundSettingsAllMusic'); + }); + + it('Locale ' + LANG + '. Verification label lblMscScr', () => { + cy.langContentBtn(SETTINGS, 'lblMscScr', 'tabSoundSettingsScMusic'); + }); + + it('Locale ' + LANG + '. Verification button btnToGeneralSettings', () => { + cy.langContentBtn(CITY, 'btnToGeneralSettings', 'btnBack'); + }); + + it('Locale ' + LANG + '. Verification button btnToInn', () => { + cy.langContentBtn(CITY, 'btnToInn', 'btnBack'); + }); + + it('Locale ' + LANG + '. Verification button btnToInn1', () => { + cy.langContentBtn(CITY, 'btnToInn1', 'btnBack'); + }); + + it('Locale ' + LANG + '. Verification label lblSoundMenu', () => { + cy.langContentBtn(SETTINGS, 'lblSoundMenu', 'lblSoundMenu'); + }); + + it('Locale ' + LANG + '. Verification button btnSoundSettings', () => { + cy.langContentBtn(CITY, 'btnSoundSettings', 'tabSettingsBtnOpenSoundSettings'); + }); + + it('Locale ' + LANG + '. Verification label lblStnMobileUI', () => { + cy.langContentBtn(SETTINGS, 'lblStnMobileUI', 'tabSettingsLblMobileUI'); + }); + + it('Locale ' + LANG + '. Verification label lblStnEventLogSize', () => { + cy.langContentBtn(SETTINGS, 'lblStnEventLogSize', 'tabSettingsLblLogSize'); + }); + + it('Locale ' + LANG + '. Verification label lblStnLines', () => { + cy.langContentBtn(SETTINGS, 'lblStnLines', 'tabSettingsLblLines'); + }); + + it('Locale ' + LANG + '. Verification label lblGoodsForSale', () => { + cy.langContentBtn(SETTINGS, 'lblGoodsForSale', 'lblGoodForSale'); + }); + + it('Locale ' + LANG + '. Verification label lblGoodsForBuying', () => { + cy.langContentBtn(SETTINGS, 'lblGoodsForBuying', 'lblHeroGoodsFoSale'); + }); + + it('Locale ' + LANG + '. Verification button btnLeaveBlackmarket', () => { + cy.langContentBtn(CITY, 'btnLeaveBlackmarket', 'btnGoToAdvenureMap'); + }); + + it('Locale ' + LANG + '. Verification label lblFirebrigade', () => { + cy.langContentBtn(SETTINGS, 'lblFirebrigade', 'lblFirebrigade'); + }); + + it('Locale ' + LANG + '. Verification label lblFBOption', () => { + cy.langContentBtn(SETTINGS, 'lblFBOption', 'lblFireServiceStatus'); + }); + + it('Locale ' + LANG + '. Verification label lblFBOn', () => { + cy.langContentBtn(SETTINGS, 'lblFBOn', 'onDuty'); + }); + + it('Locale ' + LANG + '. Verification label lblFBOff', () => { + cy.langContentBtn(SETTINGS, 'lblFBOff', 'offDuty'); + }); + + it('Locale ' + LANG + '. Verification label lblFBUpKeepPrice', () => { + cy.langContentBtn(SETTINGS, 'lblFBUpKeepPrice', 'lblFirebrigadeUpkeep'); + }); + + it('Locale ' + LANG + '. Verification button btnPopAtStart', () => { + cy.langContentBtn(CITY, 'btnPopAtStart', 'paginationStart'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldAtStart', () => { + cy.langContentBtn(CITY, 'btnGoldAtStart', 'paginationStart'); + }); + + it('Locale ' + LANG + '. Verification button btnPopPrev', () => { + cy.langContentBtn(CITY, 'btnPopPrev', 'paginationPrevious'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldPrev', () => { + cy.langContentBtn(CITY, 'btnGoldPrev', 'paginationPrevious'); + }); + + it('Locale ' + LANG + '. Verification button btnPopNext', () => { + cy.langContentBtn(CITY, 'btnPopNext', 'paginationNext'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldNext', () => { + cy.langContentBtn(CITY, 'btnGoldNext', 'paginationNext'); + }); + + it('Locale ' + LANG + '. Verification button btnPopAtEnd', () => { + cy.langContentBtn(CITY, 'btnPopAtEnd', 'paginationCurrent'); + }); + + it('Locale ' + LANG + '. Verification button btnGoldAtEnd', () => { + cy.langContentBtn(CITY, 'btnGoldAtEnd', 'paginationCurrent'); + }); + + it('Locale ' + LANG + '. Verification button downloadGame', () => { + cy.langContentBtn(CITY, 'downloadGame', 'downloadGame'); + }); + + it('Locale ' + LANG + '. Verification label lblLevelForHireLbl', () => { + cy.langContentBtn(SETTINGS, 'lblLevelForHireLbl', 'heroLvlLbl'); + }); + + it('Locale ' + LANG + '. Verification button spnServerStatusLabel', () => { + cy.langContentBtn(CITY, 'spnServerStatusLabel', 'serverStatusSpn'); + }); + + it('Locale ' + LANG + '. Verification button spnServerStatusValue', () => { + cy.langContentBtn(CITY, 'spnServerStatusValue', 'serverStatusND'); + }); + + it('Locale ' + LANG + '. Verification button spnOnline', () => { + cy.langContentBtn(CITY, 'spnOnline', 'online'); + }); + + it('Locale ' + LANG + '. Verification button spnOnlineValue', () => { + cy.langContentBtn(CITY, 'spnOnlineValue', 'onlineValueND'); + }); +}) \ No newline at end of file diff --git a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_fr-FR.cy.js b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_fr-FR.cy.js index d72b701..959478f 100644 --- a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_fr-FR.cy.js +++ b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_fr-FR.cy.js @@ -293,9 +293,8 @@ describe('Verification lang', () => { cy.langContentBtn(CITY, 'btnGoldAtEnd', 'paginationCurrent'); }); - // Ожидает рефакторинга кода - it.skip('!!!SKIP!!!Locale ' + LANG + '. Verification button downloadGame', () => { - cy.langContentBtn(CITY, 'downloadGame', 'localeStrings[328]'); + it('Locale ' + LANG + '. Verification button downloadGame', () => { + cy.langContentBtn(CITY, 'downloadGame', 'downloadGame'); }); it('Locale ' + LANG + '. Verification label lblLevelForHireLbl', () => { diff --git a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_ru-RU.cy.js b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_ru-RU.cy.js index fdde027..d063b07 100644 --- a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_ru-RU.cy.js +++ b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_ru-RU.cy.js @@ -293,9 +293,8 @@ describe('Verification lang', () => { cy.langContentBtn(CITY, 'btnGoldAtEnd', 'paginationCurrent'); }); - // Ожидает рефакторинга кода - it.skip('!!!SKIP!!!Locale ' + LANG + '. Verification button downloadGame', () => { - cy.langContentBtn(CITY, 'downloadGame', 'localeStrings[328]'); + it('Locale ' + LANG + '. Verification button downloadGame', () => { + cy.langContentBtn(CITY, 'downloadGame', 'downloadGame'); }); it('Locale ' + LANG + '. Verification label lblLevelForHireLbl', () => { From 5a97a8118b2c6d6894e008efd86e3081874dcee0 Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Sun, 26 Mar 2023 04:18:11 +0300 Subject: [PATCH 62/86] buying is somewhat working WIP --- js/game.js | 13 ++-- js/tab_blackmarket_new.js | 142 +++++++++++++++++++++++++++++++++----- 2 files changed, 130 insertions(+), 25 deletions(-) diff --git a/js/game.js b/js/game.js index 23bde47..8db5652 100644 --- a/js/game.js +++ b/js/game.js @@ -388,7 +388,7 @@ function gameOK() { genBlackMarketGoods : function () { // Just simple goods generation for now. Only two artefacts per adventure map. game.blackMarketGoods = []; - clearTraderUI(); + //clearTraderUI(); var rnd = randomFromRange(11, 16); // if (rnd.toString().length < 2) { // rnd = "0" + rnd; @@ -396,6 +396,7 @@ function gameOK() { var id = "artid" + rnd; game.blackMarketGoods.push('artid00'); game.blackMarketGoods.push(id); + populateBlackMarketGoods(); //addItem('blackMarketGoods', artefacts['artid00']); //addItem('blackMarketGoods', artefacts[id]); // var artefactIds = ['artid00']; // Always set artid00 as default market item. Not used for now. @@ -3955,10 +3956,7 @@ function setTutorialAfterSaveRestore(gameTemp) { } } } - for (let iterator in tmpHero["inventory"]) { - let itemToAdd = tmpHero["inventory"][iterator] - createElementUI(itemToAdd, 'tabBlackMarketHeroGoods'); - } + populateHeroGoods(); while (game.myhero.inventory.length>game.myhero.inventoryWorn.length){ game.myhero.inventoryWorn.push(0); } @@ -3975,10 +3973,7 @@ function setTutorialAfterSaveRestore(gameTemp) { if (game.myhero.status === HERO_STATUS.AUTOCAMPAIGN || game.myhero.status === HERO_STATUS.ADVENTURE_MAP){ createJournalAccordion() } - for (let iterator in game.blackMarketGoods) { - let itemToAdd = game["blackMarketGoods"][iterator]; - createElementUI(itemToAdd, 'tabBlackMarketTraderGoods'); - } + populateBlackMarketGoods(); setupMobileUI(); if (typeof setupFirebrigadeUI === "function") { setupFirebrigadeUI() }; if (typeof setupAudioUI === "function") { setupAudioUI() }; diff --git a/js/tab_blackmarket_new.js b/js/tab_blackmarket_new.js index feac92d..7012fbe 100644 --- a/js/tab_blackmarket_new.js +++ b/js/tab_blackmarket_new.js @@ -4,6 +4,22 @@ function uuidv4() { return v.toString(16); }); } +function populateBlackMarketGoods() { + clearTraderUI(); + for (let iterator in game.blackMarketGoods) { + let itemToAdd = game["blackMarketGoods"][iterator]; + createElementUI(itemToAdd, 'tabBlackMarketTraderGoods'); + } +} +function populateHeroGoods(){ + clearHeroGoodsUI(); + if (game.heroExists()){ + for (let iterator in tmpHero["inventory"]) { + let itemToAdd = tmpHero["inventory"][iterator] + createElementUI(itemToAdd, 'tabBlackMarketHeroGoods'); + } + } +} function get_artefact_localization(object_id, property){ if (artefacts[object_id][property][language]===undefined) { return artefacts[object_id][property]["default"]; @@ -11,17 +27,43 @@ function get_artefact_localization(object_id, property){ return artefacts[object_id][property][language]; } } -function buy(tem_for_buying){ -console.log(item_for_buying) - // TODO: #SwordsRestriction remove it later - if ((item.id === 'artid15' || item.id === 'artid16') && swordsCount === 2) { - showModal(0, '', getAck, locObj.swordsWarn.txt, locObj.okay.txt, ''); - return; - } - if ((item.id === 'artid17' || item.id === 'artid18') && ringsCount === 2) { - showModal(0, '', getAck, locObj.ringsWarn.txt, locObj.okay.txt, ''); - return; - } +function clearTraderUI() { + document.getElementById('tabBlackMarketTraderGoods').innerHTML = ''; +} +function clearHeroGoodsUI() { + document.getElementById('tabBlackMarketHeroGoods').innerHTML = ''; +} +function buy(item_for_buying){ + //console.log("buy ", item_for_buying); + let data = item_for_buying.split(";"); + let uid = data[0]; + let id = data[1]; + console.log(uid, id); + item = artefacts[id]; + // TODO: #SwordsRestriction remove it later + if ((item.id === 'artid15' || item.id === 'artid16') && swordsCount === 2) { + showModal(0, '', getAck, locObj.swordsWarn.txt, locObj.okay.txt, ''); + return; + } + if ((item.id === 'artid17' || item.id === 'artid18') && ringsCount === 2) { + showModal(0, '', getAck, locObj.ringsWarn.txt, locObj.okay.txt, ''); + return; + } + if (game.gold >= item.priceBuy) { + game.gold -= item.priceBuy; + game.myhero.inventory.push(id); + if (id! == "artid00") { + let theIndex = game.blackMarketGoods.indexOf(id); + game.blackMarketGoods = deleteFromArray(game.blackMarketGoods, theIndex); + populateBlackMarketGoods(); + } + createElementUI(id, "tabBlackMarketHeroGoods"); + equipItem(item.uid); + } +} + /*; + + console.log("item for sale from trader is ", item); if (game.gold >= item.priceBuy) { game.gold -= item.priceBuy; @@ -36,7 +78,8 @@ console.log(item_for_buying) postEventLog(locObj.notEnoughGold.txt, 'bold'); return } -} + */ + function sell(){ var testCost = game.gold + item.priceBuy; if (testCost >= game.goldLimit()) { @@ -75,10 +118,10 @@ function createElementUI(item_ref, targetListId) { if (targetListId === "tabBlackMarketTraderGoods") { actionBtnElement.innerText = locObj.buy.txt; - actionBtnElement.id = item.uid; + actionBtnElement.id = item.uid+";"+id; actionBtnElement.onclick = function (e) { - console.log(e.target.id) - buy(this); + item = e.target.id; + buy(item); } priceElement.innerText = item.priceBuy; } @@ -86,7 +129,7 @@ function createElementUI(item_ref, targetListId) { actionBtnElement.innerText = locObj.sell.txt; console.log(locObj.sell.txt) actionBtnElement.onclick = function (e) { - sell(this); + sell(e.target.id); } priceElement.innerText = item.priceBuy/2; } @@ -110,4 +153,71 @@ function createElementUI(item_ref, targetListId) { wrapperElement.classList.add("inventory-item"); wrapperElement.setAttribute("data-uid", item.uid); parent.appendChild(wrapperElement); +} + +var swordsCount = 0; // TODO: #SwordsRestriction Counter will be removed after hero inventory system rework. For now dummy fix. +var ringsCount = 0; // TODO: Same as swords. For now... + +function equipItem(itemUID) { + var inventoryItem = game.myhero.inventory.find(function (item) { + return item.uid === itemUID; + }); + + var equipedItem = game.myhero.inventoryWorn.find(function (item) { + return item.uid === itemUID; + }); + + if (inventoryItem && !equipedItem) { + var newItem = JSON.parse(JSON.stringify(inventoryItem)); + // TODO: #SwordsRestriction remove it later + if (newItem.id === 'artid15' || newItem.id === 'artid16') { + swordsCount++; + } + + if (newItem.id === 'artid17' || newItem.id === 'artid18') { + ringsCount++; + } + + game.myhero.inventoryWorn.push(newItem); + recalcStats(newItem.attr); + updateHeroStatus(); + } + +} + +function recalcStats(itemStats) { + if (itemStats.length) { + var substr = 'unit_'; + var substrLength = substr.length; + for (var i = 0; i < itemStats.length; i++) { + if (itemStats[i].name.includes(substr)) { + var unitParam = itemStats[i].name.substring(substrLength); + switch(itemStats[i].type) { + case BONUS_VALUE_TYPES.INTEGER: { + for (var key in game.myheroArmy.units) { + game.myheroArmy.units[key][unitParam] += itemStats[i].val; + } + } break; + case BONUS_VALUE_TYPES.PERCENT: { + for (var key in game.myheroArmy.units) { + game.myheroArmy.units[key][unitParam] = Math.round(game.myheroArmy.units[key][unitParam] * itemStats[i].val); + } + } break; + default: throw new Error('Unknown stat type. Unable to assign value to ' + itemStats[i].name + '. Correct types is: "' + BONUS_VALUE_TYPES.INTEGER + '" or "' + BONUS_VALUE_TYPES.PERCENT + '"'); + } + } + + if (game.myhero && game.myhero[itemStats[i].name]) { + switch(itemStats[i].type) { + case BONUS_VALUE_TYPES.INTEGER: + game.myhero[itemStats[i].name] += itemStats[i].val; + break; + case BONUS_VALUE_TYPES.PERCENT: + game.myhero[itemStats[i].name] = Math.round(game.myhero[itemStats[i].name] * itemStats[i].val); + break; + default: throw new Error('Unknown stat type. Unable to assign value to ' + itemStats[i].name + '. Correct types is: "' + BONUS_VALUE_TYPES.INTEGER + '" or "' + BONUS_VALUE_TYPES.PERCENT + '"'); + } + } + } + } } \ No newline at end of file From f81f7f4b17980aad522771a29843aa3a83cb69f9 Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Sun, 26 Mar 2023 23:06:46 +0300 Subject: [PATCH 63/86] buying almost done; WIP recalc stats --- css/game.css | 4 +- js/config.js | 1 + js/game.js | 9 +++ js/objects_artifacts.js | 45 +++++++++++++- js/tab_blackmarket_new.js | 127 ++++++++++++++++---------------------- 5 files changed, 109 insertions(+), 77 deletions(-) diff --git a/css/game.css b/css/game.css index 59d14ef..ed31631 100644 --- a/css/game.css +++ b/css/game.css @@ -336,8 +336,8 @@ body { align-self: center; } -#marketList, -#heroMarketList { +#tabBlackMarketTraderGoods, +#tabBlackMarketHeroGoods { overflow-y: auto; height: 100%; max-height: 175px; diff --git a/js/config.js b/js/config.js index 117db2f..e27c225 100644 --- a/js/config.js +++ b/js/config.js @@ -71,4 +71,5 @@ var config = { theme: "winter", artilleryResearchCost: 200, popIncRate: 2, + miscSlots: 5, }; \ No newline at end of file diff --git a/js/game.js b/js/game.js index 8db5652..d76efde 100644 --- a/js/game.js +++ b/js/game.js @@ -141,6 +141,15 @@ function gameOK() { techEnabled: [], techDisabled: [], techArtillery: 0, + slots: {misc: 5, + ring: 2, + necklace: 1, + rightHand: 1, + leftHand: 1, + head: 1, + body: 1, + shoulder: 1, + feet: 1}, role: "player", isTutorialState: true, changeUpkeepSrc : function () { diff --git a/js/objects_artifacts.js b/js/objects_artifacts.js index 3f704c8..a160247 100644 --- a/js/objects_artifacts.js +++ b/js/objects_artifacts.js @@ -21,6 +21,7 @@ var artefacts = { }, attr: [], change: [], + slots: [], priceBuy: 500, chance: 1, type: "scrolls", @@ -39,6 +40,7 @@ var artefacts = { }, attr: ["luck","superstition"], change: [1,1], + slots: ["misc"], priceBuy: 1500000, chance: 1, type: "artefactsWorn", @@ -58,6 +60,7 @@ var artefacts = { }, attr: ["moral"], change: [1], + slots: ["misc"], priceBuy: 1500000, chance: 1, type: "artefactsWorn", @@ -77,6 +80,7 @@ var artefacts = { }, attr: ["moral"], change: [1], + slots: ["misc"], priceBuy: 1500000, chance: 1, type: "artefactsWorn", @@ -96,6 +100,7 @@ var artefacts = { }, attr: ["moral"], change: [1], + slots: ["misc"], priceBuy: 1500000, chance: 1, type: "artefactsWorn", @@ -115,6 +120,7 @@ var artefacts = { }, attr: ["moral"], change: [1], + slots: ["misc"], priceBuy: 1500000, chance: 1, type: "artefactsWorn", @@ -134,6 +140,7 @@ var artefacts = { }, attr: ["luck","superstition"], change: [1,1], + slots: ["misc"], priceBuy: 1500000, chance: 1, type: "artefactsWorn", @@ -153,6 +160,7 @@ var artefacts = { }, attr: ["luck","superstition"], change: [1,1], + slots: ["misc"], priceBuy: 1500000, chance: 1, type: "artefactsWorn", @@ -172,6 +180,7 @@ var artefacts = { }, attr: ["luck","superstition"], change: [1,1], + slots: ["misc"], priceBuy: 1500000, chance: 1, type: "artefactsWorn", @@ -191,6 +200,7 @@ var artefacts = { }, attr: ["luck","superstition"], change: [0,0], + slots: ["misc"], priceBuy: 1500000, chance: 1, type: "artefactsWorn", @@ -211,6 +221,7 @@ var artefacts = { comment: "may be do this as chance item? 70% of chance?", attr: [], change: [], + slots: ["misc"], priceBuy: 5000000, chance: 1, type: "artefactsWorn", @@ -234,6 +245,7 @@ var artefacts = { { name: "def", type: BONUS_VALUE_TYPES.INTEGER, val: 6 } ], change: [], + slots: ["misc"], priceBuy: 5000000, chance: 1, type: "artefactsWorn", @@ -257,6 +269,7 @@ var artefacts = { { name: "def", type: BONUS_VALUE_TYPES.INTEGER, val: 12 } ], change: [], + slots: ["misc"], priceBuy: 5000000, chance: 1, type: "artefactsWorn", @@ -277,6 +290,7 @@ var artefacts = { }, attr: [{name: "gold", type: BONUS_VALUE_TYPES.PERCENT, val: 1.07}], change: [], + slots: ["misc"], priceBuy: 5000000, chance: 1, type: "artefactsWorn", @@ -297,6 +311,7 @@ var artefacts = { }, attr: [{ name: "unit_health", type: BONUS_VALUE_TYPES.INTEGER, val: 3 }], change: [], + slots: ["misc"], priceBuy: 1000000, chance: 1, type: "artefactsWorn", @@ -320,6 +335,7 @@ var artefacts = { { name: "unit_health", type: BONUS_VALUE_TYPES.PERCENT, val: (1 - 0.35) }, ], change: [], + slots: ["rightHand"], priceBuy: 7000000, chance: 1, type: "artefactsWorn", @@ -342,6 +358,7 @@ var artefacts = { { name: "unit_attack", type: BONUS_VALUE_TYPES.PERCENT, val: 1.2 }, ], change: [], + slots: ["rightHand"], priceBuy: 7000000, chance: 1, type: "artefactsWorn", @@ -365,6 +382,7 @@ var artefacts = { { name: "unit_attack", type: BONUS_VALUE_TYPES.PERCENT, val: 1.1 }, ], change: [], + slots: ["ring"], priceBuy: 3000000, chance: 1, type: "artefactsWorn", @@ -388,11 +406,36 @@ var artefacts = { { name: "unit_defence", type: BONUS_VALUE_TYPES.PERCENT, val: 1.1 }, ], change: [], + slots: ["ring"], priceBuy: 3000000, chance: 1, type: "artefactsWorn", artefactsWorn: 1 - } + }, + artid19: { + id: "artid16", + img: "two_handed_sword_zweihander.png", + name: { + "default": "Two handed Landsknecht sword", + "en-US": "Two handed Landsknecht sword", + "ru-RU": "Двуручный меч лэндснехта", + }, + desc: { + "default": "Increases attack of the hero by 20, reduces defense by 10", + "en-US": "Increases attack of the hero by 20, reduces defense by 10", + "ru-RU": "Увеличивает атаку героя на 20, уменьшает защиту на 10", + }, + attr: [ + { name: "atk", type: BONUS_VALUE_TYPES.INTEGER, val: 20 }, + { name: "def", type: BONUS_VALUE_TYPES.INTEGER, val: -10 } + ], + change: [], + slots: ["rightHand","leftHand"], + priceBuy: 7000000, + chance: 1, + type: "artefactsWorn", + artefactsWorn: 1 + }, }; Object.freeze(artefacts); diff --git a/js/tab_blackmarket_new.js b/js/tab_blackmarket_new.js index 7012fbe..b88103f 100644 --- a/js/tab_blackmarket_new.js +++ b/js/tab_blackmarket_new.js @@ -38,63 +38,72 @@ function buy(item_for_buying){ let data = item_for_buying.split(";"); let uid = data[0]; let id = data[1]; - console.log(uid, id); - item = artefacts[id]; - // TODO: #SwordsRestriction remove it later - if ((item.id === 'artid15' || item.id === 'artid16') && swordsCount === 2) { - showModal(0, '', getAck, locObj.swordsWarn.txt, locObj.okay.txt, ''); - return; - } - if ((item.id === 'artid17' || item.id === 'artid18') && ringsCount === 2) { - showModal(0, '', getAck, locObj.ringsWarn.txt, locObj.okay.txt, ''); - return; - } + let item = artefacts[id]; if (game.gold >= item.priceBuy) { game.gold -= item.priceBuy; game.myhero.inventory.push(id); - if (id! == "artid00") { + if (id !== "artid00") { let theIndex = game.blackMarketGoods.indexOf(id); game.blackMarketGoods = deleteFromArray(game.blackMarketGoods, theIndex); populateBlackMarketGoods(); + equipItem_new(item); } createElementUI(id, "tabBlackMarketHeroGoods"); - equipItem(item.uid); } } - /*; - - console.log("item for sale from trader is ", item); - if (game.gold >= item.priceBuy) { - game.gold -= item.priceBuy; - addItem("hero", item); - updateUI(); - if (targetListId === "marketList" && id === "artid00") { - return - } - removeItem("trader", item); - equipItem(item.uid); - } else { - postEventLog(locObj.notEnoughGold.txt, 'bold'); - return - } - */ +function isFreeSlot(item){ + let require_slots = item.slots; + let slots_qty = item.slots.length + let isSatisfied = true; + if (require_slots[0] !== "misc") { + for (let iterator in game.myhero.inventoryWorn){ + let worn_artefact_ref = game.myhero.inventoryWorn[iterator]; + let worn_artefact = artefacts[worn_artefact_ref]; + if (require_slots === worn_artefact.slots) { + isSatisfied = false; + return isSatisfied; + } + if (slots_qty > 1){ + for (let slot_rqt_iterator in require_slots) { + if (require_slots[slot_rqt_iterator] === worn_artefact.slots) { + isSatisfied = false; + return isSatisfied; + } + } + } + } + } + if (require_slots[0] === "misc") { + misc_worn = 0; + for (let iterator in game.myhero.inventoryWorn){ + let worn_artefact_ref = game.myhero.inventoryWorn[iterator]; + let worn_artefact = artefacts[worn_artefact_ref]; + if (worn_artefact.slots[0] === "misc") { + misc_worn += 1; + } + } + if (misc_worn >= config.miscSlots) { + isSatisfied = false; + } + } + return isSatisfied; +} +function equipItem_new(item){ + console.log(item) + console.log("equipt item") + //console.log(isFreeSlot(item)) + if (!isFreeSlot(item)) { + return; + } + console.log("try to worn") + game.myhero.inventoryWorn.push(item.id); + //recalcStats(newItem.attr); + //updateHeroStatus(); +} function sell(){ -var testCost = game.gold + item.priceBuy; - if (testCost >= game.goldLimit()) { - postEventLog("You reached gold limit!"); - return - } - console.log("the item for sale ", item); - game.gold += item.priceBuy; - if (item.id !== "artid00") { - item.priceBuy *= 2; - addItem("trader", item); - } - updateUI(); - removeItem("hero", item); - unequipItem(item.uid); + } function createElementUI(item_ref, targetListId) { //get item @@ -155,36 +164,6 @@ function createElementUI(item_ref, targetListId) { parent.appendChild(wrapperElement); } -var swordsCount = 0; // TODO: #SwordsRestriction Counter will be removed after hero inventory system rework. For now dummy fix. -var ringsCount = 0; // TODO: Same as swords. For now... - -function equipItem(itemUID) { - var inventoryItem = game.myhero.inventory.find(function (item) { - return item.uid === itemUID; - }); - - var equipedItem = game.myhero.inventoryWorn.find(function (item) { - return item.uid === itemUID; - }); - - if (inventoryItem && !equipedItem) { - var newItem = JSON.parse(JSON.stringify(inventoryItem)); - // TODO: #SwordsRestriction remove it later - if (newItem.id === 'artid15' || newItem.id === 'artid16') { - swordsCount++; - } - - if (newItem.id === 'artid17' || newItem.id === 'artid18') { - ringsCount++; - } - - game.myhero.inventoryWorn.push(newItem); - recalcStats(newItem.attr); - updateHeroStatus(); - } - -} - function recalcStats(itemStats) { if (itemStats.length) { var substr = 'unit_'; From 06d006afca9dfe647f2ed8dc12247b171516d221 Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Sun, 26 Mar 2023 23:20:38 +0300 Subject: [PATCH 64/86] copypaste error fix --- js/objects_artifacts.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/objects_artifacts.js b/js/objects_artifacts.js index a160247..e5fe07f 100644 --- a/js/objects_artifacts.js +++ b/js/objects_artifacts.js @@ -413,7 +413,7 @@ var artefacts = { artefactsWorn: 1 }, artid19: { - id: "artid16", + id: "artid19", img: "two_handed_sword_zweihander.png", name: { "default": "Two handed Landsknecht sword", From 9d40059972ab28fb6db1dfb77003c99e935f81ed Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Sun, 26 Mar 2023 23:49:09 +0300 Subject: [PATCH 65/86] moved from the game scope sound settings DOM work --- index.html | 20 +++++++-------- js/game.js | 55 ---------------------------------------- js/tab_sound_settings.js | 55 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 65 insertions(+), 65 deletions(-) diff --git a/index.html b/index.html index 65bce90..05be149 100644 --- a/index.html +++ b/index.html @@ -145,12 +145,12 @@

Settings

name="sfx" id="sfx_on" value="on" - onchange="game.setupAudio('sfx','all',1)"> + onchange="setupAudio('sfx','all',1)"> @@ -159,12 +159,12 @@

Settings

name="sfx_events" id="sfx_events_on" value="on" - onchange="game.setupAudio('sfx','events',1)"> + onchange="setupAudio('sfx','events',1)"> @@ -173,12 +173,12 @@

Settings

name="sfx_actions" id="sfx_actions_on" value="on" - onchange="game.setupAudio('sfx','actions',1)"> + onchange="setupAudio('sfx','actions',1)"> @@ -192,12 +192,12 @@

Settings

name="music_all" id="music_on" value="on" - onchange="game.setupAudio('music','all',1)"> + onchange="setupAudio('music','all',1)"> @@ -205,13 +205,13 @@

Settings

diff --git a/js/game.js b/js/game.js index d76efde..aa0ef36 100644 --- a/js/game.js +++ b/js/game.js @@ -339,61 +339,6 @@ function gameOK() { } } }, - setupAudio : function (typeAudio, target, dvalue) { - if (typeAudio==='sfx') { - if (target==='all') { - if (dvalue===1) { - game.sfx_all = 1; - game.sfx_events = 1; - game.sfx_actions = 1; - } - if (dvalue===0) { - game.sfx_all = 0; - } - } - if (target==='events') { - if (dvalue===1) { - game.sfx_events = 1; - game.sfx_actions = 1; - } - if (dvalue===0) { - game.sfx_all = 0; - game.sfx_events = 0; - } - } - if (target==='actions') { - if (dvalue===1) { - game.sfx_actions = 1; - } - if (dvalue===0) { - game.sfx_all = 0; - game.sfx_events = 0; - game.sfx_actions = 0; - } - } - } - if (typeAudio==='music') { - if (target==='all') { - if (dvalue===1) { - game.music_all = 1; - game.music_scripts = 1; - } - if (dvalue===0) { - game.music_all = 0; - } - } - if (target==='scripts') { - if (dvalue===1) { - game.music_scripts = 1; - } - if (dvalue===0) { - game.music_all = 0; - game.music_scripts = 0; - } - } - } - setupAudioUI(); - }, genBlackMarketGoods : function () { // Just simple goods generation for now. Only two artefacts per adventure map. game.blackMarketGoods = []; diff --git a/js/tab_sound_settings.js b/js/tab_sound_settings.js index 58d4134..e88fcea 100644 --- a/js/tab_sound_settings.js +++ b/js/tab_sound_settings.js @@ -1,3 +1,58 @@ +function setupAudio(typeAudio, target, dvalue) { + if (typeAudio==='sfx') { + if (target==='all') { + if (dvalue===1) { + game.sfx_all = 1; + game.sfx_events = 1; + game.sfx_actions = 1; + } + if (dvalue===0) { + game.sfx_all = 0; + } + } + if (target==='events') { + if (dvalue===1) { + game.sfx_events = 1; + game.sfx_actions = 1; + } + if (dvalue===0) { + game.sfx_all = 0; + game.sfx_events = 0; + } + } + if (target==='actions') { + if (dvalue===1) { + game.sfx_actions = 1; + } + if (dvalue===0) { + game.sfx_all = 0; + game.sfx_events = 0; + game.sfx_actions = 0; + } + } + } + if (typeAudio==='music') { + if (target==='all') { + if (dvalue===1) { + game.music_all = 1; + game.music_scripts = 1; + } + if (dvalue===0) { + game.music_all = 0; + } + } + if (target==='scripts') { + if (dvalue===1) { + game.music_scripts = 1; + } + if (dvalue===0) { + game.music_all = 0; + game.music_scripts = 0; + } + } + } + setupAudioUI(); +} function setupAudioUI() { if (game.sfx_all===1){ document.getElementById("sfx_on").checked = true; From b61319c04e6f70a39a95435b950fd638f2e7b1f8 Mon Sep 17 00:00:00 2001 From: aablatov Date: Mon, 27 Mar 2023 01:57:19 +0300 Subject: [PATCH 66/86] tests/Cypress-05-1. Acceleration of tests. --- langs/de-DE.js | 7 +- langs/en-US.js | 7 +- langs/eo.js | 7 +- langs/es-ES.js | 725 +++++++++--------- langs/fr-FR.js | 7 +- langs/ru-RU.js | 7 +- .../cypress/e2e/verificationLang_de-DE.cy.js | 251 +++--- .../cypress/e2e/verificationLang_en-US.cy.js | 251 +++--- .../cypress/e2e/verificationLang_eo.cy.js | 251 +++--- .../cypress/e2e/verificationLang_es-ES.cy.js | 249 +++--- .../cypress/e2e/verificationLang_fr-FR.cy.js | 251 +++--- .../cypress/e2e/verificationLang_ru-RU.cy.js | 251 +++--- .../check_langs/cypress/support/commands.js | 56 +- 13 files changed, 1015 insertions(+), 1305 deletions(-) diff --git a/langs/de-DE.js b/langs/de-DE.js index 146e6ec..b6cf673 100644 --- a/langs/de-DE.js +++ b/langs/de-DE.js @@ -658,7 +658,7 @@ locObj.btnBuildStables = { "txt": "Stall bauen
lvl %arg1
%arg2 gold", "l locObj.btnBuildArcheryRange = { "txt": "Schießstand bauen
lvl %arg1
%arg2 gold", "loc": "building tab" }; locObj.lblAbout_h1 = { "txt": "1255: Rise of Teutonics" }; locObj.lblAbout_h2 = { "txt": "Anleitung" }; -locObj.lblAbout_wiki = { "txt": "wiki: https://github.com/Areso/1255-burgomaster/wiki
" }; +locObj.lblAbout_wiki = { "txt": "wiki: 1255 Burgomaster's Wiki
" }; locObj.lblAbout_feedback = { "txt": "feedback feedback form
" }; locObj.lblAbout_meh = { "txt": "Dieses Spiel ist rundenbasiert. Jede Runde dauert 30 Sekunden.\n" + @@ -688,10 +688,9 @@ locObj.lblAbout_supLang = { "Der Autor kann keine Hilfe oder Antworten zu in einer CSL gestellten Fragen geben,\n" + "obwohl das Spiel (oder Teile davon) in der CSL zur Verfügung gestellt werden.\n" + "Außerdem könnten Übersetzungen in eine CSL Fehler ebenso wie unübersetzte\n" + - "oder auch veraltete Teile beinhalten.\n" + - "Ihr könnt uns hier bei der Übersetzung des Spiels unterstützen:
" + "oder auch veraltete Teile beinhalten.\n" }; -locObj.lblAbout_googleLang = { "txt": "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
" }; +locObj.lblAbout_googleLang = { "txt": "Ihr könnt uns hier bei der Übersetzung des Spiels unterstützen: google-Dokumentübersetzungen für das Spiel
" }; locObj.cityScreenSawmill = { "txt": "Sägewerk", "loc": "cityscreen" }; locObj.cityScreenWishingWell = { "txt": "Wunschbrunnen", "loc": "cityscreen" }; locObj.cityScreenWall = { "txt": "Mauer", "loc": "cityscreen" }; diff --git a/langs/en-US.js b/langs/en-US.js index 103333b..f646b6e 100644 --- a/langs/en-US.js +++ b/langs/en-US.js @@ -658,7 +658,7 @@ locObj.btnBuildStables = { "txt": "Build Stable
lvl %arg1
%arg2 gold", " locObj.btnBuildArcheryRange = { "txt": "Build Archery range
lvl %arg1
%arg2 gold", "loc": "building tab" }; locObj.lblAbout_h1 = { "txt": "1255: Rise of Teutonics" }; locObj.lblAbout_h2 = { "txt": "How to play" }; -locObj.lblAbout_wiki = { "txt": "wiki: https://github.com/Areso/1255-burgomaster/wiki
" }; +locObj.lblAbout_wiki = { "txt": "wiki: 1255 Burgomaster's Wiki
" }; locObj.lblAbout_feedback = { "txt": "feedback feedback form
" }; locObj.lblAbout_meh = { "txt": "This game has some clock under the hood. Each clock's tick happens in 30 seconds.\n" + @@ -687,10 +687,9 @@ locObj.lblAbout_supLang = { "CSL means that the author doesn't provide any help or answers asked in the CSL,\n" + "though parts of the game or game in whole could be provided in the CSL.\n" + "Also, any CSL translation could have mistakes or untranslated parts\n" + - "or parts of translation which are partly outdated.\n" + - "You could help with translations for the game here:" + "or parts of translation which are partly outdated.\n" }; -locObj.lblAbout_googleLang = { "txt": "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
" }; +locObj.lblAbout_googleLang = { "txt": " You could help with translations for the game here: google document translations for the game
" }; locObj.cityScreenSawmill = { "txt": "sawmill", "loc": "cityscreen" }; locObj.cityScreenWishingWell = { "txt": "wishing well", "loc": "cityscreen" }; locObj.cityScreenWall = { "txt": "wall", "loc": "cityscreen" }; diff --git a/langs/eo.js b/langs/eo.js index 8b480c9..679cfb3 100644 --- a/langs/eo.js +++ b/langs/eo.js @@ -657,7 +657,7 @@ locObj.btnBuildStables = { "txt": "Konstrui Ĉevalejon
lvl %arg1
pro %ar locObj.btnBuildArcheryRange = { "txt": "Konstrui Pafadon
lvl %arg1
pro %arg2 gold", "loc": "building tab" }; locObj.lblAbout_h1 = { "txt": "1255 Burgomaster" }; locObj.lblAbout_h2 = { "txt": "Kiel ludi" }; -locObj.lblAbout_wiki = { "txt": "wiki: https://github.com/Areso/1255-burgomaster/wiki
" }; +locObj.lblAbout_wiki = { "txt": "wiki: 1255 Burgomaster's Wiki
" }; locObj.lblAbout_feedback = { "txt": "feedback feedback form
" }; locObj.lblAbout_meh = { "txt": "Ĉi tiu ludo havas horloĝon sub la kapuĉo. Ĉiu tiklo de la horloĝo okazas en 30 sekundoj.\n" + @@ -687,10 +687,9 @@ locObj.lblAbout_supLang = { "KAL signifas, ke la aŭtoro ne provizas helpon aŭ respondojn en la KAL,\n" + "kvankam partoj de la ludo aŭ ludo entute povus esti disponigitaj en la KAL.\n" + "Ankaŭ ĉiu KAL-tradukado povus havi erarojn aŭ netradukitajn partojn\n" + - "aŭ partoj de traduko, kiuj estas parte malaktualaj.\n" + - "Vi povus helpi per tradukoj por la ludo ĉi tie:" + "aŭ partoj de traduko, kiuj estas parte malaktualaj.\n" }; -locObj.lblAbout_googleLang = { "txt": "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
" }; +locObj.lblAbout_googleLang = { "txt": "Vi povus helpi per tradukoj por la ludo ĉi tie: google dokumentaj tradukoj por la ludo
" }; locObj.cityScreenSawmill = { "txt": "segejo", "loc": "cityscreen" }; locObj.cityScreenWishingWell = { "txt": "dezirante puto", "loc": "cityscreen" }; diff --git a/langs/es-ES.js b/langs/es-ES.js index 62bc5df..7fb3757 100644 --- a/langs/es-ES.js +++ b/langs/es-ES.js @@ -60,8 +60,8 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder");//55 localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push(["placeholder","placeholder"]); -localeStrings.push(["placeholder","placeholder"]); +localeStrings.push(["placeholder", "placeholder"]); +localeStrings.push(["placeholder", "placeholder"]); localeStrings.push("placeholder");//60 localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -90,7 +90,7 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder");//85 localeStrings.push("placeholder"); localeStrings.push("placeholder"); -localeStrings.push(["placeholder","placeholder","placeholder"]); +localeStrings.push(["placeholder", "placeholder", "placeholder"]); localeStrings.push("placeholder"); localeStrings.push("placeholder");//90 localeStrings.push("placeholder"); @@ -167,7 +167,7 @@ localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placehodler"); localeStrings.push("placeholder"); -localeStrings.push(["plc","plc","plc"]);//165 +localeStrings.push(["plc", "plc", "plc"]);//165 localeStrings.push("placeholder"); localeStrings.push("placeholder"); localeStrings.push("placeholder"); @@ -375,7 +375,7 @@ localeStrings.push("You don't have any knights at the garrison"); localeStrings.push("You don't have any sergeants at the hero's squad"); //370 localeStrings.push("You don't have any turkopols at the hero's squad"); localeStrings.push("You don't have any knights at the hero's squad"); -localeStrings.push("You don't have any forces at the garrison"); +localeStrings.push("You don't have any forces at the garrison"); localeStrings.push("You don't have any forces at the hero's squad"); localeStrings.push("sergeants(%arg1)"); //375 localeStrings.push("turkopols(%arg1)"); @@ -383,279 +383,279 @@ localeStrings.push("knights(%arg1)"); locObj = {}; //locObj.welcome2 = {"txt":"", "loc":""}; -locObj.welcome0 = {"txt":"Hello player in this incremental game!", "loc":"Once game initted, those strings are put to the gamelog"}; -locObj.welcome1 = {"txt":"Your task is simple - manage the city as mayor of the city!", "loc":"same"}; -locObj.welcome2 = {"txt":"Citizen will pay taxes each season (30 secs) and population will grow each season", "loc":"same"}; -locObj.okay = {"txt":"Okay", "loc":"Mostly used in information dialogues"}; -locObj.skipTutorial = {"txt": "I don't need any advices!", "loc": "Dont show tutorial messages"}; +locObj.welcome0 = { "txt": "Hello player in this incremental game!", "loc": "Once game initted, those strings are put to the gamelog" }; +locObj.welcome1 = { "txt": "Your task is simple - manage the city as mayor of the city!", "loc": "same" }; +locObj.welcome2 = { "txt": "Citizen will pay taxes each season (30 secs) and population will grow each season", "loc": "same" }; +locObj.okay = { "txt": "Okay", "loc": "Mostly used in information dialogues" }; +locObj.skipTutorial = { "txt": "I don't need any advices!", "loc": "Dont show tutorial messages" }; -locObj.tutorial0_w0 = {"txt":"Your uncle, the landmaster of Teutonic order,\nsent you to build a city on the pagan frontier.\nYou have found a suituable place with a hill, river, forest.\nYour peasants already cleared the place and ready for building", "loc":"tutorial0_w0"}; -locObj.tutorial1_pop0 = {"txt":"Sir Commander, you need to build houses to keep your population growing", "loc":"tutorial0_w0"}; -locObj.tutorial_defense = {"txt":"Sir Commander, scouts reported on armed people\nin the nearest woods. Consider building a wall", "loc":"tutorial msg when defense line is unlocked"}; -locObj.tutorial_treasury = {"txt":"Sir Commander, your gold supply is growing\nBuild a treasury to store the vast amount of gold", "loc":"tutorial msg when treasury is unlocked"}; -locObj.tutorial_treasury_guards = {"txt":"Sir Commander, now you could hire treasury guards in your treasury\nThey are decreasing the chance of stealing from the treasury", "loc":"tutorial msg when treasury is built"}; -locObj.tutorial_stash = {"txt":"Sir Commander, thieves stole gold from your treasury!\nBuild a stash, so you could hide some gold from stealing", "loc":"tutorial msg when first stealing has a place"}; -locObj.tutorial_stable = {"txt":"Sir Commander, now you could build Stables\nStables will allow you to hire sergeants and knights", "loc":"tutorial msg when reached 50 pop"}; -locObj.tutorial_archery = {"txt":"Sir Commander, now you could build Archery range\nArchery range will allow you to hire turkopols in stables", "loc":"tutorial msg when reached 70 pop"}; -locObj.tutorial_inn = {"txt":"Sir Commander, now you could build Inn\nThe Inn will allow you to hire a hero", "loc":"tutorial msg when reached 100 pop"}; -locObj.tutorial_social = {"txt":"Sir Commander, now you could build Gallows or Fountain\nBoth have own passive and active bonuses", "loc":"tutorial msg when reached 120 pop"}; -locObj.tutorial_university = {"txt":"Sir Commander, now you could build Univeristy\nUniversity will allow you to research new technologies", "loc":"tutorial msg when year is 1544"}; -locObj.tutorial_firebrigade = {"txt":"Sir Commander, you could hire a firebrigade by clicking on the well\nThe firebrigade will put out the fire eventually\nThe brigade's upkeep depends on how many buildings you have built and upgraded", "loc":"tutorial msg when fire, pop>50, year>1260"}; -locObj.tutorial_autosave = {"txt":"Sir Commander, you should consider to enable autosave in Settings", "loc":"tutorial. Triggered by 10 first ticks"}; -locObj.tutorial_moving_troops = {"txt":"Sir Commander, buttons near the number of units allow you to manage units\nSingle arrow moves a unit, double arrow moves a stack,\nX button fires a unit, XX button fires a stack", "loc":"triggered by first enter into Hiring tab"}; -locObj.tutorial_new_buildings = {"txt":"New buildings will unlock as your population grows","loc":"tutorial"} +locObj.tutorial0_w0 = { "txt": "Your uncle, the landmaster of Teutonic order,\nsent you to build a city on the pagan frontier.\nYou have found a suituable place with a hill, river, forest.\nYour peasants already cleared the place and ready for building", "loc": "tutorial0_w0" }; +locObj.tutorial1_pop0 = { "txt": "Sir Commander, you need to build houses to keep your population growing", "loc": "tutorial0_w0" }; +locObj.tutorial_defense = { "txt": "Sir Commander, scouts reported on armed people\nin the nearest woods. Consider building a wall", "loc": "tutorial msg when defense line is unlocked" }; +locObj.tutorial_treasury = { "txt": "Sir Commander, your gold supply is growing\nBuild a treasury to store the vast amount of gold", "loc": "tutorial msg when treasury is unlocked" }; +locObj.tutorial_treasury_guards = { "txt": "Sir Commander, now you could hire treasury guards in your treasury\nThey are decreasing the chance of stealing from the treasury", "loc": "tutorial msg when treasury is built" }; +locObj.tutorial_stash = { "txt": "Sir Commander, thieves stole gold from your treasury!\nBuild a stash, so you could hide some gold from stealing", "loc": "tutorial msg when first stealing has a place" }; +locObj.tutorial_stable = { "txt": "Sir Commander, now you could build Stables\nStables will allow you to hire sergeants and knights", "loc": "tutorial msg when reached 50 pop" }; +locObj.tutorial_archery = { "txt": "Sir Commander, now you could build Archery range\nArchery range will allow you to hire turkopols in stables", "loc": "tutorial msg when reached 70 pop" }; +locObj.tutorial_inn = { "txt": "Sir Commander, now you could build Inn\nThe Inn will allow you to hire a hero", "loc": "tutorial msg when reached 100 pop" }; +locObj.tutorial_social = { "txt": "Sir Commander, now you could build Gallows or Fountain\nBoth have own passive and active bonuses", "loc": "tutorial msg when reached 120 pop" }; +locObj.tutorial_university = { "txt": "Sir Commander, now you could build Univeristy\nUniversity will allow you to research new technologies", "loc": "tutorial msg when year is 1544" }; +locObj.tutorial_firebrigade = { "txt": "Sir Commander, you could hire a firebrigade by clicking on the well\nThe firebrigade will put out the fire eventually\nThe brigade's upkeep depends on how many buildings you have built and upgraded", "loc": "tutorial msg when fire, pop>50, year>1260" }; +locObj.tutorial_autosave = { "txt": "Sir Commander, you should consider to enable autosave in Settings", "loc": "tutorial. Triggered by 10 first ticks" }; +locObj.tutorial_moving_troops = { "txt": "Sir Commander, buttons near the number of units allow you to manage units\nSingle arrow moves a unit, double arrow moves a stack,\nX button fires a unit, XX button fires a stack", "loc": "triggered by first enter into Hiring tab" }; +locObj.tutorial_new_buildings = { "txt": "New buildings will unlock as your population grows", "loc": "tutorial" } -locObj.story1_catastrophe = {"txt":"Your forces captured a witch. The trial was quick and short\nWhile people gathered to watch the execution\nshe started to chant. When flames licked her bare feet, she screamed\nAt this very moment, out of nowhere struck a lightning bolt with titanic power\nright in the center of the fire...", "loc":"tutorial msg catastrophe"}; -locObj.story2_two_steps = {"txt":"You saw a few peasants, running from ugly monsters you have never seen\nYou killed monsters and asked peasants what happened\nThey told you that trolls were mad because they don't paid for passing by...", "loc":"tutorial. when you step 2 times from city"}; +locObj.story1_catastrophe = { "txt": "Your forces captured a witch. The trial was quick and short\nWhile people gathered to watch the execution\nshe started to chant. When flames licked her bare feet, she screamed\nAt this very moment, out of nowhere struck a lightning bolt with titanic power\nright in the center of the fire...", "loc": "tutorial msg catastrophe" }; +locObj.story2_two_steps = { "txt": "You saw a few peasants, running from ugly monsters you have never seen\nYou killed monsters and asked peasants what happened\nThey told you that trolls were mad because they don't paid for passing by...", "loc": "tutorial. when you step 2 times from city" }; -locObj.unit_sergeants = {"txt": "Sergeants", "loc": "Autbattle log, player unit"}; -locObj.unit_turkopols = {"txt": "Turkopols", "loc": "Autbattle log, player unit"}; -locObj.unit_knights = {"txt": "Brother-knights", "loc": "Autbattle log, player unit"}; +locObj.unit_sergeants = { "txt": "Sergeants", "loc": "Autbattle log, player unit" }; +locObj.unit_turkopols = { "txt": "Turkopols", "loc": "Autbattle log, player unit" }; +locObj.unit_knights = { "txt": "Brother-knights", "loc": "Autbattle log, player unit" }; -locObj.unit_bandit = {"txt": "Bandits", "loc": "Autbattle log, enemy unit"}; -locObj.unit_bandit_archer = {"txt": "Bandits archers", "loc": "Autbattle log, enemy unit"}; -locObj.unit_merc_swordman = {"txt": "Mercenary swordman", "loc": "Autbattle log, highlevel enemy unit"}; -locObj.unit_merc_spearman = {"txt": "Mercenary spearman", "loc": "Autbattle log, highlevel enemy unit"}; +locObj.unit_bandit = { "txt": "Bandits", "loc": "Autbattle log, enemy unit" }; +locObj.unit_bandit_archer = { "txt": "Bandits archers", "loc": "Autbattle log, enemy unit" }; +locObj.unit_merc_swordman = { "txt": "Mercenary swordman", "loc": "Autbattle log, highlevel enemy unit" }; +locObj.unit_merc_spearman = { "txt": "Mercenary spearman", "loc": "Autbattle log, highlevel enemy unit" }; -locObj.autobattle_journal_btn = {"txt": "Battle journal", "loc": "Inn window. Battle report by round moves"}; -locObj.autobattle_journal_log_start = {"txt": "Round started", "loc": "Start round title"}; -locObj.autobattle_journal_log_end = {"txt": "Round ended", "loc": "End round title"}; -locObj.autobattle_journal_log_dmg = {"txt": "%arg1 squad does %arg2 dmg to %arg3.", "loc": "Autobattle dmg log"}; -locObj.autobattle_journal_log_dead = {"txt": "%arg1 %arg2 is dead.", "loc": "Autobattle dead log"}; -locObj.autobattle_journal_log_destroyed = {"txt": "%arg1 squad is destroyed.", "loc": "Autobattle destroyed squad log"}; +locObj.autobattle_journal_btn = { "txt": "Battle journal", "loc": "Inn window. Battle report by round moves" }; +locObj.autobattle_journal_log_start = { "txt": "Round started", "loc": "Start round title" }; +locObj.autobattle_journal_log_end = { "txt": "Round ended", "loc": "End round title" }; +locObj.autobattle_journal_log_dmg = { "txt": "%arg1 squad does %arg2 dmg to %arg3.", "loc": "Autobattle dmg log" }; +locObj.autobattle_journal_log_dead = { "txt": "%arg1 %arg2 is dead.", "loc": "Autobattle dead log" }; +locObj.autobattle_journal_log_destroyed = { "txt": "%arg1 squad is destroyed.", "loc": "Autobattle destroyed squad log" }; -locObj.advmap = {"txt":"To move your hero use arrow keys\nIf you play with sensor input, please turn on Mobile UI in Settings", "loc":"when first visiting adventure map"}; -locObj.plague_turk = {"txt":"On the edge: your turkopol spotted a plague person and shot him. The corpse was burned afterwards", "loc":"Random event. Plague. A turkopol prevents plague in the city"}; -locObj.plague_army = {"txt":"shit happens: the plague outbreak was stopped by your garrison, but killed %arg1 of your garrisoned troops", "loc":"Your army prevents plague in the city. Some soldiers are dead now"}; -locObj.plague = {"txt":"shit happens: the plague killed %arg1 citizens", "loc":"default plague case + case where army failed to prevent outbreak"}; -locObj.city_chest_gold = {"txt":"You found %arg1 gold in a chest!", "loc":"Random event. Opened a short-living chest in city screen"}; -locObj.blackmarket_dstr = {"txt":"A tall, fat-belly green goblin, who named itself Elbenkonig,\n offered you a variety of magic artifacts.\nYou, as a true Christian, a brother of Teutonic order, were offended by it.\nThe first your intention was to kill the goblin and to burn the market.\nOn the other hand, magical artifacts could prove helpful in this world.\nWhat will you do?", "loc":"This dialogue happens every time you first visit blackmarket on the newly generated map"}; -locObj.blackmarket_dstr_brn = {"txt":"Kill the goblin and burn the blackmarket!", "loc":"Destroying the blackmarket"}; -locObj.blackmarket_dstr_kp = {"txt":"Start trade", "loc":"Keeping the blackmarket"}; -locObj.borderCollide = {"txt":"You hit an invisible border. You couldn't pass any further", "loc":"adventure map. collision with border"}; +locObj.advmap = { "txt": "To move your hero use arrow keys\nIf you play with sensor input, please turn on Mobile UI in Settings", "loc": "when first visiting adventure map" }; +locObj.plague_turk = { "txt": "On the edge: your turkopol spotted a plague person and shot him. The corpse was burned afterwards", "loc": "Random event. Plague. A turkopol prevents plague in the city" }; +locObj.plague_army = { "txt": "shit happens: the plague outbreak was stopped by your garrison, but killed %arg1 of your garrisoned troops", "loc": "Your army prevents plague in the city. Some soldiers are dead now" }; +locObj.plague = { "txt": "shit happens: the plague killed %arg1 citizens", "loc": "default plague case + case where army failed to prevent outbreak" }; +locObj.city_chest_gold = { "txt": "You found %arg1 gold in a chest!", "loc": "Random event. Opened a short-living chest in city screen" }; +locObj.blackmarket_dstr = { "txt": "A tall, fat-belly green goblin, who named itself Elbenkonig,\n offered you a variety of magic artifacts.\nYou, as a true Christian, a brother of Teutonic order, were offended by it.\nThe first your intention was to kill the goblin and to burn the market.\nOn the other hand, magical artifacts could prove helpful in this world.\nWhat will you do?", "loc": "This dialogue happens every time you first visit blackmarket on the newly generated map" }; +locObj.blackmarket_dstr_brn = { "txt": "Kill the goblin and burn the blackmarket!", "loc": "Destroying the blackmarket" }; +locObj.blackmarket_dstr_kp = { "txt": "Start trade", "loc": "Keeping the blackmarket" }; +locObj.borderCollide = { "txt": "You hit an invisible border. You couldn't pass any further", "loc": "adventure map. collision with border" }; -locObj.campaignTitle = {"txt":"Campaign-%arg1","loc":"Autocampaign accordion title"}; -locObj.autobattleTitle = {"txt": "Battle-%arg1", "loc": "Autobattle log title"}; +locObj.campaignTitle = { "txt": "Campaign-%arg1", "loc": "Autocampaign accordion title" }; +locObj.autobattleTitle = { "txt": "Battle-%arg1", "loc": "Autobattle log title" }; -locObj.upgCostSidebar = {"txt":"Upgrade to %arg1 level costs %arg2 gold", "loc":"Shows under the building description on the left sidebar for upgrades"}; -locObj.bldCostSidebar = {"txt":"Building costs %arg2 gold", "loc":"Shows under the building description on the left sidebar for initial building"}; +locObj.upgCostSidebar = { "txt": "Upgrade to %arg1 level costs %arg2 gold", "loc": "Shows under the building description on the left sidebar for upgrades" }; +locObj.bldCostSidebar = { "txt": "Building costs %arg2 gold", "loc": "Shows under the building description on the left sidebar for initial building" }; -locObj.knightLearnCurve = {"txt":"Has high chance to increase ATK when level up", "loc":"short description of the class in inn"}; -locObj.monkLearnCurve = {"txt":"Has high chance to increase DEF when level up", "loc":"short description of the class in inn"}; -locObj.heroClassKnight = {"txt":"Knight", "loc":"The inn when we are hiring. Hero class"}; -locObj.heroClassMonk = {"txt":"Monk", "loc":"The inn when we are hiring. Hero class"}; +locObj.knightLearnCurve = { "txt": "Has high chance to increase ATK when level up", "loc": "short description of the class in inn" }; +locObj.monkLearnCurve = { "txt": "Has high chance to increase DEF when level up", "loc": "short description of the class in inn" }; +locObj.heroClassKnight = { "txt": "Knight", "loc": "The inn when we are hiring. Hero class" }; +locObj.heroClassMonk = { "txt": "Monk", "loc": "The inn when we are hiring. Hero class" }; -locObj.heroLvlLbl = {"txt":"level", "loc":"The inn when we are hiring. Level"}; -locObj.heroStatsLbl = {"txt":"Stats:", "loc":"The inn when we are hiring. Stats"}; -locObj.heroStatsAtkLbl = {"txt":"Attack", "loc":"The inn when we are hiring. Stats. Attack"}; -locObj.heroStatsDefLbl = {"txt":"Defence", "loc":"The inn when we are hiring. Stats. Defence"}; -locObj.heroStatsMpowLbl = {"txt":"Magic power", "loc":"The inn when we are hiring. Stats. Magic power"}; -locObj.heroStatsIntLbl = {"txt":"Intelligence", "loc":"The inn when we are hiring. Stats. Intelligence"}; +locObj.heroLvlLbl = { "txt": "level", "loc": "The inn when we are hiring. Level" }; +locObj.heroStatsLbl = { "txt": "Stats:", "loc": "The inn when we are hiring. Stats" }; +locObj.heroStatsAtkLbl = { "txt": "Attack", "loc": "The inn when we are hiring. Stats. Attack" }; +locObj.heroStatsDefLbl = { "txt": "Defence", "loc": "The inn when we are hiring. Stats. Defence" }; +locObj.heroStatsMpowLbl = { "txt": "Magic power", "loc": "The inn when we are hiring. Stats. Magic power" }; +locObj.heroStatsIntLbl = { "txt": "Intelligence", "loc": "The inn when we are hiring. Stats. Intelligence" }; -locObj.equipmentTitle = {"txt": "Equiped", "loc": "Equiped items title"}; +locObj.equipmentTitle = { "txt": "Equiped", "loc": "Equiped items title" }; -locObj.moneyExceedsTreasury = {"txt":"Sir Commander, sum of money your treasury and your hero's purse had exceeds your treasury capacity. To avoid losing money, build or upgrade your treasury now", "loc":"checking function which indicated if player needs to upgrade his treasury"}; +locObj.moneyExceedsTreasury = { "txt": "Sir Commander, sum of money your treasury and your hero's purse had exceeds your treasury capacity. To avoid losing money, build or upgrade your treasury now", "loc": "checking function which indicated if player needs to upgrade his treasury" }; -locObj.glyphKnightTile = {"txt": "Glyph of Knight's Valor", "loc": "Имя глифа"}; -locObj.glyphKnightDesc = {"txt": "Increases the hero's attack +10, increases heroe's defence +6.", "loc": "Glyph desc"}; +locObj.glyphKnightTile = { "txt": "Glyph of Knight's Valor", "loc": "Имя глифа" }; +locObj.glyphKnightDesc = { "txt": "Increases the hero's attack +10, increases heroe's defence +6.", "loc": "Glyph desc" }; -locObj.glyphMonkTile = {"txt": "Glyph of Monk's Virtue", "loc": "Имя глифа"}; -locObj.glyphMonkDesc = {"txt": "Increases the hero's attack +4, increases heroe's defence +12.", "loc": "Glyph desc"}; +locObj.glyphMonkTile = { "txt": "Glyph of Monk's Virtue", "loc": "Имя глифа" }; +locObj.glyphMonkDesc = { "txt": "Increases the hero's attack +4, increases heroe's defence +12.", "loc": "Glyph desc" }; -locObj.goldRuneTitle = {"txt": "Rune of Golden Search", "loc": "Имя глифа"}; -locObj.goldRuneDesc = {"txt": "Increases the hero's gold reward after battle by 7%.", "loc": "Glyph desc"}; +locObj.goldRuneTitle = { "txt": "Rune of Golden Search", "loc": "Имя глифа" }; +locObj.goldRuneDesc = { "txt": "Increases the hero's gold reward after battle by 7%.", "loc": "Glyph desc" }; -locObj.lifebloodVialTitle = {"txt": "Vial of Lifeblood", "loc": "Artifact name"}; -locObj.lifebloodVialDesc = {"txt": "Increases the health of all units in the hero's army by +3", "loc": "Artifact description"}; +locObj.lifebloodVialTitle = { "txt": "Vial of Lifeblood", "loc": "Artifact name" }; +locObj.lifebloodVialDesc = { "txt": "Increases the health of all units in the hero's army by +3", "loc": "Artifact description" }; locObj.darkPactSwordTitle = { "txt": "Dark Pact Sword", "loc": "Artefact name" }; -locObj.darkPactSwordDesc = {"txt": "Increases the hero's attack by +15, reduces the health of all units in the hero's army by -35%", "loc": "Artefact description"}; +locObj.darkPactSwordDesc = { "txt": "Increases the hero's attack by +15, reduces the health of all units in the hero's army by -35%", "loc": "Artefact description" }; locObj.crusadersSwordTitle = { "txt": "Crusader's Sword", "loc": "Artifact name" }; -locObj.crusadersSwordDesc = {"txt": "Increases attack of all units in the hero's army by +20%", "loc": "Artifact description"}; +locObj.crusadersSwordDesc = { "txt": "Increases attack of all units in the hero's army by +20%", "loc": "Artifact description" }; -locObj.ringStrengthTitle = {"txt": "Ring of Strength", "loc": "Artifact name"}; -locObj.ringStrengthDesc = {"txt": "Increases the hero's attack by +5, increases attack of all units in the hero's army by +10%", "loc": "Artifact description"}; +locObj.ringStrengthTitle = { "txt": "Ring of Strength", "loc": "Artifact name" }; +locObj.ringStrengthDesc = { "txt": "Increases the hero's attack by +5, increases attack of all units in the hero's army by +10%", "loc": "Artifact description" }; -locObj.ringProtectionTitle = {"txt": "Ring of Protection", "loc": "Artifact name"}; -locObj.ringProtectionDesc = {"txt": "Increases the hero's defence by +5, increases defence of all units in the hero's army by +10%", "loc": "Artifact description"}; +locObj.ringProtectionTitle = { "txt": "Ring of Protection", "loc": "Artifact name" }; +locObj.ringProtectionDesc = { "txt": "Increases the hero's defence by +5, increases defence of all units in the hero's army by +10%", "loc": "Artifact description" }; // TODO: #SwordRestriction remove it later locObj.swordsWarn = { "txt": 'A hero can carry only two swords!', "loc": 'Sword restriction' }; locObj.ringsWarn = { "txt": 'A hero can wear only two rings!', "loc": 'Rings restriction' }; -locObj.advmapHeroLose = {"txt": "Your troops were defeated and the hero is forced to retreat to the city.", "loc":"When hero loses battle on advmap"} +locObj.advmapHeroLose = { "txt": "Your troops were defeated and the hero is forced to retreat to the city.", "loc": "When hero loses battle on advmap" } -locObj.eventHalloween = {"txt": "Halloween is about collecting pumpkins!\nGenerate a new adventure map to find them\nYou need to be registered & logged, so you pledge could be recorded", "loc":"help"} -locObj.couldntRecordPledge = {"txt": "It seems you are not logged it. Your pledge will not be recorded","loc":"happens when collected event item while being not logged in"} -locObj.requiredStables = {"txt": "Para hacer eso, necesitas construir el establo", "loc":"happens when trying to hire sergeants if no stables built"}; -locObj.requiredArcheryRange = {"txt":"Para hacer eso, necesitas construir un campo de tiro con arco", "loc":"happens when trying to hire turkopols if no archery range is built"}; -locObj.requiredStablesUpgrade = {"txt": "Para hacerlo, debe actualizar el establo al nivel %arg1", "loc":"happens when trying to hire knights and stables level too low"}; -locObj.deadCounselorDemolish = {"txt":"Your counselor is dead.\nThe new counselor, however, urges us to reconsider\nthe choice which was made with the previous one:\n-it's time, m'lord, when we could decide what's better for our nation.\n-if you agree, we demolish the %arg1 and thus you could build %arg2", "loc":""} -locObj.demolishGallows = {"txt": "Gallows", "loc": "your choice in deadCounselorDemolish dialogue"}; -locObj.fountainUnlock = {"txt": "Fountain", "loc": "will be unlocked in deadCounselorDemolish dialogue"}; -locObj.demolishFountain = {"txt": "Fountain", "loc": "your choice in deadCounselorDemolish dialogue"}; -locObj.gallowsUnlock = {"txt": "Gallows", "loc": "will be unlocked in deadCounselorDemolish dialogue"}; -locObj.deadCounselorDemolishAnsYes = {"txt":"Yes, demolish it", "loc":"Positive answer"} +locObj.eventHalloween = { "txt": "Halloween is about collecting pumpkins!\nGenerate a new adventure map to find them\nYou need to be registered & logged, so you pledge could be recorded", "loc": "help" } +locObj.couldntRecordPledge = { "txt": "It seems you are not logged it. Your pledge will not be recorded", "loc": "happens when collected event item while being not logged in" } +locObj.requiredStables = { "txt": "Para hacer eso, necesitas construir el establo", "loc": "happens when trying to hire sergeants if no stables built" }; +locObj.requiredArcheryRange = { "txt": "Para hacer eso, necesitas construir un campo de tiro con arco", "loc": "happens when trying to hire turkopols if no archery range is built" }; +locObj.requiredStablesUpgrade = { "txt": "Para hacerlo, debe actualizar el establo al nivel %arg1", "loc": "happens when trying to hire knights and stables level too low" }; +locObj.deadCounselorDemolish = { "txt": "Your counselor is dead.\nThe new counselor, however, urges us to reconsider\nthe choice which was made with the previous one:\n-it's time, m'lord, when we could decide what's better for our nation.\n-if you agree, we demolish the %arg1 and thus you could build %arg2", "loc": "" } +locObj.demolishGallows = { "txt": "Gallows", "loc": "your choice in deadCounselorDemolish dialogue" }; +locObj.fountainUnlock = { "txt": "Fountain", "loc": "will be unlocked in deadCounselorDemolish dialogue" }; +locObj.demolishFountain = { "txt": "Fountain", "loc": "your choice in deadCounselorDemolish dialogue" }; +locObj.gallowsUnlock = { "txt": "Gallows", "loc": "will be unlocked in deadCounselorDemolish dialogue" }; +locObj.deadCounselorDemolishAnsYes = { "txt": "Yes, demolish it", "loc": "Positive answer" } -locObj.buy = {"txt":"Buy", "loc":"On item in BlackMarket for sale from Goblin"}; -locObj.sell = {"txt":"Sell", "loc":"On item in BlackMarket for sale from Hero"}; -locObj.buildArchery = {"txt":"Archery provides mounted archers. Build stables first", "loc":"error msg bulding archery"}; -locObj.buildUpgradeTreasury = {"txt":"Construye o mejora tu Tesorería", "loc":"the endturn tip in case of overflowing gold amount"} -locObj.moneyIncreased = {"txt":"Tu riqueza incrementadó", "loc":"happens when s-to-s money value increased"}; -locObj.moneyDecreased = {"txt":"Tu riqueza se redujo", "loc":"happens when s-to-s money value decreased"}; -locObj.popIncreased = {"txt":"La población creció", "loc":"happens when s-to-s population value increased"}; -locObj.popDecreased = {"txt":"La población se redujo", "loc":"happens when s-to-s population value decreased"}; -locObj.buildUpgradeHouse = {"txt":"Tu ciudad alcanzó el límite de población. Construye nuevas casas o mejora las existentes", "loc":"the endturn tip in case of overpopulating"}; -locObj.requiredFieldsNotFilled = {"txt": "Required fields are not filled!", "loc":"happens in case of empty fields like login, password, etc"}; -locObj.savedSuccessfully = {"txt":"Juego guardado exitosamente", "loc":"when manual save completed successfully"}; -locObj.loadedSuccessfully = {"txt":"Juego cargado exitosamente", "loc":"when loaded completed successfully"}; -locObj.dialogLoadGame = {"txt":"¿Cargar juego? Perderás cualquier avance no guardado", "loc":"confirmation dialogue over loading game"}; -locObj.noSaveGame = {"txt":"¡Perdón¡ ¡No hay un juego guardado para cargar!", "loc":"in case there is no savegame"}; -locObj.dialogSaveGame = {"txt":"¿Guardar juego? ¡Sobreescribirás cualquier guardado que ya tengas!", "loc":"when trying to save game or overwriting existing savegame"}; -locObj.loadGameFromStringEmpty = {"txt":"Por favor ingresa el código de guardado", "loc":"happens when the loadgame input is empty"}; -locObj.loadGameFromStringError = {"txt":"Couldn't load the game from the savestring ;-;", "loc":"happens when the loadgame input is incorrect or couldn't be processed"}; -locObj.lblLongSaveString = {"txt":"código muy largo", "loc":"label near input fielf for savegame string"}; -locObj.dialogConfirmHireGuard = {"txt":"¿Quieres contratar un guardia? Te costará %arg1 de oro y luego %arg2 de oro por cada estación", "loc":"hiring treasury guard confirmation dialogue"}; -locObj.hiredGuardsman = {"txt":"Contrataste un guardia", "loc":"after succesfully hired a guardsman"}; -locObj.notEnoughGold = {"txt":"No tienes suficiente oro para hacer eso", "loc":"not enough gold"}; -locObj.treasuryRequired = {"txt":"Se requiere una Tesorería para contratar un guardia", "loc":"happens when trying to hire gaurdsman without a treasury"}; -locObj.dialogConfirmDismssGuardsman = {"txt":"¿Quieres despedir al guardia?", "loc":"happens when try to dismiss one guardsman"}; -locObj.dismissedGuardsman = {"txt":"Despediste al guardia", "loc":"happens after dismissing a guardsman"}; -locObj.noGuardsman = {"txt":"No tienes ningún guardia", "loc":"happens when trying to dismiss guardsman when there are none of them"}; -locObj.execReasons = [{"txt":"traición", "loc":"when executing a person"}, - {"txt":"espionaje", "loc":""}, - {"txt":"corrupción", "loc":""}, - {"txt":"soborno", "loc":""}, - {"txt":"graft and robo", "loc":""}, - {"txt":"malversación", "loc":""}]; -locObj.techArtilleryResearched = {"txt":"You researched the artillery technology!", "loc":"Happens when the tech is discovered"}; -locObj.bldUniversityButton = {"txt":"Build university
%arg2 gold", "loc":"the label of the button of building the University on the building tab"}; -locObj.eventWillStart = {"txt":" event will start in", "loc":"shows on the status bar if an event was announced"}; -locObj.eventWillEnd = {"txt":" event will end in", "loc":"shows on the status bar if an event was started"}; -locObj.eventHalloweenName = {"txt":"Halloween", "loc":"shows on the status bar if the event announced or online"}; -locObj.eventNewYearName = {"txt":"New Year", "loc":"shows on the status bar if the event announced or online"}; -locObj.yes = {"txt":"Sí", "loc":"Positive answer, happens in modal dialogues"}; -locObj.yesKillBloody = {"txt":"Sí ¡De la manera más sangrienta!", "loc":"NOT USED YET"}; -locObj.no = {"txt":"No", "loc":"Negative answer, happens in modal dialogues"}; -locObj.serverStatusSpn = {"txt": "Server: ", "loc":"showed in the status bar"}; -locObj.serverStatusND = {"txt":"n/d", "loc":"server status is no data"}; -locObj.serverStatusUp = {"txt":"Up", "loc":"server status is Up"}; -locObj.serverStatusDown = {"txt":"Down", "loc":"server status is Down"}; -locObj.online = {"txt":"Online: ", "loc":"label before the online users counter"}; -locObj.onlineValueND = {"txt":"n/d", "loc":"online users numbers has no data"}; -locObj.errCityLevelTooLowForSendingMsg = {"txt":"Sir Commander, your city level is too low for sending messages to other Lords", "loc":"happens when low-level user try to send msg in chat"} -locObj.userCntOne = {"txt":"user", "loc":"(one) user"}; -locObj.userCntTwoPlus = {"txt":"users", "loc":"two or more users"}; -locObj.savedCloudSuccessfully = {"txt":"game saved to the cloud successfully", "loc":"when cloud save completed successfully"}; -locObj.errNoCloudSave = {"txt":"you don't have savegame in the cloud", "loc":"could happen when trying to load a savegame from DB"}; -locObj.errGettingCloudSave = {"txt":"error while trying to get your cloudsave from the cloud","loc":"could happen when trying to get a savegame from backend"}; -locObj.errLoadingCloudSave = {"txt":"error while processing your cloudsave","loc":"could happen while loading cloudsave"}; -locObj.errGetSaveEndpoint = {"txt":"error from server. Are you logged in? Is server up?","loc":"endpoint error from /get_savegame"}; -locObj.executedMsg = {"txt": "Ejecutaste a un ciudadano por %arg1.", "loc":"eventlog after the execution"};//TODO 'tu' most likely. need to change to 'usted'! -locObj.executedGainMsg = {"txt": "Tu tesoro se repuso con %arg1 de oro de la propiedad confiscada al ciudadano ejecutado", "loc": "eventlog after the execution"}; -locObj.executionAborted = {"txt":"Tienes muy pocos ciudadanos", "loc":"happens if you have too low amount of citizens"}; -locObj.cantUpkeepTreasuryGuards = {"txt": "¡Algunos guardias se fueron porque no les puedes pagar!", "loc":"in calculateTurn in case of money deficite"}; -locObj.fireInCity = {"txt": "¡Fuego en la ciudad!", "loc":"happens as part of random events"}; -locObj.rqtsHome = {"txt": "Desbloqueos por un evento", "loc":"Requirements for homes"}; -locObj.rqtsDef = {"txt": "Desbloqueos por un evento", "loc":"Requirements for defense buildings"}; -locObj.rqtsTreasury = {"txt": "Requiere %arg1 de oro para desbloquear", "loc":"Reqs for Treasury building"}; -locObj.rqtsGallows = {"txt":"Requiere %arg1 ciudadanos para desbloquear", "loc":"Reqs for Gallows"}; -locObj.rqtsFountain = {"txt":"Requiere %arg1 ciudadanos para desbloquear", "loc":"Reqs for Fountain"}; -locObj.rqtsStash = {"txt":"Requires Treasury and Unlocks by an event", "loc":"Reqs for Fountain"}; -locObj.rqtsStables = {"txt":"Requiere %arg1 ciudadanos para desbloquear", "loc":"Reqs for Stables"}; -locObj.rqtsArcheryRange = {"txt": "Requires %arg1 citizens and Stables", "loc":"Reqs for Archery Range"}; -locObj.rqtsInn = {"txt":"Requiere %arg1 ciudadanos para desbloquear", "loc":"Reqs for Inn"}; -locObj.rqtsUniversity = {"txt":"Unlocks in %arg1. Current year is %arg2", "loc":"Reqs for Konigsberg University"}; -locObj.rqtsCatherdal = {"txt":"Unlocks in 1380", "loc": "Reqs for Königsberg Cathedral"}; -locObj.helpDef = {"txt":"This building is needed for defending the city from intruders", "loc":"help message in the building tab"}; -locObj.helpHome = {"txt": "This building and its improvements is needed to raise your population limit", "loc":"help msg in the building tab"}; -locObj.helpTreasury = {"txt":"This building and its improvements is needed to raise your money limit.
This building allows you to hire treasury guards.
They are needed to minimize your chances to be robbed", "loc":"help msg in the building tab"}; -locObj.helpGallows = {"txt":"This building and its improvements is needed to execute your citizens.
It is also increase taxes and decrease birthrate and happiness.
If you build this building, you will not be able to build the Fountain!", "loc":"help msg in the building tab"}; -locObj.helpFountain = {"txt":"This building and its improvements is needed to place festivals.
It is also increase birthrate and happiness and decrease taxes.
If you build this building, you will not be able to build the Gallows!", "loc":"help msg in the building tab"}; -locObj.helpStash = {"txt":"This building and its improvements is needed to save your money from thieves, in case the thieves rob your treasury.
The higher level of Stash you have, the more you could hide in the Stash","loc":"help msg in the building tab"}; -locObj.helpStables = {"txt":"This building and its improvements is needed to hire cavalry units.
The higher level of Stable you have, the more experienced troops you could hire there", "loc":"help msg in the building tab"}; -locObj.helpArcheryRange = {"txt":"This building and its improvements is needed to hire archery units.
The higher level of Archery range you have, the more experienced troops you could hire there", "loc":"help msg in the building tab"}; -locObj.helpInn = {"txt":"This building and its improvements is needed to hire heroes.
The higher level of Inn you have, the more experienced hero you could hire there", "loc":"help msg in the building tab"}; -locObj.helpUniversity = {"txt":"This building is required to research new technologies", "loc":"User saw this when moving the coursor above the university icon in Building tab"}; -locObj.callFiremen = {"txt":"¿Deberíamos llamar a los bomberos? Te costará %arg1 de oro.", "loc":"dialog happens when trying to get rid off the fire"}; -locObj.fireEndedByFireservice = {"txt": "los bomberos extinguieron el fuego", "loc":"happens after firemen ended the fire"}; -locObj.burnToAshes = {"txt": "¡Todo quedará en cenizas!", "loc":"happens if player decided not to pay to firemen"}; -locObj.rndEventsStealing = {"txt": "Así es la vida: ¡Ladrones robaron %arg1 de oro de tu tesoro!", "loc":"random events, stealings"}; -locObj.rndEventsLotteryWon = {"txt": "Ganaste %arg1 de oro en las apuestas", "loc":"random events lottery won msg"}; -locObj.locSaveGame= {"txt": "Guardar juego", "loc":"browser-wide savegame"}; -locObj.locLoadGame = {"txt": "Cargar juego", "loc":"load save from localStorage of the browser"}; -locObj.tabCity = {"txt":"Ciudad", "loc":"tabname in the tab bar"}; -locObj.tabSettings = {"txt":"Configuración", "loc": "tabname Settings in the tab bar"}; -locObj.tabBuilding = {"txt": "Construcción", "loc": "tabname Building in the tab bar"}; -locObj.tabHowToPlay = {"txt": "Cómo Jugar", "loc":"tabname How To Play, about and stuff in da bar"}; -locObj.tabDiscord = {"txt": "Discord", "loc": "tabname Discord with a Discord widget"}; -locObj.btnPutOutTheFire = {"txt": "Apagar el fuego", "loc": "button to extinguish the fire"}; -locObj.btnExecutePerson = {"txt": "Ejecutar a alguien", "loc": "button to execute somebody"}; -locObj.festivalConfirm = {"txt": "¿Quieres hacer un festival?\n¡Te costará %arg1 de oro!\n", "loc":"place festival confirmation dialogue"}; -locObj.festivalConfirmCooldown = {"txt":"Ya se hizo un festival hace poco.\nEl efecto de un festival sería menor.\n", "loc":"happens in case of Cooldown of the festivals"}; -locObj.eventItemCollected = {"txt": "The event item collected!", "loc": "happens when gathered an event item"}; -locObj.eventPledgeRecorded = {"txt": "Your pledge is recorded", "loc": "happens when the pledge was successfully recorded"}; -locObj.eventPledgeError = {"txt": "Your pledge couldn't be recorded. Are you logged in?", "loc": "happens when the pledge wasn't recorded"}; +locObj.buy = { "txt": "Buy", "loc": "On item in BlackMarket for sale from Goblin" }; +locObj.sell = { "txt": "Sell", "loc": "On item in BlackMarket for sale from Hero" }; +locObj.buildArchery = { "txt": "Archery provides mounted archers. Build stables first", "loc": "error msg bulding archery" }; +locObj.buildUpgradeTreasury = { "txt": "Construye o mejora tu Tesorería", "loc": "the endturn tip in case of overflowing gold amount" } +locObj.moneyIncreased = { "txt": "Tu riqueza incrementadó", "loc": "happens when s-to-s money value increased" }; +locObj.moneyDecreased = { "txt": "Tu riqueza se redujo", "loc": "happens when s-to-s money value decreased" }; +locObj.popIncreased = { "txt": "La población creció", "loc": "happens when s-to-s population value increased" }; +locObj.popDecreased = { "txt": "La población se redujo", "loc": "happens when s-to-s population value decreased" }; +locObj.buildUpgradeHouse = { "txt": "Tu ciudad alcanzó el límite de población. Construye nuevas casas o mejora las existentes", "loc": "the endturn tip in case of overpopulating" }; +locObj.requiredFieldsNotFilled = { "txt": "Required fields are not filled!", "loc": "happens in case of empty fields like login, password, etc" }; +locObj.savedSuccessfully = { "txt": "Juego guardado exitosamente", "loc": "when manual save completed successfully" }; +locObj.loadedSuccessfully = { "txt": "Juego cargado exitosamente", "loc": "when loaded completed successfully" }; +locObj.dialogLoadGame = { "txt": "¿Cargar juego? Perderás cualquier avance no guardado", "loc": "confirmation dialogue over loading game" }; +locObj.noSaveGame = { "txt": "¡Perdón¡ ¡No hay un juego guardado para cargar!", "loc": "in case there is no savegame" }; +locObj.dialogSaveGame = { "txt": "¿Guardar juego? ¡Sobreescribirás cualquier guardado que ya tengas!", "loc": "when trying to save game or overwriting existing savegame" }; +locObj.loadGameFromStringEmpty = { "txt": "Por favor ingresa el código de guardado", "loc": "happens when the loadgame input is empty" }; +locObj.loadGameFromStringError = { "txt": "Couldn't load the game from the savestring ;-;", "loc": "happens when the loadgame input is incorrect or couldn't be processed" }; +locObj.lblLongSaveString = { "txt": "código muy largo", "loc": "label near input fielf for savegame string" }; +locObj.dialogConfirmHireGuard = { "txt": "¿Quieres contratar un guardia? Te costará %arg1 de oro y luego %arg2 de oro por cada estación", "loc": "hiring treasury guard confirmation dialogue" }; +locObj.hiredGuardsman = { "txt": "Contrataste un guardia", "loc": "after succesfully hired a guardsman" }; +locObj.notEnoughGold = { "txt": "No tienes suficiente oro para hacer eso", "loc": "not enough gold" }; +locObj.treasuryRequired = { "txt": "Se requiere una Tesorería para contratar un guardia", "loc": "happens when trying to hire gaurdsman without a treasury" }; +locObj.dialogConfirmDismssGuardsman = { "txt": "¿Quieres despedir al guardia?", "loc": "happens when try to dismiss one guardsman" }; +locObj.dismissedGuardsman = { "txt": "Despediste al guardia", "loc": "happens after dismissing a guardsman" }; +locObj.noGuardsman = { "txt": "No tienes ningún guardia", "loc": "happens when trying to dismiss guardsman when there are none of them" }; +locObj.execReasons = [{ "txt": "traición", "loc": "when executing a person" }, +{ "txt": "espionaje", "loc": "" }, +{ "txt": "corrupción", "loc": "" }, +{ "txt": "soborno", "loc": "" }, +{ "txt": "graft and robo", "loc": "" }, +{ "txt": "malversación", "loc": "" }]; +locObj.techArtilleryResearched = { "txt": "You researched the artillery technology!", "loc": "Happens when the tech is discovered" }; +locObj.bldUniversityButton = { "txt": "Build university
%arg2 gold", "loc": "the label of the button of building the University on the building tab" }; +locObj.eventWillStart = { "txt": " event will start in", "loc": "shows on the status bar if an event was announced" }; +locObj.eventWillEnd = { "txt": " event will end in", "loc": "shows on the status bar if an event was started" }; +locObj.eventHalloweenName = { "txt": "Halloween", "loc": "shows on the status bar if the event announced or online" }; +locObj.eventNewYearName = { "txt": "New Year", "loc": "shows on the status bar if the event announced or online" }; +locObj.yes = { "txt": "Sí", "loc": "Positive answer, happens in modal dialogues" }; +locObj.yesKillBloody = { "txt": "Sí ¡De la manera más sangrienta!", "loc": "NOT USED YET" }; +locObj.no = { "txt": "No", "loc": "Negative answer, happens in modal dialogues" }; +locObj.serverStatusSpn = { "txt": "Server: ", "loc": "showed in the status bar" }; +locObj.serverStatusND = { "txt": "n/d", "loc": "server status is no data" }; +locObj.serverStatusUp = { "txt": "Up", "loc": "server status is Up" }; +locObj.serverStatusDown = { "txt": "Down", "loc": "server status is Down" }; +locObj.online = { "txt": "Online: ", "loc": "label before the online users counter" }; +locObj.onlineValueND = { "txt": "n/d", "loc": "online users numbers has no data" }; +locObj.errCityLevelTooLowForSendingMsg = { "txt": "Sir Commander, your city level is too low for sending messages to other Lords", "loc": "happens when low-level user try to send msg in chat" } +locObj.userCntOne = { "txt": "user", "loc": "(one) user" }; +locObj.userCntTwoPlus = { "txt": "users", "loc": "two or more users" }; +locObj.savedCloudSuccessfully = { "txt": "game saved to the cloud successfully", "loc": "when cloud save completed successfully" }; +locObj.errNoCloudSave = { "txt": "you don't have savegame in the cloud", "loc": "could happen when trying to load a savegame from DB" }; +locObj.errGettingCloudSave = { "txt": "error while trying to get your cloudsave from the cloud", "loc": "could happen when trying to get a savegame from backend" }; +locObj.errLoadingCloudSave = { "txt": "error while processing your cloudsave", "loc": "could happen while loading cloudsave" }; +locObj.errGetSaveEndpoint = { "txt": "error from server. Are you logged in? Is server up?", "loc": "endpoint error from /get_savegame" }; +locObj.executedMsg = { "txt": "Ejecutaste a un ciudadano por %arg1.", "loc": "eventlog after the execution" };//TODO 'tu' most likely. need to change to 'usted'! +locObj.executedGainMsg = { "txt": "Tu tesoro se repuso con %arg1 de oro de la propiedad confiscada al ciudadano ejecutado", "loc": "eventlog after the execution" }; +locObj.executionAborted = { "txt": "Tienes muy pocos ciudadanos", "loc": "happens if you have too low amount of citizens" }; +locObj.cantUpkeepTreasuryGuards = { "txt": "¡Algunos guardias se fueron porque no les puedes pagar!", "loc": "in calculateTurn in case of money deficite" }; +locObj.fireInCity = { "txt": "¡Fuego en la ciudad!", "loc": "happens as part of random events" }; +locObj.rqtsHome = { "txt": "Desbloqueos por un evento", "loc": "Requirements for homes" }; +locObj.rqtsDef = { "txt": "Desbloqueos por un evento", "loc": "Requirements for defense buildings" }; +locObj.rqtsTreasury = { "txt": "Requiere %arg1 de oro para desbloquear", "loc": "Reqs for Treasury building" }; +locObj.rqtsGallows = { "txt": "Requiere %arg1 ciudadanos para desbloquear", "loc": "Reqs for Gallows" }; +locObj.rqtsFountain = { "txt": "Requiere %arg1 ciudadanos para desbloquear", "loc": "Reqs for Fountain" }; +locObj.rqtsStash = { "txt": "Requires Treasury and Unlocks by an event", "loc": "Reqs for Fountain" }; +locObj.rqtsStables = { "txt": "Requiere %arg1 ciudadanos para desbloquear", "loc": "Reqs for Stables" }; +locObj.rqtsArcheryRange = { "txt": "Requires %arg1 citizens and Stables", "loc": "Reqs for Archery Range" }; +locObj.rqtsInn = { "txt": "Requiere %arg1 ciudadanos para desbloquear", "loc": "Reqs for Inn" }; +locObj.rqtsUniversity = { "txt": "Unlocks in %arg1. Current year is %arg2", "loc": "Reqs for Konigsberg University" }; +locObj.rqtsCatherdal = { "txt": "Unlocks in 1380", "loc": "Reqs for Königsberg Cathedral" }; +locObj.helpDef = { "txt": "This building is needed for defending the city from intruders", "loc": "help message in the building tab" }; +locObj.helpHome = { "txt": "This building and its improvements is needed to raise your population limit", "loc": "help msg in the building tab" }; +locObj.helpTreasury = { "txt": "This building and its improvements is needed to raise your money limit.
This building allows you to hire treasury guards.
They are needed to minimize your chances to be robbed", "loc": "help msg in the building tab" }; +locObj.helpGallows = { "txt": "This building and its improvements is needed to execute your citizens.
It is also increase taxes and decrease birthrate and happiness.
If you build this building, you will not be able to build the Fountain!", "loc": "help msg in the building tab" }; +locObj.helpFountain = { "txt": "This building and its improvements is needed to place festivals.
It is also increase birthrate and happiness and decrease taxes.
If you build this building, you will not be able to build the Gallows!", "loc": "help msg in the building tab" }; +locObj.helpStash = { "txt": "This building and its improvements is needed to save your money from thieves, in case the thieves rob your treasury.
The higher level of Stash you have, the more you could hide in the Stash", "loc": "help msg in the building tab" }; +locObj.helpStables = { "txt": "This building and its improvements is needed to hire cavalry units.
The higher level of Stable you have, the more experienced troops you could hire there", "loc": "help msg in the building tab" }; +locObj.helpArcheryRange = { "txt": "This building and its improvements is needed to hire archery units.
The higher level of Archery range you have, the more experienced troops you could hire there", "loc": "help msg in the building tab" }; +locObj.helpInn = { "txt": "This building and its improvements is needed to hire heroes.
The higher level of Inn you have, the more experienced hero you could hire there", "loc": "help msg in the building tab" }; +locObj.helpUniversity = { "txt": "This building is required to research new technologies", "loc": "User saw this when moving the coursor above the university icon in Building tab" }; +locObj.callFiremen = { "txt": "¿Deberíamos llamar a los bomberos? Te costará %arg1 de oro.", "loc": "dialog happens when trying to get rid off the fire" }; +locObj.fireEndedByFireservice = { "txt": "los bomberos extinguieron el fuego", "loc": "happens after firemen ended the fire" }; +locObj.burnToAshes = { "txt": "¡Todo quedará en cenizas!", "loc": "happens if player decided not to pay to firemen" }; +locObj.rndEventsStealing = { "txt": "Así es la vida: ¡Ladrones robaron %arg1 de oro de tu tesoro!", "loc": "random events, stealings" }; +locObj.rndEventsLotteryWon = { "txt": "Ganaste %arg1 de oro en las apuestas", "loc": "random events lottery won msg" }; +locObj.locSaveGame = { "txt": "Guardar juego", "loc": "browser-wide savegame" }; +locObj.locLoadGame = { "txt": "Cargar juego", "loc": "load save from localStorage of the browser" }; +locObj.tabCity = { "txt": "Ciudad", "loc": "tabname in the tab bar" }; +locObj.tabSettings = { "txt": "Configuración", "loc": "tabname Settings in the tab bar" }; +locObj.tabBuilding = { "txt": "Construcción", "loc": "tabname Building in the tab bar" }; +locObj.tabHowToPlay = { "txt": "Cómo Jugar", "loc": "tabname How To Play, about and stuff in da bar" }; +locObj.tabDiscord = { "txt": "Discord", "loc": "tabname Discord with a Discord widget" }; +locObj.btnPutOutTheFire = { "txt": "Apagar el fuego", "loc": "button to extinguish the fire" }; +locObj.btnExecutePerson = { "txt": "Ejecutar a alguien", "loc": "button to execute somebody" }; +locObj.festivalConfirm = { "txt": "¿Quieres hacer un festival?\n¡Te costará %arg1 de oro!\n", "loc": "place festival confirmation dialogue" }; +locObj.festivalConfirmCooldown = { "txt": "Ya se hizo un festival hace poco.\nEl efecto de un festival sería menor.\n", "loc": "happens in case of Cooldown of the festivals" }; +locObj.eventItemCollected = { "txt": "The event item collected!", "loc": "happens when gathered an event item" }; +locObj.eventPledgeRecorded = { "txt": "Your pledge is recorded", "loc": "happens when the pledge was successfully recorded" }; +locObj.eventPledgeError = { "txt": "Your pledge couldn't be recorded. Are you logged in?", "loc": "happens when the pledge wasn't recorded" }; //TODO rewrite from tus to usted! -locObj.festivalGain = {"txt": "Tus ganancias por el destival son %arg1", "loc":"happens if the festival was profitable for budget"}; -locObj.festivalLoss = {"txt": "Tus pérdidas por el festival son %arg1", "loc":"happens if the festival was unprofitable for budget"}; -locObj.errAlreadyHasHero = {"txt": "¡Usted ya tiene un héroe!", "loc":"happens when trying to hire a hero, when you have one hired"}; -locObj.autosaveTurnedOn = {"txt": "Autoguardado encendido", "loc": "happens when autosave enabled"}; -locObj.autosaveTurnedOff = {"txt": "Autoguardado apagado", "loc": "happens when autosave disabled"}; +locObj.festivalGain = { "txt": "Tus ganancias por el destival son %arg1", "loc": "happens if the festival was profitable for budget" }; +locObj.festivalLoss = { "txt": "Tus pérdidas por el festival son %arg1", "loc": "happens if the festival was unprofitable for budget" }; +locObj.errAlreadyHasHero = { "txt": "¡Usted ya tiene un héroe!", "loc": "happens when trying to hire a hero, when you have one hired" }; +locObj.autosaveTurnedOn = { "txt": "Autoguardado encendido", "loc": "happens when autosave enabled" }; +locObj.autosaveTurnedOff = { "txt": "Autoguardado apagado", "loc": "happens when autosave disabled" }; locObj.downloadGame = { "txt": "Download game for playing off-grid (to play without Internet connection)", "loc": "download game successfully" }; -locObj.GallowsFountainChoiceConfirm = {"txt": "Estás apunto de construir %arg1.\n Si el objeto es construído, no podrás construir %arg2.\n ¿Estás seguro de tu decisión?", "loc":"happens when you are about to build Fountain or Gallows"}; -locObj.GallowsChoiceConfirm = {"txt": "Gallows", "loc": "your choice in GallowsFountainChoiceConfirm dialogue"}; -locObj.FountainBlocked = {"txt": "Fountain", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue"}; -locObj.FountainChoiceConfirm = {"txt": "Fountain", "loc": "your choice in GallowsFountainChoiceConfirm dialogue"}; -locObj.GallowsBlocked = {"txt": "Gallows", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue"}; -locObj.noStatsYet = {"txt": "Nada que mostrar aún, vuelve después", "loc":"happens when trying to open gold/pop stats"}; -locObj.tabSettings = {"txt": "Configuración", "loc":"Settings tab name"}; -locObj.tabSettingsBtnExportGame = {"txt": "Exportar Juego", "loc":"Export game button"}; -locObj.tabSettingsBtnImportGame = {"txt": "Importar Juego", "loc":"Import game button"}; -locObj.tabSettingsLblAutosave = {"txt": "Autoguardado", "loc": "Autsave label before the toggle"}; -locObj.tabSettingsBtnChangeColorMode = {"txt": "Cambiar modo de color", "loc": "settings tab change colour mode button"}; -locObj.tabSoundSettingsLblOption = {"txt": "Opción", "loc":"Sound settings tab, name of the option"}; -locObj.on = {"txt": "Encendido", "loc": "used on Sound Settings tab"}; -locObj.off = {"txt": "Apagado", "loc": "used on Sounds Settings tab"}; -locObj.tabSoundSettingsLblAllSoundEffects = {"txt":"Todos los efectos de sonido", "loc": "sound settings tab"}; -locObj.tabSoundSettingsLblAllEventsEffects = {"txt":"Efectos en todos los eventos", "loc": "sound settings tab"}; -locObj.tabSoundSettingsLblEffectsAR = {"txt": "Efectos en eventos que requieren una acción", "loc":"sound settings tab"}; -locObj.tabSoundSettingsAllMusic = {"txt": "Toda la música", "loc":"sound settings tab"}; -locObj.tabSoundSettingsScMusic = {"txt": "Música de conocimiento y diálogos", "loc": "sounds settings tab"}; -locObj.btnBack = {"txt": "Volver", "loc":"sound settings tab"}; -locObj.lblSoundMenu = {"txt": "Configuraciones de efectos de sonido y música", "loc": "sounds settings tab"}; -locObj.tabSettingsBtnOpenSoundSettings = {"txt": "Abrir configuraciones de sonido", "loc":"settings tab"}; -locObj.tabSettingsLblMobileUI = {"txt": "Interfaz Móvil", "loc": "settings tab"}; -locObj.tabSettingsLblLogSize = {"txt":"Tamaño del registro de eventos", "loc": "settings tab"}; -locObj.tabSettingsLblLines = {"txt": "líneas", "loc": "settings tab"}; -locObj.goldAddedToTreasury = {"txt": "%arg1 gold has been added to your treasury", "loc":"gold added when a hero returned to the city"}; -locObj.amber = {"txt": "Amber are most valued currency", "loc": "happens on click on amber"}; -locObj.lblGarrison = {"txt": "Garnison", "loc": "label in Garrison tab"}; -locObj.btnFire = {"txt": "Fuego", "loc": "button in Garrison tab"}; -locObj.btnHire = {"txt": "Contratar", "loc": "button in Garrison tab"}; -locObj.imgCastellan = {"txt": "Castellán", "loc": "troops management screen"}; -locObj.imgHero = {"txt":"Héroe","loc":"troops management screen"}; -locObj.imgBrotherSergeants = {"txt": "hermano-sergentos", "loc": "troops management screen"}; -locObj.imgTurkopols = {"txt": "turkopolos", "loc": "troops management screen"}; -locObj.imgBrotherKnights = {"txt": "hermano-caballeros", "loc": "troops management screen"}; -locObj.btnBuildHouse = {"txt": "Construir Casa
nvl %arg1
%arg2 de oro", "loc":"building tab"}; -locObj.btnBuildWall = {"txt": "Construir Muro
nvl %arg1
%arg2 de oro", "loc":"building tab"}; -locObj.btnBuildTower = {"txt": "Construir Torre
nvl %arg1
%arg2 de oro", "loc":"building tab"}; -locObj.btnBuildCastle = {"txt": "Build Castle
lvl %arg1
%arg2 gold", "loc":"building tab"}; -locObj.btnBuildTreasury = {"txt": "Construir Tesorería
nvl %arg1
%arg2 de oro", "loc": "building tab"}; -locObj.btnBuildGallows = {"txt": "Construir Horca
nvl %arg1
%arg2 de oro", "loc": "building tab"}; -locObj.btnBuildFountain = {"txt": "Construir Fuente
nvl %arg1
%arg2 de oro", "loc": "building tab"}; -locObj.btnBuildStash = {"txt": "Construir Escondite
nvl %arg1
%arg2 de oro", "loc": "building tab"}; -locObj.btnBuildInn = {"txt": "Construir Posada
nvl %arg1
%arg2 de oro", "loc": "building tab"}; -locObj.btnBuildStables = {"txt": "Build Stable
lvl %arg1
%arg2 gold", "loc":"building tab"}; -locObj.btnBuildArcheryRange = {"txt": "Build Archery range
lvl %arg1
%arg2 gold", "loc":"building tab"}; -locObj.lblAbout_h1 = { "txt": "1255: Rise of Teutonics"}; -locObj.lblAbout_h2 = { "txt": "Cómo Jugar"}; -locObj.lblAbout_wiki = { "txt": "wiki: https://github.com/Areso/1255-burgomaster/wiki
"}; -locObj.lblAbout_feedback = { "txt": "feedback https://form.jotform.com/211014175318041
"}; +locObj.GallowsFountainChoiceConfirm = { "txt": "Estás apunto de construir %arg1.\n Si el objeto es construído, no podrás construir %arg2.\n ¿Estás seguro de tu decisión?", "loc": "happens when you are about to build Fountain or Gallows" }; +locObj.GallowsChoiceConfirm = { "txt": "Gallows", "loc": "your choice in GallowsFountainChoiceConfirm dialogue" }; +locObj.FountainBlocked = { "txt": "Fountain", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue" }; +locObj.FountainChoiceConfirm = { "txt": "Fountain", "loc": "your choice in GallowsFountainChoiceConfirm dialogue" }; +locObj.GallowsBlocked = { "txt": "Gallows", "loc": "will be blocked in GallowsFountainChoiceConfirm dialogue" }; +locObj.noStatsYet = { "txt": "Nada que mostrar aún, vuelve después", "loc": "happens when trying to open gold/pop stats" }; +locObj.tabSettings = { "txt": "Configuración", "loc": "Settings tab name" }; +locObj.tabSettingsBtnExportGame = { "txt": "Exportar Juego", "loc": "Export game button" }; +locObj.tabSettingsBtnImportGame = { "txt": "Importar Juego", "loc": "Import game button" }; +locObj.tabSettingsLblAutosave = { "txt": "Autoguardado", "loc": "Autsave label before the toggle" }; +locObj.tabSettingsBtnChangeColorMode = { "txt": "Cambiar modo de color", "loc": "settings tab change colour mode button" }; +locObj.tabSoundSettingsLblOption = { "txt": "Opción", "loc": "Sound settings tab, name of the option" }; +locObj.on = { "txt": "Encendido", "loc": "used on Sound Settings tab" }; +locObj.off = { "txt": "Apagado", "loc": "used on Sounds Settings tab" }; +locObj.tabSoundSettingsLblAllSoundEffects = { "txt": "Todos los efectos de sonido", "loc": "sound settings tab" }; +locObj.tabSoundSettingsLblAllEventsEffects = { "txt": "Efectos en todos los eventos", "loc": "sound settings tab" }; +locObj.tabSoundSettingsLblEffectsAR = { "txt": "Efectos en eventos que requieren una acción", "loc": "sound settings tab" }; +locObj.tabSoundSettingsAllMusic = { "txt": "Toda la música", "loc": "sound settings tab" }; +locObj.tabSoundSettingsScMusic = { "txt": "Música de conocimiento y diálogos", "loc": "sounds settings tab" }; +locObj.btnBack = { "txt": "Volver", "loc": "sound settings tab" }; +locObj.lblSoundMenu = { "txt": "Configuraciones de efectos de sonido y música", "loc": "sounds settings tab" }; +locObj.tabSettingsBtnOpenSoundSettings = { "txt": "Abrir configuraciones de sonido", "loc": "settings tab" }; +locObj.tabSettingsLblMobileUI = { "txt": "Interfaz Móvil", "loc": "settings tab" }; +locObj.tabSettingsLblLogSize = { "txt": "Tamaño del registro de eventos", "loc": "settings tab" }; +locObj.tabSettingsLblLines = { "txt": "líneas", "loc": "settings tab" }; +locObj.goldAddedToTreasury = { "txt": "%arg1 gold has been added to your treasury", "loc": "gold added when a hero returned to the city" }; +locObj.amber = { "txt": "Amber are most valued currency", "loc": "happens on click on amber" }; +locObj.lblGarrison = { "txt": "Garnison", "loc": "label in Garrison tab" }; +locObj.btnFire = { "txt": "Fuego", "loc": "button in Garrison tab" }; +locObj.btnHire = { "txt": "Contratar", "loc": "button in Garrison tab" }; +locObj.imgCastellan = { "txt": "Castellán", "loc": "troops management screen" }; +locObj.imgHero = { "txt": "Héroe", "loc": "troops management screen" }; +locObj.imgBrotherSergeants = { "txt": "hermano-sergentos", "loc": "troops management screen" }; +locObj.imgTurkopols = { "txt": "turkopolos", "loc": "troops management screen" }; +locObj.imgBrotherKnights = { "txt": "hermano-caballeros", "loc": "troops management screen" }; +locObj.btnBuildHouse = { "txt": "Construir Casa
nvl %arg1
%arg2 de oro", "loc": "building tab" }; +locObj.btnBuildWall = { "txt": "Construir Muro
nvl %arg1
%arg2 de oro", "loc": "building tab" }; +locObj.btnBuildTower = { "txt": "Construir Torre
nvl %arg1
%arg2 de oro", "loc": "building tab" }; +locObj.btnBuildCastle = { "txt": "Build Castle
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.btnBuildTreasury = { "txt": "Construir Tesorería
nvl %arg1
%arg2 de oro", "loc": "building tab" }; +locObj.btnBuildGallows = { "txt": "Construir Horca
nvl %arg1
%arg2 de oro", "loc": "building tab" }; +locObj.btnBuildFountain = { "txt": "Construir Fuente
nvl %arg1
%arg2 de oro", "loc": "building tab" }; +locObj.btnBuildStash = { "txt": "Construir Escondite
nvl %arg1
%arg2 de oro", "loc": "building tab" }; +locObj.btnBuildInn = { "txt": "Construir Posada
nvl %arg1
%arg2 de oro", "loc": "building tab" }; +locObj.btnBuildStables = { "txt": "Build Stable
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.btnBuildArcheryRange = { "txt": "Build Archery range
lvl %arg1
%arg2 gold", "loc": "building tab" }; +locObj.lblAbout_h1 = { "txt": "1255: Rise of Teutonics" }; +locObj.lblAbout_h2 = { "txt": "Cómo Jugar" }; +locObj.lblAbout_wiki = { "txt": "wiki: 1255 Burgomaster's Wiki
" }; +locObj.lblAbout_feedback = { "txt": "feedback https://form.jotform.com/211014175318041
" }; locObj.lblAbout_meh = { "txt": "Este juego se basa en tics. Un tic del reloj ocurre cada 30 segundos.\n" + "Después de cada vuelta del reloj tu población te paga impuestos y crece.\n" + @@ -675,122 +675,123 @@ locObj.lblAbout_meh = { "Las Fuentes incrementarán la felicidad y la velocidad de crecimiento de la población\n" + "Las Horcas reducirán la felicidad y el crecimiento de la población, aumentarán los impuestos y te permitirán ejecutar pobladores.\n" + "Ejecutar un poblador confiscará su propiedad y la agregará a tu tesoro en forma de oro.\n" + - "Se requiere un Escondite para disminuir tus pérdidas por robo. No puedes construir un Escondite sin una Tesorería.\n"+ - "Este es un juego de un jugador."}; - locObj.lblAbout_supLang = { - "txt": "Idiomas Soportados (IS): Inglés (English), Ruso (Русский).\n"+ - "Idiomas Soportados por la Comunidad (ISC): Alemán (Deutsch), Castellano.\n"+ - "El autor no puede proveer ayuda ni respuestas a preguntas realizadas en los ISC,\n"+ - "aún cuando (partes de) el juego están en ISC.\n"+ - "Además, cualquier traducción de ISC puede tener errores o partes sin traducir\n"+ - "o partes de la traducción parcialmente desactualizadas.\n"+ - "Puedes ayudar con las traducciones del juego acá:"}; - locObj.lblAbout_googleLang = { "txt": "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
"}; + "Se requiere un Escondite para disminuir tus pérdidas por robo. No puedes construir un Escondite sin una Tesorería.\n" + + "Este es un juego de un jugador." +}; +locObj.lblAbout_supLang = { + "txt": "Idiomas Soportados (IS): Inglés (English), Ruso (Русский).\n" + + "Idiomas Soportados por la Comunidad (ISC): Alemán (Deutsch), Castellano.\n" + + "El autor no puede proveer ayuda ni respuestas a preguntas realizadas en los ISC,\n" + + "aún cuando (partes de) el juego están en ISC.\n" + + "Además, cualquier traducción de ISC puede tener errores o partes sin traducir\n" + + "o partes de la traducción parcialmente desactualizadas.\n" +}; +locObj.lblAbout_googleLang = { "txt": "Puedes ayudar con las traducciones del juego acá: traducciones de documentos de google para el juego
" }; -locObj.cityScreenSawmill = {"txt": "aserradero", "loc": "cityscreen"}; -locObj.cityScreenWishingWell = {"txt": "pozo de los deseos", "loc": "cityscreen"}; -locObj.cityScreenWall = {"txt": "muro", "loc": "cityscreen"}; -locObj.cityScreenStoneWall = {"txt": "muro de piedra", "loc": "cityscreen"}; -locObj.cityScreenTower = {"txt": "torre", "loc": "cityscreen"}; -locObj.cityScreenStoneTower = {"txt": "torre de piedra", "loc": "cityscreen"}; -locObj.cityScreenHouse = {"txt": "house", "loc": "cityscreen"}; -locObj.cityScreenHouses = {"txt": "houses", "loc": "cityscreen"}; -locObj.cityScreenInn = {"txt": "inn", "loc": "cityscreen"}; -locObj.cityScreenGallows = {"txt": "gallows", "loc": "cityscreen"}; -locObj.cityScreenFountain = {"txt": "fountain", "loc": "cityscreen"}; -locObj.cityScreenTreasury = {"txt": "treasury", "loc": "cityscreen"}; -locObj.resourceGold = {"txt": "gold", "loc": "resource panel"}; -locObj.resourcePop = {"txt": "population", "loc": "resource panel"}; -locObj.cityScreenArcheryRange = {"txt": "archery range", "loc":"cityscreen"}; -locObj.paginationStart = {"txt": "To the beginning", "loc": "stat pages, to the start button"}; -locObj.paginationPrevious = {"txt": "Previous", "loc": "stat pages, previous page"}; -locObj.paginationNext = {"txt": "Next", "loc": "stat pages, next page btn"}; -locObj.paginationCurrent = {"txt": "To the current", "loc": "stat pages, current btn"}; -locObj.tabPopHistory = {"txt": "Population history tab", "loc": "Label in Pop history tab"}; -locObj.tabPopHistoryCurrentLimit = {"txt": "Current population limit is %arg1", "loc": "Label current pop limit"}; -locObj.tabGoldHistoryCurrentLimit = {"txt": "Current gold limit is %arg1", "loc": "label current gold limit"}; -locObj.tabGoldHistory = {"txt": "Gold history tab", "loc":"Label in Gold history tab"}; -locObj.dayAcronym = {"txt": "D", "loc": "used for countdown in events"}; -locObj.hourAcronym = {"txt": "H", "loc": "used for countdown in events"}; -locObj.minuteAcronym = {"txt": "M", "loc": "used for countdown in events"}; -locObj.countDownBeforeEventStarts = {"txt": "This is the time amount before an event will start", "loc": "resource panel?"}; -locObj.countDownBeforeEventEnds = {"txt": "This is the time amount before the event will end", "loc": "resource panel?"}; -locObj.mapRegenerate = {"txt": "The sky above the city darkened to black, lightning bolts made such a sight, and suddenly all stopped", "loc": "after pressed generate new map button"}; -locObj.day = {"txt": "Día", "loc": "occurs in autobattles logs"}; -locObj.autocampaignWithdrawErr = {"txt": "Your hero needs to be in a autocampaign to do that!", "loc":"happens when failing to withdraw the hero from autocampaign"}; -locObj.autocampaignWithdrawDialogConfirm = {"txt": "Do you want to withdraw your hero?", "loc": "happens when you pressing withdraw button"}; -locObj.heroLost = {"txt":"the hero and all troops met their death in the glory combat", "loc": "happens when the hero is lost"}; -locObj.autocampaignHeroCrushedVastEnemyArmy = {"txt":"the hero has met great number of enemies and crash them. The battle brings to the hero money and experience!", "loc":"autocampaign journal with aggressive stance"}; -locObj.autocampaignHeroCrushedSmallEnemyArmy = {"txt": "the hero has met small number of enemies and crash them. The battle brings to the hero a bit of money and experience", "loc":"autocampaign journal with cautious stance"}; -locObj.autocampaignNoEvents = {"txt": "the day was very boring. Only one pagan was killed (a hunter took a pagan as a prey. so sad!)", "loc":"autocampaign log no events"}; -locObj.autocampaignLootList = {"txt": "looted trophies from the campaign: ", "loc":"autocampaign"}; -locObj.dialogDismissHeroConfirm = {"txt": "Do you want to dismiss hero with all troops?", "loc":"when dismiss hero button pressed"}; -locObj.dialogDismissHeroNoOption = {"txt": "Nope. I will move all units from the hero first", "loc":"when you declined"}; -locObj.dialogMapRegenerate = {"txt": "Do you want to generate a new map? It would cost %arg1 gold to you!", "loc": "map regenerate confirmation dialogue"}; -locObj.errMapRegenerateHeroOnMap = {"txt": "You couldn't do it while your hero on the map!", "loc": "happens if you try to make new map while your hero on an existing one"}; -locObj.tabInnWelcome = {"txt": "A sly innkeeper winks at you: Your gold, my food and stories, milord. Welcome to inn!", "loc":"label in Inn tab"}; -locObj.tabInnBtnHireHero = {"txt": "Hire hero
lvl %arg1
%arg2 gold", "loc": "tab Inn, button Hire Hero"}; -locObj.heroStatLuck = {"txt": "luck", "loc": "hero stat"}; -locObj.heroStatSuperstition = {"txt": "superstition", "loc": "hero stat"}; -locObj.heroStatMorale = {"txt": "morale", "loc": "hero stat"}; -locObj.heroFoundMoney = {"txt": "the hero found some money: %arg1", "loc": "when a chest found on Adventure Map"}; -locObj.heroStatInt = {"txt": "Intelligence", "loc": "hero stat"}; -locObj.heroStatLevel = {"txt": "Level", "loc": "hero stat"}; -locObj.heroStatAtk = {"txt": "Attack", "loc": "hero stat"}; -locObj.heroStatDef = {"txt": "Defense", "loc": "hero stat"}; -locObj.heroStatMP = {"txt": "Manapoints", "loc": "hero stat"}; -locObj.heroStatSpellpower = {"txt": "Spellpower", "loc": "hero stat"}; -locObj.heroExp = {"txt": "Experience", "loc": "hero stat"}; -locObj.heroCurrentExp = {"txt": "Current experience", "loc": "hero stat"}; -locObj.heroNextLvlExp = {"txt": "Experience required for next level", "loc": "hero stat"}; -locObj.heroClasses = {"txt": ["Knight", "Monk"], "loc": "inn tab"}; -locObj.lblClass = {"txt": "Class", "loc": "inn tab"}; -locObj.lblHeroLocation = {"txt":"Hero now is ", "loc":"inn tab"}; -locObj.heroInTown = {"txt": " in town", "loc": "used to build hero activity line"}; -locObj.heroInAutocampaign = {"txt": " in autocampaign", "loc": "used to build hero activity line"}; -locObj.heroOnAdventureMap = {"txt": " on the Adventure Map", "loc": "used to build hero activity line"}; -locObj.heroActivitiesInTown = {"txt": ["eating", "drinking","gambling","training","fistfighting","resting"], "loc": "used to build hero activity line"}; -locObj.heroActivitiesInAutocampaign = {"txt":["marching back","marching","killing pagans", "converting pagans","making a camp","looting dead pagans"], "loc": "used to build hero activity line"}; -locObj.heroActivitiesOnAdventureMap = {"txt":["marching", "making a camp","looting"],"loc": "used to build hero activity line"}; -locObj.lblDistanceFromTown = {"txt": "Days from the city", "loc": "inn tab"}; -locObj.directionFromTown = {"txt": "From the city", "loc": "inn tab"}; -locObj.directionToTown = {"txt": "To the city", "loc": "inn tab"}; -locObj.goldInHerosPurse = {"txt": "Gold in hero's purse", "loc": "inn tab"}; -locObj.lblDirection = {"txt": "Direction: ", "loc": "inn tab"}; -locObj.btnDismissHero = {"txt": "Dismiss hero", "loc": "inn tab"}; -locObj.btnAutocampaignSendHero = {"txt": "Send hero to autocampaign", "loc": "inn tab"}; -locObj.btnAutocampaignWithdrawHero = {"txt": "Withdraw the hero", "loc": "inn tab"}; -locObj.btnAutocampaignOpenJournal = {"txt": "Open journal", "loc": "inn tab"}; -locObj.btnUseTowngateScroll = {"txt": "Use towngate scroll", "loc": "inn tab"}; -locObj.btnGoToAdvenureMap = {"txt": "Go to the adventure map", "loc": "inn tab"}; -locObj.btnRegenerateMap = {"txt": "Regenerate map", "loc": "inn tab"}; -locObj.msgHeroAdvancedToNextLvl = {"txt": "Your hero got promoted to the next level for his brilliant service", "loc": "event log?"}; -locObj.dlgHeroStance = {"txt": "Do you want aggressive stance (higher reward, higher risk) or cautious one?", "loc": "dialog happens when hero leaving town"}; -locObj.ansHeroAggressiveStance = {"txt": "Aggressive! Want blood and money!", "loc": "One of the options to the locObj.dlgHeroStance question"}; -locObj.ansHeroCautiousStance = {"txt": "Cautious. What good of gold if your hero is dead?", "loc": "One of the options to the locObj.dlgHeroStance question"}; -locObj.errHeroHasNoTroops = {"txt": "You need to add some troops to hero's squad first!", "loc": "when trying to send hero outta city with no troops"}; -locObj.errNoHero = {"txt": "You need a hero to do that!", "loc": "when trying to invoke hero-related actions with no hero"}; -locObj.msgAfterSellToTrader = {"txt": "It is a pleasure to have a business with you. Come again.", "loc": "not used so far"}; -locObj.msgAfterBuyFromTrader = {"txt": "Congratulations with your purchase! you made good choice!", "loc": "not used so far"}; -locObj.artifactTowngateAfterUse = {"txt": "The hero is just behind the city now!", "loc": "after the artefact was used"}; -locObj.artifactErrNoTowngate = {"txt": "You don't have a Towngate scroll!", "loc": "when trying to use towngate scroll witout having one"}; -locObj.artifactErrWrongDirection = {"txt": "First, head the hero to the town!", "loc": "happens when try to cast towngate and moving from the town"}; -locObj.lblGoodForSale = {"txt": "The blackmarket's merchant offers these goods for sale!", "loc":"blackmarket tab, good for sale from the NPC"}; -locObj.lblHeroGoodsFoSale = {"txt": "The blackmarket's merchant could buy your goods.", "loc":"blackmarket tab"}; +locObj.cityScreenSawmill = { "txt": "aserradero", "loc": "cityscreen" }; +locObj.cityScreenWishingWell = { "txt": "pozo de los deseos", "loc": "cityscreen" }; +locObj.cityScreenWall = { "txt": "muro", "loc": "cityscreen" }; +locObj.cityScreenStoneWall = { "txt": "muro de piedra", "loc": "cityscreen" }; +locObj.cityScreenTower = { "txt": "torre", "loc": "cityscreen" }; +locObj.cityScreenStoneTower = { "txt": "torre de piedra", "loc": "cityscreen" }; +locObj.cityScreenHouse = { "txt": "house", "loc": "cityscreen" }; +locObj.cityScreenHouses = { "txt": "houses", "loc": "cityscreen" }; +locObj.cityScreenInn = { "txt": "inn", "loc": "cityscreen" }; +locObj.cityScreenGallows = { "txt": "gallows", "loc": "cityscreen" }; +locObj.cityScreenFountain = { "txt": "fountain", "loc": "cityscreen" }; +locObj.cityScreenTreasury = { "txt": "treasury", "loc": "cityscreen" }; +locObj.resourceGold = { "txt": "gold", "loc": "resource panel" }; +locObj.resourcePop = { "txt": "population", "loc": "resource panel" }; +locObj.cityScreenArcheryRange = { "txt": "archery range", "loc": "cityscreen" }; +locObj.paginationStart = { "txt": "To the beginning", "loc": "stat pages, to the start button" }; +locObj.paginationPrevious = { "txt": "Previous", "loc": "stat pages, previous page" }; +locObj.paginationNext = { "txt": "Next", "loc": "stat pages, next page btn" }; +locObj.paginationCurrent = { "txt": "To the current", "loc": "stat pages, current btn" }; +locObj.tabPopHistory = { "txt": "Population history tab", "loc": "Label in Pop history tab" }; +locObj.tabPopHistoryCurrentLimit = { "txt": "Current population limit is %arg1", "loc": "Label current pop limit" }; +locObj.tabGoldHistoryCurrentLimit = { "txt": "Current gold limit is %arg1", "loc": "label current gold limit" }; +locObj.tabGoldHistory = { "txt": "Gold history tab", "loc": "Label in Gold history tab" }; +locObj.dayAcronym = { "txt": "D", "loc": "used for countdown in events" }; +locObj.hourAcronym = { "txt": "H", "loc": "used for countdown in events" }; +locObj.minuteAcronym = { "txt": "M", "loc": "used for countdown in events" }; +locObj.countDownBeforeEventStarts = { "txt": "This is the time amount before an event will start", "loc": "resource panel?" }; +locObj.countDownBeforeEventEnds = { "txt": "This is the time amount before the event will end", "loc": "resource panel?" }; +locObj.mapRegenerate = { "txt": "The sky above the city darkened to black, lightning bolts made such a sight, and suddenly all stopped", "loc": "after pressed generate new map button" }; +locObj.day = { "txt": "Día", "loc": "occurs in autobattles logs" }; +locObj.autocampaignWithdrawErr = { "txt": "Your hero needs to be in a autocampaign to do that!", "loc": "happens when failing to withdraw the hero from autocampaign" }; +locObj.autocampaignWithdrawDialogConfirm = { "txt": "Do you want to withdraw your hero?", "loc": "happens when you pressing withdraw button" }; +locObj.heroLost = { "txt": "the hero and all troops met their death in the glory combat", "loc": "happens when the hero is lost" }; +locObj.autocampaignHeroCrushedVastEnemyArmy = { "txt": "the hero has met great number of enemies and crash them. The battle brings to the hero money and experience!", "loc": "autocampaign journal with aggressive stance" }; +locObj.autocampaignHeroCrushedSmallEnemyArmy = { "txt": "the hero has met small number of enemies and crash them. The battle brings to the hero a bit of money and experience", "loc": "autocampaign journal with cautious stance" }; +locObj.autocampaignNoEvents = { "txt": "the day was very boring. Only one pagan was killed (a hunter took a pagan as a prey. so sad!)", "loc": "autocampaign log no events" }; +locObj.autocampaignLootList = { "txt": "looted trophies from the campaign: ", "loc": "autocampaign" }; +locObj.dialogDismissHeroConfirm = { "txt": "Do you want to dismiss hero with all troops?", "loc": "when dismiss hero button pressed" }; +locObj.dialogDismissHeroNoOption = { "txt": "Nope. I will move all units from the hero first", "loc": "when you declined" }; +locObj.dialogMapRegenerate = { "txt": "Do you want to generate a new map? It would cost %arg1 gold to you!", "loc": "map regenerate confirmation dialogue" }; +locObj.errMapRegenerateHeroOnMap = { "txt": "You couldn't do it while your hero on the map!", "loc": "happens if you try to make new map while your hero on an existing one" }; +locObj.tabInnWelcome = { "txt": "A sly innkeeper winks at you: Your gold, my food and stories, milord. Welcome to inn!", "loc": "label in Inn tab" }; +locObj.tabInnBtnHireHero = { "txt": "Hire hero
lvl %arg1
%arg2 gold", "loc": "tab Inn, button Hire Hero" }; +locObj.heroStatLuck = { "txt": "luck", "loc": "hero stat" }; +locObj.heroStatSuperstition = { "txt": "superstition", "loc": "hero stat" }; +locObj.heroStatMorale = { "txt": "morale", "loc": "hero stat" }; +locObj.heroFoundMoney = { "txt": "the hero found some money: %arg1", "loc": "when a chest found on Adventure Map" }; +locObj.heroStatInt = { "txt": "Intelligence", "loc": "hero stat" }; +locObj.heroStatLevel = { "txt": "Level", "loc": "hero stat" }; +locObj.heroStatAtk = { "txt": "Attack", "loc": "hero stat" }; +locObj.heroStatDef = { "txt": "Defense", "loc": "hero stat" }; +locObj.heroStatMP = { "txt": "Manapoints", "loc": "hero stat" }; +locObj.heroStatSpellpower = { "txt": "Spellpower", "loc": "hero stat" }; +locObj.heroExp = { "txt": "Experience", "loc": "hero stat" }; +locObj.heroCurrentExp = { "txt": "Current experience", "loc": "hero stat" }; +locObj.heroNextLvlExp = { "txt": "Experience required for next level", "loc": "hero stat" }; +locObj.heroClasses = { "txt": ["Knight", "Monk"], "loc": "inn tab" }; +locObj.lblClass = { "txt": "Class", "loc": "inn tab" }; +locObj.lblHeroLocation = { "txt": "Hero now is ", "loc": "inn tab" }; +locObj.heroInTown = { "txt": " in town", "loc": "used to build hero activity line" }; +locObj.heroInAutocampaign = { "txt": " in autocampaign", "loc": "used to build hero activity line" }; +locObj.heroOnAdventureMap = { "txt": " on the Adventure Map", "loc": "used to build hero activity line" }; +locObj.heroActivitiesInTown = { "txt": ["eating", "drinking", "gambling", "training", "fistfighting", "resting"], "loc": "used to build hero activity line" }; +locObj.heroActivitiesInAutocampaign = { "txt": ["marching back", "marching", "killing pagans", "converting pagans", "making a camp", "looting dead pagans"], "loc": "used to build hero activity line" }; +locObj.heroActivitiesOnAdventureMap = { "txt": ["marching", "making a camp", "looting"], "loc": "used to build hero activity line" }; +locObj.lblDistanceFromTown = { "txt": "Days from the city", "loc": "inn tab" }; +locObj.directionFromTown = { "txt": "From the city", "loc": "inn tab" }; +locObj.directionToTown = { "txt": "To the city", "loc": "inn tab" }; +locObj.goldInHerosPurse = { "txt": "Gold in hero's purse", "loc": "inn tab" }; +locObj.lblDirection = { "txt": "Direction: ", "loc": "inn tab" }; +locObj.btnDismissHero = { "txt": "Dismiss hero", "loc": "inn tab" }; +locObj.btnAutocampaignSendHero = { "txt": "Send hero to autocampaign", "loc": "inn tab" }; +locObj.btnAutocampaignWithdrawHero = { "txt": "Withdraw the hero", "loc": "inn tab" }; +locObj.btnAutocampaignOpenJournal = { "txt": "Open journal", "loc": "inn tab" }; +locObj.btnUseTowngateScroll = { "txt": "Use towngate scroll", "loc": "inn tab" }; +locObj.btnGoToAdvenureMap = { "txt": "Go to the adventure map", "loc": "inn tab" }; +locObj.btnRegenerateMap = { "txt": "Regenerate map", "loc": "inn tab" }; +locObj.msgHeroAdvancedToNextLvl = { "txt": "Your hero got promoted to the next level for his brilliant service", "loc": "event log?" }; +locObj.dlgHeroStance = { "txt": "Do you want aggressive stance (higher reward, higher risk) or cautious one?", "loc": "dialog happens when hero leaving town" }; +locObj.ansHeroAggressiveStance = { "txt": "Aggressive! Want blood and money!", "loc": "One of the options to the locObj.dlgHeroStance question" }; +locObj.ansHeroCautiousStance = { "txt": "Cautious. What good of gold if your hero is dead?", "loc": "One of the options to the locObj.dlgHeroStance question" }; +locObj.errHeroHasNoTroops = { "txt": "You need to add some troops to hero's squad first!", "loc": "when trying to send hero outta city with no troops" }; +locObj.errNoHero = { "txt": "You need a hero to do that!", "loc": "when trying to invoke hero-related actions with no hero" }; +locObj.msgAfterSellToTrader = { "txt": "It is a pleasure to have a business with you. Come again.", "loc": "not used so far" }; +locObj.msgAfterBuyFromTrader = { "txt": "Congratulations with your purchase! you made good choice!", "loc": "not used so far" }; +locObj.artifactTowngateAfterUse = { "txt": "The hero is just behind the city now!", "loc": "after the artefact was used" }; +locObj.artifactErrNoTowngate = { "txt": "You don't have a Towngate scroll!", "loc": "when trying to use towngate scroll witout having one" }; +locObj.artifactErrWrongDirection = { "txt": "First, head the hero to the town!", "loc": "happens when try to cast towngate and moving from the town" }; +locObj.lblGoodForSale = { "txt": "The blackmarket's merchant offers these goods for sale!", "loc": "blackmarket tab, good for sale from the NPC" }; +locObj.lblHeroGoodsFoSale = { "txt": "The blackmarket's merchant could buy your goods.", "loc": "blackmarket tab" }; //TODO chech the following three, they aren't in use right now for some reason! -locObj.tabBlackMarketlblPrice = {"txt": "price ", "loc": "blackmarket tab"}; -locObj.btnBuySelected = {"txt": "Buy selected", "loc": "blackmarket tab"}; -locObj.btnSellSelected = {"txt": "Sell selected", "loc": "blackmarket tab"}; -locObj.lblFirebrigade = {"txt": "Fire brigade", "loc": "firebrigade tab title"}; -locObj.lblFireServiceStatus = {"txt": "The fire service is", "loc": "fireservice service label"}; -locObj.onDuty = {"txt": "on duty", "loc":"a fire service status - enabled"}; -locObj.offDuty = {"txt": "off duty", "loc":"a fire service status - disabled"}; -locObj.lblFirebrigadeUpkeep = {"txt":"The price of sustain of the service is", "loc":"firebrigade tab"}; -locObj.fireExtinguishingProgress = {"txt": "%arg1% of fire extinguished", "loc":"firebrigade tab"}; -locObj.heroTroopsUpkeepSource = {"txt": "The primary source of payments to the hero's troops is ", "loc": "inn tab"}; -locObj.noUpkeepSergeantsDismissed = {"txt": "You can't afford upkeep your sergeants. they are dismissed", "loc":"happens in calcTurn if no money for sergeants"}; -locObj.noUpkeepTurkopolsDismissed = {"txt": "You can't afford upkeep your turkopols. they are dismissed", "loc":"happens in calcTurn if no money for turkopols"}; -locObj.noUpkeepKnightsDismissed = {"txt": "You can't afford upkeep your knights. they are dismissed", "loc":"happens in calcTurn if no money for knights"}; -locObj.noUpkeepFirebrigadeDismissed = {"txt": "You can't afford upkeep your fireguard team. they are dismissed", "loc": "happens in calcTurn if no money for firebrigade"}; -locObj.heroTroopsUpkeepSrcHeroPurse = {"txt": "the hero's purse", "loc": "inn tab"}; -locObj.heroTroopsUpkeepSrcTreasury = {"txt": "the treasury", "loc": "inn tab"}; \ No newline at end of file +locObj.tabBlackMarketlblPrice = { "txt": "price ", "loc": "blackmarket tab" }; +locObj.btnBuySelected = { "txt": "Buy selected", "loc": "blackmarket tab" }; +locObj.btnSellSelected = { "txt": "Sell selected", "loc": "blackmarket tab" }; +locObj.lblFirebrigade = { "txt": "Fire brigade", "loc": "firebrigade tab title" }; +locObj.lblFireServiceStatus = { "txt": "The fire service is", "loc": "fireservice service label" }; +locObj.onDuty = { "txt": "on duty", "loc": "a fire service status - enabled" }; +locObj.offDuty = { "txt": "off duty", "loc": "a fire service status - disabled" }; +locObj.lblFirebrigadeUpkeep = { "txt": "The price of sustain of the service is", "loc": "firebrigade tab" }; +locObj.fireExtinguishingProgress = { "txt": "%arg1% of fire extinguished", "loc": "firebrigade tab" }; +locObj.heroTroopsUpkeepSource = { "txt": "The primary source of payments to the hero's troops is ", "loc": "inn tab" }; +locObj.noUpkeepSergeantsDismissed = { "txt": "You can't afford upkeep your sergeants. they are dismissed", "loc": "happens in calcTurn if no money for sergeants" }; +locObj.noUpkeepTurkopolsDismissed = { "txt": "You can't afford upkeep your turkopols. they are dismissed", "loc": "happens in calcTurn if no money for turkopols" }; +locObj.noUpkeepKnightsDismissed = { "txt": "You can't afford upkeep your knights. they are dismissed", "loc": "happens in calcTurn if no money for knights" }; +locObj.noUpkeepFirebrigadeDismissed = { "txt": "You can't afford upkeep your fireguard team. they are dismissed", "loc": "happens in calcTurn if no money for firebrigade" }; +locObj.heroTroopsUpkeepSrcHeroPurse = { "txt": "the hero's purse", "loc": "inn tab" }; +locObj.heroTroopsUpkeepSrcTreasury = { "txt": "the treasury", "loc": "inn tab" }; \ No newline at end of file diff --git a/langs/fr-FR.js b/langs/fr-FR.js index 35ead03..737502a 100644 --- a/langs/fr-FR.js +++ b/langs/fr-FR.js @@ -657,7 +657,7 @@ locObj.btnBuildStables = { "txt": "Construire une Écuries
niveau %arg1
locObj.btnBuildArcheryRange = { "txt": "Construire Camp de tir à l'arc
niveau %arg1
%arg2 or", "loc": "building tab" }; locObj.lblAbout_h1 = { "txt": "1255 Burgomaster" }; locObj.lblAbout_h2 = { "txt": "Comment jouer" }; -locObj.lblAbout_wiki = { "txt": "wiki: https://github.com/Areso/1255-burgomaster/wiki
" }; +locObj.lblAbout_wiki = { "txt": "wiki: 1255 Burgomaster's Wiki
" }; locObj.lblAbout_feedback = { "txt": "feedback feedback form
" }; locObj.lblAbout_meh = { "txt": "Ce jeu se joue en tours. Une horloge décompte un tour toutes les 30 secondes.\n" + @@ -687,10 +687,9 @@ locObj.lblAbout_supLang = { "L'auteur ne peut apporter aucune aide ni répondre aux questions concernant les CSL,\n" + "même si le jeu est (en partie) fourni par les CSL.\n" + "Par ailleurs, toute traduction issue des CSL peut présenter des erreurs ou des éléments non traduits.\n" + - "ou des éléments de traduction qui ne sont plus à jour.\n" + - "Vous pouvez aider pour la traduction du jeu ici :" + "ou des éléments de traduction qui ne sont plus à jour.\n" }; -locObj.lblAbout_googleLang = { "txt": "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
" }; +locObj.lblAbout_googleLang = { "txt": "Vous pouvez aider pour la traduction du jeu ici: traductions de documents Google pour le jeu
" }; locObj.cityScreenSawmill = { "txt": "scierie", "loc": "cityscreen" }; locObj.cityScreenWishingWell = { "txt": "puit", "loc": "cityscreen" }; locObj.cityScreenWall = { "txt": "mur", "loc": "cityscreen" }; diff --git a/langs/ru-RU.js b/langs/ru-RU.js index 02a9691..ab25664 100644 --- a/langs/ru-RU.js +++ b/langs/ru-RU.js @@ -660,7 +660,7 @@ locObj.btnBuildStables = { "txt": "Построить Конюшню
ур. % locObj.btnBuildArcheryRange = { "txt": "Построить Стрельбище
ур. %arg1
%arg2 золота", "loc": "building tab" }; locObj.lblAbout_h1 = { "txt": "1255: Расцвет Тевтонцев" }; locObj.lblAbout_h2 = { "txt": "Как играть" }; -locObj.lblAbout_wiki = { "txt": "Cсылка на вики: https://github.com/Areso/1255-burgomaster/wiki
" }; +locObj.lblAbout_wiki = { "txt": "Cсылка на вики: 1255 Burgomaster's Wiki
" }; locObj.lblAbout_feedback = { "txt": "Анкета с обратной связью здесь
" }; locObj.lblAbout_meh = { "txt": "У этой игры под 'капотом' находится таймер. Каждый 'тик' таймера происходит за 30 секунд.\n" + @@ -690,10 +690,9 @@ locObj.lblAbout_supLang = { "СПЯ значит, что автор не помогает и не отвечает на вопросы, заданные на СПЯ,\n" + "несмотря на то, что части игры или игра целиком могут быть доступны на СПЯ.\n" + "Также надо отметить, что переводы СПЯ могут содержать ошибки и непереведенные фрагменты\n" + - "или части, содержащие устаревший перевод.\n" + - "Вы можете помочь с переводами здесь:" + "или части, содержащие устаревший перевод.\n" }; -locObj.lblAbout_googleLang = { "txt": "https://docs.google.com/spreadsheets/d/1WxRoxfPpYBHqvWb4mQNxGVr3r4VyxHSEuELzdU1I2PE
" }; +locObj.lblAbout_googleLang = { "txt": "Вы можете помочь с переводами здесь: Google документ для переводов игры
" }; locObj.cityScreenSawmill = { "txt": "пилорама", "loc": "cityscreen" }; locObj.cityScreenWishingWell = { "txt": "колодец желаний", "loc": "cityscreen" }; locObj.cityScreenWall = { "txt": "стена", "loc": "cityscreen" }; diff --git a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_de-DE.cy.js b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_de-DE.cy.js index 607da59..376810a 100644 --- a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_de-DE.cy.js +++ b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_de-DE.cy.js @@ -1,6 +1,6 @@ describe('Verification lang', () => { - const LANG = '"de-DE"'; // en-US, ru-RU, de-DE, eo, fr-FR + const LANG = '"de-DE"'; // en-US, ru-RU, de-DE, eo, fr-FR, es-ES const CITY = 'tabCity'; const BUILDING = 'btnOpenTabBuilding'; @@ -25,13 +25,25 @@ describe('Verification lang', () => { }); }) - it('Locale ' + LANG + '. Verification welcome text in log', () => { + it('Locale ' + LANG + '.', () => { + let arg = '.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll)'; + + // ********************************************************************* + // Checking the file dom.js + // ********************************************************************* + + // Verification button spnServerStatusValue + cy.langContentBtn(CITY, 'spnServerStatusValue', 'serverStatusND'); + + // Verification button spnOnlineValue + cy.langContentBtn(CITY, 'spnOnlineValue', 'onlineValueND'); + + // Verification welcome text in log cy.langLogText('', 'welcome0'); cy.langLogText('', 'welcome1'); - cy.langLogText('', 'welcome2'); - }) + cy.langLogText('', 'welcome2'); - it('Locale ' + LANG + '. Verification feature Fire', () => { + //Verification feature Fire cy.get('#log_btn').click(); cy.window().then((win) => { @@ -41,279 +53,212 @@ describe('Verification lang', () => { cy.langLogText('game.startFire(autotest=true)', 'fireInCity'); cy.langContentBtn(CITY, 'buttonPutOutFire', 'btnPutOutTheFire'); cy.langLogText('game.putOutFireUI()', 'fireEndedByFireservice'); - }); - it('Locale ' + LANG + '. Verification button buttonDeathPenalty', () => { + // Verification button buttonDeathPenalty cy.langContentBtn(CITY, 'buttonDeathPenalty', 'btnExecutePerson'); - }); - it('Locale ' + LANG + '. Verification button saveGameButton', () => { + // Verification button saveGameButton cy.langContentBtn(CITY, 'saveGameButton', 'locSaveGame'); - }); - it('Locale ' + LANG + '. Verification button loadGameButton', () => { + // Verification button loadGameButton cy.langContentBtn(CITY, 'loadGameButton', 'locLoadGame'); - }); - it('Locale ' + LANG + '. Verification button tabCity', () => { + // Verification button tabCity cy.langBtn(CITY, 'tabCity'); - }); - it('Locale ' + LANG + '. Verification button btnOpenTabBuilding', () => { + + // Verification button btnOpenTabBuilding cy.langBtn(BUILDING, 'tabBuilding'); - }); - it('Locale ' + LANG + '. Verification button tabSettings', () => { + // Verification button tabSettings cy.langBtn(SETTINGS, 'tabSettings'); - }); - it('Locale ' + LANG + '. Verification button tabAbout', () => { + // Verification button tabAbout cy.langBtn(ABOUT, 'tabHowToPlay'); - }); - it('Locale ' + LANG + '. Verification button tabDiscord', () => { + // Verification button tabDiscord cy.langBtn(DISCORD, 'tabDiscord'); - }); - it('Locale ' + LANG + '. Verification button labelSettings', () => { + // Verification button labelSettings cy.langContentBtn(SETTINGS, 'labelSettings', 'tabSettings'); - }); - it('Locale ' + LANG + '. Verification button buttonExportGame', () => { + // Verification button buttonExportGame cy.langContentBtn(SETTINGS, 'buttonExportGame', 'tabSettingsBtnExportGame'); - }); - it('Locale ' + LANG + '. Verification button buttonImportGame', () => { + // Verification button buttonImportGame cy.langContentBtn(SETTINGS, 'buttonImportGame', 'tabSettingsBtnImportGame'); - }); - it('Locale ' + LANG + '. Verification label labelAutosave', () => { + // Verification label labelAutosave cy.langContentBtn(SETTINGS, 'labelAutosave', 'tabSettingsLblAutosave'); - }); - it('Locale ' + LANG + '. Verification label labelGarrison', () => { + // Verification label labelGarrison cy.langContentBtn(CITY, 'labelGarrison', 'lblGarrison'); - }); - it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + // Verification button buttonFireGuard cy.langContentBtn(CITY, 'buttonFireGuard', 'btnFire'); - }); - it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + // Verification button buttonFireGuard cy.langContentBtn(CITY, 'buttonHireGuard', 'btnHire'); - }); - - // ожидает рефакторинга кода - it.skip('!!!SKIP!!! Locale ' + LANG + '. Verification label lblAboutGame', () => { - let text; - cy.get('#' + ABOUT).click(); - cy.window().then((win1) => { - text = win1.eval('locObj.tabHowToPlayText');//.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll)'); - cy.get('#lblAboutGame').should('text',text); - }); - - }); + // Verification label lblAboutGame + cy.langContentBtn(ABOUT, 'lblAbout_h1', 'lblAbout_h1'); + cy.langContentBtn(ABOUT, 'lblAbout_h2', 'lblAbout_h2'); + cy.langContentHref(ABOUT, 'lblAbout_wiki', 'lblAbout_wiki'); + cy.langContentHref(ABOUT, 'lblAbout_feedback', 'lblAbout_feedback'); + cy.langContentArg(ABOUT, 'lblAbout_meh', 'lblAbout_meh', arg); + cy.langContentBtn(ABOUT, 'lblAbout_supLang', 'lblAbout_supLang'); + cy.langContentHref(ABOUT, 'lblAbout_googleLang', 'lblAbout_googleLang'); - it('Locale ' + LANG + '. Verification label lblTabGold', () => { + // Verification label lblTabGold cy.langContentBtn(CITY, 'lblTabGold', 'tabGoldHistory'); - }); - it('Locale ' + LANG + '. Verification label lblTabPop', () => { + // Verification label lblTabPop cy.langContentBtn(CITY, 'lblTabPop', 'tabPopHistory'); - }); - it('Locale ' + LANG + '. Verification label lblTabInn', () => { + // Verification label lblTabInn cy.langContentBtn(CITY, 'lblTabInn', 'tabInnWelcome'); - }); - it('Locale ' + LANG + '. Verification label lblUpkeepSrc', () => { + // Verification label lblUpkeepSrc cy.langContentBtn(SETTINGS, 'lblUpkeepSrc', 'heroTroopsUpkeepSource'); - }); - it('Locale ' + LANG + '. Verification label btnColorMode', () => { + // Verification label btnColorMode cy.langContentBtn(SETTINGS, 'btnColorMode', 'tabSettingsBtnChangeColorMode'); - }); - it('Locale ' + LANG + '. label selectUpkeepSrc[0]', () => { - cy.langListElement(CITY, 'selectUpkeepSrc',0, 'heroTroopsUpkeepSrcHeroPurse'); - }); + // Verification label selectUpkeepSrc[0] + cy.langListElement(CITY, 'selectUpkeepSrc', 0, 'heroTroopsUpkeepSrcHeroPurse'); - it('Locale ' + LANG + '. label selectUpkeepSrc[1]', () => { - cy.langListElement(CITY, 'selectUpkeepSrc',1, 'heroTroopsUpkeepSrcTreasury'); - }); + // Verification label selectUpkeepSrc[1] + cy.langListElement(CITY, 'selectUpkeepSrc', 1, 'heroTroopsUpkeepSrcTreasury'); - it('Locale ' + LANG + '. Verification button btnDismissHero', () => { + //Verification button btnDismissHero cy.langContentBtn(CITY, 'btnDismissHero', 'btnDismissHero'); - }); - it('Locale ' + LANG + '. Verification button btnAutocampaignJournal', () => { + // Verification button btnAutocampaignJournal cy.langContentBtn(CITY, 'btnAutocampaignJournal', 'btnAutocampaignOpenJournal'); - }); - it('Locale ' + LANG + '. Verification button btnTowngate', () => { + // Verification button btnTowngate cy.langContentBtn(CITY, 'btnTowngate', 'btnUseTowngateScroll'); - }); - it('Locale ' + LANG + '. Verification button btnLeaveCity', () => { + // Verification button btnLeaveCity cy.langContentBtn(CITY, 'btnLeaveCity', 'btnGoToAdvenureMap'); - }); - it('Locale ' + LANG + '. Verification button btnGenerateMap', () => { + + // Verification button btnGenerateMap cy.langContentBtn(CITY, 'btnGenerateMap', 'btnRegenerateMap'); - }); - it('Locale ' + LANG + '. Verification button btnAutobattlesList', () => { + // Verification button btnAutobattlesList cy.langContentBtn(CITY, 'btnAutobattlesList', 'autobattle_journal_btn'); - }); - it('Locale ' + LANG + '. Verification label lblOption', () => { + // Verification label lblOption cy.langContentBtn(SETTINGS, 'lblOption', 'tabSoundSettingsLblOption'); - }); - it('Locale ' + LANG + '. Verification label lblOn', () => { + // Verification label lblOn cy.langContentBtn(SETTINGS, 'lblOn', 'on'); - }); - it('Locale ' + LANG + '. Verification label lblOff', () => { + // Verification label lblOff cy.langContentBtn(SETTINGS, 'lblOff', 'off'); - }); - it('Locale ' + LANG + '. Verification label lblSfxAll', () => { + // Verification label lblSfxAll cy.langContentBtn(SETTINGS, 'lblSfxAll', 'tabSoundSettingsLblAllSoundEffects'); - }); - it('Locale ' + LANG + '. Verification label lblSfxEvt', () => { + // Verification label lblSfxEvt cy.langContentBtn(SETTINGS, 'lblSfxEvt', 'tabSoundSettingsLblAllEventsEffects'); - }); - it('Locale ' + LANG + '. Verification label lblSfxEvtAR', () => { + // Verification label lblSfxEvtAR cy.langContentBtn(SETTINGS, 'lblSfxEvtAR', 'tabSoundSettingsLblEffectsAR'); - }); - it('Locale ' + LANG + '. Verification label lblMscAll', () => { + // Verification label lblMscAll cy.langContentBtn(SETTINGS, 'lblMscAll', 'tabSoundSettingsAllMusic'); - }); - it('Locale ' + LANG + '. Verification label lblMscScr', () => { + // Verification label lblMscScr cy.langContentBtn(SETTINGS, 'lblMscScr', 'tabSoundSettingsScMusic'); - }); - it('Locale ' + LANG + '. Verification button btnToGeneralSettings', () => { + // Verification button btnToGeneralSettings cy.langContentBtn(CITY, 'btnToGeneralSettings', 'btnBack'); - }); - it('Locale ' + LANG + '. Verification button btnToInn', () => { + // Verification button btnToInn cy.langContentBtn(CITY, 'btnToInn', 'btnBack'); - }); - it('Locale ' + LANG + '. Verification button btnToInn1', () => { + // Verification button btnToInn1 cy.langContentBtn(CITY, 'btnToInn1', 'btnBack'); - }); - it('Locale ' + LANG + '. Verification label lblSoundMenu', () => { + // Verification label lblSoundMenu cy.langContentBtn(SETTINGS, 'lblSoundMenu', 'lblSoundMenu'); - }); - it('Locale ' + LANG + '. Verification button btnSoundSettings', () => { + // Verification button btnSoundSettings cy.langContentBtn(CITY, 'btnSoundSettings', 'tabSettingsBtnOpenSoundSettings'); - }); - it('Locale ' + LANG + '. Verification label lblStnMobileUI', () => { + // Verification label lblStnMobileUI cy.langContentBtn(SETTINGS, 'lblStnMobileUI', 'tabSettingsLblMobileUI'); - }); - it('Locale ' + LANG + '. Verification label lblStnEventLogSize', () => { + // Verification label lblStnEventLogSize cy.langContentBtn(SETTINGS, 'lblStnEventLogSize', 'tabSettingsLblLogSize'); - }); - it('Locale ' + LANG + '. Verification label lblStnLines', () => { + // Verification label lblStnLines cy.langContentBtn(SETTINGS, 'lblStnLines', 'tabSettingsLblLines'); - }); - it('Locale ' + LANG + '. Verification label lblGoodsForSale', () => { + // Verification label lblGoodsForSale cy.langContentBtn(SETTINGS, 'lblGoodsForSale', 'lblGoodForSale'); - }); - it('Locale ' + LANG + '. Verification label lblGoodsForBuying', () => { + // Verification label lblGoodsForBuying cy.langContentBtn(SETTINGS, 'lblGoodsForBuying', 'lblHeroGoodsFoSale'); - }); - it('Locale ' + LANG + '. Verification button btnLeaveBlackmarket', () => { + // Verification button btnLeaveBlackmarket cy.langContentBtn(CITY, 'btnLeaveBlackmarket', 'btnGoToAdvenureMap'); - }); - it('Locale ' + LANG + '. Verification label lblFirebrigade', () => { + // Verification label lblFirebrigade cy.langContentBtn(SETTINGS, 'lblFirebrigade', 'lblFirebrigade'); - }); - it('Locale ' + LANG + '. Verification label lblFBOption', () => { + // Verification label lblFBOption cy.langContentBtn(SETTINGS, 'lblFBOption', 'lblFireServiceStatus'); - }); - it('Locale ' + LANG + '. Verification label lblFBOn', () => { + // Verification label lblFBOn cy.langContentBtn(SETTINGS, 'lblFBOn', 'onDuty'); - }); - it('Locale ' + LANG + '. Verification label lblFBOff', () => { + // Verification label lblFBOff cy.langContentBtn(SETTINGS, 'lblFBOff', 'offDuty'); - }); - it('Locale ' + LANG + '. Verification label lblFBUpKeepPrice', () => { + // Verification label lblFBUpKeepPrice cy.langContentBtn(SETTINGS, 'lblFBUpKeepPrice', 'lblFirebrigadeUpkeep'); - }); - it('Locale ' + LANG + '. Verification button btnPopAtStart', () => { + // Verification button btnPopAtStart cy.langContentBtn(CITY, 'btnPopAtStart', 'paginationStart'); - }); - it('Locale ' + LANG + '. Verification button btnGoldAtStart', () => { + // Verification button btnGoldAtStart cy.langContentBtn(CITY, 'btnGoldAtStart', 'paginationStart'); - }); - it('Locale ' + LANG + '. Verification button btnPopPrev', () => { + // Verification button btnPopPrev cy.langContentBtn(CITY, 'btnPopPrev', 'paginationPrevious'); - }); - it('Locale ' + LANG + '. Verification button btnGoldPrev', () => { + // Verification button btnGoldPrev cy.langContentBtn(CITY, 'btnGoldPrev', 'paginationPrevious'); - }); - it('Locale ' + LANG + '. Verification button btnPopNext', () => { + // Verification button btnPopNext cy.langContentBtn(CITY, 'btnPopNext', 'paginationNext'); - }); - it('Locale ' + LANG + '. Verification button btnGoldNext', () => { + // Verification button btnGoldNext cy.langContentBtn(CITY, 'btnGoldNext', 'paginationNext'); - }); - it('Locale ' + LANG + '. Verification button btnPopAtEnd', () => { + // Verification button btnPopAtEnd cy.langContentBtn(CITY, 'btnPopAtEnd', 'paginationCurrent'); - }); - it('Locale ' + LANG + '. Verification button btnGoldAtEnd', () => { + // Verification button btnGoldAtEnd cy.langContentBtn(CITY, 'btnGoldAtEnd', 'paginationCurrent'); - }); - it('Locale ' + LANG + '. Verification button downloadGame', () => { + // Verification button downloadGame cy.langContentBtn(CITY, 'downloadGame', 'downloadGame'); - }); - it('Locale ' + LANG + '. Verification label lblLevelForHireLbl', () => { + // Verification label lblLevelForHireLbl cy.langContentBtn(SETTINGS, 'lblLevelForHireLbl', 'heroLvlLbl'); - }); - it('Locale ' + LANG + '. Verification button spnServerStatusLabel', () => { + // Verification button spnServerStatusLabel cy.langContentBtn(CITY, 'spnServerStatusLabel', 'serverStatusSpn'); - }); - - it('Locale ' + LANG + '. Verification button spnServerStatusValue', () => { - cy.langContentBtn(CITY, 'spnServerStatusValue', 'serverStatusND'); - }); - it('Locale ' + LANG + '. Verification button spnOnline', () => { + // Verification button spnOnline cy.langContentBtn(CITY, 'spnOnline', 'online'); - }); - it('Locale ' + LANG + '. Verification button spnOnlineValue', () => { - cy.langContentBtn(CITY, 'spnOnlineValue', 'onlineValueND'); + + // ********************************************************************* + // Checking the file objects_artifacts.js + // ********************************************************************* + }); }) \ No newline at end of file diff --git a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_en-US.cy.js b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_en-US.cy.js index cb1fa6e..a98fb04 100644 --- a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_en-US.cy.js +++ b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_en-US.cy.js @@ -1,6 +1,6 @@ describe('Verification lang', () => { - const LANG = '"en-US"'; // en-US, ru-RU, de-DE, eo, fr-FR + const LANG = '"en-US"'; // en-US, ru-RU, de-DE, eo, fr-FR, es-ES const CITY = 'tabCity'; const BUILDING = 'btnOpenTabBuilding'; @@ -25,13 +25,25 @@ describe('Verification lang', () => { }); }) - it('Locale ' + LANG + '. Verification welcome text in log', () => { + it('Locale ' + LANG + '.', () => { + let arg = '.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll)'; + + // ********************************************************************* + // Checking the file dom.js + // ********************************************************************* + + // Verification button spnServerStatusValue + cy.langContentBtn(CITY, 'spnServerStatusValue', 'serverStatusND'); + + // Verification button spnOnlineValue + cy.langContentBtn(CITY, 'spnOnlineValue', 'onlineValueND'); + + // Verification welcome text in log cy.langLogText('', 'welcome0'); cy.langLogText('', 'welcome1'); - cy.langLogText('', 'welcome2'); - }) + cy.langLogText('', 'welcome2'); - it('Locale ' + LANG + '. Verification feature Fire', () => { + //Verification feature Fire cy.get('#log_btn').click(); cy.window().then((win) => { @@ -41,279 +53,212 @@ describe('Verification lang', () => { cy.langLogText('game.startFire(autotest=true)', 'fireInCity'); cy.langContentBtn(CITY, 'buttonPutOutFire', 'btnPutOutTheFire'); cy.langLogText('game.putOutFireUI()', 'fireEndedByFireservice'); - }); - it('Locale ' + LANG + '. Verification button buttonDeathPenalty', () => { + // Verification button buttonDeathPenalty cy.langContentBtn(CITY, 'buttonDeathPenalty', 'btnExecutePerson'); - }); - it('Locale ' + LANG + '. Verification button saveGameButton', () => { + // Verification button saveGameButton cy.langContentBtn(CITY, 'saveGameButton', 'locSaveGame'); - }); - it('Locale ' + LANG + '. Verification button loadGameButton', () => { + // Verification button loadGameButton cy.langContentBtn(CITY, 'loadGameButton', 'locLoadGame'); - }); - it('Locale ' + LANG + '. Verification button tabCity', () => { + // Verification button tabCity cy.langBtn(CITY, 'tabCity'); - }); - it('Locale ' + LANG + '. Verification button btnOpenTabBuilding', () => { + + // Verification button btnOpenTabBuilding cy.langBtn(BUILDING, 'tabBuilding'); - }); - it('Locale ' + LANG + '. Verification button tabSettings', () => { + // Verification button tabSettings cy.langBtn(SETTINGS, 'tabSettings'); - }); - it('Locale ' + LANG + '. Verification button tabAbout', () => { + // Verification button tabAbout cy.langBtn(ABOUT, 'tabHowToPlay'); - }); - it('Locale ' + LANG + '. Verification button tabDiscord', () => { + // Verification button tabDiscord cy.langBtn(DISCORD, 'tabDiscord'); - }); - it('Locale ' + LANG + '. Verification button labelSettings', () => { + // Verification button labelSettings cy.langContentBtn(SETTINGS, 'labelSettings', 'tabSettings'); - }); - it('Locale ' + LANG + '. Verification button buttonExportGame', () => { + // Verification button buttonExportGame cy.langContentBtn(SETTINGS, 'buttonExportGame', 'tabSettingsBtnExportGame'); - }); - it('Locale ' + LANG + '. Verification button buttonImportGame', () => { + // Verification button buttonImportGame cy.langContentBtn(SETTINGS, 'buttonImportGame', 'tabSettingsBtnImportGame'); - }); - it('Locale ' + LANG + '. Verification label labelAutosave', () => { + // Verification label labelAutosave cy.langContentBtn(SETTINGS, 'labelAutosave', 'tabSettingsLblAutosave'); - }); - it('Locale ' + LANG + '. Verification label labelGarrison', () => { + // Verification label labelGarrison cy.langContentBtn(CITY, 'labelGarrison', 'lblGarrison'); - }); - it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + // Verification button buttonFireGuard cy.langContentBtn(CITY, 'buttonFireGuard', 'btnFire'); - }); - it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + // Verification button buttonFireGuard cy.langContentBtn(CITY, 'buttonHireGuard', 'btnHire'); - }); - - // ожидает рефакторинга кода - it.skip('!!!SKIP!!! Locale ' + LANG + '. Verification label lblAboutGame', () => { - let text; - cy.get('#' + ABOUT).click(); - cy.window().then((win1) => { - text = win1.eval('locObj.tabHowToPlayText');//.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll)'); - cy.get('#lblAboutGame').should('text',text); - }); - - }); + // Verification label lblAboutGame + cy.langContentBtn(ABOUT, 'lblAbout_h1', 'lblAbout_h1'); + cy.langContentBtn(ABOUT, 'lblAbout_h2', 'lblAbout_h2'); + cy.langContentHref(ABOUT, 'lblAbout_wiki', 'lblAbout_wiki'); + cy.langContentHref(ABOUT, 'lblAbout_feedback', 'lblAbout_feedback'); + cy.langContentArg(ABOUT, 'lblAbout_meh', 'lblAbout_meh', arg); + cy.langContentBtn(ABOUT, 'lblAbout_supLang', 'lblAbout_supLang'); + cy.langContentHref(ABOUT, 'lblAbout_googleLang', 'lblAbout_googleLang'); - it('Locale ' + LANG + '. Verification label lblTabGold', () => { + // Verification label lblTabGold cy.langContentBtn(CITY, 'lblTabGold', 'tabGoldHistory'); - }); - it('Locale ' + LANG + '. Verification label lblTabPop', () => { + // Verification label lblTabPop cy.langContentBtn(CITY, 'lblTabPop', 'tabPopHistory'); - }); - it('Locale ' + LANG + '. Verification label lblTabInn', () => { + // Verification label lblTabInn cy.langContentBtn(CITY, 'lblTabInn', 'tabInnWelcome'); - }); - it('Locale ' + LANG + '. Verification label lblUpkeepSrc', () => { + // Verification label lblUpkeepSrc cy.langContentBtn(SETTINGS, 'lblUpkeepSrc', 'heroTroopsUpkeepSource'); - }); - it('Locale ' + LANG + '. Verification label btnColorMode', () => { + // Verification label btnColorMode cy.langContentBtn(SETTINGS, 'btnColorMode', 'tabSettingsBtnChangeColorMode'); - }); - it('Locale ' + LANG + '. label selectUpkeepSrc[0]', () => { - cy.langListElement(CITY, 'selectUpkeepSrc',0, 'heroTroopsUpkeepSrcHeroPurse'); - }); + // Verification label selectUpkeepSrc[0] + cy.langListElement(CITY, 'selectUpkeepSrc', 0, 'heroTroopsUpkeepSrcHeroPurse'); - it('Locale ' + LANG + '. label selectUpkeepSrc[1]', () => { - cy.langListElement(CITY, 'selectUpkeepSrc',1, 'heroTroopsUpkeepSrcTreasury'); - }); + // Verification label selectUpkeepSrc[1] + cy.langListElement(CITY, 'selectUpkeepSrc', 1, 'heroTroopsUpkeepSrcTreasury'); - it('Locale ' + LANG + '. Verification button btnDismissHero', () => { + //Verification button btnDismissHero cy.langContentBtn(CITY, 'btnDismissHero', 'btnDismissHero'); - }); - it('Locale ' + LANG + '. Verification button btnAutocampaignJournal', () => { + // Verification button btnAutocampaignJournal cy.langContentBtn(CITY, 'btnAutocampaignJournal', 'btnAutocampaignOpenJournal'); - }); - it('Locale ' + LANG + '. Verification button btnTowngate', () => { + // Verification button btnTowngate cy.langContentBtn(CITY, 'btnTowngate', 'btnUseTowngateScroll'); - }); - it('Locale ' + LANG + '. Verification button btnLeaveCity', () => { + // Verification button btnLeaveCity cy.langContentBtn(CITY, 'btnLeaveCity', 'btnGoToAdvenureMap'); - }); - it('Locale ' + LANG + '. Verification button btnGenerateMap', () => { + + // Verification button btnGenerateMap cy.langContentBtn(CITY, 'btnGenerateMap', 'btnRegenerateMap'); - }); - it('Locale ' + LANG + '. Verification button btnAutobattlesList', () => { + // Verification button btnAutobattlesList cy.langContentBtn(CITY, 'btnAutobattlesList', 'autobattle_journal_btn'); - }); - it('Locale ' + LANG + '. Verification label lblOption', () => { + // Verification label lblOption cy.langContentBtn(SETTINGS, 'lblOption', 'tabSoundSettingsLblOption'); - }); - it('Locale ' + LANG + '. Verification label lblOn', () => { + // Verification label lblOn cy.langContentBtn(SETTINGS, 'lblOn', 'on'); - }); - it('Locale ' + LANG + '. Verification label lblOff', () => { + // Verification label lblOff cy.langContentBtn(SETTINGS, 'lblOff', 'off'); - }); - it('Locale ' + LANG + '. Verification label lblSfxAll', () => { + // Verification label lblSfxAll cy.langContentBtn(SETTINGS, 'lblSfxAll', 'tabSoundSettingsLblAllSoundEffects'); - }); - it('Locale ' + LANG + '. Verification label lblSfxEvt', () => { + // Verification label lblSfxEvt cy.langContentBtn(SETTINGS, 'lblSfxEvt', 'tabSoundSettingsLblAllEventsEffects'); - }); - it('Locale ' + LANG + '. Verification label lblSfxEvtAR', () => { + // Verification label lblSfxEvtAR cy.langContentBtn(SETTINGS, 'lblSfxEvtAR', 'tabSoundSettingsLblEffectsAR'); - }); - it('Locale ' + LANG + '. Verification label lblMscAll', () => { + // Verification label lblMscAll cy.langContentBtn(SETTINGS, 'lblMscAll', 'tabSoundSettingsAllMusic'); - }); - it('Locale ' + LANG + '. Verification label lblMscScr', () => { + // Verification label lblMscScr cy.langContentBtn(SETTINGS, 'lblMscScr', 'tabSoundSettingsScMusic'); - }); - it('Locale ' + LANG + '. Verification button btnToGeneralSettings', () => { + // Verification button btnToGeneralSettings cy.langContentBtn(CITY, 'btnToGeneralSettings', 'btnBack'); - }); - it('Locale ' + LANG + '. Verification button btnToInn', () => { + // Verification button btnToInn cy.langContentBtn(CITY, 'btnToInn', 'btnBack'); - }); - it('Locale ' + LANG + '. Verification button btnToInn1', () => { + // Verification button btnToInn1 cy.langContentBtn(CITY, 'btnToInn1', 'btnBack'); - }); - it('Locale ' + LANG + '. Verification label lblSoundMenu', () => { + // Verification label lblSoundMenu cy.langContentBtn(SETTINGS, 'lblSoundMenu', 'lblSoundMenu'); - }); - it('Locale ' + LANG + '. Verification button btnSoundSettings', () => { + // Verification button btnSoundSettings cy.langContentBtn(CITY, 'btnSoundSettings', 'tabSettingsBtnOpenSoundSettings'); - }); - it('Locale ' + LANG + '. Verification label lblStnMobileUI', () => { + // Verification label lblStnMobileUI cy.langContentBtn(SETTINGS, 'lblStnMobileUI', 'tabSettingsLblMobileUI'); - }); - it('Locale ' + LANG + '. Verification label lblStnEventLogSize', () => { + // Verification label lblStnEventLogSize cy.langContentBtn(SETTINGS, 'lblStnEventLogSize', 'tabSettingsLblLogSize'); - }); - it('Locale ' + LANG + '. Verification label lblStnLines', () => { + // Verification label lblStnLines cy.langContentBtn(SETTINGS, 'lblStnLines', 'tabSettingsLblLines'); - }); - it('Locale ' + LANG + '. Verification label lblGoodsForSale', () => { + // Verification label lblGoodsForSale cy.langContentBtn(SETTINGS, 'lblGoodsForSale', 'lblGoodForSale'); - }); - it('Locale ' + LANG + '. Verification label lblGoodsForBuying', () => { + // Verification label lblGoodsForBuying cy.langContentBtn(SETTINGS, 'lblGoodsForBuying', 'lblHeroGoodsFoSale'); - }); - it('Locale ' + LANG + '. Verification button btnLeaveBlackmarket', () => { + // Verification button btnLeaveBlackmarket cy.langContentBtn(CITY, 'btnLeaveBlackmarket', 'btnGoToAdvenureMap'); - }); - it('Locale ' + LANG + '. Verification label lblFirebrigade', () => { + // Verification label lblFirebrigade cy.langContentBtn(SETTINGS, 'lblFirebrigade', 'lblFirebrigade'); - }); - it('Locale ' + LANG + '. Verification label lblFBOption', () => { + // Verification label lblFBOption cy.langContentBtn(SETTINGS, 'lblFBOption', 'lblFireServiceStatus'); - }); - it('Locale ' + LANG + '. Verification label lblFBOn', () => { + // Verification label lblFBOn cy.langContentBtn(SETTINGS, 'lblFBOn', 'onDuty'); - }); - it('Locale ' + LANG + '. Verification label lblFBOff', () => { + // Verification label lblFBOff cy.langContentBtn(SETTINGS, 'lblFBOff', 'offDuty'); - }); - it('Locale ' + LANG + '. Verification label lblFBUpKeepPrice', () => { + // Verification label lblFBUpKeepPrice cy.langContentBtn(SETTINGS, 'lblFBUpKeepPrice', 'lblFirebrigadeUpkeep'); - }); - it('Locale ' + LANG + '. Verification button btnPopAtStart', () => { + // Verification button btnPopAtStart cy.langContentBtn(CITY, 'btnPopAtStart', 'paginationStart'); - }); - it('Locale ' + LANG + '. Verification button btnGoldAtStart', () => { + // Verification button btnGoldAtStart cy.langContentBtn(CITY, 'btnGoldAtStart', 'paginationStart'); - }); - it('Locale ' + LANG + '. Verification button btnPopPrev', () => { + // Verification button btnPopPrev cy.langContentBtn(CITY, 'btnPopPrev', 'paginationPrevious'); - }); - it('Locale ' + LANG + '. Verification button btnGoldPrev', () => { + // Verification button btnGoldPrev cy.langContentBtn(CITY, 'btnGoldPrev', 'paginationPrevious'); - }); - it('Locale ' + LANG + '. Verification button btnPopNext', () => { + // Verification button btnPopNext cy.langContentBtn(CITY, 'btnPopNext', 'paginationNext'); - }); - it('Locale ' + LANG + '. Verification button btnGoldNext', () => { + // Verification button btnGoldNext cy.langContentBtn(CITY, 'btnGoldNext', 'paginationNext'); - }); - it('Locale ' + LANG + '. Verification button btnPopAtEnd', () => { + // Verification button btnPopAtEnd cy.langContentBtn(CITY, 'btnPopAtEnd', 'paginationCurrent'); - }); - it('Locale ' + LANG + '. Verification button btnGoldAtEnd', () => { + // Verification button btnGoldAtEnd cy.langContentBtn(CITY, 'btnGoldAtEnd', 'paginationCurrent'); - }); - it('Locale ' + LANG + '. Verification button downloadGame', () => { + // Verification button downloadGame cy.langContentBtn(CITY, 'downloadGame', 'downloadGame'); - }); - it('Locale ' + LANG + '. Verification label lblLevelForHireLbl', () => { + // Verification label lblLevelForHireLbl cy.langContentBtn(SETTINGS, 'lblLevelForHireLbl', 'heroLvlLbl'); - }); - it('Locale ' + LANG + '. Verification button spnServerStatusLabel', () => { + // Verification button spnServerStatusLabel cy.langContentBtn(CITY, 'spnServerStatusLabel', 'serverStatusSpn'); - }); - - it('Locale ' + LANG + '. Verification button spnServerStatusValue', () => { - cy.langContentBtn(CITY, 'spnServerStatusValue', 'serverStatusND'); - }); - it('Locale ' + LANG + '. Verification button spnOnline', () => { + // Verification button spnOnline cy.langContentBtn(CITY, 'spnOnline', 'online'); - }); - it('Locale ' + LANG + '. Verification button spnOnlineValue', () => { - cy.langContentBtn(CITY, 'spnOnlineValue', 'onlineValueND'); + + // ********************************************************************* + // Checking the file objects_artifacts.js + // ********************************************************************* + }); }) \ No newline at end of file diff --git a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_eo.cy.js b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_eo.cy.js index b23f6fb..a656595 100644 --- a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_eo.cy.js +++ b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_eo.cy.js @@ -1,6 +1,6 @@ describe('Verification lang', () => { - const LANG = '"eo"'; // en-US, ru-RU, de-DE, eo, fr-FR + const LANG = '"eo"'; // en-US, ru-RU, de-DE, eo, fr-FR, es-ES const CITY = 'tabCity'; const BUILDING = 'btnOpenTabBuilding'; @@ -25,13 +25,25 @@ describe('Verification lang', () => { }); }) - it('Locale ' + LANG + '. Verification welcome text in log', () => { + it('Locale ' + LANG + '.', () => { + let arg = '.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll)'; + + // ********************************************************************* + // Checking the file dom.js + // ********************************************************************* + + // Verification button spnServerStatusValue + cy.langContentBtn(CITY, 'spnServerStatusValue', 'serverStatusND'); + + // Verification button spnOnlineValue + cy.langContentBtn(CITY, 'spnOnlineValue', 'onlineValueND'); + + // Verification welcome text in log cy.langLogText('', 'welcome0'); cy.langLogText('', 'welcome1'); - cy.langLogText('', 'welcome2'); - }) + cy.langLogText('', 'welcome2'); - it('Locale ' + LANG + '. Verification feature Fire', () => { + //Verification feature Fire cy.get('#log_btn').click(); cy.window().then((win) => { @@ -41,279 +53,212 @@ describe('Verification lang', () => { cy.langLogText('game.startFire(autotest=true)', 'fireInCity'); cy.langContentBtn(CITY, 'buttonPutOutFire', 'btnPutOutTheFire'); cy.langLogText('game.putOutFireUI()', 'fireEndedByFireservice'); - }); - it('Locale ' + LANG + '. Verification button buttonDeathPenalty', () => { + // Verification button buttonDeathPenalty cy.langContentBtn(CITY, 'buttonDeathPenalty', 'btnExecutePerson'); - }); - it('Locale ' + LANG + '. Verification button saveGameButton', () => { + // Verification button saveGameButton cy.langContentBtn(CITY, 'saveGameButton', 'locSaveGame'); - }); - it('Locale ' + LANG + '. Verification button loadGameButton', () => { + // Verification button loadGameButton cy.langContentBtn(CITY, 'loadGameButton', 'locLoadGame'); - }); - it('Locale ' + LANG + '. Verification button tabCity', () => { + // Verification button tabCity cy.langBtn(CITY, 'tabCity'); - }); - it('Locale ' + LANG + '. Verification button btnOpenTabBuilding', () => { + + // Verification button btnOpenTabBuilding cy.langBtn(BUILDING, 'tabBuilding'); - }); - it('Locale ' + LANG + '. Verification button tabSettings', () => { + // Verification button tabSettings cy.langBtn(SETTINGS, 'tabSettings'); - }); - it('Locale ' + LANG + '. Verification button tabAbout', () => { + // Verification button tabAbout cy.langBtn(ABOUT, 'tabHowToPlay'); - }); - it('Locale ' + LANG + '. Verification button tabDiscord', () => { + // Verification button tabDiscord cy.langBtn(DISCORD, 'tabDiscord'); - }); - it('Locale ' + LANG + '. Verification button labelSettings', () => { + // Verification button labelSettings cy.langContentBtn(SETTINGS, 'labelSettings', 'tabSettings'); - }); - it('Locale ' + LANG + '. Verification button buttonExportGame', () => { + // Verification button buttonExportGame cy.langContentBtn(SETTINGS, 'buttonExportGame', 'tabSettingsBtnExportGame'); - }); - it('Locale ' + LANG + '. Verification button buttonImportGame', () => { + // Verification button buttonImportGame cy.langContentBtn(SETTINGS, 'buttonImportGame', 'tabSettingsBtnImportGame'); - }); - it('Locale ' + LANG + '. Verification label labelAutosave', () => { + // Verification label labelAutosave cy.langContentBtn(SETTINGS, 'labelAutosave', 'tabSettingsLblAutosave'); - }); - it('Locale ' + LANG + '. Verification label labelGarrison', () => { + // Verification label labelGarrison cy.langContentBtn(CITY, 'labelGarrison', 'lblGarrison'); - }); - it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + // Verification button buttonFireGuard cy.langContentBtn(CITY, 'buttonFireGuard', 'btnFire'); - }); - it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + // Verification button buttonFireGuard cy.langContentBtn(CITY, 'buttonHireGuard', 'btnHire'); - }); - - // ожидает рефакторинга кода - it.skip('!!!SKIP!!! Locale ' + LANG + '. Verification label lblAboutGame', () => { - let text; - cy.get('#' + ABOUT).click(); - cy.window().then((win1) => { - text = win1.eval('locObj.tabHowToPlayText');//.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll)'); - cy.get('#lblAboutGame').should('text',text); - }); - - }); + // Verification label lblAboutGame + cy.langContentBtn(ABOUT, 'lblAbout_h1', 'lblAbout_h1'); + cy.langContentBtn(ABOUT, 'lblAbout_h2', 'lblAbout_h2'); + cy.langContentHref(ABOUT, 'lblAbout_wiki', 'lblAbout_wiki'); + cy.langContentHref(ABOUT, 'lblAbout_feedback', 'lblAbout_feedback'); + cy.langContentArg(ABOUT, 'lblAbout_meh', 'lblAbout_meh', arg); + cy.langContentBtn(ABOUT, 'lblAbout_supLang', 'lblAbout_supLang'); + cy.langContentHref(ABOUT, 'lblAbout_googleLang', 'lblAbout_googleLang'); - it('Locale ' + LANG + '. Verification label lblTabGold', () => { + // Verification label lblTabGold cy.langContentBtn(CITY, 'lblTabGold', 'tabGoldHistory'); - }); - it('Locale ' + LANG + '. Verification label lblTabPop', () => { + // Verification label lblTabPop cy.langContentBtn(CITY, 'lblTabPop', 'tabPopHistory'); - }); - it('Locale ' + LANG + '. Verification label lblTabInn', () => { + // Verification label lblTabInn cy.langContentBtn(CITY, 'lblTabInn', 'tabInnWelcome'); - }); - it('Locale ' + LANG + '. Verification label lblUpkeepSrc', () => { + // Verification label lblUpkeepSrc cy.langContentBtn(SETTINGS, 'lblUpkeepSrc', 'heroTroopsUpkeepSource'); - }); - it('Locale ' + LANG + '. Verification label btnColorMode', () => { + // Verification label btnColorMode cy.langContentBtn(SETTINGS, 'btnColorMode', 'tabSettingsBtnChangeColorMode'); - }); - it('Locale ' + LANG + '. label selectUpkeepSrc[0]', () => { - cy.langListElement(CITY, 'selectUpkeepSrc',0, 'heroTroopsUpkeepSrcHeroPurse'); - }); + // Verification label selectUpkeepSrc[0] + cy.langListElement(CITY, 'selectUpkeepSrc', 0, 'heroTroopsUpkeepSrcHeroPurse'); - it('Locale ' + LANG + '. label selectUpkeepSrc[1]', () => { - cy.langListElement(CITY, 'selectUpkeepSrc',1, 'heroTroopsUpkeepSrcTreasury'); - }); + // Verification label selectUpkeepSrc[1] + cy.langListElement(CITY, 'selectUpkeepSrc', 1, 'heroTroopsUpkeepSrcTreasury'); - it('Locale ' + LANG + '. Verification button btnDismissHero', () => { + //Verification button btnDismissHero cy.langContentBtn(CITY, 'btnDismissHero', 'btnDismissHero'); - }); - it('Locale ' + LANG + '. Verification button btnAutocampaignJournal', () => { + // Verification button btnAutocampaignJournal cy.langContentBtn(CITY, 'btnAutocampaignJournal', 'btnAutocampaignOpenJournal'); - }); - it('Locale ' + LANG + '. Verification button btnTowngate', () => { + // Verification button btnTowngate cy.langContentBtn(CITY, 'btnTowngate', 'btnUseTowngateScroll'); - }); - it('Locale ' + LANG + '. Verification button btnLeaveCity', () => { + // Verification button btnLeaveCity cy.langContentBtn(CITY, 'btnLeaveCity', 'btnGoToAdvenureMap'); - }); - it('Locale ' + LANG + '. Verification button btnGenerateMap', () => { + + // Verification button btnGenerateMap cy.langContentBtn(CITY, 'btnGenerateMap', 'btnRegenerateMap'); - }); - it('Locale ' + LANG + '. Verification button btnAutobattlesList', () => { + // Verification button btnAutobattlesList cy.langContentBtn(CITY, 'btnAutobattlesList', 'autobattle_journal_btn'); - }); - it('Locale ' + LANG + '. Verification label lblOption', () => { + // Verification label lblOption cy.langContentBtn(SETTINGS, 'lblOption', 'tabSoundSettingsLblOption'); - }); - it('Locale ' + LANG + '. Verification label lblOn', () => { + // Verification label lblOn cy.langContentBtn(SETTINGS, 'lblOn', 'on'); - }); - it('Locale ' + LANG + '. Verification label lblOff', () => { + // Verification label lblOff cy.langContentBtn(SETTINGS, 'lblOff', 'off'); - }); - it('Locale ' + LANG + '. Verification label lblSfxAll', () => { + // Verification label lblSfxAll cy.langContentBtn(SETTINGS, 'lblSfxAll', 'tabSoundSettingsLblAllSoundEffects'); - }); - it('Locale ' + LANG + '. Verification label lblSfxEvt', () => { + // Verification label lblSfxEvt cy.langContentBtn(SETTINGS, 'lblSfxEvt', 'tabSoundSettingsLblAllEventsEffects'); - }); - it('Locale ' + LANG + '. Verification label lblSfxEvtAR', () => { + // Verification label lblSfxEvtAR cy.langContentBtn(SETTINGS, 'lblSfxEvtAR', 'tabSoundSettingsLblEffectsAR'); - }); - it('Locale ' + LANG + '. Verification label lblMscAll', () => { + // Verification label lblMscAll cy.langContentBtn(SETTINGS, 'lblMscAll', 'tabSoundSettingsAllMusic'); - }); - it('Locale ' + LANG + '. Verification label lblMscScr', () => { + // Verification label lblMscScr cy.langContentBtn(SETTINGS, 'lblMscScr', 'tabSoundSettingsScMusic'); - }); - it('Locale ' + LANG + '. Verification button btnToGeneralSettings', () => { + // Verification button btnToGeneralSettings cy.langContentBtn(CITY, 'btnToGeneralSettings', 'btnBack'); - }); - it('Locale ' + LANG + '. Verification button btnToInn', () => { + // Verification button btnToInn cy.langContentBtn(CITY, 'btnToInn', 'btnBack'); - }); - it('Locale ' + LANG + '. Verification button btnToInn1', () => { + // Verification button btnToInn1 cy.langContentBtn(CITY, 'btnToInn1', 'btnBack'); - }); - it('Locale ' + LANG + '. Verification label lblSoundMenu', () => { + // Verification label lblSoundMenu cy.langContentBtn(SETTINGS, 'lblSoundMenu', 'lblSoundMenu'); - }); - it('Locale ' + LANG + '. Verification button btnSoundSettings', () => { + // Verification button btnSoundSettings cy.langContentBtn(CITY, 'btnSoundSettings', 'tabSettingsBtnOpenSoundSettings'); - }); - it('Locale ' + LANG + '. Verification label lblStnMobileUI', () => { + // Verification label lblStnMobileUI cy.langContentBtn(SETTINGS, 'lblStnMobileUI', 'tabSettingsLblMobileUI'); - }); - it('Locale ' + LANG + '. Verification label lblStnEventLogSize', () => { + // Verification label lblStnEventLogSize cy.langContentBtn(SETTINGS, 'lblStnEventLogSize', 'tabSettingsLblLogSize'); - }); - it('Locale ' + LANG + '. Verification label lblStnLines', () => { + // Verification label lblStnLines cy.langContentBtn(SETTINGS, 'lblStnLines', 'tabSettingsLblLines'); - }); - it('Locale ' + LANG + '. Verification label lblGoodsForSale', () => { + // Verification label lblGoodsForSale cy.langContentBtn(SETTINGS, 'lblGoodsForSale', 'lblGoodForSale'); - }); - it('Locale ' + LANG + '. Verification label lblGoodsForBuying', () => { + // Verification label lblGoodsForBuying cy.langContentBtn(SETTINGS, 'lblGoodsForBuying', 'lblHeroGoodsFoSale'); - }); - it('Locale ' + LANG + '. Verification button btnLeaveBlackmarket', () => { + // Verification button btnLeaveBlackmarket cy.langContentBtn(CITY, 'btnLeaveBlackmarket', 'btnGoToAdvenureMap'); - }); - it('Locale ' + LANG + '. Verification label lblFirebrigade', () => { + // Verification label lblFirebrigade cy.langContentBtn(SETTINGS, 'lblFirebrigade', 'lblFirebrigade'); - }); - it('Locale ' + LANG + '. Verification label lblFBOption', () => { + // Verification label lblFBOption cy.langContentBtn(SETTINGS, 'lblFBOption', 'lblFireServiceStatus'); - }); - it('Locale ' + LANG + '. Verification label lblFBOn', () => { + // Verification label lblFBOn cy.langContentBtn(SETTINGS, 'lblFBOn', 'onDuty'); - }); - it('Locale ' + LANG + '. Verification label lblFBOff', () => { + // Verification label lblFBOff cy.langContentBtn(SETTINGS, 'lblFBOff', 'offDuty'); - }); - it('Locale ' + LANG + '. Verification label lblFBUpKeepPrice', () => { + // Verification label lblFBUpKeepPrice cy.langContentBtn(SETTINGS, 'lblFBUpKeepPrice', 'lblFirebrigadeUpkeep'); - }); - it('Locale ' + LANG + '. Verification button btnPopAtStart', () => { + // Verification button btnPopAtStart cy.langContentBtn(CITY, 'btnPopAtStart', 'paginationStart'); - }); - it('Locale ' + LANG + '. Verification button btnGoldAtStart', () => { + // Verification button btnGoldAtStart cy.langContentBtn(CITY, 'btnGoldAtStart', 'paginationStart'); - }); - it('Locale ' + LANG + '. Verification button btnPopPrev', () => { + // Verification button btnPopPrev cy.langContentBtn(CITY, 'btnPopPrev', 'paginationPrevious'); - }); - it('Locale ' + LANG + '. Verification button btnGoldPrev', () => { + // Verification button btnGoldPrev cy.langContentBtn(CITY, 'btnGoldPrev', 'paginationPrevious'); - }); - it('Locale ' + LANG + '. Verification button btnPopNext', () => { + // Verification button btnPopNext cy.langContentBtn(CITY, 'btnPopNext', 'paginationNext'); - }); - it('Locale ' + LANG + '. Verification button btnGoldNext', () => { + // Verification button btnGoldNext cy.langContentBtn(CITY, 'btnGoldNext', 'paginationNext'); - }); - it('Locale ' + LANG + '. Verification button btnPopAtEnd', () => { + // Verification button btnPopAtEnd cy.langContentBtn(CITY, 'btnPopAtEnd', 'paginationCurrent'); - }); - it('Locale ' + LANG + '. Verification button btnGoldAtEnd', () => { + // Verification button btnGoldAtEnd cy.langContentBtn(CITY, 'btnGoldAtEnd', 'paginationCurrent'); - }); - it('Locale ' + LANG + '. Verification button downloadGame', () => { + // Verification button downloadGame cy.langContentBtn(CITY, 'downloadGame', 'downloadGame'); - }); - it('Locale ' + LANG + '. Verification label lblLevelForHireLbl', () => { + // Verification label lblLevelForHireLbl cy.langContentBtn(SETTINGS, 'lblLevelForHireLbl', 'heroLvlLbl'); - }); - it('Locale ' + LANG + '. Verification button spnServerStatusLabel', () => { + // Verification button spnServerStatusLabel cy.langContentBtn(CITY, 'spnServerStatusLabel', 'serverStatusSpn'); - }); - - it('Locale ' + LANG + '. Verification button spnServerStatusValue', () => { - cy.langContentBtn(CITY, 'spnServerStatusValue', 'serverStatusND'); - }); - it('Locale ' + LANG + '. Verification button spnOnline', () => { + // Verification button spnOnline cy.langContentBtn(CITY, 'spnOnline', 'online'); - }); - it('Locale ' + LANG + '. Verification button spnOnlineValue', () => { - cy.langContentBtn(CITY, 'spnOnlineValue', 'onlineValueND'); + + // ********************************************************************* + // Checking the file objects_artifacts.js + // ********************************************************************* + }); }) \ No newline at end of file diff --git a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_es-ES.cy.js b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_es-ES.cy.js index b005f99..072f90a 100644 --- a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_es-ES.cy.js +++ b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_es-ES.cy.js @@ -25,13 +25,25 @@ describe('Verification lang', () => { }); }) - it('Locale ' + LANG + '. Verification welcome text in log', () => { + it('Locale ' + LANG + '.', () => { + let arg = '.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll)'; + + // ********************************************************************* + // Checking the file dom.js + // ********************************************************************* + + // Verification button spnServerStatusValue + cy.langContentBtn(CITY, 'spnServerStatusValue', 'serverStatusND'); + + // Verification button spnOnlineValue + cy.langContentBtn(CITY, 'spnOnlineValue', 'onlineValueND'); + + // Verification welcome text in log cy.langLogText('', 'welcome0'); cy.langLogText('', 'welcome1'); - cy.langLogText('', 'welcome2'); - }) + cy.langLogText('', 'welcome2'); - it('Locale ' + LANG + '. Verification feature Fire', () => { + //Verification feature Fire cy.get('#log_btn').click(); cy.window().then((win) => { @@ -41,279 +53,212 @@ describe('Verification lang', () => { cy.langLogText('game.startFire(autotest=true)', 'fireInCity'); cy.langContentBtn(CITY, 'buttonPutOutFire', 'btnPutOutTheFire'); cy.langLogText('game.putOutFireUI()', 'fireEndedByFireservice'); - }); - it('Locale ' + LANG + '. Verification button buttonDeathPenalty', () => { + // Verification button buttonDeathPenalty cy.langContentBtn(CITY, 'buttonDeathPenalty', 'btnExecutePerson'); - }); - it('Locale ' + LANG + '. Verification button saveGameButton', () => { + // Verification button saveGameButton cy.langContentBtn(CITY, 'saveGameButton', 'locSaveGame'); - }); - it('Locale ' + LANG + '. Verification button loadGameButton', () => { + // Verification button loadGameButton cy.langContentBtn(CITY, 'loadGameButton', 'locLoadGame'); - }); - it('Locale ' + LANG + '. Verification button tabCity', () => { + // Verification button tabCity cy.langBtn(CITY, 'tabCity'); - }); - it('Locale ' + LANG + '. Verification button btnOpenTabBuilding', () => { + + // Verification button btnOpenTabBuilding cy.langBtn(BUILDING, 'tabBuilding'); - }); - it('Locale ' + LANG + '. Verification button tabSettings', () => { + // Verification button tabSettings cy.langBtn(SETTINGS, 'tabSettings'); - }); - it('Locale ' + LANG + '. Verification button tabAbout', () => { + // Verification button tabAbout cy.langBtn(ABOUT, 'tabHowToPlay'); - }); - it('Locale ' + LANG + '. Verification button tabDiscord', () => { + // Verification button tabDiscord cy.langBtn(DISCORD, 'tabDiscord'); - }); - it('Locale ' + LANG + '. Verification button labelSettings', () => { + // Verification button labelSettings cy.langContentBtn(SETTINGS, 'labelSettings', 'tabSettings'); - }); - it('Locale ' + LANG + '. Verification button buttonExportGame', () => { + // Verification button buttonExportGame cy.langContentBtn(SETTINGS, 'buttonExportGame', 'tabSettingsBtnExportGame'); - }); - it('Locale ' + LANG + '. Verification button buttonImportGame', () => { + // Verification button buttonImportGame cy.langContentBtn(SETTINGS, 'buttonImportGame', 'tabSettingsBtnImportGame'); - }); - it('Locale ' + LANG + '. Verification label labelAutosave', () => { + // Verification label labelAutosave cy.langContentBtn(SETTINGS, 'labelAutosave', 'tabSettingsLblAutosave'); - }); - it('Locale ' + LANG + '. Verification label labelGarrison', () => { + // Verification label labelGarrison cy.langContentBtn(CITY, 'labelGarrison', 'lblGarrison'); - }); - it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + // Verification button buttonFireGuard cy.langContentBtn(CITY, 'buttonFireGuard', 'btnFire'); - }); - it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + // Verification button buttonFireGuard cy.langContentBtn(CITY, 'buttonHireGuard', 'btnHire'); - }); - - // ожидает рефакторинга кода - it.skip('!!!SKIP!!! Locale ' + LANG + '. Verification label lblAboutGame', () => { - let text; - cy.get('#' + ABOUT).click(); - cy.window().then((win1) => { - text = win1.eval('locObj.tabHowToPlayText');//.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll)'); - cy.get('#lblAboutGame').should('text',text); - }); - - }); + // Verification label lblAboutGame + cy.langContentBtn(ABOUT, 'lblAbout_h1', 'lblAbout_h1'); + cy.langContentBtn(ABOUT, 'lblAbout_h2', 'lblAbout_h2'); + cy.langContentHref(ABOUT, 'lblAbout_wiki', 'lblAbout_wiki'); + cy.langContentHref(ABOUT, 'lblAbout_feedback', 'lblAbout_feedback'); + cy.langContentArg(ABOUT, 'lblAbout_meh', 'lblAbout_meh', arg); + cy.langContentBtn(ABOUT, 'lblAbout_supLang', 'lblAbout_supLang'); + cy.langContentHref(ABOUT, 'lblAbout_googleLang', 'lblAbout_googleLang'); - it('Locale ' + LANG + '. Verification label lblTabGold', () => { + // Verification label lblTabGold cy.langContentBtn(CITY, 'lblTabGold', 'tabGoldHistory'); - }); - it('Locale ' + LANG + '. Verification label lblTabPop', () => { + // Verification label lblTabPop cy.langContentBtn(CITY, 'lblTabPop', 'tabPopHistory'); - }); - it('Locale ' + LANG + '. Verification label lblTabInn', () => { + // Verification label lblTabInn cy.langContentBtn(CITY, 'lblTabInn', 'tabInnWelcome'); - }); - it('Locale ' + LANG + '. Verification label lblUpkeepSrc', () => { + // Verification label lblUpkeepSrc cy.langContentBtn(SETTINGS, 'lblUpkeepSrc', 'heroTroopsUpkeepSource'); - }); - it('Locale ' + LANG + '. Verification label btnColorMode', () => { + // Verification label btnColorMode cy.langContentBtn(SETTINGS, 'btnColorMode', 'tabSettingsBtnChangeColorMode'); - }); - it('Locale ' + LANG + '. label selectUpkeepSrc[0]', () => { - cy.langListElement(CITY, 'selectUpkeepSrc',0, 'heroTroopsUpkeepSrcHeroPurse'); - }); + // Verification label selectUpkeepSrc[0] + cy.langListElement(CITY, 'selectUpkeepSrc', 0, 'heroTroopsUpkeepSrcHeroPurse'); - it('Locale ' + LANG + '. label selectUpkeepSrc[1]', () => { - cy.langListElement(CITY, 'selectUpkeepSrc',1, 'heroTroopsUpkeepSrcTreasury'); - }); + // Verification label selectUpkeepSrc[1] + cy.langListElement(CITY, 'selectUpkeepSrc', 1, 'heroTroopsUpkeepSrcTreasury'); - it('Locale ' + LANG + '. Verification button btnDismissHero', () => { + //Verification button btnDismissHero cy.langContentBtn(CITY, 'btnDismissHero', 'btnDismissHero'); - }); - it('Locale ' + LANG + '. Verification button btnAutocampaignJournal', () => { + // Verification button btnAutocampaignJournal cy.langContentBtn(CITY, 'btnAutocampaignJournal', 'btnAutocampaignOpenJournal'); - }); - it('Locale ' + LANG + '. Verification button btnTowngate', () => { + // Verification button btnTowngate cy.langContentBtn(CITY, 'btnTowngate', 'btnUseTowngateScroll'); - }); - it('Locale ' + LANG + '. Verification button btnLeaveCity', () => { + // Verification button btnLeaveCity cy.langContentBtn(CITY, 'btnLeaveCity', 'btnGoToAdvenureMap'); - }); - it('Locale ' + LANG + '. Verification button btnGenerateMap', () => { + + // Verification button btnGenerateMap cy.langContentBtn(CITY, 'btnGenerateMap', 'btnRegenerateMap'); - }); - it('Locale ' + LANG + '. Verification button btnAutobattlesList', () => { + // Verification button btnAutobattlesList cy.langContentBtn(CITY, 'btnAutobattlesList', 'autobattle_journal_btn'); - }); - it('Locale ' + LANG + '. Verification label lblOption', () => { + // Verification label lblOption cy.langContentBtn(SETTINGS, 'lblOption', 'tabSoundSettingsLblOption'); - }); - it('Locale ' + LANG + '. Verification label lblOn', () => { + // Verification label lblOn cy.langContentBtn(SETTINGS, 'lblOn', 'on'); - }); - it('Locale ' + LANG + '. Verification label lblOff', () => { + // Verification label lblOff cy.langContentBtn(SETTINGS, 'lblOff', 'off'); - }); - it('Locale ' + LANG + '. Verification label lblSfxAll', () => { + // Verification label lblSfxAll cy.langContentBtn(SETTINGS, 'lblSfxAll', 'tabSoundSettingsLblAllSoundEffects'); - }); - it('Locale ' + LANG + '. Verification label lblSfxEvt', () => { + // Verification label lblSfxEvt cy.langContentBtn(SETTINGS, 'lblSfxEvt', 'tabSoundSettingsLblAllEventsEffects'); - }); - it('Locale ' + LANG + '. Verification label lblSfxEvtAR', () => { + // Verification label lblSfxEvtAR cy.langContentBtn(SETTINGS, 'lblSfxEvtAR', 'tabSoundSettingsLblEffectsAR'); - }); - it('Locale ' + LANG + '. Verification label lblMscAll', () => { + // Verification label lblMscAll cy.langContentBtn(SETTINGS, 'lblMscAll', 'tabSoundSettingsAllMusic'); - }); - it('Locale ' + LANG + '. Verification label lblMscScr', () => { + // Verification label lblMscScr cy.langContentBtn(SETTINGS, 'lblMscScr', 'tabSoundSettingsScMusic'); - }); - it('Locale ' + LANG + '. Verification button btnToGeneralSettings', () => { + // Verification button btnToGeneralSettings cy.langContentBtn(CITY, 'btnToGeneralSettings', 'btnBack'); - }); - it('Locale ' + LANG + '. Verification button btnToInn', () => { + // Verification button btnToInn cy.langContentBtn(CITY, 'btnToInn', 'btnBack'); - }); - it('Locale ' + LANG + '. Verification button btnToInn1', () => { + // Verification button btnToInn1 cy.langContentBtn(CITY, 'btnToInn1', 'btnBack'); - }); - it('Locale ' + LANG + '. Verification label lblSoundMenu', () => { + // Verification label lblSoundMenu cy.langContentBtn(SETTINGS, 'lblSoundMenu', 'lblSoundMenu'); - }); - it('Locale ' + LANG + '. Verification button btnSoundSettings', () => { + // Verification button btnSoundSettings cy.langContentBtn(CITY, 'btnSoundSettings', 'tabSettingsBtnOpenSoundSettings'); - }); - it('Locale ' + LANG + '. Verification label lblStnMobileUI', () => { + // Verification label lblStnMobileUI cy.langContentBtn(SETTINGS, 'lblStnMobileUI', 'tabSettingsLblMobileUI'); - }); - it('Locale ' + LANG + '. Verification label lblStnEventLogSize', () => { + // Verification label lblStnEventLogSize cy.langContentBtn(SETTINGS, 'lblStnEventLogSize', 'tabSettingsLblLogSize'); - }); - it('Locale ' + LANG + '. Verification label lblStnLines', () => { + // Verification label lblStnLines cy.langContentBtn(SETTINGS, 'lblStnLines', 'tabSettingsLblLines'); - }); - it('Locale ' + LANG + '. Verification label lblGoodsForSale', () => { + // Verification label lblGoodsForSale cy.langContentBtn(SETTINGS, 'lblGoodsForSale', 'lblGoodForSale'); - }); - it('Locale ' + LANG + '. Verification label lblGoodsForBuying', () => { + // Verification label lblGoodsForBuying cy.langContentBtn(SETTINGS, 'lblGoodsForBuying', 'lblHeroGoodsFoSale'); - }); - it('Locale ' + LANG + '. Verification button btnLeaveBlackmarket', () => { + // Verification button btnLeaveBlackmarket cy.langContentBtn(CITY, 'btnLeaveBlackmarket', 'btnGoToAdvenureMap'); - }); - it('Locale ' + LANG + '. Verification label lblFirebrigade', () => { + // Verification label lblFirebrigade cy.langContentBtn(SETTINGS, 'lblFirebrigade', 'lblFirebrigade'); - }); - it('Locale ' + LANG + '. Verification label lblFBOption', () => { + // Verification label lblFBOption cy.langContentBtn(SETTINGS, 'lblFBOption', 'lblFireServiceStatus'); - }); - it('Locale ' + LANG + '. Verification label lblFBOn', () => { + // Verification label lblFBOn cy.langContentBtn(SETTINGS, 'lblFBOn', 'onDuty'); - }); - it('Locale ' + LANG + '. Verification label lblFBOff', () => { + // Verification label lblFBOff cy.langContentBtn(SETTINGS, 'lblFBOff', 'offDuty'); - }); - it('Locale ' + LANG + '. Verification label lblFBUpKeepPrice', () => { + // Verification label lblFBUpKeepPrice cy.langContentBtn(SETTINGS, 'lblFBUpKeepPrice', 'lblFirebrigadeUpkeep'); - }); - it('Locale ' + LANG + '. Verification button btnPopAtStart', () => { + // Verification button btnPopAtStart cy.langContentBtn(CITY, 'btnPopAtStart', 'paginationStart'); - }); - it('Locale ' + LANG + '. Verification button btnGoldAtStart', () => { + // Verification button btnGoldAtStart cy.langContentBtn(CITY, 'btnGoldAtStart', 'paginationStart'); - }); - it('Locale ' + LANG + '. Verification button btnPopPrev', () => { + // Verification button btnPopPrev cy.langContentBtn(CITY, 'btnPopPrev', 'paginationPrevious'); - }); - it('Locale ' + LANG + '. Verification button btnGoldPrev', () => { + // Verification button btnGoldPrev cy.langContentBtn(CITY, 'btnGoldPrev', 'paginationPrevious'); - }); - it('Locale ' + LANG + '. Verification button btnPopNext', () => { + // Verification button btnPopNext cy.langContentBtn(CITY, 'btnPopNext', 'paginationNext'); - }); - it('Locale ' + LANG + '. Verification button btnGoldNext', () => { + // Verification button btnGoldNext cy.langContentBtn(CITY, 'btnGoldNext', 'paginationNext'); - }); - it('Locale ' + LANG + '. Verification button btnPopAtEnd', () => { + // Verification button btnPopAtEnd cy.langContentBtn(CITY, 'btnPopAtEnd', 'paginationCurrent'); - }); - it('Locale ' + LANG + '. Verification button btnGoldAtEnd', () => { + // Verification button btnGoldAtEnd cy.langContentBtn(CITY, 'btnGoldAtEnd', 'paginationCurrent'); - }); - it('Locale ' + LANG + '. Verification button downloadGame', () => { + // Verification button downloadGame cy.langContentBtn(CITY, 'downloadGame', 'downloadGame'); - }); - it('Locale ' + LANG + '. Verification label lblLevelForHireLbl', () => { + // Verification label lblLevelForHireLbl cy.langContentBtn(SETTINGS, 'lblLevelForHireLbl', 'heroLvlLbl'); - }); - it('Locale ' + LANG + '. Verification button spnServerStatusLabel', () => { + // Verification button spnServerStatusLabel cy.langContentBtn(CITY, 'spnServerStatusLabel', 'serverStatusSpn'); - }); - - it('Locale ' + LANG + '. Verification button spnServerStatusValue', () => { - cy.langContentBtn(CITY, 'spnServerStatusValue', 'serverStatusND'); - }); - it('Locale ' + LANG + '. Verification button spnOnline', () => { + // Verification button spnOnline cy.langContentBtn(CITY, 'spnOnline', 'online'); - }); - it('Locale ' + LANG + '. Verification button spnOnlineValue', () => { - cy.langContentBtn(CITY, 'spnOnlineValue', 'onlineValueND'); + + // ********************************************************************* + // Checking the file objects_artifacts.js + // ********************************************************************* + }); }) \ No newline at end of file diff --git a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_fr-FR.cy.js b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_fr-FR.cy.js index 959478f..1851227 100644 --- a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_fr-FR.cy.js +++ b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_fr-FR.cy.js @@ -1,6 +1,6 @@ describe('Verification lang', () => { - const LANG = '"fr-FR"'; // en-US, ru-RU, de-DE, eo, fr-FR + const LANG = '"fr-FR"'; // en-US, ru-RU, de-DE, eo, fr-FR, es-ES const CITY = 'tabCity'; const BUILDING = 'btnOpenTabBuilding'; @@ -25,13 +25,25 @@ describe('Verification lang', () => { }); }) - it('Locale ' + LANG + '. Verification welcome text in log', () => { + it('Locale ' + LANG + '.', () => { + let arg = '.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll)'; + + // ********************************************************************* + // Checking the file dom.js + // ********************************************************************* + + // Verification button spnServerStatusValue + cy.langContentBtn(CITY, 'spnServerStatusValue', 'serverStatusND'); + + // Verification button spnOnlineValue + cy.langContentBtn(CITY, 'spnOnlineValue', 'onlineValueND'); + + // Verification welcome text in log cy.langLogText('', 'welcome0'); cy.langLogText('', 'welcome1'); - cy.langLogText('', 'welcome2'); - }) + cy.langLogText('', 'welcome2'); - it('Locale ' + LANG + '. Verification feature Fire', () => { + //Verification feature Fire cy.get('#log_btn').click(); cy.window().then((win) => { @@ -41,279 +53,212 @@ describe('Verification lang', () => { cy.langLogText('game.startFire(autotest=true)', 'fireInCity'); cy.langContentBtn(CITY, 'buttonPutOutFire', 'btnPutOutTheFire'); cy.langLogText('game.putOutFireUI()', 'fireEndedByFireservice'); - }); - it('Locale ' + LANG + '. Verification button buttonDeathPenalty', () => { + // Verification button buttonDeathPenalty cy.langContentBtn(CITY, 'buttonDeathPenalty', 'btnExecutePerson'); - }); - it('Locale ' + LANG + '. Verification button saveGameButton', () => { + // Verification button saveGameButton cy.langContentBtn(CITY, 'saveGameButton', 'locSaveGame'); - }); - it('Locale ' + LANG + '. Verification button loadGameButton', () => { + // Verification button loadGameButton cy.langContentBtn(CITY, 'loadGameButton', 'locLoadGame'); - }); - it('Locale ' + LANG + '. Verification button tabCity', () => { + // Verification button tabCity cy.langBtn(CITY, 'tabCity'); - }); - it('Locale ' + LANG + '. Verification button btnOpenTabBuilding', () => { + + // Verification button btnOpenTabBuilding cy.langBtn(BUILDING, 'tabBuilding'); - }); - it('Locale ' + LANG + '. Verification button tabSettings', () => { + // Verification button tabSettings cy.langBtn(SETTINGS, 'tabSettings'); - }); - it('Locale ' + LANG + '. Verification button tabAbout', () => { + // Verification button tabAbout cy.langBtn(ABOUT, 'tabHowToPlay'); - }); - it('Locale ' + LANG + '. Verification button tabDiscord', () => { + // Verification button tabDiscord cy.langBtn(DISCORD, 'tabDiscord'); - }); - it('Locale ' + LANG + '. Verification button labelSettings', () => { + // Verification button labelSettings cy.langContentBtn(SETTINGS, 'labelSettings', 'tabSettings'); - }); - it('Locale ' + LANG + '. Verification button buttonExportGame', () => { + // Verification button buttonExportGame cy.langContentBtn(SETTINGS, 'buttonExportGame', 'tabSettingsBtnExportGame'); - }); - it('Locale ' + LANG + '. Verification button buttonImportGame', () => { + // Verification button buttonImportGame cy.langContentBtn(SETTINGS, 'buttonImportGame', 'tabSettingsBtnImportGame'); - }); - it('Locale ' + LANG + '. Verification label labelAutosave', () => { + // Verification label labelAutosave cy.langContentBtn(SETTINGS, 'labelAutosave', 'tabSettingsLblAutosave'); - }); - it('Locale ' + LANG + '. Verification label labelGarrison', () => { + // Verification label labelGarrison cy.langContentBtn(CITY, 'labelGarrison', 'lblGarrison'); - }); - it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + // Verification button buttonFireGuard cy.langContentBtn(CITY, 'buttonFireGuard', 'btnFire'); - }); - it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + // Verification button buttonFireGuard cy.langContentBtn(CITY, 'buttonHireGuard', 'btnHire'); - }); - - // ожидает рефакторинга кода - it.skip('!!!SKIP!!! Locale ' + LANG + '. Verification label lblAboutGame', () => { - let text; - cy.get('#' + ABOUT).click(); - cy.window().then((win1) => { - text = win1.eval('locObj.tabHowToPlayText');//.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll)'); - cy.get('#lblAboutGame').should('text',text); - }); - - }); + // Verification label lblAboutGame + cy.langContentBtn(ABOUT, 'lblAbout_h1', 'lblAbout_h1'); + cy.langContentBtn(ABOUT, 'lblAbout_h2', 'lblAbout_h2'); + cy.langContentHref(ABOUT, 'lblAbout_wiki', 'lblAbout_wiki'); + cy.langContentHref(ABOUT, 'lblAbout_feedback', 'lblAbout_feedback'); + cy.langContentArg(ABOUT, 'lblAbout_meh', 'lblAbout_meh', arg); + cy.langContentBtn(ABOUT, 'lblAbout_supLang', 'lblAbout_supLang'); + cy.langContentHref(ABOUT, 'lblAbout_googleLang', 'lblAbout_googleLang'); - it('Locale ' + LANG + '. Verification label lblTabGold', () => { + // Verification label lblTabGold cy.langContentBtn(CITY, 'lblTabGold', 'tabGoldHistory'); - }); - it('Locale ' + LANG + '. Verification label lblTabPop', () => { + // Verification label lblTabPop cy.langContentBtn(CITY, 'lblTabPop', 'tabPopHistory'); - }); - it('Locale ' + LANG + '. Verification label lblTabInn', () => { + // Verification label lblTabInn cy.langContentBtn(CITY, 'lblTabInn', 'tabInnWelcome'); - }); - it('Locale ' + LANG + '. Verification label lblUpkeepSrc', () => { + // Verification label lblUpkeepSrc cy.langContentBtn(SETTINGS, 'lblUpkeepSrc', 'heroTroopsUpkeepSource'); - }); - it('Locale ' + LANG + '. Verification label btnColorMode', () => { + // Verification label btnColorMode cy.langContentBtn(SETTINGS, 'btnColorMode', 'tabSettingsBtnChangeColorMode'); - }); - it('Locale ' + LANG + '. label selectUpkeepSrc[0]', () => { - cy.langListElement(CITY, 'selectUpkeepSrc',0, 'heroTroopsUpkeepSrcHeroPurse'); - }); + // Verification label selectUpkeepSrc[0] + cy.langListElement(CITY, 'selectUpkeepSrc', 0, 'heroTroopsUpkeepSrcHeroPurse'); - it('Locale ' + LANG + '. label selectUpkeepSrc[1]', () => { - cy.langListElement(CITY, 'selectUpkeepSrc',1, 'heroTroopsUpkeepSrcTreasury'); - }); + // Verification label selectUpkeepSrc[1] + cy.langListElement(CITY, 'selectUpkeepSrc', 1, 'heroTroopsUpkeepSrcTreasury'); - it('Locale ' + LANG + '. Verification button btnDismissHero', () => { + //Verification button btnDismissHero cy.langContentBtn(CITY, 'btnDismissHero', 'btnDismissHero'); - }); - it('Locale ' + LANG + '. Verification button btnAutocampaignJournal', () => { + // Verification button btnAutocampaignJournal cy.langContentBtn(CITY, 'btnAutocampaignJournal', 'btnAutocampaignOpenJournal'); - }); - it('Locale ' + LANG + '. Verification button btnTowngate', () => { + // Verification button btnTowngate cy.langContentBtn(CITY, 'btnTowngate', 'btnUseTowngateScroll'); - }); - it('Locale ' + LANG + '. Verification button btnLeaveCity', () => { + // Verification button btnLeaveCity cy.langContentBtn(CITY, 'btnLeaveCity', 'btnGoToAdvenureMap'); - }); - it('Locale ' + LANG + '. Verification button btnGenerateMap', () => { + + // Verification button btnGenerateMap cy.langContentBtn(CITY, 'btnGenerateMap', 'btnRegenerateMap'); - }); - it('Locale ' + LANG + '. Verification button btnAutobattlesList', () => { + // Verification button btnAutobattlesList cy.langContentBtn(CITY, 'btnAutobattlesList', 'autobattle_journal_btn'); - }); - it('Locale ' + LANG + '. Verification label lblOption', () => { + // Verification label lblOption cy.langContentBtn(SETTINGS, 'lblOption', 'tabSoundSettingsLblOption'); - }); - it('Locale ' + LANG + '. Verification label lblOn', () => { + // Verification label lblOn cy.langContentBtn(SETTINGS, 'lblOn', 'on'); - }); - it('Locale ' + LANG + '. Verification label lblOff', () => { + // Verification label lblOff cy.langContentBtn(SETTINGS, 'lblOff', 'off'); - }); - it('Locale ' + LANG + '. Verification label lblSfxAll', () => { + // Verification label lblSfxAll cy.langContentBtn(SETTINGS, 'lblSfxAll', 'tabSoundSettingsLblAllSoundEffects'); - }); - it('Locale ' + LANG + '. Verification label lblSfxEvt', () => { + // Verification label lblSfxEvt cy.langContentBtn(SETTINGS, 'lblSfxEvt', 'tabSoundSettingsLblAllEventsEffects'); - }); - it('Locale ' + LANG + '. Verification label lblSfxEvtAR', () => { + // Verification label lblSfxEvtAR cy.langContentBtn(SETTINGS, 'lblSfxEvtAR', 'tabSoundSettingsLblEffectsAR'); - }); - it('Locale ' + LANG + '. Verification label lblMscAll', () => { + // Verification label lblMscAll cy.langContentBtn(SETTINGS, 'lblMscAll', 'tabSoundSettingsAllMusic'); - }); - it('Locale ' + LANG + '. Verification label lblMscScr', () => { + // Verification label lblMscScr cy.langContentBtn(SETTINGS, 'lblMscScr', 'tabSoundSettingsScMusic'); - }); - it('Locale ' + LANG + '. Verification button btnToGeneralSettings', () => { + // Verification button btnToGeneralSettings cy.langContentBtn(CITY, 'btnToGeneralSettings', 'btnBack'); - }); - it('Locale ' + LANG + '. Verification button btnToInn', () => { + // Verification button btnToInn cy.langContentBtn(CITY, 'btnToInn', 'btnBack'); - }); - it('Locale ' + LANG + '. Verification button btnToInn1', () => { + // Verification button btnToInn1 cy.langContentBtn(CITY, 'btnToInn1', 'btnBack'); - }); - it('Locale ' + LANG + '. Verification label lblSoundMenu', () => { + // Verification label lblSoundMenu cy.langContentBtn(SETTINGS, 'lblSoundMenu', 'lblSoundMenu'); - }); - it('Locale ' + LANG + '. Verification button btnSoundSettings', () => { + // Verification button btnSoundSettings cy.langContentBtn(CITY, 'btnSoundSettings', 'tabSettingsBtnOpenSoundSettings'); - }); - it('Locale ' + LANG + '. Verification label lblStnMobileUI', () => { + // Verification label lblStnMobileUI cy.langContentBtn(SETTINGS, 'lblStnMobileUI', 'tabSettingsLblMobileUI'); - }); - it('Locale ' + LANG + '. Verification label lblStnEventLogSize', () => { + // Verification label lblStnEventLogSize cy.langContentBtn(SETTINGS, 'lblStnEventLogSize', 'tabSettingsLblLogSize'); - }); - it('Locale ' + LANG + '. Verification label lblStnLines', () => { + // Verification label lblStnLines cy.langContentBtn(SETTINGS, 'lblStnLines', 'tabSettingsLblLines'); - }); - it('Locale ' + LANG + '. Verification label lblGoodsForSale', () => { + // Verification label lblGoodsForSale cy.langContentBtn(SETTINGS, 'lblGoodsForSale', 'lblGoodForSale'); - }); - it('Locale ' + LANG + '. Verification label lblGoodsForBuying', () => { + // Verification label lblGoodsForBuying cy.langContentBtn(SETTINGS, 'lblGoodsForBuying', 'lblHeroGoodsFoSale'); - }); - it('Locale ' + LANG + '. Verification button btnLeaveBlackmarket', () => { + // Verification button btnLeaveBlackmarket cy.langContentBtn(CITY, 'btnLeaveBlackmarket', 'btnGoToAdvenureMap'); - }); - it('Locale ' + LANG + '. Verification label lblFirebrigade', () => { + // Verification label lblFirebrigade cy.langContentBtn(SETTINGS, 'lblFirebrigade', 'lblFirebrigade'); - }); - it('Locale ' + LANG + '. Verification label lblFBOption', () => { + // Verification label lblFBOption cy.langContentBtn(SETTINGS, 'lblFBOption', 'lblFireServiceStatus'); - }); - it('Locale ' + LANG + '. Verification label lblFBOn', () => { + // Verification label lblFBOn cy.langContentBtn(SETTINGS, 'lblFBOn', 'onDuty'); - }); - it('Locale ' + LANG + '. Verification label lblFBOff', () => { + // Verification label lblFBOff cy.langContentBtn(SETTINGS, 'lblFBOff', 'offDuty'); - }); - it('Locale ' + LANG + '. Verification label lblFBUpKeepPrice', () => { + // Verification label lblFBUpKeepPrice cy.langContentBtn(SETTINGS, 'lblFBUpKeepPrice', 'lblFirebrigadeUpkeep'); - }); - it('Locale ' + LANG + '. Verification button btnPopAtStart', () => { + // Verification button btnPopAtStart cy.langContentBtn(CITY, 'btnPopAtStart', 'paginationStart'); - }); - it('Locale ' + LANG + '. Verification button btnGoldAtStart', () => { + // Verification button btnGoldAtStart cy.langContentBtn(CITY, 'btnGoldAtStart', 'paginationStart'); - }); - it('Locale ' + LANG + '. Verification button btnPopPrev', () => { + // Verification button btnPopPrev cy.langContentBtn(CITY, 'btnPopPrev', 'paginationPrevious'); - }); - it('Locale ' + LANG + '. Verification button btnGoldPrev', () => { + // Verification button btnGoldPrev cy.langContentBtn(CITY, 'btnGoldPrev', 'paginationPrevious'); - }); - it('Locale ' + LANG + '. Verification button btnPopNext', () => { + // Verification button btnPopNext cy.langContentBtn(CITY, 'btnPopNext', 'paginationNext'); - }); - it('Locale ' + LANG + '. Verification button btnGoldNext', () => { + // Verification button btnGoldNext cy.langContentBtn(CITY, 'btnGoldNext', 'paginationNext'); - }); - it('Locale ' + LANG + '. Verification button btnPopAtEnd', () => { + // Verification button btnPopAtEnd cy.langContentBtn(CITY, 'btnPopAtEnd', 'paginationCurrent'); - }); - it('Locale ' + LANG + '. Verification button btnGoldAtEnd', () => { + // Verification button btnGoldAtEnd cy.langContentBtn(CITY, 'btnGoldAtEnd', 'paginationCurrent'); - }); - it('Locale ' + LANG + '. Verification button downloadGame', () => { + // Verification button downloadGame cy.langContentBtn(CITY, 'downloadGame', 'downloadGame'); - }); - it('Locale ' + LANG + '. Verification label lblLevelForHireLbl', () => { + // Verification label lblLevelForHireLbl cy.langContentBtn(SETTINGS, 'lblLevelForHireLbl', 'heroLvlLbl'); - }); - it('Locale ' + LANG + '. Verification button spnServerStatusLabel', () => { + // Verification button spnServerStatusLabel cy.langContentBtn(CITY, 'spnServerStatusLabel', 'serverStatusSpn'); - }); - - it('Locale ' + LANG + '. Verification button spnServerStatusValue', () => { - cy.langContentBtn(CITY, 'spnServerStatusValue', 'serverStatusND'); - }); - it('Locale ' + LANG + '. Verification button spnOnline', () => { + // Verification button spnOnline cy.langContentBtn(CITY, 'spnOnline', 'online'); - }); - it('Locale ' + LANG + '. Verification button spnOnlineValue', () => { - cy.langContentBtn(CITY, 'spnOnlineValue', 'onlineValueND'); + + // ********************************************************************* + // Checking the file objects_artifacts.js + // ********************************************************************* + }); }) \ No newline at end of file diff --git a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_ru-RU.cy.js b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_ru-RU.cy.js index d063b07..67e40ef 100644 --- a/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_ru-RU.cy.js +++ b/tests/tests_cypress/check_langs/cypress/e2e/verificationLang_ru-RU.cy.js @@ -1,6 +1,6 @@ describe('Verification lang', () => { - const LANG = '"ru-RU"'; // en-US, ru-RU, de-DE, eo, fr-FR + const LANG = '"ru-RU"'; // en-US, ru-RU, de-DE, eo, fr-FR, es-ES const CITY = 'tabCity'; const BUILDING = 'btnOpenTabBuilding'; @@ -25,13 +25,25 @@ describe('Verification lang', () => { }); }) - it('Locale ' + LANG + '. Verification welcome text in log', () => { + it('Locale ' + LANG + '.', () => { + let arg = '.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll)'; + + // ********************************************************************* + // Checking the file dom.js + // ********************************************************************* + + // Verification button spnServerStatusValue + cy.langContentBtn(CITY, 'spnServerStatusValue', 'serverStatusND'); + + // Verification button spnOnlineValue + cy.langContentBtn(CITY, 'spnOnlineValue', 'onlineValueND'); + + // Verification welcome text in log cy.langLogText('', 'welcome0'); cy.langLogText('', 'welcome1'); - cy.langLogText('', 'welcome2'); - }) + cy.langLogText('', 'welcome2'); - it('Locale ' + LANG + '. Verification feature Fire', () => { + //Verification feature Fire cy.get('#log_btn').click(); cy.window().then((win) => { @@ -41,279 +53,212 @@ describe('Verification lang', () => { cy.langLogText('game.startFire(autotest=true)', 'fireInCity'); cy.langContentBtn(CITY, 'buttonPutOutFire', 'btnPutOutTheFire'); cy.langLogText('game.putOutFireUI()', 'fireEndedByFireservice'); - }); - it('Locale ' + LANG + '. Verification button buttonDeathPenalty', () => { + // Verification button buttonDeathPenalty cy.langContentBtn(CITY, 'buttonDeathPenalty', 'btnExecutePerson'); - }); - it('Locale ' + LANG + '. Verification button saveGameButton', () => { + // Verification button saveGameButton cy.langContentBtn(CITY, 'saveGameButton', 'locSaveGame'); - }); - it('Locale ' + LANG + '. Verification button loadGameButton', () => { + // Verification button loadGameButton cy.langContentBtn(CITY, 'loadGameButton', 'locLoadGame'); - }); - it('Locale ' + LANG + '. Verification button tabCity', () => { + // Verification button tabCity cy.langBtn(CITY, 'tabCity'); - }); - it('Locale ' + LANG + '. Verification button btnOpenTabBuilding', () => { + + // Verification button btnOpenTabBuilding cy.langBtn(BUILDING, 'tabBuilding'); - }); - it('Locale ' + LANG + '. Verification button tabSettings', () => { + // Verification button tabSettings cy.langBtn(SETTINGS, 'tabSettings'); - }); - it('Locale ' + LANG + '. Verification button tabAbout', () => { + // Verification button tabAbout cy.langBtn(ABOUT, 'tabHowToPlay'); - }); - it('Locale ' + LANG + '. Verification button tabDiscord', () => { + // Verification button tabDiscord cy.langBtn(DISCORD, 'tabDiscord'); - }); - it('Locale ' + LANG + '. Verification button labelSettings', () => { + // Verification button labelSettings cy.langContentBtn(SETTINGS, 'labelSettings', 'tabSettings'); - }); - it('Locale ' + LANG + '. Verification button buttonExportGame', () => { + // Verification button buttonExportGame cy.langContentBtn(SETTINGS, 'buttonExportGame', 'tabSettingsBtnExportGame'); - }); - it('Locale ' + LANG + '. Verification button buttonImportGame', () => { + // Verification button buttonImportGame cy.langContentBtn(SETTINGS, 'buttonImportGame', 'tabSettingsBtnImportGame'); - }); - it('Locale ' + LANG + '. Verification label labelAutosave', () => { + // Verification label labelAutosave cy.langContentBtn(SETTINGS, 'labelAutosave', 'tabSettingsLblAutosave'); - }); - it('Locale ' + LANG + '. Verification label labelGarrison', () => { + // Verification label labelGarrison cy.langContentBtn(CITY, 'labelGarrison', 'lblGarrison'); - }); - it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + // Verification button buttonFireGuard cy.langContentBtn(CITY, 'buttonFireGuard', 'btnFire'); - }); - it('Locale ' + LANG + '. Verification button buttonFireGuard', () => { + // Verification button buttonFireGuard cy.langContentBtn(CITY, 'buttonHireGuard', 'btnHire'); - }); - - // ожидает рефакторинга кода - it.skip('!!!SKIP!!! Locale ' + LANG + '. Verification label lblAboutGame', () => { - let text; - cy.get('#' + ABOUT).click(); - cy.window().then((win1) => { - text = win1.eval('locObj.tabHowToPlayText');//.replace("%arg1",config.treasuryGuardPriceHire).replace("%arg2",config.treasuryGuardPricePayroll)'); - cy.get('#lblAboutGame').should('text',text); - }); - - }); + // Verification label lblAboutGame + cy.langContentBtn(ABOUT, 'lblAbout_h1', 'lblAbout_h1'); + cy.langContentBtn(ABOUT, 'lblAbout_h2', 'lblAbout_h2'); + cy.langContentHref(ABOUT, 'lblAbout_wiki', 'lblAbout_wiki'); + cy.langContentHref(ABOUT, 'lblAbout_feedback', 'lblAbout_feedback'); + cy.langContentArg(ABOUT, 'lblAbout_meh', 'lblAbout_meh', arg); + cy.langContentBtn(ABOUT, 'lblAbout_supLang', 'lblAbout_supLang'); + cy.langContentHref(ABOUT, 'lblAbout_googleLang', 'lblAbout_googleLang'); - it('Locale ' + LANG + '. Verification label lblTabGold', () => { + // Verification label lblTabGold cy.langContentBtn(CITY, 'lblTabGold', 'tabGoldHistory'); - }); - it('Locale ' + LANG + '. Verification label lblTabPop', () => { + // Verification label lblTabPop cy.langContentBtn(CITY, 'lblTabPop', 'tabPopHistory'); - }); - it('Locale ' + LANG + '. Verification label lblTabInn', () => { + // Verification label lblTabInn cy.langContentBtn(CITY, 'lblTabInn', 'tabInnWelcome'); - }); - it('Locale ' + LANG + '. Verification label lblUpkeepSrc', () => { + // Verification label lblUpkeepSrc cy.langContentBtn(SETTINGS, 'lblUpkeepSrc', 'heroTroopsUpkeepSource'); - }); - it('Locale ' + LANG + '. Verification label btnColorMode', () => { + // Verification label btnColorMode cy.langContentBtn(SETTINGS, 'btnColorMode', 'tabSettingsBtnChangeColorMode'); - }); - it('Locale ' + LANG + '. label selectUpkeepSrc[0]', () => { - cy.langListElement(CITY, 'selectUpkeepSrc',0, 'heroTroopsUpkeepSrcHeroPurse'); - }); + // Verification label selectUpkeepSrc[0] + cy.langListElement(CITY, 'selectUpkeepSrc', 0, 'heroTroopsUpkeepSrcHeroPurse'); - it('Locale ' + LANG + '. label selectUpkeepSrc[1]', () => { - cy.langListElement(CITY, 'selectUpkeepSrc',1, 'heroTroopsUpkeepSrcTreasury'); - }); + // Verification label selectUpkeepSrc[1] + cy.langListElement(CITY, 'selectUpkeepSrc', 1, 'heroTroopsUpkeepSrcTreasury'); - it('Locale ' + LANG + '. Verification button btnDismissHero', () => { + //Verification button btnDismissHero cy.langContentBtn(CITY, 'btnDismissHero', 'btnDismissHero'); - }); - it('Locale ' + LANG + '. Verification button btnAutocampaignJournal', () => { + // Verification button btnAutocampaignJournal cy.langContentBtn(CITY, 'btnAutocampaignJournal', 'btnAutocampaignOpenJournal'); - }); - it('Locale ' + LANG + '. Verification button btnTowngate', () => { + // Verification button btnTowngate cy.langContentBtn(CITY, 'btnTowngate', 'btnUseTowngateScroll'); - }); - it('Locale ' + LANG + '. Verification button btnLeaveCity', () => { + // Verification button btnLeaveCity cy.langContentBtn(CITY, 'btnLeaveCity', 'btnGoToAdvenureMap'); - }); - it('Locale ' + LANG + '. Verification button btnGenerateMap', () => { + + // Verification button btnGenerateMap cy.langContentBtn(CITY, 'btnGenerateMap', 'btnRegenerateMap'); - }); - it('Locale ' + LANG + '. Verification button btnAutobattlesList', () => { + // Verification button btnAutobattlesList cy.langContentBtn(CITY, 'btnAutobattlesList', 'autobattle_journal_btn'); - }); - it('Locale ' + LANG + '. Verification label lblOption', () => { + // Verification label lblOption cy.langContentBtn(SETTINGS, 'lblOption', 'tabSoundSettingsLblOption'); - }); - it('Locale ' + LANG + '. Verification label lblOn', () => { + // Verification label lblOn cy.langContentBtn(SETTINGS, 'lblOn', 'on'); - }); - it('Locale ' + LANG + '. Verification label lblOff', () => { + // Verification label lblOff cy.langContentBtn(SETTINGS, 'lblOff', 'off'); - }); - it('Locale ' + LANG + '. Verification label lblSfxAll', () => { + // Verification label lblSfxAll cy.langContentBtn(SETTINGS, 'lblSfxAll', 'tabSoundSettingsLblAllSoundEffects'); - }); - it('Locale ' + LANG + '. Verification label lblSfxEvt', () => { + // Verification label lblSfxEvt cy.langContentBtn(SETTINGS, 'lblSfxEvt', 'tabSoundSettingsLblAllEventsEffects'); - }); - it('Locale ' + LANG + '. Verification label lblSfxEvtAR', () => { + // Verification label lblSfxEvtAR cy.langContentBtn(SETTINGS, 'lblSfxEvtAR', 'tabSoundSettingsLblEffectsAR'); - }); - it('Locale ' + LANG + '. Verification label lblMscAll', () => { + // Verification label lblMscAll cy.langContentBtn(SETTINGS, 'lblMscAll', 'tabSoundSettingsAllMusic'); - }); - it('Locale ' + LANG + '. Verification label lblMscScr', () => { + // Verification label lblMscScr cy.langContentBtn(SETTINGS, 'lblMscScr', 'tabSoundSettingsScMusic'); - }); - it('Locale ' + LANG + '. Verification button btnToGeneralSettings', () => { + // Verification button btnToGeneralSettings cy.langContentBtn(CITY, 'btnToGeneralSettings', 'btnBack'); - }); - it('Locale ' + LANG + '. Verification button btnToInn', () => { + // Verification button btnToInn cy.langContentBtn(CITY, 'btnToInn', 'btnBack'); - }); - it('Locale ' + LANG + '. Verification button btnToInn1', () => { + // Verification button btnToInn1 cy.langContentBtn(CITY, 'btnToInn1', 'btnBack'); - }); - it('Locale ' + LANG + '. Verification label lblSoundMenu', () => { + // Verification label lblSoundMenu cy.langContentBtn(SETTINGS, 'lblSoundMenu', 'lblSoundMenu'); - }); - it('Locale ' + LANG + '. Verification button btnSoundSettings', () => { + // Verification button btnSoundSettings cy.langContentBtn(CITY, 'btnSoundSettings', 'tabSettingsBtnOpenSoundSettings'); - }); - it('Locale ' + LANG + '. Verification label lblStnMobileUI', () => { + // Verification label lblStnMobileUI cy.langContentBtn(SETTINGS, 'lblStnMobileUI', 'tabSettingsLblMobileUI'); - }); - it('Locale ' + LANG + '. Verification label lblStnEventLogSize', () => { + // Verification label lblStnEventLogSize cy.langContentBtn(SETTINGS, 'lblStnEventLogSize', 'tabSettingsLblLogSize'); - }); - it('Locale ' + LANG + '. Verification label lblStnLines', () => { + // Verification label lblStnLines cy.langContentBtn(SETTINGS, 'lblStnLines', 'tabSettingsLblLines'); - }); - it('Locale ' + LANG + '. Verification label lblGoodsForSale', () => { + // Verification label lblGoodsForSale cy.langContentBtn(SETTINGS, 'lblGoodsForSale', 'lblGoodForSale'); - }); - it('Locale ' + LANG + '. Verification label lblGoodsForBuying', () => { + // Verification label lblGoodsForBuying cy.langContentBtn(SETTINGS, 'lblGoodsForBuying', 'lblHeroGoodsFoSale'); - }); - it('Locale ' + LANG + '. Verification button btnLeaveBlackmarket', () => { + // Verification button btnLeaveBlackmarket cy.langContentBtn(CITY, 'btnLeaveBlackmarket', 'btnGoToAdvenureMap'); - }); - it('Locale ' + LANG + '. Verification label lblFirebrigade', () => { + // Verification label lblFirebrigade cy.langContentBtn(SETTINGS, 'lblFirebrigade', 'lblFirebrigade'); - }); - it('Locale ' + LANG + '. Verification label lblFBOption', () => { + // Verification label lblFBOption cy.langContentBtn(SETTINGS, 'lblFBOption', 'lblFireServiceStatus'); - }); - it('Locale ' + LANG + '. Verification label lblFBOn', () => { + // Verification label lblFBOn cy.langContentBtn(SETTINGS, 'lblFBOn', 'onDuty'); - }); - it('Locale ' + LANG + '. Verification label lblFBOff', () => { + // Verification label lblFBOff cy.langContentBtn(SETTINGS, 'lblFBOff', 'offDuty'); - }); - it('Locale ' + LANG + '. Verification label lblFBUpKeepPrice', () => { + // Verification label lblFBUpKeepPrice cy.langContentBtn(SETTINGS, 'lblFBUpKeepPrice', 'lblFirebrigadeUpkeep'); - }); - it('Locale ' + LANG + '. Verification button btnPopAtStart', () => { + // Verification button btnPopAtStart cy.langContentBtn(CITY, 'btnPopAtStart', 'paginationStart'); - }); - it('Locale ' + LANG + '. Verification button btnGoldAtStart', () => { + // Verification button btnGoldAtStart cy.langContentBtn(CITY, 'btnGoldAtStart', 'paginationStart'); - }); - it('Locale ' + LANG + '. Verification button btnPopPrev', () => { + // Verification button btnPopPrev cy.langContentBtn(CITY, 'btnPopPrev', 'paginationPrevious'); - }); - it('Locale ' + LANG + '. Verification button btnGoldPrev', () => { + // Verification button btnGoldPrev cy.langContentBtn(CITY, 'btnGoldPrev', 'paginationPrevious'); - }); - it('Locale ' + LANG + '. Verification button btnPopNext', () => { + // Verification button btnPopNext cy.langContentBtn(CITY, 'btnPopNext', 'paginationNext'); - }); - it('Locale ' + LANG + '. Verification button btnGoldNext', () => { + // Verification button btnGoldNext cy.langContentBtn(CITY, 'btnGoldNext', 'paginationNext'); - }); - it('Locale ' + LANG + '. Verification button btnPopAtEnd', () => { + // Verification button btnPopAtEnd cy.langContentBtn(CITY, 'btnPopAtEnd', 'paginationCurrent'); - }); - it('Locale ' + LANG + '. Verification button btnGoldAtEnd', () => { + // Verification button btnGoldAtEnd cy.langContentBtn(CITY, 'btnGoldAtEnd', 'paginationCurrent'); - }); - it('Locale ' + LANG + '. Verification button downloadGame', () => { + // Verification button downloadGame cy.langContentBtn(CITY, 'downloadGame', 'downloadGame'); - }); - it('Locale ' + LANG + '. Verification label lblLevelForHireLbl', () => { + // Verification label lblLevelForHireLbl cy.langContentBtn(SETTINGS, 'lblLevelForHireLbl', 'heroLvlLbl'); - }); - it('Locale ' + LANG + '. Verification button spnServerStatusLabel', () => { + // Verification button spnServerStatusLabel cy.langContentBtn(CITY, 'spnServerStatusLabel', 'serverStatusSpn'); - }); - - it('Locale ' + LANG + '. Verification button spnServerStatusValue', () => { - cy.langContentBtn(CITY, 'spnServerStatusValue', 'serverStatusND'); - }); - it('Locale ' + LANG + '. Verification button spnOnline', () => { + // Verification button spnOnline cy.langContentBtn(CITY, 'spnOnline', 'online'); - }); - it('Locale ' + LANG + '. Verification button spnOnlineValue', () => { - cy.langContentBtn(CITY, 'spnOnlineValue', 'onlineValueND'); + + // ********************************************************************* + // Checking the file objects_artifacts.js + // ********************************************************************* + }); }) \ No newline at end of file diff --git a/tests/tests_cypress/check_langs/cypress/support/commands.js b/tests/tests_cypress/check_langs/cypress/support/commands.js index 361f88a..b3522d7 100644 --- a/tests/tests_cypress/check_langs/cypress/support/commands.js +++ b/tests/tests_cypress/check_langs/cypress/support/commands.js @@ -26,28 +26,70 @@ Cypress.Commands.add('langBtn', (btnName, textName) => { let text; - cy.get('#'+btnName).click(); + + console.log("Verification text in the element " + btnName); + cy.get('#' + btnName).click(); cy.window().then((win1) => { text = win1.eval('locObj.' + textName + '.txt'); - cy.get('[id="'+btnName+'"]').should('text', text); + cy.get('[id="' + btnName + '"]').should('text', text.replaceAll('\n', '')); }); }) Cypress.Commands.add('langContentBtn', (tabName, btnName, textName) => { let text; - cy.get('#'+tabName).click(); + + console.log("Verification text in the element " + btnName); + cy.get('#' + tabName).click(); cy.window().then((win1) => { text = win1.eval('locObj.' + textName + '.txt'); - cy.get('[id="'+btnName+'"]').should('text', text); + cy.get('[id="' + btnName + '"]').should('text', text.replaceAll('\n', '')); + }); +}) + +Cypress.Commands.add('langContentHref', (tabName, elementName, textName) => { + let text; + + console.log("Verification text and link in the element " + elementName); + cy.get('#' + tabName).click(); + + cy.window().then((win1) => { + text = win1.eval('locObj.' + textName + '.txt'); + let text0 = text.slice(0, text.indexOf("\")); + let text2 = text.slice(text.indexOf("\'\>") + 2, text.indexOf("\<\/")); + cy.get('[id="' + elementName + '"]').should("text", text0 + text2); + cy.get('[id="' + elementName + '"] > a').should('have.attr', 'href', text1) + .and("text", text2); }); }) +Cypress.Commands.add('langContentArg', (tabName, elementName, textName, arg) => { + let text; + + console.log("Verification text and Arument in the element " + elementName); + cy.get('#' + tabName).click(); + + cy.window().then((win1) => { + text = win1.eval('locObj.' + textName + '.txt' + arg); + if (arg) { + text = win1.eval('locObj.' + textName + '.txt' + arg); + + } else { + text = win1.eval('locObj.' + textName + '.txt'); + + } + cy.get('[id="' + elementName + '"]').should('text', text.replaceAll('\n', '')); + }); +}) + Cypress.Commands.add('langLogText', (eventCommand, textName) => { let text; + + console.log("Verification text event command in the log " + eventCommand); cy.get('#log_btn').click(); cy.window().then((win1) => { @@ -60,11 +102,13 @@ Cypress.Commands.add('langLogText', (eventCommand, textName) => { Cypress.Commands.add('langListElement', (tabName, listName, elemNumber, textName) => { let text; - cy.get('#'+tabName).click(); + + console.log("Verification text list element " + elemNumber + " in the list " + listName); + cy.get('#' + tabName).click(); cy.window().then((win1) => { text = win1.eval('locObj.' + textName + '.txt'); - cy.get('[id="'+listName+'"] > option').should(($lis) => { + cy.get('[id="' + listName + '"] > option').should(($lis) => { expect($lis.eq(elemNumber)).to.contain(text); }) }); From dfc865d6c9e73f9e3fc1e69f4ec89c75454301a4 Mon Sep 17 00:00:00 2001 From: aablatov Date: Mon, 27 Mar 2023 22:28:54 +0300 Subject: [PATCH 67/86] python tests repair --- tests/selenium/pages/locators.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/selenium/pages/locators.py b/tests/selenium/pages/locators.py index 108d737..43765bf 100644 --- a/tests/selenium/pages/locators.py +++ b/tests/selenium/pages/locators.py @@ -31,7 +31,7 @@ class SettingsPageLocators: class AboutPageLocators: - LINK_WIKI = (By.XPATH, "//div[@id='lblAboutGame']/a") + LINK_WIKI = (By.XPATH, "//div[@id='lblAbout_h1']") class DiscordPageLocators: From eea507dc71fcf73e90aed084c33b585de1d474df Mon Sep 17 00:00:00 2001 From: aablatov Date: Mon, 27 Mar 2023 22:59:42 +0300 Subject: [PATCH 68/86] tests cypress save repair --- .../smoke_prod/cypress/e2e/checkSaveGame.cy.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/tests_cypress/smoke_prod/cypress/e2e/checkSaveGame.cy.js b/tests/tests_cypress/smoke_prod/cypress/e2e/checkSaveGame.cy.js index 97685da..ecb4ea5 100644 --- a/tests/tests_cypress/smoke_prod/cypress/e2e/checkSaveGame.cy.js +++ b/tests/tests_cypress/smoke_prod/cypress/e2e/checkSaveGame.cy.js @@ -22,7 +22,7 @@ describe('Verification of authorization and loading of the save', () => { cy.get('#buttonLoadFromCloud', { timeout: 9000 }).click(); // Check - cy.get('#autosaveImg').should('have.attr', 'src', 'resources/button_green.png'); + cy.get('#autosaveImg').should('have.attr', 'src', 'resources/button_red.png'); cy.get('#panelGoldValue').should("have.text", 24180); cy.get('#panelPopValue').should("have.text", 648); cy.get('#gems').should("have.text", 10); @@ -38,6 +38,10 @@ describe('Verification of authorization and loading of the save', () => { cy.window().its('game.fireGuard').should('equal', 0); cy.window().its('game.hero').should('equal', 0); + cy.window().then((win) => { + win.eval('dcounter_component.dcounter=1'); + }); + // checking available buildings cy.get('#btnOpenTabBuilding').click(); From 356f0285e80f7079820082cf0709b5be503a7d30 Mon Sep 17 00:00:00 2001 From: aablatov Date: Tue, 28 Mar 2023 01:45:52 +0300 Subject: [PATCH 69/86] =?UTF-8?q?tests/Cypress-06.=20=D0=A1hecking=20objec?= =?UTF-8?q?t=20properties?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/cypress_unit.yml | 29 + tests/tests_cypress/unit/cypress.config.js | 10 + .../check_object_in_objects_artifacts.cy.js | 64 + .../unit/cypress/fixtures/example.json | 5 + .../unit/cypress/support/commands.js | 25 + .../tests_cypress/unit/cypress/support/e2e.js | 20 + tests/tests_cypress/unit/package-lock.json | 3999 +++++++++++++++++ tests/tests_cypress/unit/package.json | 15 + 8 files changed, 4167 insertions(+) create mode 100644 .github/workflows/cypress_unit.yml create mode 100644 tests/tests_cypress/unit/cypress.config.js create mode 100644 tests/tests_cypress/unit/cypress/e2e/check_object_in_objects_artifacts.cy.js create mode 100644 tests/tests_cypress/unit/cypress/fixtures/example.json create mode 100644 tests/tests_cypress/unit/cypress/support/commands.js create mode 100644 tests/tests_cypress/unit/cypress/support/e2e.js create mode 100644 tests/tests_cypress/unit/package-lock.json create mode 100644 tests/tests_cypress/unit/package.json diff --git a/.github/workflows/cypress_unit.yml b/.github/workflows/cypress_unit.yml new file mode 100644 index 0000000..b7f1cd7 --- /dev/null +++ b/.github/workflows/cypress_unit.yml @@ -0,0 +1,29 @@ +name: "Unit tests" + +on: + pull_request: + push: + workflow_call: + workflow_dispatch: + +jobs: + smoke_job: + name: Cypress unit tests + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: run server with the front of the game + run: python3 -m http.server 8080 & + + - name: check whether game is UP + run: | + curl -X GET "http://localhost:8080/" + + - name: cypress run + uses: cypress-io/github-action@v5 + with: + working-directory: tests/tests_cypress/unit + start: npm run start diff --git a/tests/tests_cypress/unit/cypress.config.js b/tests/tests_cypress/unit/cypress.config.js new file mode 100644 index 0000000..630de6d --- /dev/null +++ b/tests/tests_cypress/unit/cypress.config.js @@ -0,0 +1,10 @@ + +export default ({ + e2e: { + baseUrl: 'http://localhost:8080', + setupNodeEvents(on, config) { + video: false; + // implement node event listeners here + }, + }, +}); diff --git a/tests/tests_cypress/unit/cypress/e2e/check_object_in_objects_artifacts.cy.js b/tests/tests_cypress/unit/cypress/e2e/check_object_in_objects_artifacts.cy.js new file mode 100644 index 0000000..12e9bf2 --- /dev/null +++ b/tests/tests_cypress/unit/cypress/e2e/check_object_in_objects_artifacts.cy.js @@ -0,0 +1,64 @@ + +describe('Сhecking object properties in file: ', () => { + + beforeEach(() => { + cy.visit('/') + + Cypress.on('uncaught:exception', (err, runnable) => { + return false; + }); + + //close windows canvas + cy.window().then((win) => { + win.eval('document.getElementById("myDCanvas").classList.remove("active-modal")'); + }); + + }) + + it('Сhecking object properties', () => { + + // ********************************************************************* + // Checking the file objects_artifacts.js + // ********************************************************************* + + let artefacts; + let checkArt; + let tempCheckArt; + + cy.window().then((win) => { + artefacts = win.eval('Object.keys(artefacts)'); + + console.log(artefacts); + artefacts.forEach(function (item) { + console.log("item ==>> " + item); + checkArt = win.eval('artefacts.' + item); + + artefacts.forEach(function (tempItem) { + tempCheckArt = win.eval('artefacts.' + tempItem); + + if (checkArt === tempCheckArt) { + expect(tempCheckArt.id).to.eql(checkArt.id); + expect(tempCheckArt.name['default']).to.eql(checkArt.name['default']); + expect(tempCheckArt.name['en-US']).to.eql(checkArt.name['en-US']); + expect(tempCheckArt.name['ru-RU']).to.eql(checkArt.name['ru-RU']); + } else { + if (tempCheckArt.id === checkArt.id) { + expect(tempCheckArt.id).to.not.eql(checkArt.id) + } + if (tempCheckArt.name['default'] === checkArt.name['default']) { + expect(tempCheckArt.name['default']).to.not.eql(checkArt.name['default']); + } + if (tempCheckArt.name['en-US'] === checkArt.name['en-US']) { + expect(tempCheckArt.name['en-US']).to.not.eql(checkArt.name['en-US']); + } + if (tempCheckArt.name['ru-RU'] === checkArt.name['ru-RU']) { + expect(tempCheckArt.name['ru-RU']).to.not.eql(checkArt.name['ru-RU']); + } + } + }) + + }) + + }); + }); +}); diff --git a/tests/tests_cypress/unit/cypress/fixtures/example.json b/tests/tests_cypress/unit/cypress/fixtures/example.json new file mode 100644 index 0000000..02e4254 --- /dev/null +++ b/tests/tests_cypress/unit/cypress/fixtures/example.json @@ -0,0 +1,5 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io", + "body": "Fixtures are a great way to mock data for responses to routes" +} diff --git a/tests/tests_cypress/unit/cypress/support/commands.js b/tests/tests_cypress/unit/cypress/support/commands.js new file mode 100644 index 0000000..66ea16e --- /dev/null +++ b/tests/tests_cypress/unit/cypress/support/commands.js @@ -0,0 +1,25 @@ +// *********************************************** +// This example commands.js shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** +// +// +// -- This is a parent command -- +// Cypress.Commands.add('login', (email, password) => { ... }) +// +// +// -- This is a child command -- +// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This will overwrite an existing command -- +// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) \ No newline at end of file diff --git a/tests/tests_cypress/unit/cypress/support/e2e.js b/tests/tests_cypress/unit/cypress/support/e2e.js new file mode 100644 index 0000000..0e7290a --- /dev/null +++ b/tests/tests_cypress/unit/cypress/support/e2e.js @@ -0,0 +1,20 @@ +// *********************************************************** +// This example support/e2e.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands' + +// Alternatively you can use CommonJS syntax: +// require('./commands') \ No newline at end of file diff --git a/tests/tests_cypress/unit/package-lock.json b/tests/tests_cypress/unit/package-lock.json new file mode 100644 index 0000000..27b602d --- /dev/null +++ b/tests/tests_cypress/unit/package-lock.json @@ -0,0 +1,3999 @@ +{ + "name": "tests", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "devDependencies": { + "cypress": "12.6.0", + "cypress-html-validate": "^5.1.2", + "html-validate": "^7.13.2" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@cypress/request": { + "version": "2.88.11", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.11.tgz", + "integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "http-signature": "~1.3.6", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "~6.10.3", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dev": true, + "dependencies": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + } + }, + "node_modules/@cypress/xvfb/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@html-validate/stylish": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@html-validate/stylish/-/stylish-3.0.1.tgz", + "integrity": "sha512-jQNDrSnWvJEPSlqC1tFqcbmVuJy2x61UwqFsXHxYT2sgCXFW4AVhsoIcHkECCmUHtQ8hpHU6yOBGA+rMLZhS7A==", + "dev": true, + "dependencies": { + "kleur": "^4.0.0" + }, + "engines": { + "node": ">= 14.0" + } + }, + "node_modules/@sidvind/better-ajv-errors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@sidvind/better-ajv-errors/-/better-ajv-errors-2.1.0.tgz", + "integrity": "sha512-JuIb009FhHuL9priFBho2kv7QmZOydj0LgYvj+h1t0mMCmhM/YmQNRlJR5wVtBZya6wrVFK5Hi5TIbv5BKEx7w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.0", + "chalk": "^4.1.0" + }, + "engines": { + "node": ">= 14.0.0" + }, + "peerDependencies": { + "ajv": "4.11.8 - 8" + } + }, + "node_modules/@types/node": { + "version": "14.18.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz", + "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", + "dev": true + }, + "node_modules/@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", + "dev": true + }, + "node_modules/@types/sizzle": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", + "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", + "dev": true + }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cypress": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.6.0.tgz", + "integrity": "sha512-WdHSVaS1lumSd5XpVTslZd8ui9GIGphrzvXq9+3DtVhqjRZC5M70gu5SW/Y/SLPq3D1wiXGZoHC6HJ7ESVE2lw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@cypress/request": "^2.88.10", + "@cypress/xvfb": "^1.2.4", + "@types/node": "^14.14.31", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.6.0", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^5.1.0", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.4", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "getos": "^3.2.1", + "is-ci": "^3.0.0", + "is-installed-globally": "~0.4.0", + "lazy-ass": "^1.6.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.6", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "semver": "^7.3.2", + "supports-color": "^8.1.1", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + }, + "bin": { + "cypress": "bin/cypress" + }, + "engines": { + "node": "^14.0.0 || ^16.0.0 || >=18.0.0" + } + }, + "node_modules/cypress-html-validate": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/cypress-html-validate/-/cypress-html-validate-5.1.2.tgz", + "integrity": "sha512-e8xL6YvnwRwN/1ey0aTQRbsE50rmUtT7WXPnr7ZjAUhTm/kRMKBzxmCZRqiGhy5Q4lOLOHlOkGFg2wCObvENcQ==", + "dev": true, + "engines": { + "node": ">= 14.19" + }, + "peerDependencies": { + "cypress": "^7.0.1 || ^8 || ^9 || ^10 || ^11.0.1 || ^12", + "html-validate": "^2.17 || ^3 || ^4 || ^5 || ^6 || ^7" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deepmerge": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz", + "integrity": "sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/espree": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "dev": true, + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", + "dev": true + }, + "node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "dependencies": { + "pify": "^2.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dev": true, + "dependencies": { + "async": "^3.2.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/html-validate": { + "version": "7.13.2", + "resolved": "https://registry.npmjs.org/html-validate/-/html-validate-7.13.2.tgz", + "integrity": "sha512-ZUinzQ/a9zC0vP3uoCAKhHWogkCCK8KXcl5gMd+d8esuCl+p5d8P4zL/qSuvhc+zJ3qiIFyDaZ/wyUE1A78vNA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.0", + "@html-validate/stylish": "^3.0.0", + "@sidvind/better-ajv-errors": "^2.0.0", + "acorn-walk": "^8.0.0", + "ajv": "^8.0.0", + "deepmerge": "^4.2.0", + "espree": "^9.0.0", + "glob": "^8.0.0", + "ignore": "^5.0.0", + "kleur": "^4.1.0", + "minimist": "^1.2.0", + "prompts": "^2.0.0", + "semver": "^7.0.0" + }, + "bin": { + "html-validate": "bin/html-validate.js" + }, + "engines": { + "node": ">= 14.0" + }, + "peerDependencies": { + "jest": "^25.1 || ^26 || ^27.1 || ^28.1.3 || ^29.0.3", + "jest-diff": "^25.1 || ^26 || ^27.1 || ^28.1.3 || ^29.0.3", + "jest-snapshot": "^25.1 || ^26 || ^27.1 || ^28.1.3 || ^29.0.3" + }, + "peerDependenciesMeta": { + "jest": { + "optional": true + }, + "jest-diff": { + "optional": true + }, + "jest-snapshot": { + "optional": true + } + } + }, + "node_modules/html-validate/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true, + "engines": { + "node": "> 0.8" + } + }, + "node_modules/listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", + "dev": true + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", + "dev": true + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dev": true, + "dependencies": { + "throttleit": "^1.0.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rxjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "optional": true + }, + "@cypress/request": { + "version": "2.88.11", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.11.tgz", + "integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "http-signature": "~1.3.6", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "~6.10.3", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + } + }, + "@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@html-validate/stylish": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@html-validate/stylish/-/stylish-3.0.1.tgz", + "integrity": "sha512-jQNDrSnWvJEPSlqC1tFqcbmVuJy2x61UwqFsXHxYT2sgCXFW4AVhsoIcHkECCmUHtQ8hpHU6yOBGA+rMLZhS7A==", + "dev": true, + "requires": { + "kleur": "^4.0.0" + } + }, + "@sidvind/better-ajv-errors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@sidvind/better-ajv-errors/-/better-ajv-errors-2.1.0.tgz", + "integrity": "sha512-JuIb009FhHuL9priFBho2kv7QmZOydj0LgYvj+h1t0mMCmhM/YmQNRlJR5wVtBZya6wrVFK5Hi5TIbv5BKEx7w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.0", + "chalk": "^4.1.0" + } + }, + "@types/node": { + "version": "14.18.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz", + "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", + "dev": true + }, + "@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", + "dev": true + }, + "@types/sizzle": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", + "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", + "dev": true + }, + "@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true + }, + "aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true + }, + "cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "dev": true + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true + }, + "ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dev": true, + "requires": { + "@colors/colors": "1.5.0", + "string-width": "^4.2.0" + } + }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true + }, + "common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "cypress": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.6.0.tgz", + "integrity": "sha512-WdHSVaS1lumSd5XpVTslZd8ui9GIGphrzvXq9+3DtVhqjRZC5M70gu5SW/Y/SLPq3D1wiXGZoHC6HJ7ESVE2lw==", + "dev": true, + "requires": { + "@cypress/request": "^2.88.10", + "@cypress/xvfb": "^1.2.4", + "@types/node": "^14.14.31", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.6.0", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^5.1.0", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.4", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "getos": "^3.2.1", + "is-ci": "^3.0.0", + "is-installed-globally": "~0.4.0", + "lazy-ass": "^1.6.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.6", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "semver": "^7.3.2", + "supports-color": "^8.1.1", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + } + }, + "cypress-html-validate": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/cypress-html-validate/-/cypress-html-validate-5.1.2.tgz", + "integrity": "sha512-e8xL6YvnwRwN/1ey0aTQRbsE50rmUtT7WXPnr7ZjAUhTm/kRMKBzxmCZRqiGhy5Q4lOLOHlOkGFg2wCObvENcQ==", + "dev": true, + "requires": {} + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deepmerge": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz", + "integrity": "sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true + }, + "espree": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + } + }, + "eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", + "dev": true + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "requires": { + "pify": "^2.2.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dev": true, + "requires": { + "async": "^3.2.0" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "requires": { + "ini": "2.0.0" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "html-validate": { + "version": "7.13.2", + "resolved": "https://registry.npmjs.org/html-validate/-/html-validate-7.13.2.tgz", + "integrity": "sha512-ZUinzQ/a9zC0vP3uoCAKhHWogkCCK8KXcl5gMd+d8esuCl+p5d8P4zL/qSuvhc+zJ3qiIFyDaZ/wyUE1A78vNA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.0", + "@html-validate/stylish": "^3.0.0", + "@sidvind/better-ajv-errors": "^2.0.0", + "acorn-walk": "^8.0.0", + "ajv": "^8.0.0", + "deepmerge": "^4.2.0", + "espree": "^9.0.0", + "glob": "^8.0.0", + "ignore": "^5.0.0", + "kleur": "^4.1.0", + "minimist": "^1.2.0", + "prompts": "^2.0.0", + "semver": "^7.0.0" + }, + "dependencies": { + "glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + } + } + }, + "http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true + }, + "is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dev": true, + "requires": { + "ci-info": "^3.2.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "requires": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + } + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true + }, + "lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true + }, + "listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "requires": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, + "log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", + "dev": true + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "dependencies": { + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + } + } + }, + "proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", + "dev": true + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "qs": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dev": true, + "requires": { + "throttleit": "^1.0.0" + } + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rxjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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 + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + } +} \ No newline at end of file diff --git a/tests/tests_cypress/unit/package.json b/tests/tests_cypress/unit/package.json new file mode 100644 index 0000000..9f6b14d --- /dev/null +++ b/tests/tests_cypress/unit/package.json @@ -0,0 +1,15 @@ +{ + "devDependencies": { + "cypress": "12.6.0" + }, + "type": "module", + "scripts": { + "start": "npx cypress open", + "test:integration": "docker-compose --file docker-compose.cypress.yml up --exit-code-from cypress --build cypress", + "clean:reports": "rm -rf cypress/reports/", + "test": "npm run clean:reports && cypress run", + "merge:reports": "mochawesome-merge cypress/reports/*.json > cypress-tests-report.json", + "create:html:report": "marge --reportDir tests cypress-tests-report.json", + "generate:html:report": "npm run merge:reports && npm run create:html:report" + } + } \ No newline at end of file From 7588f8ad8d11663b41e0751961727215e1bf1019 Mon Sep 17 00:00:00 2001 From: aablatov Date: Wed, 29 Mar 2023 00:52:10 +0300 Subject: [PATCH 70/86] add check objects_technology_tree --- .../check_object_in_objects_artifacts.cy.js | 64 ----------- .../cypress/e2e/check_object_property.cy.js | 106 ++++++++++++++++++ 2 files changed, 106 insertions(+), 64 deletions(-) delete mode 100644 tests/tests_cypress/unit/cypress/e2e/check_object_in_objects_artifacts.cy.js create mode 100644 tests/tests_cypress/unit/cypress/e2e/check_object_property.cy.js diff --git a/tests/tests_cypress/unit/cypress/e2e/check_object_in_objects_artifacts.cy.js b/tests/tests_cypress/unit/cypress/e2e/check_object_in_objects_artifacts.cy.js deleted file mode 100644 index 12e9bf2..0000000 --- a/tests/tests_cypress/unit/cypress/e2e/check_object_in_objects_artifacts.cy.js +++ /dev/null @@ -1,64 +0,0 @@ - -describe('Сhecking object properties in file: ', () => { - - beforeEach(() => { - cy.visit('/') - - Cypress.on('uncaught:exception', (err, runnable) => { - return false; - }); - - //close windows canvas - cy.window().then((win) => { - win.eval('document.getElementById("myDCanvas").classList.remove("active-modal")'); - }); - - }) - - it('Сhecking object properties', () => { - - // ********************************************************************* - // Checking the file objects_artifacts.js - // ********************************************************************* - - let artefacts; - let checkArt; - let tempCheckArt; - - cy.window().then((win) => { - artefacts = win.eval('Object.keys(artefacts)'); - - console.log(artefacts); - artefacts.forEach(function (item) { - console.log("item ==>> " + item); - checkArt = win.eval('artefacts.' + item); - - artefacts.forEach(function (tempItem) { - tempCheckArt = win.eval('artefacts.' + tempItem); - - if (checkArt === tempCheckArt) { - expect(tempCheckArt.id).to.eql(checkArt.id); - expect(tempCheckArt.name['default']).to.eql(checkArt.name['default']); - expect(tempCheckArt.name['en-US']).to.eql(checkArt.name['en-US']); - expect(tempCheckArt.name['ru-RU']).to.eql(checkArt.name['ru-RU']); - } else { - if (tempCheckArt.id === checkArt.id) { - expect(tempCheckArt.id).to.not.eql(checkArt.id) - } - if (tempCheckArt.name['default'] === checkArt.name['default']) { - expect(tempCheckArt.name['default']).to.not.eql(checkArt.name['default']); - } - if (tempCheckArt.name['en-US'] === checkArt.name['en-US']) { - expect(tempCheckArt.name['en-US']).to.not.eql(checkArt.name['en-US']); - } - if (tempCheckArt.name['ru-RU'] === checkArt.name['ru-RU']) { - expect(tempCheckArt.name['ru-RU']).to.not.eql(checkArt.name['ru-RU']); - } - } - }) - - }) - - }); - }); -}); diff --git a/tests/tests_cypress/unit/cypress/e2e/check_object_property.cy.js b/tests/tests_cypress/unit/cypress/e2e/check_object_property.cy.js new file mode 100644 index 0000000..a8d5f93 --- /dev/null +++ b/tests/tests_cypress/unit/cypress/e2e/check_object_property.cy.js @@ -0,0 +1,106 @@ + +describe('Сhecking object properties in file: ', () => { + + beforeEach(() => { + cy.visit('/') + + Cypress.on('uncaught:exception', (err, runnable) => { + return false; + }); + + //close windows canvas + cy.window().then((win) => { + win.eval('document.getElementById("myDCanvas").classList.remove("active-modal")'); + }); + + }) + + it('Сhecking object properties file objects_technology_tree.js', () => { + + // ********************************************************************* + // Checking the file objects_technology_tree.js + // ********************************************************************* + + let techList; + let checkTech; + let tempCheckTech; + + cy.window().then((win) => { + techList = win.eval('Object.keys(tech_list)'); + + techList.forEach(function (item) { + checkTech = win.eval('tech_list.' + item); + + techList.forEach(function (tempItem) { + tempCheckTech = win.eval('tech_list.' + tempItem); + + if (checkTech === tempCheckTech) { + expect(tempCheckTech.id).to.eql(checkTech.id); + expect(tempCheckTech.name['default'], tempItem).to.eql(checkTech.name['default']); + expect(tempCheckTech.name['en-US'], tempItem).to.eql(checkTech.name['en-US']); + expect(tempCheckTech.name['ru-RU'], tempItem).to.eql(checkTech.name['ru-RU']); + } else { + if (tempCheckTech.id === checkTech.id) { + expect(tempCheckTech.id, tempItem + " duplicates the property of the " + item).to.not.eql(checkTech.id) + } + if (tempCheckTech.name['default'] === checkTech.name['default'] || + tempCheckTech.name['en-US'] === checkTech.name['en-US'] || + tempCheckTech.name['ru-RU'] === checkTech.name['ru-RU'] + ) { + expect(tempCheckTech.name['default'], tempItem + " duplicates the property of the " + item).to.not.eql(checkTech.name['default']); + expect(tempCheckTech.name['en-US'], tempItem + " duplicates the property of the " + item).to.not.eql(checkTech.name['en-US']); + expect(tempCheckTech.name['ru-RU'], tempItem + " duplicates the property of the " + item).to.not.eql(checkTech.name['ru-RU']); + } + } + }) + + }) + + }); + }); + + it('Сhecking object properties file objects_artifacts.js', () => { + + // ********************************************************************* + // Checking the file objects_artifacts.js + // ********************************************************************* + + let artefacts; + let checkArt; + let tempCheckArt; + + cy.window().then((win) => { + artefacts = win.eval('Object.keys(artefacts)'); + + console.log(artefacts); + artefacts.forEach(function (item) { + checkArt = win.eval('artefacts.' + item); + + artefacts.forEach(function (tempItem) { + tempCheckArt = win.eval('artefacts.' + tempItem); + + if (checkArt === tempCheckArt) { + expect(tempCheckArt.id).to.eql(checkArt.id); + expect(tempCheckArt.name['default']).to.eql(checkArt.name['default']); + expect(tempCheckArt.name['en-US']).to.eql(checkArt.name['en-US']); + expect(tempCheckArt.name['ru-RU']).to.eql(checkArt.name['ru-RU']); + } else { + if (tempCheckArt.id === checkArt.id) { + expect(tempCheckArt.id, tempItem + " duplicates the property of the " + item).to.not.eql(checkArt.id) + } + if (tempCheckArt.name['default'] === checkArt.name['default'] || + tempCheckArt.name['en-US'] === checkArt.name['en-US'] || + tempCheckArt.name['ru-RU'] === checkArt.name['ru-RU'] + ) { + expect(tempCheckArt.name['default'], tempItem + " duplicates the property of the " + item).to.not.eql(checkArt.name['default']); + expect(tempCheckArt.name['en-US'], tempItem + " duplicates the property of the " + item).to.not.eql(checkArt.name['en-US']); + expect(tempCheckArt.name['ru-RU'], tempItem + " duplicates the property of the " + item).to.not.eql(checkArt.name['ru-RU']); + } + } + }) + + }) + + }); + }); +}); From f9f0465d07121b406219b44ddac231a274f16dc9 Mon Sep 17 00:00:00 2001 From: Voldus Date: Fri, 31 Mar 2023 07:26:53 +0300 Subject: [PATCH 71/86] Few icons for game --- js/objects_artifacts.js | 14 +++++++------- js/tab_settings.js | 2 +- resources/landsknecht_sword.png | Bin 0 -> 15604 bytes resources/pop.png | Bin 469 -> 15959 bytes 4 files changed, 8 insertions(+), 8 deletions(-) create mode 100644 resources/landsknecht_sword.png diff --git a/js/objects_artifacts.js b/js/objects_artifacts.js index e5fe07f..3c8e809 100644 --- a/js/objects_artifacts.js +++ b/js/objects_artifacts.js @@ -414,16 +414,16 @@ var artefacts = { }, artid19: { id: "artid19", - img: "two_handed_sword_zweihander.png", + img: "landsknecht_sword.png", name: { - "default": "Two handed Landsknecht sword", - "en-US": "Two handed Landsknecht sword", - "ru-RU": "Двуручный меч лэндснехта", + "default": "Landsknecht's two-handed sword", + "en-US": "Landsknecht's two-handed sword", + "ru-RU": "Двуручный меч ландскнехта", }, desc: { - "default": "Increases attack of the hero by 20, reduces defense by 10", - "en-US": "Increases attack of the hero by 20, reduces defense by 10", - "ru-RU": "Увеличивает атаку героя на 20, уменьшает защиту на 10", + "default": "Increases attack of the hero by +20, reduces defense by -10", + "en-US": "Increases attack of the hero by +20, reduces defense by -10", + "ru-RU": "Увеличивает атаку героя на +20, уменьшает защиту на -10", }, attr: [ { name: "atk", type: BONUS_VALUE_TYPES.INTEGER, val: 20 }, diff --git a/js/tab_settings.js b/js/tab_settings.js index a991996..67d53bf 100644 --- a/js/tab_settings.js +++ b/js/tab_settings.js @@ -86,7 +86,7 @@ function setupMobileUI() { } document.querySelector(".resource-panel").style.backgroundColor = "black"; - document.querySelector("#pop_img").setAttribute("src", "resources/pop_light.png"); + // document.querySelector("#pop_img").setAttribute("src", "resources/pop_light.png"); dynamicCellsSetStyle(); diff --git a/resources/landsknecht_sword.png b/resources/landsknecht_sword.png new file mode 100644 index 0000000000000000000000000000000000000000..0fc941bc5fcf5d7cb7738de3535a234b2f7e7b1b GIT binary patch literal 15604 zcmeI3e{j?08ON0v^21#-eikShQ_L7$hAi2#<5+b}L!6QX%+g?%q-80xBqt)aqgv!&<#zR&Z#@8^Bq*ZN0KmakcPxAtBwf*^O7mN+WpE2?}m(&S&UrDaII zWClvAMFhEPw(?Cu_UxUHAl93_t4gYJuBI5lr>9xL&FRCwfZQ8FY|Fy|nyKd`)XmlM z{sP@+Cwg=!&lcz^%}&A@DB|k)l9nL1wq=crX{l$dtZunoYYS6y03RpOXxQiVi&VHk z7mZ8F_ewLaL!(`!`T|{{k`S$OmZL>NkVDP-Jd81r`KZOJH<+#YM$ za{W<7L5`M$pi2Utp8Z4OGZ8Bo{jETfJf^?hYNwK8cFglkB!i-B*!i#b>H78Y> zTx-#jXD!z-wslnS^3f9{KnF!m*_Z{o(VZDTa^fe7;uGEA6wN4SkDXD$A_^WUL(cLf_UX*V zRQHuUT{~A@wR3Kla{sRPp0{2qIdJjDZQqrnTer^9PH)IQAWBDOWNvFV?mpR&ec@y2 z^quq1T{(L7H?2Lhn>kX!oj9Tn=+~eXjn} z&%eAspm}cExzyp-x!0F=Pv4}eL23uy|6@=0vUA^ObC|MRd(Nkhg5gj8@xd9cQ*-u# zqQYZCn@aop`u=R}(f;J^FODr3zL&__o1Udv+IIh|Xb$lT2 z!-#nO$k}6e<-hovUh`ff z9NB?-(=V4}yDQ!B@OS*sZx?P4>cj-W<5N@wa)8I1c=M{hpo+$Gbl} zuNjusF7XYX{A=rhS6*KK)sCxWzl%Ki&MeE`MeD8|>RZ_LX8I@X8#bRPe!T6G^v!iQ z4*%=(YBB5OZ`o20Z~Sq4`ngJ}==9S48GBRTt68_H{--H7FU`C!yl>~{L$59D>WpM= z81B2hk_o%6zx&oJU+GpnHoPxQ|LWC4&z^7kQ%@T5-~w~+nbP^wmG_cMi`O^~uh`K3 EACOE{9{>OV literal 0 HcmV?d00001 diff --git a/resources/pop.png b/resources/pop.png index 93eeb40ac6ad40a61fee1b47edbcd7524266cee0..524cb9826c54a39a4db64205168e496ac742afb1 100644 GIT binary patch literal 15959 zcmeI3dt4J&7RLurOF>v%U({laQ7b;eOrDS-L4|;T1_3DsP}fN^B(sD}%mfM6Rg|ju zKzCil)>Tmo`dL@7iuD0y#kE=y@UeA^iul0i`l9u1(Ylj_=LP1&=d;~^_A~iFl5>Ce zoHO@(&$*d@W>s|5R1dddZV&`{M1(71>CZv7f7gEWd(Nui9`wiirtky`g4_q%{+*!B zTf8Ai`jCiISyamDsD@1S!?dIt_p_#&=-Ch?n`AX%niSl^QR6zoDCahnALVigt(-ec ztVEQi5L{1$FEryb7e>Wt7N%&VTJEGEH<=Zs1Ek^>jAKnT7%9{$=i1|<^mp4Z%;ngp zSW@KNDYk?hl`@(WLYi@o*iXXK@Pz>!f2ki|EDaEdCUOJ_Ujidim@ncXd=!zQ2%ppP z;s&|V-(+TOG8(H0Ye`32a<1NDF`+P=o}TWPF7zYKI+!n&N?}9*3j{oR29L@xS}-fm zNR4s?X^o@6DUF#hSqRd|vBkyIWST|J<=PUpy;|0lYHCYlq*~a~6k#i7g86<3+=G)+ z$?TSz+N~#L30**6Nz2N*O-RLMm~c22r^qz31`l0;8!e-{y9lkOEsiP8Y_RjuYGB-e zr_wGIeewKmFTtcIEhMEUdsugy+~evkL~{G)bXtN<>Cp|h5(XCg{2??=Pl|RRK7Gczq>C`wG47#-McY8Ekfm!e%0U{9c5c@3B*v+wXel2SZ|_qnhVAuwM248ucEZi>>NX>L?eup1v6^! z2t^RRc0Yp9q5^+`gf9vZ^7v}HO9F6_h=-{~LY_Y^48R0}WK1Ac+ZWl{y-R2XsY$aH z5*^yn_*zm!hi@wnR4Tv%a73u#skMA5kI%=oJSkr-m{s_*u9Vc`ip-9XN5c4sfSR;{05R5Mp_={UpbQ7jas&Im$ zt0|*HmC?0kKY3>2^E;2W3I@V{f|xKfh1(ia&TZ|?wj-zQM6vnU8yv+nwzDTlV=G^r zrqF4${j%CTTil4Q+u1t=j`$tid(M%r$Bj(o?+9g|)pHPvOtz$BW_*f{u8`hzrXy-+ zH!!>mww=`m;(xFa6t>{M+lJnC)&Ipdv{$i4j~R8iHVAGl;MRfO?VMvjJ9k!Vw|4DB znO1`)ljc;+5=5k8Ivh3`buzepusx@&{R|2r4WwB~YVjbU4DN2YgO}~c38ha7x?(YV zck*R$moad@%GT|MH2Zvi0YblEzU{rmwWAEWCNR5pltI^a&rghmB}mYc4H)j=W%~t1 z?J#E2H+y)HL@XB4CnGovdPEae+@Mkr^f^!2&MN`EF1rsXbnBSVlVb;=#nDj;9d66) zJ?L(>1E?%6 z00^_m;$r3ls4Ol32(!uJV&(&=EG_^Dv&rIO<^!lKE&vF#$>L(>1E?%600^_m;$r3l zs4Ol32(!uJV&(&=EG_^Dv&rIO<^!lKE&vF#$>L(>1E?%600^_m;$r3ls4Ol32(!uJ zV&(&=EG_^Dv&rIO<^!lKE&vF#$>L(>1E?%600^_m;$r3ls4Ol32(!uJV&(&=EG_^D zv&rIO<^!lKE&vF#$>L(>1E?%600^_m;$r3ls4Ol32(!tE%dPzpPTWX8x0y~qpxG#= zM$!*=ax~$wN(fpw27)rPAn5fw`tu$H#kxXHgH;fOZi1kpWL@HjKSGep?Fhw`IO}CY zZo`^f-23E`vriX4s`;iVFz~^{?+zzj9`eP~jZ;Dg4Da`Rs>MffZt2+J7h>+JcLjT0 ziYd@y`rsiOIK+zVgR2T2KR%ojSROc{>1Fek;cN3sGmg2Ot$KU2tf{#%o*P`=aA!wi z@sRcR9~@t~3Eui{oqaA4ss6+-Ynj9q$=}BSa#w2OMaQ3QB#z? zHd(*+1D6HA%pC;_5=)gYn*Ok&!Cg2yBLCR-8AbO;sU{w(`!~7A<*WT=sQ4(QJLJ3i zJC}_(|HhG;+Ufgr^Ov3&n;bKKY=k=Zc69d6J1eiuUJr$r?&%Z$y`|5Eh2K!A32{E| z)wlLst%$f%k=696wWJ!U{a|$8tvR1Jzx{2dthVu;(};%LtQ|2=zfwjuzwo#`xpeNB zEqkaXr8CGBs50y$$m_&$pY4go>oV()KYY*W>&WF*=X4+IWA|oQw`C>$HM&?gdbzqH z-|M*!PSf|LFVA8=2?!{>k&;Jr94Re#|lKlZPY=#T;=a^RU7 z^N-EnpY9jX+;C{ir1||Ptov!sdtz*$YV+Zm!~dFg>Oko6x`5MRxnV_pXO^7MlEVim zxvRh4Sik6}OS>jWCSRVrb4=fvInak8$J3yYZ7Dye<-b5~Kd$if-f{o(^!n(R&YRaw z%NrcWTeCZ9SHW}rIO>!9-+MQX&-&cw+P-i>$n`Q=;I#rlO+wj`;0-&oC5N|FfBS8p z)2@k2bxEqoFIN|MODB$u|7iL60YzRu{UYy;dNnwId039Gzoo8Rl@KO(-6zY(d@zH@ zx@mDk`afNycNvY%`C-|L{imJB^h-@DG*(p(GI+T8j5AGeTI{-Ds~2VQysbm|1;0r1kfizBukh)4r?GhY#+ci>o6 zH`PMJvEV!cj+uL5E4TtqBjBY@tfP+o?-9QLrF*eWUPi!|bxzSRB48LDU_vGV@JX$U zW&#pm1QZr zsj7ZjL5{sofjQx)Xbz-7P3EU@>j-%1H8Ao90D~Ifst48ppbM-H5U>Kewt(>g;HAeq z0YD4;Wvc4}XsPPuOF-*PzVybbge#~6#00000 LNkvXXu0mjf!d<<5 From 251163755258a9c2d71abafbc0ffeca418ccafe5 Mon Sep 17 00:00:00 2001 From: Voldus Date: Fri, 31 Mar 2023 07:27:15 +0300 Subject: [PATCH 72/86] Old pop icons --- resources/pop-old.png | Bin 0 -> 469 bytes resources/pop_light-old.png | Bin 0 -> 15564 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 resources/pop-old.png create mode 100644 resources/pop_light-old.png diff --git a/resources/pop-old.png b/resources/pop-old.png new file mode 100644 index 0000000000000000000000000000000000000000..93eeb40ac6ad40a61fee1b47edbcd7524266cee0 GIT binary patch literal 469 zcmV;`0V@89P)s~2VQysbm|1;0r1kfizBukh)4r?GhY#+ci>o6 zH`PMJvEV!cj+uL5E4TtqBjBY@tfP+o?-9QLrF*eWUPi!|bxzSRB48LDU_vGV@JX$U zW&#pm1QZr zsj7ZjL5{sofjQx)Xbz-7P3EU@>j-%1H8Ao90D~Ifst48ppbM-H5U>Kewt(>g;HAeq z0YD4;Wvc4}XsPPuOF-*PzVybbge#~6#00000 LNkvXXu0mjf!d<<5 literal 0 HcmV?d00001 diff --git a/resources/pop_light-old.png b/resources/pop_light-old.png new file mode 100644 index 0000000000000000000000000000000000000000..d976fc42384974171fa8d407959163f499032f43 GIT binary patch literal 15564 zcmeI3eNYtV9mhAQ8NoWW9cpRbyqqKj!`{B!3$Sxss+@+GoI${dmW=G}?!lJ3+w*o$ z4%7rp6Jt#rhit; zhvY!PN);UU>fhUXHr&b~h}(`gC3W6DPiJU|s<`W17y^%{31xoTtKFP1Cz>k^GFHoasidv&gk}@Vwni#B!%N5H#;r04_ z6Q)+R#cKhA5u_7(s^#?oi7J&;B@`5-#cRQ>%%AA)HQ5tioH3DfWzuVx!tx|;x)ODZ zY=!6w*}=VX`9X=-lwi4{cpcGQRx*mvke?sfRfdcevR_o{)J!`CyTsQ!9!+xcn&e<< zmLX{i$>fwXR*toDH1hy$=4d)0NOUF?!=;F_ryh>MnmNY8nd!tB2{YjspngPNLHkYlxsCQ1l4F3}@F8T38g zn=nVe7ZD_L)7fAj*cj4cb~9wQ&BBnp*=;4WEs|Msvx1ej0a8&E6NDL;sz6r3Zmmz) z#b7T-I$N2vX6)#w;FTjCD!>O-Nw2>=<7ffKT3W1Q={}J<=6FHxZ4N;%4@tCBV@Bhb z74sZ%lgBUT)DT4DC%8|Zqpn8sqsl89Dl%*GAgbcg>iD3vuo~=;sZ@S6>R2~8yq(hj z3%v6GU?Eg~?e|-Tsa4hYSO&O5{r{FBzKew#-d`<=4r+7*j}A<2<)Z63wz5X6b$lh- z^*<*LR5935e5869J2h@Bo;fd3a1RZu&Q?x7PQld4=haRxN|F$f`Fh+j0?>NQZX(F2-?KB(0m{j|F$f`Fh+j0?>NQZX(F z2-?KB(0m{j%2YLP4pEAR6u?h{h)g;@ex`c!?lFG(mh>MG)MJ1o3la`|6`h2qLMn(7CWYeD1BC zOu?PY(vIKSd*IddoztG{v}R848<_i)vG>#dfr9g&u{F0B8=3-VcXf9*wLO#UxkBFk z*I@0oZQPzG^WROq5d7`0KKM{8dfhqH{MeaA-Ic)=S2rCx{MGxP|G4*h@5}4fuRn71 z=#0a=FAu%5nN?D)7LC98|8wY_}G5`O2b z2F_SudyJtjQcQ&x0+%h3y`(vN-iZpTdG%%#D7*REa5KA5E>HC}FC z(ZBYF@ZPFdKKWcsqy`!c%@8oLf2Y;PZG;Q4!hM0B3N^6Nw0 z!~bgccZGT$-S<)RCznIEt>#C!b@hE*wCBvaWvSW6KI%MAceJ%-Wc=G%ISJhuu#TRdm|=+pf_0 hH#?u%{Ms~P&c%P+y?^%O)%yF!g^QOu-(FO;@xK5GSsMTV literal 0 HcmV?d00001 From cc65652e0f10d65d0a548408ec11e464cb492683 Mon Sep 17 00:00:00 2001 From: aablatov Date: Sat, 1 Apr 2023 21:25:27 +0300 Subject: [PATCH 73/86] add valid schemas --- .github/workflows/cypress_unit.yml | 3 +- .gitignore | 7626 +++++++++++++++- js/objects_artifacts.js | 10 + resources/medal.png | Bin 0 -> 2495 bytes .../unit/cypress/e2e/check_schema_json.cy.js | 80 + .../unit/cypress/schemas/artifacts_schema.js | 102 + .../cypress/schemas/technology_tree_schema.js | 123 + .../tests_cypress/unit/cypress/support/e2e.js | 2 +- tests/tests_cypress/unit/package-lock.json | 7831 ++++++++--------- tests/tests_cypress/unit/package.json | 21 +- 10 files changed, 11801 insertions(+), 3997 deletions(-) create mode 100644 resources/medal.png create mode 100644 tests/tests_cypress/unit/cypress/e2e/check_schema_json.cy.js create mode 100644 tests/tests_cypress/unit/cypress/schemas/artifacts_schema.js create mode 100644 tests/tests_cypress/unit/cypress/schemas/technology_tree_schema.js diff --git a/.github/workflows/cypress_unit.yml b/.github/workflows/cypress_unit.yml index b7f1cd7..960fd54 100644 --- a/.github/workflows/cypress_unit.yml +++ b/.github/workflows/cypress_unit.yml @@ -26,4 +26,5 @@ jobs: uses: cypress-io/github-action@v5 with: working-directory: tests/tests_cypress/unit - start: npm run start + start: npm install chai-json-schema | + npm run start diff --git a/.gitignore b/.gitignore index 86067be..ae225ab 100644 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,7628 @@ config-mysql.txt .vscode/ # Selenium WebDriver logs -geckodriver.log \ No newline at end of file +geckodriver.log +tests/tests_cypress/unit/node_modules/.package-lock.json +tests/tests_cypress/unit/node_modules/.bin/cypress +tests/tests_cypress/unit/node_modules/.bin/extract-zip +tests/tests_cypress/unit/node_modules/.bin/is-ci +tests/tests_cypress/unit/node_modules/.bin/node-which +tests/tests_cypress/unit/node_modules/.bin/rimraf +tests/tests_cypress/unit/node_modules/.bin/semver +tests/tests_cypress/unit/node_modules/.bin/sshpk-conv +tests/tests_cypress/unit/node_modules/.bin/sshpk-sign +tests/tests_cypress/unit/node_modules/.bin/sshpk-verify +tests/tests_cypress/unit/node_modules/.bin/uuid +tests/tests_cypress/unit/node_modules/@bahmutov/all-paths/package.json +tests/tests_cypress/unit/node_modules/@bahmutov/all-paths/README.md +tests/tests_cypress/unit/node_modules/@bahmutov/all-paths/src/index.js +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/.npmignore +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/.travis.yml +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/example.js +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/formats.js +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/index.js +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/LICENSE +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/package.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/README.md +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/require.js +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema.js +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/misc.js +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/safe-regex.js +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/schema-path.js +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/fixtures/cosmic.js +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/additionalItems.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/additionalProperties.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/allOf.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/anyOf.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/bignum.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/default.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/definitions.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/dependencies.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/enum.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/format.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/items.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/maximum.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/maxItems.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/maxLength.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/maxProperties.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/minimum.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/minItems.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/minLength.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/minProperties.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/multipleOf.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/not.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/nullAndFormat.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/nullAndObject.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/oneOf.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/pattern.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/patternProperties.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/properties.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/ref.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/refRemote.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/required.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/type.json +tests/tests_cypress/unit/node_modules/@bahmutov/is-my-json-valid/test/json-schema-draft4/uniqueItems.json +tests/tests_cypress/unit/node_modules/@colors/colors/index.d.ts +tests/tests_cypress/unit/node_modules/@colors/colors/LICENSE +tests/tests_cypress/unit/node_modules/@colors/colors/package.json +tests/tests_cypress/unit/node_modules/@colors/colors/README.md +tests/tests_cypress/unit/node_modules/@colors/colors/safe.d.ts +tests/tests_cypress/unit/node_modules/@colors/colors/safe.js +tests/tests_cypress/unit/node_modules/@colors/colors/examples/normal-usage.js +tests/tests_cypress/unit/node_modules/@colors/colors/examples/safe-string.js +tests/tests_cypress/unit/node_modules/@colors/colors/lib/colors.js +tests/tests_cypress/unit/node_modules/@colors/colors/lib/extendStringPrototype.js +tests/tests_cypress/unit/node_modules/@colors/colors/lib/index.js +tests/tests_cypress/unit/node_modules/@colors/colors/lib/styles.js +tests/tests_cypress/unit/node_modules/@colors/colors/lib/custom/trap.js +tests/tests_cypress/unit/node_modules/@colors/colors/lib/custom/zalgo.js +tests/tests_cypress/unit/node_modules/@colors/colors/lib/maps/america.js +tests/tests_cypress/unit/node_modules/@colors/colors/lib/maps/rainbow.js +tests/tests_cypress/unit/node_modules/@colors/colors/lib/maps/random.js +tests/tests_cypress/unit/node_modules/@colors/colors/lib/maps/zebra.js +tests/tests_cypress/unit/node_modules/@colors/colors/lib/system/has-flag.js +tests/tests_cypress/unit/node_modules/@colors/colors/lib/system/supports-colors.js +tests/tests_cypress/unit/node_modules/@colors/colors/themes/generic-logging.js +tests/tests_cypress/unit/node_modules/@cypress/request/index.js +tests/tests_cypress/unit/node_modules/@cypress/request/LICENSE +tests/tests_cypress/unit/node_modules/@cypress/request/package.json +tests/tests_cypress/unit/node_modules/@cypress/request/README.md +tests/tests_cypress/unit/node_modules/@cypress/request/request.js +tests/tests_cypress/unit/node_modules/@cypress/request/lib/auth.js +tests/tests_cypress/unit/node_modules/@cypress/request/lib/cookies.js +tests/tests_cypress/unit/node_modules/@cypress/request/lib/getProxyFromURI.js +tests/tests_cypress/unit/node_modules/@cypress/request/lib/har.js +tests/tests_cypress/unit/node_modules/@cypress/request/lib/hawk.js +tests/tests_cypress/unit/node_modules/@cypress/request/lib/helpers.js +tests/tests_cypress/unit/node_modules/@cypress/request/lib/multipart.js +tests/tests_cypress/unit/node_modules/@cypress/request/lib/querystring.js +tests/tests_cypress/unit/node_modules/@cypress/request/lib/redirect.js +tests/tests_cypress/unit/node_modules/@cypress/request/lib/tunnel.js +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/LICENSE.md +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/package.json +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/README.md +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/actions.d.ts +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/actions.js +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/actions.js.map +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/api.d.ts +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/api.js +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/api.js.map +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/fill.d.ts +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/fill.js +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/fill.js.map +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/formats.d.ts +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/formats.js +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/formats.js.map +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/index.d.ts +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/index.js +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/index.js.map +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/objects.d.ts +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/objects.js +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/objects.js.map +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/sanitize.d.ts +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/sanitize.js +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/sanitize.js.map +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/trim.d.ts +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/trim.js +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/trim.js.map +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/utils.d.ts +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/utils.js +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/utils.js.map +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/document/doc-formats.d.ts +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/document/doc-formats.js +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/document/doc-formats.js.map +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/document/docs.d.ts +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/document/docs.js +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/document/docs.js.map +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/document/utils.d.ts +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/document/utils.js +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/dist/document/utils.js.map +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/node_modules/debug/LICENSE +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/node_modules/debug/package.json +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/node_modules/debug/README.md +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/node_modules/debug/src/browser.js +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/node_modules/debug/src/common.js +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/node_modules/debug/src/index.js +tests/tests_cypress/unit/node_modules/@cypress/schema-tools/node_modules/debug/src/node.js +tests/tests_cypress/unit/node_modules/@cypress/xvfb/index.js +tests/tests_cypress/unit/node_modules/@cypress/xvfb/LICENSE +tests/tests_cypress/unit/node_modules/@cypress/xvfb/package.json +tests/tests_cypress/unit/node_modules/@cypress/xvfb/README.md +tests/tests_cypress/unit/node_modules/@cypress/xvfb/node_modules/debug/CHANGELOG.md +tests/tests_cypress/unit/node_modules/@cypress/xvfb/node_modules/debug/LICENSE +tests/tests_cypress/unit/node_modules/@cypress/xvfb/node_modules/debug/node.js +tests/tests_cypress/unit/node_modules/@cypress/xvfb/node_modules/debug/package.json +tests/tests_cypress/unit/node_modules/@cypress/xvfb/node_modules/debug/README.md +tests/tests_cypress/unit/node_modules/@cypress/xvfb/node_modules/debug/src/browser.js +tests/tests_cypress/unit/node_modules/@cypress/xvfb/node_modules/debug/src/common.js +tests/tests_cypress/unit/node_modules/@cypress/xvfb/node_modules/debug/src/index.js +tests/tests_cypress/unit/node_modules/@cypress/xvfb/node_modules/debug/src/node.js +tests/tests_cypress/unit/node_modules/@types/node/assert.d.ts +tests/tests_cypress/unit/node_modules/@types/node/async_hooks.d.ts +tests/tests_cypress/unit/node_modules/@types/node/buffer.d.ts +tests/tests_cypress/unit/node_modules/@types/node/child_process.d.ts +tests/tests_cypress/unit/node_modules/@types/node/cluster.d.ts +tests/tests_cypress/unit/node_modules/@types/node/console.d.ts +tests/tests_cypress/unit/node_modules/@types/node/constants.d.ts +tests/tests_cypress/unit/node_modules/@types/node/crypto.d.ts +tests/tests_cypress/unit/node_modules/@types/node/dgram.d.ts +tests/tests_cypress/unit/node_modules/@types/node/dns.d.ts +tests/tests_cypress/unit/node_modules/@types/node/domain.d.ts +tests/tests_cypress/unit/node_modules/@types/node/events.d.ts +tests/tests_cypress/unit/node_modules/@types/node/fs.d.ts +tests/tests_cypress/unit/node_modules/@types/node/globals.d.ts +tests/tests_cypress/unit/node_modules/@types/node/globals.global.d.ts +tests/tests_cypress/unit/node_modules/@types/node/http.d.ts +tests/tests_cypress/unit/node_modules/@types/node/http2.d.ts +tests/tests_cypress/unit/node_modules/@types/node/https.d.ts +tests/tests_cypress/unit/node_modules/@types/node/index.d.ts +tests/tests_cypress/unit/node_modules/@types/node/inspector.d.ts +tests/tests_cypress/unit/node_modules/@types/node/LICENSE +tests/tests_cypress/unit/node_modules/@types/node/module.d.ts +tests/tests_cypress/unit/node_modules/@types/node/net.d.ts +tests/tests_cypress/unit/node_modules/@types/node/os.d.ts +tests/tests_cypress/unit/node_modules/@types/node/package.json +tests/tests_cypress/unit/node_modules/@types/node/path.d.ts +tests/tests_cypress/unit/node_modules/@types/node/perf_hooks.d.ts +tests/tests_cypress/unit/node_modules/@types/node/process.d.ts +tests/tests_cypress/unit/node_modules/@types/node/punycode.d.ts +tests/tests_cypress/unit/node_modules/@types/node/querystring.d.ts +tests/tests_cypress/unit/node_modules/@types/node/readline.d.ts +tests/tests_cypress/unit/node_modules/@types/node/README.md +tests/tests_cypress/unit/node_modules/@types/node/repl.d.ts +tests/tests_cypress/unit/node_modules/@types/node/stream.d.ts +tests/tests_cypress/unit/node_modules/@types/node/string_decoder.d.ts +tests/tests_cypress/unit/node_modules/@types/node/timers.d.ts +tests/tests_cypress/unit/node_modules/@types/node/tls.d.ts +tests/tests_cypress/unit/node_modules/@types/node/trace_events.d.ts +tests/tests_cypress/unit/node_modules/@types/node/tty.d.ts +tests/tests_cypress/unit/node_modules/@types/node/url.d.ts +tests/tests_cypress/unit/node_modules/@types/node/util.d.ts +tests/tests_cypress/unit/node_modules/@types/node/v8.d.ts +tests/tests_cypress/unit/node_modules/@types/node/vm.d.ts +tests/tests_cypress/unit/node_modules/@types/node/wasi.d.ts +tests/tests_cypress/unit/node_modules/@types/node/worker_threads.d.ts +tests/tests_cypress/unit/node_modules/@types/node/zlib.d.ts +tests/tests_cypress/unit/node_modules/@types/node/fs/promises.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/assert.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/async_hooks.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/buffer.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/child_process.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/cluster.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/console.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/constants.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/crypto.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/dgram.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/dns.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/domain.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/events.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/fs.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/globals.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/globals.global.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/http.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/http2.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/https.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/index.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/inspector.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/module.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/net.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/os.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/path.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/perf_hooks.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/process.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/punycode.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/querystring.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/readline.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/repl.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/stream.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/string_decoder.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/timers.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/tls.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/trace_events.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/tty.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/url.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/util.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/v8.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/vm.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/wasi.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/worker_threads.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/zlib.d.ts +tests/tests_cypress/unit/node_modules/@types/node/ts4.8/fs/promises.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/index.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/LICENSE +tests/tests_cypress/unit/node_modules/@types/ramda/package.json +tests/tests_cypress/unit/node_modules/@types/ramda/README.md +tests/tests_cypress/unit/node_modules/@types/ramda/es/add.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/addIndex.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/adjust.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/all.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/allPass.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/always.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/and.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/any.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/anyPass.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/ap.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/aperture.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/append.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/apply.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/applySpec.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/applyTo.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/ascend.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/assoc.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/assocPath.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/binary.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/bind.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/both.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/call.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/chain.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/clamp.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/clone.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/comparator.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/complement.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/compose.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/composeK.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/composeP.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/concat.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/cond.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/construct.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/constructN.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/contains.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/converge.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/countBy.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/curry.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/curryN.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/dec.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/defaultTo.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/descend.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/difference.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/differenceWith.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/dissoc.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/dissocPath.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/divide.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/drop.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/dropLast.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/dropLastWhile.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/either.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/empty.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/endsWith.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/eqBy.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/eqProps.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/equals.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/evolve.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/F.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/filter.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/find.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/findIndex.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/findLast.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/findLastIndex.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/flatten.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/flip.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/forEach.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/forEachObjIndexed.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/fromPairs.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/groupBy.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/groupWith.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/gt.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/gte.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/has.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/hasIn.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/head.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/identical.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/identity.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/ifElse.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/inc.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/includes.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/indexBy.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/indexOf.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/init.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/innerJoin.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/insert.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/insertAll.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/intersection.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/intersectionWith.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/intersperse.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/into.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/invert.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/invertObj.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/invoker.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/is.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/isArrayLike.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/isEmpty.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/isNaN.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/isNil.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/join.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/juxt.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/keys.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/keysIn.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/last.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/lastIndexOf.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/length.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/lens.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/lensIndex.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/lensPath.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/lensProp.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/lift.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/lt.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/lte.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/map.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/mapAccum.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/mapAccumRight.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/mapObjIndexed.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/match.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/mathMod.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/max.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/maxBy.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/mean.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/median.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/memoize.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/memoizeWith.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/merge.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/mergeAll.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/mergeDeepLeft.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/mergeDeepRight.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/mergeDeepWith.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/mergeDeepWithKey.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/mergeWith.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/mergeWithKey.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/min.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/minBy.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/modulo.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/multiply.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/nAry.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/negate.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/none.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/not.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/nth.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/nthArg.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/objOf.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/of.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/omit.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/once.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/or.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/over.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/pair.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/partial.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/partialRight.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/partition.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/path.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/pathEq.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/pathOr.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/pathSatisfies.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/pick.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/pickAll.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/pickBy.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/pipe.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/pipeK.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/pipeP.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/pluck.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/prepend.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/product.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/project.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/prop.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/propEq.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/propIs.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/propOr.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/props.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/propSatisfies.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/range.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/reduce.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/reduceBy.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/reduced.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/reduceRight.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/reduceWhile.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/reject.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/remove.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/repeat.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/replace.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/reverse.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/scan.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/set.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/slice.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/sort.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/sortBy.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/sortWith.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/split.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/splitAt.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/splitEvery.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/splitWhen.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/startsWith.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/subtract.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/sum.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/symmetricDifference.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/symmetricDifferenceWith.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/T.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/tail.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/take.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/takeLast.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/takeLastWhile.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/takeWhile.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/tap.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/test.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/times.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/toLower.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/toPairs.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/toPairsIn.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/toString.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/toUpper.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/transduce.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/transpose.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/traverse.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/trim.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/tryCatch.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/type.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/unapply.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/unary.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/uncurryN.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/unfold.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/union.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/unionWith.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/uniq.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/uniqBy.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/uniqWith.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/unless.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/unnest.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/until.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/update.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/useWith.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/values.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/valuesIn.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/view.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/when.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/where.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/whereEq.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/without.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/wrap.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/xprod.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/zip.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/zipObj.d.ts +tests/tests_cypress/unit/node_modules/@types/ramda/es/zipWith.d.ts +tests/tests_cypress/unit/node_modules/@types/sinonjs__fake-timers/index.d.ts +tests/tests_cypress/unit/node_modules/@types/sinonjs__fake-timers/LICENSE +tests/tests_cypress/unit/node_modules/@types/sinonjs__fake-timers/package.json +tests/tests_cypress/unit/node_modules/@types/sinonjs__fake-timers/README.md +tests/tests_cypress/unit/node_modules/@types/sizzle/index.d.ts +tests/tests_cypress/unit/node_modules/@types/sizzle/LICENSE +tests/tests_cypress/unit/node_modules/@types/sizzle/package.json +tests/tests_cypress/unit/node_modules/@types/sizzle/README.md +tests/tests_cypress/unit/node_modules/@types/yauzl/index.d.ts +tests/tests_cypress/unit/node_modules/@types/yauzl/LICENSE +tests/tests_cypress/unit/node_modules/@types/yauzl/package.json +tests/tests_cypress/unit/node_modules/@types/yauzl/README.md +tests/tests_cypress/unit/node_modules/aggregate-error/index.d.ts +tests/tests_cypress/unit/node_modules/aggregate-error/index.js +tests/tests_cypress/unit/node_modules/aggregate-error/license +tests/tests_cypress/unit/node_modules/aggregate-error/package.json +tests/tests_cypress/unit/node_modules/aggregate-error/readme.md +tests/tests_cypress/unit/node_modules/ansi-colors/index.js +tests/tests_cypress/unit/node_modules/ansi-colors/LICENSE +tests/tests_cypress/unit/node_modules/ansi-colors/package.json +tests/tests_cypress/unit/node_modules/ansi-colors/README.md +tests/tests_cypress/unit/node_modules/ansi-colors/symbols.js +tests/tests_cypress/unit/node_modules/ansi-colors/types/index.d.ts +tests/tests_cypress/unit/node_modules/ansi-escapes/index.d.ts +tests/tests_cypress/unit/node_modules/ansi-escapes/index.js +tests/tests_cypress/unit/node_modules/ansi-escapes/license +tests/tests_cypress/unit/node_modules/ansi-escapes/package.json +tests/tests_cypress/unit/node_modules/ansi-escapes/readme.md +tests/tests_cypress/unit/node_modules/ansi-regex/index.d.ts +tests/tests_cypress/unit/node_modules/ansi-regex/index.js +tests/tests_cypress/unit/node_modules/ansi-regex/license +tests/tests_cypress/unit/node_modules/ansi-regex/package.json +tests/tests_cypress/unit/node_modules/ansi-regex/readme.md +tests/tests_cypress/unit/node_modules/ansi-styles/index.d.ts +tests/tests_cypress/unit/node_modules/ansi-styles/index.js +tests/tests_cypress/unit/node_modules/ansi-styles/license +tests/tests_cypress/unit/node_modules/ansi-styles/package.json +tests/tests_cypress/unit/node_modules/ansi-styles/readme.md +tests/tests_cypress/unit/node_modules/arch/browser.js +tests/tests_cypress/unit/node_modules/arch/index.d.ts +tests/tests_cypress/unit/node_modules/arch/index.js +tests/tests_cypress/unit/node_modules/arch/LICENSE +tests/tests_cypress/unit/node_modules/arch/package.json +tests/tests_cypress/unit/node_modules/arch/README.md +tests/tests_cypress/unit/node_modules/asn1/Jenkinsfile +tests/tests_cypress/unit/node_modules/asn1/LICENSE +tests/tests_cypress/unit/node_modules/asn1/package.json +tests/tests_cypress/unit/node_modules/asn1/README.md +tests/tests_cypress/unit/node_modules/asn1/lib/index.js +tests/tests_cypress/unit/node_modules/asn1/lib/ber/errors.js +tests/tests_cypress/unit/node_modules/asn1/lib/ber/index.js +tests/tests_cypress/unit/node_modules/asn1/lib/ber/reader.js +tests/tests_cypress/unit/node_modules/asn1/lib/ber/types.js +tests/tests_cypress/unit/node_modules/asn1/lib/ber/writer.js +tests/tests_cypress/unit/node_modules/assert-plus/assert.js +tests/tests_cypress/unit/node_modules/assert-plus/AUTHORS +tests/tests_cypress/unit/node_modules/assert-plus/CHANGES.md +tests/tests_cypress/unit/node_modules/assert-plus/package.json +tests/tests_cypress/unit/node_modules/assert-plus/README.md +tests/tests_cypress/unit/node_modules/astral-regex/index.d.ts +tests/tests_cypress/unit/node_modules/astral-regex/index.js +tests/tests_cypress/unit/node_modules/astral-regex/license +tests/tests_cypress/unit/node_modules/astral-regex/package.json +tests/tests_cypress/unit/node_modules/astral-regex/readme.md +tests/tests_cypress/unit/node_modules/async/all.js +tests/tests_cypress/unit/node_modules/async/allLimit.js +tests/tests_cypress/unit/node_modules/async/allSeries.js +tests/tests_cypress/unit/node_modules/async/any.js +tests/tests_cypress/unit/node_modules/async/anyLimit.js +tests/tests_cypress/unit/node_modules/async/anySeries.js +tests/tests_cypress/unit/node_modules/async/apply.js +tests/tests_cypress/unit/node_modules/async/applyEach.js +tests/tests_cypress/unit/node_modules/async/applyEachSeries.js +tests/tests_cypress/unit/node_modules/async/asyncify.js +tests/tests_cypress/unit/node_modules/async/auto.js +tests/tests_cypress/unit/node_modules/async/autoInject.js +tests/tests_cypress/unit/node_modules/async/bower.json +tests/tests_cypress/unit/node_modules/async/cargo.js +tests/tests_cypress/unit/node_modules/async/cargoQueue.js +tests/tests_cypress/unit/node_modules/async/CHANGELOG.md +tests/tests_cypress/unit/node_modules/async/compose.js +tests/tests_cypress/unit/node_modules/async/concat.js +tests/tests_cypress/unit/node_modules/async/concatLimit.js +tests/tests_cypress/unit/node_modules/async/concatSeries.js +tests/tests_cypress/unit/node_modules/async/constant.js +tests/tests_cypress/unit/node_modules/async/detect.js +tests/tests_cypress/unit/node_modules/async/detectLimit.js +tests/tests_cypress/unit/node_modules/async/detectSeries.js +tests/tests_cypress/unit/node_modules/async/dir.js +tests/tests_cypress/unit/node_modules/async/doDuring.js +tests/tests_cypress/unit/node_modules/async/doUntil.js +tests/tests_cypress/unit/node_modules/async/doWhilst.js +tests/tests_cypress/unit/node_modules/async/during.js +tests/tests_cypress/unit/node_modules/async/each.js +tests/tests_cypress/unit/node_modules/async/eachLimit.js +tests/tests_cypress/unit/node_modules/async/eachOf.js +tests/tests_cypress/unit/node_modules/async/eachOfLimit.js +tests/tests_cypress/unit/node_modules/async/eachOfSeries.js +tests/tests_cypress/unit/node_modules/async/eachSeries.js +tests/tests_cypress/unit/node_modules/async/ensureAsync.js +tests/tests_cypress/unit/node_modules/async/every.js +tests/tests_cypress/unit/node_modules/async/everyLimit.js +tests/tests_cypress/unit/node_modules/async/everySeries.js +tests/tests_cypress/unit/node_modules/async/filter.js +tests/tests_cypress/unit/node_modules/async/filterLimit.js +tests/tests_cypress/unit/node_modules/async/filterSeries.js +tests/tests_cypress/unit/node_modules/async/find.js +tests/tests_cypress/unit/node_modules/async/findLimit.js +tests/tests_cypress/unit/node_modules/async/findSeries.js +tests/tests_cypress/unit/node_modules/async/flatMap.js +tests/tests_cypress/unit/node_modules/async/flatMapLimit.js +tests/tests_cypress/unit/node_modules/async/flatMapSeries.js +tests/tests_cypress/unit/node_modules/async/foldl.js +tests/tests_cypress/unit/node_modules/async/foldr.js +tests/tests_cypress/unit/node_modules/async/forEach.js +tests/tests_cypress/unit/node_modules/async/forEachLimit.js +tests/tests_cypress/unit/node_modules/async/forEachOf.js +tests/tests_cypress/unit/node_modules/async/forEachOfLimit.js +tests/tests_cypress/unit/node_modules/async/forEachOfSeries.js +tests/tests_cypress/unit/node_modules/async/forEachSeries.js +tests/tests_cypress/unit/node_modules/async/forever.js +tests/tests_cypress/unit/node_modules/async/groupBy.js +tests/tests_cypress/unit/node_modules/async/groupByLimit.js +tests/tests_cypress/unit/node_modules/async/groupBySeries.js +tests/tests_cypress/unit/node_modules/async/index.js +tests/tests_cypress/unit/node_modules/async/inject.js +tests/tests_cypress/unit/node_modules/async/LICENSE +tests/tests_cypress/unit/node_modules/async/log.js +tests/tests_cypress/unit/node_modules/async/map.js +tests/tests_cypress/unit/node_modules/async/mapLimit.js +tests/tests_cypress/unit/node_modules/async/mapSeries.js +tests/tests_cypress/unit/node_modules/async/mapValues.js +tests/tests_cypress/unit/node_modules/async/mapValuesLimit.js +tests/tests_cypress/unit/node_modules/async/mapValuesSeries.js +tests/tests_cypress/unit/node_modules/async/memoize.js +tests/tests_cypress/unit/node_modules/async/nextTick.js +tests/tests_cypress/unit/node_modules/async/package.json +tests/tests_cypress/unit/node_modules/async/parallel.js +tests/tests_cypress/unit/node_modules/async/parallelLimit.js +tests/tests_cypress/unit/node_modules/async/priorityQueue.js +tests/tests_cypress/unit/node_modules/async/queue.js +tests/tests_cypress/unit/node_modules/async/race.js +tests/tests_cypress/unit/node_modules/async/README.md +tests/tests_cypress/unit/node_modules/async/reduce.js +tests/tests_cypress/unit/node_modules/async/reduceRight.js +tests/tests_cypress/unit/node_modules/async/reflect.js +tests/tests_cypress/unit/node_modules/async/reflectAll.js +tests/tests_cypress/unit/node_modules/async/reject.js +tests/tests_cypress/unit/node_modules/async/rejectLimit.js +tests/tests_cypress/unit/node_modules/async/rejectSeries.js +tests/tests_cypress/unit/node_modules/async/retry.js +tests/tests_cypress/unit/node_modules/async/retryable.js +tests/tests_cypress/unit/node_modules/async/select.js +tests/tests_cypress/unit/node_modules/async/selectLimit.js +tests/tests_cypress/unit/node_modules/async/selectSeries.js +tests/tests_cypress/unit/node_modules/async/seq.js +tests/tests_cypress/unit/node_modules/async/series.js +tests/tests_cypress/unit/node_modules/async/setImmediate.js +tests/tests_cypress/unit/node_modules/async/some.js +tests/tests_cypress/unit/node_modules/async/someLimit.js +tests/tests_cypress/unit/node_modules/async/someSeries.js +tests/tests_cypress/unit/node_modules/async/sortBy.js +tests/tests_cypress/unit/node_modules/async/timeout.js +tests/tests_cypress/unit/node_modules/async/times.js +tests/tests_cypress/unit/node_modules/async/timesLimit.js +tests/tests_cypress/unit/node_modules/async/timesSeries.js +tests/tests_cypress/unit/node_modules/async/transform.js +tests/tests_cypress/unit/node_modules/async/tryEach.js +tests/tests_cypress/unit/node_modules/async/unmemoize.js +tests/tests_cypress/unit/node_modules/async/until.js +tests/tests_cypress/unit/node_modules/async/waterfall.js +tests/tests_cypress/unit/node_modules/async/whilst.js +tests/tests_cypress/unit/node_modules/async/wrapSync.js +tests/tests_cypress/unit/node_modules/async/dist/async.js +tests/tests_cypress/unit/node_modules/async/dist/async.min.js +tests/tests_cypress/unit/node_modules/async/dist/async.mjs +tests/tests_cypress/unit/node_modules/async/internal/applyEach.js +tests/tests_cypress/unit/node_modules/async/internal/asyncEachOfLimit.js +tests/tests_cypress/unit/node_modules/async/internal/awaitify.js +tests/tests_cypress/unit/node_modules/async/internal/breakLoop.js +tests/tests_cypress/unit/node_modules/async/internal/consoleFunc.js +tests/tests_cypress/unit/node_modules/async/internal/createTester.js +tests/tests_cypress/unit/node_modules/async/internal/DoublyLinkedList.js +tests/tests_cypress/unit/node_modules/async/internal/eachOfLimit.js +tests/tests_cypress/unit/node_modules/async/internal/filter.js +tests/tests_cypress/unit/node_modules/async/internal/getIterator.js +tests/tests_cypress/unit/node_modules/async/internal/Heap.js +tests/tests_cypress/unit/node_modules/async/internal/initialParams.js +tests/tests_cypress/unit/node_modules/async/internal/isArrayLike.js +tests/tests_cypress/unit/node_modules/async/internal/iterator.js +tests/tests_cypress/unit/node_modules/async/internal/map.js +tests/tests_cypress/unit/node_modules/async/internal/once.js +tests/tests_cypress/unit/node_modules/async/internal/onlyOnce.js +tests/tests_cypress/unit/node_modules/async/internal/parallel.js +tests/tests_cypress/unit/node_modules/async/internal/promiseCallback.js +tests/tests_cypress/unit/node_modules/async/internal/queue.js +tests/tests_cypress/unit/node_modules/async/internal/range.js +tests/tests_cypress/unit/node_modules/async/internal/reject.js +tests/tests_cypress/unit/node_modules/async/internal/setImmediate.js +tests/tests_cypress/unit/node_modules/async/internal/withoutIndex.js +tests/tests_cypress/unit/node_modules/async/internal/wrapAsync.js +tests/tests_cypress/unit/node_modules/asynckit/bench.js +tests/tests_cypress/unit/node_modules/asynckit/index.js +tests/tests_cypress/unit/node_modules/asynckit/LICENSE +tests/tests_cypress/unit/node_modules/asynckit/package.json +tests/tests_cypress/unit/node_modules/asynckit/parallel.js +tests/tests_cypress/unit/node_modules/asynckit/README.md +tests/tests_cypress/unit/node_modules/asynckit/serial.js +tests/tests_cypress/unit/node_modules/asynckit/serialOrdered.js +tests/tests_cypress/unit/node_modules/asynckit/stream.js +tests/tests_cypress/unit/node_modules/asynckit/lib/abort.js +tests/tests_cypress/unit/node_modules/asynckit/lib/async.js +tests/tests_cypress/unit/node_modules/asynckit/lib/defer.js +tests/tests_cypress/unit/node_modules/asynckit/lib/iterate.js +tests/tests_cypress/unit/node_modules/asynckit/lib/readable_asynckit.js +tests/tests_cypress/unit/node_modules/asynckit/lib/readable_parallel.js +tests/tests_cypress/unit/node_modules/asynckit/lib/readable_serial_ordered.js +tests/tests_cypress/unit/node_modules/asynckit/lib/readable_serial.js +tests/tests_cypress/unit/node_modules/asynckit/lib/state.js +tests/tests_cypress/unit/node_modules/asynckit/lib/streamify.js +tests/tests_cypress/unit/node_modules/asynckit/lib/terminator.js +tests/tests_cypress/unit/node_modules/at-least-node/index.js +tests/tests_cypress/unit/node_modules/at-least-node/LICENSE +tests/tests_cypress/unit/node_modules/at-least-node/package.json +tests/tests_cypress/unit/node_modules/at-least-node/README.md +tests/tests_cypress/unit/node_modules/aws-sign2/index.js +tests/tests_cypress/unit/node_modules/aws-sign2/LICENSE +tests/tests_cypress/unit/node_modules/aws-sign2/package.json +tests/tests_cypress/unit/node_modules/aws-sign2/README.md +tests/tests_cypress/unit/node_modules/aws4/.travis.yml +tests/tests_cypress/unit/node_modules/aws4/aws4.js +tests/tests_cypress/unit/node_modules/aws4/LICENSE +tests/tests_cypress/unit/node_modules/aws4/lru.js +tests/tests_cypress/unit/node_modules/aws4/package.json +tests/tests_cypress/unit/node_modules/aws4/README.md +tests/tests_cypress/unit/node_modules/aws4/.github/FUNDING.yml +tests/tests_cypress/unit/node_modules/balanced-match/index.js +tests/tests_cypress/unit/node_modules/balanced-match/LICENSE.md +tests/tests_cypress/unit/node_modules/balanced-match/package.json +tests/tests_cypress/unit/node_modules/balanced-match/README.md +tests/tests_cypress/unit/node_modules/balanced-match/.github/FUNDING.yml +tests/tests_cypress/unit/node_modules/base64-js/base64js.min.js +tests/tests_cypress/unit/node_modules/base64-js/index.d.ts +tests/tests_cypress/unit/node_modules/base64-js/index.js +tests/tests_cypress/unit/node_modules/base64-js/LICENSE +tests/tests_cypress/unit/node_modules/base64-js/package.json +tests/tests_cypress/unit/node_modules/base64-js/README.md +tests/tests_cypress/unit/node_modules/bcrypt-pbkdf/CONTRIBUTING.md +tests/tests_cypress/unit/node_modules/bcrypt-pbkdf/index.js +tests/tests_cypress/unit/node_modules/bcrypt-pbkdf/LICENSE +tests/tests_cypress/unit/node_modules/bcrypt-pbkdf/package.json +tests/tests_cypress/unit/node_modules/bcrypt-pbkdf/README.md +tests/tests_cypress/unit/node_modules/blob-util/CHANGELOG.md +tests/tests_cypress/unit/node_modules/blob-util/LICENSE +tests/tests_cypress/unit/node_modules/blob-util/package.json +tests/tests_cypress/unit/node_modules/blob-util/README.md +tests/tests_cypress/unit/node_modules/blob-util/dist/blob-util.cjs.js +tests/tests_cypress/unit/node_modules/blob-util/dist/blob-util.d.ts +tests/tests_cypress/unit/node_modules/blob-util/dist/blob-util.es.js +tests/tests_cypress/unit/node_modules/blob-util/dist/blob-util.js +tests/tests_cypress/unit/node_modules/blob-util/dist/blob-util.min.js +tests/tests_cypress/unit/node_modules/bluebird/changelog.md +tests/tests_cypress/unit/node_modules/bluebird/LICENSE +tests/tests_cypress/unit/node_modules/bluebird/package.json +tests/tests_cypress/unit/node_modules/bluebird/README.md +tests/tests_cypress/unit/node_modules/bluebird/js/browser/bluebird.core.js +tests/tests_cypress/unit/node_modules/bluebird/js/browser/bluebird.core.min.js +tests/tests_cypress/unit/node_modules/bluebird/js/browser/bluebird.js +tests/tests_cypress/unit/node_modules/bluebird/js/browser/bluebird.min.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/any.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/assert.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/async.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/bind.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/bluebird.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/call_get.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/cancel.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/catch_filter.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/context.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/debuggability.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/direct_resolve.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/each.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/errors.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/es5.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/filter.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/finally.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/generators.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/join.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/map.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/method.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/nodeback.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/nodeify.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/promise_array.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/promise.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/promisify.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/props.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/queue.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/race.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/reduce.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/schedule.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/settle.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/some.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/synchronous_inspection.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/thenables.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/timers.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/using.js +tests/tests_cypress/unit/node_modules/bluebird/js/release/util.js +tests/tests_cypress/unit/node_modules/buffer/AUTHORS.md +tests/tests_cypress/unit/node_modules/buffer/index.d.ts +tests/tests_cypress/unit/node_modules/buffer/index.js +tests/tests_cypress/unit/node_modules/buffer/LICENSE +tests/tests_cypress/unit/node_modules/buffer/package.json +tests/tests_cypress/unit/node_modules/buffer/README.md +tests/tests_cypress/unit/node_modules/buffer-crc32/index.js +tests/tests_cypress/unit/node_modules/buffer-crc32/LICENSE +tests/tests_cypress/unit/node_modules/buffer-crc32/package.json +tests/tests_cypress/unit/node_modules/buffer-crc32/README.md +tests/tests_cypress/unit/node_modules/cachedir/.travis.yml +tests/tests_cypress/unit/node_modules/cachedir/index.js +tests/tests_cypress/unit/node_modules/cachedir/license +tests/tests_cypress/unit/node_modules/cachedir/package.json +tests/tests_cypress/unit/node_modules/cachedir/readme.md +tests/tests_cypress/unit/node_modules/cachedir/test.js +tests/tests_cypress/unit/node_modules/call-bind/.eslintignore +tests/tests_cypress/unit/node_modules/call-bind/.eslintrc +tests/tests_cypress/unit/node_modules/call-bind/.nycrc +tests/tests_cypress/unit/node_modules/call-bind/callBound.js +tests/tests_cypress/unit/node_modules/call-bind/CHANGELOG.md +tests/tests_cypress/unit/node_modules/call-bind/index.js +tests/tests_cypress/unit/node_modules/call-bind/LICENSE +tests/tests_cypress/unit/node_modules/call-bind/package.json +tests/tests_cypress/unit/node_modules/call-bind/README.md +tests/tests_cypress/unit/node_modules/call-bind/.github/FUNDING.yml +tests/tests_cypress/unit/node_modules/call-bind/test/callBound.js +tests/tests_cypress/unit/node_modules/call-bind/test/index.js +tests/tests_cypress/unit/node_modules/caseless/index.js +tests/tests_cypress/unit/node_modules/caseless/LICENSE +tests/tests_cypress/unit/node_modules/caseless/package.json +tests/tests_cypress/unit/node_modules/caseless/README.md +tests/tests_cypress/unit/node_modules/caseless/test.js +tests/tests_cypress/unit/node_modules/chalk/index.d.ts +tests/tests_cypress/unit/node_modules/chalk/license +tests/tests_cypress/unit/node_modules/chalk/package.json +tests/tests_cypress/unit/node_modules/chalk/readme.md +tests/tests_cypress/unit/node_modules/chalk/node_modules/supports-color/browser.js +tests/tests_cypress/unit/node_modules/chalk/node_modules/supports-color/index.js +tests/tests_cypress/unit/node_modules/chalk/node_modules/supports-color/license +tests/tests_cypress/unit/node_modules/chalk/node_modules/supports-color/package.json +tests/tests_cypress/unit/node_modules/chalk/node_modules/supports-color/readme.md +tests/tests_cypress/unit/node_modules/chalk/source/index.js +tests/tests_cypress/unit/node_modules/chalk/source/templates.js +tests/tests_cypress/unit/node_modules/chalk/source/util.js +tests/tests_cypress/unit/node_modules/check-more-types/bower.json +tests/tests_cypress/unit/node_modules/check-more-types/LICENSE +tests/tests_cypress/unit/node_modules/check-more-types/package.json +tests/tests_cypress/unit/node_modules/check-more-types/README.md +tests/tests_cypress/unit/node_modules/check-more-types/dist/check-more-types.d.ts +tests/tests_cypress/unit/node_modules/check-more-types/dist/check-more-types.js +tests/tests_cypress/unit/node_modules/check-more-types/dist/check-more-types.min.js +tests/tests_cypress/unit/node_modules/ci-info/CHANGELOG.md +tests/tests_cypress/unit/node_modules/ci-info/index.d.ts +tests/tests_cypress/unit/node_modules/ci-info/index.js +tests/tests_cypress/unit/node_modules/ci-info/LICENSE +tests/tests_cypress/unit/node_modules/ci-info/package.json +tests/tests_cypress/unit/node_modules/ci-info/README.md +tests/tests_cypress/unit/node_modules/ci-info/vendors.json +tests/tests_cypress/unit/node_modules/clean-stack/index.d.ts +tests/tests_cypress/unit/node_modules/clean-stack/index.js +tests/tests_cypress/unit/node_modules/clean-stack/license +tests/tests_cypress/unit/node_modules/clean-stack/package.json +tests/tests_cypress/unit/node_modules/clean-stack/readme.md +tests/tests_cypress/unit/node_modules/cli-cursor/index.d.ts +tests/tests_cypress/unit/node_modules/cli-cursor/index.js +tests/tests_cypress/unit/node_modules/cli-cursor/license +tests/tests_cypress/unit/node_modules/cli-cursor/package.json +tests/tests_cypress/unit/node_modules/cli-cursor/readme.md +tests/tests_cypress/unit/node_modules/cli-table3/CHANGELOG.md +tests/tests_cypress/unit/node_modules/cli-table3/index.d.ts +tests/tests_cypress/unit/node_modules/cli-table3/index.js +tests/tests_cypress/unit/node_modules/cli-table3/LICENSE +tests/tests_cypress/unit/node_modules/cli-table3/package.json +tests/tests_cypress/unit/node_modules/cli-table3/README.md +tests/tests_cypress/unit/node_modules/cli-table3/src/cell.js +tests/tests_cypress/unit/node_modules/cli-table3/src/debug.js +tests/tests_cypress/unit/node_modules/cli-table3/src/layout-manager.js +tests/tests_cypress/unit/node_modules/cli-table3/src/table.js +tests/tests_cypress/unit/node_modules/cli-table3/src/utils.js +tests/tests_cypress/unit/node_modules/cli-truncate/index.d.ts +tests/tests_cypress/unit/node_modules/cli-truncate/index.js +tests/tests_cypress/unit/node_modules/cli-truncate/license +tests/tests_cypress/unit/node_modules/cli-truncate/package.json +tests/tests_cypress/unit/node_modules/cli-truncate/readme.md +tests/tests_cypress/unit/node_modules/color-convert/CHANGELOG.md +tests/tests_cypress/unit/node_modules/color-convert/conversions.js +tests/tests_cypress/unit/node_modules/color-convert/index.js +tests/tests_cypress/unit/node_modules/color-convert/LICENSE +tests/tests_cypress/unit/node_modules/color-convert/package.json +tests/tests_cypress/unit/node_modules/color-convert/README.md +tests/tests_cypress/unit/node_modules/color-convert/route.js +tests/tests_cypress/unit/node_modules/color-name/index.js +tests/tests_cypress/unit/node_modules/color-name/LICENSE +tests/tests_cypress/unit/node_modules/color-name/package.json +tests/tests_cypress/unit/node_modules/color-name/README.md +tests/tests_cypress/unit/node_modules/colorette/index.cjs +tests/tests_cypress/unit/node_modules/colorette/index.d.ts +tests/tests_cypress/unit/node_modules/colorette/index.js +tests/tests_cypress/unit/node_modules/colorette/LICENSE.md +tests/tests_cypress/unit/node_modules/colorette/package.json +tests/tests_cypress/unit/node_modules/colorette/README.md +tests/tests_cypress/unit/node_modules/combined-stream/License +tests/tests_cypress/unit/node_modules/combined-stream/package.json +tests/tests_cypress/unit/node_modules/combined-stream/Readme.md +tests/tests_cypress/unit/node_modules/combined-stream/yarn.lock +tests/tests_cypress/unit/node_modules/combined-stream/lib/combined_stream.js +tests/tests_cypress/unit/node_modules/commander/CHANGELOG.md +tests/tests_cypress/unit/node_modules/commander/index.js +tests/tests_cypress/unit/node_modules/commander/LICENSE +tests/tests_cypress/unit/node_modules/commander/package.json +tests/tests_cypress/unit/node_modules/commander/Readme.md +tests/tests_cypress/unit/node_modules/commander/typings/index.d.ts +tests/tests_cypress/unit/node_modules/common-tags/license.md +tests/tests_cypress/unit/node_modules/common-tags/package.json +tests/tests_cypress/unit/node_modules/common-tags/readme.md +tests/tests_cypress/unit/node_modules/common-tags/dist/common-tags.min.js +tests/tests_cypress/unit/node_modules/common-tags/es/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/TemplateTag/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/TemplateTag/TemplateTag.js +tests/tests_cypress/unit/node_modules/common-tags/es/codeBlock/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/commaLists/commaLists.js +tests/tests_cypress/unit/node_modules/common-tags/es/commaLists/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/commaListsAnd/commaListsAnd.js +tests/tests_cypress/unit/node_modules/common-tags/es/commaListsAnd/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/commaListsOr/commaListsOr.js +tests/tests_cypress/unit/node_modules/common-tags/es/commaListsOr/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/html/html.js +tests/tests_cypress/unit/node_modules/common-tags/es/html/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/inlineArrayTransformer/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/inlineArrayTransformer/inlineArrayTransformer.js +tests/tests_cypress/unit/node_modules/common-tags/es/inlineLists/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/inlineLists/inlineLists.js +tests/tests_cypress/unit/node_modules/common-tags/es/oneLine/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/oneLine/oneLine.js +tests/tests_cypress/unit/node_modules/common-tags/es/oneLineCommaLists/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/oneLineCommaLists/oneLineCommaLists.js +tests/tests_cypress/unit/node_modules/common-tags/es/oneLineCommaListsAnd/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/oneLineCommaListsAnd/oneLineCommaListsAnd.js +tests/tests_cypress/unit/node_modules/common-tags/es/oneLineCommaListsOr/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/oneLineCommaListsOr/oneLineCommaListsOr.js +tests/tests_cypress/unit/node_modules/common-tags/es/oneLineInlineLists/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/oneLineInlineLists/oneLineInlineLists.js +tests/tests_cypress/unit/node_modules/common-tags/es/oneLineTrim/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/oneLineTrim/oneLineTrim.js +tests/tests_cypress/unit/node_modules/common-tags/es/removeNonPrintingValuesTransformer/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/removeNonPrintingValuesTransformer/removeNonPrintingValuesTransformer.js +tests/tests_cypress/unit/node_modules/common-tags/es/replaceResultTransformer/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/replaceResultTransformer/replaceResultTransformer.js +tests/tests_cypress/unit/node_modules/common-tags/es/replaceStringTransformer/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/replaceStringTransformer/replaceStringTransformer.js +tests/tests_cypress/unit/node_modules/common-tags/es/replaceSubstitutionTransformer/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/replaceSubstitutionTransformer/replaceSubstitutionTransformer.js +tests/tests_cypress/unit/node_modules/common-tags/es/safeHtml/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/safeHtml/safeHtml.js +tests/tests_cypress/unit/node_modules/common-tags/es/source/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/splitStringTransformer/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/splitStringTransformer/splitStringTransformer.js +tests/tests_cypress/unit/node_modules/common-tags/es/stripIndent/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/stripIndent/stripIndent.js +tests/tests_cypress/unit/node_modules/common-tags/es/stripIndentTransformer/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/stripIndentTransformer/stripIndentTransformer.js +tests/tests_cypress/unit/node_modules/common-tags/es/stripIndents/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/stripIndents/stripIndents.js +tests/tests_cypress/unit/node_modules/common-tags/es/trimResultTransformer/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/trimResultTransformer/trimResultTransformer.js +tests/tests_cypress/unit/node_modules/common-tags/es/utils/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/utils/readFromFixture/index.js +tests/tests_cypress/unit/node_modules/common-tags/es/utils/readFromFixture/readFromFixture.js +tests/tests_cypress/unit/node_modules/common-tags/lib/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/TemplateTag/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/TemplateTag/TemplateTag.js +tests/tests_cypress/unit/node_modules/common-tags/lib/codeBlock/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/commaLists/commaLists.js +tests/tests_cypress/unit/node_modules/common-tags/lib/commaLists/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/commaListsAnd/commaListsAnd.js +tests/tests_cypress/unit/node_modules/common-tags/lib/commaListsAnd/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/commaListsOr/commaListsOr.js +tests/tests_cypress/unit/node_modules/common-tags/lib/commaListsOr/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/html/html.js +tests/tests_cypress/unit/node_modules/common-tags/lib/html/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/inlineArrayTransformer/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/inlineArrayTransformer/inlineArrayTransformer.js +tests/tests_cypress/unit/node_modules/common-tags/lib/inlineLists/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/inlineLists/inlineLists.js +tests/tests_cypress/unit/node_modules/common-tags/lib/oneLine/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/oneLine/oneLine.js +tests/tests_cypress/unit/node_modules/common-tags/lib/oneLineCommaLists/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/oneLineCommaLists/oneLineCommaLists.js +tests/tests_cypress/unit/node_modules/common-tags/lib/oneLineCommaListsAnd/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/oneLineCommaListsAnd/oneLineCommaListsAnd.js +tests/tests_cypress/unit/node_modules/common-tags/lib/oneLineCommaListsOr/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/oneLineCommaListsOr/oneLineCommaListsOr.js +tests/tests_cypress/unit/node_modules/common-tags/lib/oneLineInlineLists/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/oneLineInlineLists/oneLineInlineLists.js +tests/tests_cypress/unit/node_modules/common-tags/lib/oneLineTrim/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/oneLineTrim/oneLineTrim.js +tests/tests_cypress/unit/node_modules/common-tags/lib/removeNonPrintingValuesTransformer/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/removeNonPrintingValuesTransformer/removeNonPrintingValuesTransformer.js +tests/tests_cypress/unit/node_modules/common-tags/lib/replaceResultTransformer/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/replaceResultTransformer/replaceResultTransformer.js +tests/tests_cypress/unit/node_modules/common-tags/lib/replaceStringTransformer/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/replaceStringTransformer/replaceStringTransformer.js +tests/tests_cypress/unit/node_modules/common-tags/lib/replaceSubstitutionTransformer/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/replaceSubstitutionTransformer/replaceSubstitutionTransformer.js +tests/tests_cypress/unit/node_modules/common-tags/lib/safeHtml/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/safeHtml/safeHtml.js +tests/tests_cypress/unit/node_modules/common-tags/lib/source/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/splitStringTransformer/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/splitStringTransformer/splitStringTransformer.js +tests/tests_cypress/unit/node_modules/common-tags/lib/stripIndent/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/stripIndent/stripIndent.js +tests/tests_cypress/unit/node_modules/common-tags/lib/stripIndentTransformer/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/stripIndentTransformer/stripIndentTransformer.js +tests/tests_cypress/unit/node_modules/common-tags/lib/stripIndents/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/stripIndents/stripIndents.js +tests/tests_cypress/unit/node_modules/common-tags/lib/trimResultTransformer/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/trimResultTransformer/trimResultTransformer.js +tests/tests_cypress/unit/node_modules/common-tags/lib/utils/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/utils/readFromFixture/index.js +tests/tests_cypress/unit/node_modules/common-tags/lib/utils/readFromFixture/readFromFixture.js +tests/tests_cypress/unit/node_modules/concat-map/.travis.yml +tests/tests_cypress/unit/node_modules/concat-map/index.js +tests/tests_cypress/unit/node_modules/concat-map/LICENSE +tests/tests_cypress/unit/node_modules/concat-map/package.json +tests/tests_cypress/unit/node_modules/concat-map/README.markdown +tests/tests_cypress/unit/node_modules/concat-map/example/map.js +tests/tests_cypress/unit/node_modules/concat-map/test/map.js +tests/tests_cypress/unit/node_modules/core-util-is/float.patch +tests/tests_cypress/unit/node_modules/core-util-is/LICENSE +tests/tests_cypress/unit/node_modules/core-util-is/package.json +tests/tests_cypress/unit/node_modules/core-util-is/README.md +tests/tests_cypress/unit/node_modules/core-util-is/test.js +tests/tests_cypress/unit/node_modules/core-util-is/lib/util.js +tests/tests_cypress/unit/node_modules/cross-spawn/CHANGELOG.md +tests/tests_cypress/unit/node_modules/cross-spawn/index.js +tests/tests_cypress/unit/node_modules/cross-spawn/LICENSE +tests/tests_cypress/unit/node_modules/cross-spawn/package.json +tests/tests_cypress/unit/node_modules/cross-spawn/README.md +tests/tests_cypress/unit/node_modules/cross-spawn/lib/enoent.js +tests/tests_cypress/unit/node_modules/cross-spawn/lib/parse.js +tests/tests_cypress/unit/node_modules/cross-spawn/lib/util/escape.js +tests/tests_cypress/unit/node_modules/cross-spawn/lib/util/readShebang.js +tests/tests_cypress/unit/node_modules/cross-spawn/lib/util/resolveCommand.js +tests/tests_cypress/unit/node_modules/cypress/index.js +tests/tests_cypress/unit/node_modules/cypress/index.mjs +tests/tests_cypress/unit/node_modules/cypress/package.json +tests/tests_cypress/unit/node_modules/cypress/README.md +tests/tests_cypress/unit/node_modules/cypress/angular/CHANGELOG.md +tests/tests_cypress/unit/node_modules/cypress/angular/package.json +tests/tests_cypress/unit/node_modules/cypress/angular/README.md +tests/tests_cypress/unit/node_modules/cypress/angular/dist/index.d.ts +tests/tests_cypress/unit/node_modules/cypress/angular/dist/index.js +tests/tests_cypress/unit/node_modules/cypress/bin/cypress +tests/tests_cypress/unit/node_modules/cypress/lib/cli.js +tests/tests_cypress/unit/node_modules/cypress/lib/cypress.js +tests/tests_cypress/unit/node_modules/cypress/lib/errors.js +tests/tests_cypress/unit/node_modules/cypress/lib/fs.js +tests/tests_cypress/unit/node_modules/cypress/lib/logger.js +tests/tests_cypress/unit/node_modules/cypress/lib/util.js +tests/tests_cypress/unit/node_modules/cypress/lib/VerboseRenderer.js +tests/tests_cypress/unit/node_modules/cypress/lib/exec/info.js +tests/tests_cypress/unit/node_modules/cypress/lib/exec/open.js +tests/tests_cypress/unit/node_modules/cypress/lib/exec/run.js +tests/tests_cypress/unit/node_modules/cypress/lib/exec/shared.js +tests/tests_cypress/unit/node_modules/cypress/lib/exec/spawn.js +tests/tests_cypress/unit/node_modules/cypress/lib/exec/versions.js +tests/tests_cypress/unit/node_modules/cypress/lib/exec/xvfb.js +tests/tests_cypress/unit/node_modules/cypress/lib/tasks/cache.js +tests/tests_cypress/unit/node_modules/cypress/lib/tasks/download.js +tests/tests_cypress/unit/node_modules/cypress/lib/tasks/get-folder-size.js +tests/tests_cypress/unit/node_modules/cypress/lib/tasks/install.js +tests/tests_cypress/unit/node_modules/cypress/lib/tasks/state.js +tests/tests_cypress/unit/node_modules/cypress/lib/tasks/unzip.js +tests/tests_cypress/unit/node_modules/cypress/lib/tasks/verify.js +tests/tests_cypress/unit/node_modules/cypress/mount-utils/CHANGELOG.md +tests/tests_cypress/unit/node_modules/cypress/mount-utils/package.json +tests/tests_cypress/unit/node_modules/cypress/mount-utils/README.md +tests/tests_cypress/unit/node_modules/cypress/mount-utils/dist/index.d.ts +tests/tests_cypress/unit/node_modules/cypress/mount-utils/dist/index.js +tests/tests_cypress/unit/node_modules/cypress/react/CHANGELOG.md +tests/tests_cypress/unit/node_modules/cypress/react/package.json +tests/tests_cypress/unit/node_modules/cypress/react/README.md +tests/tests_cypress/unit/node_modules/cypress/react/dist/cypress-react.cjs.js +tests/tests_cypress/unit/node_modules/cypress/react/dist/cypress-react.esm-bundler.js +tests/tests_cypress/unit/node_modules/cypress/react/dist/index.d.ts +tests/tests_cypress/unit/node_modules/cypress/react18/CHANGELOG.md +tests/tests_cypress/unit/node_modules/cypress/react18/package.json +tests/tests_cypress/unit/node_modules/cypress/react18/README.md +tests/tests_cypress/unit/node_modules/cypress/react18/dist/cypress-react.cjs.js +tests/tests_cypress/unit/node_modules/cypress/react18/dist/cypress-react.esm-bundler.js +tests/tests_cypress/unit/node_modules/cypress/react18/dist/index.d.ts +tests/tests_cypress/unit/node_modules/cypress/svelte/CHANGELOG.md +tests/tests_cypress/unit/node_modules/cypress/svelte/package.json +tests/tests_cypress/unit/node_modules/cypress/svelte/README.md +tests/tests_cypress/unit/node_modules/cypress/svelte/dist/cypress-svelte.cjs.js +tests/tests_cypress/unit/node_modules/cypress/svelte/dist/cypress-svelte.esm-bundler.js +tests/tests_cypress/unit/node_modules/cypress/svelte/dist/index.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/cy-blob-util.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/cy-bluebird.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/cy-chai.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/cy-http.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/cy-minimatch.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/cypress-eventemitter.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/cypress-expect.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/cypress-global-vars.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/cypress-npm-api.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/cypress-type-helpers.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/cypress.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/index.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/net-stubbing.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/bluebird/index.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/chai/index.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/chai-jquery/index.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/jquery/index.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/jquery/JQuery.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/jquery/JQueryStatic.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/jquery/legacy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/jquery/misc.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/add.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/after.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/ary.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/assign.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/assignIn.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/assignInWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/assignWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/at.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/attempt.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/before.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/bind.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/bindAll.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/bindKey.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/camelCase.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/capitalize.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/castArray.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/ceil.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/chain.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/chunk.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/clamp.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/clone.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/cloneDeep.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/cloneDeepWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/cloneWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/compact.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/concat.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/cond.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/conformsTo.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/constant.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/countBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/create.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/curry.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/curryRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/debounce.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/deburr.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/defaults.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/defaultsDeep.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/defaultTo.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/defer.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/delay.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/difference.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/differenceBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/differenceWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/divide.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/drop.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/dropRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/dropRightWhile.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/dropWhile.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/each.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/eachRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/endsWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/entries.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/entriesIn.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/eq.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/escape.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/escapeRegExp.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/every.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/extend.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/extendWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fill.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/filter.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/find.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/findIndex.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/findKey.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/findLast.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/findLastIndex.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/findLastKey.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/first.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/flatMap.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/flatMapDeep.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/flatMapDepth.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/flatten.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/flattenDeep.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/flattenDepth.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/flip.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/floor.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/flow.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/flowRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/forEach.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/forEachRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/forIn.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/forInRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/forOwn.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/forOwnRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fromPairs.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/functions.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/functionsIn.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/get.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/groupBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/gt.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/gte.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/has.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/hasIn.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/head.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/identity.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/includes.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/index.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/indexOf.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/initial.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/inRange.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/intersection.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/intersectionBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/intersectionWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/invert.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/invertBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/invoke.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/invokeMap.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isArguments.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isArray.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isArrayBuffer.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isArrayLike.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isArrayLikeObject.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isBoolean.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isBuffer.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isDate.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isElement.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isEmpty.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isEqual.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isEqualWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isError.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isFinite.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isFunction.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isInteger.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isLength.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isMap.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isMatch.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isMatchWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isNaN.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isNative.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isNil.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isNull.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isNumber.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isObject.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isObjectLike.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isPlainObject.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isRegExp.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isSafeInteger.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isSet.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isString.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isSymbol.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isTypedArray.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isUndefined.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isWeakMap.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/isWeakSet.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/iteratee.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/join.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/kebabCase.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/keyBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/keys.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/keysIn.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/last.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/lastIndexOf.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/lowerCase.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/lowerFirst.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/lt.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/lte.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/map.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/mapKeys.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/mapValues.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/matches.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/matchesProperty.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/max.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/maxBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/mean.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/meanBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/memoize.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/merge.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/mergeWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/method.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/methodOf.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/min.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/minBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/mixin.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/multiply.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/negate.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/noConflict.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/noop.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/now.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/nth.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/nthArg.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/omit.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/omitBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/once.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/orderBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/over.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/overArgs.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/overEvery.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/overSome.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/pad.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/padEnd.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/padStart.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/parseInt.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/partial.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/partialRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/partition.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/pick.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/pickBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/property.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/propertyOf.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/pull.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/pullAll.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/pullAllBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/pullAllWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/pullAt.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/random.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/range.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/rangeRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/rearg.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/reduce.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/reduceRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/reject.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/remove.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/repeat.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/replace.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/rest.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/result.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/reverse.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/round.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/runInContext.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/sample.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/sampleSize.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/set.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/setWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/shuffle.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/size.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/slice.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/snakeCase.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/some.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/sortBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/sortedIndex.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/sortedIndexBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/sortedIndexOf.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/sortedLastIndex.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/sortedLastIndexBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/sortedLastIndexOf.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/sortedUniq.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/sortedUniqBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/split.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/spread.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/startCase.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/startsWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/stubFalse.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/stubTrue.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/subtract.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/sum.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/sumBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/tail.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/take.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/takeRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/takeRightWhile.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/takeWhile.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/tap.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/template.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/throttle.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/thru.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/times.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/toArray.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/toFinite.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/toInteger.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/toLength.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/toLower.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/toNumber.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/toPairs.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/toPairsIn.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/toPath.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/toPlainObject.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/toSafeInteger.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/toString.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/toUpper.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/transform.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/trim.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/trimEnd.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/trimStart.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/truncate.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/unary.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/unescape.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/union.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/unionBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/unionWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/uniq.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/uniqBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/uniqueId.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/uniqWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/unset.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/unzip.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/unzipWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/update.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/updateWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/upperCase.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/upperFirst.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/values.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/valuesIn.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/without.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/words.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/wrap.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/xor.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/xorBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/xorWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/zip.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/zipObject.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/zipObjectDeep.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/zipWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/common/array.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/common/collection.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/common/common.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/common/date.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/common/function.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/common/lang.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/common/math.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/common/number.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/common/object.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/common/seq.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/common/string.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/common/util.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/__.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/add.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/after.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/all.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/allPass.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/always.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/any.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/anyPass.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/apply.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/ary.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/assign.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/assignAll.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/assignAllWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/assignIn.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/assignInAll.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/assignInAllWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/assignInWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/assignWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/assoc.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/assocPath.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/at.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/attempt.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/before.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/bind.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/bindAll.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/bindKey.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/camelCase.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/capitalize.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/castArray.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/ceil.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/chunk.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/clamp.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/clone.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/cloneDeep.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/cloneDeepWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/cloneWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/compact.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/complement.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/compose.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/concat.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/cond.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/conforms.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/conformsTo.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/constant.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/contains.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/convert.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/countBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/create.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/curry.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/curryN.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/curryRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/curryRightN.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/debounce.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/deburr.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/defaults.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/defaultsAll.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/defaultsDeep.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/defaultsDeepAll.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/defaultTo.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/defer.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/delay.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/difference.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/differenceBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/differenceWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/dissoc.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/dissocPath.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/divide.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/drop.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/dropLast.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/dropLastWhile.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/dropRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/dropRightWhile.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/dropWhile.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/each.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/eachRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/endsWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/entries.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/entriesIn.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/eq.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/equals.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/escape.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/escapeRegExp.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/every.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/extend.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/extendAll.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/extendAllWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/extendWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/F.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/fill.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/filter.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/find.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/findFrom.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/findIndex.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/findIndexFrom.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/findKey.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/findLast.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/findLastFrom.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/findLastIndex.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/findLastIndexFrom.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/findLastKey.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/first.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/flatMap.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/flatMapDeep.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/flatMapDepth.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/flatten.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/flattenDeep.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/flattenDepth.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/flip.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/floor.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/flow.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/flowRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/forEach.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/forEachRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/forIn.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/forInRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/forOwn.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/forOwnRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/fromPairs.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/functions.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/functionsIn.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/get.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/getOr.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/groupBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/gt.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/gte.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/has.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/hasIn.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/head.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/identical.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/identity.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/includes.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/includesFrom.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/indexBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/indexOf.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/indexOfFrom.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/init.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/initial.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/inRange.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/intersection.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/intersectionBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/intersectionWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/invert.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/invertBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/invertObj.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/invoke.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/invokeArgs.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/invokeArgsMap.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/invokeMap.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isArguments.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isArray.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isArrayBuffer.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isArrayLike.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isArrayLikeObject.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isBoolean.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isBuffer.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isDate.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isElement.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isEmpty.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isEqual.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isEqualWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isError.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isFinite.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isFunction.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isInteger.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isLength.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isMap.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isMatch.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isMatchWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isNaN.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isNative.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isNil.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isNull.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isNumber.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isObject.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isObjectLike.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isPlainObject.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isRegExp.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isSafeInteger.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isSet.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isString.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isSymbol.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isTypedArray.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isUndefined.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isWeakMap.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/isWeakSet.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/iteratee.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/join.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/juxt.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/kebabCase.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/keyBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/keys.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/keysIn.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/last.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/lastIndexOf.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/lastIndexOfFrom.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/lowerCase.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/lowerFirst.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/lt.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/lte.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/map.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/mapKeys.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/mapValues.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/matches.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/matchesProperty.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/max.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/maxBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/mean.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/meanBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/memoize.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/merge.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/mergeAll.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/mergeAllWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/mergeWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/method.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/methodOf.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/min.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/minBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/multiply.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/nAry.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/negate.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/noConflict.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/noop.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/now.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/nth.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/nthArg.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/omit.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/omitAll.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/omitBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/once.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/orderBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/over.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/overArgs.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/overEvery.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/overSome.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/pad.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/padChars.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/padCharsEnd.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/padCharsStart.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/padEnd.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/padStart.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/parseInt.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/partial.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/partialRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/partition.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/path.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/pathEq.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/pathOr.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/paths.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/pick.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/pickAll.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/pickBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/pipe.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/placeholder.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/pluck.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/prop.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/propEq.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/property.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/propertyOf.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/propOr.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/props.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/pull.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/pullAll.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/pullAllBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/pullAllWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/pullAt.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/random.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/range.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/rangeRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/rangeStep.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/rangeStepRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/rearg.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/reduce.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/reduceRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/reject.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/remove.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/repeat.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/replace.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/rest.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/restFrom.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/result.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/reverse.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/round.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/runInContext.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/sample.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/sampleSize.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/set.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/setWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/shuffle.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/size.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/slice.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/snakeCase.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/some.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/sortBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/sortedIndex.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/sortedIndexBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/sortedIndexOf.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/sortedLastIndex.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/sortedLastIndexBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/sortedLastIndexOf.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/sortedUniq.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/sortedUniqBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/split.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/spread.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/spreadFrom.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/startCase.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/startsWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/stubArray.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/stubFalse.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/stubObject.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/stubString.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/stubTrue.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/subtract.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/sum.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/sumBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/symmetricDifference.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/symmetricDifferenceBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/symmetricDifferenceWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/T.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/tail.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/take.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/takeLast.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/takeLastWhile.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/takeRight.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/takeRightWhile.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/takeWhile.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/tap.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/template.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/throttle.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/thru.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/times.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/toArray.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/toFinite.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/toInteger.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/toLength.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/toLower.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/toNumber.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/toPairs.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/toPairsIn.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/toPath.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/toPlainObject.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/toSafeInteger.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/toString.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/toUpper.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/transform.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/trim.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/trimChars.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/trimCharsEnd.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/trimCharsStart.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/trimEnd.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/trimStart.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/truncate.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/unapply.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/unary.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/unescape.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/union.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/unionBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/unionWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/uniq.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/uniqBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/uniqueId.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/uniqWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/unnest.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/unset.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/unzip.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/unzipWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/update.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/updateWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/upperCase.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/upperFirst.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/useWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/values.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/valuesIn.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/where.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/whereEq.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/without.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/words.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/wrap.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/xor.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/xorBy.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/xorWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/zip.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/zipAll.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/zipObj.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/zipObject.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/zipObjectDeep.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/lodash/fp/zipWith.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/minimatch/index.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/mocha/index.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/sinon/index.d.ts +tests/tests_cypress/unit/node_modules/cypress/types/sinon-chai/index.d.ts +tests/tests_cypress/unit/node_modules/cypress/vue/CHANGELOG.md +tests/tests_cypress/unit/node_modules/cypress/vue/package.json +tests/tests_cypress/unit/node_modules/cypress/vue/README.md +tests/tests_cypress/unit/node_modules/cypress/vue/dist/cypress-vue.cjs.js +tests/tests_cypress/unit/node_modules/cypress/vue/dist/cypress-vue.esm-bundler.js +tests/tests_cypress/unit/node_modules/cypress/vue/dist/index.d.ts +tests/tests_cypress/unit/node_modules/cypress/vue2/CHANGELOG.md +tests/tests_cypress/unit/node_modules/cypress/vue2/package.json +tests/tests_cypress/unit/node_modules/cypress/vue2/README.md +tests/tests_cypress/unit/node_modules/cypress/vue2/dist/cypress-vue2.cjs.js +tests/tests_cypress/unit/node_modules/cypress/vue2/dist/cypress-vue2.esm-bundler.js +tests/tests_cypress/unit/node_modules/cypress/vue2/dist/index.d.ts +tests/tests_cypress/unit/node_modules/dashdash/CHANGES.md +tests/tests_cypress/unit/node_modules/dashdash/LICENSE.txt +tests/tests_cypress/unit/node_modules/dashdash/package.json +tests/tests_cypress/unit/node_modules/dashdash/README.md +tests/tests_cypress/unit/node_modules/dashdash/etc/dashdash.bash_completion.in +tests/tests_cypress/unit/node_modules/dashdash/lib/dashdash.js +tests/tests_cypress/unit/node_modules/dayjs/.editorconfig +tests/tests_cypress/unit/node_modules/dayjs/CHANGELOG.md +tests/tests_cypress/unit/node_modules/dayjs/dayjs.min.js +tests/tests_cypress/unit/node_modules/dayjs/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/LICENSE +tests/tests_cypress/unit/node_modules/dayjs/locale.json +tests/tests_cypress/unit/node_modules/dayjs/package.json +tests/tests_cypress/unit/node_modules/dayjs/README.md +tests/tests_cypress/unit/node_modules/dayjs/esm/constant.js +tests/tests_cypress/unit/node_modules/dayjs/esm/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/utils.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/af.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/am.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ar-dz.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ar-iq.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ar-kw.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ar-ly.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ar-ma.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ar-sa.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ar-tn.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ar.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/az.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/be.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/bg.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/bi.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/bm.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/bn-bd.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/bn.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/bo.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/br.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/bs.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ca.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/cs.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/cv.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/cy.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/da.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/de-at.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/de-ch.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/de.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/dv.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/el.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/en-au.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/en-ca.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/en-gb.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/en-ie.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/en-il.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/en-in.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/en-nz.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/en-sg.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/en-tt.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/en.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/eo.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/es-do.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/es-mx.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/es-pr.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/es-us.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/es.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/et.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/eu.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/fa.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/fi.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/fo.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/fr-ca.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/fr-ch.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/fr.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/fy.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ga.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/gd.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/gl.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/gom-latn.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/gu.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/he.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/hi.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/hr.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ht.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/hu.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/hy-am.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/id.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/is.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/it-ch.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/it.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ja.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/jv.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ka.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/kk.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/km.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/kn.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ko.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ku.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ky.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/lb.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/lo.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/lt.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/lv.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/me.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/mi.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/mk.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ml.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/mn.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/mr.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ms-my.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ms.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/mt.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/my.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/nb.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ne.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/nl-be.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/nl.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/nn.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/oc-lnc.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/pa-in.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/pl.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/pt-br.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/pt.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/rn.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ro.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ru.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/rw.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/sd.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/se.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/si.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/sk.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/sl.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/sq.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/sr-cyrl.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/sr.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ss.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/sv-fi.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/sv.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/sw.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ta.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/te.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/tet.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/tg.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/th.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/tk.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/tl-ph.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/tlh.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/tr.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/types.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/tzl.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/tzm-latn.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/tzm.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ug-cn.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/uk.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/ur.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/uz-latn.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/uz.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/vi.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/x-pseudo.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/yo.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/zh-cn.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/zh-hk.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/zh-tw.js +tests/tests_cypress/unit/node_modules/dayjs/esm/locale/zh.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/advancedFormat/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/advancedFormat/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/arraySupport/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/arraySupport/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/badMutable/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/badMutable/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/bigIntSupport/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/bigIntSupport/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/buddhistEra/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/buddhistEra/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/calendar/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/calendar/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/customParseFormat/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/customParseFormat/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/dayOfYear/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/dayOfYear/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/devHelper/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/devHelper/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/duration/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/duration/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/isBetween/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/isBetween/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/isLeapYear/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/isLeapYear/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/isMoment/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/isMoment/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/isSameOrAfter/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/isSameOrAfter/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/isSameOrBefore/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/isSameOrBefore/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/isToday/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/isToday/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/isTomorrow/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/isTomorrow/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/isYesterday/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/isYesterday/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/isoWeek/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/isoWeek/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/isoWeeksInYear/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/isoWeeksInYear/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/localeData/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/localeData/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/localizedFormat/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/localizedFormat/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/localizedFormat/utils.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/minMax/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/minMax/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/objectSupport/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/objectSupport/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/pluralGetSet/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/pluralGetSet/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/preParsePostFormat/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/preParsePostFormat/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/quarterOfYear/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/quarterOfYear/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/relativeTime/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/relativeTime/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/timezone/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/timezone/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/toArray/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/toArray/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/toObject/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/toObject/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/updateLocale/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/updateLocale/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/utc/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/utc/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/weekOfYear/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/weekOfYear/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/weekYear/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/weekYear/index.js +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/weekday/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/esm/plugin/weekday/index.js +tests/tests_cypress/unit/node_modules/dayjs/locale/af.js +tests/tests_cypress/unit/node_modules/dayjs/locale/am.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ar-dz.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ar-iq.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ar-kw.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ar-ly.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ar-ma.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ar-sa.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ar-tn.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ar.js +tests/tests_cypress/unit/node_modules/dayjs/locale/az.js +tests/tests_cypress/unit/node_modules/dayjs/locale/be.js +tests/tests_cypress/unit/node_modules/dayjs/locale/bg.js +tests/tests_cypress/unit/node_modules/dayjs/locale/bi.js +tests/tests_cypress/unit/node_modules/dayjs/locale/bm.js +tests/tests_cypress/unit/node_modules/dayjs/locale/bn-bd.js +tests/tests_cypress/unit/node_modules/dayjs/locale/bn.js +tests/tests_cypress/unit/node_modules/dayjs/locale/bo.js +tests/tests_cypress/unit/node_modules/dayjs/locale/br.js +tests/tests_cypress/unit/node_modules/dayjs/locale/bs.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ca.js +tests/tests_cypress/unit/node_modules/dayjs/locale/cs.js +tests/tests_cypress/unit/node_modules/dayjs/locale/cv.js +tests/tests_cypress/unit/node_modules/dayjs/locale/cy.js +tests/tests_cypress/unit/node_modules/dayjs/locale/da.js +tests/tests_cypress/unit/node_modules/dayjs/locale/de-at.js +tests/tests_cypress/unit/node_modules/dayjs/locale/de-ch.js +tests/tests_cypress/unit/node_modules/dayjs/locale/de.js +tests/tests_cypress/unit/node_modules/dayjs/locale/dv.js +tests/tests_cypress/unit/node_modules/dayjs/locale/el.js +tests/tests_cypress/unit/node_modules/dayjs/locale/en-au.js +tests/tests_cypress/unit/node_modules/dayjs/locale/en-ca.js +tests/tests_cypress/unit/node_modules/dayjs/locale/en-gb.js +tests/tests_cypress/unit/node_modules/dayjs/locale/en-ie.js +tests/tests_cypress/unit/node_modules/dayjs/locale/en-il.js +tests/tests_cypress/unit/node_modules/dayjs/locale/en-in.js +tests/tests_cypress/unit/node_modules/dayjs/locale/en-nz.js +tests/tests_cypress/unit/node_modules/dayjs/locale/en-sg.js +tests/tests_cypress/unit/node_modules/dayjs/locale/en-tt.js +tests/tests_cypress/unit/node_modules/dayjs/locale/en.js +tests/tests_cypress/unit/node_modules/dayjs/locale/eo.js +tests/tests_cypress/unit/node_modules/dayjs/locale/es-do.js +tests/tests_cypress/unit/node_modules/dayjs/locale/es-mx.js +tests/tests_cypress/unit/node_modules/dayjs/locale/es-pr.js +tests/tests_cypress/unit/node_modules/dayjs/locale/es-us.js +tests/tests_cypress/unit/node_modules/dayjs/locale/es.js +tests/tests_cypress/unit/node_modules/dayjs/locale/et.js +tests/tests_cypress/unit/node_modules/dayjs/locale/eu.js +tests/tests_cypress/unit/node_modules/dayjs/locale/fa.js +tests/tests_cypress/unit/node_modules/dayjs/locale/fi.js +tests/tests_cypress/unit/node_modules/dayjs/locale/fo.js +tests/tests_cypress/unit/node_modules/dayjs/locale/fr-ca.js +tests/tests_cypress/unit/node_modules/dayjs/locale/fr-ch.js +tests/tests_cypress/unit/node_modules/dayjs/locale/fr.js +tests/tests_cypress/unit/node_modules/dayjs/locale/fy.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ga.js +tests/tests_cypress/unit/node_modules/dayjs/locale/gd.js +tests/tests_cypress/unit/node_modules/dayjs/locale/gl.js +tests/tests_cypress/unit/node_modules/dayjs/locale/gom-latn.js +tests/tests_cypress/unit/node_modules/dayjs/locale/gu.js +tests/tests_cypress/unit/node_modules/dayjs/locale/he.js +tests/tests_cypress/unit/node_modules/dayjs/locale/hi.js +tests/tests_cypress/unit/node_modules/dayjs/locale/hr.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ht.js +tests/tests_cypress/unit/node_modules/dayjs/locale/hu.js +tests/tests_cypress/unit/node_modules/dayjs/locale/hy-am.js +tests/tests_cypress/unit/node_modules/dayjs/locale/id.js +tests/tests_cypress/unit/node_modules/dayjs/locale/index.d.ts +tests/tests_cypress/unit/node_modules/dayjs/locale/is.js +tests/tests_cypress/unit/node_modules/dayjs/locale/it-ch.js +tests/tests_cypress/unit/node_modules/dayjs/locale/it.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ja.js +tests/tests_cypress/unit/node_modules/dayjs/locale/jv.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ka.js +tests/tests_cypress/unit/node_modules/dayjs/locale/kk.js +tests/tests_cypress/unit/node_modules/dayjs/locale/km.js +tests/tests_cypress/unit/node_modules/dayjs/locale/kn.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ko.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ku.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ky.js +tests/tests_cypress/unit/node_modules/dayjs/locale/lb.js +tests/tests_cypress/unit/node_modules/dayjs/locale/lo.js +tests/tests_cypress/unit/node_modules/dayjs/locale/lt.js +tests/tests_cypress/unit/node_modules/dayjs/locale/lv.js +tests/tests_cypress/unit/node_modules/dayjs/locale/me.js +tests/tests_cypress/unit/node_modules/dayjs/locale/mi.js +tests/tests_cypress/unit/node_modules/dayjs/locale/mk.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ml.js +tests/tests_cypress/unit/node_modules/dayjs/locale/mn.js +tests/tests_cypress/unit/node_modules/dayjs/locale/mr.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ms-my.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ms.js +tests/tests_cypress/unit/node_modules/dayjs/locale/mt.js +tests/tests_cypress/unit/node_modules/dayjs/locale/my.js +tests/tests_cypress/unit/node_modules/dayjs/locale/nb.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ne.js +tests/tests_cypress/unit/node_modules/dayjs/locale/nl-be.js +tests/tests_cypress/unit/node_modules/dayjs/locale/nl.js +tests/tests_cypress/unit/node_modules/dayjs/locale/nn.js +tests/tests_cypress/unit/node_modules/dayjs/locale/oc-lnc.js +tests/tests_cypress/unit/node_modules/dayjs/locale/pa-in.js +tests/tests_cypress/unit/node_modules/dayjs/locale/pl.js +tests/tests_cypress/unit/node_modules/dayjs/locale/pt-br.js +tests/tests_cypress/unit/node_modules/dayjs/locale/pt.js +tests/tests_cypress/unit/node_modules/dayjs/locale/rn.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ro.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ru.js +tests/tests_cypress/unit/node_modules/dayjs/locale/rw.js +tests/tests_cypress/unit/node_modules/dayjs/locale/sd.js +tests/tests_cypress/unit/node_modules/dayjs/locale/se.js +tests/tests_cypress/unit/node_modules/dayjs/locale/si.js +tests/tests_cypress/unit/node_modules/dayjs/locale/sk.js +tests/tests_cypress/unit/node_modules/dayjs/locale/sl.js +tests/tests_cypress/unit/node_modules/dayjs/locale/sq.js +tests/tests_cypress/unit/node_modules/dayjs/locale/sr-cyrl.js +tests/tests_cypress/unit/node_modules/dayjs/locale/sr.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ss.js +tests/tests_cypress/unit/node_modules/dayjs/locale/sv-fi.js +tests/tests_cypress/unit/node_modules/dayjs/locale/sv.js +tests/tests_cypress/unit/node_modules/dayjs/locale/sw.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ta.js +tests/tests_cypress/unit/node_modules/dayjs/locale/te.js +tests/tests_cypress/unit/node_modules/dayjs/locale/tet.js +tests/tests_cypress/unit/node_modules/dayjs/locale/tg.js +tests/tests_cypress/unit/node_modules/dayjs/locale/th.js +tests/tests_cypress/unit/node_modules/dayjs/locale/tk.js +tests/tests_cypress/unit/node_modules/dayjs/locale/tl-ph.js +tests/tests_cypress/unit/node_modules/dayjs/locale/tlh.js +tests/tests_cypress/unit/node_modules/dayjs/locale/tr.js +tests/tests_cypress/unit/node_modules/dayjs/locale/types.d.ts +tests/tests_cypress/unit/node_modules/dayjs/locale/tzl.js +tests/tests_cypress/unit/node_modules/dayjs/locale/tzm-latn.js +tests/tests_cypress/unit/node_modules/dayjs/locale/tzm.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ug-cn.js +tests/tests_cypress/unit/node_modules/dayjs/locale/uk.js +tests/tests_cypress/unit/node_modules/dayjs/locale/ur.js +tests/tests_cypress/unit/node_modules/dayjs/locale/uz-latn.js +tests/tests_cypress/unit/node_modules/dayjs/locale/uz.js +tests/tests_cypress/unit/node_modules/dayjs/locale/vi.js +tests/tests_cypress/unit/node_modules/dayjs/locale/x-pseudo.js +tests/tests_cypress/unit/node_modules/dayjs/locale/yo.js +tests/tests_cypress/unit/node_modules/dayjs/locale/zh-cn.js +tests/tests_cypress/unit/node_modules/dayjs/locale/zh-hk.js +tests/tests_cypress/unit/node_modules/dayjs/locale/zh-tw.js +tests/tests_cypress/unit/node_modules/dayjs/locale/zh.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/advancedFormat.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/advancedFormat.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/arraySupport.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/arraySupport.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/badMutable.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/badMutable.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/bigIntSupport.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/bigIntSupport.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/buddhistEra.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/buddhistEra.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/calendar.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/calendar.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/customParseFormat.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/customParseFormat.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/dayOfYear.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/dayOfYear.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/devHelper.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/devHelper.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/duration.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/duration.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/isBetween.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/isBetween.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/isLeapYear.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/isLeapYear.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/isMoment.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/isMoment.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/isoWeek.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/isoWeek.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/isoWeeksInYear.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/isoWeeksInYear.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/isSameOrAfter.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/isSameOrAfter.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/isSameOrBefore.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/isSameOrBefore.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/isToday.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/isToday.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/isTomorrow.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/isTomorrow.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/isYesterday.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/isYesterday.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/localeData.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/localeData.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/localizedFormat.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/localizedFormat.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/minMax.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/minMax.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/objectSupport.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/objectSupport.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/pluralGetSet.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/pluralGetSet.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/preParsePostFormat.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/preParsePostFormat.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/quarterOfYear.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/quarterOfYear.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/relativeTime.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/relativeTime.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/timezone.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/timezone.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/toArray.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/toArray.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/toObject.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/toObject.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/updateLocale.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/updateLocale.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/utc.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/utc.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/weekday.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/weekday.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/weekOfYear.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/weekOfYear.js +tests/tests_cypress/unit/node_modules/dayjs/plugin/weekYear.d.ts +tests/tests_cypress/unit/node_modules/dayjs/plugin/weekYear.js +tests/tests_cypress/unit/node_modules/debug/LICENSE +tests/tests_cypress/unit/node_modules/debug/package.json +tests/tests_cypress/unit/node_modules/debug/README.md +tests/tests_cypress/unit/node_modules/debug/src/browser.js +tests/tests_cypress/unit/node_modules/debug/src/common.js +tests/tests_cypress/unit/node_modules/debug/src/index.js +tests/tests_cypress/unit/node_modules/debug/src/node.js +tests/tests_cypress/unit/node_modules/delayed-stream/.npmignore +tests/tests_cypress/unit/node_modules/delayed-stream/License +tests/tests_cypress/unit/node_modules/delayed-stream/Makefile +tests/tests_cypress/unit/node_modules/delayed-stream/package.json +tests/tests_cypress/unit/node_modules/delayed-stream/Readme.md +tests/tests_cypress/unit/node_modules/delayed-stream/lib/delayed_stream.js +tests/tests_cypress/unit/node_modules/ecc-jsbn/index.js +tests/tests_cypress/unit/node_modules/ecc-jsbn/LICENSE +tests/tests_cypress/unit/node_modules/ecc-jsbn/package.json +tests/tests_cypress/unit/node_modules/ecc-jsbn/README.md +tests/tests_cypress/unit/node_modules/ecc-jsbn/test.js +tests/tests_cypress/unit/node_modules/ecc-jsbn/lib/ec.js +tests/tests_cypress/unit/node_modules/ecc-jsbn/lib/LICENSE-jsbn +tests/tests_cypress/unit/node_modules/ecc-jsbn/lib/sec.js +tests/tests_cypress/unit/node_modules/emoji-regex/index.d.ts +tests/tests_cypress/unit/node_modules/emoji-regex/index.js +tests/tests_cypress/unit/node_modules/emoji-regex/LICENSE-MIT.txt +tests/tests_cypress/unit/node_modules/emoji-regex/package.json +tests/tests_cypress/unit/node_modules/emoji-regex/README.md +tests/tests_cypress/unit/node_modules/emoji-regex/text.js +tests/tests_cypress/unit/node_modules/emoji-regex/es2015/index.js +tests/tests_cypress/unit/node_modules/emoji-regex/es2015/text.js +tests/tests_cypress/unit/node_modules/end-of-stream/index.js +tests/tests_cypress/unit/node_modules/end-of-stream/LICENSE +tests/tests_cypress/unit/node_modules/end-of-stream/package.json +tests/tests_cypress/unit/node_modules/end-of-stream/README.md +tests/tests_cypress/unit/node_modules/enquirer/CHANGELOG.md +tests/tests_cypress/unit/node_modules/enquirer/index.d.ts +tests/tests_cypress/unit/node_modules/enquirer/index.js +tests/tests_cypress/unit/node_modules/enquirer/LICENSE +tests/tests_cypress/unit/node_modules/enquirer/package.json +tests/tests_cypress/unit/node_modules/enquirer/README.md +tests/tests_cypress/unit/node_modules/enquirer/lib/ansi.js +tests/tests_cypress/unit/node_modules/enquirer/lib/combos.js +tests/tests_cypress/unit/node_modules/enquirer/lib/completer.js +tests/tests_cypress/unit/node_modules/enquirer/lib/interpolate.js +tests/tests_cypress/unit/node_modules/enquirer/lib/keypress.js +tests/tests_cypress/unit/node_modules/enquirer/lib/placeholder.js +tests/tests_cypress/unit/node_modules/enquirer/lib/prompt.js +tests/tests_cypress/unit/node_modules/enquirer/lib/render.js +tests/tests_cypress/unit/node_modules/enquirer/lib/roles.js +tests/tests_cypress/unit/node_modules/enquirer/lib/state.js +tests/tests_cypress/unit/node_modules/enquirer/lib/styles.js +tests/tests_cypress/unit/node_modules/enquirer/lib/symbols.js +tests/tests_cypress/unit/node_modules/enquirer/lib/theme.js +tests/tests_cypress/unit/node_modules/enquirer/lib/timer.js +tests/tests_cypress/unit/node_modules/enquirer/lib/utils.js +tests/tests_cypress/unit/node_modules/enquirer/lib/prompts/autocomplete.js +tests/tests_cypress/unit/node_modules/enquirer/lib/prompts/basicauth.js +tests/tests_cypress/unit/node_modules/enquirer/lib/prompts/confirm.js +tests/tests_cypress/unit/node_modules/enquirer/lib/prompts/editable.js +tests/tests_cypress/unit/node_modules/enquirer/lib/prompts/form.js +tests/tests_cypress/unit/node_modules/enquirer/lib/prompts/index.js +tests/tests_cypress/unit/node_modules/enquirer/lib/prompts/input.js +tests/tests_cypress/unit/node_modules/enquirer/lib/prompts/invisible.js +tests/tests_cypress/unit/node_modules/enquirer/lib/prompts/list.js +tests/tests_cypress/unit/node_modules/enquirer/lib/prompts/multiselect.js +tests/tests_cypress/unit/node_modules/enquirer/lib/prompts/numeral.js +tests/tests_cypress/unit/node_modules/enquirer/lib/prompts/password.js +tests/tests_cypress/unit/node_modules/enquirer/lib/prompts/quiz.js +tests/tests_cypress/unit/node_modules/enquirer/lib/prompts/scale.js +tests/tests_cypress/unit/node_modules/enquirer/lib/prompts/select.js +tests/tests_cypress/unit/node_modules/enquirer/lib/prompts/snippet.js +tests/tests_cypress/unit/node_modules/enquirer/lib/prompts/sort.js +tests/tests_cypress/unit/node_modules/enquirer/lib/prompts/survey.js +tests/tests_cypress/unit/node_modules/enquirer/lib/prompts/text.js +tests/tests_cypress/unit/node_modules/enquirer/lib/prompts/toggle.js +tests/tests_cypress/unit/node_modules/enquirer/lib/types/array.js +tests/tests_cypress/unit/node_modules/enquirer/lib/types/auth.js +tests/tests_cypress/unit/node_modules/enquirer/lib/types/boolean.js +tests/tests_cypress/unit/node_modules/enquirer/lib/types/index.js +tests/tests_cypress/unit/node_modules/enquirer/lib/types/number.js +tests/tests_cypress/unit/node_modules/enquirer/lib/types/string.js +tests/tests_cypress/unit/node_modules/escape-string-regexp/index.js +tests/tests_cypress/unit/node_modules/escape-string-regexp/license +tests/tests_cypress/unit/node_modules/escape-string-regexp/package.json +tests/tests_cypress/unit/node_modules/escape-string-regexp/readme.md +tests/tests_cypress/unit/node_modules/eventemitter2/eventemitter2.d.ts +tests/tests_cypress/unit/node_modules/eventemitter2/index.js +tests/tests_cypress/unit/node_modules/eventemitter2/LICENSE.txt +tests/tests_cypress/unit/node_modules/eventemitter2/package.json +tests/tests_cypress/unit/node_modules/eventemitter2/README.md +tests/tests_cypress/unit/node_modules/eventemitter2/lib/eventemitter2.js +tests/tests_cypress/unit/node_modules/execa/index.d.ts +tests/tests_cypress/unit/node_modules/execa/index.js +tests/tests_cypress/unit/node_modules/execa/license +tests/tests_cypress/unit/node_modules/execa/package.json +tests/tests_cypress/unit/node_modules/execa/readme.md +tests/tests_cypress/unit/node_modules/execa/lib/command.js +tests/tests_cypress/unit/node_modules/execa/lib/error.js +tests/tests_cypress/unit/node_modules/execa/lib/kill.js +tests/tests_cypress/unit/node_modules/execa/lib/promise.js +tests/tests_cypress/unit/node_modules/execa/lib/stdio.js +tests/tests_cypress/unit/node_modules/execa/lib/stream.js +tests/tests_cypress/unit/node_modules/executable/index.js +tests/tests_cypress/unit/node_modules/executable/license +tests/tests_cypress/unit/node_modules/executable/package.json +tests/tests_cypress/unit/node_modules/executable/readme.md +tests/tests_cypress/unit/node_modules/extend/.editorconfig +tests/tests_cypress/unit/node_modules/extend/.eslintrc +tests/tests_cypress/unit/node_modules/extend/.jscs.json +tests/tests_cypress/unit/node_modules/extend/.travis.yml +tests/tests_cypress/unit/node_modules/extend/CHANGELOG.md +tests/tests_cypress/unit/node_modules/extend/component.json +tests/tests_cypress/unit/node_modules/extend/index.js +tests/tests_cypress/unit/node_modules/extend/LICENSE +tests/tests_cypress/unit/node_modules/extend/package.json +tests/tests_cypress/unit/node_modules/extend/README.md +tests/tests_cypress/unit/node_modules/extract-zip/cli.js +tests/tests_cypress/unit/node_modules/extract-zip/index.d.ts +tests/tests_cypress/unit/node_modules/extract-zip/index.js +tests/tests_cypress/unit/node_modules/extract-zip/LICENSE +tests/tests_cypress/unit/node_modules/extract-zip/package.json +tests/tests_cypress/unit/node_modules/extract-zip/readme.md +tests/tests_cypress/unit/node_modules/extsprintf/.gitmodules +tests/tests_cypress/unit/node_modules/extsprintf/.npmignore +tests/tests_cypress/unit/node_modules/extsprintf/jsl.node.conf +tests/tests_cypress/unit/node_modules/extsprintf/LICENSE +tests/tests_cypress/unit/node_modules/extsprintf/Makefile +tests/tests_cypress/unit/node_modules/extsprintf/Makefile.targ +tests/tests_cypress/unit/node_modules/extsprintf/package.json +tests/tests_cypress/unit/node_modules/extsprintf/README.md +tests/tests_cypress/unit/node_modules/extsprintf/lib/extsprintf.js +tests/tests_cypress/unit/node_modules/fd-slicer/.npmignore +tests/tests_cypress/unit/node_modules/fd-slicer/.travis.yml +tests/tests_cypress/unit/node_modules/fd-slicer/CHANGELOG.md +tests/tests_cypress/unit/node_modules/fd-slicer/index.js +tests/tests_cypress/unit/node_modules/fd-slicer/LICENSE +tests/tests_cypress/unit/node_modules/fd-slicer/package.json +tests/tests_cypress/unit/node_modules/fd-slicer/README.md +tests/tests_cypress/unit/node_modules/fd-slicer/test/test.js +tests/tests_cypress/unit/node_modules/figures/index.d.ts +tests/tests_cypress/unit/node_modules/figures/index.js +tests/tests_cypress/unit/node_modules/figures/license +tests/tests_cypress/unit/node_modules/figures/package.json +tests/tests_cypress/unit/node_modules/figures/readme.md +tests/tests_cypress/unit/node_modules/forever-agent/index.js +tests/tests_cypress/unit/node_modules/forever-agent/LICENSE +tests/tests_cypress/unit/node_modules/forever-agent/package.json +tests/tests_cypress/unit/node_modules/forever-agent/README.md +tests/tests_cypress/unit/node_modules/form-data/License +tests/tests_cypress/unit/node_modules/form-data/package.json +tests/tests_cypress/unit/node_modules/form-data/README.md +tests/tests_cypress/unit/node_modules/form-data/README.md.bak +tests/tests_cypress/unit/node_modules/form-data/yarn.lock +tests/tests_cypress/unit/node_modules/form-data/lib/browser.js +tests/tests_cypress/unit/node_modules/form-data/lib/form_data.js +tests/tests_cypress/unit/node_modules/form-data/lib/populate.js +tests/tests_cypress/unit/node_modules/fs-extra/CHANGELOG.md +tests/tests_cypress/unit/node_modules/fs-extra/LICENSE +tests/tests_cypress/unit/node_modules/fs-extra/package.json +tests/tests_cypress/unit/node_modules/fs-extra/README.md +tests/tests_cypress/unit/node_modules/fs-extra/lib/index.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/copy/copy.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/copy/index.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/copy-sync/copy-sync.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/copy-sync/index.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/empty/index.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/ensure/file.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/ensure/index.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/ensure/link.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/ensure/symlink-paths.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/ensure/symlink-type.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/ensure/symlink.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/fs/index.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/json/index.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/json/jsonfile.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/json/output-json-sync.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/json/output-json.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/mkdirs/index.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/mkdirs/make-dir.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/move/index.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/move/move.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/move-sync/index.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/move-sync/move-sync.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/output/index.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/path-exists/index.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/remove/index.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/remove/rimraf.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/util/stat.js +tests/tests_cypress/unit/node_modules/fs-extra/lib/util/utimes.js +tests/tests_cypress/unit/node_modules/fs.realpath/index.js +tests/tests_cypress/unit/node_modules/fs.realpath/LICENSE +tests/tests_cypress/unit/node_modules/fs.realpath/old.js +tests/tests_cypress/unit/node_modules/fs.realpath/package.json +tests/tests_cypress/unit/node_modules/fs.realpath/README.md +tests/tests_cypress/unit/node_modules/function-bind/.editorconfig +tests/tests_cypress/unit/node_modules/function-bind/.eslintrc +tests/tests_cypress/unit/node_modules/function-bind/.jscs.json +tests/tests_cypress/unit/node_modules/function-bind/.npmignore +tests/tests_cypress/unit/node_modules/function-bind/.travis.yml +tests/tests_cypress/unit/node_modules/function-bind/implementation.js +tests/tests_cypress/unit/node_modules/function-bind/index.js +tests/tests_cypress/unit/node_modules/function-bind/LICENSE +tests/tests_cypress/unit/node_modules/function-bind/package.json +tests/tests_cypress/unit/node_modules/function-bind/README.md +tests/tests_cypress/unit/node_modules/function-bind/test/.eslintrc +tests/tests_cypress/unit/node_modules/function-bind/test/index.js +tests/tests_cypress/unit/node_modules/generate-function/.travis.yml +tests/tests_cypress/unit/node_modules/generate-function/example.js +tests/tests_cypress/unit/node_modules/generate-function/index.js +tests/tests_cypress/unit/node_modules/generate-function/LICENSE +tests/tests_cypress/unit/node_modules/generate-function/package.json +tests/tests_cypress/unit/node_modules/generate-function/README.md +tests/tests_cypress/unit/node_modules/generate-function/test.js +tests/tests_cypress/unit/node_modules/generate-object-property/.npmignore +tests/tests_cypress/unit/node_modules/generate-object-property/.travis.yml +tests/tests_cypress/unit/node_modules/generate-object-property/index.js +tests/tests_cypress/unit/node_modules/generate-object-property/LICENSE +tests/tests_cypress/unit/node_modules/generate-object-property/package.json +tests/tests_cypress/unit/node_modules/generate-object-property/README.md +tests/tests_cypress/unit/node_modules/generate-object-property/test.js +tests/tests_cypress/unit/node_modules/get-intrinsic/.eslintrc +tests/tests_cypress/unit/node_modules/get-intrinsic/.nycrc +tests/tests_cypress/unit/node_modules/get-intrinsic/CHANGELOG.md +tests/tests_cypress/unit/node_modules/get-intrinsic/index.js +tests/tests_cypress/unit/node_modules/get-intrinsic/LICENSE +tests/tests_cypress/unit/node_modules/get-intrinsic/package.json +tests/tests_cypress/unit/node_modules/get-intrinsic/README.md +tests/tests_cypress/unit/node_modules/get-intrinsic/.github/FUNDING.yml +tests/tests_cypress/unit/node_modules/get-intrinsic/test/GetIntrinsic.js +tests/tests_cypress/unit/node_modules/get-stream/buffer-stream.js +tests/tests_cypress/unit/node_modules/get-stream/index.d.ts +tests/tests_cypress/unit/node_modules/get-stream/index.js +tests/tests_cypress/unit/node_modules/get-stream/license +tests/tests_cypress/unit/node_modules/get-stream/package.json +tests/tests_cypress/unit/node_modules/get-stream/readme.md +tests/tests_cypress/unit/node_modules/getos/.travis.yml +tests/tests_cypress/unit/node_modules/getos/Dockerfile +tests/tests_cypress/unit/node_modules/getos/index.js +tests/tests_cypress/unit/node_modules/getos/LICENSE +tests/tests_cypress/unit/node_modules/getos/os.json +tests/tests_cypress/unit/node_modules/getos/package.json +tests/tests_cypress/unit/node_modules/getos/README.md +tests/tests_cypress/unit/node_modules/getos/test.js +tests/tests_cypress/unit/node_modules/getos/imgs/logo.png +tests/tests_cypress/unit/node_modules/getos/imgs/logo.svg +tests/tests_cypress/unit/node_modules/getos/logic/alpine.js +tests/tests_cypress/unit/node_modules/getos/logic/amazon.js +tests/tests_cypress/unit/node_modules/getos/logic/arch.js +tests/tests_cypress/unit/node_modules/getos/logic/centos.js +tests/tests_cypress/unit/node_modules/getos/logic/debian.js +tests/tests_cypress/unit/node_modules/getos/logic/fedora.js +tests/tests_cypress/unit/node_modules/getos/logic/kde.js +tests/tests_cypress/unit/node_modules/getos/logic/manjaro.js +tests/tests_cypress/unit/node_modules/getos/logic/mint.js +tests/tests_cypress/unit/node_modules/getos/logic/raspbian.js +tests/tests_cypress/unit/node_modules/getos/logic/red.js +tests/tests_cypress/unit/node_modules/getos/logic/suse.js +tests/tests_cypress/unit/node_modules/getos/logic/ubuntu.js +tests/tests_cypress/unit/node_modules/getos/logic/zorin.js +tests/tests_cypress/unit/node_modules/getos/tests/mockdata.json +tests/tests_cypress/unit/node_modules/getos/tests/mocktests.js +tests/tests_cypress/unit/node_modules/getos/tests/runTest.js +tests/tests_cypress/unit/node_modules/getos/tests/alpine/3.3/Dockerfile +tests/tests_cypress/unit/node_modules/getos/tests/debian/7.3/Dockerfile +tests/tests_cypress/unit/node_modules/getos/tests/debian/7.4/Dockerfile +tests/tests_cypress/unit/node_modules/getos/tests/debian/7.5/Dockerfile +tests/tests_cypress/unit/node_modules/getos/tests/debian/7.6/Dockerfile +tests/tests_cypress/unit/node_modules/getos/tests/fedora/20/Dockerfile +tests/tests_cypress/unit/node_modules/getos/tests/ubuntu/13.10/Dockerfile +tests/tests_cypress/unit/node_modules/getos/tests/ubuntu/14.04/Dockerfile +tests/tests_cypress/unit/node_modules/getpass/.npmignore +tests/tests_cypress/unit/node_modules/getpass/.travis.yml +tests/tests_cypress/unit/node_modules/getpass/LICENSE +tests/tests_cypress/unit/node_modules/getpass/package.json +tests/tests_cypress/unit/node_modules/getpass/README.md +tests/tests_cypress/unit/node_modules/getpass/lib/index.js +tests/tests_cypress/unit/node_modules/glob/common.js +tests/tests_cypress/unit/node_modules/glob/glob.js +tests/tests_cypress/unit/node_modules/glob/LICENSE +tests/tests_cypress/unit/node_modules/glob/package.json +tests/tests_cypress/unit/node_modules/glob/README.md +tests/tests_cypress/unit/node_modules/glob/sync.js +tests/tests_cypress/unit/node_modules/glob/node_modules/brace-expansion/index.js +tests/tests_cypress/unit/node_modules/glob/node_modules/brace-expansion/LICENSE +tests/tests_cypress/unit/node_modules/glob/node_modules/brace-expansion/package.json +tests/tests_cypress/unit/node_modules/glob/node_modules/brace-expansion/README.md +tests/tests_cypress/unit/node_modules/glob/node_modules/minimatch/LICENSE +tests/tests_cypress/unit/node_modules/glob/node_modules/minimatch/minimatch.js +tests/tests_cypress/unit/node_modules/glob/node_modules/minimatch/package.json +tests/tests_cypress/unit/node_modules/glob/node_modules/minimatch/README.md +tests/tests_cypress/unit/node_modules/global-dirs/index.d.ts +tests/tests_cypress/unit/node_modules/global-dirs/index.js +tests/tests_cypress/unit/node_modules/global-dirs/license +tests/tests_cypress/unit/node_modules/global-dirs/package.json +tests/tests_cypress/unit/node_modules/global-dirs/readme.md +tests/tests_cypress/unit/node_modules/graceful-fs/clone.js +tests/tests_cypress/unit/node_modules/graceful-fs/graceful-fs.js +tests/tests_cypress/unit/node_modules/graceful-fs/legacy-streams.js +tests/tests_cypress/unit/node_modules/graceful-fs/LICENSE +tests/tests_cypress/unit/node_modules/graceful-fs/package.json +tests/tests_cypress/unit/node_modules/graceful-fs/polyfills.js +tests/tests_cypress/unit/node_modules/graceful-fs/README.md +tests/tests_cypress/unit/node_modules/has/LICENSE-MIT +tests/tests_cypress/unit/node_modules/has/package.json +tests/tests_cypress/unit/node_modules/has/README.md +tests/tests_cypress/unit/node_modules/has/src/index.js +tests/tests_cypress/unit/node_modules/has/test/index.js +tests/tests_cypress/unit/node_modules/has-flag/index.d.ts +tests/tests_cypress/unit/node_modules/has-flag/index.js +tests/tests_cypress/unit/node_modules/has-flag/license +tests/tests_cypress/unit/node_modules/has-flag/package.json +tests/tests_cypress/unit/node_modules/has-flag/readme.md +tests/tests_cypress/unit/node_modules/has-symbols/.eslintrc +tests/tests_cypress/unit/node_modules/has-symbols/.nycrc +tests/tests_cypress/unit/node_modules/has-symbols/CHANGELOG.md +tests/tests_cypress/unit/node_modules/has-symbols/index.js +tests/tests_cypress/unit/node_modules/has-symbols/LICENSE +tests/tests_cypress/unit/node_modules/has-symbols/package.json +tests/tests_cypress/unit/node_modules/has-symbols/README.md +tests/tests_cypress/unit/node_modules/has-symbols/shams.js +tests/tests_cypress/unit/node_modules/has-symbols/.github/FUNDING.yml +tests/tests_cypress/unit/node_modules/has-symbols/test/index.js +tests/tests_cypress/unit/node_modules/has-symbols/test/tests.js +tests/tests_cypress/unit/node_modules/has-symbols/test/shams/core-js.js +tests/tests_cypress/unit/node_modules/has-symbols/test/shams/get-own-property-symbols.js +tests/tests_cypress/unit/node_modules/http-signature/CHANGES.md +tests/tests_cypress/unit/node_modules/http-signature/LICENSE +tests/tests_cypress/unit/node_modules/http-signature/package.json +tests/tests_cypress/unit/node_modules/http-signature/README.md +tests/tests_cypress/unit/node_modules/http-signature/lib/index.js +tests/tests_cypress/unit/node_modules/http-signature/lib/parser.js +tests/tests_cypress/unit/node_modules/http-signature/lib/signer.js +tests/tests_cypress/unit/node_modules/http-signature/lib/utils.js +tests/tests_cypress/unit/node_modules/http-signature/lib/verify.js +tests/tests_cypress/unit/node_modules/human-signals/CHANGELOG.md +tests/tests_cypress/unit/node_modules/human-signals/LICENSE +tests/tests_cypress/unit/node_modules/human-signals/package.json +tests/tests_cypress/unit/node_modules/human-signals/README.md +tests/tests_cypress/unit/node_modules/human-signals/build/src/core.js +tests/tests_cypress/unit/node_modules/human-signals/build/src/core.js.map +tests/tests_cypress/unit/node_modules/human-signals/build/src/main.js +tests/tests_cypress/unit/node_modules/human-signals/build/src/main.js.map +tests/tests_cypress/unit/node_modules/human-signals/build/src/realtime.js +tests/tests_cypress/unit/node_modules/human-signals/build/src/realtime.js.map +tests/tests_cypress/unit/node_modules/human-signals/build/src/signals.js +tests/tests_cypress/unit/node_modules/human-signals/build/src/signals.js.map +tests/tests_cypress/unit/node_modules/ieee754/index.d.ts +tests/tests_cypress/unit/node_modules/ieee754/index.js +tests/tests_cypress/unit/node_modules/ieee754/LICENSE +tests/tests_cypress/unit/node_modules/ieee754/package.json +tests/tests_cypress/unit/node_modules/ieee754/README.md +tests/tests_cypress/unit/node_modules/indent-string/index.d.ts +tests/tests_cypress/unit/node_modules/indent-string/index.js +tests/tests_cypress/unit/node_modules/indent-string/license +tests/tests_cypress/unit/node_modules/indent-string/package.json +tests/tests_cypress/unit/node_modules/indent-string/readme.md +tests/tests_cypress/unit/node_modules/indento/LICENSE +tests/tests_cypress/unit/node_modules/indento/package.json +tests/tests_cypress/unit/node_modules/indento/README.md +tests/tests_cypress/unit/node_modules/indento/lib/index.js +tests/tests_cypress/unit/node_modules/inflight/inflight.js +tests/tests_cypress/unit/node_modules/inflight/LICENSE +tests/tests_cypress/unit/node_modules/inflight/package.json +tests/tests_cypress/unit/node_modules/inflight/README.md +tests/tests_cypress/unit/node_modules/inherits/inherits_browser.js +tests/tests_cypress/unit/node_modules/inherits/inherits.js +tests/tests_cypress/unit/node_modules/inherits/LICENSE +tests/tests_cypress/unit/node_modules/inherits/package.json +tests/tests_cypress/unit/node_modules/inherits/README.md +tests/tests_cypress/unit/node_modules/ini/ini.js +tests/tests_cypress/unit/node_modules/ini/LICENSE +tests/tests_cypress/unit/node_modules/ini/package.json +tests/tests_cypress/unit/node_modules/ini/README.md +tests/tests_cypress/unit/node_modules/is-ci/bin.js +tests/tests_cypress/unit/node_modules/is-ci/CHANGELOG.md +tests/tests_cypress/unit/node_modules/is-ci/index.js +tests/tests_cypress/unit/node_modules/is-ci/LICENSE +tests/tests_cypress/unit/node_modules/is-ci/package.json +tests/tests_cypress/unit/node_modules/is-ci/README.md +tests/tests_cypress/unit/node_modules/is-fullwidth-code-point/index.d.ts +tests/tests_cypress/unit/node_modules/is-fullwidth-code-point/index.js +tests/tests_cypress/unit/node_modules/is-fullwidth-code-point/license +tests/tests_cypress/unit/node_modules/is-fullwidth-code-point/package.json +tests/tests_cypress/unit/node_modules/is-fullwidth-code-point/readme.md +tests/tests_cypress/unit/node_modules/is-installed-globally/index.d.ts +tests/tests_cypress/unit/node_modules/is-installed-globally/index.js +tests/tests_cypress/unit/node_modules/is-installed-globally/license +tests/tests_cypress/unit/node_modules/is-installed-globally/package.json +tests/tests_cypress/unit/node_modules/is-installed-globally/readme.md +tests/tests_cypress/unit/node_modules/is-my-ip-valid/index.js +tests/tests_cypress/unit/node_modules/is-my-ip-valid/LICENSE +tests/tests_cypress/unit/node_modules/is-my-ip-valid/package.json +tests/tests_cypress/unit/node_modules/is-my-ip-valid/readme.md +tests/tests_cypress/unit/node_modules/is-my-ip-valid/test.js +tests/tests_cypress/unit/node_modules/is-my-ip-valid/fixtures/invalid-ipv4-addresses.json +tests/tests_cypress/unit/node_modules/is-my-ip-valid/fixtures/invalid-ipv6-addresses.json +tests/tests_cypress/unit/node_modules/is-my-ip-valid/fixtures/valid-ipv4-addresses.json +tests/tests_cypress/unit/node_modules/is-my-ip-valid/fixtures/valid-ipv6-addresses.json +tests/tests_cypress/unit/node_modules/is-path-inside/index.d.ts +tests/tests_cypress/unit/node_modules/is-path-inside/index.js +tests/tests_cypress/unit/node_modules/is-path-inside/license +tests/tests_cypress/unit/node_modules/is-path-inside/package.json +tests/tests_cypress/unit/node_modules/is-path-inside/readme.md +tests/tests_cypress/unit/node_modules/is-property/.npmignore +tests/tests_cypress/unit/node_modules/is-property/is-property.js +tests/tests_cypress/unit/node_modules/is-property/LICENSE +tests/tests_cypress/unit/node_modules/is-property/package.json +tests/tests_cypress/unit/node_modules/is-property/README.md +tests/tests_cypress/unit/node_modules/is-stream/index.d.ts +tests/tests_cypress/unit/node_modules/is-stream/index.js +tests/tests_cypress/unit/node_modules/is-stream/license +tests/tests_cypress/unit/node_modules/is-stream/package.json +tests/tests_cypress/unit/node_modules/is-stream/readme.md +tests/tests_cypress/unit/node_modules/is-typedarray/index.js +tests/tests_cypress/unit/node_modules/is-typedarray/LICENSE.md +tests/tests_cypress/unit/node_modules/is-typedarray/package.json +tests/tests_cypress/unit/node_modules/is-typedarray/README.md +tests/tests_cypress/unit/node_modules/is-typedarray/test.js +tests/tests_cypress/unit/node_modules/is-unicode-supported/index.d.ts +tests/tests_cypress/unit/node_modules/is-unicode-supported/index.js +tests/tests_cypress/unit/node_modules/is-unicode-supported/license +tests/tests_cypress/unit/node_modules/is-unicode-supported/package.json +tests/tests_cypress/unit/node_modules/is-unicode-supported/readme.md +tests/tests_cypress/unit/node_modules/isexe/.npmignore +tests/tests_cypress/unit/node_modules/isexe/index.js +tests/tests_cypress/unit/node_modules/isexe/LICENSE +tests/tests_cypress/unit/node_modules/isexe/mode.js +tests/tests_cypress/unit/node_modules/isexe/package.json +tests/tests_cypress/unit/node_modules/isexe/README.md +tests/tests_cypress/unit/node_modules/isexe/windows.js +tests/tests_cypress/unit/node_modules/isexe/test/basic.js +tests/tests_cypress/unit/node_modules/isstream/.jshintrc +tests/tests_cypress/unit/node_modules/isstream/.npmignore +tests/tests_cypress/unit/node_modules/isstream/.travis.yml +tests/tests_cypress/unit/node_modules/isstream/isstream.js +tests/tests_cypress/unit/node_modules/isstream/LICENSE.md +tests/tests_cypress/unit/node_modules/isstream/package.json +tests/tests_cypress/unit/node_modules/isstream/README.md +tests/tests_cypress/unit/node_modules/isstream/test.js +tests/tests_cypress/unit/node_modules/jsbn/.npmignore +tests/tests_cypress/unit/node_modules/jsbn/example.html +tests/tests_cypress/unit/node_modules/jsbn/example.js +tests/tests_cypress/unit/node_modules/jsbn/index.js +tests/tests_cypress/unit/node_modules/jsbn/LICENSE +tests/tests_cypress/unit/node_modules/jsbn/package.json +tests/tests_cypress/unit/node_modules/jsbn/README.md +tests/tests_cypress/unit/node_modules/json-schema/LICENSE +tests/tests_cypress/unit/node_modules/json-schema/package.json +tests/tests_cypress/unit/node_modules/json-schema/README.md +tests/tests_cypress/unit/node_modules/json-schema/lib/links.js +tests/tests_cypress/unit/node_modules/json-schema/lib/validate.js +tests/tests_cypress/unit/node_modules/json-stable-stringify/.npmignore +tests/tests_cypress/unit/node_modules/json-stable-stringify/.travis.yml +tests/tests_cypress/unit/node_modules/json-stable-stringify/index.js +tests/tests_cypress/unit/node_modules/json-stable-stringify/LICENSE +tests/tests_cypress/unit/node_modules/json-stable-stringify/package.json +tests/tests_cypress/unit/node_modules/json-stable-stringify/readme.markdown +tests/tests_cypress/unit/node_modules/json-stable-stringify/example/key_cmp.js +tests/tests_cypress/unit/node_modules/json-stable-stringify/example/nested.js +tests/tests_cypress/unit/node_modules/json-stable-stringify/example/str.js +tests/tests_cypress/unit/node_modules/json-stable-stringify/example/value_cmp.js +tests/tests_cypress/unit/node_modules/json-stable-stringify/test/cmp.js +tests/tests_cypress/unit/node_modules/json-stable-stringify/test/nested.js +tests/tests_cypress/unit/node_modules/json-stable-stringify/test/replacer.js +tests/tests_cypress/unit/node_modules/json-stable-stringify/test/space.js +tests/tests_cypress/unit/node_modules/json-stable-stringify/test/str.js +tests/tests_cypress/unit/node_modules/json-stable-stringify/test/to-json.js +tests/tests_cypress/unit/node_modules/json-stringify-safe/.npmignore +tests/tests_cypress/unit/node_modules/json-stringify-safe/CHANGELOG.md +tests/tests_cypress/unit/node_modules/json-stringify-safe/LICENSE +tests/tests_cypress/unit/node_modules/json-stringify-safe/Makefile +tests/tests_cypress/unit/node_modules/json-stringify-safe/package.json +tests/tests_cypress/unit/node_modules/json-stringify-safe/README.md +tests/tests_cypress/unit/node_modules/json-stringify-safe/stringify.js +tests/tests_cypress/unit/node_modules/json-stringify-safe/test/mocha.opts +tests/tests_cypress/unit/node_modules/json-stringify-safe/test/stringify_test.js +tests/tests_cypress/unit/node_modules/json2md/LICENSE +tests/tests_cypress/unit/node_modules/json2md/package.json +tests/tests_cypress/unit/node_modules/json2md/README.md +tests/tests_cypress/unit/node_modules/json2md/dist/json2md.min.js +tests/tests_cypress/unit/node_modules/json2md/lib/converters.js +tests/tests_cypress/unit/node_modules/json2md/lib/index.js +tests/tests_cypress/unit/node_modules/jsonfile/CHANGELOG.md +tests/tests_cypress/unit/node_modules/jsonfile/index.js +tests/tests_cypress/unit/node_modules/jsonfile/LICENSE +tests/tests_cypress/unit/node_modules/jsonfile/package.json +tests/tests_cypress/unit/node_modules/jsonfile/README.md +tests/tests_cypress/unit/node_modules/jsonfile/utils.js +tests/tests_cypress/unit/node_modules/jsonify/.eslintrc +tests/tests_cypress/unit/node_modules/jsonify/CHANGELOG.md +tests/tests_cypress/unit/node_modules/jsonify/index.js +tests/tests_cypress/unit/node_modules/jsonify/package.json +tests/tests_cypress/unit/node_modules/jsonify/README.md +tests/tests_cypress/unit/node_modules/jsonify/.github/FUNDING.yml +tests/tests_cypress/unit/node_modules/jsonify/lib/parse.js +tests/tests_cypress/unit/node_modules/jsonify/lib/stringify.js +tests/tests_cypress/unit/node_modules/jsonify/test/parse.js +tests/tests_cypress/unit/node_modules/jsonify/test/stringify.js +tests/tests_cypress/unit/node_modules/jsonpointer/jsonpointer.d.ts +tests/tests_cypress/unit/node_modules/jsonpointer/jsonpointer.js +tests/tests_cypress/unit/node_modules/jsonpointer/LICENSE.md +tests/tests_cypress/unit/node_modules/jsonpointer/package.json +tests/tests_cypress/unit/node_modules/jsonpointer/README.md +tests/tests_cypress/unit/node_modules/jsprim/CHANGES.md +tests/tests_cypress/unit/node_modules/jsprim/CONTRIBUTING.md +tests/tests_cypress/unit/node_modules/jsprim/LICENSE +tests/tests_cypress/unit/node_modules/jsprim/package.json +tests/tests_cypress/unit/node_modules/jsprim/README.md +tests/tests_cypress/unit/node_modules/jsprim/lib/jsprim.js +tests/tests_cypress/unit/node_modules/lazy-ass/bower.json +tests/tests_cypress/unit/node_modules/lazy-ass/index.d.ts +tests/tests_cypress/unit/node_modules/lazy-ass/index.html +tests/tests_cypress/unit/node_modules/lazy-ass/index.js +tests/tests_cypress/unit/node_modules/lazy-ass/LICENSE +tests/tests_cypress/unit/node_modules/lazy-ass/package.json +tests/tests_cypress/unit/node_modules/lazy-ass/README.md +tests/tests_cypress/unit/node_modules/lazy-ass/test/demo.js +tests/tests_cypress/unit/node_modules/listr2/CHANGELOG.md +tests/tests_cypress/unit/node_modules/listr2/LICENSE +tests/tests_cypress/unit/node_modules/listr2/package.json +tests/tests_cypress/unit/node_modules/listr2/README.md +tests/tests_cypress/unit/node_modules/listr2/dist/index.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/index.js +tests/tests_cypress/unit/node_modules/listr2/dist/listr.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/listr.js +tests/tests_cypress/unit/node_modules/listr2/dist/manager.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/manager.js +tests/tests_cypress/unit/node_modules/listr2/dist/constants/clearline-regex.constants.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/constants/clearline-regex.constants.js +tests/tests_cypress/unit/node_modules/listr2/dist/constants/event.constants.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/constants/event.constants.js +tests/tests_cypress/unit/node_modules/listr2/dist/constants/index.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/constants/index.js +tests/tests_cypress/unit/node_modules/listr2/dist/constants/state.constants.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/constants/state.constants.js +tests/tests_cypress/unit/node_modules/listr2/dist/interfaces/index.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/interfaces/index.js +tests/tests_cypress/unit/node_modules/listr2/dist/interfaces/listr-error.interface.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/interfaces/listr-error.interface.js +tests/tests_cypress/unit/node_modules/listr2/dist/interfaces/listr.interface.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/interfaces/listr.interface.js +tests/tests_cypress/unit/node_modules/listr2/dist/interfaces/renderer.interface.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/interfaces/renderer.interface.js +tests/tests_cypress/unit/node_modules/listr2/dist/interfaces/task.interface.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/interfaces/task.interface.js +tests/tests_cypress/unit/node_modules/listr2/dist/lib/task-wrapper.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/lib/task-wrapper.js +tests/tests_cypress/unit/node_modules/listr2/dist/lib/task.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/lib/task.js +tests/tests_cypress/unit/node_modules/listr2/dist/renderer/default.renderer.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/renderer/default.renderer.js +tests/tests_cypress/unit/node_modules/listr2/dist/renderer/silent.renderer.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/renderer/silent.renderer.js +tests/tests_cypress/unit/node_modules/listr2/dist/renderer/simple.renderer.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/renderer/simple.renderer.js +tests/tests_cypress/unit/node_modules/listr2/dist/renderer/verbose.renderer.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/renderer/verbose.renderer.js +tests/tests_cypress/unit/node_modules/listr2/dist/utils/assert.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/utils/assert.js +tests/tests_cypress/unit/node_modules/listr2/dist/utils/colorette.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/utils/colorette.js +tests/tests_cypress/unit/node_modules/listr2/dist/utils/figures.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/utils/figures.js +tests/tests_cypress/unit/node_modules/listr2/dist/utils/general.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/utils/general.js +tests/tests_cypress/unit/node_modules/listr2/dist/utils/indent-string.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/utils/indent-string.js +tests/tests_cypress/unit/node_modules/listr2/dist/utils/is-unicode-supported.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/utils/is-unicode-supported.js +tests/tests_cypress/unit/node_modules/listr2/dist/utils/logger.constants.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/utils/logger.constants.js +tests/tests_cypress/unit/node_modules/listr2/dist/utils/logger.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/utils/logger.interface.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/utils/logger.interface.js +tests/tests_cypress/unit/node_modules/listr2/dist/utils/logger.js +tests/tests_cypress/unit/node_modules/listr2/dist/utils/parse-time.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/utils/parse-time.js +tests/tests_cypress/unit/node_modules/listr2/dist/utils/prompt.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/utils/prompt.interface.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/utils/prompt.interface.js +tests/tests_cypress/unit/node_modules/listr2/dist/utils/prompt.js +tests/tests_cypress/unit/node_modules/listr2/dist/utils/renderer.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/utils/renderer.js +tests/tests_cypress/unit/node_modules/listr2/dist/utils/uuid.d.ts +tests/tests_cypress/unit/node_modules/listr2/dist/utils/uuid.js +tests/tests_cypress/unit/node_modules/lodash/_apply.js +tests/tests_cypress/unit/node_modules/lodash/_arrayAggregator.js +tests/tests_cypress/unit/node_modules/lodash/_arrayEach.js +tests/tests_cypress/unit/node_modules/lodash/_arrayEachRight.js +tests/tests_cypress/unit/node_modules/lodash/_arrayEvery.js +tests/tests_cypress/unit/node_modules/lodash/_arrayFilter.js +tests/tests_cypress/unit/node_modules/lodash/_arrayIncludes.js +tests/tests_cypress/unit/node_modules/lodash/_arrayIncludesWith.js +tests/tests_cypress/unit/node_modules/lodash/_arrayLikeKeys.js +tests/tests_cypress/unit/node_modules/lodash/_arrayMap.js +tests/tests_cypress/unit/node_modules/lodash/_arrayPush.js +tests/tests_cypress/unit/node_modules/lodash/_arrayReduce.js +tests/tests_cypress/unit/node_modules/lodash/_arrayReduceRight.js +tests/tests_cypress/unit/node_modules/lodash/_arraySample.js +tests/tests_cypress/unit/node_modules/lodash/_arraySampleSize.js +tests/tests_cypress/unit/node_modules/lodash/_arrayShuffle.js +tests/tests_cypress/unit/node_modules/lodash/_arraySome.js +tests/tests_cypress/unit/node_modules/lodash/_asciiSize.js +tests/tests_cypress/unit/node_modules/lodash/_asciiToArray.js +tests/tests_cypress/unit/node_modules/lodash/_asciiWords.js +tests/tests_cypress/unit/node_modules/lodash/_assignMergeValue.js +tests/tests_cypress/unit/node_modules/lodash/_assignValue.js +tests/tests_cypress/unit/node_modules/lodash/_assocIndexOf.js +tests/tests_cypress/unit/node_modules/lodash/_baseAggregator.js +tests/tests_cypress/unit/node_modules/lodash/_baseAssign.js +tests/tests_cypress/unit/node_modules/lodash/_baseAssignIn.js +tests/tests_cypress/unit/node_modules/lodash/_baseAssignValue.js +tests/tests_cypress/unit/node_modules/lodash/_baseAt.js +tests/tests_cypress/unit/node_modules/lodash/_baseClamp.js +tests/tests_cypress/unit/node_modules/lodash/_baseClone.js +tests/tests_cypress/unit/node_modules/lodash/_baseConforms.js +tests/tests_cypress/unit/node_modules/lodash/_baseConformsTo.js +tests/tests_cypress/unit/node_modules/lodash/_baseCreate.js +tests/tests_cypress/unit/node_modules/lodash/_baseDelay.js +tests/tests_cypress/unit/node_modules/lodash/_baseDifference.js +tests/tests_cypress/unit/node_modules/lodash/_baseEach.js +tests/tests_cypress/unit/node_modules/lodash/_baseEachRight.js +tests/tests_cypress/unit/node_modules/lodash/_baseEvery.js +tests/tests_cypress/unit/node_modules/lodash/_baseExtremum.js +tests/tests_cypress/unit/node_modules/lodash/_baseFill.js +tests/tests_cypress/unit/node_modules/lodash/_baseFilter.js +tests/tests_cypress/unit/node_modules/lodash/_baseFindIndex.js +tests/tests_cypress/unit/node_modules/lodash/_baseFindKey.js +tests/tests_cypress/unit/node_modules/lodash/_baseFlatten.js +tests/tests_cypress/unit/node_modules/lodash/_baseFor.js +tests/tests_cypress/unit/node_modules/lodash/_baseForOwn.js +tests/tests_cypress/unit/node_modules/lodash/_baseForOwnRight.js +tests/tests_cypress/unit/node_modules/lodash/_baseForRight.js +tests/tests_cypress/unit/node_modules/lodash/_baseFunctions.js +tests/tests_cypress/unit/node_modules/lodash/_baseGet.js +tests/tests_cypress/unit/node_modules/lodash/_baseGetAllKeys.js +tests/tests_cypress/unit/node_modules/lodash/_baseGetTag.js +tests/tests_cypress/unit/node_modules/lodash/_baseGt.js +tests/tests_cypress/unit/node_modules/lodash/_baseHas.js +tests/tests_cypress/unit/node_modules/lodash/_baseHasIn.js +tests/tests_cypress/unit/node_modules/lodash/_baseIndexOf.js +tests/tests_cypress/unit/node_modules/lodash/_baseIndexOfWith.js +tests/tests_cypress/unit/node_modules/lodash/_baseInRange.js +tests/tests_cypress/unit/node_modules/lodash/_baseIntersection.js +tests/tests_cypress/unit/node_modules/lodash/_baseInverter.js +tests/tests_cypress/unit/node_modules/lodash/_baseInvoke.js +tests/tests_cypress/unit/node_modules/lodash/_baseIsArguments.js +tests/tests_cypress/unit/node_modules/lodash/_baseIsArrayBuffer.js +tests/tests_cypress/unit/node_modules/lodash/_baseIsDate.js +tests/tests_cypress/unit/node_modules/lodash/_baseIsEqual.js +tests/tests_cypress/unit/node_modules/lodash/_baseIsEqualDeep.js +tests/tests_cypress/unit/node_modules/lodash/_baseIsMap.js +tests/tests_cypress/unit/node_modules/lodash/_baseIsMatch.js +tests/tests_cypress/unit/node_modules/lodash/_baseIsNaN.js +tests/tests_cypress/unit/node_modules/lodash/_baseIsNative.js +tests/tests_cypress/unit/node_modules/lodash/_baseIsRegExp.js +tests/tests_cypress/unit/node_modules/lodash/_baseIsSet.js +tests/tests_cypress/unit/node_modules/lodash/_baseIsTypedArray.js +tests/tests_cypress/unit/node_modules/lodash/_baseIteratee.js +tests/tests_cypress/unit/node_modules/lodash/_baseKeys.js +tests/tests_cypress/unit/node_modules/lodash/_baseKeysIn.js +tests/tests_cypress/unit/node_modules/lodash/_baseLodash.js +tests/tests_cypress/unit/node_modules/lodash/_baseLt.js +tests/tests_cypress/unit/node_modules/lodash/_baseMap.js +tests/tests_cypress/unit/node_modules/lodash/_baseMatches.js +tests/tests_cypress/unit/node_modules/lodash/_baseMatchesProperty.js +tests/tests_cypress/unit/node_modules/lodash/_baseMean.js +tests/tests_cypress/unit/node_modules/lodash/_baseMerge.js +tests/tests_cypress/unit/node_modules/lodash/_baseMergeDeep.js +tests/tests_cypress/unit/node_modules/lodash/_baseNth.js +tests/tests_cypress/unit/node_modules/lodash/_baseOrderBy.js +tests/tests_cypress/unit/node_modules/lodash/_basePick.js +tests/tests_cypress/unit/node_modules/lodash/_basePickBy.js +tests/tests_cypress/unit/node_modules/lodash/_baseProperty.js +tests/tests_cypress/unit/node_modules/lodash/_basePropertyDeep.js +tests/tests_cypress/unit/node_modules/lodash/_basePropertyOf.js +tests/tests_cypress/unit/node_modules/lodash/_basePullAll.js +tests/tests_cypress/unit/node_modules/lodash/_basePullAt.js +tests/tests_cypress/unit/node_modules/lodash/_baseRandom.js +tests/tests_cypress/unit/node_modules/lodash/_baseRange.js +tests/tests_cypress/unit/node_modules/lodash/_baseReduce.js +tests/tests_cypress/unit/node_modules/lodash/_baseRepeat.js +tests/tests_cypress/unit/node_modules/lodash/_baseRest.js +tests/tests_cypress/unit/node_modules/lodash/_baseSample.js +tests/tests_cypress/unit/node_modules/lodash/_baseSampleSize.js +tests/tests_cypress/unit/node_modules/lodash/_baseSet.js +tests/tests_cypress/unit/node_modules/lodash/_baseSetData.js +tests/tests_cypress/unit/node_modules/lodash/_baseSetToString.js +tests/tests_cypress/unit/node_modules/lodash/_baseShuffle.js +tests/tests_cypress/unit/node_modules/lodash/_baseSlice.js +tests/tests_cypress/unit/node_modules/lodash/_baseSome.js +tests/tests_cypress/unit/node_modules/lodash/_baseSortBy.js +tests/tests_cypress/unit/node_modules/lodash/_baseSortedIndex.js +tests/tests_cypress/unit/node_modules/lodash/_baseSortedIndexBy.js +tests/tests_cypress/unit/node_modules/lodash/_baseSortedUniq.js +tests/tests_cypress/unit/node_modules/lodash/_baseSum.js +tests/tests_cypress/unit/node_modules/lodash/_baseTimes.js +tests/tests_cypress/unit/node_modules/lodash/_baseToNumber.js +tests/tests_cypress/unit/node_modules/lodash/_baseToPairs.js +tests/tests_cypress/unit/node_modules/lodash/_baseToString.js +tests/tests_cypress/unit/node_modules/lodash/_baseTrim.js +tests/tests_cypress/unit/node_modules/lodash/_baseUnary.js +tests/tests_cypress/unit/node_modules/lodash/_baseUniq.js +tests/tests_cypress/unit/node_modules/lodash/_baseUnset.js +tests/tests_cypress/unit/node_modules/lodash/_baseUpdate.js +tests/tests_cypress/unit/node_modules/lodash/_baseValues.js +tests/tests_cypress/unit/node_modules/lodash/_baseWhile.js +tests/tests_cypress/unit/node_modules/lodash/_baseWrapperValue.js +tests/tests_cypress/unit/node_modules/lodash/_baseXor.js +tests/tests_cypress/unit/node_modules/lodash/_baseZipObject.js +tests/tests_cypress/unit/node_modules/lodash/_cacheHas.js +tests/tests_cypress/unit/node_modules/lodash/_castArrayLikeObject.js +tests/tests_cypress/unit/node_modules/lodash/_castFunction.js +tests/tests_cypress/unit/node_modules/lodash/_castPath.js +tests/tests_cypress/unit/node_modules/lodash/_castRest.js +tests/tests_cypress/unit/node_modules/lodash/_castSlice.js +tests/tests_cypress/unit/node_modules/lodash/_charsEndIndex.js +tests/tests_cypress/unit/node_modules/lodash/_charsStartIndex.js +tests/tests_cypress/unit/node_modules/lodash/_cloneArrayBuffer.js +tests/tests_cypress/unit/node_modules/lodash/_cloneBuffer.js +tests/tests_cypress/unit/node_modules/lodash/_cloneDataView.js +tests/tests_cypress/unit/node_modules/lodash/_cloneRegExp.js +tests/tests_cypress/unit/node_modules/lodash/_cloneSymbol.js +tests/tests_cypress/unit/node_modules/lodash/_cloneTypedArray.js +tests/tests_cypress/unit/node_modules/lodash/_compareAscending.js +tests/tests_cypress/unit/node_modules/lodash/_compareMultiple.js +tests/tests_cypress/unit/node_modules/lodash/_composeArgs.js +tests/tests_cypress/unit/node_modules/lodash/_composeArgsRight.js +tests/tests_cypress/unit/node_modules/lodash/_copyArray.js +tests/tests_cypress/unit/node_modules/lodash/_copyObject.js +tests/tests_cypress/unit/node_modules/lodash/_copySymbols.js +tests/tests_cypress/unit/node_modules/lodash/_copySymbolsIn.js +tests/tests_cypress/unit/node_modules/lodash/_coreJsData.js +tests/tests_cypress/unit/node_modules/lodash/_countHolders.js +tests/tests_cypress/unit/node_modules/lodash/_createAggregator.js +tests/tests_cypress/unit/node_modules/lodash/_createAssigner.js +tests/tests_cypress/unit/node_modules/lodash/_createBaseEach.js +tests/tests_cypress/unit/node_modules/lodash/_createBaseFor.js +tests/tests_cypress/unit/node_modules/lodash/_createBind.js +tests/tests_cypress/unit/node_modules/lodash/_createCaseFirst.js +tests/tests_cypress/unit/node_modules/lodash/_createCompounder.js +tests/tests_cypress/unit/node_modules/lodash/_createCtor.js +tests/tests_cypress/unit/node_modules/lodash/_createCurry.js +tests/tests_cypress/unit/node_modules/lodash/_createFind.js +tests/tests_cypress/unit/node_modules/lodash/_createFlow.js +tests/tests_cypress/unit/node_modules/lodash/_createHybrid.js +tests/tests_cypress/unit/node_modules/lodash/_createInverter.js +tests/tests_cypress/unit/node_modules/lodash/_createMathOperation.js +tests/tests_cypress/unit/node_modules/lodash/_createOver.js +tests/tests_cypress/unit/node_modules/lodash/_createPadding.js +tests/tests_cypress/unit/node_modules/lodash/_createPartial.js +tests/tests_cypress/unit/node_modules/lodash/_createRange.js +tests/tests_cypress/unit/node_modules/lodash/_createRecurry.js +tests/tests_cypress/unit/node_modules/lodash/_createRelationalOperation.js +tests/tests_cypress/unit/node_modules/lodash/_createRound.js +tests/tests_cypress/unit/node_modules/lodash/_createSet.js +tests/tests_cypress/unit/node_modules/lodash/_createToPairs.js +tests/tests_cypress/unit/node_modules/lodash/_createWrap.js +tests/tests_cypress/unit/node_modules/lodash/_customDefaultsAssignIn.js +tests/tests_cypress/unit/node_modules/lodash/_customDefaultsMerge.js +tests/tests_cypress/unit/node_modules/lodash/_customOmitClone.js +tests/tests_cypress/unit/node_modules/lodash/_DataView.js +tests/tests_cypress/unit/node_modules/lodash/_deburrLetter.js +tests/tests_cypress/unit/node_modules/lodash/_defineProperty.js +tests/tests_cypress/unit/node_modules/lodash/_equalArrays.js +tests/tests_cypress/unit/node_modules/lodash/_equalByTag.js +tests/tests_cypress/unit/node_modules/lodash/_equalObjects.js +tests/tests_cypress/unit/node_modules/lodash/_escapeHtmlChar.js +tests/tests_cypress/unit/node_modules/lodash/_escapeStringChar.js +tests/tests_cypress/unit/node_modules/lodash/_flatRest.js +tests/tests_cypress/unit/node_modules/lodash/_freeGlobal.js +tests/tests_cypress/unit/node_modules/lodash/_getAllKeys.js +tests/tests_cypress/unit/node_modules/lodash/_getAllKeysIn.js +tests/tests_cypress/unit/node_modules/lodash/_getData.js +tests/tests_cypress/unit/node_modules/lodash/_getFuncName.js +tests/tests_cypress/unit/node_modules/lodash/_getHolder.js +tests/tests_cypress/unit/node_modules/lodash/_getMapData.js +tests/tests_cypress/unit/node_modules/lodash/_getMatchData.js +tests/tests_cypress/unit/node_modules/lodash/_getNative.js +tests/tests_cypress/unit/node_modules/lodash/_getPrototype.js +tests/tests_cypress/unit/node_modules/lodash/_getRawTag.js +tests/tests_cypress/unit/node_modules/lodash/_getSymbols.js +tests/tests_cypress/unit/node_modules/lodash/_getSymbolsIn.js +tests/tests_cypress/unit/node_modules/lodash/_getTag.js +tests/tests_cypress/unit/node_modules/lodash/_getValue.js +tests/tests_cypress/unit/node_modules/lodash/_getView.js +tests/tests_cypress/unit/node_modules/lodash/_getWrapDetails.js +tests/tests_cypress/unit/node_modules/lodash/_Hash.js +tests/tests_cypress/unit/node_modules/lodash/_hashClear.js +tests/tests_cypress/unit/node_modules/lodash/_hashDelete.js +tests/tests_cypress/unit/node_modules/lodash/_hashGet.js +tests/tests_cypress/unit/node_modules/lodash/_hashHas.js +tests/tests_cypress/unit/node_modules/lodash/_hashSet.js +tests/tests_cypress/unit/node_modules/lodash/_hasPath.js +tests/tests_cypress/unit/node_modules/lodash/_hasUnicode.js +tests/tests_cypress/unit/node_modules/lodash/_hasUnicodeWord.js +tests/tests_cypress/unit/node_modules/lodash/_initCloneArray.js +tests/tests_cypress/unit/node_modules/lodash/_initCloneByTag.js +tests/tests_cypress/unit/node_modules/lodash/_initCloneObject.js +tests/tests_cypress/unit/node_modules/lodash/_insertWrapDetails.js +tests/tests_cypress/unit/node_modules/lodash/_isFlattenable.js +tests/tests_cypress/unit/node_modules/lodash/_isIndex.js +tests/tests_cypress/unit/node_modules/lodash/_isIterateeCall.js +tests/tests_cypress/unit/node_modules/lodash/_isKey.js +tests/tests_cypress/unit/node_modules/lodash/_isKeyable.js +tests/tests_cypress/unit/node_modules/lodash/_isLaziable.js +tests/tests_cypress/unit/node_modules/lodash/_isMaskable.js +tests/tests_cypress/unit/node_modules/lodash/_isMasked.js +tests/tests_cypress/unit/node_modules/lodash/_isPrototype.js +tests/tests_cypress/unit/node_modules/lodash/_isStrictComparable.js +tests/tests_cypress/unit/node_modules/lodash/_iteratorToArray.js +tests/tests_cypress/unit/node_modules/lodash/_lazyClone.js +tests/tests_cypress/unit/node_modules/lodash/_lazyReverse.js +tests/tests_cypress/unit/node_modules/lodash/_lazyValue.js +tests/tests_cypress/unit/node_modules/lodash/_LazyWrapper.js +tests/tests_cypress/unit/node_modules/lodash/_ListCache.js +tests/tests_cypress/unit/node_modules/lodash/_listCacheClear.js +tests/tests_cypress/unit/node_modules/lodash/_listCacheDelete.js +tests/tests_cypress/unit/node_modules/lodash/_listCacheGet.js +tests/tests_cypress/unit/node_modules/lodash/_listCacheHas.js +tests/tests_cypress/unit/node_modules/lodash/_listCacheSet.js +tests/tests_cypress/unit/node_modules/lodash/_LodashWrapper.js +tests/tests_cypress/unit/node_modules/lodash/_Map.js +tests/tests_cypress/unit/node_modules/lodash/_MapCache.js +tests/tests_cypress/unit/node_modules/lodash/_mapCacheClear.js +tests/tests_cypress/unit/node_modules/lodash/_mapCacheDelete.js +tests/tests_cypress/unit/node_modules/lodash/_mapCacheGet.js +tests/tests_cypress/unit/node_modules/lodash/_mapCacheHas.js +tests/tests_cypress/unit/node_modules/lodash/_mapCacheSet.js +tests/tests_cypress/unit/node_modules/lodash/_mapToArray.js +tests/tests_cypress/unit/node_modules/lodash/_matchesStrictComparable.js +tests/tests_cypress/unit/node_modules/lodash/_memoizeCapped.js +tests/tests_cypress/unit/node_modules/lodash/_mergeData.js +tests/tests_cypress/unit/node_modules/lodash/_metaMap.js +tests/tests_cypress/unit/node_modules/lodash/_nativeCreate.js +tests/tests_cypress/unit/node_modules/lodash/_nativeKeys.js +tests/tests_cypress/unit/node_modules/lodash/_nativeKeysIn.js +tests/tests_cypress/unit/node_modules/lodash/_nodeUtil.js +tests/tests_cypress/unit/node_modules/lodash/_objectToString.js +tests/tests_cypress/unit/node_modules/lodash/_overArg.js +tests/tests_cypress/unit/node_modules/lodash/_overRest.js +tests/tests_cypress/unit/node_modules/lodash/_parent.js +tests/tests_cypress/unit/node_modules/lodash/_Promise.js +tests/tests_cypress/unit/node_modules/lodash/_realNames.js +tests/tests_cypress/unit/node_modules/lodash/_reEscape.js +tests/tests_cypress/unit/node_modules/lodash/_reEvaluate.js +tests/tests_cypress/unit/node_modules/lodash/_reInterpolate.js +tests/tests_cypress/unit/node_modules/lodash/_reorder.js +tests/tests_cypress/unit/node_modules/lodash/_replaceHolders.js +tests/tests_cypress/unit/node_modules/lodash/_root.js +tests/tests_cypress/unit/node_modules/lodash/_safeGet.js +tests/tests_cypress/unit/node_modules/lodash/_Set.js +tests/tests_cypress/unit/node_modules/lodash/_SetCache.js +tests/tests_cypress/unit/node_modules/lodash/_setCacheAdd.js +tests/tests_cypress/unit/node_modules/lodash/_setCacheHas.js +tests/tests_cypress/unit/node_modules/lodash/_setData.js +tests/tests_cypress/unit/node_modules/lodash/_setToArray.js +tests/tests_cypress/unit/node_modules/lodash/_setToPairs.js +tests/tests_cypress/unit/node_modules/lodash/_setToString.js +tests/tests_cypress/unit/node_modules/lodash/_setWrapToString.js +tests/tests_cypress/unit/node_modules/lodash/_shortOut.js +tests/tests_cypress/unit/node_modules/lodash/_shuffleSelf.js +tests/tests_cypress/unit/node_modules/lodash/_Stack.js +tests/tests_cypress/unit/node_modules/lodash/_stackClear.js +tests/tests_cypress/unit/node_modules/lodash/_stackDelete.js +tests/tests_cypress/unit/node_modules/lodash/_stackGet.js +tests/tests_cypress/unit/node_modules/lodash/_stackHas.js +tests/tests_cypress/unit/node_modules/lodash/_stackSet.js +tests/tests_cypress/unit/node_modules/lodash/_strictIndexOf.js +tests/tests_cypress/unit/node_modules/lodash/_strictLastIndexOf.js +tests/tests_cypress/unit/node_modules/lodash/_stringSize.js +tests/tests_cypress/unit/node_modules/lodash/_stringToArray.js +tests/tests_cypress/unit/node_modules/lodash/_stringToPath.js +tests/tests_cypress/unit/node_modules/lodash/_Symbol.js +tests/tests_cypress/unit/node_modules/lodash/_toKey.js +tests/tests_cypress/unit/node_modules/lodash/_toSource.js +tests/tests_cypress/unit/node_modules/lodash/_trimmedEndIndex.js +tests/tests_cypress/unit/node_modules/lodash/_Uint8Array.js +tests/tests_cypress/unit/node_modules/lodash/_unescapeHtmlChar.js +tests/tests_cypress/unit/node_modules/lodash/_unicodeSize.js +tests/tests_cypress/unit/node_modules/lodash/_unicodeToArray.js +tests/tests_cypress/unit/node_modules/lodash/_unicodeWords.js +tests/tests_cypress/unit/node_modules/lodash/_updateWrapDetails.js +tests/tests_cypress/unit/node_modules/lodash/_WeakMap.js +tests/tests_cypress/unit/node_modules/lodash/_wrapperClone.js +tests/tests_cypress/unit/node_modules/lodash/add.js +tests/tests_cypress/unit/node_modules/lodash/after.js +tests/tests_cypress/unit/node_modules/lodash/array.js +tests/tests_cypress/unit/node_modules/lodash/ary.js +tests/tests_cypress/unit/node_modules/lodash/assign.js +tests/tests_cypress/unit/node_modules/lodash/assignIn.js +tests/tests_cypress/unit/node_modules/lodash/assignInWith.js +tests/tests_cypress/unit/node_modules/lodash/assignWith.js +tests/tests_cypress/unit/node_modules/lodash/at.js +tests/tests_cypress/unit/node_modules/lodash/attempt.js +tests/tests_cypress/unit/node_modules/lodash/before.js +tests/tests_cypress/unit/node_modules/lodash/bind.js +tests/tests_cypress/unit/node_modules/lodash/bindAll.js +tests/tests_cypress/unit/node_modules/lodash/bindKey.js +tests/tests_cypress/unit/node_modules/lodash/camelCase.js +tests/tests_cypress/unit/node_modules/lodash/capitalize.js +tests/tests_cypress/unit/node_modules/lodash/castArray.js +tests/tests_cypress/unit/node_modules/lodash/ceil.js +tests/tests_cypress/unit/node_modules/lodash/chain.js +tests/tests_cypress/unit/node_modules/lodash/chunk.js +tests/tests_cypress/unit/node_modules/lodash/clamp.js +tests/tests_cypress/unit/node_modules/lodash/clone.js +tests/tests_cypress/unit/node_modules/lodash/cloneDeep.js +tests/tests_cypress/unit/node_modules/lodash/cloneDeepWith.js +tests/tests_cypress/unit/node_modules/lodash/cloneWith.js +tests/tests_cypress/unit/node_modules/lodash/collection.js +tests/tests_cypress/unit/node_modules/lodash/commit.js +tests/tests_cypress/unit/node_modules/lodash/compact.js +tests/tests_cypress/unit/node_modules/lodash/concat.js +tests/tests_cypress/unit/node_modules/lodash/cond.js +tests/tests_cypress/unit/node_modules/lodash/conforms.js +tests/tests_cypress/unit/node_modules/lodash/conformsTo.js +tests/tests_cypress/unit/node_modules/lodash/constant.js +tests/tests_cypress/unit/node_modules/lodash/core.js +tests/tests_cypress/unit/node_modules/lodash/core.min.js +tests/tests_cypress/unit/node_modules/lodash/countBy.js +tests/tests_cypress/unit/node_modules/lodash/create.js +tests/tests_cypress/unit/node_modules/lodash/curry.js +tests/tests_cypress/unit/node_modules/lodash/curryRight.js +tests/tests_cypress/unit/node_modules/lodash/date.js +tests/tests_cypress/unit/node_modules/lodash/debounce.js +tests/tests_cypress/unit/node_modules/lodash/deburr.js +tests/tests_cypress/unit/node_modules/lodash/defaults.js +tests/tests_cypress/unit/node_modules/lodash/defaultsDeep.js +tests/tests_cypress/unit/node_modules/lodash/defaultTo.js +tests/tests_cypress/unit/node_modules/lodash/defer.js +tests/tests_cypress/unit/node_modules/lodash/delay.js +tests/tests_cypress/unit/node_modules/lodash/difference.js +tests/tests_cypress/unit/node_modules/lodash/differenceBy.js +tests/tests_cypress/unit/node_modules/lodash/differenceWith.js +tests/tests_cypress/unit/node_modules/lodash/divide.js +tests/tests_cypress/unit/node_modules/lodash/drop.js +tests/tests_cypress/unit/node_modules/lodash/dropRight.js +tests/tests_cypress/unit/node_modules/lodash/dropRightWhile.js +tests/tests_cypress/unit/node_modules/lodash/dropWhile.js +tests/tests_cypress/unit/node_modules/lodash/each.js +tests/tests_cypress/unit/node_modules/lodash/eachRight.js +tests/tests_cypress/unit/node_modules/lodash/endsWith.js +tests/tests_cypress/unit/node_modules/lodash/entries.js +tests/tests_cypress/unit/node_modules/lodash/entriesIn.js +tests/tests_cypress/unit/node_modules/lodash/eq.js +tests/tests_cypress/unit/node_modules/lodash/escape.js +tests/tests_cypress/unit/node_modules/lodash/escapeRegExp.js +tests/tests_cypress/unit/node_modules/lodash/every.js +tests/tests_cypress/unit/node_modules/lodash/extend.js +tests/tests_cypress/unit/node_modules/lodash/extendWith.js +tests/tests_cypress/unit/node_modules/lodash/fill.js +tests/tests_cypress/unit/node_modules/lodash/filter.js +tests/tests_cypress/unit/node_modules/lodash/find.js +tests/tests_cypress/unit/node_modules/lodash/findIndex.js +tests/tests_cypress/unit/node_modules/lodash/findKey.js +tests/tests_cypress/unit/node_modules/lodash/findLast.js +tests/tests_cypress/unit/node_modules/lodash/findLastIndex.js +tests/tests_cypress/unit/node_modules/lodash/findLastKey.js +tests/tests_cypress/unit/node_modules/lodash/first.js +tests/tests_cypress/unit/node_modules/lodash/flake.lock +tests/tests_cypress/unit/node_modules/lodash/flake.nix +tests/tests_cypress/unit/node_modules/lodash/flatMap.js +tests/tests_cypress/unit/node_modules/lodash/flatMapDeep.js +tests/tests_cypress/unit/node_modules/lodash/flatMapDepth.js +tests/tests_cypress/unit/node_modules/lodash/flatten.js +tests/tests_cypress/unit/node_modules/lodash/flattenDeep.js +tests/tests_cypress/unit/node_modules/lodash/flattenDepth.js +tests/tests_cypress/unit/node_modules/lodash/flip.js +tests/tests_cypress/unit/node_modules/lodash/floor.js +tests/tests_cypress/unit/node_modules/lodash/flow.js +tests/tests_cypress/unit/node_modules/lodash/flowRight.js +tests/tests_cypress/unit/node_modules/lodash/forEach.js +tests/tests_cypress/unit/node_modules/lodash/forEachRight.js +tests/tests_cypress/unit/node_modules/lodash/forIn.js +tests/tests_cypress/unit/node_modules/lodash/forInRight.js +tests/tests_cypress/unit/node_modules/lodash/forOwn.js +tests/tests_cypress/unit/node_modules/lodash/forOwnRight.js +tests/tests_cypress/unit/node_modules/lodash/fp.js +tests/tests_cypress/unit/node_modules/lodash/fromPairs.js +tests/tests_cypress/unit/node_modules/lodash/function.js +tests/tests_cypress/unit/node_modules/lodash/functions.js +tests/tests_cypress/unit/node_modules/lodash/functionsIn.js +tests/tests_cypress/unit/node_modules/lodash/get.js +tests/tests_cypress/unit/node_modules/lodash/groupBy.js +tests/tests_cypress/unit/node_modules/lodash/gt.js +tests/tests_cypress/unit/node_modules/lodash/gte.js +tests/tests_cypress/unit/node_modules/lodash/has.js +tests/tests_cypress/unit/node_modules/lodash/hasIn.js +tests/tests_cypress/unit/node_modules/lodash/head.js +tests/tests_cypress/unit/node_modules/lodash/identity.js +tests/tests_cypress/unit/node_modules/lodash/includes.js +tests/tests_cypress/unit/node_modules/lodash/index.js +tests/tests_cypress/unit/node_modules/lodash/indexOf.js +tests/tests_cypress/unit/node_modules/lodash/initial.js +tests/tests_cypress/unit/node_modules/lodash/inRange.js +tests/tests_cypress/unit/node_modules/lodash/intersection.js +tests/tests_cypress/unit/node_modules/lodash/intersectionBy.js +tests/tests_cypress/unit/node_modules/lodash/intersectionWith.js +tests/tests_cypress/unit/node_modules/lodash/invert.js +tests/tests_cypress/unit/node_modules/lodash/invertBy.js +tests/tests_cypress/unit/node_modules/lodash/invoke.js +tests/tests_cypress/unit/node_modules/lodash/invokeMap.js +tests/tests_cypress/unit/node_modules/lodash/isArguments.js +tests/tests_cypress/unit/node_modules/lodash/isArray.js +tests/tests_cypress/unit/node_modules/lodash/isArrayBuffer.js +tests/tests_cypress/unit/node_modules/lodash/isArrayLike.js +tests/tests_cypress/unit/node_modules/lodash/isArrayLikeObject.js +tests/tests_cypress/unit/node_modules/lodash/isBoolean.js +tests/tests_cypress/unit/node_modules/lodash/isBuffer.js +tests/tests_cypress/unit/node_modules/lodash/isDate.js +tests/tests_cypress/unit/node_modules/lodash/isElement.js +tests/tests_cypress/unit/node_modules/lodash/isEmpty.js +tests/tests_cypress/unit/node_modules/lodash/isEqual.js +tests/tests_cypress/unit/node_modules/lodash/isEqualWith.js +tests/tests_cypress/unit/node_modules/lodash/isError.js +tests/tests_cypress/unit/node_modules/lodash/isFinite.js +tests/tests_cypress/unit/node_modules/lodash/isFunction.js +tests/tests_cypress/unit/node_modules/lodash/isInteger.js +tests/tests_cypress/unit/node_modules/lodash/isLength.js +tests/tests_cypress/unit/node_modules/lodash/isMap.js +tests/tests_cypress/unit/node_modules/lodash/isMatch.js +tests/tests_cypress/unit/node_modules/lodash/isMatchWith.js +tests/tests_cypress/unit/node_modules/lodash/isNaN.js +tests/tests_cypress/unit/node_modules/lodash/isNative.js +tests/tests_cypress/unit/node_modules/lodash/isNil.js +tests/tests_cypress/unit/node_modules/lodash/isNull.js +tests/tests_cypress/unit/node_modules/lodash/isNumber.js +tests/tests_cypress/unit/node_modules/lodash/isObject.js +tests/tests_cypress/unit/node_modules/lodash/isObjectLike.js +tests/tests_cypress/unit/node_modules/lodash/isPlainObject.js +tests/tests_cypress/unit/node_modules/lodash/isRegExp.js +tests/tests_cypress/unit/node_modules/lodash/isSafeInteger.js +tests/tests_cypress/unit/node_modules/lodash/isSet.js +tests/tests_cypress/unit/node_modules/lodash/isString.js +tests/tests_cypress/unit/node_modules/lodash/isSymbol.js +tests/tests_cypress/unit/node_modules/lodash/isTypedArray.js +tests/tests_cypress/unit/node_modules/lodash/isUndefined.js +tests/tests_cypress/unit/node_modules/lodash/isWeakMap.js +tests/tests_cypress/unit/node_modules/lodash/isWeakSet.js +tests/tests_cypress/unit/node_modules/lodash/iteratee.js +tests/tests_cypress/unit/node_modules/lodash/join.js +tests/tests_cypress/unit/node_modules/lodash/kebabCase.js +tests/tests_cypress/unit/node_modules/lodash/keyBy.js +tests/tests_cypress/unit/node_modules/lodash/keys.js +tests/tests_cypress/unit/node_modules/lodash/keysIn.js +tests/tests_cypress/unit/node_modules/lodash/lang.js +tests/tests_cypress/unit/node_modules/lodash/last.js +tests/tests_cypress/unit/node_modules/lodash/lastIndexOf.js +tests/tests_cypress/unit/node_modules/lodash/LICENSE +tests/tests_cypress/unit/node_modules/lodash/lodash.js +tests/tests_cypress/unit/node_modules/lodash/lodash.min.js +tests/tests_cypress/unit/node_modules/lodash/lowerCase.js +tests/tests_cypress/unit/node_modules/lodash/lowerFirst.js +tests/tests_cypress/unit/node_modules/lodash/lt.js +tests/tests_cypress/unit/node_modules/lodash/lte.js +tests/tests_cypress/unit/node_modules/lodash/map.js +tests/tests_cypress/unit/node_modules/lodash/mapKeys.js +tests/tests_cypress/unit/node_modules/lodash/mapValues.js +tests/tests_cypress/unit/node_modules/lodash/matches.js +tests/tests_cypress/unit/node_modules/lodash/matchesProperty.js +tests/tests_cypress/unit/node_modules/lodash/math.js +tests/tests_cypress/unit/node_modules/lodash/max.js +tests/tests_cypress/unit/node_modules/lodash/maxBy.js +tests/tests_cypress/unit/node_modules/lodash/mean.js +tests/tests_cypress/unit/node_modules/lodash/meanBy.js +tests/tests_cypress/unit/node_modules/lodash/memoize.js +tests/tests_cypress/unit/node_modules/lodash/merge.js +tests/tests_cypress/unit/node_modules/lodash/mergeWith.js +tests/tests_cypress/unit/node_modules/lodash/method.js +tests/tests_cypress/unit/node_modules/lodash/methodOf.js +tests/tests_cypress/unit/node_modules/lodash/min.js +tests/tests_cypress/unit/node_modules/lodash/minBy.js +tests/tests_cypress/unit/node_modules/lodash/mixin.js +tests/tests_cypress/unit/node_modules/lodash/multiply.js +tests/tests_cypress/unit/node_modules/lodash/negate.js +tests/tests_cypress/unit/node_modules/lodash/next.js +tests/tests_cypress/unit/node_modules/lodash/noop.js +tests/tests_cypress/unit/node_modules/lodash/now.js +tests/tests_cypress/unit/node_modules/lodash/nth.js +tests/tests_cypress/unit/node_modules/lodash/nthArg.js +tests/tests_cypress/unit/node_modules/lodash/number.js +tests/tests_cypress/unit/node_modules/lodash/object.js +tests/tests_cypress/unit/node_modules/lodash/omit.js +tests/tests_cypress/unit/node_modules/lodash/omitBy.js +tests/tests_cypress/unit/node_modules/lodash/once.js +tests/tests_cypress/unit/node_modules/lodash/orderBy.js +tests/tests_cypress/unit/node_modules/lodash/over.js +tests/tests_cypress/unit/node_modules/lodash/overArgs.js +tests/tests_cypress/unit/node_modules/lodash/overEvery.js +tests/tests_cypress/unit/node_modules/lodash/overSome.js +tests/tests_cypress/unit/node_modules/lodash/package.json +tests/tests_cypress/unit/node_modules/lodash/pad.js +tests/tests_cypress/unit/node_modules/lodash/padEnd.js +tests/tests_cypress/unit/node_modules/lodash/padStart.js +tests/tests_cypress/unit/node_modules/lodash/parseInt.js +tests/tests_cypress/unit/node_modules/lodash/partial.js +tests/tests_cypress/unit/node_modules/lodash/partialRight.js +tests/tests_cypress/unit/node_modules/lodash/partition.js +tests/tests_cypress/unit/node_modules/lodash/pick.js +tests/tests_cypress/unit/node_modules/lodash/pickBy.js +tests/tests_cypress/unit/node_modules/lodash/plant.js +tests/tests_cypress/unit/node_modules/lodash/property.js +tests/tests_cypress/unit/node_modules/lodash/propertyOf.js +tests/tests_cypress/unit/node_modules/lodash/pull.js +tests/tests_cypress/unit/node_modules/lodash/pullAll.js +tests/tests_cypress/unit/node_modules/lodash/pullAllBy.js +tests/tests_cypress/unit/node_modules/lodash/pullAllWith.js +tests/tests_cypress/unit/node_modules/lodash/pullAt.js +tests/tests_cypress/unit/node_modules/lodash/random.js +tests/tests_cypress/unit/node_modules/lodash/range.js +tests/tests_cypress/unit/node_modules/lodash/rangeRight.js +tests/tests_cypress/unit/node_modules/lodash/README.md +tests/tests_cypress/unit/node_modules/lodash/rearg.js +tests/tests_cypress/unit/node_modules/lodash/reduce.js +tests/tests_cypress/unit/node_modules/lodash/reduceRight.js +tests/tests_cypress/unit/node_modules/lodash/reject.js +tests/tests_cypress/unit/node_modules/lodash/release.md +tests/tests_cypress/unit/node_modules/lodash/remove.js +tests/tests_cypress/unit/node_modules/lodash/repeat.js +tests/tests_cypress/unit/node_modules/lodash/replace.js +tests/tests_cypress/unit/node_modules/lodash/rest.js +tests/tests_cypress/unit/node_modules/lodash/result.js +tests/tests_cypress/unit/node_modules/lodash/reverse.js +tests/tests_cypress/unit/node_modules/lodash/round.js +tests/tests_cypress/unit/node_modules/lodash/sample.js +tests/tests_cypress/unit/node_modules/lodash/sampleSize.js +tests/tests_cypress/unit/node_modules/lodash/seq.js +tests/tests_cypress/unit/node_modules/lodash/set.js +tests/tests_cypress/unit/node_modules/lodash/setWith.js +tests/tests_cypress/unit/node_modules/lodash/shuffle.js +tests/tests_cypress/unit/node_modules/lodash/size.js +tests/tests_cypress/unit/node_modules/lodash/slice.js +tests/tests_cypress/unit/node_modules/lodash/snakeCase.js +tests/tests_cypress/unit/node_modules/lodash/some.js +tests/tests_cypress/unit/node_modules/lodash/sortBy.js +tests/tests_cypress/unit/node_modules/lodash/sortedIndex.js +tests/tests_cypress/unit/node_modules/lodash/sortedIndexBy.js +tests/tests_cypress/unit/node_modules/lodash/sortedIndexOf.js +tests/tests_cypress/unit/node_modules/lodash/sortedLastIndex.js +tests/tests_cypress/unit/node_modules/lodash/sortedLastIndexBy.js +tests/tests_cypress/unit/node_modules/lodash/sortedLastIndexOf.js +tests/tests_cypress/unit/node_modules/lodash/sortedUniq.js +tests/tests_cypress/unit/node_modules/lodash/sortedUniqBy.js +tests/tests_cypress/unit/node_modules/lodash/split.js +tests/tests_cypress/unit/node_modules/lodash/spread.js +tests/tests_cypress/unit/node_modules/lodash/startCase.js +tests/tests_cypress/unit/node_modules/lodash/startsWith.js +tests/tests_cypress/unit/node_modules/lodash/string.js +tests/tests_cypress/unit/node_modules/lodash/stubArray.js +tests/tests_cypress/unit/node_modules/lodash/stubFalse.js +tests/tests_cypress/unit/node_modules/lodash/stubObject.js +tests/tests_cypress/unit/node_modules/lodash/stubString.js +tests/tests_cypress/unit/node_modules/lodash/stubTrue.js +tests/tests_cypress/unit/node_modules/lodash/subtract.js +tests/tests_cypress/unit/node_modules/lodash/sum.js +tests/tests_cypress/unit/node_modules/lodash/sumBy.js +tests/tests_cypress/unit/node_modules/lodash/tail.js +tests/tests_cypress/unit/node_modules/lodash/take.js +tests/tests_cypress/unit/node_modules/lodash/takeRight.js +tests/tests_cypress/unit/node_modules/lodash/takeRightWhile.js +tests/tests_cypress/unit/node_modules/lodash/takeWhile.js +tests/tests_cypress/unit/node_modules/lodash/tap.js +tests/tests_cypress/unit/node_modules/lodash/template.js +tests/tests_cypress/unit/node_modules/lodash/templateSettings.js +tests/tests_cypress/unit/node_modules/lodash/throttle.js +tests/tests_cypress/unit/node_modules/lodash/thru.js +tests/tests_cypress/unit/node_modules/lodash/times.js +tests/tests_cypress/unit/node_modules/lodash/toArray.js +tests/tests_cypress/unit/node_modules/lodash/toFinite.js +tests/tests_cypress/unit/node_modules/lodash/toInteger.js +tests/tests_cypress/unit/node_modules/lodash/toIterator.js +tests/tests_cypress/unit/node_modules/lodash/toJSON.js +tests/tests_cypress/unit/node_modules/lodash/toLength.js +tests/tests_cypress/unit/node_modules/lodash/toLower.js +tests/tests_cypress/unit/node_modules/lodash/toNumber.js +tests/tests_cypress/unit/node_modules/lodash/toPairs.js +tests/tests_cypress/unit/node_modules/lodash/toPairsIn.js +tests/tests_cypress/unit/node_modules/lodash/toPath.js +tests/tests_cypress/unit/node_modules/lodash/toPlainObject.js +tests/tests_cypress/unit/node_modules/lodash/toSafeInteger.js +tests/tests_cypress/unit/node_modules/lodash/toString.js +tests/tests_cypress/unit/node_modules/lodash/toUpper.js +tests/tests_cypress/unit/node_modules/lodash/transform.js +tests/tests_cypress/unit/node_modules/lodash/trim.js +tests/tests_cypress/unit/node_modules/lodash/trimEnd.js +tests/tests_cypress/unit/node_modules/lodash/trimStart.js +tests/tests_cypress/unit/node_modules/lodash/truncate.js +tests/tests_cypress/unit/node_modules/lodash/unary.js +tests/tests_cypress/unit/node_modules/lodash/unescape.js +tests/tests_cypress/unit/node_modules/lodash/union.js +tests/tests_cypress/unit/node_modules/lodash/unionBy.js +tests/tests_cypress/unit/node_modules/lodash/unionWith.js +tests/tests_cypress/unit/node_modules/lodash/uniq.js +tests/tests_cypress/unit/node_modules/lodash/uniqBy.js +tests/tests_cypress/unit/node_modules/lodash/uniqueId.js +tests/tests_cypress/unit/node_modules/lodash/uniqWith.js +tests/tests_cypress/unit/node_modules/lodash/unset.js +tests/tests_cypress/unit/node_modules/lodash/unzip.js +tests/tests_cypress/unit/node_modules/lodash/unzipWith.js +tests/tests_cypress/unit/node_modules/lodash/update.js +tests/tests_cypress/unit/node_modules/lodash/updateWith.js +tests/tests_cypress/unit/node_modules/lodash/upperCase.js +tests/tests_cypress/unit/node_modules/lodash/upperFirst.js +tests/tests_cypress/unit/node_modules/lodash/util.js +tests/tests_cypress/unit/node_modules/lodash/value.js +tests/tests_cypress/unit/node_modules/lodash/valueOf.js +tests/tests_cypress/unit/node_modules/lodash/values.js +tests/tests_cypress/unit/node_modules/lodash/valuesIn.js +tests/tests_cypress/unit/node_modules/lodash/without.js +tests/tests_cypress/unit/node_modules/lodash/words.js +tests/tests_cypress/unit/node_modules/lodash/wrap.js +tests/tests_cypress/unit/node_modules/lodash/wrapperAt.js +tests/tests_cypress/unit/node_modules/lodash/wrapperChain.js +tests/tests_cypress/unit/node_modules/lodash/wrapperLodash.js +tests/tests_cypress/unit/node_modules/lodash/wrapperReverse.js +tests/tests_cypress/unit/node_modules/lodash/wrapperValue.js +tests/tests_cypress/unit/node_modules/lodash/xor.js +tests/tests_cypress/unit/node_modules/lodash/xorBy.js +tests/tests_cypress/unit/node_modules/lodash/xorWith.js +tests/tests_cypress/unit/node_modules/lodash/zip.js +tests/tests_cypress/unit/node_modules/lodash/zipObject.js +tests/tests_cypress/unit/node_modules/lodash/zipObjectDeep.js +tests/tests_cypress/unit/node_modules/lodash/zipWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/__.js +tests/tests_cypress/unit/node_modules/lodash/fp/_baseConvert.js +tests/tests_cypress/unit/node_modules/lodash/fp/_convertBrowser.js +tests/tests_cypress/unit/node_modules/lodash/fp/_falseOptions.js +tests/tests_cypress/unit/node_modules/lodash/fp/_mapping.js +tests/tests_cypress/unit/node_modules/lodash/fp/_util.js +tests/tests_cypress/unit/node_modules/lodash/fp/add.js +tests/tests_cypress/unit/node_modules/lodash/fp/after.js +tests/tests_cypress/unit/node_modules/lodash/fp/all.js +tests/tests_cypress/unit/node_modules/lodash/fp/allPass.js +tests/tests_cypress/unit/node_modules/lodash/fp/always.js +tests/tests_cypress/unit/node_modules/lodash/fp/any.js +tests/tests_cypress/unit/node_modules/lodash/fp/anyPass.js +tests/tests_cypress/unit/node_modules/lodash/fp/apply.js +tests/tests_cypress/unit/node_modules/lodash/fp/array.js +tests/tests_cypress/unit/node_modules/lodash/fp/ary.js +tests/tests_cypress/unit/node_modules/lodash/fp/assign.js +tests/tests_cypress/unit/node_modules/lodash/fp/assignAll.js +tests/tests_cypress/unit/node_modules/lodash/fp/assignAllWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/assignIn.js +tests/tests_cypress/unit/node_modules/lodash/fp/assignInAll.js +tests/tests_cypress/unit/node_modules/lodash/fp/assignInAllWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/assignInWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/assignWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/assoc.js +tests/tests_cypress/unit/node_modules/lodash/fp/assocPath.js +tests/tests_cypress/unit/node_modules/lodash/fp/at.js +tests/tests_cypress/unit/node_modules/lodash/fp/attempt.js +tests/tests_cypress/unit/node_modules/lodash/fp/before.js +tests/tests_cypress/unit/node_modules/lodash/fp/bind.js +tests/tests_cypress/unit/node_modules/lodash/fp/bindAll.js +tests/tests_cypress/unit/node_modules/lodash/fp/bindKey.js +tests/tests_cypress/unit/node_modules/lodash/fp/camelCase.js +tests/tests_cypress/unit/node_modules/lodash/fp/capitalize.js +tests/tests_cypress/unit/node_modules/lodash/fp/castArray.js +tests/tests_cypress/unit/node_modules/lodash/fp/ceil.js +tests/tests_cypress/unit/node_modules/lodash/fp/chain.js +tests/tests_cypress/unit/node_modules/lodash/fp/chunk.js +tests/tests_cypress/unit/node_modules/lodash/fp/clamp.js +tests/tests_cypress/unit/node_modules/lodash/fp/clone.js +tests/tests_cypress/unit/node_modules/lodash/fp/cloneDeep.js +tests/tests_cypress/unit/node_modules/lodash/fp/cloneDeepWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/cloneWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/collection.js +tests/tests_cypress/unit/node_modules/lodash/fp/commit.js +tests/tests_cypress/unit/node_modules/lodash/fp/compact.js +tests/tests_cypress/unit/node_modules/lodash/fp/complement.js +tests/tests_cypress/unit/node_modules/lodash/fp/compose.js +tests/tests_cypress/unit/node_modules/lodash/fp/concat.js +tests/tests_cypress/unit/node_modules/lodash/fp/cond.js +tests/tests_cypress/unit/node_modules/lodash/fp/conforms.js +tests/tests_cypress/unit/node_modules/lodash/fp/conformsTo.js +tests/tests_cypress/unit/node_modules/lodash/fp/constant.js +tests/tests_cypress/unit/node_modules/lodash/fp/contains.js +tests/tests_cypress/unit/node_modules/lodash/fp/convert.js +tests/tests_cypress/unit/node_modules/lodash/fp/countBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/create.js +tests/tests_cypress/unit/node_modules/lodash/fp/curry.js +tests/tests_cypress/unit/node_modules/lodash/fp/curryN.js +tests/tests_cypress/unit/node_modules/lodash/fp/curryRight.js +tests/tests_cypress/unit/node_modules/lodash/fp/curryRightN.js +tests/tests_cypress/unit/node_modules/lodash/fp/date.js +tests/tests_cypress/unit/node_modules/lodash/fp/debounce.js +tests/tests_cypress/unit/node_modules/lodash/fp/deburr.js +tests/tests_cypress/unit/node_modules/lodash/fp/defaults.js +tests/tests_cypress/unit/node_modules/lodash/fp/defaultsAll.js +tests/tests_cypress/unit/node_modules/lodash/fp/defaultsDeep.js +tests/tests_cypress/unit/node_modules/lodash/fp/defaultsDeepAll.js +tests/tests_cypress/unit/node_modules/lodash/fp/defaultTo.js +tests/tests_cypress/unit/node_modules/lodash/fp/defer.js +tests/tests_cypress/unit/node_modules/lodash/fp/delay.js +tests/tests_cypress/unit/node_modules/lodash/fp/difference.js +tests/tests_cypress/unit/node_modules/lodash/fp/differenceBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/differenceWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/dissoc.js +tests/tests_cypress/unit/node_modules/lodash/fp/dissocPath.js +tests/tests_cypress/unit/node_modules/lodash/fp/divide.js +tests/tests_cypress/unit/node_modules/lodash/fp/drop.js +tests/tests_cypress/unit/node_modules/lodash/fp/dropLast.js +tests/tests_cypress/unit/node_modules/lodash/fp/dropLastWhile.js +tests/tests_cypress/unit/node_modules/lodash/fp/dropRight.js +tests/tests_cypress/unit/node_modules/lodash/fp/dropRightWhile.js +tests/tests_cypress/unit/node_modules/lodash/fp/dropWhile.js +tests/tests_cypress/unit/node_modules/lodash/fp/each.js +tests/tests_cypress/unit/node_modules/lodash/fp/eachRight.js +tests/tests_cypress/unit/node_modules/lodash/fp/endsWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/entries.js +tests/tests_cypress/unit/node_modules/lodash/fp/entriesIn.js +tests/tests_cypress/unit/node_modules/lodash/fp/eq.js +tests/tests_cypress/unit/node_modules/lodash/fp/equals.js +tests/tests_cypress/unit/node_modules/lodash/fp/escape.js +tests/tests_cypress/unit/node_modules/lodash/fp/escapeRegExp.js +tests/tests_cypress/unit/node_modules/lodash/fp/every.js +tests/tests_cypress/unit/node_modules/lodash/fp/extend.js +tests/tests_cypress/unit/node_modules/lodash/fp/extendAll.js +tests/tests_cypress/unit/node_modules/lodash/fp/extendAllWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/extendWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/F.js +tests/tests_cypress/unit/node_modules/lodash/fp/fill.js +tests/tests_cypress/unit/node_modules/lodash/fp/filter.js +tests/tests_cypress/unit/node_modules/lodash/fp/find.js +tests/tests_cypress/unit/node_modules/lodash/fp/findFrom.js +tests/tests_cypress/unit/node_modules/lodash/fp/findIndex.js +tests/tests_cypress/unit/node_modules/lodash/fp/findIndexFrom.js +tests/tests_cypress/unit/node_modules/lodash/fp/findKey.js +tests/tests_cypress/unit/node_modules/lodash/fp/findLast.js +tests/tests_cypress/unit/node_modules/lodash/fp/findLastFrom.js +tests/tests_cypress/unit/node_modules/lodash/fp/findLastIndex.js +tests/tests_cypress/unit/node_modules/lodash/fp/findLastIndexFrom.js +tests/tests_cypress/unit/node_modules/lodash/fp/findLastKey.js +tests/tests_cypress/unit/node_modules/lodash/fp/first.js +tests/tests_cypress/unit/node_modules/lodash/fp/flatMap.js +tests/tests_cypress/unit/node_modules/lodash/fp/flatMapDeep.js +tests/tests_cypress/unit/node_modules/lodash/fp/flatMapDepth.js +tests/tests_cypress/unit/node_modules/lodash/fp/flatten.js +tests/tests_cypress/unit/node_modules/lodash/fp/flattenDeep.js +tests/tests_cypress/unit/node_modules/lodash/fp/flattenDepth.js +tests/tests_cypress/unit/node_modules/lodash/fp/flip.js +tests/tests_cypress/unit/node_modules/lodash/fp/floor.js +tests/tests_cypress/unit/node_modules/lodash/fp/flow.js +tests/tests_cypress/unit/node_modules/lodash/fp/flowRight.js +tests/tests_cypress/unit/node_modules/lodash/fp/forEach.js +tests/tests_cypress/unit/node_modules/lodash/fp/forEachRight.js +tests/tests_cypress/unit/node_modules/lodash/fp/forIn.js +tests/tests_cypress/unit/node_modules/lodash/fp/forInRight.js +tests/tests_cypress/unit/node_modules/lodash/fp/forOwn.js +tests/tests_cypress/unit/node_modules/lodash/fp/forOwnRight.js +tests/tests_cypress/unit/node_modules/lodash/fp/fromPairs.js +tests/tests_cypress/unit/node_modules/lodash/fp/function.js +tests/tests_cypress/unit/node_modules/lodash/fp/functions.js +tests/tests_cypress/unit/node_modules/lodash/fp/functionsIn.js +tests/tests_cypress/unit/node_modules/lodash/fp/get.js +tests/tests_cypress/unit/node_modules/lodash/fp/getOr.js +tests/tests_cypress/unit/node_modules/lodash/fp/groupBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/gt.js +tests/tests_cypress/unit/node_modules/lodash/fp/gte.js +tests/tests_cypress/unit/node_modules/lodash/fp/has.js +tests/tests_cypress/unit/node_modules/lodash/fp/hasIn.js +tests/tests_cypress/unit/node_modules/lodash/fp/head.js +tests/tests_cypress/unit/node_modules/lodash/fp/identical.js +tests/tests_cypress/unit/node_modules/lodash/fp/identity.js +tests/tests_cypress/unit/node_modules/lodash/fp/includes.js +tests/tests_cypress/unit/node_modules/lodash/fp/includesFrom.js +tests/tests_cypress/unit/node_modules/lodash/fp/indexBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/indexOf.js +tests/tests_cypress/unit/node_modules/lodash/fp/indexOfFrom.js +tests/tests_cypress/unit/node_modules/lodash/fp/init.js +tests/tests_cypress/unit/node_modules/lodash/fp/initial.js +tests/tests_cypress/unit/node_modules/lodash/fp/inRange.js +tests/tests_cypress/unit/node_modules/lodash/fp/intersection.js +tests/tests_cypress/unit/node_modules/lodash/fp/intersectionBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/intersectionWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/invert.js +tests/tests_cypress/unit/node_modules/lodash/fp/invertBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/invertObj.js +tests/tests_cypress/unit/node_modules/lodash/fp/invoke.js +tests/tests_cypress/unit/node_modules/lodash/fp/invokeArgs.js +tests/tests_cypress/unit/node_modules/lodash/fp/invokeArgsMap.js +tests/tests_cypress/unit/node_modules/lodash/fp/invokeMap.js +tests/tests_cypress/unit/node_modules/lodash/fp/isArguments.js +tests/tests_cypress/unit/node_modules/lodash/fp/isArray.js +tests/tests_cypress/unit/node_modules/lodash/fp/isArrayBuffer.js +tests/tests_cypress/unit/node_modules/lodash/fp/isArrayLike.js +tests/tests_cypress/unit/node_modules/lodash/fp/isArrayLikeObject.js +tests/tests_cypress/unit/node_modules/lodash/fp/isBoolean.js +tests/tests_cypress/unit/node_modules/lodash/fp/isBuffer.js +tests/tests_cypress/unit/node_modules/lodash/fp/isDate.js +tests/tests_cypress/unit/node_modules/lodash/fp/isElement.js +tests/tests_cypress/unit/node_modules/lodash/fp/isEmpty.js +tests/tests_cypress/unit/node_modules/lodash/fp/isEqual.js +tests/tests_cypress/unit/node_modules/lodash/fp/isEqualWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/isError.js +tests/tests_cypress/unit/node_modules/lodash/fp/isFinite.js +tests/tests_cypress/unit/node_modules/lodash/fp/isFunction.js +tests/tests_cypress/unit/node_modules/lodash/fp/isInteger.js +tests/tests_cypress/unit/node_modules/lodash/fp/isLength.js +tests/tests_cypress/unit/node_modules/lodash/fp/isMap.js +tests/tests_cypress/unit/node_modules/lodash/fp/isMatch.js +tests/tests_cypress/unit/node_modules/lodash/fp/isMatchWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/isNaN.js +tests/tests_cypress/unit/node_modules/lodash/fp/isNative.js +tests/tests_cypress/unit/node_modules/lodash/fp/isNil.js +tests/tests_cypress/unit/node_modules/lodash/fp/isNull.js +tests/tests_cypress/unit/node_modules/lodash/fp/isNumber.js +tests/tests_cypress/unit/node_modules/lodash/fp/isObject.js +tests/tests_cypress/unit/node_modules/lodash/fp/isObjectLike.js +tests/tests_cypress/unit/node_modules/lodash/fp/isPlainObject.js +tests/tests_cypress/unit/node_modules/lodash/fp/isRegExp.js +tests/tests_cypress/unit/node_modules/lodash/fp/isSafeInteger.js +tests/tests_cypress/unit/node_modules/lodash/fp/isSet.js +tests/tests_cypress/unit/node_modules/lodash/fp/isString.js +tests/tests_cypress/unit/node_modules/lodash/fp/isSymbol.js +tests/tests_cypress/unit/node_modules/lodash/fp/isTypedArray.js +tests/tests_cypress/unit/node_modules/lodash/fp/isUndefined.js +tests/tests_cypress/unit/node_modules/lodash/fp/isWeakMap.js +tests/tests_cypress/unit/node_modules/lodash/fp/isWeakSet.js +tests/tests_cypress/unit/node_modules/lodash/fp/iteratee.js +tests/tests_cypress/unit/node_modules/lodash/fp/join.js +tests/tests_cypress/unit/node_modules/lodash/fp/juxt.js +tests/tests_cypress/unit/node_modules/lodash/fp/kebabCase.js +tests/tests_cypress/unit/node_modules/lodash/fp/keyBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/keys.js +tests/tests_cypress/unit/node_modules/lodash/fp/keysIn.js +tests/tests_cypress/unit/node_modules/lodash/fp/lang.js +tests/tests_cypress/unit/node_modules/lodash/fp/last.js +tests/tests_cypress/unit/node_modules/lodash/fp/lastIndexOf.js +tests/tests_cypress/unit/node_modules/lodash/fp/lastIndexOfFrom.js +tests/tests_cypress/unit/node_modules/lodash/fp/lowerCase.js +tests/tests_cypress/unit/node_modules/lodash/fp/lowerFirst.js +tests/tests_cypress/unit/node_modules/lodash/fp/lt.js +tests/tests_cypress/unit/node_modules/lodash/fp/lte.js +tests/tests_cypress/unit/node_modules/lodash/fp/map.js +tests/tests_cypress/unit/node_modules/lodash/fp/mapKeys.js +tests/tests_cypress/unit/node_modules/lodash/fp/mapValues.js +tests/tests_cypress/unit/node_modules/lodash/fp/matches.js +tests/tests_cypress/unit/node_modules/lodash/fp/matchesProperty.js +tests/tests_cypress/unit/node_modules/lodash/fp/math.js +tests/tests_cypress/unit/node_modules/lodash/fp/max.js +tests/tests_cypress/unit/node_modules/lodash/fp/maxBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/mean.js +tests/tests_cypress/unit/node_modules/lodash/fp/meanBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/memoize.js +tests/tests_cypress/unit/node_modules/lodash/fp/merge.js +tests/tests_cypress/unit/node_modules/lodash/fp/mergeAll.js +tests/tests_cypress/unit/node_modules/lodash/fp/mergeAllWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/mergeWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/method.js +tests/tests_cypress/unit/node_modules/lodash/fp/methodOf.js +tests/tests_cypress/unit/node_modules/lodash/fp/min.js +tests/tests_cypress/unit/node_modules/lodash/fp/minBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/mixin.js +tests/tests_cypress/unit/node_modules/lodash/fp/multiply.js +tests/tests_cypress/unit/node_modules/lodash/fp/nAry.js +tests/tests_cypress/unit/node_modules/lodash/fp/negate.js +tests/tests_cypress/unit/node_modules/lodash/fp/next.js +tests/tests_cypress/unit/node_modules/lodash/fp/noop.js +tests/tests_cypress/unit/node_modules/lodash/fp/now.js +tests/tests_cypress/unit/node_modules/lodash/fp/nth.js +tests/tests_cypress/unit/node_modules/lodash/fp/nthArg.js +tests/tests_cypress/unit/node_modules/lodash/fp/number.js +tests/tests_cypress/unit/node_modules/lodash/fp/object.js +tests/tests_cypress/unit/node_modules/lodash/fp/omit.js +tests/tests_cypress/unit/node_modules/lodash/fp/omitAll.js +tests/tests_cypress/unit/node_modules/lodash/fp/omitBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/once.js +tests/tests_cypress/unit/node_modules/lodash/fp/orderBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/over.js +tests/tests_cypress/unit/node_modules/lodash/fp/overArgs.js +tests/tests_cypress/unit/node_modules/lodash/fp/overEvery.js +tests/tests_cypress/unit/node_modules/lodash/fp/overSome.js +tests/tests_cypress/unit/node_modules/lodash/fp/pad.js +tests/tests_cypress/unit/node_modules/lodash/fp/padChars.js +tests/tests_cypress/unit/node_modules/lodash/fp/padCharsEnd.js +tests/tests_cypress/unit/node_modules/lodash/fp/padCharsStart.js +tests/tests_cypress/unit/node_modules/lodash/fp/padEnd.js +tests/tests_cypress/unit/node_modules/lodash/fp/padStart.js +tests/tests_cypress/unit/node_modules/lodash/fp/parseInt.js +tests/tests_cypress/unit/node_modules/lodash/fp/partial.js +tests/tests_cypress/unit/node_modules/lodash/fp/partialRight.js +tests/tests_cypress/unit/node_modules/lodash/fp/partition.js +tests/tests_cypress/unit/node_modules/lodash/fp/path.js +tests/tests_cypress/unit/node_modules/lodash/fp/pathEq.js +tests/tests_cypress/unit/node_modules/lodash/fp/pathOr.js +tests/tests_cypress/unit/node_modules/lodash/fp/paths.js +tests/tests_cypress/unit/node_modules/lodash/fp/pick.js +tests/tests_cypress/unit/node_modules/lodash/fp/pickAll.js +tests/tests_cypress/unit/node_modules/lodash/fp/pickBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/pipe.js +tests/tests_cypress/unit/node_modules/lodash/fp/placeholder.js +tests/tests_cypress/unit/node_modules/lodash/fp/plant.js +tests/tests_cypress/unit/node_modules/lodash/fp/pluck.js +tests/tests_cypress/unit/node_modules/lodash/fp/prop.js +tests/tests_cypress/unit/node_modules/lodash/fp/propEq.js +tests/tests_cypress/unit/node_modules/lodash/fp/property.js +tests/tests_cypress/unit/node_modules/lodash/fp/propertyOf.js +tests/tests_cypress/unit/node_modules/lodash/fp/propOr.js +tests/tests_cypress/unit/node_modules/lodash/fp/props.js +tests/tests_cypress/unit/node_modules/lodash/fp/pull.js +tests/tests_cypress/unit/node_modules/lodash/fp/pullAll.js +tests/tests_cypress/unit/node_modules/lodash/fp/pullAllBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/pullAllWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/pullAt.js +tests/tests_cypress/unit/node_modules/lodash/fp/random.js +tests/tests_cypress/unit/node_modules/lodash/fp/range.js +tests/tests_cypress/unit/node_modules/lodash/fp/rangeRight.js +tests/tests_cypress/unit/node_modules/lodash/fp/rangeStep.js +tests/tests_cypress/unit/node_modules/lodash/fp/rangeStepRight.js +tests/tests_cypress/unit/node_modules/lodash/fp/rearg.js +tests/tests_cypress/unit/node_modules/lodash/fp/reduce.js +tests/tests_cypress/unit/node_modules/lodash/fp/reduceRight.js +tests/tests_cypress/unit/node_modules/lodash/fp/reject.js +tests/tests_cypress/unit/node_modules/lodash/fp/remove.js +tests/tests_cypress/unit/node_modules/lodash/fp/repeat.js +tests/tests_cypress/unit/node_modules/lodash/fp/replace.js +tests/tests_cypress/unit/node_modules/lodash/fp/rest.js +tests/tests_cypress/unit/node_modules/lodash/fp/restFrom.js +tests/tests_cypress/unit/node_modules/lodash/fp/result.js +tests/tests_cypress/unit/node_modules/lodash/fp/reverse.js +tests/tests_cypress/unit/node_modules/lodash/fp/round.js +tests/tests_cypress/unit/node_modules/lodash/fp/sample.js +tests/tests_cypress/unit/node_modules/lodash/fp/sampleSize.js +tests/tests_cypress/unit/node_modules/lodash/fp/seq.js +tests/tests_cypress/unit/node_modules/lodash/fp/set.js +tests/tests_cypress/unit/node_modules/lodash/fp/setWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/shuffle.js +tests/tests_cypress/unit/node_modules/lodash/fp/size.js +tests/tests_cypress/unit/node_modules/lodash/fp/slice.js +tests/tests_cypress/unit/node_modules/lodash/fp/snakeCase.js +tests/tests_cypress/unit/node_modules/lodash/fp/some.js +tests/tests_cypress/unit/node_modules/lodash/fp/sortBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/sortedIndex.js +tests/tests_cypress/unit/node_modules/lodash/fp/sortedIndexBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/sortedIndexOf.js +tests/tests_cypress/unit/node_modules/lodash/fp/sortedLastIndex.js +tests/tests_cypress/unit/node_modules/lodash/fp/sortedLastIndexBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/sortedLastIndexOf.js +tests/tests_cypress/unit/node_modules/lodash/fp/sortedUniq.js +tests/tests_cypress/unit/node_modules/lodash/fp/sortedUniqBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/split.js +tests/tests_cypress/unit/node_modules/lodash/fp/spread.js +tests/tests_cypress/unit/node_modules/lodash/fp/spreadFrom.js +tests/tests_cypress/unit/node_modules/lodash/fp/startCase.js +tests/tests_cypress/unit/node_modules/lodash/fp/startsWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/string.js +tests/tests_cypress/unit/node_modules/lodash/fp/stubArray.js +tests/tests_cypress/unit/node_modules/lodash/fp/stubFalse.js +tests/tests_cypress/unit/node_modules/lodash/fp/stubObject.js +tests/tests_cypress/unit/node_modules/lodash/fp/stubString.js +tests/tests_cypress/unit/node_modules/lodash/fp/stubTrue.js +tests/tests_cypress/unit/node_modules/lodash/fp/subtract.js +tests/tests_cypress/unit/node_modules/lodash/fp/sum.js +tests/tests_cypress/unit/node_modules/lodash/fp/sumBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/symmetricDifference.js +tests/tests_cypress/unit/node_modules/lodash/fp/symmetricDifferenceBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/symmetricDifferenceWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/T.js +tests/tests_cypress/unit/node_modules/lodash/fp/tail.js +tests/tests_cypress/unit/node_modules/lodash/fp/take.js +tests/tests_cypress/unit/node_modules/lodash/fp/takeLast.js +tests/tests_cypress/unit/node_modules/lodash/fp/takeLastWhile.js +tests/tests_cypress/unit/node_modules/lodash/fp/takeRight.js +tests/tests_cypress/unit/node_modules/lodash/fp/takeRightWhile.js +tests/tests_cypress/unit/node_modules/lodash/fp/takeWhile.js +tests/tests_cypress/unit/node_modules/lodash/fp/tap.js +tests/tests_cypress/unit/node_modules/lodash/fp/template.js +tests/tests_cypress/unit/node_modules/lodash/fp/templateSettings.js +tests/tests_cypress/unit/node_modules/lodash/fp/throttle.js +tests/tests_cypress/unit/node_modules/lodash/fp/thru.js +tests/tests_cypress/unit/node_modules/lodash/fp/times.js +tests/tests_cypress/unit/node_modules/lodash/fp/toArray.js +tests/tests_cypress/unit/node_modules/lodash/fp/toFinite.js +tests/tests_cypress/unit/node_modules/lodash/fp/toInteger.js +tests/tests_cypress/unit/node_modules/lodash/fp/toIterator.js +tests/tests_cypress/unit/node_modules/lodash/fp/toJSON.js +tests/tests_cypress/unit/node_modules/lodash/fp/toLength.js +tests/tests_cypress/unit/node_modules/lodash/fp/toLower.js +tests/tests_cypress/unit/node_modules/lodash/fp/toNumber.js +tests/tests_cypress/unit/node_modules/lodash/fp/toPairs.js +tests/tests_cypress/unit/node_modules/lodash/fp/toPairsIn.js +tests/tests_cypress/unit/node_modules/lodash/fp/toPath.js +tests/tests_cypress/unit/node_modules/lodash/fp/toPlainObject.js +tests/tests_cypress/unit/node_modules/lodash/fp/toSafeInteger.js +tests/tests_cypress/unit/node_modules/lodash/fp/toString.js +tests/tests_cypress/unit/node_modules/lodash/fp/toUpper.js +tests/tests_cypress/unit/node_modules/lodash/fp/transform.js +tests/tests_cypress/unit/node_modules/lodash/fp/trim.js +tests/tests_cypress/unit/node_modules/lodash/fp/trimChars.js +tests/tests_cypress/unit/node_modules/lodash/fp/trimCharsEnd.js +tests/tests_cypress/unit/node_modules/lodash/fp/trimCharsStart.js +tests/tests_cypress/unit/node_modules/lodash/fp/trimEnd.js +tests/tests_cypress/unit/node_modules/lodash/fp/trimStart.js +tests/tests_cypress/unit/node_modules/lodash/fp/truncate.js +tests/tests_cypress/unit/node_modules/lodash/fp/unapply.js +tests/tests_cypress/unit/node_modules/lodash/fp/unary.js +tests/tests_cypress/unit/node_modules/lodash/fp/unescape.js +tests/tests_cypress/unit/node_modules/lodash/fp/union.js +tests/tests_cypress/unit/node_modules/lodash/fp/unionBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/unionWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/uniq.js +tests/tests_cypress/unit/node_modules/lodash/fp/uniqBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/uniqueId.js +tests/tests_cypress/unit/node_modules/lodash/fp/uniqWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/unnest.js +tests/tests_cypress/unit/node_modules/lodash/fp/unset.js +tests/tests_cypress/unit/node_modules/lodash/fp/unzip.js +tests/tests_cypress/unit/node_modules/lodash/fp/unzipWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/update.js +tests/tests_cypress/unit/node_modules/lodash/fp/updateWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/upperCase.js +tests/tests_cypress/unit/node_modules/lodash/fp/upperFirst.js +tests/tests_cypress/unit/node_modules/lodash/fp/useWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/util.js +tests/tests_cypress/unit/node_modules/lodash/fp/value.js +tests/tests_cypress/unit/node_modules/lodash/fp/valueOf.js +tests/tests_cypress/unit/node_modules/lodash/fp/values.js +tests/tests_cypress/unit/node_modules/lodash/fp/valuesIn.js +tests/tests_cypress/unit/node_modules/lodash/fp/where.js +tests/tests_cypress/unit/node_modules/lodash/fp/whereEq.js +tests/tests_cypress/unit/node_modules/lodash/fp/without.js +tests/tests_cypress/unit/node_modules/lodash/fp/words.js +tests/tests_cypress/unit/node_modules/lodash/fp/wrap.js +tests/tests_cypress/unit/node_modules/lodash/fp/wrapperAt.js +tests/tests_cypress/unit/node_modules/lodash/fp/wrapperChain.js +tests/tests_cypress/unit/node_modules/lodash/fp/wrapperLodash.js +tests/tests_cypress/unit/node_modules/lodash/fp/wrapperReverse.js +tests/tests_cypress/unit/node_modules/lodash/fp/wrapperValue.js +tests/tests_cypress/unit/node_modules/lodash/fp/xor.js +tests/tests_cypress/unit/node_modules/lodash/fp/xorBy.js +tests/tests_cypress/unit/node_modules/lodash/fp/xorWith.js +tests/tests_cypress/unit/node_modules/lodash/fp/zip.js +tests/tests_cypress/unit/node_modules/lodash/fp/zipAll.js +tests/tests_cypress/unit/node_modules/lodash/fp/zipObj.js +tests/tests_cypress/unit/node_modules/lodash/fp/zipObject.js +tests/tests_cypress/unit/node_modules/lodash/fp/zipObjectDeep.js +tests/tests_cypress/unit/node_modules/lodash/fp/zipWith.js +tests/tests_cypress/unit/node_modules/lodash.camelcase/index.js +tests/tests_cypress/unit/node_modules/lodash.camelcase/LICENSE +tests/tests_cypress/unit/node_modules/lodash.camelcase/package.json +tests/tests_cypress/unit/node_modules/lodash.camelcase/README.md +tests/tests_cypress/unit/node_modules/lodash.get/index.js +tests/tests_cypress/unit/node_modules/lodash.get/LICENSE +tests/tests_cypress/unit/node_modules/lodash.get/package.json +tests/tests_cypress/unit/node_modules/lodash.get/README.md +tests/tests_cypress/unit/node_modules/lodash.isplainobject/index.js +tests/tests_cypress/unit/node_modules/lodash.isplainobject/LICENSE +tests/tests_cypress/unit/node_modules/lodash.isplainobject/package.json +tests/tests_cypress/unit/node_modules/lodash.isplainobject/README.md +tests/tests_cypress/unit/node_modules/lodash.once/index.js +tests/tests_cypress/unit/node_modules/lodash.once/LICENSE +tests/tests_cypress/unit/node_modules/lodash.once/package.json +tests/tests_cypress/unit/node_modules/lodash.once/README.md +tests/tests_cypress/unit/node_modules/lodash.range/index.js +tests/tests_cypress/unit/node_modules/lodash.range/LICENSE +tests/tests_cypress/unit/node_modules/lodash.range/package.json +tests/tests_cypress/unit/node_modules/lodash.range/README.md +tests/tests_cypress/unit/node_modules/lodash.reduce/index.js +tests/tests_cypress/unit/node_modules/lodash.reduce/LICENSE +tests/tests_cypress/unit/node_modules/lodash.reduce/package.json +tests/tests_cypress/unit/node_modules/lodash.reduce/README.md +tests/tests_cypress/unit/node_modules/lodash.set/index.js +tests/tests_cypress/unit/node_modules/lodash.set/LICENSE +tests/tests_cypress/unit/node_modules/lodash.set/package.json +tests/tests_cypress/unit/node_modules/lodash.set/README.md +tests/tests_cypress/unit/node_modules/log-symbols/browser.js +tests/tests_cypress/unit/node_modules/log-symbols/index.d.ts +tests/tests_cypress/unit/node_modules/log-symbols/index.js +tests/tests_cypress/unit/node_modules/log-symbols/license +tests/tests_cypress/unit/node_modules/log-symbols/package.json +tests/tests_cypress/unit/node_modules/log-symbols/readme.md +tests/tests_cypress/unit/node_modules/log-update/index.d.ts +tests/tests_cypress/unit/node_modules/log-update/index.js +tests/tests_cypress/unit/node_modules/log-update/license +tests/tests_cypress/unit/node_modules/log-update/package.json +tests/tests_cypress/unit/node_modules/log-update/readme.md +tests/tests_cypress/unit/node_modules/log-update/node_modules/slice-ansi/index.js +tests/tests_cypress/unit/node_modules/log-update/node_modules/slice-ansi/license +tests/tests_cypress/unit/node_modules/log-update/node_modules/slice-ansi/package.json +tests/tests_cypress/unit/node_modules/log-update/node_modules/slice-ansi/readme.md +tests/tests_cypress/unit/node_modules/log-update/node_modules/wrap-ansi/index.js +tests/tests_cypress/unit/node_modules/log-update/node_modules/wrap-ansi/license +tests/tests_cypress/unit/node_modules/log-update/node_modules/wrap-ansi/package.json +tests/tests_cypress/unit/node_modules/log-update/node_modules/wrap-ansi/readme.md +tests/tests_cypress/unit/node_modules/lru-cache/index.js +tests/tests_cypress/unit/node_modules/lru-cache/LICENSE +tests/tests_cypress/unit/node_modules/lru-cache/package.json +tests/tests_cypress/unit/node_modules/lru-cache/README.md +tests/tests_cypress/unit/node_modules/merge-stream/index.js +tests/tests_cypress/unit/node_modules/merge-stream/LICENSE +tests/tests_cypress/unit/node_modules/merge-stream/package.json +tests/tests_cypress/unit/node_modules/merge-stream/README.md +tests/tests_cypress/unit/node_modules/mime-db/db.json +tests/tests_cypress/unit/node_modules/mime-db/HISTORY.md +tests/tests_cypress/unit/node_modules/mime-db/index.js +tests/tests_cypress/unit/node_modules/mime-db/LICENSE +tests/tests_cypress/unit/node_modules/mime-db/package.json +tests/tests_cypress/unit/node_modules/mime-db/README.md +tests/tests_cypress/unit/node_modules/mime-types/HISTORY.md +tests/tests_cypress/unit/node_modules/mime-types/index.js +tests/tests_cypress/unit/node_modules/mime-types/LICENSE +tests/tests_cypress/unit/node_modules/mime-types/package.json +tests/tests_cypress/unit/node_modules/mime-types/README.md +tests/tests_cypress/unit/node_modules/mimic-fn/index.d.ts +tests/tests_cypress/unit/node_modules/mimic-fn/index.js +tests/tests_cypress/unit/node_modules/mimic-fn/license +tests/tests_cypress/unit/node_modules/mimic-fn/package.json +tests/tests_cypress/unit/node_modules/mimic-fn/readme.md +tests/tests_cypress/unit/node_modules/minimist/.eslintrc +tests/tests_cypress/unit/node_modules/minimist/.nycrc +tests/tests_cypress/unit/node_modules/minimist/CHANGELOG.md +tests/tests_cypress/unit/node_modules/minimist/index.js +tests/tests_cypress/unit/node_modules/minimist/LICENSE +tests/tests_cypress/unit/node_modules/minimist/package.json +tests/tests_cypress/unit/node_modules/minimist/README.md +tests/tests_cypress/unit/node_modules/minimist/.github/FUNDING.yml +tests/tests_cypress/unit/node_modules/minimist/example/parse.js +tests/tests_cypress/unit/node_modules/minimist/test/all_bool.js +tests/tests_cypress/unit/node_modules/minimist/test/bool.js +tests/tests_cypress/unit/node_modules/minimist/test/dash.js +tests/tests_cypress/unit/node_modules/minimist/test/default_bool.js +tests/tests_cypress/unit/node_modules/minimist/test/dotted.js +tests/tests_cypress/unit/node_modules/minimist/test/kv_short.js +tests/tests_cypress/unit/node_modules/minimist/test/long.js +tests/tests_cypress/unit/node_modules/minimist/test/num.js +tests/tests_cypress/unit/node_modules/minimist/test/parse_modified.js +tests/tests_cypress/unit/node_modules/minimist/test/parse.js +tests/tests_cypress/unit/node_modules/minimist/test/proto.js +tests/tests_cypress/unit/node_modules/minimist/test/short.js +tests/tests_cypress/unit/node_modules/minimist/test/stop_early.js +tests/tests_cypress/unit/node_modules/minimist/test/unknown.js +tests/tests_cypress/unit/node_modules/minimist/test/whitespace.js +tests/tests_cypress/unit/node_modules/ms/index.js +tests/tests_cypress/unit/node_modules/ms/license.md +tests/tests_cypress/unit/node_modules/ms/package.json +tests/tests_cypress/unit/node_modules/ms/readme.md +tests/tests_cypress/unit/node_modules/npm-run-path/index.d.ts +tests/tests_cypress/unit/node_modules/npm-run-path/index.js +tests/tests_cypress/unit/node_modules/npm-run-path/license +tests/tests_cypress/unit/node_modules/npm-run-path/package.json +tests/tests_cypress/unit/node_modules/npm-run-path/readme.md +tests/tests_cypress/unit/node_modules/object-inspect/.eslintrc +tests/tests_cypress/unit/node_modules/object-inspect/.nycrc +tests/tests_cypress/unit/node_modules/object-inspect/CHANGELOG.md +tests/tests_cypress/unit/node_modules/object-inspect/index.js +tests/tests_cypress/unit/node_modules/object-inspect/LICENSE +tests/tests_cypress/unit/node_modules/object-inspect/package-support.json +tests/tests_cypress/unit/node_modules/object-inspect/package.json +tests/tests_cypress/unit/node_modules/object-inspect/readme.markdown +tests/tests_cypress/unit/node_modules/object-inspect/test-core-js.js +tests/tests_cypress/unit/node_modules/object-inspect/util.inspect.js +tests/tests_cypress/unit/node_modules/object-inspect/.github/FUNDING.yml +tests/tests_cypress/unit/node_modules/object-inspect/example/all.js +tests/tests_cypress/unit/node_modules/object-inspect/example/circular.js +tests/tests_cypress/unit/node_modules/object-inspect/example/fn.js +tests/tests_cypress/unit/node_modules/object-inspect/example/inspect.js +tests/tests_cypress/unit/node_modules/object-inspect/test/bigint.js +tests/tests_cypress/unit/node_modules/object-inspect/test/circular.js +tests/tests_cypress/unit/node_modules/object-inspect/test/deep.js +tests/tests_cypress/unit/node_modules/object-inspect/test/element.js +tests/tests_cypress/unit/node_modules/object-inspect/test/err.js +tests/tests_cypress/unit/node_modules/object-inspect/test/fakes.js +tests/tests_cypress/unit/node_modules/object-inspect/test/fn.js +tests/tests_cypress/unit/node_modules/object-inspect/test/has.js +tests/tests_cypress/unit/node_modules/object-inspect/test/holes.js +tests/tests_cypress/unit/node_modules/object-inspect/test/indent-option.js +tests/tests_cypress/unit/node_modules/object-inspect/test/inspect.js +tests/tests_cypress/unit/node_modules/object-inspect/test/lowbyte.js +tests/tests_cypress/unit/node_modules/object-inspect/test/number.js +tests/tests_cypress/unit/node_modules/object-inspect/test/quoteStyle.js +tests/tests_cypress/unit/node_modules/object-inspect/test/toStringTag.js +tests/tests_cypress/unit/node_modules/object-inspect/test/undef.js +tests/tests_cypress/unit/node_modules/object-inspect/test/values.js +tests/tests_cypress/unit/node_modules/object-inspect/test/browser/dom.js +tests/tests_cypress/unit/node_modules/once/LICENSE +tests/tests_cypress/unit/node_modules/once/once.js +tests/tests_cypress/unit/node_modules/once/package.json +tests/tests_cypress/unit/node_modules/once/README.md +tests/tests_cypress/unit/node_modules/onetime/index.d.ts +tests/tests_cypress/unit/node_modules/onetime/index.js +tests/tests_cypress/unit/node_modules/onetime/license +tests/tests_cypress/unit/node_modules/onetime/package.json +tests/tests_cypress/unit/node_modules/onetime/readme.md +tests/tests_cypress/unit/node_modules/ospath/.npmignore +tests/tests_cypress/unit/node_modules/ospath/changelog.md +tests/tests_cypress/unit/node_modules/ospath/index.js +tests/tests_cypress/unit/node_modules/ospath/package.json +tests/tests_cypress/unit/node_modules/ospath/readme.md +tests/tests_cypress/unit/node_modules/p-map/index.d.ts +tests/tests_cypress/unit/node_modules/p-map/index.js +tests/tests_cypress/unit/node_modules/p-map/license +tests/tests_cypress/unit/node_modules/p-map/package.json +tests/tests_cypress/unit/node_modules/p-map/readme.md +tests/tests_cypress/unit/node_modules/path-is-absolute/index.js +tests/tests_cypress/unit/node_modules/path-is-absolute/license +tests/tests_cypress/unit/node_modules/path-is-absolute/package.json +tests/tests_cypress/unit/node_modules/path-is-absolute/readme.md +tests/tests_cypress/unit/node_modules/path-key/index.d.ts +tests/tests_cypress/unit/node_modules/path-key/index.js +tests/tests_cypress/unit/node_modules/path-key/license +tests/tests_cypress/unit/node_modules/path-key/package.json +tests/tests_cypress/unit/node_modules/path-key/readme.md +tests/tests_cypress/unit/node_modules/pend/index.js +tests/tests_cypress/unit/node_modules/pend/LICENSE +tests/tests_cypress/unit/node_modules/pend/package.json +tests/tests_cypress/unit/node_modules/pend/README.md +tests/tests_cypress/unit/node_modules/pend/test.js +tests/tests_cypress/unit/node_modules/performance-now/.npmignore +tests/tests_cypress/unit/node_modules/performance-now/.tm_properties +tests/tests_cypress/unit/node_modules/performance-now/.travis.yml +tests/tests_cypress/unit/node_modules/performance-now/license.txt +tests/tests_cypress/unit/node_modules/performance-now/package.json +tests/tests_cypress/unit/node_modules/performance-now/README.md +tests/tests_cypress/unit/node_modules/performance-now/lib/performance-now.js +tests/tests_cypress/unit/node_modules/performance-now/lib/performance-now.js.map +tests/tests_cypress/unit/node_modules/performance-now/src/index.d.ts +tests/tests_cypress/unit/node_modules/performance-now/src/performance-now.coffee +tests/tests_cypress/unit/node_modules/performance-now/test/mocha.opts +tests/tests_cypress/unit/node_modules/performance-now/test/performance-now.coffee +tests/tests_cypress/unit/node_modules/performance-now/test/scripts.coffee +tests/tests_cypress/unit/node_modules/performance-now/test/scripts/delayed-call.coffee +tests/tests_cypress/unit/node_modules/performance-now/test/scripts/delayed-require.coffee +tests/tests_cypress/unit/node_modules/performance-now/test/scripts/difference.coffee +tests/tests_cypress/unit/node_modules/performance-now/test/scripts/initial-value.coffee +tests/tests_cypress/unit/node_modules/pify/index.js +tests/tests_cypress/unit/node_modules/pify/license +tests/tests_cypress/unit/node_modules/pify/package.json +tests/tests_cypress/unit/node_modules/pify/readme.md +tests/tests_cypress/unit/node_modules/pretty-bytes/index.d.ts +tests/tests_cypress/unit/node_modules/pretty-bytes/index.js +tests/tests_cypress/unit/node_modules/pretty-bytes/license +tests/tests_cypress/unit/node_modules/pretty-bytes/package.json +tests/tests_cypress/unit/node_modules/pretty-bytes/readme.md +tests/tests_cypress/unit/node_modules/proxy-from-env/.jscsrc +tests/tests_cypress/unit/node_modules/proxy-from-env/.jshintrc +tests/tests_cypress/unit/node_modules/proxy-from-env/.npmignore +tests/tests_cypress/unit/node_modules/proxy-from-env/.travis.yml +tests/tests_cypress/unit/node_modules/proxy-from-env/index.js +tests/tests_cypress/unit/node_modules/proxy-from-env/package.json +tests/tests_cypress/unit/node_modules/proxy-from-env/README.md +tests/tests_cypress/unit/node_modules/proxy-from-env/test.js +tests/tests_cypress/unit/node_modules/psl/.env +tests/tests_cypress/unit/node_modules/psl/browserstack-logo.svg +tests/tests_cypress/unit/node_modules/psl/index.js +tests/tests_cypress/unit/node_modules/psl/LICENSE +tests/tests_cypress/unit/node_modules/psl/package.json +tests/tests_cypress/unit/node_modules/psl/README.md +tests/tests_cypress/unit/node_modules/psl/data/rules.json +tests/tests_cypress/unit/node_modules/psl/dist/psl.js +tests/tests_cypress/unit/node_modules/psl/dist/psl.min.js +tests/tests_cypress/unit/node_modules/pump/.travis.yml +tests/tests_cypress/unit/node_modules/pump/index.js +tests/tests_cypress/unit/node_modules/pump/LICENSE +tests/tests_cypress/unit/node_modules/pump/package.json +tests/tests_cypress/unit/node_modules/pump/README.md +tests/tests_cypress/unit/node_modules/pump/test-browser.js +tests/tests_cypress/unit/node_modules/pump/test-node.js +tests/tests_cypress/unit/node_modules/punycode/LICENSE-MIT.txt +tests/tests_cypress/unit/node_modules/punycode/package.json +tests/tests_cypress/unit/node_modules/punycode/punycode.es6.js +tests/tests_cypress/unit/node_modules/punycode/punycode.js +tests/tests_cypress/unit/node_modules/punycode/README.md +tests/tests_cypress/unit/node_modules/qs/.editorconfig +tests/tests_cypress/unit/node_modules/qs/.eslintrc +tests/tests_cypress/unit/node_modules/qs/.nycrc +tests/tests_cypress/unit/node_modules/qs/CHANGELOG.md +tests/tests_cypress/unit/node_modules/qs/LICENSE.md +tests/tests_cypress/unit/node_modules/qs/package.json +tests/tests_cypress/unit/node_modules/qs/README.md +tests/tests_cypress/unit/node_modules/qs/.github/FUNDING.yml +tests/tests_cypress/unit/node_modules/qs/dist/qs.js +tests/tests_cypress/unit/node_modules/qs/lib/formats.js +tests/tests_cypress/unit/node_modules/qs/lib/index.js +tests/tests_cypress/unit/node_modules/qs/lib/parse.js +tests/tests_cypress/unit/node_modules/qs/lib/stringify.js +tests/tests_cypress/unit/node_modules/qs/lib/utils.js +tests/tests_cypress/unit/node_modules/qs/test/parse.js +tests/tests_cypress/unit/node_modules/qs/test/stringify.js +tests/tests_cypress/unit/node_modules/qs/test/utils.js +tests/tests_cypress/unit/node_modules/quote/.npmignore +tests/tests_cypress/unit/node_modules/quote/.travis.yml +tests/tests_cypress/unit/node_modules/quote/bower.json +tests/tests_cypress/unit/node_modules/quote/index.js +tests/tests_cypress/unit/node_modules/quote/LICENSE +tests/tests_cypress/unit/node_modules/quote/package.json +tests/tests_cypress/unit/node_modules/quote/quote.js +tests/tests_cypress/unit/node_modules/quote/README.md +tests/tests_cypress/unit/node_modules/quote/test/index.html +tests/tests_cypress/unit/node_modules/quote/test/test.js +tests/tests_cypress/unit/node_modules/ramda/CHANGELOG.md +tests/tests_cypress/unit/node_modules/ramda/LICENSE.txt +tests/tests_cypress/unit/node_modules/ramda/package.json +tests/tests_cypress/unit/node_modules/ramda/README.md +tests/tests_cypress/unit/node_modules/ramda/dist/ramda.js +tests/tests_cypress/unit/node_modules/ramda/dist/ramda.min.js +tests/tests_cypress/unit/node_modules/ramda/es/__.js +tests/tests_cypress/unit/node_modules/ramda/es/add.js +tests/tests_cypress/unit/node_modules/ramda/es/addIndex.js +tests/tests_cypress/unit/node_modules/ramda/es/adjust.js +tests/tests_cypress/unit/node_modules/ramda/es/all.js +tests/tests_cypress/unit/node_modules/ramda/es/allPass.js +tests/tests_cypress/unit/node_modules/ramda/es/always.js +tests/tests_cypress/unit/node_modules/ramda/es/and.js +tests/tests_cypress/unit/node_modules/ramda/es/any.js +tests/tests_cypress/unit/node_modules/ramda/es/anyPass.js +tests/tests_cypress/unit/node_modules/ramda/es/ap.js +tests/tests_cypress/unit/node_modules/ramda/es/aperture.js +tests/tests_cypress/unit/node_modules/ramda/es/append.js +tests/tests_cypress/unit/node_modules/ramda/es/apply.js +tests/tests_cypress/unit/node_modules/ramda/es/applySpec.js +tests/tests_cypress/unit/node_modules/ramda/es/applyTo.js +tests/tests_cypress/unit/node_modules/ramda/es/ascend.js +tests/tests_cypress/unit/node_modules/ramda/es/assoc.js +tests/tests_cypress/unit/node_modules/ramda/es/assocPath.js +tests/tests_cypress/unit/node_modules/ramda/es/binary.js +tests/tests_cypress/unit/node_modules/ramda/es/bind.js +tests/tests_cypress/unit/node_modules/ramda/es/both.js +tests/tests_cypress/unit/node_modules/ramda/es/call.js +tests/tests_cypress/unit/node_modules/ramda/es/chain.js +tests/tests_cypress/unit/node_modules/ramda/es/clamp.js +tests/tests_cypress/unit/node_modules/ramda/es/clone.js +tests/tests_cypress/unit/node_modules/ramda/es/comparator.js +tests/tests_cypress/unit/node_modules/ramda/es/complement.js +tests/tests_cypress/unit/node_modules/ramda/es/compose.js +tests/tests_cypress/unit/node_modules/ramda/es/composeK.js +tests/tests_cypress/unit/node_modules/ramda/es/composeP.js +tests/tests_cypress/unit/node_modules/ramda/es/concat.js +tests/tests_cypress/unit/node_modules/ramda/es/cond.js +tests/tests_cypress/unit/node_modules/ramda/es/construct.js +tests/tests_cypress/unit/node_modules/ramda/es/constructN.js +tests/tests_cypress/unit/node_modules/ramda/es/contains.js +tests/tests_cypress/unit/node_modules/ramda/es/converge.js +tests/tests_cypress/unit/node_modules/ramda/es/countBy.js +tests/tests_cypress/unit/node_modules/ramda/es/curry.js +tests/tests_cypress/unit/node_modules/ramda/es/curryN.js +tests/tests_cypress/unit/node_modules/ramda/es/dec.js +tests/tests_cypress/unit/node_modules/ramda/es/defaultTo.js +tests/tests_cypress/unit/node_modules/ramda/es/descend.js +tests/tests_cypress/unit/node_modules/ramda/es/difference.js +tests/tests_cypress/unit/node_modules/ramda/es/differenceWith.js +tests/tests_cypress/unit/node_modules/ramda/es/dissoc.js +tests/tests_cypress/unit/node_modules/ramda/es/dissocPath.js +tests/tests_cypress/unit/node_modules/ramda/es/divide.js +tests/tests_cypress/unit/node_modules/ramda/es/drop.js +tests/tests_cypress/unit/node_modules/ramda/es/dropLast.js +tests/tests_cypress/unit/node_modules/ramda/es/dropLastWhile.js +tests/tests_cypress/unit/node_modules/ramda/es/dropRepeats.js +tests/tests_cypress/unit/node_modules/ramda/es/dropRepeatsWith.js +tests/tests_cypress/unit/node_modules/ramda/es/dropWhile.js +tests/tests_cypress/unit/node_modules/ramda/es/either.js +tests/tests_cypress/unit/node_modules/ramda/es/empty.js +tests/tests_cypress/unit/node_modules/ramda/es/endsWith.js +tests/tests_cypress/unit/node_modules/ramda/es/eqBy.js +tests/tests_cypress/unit/node_modules/ramda/es/eqProps.js +tests/tests_cypress/unit/node_modules/ramda/es/equals.js +tests/tests_cypress/unit/node_modules/ramda/es/evolve.js +tests/tests_cypress/unit/node_modules/ramda/es/F.js +tests/tests_cypress/unit/node_modules/ramda/es/filter.js +tests/tests_cypress/unit/node_modules/ramda/es/find.js +tests/tests_cypress/unit/node_modules/ramda/es/findIndex.js +tests/tests_cypress/unit/node_modules/ramda/es/findLast.js +tests/tests_cypress/unit/node_modules/ramda/es/findLastIndex.js +tests/tests_cypress/unit/node_modules/ramda/es/flatten.js +tests/tests_cypress/unit/node_modules/ramda/es/flip.js +tests/tests_cypress/unit/node_modules/ramda/es/forEach.js +tests/tests_cypress/unit/node_modules/ramda/es/forEachObjIndexed.js +tests/tests_cypress/unit/node_modules/ramda/es/fromPairs.js +tests/tests_cypress/unit/node_modules/ramda/es/groupBy.js +tests/tests_cypress/unit/node_modules/ramda/es/groupWith.js +tests/tests_cypress/unit/node_modules/ramda/es/gt.js +tests/tests_cypress/unit/node_modules/ramda/es/gte.js +tests/tests_cypress/unit/node_modules/ramda/es/has.js +tests/tests_cypress/unit/node_modules/ramda/es/hasIn.js +tests/tests_cypress/unit/node_modules/ramda/es/head.js +tests/tests_cypress/unit/node_modules/ramda/es/identical.js +tests/tests_cypress/unit/node_modules/ramda/es/identity.js +tests/tests_cypress/unit/node_modules/ramda/es/ifElse.js +tests/tests_cypress/unit/node_modules/ramda/es/inc.js +tests/tests_cypress/unit/node_modules/ramda/es/index.js +tests/tests_cypress/unit/node_modules/ramda/es/indexBy.js +tests/tests_cypress/unit/node_modules/ramda/es/indexOf.js +tests/tests_cypress/unit/node_modules/ramda/es/init.js +tests/tests_cypress/unit/node_modules/ramda/es/innerJoin.js +tests/tests_cypress/unit/node_modules/ramda/es/insert.js +tests/tests_cypress/unit/node_modules/ramda/es/insertAll.js +tests/tests_cypress/unit/node_modules/ramda/es/intersection.js +tests/tests_cypress/unit/node_modules/ramda/es/intersperse.js +tests/tests_cypress/unit/node_modules/ramda/es/into.js +tests/tests_cypress/unit/node_modules/ramda/es/invert.js +tests/tests_cypress/unit/node_modules/ramda/es/invertObj.js +tests/tests_cypress/unit/node_modules/ramda/es/invoker.js +tests/tests_cypress/unit/node_modules/ramda/es/is.js +tests/tests_cypress/unit/node_modules/ramda/es/isEmpty.js +tests/tests_cypress/unit/node_modules/ramda/es/isNil.js +tests/tests_cypress/unit/node_modules/ramda/es/join.js +tests/tests_cypress/unit/node_modules/ramda/es/juxt.js +tests/tests_cypress/unit/node_modules/ramda/es/keys.js +tests/tests_cypress/unit/node_modules/ramda/es/keysIn.js +tests/tests_cypress/unit/node_modules/ramda/es/last.js +tests/tests_cypress/unit/node_modules/ramda/es/lastIndexOf.js +tests/tests_cypress/unit/node_modules/ramda/es/length.js +tests/tests_cypress/unit/node_modules/ramda/es/lens.js +tests/tests_cypress/unit/node_modules/ramda/es/lensIndex.js +tests/tests_cypress/unit/node_modules/ramda/es/lensPath.js +tests/tests_cypress/unit/node_modules/ramda/es/lensProp.js +tests/tests_cypress/unit/node_modules/ramda/es/lift.js +tests/tests_cypress/unit/node_modules/ramda/es/liftN.js +tests/tests_cypress/unit/node_modules/ramda/es/lt.js +tests/tests_cypress/unit/node_modules/ramda/es/lte.js +tests/tests_cypress/unit/node_modules/ramda/es/map.js +tests/tests_cypress/unit/node_modules/ramda/es/mapAccum.js +tests/tests_cypress/unit/node_modules/ramda/es/mapAccumRight.js +tests/tests_cypress/unit/node_modules/ramda/es/mapObjIndexed.js +tests/tests_cypress/unit/node_modules/ramda/es/match.js +tests/tests_cypress/unit/node_modules/ramda/es/mathMod.js +tests/tests_cypress/unit/node_modules/ramda/es/max.js +tests/tests_cypress/unit/node_modules/ramda/es/maxBy.js +tests/tests_cypress/unit/node_modules/ramda/es/mean.js +tests/tests_cypress/unit/node_modules/ramda/es/median.js +tests/tests_cypress/unit/node_modules/ramda/es/memoize.js +tests/tests_cypress/unit/node_modules/ramda/es/memoizeWith.js +tests/tests_cypress/unit/node_modules/ramda/es/merge.js +tests/tests_cypress/unit/node_modules/ramda/es/mergeAll.js +tests/tests_cypress/unit/node_modules/ramda/es/mergeDeepLeft.js +tests/tests_cypress/unit/node_modules/ramda/es/mergeDeepRight.js +tests/tests_cypress/unit/node_modules/ramda/es/mergeDeepWith.js +tests/tests_cypress/unit/node_modules/ramda/es/mergeDeepWithKey.js +tests/tests_cypress/unit/node_modules/ramda/es/mergeWith.js +tests/tests_cypress/unit/node_modules/ramda/es/mergeWithKey.js +tests/tests_cypress/unit/node_modules/ramda/es/min.js +tests/tests_cypress/unit/node_modules/ramda/es/minBy.js +tests/tests_cypress/unit/node_modules/ramda/es/modulo.js +tests/tests_cypress/unit/node_modules/ramda/es/multiply.js +tests/tests_cypress/unit/node_modules/ramda/es/nAry.js +tests/tests_cypress/unit/node_modules/ramda/es/negate.js +tests/tests_cypress/unit/node_modules/ramda/es/none.js +tests/tests_cypress/unit/node_modules/ramda/es/not.js +tests/tests_cypress/unit/node_modules/ramda/es/nth.js +tests/tests_cypress/unit/node_modules/ramda/es/nthArg.js +tests/tests_cypress/unit/node_modules/ramda/es/o.js +tests/tests_cypress/unit/node_modules/ramda/es/objOf.js +tests/tests_cypress/unit/node_modules/ramda/es/of.js +tests/tests_cypress/unit/node_modules/ramda/es/omit.js +tests/tests_cypress/unit/node_modules/ramda/es/once.js +tests/tests_cypress/unit/node_modules/ramda/es/or.js +tests/tests_cypress/unit/node_modules/ramda/es/over.js +tests/tests_cypress/unit/node_modules/ramda/es/pair.js +tests/tests_cypress/unit/node_modules/ramda/es/partial.js +tests/tests_cypress/unit/node_modules/ramda/es/partialRight.js +tests/tests_cypress/unit/node_modules/ramda/es/partition.js +tests/tests_cypress/unit/node_modules/ramda/es/path.js +tests/tests_cypress/unit/node_modules/ramda/es/pathEq.js +tests/tests_cypress/unit/node_modules/ramda/es/pathOr.js +tests/tests_cypress/unit/node_modules/ramda/es/pathSatisfies.js +tests/tests_cypress/unit/node_modules/ramda/es/pick.js +tests/tests_cypress/unit/node_modules/ramda/es/pickAll.js +tests/tests_cypress/unit/node_modules/ramda/es/pickBy.js +tests/tests_cypress/unit/node_modules/ramda/es/pipe.js +tests/tests_cypress/unit/node_modules/ramda/es/pipeK.js +tests/tests_cypress/unit/node_modules/ramda/es/pipeP.js +tests/tests_cypress/unit/node_modules/ramda/es/pluck.js +tests/tests_cypress/unit/node_modules/ramda/es/prepend.js +tests/tests_cypress/unit/node_modules/ramda/es/product.js +tests/tests_cypress/unit/node_modules/ramda/es/project.js +tests/tests_cypress/unit/node_modules/ramda/es/prop.js +tests/tests_cypress/unit/node_modules/ramda/es/propEq.js +tests/tests_cypress/unit/node_modules/ramda/es/propIs.js +tests/tests_cypress/unit/node_modules/ramda/es/propOr.js +tests/tests_cypress/unit/node_modules/ramda/es/props.js +tests/tests_cypress/unit/node_modules/ramda/es/propSatisfies.js +tests/tests_cypress/unit/node_modules/ramda/es/range.js +tests/tests_cypress/unit/node_modules/ramda/es/reduce.js +tests/tests_cypress/unit/node_modules/ramda/es/reduceBy.js +tests/tests_cypress/unit/node_modules/ramda/es/reduced.js +tests/tests_cypress/unit/node_modules/ramda/es/reduceRight.js +tests/tests_cypress/unit/node_modules/ramda/es/reduceWhile.js +tests/tests_cypress/unit/node_modules/ramda/es/reject.js +tests/tests_cypress/unit/node_modules/ramda/es/remove.js +tests/tests_cypress/unit/node_modules/ramda/es/repeat.js +tests/tests_cypress/unit/node_modules/ramda/es/replace.js +tests/tests_cypress/unit/node_modules/ramda/es/reverse.js +tests/tests_cypress/unit/node_modules/ramda/es/scan.js +tests/tests_cypress/unit/node_modules/ramda/es/sequence.js +tests/tests_cypress/unit/node_modules/ramda/es/set.js +tests/tests_cypress/unit/node_modules/ramda/es/slice.js +tests/tests_cypress/unit/node_modules/ramda/es/sort.js +tests/tests_cypress/unit/node_modules/ramda/es/sortBy.js +tests/tests_cypress/unit/node_modules/ramda/es/sortWith.js +tests/tests_cypress/unit/node_modules/ramda/es/split.js +tests/tests_cypress/unit/node_modules/ramda/es/splitAt.js +tests/tests_cypress/unit/node_modules/ramda/es/splitEvery.js +tests/tests_cypress/unit/node_modules/ramda/es/splitWhen.js +tests/tests_cypress/unit/node_modules/ramda/es/startsWith.js +tests/tests_cypress/unit/node_modules/ramda/es/subtract.js +tests/tests_cypress/unit/node_modules/ramda/es/sum.js +tests/tests_cypress/unit/node_modules/ramda/es/symmetricDifference.js +tests/tests_cypress/unit/node_modules/ramda/es/symmetricDifferenceWith.js +tests/tests_cypress/unit/node_modules/ramda/es/T.js +tests/tests_cypress/unit/node_modules/ramda/es/tail.js +tests/tests_cypress/unit/node_modules/ramda/es/take.js +tests/tests_cypress/unit/node_modules/ramda/es/takeLast.js +tests/tests_cypress/unit/node_modules/ramda/es/takeLastWhile.js +tests/tests_cypress/unit/node_modules/ramda/es/takeWhile.js +tests/tests_cypress/unit/node_modules/ramda/es/tap.js +tests/tests_cypress/unit/node_modules/ramda/es/test.js +tests/tests_cypress/unit/node_modules/ramda/es/times.js +tests/tests_cypress/unit/node_modules/ramda/es/toLower.js +tests/tests_cypress/unit/node_modules/ramda/es/toPairs.js +tests/tests_cypress/unit/node_modules/ramda/es/toPairsIn.js +tests/tests_cypress/unit/node_modules/ramda/es/toString.js +tests/tests_cypress/unit/node_modules/ramda/es/toUpper.js +tests/tests_cypress/unit/node_modules/ramda/es/transduce.js +tests/tests_cypress/unit/node_modules/ramda/es/transpose.js +tests/tests_cypress/unit/node_modules/ramda/es/traverse.js +tests/tests_cypress/unit/node_modules/ramda/es/trim.js +tests/tests_cypress/unit/node_modules/ramda/es/tryCatch.js +tests/tests_cypress/unit/node_modules/ramda/es/type.js +tests/tests_cypress/unit/node_modules/ramda/es/unapply.js +tests/tests_cypress/unit/node_modules/ramda/es/unary.js +tests/tests_cypress/unit/node_modules/ramda/es/uncurryN.js +tests/tests_cypress/unit/node_modules/ramda/es/unfold.js +tests/tests_cypress/unit/node_modules/ramda/es/union.js +tests/tests_cypress/unit/node_modules/ramda/es/unionWith.js +tests/tests_cypress/unit/node_modules/ramda/es/uniq.js +tests/tests_cypress/unit/node_modules/ramda/es/uniqBy.js +tests/tests_cypress/unit/node_modules/ramda/es/uniqWith.js +tests/tests_cypress/unit/node_modules/ramda/es/unless.js +tests/tests_cypress/unit/node_modules/ramda/es/unnest.js +tests/tests_cypress/unit/node_modules/ramda/es/until.js +tests/tests_cypress/unit/node_modules/ramda/es/update.js +tests/tests_cypress/unit/node_modules/ramda/es/useWith.js +tests/tests_cypress/unit/node_modules/ramda/es/values.js +tests/tests_cypress/unit/node_modules/ramda/es/valuesIn.js +tests/tests_cypress/unit/node_modules/ramda/es/view.js +tests/tests_cypress/unit/node_modules/ramda/es/when.js +tests/tests_cypress/unit/node_modules/ramda/es/where.js +tests/tests_cypress/unit/node_modules/ramda/es/whereEq.js +tests/tests_cypress/unit/node_modules/ramda/es/without.js +tests/tests_cypress/unit/node_modules/ramda/es/xprod.js +tests/tests_cypress/unit/node_modules/ramda/es/zip.js +tests/tests_cypress/unit/node_modules/ramda/es/zipObj.js +tests/tests_cypress/unit/node_modules/ramda/es/zipWith.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_aperture.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_arity.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_arrayFromIterator.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_assign.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_checkForMethod.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_clone.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_cloneRegExp.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_complement.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_concat.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_contains.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_containsWith.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_createPartialApplicator.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_curry1.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_curry2.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_curry3.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_curryN.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_dispatchable.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_dropLast.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_dropLastWhile.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_equals.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_filter.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_flatCat.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_forceReduced.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_functionName.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_functionsWith.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_has.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_identity.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_indexOf.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_isArguments.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_isArray.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_isArrayLike.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_isFunction.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_isInteger.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_isNumber.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_isObject.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_isPlaceholder.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_isRegExp.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_isString.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_isTransformer.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_makeFlat.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_map.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_objectAssign.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_of.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_pipe.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_pipeP.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_quote.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_reduce.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_reduced.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_Set.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_stepCat.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_toISOString.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_toString.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_xall.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_xany.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_xaperture.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_xchain.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_xdrop.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_xdropLast.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_xdropLastWhile.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_xdropRepeatsWith.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_xdropWhile.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_xfBase.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_xfilter.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_xfind.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_xfindIndex.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_xfindLast.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_xfindLastIndex.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_xmap.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_xreduceBy.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_xtake.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_xtakeWhile.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_xtap.js +tests/tests_cypress/unit/node_modules/ramda/es/internal/_xwrap.js +tests/tests_cypress/unit/node_modules/ramda/src/__.js +tests/tests_cypress/unit/node_modules/ramda/src/add.js +tests/tests_cypress/unit/node_modules/ramda/src/addIndex.js +tests/tests_cypress/unit/node_modules/ramda/src/adjust.js +tests/tests_cypress/unit/node_modules/ramda/src/all.js +tests/tests_cypress/unit/node_modules/ramda/src/allPass.js +tests/tests_cypress/unit/node_modules/ramda/src/always.js +tests/tests_cypress/unit/node_modules/ramda/src/and.js +tests/tests_cypress/unit/node_modules/ramda/src/any.js +tests/tests_cypress/unit/node_modules/ramda/src/anyPass.js +tests/tests_cypress/unit/node_modules/ramda/src/ap.js +tests/tests_cypress/unit/node_modules/ramda/src/aperture.js +tests/tests_cypress/unit/node_modules/ramda/src/append.js +tests/tests_cypress/unit/node_modules/ramda/src/apply.js +tests/tests_cypress/unit/node_modules/ramda/src/applySpec.js +tests/tests_cypress/unit/node_modules/ramda/src/applyTo.js +tests/tests_cypress/unit/node_modules/ramda/src/ascend.js +tests/tests_cypress/unit/node_modules/ramda/src/assoc.js +tests/tests_cypress/unit/node_modules/ramda/src/assocPath.js +tests/tests_cypress/unit/node_modules/ramda/src/binary.js +tests/tests_cypress/unit/node_modules/ramda/src/bind.js +tests/tests_cypress/unit/node_modules/ramda/src/both.js +tests/tests_cypress/unit/node_modules/ramda/src/call.js +tests/tests_cypress/unit/node_modules/ramda/src/chain.js +tests/tests_cypress/unit/node_modules/ramda/src/clamp.js +tests/tests_cypress/unit/node_modules/ramda/src/clone.js +tests/tests_cypress/unit/node_modules/ramda/src/comparator.js +tests/tests_cypress/unit/node_modules/ramda/src/complement.js +tests/tests_cypress/unit/node_modules/ramda/src/compose.js +tests/tests_cypress/unit/node_modules/ramda/src/composeK.js +tests/tests_cypress/unit/node_modules/ramda/src/composeP.js +tests/tests_cypress/unit/node_modules/ramda/src/concat.js +tests/tests_cypress/unit/node_modules/ramda/src/cond.js +tests/tests_cypress/unit/node_modules/ramda/src/construct.js +tests/tests_cypress/unit/node_modules/ramda/src/constructN.js +tests/tests_cypress/unit/node_modules/ramda/src/contains.js +tests/tests_cypress/unit/node_modules/ramda/src/converge.js +tests/tests_cypress/unit/node_modules/ramda/src/countBy.js +tests/tests_cypress/unit/node_modules/ramda/src/curry.js +tests/tests_cypress/unit/node_modules/ramda/src/curryN.js +tests/tests_cypress/unit/node_modules/ramda/src/dec.js +tests/tests_cypress/unit/node_modules/ramda/src/defaultTo.js +tests/tests_cypress/unit/node_modules/ramda/src/descend.js +tests/tests_cypress/unit/node_modules/ramda/src/difference.js +tests/tests_cypress/unit/node_modules/ramda/src/differenceWith.js +tests/tests_cypress/unit/node_modules/ramda/src/dissoc.js +tests/tests_cypress/unit/node_modules/ramda/src/dissocPath.js +tests/tests_cypress/unit/node_modules/ramda/src/divide.js +tests/tests_cypress/unit/node_modules/ramda/src/drop.js +tests/tests_cypress/unit/node_modules/ramda/src/dropLast.js +tests/tests_cypress/unit/node_modules/ramda/src/dropLastWhile.js +tests/tests_cypress/unit/node_modules/ramda/src/dropRepeats.js +tests/tests_cypress/unit/node_modules/ramda/src/dropRepeatsWith.js +tests/tests_cypress/unit/node_modules/ramda/src/dropWhile.js +tests/tests_cypress/unit/node_modules/ramda/src/either.js +tests/tests_cypress/unit/node_modules/ramda/src/empty.js +tests/tests_cypress/unit/node_modules/ramda/src/endsWith.js +tests/tests_cypress/unit/node_modules/ramda/src/eqBy.js +tests/tests_cypress/unit/node_modules/ramda/src/eqProps.js +tests/tests_cypress/unit/node_modules/ramda/src/equals.js +tests/tests_cypress/unit/node_modules/ramda/src/evolve.js +tests/tests_cypress/unit/node_modules/ramda/src/F.js +tests/tests_cypress/unit/node_modules/ramda/src/filter.js +tests/tests_cypress/unit/node_modules/ramda/src/find.js +tests/tests_cypress/unit/node_modules/ramda/src/findIndex.js +tests/tests_cypress/unit/node_modules/ramda/src/findLast.js +tests/tests_cypress/unit/node_modules/ramda/src/findLastIndex.js +tests/tests_cypress/unit/node_modules/ramda/src/flatten.js +tests/tests_cypress/unit/node_modules/ramda/src/flip.js +tests/tests_cypress/unit/node_modules/ramda/src/forEach.js +tests/tests_cypress/unit/node_modules/ramda/src/forEachObjIndexed.js +tests/tests_cypress/unit/node_modules/ramda/src/fromPairs.js +tests/tests_cypress/unit/node_modules/ramda/src/groupBy.js +tests/tests_cypress/unit/node_modules/ramda/src/groupWith.js +tests/tests_cypress/unit/node_modules/ramda/src/gt.js +tests/tests_cypress/unit/node_modules/ramda/src/gte.js +tests/tests_cypress/unit/node_modules/ramda/src/has.js +tests/tests_cypress/unit/node_modules/ramda/src/hasIn.js +tests/tests_cypress/unit/node_modules/ramda/src/head.js +tests/tests_cypress/unit/node_modules/ramda/src/identical.js +tests/tests_cypress/unit/node_modules/ramda/src/identity.js +tests/tests_cypress/unit/node_modules/ramda/src/ifElse.js +tests/tests_cypress/unit/node_modules/ramda/src/inc.js +tests/tests_cypress/unit/node_modules/ramda/src/index.js +tests/tests_cypress/unit/node_modules/ramda/src/indexBy.js +tests/tests_cypress/unit/node_modules/ramda/src/indexOf.js +tests/tests_cypress/unit/node_modules/ramda/src/init.js +tests/tests_cypress/unit/node_modules/ramda/src/innerJoin.js +tests/tests_cypress/unit/node_modules/ramda/src/insert.js +tests/tests_cypress/unit/node_modules/ramda/src/insertAll.js +tests/tests_cypress/unit/node_modules/ramda/src/intersection.js +tests/tests_cypress/unit/node_modules/ramda/src/intersperse.js +tests/tests_cypress/unit/node_modules/ramda/src/into.js +tests/tests_cypress/unit/node_modules/ramda/src/invert.js +tests/tests_cypress/unit/node_modules/ramda/src/invertObj.js +tests/tests_cypress/unit/node_modules/ramda/src/invoker.js +tests/tests_cypress/unit/node_modules/ramda/src/is.js +tests/tests_cypress/unit/node_modules/ramda/src/isEmpty.js +tests/tests_cypress/unit/node_modules/ramda/src/isNil.js +tests/tests_cypress/unit/node_modules/ramda/src/join.js +tests/tests_cypress/unit/node_modules/ramda/src/juxt.js +tests/tests_cypress/unit/node_modules/ramda/src/keys.js +tests/tests_cypress/unit/node_modules/ramda/src/keysIn.js +tests/tests_cypress/unit/node_modules/ramda/src/last.js +tests/tests_cypress/unit/node_modules/ramda/src/lastIndexOf.js +tests/tests_cypress/unit/node_modules/ramda/src/length.js +tests/tests_cypress/unit/node_modules/ramda/src/lens.js +tests/tests_cypress/unit/node_modules/ramda/src/lensIndex.js +tests/tests_cypress/unit/node_modules/ramda/src/lensPath.js +tests/tests_cypress/unit/node_modules/ramda/src/lensProp.js +tests/tests_cypress/unit/node_modules/ramda/src/lift.js +tests/tests_cypress/unit/node_modules/ramda/src/liftN.js +tests/tests_cypress/unit/node_modules/ramda/src/lt.js +tests/tests_cypress/unit/node_modules/ramda/src/lte.js +tests/tests_cypress/unit/node_modules/ramda/src/map.js +tests/tests_cypress/unit/node_modules/ramda/src/mapAccum.js +tests/tests_cypress/unit/node_modules/ramda/src/mapAccumRight.js +tests/tests_cypress/unit/node_modules/ramda/src/mapObjIndexed.js +tests/tests_cypress/unit/node_modules/ramda/src/match.js +tests/tests_cypress/unit/node_modules/ramda/src/mathMod.js +tests/tests_cypress/unit/node_modules/ramda/src/max.js +tests/tests_cypress/unit/node_modules/ramda/src/maxBy.js +tests/tests_cypress/unit/node_modules/ramda/src/mean.js +tests/tests_cypress/unit/node_modules/ramda/src/median.js +tests/tests_cypress/unit/node_modules/ramda/src/memoize.js +tests/tests_cypress/unit/node_modules/ramda/src/memoizeWith.js +tests/tests_cypress/unit/node_modules/ramda/src/merge.js +tests/tests_cypress/unit/node_modules/ramda/src/mergeAll.js +tests/tests_cypress/unit/node_modules/ramda/src/mergeDeepLeft.js +tests/tests_cypress/unit/node_modules/ramda/src/mergeDeepRight.js +tests/tests_cypress/unit/node_modules/ramda/src/mergeDeepWith.js +tests/tests_cypress/unit/node_modules/ramda/src/mergeDeepWithKey.js +tests/tests_cypress/unit/node_modules/ramda/src/mergeWith.js +tests/tests_cypress/unit/node_modules/ramda/src/mergeWithKey.js +tests/tests_cypress/unit/node_modules/ramda/src/min.js +tests/tests_cypress/unit/node_modules/ramda/src/minBy.js +tests/tests_cypress/unit/node_modules/ramda/src/modulo.js +tests/tests_cypress/unit/node_modules/ramda/src/multiply.js +tests/tests_cypress/unit/node_modules/ramda/src/nAry.js +tests/tests_cypress/unit/node_modules/ramda/src/negate.js +tests/tests_cypress/unit/node_modules/ramda/src/none.js +tests/tests_cypress/unit/node_modules/ramda/src/not.js +tests/tests_cypress/unit/node_modules/ramda/src/nth.js +tests/tests_cypress/unit/node_modules/ramda/src/nthArg.js +tests/tests_cypress/unit/node_modules/ramda/src/o.js +tests/tests_cypress/unit/node_modules/ramda/src/objOf.js +tests/tests_cypress/unit/node_modules/ramda/src/of.js +tests/tests_cypress/unit/node_modules/ramda/src/omit.js +tests/tests_cypress/unit/node_modules/ramda/src/once.js +tests/tests_cypress/unit/node_modules/ramda/src/or.js +tests/tests_cypress/unit/node_modules/ramda/src/over.js +tests/tests_cypress/unit/node_modules/ramda/src/pair.js +tests/tests_cypress/unit/node_modules/ramda/src/partial.js +tests/tests_cypress/unit/node_modules/ramda/src/partialRight.js +tests/tests_cypress/unit/node_modules/ramda/src/partition.js +tests/tests_cypress/unit/node_modules/ramda/src/path.js +tests/tests_cypress/unit/node_modules/ramda/src/pathEq.js +tests/tests_cypress/unit/node_modules/ramda/src/pathOr.js +tests/tests_cypress/unit/node_modules/ramda/src/pathSatisfies.js +tests/tests_cypress/unit/node_modules/ramda/src/pick.js +tests/tests_cypress/unit/node_modules/ramda/src/pickAll.js +tests/tests_cypress/unit/node_modules/ramda/src/pickBy.js +tests/tests_cypress/unit/node_modules/ramda/src/pipe.js +tests/tests_cypress/unit/node_modules/ramda/src/pipeK.js +tests/tests_cypress/unit/node_modules/ramda/src/pipeP.js +tests/tests_cypress/unit/node_modules/ramda/src/pluck.js +tests/tests_cypress/unit/node_modules/ramda/src/prepend.js +tests/tests_cypress/unit/node_modules/ramda/src/product.js +tests/tests_cypress/unit/node_modules/ramda/src/project.js +tests/tests_cypress/unit/node_modules/ramda/src/prop.js +tests/tests_cypress/unit/node_modules/ramda/src/propEq.js +tests/tests_cypress/unit/node_modules/ramda/src/propIs.js +tests/tests_cypress/unit/node_modules/ramda/src/propOr.js +tests/tests_cypress/unit/node_modules/ramda/src/props.js +tests/tests_cypress/unit/node_modules/ramda/src/propSatisfies.js +tests/tests_cypress/unit/node_modules/ramda/src/range.js +tests/tests_cypress/unit/node_modules/ramda/src/reduce.js +tests/tests_cypress/unit/node_modules/ramda/src/reduceBy.js +tests/tests_cypress/unit/node_modules/ramda/src/reduced.js +tests/tests_cypress/unit/node_modules/ramda/src/reduceRight.js +tests/tests_cypress/unit/node_modules/ramda/src/reduceWhile.js +tests/tests_cypress/unit/node_modules/ramda/src/reject.js +tests/tests_cypress/unit/node_modules/ramda/src/remove.js +tests/tests_cypress/unit/node_modules/ramda/src/repeat.js +tests/tests_cypress/unit/node_modules/ramda/src/replace.js +tests/tests_cypress/unit/node_modules/ramda/src/reverse.js +tests/tests_cypress/unit/node_modules/ramda/src/scan.js +tests/tests_cypress/unit/node_modules/ramda/src/sequence.js +tests/tests_cypress/unit/node_modules/ramda/src/set.js +tests/tests_cypress/unit/node_modules/ramda/src/slice.js +tests/tests_cypress/unit/node_modules/ramda/src/sort.js +tests/tests_cypress/unit/node_modules/ramda/src/sortBy.js +tests/tests_cypress/unit/node_modules/ramda/src/sortWith.js +tests/tests_cypress/unit/node_modules/ramda/src/split.js +tests/tests_cypress/unit/node_modules/ramda/src/splitAt.js +tests/tests_cypress/unit/node_modules/ramda/src/splitEvery.js +tests/tests_cypress/unit/node_modules/ramda/src/splitWhen.js +tests/tests_cypress/unit/node_modules/ramda/src/startsWith.js +tests/tests_cypress/unit/node_modules/ramda/src/subtract.js +tests/tests_cypress/unit/node_modules/ramda/src/sum.js +tests/tests_cypress/unit/node_modules/ramda/src/symmetricDifference.js +tests/tests_cypress/unit/node_modules/ramda/src/symmetricDifferenceWith.js +tests/tests_cypress/unit/node_modules/ramda/src/T.js +tests/tests_cypress/unit/node_modules/ramda/src/tail.js +tests/tests_cypress/unit/node_modules/ramda/src/take.js +tests/tests_cypress/unit/node_modules/ramda/src/takeLast.js +tests/tests_cypress/unit/node_modules/ramda/src/takeLastWhile.js +tests/tests_cypress/unit/node_modules/ramda/src/takeWhile.js +tests/tests_cypress/unit/node_modules/ramda/src/tap.js +tests/tests_cypress/unit/node_modules/ramda/src/test.js +tests/tests_cypress/unit/node_modules/ramda/src/times.js +tests/tests_cypress/unit/node_modules/ramda/src/toLower.js +tests/tests_cypress/unit/node_modules/ramda/src/toPairs.js +tests/tests_cypress/unit/node_modules/ramda/src/toPairsIn.js +tests/tests_cypress/unit/node_modules/ramda/src/toString.js +tests/tests_cypress/unit/node_modules/ramda/src/toUpper.js +tests/tests_cypress/unit/node_modules/ramda/src/transduce.js +tests/tests_cypress/unit/node_modules/ramda/src/transpose.js +tests/tests_cypress/unit/node_modules/ramda/src/traverse.js +tests/tests_cypress/unit/node_modules/ramda/src/trim.js +tests/tests_cypress/unit/node_modules/ramda/src/tryCatch.js +tests/tests_cypress/unit/node_modules/ramda/src/type.js +tests/tests_cypress/unit/node_modules/ramda/src/unapply.js +tests/tests_cypress/unit/node_modules/ramda/src/unary.js +tests/tests_cypress/unit/node_modules/ramda/src/uncurryN.js +tests/tests_cypress/unit/node_modules/ramda/src/unfold.js +tests/tests_cypress/unit/node_modules/ramda/src/union.js +tests/tests_cypress/unit/node_modules/ramda/src/unionWith.js +tests/tests_cypress/unit/node_modules/ramda/src/uniq.js +tests/tests_cypress/unit/node_modules/ramda/src/uniqBy.js +tests/tests_cypress/unit/node_modules/ramda/src/uniqWith.js +tests/tests_cypress/unit/node_modules/ramda/src/unless.js +tests/tests_cypress/unit/node_modules/ramda/src/unnest.js +tests/tests_cypress/unit/node_modules/ramda/src/until.js +tests/tests_cypress/unit/node_modules/ramda/src/update.js +tests/tests_cypress/unit/node_modules/ramda/src/useWith.js +tests/tests_cypress/unit/node_modules/ramda/src/values.js +tests/tests_cypress/unit/node_modules/ramda/src/valuesIn.js +tests/tests_cypress/unit/node_modules/ramda/src/view.js +tests/tests_cypress/unit/node_modules/ramda/src/when.js +tests/tests_cypress/unit/node_modules/ramda/src/where.js +tests/tests_cypress/unit/node_modules/ramda/src/whereEq.js +tests/tests_cypress/unit/node_modules/ramda/src/without.js +tests/tests_cypress/unit/node_modules/ramda/src/xprod.js +tests/tests_cypress/unit/node_modules/ramda/src/zip.js +tests/tests_cypress/unit/node_modules/ramda/src/zipObj.js +tests/tests_cypress/unit/node_modules/ramda/src/zipWith.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_aperture.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_arity.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_arrayFromIterator.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_assign.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_checkForMethod.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_clone.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_cloneRegExp.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_complement.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_concat.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_contains.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_containsWith.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_createPartialApplicator.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_curry1.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_curry2.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_curry3.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_curryN.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_dispatchable.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_dropLast.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_dropLastWhile.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_equals.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_filter.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_flatCat.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_forceReduced.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_functionName.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_functionsWith.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_has.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_identity.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_indexOf.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_isArguments.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_isArray.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_isArrayLike.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_isFunction.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_isInteger.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_isNumber.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_isObject.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_isPlaceholder.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_isRegExp.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_isString.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_isTransformer.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_makeFlat.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_map.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_objectAssign.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_of.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_pipe.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_pipeP.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_quote.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_reduce.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_reduced.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_Set.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_stepCat.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_toISOString.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_toString.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_xall.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_xany.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_xaperture.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_xchain.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_xdrop.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_xdropLast.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_xdropLastWhile.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_xdropRepeatsWith.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_xdropWhile.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_xfBase.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_xfilter.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_xfind.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_xfindIndex.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_xfindLast.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_xfindLastIndex.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_xmap.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_xreduceBy.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_xtake.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_xtakeWhile.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_xtap.js +tests/tests_cypress/unit/node_modules/ramda/src/internal/_xwrap.js +tests/tests_cypress/unit/node_modules/request-progress/.editorconfig +tests/tests_cypress/unit/node_modules/request-progress/.jshintrc +tests/tests_cypress/unit/node_modules/request-progress/.npmignore +tests/tests_cypress/unit/node_modules/request-progress/.travis.yml +tests/tests_cypress/unit/node_modules/request-progress/index.js +tests/tests_cypress/unit/node_modules/request-progress/LICENSE +tests/tests_cypress/unit/node_modules/request-progress/package.json +tests/tests_cypress/unit/node_modules/request-progress/README.md +tests/tests_cypress/unit/node_modules/request-progress/test/test.js +tests/tests_cypress/unit/node_modules/restore-cursor/index.d.ts +tests/tests_cypress/unit/node_modules/restore-cursor/index.js +tests/tests_cypress/unit/node_modules/restore-cursor/license +tests/tests_cypress/unit/node_modules/restore-cursor/package.json +tests/tests_cypress/unit/node_modules/restore-cursor/readme.md +tests/tests_cypress/unit/node_modules/rfdc/default.js +tests/tests_cypress/unit/node_modules/rfdc/index.d.ts +tests/tests_cypress/unit/node_modules/rfdc/index.js +tests/tests_cypress/unit/node_modules/rfdc/index.test-d.ts +tests/tests_cypress/unit/node_modules/rfdc/LICENSE +tests/tests_cypress/unit/node_modules/rfdc/package.json +tests/tests_cypress/unit/node_modules/rfdc/readme.md +tests/tests_cypress/unit/node_modules/rfdc/.github/workflows/ci.yml +tests/tests_cypress/unit/node_modules/rfdc/test/index.js +tests/tests_cypress/unit/node_modules/rimraf/bin.js +tests/tests_cypress/unit/node_modules/rimraf/CHANGELOG.md +tests/tests_cypress/unit/node_modules/rimraf/LICENSE +tests/tests_cypress/unit/node_modules/rimraf/package.json +tests/tests_cypress/unit/node_modules/rimraf/README.md +tests/tests_cypress/unit/node_modules/rimraf/rimraf.js +tests/tests_cypress/unit/node_modules/rxjs/CHANGELOG.md +tests/tests_cypress/unit/node_modules/rxjs/CODE_OF_CONDUCT.md +tests/tests_cypress/unit/node_modules/rxjs/LICENSE.txt +tests/tests_cypress/unit/node_modules/rxjs/package.json +tests/tests_cypress/unit/node_modules/rxjs/README.md +tests/tests_cypress/unit/node_modules/rxjs/tsconfig.json +tests/tests_cypress/unit/node_modules/rxjs/ajax/package.json +tests/tests_cypress/unit/node_modules/rxjs/dist/bundles/rxjs.umd.js +tests/tests_cypress/unit/node_modules/rxjs/dist/bundles/rxjs.umd.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/bundles/rxjs.umd.min.js +tests/tests_cypress/unit/node_modules/rxjs/dist/bundles/rxjs.umd.min.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/index.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/index.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/ajax/index.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/ajax/index.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/fetch/index.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/fetch/index.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/AnyCatcher.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/AnyCatcher.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/AsyncSubject.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/AsyncSubject.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/BehaviorSubject.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/BehaviorSubject.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/config.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/config.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/firstValueFrom.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/firstValueFrom.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/lastValueFrom.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/lastValueFrom.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/Notification.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/Notification.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/NotificationFactories.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/NotificationFactories.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/Observable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/Observable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/Operator.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/Operator.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/ReplaySubject.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/ReplaySubject.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/Scheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/Scheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/Subject.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/Subject.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/Subscriber.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/Subscriber.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/Subscription.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/Subscription.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/types.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/types.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/ajax/ajax.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/ajax/ajax.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/ajax/AjaxResponse.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/ajax/AjaxResponse.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/ajax/errors.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/ajax/errors.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/ajax/getXHRResponse.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/ajax/getXHRResponse.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/ajax/types.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/ajax/types.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/bindCallback.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/bindCallback.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/bindCallbackInternals.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/bindCallbackInternals.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/bindNodeCallback.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/bindNodeCallback.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/combineLatest.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/combineLatest.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/concat.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/concat.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/connectable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/connectable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/ConnectableObservable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/ConnectableObservable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/defer.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/defer.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/empty.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/empty.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/forkJoin.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/forkJoin.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/from.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/from.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/fromEvent.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/fromEvent.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/fromEventPattern.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/fromEventPattern.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/fromSubscribable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/fromSubscribable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/generate.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/generate.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/iif.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/iif.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/innerFrom.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/innerFrom.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/interval.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/interval.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/merge.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/merge.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/never.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/never.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/of.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/of.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/onErrorResumeNext.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/onErrorResumeNext.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/pairs.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/pairs.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/partition.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/partition.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/race.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/race.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/range.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/range.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/throwError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/throwError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/timer.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/timer.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/using.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/using.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/zip.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/zip.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/dom/animationFrames.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/dom/animationFrames.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/dom/fetch.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/dom/fetch.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/dom/webSocket.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/dom/webSocket.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/dom/WebSocketSubject.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/observable/dom/WebSocketSubject.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/audit.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/audit.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/auditTime.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/auditTime.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/buffer.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/buffer.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/bufferCount.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/bufferCount.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/bufferTime.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/bufferTime.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/bufferToggle.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/bufferToggle.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/bufferWhen.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/bufferWhen.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/catchError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/catchError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/combineAll.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/combineAll.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/combineLatest.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/combineLatest.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/combineLatestAll.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/combineLatestAll.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/combineLatestWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/combineLatestWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/concat.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/concat.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/concatAll.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/concatAll.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/concatMap.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/concatMap.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/concatMapTo.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/concatMapTo.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/concatWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/concatWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/connect.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/connect.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/count.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/count.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/debounce.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/debounce.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/debounceTime.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/debounceTime.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/defaultIfEmpty.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/defaultIfEmpty.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/delay.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/delay.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/delayWhen.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/delayWhen.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/dematerialize.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/dematerialize.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/distinct.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/distinct.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/distinctUntilChanged.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/distinctUntilChanged.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/distinctUntilKeyChanged.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/distinctUntilKeyChanged.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/elementAt.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/elementAt.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/endWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/endWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/every.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/every.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/exhaust.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/exhaust.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/exhaustAll.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/exhaustAll.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/exhaustMap.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/exhaustMap.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/expand.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/expand.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/filter.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/filter.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/finalize.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/finalize.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/find.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/find.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/findIndex.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/findIndex.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/first.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/first.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/flatMap.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/flatMap.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/groupBy.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/groupBy.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/ignoreElements.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/ignoreElements.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/isEmpty.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/isEmpty.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/joinAllInternals.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/joinAllInternals.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/last.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/last.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/map.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/map.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/mapTo.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/mapTo.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/materialize.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/materialize.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/max.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/max.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/merge.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/merge.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/mergeAll.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/mergeAll.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/mergeInternals.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/mergeInternals.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/mergeMap.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/mergeMap.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/mergeMapTo.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/mergeMapTo.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/mergeScan.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/mergeScan.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/mergeWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/mergeWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/min.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/min.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/multicast.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/multicast.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/observeOn.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/observeOn.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/onErrorResumeNextWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/onErrorResumeNextWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/OperatorSubscriber.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/OperatorSubscriber.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/pairwise.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/pairwise.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/partition.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/partition.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/pluck.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/pluck.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/publish.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/publish.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/publishBehavior.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/publishBehavior.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/publishLast.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/publishLast.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/publishReplay.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/publishReplay.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/race.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/race.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/raceWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/raceWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/reduce.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/reduce.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/refCount.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/refCount.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/repeat.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/repeat.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/repeatWhen.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/repeatWhen.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/retry.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/retry.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/retryWhen.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/retryWhen.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/sample.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/sample.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/sampleTime.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/sampleTime.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/scan.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/scan.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/scanInternals.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/scanInternals.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/sequenceEqual.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/sequenceEqual.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/share.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/share.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/shareReplay.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/shareReplay.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/single.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/single.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/skip.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/skip.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/skipLast.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/skipLast.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/skipUntil.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/skipUntil.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/skipWhile.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/skipWhile.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/startWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/startWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/subscribeOn.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/subscribeOn.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/switchAll.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/switchAll.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/switchMap.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/switchMap.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/switchMapTo.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/switchMapTo.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/switchScan.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/switchScan.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/take.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/take.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/takeLast.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/takeLast.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/takeUntil.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/takeUntil.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/takeWhile.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/takeWhile.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/tap.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/tap.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/throttle.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/throttle.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/throttleTime.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/throttleTime.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/throwIfEmpty.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/throwIfEmpty.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/timeInterval.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/timeInterval.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/timeout.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/timeout.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/timeoutWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/timeoutWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/timestamp.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/timestamp.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/toArray.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/toArray.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/window.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/window.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/windowCount.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/windowCount.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/windowTime.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/windowTime.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/windowToggle.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/windowToggle.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/windowWhen.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/windowWhen.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/withLatestFrom.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/withLatestFrom.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/zip.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/zip.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/zipAll.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/zipAll.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/zipWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/operators/zipWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleArray.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleArray.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleAsyncIterable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleAsyncIterable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduled/scheduled.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduled/scheduled.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleIterable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleIterable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleObservable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleObservable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduled/schedulePromise.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduled/schedulePromise.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleReadableStreamLike.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleReadableStreamLike.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/Action.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/Action.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/animationFrame.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/animationFrame.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/AnimationFrameAction.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/AnimationFrameAction.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/animationFrameProvider.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/animationFrameProvider.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/AnimationFrameScheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/AnimationFrameScheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/asap.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/asap.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/AsapAction.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/AsapAction.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/AsapScheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/AsapScheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/async.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/async.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/AsyncAction.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/AsyncAction.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/AsyncScheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/AsyncScheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/dateTimestampProvider.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/dateTimestampProvider.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/immediateProvider.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/immediateProvider.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/intervalProvider.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/intervalProvider.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/performanceTimestampProvider.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/performanceTimestampProvider.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/queue.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/queue.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/QueueAction.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/QueueAction.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/QueueScheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/QueueScheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/timeoutProvider.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/timeoutProvider.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/timerHandle.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/timerHandle.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/VirtualTimeScheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/scheduler/VirtualTimeScheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/symbol/iterator.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/symbol/iterator.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/symbol/observable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/symbol/observable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/testing/ColdObservable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/testing/ColdObservable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/testing/HotObservable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/testing/HotObservable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/testing/SubscriptionLog.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/testing/SubscriptionLog.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/testing/SubscriptionLoggable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/testing/SubscriptionLoggable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/testing/TestMessage.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/testing/TestMessage.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/testing/TestScheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/testing/TestScheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/applyMixins.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/applyMixins.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/args.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/args.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/argsArgArrayOrObject.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/argsArgArrayOrObject.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/argsOrArgArray.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/argsOrArgArray.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/ArgumentOutOfRangeError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/ArgumentOutOfRangeError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/arrRemove.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/arrRemove.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/createErrorClass.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/createErrorClass.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/createObject.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/createObject.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/EmptyError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/EmptyError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/errorContext.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/errorContext.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/executeSchedule.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/executeSchedule.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/identity.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/identity.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/Immediate.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/Immediate.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/isArrayLike.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/isArrayLike.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/isAsyncIterable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/isAsyncIterable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/isDate.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/isDate.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/isFunction.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/isFunction.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/isInteropObservable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/isInteropObservable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/isIterable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/isIterable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/isObservable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/isObservable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/isPromise.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/isPromise.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/isReadableStreamLike.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/isReadableStreamLike.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/isScheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/isScheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/lift.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/lift.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/mapOneOrManyArgs.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/mapOneOrManyArgs.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/noop.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/noop.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/not.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/not.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/NotFoundError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/NotFoundError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/ObjectUnsubscribedError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/ObjectUnsubscribedError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/pipe.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/pipe.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/reportUnhandledError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/reportUnhandledError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/SequenceError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/SequenceError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/subscribeToArray.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/subscribeToArray.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/throwUnobservableError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/throwUnobservableError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/UnsubscriptionError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/UnsubscriptionError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/workarounds.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/internal/util/workarounds.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/operators/index.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/operators/index.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/testing/index.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/testing/index.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/webSocket/index.js +tests/tests_cypress/unit/node_modules/rxjs/dist/cjs/webSocket/index.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/index.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/index.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/ajax/index.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/ajax/index.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/fetch/index.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/fetch/index.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/AnyCatcher.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/AnyCatcher.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/AsyncSubject.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/AsyncSubject.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/BehaviorSubject.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/BehaviorSubject.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/config.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/config.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/firstValueFrom.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/firstValueFrom.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/lastValueFrom.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/lastValueFrom.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/Notification.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/Notification.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/NotificationFactories.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/NotificationFactories.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/Observable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/Observable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/Operator.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/Operator.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/ReplaySubject.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/ReplaySubject.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/Scheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/Scheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/Subject.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/Subject.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/Subscriber.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/Subscriber.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/Subscription.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/Subscription.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/types.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/types.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/umd.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/umd.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/ajax/ajax.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/ajax/ajax.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/ajax/AjaxResponse.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/ajax/AjaxResponse.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/ajax/errors.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/ajax/errors.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/ajax/getXHRResponse.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/ajax/getXHRResponse.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/ajax/types.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/ajax/types.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/bindCallback.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/bindCallback.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/bindCallbackInternals.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/bindCallbackInternals.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/bindNodeCallback.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/bindNodeCallback.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/combineLatest.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/combineLatest.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/concat.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/concat.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/connectable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/connectable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/ConnectableObservable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/ConnectableObservable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/defer.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/defer.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/empty.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/empty.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/forkJoin.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/forkJoin.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/from.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/from.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/fromEvent.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/fromEvent.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/fromEventPattern.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/fromEventPattern.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/fromSubscribable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/fromSubscribable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/generate.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/generate.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/iif.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/iif.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/innerFrom.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/innerFrom.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/interval.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/interval.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/merge.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/merge.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/never.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/never.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/of.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/of.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/onErrorResumeNext.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/onErrorResumeNext.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/pairs.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/pairs.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/partition.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/partition.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/race.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/race.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/range.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/range.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/throwError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/throwError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/timer.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/timer.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/using.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/using.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/zip.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/zip.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/dom/animationFrames.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/dom/animationFrames.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/dom/fetch.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/dom/fetch.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/dom/webSocket.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/dom/webSocket.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/dom/WebSocketSubject.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/observable/dom/WebSocketSubject.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/audit.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/audit.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/auditTime.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/auditTime.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/buffer.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/buffer.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/bufferCount.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/bufferCount.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/bufferTime.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/bufferTime.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/bufferToggle.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/bufferToggle.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/bufferWhen.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/bufferWhen.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/catchError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/catchError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/combineAll.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/combineAll.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/combineLatest.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/combineLatest.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/combineLatestAll.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/combineLatestAll.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/combineLatestWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/combineLatestWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/concat.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/concat.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/concatAll.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/concatAll.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/concatMap.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/concatMap.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/concatMapTo.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/concatMapTo.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/concatWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/concatWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/connect.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/connect.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/count.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/count.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/debounce.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/debounce.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/debounceTime.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/debounceTime.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/defaultIfEmpty.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/defaultIfEmpty.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/delay.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/delay.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/delayWhen.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/delayWhen.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/dematerialize.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/dematerialize.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/distinct.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/distinct.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/distinctUntilChanged.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/distinctUntilChanged.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/distinctUntilKeyChanged.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/distinctUntilKeyChanged.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/elementAt.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/elementAt.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/endWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/endWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/every.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/every.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/exhaust.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/exhaust.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/exhaustAll.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/exhaustAll.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/exhaustMap.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/exhaustMap.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/expand.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/expand.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/filter.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/filter.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/finalize.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/finalize.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/find.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/find.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/findIndex.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/findIndex.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/first.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/first.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/flatMap.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/flatMap.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/groupBy.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/groupBy.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/ignoreElements.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/ignoreElements.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/isEmpty.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/isEmpty.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/joinAllInternals.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/joinAllInternals.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/last.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/last.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/map.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/map.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/mapTo.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/mapTo.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/materialize.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/materialize.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/max.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/max.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/merge.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/merge.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/mergeAll.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/mergeAll.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/mergeInternals.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/mergeInternals.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/mergeMap.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/mergeMap.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/mergeMapTo.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/mergeMapTo.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/mergeScan.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/mergeScan.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/mergeWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/mergeWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/min.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/min.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/multicast.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/multicast.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/observeOn.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/observeOn.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/onErrorResumeNextWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/onErrorResumeNextWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/OperatorSubscriber.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/OperatorSubscriber.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/pairwise.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/pairwise.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/partition.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/partition.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/pluck.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/pluck.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/publish.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/publish.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/publishBehavior.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/publishBehavior.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/publishLast.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/publishLast.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/publishReplay.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/publishReplay.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/race.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/race.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/raceWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/raceWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/reduce.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/reduce.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/refCount.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/refCount.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/repeat.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/repeat.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/repeatWhen.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/repeatWhen.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/retry.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/retry.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/retryWhen.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/retryWhen.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/sample.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/sample.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/sampleTime.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/sampleTime.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/scan.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/scan.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/scanInternals.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/scanInternals.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/sequenceEqual.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/sequenceEqual.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/share.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/share.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/shareReplay.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/shareReplay.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/single.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/single.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/skip.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/skip.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/skipLast.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/skipLast.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/skipUntil.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/skipUntil.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/skipWhile.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/skipWhile.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/startWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/startWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/subscribeOn.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/subscribeOn.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/switchAll.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/switchAll.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/switchMap.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/switchMap.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/switchMapTo.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/switchMapTo.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/switchScan.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/switchScan.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/take.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/take.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/takeLast.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/takeLast.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/takeUntil.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/takeUntil.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/takeWhile.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/takeWhile.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/tap.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/tap.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/throttle.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/throttle.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/throttleTime.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/throttleTime.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/throwIfEmpty.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/throwIfEmpty.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/timeInterval.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/timeInterval.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/timeout.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/timeout.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/timeoutWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/timeoutWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/timestamp.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/timestamp.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/toArray.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/toArray.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/window.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/window.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/windowCount.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/windowCount.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/windowTime.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/windowTime.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/windowToggle.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/windowToggle.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/windowWhen.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/windowWhen.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/withLatestFrom.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/withLatestFrom.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/zip.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/zip.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/zipAll.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/zipAll.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/zipWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/operators/zipWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduled/scheduleArray.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduled/scheduleArray.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduled/scheduleAsyncIterable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduled/scheduleAsyncIterable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduled/scheduled.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduled/scheduled.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduled/scheduleIterable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduled/scheduleIterable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduled/scheduleObservable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduled/scheduleObservable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduled/schedulePromise.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduled/schedulePromise.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduled/scheduleReadableStreamLike.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduled/scheduleReadableStreamLike.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/Action.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/Action.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/animationFrame.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/animationFrame.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameAction.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameAction.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/animationFrameProvider.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/animationFrameProvider.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameScheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameScheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/asap.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/asap.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/AsapAction.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/AsapAction.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/AsapScheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/AsapScheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/async.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/async.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/AsyncAction.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/AsyncAction.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/AsyncScheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/AsyncScheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/dateTimestampProvider.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/dateTimestampProvider.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/immediateProvider.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/immediateProvider.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/intervalProvider.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/intervalProvider.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/performanceTimestampProvider.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/performanceTimestampProvider.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/queue.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/queue.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/QueueAction.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/QueueAction.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/QueueScheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/QueueScheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/timeoutProvider.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/timeoutProvider.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/timerHandle.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/timerHandle.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/VirtualTimeScheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/scheduler/VirtualTimeScheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/symbol/iterator.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/symbol/iterator.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/symbol/observable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/symbol/observable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/testing/ColdObservable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/testing/ColdObservable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/testing/HotObservable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/testing/HotObservable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/testing/SubscriptionLog.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/testing/SubscriptionLog.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/testing/SubscriptionLoggable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/testing/SubscriptionLoggable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/testing/TestMessage.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/testing/TestMessage.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/testing/TestScheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/testing/TestScheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/applyMixins.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/applyMixins.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/args.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/args.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/argsArgArrayOrObject.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/argsArgArrayOrObject.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/argsOrArgArray.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/argsOrArgArray.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/ArgumentOutOfRangeError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/ArgumentOutOfRangeError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/arrRemove.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/arrRemove.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/createErrorClass.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/createErrorClass.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/createObject.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/createObject.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/EmptyError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/EmptyError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/errorContext.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/errorContext.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/executeSchedule.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/executeSchedule.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/identity.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/identity.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/Immediate.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/Immediate.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/isArrayLike.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/isArrayLike.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/isAsyncIterable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/isAsyncIterable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/isDate.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/isDate.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/isFunction.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/isFunction.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/isInteropObservable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/isInteropObservable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/isIterable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/isIterable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/isObservable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/isObservable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/isPromise.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/isPromise.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/isReadableStreamLike.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/isReadableStreamLike.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/isScheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/isScheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/lift.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/lift.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/mapOneOrManyArgs.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/mapOneOrManyArgs.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/noop.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/noop.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/not.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/not.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/NotFoundError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/NotFoundError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/ObjectUnsubscribedError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/ObjectUnsubscribedError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/pipe.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/pipe.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/reportUnhandledError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/reportUnhandledError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/SequenceError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/SequenceError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/subscribeToArray.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/subscribeToArray.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/throwUnobservableError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/throwUnobservableError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/UnsubscriptionError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/UnsubscriptionError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/workarounds.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/internal/util/workarounds.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/operators/index.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/operators/index.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/testing/index.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/testing/index.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/webSocket/index.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm/webSocket/index.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/index.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/index.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/ajax/index.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/ajax/index.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/fetch/index.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/fetch/index.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/AnyCatcher.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/AnyCatcher.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/AsyncSubject.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/AsyncSubject.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/config.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/config.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/firstValueFrom.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/firstValueFrom.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/lastValueFrom.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/lastValueFrom.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/Notification.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/Notification.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/NotificationFactories.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/NotificationFactories.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/Observable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/Observable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/Operator.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/Operator.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/ReplaySubject.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/ReplaySubject.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/Scheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/Scheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/Subject.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/Subject.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/Subscriber.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/Subscriber.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/Subscription.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/Subscription.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/types.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/types.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/ajax/ajax.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/ajax/ajax.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/ajax/AjaxResponse.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/ajax/AjaxResponse.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/ajax/errors.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/ajax/errors.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/ajax/getXHRResponse.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/ajax/getXHRResponse.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/ajax/types.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/ajax/types.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/bindCallback.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/bindCallback.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/bindCallbackInternals.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/bindCallbackInternals.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/bindNodeCallback.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/bindNodeCallback.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/combineLatest.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/combineLatest.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/concat.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/concat.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/connectable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/connectable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/ConnectableObservable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/ConnectableObservable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/defer.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/defer.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/empty.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/empty.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/forkJoin.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/forkJoin.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/from.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/from.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/fromEvent.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/fromEvent.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/fromEventPattern.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/fromEventPattern.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/fromSubscribable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/fromSubscribable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/generate.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/generate.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/iif.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/iif.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/interval.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/interval.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/merge.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/merge.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/never.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/never.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/of.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/of.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/onErrorResumeNext.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/onErrorResumeNext.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/pairs.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/pairs.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/partition.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/partition.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/race.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/race.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/range.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/range.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/throwError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/throwError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/timer.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/timer.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/using.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/using.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/zip.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/zip.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/dom/animationFrames.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/dom/animationFrames.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/dom/fetch.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/dom/fetch.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/dom/webSocket.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/dom/webSocket.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/dom/WebSocketSubject.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/observable/dom/WebSocketSubject.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/audit.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/audit.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/auditTime.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/auditTime.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/buffer.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/buffer.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/bufferCount.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/bufferCount.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/bufferTime.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/bufferTime.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/bufferToggle.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/bufferToggle.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/bufferWhen.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/bufferWhen.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/catchError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/catchError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/combineAll.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/combineAll.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/combineLatest.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/combineLatest.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/combineLatestAll.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/combineLatestAll.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/combineLatestWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/combineLatestWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/concat.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/concat.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/concatAll.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/concatAll.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/concatMap.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/concatMap.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/concatMapTo.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/concatMapTo.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/concatWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/concatWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/connect.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/connect.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/count.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/count.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/debounce.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/debounce.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/debounceTime.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/debounceTime.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/defaultIfEmpty.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/defaultIfEmpty.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/delay.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/delay.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/delayWhen.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/delayWhen.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/dematerialize.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/dematerialize.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/distinct.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/distinct.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/distinctUntilKeyChanged.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/distinctUntilKeyChanged.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/elementAt.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/elementAt.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/endWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/endWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/every.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/every.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/exhaust.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/exhaust.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/exhaustAll.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/exhaustAll.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/exhaustMap.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/exhaustMap.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/expand.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/expand.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/filter.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/filter.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/finalize.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/finalize.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/find.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/find.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/findIndex.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/findIndex.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/first.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/first.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/flatMap.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/flatMap.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/groupBy.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/groupBy.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/ignoreElements.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/ignoreElements.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/isEmpty.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/isEmpty.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/joinAllInternals.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/joinAllInternals.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/last.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/last.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/map.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/map.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/mapTo.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/mapTo.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/materialize.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/materialize.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/max.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/max.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/merge.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/merge.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/mergeAll.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/mergeAll.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/mergeInternals.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/mergeInternals.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/mergeMapTo.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/mergeMapTo.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/mergeScan.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/mergeScan.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/mergeWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/mergeWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/min.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/min.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/multicast.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/multicast.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/observeOn.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/observeOn.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/onErrorResumeNextWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/onErrorResumeNextWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/pairwise.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/pairwise.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/partition.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/partition.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/pluck.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/pluck.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/publish.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/publish.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/publishBehavior.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/publishBehavior.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/publishLast.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/publishLast.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/publishReplay.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/publishReplay.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/race.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/race.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/raceWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/raceWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/reduce.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/reduce.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/refCount.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/refCount.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/repeat.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/repeat.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/repeatWhen.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/repeatWhen.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/retry.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/retry.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/retryWhen.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/retryWhen.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/sample.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/sample.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/sampleTime.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/sampleTime.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/scan.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/scan.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/scanInternals.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/scanInternals.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/sequenceEqual.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/sequenceEqual.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/share.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/share.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/single.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/single.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/skip.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/skip.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/skipLast.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/skipLast.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/skipUntil.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/skipUntil.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/skipWhile.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/skipWhile.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/startWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/startWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/switchAll.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/switchAll.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/switchMap.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/switchMap.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/switchMapTo.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/switchMapTo.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/switchScan.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/switchScan.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/take.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/take.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/takeLast.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/takeLast.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/takeUntil.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/takeUntil.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/takeWhile.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/takeWhile.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/tap.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/tap.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/throttle.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/throttle.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/throttleTime.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/throttleTime.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/throwIfEmpty.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/throwIfEmpty.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/timeInterval.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/timeInterval.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/timeout.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/timeout.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/timeoutWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/timeoutWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/timestamp.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/timestamp.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/toArray.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/toArray.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/window.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/window.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/windowCount.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/windowCount.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/windowTime.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/windowTime.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/windowToggle.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/windowToggle.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/windowWhen.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/windowWhen.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/withLatestFrom.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/withLatestFrom.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/zip.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/zip.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/zipAll.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/zipAll.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/zipWith.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/operators/zipWith.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduled/schedulePromise.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduled/schedulePromise.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/Action.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/Action.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/animationFrame.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/animationFrame.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/AnimationFrameAction.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/AnimationFrameAction.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/animationFrameProvider.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/animationFrameProvider.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/AnimationFrameScheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/AnimationFrameScheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/asap.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/asap.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/AsapAction.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/AsapAction.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/AsapScheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/AsapScheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/async.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/async.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncAction.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncAction.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncScheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncScheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/immediateProvider.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/immediateProvider.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/intervalProvider.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/intervalProvider.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/performanceTimestampProvider.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/performanceTimestampProvider.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/queue.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/queue.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/QueueAction.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/QueueAction.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/QueueScheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/QueueScheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/timerHandle.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/timerHandle.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/VirtualTimeScheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/scheduler/VirtualTimeScheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/symbol/iterator.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/symbol/iterator.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/symbol/observable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/symbol/observable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/testing/ColdObservable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/testing/ColdObservable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/testing/HotObservable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/testing/HotObservable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/testing/SubscriptionLog.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/testing/SubscriptionLog.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/testing/SubscriptionLoggable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/testing/SubscriptionLoggable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/testing/TestMessage.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/testing/TestMessage.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/testing/TestScheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/testing/TestScheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/applyMixins.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/applyMixins.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/args.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/args.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/argsArgArrayOrObject.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/argsArgArrayOrObject.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/argsOrArgArray.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/argsOrArgArray.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/ArgumentOutOfRangeError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/ArgumentOutOfRangeError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/createObject.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/createObject.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/EmptyError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/EmptyError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/errorContext.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/errorContext.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/identity.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/identity.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/Immediate.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/Immediate.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/isDate.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/isDate.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/isFunction.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/isFunction.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/isIterable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/isIterable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/isObservable.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/isObservable.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/isPromise.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/isPromise.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/isScheduler.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/isScheduler.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/lift.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/lift.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/noop.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/noop.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/not.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/not.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/NotFoundError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/NotFoundError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/pipe.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/pipe.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/SequenceError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/SequenceError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/subscribeToArray.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/subscribeToArray.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/workarounds.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/internal/util/workarounds.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/operators/index.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/operators/index.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/testing/index.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/testing/index.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/webSocket/index.js +tests/tests_cypress/unit/node_modules/rxjs/dist/esm5/webSocket/index.js.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/index.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/index.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/ajax/index.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/ajax/index.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/fetch/index.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/fetch/index.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/AnyCatcher.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/AnyCatcher.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/AsyncSubject.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/AsyncSubject.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/BehaviorSubject.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/BehaviorSubject.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/config.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/config.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/firstValueFrom.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/firstValueFrom.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/lastValueFrom.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/lastValueFrom.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/Notification.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/Notification.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/NotificationFactories.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/NotificationFactories.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/Observable.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/Observable.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/Operator.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/Operator.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/ReplaySubject.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/ReplaySubject.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/Scheduler.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/Scheduler.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/Subject.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/Subject.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/Subscriber.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/Subscriber.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/Subscription.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/Subscription.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/types.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/types.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/ajax/ajax.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/ajax/ajax.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/ajax/AjaxResponse.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/ajax/AjaxResponse.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/ajax/errors.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/ajax/errors.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/ajax/getXHRResponse.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/ajax/getXHRResponse.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/ajax/types.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/ajax/types.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/bindCallback.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/bindCallback.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/bindCallbackInternals.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/bindCallbackInternals.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/bindNodeCallback.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/bindNodeCallback.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/combineLatest.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/combineLatest.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/concat.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/concat.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/connectable.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/connectable.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/ConnectableObservable.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/ConnectableObservable.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/defer.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/defer.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/empty.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/empty.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/forkJoin.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/forkJoin.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/from.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/from.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/fromEvent.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/fromEvent.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/fromEventPattern.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/fromEventPattern.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/fromSubscribable.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/fromSubscribable.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/generate.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/generate.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/iif.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/iif.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/innerFrom.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/innerFrom.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/interval.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/interval.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/merge.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/merge.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/never.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/never.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/of.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/of.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/onErrorResumeNext.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/onErrorResumeNext.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/pairs.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/pairs.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/partition.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/partition.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/race.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/race.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/range.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/range.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/throwError.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/throwError.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/timer.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/timer.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/using.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/using.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/zip.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/zip.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/dom/animationFrames.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/dom/animationFrames.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/dom/fetch.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/dom/fetch.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/dom/webSocket.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/dom/webSocket.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/dom/WebSocketSubject.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/observable/dom/WebSocketSubject.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/audit.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/audit.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/auditTime.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/auditTime.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/buffer.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/buffer.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/bufferCount.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/bufferCount.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/bufferTime.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/bufferTime.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/bufferToggle.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/bufferToggle.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/bufferWhen.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/bufferWhen.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/catchError.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/catchError.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/combineAll.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/combineAll.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/combineLatest.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/combineLatest.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/combineLatestAll.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/combineLatestAll.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/combineLatestWith.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/combineLatestWith.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/concat.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/concat.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/concatAll.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/concatAll.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/concatMap.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/concatMap.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/concatMapTo.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/concatMapTo.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/concatWith.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/concatWith.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/connect.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/connect.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/count.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/count.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/debounce.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/debounce.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/debounceTime.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/debounceTime.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/defaultIfEmpty.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/defaultIfEmpty.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/delay.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/delay.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/delayWhen.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/delayWhen.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/distinct.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/distinct.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/distinctUntilChanged.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/distinctUntilChanged.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/distinctUntilKeyChanged.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/distinctUntilKeyChanged.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/elementAt.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/elementAt.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/endWith.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/endWith.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/every.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/every.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/exhaustAll.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/exhaustAll.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/exhaustMap.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/exhaustMap.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/expand.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/expand.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/filter.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/filter.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/finalize.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/finalize.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/find.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/find.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/findIndex.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/findIndex.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/first.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/first.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/flatMap.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/flatMap.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/groupBy.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/groupBy.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/ignoreElements.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/ignoreElements.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/isEmpty.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/isEmpty.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/joinAllInternals.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/joinAllInternals.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/last.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/last.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/map.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/map.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/mapTo.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/mapTo.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/materialize.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/materialize.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/max.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/max.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/merge.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/merge.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/mergeAll.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/mergeAll.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/mergeInternals.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/mergeInternals.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/mergeMap.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/mergeMap.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/mergeMapTo.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/mergeMapTo.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/mergeScan.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/mergeScan.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/mergeWith.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/mergeWith.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/min.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/min.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/multicast.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/multicast.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/observeOn.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/observeOn.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/onErrorResumeNextWith.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/onErrorResumeNextWith.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/OperatorSubscriber.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/OperatorSubscriber.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/partition.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/partition.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/pluck.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/pluck.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/publish.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/publish.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/publishBehavior.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/publishBehavior.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/publishLast.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/publishLast.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/publishReplay.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/publishReplay.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/race.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/race.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/raceWith.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/raceWith.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/reduce.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/reduce.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/refCount.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/refCount.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/repeat.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/repeat.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/repeatWhen.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/repeatWhen.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/retry.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/retry.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/retryWhen.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/retryWhen.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/sample.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/sample.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/sampleTime.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/sampleTime.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/scan.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/scan.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/scanInternals.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/scanInternals.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/sequenceEqual.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/sequenceEqual.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/share.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/share.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/shareReplay.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/shareReplay.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/single.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/single.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/skip.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/skip.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/skipLast.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/skipLast.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/skipUntil.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/skipUntil.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/skipWhile.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/skipWhile.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/startWith.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/startWith.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/subscribeOn.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/subscribeOn.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/switchAll.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/switchAll.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/switchMap.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/switchMap.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/switchMapTo.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/switchMapTo.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/switchScan.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/switchScan.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/take.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/take.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/takeLast.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/takeLast.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/takeUntil.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/takeUntil.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/takeWhile.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/takeWhile.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/tap.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/tap.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/throttle.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/throttle.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/throttleTime.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/throttleTime.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/throwIfEmpty.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/throwIfEmpty.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/timeInterval.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/timeInterval.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/timeout.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/timeout.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/timeoutWith.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/timeoutWith.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/toArray.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/toArray.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/window.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/window.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/windowCount.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/windowCount.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/windowTime.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/windowTime.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/windowToggle.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/windowToggle.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/windowWhen.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/windowWhen.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/withLatestFrom.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/withLatestFrom.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/zip.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/zip.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/zipAll.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/zipAll.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/zipWith.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/operators/zipWith.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduled/scheduleArray.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduled/scheduleArray.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduled/scheduleAsyncIterable.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduled/scheduleAsyncIterable.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduled/scheduleIterable.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduled/scheduleIterable.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduled/scheduleObservable.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduled/scheduleObservable.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduled/schedulePromise.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduled/schedulePromise.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduled/scheduleReadableStreamLike.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduled/scheduleReadableStreamLike.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/Action.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/Action.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/animationFrame.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/animationFrame.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/AnimationFrameAction.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/AnimationFrameAction.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/animationFrameProvider.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/animationFrameProvider.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/AnimationFrameScheduler.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/AnimationFrameScheduler.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/AsapAction.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/AsapAction.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/AsapScheduler.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/AsapScheduler.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/async.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/async.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/AsyncAction.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/AsyncAction.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/AsyncScheduler.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/AsyncScheduler.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/dateTimestampProvider.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/dateTimestampProvider.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/immediateProvider.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/immediateProvider.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/intervalProvider.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/intervalProvider.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/performanceTimestampProvider.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/performanceTimestampProvider.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/QueueAction.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/QueueAction.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/QueueScheduler.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/QueueScheduler.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/timeoutProvider.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/timeoutProvider.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/timerHandle.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/timerHandle.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/VirtualTimeScheduler.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/scheduler/VirtualTimeScheduler.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/symbol/iterator.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/symbol/iterator.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/symbol/observable.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/symbol/observable.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/testing/ColdObservable.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/testing/ColdObservable.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/testing/HotObservable.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/testing/HotObservable.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/testing/SubscriptionLog.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/testing/SubscriptionLog.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/testing/SubscriptionLoggable.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/testing/SubscriptionLoggable.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/testing/TestMessage.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/testing/TestMessage.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/testing/TestScheduler.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/testing/TestScheduler.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/applyMixins.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/applyMixins.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/args.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/args.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/argsArgArrayOrObject.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/argsArgArrayOrObject.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/argsOrArgArray.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/argsOrArgArray.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/ArgumentOutOfRangeError.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/ArgumentOutOfRangeError.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/arrRemove.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/arrRemove.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/createErrorClass.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/createErrorClass.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/createObject.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/createObject.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/EmptyError.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/EmptyError.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/errorContext.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/errorContext.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/executeSchedule.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/executeSchedule.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/identity.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/identity.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/Immediate.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/Immediate.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/isArrayLike.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/isArrayLike.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/isAsyncIterable.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/isAsyncIterable.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/isDate.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/isDate.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/isFunction.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/isFunction.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/isInteropObservable.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/isInteropObservable.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/isIterable.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/isIterable.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/isObservable.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/isObservable.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/isPromise.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/isPromise.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/isReadableStreamLike.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/isReadableStreamLike.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/isScheduler.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/isScheduler.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/lift.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/lift.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/mapOneOrManyArgs.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/mapOneOrManyArgs.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/noop.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/noop.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/not.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/not.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/NotFoundError.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/NotFoundError.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/ObjectUnsubscribedError.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/ObjectUnsubscribedError.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/pipe.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/pipe.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/reportUnhandledError.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/reportUnhandledError.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/SequenceError.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/SequenceError.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/subscribeToArray.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/subscribeToArray.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/throwUnobservableError.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/throwUnobservableError.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/UnsubscriptionError.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/UnsubscriptionError.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/workarounds.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/internal/util/workarounds.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/operators/index.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/operators/index.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/testing/index.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/testing/index.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/dist/types/webSocket/index.d.ts +tests/tests_cypress/unit/node_modules/rxjs/dist/types/webSocket/index.d.ts.map +tests/tests_cypress/unit/node_modules/rxjs/fetch/package.json +tests/tests_cypress/unit/node_modules/rxjs/operators/package.json +tests/tests_cypress/unit/node_modules/rxjs/src/index.ts +tests/tests_cypress/unit/node_modules/rxjs/src/Rx.global.js +tests/tests_cypress/unit/node_modules/rxjs/src/tsconfig.base.json +tests/tests_cypress/unit/node_modules/rxjs/src/tsconfig.cjs.json +tests/tests_cypress/unit/node_modules/rxjs/src/tsconfig.cjs.spec.json +tests/tests_cypress/unit/node_modules/rxjs/src/tsconfig.esm.json +tests/tests_cypress/unit/node_modules/rxjs/src/tsconfig.esm5.json +tests/tests_cypress/unit/node_modules/rxjs/src/tsconfig.esm5.rollup.json +tests/tests_cypress/unit/node_modules/rxjs/src/tsconfig.types.json +tests/tests_cypress/unit/node_modules/rxjs/src/tsconfig.types.spec.json +tests/tests_cypress/unit/node_modules/rxjs/src/ajax/index.ts +tests/tests_cypress/unit/node_modules/rxjs/src/fetch/index.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/AnyCatcher.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/AsyncSubject.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/BehaviorSubject.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/config.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/firstValueFrom.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/lastValueFrom.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/Notification.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/NotificationFactories.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/Observable.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/Operator.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/ReplaySubject.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/Scheduler.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/Subject.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/Subscriber.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/Subscription.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/types.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/umd.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/ajax/ajax.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/ajax/AjaxResponse.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/ajax/errors.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/ajax/getXHRResponse.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/ajax/types.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/bindCallback.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/bindCallbackInternals.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/bindNodeCallback.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/combineLatest.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/concat.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/connectable.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/ConnectableObservable.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/defer.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/empty.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/forkJoin.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/from.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/fromEvent.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/fromEventPattern.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/fromSubscribable.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/generate.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/iif.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/innerFrom.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/interval.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/merge.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/never.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/of.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/onErrorResumeNext.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/pairs.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/partition.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/race.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/range.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/throwError.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/timer.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/using.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/zip.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/dom/animationFrames.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/dom/fetch.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/dom/webSocket.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/observable/dom/WebSocketSubject.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/audit.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/auditTime.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/buffer.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/bufferCount.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/bufferTime.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/bufferToggle.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/bufferWhen.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/catchError.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/combineAll.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/combineLatest.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/combineLatestAll.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/combineLatestWith.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/concat.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/concatAll.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/concatMap.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/concatMapTo.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/concatWith.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/connect.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/count.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/debounce.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/debounceTime.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/defaultIfEmpty.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/delay.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/delayWhen.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/dematerialize.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/distinct.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/distinctUntilChanged.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/distinctUntilKeyChanged.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/elementAt.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/endWith.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/every.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/exhaust.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/exhaustAll.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/exhaustMap.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/expand.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/filter.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/finalize.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/find.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/findIndex.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/first.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/flatMap.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/groupBy.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/ignoreElements.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/isEmpty.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/joinAllInternals.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/last.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/map.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/mapTo.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/materialize.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/max.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/merge.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/mergeAll.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/mergeInternals.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/mergeMap.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/mergeMapTo.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/mergeScan.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/mergeWith.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/min.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/multicast.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/observeOn.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/onErrorResumeNextWith.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/OperatorSubscriber.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/pairwise.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/partition.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/pluck.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/publish.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/publishBehavior.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/publishLast.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/publishReplay.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/race.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/raceWith.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/reduce.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/refCount.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/repeat.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/repeatWhen.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/retry.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/retryWhen.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/sample.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/sampleTime.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/scan.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/scanInternals.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/sequenceEqual.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/share.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/shareReplay.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/single.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/skip.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/skipLast.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/skipUntil.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/skipWhile.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/startWith.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/subscribeOn.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/switchAll.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/switchMap.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/switchMapTo.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/switchScan.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/take.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/takeLast.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/takeUntil.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/takeWhile.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/tap.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/throttle.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/throttleTime.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/throwIfEmpty.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/timeInterval.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/timeout.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/timeoutWith.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/timestamp.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/toArray.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/window.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/windowCount.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/windowTime.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/windowToggle.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/windowWhen.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/withLatestFrom.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/zip.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/zipAll.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/operators/zipWith.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduled/scheduleArray.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduled/scheduled.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduled/scheduleObservable.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduled/schedulePromise.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduled/scheduleReadableStreamLike.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduler/Action.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduler/animationFrame.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduler/AnimationFrameAction.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduler/asap.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduler/AsapAction.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduler/AsapScheduler.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduler/async.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduler/AsyncAction.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduler/AsyncScheduler.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduler/dateTimestampProvider.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduler/immediateProvider.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduler/intervalProvider.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduler/performanceTimestampProvider.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduler/queue.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduler/QueueAction.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduler/QueueScheduler.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduler/timeoutProvider.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduler/timerHandle.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/scheduler/VirtualTimeScheduler.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/symbol/iterator.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/symbol/observable.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/testing/ColdObservable.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/testing/HotObservable.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/testing/SubscriptionLog.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/testing/SubscriptionLoggable.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/testing/TestMessage.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/testing/TestScheduler.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/applyMixins.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/args.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/argsArgArrayOrObject.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/argsOrArgArray.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/ArgumentOutOfRangeError.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/arrRemove.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/createErrorClass.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/createObject.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/EmptyError.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/errorContext.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/executeSchedule.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/identity.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/Immediate.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/isArrayLike.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/isAsyncIterable.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/isDate.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/isFunction.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/isInteropObservable.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/isIterable.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/isObservable.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/isPromise.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/isReadableStreamLike.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/isScheduler.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/lift.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/mapOneOrManyArgs.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/noop.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/not.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/NotFoundError.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/pipe.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/reportUnhandledError.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/SequenceError.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/subscribeToArray.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/throwUnobservableError.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/UnsubscriptionError.ts +tests/tests_cypress/unit/node_modules/rxjs/src/internal/util/workarounds.ts +tests/tests_cypress/unit/node_modules/rxjs/src/operators/index.ts +tests/tests_cypress/unit/node_modules/rxjs/src/testing/index.ts +tests/tests_cypress/unit/node_modules/rxjs/src/webSocket/index.ts +tests/tests_cypress/unit/node_modules/rxjs/testing/package.json +tests/tests_cypress/unit/node_modules/rxjs/webSocket/package.json +tests/tests_cypress/unit/node_modules/safe-buffer/index.d.ts +tests/tests_cypress/unit/node_modules/safe-buffer/index.js +tests/tests_cypress/unit/node_modules/safe-buffer/LICENSE +tests/tests_cypress/unit/node_modules/safe-buffer/package.json +tests/tests_cypress/unit/node_modules/safe-buffer/README.md +tests/tests_cypress/unit/node_modules/safer-buffer/dangerous.js +tests/tests_cypress/unit/node_modules/safer-buffer/LICENSE +tests/tests_cypress/unit/node_modules/safer-buffer/package.json +tests/tests_cypress/unit/node_modules/safer-buffer/Porting-Buffer.md +tests/tests_cypress/unit/node_modules/safer-buffer/Readme.md +tests/tests_cypress/unit/node_modules/safer-buffer/safer.js +tests/tests_cypress/unit/node_modules/safer-buffer/tests.js +tests/tests_cypress/unit/node_modules/semver/index.js +tests/tests_cypress/unit/node_modules/semver/LICENSE +tests/tests_cypress/unit/node_modules/semver/package.json +tests/tests_cypress/unit/node_modules/semver/preload.js +tests/tests_cypress/unit/node_modules/semver/range.bnf +tests/tests_cypress/unit/node_modules/semver/README.md +tests/tests_cypress/unit/node_modules/semver/bin/semver.js +tests/tests_cypress/unit/node_modules/semver/classes/comparator.js +tests/tests_cypress/unit/node_modules/semver/classes/index.js +tests/tests_cypress/unit/node_modules/semver/classes/range.js +tests/tests_cypress/unit/node_modules/semver/classes/semver.js +tests/tests_cypress/unit/node_modules/semver/functions/clean.js +tests/tests_cypress/unit/node_modules/semver/functions/cmp.js +tests/tests_cypress/unit/node_modules/semver/functions/coerce.js +tests/tests_cypress/unit/node_modules/semver/functions/compare-build.js +tests/tests_cypress/unit/node_modules/semver/functions/compare-loose.js +tests/tests_cypress/unit/node_modules/semver/functions/compare.js +tests/tests_cypress/unit/node_modules/semver/functions/diff.js +tests/tests_cypress/unit/node_modules/semver/functions/eq.js +tests/tests_cypress/unit/node_modules/semver/functions/gt.js +tests/tests_cypress/unit/node_modules/semver/functions/gte.js +tests/tests_cypress/unit/node_modules/semver/functions/inc.js +tests/tests_cypress/unit/node_modules/semver/functions/lt.js +tests/tests_cypress/unit/node_modules/semver/functions/lte.js +tests/tests_cypress/unit/node_modules/semver/functions/major.js +tests/tests_cypress/unit/node_modules/semver/functions/minor.js +tests/tests_cypress/unit/node_modules/semver/functions/neq.js +tests/tests_cypress/unit/node_modules/semver/functions/parse.js +tests/tests_cypress/unit/node_modules/semver/functions/patch.js +tests/tests_cypress/unit/node_modules/semver/functions/prerelease.js +tests/tests_cypress/unit/node_modules/semver/functions/rcompare.js +tests/tests_cypress/unit/node_modules/semver/functions/rsort.js +tests/tests_cypress/unit/node_modules/semver/functions/satisfies.js +tests/tests_cypress/unit/node_modules/semver/functions/sort.js +tests/tests_cypress/unit/node_modules/semver/functions/valid.js +tests/tests_cypress/unit/node_modules/semver/internal/constants.js +tests/tests_cypress/unit/node_modules/semver/internal/debug.js +tests/tests_cypress/unit/node_modules/semver/internal/identifiers.js +tests/tests_cypress/unit/node_modules/semver/internal/parse-options.js +tests/tests_cypress/unit/node_modules/semver/internal/re.js +tests/tests_cypress/unit/node_modules/semver/ranges/gtr.js +tests/tests_cypress/unit/node_modules/semver/ranges/intersects.js +tests/tests_cypress/unit/node_modules/semver/ranges/ltr.js +tests/tests_cypress/unit/node_modules/semver/ranges/max-satisfying.js +tests/tests_cypress/unit/node_modules/semver/ranges/min-satisfying.js +tests/tests_cypress/unit/node_modules/semver/ranges/min-version.js +tests/tests_cypress/unit/node_modules/semver/ranges/outside.js +tests/tests_cypress/unit/node_modules/semver/ranges/simplify.js +tests/tests_cypress/unit/node_modules/semver/ranges/subset.js +tests/tests_cypress/unit/node_modules/semver/ranges/to-comparators.js +tests/tests_cypress/unit/node_modules/semver/ranges/valid.js +tests/tests_cypress/unit/node_modules/shebang-command/index.js +tests/tests_cypress/unit/node_modules/shebang-command/license +tests/tests_cypress/unit/node_modules/shebang-command/package.json +tests/tests_cypress/unit/node_modules/shebang-command/readme.md +tests/tests_cypress/unit/node_modules/shebang-regex/index.d.ts +tests/tests_cypress/unit/node_modules/shebang-regex/index.js +tests/tests_cypress/unit/node_modules/shebang-regex/license +tests/tests_cypress/unit/node_modules/shebang-regex/package.json +tests/tests_cypress/unit/node_modules/shebang-regex/readme.md +tests/tests_cypress/unit/node_modules/side-channel/.eslintignore +tests/tests_cypress/unit/node_modules/side-channel/.eslintrc +tests/tests_cypress/unit/node_modules/side-channel/.nycrc +tests/tests_cypress/unit/node_modules/side-channel/CHANGELOG.md +tests/tests_cypress/unit/node_modules/side-channel/index.js +tests/tests_cypress/unit/node_modules/side-channel/LICENSE +tests/tests_cypress/unit/node_modules/side-channel/package.json +tests/tests_cypress/unit/node_modules/side-channel/README.md +tests/tests_cypress/unit/node_modules/side-channel/.github/FUNDING.yml +tests/tests_cypress/unit/node_modules/side-channel/test/index.js +tests/tests_cypress/unit/node_modules/signal-exit/index.js +tests/tests_cypress/unit/node_modules/signal-exit/LICENSE.txt +tests/tests_cypress/unit/node_modules/signal-exit/package.json +tests/tests_cypress/unit/node_modules/signal-exit/README.md +tests/tests_cypress/unit/node_modules/signal-exit/signals.js +tests/tests_cypress/unit/node_modules/slice-ansi/index.js +tests/tests_cypress/unit/node_modules/slice-ansi/license +tests/tests_cypress/unit/node_modules/slice-ansi/package.json +tests/tests_cypress/unit/node_modules/slice-ansi/readme.md +tests/tests_cypress/unit/node_modules/sshpk/.travis.yml +tests/tests_cypress/unit/node_modules/sshpk/Jenkinsfile +tests/tests_cypress/unit/node_modules/sshpk/LICENSE +tests/tests_cypress/unit/node_modules/sshpk/package.json +tests/tests_cypress/unit/node_modules/sshpk/README.md +tests/tests_cypress/unit/node_modules/sshpk/bin/sshpk-conv +tests/tests_cypress/unit/node_modules/sshpk/bin/sshpk-sign +tests/tests_cypress/unit/node_modules/sshpk/bin/sshpk-verify +tests/tests_cypress/unit/node_modules/sshpk/lib/algs.js +tests/tests_cypress/unit/node_modules/sshpk/lib/certificate.js +tests/tests_cypress/unit/node_modules/sshpk/lib/dhe.js +tests/tests_cypress/unit/node_modules/sshpk/lib/ed-compat.js +tests/tests_cypress/unit/node_modules/sshpk/lib/errors.js +tests/tests_cypress/unit/node_modules/sshpk/lib/fingerprint.js +tests/tests_cypress/unit/node_modules/sshpk/lib/identity.js +tests/tests_cypress/unit/node_modules/sshpk/lib/index.js +tests/tests_cypress/unit/node_modules/sshpk/lib/key.js +tests/tests_cypress/unit/node_modules/sshpk/lib/private-key.js +tests/tests_cypress/unit/node_modules/sshpk/lib/signature.js +tests/tests_cypress/unit/node_modules/sshpk/lib/ssh-buffer.js +tests/tests_cypress/unit/node_modules/sshpk/lib/utils.js +tests/tests_cypress/unit/node_modules/sshpk/lib/formats/auto.js +tests/tests_cypress/unit/node_modules/sshpk/lib/formats/dnssec.js +tests/tests_cypress/unit/node_modules/sshpk/lib/formats/openssh-cert.js +tests/tests_cypress/unit/node_modules/sshpk/lib/formats/pem.js +tests/tests_cypress/unit/node_modules/sshpk/lib/formats/pkcs1.js +tests/tests_cypress/unit/node_modules/sshpk/lib/formats/pkcs8.js +tests/tests_cypress/unit/node_modules/sshpk/lib/formats/putty.js +tests/tests_cypress/unit/node_modules/sshpk/lib/formats/rfc4253.js +tests/tests_cypress/unit/node_modules/sshpk/lib/formats/ssh-private.js +tests/tests_cypress/unit/node_modules/sshpk/lib/formats/ssh.js +tests/tests_cypress/unit/node_modules/sshpk/lib/formats/x509-pem.js +tests/tests_cypress/unit/node_modules/sshpk/lib/formats/x509.js +tests/tests_cypress/unit/node_modules/sshpk/man/man1/sshpk-conv.1 +tests/tests_cypress/unit/node_modules/sshpk/man/man1/sshpk-sign.1 +tests/tests_cypress/unit/node_modules/sshpk/man/man1/sshpk-verify.1 +tests/tests_cypress/unit/node_modules/string-width/index.d.ts +tests/tests_cypress/unit/node_modules/string-width/index.js +tests/tests_cypress/unit/node_modules/string-width/license +tests/tests_cypress/unit/node_modules/string-width/package.json +tests/tests_cypress/unit/node_modules/string-width/readme.md +tests/tests_cypress/unit/node_modules/strip-ansi/index.d.ts +tests/tests_cypress/unit/node_modules/strip-ansi/index.js +tests/tests_cypress/unit/node_modules/strip-ansi/license +tests/tests_cypress/unit/node_modules/strip-ansi/package.json +tests/tests_cypress/unit/node_modules/strip-ansi/readme.md +tests/tests_cypress/unit/node_modules/strip-final-newline/index.js +tests/tests_cypress/unit/node_modules/strip-final-newline/license +tests/tests_cypress/unit/node_modules/strip-final-newline/package.json +tests/tests_cypress/unit/node_modules/strip-final-newline/readme.md +tests/tests_cypress/unit/node_modules/supports-color/browser.js +tests/tests_cypress/unit/node_modules/supports-color/index.js +tests/tests_cypress/unit/node_modules/supports-color/license +tests/tests_cypress/unit/node_modules/supports-color/package.json +tests/tests_cypress/unit/node_modules/supports-color/readme.md +tests/tests_cypress/unit/node_modules/throttleit/.npmignore +tests/tests_cypress/unit/node_modules/throttleit/component.json +tests/tests_cypress/unit/node_modules/throttleit/example.js +tests/tests_cypress/unit/node_modules/throttleit/History.md +tests/tests_cypress/unit/node_modules/throttleit/index.js +tests/tests_cypress/unit/node_modules/throttleit/Makefile +tests/tests_cypress/unit/node_modules/throttleit/package.json +tests/tests_cypress/unit/node_modules/throttleit/Readme.md +tests/tests_cypress/unit/node_modules/throttleit/test.js +tests/tests_cypress/unit/node_modules/through/.travis.yml +tests/tests_cypress/unit/node_modules/through/index.js +tests/tests_cypress/unit/node_modules/through/LICENSE.APACHE2 +tests/tests_cypress/unit/node_modules/through/LICENSE.MIT +tests/tests_cypress/unit/node_modules/through/package.json +tests/tests_cypress/unit/node_modules/through/readme.markdown +tests/tests_cypress/unit/node_modules/through/test/async.js +tests/tests_cypress/unit/node_modules/through/test/auto-destroy.js +tests/tests_cypress/unit/node_modules/through/test/buffering.js +tests/tests_cypress/unit/node_modules/through/test/end.js +tests/tests_cypress/unit/node_modules/through/test/index.js +tests/tests_cypress/unit/node_modules/tmp/CHANGELOG.md +tests/tests_cypress/unit/node_modules/tmp/LICENSE +tests/tests_cypress/unit/node_modules/tmp/package.json +tests/tests_cypress/unit/node_modules/tmp/README.md +tests/tests_cypress/unit/node_modules/tmp/lib/tmp.js +tests/tests_cypress/unit/node_modules/tough-cookie/LICENSE +tests/tests_cypress/unit/node_modules/tough-cookie/package.json +tests/tests_cypress/unit/node_modules/tough-cookie/README.md +tests/tests_cypress/unit/node_modules/tough-cookie/lib/cookie.js +tests/tests_cypress/unit/node_modules/tough-cookie/lib/memstore.js +tests/tests_cypress/unit/node_modules/tough-cookie/lib/pathMatch.js +tests/tests_cypress/unit/node_modules/tough-cookie/lib/permuteDomain.js +tests/tests_cypress/unit/node_modules/tough-cookie/lib/pubsuffix-psl.js +tests/tests_cypress/unit/node_modules/tough-cookie/lib/store.js +tests/tests_cypress/unit/node_modules/tough-cookie/lib/version.js +tests/tests_cypress/unit/node_modules/tslib/CopyrightNotice.txt +tests/tests_cypress/unit/node_modules/tslib/LICENSE.txt +tests/tests_cypress/unit/node_modules/tslib/package.json +tests/tests_cypress/unit/node_modules/tslib/README.md +tests/tests_cypress/unit/node_modules/tslib/SECURITY.md +tests/tests_cypress/unit/node_modules/tslib/tslib.d.ts +tests/tests_cypress/unit/node_modules/tslib/tslib.es6.html +tests/tests_cypress/unit/node_modules/tslib/tslib.es6.js +tests/tests_cypress/unit/node_modules/tslib/tslib.html +tests/tests_cypress/unit/node_modules/tslib/tslib.js +tests/tests_cypress/unit/node_modules/tslib/modules/index.js +tests/tests_cypress/unit/node_modules/tslib/modules/package.json +tests/tests_cypress/unit/node_modules/tunnel-agent/index.js +tests/tests_cypress/unit/node_modules/tunnel-agent/LICENSE +tests/tests_cypress/unit/node_modules/tunnel-agent/package.json +tests/tests_cypress/unit/node_modules/tunnel-agent/README.md +tests/tests_cypress/unit/node_modules/tweetnacl/.npmignore +tests/tests_cypress/unit/node_modules/tweetnacl/AUTHORS.md +tests/tests_cypress/unit/node_modules/tweetnacl/CHANGELOG.md +tests/tests_cypress/unit/node_modules/tweetnacl/LICENSE +tests/tests_cypress/unit/node_modules/tweetnacl/nacl-fast.js +tests/tests_cypress/unit/node_modules/tweetnacl/nacl-fast.min.js +tests/tests_cypress/unit/node_modules/tweetnacl/nacl.d.ts +tests/tests_cypress/unit/node_modules/tweetnacl/nacl.js +tests/tests_cypress/unit/node_modules/tweetnacl/nacl.min.js +tests/tests_cypress/unit/node_modules/tweetnacl/package.json +tests/tests_cypress/unit/node_modules/tweetnacl/PULL_REQUEST_TEMPLATE.md +tests/tests_cypress/unit/node_modules/tweetnacl/README.md +tests/tests_cypress/unit/node_modules/type-fest/base.d.ts +tests/tests_cypress/unit/node_modules/type-fest/index.d.ts +tests/tests_cypress/unit/node_modules/type-fest/license +tests/tests_cypress/unit/node_modules/type-fest/package.json +tests/tests_cypress/unit/node_modules/type-fest/readme.md +tests/tests_cypress/unit/node_modules/type-fest/source/async-return-type.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/asyncify.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/basic.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/conditional-except.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/conditional-keys.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/conditional-pick.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/entries.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/entry.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/except.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/fixed-length-array.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/iterable-element.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/literal-union.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/merge-exclusive.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/merge.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/mutable.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/opaque.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/package-json.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/partial-deep.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/promisable.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/promise-value.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/readonly-deep.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/require-at-least-one.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/require-exactly-one.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/set-optional.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/set-required.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/set-return-type.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/simplify.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/stringified.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/tsconfig-json.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/typed-array.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/union-to-intersection.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/utilities.d.ts +tests/tests_cypress/unit/node_modules/type-fest/source/value-of.d.ts +tests/tests_cypress/unit/node_modules/type-fest/ts41/camel-case.d.ts +tests/tests_cypress/unit/node_modules/type-fest/ts41/delimiter-case.d.ts +tests/tests_cypress/unit/node_modules/type-fest/ts41/get.d.ts +tests/tests_cypress/unit/node_modules/type-fest/ts41/index.d.ts +tests/tests_cypress/unit/node_modules/type-fest/ts41/kebab-case.d.ts +tests/tests_cypress/unit/node_modules/type-fest/ts41/pascal-case.d.ts +tests/tests_cypress/unit/node_modules/type-fest/ts41/snake-case.d.ts +tests/tests_cypress/unit/node_modules/type-fest/ts41/utilities.d.ts +tests/tests_cypress/unit/node_modules/universalify/index.js +tests/tests_cypress/unit/node_modules/universalify/LICENSE +tests/tests_cypress/unit/node_modules/universalify/package.json +tests/tests_cypress/unit/node_modules/universalify/README.md +tests/tests_cypress/unit/node_modules/untildify/index.d.ts +tests/tests_cypress/unit/node_modules/untildify/index.js +tests/tests_cypress/unit/node_modules/untildify/license +tests/tests_cypress/unit/node_modules/untildify/package.json +tests/tests_cypress/unit/node_modules/untildify/readme.md +tests/tests_cypress/unit/node_modules/uuid/CHANGELOG.md +tests/tests_cypress/unit/node_modules/uuid/CONTRIBUTING.md +tests/tests_cypress/unit/node_modules/uuid/LICENSE.md +tests/tests_cypress/unit/node_modules/uuid/package.json +tests/tests_cypress/unit/node_modules/uuid/README.md +tests/tests_cypress/unit/node_modules/uuid/wrapper.mjs +tests/tests_cypress/unit/node_modules/uuid/dist/index.js +tests/tests_cypress/unit/node_modules/uuid/dist/md5-browser.js +tests/tests_cypress/unit/node_modules/uuid/dist/md5.js +tests/tests_cypress/unit/node_modules/uuid/dist/nil.js +tests/tests_cypress/unit/node_modules/uuid/dist/parse.js +tests/tests_cypress/unit/node_modules/uuid/dist/regex.js +tests/tests_cypress/unit/node_modules/uuid/dist/rng-browser.js +tests/tests_cypress/unit/node_modules/uuid/dist/rng.js +tests/tests_cypress/unit/node_modules/uuid/dist/sha1-browser.js +tests/tests_cypress/unit/node_modules/uuid/dist/sha1.js +tests/tests_cypress/unit/node_modules/uuid/dist/stringify.js +tests/tests_cypress/unit/node_modules/uuid/dist/uuid-bin.js +tests/tests_cypress/unit/node_modules/uuid/dist/v1.js +tests/tests_cypress/unit/node_modules/uuid/dist/v3.js +tests/tests_cypress/unit/node_modules/uuid/dist/v4.js +tests/tests_cypress/unit/node_modules/uuid/dist/v5.js +tests/tests_cypress/unit/node_modules/uuid/dist/v35.js +tests/tests_cypress/unit/node_modules/uuid/dist/validate.js +tests/tests_cypress/unit/node_modules/uuid/dist/version.js +tests/tests_cypress/unit/node_modules/uuid/dist/bin/uuid +tests/tests_cypress/unit/node_modules/uuid/dist/esm-browser/index.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-browser/md5.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-browser/nil.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-browser/parse.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-browser/regex.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-browser/rng.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-browser/sha1.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-browser/stringify.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-browser/v1.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-browser/v3.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-browser/v4.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-browser/v5.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-browser/v35.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-browser/validate.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-browser/version.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-node/index.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-node/md5.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-node/nil.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-node/parse.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-node/regex.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-node/rng.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-node/sha1.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-node/stringify.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-node/v1.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-node/v3.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-node/v4.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-node/v5.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-node/v35.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-node/validate.js +tests/tests_cypress/unit/node_modules/uuid/dist/esm-node/version.js +tests/tests_cypress/unit/node_modules/uuid/dist/umd/uuid.min.js +tests/tests_cypress/unit/node_modules/uuid/dist/umd/uuidNIL.min.js +tests/tests_cypress/unit/node_modules/uuid/dist/umd/uuidParse.min.js +tests/tests_cypress/unit/node_modules/uuid/dist/umd/uuidStringify.min.js +tests/tests_cypress/unit/node_modules/uuid/dist/umd/uuidv1.min.js +tests/tests_cypress/unit/node_modules/uuid/dist/umd/uuidv3.min.js +tests/tests_cypress/unit/node_modules/uuid/dist/umd/uuidv4.min.js +tests/tests_cypress/unit/node_modules/uuid/dist/umd/uuidv5.min.js +tests/tests_cypress/unit/node_modules/uuid/dist/umd/uuidValidate.min.js +tests/tests_cypress/unit/node_modules/uuid/dist/umd/uuidVersion.min.js +tests/tests_cypress/unit/node_modules/verror/.npmignore +tests/tests_cypress/unit/node_modules/verror/CHANGES.md +tests/tests_cypress/unit/node_modules/verror/CONTRIBUTING.md +tests/tests_cypress/unit/node_modules/verror/LICENSE +tests/tests_cypress/unit/node_modules/verror/package.json +tests/tests_cypress/unit/node_modules/verror/README.md +tests/tests_cypress/unit/node_modules/verror/lib/verror.js +tests/tests_cypress/unit/node_modules/which/CHANGELOG.md +tests/tests_cypress/unit/node_modules/which/LICENSE +tests/tests_cypress/unit/node_modules/which/package.json +tests/tests_cypress/unit/node_modules/which/README.md +tests/tests_cypress/unit/node_modules/which/which.js +tests/tests_cypress/unit/node_modules/which/bin/node-which +tests/tests_cypress/unit/node_modules/wrap-ansi/index.js +tests/tests_cypress/unit/node_modules/wrap-ansi/license +tests/tests_cypress/unit/node_modules/wrap-ansi/package.json +tests/tests_cypress/unit/node_modules/wrap-ansi/readme.md +tests/tests_cypress/unit/node_modules/wrappy/LICENSE +tests/tests_cypress/unit/node_modules/wrappy/package.json +tests/tests_cypress/unit/node_modules/wrappy/README.md +tests/tests_cypress/unit/node_modules/wrappy/wrappy.js +tests/tests_cypress/unit/node_modules/xtend/.jshintrc +tests/tests_cypress/unit/node_modules/xtend/immutable.js +tests/tests_cypress/unit/node_modules/xtend/LICENSE +tests/tests_cypress/unit/node_modules/xtend/mutable.js +tests/tests_cypress/unit/node_modules/xtend/package.json +tests/tests_cypress/unit/node_modules/xtend/README.md +tests/tests_cypress/unit/node_modules/xtend/test.js +tests/tests_cypress/unit/node_modules/yallist/iterator.js +tests/tests_cypress/unit/node_modules/yallist/LICENSE +tests/tests_cypress/unit/node_modules/yallist/package.json +tests/tests_cypress/unit/node_modules/yallist/README.md +tests/tests_cypress/unit/node_modules/yallist/yallist.js +tests/tests_cypress/unit/node_modules/yauzl/index.js +tests/tests_cypress/unit/node_modules/yauzl/LICENSE +tests/tests_cypress/unit/node_modules/yauzl/package.json +tests/tests_cypress/unit/node_modules/yauzl/README.md +tests/tests_cypress/unit/node_modules/assertion-error/History.md +tests/tests_cypress/unit/node_modules/assertion-error/index.d.ts +tests/tests_cypress/unit/node_modules/assertion-error/index.js +tests/tests_cypress/unit/node_modules/assertion-error/package.json +tests/tests_cypress/unit/node_modules/assertion-error/README.md +tests/tests_cypress/unit/node_modules/chai/bower.json +tests/tests_cypress/unit/node_modules/chai/chai.js +tests/tests_cypress/unit/node_modules/chai/CODE_OF_CONDUCT.md +tests/tests_cypress/unit/node_modules/chai/CODEOWNERS +tests/tests_cypress/unit/node_modules/chai/CONTRIBUTING.md +tests/tests_cypress/unit/node_modules/chai/History.md +tests/tests_cypress/unit/node_modules/chai/index.js +tests/tests_cypress/unit/node_modules/chai/index.mjs +tests/tests_cypress/unit/node_modules/chai/karma.conf.js +tests/tests_cypress/unit/node_modules/chai/karma.sauce.js +tests/tests_cypress/unit/node_modules/chai/LICENSE +tests/tests_cypress/unit/node_modules/chai/package.json +tests/tests_cypress/unit/node_modules/chai/README.md +tests/tests_cypress/unit/node_modules/chai/register-assert.js +tests/tests_cypress/unit/node_modules/chai/register-expect.js +tests/tests_cypress/unit/node_modules/chai/register-should.js +tests/tests_cypress/unit/node_modules/chai/ReleaseNotes.md +tests/tests_cypress/unit/node_modules/chai/sauce.browsers.js +tests/tests_cypress/unit/node_modules/chai/lib/chai.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/assertion.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/config.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/core/assertions.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/interface/assert.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/interface/expect.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/interface/should.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/addChainableMethod.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/addLengthGuard.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/addMethod.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/addProperty.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/compareByInspect.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/expectTypes.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/flag.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/getActual.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/getEnumerableProperties.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/getMessage.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/getOperator.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/getOwnEnumerableProperties.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/getOwnEnumerablePropertySymbols.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/getProperties.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/index.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/inspect.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/isNaN.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/isProxyEnabled.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/objDisplay.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/overwriteChainableMethod.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/overwriteMethod.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/overwriteProperty.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/proxify.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/test.js +tests/tests_cypress/unit/node_modules/chai/lib/chai/utils/transferFlags.js +tests/tests_cypress/unit/node_modules/chai-json-schema/index.js +tests/tests_cypress/unit/node_modules/chai-json-schema/LICENSE-MIT +tests/tests_cypress/unit/node_modules/chai-json-schema/package.json +tests/tests_cypress/unit/node_modules/chai-json-schema/README.md +tests/tests_cypress/unit/node_modules/check-error/check-error.js +tests/tests_cypress/unit/node_modules/check-error/index.js +tests/tests_cypress/unit/node_modules/check-error/LICENSE +tests/tests_cypress/unit/node_modules/check-error/package.json +tests/tests_cypress/unit/node_modules/check-error/README.md +tests/tests_cypress/unit/node_modules/deep-eql/deep-eql.js +tests/tests_cypress/unit/node_modules/deep-eql/index.js +tests/tests_cypress/unit/node_modules/deep-eql/LICENSE +tests/tests_cypress/unit/node_modules/deep-eql/package.json +tests/tests_cypress/unit/node_modules/deep-eql/README.md +tests/tests_cypress/unit/node_modules/get-func-name/get-func-name.js +tests/tests_cypress/unit/node_modules/get-func-name/index.js +tests/tests_cypress/unit/node_modules/get-func-name/LICENSE +tests/tests_cypress/unit/node_modules/get-func-name/package.json +tests/tests_cypress/unit/node_modules/get-func-name/README.md +tests/tests_cypress/unit/node_modules/jsonpointer.js/bower.json +tests/tests_cypress/unit/node_modules/jsonpointer.js/LICENSE +tests/tests_cypress/unit/node_modules/jsonpointer.js/package.json +tests/tests_cypress/unit/node_modules/jsonpointer.js/src/jsonpointer.js +tests/tests_cypress/unit/node_modules/loupe/CHANGELOG.md +tests/tests_cypress/unit/node_modules/loupe/index.js +tests/tests_cypress/unit/node_modules/loupe/LICENSE +tests/tests_cypress/unit/node_modules/loupe/loupe.js +tests/tests_cypress/unit/node_modules/loupe/package.json +tests/tests_cypress/unit/node_modules/loupe/README.md +tests/tests_cypress/unit/node_modules/loupe/lib/arguments.js +tests/tests_cypress/unit/node_modules/loupe/lib/array.js +tests/tests_cypress/unit/node_modules/loupe/lib/bigint.js +tests/tests_cypress/unit/node_modules/loupe/lib/class.js +tests/tests_cypress/unit/node_modules/loupe/lib/date.js +tests/tests_cypress/unit/node_modules/loupe/lib/error.js +tests/tests_cypress/unit/node_modules/loupe/lib/function.js +tests/tests_cypress/unit/node_modules/loupe/lib/helpers.js +tests/tests_cypress/unit/node_modules/loupe/lib/html.js +tests/tests_cypress/unit/node_modules/loupe/lib/map.js +tests/tests_cypress/unit/node_modules/loupe/lib/number.js +tests/tests_cypress/unit/node_modules/loupe/lib/object.js +tests/tests_cypress/unit/node_modules/loupe/lib/promise.js +tests/tests_cypress/unit/node_modules/loupe/lib/regexp.js +tests/tests_cypress/unit/node_modules/loupe/lib/set.js +tests/tests_cypress/unit/node_modules/loupe/lib/string.js +tests/tests_cypress/unit/node_modules/loupe/lib/symbol.js +tests/tests_cypress/unit/node_modules/loupe/lib/typedarray.js +tests/tests_cypress/unit/node_modules/pathval/CHANGELOG.md +tests/tests_cypress/unit/node_modules/pathval/index.js +tests/tests_cypress/unit/node_modules/pathval/LICENSE +tests/tests_cypress/unit/node_modules/pathval/package.json +tests/tests_cypress/unit/node_modules/pathval/pathval.js +tests/tests_cypress/unit/node_modules/pathval/README.md +tests/tests_cypress/unit/node_modules/tv4/LICENSE.txt +tests/tests_cypress/unit/node_modules/tv4/package.json +tests/tests_cypress/unit/node_modules/tv4/README.md +tests/tests_cypress/unit/node_modules/tv4/tv4.async-jquery.js +tests/tests_cypress/unit/node_modules/tv4/tv4.js +tests/tests_cypress/unit/node_modules/tv4/lang/de.js +tests/tests_cypress/unit/node_modules/tv4/lang/es.js +tests/tests_cypress/unit/node_modules/tv4/lang/fr.js +tests/tests_cypress/unit/node_modules/tv4/lang/nb.js +tests/tests_cypress/unit/node_modules/tv4/lang/pl-PL.js +tests/tests_cypress/unit/node_modules/tv4/lang/pt-PT.js +tests/tests_cypress/unit/node_modules/tv4/lang/sv-SE.js +tests/tests_cypress/unit/node_modules/tv4/lang/zh-CN.js +tests/tests_cypress/unit/node_modules/type-detect/index.js +tests/tests_cypress/unit/node_modules/type-detect/LICENSE +tests/tests_cypress/unit/node_modules/type-detect/package.json +tests/tests_cypress/unit/node_modules/type-detect/README.md +tests/tests_cypress/unit/node_modules/type-detect/type-detect.js diff --git a/js/objects_artifacts.js b/js/objects_artifacts.js index 3c8e809..ab66e70 100644 --- a/js/objects_artifacts.js +++ b/js/objects_artifacts.js @@ -28,6 +28,7 @@ var artefacts = { }, artid01: { id: "artid01", + img: "medal.png", name: { "default":"Four-Leaf Clover", "en-US":"Four-Leaf Clover", @@ -48,6 +49,7 @@ var artefacts = { }, artid02: { id: "artid02", + img: "medal.png", name: { "default": "Medal of Valor", "en-US": "Medal of Valor", @@ -68,6 +70,7 @@ var artefacts = { }, artid03: { id: "artid03", + img: "medal.png", name: { "default": "Medal of Courage", "en-US": "Medal of Courage", @@ -88,6 +91,7 @@ var artefacts = { }, artid04: { id: "artid04", + img: "medal.png", name: { "default": "Medal of Honor", "en-US": "Medal of Honor", @@ -108,6 +112,7 @@ var artefacts = { }, artid05: { id: "artid05", + img: "medal.png", name: { "default": "Medal of Distinction", "en-US": "Medal of Distinction", @@ -128,6 +133,7 @@ var artefacts = { }, artid06: { id: "artid06", + img: "medal.png", name: { "default": "Rabbit's Foot", "en-US": "Rabbit's Foot", @@ -148,6 +154,7 @@ var artefacts = { }, artid07: { id: "artid07", + img: "medal.png", name: { "default": "Golden Horseshoe", "en-US": "Golden Horseshoe", @@ -168,6 +175,7 @@ var artefacts = { }, artid08: { id: "artid08", + img: "medal.png", name: { "default": "Gambler's Lucky Coin", "en-US": "Gambler's Lucky Coin", @@ -188,6 +196,7 @@ var artefacts = { }, artid09: { id: "artid09", + img: "sand_clock.png", name: { "default": "Unlucky hourglass", "en-US": "Unlucky hourglass", @@ -208,6 +217,7 @@ var artefacts = { }, artid10: { id: "artid10", + img: "medal.png", name: { "default": "Glass globe", "en-US": "Glass globe", diff --git a/resources/medal.png b/resources/medal.png new file mode 100644 index 0000000000000000000000000000000000000000..3fb39cffd8bb22295dc02e1abdd53af9960cd503 GIT binary patch literal 2495 zcmV;w2|)IVP)Px;c}YY;R9Huyms|OM%At1Y5^{QuH z_xpbD``&-v_q`El=PEh$=r%!CKh)l{+vz*9`)5Q^l%8H**5B=>xOt4w-eA9{K)xNL z?Y$EUc=_VZDF}kVjzgaL+kbMd18S9b+k>fG<%`5y!9+<$6O&57eHFbKjiwa21 z$Y8~)-J4%qymKB<5t->t1fuk-ep;99F~=twx(~@FCf>*gf8R>M-gB6(Mx2d)*5&7u zJ7ye#kW4rj=KjaWF>~%8kwZZ$P9H}X+ri##=*s@hO1vp7Z_TjTDXEF8yJQW*VAV6@ z-lYVCB9a7>49~u`lu=_09NhjLOBd%w`Xoul5M$u;oi9ejQTxjU_T*oA@|nd4lu$;l zR%%=Xsz>(Z7RaHx;T^hkB0fEpr|w?D*ok)_XmxzG=^$E_%z&{Ysk&53hj=xG$Ewg7 zwDcK}gu@Y}`m&3S|C)>>h6#DxgfuBTd)@VsA`~$irpjNJ?MUpDX4RXlq-OMC#lp>4 z%to$MyEt*83XL3!cqb|zw%p~&cWbWQ5dZWpp(pWft=sXt+t8ut|9I%}MNo?1nW{~2YB{qicJuM6$ zlSP71Nw2HH=ettj? z<0?5+#j=I}Ml1Lcb!JW-DkBsON8}wXj%%NP?dy;dOTT_r>g;|j8XwcAXQ4BwS-Jl7 zlnuKao1$TY$6eqEd!4cN@}DR?SxlTsr0hZ!Uv0a9+wQt0NC6KV)R8;Kc1Q9%F$)b0 z$m&c?jD*MIE*YI$)HfPt_4`VkI$cLDpZg~rQk_g2|2l!7$ig@8WA3wGwuG{+N6jJp z?2AWve)bORb}#E!^#Y9nlSx9Y78v;O=}ytGbg$<^nM&|zg6?9%zGCJ-y`HQrE4JNb zOrJfLH~+RPBImZ@6jUnKeLjVEmh7T`{{$`-RrAt|1Bpvc!q-qjFeJN1K6YkgG|Z43 z7dNT+;+C~Kbwm8Q12zVX8q6c3=d)n(J$$|OD344X%c^$|aOzlji)BArQJtKq3 zIV*YhqsKXY=mfu1$XuzmbL>bh(`Jrj-=1^4`uam$I&zdH%g(at<32P6;^>#1!KWMc zuYcpiiZ26j2(Y)8sRb$k=djPMDcrZ8o_)LU!mRC}GxF4v{g^-hKTLfxi*LUv zW!}7O=FZ(umyS9Xz1AJO(@f@wK2)AR)--C$*~ud00pVMv7~Nsp%)=R7;|8g;TJ~?- zO}{=#c$_Z2`L2|MhwV6BVaz5KqlR0Ua92F$#8k@58W}Zl6tx!)vL&x!*BhTy%?8SE zSzRgFVAZ^ggO5#~Fe2=Aqt@wZY6@~R{}i!SJw}64#%EWvzY__VpWGZ4EAQLW4_;~ zM%hD4D}$WB=*41GMQkc%U93sXjQ1*YfTPXD&aKu=$p82bn_jD$5M8Y*`(bgJ2VV#> zv$}EeL}?_MX7)0p)wI^y@TZRc9yoqmu%d4#+6)@igtoP#0>4`4=c?ULf>lT7v=~(F zXu5mO&fAAwKA3CM>(n>EZnrE?8T!fX!|E<9wCVMl{~KoQy6E;{&bl==gHC%Bn2Z$i zB83BJj0x>JtB;+2Bg|9x&U9G{d}~fwP!lyuXsq9EGZ=Kg!ep6nQxyS6ab%55$!XWJ zw_Yg?n@crCx$1}{lhgl{V>auKRad(srFTS)!G`5>z~vy|ZbS+NLQ*(%QVaw)nEK?- z(wh=9gN`CR<#`|nuy*c+N~_0Fau&bafh108r34}zI%k2x-)HV1kN-CY@g+=vM$IsW)Uo3Srxjg=m zPN$Q7zF-q@1t^i_kNkr0bg0#Km1HudE?+cmma8e4c>HW_^@($J_R>nb$KeVpsX_5a zY03& { + + beforeEach(() => { + cy.visit('/') + + Cypress.on('uncaught:exception', (err, runnable) => { + return false; + }); + + //close windows canvas + cy.window().then((win) => { + win.eval('document.getElementById("myDCanvas").classList.remove("active-modal")'); + }); + + }) + + it('Valid JSON object artifact ', () => { + + // ********************************************************************* + // Checking the schema file objects_artifacts.js + // ********************************************************************* + + let artefacts; + let checkArt; + + cy.window().then((win) => { + + artefacts = win.eval('Object.keys(artefacts)'); + artefacts.forEach(function (item) { + checkArt = win.eval('artefacts.' + item); + expect(checkArt, item).to.be.jsonSchema(artSchema); + }); + }); + }) + + it('Сhecking for the presence of property "artefactsWorn" for object artid', () => { + + cy.window().then((win) => { + + let artefacts; + let checkArt; + + artefacts = win.eval('Object.keys(artefacts)'); + + console.log(artefacts); + artefacts.forEach(function (item) { + checkArt = win.eval('artefacts.' + item); + + if (checkArt.type == 'artefactsWorn') { + expect(checkArt, item + ' have the property "artefactsWorn"').to.property('artefactsWorn') + } + else { + expect(checkArt, item + ' does not have the property "artefactsWorn"').to.not.property('artefactsWorn'); + } + }); + }); + }) + + it('Valid JSON object technology tree', () => { + + // ********************************************************************* + // Checking the schema file objects_technology_tree.js + // ********************************************************************* + + let techList; + let checkTech; + + cy.window().then((win) => { + techList = win.eval('Object.keys(tech_list)'); + + techList.forEach(function (item) { + checkTech = win.eval('tech_list.' + item); + expect(checkTech, item).to.be.jsonSchema(technologySchema); + }) + }) + }) +}) \ No newline at end of file diff --git a/tests/tests_cypress/unit/cypress/schemas/artifacts_schema.js b/tests/tests_cypress/unit/cypress/schemas/artifacts_schema.js new file mode 100644 index 0000000..dcdfa69 --- /dev/null +++ b/tests/tests_cypress/unit/cypress/schemas/artifacts_schema.js @@ -0,0 +1,102 @@ +const artid = { + title: 'artid', + type: 'object', + description: 'Todo item sent by the artifacts', + required: ['id', 'img', 'name', 'desc', 'attr', 'change', 'slots', 'priceBuy', 'chance', 'type'], + properties: { + id: { + type: 'string', + description: 'Todo text, like "id Artifact"', + pattern: '^artid[0-9]{2}$' + }, + img: { + type: 'string', + description: 'Todo text, like "name img"', + pattern: '.\\.png$' + }, + name: { + type: 'object', + description: 'Todo item sent by the artifacts.name', + required: ['default', 'en-US', 'ru-RU'], + properties: { + "default": { + type: 'string', + description: 'Todo text, like "name default language"', + }, + "en-US": { + type: 'string', + description: 'Todo text, like "name en-US language"', + }, + "ru-RU": { + type: 'string', + description: 'Todo text, like "name ru-RU language"', + }, + }, + }, + desc: { + type: 'object', + description: 'Todo item sent by the artifacts.name', + required: ['default', 'en-US', 'ru-RU'], + properties: { + "default": { + type: 'string', + description: 'Todo text, like "description default language"', + }, + "en-US": { + type: 'string', + description: 'Todo text, like "description en-US language"', + }, + "ru-RU": { + type: 'string', + description: 'Todo text, like "description ru-RU language"', + }, + }, + }, + attr: { + type: 'array', + uniqueItems: true, + description: 'Todo array [object or string], like "attr"', + // items: { + // type: 'object' + // } + }, + change: { + type: 'array', + description: 'Todo array [number], like "change"', + items: { + type: 'number' + } + }, + slots: { + type: 'array', + uniqueItems: true, + description: 'Todo array [string], like "slots"', + items: { + type: 'string' + } + }, + priceBuy: { + type: 'number', + description: 'Todo number, like "Cost price"', + minimum: 1 + }, + chance: { + type: 'number', + description: 'Todo number, like "Chance"', + }, + type: { + type: 'string', + description: 'Todo text, like "type Artifact"', + }, + artefactsWorn: { + type: 'number', + description: 'Todo number, like "artefactsWorn"', + minimum: 1 + }, + comment: { + type: 'string', + description: 'Todo text, like "type comment"', + } + } +} +export const artSchema = artid; \ No newline at end of file diff --git a/tests/tests_cypress/unit/cypress/schemas/technology_tree_schema.js b/tests/tests_cypress/unit/cypress/schemas/technology_tree_schema.js new file mode 100644 index 0000000..ed88e56 --- /dev/null +++ b/tests/tests_cypress/unit/cypress/schemas/technology_tree_schema.js @@ -0,0 +1,123 @@ +const technology = { + title: 'technologyTree', + type: 'object', + description: 'Todo item sent by the technology_tree', + required: ['id', 'img', 'name', 'descr', 'attrs', 'attrs_type', 'year', 'season', 'prereqs', 'priceResearch','upkeep','switchable', 'type'], + properties: { + id: { + type: 'string', + description: 'Todo text, like "id Artifact"' + }, + img: { + type: 'string', + description: 'Todo text, like "name img"', + pattern: '.\\.png$' + }, + name: { + type: 'object', + description: 'Todo item sent by the artifacts.name', + required: ['default', 'en-US', 'ru-RU'], + properties: { + "default": { + type: 'string', + description: 'Todo text, like "name default language"', + }, + "en-US": { + type: 'string', + description: 'Todo text, like "name en-US language"', + }, + "ru-RU": { + type: 'string', + description: 'Todo text, like "name ru-RU language"', + }, + }, + }, + descr: { + type: 'object', + description: 'Todo item sent by the artifacts.name', + required: ['default', 'en-US', 'ru-RU'], + properties: { + "default": { + type: 'string', + description: 'Todo text, like "description default language"', + }, + "en-US": { + type: 'string', + description: 'Todo text, like "description en-US language"', + }, + "ru-RU": { + type: 'string', + description: 'Todo text, like "description ru-RU language"', + }, + }, + }, + attrs: { + type: 'object', + description: 'Todo item sent by the attrs', + required: ['hire cost', 'upkeep cost'], + properties: { + "hire cost": { + type: 'number', + description: 'Todo number, like "hire cost"', + }, + "upkeep cost": { + type: 'number', + description: 'Todo number, like "upkeep cost"', + } + } + }, + attrs_type: { + type: 'object', + description: 'Todo item sent by the attrs', + required: ['hire_cost', 'upkeep_cost'], + properties: { + "hire_cost": { + type: 'string', + description: 'Todo string, like type "hire cost"', + }, + "upkeep_cost": { + type: 'string', + description: 'Todo string, like type "upkeep cost"', + } + } + }, + year: { + type: 'number', + description: 'Todo number, like "year"', + minimum: 1255 + }, + season: { + type: 'number', + description: 'Todo number, like "season"', + minimum: 1, + maximum: 4 + }, + prereqs: { + type: 'array', + uniqueItems: true, + description: 'Todo array [string], like "prereqs"', + items: { + type: 'string' + } + }, + priceResearch: { + type: 'number', + description: 'Todo number, like "priceResearch"', + minimum: 1 + }, + upkeep: { + type: 'number', + description: 'Todo number, like "upkeep"', + minimum: 1 + }, + switchable: { + type: 'boolean', + description: 'Todo number, like "switchable"' + }, + type: { + type: 'string', + description: 'Todo text, like "type technolgy"' + } + } +} +export const technologySchema = technology; \ No newline at end of file diff --git a/tests/tests_cypress/unit/cypress/support/e2e.js b/tests/tests_cypress/unit/cypress/support/e2e.js index 0e7290a..4d53d7e 100644 --- a/tests/tests_cypress/unit/cypress/support/e2e.js +++ b/tests/tests_cypress/unit/cypress/support/e2e.js @@ -15,6 +15,6 @@ // Import commands.js using ES2015 syntax: import './commands' - +chai.use(require('chai-json-schema')); // Alternatively you can use CommonJS syntax: // require('./commands') \ No newline at end of file diff --git a/tests/tests_cypress/unit/package-lock.json b/tests/tests_cypress/unit/package-lock.json index 27b602d..aaacfb9 100644 --- a/tests/tests_cypress/unit/package-lock.json +++ b/tests/tests_cypress/unit/package-lock.json @@ -1,3999 +1,3860 @@ { - "name": "tests", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "devDependencies": { - "cypress": "12.6.0", - "cypress-html-validate": "^5.1.2", - "html-validate": "^7.13.2" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/@cypress/request": { - "version": "2.88.11", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.11.tgz", - "integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==", - "dev": true, - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "http-signature": "~1.3.6", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "performance-now": "^2.1.0", - "qs": "~6.10.3", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^8.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@cypress/xvfb": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", - "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", - "dev": true, - "dependencies": { - "debug": "^3.1.0", - "lodash.once": "^4.1.1" - } - }, - "node_modules/@cypress/xvfb/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/@html-validate/stylish": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@html-validate/stylish/-/stylish-3.0.1.tgz", - "integrity": "sha512-jQNDrSnWvJEPSlqC1tFqcbmVuJy2x61UwqFsXHxYT2sgCXFW4AVhsoIcHkECCmUHtQ8hpHU6yOBGA+rMLZhS7A==", - "dev": true, - "dependencies": { - "kleur": "^4.0.0" - }, - "engines": { - "node": ">= 14.0" - } - }, - "node_modules/@sidvind/better-ajv-errors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@sidvind/better-ajv-errors/-/better-ajv-errors-2.1.0.tgz", - "integrity": "sha512-JuIb009FhHuL9priFBho2kv7QmZOydj0LgYvj+h1t0mMCmhM/YmQNRlJR5wVtBZya6wrVFK5Hi5TIbv5BKEx7w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.16.0", - "chalk": "^4.1.0" - }, - "engines": { - "node": ">= 14.0.0" - }, - "peerDependencies": { - "ajv": "4.11.8 - 8" - } - }, - "node_modules/@types/node": { - "version": "14.18.36", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz", - "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", - "dev": true - }, - "node_modules/@types/sinonjs__fake-timers": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", - "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", - "dev": true - }, - "node_modules/@types/sizzle": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", - "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", - "dev": true - }, - "node_modules/@types/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", - "dev": true, - "optional": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", - "dev": true - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", - "dev": true - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dev": true, - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/blob-util": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", - "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", - "dev": true - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/cachedir": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", - "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/check-more-types": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", - "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0" - }, - "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "@colors/colors": "1.5.0" - } - }, - "node_modules/cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, - "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "dev": true - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cypress": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.6.0.tgz", - "integrity": "sha512-WdHSVaS1lumSd5XpVTslZd8ui9GIGphrzvXq9+3DtVhqjRZC5M70gu5SW/Y/SLPq3D1wiXGZoHC6HJ7ESVE2lw==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "@cypress/request": "^2.88.10", - "@cypress/xvfb": "^1.2.4", - "@types/node": "^14.14.31", - "@types/sinonjs__fake-timers": "8.1.1", - "@types/sizzle": "^2.3.2", - "arch": "^2.2.0", - "blob-util": "^2.0.2", - "bluebird": "^3.7.2", - "buffer": "^5.6.0", - "cachedir": "^2.3.0", - "chalk": "^4.1.0", - "check-more-types": "^2.24.0", - "cli-cursor": "^3.1.0", - "cli-table3": "~0.6.1", - "commander": "^5.1.0", - "common-tags": "^1.8.0", - "dayjs": "^1.10.4", - "debug": "^4.3.4", - "enquirer": "^2.3.6", - "eventemitter2": "6.4.7", - "execa": "4.1.0", - "executable": "^4.1.1", - "extract-zip": "2.0.1", - "figures": "^3.2.0", - "fs-extra": "^9.1.0", - "getos": "^3.2.1", - "is-ci": "^3.0.0", - "is-installed-globally": "~0.4.0", - "lazy-ass": "^1.6.0", - "listr2": "^3.8.3", - "lodash": "^4.17.21", - "log-symbols": "^4.0.0", - "minimist": "^1.2.6", - "ospath": "^1.2.2", - "pretty-bytes": "^5.6.0", - "proxy-from-env": "1.0.0", - "request-progress": "^3.0.0", - "semver": "^7.3.2", - "supports-color": "^8.1.1", - "tmp": "~0.2.1", - "untildify": "^4.0.0", - "yauzl": "^2.10.0" - }, - "bin": { - "cypress": "bin/cypress" - }, - "engines": { - "node": "^14.0.0 || ^16.0.0 || >=18.0.0" - } - }, - "node_modules/cypress-html-validate": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/cypress-html-validate/-/cypress-html-validate-5.1.2.tgz", - "integrity": "sha512-e8xL6YvnwRwN/1ey0aTQRbsE50rmUtT7WXPnr7ZjAUhTm/kRMKBzxmCZRqiGhy5Q4lOLOHlOkGFg2wCObvENcQ==", - "dev": true, - "engines": { - "node": ">= 14.19" - }, - "peerDependencies": { - "cypress": "^7.0.1 || ^8 || ^9 || ^10 || ^11.0.1 || ^12", - "html-validate": "^2.17 || ^3 || ^4 || ^5 || ^6 || ^7" - } - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/dayjs": { - "version": "1.11.7", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", - "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", - "dev": true - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deepmerge": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz", - "integrity": "sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dev": true, - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/espree": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", - "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", - "dev": true, - "dependencies": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eventemitter2": { - "version": "6.4.7", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", - "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", - "dev": true - }, - "node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/executable": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", - "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", - "dev": true, - "dependencies": { - "pify": "^2.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "node_modules/extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" - }, - "engines": { - "node": ">= 10.17.0" - }, - "optionalDependencies": { - "@types/yauzl": "^2.9.1" - } - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true, - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dev": true, - "dependencies": { - "pend": "~1.2.0" - } - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/get-intrinsic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/getos": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", - "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", - "dev": true, - "dependencies": { - "async": "^3.2.0" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/global-dirs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", - "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", - "dev": true, - "dependencies": { - "ini": "2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/html-validate": { - "version": "7.13.2", - "resolved": "https://registry.npmjs.org/html-validate/-/html-validate-7.13.2.tgz", - "integrity": "sha512-ZUinzQ/a9zC0vP3uoCAKhHWogkCCK8KXcl5gMd+d8esuCl+p5d8P4zL/qSuvhc+zJ3qiIFyDaZ/wyUE1A78vNA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.0", - "@html-validate/stylish": "^3.0.0", - "@sidvind/better-ajv-errors": "^2.0.0", - "acorn-walk": "^8.0.0", - "ajv": "^8.0.0", - "deepmerge": "^4.2.0", - "espree": "^9.0.0", - "glob": "^8.0.0", - "ignore": "^5.0.0", - "kleur": "^4.1.0", - "minimist": "^1.2.0", - "prompts": "^2.0.0", - "semver": "^7.0.0" - }, - "bin": { - "html-validate": "bin/html-validate.js" - }, - "engines": { - "node": ">= 14.0" - }, - "peerDependencies": { - "jest": "^25.1 || ^26 || ^27.1 || ^28.1.3 || ^29.0.3", - "jest-diff": "^25.1 || ^26 || ^27.1 || ^28.1.3 || ^29.0.3", - "jest-snapshot": "^25.1 || ^26 || ^27.1 || ^28.1.3 || ^29.0.3" - }, - "peerDependenciesMeta": { - "jest": { - "optional": true - }, - "jest-diff": { - "optional": true - }, - "jest-snapshot": { - "optional": true - } - } - }, - "node_modules/html-validate/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/http-signature": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", - "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^2.0.2", - "sshpk": "^1.14.1" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true, - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", - "dev": true, - "dependencies": { - "ci-info": "^3.2.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "dev": true, - "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "dev": true - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsprim": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", - "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/lazy-ass": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", - "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", - "dev": true, - "engines": { - "node": "> 0.8" - } - }, - "node_modules/listr2": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", - "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", - "dev": true, - "dependencies": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.5.1", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "enquirer": ">= 2.3.0 < 3" - }, - "peerDependenciesMeta": { - "enquirer": { - "optional": true - } - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", - "dev": true - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ospath": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", - "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", - "dev": true - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", - "dev": true - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prompts/node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/proxy-from-env": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", - "dev": true - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.10.4", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", - "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/request-progress": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", - "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", - "dev": true, - "dependencies": { - "throttleit": "^1.0.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", - "dev": true - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rxjs": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", - "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", - "dev": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" + "name": "unit", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "dependencies": { + "@cypress/schema-tools": "^4.7.9", + "chai-json-schema": "^1.5.1" + }, + "devDependencies": { + "cypress": "12.6.0" + } + }, + "node_modules/@bahmutov/all-paths": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@bahmutov/all-paths/-/all-paths-1.0.2.tgz", + "integrity": "sha512-kqeMYh7e9yXWSm7LdQp4BZ4Igxk25lM2Jtw4+G83ro5nFvbHAp3ZmY2na/AVk57+CpZDH/sCXxyKFwkdisnkbw==", + "dependencies": { + "lodash.isplainobject": "4.0.6", + "lodash.range": "3.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@bahmutov/is-my-json-valid": { + "version": "2.17.3", + "resolved": "https://registry.npmjs.org/@bahmutov/is-my-json-valid/-/is-my-json-valid-2.17.3.tgz", + "integrity": "sha512-NSxJsPQKXE2CGu2U7V9hFQYZNYpHXv88hd9cH7pVWOdIqcvgeR/MeaX16AoigWiRlYjEkx2v6IgKZcmmBFWDfQ==", + "dependencies": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "is-my-ip-valid": "^1.0.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@cypress/request": { + "version": "2.88.11", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.11.tgz", + "integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "http-signature": "~1.3.6", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "~6.10.3", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@cypress/schema-tools": { + "version": "4.7.9", + "resolved": "https://registry.npmjs.org/@cypress/schema-tools/-/schema-tools-4.7.9.tgz", + "integrity": "sha512-AX7a6sthMcdzzszyQC9GRciRdy3bCCa9R7t02QLfKCIV4pY11Z07rb2g3SQYsDuPLN+YaTUMgcwrKdSTutCsbw==", + "dependencies": { + "@bahmutov/all-paths": "1.0.2", + "@bahmutov/is-my-json-valid": "2.17.3", + "@types/ramda": "0.25.47", + "debug": "4.3.3", + "json-stable-stringify": "1.0.1", + "json2md": "1.6.3", + "lodash.camelcase": "4.3.0", + "lodash.get": "4.4.2", + "lodash.reduce": "^4.6.0", + "lodash.set": "4.3.2", + "quote": "0.4.0", + "ramda": "0.25.0" + } + }, + "node_modules/@cypress/schema-tools/node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dev": true, + "dependencies": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + } + }, + "node_modules/@cypress/xvfb/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@types/node": { + "version": "14.18.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz", + "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", + "dev": true + }, + "node_modules/@types/ramda": { + "version": "0.25.47", + "resolved": "https://registry.npmjs.org/@types/ramda/-/ramda-0.25.47.tgz", + "integrity": "sha512-+ffSU83+PR4/cZtNTkUcFkg70sK4GePle7p5h05bQ37ycPumOx/TBpU52bt36GKDlds6tCqXheqPvgC52MMLug==" + }, + "node_modules/@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", + "dev": true + }, + "node_modules/@types/sizzle": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", + "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", + "dev": true + }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "node_modules/chai": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "peer": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^4.1.2", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chai-json-schema": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/chai-json-schema/-/chai-json-schema-1.5.1.tgz", + "integrity": "sha512-TR/xPDxRhqwFFCWg1HgL8nNWbpNfUwaib6pBN++QKpnd0t+o3+MBvAn5CM1mpdUMaM76oJAtUjGKdjGad01lIA==", + "dependencies": { + "jsonpointer.js": "0.4.0", + "tv4": "^1.3.0" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "chai": ">= 1.6.1 < 5" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cypress": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.6.0.tgz", + "integrity": "sha512-WdHSVaS1lumSd5XpVTslZd8ui9GIGphrzvXq9+3DtVhqjRZC5M70gu5SW/Y/SLPq3D1wiXGZoHC6HJ7ESVE2lw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@cypress/request": "^2.88.10", + "@cypress/xvfb": "^1.2.4", + "@types/node": "^14.14.31", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.6.0", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^5.1.0", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.4", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "getos": "^3.2.1", + "is-ci": "^3.0.0", + "is-installed-globally": "~0.4.0", + "lazy-ass": "^1.6.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.6", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "semver": "^7.3.2", + "supports-color": "^8.1.1", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + }, + "bin": { + "cypress": "bin/cypress" + }, + "engines": { + "node": "^14.0.0 || ^16.0.0 || >=18.0.0" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "peer": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", + "dev": true + }, + "node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "dependencies": { + "pify": "^2.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "dependencies": { + "is-property": "^1.0.2" + } + }, + "node_modules/generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==", + "dependencies": { + "is-property": "^1.0.0" + } + }, + "node_modules/get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dev": true, + "dependencies": { + "async": "^3.2.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/indento": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/indento/-/indento-1.1.13.tgz", + "integrity": "sha512-YZWk3mreBEM7sBPddsiQnW9Z8SGg/gNpFfscJq00HCDS7pxcQWWWMSVKJU7YkTRyDu1Zv2s8zaK8gQWKmCXHlg==" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-my-ip-valid": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz", + "integrity": "sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==" + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==" + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "node_modules/json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==", + "dependencies": { + "jsonify": "~0.0.0" + } + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "node_modules/json2md": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/json2md/-/json2md-1.6.3.tgz", + "integrity": "sha512-bdza+dm2rKu9NgguimGe9Os7grpYE8CCLXIXMkIYGOfkZLxSMKN487OOT8PBgBW2xFCcItoxh6WFA7SJOEDKkw==", + "dependencies": { + "indento": "^1.1.7" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/jsonpointer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz", + "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jsonpointer.js": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/jsonpointer.js/-/jsonpointer.js-0.4.0.tgz", + "integrity": "sha512-2bf/1crAmPpsmj1I6rDT6W0SOErkrNBpb555xNWcMVWYrX6VnXpG0GRMQ2shvOHwafpfse8q0gnzPFYVH6Tqdg==" + }, + "node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "node_modules/lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true, + "engines": { + "node": "> 0.8" + } + }, + "node_modules/listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true + }, + "node_modules/lodash.range": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.range/-/lodash.range-3.2.0.tgz", + "integrity": "sha512-Fgkb7SinmuzqgIhNhAElo0BL/R1rHCnhwSZf78omqSwvWqD0kD2ssOAutQonDKH/ldS8BxA72ORYI09qAY9CYg==" + }, + "node_modules/lodash.reduce": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", + "integrity": "sha512-6raRe2vxCYBhpBu+B+TtNGUzah+hQjVdu3E17wfusjyrXBka2nBS8OH/gjVZ5PvHOhWmIZTYri09Z6n/QfnNMw==" + }, + "node_modules/lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/loupe": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "peer": true, + "dependencies": { + "get-func-name": "^2.0.0" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", + "dev": true + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", + "dev": true + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/quote": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/quote/-/quote-0.4.0.tgz", + "integrity": "sha512-KHp3y3xDjuBhRx+tYKOgzPnVHMRlgpn2rU450GcU4PL24r1H6ls/hfPrxDwX2pvYMlwODHI2l8WwgoV69x5rUQ==" + }, + "node_modules/ramda": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", + "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" + }, + "node_modules/request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dev": true, + "dependencies": { + "throttleit": "^1.0.0" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rxjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tv4": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/tv4/-/tv4-1.3.0.tgz", + "integrity": "sha512-afizzfpJgvPr+eDkREK4MxJ/+r8nEEHcmitwgnPUqpaP+FpwQyadnxNoSACbgc/b1LsZYtODGoPiFxQrgJgjvw==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } } - ] - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dev": true, - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/throttleit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", - "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==", - "dev": true - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true - }, - "node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "dependencies": { - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=8.17.0" - } - }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", - "dev": true - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "dev": true, - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { + "dependencies": { + "@bahmutov/all-paths": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@bahmutov/all-paths/-/all-paths-1.0.2.tgz", + "integrity": "sha512-kqeMYh7e9yXWSm7LdQp4BZ4Igxk25lM2Jtw4+G83ro5nFvbHAp3ZmY2na/AVk57+CpZDH/sCXxyKFwkdisnkbw==", + "requires": { + "lodash.isplainobject": "4.0.6", + "lodash.range": "3.2.0" + } + }, + "@bahmutov/is-my-json-valid": { + "version": "2.17.3", + "resolved": "https://registry.npmjs.org/@bahmutov/is-my-json-valid/-/is-my-json-valid-2.17.3.tgz", + "integrity": "sha512-NSxJsPQKXE2CGu2U7V9hFQYZNYpHXv88hd9cH7pVWOdIqcvgeR/MeaX16AoigWiRlYjEkx2v6IgKZcmmBFWDfQ==", + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "is-my-ip-valid": "^1.0.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" + } + }, + "@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "optional": true + }, + "@cypress/request": { + "version": "2.88.11", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.11.tgz", + "integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "http-signature": "~1.3.6", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "~6.10.3", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + } + }, + "@cypress/schema-tools": { + "version": "4.7.9", + "resolved": "https://registry.npmjs.org/@cypress/schema-tools/-/schema-tools-4.7.9.tgz", + "integrity": "sha512-AX7a6sthMcdzzszyQC9GRciRdy3bCCa9R7t02QLfKCIV4pY11Z07rb2g3SQYsDuPLN+YaTUMgcwrKdSTutCsbw==", + "requires": { + "@bahmutov/all-paths": "1.0.2", + "@bahmutov/is-my-json-valid": "2.17.3", + "@types/ramda": "0.25.47", + "debug": "4.3.3", + "json-stable-stringify": "1.0.1", + "json2md": "1.6.3", + "lodash.camelcase": "4.3.0", + "lodash.get": "4.4.2", + "lodash.reduce": "^4.6.0", + "lodash.set": "4.3.2", + "quote": "0.4.0", + "ramda": "0.25.0" + }, + "dependencies": { + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "requires": { + "ms": "2.1.2" + } + } + } + }, + "@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@types/node": { + "version": "14.18.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz", + "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", + "dev": true + }, + "@types/ramda": { + "version": "0.25.47", + "resolved": "https://registry.npmjs.org/@types/ramda/-/ramda-0.25.47.tgz", + "integrity": "sha512-+ffSU83+PR4/cZtNTkUcFkg70sK4GePle7p5h05bQ37ycPumOx/TBpU52bt36GKDlds6tCqXheqPvgC52MMLug==" + }, + "@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", + "dev": true + }, + "@types/sizzle": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", + "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", + "dev": true + }, + "@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true + }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "peer": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true + }, + "aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true + }, + "cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "dev": true + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "chai": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "peer": true, + "requires": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^4.1.2", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + } + }, + "chai-json-schema": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/chai-json-schema/-/chai-json-schema-1.5.1.tgz", + "integrity": "sha512-TR/xPDxRhqwFFCWg1HgL8nNWbpNfUwaib6pBN++QKpnd0t+o3+MBvAn5CM1mpdUMaM76oJAtUjGKdjGad01lIA==", + "requires": { + "jsonpointer.js": "0.4.0", + "tv4": "^1.3.0" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "peer": true + }, + "check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true + }, + "ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dev": true, + "requires": { + "@colors/colors": "1.5.0", + "string-width": "^4.2.0" + } + }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true + }, + "common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "cypress": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.6.0.tgz", + "integrity": "sha512-WdHSVaS1lumSd5XpVTslZd8ui9GIGphrzvXq9+3DtVhqjRZC5M70gu5SW/Y/SLPq3D1wiXGZoHC6HJ7ESVE2lw==", + "dev": true, + "requires": { + "@cypress/request": "^2.88.10", + "@cypress/xvfb": "^1.2.4", + "@types/node": "^14.14.31", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.6.0", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^5.1.0", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.4", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "getos": "^3.2.1", + "is-ci": "^3.0.0", + "is-installed-globally": "~0.4.0", + "lazy-ass": "^1.6.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.6", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "semver": "^7.3.2", + "supports-color": "^8.1.1", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "peer": true, + "requires": { + "type-detect": "^4.0.0" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", + "dev": true + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "requires": { + "pify": "^2.2.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "requires": { + "is-property": "^1.0.2" + } + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==", + "requires": { + "is-property": "^1.0.0" + } + }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "peer": true + }, + "get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dev": true, + "requires": { + "async": "^3.2.0" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "requires": { + "ini": "2.0.0" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "indento": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/indento/-/indento-1.1.13.tgz", + "integrity": "sha512-YZWk3mreBEM7sBPddsiQnW9Z8SGg/gNpFfscJq00HCDS7pxcQWWWMSVKJU7YkTRyDu1Zv2s8zaK8gQWKmCXHlg==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true + }, + "is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dev": true, + "requires": { + "ci-info": "^3.2.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "requires": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + } + }, + "is-my-ip-valid": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz", + "integrity": "sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==" + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==" + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==", + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "json2md": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/json2md/-/json2md-1.6.3.tgz", + "integrity": "sha512-bdza+dm2rKu9NgguimGe9Os7grpYE8CCLXIXMkIYGOfkZLxSMKN487OOT8PBgBW2xFCcItoxh6WFA7SJOEDKkw==", + "requires": { + "indento": "^1.1.7" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==" + }, + "jsonpointer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz", + "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==" + }, + "jsonpointer.js": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/jsonpointer.js/-/jsonpointer.js-0.4.0.tgz", + "integrity": "sha512-2bf/1crAmPpsmj1I6rDT6W0SOErkrNBpb555xNWcMVWYrX6VnXpG0GRMQ2shvOHwafpfse8q0gnzPFYVH6Tqdg==" + }, + "jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true + }, + "listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "requires": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true + }, + "lodash.range": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.range/-/lodash.range-3.2.0.tgz", + "integrity": "sha512-Fgkb7SinmuzqgIhNhAElo0BL/R1rHCnhwSZf78omqSwvWqD0kD2ssOAutQonDKH/ldS8BxA72ORYI09qAY9CYg==" + }, + "lodash.reduce": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", + "integrity": "sha512-6raRe2vxCYBhpBu+B+TtNGUzah+hQjVdu3E17wfusjyrXBka2nBS8OH/gjVZ5PvHOhWmIZTYri09Z6n/QfnNMw==" + }, + "lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==" + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, + "log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "loupe": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "peer": true, + "requires": { + "get-func-name": "^2.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", + "dev": true + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "peer": true + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true + }, + "proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", + "dev": true + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "qs": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "quote": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/quote/-/quote-0.4.0.tgz", + "integrity": "sha512-KHp3y3xDjuBhRx+tYKOgzPnVHMRlgpn2rU450GcU4PL24r1H6ls/hfPrxDwX2pvYMlwODHI2l8WwgoV69x5rUQ==" + }, + "ramda": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", + "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" + }, + "request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dev": true, + "requires": { + "throttleit": "^1.0.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rxjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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 + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true, - "optional": true - }, - "@cypress/request": { - "version": "2.88.11", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.11.tgz", - "integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "http-signature": "~1.3.6", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "performance-now": "^2.1.0", - "qs": "~6.10.3", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^8.3.2" - } - }, - "@cypress/xvfb": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", - "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", - "dev": true, - "requires": { - "debug": "^3.1.0", - "lodash.once": "^4.1.1" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "@html-validate/stylish": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@html-validate/stylish/-/stylish-3.0.1.tgz", - "integrity": "sha512-jQNDrSnWvJEPSlqC1tFqcbmVuJy2x61UwqFsXHxYT2sgCXFW4AVhsoIcHkECCmUHtQ8hpHU6yOBGA+rMLZhS7A==", - "dev": true, - "requires": { - "kleur": "^4.0.0" - } - }, - "@sidvind/better-ajv-errors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@sidvind/better-ajv-errors/-/better-ajv-errors-2.1.0.tgz", - "integrity": "sha512-JuIb009FhHuL9priFBho2kv7QmZOydj0LgYvj+h1t0mMCmhM/YmQNRlJR5wVtBZya6wrVFK5Hi5TIbv5BKEx7w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.0", - "chalk": "^4.1.0" - } - }, - "@types/node": { - "version": "14.18.36", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz", - "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", - "dev": true - }, - "@types/sinonjs__fake-timers": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", - "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", - "dev": true - }, - "@types/sizzle": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", - "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", - "dev": true - }, - "@types/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", - "dev": true, - "optional": true, - "requires": { - "@types/node": "*" - } - }, - "acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "dev": true - }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true - }, - "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "dev": true - }, - "aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", - "dev": true - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "blob-util": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", - "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", - "dev": true - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "dev": true - }, - "cachedir": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", - "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", - "dev": true - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "check-more-types": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", - "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", - "dev": true - }, - "ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", - "dev": true - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", - "dev": true, - "requires": { - "@colors/colors": "1.5.0", - "string-width": "^4.2.0" - } - }, - "cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, - "requires": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "dev": true - }, - "common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "cypress": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.6.0.tgz", - "integrity": "sha512-WdHSVaS1lumSd5XpVTslZd8ui9GIGphrzvXq9+3DtVhqjRZC5M70gu5SW/Y/SLPq3D1wiXGZoHC6HJ7ESVE2lw==", - "dev": true, - "requires": { - "@cypress/request": "^2.88.10", - "@cypress/xvfb": "^1.2.4", - "@types/node": "^14.14.31", - "@types/sinonjs__fake-timers": "8.1.1", - "@types/sizzle": "^2.3.2", - "arch": "^2.2.0", - "blob-util": "^2.0.2", - "bluebird": "^3.7.2", - "buffer": "^5.6.0", - "cachedir": "^2.3.0", - "chalk": "^4.1.0", - "check-more-types": "^2.24.0", - "cli-cursor": "^3.1.0", - "cli-table3": "~0.6.1", - "commander": "^5.1.0", - "common-tags": "^1.8.0", - "dayjs": "^1.10.4", - "debug": "^4.3.4", - "enquirer": "^2.3.6", - "eventemitter2": "6.4.7", - "execa": "4.1.0", - "executable": "^4.1.1", - "extract-zip": "2.0.1", - "figures": "^3.2.0", - "fs-extra": "^9.1.0", - "getos": "^3.2.1", - "is-ci": "^3.0.0", - "is-installed-globally": "~0.4.0", - "lazy-ass": "^1.6.0", - "listr2": "^3.8.3", - "lodash": "^4.17.21", - "log-symbols": "^4.0.0", - "minimist": "^1.2.6", - "ospath": "^1.2.2", - "pretty-bytes": "^5.6.0", - "proxy-from-env": "1.0.0", - "request-progress": "^3.0.0", - "semver": "^7.3.2", - "supports-color": "^8.1.1", - "tmp": "~0.2.1", - "untildify": "^4.0.0", - "yauzl": "^2.10.0" - } - }, - "cypress-html-validate": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/cypress-html-validate/-/cypress-html-validate-5.1.2.tgz", - "integrity": "sha512-e8xL6YvnwRwN/1ey0aTQRbsE50rmUtT7WXPnr7ZjAUhTm/kRMKBzxmCZRqiGhy5Q4lOLOHlOkGFg2wCObvENcQ==", - "dev": true, - "requires": {} - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "dayjs": { - "version": "1.11.7", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", - "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", - "dev": true - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "deepmerge": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz", - "integrity": "sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==", - "dev": true - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.1" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true - }, - "espree": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", - "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", - "dev": true, - "requires": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" - } - }, - "eventemitter2": { - "version": "6.4.7", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", - "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", - "dev": true - }, - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "executable": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", - "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", - "dev": true, - "requires": { - "pify": "^2.2.0" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "dev": true, - "requires": { - "@types/yauzl": "^2.9.1", - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dev": true, - "requires": { - "pend": "~1.2.0" - } - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "get-intrinsic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "getos": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", - "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", - "dev": true, - "requires": { - "async": "^3.2.0" - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "global-dirs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", - "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", - "dev": true, - "requires": { - "ini": "2.0.0" - } - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true - }, - "html-validate": { - "version": "7.13.2", - "resolved": "https://registry.npmjs.org/html-validate/-/html-validate-7.13.2.tgz", - "integrity": "sha512-ZUinzQ/a9zC0vP3uoCAKhHWogkCCK8KXcl5gMd+d8esuCl+p5d8P4zL/qSuvhc+zJ3qiIFyDaZ/wyUE1A78vNA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.0", - "@html-validate/stylish": "^3.0.0", - "@sidvind/better-ajv-errors": "^2.0.0", - "acorn-walk": "^8.0.0", - "ajv": "^8.0.0", - "deepmerge": "^4.2.0", - "espree": "^9.0.0", - "glob": "^8.0.0", - "ignore": "^5.0.0", - "kleur": "^4.1.0", - "minimist": "^1.2.0", - "prompts": "^2.0.0", - "semver": "^7.0.0" - }, - "dependencies": { - "glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - } - } - }, - "http-signature": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", - "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^2.0.2", - "sshpk": "^1.14.1" - } - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "dev": true - }, - "is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", - "dev": true, - "requires": { - "ci-info": "^3.2.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "dev": true, - "requires": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - } - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "dev": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "jsprim": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", - "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "dev": true - }, - "lazy-ass": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", - "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", - "dev": true - }, - "listr2": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", - "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", - "dev": true, - "requires": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.5.1", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", - "dev": true - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - } - }, - "log-update": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", - "dev": true, - "requires": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tv4": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/tv4/-/tv4-1.3.0.tgz", + "integrity": "sha512-afizzfpJgvPr+eDkREK4MxJ/+r8nEEHcmitwgnPUqpaP+FpwQyadnxNoSACbgc/b1LsZYtODGoPiFxQrgJgjvw==" + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "peer": true + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } }, "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "ospath": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", - "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", - "dev": true - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", - "dev": true - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true - }, - "pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "dev": true - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "dependencies": { - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } } - } - }, - "proxy-from-env": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", - "dev": true - }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true - }, - "qs": { - "version": "6.10.4", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", - "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", - "dev": true, - "requires": { - "side-channel": "^1.0.4" - } - }, - "request-progress": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", - "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", - "dev": true, - "requires": { - "throttleit": "^1.0.0" - } - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "rxjs": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", - "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", - "dev": true, - "requires": { - "tslib": "^2.1.0" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "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 - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, - "sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "throttleit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", - "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true - }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "requires": { - "rimraf": "^3.0.0" - } - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - }, - "untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", - "dev": true - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "dev": true, - "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } } - } -} \ No newline at end of file +} diff --git a/tests/tests_cypress/unit/package.json b/tests/tests_cypress/unit/package.json index 9f6b14d..6475b83 100644 --- a/tests/tests_cypress/unit/package.json +++ b/tests/tests_cypress/unit/package.json @@ -1,15 +1,18 @@ { "devDependencies": { - "cypress": "12.6.0" + "cypress": "12.6.0" }, "type": "module", "scripts": { - "start": "npx cypress open", - "test:integration": "docker-compose --file docker-compose.cypress.yml up --exit-code-from cypress --build cypress", - "clean:reports": "rm -rf cypress/reports/", - "test": "npm run clean:reports && cypress run", - "merge:reports": "mochawesome-merge cypress/reports/*.json > cypress-tests-report.json", - "create:html:report": "marge --reportDir tests cypress-tests-report.json", - "generate:html:report": "npm run merge:reports && npm run create:html:report" + "start": "npx cypress open", + "test:integration": "docker-compose --file docker-compose.cypress.yml up --exit-code-from cypress --build cypress", + "clean:reports": "rm -rf cypress/reports/", + "test": "npm run clean:reports && cypress run", + "merge:reports": "mochawesome-merge cypress/reports/*.json > cypress-tests-report.json", + "create:html:report": "marge --reportDir tests cypress-tests-report.json", + "generate:html:report": "npm run merge:reports && npm run create:html:report" + }, + "dependencies": { + "chai-json-schema": "^1.5.1" } - } \ No newline at end of file +} From fbd15d1742162cdf71f2c5f6d16a895cdcd35cc0 Mon Sep 17 00:00:00 2001 From: aablatov Date: Sat, 1 Apr 2023 21:31:08 +0300 Subject: [PATCH 74/86] add --- .github/workflows/cypress_unit.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cypress_unit.yml b/.github/workflows/cypress_unit.yml index 960fd54..f159e9d 100644 --- a/.github/workflows/cypress_unit.yml +++ b/.github/workflows/cypress_unit.yml @@ -26,5 +26,5 @@ jobs: uses: cypress-io/github-action@v5 with: working-directory: tests/tests_cypress/unit - start: npm install chai-json-schema | - npm run start + run: npm install chai-json-schema + start: npm run start From ef537aec092c4bcc495d2c6f5de428adcfca958f Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Sun, 2 Apr 2023 00:23:30 +0300 Subject: [PATCH 75/86] iniate flush --- js/tab_blackmarket_new.js | 1 - 1 file changed, 1 deletion(-) diff --git a/js/tab_blackmarket_new.js b/js/tab_blackmarket_new.js index b88103f..86fac8f 100644 --- a/js/tab_blackmarket_new.js +++ b/js/tab_blackmarket_new.js @@ -101,7 +101,6 @@ function equipItem_new(item){ //recalcStats(newItem.attr); //updateHeroStatus(); } - function sell(){ } From 99bac4ff22b5c271df7dff3669d87972d9e6270f Mon Sep 17 00:00:00 2001 From: aablatov Date: Sun, 2 Apr 2023 23:03:42 +0300 Subject: [PATCH 76/86] update import JSON in unit test --- .github/workflows/cypress_unit.yml | 9 +- .../cypress/e2e/check_object_property.cy.js | 134 ++++++++---------- .../unit/cypress/e2e/check_schema_json.cy.js | 76 +++------- 3 files changed, 82 insertions(+), 137 deletions(-) diff --git a/.github/workflows/cypress_unit.yml b/.github/workflows/cypress_unit.yml index f159e9d..6bd8e50 100644 --- a/.github/workflows/cypress_unit.yml +++ b/.github/workflows/cypress_unit.yml @@ -14,14 +14,7 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v3 - - - name: run server with the front of the game - run: python3 -m http.server 8080 & - - - name: check whether game is UP - run: | - curl -X GET "http://localhost:8080/" - + - name: cypress run uses: cypress-io/github-action@v5 with: diff --git a/tests/tests_cypress/unit/cypress/e2e/check_object_property.cy.js b/tests/tests_cypress/unit/cypress/e2e/check_object_property.cy.js index a8d5f93..4014b3c 100644 --- a/tests/tests_cypress/unit/cypress/e2e/check_object_property.cy.js +++ b/tests/tests_cypress/unit/cypress/e2e/check_object_property.cy.js @@ -1,62 +1,47 @@ +import artefacts from '../../../../../js/objects_artifacts' +import tech_list from '../../../../../js/objects_technology_tree' describe('Сhecking object properties in file: ', () => { - - beforeEach(() => { - cy.visit('/') - - Cypress.on('uncaught:exception', (err, runnable) => { - return false; - }); - - //close windows canvas - cy.window().then((win) => { - win.eval('document.getElementById("myDCanvas").classList.remove("active-modal")'); - }); - - }) - + it('Сhecking object properties file objects_technology_tree.js', () => { // ********************************************************************* // Checking the file objects_technology_tree.js // ********************************************************************* - let techList; + let techKey; let checkTech; let tempCheckTech; - cy.window().then((win) => { - techList = win.eval('Object.keys(tech_list)'); - - techList.forEach(function (item) { - checkTech = win.eval('tech_list.' + item); - - techList.forEach(function (tempItem) { - tempCheckTech = win.eval('tech_list.' + tempItem); - - if (checkTech === tempCheckTech) { - expect(tempCheckTech.id).to.eql(checkTech.id); - expect(tempCheckTech.name['default'], tempItem).to.eql(checkTech.name['default']); - expect(tempCheckTech.name['en-US'], tempItem).to.eql(checkTech.name['en-US']); - expect(tempCheckTech.name['ru-RU'], tempItem).to.eql(checkTech.name['ru-RU']); - } else { - if (tempCheckTech.id === checkTech.id) { - expect(tempCheckTech.id, tempItem + " duplicates the property of the " + item).to.not.eql(checkTech.id) - } - if (tempCheckTech.name['default'] === checkTech.name['default'] || - tempCheckTech.name['en-US'] === checkTech.name['en-US'] || - tempCheckTech.name['ru-RU'] === checkTech.name['ru-RU'] - ) { - expect(tempCheckTech.name['default'], tempItem + " duplicates the property of the " + item).to.not.eql(checkTech.name['default']); - expect(tempCheckTech.name['en-US'], tempItem + " duplicates the property of the " + item).to.not.eql(checkTech.name['en-US']); - expect(tempCheckTech.name['ru-RU'], tempItem + " duplicates the property of the " + item).to.not.eql(checkTech.name['ru-RU']); - } - } - }) + techKey = Object.keys(tech_list); + + techKey.forEach(function (item) { + checkTech = tech_list[item]; + + techKey.forEach(function (tempItem) { + tempCheckTech = tech_list[tempItem]; + if (checkTech === tempCheckTech) { + expect(tempCheckTech.id).to.eql(checkTech.id); + expect(tempCheckTech.name['default'], tempItem).to.eql(checkTech.name['default']); + expect(tempCheckTech.name['en-US'], tempItem).to.eql(checkTech.name['en-US']); + expect(tempCheckTech.name['ru-RU'], tempItem).to.eql(checkTech.name['ru-RU']); + } else { + if (tempCheckTech.id === checkTech.id) { + expect(tempCheckTech.id, tempItem + " duplicates the property of the " + item).to.not.eql(checkTech.id) + } + if (tempCheckTech.name['default'] === checkTech.name['default'] || + tempCheckTech.name['en-US'] === checkTech.name['en-US'] || + tempCheckTech.name['ru-RU'] === checkTech.name['ru-RU'] + ) { + expect(tempCheckTech.name['default'], tempItem + " duplicates the property of the " + item).to.not.eql(checkTech.name['default']); + expect(tempCheckTech.name['en-US'], tempItem + " duplicates the property of the " + item).to.not.eql(checkTech.name['en-US']); + expect(tempCheckTech.name['ru-RU'], tempItem + " duplicates the property of the " + item).to.not.eql(checkTech.name['ru-RU']); + } + } }) - }); + }) }); it('Сhecking object properties file objects_artifacts.js', () => { @@ -65,42 +50,39 @@ describe('Сhecking object properties in file: ', () => { // Checking the file objects_artifacts.js // ********************************************************************* - let artefacts; + let artefactsKey; let checkArt; let tempCheckArt; - cy.window().then((win) => { - artefacts = win.eval('Object.keys(artefacts)'); - - console.log(artefacts); - artefacts.forEach(function (item) { - checkArt = win.eval('artefacts.' + item); - - artefacts.forEach(function (tempItem) { - tempCheckArt = win.eval('artefacts.' + tempItem); - - if (checkArt === tempCheckArt) { - expect(tempCheckArt.id).to.eql(checkArt.id); - expect(tempCheckArt.name['default']).to.eql(checkArt.name['default']); - expect(tempCheckArt.name['en-US']).to.eql(checkArt.name['en-US']); - expect(tempCheckArt.name['ru-RU']).to.eql(checkArt.name['ru-RU']); - } else { - if (tempCheckArt.id === checkArt.id) { - expect(tempCheckArt.id, tempItem + " duplicates the property of the " + item).to.not.eql(checkArt.id) - } - if (tempCheckArt.name['default'] === checkArt.name['default'] || - tempCheckArt.name['en-US'] === checkArt.name['en-US'] || - tempCheckArt.name['ru-RU'] === checkArt.name['ru-RU'] - ) { - expect(tempCheckArt.name['default'], tempItem + " duplicates the property of the " + item).to.not.eql(checkArt.name['default']); - expect(tempCheckArt.name['en-US'], tempItem + " duplicates the property of the " + item).to.not.eql(checkArt.name['en-US']); - expect(tempCheckArt.name['ru-RU'], tempItem + " duplicates the property of the " + item).to.not.eql(checkArt.name['ru-RU']); - } - } - }) + artefactsKey = Object.keys(artefacts); + + artefactsKey.forEach(function (item) { + checkArt = artefacts[item]; + artefactsKey.forEach(function (tempItem) { + tempCheckArt = artefacts[tempItem]; + + if (checkArt === tempCheckArt) { + expect(tempCheckArt.id).to.eql(checkArt.id); + expect(tempCheckArt.name['default']).to.eql(checkArt.name['default']); + expect(tempCheckArt.name['en-US']).to.eql(checkArt.name['en-US']); + expect(tempCheckArt.name['ru-RU']).to.eql(checkArt.name['ru-RU']); + } else { + if (tempCheckArt.id === checkArt.id) { + expect(tempCheckArt.id, tempItem + " duplicates the property of the " + item).to.not.eql(checkArt.id) + } + if (tempCheckArt.name['default'] === checkArt.name['default'] || + tempCheckArt.name['en-US'] === checkArt.name['en-US'] || + tempCheckArt.name['ru-RU'] === checkArt.name['ru-RU'] + ) { + expect(tempCheckArt.name['default'], tempItem + " duplicates the property of the " + item).to.not.eql(checkArt.name['default']); + expect(tempCheckArt.name['en-US'], tempItem + " duplicates the property of the " + item).to.not.eql(checkArt.name['en-US']); + expect(tempCheckArt.name['ru-RU'], tempItem + " duplicates the property of the " + item).to.not.eql(checkArt.name['ru-RU']); + } + } }) - }); + }) + }); }); diff --git a/tests/tests_cypress/unit/cypress/e2e/check_schema_json.cy.js b/tests/tests_cypress/unit/cypress/e2e/check_schema_json.cy.js index 0e5a0b0..a684bdd 100644 --- a/tests/tests_cypress/unit/cypress/e2e/check_schema_json.cy.js +++ b/tests/tests_cypress/unit/cypress/e2e/check_schema_json.cy.js @@ -1,61 +1,36 @@ import { artSchema } from '../schemas/artifacts_schema' import { technologySchema } from '../schemas/technology_tree_schema' +import artefacts from '../../../../../js/objects_artifacts' +import tech_list from '../../../../../js/objects_technology_tree' -describe('Сhecking object properties in file: ', () => { - - beforeEach(() => { - cy.visit('/') - - Cypress.on('uncaught:exception', (err, runnable) => { - return false; - }); - - //close windows canvas - cy.window().then((win) => { - win.eval('document.getElementById("myDCanvas").classList.remove("active-modal")'); - }); - - }) +describe('Сhecking object properties in file: ', () => { + it('Valid JSON object artifact ', () => { // ********************************************************************* // Checking the schema file objects_artifacts.js // ********************************************************************* - let artefacts; - let checkArt; - - cy.window().then((win) => { - - artefacts = win.eval('Object.keys(artefacts)'); - artefacts.forEach(function (item) { - checkArt = win.eval('artefacts.' + item); - expect(checkArt, item).to.be.jsonSchema(artSchema); - }); + let artefactsKey; + artefactsKey = Object.keys(artefacts); + artefactsKey.forEach(function (item) { + expect(artefacts[item], item).to.be.jsonSchema(artSchema); }); }) it('Сhecking for the presence of property "artefactsWorn" for object artid', () => { - cy.window().then((win) => { - - let artefacts; - let checkArt; - - artefacts = win.eval('Object.keys(artefacts)'); + let artefactsKey; - console.log(artefacts); - artefacts.forEach(function (item) { - checkArt = win.eval('artefacts.' + item); - - if (checkArt.type == 'artefactsWorn') { - expect(checkArt, item + ' have the property "artefactsWorn"').to.property('artefactsWorn') - } - else { - expect(checkArt, item + ' does not have the property "artefactsWorn"').to.not.property('artefactsWorn'); - } - }); + artefactsKey = Object.keys(artefacts); + artefactsKey.forEach(function (item) { + if (artefacts[item].type == 'artefactsWorn') { + expect(artefacts[item], item + ' have the property "artefactsWorn"').to.property('artefactsWorn') + } + else { + expect(artefacts[item], item + ' does not have the property "artefactsWorn"').to.not.property('artefactsWorn'); + } }); }) @@ -65,16 +40,11 @@ describe('Сhecking object properties in file: ', () => { // Checking the schema file objects_technology_tree.js // ********************************************************************* - let techList; - let checkTech; - - cy.window().then((win) => { - techList = win.eval('Object.keys(tech_list)'); - - techList.forEach(function (item) { - checkTech = win.eval('tech_list.' + item); - expect(checkTech, item).to.be.jsonSchema(technologySchema); - }) - }) + let techKey; + const technologyO = tech_list; + techKey = Object.keys(technologyO); + techKey.forEach(function (item) { + expect(technologyO[item], item).to.be.jsonSchema(technologySchema); + }); }) }) \ No newline at end of file From 4009ede84f8a66b7f4665734ff48f9fedc4a4c69 Mon Sep 17 00:00:00 2001 From: aablatov Date: Sun, 2 Apr 2023 23:06:19 +0300 Subject: [PATCH 77/86] delete url --- tests/tests_cypress/unit/cypress.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/tests_cypress/unit/cypress.config.js b/tests/tests_cypress/unit/cypress.config.js index 630de6d..9551dcc 100644 --- a/tests/tests_cypress/unit/cypress.config.js +++ b/tests/tests_cypress/unit/cypress.config.js @@ -1,7 +1,7 @@ export default ({ e2e: { - baseUrl: 'http://localhost:8080', + setupNodeEvents(on, config) { video: false; // implement node event listeners here From bcd798228c4f2b0ed6049a35a6917d4f430a90a1 Mon Sep 17 00:00:00 2001 From: aablatov Date: Wed, 12 Apr 2023 00:21:09 +0300 Subject: [PATCH 78/86] update jsonpoiter ver 5.0.1 in package-lock.json --- tests/tests_cypress/unit/package-lock.json | 339 +-------------------- 1 file changed, 4 insertions(+), 335 deletions(-) diff --git a/tests/tests_cypress/unit/package-lock.json b/tests/tests_cypress/unit/package-lock.json index aaacfb9..808d1f0 100644 --- a/tests/tests_cypress/unit/package-lock.json +++ b/tests/tests_cypress/unit/package-lock.json @@ -5,37 +5,12 @@ "packages": { "": { "dependencies": { - "@cypress/schema-tools": "^4.7.9", "chai-json-schema": "^1.5.1" }, "devDependencies": { "cypress": "12.6.0" } }, - "node_modules/@bahmutov/all-paths": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@bahmutov/all-paths/-/all-paths-1.0.2.tgz", - "integrity": "sha512-kqeMYh7e9yXWSm7LdQp4BZ4Igxk25lM2Jtw4+G83ro5nFvbHAp3ZmY2na/AVk57+CpZDH/sCXxyKFwkdisnkbw==", - "dependencies": { - "lodash.isplainobject": "4.0.6", - "lodash.range": "3.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@bahmutov/is-my-json-valid": { - "version": "2.17.3", - "resolved": "https://registry.npmjs.org/@bahmutov/is-my-json-valid/-/is-my-json-valid-2.17.3.tgz", - "integrity": "sha512-NSxJsPQKXE2CGu2U7V9hFQYZNYpHXv88hd9cH7pVWOdIqcvgeR/MeaX16AoigWiRlYjEkx2v6IgKZcmmBFWDfQ==", - "dependencies": { - "generate-function": "^2.0.0", - "generate-object-property": "^1.1.0", - "is-my-ip-valid": "^1.0.0", - "jsonpointer": "^4.0.0", - "xtend": "^4.0.0" - } - }, "node_modules/@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", @@ -75,41 +50,6 @@ "node": ">= 6" } }, - "node_modules/@cypress/schema-tools": { - "version": "4.7.9", - "resolved": "https://registry.npmjs.org/@cypress/schema-tools/-/schema-tools-4.7.9.tgz", - "integrity": "sha512-AX7a6sthMcdzzszyQC9GRciRdy3bCCa9R7t02QLfKCIV4pY11Z07rb2g3SQYsDuPLN+YaTUMgcwrKdSTutCsbw==", - "dependencies": { - "@bahmutov/all-paths": "1.0.2", - "@bahmutov/is-my-json-valid": "2.17.3", - "@types/ramda": "0.25.47", - "debug": "4.3.3", - "json-stable-stringify": "1.0.1", - "json2md": "1.6.3", - "lodash.camelcase": "4.3.0", - "lodash.get": "4.4.2", - "lodash.reduce": "^4.6.0", - "lodash.set": "4.3.2", - "quote": "0.4.0", - "ramda": "0.25.0" - } - }, - "node_modules/@cypress/schema-tools/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/@cypress/xvfb": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", @@ -135,11 +75,6 @@ "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", "dev": true }, - "node_modules/@types/ramda": { - "version": "0.25.47", - "resolved": "https://registry.npmjs.org/@types/ramda/-/ramda-0.25.47.tgz", - "integrity": "sha512-+ffSU83+PR4/cZtNTkUcFkg70sK4GePle7p5h05bQ37ycPumOx/TBpU52bt36GKDlds6tCqXheqPvgC52MMLug==" - }, "node_modules/@types/sinonjs__fake-timers": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", @@ -958,22 +893,6 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "node_modules/generate-function": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", - "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", - "dependencies": { - "is-property": "^1.0.2" - } - }, - "node_modules/generate-object-property": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "integrity": "sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==", - "dependencies": { - "is-property": "^1.0.0" - } - }, "node_modules/get-func-name": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", @@ -1178,11 +1097,6 @@ "node": ">=8" } }, - "node_modules/indento": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/indento/-/indento-1.1.13.tgz", - "integrity": "sha512-YZWk3mreBEM7sBPddsiQnW9Z8SGg/gNpFfscJq00HCDS7pxcQWWWMSVKJU7YkTRyDu1Zv2s8zaK8gQWKmCXHlg==" - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -1245,11 +1159,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-my-ip-valid": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz", - "integrity": "sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==" - }, "node_modules/is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -1259,11 +1168,6 @@ "node": ">=8" } }, - "node_modules/is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==" - }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -1318,28 +1222,12 @@ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "dev": true }, - "node_modules/json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==", - "dependencies": { - "jsonify": "~0.0.0" - } - }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true }, - "node_modules/json2md": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/json2md/-/json2md-1.6.3.tgz", - "integrity": "sha512-bdza+dm2rKu9NgguimGe9Os7grpYE8CCLXIXMkIYGOfkZLxSMKN487OOT8PBgBW2xFCcItoxh6WFA7SJOEDKkw==", - "dependencies": { - "indento": "^1.1.7" - } - }, "node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -1352,22 +1240,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/jsonify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", - "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/jsonpointer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz", - "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/jsonpointer.js": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/jsonpointer.js/-/jsonpointer.js-0.4.0.tgz", @@ -1430,42 +1302,12 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" - }, "node_modules/lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", "dev": true }, - "node_modules/lodash.range": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.range/-/lodash.range-3.2.0.tgz", - "integrity": "sha512-Fgkb7SinmuzqgIhNhAElo0BL/R1rHCnhwSZf78omqSwvWqD0kD2ssOAutQonDKH/ldS8BxA72ORYI09qAY9CYg==" - }, - "node_modules/lodash.reduce": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", - "integrity": "sha512-6raRe2vxCYBhpBu+B+TtNGUzah+hQjVdu3E17wfusjyrXBka2nBS8OH/gjVZ5PvHOhWmIZTYri09Z6n/QfnNMw==" - }, - "node_modules/lodash.set": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", - "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==" - }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -1600,7 +1442,8 @@ "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/npm-run-path": { "version": "4.0.1", @@ -1774,16 +1617,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/quote": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/quote/-/quote-0.4.0.tgz", - "integrity": "sha512-KHp3y3xDjuBhRx+tYKOgzPnVHMRlgpn2rU450GcU4PL24r1H6ls/hfPrxDwX2pvYMlwODHI2l8WwgoV69x5rUQ==" - }, - "node_modules/ramda": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", - "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" - }, "node_modules/request-progress": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", @@ -2176,14 +2009,6 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -2202,27 +2027,6 @@ } }, "dependencies": { - "@bahmutov/all-paths": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@bahmutov/all-paths/-/all-paths-1.0.2.tgz", - "integrity": "sha512-kqeMYh7e9yXWSm7LdQp4BZ4Igxk25lM2Jtw4+G83ro5nFvbHAp3ZmY2na/AVk57+CpZDH/sCXxyKFwkdisnkbw==", - "requires": { - "lodash.isplainobject": "4.0.6", - "lodash.range": "3.2.0" - } - }, - "@bahmutov/is-my-json-valid": { - "version": "2.17.3", - "resolved": "https://registry.npmjs.org/@bahmutov/is-my-json-valid/-/is-my-json-valid-2.17.3.tgz", - "integrity": "sha512-NSxJsPQKXE2CGu2U7V9hFQYZNYpHXv88hd9cH7pVWOdIqcvgeR/MeaX16AoigWiRlYjEkx2v6IgKZcmmBFWDfQ==", - "requires": { - "generate-function": "^2.0.0", - "generate-object-property": "^1.1.0", - "is-my-ip-valid": "^1.0.0", - "jsonpointer": "^4.0.0", - "xtend": "^4.0.0" - } - }, "@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", @@ -2256,35 +2060,6 @@ "uuid": "^8.3.2" } }, - "@cypress/schema-tools": { - "version": "4.7.9", - "resolved": "https://registry.npmjs.org/@cypress/schema-tools/-/schema-tools-4.7.9.tgz", - "integrity": "sha512-AX7a6sthMcdzzszyQC9GRciRdy3bCCa9R7t02QLfKCIV4pY11Z07rb2g3SQYsDuPLN+YaTUMgcwrKdSTutCsbw==", - "requires": { - "@bahmutov/all-paths": "1.0.2", - "@bahmutov/is-my-json-valid": "2.17.3", - "@types/ramda": "0.25.47", - "debug": "4.3.3", - "json-stable-stringify": "1.0.1", - "json2md": "1.6.3", - "lodash.camelcase": "4.3.0", - "lodash.get": "4.4.2", - "lodash.reduce": "^4.6.0", - "lodash.set": "4.3.2", - "quote": "0.4.0", - "ramda": "0.25.0" - }, - "dependencies": { - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" - } - } - } - }, "@cypress/xvfb": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", @@ -2312,11 +2087,6 @@ "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", "dev": true }, - "@types/ramda": { - "version": "0.25.47", - "resolved": "https://registry.npmjs.org/@types/ramda/-/ramda-0.25.47.tgz", - "integrity": "sha512-+ffSU83+PR4/cZtNTkUcFkg70sK4GePle7p5h05bQ37ycPumOx/TBpU52bt36GKDlds6tCqXheqPvgC52MMLug==" - }, "@types/sinonjs__fake-timers": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", @@ -2920,22 +2690,6 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "generate-function": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", - "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", - "requires": { - "is-property": "^1.0.2" - } - }, - "generate-object-property": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "integrity": "sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==", - "requires": { - "is-property": "^1.0.0" - } - }, "get-func-name": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", @@ -3080,11 +2834,6 @@ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true }, - "indento": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/indento/-/indento-1.1.13.tgz", - "integrity": "sha512-YZWk3mreBEM7sBPddsiQnW9Z8SGg/gNpFfscJq00HCDS7pxcQWWWMSVKJU7YkTRyDu1Zv2s8zaK8gQWKmCXHlg==" - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -3132,22 +2881,12 @@ "is-path-inside": "^3.0.2" } }, - "is-my-ip-valid": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz", - "integrity": "sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==" - }, "is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true }, - "is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==" - }, "is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -3190,28 +2929,12 @@ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "dev": true }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==", - "requires": { - "jsonify": "~0.0.0" - } - }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true }, - "json2md": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/json2md/-/json2md-1.6.3.tgz", - "integrity": "sha512-bdza+dm2rKu9NgguimGe9Os7grpYE8CCLXIXMkIYGOfkZLxSMKN487OOT8PBgBW2xFCcItoxh6WFA7SJOEDKkw==", - "requires": { - "indento": "^1.1.7" - } - }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -3222,16 +2945,6 @@ "universalify": "^2.0.0" } }, - "jsonify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", - "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==" - }, - "jsonpointer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz", - "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==" - }, "jsonpointer.js": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/jsonpointer.js/-/jsonpointer.js-0.4.0.tgz", @@ -3277,42 +2990,12 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" - }, "lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", "dev": true }, - "lodash.range": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.range/-/lodash.range-3.2.0.tgz", - "integrity": "sha512-Fgkb7SinmuzqgIhNhAElo0BL/R1rHCnhwSZf78omqSwvWqD0kD2ssOAutQonDKH/ldS8BxA72ORYI09qAY9CYg==" - }, - "lodash.reduce": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", - "integrity": "sha512-6raRe2vxCYBhpBu+B+TtNGUzah+hQjVdu3E17wfusjyrXBka2nBS8OH/gjVZ5PvHOhWmIZTYri09Z6n/QfnNMw==" - }, - "lodash.set": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", - "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==" - }, "log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -3413,7 +3096,8 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "npm-run-path": { "version": "4.0.1", @@ -3542,16 +3226,6 @@ "side-channel": "^1.0.4" } }, - "quote": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/quote/-/quote-0.4.0.tgz", - "integrity": "sha512-KHp3y3xDjuBhRx+tYKOgzPnVHMRlgpn2rU450GcU4PL24r1H6ls/hfPrxDwX2pvYMlwODHI2l8WwgoV69x5rUQ==" - }, - "ramda": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", - "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" - }, "request-progress": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", @@ -3835,11 +3509,6 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", From f42f2a3eabdcd39346a2a1fe859512f8bac5c89a Mon Sep 17 00:00:00 2001 From: Voldus Date: Thu, 22 Jun 2023 17:59:27 +0300 Subject: [PATCH 79/86] Building tab styles upd --- css/game.css | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/css/game.css b/css/game.css index ed31631..7399b6a 100644 --- a/css/game.css +++ b/css/game.css @@ -197,6 +197,7 @@ body { .building-wrapper { flex: 0 0 80%; overflow-y: auto; + background-color: #FFFEF5; } .building-list { @@ -211,15 +212,18 @@ body { .building-card { max-width: 184px; width: 100%; - height: 182px; + height: 200px; margin-bottom: 10px; + display: flex; + flex-direction: column; } .building-card__img { - height: 124px; - background-color: #f7f7f7; - border: 1px solid #999; display: flex; + flex: 1; + background-color: #EAE9E1; + display: flex; + border-radius: 30px 30px 0 0; } .building-card__img > img { @@ -228,9 +232,9 @@ body { .building-card__action { height: 56px; - margin-top: 3px; - border: 1px solid #999; - background-color: #f7f7f7; + border-radius: 0 0 30px 30px; + overflow: hidden; + background-color: #d1cfbd; } #lbl_online { @@ -241,6 +245,13 @@ body { width: 100%; height: 100%; border: none; + background: #627CDD; + color: #fff; + line-height: 1.2; +} + +.building-card__action > button:hover { + background-color: #4b6ad8; } From f6c3585ced5e6ae96bdea1ed4d7ce09535739c80 Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Sat, 24 Jun 2023 20:33:28 +0300 Subject: [PATCH 80/86] added design document --- misc/design_doc.md | 123 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 misc/design_doc.md diff --git a/misc/design_doc.md b/misc/design_doc.md new file mode 100644 index 0000000..c1fa3c4 --- /dev/null +++ b/misc/design_doc.md @@ -0,0 +1,123 @@ +# Design Document for 1255: Rise of Teutonics (the game). + +## Genre +The game has mix of a few genres: +- an idle game (you town progress while do nothing) +- an idle game (you hero progress while do nothing), this mode influenced by Fallout Shelter and called AutoCampaign +- an incremental game (the numbers goes up, virtually with no limits, cost of upgrades also goes up) +- a city management game (you need to build different buildings, appoint civil and military services, deal with disasters and so on) +- a (virtual) turn-based strategy, where you do explore the HoMM-like map, called Adventure Map for future references +- NOT YET DONE: turn-based Heroes-like tactical combat + +## Synopsis +The game starts as you (as knight of Teutonic order) came to build a fortified city in the year of 1255 A.D. on the shores of the Baltic sea. +You start building a town, then experience a Catastrophe, after which your city moved to alternative dimension. It's the same medieval, but now enriched with non-human races, magic and stuff. +After the Cataclism, you need to find the way back to your own dimension, and not to extinct in somewhat hostile environment (double hostile to your default aligment of pious Church follower) + +## Style of gameplay +You can play it in almost idle-like (occasionally visit the tab with the game) +You can play it in active like type (actively manage your city, place events, to explore and to fight on Adventure Map) +You can mix it, depending on your free time + +## Systems + +### GameLoop +GameLoop is the core system of the game. +The very first,basic and all-mighty system is the GameLoop. +In the base, GameLoop `ticks` every `30s` (base value, could be tuned up or down). +Every 30s in your game passes 1 season (winter, spring, summer, autumn). +Then, game calculates what happens during the season. +The function called inside the `GameLoop` called `calculateTurn`. + +It calculates: +- growth of population +- money income, paid as taxes from your citizens (so income is a function from number of the citizens) +- money expenses (all them are optional, so I would cover them in Mechanics) + +If enabled, it also calculates outcomes of Mechanics, which are part of the GameLoop + +### Caps +There is population limit (cap), which depends on level of houses (present or not, and the current level of upgrade). +More houses means bigger population limit + +There is money limit (cap), which depends on level of treasury building (present or not, and the current level of upgrade). +Higher level treasury means bigger houses means bigger population limit + +### CityBuilding and Caps (or limits) +The second system introduced in the game is CityBuilding. +It allows you to build or upgrade diffrent buildings. +Most of the buildings virtually has no cap, but we agreed that we would set 20 lvl cap for the most building. +The buildings with different cap mechanics: +1) Defence line. It has only three levels: fence, wooden castle, stone castle +2) University. Basically doesn't allow to upgrade it. + +Also, leveling of your houses and treasury building is essential + +## Mechanics + +Random events. +So far we have those events: +Stealing, plagues, lottery win + +Services and units. +Treasury guards. +Affects chances of theft (happening), chances of theft (succeed) +Affects chances to stop the plague. + +--todo mechanic-- +I mean to introduce new type of guards - city militia. +City militia would affect chances of theft (happening), chances of theft (succeed) +City militia would affect chances to stop plague. +After city militia would be present, treasury guards no more would affect chances to stop the plague +--end of todo mechanic-- + +--todo mechanic-- +I mean to introduce new defense mechanic +It would greaterly decrease chance of attack to the city and success rate of it. +--end of todo mechanic-- + +--probably defence upgrades-- +like bowling oil, arrow slits and so on +-- + +Fountain && Hanging tree +If you ever played Stronghold (Stronghold Crusader) game, you know, that + +Stash +Stash decreases maximum amount of money thefts could steal from you (affects random event "stealing") + +Stables +Stables provide ability to hire horsed units. +brother-sergeants, brother-knights, turkopols + +To hire brother-knights you need to have Stables 2nd level or greater +To hire turkopols you also need a shooting range + +Level of stables affects stats of hired horsed units: +--todo-- +(add more HP for mounted archers, +--end of todo-- + +Map generator. +Map generator generates adventure maps for a player. +Usually it is a square map, somewhat 16x16 tiles by default. +Generator places the city, the blackmarket, some chests, some monsters to guard the chests + +Hero generator. + + + +The Inn. +Gosh, probably the best thing we covered so far. +First, building the Inn provokes to generate map by map generator. +Second, the Inn allows you to hire heroes. +Third, it allows you launch autocampaigns (described below) + +Autocampaigns + + +## Parameters and descriptions + +## Art design + +## Interface and Controls From e8b5c6e94826837fd208abc26728ff1c64b33b8f Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Thu, 14 Sep 2023 21:17:59 +0300 Subject: [PATCH 81/86] fixed Discord link --- README.md | 2 +- resources/license.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7322f83..60f19a7 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ - +

Play the game


diff --git a/resources/license.md b/resources/license.md index 5420e8f..04eed6c 100644 --- a/resources/license.md +++ b/resources/license.md @@ -3,4 +3,4 @@ They are either created from scratch or modded from CC0 ones. You may use them only for local running, You may not use them for redistributing the game, publishing the game in stores or in Internet or any other way -Gladyshev Anton, 2016-2021(c) +Gladyshev Anton, 2016-2023(c) From ee3287e61e22fbce96fedc07d608147d679a0cdc Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Thu, 14 Sep 2023 22:23:21 +0300 Subject: [PATCH 82/86] fixed Discord Link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 60f19a7..76f8268 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ - +

Play the game


From 439f97d6fa2feb5e2b82c07ed94d9df05053d244 Mon Sep 17 00:00:00 2001 From: Anton Gladyshev Date: Tue, 19 Sep 2023 14:45:56 +0300 Subject: [PATCH 83/86] added Graveyard --- README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/README.md b/README.md index 76f8268..250cbbf 100644 --- a/README.md +++ b/README.md @@ -69,5 +69,19 @@ ALL GRAPHIC AND SOUND ASSETS UNDER PROPRIETARY LICENSE.
YOU MAY NOT REDISTRIBUTE THE GAME WITH THE ASSETS VIA PUBLISHING IN INTERNET, STORES, OR ANY OTHER WAY
YOU MAY USE ASSETS ONLY FOR LOCAL RUNNING
+
+

The Graveyard list


+ Here lie projects, which started around the same time (or later) and already dead:
+
    +
  • Babylon's Fall publisher Square Enix (2022, March 3 - 2023, February 27)
  • +
  • Hyper Scape publisher Ubisoft (2020 Aug - 2022, April 28)
  • +
  • Crowfall (2021-2022, November 22)
  • +
  • Super Bomberman R Online by Konami (2021 June-2022, December 1)
  • +
  • Scavangers by Behaviour Interactive (2021-2022, December 16)
  • +
  • Fuser (2020, November - 2022, December 19)
  • +
  • Dead and Buried II publisher Facebook (2019-2023)
  • +
  • Bogo publisher Facebook (2019-2023)
  • +

+Only open sourced games could run as long as at least one of their fun exists From 99de1dc2fb57e821ec8f708bc088f2b944ca69bb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 Sep 2023 23:12:16 +0000 Subject: [PATCH 84/86] Bump get-func-name from 2.0.0 to 2.0.2 in /tests/tests_cypress/unit Bumps [get-func-name](https://github.com/chaijs/get-func-name) from 2.0.0 to 2.0.2. - [Release notes](https://github.com/chaijs/get-func-name/releases) - [Commits](https://github.com/chaijs/get-func-name/commits/v2.0.2) --- updated-dependencies: - dependency-name: get-func-name dependency-type: indirect ... Signed-off-by: dependabot[bot] --- tests/tests_cypress/unit/package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/tests_cypress/unit/package-lock.json b/tests/tests_cypress/unit/package-lock.json index 808d1f0..bc3df7c 100644 --- a/tests/tests_cypress/unit/package-lock.json +++ b/tests/tests_cypress/unit/package-lock.json @@ -894,9 +894,9 @@ "dev": true }, "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "peer": true, "engines": { "node": "*" @@ -2691,9 +2691,9 @@ "dev": true }, "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "peer": true }, "get-intrinsic": { From 205cce1a599a4d811abee342696b38b22f01da05 Mon Sep 17 00:00:00 2001 From: sharma-shray Date: Mon, 1 Apr 2024 11:01:39 +0300 Subject: [PATCH 85/86] customizations --- css/game.css | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/css/game.css b/css/game.css index 7399b6a..d4b457b 100644 --- a/css/game.css +++ b/css/game.css @@ -32,13 +32,29 @@ body { padding: 4px; } +#loadGameButton:hover, +#saveGameButton:hover { + transition: 0.4s; + cursor: pointer; + background-color: #555; + color: #fff; + border-color: #fff; +} + #saveGameButton { - top:150px; + font-weight: bold; + transition: 0.4s; + width: 140px; + height: 30px; + bottom:20px; left: 20px } #loadGameButton { - top:210px; + font-weight: bold; + width: 140px; + height: 30px; + bottom: 60px; left: 20px; display: none; } @@ -296,6 +312,7 @@ body { position: absolute; left: 20px; top: 100px; + border-radius: 0.3rem; border: 1px solid #333; display:none; } From d8fdec8378cb41e1794bcab7704caf32e9aa0437 Mon Sep 17 00:00:00 2001 From: sharma-shray Date: Mon, 1 Apr 2024 11:10:05 +0300 Subject: [PATCH 86/86] some --- js/lib/lib_dialogue.js | 44 ++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/js/lib/lib_dialogue.js b/js/lib/lib_dialogue.js index 491aedc..1387a64 100644 --- a/js/lib/lib_dialogue.js +++ b/js/lib/lib_dialogue.js @@ -111,29 +111,31 @@ function getElementPosition (element) { } return pos; } -function tap (e) { - pos = getElementPosition(canvas); - loc = {}; - tapX = e.targetTouches ? e.targetTouches[0].pageX : e.pageX; - tapY = e.targetTouches ? e.targetTouches[0].pageY : e.pageY; - canvasScaleRatio = canvas.width / canvas.offsetWidth; +function tap(e) { + const pos = getElementPosition(canvas); + const loc = {}; + const tapX = e.targetTouches ? e.targetTouches[0].pageX : e.pageX; + const tapY = e.targetTouches ? e.targetTouches[0].pageY : e.pageY; + const canvasScaleRatio = canvas.width / canvas.offsetWidth; loc.x = (tapX - pos.x) * canvasScaleRatio; loc.y = (tapY - pos.y) * canvasScaleRatio; - //console.log(e.pageX, e.pageY, loc.x, loc.y); - if (loc.x >= buttonOneOffsetX && loc.x <= buttonOneOffsetX+buttonOneLength) { - if (loc.y >= buttonsOffsetY && loc.y <= buttonsOffsetY+20) { - document.getElementById("myDCanvas").classList.remove('active-modal'); - answer = 2; - clearCanvas(); - dialogShown = false; - } + + const checkButton = (offsetX, length, answer) => { + return loc.x >= offsetX && loc.x <= offsetX + length && + loc.y >= buttonsOffsetY && loc.y <= buttonsOffsetY + 20; + }; + + if (checkButton(buttonOneOffsetX, buttonOneLength, 2)) { + document.getElementById("myDCanvas").classList.remove('active-modal'); + answer = 2; + clearCanvas(); + dialogShown = false; } - if (loc.x >= buttonTwoOffsetX && loc.x <= buttonTwoOffsetX+buttonTwoLength) { - if (loc.y >= buttonsOffsetY && loc.y <= buttonsOffsetY+20) { - document.getElementById("myDCanvas").classList.remove('active-modal'); - answer = 3; - clearCanvas(); - dialogShown = false; - } + + if (checkButton(buttonTwoOffsetX, buttonTwoLength, 3)) { + document.getElementById("myDCanvas").classList.remove('active-modal'); + answer = 3; + clearCanvas(); + dialogShown = false; } }