StarterAdventure/StarterKit.html

2052 lines
554 KiB
HTML
Raw Normal View History

2025-02-21 00:47:58 -05:00
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1" name="viewport">
<title>Framework</title>
<style title="Twine CSS">
@keyframes appear {
0% {
opacity: 0
}
to {
opacity: 1
}
}
@keyframes fade-in-out {
0%,
to {
opacity: 0
}
50% {
opacity: 1
}
}
@keyframes rumble {
25% {
top: -0.1em
}
75% {
top: .1em
}
0%,
to {
top: 0px
}
}
@keyframes shudder {
25% {
left: .1em
}
75% {
left: -0.1em
}
0%,
to {
left: 0px
}
}
@keyframes buoy {
25% {
top: .25em
}
75% {
top: -0.25em
}
0%,
to {
top: 0px
}
}
@keyframes sway {
25% {
left: .25em
}
75% {
left: -0.25em
}
0%,
to {
left: 0px
}
}
@keyframes pulse {
0% {
transform: scale(0, 0)
}
20% {
transform: scale(1.2, 1.2)
}
40% {
transform: scale(0.9, 0.9)
}
60% {
transform: scale(1.05, 1.05)
}
80% {
transform: scale(0.925, 0.925)
}
to {
transform: scale(1, 1)
}
}
@keyframes zoom-in {
0% {
transform: scale(0, 0)
}
to {
transform: scale(1, 1)
}
}
@keyframes shudder-in {
0%,
to {
transform: translateX(0em)
}
5%,
25%,
45% {
transform: translateX(-1em)
}
15%,
35%,
55% {
transform: translateX(1em)
}
65% {
transform: translateX(-0.6em)
}
75% {
transform: translateX(0.6em)
}
85% {
transform: translateX(-0.2em)
}
95% {
transform: translateX(0.2em)
}
}
@keyframes rumble-in {
0%,
to {
transform: translateY(0em)
}
5%,
25%,
45% {
transform: translateY(-1em)
}
15%,
35%,
55% {
transform: translateY(1em)
}
65% {
transform: translateY(-0.6em)
}
75% {
transform: translateY(0.6em)
}
85% {
transform: translateY(-0.2em)
}
95% {
transform: translateY(0.2em)
}
}
@keyframes fidget {
0%,
8.1%,
82.1%,
31.1%,
38.1%,
44.1%,
40.1%,
47.1%,
74.1%,
16.1%,
27.1%,
72.1%,
24.1%,
95.1%,
6.1%,
36.1%,
20.1%,
4.1%,
91.1%,
14.1%,
87.1%,
to {
left: 0px;
top: 0px
}
8%,
82%,
31%,
38%,
44% {
left: -1px
}
40%,
47%,
74%,
16%,
27% {
left: 1px
}
72%,
24%,
95%,
6%,
36% {
top: -1px
}
20%,
4%,
91%,
14%,
87% {
top: 1px
}
}
@keyframes slide-right {
0% {
transform: translateX(-100vw)
}
}
@keyframes slide-left {
0% {
transform: translateX(100vw)
}
}
@keyframes slide-up {
0% {
transform: translateY(100vh)
}
}
@keyframes slide-down {
0% {
transform: translateY(-100vh)
}
}
@keyframes fade-right {
0% {
opacity: 0;
transform: translateX(-1em)
}
to {
opacity: 1
}
}
@keyframes fade-left {
0% {
opacity: 0;
transform: translateX(1em)
}
to {
opacity: 1
}
}
@keyframes fade-up {
0% {
opacity: 0;
transform: translateY(1em)
}
to {
opacity: 1
}
}
@keyframes fade-down {
0% {
opacity: 0;
transform: translateY(-1em)
}
to {
opacity: 1
}
}
@keyframes flicker {
0%,
29%,
31%,
63%,
65%,
77%,
79%,
86%,
88%,
91%,
93% {
opacity: 0
}
30% {
opacity: .2
}
64% {
opacity: .4
}
78% {
opacity: .6
}
87% {
opacity: .8
}
92%,
to {
opacity: 1
}
}
@keyframes blur {
0% {
filter: blur(2rem);
opacity: 0
}
25% {
opacity: 1
}
to {
filter: blur(0rem);
opacity: 1
}
}
.dom-debug-mode tw-story,
.dom-debug-mode tw-passage,
.dom-debug-mode tw-sidebar,
.dom-debug-mode tw-include,
.dom-debug-mode tw-hook,
.dom-debug-mode tw-expression,
.dom-debug-mode tw-link,
.dom-debug-mode tw-dialog,
.dom-debug-mode tw-columns,
.dom-debug-mode tw-column,
.dom-debug-mode tw-align {
outline: 1px solid #f5a3da;
min-height: 32px;
display: block !important
}
.dom-debug-mode tw-story::before,
.dom-debug-mode tw-passage::before,
.dom-debug-mode tw-sidebar::before,
.dom-debug-mode tw-include::before,
.dom-debug-mode tw-hook::before,
.dom-debug-mode tw-expression::before,
.dom-debug-mode tw-link::before,
.dom-debug-mode tw-dialog::before,
.dom-debug-mode tw-columns::before,
.dom-debug-mode tw-column::before,
.dom-debug-mode tw-align::before {
position: absolute;
top: 0;
left: 0;
height: 16px;
background-color: #f5a3da;
color: #000;
font-size: 16px;
font-weight: normal;
font-style: normal;
font-family: monospace;
display: inline-block;
line-height: 100%;
white-space: pre;
z-index: 999997
}
.dom-debug-mode tw-story:hover,
.dom-debug-mode tw-passage:hover,
.dom-debug-mode tw-sidebar:hover,
.dom-debug-mode tw-include:hover,
.dom-debug-mode tw-hook:hover,
.dom-debug-mode tw-expression:hover,
.dom-debug-mode tw-link:hover,
.dom-debug-mode tw-dialog:hover,
.dom-debug-mode tw-columns:hover,
.dom-debug-mode tw-column:hover,
.dom-debug-mode tw-align:hover {
outline: 1px solid #fc9
}
.dom-debug-mode tw-story:hover::before,
.dom-debug-mode tw-passage:hover::before,
.dom-debug-mode tw-sidebar:hover::before,
.dom-debug-mode tw-include:hover::before,
.dom-debug-mode tw-hook:hover::before,
.dom-debug-mode tw-expression:hover::before,
.dom-debug-mode tw-link:hover::before,
.dom-debug-mode tw-dialog:hover::before,
.dom-debug-mode tw-columns:hover::before,
.dom-debug-mode tw-column:hover::before,
.dom-debug-mode tw-align:hover::before {
background-color: #fc9;
transition: background-color 1s
}
.dom-debug-mode tw-passage,
.dom-debug-mode tw-include,
.dom-debug-mode tw-hook,
.dom-debug-mode tw-expression,
.dom-debug-mode tw-link,
.dom-debug-mode tw-dialog,
.dom-debug-mode tw-columns,
.dom-debug-mode tw-column,
.dom-debug-mode tw-align {
padding: 1em;
margin: 0
}
.dom-debug-mode tw-story::before {
content: '<tw-story tags="' attr(tags) '">'
}
.dom-debug-mode tw-passage::before {
top: -16px;
content: '<tw-passage tags="' attr(tags) '">'
}
.dom-debug-mode tw-sidebar::before {
top: -16px;
content: "<tw-sidebar>"
}
.dom-debug-mode tw-hook::before {
content: '<tw-hook name="' attr(name) '">'
}
.dom-debug-mode tw-expression::before {
content: '<tw-expression name="' attr(name) '">'
}
.dom-debug-mode tw-link::before {
content: '<tw-link name="' attr(name) '">'
}
.dom-debug-mode tw-dialog::before {
content: "<tw-dialog>"
}
.dom-debug-mode tw-columns::before {
content: "<tw-columns>"
}
.dom-debug-mode tw-column::before {
content: "<tw-column>"
}
.dom-debug-mode tw-align::before {
content: "<tw-align>"
}
.dom-debug-mode tw-include::before {
content: '<tw-include type="' attr(type) '" name="' attr(name) '">'
}
tw-open-button[goto] {
display: none
}
.debug-mode tw-open-button[replay],
.debug-mode tw-open-button[goto] {
display: inline
}
.debug-mode tw-expression {
display: inline-block !important
}
.debug-mode tw-expression[type=variable]::after {
font-size: .8rem;
padding-left: .2rem;
padding-right: .2rem;
vertical-align: top;
content: "$" attr(name)
}
.debug-mode tw-expression[type=tempVariable]::after {
font-size: .8rem;
padding-left: .2rem;
padding-right: .2rem;
vertical-align: top;
content: "_" attr(name)
}
.debug-mode tw-expression[return=boolean] {
background-color: rgba(179, 179, 179, .2)
}
.debug-mode tw-expression[return=array] {
background-color: rgba(255, 102, 102, .2)
}
.debug-mode tw-expression[return=dataset] {
background-color: rgba(255, 128, 0, .2)
}
.debug-mode tw-expression[return=number] {
background-color: rgba(255, 179, 102, .2)
}
.debug-mode tw-expression[return=datamap] {
background-color: rgba(255, 255, 102, .2)
}
.debug-mode tw-expression[return=changer] {
background-color: rgba(179, 255, 102, .2)
}
.debug-mode tw-expression[return=lambda] {
background-color: rgba(102, 255, 102, .2)
}
.debug-mode tw-expression[return=hookname] {
background-color: rgba(102, 255, 204, .2)
}
.debug-mode tw-expression[return=string] {
background-color: rgba(102, 255, 255, .2)
}
.debug-mode tw-expression[return=datatype] {
background-color: rgba(102, 153, 255, .2)
}
.debug-mode tw-expression[return=gradient],
.debug-mode tw-expression[return=colour] {
background-color: rgba(204, 102, 255, .2)
}
.debug-mode tw-expression[return=instant],
.debug-mode tw-expression[return=macro] {
background-color: rgba(240, 117, 199, .2)
}
.debug-mode tw-expression[return=command] {
background-color: rgba(153, 153, 255, .2)
}
.debug-mode tw-expression.false {
background-color: rgba(255, 0, 0, .2) !important
}
.debug-mode tw-expression[type=macro]::before {
content: "(" attr(name) ":)";
padding: 0 .5rem;
font-size: 1rem;
vertical-align: middle;
line-height: normal;
background-color: inherit;
border: 1px solid rgba(255, 255, 255, .5)
}
.debug-mode tw-expression[title]:not([title=""]) {
cursor: help
}
.debug-mode tw-hook {
background-color: rgba(0, 85, 255, .1) !important
}
.debug-mode tw-hook::before {
font-size: .8rem;
padding-left: .2rem;
padding-right: .2rem;
vertical-align: top;
content: "["
}
.debug-mode tw-hook::after {
font-size: .8rem;
padding-left: .2rem;
padding-right: .2rem;
vertical-align: top;
content: "]"
}
.debug-mode tw-hook[name]::after {
font-size: .8rem;
padding-left: .2rem;
padding-right: .2rem;
vertical-align: top;
content: "]<" attr(name) "|"
}
.debug-mode tw-pseudo-hook {
background-color: rgba(255, 170, 0, .1) !important
}
.debug-mode tw-collapsed::before {
font-size: .8rem;
padding-left: .2rem;
padding-right: .2rem;
vertical-align: top;
content:"{"
}
.debug-mode tw-collapsed::after {
font-size: .8rem;
padding-left: .2rem;
padding-right: .2rem;
vertical-align: top;
content: "}"
}
.debug-mode tw-verbatim::before,
.debug-mode tw-verbatim::after {
font-size: .8rem;
padding-left: .2rem;
padding-right: .2rem;
vertical-align: top;
content: "`"
}
.debug-mode tw-align[style*="text-align: center"] {
background: linear-gradient(to right, hsla(14deg, 100%, 87%, 0) 0%, hsla(14deg, 100%, 87%, 0.25) 50%, hsla(14deg, 100%, 87%, 0) 100%)
}
.debug-mode tw-align[style*="text-align: left"] {
background: linear-gradient(to right, hsla(14deg, 100%, 87%, 0.25) 0%, hsla(14deg, 100%, 87%, 0) 100%)
}
.debug-mode tw-align[style*="text-align: right"] {
background: linear-gradient(to right, hsla(14deg, 100%, 87%, 0) 0%, hsla(14deg, 100%, 87%, 0.25) 100%)
}
.debug-mode tw-column {
background-color: rgba(189, 228, 255, .2)
}
.debug-mode tw-enchantment {
animation: enchantment .5s infinite;
border: 1px solid
}
.debug-mode tw-link::after,
.debug-mode tw-broken-link::after {
font-size: .8rem;
padding-left: .2rem;
padding-right: .2rem;
vertical-align: top;
content: attr(passage-name)
}
.debug-mode tw-include {
background-color: rgba(204, 128, 51, .1)
}
.debug-mode tw-include::before {
font-size: .8rem;
padding-left: .2rem;
padding-right: .2rem;
vertical-align: top;
content: attr(type) ' "' attr(name) '"'
}
.debug-dialogs tw-backdrop:not(.eval-replay):not(.harlowe-crash) {
pointer-events: none;
opacity: .1
}
tw-eval-replay tw-eval-code,
tw-eval-replay tw-eval-explanation {
max-height: 20vh;
overflow: auto;
margin: 10px auto
}
tw-eval-replay tw-eval-code {
display: block;
font-family: monospace;
padding-bottom: 1ex;
border-bottom: 2px solid gray
}
tw-eval-replay tw-eval-explanation {
display: block;
text-align: center
}
tw-eval-replay tw-eval-explanation>code {
white-space: pre-wrap
}
tw-eval-replay tw-eval-explanation>code.from-block {
width: 40%;
display: inline-block;
text-align: left;
max-height: 4em;
overflow-wrap: anywhere;
overflow-y: scroll
}
tw-eval-replay tw-eval-explanation>code.from-block~.to-desc {
width: calc(40% - 2em);
margin-left: 2em;
display: inline-block
}
tw-eval-replay tw-eval-explanation>code.from-block+span::after {
content: "..."
}
tw-eval-replay tw-eval-explanation>code.from-inline {
text-align: right
}
tw-eval-replay tw-eval-explanation>:nth-child(2) {
white-space: pre
}
tw-eval-replay tw-eval-explanation>.to-desc {
text-align: left
}
tw-eval-replay tw-eval-explanation>table {
width: 100%;
margin-top: 1em
}
tw-eval-replay tw-eval-explanation>table td {
white-space: pre-wrap !important;
word-wrap: anywhere
}
tw-eval-replay tw-eval-reason {
text-align: center;
font-size: 80%;
font-style: italic;
display: block
}
tw-eval-replay tw-eval-it {
text-align: center;
font-size: 80%;
display: block
}
tw-eval-replay tw-dialog-links {
display: -ms-flexbox;
display: flex;
-ms-flex-pack: distribute;
justify-content: space-around
}
@keyframes enchantment {
0%,
to {
border-color: #ffb366
}
50% {
border-color: #6fc
}
}
tw-debugger {
position: fixed;
box-sizing: border-box;
bottom: 0;
right: 0;
z-index: 999999;
min-width: 14em;
min-height: 1em;
padding: 0em .5em .5em 1em;
font-size: 1.25em;
font-family: sans-serif;
color: #262626;
background-color: #fff;
border-left: solid #262626 2px;
border-top: solid #262626 2px;
border-top-left-radius: .5em;
opacity: 1
}
tw-debugger.fade-panel:not(:hover) {
opacity: .33
}
tw-debugger.theme-dark {
color: #d9d9d9;
background-color: #000
}
tw-debugger.theme-dark {
border-color: #d9d9d9 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #d9d9d9
}
tw-debugger select {
margin-right: 1em;
width: 12em
}
tw-debugger button,
tw-debugger tw-link {
border-radius: 3px;
border: solid #999 1px;
margin: auto 4px;
color: #262626;
background-color: #fff;
cursor: pointer
}
tw-debugger button.enabled,
tw-debugger tw-link.enabled {
color: #000;
background-color: #d9d9d9;
box-shadow: inset #999 3px 5px .5em
}
tw-debugger.theme-dark button,
tw-debugger.theme-dark tw-link {
color: #d9d9d9;
background-color: #000;
border-color: #666
}
tw-debugger.theme-dark button.enabled,
tw-debugger.theme-dark tw-link.enabled {
color: #e6e6e6;
background-color: #424242;
box-shadow: inset #666 3px 5px .5em
}
tw-debugger button {
font-size: 1em;
overflow-x: hidden;
text-overflow: ellipsis;
white-space: pre
}
tw-debugger tw-link {
font-size: 1.25em;
border-radius: 16px;
border-style: solid;
border-width: 2px;
text-align: center;
padding: 0px 8px;
display: block
}
tw-debugger tw-link:hover {
border-color: #262626;
color: #262626
}
tw-debugger.theme-dark tw-link:hover {
border-color: #d9d9d9;
color: #d9d9d9
}
tw-debugger tw-dialog {
background-color: #fff;
color: #000;
font-size: 1.25em
}
tw-debugger.theme-dark tw-dialog {
background-color: #000;
color: #e6e6e6
}
tw-debugger .panel {
display: -ms-flexbox;
display: flex;
-ms-flex-direction: column;
flex-direction: column;
position: absolute;
bottom: 100%;
left: -2px;
right: 0;
padding: 1em;
overflow-y: scroll;
overflow-x: hidden;
border: inherit;
box-sizing: content-box;
background-color: #fff;
border-bottom: solid #999 2px;
border-top-left-radius: .5em;
border-bottom-left-radius: .5em;
font-size: .8em
}
tw-debugger .panel:empty,
tw-debugger .panel[hidden] {
display: none
}
tw-debugger.theme-dark .panel {
background-color: #000;
border-bottom-color: #666
}
tw-debugger .panel-source .panel-row-buttons {
width: 2rem
}
tw-debugger .panel-source .source-tags {
width: 20%;
font-style: italic
}
tw-debugger .panel-row-source td {
font-family: monospace;
font-size: 1rem;
white-space: pre-wrap;
overflow-wrap: anywhere;
max-height: 8rem;
padding: 1rem
}
tw-debugger .panel-rows {
width: 100%;
overflow-x: scroll
}
tw-debugger .panel-rows>* {
display: table-row
}
tw-debugger .panel-rows>div:nth-of-type(2n) {
background-color: #e6e6e6
}
tw-debugger .panel-tools .panel-rows>*,
tw-debugger .panel-options .panel-rows>* {
margin-top: .4rem;
display: block
}
tw-debugger.theme-dark .panel-rows>div:nth-of-type(2n) {
background-color: #212121
}
tw-debugger .panel-row-buttons {
text-align: right
}
tw-debugger .panel-variables .panel-rows:empty::before {
content: "~ No variables ~";
font-style: italic;
color: #575757;
text-align: center
}
tw-debugger .panel-enchantments .panel-rows:empty::before {
content: "~ No enchantments ~";
font-style: italic;
color: #575757;
text-align: center
}
tw-debugger .panel-errors .panel-rows:empty::before {
content: "~ No errors... for now. ~";
font-style: italic;
color: #575757;
text-align: center
}
tw-debugger .panel-errors .panel-rows:empty+.panel-errors-bottom {
display: none
}
tw-debugger.theme-dark .panel-variables .panel-rows:empty::before,
tw-debugger.theme-dark .panel-enchantments .panel-rows:empty::before,
tw-debugger.theme-dark .panel-errors .panel-rows:empty::before {
color: #a8a8a8
}
tw-debugger .panel-rows:empty+.panel-variables-bottom {
display: none
}
tw-debugger th[data-col] {
text-decoration: underline;
cursor: pointer
}
tw-debugger th[data-col][data-order=asc]::after {
content: "↓"
}
tw-debugger th[data-col][data-order=desc]::after {
content: "↑"
}
tw-debugger .panel-storylets:not(.panel-exclusive) .storylet-exclusive,
tw-debugger .panel-storylets:not(.panel-urgent) .storylet-urgent {
display: none
}
tw-debugger .storylet-exclusive,
tw-debugger .storylet-urgent,
tw-debugger .storylet-open {
text-align: center
}
tw-debugger .panel-variables-bottom {
padding-top: 5px
}
tw-debugger .enchantment-row {
min-height: 1.5em
}
tw-debugger .variable-path {
opacity: .4
}
tw-debugger .temporary-variable-scope,
tw-debugger .enchantment-local {
font-family: sans-serif;
font-weight: normal;
opacity: .8;
font-size: .75em
}
tw-debugger .temporary-variable-scope:not(:empty)::before,
tw-debugger .enchantment-local:not(:empty)::before {
content: " in "
}
tw-debugger .variable-name,
tw-debugger .enchantment-name {
font-family: monospace;
font-weight: bold
}
tw-debugger .variable-type {
color: #575757;
font-weight: normal;
text-overflow: ellipsis;
overflow: hidden;
max-width: 10em
}
tw-debugger.theme-dark .variable-type {
color: #a8a8a8
}
tw-debugger .error-row {
display: table-row;
background-color: rgba(230, 101, 204, .3)
}
tw-debugger .error-row:nth-of-type(2n) {
background-color: rgba(237, 145, 219, .3)
}
tw-debugger .error-row>* {
display: table-cell;
padding: .25em .5em
}
tw-debugger .error-row .error-message[title]:not([title=""]) {
cursor: help
}
tw-debugger .error-row .error-passage {
color: #575757
}
tw-debugger.theme-dark .error-row .error-passage {
color: #a8a8a8
}
tw-debugger .storylet-row {
background-color: rgba(193, 240, 225, .3)
}
tw-debugger .storylet-row:nth-child(2n) {
background-color: rgba(152, 231, 204, .3)
}
tw-debugger .storylet-row.storylet-closed {
font-style: italic;
background-color: #fff
}
tw-debugger .storylet-row.storylet-closed:nth-child(2n) {
background-color: #e6e6e6
}
tw-debugger .storylet-row.storylet-closed>:not(.storylet-lambda) {
opacity: .6
}
.storylet-error tw-debugger .storylet-row {
background-color: rgba(230, 101, 204, .3)
}
.storylet-error tw-debugger .storylet-row:nth-child(2n) {
background-color: rgba(237, 145, 219, .3)
}
tw-debugger .storylet-row .storylet-name,
tw-debugger .storylet-row .storylet-value {
display: inline-block;
width: 50%
}
tw-debugger .storylet-row .storylet-lambda {
font-family: monospace;
font-size: 1rem;
white-space: pre-wrap;
overflow-wrap: anywhere
}
tw-debugger.theme-dark .storylet-row.storylet-closed {
background-color: #000
}
tw-debugger.theme-dark .storylet-row.storylet-closed:nth-child(2n) {
background-color: #212121
}
tw-debugger .tabs {
padding-bottom: .5em
}
tw-debugger .tab {
border-radius: 0px 0px .5em .5em;
border-top: none;
top: -2px
}
tw-debugger .resizer-h {
position: absolute;
height: 14em;
border-left: 2px solid #999;
border-right: 2px solid #999;
top: 10px;
left: 4px;
width: 8px;
cursor: ew-resize
}
tw-debugger.theme-dark .resizer-h {
border-color: rgba(0, 0, 0, 0) #666
}
tw-debugger .resizer-v {
position: absolute;
height: 8px;
border-top: 2px solid #999;
border-bottom: 2px solid #999;
margin-bottom: 4px;
top: 4px;
left: 10px;
width: 95%;
cursor: ns-resize;
box-sizing: border-box
}
tw-debugger.theme-dark .resizer-v {
border-color: #666 rgba(0, 0, 0, 0)
}
tw-debugger mark {
color: inherit;
background-color: rgba(101, 230, 230, .3) !important
}
tw-dialog {
z-index: 999997;
border: #fff solid 2px;
padding: 2em;
color: #fff;
background-color: #000;
display: block
}
@media(min-width: 576px) {
tw-dialog {
max-width: 50vw
}
}
tw-dialog input[type=text] {
font-size: inherit;
width: 100%;
border: solid #fff !important
}
tw-dialog-links {
text-align: right;
display: -ms-flexbox;
display: flex;
-ms-flex-pack: end;
justify-content: flex-end
}
tw-backdrop {
z-index: 999996;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0, 0, 0, .8);
display: -ms-flexbox;
display: flex;
-ms-flex-align: center;
align-items: center;
-ms-flex-pack: center;
justify-content: center
}
tw-backdrop~tw-backdrop {
display: none
}
tw-link,
.enchantment-link {
cursor: pointer;
color: #4169e1;
font-weight: bold;
text-decoration: none;
transition: color .2s ease-in-out
}
tw-passage [style^=color] tw-link:not(:hover),
tw-passage [style*=" color"] tw-link:not(:hover),
tw-passage [style^=color][hover=true] tw-link:hover,
tw-passage [style*=" color"][hover=true] tw-link:hover,
tw-passage [style^=color] .enchantment-link:not(:hover),
tw-passage [style*=" color"] .enchantment-link:not(:hover),
tw-passage [style^=color][hover=true] .enchantment-link:hover,
tw-passage [style*=" color"][hover=true] .enchantment-link:hover {
color: inherit
}
tw-link:hover,
.enchantment-link:hover {
color: #00bfff
}
tw-link:active,
.enchantment-link:active {
color: #dd4b39
}
.visited {
color: #6941e1
}
tw-passage [style^=color] .visited:not(:hover),
tw-passage [style*=" color"] .visited:not(:hover),
tw-passage [style^=color][hover=true] .visited:hover,
tw-passage [style*=" color"][hover=true] .visited:hover {
color: inherit
}
.visited:hover {
color: #e3e
}
tw-broken-link {
color: #933;
border-bottom: 2px solid #933;
cursor: not-allowed
}
tw-passage [style^=color] tw-broken-link:not(:hover),
tw-passage [style*=" color"] tw-broken-link:not(:hover),
tw-passage [style^=color][hover=true] tw-broken-link:hover,
tw-passage [style*=" color"][hover=true] tw-broken-link:hover {
color: inherit
}
tw-link.enchantment-mouseover,
.link.enchantment-mouseover,
tw-expression.enchantment-mouseover>tw-link {
color: inherit;
font-weight: inherit;
transition: none;
cursor: inherit;
border-bottom: 2px dashed #999
}
tw-link.enchantment-mouseover:hover,
tw-link.enchantment-mouseover:active,
.link.enchantment-mouseover:hover,
.link.enchantment-mouseover:active,
tw-expression.enchantment-mouseover>tw-link:hover,
tw-expression.enchantment-mouseover>tw-link:active {
color: inherit
}
tw-link.enchantment-mouseover.enchantment-button,
.link.enchantment-mouseover.enchantment-button,
tw-expression.enchantment-mouseover>tw-link.enchantment-button {
border-style: dashed
}
tw-link.enchantment-mouseout,
.link.enchantment-mouseout,
tw-expression.enchantment-mouseout>tw-link {
color: inherit;
font-weight: inherit;
transition: none;
cursor: inherit;
border: rgba(64, 149, 191, .6) 1px solid;
border-radius: .2em
}
tw-link.enchantment-mouseout:hover,
tw-link.enchantment-mouseout:active,
.link.enchantment-mouseout:hover,
.link.enchantment-mouseout:active,
tw-expression.enchantment-mouseout>tw-link:hover,
tw-expression.enchantment-mouseout>tw-link:active {
color: inherit
}
tw-link.enchantment-mouseout:hover,
.link.enchantment-mouseout:hover,
tw-expression.enchantment-mouseout>tw-link:hover {
background-color: rgba(175, 197, 207, .75);
border: rgba(0, 0, 0, 0) 1px solid
}
tw-link.enchantment-dblclick,
.link.enchantment-dblclick,
tw-expression.enchantment-dblclick>tw-link {
color: inherit;
font-weight: inherit;
transition: none;
cursor: inherit;
cursor: pointer;
border: 2px solid #999;
border-radius: 0
}
tw-link.enchantment-dblclick:hover,
tw-link.enchantment-dblclick:active,
.link.enchantment-dblclick:hover,
.link.enchantment-dblclick:active,
tw-expression.enchantment-dblclick>tw-link:hover,
tw-expression.enchantment-dblclick>tw-link:active {
color: inherit
}
tw-link.enchantment-dblclick:active,
.link.enchantment-dblclick:active,
tw-expression.enchantment-dblclick>tw-link:active {
background-color: #999
}
tw-link.enchantment-button,
.link.enchantment-button,
.enchantment-button:not(.link) tw-link,
.enchantment-button:not(.link) .link {
border-radius: 16px;
border-style: solid;
border-width: 2px;
text-align: center;
padding: 0px 8px;
display: block
}
.enchantment-button {
display: block
}
.enchantment-clickblock {
cursor: pointer;
width: 100%;
height: 100%;
display: block
}
.enchantment-clickblock>:not(tw-enchantment)::after {
content: "";
width: 100%;
height: 100%;
top: 0;
left: 0;
display: block;
box-sizing: border-box;
position: absolute;
pointer-events: none;
color: rgba(65, 105, 225, .5);
transition: color .2s ease-in-out
}
.enchantment-clickblock>:not(tw-enchantment):hover::after {
color: rgba(0, 191, 255, .5)
}
.enchantment-clickblock>:not(tw-enchantment):active::after {
color: rgba(222, 78, 59, .5)
}
.enchantment-clickblock>:not(tw-enchantment)::after {
box-shadow: inset 0 0 0 .5vmax
}
.enchantment-clickblock>tw-passage::after,
.enchantment-clickblock>tw-sidebar::after {
box-shadow: 0 0 0 .5vmax
}
.enchantment-mouseoverblock>:not(tw-enchantment)::after {
content: "";
width: 100%;
height: 100%;
top: 0;
left: 0;
display: block;
box-sizing: border-box;
position: absolute;
pointer-events: none;
border: 2px dashed #999
}
.enchantment-mouseoutblock>:not(tw-enchantment)::after {
content: "";
width: 100%;
height: 100%;
top: 0;
left: 0;
display: block;
box-sizing: border-box;
position: absolute;
pointer-events: none;
border: rgba(64, 149, 191, .6) 2px solid
}
.enchantment-mouseoutblock:hover>:not(tw-enchantment)::after {
content: "";
width: 100%;
height: 100%;
top: 0;
left: 0;
display: block;
box-sizing: border-box;
position: absolute;
pointer-events: none;
background-color: rgba(175, 197, 207, .75);
border: rgba(0, 0, 0, 0) 2px solid;
border-radius: .2em
}
.enchantment-dblclickblock>:not(tw-enchantment)::after {
content: "";
width: 100%;
height: 100%;
top: 0;
left: 0;
display: block;
box-sizing: border-box;
position: absolute;
pointer-events: none;
cursor: pointer;
border: 2px solid #999
}
tw-dialog-links {
padding-top: 1.5em
}
tw-dialog-links tw-link {
border-radius: 16px;
border-style: solid;
border-width: 2px;
text-align: center;
padding: 0px 8px;
display: block;
display: inline-block
}
html {
margin: 0;
height: 100%;
overflow-x: hidden
}
*,
:before,
:after {
position: relative;
box-sizing: inherit
}
body {
margin: 0;
height: 100%
}
tw-storydata {
display: none
}
tw-story {
display: -ms-flexbox;
display: flex;
-ms-flex-direction: column;
flex-direction: column;
font: 100% Georgia, serif;
box-sizing: border-box;
width: 100%;
min-height: 100%;
font-size: 1.5em;
line-height: 1.5em;
padding: 5% 5%;
overflow: hidden;
background-color: #000;
color: #fff
}
tw-story [style*=content-box] * {
box-sizing: border-box
}
@media(min-width: 576px) {
tw-story {
padding: 5% 20%
}
}
tw-story tw-consecutive-br {
display: block;
height: 1.6ex;
visibility: hidden
}
tw-story select {
background-color: rgba(0, 0, 0, 0);
font: inherit;
border-style: solid;
padding: 2px
}
tw-story select:not([disabled]) {
color: inherit
}
tw-story textarea {
resize: none;
background-color: rgba(0, 0, 0, 0);
font: inherit;
color: inherit;
border-style: none;
padding: 2px
}
tw-story input[type=text] {
background-color: rgba(0, 0, 0, 0);
font: inherit;
color: inherit;
border-style: none
}
tw-story input[type=checkbox] {
transform: scale(1.5);
margin: 0 .5em .5em .5em;
vertical-align: middle
}
tw-story tw-noscript {
animation: appear .8s
}
tw-passage {
display: block
}
tw-sidebar {
text-align: center;
display: -ms-flexbox;
display: flex;
-ms-flex-pack: justify;
justify-content: space-between
}
@media(min-width: 576px) {
tw-sidebar {
left: -5em;
width: 3em;
position: absolute;
-ms-flex-direction: column;
flex-direction: column
}
tw-enchantment[style*=width]>tw-sidebar {
width: inherit
}
}
tw-icon {
display: inline-block;
margin: .5em 0;
font-size: 66px;
font-family: "Verdana", sans-serif
}
tw-icon[alt] {
opacity: .2;
cursor: pointer
}
tw-icon[alt]:hover {
opacity: .4
}
tw-icon[data-label]::after {
font-weight: bold;
content: attr(data-label);
font-size: 20px;
bottom: -20px;
left: -50%;
white-space: nowrap
}
tw-meter {
display: block
}
tw-hook:empty,
tw-expression:empty {
display: none
}
tw-error {
display: inline-block;
border-radius: .2em;
padding: .2em;
font-size: 1rem;
cursor: help;
white-space: pre-wrap
}
tw-error.error {
background-color: rgba(223, 58, 190, .6);
color: #fff
}
tw-error.warning {
background-color: rgba(223, 140, 58, .6);
color: #fff;
display: none
}
.debug-mode tw-error.warning {
display: inline
}
tw-error-explanation {
display: block;
font-size: .8rem;
line-height: 1rem
}
tw-open-button,
tw-folddown {
cursor: pointer;
line-height: 0em;
border-radius: 4px;
border: 1px solid rgba(255, 255, 255, .5);
font-size: .8rem;
margin: 0 .2rem;
padding: 3px;
white-space: pre
}
tw-folddown::after {
content: "▶"
}
tw-folddown.open::after {
content: "▼"
}
tw-open-button[replay] {
display: none
}
tw-error tw-open-button,
tw-eval-replay tw-open-button {
display: inline !important
}
tw-open-button::after {
content: attr(label)
}
tw-notifier {
border-radius: .2em;
padding: .2em;
font-size: 1rem;
background-color: rgba(223, 182, 58, .4);
display: none
}
.debug-mode tw-notifier {
display: inline
}
tw-notifier::before {
content: attr(message)
}
tw-colour {
border: 1px solid #000;
display: inline-block;
width: 1em;
height: 1em
}
tw-enchantment:empty {
display: none
}
h1 {
font-size: 3em
}
h2 {
font-size: 2.25em
}
h3 {
font-size: 1.75em
}
h1,
h2,
h3,
h4,
h5,
h6 {
line-height: 1em;
margin: .3em 0 .6em 0
}
pre {
font-size: 1rem;
line-height: initial
}
small {
font-size: 70%
}
big {
font-size: 120%
}
mark {
color: rgba(0, 0, 0, .6);
background-color: #ff9
}
ins {
color: rgba(0, 0, 0, .6);
background-color: rgba(255, 242, 204, .5);
border-radius: .5em;
box-shadow: 0em 0em .2em #ffe699;
text-decoration: none
}
center {
text-align: center;
margin: 0 auto;
width: 60%
}
blink {
text-decoration: none;
animation: fade-in-out 1s steps(1, end) infinite alternate
}
tw-align {
display: block
}
tw-columns {
display: -ms-flexbox;
display: flex;
-ms-flex-direction: row;
flex-direction: row;
-ms-flex-pack: justify;
justify-content: space-between
}
.transition-in {
animation: appear 0ms step-start
}
.transition-out {
animation: appear 0ms step-end
}
[data-t8n^=dissolve].transition-in,
[data-t8n=fade].transition-in {
animation: appear .8s
}
[data-t8n^=dissolve].transition-out,
[data-t8n=fade].transition-out {
animation: appear .8s reverse
}
[data-t8n^=shudder].transition-in {
display: inline-block !important;
animation: shudder-in .8s
}
[data-t8n^=shudder].transition-out {
display: inline-block !important;
animation: shudder-in .8s reverse
}
[data-t8n^=rumble].transition-in {
display: inline-block !important;
animation: rumble-in .8s
}
[data-t8n^=rumble].transition-out {
display: inline-block !important;
animation: rumble-in .8s reverse
}
[data-t8n^=pulse].transition-in {
animation: pulse .8s;
display: inline-block !important
}
[data-t8n^=pulse].transition-out {
animation: pulse .8s reverse;
display: inline-block !important
}
[data-t8n^=zoom].transition-in {
animation: zoom-in .8s;
display: inline-block !important
}
[data-t8n^=zoom].transition-out {
animation: zoom-in .8s reverse;
display: inline-block !important
}
[data-t8n^=blur].transition-in {
animation: blur .8s;
display: inline-block !important
}
[data-t8n^=blur].transition-out {
animation: blur .8s reverse;
display: inline-block !important
}
[data-t8n^=slideleft].transition-in {
animation: slide-left .8s;
display: inline-block !important
}
[data-t8n^=slideleft].transition-out {
animation: slide-right .8s reverse;
display: inline-block !important
}
[data-t8n^=slideright].transition-in {
animation: slide-right .8s;
display: inline-block !important
}
[data-t8n^=slideright].transition-out {
animation: slide-left .8s reverse;
display: inline-block !important
}
[data-t8n^=slideup].transition-in {
animation: slide-up .8s;
display: inline-block !important
}
[data-t8n^=slideup].transition-out {
animation: slide-down .8s reverse;
display: inline-block !important
}
[data-t8n^=slidedown].transition-in {
animation: slide-down .8s;
display: inline-block !important
}
[data-t8n^=slidedown].transition-out {
animation: slide-up .8s reverse;
display: inline-block !important
}
[data-t8n^=fadeleft].transition-in {
animation: fade-left .8s;
display: inline-block !important
}
[data-t8n^=fadeleft].transition-out {
animation: fade-right .8s reverse;
display: inline-block !important
}
[data-t8n^=faderight].transition-in {
animation: fade-right .8s;
display: inline-block !important
}
[data-t8n^=faderight].transition-out {
animation: fade-left .8s reverse;
display: inline-block !important
}
[data-t8n^=fadeup].transition-in {
animation: fade-up .8s;
display: inline-block !important
}
[data-t8n^=fadeup].transition-out {
animation: fade-down .8s reverse;
display: inline-block !important
}
[data-t8n^=fadedown].transition-in {
animation: fade-down .8s;
display: inline-block !important
}
[data-t8n^=fadedown].transition-out {
animation: fade-up .8s reverse;
display: inline-block !important
}
[data-t8n^=flicker].transition-in {
animation: flicker .8s
}
[data-t8n^=flicker].transition-out {
animation: flicker .8s reverse
}
</style>
</head>
<body>
<tw-story><noscript><tw-noscript>JavaScript needs to be enabled to play
Framework.</tw-noscript></noscript></tw-story>
<tw-storydata name="Framework" startnode="1" creator="Twine" creator-version="2.6.2" format="Harlowe"
format-version="3.3.5" ifid="CCE85936-2D98-4CC8-BFEB-417AA352506C" options="" tags="" zoom="1" hidden>
<style role="stylesheet" id="twine-user-stylesheet" type="text/twine-css"></style>
<script role="script" id="twine-user-script" type="text/twine-javascript"></script><tw-passagedata pid="1"
name="Untitled Passage" tags="" position="319.5,341"
size="100,100">(align:&quot;=&gt;&lt;=&quot;)+(box:&quot;X&quot;)[=
## [[Play-&gt;Prologue]]
(unless: (history:) contains &quot;Settings&quot;)[
(set: $player to &quot;Zack&quot;)]</tw-passagedata><tw-passagedata pid="2" name="Prologue" tags=""
position="319.5,491" size="100,100">Double-click this passage to edit it.</tw-passagedata><tw-passagedata
pid="3" name="Header" tags="header" position="439.5,341"
size="100,100">(align:&quot;=&gt;&lt;=&quot;)+(box:&quot;X&quot;)[&#39;&#39;Framework&#39;&#39; |
[[Settings-&gt;Settings]]]</tw-passagedata><tw-passagedata pid="4" name="Settings" tags=""
position="439.5,491" size="100,100">(align:&quot;=&gt;&lt;=&quot;)+(box:&quot;X&quot;)[=
What is your name?
(input-box:2bind $player,&quot;X&quot;,1,&quot;Zack&quot;)
(display:&quot;Return&quot;)</tw-passagedata><tw-passagedata pid="5" name="Return" tags=""
position="559.5,341" size="100,100">(align:&quot;=&gt;&lt;=&quot;)+(box:&quot;X&quot;)[(link-goto:
&quot;Return&quot;, (history:)&#39;s last)]</tw-passagedata>
</tw-storydata>
<script title="Twine engine code" data-main="harlowe">(function () {
"use strict";
var require, define; !function () { var e = {}, r = {}; require = function (i) { var n = e[i]; return n && (r[i] = n[1].apply(void 0, n[0].map(require)), e[i] = void 0), r[i] }, (define = function (r, i, n) { if ("function" == typeof r) return r(); e[r] = [i, n] }).amd = !0 }();/*!
* https://github.com/paulmillr/es6-shim
* @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com)
* and contributors, MIT License
* es6-shim: v0.35.4
* see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE
* Details and documentation:
* https://github.com/paulmillr/es6-shim/
*/
(function (e, t) { if (typeof define === "function" && define.amd) { define(t) } else if (typeof exports === "object") { module.exports = t() } else { e.returnExports = t() } })(this, function () {
"use strict"; var e = Function.call.bind(Function.apply); var t = Function.call.bind(Function.call); var r = Array.isArray; var n = Object.keys; var o = function notThunker(t) { return function notThunk() { return !e(t, this, arguments) } }; var i = function (e) { try { e(); return false } catch (t) { return true } }; var a = function valueOrFalseIfThrows(e) { try { return e() } catch (t) { return false } }; var u = o(i); var f = function () { return !i(function () { return Object.defineProperty({}, "x", { get: function () { } }) }) }; var s = !!Object.defineProperty && f(); var c = function foo() { }.name === "foo"; var l = Function.call.bind(Array.prototype.forEach); var p = Function.call.bind(Array.prototype.reduce); var v = Function.call.bind(Array.prototype.filter); var y = Function.call.bind(Array.prototype.some); var h = function (e, t, r, n) { if (!n && t in e) { return } if (s) { Object.defineProperty(e, t, { configurable: true, enumerable: false, writable: true, value: r }) } else { e[t] = r } }; var b = function (e, t, r) { l(n(t), function (n) { var o = t[n]; h(e, n, o, !!r) }) }; var g = Function.call.bind(Object.prototype.toString); var d = typeof /abc/ === "function" ? function IsCallableSlow(e) { return typeof e === "function" && g(e) === "[object Function]" } : function IsCallableFast(e) { return typeof e === "function" }; var m = { getter: function (e, t, r) { if (!s) { throw new TypeError("getters require true ES5 support") } Object.defineProperty(e, t, { configurable: true, enumerable: false, get: r }) }, proxy: function (e, t, r) { if (!s) { throw new TypeError("getters require true ES5 support") } var n = Object.getOwnPropertyDescriptor(e, t); Object.defineProperty(r, t, { configurable: n.configurable, enumerable: n.enumerable, get: function getKey() { return e[t] }, set: function setKey(r) { e[t] = r } }) }, redefine: function (e, t, r) { if (s) { var n = Object.getOwnPropertyDescriptor(e, t); n.value = r; Object.defineProperty(e, t, n) } else { e[t] = r } }, defineByDescriptor: function (e, t, r) { if (s) { Object.defineProperty(e, t, r) } else if ("value" in r) { e[t] = r.value } }, preserveToString: function (e, t) { if (t && d(t.toString)) { h(e, "toString", t.toString.bind(t), true) } } }; var O = Object.create || function (e, t) { var r = function Prototype() { }; r.prototype = e; var o = new r; if (typeof t !== "undefined") { n(t).forEach(function (e) { m.defineByDescriptor(o, e, t[e]) }) } return o }; var w = function (e, t) { if (!Object.setPrototypeOf) { return false } return a(function () { var r = function Subclass(t) { var r = new e(t); Object.setPrototypeOf(r, Subclass.prototype); return r }; Object.setPrototypeOf(r, e); r.prototype = O(e.prototype, { constructor: { value: r } }); return t(r) }) }; var j = function () { if (typeof self !== "undefined") { return self } if (typeof window !== "undefined") { return window } if (typeof global !== "undefined") { return global } throw new Error("unable to locate global object") }; var S = j(); var T = S.isFinite; var I = Function.call.bind(String.prototype.indexOf); var E = Function.apply.bind(Array.prototype.indexOf); var P = Function.call.bind(Array.prototype.concat); var C = Function.call.bind(String.prototype.slice); var M = Function.call.bind(Array.prototype.push); var x = Function.apply.bind(Array.prototype.push); var N = Function.call.bind(Array.prototype.join); var A = Function.call.bind(Array.prototype.shift); var R = Math.max; var _ = Math.min; var k = Math.floor; var L = Math.abs; var F = Math.exp; var D = Math.log; var z = Math.sqrt; var q = Function.call.bind(Object.prototype.hasOwnProperty); var W; var G = function () { }; var H = S.Map; var V = H && H.prototype["delete"]; var B = H && H.prototype.get; var U = H && H.prototype.has; var $ = H && H.prototype.set; var J = S.Symbol || {}; var X = J.species || "@@species"; var K = Number.isNaN || function isNaN(e) { return e !== e }; var Z = Number.isFinite || function isFinite(e) { return typeof e === "number" && T(e) }; var Y = d(Math.sign) ? Math.sign : function
h(Math, "atanh", xr.atanh, Math.atanh(1e-300) === 0); h(Math, "tanh", xr.tanh, Math.tanh(-2e-17) !== -2e-17); h(Math, "acosh", xr.acosh, Math.acosh(Number.MAX_VALUE) === Infinity); h(Math, "acosh", xr.acosh, !Nr(Math.acosh(1 + Number.EPSILON), Math.sqrt(2 * Number.EPSILON))); h(Math, "cbrt", xr.cbrt, !Nr(Math.cbrt(1e-300), 1e-100)); h(Math, "sinh", xr.sinh, Math.sinh(-2e-17) !== -2e-17); var Ar = Math.expm1(10); h(Math, "expm1", xr.expm1, Ar > 22025.465794806718 || Ar < 22025.465794806718); h(Math, "hypot", xr.hypot, Math.hypot(Infinity, NaN) !== Infinity); var Rr = Math.round; var _r = Math.round(.5 - Number.EPSILON / 4) === 0 && Math.round(-.5 + Number.EPSILON / 3.99) === 1; var kr = wr + 1; var Lr = 2 * wr - 1; var Fr = [kr, Lr].every(function (e) { return Math.round(e) === e }); h(Math, "round", function round(e) { var t = k(e); var r = t === -1 ? -0 : t + 1; return e - t < .5 ? t : r }, !_r || !Fr); m.preserveToString(Math.round, Rr); var Dr = Math.imul; if (Math.imul(4294967295, 5) !== -5) { Math.imul = xr.imul; m.preserveToString(Math.imul, Dr) } if (Math.imul.length !== 2) { oe(Math, "imul", function imul(e, t) { return le.Call(Dr, Math, arguments) }) } var zr = function () { var e = S.setTimeout; if (typeof e !== "function" && typeof e !== "object") { return } le.IsPromise = function (e) { if (!le.TypeIsObject(e)) { return false } if (typeof e._promise === "undefined") { return false } return true }; var r = function (e) { if (!le.IsConstructor(e)) { throw new TypeError("Bad promise constructor") } var t = this; var r = function (e, r) { if (t.resolve !== void 0 || t.reject !== void 0) { throw new TypeError("Bad Promise implementation!") } t.resolve = e; t.reject = r }; t.resolve = void 0; t.reject = void 0; t.promise = new e(r); if (!(le.IsCallable(t.resolve) && le.IsCallable(t.reject))) { throw new TypeError("Bad promise constructor") } }; var n; if (typeof window !== "undefined" && le.IsCallable(window.postMessage)) { n = function () { var e = []; var t = "zero-timeout-message"; var r = function (r) { M(e, r); window.postMessage(t, "*") }; var n = function (r) { if (r.source === window && r.data === t) { r.stopPropagation(); if (e.length === 0) { return } var n = A(e); n() } }; window.addEventListener("message", n, true); return r } } var o = function () { var e = S.Promise; var t = e && e.resolve && e.resolve(); return t && function (e) { return t.then(e) } }; var i = le.IsCallable(S.setImmediate) ? S.setImmediate : typeof process === "object" && process.nextTick ? process.nextTick : o() || (le.IsCallable(n) ? n() : function (t) { e(t, 0) }); var a = function (e) { return e }; var u = function (e) { throw e }; var f = 0; var s = 1; var c = 2; var l = 0; var p = 1; var v = 2; var y = {}; var h = function (e, t, r) { i(function () { g(e, t, r) }) }; var g = function (e, t, r) { var n, o; if (t === y) { return e(r) } try { n = e(r); o = t.resolve } catch (i) { n = i; o = t.reject } o(n) }; var d = function (e, t) { var r = e._promise; var n = r.reactionLength; if (n > 0) { h(r.fulfillReactionHandler0, r.reactionCapability0, t); r.fulfillReactionHandler0 = void 0; r.rejectReactions0 = void 0; r.reactionCapability0 = void 0; if (n > 1) { for (var o = 1, i = 0; o < n; o++, i += 3) { h(r[i + l], r[i + v], t); e[i + l] = void 0; e[i + p] = void 0; e[i + v] = void 0 } } } r.result = t; r.state = s; r.reactionLength = 0 }; var m = function (e, t) { var r = e._promise; var n = r.reactionLength; if (n > 0) { h(r.rejectReactionHandler0, r.reactionCapability0, t); r.fulfillReactionHandler0 = void 0; r.rejectReactions0 = void 0; r.reactionCapability0 = void 0; if (n > 1) { for (var o = 1, i = 0; o < n; o++, i += 3) { h(r[i + p], r[i + v], t); e[i + l] = void 0; e[i + p] = void 0; e[i + v] = void 0 } } } r.result = t; r.state = c; r.reactionLength = 0 }; var O = function (e) { var t = false; var r = function (r) { var n; if (t) { return } t = true; if (r === e) { return m(e, new TypeError("Self resolution")) } if (!le.TypeIsObject(r)) { return d(e, r) } try { n = r.then } catch (o) { return m(e, o) } if (!l
});
//# sourceMappingURL=es6-shim.map
/*! jQuery v3.6.3 | (c) OpenJS Foundation and other contributors | jquery.org/license */
!function (e, t) { "use strict"; "object" == typeof module && "object" == typeof module.exports ? module.exports = e.document ? t(e, !0) : function (e) { if (!e.document) throw new Error("jQuery requires a window with a document"); return t(e) } : t(e) }("undefined" != typeof window ? window : this, function (C, e) { "use strict"; var t = [], r = Object.getPrototypeOf, s = t.slice, g = t.flat ? function (e) { return t.flat.call(e) } : function (e) { return t.concat.apply([], e) }, u = t.push, i = t.indexOf, n = {}, o = n.toString, y = n.hasOwnProperty, a = y.toString, l = a.call(Object), v = {}, m = function (e) { return "function" == typeof e && "number" != typeof e.nodeType && "function" != typeof e.item }, x = function (e) { return null != e && e === e.window }, S = C.document, c = { type: !0, src: !0, nonce: !0, noModule: !0 }; function b(e, t, n) { var r, i, o = (n = n || S).createElement("script"); if (o.text = e, t) for (r in c) (i = t[r] || t.getAttribute && t.getAttribute(r)) && o.setAttribute(r, i); n.head.appendChild(o).parentNode.removeChild(o) } function w(e) { return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? n[o.call(e)] || "object" : typeof e } var f = "3.6.3", E = function (e, t) { return new E.fn.init(e, t) }; function p(e) { var t = !!e && "length" in e && e.length, n = w(e); return !m(e) && !x(e) && ("array" === n || 0 === t || "number" == typeof t && 0 < t && t - 1 in e) } E.fn = E.prototype = { jquery: f, constructor: E, length: 0, toArray: function () { return s.call(this) }, get: function (e) { return null == e ? s.call(this) : e < 0 ? this[e + this.length] : this[e] }, pushStack: function (e) { var t = E.merge(this.constructor(), e); return t.prevObject = this, t }, each: function (e) { return E.each(this, e) }, map: function (n) { return this.pushStack(E.map(this, function (e, t) { return n.call(e, t, e) })) }, slice: function () { return this.pushStack(s.apply(this, arguments)) }, first: function () { return this.eq(0) }, last: function () { return this.eq(-1) }, even: function () { return this.pushStack(E.grep(this, function (e, t) { return (t + 1) % 2 })) }, odd: function () { return this.pushStack(E.grep(this, function (e, t) { return t % 2 })) }, eq: function (e) { var t = this.length, n = +e + (e < 0 ? t : 0); return this.pushStack(0 <= n && n < t ? [this[n]] : []) }, end: function () { return this.prevObject || this.constructor() }, push: u, sort: t.sort, splice: t.splice }, E.extend = E.fn.extend = function () { var e, t, n, r, i, o, a = arguments[0] || {}, s = 1, u = arguments.length, l = !1; for ("boolean" == typeof a && (l = a, a = arguments[s] || {}, s++), "object" == typeof a || m(a) || (a = {}), s === u && (a = this, s--); s < u; s++)if (null != (e = arguments[s])) for (t in e) r = e[t], "__proto__" !== t && a !== r && (l && r && (E.isPlainObject(r) || (i = Array.isArray(r))) ? (n = a[t], o = i && !Array.isArray(n) ? [] : i || E.isPlainObject(n) ? n : {}, i = !1, a[t] = E.extend(l, o, r)) : void 0 !== r && (a[t] = r)); return a }, E.extend({ expando: "jQuery" + (f + Math.random()).replace(/\D/g, ""), isReady: !0, error: function (e) { throw new Error(e) }, noop: function () { }, isPlainObject: function (e) { var t, n; return !(!e || "[object Object]" !== o.call(e)) && (!(t = r(e)) || "function" == typeof (n = y.call(t, "constructor") && t.constructor) && a.call(n) === l) }, isEmptyObject: function (e) { var t; for (t in e) return !1; return !0 }, globalEval: function (e, t, n) { b(e, { nonce: t && t.nonce }, n) }, each: function (e, t) { var n, r = 0; if (p(e)) { for (n = e.length; r < n; r++)if (!1 === t.call(e[r], r, e[r])) break } else for (r in e) if (!1 === t.call(e[r], r, e[r])) break; return e }, makeArray: function (e, t) { var n = t || []; return null != e && (p(Object(e)) ? E.merge(n, "string" == typeof e ? [e] : e) : u.call(n, e)), n }, inArray: function (e, t, n) { return null == t ? -1 : i.call(t, e, n) }, merge: function (e, t) { for (var n = +t.length, r = 0, i = e.length; r < n; r++)e[i++] = t[r]; return e.length = i, e }, gre
"use strict"; function _slicedToArray(e, t) { return _arrayWithHoles(e) || _iterableToArrayLimit(e, t) || _unsupportedIterableToArray(e, t) || _nonIterableRest() } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } function _iterableToArrayLimit(e, t) { var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (null != n) { var r, a, o, i, s = [], c = !0, l = !1; try { if (o = (n = n.call(e)).next, 0 === t) { if (Object(n) !== n) return; c = !1 } else for (; !(c = (r = o.call(n)).done) && (s.push(r.value), s.length !== t); c = !0); } catch (e) { l = !0, a = e } finally { try { if (!c && null != n.return && (i = n.return(), Object(i) !== i)) return } finally { if (l) throw a } } return s } } function _arrayWithHoles(e) { if (Array.isArray(e)) return e } function ownKeys(t, e) { var n, r = Object.keys(t); return Object.getOwnPropertySymbols && (n = Object.getOwnPropertySymbols(t), e && (n = n.filter(function (e) { return Object.getOwnPropertyDescriptor(t, e).enumerable })), r.push.apply(r, n)), r } function _objectSpread(t) { for (var e = 1; e < arguments.length; e++) { var n = null != arguments[e] ? arguments[e] : {}; e % 2 ? ownKeys(Object(n), !0).forEach(function (e) { _defineProperty(t, e, n[e]) }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(n)) : ownKeys(Object(n)).forEach(function (e) { Object.defineProperty(t, e, Object.getOwnPropertyDescriptor(n, e)) }) } return t } function _defineProperty(e, t, n) { return (t = _toPropertyKey(t)) in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e } function _toPropertyKey(e) { e = _toPrimitive(e, "string"); return "symbol" === _typeof(e) ? e : String(e) } function _toPrimitive(e, t) { if ("object" !== _typeof(e) || null === e) return e; var n = e[Symbol.toPrimitive]; if (void 0 === n) return ("string" === t ? String : Number)(e); n = n.call(e, t || "default"); if ("object" !== _typeof(n)) return n; throw new TypeError("@@toPrimitive must return a primitive value.") } function _toConsumableArray(e) { return _arrayWithoutHoles(e) || _iterableToArray(e) || _unsupportedIterableToArray(e) || _nonIterableSpread() } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } function _iterableToArray(e) { if ("undefined" != typeof Symbol && null != e[Symbol.iterator] || null != e["@@iterator"]) return Array.from(e) } function _arrayWithoutHoles(e) { if (Array.isArray(e)) return _arrayLikeToArray(e) } function _typeof(e) { return (_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } function _createForOfIteratorHelper(e, t) { var n, r, a, o, i = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (i) return r = !(n = !0), { s: function () { i = i.call(e) }, n: function () { var e = i.next(); return n = e.done, e }, e: function (e) { r = !0, a = e }, f: function () { try { n || null == i.return || i.return() } finally { if (r) throw a } } }; if (Array.isArray(e) || (i = _unsupportedIterableToArray(e)) || t && e && "number" == typeof e.length) return i && (e = i), o = 0, { s: t = function () { }, n: function () { return o >= e.length ? { done: !0 } : { done: !1, value: e[o++] } }, e: function (e) { throw e }, f: t }; throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } function _unsupportedIterableToArray(e, t) { var n; if (e) return "string" == typeof e ? _arrayLikeToArray(e, t) : "Map" === (n = "Object" === (n = Object.prototype.toStr
; require("harlowe")
}());
</script>
</body>
</html>