diff --git a/ARC/README.md b/ARC/README.md new file mode 100644 index 0000000000..3b55c03a90 --- /dev/null +++ b/ARC/README.md @@ -0,0 +1,29 @@ +# ARC: Doom Tabletop RPG Roll20 Character Sheet +- [ARC](https://arc-rpg.com) by momatoes + +## Prerequisites +- [Nodejs](https://nodejs.org/en/) installed +- [git](https://git-scm.com/) installed + +## References +- [gulp](https://gulpjs.com/) +- [pugjs](https://pugjs.org/api/getting-started.html) +- [sass](https://sass-lang.com/) +- [Building Character Sheets](https://wiki.roll20.net/Building_Character_Sheets) + +## Setup +- clone this repository +- clone roll20-character-sheets +- copy all files into the roll20-character-sheets directory (aside from the `.git/` files), under a folder of the sheet name +- Run the following commands from either the terminal or command line: +```bash +# Go to the source for your sheet +$ cd //roll20-character-sheets/ARC/source + +# Install all of the npm packages +$ npm install + +# Run the build process +$ npm run gulp:watch +``` +This will create 2 files ARC.html and ARC.css. The watch command allows for any saved changes to automatically build the html and css from the pug and stylus files. diff --git a/ARC/arc.css b/ARC/arc.css new file mode 100644 index 0000000000..b36477dab1 --- /dev/null +++ b/ARC/arc.css @@ -0,0 +1,2268 @@ +@import url("https://fonts.googleapis.com/css?family=Josefin+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap"); +@import url("https://fonts.googleapis.com/css?family=Piazzolla:ital,wght@0,400;0,700;1,400;1,700&display=swap"); +@import url("https://fonts.googleapis.com/css?family=Playfair+Display:ital,wght@0,400;0,700;1,400;1,700&display=swap"); +@import url("https://fonts.googleapis.com/css?family=Fira+Code&display=swap"); +.arc * { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: unset; + width: unset; + padding: unset; + margin: unset; + font-family: unset; + font-size: 1rem; + font-weight: unset; + line-height: unset; + color: unset; + border: unset; + border-radius: unset; + background: unset; + background-color: unset; +} +.arc h1, .arc h2, .arc h3, .arc h4, .arc h5 { + font-size: unset; + line-height: unset; + color: unset; +} +.arc label, .arc input, .arc input[type=number], +.arc select, .arc textarea, .arc button, .arc button[type=roll] { + display: unset; + width: unset; + height: unset; + padding: unset; + margin-bottom: unset; + font-family: unset; + font-size: unset; + font-weight: unset; + line-height: unset; + color: unset; + border: unset; + border-radius: unset; + background: unset; + background-color: unset; + box-shadow: unset; +} +.arc button[type=roll]::before { + display: none; +} +.arc input[disabled], .arc select[disabled], .arc textarea[disabled], +.arc input[readonly], .arc select[readonly], .arc textarea[readonly] { + background-color: unset; + border-color: unset; +} +.arc fieldset { + background: transparent; +} +.arc span { + word-break: break-word; +} +.arc input[type=number] { + text-align: center; + width: 100%; + -moz-appearance: textfield; +} +.arc input[type=number]::-webkit-outer-spin-button, .arc input[type=number]::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} +.arc .btn:hover { + background-position: 0 0; + background-color: transparent; +} + +.arc { + max-width: 960px; + display: grid; + grid-template-columns: 1rem 1fr 1rem; + grid-template-rows: auto auto 1fr; + row-gap: 1rem; +} +.arc .toolbar { + grid-row: 1; + grid-column: 2; +} +.arc__header { + grid-row: 2; + grid-column: 2; +} +.arc__layout { + grid-column: 2; + grid-row: 3; + display: grid; + grid-template-columns: 3fr 2fr; + column-gap: 1rem; + width: 100%; + justify-content: center; +} +.arc__layout--left { + grid-row: 1/2; + grid-column: 1/2; +} +.arc__layout--left .healths { + grid-row: 1; +} +.arc__layout--left .approaches { + grid-row: 2; +} +.arc__layout--left .skills { + grid-row: 3; +} +.arc__layout--left .inventory { + grid-row: 4; +} +.arc__layout--right { + grid-row: 1/2; + grid-column: 2/3; +} +.arc__layout--right .background { + grid-row: 1; +} +.arc__layout--right .bonds { + grid-row: 2; +} +.arc__layout--right .experience { + grid-row: 3; +} +.arc__layout--right .consequences { + grid-row: 4; +} +.arc input[name*=sheet_type][value=npc] ~ .arc__layout { + grid-template-columns: auto; +} +.arc input[name*=sheet_type][value=npc] ~ .arc__layout--right { + display: none; +} + +@media only screen and (max-width: 540px) { + .arc { + display: grid; + grid-template-columns: 1rem 1fr 1rem; + grid-template-rows: auto auto 1fr; + row-gap: 1rem; + } + .arc .toolbar { + grid-row: 1; + grid-column: 2; + } + .arc__header { + grid-row: 2; + grid-column: 2; + } + .arc__layout { + grid-column: 2; + grid-row: 3; + display: grid; + grid-template-columns: auto; + width: 100%; + } + .arc__layout--left { + grid-row: 1; + grid-column: 1; + } + .arc__layout--left .healths { + grid-row: 1; + } + .arc__layout--left .approaches { + grid-row: 2; + } + .arc__layout--left .skills { + grid-row: 3; + } + .arc__layout--left .inventory { + grid-row: 4; + } + .arc__layout--right { + grid-column: 1; + grid-row: 2; + } + .arc__layout--right .background { + grid-row: 1; + } + .arc__layout--right .bonds { + grid-row: 2; + } + .arc__layout--right .experience { + grid-row: 3; + } + .arc__layout--right .consequences { + grid-row: 4; + } +} +.toggle-popup[value="0"] + .popup { + display: none; +} + +.toggle-tooltip[value="0"] + .help { + display: none; +} + +.popup { + display: inline-flex; + flex-direction: column; + position: fixed; + top: 7rem; + left: 4rem; + border: 2px solid transparent; + padding: 0.5rem; + width: 50%; + z-index: 1000; + min-width: 255px; + box-shadow: 5px 5px 6px rgba(23, 18, 18, 0.2); +} +.popup__title { + display: flex; + justify-content: center; + margin-top: -1.5rem; + height: 2rem; + align-items: end; + text-align: center; +} +.popup__title--span { + padding: 0.2rem 0.5rem; + border: 2px solid transparent; + font-family: "Piazzolla", serif; + text-transform: uppercase; +} +.popup__close { + white-space: nowrap; + cursor: pointer; + height: 2rem; + position: absolute; + right: 1rem; + width: fit-content !important; +} +.popup__close:hover { + transition: all 1s; + transform: rotate(360deg); + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -ms-transform: rotate(360deg); + -o-transform: rotate(360deg); +} +.popup__close--btn { + display: none !important; +} +.popup__close--symbol { + float: right; + width: 18px; + height: 18px; + opacity: 0.5; +} +.popup__close--symbol:hover { + opacity: 1; +} +.popup__header { + font-family: "Piazzolla", serif; + text-transform: uppercase; + padding-bottom: 8px; + display: flex; +} +.popup__header--span { + font-size: 1.33rem; + margin-right: 0.5rem; +} +.popup__content { + overflow-y: scroll; +} +.popup__content::first-letter { + font-family: "Piazzolla", serif; + font-size: 1.5rem; + font-weight: bold; +} + +.help { + width: 12px; + height: 12px; +} +.help__label--input { + display: none !important; +} +.help__label--icon { + width: 12px; + height: 12px; + cursor: help; + opacity: 0.5; +} +.help__label--icon:hover { + opacity: 1; +} + +@media (prefers-color-scheme: light) { + .popup { + border-color: #efdd86; + background: #fefeff !important; + color: #171212; + } + .popup__title--span { + color: #171212; + background: #efdd86; + border-color: #efdd86; + } + .popup__header--span { + color: #dabb3d; + } + .popup__close:hover { + color: #dabb3d; + fill: #dabb3d; + } +} +@media (prefers-color-scheme: light) { + .popup { + border-color: #efdd86; + background: #fefeff !important; + color: #171212; + } + .popup__title--span { + color: #171212; + background: #efdd86; + border-color: #efdd86; + } + .popup__header--span { + color: #dabb3d; + } + .popup__close:hover { + color: #dabb3d; + fill: #dabb3d; + } +} +@media (prefers-color-scheme: dark) { + .popup { + border-color: #efdd86; + background: #fefeff !important; + color: #171212; + } + .popup__title--span { + color: #171212; + background: #efdd86; + border-color: #efdd86; + } + .popup__header--span { + color: #dabb3d; + } + .popup__close:hover { + color: #dabb3d; + fill: #dabb3d; + } +} +html { + font-size: 13px !important; +} + +.ui-dialog .charsheet { + padding: 0px !important; +} +.ui-dialog .charsheet button[type=roll]::before { + font-family: unset; + content: unset; +} +.ui-dialog .charsheet input { + height: unset; + width: 100%; +} +.ui-dialog .charsheet input[type=number] { + width: 100%; +} + +.ui-dialog .charsheet .repcontainer .repitem .itemcontrol .repcontrol_move, .ui-dialog .charsheet .repcontainer .repitem .itemcontrol .repcontrol_del { + background-image: url("https://raw.githubusercontent.com/morgdalaine/arc-momatoes/main/character-sheet/ARC/assets/unlock.svg"); + background-size: 18px; + background-repeat: no-repeat; + width: 18px; + height: 18px; + font-size: 0; +} +.ui-dialog .charsheet .repcontainer .repitem .itemcontrol .repcontrol_move:hover, .ui-dialog .charsheet .repcontainer .repitem .itemcontrol .repcontrol_del:hover { + background-color: transparent; + opacity: 1; +} +.ui-dialog .charsheet .repcontainer .repitem .itemcontrol .repcontrol_move { + background-image: url("https://raw.githubusercontent.com/morgdalaine/arc-momatoes/main/character-sheet/ARC/assets/move.svg"); + background-size: 18px; + background-repeat: no-repeat; + width: 18px; + height: 18px; + opacity: 0.5; +} +.ui-dialog .charsheet .repcontainer .repitem .itemcontrol .repcontrol_del { + background-image: url("https://raw.githubusercontent.com/morgdalaine/arc-momatoes/main/character-sheet/ARC/assets/delete.svg"); + background-size: 18px; + background-repeat: no-repeat; + width: 18px; + height: 18px; + opacity: 0.5; +} +.ui-dialog .charsheet .repcontainer.ui-sortable.editmode[data-groupname*=repeating_] ~ .repcontrol[data-groupname*=repeating_] .repcontrol_edit { + font-size: 0; + opacity: 0.5; + background-image: url("https://raw.githubusercontent.com/morgdalaine/arc-momatoes/main/character-sheet/ARC/assets/unlock.svg"); + background-size: 18px; + background-repeat: no-repeat; + width: 18px; + height: 18px; +} +.ui-dialog .charsheet .repcontrol_add, .ui-dialog .charsheet .repcontrol_edit { + display: flex; + justify-content: center; + align-items: center; + padding: 0.25rem 1rem; + margin: 0.5rem 0.25rem; + box-shadow: none; + outline: none; + color: #171212; + font-family: "Piazzolla", serif; + font-weight: normal; + font-size: 0px; + letter-spacing: 0.04em; + text-shadow: none; +} +.ui-dialog .charsheet .repcontrol_add::before, .ui-dialog .charsheet .repcontrol_add::after, .ui-dialog .charsheet .repcontrol_edit::before, .ui-dialog .charsheet .repcontrol_edit::after { + visibility: visible; + font-family: "Piazzolla", serif; + text-transform: uppercase; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.04em; + color: #171212; +} +.ui-dialog .charsheet .repcontrol_add:hover, .ui-dialog .charsheet .repcontrol_edit:hover { + background-color: transparent; + opacity: 1; +} +.ui-dialog .charsheet .repcontrol_add { + background-image: url("https://raw.githubusercontent.com/morgdalaine/arc-momatoes/main/character-sheet/ARC/assets/add.svg"); + background-size: 18px; + background-repeat: no-repeat; + width: 18px; + height: 18px; + opacity: 0.5; + float: left; +} +.ui-dialog .charsheet .repcontrol_edit { + background-image: url("https://raw.githubusercontent.com/morgdalaine/arc-momatoes/main/character-sheet/ARC/assets/lock.svg"); + background-size: 18px; + background-repeat: no-repeat; + width: 18px; + height: 18px; + opacity: 0.5; +} + +input[name*=sheet_type][value=character] ~ .npc { + display: none; +} +input[name*=sheet_type][value=npc] ~ .character { + display: none; +} + +.arc { + position: relative; + font-family: "Josefin Sans", sans-serif; + font-size: 13px; +} +.arc button[type=roll], .arc button[type=action] { + font-size: 1rem; + outline: none; + border: none; + border-radius: 0; + margin: 0; + padding: 0; + text-shadow: none; + box-shadow: none; + background: none; +} +.arc button[type=roll]::before, .arc button[type=action]::before { + font-family: none; + content: none; +} +.arc input, .arc textarea, .arc select { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + font-family: "Josefin Sans", sans-serif; + font-size: 1rem; + background: none; + border: none; + border-bottom: 2px solid transparent; + border-radius: 0; + text-decoration: none; + line-height: 1.5rem; + width: -moz-available; + width: -webkit-fill-available; +} +@media (prefers-color-scheme: light) { + .arc input, .arc textarea, .arc select { + border-color: #acb7b1; + } +} +@media (prefers-color-scheme: dark) { + .arc input, .arc textarea, .arc select { + border-color: #acb7b1; + } +} +.arc input[type=text] { + height: 3rem; + padding: 0; + padding-left: 1rem; +} +.arc textarea { + resize: none; + min-height: 5rem; + max-height: 15rem; + overflow-y: scroll; + padding-top: 0.5rem; + padding-left: 1rem; +} +.arc select { + height: 3rem; +} +.arc input[type=checkbox].hide-element, +.arc input[type=radio].hide-element, +.arc .hide-element { + display: none; +} +@media (prefers-color-scheme: light) { + .arc { + color: #171212; + background: #fefeff; + } +} +@media (prefers-color-scheme: dark) { + .arc { + color: #171212; + background: #fefeff; + } +} +.arc h2 { + font-size: 1.5rem; +} +.arc h3 { + font-size: 1.17rem; +} +.arc h4 { + font-size: 1rem; +} +.arc h5 { + font-size: 1rem; + text-transform: uppercase; +} +.arc .toolbar { + display: flex; + justify-content: flex-end; +} +.arc .toolbar__labels { + display: inline-flex; + gap: 1rem; + align-items: center; +} +.arc .toolbar__glossary, .arc .toolbar__settings { + font-weight: normal; + padding: 0; + margin: 0; + white-space: nowrap; + cursor: pointer; +} +.arc .toolbar__glossary--icon, .arc .toolbar__settings--icon { + width: 24px; + height: 24px; + opacity: 0.5; +} +.arc .toolbar__glossary input[type=checkbox] { + display: none; +} +.arc .toolbar__glossary input[type=checkbox]:checked + .toolbar__glossary--icon { + opacity: 1; +} +.arc .toolbar__glossary--icon { + font-family: "pictos three"; +} +.arc .toolbar__settings input[type=checkbox] { + display: none; +} +.arc .toolbar__settings input[type=checkbox]:checked + .toolbar__settings--icon { + opacity: 1; +} +.arc .toolbar__settings--icon { + font-family: pictos; +} +.arc .toolbar__version { + display: inline-flex; + align-items: center; + opacity: 0.5; + white-space: nowrap; +} +.arc .toolbar__version--text, .arc .toolbar__version--number { + margin: 0 0.5rem; + font-variant: small-caps; + line-height: 2.5rem; + font-family: "Piazzolla", serif; +} +.arc .toolbar__version--text::after { + content: ":"; +} +.arc .toolbar .settings, .arc .toolbar .glossary { + left: auto; + right: 5rem; +} +.arc .toolbar .settings { + width: 250px !important; +} +.arc .toolbar .settings--wrapper { + padding: 0 0.5rem 0.5rem; +} +.arc .toolbar .settings__mode, .arc .toolbar .settings__theme, .arc .toolbar .settings__tooltips, .arc .toolbar .settings__export { + margin-top: 0.5rem; +} +.arc .toolbar .settings__mode--header, .arc .toolbar .settings__theme--header, .arc .toolbar .settings__tooltips--header, .arc .toolbar .settings__export--header { + font-family: "Piazzolla", serif; + text-transform: uppercase; +} +.arc .toolbar .settings__mode--span, .arc .toolbar .settings__theme--span, .arc .toolbar .settings__tooltips--span, .arc .toolbar .settings__export--span { + display: block; + margin: 1rem 0 0 0.5rem; + opacity: 0.5; +} +.arc .toolbar .settings__export--span { + margin: 1rem 0 0 0.5rem; + opacity: 0.5; +} +.arc .toolbar .settings__export--btn { + font-size: 1.17rem; + font-family: "Piazzolla", serif; + font-weight: bold; + text-transform: uppercase; +} +.arc .toolbar .settings__export--json { + resize: none; + border: none; + font-size: 0.7rem; + line-height: 1rem; + margin-top: 0.5rem; + padding: 0; + white-space: normal; + font-family: "Fira Code", monospace; +} +.arc .toolbar .settings__export--toggle[value="0"] ~ .settings__export--json { + display: none; +} +.arc .toolbar .settings__export--toggle[value="0"] ~ .settings__export--span { + display: block; +} +.arc .toolbar .settings__export--toggle[value=on] ~ .settings__export--json { + display: block; +} +.arc .toolbar .settings__export--toggle[value=on] ~ .settings__export--span { + display: none; +} +.arc .toolbar .glossary { + width: 75% !important; + height: 75% !important; +} +.arc .toolbar .glossary--wrapper { + margin-top: 2rem; +} +.arc .toolbar .glossary__entry { + display: grid; + grid-template-columns: 1fr auto 1fr; + height: 2rem; + align-items: center; + cursor: pointer; +} +.arc .toolbar .glossary__entry--line { + border-bottom: 2px solid transparent; + margin: 0 1rem; +} +.arc .toolbar .glossary__entry--header { + font-family: "Piazzolla", serif; + text-transform: uppercase; +} +.arc .toolbar .glossary__definition { + padding: 0 1.5rem; + text-align: justify; +} +.arc .toolbar .glossary__definition::first-letter { + font-family: "Piazzolla", serif; + font-size: 1.5rem; + font-weight: bold; +} +@media (prefers-color-scheme: light) { + .arc .toolbar .settings__mode--header, .arc .toolbar .settings__theme--header, .arc .toolbar .settings__tooltips--header { + color: #dabb3d; + } + .arc .toolbar .settings__export--btn { + color: #dabb3d; + } + .arc .toolbar .settings__export--json { + background: #f6f7f6; + } + .arc .toolbar .glossary__entry--line { + border-color: #efdd86; + } + .arc .toolbar .glossary__entry--header { + color: #dabb3d; + } +} +@media (prefers-color-scheme: dark) { + .arc .toolbar .settings__mode--header, .arc .toolbar .settings__theme--header, .arc .toolbar .settings__tooltips--header { + color: #dabb3d; + } + .arc .toolbar .settings__export--btn { + color: #dabb3d; + } + .arc .toolbar .settings__export--json { + background: #f6f7f6; + } + .arc .toolbar .glossary__entry--line { + border-color: #efdd86; + } + .arc .toolbar .glossary__entry--header { + color: #dabb3d; + } +} +.arc .header__character { + display: grid; + grid-template-columns: 3fr 2fr; + grid-template-rows: auto auto; + grid-gap: 0.5rem; +} +.arc .header__npc { + display: flex; + align-items: center; +} +.arc .header__npc--input { + text-align: center; + font-size: 2rem; + font-family: "Piazzolla", serif; + padding-left: 0 !important; +} +.arc .header__title { + grid-row: 1/3; + display: flex; + flex-wrap: wrap; + align-content: space-between; +} +.arc .header__title--header { + font-family: "Piazzolla", serif; + text-transform: uppercase; +} +.arc .header__title--input[type=text] { + font-size: 2rem; +} +.arc .header__pronouns--input, .arc .header__player--input { + font-size: 1rem; + font-family: "Piazzolla", serif; + padding: 0.5rem; +} +.arc .header__pronouns { + grid-row: 1; + grid-column: 2/3; +} +.arc .header__player { + grid-row: 2; + grid-column: 2/3; +} +.arc .header__name { + display: none; +} +.arc .header__name--span { + font-size: 2rem; + font-family: "Piazzolla", serif; + text-transform: uppercase; +} +@media only screen and (max-width: 540px) { + .arc .header { + grid-template-columns: repeat(2, 1fr); + grid-template-rows: 1fr auto auto; + } + .arc .header__title--label, .arc .header__pronouns--label, .arc .header__player--label { + padding-bottom: 1rem; + text-align: center; + } + .arc .header__title--input, .arc .header__pronouns--input, .arc .header__player--input { + text-align: center; + } + .arc .header__title { + grid-row: 1; + grid-column: 1/3; + } + .arc .header__pronouns { + grid-row: 2; + grid-column: 1/2; + } + .arc .header__player { + grid-row: 2; + grid-column: 2/3; + } +} +@media only screen and (max-width: 375px) { + .arc .header__character.character, .arc .header__npc.npc { + display: none; + } + .arc .header__name { + display: flex; + justify-content: center; + } +} +@media (prefers-color-scheme: light) { + .arc .header__title--input { + border-color: #dabb3d; + } + .arc .header__title--header { + color: #dabb3d !important; + } + .arc .header__pronouns--input, .arc .header__player--input { + border-color: #dabb3d; + } + .arc .header__name { + color: #dabb3d !important; + } + .arc .header__npc--input { + border-color: #dabb3d; + } +} +@media (prefers-color-scheme: dark) { + .arc .header__title--input { + border-color: #dabb3d; + } + .arc .header__title--header { + color: #dabb3d !important; + } + .arc .header__pronouns--input, .arc .header__player--input { + border-color: #dabb3d; + } + .arc .header__name { + color: #dabb3d !important; + } + .arc .header__npc--input { + border-color: #dabb3d; + } +} + +.arc .arc__layout--left { + display: grid; + grid-template-rows: repeat(4, auto) 1fr; + row-gap: 24px; + height: fit-content; +} +.arc .arc__layout--right { + display: grid; + grid-template-rows: repeat(4, auto); + row-gap: 24px; + height: fit-content; +} +.arc .arc__layout .healths { + display: grid; + grid-template-columns: 1fr; + justify-content: center; + width: -moz-available; + width: -webkit-fill-available; + row-gap: 0.5rem; +} +.arc .arc__layout .rests { + display: grid; + grid-template-columns: repeat(2, 1fr auto) 1fr; + width: 100%; +} +.arc .arc__layout .rests__spacer { + align-self: center; +} +.arc .arc__layout .rests__spacer--line { + border-bottom: 2px solid transparent; +} +.arc .arc__layout .rests__short--span, .arc .arc__layout .rests__long--span { + font-family: "Piazzolla", serif; + font-size: 1.2rem; + font-weight: bold; + text-align: center; + text-transform: uppercase; + padding: 0 1rem; +} +.arc .arc__layout .rests__short { + grid-column: 2/3; +} +.arc .arc__layout .rests__short--button { + border: 2px solid transparent; +} +.arc .arc__layout .rests__long { + grid-column: 4/5; +} +.arc .arc__layout .rests__long--button { + border: 2px solid transparent; +} +.arc .arc__layout .health { + display: flex; + flex-direction: row; + justify-content: center; + width: -moz-available; + width: -webkit-fill-available; +} +.arc .arc__layout .health__type, .arc .arc__layout .health__mod, .arc .arc__layout .health__max, .arc .arc__layout .health__current { + display: flex; + flex-direction: column; + justify-content: center; + border: 5px double transparent; + width: 6rem; +} +.arc .arc__layout .health__type--span, .arc .arc__layout .health__mod--span, .arc .arc__layout .health__max--span, .arc .arc__layout .health__current--span { + padding: 0.2rem 0; + text-align: center; + text-transform: uppercase; + white-space: nowrap; +} +.arc .arc__layout .health__mod--span, .arc .arc__layout .health__max--span, .arc .arc__layout .health__current--span { + font-size: 0.7rem; +} +.arc .arc__layout .health__mod--input, .arc .arc__layout .health__max--input, .arc .arc__layout .health__current--input { + font-size: 1.2rem; +} +.arc .arc__layout .health__type { + flex-direction: row; + justify-content: start; +} +.arc .arc__layout .health__type--span { + margin-right: 0.5rem; +} +@media only screen and (max-width: 540px) { + .arc .arc__layout .healths { + justify-items: center; + } + .arc .arc__layout .health { + display: grid; + grid-template-columns: repeat(3, 1fr); + width: 80%; + } + .arc .arc__layout .health__type, .arc .arc__layout .health__mod, .arc .arc__layout .health__max, .arc .arc__layout .health__current { + border-width: 3px; + } + .arc .arc__layout .health__type { + grid-row: 1/2; + grid-column: 1/4; + justify-content: center; + width: auto; + border: none; + } + .arc .arc__layout .health__type--span { + font-size: 1.2rem; + text-align: left; + letter-spacing: 0.5rem; + } + .arc .arc__layout .health__mod, .arc .arc__layout .health__max, .arc .arc__layout .health__current { + grid-row: 2/3; + width: auto; + } + .arc .arc__layout .health__mod { + grid-column: 1/2; + } + .arc .arc__layout .health__max { + grid-column: 2/3; + } + .arc .arc__layout .health__current { + grid-column: 3/4; + } +} +@media only screen and (max-width: 375px) { + .arc .arc__layout .rests { + grid-template-columns: auto; + row-gap: 0.5rem; + } + .arc .arc__layout .rests__spacer { + display: none; + } + .arc .arc__layout .rests__short--button, .arc .arc__layout .rests__long--button { + width: 100%; + } + .arc .arc__layout .rests__short { + grid-column: auto; + } + .arc .arc__layout .rests__long { + grid-column: auto; + } +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .rests__spacer--line { + border-color: #acb7b1; + } + .arc .arc__layout .rests__short--button:hover, .arc .arc__layout .rests__long--button:hover { + border-color: #efdd86; + background: #efdd86; + color: #171212; + } + .arc .arc__layout .rests__short--button { + border-color: #acb7b1; + background: #acb7b1; + color: #fefeff; + } + .arc .arc__layout .rests__long--button { + border-color: #acb7b1; + background: #fefeff; + color: #acb7b1; + } + .arc .arc__layout .health__type { + background: #fefeff; + } + .arc .arc__layout .health__mod, .arc .arc__layout .health__max { + background: #eaebe8; + } + .arc .arc__layout .health__current { + background: #fefeff; + border-color: #acb7b1; + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .rests__spacer--line { + border-color: #acb7b1; + } + .arc .arc__layout .rests__short--button:hover, .arc .arc__layout .rests__long--button:hover { + border-color: #efdd86; + background: #efdd86; + color: #171212; + } + .arc .arc__layout .rests__short--button { + border-color: #acb7b1; + background: #acb7b1; + color: #fefeff; + } + .arc .arc__layout .rests__long--button { + border-color: #acb7b1; + background: #fefeff; + color: #acb7b1; + } + .arc .arc__layout .health__type { + background: #fefeff; + } + .arc .arc__layout .health__mod, .arc .arc__layout .health__max { + background: #eaebe8; + } + .arc .arc__layout .health__current { + background: #fefeff; + border-color: #acb7b1; + } +} +.arc .arc__layout .approaches { + display: flex; + flex-direction: row; + justify-content: center; + width: 100%; +} +.arc .arc__layout .approach { + display: flex; + flex-direction: row; + width: 25%; + align-items: center; +} +.arc .arc__layout .approach__label--span { + font-family: "Piazzolla", serif; + white-space: nowrap; + text-transform: uppercase; + writing-mode: vertical-rl; + transform: rotate(180deg); + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -ms-transform: rotate(180deg); + -o-transform: rotate(180deg); +} +.arc .arc__layout .approach__value { + display: flex; + align-items: center; + justify-content: center; + border: 5px double transparent; + border-radius: 50%; + aspect-ratio: 1/1; + width: 100%; +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .approach__value { + border-color: #dabb3d; + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .approach__value { + border-color: #dabb3d; + } +} +.arc .arc__layout .approach__value--input[type=number] { + width: 100%; + height: 100%; + padding: 0; + font-size: 4rem; +} +@media only screen and (max-width: 720px) { + .arc .arc__layout .approach__value--input[type=number] { + font-size: 3rem; + } +} +@media only screen and (max-width: 540px) { + .arc .arc__layout .approach__value--input[type=number] { + font-size: 2rem; + } +} +.arc .arc__layout .skills { + width: 100%; + display: grid; + grid-template-columns: repeat(4, auto); + align-items: center; +} +.arc .arc__layout .skills__header { + grid-column: 1/5; + display: flex; +} +.arc .arc__layout .skills__header--span { + font-size: 1.33rem; + margin-right: 0.5rem; +} +.arc .arc__layout .skills__category { + display: grid; +} +.arc .arc__layout .skill-category__header { + grid-column: 1/5; + display: grid; + grid-template-columns: auto 2rem 1fr; + margin: 1rem 0; +} +.arc .arc__layout .skill-category__header--span { + grid-column: 1; + margin-right: 0.5rem; + text-transform: uppercase; + white-space: nowrap; +} +.arc .arc__layout .skill-category__header--line { + grid-column: 3; + border-bottom: 2px solid transparent; + align-self: center; +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .skill-category__header--line { + border-color: #acb7b1; + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .skill-category__header--line { + border-color: #acb7b1; + } +} +.arc .arc__layout .skill__button { + display: flex; + flex-direction: row; +} +.arc .arc__layout .skill__button--btn { + text-align: left; + white-space: nowrap; + margin-right: 0.5rem; + border: 1px solid transparent; + padding: 4px; +} +.arc .arc__layout .skill__button--btn:hover { + font-weight: bold; +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .skill__button--btn:hover { + background: #efdd86; + border-color: #efdd86; + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .skill__button--btn:hover { + background: #efdd86; + border-color: #efdd86; + } +} +.arc .arc__layout .skill__button__ranks { + display: flex; + align-self: center; +} +.arc .arc__layout .skill__button__popup { + grid-column: 3; +} +.arc .arc__layout .skills .radio__ranks { + display: flex; +} +.arc .arc__layout .skills .radio__rank { + order: 1; + width: 13px; + height: 13px; + margin: 0 0.25rem; + appearance: none; + -webkit-appearance: none; + cursor: pointer; +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .skills .radio__rank:hover { + background-color: #efdd86; + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .skills .radio__rank:hover { + background-color: #efdd86; + } +} +.arc .arc__layout .skills .radio__rank:checked { + display: none; +} +.arc .arc__layout .skills .radio__rank:checked ~ .radio__rank { + order: 3; + background-color: transparent; +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .skills .radio__rank:checked ~ .radio__rank:hover { + background-color: #efdd86; + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .skills .radio__rank:checked ~ .radio__rank:hover { + background-color: #efdd86; + } +} +.arc .arc__layout .skills .radio__rank.reset { + order: 2; +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .skills .radio__rank.reset:hover { + background-color: #efdd86; + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .skills .radio__rank.reset:hover { + background-color: #efdd86; + } +} +.arc .arc__layout .skills .radio__rank { + border: 1px solid transparent; + border-radius: 50%; +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .skills .radio__rank { + border-color: #dabb3d; + background: #dabb3d; + } + .arc .arc__layout .skills .radio__rank.reset { + background: #dabb3d; + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .skills .radio__rank { + border-color: #dabb3d; + background: #dabb3d; + } + .arc .arc__layout .skills .radio__rank.reset { + background: #dabb3d; + } +} +@media only screen and (max-width: 375px) { + .arc .arc__layout .skills { + grid-template-columns: repeat(2, auto); + } + .arc .arc__layout .skills__header { + grid-column: 1/3; + } + .arc .arc__layout .skills .radio__ranks { + justify-content: flex-end; + } + .arc .arc__layout .skills .radio__rank { + width: 1.5rem; + height: 1.5rem; + } + .arc .arc__layout .skill-category__header { + grid-column: 1/3; + } + .arc .arc__layout .skill-category__header--span { + font-size: 1.2rem; + } + .arc .arc__layout .skill__button--span { + font-size: 1.5rem; + } +} +.arc .arc__layout .background { + display: grid; + grid-template-rows: repeat(3, auto); + row-gap: 8px; + height: fit-content; + padding: 8px; +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .background { + background: linear-gradient(#f6f7f6 75%, transparent); + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .background { + background: linear-gradient(#f6f7f6 75%, transparent); + } +} +.arc .arc__layout .background--label { + font-size: 1.2rem; + font-variant-caps: small-caps; + cursor: pointer; +} +.arc .arc__layout .background__rumors--wrapper { + margin: 8px 0; +} +.arc .arc__layout .portrait { + display: none; + justify-content: center; + align-items: center; +} +.arc .arc__layout .portrait__avi { + display: flex; + justify-content: center; + align-items: center; + position: relative; +} +.arc .arc__layout .portrait__avi--img { + position: absolute; +} +.arc .arc__layout .bonds__header { + display: flex; +} +.arc .arc__layout .bonds__header--span { + font-size: 1.33rem; + margin-right: 0.5rem; +} +.arc .arc__layout .bond { + display: grid; + grid-template-columns: 2fr 1fr; + gap: 1rem; + margin-bottom: 1rem; +} +.arc .arc__layout .bond__with { + grid-column: 1/2; +} +.arc .arc__layout .bond__levels { + grid-column: 2/3; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 2px; + align-content: center; +} +.arc .arc__layout .bond__container { + border: 2px solid transparent; + width: 31px; + height: 31px; +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .bond__container { + border-color: #32635b; + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .bond__container { + border-color: #32635b; + } +} +.arc .arc__layout .bond__major { + display: grid; + gap: 1px; + grid-template-columns: repeat(2, 1fr); + grid-template-rows: repeat(2, 1fr); + grid-template-areas: "minor1 minor2" "minor4 minor3"; + width: 27px; + height: 27px; +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .bond__major { + background: linear-gradient(#32635b, #32635b) center/100% 1px no-repeat, repeating-linear-gradient(to right, transparent 0 13px, #32635b 0 14px); + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .bond__major { + background: linear-gradient(#32635b, #32635b) center/100% 1px no-repeat, repeating-linear-gradient(to right, transparent 0 13px, #32635b 0 14px); + } +} +.arc .arc__layout .bond__minor { + border: 1px solid transparent; + background: transparent; + width: 13px; + height: 13px; + cursor: pointer; + box-sizing: border-box; + appearance: none; + -moz-appearance: none; + -webkit-appearance: none; +} +.arc .arc__layout .bond__minor.reset { + grid-area: minor1; +} +.arc .arc__layout .bond__minor[value="1"] { + grid-area: minor1; +} +.arc .arc__layout .bond__minor[value="2"] { + grid-area: minor2; +} +.arc .arc__layout .bond__minor[value="3"] { + grid-area: minor3; +} +.arc .arc__layout .bond__minor[value="4"] { + grid-area: minor4; +} +.arc .arc__layout .bond__minor:checked { + display: none; +} +.arc .arc__layout .bond__control:not([value="0"]) ~ .bond__minor[value="1"] { + grid-area: minor2; +} +.arc .arc__layout .bond__control:is([value="2"], [value="3"], [value="4"]) ~ .bond__minor[value="2"] { + grid-area: minor3; +} +.arc .arc__layout .bond__control:is([value="3"], [value="4"]) ~ .bond__minor[value="3"] { + grid-area: minor4; +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .bond__minor.reset, +.arc .arc__layout .bond__minor:not(.reset):checked ~ .bond__minor { + background: #358b6d; + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .bond__minor.reset, +.arc .arc__layout .bond__minor:not(.reset):checked ~ .bond__minor { + background: #358b6d; + } +} +@media only screen and (max-width: 720px) { + .arc .arc__layout .bond { + display: flex; + flex-direction: column; + } + .arc .arc__layout .bond__levels { + display: flex; + justify-content: center; + } + .arc .arc__layout input.bond__with--input[type=text] { + padding-left: 0; + text-align: center; + font-size: 1.2rem; + } +} +.arc .arc__layout .experience { + width: 100%; + display: grid; + grid-template-columns: auto 1fr 1fr; + gap: 0.5rem; +} +.arc .arc__layout .experience__header { + grid-row: 1; + grid-column: 1/2; + display: flex; +} +.arc .arc__layout .experience__header--span { + font-size: 1.33rem; + margin-right: 0.5rem; +} +.arc .arc__layout .experience__total, .arc .arc__layout .experience__spent { + display: flex; + flex-direction: column; +} +.arc .arc__layout .experience__total--input, .arc .arc__layout .experience__spent--input { + border: none; + font-size: 2rem; +} +.arc .arc__layout .experience__total--span, .arc .arc__layout .experience__spent--span { + margin-top: 4px; + text-align: center; + text-transform: uppercase; + font-size: 0.8rem; +} +.arc .arc__layout .experience__total--input { + border: 5px solid transparent; +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .experience__total--input { + border-color: #eaebe8; + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .experience__total--input { + border-color: #eaebe8; + } +} +.arc .arc__layout .experience__spent--input { + border: 5px double transparent; +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .experience__spent--input { + border-color: #acb7b1; + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .experience__spent--input { + border-color: #acb7b1; + } +} +.arc .arc__layout .consequences__header { + display: flex; +} +.arc .arc__layout .consequences__header--span { + font-size: 1.33rem; + margin-right: 0.5rem; +} +.arc .arc__layout .consequences__grid { + display: grid; + grid-template-columns: auto 1fr; + gap: 0.5rem; + align-items: center; + justify-items: center; +} +.arc .arc__layout .consequences__grid--header { + padding: 0 1rem; + text-align: center; + font-size: 1.17rem; +} +.arc .arc__layout .consequences__roll { + justify-self: start; +} +.arc .arc__layout .consequences__roll--btn { + text-align: left; + white-space: nowrap; + margin-right: 0.5rem; + border: 1px solid transparent; + padding: 4px; +} +.arc .arc__layout .consequences__roll--btn:hover { + font-weight: bold; +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .consequences__roll--btn:hover { + background: #efdd86; + border-color: #efdd86; + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .consequences__roll--btn:hover { + background: #efdd86; + border-color: #efdd86; + } +} +.arc .arc__layout .consequences__roll--span { + text-transform: uppercase; + text-align: left; + font-size: 1.17rem; +} +.arc .arc__layout .consequence__die { + display: flex; + flex-direction: column; + align-items: center; + height: 100%; + cursor: pointer; +} +.arc .arc__layout .consequence__die--span { + position: relative; + top: 4px; + font-size: 1.17rem; + font-weight: bold; + z-index: 1; +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .consequence__die--span { + color: #32635b; + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .consequence__die--span { + color: #32635b; + } +} +.arc .arc__layout .consequence__die--input { + display: none; +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .consequence__die--input:checked + .consequence__die--span { + color: #fefeff; + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .consequence__die--input:checked + .consequence__die--span { + color: #fefeff; + } +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .consequence__die--input:checked ~ .consequence__die--square { + background: #32635b; + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .consequence__die--input:checked ~ .consequence__die--square { + background: #32635b; + } +} +.arc .arc__layout .consequence__die--square { + position: absolute; + border: 2px solid transparent; + width: 24px; + height: 24px; +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .consequence__die--square { + border-color: #32635b; + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .consequence__die--square { + border-color: #32635b; + } +} +.arc .arc__layout .consequence__description { + display: flex; + align-items: start; + font-variant-caps: small-caps; + width: 100%; + min-height: 4rem; + cursor: pointer; +} +.arc .arc__layout .inventory { + display: grid; + grid-template-columns: repeat(3, 1fr); + row-gap: 8px; + width: 100%; + align-items: flex-end; +} +.arc .arc__layout .inventory__header { + grid-row: 1; + grid-column: 1/2; + white-space: nowrap; + display: flex; +} +.arc .arc__layout .inventory__header--span { + font-size: 1.33rem; + margin-right: 0.5rem; +} +.arc .arc__layout .inventory__type--span, .arc .arc__layout .inventory__short-desc--span, .arc .arc__layout .inventory__qty--span { + font-variant-caps: small-caps; +} +.arc .arc__layout .inventory__type { + grid-row: 1; + grid-column: 2/3; + display: flex; + justify-content: center; +} +.arc .arc__layout .inventory__qty { + grid-row: 1; + grid-column: 3/4; + text-align: center; + width: 100%; + margin-right: 8px; +} +.arc .arc__layout .inventory__items { + grid-row: 2; + grid-column: 1/6; + padding: 0 8px; +} +.arc .arc__layout input[name*=item_expand][value="0"] ~ .item--details { + display: none; +} +.arc .arc__layout input[name*=item_expand][value="0"] ~ .item .item__expand--img { + display: inline; +} +.arc .arc__layout input[name*=item_expand][value="0"] ~ .item .item__universal .item--type { + display: none; +} +.arc .arc__layout input[name*=item_expand][value=on] ~ .item .item__close--img { + display: inline; +} +.arc .arc__layout input[name*=item_expand][value=on] ~ .item .item__universal { + grid-template-columns: 1fr auto; +} +.arc .arc__layout input[name*=item_expand][value=on] ~ .item .item__universal .item--quantity { + grid-row: 2/3; +} +.arc .arc__layout input[name*=item_expand][value=on] ~ .item .item__universal .item__expand { + grid-column: 2/3; +} +.arc .arc__layout .item { + margin: 4px 0; +} +.arc .arc__layout .item__wrapper { + margin: 4px 0; + padding: 0 4px; + border: 2px solid transparent; +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .item__wrapper { + border-color: #dabb3d; + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .item__wrapper { + border-color: #dabb3d; + } +} +.arc .arc__layout .item--details { + display: flex; + flex-direction: column; + margin: 8px 0; +} +.arc .arc__layout .item__block { + grid-template-columns: repeat(4, 1fr); + gap: 0.5rem; +} +.arc .arc__layout .item__universal { + display: grid; + grid-template-columns: 1fr repeat(2, auto); +} +.arc .arc__layout .item__supplies_and_sundries { + display: none; +} +.arc .arc__layout .item__block--toggle[value=supplies_and_sundries] ~ .item--details .item__supplies_and_sundries { + display: grid; +} +@media only screen and (max-width: 540px) { + .arc .arc__layout .item__block--toggle[value=supplies_and_sundries] ~ .item--details .item__supplies_and_sundries { + display: flex; + flex-direction: column; + } +} +.arc .arc__layout .item__oddities_and_valuables { + display: none; +} +.arc .arc__layout .item__block--toggle[value=oddities_and_valuables] ~ .item--details .item__oddities_and_valuables { + display: grid; +} +@media only screen and (max-width: 540px) { + .arc .arc__layout .item__block--toggle[value=oddities_and_valuables] ~ .item--details .item__oddities_and_valuables { + display: flex; + flex-direction: column; + } +} +.arc .arc__layout .item__damage_and_defense { + display: none; +} +.arc .arc__layout .item__block--toggle[value=damage_and_defense] ~ .item--details .item__damage_and_defense { + display: grid; +} +@media only screen and (max-width: 540px) { + .arc .arc__layout .item__block--toggle[value=damage_and_defense] ~ .item--details .item__damage_and_defense { + display: flex; + flex-direction: column; + } +} +.arc .arc__layout .item__spells_and_techniques { + display: none; +} +.arc .arc__layout .item__block--toggle[value=spells_and_techniques] ~ .item--details .item__spells_and_techniques { + display: grid; +} +@media only screen and (max-width: 540px) { + .arc .arc__layout .item__block--toggle[value=spells_and_techniques] ~ .item--details .item__spells_and_techniques { + display: flex; + flex-direction: column; + } +} +.arc .arc__layout .item--name .field, .arc .arc__layout .item--type .field, .arc .arc__layout .item--quantity .field { + grid-template-rows: auto; +} +.arc .arc__layout .item--name { + grid-row: 1/2; + grid-column: 1/2; +} +.arc .arc__layout .item--quantity { + grid-row: 1/2; + grid-column: 2/3; +} +.arc .arc__layout .item--quantity .field--number { + font-size: 1.2rem; + padding: 0.2rem; + width: 3.5rem; + height: 3rem; + border: none; + border-bottom: 2px double transparent; +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .item--quantity .field--number { + border-color: #acb7b1; + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .item--quantity .field--number { + border-color: #acb7b1; + } +} +.arc .arc__layout .item--type { + grid-row: 2/3; + grid-column: 1/2; +} +.arc .arc__layout .item__expand { + grid-row: 1/2; + grid-column: 3/4; + display: flex; + align-items: center; + justify-content: center; + width: 3.5rem; + margin: 0 4px; +} +.arc .arc__layout .item__expand--img { + display: none; + cursor: pointer; + width: 20px; + height: 20px; + opacity: 0.5; +} +.arc .arc__layout .item__expand--img:hover { + opacity: 1; +} +.arc .arc__layout .item__close--img { + display: none; + cursor: pointer; + width: 20px; + height: 20px; + opacity: 0.5; +} +.arc .arc__layout .item__close--img:hover { + opacity: 1; +} +.arc .arc__layout .item--description { + grid-column: 1/5; +} +.arc .arc__layout .item--first_boon { + grid-row: 2; + grid-column: 1/3; +} +.arc .arc__layout .item--second_boon { + grid-row: 2; + grid-column: 3/5; +} +.arc .arc__layout .item--complexity { + grid-row: 2; + grid-column: 3/5; + margin: 0.5rem 0; +} +.arc .arc__layout .item--complexity .field { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-around; +} +.arc .arc__layout .item--complexity .radio__ranks { + display: flex; +} +.arc .arc__layout .item--complexity .radio__rank { + order: 1; + width: 13px; + height: 13px; + margin: 0 0.25rem; + appearance: none; + -webkit-appearance: none; + cursor: pointer; +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .item--complexity .radio__rank:hover { + background-color: #efdd86; + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .item--complexity .radio__rank:hover { + background-color: #efdd86; + } +} +.arc .arc__layout .item--complexity .radio__rank:checked { + display: none; +} +.arc .arc__layout .item--complexity .radio__rank:checked ~ .radio__rank { + order: 3; + background-color: transparent; +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .item--complexity .radio__rank:checked ~ .radio__rank:hover { + background-color: #efdd86; + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .item--complexity .radio__rank:checked ~ .radio__rank:hover { + background-color: #efdd86; + } +} +.arc .arc__layout .item--complexity .radio__rank.reset { + order: 2; +} +@media (prefers-color-scheme: light) { + .arc .arc__layout .item--complexity .radio__rank.reset:hover { + background-color: #efdd86; + } +} +@media (prefers-color-scheme: dark) { + .arc .arc__layout .item--complexity .radio__rank.reset:hover { + background-color: #efdd86; + } +} +.arc .arc__layout .item--complexity .radio__rank { + border: 1px solid #dabb3d; + background: #dabb3d; +} +.arc .arc__layout .item--complexity .radio__rank.reset { + background: #dabb3d; +} +.arc .arc__layout .item--base_effect { + grid-row: 2/5; + grid-column: 1/3; +} +.arc .arc__layout .item--base_effect .field--textarea { + height: 100%; +} +.arc .arc__layout .item--enhanced { + grid-row: 3/4; + grid-column: 3/5; +} +.arc .arc__layout .item--ritual { + grid-row: 4/5; + grid-column: 3/5; +} +.arc .arc__layout .field { + display: grid; + grid-template-rows: auto 1fr; + width: 100%; + height: 100%; +} +.arc .arc__layout .field__label--span { + text-transform: uppercase; + font-size: 0.8rem; +} +.arc .arc__layout .field--text, .arc .arc__layout .field--number, .arc .arc__layout .field--select, .arc .arc__layout .field--textarea { + width: 100%; +} +.arc .arc__layout .field--textarea { + font-family: "Piazzolla", serif; +} +@media only screen and (max-width: 375px) { + .arc .arc__layout .item--complexity .field { + flex-direction: column; + } +} + +.sheet-rolltemplate-skills .sheet-arc__flawless--value .inlinerollresult, .sheet-rolltemplate-skills .sheet-arc__roll--value .inlinerollresult, .sheet-rolltemplate-skills .sheet-arc__tn--value .inlinerollresult, .sheet-rolltemplate-fallen .sheet-arc__fallen .inlinerollresult, .sheet-rolltemplate-recover .sheet-arc__recover .inlinerollresult { + font-style: normal; + background: transparent; + border: 0px solid transparent; + box-sizing: border-box; + --box-shadow-color: transparent; + box-shadow: none; + cursor: help; +} + +.sheet-rolltemplate-recover, .sheet-rolltemplate-skills, .sheet-rolltemplate-fallen { + width: 100%; + max-width: 400px; +} +.sheet-rolltemplate-recover .sheet-arc__container, .sheet-rolltemplate-skills .sheet-arc__container, .sheet-rolltemplate-fallen .sheet-arc__container { + display: grid; + box-sizing: border-box; + gap: 0; + padding: 4px; + border: 1px solid transparent; +} +.sheet-rolltemplate-recover .sheet-arc__banner, .sheet-rolltemplate-skills .sheet-arc__banner, .sheet-rolltemplate-fallen .sheet-arc__banner { + height: 30px; + background-repeat: no-repeat; + background-size: contain; + height: 30px; +} +.sheet-rolltemplate-recover .sheet-arc__banner.sheet-short-rest, .sheet-rolltemplate-skills .sheet-arc__banner.sheet-short-rest, .sheet-rolltemplate-fallen .sheet-arc__banner.sheet-short-rest { + background-image: url("https://raw.githubusercontent.com/morgdalaine/arc-momatoes/main/character-sheet/ARC/assets/tab_short_rest.png"); +} +.sheet-rolltemplate-recover .sheet-arc__banner.sheet-long-rest, .sheet-rolltemplate-skills .sheet-arc__banner.sheet-long-rest, .sheet-rolltemplate-fallen .sheet-arc__banner.sheet-long-rest { + background-image: url("https://raw.githubusercontent.com/morgdalaine/arc-momatoes/main/character-sheet/ARC/assets/tab_long_rest.png"); +} +.sheet-rolltemplate-recover .sheet-arc__banner.sheet-skill-test, .sheet-rolltemplate-skills .sheet-arc__banner.sheet-skill-test, .sheet-rolltemplate-fallen .sheet-arc__banner.sheet-skill-test { + background-image: url("https://raw.githubusercontent.com/morgdalaine/arc-momatoes/main/character-sheet/ARC/assets/tab_skill_check.png"); +} +.sheet-rolltemplate-recover .sheet-arc__content, .sheet-rolltemplate-skills .sheet-arc__content, .sheet-rolltemplate-fallen .sheet-arc__content { + display: grid; + grid-template-rows: auto 1fr; + row-gap: 12px; + background-repeat: no-repeat; + background-size: cover; + padding: 24px 8px 16px 8px; + min-height: 200px; +} +.sheet-rolltemplate-recover .sheet-arc__content.sheet-short-rest, .sheet-rolltemplate-skills .sheet-arc__content.sheet-short-rest, .sheet-rolltemplate-fallen .sheet-arc__content.sheet-short-rest { + background-image: url("https://raw.githubusercontent.com/morgdalaine/arc-momatoes/main/character-sheet/ARC/assets/bg_short_rest.png"); +} +.sheet-rolltemplate-recover .sheet-arc__content.sheet-long-rest, .sheet-rolltemplate-skills .sheet-arc__content.sheet-long-rest, .sheet-rolltemplate-fallen .sheet-arc__content.sheet-long-rest { + background-image: url("https://raw.githubusercontent.com/morgdalaine/arc-momatoes/main/character-sheet/ARC/assets/bg_long_rest.png"); +} +.sheet-rolltemplate-recover .sheet-arc__content.sheet-skill-test, .sheet-rolltemplate-skills .sheet-arc__content.sheet-skill-test, .sheet-rolltemplate-fallen .sheet-arc__content.sheet-skill-test { + grid-template-rows: auto auto 1fr; +} +.sheet-rolltemplate-recover .sheet-arc__content.sheet-fallen, .sheet-rolltemplate-skills .sheet-arc__content.sheet-fallen, .sheet-rolltemplate-fallen .sheet-arc__content.sheet-fallen { + background-image: url("https://raw.githubusercontent.com/morgdalaine/arc-momatoes/main/character-sheet/ARC/assets/bg_fallen.png"); +} +.sheet-rolltemplate-recover .sheet-arc__sentence, .sheet-rolltemplate-skills .sheet-arc__sentence, .sheet-rolltemplate-fallen .sheet-arc__sentence { + display: flex; + flex-direction: row; + flex-wrap: wrap; + align-items: baseline; + padding: 4px; +} +.sheet-rolltemplate-recover .sheet-arc__sentence--name, .sheet-rolltemplate-skills .sheet-arc__sentence--name, .sheet-rolltemplate-fallen .sheet-arc__sentence--name { + font-family: "Playfair Display", serif; + font-size: 3em; + color: #dabb3d; + text-align: left; + line-height: 1em; + font-weight: 900; +} +.sheet-rolltemplate-recover .sheet-arc__sentence--verb, .sheet-rolltemplate-skills .sheet-arc__sentence--verb, .sheet-rolltemplate-fallen .sheet-arc__sentence--verb { + font-family: "Josefin Sans", sans-serif; + font-size: 1.33em; + padding: 0 0.25em; + text-align: left; + font-style: oblique; +} +.sheet-rolltemplate-recover .sheet-arc__sentence--verb.sheet-short-rest, .sheet-rolltemplate-skills .sheet-arc__sentence--verb.sheet-short-rest, .sheet-rolltemplate-fallen .sheet-arc__sentence--verb.sheet-short-rest { + color: #32635b; +} +.sheet-rolltemplate-recover .sheet-arc__sentence--verb.sheet-long-rest, .sheet-rolltemplate-skills .sheet-arc__sentence--verb.sheet-long-rest, .sheet-rolltemplate-fallen .sheet-arc__sentence--verb.sheet-long-rest { + color: #82a677; +} +.sheet-rolltemplate-recover .sheet-arc__sentence--verb.sheet-skill-test, .sheet-rolltemplate-skills .sheet-arc__sentence--verb.sheet-skill-test, .sheet-rolltemplate-fallen .sheet-arc__sentence--verb.sheet-skill-test { + color: #fefeff; +} +.sheet-rolltemplate-recover .sheet-arc__sentence--verb.sheet-fallen, .sheet-rolltemplate-skills .sheet-arc__sentence--verb.sheet-fallen, .sheet-rolltemplate-fallen .sheet-arc__sentence--verb.sheet-fallen { + color: #fefeff; +} +.sheet-rolltemplate-recover .sheet-arc__sentence--action, .sheet-rolltemplate-skills .sheet-arc__sentence--action, .sheet-rolltemplate-fallen .sheet-arc__sentence--action { + font-family: "Josefin Sans", sans-serif; + font-size: 2em; + font-weight: bold; + text-align: left; + font-style: oblique; + text-transform: lowercase; +} +.sheet-rolltemplate-recover .sheet-arc__sentence--action.sheet-short-rest, .sheet-rolltemplate-skills .sheet-arc__sentence--action.sheet-short-rest, .sheet-rolltemplate-fallen .sheet-arc__sentence--action.sheet-short-rest { + color: #32635b; +} +.sheet-rolltemplate-recover .sheet-arc__sentence--action.sheet-long-rest, .sheet-rolltemplate-skills .sheet-arc__sentence--action.sheet-long-rest, .sheet-rolltemplate-fallen .sheet-arc__sentence--action.sheet-long-rest { + color: #82a677; +} +.sheet-rolltemplate-recover .sheet-arc__sentence--action.sheet-skill-test, .sheet-rolltemplate-skills .sheet-arc__sentence--action.sheet-skill-test, .sheet-rolltemplate-fallen .sheet-arc__sentence--action.sheet-skill-test { + color: #fefeff; +} +.sheet-rolltemplate-recover .sheet-arc__sentence--action.sheet-fallen, .sheet-rolltemplate-skills .sheet-arc__sentence--action.sheet-fallen, .sheet-rolltemplate-fallen .sheet-arc__sentence--action.sheet-fallen { + color: #fefeff; +} +.sheet-rolltemplate-recover .sheet-arc__sentence--action::after, .sheet-rolltemplate-skills .sheet-arc__sentence--action::after, .sheet-rolltemplate-fallen .sheet-arc__sentence--action::after { + content: "."; +} +.sheet-rolltemplate-recover .sheet-arc__footnote, .sheet-rolltemplate-skills .sheet-arc__footnote, .sheet-rolltemplate-fallen .sheet-arc__footnote { + font-family: "Playfair Display", serif; + text-align: end; + margin: 4px 0; +} +.sheet-rolltemplate-recover .sheet-arc__footnote--span, .sheet-rolltemplate-skills .sheet-arc__footnote--span, .sheet-rolltemplate-fallen .sheet-arc__footnote--span { + font-size: 0.8em; +} + +.sheet-rolltemplate-recover .sheet-arc__recover { + display: grid; + grid-template-columns: auto 1fr; + align-items: center; + column-gap: 4px; + font-family: "Josefin Sans", sans-serif; +} +.sheet-rolltemplate-recover .sheet-arc__recover--arrow, .sheet-rolltemplate-recover .sheet-arc__recover--text { + line-height: 1.8em; +} +.sheet-rolltemplate-recover .sheet-arc__recover.sheet-short-rest { + color: #171212; +} +.sheet-rolltemplate-recover .sheet-arc__recover.sheet-short-rest .inlinerollresult { + border-color: #171212; +} +.sheet-rolltemplate-recover .sheet-arc__recover.sheet-long-rest { + color: #fefeff; +} +.sheet-rolltemplate-recover .sheet-arc__recover.sheet-long-rest .inlinerollresult { + border-color: #f6f7f6; +} +.sheet-rolltemplate-recover .sheet-arc__recover .inlinerollresult { + padding: 0 4px; + font-family: "Josefin Sans", sans-serif; + font-weight: bold; + font-size: 1.33em; + border-bottom: 2px solid transparent; +} + +.sheet-rolltemplate-fallen .sheet-arc__fallen { + display: grid; + grid-template-columns: auto 1fr; + align-items: flex-start; + column-gap: 4px; + font-family: "Playfair Display", serif; + font-style: italic; +} +.sheet-rolltemplate-fallen .sheet-arc__fallen--roll, .sheet-rolltemplate-fallen .sheet-arc__fallen--text { + line-height: 1.8em; +} +.sheet-rolltemplate-fallen .sheet-arc__fallen--text { + font-family: "Josefin Sans", sans-serif; +} +.sheet-rolltemplate-fallen .sheet-arc__fallen.sheet-fallen { + color: #fefeff; +} +.sheet-rolltemplate-fallen .sheet-arc__fallen .inlinerollresult { + padding: 0 4px; + font-weight: bold; + font-size: 3em; +} + +.sheet-rolltemplate-skills .sheet-display-control { + display: none; +} +.sheet-rolltemplate-skills .sheet-display-control.sheet-success ~ .sheet-arc__content.sheet-skill-test { + background-image: url("https://raw.githubusercontent.com/morgdalaine/arc-momatoes/main/character-sheet/ARC/assets/bg_check_success.png"); +} +.sheet-rolltemplate-skills .sheet-display-control.sheet-success ~ .sheet-arc__content .sheet-arc__roll--value { + box-shadow: 0 0 4px 4px #7f690b; + border-color: #7f690b; +} +.sheet-rolltemplate-skills .sheet-display-control.sheet-tie ~ .sheet-arc__content.sheet-skill-test { + background-image: url("https://raw.githubusercontent.com/morgdalaine/arc-momatoes/main/character-sheet/ARC/assets/bg_check_tie.png"); +} +.sheet-rolltemplate-skills .sheet-display-control.sheet-tie ~ .sheet-arc__content .sheet-arc__roll--value { + border: 1px solid #2b4434; + box-shadow: 0px 0px 4px 4px #2b4434; +} +.sheet-rolltemplate-skills .sheet-display-control.sheet-fail ~ .sheet-arc__content.sheet-skill-test { + background-image: url("https://raw.githubusercontent.com/morgdalaine/arc-momatoes/main/character-sheet/ARC/assets/bg_check_fail.png"); +} +.sheet-rolltemplate-skills .sheet-display-control.sheet-fail ~ .sheet-arc__content .sheet-arc__roll--value { + border: 1px solid #3c2f27; + box-shadow: 0px 0px 4px 4px #3c2f27; +} +.sheet-rolltemplate-skills .sheet-arc__approach-skill { + display: grid; + grid-template-columns: auto 1fr; + grid-template-rows: 35px auto 1fr; + align-items: center; + column-gap: 4px; + font-family: "Josefin Sans", sans-serif; +} +.sheet-rolltemplate-skills .sheet-arc__approach-skill--arrow { + grid-row: 1/3; + grid-column: 1/2; + color: #fefeff; +} +.sheet-rolltemplate-skills .sheet-arc__approach-skill--approach { + background-repeat: no-repeat; + background-size: contain; + height: 35px; +} +.sheet-rolltemplate-skills .sheet-arc__approach-skill--approach.sheet-creative { + background-image: url("https://raw.githubusercontent.com/morgdalaine/arc-momatoes/main/character-sheet/ARC/assets/text_creative.svg"); +} +.sheet-rolltemplate-skills .sheet-arc__approach-skill--approach.sheet-careful { + background-image: url("https://raw.githubusercontent.com/morgdalaine/arc-momatoes/main/character-sheet/ARC/assets/text_careful.svg"); +} +.sheet-rolltemplate-skills .sheet-arc__approach-skill--approach.sheet-concerted { + background-image: url("https://raw.githubusercontent.com/morgdalaine/arc-momatoes/main/character-sheet/ARC/assets/text_concerted.svg"); +} +.sheet-rolltemplate-skills .sheet-arc__approach-skill--text { + font-family: "Playfair Display", serif; + font-size: 2em; + text-transform: uppercase; + color: #fefeff; +} +.sheet-rolltemplate-skills .sheet-arc__approach-skill--text::before { + content: "& "; + font-family: "Playfair Display", serif; + color: #dabb3d; +} +.sheet-rolltemplate-skills .sheet-arc__results { + display: grid; + grid-template-columns: 1fr auto; + column-gap: 4px; + align-content: center; +} +.sheet-rolltemplate-skills .sheet-arc__results--text { + grid-column: 1/2; + display: flex; + align-items: flex-end; + justify-content: flex-start; +} +.sheet-rolltemplate-skills .sheet-arc__results--values { + grid-column: 2/3; + display: grid; + grid-template-columns: 1fr auto 1fr; + grid-template-rows: auto 1fr; + row-gap: 4px; + align-content: center; +} +.sheet-rolltemplate-skills .sheet-arc__success, .sheet-rolltemplate-skills .sheet-arc__tie, .sheet-rolltemplate-skills .sheet-arc__fail { + font-size: 2em; + line-height: 1em; + font-family: "Josefin Sans", sans-serif; +} +.sheet-rolltemplate-skills .sheet-arc__success--span, .sheet-rolltemplate-skills .sheet-arc__tie--span, .sheet-rolltemplate-skills .sheet-arc__fail--span { + white-space: nowrap; + padding-right: 8px; +} +.sheet-rolltemplate-skills .sheet-arc__success--span { + color: #dabb3d; +} +.sheet-rolltemplate-skills .sheet-arc__tie--span { + color: #89a57d; +} +.sheet-rolltemplate-skills .sheet-arc__fail--span { + color: #acb7b1; +} +.sheet-rolltemplate-skills .sheet-arc__flawless, .sheet-rolltemplate-skills .sheet-arc__roll, .sheet-rolltemplate-skills .sheet-arc__versus, .sheet-rolltemplate-skills .sheet-arc__tn { + display: flex; + flex-direction: column; +} +.sheet-rolltemplate-skills .sheet-arc__flawless--header, .sheet-rolltemplate-skills .sheet-arc__roll--header, .sheet-rolltemplate-skills .sheet-arc__versus--header, .sheet-rolltemplate-skills .sheet-arc__tn--header { + grid-row: 1/2; + display: flex; + justify-content: center; + font-family: "Josefin Sans", sans-serif; + color: #eaebe8; +} +.sheet-rolltemplate-skills .sheet-arc__flawless--value, .sheet-rolltemplate-skills .sheet-arc__roll--value, .sheet-rolltemplate-skills .sheet-arc__tn--value { + grid-row: 2/3; + font-family: serif; + height: 42px; + width: 42px; + display: flex; + align-items: center; + justify-content: center; + position: relative; +} +.sheet-rolltemplate-skills .sheet-arc__flawless--value .inlinerollresult, .sheet-rolltemplate-skills .sheet-arc__roll--value .inlinerollresult, .sheet-rolltemplate-skills .sheet-arc__tn--value .inlinerollresult { + font-size: 36px; + line-height: 36px; + position: absolute; + bottom: 0; +} +.sheet-rolltemplate-skills .sheet-arc__roll--header { + color: #fefeff; +} +.sheet-rolltemplate-skills .sheet-arc__roll--value { + color: transparent; +} +.sheet-rolltemplate-skills .sheet-arc__tn--value { + border: 1px solid #394143; + box-shadow: 0 0 4px 4px #2b3639; + color: #6a878e; + background: rgba(25, 33, 32, 0.7); +} +.sheet-rolltemplate-skills .sheet-arc__versus--value { + grid-row: 2/3; + display: flex; + align-items: center; + justify-content: center; + z-index: 1; +} +.sheet-rolltemplate-skills .sheet-arc__versus--symbol { + position: absolute; + font-family: "Josefin Sans", sans-serif; + font-weight: bold; + text-align: center; + font-size: 24px; + padding: 2px; + color: #fefeff; + width: 18px; + height: 18px; +} +.sheet-rolltemplate-skills .sheet-arc__versus--symbol.sheet-success { + background: #7f690b; +} +.sheet-rolltemplate-skills .sheet-arc__versus--symbol.sheet-tie { + background: #2b4434; +} +.sheet-rolltemplate-skills .sheet-arc__versus--symbol.sheet-fail { + background: #314d3c; +} \ No newline at end of file diff --git a/ARC/arc.html b/ARC/arc.html new file mode 100644 index 0000000000..91817bd464 --- /dev/null +++ b/ARC/arc.html @@ -0,0 +1,2707 @@ + +
+ + + + +
+ +
+
+ + +
+
+ + +
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+
+ +
+
+
+
+ Blood + + +
+ +
+
+
+ Mod + + +
+
+ Max + + +
+
+ Current + + +
+ + +
+
+
+ Guts + + +
+ +
+
+
+ Mod + + +
+
+ Max + + +
+
+ Current + + +
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+
+
+ +
+ +
+
+
+ Creative + +
+
+ +
+
+ + + +
+ +
+
+
+ Careful + +
+
+ +
+
+ + + +
+ +
+
+
+ Concerted + +
+
+ +
+
+ + +
+
+
+ Skills + + +
+ +
+
+
+ Knowledge + +
+
+
+ + +
+ +
+ + +
+
+ + + + +
+
+ + +
+ +
+ + +
+
+ + + + +
+
+ + +
+ +
+ + +
+
+ + + + +
+
+ + +
+ +
+ + +
+
+ + + + +
+
+ Social + +
+
+
+ + +
+ +
+ + +
+
+ + + + +
+
+ + +
+ +
+ + +
+
+ + + + +
+
+ + +
+ +
+ + +
+
+ + + + +
+
+ + +
+ +
+ + +
+
+ + + + +
+
+ Physical + +
+
+
+ + +
+ +
+ + +
+
+ + + + +
+
+ + +
+ +
+ + +
+
+ + + + +
+
+ + +
+ +
+ + +
+
+ + + + +
+
+ + +
+ +
+ + +
+
+ + + + +
+
+ Practical + +
+
+
+ + +
+ +
+ + +
+
+ + + + +
+
+ + +
+ +
+ + +
+
+ + + + +
+
+ + +
+ +
+ + +
+
+ + + + +
+
+ + +
+ +
+ + +
+
+ + + + +
+
+ Prowess + +
+
+
+ + +
+ +
+ + +
+
+ + + + +
+
+ + +
+ +
+ + +
+
+ + + + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Inventory + + +
+ +
+
+
+ Item Type + +
+
+ Qty. + +
+
+
+
+
+ + +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+ +
+
+
+
+
+
+
+ + +
+
+
+
+
+
+ + +
+
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+
+
+ +
+ + + + + +
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+
+
+
+ + +
+
+ +
+
+ +
+
+
+
{{#character_name}} +
{{ character_name }}
{{/character_name}}{{#verb}} +
{{ verb }}
{{/verb}}{{#action}} +
{{ action }}
{{/action}} +
+
+
+
+ + +
+
+
+
+ Don't forget to update your hero's character sheet. + +
+
+
+ +
+
+
+
{{#character_name}} +
{{ character_name }}
{{/character_name}}{{#verb}} +
{{ verb }}
{{/verb}}{{#action}} +
{{ action }}
{{/action}} +
+
+
{{ consequence }}
{{#rollTotal() consequence 1}} +
+ Can no longer verbally or visibly communicate but gains telepathy. + +
{{/rollTotal() consequence 1}}{{#rollTotal() consequence 2}} +
+ Bears a constantly bleeding wound that deals no damage. + +
{{/rollTotal() consequence 2}}{{#rollTotal() consequence 3}} +
+ Gains an unnerving presence; children and animals flee from them. + +
{{/rollTotal() consequence 3}}{{#rollTotal() consequence 4}} +
+ Has a prophetic vision of three pale girls clawing their way up from the soil. + +
{{/rollTotal() consequence 4}}{{#rollTotal() consequence 5}} +
+ No longer blinks and must constantly apply water to their eyes. + +
{{/rollTotal() consequence 5}}{{#rollTotal() consequence 6}} +
+ May now speak to the dead. + +
{{/rollTotal() consequence 6}} +
+
+
+ Don't forget to update your hero's character sheet. + +
+
+
+ +
+
{{#rollLess() roll TN}}{{/rollLess() roll TN}}{{#rollTotal() roll TN}}{{/rollTotal() roll TN}}{{#rollGreater() roll TN}}{{/rollGreater() roll TN}} +
+
{{#character_name}} +
{{ character_name }}
{{/character_name}}{{#verb}} +
{{ verb }}
{{/verb}}{{#action}} +
{{ action }}
{{/action}} +
+
+
+
+
+
+
+
+
{{#rollLess() roll TN}} +
+ Success! + +
{{/rollLess() roll TN}}{{#rollTotal() roll TN}} +
+ It's a tie. + +
{{/rollTotal() roll TN}}{{#rollGreater() roll TN}} +
+ It fails... + +
{{/rollGreater() roll TN}} +
+
+
Roll +
+
vs +
+
TN +
{{#rollTotal() roll 1}} +
{{roll}}
{{/rollTotal() roll 1}}{{#rollTotal() roll 2}} +
{{roll}}
{{/rollTotal() roll 2}}{{#rollTotal() roll 3}} +
{{roll}}
{{/rollTotal() roll 3}}{{#rollTotal() roll 4}} +
{{roll}}
{{/rollTotal() roll 4}}{{#rollTotal() roll 5}} +
{{roll}}
{{/rollTotal() roll 5}}{{#rollTotal() roll 6}} +
{{roll}}
{{/rollTotal() roll 6}} +
{{#rollLess() roll TN}}<{{/rollLess() roll TN}}{{#rollTotal() roll TN}}={{/rollTotal() roll TN}}{{#rollGreater() roll TN}}>{{/rollGreater() roll TN}} +
+
{{TN}}
+
+
+
+
+
+ \ No newline at end of file diff --git a/ARC/arc.png b/ARC/arc.png new file mode 100644 index 0000000000..3dba229115 Binary files /dev/null and b/ARC/arc.png differ diff --git a/ARC/assets/add.svg b/ARC/assets/add.svg new file mode 100644 index 0000000000..f562607306 --- /dev/null +++ b/ARC/assets/add.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ARC/assets/bg_check_fail.png b/ARC/assets/bg_check_fail.png new file mode 100644 index 0000000000..3c10cc8326 Binary files /dev/null and b/ARC/assets/bg_check_fail.png differ diff --git a/ARC/assets/bg_check_success.png b/ARC/assets/bg_check_success.png new file mode 100755 index 0000000000..3f0d29d6f8 Binary files /dev/null and b/ARC/assets/bg_check_success.png differ diff --git a/ARC/assets/bg_check_tie.png b/ARC/assets/bg_check_tie.png new file mode 100755 index 0000000000..26bc7121c7 Binary files /dev/null and b/ARC/assets/bg_check_tie.png differ diff --git a/ARC/assets/bg_fallen.png b/ARC/assets/bg_fallen.png new file mode 100644 index 0000000000..6dc5ef8561 Binary files /dev/null and b/ARC/assets/bg_fallen.png differ diff --git a/ARC/assets/bg_long_rest.png b/ARC/assets/bg_long_rest.png new file mode 100755 index 0000000000..a5bd470de1 Binary files /dev/null and b/ARC/assets/bg_long_rest.png differ diff --git a/ARC/assets/bg_short_rest.png b/ARC/assets/bg_short_rest.png new file mode 100755 index 0000000000..b585a12e54 Binary files /dev/null and b/ARC/assets/bg_short_rest.png differ diff --git a/ARC/assets/book.svg b/ARC/assets/book.svg new file mode 100644 index 0000000000..f5ee6634c4 --- /dev/null +++ b/ARC/assets/book.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ARC/assets/close.svg b/ARC/assets/close.svg new file mode 100644 index 0000000000..2a6f49a876 --- /dev/null +++ b/ARC/assets/close.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ARC/assets/delete.svg b/ARC/assets/delete.svg new file mode 100644 index 0000000000..ab5d92b891 --- /dev/null +++ b/ARC/assets/delete.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ARC/assets/download.svg b/ARC/assets/download.svg new file mode 100644 index 0000000000..870e31afd3 --- /dev/null +++ b/ARC/assets/download.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ARC/assets/drag.svg b/ARC/assets/drag.svg new file mode 100644 index 0000000000..f7963f3bfe --- /dev/null +++ b/ARC/assets/drag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ARC/assets/edit.svg b/ARC/assets/edit.svg new file mode 100644 index 0000000000..ea2985fc34 --- /dev/null +++ b/ARC/assets/edit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ARC/assets/ellipsis.svg b/ARC/assets/ellipsis.svg new file mode 100644 index 0000000000..336f2b704b --- /dev/null +++ b/ARC/assets/ellipsis.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ARC/assets/export.svg b/ARC/assets/export.svg new file mode 100644 index 0000000000..85e9976071 --- /dev/null +++ b/ARC/assets/export.svg @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ARC/assets/help.svg b/ARC/assets/help.svg new file mode 100644 index 0000000000..cafa92b4cc --- /dev/null +++ b/ARC/assets/help.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ARC/assets/lock.svg b/ARC/assets/lock.svg new file mode 100644 index 0000000000..d180bd93bb --- /dev/null +++ b/ARC/assets/lock.svg @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ARC/assets/menu.svg b/ARC/assets/menu.svg new file mode 100644 index 0000000000..6acbfb72a0 --- /dev/null +++ b/ARC/assets/menu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ARC/assets/move.svg b/ARC/assets/move.svg new file mode 100644 index 0000000000..9208c9567d --- /dev/null +++ b/ARC/assets/move.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ARC/assets/save.svg b/ARC/assets/save.svg new file mode 100644 index 0000000000..0b54b173c5 --- /dev/null +++ b/ARC/assets/save.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ARC/assets/settings.svg b/ARC/assets/settings.svg new file mode 100644 index 0000000000..dff950495b --- /dev/null +++ b/ARC/assets/settings.svg @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ARC/assets/tab_long_rest.png b/ARC/assets/tab_long_rest.png new file mode 100755 index 0000000000..029626737b Binary files /dev/null and b/ARC/assets/tab_long_rest.png differ diff --git a/ARC/assets/tab_short_rest.png b/ARC/assets/tab_short_rest.png new file mode 100755 index 0000000000..199a747012 Binary files /dev/null and b/ARC/assets/tab_short_rest.png differ diff --git a/ARC/assets/tab_skill_check.png b/ARC/assets/tab_skill_check.png new file mode 100755 index 0000000000..3c166e9216 Binary files /dev/null and b/ARC/assets/tab_skill_check.png differ diff --git a/ARC/assets/text_careful.svg b/ARC/assets/text_careful.svg new file mode 100644 index 0000000000..508c2d3c9d --- /dev/null +++ b/ARC/assets/text_careful.svg @@ -0,0 +1,6 @@ + + + + diff --git a/ARC/assets/text_concerted.svg b/ARC/assets/text_concerted.svg new file mode 100644 index 0000000000..203ec58ddd --- /dev/null +++ b/ARC/assets/text_concerted.svg @@ -0,0 +1,6 @@ + + + + diff --git a/ARC/assets/text_creative.svg b/ARC/assets/text_creative.svg new file mode 100644 index 0000000000..d449dd5099 --- /dev/null +++ b/ARC/assets/text_creative.svg @@ -0,0 +1,6 @@ + + + + diff --git a/ARC/assets/unlock.svg b/ARC/assets/unlock.svg new file mode 100644 index 0000000000..5ea8540de6 --- /dev/null +++ b/ARC/assets/unlock.svg @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ARC/sheet.json b/ARC/sheet.json new file mode 100644 index 0000000000..d730b03edf --- /dev/null +++ b/ARC/sheet.json @@ -0,0 +1,9 @@ +{ + "html": "arc.html", + "css": "arc.css", + "authors": "Morgdalaine", + "roll20userid": "61327", + "preview": "arc.png", + "patreon": "https://www.patreon.com/morgdalaine", + "instructions": "Don't forget to install the Doomsday Clock API!" +} diff --git a/ARC/src/gulpfile.js b/ARC/src/gulpfile.js new file mode 100644 index 0000000000..a05c1ef012 --- /dev/null +++ b/ARC/src/gulpfile.js @@ -0,0 +1,27 @@ +const gulp = require("gulp"); +const pug = require("gulp-pug"); +const sass = require('gulp-sass')(require('sass')); + +gulp.task("scss", () => { + return gulp.src("./scss/arc.scss") + .pipe(sass({ + outputStyle: "expanded" + }).on("error", sass.logError)) + .pipe(gulp.dest("../")) +}) + +gulp.task("html", function () { + return gulp.src("./pug/arc.pug") + .pipe(pug({ + pretty: true, + locals: require("../translation.json") + })) + .pipe(gulp.dest("../")) +}) + +gulp.task("watch", gulp.series(["scss", "html"], () => { + gulp.watch("./scss/**/*.scss", gulp.series(["scss"])) + gulp.watch(["./pug/**/*.pug","./js/**/*.js"], gulp.series(["html"])) +})) + +gulp.task("build", gulp.series(["scss", "html"])) diff --git a/ARC/src/js/eventhandlers.js b/ARC/src/js/eventhandlers.js new file mode 100644 index 0000000000..f9bad37111 --- /dev/null +++ b/ARC/src/js/eventhandlers.js @@ -0,0 +1,125 @@ + +on("sheet:opened", () => { + getAttrs(["sheet_type"], (updateAttrs) => { + if (!updateAttrs.sheet_type) { + updateAttrs.sheet_type = "character"; + } + + setAttrs(updateAttrs); + }); +}); + +// NOTE: The API sets export_show to "on"; +// it does not trigger the event handler +on("sheet:opened change:export", (eventInfo) => { + getAttrs(["export"], (val) => { + const updateAttrs = {}; + updateAttrs.export_show = val.export ? "on" : "0"; + setAttrs(updateAttrs); + }); +}); + +[1, 2, 3].forEach((l) => { + on(`change:repeating_bonds:level_${l}`, (eventInfo) => { + if (eventInfo.sourceType == "player") { + + let updateAttrs = {}; + let changed = parseInt(eventInfo.sourceAttribute.slice(-1)); + + // fill major bonds below + for (let f = changed - 1; f > 0; f--) { + updateAttrs[`repeating_bonds_level_${f}`] = 4; + } + + // clear major bonds above + for (let c = changed + 1; c <= 3; c++) { + updateAttrs[`repeating_bonds_level_${c}`] = 0; + } + + setAttrs(updateAttrs); + } + }); +}); + +GLOBAL__HEALTH.forEach(s => on(`change:${s} change:${s}_max`, eventInfo => + currentMax(s, eventInfo))); + +const currentMax = (attr, eventInfo) => { + if (eventInfo.sourceType == "player") { + let updateAttrs = {}; + let attr_max = `${attr}_max`; + getAttrs([attr, attr_max], val => { + const current = parseInt(val[attr]) || 0; + const maximum = parseInt(val[attr_max]) || 0; + const newCurr = (current > maximum) + ? maximum + : Math.max(0, current); + updateAttrs[attr] = newCurr; + updateAttrs[attr_max] = Math.max(0, maximum); + setAttrs(updateAttrs); + }); + } +}; + +on("change:repeating_inventory:name", (eventInfo) => { + const id = eventInfo.sourceAttribute.split("_")[2]; + const updateAttrs = {}; + const name = eventInfo.newValue.trim(); + let translation = getTranslationByKey(name) + if (translation) { + updateAttrs[`repeating_inventory_${id}_name`] = translation; + + const searchInputs = _.difference(GLOBAL__INVENTORY_INPUTS, ["name"]); + _.each(searchInputs, (key) => { + const attr = `repeating_inventory_${id}_${key}`; + const i18n = `${name}_${key}`; + + // check if property exists in global + if (GLOBAL__INVENTORY[name][key]) { + updateAttrs[attr] = GLOBAL__INVENTORY[name][key]; + } + // check if translation exists + else if (getTranslationByKey(i18n)) { + updateAttrs[attr] = getTranslationByKey(i18n); + } + }); + + log(updateAttrs) + setAttrs(updateAttrs, { silent: true }); + } +}); + +on("clicked:repeating_inventory:item-expand-toggle", (eventInfo) => { + const id = eventInfo.sourceAttribute.split("_")[2]; + getAttrs([`repeating_inventory_${id}_item_expand`], (val) => { + setAttrs({ + [`repeating_inventory_${id}_item_expand`]: val[`repeating_inventory_${id}_item_expand`] === "0" ? "on" : "0" + }); + }); +}); + +GLOBAL__SKILLS.forEach((skill) => { + on(`clicked:${skill}`, initiateSkillRoll); +}); + +on("sheet:opened", () => { + getAttrs(["version"], (updateAttrs) => { + // Logic to determine what updates need to be done + if (!updateAttrs.version) { + // set sheet version if it doesn't exist + updateAttrs.version = "1.0"; + } + + setAttrs(updateAttrs); + }); +}); + +on("sheet:opened", () => { + var updateAttrs = {} + for (i = 0; i < GLOBAL__HEALTH.length; i++) { + var key = `${GLOBAL__HEALTH[i]}`; + var translation = `${key}_i18n`; + updateAttrs[translation] = getTranslationByKey(key); + } + setAttrs(updateAttrs); +}); diff --git a/ARC/src/js/globals.js b/ARC/src/js/globals.js new file mode 100644 index 0000000000..9c904a88f4 --- /dev/null +++ b/ARC/src/js/globals.js @@ -0,0 +1,418 @@ +const GLOBAL__HEALTH = [ "blood", "guts" ]; + +const GLOBAL__APPROACHES = [ "creative", "careful", "concerted" ]; + +const GLOBAL__SKILLS = [ + "academic", "culture", "observe", "tactics", + "charisma", "guile", "impose", "insight", + "acrobatics", "coordination", "physique", "weaponry", + "artistry", "survival", "tinker", "trade", + "arcana", "focus" +]; + +const GLOBAL__DIFFICULTIES = [ "tn_modifier+0", "tn_modifier-1", "tn_modifier-2", "tn_modifier-3", "tn_modifier+1", "tn_modifier+2", "tn_modifier+3" ]; + +const GLOBAL__APPROACH_QUERY = `[[?{Approach|${GLOBAL__APPROACHES.map((app, i) => `${getTranslationByKey(app)}, ${i}`).join("|")}}]]`; + +const GLOBAL__DIFFICULTY_QUERY = `[[?{Modifiers|${GLOBAL__DIFFICULTIES.map((dif, i) => `${getTranslationByKey(dif)}, ${i}`).join("|")}}]]`; + +const GLOBAL__DIFFICULTY_EFFECTS = { + "tn_modifier+0": +0, + "tn_modifier-1": -1, + "tn_modifier-2": -2, + "tn_modifier-3": -3, + "tn_modifier+1": +1, + "tn_modifier+2": +2, + "tn_modifier+3": +3, +}; + +const GLOBAL__INVENTORY_INPUTS = [ + "name", + "type", + "description", + "first_boon", + "second_boon", + "complexity", + "base_effect", + "enhanced", + "ritual" +]; + +const GLOBAL__INVENTORY = { + combat_scowling_face: { + type: "damage_and_defense", + complexity: 0, + }, + combat_pitchfork: { + type: "damage_and_defense", + complexity: 0, + }, + combat_memories_of_hardship: { + type: "damage_and_defense", + complexity: 0, + }, + combat_iron_briefs: { + type: "damage_and_defense", + complexity: 0, + }, + combat_booming_voice: { + type: "damage_and_defense", + complexity: 0, + }, + combat_well_rounded_education: { + type: "damage_and_defense", + complexity: 0, + }, + combat_darts: { + type: "damage_and_defense", + complexity: 0, + }, + combat_dagger: { + type: "damage_and_defense", + complexity: 0, + }, + combat_self_esteem: { + type: "damage_and_defense", + complexity: 0, + }, + combat_studden_leather_armor: { + type: "damage_and_defense", + complexity: 0, + }, + combat_devastating_vocabulary: { + type: "damage_and_defense", + complexity: 0, + }, + combat_critical_thinking: { + type: "damage_and_defense", + complexity: 0, + }, + combat_sturdy_sword: { + type: "damage_and_defense", + complexity: 0, + }, + combat_crossbow: { + type: "damage_and_defense", + complexity: 0, + }, + combat_plate_armor: { + type: "damage_and_defense", + complexity: 0, + }, + combat_love_letter: { + type: "damage_and_defense", + complexity: 0, + }, + combat_cunning_wit: { + type: "damage_and_defense", + complexity: 0, + }, + combat_flaming_sword: { + type: "damage_and_defense", + complexity: 0, + }, + supplies_rations: { + type: "supplies_and_sundries", + complexity: 0, + }, + supplies_artisans_tools: { + type: "supplies_and_sundries", + complexity: 0, + }, + supplies_crowbar_and_lantern: { + type: "supplies_and_sundries", + complexity: 0, + }, + supplies_rope_and_carpet: { + type: "supplies_and_sundries", + complexity: 0, + }, + supplies_bedroll: { + type: "supplies_and_sundries", + complexity: 0, + }, + supplies_backpack: { + type: "supplies_and_sundries", + complexity: 0, + }, + supplies_thieves_tools: { + type: "supplies_and_sundries", + complexity: 0, + }, + supplies_fine_clothes: { + type: "supplies_and_sundries", + complexity: 0, + }, + supplies_traps: { + type: "supplies_and_sundries", + complexity: 0, + }, + supplies_tent: { + type: "supplies_and_sundries", + complexity: 0, + }, + supplies_fishing_pole: { + type: "supplies_and_sundries", + complexity: 0, + }, + supplies_live_hen: { + type: "supplies_and_sundries", + complexity: 0, + }, + supplies_board_games: { + type: "supplies_and_sundries", + complexity: 0, + }, + supplies_alchemists_tools: { + type: "supplies_and_sundries", + complexity: 0, + }, + supplies_encyclopeida: { + type: "supplies_and_sundries", + complexity: 0, + }, + supplies_spyglass: { + type: "supplies_and_sundries", + complexity: 0, + }, + supplies_coded_letters: { + type: "supplies_and_sundries", + complexity: 0, + }, + supplies_horse: { + type: "supplies_and_sundries", + complexity: 0, + }, + oddities_seashell_horn: { + type: "oddities_and_valuables", + complexity: 0, + }, + oddities_dead_donkey: { + type: "oddities_and_valuables", + complexity: 0, + }, + oddities_ancient_ring: { + type: "oddities_and_valuables", + complexity: 0, + }, + oddities_songbird: { + type: "oddities_and_valuables", + complexity: 0, + }, + oddities_human_teeth: { + type: "oddities_and_valuables", + complexity: 0, + }, + oddities_hat: { + type: "oddities_and_valuables", + complexity: 0, + }, + oddities_monkey_head: { + type: "oddities_and_valuables", + complexity: 0, + }, + oddities_heavy_crown: { + type: "oddities_and_valuables", + complexity: 0, + }, + oddities_giant_serpent_scales: { + type: "oddities_and_valuables", + complexity: 0, + }, + oddities_silk_dress: { + type: "oddities_and_valuables", + complexity: 0, + }, + oddities_tyrant_pants: { + type: "oddities_and_valuables", + complexity: 0, + }, + oddities_shadow_mirror: { + type: "oddities_and_valuables", + complexity: 0, + }, + oddities_darkvision_glasses: { + type: "oddities_and_valuables", + complexity: 0, + }, + oddities_divine_blood: { + type: "oddities_and_valuables", + complexity: 0, + }, + oddities_seeds: { + type: "oddities_and_valuables", + complexity: 0, + }, + oddities_potion_brawn: { + type: "oddities_and_valuables", + complexity: 0, + }, + oddities_troll_flesh: { + type: "oddities_and_valuables", + complexity: 0, + }, + oddities_telepathic_yak: { + type: "oddities_and_valuables", + complexity: 0, + }, + spells_trinket: { + type: "spells_and_techniques", + complexity: 0, + }, + spells_trick_of_the_light: { + type: "spells_and_techniques", + complexity: 0, + }, + spells_soundshift: { + type: "spells_and_techniques", + complexity: 0, + }, + spells_lifebringer: { + type: "spells_and_techniques", + complexity: 0, + }, + spells_whisper: { + type: "spells_and_techniques", + complexity: 0, + }, + spells_bind_weapon: { + type: "spells_and_techniques", + complexity: 0, + }, + spells_unmask_the_self: { + type: "spells_and_techniques", + complexity: 0, + }, + spells_secret_door: { + type: "spells_and_techniques", + complexity: 0, + }, + spells_burn_the_past: { + type: "spells_and_techniques", + complexity: 0, + }, + spells_master_of_elements: { + type: "spells_and_techniques", + complexity: 0, + }, + spells_little_escapologist: { + type: "spells_and_techniques", + complexity: 0, + }, + spells_pierce_the_veil: { + type: "spells_and_techniques", + complexity: 0, + }, + spells_manic_hands: { + type: "spells_and_techniques", + complexity: 0, + }, + spells_shadowbind: { + type: "spells_and_techniques", + complexity: 0, + }, + spells_compel: { + type: "spells_and_techniques", + complexity: 0, + }, + spells_windstep: { + type: "spells_and_techniques", + complexity: 0, + }, + spells_blackout: { + type: "spells_and_techniques", + complexity: 0, + }, + spells_spirit_pact: { + type: "spells_and_techniques", + complexity: 0, + }, + spells_from_dust_to_dust: { + type: "spells_and_techniques", + complexity: 0, + }, + spells_true_miracle: { + type: "spells_and_techniques", + complexity: 0, + }, + techniques_only_ones_who_know: { + type: "spells_and_techniques", + complexity: 0, + }, + techniques_uncanny_alarm: { + type: "spells_and_techniques", + complexity: 0, + }, + techniques_weave_through_water: { + type: "spells_and_techniques", + complexity: 0, + }, + techniques_memory_seed: { + type: "spells_and_techniques", + complexity: 0, + }, + techniques_flowmotion: { + type: "spells_and_techniques", + complexity: 0, + }, + techniques_saving_grace: { + type: "spells_and_techniques", + complexity: 0, + }, + techniques_inspiration: { + type: "spells_and_techniques", + complexity: 0, + }, + techniques_bind_magic: { + type: "spells_and_techniques", + complexity: 0, + }, + techniques_stonewall: { + type: "spells_and_techniques", + complexity: 0, + }, + techniques_heartpiercer: { + type: "spells_and_techniques", + complexity: 0, + }, + techniques_deadly_focus: { + type: "spells_and_techniques", + complexity: 0, + }, + techniques_redo: { + type: "spells_and_techniques", + complexity: 0, + }, + techniques_turn_the_tide: { + type: "spells_and_techniques", + complexity: 0, + }, + techniques_dispel: { + type: "spells_and_techniques", + complexity: 0, + }, + techniques_interdiction: { + type: "spells_and_techniques", + complexity: 0, + }, + techniques_fluorescent_transcendence: { + type: "spells_and_techniques", + complexity: 0, + }, + techniques_netherwave: { + type: "spells_and_techniques", + complexity: 0, + }, + techniques_become_one: { + type: "spells_and_techniques", + complexity: 0, + }, + techniques_defy_the_fates: { + type: "spells_and_techniques", + complexity: 0, + }, + techniques_doompause: { + type: "spells_and_techniques", + complexity: 0, + }, +}; diff --git a/ARC/src/js/sheetworkers.js b/ARC/src/js/sheetworkers.js new file mode 100644 index 0000000000..c2afaabb87 --- /dev/null +++ b/ARC/src/js/sheetworkers.js @@ -0,0 +1,81 @@ +// thank you Scott C! +const initiateSkillRoll = async function (event) { + let skill = event.triggerName.replace(/clicked:/, ""); + + // figure out which approach to use -- so ask + let approachRoll = await startRoll(`!&template:default} {{query=${GLOBAL__APPROACH_QUERY}}}`); + // note that values for the query options above line up with their indexes in GLOBAL__APPROACHES + // also, this is an API message: it won't be visible to any user + // because it's so generic, it shouldn't trigger any API scripts + + // finish approachRoll immediately vecause we aren't going to computee + // any values from it -- it's just a dummy roll + finishRoll(approachRoll.rollId); + + // same song for difficulty + let difficultyRoll = await startRoll(`!&template:default} {{query=${GLOBAL__DIFFICULTY_QUERY}}}`); + finishRoll(difficultyRoll.rollId); + + // parse the results + let approachValue = approachRoll.results.query.result; + let approach = GLOBAL__APPROACHES[approachValue]; + + let difficultyValue = difficultyRoll.results.query.result; + let difficulty = GLOBAL__DIFFICULTIES[difficultyValue]; + + let i18nApproach = getTranslationByKey(approach); + let i18nSkill = getTranslationByKey(skill); + let i18nDifficulty = getTranslationByKey("difficulty"); + let i18nModifier = getTranslationByKey("modifier"); + let finalTemplate = [ + `&{template:skills}`, + `{{character_name=@{character_name}}}`, + `{{verb=^{tests}}}`, + `{{type=skill-test}}`, + `{{skill=${skill}}}`, + `{{roll=[[1d6]]}}`, + `{{flawless=[[1d6]]}}`, + `{{flawless=[[1d6]]}}`, + `{{TN=[[@{${skill}}[${i18nSkill}] + @{${approach}}[${i18nApproach}] +`, + `${GLOBAL__DIFFICULTY_EFFECTS[difficulty]}[${i18nModifier}]]]}}`, + `{{title=${approach}}}`, + `{{difficulty=${difficulty}}}` + ].join(""); + + // now that we have all the helprmation, make the roll + let finalRoll = await startRoll(finalTemplate); + finishRoll(finalRoll.rollId); +}; + +// Functions added for code to make sense, not needed for getting regular and repeating sections. +// converts a value to a number, it's default value, or 0. +const value = function(val, def) { + return (+val||def||0); +}; + +// ===== PARAMETERS ========== +// destinations : the name of the attribute that stores the total quantity +// can be a single attribute, or an array: ["total_cost", "total_weight"] +// If more than one, the matching fields must be in the same order. +// +// section : name of repeating fieldset, without the repeating_ +// +// fields : the name of the attribute field to be summed +// destination and fields both can be a single attribute: "weight" +// or an array of attributes: ["weight","number","equipped"] +const repeatingSum = (destinations, section, fields) => { + if (!Array.isArray(destinations)) destinations = [destinations.replace(/\s/g, "").split(",")]; + if (!Array.isArray(fields)) fields = [fields.replace(/\s/g, "").split(",")]; + getSectionIDs(`repeating_${section}`, idArray => { + const attrArray = idArray.reduce((m, id) => [...m, ...(fields.map(field => `repeating_${section}_${id}_${field}`))], []); + getAttrs([...attrArray], v => { + const getValue = (section, id, field) => v[`repeating_${section}_${id}_${field}`] === "on" ? 1 : parseFloat(v[`repeating_${section}_${id}_${field}`]) || 0; + const commonMultipliers = (fields.length <= destinations.length) ? [] : fields.splice(destinations.length, fields.length - destinations.length); + const output = {}; + destinations.forEach((destination, index) => { + output[destination] = idArray.reduce((total, id) => total + getValue(section, id, fields[index]) * commonMultipliers.reduce((subtotal, mult) => subtotal * getValue(section, id, mult), 1), 0); + }); + setAttrs(output); + }); + }); +}; diff --git a/ARC/src/package-lock.json b/ARC/src/package-lock.json new file mode 100644 index 0000000000..770a6c62ff --- /dev/null +++ b/ARC/src/package-lock.json @@ -0,0 +1,8822 @@ +{ + "name": "arc", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "arc", + "version": "1.0.0", + "funding": [ + { + "type": "patreon", + "url": "https://www.patreon.com/morgdalaine" + }, + { + "type": "ko-fi", + "url": "https://ko-fi.com/morgdalaine" + } + ], + "license": "MIT", + "devDependencies": { + "gulp": "4.0.2", + "gulp-pug": "5.0.0", + "gulp-sass": "5.0.0", + "pug": "3.0.2", + "sass": "1.37.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.16.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz", + "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz", + "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.15.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "dev": true, + "dependencies": { + "ansi-wrap": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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/ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/append-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", + "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", + "dev": true, + "dependencies": { + "buffer-equal": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-filter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", + "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", + "dev": true, + "dependencies": { + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", + "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", + "dev": true, + "dependencies": { + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-initial": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", + "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", + "dev": true, + "dependencies": { + "array-slice": "^1.0.0", + "is-number": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-initial/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-last": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", + "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", + "dev": true, + "dependencies": { + "is-number": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-last/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-sort": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", + "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", + "dev": true, + "dependencies": { + "default-compare": "^1.0.0", + "get-value": "^2.0.6", + "kind-of": "^5.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "node_modules/assert-never": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz", + "integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==", + "dev": true + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async-done": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.2", + "process-nextick-args": "^2.0.0", + "stream-exhaust": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "node_modules/async-settle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", + "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", + "dev": true, + "dependencies": { + "async-done": "^1.2.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/babel-walk": { + "version": "3.0.0-canary-5", + "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz", + "integrity": "sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.9.6" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/bach": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", + "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", + "dev": true, + "dependencies": { + "arr-filter": "^1.1.1", + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "array-each": "^1.0.0", + "array-initial": "^1.0.0", + "array-last": "^1.1.1", + "async-done": "^1.2.2", + "async-settle": "^1.0.0", + "now-and-later": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "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/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bl": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz", + "integrity": "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==", + "dev": true, + "dependencies": { + "readable-stream": "^3.0.1" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "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/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/buffer-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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/camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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/character-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", + "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=", + "dev": true, + "dependencies": { + "is-regex": "^1.0.3" + } + }, + "node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.", + "dev": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "node_modules/cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collection-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", + "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", + "dev": true, + "dependencies": { + "arr-map": "^2.0.2", + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/constantinople": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz", + "integrity": "sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.1" + } + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copy-props": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz", + "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==", + "dev": true, + "dependencies": { + "each-props": "^1.3.2", + "is-plain-object": "^5.0.0" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/default-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", + "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", + "dev": true, + "dependencies": { + "kind-of": "^5.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-resolution": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", + "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/doctypes": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", + "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=", + "dev": true + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/each-props": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", + "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.1", + "object.defaults": "^1.1.0" + } + }, + "node_modules/each-props/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dev": true, + "dependencies": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ext": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", + "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", + "dev": true, + "dependencies": { + "type": "^2.5.0" + } + }, + "node_modules/ext/node_modules/type": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", + "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==", + "dev": true + }, + "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/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "dev": true, + "dependencies": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fast-levenshtein": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz", + "integrity": "sha1-5qdUzI8V5YmHqpy9J69m/W9OWvk=", + "dev": true + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fined/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs-mkdirp-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", + "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fs-mkdirp-stream/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "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-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, + "engines": { + "node": ">=0.10.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-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "dev": true, + "dependencies": { + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/glob-watcher": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz", + "integrity": "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==", + "dev": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-done": "^1.2.0", + "chokidar": "^2.0.0", + "is-negated-glob": "^1.0.0", + "just-debounce": "^1.0.0", + "normalize-path": "^3.0.0", + "object.defaults": "^1.1.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glogg": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", + "dev": true, + "dependencies": { + "sparkles": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "dev": true + }, + "node_modules/gulp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", + "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", + "dev": true, + "dependencies": { + "glob-watcher": "^5.0.3", + "gulp-cli": "^2.2.0", + "undertaker": "^1.2.1", + "vinyl-fs": "^3.0.0" + }, + "bin": { + "gulp": "bin/gulp.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gulp-cli": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz", + "integrity": "sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==", + "dev": true, + "dependencies": { + "ansi-colors": "^1.0.1", + "archy": "^1.0.0", + "array-sort": "^1.0.0", + "color-support": "^1.1.3", + "concat-stream": "^1.6.0", + "copy-props": "^2.0.1", + "fancy-log": "^1.3.2", + "gulplog": "^1.0.0", + "interpret": "^1.4.0", + "isobject": "^3.0.1", + "liftoff": "^3.1.0", + "matchdep": "^2.0.0", + "mute-stdout": "^1.0.0", + "pretty-hrtime": "^1.0.0", + "replace-homedir": "^1.0.0", + "semver-greatest-satisfied-range": "^1.1.0", + "v8flags": "^3.2.0", + "yargs": "^7.1.0" + }, + "bin": { + "gulp": "bin/gulp.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gulp-pug": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/gulp-pug/-/gulp-pug-5.0.0.tgz", + "integrity": "sha512-NPnuj9hw35s78X/6Ho0vieKT/ipa0rh8cEAq3R4RWybZ7XEFPNez0O6kcxJipOLp3U6gjglsU1yiAR28bkuFkA==", + "dev": true, + "dependencies": { + "fancy-log": "^1.3.3", + "plugin-error": "^1.0.1", + "pug": "^3.0.2", + "replace-ext": "^2.0.0", + "through2": "^4.0.2", + "vinyl-contents": "^1.0.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/gulp-sass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-5.0.0.tgz", + "integrity": "sha512-J0aH0/2N4+2szGCeut0ktGHK0Wg8L9uWivuigrl7xv+nhxozBQRAKLrhnDDaTa3FeUWYtgT8w4RlgdhRy5v16w==", + "dev": true, + "dependencies": { + "chalk": "^4.1.1", + "lodash": "^4.17.20", + "plugin-error": "^1.0.1", + "replace-ext": "^2.0.0", + "strip-ansi": "^6.0.0", + "transfob": "^1.0.0", + "vinyl-sourcemaps-apply": "^0.2.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "dependencies": { + "glogg": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "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": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "dependencies": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", + "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-expression": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz", + "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "object-assign": "^4.1.1" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negated-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "dependencies": { + "is-unc-path": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "dependencies": { + "unc-path-regex": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "node_modules/is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/js-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", + "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/jstransformer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", + "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", + "dev": true, + "dependencies": { + "is-promise": "^2.0.0", + "promise": "^7.0.1" + } + }, + "node_modules/just-debounce": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", + "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==", + "dev": true + }, + "node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/last-run": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", + "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", + "dev": true, + "dependencies": { + "default-resolution": "^2.0.0", + "es6-weak-map": "^2.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "dependencies": { + "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lead": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", + "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", + "dev": true, + "dependencies": { + "flush-write-stream": "^1.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/liftoff": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", + "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", + "dev": true, + "dependencies": { + "extend": "^3.0.0", + "findup-sync": "^3.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/liftoff/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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/make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/make-iterator/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/matchdep": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", + "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=", + "dev": true, + "dependencies": { + "findup-sync": "^2.0.0", + "micromatch": "^3.0.4", + "resolve": "^1.4.0", + "stack-trace": "0.0.10" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/matchdep/node_modules/findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/matchdep/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/mute-stdout": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", + "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", + "dev": true, + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/now-and-later": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", + "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", + "dev": true, + "dependencies": { + "once": "^1.3.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "dev": true, + "dependencies": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "dev": true, + "dependencies": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.reduce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", + "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=", + "dev": true, + "dependencies": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/ordered-read-streams": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", + "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.1" + } + }, + "node_modules/os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "dependencies": { + "lcid": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "dev": true, + "dependencies": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "dependencies": { + "path-root-regex": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/plugin-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", + "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", + "dev": true, + "dependencies": { + "ansi-colors": "^1.0.1", + "arr-diff": "^4.0.0", + "arr-union": "^3.1.0", + "extend-shallow": "^3.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/plugin-error/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/plugin-error/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/plugin-error/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/pug": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz", + "integrity": "sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==", + "dev": true, + "dependencies": { + "pug-code-gen": "^3.0.2", + "pug-filters": "^4.0.0", + "pug-lexer": "^5.0.1", + "pug-linker": "^4.0.0", + "pug-load": "^3.0.0", + "pug-parser": "^6.0.0", + "pug-runtime": "^3.0.1", + "pug-strip-comments": "^2.0.0" + } + }, + "node_modules/pug-attrs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-3.0.0.tgz", + "integrity": "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==", + "dev": true, + "dependencies": { + "constantinople": "^4.0.1", + "js-stringify": "^1.0.2", + "pug-runtime": "^3.0.0" + } + }, + "node_modules/pug-code-gen": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.2.tgz", + "integrity": "sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==", + "dev": true, + "dependencies": { + "constantinople": "^4.0.1", + "doctypes": "^1.1.0", + "js-stringify": "^1.0.2", + "pug-attrs": "^3.0.0", + "pug-error": "^2.0.0", + "pug-runtime": "^3.0.0", + "void-elements": "^3.1.0", + "with": "^7.0.0" + } + }, + "node_modules/pug-error": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.0.0.tgz", + "integrity": "sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==", + "dev": true + }, + "node_modules/pug-filters": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-4.0.0.tgz", + "integrity": "sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==", + "dev": true, + "dependencies": { + "constantinople": "^4.0.1", + "jstransformer": "1.0.0", + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0", + "resolve": "^1.15.1" + } + }, + "node_modules/pug-lexer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz", + "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==", + "dev": true, + "dependencies": { + "character-parser": "^2.2.0", + "is-expression": "^4.0.0", + "pug-error": "^2.0.0" + } + }, + "node_modules/pug-linker": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-4.0.0.tgz", + "integrity": "sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==", + "dev": true, + "dependencies": { + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0" + } + }, + "node_modules/pug-load": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-3.0.0.tgz", + "integrity": "sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "pug-walk": "^2.0.0" + } + }, + "node_modules/pug-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-6.0.0.tgz", + "integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==", + "dev": true, + "dependencies": { + "pug-error": "^2.0.0", + "token-stream": "1.0.0" + } + }, + "node_modules/pug-runtime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz", + "integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==", + "dev": true + }, + "node_modules/pug-strip-comments": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz", + "integrity": "sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==", + "dev": true, + "dependencies": { + "pug-error": "^2.0.0" + } + }, + "node_modules/pug-walk": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-2.0.0.tgz", + "integrity": "sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==", + "dev": true + }, + "node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/remove-bom-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", + "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5", + "is-utf8": "^0.2.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/remove-bom-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", + "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=", + "dev": true, + "dependencies": { + "remove-bom-buffer": "^3.0.0", + "safe-buffer": "^5.1.0", + "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remove-bom-stream/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/replace-ext": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", + "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/replace-homedir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", + "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1", + "is-absolute": "^1.0.0", + "remove-trailing-separator": "^1.1.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-options": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", + "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=", + "dev": true, + "dependencies": { + "value-or-function": "^3.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/sass": { + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.37.0.tgz", + "integrity": "sha512-B+Tu6cSAG8ffs/cqsZl/bgSH2pCmavDaPTYAoW8QA1qNHh/RqndNfVKuABKYkLjUQ5aq/BnCENVpE80cqdSM1w==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/sass/node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/sass/node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/sass/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sass/node_modules/chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/sass/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sass/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/sass/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/sass/node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sass/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/sass/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/sass/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/semver-greatest-satisfied-range": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", + "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=", + "dev": true, + "dependencies": { + "sver-compat": "^1.5.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "node_modules/sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "dev": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stream-exhaust": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", + "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", + "dev": true + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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/sver-compat": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", + "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=", + "dev": true, + "dependencies": { + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/through2-filter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", + "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", + "dev": true, + "dependencies": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + } + }, + "node_modules/through2-filter/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-absolute-glob": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", + "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", + "dev": true, + "dependencies": { + "is-absolute": "^1.0.0", + "is-negated-glob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-through": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", + "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=", + "dev": true, + "dependencies": { + "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/to-through/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/token-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-1.0.0.tgz", + "integrity": "sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=", + "dev": true + }, + "node_modules/transfob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/transfob/-/transfob-1.0.0.tgz", + "integrity": "sha1-x/wnpbVDCtSGJnrmZtkj90oKsyA=", + "dev": true + }, + "node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "node_modules/unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/undertaker": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz", + "integrity": "sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "bach": "^1.0.0", + "collection-map": "^1.0.0", + "es6-weak-map": "^2.0.1", + "fast-levenshtein": "^1.0.0", + "last-run": "^1.1.0", + "object.defaults": "^1.0.0", + "object.reduce": "^1.0.0", + "undertaker-registry": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/undertaker-registry": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", + "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unique-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", + "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", + "dev": true, + "dependencies": { + "json-stable-stringify-without-jsonify": "^1.0.1", + "through2-filter": "^3.0.0" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/v8flags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/value-or-function": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", + "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dev": true, + "dependencies": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-contents": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/vinyl-contents/-/vinyl-contents-1.0.0.tgz", + "integrity": "sha512-xBH8ZUy8IK7K06eCBmd2GGjdf1EqNEGPNfRP2VsrCvSvsOggywGCGZg435WZiG/kcyCdXc1CZXCf4pUJ2EuEsg==", + "dev": true, + "dependencies": { + "bl": "^3.0.0", + "readable-stream": "^3.3.0", + "vinyl": "^2.2.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/vinyl-contents/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/vinyl-fs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", + "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", + "dev": true, + "dependencies": { + "fs-mkdirp-stream": "^1.0.0", + "glob-stream": "^6.1.0", + "graceful-fs": "^4.0.0", + "is-valid-glob": "^1.0.0", + "lazystream": "^1.0.0", + "lead": "^1.0.0", + "object.assign": "^4.0.4", + "pumpify": "^1.3.5", + "readable-stream": "^2.3.3", + "remove-bom-buffer": "^3.0.0", + "remove-bom-stream": "^1.2.0", + "resolve-options": "^1.1.0", + "through2": "^2.0.0", + "to-through": "^2.0.0", + "value-or-function": "^3.0.0", + "vinyl": "^2.0.0", + "vinyl-sourcemap": "^1.1.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-fs/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/vinyl-sourcemap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", + "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=", + "dev": true, + "dependencies": { + "append-buffer": "^1.0.2", + "convert-source-map": "^1.5.0", + "graceful-fs": "^4.1.6", + "normalize-path": "^2.1.1", + "now-and-later": "^2.0.0", + "remove-bom-buffer": "^3.0.0", + "vinyl": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-sourcemap/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vinyl-sourcemaps-apply": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", + "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", + "dev": true, + "dependencies": { + "source-map": "^0.5.1" + } + }, + "node_modules/vinyl/node_modules/replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "node_modules/with": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz", + "integrity": "sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.9.6", + "@babel/types": "^7.9.6", + "assert-never": "^1.2.1", + "babel-walk": "3.0.0-canary-5" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "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==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "dev": true + }, + "node_modules/yargs": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz", + "integrity": "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==", + "dev": true, + "dependencies": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.1" + } + }, + "node_modules/yargs-parser": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz", + "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", + "dev": true, + "dependencies": { + "camelcase": "^3.0.0", + "object.assign": "^4.1.0" + } + } + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "dev": true + }, + "@babel/parser": { + "version": "7.16.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz", + "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==", + "dev": true + }, + "@babel/types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz", + "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.15.7", + "to-fast-properties": "^2.0.0" + } + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "dev": true, + "requires": { + "ansi-wrap": "^0.1.0" + } + }, + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "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" + } + }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "append-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", + "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", + "dev": true, + "requires": { + "buffer-equal": "^1.0.0" + } + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-filter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", + "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", + "dev": true, + "requires": { + "make-iterator": "^1.0.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", + "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", + "dev": true, + "requires": { + "make-iterator": "^1.0.0" + } + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "dev": true + }, + "array-initial": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", + "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", + "dev": true, + "requires": { + "array-slice": "^1.0.0", + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "array-last": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", + "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", + "dev": true, + "requires": { + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true + }, + "array-sort": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", + "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", + "dev": true, + "requires": { + "default-compare": "^1.0.0", + "get-value": "^2.0.6", + "kind-of": "^5.0.2" + } + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "assert-never": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz", + "integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "async-done": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.2", + "process-nextick-args": "^2.0.0", + "stream-exhaust": "^1.0.1" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "async-settle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", + "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", + "dev": true, + "requires": { + "async-done": "^1.2.2" + } + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "babel-walk": { + "version": "3.0.0-canary-5", + "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz", + "integrity": "sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==", + "dev": true, + "requires": { + "@babel/types": "^7.9.6" + } + }, + "bach": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", + "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", + "dev": true, + "requires": { + "arr-filter": "^1.1.1", + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "array-each": "^1.0.0", + "array-initial": "^1.0.0", + "array-last": "^1.1.1", + "async-done": "^1.2.2", + "async-settle": "^1.0.0", + "now-and-later": "^2.0.0" + } + }, + "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 + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bl": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/bl/-/bl-3.0.1.tgz", + "integrity": "sha512-jrCW5ZhfQ/Vt07WX1Ngs+yn9BDqPL/gw28S7s9H6QK/gupnizNzJAss5akW20ISgOrbLTlXOOCTJeNUQqruAWQ==", + "dev": true, + "requires": { + "readable-stream": "^3.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "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" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + } + }, + "buffer-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", + "dev": true + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "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" + } + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "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" + } + }, + "character-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", + "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=", + "dev": true, + "requires": { + "is-regex": "^1.0.3" + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + } + } + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "dev": true + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "collection-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", + "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", + "dev": true, + "requires": { + "arr-map": "^2.0.2", + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.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 + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "constantinople": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz", + "integrity": "sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==", + "dev": true, + "requires": { + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.1" + } + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-props": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz", + "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==", + "dev": true, + "requires": { + "each-props": "^1.3.2", + "is-plain-object": "^5.0.0" + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "default-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", + "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", + "dev": true, + "requires": { + "kind-of": "^5.0.2" + } + }, + "default-resolution": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", + "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "doctypes": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", + "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "each-props": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", + "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.1", + "object.defaults": "^1.1.0" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "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" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dev": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "ext": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", + "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", + "dev": true, + "requires": { + "type": "^2.5.0" + }, + "dependencies": { + "type": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", + "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "dev": true, + "requires": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + } + }, + "fast-levenshtein": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz", + "integrity": "sha1-5qdUzI8V5YmHqpy9J69m/W9OWvk=", + "dev": true + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs-mkdirp-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", + "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "through2": "^2.0.3" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "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-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "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" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "dev": true, + "requires": { + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" + } + }, + "glob-watcher": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz", + "integrity": "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-done": "^1.2.0", + "chokidar": "^2.0.0", + "is-negated-glob": "^1.0.0", + "just-debounce": "^1.0.0", + "normalize-path": "^3.0.0", + "object.defaults": "^1.1.0" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "glogg": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "dev": true + }, + "gulp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", + "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", + "dev": true, + "requires": { + "glob-watcher": "^5.0.3", + "gulp-cli": "^2.2.0", + "undertaker": "^1.2.1", + "vinyl-fs": "^3.0.0" + } + }, + "gulp-cli": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz", + "integrity": "sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==", + "dev": true, + "requires": { + "ansi-colors": "^1.0.1", + "archy": "^1.0.0", + "array-sort": "^1.0.0", + "color-support": "^1.1.3", + "concat-stream": "^1.6.0", + "copy-props": "^2.0.1", + "fancy-log": "^1.3.2", + "gulplog": "^1.0.0", + "interpret": "^1.4.0", + "isobject": "^3.0.1", + "liftoff": "^3.1.0", + "matchdep": "^2.0.0", + "mute-stdout": "^1.0.0", + "pretty-hrtime": "^1.0.0", + "replace-homedir": "^1.0.0", + "semver-greatest-satisfied-range": "^1.1.0", + "v8flags": "^3.2.0", + "yargs": "^7.1.0" + } + }, + "gulp-pug": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/gulp-pug/-/gulp-pug-5.0.0.tgz", + "integrity": "sha512-NPnuj9hw35s78X/6Ho0vieKT/ipa0rh8cEAq3R4RWybZ7XEFPNez0O6kcxJipOLp3U6gjglsU1yiAR28bkuFkA==", + "dev": true, + "requires": { + "fancy-log": "^1.3.3", + "plugin-error": "^1.0.1", + "pug": "^3.0.2", + "replace-ext": "^2.0.0", + "through2": "^4.0.2", + "vinyl-contents": "^1.0.0" + } + }, + "gulp-sass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-5.0.0.tgz", + "integrity": "sha512-J0aH0/2N4+2szGCeut0ktGHK0Wg8L9uWivuigrl7xv+nhxozBQRAKLrhnDDaTa3FeUWYtgT8w4RlgdhRy5v16w==", + "dev": true, + "requires": { + "chalk": "^4.1.1", + "lodash": "^4.17.20", + "plugin-error": "^1.0.1", + "replace-ext": "^2.0.0", + "strip-ansi": "^6.0.0", + "transfob": "^1.0.0", + "vinyl-sourcemaps-apply": "^0.2.1" + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "^1.0.0" + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "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": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-core-module": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", + "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "is-expression": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz", + "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "object-assign": "^4.1.1" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negated-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + }, + "is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "js-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", + "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "jstransformer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", + "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", + "dev": true, + "requires": { + "is-promise": "^2.0.0", + "promise": "^7.0.1" + } + }, + "just-debounce": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", + "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, + "last-run": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", + "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", + "dev": true, + "requires": { + "default-resolution": "^2.0.0", + "es6-weak-map": "^2.0.1" + } + }, + "lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "dev": true, + "requires": { + "readable-stream": "^2.0.5" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "lead": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", + "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", + "dev": true, + "requires": { + "flush-write-stream": "^1.0.2" + } + }, + "liftoff": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", + "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", + "dev": true, + "requires": { + "extend": "^3.0.0", + "findup-sync": "^3.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "matchdep": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", + "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=", + "dev": true, + "requires": { + "findup-sync": "^2.0.0", + "micromatch": "^3.0.4", + "resolve": "^1.4.0", + "stack-trace": "0.0.10" + }, + "dependencies": { + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "mute-stdout": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", + "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==", + "dev": true + }, + "nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "now-and-later": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", + "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", + "dev": true, + "requires": { + "once": "^1.3.2" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "dev": true, + "requires": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.reduce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", + "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "ordered-read-streams": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", + "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.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": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "plugin-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", + "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", + "dev": true, + "requires": { + "ansi-colors": "^1.0.1", + "arr-diff": "^4.0.0", + "arr-union": "^3.1.0", + "extend-shallow": "^3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "requires": { + "asap": "~2.0.3" + } + }, + "pug": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz", + "integrity": "sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==", + "dev": true, + "requires": { + "pug-code-gen": "^3.0.2", + "pug-filters": "^4.0.0", + "pug-lexer": "^5.0.1", + "pug-linker": "^4.0.0", + "pug-load": "^3.0.0", + "pug-parser": "^6.0.0", + "pug-runtime": "^3.0.1", + "pug-strip-comments": "^2.0.0" + } + }, + "pug-attrs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-3.0.0.tgz", + "integrity": "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==", + "dev": true, + "requires": { + "constantinople": "^4.0.1", + "js-stringify": "^1.0.2", + "pug-runtime": "^3.0.0" + } + }, + "pug-code-gen": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.2.tgz", + "integrity": "sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==", + "dev": true, + "requires": { + "constantinople": "^4.0.1", + "doctypes": "^1.1.0", + "js-stringify": "^1.0.2", + "pug-attrs": "^3.0.0", + "pug-error": "^2.0.0", + "pug-runtime": "^3.0.0", + "void-elements": "^3.1.0", + "with": "^7.0.0" + } + }, + "pug-error": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.0.0.tgz", + "integrity": "sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==", + "dev": true + }, + "pug-filters": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-4.0.0.tgz", + "integrity": "sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==", + "dev": true, + "requires": { + "constantinople": "^4.0.1", + "jstransformer": "1.0.0", + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0", + "resolve": "^1.15.1" + } + }, + "pug-lexer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz", + "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==", + "dev": true, + "requires": { + "character-parser": "^2.2.0", + "is-expression": "^4.0.0", + "pug-error": "^2.0.0" + } + }, + "pug-linker": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-4.0.0.tgz", + "integrity": "sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==", + "dev": true, + "requires": { + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0" + } + }, + "pug-load": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-3.0.0.tgz", + "integrity": "sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "pug-walk": "^2.0.0" + } + }, + "pug-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-6.0.0.tgz", + "integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==", + "dev": true, + "requires": { + "pug-error": "^2.0.0", + "token-stream": "1.0.0" + } + }, + "pug-runtime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz", + "integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==", + "dev": true + }, + "pug-strip-comments": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz", + "integrity": "sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==", + "dev": true, + "requires": { + "pug-error": "^2.0.0" + } + }, + "pug-walk": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-2.0.0.tgz", + "integrity": "sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==", + "dev": true + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "remove-bom-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", + "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5", + "is-utf8": "^0.2.1" + } + }, + "remove-bom-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", + "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=", + "dev": true, + "requires": { + "remove-bom-buffer": "^3.0.0", + "safe-buffer": "^5.1.0", + "through2": "^2.0.3" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "replace-ext": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", + "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==", + "dev": true + }, + "replace-homedir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", + "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1", + "is-absolute": "^1.0.0", + "remove-trailing-separator": "^1.1.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-options": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", + "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=", + "dev": true, + "requires": { + "value-or-function": "^3.0.0" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "sass": { + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.37.0.tgz", + "integrity": "sha512-B+Tu6cSAG8ffs/cqsZl/bgSH2pCmavDaPTYAoW8QA1qNHh/RqndNfVKuABKYkLjUQ5aq/BnCENVpE80cqdSM1w==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0" + }, + "dependencies": { + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "semver-greatest-satisfied-range": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", + "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=", + "dev": true, + "requires": { + "sver-compat": "^1.5.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + } + } + }, + "stream-exhaust": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", + "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", + "dev": true + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "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-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "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" + } + }, + "sver-compat": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", + "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=", + "dev": true, + "requires": { + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "requires": { + "readable-stream": "3" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "through2-filter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", + "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", + "dev": true, + "requires": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "dev": true + }, + "to-absolute-glob": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", + "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "is-negated-glob": "^1.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "to-through": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", + "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=", + "dev": true, + "requires": { + "through2": "^2.0.3" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "token-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-1.0.0.tgz", + "integrity": "sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=", + "dev": true + }, + "transfob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/transfob/-/transfob-1.0.0.tgz", + "integrity": "sha1-x/wnpbVDCtSGJnrmZtkj90oKsyA=", + "dev": true + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true + }, + "undertaker": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz", + "integrity": "sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "bach": "^1.0.0", + "collection-map": "^1.0.0", + "es6-weak-map": "^2.0.1", + "fast-levenshtein": "^1.0.0", + "last-run": "^1.1.0", + "object.defaults": "^1.0.0", + "object.reduce": "^1.0.0", + "undertaker-registry": "^1.0.0" + } + }, + "undertaker-registry": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", + "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unique-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", + "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", + "dev": true, + "requires": { + "json-stable-stringify-without-jsonify": "^1.0.1", + "through2-filter": "^3.0.0" + } + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "v8flags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "value-or-function": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", + "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=", + "dev": true + }, + "vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dev": true, + "requires": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + }, + "dependencies": { + "replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true + } + } + }, + "vinyl-contents": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/vinyl-contents/-/vinyl-contents-1.0.0.tgz", + "integrity": "sha512-xBH8ZUy8IK7K06eCBmd2GGjdf1EqNEGPNfRP2VsrCvSvsOggywGCGZg435WZiG/kcyCdXc1CZXCf4pUJ2EuEsg==", + "dev": true, + "requires": { + "bl": "^3.0.0", + "readable-stream": "^3.3.0", + "vinyl": "^2.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "vinyl-fs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", + "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", + "dev": true, + "requires": { + "fs-mkdirp-stream": "^1.0.0", + "glob-stream": "^6.1.0", + "graceful-fs": "^4.0.0", + "is-valid-glob": "^1.0.0", + "lazystream": "^1.0.0", + "lead": "^1.0.0", + "object.assign": "^4.0.4", + "pumpify": "^1.3.5", + "readable-stream": "^2.3.3", + "remove-bom-buffer": "^3.0.0", + "remove-bom-stream": "^1.2.0", + "resolve-options": "^1.1.0", + "through2": "^2.0.0", + "to-through": "^2.0.0", + "value-or-function": "^3.0.0", + "vinyl": "^2.0.0", + "vinyl-sourcemap": "^1.1.0" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "vinyl-sourcemap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", + "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=", + "dev": true, + "requires": { + "append-buffer": "^1.0.2", + "convert-source-map": "^1.5.0", + "graceful-fs": "^4.1.6", + "normalize-path": "^2.1.1", + "now-and-later": "^2.0.0", + "remove-bom-buffer": "^3.0.0", + "vinyl": "^2.0.0" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "vinyl-sourcemaps-apply": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", + "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", + "dev": true, + "requires": { + "source-map": "^0.5.1" + } + }, + "void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "with": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz", + "integrity": "sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==", + "dev": true, + "requires": { + "@babel/parser": "^7.9.6", + "@babel/types": "^7.9.6", + "assert-never": "^1.2.1", + "babel-walk": "3.0.0-canary-5" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "dev": true + }, + "yargs": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz", + "integrity": "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.1" + } + }, + "yargs-parser": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz", + "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "object.assign": "^4.1.0" + } + } + } +} diff --git a/ARC/src/package.json b/ARC/src/package.json new file mode 100644 index 0000000000..9efaefc1f8 --- /dev/null +++ b/ARC/src/package.json @@ -0,0 +1,37 @@ +{ + "name": "arc", + "version": "1.0.0", + "description": "Roll20 character sheet for ARC: Doom Tabletop RPG", + "main": "arc.html", + "scripts": { + "build": "gulp build", + "watch": "gulp watch" + }, + "author": "Morgdalaine", + "funding": [ + { + "type": "patreon", + "url": "https://www.patreon.com/morgdalaine" + }, + { + "type": "ko-fi", + "url": "https://ko-fi.com/morgdalaine" + } + ], + "repository": { + "type": "git", + "url": "https://github.com/morgdalaine/arc-doom-ttrpg", + "directory": "ARC/source" + }, + "keywords": [ + "Roll20" + ], + "license": "MIT", + "devDependencies": { + "gulp": "4.0.2", + "gulp-pug": "5.0.0", + "gulp-sass": "5.0.0", + "pug": "3.0.2", + "sass": "1.37.0" + } +} diff --git a/ARC/src/pug/.DS_Store b/ARC/src/pug/.DS_Store new file mode 100644 index 0000000000..b2862eb70e Binary files /dev/null and b/ARC/src/pug/.DS_Store differ diff --git a/ARC/src/pug/arc.pug b/ARC/src/pug/arc.pug new file mode 100644 index 0000000000..2c49023b28 --- /dev/null +++ b/ARC/src/pug/arc.pug @@ -0,0 +1,34 @@ +include components/common/elements +include components/common/functions +include components/common/inputs +include components/common/popups +include components/approaches +include components/background +include components/bonds +include components/consequences +include components/experience +include components/header +include components/health +include components/inventory +include components/skills +include components/toolbar +include meta/data + +.arc + +hidden({ name: "version", value: "1.0" }) + +hidden({ name: "sheet_type", value: "character" }) + +hidden({ name: "setting_tooltips", value: 1 }) + +toolbar + +header + main.arc__layout + +hidden({ name: "sheet_type" }) + include layouts/character + +//- Roll Templates +include layouts/roll-template + +//- Sheet Workers +script(type="text/worker") + include ../js/globals.js + include ../js/sheetworkers.js + include ../js/eventhandlers.js diff --git a/ARC/src/pug/components/approaches.pug b/ARC/src/pug/components/approaches.pug new file mode 100644 index 0000000000..3956e411b5 --- /dev/null +++ b/ARC/src/pug/components/approaches.pug @@ -0,0 +1,18 @@ + +mixin approaches + article.approaches + each app in data.approaches + +approach(app) + +approach-popup(app) + +mixin approach(type) + +help(type) + section.approach + .approach__label + +span({ data_i18n: type }).approach__label--span + .approach__value + +number({ name: type, min: 0, max: 3 }).approach__value--input + +mixin approach-popup(type) + +popup({ name: type, title: "approach" }) + +span({ data_i18n: `${type}_description` }) diff --git a/ARC/src/pug/components/background.pug b/ARC/src/pug/components/background.pug new file mode 100644 index 0000000000..3fb0544015 --- /dev/null +++ b/ARC/src/pug/components/background.pug @@ -0,0 +1,18 @@ + +mixin background + article.background + section.background__differences + +label({ data_i18n: "makes_them_different", for: "different" }).background--label + +textarea({ name: "different", id: "different" }) + section.background__rumors + +label({ data_i18n: "three_rumors" }).background--label + fieldset.repeating_rumors + .background__rumors--wrapper + +textbox({ name: "rumor" }).background__rumors--input + section.background__lesson + +label({ data_i18n: "painful_lesson", for: "lesson" }).background--label + +textarea({ name: "lesson", id: "lesson" }) + //- section.portrait + //- +label({ data_i18n: "portrait" }).background--label + //- .portrait__image + //- +img({ name: "character_avatar" }).portrait__image--img diff --git a/ARC/src/pug/components/bonds.pug b/ARC/src/pug/components/bonds.pug new file mode 100644 index 0000000000..278014fa06 --- /dev/null +++ b/ARC/src/pug/components/bonds.pug @@ -0,0 +1,26 @@ + +mixin bonds + article.bonds + .bonds__header + +span({ data_i18n: "bonds" }).bonds__header--span + +help("bonds") + fieldset.repeating_bonds + +relationship + +popup({ name: "bonds", title: "bonds" }) + +span({ data_i18n: "bonds_description" }) + +mixin relationship + article.bond + .bond__with + +textbox({ name: "relationship", data_i18n_placeholder: "name_placeholder" }).bond__with--input + section.bond__levels + each lvl in range(3) + +bond-levels(lvl) + +mixin bond-levels(lvl) + .bond__container + .bond__major + +hidden({ name: `level_${lvl}`, value: 0 }).bond__control + +radio({ name: `level_${lvl}`, value: 0, checked: true }).bond__minor.reset + each minor in [4, 3, 2, 1] + +radio({ name: `level_${lvl}`, value: minor, title: minor }).bond__minor diff --git a/ARC/src/pug/components/common/elements.pug b/ARC/src/pug/components/common/elements.pug new file mode 100644 index 0000000000..0235759fee --- /dev/null +++ b/ARC/src/pug/components/common/elements.pug @@ -0,0 +1,92 @@ + +//- create [tag] with properties +//- [tag] is passed in the obj but removed to prevent adding it to the final html +//- [data_i18n] is shorthand for data-i18n +//- [data_i18n_title] allows for translated title on :hover +//- [name] is prepended with attr_ +//- [title] defaults to the attribute @{...} +//- [locals] adds text programmatically instead of writing it yourself +mixin tag(obj) + - const tag = obj.tag; + - obj = handleTag(obj); + #{tag}&attributes(obj)(class!=attributes.class)=locals[obj["data-i18n"]] + block + +mixin span(obj) + - obj.tag = "span"; + +tag(obj)&attributes(attributes) + block + +mixin label(obj) + - obj.tag = "label"; + +tag(obj)&attributes(attributes) + block + +mixin h1(obj) + - obj.tag = "h1"; + +tag(obj)&attributes(attributes) + block + +mixin h2(obj) + - obj.tag = "h2"; + +tag(obj)&attributes(attributes) + block + +mixin h3(obj) + - obj.tag = "h3"; + +tag(obj)&attributes(attributes) + block + +mixin h4(obj) + - obj.tag = "h4"; + +tag(obj)&attributes(attributes) + block + +mixin h5(obj) + - obj.tag = "h5"; + +tag(obj)&attributes(attributes) + block + +mixin img(obj) + - obj.tag = "img" + - obj.title = obj.src; + - obj.src = `${data.assets.folder}${data.assets[obj.src]}`; + +tag(obj)&attributes(attributes) + +mixin div(obj) + - obj.tag = "div"; + +tag(obj)&attributes(attributes) + block + +mixin section(obj) + - obj.tag = "section"; + +tag(obj)&attributes(attributes) + block + +mixin article(obj) + - obj.tag = "article"; + +tag(obj)&attributes(attributes) + block + +mixin button(obj) + if obj.type === "action" + - obj.name = `act_${obj.name}`; + else + - obj.type = "roll"; + - obj.title = obj.title || `%{${obj.name}}`; + - obj.name = `roll_${obj.name}`; + if !obj["data-i18n"] + - obj["data-i18n"] = obj.data_i18n ? obj.data_i18n : null; + - obj.data_i18n = null; + button&attributes(obj)(class!=attributes.class) + block + +mixin action(obj) + - obj.type = "action"; + +button(obj)&attributes(attributes) + block + +mixin roll(obj) + - obj.type = "roll"; + +button(obj)&attributes(attributes) + block diff --git a/ARC/src/pug/components/common/functions.pug b/ARC/src/pug/components/common/functions.pug new file mode 100644 index 0000000000..bb32ff7859 --- /dev/null +++ b/ARC/src/pug/components/common/functions.pug @@ -0,0 +1,64 @@ +- + const + range = (length) => [...Array(length).keys()].map(n => n + 1); + +//- handle input object transformation +- function handleInput(obj) { +- // only set default title for specific inputs +- if (obj.type !== "hidden" && obj.type !== "checkbox") { +- obj.title = obj.title || `@{${obj.name}}`; +- } +- // default number placeholder to 0 +- if (obj.type === "number") { +- obj.placeholder = obj.placeholder || 0; +- } +- // set data-i18n to value when unavailable +- if (obj.type === "select") { +- obj.data_i18n = obj.data_i18n || obj.value +- } +- // handle data-i18n-title and clear title +- if (obj.data_i18n_title) { +- obj["data-i18n-title"] = obj.data_i18n_title; +- obj.data_i18n_title = null; +- obj.title = null; +- } +- // handle data-i18n-placeholder +- if (obj.data_i18n_placeholder) { +- obj["data-i18n-placeholder"] = obj.data_i18n_placeholder; +- obj.data_i18n_placeholder = null; +- } +- obj.name = `attr_${obj.name}`; +- return obj; +- }; + +//- handle element object transformation +- function handleTag(obj) { +- obj.tag = null; +- // set default title for attributes +- if (obj.name) { +- obj.title = obj.title || `@{${obj.name}}`; +- obj.name = `attr_${obj.name}`; +- } +- // handle data-i18n-title and clear title +- if (obj.data_i18n_title) { +- obj["data-i18n-title"] = obj.data_i18n_title; +- obj.data_i18n_title = null; +- obj.title = null; +- } +- // handle data-i18n +- if (obj.data_i18n) { +- obj["data-i18n"] = obj.data_i18n; +- obj.data_i18n = null; +- } +- // handle data-i18n-vars +- if (obj.data_i18n_vars) { +- obj["data-i18n-vars"] = obj.data_i18n_vars; +- obj.data_i18n_vars = null; +- } +- // handle data-i18n-value +- if (obj.data_i18n_value) { +- obj["data-i18n-value"] = obj.data_i18n_value; +- obj.data_i18n_value = null; +- } +- return obj; +- } diff --git a/ARC/src/pug/components/common/inputs.pug b/ARC/src/pug/components/common/inputs.pug new file mode 100644 index 0000000000..488a44660f --- /dev/null +++ b/ARC/src/pug/components/common/inputs.pug @@ -0,0 +1,65 @@ + +//- base mixin for all inputs +//- [name] is prepended with attr_ +//- [title] defaults to the attribute @{...} +//- [id] is prepended with attr_ or left null to remove from html +//- the reference for calling it in chat and custom macros +//- (class!=attributes.class) allows you to pass classes with +input({}).class +mixin input(obj) + - obj = handleInput(obj); + input&attributes(obj)(class!=attributes.class) + +mixin checkbox(obj) + - obj.type = "checkbox"; + +input(obj)&attributes(obj)(class!=attributes.class) + +mixin radio(obj) + - obj.type = "radio"; + +input(obj)&attributes(obj)(class!=attributes.class) + +mixin textbox(obj) + - obj.type = "text"; + +input(obj)&attributes(obj)(class!=attributes.class) + +mixin number(obj) + - obj.type = "number"; + +input(obj)&attributes(obj)(class!=attributes.class) + +mixin textarea(obj) + - obj = handleInput(obj); + textarea&attributes(obj)(class!=attributes.class) + +mixin hidden(obj) + - obj.type = "hidden"; + +input(obj)&attributes(obj)(class!=attributes.class) + +mixin select(obj) + - obj = handleInput(obj); + select&attributes(obj)(class!=attributes.class) + if block + block + else + +option({ value: "empty select, pebkac", selected: true}) + +mixin option(obj) + - obj.tag = "option"; + - obj.data_i18n = obj.data_i18n || obj.value; + +tag(obj)&attributes(obj) + +mixin textarea(obj) + - obj = handleInput(obj); + textarea&attributes(obj)(class!=attributes.class spellcheck="false") + +mixin fill-in-radios(obj) + +div({ class: obj.class }).radio__ranks + +radio({ name: obj.name, value: 0, checked: true, class: obj.class }).radio__rank.reset + each x in range(obj.max) + +radio({ name: obj.name, value: x, class: obj.class }).radio__rank + +mixin alt-radios + .fill-in__container + .fill-in__major + +hidden({ name: `test`, value: 0 }).fill-in__control + +radio({ name: `test`, value: 0, checked: true }).fill-in__minor.reset + each minor in [4, 3, 2, 1] + +radio({ name: `test`, value: minor, title: minor }).fill-in__minor diff --git a/ARC/src/pug/components/common/popups.pug b/ARC/src/pug/components/common/popups.pug new file mode 100644 index 0000000000..72e4e6c271 --- /dev/null +++ b/ARC/src/pug/components/common/popups.pug @@ -0,0 +1,23 @@ + +mixin help(name) + +hidden({ name: "setting_tooltips" }).toggle-tooltip + div&attributes(attributes).help + +label({ }).help__label + - name = `show_${name}`; + +checkbox({ name }).help__label--input + +img({ src: "help" }).help__label--icon + +mixin popup(obj) + - obj.header = obj.header || obj.name; + - obj.name = `show_${obj.name}`; + +hidden({ name: obj.name, value: 0}).toggle-popup + article.popup(class!=attributes.class) + .popup__title + +span({ data_i18n: obj.title }).popup__title--span + label.popup__close + +checkbox({ name: obj.name }).popup__close--btn + +img({ src: "close" }).popup__close--symbol + .popup__header + +span({ data_i18n: obj.header }).popup__header--span + .popup__content + block diff --git a/ARC/src/pug/components/consequences.pug b/ARC/src/pug/components/consequences.pug new file mode 100644 index 0000000000..75ecca9f38 --- /dev/null +++ b/ARC/src/pug/components/consequences.pug @@ -0,0 +1,31 @@ + +mixin fallen-consequences + - + const roll__consequences = [ + `&{template:fallen}`, + `{{character_name=@{character_name}}}`, + `{{title=^{fallen_consequences}}}`, + `{{verb=^{chooses}}}`, + `{{action=^{life}}}`, + `{{type=fallen}}`, + `{{consequence=[[1d6]]}}`, + ].join(""); + + article.consequences + .consequences__header + +span({ data_i18n: "fallen_heroes" }).consequences__header--span + +help("consequences") + section.consequences__grid + +div({ data_i18n: "1d6" }).consequences__grid--header + .consequences__roll + +roll({ name: "consequence", value: roll__consequences }).consequences__roll--btn + +span({ data_i18n: "consequence" }).consequences__roll--span + each side in range(6) + - let name = `fallen_consequence_${side}`; + label.consequence__die + +checkbox({ name, value: 1, id: name }).consequence__die--input + .consequence__die--span=side + .consequence__die--square + +label({ data_i18n: name, for: name }).consequence__description + +popup({ name: "consequences", title: "life_and_death", header: "fallen_heroes" }) + +span({ data_i18n: "fallen_heroes_description" }) diff --git a/ARC/src/pug/components/experience.pug b/ARC/src/pug/components/experience.pug new file mode 100644 index 0000000000..38c7caaed5 --- /dev/null +++ b/ARC/src/pug/components/experience.pug @@ -0,0 +1,14 @@ + +mixin experience + article.experience + .experience__header + +span({ data_i18n: "xp" }).experience__header--span + +help("xp") + .experience__total + +input({ type: "number", name: "xp_max", min: 0 }).experience__total--input + +span({ data_i18n: "xp_total" }).experience__total--span + .experience__spent + +input({ type: "number", name: "xp", min: 0}).experience__spent--input + +span({ data_i18n: "xp_spent" }).experience__spent--span + +popup({ name: "xp", title: "xp", header: "experience" }) + +span({ data_i18n: "xp_description" }) diff --git a/ARC/src/pug/components/header.pug b/ARC/src/pug/components/header.pug new file mode 100644 index 0000000000..2ef6fa8c33 --- /dev/null +++ b/ARC/src/pug/components/header.pug @@ -0,0 +1,21 @@ +mixin header + header.arc__header.header + +hidden({ name: "sheet_type" }) + article.header__character.character + .header__title + +label({ for: "pc_id_character_name" }).header__title--label + +h2({ data_i18n: "character_name" }).header__title--header + +textbox({ name: "character_name", id: "pc_id_character_name" }).header__title--input + .header__pronouns + +label({ for: "pronouns" }).header__pronouns--label + +h3({ data_i18n: "pronouns" }).header__pronouns--header + +textbox({ name: "pronouns", id: "pronouns" }).header__pronouns--input + .header__player + +label({ for: "player_name" }).header__player--label + +h3({ data_i18n: "player_name" }).header__player--header + +textbox({ name: "player_name", id: "player_name" }).header__player--input + article.header__npc.npc + +textbox({ name: "character_name", id: "npc_id_character_name" }).header__npc--input + article.header__name + .header__name + +span({ name: "character_name" }).header__name--span diff --git a/ARC/src/pug/components/health.pug b/ARC/src/pug/components/health.pug new file mode 100644 index 0000000000..050570a841 --- /dev/null +++ b/ARC/src/pug/components/health.pug @@ -0,0 +1,65 @@ + +mixin health + article.healths + +health-section("blood") + +health-section("guts") + +rests + +mixin health-section(type) + section.health + .health__type + +span({ data_i18n: type }).health__type--span + +help(type) + //- .health__plus + //- span + + .health__mod + +span({ data_i18n: "mod" }).health__mod--span + +number({ name: `${type}_mod`, min: 0 }).health__mod--input + //- .health__equals + //- span="=".health__equals + .health__max + +span({ data_i18n: "max" }).health__max--span + +number({ name: `${type}_max`, min: 0 }).health__max--input + .health__current + +span({ data_i18n: "current" }).health__current--span + +number({ name: type, min: 0 }).health__current--input + + - var title = (type == "blood" ? "physical_health" : "combat_health" ) + +popup({ name: type, title }) + +span({ data_i18n: `${type}_description` }) + +mixin rests + section.rests + - + const roll__short_rest = [ + `&{template:recover}`, + `{{character_name=@{character_name}}}`, + `{{action=^{short_rest}}}`, + `{{verb=^{takes_a_rest}}}`, + `{{type=short-rest}}`, + `{{blood=[[1d6]]}}`, + `{{guts=[[1d6]]}}` + ].join(""); + - + const roll__long_rest = [ + `&{template:recover}`, + `{{character_name=@{character_name}}}`, + `{{action=^{long_rest}}}`, + `{{type=long-rest}}`, + `{{verb=^{takes_a_rest}}}`, + `{{blood=[[2d6+@{blood_mod}[BLOOD]]]}}`, + `{{guts=[[2d6+@{guts_mod}[GUTS]]]}}` + ].join(""); + + .rests__spacer + hr.rests__spacer--line + .rests__short + +roll({ name: "short_rest", value: roll__short_rest }).rests__short--button + +span({ data_i18n: "short_rest" }).rests__short--span + .rests__spacer + hr.rests__spacer--line + .rests__long + +roll({ name: "long_rest", value: roll__long_rest }).rests__long--button + +span({ data_i18n: "long_rest" }).rests__long--span + .rests__spacer + hr.rests__spacer--line diff --git a/ARC/src/pug/components/inventory.pug b/ARC/src/pug/components/inventory.pug new file mode 100644 index 0000000000..f7fe76d65b --- /dev/null +++ b/ARC/src/pug/components/inventory.pug @@ -0,0 +1,114 @@ + +mixin inventory + article.inventory + datalist(id="datalist__inventory") + each item in data.inventory.items + option(value=item, data-i18n=item) + .inventory__header + +span({ data_i18n: "inventory" }).inventory__header--span + +help("inventory") + .inventory__type + +span({ data_i18n: "item_type" }).inventory__type--span + .inventory__qty + +span({ data_i18n: "item_quantity" }).inventory__qty--span + .inventory__edit + .inventory__items + fieldset.repeating_inventory + +item + +popup({ name: "inventory", title: "inventory" }) + +span({ data_i18n: "inventory_description" }) + +mixin item + .item__wrapper + +hidden({ name: "item_expand", value: "0" }) + +hidden({ name: "type" }).item__block--toggle + section.item + - let universals = Object.assign([], data.inventory.inputs.universal); + - universals = universals.sort((x, y) => { return x.sort - y.sort }); + section.item__block.item__universal + each field in universals + +item-input(field) + .item__expand + +action({ name: "item-expand-toggle" }).item__expand--btn + +img({ src: "edit" }).item__expand--img + +img({ src: "close" }).item__close--img + +item-details + +mixin item-details + section.item--details + each itemType in data.inventory.types + - let fields = [...data.inventory.inputs[itemType]]; + - fields = fields.sort((x, y) => { return x.sort - y.sort }); + +section({ class: `item__${itemType}` }).item__block + each field in fields + +item-input(field) + +mixin item-input(obj) + - const field = Object.assign({}, obj); + - field.sort = null; + - field.id = `id_item_${field.name}`; + +div({ class: `item--${field.name}` }) + if field.type === "select" + +field-select-block(field) + else + +field-block(field) + +mixin field-block(obj) + - const data_i18n = obj.label || null; + - const data_i18n_title = obj.label_title || null; + .field + if data_i18n + +label({ data_i18n_title, for: obj.id }).field__label + +span({ data_i18n }).field__label--span + - obj.label = null; + - obj.label_title = null; + - obj.class = `field--${obj.type}`; + + if (obj.type === "radios") + +fill-in-radios(obj) + else if (obj.type === "textarea") + - obj.type = null; + +textarea(obj) + else + +input(obj) + +mixin field-select-block(obj) + - const data_i18n = obj.label || null; + .field + if data_i18n + +label({ data_i18n_title, for: obj.id }).field__label + +span({ data_i18n }).field__label--span + - const options = obj.options; + - obj.options = null; + +select(obj).field--select + each opt in options + +option(opt) + + + +//- not used +mixin inventory-totals + footer.inventory__totals + .inventory__totals--empty + .inventory__totals--empty + .inventory__totals--pool + +number({ name: "inventory_points_max", min: 0 }) + .inventory__totals--spent + +number({ name: "inventory_points", min: 0 }) + .inventory__totals--empty + .inventory__totals--pool + +span({ data_i18n: "item_pool" }) + .inventory__totals--spent + +span({ data_i18n: "item_pool" }) + +//- not used +mixin type-checkboxes + +label({ for: "supplies" }).item__is-supplies + +radio({ name: "type", value: "supplies", id: "supplies" }).item__type--radio + .item__type--square + +label({ for: "damage-defense" }).item__is-damage-defense + +radio({ name: "type", value: "damage", id: "damage-defense" }).item__type--radio + .item__type--square + +label({ for: "spell-technique" }).item__is-spell-technique + +radio({ name: "type", value: "spell", id: "spell-technique" }).item__type--radio + .item__type--square diff --git a/ARC/src/pug/components/skills.pug b/ARC/src/pug/components/skills.pug new file mode 100644 index 0000000000..990814a41b --- /dev/null +++ b/ARC/src/pug/components/skills.pug @@ -0,0 +1,38 @@ + +mixin skills + article.skills + .skills__header + +span({ data_i18n: "skills" }).skills__header--span + +help("skills") + each skills, category in data.skills + header.skill-category__header + +span({ data_i18n: category }).skill-category__header--span + //- +help(`${category}_popup`) + hr.skill-category__header--line + //- +category-popup(category) + each skill in skills + +skill(skill) + +popup({ name: "skills", title: "skill", header: "skill_info" }) + +span({ data_i18n: "skill_description" }) + + +mixin category-popup(cat) + +popup({ name: cat, title: "skill_check" }) + +span({ data_i18n: `${cat}_description` }) + +mixin skill(skill) + .skill__button + +action({ name: skill }).skill__button--btn + +span({ data_i18n: skill }).skill__button--span + +help(`${skill}`) + +skill-popup(skill) + + +fill-in-radios({ name: skill, max: 3, class: "skill" }) + //- .skill__ranks + //- +radio({ name: skill, value: 0, checked: true }).skill__rank.reset + //- each x in range(3) + //- +radio({ name: skill, value: x }).skill__rank + +mixin skill-popup(skill) + +popup({ name: skill, title: "skill_info", header: skill }) + +span({ data_i18n: `${skill}_description` }) diff --git a/ARC/src/pug/components/toolbar.pug b/ARC/src/pug/components/toolbar.pug new file mode 100644 index 0000000000..55c4242a22 --- /dev/null +++ b/ARC/src/pug/components/toolbar.pug @@ -0,0 +1,49 @@ + +mixin toolbar + nav.toolbar + .toolbar__labels + label.toolbar__glossary + +checkbox({ name: "show_glossary" }) + +img({ src: "book" }).toolbar__glossary--icon g + label.toolbar__settings + +checkbox({ name: "show_settings" }) + +img({ src: "settings" }).toolbar__settings--icon + label.toolbar__version + +span({ data_i18n: "version" }).toolbar__version--text + +span({ name: "version" }).toolbar__version--number + +glossary + +settings + +mixin glossary + +popup({ name: "glossary", title: "quick_overview", header: "_" }).glossary + article.glossary--wrapper + each content in data.glossary + details + summary.glossary__entry + hr.glossary__entry--line + +h3({ data_i18n: content }).glossary__entry--header + hr.glossary__entry--line + .glossary__definition + +span({ data_i18n: `${content}_description` }) + +mixin settings + +popup({ name: "settings", title: "settings", header: "_" }).settings + article.settings--wrapper + section.settings__mode + +h3({ data_i18n: "sheet_mode" }).settings__mode--header + +select({ name: "sheet_type" }).settings__tooltips--select + each option in data.settings.sheet_type + +option(option) + section.settings__theme + +h3({ data_i18n: "theme" }).settings__theme--header + +span({ data_i18n: "use_sync" }).settings__theme--span + section.settings__tooltips + +h3({ data_i18n: "tooltips" }).settings__tooltips--header + +select({ name: "setting_tooltips" }).settings__tooltips--select + each option in data.settings.tooltips + +option(option) + section.settings__export + +roll({ data_i18n: "export_character", name: "api_export", value: "!arc .export @{character_id}" }).settings__export--btn + +hidden({ name: "export_show", value: "0" }).settings__export--toggle + +textarea({ name: "export", rows: 6, data_i18n_placeholder: "requires_arc_api" }).settings__export--json + +span({ data_i18n: "requires_arc_api" }).settings__export--span diff --git a/ARC/src/pug/layouts/character.pug b/ARC/src/pug/layouts/character.pug new file mode 100644 index 0000000000..d10e3d072e --- /dev/null +++ b/ARC/src/pug/layouts/character.pug @@ -0,0 +1,11 @@ + +article.arc__layout--left + +health + +approaches + +skills + +inventory +aside.arc__layout--right.character + +background + +bonds + +experience + +fallen-consequences diff --git a/ARC/src/pug/layouts/roll-template.pug b/ARC/src/pug/layouts/roll-template.pug new file mode 100644 index 0000000000..9c39f0bc4c --- /dev/null +++ b/ARC/src/pug/layouts/roll-template.pug @@ -0,0 +1,97 @@ + +mixin tags(array) + each tag in array + | {{##{ tag }}} + if block + block + each tag in array.reverse() + | {{/#{ tag }}} + +mixin roll-template-sentence + .sheet-arc__sentence + +tags(["character_name"]) + .sheet-arc__sentence--name(class=`{{type}}`) {{ character_name }} + +tags(["verb"]) + .sheet-arc__sentence--verb(class=`{{type}}`) {{ verb }} + +tags(["action"]) + .sheet-arc__sentence--action(class=`{{type}}`) {{ action }} + +rolltemplate.sheet-rolltemplate-recover + .sheet-arc__container + .sheet-arc__banner(class=`{{type}}`) + .sheet-arc__content(class=`{{type}}`) + +roll-template-sentence + .sheet-arc__recover(class=`{{type}}`) + .sheet-arc__recover--arrow ▶ + .sheet-arc__recover--text + +span({ data_i18n: "recovery_{{type}}", + data_i18n_vars: "{{blood}}|{{guts}}" }) + .sheet-arc__footnote + span.sheet-arc__footnote--mark ※ + +span({ data_i18n: "update_character_sheet" }).sheet-arc__footnote--span + +rolltemplate.sheet-rolltemplate-fallen + .sheet-arc__container + .sheet-arc__banner(class=`{{type}}`) + .sheet-arc__content(class=`{{type}}`) + +roll-template-sentence + .sheet-arc__fallen(class=`{{type}}`) + .sheet-arc__fallen--roll + span {{ consequence }} + each con in range(6) + +tags([`rollTotal() consequence ${con}`]) + .sheet-arc__fallen--text + +span({ data_i18n: `fallen_consequence_${con}` }) + .sheet-arc__footnote + span.sheet-arc__footnote--mark ※ + +span({ data_i18n: "update_character_sheet" }).sheet-arc__footnote--span + +rolltemplate.sheet-rolltemplate-skills + .sheet-arc__container + .sheet-arc__banner(class=`{{type}}`) + +tags(["rollLess() roll TN"]) + span.sheet-display-control.sheet-success + +tags(["rollTotal() roll TN"]) + span.sheet-display-control.sheet-tie + +tags(["rollGreater() roll TN"]) + span.sheet-display-control.sheet-fail + + .sheet-arc__content(class=`{{type}}`) + +roll-template-sentence + .sheet-arc__approach-skill(class=`{{type}}`) + .sheet-arc__approach-skill--arrow ▶ + .sheet-arc__approach-skill--approach(class=`{{title}}`) + +div({ data_i18n: `{{skill}}` }).sheet-arc__approach-skill--text + + .sheet-arc__results + //- text for success | tie | fail + .sheet-arc__results--text + +tags(["rollLess() roll TN"]) + .sheet-arc__success + +span({ data_i18n: "roll_success" }).sheet-arc__success--span + +tags(["rollTotal() roll TN"]) + .sheet-arc__tie + +span({ data_i18n: "roll_tie" }).sheet-arc__tie--span + +tags(["rollGreater() roll TN"]) + .sheet-arc__fail + +span({ data_i18n: "roll_fail" }).sheet-arc__fail--span + + //- dice results + .sheet-arc__results--values + +div({ data_i18n: "roll" }).sheet-arc__roll--header + +div({ data_i18n: "versus" }).sheet-arc__versus--header + +div({ data_i18n: "tn" }).sheet-arc__tn--header + + each roll in range(6) + +tags([`rollTotal() roll ${roll}`]) + .sheet-arc__roll--value + img(src=`https://raw.githubusercontent.com/morgdalaine/arc-momatoes/main/api-script/ARC/assets/die_${roll}.png`) + | {{roll}} + .sheet-arc__versus--value + +tags(["rollLess() roll TN"]) + span.sheet-arc__versus--symbol.sheet-success="<" + +tags(["rollTotal() roll TN"]) + span.sheet-arc__versus--symbol.sheet-tie="=" + +tags(["rollGreater() roll TN"]) + span.sheet-arc__versus--symbol.sheet-fail=">" + .sheet-arc__tn--value {{TN}} diff --git a/ARC/src/pug/meta/data.pug b/ARC/src/pug/meta/data.pug new file mode 100644 index 0000000000..891bb6100c --- /dev/null +++ b/ARC/src/pug/meta/data.pug @@ -0,0 +1,291 @@ +- + const data = { + assets: { + folder: "https://raw.githubusercontent.com/morgdalaine/arc-momatoes/main/character-sheet/ARC/assets/", + add: "add.svg", + book: "book.svg", + close: "close.svg", + delete: "delete.svg", + download: "download.svg", + drag: "drag.svg", + edit: "edit.svg", + export: "export.svg", + help: "help.svg", + lock: "lock.svg", + move: "move.svg", + save: "save.svg", + settings: "settings.svg", + unlock: "unlock.svg", + bg_check_success: "bg_check_success.png", + bg_check_tie: "bg_check_tie.png", + bg_check_fail: "bg_check_fail.png", + bg_long_rest: "bg_long_rest.png", + bg_short_rest: "bg_short_rest.png", + tab_long_rest: "tab_long_rest.png", + tab_short_rest: "tab_short_rest.png", + tab_skill_check: "tab_skill_check.png", + text_careful: "text_careful.svg", + text_concerted: "text_concerted.svg", + text_creative: "text_creative.svg", + }, + settings: { + sheet_type: [ + { + value: "character", + data_i18n: "character_mode", + selected: true + }, + { + value: "npc", + data_i18n: "npc_mode" + } + ], + tooltips: [ + { + value: "1", + data_i18n: "tooltip_show", + selected: true + }, + { + value: "0", + data_i18n: "tooltip_hide" + } + ] + }, + glossary: [ + "advantage", + "attack", + "complexity", + "conflict", + "consequence", + "damage", + "difficulty_modifier", + "doom", + "doomsday_clock", + "focus", + "group_skill_check", + "initiative_category", + "learning_spells_and_techniques", + "moment", + "movement_in_conflict", + "omen", + "opportunity", + "rest", + "ritual", + "skill_check", + "spells_and_techniques", + "spells_and_techniques_in_conflict", + "stand_ground", + "threshold_number", + "turn" + ], + approaches: [ "creative", "careful", "concerted" ], + skills: { + knowledge: [ "academic", "culture", "observe", "tactics" ], + social: [ "charisma", "guile", "impose", "insight" ], + physical: [ "acrobatics", "coordination", "physique", "weaponry" ], + practical: [ "artistry", "survival", "tinker", "trade" ], + prowess: [ "arcana", "focus" ], + }, + inventory: { + types: [ "supplies_and_sundries", "oddities_and_valuables", "damage_and_defense", "spells_and_techniques" ], + inputs: { + universal: [ + { + sort: 1, + name: "name", + type: "text", + list: "datalist__inventory", + data_i18n_placeholder: "name_placeholder", + }, + { + sort: 2, + name: "type", + type: "select", + options: [ + { data_i18n: "select_placeholder", value: "none", selected: true }, + { value: "supplies_and_sundries" }, + { value: "oddities_and_valuables" }, + { value: "damage_and_defense" }, + { value: "spells_and_techniques" }, + ] + }, + { + sort: 3, + name: "quantity", + type: "number", + placeholder: "0", + min: 0, + } + ], + supplies_and_sundries: [ + { + sort: 4, + label: "description", + name: "description", + type: "text", + data_i18n_placeholder: "description_placeholder", + } + ], + oddities_and_valuables: [ + { + sort: 4, + label: "description", + name: "description", + type: "text", + data_i18n_placeholder: "description_placeholder", + } + ], + damage_and_defense: [ + { + sort: 4, + label: "boon", + name: "first_boon", + type: "textarea", + data_i18n_placeholder: "boon_placeholder", + }, + { + sort: 5, + label: "boon", + name: "second_boon", + type: "textarea", + data_i18n_placeholder: "boon_placeholder", + }, + { + sort: 6, + label: "description", + name: "description", + type: "text", + data_i18n_placeholder: "description_placeholder", + }, + ], + spells_and_techniques: [ + { + sort: 4, + label: "complexity", + name: "complexity", + type: "radios", + class: "complexity", + max: 4, + }, + { + sort: 5, + label: "base_effect", + name: "base_effect", + type: "textarea", + //- data_i18n_placeholder: "base_effect_placeholder", + }, + { + sort: 6, + label: "enhanced", + name: "enhanced", + type: "textarea", + //- data_i18n_placeholder: "enhanced_placeholder", + }, + { + sort: 7, + label: "ritual", + name: "ritual", + type: "textarea", + //- data_i18n_placeholder: "ritual_placeholder", + }, + ], + }, + items: [ + "combat_scowling_face", + "combat_pitchfork", + "combat_memories_of_hardship", + "combat_iron_briefs", + "combat_booming_voice", + "combat_well_rounded_education", + "combat_darts", + "combat_dagger", + "combat_self_esteem", + "combat_studden_leather_armor", + "combat_devastating_vocabulary", + "combat_critical_thinking", + "combat_sturdy_sword", + "combat_crossbow", + "combat_plate_armor", + "combat_love_letter", + "combat_cunning_wit", + "combat_flaming_sword", + "supplies_rations", + "supplies_artisans_tools", + "supplies_crowbar_and_lantern", + "supplies_rope_and_carpet", + "supplies_bedroll", + "supplies_backpack", + "supplies_thieves_tools", + "supplies_fine_clothes", + "supplies_traps", + "supplies_tent", + "supplies_fishing_pole", + "supplies_live_hen", + "supplies_board_games", + "supplies_alchemists_tools", + "supplies_encyclopeida", + "supplies_spyglass", + "supplies_coded_letters", + "supplies_horse", + "oddities_seashell_horn", + "oddities_dead_donkey", + "oddities_ancient_ring", + "oddities_songbird", + "oddities_human_teeth", + "oddities_hat", + "oddities_monkey_head", + "oddities_heavy_crown", + "oddities_giant_serpent_scales", + "oddities_silk_dress", + "oddities_tyrant_pants", + "oddities_shadow_mirror", + "oddities_darkvision_glasses", + "oddities_divine_blood", + "oddities_seeds", + "oddities_potion_brawn", + "oddities_troll_flesh", + "oddities_telepathic_yak", + "spells_trinket", + "spells_trick_of_the_light", + "spells_soundshift", + "spells_lifebringer", + "spells_whisper", + "spells_bind_weapon", + "spells_unmask_the_self", + "spells_secret_door", + "spells_burn_the_past", + "spells_master_of_elements", + "spells_little_escapologist", + "spells_pierce_the_veil", + "spells_manic_hands", + "spells_shadowbind", + "spells_compel", + "spells_windstep", + "spells_blackout", + "spells_spirit_pact", + "spells_from_dust_to_dust", + "spells_true_miracle", + "techniques_only_ones_who_know", + "techniques_uncanny_alarm", + "techniques_weave_through_water", + "techniques_memory_seed", + "techniques_flowmotion", + "techniques_saving_grace", + "techniques_inspiration", + "techniques_bind_magic", + "techniques_stonewall", + "techniques_heart_piercer", + "techniques_deadly_focus", + "techniques_redo", + "techniques_turn_the_tide", + "techniques_dispel", + "techniques_interdiction", + "techniques_fluorescent_transcendence", + "techniques_netherwave", + "techniques_become_one", + "techniques_defy_the_fates", + "techniques_doompause", + ] + } + } diff --git a/ARC/src/scss/arc.scss b/ARC/src/scss/arc.scss new file mode 100644 index 0000000000..cc7b4760fb --- /dev/null +++ b/ARC/src/scss/arc.scss @@ -0,0 +1,80 @@ +.arc { + @import "meta/reset"; + // @import "meta/unset"; +} + +// shared variables and mixins +@import "meta/variables"; +@import "meta/breakpoints"; +@import "components/common/mixins"; +@import "components/common/popups"; + +html { + font-size: 13px !important; +} + +.ui-dialog { + .charsheet { + padding: 0px !important; + button[type=roll] { + &::before { + font-family: unset; + content: unset; + } + } + input { + height: unset; + width: 100%; + &[type=number] { + width: 100%; + } + } + } +} + +@include repeatingSectionsButtons; + +input[name*="sheet_type"] { + &[value="character"] { + ~ .npc { + display: none; + } + } + &[value="npc"] { + ~ .character { + display: none; + } + } +} + +.arc { + position: relative; + font-family: $primary-sans-serif; + font-size: 13px; + @import "meta/buttons"; + @import "components/common/inputs"; + + @media (prefers-color-scheme: light) { + color: $primary-color-light; + background: $primary-background-light; + } + @media (prefers-color-scheme: dark) { + color: $primary-color-dark; + background: $primary-background-dark; + } + + h2 { font-size: 1.5rem; } + h3 { font-size: 1.17rem; } + h4 { font-size: 1rem; } + h5 { + font-size: 1rem; + text-transform: uppercase; + } + + // Components + @import "components/toolbar"; + @import "components/header"; +} + +@import "layouts/character"; +@import "layouts/roll-template"; diff --git a/ARC/src/scss/components/_approaches.scss b/ARC/src/scss/components/_approaches.scss new file mode 100644 index 0000000000..3c1c6fbb13 --- /dev/null +++ b/ARC/src/scss/components/_approaches.scss @@ -0,0 +1,52 @@ +.approaches { + display: flex; + flex-direction: row; + justify-content: center; + width: 100%; +} + +.approach { + display: flex; + flex-direction: row; + width: 25%; + align-items: center; + + &__label { + &--span { + font-family: $primary-serif; + white-space: nowrap; + text-transform: uppercase; + writing-mode: vertical-rl; + @include rotate(180deg); + } + } + &__value { + display: flex; + align-items: center; + justify-content: center; + border: 5px double transparent; + border-radius: 50%; + aspect-ratio: 1 / 1; + width: 100%; + + + @media (prefers-color-scheme: light) { + border-color: $primary-accent-light; + } + @media (prefers-color-scheme: dark) { + border-color: $primary-accent-dark; + } + + &--input[type="number"] { + @include square(100%); + padding: 0; + font-size: 4rem; + @media only screen and (max-width: $large) { + font-size: 3rem; + } + @media only screen and (max-width: $medium) { + font-size: 2rem; + } + } + } +} diff --git a/ARC/src/scss/components/_background.scss b/ARC/src/scss/components/_background.scss new file mode 100644 index 0000000000..289827cf95 --- /dev/null +++ b/ARC/src/scss/components/_background.scss @@ -0,0 +1,40 @@ + +.background { + display: grid; + grid-template-rows: repeat(3, auto); + row-gap: 8px; + height: fit-content; + padding: 8px; + @media (prefers-color-scheme: light) { + background: linear-gradient($tertiary-background-light 75%, transparent); + } + @media (prefers-color-scheme: dark) { + background: linear-gradient($tertiary-background-dark 75%, transparent); + } + + &--label { + font-size: 1.2rem; + font-variant-caps: small-caps; + cursor: pointer; + } + &__rumors { + &--wrapper { + margin: 8px 0; + } + } +} + +.portrait { + display: none; + justify-content: center; + align-items: center; + &__avi { + display: flex; + justify-content: center; + align-items: center; + position: relative; + &--img { + position: absolute; + } + } +} diff --git a/ARC/src/scss/components/_bonds.scss b/ARC/src/scss/components/_bonds.scss new file mode 100644 index 0000000000..e2f41a0c46 --- /dev/null +++ b/ARC/src/scss/components/_bonds.scss @@ -0,0 +1,118 @@ + +.bonds { + &__header { + @include sectionHeader; + } +} + +.bond { + display: grid; + grid-template-columns: 2fr 1fr; + gap: 1rem; + margin-bottom: 1rem; + + &__with { + grid-column: 1 / 2; + } + &__levels { + grid-column: 2 / 3; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 2px; + align-content: center; + } + + &__container { + border: 2px solid transparent; + @include square(31px); + @media (prefers-color-scheme: light) { + border-color: $secondary-accent-light; + } + @media (prefers-color-scheme: dark) { + border-color: $secondary-accent-dark; + } + } + + &__major { + display: grid; + gap: 1px; + grid-template-columns: repeat(2, 1fr); + grid-template-rows: repeat(2, 1fr); + grid-template-areas: + "minor1 minor2" + "minor4 minor3"; + @include square(27px); + @media (prefers-color-scheme: light) { + background: linear-gradient($secondary-accent-light, $secondary-accent-light) center/100% 1px no-repeat, repeating-linear-gradient(to right, transparent 0 13px, $secondary-accent-light 0 14px); + } + @media (prefers-color-scheme: dark) { + background: linear-gradient($secondary-accent-dark, $secondary-accent-dark) center/100% 1px no-repeat, repeating-linear-gradient(to right,transparent 0 13px, $secondary-accent-dark 0 14px); + } + } +} + +.bond__minor { + border: 1px solid transparent; + background: transparent; + @include square(13px); + cursor: pointer; + box-sizing: border-box; + appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + + &.reset { grid-area: minor1; } + + &[value="1"] { grid-area: minor1; } + &[value="2"] { grid-area: minor2; } + &[value="3"] { grid-area: minor3; } + &[value="4"] { grid-area: minor4; } + + &:checked { display: none; } +} + +.bond__control { + &:not([value="0"]) ~ .bond__minor[value="1"] { + grid-area: minor2; + } + &:is([value="2"], [value="3"], [value="4"]) ~ .bond__minor[value="2"] { + grid-area: minor3; + } + &:is([value="3"], [value="4"]) ~ .bond__minor[value="3"] { + grid-area: minor4; + } +} + +@media (prefers-color-scheme: light) { + .bond__minor.reset, + .bond__minor:not(.reset):checked ~ .bond__minor { + background: $secondary-highlight-light; + } +} + +@media (prefers-color-scheme: dark) { + .bond__minor.reset, + .bond__minor:not(.reset):checked ~ .bond__minor { + background: $secondary-highlight-dark; + } +} + +@media only screen and (max-width: $large) { + .bond { + display: flex; + flex-direction: column; + &__levels { + display: flex; + justify-content: center; + } + } + input.bond__with--input[type=text] { + padding-left: 0; + text-align: center; + font-size: 1.2rem; + } +} +// @media only screen and (max-width: $medium) { +// } +// @media only screen and (max-width: $small) { +// } diff --git a/ARC/src/scss/components/_consequences.scss b/ARC/src/scss/components/_consequences.scss new file mode 100644 index 0000000000..37425c2815 --- /dev/null +++ b/ARC/src/scss/components/_consequences.scss @@ -0,0 +1,90 @@ + +.consequences { + &__header { + @include sectionHeader; + } + &__grid { + display: grid; + grid-template-columns: auto 1fr; + gap: 0.5rem; + align-items: center; + justify-items: center; + &--header { + padding: 0 1rem; + text-align: center; + font-size: 1.17rem; + } + } + &__roll { + justify-self: start; + @include rollButton; + &--span { + text-transform: uppercase; + text-align: left; + font-size: 1.17rem; + } + } +} + +.consequence { + &__die { + display: flex; + flex-direction: column; + align-items: center; + height: 100%; + cursor: pointer; + &--span { + position: relative; + top: 4px; + font-size: 1.17rem; + font-weight: bold; + z-index: 1; + @media (prefers-color-scheme: light) { + color: $secondary-accent-light; + } + @media (prefers-color-scheme: dark) { + color: $secondary-accent-dark; + } + } + &--input { + display: none; + &:checked { + + .consequence__die--span { + @media (prefers-color-scheme: light) { + color: $secondary-color-light; + } + @media (prefers-color-scheme: dark) { + color: $secondary-color-dark; + } + } + ~ .consequence__die--square { + @media (prefers-color-scheme: light) { + background: $secondary-accent-light; + } + @media (prefers-color-scheme: dark) { + background: $secondary-accent-dark; + } + } + } + } + &--square { + position: absolute; + border: 2px solid transparent; + @include square(24px); + @media (prefers-color-scheme: light) { + border-color: $secondary-accent-light; + } + @media (prefers-color-scheme: dark) { + border-color: $secondary-accent-dark; + } + } + } + &__description { + display: flex; + align-items: start; + font-variant-caps: small-caps; + width: 100%; + min-height: 4rem; + cursor: pointer; + } +} diff --git a/ARC/src/scss/components/_experience.scss b/ARC/src/scss/components/_experience.scss new file mode 100644 index 0000000000..5a2c61fac2 --- /dev/null +++ b/ARC/src/scss/components/_experience.scss @@ -0,0 +1,43 @@ +.experience { + width: 100%; + display: grid; + grid-template-columns: auto 1fr 1fr; + gap: 0.5rem; + &__header { + grid-row: 1; + grid-column: 1 / 2; + @include sectionHeader; + } + &__total, &__spent { + display: flex; + flex-direction: column; + &--input { + border: none; + font-size: 2rem; + } + &--span { + margin-top: 4px; + text-align: center; + text-transform: uppercase; + font-size: 0.8rem; + } + } + &__total--input { + border: 5px solid transparent; + @media (prefers-color-scheme: light) { + border-color: $secondary-border-light; + } + @media (prefers-color-scheme: dark) { + border-color: $secondary-border-dark; + } + } + &__spent--input { + border: 5px double transparent; + @media (prefers-color-scheme: light) { + border-color: $primary-border-light; + } + @media (prefers-color-scheme: dark) { + border-color: $primary-border-dark; + } + } +} diff --git a/ARC/src/scss/components/_header.scss b/ARC/src/scss/components/_header.scss new file mode 100644 index 0000000000..386f2f826f --- /dev/null +++ b/ARC/src/scss/components/_header.scss @@ -0,0 +1,147 @@ + +.header { + + &__character { + display: grid; + grid-template-columns: 3fr 2fr; + grid-template-rows: auto auto; + grid-gap: 0.5rem; + } + + &__npc { + display: flex; + align-items: center; + &--input { + text-align: center; + font-size: 2rem; + font-family: $primary-serif; + padding-left: 0 !important; + } + } + + &__title { + grid-row: 1 / 3; + display: flex; + flex-wrap: wrap; + align-content: space-between; + + &--header { + font-family: $primary-serif; + text-transform: uppercase; + } + &--input[type=text] { + font-size: 2rem; + } + } + + &__pronouns, &__player { + &--input { + font-size: 1rem; + font-family: $primary-serif; + padding: 0.5rem; + } + } + + &__pronouns { + grid-row: 1; + grid-column: 2 / 3; + } + + &__player { + grid-row: 2; + grid-column: 2 / 3; + } + + &__name { + display: none; + &--span { + font-size: 2rem; + font-family: $primary-serif; + text-transform: uppercase; + } + } + + @media only screen and (max-width: $medium) { + grid-template-columns: repeat(2, 1fr); + grid-template-rows: 1fr auto auto; + &__title, &__pronouns, &__player { + &--label { + padding-bottom: 1rem; + text-align: center; + } + &--input { + text-align: center; + } + } + &__title { + grid-row: 1; + grid-column: 1 / 3; + } + &__pronouns { + grid-row: 2; + grid-column: 1 / 2; + } + &__player { + grid-row: 2; + grid-column: 2 / 3; + } + } + + @media only screen and (max-width: $small) { + &__character.character, &__npc.npc { + display: none; + } + &__name { + display: flex; + justify-content: center; + } + } +} + +@media (prefers-color-scheme: light) { + .header { + &__title { + &--input { + border-color: $primary-accent-light; + } + &--header { + color: $primary-accent-light !important; + } + } + &__pronouns, &__player { + &--input { + border-color: $primary-accent-light; + } + } + &__name { + color: $primary-accent-light !important; + } + &__npc--input { + border-color: $primary-accent-light; + } + } +} + +@media (prefers-color-scheme: dark) { + .header { + &__title { + &--input { + border-color: $primary-accent-dark; + } + &--header { + color: $primary-accent-dark !important; + } + } + &__pronouns, &__player { + &--input { + border-color: $primary-accent-dark; + } + } + &__name { + color: $primary-accent-dark !important; + } + &__npc--input { + border-color: $primary-accent-dark; + } + } +} diff --git a/ARC/src/scss/components/_health.scss b/ARC/src/scss/components/_health.scss new file mode 100644 index 0000000000..7f79ac1b72 --- /dev/null +++ b/ARC/src/scss/components/_health.scss @@ -0,0 +1,227 @@ +.healths { + display: grid; + grid-template-columns: 1fr; + justify-content: center; + @include fill-x; + row-gap: 0.5rem; +} + +.rests { + display: grid; + grid-template-columns: repeat(2, 1fr auto ) 1fr; + width: 100%; + &__spacer { + align-self: center; + &--line { + border-bottom: 2px solid transparent; + } + } + &__short, &__long { + &--span { + font-family: $primary-serif; + font-size: 1.2rem; + font-weight: bold; + text-align: center; + text-transform: uppercase; + padding: 0 1rem; + } + } + &__short { + grid-column: 2 / 3; + &--button { + border: 2px solid transparent; + } + } + &__long { + grid-column: 4 / 5; + &--button { + border: 2px solid transparent; + } + } +} + +.health { + display: flex; + flex-direction: row; + justify-content: center; + @include fill-x; + + &__type, &__mod, &__max, &__current { + display: flex; + flex-direction: column; + justify-content: center; + border: 5px double transparent; + width: 6rem; + + &--span { + padding: 0.2rem 0; + text-align: center; + text-transform: uppercase; + white-space: nowrap; + } + } + &__mod, &__max, &__current { + &--span { + font-size: 0.7rem; + } + &--input { + font-size: 1.2rem; + } + } + &__type { + flex-direction: row; + justify-content: start; + &--span { + margin-right: 0.5rem; + } + } +} + +@media only screen and (max-width: $medium) { + .healths { + justify-items: center; + } + .health { + display: grid; + grid-template-columns: repeat(3, 1fr); + width: 80%; + + &__type, &__mod, &__max, &__current { + border-width: 3px; + } + &__type { + grid-row: 1 / 2; + grid-column: 1 / 4; + justify-content: center; + width: auto; + border: none; + &--span { + font-size: 1.2rem; + text-align: left; + letter-spacing: 0.5rem; + } + } + &__mod, &__max, &__current { + grid-row: 2 / 3; + width: auto; + } + &__mod { + grid-column: 1 / 2; + } + &__max { + grid-column: 2 / 3; + } + &__current { + grid-column: 3 / 4; + } + } +} + +@media only screen and (max-width: $small) { + .rests { + grid-template-columns: auto; + row-gap: 0.5rem; + &__spacer { + display: none; + } + &__short, &__long { + &--button { + width: 100%; + } + } + &__short { + grid-column: auto; + } + &__long { + grid-column: auto; + } + } +} + +@media (prefers-color-scheme: light) { + .rests { + &__spacer { + &--line { + border-color: $primary-border-light; + } + } + &__short, &__long { + &--button:hover { + border-color: $primary-highlight-light; + background: $primary-highlight-light; + color: $primary-color-light; + } + } + &__short { + &--button { + border-color: $primary-border-light; + background: $primary-border-light; + color: $secondary-color-light; + } + } + &__long { + &--button { + border-color: $primary-border-light; + background: $primary-background-light; + color: $primary-border-light; + } + } + } + + .health { + &__type { + background: $primary-background-light; + } + &__mod, &__max { + background: $secondary-background-light; + } + &__current { + background: $primary-background-light; + border-color: $primary-border-light; + } + } +} + +@media (prefers-color-scheme: dark) { + .rests { + &__spacer { + &--line { + border-color: $primary-border-dark; + } + } + &__short, &__long { + &--button:hover { + border-color: $primary-highlight-dark; + background: $primary-highlight-dark; + color: $primary-color-dark; + } + } + &__short { + &--button { + border-color: $primary-border-dark; + background: $primary-border-dark; + color: $secondary-color-dark; + } + } + &__long { + &--button { + border-color: $primary-border-dark; + background: $primary-background-dark; + color: $primary-border-dark; + } + } + } + + .health { + &__type { + background: $primary-background-dark; + } + &__mod, &__max { + background: $secondary-background-dark; + } + &__current { + background: $primary-background-dark; + border-color: $primary-border-dark; + } + } +} diff --git a/ARC/src/scss/components/_inventory.scss b/ARC/src/scss/components/_inventory.scss new file mode 100644 index 0000000000..f11652fe8c --- /dev/null +++ b/ARC/src/scss/components/_inventory.scss @@ -0,0 +1,254 @@ + +.inventory { + display: grid; + grid-template-columns: repeat(3, 1fr); + row-gap: 8px; + width: 100%; + align-items: flex-end; + &__header { + grid-row: 1; + grid-column: 1 / 2; + white-space: nowrap; + @include sectionHeader; + } + &__type, &__short-desc, &__qty { + &--span { + font-variant-caps: small-caps; + } + } + &__type { + grid-row: 1; + grid-column: 2 / 3; + display: flex; + justify-content: center; + // &--supplies, &--defense, &--spells { + // grid-row: 1; + // @include rotate(-45deg); + // } + // &--supplies { + // grid-column: 2 / 3; + // } + // &--defense { + // grid-column: 3 / 4; + // } + // &--spells { + // grid-column: 4 / 5; + // } + } + &__qty { + grid-row: 1; + grid-column: 3 / 4; + text-align: center; + width: 100%; + margin-right: 8px; + } + &__items { + grid-row: 2; + grid-column: 1 / 6; + padding: 0 8px; + } +} + + +input[name*="item_expand"] { + &[value="0"] { + ~ .item--details { + display: none; + } + ~ .item .item__expand--img { + display: inline; + } + ~ .item .item__universal { + .item--type { + display: none; + } + } + } + &[value="on"] { + ~ .item .item__close--img { + display: inline; + } + ~ .item .item__universal { + grid-template-columns: 1fr auto; + .item--quantity { + grid-row: 2 / 3; + } + .item__expand { + grid-column: 2 / 3; + } + } + } +} + +.item { + margin: 4px 0; + &__wrapper { + margin: 4px 0; + padding: 0 4px; + border: 2px solid transparent; + @media (prefers-color-scheme: light) { + border-color: $primary-accent-light; + } + @media (prefers-color-scheme: dark) { + border-color: $primary-accent-dark; + } + } + &--details { + display: flex; + flex-direction: column; + margin: 8px 0; + } + &__block { + grid-template-columns: repeat(4, 1fr); + gap: 0.5rem; + } + &__universal { + display: grid; + grid-template-columns: 1fr repeat(2, auto); + } +} + +$itemTypes: "supplies_and_sundries", "oddities_and_valuables", "damage_and_defense", "spells_and_techniques"; +@each $name in $itemTypes { + .item__#{$name} { + display: none; + } + + .item__block--toggle { + &[value="#{$name}"] { + ~ .item--details .item__#{$name} { + display: grid; + @media only screen and (max-width: $medium) { + display: flex; + flex-direction: column; + } + } + } + } +} + +.item { + &--name, &--type, &--quantity { + .field { grid-template-rows: auto; } + } + &--name { + grid-row: 1 / 2; + grid-column: 1 / 2; + } + &--quantity { + grid-row: 1 / 2; + grid-column: 2 / 3; + .field--number { + font-size: 1.2rem; + padding: 0.2rem; + width: 3.5rem; + height: 3rem; + border: none; + border-bottom: 2px double transparent; + @media (prefers-color-scheme: light) { + border-color: $primary-border-light; + } + @media (prefers-color-scheme: dark) { + border-color: $primary-border-dark; + } + } + } + &--type { + grid-row: 2 / 3; + grid-column: 1 / 2; + } + &__expand { + grid-row: 1 / 2; + grid-column: 3 / 4; + display: flex; + align-items: center; + justify-content: center; + width: 3.5rem; + margin: 0 4px; + &--img { + display: none; + cursor: pointer; + @include square(20px); + @include imgHover; + } + } + &__close--img { + display: none; + cursor: pointer; + @include square(20px); + @include imgHover; + } + &--description { + grid-column: 1 / 5; + } + &--first_boon { + grid-row: 2; + grid-column: 1 / 3; + } + &--second_boon { + grid-row: 2; + grid-column: 3 / 5; + } + &--complexity { + grid-row: 2; + grid-column: 3 / 5; + margin: 0.5rem 0; + + .field { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-around; + } + + @include fill-in-radios; + .radio__rank { + border: 1px solid $primary-accent-light; + background: $primary-accent-light; + } + .radio__rank.reset { + background: $primary-accent-light; + } + } + &--base_effect { + grid-row: 2 / 5; + grid-column: 1 / 3; + .field--textarea { height: 100%; } + } + &--enhanced { + grid-row: 3 / 4; + grid-column: 3 / 5; + } + &--ritual { + grid-row: 4 / 5; + grid-column: 3 / 5; + } +} + +.field { + display: grid; + grid-template-rows: auto 1fr; + @include square(100%); + &__label { + &--span { + text-transform: uppercase; + font-size: 0.8rem; + } + } + &--text, &--number, &--select, &--textarea { + width: 100%; + } + &--textarea { + font-family: $primary-serif; + } +} + +@media only screen and (max-width: $small) { + .item { + &--complexity { + .field { + flex-direction: column; + } + } + } +} diff --git a/ARC/src/scss/components/_skills.scss b/ARC/src/scss/components/_skills.scss new file mode 100644 index 0000000000..5ff6dfc4cc --- /dev/null +++ b/ARC/src/scss/components/_skills.scss @@ -0,0 +1,113 @@ +.skills { + width: 100%; + display: grid; + grid-template-columns: repeat(4, auto); + align-items: center; + &__header { + grid-column: 1 / 5; + @include sectionHeader; + } + &__category { + display: grid; + } +} + +.skill-category { + &__header { + grid-column: 1 / 5; + display: grid; + grid-template-columns: auto 2rem 1fr; + margin: 1rem 0; + &--span { + grid-column: 1; + margin-right: 0.5rem; + text-transform: uppercase; + white-space: nowrap; + } + &--line { + grid-column: 3; + border-bottom: 2px solid transparent; + align-self: center; + + @media (prefers-color-scheme: light) { + border-color: $primary-border-light; + } + @media (prefers-color-scheme: dark) { + border-color: $primary-border-dark; + } + } + } +} + +.skill__button { + display: flex; + flex-direction: row; + @include rollButton; + &__ranks { + display: flex; + align-self: center; + } + &__popup { + grid-column: 3; + } +} + +.skills { + @include fill-in-radios; + + .radio__rank { + border: 1px solid transparent; + border-radius: 50%; + } + + @media (prefers-color-scheme: light) { + .radio__rank { + border-color: $primary-accent-light; + background: $primary-accent-light; + } + .radio__rank.reset { + background: $primary-accent-light; + } + } + + @media (prefers-color-scheme: dark) { + .radio__rank { + border-color: $primary-accent-dark; + background: $primary-accent-dark; + } + .radio__rank.reset { + background: $primary-accent-dark; + } + } +} + +@media only screen and (max-width: $small) { + .skills { + grid-template-columns: repeat(2, auto); + &__header { + grid-column: 1 / 3; + } + + .radio__ranks { + justify-content: flex-end; + } + .radio__rank { + @include square(1.5rem); + } + } + + .skill-category { + &__header { + grid-column: 1 / 3; + &--span { + font-size: 1.2rem; + } + } + } + + .skill__button { + &--span { + font-size: 1.5rem; + } + } +} diff --git a/ARC/src/scss/components/_toolbar.scss b/ARC/src/scss/components/_toolbar.scss new file mode 100644 index 0000000000..103b2fe054 --- /dev/null +++ b/ARC/src/scss/components/_toolbar.scss @@ -0,0 +1,202 @@ +.toolbar { + display: flex; + justify-content: flex-end; + &__labels { + display: inline-flex; + gap: 1rem; + align-items: center; + } + &__glossary, &__settings { + font-weight: normal; + padding: 0; + margin: 0; + white-space: nowrap; + cursor: pointer; + + &--icon { + @include square(24px); + opacity: 0.5; + } + } + &__glossary { + input[type=checkbox] { + display: none; + &:checked + .toolbar__glossary--icon { + opacity: 1; + } + } + &--icon { + font-family: "pictos three"; + } + } + &__settings { + input[type=checkbox] { + display: none; + &:checked + .toolbar__settings--icon { + opacity: 1; + } + } + &--icon { + font-family: pictos; + } + } + &__version { + display: inline-flex; + align-items: center; + opacity: 0.5; + white-space: nowrap; + &--text, &--number { + margin: 0 0.5rem; + font-variant: small-caps; + line-height: 2.5rem; + font-family: $primary-serif; + } + &--text::after { + content: ":"; + } + } + + .settings, .glossary { + left: auto; + right: 5rem; + } + .settings { + width: 250px !important; + &--wrapper { + padding: 0 0.5rem 0.5rem; + } + &__mode, &__theme, &__tooltips, &__export { + margin-top: 0.5rem; + &--header { + font-family: $primary-serif; + text-transform: uppercase; + } + &--span { + display: block; + margin: 1rem 0 0 0.5rem; + opacity: 0.5; + } + } + &__export { + &--span { + margin: 1rem 0 0 0.5rem; + opacity: 0.5; + } + &--btn { + font-size: 1.17rem; + font-family: $primary-serif; + font-weight: bold; + text-transform: uppercase; + } + &--json { + resize: none; + border: none; + font-size: 0.7rem; + line-height: 1rem; + margin-top: 0.5rem; + padding: 0; + white-space: normal; + font-family: $primary-monospace; + } + } + } + + .settings__export--toggle { + &[value="0"] { + ~ .settings__export--json { display: none; } + ~ .settings__export--span { display: block; } + } + &[value="on"] { + ~ .settings__export--json { display: block; } + ~ .settings__export--span { display: none; } + } + } + + .glossary { + width: 75% !important; + height: 75% !important; + &--wrapper { + margin-top: 2rem; + } + &__entry { + display: grid; + grid-template-columns: 1fr auto 1fr; + height: 2rem; + align-items: center; + cursor: pointer; + &--line { + border-bottom: 2px solid transparent; + margin: 0 1rem; + } + &--header { + font-family: $primary-serif; + text-transform: uppercase; + } + } + &__definition { + padding: 0 1.5rem; + text-align: justify; + @include firstLetter; + } + } +} + +@media (prefers-color-scheme: light) { + .toolbar { + .settings { + &__mode, &__theme, &__tooltips { + &--header { + color: $primary-accent-light; + } + } + &__export{ + &--btn { + color: $primary-accent-light; + } + &--json { + background: $tertiary-background-light; + } + } + } + .glossary { + &__entry { + &--line { + border-color: $primary-highlight-light; + } + &--header { + color: $primary-accent-light; + } + } + } + } +} + +@media (prefers-color-scheme: dark) { + .toolbar { + .settings { + &__mode, &__theme, &__tooltips { + &--header { + color: $primary-accent-dark; + } + } + &__export{ + &--btn { + color: $primary-accent-dark; + } + &--json { + background: $tertiary-background-dark; + } + } + } + .glossary { + &__entry { + &--line { + border-color: $primary-highlight-dark; + } + &--header { + color: $primary-accent-dark; + } + } + } + } +} diff --git a/ARC/src/scss/components/common/_inputs.scss b/ARC/src/scss/components/common/_inputs.scss new file mode 100644 index 0000000000..27dc9b4441 --- /dev/null +++ b/ARC/src/scss/components/common/_inputs.scss @@ -0,0 +1,45 @@ + +input, textarea, select { + box-sizing: border-box; // Opera/IE 8+ + -moz-box-sizing: border-box; // Firefox, other Gecko + -webkit-box-sizing: border-box; // Safari/Chrome, other WebKit + + font-family: $primary-sans-serif; + font-size: 1rem; + background: none; + border: none; + border-bottom: 2px solid transparent; + border-radius: 0; + text-decoration: none; + line-height: 1.5rem; + @include fill-x; + + @media (prefers-color-scheme: light) { + border-color: $primary-border-light; + } + @media (prefers-color-scheme: dark) { + border-color: $primary-border-dark; + } +} + +input[type=text] { + height:3rem; + padding: 0; + padding-left: 1rem; +} +textarea { + resize: none; + min-height: 5rem; + max-height: 15rem; + overflow-y: scroll; + padding-top: 0.5rem; + padding-left: 1rem; +} +select { + height:3rem; +} +input[type='checkbox'].hide-element, +input[type='radio'].hide-element, +.hide-element { + display: none; +} diff --git a/ARC/src/scss/components/common/_mixins.scss b/ARC/src/scss/components/common/_mixins.scss new file mode 100644 index 0000000000..47782f917b --- /dev/null +++ b/ARC/src/scss/components/common/_mixins.scss @@ -0,0 +1,204 @@ + +@mixin sectionHeader { + display: flex; + &--span { + font-size: 1.33rem; + margin-right: 0.5rem; + } +} + +@mixin fill-x { + width: -moz-available; // WebKit-based browsers will ignore this. + width: -webkit-fill-available; // Mozilla-based browsers will ignore this. + // width: stretch; +} + +@mixin fill-y { + height: -moz-available; // WebKit-based browsers will ignore this. + height: -webkit-fill-available; // Mozilla-based browsers will ignore this. + // height: fill-available; + height: 40px; +} + +@mixin rotate($deg: -90deg) { + transform: rotate($deg); + // Legacy vendor prefixes + -webkit-transform: rotate($deg); // Safari + -moz-transform: rotate($deg); // Firefox + -ms-transform: rotate($deg); // IE + -o-transform: rotate($deg); // Opera +} + +@mixin square($length: 1rem) { + width: $length; + height: $length; +} + +@mixin contentImage($img) { + background-image: url("#{$root-url}#{$img}"); + background-size: 18px; + background-repeat: no-repeat; + @include square(18px); +} + +@mixin firstLetter { + &::first-letter { + font-family: $primary-serif; + font-size: 1.5rem; + font-weight: bold; + } +} + +@mixin imgHover { + opacity: 0.5; + &:hover { + opacity: 1; + } +} + +@mixin rollButton { + &--btn { + text-align: left; + white-space: nowrap; + margin-right: 0.5rem; + border: 1px solid transparent; + padding: 4px; + &:hover { + font-weight: bold; + @media (prefers-color-scheme: light) { + background: $primary-highlight-light; + border-color: $primary-highlight-light + } + @media (prefers-color-scheme: dark) { + background: $primary-highlight-dark; + border-color: $primary-highlight-dark + } + } + } +} + +@mixin repeatingSectionsButtons { + .ui-dialog .charsheet { + .repcontainer .repitem .itemcontrol { + .repcontrol_move, .repcontrol_del { + @include contentImage("unlock.svg"); + font-size: 0; + &:hover { + background-color: transparent; + opacity: 1; + } + } + + .repcontrol_move { + @include contentImage("move.svg"); + opacity: 0.5; + } + + .repcontrol_del { + @include contentImage("delete.svg"); + opacity: 0.5; + } + } + + .repcontainer.ui-sortable.editmode[data-groupname*="repeating_"] { + ~ .repcontrol[data-groupname*="repeating_"] { + .repcontrol_edit { + font-size: 0; + opacity: 0.5; + @include contentImage("unlock.svg"); + } + } + } + + .repcontrol_add, .repcontrol_edit { + display: flex; + justify-content: center; + align-items: center; + padding: 0.25rem 1rem; + margin: 0.5rem 0.25rem; + box-shadow: none; + outline: none; + + color: $jet; + font-family: $primary-serif; + font-weight: normal; + font-size: 0px; + letter-spacing: 0.04em; + text-shadow: none; + + &::before, &::after { + visibility: visible; + font-family: $primary-serif; + text-transform: uppercase; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.04em; + color: $jet; + } + + &:hover { + background-color: transparent; + opacity: 1; + } + } + + .repcontrol_add { + @include contentImage("add.svg"); + opacity: 0.5; + float: left; + } + + .repcontrol_edit { + @include contentImage("lock.svg"); + opacity: 0.5; + } + } +} + +@mixin fill-in-radios { + .radio__ranks { + display: flex; + } + .radio__rank { + order: 1; + @include square(13px); + margin: 0 0.25rem; + appearance: none; + -webkit-appearance: none; + cursor: pointer; + &:hover { + @media (prefers-color-scheme: light) { + background-color: $primary-highlight-light; + } + @media (prefers-color-scheme: dark) { + background-color: $primary-highlight-dark; + } + } + } + .radio__rank:checked { + display: none; + } + .radio__rank:checked ~ .radio__rank { + order: 3; + background-color: transparent; + &:hover { + @media (prefers-color-scheme: light) { + background-color: $primary-highlight-light; + } + @media (prefers-color-scheme: dark) { + background-color: $primary-highlight-dark; + } + } + } + .radio__rank.reset { + order: 2; + &:hover { + @media (prefers-color-scheme: light) { + background-color: $primary-highlight-light; + } + @media (prefers-color-scheme: dark) { + background-color: $primary-highlight-dark; + } + } + } +} diff --git a/ARC/src/scss/components/common/_popups.scss b/ARC/src/scss/components/common/_popups.scss new file mode 100644 index 0000000000..1e9df3f955 --- /dev/null +++ b/ARC/src/scss/components/common/_popups.scss @@ -0,0 +1,152 @@ + +.toggle-popup[value="0"] + .popup { + display: none; +} +.toggle-tooltip[value="0"] + .help { + display: none; +} + +.popup { + display: inline-flex; + flex-direction: column; + position: fixed; + top: 7rem; + left: 4rem; + border: 2px solid transparent; + padding: 0.5rem; + width: 50%; + z-index: 1000; + min-width: 255px; + box-shadow: 5px 5px 6px rgba($jet, 0.2); + + &__title { + display: flex; + justify-content: center; + margin-top: -1.5rem; + height: 2rem; + align-items: end; + text-align: center; + &--span { + padding: 0.2rem 0.5rem; + border: 2px solid transparent; + font-family: $primary-serif; + text-transform: uppercase; + } + } + &__close { + white-space: nowrap; + cursor: pointer; + height: 2rem; + position: absolute; + right: 1rem; + width: fit-content !important; + &:hover { + transition: all 1s; + @include rotate(360deg); + } + &--btn { + display: none !important; + } + &--symbol { + float: right; + @include square(18px); + @include imgHover; + } + } + &__header { + font-family: $primary-serif; + text-transform: uppercase; + padding-bottom: 8px; + @include sectionHeader; + } + &__content { + overflow-y: scroll; + @include firstLetter; + } +} + +.help { + @include square(12px); + &__label { + &--input{ + display: none !important; + } + &--icon { + @include square(12px); + cursor: help; + @include imgHover; + } + } +} + +@media (prefers-color-scheme: light) { + .popup { + border-color: $primary-highlight-light; + background: $primary-background-light !important; + color: $jet; + &__title { + &--span { + color: $primary-color-light; + background: $primary-highlight-light; + border-color: $primary-highlight-light; + } + } + &__header { + &--span { + color: $primary-accent-light; + } + } + &__close:hover { + color: $primary-accent-light; + fill: $primary-accent-light; + } + } +} + +@media (prefers-color-scheme: light) { + .popup { + border-color: $primary-highlight-light; + background: $primary-background-light !important; + color: $jet; + &__title { + &--span { + color: $primary-color-light; + background: $primary-highlight-light; + border-color: $primary-highlight-light; + } + } + &__header { + &--span { + color: $primary-accent-light; + } + } + &__close:hover { + color: $primary-accent-light; + fill: $primary-accent-light; + } + } +} + +@media (prefers-color-scheme: dark) { + .popup { + border-color: $primary-highlight-dark; + background: $primary-background-dark !important; + color: $jet; + &__title { + &--span { + color: $primary-color-dark; + background: $primary-highlight-dark; + border-color: $primary-highlight-dark; + } + } + &__header { + &--span { + color: $primary-accent-dark; + } + } + &__close:hover { + color: $primary-accent-dark; + fill: $primary-accent-dark; + } + } +} diff --git a/ARC/src/scss/layouts/_character.scss b/ARC/src/scss/layouts/_character.scss new file mode 100644 index 0000000000..f295537bb9 --- /dev/null +++ b/ARC/src/scss/layouts/_character.scss @@ -0,0 +1,24 @@ +.arc { + .arc__layout { + &--left { + display: grid; + grid-template-rows: repeat(4, auto) 1fr; + row-gap: 24px; + height: fit-content; + } + &--right { + display: grid; + grid-template-rows: repeat(4, auto); + row-gap: 24px; + height: fit-content; + } + @import "../components/health"; + @import "../components/approaches"; + @import "../components/skills"; + @import "../components/background"; + @import "../components/bonds"; + @import "../components/experience"; + @import "../components/consequences"; + @import "../components/inventory"; + } +} diff --git a/ARC/src/scss/layouts/_roll-template.scss b/ARC/src/scss/layouts/_roll-template.scss new file mode 100644 index 0000000000..f2ed09148b --- /dev/null +++ b/ARC/src/scss/layouts/_roll-template.scss @@ -0,0 +1,423 @@ + + +@mixin templateContainer { + width: 100%; + max-width: 400px; + + .sheet-arc { + &__container { + display: grid; + box-sizing: border-box; + gap: 0; + padding: 4px; + border: 1px solid transparent; + } + + &__banner { + height: 30px; + background-repeat: no-repeat; + background-size: contain; + height: 30px; + &.sheet-short-rest { + background-image: url("#{$root-url}tab_short_rest.png"); + } + &.sheet-long-rest { + background-image: url("#{$root-url}tab_long_rest.png"); + } + &.sheet-skill-test { + background-image: url("#{$root-url}tab_skill_check.png"); + } + } + + &__content { + display: grid; + grid-template-rows: auto 1fr; + row-gap: 12px; + background-repeat: no-repeat; + background-size: cover; + padding: 24px 8px 16px 8px; + min-height: 200px; + &.sheet-short-rest { + background-image: url("#{$root-url}bg_short_rest.png"); + } + &.sheet-long-rest { + background-image: url("#{$root-url}bg_long_rest.png"); + } + &.sheet-skill-test { + grid-template-rows: auto auto 1fr; + } + &.sheet-fallen { + background-image: url("#{$root-url}bg_fallen.png"); + } + } + + &__sentence { + display: flex; + flex-direction: row; + flex-wrap: wrap; + align-items: baseline; + padding: 4px; + + &--name { + font-family: $secondary-serif; + font-size: 3em; + color: $primary-accent-light; + text-align: left; + line-height: 1em; + font-weight: 900; + } + + &--verb { + font-family: $primary-sans-serif; + font-size: 1.33em; + padding: 0 0.25em; + text-align: left; + font-style: oblique; + &.sheet-short-rest { + color: $short-rest-primary-color; + } + &.sheet-long-rest { + color: $long-rest-primary-color; + } + &.sheet-skill-test { + color: $skill-test-primary-color; + } + &.sheet-fallen { + color: $fallen-primary-color; + } + } + + &--action { + font-family: $primary-sans-serif; + font-size: 2em; + font-weight: bold; + text-align: left; + font-style: oblique; + text-transform: lowercase; + &.sheet-short-rest { + color: $short-rest-primary-color; + } + &.sheet-long-rest { + color: $long-rest-primary-color; + } + &.sheet-skill-test { + color: $skill-test-primary-color; + } + &.sheet-fallen { + color: $fallen-primary-color; + } + &::after { + content: "."; + } + } + } + + &__footnote { + font-family: $secondary-serif; + text-align: end; + margin: 4px 0; + &--span { font-size: 0.8em; } + } + } +} + +%sheetResult { + flex: none; + order: 1; + flex-grow: 1; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +%inlinerollresult { + font-style: normal; + background: transparent; + border: 0px solid transparent; + box-sizing: border-box; + --box-shadow-color: transparent; + box-shadow: none; + cursor: help; +} + +%fullfail { + background: transparent; + border-color:transparent; + box-sizing: border-box; + --box-shadow-color:transparent; + border-radius: 0; +} + +%fullcrit { + background:transparent; + border-color:transparent; + box-sizing: border-box; + --box-shadow-color:transparent; + border-radius: 0; + background: none; +} + +.sheet-rolltemplate { + &-recover, + &-skills, + &-fallen { + @include templateContainer; + } +} + +.sheet-rolltemplate-recover { + .sheet-arc { + &__recover { + display: grid; + grid-template-columns: auto 1fr; + align-items: center; + column-gap: 4px; + font-family: $primary-sans-serif; + &--arrow, &--text { + line-height: 1.8em; + } + &.sheet-short-rest { + color: $primary-color-light; + .inlinerollresult { + border-color: $primary-color-light; + } + } + &.sheet-long-rest { + color: $secondary-color-light; + .inlinerollresult { + border-color: $tertiary-background-light; + } + } + .inlinerollresult { + @extend %inlinerollresult; + padding: 0 4px; + font-family: $primary-sans-serif; + font-weight: bold; + font-size: 1.33em; + border-bottom: 2px solid transparent; + } + } + } +} + +.sheet-rolltemplate-fallen { + .sheet-arc { + &__fallen { + display: grid; + grid-template-columns: auto 1fr; + align-items: flex-start; + column-gap: 4px; + font-family: $secondary-serif; + font-style: italic; + &--roll, &--text { + line-height: 1.8em; + } + &--text { + font-family: $primary-sans-serif; + } + &.sheet-fallen { + color: $secondary-color-light; + } + .inlinerollresult { + @extend %inlinerollresult; + padding: 0 4px; + font-weight: bold; + font-size: 3em; + } + } + } +} + +.sheet-rolltemplate-skills { + .sheet-display-control { + display: none; + &.sheet-success ~ .sheet-arc__content { + &.sheet-skill-test { + background-image: url("#{$root-url}bg_check_success.png"); + } + .sheet-arc__roll--value { + box-shadow: 0 0 4px 4px $skill-test-success-border; + border-color: $skill-test-success-shadow; + } + } + &.sheet-tie ~ .sheet-arc__content { + &.sheet-skill-test { + background-image: url("#{$root-url}bg_check_tie.png"); + } + .sheet-arc__roll--value { + border: 1px solid $skill-test-tie-border; + box-shadow: 0px 0px 4px 4px $skill-test-tie-shadow; + } + } + &.sheet-fail ~ .sheet-arc__content { + &.sheet-skill-test { + background-image: url("#{$root-url}bg_check_fail.png"); + } + .sheet-arc__roll--value { + border: 1px solid $skill-test-fail-border; + box-shadow: 0px 0px 4px 4px $skill-test-fail-shadow; + } + } + } + + .sheet-arc { + &__approach-skill { + display: grid; + grid-template-columns: auto 1fr; + grid-template-rows: 35px auto 1fr; + align-items: center; + column-gap: 4px; + font-family: $primary-sans-serif; + + &--arrow { + grid-row: 1 / 3; + grid-column: 1 / 2; + color: $secondary-color-light; + } + &--approach { + background-repeat: no-repeat; + background-size: contain; + height: 35px; + &.sheet-creative { + background-image: url("#{$root-url}text_creative.svg"); + } + &.sheet-careful { + background-image: url("#{$root-url}text_careful.svg"); + } + &.sheet-concerted { + background-image: url("#{$root-url}text_concerted.svg"); + } + } + &--text { + font-family: $secondary-serif; + font-size: 2em; + text-transform: uppercase; + color: $secondary-color-light; + &::before { + content: "& "; + font-family: $secondary-serif; + color: $primary-accent-light; + } + } + } + + &__results { + display: grid; + grid-template-columns: 1fr auto; + column-gap: 4px; + align-content: center; + &--text { + grid-column: 1 / 2; + display: flex; + align-items: flex-end; + justify-content: flex-start; + } + &--values { + grid-column: 2 / 3; + display: grid; + grid-template-columns: 1fr auto 1fr; + grid-template-rows: auto 1fr; + row-gap: 4px; + align-content: center; + } + } + + // sheet-arc__results--text + &__success, &__tie, &__fail { + font-size: 2em; + line-height: 1em; + font-family: $primary-sans-serif; + &--span { + white-space: nowrap; + padding-right: 8px; + } + } + &__success--span { + color: $skill-test-success-color; + } + &__tie--span { + color: $skill-test-tie-color; + } + &__fail--span { + color: $skill-test-fail-color; + } + + // sheet-arc__results--values + &__flawless, &__roll, &__versus, &__tn { + display: flex; + flex-direction: column; + &--header { + grid-row: 1 / 2; + display: flex; + justify-content: center; + font-family: $primary-sans-serif; + color: $secondary-border-light; + } + } + + &__flawless, &__roll, &__tn { + &--value { + grid-row: 2 / 3; + font-family: serif; + height: 42px; + width: 42px; + display: flex; + align-items: center; + justify-content: center; + position: relative; + .inlinerollresult { + @extend %inlinerollresult; + font-size: 36px; + line-height: 36px; + position: absolute; + bottom: 0; + } + } + } + &__roll { + &--header { + color: $secondary-color-light; + } + &--value { + color: transparent; + } + } + &__tn { + &--value { + border: 1px solid $skill-test-threshold-border; + box-shadow: 0 0 4px 4px $skill-test-threshold-shadow; + color: $skill-test-threshold-color; + background: rgba($skill-test-threshold-background, 0.7); + } + } + &__versus { + &--value { + grid-row: 2 / 3 ; + display: flex; + align-items: center; + justify-content: center; + z-index: 1; + } + &--symbol { + position: absolute; + font-family: $primary-sans-serif; + font-weight: bold; + text-align: center; + font-size: 24px; + padding: 2px; + color: $secondary-color-light; + @include square(18px); + &.sheet-success { + background: $skill-test-success-symbol; + } + &.sheet-tie { + background: $skill-test-tie-symbol; + } + &.sheet-fail { + background: $skill-test-fail-symbol; + } + } + } + } +} diff --git a/ARC/src/scss/meta/_breakpoints.scss b/ARC/src/scss/meta/_breakpoints.scss new file mode 100644 index 0000000000..37aa82d59b --- /dev/null +++ b/ARC/src/scss/meta/_breakpoints.scss @@ -0,0 +1,135 @@ + +.arc { + max-width: $xlarge; + display: grid; + grid-template-columns: 1rem 1fr 1rem; + grid-template-rows: auto auto 1fr; + row-gap: 1rem; + + .toolbar { + grid-row: 1; + grid-column: 2; + } + + &__header { + grid-row: 2; + grid-column: 2; + } + + &__layout { + grid-column: 2; + grid-row: 3; + display: grid; + grid-template-columns: 3fr 2fr; + column-gap: 1rem; + width: 100%; + justify-content: center; + + &--left { + grid-row: 1 / 2; + grid-column: 1 / 2; + + .healths { + grid-row: 1; + } + .approaches { + grid-row: 2; + } + .skills { + grid-row: 3; + } + .inventory { + grid-row: 4; + } + } + + &--right { + grid-row: 1 / 2; + grid-column: 2 / 3; + .background { + grid-row: 1; + } + .bonds { + grid-row: 2; + } + .experience { + grid-row: 3; + } + .consequences { + grid-row: 4; + } + } + } + + input[name*="sheet_type"] { + &[value="npc"] { + ~ .arc__layout { + grid-template-columns: auto; + } + ~ .arc__layout--right { + display: none; + } + } + } +} + +@media only screen and (max-width: $medium) { + .arc { + display: grid; + grid-template-columns: 1rem 1fr 1rem; + grid-template-rows: auto auto 1fr; + row-gap: 1rem; + + .toolbar { + grid-row: 1; + grid-column: 2; + } + + &__header { + grid-row: 2; + grid-column: 2; + } + + &__layout { + grid-column: 2; + grid-row: 3; + display: grid; + grid-template-columns: auto; + width: 100%; + + &--left { + grid-row: 1; + grid-column: 1; + .healths { + grid-row: 1; + } + .approaches { + grid-row: 2; + } + .skills { + grid-row: 3; + } + .inventory { + grid-row: 4; + } + } + + &--right { + grid-column: 1; + grid-row: 2; + .background { + grid-row: 1; + } + .bonds { + grid-row: 2; + } + .experience { + grid-row: 3; + } + .consequences { + grid-row: 4; + } + } + } + } +} diff --git a/ARC/src/scss/meta/_buttons.scss b/ARC/src/scss/meta/_buttons.scss new file mode 100644 index 0000000000..26e45a36ce --- /dev/null +++ b/ARC/src/scss/meta/_buttons.scss @@ -0,0 +1,17 @@ + +button[type=roll], button[type=action] { + font-size: 1rem; + outline: none; + border: none; + border-radius: 0; + margin: 0; + padding: 0; + text-shadow: none; + box-shadow: none; + background: none; + + &::before { + font-family: none; + content: none; + } +} diff --git a/ARC/src/scss/meta/_reset.scss b/ARC/src/scss/meta/_reset.scss new file mode 100644 index 0000000000..d8bda25ac4 --- /dev/null +++ b/ARC/src/scss/meta/_reset.scss @@ -0,0 +1,87 @@ +* { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + + height: unset; + width: unset; + padding: unset; + margin: unset; + + font-family: unset; + font-size: 1rem; + font-weight: unset; + line-height: unset; + + color: unset; + border: unset; + border-radius: unset; + background: unset; + background-color: unset; +} + +h1, h2, h3, h4, h5 { + font-size: unset; + line-height: unset; + + color: unset; +} + +label, input, input[type=number], +select, textarea, button, button[type=roll] { + display: unset; + width: unset; + height: unset; + padding: unset; + margin-bottom: unset; + + font-family: unset; + font-size: unset; + font-weight: unset; + line-height: unset; + + color: unset; + border: unset; + border-radius: unset; + background: unset; + background-color: unset; + box-shadow: unset; +} + +button[type=roll] { + &::before { + display: none; + } +} + +input[disabled], select[disabled], textarea[disabled], +input[readonly], select[readonly], textarea[readonly] { + background-color: unset; + border-color: unset; +} + +fieldset { + background: transparent; +} + +span { + word-break: break-word; +} + +// Firefox +input[type=number] { + text-align: center; + width: 100%; + -moz-appearance: textfield; + + &::-webkit-outer-spin-button, + &::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; + } +} + +.btn:hover { + background-position: 0 0; + background-color: transparent; +} diff --git a/ARC/src/scss/meta/_variables.scss b/ARC/src/scss/meta/_variables.scss new file mode 100644 index 0000000000..4ed938d3e2 --- /dev/null +++ b/ARC/src/scss/meta/_variables.scss @@ -0,0 +1,93 @@ + +// BREAKPOINTS +$xlarge: 960px; +$large: 720px; +$medium: 540px; +$small: 375px; + +// FONTS +@import url("https://fonts.googleapis.com/css?family=Josefin+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap"); +@import url("https://fonts.googleapis.com/css?family=Piazzolla:ital,wght@0,400;0,700;1,400;1,700&display=swap"); +@import url("https://fonts.googleapis.com/css?family=Playfair+Display:ital,wght@0,400;0,700;1,400;1,700&display=swap"); +@import url("https://fonts.googleapis.com/css?family=Fira+Code&display=swap"); + +$primary-sans-serif: "Josefin Sans", sans-serif; +$primary-serif: "Piazzolla", serif; +$secondary-serif: "Playfair Display", serif; +$primary-monospace: "Fira Code", monospace; + +// ASSETS +// Icons made by Pixel Perfect +// https://flaticon.com/authors/pixel-perfect +$root-url: "https://raw.githubusercontent.com/morgdalaine/arc-momatoes/main/character-sheet/ARC/assets/"; + +// COLORS +// https://coolors.co/171212-32635b-358b6d-82a677-dabb3d-efdd86-acb7b1-eaebe8-f6f7f6-fefeff +$ash: #acb7b1; +$asparagus: #82a677; +$buff: #efdd86; +$cultured: #f6f7f6; +$emerald: #358b6d; +$jet: #171212; +$lionet: #dabb3d; +$myrtle: #32635b; +$platinum: #eaebe8; +$snow: #fefeff; + +// LIGHT +$primary-color-light: $jet; // JET +$secondary-color-light: $snow; // SNOW + +$primary-accent-light: $lionet; // LIONET +$primary-highlight-light: $buff; // BUFF +$primary-border-light: $ash; // ASH +$primary-background-light: $snow; // SNOW + +$secondary-accent-light: $myrtle; // MYRTLE +$secondary-highlight-light: $emerald; // EMERALD +$secondary-border-light: $platinum; // PLATINUM +$secondary-background-light: $platinum; // PLATINUM + +$tertiary-background-light: $cultured; // CULTURED + +// DARK +$primary-color-dark: $jet; // JET +$secondary-color-dark: $snow; // SNOW + +$primary-accent-dark: $lionet; // LIONET +$primary-highlight-dark: $buff; // BUFF +$primary-border-dark: $ash; // ASH +$primary-background-dark: $snow; // SNOW + +$secondary-accent-dark: $myrtle; // MYRTLE +$secondary-highlight-dark: $emerald; // EMERALD +$secondary-border-dark: $platinum; // PLATINUM +$secondary-background-dark: $platinum; // PLATINUM + +$tertiary-background-dark: $cultured; // CULTURED + +// ROLL TEMPLATE +$fallen-primary-color: $snow; +$long-rest-primary-color: $asparagus; +$short-rest-primary-color: $myrtle; + +$skill-test-primary-color: $snow; +$skill-test-success-color: $lionet; +$skill-test-success-border: #7f690b; +$skill-test-success-shadow: #7f690b; +$skill-test-success-symbol: #7f690b; + +$skill-test-tie-color: #89a57d; +$skill-test-tie-border: #2b4434; +$skill-test-tie-shadow: #2b4434; +$skill-test-tie-symbol: #2b4434; + +$skill-test-fail-color: $ash; +$skill-test-fail-border: #3c2f27; +$skill-test-fail-shadow: #3c2f27; +$skill-test-fail-symbol: #314d3c; + +$skill-test-threshold-color: #6a878e; +$skill-test-threshold-background: #192120; +$skill-test-threshold-border: #394143; +$skill-test-threshold-shadow: #2b3639; diff --git a/ARC/translation.json b/ARC/translation.json new file mode 100644 index 0000000000..c0e19977a0 --- /dev/null +++ b/ARC/translation.json @@ -0,0 +1,357 @@ +{ + "1d6": "d6", + "2d6": "2d6", + "_": "", + "academic": "Academic", + "academic_description": "The pursuit of formal knowledge, primarily scientific or historical in nature—for example, recalling precolonial orcish history, theorizing a scientific principle, or understanding formal chemistry.

As with other Knowledge Skills, when used with the Creative Approach, the hero: theorizes, shifts, thinks laterally; with Careful, they: assess, inquire, analyze; and for Concerted: recalls, restores, overwrites.", + "acrobatics": "Acrobatics", + "acrobatics_description": "Dynamic balance, gymnastics, or other incredible and immediate feats of agility—for example, performing a somersault through the air, jumping from one tree to another, or balancing on a precarious ledge.

As with other Physical Skills, when used with the Creative Approach, the hero: bedazzles, innovates, exceeds expectations; with Careful, they: optimize, safeguard, follow best practice; and for Concerted: charges, endures, overwhelms.", + "acting_beyond_attacks": "Acting beyond attacks", + "advantage": "Advantage", + "advantage_description": "Advantages give bonuses to the TN of subsequent Skill Checks by allies. Creating an Advantage uses up an action in Conflict, and typically requires a Skill Check—for example, distracting an enemy with Guile. If successful, the hero improves the TN of their allies' Skill Checks by a number equal to the Skill Ranks they used.

If the Advantage can be made with minimal risk—like stringing tripwire away from the scuffle—then the Advantage can be made without requiring a Skill Check. TN improvement would then be +1 for Advantages impairing enemies' actions; +2 for Advantages completely preventing an enemy action.", + "approach": "Approach", + "approach_description": "Approaches represent the hero's aptitude for solving problems in a specific way: whether towards Creative solutions, Careful and detail-oriented approach, or sheer Concerted willpower. They also directly determine how easy a Skill Check can be. Approach Scores range from +0 to +3—zero means no aptitude, +1 is average, +2 is gifted, and +3 is expert.

If all Approach Scores are reduced to zero, typically through extensive damage exceeding the hero's Blood or Guts, then the hero falls. Approach Scores are determined at Hero Creation and may be increased through Experience Points (XP).", + "arcana": "Arcana", + "arcana_description": "Recall lore, sense spirits, channel magic; required to perform enhanced Spells as well as learning completely new instances. Other applications include—reading magical runes, detecting if magic was recently cast, or gathering ingredients for a ritual.

When used with the Creative approach, the hero: explores, expands, creates; with Careful, they: sense, attune, investigate; for Concerted: memorizes, remembers, commits.", + "artistry": "Artistry", + "artistry_description": "Crafting, design, painting or other creative expressions—for example, painting the moon duke's portrait, writing an evocative love poem, or identifying intentional designs in someone's cryptic artwork.

As with other Pragmatic Skills, when used with the Creative Approach, the hero: invents, adapts, experiments; with Careful, they: soothe, refine, survey; and for Concerted: rushes, withstands, or brute forces.", + "assistance": "Assistance", + "assistance_description": "Whenever someone rolls a Skill Check, one player may choose to Assist and add their hero's major levels of Bond to the Threshold Number (TN). Assistance can also occur during Conflict. In Conflict, Assistance must be declared as an action for their Turn so an Assisting player can add their bonus to an ally's next Skill Check.

Sacrificing minor levels of Bond for a reroll may occur anytime and instantly.", + "attack": "Attack", + "attack_description": "Attacking an enemy to inflict Damage to Blood or Guts. Attacks require a successful Skill Check to succeed, either with Physique or Weaponry to harm Blood, or Insight or Impose for Guts. Other Skills may be used with sufficient justification and if the target is particularly vulnerable to it.

Like with all Skill Checks, Difficulty Modifiers may apply, as well as Assistance, though that requires an ally to declare it as their action for their Turn. Defense items, such as armor, reduce TN by their rating (e.g. +3).", + "base_effect": "Base Effect", + "blood": "Blood", + "blood_description": "Blood is a number representing the hero's ability to withstand physical harm: a spear thrust, a devastating punch, or even a bucket thrown to the head. The higher it is, the \"healthier\" the hero is. Physical damage reduces Blood directly; when Blood is zero, any further Blood damage harms Approach Scores directly instead.

Blood, like Guts, can be restored by resting and can even vary from day to day. When a hero wakes up from a Long Rest, their player may roll 2d6 plus a Blood modifier determined at Hero Creation. The modifier can be improved with experience points (XP) and also has an impact on how much time Long Rest needs, which is equal to 10 in-story hours minus whichever is lower between Blood and Guts modifier.", + "bonds": "Bonds", + "bonds_description": "Bonds represent two heroes' relationships, and are tracked through big boxes divided in quadrants. Every minor level of Bond fills a quadrant; when four quadrants of a box are filled, that counts as a major level. Having deeper Bonds is helpful and contributes to more successful Assistance during Skill Checks and even Conflict.

Bonds can be increased during play whenever a hero accepts an inconvenience for an ally (+1 minor level up to 1st big box/major level) or accepts harm or serious risk (+2 minor levels up to the 2nd big box/2nd major level). Making a permanently life-changing, greatly difficult personal choice or even likely fatal sacrifice adds +4 minor levels of Bond and is the only way to complete the last, 3rd major level of relationship.", + "boon": "Boon", + "boon_placeholder": "Damage or defense modifier, e.g. +1 Guts Damage", + "careful": "Careful", + "careful_description": "One of three Approaches that can be declared when using a Skill and that directly contributes to the base Threshold Number (TN).

Skills using this approach utilize close attention to detail, analyzing variables and ensuring the action does not trigger any unwanted consequences. Like every Approach Scores, it can have a value of +0 (no aptitude) to +3 (expert), and can be reduced if the hero sustains extensive damage.", + "character_mode": "Character", + "character_name": "A hero rises to save the world, thus named:", + "charisma": "Charisma", + "charisma_description": "Appealing or approachable charm, with a penchant for smooth talk, humor and wit. For example—convincing the witch to join your cause through eloquent argument, flattering the errant knight's sense of justice, mediating between warring kings with a winning smile.

As with other Social Skills, when used with the Creative Approach, the hero: charms, incites, inspires; with Careful, they: reason, detail, guide; and for Concerted: intimidates, enforces, invades.", + "chooses": "chooses", + "combat_booming_voice": "Booming voice [+1 Physical damage]", + "combat_critical_thinking": "Critical thinking [+2 Psychosocial resist]", + "combat_crossbow": "Crossbow [+2 Physical damage]", + "combat_cunning_wit": "Cunning wit [+3 Psychosocial damage]", + "combat_dagger": "Dagger [+1 Physical damage] and a toga [+1 Physical resist]", + "combat_darts": "8 darts [+1 Physical damage each]", + "combat_devastating_vocabulary": "Devastating vocabulary [+2 Psychosocial damage]", + "combat_flaming_sword": "Flaming sword [+3 physical damage]", + "combat_health": "Psychosocial Health", + "combat_iron_briefs": "Iron briefs [+1 Physical resist]", + "combat_love_letter": "Loving letter from a dearly beloved person [+3 Psychosocial resist]", + "combat_memories_of_hardship": "Memories of hardship [+1 Psychosocial resist]", + "combat_pitchfork": "Pitchfork [+0 Physical damage]", + "combat_plate_armor": "Plate armor [+2 Physical resist]", + "combat_scowling_face": "A scowling face [+0 Psychosocial damage]", + "combat_self_esteem": "Self-esteem [+1 Psychosocial damage] and personal growth [+1 Psychosocial resist]", + "combat_studden_leather_armor": "Studded leather armor [+1 Physical resist] and stoicism [+1 Psychosocial resist]", + "combat_sturdy_sword": "Sturdy sword [+2 Physical damage]", + "combat_well_rounded_education": "Well-rounded education [+1 Psychosocial damage]", + "complexity": "Complexity", + "complexity_description": "Complexity measures its approximate power level from 1 to 4, whether the Spell or Technique is lowly or affects the entire world.", + "concerted": "Concerted", + "concerted_description": "One of three Approaches that can be declared when using a Skill and that directly contributes to the base Threshold Number (TN).

Skills using this approach exemplify effort, grit and willpower. Any obstacle is surmountable when there's the drive to succeed. Like every Approach Scores, it can have a value of +0 (no aptitude) to +3 (expert), and can be reduced if the hero sustains extensive damage.", + "conflict": "Conflict", + "conflict_description": "Conflicts occur when danger is imminent and victory is on the line—such as a tavern fight or even a showdown with courtesans. Conflicts require unique rules that carefully sequence everyone's actions according to Rounds and Turns.

Characters can take one action on their Turn and move up to 2 heights freely; all characters have one Turn per Round. A character's choice of action for their Turn determines when their Turn begins—known as Initiative Category.", + "consequence": "Consequence", + "consequence_description": "When the die roll for a Skill Check is tied with the TN, the player may choose to Succeed with a Consequence complicating the hero and their allies' situation. This may include delays or inefficiency, permanent or temporary loss of a resource, discord and misunderstanding, overskill or overspill, or perhaps even a mystery complication that will only be made apparent later.", + "coordination": "Coordination", + "coordination_description": "Delicate positioning and control of body, hand and instincts for smooth or purposeful movements. For example—moving quietly and efficiently to avoid detection, playing sleight of hand tricks, winning a sport requiring accurate hand-eye coordination.

As with other Physical Skills, when used with the Creative Approach, the hero: bedazzles, innovates, exceeds expectations; with Careful, they: optimize, safeguard, follow best practice; and for Concerted: charges, endures, overwhelms.", + "creative": "Creative", + "creative_description": "One of three Approaches that can be declared when using a Skill and that directly contributes to the base Threshold Number (TN).

Skills using this approach are performed in interesting, unusual and surprising ways. Cleverness also applies. Like every Approach Scores, it can have a value of +0 (no aptitude) to +3 (expert), and can be reduced if the hero sustains extensive damage.", + "culture": "Culture", + "culture_description": "The ability to attune with a community's beliefs, customs and stories. For example—bowing perfectly in front of the witch-warriors of legend, noticing the elder's coded folksong, and realizing the truth behind a creature's folklore.

As with other Knowledge Skills, when used with the Creative Approach, the hero: theorizes, shifts, thinks laterally; with Careful, they: assess, inquire, analyze; and for Concerted: recalls, restores, overwrites.", + "current": "Current", + "damage": "Damage", + "damage_and_defense": "Damage & Defense", + "damage_and_defense_description": "DAMAGE ITEMS provide bonuses to damage whenever you attack a creature. Meanwhile, DEFENSE ITEMS reduce damage and also make it harder for you to be hit.", + "damage_description": "Whenever an Attack is successful, it depletes the victim's Blood or Guts—depending on the nature of the Attack—with Damage. Damage is equal to the TN of the Attack, plus any applicable bonuses from Damage items such as weaponry. A +2 mace, for example, adds +2 to total Damage. Damage can reduce Blood or Guts to zero or less; if this happens, the next successful Attack harms the victim's Approach Scores directly.

On the other hand, Defense items such as shields reduce the TN of the Attack itself, meaning it also helps reduce the total Damage.", + "defending_attacking": "Defending/Attacking", + "description": "Description", + "description_placeholder": "Description...", + "difficulty": "Difficulty", + "difficulty_modifier": "Difficulty Modifier", + "difficulty_modifier_description": "The Difficulty Modifier reflects if a particular Skill Check is extra challenging or easy, and is determined by the Guide prior to rolling to determine the total TN. If the hero is ill-prepared or has the wrong tools for the job, for example, the Difficulty Modifier may reduce the TN for a more punishing Skill Check.

A +1 Difficulty Modifier means the Skill Check is easier; -1 to -3 mean it's more difficult than expected, possibly because of missing or incorrect tools and preparation; the target of the action having resistances specific to that task, or even other, perilous risks.", + "doom": "Doom", + "doom_description": "A cataclysmic event threatening to devastate the world of the heroes or their people. It can be large in scope—for example, a world-sundering earthquake triggered by a goddess’ death—or more intimate—a cruel heartbreak, or the farewell of an era.

If Doom is vanquished, congratulations: the heroes may bask in success, or perhaps even use it as springboard for grander adventures. If Doom vanquishes all? Decide: accept an epilogue, create beginnings from this scorched world, or even defy fate and rewind time itself.", + "doomsday_clock": "Doomsday Clock", + "doomsday_clock_description": "Tracks time left until the Doom. The Doomsday Clock is made up of \"Moments\" and advances at a set pace determined by the game's intended number of sessions. Each time the Clock advances, one Moment is consumed, and an Omens roll is made to determine if more disappear. When all Moments are gone, the apocalypse is unleashed.", + "enhanced": "Enhanced Version", + "experience": "Experience", + "export_character": "Export Character", + "fallen_consequence_1": "Can no longer verbally or visibly communicate but gains telepathy.", + "fallen_consequence_2": "Bears a constantly bleeding wound that deals no damage.", + "fallen_consequence_3": "Gains an unnerving presence; children and animals flee from them.", + "fallen_consequence_4": "Has a prophetic vision of three pale girls clawing their way up from the soil.", + "fallen_consequence_5": "No longer blinks and must constantly apply water to their eyes.", + "fallen_consequence_6": "May now speak to the dead.", + "fallen_consequences": "Fallen Consequences", + "fallen_heroes": "Fallen Heroes", + "fallen_heroes_description": "Whenever a hero's Blood or Guts is reduced to zero or less, and they get hit with a subsequent attack that depletes all their Approach Scores, they Fall, and the player must choose whether the hero lives with randomly-rolled consequences, or they die. If life, then the consequence is rolled, Approach Scores are restored to their prior value, and the hero wakes up after 5 real-time minutes and an in-story hour; if death, all other heroes gain XP equal to 3x the fallen hero's minor levels of Bond—and the Doomsday Clock consumes a Moment.", + "focus": "Focus", + "focus_description": "Hone attention, concentrate mental spirit; required to perform Enhanced Techniques as well as learning completely new instances. Other applications include—enduring intense mental duress, resisting distraction and committing to the present objective, and pushing the body past its limits.

When used with the Creative approach, the hero: explores, expands, creates; with Careful, they: sense, attune, investigate; for Concerted: memorizes, remembers, commits.", + "glossary": "Glossary", + "group_skill_check": "Group Skill Check", + "group_skill_check_description": "If heroes wish to tackle a task collectively—for example, scouring the woods together for supplies—a Group Skill Check applies. A Group Skill Check consists of all players making individual Skill Checks with any relevant Approach or Skill; if more than half succeed, the party also succeeds as a whole. However, each failed Skill Check may incur unusual complications.", + "guile": "Guile", + "guile_description": "Deception and manipulation through lies, bluffs or other chicanery and trickery. For example—lying to the tindero, bluffing about a possessing a weapon that vaporizes enemies, tricking misguided youth to plant false evidence on the blacksmith.

As with other Social Skills, when used with the Creative Approach, the hero: charms, incites, inspires; with Careful, they: reason, detail, guide; and for Concerted: intimidates, enforces, invades.", + "guts": "Guts", + "guts_description": "Guts is a number representing the hero's ability to withstand combat harm: a devastating comeback, a piercing betrayal, even fear. Enhancing Spells & Techniques typically incurs damage to Guts as well. The higher Guts is, the \"healthier\" the hero is. Psychosocial damage reduces Guts directly; when Guts is zero, any further Guts damage harms Approach Scores directly instead.

Guts, like Blood, can be restored by resting and can even vary from day to day. When a hero wakes up from a Long Rest, their player may roll 2d6 plus a Guts modifier determined at Hero Creation. The modifier can be improved with experience points (XP) and also has an impact on how much time Long Rest needs, which is equal to 10 in-story hours minus whichever is lower between Blood and Guts modifier.", + "impose": "Impose", + "impose_description": "Radiating a sense of authority and confidence that can enforce opinion, cut down others, or tower over everyone. Impose is one of two Skills that can automatically inflict Guts Damage during Conflict; the other is Insight. Other applications—intimidating the devil with a swagger, gaining the attention of the elitist bard, distracting the guard captain with a devastating remark.

As with other Social Skills, when used with the Creative Approach, the hero: charms, incites, inspires; with Careful, they: reason, detail, guide; and for Concerted: intimidates, enforces, invades.", + "initiative_category": "Initiative Category", + "initiative_category_description": "Initiative Category determines whose Turn is next in any Round during Conflict. In order: 1st—those who Stand Ground, 2nd—those taking non-harmful actions, including creating Advantages, 3rd—those attacking others, 4th—those using a Spell or Technique, and last—those moving far. Multiple characters can act in the same Category, though heroes and allies always act first and can decide among themselves how to sequence their actions.

Before each Round, players may decide beforehand what everyone's Initiative Category is.", + "insight": "Insight", + "insight_description": "Attunement to others' emotional states; inner grace and maturity in interactions. Insight is one of two Skills that can automatically inflict Guts Damage during Conflict; the other is Impose. Other applications—realizing the mambabarang is lying, knowing how to comfort a grieving widow, appearing calm and composed.

As with other Social Skills, when used with the Creative Approach, the hero: charms, incites, inspires; with Careful, they: reason, detail, guide; and for Concerted: intimidates, enforces, invades.", + "inventory": "Inventory", + "inventory_description": "Useful items that create new opportunities or capabilities for a hero. Surviving a cold night in wilderness, for example, is much easier with a tent and flint & tinder. Spells & Techniques also count for inventory. Other types of inventory include: Damage & Defense items which include weaponry and protection, Supplies & Sundries such as rations and bedrolls, and Oddities and Valuables, which are very strange indeed.", + "item_name": "Name", + "item_points": "Points", + "item_pool": "Pool", + "item_quantity": "Qty.", + "item_type": "Item Type", + "item_used": "Spent", + "knowledge": "Knowledge", + "knowledge_description": "Careful: assess, inquire, analyze
Concerted: recall, memorize, restore
Creative: theorize, shift, make logical connections", + "learning_spells_and_techniques": "Learning Spells & Techniques", + "learning_spells_and_techniques_base_effect": "To gain a new Spell or Technique—either an additional instance or a brand-new power—the hero must have access to a source that can teach them, as well as a number of successful, special Skill Checks equal to the Spell or Technique's Complexity, and with TN equal to pure Arcana or pure Focus; Approach doesn't factor.

The teaching source must be available whenever the special Skill Check is made, for example as a spellbook that the hero carries, or even a living mentor who accompanies them.", + "life": "Life", + "life_and_death": "Life & Death: Fallen Heroes", + "long_rest": "Long Rest", + "makes_them_different": "What makes them different?", + "max": "Max", + "mod": "Mod", + "modifier": "Modifier", + "moment": "Moment", + "moment_description": "Makes up the Doomsday Clock. Whenever the Clock advances, one Moment is automatically consumed, and a number of dice is rolled equal to Omens still in play; for every 5 or 6, another Moment is depleted. When all Moments are gone, so is time to save the world—as the Doom finally arrives.

The number of Moments in play is determined at the start by the length of the game in sessions and/or hours.", + "movement_in_conflict": "Movement in Conflict", + "movement_in_conflict_description": "In Conflict, heroes may move up to 2 heights freely during their Turn. However, moving further away and up to 5 heights is an action of its own. If the hero is being attacked or targeted by an enemy, they must succeed at a Skill Check such as Acrobatics to successfully move away; otherwise, they may opt to move anyway but allow enemies within 2 heights to roll for a free Attack on them.", + "name_placeholder": "Name...", + "npc_mode": "NPC", + "npc_name": "Name", + "observe": "Observe", + "observe_description": "Aptitude in observing the world and detecting the smallest details across all senses—for example, detecting a strange whiff, a faint sound or an unusual taste; searching a murder scene for physical clues; or recalling a scene's details hours later.

As with other Knowledge Skills, when used with the Creative Approach, the hero: theorizes, shifts, thinks laterally; with Careful, they: assess, inquire, analyze; and for Concerted: recalls, restores, overwrites.", + "oddities_ancient_ring": "An ancient and unbreakable ring", + "oddities_and_valuables": "Oddities & Valuables", + "oddities_and_valuables_description": "ODDITIES AND VALUABLES are exactly what it says on the tin: strange, fantastical yet oftentimes high-value items. Some may be magical in nature.", + "oddities_darkvision_glasses": "A pair of glasses granting darkvision", + "oddities_dead_donkey": "The bottom half of a dead donkey", + "oddities_divine_blood": "A vial of a divine being’s blood", + "oddities_giant_serpent_scales": "Worn skin and scales of a giant serpent", + "oddities_hat": "A hat that somehow always keeps your head dry", + "oddities_heavy_crown": "A heavy crown with an oppressive aura", + "oddities_human_teeth": "A pouch of human teeth", + "oddities_monkey_head": "Shrunken monkey heads", + "oddities_potion_brawn": "A Potion of Brawn that adds +2 to Physical damage and +2 to Physical resist for the next real-time hour", + "oddities_seashell_horn": "A seashell horn good luck charm", + "oddities_seeds": "A fistful of seeds that when planted instantly become 6-height tall stalks", + "oddities_shadow_mirror": "A mirror that shows a normal reflection except with dark, roaming shadowy beings", + "oddities_silk_dress": "A constantly-glowing silk dress", + "oddities_songbird": "A songbird in a cage", + "oddities_telepathic_yak": "A telepathic yak", + "oddities_troll_flesh": "A pound of constantly-regenerating troll flesh. It’s edible but the flavor is atrocious", + "oddities_tyrant_pants": "The pants of a local tyrant", + "omen": "Omen", + "omen_description": "Omens are story fronts—arcs that can develop independently from player action—that speed the arrival of the Doom. Whenever the Doomsday Clock advances, one Moment is consumed, and a number of dice is rolled equal to Omens still in play. For every 5 or 6, an additional Moment may be consumed.

Games typically start with 3 Omens in play, though short games (e.g. less than 3 hours) may have only two.", + "opportunity": "Opportunity", + "opportunity_description": "When the die roll for a Skill Check is tied with TN, the player may choose to Fail their action but gain an Opportunity improving the hero and their allies' situation. This may include risk reduction (such as deescalating tensions), risk redirection (like putting someone else on the spot), gaining trust or respect from allies or onlookers, gaining new knowledge, or even a mystery boon that will only be made apparent later.", + "painful_lesson": "Most painful lesson", + "physical": "Physical", + "physical_description": "Careful: assess, be safe, be calm, follow guidelines
Concerted: charge, endure, overwhelm
Creative: bedazzle, innovate, exceed expectations", + "physical_health": "Physical Health", + "physique": "Physique", + "physique_description": "Exertion of physical strength, stamina and constitution. Physique is one of two Skills that can automatically inflict Blood Damage during Conflict; the other is Weaponry. Other applications include: striking an enemy with a hard punch, smashing a door with a battering ram, holding breath deep underwater.

As with other Physical Skills, when used with the Creative Approach, the hero: bedazzles, innovates, exceeds expectations; with Careful, they: optimize, safeguard, follow best practice; and for Concerted: charges, endures, overwhelms.", + "player_name": "Player Name", + "portrait": "Portrait", + "practical": "Practical", + "practical_description": "Careful: soothe, refine, survey
Concerted: rush, withstand, brute force
Creative: invent, adapt, experiment", + "pronouns": "Pronouns", + "prowess": "Prowess", + "prowess_description": "Careful: sense, attune, investigate
Concerted: assail, subsist, give all
Creative: explore, expand, create", + "quick_overview": "A Quick Overview of Essential Mechanics", + "recovery_long-rest": "Waking with {{0}} Blood and {{1}} Guts for the day.", + "recovery_short-rest": "Recovering {{0}} Blood and {{1}} Guts in the process.", + "requires_arc_api": "This feature requires the ARC API.", + "rest": "Rest", + "rest_and_recovery": "Rest and Recovery", + "rest_description": "Heroes may replenish health by resting: a Short Rest to restore 1d6 to Blood and 1d6 to Guts, or a Long Rest to reroll new Blood & Guts or freely distribute 7 points of health to either stat. The reroll is a 2d6 plus the Blood/Guts modifier and determines the new maximum for the hero.

Blood & Guts modifier also affects how much in-story time a Long Rest takes: 10 hours minus the lowest modifier. Long Rests take up 5 real-time minutes, while a Short Rest uses up 2 real-time minutes and one in-story hour only.", + "ritual": "Ritual", + "ritual_description": "Rituals are unique rites or ceremonies that must be done to replenish a Spell or Technique. If performed successfully, all instances are replenished, though no more than what was previously held.", + "ritual_placeholder": "Replenishing requires a RITUAL and restores all instances of a SPELL or TECHNIQUE.", + "roll": "Roll", + "roll_fail": "It fails...", + "roll_success": "Success!", + "roll_tie": "It's a tie.", + "rolls": "rolls", + "select_placeholder": "Select...", + "settings": "Settings", + "sheet_mode": "Sheet Mode", + "short_desc": "Short Description", + "short_rest": "Short Rest", + "skill": "Skill", + "skill_check": "Skill Check", + "skill_check_description": "A Skill Check is a roll to determine the outcome of a hero's action, if it's particularly risky or has a chance for an interesting success or failure. Sneaking past a troll, for example, may incur a Skill Check especially if there is peril or complication involved.

When Skill Checks happen, a Threshold Number (TN) is determined to set its relative ease. The player makes a roll: if the number is under the TN, the hero's action is a pure success! If it's equal, then the player or Guide may suggest or choose whether it's a success with Consequence or failure with Opportunity. If it's over the TN, then it failed, which may incur additional complications depending on the situation.

If the player rolls a \"1\" with a ranked Skill, they may roll the dice again; if it's another \"1\", then the outcome is a Flawless Success and the hero succeeds with additional Opportunity. Tied or failed rolls may be upgraded by one step by sacrificing 3 Blood or Guts, and anyone may spend a minor level of Bond to allow a reroll.", + "skill_description": "Skills are capabilities across various, distinct areas: whether knowledge of strange rituals, haggling with strangers, or even building a beautiful statue out of wisterias. The hero's aptitude with a particular Skill is indicated by Skill Ranks: +0 means no skill, +1 is average, +2 is gifted and +3 is expert.

Skill Ranks directly contribute to Threshold Number (TN) needed to succeed at a Skill Check; the higher the Rank, the easier it is to succeed. Skill Ranks may be increased directly through Experience Points (XP).", + "skill_info": "Skill Info", + "skills": "Skills", + "social": "Social", + "social_description": "Careful: reason, detail, guide
Concerted: intimidate, enforce, invade
Creative: charm, incite, inspire", + "spells_and_techniques": "Spells & Techniques", + "spells_and_techniques_base_effect": "Spells & Techniques are unique powers that are tracked in inventory. Its number of instances (copies) denote how many times it can be used before requiring replenishment through a Ritual. Spells & Techniques have a base and an enhanced version that may be performed typically at a small sacrifice to Guts and an additional Skill Check, either Arcana for Spells, or Focus for Techniques. Completely new Spells & Techniques or additional instances may be learned through dedicated, difficult Skill Checks.", + "spells_and_techniques_in_conflict": "Spells & Techniques in Conflict", + "spells_and_techniques_in_conflict_base_effect": "On a hero's Turn, they may use a Spell or Technique in ther inventory. However, if they are attacked before their Turn, they must succeed at a random, unskilled roll with TN = 6. This TN reduces by 1 for each subsequent attack, whether or not they hit. If the roll fails, then the hero loses their Turn though no instance of the Spell or Technique is used.", + "spells_bind_weapon": "Bind Weapon", + "spells_bind_weapon_base_effect": "Suddenly you feel it on your palm: the heft of a magical weapon", + "spells_blackout": "Blackout", + "spells_blackout_base_effect": "Stop others by making them fall asleep", + "spells_burn_the_past": "Burn The Past", + "spells_burn_the_past_base_effect": "Remove memory and remembrance from a poor target", + "spells_compel": "Compel", + "spells_compel_base_effect": "Compel your target to act in a particular manner, for your particular need", + "spells_from_dust_to_dust": "From Dust To Dust", + "spells_from_dust_to_dust_base_effect": "Craft any object you’ve seen from a handful of dust", + "spells_lifebringer": "Lifebringer", + "spells_lifebringer_base_effect": "Wounds can be healed through your hand’s power", + "spells_little_escapologist": "Little Escapologist", + "spells_little_escapologist_base_effect": "Disappear from sight", + "spells_manic_hands": "Manic Hands", + "spells_manic_hands_base_effect": "Arms and hands burst forth from your face, allowing you more actions", + "spells_master_of_elements": "Master Of Elements", + "spells_master_of_elements_base_effect": "Air, earth, water and fire may be manipulated by your will", + "spells_pierce_the_veil": "Pierce The Veil", + "spells_pierce_the_veil_base_effect": "See anywhere, any time", + "spells_secret_door": "Secret Door", + "spells_secret_door_base_effect": "A portal manifests through a door. Where does it lead?", + "spells_shadowbind": "Shadowbind", + "spells_shadowbind_base_effect": "Restrain a being of your choice", + "spells_soundshift": "Soundshift", + "spells_soundshift_base_effect": "Sound is your plaything. You decide its shape", + "spells_spirit_pact": "Spirit Pact", + "spells_spirit_pact_base_effect": "You are connected to a spirit: your loyal and ethereal servant", + "spells_trick_of_the_light": "Trick Of The Light", + "spells_trick_of_the_light_base_effect": "You mold light like water, creating auras and illusions", + "spells_trinket": "Trinket", + "spells_trinket_base_effect": "Minor magical effects certain to delight anyone", + "spells_true_miracle": "True Miracle", + "spells_true_miracle_base_effect": "Bring your wish to reality", + "spells_unmask_the_self": "Unmask The Self", + "spells_unmask_the_self_base_effect": "Know the name and hidden desire of any one being you see", + "spells_whisper": "Whisper", + "spells_whisper_base_effect": "A message, spoken to the ear, like a siren’s song", + "spells_windstep": "Windstep", + "spells_windstep_base_effect": "With concentration you step out and appear anywhere at will", + "stand_ground": "Stand Ground", + "stand_ground_description": "Standing Ground during a Turn in Conflict puts the hero on a defensive stance that reduces the TN of enemies' attacks by 1. Stand Ground affects a 2-height radius around the hero. Every time an attack is foiled this way, the hero gains 1 minor level of bond with the targeted ally, up to the 1st major level.

Characters who choose to Stand Ground begin their Turn first in the Round.", + "success_fail": "Success/Fail", + "supplies_alchemists_tools": "Alchemist’s tools and one dose of a rare drug", + "supplies_and_oddities": "Supplies & Oddities", + "supplies_and_sundries": "Supplies & Sundries", + "supplies_and_sundries_description": "SUPPLIES AND SUNDRIES help you explore and last longer in the adventure.", + "supplies_artisans_tools": "Artisan’s tools and playing cards", + "supplies_backpack": "Large backpack and a blank book", + "supplies_bedroll": "Bedroll and local map", + "supplies_board_games": "Board games and a gallon of beer", + "supplies_coded_letters": "Stack of coded letters, a signet ring and noble clothes", + "supplies_crowbar_and_lantern": "Crowbar and lantern", + "supplies_encyclopeida": "Complete encyclopedia set", + "supplies_fine_clothes": "Mirror and fine clothes", + "supplies_fishing_pole": "Fishing pole and flint & tinder", + "supplies_horse": "Horse and riding gear", + "supplies_live_hen": "Live hen and its cage", + "supplies_rations": "3 days’ rations", + "supplies_rope_and_carpet": "10-height rope and a rolled-up carpet", + "supplies_spyglass": "Spyglass and magic reagents", + "supplies_tent": "2-person tent and a bottle of wine", + "supplies_thieves_tools": "Thieves’ tools, disguise kit and manacles", + "supplies_traps": "Traps and animal bait", + "survival": "Survival", + "survival_description": "Aptitude for rugged living off the land; self-reliant outdoorsmanship and survival across the harshest seasons. For example—scavenging safe food and water in the perilous forest, skinning a deer, or navigating the wilderness.

As with other Pragmatic Skills, when used with the Creative Approach, the hero: invents, adapts, experiments; with Careful, they: soothe, refine, survey; and for Concerted: rushes, withstands, or brute forces.", + "tactics": "Tactics", + "tactics_description": "Knowledge of battle and conflict—for example, leading the Rook Prince's troops with sophisticated strategy, knowing how to position oneself in a heated battle, instructing other characters how to field an oncoming attack.

As with other Knowledge Skills, when used with the Creative Approach, the hero: theorizes, shifts, thinks laterally; with Careful, they: assess, inquire, analyze; and for Concerted: recalls, restores, overwrites.", + "takes_a_rest": "takes a", + "techniques_become_one": "Become One", + "techniques_become_one_base_effect": "Uncover and obtain the Spells and Technique of someone else", + "techniques_bind_magic": "Bind Magic", + "techniques_bind_magic_base_effect": "Prevent any being from performing a Spell or Technique", + "techniques_deadly_focus": "Deadly Focus", + "techniques_deadly_focus_base_effect": "Damage is doubled", + "techniques_defy_the_fates": "Defy The Fates", + "techniques_defy_the_fates_base_effect": "Rewind time", + "techniques_dispel": "Dispel", + "techniques_dispel_base_effect": "Nullify the effects of a Spell or Technique", + "techniques_doompause": "Doompause", + "techniques_doompause_base_effect": "Hold off the Doom", + "techniques_flowmotion": "Flowmotion", + "techniques_flowmotion_base_effect": "Move fast—very fast", + "techniques_fluorescent_transcendence": "Fluorescent Transcendence", + "techniques_fluorescent_transcendence_base_effect": "Enhance all Spells and Techniques for a brief moment", + "techniques_heartpiercer": "Heartpiercer", + "techniques_heartpiercer_base_effect": "Hit where it hurts, ignoring armor and resist", + "techniques_inspiration": "Inspiration", + "techniques_inspiration_base_effect": "Buoy yourself or an ally with inspiration to improve their next action", + "techniques_interdiction": "Interdiction", + "techniques_interdiction_base_effect": "Bar an opponent from using a specific approach", + "techniques_memory_seed": "Memory Seed", + "techniques_memory_seed_base_effect": "Implant one false memory to a being you interact with", + "techniques_netherwave": "Netherwave", + "techniques_netherwave_base_effect": "A pulse of energy so strong it knocks everyone off their feet", + "techniques_only_ones_who_know": "Only Ones Who Know", + "techniques_only_ones_who_know_base_effect": "Either everybody knows about your action or nobody does", + "techniques_redo": "Redo", + "techniques_redo_base_effect": "Reroll the last skill check", + "techniques_saving_grace": "Saving Grace", + "techniques_saving_grace_base_effect": "Protect your allies by redirecting all damage to you", + "techniques_stonewall": "Stonewall", + "techniques_stonewall_base_effect": "Limit damage. Grow a thick skin—figuratively or literally", + "techniques_turn_the_tide": "Turn The Tide", + "techniques_turn_the_tide_base_effect": "Opportunity comes with every action you take", + "techniques_uncanny_alarm": "Uncanny Alarm", + "techniques_uncanny_alarm_base_effect": "Ask the fates whether your next action will cause conflict", + "techniques_weave_through_water": "Weave Through Water", + "techniques_weave_through_water_base_effect": "Learn to walk or breathe through water", + "tests": "tests", + "theme": "Theme", + "three_rumors": "Persistent rumors", + "threshold_number": "Threshold Number", + "threshold_number_description": "The Threshold Number (TN) indicates the relative ease of a risky action: the higher the TN, the easier it is to accomplish. TN is determined by the Approach Score as well as Skill Ranks the player would like to use. The Guide may also apply a Difficulty Modifier to reflect situational or positional circumstances.

Lastly, the TN can also be affected if an ally chooses to Assist; if this happens, that ally's major levels of Bond with the hero is automatically added to the TN. When the TN is known, the player can roll for the Skill Check.", + "tinker": "Tinker", + "tinker_description": "Engineering expertise over mechanical or clockwork devices, schema and structures.

As with other Pragmatic Skills, when used with the Creative Approach, the hero: invents, adapts, experiments; with Careful, they: soothe, refine, survey; and for Concerted: rushes, withstands, or brute forces.", + "tn": "TN", + "tn_difficult": "Difficult [TN +0]", + "tn_easy": "Easy [TN +1]", + "tn_impossibly_difficult": "Impossibly Difficult [TN -3]", + "tn_modifier+0": "[+0 to TN] No change ", + "tn_modifier+1": "[+1 to TN] Easy", + "tn_modifier+2": "[+2 to TN] Intensely easy", + "tn_modifier+3": "[+3 to TN] Exceptionally easy ", + "tn_modifier-1": "[-1 to TN] Very difficult", + "tn_modifier-2": "[-2 to TN] Staggeringly difficult", + "tn_modifier-3": "[-3 to TN] Extremely difficult", + "tn_no_change": "No change", + "tn_staggeringly_difficult": "Staggeringly Difficult [TN -2]", + "tn_very_difficult": "Very Difficult [TN -1]", + "tooltip_hide": "Hide", + "tooltip_show": "Show", + "tooltips": "Toggle Tooltip", + "trade": "Trade", + "trade_description": "Experience in commerce, animal handling and other industrial or market pursuits—for example, intuitively knowing whether something is overpriced, recalling processes for leather- and metal-working, and performing a quality check on mundane items.

As with other Pragmatic Skills, when used with the Creative Approach, the hero: invents, adapts, experiments; with Careful, they: soothe, refine, survey; and for Concerted: rushes, withstands, or brute forces.", + "turn": "Turn", + "turn_description": "A Turn marks a character's action and/or movement during Conflict. Different actions include: Stand Ground, Harm Others (Attack), Non-harmful Actions (creating Advantage, Assisting, or doing something else) using a Spell or Technique, and even moving an additional 5 heights.

Turns are sequenced according to an Initiative Category based on the intended action. Before the Round begins, players may also strategize who acts in which Initiative Category. Rounds end and begin anew once every character has used their Turn.", + "update_character_sheet": "Don't forget to update your hero's character sheet.", + "use_dark": "Dark", + "use_light": "Light", + "use_sync": "Sync with Browser", + "version": "Version", + "versus": "vs", + "weaponry": "Weaponry", + "weaponry_description": "Proficiency in the use and maintenance of weaponry. Weaponry is one of two Skills that can automatically inflict Blood Damage during Conflict; the other is Physique. Other applications include: applying sword care and maintenance, mastering an unwieldy warhammer, and knowing a weapon's weak points.

As with other Physical Skills, when used with the Creative Approach, the hero: bedazzles, innovates, exceeds expectations; with Careful, they: optimize, safeguard, follow best practice; and for Concerted: charges, endures, overwhelms.", + "xp": "XP", + "xp_description": "Experience Points (XP) represent the hero's growth throughout the adventure. They may be awarded hourly (for games with 1-3 sessions) or at the end of every session. Players may spend them anytime to improve Approach Scores (costing 3x the next value) Skill Rank (costing 2x the next value) or modifier for Blood or Guts (costing the next value).", + "xp_spent": "Spent", + "xp_total": "Total" +}