forked from OpenServer/OpenAuth_views
28 lines
34 KiB
Plaintext
28 lines
34 KiB
Plaintext
{
|
|
"version": 3,
|
|
"file": "bundle.css",
|
|
"sources": [
|
|
"../../src/Login/App.svelte",
|
|
"../../src/Login/Credentials.svelte",
|
|
"../../src/Login/Redirect.svelte",
|
|
"../../src/Login/Twofactor.svelte",
|
|
"../../src/Login/twofactors/otc.svelte",
|
|
"../../src/Login/twofactors/push.svelte",
|
|
"../../src/Login/twofactors/u2f.svelte",
|
|
"../../src/Login/twofactors/toList.svelte",
|
|
"../../src/Login/twofactors/codeInput.svelte"
|
|
],
|
|
"sourcesContent": [
|
|
"<script>\n import Api from \"./api\";\n import Credentials from \"./Credentials.svelte\";\n import Redirect from \"./Redirect.svelte\";\n import Twofactor from \"./Twofactor.svelte\";\n\n const appname = \"OpenAuth\";\n\n const states = {\n credentials: 1,\n twofactor: 3,\n redirect: 4\n }\n\n let username = Api.getUsername();\n let password = \"\";\n\n let loading = false;\n let state = states.credentials;\n\n function getButtonText(state) {\n switch (state) {\n case states.username:\n return \"Next\";\n case states.password:\n return \"Login\";\n default:\n return \"\";\n }\n }\n\n $: btnText = getButtonText(state);\n\n let error;\n\n // window.addEventListener(\"popstate\", () => {\n // state = history.state;\n // })\n\n\n function LoadRedirect() {\n state = states.redirect;\n }\n\n function Loading() {\n state = states.loading;\n }\n\n\n let salt;\n async function buttonClick() {\n if (state === states.username) {\n Loading()\n let res = await Api.setUsername(username);\n if (res.error) {\n error = res.error;\n LoadUsername();\n } else {\n LoadPassword();\n }\n\n } else if (state === states.password) {\n Loading();\n let res = await Api.setPassword(password);\n if (res.error) {\n error = res.error;\n LoadPassword();\n } else {\n if (res.tfa) {\n // TODO: Make TwoFactor UI/-s\n } else {\n LoadRedirect();\n }\n }\n btnText = \"Error\";\n }\n }\n\n function startRedirect() {\n state = states.redirect;\n // Show message to User and then redirect\n setTimeout(() => Api.finish(), 2000);\n }\n\n function afterCredentials() {\n Object.keys(Api); // Some weird bug needs this???\n\n if (Api.twofactor) {\n state = states.twofactor;\n } else {\n startRedirect();\n }\n }\n\n function afterTwoFactor() {\n startRedirect();\n }\n</script>\n\n<div class=\"form-container\">\n <form action=\"JavaScript:void(0)\" class=\"card\">\n <div class=\"card title-container\">\n <h1>Login</h1>\n </div>\n {#if loading}\n <div class=\"loader_container\">\n <div class=\"loader_box\">\n <div class=\"loader\"></div>\n </div>\n </div>\n {/if}\n <div class=\"container\" class:loading_container={loading}>\n {#if state === states.redirect}\n <Redirect/>\n {:else if state === states.credentials}\n <Credentials next={afterCredentials} setLoading={s => loading = s} />\n {:else if state === states.twofactor}\n <Twofactor finish={afterTwoFactor} setLoading={s => loading = s} />\n {/if}\n </div>\n </form>\n</div>\n<footer>\n\t<p>Powered by {appname}</p>\n</footer>\n\n<style>\n .card {\n box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);\n background: #fafafa;\n border-radius: 4px;\n }\n \n .form-container {\n height: 100vh;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 1rem;\n box-sizing: border-box;\n }\n \n form {\n width: 100%;\n max-width: 380px;\n margin: 0 auto;\n box-shadow: 0 19px 38px rgba(0, 0, 0, 0.30), 0 15px 12px rgba(0, 0, 0, 0.22);\n position: relative;\n padding: 1px;\n background-color: white !important;\n margin-bottom: 40px; \n }\n \n \n .container {\n overflow: hidden;\n padding: 2em;\n }\n \n button {\n margin-top: 16px;\n }\n\n footer {\n text-align: center;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n }\n \n .floating {\n margin-top: 8px;\n }\n \n \n \n h3 {\n font-weight: 200;\n }\n \n .title-container {\n margin: -30px auto 0 auto;\n max-width: 250px;\n background-color: var(--primary);\n color: white;\n padding: 5px 20px;\n }\n \n .loading_container {\n filter: blur(1px) opacity(50%);\n \n }\n \n .loader_container {\n position: absolute;\n display: flex;\n flex-direction: column;\n justify-content: center;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 2;\n }\n </style>",
|
|
"<script>\n import Api from \"./api\";\n\n let error;\n let password = \"\";\n let username = Api.getUsername();\n\n const states = {\n username: 1,\n password: 2\n };\n\n let state = states.username;\n\n let salt;\n\n export let setLoading;\n export let next;\n\n async function buttonClick() {\n setLoading(true);\n if (state === states.username) {\n let res = await Api.setUsername(username);\n if (res.error) {\n error = res.error;\n } else {\n state = states.password;\n error = undefined;\n }\n } else if (state === states.password) {\n let res = await Api.setPassword(password);\n if (res.error) {\n error = res.error;\n } else {\n error = undefined;\n next();\n }\n }\n\n setLoading(false);\n }\n</script>\n\n<style>\n .error {\n color: var(--error);\n padding: 4px;\n }\n\n .btn {\n background-color: var(--primary);\n width: 100%;\n margin: 0;\n }\n</style>\n\n{#if state === states.username}\n<h3>Enter your Username or your E-Mail Address</h3>\n<div class=\"floating group\">\n <input type=\"text\" autocomplete=\"username\" autofocus bind:value={username}>\n <span class=\"highlight\"></span>\n <span class=\"bar\"></span>\n <label>Username or E-Mail</label>\n <div class=\"error\" style={!error ? \"display: none;\" : \"\" }>{error}</div>\n</div>\n{:else}\n<h3>Enter password for {username}</h3>\n<div class=\"floating group\">\n <input type=\"password\" autocomplete=\"password\" autofocus bind:value={password}>\n <span class=\"highlight\"></span>\n <span class=\"bar\"></span>\n <label>Password</label>\n <div class=\"error\" style={!error ? \"display: none;\" : \"\" }>{error}</div>\n</div>\n{/if}\n\n<button class=\"btn\" on:click={buttonClick}>\n Next\n</button>",
|
|
"<script>\n // import {\n // onMount,\n // onDestroy\n // } from \"svelte\";\n import {\n onMount,\n onDestroy\n } from 'svelte';\n\n const basetext = \"Logged in. Redirecting\";\n let dots = 0;\n\n $: text = basetext + \".\".repeat(dots);\n\n let iv;\n onMount(() => {\n console.log(\"Mounted\");\n iv = setInterval(() => {\n dots++;\n if (dots > 3)\n dots = 0;\n }, 500);\n });\n\n onDestroy(() => {\n console.log(\"on Destroy\")\n clearInterval(iv)\n });\n</script>\n\n<div class=\"scale\">\n <svg class=\"checkmark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\n <circle class=\"checkmark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path class=\"checkmark__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\n </svg>\n</div>\n<!-- <div style=\"text-align: center;\"> -->\n<h3>{text}</h3>\n<!-- </div> -->\n\n<style>\n .checkmark__circle {\n stroke-dasharray: 166;\n stroke-dashoffset: 166;\n stroke-width: 2;\n stroke-miterlimit: 10;\n stroke: #7ac142;\n fill: none;\n animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;\n }\n\n .checkmark {\n width: 56px;\n height: 56px;\n border-radius: 50%;\n display: block;\n stroke-width: 2;\n stroke: #fff;\n stroke-miterlimit: 10;\n margin: 10% auto;\n box-shadow: inset 0px 0px 0px #7ac142;\n animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;\n }\n\n .checkmark__check {\n transform-origin: 50% 50%;\n stroke-dasharray: 48;\n stroke-dashoffset: 48;\n animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;\n }\n\n @keyframes stroke {\n 100% {\n stroke-dashoffset: 0;\n }\n }\n\n @keyframes scale {\n\n 0%,\n 100% {\n transform: none;\n }\n\n 50% {\n transform: scale3d(1.1, 1.1, 1);\n }\n }\n\n @keyframes fill {\n 100% {\n box-shadow: inset 0px 0px 0px 30px #7ac142;\n }\n }\n\n .scale {\n transform: scale(1.5);\n }\n</style>",
|
|
"<script>\n import Api, {\n TFATypes\n } from \"./api\";\n import Icon from \"./icons/Icon.svelte\";\n\n import OTCTwoFactor from \"./twofactors/otc.svelte\";\n import PushTwoFactor from \"./twofactors/push.svelte\";\n import U2FTwoFactor from \"./twofactors/u2f.svelte\";\n\n const states = {\n list: 1,\n twofactor: 2\n }\n\n function getIcon(tf) {\n switch (tf.type) {\n case TFATypes.OTC:\n return \"Authenticator\"\n case TFATypes.BACKUP_CODE:\n return \"BackupCode\"\n case TFATypes.U2F:\n return \"SecurityKey\"\n case TFATypes.APP_ALLOW:\n return \"AppPush\"\n }\n }\n\n let twofactors = Api.twofactor.map(tf => {\n return {\n ...tf,\n icon: getIcon(tf)\n }\n });\n\n let state = states.list;\n\n let twofactor = undefined;\n twofactor = twofactors[0];\n $: console.log(twofactor)\n\n function onFinish(res) {\n if (res)\n finish()\n else\n twofactor = undefined;\n }\n\n export let finish;\n</script>\n\n<style>\n ul {\n list-style: none;\n padding-inline-start: 0;\n margin-bottom: 0;\n }\n\n li {\n border-top: 1px grey solid;\n padding: 1em;\n cursor: pointer;\n }\n\n li:first-child {\n border-top: none !important;\n }\n\n .icon {\n float: left;\n height: 24px;\n width: 24px;\n }\n\n .name {\n margin-left: 48px;\n line-height: 24px;\n font-size: 20px;\n }\n</style>\n\n<div>\n {#if !twofactor} \n <h3>Select your Authentication method:</h3>\n <ul>\n {#each twofactors as tf}\n <li on:click={()=>twofactor = tf}>\n <div class=\"icon\">\n <Icon icon_name={tf.icon}/>\n </div>\n\n <div class=\"name\">\n {tf.name}\n </div>\n </li>\n {/each}\n </ul>\n {:else}\n {#if twofactor.type === TFATypes.OTC}\n <OTCTwoFactor id={twofactor.id} finish={onFinish} otc={true}/>\n {:else if twofactor.type === TFATypes.BACKUP_CODE}\n <OTCTwoFactor id={twofactor.id} finish={onFinish} otc={false}/>\n {:else if twofactor.type === TFATypes.U2F}\n <U2FTwoFactor id={twofactor.id} finish={onFinish}/>\n {:else if twofactor.type === TFATypes.APP_ALLOW}\n <PushTwoFactor id={twofactor.id} finish={onFinish}/>\n {:else}\n <div>Invalid TwoFactor Method!</div>\n {/if}\n {/if}\n\n</div>",
|
|
"<script>\n import ToList from \"./toList.svelte\";\n import Api from \"../api\";\n import CodeInput from \"./codeInput.svelte\"\n\n let error = \"\";\n let code = \"\";\n export let finish;\n export let id;\n\n export let otc = false;\n let title = otc ? \"One Time Code (OTC)\" : \"Backup Code\"\n let length = otc ? 6 : 8;\n\n async function sendCode() {\n let c = code.replace(/\\s+/g, \"\");\n if (c.length < length) {\n error = `Code must be ${length} digits long!`;\n } else {\n error = \"\";\n let res;\n if (otc)\n res = await Api.sendOTC(id, c);\n else\n res = await Api.sendBackup(id, c);\n if (res.error)\n error = res.error;\n else\n finish(true)\n }\n }\n</script>\n\n\n<style>\n .actions {\n display: flex;\n align-items: center;\n }\n\n .btn {\n background-color: var(--primary);\n margin: 0;\n margin-left: auto;\n min-width: 80px;\n }\n</style>\n\n<h3>{title}</h3>\n\n<CodeInput bind:value={code} label=\"Code\" error={error} length={length} />\n\n<div class=\"actions\">\n <ToList {finish} />\n <button class=\"btn\" style=\"margin-left: auto\" on:click={sendCode}>Send</button>\n</div>",
|
|
"<script>\n import ToList from \"./toList.svelte\";\n\n let error = \"\";\n let code = \"\";\n export let device = \"Handy01\";\n export let deviceId = \"\";\n\n export let finish;\n\n async function requestPush() {\n\n // Push Request\n }\n</script>\n\n\n<style>\n .error {\n color: var(--error);\n }\n\n .windows8 {\n position: relative;\n width: 56px;\n height: 56px;\n margin: 2rem auto;\n }\n\n .windows8 .wBall {\n position: absolute;\n width: 53px;\n height: 53px;\n opacity: 0;\n transform: rotate(225deg);\n -o-transform: rotate(225deg);\n -ms-transform: rotate(225deg);\n -webkit-transform: rotate(225deg);\n -moz-transform: rotate(225deg);\n animation: orbit 5.7425s infinite;\n -o-animation: orbit 5.7425s infinite;\n -ms-animation: orbit 5.7425s infinite;\n -webkit-animation: orbit 5.7425s infinite;\n -moz-animation: orbit 5.7425s infinite;\n }\n\n .windows8 .wBall .wInnerBall {\n position: absolute;\n width: 7px;\n height: 7px;\n background: rgb(0, 140, 255);\n left: 0px;\n top: 0px;\n border-radius: 7px;\n }\n\n .windows8 #wBall_1 {\n animation-delay: 1.256s;\n -o-animation-delay: 1.256s;\n -ms-animation-delay: 1.256s;\n -webkit-animation-delay: 1.256s;\n -moz-animation-delay: 1.256s;\n }\n\n .windows8 #wBall_2 {\n animation-delay: 0.243s;\n -o-animation-delay: 0.243s;\n -ms-animation-delay: 0.243s;\n -webkit-animation-delay: 0.243s;\n -moz-animation-delay: 0.243s;\n }\n\n .windows8 #wBall_3 {\n animation-delay: 0.5065s;\n -o-animation-delay: 0.5065s;\n -ms-animation-delay: 0.5065s;\n -webkit-animation-delay: 0.5065s;\n -moz-animation-delay: 0.5065s;\n }\n\n .windows8 #wBall_4 {\n animation-delay: 0.7495s;\n -o-animation-delay: 0.7495s;\n -ms-animation-delay: 0.7495s;\n -webkit-animation-delay: 0.7495s;\n -moz-animation-delay: 0.7495s;\n }\n\n .windows8 #wBall_5 {\n animation-delay: 1.003s;\n -o-animation-delay: 1.003s;\n -ms-animation-delay: 1.003s;\n -webkit-animation-delay: 1.003s;\n -moz-animation-delay: 1.003s;\n }\n\n\n\n @keyframes orbit {\n 0% {\n opacity: 1;\n z-index: 99;\n transform: rotate(180deg);\n animation-timing-function: ease-out;\n }\n\n 7% {\n opacity: 1;\n transform: rotate(300deg);\n animation-timing-function: linear;\n origin: 0%;\n }\n\n 30% {\n opacity: 1;\n transform: rotate(410deg);\n animation-timing-function: ease-in-out;\n origin: 7%;\n }\n\n 39% {\n opacity: 1;\n transform: rotate(645deg);\n animation-timing-function: linear;\n origin: 30%;\n }\n\n 70% {\n opacity: 1;\n transform: rotate(770deg);\n animation-timing-function: ease-out;\n origin: 39%;\n }\n\n 75% {\n opacity: 1;\n transform: rotate(900deg);\n animation-timing-function: ease-out;\n origin: 70%;\n }\n\n 76% {\n opacity: 0;\n transform: rotate(900deg);\n }\n\n 100% {\n opacity: 0;\n transform: rotate(900deg);\n }\n }\n\n @-o-keyframes orbit {\n 0% {\n opacity: 1;\n z-index: 99;\n -o-transform: rotate(180deg);\n -o-animation-timing-function: ease-out;\n }\n\n 7% {\n opacity: 1;\n -o-transform: rotate(300deg);\n -o-animation-timing-function: linear;\n -o-origin: 0%;\n }\n\n 30% {\n opacity: 1;\n -o-transform: rotate(410deg);\n -o-animation-timing-function: ease-in-out;\n -o-origin: 7%;\n }\n\n 39% {\n opacity: 1;\n -o-transform: rotate(645deg);\n -o-animation-timing-function: linear;\n -o-origin: 30%;\n }\n\n 70% {\n opacity: 1;\n -o-transform: rotate(770deg);\n -o-animation-timing-function: ease-out;\n -o-origin: 39%;\n }\n\n 75% {\n opacity: 1;\n -o-transform: rotate(900deg);\n -o-animation-timing-function: ease-out;\n -o-origin: 70%;\n }\n\n 76% {\n opacity: 0;\n -o-transform: rotate(900deg);\n }\n\n 100% {\n opacity: 0;\n -o-transform: rotate(900deg);\n }\n }\n\n @-ms-keyframes orbit {\n 0% {\n opacity: 1;\n z-index: 99;\n -ms-transform: rotate(180deg);\n -ms-animation-timing-function: ease-out;\n }\n\n 7% {\n opacity: 1;\n -ms-transform: rotate(300deg);\n -ms-animation-timing-function: linear;\n -ms-origin: 0%;\n }\n\n 30% {\n opacity: 1;\n -ms-transform: rotate(410deg);\n -ms-animation-timing-function: ease-in-out;\n -ms-origin: 7%;\n }\n\n 39% {\n opacity: 1;\n -ms-transform: rotate(645deg);\n -ms-animation-timing-function: linear;\n -ms-origin: 30%;\n }\n\n 70% {\n opacity: 1;\n -ms-transform: rotate(770deg);\n -ms-animation-timing-function: ease-out;\n -ms-origin: 39%;\n }\n\n 75% {\n opacity: 1;\n -ms-transform: rotate(900deg);\n -ms-animation-timing-function: ease-out;\n -ms-origin: 70%;\n }\n\n 76% {\n opacity: 0;\n -ms-transform: rotate(900deg);\n }\n\n 100% {\n opacity: 0;\n -ms-transform: rotate(900deg);\n }\n }\n\n @-webkit-keyframes orbit {\n 0% {\n opacity: 1;\n z-index: 99;\n -webkit-transform: rotate(180deg);\n -webkit-animation-timing-function: ease-out;\n }\n\n 7% {\n opacity: 1;\n -webkit-transform: rotate(300deg);\n -webkit-animation-timing-function: linear;\n -webkit-origin: 0%;\n }\n\n 30% {\n opacity: 1;\n -webkit-transform: rotate(410deg);\n -webkit-animation-timing-function: ease-in-out;\n -webkit-origin: 7%;\n }\n\n 39% {\n opacity: 1;\n -webkit-transform: rotate(645deg);\n -webkit-animation-timing-function: linear;\n -webkit-origin: 30%;\n }\n\n 70% {\n opacity: 1;\n -webkit-transform: rotate(770deg);\n -webkit-animation-timing-function: ease-out;\n -webkit-origin: 39%;\n }\n\n 75% {\n opacity: 1;\n -webkit-transform: rotate(900deg);\n -webkit-animation-timing-function: ease-out;\n -webkit-origin: 70%;\n }\n\n 76% {\n opacity: 0;\n -webkit-transform: rotate(900deg);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: rotate(900deg);\n }\n }\n\n @-moz-keyframes orbit {\n 0% {\n opacity: 1;\n z-index: 99;\n -moz-transform: rotate(180deg);\n -moz-animation-timing-function: ease-out;\n }\n\n 7% {\n opacity: 1;\n -moz-transform: rotate(300deg);\n -moz-animation-timing-function: linear;\n -moz-origin: 0%;\n }\n\n 30% {\n opacity: 1;\n -moz-transform: rotate(410deg);\n -moz-animation-timing-function: ease-in-out;\n -moz-origin: 7%;\n }\n\n 39% {\n opacity: 1;\n -moz-transform: rotate(645deg);\n -moz-animation-timing-function: linear;\n -moz-origin: 30%;\n }\n\n 70% {\n opacity: 1;\n -moz-transform: rotate(770deg);\n -moz-animation-timing-function: ease-out;\n -moz-origin: 39%;\n }\n\n 75% {\n opacity: 1;\n -moz-transform: rotate(900deg);\n -moz-animation-timing-function: ease-out;\n -moz-origin: 70%;\n }\n\n 76% {\n opacity: 0;\n -moz-transform: rotate(900deg);\n }\n\n 100% {\n opacity: 0;\n -moz-transform: rotate(900deg);\n }\n }\n</style>\n\n<h3>SMS</h3>\n\n<p>A code was sent to your Device <b>{device}</b></p>\n\n<div class=\"windows8\">\n <div class=\"wBall\" id=\"wBall_1\">\n <div class=\"wInnerBall\"></div>\n </div>\n <div class=\"wBall\" id=\"wBall_2\">\n <div class=\"wInnerBall\"></div>\n </div>\n <div class=\"wBall\" id=\"wBall_3\">\n <div class=\"wInnerBall\"></div>\n </div>\n <div class=\"wBall\" id=\"wBall_4\">\n <div class=\"wInnerBall\"></div>\n </div>\n <div class=\"wBall\" id=\"wBall_5\">\n <div class=\"wInnerBall\"></div>\n </div>\n</div>\n\n<div class=\"error\">{error}</div>\n<ToList {finish} />",
|
|
"<script>\n import ToList from \"./toList.svelte\";\n\n export let finish;\n\n const states = {\n getChallenge: 0,\n requestUser: 1,\n sendChallenge: 2,\n error: 3\n }\n\n let state = states.getChallenge;\n\n let error = \"\";\n\n const onError = err => {\n state = states.error;\n error = err.message;\n };\n\n let challenge;\n\n async function requestUser() {\n state = states.requestUser;\n let res = await window.navigator.credentials.get({\n publicKey: challenge\n })\n state = states.sendChallenge();\n let r = res.response;\n let data = encode({\n authenticatorData: r.authenticatorData,\n clientDataJSON: r.clientDataJSON,\n signature: r.signature,\n userHandle: r.userHandle\n });\n let {\n success\n } = fetch(\"https://localhost:8444/auth\", {\n body: data,\n method: \"POST\"\n }).then(res => res.json())\n if (success) {\n finish(true);\n }\n }\n\n async function getChallenge() {\n state = states.getChallenge;\n challenge = await fetch(\"https://localhost:8444/auth\")\n .then(res => res.arrayBuffer())\n .then(data => decode(MessagePack.Buffer.from(data)));\n\n requestUser().catch(onError);\n }\n getChallenge().catch(onError)\n</script>\n\n\n<style>\n :root {\n --error: red;\n }\n\n .error {\n color: var(--error);\n }\n</style>\n\n<h3>U2F Security Key</h3>\n<h4>This Method is currently not supported. Please choose another one!</h4>\n<ToList {finish} />",
|
|
"<script>\n export let finish = () => {};\n</script>\n<style>\n a {\n color: var(--primary);\n text-decoration: none;\n }\n</style>\n\n<p>\n <a href=\"# \" on:click={evt=>evt.preventDefault() || finish(false)}>Choose another Method</a>\n</p>",
|
|
"<script>\n import Cleave from \"../../cleave\"\n import {\n onMount\n } from 'svelte';\n\n export let error;\n export let label;\n export let value;\n export let length = 6;\n\n let input;\n onMount(() => {\n const cleaveCustom = new Cleave(input, {\n blocks: [length / 2, length / 2],\n delimiter: ' ',\n numericOnly: true\n });\n })\n</script>\n\n<style>\n .error {\n color: var(--error);\n margin-top: 4px;\n }\n</style>\n\n<div class=\"floating group\">\n <input bind:this={input} autofocus bind:value={value}>\n <span class=\"highlight\"></span>\n <span class=\"bar\"></span>\n <label>Code</label>\n <div class=\"error\" style={!error ? \"display: none;\" : \"\" }>{error}</div>\n</div>"
|
|
],
|
|
"names": [],
|
|
"mappings": "AA+HM,KAAK,eAAC,CAAC,AACJ,UAAU,CAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAC5E,UAAU,CAAE,OAAO,CACnB,aAAa,CAAE,GAAG,AACrB,CAAC,AAED,eAAe,eAAC,CAAC,AACd,MAAM,CAAE,KAAK,CACb,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,MAAM,CACnB,eAAe,CAAE,MAAM,CACvB,OAAO,CAAE,IAAI,CACb,UAAU,CAAE,UAAU,AACzB,CAAC,AAED,IAAI,eAAC,CAAC,AACH,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,KAAK,CAChB,MAAM,CAAE,CAAC,CAAC,IAAI,CACd,UAAU,CAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAC5E,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,GAAG,CACZ,gBAAgB,CAAE,KAAK,CAAC,UAAU,CAClC,aAAa,CAAE,IAAI,AACtB,CAAC,AAGD,UAAU,eAAC,CAAC,AACT,QAAQ,CAAE,MAAM,CAChB,OAAO,CAAE,GAAG,AACf,CAAC,AAMD,MAAM,eAAC,CAAC,AACL,UAAU,CAAE,MAAM,CAClB,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,CAAC,CACT,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,CAAC,AACX,CAAC,AAYD,gBAAgB,eAAC,CAAC,AACf,MAAM,CAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACzB,SAAS,CAAE,KAAK,CAChB,gBAAgB,CAAE,IAAI,SAAS,CAAC,CAChC,KAAK,CAAE,KAAK,CACZ,OAAO,CAAE,GAAG,CAAC,IAAI,AACpB,CAAC,AAED,kBAAkB,eAAC,CAAC,AACjB,MAAM,CAAE,KAAK,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,AAEjC,CAAC,AAED,iBAAiB,eAAC,CAAC,AAChB,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,MAAM,CACtB,eAAe,CAAE,MAAM,CACvB,GAAG,CAAE,CAAC,CACN,MAAM,CAAE,CAAC,CACT,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,CAAC,CACR,OAAO,CAAE,CAAC,AACb,CAAC;AChKJ,MAAM,cAAC,CAAC,AACL,KAAK,CAAE,IAAI,OAAO,CAAC,CACnB,OAAO,CAAE,GAAG,AACf,CAAC,AAED,IAAI,cAAC,CAAC,AACH,gBAAgB,CAAE,IAAI,SAAS,CAAC,CAChC,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,CAAC,AACZ,CAAC;ACXD,kBAAkB,cAAC,CAAC,AACjB,gBAAgB,CAAE,GAAG,CACrB,iBAAiB,CAAE,GAAG,CACtB,YAAY,CAAE,CAAC,CACf,iBAAiB,CAAE,EAAE,CACrB,MAAM,CAAE,OAAO,CACf,IAAI,CAAE,IAAI,CACV,SAAS,CAAE,oBAAM,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,AACjE,CAAC,AAED,UAAU,cAAC,CAAC,AACT,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,aAAa,CAAE,GAAG,CAClB,OAAO,CAAE,KAAK,CACd,YAAY,CAAE,CAAC,CACf,MAAM,CAAE,IAAI,CACZ,iBAAiB,CAAE,EAAE,CACrB,MAAM,CAAE,GAAG,CAAC,IAAI,CAChB,UAAU,CAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CACrC,SAAS,CAAE,kBAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,mBAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,AAC/E,CAAC,AAED,iBAAiB,cAAC,CAAC,AAChB,gBAAgB,CAAE,GAAG,CAAC,GAAG,CACzB,gBAAgB,CAAE,EAAE,CACpB,iBAAiB,CAAE,EAAE,CACrB,SAAS,CAAE,oBAAM,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,AACtE,CAAC,AAED,WAAW,oBAAO,CAAC,AAChB,IAAI,AAAC,CAAC,AACH,iBAAiB,CAAE,CAAC,AACvB,CAAC,AACJ,CAAC,AAED,WAAW,mBAAM,CAAC,AAEf,EAAE,CACF,IAAI,AAAC,CAAC,AACH,SAAS,CAAE,IAAI,AAClB,CAAC,AAED,GAAG,AAAC,CAAC,AACF,SAAS,CAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,AAClC,CAAC,AACJ,CAAC,AAED,WAAW,kBAAK,CAAC,AACd,IAAI,AAAC,CAAC,AACH,UAAU,CAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,AAC7C,CAAC,AACJ,CAAC,AAED,MAAM,cAAC,CAAC,AACL,SAAS,CAAE,MAAM,GAAG,CAAC,AACxB,CAAC;AC9CD,EAAE,cAAC,CAAC,AACD,UAAU,CAAE,IAAI,CAChB,oBAAoB,CAAE,CAAC,CACvB,aAAa,CAAE,CAAC,AACnB,CAAC,AAED,EAAE,cAAC,CAAC,AACD,UAAU,CAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAC1B,OAAO,CAAE,GAAG,CACZ,MAAM,CAAE,OAAO,AAClB,CAAC,AAED,gBAAE,YAAY,AAAC,CAAC,AACb,UAAU,CAAE,IAAI,CAAC,UAAU,AAC9B,CAAC,AAED,KAAK,cAAC,CAAC,AACJ,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,AACd,CAAC,AAED,KAAK,cAAC,CAAC,AACJ,WAAW,CAAE,IAAI,CACjB,WAAW,CAAE,IAAI,CACjB,SAAS,CAAE,IAAI,AAClB,CAAC;AC3CD,QAAQ,eAAC,CAAC,AACP,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,MAAM,AACtB,CAAC,AAED,IAAI,eAAC,CAAC,AACH,gBAAgB,CAAE,IAAI,SAAS,CAAC,CAChC,MAAM,CAAE,CAAC,CACT,WAAW,CAAE,IAAI,CACjB,SAAS,CAAE,IAAI,AAClB,CAAC;AC3BD,MAAM,eAAC,CAAC,AACL,KAAK,CAAE,IAAI,OAAO,CAAC,AACtB,CAAC,AAED,SAAS,eAAC,CAAC,AACR,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,IAAI,CAAC,IAAI,AACpB,CAAC,AAED,wBAAS,CAAC,MAAM,eAAC,CAAC,AACf,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,CAAC,CACV,SAAS,CAAE,OAAO,MAAM,CAAC,CACzB,YAAY,CAAE,OAAO,MAAM,CAAC,CAC5B,aAAa,CAAE,OAAO,MAAM,CAAC,CAC7B,iBAAiB,CAAE,OAAO,MAAM,CAAC,CACjC,cAAc,CAAE,OAAO,MAAM,CAAC,CAC9B,SAAS,CAAE,oBAAK,CAAC,OAAO,CAAC,QAAQ,CACjC,YAAY,CAAE,oBAAK,CAAC,OAAO,CAAC,QAAQ,CACpC,aAAa,CAAE,oBAAK,CAAC,OAAO,CAAC,QAAQ,CACrC,iBAAiB,CAAE,oBAAK,CAAC,OAAO,CAAC,QAAQ,CACzC,cAAc,CAAE,oBAAK,CAAC,OAAO,CAAC,QAAQ,AACzC,CAAC,AAED,wBAAS,CAAC,MAAM,CAAC,WAAW,eAAC,CAAC,AAC3B,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,GAAG,CACV,MAAM,CAAE,GAAG,CACX,UAAU,CAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAC5B,IAAI,CAAE,GAAG,CACT,GAAG,CAAE,GAAG,CACR,aAAa,CAAE,GAAG,AACrB,CAAC,AAED,wBAAS,CAAC,QAAQ,eAAC,CAAC,AACjB,eAAe,CAAE,MAAM,CACvB,kBAAkB,CAAE,MAAM,CAC1B,mBAAmB,CAAE,MAAM,CAC3B,uBAAuB,CAAE,MAAM,CAC/B,oBAAoB,CAAE,MAAM,AAC/B,CAAC,AAED,wBAAS,CAAC,QAAQ,eAAC,CAAC,AACjB,eAAe,CAAE,MAAM,CACvB,kBAAkB,CAAE,MAAM,CAC1B,mBAAmB,CAAE,MAAM,CAC3B,uBAAuB,CAAE,MAAM,CAC/B,oBAAoB,CAAE,MAAM,AAC/B,CAAC,AAED,wBAAS,CAAC,QAAQ,eAAC,CAAC,AACjB,eAAe,CAAE,OAAO,CACxB,kBAAkB,CAAE,OAAO,CAC3B,mBAAmB,CAAE,OAAO,CAC5B,uBAAuB,CAAE,OAAO,CAChC,oBAAoB,CAAE,OAAO,AAChC,CAAC,AAED,wBAAS,CAAC,QAAQ,eAAC,CAAC,AACjB,eAAe,CAAE,OAAO,CACxB,kBAAkB,CAAE,OAAO,CAC3B,mBAAmB,CAAE,OAAO,CAC5B,uBAAuB,CAAE,OAAO,CAChC,oBAAoB,CAAE,OAAO,AAChC,CAAC,AAED,wBAAS,CAAC,QAAQ,eAAC,CAAC,AACjB,eAAe,CAAE,MAAM,CACvB,kBAAkB,CAAE,MAAM,CAC1B,mBAAmB,CAAE,MAAM,CAC3B,uBAAuB,CAAE,MAAM,CAC/B,oBAAoB,CAAE,MAAM,AAC/B,CAAC,AAID,WAAW,oBAAM,CAAC,AACf,EAAE,AAAC,CAAC,AACD,OAAO,CAAE,CAAC,CACV,OAAO,CAAE,EAAE,CACX,SAAS,CAAE,OAAO,MAAM,CAAC,CACzB,yBAAyB,CAAE,QAAQ,AACtC,CAAC,AAED,EAAE,AAAC,CAAC,AACD,OAAO,CAAE,CAAC,CACV,SAAS,CAAE,OAAO,MAAM,CAAC,CACzB,yBAAyB,CAAE,MAAM,CACjC,MAAM,CAAE,EAAE,AACb,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,SAAS,CAAE,OAAO,MAAM,CAAC,CACzB,yBAAyB,CAAE,WAAW,CACtC,MAAM,CAAE,EAAE,AACb,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,SAAS,CAAE,OAAO,MAAM,CAAC,CACzB,yBAAyB,CAAE,MAAM,CACjC,MAAM,CAAE,GAAG,AACd,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,SAAS,CAAE,OAAO,MAAM,CAAC,CACzB,yBAAyB,CAAE,QAAQ,CACnC,MAAM,CAAE,GAAG,AACd,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,SAAS,CAAE,OAAO,MAAM,CAAC,CACzB,yBAAyB,CAAE,QAAQ,CACnC,MAAM,CAAE,GAAG,AACd,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,SAAS,CAAE,OAAO,MAAM,CAAC,AAC5B,CAAC,AAED,IAAI,AAAC,CAAC,AACH,OAAO,CAAE,CAAC,CACV,SAAS,CAAE,OAAO,MAAM,CAAC,AAC5B,CAAC,AACJ,CAAC,AAED,cAAc,oBAAM,CAAC,AAClB,EAAE,AAAC,CAAC,AACD,OAAO,CAAE,CAAC,CACV,OAAO,CAAE,EAAE,CACX,YAAY,CAAE,OAAO,MAAM,CAAC,CAC5B,4BAA4B,CAAE,QAAQ,AACzC,CAAC,AAED,EAAE,AAAC,CAAC,AACD,OAAO,CAAE,CAAC,CACV,YAAY,CAAE,OAAO,MAAM,CAAC,CAC5B,4BAA4B,CAAE,MAAM,CACpC,SAAS,CAAE,EAAE,AAChB,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,YAAY,CAAE,OAAO,MAAM,CAAC,CAC5B,4BAA4B,CAAE,WAAW,CACzC,SAAS,CAAE,EAAE,AAChB,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,YAAY,CAAE,OAAO,MAAM,CAAC,CAC5B,4BAA4B,CAAE,MAAM,CACpC,SAAS,CAAE,GAAG,AACjB,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,YAAY,CAAE,OAAO,MAAM,CAAC,CAC5B,4BAA4B,CAAE,QAAQ,CACtC,SAAS,CAAE,GAAG,AACjB,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,YAAY,CAAE,OAAO,MAAM,CAAC,CAC5B,4BAA4B,CAAE,QAAQ,CACtC,SAAS,CAAE,GAAG,AACjB,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,YAAY,CAAE,OAAO,MAAM,CAAC,AAC/B,CAAC,AAED,IAAI,AAAC,CAAC,AACH,OAAO,CAAE,CAAC,CACV,YAAY,CAAE,OAAO,MAAM,CAAC,AAC/B,CAAC,AACJ,CAAC,AAED,eAAe,oBAAM,CAAC,AACnB,EAAE,AAAC,CAAC,AACD,OAAO,CAAE,CAAC,CACV,OAAO,CAAE,EAAE,CACX,aAAa,CAAE,OAAO,MAAM,CAAC,CAC7B,6BAA6B,CAAE,QAAQ,AAC1C,CAAC,AAED,EAAE,AAAC,CAAC,AACD,OAAO,CAAE,CAAC,CACV,aAAa,CAAE,OAAO,MAAM,CAAC,CAC7B,6BAA6B,CAAE,MAAM,CACrC,UAAU,CAAE,EAAE,AACjB,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,aAAa,CAAE,OAAO,MAAM,CAAC,CAC7B,6BAA6B,CAAE,WAAW,CAC1C,UAAU,CAAE,EAAE,AACjB,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,aAAa,CAAE,OAAO,MAAM,CAAC,CAC7B,6BAA6B,CAAE,MAAM,CACrC,UAAU,CAAE,GAAG,AAClB,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,aAAa,CAAE,OAAO,MAAM,CAAC,CAC7B,6BAA6B,CAAE,QAAQ,CACvC,UAAU,CAAE,GAAG,AAClB,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,aAAa,CAAE,OAAO,MAAM,CAAC,CAC7B,6BAA6B,CAAE,QAAQ,CACvC,UAAU,CAAE,GAAG,AAClB,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,aAAa,CAAE,OAAO,MAAM,CAAC,AAChC,CAAC,AAED,IAAI,AAAC,CAAC,AACH,OAAO,CAAE,CAAC,CACV,aAAa,CAAE,OAAO,MAAM,CAAC,AAChC,CAAC,AACJ,CAAC,AAED,mBAAmB,oBAAM,CAAC,AACvB,EAAE,AAAC,CAAC,AACD,OAAO,CAAE,CAAC,CACV,OAAO,CAAE,EAAE,CACX,iBAAiB,CAAE,OAAO,MAAM,CAAC,CACjC,iCAAiC,CAAE,QAAQ,AAC9C,CAAC,AAED,EAAE,AAAC,CAAC,AACD,OAAO,CAAE,CAAC,CACV,iBAAiB,CAAE,OAAO,MAAM,CAAC,CACjC,iCAAiC,CAAE,MAAM,CACzC,cAAc,CAAE,EAAE,AACrB,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,iBAAiB,CAAE,OAAO,MAAM,CAAC,CACjC,iCAAiC,CAAE,WAAW,CAC9C,cAAc,CAAE,EAAE,AACrB,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,iBAAiB,CAAE,OAAO,MAAM,CAAC,CACjC,iCAAiC,CAAE,MAAM,CACzC,cAAc,CAAE,GAAG,AACtB,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,iBAAiB,CAAE,OAAO,MAAM,CAAC,CACjC,iCAAiC,CAAE,QAAQ,CAC3C,cAAc,CAAE,GAAG,AACtB,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,iBAAiB,CAAE,OAAO,MAAM,CAAC,CACjC,iCAAiC,CAAE,QAAQ,CAC3C,cAAc,CAAE,GAAG,AACtB,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,iBAAiB,CAAE,OAAO,MAAM,CAAC,AACpC,CAAC,AAED,IAAI,AAAC,CAAC,AACH,OAAO,CAAE,CAAC,CACV,iBAAiB,CAAE,OAAO,MAAM,CAAC,AACpC,CAAC,AACJ,CAAC,AAED,gBAAgB,oBAAM,CAAC,AACpB,EAAE,AAAC,CAAC,AACD,OAAO,CAAE,CAAC,CACV,OAAO,CAAE,EAAE,CACX,cAAc,CAAE,OAAO,MAAM,CAAC,CAC9B,8BAA8B,CAAE,QAAQ,AAC3C,CAAC,AAED,EAAE,AAAC,CAAC,AACD,OAAO,CAAE,CAAC,CACV,cAAc,CAAE,OAAO,MAAM,CAAC,CAC9B,8BAA8B,CAAE,MAAM,CACtC,WAAW,CAAE,EAAE,AAClB,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,cAAc,CAAE,OAAO,MAAM,CAAC,CAC9B,8BAA8B,CAAE,WAAW,CAC3C,WAAW,CAAE,EAAE,AAClB,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,cAAc,CAAE,OAAO,MAAM,CAAC,CAC9B,8BAA8B,CAAE,MAAM,CACtC,WAAW,CAAE,GAAG,AACnB,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,cAAc,CAAE,OAAO,MAAM,CAAC,CAC9B,8BAA8B,CAAE,QAAQ,CACxC,WAAW,CAAE,GAAG,AACnB,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,cAAc,CAAE,OAAO,MAAM,CAAC,CAC9B,8BAA8B,CAAE,QAAQ,CACxC,WAAW,CAAE,GAAG,AACnB,CAAC,AAED,GAAG,AAAC,CAAC,AACF,OAAO,CAAE,CAAC,CACV,cAAc,CAAE,OAAO,MAAM,CAAC,AACjC,CAAC,AAED,IAAI,AAAC,CAAC,AACH,OAAO,CAAE,CAAC,CACV,cAAc,CAAE,OAAO,MAAM,CAAC,AACjC,CAAC,AACJ,CAAC;AClTD,KAAK,AAAC,CAAC,AACJ,OAAO,CAAE,GAAG,AACf,CAAC;AC1DD,CAAC,cAAC,CAAC,AACA,KAAK,CAAE,IAAI,SAAS,CAAC,CACrB,eAAe,CAAE,IAAI,AACxB,CAAC;ACeD,MAAM,eAAC,CAAC,AACL,KAAK,CAAE,IAAI,OAAO,CAAC,CACnB,UAAU,CAAE,GAAG,AAClB,CAAC"
|
|
} |