diff --git a/live/build/bundle.css b/live/build/bundle.css index de1c991..fa98c76 100644 --- a/live/build/bundle.css +++ b/live/build/bundle.css @@ -1,4 +1,4 @@ -@import url("https://fonts.googleapis.com/css?family=Roboto+Condensed");@import url(./fonts/fujicons.css);*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{height:100%;overflow-x:hidden;font-family:'Roboto Condensed', sans-serif;font-size:1rem;line-height:1.6}a{color:#607D8B;text-decoration:none}a:hover{color:#666}a.active{color:#dcc894}ul{list-style:none}img{width:100%}.container{max-width:1100px;margin:auto;overflow-y:scroll;padding:0 2rem}hr{margin-top:2.2rem;margin-bottom:2rem;border-width:0;border-top:1px solid #294c5d}.flex{display:flex}.pad{padding:0.5rem}.pad--1{padding:1rem}.pad--2{padding:2rem}.pad--3{padding:3rem}.pady{padding:0.5rem 0}.pady--top{padding-top:0.5rem}.pady--bottom{padding-bottom:0.5rem}.pady--1{padding:1rem 0}.pady--2{padding:2rem 0}.pady--3{padding:3rem 0}.padx{padding:0 0.5rem}.padx--right{padding-right:0.5rem}.padx--left{padding-left:0.5rem}.padx--1{padding:0 1rem}.padx--2{padding:0 2rem}.padx--3{padding:0 3rem}.grid{display:flex;display:-ms-flexbox;flex-wrap:wrap}.grid--1{display:grid;grid-template-columns:repeat(1, 1fr);grid-gap:1rem}.grid--2{display:grid;grid-template-columns:repeat(2, 1fr);grid-gap:1rem}.grid--3{display:grid;grid-template-columns:repeat(3, 1fr);grid-gap:1px}.grid--4{display:grid;grid-template-columns:repeat(4, 1fr);grid-gap:1rem}.row{margin-left:3px;margin-right:3px}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.column,.columns{margin-left:4%}.column:first-child,.columns:first-child{margin-left:0}.col-1{width:8.33333%}.col-2{width:16.66667%}.col-3{width:25%}.col-4{width:33.33333%}.col-5{width:41.66667%}.col-6{width:50%}.col-7{width:58.33333%}.col-8{width:66.66667%}.col-9{width:75%}.col-10{width:83.33333%}.col-11{width:91.66667%}.col-12{width:100%;margin-left:0}.col-1-3rd{width:32.666667%}.col-2-3rd{width:65.3333333333%}.col-half{width:48%}.offset-1-col{margin-left:8.66666666667%}.offset-2-col{margin-left:17.3333333333%}.offset-3-col{margin-left:26%}.offset-4-col{margin-left:34.6666666667%}.offset-5-col{margin-left:43.3333333333%}.offset-6-col{margin-left:52%}.offset-7-col{margin-left:60.6666666667%}.offset-8-col{margin-left:69.3333333333%}.offset-9-col{margin-left:78.0%}.offset-10-col{margin-left:86.6666666667%}.offset-11-col{margin-left:95.3333333333%}.offset-1-3rd-col{margin-left:34.6666666667%}.offset-2-3rd-col{margin-left:69.3333333333%}.offset-half-col{margin-left:52%}.x-large{font-size:4rem;line-height:1.2;margin-bottom:1rem}.large{font-size:3rem;line-height:1.2;margin-bottom:1rem}.lead{font-size:1.5rem;margin-bottom:1rem}.text-primary{color:#607D8B}.text-dark{color:#294c5d}.text-light{color:#294c5d}.text-success{color:#28a745}.text-danger{color:#dc3545}.text-highlight{color:#dcc894}.text-highlight2{color:#dca394}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-display1,h1{font-weight:400;font-size:34px;line-height:40px}.text-title,h3{font-weight:400;font-size:20px;line-height:28px}.text-subhead,h4{font-weight:400;font-size:16px;line-height:24px}.text-body2,h5{font-weight:500;font-size:14px;line-height:24px}.text-body1{font-weight:400;font-size:14px;line-height:20px}.text-caption{font-weight:400;font-size:12px;line-height:16px}.align-middle{vertical-align:middle !important}.all-center{display:flex;flex-direction:column;width:100%;margin:auto;justify-content:center;align-items:center;text-align:center}.text-justify{text-align:justify !important}.text-nowrap{white-space:nowrap !important}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-bottom{vertical-align:bottom !important}.btn,.btn--slim{display:inline-block;background:#CFD8DC;color:#333;padding:0.4rem 1.3rem;font-size:1rem;border:none;cursor:pointer;margin-right:0.5rem;transition:opacity 0.2s ease-in;outline:none}.btn:disabled,.btn--slim:disabled{cursor:not-allowed;pointer-events:none;opacity:0.60;box-shadow:none}.btn:enabled:hover,.btn--slim:enabled:hover{opacity:0.8}.btn--slim{padding:0.4rem}.btn-link{background:none;padding:0;margin:0}.btn-block{display:block;width:100%}.btn-sm,.btn-sm--slim{font-size:0.8rem;padding:0.3rem 1rem;margin-right:0.2rem}.btn-sm--slim{padding:0.3rem}.badge{display:inline-block;font-size:0.6rem;padding:0.1rem 0.4rem;text-align:center;margin:0.3rem;background:#CFD8DC;color:#333;border-radius:3px}.alert{padding:0.7rem;margin:1rem 0;opacity:0.9;background:#CFD8DC;color:#333}.btn-primary,.bg-primary,.badge-primary,.alert-primary{background:#607D8B;color:#fff}.btn-light,.bg-light,.badge-light,.alert-light{background:#CFD8DC;color:#333}.btn-dark,.bg-dark,.badge-dark,.alert-dark{background:#294c5d;color:#fff}.btn-danger,.bg-danger,.badge-danger,.alert-danger{background:#dc3545;color:#fff}.btn-success,.bg-success,.badge-success,.alert-success{background:#28a745;color:#fff}.btn-white,.bg-white,.badge-white,.alert-white{background:#fff;color:#333;border:#ccc solid 1px}.bg-light,.badge-light{border:#ccc solid 1px}.table-responsive{display:block;overflow-x:auto;width:100%}table{max-width:100%;width:100%;border:0;margin-bottom:1rem;border-collapse:collapse}tr{border-top:1px solid #ccc}tbody tr:nth-of-type(odd){background-color:rgba(0, 0, 0, 0.04)}tbody td{border-top:1px solid #e1e1e1}.navbar{position:fixed;display:flex;justify-content:space-between;align-items:center;z-index:2;width:100%;opacity:0.9;margin-bottom:1rem;min-height:56px}.navbar ul{display:flex}.navbar a{color:#fff;padding:0.45rem;margin:0 0.25rem}.navbar a:hover{color:#CFD8DC}.navbar .welcome span{margin-right:0.6rem}.navbar .navbar-section{align-items:center;display:flex;display:-ms-flexbox;flex:1 0 0;-ms-flex-align:center}.navbar .navbar-section:not(:first-child):last-child{justify-content:flex-end}.navbar .navbar-brand{font-size:125%;font-weight:bold}header+div.container{position:relative;top:56px;max-height:calc(100vh - 56px)}@media(max-width: 480px){.navbar{min-height:36px}header+div.container{position:relative;top:36px;max-height:calc(100vh - 36px)}}.m{margin:0.5rem}.m--1{margin:1rem}.m--2{margin:2rem}.m--3{margin:3rem}.mb{margin-bottom:.1rem !important}.mb--1{margin-bottom:.2rem !important}.mb--2{margin-bottom:.4rem !important}.ml{margin-left:.1rem !important}.ml--1{margin-left:.2rem !important}.ml--2{margin-left:.4rem !important}.mr{margin-right:.1rem !important}.mr--1{margin-right:.2rem !important}.mr .mr-2{margin-right:.4rem !important}.mt{margin-top:.1rem !important}.mt--1{margin-top:.2rem !important}.mt--2{margin-top:.4rem !important}.mx{margin-left:0.5rem !important;margin-right:0.5rem !important}.mx--1{margin-left:1rem !important;margin-right:1rem !important}.mx--2{margin-left:2rem !important;margin-right:2rem !important}.my{margin:0.5rem 0}.my--1{margin:1rem 0}.my--2{margin:2rem 0}.my--3{margin:3rem 0}.card,.card--slim{padding:1rem;border:#ccc 1px dotted;margin:0.7rem 0}.card--slim{padding:5px}.cardTitle{border-bottom-color:#eee;border-bottom-width:1px;border-bottom-style:solid;margin-bottom:15px}.cardV2{border-radius:4px;background-color:#fff;box-shadow:0 0 4px 0 rgba(0, 0, 0, 0.14), 0 3px 4px 0 rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);min-width:0}.seemore{font-size:14px;font-weight:500}.cardLink{color:#2196F3;margin-top:10px}@media(max-width: 480px){.container{max-width:98vw;padding:0 0;overflow-y:scroll}}.up,.ontime,.trendUp{color:#4CAF50 !important}.down,.delayed,.trendDown{color:#F44336 !important} +@import url("https://fonts.googleapis.com/css?family=Roboto+Condensed");@import url(./fonts/fujicons.css);*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{height:100%;overflow-x:hidden;font-family:'Roboto Condensed', sans-serif;font-size:1rem;line-height:1.6}a{color:#5e81ac;text-decoration:none}a:hover{color:#666}a.active{color:#b48ead}ul{list-style:none}img{width:100%}.container{max-width:1100px;margin:auto;overflow-y:scroll;padding:0 2rem}hr{margin-top:2.2rem;margin-bottom:2rem;border-width:0;border-top:1px solid #2e3440}.flex{display:flex}.pad{padding:0.5rem}.pad--1{padding:1rem}.pad--2{padding:2rem}.pad--3{padding:3rem}.pady{padding:0.5rem 0}.pady--top{padding-top:0.5rem}.pady--bottom{padding-bottom:0.5rem}.pady--1{padding:1rem 0}.pady--2{padding:2rem 0}.pady--3{padding:3rem 0}.padx{padding:0 0.5rem}.padx--right{padding-right:0.5rem}.padx--left{padding-left:0.5rem}.padx--1{padding:0 1rem}.padx--2{padding:0 2rem}.padx--3{padding:0 3rem}.grid{display:flex;display:-ms-flexbox;flex-wrap:wrap}.grid--1{display:grid;grid-template-columns:repeat(1, 1fr);grid-gap:1rem}.grid--2{display:grid;grid-template-columns:repeat(2, 1fr);grid-gap:1rem}.grid--3{display:grid;grid-template-columns:repeat(3, 1fr);grid-gap:1px}.grid--4{display:grid;grid-template-columns:repeat(4, 1fr);grid-gap:1rem}.row{margin-left:3px;margin-right:3px}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.column,.columns{margin-left:4%}.column:first-child,.columns:first-child{margin-left:0}.col-1{width:8.33333%}.col-2{width:16.66667%}.col-3{width:25%}.col-4{width:33.33333%}.col-5{width:41.66667%}.col-6{width:50%}.col-7{width:58.33333%}.col-8{width:66.66667%}.col-9{width:75%}.col-10{width:83.33333%}.col-11{width:91.66667%}.col-12{width:100%;margin-left:0}.col-1-3rd{width:32.666667%}.col-2-3rd{width:65.3333333333%}.col-half{width:48%}.offset-1-col{margin-left:8.66666666667%}.offset-2-col{margin-left:17.3333333333%}.offset-3-col{margin-left:26%}.offset-4-col{margin-left:34.6666666667%}.offset-5-col{margin-left:43.3333333333%}.offset-6-col{margin-left:52%}.offset-7-col{margin-left:60.6666666667%}.offset-8-col{margin-left:69.3333333333%}.offset-9-col{margin-left:78.0%}.offset-10-col{margin-left:86.6666666667%}.offset-11-col{margin-left:95.3333333333%}.offset-1-3rd-col{margin-left:34.6666666667%}.offset-2-3rd-col{margin-left:69.3333333333%}.offset-half-col{margin-left:52%}.x-large{font-size:4rem;line-height:1.2;margin-bottom:1rem}.large{font-size:3rem;line-height:1.2;margin-bottom:1rem}.lead{font-size:1.5rem;margin-bottom:1rem}.text-primary{color:#5e81ac}.text-dark{color:#2e3440}.text-light{color:#2e3440}.text-success{color:#a3be8c}.text-danger{color:#bf616a}.text-highlight{color:#b48ead}.text-highlight2{color:#ebcb8b}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-display1,h1{font-weight:400;font-size:34px;line-height:40px}.text-title,h3{font-weight:400;font-size:20px;line-height:28px}.text-subhead,h4{font-weight:400;font-size:16px;line-height:24px}.text-body2,h5{font-weight:500;font-size:14px;line-height:24px}.text-body1{font-weight:400;font-size:14px;line-height:20px}.text-caption{font-weight:400;font-size:12px;line-height:16px}.align-middle{vertical-align:middle !important}.all-center{display:flex;flex-direction:column;width:100%;margin:auto;justify-content:center;align-items:center;text-align:center}.text-justify{text-align:justify !important}.text-nowrap{white-space:nowrap !important}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-bottom{vertical-align:bottom !important}.btn,.btn--slim{display:inline-block;background:#e5e9f0;color:#333;padding:0.4rem 1.3rem;font-size:1rem;border:none;cursor:pointer;margin-right:0.5rem;transition:opacity 0.2s ease-in;outline:none}.btn:disabled,.btn--slim:disabled{cursor:not-allowed;pointer-events:none;opacity:0.60;box-shadow:none}.btn:enabled:hover,.btn--slim:enabled:hover{opacity:0.8}.btn--slim{padding:0.4rem}.btn-link{background:none;padding:0;margin:0}.btn-block{display:block;width:100%}.btn-sm,.btn-sm--slim{font-size:0.8rem;padding:0.3rem 1rem;margin-right:0.2rem}.btn-sm--slim{padding:0.3rem}.badge{display:inline-block;font-size:0.6rem;padding:0.1rem 0.4rem;text-align:center;margin:0.3rem;background:#e5e9f0;color:#333;border-radius:3px}.alert{padding:0.7rem;margin:1rem 0;opacity:0.9;background:#e5e9f0;color:#333}.btn-primary,.bg-primary,.badge-primary,.alert-primary{background:#5e81ac;color:#fff}.btn-light,.bg-light,.badge-light,.alert-light{background:#e5e9f0;color:#333}.btn-dark,.bg-dark,.badge-dark,.alert-dark{background:#2e3440;color:#fff}.btn-danger,.bg-danger,.badge-danger,.alert-danger{background:#bf616a;color:#fff}.btn-success,.bg-success,.badge-success,.alert-success{background:#a3be8c;color:#fff}.btn-white,.bg-white,.badge-white,.alert-white{background:#fff;color:#333;border:#ccc solid 1px}.bg-light,.badge-light{border:#ccc solid 1px}.table-responsive{display:block;overflow-x:auto;width:100%}table{max-width:100%;width:100%;border:0;margin-bottom:1rem;border-collapse:collapse}tr{border-top:1px solid #ccc}tbody tr:nth-of-type(odd){background-color:rgba(0, 0, 0, 0.04)}tbody td{border-top:1px solid #e1e1e1}.navbar{position:fixed;display:flex;justify-content:space-between;align-items:center;z-index:2;width:100%;opacity:0.9;margin-bottom:1rem;min-height:56px}.navbar ul{display:flex}.navbar a{color:#fff;padding:0.45rem;margin:0 0.25rem}.navbar a:hover{color:#e5e9f0}.navbar .welcome span{margin-right:0.6rem}.navbar .navbar-section{align-items:center;display:flex;display:-ms-flexbox;flex:1 0 0;-ms-flex-align:center}.navbar .navbar-section:not(:first-child):last-child{justify-content:flex-end}.navbar .navbar-brand{font-size:200%;font-weight:bold}header+div.container{position:relative;top:56px;max-height:calc(100vh - 56px)}.m{margin:0.5rem}.m--1{margin:1rem}.m--2{margin:2rem}.m--3{margin:3rem}.mb{margin-bottom:.1rem !important}.mb--1{margin-bottom:.2rem !important}.mb--2{margin-bottom:.4rem !important}.ml{margin-left:.1rem !important}.ml--1{margin-left:.2rem !important}.ml--2{margin-left:.4rem !important}.mr{margin-right:.1rem !important}.mr--1{margin-right:.2rem !important}.mr .mr-2{margin-right:.4rem !important}.mt{margin-top:.1rem !important}.mt--1{margin-top:.2rem !important}.mt--2{margin-top:.4rem !important}.mx{margin-left:0.5rem !important;margin-right:0.5rem !important}.mx--1{margin-left:1rem !important;margin-right:1rem !important}.mx--2{margin-left:2rem !important;margin-right:2rem !important}.my{margin:0.5rem 0}.my--1{margin:1rem 0}.my--2{margin:2rem 0}.my--3{margin:3rem 0}.card,.card--slim{padding:1rem;border:#ccc 1px dotted;margin:0.7rem 0}.card--slim{padding:5px}.cardTitle{border-bottom-color:#eee;border-bottom-width:1px;border-bottom-style:solid;margin-bottom:15px}.cardV2{border-radius:4px;background-color:#fff;box-shadow:0 0 4px 0 rgba(0, 0, 0, 0.14), 0 3px 4px 0 rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);min-width:0}.seemore{font-size:14px;font-weight:500}.cardLink{color:#2196F3;margin-top:10px}@media(max-width: 480px){.container{max-width:98vw;padding:0 0;overflow-y:scroll}}@media(max-height: 480px){.navbar{min-height:36px}header+div.container{position:relative;top:36px;max-height:calc(100vh - 36px)}.navbar .navbar-brand{font-size:125%;font-weight:bold}}@media(min-height: 900px){body{font-size:x-large}}.nrccAlert a{color:#00ffa2}.up,.ontime,.trendUp{color:#4CAF50 !important}.down,.delayed,.trendDown{color:#F44336 !important} .mui-dropdown.svelte-1tpailu.svelte-1tpailu.svelte-1tpailu{display:inline-block;position:relative}.mui-dropdown__menu.svelte-1tpailu.svelte-1tpailu.svelte-1tpailu{box-shadow:0 1px 3px rgba(21, 21, 21, 0.12), 0 1px 2px rgba(21, 21, 21, 0.24);position:absolute;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:1rem;text-align:left;background-color:#fff;border-radius:0.1;z-index:100;background-clip:padding-box}@media all and (-ms-high-contrast: none), (-ms-high-contrast: active){.mui-dropdown__menu.svelte-1tpailu.svelte-1tpailu.svelte-1tpailu{border-top:1px solid rgba(21, 21, 21, 0.12);border-left:1px solid rgba(21, 21, 21, 0.12)}}@supports (-ms-ime-align: auto){.mui-dropdown__menu.svelte-1tpailu.svelte-1tpailu.svelte-1tpailu{border-top:1px solid rgba(21, 21, 21, 0.12);border-left:1px solid rgba(21, 21, 21, 0.12)}}.mui-dropdown__menu.mui--is-open.svelte-1tpailu.svelte-1tpailu.svelte-1tpailu{display:block}.mui-dropdown__menu.svelte-1tpailu>li.svelte-1tpailu>a.svelte-1tpailu{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.6;color:#294c5d;text-decoration:none;white-space:nowrap}.mui-dropdown__menu.svelte-1tpailu>li.svelte-1tpailu>a.svelte-1tpailu:hover,.mui-dropdown__menu.svelte-1tpailu>li.svelte-1tpailu>a.svelte-1tpailu:focus{text-decoration:none;color:#294c5d;background-color:#dcc894}.mui-dropdown--right.svelte-1tpailu.svelte-1tpailu>.mui-dropdown__menu.svelte-1tpailu.svelte-1tpailu{margin:0 0 0 2px} .grid-3.svelte-ojjucl{display:grid;grid-template-columns:repeat(3, 1fr);grid-gap:1rem} .TRcard.svelte-10t8pfm.svelte-10t8pfm{display:flex;justify-content:space-between;align-items:center;padding:0.7rem 0rem;z-index:1;width:98%;opacity:0.9;margin-bottom:0.4rem;border-bottom-color:#666666;box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), diff --git a/live/build/bundle.css.map b/live/build/bundle.css.map index 1da8d2b..3a1438d 100644 --- a/live/build/bundle.css.map +++ b/live/build/bundle.css.map @@ -12,7 +12,7 @@ "../../NotFound.svelte" ], "sourcesContent": [ - "\n\n\n\n\n\n\n
\n\n", + "\n\n\n\n\n\n\n
\n\n", "\n\n\n\n\n \n \n {#if searchResults.length > 0}\n \n {/if}\n\n", "\n\n\n\n
\n
\n
{item.startStation.name}
\n
\n
{item.destStation.name}
\n
\n\n\n
\n\n {#if buttonsVisible}\n
\n \n \n\n \n\n
\n {/if}\n
\n", "\n\n\n\n
\n
\n
{startStationName}
\n
{destStationName}
\n
\n
\n {displayTime}\n
\n
\n", @@ -22,5 +22,5 @@ "\n\n\n\n

NotFound

\n\n

Oops, this route doesn't exist!

\n" ], "names": [], - "mappings": "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" + "mappings": "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" } \ No newline at end of file diff --git a/live/build/bundle.js b/live/build/bundle.js index 15fe9fb..70dcb61 100644 --- a/live/build/bundle.js +++ b/live/build/bundle.js @@ -5,4 +5,4 @@ var app=function(){"use strict";function e(){}const t=e=>e;function n(e){return https://localforage.github.io/localForage (c) 2013-2017 Mozilla, Apache License 2.0 */ -e.exports=function e(t,n,r){function o(i,l){if(!n[i]){if(!t[i]){if(!l&&xe)return xe();if(a)return a(i,!0);var s=new Error("Cannot find module '"+i+"'");throw s.code="MODULE_NOT_FOUND",s}var c=n[i]={exports:{}};t[i][0].call(c.exports,(function(e){var n=t[i][1][e];return o(n||e)}),c,c.exports,e,t,n,r)}return n[i].exports}for(var a=xe,i=0;i=43)}})).catch((function(){return!1}))}function w(e){return"boolean"==typeof m?c.resolve(m):L(e).then((function(e){return m=e}))}function b(e){var t=g[e.name],n={};n.promise=new c((function(e,t){n.resolve=e,n.reject=t})),t.deferredOperations.push(n),t.dbReady?t.dbReady=t.dbReady.then((function(){return n.promise})):t.dbReady=n.promise}function H(e){var t=g[e.name].deferredOperations.pop();if(t)return t.resolve(),t.promise}function W(e,t){var n=g[e.name].deferredOperations.pop();if(n)return n.reject(t),n.promise}function v(e,t){return new c((function(n,r){if(g[e.name]=g[e.name]||G(),e.db){if(!t)return n(e.db);b(e),e.db.close()}var o=[e.name];t&&o.push(e.version);var a=i.open.apply(i,o);t&&(a.onupgradeneeded=function(t){var n=a.result;try{n.createObjectStore(e.storeName),t.oldVersion<=1&&n.createObjectStore(S)}catch(n){if("ConstraintError"!==n.name)throw n;console.warn('The database "'+e.name+'" has been upgraded from version '+t.oldVersion+" to version "+t.newVersion+', but the storage "'+e.storeName+'" already exists.')}}),a.onerror=function(e){e.preventDefault(),r(a.error)},a.onsuccess=function(){n(a.result),H(e)}}))}function T(e){return v(e,!1)}function N(e){return v(e,!0)}function R(e,t){if(!e.db)return!0;var n=!e.db.objectStoreNames.contains(e.storeName),r=e.versione.db.version;if(r&&(e.version!==t&&console.warn('The database "'+e.name+"\" can't be downgraded from version "+e.db.version+" to version "+e.version+"."),e.version=e.db.version),o||n){if(n){var a=e.db.version+1;a>e.version&&(e.version=a)}return!0}return!1}function M(e){return new c((function(t,n){var r=new FileReader;r.onerror=n,r.onloadend=function(n){var r=btoa(n.target.result||"");t({__local_forage_encoded_blob:!0,data:r,type:e.type})},r.readAsBinaryString(e)}))}function P(e){return s([C(atob(e.data))],{type:e.type})}function A(e){return e&&e.__local_forage_encoded_blob}function D(e){var t=this,n=t._initReady().then((function(){var e=g[t._dbInfo.name];if(e&&e.dbReady)return e.dbReady}));return d(n,e,e),n}function E(e){b(e);for(var t=g[e.name],n=t.forages,r=0;r0&&(!e.db||"InvalidStateError"===o.name||"NotFoundError"===o.name))return c.resolve().then((function(){if(!e.db||"NotFoundError"===o.name&&!e.db.objectStoreNames.contains(e.storeName)&&e.version<=e.db.version)return e.db&&(e.version=e.db.version+1),N(e)})).then((function(){return E(e).then((function(){k(e,t,n,r-1)}))})).catch(n);n(o)}}function G(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function F(e){var t=this,n={db:null};if(e)for(var r in e)n[r]=e[r];var o=g[n.name];o||(o=G(),g[n.name]=o),o.forages.push(t),t._initReady||(t._initReady=t.ready,t.ready=D);var a=[];function i(){return c.resolve()}for(var l=0;l>4,u[s++]=(15&r)<<4|o>>2,u[s++]=(3&o)<<6|63&a;return c}function Se(e){var t,n=new Uint8Array(e),r="";for(t=0;t>2],r+=X[(3&n[t])<<4|n[t+1]>>4],r+=X[(15&n[t+1])<<2|n[t+2]>>6],r+=X[63&n[t+2]];return n.length%3==2?r=r.substring(0,r.length-1)+"=":n.length%3==1&&(r=r.substring(0,r.length-2)+"=="),r}function me(e,t){var n="";if(e&&(n=he.call(e)),e&&("[object ArrayBuffer]"===n||e.buffer&&"[object ArrayBuffer]"===he.call(e.buffer))){var r,o=Z;e instanceof ArrayBuffer?(r=e,o+=ee):(r=e.buffer,"[object Int8Array]"===n?o+=ne:"[object Uint8Array]"===n?o+=re:"[object Uint8ClampedArray]"===n?o+=oe:"[object Int16Array]"===n?o+=ae:"[object Uint16Array]"===n?o+=le:"[object Int32Array]"===n?o+=ie:"[object Uint32Array]"===n?o+=se:"[object Float32Array]"===n?o+=ce:"[object Float64Array]"===n?o+=ue:t(new Error("Failed to get type for BinaryArray"))),t(o+Se(r))}else if("[object Blob]"===n){var a=new FileReader;a.onload=function(){var n=Q+e.type+"~"+Se(this.result);t(Z+te+n)},a.readAsArrayBuffer(e)}else try{t(JSON.stringify(e))}catch(n){console.error("Couldn't convert value into a JSON string: ",e),t(null,n)}}function ge(e){if(e.substring(0,q)!==Z)return JSON.parse(e);var t,n=e.substring(de),r=e.substring(q,de);if(r===te&&z.test(n)){var o=n.match(z);t=o[1],n=n.substring(o[0].length)}var a=fe(n);switch(r){case ee:return a;case te:return s([a],{type:t});case ne:return new Int8Array(a);case re:return new Uint8Array(a);case oe:return new Uint8ClampedArray(a);case ae:return new Int16Array(a);case le:return new Uint16Array(a);case ie:return new Int32Array(a);case se:return new Uint32Array(a);case ce:return new Float32Array(a);case ue:return new Float64Array(a);default:throw new Error("Unkown type: "+r)}}var ye={serialize:me,deserialize:ge,stringToBuffer:fe,bufferToString:Se};function Be(e,t,n,r){e.executeSql("CREATE TABLE IF NOT EXISTS "+t.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],n,r)}function pe(e){var t=this,n={db:null};if(e)for(var r in e)n[r]="string"!=typeof e[r]?e[r].toString():e[r];var o=new c((function(e,r){try{n.db=openDatabase(n.name,String(n.version),n.description,n.size)}catch(e){return r(e)}n.db.transaction((function(o){Be(o,n,(function(){t._dbInfo=n,e()}),(function(e,t){r(t)}))}),r)}));return n.serializer=ye,o}function Ce(e,t,n,r,o,a){e.executeSql(n,r,o,(function(e,i){i.code===i.SYNTAX_ERR?e.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[t.storeName],(function(e,l){l.rows.length?a(e,i):Be(e,t,(function(){e.executeSql(n,r,o,a)}),a)}),a):a(e,i)}),a)}function Le(e,t){var n=this;e=h(e);var r=new c((function(t,r){n.ready().then((function(){var o=n._dbInfo;o.db.transaction((function(n){Ce(n,o,"SELECT * FROM "+o.storeName+" WHERE key = ? LIMIT 1",[e],(function(e,n){var r=n.rows.length?n.rows.item(0).value:null;r&&(r=o.serializer.deserialize(r)),t(r)}),(function(e,t){r(t)}))}))})).catch(r)}));return u(r,t),r}function we(e,t){var n=this,r=new c((function(t,r){n.ready().then((function(){var o=n._dbInfo;o.db.transaction((function(n){Ce(n,o,"SELECT * FROM "+o.storeName,[],(function(n,r){for(var a=r.rows,i=a.length,l=0;l0)return void a(be.apply(o,[e,l,n,r-1]));i(t)}}))}))})).catch(i)}));return u(a,n),a}function He(e,t,n){return be.apply(this,[e,t,n,1])}function We(e,t){var n=this;e=h(e);var r=new c((function(t,r){n.ready().then((function(){var o=n._dbInfo;o.db.transaction((function(n){Ce(n,o,"DELETE FROM "+o.storeName+" WHERE key = ?",[e],(function(){t()}),(function(e,t){r(t)}))}))})).catch(r)}));return u(r,t),r}function ve(e){var t=this,n=new c((function(e,n){t.ready().then((function(){var r=t._dbInfo;r.db.transaction((function(t){Ce(t,r,"DELETE FROM "+r.storeName,[],(function(){e()}),(function(e,t){n(t)}))}))})).catch(n)}));return u(n,e),n}function Te(e){var t=this,n=new c((function(e,n){t.ready().then((function(){var r=t._dbInfo;r.db.transaction((function(t){Ce(t,r,"SELECT COUNT(key) as c FROM "+r.storeName,[],(function(t,n){var r=n.rows.item(0).c;e(r)}),(function(e,t){n(t)}))}))})).catch(n)}));return u(n,e),n}function Ne(e,t){var n=this,r=new c((function(t,r){n.ready().then((function(){var o=n._dbInfo;o.db.transaction((function(n){Ce(n,o,"SELECT key FROM "+o.storeName+" WHERE id = ? LIMIT 1",[e+1],(function(e,n){var r=n.rows.length?n.rows.item(0).key:null;t(r)}),(function(e,t){r(t)}))}))})).catch(r)}));return u(r,t),r}function Re(e){var t=this,n=new c((function(e,n){t.ready().then((function(){var r=t._dbInfo;r.db.transaction((function(t){Ce(t,r,"SELECT key FROM "+r.storeName,[],(function(t,n){for(var r=[],o=0;o '__WebKitDatabaseInfoTable__'",[],(function(n,r){for(var o=[],a=0;a0}function Fe(e){var t=this,n={};if(e)for(var r in e)n[r]=e[r];return n.keyPrefix=Ee(e,t._defaultConfig),Ge()?(t._dbInfo=n,n.serializer=ye,c.resolve()):c.reject()}function Ie(e){var t=this,n=t.ready().then((function(){for(var e=t._dbInfo.keyPrefix,n=localStorage.length-1;n>=0;n--){var r=localStorage.key(n);0===r.indexOf(e)&&localStorage.removeItem(r)}}));return u(n,e),n}function Oe(e,t){var n=this;e=h(e);var r=n.ready().then((function(){var t=n._dbInfo,r=localStorage.getItem(t.keyPrefix+e);return r&&(r=t.serializer.deserialize(r)),r}));return u(r,t),r}function Ke(e,t){var n=this,r=n.ready().then((function(){for(var t=n._dbInfo,r=t.keyPrefix,o=r.length,a=localStorage.length,i=1,l=0;l=0;t--){var n=localStorage.key(t);0===n.indexOf(e)&&localStorage.removeItem(n)}})):c.reject("Invalid arguments"),t),r}var Je={_driver:"localStorageWrapper",_initStorage:Fe,_support:De(),iterate:Ke,getItem:Oe,setItem:Ue,removeItem:_e,clear:Ie,length:Ye,key:xe,keys:$e,dropInstance:Ve},je=function(e,t){return e===t||"number"==typeof e&&"number"==typeof t&&isNaN(e)&&isNaN(t)},Xe=function(e,t){for(var n=e.length,r=0;r> wsUrl",t),this.socket=null,this.timer=0,this.clock=null,this.connected=!1,this.connectBuffer=[],this.startWebSocket=function(){const e=""===n?t:`${t}:${n}`;console.log("Starting socket",e);const r=window.MozWebSocket?MozWebSocket:WebSocket;this.socket=new r(e,"stream"),this.socket.onopen=this.handleWebsocketOnOpen.bind(this),this.socket.onmessage=this.handleWebsocketMessage.bind(this),this.socket.onclose=this.handleWebsocketClose.bind(this),this.socket.onerror=function(e){console.error(e)}},this.subscribe=function(e){console.log("Subscribe::",e);const t={request:"SUBSCRIBE",message:"",channel:e};this.connected?this.socket.send(JSON.stringify(t)):this.connectBuffer.push(JSON.stringify(t))},this.send=function(e){console.log("Sending",e),this.socket.send(e)},this.handleData=function(t){e.trigger("message",t)},this.handleBuffer=function(){for(console.log("*** handleBuffer");this.connectBuffer.length>0;){const e=this.connectBuffer.shift();this.socket.send(e)}},this.handleWebsocketOnOpen=function(){this.retry=0,console.log("**** Websocket Connected ****"),this.clock=new Date,this.connected=!0,setTimeout(()=>{this.handleBuffer()},1500)},this.handleWebsocketMessage=function(e){let t;try{console.log("handleWebsocketMessage::raw",e),t=JSON.parse(e.data),console.log("handleWebsocketMessage::command",t)}catch(e){}t&&this.handleData.call(this,t)},this.handleWebsocketClose=function(){console.error("WebSocket Connection Closed.");console.log("Socket alive for",.001);const e=this;console.log("Waiting ",15e3),this.timer=setTimeout((function(){e.startWebSocket()}),15e3)},this.startWebSocket()},Ve=[{follow:!1,name:"nationalrailenq",id:33546465},{follow:!1,name:"networkrail",id:365344176},{follow:!1,name:"NetworkRailSCOT",id:402687948},{follow:!1,name:"AvantiWestCoast",id:0xfdebe737417a000},{follow:!1,name:"CalSleeper",id:2870293725},{follow:!1,name:"CrossCountryUK",id:153368708},{follow:!1,name:"Eurostar",id:98412169},{follow:!1,name:"EurostarUK",id:59742254},{follow:!1,name:"GatwickExpress",id:163816182},{follow:!1,name:"GlasgowSubway",id:224607925},{follow:!1,name:"GWRHelp",id:15589815},{follow:!1,name:"HeathrowExpress",id:20240678},{follow:!1,name:"LNER",id:313306238},{follow:!1,name:"LNRailway",id:0xca2b366c356b000},{follow:!1,name:"northernassist",id:194512268},{follow:!1,name:"ScotRail",id:61569136},{follow:!1,name:"Stansted_Exp",id:257511611},{follow:!1,name:"TfL",id:47319664},{follow:!1,name:"WestMidRailway",id:0xcb4b3f097575000},{follow:!1,name:"NetworkRailBHM",id:583910976},{follow:!1,name:"NetworkRailEDB",id:586614081},{follow:!1,name:"NetworkRailEUS",id:581807264},{follow:!1,name:"NetworkRailGLC",id:421061171},{follow:!1,name:"NetworkRailKGX",id:459192871},{follow:!1,name:"NetworkRailLST",id:581826097},{follow:!1,name:"NetworkRailMAN",id:583895871},{follow:!1,name:"NetworkRailVIC",id:587354752},{follow:!1,name:"BTP",id:266094415},{follow:!1,name:"BTPAvonSomerset",id:0xa40431bb2d69000},{follow:!1,name:"BTPBhm",id:952003488},{follow:!1,name:"BTPBlackCountry",id:0xaa76997f5562000},{follow:!1,name:"BTPCambs",id:2574726074},{follow:!1,name:"BTPCardiff_NWP",id:951714852},{follow:!1,name:"BTPEAnglia",id:4479942923},{follow:!1,name:"BTPEssex",id:2949032015},{follow:!1,name:"BTPGtrMcr",id:1670204977},{follow:!1,name:"BTPLeics",id:0xa9023573bd76000},{follow:!1,name:"BTPLiverpoolSt",id:951912242},{follow:!1,name:"BTPLondon",id:957226980},{follow:!1,name:"BTPLondonBridge",id:3346645594},{follow:!1,name:"BTPMersey",id:951748434},{follow:!1,name:"BTPNorthScot",id:2238888007},{follow:!1,name:"BTPNorthWales",id:951487338},{follow:!1,name:"BTPOxon",id:0xa495f93bb965000},{follow:!1,name:"BTPPontypridd",id:1672678292},{follow:!1,name:"BTPScotland",id:957256160},{follow:!1,name:"BTPSouthYorks",id:3384315676},{follow:!1,name:"BTPTeesValley",id:0xb21ed0d43964000},{follow:!1,name:"BTPUnderground",id:0xdafd09816950000},{follow:!1,name:"BTPWales",id:1430734374},{follow:!1,name:"BTPWaterloo",id:951997044},{follow:!1,name:"BTPWestScot",id:951757261}];const Je=`${location.protocol}//${location.hostname}`;let je=!1;const Xe={},Qe={newTweets:pe([]),twitterFollowing:pe({}),twitterFollowingList:pe([]),tweetList:pe([]),tweets:pe([]),favourites:pe([]),routes:pe([]),routeIndex:pe(0),incrementRouteIndex(){this.routeIndex.update(e=>e+1)},async saveRoute(e){const t={...e};t.id=s(this.routeIndex),this.routes.update(e=>[...e,t]),this.incrementRouteIndex()},deleteRoute(e){const t=s(this.routes).slice(0,e),n=s(this.routes).slice(e+1);this.routes.set([...t,...n])},async getTweets(){const e=s(Qe.twitterFollowingList).map(e=>e[1].id),t=Je.concat("/twitter");Oe({method:"post",url:t,data:{list:e}}).then(e=>{const t=e.data;this.newTweets.set(t)}).catch(e=>{console.error("Store:getTweets",e)})},getTweetByID(e){return s(this.tweets).get(e)},getTwitterFollowing(){return s(this.twitterFollowing)},saveTwitterFollowing(e){this.twitterFollowing.set(e)},getBaseUrl:()=>Je,updateTweetList(e){this.tweetList.update(t=>[e,...t])},updateTwitter(e){this.tweets.update(t=>t.set(e.id,e))},updateNewTweets(e){this.newTweets.update(t=>{let n=[...t];return n.unshift(e),n=n.slice(0,49),n})},trigger(e,t){if(console.log("trigger",t),t.hasOwnProperty("message")){const e=t.message;this.updateTwitter(e),this.updateTweetList(e.id),this.updateNewTweets(e)}}},ze=new Ue(Qe);function Ze(t){let n,r,o,a,i,l,s,c,u,d,h,f,S,B;return{c(){n=p("div"),r=p("div"),o=p("div"),a=C(t[0]),i=L(),l=p("div"),s=C(t[1]),c=L(),u=p("div"),d=p("span"),h=C(t[2]),H(r,"class","entry col-8 ml--1 svelte-10t8pfm"),H(d,"class",f="btn "+t[3]+" svelte-10t8pfm"),H(u,"class","entry col-4 text-center svelte-10t8pfm"),H(n,"class","row TRcard svelte-10t8pfm")},m(e,f){g(e,n,f),m(n,r),m(r,o),m(o,a),m(r,i),m(r,l),m(l,s),m(n,c),m(n,u),m(u,d),m(d,h),S||(B=b(d,"click",t[4]),S=!0)},p(e,[t]){1&t&&W(a,e[0]),2&t&&W(s,e[1]),4&t&&W(h,e[2]),8&t&&f!==(f="btn "+e[3]+" svelte-10t8pfm")&&H(d,"class",f)},i:e,o:e,d(e){e&&y(n),S=!1,B()}}}function qe(e,t,n){let r,o,a,i,l,s,{destStation:c}=t,{startStation:u}=t,d=Qe.getBaseUrl(),h={eta:"OFF",sta:"OFF"},f=0,S=0;async function m(){console.log(`Update: ${u} / ${c}`);const e=new Date,t=e.getHours()<6?36e5:95e3,r=t-e.getTime()%t;S=e.getTime()+r,await async function(){const e=Ie.minuteFloor(),t=a.concat("&mh="+e);Oe.get(t).then(e=>{n(8,h={...e.data}),console.log(h)}).catch(e=>{console.error("TrainRoute:getTrain",e)})}(),clearTimeout(f),f=0,f=setTimeout(m,r+10)}return k(async()=>{if(Ie.LocalStorage.exists(`${u}${c}`)){const e=JSON.parse(Ie.LocalStorage.load(`${u}${c}`));n(8,h={...h,...e.trainData}),S=e.due,n(0,r=e.startStationName),n(1,o=e.destStationName),a=e.url}else n(0,r=Ge.findStation(u)),n(1,o=Ge.findStation(c)),a=`${d}/getnexttraintimes?from=${u}&to=${c}`;const e=(new Date).getTime();e>S?m():(f=0,f=setTimeout(m,S-e))}),G(async()=>{clearInterval(f);const e={due:S,trainData:h,startStationName:r,destStationName:o,url:a};Ie.LocalStorage.save(`${u}${c}`,JSON.stringify(e))}),e.$$set=e=>{"destStation"in e&&n(5,c=e.destStation),"startStation"in e&&n(6,u=e.startStation)},e.$$.update=()=>{352&e.$$.dirty&&(n(3,l="On time"===h.eta?"ontime":"delayed"),n(2,i="On time"===h.eta?h.sta:h.eta),s=`#/timetable/${u}/${c}`)},[r,o,i,l,function(){ve(s)},c,u]}_e.getItem("twitterFollowing").then(e=>{console.log("localForage::twitterFollowing",e),null!==e?Qe.twitterFollowing.set(e):(Ve.forEach(e=>{Xe[e.name]={id:e.id,follow:!1}}),Qe.twitterFollowing.set(Xe),_e.setItem("twitterFollowing",Xe).catch(e=>{console.error(e)}))}).catch(e=>{console.error(e)}),_e.getItem("favourites").then(e=>{null!==e&&Qe.favourites.set(e)}).catch(e=>{console.error(e)}),_e.getItem("routes").then(e=>{null!==e&&Qe.routes.set(e)}).catch(e=>{console.error(e)}),_e.getItem("routeIndex").then(e=>{null!==e&&Qe.routeIndex.set(e)}).catch(e=>{console.error(e)}),Qe.favourites.subscribe(e=>{console.log(">> Store.state.favourites",e)}),Qe.routes.subscribe(e=>{je&&_e.setItem("routes",e).catch(e=>{console.error(e)})}),Qe.routeIndex.subscribe(e=>{je&&_e.setItem("routeIndex",e).catch(e=>{console.error(e)})}),Qe.twitterFollowing.subscribe(e=>{je&&_e.setItem("twitterFollowing",e).catch(e=>{console.error(e)});const t=Object.entries(s(Qe.twitterFollowing)).filter(e=>{if(e[1].follow)return e});Qe.twitterFollowingList.set(t)}),Qe.twitterFollowingList.subscribe(e=>{0!==e.length&&(console.log("twitterFollowingList",e.length),e.forEach(e=>{const t=e[1].id;ze.subscribe("t-"+t)}))}),Qe.newTweets.subscribe(e=>{if(0===e.length)return;console.log(">> newTweets",e.length);const t=e.map(e=>e.id),n=e.map(e=>[e.id,e]);Qe.tweetList.set(t),Qe.tweets.set(new Map(n))}),setTimeout(()=>{je=!0},250);class et extends ge{constructor(e){super(),me(this,e,qe,Ze,i,{destStation:5,startStation:6})}}function tt(e,t,n){const r=e.slice();return r[1]=t[n],r}function nt(e){let t,n;return t=new et({props:{destStation:e[1].destStation.id,startStation:e[1].startStation.id}}),{c(){he(t.$$.fragment)},m(e,r){fe(t,e,r),n=!0},p(e,n){const r={};1&n&&(r.destStation=e[1].destStation.id),1&n&&(r.startStation=e[1].startStation.id),t.$set(r)},i(e){n||(ae(t.$$.fragment,e),n=!0)},o(e){ie(t.$$.fragment,e),n=!1},d(e){Se(t,e)}}}function rt(e){let t,n,r=e[0],o=[];for(let t=0;tie(o[e],1,1,()=>{o[e]=null});return{c(){t=p("div");for(let e=0;e{n(0,r=e)}),[r]}var at={reduceOtherDetails(e){const t=[];let n=0;const r=/<\s*[aA].*?href\s*=\s*(?:"|')(.*?)(?:"|')[^>]*>(.*?)<\s*?\/\s*?[aA]\s*?>/;if("object"==typeof e.nrccMessages&&null!==e.nrccMessages)for(const o of e.nrccMessages){const e={index:0,msg:"",link:null,linkText:""};let a=o.value.replace(' ">','">').replace("","").replace("/gi,"");const i=r.exec(o.value);a=a.replace(r,""),e.index=n,e.msg=a,null!==i&&(e.link=i[1],e.linkText=i[2]),t.push(e),n++}return{nrMessages:t,nrMessagesExist:t.length>0}},reduceTrainTimetable(e){const t=[];let n="";const r=["💠","🚉"];if("object"==typeof e&&null!==e){if(console.log(">> reduceTrainService"),"object"==typeof e.trainServices&&null!==e.trainServices)for(const o of e.trainServices){const e=o.destination[0],a=null!==e.via?e.via:"",i=null!==o.platform?o.platform:""+r[0],l=null!==o.sta?o.sta:"D "+o.std,s=null===o.sta,c=null!==o.eta?o.eta:o.etd,u=o.length,d=u>0?` (${u} 🚃) `:"",h="on time"===c.toLowerCase()?"ontime":"delayed",f=null!==o.delayReason?o.delayReason:"",S=null!==o.cancelReason?o.cancelReason:"No reason given 🤷",m=o.serviceIdUrlSafe;t.push({location:e.locationName,time:l,status:c,platform:i,cancel:S,type:"train",delay:f,carriageCount:d,via:a,statusMode:h,isCancelled:o.isCancelled,isDeparture:s,serviceIdUrlSafe:m}),n=o.isCancelled?`${n}${e.locationName} ${a}${l}\n ❌ ${S}`:`${n}${e.locationName}${d}${a}\n ${l}\n ${c}\n ${i}\n ${f}`}if("object"==typeof e.busServices&&null!==e.busServices)for(const n of e.busServices){const e=n.destination[0],r=null!==e.via?e.via:"",o=null!==n.platform?n.platform:"",a=null!==n.sta?n.sta:"D "+n.std,i=null!==n.eta?n.eta:n.etd;t.push({location:e.locationName,time:a,status:i,platform:o,cancel:n.cancelReason,type:"bus",via:r})}}return console.log(t),t},reduceTrainService(e){let t=[];const n=e.sta||e.std,r=e.eta||e.etd,o={locationName:e.locationName,crs:e.crs,st:e.sta,et:e.eta,at:e.ata,isCancelled:e.isCancelled,length:e.length,detachFront:e.detachFront,adhocAlerts:e.adhocAlerts};return null!==e.previousCallingPoints&&(t=t.concat(e.previousCallingPoints[0].callingPoint)),t.push(o),null!==e.subsequentCallingPoints&&(t=t.concat(e.subsequentCallingPoints[0].callingPoint)),t=t.map(e=>(e.et=null===e.et?"":e.et,e.at=null===e.at?"":e.at,e.etMode="on time"===e.et.toLowerCase()?"ontime":"delayed",e.atMode="on time"===e.at.toLowerCase()?"ontime":"delayed",e.delayReason=null!==e.delayReason?e.delayReason:"",e.cancelReason=null!==e.cancelReason?e.cancelReason:"No reason given 🤷",e.classCancel=e.isCancelled?"cancelledRow":"",null!==e.st||null!==e.et&&""!==e.et||(e.st="D "+n,e.et=r),e)),t}};function it(e,t,n){const r=e.slice();return r[5]=t[n],r}function lt(e){let t,n=e[0],r=[];for(let t=0;t0&<(t);return{c(){n=p("section"),r=p("div"),r.innerHTML='
Station
\n
Due
\n
Estimated
\n
Arrived
',o=L(),a&&a.c(),H(r,"class","grid card text-subhead")},m(e,t){g(e,n,t),m(n,r),m(n,o),a&&a.m(n,null)},p(e,[t]){e[0].length>0?a?a.p(e,t):(a=lt(e),a.c(),a.m(n,null)):a&&(a.d(1),a=null)},i:e,o:e,d(e){e&&y(n),a&&a.d()}}}function ut(e,t,n){let r,{serviceId:o}=t,a=[],i=Qe.getBaseUrl();async function l(){{const e="/getservice?serviceid="+o,t=i.concat(e);await Oe.get(t).then(e=>{const t=JSON.parse(e.data);n(0,a=at.reduceTrainService(t))})}}return k(async()=>{await l(),r=setInterval(async()=>{console.log("Service update"),await l()},12e4)}),G(async()=>{clearInterval(r)}),e.$$set=e=>{"serviceId"in e&&n(1,o=e.serviceId)},[a,o]}class dt extends ge{constructor(e){super(),me(this,e,ut,ct,i,{serviceId:1})}}function ht(t){let n,r,o;return r=new dt({props:{serviceId:t[0]}}),{c(){n=p("div"),he(r.$$.fragment),H(n,"class","container")},m(e,t){g(e,n,t),fe(r,n,null),o=!0},p:e,i(e){o||(ae(r.$$.fragment,e),o=!0)},o(e){ie(r.$$.fragment,e),o=!1},d(e){e&&y(n),Se(r)}}}function ft(e,t,n){let{params:r={}}=t,o=r.serviceId;return e.$$set=e=>{"params"in e&&n(1,r=e.params)},[o,r]}function St(e,t,n){const r=e.slice();return r[8]=t[n],r[10]=n,r}function mt(e,t,n){const r=e.slice();return r[8]=t[n],r}function gt(e){let t,n,r=e[1].nrMessages,o=[];for(let t=0;te[8].serviceIdUrlSafe;for(let t=0;t{v||(v=se(n,De,{},!0)),v.run(1)}),T=!0)},o(e){e&&(v||(v=se(n,De,{},!1)),v.run(0)),T=!1},d(e){e&&y(n),D&&D.d(),G.d(),e&&v&&v.end(),N=!1,R()}}}function Ht(e){let t,n,r,o,a=!0===e[1].nrMessagesExist&>(e),i=e[0].length>0&&pt(e);return{c(){t=p("div"),n=p("section"),a&&a.c(),r=L(),i&&i.c()},m(e,l){g(e,t,l),m(t,n),a&&a.m(n,null),m(n,r),i&&i.m(n,null),o=!0},p(e,[t]){!0===e[1].nrMessagesExist?a?a.p(e,t):(a=gt(e),a.c(),a.m(n,r)):a&&(a.d(1),a=null),e[0].length>0?i?(i.p(e,t),1&t&&ae(i,1)):(i=pt(e),i.c(),ae(i,1),i.m(n,null)):i&&(re(),ie(i,1,1,()=>{i=null}),oe())},i(e){o||(ae(i),o=!0)},o(e){ie(i),o=!1},d(e){e&&y(t),a&&a.d(),i&&i.d()}}}function Wt(e,t,n){let r,{fromStation:o}=t,{destStation:a}=t,i=[],l={},s=Qe.getBaseUrl();async function c(){{const e=`/gettrains?from=${o}&to=${a}`,t=s.concat(e);await Oe.get(t).then(e=>{const t=JSON.parse(e.data);n(0,i=at.reduceTrainTimetable(t)),n(1,l=at.reduceOtherDetails(t))})}}return k(async()=>{await c(),r=setInterval(async()=>{console.log("Timetable update"),await c()},12e4)}),G(async()=>{clearInterval(r)}),e.$$set=e=>{"fromStation"in e&&n(3,o=e.fromStation),"destStation"in e&&n(4,a=e.destStation)},[i,l,function(e){ve("/service/"+e)},o,a]}class vt extends ge{constructor(e){super(),me(this,e,Wt,Ht,i,{fromStation:3,destStation:4})}}function Tt(e){let t,n,r,o,a,i,l,s,c;return s=new vt({props:{fromStation:e[2],destStation:e[3]}}),{c(){t=p("div"),n=p("div"),r=p("div"),o=C(e[0]),a=C(" TO "),i=C(e[1]),l=L(),he(s.$$.fragment),H(r,"class","text-center text-dark text-subhead"),H(t,"class","container")},m(e,u){g(e,t,u),m(t,n),m(n,r),m(r,o),m(r,a),m(r,i),m(n,l),fe(s,n,null),c=!0},p(e,[t]){(!c||1&t)&&W(o,e[0]),(!c||2&t)&&W(i,e[1])},i(e){c||(ae(s.$$.fragment,e),c=!0)},o(e){ie(s.$$.fragment,e),c=!1},d(e){e&&y(t),Se(s)}}}function Nt(e,t,n){let r,o,{params:a={}}=t,i=a.fromStation,l=a.destStation;return k(async()=>{n(0,r=Ge.findStation(i)),n(1,o=Ge.findStation(l))}),e.$$set=e=>{"params"in e&&n(4,a=e.params)},[r,o,i,l,a]}function Rt(e,t,n){const r=e.slice();return r[9]=t[n],r[11]=n,r}function Mt(e){let t,n=e[4],r=[];for(let t=0;t0&&Mt(t);return{c(){n=p("span"),r=p("label"),i=C(t[1]),l=L(),s=p("input"),c=L(),h&&h.c(),H(r,"for",t[0]),H(s,"autocomplete","off"),H(s,"name",t[0]),H(n,"class","mui-dropdown mui-dropdown--right svelte-1tpailu")},m(e,o){g(e,n,o),m(n,r),m(r,i),m(n,l),m(n,s),v(s,t[2]),m(n,c),h&&h.m(n,null),u||(d=[b(s,"keyup",(function(){a(t[3])&&t[3].apply(this,arguments)})),b(s,"input",t[7])],u=!0)},p(e,[o]){t=e,2&o&&W(i,t[1]),1&o&&H(r,"for",t[0]),1&o&&H(s,"name",t[0]),4&o&&s.value!==t[2]&&v(s,t[2]),t[4].length>0?h?h.p(t,o):(h=Mt(t),h.c(),h.m(n,null)):h&&(h.d(1),h=null)},i:e,o:e,d(e){e&&y(n),h&&h.d(),u=!1,o(d)}}}function Dt(e,t,n){let r,{returnValue:o=""}=t,a="",{name:i}=t,{label:l}=t,s=[];function c(){n(6,o=""),a.length>=2?n(4,s=Ge.searchStation(a)):n(4,s=[])}return k(async()=>{n(3,r=Ie.debounce(c,750))}),e.$$set=e=>{"returnValue"in e&&n(6,o=e.returnValue),"name"in e&&n(0,i=e.name),"label"in e&&n(1,l=e.label)},e.$$.update=()=>{64&e.$$.dirty&&""===o&&n(2,a="")},[i,l,a,r,s,function(e){let[t,r]=e.target.dataset.content.split(",");n(6,o={id:t,name:r}),n(2,a=r),n(4,s=[])},o,function(){a=this.value,n(2,a),n(6,o)}]}class Et extends ge{constructor(e){super(),me(this,e,Dt,At,i,{returnValue:6,name:0,label:1})}}function kt(t){let n,r,o,a;return{c(){n=p("div"),r=p("button"),r.textContent="Add a new route",H(r,"class","btn btn-primary"),H(r,"id","new"),H(r,"type","button")},m(e,i){g(e,n,i),m(n,r),o||(a=b(r,"click",t[6]),o=!0)},p:e,i:e,o:e,d(e){e&&y(n),o=!1,a()}}}function Gt(e){let t,n,r,a,i,l,s,c,u,d,h,f,S,B,w,W,v,T,N,R,M,P,A,D;function E(t){e[7].call(null,t)}let k={label:"Departure Station",name:"startStation"};function G(t){e[8].call(null,t)}void 0!==e[1]&&(k.returnValue=e[1]),s=new Et({props:k}),O.push(()=>de(s,"returnValue",E));let F={label:"Destination Station",name:"destStation"};return void 0!==e[2]&&(F.returnValue=e[2]),S=new Et({props:F}),O.push(()=>de(S,"returnValue",G)),{c(){t=p("div"),n=p("div"),r=p("div"),r.textContent="New Route",a=L(),i=p("div"),l=p("div"),he(s.$$.fragment),u=L(),d=p("div"),d.innerHTML='',h=L(),f=p("div"),he(S.$$.fragment),w=L(),W=p("div"),v=p("button"),v.textContent="Close",T=L(),N=p("button"),R=C("Save"),H(r,"class","text-subhead"),H(l,"class",""),H(d,"class","text-center"),H(f,"class",""),H(i,"class","grid-3"),H(v,"class","btn btn-sm"),H(v,"type","button"),H(N,"class","btn btn-primary btn-sm"),H(N,"id","save"),H(N,"type","button"),N.disabled=M=!e[3],H(W,"class","my text-right"),H(n,"class","mui-row card"),H(t,"class","container ")},m(o,c){g(o,t,c),m(t,n),m(n,r),m(n,a),m(n,i),m(i,l),fe(s,l,null),m(i,u),m(i,d),m(i,h),m(i,f),fe(S,f,null),m(n,w),m(n,W),m(W,v),m(W,T),m(W,N),m(N,R),P=!0,A||(D=[b(v,"click",e[4]),b(N,"click",e[5])],A=!0)},p(e,t){const n={};!c&&2&t&&(c=!0,n.returnValue=e[1],J(()=>c=!1)),s.$set(n);const r={};!B&&4&t&&(B=!0,r.returnValue=e[2],J(()=>B=!1)),S.$set(r),(!P||8&t&&M!==(M=!e[3]))&&(N.disabled=M)},i(e){P||(ae(s.$$.fragment,e),ae(S.$$.fragment,e),P=!0)},o(e){ie(s.$$.fragment,e),ie(S.$$.fragment,e),P=!1},d(e){e&&y(t),Se(s),Se(S),A=!1,o(D)}}}function Ft(e){let t,n,r,o;const a=[Gt,kt],i=[];function l(e,t){return e[0]?0:1}return t=l(e),n=i[t]=a[t](e),{c(){n.c(),r=w()},m(e,n){i[t].m(e,n),g(e,r,n),o=!0},p(e,[o]){let s=t;t=l(e),t===s?i[t].p(e,o):(re(),ie(i[s],1,1,()=>{i[s]=null}),oe(),n=i[t],n||(n=i[t]=a[t](e),n.c()),ae(n,1),n.m(r.parentNode,r))},i(e){o||(ae(n),o=!0)},o(e){ie(n),o=!1},d(e){i[t].d(e),e&&y(r)}}}function It(e,t,n){let r,o,a,i=!1;function l(){n(1,r=""),n(2,o=""),n(0,i=!1)}return e.$$.update=()=>{6&e.$$.dirty&&(console.log("typeof startStation",typeof r),n(3,a="object"==typeof r&&"object"==typeof o))},[i,r,o,a,l,async function(){await Qe.saveRoute({startStation:r,destStation:o}),l()},function(){n(0,i=!0)},function(e){r=e,n(1,r)},function(e){o=e,n(2,o)}]}class Ot extends ge{constructor(e){super(),me(this,e,It,Ft,i,{})}}function Kt(t){let n,r,a,i,l,s,c,u,d,h;return{c(){n=p("div"),r=p("button"),r.textContent="Delete",a=L(),i=p("button"),i.textContent="Edit",l=L(),s=p("button"),s.textContent="Close",H(r,"class","btn btn-danger btn-sm"),H(r,"id","delete"),H(r,"type","button"),H(i,"class","btn btn-primary btn-sm"),H(i,"id","save"),H(i,"type","button"),H(s,"class","btn btn-sm"),H(s,"type","button"),H(n,"class","my grid-3 svelte-ojjucl")},m(e,o){g(e,n,o),m(n,r),m(n,a),m(n,i),m(n,l),m(n,s),u=!0,d||(h=[b(r,"click",t[2]),b(i,"click",$t),b(s,"click",t[3])],d=!0)},p:e,i(e){u||(V(()=>{c||(c=se(n,Ee,{},!0)),c.run(1)}),u=!0)},o(e){c||(c=se(n,Ee,{},!1)),c.run(0),u=!1},d(e){e&&y(n),e&&c&&c.end(),d=!1,o(h)}}}function xt(n){let r,i,l,s,c,d,h,f,B,w,v,T,N,R,M,D,E,k=n[0].startStation.name+"",G=n[0].destStation.name+"",F=n[1]&&Kt(n);return{c(){r=p("div"),i=p("div"),l=p("div"),s=C(k),c=L(),d=p("div"),d.innerHTML='',h=L(),f=p("div"),B=C(G),w=L(),v=p("div"),T=p("button"),T.innerHTML='',N=L(),F&&F.c(),H(l,"class","col-5"),H(d,"class","col-1"),H(f,"class","col-5"),H(T,"class","btn btn-sm--slim"),H(v,"class","col-1"),H(i,"class","grid card ")},m(e,t){g(e,r,t),m(r,i),m(i,l),m(l,s),m(i,c),m(i,d),m(i,h),m(i,f),m(f,B),m(i,w),m(i,v),m(v,T),m(r,N),F&&F.m(r,null),M=!0,D||(E=b(T,"click",n[5]),D=!0)},p(e,[t]){(!M||1&t)&&k!==(k=e[0].startStation.name+"")&&W(s,k),(!M||1&t)&&G!==(G=e[0].destStation.name+"")&&W(B,G),e[1]?F?(F.p(e,t),2&t&&ae(F,1)):(F=Kt(e),F.c(),ae(F,1),F.m(r,null)):F&&(re(),ie(F,1,1,()=>{F=null}),oe())},i(e){M||(ae(F),R&&R.end(1),M=!0)},o(n){ie(F),n&&(R=function(n,r,i){let l,s=r(n,i),c=!0;const d=ne;function h(){const{delay:r=0,duration:a=300,easing:i=t,tick:h=e,css:f}=s||le;f&&(l=P(n,1,0,a,r,i,f));const m=u()+r,g=m+a;V(()=>ee(n,!1,"start")),S(e=>{if(c){if(e>=g)return h(0,1),ee(n,!1,"end"),--d.r||o(d.c),!1;if(e>=m){const t=i((e-m)/a);h(1-t,t)}}return c})}return d.r+=1,a(s)?q().then(()=>{s=s(),h()}):h(),{end(e){e&&s.tick&&s.tick(1,0),c&&(l&&A(n,l),c=!1)}}}(r,Ee,{})),M=!1},d(e){e&&y(r),F&&F.d(),e&&R&&R.end(),D=!1,E()}}}function $t(){}function Yt(e,t,n){let{item:r}=t,{id:o}=t,a=!1;return e.$$set=e=>{"item"in e&&n(0,r=e.item),"id"in e&&n(4,o=e.id)},[r,a,function(){console.log("delete: "+o),n(1,a=!1),Qe.deleteRoute(o)},function(){n(1,a=!1)},o,()=>n(1,a=!a)]}class _t extends ge{constructor(e){super(),me(this,e,Yt,xt,i,{item:0,id:4})}}function Ut(e,t,n){const r=e.slice();return r[1]=t[n],r[3]=n,r}function Vt(e,t){let n,r,o;return r=new _t({props:{item:t[1],id:t[3]}}),{key:e,first:null,c(){n=w(),he(r.$$.fragment),this.first=n},m(e,t){g(e,n,t),fe(r,e,t),o=!0},p(e,t){const n={};1&t&&(n.item=e[1]),1&t&&(n.id=e[3]),r.$set(n)},i(e){o||(ae(r.$$.fragment,e),o=!0)},o(e){ie(r.$$.fragment,e),o=!1},d(e){e&&y(n),Se(r,e)}}}function Jt(e){let t,n,r=[],o=new Map,a=e[0];const i=e=>e[1].id;for(let t=0;t{n(0,r=e)}),[r]}class Xt extends ge{constructor(e){super(),me(this,e,jt,Jt,i,{})}}function Qt(e,t,n){const r=e.slice();return r[4]=t[n],r[5]=t,r[6]=n,r}function zt(e){let t,n=Ve,r=[];for(let t=0;t{n(0,r=Qe.getTwitterFollowing()),n(1,o=Object.keys(r).length>0)});const a=Qe.twitterFollowing.subscribe(async e=>{n(0,r=e),n(1,o=Object.keys(r).length>0),console.log("_following",r)});return G(async()=>{Qe.saveTwitterFollowing(r),a()}),[r,o,function(e){r[e.name].follow=this.checked,n(0,r)}]}class tn extends ge{constructor(e){super(),me(this,e,en,qt,i,{})}}function nn(t){let n,r,o,a,i,l,s,c,u,d,h;return a=new Ot({}),l=new Xt({}),d=new tn({}),{c(){n=p("div"),r=p("div"),r.textContent="Settings",o=L(),he(a.$$.fragment),i=L(),he(l.$$.fragment),s=L(),c=p("hr"),u=L(),he(d.$$.fragment),H(r,"class","text-dark text-subhead"),H(n,"class","container")},m(e,t){g(e,n,t),m(n,r),m(n,o),fe(a,n,null),m(n,i),fe(l,n,null),m(n,s),m(n,c),m(n,u),fe(d,n,null),h=!0},p:e,i(e){h||(ae(a.$$.fragment,e),ae(l.$$.fragment,e),ae(d.$$.fragment,e),h=!0)},o(e){ie(a.$$.fragment,e),ie(l.$$.fragment,e),ie(d.$$.fragment,e),h=!1},d(e){e&&y(n),Se(a),Se(l),Se(d)}}}function rn(t){let n;return{c(){n=p("div"),n.innerHTML='

Favourites

\n\n
a
\n
b
\n
c
\n
d
',H(n,"class","container svelte-apetsu")},m(e,t){g(e,n,t)},p:e,i:e,o:e,d(e){e&&y(n)}}}function on(e){let t,n,r,o,a,i,l,s,c,u,d,h,f,S,B,w,b,v,T,N,R,M,P=e[0].user.name+"",A=e[0].user.screen_name+"",D=e[0].created_at+"",E=e[1]&&an(e);return{c(){t=p("div"),n=p("div"),r=p("div"),o=p("img"),l=L(),s=p("div"),c=p("div"),u=C(P),d=L(),h=p("div"),f=C("@"),S=C(A),B=L(),E&&E.c(),w=L(),b=p("div"),v=C(e[2]),T=L(),N=p("div"),R=p("small"),M=C(D),H(o,"class","avatar col-2 svelte-1y2z4hv"),o.src!==(a=sn(e[0].user.profile_image_url_https))&&H(o,"src",a),H(o,"alt",i="@"+e[0].user.screen_name),H(c,"class","text-subhead text-dark"),H(h,"class","badge"),H(s,"class","col-10 ml-2"),H(r,"class","grid"),H(n,"class","tweet-header"),H(b,"class","tweetBody"),H(R,"class","text-highlight2"),H(t,"class","card--slim")},m(e,a){g(e,t,a),m(t,n),m(n,r),m(r,o),m(r,l),m(r,s),m(s,c),m(c,u),m(s,d),m(s,h),m(h,f),m(h,S),m(t,B),E&&E.m(t,null),m(t,w),m(t,b),m(b,v),m(t,T),m(t,N),m(N,R),m(R,M)},p(e,n){1&n&&o.src!==(a=sn(e[0].user.profile_image_url_https))&&H(o,"src",a),1&n&&i!==(i="@"+e[0].user.screen_name)&&H(o,"alt",i),1&n&&P!==(P=e[0].user.name+"")&&W(u,P),1&n&&A!==(A=e[0].user.screen_name+"")&&W(S,A),e[1]?E?E.p(e,n):(E=an(e),E.c(),E.m(t,w)):E&&(E.d(1),E=null),4&n&&W(v,e[2]),1&n&&D!==(D=e[0].created_at+"")&&W(M,D)},d(e){e&&y(t),E&&E.d()}}}function an(e){let t,n,r,o=e[0].in_reply_to_screen_name+"";return{c(){t=p("div"),n=C("Replying to @"),r=C(o),H(t,"class","text-primary")},m(e,o){g(e,t,o),m(t,n),m(t,r)},p(e,t){1&t&&o!==(o=e[0].in_reply_to_screen_name+"")&&W(r,o)},d(e){e&&y(t)}}}function ln(t){let n,r=t[0]&&on(t);return{c(){r&&r.c(),n=w()},m(e,t){r&&r.m(e,t),g(e,n,t)},p(e,[t]){e[0]?r?r.p(e,t):(r=on(e),r.c(),r.m(n.parentNode,n)):r&&(r.d(1),r=null)},i:e,o:e,d(e){r&&r.d(e),e&&y(n)}}}function sn(e){return"https://image.silvrtree.co.uk/48,fit,q80/"+e}function cn(e,t,n){let r,o,{id:a}=t,i=!1,l="";return k(async()=>{r=Qe.getTweetByID(a),n(0,o=JSON.parse(r.tweet))}),e.$$set=e=>{"id"in e&&n(3,a=e.id)},e.$$.update=()=>{1&e.$$.dirty&&o&&(n(1,i=o&&null!==o.in_reply_to_status_id),n(2,l=o&&o.truncated?o.extended_tweet.full_text:o.text))},[o,i,l,a]}class un extends ge{constructor(e){super(),me(this,e,cn,ln,i,{id:3})}}function dn(e,t,n){const r=e.slice();return r[3]=t[n],r[5]=n,r}function hn(e,t){let n,r,o;return r=new un({props:{id:t[3]}}),{key:e,first:null,c(){n=w(),he(r.$$.fragment),this.first=n},m(e,t){g(e,n,t),fe(r,e,t),o=!0},p(e,t){const n={};1&t&&(n.id=e[3]),r.$set(n)},i(e){o||(ae(r.$$.fragment,e),o=!0)},o(e){ie(r.$$.fragment,e),o=!1},d(e){e&&y(n),Se(r,e)}}}function fn(e){let t,n,r,o,a=[],i=new Map,l=e[0];const s=e=>e[3];for(let t=0;t{await Qe.getTweets()});const o=Qe.tweetList.subscribe(async e=>{console.log("tweetlist",e),n(0,r=e)});return G(async()=>{o(),clearInterval(undefined)}),[r]}function mn(t){let n,r,o;return{c(){n=p("h2"),n.textContent="NotFound",r=L(),o=p("p"),o.textContent="Oops, this route doesn't exist!",H(n,"class","routetitle svelte-apetsu"),H(o,"class","svelte-apetsu")},m(e,t){g(e,n,t),g(e,r,t),g(e,o,t)},p:e,i:e,o:e,d(e){e&&y(n),e&&y(r),e&&y(o)}}}const gn=new Map;function yn(t){let n,r,o;return{c(){n=p("span"),n.innerHTML='',H(n,"class","")},m(e,a){g(e,n,a),r||(o=b(n,"click",t[1]),r=!0)},p:e,d(e){e&&y(n),r=!1,o()}}}function Bn(t){let n,r,o,a,i,l,s,c,u,d,h=1===t[0]&&yn(t);return{c(){n=p("header"),r=p("section"),h&&h.c(),o=L(),a=p("span"),a.textContent=""+pn,i=L(),l=p("section"),s=p("a"),s.innerHTML='',c=L(),u=p("a"),u.innerHTML='',d=L(),H(a,"class","text-bold navbar-brand mx-1 text-uppercase"),H(r,"class","navbar-section"),H(s,"title","Tweets"),H(s,"href","/#/tweets"),H(s,"class","btn--slim bg-primary"),H(u,"title","Settings"),H(u,"href","/#/settings"),H(u,"class","btn bg-primary "),H(l,"class","navbar-section text-right"),H(n,"class","navbar bg-primary")},m(e,t){g(e,n,t),m(n,r),h&&h.m(r,null),m(r,o),m(r,a),m(n,i),m(n,l),m(l,s),m(l,c),m(l,u),m(l,d)},p(e,[t]){1===e[0]?h?h.p(e,t):(h=yn(e),h.c(),h.m(r,o)):h&&(h.d(1),h=null)},i:e,o:e,d(e){e&&y(n),h&&h.d()}}}gn.set("/",class extends ge{constructor(e){super(),me(this,e,ot,rt,i,{})}}),gn.set("/timetable/:fromStation/:destStation",class extends ge{constructor(e){super(),me(this,e,Nt,Tt,i,{params:4})}}),gn.set("/service/:serviceId",class extends ge{constructor(e){super(),me(this,e,ft,ht,i,{params:1})}}),gn.set("/settings",class extends ge{constructor(e){super(),me(this,e,null,nn,i,{})}}),gn.set("/favourites",class extends ge{constructor(e){super(),me(this,e,null,rn,i,{})}}),gn.set("/tweets",class extends ge{constructor(e){super(),me(this,e,Sn,fn,i,{})}}),gn.set("*",class extends ge{constructor(e){super(),me(this,e,null,mn,i,{})}});let pn="Traintimes";function Cn(e,t,n){let r,{page:o}=t;return e.$$set=e=>{"page"in e&&n(2,o=e.page)},e.$$.update=()=>{4&e.$$.dirty&&n(0,r="Home"===o?0:1)},[r,function(){U().then(()=>{window.history.back()})},o]}class Ln extends ge{constructor(e){super(),me(this,e,Cn,Bn,i,{page:2})}}function wn(e){let t,n,r,o;return t=new Ln({props:{page:e[0]}}),r=new Ne({props:{routes:gn}}),r.$on("conditionsFailed",bn),r.$on("routeLoaded",e[1]),r.$on("routeEvent",Hn),{c(){he(t.$$.fragment),n=L(),he(r.$$.fragment)},m(e,a){fe(t,e,a),g(e,n,a),fe(r,e,a),o=!0},p(e,[n]){const r={};1&n&&(r.page=e[0]),t.$set(r)},i(e){o||(ae(t.$$.fragment,e),ae(r.$$.fragment,e),o=!0)},o(e){ie(t.$$.fragment,e),ie(r.$$.fragment,e),o=!1},d(e){Se(t,e),e&&y(n),Se(r,e)}}}function bn(e){console.error("Caught event conditionsFailed",e.detail)}function Hn(e){console.info("Caught event routeEvent",e.detail)}function Wn(e,t,n){let r;return[r,function(e){console.info("Caught event routeLoaded",e.detail),n(0,r=e.detail.name),console.log("currentPage",r)}]}const vn=new class extends ge{constructor(e){super(),me(this,e,Wn,wn,i,{})}}({target:document.body,props:{}});return"serviceWorker"in navigator&&(navigator.serviceWorker.ready.then((function(e){console.warn("Ready??",e)})),window.addEventListener("load",(function(){navigator.serviceWorker.register("./service-worker.js").then(e=>{console.warn("Service Worker Registered",e.scope)}).catch(e=>{console.error("Registration failed with "+e)})}))),vn}(); +e.exports=function e(t,n,r){function o(i,l){if(!n[i]){if(!t[i]){if(!l&&xe)return xe();if(a)return a(i,!0);var s=new Error("Cannot find module '"+i+"'");throw s.code="MODULE_NOT_FOUND",s}var c=n[i]={exports:{}};t[i][0].call(c.exports,(function(e){var n=t[i][1][e];return o(n||e)}),c,c.exports,e,t,n,r)}return n[i].exports}for(var a=xe,i=0;i=43)}})).catch((function(){return!1}))}function w(e){return"boolean"==typeof m?c.resolve(m):L(e).then((function(e){return m=e}))}function b(e){var t=g[e.name],n={};n.promise=new c((function(e,t){n.resolve=e,n.reject=t})),t.deferredOperations.push(n),t.dbReady?t.dbReady=t.dbReady.then((function(){return n.promise})):t.dbReady=n.promise}function H(e){var t=g[e.name].deferredOperations.pop();if(t)return t.resolve(),t.promise}function W(e,t){var n=g[e.name].deferredOperations.pop();if(n)return n.reject(t),n.promise}function v(e,t){return new c((function(n,r){if(g[e.name]=g[e.name]||G(),e.db){if(!t)return n(e.db);b(e),e.db.close()}var o=[e.name];t&&o.push(e.version);var a=i.open.apply(i,o);t&&(a.onupgradeneeded=function(t){var n=a.result;try{n.createObjectStore(e.storeName),t.oldVersion<=1&&n.createObjectStore(S)}catch(n){if("ConstraintError"!==n.name)throw n;console.warn('The database "'+e.name+'" has been upgraded from version '+t.oldVersion+" to version "+t.newVersion+', but the storage "'+e.storeName+'" already exists.')}}),a.onerror=function(e){e.preventDefault(),r(a.error)},a.onsuccess=function(){n(a.result),H(e)}}))}function T(e){return v(e,!1)}function N(e){return v(e,!0)}function R(e,t){if(!e.db)return!0;var n=!e.db.objectStoreNames.contains(e.storeName),r=e.versione.db.version;if(r&&(e.version!==t&&console.warn('The database "'+e.name+"\" can't be downgraded from version "+e.db.version+" to version "+e.version+"."),e.version=e.db.version),o||n){if(n){var a=e.db.version+1;a>e.version&&(e.version=a)}return!0}return!1}function M(e){return new c((function(t,n){var r=new FileReader;r.onerror=n,r.onloadend=function(n){var r=btoa(n.target.result||"");t({__local_forage_encoded_blob:!0,data:r,type:e.type})},r.readAsBinaryString(e)}))}function P(e){return s([C(atob(e.data))],{type:e.type})}function A(e){return e&&e.__local_forage_encoded_blob}function D(e){var t=this,n=t._initReady().then((function(){var e=g[t._dbInfo.name];if(e&&e.dbReady)return e.dbReady}));return d(n,e,e),n}function E(e){b(e);for(var t=g[e.name],n=t.forages,r=0;r0&&(!e.db||"InvalidStateError"===o.name||"NotFoundError"===o.name))return c.resolve().then((function(){if(!e.db||"NotFoundError"===o.name&&!e.db.objectStoreNames.contains(e.storeName)&&e.version<=e.db.version)return e.db&&(e.version=e.db.version+1),N(e)})).then((function(){return E(e).then((function(){k(e,t,n,r-1)}))})).catch(n);n(o)}}function G(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function F(e){var t=this,n={db:null};if(e)for(var r in e)n[r]=e[r];var o=g[n.name];o||(o=G(),g[n.name]=o),o.forages.push(t),t._initReady||(t._initReady=t.ready,t.ready=D);var a=[];function i(){return c.resolve()}for(var l=0;l>4,u[s++]=(15&r)<<4|o>>2,u[s++]=(3&o)<<6|63&a;return c}function Se(e){var t,n=new Uint8Array(e),r="";for(t=0;t>2],r+=X[(3&n[t])<<4|n[t+1]>>4],r+=X[(15&n[t+1])<<2|n[t+2]>>6],r+=X[63&n[t+2]];return n.length%3==2?r=r.substring(0,r.length-1)+"=":n.length%3==1&&(r=r.substring(0,r.length-2)+"=="),r}function me(e,t){var n="";if(e&&(n=he.call(e)),e&&("[object ArrayBuffer]"===n||e.buffer&&"[object ArrayBuffer]"===he.call(e.buffer))){var r,o=Z;e instanceof ArrayBuffer?(r=e,o+=ee):(r=e.buffer,"[object Int8Array]"===n?o+=ne:"[object Uint8Array]"===n?o+=re:"[object Uint8ClampedArray]"===n?o+=oe:"[object Int16Array]"===n?o+=ae:"[object Uint16Array]"===n?o+=le:"[object Int32Array]"===n?o+=ie:"[object Uint32Array]"===n?o+=se:"[object Float32Array]"===n?o+=ce:"[object Float64Array]"===n?o+=ue:t(new Error("Failed to get type for BinaryArray"))),t(o+Se(r))}else if("[object Blob]"===n){var a=new FileReader;a.onload=function(){var n=Q+e.type+"~"+Se(this.result);t(Z+te+n)},a.readAsArrayBuffer(e)}else try{t(JSON.stringify(e))}catch(n){console.error("Couldn't convert value into a JSON string: ",e),t(null,n)}}function ge(e){if(e.substring(0,q)!==Z)return JSON.parse(e);var t,n=e.substring(de),r=e.substring(q,de);if(r===te&&z.test(n)){var o=n.match(z);t=o[1],n=n.substring(o[0].length)}var a=fe(n);switch(r){case ee:return a;case te:return s([a],{type:t});case ne:return new Int8Array(a);case re:return new Uint8Array(a);case oe:return new Uint8ClampedArray(a);case ae:return new Int16Array(a);case le:return new Uint16Array(a);case ie:return new Int32Array(a);case se:return new Uint32Array(a);case ce:return new Float32Array(a);case ue:return new Float64Array(a);default:throw new Error("Unkown type: "+r)}}var ye={serialize:me,deserialize:ge,stringToBuffer:fe,bufferToString:Se};function Be(e,t,n,r){e.executeSql("CREATE TABLE IF NOT EXISTS "+t.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],n,r)}function pe(e){var t=this,n={db:null};if(e)for(var r in e)n[r]="string"!=typeof e[r]?e[r].toString():e[r];var o=new c((function(e,r){try{n.db=openDatabase(n.name,String(n.version),n.description,n.size)}catch(e){return r(e)}n.db.transaction((function(o){Be(o,n,(function(){t._dbInfo=n,e()}),(function(e,t){r(t)}))}),r)}));return n.serializer=ye,o}function Ce(e,t,n,r,o,a){e.executeSql(n,r,o,(function(e,i){i.code===i.SYNTAX_ERR?e.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[t.storeName],(function(e,l){l.rows.length?a(e,i):Be(e,t,(function(){e.executeSql(n,r,o,a)}),a)}),a):a(e,i)}),a)}function Le(e,t){var n=this;e=h(e);var r=new c((function(t,r){n.ready().then((function(){var o=n._dbInfo;o.db.transaction((function(n){Ce(n,o,"SELECT * FROM "+o.storeName+" WHERE key = ? LIMIT 1",[e],(function(e,n){var r=n.rows.length?n.rows.item(0).value:null;r&&(r=o.serializer.deserialize(r)),t(r)}),(function(e,t){r(t)}))}))})).catch(r)}));return u(r,t),r}function we(e,t){var n=this,r=new c((function(t,r){n.ready().then((function(){var o=n._dbInfo;o.db.transaction((function(n){Ce(n,o,"SELECT * FROM "+o.storeName,[],(function(n,r){for(var a=r.rows,i=a.length,l=0;l0)return void a(be.apply(o,[e,l,n,r-1]));i(t)}}))}))})).catch(i)}));return u(a,n),a}function He(e,t,n){return be.apply(this,[e,t,n,1])}function We(e,t){var n=this;e=h(e);var r=new c((function(t,r){n.ready().then((function(){var o=n._dbInfo;o.db.transaction((function(n){Ce(n,o,"DELETE FROM "+o.storeName+" WHERE key = ?",[e],(function(){t()}),(function(e,t){r(t)}))}))})).catch(r)}));return u(r,t),r}function ve(e){var t=this,n=new c((function(e,n){t.ready().then((function(){var r=t._dbInfo;r.db.transaction((function(t){Ce(t,r,"DELETE FROM "+r.storeName,[],(function(){e()}),(function(e,t){n(t)}))}))})).catch(n)}));return u(n,e),n}function Te(e){var t=this,n=new c((function(e,n){t.ready().then((function(){var r=t._dbInfo;r.db.transaction((function(t){Ce(t,r,"SELECT COUNT(key) as c FROM "+r.storeName,[],(function(t,n){var r=n.rows.item(0).c;e(r)}),(function(e,t){n(t)}))}))})).catch(n)}));return u(n,e),n}function Ne(e,t){var n=this,r=new c((function(t,r){n.ready().then((function(){var o=n._dbInfo;o.db.transaction((function(n){Ce(n,o,"SELECT key FROM "+o.storeName+" WHERE id = ? LIMIT 1",[e+1],(function(e,n){var r=n.rows.length?n.rows.item(0).key:null;t(r)}),(function(e,t){r(t)}))}))})).catch(r)}));return u(r,t),r}function Re(e){var t=this,n=new c((function(e,n){t.ready().then((function(){var r=t._dbInfo;r.db.transaction((function(t){Ce(t,r,"SELECT key FROM "+r.storeName,[],(function(t,n){for(var r=[],o=0;o '__WebKitDatabaseInfoTable__'",[],(function(n,r){for(var o=[],a=0;a0}function Fe(e){var t=this,n={};if(e)for(var r in e)n[r]=e[r];return n.keyPrefix=Ee(e,t._defaultConfig),Ge()?(t._dbInfo=n,n.serializer=ye,c.resolve()):c.reject()}function Ie(e){var t=this,n=t.ready().then((function(){for(var e=t._dbInfo.keyPrefix,n=localStorage.length-1;n>=0;n--){var r=localStorage.key(n);0===r.indexOf(e)&&localStorage.removeItem(r)}}));return u(n,e),n}function Oe(e,t){var n=this;e=h(e);var r=n.ready().then((function(){var t=n._dbInfo,r=localStorage.getItem(t.keyPrefix+e);return r&&(r=t.serializer.deserialize(r)),r}));return u(r,t),r}function Ke(e,t){var n=this,r=n.ready().then((function(){for(var t=n._dbInfo,r=t.keyPrefix,o=r.length,a=localStorage.length,i=1,l=0;l=0;t--){var n=localStorage.key(t);0===n.indexOf(e)&&localStorage.removeItem(n)}})):c.reject("Invalid arguments"),t),r}var Je={_driver:"localStorageWrapper",_initStorage:Fe,_support:De(),iterate:Ke,getItem:Oe,setItem:Ue,removeItem:_e,clear:Ie,length:Ye,key:xe,keys:$e,dropInstance:Ve},je=function(e,t){return e===t||"number"==typeof e&&"number"==typeof t&&isNaN(e)&&isNaN(t)},Xe=function(e,t){for(var n=e.length,r=0;r> wsUrl",t),this.socket=null,this.timer=0,this.clock=null,this.connected=!1,this.connectBuffer=[],this.startWebSocket=function(){const e=""===n?t:`${t}:${n}`;console.log("Starting socket",e);const r=window.MozWebSocket?MozWebSocket:WebSocket;this.socket=new r(e,"stream"),this.socket.onopen=this.handleWebsocketOnOpen.bind(this),this.socket.onmessage=this.handleWebsocketMessage.bind(this),this.socket.onclose=this.handleWebsocketClose.bind(this),this.socket.onerror=function(e){console.error(e)}},this.subscribe=function(e){console.log("Subscribe::",e);const t={request:"SUBSCRIBE",message:"",channel:e};this.connected?this.socket.send(JSON.stringify(t)):this.connectBuffer.push(JSON.stringify(t))},this.send=function(e){console.log("Sending",e),this.socket.send(e)},this.handleData=function(t){e.trigger("message",t)},this.handleBuffer=function(){for(console.log("*** handleBuffer");this.connectBuffer.length>0;){const e=this.connectBuffer.shift();this.socket.send(e)}},this.handleWebsocketOnOpen=function(){this.retry=0,console.log("**** Websocket Connected ****"),this.clock=new Date,this.connected=!0,setTimeout(()=>{this.handleBuffer()},1500)},this.handleWebsocketMessage=function(e){let t;try{console.log("handleWebsocketMessage::raw",e),t=JSON.parse(e.data),console.log("handleWebsocketMessage::command",t)}catch(e){}t&&this.handleData.call(this,t)},this.handleWebsocketClose=function(){console.error("WebSocket Connection Closed.");console.log("Socket alive for",.001);const e=this;console.log("Waiting ",15e3),this.timer=setTimeout((function(){e.startWebSocket()}),15e3)},this.startWebSocket()},Ve=[{follow:!1,name:"nationalrailenq",id:33546465},{follow:!1,name:"networkrail",id:365344176},{follow:!1,name:"NetworkRailSCOT",id:402687948},{follow:!1,name:"AvantiWestCoast",id:0xfdebe737417a000},{follow:!1,name:"CalSleeper",id:2870293725},{follow:!1,name:"CrossCountryUK",id:153368708},{follow:!1,name:"Eurostar",id:98412169},{follow:!1,name:"EurostarUK",id:59742254},{follow:!1,name:"GatwickExpress",id:163816182},{follow:!1,name:"GlasgowSubway",id:224607925},{follow:!1,name:"GWRHelp",id:15589815},{follow:!1,name:"HeathrowExpress",id:20240678},{follow:!1,name:"LNER",id:313306238},{follow:!1,name:"LNRailway",id:0xca2b366c356b000},{follow:!1,name:"northernassist",id:194512268},{follow:!1,name:"ScotRail",id:61569136},{follow:!1,name:"Stansted_Exp",id:257511611},{follow:!1,name:"TfL",id:47319664},{follow:!1,name:"WestMidRailway",id:0xcb4b3f097575000},{follow:!1,name:"NetworkRailBHM",id:583910976},{follow:!1,name:"NetworkRailEDB",id:586614081},{follow:!1,name:"NetworkRailEUS",id:581807264},{follow:!1,name:"NetworkRailGLC",id:421061171},{follow:!1,name:"NetworkRailKGX",id:459192871},{follow:!1,name:"NetworkRailLST",id:581826097},{follow:!1,name:"NetworkRailMAN",id:583895871},{follow:!1,name:"NetworkRailVIC",id:587354752},{follow:!1,name:"BTP",id:266094415},{follow:!1,name:"BTPAvonSomerset",id:0xa40431bb2d69000},{follow:!1,name:"BTPBhm",id:952003488},{follow:!1,name:"BTPBlackCountry",id:0xaa76997f5562000},{follow:!1,name:"BTPCambs",id:2574726074},{follow:!1,name:"BTPCardiff_NWP",id:951714852},{follow:!1,name:"BTPEAnglia",id:4479942923},{follow:!1,name:"BTPEssex",id:2949032015},{follow:!1,name:"BTPGtrMcr",id:1670204977},{follow:!1,name:"BTPLeics",id:0xa9023573bd76000},{follow:!1,name:"BTPLiverpoolSt",id:951912242},{follow:!1,name:"BTPLondon",id:957226980},{follow:!1,name:"BTPLondonBridge",id:3346645594},{follow:!1,name:"BTPMersey",id:951748434},{follow:!1,name:"BTPNorthScot",id:2238888007},{follow:!1,name:"BTPNorthWales",id:951487338},{follow:!1,name:"BTPOxon",id:0xa495f93bb965000},{follow:!1,name:"BTPPontypridd",id:1672678292},{follow:!1,name:"BTPScotland",id:957256160},{follow:!1,name:"BTPSouthYorks",id:3384315676},{follow:!1,name:"BTPTeesValley",id:0xb21ed0d43964000},{follow:!1,name:"BTPUnderground",id:0xdafd09816950000},{follow:!1,name:"BTPWales",id:1430734374},{follow:!1,name:"BTPWaterloo",id:951997044},{follow:!1,name:"BTPWestScot",id:951757261}];const Je=`${location.protocol}//${location.hostname}`;let je=!1;const Xe={},Qe={newTweets:pe([]),twitterFollowing:pe({}),twitterFollowingList:pe([]),tweetList:pe([]),tweets:pe([]),favourites:pe([]),routes:pe([]),routeIndex:pe(0),incrementRouteIndex(){this.routeIndex.update(e=>e+1)},async saveRoute(e){const t={...e};t.id=s(this.routeIndex),this.routes.update(e=>[...e,t]),this.incrementRouteIndex()},deleteRoute(e){const t=s(this.routes).slice(0,e),n=s(this.routes).slice(e+1);this.routes.set([...t,...n])},async getTweets(){const e=s(Qe.twitterFollowingList).map(e=>e[1].id),t=Je.concat("/twitter");Oe({method:"post",url:t,data:{list:e}}).then(e=>{const t=e.data;this.newTweets.set(t)}).catch(e=>{console.error("Store:getTweets",e)})},getTweetByID(e){return s(this.tweets).get(e)},getTwitterFollowing(){return s(this.twitterFollowing)},saveTwitterFollowing(e){this.twitterFollowing.set(e)},getBaseUrl:()=>Je,updateTweetList(e){this.tweetList.update(t=>[e,...t])},updateTwitter(e){this.tweets.update(t=>t.set(e.id,e))},updateNewTweets(e){this.newTweets.update(t=>{let n=[...t];return n.unshift(e),n=n.slice(0,49),n})},trigger(e,t){if(console.log("trigger",t),t.hasOwnProperty("message")){const e=t.message;this.updateNewTweets(e)}}},ze=new Ue(Qe);function Ze(t){let n,r,o,a,i,l,s,c,u,d,h,f,S,B;return{c(){n=p("div"),r=p("div"),o=p("div"),a=C(t[0]),i=L(),l=p("div"),s=C(t[1]),c=L(),u=p("div"),d=p("span"),h=C(t[2]),H(r,"class","entry col-8 ml--1 svelte-10t8pfm"),H(d,"class",f="btn "+t[3]+" svelte-10t8pfm"),H(u,"class","entry col-4 text-center svelte-10t8pfm"),H(n,"class","row TRcard svelte-10t8pfm")},m(e,f){g(e,n,f),m(n,r),m(r,o),m(o,a),m(r,i),m(r,l),m(l,s),m(n,c),m(n,u),m(u,d),m(d,h),S||(B=b(d,"click",t[4]),S=!0)},p(e,[t]){1&t&&W(a,e[0]),2&t&&W(s,e[1]),4&t&&W(h,e[2]),8&t&&f!==(f="btn "+e[3]+" svelte-10t8pfm")&&H(d,"class",f)},i:e,o:e,d(e){e&&y(n),S=!1,B()}}}function qe(e,t,n){let r,o,a,i,l,s,{destStation:c}=t,{startStation:u}=t,d=Qe.getBaseUrl(),h={eta:"OFF",sta:"OFF"},f=0,S=0;async function m(){console.log(`Update: ${u} / ${c}`);const e=new Date,t=e.getHours()<6?36e5:95e3,r=t-e.getTime()%t;S=e.getTime()+r,await async function(){const e=Ie.minuteFloor(),t=a.concat("&mh="+e);Oe.get(t).then(e=>{n(8,h={...e.data}),console.log(h)}).catch(e=>{console.error("TrainRoute:getTrain",e)})}(),clearTimeout(f),f=0,f=setTimeout(m,r+10)}return k(async()=>{if(Ie.LocalStorage.exists(`${u}${c}`)){const e=JSON.parse(Ie.LocalStorage.load(`${u}${c}`));n(8,h={...h,...e.trainData}),S=e.due,n(0,r=e.startStationName),n(1,o=e.destStationName),a=e.url}else n(0,r=Ge.findStation(u)),n(1,o=Ge.findStation(c)),a=`${d}/getnexttraintimes?from=${u}&to=${c}`;const e=(new Date).getTime();e>S?m():(f=0,f=setTimeout(m,S-e))}),G(async()=>{clearInterval(f);const e={due:S,trainData:h,startStationName:r,destStationName:o,url:a};Ie.LocalStorage.save(`${u}${c}`,JSON.stringify(e))}),e.$$set=e=>{"destStation"in e&&n(5,c=e.destStation),"startStation"in e&&n(6,u=e.startStation)},e.$$.update=()=>{352&e.$$.dirty&&(n(3,l="On time"===h.eta?"ontime":"delayed"),n(2,i="On time"===h.eta?h.sta:h.eta),s=`#/timetable/${u}/${c}`)},[r,o,i,l,function(){ve(s)},c,u]}_e.getItem("twitterFollowing").then(e=>{console.log("localForage::twitterFollowing",e),null!==e?Qe.twitterFollowing.set(e):(Ve.forEach(e=>{Xe[e.name]={id:e.id,follow:!1}}),Qe.twitterFollowing.set(Xe),_e.setItem("twitterFollowing",Xe).catch(e=>{console.error(e)}))}).catch(e=>{console.error(e)}),_e.getItem("favourites").then(e=>{null!==e&&Qe.favourites.set(e)}).catch(e=>{console.error(e)}),_e.getItem("routes").then(e=>{null!==e&&Qe.routes.set(e)}).catch(e=>{console.error(e)}),_e.getItem("routeIndex").then(e=>{null!==e&&Qe.routeIndex.set(e)}).catch(e=>{console.error(e)}),Qe.favourites.subscribe(e=>{console.log(">> Store.state.favourites",e)}),Qe.routes.subscribe(e=>{je&&_e.setItem("routes",e).catch(e=>{console.error(e)})}),Qe.routeIndex.subscribe(e=>{je&&_e.setItem("routeIndex",e).catch(e=>{console.error(e)})}),Qe.twitterFollowing.subscribe(e=>{je&&_e.setItem("twitterFollowing",e).catch(e=>{console.error(e)});const t=Object.entries(s(Qe.twitterFollowing)).filter(e=>{if(e[1].follow)return e});Qe.twitterFollowingList.set(t)}),Qe.twitterFollowingList.subscribe(e=>{0!==e.length&&(console.log("twitterFollowingList",e.length),e.forEach(e=>{const t=e[1].id;ze.subscribe("t-"+t)}))}),Qe.newTweets.subscribe(e=>{if(0===e.length)return;console.log(">> newTweets",e.length);const t=e.sort((e,t)=>t.ts-e.ts).map(e=>e.id),n=e.map(e=>[e.id,e]);Qe.tweetList.set(t),Qe.tweets.set(new Map(n))}),setTimeout(()=>{je=!0},250);class et extends ge{constructor(e){super(),me(this,e,qe,Ze,i,{destStation:5,startStation:6})}}function tt(e,t,n){const r=e.slice();return r[1]=t[n],r}function nt(e){let t,n;return t=new et({props:{destStation:e[1].destStation.id,startStation:e[1].startStation.id}}),{c(){he(t.$$.fragment)},m(e,r){fe(t,e,r),n=!0},p(e,n){const r={};1&n&&(r.destStation=e[1].destStation.id),1&n&&(r.startStation=e[1].startStation.id),t.$set(r)},i(e){n||(ae(t.$$.fragment,e),n=!0)},o(e){ie(t.$$.fragment,e),n=!1},d(e){Se(t,e)}}}function rt(e){let t,n,r=e[0],o=[];for(let t=0;tie(o[e],1,1,()=>{o[e]=null});return{c(){t=p("div");for(let e=0;e{n(0,r=e)}),[r]}var at={reduceOtherDetails(e){const t=[];let n=0;const r=/<\s*[aA].*?href\s*=\s*(?:"|')(.*?)(?:"|')[^>]*>(.*?)<\s*?\/\s*?[aA]\s*?>/;if("object"==typeof e.nrccMessages&&null!==e.nrccMessages)for(const o of e.nrccMessages){const e={index:0,msg:"",link:null,linkText:""};let a=o.value.replace(' ">','">').replace("
","").replace("/gi,"");const i=r.exec(o.value);a=a.replace(r,""),e.index=n,e.msg=a,null!==i&&(e.link=i[1],e.linkText=i[2]),t.push(e),n++}return{nrMessages:t,nrMessagesExist:t.length>0}},reduceTrainTimetable(e){const t=[];let n="";const r=["💠","🚉"];if("object"==typeof e&&null!==e){if(console.log(">> reduceTrainService"),"object"==typeof e.trainServices&&null!==e.trainServices)for(const o of e.trainServices){const e=o.destination[0],a=null!==e.via?e.via:"",i=null!==o.platform?o.platform:""+r[0],l=null!==o.sta?o.sta:"D "+o.std,s=null===o.sta,c=null!==o.eta?o.eta:o.etd,u=o.length,d=u>0?` (${u} 🚃) `:"",h="on time"===c.toLowerCase()?"ontime":"delayed",f=null!==o.delayReason?o.delayReason:"",S=null!==o.cancelReason?o.cancelReason:"No reason given 🤷",m=o.serviceIdUrlSafe;t.push({location:e.locationName,time:l,status:c,platform:i,cancel:S,type:"train",delay:f,carriageCount:d,via:a,statusMode:h,isCancelled:o.isCancelled,isDeparture:s,serviceIdUrlSafe:m}),n=o.isCancelled?`${n}${e.locationName} ${a}${l}\n ❌ ${S}`:`${n}${e.locationName}${d}${a}\n ${l}\n ${c}\n ${i}\n ${f}`}if("object"==typeof e.busServices&&null!==e.busServices)for(const n of e.busServices){const e=n.destination[0],r=null!==e.via?e.via:"",o=null!==n.platform?n.platform:"",a=null!==n.sta?n.sta:"D "+n.std,i=null!==n.eta?n.eta:n.etd;t.push({location:e.locationName,time:a,status:i,platform:o,cancel:n.cancelReason,type:"bus",via:r})}}return console.log(t),t},reduceTrainService(e){let t=[];const n=e.sta||e.std,r=e.eta||e.etd,o={locationName:e.locationName,crs:e.crs,st:e.sta,et:e.eta,at:e.ata,isCancelled:e.isCancelled,length:e.length,detachFront:e.detachFront,adhocAlerts:e.adhocAlerts};return null!==e.previousCallingPoints&&(t=t.concat(e.previousCallingPoints[0].callingPoint)),t.push(o),null!==e.subsequentCallingPoints&&(t=t.concat(e.subsequentCallingPoints[0].callingPoint)),t=t.map(e=>(e.et=null===e.et?"":e.et,e.at=null===e.at?"":e.at,e.etMode="on time"===e.et.toLowerCase()?"ontime":"delayed",e.atMode="on time"===e.at.toLowerCase()?"ontime":"delayed",e.delayReason=null!==e.delayReason?e.delayReason:"",e.cancelReason=null!==e.cancelReason?e.cancelReason:"No reason given 🤷",e.classCancel=e.isCancelled?"cancelledRow":"",null!==e.st||null!==e.et&&""!==e.et||(e.st="D "+n,e.et=r),e)),t}};function it(e,t,n){const r=e.slice();return r[5]=t[n],r}function lt(e){let t,n=e[0],r=[];for(let t=0;t0&<(t);return{c(){n=p("section"),r=p("div"),r.innerHTML='
Station
\n
Due
\n
Estimated
\n
Arrived
',o=L(),a&&a.c(),H(r,"class","grid card text-subhead")},m(e,t){g(e,n,t),m(n,r),m(n,o),a&&a.m(n,null)},p(e,[t]){e[0].length>0?a?a.p(e,t):(a=lt(e),a.c(),a.m(n,null)):a&&(a.d(1),a=null)},i:e,o:e,d(e){e&&y(n),a&&a.d()}}}function ut(e,t,n){let r,{serviceId:o}=t,a=[],i=Qe.getBaseUrl();async function l(){{const e="/getservice?serviceid="+o,t=i.concat(e);await Oe.get(t).then(e=>{const t=JSON.parse(e.data);n(0,a=at.reduceTrainService(t))})}}return k(async()=>{await l(),r=setInterval(async()=>{console.log("Service update"),await l()},12e4)}),G(async()=>{clearInterval(r)}),e.$$set=e=>{"serviceId"in e&&n(1,o=e.serviceId)},[a,o]}class dt extends ge{constructor(e){super(),me(this,e,ut,ct,i,{serviceId:1})}}function ht(t){let n,r,o;return r=new dt({props:{serviceId:t[0]}}),{c(){n=p("div"),he(r.$$.fragment),H(n,"class","container")},m(e,t){g(e,n,t),fe(r,n,null),o=!0},p:e,i(e){o||(ae(r.$$.fragment,e),o=!0)},o(e){ie(r.$$.fragment,e),o=!1},d(e){e&&y(n),Se(r)}}}function ft(e,t,n){let{params:r={}}=t,o=r.serviceId;return e.$$set=e=>{"params"in e&&n(1,r=e.params)},[o,r]}function St(e,t,n){const r=e.slice();return r[8]=t[n],r[10]=n,r}function mt(e,t,n){const r=e.slice();return r[8]=t[n],r}function gt(e){let t,n,r=e[1].nrMessages,o=[];for(let t=0;te[8].serviceIdUrlSafe;for(let t=0;t{v||(v=se(n,De,{},!0)),v.run(1)}),T=!0)},o(e){e&&(v||(v=se(n,De,{},!1)),v.run(0)),T=!1},d(e){e&&y(n),D&&D.d(),G.d(),e&&v&&v.end(),N=!1,R()}}}function Ht(e){let t,n,r,o,a=!0===e[1].nrMessagesExist&>(e),i=e[0].length>0&&pt(e);return{c(){t=p("div"),n=p("section"),a&&a.c(),r=L(),i&&i.c()},m(e,l){g(e,t,l),m(t,n),a&&a.m(n,null),m(n,r),i&&i.m(n,null),o=!0},p(e,[t]){!0===e[1].nrMessagesExist?a?a.p(e,t):(a=gt(e),a.c(),a.m(n,r)):a&&(a.d(1),a=null),e[0].length>0?i?(i.p(e,t),1&t&&ae(i,1)):(i=pt(e),i.c(),ae(i,1),i.m(n,null)):i&&(re(),ie(i,1,1,()=>{i=null}),oe())},i(e){o||(ae(i),o=!0)},o(e){ie(i),o=!1},d(e){e&&y(t),a&&a.d(),i&&i.d()}}}function Wt(e,t,n){let r,{fromStation:o}=t,{destStation:a}=t,i=[],l={},s=Qe.getBaseUrl();async function c(){{const e=`/gettrains?from=${o}&to=${a}`,t=s.concat(e);await Oe.get(t).then(e=>{const t={...e.data};n(0,i=at.reduceTrainTimetable(t)),n(1,l=at.reduceOtherDetails(t))})}}return k(async()=>{await c(),r=setInterval(async()=>{console.log("Timetable update"),await c()},12e4)}),G(async()=>{clearInterval(r)}),e.$$set=e=>{"fromStation"in e&&n(3,o=e.fromStation),"destStation"in e&&n(4,a=e.destStation)},[i,l,function(e){ve("/service/"+e)},o,a]}class vt extends ge{constructor(e){super(),me(this,e,Wt,Ht,i,{fromStation:3,destStation:4})}}function Tt(e){let t,n,r,o,a,i,l,s,c;return s=new vt({props:{fromStation:e[2],destStation:e[3]}}),{c(){t=p("div"),n=p("div"),r=p("div"),o=C(e[0]),a=C(" TO "),i=C(e[1]),l=L(),he(s.$$.fragment),H(r,"class","text-center text-dark text-subhead"),H(t,"class","container")},m(e,u){g(e,t,u),m(t,n),m(n,r),m(r,o),m(r,a),m(r,i),m(n,l),fe(s,n,null),c=!0},p(e,[t]){(!c||1&t)&&W(o,e[0]),(!c||2&t)&&W(i,e[1])},i(e){c||(ae(s.$$.fragment,e),c=!0)},o(e){ie(s.$$.fragment,e),c=!1},d(e){e&&y(t),Se(s)}}}function Nt(e,t,n){let r,o,{params:a={}}=t,i=a.fromStation,l=a.destStation;return k(async()=>{n(0,r=Ge.findStation(i)),n(1,o=Ge.findStation(l))}),e.$$set=e=>{"params"in e&&n(4,a=e.params)},[r,o,i,l,a]}function Rt(e,t,n){const r=e.slice();return r[9]=t[n],r[11]=n,r}function Mt(e){let t,n=e[4],r=[];for(let t=0;t0&&Mt(t);return{c(){n=p("span"),r=p("label"),i=C(t[1]),l=L(),s=p("input"),c=L(),h&&h.c(),H(r,"for",t[0]),H(s,"autocomplete","off"),H(s,"name",t[0]),H(n,"class","mui-dropdown mui-dropdown--right svelte-1tpailu")},m(e,o){g(e,n,o),m(n,r),m(r,i),m(n,l),m(n,s),v(s,t[2]),m(n,c),h&&h.m(n,null),u||(d=[b(s,"keyup",(function(){a(t[3])&&t[3].apply(this,arguments)})),b(s,"input",t[7])],u=!0)},p(e,[o]){t=e,2&o&&W(i,t[1]),1&o&&H(r,"for",t[0]),1&o&&H(s,"name",t[0]),4&o&&s.value!==t[2]&&v(s,t[2]),t[4].length>0?h?h.p(t,o):(h=Mt(t),h.c(),h.m(n,null)):h&&(h.d(1),h=null)},i:e,o:e,d(e){e&&y(n),h&&h.d(),u=!1,o(d)}}}function Dt(e,t,n){let r,{returnValue:o=""}=t,a="",{name:i}=t,{label:l}=t,s=[];function c(){n(6,o=""),a.length>=2?n(4,s=Ge.searchStation(a)):n(4,s=[])}return k(async()=>{n(3,r=Ie.debounce(c,750))}),e.$$set=e=>{"returnValue"in e&&n(6,o=e.returnValue),"name"in e&&n(0,i=e.name),"label"in e&&n(1,l=e.label)},e.$$.update=()=>{64&e.$$.dirty&&""===o&&n(2,a="")},[i,l,a,r,s,function(e){let[t,r]=e.target.dataset.content.split(",");n(6,o={id:t,name:r}),n(2,a=r),n(4,s=[])},o,function(){a=this.value,n(2,a),n(6,o)}]}class Et extends ge{constructor(e){super(),me(this,e,Dt,At,i,{returnValue:6,name:0,label:1})}}function kt(t){let n,r,o,a;return{c(){n=p("div"),r=p("button"),r.textContent="Add a new route",H(r,"class","btn btn-primary"),H(r,"id","new"),H(r,"type","button")},m(e,i){g(e,n,i),m(n,r),o||(a=b(r,"click",t[6]),o=!0)},p:e,i:e,o:e,d(e){e&&y(n),o=!1,a()}}}function Gt(e){let t,n,r,a,i,l,s,c,u,d,h,f,S,B,w,W,v,T,N,R,M,P,A,D;function E(t){e[7].call(null,t)}let k={label:"Departure Station",name:"startStation"};function G(t){e[8].call(null,t)}void 0!==e[1]&&(k.returnValue=e[1]),s=new Et({props:k}),O.push(()=>de(s,"returnValue",E));let F={label:"Destination Station",name:"destStation"};return void 0!==e[2]&&(F.returnValue=e[2]),S=new Et({props:F}),O.push(()=>de(S,"returnValue",G)),{c(){t=p("div"),n=p("div"),r=p("div"),r.textContent="New Route",a=L(),i=p("div"),l=p("div"),he(s.$$.fragment),u=L(),d=p("div"),d.innerHTML='',h=L(),f=p("div"),he(S.$$.fragment),w=L(),W=p("div"),v=p("button"),v.textContent="Close",T=L(),N=p("button"),R=C("Save"),H(r,"class","text-subhead"),H(l,"class",""),H(d,"class","text-center"),H(f,"class",""),H(i,"class","grid-3"),H(v,"class","btn btn-sm"),H(v,"type","button"),H(N,"class","btn btn-primary btn-sm"),H(N,"id","save"),H(N,"type","button"),N.disabled=M=!e[3],H(W,"class","my text-right"),H(n,"class","mui-row card"),H(t,"class","container ")},m(o,c){g(o,t,c),m(t,n),m(n,r),m(n,a),m(n,i),m(i,l),fe(s,l,null),m(i,u),m(i,d),m(i,h),m(i,f),fe(S,f,null),m(n,w),m(n,W),m(W,v),m(W,T),m(W,N),m(N,R),P=!0,A||(D=[b(v,"click",e[4]),b(N,"click",e[5])],A=!0)},p(e,t){const n={};!c&&2&t&&(c=!0,n.returnValue=e[1],J(()=>c=!1)),s.$set(n);const r={};!B&&4&t&&(B=!0,r.returnValue=e[2],J(()=>B=!1)),S.$set(r),(!P||8&t&&M!==(M=!e[3]))&&(N.disabled=M)},i(e){P||(ae(s.$$.fragment,e),ae(S.$$.fragment,e),P=!0)},o(e){ie(s.$$.fragment,e),ie(S.$$.fragment,e),P=!1},d(e){e&&y(t),Se(s),Se(S),A=!1,o(D)}}}function Ft(e){let t,n,r,o;const a=[Gt,kt],i=[];function l(e,t){return e[0]?0:1}return t=l(e),n=i[t]=a[t](e),{c(){n.c(),r=w()},m(e,n){i[t].m(e,n),g(e,r,n),o=!0},p(e,[o]){let s=t;t=l(e),t===s?i[t].p(e,o):(re(),ie(i[s],1,1,()=>{i[s]=null}),oe(),n=i[t],n||(n=i[t]=a[t](e),n.c()),ae(n,1),n.m(r.parentNode,r))},i(e){o||(ae(n),o=!0)},o(e){ie(n),o=!1},d(e){i[t].d(e),e&&y(r)}}}function It(e,t,n){let r,o,a,i=!1;function l(){n(1,r=""),n(2,o=""),n(0,i=!1)}return e.$$.update=()=>{6&e.$$.dirty&&(console.log("typeof startStation",typeof r),n(3,a="object"==typeof r&&"object"==typeof o))},[i,r,o,a,l,async function(){await Qe.saveRoute({startStation:r,destStation:o}),l()},function(){n(0,i=!0)},function(e){r=e,n(1,r)},function(e){o=e,n(2,o)}]}class Ot extends ge{constructor(e){super(),me(this,e,It,Ft,i,{})}}function Kt(t){let n,r,a,i,l,s,c,u,d,h;return{c(){n=p("div"),r=p("button"),r.textContent="Delete",a=L(),i=p("button"),i.textContent="Edit",l=L(),s=p("button"),s.textContent="Close",H(r,"class","btn btn-danger btn-sm"),H(r,"id","delete"),H(r,"type","button"),H(i,"class","btn btn-primary btn-sm"),H(i,"id","save"),H(i,"type","button"),H(s,"class","btn btn-sm"),H(s,"type","button"),H(n,"class","my grid-3 svelte-ojjucl")},m(e,o){g(e,n,o),m(n,r),m(n,a),m(n,i),m(n,l),m(n,s),u=!0,d||(h=[b(r,"click",t[2]),b(i,"click",$t),b(s,"click",t[3])],d=!0)},p:e,i(e){u||(V(()=>{c||(c=se(n,Ee,{},!0)),c.run(1)}),u=!0)},o(e){c||(c=se(n,Ee,{},!1)),c.run(0),u=!1},d(e){e&&y(n),e&&c&&c.end(),d=!1,o(h)}}}function xt(n){let r,i,l,s,c,d,h,f,B,w,v,T,N,R,M,D,E,k=n[0].startStation.name+"",G=n[0].destStation.name+"",F=n[1]&&Kt(n);return{c(){r=p("div"),i=p("div"),l=p("div"),s=C(k),c=L(),d=p("div"),d.innerHTML='',h=L(),f=p("div"),B=C(G),w=L(),v=p("div"),T=p("button"),T.innerHTML='',N=L(),F&&F.c(),H(l,"class","col-5"),H(d,"class","col-1"),H(f,"class","col-5"),H(T,"class","btn btn-sm--slim"),H(v,"class","col-1"),H(i,"class","grid card ")},m(e,t){g(e,r,t),m(r,i),m(i,l),m(l,s),m(i,c),m(i,d),m(i,h),m(i,f),m(f,B),m(i,w),m(i,v),m(v,T),m(r,N),F&&F.m(r,null),M=!0,D||(E=b(T,"click",n[5]),D=!0)},p(e,[t]){(!M||1&t)&&k!==(k=e[0].startStation.name+"")&&W(s,k),(!M||1&t)&&G!==(G=e[0].destStation.name+"")&&W(B,G),e[1]?F?(F.p(e,t),2&t&&ae(F,1)):(F=Kt(e),F.c(),ae(F,1),F.m(r,null)):F&&(re(),ie(F,1,1,()=>{F=null}),oe())},i(e){M||(ae(F),R&&R.end(1),M=!0)},o(n){ie(F),n&&(R=function(n,r,i){let l,s=r(n,i),c=!0;const d=ne;function h(){const{delay:r=0,duration:a=300,easing:i=t,tick:h=e,css:f}=s||le;f&&(l=P(n,1,0,a,r,i,f));const m=u()+r,g=m+a;V(()=>ee(n,!1,"start")),S(e=>{if(c){if(e>=g)return h(0,1),ee(n,!1,"end"),--d.r||o(d.c),!1;if(e>=m){const t=i((e-m)/a);h(1-t,t)}}return c})}return d.r+=1,a(s)?q().then(()=>{s=s(),h()}):h(),{end(e){e&&s.tick&&s.tick(1,0),c&&(l&&A(n,l),c=!1)}}}(r,Ee,{})),M=!1},d(e){e&&y(r),F&&F.d(),e&&R&&R.end(),D=!1,E()}}}function $t(){}function Yt(e,t,n){let{item:r}=t,{id:o}=t,a=!1;return e.$$set=e=>{"item"in e&&n(0,r=e.item),"id"in e&&n(4,o=e.id)},[r,a,function(){console.log("delete: "+o),n(1,a=!1),Qe.deleteRoute(o)},function(){n(1,a=!1)},o,()=>n(1,a=!a)]}class _t extends ge{constructor(e){super(),me(this,e,Yt,xt,i,{item:0,id:4})}}function Ut(e,t,n){const r=e.slice();return r[1]=t[n],r[3]=n,r}function Vt(e,t){let n,r,o;return r=new _t({props:{item:t[1],id:t[3]}}),{key:e,first:null,c(){n=w(),he(r.$$.fragment),this.first=n},m(e,t){g(e,n,t),fe(r,e,t),o=!0},p(e,t){const n={};1&t&&(n.item=e[1]),1&t&&(n.id=e[3]),r.$set(n)},i(e){o||(ae(r.$$.fragment,e),o=!0)},o(e){ie(r.$$.fragment,e),o=!1},d(e){e&&y(n),Se(r,e)}}}function Jt(e){let t,n,r=[],o=new Map,a=e[0];const i=e=>e[1].id;for(let t=0;t{n(0,r=e)}),[r]}class Xt extends ge{constructor(e){super(),me(this,e,jt,Jt,i,{})}}function Qt(e,t,n){const r=e.slice();return r[4]=t[n],r[5]=t,r[6]=n,r}function zt(e){let t,n=Ve,r=[];for(let t=0;t{n(0,r=Qe.getTwitterFollowing()),n(1,o=Object.keys(r).length>0)});const a=Qe.twitterFollowing.subscribe(async e=>{n(0,r=e),n(1,o=Object.keys(r).length>0),console.log("_following",r)});return G(async()=>{Qe.saveTwitterFollowing(r),a()}),[r,o,function(e){r[e.name].follow=this.checked,n(0,r)}]}class tn extends ge{constructor(e){super(),me(this,e,en,qt,i,{})}}function nn(t){let n,r,o,a,i,l,s,c,u,d,h;return a=new Ot({}),l=new Xt({}),d=new tn({}),{c(){n=p("div"),r=p("div"),r.textContent="Settings",o=L(),he(a.$$.fragment),i=L(),he(l.$$.fragment),s=L(),c=p("hr"),u=L(),he(d.$$.fragment),H(r,"class","text-dark text-subhead"),H(n,"class","container")},m(e,t){g(e,n,t),m(n,r),m(n,o),fe(a,n,null),m(n,i),fe(l,n,null),m(n,s),m(n,c),m(n,u),fe(d,n,null),h=!0},p:e,i(e){h||(ae(a.$$.fragment,e),ae(l.$$.fragment,e),ae(d.$$.fragment,e),h=!0)},o(e){ie(a.$$.fragment,e),ie(l.$$.fragment,e),ie(d.$$.fragment,e),h=!1},d(e){e&&y(n),Se(a),Se(l),Se(d)}}}function rn(t){let n;return{c(){n=p("div"),n.innerHTML='

Favourites

\n\n
a
\n
b
\n
c
\n
d
',H(n,"class","container svelte-apetsu")},m(e,t){g(e,n,t)},p:e,i:e,o:e,d(e){e&&y(n)}}}function on(e){let t,n,r,o,a,i,l,s,c,u,d,h,f,S,B,w,b,v,T,N,R,M,P=e[0].user.name+"",A=e[0].user.screen_name+"",D=e[0].created_at+"",E=e[1]&&an(e);return{c(){t=p("div"),n=p("div"),r=p("div"),o=p("img"),l=L(),s=p("div"),c=p("div"),u=C(P),d=L(),h=p("div"),f=C("@"),S=C(A),B=L(),E&&E.c(),w=L(),b=p("div"),v=C(e[2]),T=L(),N=p("div"),R=p("small"),M=C(D),H(o,"class","avatar col-2 svelte-1y2z4hv"),o.src!==(a=sn(e[0].user.profile_image_url_https))&&H(o,"src",a),H(o,"alt",i="@"+e[0].user.screen_name),H(c,"class","text-subhead text-dark"),H(h,"class","badge"),H(s,"class","col-10 ml-2"),H(r,"class","grid"),H(n,"class","tweet-header"),H(b,"class","tweetBody"),H(R,"class","text-highlight2"),H(t,"class","card--slim")},m(e,a){g(e,t,a),m(t,n),m(n,r),m(r,o),m(r,l),m(r,s),m(s,c),m(c,u),m(s,d),m(s,h),m(h,f),m(h,S),m(t,B),E&&E.m(t,null),m(t,w),m(t,b),m(b,v),m(t,T),m(t,N),m(N,R),m(R,M)},p(e,n){1&n&&o.src!==(a=sn(e[0].user.profile_image_url_https))&&H(o,"src",a),1&n&&i!==(i="@"+e[0].user.screen_name)&&H(o,"alt",i),1&n&&P!==(P=e[0].user.name+"")&&W(u,P),1&n&&A!==(A=e[0].user.screen_name+"")&&W(S,A),e[1]?E?E.p(e,n):(E=an(e),E.c(),E.m(t,w)):E&&(E.d(1),E=null),4&n&&W(v,e[2]),1&n&&D!==(D=e[0].created_at+"")&&W(M,D)},d(e){e&&y(t),E&&E.d()}}}function an(e){let t,n,r,o=e[0].in_reply_to_screen_name+"";return{c(){t=p("div"),n=C("Replying to @"),r=C(o),H(t,"class","text-primary")},m(e,o){g(e,t,o),m(t,n),m(t,r)},p(e,t){1&t&&o!==(o=e[0].in_reply_to_screen_name+"")&&W(r,o)},d(e){e&&y(t)}}}function ln(t){let n,r=t[0]&&on(t);return{c(){r&&r.c(),n=w()},m(e,t){r&&r.m(e,t),g(e,n,t)},p(e,[t]){e[0]?r?r.p(e,t):(r=on(e),r.c(),r.m(n.parentNode,n)):r&&(r.d(1),r=null)},i:e,o:e,d(e){r&&r.d(e),e&&y(n)}}}function sn(e){return"https://image.silvrtree.co.uk/48,fit,q80/"+e}function cn(e,t,n){let r,o,{id:a}=t,i=!1,l="";return k(async()=>{r=Qe.getTweetByID(a),n(0,o=JSON.parse(r.tweet))}),e.$$set=e=>{"id"in e&&n(3,a=e.id)},e.$$.update=()=>{1&e.$$.dirty&&o&&(n(1,i=o&&null!==o.in_reply_to_status_id),n(2,l=o&&o.truncated?o.extended_tweet.full_text:o.text))},[o,i,l,a]}class un extends ge{constructor(e){super(),me(this,e,cn,ln,i,{id:3})}}function dn(e,t,n){const r=e.slice();return r[3]=t[n],r[5]=n,r}function hn(e,t){let n,r,o;return r=new un({props:{id:t[3]}}),{key:e,first:null,c(){n=w(),he(r.$$.fragment),this.first=n},m(e,t){g(e,n,t),fe(r,e,t),o=!0},p(e,t){const n={};1&t&&(n.id=e[3]),r.$set(n)},i(e){o||(ae(r.$$.fragment,e),o=!0)},o(e){ie(r.$$.fragment,e),o=!1},d(e){e&&y(n),Se(r,e)}}}function fn(e){let t,n,r,o,a=[],i=new Map,l=e[0];const s=e=>e[3];for(let t=0;t{await Qe.getTweets()});const o=Qe.tweetList.subscribe(async e=>{n(0,r=e)});return G(async()=>{o(),clearInterval(undefined)}),[r]}function mn(t){let n,r,o;return{c(){n=p("h2"),n.textContent="NotFound",r=L(),o=p("p"),o.textContent="Oops, this route doesn't exist!",H(n,"class","routetitle svelte-apetsu"),H(o,"class","svelte-apetsu")},m(e,t){g(e,n,t),g(e,r,t),g(e,o,t)},p:e,i:e,o:e,d(e){e&&y(n),e&&y(r),e&&y(o)}}}const gn=new Map;function yn(t){let n,r,o;return{c(){n=p("span"),n.innerHTML='',H(n,"class","")},m(e,a){g(e,n,a),r||(o=b(n,"click",t[1]),r=!0)},p:e,d(e){e&&y(n),r=!1,o()}}}function Bn(t){let n,r,o,a,i,l,s,c,u,d,h=1===t[0]&&yn(t);return{c(){n=p("header"),r=p("section"),h&&h.c(),o=L(),a=p("span"),a.textContent=""+pn,i=L(),l=p("section"),s=p("a"),s.innerHTML='',c=L(),u=p("a"),u.innerHTML='',d=L(),H(a,"class","text-bold navbar-brand mx-1 text-uppercase"),H(r,"class","navbar-section"),H(s,"title","Tweets"),H(s,"href","/#/tweets"),H(s,"class","btn--slim bg-primary"),H(u,"title","Settings"),H(u,"href","/#/settings"),H(u,"class","btn bg-primary "),H(l,"class","navbar-section text-right"),H(n,"class","navbar bg-primary")},m(e,t){g(e,n,t),m(n,r),h&&h.m(r,null),m(r,o),m(r,a),m(n,i),m(n,l),m(l,s),m(l,c),m(l,u),m(l,d)},p(e,[t]){1===e[0]?h?h.p(e,t):(h=yn(e),h.c(),h.m(r,o)):h&&(h.d(1),h=null)},i:e,o:e,d(e){e&&y(n),h&&h.d()}}}gn.set("/",class extends ge{constructor(e){super(),me(this,e,ot,rt,i,{})}}),gn.set("/timetable/:fromStation/:destStation",class extends ge{constructor(e){super(),me(this,e,Nt,Tt,i,{params:4})}}),gn.set("/service/:serviceId",class extends ge{constructor(e){super(),me(this,e,ft,ht,i,{params:1})}}),gn.set("/settings",class extends ge{constructor(e){super(),me(this,e,null,nn,i,{})}}),gn.set("/favourites",class extends ge{constructor(e){super(),me(this,e,null,rn,i,{})}}),gn.set("/tweets",class extends ge{constructor(e){super(),me(this,e,Sn,fn,i,{})}}),gn.set("*",class extends ge{constructor(e){super(),me(this,e,null,mn,i,{})}});let pn="Traintimes";function Cn(e,t,n){let r,{page:o}=t;return e.$$set=e=>{"page"in e&&n(2,o=e.page)},e.$$.update=()=>{4&e.$$.dirty&&n(0,r="Home"===o?0:1)},[r,function(){U().then(()=>{window.history.back()})},o]}class Ln extends ge{constructor(e){super(),me(this,e,Cn,Bn,i,{page:2})}}function wn(e){let t,n,r,o;return t=new Ln({props:{page:e[0]}}),r=new Ne({props:{routes:gn}}),r.$on("conditionsFailed",bn),r.$on("routeLoaded",e[1]),r.$on("routeEvent",Hn),{c(){he(t.$$.fragment),n=L(),he(r.$$.fragment)},m(e,a){fe(t,e,a),g(e,n,a),fe(r,e,a),o=!0},p(e,[n]){const r={};1&n&&(r.page=e[0]),t.$set(r)},i(e){o||(ae(t.$$.fragment,e),ae(r.$$.fragment,e),o=!0)},o(e){ie(t.$$.fragment,e),ie(r.$$.fragment,e),o=!1},d(e){Se(t,e),e&&y(n),Se(r,e)}}}function bn(e){console.error("Caught event conditionsFailed",e.detail)}function Hn(e){console.info("Caught event routeEvent",e.detail)}function Wn(e,t,n){let r;return[r,function(e){console.info("Caught event routeLoaded",e.detail),n(0,r=e.detail.name),console.log("currentPage",r)}]}const vn=new class extends ge{constructor(e){super(),me(this,e,Wn,wn,i,{})}}({target:document.body,props:{}});return"serviceWorker"in navigator&&(navigator.serviceWorker.ready.then((function(e){console.warn("Ready??",e)})),window.addEventListener("load",(function(){navigator.serviceWorker.register("./service-worker.js").then(e=>{console.warn("Service Worker Registered",e.scope)}).catch(e=>{console.error("Registration failed with "+e)})}))),vn}(); diff --git a/live/build/bundle.js.map b/live/build/bundle.js.map index 7b55723..1cb0f37 100644 --- a/live/build/bundle.js.map +++ b/live/build/bundle.js.map @@ -1 +1 @@ -{"version":3,"file":"bundle.js","sources":["../../node_modules/svelte/internal/index.mjs","../../node_modules/svelte/store/index.mjs","../../node_modules/regexparam/dist/regexparam.mjs","../../node_modules/svelte-spa-router/Router.svelte","../../node_modules/svelte-spa-router/active.js","../../node_modules/svelte/easing/index.mjs","../../node_modules/svelte/transition/index.mjs","../../src/libs/stations.js","../../src/libs/utils.js","../../node_modules/redaxios/dist/redaxios.module.js","../../node_modules/localforage/dist/localforage.js","../../src/libs/websocket.js","../../src/libs/twitter.js","../../src/store/store.js","../../src/components/TrainRoute.svelte","../../src/pages/Home.svelte","../../src/libs/reducer.js","../../src/components/TrainService.svelte","../../src/pages/Service.svelte","../../src/components/TimetableList.svelte","../../src/pages/Timetable.svelte","../../src/components/SettingsInput.svelte","../../src/components/SettingsEditor.svelte","../../src/libs/longpress.js","../../src/components/SettingsListItem.svelte","../../src/components/SettingsList.svelte","../../src/components/TwitterSettings.svelte","../../src/components/Twitter.svelte","../../src/pages/Twitter.svelte","../../src/routes.js","../../src/components/Header.svelte","../../src/App.svelte","../../src/main.js"],"sourcesContent":["function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value = ret) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? undefined : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction claim_element(nodes, name, attributes, svg) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeName === name) {\n let j = 0;\n const remove = [];\n while (j < node.attributes.length) {\n const attribute = node.attributes[j++];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n for (let k = 0; k < remove.length; k++) {\n node.removeAttribute(remove[k]);\n }\n return nodes.splice(i, 1)[0];\n }\n }\n return svg ? svg_element(name) : element(name);\n}\nfunction claim_text(nodes, data) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 3) {\n node.data = '' + data;\n return nodes.splice(i, 1)[0];\n }\n }\n return text(data);\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n node.style.setProperty(key, value, important ? 'important' : '');\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n const z_index = (parseInt(computed_style.zIndex) || 0) - 1;\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', `display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ` +\n `overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: ${z_index};`);\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = `data:text/html,`;\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, false, false, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor(anchor = null) {\n this.a = anchor;\n this.e = this.n = null;\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n this.e = element(target.nodeName);\n this.t = target;\n this.h(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\n\nconst active_docs = new Set();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = node.ownerDocument;\n active_docs.add(doc);\n const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = doc.head.appendChild(element('style')).sheet);\n const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {});\n if (!current_rules[name]) {\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ``}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n active_docs.forEach(doc => {\n const stylesheet = doc.__svelte_stylesheet;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n doc.__svelte_rules = {};\n });\n active_docs.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error(`Function called outside component initialization`);\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n callbacks.slice().forEach(fn => fn(event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\nlet flushing = false;\nconst seen_callbacks = new Set();\nfunction flush() {\n if (flushing)\n return;\n flushing = true;\n do {\n // first, call beforeUpdate functions\n // and update components\n for (let i = 0; i < dirty_components.length; i += 1) {\n const component = dirty_components[i];\n set_current_component(component);\n update(component.$$);\n }\n dirty_components.length = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n flushing = false;\n seen_callbacks.clear();\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = program.b - t;\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n info.blocks[i] = null;\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error(`Cannot have duplicate keys in a keyed each`);\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, classes_to_add) {\n const attributes = Object.assign({}, ...args);\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += \" \" + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += \" \" + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${String(value).replace(/\"/g, '"').replace(/'/g, ''')}\"`;\n }\n });\n return str;\n}\nconst escaped = {\n '\"': '"',\n \"'\": ''',\n '&': '&',\n '<': '<',\n '>': '>'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(parent_component ? parent_component.$$.context : []),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, options = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, options);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : ``;\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const prop_values = options.props || {};\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n before_update: [],\n after_update: [],\n context: new Map(parent_component ? parent_component.$$.context : []),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false\n };\n let ready = false;\n $$.ctx = instance\n ? instance(component, prop_values, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor);\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.24.1' }, detail)));\n}\nfunction append_dev(target, node) {\n dispatch_dev(\"SvelteDOMInsert\", { target, node });\n append(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev(\"SvelteDOMInsert\", { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev(\"SvelteDOMRemove\", { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? [\"capture\"] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev(\"SvelteDOMAddEventListener\", { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev(\"SvelteDOMRemoveEventListener\", { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev(\"SvelteDOMRemoveAttribute\", { node, attribute });\n else\n dispatch_dev(\"SvelteDOMSetAttribute\", { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev(\"SvelteDOMSetProperty\", { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev(\"SvelteDOMSetDataset\", { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev(\"SvelteDOMSetData\", { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(`'target' is a required option`);\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn(`Component was already destroyed`); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error(`Infinite loop detected`);\n }\n };\n}\n\nexport { HtmlTag, SvelteComponent, SvelteComponentDev, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_transform, afterUpdate, append, append_dev, assign, attr, attr_dev, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_space, claim_text, clear_loops, component_subscribe, compute_rest_props, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, escape, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getContext, get_binding_group_value, get_current_component, get_slot_changes, get_slot_context, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, has_prop, identity, init, insert, insert_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, listen, listen_dev, loop, loop_guard, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, update_keyed_each, update_slot, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr };\n","import { noop, safe_not_equal, subscribe, run_all, is_function } from '../internal';\nexport { get_store_value as get } from '../internal';\n\nconst subscriber_queue = [];\n/**\n * Creates a `Readable` store that allows reading by subscription.\n * @param value initial value\n * @param {StartStopNotifier}start start and stop notifications for subscriptions\n */\nfunction readable(value, start) {\n return {\n subscribe: writable(value, start).subscribe,\n };\n}\n/**\n * Create a `Writable` store that allows both updating and reading by subscription.\n * @param {*=}value initial value\n * @param {StartStopNotifier=}start start and stop notifications for subscriptions\n */\nfunction writable(value, start = noop) {\n let stop;\n const subscribers = [];\n function set(new_value) {\n if (safe_not_equal(value, new_value)) {\n value = new_value;\n if (stop) { // store is ready\n const run_queue = !subscriber_queue.length;\n for (let i = 0; i < subscribers.length; i += 1) {\n const s = subscribers[i];\n s[1]();\n subscriber_queue.push(s, value);\n }\n if (run_queue) {\n for (let i = 0; i < subscriber_queue.length; i += 2) {\n subscriber_queue[i][0](subscriber_queue[i + 1]);\n }\n subscriber_queue.length = 0;\n }\n }\n }\n }\n function update(fn) {\n set(fn(value));\n }\n function subscribe(run, invalidate = noop) {\n const subscriber = [run, invalidate];\n subscribers.push(subscriber);\n if (subscribers.length === 1) {\n stop = start(set) || noop;\n }\n run(value);\n return () => {\n const index = subscribers.indexOf(subscriber);\n if (index !== -1) {\n subscribers.splice(index, 1);\n }\n if (subscribers.length === 0) {\n stop();\n stop = null;\n }\n };\n }\n return { set, update, subscribe };\n}\nfunction derived(stores, fn, initial_value) {\n const single = !Array.isArray(stores);\n const stores_array = single\n ? [stores]\n : stores;\n const auto = fn.length < 2;\n return readable(initial_value, (set) => {\n let inited = false;\n const values = [];\n let pending = 0;\n let cleanup = noop;\n const sync = () => {\n if (pending) {\n return;\n }\n cleanup();\n const result = fn(single ? values[0] : values, set);\n if (auto) {\n set(result);\n }\n else {\n cleanup = is_function(result) ? result : noop;\n }\n };\n const unsubscribers = stores_array.map((store, i) => subscribe(store, (value) => {\n values[i] = value;\n pending &= ~(1 << i);\n if (inited) {\n sync();\n }\n }, () => {\n pending |= (1 << i);\n }));\n inited = true;\n sync();\n return function stop() {\n run_all(unsubscribers);\n cleanup();\n };\n });\n}\n\nexport { derived, readable, writable };\n","export default function (str, loose) {\n\tif (str instanceof RegExp) return { keys:false, pattern:str };\n\tvar c, o, tmp, ext, keys=[], pattern='', arr = str.split('/');\n\tarr[0] || arr.shift();\n\n\twhile (tmp = arr.shift()) {\n\t\tc = tmp[0];\n\t\tif (c === '*') {\n\t\t\tkeys.push('wild');\n\t\t\tpattern += '/(.*)';\n\t\t} else if (c === ':') {\n\t\t\to = tmp.indexOf('?', 1);\n\t\t\text = tmp.indexOf('.', 1);\n\t\t\tkeys.push( tmp.substring(1, !!~o ? o : !!~ext ? ext : tmp.length) );\n\t\t\tpattern += !!~o && !~ext ? '(?:/([^/]+?))?' : '/([^/]+?)';\n\t\t\tif (!!~ext) pattern += (!!~o ? '?' : '') + '\\\\' + tmp.substring(ext);\n\t\t} else {\n\t\t\tpattern += '/' + tmp;\n\t\t}\n\t}\n\n\treturn {\n\t\tkeys: keys,\n\t\tpattern: new RegExp('^' + pattern + (loose ? '(?=$|\\/)' : '\\/?$'), 'i')\n\t};\n}\n","\n\n{#if componentParams}\n \n{:else}\n \n{/if}\n\n\n","import regexparam from 'regexparam'\nimport {loc} from './Router.svelte'\n\n// List of nodes to update\nconst nodes = []\n\n// Current location\nlet location\n\n// Function that updates all nodes marking the active ones\nfunction checkActive(el) {\n // Repeat this for each class\n (el.className || '').split(' ').forEach((cls) => {\n if (!cls) {\n return\n }\n // Remove the active class firsts\n el.node.classList.remove(cls)\n\n // If the pattern matches, then set the active class\n if (el.pattern.test(location)) {\n el.node.classList.add(cls)\n }\n })\n}\n\n// Listen to changes in the location\nloc.subscribe((value) => {\n // Update the location\n location = value.location + (value.querystring ? '?' + value.querystring : '')\n\n // Update all nodes\n nodes.map(checkActive)\n})\n\n/**\n * @typedef {Object} ActiveOptions\n * @property {string|RegExp} [path] - Path expression that makes the link active when matched (must start with '/' or '*'); default is the link's href\n * @property {string} [className] - CSS class to apply to the element when active; default value is \"active\"\n */\n\n/**\n * Svelte Action for automatically adding the \"active\" class to elements (links, or any other DOM element) when the current location matches a certain path.\n * \n * @param {HTMLElement} node - The target node (automatically set by Svelte)\n * @param {ActiveOptions|string|RegExp} [opts] - Can be an object of type ActiveOptions, or a string (or regular expressions) representing ActiveOptions.path.\n */\nexport default function active(node, opts) {\n // Check options\n if (opts && (typeof opts == 'string' || (typeof opts == 'object' && opts instanceof RegExp))) {\n // Interpret strings and regular expressions as opts.path\n opts = {\n path: opts\n }\n }\n else {\n // Ensure opts is a dictionary\n opts = opts || {}\n }\n\n // Path defaults to link target\n if (!opts.path && node.hasAttribute('href')) {\n opts.path = node.getAttribute('href')\n if (opts.path && opts.path.length > 1 && opts.path.charAt(0) == '#') {\n opts.path = opts.path.substring(1)\n }\n }\n\n // Default class name\n if (!opts.className) {\n opts.className = 'active'\n }\n\n // If path is a string, it must start with '/' or '*'\n if (!opts.path || \n typeof opts.path == 'string' && (opts.path.length < 1 || (opts.path.charAt(0) != '/' && opts.path.charAt(0) != '*'))\n ) {\n throw Error('Invalid value for \"path\" argument')\n }\n\n // If path is not a regular expression already, make it\n const {pattern} = typeof opts.path == 'string' ?\n regexparam(opts.path) :\n {pattern: opts.path}\n\n // Add the node to the list\n const el = {\n node,\n className: opts.className,\n pattern\n }\n nodes.push(el)\n\n // Trigger the action right away\n checkActive(el)\n\n return {\n // When the element is destroyed, remove it from the list\n destroy() {\n nodes.splice(nodes.indexOf(el), 1)\n }\n }\n}\n","export { identity as linear } from '../internal';\n\n/*\nAdapted from https://github.com/mattdesl\nDistributed under MIT License https://github.com/mattdesl/eases/blob/master/LICENSE.md\n*/\nfunction backInOut(t) {\n const s = 1.70158 * 1.525;\n if ((t *= 2) < 1)\n return 0.5 * (t * t * ((s + 1) * t - s));\n return 0.5 * ((t -= 2) * t * ((s + 1) * t + s) + 2);\n}\nfunction backIn(t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n}\nfunction backOut(t) {\n const s = 1.70158;\n return --t * t * ((s + 1) * t + s) + 1;\n}\nfunction bounceOut(t) {\n const a = 4.0 / 11.0;\n const b = 8.0 / 11.0;\n const c = 9.0 / 10.0;\n const ca = 4356.0 / 361.0;\n const cb = 35442.0 / 1805.0;\n const cc = 16061.0 / 1805.0;\n const t2 = t * t;\n return t < a\n ? 7.5625 * t2\n : t < b\n ? 9.075 * t2 - 9.9 * t + 3.4\n : t < c\n ? ca * t2 - cb * t + cc\n : 10.8 * t * t - 20.52 * t + 10.72;\n}\nfunction bounceInOut(t) {\n return t < 0.5\n ? 0.5 * (1.0 - bounceOut(1.0 - t * 2.0))\n : 0.5 * bounceOut(t * 2.0 - 1.0) + 0.5;\n}\nfunction bounceIn(t) {\n return 1.0 - bounceOut(1.0 - t);\n}\nfunction circInOut(t) {\n if ((t *= 2) < 1)\n return -0.5 * (Math.sqrt(1 - t * t) - 1);\n return 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\n}\nfunction circIn(t) {\n return 1.0 - Math.sqrt(1.0 - t * t);\n}\nfunction circOut(t) {\n return Math.sqrt(1 - --t * t);\n}\nfunction cubicInOut(t) {\n return t < 0.5 ? 4.0 * t * t * t : 0.5 * Math.pow(2.0 * t - 2.0, 3.0) + 1.0;\n}\nfunction cubicIn(t) {\n return t * t * t;\n}\nfunction cubicOut(t) {\n const f = t - 1.0;\n return f * f * f + 1.0;\n}\nfunction elasticInOut(t) {\n return t < 0.5\n ? 0.5 *\n Math.sin(((+13.0 * Math.PI) / 2) * 2.0 * t) *\n Math.pow(2.0, 10.0 * (2.0 * t - 1.0))\n : 0.5 *\n Math.sin(((-13.0 * Math.PI) / 2) * (2.0 * t - 1.0 + 1.0)) *\n Math.pow(2.0, -10.0 * (2.0 * t - 1.0)) +\n 1.0;\n}\nfunction elasticIn(t) {\n return Math.sin((13.0 * t * Math.PI) / 2) * Math.pow(2.0, 10.0 * (t - 1.0));\n}\nfunction elasticOut(t) {\n return (Math.sin((-13.0 * (t + 1.0) * Math.PI) / 2) * Math.pow(2.0, -10.0 * t) + 1.0);\n}\nfunction expoInOut(t) {\n return t === 0.0 || t === 1.0\n ? t\n : t < 0.5\n ? +0.5 * Math.pow(2.0, 20.0 * t - 10.0)\n : -0.5 * Math.pow(2.0, 10.0 - t * 20.0) + 1.0;\n}\nfunction expoIn(t) {\n return t === 0.0 ? t : Math.pow(2.0, 10.0 * (t - 1.0));\n}\nfunction expoOut(t) {\n return t === 1.0 ? t : 1.0 - Math.pow(2.0, -10.0 * t);\n}\nfunction quadInOut(t) {\n t /= 0.5;\n if (t < 1)\n return 0.5 * t * t;\n t--;\n return -0.5 * (t * (t - 2) - 1);\n}\nfunction quadIn(t) {\n return t * t;\n}\nfunction quadOut(t) {\n return -t * (t - 2.0);\n}\nfunction quartInOut(t) {\n return t < 0.5\n ? +8.0 * Math.pow(t, 4.0)\n : -8.0 * Math.pow(t - 1.0, 4.0) + 1.0;\n}\nfunction quartIn(t) {\n return Math.pow(t, 4.0);\n}\nfunction quartOut(t) {\n return Math.pow(t - 1.0, 3.0) * (1.0 - t) + 1.0;\n}\nfunction quintInOut(t) {\n if ((t *= 2) < 1)\n return 0.5 * t * t * t * t * t;\n return 0.5 * ((t -= 2) * t * t * t * t + 2);\n}\nfunction quintIn(t) {\n return t * t * t * t * t;\n}\nfunction quintOut(t) {\n return --t * t * t * t * t + 1;\n}\nfunction sineInOut(t) {\n return -0.5 * (Math.cos(Math.PI * t) - 1);\n}\nfunction sineIn(t) {\n const v = Math.cos(t * Math.PI * 0.5);\n if (Math.abs(v) < 1e-14)\n return 1;\n else\n return 1 - v;\n}\nfunction sineOut(t) {\n return Math.sin((t * Math.PI) / 2);\n}\n\nexport { backIn, backInOut, backOut, bounceIn, bounceInOut, bounceOut, circIn, circInOut, circOut, cubicIn, cubicInOut, cubicOut, elasticIn, elasticInOut, elasticOut, expoIn, expoInOut, expoOut, quadIn, quadInOut, quadOut, quartIn, quartInOut, quartOut, quintIn, quintInOut, quintOut, sineIn, sineInOut, sineOut };\n","import { cubicInOut, linear, cubicOut } from '../easing';\nimport { is_function, assign } from '../internal';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\n\nfunction blur(node, { delay = 0, duration = 400, easing = cubicInOut, amount = 5, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const f = style.filter === 'none' ? '' : style.filter;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (_t, u) => `opacity: ${target_opacity - (od * u)}; filter: ${f} blur(${u * amount}px);`\n };\n}\nfunction fade(node, { delay = 0, duration = 400, easing = linear }) {\n const o = +getComputedStyle(node).opacity;\n return {\n delay,\n duration,\n easing,\n css: t => `opacity: ${t * o}`\n };\n}\nfunction fly(node, { delay = 0, duration = 400, easing = cubicOut, x = 0, y = 0, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const transform = style.transform === 'none' ? '' : style.transform;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (t, u) => `\n\t\t\ttransform: ${transform} translate(${(1 - t) * x}px, ${(1 - t) * y}px);\n\t\t\topacity: ${target_opacity - (od * u)}`\n };\n}\nfunction slide(node, { delay = 0, duration = 400, easing = cubicOut }) {\n const style = getComputedStyle(node);\n const opacity = +style.opacity;\n const height = parseFloat(style.height);\n const padding_top = parseFloat(style.paddingTop);\n const padding_bottom = parseFloat(style.paddingBottom);\n const margin_top = parseFloat(style.marginTop);\n const margin_bottom = parseFloat(style.marginBottom);\n const border_top_width = parseFloat(style.borderTopWidth);\n const border_bottom_width = parseFloat(style.borderBottomWidth);\n return {\n delay,\n duration,\n easing,\n css: t => `overflow: hidden;` +\n `opacity: ${Math.min(t * 20, 1) * opacity};` +\n `height: ${t * height}px;` +\n `padding-top: ${t * padding_top}px;` +\n `padding-bottom: ${t * padding_bottom}px;` +\n `margin-top: ${t * margin_top}px;` +\n `margin-bottom: ${t * margin_bottom}px;` +\n `border-top-width: ${t * border_top_width}px;` +\n `border-bottom-width: ${t * border_bottom_width}px;`\n };\n}\nfunction scale(node, { delay = 0, duration = 400, easing = cubicOut, start = 0, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const transform = style.transform === 'none' ? '' : style.transform;\n const sd = 1 - start;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (_t, u) => `\n\t\t\ttransform: ${transform} scale(${1 - (sd * u)});\n\t\t\topacity: ${target_opacity - (od * u)}\n\t\t`\n };\n}\nfunction draw(node, { delay = 0, speed, duration, easing = cubicInOut }) {\n const len = node.getTotalLength();\n if (duration === undefined) {\n if (speed === undefined) {\n duration = 800;\n }\n else {\n duration = len / speed;\n }\n }\n else if (typeof duration === 'function') {\n duration = duration(len);\n }\n return {\n delay,\n duration,\n easing,\n css: (t, u) => `stroke-dasharray: ${t * len} ${u * len}`\n };\n}\nfunction crossfade(_a) {\n var { fallback } = _a, defaults = __rest(_a, [\"fallback\"]);\n const to_receive = new Map();\n const to_send = new Map();\n function crossfade(from, node, params) {\n const { delay = 0, duration = d => Math.sqrt(d) * 30, easing = cubicOut } = assign(assign({}, defaults), params);\n const to = node.getBoundingClientRect();\n const dx = from.left - to.left;\n const dy = from.top - to.top;\n const dw = from.width / to.width;\n const dh = from.height / to.height;\n const d = Math.sqrt(dx * dx + dy * dy);\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n const opacity = +style.opacity;\n return {\n delay,\n duration: is_function(duration) ? duration(d) : duration,\n easing,\n css: (t, u) => `\n\t\t\t\topacity: ${t * opacity};\n\t\t\t\ttransform-origin: top left;\n\t\t\t\ttransform: ${transform} translate(${u * dx}px,${u * dy}px) scale(${t + (1 - t) * dw}, ${t + (1 - t) * dh});\n\t\t\t`\n };\n }\n function transition(items, counterparts, intro) {\n return (node, params) => {\n items.set(params.key, {\n rect: node.getBoundingClientRect()\n });\n return () => {\n if (counterparts.has(params.key)) {\n const { rect } = counterparts.get(params.key);\n counterparts.delete(params.key);\n return crossfade(rect, node, params);\n }\n // if the node is disappearing altogether\n // (i.e. wasn't claimed by the other list)\n // then we need to supply an outro\n items.delete(params.key);\n return fallback && fallback(node, params, intro);\n };\n };\n }\n return [\n transition(to_send, to_receive, false),\n transition(to_receive, to_send, true)\n ];\n}\n\nexport { blur, crossfade, draw, fade, fly, scale, slide };\n","const sMap = new Map([['ZNJ', 'Northampton North Junction'], ['ZPS', 'Plaistow L.T.'], ['MSC', 'Marseille St Charles'], ['ZAE', 'Aldgate East'], ['ZEP', 'East Putney'], ['GBG', 'Gorebridge'], ['ZHR', 'Holloway Road'], ['ZPN', 'Paddington (Bakerloo Line)'], ['NMC', 'New Mills Central'], ['HBB', 'Hubberts Bridge'], ['ADC', 'Adlington (Cheshire)'], ['WHI', 'Whitstable'], ['FEG', 'Fellgate (T & W Metro)'], ['HRH', 'Horsham'], ['LNW', 'Llanwrtyd'], ['RYP', 'Ryde Pier Head'], ['PRU', 'Prudhoe'], ['TLH', 'Tilehurst'], ['SBM', 'South Bermondsey'], ['TAM', 'Tamworth'], ['CFD', 'Castleford'], ['NMN', 'New Mills Newtown'], ['HFS', 'Hatfield & Stainforth'], ['WFN', 'Watford North'], ['GWN', 'Gowerton'], ['WMW', 'Walthamstow Queens Road'], ['INP', 'Inverkip'], ['WRW', 'Warwick'], ['WHG', 'Westhoughton'], ['WIM', 'Wimbledon'], ['CLM', 'Collingham'], ['DRF', 'Driffield'], ['NWT', 'Newtown (Powys)'], ['SOE', 'Southend East'], ['PNF', 'Penyffordd'], ['WYE', 'Wye'], ['BAR', 'Bare Lane'], ['YRM', 'Yarm'], ['NTH', 'Neath'], ['ERH', 'Erith'], ['CFO', 'Chalfont & Latimer'], ['FGW', 'Fishguard & Goodwick'], ['BAY', 'Bayford'], ['BER', 'Bearley'], ['SIT', 'Sittingbourne'], ['WHL', 'White Hart Lane'], ['DRN', 'Duirinish'], ['SWK', 'Southwick'], ['MTM', 'Martin Mill'], ['NWR', 'Newtonmore'], ['ADW', 'Addiewell'], ['ALV', 'Alvechurch'], ['SQE', 'Surrey Quays'], ['HIG', 'Highbridge & Burnham'], ['RMC', 'Rotherham Central'], ['NTN', 'Newton'], ['CBN', 'Camborne'], ['RIA', 'Rhoose Cardiff Intl Airport'], ['BXW', 'Boxhill & Westhumble'], ['TNN', 'Thorne North'], ['FTN', 'Fratton'], ['RUA', 'Ruabon'], ['LAY', 'Layton'], ['LLV', 'Llandovery'], ['MAS', 'Manors'], ['CLG', 'Claygate'], ['CTT', 'Church Stretton'], ['GGV', 'Gargrave'], ['TNS', 'Thorne South'], ['CRE', 'Crewe'], ['WXC', 'Wrexham Central'], ['CAD', 'Cadoxton'], ['HYB', 'Honeybourne'], ['WGT', 'Wigton'], ['WRX', 'Wrexham General'], ['RHO', 'Rhosneigr'], ['KWL', 'Kidwelly'], ['RYD', 'Ryde Esplanade'], ['PTL', 'Priesthill & Darnley'], ['NWN', 'Newton for Hyde'], ['SBP', 'Stonebridge Park'], ['PEV', 'Pevensey & Westham'], ['ACL', 'Acle'], ['GDH', 'Gordon Hill'], ['LSY', 'Lower Sydenham'], ['SEB', 'Seaburn (T & W Metro)'], ['AYW', 'Aberystwyth'], ['LNZ', 'Lenzie'], ['MDS', 'Morden South'], ['ADD', 'Adderley Park'], ['EFL', 'East Farleigh'], ['SPU', 'Staplehurst'], ['UHL', 'Upper Holloway'], ['WLP', 'Welshpool'], ['CAS', 'Castleton'], ['HAM', 'Hamworthy'], ['BGN', 'Bridgend'], ['BRN', 'Bearsden'], ['APG', 'Aspley Guise'], ['DEW', 'Dewsbury'], ['BPS', 'Blackpool South'], ['KSL', 'Kearsley'], ['PYJ', 'Paisley St James'], ['NBA', 'New Barnet'], ['WHR', 'West Horndon'], ['HLD', 'Hellifield'], ['RDR', 'Radyr'], ['VAL', 'Valley'], ['BSD', 'Bearsted'], ['FIT', 'Filton Abbey Wood'], ['NAY', 'Newton Aycliffe'], ['BWK', 'Berwick-upon-Tweed'], ['BIF', 'Barrow-in-Furness'], ['DMY', 'Drumry'], ['CKH', 'Corkerhill'], ['LBK', 'Long Buckby'], ['BEA', 'Bridge of Allan'], ['PEB', 'Pevensey Bay'], ['CRL', 'Chorley'], ['ECS', 'Eccles Road'], ['FSG', 'Fishersgate'], ['YSR', 'Ystrad Rhondda'], ['UNV', 'University (T & W Metro)'], ['WCL', 'West Calder'], ['GNW', 'Greenwich'], ['SAB', 'Smallbrook Junction'], ['BDA', 'Brundall'], ['LNG', 'Longcross'], ['PSW', 'Polesworth'], ['SPP', 'Shippea Hill'], ['FIL', 'Filey'], ['HRR', 'Harrington'], ['MGM', 'Metheringham'], ['RAV', 'Ravenglass for Eskdale'], ['OLT', 'Olton'], ['CRD', 'Chester Road'], ['SAH', 'Salhouse'], ['GIL', 'Gillingham (Dorset)'], ['GNT', 'Gunton'], ['FEN', 'Fenny Stratford'], ['CBB', 'Carbis Bay'], ['BLW', 'Bulwell'], ['FMR', 'Falmer'], ['WNY', 'White Notley'], ['SFD', 'Salford Central'], ['BGI', 'Bargeddie'], ['WLY', 'Woodley'], ['BYC', 'Betws-y-Coed'], ['WYT', 'Wythall'], ['KID', 'Kidderminster'], ['SMO', 'South Merton'], ['ULC', 'Ulceby'], ['AWK', 'Adwick'], ['CRR', 'Corrour'], ['OVR', 'Overton'], ['RET', 'Retford'], ['STQ', 'Southampton Town Quay (Bus)'], ['BBS', 'Bordesley'], ['GOS', 'Grange-over-Sands'], ['MAY', 'Maybole'], ['YET', 'Yetminster'], ['LIH', 'Leigh (Kent)'], ['SMC', 'Sampford Courtenay'], ['SLO', 'Slough'], ['LHE', 'Loch Eil Outward Bound'], ['WBP', 'West Brompton'], ['NBT', 'Norbiton'], ['KVP', 'Kiveton Park'], ['PNL', 'Pannal'], ['MEO', 'Meols'], ['SRG', 'Seer Green'], ['CTO', 'Carlton'], ['GLY', 'Glynde'], ['MSW', 'Mansfield Woodhouse'], ['IBM', 'IBM'], ['BRL', 'Barrhill'], ['TRD', 'Troed-y-rhiw'], ['MEC', 'Meols Cop'], ['POL', 'Polsloe Bridge'], ['TPN', 'Ton Pentre'], ['BCK', 'Buckley'], ['CHC', 'Charing Cross (Glasgow)'], ['SRA', 'Stratford (London)'], ['WWO', 'West Worthing'], ['RSH', 'Rose Hill Marple'], ['SMT', 'St Margarets (Hertfordshire)'], ['WIH', 'Winchmore Hill'], ['CRS', 'Carstairs'], ['KGX', 'London Kings Cross'], ['LHS', 'Limehouse'], ['THB', 'Thornliebank'], ['DRT', 'Darton'], ['LLD', 'Llandudno'], ['NRN', 'Nairn'], ['KGE', 'Kingsknowe'], ['TNA', 'Thornton Abbey'], ['LRD', 'London Road (Guildford)'], ['BAL', 'Balham'], ['FRH', 'Calais Frethun'], ['WAC', 'Warrington Central'], ['GMV', 'Great Malvern'], ['MNC', 'Markinch'], ['WRT', 'Worstead'], ['EBB', 'Ebbw Vale Town'], ['MEL', 'Meldreth'], ['BYB', 'Blythe Bridge'], ['LOT', 'Lostock'], ['CNM', 'Cheltenham Spa'], ['FZH', 'Frizinghall'], ['LLJ', 'Llandudno Junction'], ['UPM', 'Upminster'], ['DBC', 'Dumbarton Central'], ['STT', 'Stewarton'], ['DBE', 'Dumbarton East'], ['TYS', 'Tyseley'], ['DNS', 'Dinas Powys'], ['DEE', 'Dundee'], ['LDY', 'Ladybank'], ['PBY', 'Pembrey & Burry Port'], ['GMD', 'Grimsby Docks'], ['KEI', 'Keighley'], ['BIP', 'Bishopstone'], ['SFO', 'Stanford-le-Hope'], ['BYF', 'Broughty Ferry'], ['MYH', 'Maryhill'], ['DRM', 'Drem'], ['NBE', 'Newbridge'], ['WSF', 'Winsford'], ['THD', 'Thames Ditton'], ['HMM', 'Hammerton'], ['HOR', 'Horley'], ['BLY', 'Bletchley'], ['ARU', 'Arundel'], ['FNB', 'Farnborough (Main)'], ['CGW', 'Caergwrle'], ['MAO', 'Martins Heron'], ['OXT', 'Oxted'], ['PAT', 'Patricroft'], ['GMB', 'Grimsby Town'], ['TUR', 'Turkey Street'], ['TAF', 'Taffs Well'], ['LTN', 'Luton Airport Parkway'], ['CHM', 'Chelmsford'], ['FLW', 'Fulwell'], ['HTW', 'Hartwood'], ['PNZ', 'Penzance'], ['WDE', 'Wood End'], ['GCW', 'Glan Conwy'], ['HOV', 'Hove'], ['TRH', 'Trehafod'], ['WTE', 'Whitlocks End'], ['DLJ', 'Dalston Junction'], ['VIR', 'Virginia Water'], ['ASP', 'Aspatria'], ['LPT', 'Longport'], ['LWS', 'Lewes'], ['EWD', 'Earlswood (West Midlands)'], ['WAN', 'Wanborough'], ['BTO', 'Betchworth'], ['FLN', 'Flint'], ['BUK', 'Bucknell'], ['LLM', 'Llangammarch'], ['CNG', 'Congleton'], ['WMN', 'Warminster'], ['MTL', 'Mortlake'], ['BWT', 'Bridgwater'], ['BRT', 'Barlaston'], ['MNP', 'Manor Park'], ['ESL', 'Eastleigh'], ['SHO', 'Sholing'], ['EGT', 'Egton'], ['HDH', 'Hampstead Heath'], ['WCP', 'Worcester Park'], ['ISP', 'Islip'], ['TPB', 'Thorpe Bay'], ['CRH', 'Crouch Hill'], ['TBW', 'Tunbridge Wells'], ['GLE', 'Gleneagles'], ['KSW', 'Kirkby Stephen'], ['ALW', 'Allens West'], ['DMG', 'Dinas Rhondda'], ['BSR', 'Broadstairs'], ['WEM', 'Wem'], ['CSN', 'Chessington North'], ['HRD', 'Harling Road'], ['AUI', 'Ardlui'], ['ERI', 'Eridge'], ['APD', 'Appledore (Kent)'], ['DHN', 'Deighton'], ['GLG', 'Glengarnock'], ['MLH', 'Mill Hill (Lancashire)'], ['WRP', 'Warwick Parkway'], ['GOF', 'Golf Street'], ['CHY', 'Chertsey'], ['WOK', 'Woking'], ['LLE', 'Llanelli'], ['MYB', 'London Marylebone'], ['WIL', 'Willington'], ['WIJ', 'Willesden Junction'], ['BME', 'Broome'], ['CAM', 'Camberley'], ['SRT', 'Shortlands'], ['SOP', 'Southport'], ['TYB', 'Tan-y-Bwlch (Bus)'], ['ENC', 'Enfield Chase'], ['RYP', 'Ryde Pier Head'], ['BEB', 'Bebington'], ['LGW', 'Langwathby'], ['WSE', 'Winchelsea'], ['BFR', 'London Blackfriars'], ['SCT', 'Scotscalder'], ['RUG', 'Rugby'], ['SRS', 'Selhurst'], ['MLF', 'Milford (Surrey)'], ['PNA', 'Penally'], ['STU', 'Sturry'], ['TWB', 'Tweedbank'], ['YSM', 'Ystrad Mynach'], ['JEQ', 'Jewellery Quarter'], ['PTW', 'Prestwick Town'], ['EBK', 'Eastbrook'], ['PER', 'Penrhiwceiber'], ['CWM', 'Cwmbran'], ['ING', 'Invergowrie'], ['RBS', 'British Steel Redcar'], ['HLG', 'Hall Green'], ['LSN', 'Livingston North'], ['RML', 'Romiley'], ['BUU', 'Burnham-on-Crouch'], ['ZBC', 'Barons Court Underground'], ['CPN', 'Chapleton'], ['ROG', 'Rogart'], ['LVG', 'Livingston South'], ['HTC', 'Heaton Chapel'], ['KGN', 'Kings Nympton'], ['LCC', 'Lochluichart'], ['DCG', 'Duncraig'], ['TOD', 'Todmorden'], ['WEA', 'West Ealing'], ['SOK', 'South Kenton'], ['SLA', 'Slateford'], ['HLC', 'Helensburgh Central'], ['LGJ', 'Loughborough Junction'], ['HED', 'Halewood'], ['ATH', 'Atherstone'], ['EYN', 'Eynsford'], ['SOT', 'Stoke-on-Trent'], ['CAC', 'Caldercruix'], ['SRC', 'Streatham Common'], ['MSO', 'Moston'], ['BEU', 'Beaulieu Road'], ['ZBK', 'Barking Underground'], ['BNR', 'Brockley Whins (T & W Metro)'], ['LOH', 'Lostock Hall'], ['MIL', 'Mill Hill Broadway'], ['OHL', 'Old Hill'], ['BDW', 'Bedwyn'], ['PMA', 'Portsmouth Arms'], ['WHC', 'Walthamstow Central'], ['KDY', 'Kirkcaldy'], ['FAZ', 'Fazakerley'], ['GLC', 'Glasgow Central'], ['HLU', 'Helensburgh Upper'], ['LTG', 'Lostock Gralam'], ['DLK', 'Dalston Kingsland'], ['MTN', 'Moreton (Dorset)'], ['EBL', 'East Boldon (T & W Metro)'], ['CYN', 'Cynghordy'], ['CHT', 'Chathill'], ['HPT', 'Hopton Heath'], ['ALO', 'Alloa'], ['PMS', 'Portsmouth & Southsea'], ['CON', 'Connel Ferry'], ['WNC', 'Windsor & Eton Central'], ['BET', 'Bethnal Green'], ['SST', 'Stansted Mountfitchet'], ['ESH', 'Esher'], ['WSE', 'Winchelsea'], ['CSS', 'Chessington South'], ['CSL', 'Codsall'], ['CPA', 'Corpach'], ['HGF', 'Hag Fold'], ['SRD', 'Stapleton Road'], ['UPM', 'Upminster'], ['BSJ', 'Bedford St Johns'], ['RYB', 'Roy Bridge'], ['DMP', 'Dumpton Park'], ['LYT', 'Lymington Town'], ['WHE', 'Whalley'], ['HKC', 'Hackney Central'], ['HYC', 'Hyde Central'], ['PEW', 'Pewsey'], ['AHN', 'Ashton-under-Lyne'], ['PRW', 'Perranwell'], ['CKL', 'Corkickle'], ['DOD', 'Dodworth'], ['WTA', 'Wester Hailes'], ['PAW', 'Pelaw (T & W Metro)'], ['AYP', 'Albany Park'], ['NEW', 'Newcraighall'], ['ORE', 'Ore'], ['HAS', 'Halesworth'], ['KWG', 'Kew Gardens'], ['EXG', 'Exhibition Centre'], ['HIL', 'Hillside'], ['MPL', 'Marple'], ['SDA', 'Snodland'], ['BKA', 'Bookham'], ['BNT', 'Brinnington'], ['HKW', 'Hackney Wick'], ['ACR', 'Accrington'], ['QRP', 'Queens Road Peckham'], ['MDG', 'Midgham'], ['BAW', 'Blackwater'], ['MEX', 'Mexborough'], ['ADK', 'Ardwick'], ['DNY', 'Danby'], ['HIN', 'Hindley'], ['PYG', 'Paisley Gilmour Street'], ['PRA', 'Prestwick Intl Airport'], ['DDP', 'Dudley Port'], ['NMK', 'Newmarket'], ['KGL', 'Kings Langley'], ['MLN', 'Milngavie'], ['FML', 'Frimley'], ['NTR', 'Northallerton'], ['SDW', 'Sandwich'], ['BBW', 'Berry Brow'], ['DID', 'Didcot Parkway'], ['SOG', 'Stonegate'], ['HAI', 'Halling'], ['PWL', 'Pwllheli'], ['WCF', 'Westcliff'], ['HGG', 'Haggerston'], ['CMR', 'Cromer'], ['ALX', 'Alexandria'], ['COO', 'Cookham'], ['MRS', 'Monks Risborough'], ['YRT', 'Yorton'], ['BEN', 'Bentham'], ['GOB', 'Gobowen'], ['HAL', 'Hale'], ['CAY', 'Carntyne'], ['BUI', 'Burnside'], ['SEL', 'Sellafield'], ['WIM', 'Wimbledon'], ['YRD', 'Yardley Wood'], ['CHN', 'Cheshunt'], ['HFX', 'Halifax'], ['ELD', 'Earlswood (Surrey)'], ['TOK', 'Three Oaks'], ['PBN', 'Paris Nord'], ['TED', 'Teddington'], ['HKM', 'Hykeham'], ['GRS', 'Garscadden'], ['DSL', 'Disley'], ['HDE', 'Hedge End'], ['BNP', 'Barnstaple'], ['KNS', 'Kennishead'], ['LAK', 'Lakenheath'], ['TUH', 'Tulse Hill'], ['BSY', 'Brondesbury'], ['FOX', 'Foxfield'], ['SHR', 'Shrewsbury'], ['WMG', 'Welham Green'], ['HLF', 'Hillfoot'], ['PMR', 'Peckham Rye'], ['SGR', 'Slade Green'], ['FRE', 'Freshfield'], ['SDG', 'Sandling'], ['DMR', 'Dalmuir'], ['TRF', 'Trefforest'], ['LZB', 'Lazonby & Kirkoswald'], ['KCK', 'Knockholt'], ['LLW', 'Llwyngwril'], ['DCT', 'Danescourt'], ['HRM', 'Harrietsham'], ['WCM', 'Wickham Market'], ['FEA', 'Featherstone'], ['HNH', 'Herne Hill'], ['MCO', 'Manchester Oxford Road'], ['LER', 'Leytonstone High Road'], ['RAU', 'Rauceby'], ['HMW', 'Hampton Wick'], ['SJS', 'St James Street'], ['TEA', 'Tees-side Airport'], ['LNR', 'Llanwrda'], ['BEE', 'Beeston'], ['MTV', 'Mount Vernon'], ['BSV', 'Buckshaw Parkway'], ['DAL', 'Dalmally'], ['KTN', 'Kentish Town'], ['TRA', 'Trafford Park'], ['AMB', 'Ambergate'], ['GOX', 'Goxhill'], ['PLT', 'Pontlottyn'], ['ATT', 'Attadale'], ['POK', 'Pokesdown'], ['STI', 'Stadium of Light (T & W Metro)'], ['HOO', 'Hooton'], ['KGS', 'Kings Sutton'], ['KTW', 'Kentish Town West'], ['ZPC', 'Piccadilly Circus Underground'], ['UTT', 'Uttoxeter'], ['BLH', 'Bellshill'], ['BGA', 'Brundall Gardens'], ['PRT', 'Prestatyn'], ['CPT', 'Clapton'], ['LET', 'Letchworth Garden City'], ['PSN', 'Parson Street'], ['PNE', 'Penge East'], ['NFD', 'Northfield'], ['LTV', 'Lichfield Trent Valley'], ['CBG', 'Cambridge'], ['NPD', 'New Pudsey'], ['ETL', 'East Tilbury'], ['LTV', 'Lichfield Trent Valley'], ['SNI', 'Snaith'], ['AVN', 'Avonmouth'], ['TEN', 'Tenby'], ['PTG', 'Port Glasgow'], ['SPF', 'Springfield'], ['TBD', 'Three Bridges'], ['SLD', 'Salford Crescent'], ['GOE', 'Goldthorpe'], ['SMY', 'St Mary Cray'], ['DBY', 'Derby'], ['HXX', 'Heathrow Airport T123'], ['THO', 'Thornford'], ['PRE', 'Preston'], ['KWN', 'Kilwinning'], ['PRE', 'Preston'], ['HWH', 'Haltwhistle'], ['CNN', 'Canonbury'], ['BOH', 'Bosham'], ['OPK', 'Orrell Park'], ['BDB', 'Broadbottom'], ['LCK', 'Lockwood'], ['NFL', 'Northfleet'], ['TNP', 'Tonypandy'], ['FOC', 'Falls of Cruachan'], ['HYM', 'Haymarket'], ['HIT', 'Hitchin'], ['CLE', 'Cleethorpes'], ['PAL', 'Palmers Green'], ['ARD', 'Ardgay'], ['BUS', 'Busby'], ['LGE', 'Long Eaton'], ['TUL', 'Tulloch'], ['ABD', 'Aberdeen'], ['BRO', 'Bridge of Orchy'], ['GCT', 'Great Coates'], ['INE', 'Ince & Elton'], ['WTT', 'Witton'], ['TRS', 'Thurston'], ['FNC', 'Farncombe'], ['EBD', 'Ebbsfleet International'], ['DUR', 'Durrington-on-Sea'], ['CSA', 'Cosham'], ['PEG', 'Pegswood'], ['CEA', 'Cleland'], ['GCR', 'Gloucester'], ['TAC', 'Tackley'], ['MFH', 'Milford Haven'], ['PRY', 'Perry Barr'], ['RHL', 'Rhyl'], ['THW', 'The Hawthorns'], ['WTH', 'Whitehaven'], ['KNG', 'Kingston'], ['MIK', 'Micklefield'], ['LRG', 'Lairg'], ['EPS', 'Epsom'], ['WBQ', 'Warrington Bank Quay'], ['CUW', 'Clunderwen'], ['DTG', 'Dinting'], ['ACT', 'Ascot'], ['BID', 'Bidston'], ['BWG', 'Bowling'], ['BMP', 'Brampton (Cumbria)'], ['CLT', 'Clacton-on-Sea'], ['BCH', 'Birchington-on-Sea'], ['BEF', 'Benfleet'], ['HMS', 'Helmsdale'], ['KEY', 'Keyham'], ['MOS', 'Moss Side'], ['PTK', 'Partick'], ['SGN', 'South Greenford'], ['SOR', 'Sole Street'], ['DBD', 'Denby Dale'], ['BSP', 'Brondesbury Park'], ['SEE', 'Southease'], ['CNR', 'Crianlarich'], ['CRT', 'Chartham'], ['SUG', 'Sugar Loaf'], ['HGM', 'Higham'], ['WNG', 'Waun-gron Park'], ['DUM', 'Dumbreck'], ['PMR', 'Peckham Rye'], ['CRB', 'Corbridge'], ['NFA', 'North Fambridge'], ['AGV', 'Abergavenny'], ['HAG', 'Hagley'], ['CEL', 'Chelford'], ['HGD', 'Hungerford'], ['BWN', 'Bloxwich North'], ['KVD', 'Kelvindale'], ['RUS', 'Ruswarp'], ['CLV', 'Claverdon'], ['RNH', 'Rainhill'], ['EWW', 'Ewell West'], ['HHY', 'Highbury & Islington'], ['APP', 'Appleby'], ['HKN', 'Hucknall'], ['MSN', 'Marsden'], ['TPC', 'Thorpe Culvert'], ['EWE', 'Ewell East'], ['GTN', 'Grangetown'], ['LEO', 'Leominster'], ['DOL', 'Dolau'], ['CUH', 'Curriehill'], ['KBK', 'Kents Bank'], ['DPS', 'Dublin Port (Stena)'], ['PAI', 'Pallion (T & W Metro)'], ['MCB', 'Moulsecoomb'], ['NMT', 'Needham Market'], ['WFI', 'Westerfield'], ['SCG', 'Stone Crossing'], ['STR', 'Stranraer'], ['ZWA', 'Waterloo Underground'], ['PIL', 'Pilning'], ['SWD', 'Swinderby'], ['MSK', 'Marske'], ['TRN', 'Troon'], ['WID', 'Widnes'], ['KMS', 'Kemsing'], ['STZ', 'St Peters (T & W Metro)'], ['ANF', 'Ashurst New Forest'], ['WTN', 'Whitton'], ['ANL', 'Anniesland'], ['SCS', 'Starcross'], ['FRB', 'Fairbourne'], ['STK', 'Stockton'], ['BEV', 'Beverley'], ['KKM', 'Kirkham & Wesham'], ['PDW', 'Paddock Wood'], ['CAN', 'Carnoustie'], ['STC', 'Strathcarron'], ['CUF', 'Cuffley'], ['MTP', 'Montpelier'], ['SWM', 'Swanscombe'], ['CBE', 'Canterbury East'], ['DMF', 'Dumfries'], ['HNT', 'Huntly'], ['LLT', 'Llanbister Road'], ['WAT', 'London Waterloo'], ['MEW', 'Maesteg (Ewenny Road)'], ['SUT', 'Sutton Coldfield'], ['LDS', 'Leeds'], ['BNM', 'Burnham'], ['BEL', 'Beauly'], ['HXM', 'Hoveton & Wroxham'], ['HDL', 'Headstone Lane'], ['LEY', 'Leyland'], ['PRE', 'Preston'], ['SNY', 'Sunnymeads'], ['RNF', 'Rainford'], ['EGN', 'Eastrington'], ['KGH', 'Kinghorn'], ['MAT', 'Matlock'], ['NCK', 'New Cumnock'], ['NWP', 'Newport (South Wales)'], ['QPW', 'Queens Park (London)'], ['MSD', 'Moorside'], ['WLM', 'Williamwood'], ['DWD', 'Dolwyddelan'], ['WTL', 'Whitland'], ['MPK', 'Mosspark'], ['MAU', 'Mauldeth Road'], ['HEX', 'Hexham'], ['CLI', 'Clifton'], ['SYD', 'Sydenham'], ['LAD', 'Ladywell'], ['CTM', 'Chatham'], ['SWY', 'Sway'], ['TRU', 'Truro'], ['DLY', 'Dalry'], ['PRP', 'Preston Park'], ['BPB', 'Blackpool Pleasure Beach'], ['LHO', 'Langho'], ['SPS', 'Stepps'], ['TOP', 'Topsham'], ['BIA', 'Bishop Auckland'], ['HTH', 'Handforth'], ['MRT', 'Moreton (Merseyside)'], ['MCH', 'March'], ['TDU', 'Tondu'], ['BCS', 'Bicester North'], ['NMP', 'Northampton'], ['ALP', 'Althorpe'], ['BSE', 'Bury St Edmunds'], ['PTR', 'Petersfield'], ['BUC', 'Buckenham'], ['KLY', 'Kenley'], ['ELW', 'Eltham'], ['WHA', 'Westenhanger'], ['WWL', 'Whitwell'], ['EDW', 'East Dulwich'], ['NRD', 'North Road'], ['BTE', 'Bitterne'], ['IMW', 'Imperial Wharf'], ['ANN', 'Annan'], ['BDN', 'Brading'], ['CES', 'Cressing'], ['KBW', 'Knebworth'], ['DAR', 'Darlington'], ['HWD', 'Hawarden'], ['TAD', 'Tadworth'], ['BAG', 'Bagshot'], ['ZHS', 'Kensington High St Underground'], ['SMD', 'Stamford'], ['BUD', 'Burneside'], ['DOT', 'Dunston'], ['ELS', 'Elstree & Borehamwood'], ['CHF', 'Church Fenton'], ['HAZ', 'Hazel Grove'], ['KMH', 'Kempston Hardwick'], ['SOF', 'South Woodham Ferrers'], ['NRW', 'Norwich'], ['AHS', 'Ashurst'], ['FZW', 'Fitzwilliam'], ['MIN', 'Milliken Park'], ['RUN', 'Runcorn'], ['WSL', 'Walsall'], ['OKM', 'Oakham'], ['WAT', 'London Waterloo'], ['AYP', 'Albany Park'], ['MST', 'Maesteg'], ['KNU', 'Knucklas'], ['LEI', 'Leicester'], ['WAT', 'London Waterloo'], ['WCR', 'Whitecraigs'], ['MRP', 'Moorthorpe'], ['SNH', 'St Helens Central'], ['CAO', 'Cannock'], ['RAI', 'Rainham (Kent)'], ['RKT', 'Ruskington'], ['YOK', 'Yoker'], ['BDT', 'Bridlington'], ['LDN', 'Llandanwg'], ['SHJ', 'St Helens Junction'], ['CHH', 'Christs Hospital'], ['CMF', 'Cromford'], ['HYR', 'Haydons Road'], ['LGN', 'Longton'], ['BXH', 'Bexleyheath'], ['CPM', 'Chippenham'], ['DFR', 'Drumfrochar'], ['NCO', 'Newcourt'], ['WET', 'Weeton'], ['EMD', 'East Midlands Parkway'], ['POP', 'Poppleton'], ['AYH', 'Aylesham'], ['ZUM', 'Upminster Underground'], ['CHD', 'Chesterfield'], ['HEZ', 'Heworth (T & W Metro)'], ['PRB', 'Prestbury'], ['GTR', 'Goostrey'], ['ACK', 'Acklington'], ['KNL', 'Kensal Green'], ['SAN', 'Sandown'], ['THL', 'Tile Hill'], ['SIP', 'Shipton'], ['SFA', 'Stratford International'], ['UPW', 'Upwey'], ['GIP', 'Gipsy Hill'], ['RUT', 'Rutherglen'], ['SES', 'South Elmsall'], ['TGM', 'Teignmouth'], ['ADS', 'Ardrossan Harbour'], ['BCG', 'Birchgrove'], ['RFD', 'Rochford'], ['PES', 'Pensarn'], ['BAI', 'Blairhill'], ['TLB', 'Talybont'], ['SVG', 'Stevenage'], ['WPE', 'Wapping'], ['BDG', 'Bridgeton'], ['THH', 'Thatto Heath'], ['ATB', 'Attenborough'], ['MTH', 'Motherwell'], ['WKM', 'Wokingham'], ['GMT', 'Grosmont'], ['ARL', 'Arlesey'], ['BGD', 'Bargoed'], ['REE', 'Reedham (Norfolk)'], ['HPA', 'Honor Oak Park'], ['NUN', 'Nuneaton'], ['TRM', 'Trimley'], ['WTY', 'Witley'], ['SWO', 'Snowdown'], ['MDB', 'Maidstone Barracks'], ['ENL', 'Enfield Lock'], ['MIJ', 'Mitcham Junction'], ['MDE', 'Maidstone East'], ['GOD', 'Godalming'], ['HGR', 'Hither Green'], ['SPO', 'Spondon'], ['WNT', 'Wandsworth Town'], ['ECR', 'East Croydon'], ['CLS', 'Chester-le-Street'], ['QYD', 'Quakers Yard'], ['WBC', 'Waterbeach'], ['NES', 'Neston'], ['PCN', 'Paisley Canal'], ['WSA', 'West Allerton'], ['SFI', 'Shawfair'], ['SLH', 'Sleights'], ['HTN', 'Hatton'], ['KIV', 'Kiveton Bridge'], ['RIS', 'Rishton'], ['DMS', 'Dormans'], ['LCN', 'Lincoln Central'], ['AYP', 'Albany Park'], ['ERI', 'Eridge'], ['WLC', 'Waltham Cross'], ['MPT', 'Morpeth'], ['MDW', 'Maidstone West'], ['WEL', 'Wellingborough'], ['HRY', 'Harringay Green Lanes'], ['MOB', 'Mobberley'], ['SWL', 'Swale'], ['ECC', 'Eccles'], ['HEW', 'Heworth'], ['LLH', 'Llangennech'], ['BKO', 'Brookwood'], ['GSY', 'Guiseley'], ['SBY', 'Selby'], ['WSB', 'Westbury'], ['ETC', 'Etchingham'], ['BLT', 'Blantyre'], ['SSD', 'Stansted Airport'], ['DOR', 'Dore'], ['NVR', 'Navigation Road'], ['CFF', 'Croftfoot'], ['CKN', 'Crewkerne'], ['GLT', 'Glenrothes with Thornton'], ['WTG', 'Watlington'], ['BAN', 'Banbury'], ['HYS', 'Hayes (Kent)'], ['BHR', 'Builth Road'], ['KND', 'Kingswood'], ['KNN', 'Kings Norton'], ['WOL', 'Wolverton'], ['WTO', 'Water Orton'], ['ADR', 'Airdrie'], ['LLC', 'Llandecwyn'], ['PKS', 'Parkstone (Dorset)'], ['GOM', 'Gomshall'], ['TYL', 'Tyndrum Lower'], ['BOP', 'Bowes Park'], ['HRY', 'Harringay Green Lanes'], ['HER', 'Hersham'], ['WRH', 'Worthing'], ['BON', 'Bolton'], ['BOA', 'Bradford-on-Avon'], ['CFH', 'Chafford Hundred'], ['UTY', 'Upper Tyndrum'], ['NAR', 'Narberth'], ['BDL', 'Birkdale'], ['HMT', 'Ham Street'], ['MKM', 'Melksham'], ['AUW', 'Ascott-under-Wychwood'], ['EAL', 'Ealing Broadway'], ['EAL', 'Ealing Broadway'], ['WTB', 'Whitby'], ['CST', 'London Cannon Street'], ['DWN', 'Darwen'], ['BLE', 'Bramley (West Yorkshire)'], ['AAP', 'Alexandra Palace'], ['NUF', 'Nutfield'], ['STG', 'Stirling'], ['HON', 'Honiton'], ['BPW', 'Bristol Parkway'], ['KIT', 'Kintbury'], ['RAD', 'Radley'], ['MCE', 'Metro Centre'], ['SNT', 'Stanlow & Thornton'], ['BYD', 'Barry Docks'], ['DAM', 'Dalmeny'], ['FIN', 'Finstock'], ['BMT', 'Bedminster'], ['HSL', 'Haslemere'], ['CET', 'Colchester Town'], ['HDG', 'Heald Green'], ['PNR', 'Penrith'], ['MHM', 'Merstham'], ['HSC', 'Hoscar'], ['SNO', 'St Neots'], ['BGM', 'Bellingham'], ['NTL', 'Netley'], ['HYH', 'Hythe'], ['RDC', 'Redditch'], ['LTK', 'Little Kimble'], ['FOD', 'Ford'], ['CLJ', 'Clapham Junction'], ['HON', 'Honiton'], ['CLJ', 'Clapham Junction'], ['PNW', 'Penge West'], ['WFJ', 'Watford Junction'], ['HCH', 'Holmes Chapel'], ['LVN', 'Littlehaven'], ['BTL', 'Batley'], ['ZET', 'Earl\\'s Court Underground'], ['WDL', 'Woodhall'], ['BLX', 'Bloxwich'], ['HLS', 'Hilsea'], ['MKT', 'Marks Tey'], ['OKE', 'Okehampton'], ['HWY', 'High Wycombe'], ['SYT', 'Somerleyton'], ['MRY', 'Maryport'], ['SDY', 'Sandy'], ['CLJ', 'Clapham Junction'], ['CEF', 'Chapel-en-le-Frith'], ['LTP', 'Littleport'], ['KPT', 'Kilpatrick'], ['WDD', 'Widdrington'], ['WHM', 'Whimple'], ['CIT', 'Chislehurst'], ['PFR', 'Pontefract Baghill'], ['BKC', 'Birkenhead Central'], ['HOY', 'Honley'], ['INC', 'Ince'], ['CLJ', 'Clapham Junction'], ['GRC', 'Great Chesterford'], ['IPS', 'Ipswich'], ['WCB', 'Westcombe Park'], ['CLJ', 'Clapham Junction'], ['LYP', 'Lymington Pier'], ['CTF', 'Catford'], ['CTE', 'Chatelherault'], ['FWY', 'Five Ways'], ['NDL', 'North Dulwich'], ['BWO', 'Bricket Wood'], ['BKN', 'Birkenhead North'], ['SOW', 'Sowerby Bridge'], ['BTY', 'Bentley (Hampshire)'], ['KLD', 'Kildale'], ['NQY', 'Newquay'], ['SCA', 'Scarborough'], ['BEG', 'Beltring'], ['BKP', 'Birkenhead Park'], ['CLJ', 'Clapham Junction'], ['GLO', 'Glossop'], ['GRH', 'Gartcosh'], ['TUT', 'Tutbury & Hatton'], ['BCE', 'Bracknell'], ['NNT', 'Nunthorpe'], ['ZNP', 'Newbury Park Underground'], ['SND', 'Sandhurst'], ['FSB', 'Fishbourne (West Sussex)'], ['SLW', 'Salwick'], ['DIG', 'Digby & Sowton'], ['EDG', 'Edge Hill'], ['INH', 'Invershin'], ['BTB', 'Barnetby'], ['SJN', 'St James (T & W Metro)'], ['SUY', 'Sudbury'], ['AIG', 'Aigburth'], ['ELR', 'Elsecar'], ['SGB', 'Smethwick Galton Bridge'], ['HYL', 'Hayle'], ['KEM', 'Kemble'], ['WIM', 'Wimbledon'], ['SAS', 'St Annes-on-the-Sea'], ['SHM', 'Sheringham'], ['WRL', 'Wetheral'], ['SUP', 'Sundridge Park'], ['AWM', 'Ashwell & Morden'], ['BUY', 'Burley Park'], ['ABA', 'Aberdare'], ['CRO', 'Croy'], ['DAT', 'Datchet'], ['LGS', 'Langside'], ['WDM', 'Windermere'], ['GMY', 'Goodmayes'], ['BDQ', 'Bradford Forster Square'], ['SOH', 'South Hampstead'], ['GPK', 'Grange Park'], ['EDP', 'Edinburgh Park'], ['NWB', 'North Wembley'], ['NWE', 'Newport (Essex)'], ['CYT', 'Cherry Tree'], ['HUY', 'Huyton'], ['SFN', 'Shifnal'], ['TOM', 'Tottenham Hale'], ['CDI', 'Crediton'], ['HUT', 'Hutton Cranswick'], ['ABW', 'Abbey Wood'], ['GDL', 'Godley'], ['RHD', 'Ribblehead'], ['TYP', 'Tynemouth (T & W Metro)'], ['CSO', 'Croston'], ['PHR', 'Penshurst'], ['LAC', 'Lancing'], ['SWS', 'South Wigston'], ['BUX', 'Buxton'], ['MLD', 'Mouldsworth'], ['FLE', 'Fleet'], ['MKR', 'Market Rasen'], ['LEG', 'Lea Green'], ['CMH', 'Cwmbach'], ['TMC', 'Templecombe'], ['TWI', 'Twickenham'], ['WEE', 'Weeley'], ['HID', 'Hall I\\' Th\\' Wood'], ['TTF', 'Thetford'], ['DLH', 'Doleham'], ['BTF', 'Bottesford'], ['JOR', 'Jordanhill'], ['TIL', 'Tilbury Town'], ['BMR', 'Bromborough Rake'], ['DPD', 'Dorking Deepdene'], ['BUT', 'Burton-on-Trent'], ['LEO', 'Leominster'], ['FRN', 'Fearn'], ['SPK', 'Sutton Parkway'], ['STL', 'Southall'], ['VXH', 'Vauxhall'], ['ALM', 'Alnmouth'], ['HMN', 'Homerton'], ['PNS', 'Penistone'], ['DFP', 'Dublin Ferryport'], ['SED', 'Shelford'], ['MLB', 'Millbrook (Bedfordshire)'], ['WWR', 'Wandsworth Road'], ['WBR', 'Whaley Bridge'], ['CNS', 'Conisbrough'], ['JHN', 'Johnstone'], ['LND', 'Longniddry'], ['STF', 'Stromeferry'], ['BCN', 'Branchton'], ['PET', 'Petts Wood'], ['RSG', 'Rose Grove'], ['SAM', 'Saltmarshe'], ['BNS', 'Barnes'], ['PKG', 'Penkridge'], ['SGB', 'Smethwick Galton Bridge'], ['MUF', 'Manchester United FC'], ['RHY', 'Rhymney'], ['AMR', 'Amersham'], ['KDB', 'Kidbrooke'], ['PLC', 'Pluckley'], ['CSM', 'Castleton Moor'], ['HWF', 'Heathrow Airport T4 (Bus)'], ['TAD', 'Tadworth'], ['GTY', 'Gatley'], ['HWX', 'Heathrow Airport T5 (Bus)'], ['BLK', 'Blackrod'], ['SLK', 'Silkstone Common'], ['BSB', 'Bleasby'], ['AGS', 'Argyle Street'], ['MUI', 'Muirend'], ['SMG', 'St Margarets (London)'], ['MAN', 'Manchester Piccadilly'], ['SEG', 'Selling'], ['PLN', 'Portlethen'], ['BSM', 'Branksome'], ['NLN', 'New Lane'], ['HTO', 'Hightown'], ['BYI', 'Barry Island'], ['HOL', 'Holton Heath'], ['SFL', 'Seaforth & Litherland'], ['SBR', 'Spean Bridge'], ['KGS', 'Kings Sutton'], ['LRB', 'London Road (Brighton)'], ['GSC', 'Gilshochill'], ['MCM', 'Morecambe'], ['STP', 'London St Pancras (Intl)'], ['FGT', 'Faygate'], ['ALD', 'Alderley Edge'], ['COH', 'Crowborough'], ['ANF', 'Ashurst New Forest'], ['OCK', 'Ockendon'], ['ASN', 'Addlestone'], ['CLL', 'Collington'], ['MOT', 'Motspur Park'], ['SDL', 'Sandhills'], ['KKB', 'Kirkby in Ashfield'], ['PAD', 'London Paddington'], ['WOB', 'Woburn Sands'], ['BNI', 'Barnes Bridge'], ['QPW', 'Queens Park (London)'], ['BNY', 'Barnsley'], ['BPN', 'Blackpool North'], ['KWD', 'Kirkwood'], ['SCH', 'Scotstounhill'], ['KNT', 'Kenton'], ['LHD', 'Leatherhead'], ['DRO', 'Dronfield'], ['MRD', 'Morchard Road'], ['CHU', 'Cheadle Hulme'], ['LIC', 'Lichfield City'], ['DSM', 'Darsham'], ['ENF', 'Enfield Town'], ['SSE', 'Shoreham-by-Sea'], ['LGF', 'Longfield'], ['LIP', 'Liphook'], ['ACC', 'Acton Central'], ['NHE', 'New Hythe'], ['GCH', 'Garelochhead'], ['GSN', 'Garston (Hertfordshire)'], ['WRY', 'Wraysbury'], ['RID', 'Ridgmont'], ['KNF', 'Knutsford'], ['STN', 'Stonehaven'], ['WHP', 'West Hampstead Thameslink'], ['DIS', 'Diss'], ['MLG', 'Mallaig'], ['REI', 'Reigate'], ['DNG', 'Dunton Green'], ['LUX', 'Luxulyan'], ['GFD', 'Greenford'], ['GNR', 'Green Road'], ['STH', 'Shepreth'], ['BXW', 'Boxhill & Westhumble'], ['DUD', 'Duddeston'], ['FER', 'Fernhill'], ['CHI', 'Chingford'], ['BKQ', 'Hamilton Square'], ['MUB', 'Musselburgh'], ['ULL', 'Ulleskelf'], ['CLP', 'Clapham High Street'], ['COW', 'Cowdenbeath'], ['GLH', 'Glasshoughton'], ['ATL', 'Attleborough'], ['BIN', 'Bingham'], ['LGO', 'Llangynllo'], ['LRB', 'London Road (Brighton)'], ['WKD', 'Walkden'], ['HRW', 'Harrow & Wealdstone'], ['URM', 'Urmston'], ['CUA', 'Culrain'], ['NBW', 'North Berwick'], ['DMC', 'Drumchapel'], ['EMP', 'Emerson Park'], ['HLE', 'Hillington East'], ['MGN', 'Marston Green'], ['UWL', 'Upper Warlingham'], ['LWM', 'Llantwit Major'], ['ZDE', 'Dagenham East Underground'], ['HIB', 'High Brooms'], ['TQY', 'Torquay'], ['LEU', 'Leuchars'], ['LST', 'London Liverpool Street'], ['ZTG', 'Turnham Green Underground'], ['CDY', 'Cartsdyke'], ['MTC', 'Mitcham Eastfields'], ['HVF', 'Haverfordwest'], ['CSW', 'Chestfield & Swalecliffe'], ['TIR', 'Tir-phil'], ['ERL', 'Earlestown'], ['BGL', 'Bugle'], ['HWM', 'Harlow Mill'], ['SYB', 'Stalybridge'], ['NOA', 'Newton-on-Ayr'], ['FRT', 'Frant'], ['GUI', 'Guide Bridge'], ['HLW', 'Hillington West'], ['MYT', 'Mytholmroyd'], ['BKM', 'Berkhamsted'], ['NEL', 'Nelson'], ['NLT', 'Northolt Park'], ['BES', 'Bescar Lane'], ['BNA', 'Burnage'], ['SRY', 'Shoeburyness'], ['MSR', 'Minster'], ['BNH', 'Barnehurst'], ['DUN', 'Dunbar'], ['LLG', 'Llangadog'], ['PIN', 'Pinhoe'], ['POR', 'Porth'], ['CTR', 'Chester'], ['MCK', 'Marne La Vallee'], ['BUO', 'Bursledon'], ['MDL', 'Middlewood'], ['RHM', 'Reedham (Surrey)'], ['WHD', 'West Hampstead'], ['BDH', 'Bedhampton'], ['ROB', 'Roby'], ['KBF', 'Kirkby-in-Furness'], ['RTR', 'Rochester'], ['STV', 'Stevenston'], ['TIP', 'Tipton'], ['ASB', 'Ardrossan South Beach'], ['DBR', 'Derby Road'], ['LMS', 'Leamington Spa'], ['FSK', 'Fiskerton'], ['HWI', 'Horwich Parkway'], ['WLI', 'Welling'], ['WGC', 'Welwyn Garden City'], ['SOU', 'Southampton Central'], ['RUE', 'Runcorn East'], ['FNH', 'Farnham'], ['SRI', 'Spring Road'], ['TAU', 'Taunton'], ['ALT', 'Altrincham'], ['WDS', 'Woodlesford'], ['LEL', 'Lelant'], ['MNR', 'Manor Road'], ['PPL', 'Pontypool & New Inn'], ['RDG', 'Reading'], ['WNR', 'Windsor & Eton Riverside'], ['SWT', 'Slaithwaite'], ['RCD', 'Rochdale'], ['CYP', 'Crystal Palace'], ['DDG', 'Dorridge'], ['KBX', 'Kirby Cross'], ['SBJ', 'Stourbridge Junction'], ['CRI', 'Cricklewood'], ['WDU', 'West Dulwich'], ['SNN', 'Swinton (Manchester)'], ['BRP', 'Brampton (Suffolk)'], ['COV', 'Coventry'], ['DGL', 'Dingle Road'], ['PYC', 'Pontyclun'], ['LNY', 'Langley'], ['GRP', 'Grove Park'], ['HOU', 'Hounslow'], ['SAE', 'Saltaire'], ['BEH', 'Bedworth'], ['SCY', 'South Croydon'], ['BCY', 'Brockley'], ['AVI', 'Avignon'], ['VIC', 'London Victoria'], ['BWD', 'Birchwood'], ['HWN', 'Harlow Town'], ['VIC', 'London Victoria'], ['FRO', 'Frome'], ['VIC', 'London Victoria'], ['AWT', 'Armathwaite'], ['CAT', 'Caterham'], ['COB', 'Cooden Beach'], ['WVH', 'Wolverhampton'], ['HME', 'Hamble'], ['AUG', 'Aughton Park'], ['BEX', 'Bexhill'], ['ACY', 'Abercynon'], ['CML', 'Carmyle'], ['PBR', 'Potters Bar'], ['TOL', 'Tolworth'], ['APN', 'Newcastle Airport'], ['ADN', 'Ardrossan Town'], ['GDP', 'Gidea Park'], ['SBJ', 'Stourbridge Junction'], ['WIJ', 'Willesden Junction'], ['SDM', 'Shieldmuir'], ['SEV', 'Sevenoaks'], ['FRM', 'Fareham'], ['HNA', 'Hinton Admiral'], ['MRN', 'Marden'], ['MIA', 'Manchester Airport'], ['SBT', 'Stourbridge Town'], ['MAI', 'Maidenhead'], ['BKH', 'Blackheath'], ['BYS', 'Braystones'], ['HGT', 'Harrogate'], ['BIL', 'Billingham'], ['STM', 'St Michaels'], ['BVD', 'Belvedere'], ['LTS', 'Lelant Saltings'], ['LHA', 'Loch Awe'], ['BAD', 'Banstead'], ['INT', 'Ingatestone'], ['MKC', 'Milton Keynes Central'], ['EDR', 'Edmonton Green'], ['BNV', 'Banavie'], ['BTP', 'Braintree Freeport'], ['ROC', 'Roche'], ['CHP', 'Chipstead'], ['FNW', 'Farnworth'], ['TAI', 'Tain'], ['GAL', 'Galashiels'], ['CHG', 'Charing'], ['RMD', 'Richmond'], ['MTN', 'Moreton (Dorset)'], ['COR', 'Corby'], ['SOI', 'Stow'], ['BLG', 'Bellgrove'], ['CNF', 'Carnforth'], ['PST', 'Prestonpans'], ['PKT', 'Park Street'], ['SKS', 'Stocksfield'], ['NRC', 'Newbury Racecourse'], ['PNY', 'Pen-y-bont'], ['EKL', 'East Kilbride'], ['SRU', 'South Ruislip'], ['CDU', 'Cam & Dursley'], ['BRV', 'Bournville'], ['WMS', 'Wemyss Bay'], ['UDD', 'Uddingston'], ['BHD', 'Brithdir'], ['MOR', 'Mortimer'], ['CUM', 'Culham'], ['SDH', 'Sudbury Hill Harrow'], ['STA', 'Stafford'], ['PRL', 'Prittlewell'], ['RDT', 'Radlett'], ['SHP', 'Shepperton'], ['CNP', 'Conway Park'], ['TLK', 'The Lakes'], ['BRX', 'Brixton'], ['MTB', 'Matlock Bath'], ['CLN', 'Chapeltown'], ['KYN', 'Keynsham'], ['NWA', 'North Walsham'], ['BYA', 'Berney Arms'], ['REC', 'Rectory Road'], ['RRB', 'Ryder Brow'], ['SUD', 'Sudbury & Harrow Road'], ['SMN', 'Southminster'], ['YAT', 'Yatton'], ['KSN', 'Kearsney'], ['PTF', 'Pantyffynnon'], ['SWN', 'Swinton (South Yorkshire)'], ['SRN', 'Strines'], ['SWA', 'Swansea'], ['TRR', 'Torre'], ['SSC', 'Seascale'], ['HOT', 'Henley-on-Thames'], ['MVL', 'Malvern Link'], ['ARR', 'Arram'], ['SLT', 'Saltcoats'], ['ANZ', 'Anerley'], ['FPK', 'Finsbury Park'], ['LAN', 'Lancaster'], ['THA', 'Thatcham'], ['BSC', 'Bescot Stadium'], ['MTO', 'Marton'], ['EGG', 'Eggesford'], ['KEH', 'Keith'], ['WCY', 'West Croydon'], ['BOD', 'Bodmin Parkway'], ['HOP', 'Hope (Derbyshire)'], ['HRW', 'Harrow & Wealdstone'], ['WTC', 'Whitchurch (Shropshire)'], ['CHX', 'London Charing Cross'], ['KIR', 'Kirkby'], ['WGA', 'Westgate-on-Sea'], ['WSM', 'Weston-super-Mare'], ['BKS', 'Bekesbourne'], ['AHT', 'Aldershot'], ['DFI', 'Duffield'], ['GIR', 'Girvan'], ['ZBB', 'Barbican Underground'], ['HPE', 'Hope (Flintshire)'], ['CLW', 'Chorleywood'], ['HHL', 'Heath High Level'], ['KKS', 'Kirk Sandall'], ['RDD', 'Riddlesdown'], ['RFY', 'Rock Ferry'], ['ABE', 'Aber'], ['HSK', 'Hassocks'], ['SHT', 'Shotton'], ['LVC', 'Liverpool Central'], ['AIN', 'Aintree'], ['HNG', 'Hengoed'], ['LIS', 'Liss'], ['ARM', 'Armadale'], ['FFA', 'Ffairfach'], ['HCB', 'Hackbridge'], ['LVC', 'Liverpool Central'], ['ELP', 'Ellesmere Port'], ['DYF', 'Dyffryn Ardudwy'], ['TYW', 'Tywyn'], ['CWN', 'Cowden'], ['EGH', 'Egham'], ['RET', 'Retford'], ['HAY', 'Hayes & Harlington'], ['SAT', 'South Acton'], ['PMT', 'Polmont'], ['HPQ', 'Harwich International'], ['WED', 'Wedgwood'], ['BIO', 'Baillieston'], ['WCH', 'Whitchurch (Hampshire)'], ['MNE', 'Manea'], ['SNF', 'Shenfield'], ['ROM', 'Romsey'], ['CHL', 'Chilworth'], ['CDN', 'Coulsdon Town'], ['TLS', 'Thorpe-le-Soken'], ['WRS', 'Wressle'], ['BDY', 'Bredbury'], ['THI', 'Thirsk'], ['WES', 'Westerton'], ['CPU', 'Capenhurst'], ['LRH', 'Larkhall'], ['OLD', 'Old Street'], ['DGT', 'Deansgate'], ['SEM', 'Seamer'], ['SVB', 'Severn Beach'], ['BMC', 'Bromley Cross'], ['SEC', 'Seaton Carew'], ['ZLW', 'Whitechapel'], ['SEE', 'Southease'], ['SOA', 'Southampton Airpt Parkway'], ['WDO', 'Waddon'], ['WTS', 'Whatstandwell'], ['LPY', 'Liverpool South Parkway'], ['HFN', 'Hertford North'], ['KGM', 'Kingham'], ['WFL', 'Wainfleet'], ['SKN', 'St Keyne Wishing Well Halt'], ['DPT', 'Devonport'], ['SOW', 'Sowerby Bridge'], ['WDU', 'West Dulwich'], ['BCB', 'Burscough Bridge'], ['HST', 'High Street'], ['LEM', 'Leyton Midland Road'], ['PYL', 'Pyle'], ['WRU', 'West Ruislip'], ['WYB', 'Weybridge'], ['TAB', 'Tame Bridge Parkway'], ['TRE', 'Trefforest Estate'], ['WYB', 'Weybridge'], ['HND', 'Hanborough'], ['WLW', 'Welwyn North'], ['BMO', 'Birmingham Moor Street'], ['BCJ', 'Burscough Junction'], ['DCW', 'Dorchester West'], ['LVJ', 'James Street'], ['RDF', 'Radcliffe (Nottinghamshire)'], ['CPY', 'Clapham (North Yorkshire)'], ['RMF', 'Romford'], ['SAV', 'Stratford-upon-Avon'], ['LHW', 'Lochwinnoch'], ['NOT', 'Nottingham'], ['CUD', 'Cuddington'], ['LLA', 'Llanaber'], ['SNE', 'Stone'], ['SHL', 'Shawlands'], ['FFD', 'Freshford'], ['SHF', 'Sheffield'], ['YRK', 'York'], ['CSD', 'Cobham & Stoke d\\'Abernon'], ['ENT', 'Entwistle'], ['PRN', 'Parton'], ['ROL', 'Rolleston'], ['BRH', 'Borth'], ['BCV', 'Bruce Grove'], ['SMR', 'Smethwick Rolfe Street'], ['ACN', 'Achnasheen'], ['KWB', 'Kew Bridge'], ['SAR', 'St Andrews Road'], ['ASF', 'Ashfield'], ['FLM', 'Flimby'], ['LBT', 'Larbert'], ['WOR', 'Worle'], ['CWL', 'Colwall'], ['EXC', 'Exeter Central'], ['NTB', 'Norton Bridge'], ['TWY', 'Twyford'], ['ROR', 'Rogerstone'], ['BDI', 'Bradford Interchange'], ['WNL', 'Whinhill'], ['BLA', 'Blair Atholl'], ['KML', 'Kemsley'], ['SDR', 'Saunderton'], ['GRK', 'Gourock'], ['VXH', 'Vauxhall'], ['FTW', 'Fort William'], ['LIT', 'Littlehampton'], ['SIV', 'St Ives'], ['BLD', 'Baildon'], ['GLM', 'Gillingham (Kent)'], ['SHS', 'Shotts'], ['UCK', 'Uckfield'], ['BTG', 'Barnt Green'], ['BOM', 'Bromborough'], ['ACH', 'Achnashellach'], ['UHA', 'Uphall'], ['VXH', 'Vauxhall'], ['DIN', 'Dingwall'], ['HDW', 'Hadley Wood'], ['SOB', 'Southbourne'], ['LEE', 'Lee'], ['QBR', 'Queenborough'], ['LOC', 'Lockerbie'], ['SMA', 'Small Heath'], ['WDB', 'Woodbridge'], ['HIR', 'Horton-in-Ribblesdale'], ['PON', 'Ponders End'], ['FRI', 'Frinton-on-Sea'], ['SAL', 'Salisbury'], ['SRH', 'Streatham Hill'], ['CRK', 'Chirk'], ['EXR', 'Essex Road'], ['HOK', 'Hook'], ['SML', 'Sea Mills'], ['HLY', 'Holytown'], ['NWD', 'Norwood Junction'], ['ASY', 'Ashley'], ['ESW', 'Elmswell'], ['HOH', 'Harrow-on-the-Hill'], ['AGR', 'Angel Road'], ['NSD', 'Newstead'], ['HUL', 'Hull'], ['HLL', 'Heath Low Level'], ['PBL', 'Parbold'], ['JOH', 'Johnston'], ['SMB', 'Smithy Bridge'], ['NSH', 'North Sheen'], ['UPL', 'Upholland'], ['BGE', 'Broad Green'], ['CBY', 'Charlbury'], ['WME', 'Woodmansterne'], ['LAR', 'Largs'], ['MMO', 'Melton Mowbray'], ['LIN', 'Linlithgow'], ['WDT', 'West Drayton'], ['HFE', 'Hertford East'], ['KET', 'Kettering'], ['PUL', 'Pulborough'], ['QRB', 'Queenstown Road Battersea'], ['WMB', 'Wembley Central'], ['BRG', 'Borough Green & Wrotham'], ['GEA', 'Gretna Green'], ['KPA', 'Kensington Olympia'], ['CIM', 'Cilmeri'], ['SWR', 'Stewartby'], ['CMO', 'Camelon'], ['GLQ', 'Glasgow Queen Street'], ['BSU', 'Brunstane'], ['IFI', 'Ifield'], ['ARN', 'Arnside'], ['FRW', 'Fairwater'], ['LKE', 'Lake'], ['CTL', 'Cattal'], ['DMH', 'Dilton Marsh'], ['WWD', 'Woolwich Dockyard'], ['BTS', 'Burntisland'], ['HSW', 'Heswall'], ['KEL', 'Kelvedon'], ['DBL', 'Dunblane'], ['NLR', 'North Llanrwst'], ['HUB', 'Hunmanby'], ['SAF', 'Salfords'], ['WNE', 'Wilnecote'], ['QPK', 'Queens Park (Glasgow)'], ['WTM', 'Witham'], ['AVP', 'Aylesbury Vale Parkway'], ['PTD', 'Pontarddulais'], ['RDG', 'Reading'], ['EXM', 'Exmouth'], ['SNW', 'Swanwick'], ['FCN', 'Falconwood'], ['GOO', 'Goole'], ['LBO', 'Loughborough'], ['HSB', 'Helsby'], ['SHD', 'Shildon'], ['TAY', 'Taynuilt'], ['SNS', 'Staines'], ['CBW', 'Canterbury West'], ['EGF', 'East Garforth'], ['AUR', 'Aberdour'], ['DKG', 'Dorking'], ['GAR', 'Garrowhill'], ['HUN', 'Huntingdon'], ['LLY', 'Llwynypia'], ['SAY', 'Swanley'], ['TTH', 'Thornton Heath'], ['LSK', 'Liskeard'], ['LSW', 'Leasowe'], ['PMP', 'Plumpton'], ['WKK', 'Wakefield Kirkgate'], ['RFY', 'Rock Ferry'], ['DDK', 'Dagenham Dock'], ['HPN', 'Hapton'], ['LNB', 'Llanbradach'], ['BAD', 'Banstead'], ['BIT', 'Bicester Village'], ['MBR', 'Middlesbrough'], ['AAT', 'Achanalt'], ['HIP', 'Highams Park'], ['SIN', 'Singer'], ['TYG', 'Tygwyn'], ['CUP', 'Cupar'], ['FKC', 'Folkestone Central'], ['SIL', 'Sileby'], ['ESM', 'Elsenham'], ['EPD', 'Epsom Downs'], ['HBP', 'Hornbeam Park'], ['HOZ', 'Howwood'], ['RFY', 'Rock Ferry'], ['MEP', 'Meopham'], ['SWG', 'Swaythling'], ['AVM', 'Aviemore'], ['BHK', 'Bush Hill Park'], ['PEA', 'Peartree'], ['WNN', 'Wennington'], ['AYL', 'Aylesford'], ['PIT', 'Pitlochry'], ['OVE', 'Overpool'], ['ZCO', 'Croxley Underground'], ['GYM', 'Great Yarmouth'], ['CPK', 'Carpenders Park'], ['GLC', 'Glasgow Central'], ['LAS', 'Llansamlet'], ['SPN', 'Spooner Row'], ['FKW', 'Folkestone West'], ['KBC', 'Kinbrace'], ['AND', 'Anderston'], ['ZCW', 'Canada Water'], ['DON', 'Doncaster'], ['EAR', 'Earley'], ['CTN', 'Charlton'], ['ZFD', 'Farringdon Underground'], ['SBF', 'St Budeaux Ferry Road'], ['PCD', 'Pencoed'], ['LBG', 'London Bridge'], ['MZH', 'Maze Hill'], ['WTI', 'Winnersh Triangle'], ['HPD', 'Harpenden'], ['SHT', 'Shotton'], ['LBG', 'London Bridge'], ['NRT', 'Nethertown'], ['LBG', 'London Bridge'], ['HMY', 'Hairmyres'], ['HHB', 'Heysham Port'], ['PSH', 'Pershore'], ['PAN', 'Pangbourne'], ['CLU', 'Carluke'], ['SOC', 'Southend Central'], ['MFF', 'Minffordd'], ['BRF', 'Brierfield'], ['COT', 'Cottingley'], ['PTB', 'Pentre-bach'], ['SKG', 'Skegness'], ['INS', 'Insch'], ['EXN', 'Exton'], ['LOO', 'Looe'], ['WWA', 'Woolwich Arsenal'], ['CLK', 'Clock House'], ['BPT', 'Bishopton'], ['BAS', 'Bere Alston'], ['LCS', 'Locheilside'], ['MEV', 'Merthyr Vale'], ['BDH', 'Bedhampton'], ['SDE', 'Shadwell'], ['STP', 'London St Pancras (Intl)'], ['WEH', 'West Ham'], ['HUP', 'Humphrey Park'], ['BTO', 'Betchworth'], ['EVE', 'Evesham'], ['SEF', 'Seaford'], ['ALR', 'Alresford'], ['HNL', 'Henley-in-Arden'], ['SRL', 'Shirley'], ['BFF', 'Blaenau Ffestiniog'], ['FNN', 'Farnborough North'], ['NLW', 'Newton-le-Willows'], ['YAL', 'Yalding'], ['BMH', 'Bournemouth'], ['LHM', 'Lealholm'], ['TVP', 'Tiverton Parkway'], ['BIW', 'Biggleswade'], ['WLS', 'Woolston'], ['BIP', 'Bishopstone'], ['EBV', 'Ebbw Vale Parkway'], ['NNG', 'Newark North Gate'], ['PHG', 'Penhelig'], ['MNG', 'Manningtree'], ['TAT', 'Tattenham Corner'], ['MEN', 'Menheniot'], ['FSB', 'Fishbourne (West Sussex)'], ['CNN', 'Canonbury'], ['HRO', 'Harold Wood'], ['BKJ', 'Beckenham Junction'], ['NFN', 'Nafferton'], ['BNO', 'Benton (T & W Metro)'], ['GRV', 'Gravesend'], ['NBY', 'Newbury'], ['SDC', 'Shoreditch High Street'], ['AXP', 'Alexandra Parade'], ['FXN', 'Foxton'], ['MTS', 'Montrose'], ['BTN', 'Brighton'], ['RDG', 'Reading'], ['CIR', 'Caledonian Rd & Barnsbury'], ['TAL', 'Talsarnau'], ['CWN', 'Cowden'], ['NLS', 'Nailsea & Backwell'], ['WNH', 'Warnham'], ['HWB', 'Hawarden Bridge'], ['LLN', 'Llandaf'], ['NRB', 'Norbury'], ['CSY', 'Coseley'], ['LLL', 'Llandeilo'], ['RIC', 'Rickmansworth'], ['WMB', 'Wembley Central'], ['ADV', 'Andover'], ['PFL', 'Purfleet'], ['SWE', 'Swineshead'], ['SHB', 'Shirebrook'], ['DFD', 'Dartford'], ['HAN', 'Hanwell'], ['NUT', 'Nutbourne'], ['MLW', 'Marlow'], ['WBL', 'Warblington'], ['RHI', 'Rhiwbina'], ['DEP', 'Deptford'], ['CUB', 'Cumbernauld'], ['HCN', 'Headcorn'], ['LAW', 'Landywood'], ['THC', 'Thurnscoe'], ['CNO', 'Chetnole'], ['COI', 'Crosshill'], ['SHW', 'Shawford'], ['BAJ', 'Baglan'], ['SUR', 'Surbiton'], ['AUK', 'Auchinleck'], ['KTL', 'Kirton Lindsey'], ['LID', 'Lidlington'], ['CDR', 'Cardross'], ['SYL', 'Syon Lane'], ['HYT', 'Hyde North'], ['LAI', 'Laindon'], ['HOX', 'Hoxton'], ['LEW', 'Lewisham'], ['BSK', 'Basingstoke'], ['CRW', 'Crawley'], ['GBS', 'Goring-by-Sea'], ['WHS', 'Whyteleafe South'], ['MHR', 'Market Harborough'], ['ERD', 'Erdington'], ['GST', 'Gathurst'], ['LGG', 'Langley Green'], ['OVR', 'Overton'], ['NEH', 'New Eltham'], ['SDN', 'St Denys'], ['MTG', 'Mottingham'], ['WTR', 'Wateringbury'], ['CDB', 'Cardiff Bay'], ['FNT', 'Feniton'], ['BLP', 'Belper'], ['HSG', 'Hathersage'], ['HVH', 'Hoek Van Holland'], ['DVN', 'Davenport'], ['LWH', 'Lawrence Hill'], ['WCK', 'Wick'], ['BMB', 'Bamber Bridge'], ['DRI', 'Drigg'], ['TWN', 'Town Green'], ['CHE', 'Cheam'], ['SAX', 'Saxmundham'], ['MAG', 'Maghull'], ['SBE', 'Starbeck'], ['MCN', 'Machynlleth'], ['CBC', 'Coatbridge Central'], ['BYL', 'Barry Links'], ['BEM', 'Bempton'], ['SFR', 'Shalford'], ['BIC', 'Billericay'], ['BTR', 'Braintree'], ['ISL', 'Isleworth'], ['HLN', 'Harlington'], ['SSM', 'Stocksmoor'], ['GMN', 'Great Missenden'], ['KNE', 'Kennett'], ['POO', 'Poole'], ['RNR', 'Roughton Road'], ['ILK', 'Ilkley'], ['PMH', 'Portsmouth Harbour'], ['RDA', 'Redland'], ['FRS', 'Forsinard'], ['HRN', 'Hornsey'], ['SLY', 'Selly Oak'], ['OXT', 'Oxted'], ['CBS', 'Coatbridge Sunnyside'], ['WMD', 'Wymondham'], ['TEY', 'Teynham'], ['BAV', 'Barrow Haven'], ['BYE', 'Bynea'], ['WKB', 'West Kilbride'], ['BCU', 'Brockenhurst'], ['AMT', 'Aldermaston'], ['LGB', 'Langbank'], ['MRF', 'Moorfields'], ['PMH', 'Portsmouth Harbour'], ['ROO', 'Roose'], ['KIL', 'Kildonan'], ['BHC', 'Balloch'], ['WIV', 'Wivenhoe'], ['BTT', 'Battersby'], ['CCT', 'Cathcart'], ['HRL', 'Harlech'], ['RGW', 'Ramsgreave & Wilpshire'], ['WVF', 'Wivelsfield'], ['SAJ', 'St Johns'], ['WDH', 'Woodhouse'], ['FOG', 'Forest Gate'], ['HTF', 'Hartford'], ['WNW', 'West Norwood'], ['CSG', 'Cressington'], ['SHU', 'Stonehouse'], ['WDN', 'Walsden'], ['SAC', 'St Albans'], ['WFF', 'Whifflet'], ['HOW', 'Howden'], ['MLY', 'Morley'], ['ASG', 'Alsager'], ['LOB', 'Longbridge'], ['WOM', 'Wombwell'], ['MSH', 'Mossley Hill'], ['ECP', 'Energlyn & Churchill Park'], ['EPH', 'Elephant & Castle'], ['RDW', 'Reading West'], ['EKB', 'Eskbank'], ['BRU', 'Bruton'], ['CME', 'Combe'], ['MIH', 'Mills Hill'], ['PPD', 'Pontypridd'], ['SAD', 'Sandwell & Dudley'], ['KGT', 'Kilgetty'], ['BRI', 'Bristol Temple Meads'], ['HOC', 'Hockley'], ['LBR', 'Llanbedr'], ['NSG', 'New Southgate'], ['DGC', 'Denham Golf Club'], ['PNM', 'Penmere'], ['MHS', 'Meadowhall'], ['PSL', 'Port Sunlight'], ['DWW', 'Dawlish Warren'], ['RTN', 'Renton'], ['BUJ', 'Burton Joyce'], ['HUR', 'Hurst Green'], ['BDK', 'Baldock'], ['LNY', 'Langley'], ['BSH', 'Bushey'], ['DOW', 'Downham Market'], ['KIN', 'Kingussie'], ['BLO', 'Blaydon'], ['DVY', 'Dovey Junction'], ['BWS', 'Barrow Upon Soar'], ['SGL', 'South Gyle'], ['WHT', 'Whitchurch (Glamorgan)'], ['ACB', 'Acton Bridge'], ['ZHA', 'Hammersmith Underground'], ['WRB', 'Wrabness'], ['NQU', 'North Queensferry'], ['TYC', 'Ty Croes'], ['ANC', 'Ancaster'], ['NBN', 'New Brighton'], ['HEC', 'Heckington'], ['QUI', 'Quintrell Downs'], ['WCX', 'Wembley Stadium'], ['LWT', 'Lowestoft'], ['RAN', 'Rannoch'], ['THU', 'Thurgarton'], ['CSK', 'Calstock'], ['MER', 'Merthyr Tydfil'], ['NEI', 'Neilston'], ['CBD', 'Conon Bridge'], ['DNO', 'Dunrobin Castle'], ['HUD', 'Huddersfield'], ['SKW', 'Stoke Newington'], ['ARG', 'Arisaig'], ['CNW', 'Conwy'], ['MNN', 'Menston'], ['PLE', 'Pollokshields East'], ['LLO', 'Llandrindod'], ['LAU', 'Laurencekirk'], ['MSL', 'Mossley'], ['SIE', 'Sherburn-in-Elmet'], ['CBH', 'Cambridge Heath'], ['KBN', 'Kilburn High Road'], ['SID', 'Sidcup'], ['FEL', 'Feltham'], ['CCC', 'Criccieth'], ['STO', 'South Tottenham'], ['WOO', 'Wool'], ['GRK', 'Gourock'], ['LLI', 'Llandybie'], ['AXM', 'Axminster'], ['WGV', 'Wargrave'], ['HSD', 'Hamstead'], ['PLW', 'Pollokshields West'], ['BRK', 'Berwick (Sussex)'], ['CTW', 'Church & Oswaldtwistle'], ['XIB', 'Bourg St Maurice'], ['SKI', 'Skipton'], ['BDM', 'Bedford'], ['PLM', 'Plumley'], ['YVJ', 'Yeovil Junction'], ['DEN', 'Dean'], ['DAM', 'Dalmeny'], ['WGN', 'Wigan North Western'], ['WRE', 'Wrenbury'], ['RYN', 'Roydon'], ['YVJ', 'Yeovil Junction'], ['ABH', 'Abererch'], ['UNI', 'University'], ['AMY', 'Amberley'], ['CSB', 'Carshalton Beeches'], ['EFF', 'Effingham Junction'], ['SVK', 'Seven Kings'], ['DEA', 'Deal'], ['WNP', 'Wanstead Park'], ['ALK', 'Aslockton'], ['ULV', 'Ulverston'], ['LIV', 'Liverpool Lime Street'], ['ABC', 'Altnabreac'], ['LAP', 'Lapford'], ['NIT', 'Nitshill'], ['RAM', 'Ramsgate'], ['KNO', 'Knottingley'], ['LIV', 'Liverpool Lime Street'], ['CSH', 'Carshalton'], ['BFE', 'Bere Ferrers'], ['AVY', 'Aberdovey'], ['CBK', 'Cranbrook (Devon)'], ['WLN', 'Wellington (Shropshire)'], ['CGN', 'Cogan'], ['ASC', 'Ashchurch for Tewkesbury'], ['AVF', 'Avoncliff'], ['CBP', 'Castle Bar Park'], ['GSL', 'Gunnislake'], ['HMC', 'Hampton Court'], ['PLY', 'Plymouth'], ['CLA', 'Clandon'], ['CNE', 'Colne'], ['NXG', 'New Cross Gate'], ['CIL', 'Chilham'], ['FLI', 'Flixton'], ['NWX', 'New Cross'], ['BMY', 'Bramley (Hampshire)'], ['CWS', 'Caersws'], ['BHO', 'Blackhorse Road'], ['CFT', 'Crofton Park'], ['GLS', 'Glaisdale'], ['WMI', 'Wildmill'], ['AST', 'Aston'], ['CDT', 'Caldicot'], ['ESD', 'Elmstead Woods'], ['KLN', 'Kings Lynn'], ['SLQ', 'St Leonards Warrior Square'], ['PNC', 'Penychain'], ['BUB', 'Burnley Barracks'], ['BNC', 'Burnley Central'], ['AXM', 'Axminster'], ['AXM', 'Axminster'], ['BGS', 'Bogston'], ['BAC', 'Bache'], ['HWW', 'How Wood'], ['BNG', 'Bangor (Gwynedd)'], ['BRM', 'Barmouth'], ['DNL', 'Dunlop'], ['EML', 'East Malling'], ['CMO', 'Camelon'], ['EDY', 'East Didsbury'], ['SPR', 'Springburn'], ['ELE', 'Elmers End'], ['WKI', 'West Kirby'], ['LBZ', 'Leighton Buzzard'], ['WES', 'Westerton'], ['LYD', 'Lydney'], ['PYT', 'Poynton'], ['RCC', 'Redcar Central'], ['CWE', 'Crowle'], ['KNA', 'Knaresborough'], ['RCE', 'Redcar East'], ['BUH', 'Brough'], ['DAN', 'Darnall'], ['WNF', 'Winchfield'], ['WKF', 'Wakefield Westgate'], ['PWY', 'Patchway'], ['DZY', 'Danzey'], ['FLD', 'Fauldhouse'], ['WPL', 'Worplesdon'], ['BSL', 'Beasdale'], ['KKD', 'Kirkdale'], ['EAG', 'Eaglescliffe'], ['CRM', 'Cramlington'], ['SIH', 'St Helier'], ['HBY', 'Hartlebury'], ['COA', 'Coatdyke'], ['CHW', 'Chalkwell'], ['RYS', 'Royston'], ['DVH', 'Dove Holes'], ['HEV', 'Hever'], ['SPA', 'Spalding'], ['BOG', 'Bognor Regis'], ['EUS', 'London Euston'], ['FRL', 'Fairlie'], ['EDB', 'Edinburgh'], ['MRR', 'Morar'], ['WSH', 'Wishaw'], ['CPW', 'Chepstow'], ['SUU', 'Sunbury'], ['HAP', 'Hatfield Peverel'], ['OUN', 'Oulton Broad North'], ['MIC', 'Micheldever'], ['WOF', 'Worcester Foregate Street'], ['WRX', 'Wrexham General'], ['OUS', 'Oulton Broad South'], ['CAK', 'Cark'], ['FRY', 'Ferriby'], ['FOH', 'Forest Hill'], ['STY', 'Stratford Parkway'], ['OLF', 'Oldfield Park'], ['WAL', 'Walton-on-Thames'], ['PTT', 'Patterton'], ['GLQ', 'Glasgow Queen Street'], ['EBA', 'Euxton Balshaw Lane'], ['HLM', 'Holmwood'], ['FAV', 'Faversham'], ['GOL', 'Golspie'], ['KKH', 'Kirkhill'], ['WSR', 'Woodsmoor'], ['CNL', 'Canley'], ['SPT', 'Stockport'], ['WBD', 'Whitley Bridge'], ['HIA', 'Hampton-in-Arden'], ['BLV', 'Belle Vue'], ['DMK', 'Denmark Hill'], ['DWL', 'Dawlish'], ['FLF', 'Flowery Field'], ['DGY', 'Deganwy'], ['SYS', 'Syston'], ['KKN', 'Kirknewton'], ['WBO', 'Wimbledon Chase'], ['ALB', 'Albrighton'], ['BEP', 'Bermuda Park (Nuneaton)'], ['BFN', 'Byfleet & New Haw'], ['SKM', 'Stoke Mandeville'], ['NEM', 'New Malden'], ['SER', 'St Erth'], ['GNL', 'Green Lane'], ['HEI', 'Heighington'], ['OMS', 'Ormskirk'], ['HBN', 'Hollingbourne'], ['COL', 'Colchester'], ['MES', 'Melton'], ['AHV', 'Ash Vale'], ['KRK', 'Kirkconnel'], ['BYN', 'Bryn'], ['CWC', 'Chappel & Wakes Colne'], ['BIK', 'Birkbeck'], ['SWM', 'Swanscombe'], ['AUD', 'Audley End'], ['BRE', 'Brentwood'], ['YOK', 'Yoker'], ['AHS', 'Ashurst'], ['GSW', 'Garswood'], ['SHU', 'Stonehouse'], ['SNR', 'Sanderstead'], ['BRC', 'Breich'], ['HDM', 'Haddenham & Thame Parkway'], ['BAH', 'Bank Hall'], ['PRR', 'Princes Risborough'], ['SYA', 'Styal'], ['GPO', 'Gospel Oak'], ['SLV', 'Silver Street'], ['FZP', 'Furze Platt'], ['MFA', 'Morfa Mawddach'], ['DLG', 'Dolgarrog'], ['CWB', 'Colwyn Bay'], ['HVN', 'Havenhouse'], ['LUT', 'Luton'], ['GIG', 'Giggleswick'], ['KGP', 'Kings Park'], ['RYH', 'Rye House'], ['GOR', 'Goring & Streatley'], ['HFD', 'Hereford'], ['BIG', 'Billingshurst'], ['STJ', 'Severn Tunnel Junction'], ['SAU', 'St Austell'], ['WHS', 'Whyteleafe South'], ['WST', 'Wood Street'], ['LED', 'Ledbury'], ['MRF', 'Moorfields'], ['OLF', 'Oldfield Park'], ['ATN', 'Atherton'], ['BRS', 'Berrylands'], ['WSB', 'Westbury'], ['CYS', 'Cathays'], ['CWD', 'Creswell'], ['LOS', 'Lostwithiel'], ['BHS', 'Brockholes'], ['THT', 'Thorntonhall'], ['DRG', 'Drayton Green'], ['ANS', 'Ainsdale'], ['DYP', 'Drayton Park'], ['KLY', 'Kenley'], ['LEH', 'Lea Hall'], ['LPR', 'Long Preston'], ['SVS', 'Seven Sisters'], ['WWW', 'Wootton Wawen'], ['SHI', 'Shiplake'], ['WML', 'Wilmslow'], ['EDL', 'Edale'], ['FLX', 'Felixstowe'], ['NBR', 'Narborough'], ['PFY', 'Poulton-le-Fylde'], ['PRP', 'Preston Park'], ['COE', 'Coombe Junction Halt'], ['SST', 'Stansted Mountfitchet'], ['WLD', 'West St Leonards'], ['PMW', 'Penmaenmawr'], ['YEO', 'Yeoford'], ['YVP', 'Yeovil Pen Mill'], ['GRF', 'Garforth'], ['MON', 'Monifieth'], ['NOR', 'Normanton'], ['COM', 'Commondale'], ['ZFD', 'Farringdon Underground'], ['ORR', 'Orrell'], ['LOW', 'Lowdham'], ['YVP', 'Yeovil Pen Mill'], ['HWF', 'Heathrow Airport T4 (Bus)'], ['LPG', 'Llanfairpwll'], ['LWR', 'Llanrwst'], ['CRN', 'Crowthorne'], ['JCH', 'James Cook'], ['LLS', 'Llanishen'], ['NCE', 'New Clee'], ['RAY', 'Raynes Park'], ['SAW', 'Sawbridgeworth'], ['WLO', 'Waterloo (Merseyside)'], ['ROE', 'Rotherhithe'], ['HNB', 'Herne Bay'], ['SHY', 'Shipley'], ['MTA', 'Mountain Ash'], ['SJP', 'St James\\' Park'], ['LYC', 'Lympstone Commando'], ['NWM', 'New Milton'], ['WIJ', 'Willesden Junction'], ['FLT', 'Flitwick'], ['BRA', 'Brora'], ['HYN', 'Hyndland'], ['RUF', 'Rufford'], ['PTA', 'Port Talbot Parkway'], ['SMH', 'Stamford Hill'], ['GVE', 'Garve'], ['HTE', 'Hatch End'], ['WSE', 'Winchelsea'], ['DLT', 'Dalton'], ['SPY', 'Shepley'], ['CFL', 'Crossflatts'], ['LIH', 'Leigh (Kent)'], ['LYM', 'Lympstone Village'], ['SOL', 'Solihull'], ['CTH', 'Chadwell Heath'], ['FOK', 'Four Oaks'], ['TRI', 'Tring'], ['BLB', 'Battlesbridge'], ['FAL', 'Falmouth Docks'], ['HPL', 'Hartlepool'], ['OXN', 'Oxenholme Lake District'], ['OTF', 'Otford'], ['OUT', 'Outwood'], ['WLE', 'Whittlesea'], ['SBV', 'St Budeaux Victoria Road'], ['HHY', 'Highbury & Islington'], ['CKS', 'Clarkston'], ['EDN', 'Eden Park'], ['SDP', 'Sandplace'], ['AFK', 'Ashford International'], ['DLM', 'Delamere'], ['HHY', 'Highbury & Islington'], ['INK', 'Inverkeithing'], ['SAA', 'St Albans Abbey'], ['HLB', 'Hildenborough'], ['KTH', 'Kent House'], ['BUL', 'Butlers Lane'], ['AML', 'Acton Main Line'], ['FMT', 'Falmouth Town'], ['BAM', 'Bamford'], ['FFD', 'Freshford'], ['WAT', 'London Waterloo'], ['SHN', 'Shanklin'], ['CKT', 'Crookston'], ['BKL', 'Bickley'], ['DND', 'Dinsdale'], ['NCL', 'Newcastle'], ['WLV', 'Wallasey Village'], ['THS', 'Thurso'], ['ZBS', 'Baker Street Underground'], ['WAE', 'London Waterloo East'], ['TIS', 'Tisbury'], ['BXS', 'Brussels Midi'], ['LEA', 'Leagrave'], ['BAB', 'Balcombe'], ['NCZ', 'Newcastle Central Metro'], ['ASH', 'Ash'], ['RDB', 'Redbridge'], ['BBK', 'Bilbrook'], ['BUW', 'Burley-in-Wharfedale'], ['GBD', 'Gilberdyke'], ['NSB', 'Normans Bay'], ['RGT', 'Rugeley Town'], ['SEH', 'Shoreham (Kent)'], ['BSH', 'Bushey'], ['ELG', 'Elgin'], ['FTN', 'Fratton'], ['EBN', 'Eastbourne'], ['FTM', 'Fort Matilda'], ['MBK', 'Millbrook (Hampshire)'], ['POT', 'Pontefract Tanshelf'], ['WGW', 'Wigan Wallgate'], ['SUO', 'Sutton (Surrey)'], ['AYS', 'Aylesbury'], ['LVM', 'Levenshulme'], ['WAD', 'Wadhurst'], ['PGN', 'Paignton'], ['BOC', 'Bootle'], ['BUG', 'Burgess Hill'], ['AHD', 'Ashtead'], ['OKL', 'Oakleigh Park'], ['LTT', 'Little Sutton'], ['BAU', 'Barton-on-Humber'], ['GWE', 'Gwersyllt'], ['PMH', 'Portsmouth Harbour'], ['SBU', 'Southbury'], ['CDF', 'Cardiff Central'], ['DTW', 'Droitwich Spa'], ['FST', 'London Fenchurch Street'], ['CEY', 'Cononley'], ['HML', 'Hemel Hempstead'], ['OKN', 'Oakengates'], ['CGD', 'Craigendoran'], ['PEM', 'Pemberton'], ['NHL', 'New Holland'], ['SNP', 'Stanhope'], ['EST', 'Easterhouse'], ['GRA', 'Grantham'], ['TAP', 'Taplow'], ['SUC', 'Sutton Common'], ['GNH', 'Greenhithe for Bluewater'], ['NCT', 'Newark Castle'], ['BTD', 'Bolton-on-Dearne'], ['HNC', 'Hamilton Central'], ['ECL', 'Eccleston Park'], ['OLY', 'Ockley'], ['PLD', 'Portslade'], ['BBG', 'Bishopbriggs'], ['COP', 'Copplestone'], ['SDB', 'Sandbach'], ['COV', 'Coventry'], ['EXD', 'Exeter St Davids'], ['LTH', 'Llanhilleth'], ['SQH', 'Sanquhar'], ['ERA', 'Eastham Rake'], ['BSK', 'Basingstoke'], ['MIR', 'Mirfield'], ['PFM', 'Pontefract Monkhill'], ['GUN', 'Gunnersbury'], ['WLG', 'Wallasey Grove Road'], ['PBO', 'Peterborough'], ['PLU', 'Plumstead'], ['CDQ', 'Cardiff Queen Street'], ['BXB', 'Broxbourne'], ['HNW', 'Hamilton West'], ['EXT', 'Exeter St Thomas'], ['WLT', 'Wallington'], ['HNX', 'Hunts Cross'], ['HMP', 'Hampton'], ['ALF', 'Alfreton'], ['BAA', 'Barnham'], ['SEA', 'Seaham'], ['WBY', 'West Byfleet'], ['BGL', 'Bugle'], ['WRK', 'Worksop'], ['WWI', 'West Wickham'], ['FGT', 'Faygate'], ['STW', 'Strawberry Hill'], ['NFL', 'Northfleet'], ['BUE', 'Bures'], ['NMP', 'Northampton'], ['CBL', 'Cambuslang'], ['GFN', 'Giffnock'], ['INV', 'Inverness'], ['WGR', 'Woodgrange Park'], ['STS', 'Saltash'], ['STP', 'London St Pancras (Intl)'], ['SUN', 'Sunderland'], ['SDF', 'Saundersfoot'], ['FNV', 'Furness Vale'], ['YAE', 'Yate'], ['MCV', 'Manchester Victoria'], ['RED', 'Redruth'], ['SNG', 'Sunningdale'], ['PDG', 'Padgate'], ['HTR', 'Heathrow Central Bus Stn'], ['BHI', 'Birmingham International'], ['CWH', 'Crews Hill'], ['NTA', 'Newton Abbot'], ['SFA', 'Stratford International'], ['WOH', 'Woldingham'], ['SXY', 'Saxilby'], ['GKC', 'Greenock Central'], ['PTC', 'Portchester'], ['GLD', 'Guildford'], ['BNF', 'Briton Ferry'], ['DAG', 'Dalgety Bay'], ['SOO', 'Strood'], ['DLS', 'Dalston'], ['LFD', 'Lingfield'], ['BBN', 'Blackburn'], ['CGM', 'Cottingham'], ['RVB', 'Ravensbourne'], ['AIR', 'Airbles'], ['BRR', 'Barrhead'], ['CLH', 'Clitheroe'], ['MRM', 'Manors (T & W Metro)'], ['GMT', 'Grosmont'], ['DHM', 'Durham'], ['PAR', 'Par'], ['IVY', 'Ivybridge'], ['LVN', 'Littlehaven'], ['GKW', 'Greenock West'], ['HNK', 'Hinckley'], ['KMK', 'Kilmarnock'], ['RMD', 'Richmond'], ['SIC', 'Silecroft'], ['HAD', 'Haddiscoe'], ['DNM', 'Denham'], ['OXS', 'Oxshott'], ['SLB', 'Saltburn'], ['DNT', 'Dent'], ['WHY', 'Whyteleafe'], ['CRG', 'Cross Gates'], ['LCG', 'Lochgelly'], ['BHG', 'Bathgate'], ['TNF', 'Tonfanau'], ['MAL', 'Malden Manor'], ['NUT', 'Nutbourne'], ['NWX', 'New Cross'], ['TON', 'Tonbridge'], ['TRO', 'Trowbridge'], ['WKG', 'Workington'], ['BSI', 'Balmossie'], ['SMK', 'Stowmarket'], ['LGD', 'Lingwood'], ['FBY', 'Formby'], ['NNP', 'Ninian Park'], ['ADM', 'Adisham'], ['GRL', 'Greenfaulds'], ['RLN', 'Rowlands Castle'], ['AMF', 'Ammanford'], ['KMP', 'Kempton Park'], ['SNL', 'Stoneleigh'], ['BWB', 'Bow Brickhill'], ['ABY', 'Ashburys'], ['BRY', 'Barry'], ['MYL', 'Maryland'], ['BBL', 'Bat & Ball'], ['PUT', 'Putney'], ['CAA', 'Coventry Arena'], ['HMD', 'Hampden Park'], ['GYP', 'Gypsy Lane'], ['CMY', 'Crossmyloof'], ['DUL', 'Dullingham'], ['WNM', 'Weston Milton'], ['AFV', 'Ansdell & Fairhaven'], ['SYH', 'Sydenham Hill'], ['GTW', 'Gatwick Airport'], ['HYK', 'Hoylake'], ['MIS', 'Mistley'], ['PPK', 'Possilpark & Parkhouse'], ['WYM', 'Wylam'], ['MLM', 'Millom'], ['WAV', 'Wavertree Tech Park'], ['LAM', 'Lamphey'], ['CCH', 'Chichester'], ['MLT', 'Malton'], ['SGM', 'St Germans'], ['WND', 'Wendover'], ['HAF', 'Heathrow Airport T4'], ['THE', 'Theale'], ['ADL', 'Adlington (Lancashire)'], ['HWV', 'Heathrow Airport T5'], ['PLK', 'Plockton'], ['HWC', 'Harwich Town'], ['CWU', 'Crowhurst'], ['CHK', 'Chiswick'], ['HEN', 'Hendon'], ['DRU', 'Drumgelloch'], ['HAB', 'Habrough'], ['LVT', 'Lisvane & Thornhill'], ['TOK', 'Three Oaks'], ['SVR', 'Silverdale'], ['HEL', 'Hensall'], ['SON', 'Steeton & Silsden'], ['WIC', 'Wickford'], ['NAN', 'Nantwich'], ['LUD', 'Ludlow'], ['AFS', 'Ashford (Surrey)'], ['SGH', 'South Gosforth (T & W Metro)'], ['WYL', 'Wylde Green'], ['RDH', 'Redhill'], ['RNM', 'Rainham (Essex)'], ['MIF', 'Millfield (T & W Metro)'], ['WIN', 'Winchester'], ['LLR', 'Llanharan'], ['NET', 'Netherfield'], ['BSN', 'Boston'], ['GRN', 'Grindleford'], ['APB', 'Appley Bridge'], ['PYN', 'Penryn'], ['SRR', 'Sarn'], ['BND', 'Brandon'], ['DLW', 'Dalwhinnie'], ['BIB', 'Bishops Lydeard'], ['CUX', 'Cuxton'], ['PRS', 'Prees'], ['CLC', 'Castle Cary'], ['SCF', 'Stechford'], ['CLD', 'Chelsfield'], ['RIL', 'Rice Lane'], ['TBY', 'Thornaby'], ['LPY', 'Liverpool South Parkway'], ['CRV', 'Craven Arms'], ['WMA', 'West Malling'], ['DTN', 'Denton'], ['DOC', 'Dockyard'], ['DCH', 'Dorchester South'], ['NXG', 'New Cross Gate'], ['CDS', 'Coulsdon South'], ['LLF', 'Llanfairfechan'], ['SLL', 'Stallingborough'], ['CDO', 'Cardonald'], ['HAT', 'Hatfield'], ['RDN', 'Reddish North'], ['WOS', 'Worcester Shrub Hill'], ['HAV', 'Havant'], ['SNA', 'Sandal & Agbrigg'], ['MIM', 'Moreton-in-Marsh'], ['ART', 'Arrochar & Tarbet'], ['OBN', 'Oban'], ['RDS', 'Reddish South'], ['TOO', 'Tooting'], ['WMC', 'Wilmcote'], ['SIA', 'Southend Airport'], ['EBT', 'Edenbridge Town'], ['PLG', 'Polegate'], ['BSW', 'Birmingham Snow Hill'], ['GRB', 'Great Bentley'], ['HHB', 'Heysham Port'], ['SNK', 'Sankey for Penketh'], ['BXD', 'Buxted'], ['ASK', 'Askam'], ['CFB', 'Catford Bridge'], ['GMG', 'Garth (Mid Glamorgan)'], ['NCM', 'North Camp'], ['APF', 'Appleford'], ['EWR', 'East Worthing'], ['WON', 'Walton-on-the-Naze'], ['ROW', 'Rowley Regis'], ['WSU', 'West Sutton'], ['BGG', 'Brigg'], ['EBD', 'Ebbsfleet International'], ['ZEL', 'Elephant & Castle Underground'], ['PHR', 'Penshurst'], ['MRB', 'Manorbier'], ['SPH', 'Shepherds Well'], ['STD', 'Stroud'], ['TGS', 'Ty Glas'], ['BCF', 'Beaconsfield'], ['HDF', 'Hadfield'], ['CDD', 'Cardenden'], ['LTL', 'Littleborough'], ['CHR', 'Christchurch'], ['MFT', 'Mansfield'], ['PWE', 'Pollokshaws East'], ['LPW', 'Lapworth'], ['BNE', 'Bourne End'], ['CRA', 'Cradley Heath'], ['CHO', 'Cholsey'], ['WRM', 'Wareham'], ['CSR', 'Chassen Road'], ['SEN', 'Shenstone'], ['BOE', 'Botley'], ['ANG', 'Angmering'], ['DVC', 'Dovercourt'], ['PMG', 'Porthmadog Harbour (Bus)'], ['ORN', 'Old Roan'], ['NGT', 'Newington'], ['KNI', 'Knighton'], ['GVH', 'Gravelly Hill'], ['OXF', 'Oxford'], ['CKY', 'Crosskeys'], ['BLL', 'Bardon Mill'], ['FGH', 'Fishguard Harbour'], ['LYE', 'Lye'], ['CLR', 'Clarbeston Road'], ['HBD', 'Hebden Bridge'], ['IGD', 'Invergordon'], ['YNW', 'Ynyswen'], ['PWW', 'Pollokshaws West'], ['RMB', 'Roman Bridge'], ['GRT', 'Grateley'], ['AGT', 'Aldrington'], ['CED', 'Cheddington'], ['RVN', 'Ravensthorpe'], ['KEN', 'Kendal'], ['MAR', 'Margate'], ['PSE', 'Pitsea'], ['CTK', 'City Thameslink'], ['BAT', 'Battle'], ['HEV', 'Hever'], ['WAS', 'Watton-at-Stone'], ['CLY', 'Chinley'], ['HES', 'Hessle'], ['UPH', 'Upper Halliford'], ['WNS', 'Winnersh'], ['AON', 'Alton'], ['LGK', 'Longbeck'], ['SHC', 'Streethouse'], ['EMS', 'Emsworth'], ['SYH', 'Sydenham Hill'], ['BAK', 'Battersea Park'], ['GLQ', 'Glasgow Queen Street'], ['BKJ', 'Beckenham Junction'], ['UMB', 'Umberleigh'], ['CMN', 'Carmarthen'], ['SHH', 'Shirehampton'], ['MAX', 'Maxwell Park'], ['HGY', 'Harringay'], ['AVF', 'Avoncliff'], ['BYK', 'Bentley (South Yorkshire)'], ['GER', 'Gerrards Cross'], ['HLR', 'Hall Road'], ['HNF', 'Hednesford'], ['FRD', 'Frodsham'], ['KNR', 'Kensal Rise'], ['BCC', 'Beccles'], ['HGN', 'Hough Green'], ['BKW', 'Berkswell'], ['EBR', 'Edenbridge'], ['BKT', 'Blake Street'], ['CEH', 'Coleshill Parkway'], ['LEN', 'Lenham'], ['BEC', 'Beckenham Hill'], ['FNY', 'Finchley Road & Frognal'], ['LTM', 'Lytham'], ['BKJ', 'Beckenham Junction'], ['KDG', 'Kidsgrove'], ['IGD', 'Invergordon'], ['CPH', 'Caerphilly'], ['APS', 'Apsley'], ['HTY', 'Hattersley'], ['SAL', 'Salisbury'], ['BNW', 'Bootle New Strand'], ['SOB', 'Southbourne'], ['BTH', 'Bath Spa'], ['DFE', 'Dunfermline Town'], ['SLS', 'Shettleston'], ['ELY', 'Ely'], ['BMF', 'Broomfleet'], ['NVH', 'Newhaven Harbour'], ['LCL', 'Lochailort'], ['PMD', 'Pembroke Dock'], ['WAR', 'Ware'], ['BFD', 'Brentford'], ['GLZ', 'Glazebrook'], ['HSY', 'Horsley'], ['SPI', 'Spital'], ['SHZ', 'South Hylton (T & W Metro)'], ['MOO', 'Muir of Ord'], ['NHD', 'Nunhead'], ['BKR', 'Blackridge'], ['IRL', 'Irlam'], ['NVN', 'Newhaven Town'], ['WRN', 'West Runton'], ['HDB', 'Haydon Bridge'], ['EAD', 'Earlsfield'], ['RDM', 'Riding Mill'], ['WMR', 'Widney Manor'], ['BPK', 'Brookmans Park'], ['WLF', 'Whittlesford Parkway'], ['GDN', 'Godstone'], ['TFC', 'Telford Central'], ['SHE', 'Sherborne'], ['GNB', 'Gainsborough Central'], ['BOT', 'Bootle Oriel Road'], ['EGR', 'East Grinstead'], ['LNK', 'Lanark'], ['NEG', 'Newtongrange'], ['SAL', 'Salisbury'], ['CFR', 'Chandlers Ford'], ['LGM', 'Langley Mill'], ['GSD', 'Garsdale'], ['LAG', 'Langwith-Whaley Thorns'], ['BNL', 'Barnhill'], ['IVR', 'Iver'], ['CNY', 'Cantley'], ['HGS', 'Hastings'], ['BEY', 'Ben Rhydding'], ['BMD', 'Brimsdown'], ['ARB', 'Arbroath'], ['BLN', 'Blundellsands & Crosby'], ['MSS', 'Moses Gate'], ['DST', 'Duke Street'], ['HYW', 'Hinchley Wood'], ['AYR', 'Ayr'], ['SRO', 'Shireoaks'], ['CAR', 'Carlisle'], ['DSY', 'Daisy Hill'], ['RGL', 'Rugeley Trent Valley'], ['GFF', 'Gilfach Fargoed'], ['WAF', 'Wallyford'], ['INR', 'Inverurie'], ['SBK', 'South Bank'], ['ELO', 'Elton & Orston'], ['SPB', 'Shepherds Bush'], ['STE', 'Streatham'], ['CYB', 'Cefn-y-Bedd'], ['HDY', 'Headingley'], ['HCT', 'Huncoat'], ['DYC', 'Dyce'], ['HYD', 'Heyford'], ['PRH', 'Penrhyndeudraeth'], ['SET', 'Settle'], ['WFH', 'Watford High Street'], ['DLR', 'Dalreoch'], ['BKD', 'Blakedown'], ['PTM', 'Porthmadog'], ['ORP', 'Orpington'], ['GBL', 'Gainsborough Lea Road'], ['SCU', 'Scunthorpe'], ['PTH', 'Perth'], ['TAM', 'Tamworth'], ['TRB', 'Treherbert'], ['BXY', 'Bexley'], ['TRY', 'Treorchy'], ['HRS', 'Horsforth'], ['SHV', 'Southsea Hoverport (Bus)'], ['SUM', 'Summerston'], ['WFJ', 'Watford Junction'], ['FYS', 'Ferryside'], ['NUM', 'Northumberland Park'], ['SVL', 'Staveley'], ['CYK', 'Clydebank'], ['HDN', 'Harlesden'], ['PLS', 'Pleasington'], ['TLC', 'Tal-y-Cafn'], ['WAM', 'Walmer'], ['BMG', 'Barming'], ['IFD', 'Ilford'], ['GTA', 'Great Ayton'], ['NBC', 'New Beckenham'], ['LUD', 'Ludlow'], ['FNR', 'Farningham Road'], ['CFN', 'Clifton Down'], ['HAC', 'Hackney Downs'], ['PGM', 'Pengam'], ['RLG', 'Rayleigh'], ['BKG', 'Barking'], ['BLM', 'Belmont'], ['NTC', 'Newton St Cyres'], ['RYE', 'Rye'], ['DBG', 'Mottisfont & Dunbridge'], ['NWI', 'Northwich'], ['PSC', 'Prescot'], ['DKD', 'Dunkeld & Birnam'], ['AGL', 'Abergele & Pensarn'], ['CRF', 'Carfin'], ['SOM', 'South Milford'], ['CRY', 'Crayford'], ['LIU', 'Lille Europe'], ['GLF', 'Glenfinnan'], ['SWI', 'Swindon'], ['SCR', 'St Columb Road'], ['TEO', 'Theobalds Grove'], ['BHM', 'Birmingham New Street'], ['BML', 'Bramhall'], ['WIJ', 'Willesden Junction'], ['COS', 'Cosford'], ['ACG', 'Acocks Green'], ['DVP', 'Dover Priory'], ['MOG', 'Moorgate'], ['ROS', 'Rosyth'], ['WAO', 'Walton (Merseyside)'], ['GNH', 'Greenhithe for Bluewater'], ['RWC', 'Rawcliffe'], ['LES', 'Leigh-on-Sea'], ['HLI', 'Healing'], ['WEY', 'Weymouth'], ['AFK', 'Ashford International'], ['HON', 'Honiton'], ['RCA', 'Risca & Pontymister'], ['BIY', 'Bingley'], ['FOR', 'Forres'], ['KLM', 'Kilmaurs'], ['BOR', 'Bodorgan'], ['BSS', 'Barassie'], ['PUR', 'Purley'], ['MAC', 'Macclesfield'], ['RBR', 'Robertsbridge'], ['HHE', 'Haywards Heath'], ['ALN', 'Althorne'], ['GBK', 'Greenbank'], ['BMV', 'Bromsgrove'], ['GTO', 'Gorton'], ['PMB', 'Pembroke'], ['SKE', 'Skewen'], ['CAU', 'Causeland'], ['PEN', 'Penarth'], ['UPT', 'Upton'], ['BMN', 'Bromley North'], ['ZTH', 'Tower Hill Underground'], ['KYL', 'Kyle of Lochalsh'], ['TTN', 'Totton'], ['HWF', 'Heathrow Airport T4 (Bus)'], ['BMS', 'Bromley South'], ['ASS', 'Alness'], ['SSS', 'Sheerness-on-Sea'], ['CAG', 'Carrbridge'], ['GTH', 'Garth (Powys)'], ['LOF', 'London Fields'], ['BIS', 'Bishops Stortford'], ['BRW', 'Brunswick'], ['CHH', 'Christs Hospital'], ['HHD', 'Holyhead'], ['MFL', 'Mount Florida'], ['DAK', 'Dalmarnock'], ['WSW', 'Wandsworth Common'], ['MDN', 'Maiden Newton'], ['DFL', 'Dunfermline Queen Margaret'], ['IRV', 'Irvine'], ['WHN', 'Whiston'], ['SBS', 'St Bees'], ['PKG', 'Penkridge'], ['SOU', 'Southampton Central'], ['COY', 'Coryton'], ['GGJ', 'Georgemas Junction'], ['SLR', 'Sleaford'], ['DKT', 'Dorking West'], ['SQU', 'Squires Gate'], ['CMD', 'Camden Road'], ['BSO', 'Basildon'], ['CBR', 'Cooksbridge'], ['BYM', 'Burnley Manchester Road'], ['MLF', 'Milford (Surrey)'], ['RYR', 'Ryde St Johns Road'], ['TEY', 'Teynham'], ['TOT', 'Totnes'], ['FRF', 'Fairfield'], ['PUO', 'Purley Oaks'], ['GNF', 'Greenfield'], ['GRY', 'Grays'], ['BGH', 'Brighouse'], ['FKG', 'Falkirk Grahamston'], ['HKH', 'Hawkhead'], ['PYP', 'Pont-y-Pant'], ['FKK', 'Falkirk High'], ['SOV', 'Southend Victoria'], ['MEY', 'Merryton']]\n);\n\nfunction findStation (id) {\n const wanted = id.toUpperCase();\n const station = sMap.get(wanted);\n console.log(station);\n\n return station;\n}\n\nfunction searchStation(str) {\n const workArray = [];\n\n const searchAbbr = (str.length <= 3);\n const searchLong = (str.length >= 3);\n\n // const searchReg = /(dbe)/i;\n const searchReg = new RegExp(`(${str})`, 'gi');\n \n sMap.forEach((value, key) => {\n let out;\n if (searchAbbr && searchReg.test(key)) \n out = [key, value];\n \n if (typeof out === 'undefined' && searchLong && searchReg.test(value))\n out = [key, value];\n\n if(typeof out === 'object') workArray.push(out);\n });\n \n return workArray.slice(0, 5);\n}\n\nmodule.exports = { findStation, searchStation };\n","function partOfDay (timeString, today) {\n console.log(new Date());\n if (timeString === undefined || timeString === null) timeString = (new Date()).getHours().toString(); \n\n if (today === undefined) today = false; \n\n const hours = timeString.substring(0, 2);\n let dayBit = '';\n\n console.log('Hours', hours);\n\n if (hours >= 0 && hours < 4) \n dayBit = 'Late Night'; \n\n else if (hours >= 4 && hours < 7) \n dayBit = 'Early Morning'; \n\n else if (hours >= 7 && hours < 12) \n dayBit = 'Morning'; \n\n else if (hours >= 12 && hours < 17) \n dayBit = 'Afternoon'; \n\n else if (hours < 21) \n dayBit = 'Evening'; \n\n else dayBit = 'Night'; \n\n if (today) \n if (dayBit === 'night') {\n dayBit = 'tonight';\n }\n else {\n dayBit = `this ${dayBit}`;\n }\n\n console.log('partOfDay', dayBit);\n\n return dayBit;\n}\n\nfunction toHour (extra = 0) {\n const now = new Date();\n\n return (3600000 - (now.getTime() % 3600000)) + extra;\n}\n\nfunction hourFloor () {\n const now = new Date();\n\n return parseInt(~~(now.getTime() / 3600000) * 3600000, 10).toString(32);\n}\n\nfunction minuteFloor () {\n const now = new Date();\n\n return parseInt(~~(now.getTime() / 60000) * 60000, 10).toString(32);\n}\n\nfunction distance (lat1, lon1, lat2, lon2) {\n const p = 0.017453292519943295; // Math.PI / 180\n const c = Math.cos;\n const a = 0.5 - c((lat2 - lat1) * p) / 2 +\n c(lat1 * p) * c(lat2 * p) *\n (1 - c((lon2 - lon1) * p)) / 2;\n\n return 12742 * Math.asin(Math.sqrt(a)); // 2 * R; R = 6371 km\n}\n\n/* function splitURL (url) {\n\n} */\n\nconst maybePluralize = (count, noun, suffix = 's') =>\n `${count} ${noun}${count !== 1 ? suffix : ''}`;\n\nfunction supportsLocalStorage() {\n try {\n if (!localStorage)return false;\n else return true;\n // May only need the above simple test\n // - old versions of firefox may cause problem?\n // return 'localStorage' in window && window['localStorage']!==null;\n }\n catch(e) {\n return false;\n }\n}\n\nlet LocalStorage = {};\n\nif (supportsLocalStorage())\n LocalStorage = {\n 'save':function ( i, v ) {\n localStorage[i] = v;\n },\n 'load':function ( i ) {\n return localStorage[i];\n },\n 'exists':function(i) {\n return !(typeof(localStorage[i]) === 'undefined');\n }\n }; \nelse \n LocalStorage = {\n 'save':function ( i, v ) {\n document.cookie = `${i }=${ encodeURIComponent(v)}`;\n },\n 'load':function ( i ) {\n var s = `; ${ document.cookie };`,\n p = s.indexOf(`; ${ i }=`);\n if (p < 0)return '';\n p = p + i.length + 3;\n var p2 = s.indexOf(';', p + 1);\n \n return decodeURIComponent(s.substring(p, p2));\n }\n };\n\n/**\n *\n * @param fn\n * @param time\n * @returns {Function}\n * @private\n */\nfunction debounce(fn, time) {\n let timeout;\n\n return function (...args) { // <-- not an arrow function\n const functionCall = () => fn.apply(this, args);\n\n clearTimeout(timeout);\n timeout = setTimeout(functionCall, time);\n };\n}\n\n/**\n *\n * @param callback\n * @param limit\n * @returns {Function}\n * @private\n */\nfunction throttle (callback, limit) {\n var wait = false;\n\n return function () {\n if (!wait) {\n callback.apply(null, arguments);\n wait = true;\n setTimeout(function () {\n wait = false;\n }, limit);\n }\n };\n}\n\n/**\n *\n * @param func\n * @returns {function(): *}\n * @private\n */\n\nfunction once(func) {\n var alreadyCalled = false;\n var result;\n\n return function() {\n if (!alreadyCalled) {\n result = func.apply(this, arguments);\n alreadyCalled = true;\n }\n\n return result;\n };\n};\n\nfunction isEmpty(obj) {\n for(const key in obj)\n if(obj.hasOwnProperty(key)) return false;\n\n return true;\n}\n\n\n\nmodule.exports = { partOfDay, toHour, hourFloor, distance, maybePluralize, minuteFloor, debounce, throttle, once, isEmpty, LocalStorage };\n","export default(function t(e){function r(t,e,n){var a,o={};if(Array.isArray(t))return t.concat(e);for(a in t)o[n?a.toLowerCase():a]=t[a];for(a in e){var i=n?a.toLowerCase():a,u=e[a];o[i]=i in o&&\"object\"==typeof u?r(o[i],u,\"headers\"===i):u}return o}function n(t,n,a,o){\"string\"!=typeof t&&(t=(n=t).url);var i={config:n},u=r(e,n),s={},c=o||u.data;(u.transformRequest||[]).map(function(t){c=t(c,u.headers)||c}),c&&\"object\"==typeof c&&\"function\"!=typeof c.append&&(c=JSON.stringify(c),s[\"content-type\"]=\"application/json\");var f=document.cookie.match(RegExp(\"(^|; )\"+u.xsrfCookieName+\"=([^;]*)\"));if(f&&(s[u.xsrfHeaderName]=f[2]),u.auth&&(s.authorization=u.auth),u.baseURL&&(t=new URL(t,u.baseURL)+\"\"),u.params){var p=~t.indexOf(\"?\")?\"&\":\"?\";t+=p+(u.paramsSerializer?u.paramsSerializer(u.params):new URLSearchParams(u.params))}return(u.fetch||fetch)(t,{method:a||u.method,body:c,headers:r(u.headers,s,!0),credentials:u.withCredentials?\"include\":void 0}).then(function(t){for(var e in t)\"function\"!=typeof t[e]&&(i[e]=t[e]);return(u.validateStatus?u.validateStatus(t.status):t.ok)?\"stream\"==u.responseType?(i.data=t.body,i):t[u.responseType||\"text\"]().then(function(t){i.data=t,i.data=JSON.parse(t)}).catch(Object).then(function(){return i}):Promise.reject(i)})}return e=e||{},n.request=n,n.get=function(t,e){return n(t,e,\"get\")},n.delete=function(t,e){return n(t,e,\"delete\")},n.options=function(t,e){return n(t,e,\"options\")},n.post=function(t,e,r){return n(t,r,\"post\",e)},n.put=function(t,e,r){return n(t,r,\"put\",e)},n.patch=function(t,e,r){return n(t,r,\"patch\",e)},n.all=Promise.all,n.spread=function(t){return function(e){return t.apply(this,e)}},n.CancelToken=\"function\"==typeof AbortController?AbortController:Object,n.defaults=e,n.create=t,n}());\n//# sourceMappingURL=redaxios.module.js.map\n","/*!\n localForage -- Offline Storage, Improved\n Version 1.9.0\n https://localforage.github.io/localForage\n (c) 2013-2017 Mozilla, Apache License 2.0\n*/\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.localforage = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw (f.code=\"MODULE_NOT_FOUND\", f)}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var scriptEl = global.document.createElement('script');\n scriptEl.onreadystatechange = function () {\n nextTick();\n\n scriptEl.onreadystatechange = null;\n scriptEl.parentNode.removeChild(scriptEl);\n scriptEl = null;\n };\n global.document.documentElement.appendChild(scriptEl);\n };\n } else {\n scheduleDrain = function () {\n setTimeout(nextTick, 0);\n };\n }\n}\n\nvar draining;\nvar queue = [];\n//named nextTick for less confusing stack traces\nfunction nextTick() {\n draining = true;\n var i, oldQueue;\n var len = queue.length;\n while (len) {\n oldQueue = queue;\n queue = [];\n i = -1;\n while (++i < len) {\n oldQueue[i]();\n }\n len = queue.length;\n }\n draining = false;\n}\n\nmodule.exports = immediate;\nfunction immediate(task) {\n if (queue.push(task) === 1 && !draining) {\n scheduleDrain();\n }\n}\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{}],2:[function(_dereq_,module,exports){\n'use strict';\nvar immediate = _dereq_(1);\n\n/* istanbul ignore next */\nfunction INTERNAL() {}\n\nvar handlers = {};\n\nvar REJECTED = ['REJECTED'];\nvar FULFILLED = ['FULFILLED'];\nvar PENDING = ['PENDING'];\n\nmodule.exports = Promise;\n\nfunction Promise(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('resolver must be a function');\n }\n this.state = PENDING;\n this.queue = [];\n this.outcome = void 0;\n if (resolver !== INTERNAL) {\n safelyResolveThenable(this, resolver);\n }\n}\n\nPromise.prototype[\"catch\"] = function (onRejected) {\n return this.then(null, onRejected);\n};\nPromise.prototype.then = function (onFulfilled, onRejected) {\n if (typeof onFulfilled !== 'function' && this.state === FULFILLED ||\n typeof onRejected !== 'function' && this.state === REJECTED) {\n return this;\n }\n var promise = new this.constructor(INTERNAL);\n if (this.state !== PENDING) {\n var resolver = this.state === FULFILLED ? onFulfilled : onRejected;\n unwrap(promise, resolver, this.outcome);\n } else {\n this.queue.push(new QueueItem(promise, onFulfilled, onRejected));\n }\n\n return promise;\n};\nfunction QueueItem(promise, onFulfilled, onRejected) {\n this.promise = promise;\n if (typeof onFulfilled === 'function') {\n this.onFulfilled = onFulfilled;\n this.callFulfilled = this.otherCallFulfilled;\n }\n if (typeof onRejected === 'function') {\n this.onRejected = onRejected;\n this.callRejected = this.otherCallRejected;\n }\n}\nQueueItem.prototype.callFulfilled = function (value) {\n handlers.resolve(this.promise, value);\n};\nQueueItem.prototype.otherCallFulfilled = function (value) {\n unwrap(this.promise, this.onFulfilled, value);\n};\nQueueItem.prototype.callRejected = function (value) {\n handlers.reject(this.promise, value);\n};\nQueueItem.prototype.otherCallRejected = function (value) {\n unwrap(this.promise, this.onRejected, value);\n};\n\nfunction unwrap(promise, func, value) {\n immediate(function () {\n var returnValue;\n try {\n returnValue = func(value);\n } catch (e) {\n return handlers.reject(promise, e);\n }\n if (returnValue === promise) {\n handlers.reject(promise, new TypeError('Cannot resolve promise with itself'));\n } else {\n handlers.resolve(promise, returnValue);\n }\n });\n}\n\nhandlers.resolve = function (self, value) {\n var result = tryCatch(getThen, value);\n if (result.status === 'error') {\n return handlers.reject(self, result.value);\n }\n var thenable = result.value;\n\n if (thenable) {\n safelyResolveThenable(self, thenable);\n } else {\n self.state = FULFILLED;\n self.outcome = value;\n var i = -1;\n var len = self.queue.length;\n while (++i < len) {\n self.queue[i].callFulfilled(value);\n }\n }\n return self;\n};\nhandlers.reject = function (self, error) {\n self.state = REJECTED;\n self.outcome = error;\n var i = -1;\n var len = self.queue.length;\n while (++i < len) {\n self.queue[i].callRejected(error);\n }\n return self;\n};\n\nfunction getThen(obj) {\n // Make sure we only access the accessor once as required by the spec\n var then = obj && obj.then;\n if (obj && (typeof obj === 'object' || typeof obj === 'function') && typeof then === 'function') {\n return function appyThen() {\n then.apply(obj, arguments);\n };\n }\n}\n\nfunction safelyResolveThenable(self, thenable) {\n // Either fulfill, reject or reject with error\n var called = false;\n function onError(value) {\n if (called) {\n return;\n }\n called = true;\n handlers.reject(self, value);\n }\n\n function onSuccess(value) {\n if (called) {\n return;\n }\n called = true;\n handlers.resolve(self, value);\n }\n\n function tryToUnwrap() {\n thenable(onSuccess, onError);\n }\n\n var result = tryCatch(tryToUnwrap);\n if (result.status === 'error') {\n onError(result.value);\n }\n}\n\nfunction tryCatch(func, value) {\n var out = {};\n try {\n out.value = func(value);\n out.status = 'success';\n } catch (e) {\n out.status = 'error';\n out.value = e;\n }\n return out;\n}\n\nPromise.resolve = resolve;\nfunction resolve(value) {\n if (value instanceof this) {\n return value;\n }\n return handlers.resolve(new this(INTERNAL), value);\n}\n\nPromise.reject = reject;\nfunction reject(reason) {\n var promise = new this(INTERNAL);\n return handlers.reject(promise, reason);\n}\n\nPromise.all = all;\nfunction all(iterable) {\n var self = this;\n if (Object.prototype.toString.call(iterable) !== '[object Array]') {\n return this.reject(new TypeError('must be an array'));\n }\n\n var len = iterable.length;\n var called = false;\n if (!len) {\n return this.resolve([]);\n }\n\n var values = new Array(len);\n var resolved = 0;\n var i = -1;\n var promise = new this(INTERNAL);\n\n while (++i < len) {\n allResolver(iterable[i], i);\n }\n return promise;\n function allResolver(value, i) {\n self.resolve(value).then(resolveFromAll, function (error) {\n if (!called) {\n called = true;\n handlers.reject(promise, error);\n }\n });\n function resolveFromAll(outValue) {\n values[i] = outValue;\n if (++resolved === len && !called) {\n called = true;\n handlers.resolve(promise, values);\n }\n }\n }\n}\n\nPromise.race = race;\nfunction race(iterable) {\n var self = this;\n if (Object.prototype.toString.call(iterable) !== '[object Array]') {\n return this.reject(new TypeError('must be an array'));\n }\n\n var len = iterable.length;\n var called = false;\n if (!len) {\n return this.resolve([]);\n }\n\n var i = -1;\n var promise = new this(INTERNAL);\n\n while (++i < len) {\n resolver(iterable[i]);\n }\n return promise;\n function resolver(value) {\n self.resolve(value).then(function (response) {\n if (!called) {\n called = true;\n handlers.resolve(promise, response);\n }\n }, function (error) {\n if (!called) {\n called = true;\n handlers.reject(promise, error);\n }\n });\n }\n}\n\n},{\"1\":1}],3:[function(_dereq_,module,exports){\n(function (global){\n'use strict';\nif (typeof global.Promise !== 'function') {\n global.Promise = _dereq_(2);\n}\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"2\":2}],4:[function(_dereq_,module,exports){\n'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction getIDB() {\n /* global indexedDB,webkitIndexedDB,mozIndexedDB,OIndexedDB,msIndexedDB */\n try {\n if (typeof indexedDB !== 'undefined') {\n return indexedDB;\n }\n if (typeof webkitIndexedDB !== 'undefined') {\n return webkitIndexedDB;\n }\n if (typeof mozIndexedDB !== 'undefined') {\n return mozIndexedDB;\n }\n if (typeof OIndexedDB !== 'undefined') {\n return OIndexedDB;\n }\n if (typeof msIndexedDB !== 'undefined') {\n return msIndexedDB;\n }\n } catch (e) {\n return;\n }\n}\n\nvar idb = getIDB();\n\nfunction isIndexedDBValid() {\n try {\n // Initialize IndexedDB; fall back to vendor-prefixed versions\n // if needed.\n if (!idb || !idb.open) {\n return false;\n }\n // We mimic PouchDB here;\n //\n // We test for openDatabase because IE Mobile identifies itself\n // as Safari. Oh the lulz...\n var isSafari = typeof openDatabase !== 'undefined' && /(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent) && !/BlackBerry/.test(navigator.platform);\n\n var hasFetch = typeof fetch === 'function' && fetch.toString().indexOf('[native code') !== -1;\n\n // Safari <10.1 does not meet our requirements for IDB support\n // (see: https://github.com/pouchdb/pouchdb/issues/5572).\n // Safari 10.1 shipped with fetch, we can use that to detect it.\n // Note: this creates issues with `window.fetch` polyfills and\n // overrides; see:\n // https://github.com/localForage/localForage/issues/856\n return (!isSafari || hasFetch) && typeof indexedDB !== 'undefined' &&\n // some outdated implementations of IDB that appear on Samsung\n // and HTC Android devices <4.4 are missing IDBKeyRange\n // See: https://github.com/mozilla/localForage/issues/128\n // See: https://github.com/mozilla/localForage/issues/272\n typeof IDBKeyRange !== 'undefined';\n } catch (e) {\n return false;\n }\n}\n\n// Abstracts constructing a Blob object, so it also works in older\n// browsers that don't support the native Blob constructor. (i.e.\n// old QtWebKit versions, at least).\n// Abstracts constructing a Blob object, so it also works in older\n// browsers that don't support the native Blob constructor. (i.e.\n// old QtWebKit versions, at least).\nfunction createBlob(parts, properties) {\n /* global BlobBuilder,MSBlobBuilder,MozBlobBuilder,WebKitBlobBuilder */\n parts = parts || [];\n properties = properties || {};\n try {\n return new Blob(parts, properties);\n } catch (e) {\n if (e.name !== 'TypeError') {\n throw e;\n }\n var Builder = typeof BlobBuilder !== 'undefined' ? BlobBuilder : typeof MSBlobBuilder !== 'undefined' ? MSBlobBuilder : typeof MozBlobBuilder !== 'undefined' ? MozBlobBuilder : WebKitBlobBuilder;\n var builder = new Builder();\n for (var i = 0; i < parts.length; i += 1) {\n builder.append(parts[i]);\n }\n return builder.getBlob(properties.type);\n }\n}\n\n// This is CommonJS because lie is an external dependency, so Rollup\n// can just ignore it.\nif (typeof Promise === 'undefined') {\n // In the \"nopromises\" build this will just throw if you don't have\n // a global promise object, but it would throw anyway later.\n _dereq_(3);\n}\nvar Promise$1 = Promise;\n\nfunction executeCallback(promise, callback) {\n if (callback) {\n promise.then(function (result) {\n callback(null, result);\n }, function (error) {\n callback(error);\n });\n }\n}\n\nfunction executeTwoCallbacks(promise, callback, errorCallback) {\n if (typeof callback === 'function') {\n promise.then(callback);\n }\n\n if (typeof errorCallback === 'function') {\n promise[\"catch\"](errorCallback);\n }\n}\n\nfunction normalizeKey(key) {\n // Cast the key to a string, as that's all we can set as a key.\n if (typeof key !== 'string') {\n console.warn(key + ' used as a key, but it is not a string.');\n key = String(key);\n }\n\n return key;\n}\n\nfunction getCallback() {\n if (arguments.length && typeof arguments[arguments.length - 1] === 'function') {\n return arguments[arguments.length - 1];\n }\n}\n\n// Some code originally from async_storage.js in\n// [Gaia](https://github.com/mozilla-b2g/gaia).\n\nvar DETECT_BLOB_SUPPORT_STORE = 'local-forage-detect-blob-support';\nvar supportsBlobs = void 0;\nvar dbContexts = {};\nvar toString = Object.prototype.toString;\n\n// Transaction Modes\nvar READ_ONLY = 'readonly';\nvar READ_WRITE = 'readwrite';\n\n// Transform a binary string to an array buffer, because otherwise\n// weird stuff happens when you try to work with the binary string directly.\n// It is known.\n// From http://stackoverflow.com/questions/14967647/ (continues on next line)\n// encode-decode-image-with-base64-breaks-image (2013-04-21)\nfunction _binStringToArrayBuffer(bin) {\n var length = bin.length;\n var buf = new ArrayBuffer(length);\n var arr = new Uint8Array(buf);\n for (var i = 0; i < length; i++) {\n arr[i] = bin.charCodeAt(i);\n }\n return buf;\n}\n\n//\n// Blobs are not supported in all versions of IndexedDB, notably\n// Chrome <37 and Android <5. In those versions, storing a blob will throw.\n//\n// Various other blob bugs exist in Chrome v37-42 (inclusive).\n// Detecting them is expensive and confusing to users, and Chrome 37-42\n// is at very low usage worldwide, so we do a hacky userAgent check instead.\n//\n// content-type bug: https://code.google.com/p/chromium/issues/detail?id=408120\n// 404 bug: https://code.google.com/p/chromium/issues/detail?id=447916\n// FileReader bug: https://code.google.com/p/chromium/issues/detail?id=447836\n//\n// Code borrowed from PouchDB. See:\n// https://github.com/pouchdb/pouchdb/blob/master/packages/node_modules/pouchdb-adapter-idb/src/blobSupport.js\n//\nfunction _checkBlobSupportWithoutCaching(idb) {\n return new Promise$1(function (resolve) {\n var txn = idb.transaction(DETECT_BLOB_SUPPORT_STORE, READ_WRITE);\n var blob = createBlob(['']);\n txn.objectStore(DETECT_BLOB_SUPPORT_STORE).put(blob, 'key');\n\n txn.onabort = function (e) {\n // If the transaction aborts now its due to not being able to\n // write to the database, likely due to the disk being full\n e.preventDefault();\n e.stopPropagation();\n resolve(false);\n };\n\n txn.oncomplete = function () {\n var matchedChrome = navigator.userAgent.match(/Chrome\\/(\\d+)/);\n var matchedEdge = navigator.userAgent.match(/Edge\\//);\n // MS Edge pretends to be Chrome 42:\n // https://msdn.microsoft.com/en-us/library/hh869301%28v=vs.85%29.aspx\n resolve(matchedEdge || !matchedChrome || parseInt(matchedChrome[1], 10) >= 43);\n };\n })[\"catch\"](function () {\n return false; // error, so assume unsupported\n });\n}\n\nfunction _checkBlobSupport(idb) {\n if (typeof supportsBlobs === 'boolean') {\n return Promise$1.resolve(supportsBlobs);\n }\n return _checkBlobSupportWithoutCaching(idb).then(function (value) {\n supportsBlobs = value;\n return supportsBlobs;\n });\n}\n\nfunction _deferReadiness(dbInfo) {\n var dbContext = dbContexts[dbInfo.name];\n\n // Create a deferred object representing the current database operation.\n var deferredOperation = {};\n\n deferredOperation.promise = new Promise$1(function (resolve, reject) {\n deferredOperation.resolve = resolve;\n deferredOperation.reject = reject;\n });\n\n // Enqueue the deferred operation.\n dbContext.deferredOperations.push(deferredOperation);\n\n // Chain its promise to the database readiness.\n if (!dbContext.dbReady) {\n dbContext.dbReady = deferredOperation.promise;\n } else {\n dbContext.dbReady = dbContext.dbReady.then(function () {\n return deferredOperation.promise;\n });\n }\n}\n\nfunction _advanceReadiness(dbInfo) {\n var dbContext = dbContexts[dbInfo.name];\n\n // Dequeue a deferred operation.\n var deferredOperation = dbContext.deferredOperations.pop();\n\n // Resolve its promise (which is part of the database readiness\n // chain of promises).\n if (deferredOperation) {\n deferredOperation.resolve();\n return deferredOperation.promise;\n }\n}\n\nfunction _rejectReadiness(dbInfo, err) {\n var dbContext = dbContexts[dbInfo.name];\n\n // Dequeue a deferred operation.\n var deferredOperation = dbContext.deferredOperations.pop();\n\n // Reject its promise (which is part of the database readiness\n // chain of promises).\n if (deferredOperation) {\n deferredOperation.reject(err);\n return deferredOperation.promise;\n }\n}\n\nfunction _getConnection(dbInfo, upgradeNeeded) {\n return new Promise$1(function (resolve, reject) {\n dbContexts[dbInfo.name] = dbContexts[dbInfo.name] || createDbContext();\n\n if (dbInfo.db) {\n if (upgradeNeeded) {\n _deferReadiness(dbInfo);\n dbInfo.db.close();\n } else {\n return resolve(dbInfo.db);\n }\n }\n\n var dbArgs = [dbInfo.name];\n\n if (upgradeNeeded) {\n dbArgs.push(dbInfo.version);\n }\n\n var openreq = idb.open.apply(idb, dbArgs);\n\n if (upgradeNeeded) {\n openreq.onupgradeneeded = function (e) {\n var db = openreq.result;\n try {\n db.createObjectStore(dbInfo.storeName);\n if (e.oldVersion <= 1) {\n // Added when support for blob shims was added\n db.createObjectStore(DETECT_BLOB_SUPPORT_STORE);\n }\n } catch (ex) {\n if (ex.name === 'ConstraintError') {\n console.warn('The database \"' + dbInfo.name + '\"' + ' has been upgraded from version ' + e.oldVersion + ' to version ' + e.newVersion + ', but the storage \"' + dbInfo.storeName + '\" already exists.');\n } else {\n throw ex;\n }\n }\n };\n }\n\n openreq.onerror = function (e) {\n e.preventDefault();\n reject(openreq.error);\n };\n\n openreq.onsuccess = function () {\n resolve(openreq.result);\n _advanceReadiness(dbInfo);\n };\n });\n}\n\nfunction _getOriginalConnection(dbInfo) {\n return _getConnection(dbInfo, false);\n}\n\nfunction _getUpgradedConnection(dbInfo) {\n return _getConnection(dbInfo, true);\n}\n\nfunction _isUpgradeNeeded(dbInfo, defaultVersion) {\n if (!dbInfo.db) {\n return true;\n }\n\n var isNewStore = !dbInfo.db.objectStoreNames.contains(dbInfo.storeName);\n var isDowngrade = dbInfo.version < dbInfo.db.version;\n var isUpgrade = dbInfo.version > dbInfo.db.version;\n\n if (isDowngrade) {\n // If the version is not the default one\n // then warn for impossible downgrade.\n if (dbInfo.version !== defaultVersion) {\n console.warn('The database \"' + dbInfo.name + '\"' + \" can't be downgraded from version \" + dbInfo.db.version + ' to version ' + dbInfo.version + '.');\n }\n // Align the versions to prevent errors.\n dbInfo.version = dbInfo.db.version;\n }\n\n if (isUpgrade || isNewStore) {\n // If the store is new then increment the version (if needed).\n // This will trigger an \"upgradeneeded\" event which is required\n // for creating a store.\n if (isNewStore) {\n var incVersion = dbInfo.db.version + 1;\n if (incVersion > dbInfo.version) {\n dbInfo.version = incVersion;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\n// encode a blob for indexeddb engines that don't support blobs\nfunction _encodeBlob(blob) {\n return new Promise$1(function (resolve, reject) {\n var reader = new FileReader();\n reader.onerror = reject;\n reader.onloadend = function (e) {\n var base64 = btoa(e.target.result || '');\n resolve({\n __local_forage_encoded_blob: true,\n data: base64,\n type: blob.type\n });\n };\n reader.readAsBinaryString(blob);\n });\n}\n\n// decode an encoded blob\nfunction _decodeBlob(encodedBlob) {\n var arrayBuff = _binStringToArrayBuffer(atob(encodedBlob.data));\n return createBlob([arrayBuff], { type: encodedBlob.type });\n}\n\n// is this one of our fancy encoded blobs?\nfunction _isEncodedBlob(value) {\n return value && value.__local_forage_encoded_blob;\n}\n\n// Specialize the default `ready()` function by making it dependent\n// on the current database operations. Thus, the driver will be actually\n// ready when it's been initialized (default) *and* there are no pending\n// operations on the database (initiated by some other instances).\nfunction _fullyReady(callback) {\n var self = this;\n\n var promise = self._initReady().then(function () {\n var dbContext = dbContexts[self._dbInfo.name];\n\n if (dbContext && dbContext.dbReady) {\n return dbContext.dbReady;\n }\n });\n\n executeTwoCallbacks(promise, callback, callback);\n return promise;\n}\n\n// Try to establish a new db connection to replace the\n// current one which is broken (i.e. experiencing\n// InvalidStateError while creating a transaction).\nfunction _tryReconnect(dbInfo) {\n _deferReadiness(dbInfo);\n\n var dbContext = dbContexts[dbInfo.name];\n var forages = dbContext.forages;\n\n for (var i = 0; i < forages.length; i++) {\n var forage = forages[i];\n if (forage._dbInfo.db) {\n forage._dbInfo.db.close();\n forage._dbInfo.db = null;\n }\n }\n dbInfo.db = null;\n\n return _getOriginalConnection(dbInfo).then(function (db) {\n dbInfo.db = db;\n if (_isUpgradeNeeded(dbInfo)) {\n // Reopen the database for upgrading.\n return _getUpgradedConnection(dbInfo);\n }\n return db;\n }).then(function (db) {\n // store the latest db reference\n // in case the db was upgraded\n dbInfo.db = dbContext.db = db;\n for (var i = 0; i < forages.length; i++) {\n forages[i]._dbInfo.db = db;\n }\n })[\"catch\"](function (err) {\n _rejectReadiness(dbInfo, err);\n throw err;\n });\n}\n\n// FF doesn't like Promises (micro-tasks) and IDDB store operations,\n// so we have to do it with callbacks\nfunction createTransaction(dbInfo, mode, callback, retries) {\n if (retries === undefined) {\n retries = 1;\n }\n\n try {\n var tx = dbInfo.db.transaction(dbInfo.storeName, mode);\n callback(null, tx);\n } catch (err) {\n if (retries > 0 && (!dbInfo.db || err.name === 'InvalidStateError' || err.name === 'NotFoundError')) {\n return Promise$1.resolve().then(function () {\n if (!dbInfo.db || err.name === 'NotFoundError' && !dbInfo.db.objectStoreNames.contains(dbInfo.storeName) && dbInfo.version <= dbInfo.db.version) {\n // increase the db version, to create the new ObjectStore\n if (dbInfo.db) {\n dbInfo.version = dbInfo.db.version + 1;\n }\n // Reopen the database for upgrading.\n return _getUpgradedConnection(dbInfo);\n }\n }).then(function () {\n return _tryReconnect(dbInfo).then(function () {\n createTransaction(dbInfo, mode, callback, retries - 1);\n });\n })[\"catch\"](callback);\n }\n\n callback(err);\n }\n}\n\nfunction createDbContext() {\n return {\n // Running localForages sharing a database.\n forages: [],\n // Shared database.\n db: null,\n // Database readiness (promise).\n dbReady: null,\n // Deferred operations on the database.\n deferredOperations: []\n };\n}\n\n// Open the IndexedDB database (automatically creates one if one didn't\n// previously exist), using any options set in the config.\nfunction _initStorage(options) {\n var self = this;\n var dbInfo = {\n db: null\n };\n\n if (options) {\n for (var i in options) {\n dbInfo[i] = options[i];\n }\n }\n\n // Get the current context of the database;\n var dbContext = dbContexts[dbInfo.name];\n\n // ...or create a new context.\n if (!dbContext) {\n dbContext = createDbContext();\n // Register the new context in the global container.\n dbContexts[dbInfo.name] = dbContext;\n }\n\n // Register itself as a running localForage in the current context.\n dbContext.forages.push(self);\n\n // Replace the default `ready()` function with the specialized one.\n if (!self._initReady) {\n self._initReady = self.ready;\n self.ready = _fullyReady;\n }\n\n // Create an array of initialization states of the related localForages.\n var initPromises = [];\n\n function ignoreErrors() {\n // Don't handle errors here,\n // just makes sure related localForages aren't pending.\n return Promise$1.resolve();\n }\n\n for (var j = 0; j < dbContext.forages.length; j++) {\n var forage = dbContext.forages[j];\n if (forage !== self) {\n // Don't wait for itself...\n initPromises.push(forage._initReady()[\"catch\"](ignoreErrors));\n }\n }\n\n // Take a snapshot of the related localForages.\n var forages = dbContext.forages.slice(0);\n\n // Initialize the connection process only when\n // all the related localForages aren't pending.\n return Promise$1.all(initPromises).then(function () {\n dbInfo.db = dbContext.db;\n // Get the connection or open a new one without upgrade.\n return _getOriginalConnection(dbInfo);\n }).then(function (db) {\n dbInfo.db = db;\n if (_isUpgradeNeeded(dbInfo, self._defaultConfig.version)) {\n // Reopen the database for upgrading.\n return _getUpgradedConnection(dbInfo);\n }\n return db;\n }).then(function (db) {\n dbInfo.db = dbContext.db = db;\n self._dbInfo = dbInfo;\n // Share the final connection amongst related localForages.\n for (var k = 0; k < forages.length; k++) {\n var forage = forages[k];\n if (forage !== self) {\n // Self is already up-to-date.\n forage._dbInfo.db = dbInfo.db;\n forage._dbInfo.version = dbInfo.version;\n }\n }\n });\n}\n\nfunction getItem(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.get(key);\n\n req.onsuccess = function () {\n var value = req.result;\n if (value === undefined) {\n value = null;\n }\n if (_isEncodedBlob(value)) {\n value = _decodeBlob(value);\n }\n resolve(value);\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Iterate over all items stored in database.\nfunction iterate(iterator, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.openCursor();\n var iterationNumber = 1;\n\n req.onsuccess = function () {\n var cursor = req.result;\n\n if (cursor) {\n var value = cursor.value;\n if (_isEncodedBlob(value)) {\n value = _decodeBlob(value);\n }\n var result = iterator(value, cursor.key, iterationNumber++);\n\n // when the iterator callback returns any\n // (non-`undefined`) value, then we stop\n // the iteration immediately\n if (result !== void 0) {\n resolve(result);\n } else {\n cursor[\"continue\"]();\n }\n } else {\n resolve();\n }\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n\n return promise;\n}\n\nfunction setItem(key, value, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n var dbInfo;\n self.ready().then(function () {\n dbInfo = self._dbInfo;\n if (toString.call(value) === '[object Blob]') {\n return _checkBlobSupport(dbInfo.db).then(function (blobSupport) {\n if (blobSupport) {\n return value;\n }\n return _encodeBlob(value);\n });\n }\n return value;\n }).then(function (value) {\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n\n // The reason we don't _save_ null is because IE 10 does\n // not support saving the `null` type in IndexedDB. How\n // ironic, given the bug below!\n // See: https://github.com/mozilla/localForage/issues/161\n if (value === null) {\n value = undefined;\n }\n\n var req = store.put(value, key);\n\n transaction.oncomplete = function () {\n // Cast to undefined so the value passed to\n // callback/promise is the same as what one would get out\n // of `getItem()` later. This leads to some weirdness\n // (setItem('foo', undefined) will return `null`), but\n // it's not my fault localStorage is our baseline and that\n // it's weird.\n if (value === undefined) {\n value = null;\n }\n\n resolve(value);\n };\n transaction.onabort = transaction.onerror = function () {\n var err = req.error ? req.error : req.transaction.error;\n reject(err);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction removeItem(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n // We use a Grunt task to make this safe for IE and some\n // versions of Android (including those used by Cordova).\n // Normally IE won't like `.delete()` and will insist on\n // using `['delete']()`, but we have a build step that\n // fixes this for us now.\n var req = store[\"delete\"](key);\n transaction.oncomplete = function () {\n resolve();\n };\n\n transaction.onerror = function () {\n reject(req.error);\n };\n\n // The request will be also be aborted if we've exceeded our storage\n // space.\n transaction.onabort = function () {\n var err = req.error ? req.error : req.transaction.error;\n reject(err);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction clear(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.clear();\n\n transaction.oncomplete = function () {\n resolve();\n };\n\n transaction.onabort = transaction.onerror = function () {\n var err = req.error ? req.error : req.transaction.error;\n reject(err);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction length(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.count();\n\n req.onsuccess = function () {\n resolve(req.result);\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction key(n, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n if (n < 0) {\n resolve(null);\n\n return;\n }\n\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var advanced = false;\n var req = store.openKeyCursor();\n\n req.onsuccess = function () {\n var cursor = req.result;\n if (!cursor) {\n // this means there weren't enough keys\n resolve(null);\n\n return;\n }\n\n if (n === 0) {\n // We have the first key, return it if that's what they\n // wanted.\n resolve(cursor.key);\n } else {\n if (!advanced) {\n // Otherwise, ask the cursor to skip ahead n\n // records.\n advanced = true;\n cursor.advance(n);\n } else {\n // When we get here, we've got the nth key.\n resolve(cursor.key);\n }\n }\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction keys(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.openKeyCursor();\n var keys = [];\n\n req.onsuccess = function () {\n var cursor = req.result;\n\n if (!cursor) {\n resolve(keys);\n return;\n }\n\n keys.push(cursor.key);\n cursor[\"continue\"]();\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction dropInstance(options, callback) {\n callback = getCallback.apply(this, arguments);\n\n var currentConfig = this.config();\n options = typeof options !== 'function' && options || {};\n if (!options.name) {\n options.name = options.name || currentConfig.name;\n options.storeName = options.storeName || currentConfig.storeName;\n }\n\n var self = this;\n var promise;\n if (!options.name) {\n promise = Promise$1.reject('Invalid arguments');\n } else {\n var isCurrentDb = options.name === currentConfig.name && self._dbInfo.db;\n\n var dbPromise = isCurrentDb ? Promise$1.resolve(self._dbInfo.db) : _getOriginalConnection(options).then(function (db) {\n var dbContext = dbContexts[options.name];\n var forages = dbContext.forages;\n dbContext.db = db;\n for (var i = 0; i < forages.length; i++) {\n forages[i]._dbInfo.db = db;\n }\n return db;\n });\n\n if (!options.storeName) {\n promise = dbPromise.then(function (db) {\n _deferReadiness(options);\n\n var dbContext = dbContexts[options.name];\n var forages = dbContext.forages;\n\n db.close();\n for (var i = 0; i < forages.length; i++) {\n var forage = forages[i];\n forage._dbInfo.db = null;\n }\n\n var dropDBPromise = new Promise$1(function (resolve, reject) {\n var req = idb.deleteDatabase(options.name);\n\n req.onerror = req.onblocked = function (err) {\n var db = req.result;\n if (db) {\n db.close();\n }\n reject(err);\n };\n\n req.onsuccess = function () {\n var db = req.result;\n if (db) {\n db.close();\n }\n resolve(db);\n };\n });\n\n return dropDBPromise.then(function (db) {\n dbContext.db = db;\n for (var i = 0; i < forages.length; i++) {\n var _forage = forages[i];\n _advanceReadiness(_forage._dbInfo);\n }\n })[\"catch\"](function (err) {\n (_rejectReadiness(options, err) || Promise$1.resolve())[\"catch\"](function () {});\n throw err;\n });\n });\n } else {\n promise = dbPromise.then(function (db) {\n if (!db.objectStoreNames.contains(options.storeName)) {\n return;\n }\n\n var newVersion = db.version + 1;\n\n _deferReadiness(options);\n\n var dbContext = dbContexts[options.name];\n var forages = dbContext.forages;\n\n db.close();\n for (var i = 0; i < forages.length; i++) {\n var forage = forages[i];\n forage._dbInfo.db = null;\n forage._dbInfo.version = newVersion;\n }\n\n var dropObjectPromise = new Promise$1(function (resolve, reject) {\n var req = idb.open(options.name, newVersion);\n\n req.onerror = function (err) {\n var db = req.result;\n db.close();\n reject(err);\n };\n\n req.onupgradeneeded = function () {\n var db = req.result;\n db.deleteObjectStore(options.storeName);\n };\n\n req.onsuccess = function () {\n var db = req.result;\n db.close();\n resolve(db);\n };\n });\n\n return dropObjectPromise.then(function (db) {\n dbContext.db = db;\n for (var j = 0; j < forages.length; j++) {\n var _forage2 = forages[j];\n _forage2._dbInfo.db = db;\n _advanceReadiness(_forage2._dbInfo);\n }\n })[\"catch\"](function (err) {\n (_rejectReadiness(options, err) || Promise$1.resolve())[\"catch\"](function () {});\n throw err;\n });\n });\n }\n }\n\n executeCallback(promise, callback);\n return promise;\n}\n\nvar asyncStorage = {\n _driver: 'asyncStorage',\n _initStorage: _initStorage,\n _support: isIndexedDBValid(),\n iterate: iterate,\n getItem: getItem,\n setItem: setItem,\n removeItem: removeItem,\n clear: clear,\n length: length,\n key: key,\n keys: keys,\n dropInstance: dropInstance\n};\n\nfunction isWebSQLValid() {\n return typeof openDatabase === 'function';\n}\n\n// Sadly, the best way to save binary data in WebSQL/localStorage is serializing\n// it to Base64, so this is how we store it to prevent very strange errors with less\n// verbose ways of binary <-> string data storage.\nvar BASE_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\nvar BLOB_TYPE_PREFIX = '~~local_forage_type~';\nvar BLOB_TYPE_PREFIX_REGEX = /^~~local_forage_type~([^~]+)~/;\n\nvar SERIALIZED_MARKER = '__lfsc__:';\nvar SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER.length;\n\n// OMG the serializations!\nvar TYPE_ARRAYBUFFER = 'arbf';\nvar TYPE_BLOB = 'blob';\nvar TYPE_INT8ARRAY = 'si08';\nvar TYPE_UINT8ARRAY = 'ui08';\nvar TYPE_UINT8CLAMPEDARRAY = 'uic8';\nvar TYPE_INT16ARRAY = 'si16';\nvar TYPE_INT32ARRAY = 'si32';\nvar TYPE_UINT16ARRAY = 'ur16';\nvar TYPE_UINT32ARRAY = 'ui32';\nvar TYPE_FLOAT32ARRAY = 'fl32';\nvar TYPE_FLOAT64ARRAY = 'fl64';\nvar TYPE_SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER_LENGTH + TYPE_ARRAYBUFFER.length;\n\nvar toString$1 = Object.prototype.toString;\n\nfunction stringToBuffer(serializedString) {\n // Fill the string into a ArrayBuffer.\n var bufferLength = serializedString.length * 0.75;\n var len = serializedString.length;\n var i;\n var p = 0;\n var encoded1, encoded2, encoded3, encoded4;\n\n if (serializedString[serializedString.length - 1] === '=') {\n bufferLength--;\n if (serializedString[serializedString.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n var buffer = new ArrayBuffer(bufferLength);\n var bytes = new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = BASE_CHARS.indexOf(serializedString[i]);\n encoded2 = BASE_CHARS.indexOf(serializedString[i + 1]);\n encoded3 = BASE_CHARS.indexOf(serializedString[i + 2]);\n encoded4 = BASE_CHARS.indexOf(serializedString[i + 3]);\n\n /*jslint bitwise: true */\n bytes[p++] = encoded1 << 2 | encoded2 >> 4;\n bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2;\n bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63;\n }\n return buffer;\n}\n\n// Converts a buffer to a string to store, serialized, in the backend\n// storage library.\nfunction bufferToString(buffer) {\n // base64-arraybuffer\n var bytes = new Uint8Array(buffer);\n var base64String = '';\n var i;\n\n for (i = 0; i < bytes.length; i += 3) {\n /*jslint bitwise: true */\n base64String += BASE_CHARS[bytes[i] >> 2];\n base64String += BASE_CHARS[(bytes[i] & 3) << 4 | bytes[i + 1] >> 4];\n base64String += BASE_CHARS[(bytes[i + 1] & 15) << 2 | bytes[i + 2] >> 6];\n base64String += BASE_CHARS[bytes[i + 2] & 63];\n }\n\n if (bytes.length % 3 === 2) {\n base64String = base64String.substring(0, base64String.length - 1) + '=';\n } else if (bytes.length % 3 === 1) {\n base64String = base64String.substring(0, base64String.length - 2) + '==';\n }\n\n return base64String;\n}\n\n// Serialize a value, afterwards executing a callback (which usually\n// instructs the `setItem()` callback/promise to be executed). This is how\n// we store binary data with localStorage.\nfunction serialize(value, callback) {\n var valueType = '';\n if (value) {\n valueType = toString$1.call(value);\n }\n\n // Cannot use `value instanceof ArrayBuffer` or such here, as these\n // checks fail when running the tests using casper.js...\n //\n // TODO: See why those tests fail and use a better solution.\n if (value && (valueType === '[object ArrayBuffer]' || value.buffer && toString$1.call(value.buffer) === '[object ArrayBuffer]')) {\n // Convert binary arrays to a string and prefix the string with\n // a special marker.\n var buffer;\n var marker = SERIALIZED_MARKER;\n\n if (value instanceof ArrayBuffer) {\n buffer = value;\n marker += TYPE_ARRAYBUFFER;\n } else {\n buffer = value.buffer;\n\n if (valueType === '[object Int8Array]') {\n marker += TYPE_INT8ARRAY;\n } else if (valueType === '[object Uint8Array]') {\n marker += TYPE_UINT8ARRAY;\n } else if (valueType === '[object Uint8ClampedArray]') {\n marker += TYPE_UINT8CLAMPEDARRAY;\n } else if (valueType === '[object Int16Array]') {\n marker += TYPE_INT16ARRAY;\n } else if (valueType === '[object Uint16Array]') {\n marker += TYPE_UINT16ARRAY;\n } else if (valueType === '[object Int32Array]') {\n marker += TYPE_INT32ARRAY;\n } else if (valueType === '[object Uint32Array]') {\n marker += TYPE_UINT32ARRAY;\n } else if (valueType === '[object Float32Array]') {\n marker += TYPE_FLOAT32ARRAY;\n } else if (valueType === '[object Float64Array]') {\n marker += TYPE_FLOAT64ARRAY;\n } else {\n callback(new Error('Failed to get type for BinaryArray'));\n }\n }\n\n callback(marker + bufferToString(buffer));\n } else if (valueType === '[object Blob]') {\n // Conver the blob to a binaryArray and then to a string.\n var fileReader = new FileReader();\n\n fileReader.onload = function () {\n // Backwards-compatible prefix for the blob type.\n var str = BLOB_TYPE_PREFIX + value.type + '~' + bufferToString(this.result);\n\n callback(SERIALIZED_MARKER + TYPE_BLOB + str);\n };\n\n fileReader.readAsArrayBuffer(value);\n } else {\n try {\n callback(JSON.stringify(value));\n } catch (e) {\n console.error(\"Couldn't convert value into a JSON string: \", value);\n\n callback(null, e);\n }\n }\n}\n\n// Deserialize data we've inserted into a value column/field. We place\n// special markers into our strings to mark them as encoded; this isn't\n// as nice as a meta field, but it's the only sane thing we can do whilst\n// keeping localStorage support intact.\n//\n// Oftentimes this will just deserialize JSON content, but if we have a\n// special marker (SERIALIZED_MARKER, defined above), we will extract\n// some kind of arraybuffer/binary data/typed array out of the string.\nfunction deserialize(value) {\n // If we haven't marked this string as being specially serialized (i.e.\n // something other than serialized JSON), we can just return it and be\n // done with it.\n if (value.substring(0, SERIALIZED_MARKER_LENGTH) !== SERIALIZED_MARKER) {\n return JSON.parse(value);\n }\n\n // The following code deals with deserializing some kind of Blob or\n // TypedArray. First we separate out the type of data we're dealing\n // with from the data itself.\n var serializedString = value.substring(TYPE_SERIALIZED_MARKER_LENGTH);\n var type = value.substring(SERIALIZED_MARKER_LENGTH, TYPE_SERIALIZED_MARKER_LENGTH);\n\n var blobType;\n // Backwards-compatible blob type serialization strategy.\n // DBs created with older versions of localForage will simply not have the blob type.\n if (type === TYPE_BLOB && BLOB_TYPE_PREFIX_REGEX.test(serializedString)) {\n var matcher = serializedString.match(BLOB_TYPE_PREFIX_REGEX);\n blobType = matcher[1];\n serializedString = serializedString.substring(matcher[0].length);\n }\n var buffer = stringToBuffer(serializedString);\n\n // Return the right type based on the code/type set during\n // serialization.\n switch (type) {\n case TYPE_ARRAYBUFFER:\n return buffer;\n case TYPE_BLOB:\n return createBlob([buffer], { type: blobType });\n case TYPE_INT8ARRAY:\n return new Int8Array(buffer);\n case TYPE_UINT8ARRAY:\n return new Uint8Array(buffer);\n case TYPE_UINT8CLAMPEDARRAY:\n return new Uint8ClampedArray(buffer);\n case TYPE_INT16ARRAY:\n return new Int16Array(buffer);\n case TYPE_UINT16ARRAY:\n return new Uint16Array(buffer);\n case TYPE_INT32ARRAY:\n return new Int32Array(buffer);\n case TYPE_UINT32ARRAY:\n return new Uint32Array(buffer);\n case TYPE_FLOAT32ARRAY:\n return new Float32Array(buffer);\n case TYPE_FLOAT64ARRAY:\n return new Float64Array(buffer);\n default:\n throw new Error('Unkown type: ' + type);\n }\n}\n\nvar localforageSerializer = {\n serialize: serialize,\n deserialize: deserialize,\n stringToBuffer: stringToBuffer,\n bufferToString: bufferToString\n};\n\n/*\n * Includes code from:\n *\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n */\n\nfunction createDbTable(t, dbInfo, callback, errorCallback) {\n t.executeSql('CREATE TABLE IF NOT EXISTS ' + dbInfo.storeName + ' ' + '(id INTEGER PRIMARY KEY, key unique, value)', [], callback, errorCallback);\n}\n\n// Open the WebSQL database (automatically creates one if one didn't\n// previously exist), using any options set in the config.\nfunction _initStorage$1(options) {\n var self = this;\n var dbInfo = {\n db: null\n };\n\n if (options) {\n for (var i in options) {\n dbInfo[i] = typeof options[i] !== 'string' ? options[i].toString() : options[i];\n }\n }\n\n var dbInfoPromise = new Promise$1(function (resolve, reject) {\n // Open the database; the openDatabase API will automatically\n // create it for us if it doesn't exist.\n try {\n dbInfo.db = openDatabase(dbInfo.name, String(dbInfo.version), dbInfo.description, dbInfo.size);\n } catch (e) {\n return reject(e);\n }\n\n // Create our key/value table if it doesn't exist.\n dbInfo.db.transaction(function (t) {\n createDbTable(t, dbInfo, function () {\n self._dbInfo = dbInfo;\n resolve();\n }, function (t, error) {\n reject(error);\n });\n }, reject);\n });\n\n dbInfo.serializer = localforageSerializer;\n return dbInfoPromise;\n}\n\nfunction tryExecuteSql(t, dbInfo, sqlStatement, args, callback, errorCallback) {\n t.executeSql(sqlStatement, args, callback, function (t, error) {\n if (error.code === error.SYNTAX_ERR) {\n t.executeSql('SELECT name FROM sqlite_master ' + \"WHERE type='table' AND name = ?\", [dbInfo.storeName], function (t, results) {\n if (!results.rows.length) {\n // if the table is missing (was deleted)\n // re-create it table and retry\n createDbTable(t, dbInfo, function () {\n t.executeSql(sqlStatement, args, callback, errorCallback);\n }, errorCallback);\n } else {\n errorCallback(t, error);\n }\n }, errorCallback);\n } else {\n errorCallback(t, error);\n }\n }, errorCallback);\n}\n\nfunction getItem$1(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT * FROM ' + dbInfo.storeName + ' WHERE key = ? LIMIT 1', [key], function (t, results) {\n var result = results.rows.length ? results.rows.item(0).value : null;\n\n // Check to see if this is serialized content we need to\n // unpack.\n if (result) {\n result = dbInfo.serializer.deserialize(result);\n }\n\n resolve(result);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction iterate$1(iterator, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT * FROM ' + dbInfo.storeName, [], function (t, results) {\n var rows = results.rows;\n var length = rows.length;\n\n for (var i = 0; i < length; i++) {\n var item = rows.item(i);\n var result = item.value;\n\n // Check to see if this is serialized content\n // we need to unpack.\n if (result) {\n result = dbInfo.serializer.deserialize(result);\n }\n\n result = iterator(result, item.key, i + 1);\n\n // void(0) prevents problems with redefinition\n // of `undefined`.\n if (result !== void 0) {\n resolve(result);\n return;\n }\n }\n\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction _setItem(key, value, callback, retriesLeft) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n // The localStorage API doesn't return undefined values in an\n // \"expected\" way, so undefined is always cast to null in all\n // drivers. See: https://github.com/mozilla/localForage/pull/42\n if (value === undefined) {\n value = null;\n }\n\n // Save the original value to pass to the callback.\n var originalValue = value;\n\n var dbInfo = self._dbInfo;\n dbInfo.serializer.serialize(value, function (value, error) {\n if (error) {\n reject(error);\n } else {\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'INSERT OR REPLACE INTO ' + dbInfo.storeName + ' ' + '(key, value) VALUES (?, ?)', [key, value], function () {\n resolve(originalValue);\n }, function (t, error) {\n reject(error);\n });\n }, function (sqlError) {\n // The transaction failed; check\n // to see if it's a quota error.\n if (sqlError.code === sqlError.QUOTA_ERR) {\n // We reject the callback outright for now, but\n // it's worth trying to re-run the transaction.\n // Even if the user accepts the prompt to use\n // more storage on Safari, this error will\n // be called.\n //\n // Try to re-run the transaction.\n if (retriesLeft > 0) {\n resolve(_setItem.apply(self, [key, originalValue, callback, retriesLeft - 1]));\n return;\n }\n reject(sqlError);\n }\n });\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction setItem$1(key, value, callback) {\n return _setItem.apply(this, [key, value, callback, 1]);\n}\n\nfunction removeItem$1(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'DELETE FROM ' + dbInfo.storeName + ' WHERE key = ?', [key], function () {\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Deletes every item in the table.\n// TODO: Find out if this resets the AUTO_INCREMENT number.\nfunction clear$1(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'DELETE FROM ' + dbInfo.storeName, [], function () {\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Does a simple `COUNT(key)` to get the number of items stored in\n// localForage.\nfunction length$1(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n // Ahhh, SQL makes this one soooooo easy.\n tryExecuteSql(t, dbInfo, 'SELECT COUNT(key) as c FROM ' + dbInfo.storeName, [], function (t, results) {\n var result = results.rows.item(0).c;\n resolve(result);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Return the key located at key index X; essentially gets the key from a\n// `WHERE id = ?`. This is the most efficient way I can think to implement\n// this rarely-used (in my experience) part of the API, but it can seem\n// inconsistent, because we do `INSERT OR REPLACE INTO` on `setItem()`, so\n// the ID of each key will change every time it's updated. Perhaps a stored\n// procedure for the `setItem()` SQL would solve this problem?\n// TODO: Don't change ID on `setItem()`.\nfunction key$1(n, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT key FROM ' + dbInfo.storeName + ' WHERE id = ? LIMIT 1', [n + 1], function (t, results) {\n var result = results.rows.length ? results.rows.item(0).key : null;\n resolve(result);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction keys$1(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT key FROM ' + dbInfo.storeName, [], function (t, results) {\n var keys = [];\n\n for (var i = 0; i < results.rows.length; i++) {\n keys.push(results.rows.item(i).key);\n }\n\n resolve(keys);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// https://www.w3.org/TR/webdatabase/#databases\n// > There is no way to enumerate or delete the databases available for an origin from this API.\nfunction getAllStoreNames(db) {\n return new Promise$1(function (resolve, reject) {\n db.transaction(function (t) {\n t.executeSql('SELECT name FROM sqlite_master ' + \"WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'\", [], function (t, results) {\n var storeNames = [];\n\n for (var i = 0; i < results.rows.length; i++) {\n storeNames.push(results.rows.item(i).name);\n }\n\n resolve({\n db: db,\n storeNames: storeNames\n });\n }, function (t, error) {\n reject(error);\n });\n }, function (sqlError) {\n reject(sqlError);\n });\n });\n}\n\nfunction dropInstance$1(options, callback) {\n callback = getCallback.apply(this, arguments);\n\n var currentConfig = this.config();\n options = typeof options !== 'function' && options || {};\n if (!options.name) {\n options.name = options.name || currentConfig.name;\n options.storeName = options.storeName || currentConfig.storeName;\n }\n\n var self = this;\n var promise;\n if (!options.name) {\n promise = Promise$1.reject('Invalid arguments');\n } else {\n promise = new Promise$1(function (resolve) {\n var db;\n if (options.name === currentConfig.name) {\n // use the db reference of the current instance\n db = self._dbInfo.db;\n } else {\n db = openDatabase(options.name, '', '', 0);\n }\n\n if (!options.storeName) {\n // drop all database tables\n resolve(getAllStoreNames(db));\n } else {\n resolve({\n db: db,\n storeNames: [options.storeName]\n });\n }\n }).then(function (operationInfo) {\n return new Promise$1(function (resolve, reject) {\n operationInfo.db.transaction(function (t) {\n function dropTable(storeName) {\n return new Promise$1(function (resolve, reject) {\n t.executeSql('DROP TABLE IF EXISTS ' + storeName, [], function () {\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n }\n\n var operations = [];\n for (var i = 0, len = operationInfo.storeNames.length; i < len; i++) {\n operations.push(dropTable(operationInfo.storeNames[i]));\n }\n\n Promise$1.all(operations).then(function () {\n resolve();\n })[\"catch\"](function (e) {\n reject(e);\n });\n }, function (sqlError) {\n reject(sqlError);\n });\n });\n });\n }\n\n executeCallback(promise, callback);\n return promise;\n}\n\nvar webSQLStorage = {\n _driver: 'webSQLStorage',\n _initStorage: _initStorage$1,\n _support: isWebSQLValid(),\n iterate: iterate$1,\n getItem: getItem$1,\n setItem: setItem$1,\n removeItem: removeItem$1,\n clear: clear$1,\n length: length$1,\n key: key$1,\n keys: keys$1,\n dropInstance: dropInstance$1\n};\n\nfunction isLocalStorageValid() {\n try {\n return typeof localStorage !== 'undefined' && 'setItem' in localStorage &&\n // in IE8 typeof localStorage.setItem === 'object'\n !!localStorage.setItem;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getKeyPrefix(options, defaultConfig) {\n var keyPrefix = options.name + '/';\n\n if (options.storeName !== defaultConfig.storeName) {\n keyPrefix += options.storeName + '/';\n }\n return keyPrefix;\n}\n\n// Check if localStorage throws when saving an item\nfunction checkIfLocalStorageThrows() {\n var localStorageTestKey = '_localforage_support_test';\n\n try {\n localStorage.setItem(localStorageTestKey, true);\n localStorage.removeItem(localStorageTestKey);\n\n return false;\n } catch (e) {\n return true;\n }\n}\n\n// Check if localStorage is usable and allows to save an item\n// This method checks if localStorage is usable in Safari Private Browsing\n// mode, or in any other case where the available quota for localStorage\n// is 0 and there wasn't any saved items yet.\nfunction _isLocalStorageUsable() {\n return !checkIfLocalStorageThrows() || localStorage.length > 0;\n}\n\n// Config the localStorage backend, using options set in the config.\nfunction _initStorage$2(options) {\n var self = this;\n var dbInfo = {};\n if (options) {\n for (var i in options) {\n dbInfo[i] = options[i];\n }\n }\n\n dbInfo.keyPrefix = _getKeyPrefix(options, self._defaultConfig);\n\n if (!_isLocalStorageUsable()) {\n return Promise$1.reject();\n }\n\n self._dbInfo = dbInfo;\n dbInfo.serializer = localforageSerializer;\n\n return Promise$1.resolve();\n}\n\n// Remove all keys from the datastore, effectively destroying all data in\n// the app's key/value store!\nfunction clear$2(callback) {\n var self = this;\n var promise = self.ready().then(function () {\n var keyPrefix = self._dbInfo.keyPrefix;\n\n for (var i = localStorage.length - 1; i >= 0; i--) {\n var key = localStorage.key(i);\n\n if (key.indexOf(keyPrefix) === 0) {\n localStorage.removeItem(key);\n }\n }\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Retrieve an item from the store. Unlike the original async_storage\n// library in Gaia, we don't modify return values at all. If a key's value\n// is `undefined`, we pass that value to the callback function.\nfunction getItem$2(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var result = localStorage.getItem(dbInfo.keyPrefix + key);\n\n // If a result was found, parse it from the serialized\n // string into a JS object. If result isn't truthy, the key\n // is likely undefined and we'll pass it straight to the\n // callback.\n if (result) {\n result = dbInfo.serializer.deserialize(result);\n }\n\n return result;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Iterate over all items in the store.\nfunction iterate$2(iterator, callback) {\n var self = this;\n\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var keyPrefix = dbInfo.keyPrefix;\n var keyPrefixLength = keyPrefix.length;\n var length = localStorage.length;\n\n // We use a dedicated iterator instead of the `i` variable below\n // so other keys we fetch in localStorage aren't counted in\n // the `iterationNumber` argument passed to the `iterate()`\n // callback.\n //\n // See: github.com/mozilla/localForage/pull/435#discussion_r38061530\n var iterationNumber = 1;\n\n for (var i = 0; i < length; i++) {\n var key = localStorage.key(i);\n if (key.indexOf(keyPrefix) !== 0) {\n continue;\n }\n var value = localStorage.getItem(key);\n\n // If a result was found, parse it from the serialized\n // string into a JS object. If result isn't truthy, the\n // key is likely undefined and we'll pass it straight\n // to the iterator.\n if (value) {\n value = dbInfo.serializer.deserialize(value);\n }\n\n value = iterator(value, key.substring(keyPrefixLength), iterationNumber++);\n\n if (value !== void 0) {\n return value;\n }\n }\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Same as localStorage's key() method, except takes a callback.\nfunction key$2(n, callback) {\n var self = this;\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var result;\n try {\n result = localStorage.key(n);\n } catch (error) {\n result = null;\n }\n\n // Remove the prefix from the key, if a key is found.\n if (result) {\n result = result.substring(dbInfo.keyPrefix.length);\n }\n\n return result;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction keys$2(callback) {\n var self = this;\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var length = localStorage.length;\n var keys = [];\n\n for (var i = 0; i < length; i++) {\n var itemKey = localStorage.key(i);\n if (itemKey.indexOf(dbInfo.keyPrefix) === 0) {\n keys.push(itemKey.substring(dbInfo.keyPrefix.length));\n }\n }\n\n return keys;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Supply the number of keys in the datastore to the callback function.\nfunction length$2(callback) {\n var self = this;\n var promise = self.keys().then(function (keys) {\n return keys.length;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Remove an item from the store, nice and simple.\nfunction removeItem$2(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n localStorage.removeItem(dbInfo.keyPrefix + key);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Set a key's value and run an optional callback once the value is set.\n// Unlike Gaia's implementation, the callback function is passed the value,\n// in case you want to operate on that value only after you're sure it\n// saved, or something like that.\nfunction setItem$2(key, value, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = self.ready().then(function () {\n // Convert undefined values to null.\n // https://github.com/mozilla/localForage/pull/42\n if (value === undefined) {\n value = null;\n }\n\n // Save the original value to pass to the callback.\n var originalValue = value;\n\n return new Promise$1(function (resolve, reject) {\n var dbInfo = self._dbInfo;\n dbInfo.serializer.serialize(value, function (value, error) {\n if (error) {\n reject(error);\n } else {\n try {\n localStorage.setItem(dbInfo.keyPrefix + key, value);\n resolve(originalValue);\n } catch (e) {\n // localStorage capacity exceeded.\n // TODO: Make this a specific error/event.\n if (e.name === 'QuotaExceededError' || e.name === 'NS_ERROR_DOM_QUOTA_REACHED') {\n reject(e);\n }\n reject(e);\n }\n }\n });\n });\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction dropInstance$2(options, callback) {\n callback = getCallback.apply(this, arguments);\n\n options = typeof options !== 'function' && options || {};\n if (!options.name) {\n var currentConfig = this.config();\n options.name = options.name || currentConfig.name;\n options.storeName = options.storeName || currentConfig.storeName;\n }\n\n var self = this;\n var promise;\n if (!options.name) {\n promise = Promise$1.reject('Invalid arguments');\n } else {\n promise = new Promise$1(function (resolve) {\n if (!options.storeName) {\n resolve(options.name + '/');\n } else {\n resolve(_getKeyPrefix(options, self._defaultConfig));\n }\n }).then(function (keyPrefix) {\n for (var i = localStorage.length - 1; i >= 0; i--) {\n var key = localStorage.key(i);\n\n if (key.indexOf(keyPrefix) === 0) {\n localStorage.removeItem(key);\n }\n }\n });\n }\n\n executeCallback(promise, callback);\n return promise;\n}\n\nvar localStorageWrapper = {\n _driver: 'localStorageWrapper',\n _initStorage: _initStorage$2,\n _support: isLocalStorageValid(),\n iterate: iterate$2,\n getItem: getItem$2,\n setItem: setItem$2,\n removeItem: removeItem$2,\n clear: clear$2,\n length: length$2,\n key: key$2,\n keys: keys$2,\n dropInstance: dropInstance$2\n};\n\nvar sameValue = function sameValue(x, y) {\n return x === y || typeof x === 'number' && typeof y === 'number' && isNaN(x) && isNaN(y);\n};\n\nvar includes = function includes(array, searchElement) {\n var len = array.length;\n var i = 0;\n while (i < len) {\n if (sameValue(array[i], searchElement)) {\n return true;\n }\n i++;\n }\n\n return false;\n};\n\nvar isArray = Array.isArray || function (arg) {\n return Object.prototype.toString.call(arg) === '[object Array]';\n};\n\n// Drivers are stored here when `defineDriver()` is called.\n// They are shared across all instances of localForage.\nvar DefinedDrivers = {};\n\nvar DriverSupport = {};\n\nvar DefaultDrivers = {\n INDEXEDDB: asyncStorage,\n WEBSQL: webSQLStorage,\n LOCALSTORAGE: localStorageWrapper\n};\n\nvar DefaultDriverOrder = [DefaultDrivers.INDEXEDDB._driver, DefaultDrivers.WEBSQL._driver, DefaultDrivers.LOCALSTORAGE._driver];\n\nvar OptionalDriverMethods = ['dropInstance'];\n\nvar LibraryMethods = ['clear', 'getItem', 'iterate', 'key', 'keys', 'length', 'removeItem', 'setItem'].concat(OptionalDriverMethods);\n\nvar DefaultConfig = {\n description: '',\n driver: DefaultDriverOrder.slice(),\n name: 'localforage',\n // Default DB size is _JUST UNDER_ 5MB, as it's the highest size\n // we can use without a prompt.\n size: 4980736,\n storeName: 'keyvaluepairs',\n version: 1.0\n};\n\nfunction callWhenReady(localForageInstance, libraryMethod) {\n localForageInstance[libraryMethod] = function () {\n var _args = arguments;\n return localForageInstance.ready().then(function () {\n return localForageInstance[libraryMethod].apply(localForageInstance, _args);\n });\n };\n}\n\nfunction extend() {\n for (var i = 1; i < arguments.length; i++) {\n var arg = arguments[i];\n\n if (arg) {\n for (var _key in arg) {\n if (arg.hasOwnProperty(_key)) {\n if (isArray(arg[_key])) {\n arguments[0][_key] = arg[_key].slice();\n } else {\n arguments[0][_key] = arg[_key];\n }\n }\n }\n }\n }\n\n return arguments[0];\n}\n\nvar LocalForage = function () {\n function LocalForage(options) {\n _classCallCheck(this, LocalForage);\n\n for (var driverTypeKey in DefaultDrivers) {\n if (DefaultDrivers.hasOwnProperty(driverTypeKey)) {\n var driver = DefaultDrivers[driverTypeKey];\n var driverName = driver._driver;\n this[driverTypeKey] = driverName;\n\n if (!DefinedDrivers[driverName]) {\n // we don't need to wait for the promise,\n // since the default drivers can be defined\n // in a blocking manner\n this.defineDriver(driver);\n }\n }\n }\n\n this._defaultConfig = extend({}, DefaultConfig);\n this._config = extend({}, this._defaultConfig, options);\n this._driverSet = null;\n this._initDriver = null;\n this._ready = false;\n this._dbInfo = null;\n\n this._wrapLibraryMethodsWithReady();\n this.setDriver(this._config.driver)[\"catch\"](function () {});\n }\n\n // Set any config values for localForage; can be called anytime before\n // the first API call (e.g. `getItem`, `setItem`).\n // We loop through options so we don't overwrite existing config\n // values.\n\n\n LocalForage.prototype.config = function config(options) {\n // If the options argument is an object, we use it to set values.\n // Otherwise, we return either a specified config value or all\n // config values.\n if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) === 'object') {\n // If localforage is ready and fully initialized, we can't set\n // any new configuration values. Instead, we return an error.\n if (this._ready) {\n return new Error(\"Can't call config() after localforage \" + 'has been used.');\n }\n\n for (var i in options) {\n if (i === 'storeName') {\n options[i] = options[i].replace(/\\W/g, '_');\n }\n\n if (i === 'version' && typeof options[i] !== 'number') {\n return new Error('Database version must be a number.');\n }\n\n this._config[i] = options[i];\n }\n\n // after all config options are set and\n // the driver option is used, try setting it\n if ('driver' in options && options.driver) {\n return this.setDriver(this._config.driver);\n }\n\n return true;\n } else if (typeof options === 'string') {\n return this._config[options];\n } else {\n return this._config;\n }\n };\n\n // Used to define a custom driver, shared across all instances of\n // localForage.\n\n\n LocalForage.prototype.defineDriver = function defineDriver(driverObject, callback, errorCallback) {\n var promise = new Promise$1(function (resolve, reject) {\n try {\n var driverName = driverObject._driver;\n var complianceError = new Error('Custom driver not compliant; see ' + 'https://mozilla.github.io/localForage/#definedriver');\n\n // A driver name should be defined and not overlap with the\n // library-defined, default drivers.\n if (!driverObject._driver) {\n reject(complianceError);\n return;\n }\n\n var driverMethods = LibraryMethods.concat('_initStorage');\n for (var i = 0, len = driverMethods.length; i < len; i++) {\n var driverMethodName = driverMethods[i];\n\n // when the property is there,\n // it should be a method even when optional\n var isRequired = !includes(OptionalDriverMethods, driverMethodName);\n if ((isRequired || driverObject[driverMethodName]) && typeof driverObject[driverMethodName] !== 'function') {\n reject(complianceError);\n return;\n }\n }\n\n var configureMissingMethods = function configureMissingMethods() {\n var methodNotImplementedFactory = function methodNotImplementedFactory(methodName) {\n return function () {\n var error = new Error('Method ' + methodName + ' is not implemented by the current driver');\n var promise = Promise$1.reject(error);\n executeCallback(promise, arguments[arguments.length - 1]);\n return promise;\n };\n };\n\n for (var _i = 0, _len = OptionalDriverMethods.length; _i < _len; _i++) {\n var optionalDriverMethod = OptionalDriverMethods[_i];\n if (!driverObject[optionalDriverMethod]) {\n driverObject[optionalDriverMethod] = methodNotImplementedFactory(optionalDriverMethod);\n }\n }\n };\n\n configureMissingMethods();\n\n var setDriverSupport = function setDriverSupport(support) {\n if (DefinedDrivers[driverName]) {\n console.info('Redefining LocalForage driver: ' + driverName);\n }\n DefinedDrivers[driverName] = driverObject;\n DriverSupport[driverName] = support;\n // don't use a then, so that we can define\n // drivers that have simple _support methods\n // in a blocking manner\n resolve();\n };\n\n if ('_support' in driverObject) {\n if (driverObject._support && typeof driverObject._support === 'function') {\n driverObject._support().then(setDriverSupport, reject);\n } else {\n setDriverSupport(!!driverObject._support);\n }\n } else {\n setDriverSupport(true);\n }\n } catch (e) {\n reject(e);\n }\n });\n\n executeTwoCallbacks(promise, callback, errorCallback);\n return promise;\n };\n\n LocalForage.prototype.driver = function driver() {\n return this._driver || null;\n };\n\n LocalForage.prototype.getDriver = function getDriver(driverName, callback, errorCallback) {\n var getDriverPromise = DefinedDrivers[driverName] ? Promise$1.resolve(DefinedDrivers[driverName]) : Promise$1.reject(new Error('Driver not found.'));\n\n executeTwoCallbacks(getDriverPromise, callback, errorCallback);\n return getDriverPromise;\n };\n\n LocalForage.prototype.getSerializer = function getSerializer(callback) {\n var serializerPromise = Promise$1.resolve(localforageSerializer);\n executeTwoCallbacks(serializerPromise, callback);\n return serializerPromise;\n };\n\n LocalForage.prototype.ready = function ready(callback) {\n var self = this;\n\n var promise = self._driverSet.then(function () {\n if (self._ready === null) {\n self._ready = self._initDriver();\n }\n\n return self._ready;\n });\n\n executeTwoCallbacks(promise, callback, callback);\n return promise;\n };\n\n LocalForage.prototype.setDriver = function setDriver(drivers, callback, errorCallback) {\n var self = this;\n\n if (!isArray(drivers)) {\n drivers = [drivers];\n }\n\n var supportedDrivers = this._getSupportedDrivers(drivers);\n\n function setDriverToConfig() {\n self._config.driver = self.driver();\n }\n\n function extendSelfWithDriver(driver) {\n self._extend(driver);\n setDriverToConfig();\n\n self._ready = self._initStorage(self._config);\n return self._ready;\n }\n\n function initDriver(supportedDrivers) {\n return function () {\n var currentDriverIndex = 0;\n\n function driverPromiseLoop() {\n while (currentDriverIndex < supportedDrivers.length) {\n var driverName = supportedDrivers[currentDriverIndex];\n currentDriverIndex++;\n\n self._dbInfo = null;\n self._ready = null;\n\n return self.getDriver(driverName).then(extendSelfWithDriver)[\"catch\"](driverPromiseLoop);\n }\n\n setDriverToConfig();\n var error = new Error('No available storage method found.');\n self._driverSet = Promise$1.reject(error);\n return self._driverSet;\n }\n\n return driverPromiseLoop();\n };\n }\n\n // There might be a driver initialization in progress\n // so wait for it to finish in order to avoid a possible\n // race condition to set _dbInfo\n var oldDriverSetDone = this._driverSet !== null ? this._driverSet[\"catch\"](function () {\n return Promise$1.resolve();\n }) : Promise$1.resolve();\n\n this._driverSet = oldDriverSetDone.then(function () {\n var driverName = supportedDrivers[0];\n self._dbInfo = null;\n self._ready = null;\n\n return self.getDriver(driverName).then(function (driver) {\n self._driver = driver._driver;\n setDriverToConfig();\n self._wrapLibraryMethodsWithReady();\n self._initDriver = initDriver(supportedDrivers);\n });\n })[\"catch\"](function () {\n setDriverToConfig();\n var error = new Error('No available storage method found.');\n self._driverSet = Promise$1.reject(error);\n return self._driverSet;\n });\n\n executeTwoCallbacks(this._driverSet, callback, errorCallback);\n return this._driverSet;\n };\n\n LocalForage.prototype.supports = function supports(driverName) {\n return !!DriverSupport[driverName];\n };\n\n LocalForage.prototype._extend = function _extend(libraryMethodsAndProperties) {\n extend(this, libraryMethodsAndProperties);\n };\n\n LocalForage.prototype._getSupportedDrivers = function _getSupportedDrivers(drivers) {\n var supportedDrivers = [];\n for (var i = 0, len = drivers.length; i < len; i++) {\n var driverName = drivers[i];\n if (this.supports(driverName)) {\n supportedDrivers.push(driverName);\n }\n }\n return supportedDrivers;\n };\n\n LocalForage.prototype._wrapLibraryMethodsWithReady = function _wrapLibraryMethodsWithReady() {\n // Add a stub for each driver API method that delays the call to the\n // corresponding driver method until localForage is ready. These stubs\n // will be replaced by the driver methods as soon as the driver is\n // loaded, so there is no performance impact.\n for (var i = 0, len = LibraryMethods.length; i < len; i++) {\n callWhenReady(this, LibraryMethods[i]);\n }\n };\n\n LocalForage.prototype.createInstance = function createInstance(options) {\n return new LocalForage(options);\n };\n\n return LocalForage;\n}();\n\n// The actual localForage object that we expose as a module or via a\n// global. It's extended by pulling in one of our other libraries.\n\n\nvar localforage_js = new LocalForage();\n\nmodule.exports = localforage_js;\n\n},{\"3\":3}]},{},[4])(4)\n});\n","const Websocket = function (model) {\n let wsUrl = ['localhost', 'traintimes.silvrtree.co.uk'];\n let wsPort = '8100';\n const useUrl = 0;\n\n if ('https:' === document.location.protocol) {\n wsUrl = `wss://${ wsUrl[1] }`;\n wsPort = '';\n }\n else {\n // wsUrl = 'ws://localhost:3001';\n wsUrl = `ws://${ wsUrl[0] }`;\n wsPort = '8100';\n }\n\n console.log('>> wsUrl', wsUrl);\n this.socket = null;\n this.timer = 0;\n this.clock = null;\n this.connected = false;\n this.connectBuffer = [];\n\n this.startWebSocket = function () {\n 'use strict';\n\n const url = (wsPort === '') ? wsUrl : `${wsUrl }:${ wsPort}`;\n console.log('Starting socket', url);\n const wsCtor = window['MozWebSocket'] ? MozWebSocket : WebSocket;\n this.socket = new wsCtor(url, 'stream');\n\n this.socket.onopen = this.handleWebsocketOnOpen.bind(this);\n this.socket.onmessage = this.handleWebsocketMessage.bind(this);\n this.socket.onclose = this.handleWebsocketClose.bind(this);\n this.socket.onerror = function (e) {\n console.error(e);\n };\n };\n\n this.subscribe = function(channel) {\n console.log('Subscribe::', channel);\n const newSubscription = {\n 'request': 'SUBSCRIBE',\n 'message': '',\n 'channel': channel\n };\n \n if (this.connected)\n this.socket.send(JSON.stringify(newSubscription));\n else\n this.connectBuffer.push(JSON.stringify(newSubscription));\n };\n\n this.send = function (msg) {\n console.log('Sending', msg);\n this.socket.send(msg);\n };\n\n this.handleData = function (d) {\n model.trigger('message', d);\n };\n\n this.handleBuffer = function() {\n console.log('*** handleBuffer');\n\n while (this.connectBuffer.length > 0) {\n const item = this.connectBuffer.shift();\n this.socket.send(item);\n }\n };\n\n this.handleWebsocketOnOpen = function () {\n 'use strict';\n this.retry = 0;\n\n console.log('**** Websocket Connected ****');\n this.clock = new Date();\n\n this.connected = true;\n setTimeout(() => {\n this.handleBuffer();\n }, 1500);\n };\n\n this.handleWebsocketMessage = function (message) {\n let command;\n\n try {\n console.log('handleWebsocketMessage::raw', message);\n command = JSON.parse(message.data);\n console.log('handleWebsocketMessage::command', command);\n }\n catch (e) { /* Do nothing */\n }\n if (command)\n this.handleData.call(this, command);\n };\n\n this.handleWebsocketClose = function () {\n console.error('WebSocket Connection Closed.');\n const now = new Date();\n\n // const uptime = now.getTime() - this.clock.getTime();\n const uptime = 1;\n console.log('Socket alive for', uptime / 1000);\n const self = this;\n console.log('Waiting ', 15000);\n this.timer = setTimeout(function () {\n self.startWebSocket();\n }, 15000);\n };\n\n this.startWebSocket();\n};\n\nmodule.exports = Websocket;\n","export default\n[\n { 'follow': false,\n 'name': 'nationalrailenq',\n 'id': 33546465\n },\n { 'follow': false,\n 'name': 'networkrail',\n 'id': 365344176\n },\n { 'follow': false,\n 'name': 'NetworkRailSCOT',\n 'id': 402687948\n },\n { 'follow': false,\n 'name': 'AvantiWestCoast',\n 'id': 1143560758476906497\n },\n { 'follow': false,\n 'name': 'CalSleeper',\n 'id': 2870293725\n },\n { 'follow': false,\n 'name': 'CrossCountryUK',\n 'id': 153368708\n },\n { 'follow': false,\n 'name': 'Eurostar',\n 'id': 98412169\n },\n { 'follow': false,\n 'name': 'EurostarUK',\n 'id': 59742254\n },\n { 'follow': false,\n 'name': 'GatwickExpress',\n 'id': 163816182\n },\n { 'follow': false,\n 'name': 'GlasgowSubway',\n 'id': 224607925\n },\n { 'follow': false,\n 'name': 'GWRHelp',\n 'id': 15589815\n },\n { 'follow': false,\n 'name': 'HeathrowExpress',\n 'id': 20240678\n },\n { 'follow': false,\n 'name': 'LNER',\n 'id': 313306238\n },\n { 'follow': false,\n 'name': 'LNRailway',\n 'id': 910487328627535872\n },\n { 'follow': false,\n 'name': 'northernassist',\n 'id': 194512268\n },\n { 'follow': false,\n 'name': 'ScotRail',\n 'id': 61569136\n },\n { 'follow': false,\n 'name': 'Stansted_Exp',\n 'id': 257511611\n },\n { 'follow': false,\n 'name': 'TfL',\n 'id': 47319664\n },\n { 'follow': false, 'name':'WestMidRailway', 'id':915554470175657984 },\n { 'follow': false,\n 'name': 'NetworkRailBHM',\n 'id': 583910976\n },\n { 'follow': false,\n 'name': 'NetworkRailEDB',\n 'id': 586614081\n },\n { 'follow': false,\n 'name': 'NetworkRailEUS',\n 'id': 581807264\n },\n { 'follow': false,\n 'name': 'NetworkRailGLC',\n 'id': 421061171\n },\n { 'follow': false,\n 'name': 'NetworkRailKGX',\n 'id': 459192871\n },\n { 'follow': false,\n 'name': 'NetworkRailLST',\n 'id': 581826097\n },\n { 'follow': false,\n 'name': 'NetworkRailMAN',\n 'id': 583895871\n },\n { 'follow': false,\n 'name': 'NetworkRailVIC',\n 'id': 587354752\n },\n { 'follow': false,\n 'name': 'BTP',\n 'id': 266094415\n },\n { 'follow': false,\n 'name': 'BTPAvonSomerset',\n 'id': 738664125132345344\n },\n { 'follow': false,\n 'name': 'BTPBhm',\n 'id': 952003488\n },\n { 'follow': false,\n 'name': 'BTPBlackCountry',\n 'id': 767698362866999297\n },\n { 'follow': false,\n 'name': 'BTPCambs',\n 'id': 2574726074\n },\n { 'follow': false,\n 'name': 'BTPCardiff_NWP',\n 'id': 951714852\n },\n { 'follow': false,\n 'name': 'BTPEAnglia',\n 'id': 4479942923\n },\n { 'follow': false,\n 'name': 'BTPEssex',\n 'id': 2949032015\n },\n { 'follow': false,\n 'name': 'BTPGtrMcr',\n 'id': 1670204977\n },\n { 'follow': false,\n 'name': 'BTPLeics',\n 'id': 761147194598711296\n },\n { 'follow': false,\n 'name': 'BTPLiverpoolSt',\n 'id': 951912242\n },\n { 'follow': false,\n 'name': 'BTPLondon',\n 'id': 957226980\n },\n { 'follow': false,\n 'name': 'BTPLondonBridge',\n 'id': 3346645594\n },\n { 'follow': false,\n 'name': 'BTPMersey',\n 'id': 951748434\n },\n { 'follow': false,\n 'name': 'BTPNorthScot',\n 'id': 2238888007\n },\n { 'follow': false,\n 'name': 'BTPNorthWales',\n 'id': 951487338\n },\n { 'follow': false,\n 'name': 'BTPOxon',\n 'id': 741228701791178753\n },\n { 'follow': false,\n 'name': 'BTPPontypridd',\n 'id': 1672678292\n },\n { 'follow': false,\n 'name': 'BTPScotland',\n 'id': 957256160\n },\n { 'follow': false,\n 'name': 'BTPSouthYorks',\n 'id': 3384315676\n },\n { 'follow': false,\n 'name': 'BTPTeesValley',\n 'id': 802182849872936962\n },\n { 'follow': false,\n 'name': 'BTPUnderground',\n 'id': 986236195049897985\n },\n { 'follow': false,\n 'name': 'BTPWales',\n 'id': 1430734374\n },\n { 'follow': false,\n 'name': 'BTPWaterloo',\n 'id': 951997044\n },\n { 'follow': false,\n 'name': 'BTPWestScot',\n 'id': 951757261\n }\n];\n","/**\n * Created by WebStorm.\n * User: martin\n * Date: 28/04/2020\n * Time: 11:28\n\n */\nimport axios from 'redaxios';\n\nimport { writable, get, derived } from 'svelte/store';\nimport localforage from 'localforage';\nconst baseUrl = (ENV === 'production') ? (`${location.protocol }//${ location.hostname}`) : 'http://localhost:8100';\n\nimport Websocket from '../libs/websocket';\n\nimport twitterAccountsJson from '../libs/twitter';\n\nlet started = false;\n\nconst twitterAccounts = {};\n \nconst OLDtwitterAccounts = {\n 'nationalrailenq': {\n 'id': 33546465,\n 'follow': false\n },\n 'networkrail': {\n 'id': 365344176,\n 'follow': false\n },\n 'NetworkRailSCOT': {\n 'id': 402687948,\n 'follow': false\n },\n 'AvantiWestCoast': {\n 'id': 1143560758476906497,\n 'follow': false\n },\n 'CalSleeper': {\n 'id': 2870293725,\n 'follow': false\n },\n 'CrossCountryUK': {\n 'id': 153368708,\n 'follow': false\n },\n 'Eurostar': {\n 'id': 98412169,\n 'follow': false\n },\n 'EurostarUK': {\n 'id': 59742254,\n 'follow': false\n },\n 'GatwickExpress': {\n 'id': 163816182,\n 'follow': false\n },\n 'GlasgowSubway': {\n 'id': 224607925,\n 'follow': false\n },\n 'GWRHelp': {\n 'id': 15589815,\n 'follow': false\n },\n 'HeathrowExpress': {\n 'id': 20240678,\n 'follow': false\n },\n 'LNER': {\n 'id': 313306238,\n 'follow': false\n },\n 'LNRailway': {\n 'id': 910487328627535872,\n 'follow': false\n },\n 'northernassist': {\n 'id': 194512268,\n 'follow': false\n },\n 'ScotRail': {\n 'id': 61569136,\n 'follow': false\n },\n 'Stansted_Exp': {\n 'id': 257511611,\n 'follow': false\n },\n 'TfL': {\n 'id': 47319664,\n 'follow': false\n },\n 'NetworkRailBHM': {\n 'id': 583910976,\n 'follow': false\n },\n 'NetworkRailEDB': {\n 'id': 586614081,\n 'follow': false\n },\n 'NetworkRailEUS': {\n 'id': 581807264,\n 'follow': false\n },\n 'NetworkRailGLC': {\n 'id': 421061171,\n 'follow': false\n },\n 'NetworkRailKGX': {\n 'id': 459192871,\n 'follow': false\n },\n 'NetworkRailLST': {\n 'id': 581826097,\n 'follow': false\n },\n 'NetworkRailMAN': {\n 'id': 583895871,\n 'follow': false\n },\n 'NetworkRailVIC': {\n 'id': 587354752,\n 'follow': false\n },\n 'BTPScotland': {\n 'id': 957256160,\n 'follow': false\n }\n};\n\nconst state = {\n 'newTweets' : writable([]),\n 'twitterFollowing': writable({}),\n 'twitterFollowingList' : writable([]),\n 'tweetList' : writable([]),\n 'tweets' : writable([]),\n 'favourites' : writable([]),\n 'routes' : writable([]),\n 'routeIndex' : writable(0),\n incrementRouteIndex() {\n this.routeIndex.update(v => v + 1);\n },\n async saveRoute(newRoute) {\n // console.log('Newroute', newRoute);\n const _newRoute = { ...newRoute };\n _newRoute.id = get(this.routeIndex);\n \n this.routes.update((v) => {\n // console.log('update', [...v, _newRoute]);\n \n return [...v, _newRoute];\n });\n this.incrementRouteIndex();\n },\n deleteRoute(id) {\n const pre = get(this.routes).slice(0, id);\n\n const post = get(this.routes).slice(id + 1);\n\n this.routes.set([...pre, ...post]);\n },\n async getTweets() {\n // console.log('>> getTweets');\n // console.log('>> state.twitterFollowingList', get(state.twitterFollowingList));\n const list = get(state.twitterFollowingList).map((item) => {\n return item[1].id; \n })/* .join(',')*/;\n // console.log('>> actual ids', list);\n // const routeUrl = `/twitter?t=${list}`;\n const routeUrl = '/twitter';\n const twitterUrl = baseUrl.concat(routeUrl);\n const postReq = {\n 'method':'post',\n 'url': twitterUrl,\n 'data' : {\n list\n }\n };\n // console.log(postReq);\n axios(postReq)\n .then((d) => {\n // console.log('>> retrieved', d);\n // const data = JSON.parse(d.data);\n const data = d.data;\n\n this.newTweets.set(data);\n }).catch((err) => {\n console.error('Store:getTweets', err);\n });\n },\n getTweetByID(id) {\n return get(this.tweets).get(id);\n },\n getTwitterFollowing() {\n return get(this.twitterFollowing);\n },\n saveTwitterFollowing(newVals) {\n this.twitterFollowing.set(newVals);\n },\n \n getBaseUrl() {\n return baseUrl;\n },\n updateTweetList(id) {\n this.tweetList.update(list => {\n return [id, ...list];\n });\n },\n updateTwitter(item) {\n this.tweets.update(orig => {\n return orig.set(item.id, item);\n });\n },\n updateNewTweets(item) {\n this.newTweets.update( orig => {\n let wa = [...orig];\n\n wa.unshift(item);\n \n wa = wa.slice(0, 49);\n\n return wa;\n });\n },\n\n trigger(msg, item) {\n console.log('trigger', item);\n\n if (item.hasOwnProperty('message') ) {\n const payload = item.message;\n\n this.updateTwitter(payload);\n this.updateTweetList(payload.id);\n this.updateNewTweets(payload);\n }\n }\n \n};\n\nconst webSocket = new Websocket(state);\n\nlocalforage.getItem('twitterFollowing').then((value) => {\n console.log('localForage::twitterFollowing', value);\n\n if (value !== null) state.twitterFollowing.set(value);\n else {\n // load twitterAccounts\n\n twitterAccountsJson.forEach((item) => {\n twitterAccounts[item.name] = { 'id': item.id, 'follow':false };\n });\n\n state.twitterFollowing.set(twitterAccounts);\n localforage.setItem('twitterFollowing', twitterAccounts).catch((err) => {\n // This code runs if there were any errors\n console.error(err);\n });\n }\n\n // console.log('twitterFollowing', get(state.twitterFollowing));\n}).catch((err) => {\n console.error(err);\n});\n\nlocalforage.getItem('favourites').then((value) => {\n if (value !== null) state.favourites.set(value);\n}).catch((err) => {\n console.error(err);\n});\n\nlocalforage.getItem('routes').then((value) => {\n if (value !== null) state.routes.set(value);\n}).catch((err) => {\n console.error(err);\n});\n\nlocalforage.getItem('routeIndex').then((value) => {\n if (value !== null) state.routeIndex.set(value);\n}).catch((err) => {\n console.error(err);\n});\n\nstate.favourites.subscribe((v) => {\n console.log('>> Store.state.favourites', v);\n});\n\nstate.routes.subscribe((v) => {\n if (started) \n // console.log('>> Store.state.routes', v);\n localforage.setItem('routes', v).catch((err) => {\n // This code runs if there were any errors\n console.error(err);\n });\n});\n\nstate.routeIndex.subscribe((v) => {\n if (started) \n // console.log('>> Store.state.routeIndex', v);\n localforage.setItem('routeIndex', v).catch((err) => {\n // This code runs if there were any errors\n console.error(err);\n });\n});\n\nstate.twitterFollowing.subscribe((v) => {\n if (started) \n // console.log('>> Store.state.twitterFollowing', v);\n localforage.setItem('twitterFollowing', v).catch((err) => {\n // This code runs if there were any errors\n console.error(err);\n });\n\n const list = Object.entries(get(state.twitterFollowing)).filter((item) => {\n if (item[1].follow) return item;\n });\n\n state.twitterFollowingList.set(list);\n});\n\nstate.twitterFollowingList.subscribe((v) => {\n if (v.length === 0) return;\n console.log('twitterFollowingList', v.length);\n v.forEach((item) => {\n const id = item[1].id;\n webSocket.subscribe(`t-${id}`);\n });\n});\n\nstate.newTweets.subscribe((data) => {\n if (data.length === 0) return;\n console.log('>> newTweets', data.length);\n\n const list = data.map((item) => {\n return item.id;\n });\n\n const tMap = data.map((item) => {\n return [item.id, item];\n });\n\n state.tweetList.set(list);\n state.tweets.set(new Map(tMap));\n});\n\n// started = true;\nsetTimeout(() => {\n started = true;\n}, 250);\n\nexport { state };\n","\n\n\n\n
\n
\n
{startStationName}
\n
{destStationName}
\n
\n
\n {displayTime}\n
\n
\n","\n\n
\n {#each _routes as item}\n \n\n {/each}\n\n\n\n\n
\n\n","/**\n * Created by WebStorm.\n * User: martin\n * Date: 20/04/2020\n * Time: 12:01\n\n */\n\nconst reducer = {\n reduceOtherDetails (data) {\n const nrMessages = [];\n // we have national rail messages so put a box at the top\n //
\n let index = 0;\n const anchorRegex = /<\\s*[aA].*?href\\s*=\\s*(?:\"|')(.*?)(?:\"|')[^>]*>(.*?)<\\s*?\\/\\s*?[aA]\\s*?>/;\n\n if (typeof data.nrccMessages === 'object' && data.nrccMessages !== null) \n for (const item of data.nrccMessages) {\n const newObj = { 'index': 0, 'msg': '', 'link': null, 'linkText': '' };\n\n let msg = item.value.replace(' \">', '\">').replace('
', '').replace('/gi, '');\n const anchor = anchorRegex.exec(item.value);\n msg = msg.replace(anchorRegex, '');\n\n newObj.index = index;\n newObj.msg = msg;\n if (anchor !== null) {\n newObj.link = anchor[1];\n newObj.linkText = anchor[2];\n }\n\n nrMessages.push(newObj);\n index++;\n }\n \n return { nrMessages, 'nrMessagesExist': nrMessages.length > 0 };\n },\n reduceTrainTimetable (data) {\n const services = [];\n let ws = '';\n const symbol = ['💠', '🚉'];\n if (typeof data === 'object' && data !== null) {\n console.log('>> reduceTrainService');\n // console.log(data);\n if (typeof data.trainServices === 'object' && data.trainServices !== null) \n for (const item of data.trainServices) {\n // console.log(item)\n const dest = item.destination[0];\n const via = dest.via !== null ? dest.via : '';\n const platform = item.platform !== null ? item.platform : `${symbol[0]}`;\n // 🚉 💠\n // const time = item.sta !== null ? item.sta : `D ${item.std}`\n const time = item.sta !== null ? item.sta : `D ${item.std}`;\n const isDeparture = item.sta === null;\n const status = item.eta !== null ? item.eta : item.etd;\n const trainLength = item.length;\n\n const carriageCount = (trainLength > 0) ? ` (${trainLength} 🚃) ` : '';\n\n const statusMode = (status.toLowerCase() === 'on time') ? 'ontime' : 'delayed';\n const delayReason = (item.delayReason !== null) ? item.delayReason : '';\n\n const cancelReason = (item.cancelReason !== null) ? item.cancelReason : 'No reason given 🤷';\n\n const serviceIdUrlSafe = item.serviceIdUrlSafe;\n\n services.push({ 'location': dest.locationName, 'time': time, 'status': status, 'platform': platform, 'cancel': cancelReason, 'type': 'train', 'delay': delayReason, 'carriageCount': carriageCount, 'via': via, 'statusMode': statusMode, 'isCancelled': item.isCancelled, 'isDeparture': isDeparture, 'serviceIdUrlSafe': serviceIdUrlSafe });\n if (!item.isCancelled)\n ws = `${ws}${dest.locationName}${carriageCount}${via}\n ${time}\n ${status}\n ${platform}\n ${delayReason}`;\n else\n ws = `${ws}${dest.locationName} ${via}${time}\n ❌ ${cancelReason}`;\n } \n\n if (typeof data.busServices === 'object' && data.busServices !== null) \n for (const item of data.busServices) {\n const dest = item.destination[0];\n const via = dest.via !== null ? dest.via : '';\n const platform = item.platform !== null ? item.platform : '';\n const time = item.sta !== null ? item.sta : `D ${item.std}`;\n const status = item.eta !== null ? item.eta : item.etd;\n services.push({ 'location': dest.locationName, 'time': time, 'status': status, 'platform': platform, 'cancel': item.cancelReason, 'type': 'bus', 'via': via });\n }\n }\n console.log(services);\n \n return services;\n },\n reduceTrainService (d) {\n let callingpoints = [];\n\n const departureTime = d.sta || d.std;\n const departureStatus = d.eta || d.etd;\n\n const currentLocation = { 'locationName': d.locationName, 'crs': d.crs, 'st': d.sta, 'et': d.eta, 'at': d.ata, 'isCancelled': d.isCancelled, 'length': d.length, 'detachFront': d.detachFront, 'adhocAlerts': d.adhocAlerts };\n\n if (d.previousCallingPoints !== null) \n callingpoints = callingpoints.concat(d.previousCallingPoints[0].callingPoint);\n\n callingpoints.push(currentLocation);\n\n if (d.subsequentCallingPoints !== null) \n callingpoints = callingpoints.concat(d.subsequentCallingPoints[0].callingPoint);\n\n callingpoints = callingpoints.map((item) => {\n // console.log(item)\n item.et = (item.et === null) ? '' : item.et;\n item.at = (item.at === null) ? '' : item.at;\n\n item.etMode = (item.et.toLowerCase() === 'on time') ? 'ontime' : 'delayed';\n item.atMode = (item.at.toLowerCase() === 'on time') ? 'ontime' : 'delayed';\n item.delayReason = (item.delayReason !== null) ? item.delayReason : '';\n item.cancelReason = (item.cancelReason !== null) ? item.cancelReason : 'No reason given 🤷';\n item.classCancel = (item.isCancelled) ? 'cancelledRow' : '';\n\n if (item.st === null && (item.et === null || item.et === '')) {\n item.st = `D ${departureTime}`;\n item.et = departureStatus;\n }\n\n return item;\n });\n \n return callingpoints;\n }\n};\n\nmodule.exports = reducer;\n","\n\n\n\n
\n
\n
Station
\n
Due
\n
Estimated
\n
Arrived
\n
\n {#if list.length > 0}\n {#each list as item}\n
\n
{item.locationName}
\n
{item.st}
\n
{item.et}
\n
{item.at}
\n
\n {/each}\n {/if}\n
\n","\n\n\n\n
\n \n
\n\n","\n\n\n\n
\n
\n {#if otherDetails.nrMessagesExist === true}\n \n {/if}\n\n {#if list.length > 0}\n\n {#each list as item, i (item.serviceIdUrlSafe)}\n
\n
\n {item.location}\n {item.carriageCount}\n
\n {#if item.via}\n \n {item.via}\n {/if}\n
\n
\n
{item.time}
\n\n {#if item.isCancelled}\n
{item.cancel}
\n {:else}\n
{item.status}
\n
{item.platform}
\n {/if}\n
\n {/each}\n\n\n {/if}\n\n
\n\n
\n\n","\n\n\n\n
\n
\n
{fromStationName} TO {destStationName}
\n \n\n \n
\n\n
\n\n","\n\n\n\n\n \n \n {#if searchResults.length > 0}\n \n {/if}\n\n","\n\n\n\n{#if editorVisible}\n
\n
\n
New Route
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n\n
\n\n
\n\n \n \n
\n\n\n
\n
\n{:else}\n
\n \n\n
\n\n{/if}\n","export function longpress(node, duration) {\n let timer;\n\n const handleMousedown = () => {\n console.log('>> handleMousedown');\n timer = setTimeout(() => {\n node.dispatchEvent(\n new CustomEvent('longpress')\n );\n }, duration);\n };\n\n const handleMouseup = () => {\n clearTimeout(timer);\n };\n\n node.addEventListener('mousedown', handleMousedown);\n node.addEventListener('mouseup', handleMouseup);\n\n return {\n update(newDuration) {\n duration = newDuration;\n },\n destroy() {\n node.removeEventListener('mousedown', handleMousedown);\n node.removeEventListener('mouseup', handleMouseup);\n }\n };\n}\n","\n\n\n\n
\n
\n
{item.startStation.name}
\n
\n
{item.destStation.name}
\n
\n\n\n
\n\n {#if buttonsVisible}\n
\n \n \n\n \n\n
\n {/if}\n
\n","\n\n\n\n{#each _routes as item, i (item.id)}\n \n\n{/each}\n","\n\n\n\n
\n
Twitter
\n {#if mounted}\n\n
\n {#each tweeters as item }\n
\n \n
\n\n {/each}\n
\n {/if}\n\n
\n","\n\n\n\n{#if tweet}\n
\n\n
\n
\n \"@{tweet.user.screen_name}\"/\n
\n
{tweet.user.name}
\n
@{tweet.user.screen_name}
\n
\n
\n
\n {#if inReply}\n
\n Replying to @{tweet.in_reply_to_screen_name}\n
\n {/if}\n
\n {tweetBody}\n
\n
\n {tweet.created_at}\n
\n\n
\n{/if}\n","\n\n\n\n
\n
Twitter
\n {#each _tweets as item, i (item)}\n \n {/each}\n\n
\n","/**\n * Created by WebStorm.\n * User: martin\n * Date: 19/04/2020\n * Time: 21:19\n\n */\n// import { wrap } from 'svelte-spa-router';\n\nimport Home from './pages/Home.svelte';\nimport Service from './pages/Service.svelte';\nimport Timetable from './pages/Timetable.svelte';\nimport Settings from './pages/Settings.svelte';\nimport Favourites from './pages/Favourites.svelte';\nimport Twitter from './pages/Twitter.svelte';\nimport NotFound from './pages/NotFound.svelte';\n\nconst routes = new Map();\nroutes.set('/', Home);\nroutes.set('/timetable/:fromStation/:destStation', Timetable);\nroutes.set('/service/:serviceId', Service);\nroutes.set('/settings', Settings);\nroutes.set('/favourites', Favourites);\nroutes.set('/tweets', Twitter);\nroutes.set('*', NotFound);\n\nexport default routes;\n","\n\n\n\n
\n\n
\n {#if currentMode === 1}\n \n \n \n {/if}\n\n\n {titleText}\n
\n\n\n
\n \n \n {#if showFav}\n Favourites\n {/if}\n
\n\n\n
\n","\n\n\n\n\n\n\n
\n\n","import App from './App.svelte';\n\nimport { state } from './store/store';\n\nconst app = new App({\n 'target': document.body,\n 'props': {\n\t\t\n }\n});\n\nif ('serviceWorker' in navigator) {\n //\n navigator.serviceWorker.ready.then(function(reg) {\n console.warn('Ready??', reg);\n // main();\n });\n\n window.addEventListener('load', function() {\n navigator.serviceWorker\n .register('./service-worker.js')\n .then((r) => {\n console.warn('Service Worker Registered', r.scope);\n })\n .catch((error) => {\n // registration failed\n console.error(`Registration failed with ${ error}`);\n });\n });\n\n //\n}\n\nexport default app;\n"],"names":["location","active","linear","require","global","get","Websocket","twitterAccountsJson","LocalStorage","findStation","minuteFloor","reducer","debounce","searchStation","Twitter"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"bundle.js","sources":["../../node_modules/svelte/internal/index.mjs","../../node_modules/svelte/store/index.mjs","../../node_modules/regexparam/dist/regexparam.mjs","../../node_modules/svelte-spa-router/Router.svelte","../../node_modules/svelte-spa-router/active.js","../../node_modules/svelte/easing/index.mjs","../../node_modules/svelte/transition/index.mjs","../../src/libs/stations.js","../../src/libs/utils.js","../../node_modules/redaxios/dist/redaxios.module.js","../../node_modules/localforage/dist/localforage.js","../../src/libs/websocket.js","../../src/libs/twitter.js","../../src/store/store.js","../../src/components/TrainRoute.svelte","../../src/pages/Home.svelte","../../src/libs/reducer.js","../../src/components/TrainService.svelte","../../src/pages/Service.svelte","../../src/components/TimetableList.svelte","../../src/pages/Timetable.svelte","../../src/components/SettingsInput.svelte","../../src/components/SettingsEditor.svelte","../../src/libs/longpress.js","../../src/components/SettingsListItem.svelte","../../src/components/SettingsList.svelte","../../src/components/TwitterSettings.svelte","../../src/components/Twitter.svelte","../../src/pages/Twitter.svelte","../../src/routes.js","../../src/components/Header.svelte","../../src/App.svelte","../../src/main.js"],"sourcesContent":["function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value = ret) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? undefined : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction claim_element(nodes, name, attributes, svg) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeName === name) {\n let j = 0;\n const remove = [];\n while (j < node.attributes.length) {\n const attribute = node.attributes[j++];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n for (let k = 0; k < remove.length; k++) {\n node.removeAttribute(remove[k]);\n }\n return nodes.splice(i, 1)[0];\n }\n }\n return svg ? svg_element(name) : element(name);\n}\nfunction claim_text(nodes, data) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 3) {\n node.data = '' + data;\n return nodes.splice(i, 1)[0];\n }\n }\n return text(data);\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n node.style.setProperty(key, value, important ? 'important' : '');\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n const z_index = (parseInt(computed_style.zIndex) || 0) - 1;\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', `display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ` +\n `overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: ${z_index};`);\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = `data:text/html,`;\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, false, false, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor(anchor = null) {\n this.a = anchor;\n this.e = this.n = null;\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n this.e = element(target.nodeName);\n this.t = target;\n this.h(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\n\nconst active_docs = new Set();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = node.ownerDocument;\n active_docs.add(doc);\n const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = doc.head.appendChild(element('style')).sheet);\n const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {});\n if (!current_rules[name]) {\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ``}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n active_docs.forEach(doc => {\n const stylesheet = doc.__svelte_stylesheet;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n doc.__svelte_rules = {};\n });\n active_docs.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error(`Function called outside component initialization`);\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n callbacks.slice().forEach(fn => fn(event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\nlet flushing = false;\nconst seen_callbacks = new Set();\nfunction flush() {\n if (flushing)\n return;\n flushing = true;\n do {\n // first, call beforeUpdate functions\n // and update components\n for (let i = 0; i < dirty_components.length; i += 1) {\n const component = dirty_components[i];\n set_current_component(component);\n update(component.$$);\n }\n dirty_components.length = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n flushing = false;\n seen_callbacks.clear();\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = program.b - t;\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n info.blocks[i] = null;\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error(`Cannot have duplicate keys in a keyed each`);\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, classes_to_add) {\n const attributes = Object.assign({}, ...args);\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += \" \" + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += \" \" + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${String(value).replace(/\"/g, '"').replace(/'/g, ''')}\"`;\n }\n });\n return str;\n}\nconst escaped = {\n '\"': '"',\n \"'\": ''',\n '&': '&',\n '<': '<',\n '>': '>'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(parent_component ? parent_component.$$.context : []),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, options = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, options);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : ``;\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const prop_values = options.props || {};\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n before_update: [],\n after_update: [],\n context: new Map(parent_component ? parent_component.$$.context : []),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false\n };\n let ready = false;\n $$.ctx = instance\n ? instance(component, prop_values, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor);\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.24.1' }, detail)));\n}\nfunction append_dev(target, node) {\n dispatch_dev(\"SvelteDOMInsert\", { target, node });\n append(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev(\"SvelteDOMInsert\", { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev(\"SvelteDOMRemove\", { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? [\"capture\"] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev(\"SvelteDOMAddEventListener\", { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev(\"SvelteDOMRemoveEventListener\", { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev(\"SvelteDOMRemoveAttribute\", { node, attribute });\n else\n dispatch_dev(\"SvelteDOMSetAttribute\", { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev(\"SvelteDOMSetProperty\", { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev(\"SvelteDOMSetDataset\", { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev(\"SvelteDOMSetData\", { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(`'target' is a required option`);\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn(`Component was already destroyed`); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error(`Infinite loop detected`);\n }\n };\n}\n\nexport { HtmlTag, SvelteComponent, SvelteComponentDev, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_transform, afterUpdate, append, append_dev, assign, attr, attr_dev, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_space, claim_text, clear_loops, component_subscribe, compute_rest_props, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, escape, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getContext, get_binding_group_value, get_current_component, get_slot_changes, get_slot_context, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, has_prop, identity, init, insert, insert_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, listen, listen_dev, loop, loop_guard, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, update_keyed_each, update_slot, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr };\n","import { noop, safe_not_equal, subscribe, run_all, is_function } from '../internal';\nexport { get_store_value as get } from '../internal';\n\nconst subscriber_queue = [];\n/**\n * Creates a `Readable` store that allows reading by subscription.\n * @param value initial value\n * @param {StartStopNotifier}start start and stop notifications for subscriptions\n */\nfunction readable(value, start) {\n return {\n subscribe: writable(value, start).subscribe,\n };\n}\n/**\n * Create a `Writable` store that allows both updating and reading by subscription.\n * @param {*=}value initial value\n * @param {StartStopNotifier=}start start and stop notifications for subscriptions\n */\nfunction writable(value, start = noop) {\n let stop;\n const subscribers = [];\n function set(new_value) {\n if (safe_not_equal(value, new_value)) {\n value = new_value;\n if (stop) { // store is ready\n const run_queue = !subscriber_queue.length;\n for (let i = 0; i < subscribers.length; i += 1) {\n const s = subscribers[i];\n s[1]();\n subscriber_queue.push(s, value);\n }\n if (run_queue) {\n for (let i = 0; i < subscriber_queue.length; i += 2) {\n subscriber_queue[i][0](subscriber_queue[i + 1]);\n }\n subscriber_queue.length = 0;\n }\n }\n }\n }\n function update(fn) {\n set(fn(value));\n }\n function subscribe(run, invalidate = noop) {\n const subscriber = [run, invalidate];\n subscribers.push(subscriber);\n if (subscribers.length === 1) {\n stop = start(set) || noop;\n }\n run(value);\n return () => {\n const index = subscribers.indexOf(subscriber);\n if (index !== -1) {\n subscribers.splice(index, 1);\n }\n if (subscribers.length === 0) {\n stop();\n stop = null;\n }\n };\n }\n return { set, update, subscribe };\n}\nfunction derived(stores, fn, initial_value) {\n const single = !Array.isArray(stores);\n const stores_array = single\n ? [stores]\n : stores;\n const auto = fn.length < 2;\n return readable(initial_value, (set) => {\n let inited = false;\n const values = [];\n let pending = 0;\n let cleanup = noop;\n const sync = () => {\n if (pending) {\n return;\n }\n cleanup();\n const result = fn(single ? values[0] : values, set);\n if (auto) {\n set(result);\n }\n else {\n cleanup = is_function(result) ? result : noop;\n }\n };\n const unsubscribers = stores_array.map((store, i) => subscribe(store, (value) => {\n values[i] = value;\n pending &= ~(1 << i);\n if (inited) {\n sync();\n }\n }, () => {\n pending |= (1 << i);\n }));\n inited = true;\n sync();\n return function stop() {\n run_all(unsubscribers);\n cleanup();\n };\n });\n}\n\nexport { derived, readable, writable };\n","export default function (str, loose) {\n\tif (str instanceof RegExp) return { keys:false, pattern:str };\n\tvar c, o, tmp, ext, keys=[], pattern='', arr = str.split('/');\n\tarr[0] || arr.shift();\n\n\twhile (tmp = arr.shift()) {\n\t\tc = tmp[0];\n\t\tif (c === '*') {\n\t\t\tkeys.push('wild');\n\t\t\tpattern += '/(.*)';\n\t\t} else if (c === ':') {\n\t\t\to = tmp.indexOf('?', 1);\n\t\t\text = tmp.indexOf('.', 1);\n\t\t\tkeys.push( tmp.substring(1, !!~o ? o : !!~ext ? ext : tmp.length) );\n\t\t\tpattern += !!~o && !~ext ? '(?:/([^/]+?))?' : '/([^/]+?)';\n\t\t\tif (!!~ext) pattern += (!!~o ? '?' : '') + '\\\\' + tmp.substring(ext);\n\t\t} else {\n\t\t\tpattern += '/' + tmp;\n\t\t}\n\t}\n\n\treturn {\n\t\tkeys: keys,\n\t\tpattern: new RegExp('^' + pattern + (loose ? '(?=$|\\/)' : '\\/?$'), 'i')\n\t};\n}\n","\n\n{#if componentParams}\n \n{:else}\n \n{/if}\n\n\n","import regexparam from 'regexparam'\nimport {loc} from './Router.svelte'\n\n// List of nodes to update\nconst nodes = []\n\n// Current location\nlet location\n\n// Function that updates all nodes marking the active ones\nfunction checkActive(el) {\n // Repeat this for each class\n (el.className || '').split(' ').forEach((cls) => {\n if (!cls) {\n return\n }\n // Remove the active class firsts\n el.node.classList.remove(cls)\n\n // If the pattern matches, then set the active class\n if (el.pattern.test(location)) {\n el.node.classList.add(cls)\n }\n })\n}\n\n// Listen to changes in the location\nloc.subscribe((value) => {\n // Update the location\n location = value.location + (value.querystring ? '?' + value.querystring : '')\n\n // Update all nodes\n nodes.map(checkActive)\n})\n\n/**\n * @typedef {Object} ActiveOptions\n * @property {string|RegExp} [path] - Path expression that makes the link active when matched (must start with '/' or '*'); default is the link's href\n * @property {string} [className] - CSS class to apply to the element when active; default value is \"active\"\n */\n\n/**\n * Svelte Action for automatically adding the \"active\" class to elements (links, or any other DOM element) when the current location matches a certain path.\n * \n * @param {HTMLElement} node - The target node (automatically set by Svelte)\n * @param {ActiveOptions|string|RegExp} [opts] - Can be an object of type ActiveOptions, or a string (or regular expressions) representing ActiveOptions.path.\n */\nexport default function active(node, opts) {\n // Check options\n if (opts && (typeof opts == 'string' || (typeof opts == 'object' && opts instanceof RegExp))) {\n // Interpret strings and regular expressions as opts.path\n opts = {\n path: opts\n }\n }\n else {\n // Ensure opts is a dictionary\n opts = opts || {}\n }\n\n // Path defaults to link target\n if (!opts.path && node.hasAttribute('href')) {\n opts.path = node.getAttribute('href')\n if (opts.path && opts.path.length > 1 && opts.path.charAt(0) == '#') {\n opts.path = opts.path.substring(1)\n }\n }\n\n // Default class name\n if (!opts.className) {\n opts.className = 'active'\n }\n\n // If path is a string, it must start with '/' or '*'\n if (!opts.path || \n typeof opts.path == 'string' && (opts.path.length < 1 || (opts.path.charAt(0) != '/' && opts.path.charAt(0) != '*'))\n ) {\n throw Error('Invalid value for \"path\" argument')\n }\n\n // If path is not a regular expression already, make it\n const {pattern} = typeof opts.path == 'string' ?\n regexparam(opts.path) :\n {pattern: opts.path}\n\n // Add the node to the list\n const el = {\n node,\n className: opts.className,\n pattern\n }\n nodes.push(el)\n\n // Trigger the action right away\n checkActive(el)\n\n return {\n // When the element is destroyed, remove it from the list\n destroy() {\n nodes.splice(nodes.indexOf(el), 1)\n }\n }\n}\n","export { identity as linear } from '../internal';\n\n/*\nAdapted from https://github.com/mattdesl\nDistributed under MIT License https://github.com/mattdesl/eases/blob/master/LICENSE.md\n*/\nfunction backInOut(t) {\n const s = 1.70158 * 1.525;\n if ((t *= 2) < 1)\n return 0.5 * (t * t * ((s + 1) * t - s));\n return 0.5 * ((t -= 2) * t * ((s + 1) * t + s) + 2);\n}\nfunction backIn(t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n}\nfunction backOut(t) {\n const s = 1.70158;\n return --t * t * ((s + 1) * t + s) + 1;\n}\nfunction bounceOut(t) {\n const a = 4.0 / 11.0;\n const b = 8.0 / 11.0;\n const c = 9.0 / 10.0;\n const ca = 4356.0 / 361.0;\n const cb = 35442.0 / 1805.0;\n const cc = 16061.0 / 1805.0;\n const t2 = t * t;\n return t < a\n ? 7.5625 * t2\n : t < b\n ? 9.075 * t2 - 9.9 * t + 3.4\n : t < c\n ? ca * t2 - cb * t + cc\n : 10.8 * t * t - 20.52 * t + 10.72;\n}\nfunction bounceInOut(t) {\n return t < 0.5\n ? 0.5 * (1.0 - bounceOut(1.0 - t * 2.0))\n : 0.5 * bounceOut(t * 2.0 - 1.0) + 0.5;\n}\nfunction bounceIn(t) {\n return 1.0 - bounceOut(1.0 - t);\n}\nfunction circInOut(t) {\n if ((t *= 2) < 1)\n return -0.5 * (Math.sqrt(1 - t * t) - 1);\n return 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\n}\nfunction circIn(t) {\n return 1.0 - Math.sqrt(1.0 - t * t);\n}\nfunction circOut(t) {\n return Math.sqrt(1 - --t * t);\n}\nfunction cubicInOut(t) {\n return t < 0.5 ? 4.0 * t * t * t : 0.5 * Math.pow(2.0 * t - 2.0, 3.0) + 1.0;\n}\nfunction cubicIn(t) {\n return t * t * t;\n}\nfunction cubicOut(t) {\n const f = t - 1.0;\n return f * f * f + 1.0;\n}\nfunction elasticInOut(t) {\n return t < 0.5\n ? 0.5 *\n Math.sin(((+13.0 * Math.PI) / 2) * 2.0 * t) *\n Math.pow(2.0, 10.0 * (2.0 * t - 1.0))\n : 0.5 *\n Math.sin(((-13.0 * Math.PI) / 2) * (2.0 * t - 1.0 + 1.0)) *\n Math.pow(2.0, -10.0 * (2.0 * t - 1.0)) +\n 1.0;\n}\nfunction elasticIn(t) {\n return Math.sin((13.0 * t * Math.PI) / 2) * Math.pow(2.0, 10.0 * (t - 1.0));\n}\nfunction elasticOut(t) {\n return (Math.sin((-13.0 * (t + 1.0) * Math.PI) / 2) * Math.pow(2.0, -10.0 * t) + 1.0);\n}\nfunction expoInOut(t) {\n return t === 0.0 || t === 1.0\n ? t\n : t < 0.5\n ? +0.5 * Math.pow(2.0, 20.0 * t - 10.0)\n : -0.5 * Math.pow(2.0, 10.0 - t * 20.0) + 1.0;\n}\nfunction expoIn(t) {\n return t === 0.0 ? t : Math.pow(2.0, 10.0 * (t - 1.0));\n}\nfunction expoOut(t) {\n return t === 1.0 ? t : 1.0 - Math.pow(2.0, -10.0 * t);\n}\nfunction quadInOut(t) {\n t /= 0.5;\n if (t < 1)\n return 0.5 * t * t;\n t--;\n return -0.5 * (t * (t - 2) - 1);\n}\nfunction quadIn(t) {\n return t * t;\n}\nfunction quadOut(t) {\n return -t * (t - 2.0);\n}\nfunction quartInOut(t) {\n return t < 0.5\n ? +8.0 * Math.pow(t, 4.0)\n : -8.0 * Math.pow(t - 1.0, 4.0) + 1.0;\n}\nfunction quartIn(t) {\n return Math.pow(t, 4.0);\n}\nfunction quartOut(t) {\n return Math.pow(t - 1.0, 3.0) * (1.0 - t) + 1.0;\n}\nfunction quintInOut(t) {\n if ((t *= 2) < 1)\n return 0.5 * t * t * t * t * t;\n return 0.5 * ((t -= 2) * t * t * t * t + 2);\n}\nfunction quintIn(t) {\n return t * t * t * t * t;\n}\nfunction quintOut(t) {\n return --t * t * t * t * t + 1;\n}\nfunction sineInOut(t) {\n return -0.5 * (Math.cos(Math.PI * t) - 1);\n}\nfunction sineIn(t) {\n const v = Math.cos(t * Math.PI * 0.5);\n if (Math.abs(v) < 1e-14)\n return 1;\n else\n return 1 - v;\n}\nfunction sineOut(t) {\n return Math.sin((t * Math.PI) / 2);\n}\n\nexport { backIn, backInOut, backOut, bounceIn, bounceInOut, bounceOut, circIn, circInOut, circOut, cubicIn, cubicInOut, cubicOut, elasticIn, elasticInOut, elasticOut, expoIn, expoInOut, expoOut, quadIn, quadInOut, quadOut, quartIn, quartInOut, quartOut, quintIn, quintInOut, quintOut, sineIn, sineInOut, sineOut };\n","import { cubicInOut, linear, cubicOut } from '../easing';\nimport { is_function, assign } from '../internal';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\n\nfunction blur(node, { delay = 0, duration = 400, easing = cubicInOut, amount = 5, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const f = style.filter === 'none' ? '' : style.filter;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (_t, u) => `opacity: ${target_opacity - (od * u)}; filter: ${f} blur(${u * amount}px);`\n };\n}\nfunction fade(node, { delay = 0, duration = 400, easing = linear }) {\n const o = +getComputedStyle(node).opacity;\n return {\n delay,\n duration,\n easing,\n css: t => `opacity: ${t * o}`\n };\n}\nfunction fly(node, { delay = 0, duration = 400, easing = cubicOut, x = 0, y = 0, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const transform = style.transform === 'none' ? '' : style.transform;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (t, u) => `\n\t\t\ttransform: ${transform} translate(${(1 - t) * x}px, ${(1 - t) * y}px);\n\t\t\topacity: ${target_opacity - (od * u)}`\n };\n}\nfunction slide(node, { delay = 0, duration = 400, easing = cubicOut }) {\n const style = getComputedStyle(node);\n const opacity = +style.opacity;\n const height = parseFloat(style.height);\n const padding_top = parseFloat(style.paddingTop);\n const padding_bottom = parseFloat(style.paddingBottom);\n const margin_top = parseFloat(style.marginTop);\n const margin_bottom = parseFloat(style.marginBottom);\n const border_top_width = parseFloat(style.borderTopWidth);\n const border_bottom_width = parseFloat(style.borderBottomWidth);\n return {\n delay,\n duration,\n easing,\n css: t => `overflow: hidden;` +\n `opacity: ${Math.min(t * 20, 1) * opacity};` +\n `height: ${t * height}px;` +\n `padding-top: ${t * padding_top}px;` +\n `padding-bottom: ${t * padding_bottom}px;` +\n `margin-top: ${t * margin_top}px;` +\n `margin-bottom: ${t * margin_bottom}px;` +\n `border-top-width: ${t * border_top_width}px;` +\n `border-bottom-width: ${t * border_bottom_width}px;`\n };\n}\nfunction scale(node, { delay = 0, duration = 400, easing = cubicOut, start = 0, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const transform = style.transform === 'none' ? '' : style.transform;\n const sd = 1 - start;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (_t, u) => `\n\t\t\ttransform: ${transform} scale(${1 - (sd * u)});\n\t\t\topacity: ${target_opacity - (od * u)}\n\t\t`\n };\n}\nfunction draw(node, { delay = 0, speed, duration, easing = cubicInOut }) {\n const len = node.getTotalLength();\n if (duration === undefined) {\n if (speed === undefined) {\n duration = 800;\n }\n else {\n duration = len / speed;\n }\n }\n else if (typeof duration === 'function') {\n duration = duration(len);\n }\n return {\n delay,\n duration,\n easing,\n css: (t, u) => `stroke-dasharray: ${t * len} ${u * len}`\n };\n}\nfunction crossfade(_a) {\n var { fallback } = _a, defaults = __rest(_a, [\"fallback\"]);\n const to_receive = new Map();\n const to_send = new Map();\n function crossfade(from, node, params) {\n const { delay = 0, duration = d => Math.sqrt(d) * 30, easing = cubicOut } = assign(assign({}, defaults), params);\n const to = node.getBoundingClientRect();\n const dx = from.left - to.left;\n const dy = from.top - to.top;\n const dw = from.width / to.width;\n const dh = from.height / to.height;\n const d = Math.sqrt(dx * dx + dy * dy);\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n const opacity = +style.opacity;\n return {\n delay,\n duration: is_function(duration) ? duration(d) : duration,\n easing,\n css: (t, u) => `\n\t\t\t\topacity: ${t * opacity};\n\t\t\t\ttransform-origin: top left;\n\t\t\t\ttransform: ${transform} translate(${u * dx}px,${u * dy}px) scale(${t + (1 - t) * dw}, ${t + (1 - t) * dh});\n\t\t\t`\n };\n }\n function transition(items, counterparts, intro) {\n return (node, params) => {\n items.set(params.key, {\n rect: node.getBoundingClientRect()\n });\n return () => {\n if (counterparts.has(params.key)) {\n const { rect } = counterparts.get(params.key);\n counterparts.delete(params.key);\n return crossfade(rect, node, params);\n }\n // if the node is disappearing altogether\n // (i.e. wasn't claimed by the other list)\n // then we need to supply an outro\n items.delete(params.key);\n return fallback && fallback(node, params, intro);\n };\n };\n }\n return [\n transition(to_send, to_receive, false),\n transition(to_receive, to_send, true)\n ];\n}\n\nexport { blur, crossfade, draw, fade, fly, scale, slide };\n","const sMap = new Map([['ZNJ', 'Northampton North Junction'], ['ZPS', 'Plaistow L.T.'], ['MSC', 'Marseille St Charles'], ['ZAE', 'Aldgate East'], ['ZEP', 'East Putney'], ['GBG', 'Gorebridge'], ['ZHR', 'Holloway Road'], ['ZPN', 'Paddington (Bakerloo Line)'], ['NMC', 'New Mills Central'], ['HBB', 'Hubberts Bridge'], ['ADC', 'Adlington (Cheshire)'], ['WHI', 'Whitstable'], ['FEG', 'Fellgate (T & W Metro)'], ['HRH', 'Horsham'], ['LNW', 'Llanwrtyd'], ['RYP', 'Ryde Pier Head'], ['PRU', 'Prudhoe'], ['TLH', 'Tilehurst'], ['SBM', 'South Bermondsey'], ['TAM', 'Tamworth'], ['CFD', 'Castleford'], ['NMN', 'New Mills Newtown'], ['HFS', 'Hatfield & Stainforth'], ['WFN', 'Watford North'], ['GWN', 'Gowerton'], ['WMW', 'Walthamstow Queens Road'], ['INP', 'Inverkip'], ['WRW', 'Warwick'], ['WHG', 'Westhoughton'], ['WIM', 'Wimbledon'], ['CLM', 'Collingham'], ['DRF', 'Driffield'], ['NWT', 'Newtown (Powys)'], ['SOE', 'Southend East'], ['PNF', 'Penyffordd'], ['WYE', 'Wye'], ['BAR', 'Bare Lane'], ['YRM', 'Yarm'], ['NTH', 'Neath'], ['ERH', 'Erith'], ['CFO', 'Chalfont & Latimer'], ['FGW', 'Fishguard & Goodwick'], ['BAY', 'Bayford'], ['BER', 'Bearley'], ['SIT', 'Sittingbourne'], ['WHL', 'White Hart Lane'], ['DRN', 'Duirinish'], ['SWK', 'Southwick'], ['MTM', 'Martin Mill'], ['NWR', 'Newtonmore'], ['ADW', 'Addiewell'], ['ALV', 'Alvechurch'], ['SQE', 'Surrey Quays'], ['HIG', 'Highbridge & Burnham'], ['RMC', 'Rotherham Central'], ['NTN', 'Newton'], ['CBN', 'Camborne'], ['RIA', 'Rhoose Cardiff Intl Airport'], ['BXW', 'Boxhill & Westhumble'], ['TNN', 'Thorne North'], ['FTN', 'Fratton'], ['RUA', 'Ruabon'], ['LAY', 'Layton'], ['LLV', 'Llandovery'], ['MAS', 'Manors'], ['CLG', 'Claygate'], ['CTT', 'Church Stretton'], ['GGV', 'Gargrave'], ['TNS', 'Thorne South'], ['CRE', 'Crewe'], ['WXC', 'Wrexham Central'], ['CAD', 'Cadoxton'], ['HYB', 'Honeybourne'], ['WGT', 'Wigton'], ['WRX', 'Wrexham General'], ['RHO', 'Rhosneigr'], ['KWL', 'Kidwelly'], ['RYD', 'Ryde Esplanade'], ['PTL', 'Priesthill & Darnley'], ['NWN', 'Newton for Hyde'], ['SBP', 'Stonebridge Park'], ['PEV', 'Pevensey & Westham'], ['ACL', 'Acle'], ['GDH', 'Gordon Hill'], ['LSY', 'Lower Sydenham'], ['SEB', 'Seaburn (T & W Metro)'], ['AYW', 'Aberystwyth'], ['LNZ', 'Lenzie'], ['MDS', 'Morden South'], ['ADD', 'Adderley Park'], ['EFL', 'East Farleigh'], ['SPU', 'Staplehurst'], ['UHL', 'Upper Holloway'], ['WLP', 'Welshpool'], ['CAS', 'Castleton'], ['HAM', 'Hamworthy'], ['BGN', 'Bridgend'], ['BRN', 'Bearsden'], ['APG', 'Aspley Guise'], ['DEW', 'Dewsbury'], ['BPS', 'Blackpool South'], ['KSL', 'Kearsley'], ['PYJ', 'Paisley St James'], ['NBA', 'New Barnet'], ['WHR', 'West Horndon'], ['HLD', 'Hellifield'], ['RDR', 'Radyr'], ['VAL', 'Valley'], ['BSD', 'Bearsted'], ['FIT', 'Filton Abbey Wood'], ['NAY', 'Newton Aycliffe'], ['BWK', 'Berwick-upon-Tweed'], ['BIF', 'Barrow-in-Furness'], ['DMY', 'Drumry'], ['CKH', 'Corkerhill'], ['LBK', 'Long Buckby'], ['BEA', 'Bridge of Allan'], ['PEB', 'Pevensey Bay'], ['CRL', 'Chorley'], ['ECS', 'Eccles Road'], ['FSG', 'Fishersgate'], ['YSR', 'Ystrad Rhondda'], ['UNV', 'University (T & W Metro)'], ['WCL', 'West Calder'], ['GNW', 'Greenwich'], ['SAB', 'Smallbrook Junction'], ['BDA', 'Brundall'], ['LNG', 'Longcross'], ['PSW', 'Polesworth'], ['SPP', 'Shippea Hill'], ['FIL', 'Filey'], ['HRR', 'Harrington'], ['MGM', 'Metheringham'], ['RAV', 'Ravenglass for Eskdale'], ['OLT', 'Olton'], ['CRD', 'Chester Road'], ['SAH', 'Salhouse'], ['GIL', 'Gillingham (Dorset)'], ['GNT', 'Gunton'], ['FEN', 'Fenny Stratford'], ['CBB', 'Carbis Bay'], ['BLW', 'Bulwell'], ['FMR', 'Falmer'], ['WNY', 'White Notley'], ['SFD', 'Salford Central'], ['BGI', 'Bargeddie'], ['WLY', 'Woodley'], ['BYC', 'Betws-y-Coed'], ['WYT', 'Wythall'], ['KID', 'Kidderminster'], ['SMO', 'South Merton'], ['ULC', 'Ulceby'], ['AWK', 'Adwick'], ['CRR', 'Corrour'], ['OVR', 'Overton'], ['RET', 'Retford'], ['STQ', 'Southampton Town Quay (Bus)'], ['BBS', 'Bordesley'], ['GOS', 'Grange-over-Sands'], ['MAY', 'Maybole'], ['YET', 'Yetminster'], ['LIH', 'Leigh (Kent)'], ['SMC', 'Sampford Courtenay'], ['SLO', 'Slough'], ['LHE', 'Loch Eil Outward Bound'], ['WBP', 'West Brompton'], ['NBT', 'Norbiton'], ['KVP', 'Kiveton Park'], ['PNL', 'Pannal'], ['MEO', 'Meols'], ['SRG', 'Seer Green'], ['CTO', 'Carlton'], ['GLY', 'Glynde'], ['MSW', 'Mansfield Woodhouse'], ['IBM', 'IBM'], ['BRL', 'Barrhill'], ['TRD', 'Troed-y-rhiw'], ['MEC', 'Meols Cop'], ['POL', 'Polsloe Bridge'], ['TPN', 'Ton Pentre'], ['BCK', 'Buckley'], ['CHC', 'Charing Cross (Glasgow)'], ['SRA', 'Stratford (London)'], ['WWO', 'West Worthing'], ['RSH', 'Rose Hill Marple'], ['SMT', 'St Margarets (Hertfordshire)'], ['WIH', 'Winchmore Hill'], ['CRS', 'Carstairs'], ['KGX', 'London Kings Cross'], ['LHS', 'Limehouse'], ['THB', 'Thornliebank'], ['DRT', 'Darton'], ['LLD', 'Llandudno'], ['NRN', 'Nairn'], ['KGE', 'Kingsknowe'], ['TNA', 'Thornton Abbey'], ['LRD', 'London Road (Guildford)'], ['BAL', 'Balham'], ['FRH', 'Calais Frethun'], ['WAC', 'Warrington Central'], ['GMV', 'Great Malvern'], ['MNC', 'Markinch'], ['WRT', 'Worstead'], ['EBB', 'Ebbw Vale Town'], ['MEL', 'Meldreth'], ['BYB', 'Blythe Bridge'], ['LOT', 'Lostock'], ['CNM', 'Cheltenham Spa'], ['FZH', 'Frizinghall'], ['LLJ', 'Llandudno Junction'], ['UPM', 'Upminster'], ['DBC', 'Dumbarton Central'], ['STT', 'Stewarton'], ['DBE', 'Dumbarton East'], ['TYS', 'Tyseley'], ['DNS', 'Dinas Powys'], ['DEE', 'Dundee'], ['LDY', 'Ladybank'], ['PBY', 'Pembrey & Burry Port'], ['GMD', 'Grimsby Docks'], ['KEI', 'Keighley'], ['BIP', 'Bishopstone'], ['SFO', 'Stanford-le-Hope'], ['BYF', 'Broughty Ferry'], ['MYH', 'Maryhill'], ['DRM', 'Drem'], ['NBE', 'Newbridge'], ['WSF', 'Winsford'], ['THD', 'Thames Ditton'], ['HMM', 'Hammerton'], ['HOR', 'Horley'], ['BLY', 'Bletchley'], ['ARU', 'Arundel'], ['FNB', 'Farnborough (Main)'], ['CGW', 'Caergwrle'], ['MAO', 'Martins Heron'], ['OXT', 'Oxted'], ['PAT', 'Patricroft'], ['GMB', 'Grimsby Town'], ['TUR', 'Turkey Street'], ['TAF', 'Taffs Well'], ['LTN', 'Luton Airport Parkway'], ['CHM', 'Chelmsford'], ['FLW', 'Fulwell'], ['HTW', 'Hartwood'], ['PNZ', 'Penzance'], ['WDE', 'Wood End'], ['GCW', 'Glan Conwy'], ['HOV', 'Hove'], ['TRH', 'Trehafod'], ['WTE', 'Whitlocks End'], ['DLJ', 'Dalston Junction'], ['VIR', 'Virginia Water'], ['ASP', 'Aspatria'], ['LPT', 'Longport'], ['LWS', 'Lewes'], ['EWD', 'Earlswood (West Midlands)'], ['WAN', 'Wanborough'], ['BTO', 'Betchworth'], ['FLN', 'Flint'], ['BUK', 'Bucknell'], ['LLM', 'Llangammarch'], ['CNG', 'Congleton'], ['WMN', 'Warminster'], ['MTL', 'Mortlake'], ['BWT', 'Bridgwater'], ['BRT', 'Barlaston'], ['MNP', 'Manor Park'], ['ESL', 'Eastleigh'], ['SHO', 'Sholing'], ['EGT', 'Egton'], ['HDH', 'Hampstead Heath'], ['WCP', 'Worcester Park'], ['ISP', 'Islip'], ['TPB', 'Thorpe Bay'], ['CRH', 'Crouch Hill'], ['TBW', 'Tunbridge Wells'], ['GLE', 'Gleneagles'], ['KSW', 'Kirkby Stephen'], ['ALW', 'Allens West'], ['DMG', 'Dinas Rhondda'], ['BSR', 'Broadstairs'], ['WEM', 'Wem'], ['CSN', 'Chessington North'], ['HRD', 'Harling Road'], ['AUI', 'Ardlui'], ['ERI', 'Eridge'], ['APD', 'Appledore (Kent)'], ['DHN', 'Deighton'], ['GLG', 'Glengarnock'], ['MLH', 'Mill Hill (Lancashire)'], ['WRP', 'Warwick Parkway'], ['GOF', 'Golf Street'], ['CHY', 'Chertsey'], ['WOK', 'Woking'], ['LLE', 'Llanelli'], ['MYB', 'London Marylebone'], ['WIL', 'Willington'], ['WIJ', 'Willesden Junction'], ['BME', 'Broome'], ['CAM', 'Camberley'], ['SRT', 'Shortlands'], ['SOP', 'Southport'], ['TYB', 'Tan-y-Bwlch (Bus)'], ['ENC', 'Enfield Chase'], ['RYP', 'Ryde Pier Head'], ['BEB', 'Bebington'], ['LGW', 'Langwathby'], ['WSE', 'Winchelsea'], ['BFR', 'London Blackfriars'], ['SCT', 'Scotscalder'], ['RUG', 'Rugby'], ['SRS', 'Selhurst'], ['MLF', 'Milford (Surrey)'], ['PNA', 'Penally'], ['STU', 'Sturry'], ['TWB', 'Tweedbank'], ['YSM', 'Ystrad Mynach'], ['JEQ', 'Jewellery Quarter'], ['PTW', 'Prestwick Town'], ['EBK', 'Eastbrook'], ['PER', 'Penrhiwceiber'], ['CWM', 'Cwmbran'], ['ING', 'Invergowrie'], ['RBS', 'British Steel Redcar'], ['HLG', 'Hall Green'], ['LSN', 'Livingston North'], ['RML', 'Romiley'], ['BUU', 'Burnham-on-Crouch'], ['ZBC', 'Barons Court Underground'], ['CPN', 'Chapleton'], ['ROG', 'Rogart'], ['LVG', 'Livingston South'], ['HTC', 'Heaton Chapel'], ['KGN', 'Kings Nympton'], ['LCC', 'Lochluichart'], ['DCG', 'Duncraig'], ['TOD', 'Todmorden'], ['WEA', 'West Ealing'], ['SOK', 'South Kenton'], ['SLA', 'Slateford'], ['HLC', 'Helensburgh Central'], ['LGJ', 'Loughborough Junction'], ['HED', 'Halewood'], ['ATH', 'Atherstone'], ['EYN', 'Eynsford'], ['SOT', 'Stoke-on-Trent'], ['CAC', 'Caldercruix'], ['SRC', 'Streatham Common'], ['MSO', 'Moston'], ['BEU', 'Beaulieu Road'], ['ZBK', 'Barking Underground'], ['BNR', 'Brockley Whins (T & W Metro)'], ['LOH', 'Lostock Hall'], ['MIL', 'Mill Hill Broadway'], ['OHL', 'Old Hill'], ['BDW', 'Bedwyn'], ['PMA', 'Portsmouth Arms'], ['WHC', 'Walthamstow Central'], ['KDY', 'Kirkcaldy'], ['FAZ', 'Fazakerley'], ['GLC', 'Glasgow Central'], ['HLU', 'Helensburgh Upper'], ['LTG', 'Lostock Gralam'], ['DLK', 'Dalston Kingsland'], ['MTN', 'Moreton (Dorset)'], ['EBL', 'East Boldon (T & W Metro)'], ['CYN', 'Cynghordy'], ['CHT', 'Chathill'], ['HPT', 'Hopton Heath'], ['ALO', 'Alloa'], ['PMS', 'Portsmouth & Southsea'], ['CON', 'Connel Ferry'], ['WNC', 'Windsor & Eton Central'], ['BET', 'Bethnal Green'], ['SST', 'Stansted Mountfitchet'], ['ESH', 'Esher'], ['WSE', 'Winchelsea'], ['CSS', 'Chessington South'], ['CSL', 'Codsall'], ['CPA', 'Corpach'], ['HGF', 'Hag Fold'], ['SRD', 'Stapleton Road'], ['UPM', 'Upminster'], ['BSJ', 'Bedford St Johns'], ['RYB', 'Roy Bridge'], ['DMP', 'Dumpton Park'], ['LYT', 'Lymington Town'], ['WHE', 'Whalley'], ['HKC', 'Hackney Central'], ['HYC', 'Hyde Central'], ['PEW', 'Pewsey'], ['AHN', 'Ashton-under-Lyne'], ['PRW', 'Perranwell'], ['CKL', 'Corkickle'], ['DOD', 'Dodworth'], ['WTA', 'Wester Hailes'], ['PAW', 'Pelaw (T & W Metro)'], ['AYP', 'Albany Park'], ['NEW', 'Newcraighall'], ['ORE', 'Ore'], ['HAS', 'Halesworth'], ['KWG', 'Kew Gardens'], ['EXG', 'Exhibition Centre'], ['HIL', 'Hillside'], ['MPL', 'Marple'], ['SDA', 'Snodland'], ['BKA', 'Bookham'], ['BNT', 'Brinnington'], ['HKW', 'Hackney Wick'], ['ACR', 'Accrington'], ['QRP', 'Queens Road Peckham'], ['MDG', 'Midgham'], ['BAW', 'Blackwater'], ['MEX', 'Mexborough'], ['ADK', 'Ardwick'], ['DNY', 'Danby'], ['HIN', 'Hindley'], ['PYG', 'Paisley Gilmour Street'], ['PRA', 'Prestwick Intl Airport'], ['DDP', 'Dudley Port'], ['NMK', 'Newmarket'], ['KGL', 'Kings Langley'], ['MLN', 'Milngavie'], ['FML', 'Frimley'], ['NTR', 'Northallerton'], ['SDW', 'Sandwich'], ['BBW', 'Berry Brow'], ['DID', 'Didcot Parkway'], ['SOG', 'Stonegate'], ['HAI', 'Halling'], ['PWL', 'Pwllheli'], ['WCF', 'Westcliff'], ['HGG', 'Haggerston'], ['CMR', 'Cromer'], ['ALX', 'Alexandria'], ['COO', 'Cookham'], ['MRS', 'Monks Risborough'], ['YRT', 'Yorton'], ['BEN', 'Bentham'], ['GOB', 'Gobowen'], ['HAL', 'Hale'], ['CAY', 'Carntyne'], ['BUI', 'Burnside'], ['SEL', 'Sellafield'], ['WIM', 'Wimbledon'], ['YRD', 'Yardley Wood'], ['CHN', 'Cheshunt'], ['HFX', 'Halifax'], ['ELD', 'Earlswood (Surrey)'], ['TOK', 'Three Oaks'], ['PBN', 'Paris Nord'], ['TED', 'Teddington'], ['HKM', 'Hykeham'], ['GRS', 'Garscadden'], ['DSL', 'Disley'], ['HDE', 'Hedge End'], ['BNP', 'Barnstaple'], ['KNS', 'Kennishead'], ['LAK', 'Lakenheath'], ['TUH', 'Tulse Hill'], ['BSY', 'Brondesbury'], ['FOX', 'Foxfield'], ['SHR', 'Shrewsbury'], ['WMG', 'Welham Green'], ['HLF', 'Hillfoot'], ['PMR', 'Peckham Rye'], ['SGR', 'Slade Green'], ['FRE', 'Freshfield'], ['SDG', 'Sandling'], ['DMR', 'Dalmuir'], ['TRF', 'Trefforest'], ['LZB', 'Lazonby & Kirkoswald'], ['KCK', 'Knockholt'], ['LLW', 'Llwyngwril'], ['DCT', 'Danescourt'], ['HRM', 'Harrietsham'], ['WCM', 'Wickham Market'], ['FEA', 'Featherstone'], ['HNH', 'Herne Hill'], ['MCO', 'Manchester Oxford Road'], ['LER', 'Leytonstone High Road'], ['RAU', 'Rauceby'], ['HMW', 'Hampton Wick'], ['SJS', 'St James Street'], ['TEA', 'Tees-side Airport'], ['LNR', 'Llanwrda'], ['BEE', 'Beeston'], ['MTV', 'Mount Vernon'], ['BSV', 'Buckshaw Parkway'], ['DAL', 'Dalmally'], ['KTN', 'Kentish Town'], ['TRA', 'Trafford Park'], ['AMB', 'Ambergate'], ['GOX', 'Goxhill'], ['PLT', 'Pontlottyn'], ['ATT', 'Attadale'], ['POK', 'Pokesdown'], ['STI', 'Stadium of Light (T & W Metro)'], ['HOO', 'Hooton'], ['KGS', 'Kings Sutton'], ['KTW', 'Kentish Town West'], ['ZPC', 'Piccadilly Circus Underground'], ['UTT', 'Uttoxeter'], ['BLH', 'Bellshill'], ['BGA', 'Brundall Gardens'], ['PRT', 'Prestatyn'], ['CPT', 'Clapton'], ['LET', 'Letchworth Garden City'], ['PSN', 'Parson Street'], ['PNE', 'Penge East'], ['NFD', 'Northfield'], ['LTV', 'Lichfield Trent Valley'], ['CBG', 'Cambridge'], ['NPD', 'New Pudsey'], ['ETL', 'East Tilbury'], ['LTV', 'Lichfield Trent Valley'], ['SNI', 'Snaith'], ['AVN', 'Avonmouth'], ['TEN', 'Tenby'], ['PTG', 'Port Glasgow'], ['SPF', 'Springfield'], ['TBD', 'Three Bridges'], ['SLD', 'Salford Crescent'], ['GOE', 'Goldthorpe'], ['SMY', 'St Mary Cray'], ['DBY', 'Derby'], ['HXX', 'Heathrow Airport T123'], ['THO', 'Thornford'], ['PRE', 'Preston'], ['KWN', 'Kilwinning'], ['PRE', 'Preston'], ['HWH', 'Haltwhistle'], ['CNN', 'Canonbury'], ['BOH', 'Bosham'], ['OPK', 'Orrell Park'], ['BDB', 'Broadbottom'], ['LCK', 'Lockwood'], ['NFL', 'Northfleet'], ['TNP', 'Tonypandy'], ['FOC', 'Falls of Cruachan'], ['HYM', 'Haymarket'], ['HIT', 'Hitchin'], ['CLE', 'Cleethorpes'], ['PAL', 'Palmers Green'], ['ARD', 'Ardgay'], ['BUS', 'Busby'], ['LGE', 'Long Eaton'], ['TUL', 'Tulloch'], ['ABD', 'Aberdeen'], ['BRO', 'Bridge of Orchy'], ['GCT', 'Great Coates'], ['INE', 'Ince & Elton'], ['WTT', 'Witton'], ['TRS', 'Thurston'], ['FNC', 'Farncombe'], ['EBD', 'Ebbsfleet International'], ['DUR', 'Durrington-on-Sea'], ['CSA', 'Cosham'], ['PEG', 'Pegswood'], ['CEA', 'Cleland'], ['GCR', 'Gloucester'], ['TAC', 'Tackley'], ['MFH', 'Milford Haven'], ['PRY', 'Perry Barr'], ['RHL', 'Rhyl'], ['THW', 'The Hawthorns'], ['WTH', 'Whitehaven'], ['KNG', 'Kingston'], ['MIK', 'Micklefield'], ['LRG', 'Lairg'], ['EPS', 'Epsom'], ['WBQ', 'Warrington Bank Quay'], ['CUW', 'Clunderwen'], ['DTG', 'Dinting'], ['ACT', 'Ascot'], ['BID', 'Bidston'], ['BWG', 'Bowling'], ['BMP', 'Brampton (Cumbria)'], ['CLT', 'Clacton-on-Sea'], ['BCH', 'Birchington-on-Sea'], ['BEF', 'Benfleet'], ['HMS', 'Helmsdale'], ['KEY', 'Keyham'], ['MOS', 'Moss Side'], ['PTK', 'Partick'], ['SGN', 'South Greenford'], ['SOR', 'Sole Street'], ['DBD', 'Denby Dale'], ['BSP', 'Brondesbury Park'], ['SEE', 'Southease'], ['CNR', 'Crianlarich'], ['CRT', 'Chartham'], ['SUG', 'Sugar Loaf'], ['HGM', 'Higham'], ['WNG', 'Waun-gron Park'], ['DUM', 'Dumbreck'], ['PMR', 'Peckham Rye'], ['CRB', 'Corbridge'], ['NFA', 'North Fambridge'], ['AGV', 'Abergavenny'], ['HAG', 'Hagley'], ['CEL', 'Chelford'], ['HGD', 'Hungerford'], ['BWN', 'Bloxwich North'], ['KVD', 'Kelvindale'], ['RUS', 'Ruswarp'], ['CLV', 'Claverdon'], ['RNH', 'Rainhill'], ['EWW', 'Ewell West'], ['HHY', 'Highbury & Islington'], ['APP', 'Appleby'], ['HKN', 'Hucknall'], ['MSN', 'Marsden'], ['TPC', 'Thorpe Culvert'], ['EWE', 'Ewell East'], ['GTN', 'Grangetown'], ['LEO', 'Leominster'], ['DOL', 'Dolau'], ['CUH', 'Curriehill'], ['KBK', 'Kents Bank'], ['DPS', 'Dublin Port (Stena)'], ['PAI', 'Pallion (T & W Metro)'], ['MCB', 'Moulsecoomb'], ['NMT', 'Needham Market'], ['WFI', 'Westerfield'], ['SCG', 'Stone Crossing'], ['STR', 'Stranraer'], ['ZWA', 'Waterloo Underground'], ['PIL', 'Pilning'], ['SWD', 'Swinderby'], ['MSK', 'Marske'], ['TRN', 'Troon'], ['WID', 'Widnes'], ['KMS', 'Kemsing'], ['STZ', 'St Peters (T & W Metro)'], ['ANF', 'Ashurst New Forest'], ['WTN', 'Whitton'], ['ANL', 'Anniesland'], ['SCS', 'Starcross'], ['FRB', 'Fairbourne'], ['STK', 'Stockton'], ['BEV', 'Beverley'], ['KKM', 'Kirkham & Wesham'], ['PDW', 'Paddock Wood'], ['CAN', 'Carnoustie'], ['STC', 'Strathcarron'], ['CUF', 'Cuffley'], ['MTP', 'Montpelier'], ['SWM', 'Swanscombe'], ['CBE', 'Canterbury East'], ['DMF', 'Dumfries'], ['HNT', 'Huntly'], ['LLT', 'Llanbister Road'], ['WAT', 'London Waterloo'], ['MEW', 'Maesteg (Ewenny Road)'], ['SUT', 'Sutton Coldfield'], ['LDS', 'Leeds'], ['BNM', 'Burnham'], ['BEL', 'Beauly'], ['HXM', 'Hoveton & Wroxham'], ['HDL', 'Headstone Lane'], ['LEY', 'Leyland'], ['PRE', 'Preston'], ['SNY', 'Sunnymeads'], ['RNF', 'Rainford'], ['EGN', 'Eastrington'], ['KGH', 'Kinghorn'], ['MAT', 'Matlock'], ['NCK', 'New Cumnock'], ['NWP', 'Newport (South Wales)'], ['QPW', 'Queens Park (London)'], ['MSD', 'Moorside'], ['WLM', 'Williamwood'], ['DWD', 'Dolwyddelan'], ['WTL', 'Whitland'], ['MPK', 'Mosspark'], ['MAU', 'Mauldeth Road'], ['HEX', 'Hexham'], ['CLI', 'Clifton'], ['SYD', 'Sydenham'], ['LAD', 'Ladywell'], ['CTM', 'Chatham'], ['SWY', 'Sway'], ['TRU', 'Truro'], ['DLY', 'Dalry'], ['PRP', 'Preston Park'], ['BPB', 'Blackpool Pleasure Beach'], ['LHO', 'Langho'], ['SPS', 'Stepps'], ['TOP', 'Topsham'], ['BIA', 'Bishop Auckland'], ['HTH', 'Handforth'], ['MRT', 'Moreton (Merseyside)'], ['MCH', 'March'], ['TDU', 'Tondu'], ['BCS', 'Bicester North'], ['NMP', 'Northampton'], ['ALP', 'Althorpe'], ['BSE', 'Bury St Edmunds'], ['PTR', 'Petersfield'], ['BUC', 'Buckenham'], ['KLY', 'Kenley'], ['ELW', 'Eltham'], ['WHA', 'Westenhanger'], ['WWL', 'Whitwell'], ['EDW', 'East Dulwich'], ['NRD', 'North Road'], ['BTE', 'Bitterne'], ['IMW', 'Imperial Wharf'], ['ANN', 'Annan'], ['BDN', 'Brading'], ['CES', 'Cressing'], ['KBW', 'Knebworth'], ['DAR', 'Darlington'], ['HWD', 'Hawarden'], ['TAD', 'Tadworth'], ['BAG', 'Bagshot'], ['ZHS', 'Kensington High St Underground'], ['SMD', 'Stamford'], ['BUD', 'Burneside'], ['DOT', 'Dunston'], ['ELS', 'Elstree & Borehamwood'], ['CHF', 'Church Fenton'], ['HAZ', 'Hazel Grove'], ['KMH', 'Kempston Hardwick'], ['SOF', 'South Woodham Ferrers'], ['NRW', 'Norwich'], ['AHS', 'Ashurst'], ['FZW', 'Fitzwilliam'], ['MIN', 'Milliken Park'], ['RUN', 'Runcorn'], ['WSL', 'Walsall'], ['OKM', 'Oakham'], ['WAT', 'London Waterloo'], ['AYP', 'Albany Park'], ['MST', 'Maesteg'], ['KNU', 'Knucklas'], ['LEI', 'Leicester'], ['WAT', 'London Waterloo'], ['WCR', 'Whitecraigs'], ['MRP', 'Moorthorpe'], ['SNH', 'St Helens Central'], ['CAO', 'Cannock'], ['RAI', 'Rainham (Kent)'], ['RKT', 'Ruskington'], ['YOK', 'Yoker'], ['BDT', 'Bridlington'], ['LDN', 'Llandanwg'], ['SHJ', 'St Helens Junction'], ['CHH', 'Christs Hospital'], ['CMF', 'Cromford'], ['HYR', 'Haydons Road'], ['LGN', 'Longton'], ['BXH', 'Bexleyheath'], ['CPM', 'Chippenham'], ['DFR', 'Drumfrochar'], ['NCO', 'Newcourt'], ['WET', 'Weeton'], ['EMD', 'East Midlands Parkway'], ['POP', 'Poppleton'], ['AYH', 'Aylesham'], ['ZUM', 'Upminster Underground'], ['CHD', 'Chesterfield'], ['HEZ', 'Heworth (T & W Metro)'], ['PRB', 'Prestbury'], ['GTR', 'Goostrey'], ['ACK', 'Acklington'], ['KNL', 'Kensal Green'], ['SAN', 'Sandown'], ['THL', 'Tile Hill'], ['SIP', 'Shipton'], ['SFA', 'Stratford International'], ['UPW', 'Upwey'], ['GIP', 'Gipsy Hill'], ['RUT', 'Rutherglen'], ['SES', 'South Elmsall'], ['TGM', 'Teignmouth'], ['ADS', 'Ardrossan Harbour'], ['BCG', 'Birchgrove'], ['RFD', 'Rochford'], ['PES', 'Pensarn'], ['BAI', 'Blairhill'], ['TLB', 'Talybont'], ['SVG', 'Stevenage'], ['WPE', 'Wapping'], ['BDG', 'Bridgeton'], ['THH', 'Thatto Heath'], ['ATB', 'Attenborough'], ['MTH', 'Motherwell'], ['WKM', 'Wokingham'], ['GMT', 'Grosmont'], ['ARL', 'Arlesey'], ['BGD', 'Bargoed'], ['REE', 'Reedham (Norfolk)'], ['HPA', 'Honor Oak Park'], ['NUN', 'Nuneaton'], ['TRM', 'Trimley'], ['WTY', 'Witley'], ['SWO', 'Snowdown'], ['MDB', 'Maidstone Barracks'], ['ENL', 'Enfield Lock'], ['MIJ', 'Mitcham Junction'], ['MDE', 'Maidstone East'], ['GOD', 'Godalming'], ['HGR', 'Hither Green'], ['SPO', 'Spondon'], ['WNT', 'Wandsworth Town'], ['ECR', 'East Croydon'], ['CLS', 'Chester-le-Street'], ['QYD', 'Quakers Yard'], ['WBC', 'Waterbeach'], ['NES', 'Neston'], ['PCN', 'Paisley Canal'], ['WSA', 'West Allerton'], ['SFI', 'Shawfair'], ['SLH', 'Sleights'], ['HTN', 'Hatton'], ['KIV', 'Kiveton Bridge'], ['RIS', 'Rishton'], ['DMS', 'Dormans'], ['LCN', 'Lincoln Central'], ['AYP', 'Albany Park'], ['ERI', 'Eridge'], ['WLC', 'Waltham Cross'], ['MPT', 'Morpeth'], ['MDW', 'Maidstone West'], ['WEL', 'Wellingborough'], ['HRY', 'Harringay Green Lanes'], ['MOB', 'Mobberley'], ['SWL', 'Swale'], ['ECC', 'Eccles'], ['HEW', 'Heworth'], ['LLH', 'Llangennech'], ['BKO', 'Brookwood'], ['GSY', 'Guiseley'], ['SBY', 'Selby'], ['WSB', 'Westbury'], ['ETC', 'Etchingham'], ['BLT', 'Blantyre'], ['SSD', 'Stansted Airport'], ['DOR', 'Dore'], ['NVR', 'Navigation Road'], ['CFF', 'Croftfoot'], ['CKN', 'Crewkerne'], ['GLT', 'Glenrothes with Thornton'], ['WTG', 'Watlington'], ['BAN', 'Banbury'], ['HYS', 'Hayes (Kent)'], ['BHR', 'Builth Road'], ['KND', 'Kingswood'], ['KNN', 'Kings Norton'], ['WOL', 'Wolverton'], ['WTO', 'Water Orton'], ['ADR', 'Airdrie'], ['LLC', 'Llandecwyn'], ['PKS', 'Parkstone (Dorset)'], ['GOM', 'Gomshall'], ['TYL', 'Tyndrum Lower'], ['BOP', 'Bowes Park'], ['HRY', 'Harringay Green Lanes'], ['HER', 'Hersham'], ['WRH', 'Worthing'], ['BON', 'Bolton'], ['BOA', 'Bradford-on-Avon'], ['CFH', 'Chafford Hundred'], ['UTY', 'Upper Tyndrum'], ['NAR', 'Narberth'], ['BDL', 'Birkdale'], ['HMT', 'Ham Street'], ['MKM', 'Melksham'], ['AUW', 'Ascott-under-Wychwood'], ['EAL', 'Ealing Broadway'], ['EAL', 'Ealing Broadway'], ['WTB', 'Whitby'], ['CST', 'London Cannon Street'], ['DWN', 'Darwen'], ['BLE', 'Bramley (West Yorkshire)'], ['AAP', 'Alexandra Palace'], ['NUF', 'Nutfield'], ['STG', 'Stirling'], ['HON', 'Honiton'], ['BPW', 'Bristol Parkway'], ['KIT', 'Kintbury'], ['RAD', 'Radley'], ['MCE', 'Metro Centre'], ['SNT', 'Stanlow & Thornton'], ['BYD', 'Barry Docks'], ['DAM', 'Dalmeny'], ['FIN', 'Finstock'], ['BMT', 'Bedminster'], ['HSL', 'Haslemere'], ['CET', 'Colchester Town'], ['HDG', 'Heald Green'], ['PNR', 'Penrith'], ['MHM', 'Merstham'], ['HSC', 'Hoscar'], ['SNO', 'St Neots'], ['BGM', 'Bellingham'], ['NTL', 'Netley'], ['HYH', 'Hythe'], ['RDC', 'Redditch'], ['LTK', 'Little Kimble'], ['FOD', 'Ford'], ['CLJ', 'Clapham Junction'], ['HON', 'Honiton'], ['CLJ', 'Clapham Junction'], ['PNW', 'Penge West'], ['WFJ', 'Watford Junction'], ['HCH', 'Holmes Chapel'], ['LVN', 'Littlehaven'], ['BTL', 'Batley'], ['ZET', 'Earl\\'s Court Underground'], ['WDL', 'Woodhall'], ['BLX', 'Bloxwich'], ['HLS', 'Hilsea'], ['MKT', 'Marks Tey'], ['OKE', 'Okehampton'], ['HWY', 'High Wycombe'], ['SYT', 'Somerleyton'], ['MRY', 'Maryport'], ['SDY', 'Sandy'], ['CLJ', 'Clapham Junction'], ['CEF', 'Chapel-en-le-Frith'], ['LTP', 'Littleport'], ['KPT', 'Kilpatrick'], ['WDD', 'Widdrington'], ['WHM', 'Whimple'], ['CIT', 'Chislehurst'], ['PFR', 'Pontefract Baghill'], ['BKC', 'Birkenhead Central'], ['HOY', 'Honley'], ['INC', 'Ince'], ['CLJ', 'Clapham Junction'], ['GRC', 'Great Chesterford'], ['IPS', 'Ipswich'], ['WCB', 'Westcombe Park'], ['CLJ', 'Clapham Junction'], ['LYP', 'Lymington Pier'], ['CTF', 'Catford'], ['CTE', 'Chatelherault'], ['FWY', 'Five Ways'], ['NDL', 'North Dulwich'], ['BWO', 'Bricket Wood'], ['BKN', 'Birkenhead North'], ['SOW', 'Sowerby Bridge'], ['BTY', 'Bentley (Hampshire)'], ['KLD', 'Kildale'], ['NQY', 'Newquay'], ['SCA', 'Scarborough'], ['BEG', 'Beltring'], ['BKP', 'Birkenhead Park'], ['CLJ', 'Clapham Junction'], ['GLO', 'Glossop'], ['GRH', 'Gartcosh'], ['TUT', 'Tutbury & Hatton'], ['BCE', 'Bracknell'], ['NNT', 'Nunthorpe'], ['ZNP', 'Newbury Park Underground'], ['SND', 'Sandhurst'], ['FSB', 'Fishbourne (West Sussex)'], ['SLW', 'Salwick'], ['DIG', 'Digby & Sowton'], ['EDG', 'Edge Hill'], ['INH', 'Invershin'], ['BTB', 'Barnetby'], ['SJN', 'St James (T & W Metro)'], ['SUY', 'Sudbury'], ['AIG', 'Aigburth'], ['ELR', 'Elsecar'], ['SGB', 'Smethwick Galton Bridge'], ['HYL', 'Hayle'], ['KEM', 'Kemble'], ['WIM', 'Wimbledon'], ['SAS', 'St Annes-on-the-Sea'], ['SHM', 'Sheringham'], ['WRL', 'Wetheral'], ['SUP', 'Sundridge Park'], ['AWM', 'Ashwell & Morden'], ['BUY', 'Burley Park'], ['ABA', 'Aberdare'], ['CRO', 'Croy'], ['DAT', 'Datchet'], ['LGS', 'Langside'], ['WDM', 'Windermere'], ['GMY', 'Goodmayes'], ['BDQ', 'Bradford Forster Square'], ['SOH', 'South Hampstead'], ['GPK', 'Grange Park'], ['EDP', 'Edinburgh Park'], ['NWB', 'North Wembley'], ['NWE', 'Newport (Essex)'], ['CYT', 'Cherry Tree'], ['HUY', 'Huyton'], ['SFN', 'Shifnal'], ['TOM', 'Tottenham Hale'], ['CDI', 'Crediton'], ['HUT', 'Hutton Cranswick'], ['ABW', 'Abbey Wood'], ['GDL', 'Godley'], ['RHD', 'Ribblehead'], ['TYP', 'Tynemouth (T & W Metro)'], ['CSO', 'Croston'], ['PHR', 'Penshurst'], ['LAC', 'Lancing'], ['SWS', 'South Wigston'], ['BUX', 'Buxton'], ['MLD', 'Mouldsworth'], ['FLE', 'Fleet'], ['MKR', 'Market Rasen'], ['LEG', 'Lea Green'], ['CMH', 'Cwmbach'], ['TMC', 'Templecombe'], ['TWI', 'Twickenham'], ['WEE', 'Weeley'], ['HID', 'Hall I\\' Th\\' Wood'], ['TTF', 'Thetford'], ['DLH', 'Doleham'], ['BTF', 'Bottesford'], ['JOR', 'Jordanhill'], ['TIL', 'Tilbury Town'], ['BMR', 'Bromborough Rake'], ['DPD', 'Dorking Deepdene'], ['BUT', 'Burton-on-Trent'], ['LEO', 'Leominster'], ['FRN', 'Fearn'], ['SPK', 'Sutton Parkway'], ['STL', 'Southall'], ['VXH', 'Vauxhall'], ['ALM', 'Alnmouth'], ['HMN', 'Homerton'], ['PNS', 'Penistone'], ['DFP', 'Dublin Ferryport'], ['SED', 'Shelford'], ['MLB', 'Millbrook (Bedfordshire)'], ['WWR', 'Wandsworth Road'], ['WBR', 'Whaley Bridge'], ['CNS', 'Conisbrough'], ['JHN', 'Johnstone'], ['LND', 'Longniddry'], ['STF', 'Stromeferry'], ['BCN', 'Branchton'], ['PET', 'Petts Wood'], ['RSG', 'Rose Grove'], ['SAM', 'Saltmarshe'], ['BNS', 'Barnes'], ['PKG', 'Penkridge'], ['SGB', 'Smethwick Galton Bridge'], ['MUF', 'Manchester United FC'], ['RHY', 'Rhymney'], ['AMR', 'Amersham'], ['KDB', 'Kidbrooke'], ['PLC', 'Pluckley'], ['CSM', 'Castleton Moor'], ['HWF', 'Heathrow Airport T4 (Bus)'], ['TAD', 'Tadworth'], ['GTY', 'Gatley'], ['HWX', 'Heathrow Airport T5 (Bus)'], ['BLK', 'Blackrod'], ['SLK', 'Silkstone Common'], ['BSB', 'Bleasby'], ['AGS', 'Argyle Street'], ['MUI', 'Muirend'], ['SMG', 'St Margarets (London)'], ['MAN', 'Manchester Piccadilly'], ['SEG', 'Selling'], ['PLN', 'Portlethen'], ['BSM', 'Branksome'], ['NLN', 'New Lane'], ['HTO', 'Hightown'], ['BYI', 'Barry Island'], ['HOL', 'Holton Heath'], ['SFL', 'Seaforth & Litherland'], ['SBR', 'Spean Bridge'], ['KGS', 'Kings Sutton'], ['LRB', 'London Road (Brighton)'], ['GSC', 'Gilshochill'], ['MCM', 'Morecambe'], ['STP', 'London St Pancras (Intl)'], ['FGT', 'Faygate'], ['ALD', 'Alderley Edge'], ['COH', 'Crowborough'], ['ANF', 'Ashurst New Forest'], ['OCK', 'Ockendon'], ['ASN', 'Addlestone'], ['CLL', 'Collington'], ['MOT', 'Motspur Park'], ['SDL', 'Sandhills'], ['KKB', 'Kirkby in Ashfield'], ['PAD', 'London Paddington'], ['WOB', 'Woburn Sands'], ['BNI', 'Barnes Bridge'], ['QPW', 'Queens Park (London)'], ['BNY', 'Barnsley'], ['BPN', 'Blackpool North'], ['KWD', 'Kirkwood'], ['SCH', 'Scotstounhill'], ['KNT', 'Kenton'], ['LHD', 'Leatherhead'], ['DRO', 'Dronfield'], ['MRD', 'Morchard Road'], ['CHU', 'Cheadle Hulme'], ['LIC', 'Lichfield City'], ['DSM', 'Darsham'], ['ENF', 'Enfield Town'], ['SSE', 'Shoreham-by-Sea'], ['LGF', 'Longfield'], ['LIP', 'Liphook'], ['ACC', 'Acton Central'], ['NHE', 'New Hythe'], ['GCH', 'Garelochhead'], ['GSN', 'Garston (Hertfordshire)'], ['WRY', 'Wraysbury'], ['RID', 'Ridgmont'], ['KNF', 'Knutsford'], ['STN', 'Stonehaven'], ['WHP', 'West Hampstead Thameslink'], ['DIS', 'Diss'], ['MLG', 'Mallaig'], ['REI', 'Reigate'], ['DNG', 'Dunton Green'], ['LUX', 'Luxulyan'], ['GFD', 'Greenford'], ['GNR', 'Green Road'], ['STH', 'Shepreth'], ['BXW', 'Boxhill & Westhumble'], ['DUD', 'Duddeston'], ['FER', 'Fernhill'], ['CHI', 'Chingford'], ['BKQ', 'Hamilton Square'], ['MUB', 'Musselburgh'], ['ULL', 'Ulleskelf'], ['CLP', 'Clapham High Street'], ['COW', 'Cowdenbeath'], ['GLH', 'Glasshoughton'], ['ATL', 'Attleborough'], ['BIN', 'Bingham'], ['LGO', 'Llangynllo'], ['LRB', 'London Road (Brighton)'], ['WKD', 'Walkden'], ['HRW', 'Harrow & Wealdstone'], ['URM', 'Urmston'], ['CUA', 'Culrain'], ['NBW', 'North Berwick'], ['DMC', 'Drumchapel'], ['EMP', 'Emerson Park'], ['HLE', 'Hillington East'], ['MGN', 'Marston Green'], ['UWL', 'Upper Warlingham'], ['LWM', 'Llantwit Major'], ['ZDE', 'Dagenham East Underground'], ['HIB', 'High Brooms'], ['TQY', 'Torquay'], ['LEU', 'Leuchars'], ['LST', 'London Liverpool Street'], ['ZTG', 'Turnham Green Underground'], ['CDY', 'Cartsdyke'], ['MTC', 'Mitcham Eastfields'], ['HVF', 'Haverfordwest'], ['CSW', 'Chestfield & Swalecliffe'], ['TIR', 'Tir-phil'], ['ERL', 'Earlestown'], ['BGL', 'Bugle'], ['HWM', 'Harlow Mill'], ['SYB', 'Stalybridge'], ['NOA', 'Newton-on-Ayr'], ['FRT', 'Frant'], ['GUI', 'Guide Bridge'], ['HLW', 'Hillington West'], ['MYT', 'Mytholmroyd'], ['BKM', 'Berkhamsted'], ['NEL', 'Nelson'], ['NLT', 'Northolt Park'], ['BES', 'Bescar Lane'], ['BNA', 'Burnage'], ['SRY', 'Shoeburyness'], ['MSR', 'Minster'], ['BNH', 'Barnehurst'], ['DUN', 'Dunbar'], ['LLG', 'Llangadog'], ['PIN', 'Pinhoe'], ['POR', 'Porth'], ['CTR', 'Chester'], ['MCK', 'Marne La Vallee'], ['BUO', 'Bursledon'], ['MDL', 'Middlewood'], ['RHM', 'Reedham (Surrey)'], ['WHD', 'West Hampstead'], ['BDH', 'Bedhampton'], ['ROB', 'Roby'], ['KBF', 'Kirkby-in-Furness'], ['RTR', 'Rochester'], ['STV', 'Stevenston'], ['TIP', 'Tipton'], ['ASB', 'Ardrossan South Beach'], ['DBR', 'Derby Road'], ['LMS', 'Leamington Spa'], ['FSK', 'Fiskerton'], ['HWI', 'Horwich Parkway'], ['WLI', 'Welling'], ['WGC', 'Welwyn Garden City'], ['SOU', 'Southampton Central'], ['RUE', 'Runcorn East'], ['FNH', 'Farnham'], ['SRI', 'Spring Road'], ['TAU', 'Taunton'], ['ALT', 'Altrincham'], ['WDS', 'Woodlesford'], ['LEL', 'Lelant'], ['MNR', 'Manor Road'], ['PPL', 'Pontypool & New Inn'], ['RDG', 'Reading'], ['WNR', 'Windsor & Eton Riverside'], ['SWT', 'Slaithwaite'], ['RCD', 'Rochdale'], ['CYP', 'Crystal Palace'], ['DDG', 'Dorridge'], ['KBX', 'Kirby Cross'], ['SBJ', 'Stourbridge Junction'], ['CRI', 'Cricklewood'], ['WDU', 'West Dulwich'], ['SNN', 'Swinton (Manchester)'], ['BRP', 'Brampton (Suffolk)'], ['COV', 'Coventry'], ['DGL', 'Dingle Road'], ['PYC', 'Pontyclun'], ['LNY', 'Langley'], ['GRP', 'Grove Park'], ['HOU', 'Hounslow'], ['SAE', 'Saltaire'], ['BEH', 'Bedworth'], ['SCY', 'South Croydon'], ['BCY', 'Brockley'], ['AVI', 'Avignon'], ['VIC', 'London Victoria'], ['BWD', 'Birchwood'], ['HWN', 'Harlow Town'], ['VIC', 'London Victoria'], ['FRO', 'Frome'], ['VIC', 'London Victoria'], ['AWT', 'Armathwaite'], ['CAT', 'Caterham'], ['COB', 'Cooden Beach'], ['WVH', 'Wolverhampton'], ['HME', 'Hamble'], ['AUG', 'Aughton Park'], ['BEX', 'Bexhill'], ['ACY', 'Abercynon'], ['CML', 'Carmyle'], ['PBR', 'Potters Bar'], ['TOL', 'Tolworth'], ['APN', 'Newcastle Airport'], ['ADN', 'Ardrossan Town'], ['GDP', 'Gidea Park'], ['SBJ', 'Stourbridge Junction'], ['WIJ', 'Willesden Junction'], ['SDM', 'Shieldmuir'], ['SEV', 'Sevenoaks'], ['FRM', 'Fareham'], ['HNA', 'Hinton Admiral'], ['MRN', 'Marden'], ['MIA', 'Manchester Airport'], ['SBT', 'Stourbridge Town'], ['MAI', 'Maidenhead'], ['BKH', 'Blackheath'], ['BYS', 'Braystones'], ['HGT', 'Harrogate'], ['BIL', 'Billingham'], ['STM', 'St Michaels'], ['BVD', 'Belvedere'], ['LTS', 'Lelant Saltings'], ['LHA', 'Loch Awe'], ['BAD', 'Banstead'], ['INT', 'Ingatestone'], ['MKC', 'Milton Keynes Central'], ['EDR', 'Edmonton Green'], ['BNV', 'Banavie'], ['BTP', 'Braintree Freeport'], ['ROC', 'Roche'], ['CHP', 'Chipstead'], ['FNW', 'Farnworth'], ['TAI', 'Tain'], ['GAL', 'Galashiels'], ['CHG', 'Charing'], ['RMD', 'Richmond'], ['MTN', 'Moreton (Dorset)'], ['COR', 'Corby'], ['SOI', 'Stow'], ['BLG', 'Bellgrove'], ['CNF', 'Carnforth'], ['PST', 'Prestonpans'], ['PKT', 'Park Street'], ['SKS', 'Stocksfield'], ['NRC', 'Newbury Racecourse'], ['PNY', 'Pen-y-bont'], ['EKL', 'East Kilbride'], ['SRU', 'South Ruislip'], ['CDU', 'Cam & Dursley'], ['BRV', 'Bournville'], ['WMS', 'Wemyss Bay'], ['UDD', 'Uddingston'], ['BHD', 'Brithdir'], ['MOR', 'Mortimer'], ['CUM', 'Culham'], ['SDH', 'Sudbury Hill Harrow'], ['STA', 'Stafford'], ['PRL', 'Prittlewell'], ['RDT', 'Radlett'], ['SHP', 'Shepperton'], ['CNP', 'Conway Park'], ['TLK', 'The Lakes'], ['BRX', 'Brixton'], ['MTB', 'Matlock Bath'], ['CLN', 'Chapeltown'], ['KYN', 'Keynsham'], ['NWA', 'North Walsham'], ['BYA', 'Berney Arms'], ['REC', 'Rectory Road'], ['RRB', 'Ryder Brow'], ['SUD', 'Sudbury & Harrow Road'], ['SMN', 'Southminster'], ['YAT', 'Yatton'], ['KSN', 'Kearsney'], ['PTF', 'Pantyffynnon'], ['SWN', 'Swinton (South Yorkshire)'], ['SRN', 'Strines'], ['SWA', 'Swansea'], ['TRR', 'Torre'], ['SSC', 'Seascale'], ['HOT', 'Henley-on-Thames'], ['MVL', 'Malvern Link'], ['ARR', 'Arram'], ['SLT', 'Saltcoats'], ['ANZ', 'Anerley'], ['FPK', 'Finsbury Park'], ['LAN', 'Lancaster'], ['THA', 'Thatcham'], ['BSC', 'Bescot Stadium'], ['MTO', 'Marton'], ['EGG', 'Eggesford'], ['KEH', 'Keith'], ['WCY', 'West Croydon'], ['BOD', 'Bodmin Parkway'], ['HOP', 'Hope (Derbyshire)'], ['HRW', 'Harrow & Wealdstone'], ['WTC', 'Whitchurch (Shropshire)'], ['CHX', 'London Charing Cross'], ['KIR', 'Kirkby'], ['WGA', 'Westgate-on-Sea'], ['WSM', 'Weston-super-Mare'], ['BKS', 'Bekesbourne'], ['AHT', 'Aldershot'], ['DFI', 'Duffield'], ['GIR', 'Girvan'], ['ZBB', 'Barbican Underground'], ['HPE', 'Hope (Flintshire)'], ['CLW', 'Chorleywood'], ['HHL', 'Heath High Level'], ['KKS', 'Kirk Sandall'], ['RDD', 'Riddlesdown'], ['RFY', 'Rock Ferry'], ['ABE', 'Aber'], ['HSK', 'Hassocks'], ['SHT', 'Shotton'], ['LVC', 'Liverpool Central'], ['AIN', 'Aintree'], ['HNG', 'Hengoed'], ['LIS', 'Liss'], ['ARM', 'Armadale'], ['FFA', 'Ffairfach'], ['HCB', 'Hackbridge'], ['LVC', 'Liverpool Central'], ['ELP', 'Ellesmere Port'], ['DYF', 'Dyffryn Ardudwy'], ['TYW', 'Tywyn'], ['CWN', 'Cowden'], ['EGH', 'Egham'], ['RET', 'Retford'], ['HAY', 'Hayes & Harlington'], ['SAT', 'South Acton'], ['PMT', 'Polmont'], ['HPQ', 'Harwich International'], ['WED', 'Wedgwood'], ['BIO', 'Baillieston'], ['WCH', 'Whitchurch (Hampshire)'], ['MNE', 'Manea'], ['SNF', 'Shenfield'], ['ROM', 'Romsey'], ['CHL', 'Chilworth'], ['CDN', 'Coulsdon Town'], ['TLS', 'Thorpe-le-Soken'], ['WRS', 'Wressle'], ['BDY', 'Bredbury'], ['THI', 'Thirsk'], ['WES', 'Westerton'], ['CPU', 'Capenhurst'], ['LRH', 'Larkhall'], ['OLD', 'Old Street'], ['DGT', 'Deansgate'], ['SEM', 'Seamer'], ['SVB', 'Severn Beach'], ['BMC', 'Bromley Cross'], ['SEC', 'Seaton Carew'], ['ZLW', 'Whitechapel'], ['SEE', 'Southease'], ['SOA', 'Southampton Airpt Parkway'], ['WDO', 'Waddon'], ['WTS', 'Whatstandwell'], ['LPY', 'Liverpool South Parkway'], ['HFN', 'Hertford North'], ['KGM', 'Kingham'], ['WFL', 'Wainfleet'], ['SKN', 'St Keyne Wishing Well Halt'], ['DPT', 'Devonport'], ['SOW', 'Sowerby Bridge'], ['WDU', 'West Dulwich'], ['BCB', 'Burscough Bridge'], ['HST', 'High Street'], ['LEM', 'Leyton Midland Road'], ['PYL', 'Pyle'], ['WRU', 'West Ruislip'], ['WYB', 'Weybridge'], ['TAB', 'Tame Bridge Parkway'], ['TRE', 'Trefforest Estate'], ['WYB', 'Weybridge'], ['HND', 'Hanborough'], ['WLW', 'Welwyn North'], ['BMO', 'Birmingham Moor Street'], ['BCJ', 'Burscough Junction'], ['DCW', 'Dorchester West'], ['LVJ', 'James Street'], ['RDF', 'Radcliffe (Nottinghamshire)'], ['CPY', 'Clapham (North Yorkshire)'], ['RMF', 'Romford'], ['SAV', 'Stratford-upon-Avon'], ['LHW', 'Lochwinnoch'], ['NOT', 'Nottingham'], ['CUD', 'Cuddington'], ['LLA', 'Llanaber'], ['SNE', 'Stone'], ['SHL', 'Shawlands'], ['FFD', 'Freshford'], ['SHF', 'Sheffield'], ['YRK', 'York'], ['CSD', 'Cobham & Stoke d\\'Abernon'], ['ENT', 'Entwistle'], ['PRN', 'Parton'], ['ROL', 'Rolleston'], ['BRH', 'Borth'], ['BCV', 'Bruce Grove'], ['SMR', 'Smethwick Rolfe Street'], ['ACN', 'Achnasheen'], ['KWB', 'Kew Bridge'], ['SAR', 'St Andrews Road'], ['ASF', 'Ashfield'], ['FLM', 'Flimby'], ['LBT', 'Larbert'], ['WOR', 'Worle'], ['CWL', 'Colwall'], ['EXC', 'Exeter Central'], ['NTB', 'Norton Bridge'], ['TWY', 'Twyford'], ['ROR', 'Rogerstone'], ['BDI', 'Bradford Interchange'], ['WNL', 'Whinhill'], ['BLA', 'Blair Atholl'], ['KML', 'Kemsley'], ['SDR', 'Saunderton'], ['GRK', 'Gourock'], ['VXH', 'Vauxhall'], ['FTW', 'Fort William'], ['LIT', 'Littlehampton'], ['SIV', 'St Ives'], ['BLD', 'Baildon'], ['GLM', 'Gillingham (Kent)'], ['SHS', 'Shotts'], ['UCK', 'Uckfield'], ['BTG', 'Barnt Green'], ['BOM', 'Bromborough'], ['ACH', 'Achnashellach'], ['UHA', 'Uphall'], ['VXH', 'Vauxhall'], ['DIN', 'Dingwall'], ['HDW', 'Hadley Wood'], ['SOB', 'Southbourne'], ['LEE', 'Lee'], ['QBR', 'Queenborough'], ['LOC', 'Lockerbie'], ['SMA', 'Small Heath'], ['WDB', 'Woodbridge'], ['HIR', 'Horton-in-Ribblesdale'], ['PON', 'Ponders End'], ['FRI', 'Frinton-on-Sea'], ['SAL', 'Salisbury'], ['SRH', 'Streatham Hill'], ['CRK', 'Chirk'], ['EXR', 'Essex Road'], ['HOK', 'Hook'], ['SML', 'Sea Mills'], ['HLY', 'Holytown'], ['NWD', 'Norwood Junction'], ['ASY', 'Ashley'], ['ESW', 'Elmswell'], ['HOH', 'Harrow-on-the-Hill'], ['AGR', 'Angel Road'], ['NSD', 'Newstead'], ['HUL', 'Hull'], ['HLL', 'Heath Low Level'], ['PBL', 'Parbold'], ['JOH', 'Johnston'], ['SMB', 'Smithy Bridge'], ['NSH', 'North Sheen'], ['UPL', 'Upholland'], ['BGE', 'Broad Green'], ['CBY', 'Charlbury'], ['WME', 'Woodmansterne'], ['LAR', 'Largs'], ['MMO', 'Melton Mowbray'], ['LIN', 'Linlithgow'], ['WDT', 'West Drayton'], ['HFE', 'Hertford East'], ['KET', 'Kettering'], ['PUL', 'Pulborough'], ['QRB', 'Queenstown Road Battersea'], ['WMB', 'Wembley Central'], ['BRG', 'Borough Green & Wrotham'], ['GEA', 'Gretna Green'], ['KPA', 'Kensington Olympia'], ['CIM', 'Cilmeri'], ['SWR', 'Stewartby'], ['CMO', 'Camelon'], ['GLQ', 'Glasgow Queen Street'], ['BSU', 'Brunstane'], ['IFI', 'Ifield'], ['ARN', 'Arnside'], ['FRW', 'Fairwater'], ['LKE', 'Lake'], ['CTL', 'Cattal'], ['DMH', 'Dilton Marsh'], ['WWD', 'Woolwich Dockyard'], ['BTS', 'Burntisland'], ['HSW', 'Heswall'], ['KEL', 'Kelvedon'], ['DBL', 'Dunblane'], ['NLR', 'North Llanrwst'], ['HUB', 'Hunmanby'], ['SAF', 'Salfords'], ['WNE', 'Wilnecote'], ['QPK', 'Queens Park (Glasgow)'], ['WTM', 'Witham'], ['AVP', 'Aylesbury Vale Parkway'], ['PTD', 'Pontarddulais'], ['RDG', 'Reading'], ['EXM', 'Exmouth'], ['SNW', 'Swanwick'], ['FCN', 'Falconwood'], ['GOO', 'Goole'], ['LBO', 'Loughborough'], ['HSB', 'Helsby'], ['SHD', 'Shildon'], ['TAY', 'Taynuilt'], ['SNS', 'Staines'], ['CBW', 'Canterbury West'], ['EGF', 'East Garforth'], ['AUR', 'Aberdour'], ['DKG', 'Dorking'], ['GAR', 'Garrowhill'], ['HUN', 'Huntingdon'], ['LLY', 'Llwynypia'], ['SAY', 'Swanley'], ['TTH', 'Thornton Heath'], ['LSK', 'Liskeard'], ['LSW', 'Leasowe'], ['PMP', 'Plumpton'], ['WKK', 'Wakefield Kirkgate'], ['RFY', 'Rock Ferry'], ['DDK', 'Dagenham Dock'], ['HPN', 'Hapton'], ['LNB', 'Llanbradach'], ['BAD', 'Banstead'], ['BIT', 'Bicester Village'], ['MBR', 'Middlesbrough'], ['AAT', 'Achanalt'], ['HIP', 'Highams Park'], ['SIN', 'Singer'], ['TYG', 'Tygwyn'], ['CUP', 'Cupar'], ['FKC', 'Folkestone Central'], ['SIL', 'Sileby'], ['ESM', 'Elsenham'], ['EPD', 'Epsom Downs'], ['HBP', 'Hornbeam Park'], ['HOZ', 'Howwood'], ['RFY', 'Rock Ferry'], ['MEP', 'Meopham'], ['SWG', 'Swaythling'], ['AVM', 'Aviemore'], ['BHK', 'Bush Hill Park'], ['PEA', 'Peartree'], ['WNN', 'Wennington'], ['AYL', 'Aylesford'], ['PIT', 'Pitlochry'], ['OVE', 'Overpool'], ['ZCO', 'Croxley Underground'], ['GYM', 'Great Yarmouth'], ['CPK', 'Carpenders Park'], ['GLC', 'Glasgow Central'], ['LAS', 'Llansamlet'], ['SPN', 'Spooner Row'], ['FKW', 'Folkestone West'], ['KBC', 'Kinbrace'], ['AND', 'Anderston'], ['ZCW', 'Canada Water'], ['DON', 'Doncaster'], ['EAR', 'Earley'], ['CTN', 'Charlton'], ['ZFD', 'Farringdon Underground'], ['SBF', 'St Budeaux Ferry Road'], ['PCD', 'Pencoed'], ['LBG', 'London Bridge'], ['MZH', 'Maze Hill'], ['WTI', 'Winnersh Triangle'], ['HPD', 'Harpenden'], ['SHT', 'Shotton'], ['LBG', 'London Bridge'], ['NRT', 'Nethertown'], ['LBG', 'London Bridge'], ['HMY', 'Hairmyres'], ['HHB', 'Heysham Port'], ['PSH', 'Pershore'], ['PAN', 'Pangbourne'], ['CLU', 'Carluke'], ['SOC', 'Southend Central'], ['MFF', 'Minffordd'], ['BRF', 'Brierfield'], ['COT', 'Cottingley'], ['PTB', 'Pentre-bach'], ['SKG', 'Skegness'], ['INS', 'Insch'], ['EXN', 'Exton'], ['LOO', 'Looe'], ['WWA', 'Woolwich Arsenal'], ['CLK', 'Clock House'], ['BPT', 'Bishopton'], ['BAS', 'Bere Alston'], ['LCS', 'Locheilside'], ['MEV', 'Merthyr Vale'], ['BDH', 'Bedhampton'], ['SDE', 'Shadwell'], ['STP', 'London St Pancras (Intl)'], ['WEH', 'West Ham'], ['HUP', 'Humphrey Park'], ['BTO', 'Betchworth'], ['EVE', 'Evesham'], ['SEF', 'Seaford'], ['ALR', 'Alresford'], ['HNL', 'Henley-in-Arden'], ['SRL', 'Shirley'], ['BFF', 'Blaenau Ffestiniog'], ['FNN', 'Farnborough North'], ['NLW', 'Newton-le-Willows'], ['YAL', 'Yalding'], ['BMH', 'Bournemouth'], ['LHM', 'Lealholm'], ['TVP', 'Tiverton Parkway'], ['BIW', 'Biggleswade'], ['WLS', 'Woolston'], ['BIP', 'Bishopstone'], ['EBV', 'Ebbw Vale Parkway'], ['NNG', 'Newark North Gate'], ['PHG', 'Penhelig'], ['MNG', 'Manningtree'], ['TAT', 'Tattenham Corner'], ['MEN', 'Menheniot'], ['FSB', 'Fishbourne (West Sussex)'], ['CNN', 'Canonbury'], ['HRO', 'Harold Wood'], ['BKJ', 'Beckenham Junction'], ['NFN', 'Nafferton'], ['BNO', 'Benton (T & W Metro)'], ['GRV', 'Gravesend'], ['NBY', 'Newbury'], ['SDC', 'Shoreditch High Street'], ['AXP', 'Alexandra Parade'], ['FXN', 'Foxton'], ['MTS', 'Montrose'], ['BTN', 'Brighton'], ['RDG', 'Reading'], ['CIR', 'Caledonian Rd & Barnsbury'], ['TAL', 'Talsarnau'], ['CWN', 'Cowden'], ['NLS', 'Nailsea & Backwell'], ['WNH', 'Warnham'], ['HWB', 'Hawarden Bridge'], ['LLN', 'Llandaf'], ['NRB', 'Norbury'], ['CSY', 'Coseley'], ['LLL', 'Llandeilo'], ['RIC', 'Rickmansworth'], ['WMB', 'Wembley Central'], ['ADV', 'Andover'], ['PFL', 'Purfleet'], ['SWE', 'Swineshead'], ['SHB', 'Shirebrook'], ['DFD', 'Dartford'], ['HAN', 'Hanwell'], ['NUT', 'Nutbourne'], ['MLW', 'Marlow'], ['WBL', 'Warblington'], ['RHI', 'Rhiwbina'], ['DEP', 'Deptford'], ['CUB', 'Cumbernauld'], ['HCN', 'Headcorn'], ['LAW', 'Landywood'], ['THC', 'Thurnscoe'], ['CNO', 'Chetnole'], ['COI', 'Crosshill'], ['SHW', 'Shawford'], ['BAJ', 'Baglan'], ['SUR', 'Surbiton'], ['AUK', 'Auchinleck'], ['KTL', 'Kirton Lindsey'], ['LID', 'Lidlington'], ['CDR', 'Cardross'], ['SYL', 'Syon Lane'], ['HYT', 'Hyde North'], ['LAI', 'Laindon'], ['HOX', 'Hoxton'], ['LEW', 'Lewisham'], ['BSK', 'Basingstoke'], ['CRW', 'Crawley'], ['GBS', 'Goring-by-Sea'], ['WHS', 'Whyteleafe South'], ['MHR', 'Market Harborough'], ['ERD', 'Erdington'], ['GST', 'Gathurst'], ['LGG', 'Langley Green'], ['OVR', 'Overton'], ['NEH', 'New Eltham'], ['SDN', 'St Denys'], ['MTG', 'Mottingham'], ['WTR', 'Wateringbury'], ['CDB', 'Cardiff Bay'], ['FNT', 'Feniton'], ['BLP', 'Belper'], ['HSG', 'Hathersage'], ['HVH', 'Hoek Van Holland'], ['DVN', 'Davenport'], ['LWH', 'Lawrence Hill'], ['WCK', 'Wick'], ['BMB', 'Bamber Bridge'], ['DRI', 'Drigg'], ['TWN', 'Town Green'], ['CHE', 'Cheam'], ['SAX', 'Saxmundham'], ['MAG', 'Maghull'], ['SBE', 'Starbeck'], ['MCN', 'Machynlleth'], ['CBC', 'Coatbridge Central'], ['BYL', 'Barry Links'], ['BEM', 'Bempton'], ['SFR', 'Shalford'], ['BIC', 'Billericay'], ['BTR', 'Braintree'], ['ISL', 'Isleworth'], ['HLN', 'Harlington'], ['SSM', 'Stocksmoor'], ['GMN', 'Great Missenden'], ['KNE', 'Kennett'], ['POO', 'Poole'], ['RNR', 'Roughton Road'], ['ILK', 'Ilkley'], ['PMH', 'Portsmouth Harbour'], ['RDA', 'Redland'], ['FRS', 'Forsinard'], ['HRN', 'Hornsey'], ['SLY', 'Selly Oak'], ['OXT', 'Oxted'], ['CBS', 'Coatbridge Sunnyside'], ['WMD', 'Wymondham'], ['TEY', 'Teynham'], ['BAV', 'Barrow Haven'], ['BYE', 'Bynea'], ['WKB', 'West Kilbride'], ['BCU', 'Brockenhurst'], ['AMT', 'Aldermaston'], ['LGB', 'Langbank'], ['MRF', 'Moorfields'], ['PMH', 'Portsmouth Harbour'], ['ROO', 'Roose'], ['KIL', 'Kildonan'], ['BHC', 'Balloch'], ['WIV', 'Wivenhoe'], ['BTT', 'Battersby'], ['CCT', 'Cathcart'], ['HRL', 'Harlech'], ['RGW', 'Ramsgreave & Wilpshire'], ['WVF', 'Wivelsfield'], ['SAJ', 'St Johns'], ['WDH', 'Woodhouse'], ['FOG', 'Forest Gate'], ['HTF', 'Hartford'], ['WNW', 'West Norwood'], ['CSG', 'Cressington'], ['SHU', 'Stonehouse'], ['WDN', 'Walsden'], ['SAC', 'St Albans'], ['WFF', 'Whifflet'], ['HOW', 'Howden'], ['MLY', 'Morley'], ['ASG', 'Alsager'], ['LOB', 'Longbridge'], ['WOM', 'Wombwell'], ['MSH', 'Mossley Hill'], ['ECP', 'Energlyn & Churchill Park'], ['EPH', 'Elephant & Castle'], ['RDW', 'Reading West'], ['EKB', 'Eskbank'], ['BRU', 'Bruton'], ['CME', 'Combe'], ['MIH', 'Mills Hill'], ['PPD', 'Pontypridd'], ['SAD', 'Sandwell & Dudley'], ['KGT', 'Kilgetty'], ['BRI', 'Bristol Temple Meads'], ['HOC', 'Hockley'], ['LBR', 'Llanbedr'], ['NSG', 'New Southgate'], ['DGC', 'Denham Golf Club'], ['PNM', 'Penmere'], ['MHS', 'Meadowhall'], ['PSL', 'Port Sunlight'], ['DWW', 'Dawlish Warren'], ['RTN', 'Renton'], ['BUJ', 'Burton Joyce'], ['HUR', 'Hurst Green'], ['BDK', 'Baldock'], ['LNY', 'Langley'], ['BSH', 'Bushey'], ['DOW', 'Downham Market'], ['KIN', 'Kingussie'], ['BLO', 'Blaydon'], ['DVY', 'Dovey Junction'], ['BWS', 'Barrow Upon Soar'], ['SGL', 'South Gyle'], ['WHT', 'Whitchurch (Glamorgan)'], ['ACB', 'Acton Bridge'], ['ZHA', 'Hammersmith Underground'], ['WRB', 'Wrabness'], ['NQU', 'North Queensferry'], ['TYC', 'Ty Croes'], ['ANC', 'Ancaster'], ['NBN', 'New Brighton'], ['HEC', 'Heckington'], ['QUI', 'Quintrell Downs'], ['WCX', 'Wembley Stadium'], ['LWT', 'Lowestoft'], ['RAN', 'Rannoch'], ['THU', 'Thurgarton'], ['CSK', 'Calstock'], ['MER', 'Merthyr Tydfil'], ['NEI', 'Neilston'], ['CBD', 'Conon Bridge'], ['DNO', 'Dunrobin Castle'], ['HUD', 'Huddersfield'], ['SKW', 'Stoke Newington'], ['ARG', 'Arisaig'], ['CNW', 'Conwy'], ['MNN', 'Menston'], ['PLE', 'Pollokshields East'], ['LLO', 'Llandrindod'], ['LAU', 'Laurencekirk'], ['MSL', 'Mossley'], ['SIE', 'Sherburn-in-Elmet'], ['CBH', 'Cambridge Heath'], ['KBN', 'Kilburn High Road'], ['SID', 'Sidcup'], ['FEL', 'Feltham'], ['CCC', 'Criccieth'], ['STO', 'South Tottenham'], ['WOO', 'Wool'], ['GRK', 'Gourock'], ['LLI', 'Llandybie'], ['AXM', 'Axminster'], ['WGV', 'Wargrave'], ['HSD', 'Hamstead'], ['PLW', 'Pollokshields West'], ['BRK', 'Berwick (Sussex)'], ['CTW', 'Church & Oswaldtwistle'], ['XIB', 'Bourg St Maurice'], ['SKI', 'Skipton'], ['BDM', 'Bedford'], ['PLM', 'Plumley'], ['YVJ', 'Yeovil Junction'], ['DEN', 'Dean'], ['DAM', 'Dalmeny'], ['WGN', 'Wigan North Western'], ['WRE', 'Wrenbury'], ['RYN', 'Roydon'], ['YVJ', 'Yeovil Junction'], ['ABH', 'Abererch'], ['UNI', 'University'], ['AMY', 'Amberley'], ['CSB', 'Carshalton Beeches'], ['EFF', 'Effingham Junction'], ['SVK', 'Seven Kings'], ['DEA', 'Deal'], ['WNP', 'Wanstead Park'], ['ALK', 'Aslockton'], ['ULV', 'Ulverston'], ['LIV', 'Liverpool Lime Street'], ['ABC', 'Altnabreac'], ['LAP', 'Lapford'], ['NIT', 'Nitshill'], ['RAM', 'Ramsgate'], ['KNO', 'Knottingley'], ['LIV', 'Liverpool Lime Street'], ['CSH', 'Carshalton'], ['BFE', 'Bere Ferrers'], ['AVY', 'Aberdovey'], ['CBK', 'Cranbrook (Devon)'], ['WLN', 'Wellington (Shropshire)'], ['CGN', 'Cogan'], ['ASC', 'Ashchurch for Tewkesbury'], ['AVF', 'Avoncliff'], ['CBP', 'Castle Bar Park'], ['GSL', 'Gunnislake'], ['HMC', 'Hampton Court'], ['PLY', 'Plymouth'], ['CLA', 'Clandon'], ['CNE', 'Colne'], ['NXG', 'New Cross Gate'], ['CIL', 'Chilham'], ['FLI', 'Flixton'], ['NWX', 'New Cross'], ['BMY', 'Bramley (Hampshire)'], ['CWS', 'Caersws'], ['BHO', 'Blackhorse Road'], ['CFT', 'Crofton Park'], ['GLS', 'Glaisdale'], ['WMI', 'Wildmill'], ['AST', 'Aston'], ['CDT', 'Caldicot'], ['ESD', 'Elmstead Woods'], ['KLN', 'Kings Lynn'], ['SLQ', 'St Leonards Warrior Square'], ['PNC', 'Penychain'], ['BUB', 'Burnley Barracks'], ['BNC', 'Burnley Central'], ['AXM', 'Axminster'], ['AXM', 'Axminster'], ['BGS', 'Bogston'], ['BAC', 'Bache'], ['HWW', 'How Wood'], ['BNG', 'Bangor (Gwynedd)'], ['BRM', 'Barmouth'], ['DNL', 'Dunlop'], ['EML', 'East Malling'], ['CMO', 'Camelon'], ['EDY', 'East Didsbury'], ['SPR', 'Springburn'], ['ELE', 'Elmers End'], ['WKI', 'West Kirby'], ['LBZ', 'Leighton Buzzard'], ['WES', 'Westerton'], ['LYD', 'Lydney'], ['PYT', 'Poynton'], ['RCC', 'Redcar Central'], ['CWE', 'Crowle'], ['KNA', 'Knaresborough'], ['RCE', 'Redcar East'], ['BUH', 'Brough'], ['DAN', 'Darnall'], ['WNF', 'Winchfield'], ['WKF', 'Wakefield Westgate'], ['PWY', 'Patchway'], ['DZY', 'Danzey'], ['FLD', 'Fauldhouse'], ['WPL', 'Worplesdon'], ['BSL', 'Beasdale'], ['KKD', 'Kirkdale'], ['EAG', 'Eaglescliffe'], ['CRM', 'Cramlington'], ['SIH', 'St Helier'], ['HBY', 'Hartlebury'], ['COA', 'Coatdyke'], ['CHW', 'Chalkwell'], ['RYS', 'Royston'], ['DVH', 'Dove Holes'], ['HEV', 'Hever'], ['SPA', 'Spalding'], ['BOG', 'Bognor Regis'], ['EUS', 'London Euston'], ['FRL', 'Fairlie'], ['EDB', 'Edinburgh'], ['MRR', 'Morar'], ['WSH', 'Wishaw'], ['CPW', 'Chepstow'], ['SUU', 'Sunbury'], ['HAP', 'Hatfield Peverel'], ['OUN', 'Oulton Broad North'], ['MIC', 'Micheldever'], ['WOF', 'Worcester Foregate Street'], ['WRX', 'Wrexham General'], ['OUS', 'Oulton Broad South'], ['CAK', 'Cark'], ['FRY', 'Ferriby'], ['FOH', 'Forest Hill'], ['STY', 'Stratford Parkway'], ['OLF', 'Oldfield Park'], ['WAL', 'Walton-on-Thames'], ['PTT', 'Patterton'], ['GLQ', 'Glasgow Queen Street'], ['EBA', 'Euxton Balshaw Lane'], ['HLM', 'Holmwood'], ['FAV', 'Faversham'], ['GOL', 'Golspie'], ['KKH', 'Kirkhill'], ['WSR', 'Woodsmoor'], ['CNL', 'Canley'], ['SPT', 'Stockport'], ['WBD', 'Whitley Bridge'], ['HIA', 'Hampton-in-Arden'], ['BLV', 'Belle Vue'], ['DMK', 'Denmark Hill'], ['DWL', 'Dawlish'], ['FLF', 'Flowery Field'], ['DGY', 'Deganwy'], ['SYS', 'Syston'], ['KKN', 'Kirknewton'], ['WBO', 'Wimbledon Chase'], ['ALB', 'Albrighton'], ['BEP', 'Bermuda Park (Nuneaton)'], ['BFN', 'Byfleet & New Haw'], ['SKM', 'Stoke Mandeville'], ['NEM', 'New Malden'], ['SER', 'St Erth'], ['GNL', 'Green Lane'], ['HEI', 'Heighington'], ['OMS', 'Ormskirk'], ['HBN', 'Hollingbourne'], ['COL', 'Colchester'], ['MES', 'Melton'], ['AHV', 'Ash Vale'], ['KRK', 'Kirkconnel'], ['BYN', 'Bryn'], ['CWC', 'Chappel & Wakes Colne'], ['BIK', 'Birkbeck'], ['SWM', 'Swanscombe'], ['AUD', 'Audley End'], ['BRE', 'Brentwood'], ['YOK', 'Yoker'], ['AHS', 'Ashurst'], ['GSW', 'Garswood'], ['SHU', 'Stonehouse'], ['SNR', 'Sanderstead'], ['BRC', 'Breich'], ['HDM', 'Haddenham & Thame Parkway'], ['BAH', 'Bank Hall'], ['PRR', 'Princes Risborough'], ['SYA', 'Styal'], ['GPO', 'Gospel Oak'], ['SLV', 'Silver Street'], ['FZP', 'Furze Platt'], ['MFA', 'Morfa Mawddach'], ['DLG', 'Dolgarrog'], ['CWB', 'Colwyn Bay'], ['HVN', 'Havenhouse'], ['LUT', 'Luton'], ['GIG', 'Giggleswick'], ['KGP', 'Kings Park'], ['RYH', 'Rye House'], ['GOR', 'Goring & Streatley'], ['HFD', 'Hereford'], ['BIG', 'Billingshurst'], ['STJ', 'Severn Tunnel Junction'], ['SAU', 'St Austell'], ['WHS', 'Whyteleafe South'], ['WST', 'Wood Street'], ['LED', 'Ledbury'], ['MRF', 'Moorfields'], ['OLF', 'Oldfield Park'], ['ATN', 'Atherton'], ['BRS', 'Berrylands'], ['WSB', 'Westbury'], ['CYS', 'Cathays'], ['CWD', 'Creswell'], ['LOS', 'Lostwithiel'], ['BHS', 'Brockholes'], ['THT', 'Thorntonhall'], ['DRG', 'Drayton Green'], ['ANS', 'Ainsdale'], ['DYP', 'Drayton Park'], ['KLY', 'Kenley'], ['LEH', 'Lea Hall'], ['LPR', 'Long Preston'], ['SVS', 'Seven Sisters'], ['WWW', 'Wootton Wawen'], ['SHI', 'Shiplake'], ['WML', 'Wilmslow'], ['EDL', 'Edale'], ['FLX', 'Felixstowe'], ['NBR', 'Narborough'], ['PFY', 'Poulton-le-Fylde'], ['PRP', 'Preston Park'], ['COE', 'Coombe Junction Halt'], ['SST', 'Stansted Mountfitchet'], ['WLD', 'West St Leonards'], ['PMW', 'Penmaenmawr'], ['YEO', 'Yeoford'], ['YVP', 'Yeovil Pen Mill'], ['GRF', 'Garforth'], ['MON', 'Monifieth'], ['NOR', 'Normanton'], ['COM', 'Commondale'], ['ZFD', 'Farringdon Underground'], ['ORR', 'Orrell'], ['LOW', 'Lowdham'], ['YVP', 'Yeovil Pen Mill'], ['HWF', 'Heathrow Airport T4 (Bus)'], ['LPG', 'Llanfairpwll'], ['LWR', 'Llanrwst'], ['CRN', 'Crowthorne'], ['JCH', 'James Cook'], ['LLS', 'Llanishen'], ['NCE', 'New Clee'], ['RAY', 'Raynes Park'], ['SAW', 'Sawbridgeworth'], ['WLO', 'Waterloo (Merseyside)'], ['ROE', 'Rotherhithe'], ['HNB', 'Herne Bay'], ['SHY', 'Shipley'], ['MTA', 'Mountain Ash'], ['SJP', 'St James\\' Park'], ['LYC', 'Lympstone Commando'], ['NWM', 'New Milton'], ['WIJ', 'Willesden Junction'], ['FLT', 'Flitwick'], ['BRA', 'Brora'], ['HYN', 'Hyndland'], ['RUF', 'Rufford'], ['PTA', 'Port Talbot Parkway'], ['SMH', 'Stamford Hill'], ['GVE', 'Garve'], ['HTE', 'Hatch End'], ['WSE', 'Winchelsea'], ['DLT', 'Dalton'], ['SPY', 'Shepley'], ['CFL', 'Crossflatts'], ['LIH', 'Leigh (Kent)'], ['LYM', 'Lympstone Village'], ['SOL', 'Solihull'], ['CTH', 'Chadwell Heath'], ['FOK', 'Four Oaks'], ['TRI', 'Tring'], ['BLB', 'Battlesbridge'], ['FAL', 'Falmouth Docks'], ['HPL', 'Hartlepool'], ['OXN', 'Oxenholme Lake District'], ['OTF', 'Otford'], ['OUT', 'Outwood'], ['WLE', 'Whittlesea'], ['SBV', 'St Budeaux Victoria Road'], ['HHY', 'Highbury & Islington'], ['CKS', 'Clarkston'], ['EDN', 'Eden Park'], ['SDP', 'Sandplace'], ['AFK', 'Ashford International'], ['DLM', 'Delamere'], ['HHY', 'Highbury & Islington'], ['INK', 'Inverkeithing'], ['SAA', 'St Albans Abbey'], ['HLB', 'Hildenborough'], ['KTH', 'Kent House'], ['BUL', 'Butlers Lane'], ['AML', 'Acton Main Line'], ['FMT', 'Falmouth Town'], ['BAM', 'Bamford'], ['FFD', 'Freshford'], ['WAT', 'London Waterloo'], ['SHN', 'Shanklin'], ['CKT', 'Crookston'], ['BKL', 'Bickley'], ['DND', 'Dinsdale'], ['NCL', 'Newcastle'], ['WLV', 'Wallasey Village'], ['THS', 'Thurso'], ['ZBS', 'Baker Street Underground'], ['WAE', 'London Waterloo East'], ['TIS', 'Tisbury'], ['BXS', 'Brussels Midi'], ['LEA', 'Leagrave'], ['BAB', 'Balcombe'], ['NCZ', 'Newcastle Central Metro'], ['ASH', 'Ash'], ['RDB', 'Redbridge'], ['BBK', 'Bilbrook'], ['BUW', 'Burley-in-Wharfedale'], ['GBD', 'Gilberdyke'], ['NSB', 'Normans Bay'], ['RGT', 'Rugeley Town'], ['SEH', 'Shoreham (Kent)'], ['BSH', 'Bushey'], ['ELG', 'Elgin'], ['FTN', 'Fratton'], ['EBN', 'Eastbourne'], ['FTM', 'Fort Matilda'], ['MBK', 'Millbrook (Hampshire)'], ['POT', 'Pontefract Tanshelf'], ['WGW', 'Wigan Wallgate'], ['SUO', 'Sutton (Surrey)'], ['AYS', 'Aylesbury'], ['LVM', 'Levenshulme'], ['WAD', 'Wadhurst'], ['PGN', 'Paignton'], ['BOC', 'Bootle'], ['BUG', 'Burgess Hill'], ['AHD', 'Ashtead'], ['OKL', 'Oakleigh Park'], ['LTT', 'Little Sutton'], ['BAU', 'Barton-on-Humber'], ['GWE', 'Gwersyllt'], ['PMH', 'Portsmouth Harbour'], ['SBU', 'Southbury'], ['CDF', 'Cardiff Central'], ['DTW', 'Droitwich Spa'], ['FST', 'London Fenchurch Street'], ['CEY', 'Cononley'], ['HML', 'Hemel Hempstead'], ['OKN', 'Oakengates'], ['CGD', 'Craigendoran'], ['PEM', 'Pemberton'], ['NHL', 'New Holland'], ['SNP', 'Stanhope'], ['EST', 'Easterhouse'], ['GRA', 'Grantham'], ['TAP', 'Taplow'], ['SUC', 'Sutton Common'], ['GNH', 'Greenhithe for Bluewater'], ['NCT', 'Newark Castle'], ['BTD', 'Bolton-on-Dearne'], ['HNC', 'Hamilton Central'], ['ECL', 'Eccleston Park'], ['OLY', 'Ockley'], ['PLD', 'Portslade'], ['BBG', 'Bishopbriggs'], ['COP', 'Copplestone'], ['SDB', 'Sandbach'], ['COV', 'Coventry'], ['EXD', 'Exeter St Davids'], ['LTH', 'Llanhilleth'], ['SQH', 'Sanquhar'], ['ERA', 'Eastham Rake'], ['BSK', 'Basingstoke'], ['MIR', 'Mirfield'], ['PFM', 'Pontefract Monkhill'], ['GUN', 'Gunnersbury'], ['WLG', 'Wallasey Grove Road'], ['PBO', 'Peterborough'], ['PLU', 'Plumstead'], ['CDQ', 'Cardiff Queen Street'], ['BXB', 'Broxbourne'], ['HNW', 'Hamilton West'], ['EXT', 'Exeter St Thomas'], ['WLT', 'Wallington'], ['HNX', 'Hunts Cross'], ['HMP', 'Hampton'], ['ALF', 'Alfreton'], ['BAA', 'Barnham'], ['SEA', 'Seaham'], ['WBY', 'West Byfleet'], ['BGL', 'Bugle'], ['WRK', 'Worksop'], ['WWI', 'West Wickham'], ['FGT', 'Faygate'], ['STW', 'Strawberry Hill'], ['NFL', 'Northfleet'], ['BUE', 'Bures'], ['NMP', 'Northampton'], ['CBL', 'Cambuslang'], ['GFN', 'Giffnock'], ['INV', 'Inverness'], ['WGR', 'Woodgrange Park'], ['STS', 'Saltash'], ['STP', 'London St Pancras (Intl)'], ['SUN', 'Sunderland'], ['SDF', 'Saundersfoot'], ['FNV', 'Furness Vale'], ['YAE', 'Yate'], ['MCV', 'Manchester Victoria'], ['RED', 'Redruth'], ['SNG', 'Sunningdale'], ['PDG', 'Padgate'], ['HTR', 'Heathrow Central Bus Stn'], ['BHI', 'Birmingham International'], ['CWH', 'Crews Hill'], ['NTA', 'Newton Abbot'], ['SFA', 'Stratford International'], ['WOH', 'Woldingham'], ['SXY', 'Saxilby'], ['GKC', 'Greenock Central'], ['PTC', 'Portchester'], ['GLD', 'Guildford'], ['BNF', 'Briton Ferry'], ['DAG', 'Dalgety Bay'], ['SOO', 'Strood'], ['DLS', 'Dalston'], ['LFD', 'Lingfield'], ['BBN', 'Blackburn'], ['CGM', 'Cottingham'], ['RVB', 'Ravensbourne'], ['AIR', 'Airbles'], ['BRR', 'Barrhead'], ['CLH', 'Clitheroe'], ['MRM', 'Manors (T & W Metro)'], ['GMT', 'Grosmont'], ['DHM', 'Durham'], ['PAR', 'Par'], ['IVY', 'Ivybridge'], ['LVN', 'Littlehaven'], ['GKW', 'Greenock West'], ['HNK', 'Hinckley'], ['KMK', 'Kilmarnock'], ['RMD', 'Richmond'], ['SIC', 'Silecroft'], ['HAD', 'Haddiscoe'], ['DNM', 'Denham'], ['OXS', 'Oxshott'], ['SLB', 'Saltburn'], ['DNT', 'Dent'], ['WHY', 'Whyteleafe'], ['CRG', 'Cross Gates'], ['LCG', 'Lochgelly'], ['BHG', 'Bathgate'], ['TNF', 'Tonfanau'], ['MAL', 'Malden Manor'], ['NUT', 'Nutbourne'], ['NWX', 'New Cross'], ['TON', 'Tonbridge'], ['TRO', 'Trowbridge'], ['WKG', 'Workington'], ['BSI', 'Balmossie'], ['SMK', 'Stowmarket'], ['LGD', 'Lingwood'], ['FBY', 'Formby'], ['NNP', 'Ninian Park'], ['ADM', 'Adisham'], ['GRL', 'Greenfaulds'], ['RLN', 'Rowlands Castle'], ['AMF', 'Ammanford'], ['KMP', 'Kempton Park'], ['SNL', 'Stoneleigh'], ['BWB', 'Bow Brickhill'], ['ABY', 'Ashburys'], ['BRY', 'Barry'], ['MYL', 'Maryland'], ['BBL', 'Bat & Ball'], ['PUT', 'Putney'], ['CAA', 'Coventry Arena'], ['HMD', 'Hampden Park'], ['GYP', 'Gypsy Lane'], ['CMY', 'Crossmyloof'], ['DUL', 'Dullingham'], ['WNM', 'Weston Milton'], ['AFV', 'Ansdell & Fairhaven'], ['SYH', 'Sydenham Hill'], ['GTW', 'Gatwick Airport'], ['HYK', 'Hoylake'], ['MIS', 'Mistley'], ['PPK', 'Possilpark & Parkhouse'], ['WYM', 'Wylam'], ['MLM', 'Millom'], ['WAV', 'Wavertree Tech Park'], ['LAM', 'Lamphey'], ['CCH', 'Chichester'], ['MLT', 'Malton'], ['SGM', 'St Germans'], ['WND', 'Wendover'], ['HAF', 'Heathrow Airport T4'], ['THE', 'Theale'], ['ADL', 'Adlington (Lancashire)'], ['HWV', 'Heathrow Airport T5'], ['PLK', 'Plockton'], ['HWC', 'Harwich Town'], ['CWU', 'Crowhurst'], ['CHK', 'Chiswick'], ['HEN', 'Hendon'], ['DRU', 'Drumgelloch'], ['HAB', 'Habrough'], ['LVT', 'Lisvane & Thornhill'], ['TOK', 'Three Oaks'], ['SVR', 'Silverdale'], ['HEL', 'Hensall'], ['SON', 'Steeton & Silsden'], ['WIC', 'Wickford'], ['NAN', 'Nantwich'], ['LUD', 'Ludlow'], ['AFS', 'Ashford (Surrey)'], ['SGH', 'South Gosforth (T & W Metro)'], ['WYL', 'Wylde Green'], ['RDH', 'Redhill'], ['RNM', 'Rainham (Essex)'], ['MIF', 'Millfield (T & W Metro)'], ['WIN', 'Winchester'], ['LLR', 'Llanharan'], ['NET', 'Netherfield'], ['BSN', 'Boston'], ['GRN', 'Grindleford'], ['APB', 'Appley Bridge'], ['PYN', 'Penryn'], ['SRR', 'Sarn'], ['BND', 'Brandon'], ['DLW', 'Dalwhinnie'], ['BIB', 'Bishops Lydeard'], ['CUX', 'Cuxton'], ['PRS', 'Prees'], ['CLC', 'Castle Cary'], ['SCF', 'Stechford'], ['CLD', 'Chelsfield'], ['RIL', 'Rice Lane'], ['TBY', 'Thornaby'], ['LPY', 'Liverpool South Parkway'], ['CRV', 'Craven Arms'], ['WMA', 'West Malling'], ['DTN', 'Denton'], ['DOC', 'Dockyard'], ['DCH', 'Dorchester South'], ['NXG', 'New Cross Gate'], ['CDS', 'Coulsdon South'], ['LLF', 'Llanfairfechan'], ['SLL', 'Stallingborough'], ['CDO', 'Cardonald'], ['HAT', 'Hatfield'], ['RDN', 'Reddish North'], ['WOS', 'Worcester Shrub Hill'], ['HAV', 'Havant'], ['SNA', 'Sandal & Agbrigg'], ['MIM', 'Moreton-in-Marsh'], ['ART', 'Arrochar & Tarbet'], ['OBN', 'Oban'], ['RDS', 'Reddish South'], ['TOO', 'Tooting'], ['WMC', 'Wilmcote'], ['SIA', 'Southend Airport'], ['EBT', 'Edenbridge Town'], ['PLG', 'Polegate'], ['BSW', 'Birmingham Snow Hill'], ['GRB', 'Great Bentley'], ['HHB', 'Heysham Port'], ['SNK', 'Sankey for Penketh'], ['BXD', 'Buxted'], ['ASK', 'Askam'], ['CFB', 'Catford Bridge'], ['GMG', 'Garth (Mid Glamorgan)'], ['NCM', 'North Camp'], ['APF', 'Appleford'], ['EWR', 'East Worthing'], ['WON', 'Walton-on-the-Naze'], ['ROW', 'Rowley Regis'], ['WSU', 'West Sutton'], ['BGG', 'Brigg'], ['EBD', 'Ebbsfleet International'], ['ZEL', 'Elephant & Castle Underground'], ['PHR', 'Penshurst'], ['MRB', 'Manorbier'], ['SPH', 'Shepherds Well'], ['STD', 'Stroud'], ['TGS', 'Ty Glas'], ['BCF', 'Beaconsfield'], ['HDF', 'Hadfield'], ['CDD', 'Cardenden'], ['LTL', 'Littleborough'], ['CHR', 'Christchurch'], ['MFT', 'Mansfield'], ['PWE', 'Pollokshaws East'], ['LPW', 'Lapworth'], ['BNE', 'Bourne End'], ['CRA', 'Cradley Heath'], ['CHO', 'Cholsey'], ['WRM', 'Wareham'], ['CSR', 'Chassen Road'], ['SEN', 'Shenstone'], ['BOE', 'Botley'], ['ANG', 'Angmering'], ['DVC', 'Dovercourt'], ['PMG', 'Porthmadog Harbour (Bus)'], ['ORN', 'Old Roan'], ['NGT', 'Newington'], ['KNI', 'Knighton'], ['GVH', 'Gravelly Hill'], ['OXF', 'Oxford'], ['CKY', 'Crosskeys'], ['BLL', 'Bardon Mill'], ['FGH', 'Fishguard Harbour'], ['LYE', 'Lye'], ['CLR', 'Clarbeston Road'], ['HBD', 'Hebden Bridge'], ['IGD', 'Invergordon'], ['YNW', 'Ynyswen'], ['PWW', 'Pollokshaws West'], ['RMB', 'Roman Bridge'], ['GRT', 'Grateley'], ['AGT', 'Aldrington'], ['CED', 'Cheddington'], ['RVN', 'Ravensthorpe'], ['KEN', 'Kendal'], ['MAR', 'Margate'], ['PSE', 'Pitsea'], ['CTK', 'City Thameslink'], ['BAT', 'Battle'], ['HEV', 'Hever'], ['WAS', 'Watton-at-Stone'], ['CLY', 'Chinley'], ['HES', 'Hessle'], ['UPH', 'Upper Halliford'], ['WNS', 'Winnersh'], ['AON', 'Alton'], ['LGK', 'Longbeck'], ['SHC', 'Streethouse'], ['EMS', 'Emsworth'], ['SYH', 'Sydenham Hill'], ['BAK', 'Battersea Park'], ['GLQ', 'Glasgow Queen Street'], ['BKJ', 'Beckenham Junction'], ['UMB', 'Umberleigh'], ['CMN', 'Carmarthen'], ['SHH', 'Shirehampton'], ['MAX', 'Maxwell Park'], ['HGY', 'Harringay'], ['AVF', 'Avoncliff'], ['BYK', 'Bentley (South Yorkshire)'], ['GER', 'Gerrards Cross'], ['HLR', 'Hall Road'], ['HNF', 'Hednesford'], ['FRD', 'Frodsham'], ['KNR', 'Kensal Rise'], ['BCC', 'Beccles'], ['HGN', 'Hough Green'], ['BKW', 'Berkswell'], ['EBR', 'Edenbridge'], ['BKT', 'Blake Street'], ['CEH', 'Coleshill Parkway'], ['LEN', 'Lenham'], ['BEC', 'Beckenham Hill'], ['FNY', 'Finchley Road & Frognal'], ['LTM', 'Lytham'], ['BKJ', 'Beckenham Junction'], ['KDG', 'Kidsgrove'], ['IGD', 'Invergordon'], ['CPH', 'Caerphilly'], ['APS', 'Apsley'], ['HTY', 'Hattersley'], ['SAL', 'Salisbury'], ['BNW', 'Bootle New Strand'], ['SOB', 'Southbourne'], ['BTH', 'Bath Spa'], ['DFE', 'Dunfermline Town'], ['SLS', 'Shettleston'], ['ELY', 'Ely'], ['BMF', 'Broomfleet'], ['NVH', 'Newhaven Harbour'], ['LCL', 'Lochailort'], ['PMD', 'Pembroke Dock'], ['WAR', 'Ware'], ['BFD', 'Brentford'], ['GLZ', 'Glazebrook'], ['HSY', 'Horsley'], ['SPI', 'Spital'], ['SHZ', 'South Hylton (T & W Metro)'], ['MOO', 'Muir of Ord'], ['NHD', 'Nunhead'], ['BKR', 'Blackridge'], ['IRL', 'Irlam'], ['NVN', 'Newhaven Town'], ['WRN', 'West Runton'], ['HDB', 'Haydon Bridge'], ['EAD', 'Earlsfield'], ['RDM', 'Riding Mill'], ['WMR', 'Widney Manor'], ['BPK', 'Brookmans Park'], ['WLF', 'Whittlesford Parkway'], ['GDN', 'Godstone'], ['TFC', 'Telford Central'], ['SHE', 'Sherborne'], ['GNB', 'Gainsborough Central'], ['BOT', 'Bootle Oriel Road'], ['EGR', 'East Grinstead'], ['LNK', 'Lanark'], ['NEG', 'Newtongrange'], ['SAL', 'Salisbury'], ['CFR', 'Chandlers Ford'], ['LGM', 'Langley Mill'], ['GSD', 'Garsdale'], ['LAG', 'Langwith-Whaley Thorns'], ['BNL', 'Barnhill'], ['IVR', 'Iver'], ['CNY', 'Cantley'], ['HGS', 'Hastings'], ['BEY', 'Ben Rhydding'], ['BMD', 'Brimsdown'], ['ARB', 'Arbroath'], ['BLN', 'Blundellsands & Crosby'], ['MSS', 'Moses Gate'], ['DST', 'Duke Street'], ['HYW', 'Hinchley Wood'], ['AYR', 'Ayr'], ['SRO', 'Shireoaks'], ['CAR', 'Carlisle'], ['DSY', 'Daisy Hill'], ['RGL', 'Rugeley Trent Valley'], ['GFF', 'Gilfach Fargoed'], ['WAF', 'Wallyford'], ['INR', 'Inverurie'], ['SBK', 'South Bank'], ['ELO', 'Elton & Orston'], ['SPB', 'Shepherds Bush'], ['STE', 'Streatham'], ['CYB', 'Cefn-y-Bedd'], ['HDY', 'Headingley'], ['HCT', 'Huncoat'], ['DYC', 'Dyce'], ['HYD', 'Heyford'], ['PRH', 'Penrhyndeudraeth'], ['SET', 'Settle'], ['WFH', 'Watford High Street'], ['DLR', 'Dalreoch'], ['BKD', 'Blakedown'], ['PTM', 'Porthmadog'], ['ORP', 'Orpington'], ['GBL', 'Gainsborough Lea Road'], ['SCU', 'Scunthorpe'], ['PTH', 'Perth'], ['TAM', 'Tamworth'], ['TRB', 'Treherbert'], ['BXY', 'Bexley'], ['TRY', 'Treorchy'], ['HRS', 'Horsforth'], ['SHV', 'Southsea Hoverport (Bus)'], ['SUM', 'Summerston'], ['WFJ', 'Watford Junction'], ['FYS', 'Ferryside'], ['NUM', 'Northumberland Park'], ['SVL', 'Staveley'], ['CYK', 'Clydebank'], ['HDN', 'Harlesden'], ['PLS', 'Pleasington'], ['TLC', 'Tal-y-Cafn'], ['WAM', 'Walmer'], ['BMG', 'Barming'], ['IFD', 'Ilford'], ['GTA', 'Great Ayton'], ['NBC', 'New Beckenham'], ['LUD', 'Ludlow'], ['FNR', 'Farningham Road'], ['CFN', 'Clifton Down'], ['HAC', 'Hackney Downs'], ['PGM', 'Pengam'], ['RLG', 'Rayleigh'], ['BKG', 'Barking'], ['BLM', 'Belmont'], ['NTC', 'Newton St Cyres'], ['RYE', 'Rye'], ['DBG', 'Mottisfont & Dunbridge'], ['NWI', 'Northwich'], ['PSC', 'Prescot'], ['DKD', 'Dunkeld & Birnam'], ['AGL', 'Abergele & Pensarn'], ['CRF', 'Carfin'], ['SOM', 'South Milford'], ['CRY', 'Crayford'], ['LIU', 'Lille Europe'], ['GLF', 'Glenfinnan'], ['SWI', 'Swindon'], ['SCR', 'St Columb Road'], ['TEO', 'Theobalds Grove'], ['BHM', 'Birmingham New Street'], ['BML', 'Bramhall'], ['WIJ', 'Willesden Junction'], ['COS', 'Cosford'], ['ACG', 'Acocks Green'], ['DVP', 'Dover Priory'], ['MOG', 'Moorgate'], ['ROS', 'Rosyth'], ['WAO', 'Walton (Merseyside)'], ['GNH', 'Greenhithe for Bluewater'], ['RWC', 'Rawcliffe'], ['LES', 'Leigh-on-Sea'], ['HLI', 'Healing'], ['WEY', 'Weymouth'], ['AFK', 'Ashford International'], ['HON', 'Honiton'], ['RCA', 'Risca & Pontymister'], ['BIY', 'Bingley'], ['FOR', 'Forres'], ['KLM', 'Kilmaurs'], ['BOR', 'Bodorgan'], ['BSS', 'Barassie'], ['PUR', 'Purley'], ['MAC', 'Macclesfield'], ['RBR', 'Robertsbridge'], ['HHE', 'Haywards Heath'], ['ALN', 'Althorne'], ['GBK', 'Greenbank'], ['BMV', 'Bromsgrove'], ['GTO', 'Gorton'], ['PMB', 'Pembroke'], ['SKE', 'Skewen'], ['CAU', 'Causeland'], ['PEN', 'Penarth'], ['UPT', 'Upton'], ['BMN', 'Bromley North'], ['ZTH', 'Tower Hill Underground'], ['KYL', 'Kyle of Lochalsh'], ['TTN', 'Totton'], ['HWF', 'Heathrow Airport T4 (Bus)'], ['BMS', 'Bromley South'], ['ASS', 'Alness'], ['SSS', 'Sheerness-on-Sea'], ['CAG', 'Carrbridge'], ['GTH', 'Garth (Powys)'], ['LOF', 'London Fields'], ['BIS', 'Bishops Stortford'], ['BRW', 'Brunswick'], ['CHH', 'Christs Hospital'], ['HHD', 'Holyhead'], ['MFL', 'Mount Florida'], ['DAK', 'Dalmarnock'], ['WSW', 'Wandsworth Common'], ['MDN', 'Maiden Newton'], ['DFL', 'Dunfermline Queen Margaret'], ['IRV', 'Irvine'], ['WHN', 'Whiston'], ['SBS', 'St Bees'], ['PKG', 'Penkridge'], ['SOU', 'Southampton Central'], ['COY', 'Coryton'], ['GGJ', 'Georgemas Junction'], ['SLR', 'Sleaford'], ['DKT', 'Dorking West'], ['SQU', 'Squires Gate'], ['CMD', 'Camden Road'], ['BSO', 'Basildon'], ['CBR', 'Cooksbridge'], ['BYM', 'Burnley Manchester Road'], ['MLF', 'Milford (Surrey)'], ['RYR', 'Ryde St Johns Road'], ['TEY', 'Teynham'], ['TOT', 'Totnes'], ['FRF', 'Fairfield'], ['PUO', 'Purley Oaks'], ['GNF', 'Greenfield'], ['GRY', 'Grays'], ['BGH', 'Brighouse'], ['FKG', 'Falkirk Grahamston'], ['HKH', 'Hawkhead'], ['PYP', 'Pont-y-Pant'], ['FKK', 'Falkirk High'], ['SOV', 'Southend Victoria'], ['MEY', 'Merryton']]\n);\n\nfunction findStation (id) {\n const wanted = id.toUpperCase();\n const station = sMap.get(wanted);\n console.log(station);\n\n return station;\n}\n\nfunction searchStation(str) {\n const workArray = [];\n\n const searchAbbr = (str.length <= 3);\n const searchLong = (str.length >= 3);\n\n // const searchReg = /(dbe)/i;\n const searchReg = new RegExp(`(${str})`, 'gi');\n \n sMap.forEach((value, key) => {\n let out;\n if (searchAbbr && searchReg.test(key)) \n out = [key, value];\n \n if (typeof out === 'undefined' && searchLong && searchReg.test(value))\n out = [key, value];\n\n if(typeof out === 'object') workArray.push(out);\n });\n \n return workArray.slice(0, 5);\n}\n\nmodule.exports = { findStation, searchStation };\n","function partOfDay (timeString, today) {\n console.log(new Date());\n if (timeString === undefined || timeString === null) timeString = (new Date()).getHours().toString(); \n\n if (today === undefined) today = false; \n\n const hours = timeString.substring(0, 2);\n let dayBit = '';\n\n console.log('Hours', hours);\n\n if (hours >= 0 && hours < 4) \n dayBit = 'Late Night'; \n\n else if (hours >= 4 && hours < 7) \n dayBit = 'Early Morning'; \n\n else if (hours >= 7 && hours < 12) \n dayBit = 'Morning'; \n\n else if (hours >= 12 && hours < 17) \n dayBit = 'Afternoon'; \n\n else if (hours < 21) \n dayBit = 'Evening'; \n\n else dayBit = 'Night'; \n\n if (today) \n if (dayBit === 'night') {\n dayBit = 'tonight';\n }\n else {\n dayBit = `this ${dayBit}`;\n }\n\n console.log('partOfDay', dayBit);\n\n return dayBit;\n}\n\nfunction toHour (extra = 0) {\n const now = new Date();\n\n return (3600000 - (now.getTime() % 3600000)) + extra;\n}\n\nfunction hourFloor () {\n const now = new Date();\n\n return parseInt(~~(now.getTime() / 3600000) * 3600000, 10).toString(32);\n}\n\nfunction minuteFloor () {\n const now = new Date();\n\n return parseInt(~~(now.getTime() / 60000) * 60000, 10).toString(32);\n}\n\nfunction distance (lat1, lon1, lat2, lon2) {\n const p = 0.017453292519943295; // Math.PI / 180\n const c = Math.cos;\n const a = 0.5 - c((lat2 - lat1) * p) / 2 +\n c(lat1 * p) * c(lat2 * p) *\n (1 - c((lon2 - lon1) * p)) / 2;\n\n return 12742 * Math.asin(Math.sqrt(a)); // 2 * R; R = 6371 km\n}\n\n/* function splitURL (url) {\n\n} */\n\nconst maybePluralize = (count, noun, suffix = 's') =>\n `${count} ${noun}${count !== 1 ? suffix : ''}`;\n\nfunction supportsLocalStorage() {\n try {\n if (!localStorage)return false;\n else return true;\n // May only need the above simple test\n // - old versions of firefox may cause problem?\n // return 'localStorage' in window && window['localStorage']!==null;\n }\n catch(e) {\n return false;\n }\n}\n\nlet LocalStorage = {};\n\nif (supportsLocalStorage())\n LocalStorage = {\n 'save':function ( i, v ) {\n localStorage[i] = v;\n },\n 'load':function ( i ) {\n return localStorage[i];\n },\n 'exists':function(i) {\n return !(typeof(localStorage[i]) === 'undefined');\n }\n }; \nelse \n LocalStorage = {\n 'save':function ( i, v ) {\n document.cookie = `${i }=${ encodeURIComponent(v)}`;\n },\n 'load':function ( i ) {\n var s = `; ${ document.cookie };`,\n p = s.indexOf(`; ${ i }=`);\n if (p < 0)return '';\n p = p + i.length + 3;\n var p2 = s.indexOf(';', p + 1);\n \n return decodeURIComponent(s.substring(p, p2));\n }\n };\n\n/**\n *\n * @param fn\n * @param time\n * @returns {Function}\n * @private\n */\nfunction debounce(fn, time) {\n let timeout;\n\n return function (...args) { // <-- not an arrow function\n const functionCall = () => fn.apply(this, args);\n\n clearTimeout(timeout);\n timeout = setTimeout(functionCall, time);\n };\n}\n\n/**\n *\n * @param callback\n * @param limit\n * @returns {Function}\n * @private\n */\nfunction throttle (callback, limit) {\n var wait = false;\n\n return function () {\n if (!wait) {\n callback.apply(null, arguments);\n wait = true;\n setTimeout(function () {\n wait = false;\n }, limit);\n }\n };\n}\n\n/**\n *\n * @param func\n * @returns {function(): *}\n * @private\n */\n\nfunction once(func) {\n var alreadyCalled = false;\n var result;\n\n return function() {\n if (!alreadyCalled) {\n result = func.apply(this, arguments);\n alreadyCalled = true;\n }\n\n return result;\n };\n};\n\nfunction isEmpty(obj) {\n for(const key in obj)\n if(obj.hasOwnProperty(key)) return false;\n\n return true;\n}\n\n\n\nmodule.exports = { partOfDay, toHour, hourFloor, distance, maybePluralize, minuteFloor, debounce, throttle, once, isEmpty, LocalStorage };\n","export default(function t(e){function r(t,e,n){var a,o={};if(Array.isArray(t))return t.concat(e);for(a in t)o[n?a.toLowerCase():a]=t[a];for(a in e){var i=n?a.toLowerCase():a,u=e[a];o[i]=i in o&&\"object\"==typeof u?r(o[i],u,\"headers\"===i):u}return o}function n(t,n,a,o){\"string\"!=typeof t&&(t=(n=t).url);var i={config:n},u=r(e,n),s={},c=o||u.data;(u.transformRequest||[]).map(function(t){c=t(c,u.headers)||c}),c&&\"object\"==typeof c&&\"function\"!=typeof c.append&&(c=JSON.stringify(c),s[\"content-type\"]=\"application/json\");var f=document.cookie.match(RegExp(\"(^|; )\"+u.xsrfCookieName+\"=([^;]*)\"));if(f&&(s[u.xsrfHeaderName]=f[2]),u.auth&&(s.authorization=u.auth),u.baseURL&&(t=new URL(t,u.baseURL)+\"\"),u.params){var p=~t.indexOf(\"?\")?\"&\":\"?\";t+=p+(u.paramsSerializer?u.paramsSerializer(u.params):new URLSearchParams(u.params))}return(u.fetch||fetch)(t,{method:a||u.method,body:c,headers:r(u.headers,s,!0),credentials:u.withCredentials?\"include\":void 0}).then(function(t){for(var e in t)\"function\"!=typeof t[e]&&(i[e]=t[e]);return(u.validateStatus?u.validateStatus(t.status):t.ok)?\"stream\"==u.responseType?(i.data=t.body,i):t[u.responseType||\"text\"]().then(function(t){i.data=t,i.data=JSON.parse(t)}).catch(Object).then(function(){return i}):Promise.reject(i)})}return e=e||{},n.request=n,n.get=function(t,e){return n(t,e,\"get\")},n.delete=function(t,e){return n(t,e,\"delete\")},n.options=function(t,e){return n(t,e,\"options\")},n.post=function(t,e,r){return n(t,r,\"post\",e)},n.put=function(t,e,r){return n(t,r,\"put\",e)},n.patch=function(t,e,r){return n(t,r,\"patch\",e)},n.all=Promise.all,n.spread=function(t){return function(e){return t.apply(this,e)}},n.CancelToken=\"function\"==typeof AbortController?AbortController:Object,n.defaults=e,n.create=t,n}());\n//# sourceMappingURL=redaxios.module.js.map\n","/*!\n localForage -- Offline Storage, Improved\n Version 1.9.0\n https://localforage.github.io/localForage\n (c) 2013-2017 Mozilla, Apache License 2.0\n*/\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.localforage = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw (f.code=\"MODULE_NOT_FOUND\", f)}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var scriptEl = global.document.createElement('script');\n scriptEl.onreadystatechange = function () {\n nextTick();\n\n scriptEl.onreadystatechange = null;\n scriptEl.parentNode.removeChild(scriptEl);\n scriptEl = null;\n };\n global.document.documentElement.appendChild(scriptEl);\n };\n } else {\n scheduleDrain = function () {\n setTimeout(nextTick, 0);\n };\n }\n}\n\nvar draining;\nvar queue = [];\n//named nextTick for less confusing stack traces\nfunction nextTick() {\n draining = true;\n var i, oldQueue;\n var len = queue.length;\n while (len) {\n oldQueue = queue;\n queue = [];\n i = -1;\n while (++i < len) {\n oldQueue[i]();\n }\n len = queue.length;\n }\n draining = false;\n}\n\nmodule.exports = immediate;\nfunction immediate(task) {\n if (queue.push(task) === 1 && !draining) {\n scheduleDrain();\n }\n}\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{}],2:[function(_dereq_,module,exports){\n'use strict';\nvar immediate = _dereq_(1);\n\n/* istanbul ignore next */\nfunction INTERNAL() {}\n\nvar handlers = {};\n\nvar REJECTED = ['REJECTED'];\nvar FULFILLED = ['FULFILLED'];\nvar PENDING = ['PENDING'];\n\nmodule.exports = Promise;\n\nfunction Promise(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('resolver must be a function');\n }\n this.state = PENDING;\n this.queue = [];\n this.outcome = void 0;\n if (resolver !== INTERNAL) {\n safelyResolveThenable(this, resolver);\n }\n}\n\nPromise.prototype[\"catch\"] = function (onRejected) {\n return this.then(null, onRejected);\n};\nPromise.prototype.then = function (onFulfilled, onRejected) {\n if (typeof onFulfilled !== 'function' && this.state === FULFILLED ||\n typeof onRejected !== 'function' && this.state === REJECTED) {\n return this;\n }\n var promise = new this.constructor(INTERNAL);\n if (this.state !== PENDING) {\n var resolver = this.state === FULFILLED ? onFulfilled : onRejected;\n unwrap(promise, resolver, this.outcome);\n } else {\n this.queue.push(new QueueItem(promise, onFulfilled, onRejected));\n }\n\n return promise;\n};\nfunction QueueItem(promise, onFulfilled, onRejected) {\n this.promise = promise;\n if (typeof onFulfilled === 'function') {\n this.onFulfilled = onFulfilled;\n this.callFulfilled = this.otherCallFulfilled;\n }\n if (typeof onRejected === 'function') {\n this.onRejected = onRejected;\n this.callRejected = this.otherCallRejected;\n }\n}\nQueueItem.prototype.callFulfilled = function (value) {\n handlers.resolve(this.promise, value);\n};\nQueueItem.prototype.otherCallFulfilled = function (value) {\n unwrap(this.promise, this.onFulfilled, value);\n};\nQueueItem.prototype.callRejected = function (value) {\n handlers.reject(this.promise, value);\n};\nQueueItem.prototype.otherCallRejected = function (value) {\n unwrap(this.promise, this.onRejected, value);\n};\n\nfunction unwrap(promise, func, value) {\n immediate(function () {\n var returnValue;\n try {\n returnValue = func(value);\n } catch (e) {\n return handlers.reject(promise, e);\n }\n if (returnValue === promise) {\n handlers.reject(promise, new TypeError('Cannot resolve promise with itself'));\n } else {\n handlers.resolve(promise, returnValue);\n }\n });\n}\n\nhandlers.resolve = function (self, value) {\n var result = tryCatch(getThen, value);\n if (result.status === 'error') {\n return handlers.reject(self, result.value);\n }\n var thenable = result.value;\n\n if (thenable) {\n safelyResolveThenable(self, thenable);\n } else {\n self.state = FULFILLED;\n self.outcome = value;\n var i = -1;\n var len = self.queue.length;\n while (++i < len) {\n self.queue[i].callFulfilled(value);\n }\n }\n return self;\n};\nhandlers.reject = function (self, error) {\n self.state = REJECTED;\n self.outcome = error;\n var i = -1;\n var len = self.queue.length;\n while (++i < len) {\n self.queue[i].callRejected(error);\n }\n return self;\n};\n\nfunction getThen(obj) {\n // Make sure we only access the accessor once as required by the spec\n var then = obj && obj.then;\n if (obj && (typeof obj === 'object' || typeof obj === 'function') && typeof then === 'function') {\n return function appyThen() {\n then.apply(obj, arguments);\n };\n }\n}\n\nfunction safelyResolveThenable(self, thenable) {\n // Either fulfill, reject or reject with error\n var called = false;\n function onError(value) {\n if (called) {\n return;\n }\n called = true;\n handlers.reject(self, value);\n }\n\n function onSuccess(value) {\n if (called) {\n return;\n }\n called = true;\n handlers.resolve(self, value);\n }\n\n function tryToUnwrap() {\n thenable(onSuccess, onError);\n }\n\n var result = tryCatch(tryToUnwrap);\n if (result.status === 'error') {\n onError(result.value);\n }\n}\n\nfunction tryCatch(func, value) {\n var out = {};\n try {\n out.value = func(value);\n out.status = 'success';\n } catch (e) {\n out.status = 'error';\n out.value = e;\n }\n return out;\n}\n\nPromise.resolve = resolve;\nfunction resolve(value) {\n if (value instanceof this) {\n return value;\n }\n return handlers.resolve(new this(INTERNAL), value);\n}\n\nPromise.reject = reject;\nfunction reject(reason) {\n var promise = new this(INTERNAL);\n return handlers.reject(promise, reason);\n}\n\nPromise.all = all;\nfunction all(iterable) {\n var self = this;\n if (Object.prototype.toString.call(iterable) !== '[object Array]') {\n return this.reject(new TypeError('must be an array'));\n }\n\n var len = iterable.length;\n var called = false;\n if (!len) {\n return this.resolve([]);\n }\n\n var values = new Array(len);\n var resolved = 0;\n var i = -1;\n var promise = new this(INTERNAL);\n\n while (++i < len) {\n allResolver(iterable[i], i);\n }\n return promise;\n function allResolver(value, i) {\n self.resolve(value).then(resolveFromAll, function (error) {\n if (!called) {\n called = true;\n handlers.reject(promise, error);\n }\n });\n function resolveFromAll(outValue) {\n values[i] = outValue;\n if (++resolved === len && !called) {\n called = true;\n handlers.resolve(promise, values);\n }\n }\n }\n}\n\nPromise.race = race;\nfunction race(iterable) {\n var self = this;\n if (Object.prototype.toString.call(iterable) !== '[object Array]') {\n return this.reject(new TypeError('must be an array'));\n }\n\n var len = iterable.length;\n var called = false;\n if (!len) {\n return this.resolve([]);\n }\n\n var i = -1;\n var promise = new this(INTERNAL);\n\n while (++i < len) {\n resolver(iterable[i]);\n }\n return promise;\n function resolver(value) {\n self.resolve(value).then(function (response) {\n if (!called) {\n called = true;\n handlers.resolve(promise, response);\n }\n }, function (error) {\n if (!called) {\n called = true;\n handlers.reject(promise, error);\n }\n });\n }\n}\n\n},{\"1\":1}],3:[function(_dereq_,module,exports){\n(function (global){\n'use strict';\nif (typeof global.Promise !== 'function') {\n global.Promise = _dereq_(2);\n}\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"2\":2}],4:[function(_dereq_,module,exports){\n'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction getIDB() {\n /* global indexedDB,webkitIndexedDB,mozIndexedDB,OIndexedDB,msIndexedDB */\n try {\n if (typeof indexedDB !== 'undefined') {\n return indexedDB;\n }\n if (typeof webkitIndexedDB !== 'undefined') {\n return webkitIndexedDB;\n }\n if (typeof mozIndexedDB !== 'undefined') {\n return mozIndexedDB;\n }\n if (typeof OIndexedDB !== 'undefined') {\n return OIndexedDB;\n }\n if (typeof msIndexedDB !== 'undefined') {\n return msIndexedDB;\n }\n } catch (e) {\n return;\n }\n}\n\nvar idb = getIDB();\n\nfunction isIndexedDBValid() {\n try {\n // Initialize IndexedDB; fall back to vendor-prefixed versions\n // if needed.\n if (!idb || !idb.open) {\n return false;\n }\n // We mimic PouchDB here;\n //\n // We test for openDatabase because IE Mobile identifies itself\n // as Safari. Oh the lulz...\n var isSafari = typeof openDatabase !== 'undefined' && /(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent) && !/BlackBerry/.test(navigator.platform);\n\n var hasFetch = typeof fetch === 'function' && fetch.toString().indexOf('[native code') !== -1;\n\n // Safari <10.1 does not meet our requirements for IDB support\n // (see: https://github.com/pouchdb/pouchdb/issues/5572).\n // Safari 10.1 shipped with fetch, we can use that to detect it.\n // Note: this creates issues with `window.fetch` polyfills and\n // overrides; see:\n // https://github.com/localForage/localForage/issues/856\n return (!isSafari || hasFetch) && typeof indexedDB !== 'undefined' &&\n // some outdated implementations of IDB that appear on Samsung\n // and HTC Android devices <4.4 are missing IDBKeyRange\n // See: https://github.com/mozilla/localForage/issues/128\n // See: https://github.com/mozilla/localForage/issues/272\n typeof IDBKeyRange !== 'undefined';\n } catch (e) {\n return false;\n }\n}\n\n// Abstracts constructing a Blob object, so it also works in older\n// browsers that don't support the native Blob constructor. (i.e.\n// old QtWebKit versions, at least).\n// Abstracts constructing a Blob object, so it also works in older\n// browsers that don't support the native Blob constructor. (i.e.\n// old QtWebKit versions, at least).\nfunction createBlob(parts, properties) {\n /* global BlobBuilder,MSBlobBuilder,MozBlobBuilder,WebKitBlobBuilder */\n parts = parts || [];\n properties = properties || {};\n try {\n return new Blob(parts, properties);\n } catch (e) {\n if (e.name !== 'TypeError') {\n throw e;\n }\n var Builder = typeof BlobBuilder !== 'undefined' ? BlobBuilder : typeof MSBlobBuilder !== 'undefined' ? MSBlobBuilder : typeof MozBlobBuilder !== 'undefined' ? MozBlobBuilder : WebKitBlobBuilder;\n var builder = new Builder();\n for (var i = 0; i < parts.length; i += 1) {\n builder.append(parts[i]);\n }\n return builder.getBlob(properties.type);\n }\n}\n\n// This is CommonJS because lie is an external dependency, so Rollup\n// can just ignore it.\nif (typeof Promise === 'undefined') {\n // In the \"nopromises\" build this will just throw if you don't have\n // a global promise object, but it would throw anyway later.\n _dereq_(3);\n}\nvar Promise$1 = Promise;\n\nfunction executeCallback(promise, callback) {\n if (callback) {\n promise.then(function (result) {\n callback(null, result);\n }, function (error) {\n callback(error);\n });\n }\n}\n\nfunction executeTwoCallbacks(promise, callback, errorCallback) {\n if (typeof callback === 'function') {\n promise.then(callback);\n }\n\n if (typeof errorCallback === 'function') {\n promise[\"catch\"](errorCallback);\n }\n}\n\nfunction normalizeKey(key) {\n // Cast the key to a string, as that's all we can set as a key.\n if (typeof key !== 'string') {\n console.warn(key + ' used as a key, but it is not a string.');\n key = String(key);\n }\n\n return key;\n}\n\nfunction getCallback() {\n if (arguments.length && typeof arguments[arguments.length - 1] === 'function') {\n return arguments[arguments.length - 1];\n }\n}\n\n// Some code originally from async_storage.js in\n// [Gaia](https://github.com/mozilla-b2g/gaia).\n\nvar DETECT_BLOB_SUPPORT_STORE = 'local-forage-detect-blob-support';\nvar supportsBlobs = void 0;\nvar dbContexts = {};\nvar toString = Object.prototype.toString;\n\n// Transaction Modes\nvar READ_ONLY = 'readonly';\nvar READ_WRITE = 'readwrite';\n\n// Transform a binary string to an array buffer, because otherwise\n// weird stuff happens when you try to work with the binary string directly.\n// It is known.\n// From http://stackoverflow.com/questions/14967647/ (continues on next line)\n// encode-decode-image-with-base64-breaks-image (2013-04-21)\nfunction _binStringToArrayBuffer(bin) {\n var length = bin.length;\n var buf = new ArrayBuffer(length);\n var arr = new Uint8Array(buf);\n for (var i = 0; i < length; i++) {\n arr[i] = bin.charCodeAt(i);\n }\n return buf;\n}\n\n//\n// Blobs are not supported in all versions of IndexedDB, notably\n// Chrome <37 and Android <5. In those versions, storing a blob will throw.\n//\n// Various other blob bugs exist in Chrome v37-42 (inclusive).\n// Detecting them is expensive and confusing to users, and Chrome 37-42\n// is at very low usage worldwide, so we do a hacky userAgent check instead.\n//\n// content-type bug: https://code.google.com/p/chromium/issues/detail?id=408120\n// 404 bug: https://code.google.com/p/chromium/issues/detail?id=447916\n// FileReader bug: https://code.google.com/p/chromium/issues/detail?id=447836\n//\n// Code borrowed from PouchDB. See:\n// https://github.com/pouchdb/pouchdb/blob/master/packages/node_modules/pouchdb-adapter-idb/src/blobSupport.js\n//\nfunction _checkBlobSupportWithoutCaching(idb) {\n return new Promise$1(function (resolve) {\n var txn = idb.transaction(DETECT_BLOB_SUPPORT_STORE, READ_WRITE);\n var blob = createBlob(['']);\n txn.objectStore(DETECT_BLOB_SUPPORT_STORE).put(blob, 'key');\n\n txn.onabort = function (e) {\n // If the transaction aborts now its due to not being able to\n // write to the database, likely due to the disk being full\n e.preventDefault();\n e.stopPropagation();\n resolve(false);\n };\n\n txn.oncomplete = function () {\n var matchedChrome = navigator.userAgent.match(/Chrome\\/(\\d+)/);\n var matchedEdge = navigator.userAgent.match(/Edge\\//);\n // MS Edge pretends to be Chrome 42:\n // https://msdn.microsoft.com/en-us/library/hh869301%28v=vs.85%29.aspx\n resolve(matchedEdge || !matchedChrome || parseInt(matchedChrome[1], 10) >= 43);\n };\n })[\"catch\"](function () {\n return false; // error, so assume unsupported\n });\n}\n\nfunction _checkBlobSupport(idb) {\n if (typeof supportsBlobs === 'boolean') {\n return Promise$1.resolve(supportsBlobs);\n }\n return _checkBlobSupportWithoutCaching(idb).then(function (value) {\n supportsBlobs = value;\n return supportsBlobs;\n });\n}\n\nfunction _deferReadiness(dbInfo) {\n var dbContext = dbContexts[dbInfo.name];\n\n // Create a deferred object representing the current database operation.\n var deferredOperation = {};\n\n deferredOperation.promise = new Promise$1(function (resolve, reject) {\n deferredOperation.resolve = resolve;\n deferredOperation.reject = reject;\n });\n\n // Enqueue the deferred operation.\n dbContext.deferredOperations.push(deferredOperation);\n\n // Chain its promise to the database readiness.\n if (!dbContext.dbReady) {\n dbContext.dbReady = deferredOperation.promise;\n } else {\n dbContext.dbReady = dbContext.dbReady.then(function () {\n return deferredOperation.promise;\n });\n }\n}\n\nfunction _advanceReadiness(dbInfo) {\n var dbContext = dbContexts[dbInfo.name];\n\n // Dequeue a deferred operation.\n var deferredOperation = dbContext.deferredOperations.pop();\n\n // Resolve its promise (which is part of the database readiness\n // chain of promises).\n if (deferredOperation) {\n deferredOperation.resolve();\n return deferredOperation.promise;\n }\n}\n\nfunction _rejectReadiness(dbInfo, err) {\n var dbContext = dbContexts[dbInfo.name];\n\n // Dequeue a deferred operation.\n var deferredOperation = dbContext.deferredOperations.pop();\n\n // Reject its promise (which is part of the database readiness\n // chain of promises).\n if (deferredOperation) {\n deferredOperation.reject(err);\n return deferredOperation.promise;\n }\n}\n\nfunction _getConnection(dbInfo, upgradeNeeded) {\n return new Promise$1(function (resolve, reject) {\n dbContexts[dbInfo.name] = dbContexts[dbInfo.name] || createDbContext();\n\n if (dbInfo.db) {\n if (upgradeNeeded) {\n _deferReadiness(dbInfo);\n dbInfo.db.close();\n } else {\n return resolve(dbInfo.db);\n }\n }\n\n var dbArgs = [dbInfo.name];\n\n if (upgradeNeeded) {\n dbArgs.push(dbInfo.version);\n }\n\n var openreq = idb.open.apply(idb, dbArgs);\n\n if (upgradeNeeded) {\n openreq.onupgradeneeded = function (e) {\n var db = openreq.result;\n try {\n db.createObjectStore(dbInfo.storeName);\n if (e.oldVersion <= 1) {\n // Added when support for blob shims was added\n db.createObjectStore(DETECT_BLOB_SUPPORT_STORE);\n }\n } catch (ex) {\n if (ex.name === 'ConstraintError') {\n console.warn('The database \"' + dbInfo.name + '\"' + ' has been upgraded from version ' + e.oldVersion + ' to version ' + e.newVersion + ', but the storage \"' + dbInfo.storeName + '\" already exists.');\n } else {\n throw ex;\n }\n }\n };\n }\n\n openreq.onerror = function (e) {\n e.preventDefault();\n reject(openreq.error);\n };\n\n openreq.onsuccess = function () {\n resolve(openreq.result);\n _advanceReadiness(dbInfo);\n };\n });\n}\n\nfunction _getOriginalConnection(dbInfo) {\n return _getConnection(dbInfo, false);\n}\n\nfunction _getUpgradedConnection(dbInfo) {\n return _getConnection(dbInfo, true);\n}\n\nfunction _isUpgradeNeeded(dbInfo, defaultVersion) {\n if (!dbInfo.db) {\n return true;\n }\n\n var isNewStore = !dbInfo.db.objectStoreNames.contains(dbInfo.storeName);\n var isDowngrade = dbInfo.version < dbInfo.db.version;\n var isUpgrade = dbInfo.version > dbInfo.db.version;\n\n if (isDowngrade) {\n // If the version is not the default one\n // then warn for impossible downgrade.\n if (dbInfo.version !== defaultVersion) {\n console.warn('The database \"' + dbInfo.name + '\"' + \" can't be downgraded from version \" + dbInfo.db.version + ' to version ' + dbInfo.version + '.');\n }\n // Align the versions to prevent errors.\n dbInfo.version = dbInfo.db.version;\n }\n\n if (isUpgrade || isNewStore) {\n // If the store is new then increment the version (if needed).\n // This will trigger an \"upgradeneeded\" event which is required\n // for creating a store.\n if (isNewStore) {\n var incVersion = dbInfo.db.version + 1;\n if (incVersion > dbInfo.version) {\n dbInfo.version = incVersion;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\n// encode a blob for indexeddb engines that don't support blobs\nfunction _encodeBlob(blob) {\n return new Promise$1(function (resolve, reject) {\n var reader = new FileReader();\n reader.onerror = reject;\n reader.onloadend = function (e) {\n var base64 = btoa(e.target.result || '');\n resolve({\n __local_forage_encoded_blob: true,\n data: base64,\n type: blob.type\n });\n };\n reader.readAsBinaryString(blob);\n });\n}\n\n// decode an encoded blob\nfunction _decodeBlob(encodedBlob) {\n var arrayBuff = _binStringToArrayBuffer(atob(encodedBlob.data));\n return createBlob([arrayBuff], { type: encodedBlob.type });\n}\n\n// is this one of our fancy encoded blobs?\nfunction _isEncodedBlob(value) {\n return value && value.__local_forage_encoded_blob;\n}\n\n// Specialize the default `ready()` function by making it dependent\n// on the current database operations. Thus, the driver will be actually\n// ready when it's been initialized (default) *and* there are no pending\n// operations on the database (initiated by some other instances).\nfunction _fullyReady(callback) {\n var self = this;\n\n var promise = self._initReady().then(function () {\n var dbContext = dbContexts[self._dbInfo.name];\n\n if (dbContext && dbContext.dbReady) {\n return dbContext.dbReady;\n }\n });\n\n executeTwoCallbacks(promise, callback, callback);\n return promise;\n}\n\n// Try to establish a new db connection to replace the\n// current one which is broken (i.e. experiencing\n// InvalidStateError while creating a transaction).\nfunction _tryReconnect(dbInfo) {\n _deferReadiness(dbInfo);\n\n var dbContext = dbContexts[dbInfo.name];\n var forages = dbContext.forages;\n\n for (var i = 0; i < forages.length; i++) {\n var forage = forages[i];\n if (forage._dbInfo.db) {\n forage._dbInfo.db.close();\n forage._dbInfo.db = null;\n }\n }\n dbInfo.db = null;\n\n return _getOriginalConnection(dbInfo).then(function (db) {\n dbInfo.db = db;\n if (_isUpgradeNeeded(dbInfo)) {\n // Reopen the database for upgrading.\n return _getUpgradedConnection(dbInfo);\n }\n return db;\n }).then(function (db) {\n // store the latest db reference\n // in case the db was upgraded\n dbInfo.db = dbContext.db = db;\n for (var i = 0; i < forages.length; i++) {\n forages[i]._dbInfo.db = db;\n }\n })[\"catch\"](function (err) {\n _rejectReadiness(dbInfo, err);\n throw err;\n });\n}\n\n// FF doesn't like Promises (micro-tasks) and IDDB store operations,\n// so we have to do it with callbacks\nfunction createTransaction(dbInfo, mode, callback, retries) {\n if (retries === undefined) {\n retries = 1;\n }\n\n try {\n var tx = dbInfo.db.transaction(dbInfo.storeName, mode);\n callback(null, tx);\n } catch (err) {\n if (retries > 0 && (!dbInfo.db || err.name === 'InvalidStateError' || err.name === 'NotFoundError')) {\n return Promise$1.resolve().then(function () {\n if (!dbInfo.db || err.name === 'NotFoundError' && !dbInfo.db.objectStoreNames.contains(dbInfo.storeName) && dbInfo.version <= dbInfo.db.version) {\n // increase the db version, to create the new ObjectStore\n if (dbInfo.db) {\n dbInfo.version = dbInfo.db.version + 1;\n }\n // Reopen the database for upgrading.\n return _getUpgradedConnection(dbInfo);\n }\n }).then(function () {\n return _tryReconnect(dbInfo).then(function () {\n createTransaction(dbInfo, mode, callback, retries - 1);\n });\n })[\"catch\"](callback);\n }\n\n callback(err);\n }\n}\n\nfunction createDbContext() {\n return {\n // Running localForages sharing a database.\n forages: [],\n // Shared database.\n db: null,\n // Database readiness (promise).\n dbReady: null,\n // Deferred operations on the database.\n deferredOperations: []\n };\n}\n\n// Open the IndexedDB database (automatically creates one if one didn't\n// previously exist), using any options set in the config.\nfunction _initStorage(options) {\n var self = this;\n var dbInfo = {\n db: null\n };\n\n if (options) {\n for (var i in options) {\n dbInfo[i] = options[i];\n }\n }\n\n // Get the current context of the database;\n var dbContext = dbContexts[dbInfo.name];\n\n // ...or create a new context.\n if (!dbContext) {\n dbContext = createDbContext();\n // Register the new context in the global container.\n dbContexts[dbInfo.name] = dbContext;\n }\n\n // Register itself as a running localForage in the current context.\n dbContext.forages.push(self);\n\n // Replace the default `ready()` function with the specialized one.\n if (!self._initReady) {\n self._initReady = self.ready;\n self.ready = _fullyReady;\n }\n\n // Create an array of initialization states of the related localForages.\n var initPromises = [];\n\n function ignoreErrors() {\n // Don't handle errors here,\n // just makes sure related localForages aren't pending.\n return Promise$1.resolve();\n }\n\n for (var j = 0; j < dbContext.forages.length; j++) {\n var forage = dbContext.forages[j];\n if (forage !== self) {\n // Don't wait for itself...\n initPromises.push(forage._initReady()[\"catch\"](ignoreErrors));\n }\n }\n\n // Take a snapshot of the related localForages.\n var forages = dbContext.forages.slice(0);\n\n // Initialize the connection process only when\n // all the related localForages aren't pending.\n return Promise$1.all(initPromises).then(function () {\n dbInfo.db = dbContext.db;\n // Get the connection or open a new one without upgrade.\n return _getOriginalConnection(dbInfo);\n }).then(function (db) {\n dbInfo.db = db;\n if (_isUpgradeNeeded(dbInfo, self._defaultConfig.version)) {\n // Reopen the database for upgrading.\n return _getUpgradedConnection(dbInfo);\n }\n return db;\n }).then(function (db) {\n dbInfo.db = dbContext.db = db;\n self._dbInfo = dbInfo;\n // Share the final connection amongst related localForages.\n for (var k = 0; k < forages.length; k++) {\n var forage = forages[k];\n if (forage !== self) {\n // Self is already up-to-date.\n forage._dbInfo.db = dbInfo.db;\n forage._dbInfo.version = dbInfo.version;\n }\n }\n });\n}\n\nfunction getItem(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.get(key);\n\n req.onsuccess = function () {\n var value = req.result;\n if (value === undefined) {\n value = null;\n }\n if (_isEncodedBlob(value)) {\n value = _decodeBlob(value);\n }\n resolve(value);\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Iterate over all items stored in database.\nfunction iterate(iterator, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.openCursor();\n var iterationNumber = 1;\n\n req.onsuccess = function () {\n var cursor = req.result;\n\n if (cursor) {\n var value = cursor.value;\n if (_isEncodedBlob(value)) {\n value = _decodeBlob(value);\n }\n var result = iterator(value, cursor.key, iterationNumber++);\n\n // when the iterator callback returns any\n // (non-`undefined`) value, then we stop\n // the iteration immediately\n if (result !== void 0) {\n resolve(result);\n } else {\n cursor[\"continue\"]();\n }\n } else {\n resolve();\n }\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n\n return promise;\n}\n\nfunction setItem(key, value, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n var dbInfo;\n self.ready().then(function () {\n dbInfo = self._dbInfo;\n if (toString.call(value) === '[object Blob]') {\n return _checkBlobSupport(dbInfo.db).then(function (blobSupport) {\n if (blobSupport) {\n return value;\n }\n return _encodeBlob(value);\n });\n }\n return value;\n }).then(function (value) {\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n\n // The reason we don't _save_ null is because IE 10 does\n // not support saving the `null` type in IndexedDB. How\n // ironic, given the bug below!\n // See: https://github.com/mozilla/localForage/issues/161\n if (value === null) {\n value = undefined;\n }\n\n var req = store.put(value, key);\n\n transaction.oncomplete = function () {\n // Cast to undefined so the value passed to\n // callback/promise is the same as what one would get out\n // of `getItem()` later. This leads to some weirdness\n // (setItem('foo', undefined) will return `null`), but\n // it's not my fault localStorage is our baseline and that\n // it's weird.\n if (value === undefined) {\n value = null;\n }\n\n resolve(value);\n };\n transaction.onabort = transaction.onerror = function () {\n var err = req.error ? req.error : req.transaction.error;\n reject(err);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction removeItem(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n // We use a Grunt task to make this safe for IE and some\n // versions of Android (including those used by Cordova).\n // Normally IE won't like `.delete()` and will insist on\n // using `['delete']()`, but we have a build step that\n // fixes this for us now.\n var req = store[\"delete\"](key);\n transaction.oncomplete = function () {\n resolve();\n };\n\n transaction.onerror = function () {\n reject(req.error);\n };\n\n // The request will be also be aborted if we've exceeded our storage\n // space.\n transaction.onabort = function () {\n var err = req.error ? req.error : req.transaction.error;\n reject(err);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction clear(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.clear();\n\n transaction.oncomplete = function () {\n resolve();\n };\n\n transaction.onabort = transaction.onerror = function () {\n var err = req.error ? req.error : req.transaction.error;\n reject(err);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction length(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.count();\n\n req.onsuccess = function () {\n resolve(req.result);\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction key(n, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n if (n < 0) {\n resolve(null);\n\n return;\n }\n\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var advanced = false;\n var req = store.openKeyCursor();\n\n req.onsuccess = function () {\n var cursor = req.result;\n if (!cursor) {\n // this means there weren't enough keys\n resolve(null);\n\n return;\n }\n\n if (n === 0) {\n // We have the first key, return it if that's what they\n // wanted.\n resolve(cursor.key);\n } else {\n if (!advanced) {\n // Otherwise, ask the cursor to skip ahead n\n // records.\n advanced = true;\n cursor.advance(n);\n } else {\n // When we get here, we've got the nth key.\n resolve(cursor.key);\n }\n }\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction keys(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.openKeyCursor();\n var keys = [];\n\n req.onsuccess = function () {\n var cursor = req.result;\n\n if (!cursor) {\n resolve(keys);\n return;\n }\n\n keys.push(cursor.key);\n cursor[\"continue\"]();\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction dropInstance(options, callback) {\n callback = getCallback.apply(this, arguments);\n\n var currentConfig = this.config();\n options = typeof options !== 'function' && options || {};\n if (!options.name) {\n options.name = options.name || currentConfig.name;\n options.storeName = options.storeName || currentConfig.storeName;\n }\n\n var self = this;\n var promise;\n if (!options.name) {\n promise = Promise$1.reject('Invalid arguments');\n } else {\n var isCurrentDb = options.name === currentConfig.name && self._dbInfo.db;\n\n var dbPromise = isCurrentDb ? Promise$1.resolve(self._dbInfo.db) : _getOriginalConnection(options).then(function (db) {\n var dbContext = dbContexts[options.name];\n var forages = dbContext.forages;\n dbContext.db = db;\n for (var i = 0; i < forages.length; i++) {\n forages[i]._dbInfo.db = db;\n }\n return db;\n });\n\n if (!options.storeName) {\n promise = dbPromise.then(function (db) {\n _deferReadiness(options);\n\n var dbContext = dbContexts[options.name];\n var forages = dbContext.forages;\n\n db.close();\n for (var i = 0; i < forages.length; i++) {\n var forage = forages[i];\n forage._dbInfo.db = null;\n }\n\n var dropDBPromise = new Promise$1(function (resolve, reject) {\n var req = idb.deleteDatabase(options.name);\n\n req.onerror = req.onblocked = function (err) {\n var db = req.result;\n if (db) {\n db.close();\n }\n reject(err);\n };\n\n req.onsuccess = function () {\n var db = req.result;\n if (db) {\n db.close();\n }\n resolve(db);\n };\n });\n\n return dropDBPromise.then(function (db) {\n dbContext.db = db;\n for (var i = 0; i < forages.length; i++) {\n var _forage = forages[i];\n _advanceReadiness(_forage._dbInfo);\n }\n })[\"catch\"](function (err) {\n (_rejectReadiness(options, err) || Promise$1.resolve())[\"catch\"](function () {});\n throw err;\n });\n });\n } else {\n promise = dbPromise.then(function (db) {\n if (!db.objectStoreNames.contains(options.storeName)) {\n return;\n }\n\n var newVersion = db.version + 1;\n\n _deferReadiness(options);\n\n var dbContext = dbContexts[options.name];\n var forages = dbContext.forages;\n\n db.close();\n for (var i = 0; i < forages.length; i++) {\n var forage = forages[i];\n forage._dbInfo.db = null;\n forage._dbInfo.version = newVersion;\n }\n\n var dropObjectPromise = new Promise$1(function (resolve, reject) {\n var req = idb.open(options.name, newVersion);\n\n req.onerror = function (err) {\n var db = req.result;\n db.close();\n reject(err);\n };\n\n req.onupgradeneeded = function () {\n var db = req.result;\n db.deleteObjectStore(options.storeName);\n };\n\n req.onsuccess = function () {\n var db = req.result;\n db.close();\n resolve(db);\n };\n });\n\n return dropObjectPromise.then(function (db) {\n dbContext.db = db;\n for (var j = 0; j < forages.length; j++) {\n var _forage2 = forages[j];\n _forage2._dbInfo.db = db;\n _advanceReadiness(_forage2._dbInfo);\n }\n })[\"catch\"](function (err) {\n (_rejectReadiness(options, err) || Promise$1.resolve())[\"catch\"](function () {});\n throw err;\n });\n });\n }\n }\n\n executeCallback(promise, callback);\n return promise;\n}\n\nvar asyncStorage = {\n _driver: 'asyncStorage',\n _initStorage: _initStorage,\n _support: isIndexedDBValid(),\n iterate: iterate,\n getItem: getItem,\n setItem: setItem,\n removeItem: removeItem,\n clear: clear,\n length: length,\n key: key,\n keys: keys,\n dropInstance: dropInstance\n};\n\nfunction isWebSQLValid() {\n return typeof openDatabase === 'function';\n}\n\n// Sadly, the best way to save binary data in WebSQL/localStorage is serializing\n// it to Base64, so this is how we store it to prevent very strange errors with less\n// verbose ways of binary <-> string data storage.\nvar BASE_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\nvar BLOB_TYPE_PREFIX = '~~local_forage_type~';\nvar BLOB_TYPE_PREFIX_REGEX = /^~~local_forage_type~([^~]+)~/;\n\nvar SERIALIZED_MARKER = '__lfsc__:';\nvar SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER.length;\n\n// OMG the serializations!\nvar TYPE_ARRAYBUFFER = 'arbf';\nvar TYPE_BLOB = 'blob';\nvar TYPE_INT8ARRAY = 'si08';\nvar TYPE_UINT8ARRAY = 'ui08';\nvar TYPE_UINT8CLAMPEDARRAY = 'uic8';\nvar TYPE_INT16ARRAY = 'si16';\nvar TYPE_INT32ARRAY = 'si32';\nvar TYPE_UINT16ARRAY = 'ur16';\nvar TYPE_UINT32ARRAY = 'ui32';\nvar TYPE_FLOAT32ARRAY = 'fl32';\nvar TYPE_FLOAT64ARRAY = 'fl64';\nvar TYPE_SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER_LENGTH + TYPE_ARRAYBUFFER.length;\n\nvar toString$1 = Object.prototype.toString;\n\nfunction stringToBuffer(serializedString) {\n // Fill the string into a ArrayBuffer.\n var bufferLength = serializedString.length * 0.75;\n var len = serializedString.length;\n var i;\n var p = 0;\n var encoded1, encoded2, encoded3, encoded4;\n\n if (serializedString[serializedString.length - 1] === '=') {\n bufferLength--;\n if (serializedString[serializedString.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n var buffer = new ArrayBuffer(bufferLength);\n var bytes = new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = BASE_CHARS.indexOf(serializedString[i]);\n encoded2 = BASE_CHARS.indexOf(serializedString[i + 1]);\n encoded3 = BASE_CHARS.indexOf(serializedString[i + 2]);\n encoded4 = BASE_CHARS.indexOf(serializedString[i + 3]);\n\n /*jslint bitwise: true */\n bytes[p++] = encoded1 << 2 | encoded2 >> 4;\n bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2;\n bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63;\n }\n return buffer;\n}\n\n// Converts a buffer to a string to store, serialized, in the backend\n// storage library.\nfunction bufferToString(buffer) {\n // base64-arraybuffer\n var bytes = new Uint8Array(buffer);\n var base64String = '';\n var i;\n\n for (i = 0; i < bytes.length; i += 3) {\n /*jslint bitwise: true */\n base64String += BASE_CHARS[bytes[i] >> 2];\n base64String += BASE_CHARS[(bytes[i] & 3) << 4 | bytes[i + 1] >> 4];\n base64String += BASE_CHARS[(bytes[i + 1] & 15) << 2 | bytes[i + 2] >> 6];\n base64String += BASE_CHARS[bytes[i + 2] & 63];\n }\n\n if (bytes.length % 3 === 2) {\n base64String = base64String.substring(0, base64String.length - 1) + '=';\n } else if (bytes.length % 3 === 1) {\n base64String = base64String.substring(0, base64String.length - 2) + '==';\n }\n\n return base64String;\n}\n\n// Serialize a value, afterwards executing a callback (which usually\n// instructs the `setItem()` callback/promise to be executed). This is how\n// we store binary data with localStorage.\nfunction serialize(value, callback) {\n var valueType = '';\n if (value) {\n valueType = toString$1.call(value);\n }\n\n // Cannot use `value instanceof ArrayBuffer` or such here, as these\n // checks fail when running the tests using casper.js...\n //\n // TODO: See why those tests fail and use a better solution.\n if (value && (valueType === '[object ArrayBuffer]' || value.buffer && toString$1.call(value.buffer) === '[object ArrayBuffer]')) {\n // Convert binary arrays to a string and prefix the string with\n // a special marker.\n var buffer;\n var marker = SERIALIZED_MARKER;\n\n if (value instanceof ArrayBuffer) {\n buffer = value;\n marker += TYPE_ARRAYBUFFER;\n } else {\n buffer = value.buffer;\n\n if (valueType === '[object Int8Array]') {\n marker += TYPE_INT8ARRAY;\n } else if (valueType === '[object Uint8Array]') {\n marker += TYPE_UINT8ARRAY;\n } else if (valueType === '[object Uint8ClampedArray]') {\n marker += TYPE_UINT8CLAMPEDARRAY;\n } else if (valueType === '[object Int16Array]') {\n marker += TYPE_INT16ARRAY;\n } else if (valueType === '[object Uint16Array]') {\n marker += TYPE_UINT16ARRAY;\n } else if (valueType === '[object Int32Array]') {\n marker += TYPE_INT32ARRAY;\n } else if (valueType === '[object Uint32Array]') {\n marker += TYPE_UINT32ARRAY;\n } else if (valueType === '[object Float32Array]') {\n marker += TYPE_FLOAT32ARRAY;\n } else if (valueType === '[object Float64Array]') {\n marker += TYPE_FLOAT64ARRAY;\n } else {\n callback(new Error('Failed to get type for BinaryArray'));\n }\n }\n\n callback(marker + bufferToString(buffer));\n } else if (valueType === '[object Blob]') {\n // Conver the blob to a binaryArray and then to a string.\n var fileReader = new FileReader();\n\n fileReader.onload = function () {\n // Backwards-compatible prefix for the blob type.\n var str = BLOB_TYPE_PREFIX + value.type + '~' + bufferToString(this.result);\n\n callback(SERIALIZED_MARKER + TYPE_BLOB + str);\n };\n\n fileReader.readAsArrayBuffer(value);\n } else {\n try {\n callback(JSON.stringify(value));\n } catch (e) {\n console.error(\"Couldn't convert value into a JSON string: \", value);\n\n callback(null, e);\n }\n }\n}\n\n// Deserialize data we've inserted into a value column/field. We place\n// special markers into our strings to mark them as encoded; this isn't\n// as nice as a meta field, but it's the only sane thing we can do whilst\n// keeping localStorage support intact.\n//\n// Oftentimes this will just deserialize JSON content, but if we have a\n// special marker (SERIALIZED_MARKER, defined above), we will extract\n// some kind of arraybuffer/binary data/typed array out of the string.\nfunction deserialize(value) {\n // If we haven't marked this string as being specially serialized (i.e.\n // something other than serialized JSON), we can just return it and be\n // done with it.\n if (value.substring(0, SERIALIZED_MARKER_LENGTH) !== SERIALIZED_MARKER) {\n return JSON.parse(value);\n }\n\n // The following code deals with deserializing some kind of Blob or\n // TypedArray. First we separate out the type of data we're dealing\n // with from the data itself.\n var serializedString = value.substring(TYPE_SERIALIZED_MARKER_LENGTH);\n var type = value.substring(SERIALIZED_MARKER_LENGTH, TYPE_SERIALIZED_MARKER_LENGTH);\n\n var blobType;\n // Backwards-compatible blob type serialization strategy.\n // DBs created with older versions of localForage will simply not have the blob type.\n if (type === TYPE_BLOB && BLOB_TYPE_PREFIX_REGEX.test(serializedString)) {\n var matcher = serializedString.match(BLOB_TYPE_PREFIX_REGEX);\n blobType = matcher[1];\n serializedString = serializedString.substring(matcher[0].length);\n }\n var buffer = stringToBuffer(serializedString);\n\n // Return the right type based on the code/type set during\n // serialization.\n switch (type) {\n case TYPE_ARRAYBUFFER:\n return buffer;\n case TYPE_BLOB:\n return createBlob([buffer], { type: blobType });\n case TYPE_INT8ARRAY:\n return new Int8Array(buffer);\n case TYPE_UINT8ARRAY:\n return new Uint8Array(buffer);\n case TYPE_UINT8CLAMPEDARRAY:\n return new Uint8ClampedArray(buffer);\n case TYPE_INT16ARRAY:\n return new Int16Array(buffer);\n case TYPE_UINT16ARRAY:\n return new Uint16Array(buffer);\n case TYPE_INT32ARRAY:\n return new Int32Array(buffer);\n case TYPE_UINT32ARRAY:\n return new Uint32Array(buffer);\n case TYPE_FLOAT32ARRAY:\n return new Float32Array(buffer);\n case TYPE_FLOAT64ARRAY:\n return new Float64Array(buffer);\n default:\n throw new Error('Unkown type: ' + type);\n }\n}\n\nvar localforageSerializer = {\n serialize: serialize,\n deserialize: deserialize,\n stringToBuffer: stringToBuffer,\n bufferToString: bufferToString\n};\n\n/*\n * Includes code from:\n *\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n */\n\nfunction createDbTable(t, dbInfo, callback, errorCallback) {\n t.executeSql('CREATE TABLE IF NOT EXISTS ' + dbInfo.storeName + ' ' + '(id INTEGER PRIMARY KEY, key unique, value)', [], callback, errorCallback);\n}\n\n// Open the WebSQL database (automatically creates one if one didn't\n// previously exist), using any options set in the config.\nfunction _initStorage$1(options) {\n var self = this;\n var dbInfo = {\n db: null\n };\n\n if (options) {\n for (var i in options) {\n dbInfo[i] = typeof options[i] !== 'string' ? options[i].toString() : options[i];\n }\n }\n\n var dbInfoPromise = new Promise$1(function (resolve, reject) {\n // Open the database; the openDatabase API will automatically\n // create it for us if it doesn't exist.\n try {\n dbInfo.db = openDatabase(dbInfo.name, String(dbInfo.version), dbInfo.description, dbInfo.size);\n } catch (e) {\n return reject(e);\n }\n\n // Create our key/value table if it doesn't exist.\n dbInfo.db.transaction(function (t) {\n createDbTable(t, dbInfo, function () {\n self._dbInfo = dbInfo;\n resolve();\n }, function (t, error) {\n reject(error);\n });\n }, reject);\n });\n\n dbInfo.serializer = localforageSerializer;\n return dbInfoPromise;\n}\n\nfunction tryExecuteSql(t, dbInfo, sqlStatement, args, callback, errorCallback) {\n t.executeSql(sqlStatement, args, callback, function (t, error) {\n if (error.code === error.SYNTAX_ERR) {\n t.executeSql('SELECT name FROM sqlite_master ' + \"WHERE type='table' AND name = ?\", [dbInfo.storeName], function (t, results) {\n if (!results.rows.length) {\n // if the table is missing (was deleted)\n // re-create it table and retry\n createDbTable(t, dbInfo, function () {\n t.executeSql(sqlStatement, args, callback, errorCallback);\n }, errorCallback);\n } else {\n errorCallback(t, error);\n }\n }, errorCallback);\n } else {\n errorCallback(t, error);\n }\n }, errorCallback);\n}\n\nfunction getItem$1(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT * FROM ' + dbInfo.storeName + ' WHERE key = ? LIMIT 1', [key], function (t, results) {\n var result = results.rows.length ? results.rows.item(0).value : null;\n\n // Check to see if this is serialized content we need to\n // unpack.\n if (result) {\n result = dbInfo.serializer.deserialize(result);\n }\n\n resolve(result);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction iterate$1(iterator, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT * FROM ' + dbInfo.storeName, [], function (t, results) {\n var rows = results.rows;\n var length = rows.length;\n\n for (var i = 0; i < length; i++) {\n var item = rows.item(i);\n var result = item.value;\n\n // Check to see if this is serialized content\n // we need to unpack.\n if (result) {\n result = dbInfo.serializer.deserialize(result);\n }\n\n result = iterator(result, item.key, i + 1);\n\n // void(0) prevents problems with redefinition\n // of `undefined`.\n if (result !== void 0) {\n resolve(result);\n return;\n }\n }\n\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction _setItem(key, value, callback, retriesLeft) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n // The localStorage API doesn't return undefined values in an\n // \"expected\" way, so undefined is always cast to null in all\n // drivers. See: https://github.com/mozilla/localForage/pull/42\n if (value === undefined) {\n value = null;\n }\n\n // Save the original value to pass to the callback.\n var originalValue = value;\n\n var dbInfo = self._dbInfo;\n dbInfo.serializer.serialize(value, function (value, error) {\n if (error) {\n reject(error);\n } else {\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'INSERT OR REPLACE INTO ' + dbInfo.storeName + ' ' + '(key, value) VALUES (?, ?)', [key, value], function () {\n resolve(originalValue);\n }, function (t, error) {\n reject(error);\n });\n }, function (sqlError) {\n // The transaction failed; check\n // to see if it's a quota error.\n if (sqlError.code === sqlError.QUOTA_ERR) {\n // We reject the callback outright for now, but\n // it's worth trying to re-run the transaction.\n // Even if the user accepts the prompt to use\n // more storage on Safari, this error will\n // be called.\n //\n // Try to re-run the transaction.\n if (retriesLeft > 0) {\n resolve(_setItem.apply(self, [key, originalValue, callback, retriesLeft - 1]));\n return;\n }\n reject(sqlError);\n }\n });\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction setItem$1(key, value, callback) {\n return _setItem.apply(this, [key, value, callback, 1]);\n}\n\nfunction removeItem$1(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'DELETE FROM ' + dbInfo.storeName + ' WHERE key = ?', [key], function () {\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Deletes every item in the table.\n// TODO: Find out if this resets the AUTO_INCREMENT number.\nfunction clear$1(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'DELETE FROM ' + dbInfo.storeName, [], function () {\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Does a simple `COUNT(key)` to get the number of items stored in\n// localForage.\nfunction length$1(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n // Ahhh, SQL makes this one soooooo easy.\n tryExecuteSql(t, dbInfo, 'SELECT COUNT(key) as c FROM ' + dbInfo.storeName, [], function (t, results) {\n var result = results.rows.item(0).c;\n resolve(result);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Return the key located at key index X; essentially gets the key from a\n// `WHERE id = ?`. This is the most efficient way I can think to implement\n// this rarely-used (in my experience) part of the API, but it can seem\n// inconsistent, because we do `INSERT OR REPLACE INTO` on `setItem()`, so\n// the ID of each key will change every time it's updated. Perhaps a stored\n// procedure for the `setItem()` SQL would solve this problem?\n// TODO: Don't change ID on `setItem()`.\nfunction key$1(n, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT key FROM ' + dbInfo.storeName + ' WHERE id = ? LIMIT 1', [n + 1], function (t, results) {\n var result = results.rows.length ? results.rows.item(0).key : null;\n resolve(result);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction keys$1(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT key FROM ' + dbInfo.storeName, [], function (t, results) {\n var keys = [];\n\n for (var i = 0; i < results.rows.length; i++) {\n keys.push(results.rows.item(i).key);\n }\n\n resolve(keys);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// https://www.w3.org/TR/webdatabase/#databases\n// > There is no way to enumerate or delete the databases available for an origin from this API.\nfunction getAllStoreNames(db) {\n return new Promise$1(function (resolve, reject) {\n db.transaction(function (t) {\n t.executeSql('SELECT name FROM sqlite_master ' + \"WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'\", [], function (t, results) {\n var storeNames = [];\n\n for (var i = 0; i < results.rows.length; i++) {\n storeNames.push(results.rows.item(i).name);\n }\n\n resolve({\n db: db,\n storeNames: storeNames\n });\n }, function (t, error) {\n reject(error);\n });\n }, function (sqlError) {\n reject(sqlError);\n });\n });\n}\n\nfunction dropInstance$1(options, callback) {\n callback = getCallback.apply(this, arguments);\n\n var currentConfig = this.config();\n options = typeof options !== 'function' && options || {};\n if (!options.name) {\n options.name = options.name || currentConfig.name;\n options.storeName = options.storeName || currentConfig.storeName;\n }\n\n var self = this;\n var promise;\n if (!options.name) {\n promise = Promise$1.reject('Invalid arguments');\n } else {\n promise = new Promise$1(function (resolve) {\n var db;\n if (options.name === currentConfig.name) {\n // use the db reference of the current instance\n db = self._dbInfo.db;\n } else {\n db = openDatabase(options.name, '', '', 0);\n }\n\n if (!options.storeName) {\n // drop all database tables\n resolve(getAllStoreNames(db));\n } else {\n resolve({\n db: db,\n storeNames: [options.storeName]\n });\n }\n }).then(function (operationInfo) {\n return new Promise$1(function (resolve, reject) {\n operationInfo.db.transaction(function (t) {\n function dropTable(storeName) {\n return new Promise$1(function (resolve, reject) {\n t.executeSql('DROP TABLE IF EXISTS ' + storeName, [], function () {\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n }\n\n var operations = [];\n for (var i = 0, len = operationInfo.storeNames.length; i < len; i++) {\n operations.push(dropTable(operationInfo.storeNames[i]));\n }\n\n Promise$1.all(operations).then(function () {\n resolve();\n })[\"catch\"](function (e) {\n reject(e);\n });\n }, function (sqlError) {\n reject(sqlError);\n });\n });\n });\n }\n\n executeCallback(promise, callback);\n return promise;\n}\n\nvar webSQLStorage = {\n _driver: 'webSQLStorage',\n _initStorage: _initStorage$1,\n _support: isWebSQLValid(),\n iterate: iterate$1,\n getItem: getItem$1,\n setItem: setItem$1,\n removeItem: removeItem$1,\n clear: clear$1,\n length: length$1,\n key: key$1,\n keys: keys$1,\n dropInstance: dropInstance$1\n};\n\nfunction isLocalStorageValid() {\n try {\n return typeof localStorage !== 'undefined' && 'setItem' in localStorage &&\n // in IE8 typeof localStorage.setItem === 'object'\n !!localStorage.setItem;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getKeyPrefix(options, defaultConfig) {\n var keyPrefix = options.name + '/';\n\n if (options.storeName !== defaultConfig.storeName) {\n keyPrefix += options.storeName + '/';\n }\n return keyPrefix;\n}\n\n// Check if localStorage throws when saving an item\nfunction checkIfLocalStorageThrows() {\n var localStorageTestKey = '_localforage_support_test';\n\n try {\n localStorage.setItem(localStorageTestKey, true);\n localStorage.removeItem(localStorageTestKey);\n\n return false;\n } catch (e) {\n return true;\n }\n}\n\n// Check if localStorage is usable and allows to save an item\n// This method checks if localStorage is usable in Safari Private Browsing\n// mode, or in any other case where the available quota for localStorage\n// is 0 and there wasn't any saved items yet.\nfunction _isLocalStorageUsable() {\n return !checkIfLocalStorageThrows() || localStorage.length > 0;\n}\n\n// Config the localStorage backend, using options set in the config.\nfunction _initStorage$2(options) {\n var self = this;\n var dbInfo = {};\n if (options) {\n for (var i in options) {\n dbInfo[i] = options[i];\n }\n }\n\n dbInfo.keyPrefix = _getKeyPrefix(options, self._defaultConfig);\n\n if (!_isLocalStorageUsable()) {\n return Promise$1.reject();\n }\n\n self._dbInfo = dbInfo;\n dbInfo.serializer = localforageSerializer;\n\n return Promise$1.resolve();\n}\n\n// Remove all keys from the datastore, effectively destroying all data in\n// the app's key/value store!\nfunction clear$2(callback) {\n var self = this;\n var promise = self.ready().then(function () {\n var keyPrefix = self._dbInfo.keyPrefix;\n\n for (var i = localStorage.length - 1; i >= 0; i--) {\n var key = localStorage.key(i);\n\n if (key.indexOf(keyPrefix) === 0) {\n localStorage.removeItem(key);\n }\n }\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Retrieve an item from the store. Unlike the original async_storage\n// library in Gaia, we don't modify return values at all. If a key's value\n// is `undefined`, we pass that value to the callback function.\nfunction getItem$2(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var result = localStorage.getItem(dbInfo.keyPrefix + key);\n\n // If a result was found, parse it from the serialized\n // string into a JS object. If result isn't truthy, the key\n // is likely undefined and we'll pass it straight to the\n // callback.\n if (result) {\n result = dbInfo.serializer.deserialize(result);\n }\n\n return result;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Iterate over all items in the store.\nfunction iterate$2(iterator, callback) {\n var self = this;\n\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var keyPrefix = dbInfo.keyPrefix;\n var keyPrefixLength = keyPrefix.length;\n var length = localStorage.length;\n\n // We use a dedicated iterator instead of the `i` variable below\n // so other keys we fetch in localStorage aren't counted in\n // the `iterationNumber` argument passed to the `iterate()`\n // callback.\n //\n // See: github.com/mozilla/localForage/pull/435#discussion_r38061530\n var iterationNumber = 1;\n\n for (var i = 0; i < length; i++) {\n var key = localStorage.key(i);\n if (key.indexOf(keyPrefix) !== 0) {\n continue;\n }\n var value = localStorage.getItem(key);\n\n // If a result was found, parse it from the serialized\n // string into a JS object. If result isn't truthy, the\n // key is likely undefined and we'll pass it straight\n // to the iterator.\n if (value) {\n value = dbInfo.serializer.deserialize(value);\n }\n\n value = iterator(value, key.substring(keyPrefixLength), iterationNumber++);\n\n if (value !== void 0) {\n return value;\n }\n }\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Same as localStorage's key() method, except takes a callback.\nfunction key$2(n, callback) {\n var self = this;\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var result;\n try {\n result = localStorage.key(n);\n } catch (error) {\n result = null;\n }\n\n // Remove the prefix from the key, if a key is found.\n if (result) {\n result = result.substring(dbInfo.keyPrefix.length);\n }\n\n return result;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction keys$2(callback) {\n var self = this;\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var length = localStorage.length;\n var keys = [];\n\n for (var i = 0; i < length; i++) {\n var itemKey = localStorage.key(i);\n if (itemKey.indexOf(dbInfo.keyPrefix) === 0) {\n keys.push(itemKey.substring(dbInfo.keyPrefix.length));\n }\n }\n\n return keys;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Supply the number of keys in the datastore to the callback function.\nfunction length$2(callback) {\n var self = this;\n var promise = self.keys().then(function (keys) {\n return keys.length;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Remove an item from the store, nice and simple.\nfunction removeItem$2(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n localStorage.removeItem(dbInfo.keyPrefix + key);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Set a key's value and run an optional callback once the value is set.\n// Unlike Gaia's implementation, the callback function is passed the value,\n// in case you want to operate on that value only after you're sure it\n// saved, or something like that.\nfunction setItem$2(key, value, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = self.ready().then(function () {\n // Convert undefined values to null.\n // https://github.com/mozilla/localForage/pull/42\n if (value === undefined) {\n value = null;\n }\n\n // Save the original value to pass to the callback.\n var originalValue = value;\n\n return new Promise$1(function (resolve, reject) {\n var dbInfo = self._dbInfo;\n dbInfo.serializer.serialize(value, function (value, error) {\n if (error) {\n reject(error);\n } else {\n try {\n localStorage.setItem(dbInfo.keyPrefix + key, value);\n resolve(originalValue);\n } catch (e) {\n // localStorage capacity exceeded.\n // TODO: Make this a specific error/event.\n if (e.name === 'QuotaExceededError' || e.name === 'NS_ERROR_DOM_QUOTA_REACHED') {\n reject(e);\n }\n reject(e);\n }\n }\n });\n });\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction dropInstance$2(options, callback) {\n callback = getCallback.apply(this, arguments);\n\n options = typeof options !== 'function' && options || {};\n if (!options.name) {\n var currentConfig = this.config();\n options.name = options.name || currentConfig.name;\n options.storeName = options.storeName || currentConfig.storeName;\n }\n\n var self = this;\n var promise;\n if (!options.name) {\n promise = Promise$1.reject('Invalid arguments');\n } else {\n promise = new Promise$1(function (resolve) {\n if (!options.storeName) {\n resolve(options.name + '/');\n } else {\n resolve(_getKeyPrefix(options, self._defaultConfig));\n }\n }).then(function (keyPrefix) {\n for (var i = localStorage.length - 1; i >= 0; i--) {\n var key = localStorage.key(i);\n\n if (key.indexOf(keyPrefix) === 0) {\n localStorage.removeItem(key);\n }\n }\n });\n }\n\n executeCallback(promise, callback);\n return promise;\n}\n\nvar localStorageWrapper = {\n _driver: 'localStorageWrapper',\n _initStorage: _initStorage$2,\n _support: isLocalStorageValid(),\n iterate: iterate$2,\n getItem: getItem$2,\n setItem: setItem$2,\n removeItem: removeItem$2,\n clear: clear$2,\n length: length$2,\n key: key$2,\n keys: keys$2,\n dropInstance: dropInstance$2\n};\n\nvar sameValue = function sameValue(x, y) {\n return x === y || typeof x === 'number' && typeof y === 'number' && isNaN(x) && isNaN(y);\n};\n\nvar includes = function includes(array, searchElement) {\n var len = array.length;\n var i = 0;\n while (i < len) {\n if (sameValue(array[i], searchElement)) {\n return true;\n }\n i++;\n }\n\n return false;\n};\n\nvar isArray = Array.isArray || function (arg) {\n return Object.prototype.toString.call(arg) === '[object Array]';\n};\n\n// Drivers are stored here when `defineDriver()` is called.\n// They are shared across all instances of localForage.\nvar DefinedDrivers = {};\n\nvar DriverSupport = {};\n\nvar DefaultDrivers = {\n INDEXEDDB: asyncStorage,\n WEBSQL: webSQLStorage,\n LOCALSTORAGE: localStorageWrapper\n};\n\nvar DefaultDriverOrder = [DefaultDrivers.INDEXEDDB._driver, DefaultDrivers.WEBSQL._driver, DefaultDrivers.LOCALSTORAGE._driver];\n\nvar OptionalDriverMethods = ['dropInstance'];\n\nvar LibraryMethods = ['clear', 'getItem', 'iterate', 'key', 'keys', 'length', 'removeItem', 'setItem'].concat(OptionalDriverMethods);\n\nvar DefaultConfig = {\n description: '',\n driver: DefaultDriverOrder.slice(),\n name: 'localforage',\n // Default DB size is _JUST UNDER_ 5MB, as it's the highest size\n // we can use without a prompt.\n size: 4980736,\n storeName: 'keyvaluepairs',\n version: 1.0\n};\n\nfunction callWhenReady(localForageInstance, libraryMethod) {\n localForageInstance[libraryMethod] = function () {\n var _args = arguments;\n return localForageInstance.ready().then(function () {\n return localForageInstance[libraryMethod].apply(localForageInstance, _args);\n });\n };\n}\n\nfunction extend() {\n for (var i = 1; i < arguments.length; i++) {\n var arg = arguments[i];\n\n if (arg) {\n for (var _key in arg) {\n if (arg.hasOwnProperty(_key)) {\n if (isArray(arg[_key])) {\n arguments[0][_key] = arg[_key].slice();\n } else {\n arguments[0][_key] = arg[_key];\n }\n }\n }\n }\n }\n\n return arguments[0];\n}\n\nvar LocalForage = function () {\n function LocalForage(options) {\n _classCallCheck(this, LocalForage);\n\n for (var driverTypeKey in DefaultDrivers) {\n if (DefaultDrivers.hasOwnProperty(driverTypeKey)) {\n var driver = DefaultDrivers[driverTypeKey];\n var driverName = driver._driver;\n this[driverTypeKey] = driverName;\n\n if (!DefinedDrivers[driverName]) {\n // we don't need to wait for the promise,\n // since the default drivers can be defined\n // in a blocking manner\n this.defineDriver(driver);\n }\n }\n }\n\n this._defaultConfig = extend({}, DefaultConfig);\n this._config = extend({}, this._defaultConfig, options);\n this._driverSet = null;\n this._initDriver = null;\n this._ready = false;\n this._dbInfo = null;\n\n this._wrapLibraryMethodsWithReady();\n this.setDriver(this._config.driver)[\"catch\"](function () {});\n }\n\n // Set any config values for localForage; can be called anytime before\n // the first API call (e.g. `getItem`, `setItem`).\n // We loop through options so we don't overwrite existing config\n // values.\n\n\n LocalForage.prototype.config = function config(options) {\n // If the options argument is an object, we use it to set values.\n // Otherwise, we return either a specified config value or all\n // config values.\n if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) === 'object') {\n // If localforage is ready and fully initialized, we can't set\n // any new configuration values. Instead, we return an error.\n if (this._ready) {\n return new Error(\"Can't call config() after localforage \" + 'has been used.');\n }\n\n for (var i in options) {\n if (i === 'storeName') {\n options[i] = options[i].replace(/\\W/g, '_');\n }\n\n if (i === 'version' && typeof options[i] !== 'number') {\n return new Error('Database version must be a number.');\n }\n\n this._config[i] = options[i];\n }\n\n // after all config options are set and\n // the driver option is used, try setting it\n if ('driver' in options && options.driver) {\n return this.setDriver(this._config.driver);\n }\n\n return true;\n } else if (typeof options === 'string') {\n return this._config[options];\n } else {\n return this._config;\n }\n };\n\n // Used to define a custom driver, shared across all instances of\n // localForage.\n\n\n LocalForage.prototype.defineDriver = function defineDriver(driverObject, callback, errorCallback) {\n var promise = new Promise$1(function (resolve, reject) {\n try {\n var driverName = driverObject._driver;\n var complianceError = new Error('Custom driver not compliant; see ' + 'https://mozilla.github.io/localForage/#definedriver');\n\n // A driver name should be defined and not overlap with the\n // library-defined, default drivers.\n if (!driverObject._driver) {\n reject(complianceError);\n return;\n }\n\n var driverMethods = LibraryMethods.concat('_initStorage');\n for (var i = 0, len = driverMethods.length; i < len; i++) {\n var driverMethodName = driverMethods[i];\n\n // when the property is there,\n // it should be a method even when optional\n var isRequired = !includes(OptionalDriverMethods, driverMethodName);\n if ((isRequired || driverObject[driverMethodName]) && typeof driverObject[driverMethodName] !== 'function') {\n reject(complianceError);\n return;\n }\n }\n\n var configureMissingMethods = function configureMissingMethods() {\n var methodNotImplementedFactory = function methodNotImplementedFactory(methodName) {\n return function () {\n var error = new Error('Method ' + methodName + ' is not implemented by the current driver');\n var promise = Promise$1.reject(error);\n executeCallback(promise, arguments[arguments.length - 1]);\n return promise;\n };\n };\n\n for (var _i = 0, _len = OptionalDriverMethods.length; _i < _len; _i++) {\n var optionalDriverMethod = OptionalDriverMethods[_i];\n if (!driverObject[optionalDriverMethod]) {\n driverObject[optionalDriverMethod] = methodNotImplementedFactory(optionalDriverMethod);\n }\n }\n };\n\n configureMissingMethods();\n\n var setDriverSupport = function setDriverSupport(support) {\n if (DefinedDrivers[driverName]) {\n console.info('Redefining LocalForage driver: ' + driverName);\n }\n DefinedDrivers[driverName] = driverObject;\n DriverSupport[driverName] = support;\n // don't use a then, so that we can define\n // drivers that have simple _support methods\n // in a blocking manner\n resolve();\n };\n\n if ('_support' in driverObject) {\n if (driverObject._support && typeof driverObject._support === 'function') {\n driverObject._support().then(setDriverSupport, reject);\n } else {\n setDriverSupport(!!driverObject._support);\n }\n } else {\n setDriverSupport(true);\n }\n } catch (e) {\n reject(e);\n }\n });\n\n executeTwoCallbacks(promise, callback, errorCallback);\n return promise;\n };\n\n LocalForage.prototype.driver = function driver() {\n return this._driver || null;\n };\n\n LocalForage.prototype.getDriver = function getDriver(driverName, callback, errorCallback) {\n var getDriverPromise = DefinedDrivers[driverName] ? Promise$1.resolve(DefinedDrivers[driverName]) : Promise$1.reject(new Error('Driver not found.'));\n\n executeTwoCallbacks(getDriverPromise, callback, errorCallback);\n return getDriverPromise;\n };\n\n LocalForage.prototype.getSerializer = function getSerializer(callback) {\n var serializerPromise = Promise$1.resolve(localforageSerializer);\n executeTwoCallbacks(serializerPromise, callback);\n return serializerPromise;\n };\n\n LocalForage.prototype.ready = function ready(callback) {\n var self = this;\n\n var promise = self._driverSet.then(function () {\n if (self._ready === null) {\n self._ready = self._initDriver();\n }\n\n return self._ready;\n });\n\n executeTwoCallbacks(promise, callback, callback);\n return promise;\n };\n\n LocalForage.prototype.setDriver = function setDriver(drivers, callback, errorCallback) {\n var self = this;\n\n if (!isArray(drivers)) {\n drivers = [drivers];\n }\n\n var supportedDrivers = this._getSupportedDrivers(drivers);\n\n function setDriverToConfig() {\n self._config.driver = self.driver();\n }\n\n function extendSelfWithDriver(driver) {\n self._extend(driver);\n setDriverToConfig();\n\n self._ready = self._initStorage(self._config);\n return self._ready;\n }\n\n function initDriver(supportedDrivers) {\n return function () {\n var currentDriverIndex = 0;\n\n function driverPromiseLoop() {\n while (currentDriverIndex < supportedDrivers.length) {\n var driverName = supportedDrivers[currentDriverIndex];\n currentDriverIndex++;\n\n self._dbInfo = null;\n self._ready = null;\n\n return self.getDriver(driverName).then(extendSelfWithDriver)[\"catch\"](driverPromiseLoop);\n }\n\n setDriverToConfig();\n var error = new Error('No available storage method found.');\n self._driverSet = Promise$1.reject(error);\n return self._driverSet;\n }\n\n return driverPromiseLoop();\n };\n }\n\n // There might be a driver initialization in progress\n // so wait for it to finish in order to avoid a possible\n // race condition to set _dbInfo\n var oldDriverSetDone = this._driverSet !== null ? this._driverSet[\"catch\"](function () {\n return Promise$1.resolve();\n }) : Promise$1.resolve();\n\n this._driverSet = oldDriverSetDone.then(function () {\n var driverName = supportedDrivers[0];\n self._dbInfo = null;\n self._ready = null;\n\n return self.getDriver(driverName).then(function (driver) {\n self._driver = driver._driver;\n setDriverToConfig();\n self._wrapLibraryMethodsWithReady();\n self._initDriver = initDriver(supportedDrivers);\n });\n })[\"catch\"](function () {\n setDriverToConfig();\n var error = new Error('No available storage method found.');\n self._driverSet = Promise$1.reject(error);\n return self._driverSet;\n });\n\n executeTwoCallbacks(this._driverSet, callback, errorCallback);\n return this._driverSet;\n };\n\n LocalForage.prototype.supports = function supports(driverName) {\n return !!DriverSupport[driverName];\n };\n\n LocalForage.prototype._extend = function _extend(libraryMethodsAndProperties) {\n extend(this, libraryMethodsAndProperties);\n };\n\n LocalForage.prototype._getSupportedDrivers = function _getSupportedDrivers(drivers) {\n var supportedDrivers = [];\n for (var i = 0, len = drivers.length; i < len; i++) {\n var driverName = drivers[i];\n if (this.supports(driverName)) {\n supportedDrivers.push(driverName);\n }\n }\n return supportedDrivers;\n };\n\n LocalForage.prototype._wrapLibraryMethodsWithReady = function _wrapLibraryMethodsWithReady() {\n // Add a stub for each driver API method that delays the call to the\n // corresponding driver method until localForage is ready. These stubs\n // will be replaced by the driver methods as soon as the driver is\n // loaded, so there is no performance impact.\n for (var i = 0, len = LibraryMethods.length; i < len; i++) {\n callWhenReady(this, LibraryMethods[i]);\n }\n };\n\n LocalForage.prototype.createInstance = function createInstance(options) {\n return new LocalForage(options);\n };\n\n return LocalForage;\n}();\n\n// The actual localForage object that we expose as a module or via a\n// global. It's extended by pulling in one of our other libraries.\n\n\nvar localforage_js = new LocalForage();\n\nmodule.exports = localforage_js;\n\n},{\"3\":3}]},{},[4])(4)\n});\n","const Websocket = function (model) {\n let wsUrl = ['localhost', 'traintimes.silvrtree.co.uk'];\n let wsPort = '8100';\n const useUrl = 0;\n\n if ('https:' === document.location.protocol) {\n wsUrl = `wss://${ wsUrl[1] }`;\n wsPort = '';\n }\n else {\n // wsUrl = 'ws://localhost:3001';\n wsUrl = `ws://${ wsUrl[0] }`;\n wsPort = '8100';\n }\n\n console.log('>> wsUrl', wsUrl);\n this.socket = null;\n this.timer = 0;\n this.clock = null;\n this.connected = false;\n this.connectBuffer = [];\n\n this.startWebSocket = function () {\n 'use strict';\n\n const url = (wsPort === '') ? wsUrl : `${wsUrl }:${ wsPort}`;\n console.log('Starting socket', url);\n const wsCtor = window['MozWebSocket'] ? MozWebSocket : WebSocket;\n this.socket = new wsCtor(url, 'stream');\n\n this.socket.onopen = this.handleWebsocketOnOpen.bind(this);\n this.socket.onmessage = this.handleWebsocketMessage.bind(this);\n this.socket.onclose = this.handleWebsocketClose.bind(this);\n this.socket.onerror = function (e) {\n console.error(e);\n };\n };\n\n this.subscribe = function(channel) {\n console.log('Subscribe::', channel);\n const newSubscription = {\n 'request': 'SUBSCRIBE',\n 'message': '',\n 'channel': channel\n };\n \n if (this.connected)\n this.socket.send(JSON.stringify(newSubscription));\n else\n this.connectBuffer.push(JSON.stringify(newSubscription));\n };\n\n this.send = function (msg) {\n console.log('Sending', msg);\n this.socket.send(msg);\n };\n\n this.handleData = function (d) {\n model.trigger('message', d);\n };\n\n this.handleBuffer = function() {\n console.log('*** handleBuffer');\n\n while (this.connectBuffer.length > 0) {\n const item = this.connectBuffer.shift();\n this.socket.send(item);\n }\n };\n\n this.handleWebsocketOnOpen = function () {\n 'use strict';\n this.retry = 0;\n\n console.log('**** Websocket Connected ****');\n this.clock = new Date();\n\n this.connected = true;\n setTimeout(() => {\n this.handleBuffer();\n }, 1500);\n };\n\n this.handleWebsocketMessage = function (message) {\n let command;\n\n try {\n console.log('handleWebsocketMessage::raw', message);\n command = JSON.parse(message.data);\n console.log('handleWebsocketMessage::command', command);\n }\n catch (e) { /* Do nothing */\n }\n if (command)\n this.handleData.call(this, command);\n };\n\n this.handleWebsocketClose = function () {\n console.error('WebSocket Connection Closed.');\n const now = new Date();\n\n // const uptime = now.getTime() - this.clock.getTime();\n const uptime = 1;\n console.log('Socket alive for', uptime / 1000);\n const self = this;\n console.log('Waiting ', 15000);\n this.timer = setTimeout(function () {\n self.startWebSocket();\n }, 15000);\n };\n\n this.startWebSocket();\n};\n\nmodule.exports = Websocket;\n","export default\n[\n { 'follow': false,\n 'name': 'nationalrailenq',\n 'id': 33546465\n },\n { 'follow': false,\n 'name': 'networkrail',\n 'id': 365344176\n },\n { 'follow': false,\n 'name': 'NetworkRailSCOT',\n 'id': 402687948\n },\n { 'follow': false,\n 'name': 'AvantiWestCoast',\n 'id': 1143560758476906497\n },\n { 'follow': false,\n 'name': 'CalSleeper',\n 'id': 2870293725\n },\n { 'follow': false,\n 'name': 'CrossCountryUK',\n 'id': 153368708\n },\n { 'follow': false,\n 'name': 'Eurostar',\n 'id': 98412169\n },\n { 'follow': false,\n 'name': 'EurostarUK',\n 'id': 59742254\n },\n { 'follow': false,\n 'name': 'GatwickExpress',\n 'id': 163816182\n },\n { 'follow': false,\n 'name': 'GlasgowSubway',\n 'id': 224607925\n },\n { 'follow': false,\n 'name': 'GWRHelp',\n 'id': 15589815\n },\n { 'follow': false,\n 'name': 'HeathrowExpress',\n 'id': 20240678\n },\n { 'follow': false,\n 'name': 'LNER',\n 'id': 313306238\n },\n { 'follow': false,\n 'name': 'LNRailway',\n 'id': 910487328627535872\n },\n { 'follow': false,\n 'name': 'northernassist',\n 'id': 194512268\n },\n { 'follow': false,\n 'name': 'ScotRail',\n 'id': 61569136\n },\n { 'follow': false,\n 'name': 'Stansted_Exp',\n 'id': 257511611\n },\n { 'follow': false,\n 'name': 'TfL',\n 'id': 47319664\n },\n { 'follow': false, 'name':'WestMidRailway', 'id':915554470175657984 },\n { 'follow': false,\n 'name': 'NetworkRailBHM',\n 'id': 583910976\n },\n { 'follow': false,\n 'name': 'NetworkRailEDB',\n 'id': 586614081\n },\n { 'follow': false,\n 'name': 'NetworkRailEUS',\n 'id': 581807264\n },\n { 'follow': false,\n 'name': 'NetworkRailGLC',\n 'id': 421061171\n },\n { 'follow': false,\n 'name': 'NetworkRailKGX',\n 'id': 459192871\n },\n { 'follow': false,\n 'name': 'NetworkRailLST',\n 'id': 581826097\n },\n { 'follow': false,\n 'name': 'NetworkRailMAN',\n 'id': 583895871\n },\n { 'follow': false,\n 'name': 'NetworkRailVIC',\n 'id': 587354752\n },\n { 'follow': false,\n 'name': 'BTP',\n 'id': 266094415\n },\n { 'follow': false,\n 'name': 'BTPAvonSomerset',\n 'id': 738664125132345344\n },\n { 'follow': false,\n 'name': 'BTPBhm',\n 'id': 952003488\n },\n { 'follow': false,\n 'name': 'BTPBlackCountry',\n 'id': 767698362866999297\n },\n { 'follow': false,\n 'name': 'BTPCambs',\n 'id': 2574726074\n },\n { 'follow': false,\n 'name': 'BTPCardiff_NWP',\n 'id': 951714852\n },\n { 'follow': false,\n 'name': 'BTPEAnglia',\n 'id': 4479942923\n },\n { 'follow': false,\n 'name': 'BTPEssex',\n 'id': 2949032015\n },\n { 'follow': false,\n 'name': 'BTPGtrMcr',\n 'id': 1670204977\n },\n { 'follow': false,\n 'name': 'BTPLeics',\n 'id': 761147194598711296\n },\n { 'follow': false,\n 'name': 'BTPLiverpoolSt',\n 'id': 951912242\n },\n { 'follow': false,\n 'name': 'BTPLondon',\n 'id': 957226980\n },\n { 'follow': false,\n 'name': 'BTPLondonBridge',\n 'id': 3346645594\n },\n { 'follow': false,\n 'name': 'BTPMersey',\n 'id': 951748434\n },\n { 'follow': false,\n 'name': 'BTPNorthScot',\n 'id': 2238888007\n },\n { 'follow': false,\n 'name': 'BTPNorthWales',\n 'id': 951487338\n },\n { 'follow': false,\n 'name': 'BTPOxon',\n 'id': 741228701791178753\n },\n { 'follow': false,\n 'name': 'BTPPontypridd',\n 'id': 1672678292\n },\n { 'follow': false,\n 'name': 'BTPScotland',\n 'id': 957256160\n },\n { 'follow': false,\n 'name': 'BTPSouthYorks',\n 'id': 3384315676\n },\n { 'follow': false,\n 'name': 'BTPTeesValley',\n 'id': 802182849872936962\n },\n { 'follow': false,\n 'name': 'BTPUnderground',\n 'id': 986236195049897985\n },\n { 'follow': false,\n 'name': 'BTPWales',\n 'id': 1430734374\n },\n { 'follow': false,\n 'name': 'BTPWaterloo',\n 'id': 951997044\n },\n { 'follow': false,\n 'name': 'BTPWestScot',\n 'id': 951757261\n }\n];\n","/**\n * Created by WebStorm.\n * User: martin\n * Date: 28/04/2020\n * Time: 11:28\n\n */\nimport axios from 'redaxios';\n\nimport { writable, get, derived } from 'svelte/store';\nimport localforage from 'localforage';\nconst baseUrl = (ENV === 'production') ? (`${location.protocol }//${ location.hostname}`) : 'http://localhost:8100';\n\nimport Websocket from '../libs/websocket';\n\nimport twitterAccountsJson from '../libs/twitter';\n\nlet started = false;\n\nconst twitterAccounts = {};\n \nconst OLDtwitterAccounts = {\n 'nationalrailenq': {\n 'id': 33546465,\n 'follow': false\n },\n 'networkrail': {\n 'id': 365344176,\n 'follow': false\n },\n 'NetworkRailSCOT': {\n 'id': 402687948,\n 'follow': false\n },\n 'AvantiWestCoast': {\n 'id': 1143560758476906497,\n 'follow': false\n },\n 'CalSleeper': {\n 'id': 2870293725,\n 'follow': false\n },\n 'CrossCountryUK': {\n 'id': 153368708,\n 'follow': false\n },\n 'Eurostar': {\n 'id': 98412169,\n 'follow': false\n },\n 'EurostarUK': {\n 'id': 59742254,\n 'follow': false\n },\n 'GatwickExpress': {\n 'id': 163816182,\n 'follow': false\n },\n 'GlasgowSubway': {\n 'id': 224607925,\n 'follow': false\n },\n 'GWRHelp': {\n 'id': 15589815,\n 'follow': false\n },\n 'HeathrowExpress': {\n 'id': 20240678,\n 'follow': false\n },\n 'LNER': {\n 'id': 313306238,\n 'follow': false\n },\n 'LNRailway': {\n 'id': 910487328627535872,\n 'follow': false\n },\n 'northernassist': {\n 'id': 194512268,\n 'follow': false\n },\n 'ScotRail': {\n 'id': 61569136,\n 'follow': false\n },\n 'Stansted_Exp': {\n 'id': 257511611,\n 'follow': false\n },\n 'TfL': {\n 'id': 47319664,\n 'follow': false\n },\n 'NetworkRailBHM': {\n 'id': 583910976,\n 'follow': false\n },\n 'NetworkRailEDB': {\n 'id': 586614081,\n 'follow': false\n },\n 'NetworkRailEUS': {\n 'id': 581807264,\n 'follow': false\n },\n 'NetworkRailGLC': {\n 'id': 421061171,\n 'follow': false\n },\n 'NetworkRailKGX': {\n 'id': 459192871,\n 'follow': false\n },\n 'NetworkRailLST': {\n 'id': 581826097,\n 'follow': false\n },\n 'NetworkRailMAN': {\n 'id': 583895871,\n 'follow': false\n },\n 'NetworkRailVIC': {\n 'id': 587354752,\n 'follow': false\n },\n 'BTPScotland': {\n 'id': 957256160,\n 'follow': false\n }\n};\n\nconst state = {\n 'newTweets' : writable([]),\n 'twitterFollowing': writable({}),\n 'twitterFollowingList' : writable([]),\n 'tweetList' : writable([]),\n 'tweets' : writable([]),\n 'favourites' : writable([]),\n 'routes' : writable([]),\n 'routeIndex' : writable(0),\n incrementRouteIndex() {\n this.routeIndex.update(v => v + 1);\n },\n async saveRoute(newRoute) {\n // console.log('Newroute', newRoute);\n const _newRoute = { ...newRoute };\n _newRoute.id = get(this.routeIndex);\n \n this.routes.update((v) => {\n // console.log('update', [...v, _newRoute]);\n \n return [...v, _newRoute];\n });\n this.incrementRouteIndex();\n },\n deleteRoute(id) {\n const pre = get(this.routes).slice(0, id);\n\n const post = get(this.routes).slice(id + 1);\n\n this.routes.set([...pre, ...post]);\n },\n async getTweets() {\n // console.log('>> getTweets');\n // console.log('>> state.twitterFollowingList', get(state.twitterFollowingList));\n const list = get(state.twitterFollowingList).map((item) => {\n return item[1].id; \n })/* .join(',')*/;\n // console.log('>> actual ids', list);\n // const routeUrl = `/twitter?t=${list}`;\n const routeUrl = '/twitter';\n const twitterUrl = baseUrl.concat(routeUrl);\n const postReq = {\n 'method':'post',\n 'url': twitterUrl,\n 'data' : {\n list\n }\n };\n // console.log(postReq);\n axios(postReq)\n .then((d) => {\n // console.log('>> retrieved', d);\n // const data = JSON.parse(d.data);\n const data = d.data;\n\n this.newTweets.set(data);\n }).catch((err) => {\n console.error('Store:getTweets', err);\n });\n },\n getTweetByID(id) {\n return get(this.tweets).get(id);\n },\n getTwitterFollowing() {\n return get(this.twitterFollowing);\n },\n saveTwitterFollowing(newVals) {\n this.twitterFollowing.set(newVals);\n },\n \n getBaseUrl() {\n return baseUrl;\n },\n updateTweetList(id) {\n this.tweetList.update(list => {\n return [id, ...list];\n });\n },\n updateTwitter(item) {\n this.tweets.update(orig => {\n return orig.set(item.id, item);\n });\n },\n updateNewTweets(item) {\n this.newTweets.update( orig => {\n let wa = [...orig];\n\n wa.unshift(item);\n \n wa = wa.slice(0, 49);\n\n return wa;\n });\n },\n\n trigger(msg, item) {\n console.log('trigger', item);\n\n if (item.hasOwnProperty('message') ) {\n const payload = item.message;\n\n // this.updateTwitter(payload);\n // this.updateTweetList(payload.id);\n this.updateNewTweets(payload);\n }\n }\n \n};\n\nconst webSocket = new Websocket(state);\n\nlocalforage.getItem('twitterFollowing').then((value) => {\n console.log('localForage::twitterFollowing', value);\n\n if (value !== null) state.twitterFollowing.set(value);\n else {\n // load twitterAccounts\n\n twitterAccountsJson.forEach((item) => {\n twitterAccounts[item.name] = { 'id': item.id, 'follow':false };\n });\n\n state.twitterFollowing.set(twitterAccounts);\n localforage.setItem('twitterFollowing', twitterAccounts).catch((err) => {\n // This code runs if there were any errors\n console.error(err);\n });\n }\n\n // console.log('twitterFollowing', get(state.twitterFollowing));\n}).catch((err) => {\n console.error(err);\n});\n\nlocalforage.getItem('favourites').then((value) => {\n if (value !== null) state.favourites.set(value);\n}).catch((err) => {\n console.error(err);\n});\n\nlocalforage.getItem('routes').then((value) => {\n if (value !== null) state.routes.set(value);\n}).catch((err) => {\n console.error(err);\n});\n\nlocalforage.getItem('routeIndex').then((value) => {\n if (value !== null) state.routeIndex.set(value);\n}).catch((err) => {\n console.error(err);\n});\n\nstate.favourites.subscribe((v) => {\n console.log('>> Store.state.favourites', v);\n});\n\nstate.routes.subscribe((v) => {\n if (started) \n // console.log('>> Store.state.routes', v);\n localforage.setItem('routes', v).catch((err) => {\n // This code runs if there were any errors\n console.error(err);\n });\n});\n\nstate.routeIndex.subscribe((v) => {\n if (started) \n // console.log('>> Store.state.routeIndex', v);\n localforage.setItem('routeIndex', v).catch((err) => {\n // This code runs if there were any errors\n console.error(err);\n });\n});\n\nstate.twitterFollowing.subscribe((v) => {\n if (started) \n // console.log('>> Store.state.twitterFollowing', v);\n localforage.setItem('twitterFollowing', v).catch((err) => {\n // This code runs if there were any errors\n console.error(err);\n });\n\n const list = Object.entries(get(state.twitterFollowing)).filter((item) => {\n if (item[1].follow) return item;\n });\n\n state.twitterFollowingList.set(list);\n});\n\nstate.twitterFollowingList.subscribe((v) => {\n if (v.length === 0) return;\n console.log('twitterFollowingList', v.length);\n v.forEach((item) => {\n const id = item[1].id;\n webSocket.subscribe(`t-${id}`);\n });\n});\n\nstate.newTweets.subscribe((data) => {\n if (data.length === 0) return;\n console.log('>> newTweets', data.length);\n\n const sortedData = data.sort((a, b) => b.ts - a.ts);\n\n const list = sortedData.map((item) => {\n return item.id;\n });\n\n const tMap = data.map((item) => {\n return [item.id, item];\n });\n\n state.tweetList.set(list);\n state.tweets.set(new Map(tMap));\n});\n\n// started = true;\nsetTimeout(() => {\n started = true;\n}, 250);\n\nexport { state };\n","\n\n\n\n
\n
\n
{startStationName}
\n
{destStationName}
\n
\n
\n {displayTime}\n
\n
\n","\n\n
\n {#each _routes as item}\n \n\n {/each}\n\n\n\n\n
\n\n","/**\n * Created by WebStorm.\n * User: martin\n * Date: 20/04/2020\n * Time: 12:01\n\n */\n\nconst reducer = {\n reduceOtherDetails (data) {\n const nrMessages = [];\n // we have national rail messages so put a box at the top\n //
\n let index = 0;\n const anchorRegex = /<\\s*[aA].*?href\\s*=\\s*(?:\"|')(.*?)(?:\"|')[^>]*>(.*?)<\\s*?\\/\\s*?[aA]\\s*?>/;\n\n if (typeof data.nrccMessages === 'object' && data.nrccMessages !== null) \n for (const item of data.nrccMessages) {\n const newObj = { 'index': 0, 'msg': '', 'link': null, 'linkText': '' };\n\n let msg = item.value.replace(' \">', '\">').replace('', '').replace('/gi, '');\n const anchor = anchorRegex.exec(item.value);\n msg = msg.replace(anchorRegex, '');\n\n newObj.index = index;\n newObj.msg = msg;\n if (anchor !== null) {\n newObj.link = anchor[1];\n newObj.linkText = anchor[2];\n }\n\n nrMessages.push(newObj);\n index++;\n }\n \n return { nrMessages, 'nrMessagesExist': nrMessages.length > 0 };\n },\n reduceTrainTimetable (data) {\n const services = [];\n let ws = '';\n const symbol = ['💠', '🚉'];\n if (typeof data === 'object' && data !== null) {\n console.log('>> reduceTrainService');\n // console.log(data);\n if (typeof data.trainServices === 'object' && data.trainServices !== null) \n for (const item of data.trainServices) {\n // console.log(item)\n const dest = item.destination[0];\n const via = dest.via !== null ? dest.via : '';\n const platform = item.platform !== null ? item.platform : `${symbol[0]}`;\n // 🚉 💠\n // const time = item.sta !== null ? item.sta : `D ${item.std}`\n const time = item.sta !== null ? item.sta : `D ${item.std}`;\n const isDeparture = item.sta === null;\n const status = item.eta !== null ? item.eta : item.etd;\n const trainLength = item.length;\n\n const carriageCount = (trainLength > 0) ? ` (${trainLength} 🚃) ` : '';\n\n const statusMode = (status.toLowerCase() === 'on time') ? 'ontime' : 'delayed';\n const delayReason = (item.delayReason !== null) ? item.delayReason : '';\n\n const cancelReason = (item.cancelReason !== null) ? item.cancelReason : 'No reason given 🤷';\n\n const serviceIdUrlSafe = item.serviceIdUrlSafe;\n\n services.push({ 'location': dest.locationName, 'time': time, 'status': status, 'platform': platform, 'cancel': cancelReason, 'type': 'train', 'delay': delayReason, 'carriageCount': carriageCount, 'via': via, 'statusMode': statusMode, 'isCancelled': item.isCancelled, 'isDeparture': isDeparture, 'serviceIdUrlSafe': serviceIdUrlSafe });\n if (!item.isCancelled)\n ws = `${ws}${dest.locationName}${carriageCount}${via}\n ${time}\n ${status}\n ${platform}\n ${delayReason}`;\n else\n ws = `${ws}${dest.locationName} ${via}${time}\n ❌ ${cancelReason}`;\n } \n\n if (typeof data.busServices === 'object' && data.busServices !== null) \n for (const item of data.busServices) {\n const dest = item.destination[0];\n const via = dest.via !== null ? dest.via : '';\n const platform = item.platform !== null ? item.platform : '';\n const time = item.sta !== null ? item.sta : `D ${item.std}`;\n const status = item.eta !== null ? item.eta : item.etd;\n services.push({ 'location': dest.locationName, 'time': time, 'status': status, 'platform': platform, 'cancel': item.cancelReason, 'type': 'bus', 'via': via });\n }\n }\n console.log(services);\n \n return services;\n },\n reduceTrainService (d) {\n let callingpoints = [];\n\n const departureTime = d.sta || d.std;\n const departureStatus = d.eta || d.etd;\n\n const currentLocation = { 'locationName': d.locationName, 'crs': d.crs, 'st': d.sta, 'et': d.eta, 'at': d.ata, 'isCancelled': d.isCancelled, 'length': d.length, 'detachFront': d.detachFront, 'adhocAlerts': d.adhocAlerts };\n\n if (d.previousCallingPoints !== null) \n callingpoints = callingpoints.concat(d.previousCallingPoints[0].callingPoint);\n\n callingpoints.push(currentLocation);\n\n if (d.subsequentCallingPoints !== null) \n callingpoints = callingpoints.concat(d.subsequentCallingPoints[0].callingPoint);\n\n callingpoints = callingpoints.map((item) => {\n // console.log(item)\n item.et = (item.et === null) ? '' : item.et;\n item.at = (item.at === null) ? '' : item.at;\n\n item.etMode = (item.et.toLowerCase() === 'on time') ? 'ontime' : 'delayed';\n item.atMode = (item.at.toLowerCase() === 'on time') ? 'ontime' : 'delayed';\n item.delayReason = (item.delayReason !== null) ? item.delayReason : '';\n item.cancelReason = (item.cancelReason !== null) ? item.cancelReason : 'No reason given 🤷';\n item.classCancel = (item.isCancelled) ? 'cancelledRow' : '';\n\n if (item.st === null && (item.et === null || item.et === '')) {\n item.st = `D ${departureTime}`;\n item.et = departureStatus;\n }\n\n return item;\n });\n \n return callingpoints;\n }\n};\n\nmodule.exports = reducer;\n","\n\n\n\n
\n
\n
Station
\n
Due
\n
Estimated
\n
Arrived
\n
\n {#if list.length > 0}\n {#each list as item}\n
\n
{item.locationName}
\n
{item.st}
\n
{item.et}
\n
{item.at}
\n
\n {/each}\n {/if}\n
\n","\n\n\n\n
\n \n
\n\n","\n\n\n\n
\n
\n {#if otherDetails.nrMessagesExist === true}\n \n {/if}\n\n {#if list.length > 0}\n\n {#each list as item, i (item.serviceIdUrlSafe)}\n
\n
\n {item.location}\n {item.carriageCount}\n
\n {#if item.via}\n \n {item.via}\n {/if}\n
\n
\n
{item.time}
\n\n {#if item.isCancelled}\n
{item.cancel}\n
\n {:else}\n
{item.status}
\n
{item.platform}
\n {/if}\n
\n {/each}\n\n\n {/if}\n\n
\n\n
\n\n","\n\n\n\n
\n
\n
{fromStationName} TO {destStationName}
\n \n\n \n
\n\n
\n\n","\n\n\n\n\n \n \n {#if searchResults.length > 0}\n \n {/if}\n\n","\n\n\n\n{#if editorVisible}\n
\n
\n
New Route
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n\n
\n\n
\n\n \n \n
\n\n\n
\n
\n{:else}\n
\n \n\n
\n\n{/if}\n","export function longpress(node, duration) {\n let timer;\n\n const handleMousedown = () => {\n console.log('>> handleMousedown');\n timer = setTimeout(() => {\n node.dispatchEvent(\n new CustomEvent('longpress')\n );\n }, duration);\n };\n\n const handleMouseup = () => {\n clearTimeout(timer);\n };\n\n node.addEventListener('mousedown', handleMousedown);\n node.addEventListener('mouseup', handleMouseup);\n\n return {\n update(newDuration) {\n duration = newDuration;\n },\n destroy() {\n node.removeEventListener('mousedown', handleMousedown);\n node.removeEventListener('mouseup', handleMouseup);\n }\n };\n}\n","\n\n\n\n
\n
\n
{item.startStation.name}
\n
\n
{item.destStation.name}
\n
\n\n\n
\n\n {#if buttonsVisible}\n
\n \n \n\n \n\n
\n {/if}\n
\n","\n\n\n\n{#each _routes as item, i (item.id)}\n \n\n{/each}\n","\n\n\n\n
\n
Twitter
\n {#if mounted}\n\n
\n {#each tweeters as item }\n
\n \n
\n\n {/each}\n
\n {/if}\n\n
\n","\n\n\n\n{#if tweet}\n
\n\n
\n
\n \"@{tweet.user.screen_name}\"/\n
\n
{tweet.user.name}
\n
@{tweet.user.screen_name}
\n
\n
\n
\n {#if inReply}\n
\n Replying to @{tweet.in_reply_to_screen_name}\n
\n {/if}\n
\n {tweetBody}\n
\n
\n {tweet.created_at}\n
\n\n
\n{/if}\n","\n\n\n\n
\n
Twitter
\n {#each _tweets as item, i (item)}\n \n {/each}\n\n
\n","/**\n * Created by WebStorm.\n * User: martin\n * Date: 19/04/2020\n * Time: 21:19\n\n */\n// import { wrap } from 'svelte-spa-router';\n\nimport Home from './pages/Home.svelte';\nimport Service from './pages/Service.svelte';\nimport Timetable from './pages/Timetable.svelte';\nimport Settings from './pages/Settings.svelte';\nimport Favourites from './pages/Favourites.svelte';\nimport Twitter from './pages/Twitter.svelte';\nimport NotFound from './pages/NotFound.svelte';\n\nconst routes = new Map();\nroutes.set('/', Home);\nroutes.set('/timetable/:fromStation/:destStation', Timetable);\nroutes.set('/service/:serviceId', Service);\nroutes.set('/settings', Settings);\nroutes.set('/favourites', Favourites);\nroutes.set('/tweets', Twitter);\nroutes.set('*', NotFound);\n\nexport default routes;\n","\n\n\n\n
\n\n
\n {#if currentMode === 1}\n \n \n \n {/if}\n\n\n {titleText}\n
\n\n\n
\n \n \n {#if showFav}\n Favourites\n {/if}\n
\n\n\n
\n","\n\n\n\n\n\n\n
\n\n","import App from './App.svelte';\n\nimport { state } from './store/store';\n\nconst app = new App({\n 'target': document.body,\n 'props': {\n\t\t\n }\n});\n\nif ('serviceWorker' in navigator) {\n //\n navigator.serviceWorker.ready.then(function(reg) {\n console.warn('Ready??', reg);\n // main();\n });\n\n window.addEventListener('load', function() {\n navigator.serviceWorker\n .register('./service-worker.js')\n .then((r) => {\n console.warn('Service Worker Registered', r.scope);\n })\n .catch((error) => {\n // registration failed\n console.error(`Registration failed with ${ error}`);\n });\n });\n\n //\n}\n\nexport default app;\n"],"names":["location","active","linear","require","global","get","Websocket","twitterAccountsJson","LocalStorage","findStation","minuteFloor","reducer","debounce","searchStation","Twitter"],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 24ad99a..6576827 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,10 @@ "version": "1.0.0", "description": "Train Times Progressive Web App", "main": "app.js", - "scripts": {}, + "scripts": { + "start:twitter": "node twitter.js", + "start:server": "node server.js" + }, "author": "", "license": "ISC", "dependencies": {