From d0b62d38b052bad1785942e98068382afc5b9773 Mon Sep 17 00:00:00 2001 From: Mark van Renswoude Date: Mon, 19 Mar 2018 07:45:54 +0100 Subject: [PATCH 1/3] Added automatic retry to frontend Better support for iOS language detection? --- hosted/timezone.php | 13 +++++++++ src/assets/version.h | 4 +-- src/main.cpp | 10 ++----- src/main.triggers.h | 13 +++++++++ web/app.js | 65 +++++++++++++++++++++++++++++++++----------- web/dist/bundle.js | 2 +- web/index.html | 6 ++-- web/lang.js | 4 +-- 8 files changed, 84 insertions(+), 33 deletions(-) diff --git a/hosted/timezone.php b/hosted/timezone.php index 33d184b..1e62312 100644 --- a/hosted/timezone.php +++ b/hosted/timezone.php @@ -1,3 +1,16 @@ \ No newline at end of file diff --git a/src/assets/version.h b/src/assets/version.h index 8e34c37..7591d38 100644 --- a/src/assets/version.h +++ b/src/assets/version.h @@ -4,10 +4,10 @@ const uint8_t VersionMajor = 2; const uint8_t VersionMinor = 0; const uint8_t VersionPatch = 0; -const uint8_t VersionMetadata = ; +const uint8_t VersionMetadata = 0; const char VersionBranch[] = "master"; const char VersionSemVer[] = "2.0.0"; -const char VersionFullSemVer[] = "2.0.0"; +const char VersionFullSemVer[] = "2.0.0+0"; const char VersionCommitDate[] = "2018-02-17"; #endif diff --git a/src/main.cpp b/src/main.cpp index 1278f67..104c1c0 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -75,7 +75,7 @@ void setup() stairs = new Stairs(); stairs->init(pwmDriver); - + /* _dln("Setup :: starting initialization sequence"); stairs->set(0, 255); delay(300); @@ -89,6 +89,7 @@ void setup() } stairs->set(stepCount - 1, 0); + */ _dln("Setup :: initializing WiFi"); WiFi.persistent(false); @@ -118,13 +119,6 @@ void loop() ESP.restart(); } - if (motionTriggerSettingsChanged) - { - initMotionPins(); - motionTriggerSettingsChanged = false; - } - - currentTime = millis(); updateDebugStatus(); diff --git a/src/main.triggers.h b/src/main.triggers.h index a76b5c7..432846e 100644 --- a/src/main.triggers.h +++ b/src/main.triggers.h @@ -302,6 +302,13 @@ bool lastMotion = false; void updateMotionTrigger() { + if (motionTriggerSettingsChanged) + { + initMotionPins(); + activeMotionStart = 0; + } + + if (!motionTriggerSettings->enabled() || !motionTriggerSettings->triggerCount()) { activeMotionStart = 0; @@ -355,6 +362,12 @@ void checkTriggers() bool motionChanged = (activeMotionStart > 0) != lastMotion; lastMotion = (activeMotionStart > 0); + if (motionTriggerSettingsChanged) + { + motionChanged = true; + motionTriggerSettingsChanged = false; + } + if (!motionChanged && !timeTriggerChanged) return; diff --git a/web/app.js b/web/app.js index 66353c8..04cd2e9 100644 --- a/web/app.js +++ b/web/app.js @@ -1,5 +1,36 @@ function startApp() { + // Source: https://github.com/axios/axios/issues/164 + axios.interceptors.response.use(undefined, function axiosRetryInterceptor(err) { + var config = err.config; + // If config does not exist or the retry option is not set, reject + if(!config || !config.retry) return Promise.reject(err); + + // Set the variable for keeping track of the retry count + config.__retryCount = config.__retryCount || 0; + + // Check if we've maxed out the total number of retries + if(config.__retryCount >= config.retry) { + // Reject with the error + return Promise.reject(err); + } + + // Increase the retry count + config.__retryCount += 1; + + // Create new promise to handle exponential backoff + var backoff = new Promise(function(resolve) { + setTimeout(function() { + resolve(); + }, config.retryDelay || 1); + }); + + // Return the promise in which recalls axios to retry the request + return backoff.then(function() { + return axios(config); + }); + }); + Vue.component('check', { template: '
{{ title }}
', props: { @@ -119,7 +150,7 @@ function startApp() }); var i18n = new VueI18n({ - locale: navigator.language, + locale: navigator.language.split('-')[0], fallbackLocale: 'en', messages: messages }); @@ -338,7 +369,7 @@ function startApp() loadStatus: function() { var self = this; - return axios.get('/api/status') + return axios.get('/api/status', { retry: 10, retryDelay: 1000 }) .then(function(response) { if (typeof response.data == 'object') @@ -350,7 +381,7 @@ function startApp() loadConnection: function() { var self = this; - return axios.get('/api/connection') + return axios.get('/api/connection', { retry: 10, retryDelay: 1000 }) .then(function(response) { if (typeof response.data == 'object') @@ -362,7 +393,7 @@ function startApp() loadSystem: function() { var self = this; - return axios.get('/api/system') + return axios.get('/api/system', { retry: 10, retryDelay: 1000 }) .then(function(response) { if (typeof response.data == 'object') @@ -374,7 +405,7 @@ function startApp() loadTimeTriggers: function() { var self = this; - return axios.get('/api/triggers/time') + return axios.get('/api/triggers/time', { retry: 10, retryDelay: 1000 }) .then(function(response) { if (typeof response.data == 'object') @@ -419,7 +450,7 @@ function startApp() loadMotionTriggers: function() { var self = this; - return axios.get('/api/triggers/motion') + return axios.get('/api/triggers/motion', { retry: 10, retryDelay: 1000 }) .then(function(response) { if (typeof response.data == 'object') @@ -431,7 +462,7 @@ function startApp() loadSteps: function() { var self = this; - return axios.get('/api/steps/values') + return axios.get('/api/steps/values', { retry: 10, retryDelay: 1000 }) .then(function(response) { if (Array.isArray(response.data)) @@ -481,7 +512,7 @@ function startApp() ip: self.connection.ip, subnetmask: self.connection.subnetmask, gateway: self.connection.gateway, - }) + }, { retry: 10, retryDelay: 1000 }) .then(function(response) { }) @@ -499,7 +530,7 @@ function startApp() self.saving = true; - axios.post('/api/system', self.system) + axios.post('/api/system', self.system, { retry: 10, retryDelay: 1000 }) .then(function(response) { self.showNotification(i18n.t('rebootPending')); @@ -595,7 +626,7 @@ function startApp() var self = this; if (!self.saving) { - axios.get('/api/connection/status') + axios.get('/api/connection/status', { retry: 10, retryDelay: 1000 }) .then(function(response) { if (typeof response.data == 'object') @@ -693,7 +724,9 @@ function startApp() axios.post('/api/steps/values', { transitionTime: 1000, - values: steps + values: steps, + retry: 10, + retryDelay: 1000 }) .then(function(response) { @@ -761,7 +794,7 @@ function startApp() }); } - axios.post('/api/triggers/time', timeSettings) + axios.post('/api/triggers/time', timeSettings, { retry: 10, retryDelay: 1000 }) .then(function(response) { }) @@ -806,7 +839,7 @@ function startApp() self.saving = true; - axios.post('/api/triggers/motion', self.triggers.motion) + axios.post('/api/triggers/motion', self.triggers.motion, { retry: 10, retryDelay: 1000 }) .then(function(response) { }) @@ -857,7 +890,7 @@ function startApp() { var self = this; - axios.get('/api/steps') + axios.get('/api/steps', { retry: 10, retryDelay: 1000 }) .then(function(response) { if (typeof response.data == 'object') @@ -945,7 +978,7 @@ function startApp() count: self.calibration.count, useCurve: self.calibration.useCurve, ranges: self.calibration.ranges - }) + }, { retry: 10, retryDelay: 1000 }) .then(function(response) { }) @@ -960,7 +993,7 @@ function startApp() { var self = this; - return axios.get('/api/stacktrace/delete') + return axios.get('/api/stacktrace/delete', { retry: 10, retryDelay: 1000 }) .then(function(response) { self.status.resetReason = 0; diff --git a/web/dist/bundle.js b/web/dist/bundle.js index 3713616..39e52bc 100644 --- a/web/dist/bundle.js +++ b/web/dist/bundle.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.axios=t():e.axios=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";function r(e){var t=new o(e),n=a(o.prototype.request,t);return i.extend(n,o.prototype,t),i.extend(n,t),n}var i=n(2),a=n(3),o=n(5),s=n(6),c=r(s);c.Axios=o,c.create=function(e){return r(i.merge(s,e))},c.Cancel=n(23),c.CancelToken=n(24),c.isCancel=n(20),c.all=function(e){return Promise.all(e)},c.spread=n(25),e.exports=c,e.exports.default=c},function(e,t,n){"use strict";function r(e){return"[object Array]"===l.call(e)}function i(e){return null!==e&&"object"==typeof e}function a(e){return"[object Function]"===l.call(e)}function o(e,t){if(null!==e&&void 0!==e)if("object"!=typeof e&&(e=[e]),r(e))for(var n=0,i=e.length;n=200&&e<300}};s.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(e){s.headers[e]={}}),i.forEach(["post","put","patch"],function(e){s.headers[e]=i.merge(o)}),e.exports=s},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t){r.forEach(e,function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])})}},function(e,t,n){"use strict";var r=n(2),i=n(9),a=n(12),o=n(13),s=n(14),c=n(10),l="undefined"!=typeof window&&window.btoa&&window.btoa.bind(window)||n(15);e.exports=function(e){return new Promise(function(t,u){var f=e.data,d=e.headers;r.isFormData(f)&&delete d["Content-Type"];var p=new XMLHttpRequest,h="onreadystatechange",v=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in p||s(e.url)||(p=new window.XDomainRequest,h="onload",v=!0,p.onprogress=function(){},p.ontimeout=function(){}),e.auth){var m=e.auth.username||"",g=e.auth.password||"";d.Authorization="Basic "+l(m+":"+g)}if(p.open(e.method.toUpperCase(),a(e.url,e.params,e.paramsSerializer),!0),p.timeout=e.timeout,p[h]=function(){if(p&&(4===p.readyState||v)&&(0!==p.status||p.responseURL&&0===p.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in p?o(p.getAllResponseHeaders()):null,r={data:e.responseType&&"text"!==e.responseType?p.response:p.responseText,status:1223===p.status?204:p.status,statusText:1223===p.status?"No Content":p.statusText,headers:n,config:e,request:p};i(t,u,r),p=null}},p.onerror=function(){u(c("Network Error",e,null,p)),p=null},p.ontimeout=function(){u(c("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",p)),p=null},r.isStandardBrowserEnv()){var y=n(16),b=(e.withCredentials||s(e.url))&&e.xsrfCookieName?y.read(e.xsrfCookieName):void 0;b&&(d[e.xsrfHeaderName]=b)}if("setRequestHeader"in p&&r.forEach(d,function(e,t){void 0===f&&"content-type"===t.toLowerCase()?delete d[t]:p.setRequestHeader(t,e)}),e.withCredentials&&(p.withCredentials=!0),e.responseType)try{p.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&p.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&p.upload&&p.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){p&&(p.abort(),u(e),p=null)}),void 0===f&&(f=null),p.send(f)})}},function(e,t,n){"use strict";var r=n(10);e.exports=function(e,t,n){var i=n.config.validateStatus;n.status&&i&&!i(n.status)?t(r("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}},function(e,t,n){"use strict";var r=n(11);e.exports=function(e,t,n,i,a){var o=new Error(e);return r(o,t,n,i,a)}},function(e,t){"use strict";e.exports=function(e,t,n,r,i){return e.config=t,n&&(e.code=n),e.request=r,e.response=i,e}},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var i=n(2);e.exports=function(e,t,n){if(!t)return e;var a;if(n)a=n(t);else if(i.isURLSearchParams(t))a=t.toString();else{var o=[];i.forEach(t,function(e,t){null!==e&&void 0!==e&&(i.isArray(e)&&(t+="[]"),i.isArray(e)||(e=[e]),i.forEach(e,function(e){i.isDate(e)?e=e.toISOString():i.isObject(e)&&(e=JSON.stringify(e)),o.push(r(t)+"="+r(e))}))}),a=o.join("&")}return a&&(e+=(-1===e.indexOf("?")?"?":"&")+a),e}},function(e,t,n){"use strict";var r=n(2),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,a,o={};return e?(r.forEach(e.split("\n"),function(e){if(a=e.indexOf(":"),t=r.trim(e.substr(0,a)).toLowerCase(),n=r.trim(e.substr(a+1)),t){if(o[t]&&i.indexOf(t)>=0)return;o[t]="set-cookie"===t?(o[t]?o[t]:[]).concat([n]):o[t]?o[t]+", "+n:n}}),o):o}},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){function e(e){var t=e;return n&&(i.setAttribute("href",t),t=i.href),i.setAttribute("href",t),{href:i.href,protocol:i.protocol?i.protocol.replace(/:$/,""):"",host:i.host,search:i.search?i.search.replace(/^\?/,""):"",hash:i.hash?i.hash.replace(/^#/,""):"",hostname:i.hostname,port:i.port,pathname:"/"===i.pathname.charAt(0)?i.pathname:"/"+i.pathname}}var t,n=/(msie|trident)/i.test(navigator.userAgent),i=document.createElement("a");return t=e(window.location.href),function(n){var i=r.isString(n)?e(n):n;return i.protocol===t.protocol&&i.host===t.host}}():function(){return!0}},function(e,t){"use strict";function n(){this.message="String contains an invalid character"}var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";n.prototype=new Error,n.prototype.code=5,n.prototype.name="InvalidCharacterError",e.exports=function(e){for(var t,i,a=String(e),o="",s=0,c=r;a.charAt(0|s)||(c="=",s%1);o+=c.charAt(63&t>>8-s%1*8)){if((i=a.charCodeAt(s+=.75))>255)throw new n;t=t<<8|i}return o}},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?{write:function(e,t,n,i,a,o){var s=[];s.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),r.isString(i)&&s.push("path="+i),r.isString(a)&&s.push("domain="+a),!0===o&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,t,n){"use strict";function r(){this.handlers=[]}var i=n(2);r.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},r.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},r.prototype.forEach=function(e){i.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=r},function(e,t,n){"use strict";function r(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var i=n(2),a=n(19),o=n(20),s=n(6),c=n(21),l=n(22);e.exports=function(e){r(e),e.baseURL&&!c(e.url)&&(e.url=l(e.baseURL,e.url)),e.headers=e.headers||{},e.data=a(e.data,e.headers,e.transformRequest),e.headers=i.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),i.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]});return(e.adapter||s.adapter)(e).then(function(t){return r(e),t.data=a(t.data,t.headers,e.transformResponse),t},function(t){return o(t)||(r(e),t&&t.response&&(t.response.data=a(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})}},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t,n){return r.forEach(n,function(n){e=n(e,t)}),e}},function(e,t){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},function(e,t,n){"use strict";function r(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new i(e),t(n.reason))})}var i=n(23);r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var e;return{token:new r(function(t){e=t}),cancel:e}},e.exports=r},function(e,t){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}}])}),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Vue=t()}(this,function(){"use strict";function e(e){return void 0===e||null===e}function t(e){return void 0!==e&&null!==e}function n(e){return!0===e}function r(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function i(e){return null!==e&&"object"==typeof e}function a(e){return"[object Object]"===mn.call(e)}function o(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function s(e){return null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function c(e){var t=parseFloat(e);return isNaN(t)?e:t}function l(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(n,1)}}function f(e,t){return bn.call(e,t)}function d(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}function p(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n}function h(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function v(e,t){for(var n in t)e[n]=t[n];return e}function m(e){for(var t={},n=0;n0&&(X((c=i(c,(o||"")+"_"+s))[0])&&X(u)&&(f[l]=C(u.text+c[0].text),c.shift()),f.push.apply(f,c)):r(c)?X(u)?f[l]=C(u.text+c):""!==c&&f.push(C(c)):X(c)&&X(u)?f[l]=C(u.text+c.text):(n(a._isVList)&&t(c.tag)&&e(c.key)&&t(o)&&(c.key="__vlist"+o+"_"+s+"__"),f.push(c)));return f}(l):void 0:c===Ir&&(s=function(e){for(var t=0;t=0||n.indexOf(e[i])<0)&&r.push(e[i]);return r}return e}(n[a],r[a],i[a]));return t}(e);r&&v(e.extendOptions,r),(t=e.options=L(n,e.extendOptions)).name&&(t.components[t.name]=e)}}return t}function Ee(e){this._init(e)}function je(e){return e&&(e.Ctor.options.name||e.tag)}function Pe(e,t){return Array.isArray(e)?e.indexOf(t)>-1:"string"==typeof e?e.split(",").indexOf(t)>-1:(n=e,!("[object RegExp]"!==mn.call(n))&&e.test(t));var n}function Ie(e,t){var n=e.cache,r=e.keys,i=e._vnode;for(var a in n){var o=n[a];if(o){var s=je(o.componentOptions);s&&!t(s)&&Le(n,a,r,i)}}}function Le(e,t,n,r){var i=e[t];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),e[t]=null,u(n,t)}function Fe(e,n){return{staticClass:Ne(e.staticClass,n.staticClass),class:t(e.class)?[e.class,n.class]:n.class}}function Ne(e,t){return e?t?e+" "+t:e:t||""}function Me(e){return Array.isArray(e)?function(e){for(var n,r="",i=0,a=e.length;i=0&&" "===(m=e.charAt(v));v--);m&&bi.test(m)||(u=!0)}}else void 0===a?(h=i+1,a=e.slice(0,i).trim()):t();if(void 0===a?a=e.slice(0,i).trim():0!==h&&t(),o)for(i=0;i-1?{exp:e.slice(0,Hr),key:'"'+e.slice(Hr+1)+'"'}:{exp:e,key:null};for(Vr=e,Hr=zr=Kr=0;!ct();)lt(Ur=st())?ut(Ur):91===Ur&&function(e){var t=1;for(zr=Hr;!ct();)if(e=st(),lt(e))ut(e);else if(91===e&&t++,93===e&&t--,0===t){Kr=Hr;break}}(Ur);return{exp:e.slice(0,zr),key:e.slice(zr+1,Kr)}}(e);return null===n.key?e+"="+t:"$set("+n.exp+", "+n.key+", "+t+")"}function st(){return Vr.charCodeAt(++Hr)}function ct(){return Hr>=Wr}function lt(e){return 34===e||39===e}function ut(e){for(var t=e;!ct()&&(e=st())!==t;);}function ft(e,t,n,r,i){t=(a=t)._withTask||(a._withTask=function(){hr=!0;var e=a.apply(null,arguments);return hr=!1,e}),n&&(t=function(e,t,n){var r=qr;return function i(){null!==e.apply(null,arguments)&&dt(t,i,n,r)}}(t,e,r)),qr.addEventListener(e,t,Un?{capture:r,passive:i}:r);var a}function dt(e,t,n,r){(r||qr).removeEventListener(e,t._withTask||t,n)}function pt(n,r){if(!e(n.data.on)||!e(r.data.on)){var i=r.data.on||{},a=n.data.on||{};qr=r.elm,function(e){if(t(e[_i])){var n=Nn?"change":"input";e[n]=[].concat(e[_i],e[n]||[]),delete e[_i]}t(e[wi])&&(e.change=[].concat(e[wi],e.change||[]),delete e[wi])}(i),q(i,a,ft,dt,r.context),qr=void 0}}function ht(n,r){if(!e(n.data.domProps)||!e(r.data.domProps)){var i,a,o=r.elm,s=n.data.domProps||{},l=r.data.domProps||{};t(l.__ob__)&&(l=r.data.domProps=v({},l));for(i in s)e(l[i])&&(o[i]="");for(i in l){if(a=l[i],"textContent"===i||"innerHTML"===i){if(r.children&&(r.children.length=0),a===s[i])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===i){o._value=a;var u=e(a)?"":String(a);d=u,!(f=o).composing&&("OPTION"===f.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(f,d)||function(e,n){var r=e.value,i=e._vModifiers;if(t(i)){if(i.lazy)return!1;if(i.number)return c(r)!==c(n);if(i.trim)return r.trim()!==n.trim()}return r!==n}(f,d))&&(o.value=u)}else o[i]=a}}var f,d}function vt(e){var t=mt(e.style);return e.staticStyle?v(e.staticStyle,t):t}function mt(e){return Array.isArray(e)?m(e):"string"==typeof e?Ci(e):e}function gt(n,r){var i=r.data,a=n.data;if(!(e(i.staticStyle)&&e(i.style)&&e(a.staticStyle)&&e(a.style))){var o,s,c=r.elm,l=a.staticStyle,u=a.normalizedStyle||a.style||{},f=l||u,d=mt(r.data.style)||{};r.data.normalizedStyle=t(d.__ob__)?v({},d):d;var p=function(e,t){for(var n,r={},i=e;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(n=vt(i.data))&&v(r,n);(n=vt(e.data))&&v(r,n);for(var a=e;a=a.parent;)a.data&&(n=vt(a.data))&&v(r,n);return r}(r);for(s in f)e(p[s])&&Ai(c,s,"");for(s in p)(o=p[s])!==f[s]&&Ai(c,s,null==o?"":o)}}function yt(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(/\s+/).forEach(function(t){return e.classList.add(t)}):e.classList.add(t);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function bt(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(/\s+/).forEach(function(t){return e.classList.remove(t)}):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function _t(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&v(t,Ei(e.name||"v")),v(t,e),t}return"string"==typeof e?Ei(e):void 0}}function wt(e){Ri(function(){Ri(e)})}function Tt(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),yt(e,t))}function kt(e,t){e._transitionClasses&&u(e._transitionClasses,t),bt(e,t)}function Ct(e,t,n){var r=St(e,t),i=r.type,a=r.timeout,o=r.propCount;if(!i)return n();var s=i===Pi?Fi:Mi,c=0,l=function(){e.removeEventListener(s,u),n()},u=function(t){t.target===e&&++c>=o&&l()};setTimeout(function(){c0&&(n=Pi,u=o,f=a.length):t===Ii?l>0&&(n=Ii,u=l,f=c.length):f=(n=(u=Math.max(o,l))>0?o>l?Pi:Ii:null)?n===Pi?a.length:c.length:0,{type:n,timeout:u,propCount:f,hasTransform:n===Pi&&Bi.test(r[Li+"Property"])}}function xt(e,t){for(;e.length1}function jt(e,t){!0!==t.data.show&&$t(t)}function Pt(e,t,n){It(e,t,n),(Nn||Rn)&&setTimeout(function(){It(e,t,n)},0)}function It(e,t,n){var r=t.value,i=e.multiple;if(!i||Array.isArray(r)){for(var a,o,s=0,c=e.options.length;s-1,o.selected!==a&&(o.selected=a);else if(y(Ft(o),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));i||(e.selectedIndex=-1)}}function Lt(e,t){return t.every(function(t){return!y(t,e)})}function Ft(e){return"_value"in e?e._value:e.value}function Nt(e){e.target.composing=!0}function Mt(e){e.target.composing&&(e.target.composing=!1,Rt(e.target,"input"))}function Rt(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Bt(e){return!e.componentInstance||e.data&&e.data.transition?e:Bt(e.componentInstance._vnode)}function Wt(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?Wt(Q(t.children)):e}function Vt(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var i=n._parentListeners;for(var a in i)t[wn(a)]=i[a];return t}function Ut(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}function Ht(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function zt(e){e.data.newPos=e.elm.getBoundingClientRect()}function Kt(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,i=t.top-n.top;if(r||i){e.data.moved=!0;var a=e.elm.style;a.transform=a.WebkitTransform="translate("+r+"px,"+i+"px)",a.transitionDuration="0s"}}function qt(e,t){var n=t?Oa:$a;return e.replace(n,function(e){return Aa[e]})}function Jt(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:function(e){for(var t={},n=0,r=e.length;n':'
',ka.innerHTML.indexOf(" ")>0}var vn=Object.freeze({}),mn=Object.prototype.toString,gn=l("slot,component",!0),yn=l("key,ref,slot,slot-scope,is"),bn=Object.prototype.hasOwnProperty,_n=/-(\w)/g,wn=d(function(e){return e.replace(_n,function(e,t){return t?t.toUpperCase():""})}),Tn=d(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),kn=/\B([A-Z])/g,Cn=d(function(e){return e.replace(kn,"-$1").toLowerCase()}),Sn=function(e,t,n){return!1},xn=function(e){return e},An="data-server-rendered",$n=["component","directive","filter"],On=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured"],Dn={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:Sn,isReservedAttr:Sn,isUnknownElement:Sn,getTagNamespace:g,parsePlatformTagName:xn,mustUseProp:Sn,_lifecycleHooks:On},En=/[^\w.$]/,jn="__proto__"in{},Pn="undefined"!=typeof window,In="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,Ln=In&&WXEnvironment.platform.toLowerCase(),Fn=Pn&&window.navigator.userAgent.toLowerCase(),Nn=Fn&&/msie|trident/.test(Fn),Mn=Fn&&Fn.indexOf("msie 9.0")>0,Rn=Fn&&Fn.indexOf("edge/")>0,Bn=Fn&&Fn.indexOf("android")>0||"android"===Ln,Wn=Fn&&/iphone|ipad|ipod|ios/.test(Fn)||"ios"===Ln,Vn=(Fn&&/chrome\/\d+/.test(Fn),{}.watch),Un=!1;if(Pn)try{var Hn={};Object.defineProperty(Hn,"passive",{get:function(){Un=!0}}),window.addEventListener("test-passive",null,Hn)}catch(e){}var zn,Kn,qn=function(){return void 0===zn&&(zn=!Pn&&"undefined"!=typeof global&&"server"===global.process.env.VUE_ENV),zn},Jn=Pn&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,Gn="undefined"!=typeof Symbol&&k(Symbol)&&"undefined"!=typeof Reflect&&k(Reflect.ownKeys);Kn="undefined"!=typeof Set&&k(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var Xn=g,Zn=0,Yn=function(){this.id=Zn++,this.subs=[]};Yn.prototype.addSub=function(e){this.subs.push(e)},Yn.prototype.removeSub=function(e){u(this.subs,e)},Yn.prototype.depend=function(){Yn.target&&Yn.target.addDep(this)},Yn.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;tAr&&Tr[n].id>e.id;)n--;Tr.splice(n+1,0,e)}else Tr.push(e);Sr||(Sr=!0,H(le))}}(this)},Or.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||i(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){B(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},Or.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Or.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},Or.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||u(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var Dr={enumerable:!0,configurable:!0,get:g,set:g},Er={lazy:!0};Se(xe.prototype);var jr={init:function(e,n,r,i){if(!e.componentInstance||e.componentInstance._isDestroyed)(e.componentInstance=function(e,n,a,o){var s={_isComponent:!0,parent:wr,_parentVnode:e,_parentElm:r||null,_refElm:i||null},c=e.data.inlineTemplate;return t(c)&&(s.render=c.render,s.staticRenderFns=c.staticRenderFns),new e.componentOptions.Ctor(s)}(e)).$mount(n?e.elm:void 0,n);else if(e.data.keepAlive){var a=e;jr.prepatch(a,a)}},prepatch:function(e,t){var n=t.componentOptions;!function(e,t,n,r,i){var a=!!(i||e.$options._renderChildren||r.data.scopedSlots||e.$scopedSlots!==vn);if(e.$options._parentVnode=r,e.$vnode=r,e._vnode&&(e._vnode.parent=r),e.$options._renderChildren=i,e.$attrs=r.data&&r.data.attrs||vn,e.$listeners=n||vn,t&&e.$options.props){or.shouldConvert=!1;for(var o=e._props,s=e.$options._propKeys||[],c=0;c1?h(n):n;for(var r=h(arguments,1),i=0,a=n.length;iparseInt(this.max)&&Le(o,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={};t.get=function(){return Dn},Object.defineProperty(e,"config",t),e.util={warn:Xn,extend:v,mergeOptions:L,defineReactive:$},e.set=O,e.delete=D,e.nextTick=H,e.options=Object.create(null),$n.forEach(function(t){e.options[t+"s"]=Object.create(null)}),e.options._base=e,v(e.options.components,Br),e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=h(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this},e.mixin=function(e){return this.options=L(this.options,e),this},function(e){e.cid=0;var t=1;e.extend=function(e){e=e||{};var n=this,r=n.cid,i=e._Ctor||(e._Ctor={});if(i[r])return i[r];var a=e.name||n.options.name,o=function(e){this._init(e)};return(o.prototype=Object.create(n.prototype)).constructor=o,o.cid=t++,o.options=L(n.options,e),o.super=n,o.options.props&&function(e){var t=e.options.props;for(var n in t)ue(e.prototype,"_props",n)}(o),o.options.computed&&function(e){var t=e.options.computed;for(var n in t)fe(e.prototype,n,t[n])}(o),o.extend=n.extend,o.mixin=n.mixin,o.use=n.use,$n.forEach(function(e){o[e]=n[e]}),a&&(o.options.components[a]=o),o.superOptions=n.options,o.extendOptions=e,o.sealedOptions=v({},o.options),i[r]=o,o}}(e),n=e,$n.forEach(function(e){n[e]=function(t,n){return n?("component"===e&&a(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"==typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}});var n}(Ee),Object.defineProperty(Ee.prototype,"$isServer",{get:qn}),Object.defineProperty(Ee.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Ee.version="2.5.13";var Wr,Vr,Ur,Hr,zr,Kr,qr,Jr,Gr=l("style,class"),Xr=l("input,textarea,option,select,progress"),Zr=function(e,t,n){return"value"===n&&Xr(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},Yr=l("contenteditable,draggable,spellcheck"),Qr=l("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),ei="http://www.w3.org/1999/xlink",ti=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},ni=function(e){return ti(e)?e.slice(6,e.length):""},ri=function(e){return null==e||!1===e},ii={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},ai=l("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),oi=l("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),si=function(e){return ai(e)||oi(e)},ci=Object.create(null),li=l("text,number,password,search,email,tel,url"),ui=Object.freeze({createElement:function(e,t){var n=document.createElement(e);return"select"!==e?n:(t.data&&t.data.attrs&&void 0!==t.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)},createElementNS:function(e,t){return document.createElementNS(ii[e],t)},createTextNode:function(e){return document.createTextNode(e)},createComment:function(e){return document.createComment(e)},insertBefore:function(e,t,n){e.insertBefore(t,n)},removeChild:function(e,t){e.removeChild(t)},appendChild:function(e,t){e.appendChild(t)},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.tagName},setTextContent:function(e,t){e.textContent=t},setAttribute:function(e,t,n){e.setAttribute(t,n)}}),fi={create:function(e,t){We(t)},update:function(e,t){e.data.ref!==t.data.ref&&(We(e,!0),We(t))},destroy:function(e){We(e,!0)}},di=new er("",{},[]),pi=["create","activate","update","remove","destroy"],hi={create:He,update:He,destroy:function(e){He(e,di)}},vi=Object.create(null),mi=[fi,hi],gi={create:qe,update:qe},yi={create:Ge,update:Ge},bi=/[\w).+\-_$\]]/,_i="__r",wi="__c",Ti={create:pt,update:pt},ki={create:ht,update:ht},Ci=d(function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach(function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}),Si=/^--/,xi=/\s*!important$/,Ai=function(e,t,n){if(Si.test(t))e.style.setProperty(t,n);else if(xi.test(n))e.style.setProperty(t,n.replace(xi,""),"important");else{var r=Oi(t);if(Array.isArray(n))for(var i=0,a=n.length;ip?h(n,e(i[b+1])?null:i[b+1].elm,i,d,b,a):d>b&&m(0,r,f,p)}(c,d,p,a,s):t(p)?(t(r.text)&&S.setTextContent(c,""),h(c,null,p,0,p.length-1,a)):t(d)?m(0,d,0,d.length-1):t(r.text)&&S.setTextContent(c,""):r.text!==i.text&&S.setTextContent(c,i.text),t(u)&&t(l=u.hook)&&t(l=l.postpatch)&&l(r,i)}}}function b(e,r,i){if(n(i)&&t(e.parent))e.parent.data.pendingInsert=r;else for(var a=0;a-1?ci[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:ci[e]=/HTMLUnknownElement/.test(t.toString())},v(Ee.options.directives,Ui),v(Ee.options.components,qi),Ee.prototype.__patch__=Pn?Wi:g,Ee.prototype.$mount=function(e,t){return function(e,t,n){e.$el=t,e.$options.render||(e.$options.render=nr),ce(e,"beforeMount");return new Or(e,function(){e._update(e._render(),n)},g,null,!0),n=!1,null==e.$vnode&&(e._isMounted=!0,ce(e,"mounted")),e}(this,e=e&&Pn?Be(e):void 0,t)},Ee.nextTick(function(){Dn.devtools&&Jn&&Jn.emit("init",Ee)},0);var Ji,Gi=/\{\{((?:.|\n)+?)\}\}/g,Xi=/[-.*+?^${}()|[\]\/\\]/g,Zi=d(function(e){var t=e[0].replace(Xi,"\\$&"),n=e[1].replace(Xi,"\\$&");return new RegExp(t+"((?:.|\\n)+?)"+n,"g")}),Yi={staticKeys:["staticClass"],transformNode:function(e,t){t.warn;var n=it(e,"class");n&&(e.staticClass=JSON.stringify(n));var r=rt(e,"class",!1);r&&(e.classBinding=r)},genData:function(e){var t="";return e.staticClass&&(t+="staticClass:"+e.staticClass+","),e.classBinding&&(t+="class:"+e.classBinding+","),t}},Qi={staticKeys:["staticStyle"],transformNode:function(e,t){t.warn;var n=it(e,"style");n&&(e.staticStyle=JSON.stringify(Ci(n)));var r=rt(e,"style",!1);r&&(e.styleBinding=r)},genData:function(e){var t="";return e.staticStyle&&(t+="staticStyle:"+e.staticStyle+","),e.styleBinding&&(t+="style:("+e.styleBinding+"),"),t}},ea=l("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),ta=l("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),na=l("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),ra=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ia="[a-zA-Z_][\\w\\-\\.]*",aa="((?:"+ia+"\\:)?"+ia+")",oa=new RegExp("^<"+aa),sa=/^\s*(\/?)>/,ca=new RegExp("^<\\/"+aa+"[^>]*>"),la=/^]+>/i,ua=/^/g,"$1").replace(//g,"$1")),Ea(d,n)&&(n=n.slice(1)),t.chars&&t.chars(n),""});u+=e.length-h.length,e=h,r(d,u-f,u)}else{var v=e.indexOf("<");if(0===v){if(ua.test(e)){var m=e.indexOf("--\x3e");if(m>=0){t.shouldKeepComment&&t.comment(e.substring(4,m)),n(m+3);continue}}if(fa.test(e)){var g=e.indexOf("]>");if(g>=0){n(g+2);continue}}var y=e.match(la);if(y){n(y[0].length);continue}var b=e.match(ca);if(b){var _=u;n(b[0].length),r(b[1],_,u);continue}var w=function(){var t=e.match(oa);if(t){var r={tagName:t[1],attrs:[],start:u};n(t[0].length);for(var i,a;!(i=e.match(sa))&&(a=e.match(ra));)n(a[0].length),r.attrs.push(a);if(i)return r.unarySlash=i[1],n(i[0].length),r.end=u,r}}();if(w){!function(e){var n=e.tagName,i=e.unarySlash;s&&("p"===a&&na(n)&&r(a),l(n)&&a===n&&r(n));for(var u=c(n)||!!i,f=e.attrs.length,d=new Array(f),p=0;p=0){for(k=e.slice(v);!(ca.test(k)||oa.test(k)||ua.test(k)||fa.test(k)||(C=k.indexOf("<",1))<0);)v+=C,k=e.slice(v);T=e.substring(0,v),n(v)}v<0&&(T=e,e=""),t.chars&&T&&t.chars(T)}if(e===i){t.chars&&t.chars(e);break}}r()}(e,{warn:pa,expectHTML:t.expectHTML,isUnaryTag:t.isUnaryTag,canBeLeftOpenTag:t.canBeLeftOpenTag,shouldDecodeNewlines:t.shouldDecodeNewlines,shouldDecodeNewlinesForHref:t.shouldDecodeNewlinesForHref,shouldKeepComment:t.comments,start:function(e,o,l){var u=i&&i.ns||_a(e);Nn&&"svg"===u&&(o=function(e){for(var t=[],n=0;nc&&(s.push(a=e.slice(c,i)),o.push(JSON.stringify(a)));var l=Xe(r[1].trim());o.push("_s("+l+")"),s.push({"@binding":l}),c=i+r[0].length}return c1?1:0:1:e?Math.min(e,2):0;var n}(t,n.length)]?n[t].trim():e}function o(e){return JSON.parse(JSON.stringify(e))}function s(e){for(var n=arguments,r=Object(e),i=1;i=97&&t<=122||t>=65&&t<=90?"ident":t>=49&&t<=57?"number":"else"}function p(e){var t=e.trim();return("0"!==e.charAt(0)||!isNaN(e))&&(n=t,F.test(n)?function(e){var t=e.charCodeAt(0);return t!==e.charCodeAt(e.length-1)||34!==t&&39!==t?e:e.slice(1,-1)}(t):"*"+t);var n}var h,v=Object.prototype.toString,m="[object Object]",g=Object.prototype.hasOwnProperty,y="undefined"!=typeof Intl&&void 0!==Intl.DateTimeFormat,b="undefined"!=typeof Intl&&void 0!==Intl.NumberFormat,_={beforeCreate:function(){var e=this.$options;if(e.i18n=e.i18n||(e.__i18n?{}:null),e.i18n){if(e.i18n instanceof M){if(e.__i18n)try{var t={};e.__i18n.forEach(function(e){t=s(t,JSON.parse(e))}),Object.keys(t).forEach(function(n){e.i18n.mergeLocaleMessage(n,t[n])})}catch(e){}this._i18n=e.i18n,this._i18nWatcher=this._i18n.watchI18nData(),this._i18n.subscribeDataChanging(this),this._subscribing=!0}else if(n(e.i18n)){if(this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof M&&(e.i18n.root=this.$root.$i18n,e.i18n.fallbackLocale=this.$root.$i18n.fallbackLocale,e.i18n.silentTranslationWarn=this.$root.$i18n.silentTranslationWarn),e.__i18n)try{var r={};e.__i18n.forEach(function(e){r=s(r,JSON.parse(e))}),e.i18n.messages=r}catch(e){}this._i18n=new M(e.i18n),this._i18nWatcher=this._i18n.watchI18nData(),this._i18n.subscribeDataChanging(this),this._subscribing=!0,(void 0===e.i18n.sync||e.i18n.sync)&&(this._localeWatcher=this.$i18n.watchLocale())}}else this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof M?(this._i18n=this.$root.$i18n,this._i18n.subscribeDataChanging(this),this._subscribing=!0):e.parent&&e.parent.$i18n&&e.parent.$i18n instanceof M&&(this._i18n=e.parent.$i18n,this._i18n.subscribeDataChanging(this),this._subscribing=!0)},beforeDestroy:function(){this._i18n&&(this._subscribing&&(this._i18n.unsubscribeDataChanging(this),delete this._subscribing),this._i18nWatcher&&(this._i18nWatcher(),delete this._i18nWatcher),this._localeWatcher&&(this._localeWatcher(),delete this._localeWatcher),this._i18n=null)}},w={name:"i18n",functional:!0,props:{tag:{type:String,default:"span"},path:{type:String,required:!0},locale:{type:String},places:{type:[Array,Object]}},render:function(t,n){var r=n.props,i=n.data,a=n.children,o=n.parent.$i18n;if(a=(a||[]).filter(function(e){return e.tag||(e.text=e.text.trim())}),!o)return a;var s=r.path,c=r.locale,l={},u=r.places||{},f=Array.isArray(u)?u.length>0:Object.keys(u).length>0,d=a.every(function(e){if(e.data&&e.data.attrs){var t=e.data.attrs.place;return void 0!==t&&""!==t}});return f&&a.length>0&&!d&&e("If places prop is set, all child elements must have place prop set."),Array.isArray(u)?u.forEach(function(e,t){l[t]=e}):Object.keys(u).forEach(function(e){l[e]=u[e]}),a.forEach(function(e,t){var n=d?""+e.data.attrs.place:""+t;l[n]=e}),t(r.tag,i,o.i(s,c,l))}},T=function(){this._caches=Object.create(null)};T.prototype.interpolate=function(e,n){var r=this._caches[e];return r||(r=function(e){for(var t=[],n=0,r="";n0)f--,u=D,h[S]();else{if(f=0,!1===(n=p(n)))return!1;h[x]()}};null!==u;)if(l++,"\\"!==(t=e[l])||!function(){var t=e[l+1];if(u===E&&"'"===t||u===j&&'"'===t)return l++,r="\\"+t,h[S](),!0}()){if(i=d(t),(a=(s=L[u])[i]||s.else||I)===I)return;if(u=a[0],(o=h[a[1]])&&(r=a[2],r=void 0===r?t:r,!1===o()))return;if(u===P)return c}}(e))&&(this._cache[e]=t),t||[]},N.prototype.getPathValue=function(e,n){if(!t(e))return null;var r=this.parsePath(n);if(i=r,Array.isArray(i)&&0===i.length)return null;for(var i,a=r.length,o=e,s=0;s-1)e.splice(n,1)}}(this._dataListeners,e)},M.prototype.watchI18nData=function(){var e=this;return this._vm.$watch("$data",function(){for(var t=e._dataListeners.length;t--;)h.nextTick(function(){e._dataListeners[t]&&e._dataListeners[t].$forceUpdate()})},{deep:!0})},M.prototype.watchLocale=function(){if(!this._sync||!this._root)return null;var e=this._vm;return this._root.vm.$watch("locale",function(t){e.$set(e,"locale",t),e.$forceUpdate()},{immediate:!0})},R.vm.get=function(){return this._vm},R.messages.get=function(){return o(this._getMessages())},R.dateTimeFormats.get=function(){return o(this._getDateTimeFormats())},R.numberFormats.get=function(){return o(this._getNumberFormats())},R.locale.get=function(){return this._vm.locale},R.locale.set=function(e){this._vm.$set(this._vm,"locale",e)},R.fallbackLocale.get=function(){return this._vm.fallbackLocale},R.fallbackLocale.set=function(e){this._vm.$set(this._vm,"fallbackLocale",e)},R.missing.get=function(){return this._missing},R.missing.set=function(e){this._missing=e},R.formatter.get=function(){return this._formatter},R.formatter.set=function(e){this._formatter=e},R.silentTranslationWarn.get=function(){return this._silentTranslationWarn},R.silentTranslationWarn.set=function(e){this._silentTranslationWarn=e},M.prototype._getMessages=function(){return this._vm.messages},M.prototype._getDateTimeFormats=function(){return this._vm.dateTimeFormats},M.prototype._getNumberFormats=function(){return this._vm.numberFormats},M.prototype._warnDefault=function(e,t,n,i){return r(n)?(this.missing&&this.missing.apply(null,[e,t,i]),t):n},M.prototype._isFallbackRoot=function(e){return!e&&!r(this._root)&&this._fallbackRoot},M.prototype._interpolate=function(e,t,i,a,o,s){if(!t)return null;var c=this._path.getPathValue(t,i);if(Array.isArray(c))return c;var l;if(r(c)){if(!n(t))return null;if("string"!=typeof(l=t[i]))return null}else{if("string"!=typeof c)return null;l=c}return l.indexOf("@:")>=0&&(l=this._link(e,t,l,a,o,s)),s?this._render(l,o,s):l},M.prototype._link=function(e,t,n,r,i,a){var o=n,s=o.match(/(@:[\w\-_|.]+)/g);for(var c in s)if(s.hasOwnProperty(c)){var l=s[c],u=l.substr(2),f=this._interpolate(e,t,u,r,"raw"===i?"string":i,"raw"===i?void 0:a);if(this._isFallbackRoot(f)){if(!this._root)throw Error("unexpected error");var d=this._root;f=d._translate(d._getMessages(),d.locale,d.fallbackLocale,u,r,i,a)}o=(f=this._warnDefault(e,u,f,r))?o.replace(l,f):o}return o},M.prototype._render=function(e,t,n){var r=this._formatter.interpolate(e,n);return"string"===t?r.join(""):r},M.prototype._translate=function(e,t,n,i,a,o,s){var c=this._interpolate(t,e[t],i,a,o,s);return r(c)?r(c=this._interpolate(n,e[n],i,a,o,s))?null:c:c},M.prototype._t=function(e,t,n,r){for(var a=[],o=arguments.length-4;o-- >0;)a[o]=arguments[o+4];if(!e)return"";var s=i.apply(void 0,a),c=s.locale||t,l=this._translate(n,c,this.fallbackLocale,e,r,"string",s.params);if(this._isFallbackRoot(l)){if(!this._root)throw Error("unexpected error");return(u=this._root).t.apply(u,[e].concat(a))}return this._warnDefault(c,e,l,r);var u},M.prototype.t=function(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];return(r=this)._t.apply(r,[e,this.locale,this._getMessages(),null].concat(t));var r},M.prototype._i=function(e,t,n,r,i){var a=this._translate(n,t,this.fallbackLocale,e,r,"raw",i);if(this._isFallbackRoot(a)){if(!this._root)throw Error("unexpected error");return this._root.i(e,t,i)}return this._warnDefault(t,e,a,r)},M.prototype.i=function(e,t,n){return e?("string"!=typeof t&&(t=this.locale),this._i(e,t,this._getMessages(),null,n)):""},M.prototype._tc=function(e,t,n,r,i){for(var o=[],s=arguments.length-5;s-- >0;)o[s]=arguments[s+5];return e?(void 0===i&&(i=1),a((c=this)._t.apply(c,[e,t,n,r].concat(o)),i)):"";var c},M.prototype.tc=function(e,t){for(var n=[],r=arguments.length-2;r-- >0;)n[r]=arguments[r+2];return(i=this)._tc.apply(i,[e,this.locale,this._getMessages(),null,t].concat(n));var i},M.prototype._te=function(e,t,n){for(var r=[],a=arguments.length-3;a-- >0;)r[a]=arguments[a+3];var o=i.apply(void 0,r).locale||t;return this._exist(n[o],e)},M.prototype.te=function(e,t){return this._te(e,this.locale,this._getMessages(),t)},M.prototype.getLocaleMessage=function(e){return o(this._vm.messages[e]||{})},M.prototype.setLocaleMessage=function(e,t){this._vm.messages[e]=t},M.prototype.mergeLocaleMessage=function(e,t){this._vm.messages[e]=h.util.extend(this._vm.messages[e]||{},t)},M.prototype.getDateTimeFormat=function(e){return o(this._vm.dateTimeFormats[e]||{})},M.prototype.setDateTimeFormat=function(e,t){this._vm.dateTimeFormats[e]=t},M.prototype.mergeDateTimeFormat=function(e,t){this._vm.dateTimeFormats[e]=h.util.extend(this._vm.dateTimeFormats[e]||{},t)},M.prototype._localizeDateTime=function(e,t,n,i,a){var o=t,s=i[o];if((r(s)||r(s[a]))&&(o=n,s=i[o]),r(s)||r(s[a]))return null;var c=s[a],l=o+"__"+a,u=this._dateTimeFormatters[l];return u||(u=this._dateTimeFormatters[l]=new Intl.DateTimeFormat(o,c)),u.format(e)},M.prototype._d=function(e,t,n){if(!n)return new Intl.DateTimeFormat(t).format(e);var r=this._localizeDateTime(e,t,this.fallbackLocale,this._getDateTimeFormats(),n);if(this._isFallbackRoot(r)){if(!this._root)throw Error("unexpected error");return this._root.d(e,n,t)}return r||""},M.prototype.d=function(e){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];var i=this.locale,a=null;return 1===n.length?"string"==typeof n[0]?a=n[0]:t(n[0])&&(n[0].locale&&(i=n[0].locale),n[0].key&&(a=n[0].key)):2===n.length&&("string"==typeof n[0]&&(a=n[0]),"string"==typeof n[1]&&(i=n[1])),this._d(e,i,a)},M.prototype.getNumberFormat=function(e){return o(this._vm.numberFormats[e]||{})},M.prototype.setNumberFormat=function(e,t){this._vm.numberFormats[e]=t},M.prototype.mergeNumberFormat=function(e,t){this._vm.numberFormats[e]=h.util.extend(this._vm.numberFormats[e]||{},t)},M.prototype._localizeNumber=function(e,t,n,i,a){var o=t,s=i[o];if((r(s)||r(s[a]))&&(o=n,s=i[o]),r(s)||r(s[a]))return null;var c=s[a],l=o+"__"+a,u=this._numberFormatters[l];return u||(u=this._numberFormatters[l]=new Intl.NumberFormat(o,c)),u.format(e)},M.prototype._n=function(e,t,n){if(!n)return new Intl.NumberFormat(t).format(e);var r=this._localizeNumber(e,t,this.fallbackLocale,this._getNumberFormats(),n);if(this._isFallbackRoot(r)){if(!this._root)throw Error("unexpected error");return this._root.n(e,n,t)}return r||""},M.prototype.n=function(e){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];var i=this.locale,a=null;return 1===n.length?"string"==typeof n[0]?a=n[0]:t(n[0])&&(n[0].locale&&(i=n[0].locale),n[0].key&&(a=n[0].key)):2===n.length&&("string"==typeof n[0]&&(a=n[0]),"string"==typeof n[1]&&(i=n[1])),this._n(e,i,a)},Object.defineProperties(M.prototype,R),M.availabilities={dateTimeFormat:y,numberFormat:b},M.install=function e(t){(h=t).version&&Number(h.version.split(".")[0]),e.installed=!0,Object.defineProperty(h.prototype,"$i18n",{get:function(){return this._i18n}}),n=h,Object.defineProperty(n.prototype,"$t",{get:function(){var e=this;return function(t){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];var i=e.$i18n;return i._t.apply(i,[t,i.locale,i._getMessages(),e].concat(n))}}}),Object.defineProperty(n.prototype,"$tc",{get:function(){var e=this;return function(t,n){for(var r=[],i=arguments.length-2;i-- >0;)r[i]=arguments[i+2];var a=e.$i18n;return a._tc.apply(a,[t,a.locale,a._getMessages(),e,n].concat(r))}}}),Object.defineProperty(n.prototype,"$te",{get:function(){var e=this;return function(t,n){var r=e.$i18n;return r._te(t,r.locale,r._getMessages(),n)}}}),Object.defineProperty(n.prototype,"$d",{get:function(){var e=this;return function(t){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];return(i=e.$i18n).d.apply(i,[t].concat(n));var i}}}),Object.defineProperty(n.prototype,"$n",{get:function(){var e=this;return function(t){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];return(i=e.$i18n).n.apply(i,[t].concat(n));var i}}}),h.mixin(_),h.directive("t",{bind:c,update:l}),h.component(w.name,w);var n,r=h.config.optionMergeStrategies;r.i18n=r.methods},M.version="7.3.3","undefined"!=typeof window&&window.Vue&&window.Vue.use(M),M});var messages={en:{title:"Stairs",systemID:"System ID",firmwareVersion:"Firmware version: ",copyright:"Copyright © 2017 Mark van Renswoude",loading:"Please wait, loading configuration...",rebootPending:"The system will be rebooted, please refresh this page afterwards",applyButton:"Apply",applyButtonSaving:"Saving...",deviceTime:"Time: ",wifiStatus:{accesspoint:{title:"AP: ",disabled:"Disabled"},stationmode:{title:"WiFi: ",disabled:"Disabled",idle:"Idle",noSSID:"SSID not found",scanCompleted:"Scan completed",connectFailed:"Failed to connect",connectionLost:"Connection lost",disconnected:"Disconnected"}},status:{tabTitle:"Status",title:"Current status",allStepsTrue:"Set intensity for all steps",allStepsFalse:"Set intensity individually"},triggers:{tabTitle:"Triggers",timeTitle:"Time",timeInternet:"Please note that time triggers require an internet connection.",timeNoData:"No time triggers defined yet",timeEnabled:"Enable time triggers",timeTransitionTime:"Transition time in milliseconds",timeAdd:"Add",timeDelete:"Delete",timeTriggerEnabled:"Enabled",timeFixedTime:"Fixed time",timeSunrise:"Sunrise",timeSunset:"Sunset",timeTime:"Time in minutes",timeMonday:"Monday",timeTuesday:"Tuesday",timeWednesday:"Wednesday",timeThursday:"Thursday",timeFriday:"Friday",timeSaturday:"Saturday",timeSunday:"Sunday",motionTitle:"Motion",motionNoData:"No motion triggers defined yet",motionEnabled:"Enable motion triggers",motionEnabledDuringTimeTrigger:"Activate even if a time trigger is already active",motionEnabledDuringDay:"Activate during the day (between sunrise and sunset)",motionTransitionTime:"Transition time in milliseconds",motionDelay:"Keep on time in milliseconds",motionTriggerEnabled:"Enabled",motionAdd:"Add",motionDelete:"Delete",motionPin:"GPIO pin (active high)",motionDirection:"Sweep animation",motionDirectionNonDirectional:"None (all steps at the same time)",motionDirectionTopDown:"Top down",motionDirectionBottomUp:"Bottom up"},connection:{tabTitle:"Connection",title:"Connection parameters",accesspoint:"Enable access point",accesspointHint:"Allows for a direct connection from your device to this Stairs module for configuration purposes. The Stairs configuration is available on http://192.168.1.4/ when you are connected to it. Turn it off as soon as station mode is configured, as it is not secured in any way. You can always turn this option back on by pushing the access point button until the LED lights up.",stationmode:"Enable station mode",stationmodeHint:"Connect this Stairs module to your own WiFi router. Please enter the SSID, password and further configuration below.",ssid:"SSID",password:"Password",dhcp:"Use DHCP",dhcpHint:"Automatically assigns an IP address to this Stairs module. You probably want to keep this on unless you know what you're doing.",ipaddress:"IP address",subnetmask:"Subnet mask",gateway:"Gateway",hostname:"Hostname",hostnamePlaceholder:"Default: mac address"},system:{tabTitle:"System",ntpTitle:"Time synchronisation (NTP)",pinsTitle:"Hardware pinout",mapsTitle:"Google Maps API",firmwareTitle:"Firmware update",calibrateTitle:"Calibrate",calibrateButton:"Calibrate steps",calibrateHint:"Use the button below to configure the number of steps, and to adjust the brightness of each individual step",ntpServer:"NTP server",ntpInterval:"Refresh interval (in minutes)",ntpLat:"Latitude",ntpLng:"Longitude",ntpLocation:"Get latitude / longitude from location",ntpLocationSearch:"Search",pinLEDAP:"Access Point status LED pin (+3.3v)",pinLEDSTA:"Station Mode status LED pin (+3.3v)",pinAPButton:"Enable Access Point button pin (active low)",pinPWMDriverSDA:"PCA9685 PWM driver SDA pin (data)",pinPWMDriverSCL:"PCA9685 PWM driver SCL pin (clock)",pwmAddress:"PCA9685 PWM driver I²C address",pwmFrequency:"PCA9685 PWM driver frequency",mapsAPIKey:"Google Maps API key",mapsAPIKeyhint:"Recommended if using time triggers. Used for looking up the current timezone. Will work without an API key, but Google might throttle your request. Register for a free API key at http://console.developers.google.com/ and activate it's use for the Maps API."},error:{loadStatus:"Could not load system status",loadConnection:"Could not load connection settings",loadSystem:"Could not load system settings",loadTimeTriggers:"Could not load time trigger settings",loadMotionTriggers:"Could not load motion trigger settings",applyConnection:"Could not save connection settings",applySystem:"Could not save system settings",updateWiFiStatus:"Could not retrieve WiFi status",uploadFirmware:"Error while uploading firmware",updateSteps:"Could not apply new step values",searchLocation:"Could not look up location coordinates",applyTimeTriggers:"Could not save time trigger settings",applyMotionTriggers:"Could not save motion trigger settings",loadSteps:"Could not load calibration settings",updateCalibration:"Could not save calibration settings",resetError:"The system reports that it has been reset unexpectedly. The last power up status is:",resetReason:{0:"Normal startup",1:"Unresponsive, reset by hardware watchdog",2:"Unhandled exception",3:"Unresponsive, reset by software watchdog",4:"System restart requested",5:"Wake up from deep sleep",6:"System reset"},stackTrace:"A stack trace is available. Please send it to your nearest developer and/or delete it from this Stairs device to remove this message.",stackTraceDownload:"Download",stackTraceDelete:"Remove",stackTraceDeleteError:"Could not remove stack trace"},calibration:{title:"Calibration wizard",backButton:"Back",count:"Number of steps",nextButton:"Next",applyButton:"Complete",allStepsValue:"Intensity for all steps",ranges:"Min / max values per step",useCurve:"Use logarithmic curve for intensity (recommended for LEDs)"}},nl:{title:"Trap",systemID:"Systeem ID",firmwareVersion:"Firmware versie: ",copyright:"Copyright © 2017 Mark van Renswoude",loading:"Een ogenblik geduld, bezig met laden van configuratie...",rebootPending:"Het systeem wordt opnieuw opgestart, ververse deze pagina nadien",applyButton:"Opslaan",applyButtonSaving:"Bezig met opslaan...",deviceTime:"Tijd: ",wifiStatus:{accesspoint:{title:"AP: ",disabled:"Uitgeschakeld"},stationmode:{title:"WiFi: ",disabled:"Uitgeschakeld",idle:"Slaapstand",noSSID:"SSID niet gevonden",scanCompleted:"Scan afgerond",connectFailed:"Kan geen verbinding maken",connectionLost:"Verbinding verloren",disconnected:"Niet verbonden"}},status:{tabTitle:"Status",title:"Huidige status",allStepsTrue:"Alle treden dezelfde intensiteit",allStepsFalse:"Treden individueel instellen"},triggers:{tabTitle:"Triggers",timeTitle:"Tijd",timeInternet:"Let op dat voor tijd triggers een internetverbinding vereist is.",timeNoData:"Nog geen tijd triggers geconfigureerd",timeEnabled:"Tijd triggers inschakelen",timeTransitionTime:"Transitie tijd in milliseconden",timeAdd:"Toevoegen",timeDelete:"Verwijderen",timeTriggerEnabled:"Actief",timeFixedTime:"Vaste tijd",timeSunrise:"Zonsopkomst",timeSunset:"Zonsondergang",timeTime:"Tijd in minuten",timeMonday:"Maandag",timeTuesday:"Dinsdag",timeWednesday:"Woensdag",timeThursday:"Donderdag",timeFriday:"Vrijdag",timeSaturday:"Zaterdag",timeSunday:"Zondag",motionTitle:"Beweging",motionNoData:"Nog geen beweging triggers geconfigureerd",motionEnabled:"Beweging triggers inschakelen",motionEnabledDuringTimeTrigger:"Ook inschakelen als er al een tijd trigger actief is",motionEnabledDuringDay:"Ook overdag inschakelen (tussen zonsopgang en zonsondergang)",motionTransitionTime:"Transitie tijd in milliseconden",motionDelay:"Tijd aan in milliseconden",motionTriggerEnabled:"Actief",motionAdd:"Toevoegen",motionDelete:"Verwijderen",motionPin:"GPIO pin (actief hoog)",motionDirection:"Animatie",motionDirectionNonDirectional:"Geen (alle treden gelijktijdig)",motionDirectionTopDown:"Boven naar beneden",motionDirectionBottomUp:"Beneden naar boven"},connection:{tabTitle:"Verbinding",title:"Verbinding configuratie",accesspoint:"Access point inschakelen",accesspointHint:"Maakt het mogelijk om een directe connectie vanaf een apparaat naar deze Trap module te maken om de module te configureren. De Trap module is te benaderen via http://192.168.1.4/ nadat je connectie hebt gemaakt. Schakel deze optie uit na het configureren, aangezien deze niet beveiligd is. Je kunt deze optie ook inschakelen door op de Access point knop te drukken totdat de LED aan gaat.",stationmode:"Verbinding met WiFi maken",stationmodeHint:"Verbind deze Trap module aan je eigen WiFi router. Vul hieronder het SSID en wachtwoord in, en configureer eventuel de overige opties.",ssid:"SSID",password:"Wachtwoord",dhcp:"Gebruik DHCP",dhcpHint:"Automatisch een IP adres toewijzen aan deze Trap module. Waarschijnlijk wil je deze optie aan laten, tenzij je weet waar je mee bezig bent.",ipaddress:"IP adres",subnetmask:"Subnet masker",gateway:"Gateway",hostname:"Hostnaam",hostnamePlaceholder:"Standaard: mac adres"},system:{tabTitle:"Systeem",ntpTitle:"Tijd synchronisatie (NTP)",pinsTitle:"Hardware aansluitingen",mapsTitle:"Google Maps API",firmwareTitle:"Firmware bijwerken",calibrateTitle:"Kalibratie",calibrateButton:"Kalibreer treden",calibrateHint:"Gebruik onderstaande knop om het aantal treden in te stellen, en om de helderheid van elke trede aan te passen",ntpServer:"NTP server",ntpInterval:"Ververs interval (in minuten)",ntpLat:"Breedtegraad",ntpLng:"Lengtegraad",ntpLocation:"Breedtegraad / lengtegraad ophalen op basis van locatie",ntpLocationSearch:"Zoeken",pinLEDAP:"Access Point status LED pin (+3.3v)",pinLEDSTA:"WiFi status LED pin (+3.3v)",pinAPButton:"Access Point inschakelen knop pin (actief laag)",pinPWMDriverSDA:"PCA9685 PWM driver SDA pin (data)",pinPWMDriverSCL:"PCA9685 PWM driver SCL pin (klok)",pwmAddress:"PCA9685 PWM driver I²C address",pwmFrequency:"PCA9685 PWM driver frequency",mapsAPIKey:"Google Maps API key",mapsAPIKeyhint:"Aangeraden bij gebruik van de tijd triggers. Wordt gebruikt om de huidige tijdzone te bepalen. Werkt ook zonder API key, maar Google beperkt dan sterk de requests. Registreer een gratis API key op http://console.developers.google.com/ en activeer het voor gebruik met de Maps API."},error:{loadStatus:"Kan systeemstatus niet ophalen",loadConnection:"Kan verbinding instellingen niet ophalen",loadSystem:"Kan systeem instellingen niet ophalen",loadTimeTriggers:"Kan tijd trigger instellingen niet ophalen",loadMotionTriggers:"Kan beweging trigger instellingen niet ophalen",applyConnection:"Kan verbinding instellingen niet opslaan",applySystem:"Kan systeem instellingen niet opslaan",updateWiFiStatus:"Kan WiFi status niet ophalen",uploadFirmware:"Fout tijdens bijwerken van firmware",updateSteps:"Kan trap instellingen niet opslaan",searchLocation:"Kan locatie coordinaten niet bepalen",applyTimeTriggers:"Kan tijd trigger instellingen niet opslaan",applyMotionTriggers:"Kan beweging trigger instellingen niet opslaan",loadSteps:"Kan kalibratie instellingen niet ophalen",updateCalibration:"Kan kalibratie instellingen niet opslaan",resetError:"Het systeem is onverwachts herstart. De laatste status is:",resetReason:{0:"Normaal opgestart",1:"Reageert niet, herstart door hardware watchdog",2:"Onafgehandelde fout",3:"Reageert niet, herstart door software watchdog",4:"Herstart verzoek door systeem",5:"Wakker geworden uit diepe slaap",6:"Systeem gereset"},stackTrace:"Een stack trace is beschikbaar. Stuur het naar de dichtsbijzijnde ontwikkelaar en/of verwijder het van deze Trap module om dit bericht te verbergen.",stackTraceDownload:"Downloaden",stackTraceDelete:"Verwijderen",stackTraceDeleteError:"Kan stack trace niet verwijderen"},calibration:{title:"Kalibratie wizard",backButton:"Terug",count:"Aantal treden",nextButton:"Volgende",applyButton:"Voltooien",allStepsValue:"Intensiteit voor alle treden",ranges:"Min / max waarden per trede",useCurve:"Gebruik logaritmische curve voor intensiteit (aangeraden voor LEDs)"}}};function startApp(){Vue.component("check",{template:'
{{ title }}
',props:{title:String,value:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},methods:{handleClick:function(){this.disabled||(this.value=!this.value,this.$emit("input",this.value))},handleKeyDown:function(e){32==e.keyCode&&(this.handleClick(),e.preventDefault())}}}),Vue.component("radio",{template:'
{{ title }}
',props:{title:String,value:null,id:null,disabled:{type:Boolean,default:!1}},methods:{handleClick:function(){this.disabled||(this.value=this.id,this.$emit("input",this.value))},handleKeyDown:function(e){32==e.keyCode&&(this.handleClick(),e.preventDefault())}}}),Vue.component("range",{template:'
{{ value.start }}
{{ value.end }}
',props:["value"],mounted:function(){this.oldValue={start:this.value.start,end:this.value.end}},watch:{value:{handler:function(e){e.start!=this.oldValue.start?e.start>e.end&&(e.end=e.start+1,this.$emit("input",e)):e.end!=this.oldValue.end&&e.end0?0:i.time||0,relativeTime:i.triggerType>0?i.time||0:0,monday:(1&i.daysOfWeek)>0,tuesday:(2&i.daysOfWeek)>0,wednesday:(4&i.daysOfWeek)>0,thursday:(8&i.daysOfWeek)>0,friday:(16&i.daysOfWeek)>0,saturday:(32&i.daysOfWeek)>0,sunday:(64&i.daysOfWeek)>0})}e.triggers.time=n}}).catch(e.handleAPIError.bind(e,"error.loadTimeTriggers"))},loadMotionTriggers:function(){var e=this;return axios.get("/api/triggers/motion").then(function(t){"object"==typeof t.data&&(e.triggers.motion=t.data)}).catch(e.handleAPIError.bind(e,"error.loadMotionTriggers"))},loadSteps:function(){var e=this;return axios.get("/api/steps/values").then(function(t){if(Array.isArray(t.data)){for(var n=!0,r=!1,i=0,a=[],o=0;o0){var n=t.data.results[0].geometry.location;e.system.lat=n.lat,e.system.lng=n.lng}}).catch(e.handleAPIError.bind(e,"error.searchLocation")).then(function(){e.searchingLocation=!1}))},applyTimeTriggers:function(){var e=this;if(!e.saving){e.saving=!0;for(var t={enabled:e.triggers.time.enabled,transitionTime:e.triggers.time.transitionTime,triggers:[]},n=0;n0?r.relativeTime:r.fixedTime,daysOfWeek:(r.monday?1:0)|(r.tuesday?2:0)|(r.wednesday?4:0)|(r.thursday?8:0)|(r.friday?16:0)|(r.saturday?32:0)|(r.sunday?64:0)})}axios.post("/api/triggers/time",t).then(function(e){}).catch(e.handleAPIError.bind(e,"error.applyTimeTriggers")).then(function(){e.saving=!1})}},addTimeTrigger:function(){this.triggers.time.triggers.push({brightness:0,triggerType:0,enabled:!0,fixedTime:540,relativeTime:0,monday:!0,tuesday:!0,wednesday:!0,thursday:!0,friday:!0,saturday:!0,sunday:!0})},deleteTimeTrigger:function(e){this.triggers.time.triggers.splice(e,1)},applyMotionTriggers:function(){var e=this;e.saving||(e.saving=!0,axios.post("/api/triggers/motion",e.triggers.motion).then(function(e){}).catch(e.handleAPIError.bind(e,"error.applyMotionTriggers")).then(function(){e.saving=!1}))},addMotionTrigger:function(){this.triggers.motion.triggers.push({brightness:0,enabled:!0,pin:2,direction:1})},deleteMotionTrigger:function(e){this.triggers.motion.triggers.splice(e,1)},getDisplayTime:function(e,t){var n="";t&&(n+=e>=0?"+":"-");var r=(e=Math.abs(e))%60;return n+=Math.floor(e/60)+":",r<10&&(n+="0"),n+=r},startCalibration:function(){var e=this;axios.get("/api/steps").then(function(t){"object"==typeof t.data&&(e.calibration={wizardStep:0,count:t.data.count,useCurve:t.data.useCurve,ranges:t.data.ranges})}).catch(e.handleAPIError.bind(e,"error.loadSteps"))},stopCalibration:function(){this.calibration=null},applyCalibration:function(){this.stopCalibration()},hasNextCalibrationStep:function(){return this.calibration.wizardStep<1},nextCalibrationStep:function(){if(0==this.calibration.wizardStep)if(this.calibration.count<1?this.calibration.count=1:this.calibration.count>16&&(this.calibration.count=16),this.calibration.ranges.length>this.calibration.count)this.calibration.ranges.splice(this.calibration.count);else for(;this.calibration.ranges.length=0?"+":"-")+r.substr(-2)+":"+i.substr(-2);return t+":"+n.substr(-2)+" ("+a+")"}},watch:{allSteps:{handler:function(){this.stepsChanged()},sync:!0},allStepsValue:{handler:function(){this.stepsChanged()},sync:!0},steps:{handler:function(){this.stepsChanged()},deep:!0,sync:!0},activeTab:function(e){window.location.hash="#"+e},calibration:{handler:function(){this.calibrationChanged()},deep:!0}}})} \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.axios=t():e.axios=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";function r(e){var t=new o(e),n=a(o.prototype.request,t);return i.extend(n,o.prototype,t),i.extend(n,t),n}var i=n(2),a=n(3),o=n(5),s=n(6),c=r(s);c.Axios=o,c.create=function(e){return r(i.merge(s,e))},c.Cancel=n(23),c.CancelToken=n(24),c.isCancel=n(20),c.all=function(e){return Promise.all(e)},c.spread=n(25),e.exports=c,e.exports.default=c},function(e,t,n){"use strict";function r(e){return"[object Array]"===l.call(e)}function i(e){return null!==e&&"object"==typeof e}function a(e){return"[object Function]"===l.call(e)}function o(e,t){if(null!==e&&void 0!==e)if("object"!=typeof e&&(e=[e]),r(e))for(var n=0,i=e.length;n=200&&e<300}};s.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(e){s.headers[e]={}}),i.forEach(["post","put","patch"],function(e){s.headers[e]=i.merge(o)}),e.exports=s},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t){r.forEach(e,function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])})}},function(e,t,n){"use strict";var r=n(2),i=n(9),a=n(12),o=n(13),s=n(14),c=n(10),l="undefined"!=typeof window&&window.btoa&&window.btoa.bind(window)||n(15);e.exports=function(e){return new Promise(function(t,u){var f=e.data,d=e.headers;r.isFormData(f)&&delete d["Content-Type"];var p=new XMLHttpRequest,h="onreadystatechange",v=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in p||s(e.url)||(p=new window.XDomainRequest,h="onload",v=!0,p.onprogress=function(){},p.ontimeout=function(){}),e.auth){var m=e.auth.username||"",g=e.auth.password||"";d.Authorization="Basic "+l(m+":"+g)}if(p.open(e.method.toUpperCase(),a(e.url,e.params,e.paramsSerializer),!0),p.timeout=e.timeout,p[h]=function(){if(p&&(4===p.readyState||v)&&(0!==p.status||p.responseURL&&0===p.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in p?o(p.getAllResponseHeaders()):null,r={data:e.responseType&&"text"!==e.responseType?p.response:p.responseText,status:1223===p.status?204:p.status,statusText:1223===p.status?"No Content":p.statusText,headers:n,config:e,request:p};i(t,u,r),p=null}},p.onerror=function(){u(c("Network Error",e,null,p)),p=null},p.ontimeout=function(){u(c("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",p)),p=null},r.isStandardBrowserEnv()){var y=n(16),b=(e.withCredentials||s(e.url))&&e.xsrfCookieName?y.read(e.xsrfCookieName):void 0;b&&(d[e.xsrfHeaderName]=b)}if("setRequestHeader"in p&&r.forEach(d,function(e,t){void 0===f&&"content-type"===t.toLowerCase()?delete d[t]:p.setRequestHeader(t,e)}),e.withCredentials&&(p.withCredentials=!0),e.responseType)try{p.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&p.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&p.upload&&p.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){p&&(p.abort(),u(e),p=null)}),void 0===f&&(f=null),p.send(f)})}},function(e,t,n){"use strict";var r=n(10);e.exports=function(e,t,n){var i=n.config.validateStatus;n.status&&i&&!i(n.status)?t(r("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}},function(e,t,n){"use strict";var r=n(11);e.exports=function(e,t,n,i,a){var o=new Error(e);return r(o,t,n,i,a)}},function(e,t){"use strict";e.exports=function(e,t,n,r,i){return e.config=t,n&&(e.code=n),e.request=r,e.response=i,e}},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var i=n(2);e.exports=function(e,t,n){if(!t)return e;var a;if(n)a=n(t);else if(i.isURLSearchParams(t))a=t.toString();else{var o=[];i.forEach(t,function(e,t){null!==e&&void 0!==e&&(i.isArray(e)&&(t+="[]"),i.isArray(e)||(e=[e]),i.forEach(e,function(e){i.isDate(e)?e=e.toISOString():i.isObject(e)&&(e=JSON.stringify(e)),o.push(r(t)+"="+r(e))}))}),a=o.join("&")}return a&&(e+=(-1===e.indexOf("?")?"?":"&")+a),e}},function(e,t,n){"use strict";var r=n(2),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,a,o={};return e?(r.forEach(e.split("\n"),function(e){if(a=e.indexOf(":"),t=r.trim(e.substr(0,a)).toLowerCase(),n=r.trim(e.substr(a+1)),t){if(o[t]&&i.indexOf(t)>=0)return;o[t]="set-cookie"===t?(o[t]?o[t]:[]).concat([n]):o[t]?o[t]+", "+n:n}}),o):o}},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){function e(e){var t=e;return n&&(i.setAttribute("href",t),t=i.href),i.setAttribute("href",t),{href:i.href,protocol:i.protocol?i.protocol.replace(/:$/,""):"",host:i.host,search:i.search?i.search.replace(/^\?/,""):"",hash:i.hash?i.hash.replace(/^#/,""):"",hostname:i.hostname,port:i.port,pathname:"/"===i.pathname.charAt(0)?i.pathname:"/"+i.pathname}}var t,n=/(msie|trident)/i.test(navigator.userAgent),i=document.createElement("a");return t=e(window.location.href),function(n){var i=r.isString(n)?e(n):n;return i.protocol===t.protocol&&i.host===t.host}}():function(){return!0}},function(e,t){"use strict";function n(){this.message="String contains an invalid character"}var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";n.prototype=new Error,n.prototype.code=5,n.prototype.name="InvalidCharacterError",e.exports=function(e){for(var t,i,a=String(e),o="",s=0,c=r;a.charAt(0|s)||(c="=",s%1);o+=c.charAt(63&t>>8-s%1*8)){if((i=a.charCodeAt(s+=.75))>255)throw new n;t=t<<8|i}return o}},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?{write:function(e,t,n,i,a,o){var s=[];s.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),r.isString(i)&&s.push("path="+i),r.isString(a)&&s.push("domain="+a),!0===o&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,t,n){"use strict";function r(){this.handlers=[]}var i=n(2);r.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},r.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},r.prototype.forEach=function(e){i.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=r},function(e,t,n){"use strict";function r(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var i=n(2),a=n(19),o=n(20),s=n(6),c=n(21),l=n(22);e.exports=function(e){r(e),e.baseURL&&!c(e.url)&&(e.url=l(e.baseURL,e.url)),e.headers=e.headers||{},e.data=a(e.data,e.headers,e.transformRequest),e.headers=i.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),i.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]});return(e.adapter||s.adapter)(e).then(function(t){return r(e),t.data=a(t.data,t.headers,e.transformResponse),t},function(t){return o(t)||(r(e),t&&t.response&&(t.response.data=a(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})}},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t,n){return r.forEach(n,function(n){e=n(e,t)}),e}},function(e,t){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},function(e,t,n){"use strict";function r(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new i(e),t(n.reason))})}var i=n(23);r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var e;return{token:new r(function(t){e=t}),cancel:e}},e.exports=r},function(e,t){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}}])}),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Vue=t()}(this,function(){"use strict";function e(e){return void 0===e||null===e}function t(e){return void 0!==e&&null!==e}function n(e){return!0===e}function r(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function i(e){return null!==e&&"object"==typeof e}function a(e){return"[object Object]"===mn.call(e)}function o(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function s(e){return null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function c(e){var t=parseFloat(e);return isNaN(t)?e:t}function l(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(n,1)}}function f(e,t){return bn.call(e,t)}function d(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}function p(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n}function h(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function v(e,t){for(var n in t)e[n]=t[n];return e}function m(e){for(var t={},n=0;n0&&(X((c=i(c,(o||"")+"_"+s))[0])&&X(u)&&(f[l]=C(u.text+c[0].text),c.shift()),f.push.apply(f,c)):r(c)?X(u)?f[l]=C(u.text+c):""!==c&&f.push(C(c)):X(c)&&X(u)?f[l]=C(u.text+c.text):(n(a._isVList)&&t(c.tag)&&e(c.key)&&t(o)&&(c.key="__vlist"+o+"_"+s+"__"),f.push(c)));return f}(l):void 0:c===Ir&&(s=function(e){for(var t=0;t=0||n.indexOf(e[i])<0)&&r.push(e[i]);return r}return e}(n[a],r[a],i[a]));return t}(e);r&&v(e.extendOptions,r),(t=e.options=L(n,e.extendOptions)).name&&(t.components[t.name]=e)}}return t}function Ee(e){this._init(e)}function Pe(e){return e&&(e.Ctor.options.name||e.tag)}function je(e,t){return Array.isArray(e)?e.indexOf(t)>-1:"string"==typeof e?e.split(",").indexOf(t)>-1:(n=e,!("[object RegExp]"!==mn.call(n))&&e.test(t));var n}function Ie(e,t){var n=e.cache,r=e.keys,i=e._vnode;for(var a in n){var o=n[a];if(o){var s=Pe(o.componentOptions);s&&!t(s)&&Le(n,a,r,i)}}}function Le(e,t,n,r){var i=e[t];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),e[t]=null,u(n,t)}function Fe(e,n){return{staticClass:Ne(e.staticClass,n.staticClass),class:t(e.class)?[e.class,n.class]:n.class}}function Ne(e,t){return e?t?e+" "+t:e:t||""}function Me(e){return Array.isArray(e)?function(e){for(var n,r="",i=0,a=e.length;i=0&&" "===(m=e.charAt(v));v--);m&&bi.test(m)||(u=!0)}}else void 0===a?(h=i+1,a=e.slice(0,i).trim()):t();if(void 0===a?a=e.slice(0,i).trim():0!==h&&t(),o)for(i=0;i-1?{exp:e.slice(0,Ur),key:'"'+e.slice(Ur+1)+'"'}:{exp:e,key:null};for(Vr=e,Ur=zr=Kr=0;!ct();)lt(Hr=st())?ut(Hr):91===Hr&&function(e){var t=1;for(zr=Ur;!ct();)if(e=st(),lt(e))ut(e);else if(91===e&&t++,93===e&&t--,0===t){Kr=Ur;break}}(Hr);return{exp:e.slice(0,zr),key:e.slice(zr+1,Kr)}}(e);return null===n.key?e+"="+t:"$set("+n.exp+", "+n.key+", "+t+")"}function st(){return Vr.charCodeAt(++Ur)}function ct(){return Ur>=Wr}function lt(e){return 34===e||39===e}function ut(e){for(var t=e;!ct()&&(e=st())!==t;);}function ft(e,t,n,r,i){t=(a=t)._withTask||(a._withTask=function(){hr=!0;var e=a.apply(null,arguments);return hr=!1,e}),n&&(t=function(e,t,n){var r=qr;return function i(){null!==e.apply(null,arguments)&&dt(t,i,n,r)}}(t,e,r)),qr.addEventListener(e,t,Hn?{capture:r,passive:i}:r);var a}function dt(e,t,n,r){(r||qr).removeEventListener(e,t._withTask||t,n)}function pt(n,r){if(!e(n.data.on)||!e(r.data.on)){var i=r.data.on||{},a=n.data.on||{};qr=r.elm,function(e){if(t(e[_i])){var n=Nn?"change":"input";e[n]=[].concat(e[_i],e[n]||[]),delete e[_i]}t(e[wi])&&(e.change=[].concat(e[wi],e.change||[]),delete e[wi])}(i),q(i,a,ft,dt,r.context),qr=void 0}}function ht(n,r){if(!e(n.data.domProps)||!e(r.data.domProps)){var i,a,o=r.elm,s=n.data.domProps||{},l=r.data.domProps||{};t(l.__ob__)&&(l=r.data.domProps=v({},l));for(i in s)e(l[i])&&(o[i]="");for(i in l){if(a=l[i],"textContent"===i||"innerHTML"===i){if(r.children&&(r.children.length=0),a===s[i])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===i){o._value=a;var u=e(a)?"":String(a);d=u,!(f=o).composing&&("OPTION"===f.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(f,d)||function(e,n){var r=e.value,i=e._vModifiers;if(t(i)){if(i.lazy)return!1;if(i.number)return c(r)!==c(n);if(i.trim)return r.trim()!==n.trim()}return r!==n}(f,d))&&(o.value=u)}else o[i]=a}}var f,d}function vt(e){var t=mt(e.style);return e.staticStyle?v(e.staticStyle,t):t}function mt(e){return Array.isArray(e)?m(e):"string"==typeof e?Ci(e):e}function gt(n,r){var i=r.data,a=n.data;if(!(e(i.staticStyle)&&e(i.style)&&e(a.staticStyle)&&e(a.style))){var o,s,c=r.elm,l=a.staticStyle,u=a.normalizedStyle||a.style||{},f=l||u,d=mt(r.data.style)||{};r.data.normalizedStyle=t(d.__ob__)?v({},d):d;var p=function(e,t){for(var n,r={},i=e;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(n=vt(i.data))&&v(r,n);(n=vt(e.data))&&v(r,n);for(var a=e;a=a.parent;)a.data&&(n=vt(a.data))&&v(r,n);return r}(r);for(s in f)e(p[s])&&Ai(c,s,"");for(s in p)(o=p[s])!==f[s]&&Ai(c,s,null==o?"":o)}}function yt(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(/\s+/).forEach(function(t){return e.classList.add(t)}):e.classList.add(t);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function bt(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(/\s+/).forEach(function(t){return e.classList.remove(t)}):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function _t(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&v(t,Ei(e.name||"v")),v(t,e),t}return"string"==typeof e?Ei(e):void 0}}function wt(e){Ri(function(){Ri(e)})}function Tt(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),yt(e,t))}function kt(e,t){e._transitionClasses&&u(e._transitionClasses,t),bt(e,t)}function Ct(e,t,n){var r=St(e,t),i=r.type,a=r.timeout,o=r.propCount;if(!i)return n();var s=i===ji?Fi:Mi,c=0,l=function(){e.removeEventListener(s,u),n()},u=function(t){t.target===e&&++c>=o&&l()};setTimeout(function(){c0&&(n=ji,u=o,f=a.length):t===Ii?l>0&&(n=Ii,u=l,f=c.length):f=(n=(u=Math.max(o,l))>0?o>l?ji:Ii:null)?n===ji?a.length:c.length:0,{type:n,timeout:u,propCount:f,hasTransform:n===ji&&Bi.test(r[Li+"Property"])}}function xt(e,t){for(;e.length1}function Pt(e,t){!0!==t.data.show&&$t(t)}function jt(e,t,n){It(e,t,n),(Nn||Rn)&&setTimeout(function(){It(e,t,n)},0)}function It(e,t,n){var r=t.value,i=e.multiple;if(!i||Array.isArray(r)){for(var a,o,s=0,c=e.options.length;s-1,o.selected!==a&&(o.selected=a);else if(y(Ft(o),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));i||(e.selectedIndex=-1)}}function Lt(e,t){return t.every(function(t){return!y(t,e)})}function Ft(e){return"_value"in e?e._value:e.value}function Nt(e){e.target.composing=!0}function Mt(e){e.target.composing&&(e.target.composing=!1,Rt(e.target,"input"))}function Rt(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Bt(e){return!e.componentInstance||e.data&&e.data.transition?e:Bt(e.componentInstance._vnode)}function Wt(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?Wt(Q(t.children)):e}function Vt(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var i=n._parentListeners;for(var a in i)t[wn(a)]=i[a];return t}function Ht(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}function Ut(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function zt(e){e.data.newPos=e.elm.getBoundingClientRect()}function Kt(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,i=t.top-n.top;if(r||i){e.data.moved=!0;var a=e.elm.style;a.transform=a.WebkitTransform="translate("+r+"px,"+i+"px)",a.transitionDuration="0s"}}function qt(e,t){var n=t?Oa:$a;return e.replace(n,function(e){return Aa[e]})}function Jt(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:function(e){for(var t={},n=0,r=e.length;n':'
',ka.innerHTML.indexOf(" ")>0}var vn=Object.freeze({}),mn=Object.prototype.toString,gn=l("slot,component",!0),yn=l("key,ref,slot,slot-scope,is"),bn=Object.prototype.hasOwnProperty,_n=/-(\w)/g,wn=d(function(e){return e.replace(_n,function(e,t){return t?t.toUpperCase():""})}),Tn=d(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),kn=/\B([A-Z])/g,Cn=d(function(e){return e.replace(kn,"-$1").toLowerCase()}),Sn=function(e,t,n){return!1},xn=function(e){return e},An="data-server-rendered",$n=["component","directive","filter"],On=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured"],Dn={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:Sn,isReservedAttr:Sn,isUnknownElement:Sn,getTagNamespace:g,parsePlatformTagName:xn,mustUseProp:Sn,_lifecycleHooks:On},En=/[^\w.$]/,Pn="__proto__"in{},jn="undefined"!=typeof window,In="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,Ln=In&&WXEnvironment.platform.toLowerCase(),Fn=jn&&window.navigator.userAgent.toLowerCase(),Nn=Fn&&/msie|trident/.test(Fn),Mn=Fn&&Fn.indexOf("msie 9.0")>0,Rn=Fn&&Fn.indexOf("edge/")>0,Bn=Fn&&Fn.indexOf("android")>0||"android"===Ln,Wn=Fn&&/iphone|ipad|ipod|ios/.test(Fn)||"ios"===Ln,Vn=(Fn&&/chrome\/\d+/.test(Fn),{}.watch),Hn=!1;if(jn)try{var Un={};Object.defineProperty(Un,"passive",{get:function(){Hn=!0}}),window.addEventListener("test-passive",null,Un)}catch(e){}var zn,Kn,qn=function(){return void 0===zn&&(zn=!jn&&"undefined"!=typeof global&&"server"===global.process.env.VUE_ENV),zn},Jn=jn&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,Gn="undefined"!=typeof Symbol&&k(Symbol)&&"undefined"!=typeof Reflect&&k(Reflect.ownKeys);Kn="undefined"!=typeof Set&&k(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var Xn=g,Zn=0,Yn=function(){this.id=Zn++,this.subs=[]};Yn.prototype.addSub=function(e){this.subs.push(e)},Yn.prototype.removeSub=function(e){u(this.subs,e)},Yn.prototype.depend=function(){Yn.target&&Yn.target.addDep(this)},Yn.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;tAr&&Tr[n].id>e.id;)n--;Tr.splice(n+1,0,e)}else Tr.push(e);Sr||(Sr=!0,U(le))}}(this)},Or.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||i(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){B(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},Or.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Or.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},Or.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||u(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var Dr={enumerable:!0,configurable:!0,get:g,set:g},Er={lazy:!0};Se(xe.prototype);var Pr={init:function(e,n,r,i){if(!e.componentInstance||e.componentInstance._isDestroyed)(e.componentInstance=function(e,n,a,o){var s={_isComponent:!0,parent:wr,_parentVnode:e,_parentElm:r||null,_refElm:i||null},c=e.data.inlineTemplate;return t(c)&&(s.render=c.render,s.staticRenderFns=c.staticRenderFns),new e.componentOptions.Ctor(s)}(e)).$mount(n?e.elm:void 0,n);else if(e.data.keepAlive){var a=e;Pr.prepatch(a,a)}},prepatch:function(e,t){var n=t.componentOptions;!function(e,t,n,r,i){var a=!!(i||e.$options._renderChildren||r.data.scopedSlots||e.$scopedSlots!==vn);if(e.$options._parentVnode=r,e.$vnode=r,e._vnode&&(e._vnode.parent=r),e.$options._renderChildren=i,e.$attrs=r.data&&r.data.attrs||vn,e.$listeners=n||vn,t&&e.$options.props){or.shouldConvert=!1;for(var o=e._props,s=e.$options._propKeys||[],c=0;c1?h(n):n;for(var r=h(arguments,1),i=0,a=n.length;iparseInt(this.max)&&Le(o,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={};t.get=function(){return Dn},Object.defineProperty(e,"config",t),e.util={warn:Xn,extend:v,mergeOptions:L,defineReactive:$},e.set=O,e.delete=D,e.nextTick=U,e.options=Object.create(null),$n.forEach(function(t){e.options[t+"s"]=Object.create(null)}),e.options._base=e,v(e.options.components,Br),e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=h(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this},e.mixin=function(e){return this.options=L(this.options,e),this},function(e){e.cid=0;var t=1;e.extend=function(e){e=e||{};var n=this,r=n.cid,i=e._Ctor||(e._Ctor={});if(i[r])return i[r];var a=e.name||n.options.name,o=function(e){this._init(e)};return(o.prototype=Object.create(n.prototype)).constructor=o,o.cid=t++,o.options=L(n.options,e),o.super=n,o.options.props&&function(e){var t=e.options.props;for(var n in t)ue(e.prototype,"_props",n)}(o),o.options.computed&&function(e){var t=e.options.computed;for(var n in t)fe(e.prototype,n,t[n])}(o),o.extend=n.extend,o.mixin=n.mixin,o.use=n.use,$n.forEach(function(e){o[e]=n[e]}),a&&(o.options.components[a]=o),o.superOptions=n.options,o.extendOptions=e,o.sealedOptions=v({},o.options),i[r]=o,o}}(e),n=e,$n.forEach(function(e){n[e]=function(t,n){return n?("component"===e&&a(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"==typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}});var n}(Ee),Object.defineProperty(Ee.prototype,"$isServer",{get:qn}),Object.defineProperty(Ee.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Ee.version="2.5.13";var Wr,Vr,Hr,Ur,zr,Kr,qr,Jr,Gr=l("style,class"),Xr=l("input,textarea,option,select,progress"),Zr=function(e,t,n){return"value"===n&&Xr(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},Yr=l("contenteditable,draggable,spellcheck"),Qr=l("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),ei="http://www.w3.org/1999/xlink",ti=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},ni=function(e){return ti(e)?e.slice(6,e.length):""},ri=function(e){return null==e||!1===e},ii={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},ai=l("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),oi=l("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),si=function(e){return ai(e)||oi(e)},ci=Object.create(null),li=l("text,number,password,search,email,tel,url"),ui=Object.freeze({createElement:function(e,t){var n=document.createElement(e);return"select"!==e?n:(t.data&&t.data.attrs&&void 0!==t.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)},createElementNS:function(e,t){return document.createElementNS(ii[e],t)},createTextNode:function(e){return document.createTextNode(e)},createComment:function(e){return document.createComment(e)},insertBefore:function(e,t,n){e.insertBefore(t,n)},removeChild:function(e,t){e.removeChild(t)},appendChild:function(e,t){e.appendChild(t)},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.tagName},setTextContent:function(e,t){e.textContent=t},setAttribute:function(e,t,n){e.setAttribute(t,n)}}),fi={create:function(e,t){We(t)},update:function(e,t){e.data.ref!==t.data.ref&&(We(e,!0),We(t))},destroy:function(e){We(e,!0)}},di=new er("",{},[]),pi=["create","activate","update","remove","destroy"],hi={create:Ue,update:Ue,destroy:function(e){Ue(e,di)}},vi=Object.create(null),mi=[fi,hi],gi={create:qe,update:qe},yi={create:Ge,update:Ge},bi=/[\w).+\-_$\]]/,_i="__r",wi="__c",Ti={create:pt,update:pt},ki={create:ht,update:ht},Ci=d(function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach(function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}),Si=/^--/,xi=/\s*!important$/,Ai=function(e,t,n){if(Si.test(t))e.style.setProperty(t,n);else if(xi.test(n))e.style.setProperty(t,n.replace(xi,""),"important");else{var r=Oi(t);if(Array.isArray(n))for(var i=0,a=n.length;ip?h(n,e(i[b+1])?null:i[b+1].elm,i,d,b,a):d>b&&m(0,r,f,p)}(c,d,p,a,s):t(p)?(t(r.text)&&S.setTextContent(c,""),h(c,null,p,0,p.length-1,a)):t(d)?m(0,d,0,d.length-1):t(r.text)&&S.setTextContent(c,""):r.text!==i.text&&S.setTextContent(c,i.text),t(u)&&t(l=u.hook)&&t(l=l.postpatch)&&l(r,i)}}}function b(e,r,i){if(n(i)&&t(e.parent))e.parent.data.pendingInsert=r;else for(var a=0;a-1?ci[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:ci[e]=/HTMLUnknownElement/.test(t.toString())},v(Ee.options.directives,Hi),v(Ee.options.components,qi),Ee.prototype.__patch__=jn?Wi:g,Ee.prototype.$mount=function(e,t){return function(e,t,n){e.$el=t,e.$options.render||(e.$options.render=nr),ce(e,"beforeMount");return new Or(e,function(){e._update(e._render(),n)},g,null,!0),n=!1,null==e.$vnode&&(e._isMounted=!0,ce(e,"mounted")),e}(this,e=e&&jn?Be(e):void 0,t)},Ee.nextTick(function(){Dn.devtools&&Jn&&Jn.emit("init",Ee)},0);var Ji,Gi=/\{\{((?:.|\n)+?)\}\}/g,Xi=/[-.*+?^${}()|[\]\/\\]/g,Zi=d(function(e){var t=e[0].replace(Xi,"\\$&"),n=e[1].replace(Xi,"\\$&");return new RegExp(t+"((?:.|\\n)+?)"+n,"g")}),Yi={staticKeys:["staticClass"],transformNode:function(e,t){t.warn;var n=it(e,"class");n&&(e.staticClass=JSON.stringify(n));var r=rt(e,"class",!1);r&&(e.classBinding=r)},genData:function(e){var t="";return e.staticClass&&(t+="staticClass:"+e.staticClass+","),e.classBinding&&(t+="class:"+e.classBinding+","),t}},Qi={staticKeys:["staticStyle"],transformNode:function(e,t){t.warn;var n=it(e,"style");n&&(e.staticStyle=JSON.stringify(Ci(n)));var r=rt(e,"style",!1);r&&(e.styleBinding=r)},genData:function(e){var t="";return e.staticStyle&&(t+="staticStyle:"+e.staticStyle+","),e.styleBinding&&(t+="style:("+e.styleBinding+"),"),t}},ea=l("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),ta=l("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),na=l("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),ra=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ia="[a-zA-Z_][\\w\\-\\.]*",aa="((?:"+ia+"\\:)?"+ia+")",oa=new RegExp("^<"+aa),sa=/^\s*(\/?)>/,ca=new RegExp("^<\\/"+aa+"[^>]*>"),la=/^]+>/i,ua=/^/g,"$1").replace(//g,"$1")),Ea(d,n)&&(n=n.slice(1)),t.chars&&t.chars(n),""});u+=e.length-h.length,e=h,r(d,u-f,u)}else{var v=e.indexOf("<");if(0===v){if(ua.test(e)){var m=e.indexOf("--\x3e");if(m>=0){t.shouldKeepComment&&t.comment(e.substring(4,m)),n(m+3);continue}}if(fa.test(e)){var g=e.indexOf("]>");if(g>=0){n(g+2);continue}}var y=e.match(la);if(y){n(y[0].length);continue}var b=e.match(ca);if(b){var _=u;n(b[0].length),r(b[1],_,u);continue}var w=function(){var t=e.match(oa);if(t){var r={tagName:t[1],attrs:[],start:u};n(t[0].length);for(var i,a;!(i=e.match(sa))&&(a=e.match(ra));)n(a[0].length),r.attrs.push(a);if(i)return r.unarySlash=i[1],n(i[0].length),r.end=u,r}}();if(w){!function(e){var n=e.tagName,i=e.unarySlash;s&&("p"===a&&na(n)&&r(a),l(n)&&a===n&&r(n));for(var u=c(n)||!!i,f=e.attrs.length,d=new Array(f),p=0;p=0){for(k=e.slice(v);!(ca.test(k)||oa.test(k)||ua.test(k)||fa.test(k)||(C=k.indexOf("<",1))<0);)v+=C,k=e.slice(v);T=e.substring(0,v),n(v)}v<0&&(T=e,e=""),t.chars&&T&&t.chars(T)}if(e===i){t.chars&&t.chars(e);break}}r()}(e,{warn:pa,expectHTML:t.expectHTML,isUnaryTag:t.isUnaryTag,canBeLeftOpenTag:t.canBeLeftOpenTag,shouldDecodeNewlines:t.shouldDecodeNewlines,shouldDecodeNewlinesForHref:t.shouldDecodeNewlinesForHref,shouldKeepComment:t.comments,start:function(e,o,l){var u=i&&i.ns||_a(e);Nn&&"svg"===u&&(o=function(e){for(var t=[],n=0;nc&&(s.push(a=e.slice(c,i)),o.push(JSON.stringify(a)));var l=Xe(r[1].trim());o.push("_s("+l+")"),s.push({"@binding":l}),c=i+r[0].length}return c1?1:0:1:e?Math.min(e,2):0;var n}(t,n.length)]?n[t].trim():e}function o(e){return JSON.parse(JSON.stringify(e))}function s(e){for(var n=arguments,r=Object(e),i=1;i=97&&t<=122||t>=65&&t<=90?"ident":t>=49&&t<=57?"number":"else"}function p(e){var t=e.trim();return("0"!==e.charAt(0)||!isNaN(e))&&(n=t,F.test(n)?function(e){var t=e.charCodeAt(0);return t!==e.charCodeAt(e.length-1)||34!==t&&39!==t?e:e.slice(1,-1)}(t):"*"+t);var n}var h,v=Object.prototype.toString,m="[object Object]",g=Object.prototype.hasOwnProperty,y="undefined"!=typeof Intl&&void 0!==Intl.DateTimeFormat,b="undefined"!=typeof Intl&&void 0!==Intl.NumberFormat,_={beforeCreate:function(){var e=this.$options;if(e.i18n=e.i18n||(e.__i18n?{}:null),e.i18n){if(e.i18n instanceof M){if(e.__i18n)try{var t={};e.__i18n.forEach(function(e){t=s(t,JSON.parse(e))}),Object.keys(t).forEach(function(n){e.i18n.mergeLocaleMessage(n,t[n])})}catch(e){}this._i18n=e.i18n,this._i18nWatcher=this._i18n.watchI18nData(),this._i18n.subscribeDataChanging(this),this._subscribing=!0}else if(n(e.i18n)){if(this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof M&&(e.i18n.root=this.$root.$i18n,e.i18n.fallbackLocale=this.$root.$i18n.fallbackLocale,e.i18n.silentTranslationWarn=this.$root.$i18n.silentTranslationWarn),e.__i18n)try{var r={};e.__i18n.forEach(function(e){r=s(r,JSON.parse(e))}),e.i18n.messages=r}catch(e){}this._i18n=new M(e.i18n),this._i18nWatcher=this._i18n.watchI18nData(),this._i18n.subscribeDataChanging(this),this._subscribing=!0,(void 0===e.i18n.sync||e.i18n.sync)&&(this._localeWatcher=this.$i18n.watchLocale())}}else this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof M?(this._i18n=this.$root.$i18n,this._i18n.subscribeDataChanging(this),this._subscribing=!0):e.parent&&e.parent.$i18n&&e.parent.$i18n instanceof M&&(this._i18n=e.parent.$i18n,this._i18n.subscribeDataChanging(this),this._subscribing=!0)},beforeDestroy:function(){this._i18n&&(this._subscribing&&(this._i18n.unsubscribeDataChanging(this),delete this._subscribing),this._i18nWatcher&&(this._i18nWatcher(),delete this._i18nWatcher),this._localeWatcher&&(this._localeWatcher(),delete this._localeWatcher),this._i18n=null)}},w={name:"i18n",functional:!0,props:{tag:{type:String,default:"span"},path:{type:String,required:!0},locale:{type:String},places:{type:[Array,Object]}},render:function(t,n){var r=n.props,i=n.data,a=n.children,o=n.parent.$i18n;if(a=(a||[]).filter(function(e){return e.tag||(e.text=e.text.trim())}),!o)return a;var s=r.path,c=r.locale,l={},u=r.places||{},f=Array.isArray(u)?u.length>0:Object.keys(u).length>0,d=a.every(function(e){if(e.data&&e.data.attrs){var t=e.data.attrs.place;return void 0!==t&&""!==t}});return f&&a.length>0&&!d&&e("If places prop is set, all child elements must have place prop set."),Array.isArray(u)?u.forEach(function(e,t){l[t]=e}):Object.keys(u).forEach(function(e){l[e]=u[e]}),a.forEach(function(e,t){var n=d?""+e.data.attrs.place:""+t;l[n]=e}),t(r.tag,i,o.i(s,c,l))}},T=function(){this._caches=Object.create(null)};T.prototype.interpolate=function(e,n){var r=this._caches[e];return r||(r=function(e){for(var t=[],n=0,r="";n0)f--,u=D,h[S]();else{if(f=0,!1===(n=p(n)))return!1;h[x]()}};null!==u;)if(l++,"\\"!==(t=e[l])||!function(){var t=e[l+1];if(u===E&&"'"===t||u===P&&'"'===t)return l++,r="\\"+t,h[S](),!0}()){if(i=d(t),(a=(s=L[u])[i]||s.else||I)===I)return;if(u=a[0],(o=h[a[1]])&&(r=a[2],r=void 0===r?t:r,!1===o()))return;if(u===j)return c}}(e))&&(this._cache[e]=t),t||[]},N.prototype.getPathValue=function(e,n){if(!t(e))return null;var r=this.parsePath(n);if(i=r,Array.isArray(i)&&0===i.length)return null;for(var i,a=r.length,o=e,s=0;s-1)e.splice(n,1)}}(this._dataListeners,e)},M.prototype.watchI18nData=function(){var e=this;return this._vm.$watch("$data",function(){for(var t=e._dataListeners.length;t--;)h.nextTick(function(){e._dataListeners[t]&&e._dataListeners[t].$forceUpdate()})},{deep:!0})},M.prototype.watchLocale=function(){if(!this._sync||!this._root)return null;var e=this._vm;return this._root.vm.$watch("locale",function(t){e.$set(e,"locale",t),e.$forceUpdate()},{immediate:!0})},R.vm.get=function(){return this._vm},R.messages.get=function(){return o(this._getMessages())},R.dateTimeFormats.get=function(){return o(this._getDateTimeFormats())},R.numberFormats.get=function(){return o(this._getNumberFormats())},R.locale.get=function(){return this._vm.locale},R.locale.set=function(e){this._vm.$set(this._vm,"locale",e)},R.fallbackLocale.get=function(){return this._vm.fallbackLocale},R.fallbackLocale.set=function(e){this._vm.$set(this._vm,"fallbackLocale",e)},R.missing.get=function(){return this._missing},R.missing.set=function(e){this._missing=e},R.formatter.get=function(){return this._formatter},R.formatter.set=function(e){this._formatter=e},R.silentTranslationWarn.get=function(){return this._silentTranslationWarn},R.silentTranslationWarn.set=function(e){this._silentTranslationWarn=e},M.prototype._getMessages=function(){return this._vm.messages},M.prototype._getDateTimeFormats=function(){return this._vm.dateTimeFormats},M.prototype._getNumberFormats=function(){return this._vm.numberFormats},M.prototype._warnDefault=function(e,t,n,i){return r(n)?(this.missing&&this.missing.apply(null,[e,t,i]),t):n},M.prototype._isFallbackRoot=function(e){return!e&&!r(this._root)&&this._fallbackRoot},M.prototype._interpolate=function(e,t,i,a,o,s){if(!t)return null;var c=this._path.getPathValue(t,i);if(Array.isArray(c))return c;var l;if(r(c)){if(!n(t))return null;if("string"!=typeof(l=t[i]))return null}else{if("string"!=typeof c)return null;l=c}return l.indexOf("@:")>=0&&(l=this._link(e,t,l,a,o,s)),s?this._render(l,o,s):l},M.prototype._link=function(e,t,n,r,i,a){var o=n,s=o.match(/(@:[\w\-_|.]+)/g);for(var c in s)if(s.hasOwnProperty(c)){var l=s[c],u=l.substr(2),f=this._interpolate(e,t,u,r,"raw"===i?"string":i,"raw"===i?void 0:a);if(this._isFallbackRoot(f)){if(!this._root)throw Error("unexpected error");var d=this._root;f=d._translate(d._getMessages(),d.locale,d.fallbackLocale,u,r,i,a)}o=(f=this._warnDefault(e,u,f,r))?o.replace(l,f):o}return o},M.prototype._render=function(e,t,n){var r=this._formatter.interpolate(e,n);return"string"===t?r.join(""):r},M.prototype._translate=function(e,t,n,i,a,o,s){var c=this._interpolate(t,e[t],i,a,o,s);return r(c)?r(c=this._interpolate(n,e[n],i,a,o,s))?null:c:c},M.prototype._t=function(e,t,n,r){for(var a=[],o=arguments.length-4;o-- >0;)a[o]=arguments[o+4];if(!e)return"";var s=i.apply(void 0,a),c=s.locale||t,l=this._translate(n,c,this.fallbackLocale,e,r,"string",s.params);if(this._isFallbackRoot(l)){if(!this._root)throw Error("unexpected error");return(u=this._root).t.apply(u,[e].concat(a))}return this._warnDefault(c,e,l,r);var u},M.prototype.t=function(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];return(r=this)._t.apply(r,[e,this.locale,this._getMessages(),null].concat(t));var r},M.prototype._i=function(e,t,n,r,i){var a=this._translate(n,t,this.fallbackLocale,e,r,"raw",i);if(this._isFallbackRoot(a)){if(!this._root)throw Error("unexpected error");return this._root.i(e,t,i)}return this._warnDefault(t,e,a,r)},M.prototype.i=function(e,t,n){return e?("string"!=typeof t&&(t=this.locale),this._i(e,t,this._getMessages(),null,n)):""},M.prototype._tc=function(e,t,n,r,i){for(var o=[],s=arguments.length-5;s-- >0;)o[s]=arguments[s+5];return e?(void 0===i&&(i=1),a((c=this)._t.apply(c,[e,t,n,r].concat(o)),i)):"";var c},M.prototype.tc=function(e,t){for(var n=[],r=arguments.length-2;r-- >0;)n[r]=arguments[r+2];return(i=this)._tc.apply(i,[e,this.locale,this._getMessages(),null,t].concat(n));var i},M.prototype._te=function(e,t,n){for(var r=[],a=arguments.length-3;a-- >0;)r[a]=arguments[a+3];var o=i.apply(void 0,r).locale||t;return this._exist(n[o],e)},M.prototype.te=function(e,t){return this._te(e,this.locale,this._getMessages(),t)},M.prototype.getLocaleMessage=function(e){return o(this._vm.messages[e]||{})},M.prototype.setLocaleMessage=function(e,t){this._vm.messages[e]=t},M.prototype.mergeLocaleMessage=function(e,t){this._vm.messages[e]=h.util.extend(this._vm.messages[e]||{},t)},M.prototype.getDateTimeFormat=function(e){return o(this._vm.dateTimeFormats[e]||{})},M.prototype.setDateTimeFormat=function(e,t){this._vm.dateTimeFormats[e]=t},M.prototype.mergeDateTimeFormat=function(e,t){this._vm.dateTimeFormats[e]=h.util.extend(this._vm.dateTimeFormats[e]||{},t)},M.prototype._localizeDateTime=function(e,t,n,i,a){var o=t,s=i[o];if((r(s)||r(s[a]))&&(o=n,s=i[o]),r(s)||r(s[a]))return null;var c=s[a],l=o+"__"+a,u=this._dateTimeFormatters[l];return u||(u=this._dateTimeFormatters[l]=new Intl.DateTimeFormat(o,c)),u.format(e)},M.prototype._d=function(e,t,n){if(!n)return new Intl.DateTimeFormat(t).format(e);var r=this._localizeDateTime(e,t,this.fallbackLocale,this._getDateTimeFormats(),n);if(this._isFallbackRoot(r)){if(!this._root)throw Error("unexpected error");return this._root.d(e,n,t)}return r||""},M.prototype.d=function(e){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];var i=this.locale,a=null;return 1===n.length?"string"==typeof n[0]?a=n[0]:t(n[0])&&(n[0].locale&&(i=n[0].locale),n[0].key&&(a=n[0].key)):2===n.length&&("string"==typeof n[0]&&(a=n[0]),"string"==typeof n[1]&&(i=n[1])),this._d(e,i,a)},M.prototype.getNumberFormat=function(e){return o(this._vm.numberFormats[e]||{})},M.prototype.setNumberFormat=function(e,t){this._vm.numberFormats[e]=t},M.prototype.mergeNumberFormat=function(e,t){this._vm.numberFormats[e]=h.util.extend(this._vm.numberFormats[e]||{},t)},M.prototype._localizeNumber=function(e,t,n,i,a){var o=t,s=i[o];if((r(s)||r(s[a]))&&(o=n,s=i[o]),r(s)||r(s[a]))return null;var c=s[a],l=o+"__"+a,u=this._numberFormatters[l];return u||(u=this._numberFormatters[l]=new Intl.NumberFormat(o,c)),u.format(e)},M.prototype._n=function(e,t,n){if(!n)return new Intl.NumberFormat(t).format(e);var r=this._localizeNumber(e,t,this.fallbackLocale,this._getNumberFormats(),n);if(this._isFallbackRoot(r)){if(!this._root)throw Error("unexpected error");return this._root.n(e,n,t)}return r||""},M.prototype.n=function(e){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];var i=this.locale,a=null;return 1===n.length?"string"==typeof n[0]?a=n[0]:t(n[0])&&(n[0].locale&&(i=n[0].locale),n[0].key&&(a=n[0].key)):2===n.length&&("string"==typeof n[0]&&(a=n[0]),"string"==typeof n[1]&&(i=n[1])),this._n(e,i,a)},Object.defineProperties(M.prototype,R),M.availabilities={dateTimeFormat:y,numberFormat:b},M.install=function e(t){(h=t).version&&Number(h.version.split(".")[0]),e.installed=!0,Object.defineProperty(h.prototype,"$i18n",{get:function(){return this._i18n}}),n=h,Object.defineProperty(n.prototype,"$t",{get:function(){var e=this;return function(t){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];var i=e.$i18n;return i._t.apply(i,[t,i.locale,i._getMessages(),e].concat(n))}}}),Object.defineProperty(n.prototype,"$tc",{get:function(){var e=this;return function(t,n){for(var r=[],i=arguments.length-2;i-- >0;)r[i]=arguments[i+2];var a=e.$i18n;return a._tc.apply(a,[t,a.locale,a._getMessages(),e,n].concat(r))}}}),Object.defineProperty(n.prototype,"$te",{get:function(){var e=this;return function(t,n){var r=e.$i18n;return r._te(t,r.locale,r._getMessages(),n)}}}),Object.defineProperty(n.prototype,"$d",{get:function(){var e=this;return function(t){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];return(i=e.$i18n).d.apply(i,[t].concat(n));var i}}}),Object.defineProperty(n.prototype,"$n",{get:function(){var e=this;return function(t){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];return(i=e.$i18n).n.apply(i,[t].concat(n));var i}}}),h.mixin(_),h.directive("t",{bind:c,update:l}),h.component(w.name,w);var n,r=h.config.optionMergeStrategies;r.i18n=r.methods},M.version="7.3.3","undefined"!=typeof window&&window.Vue&&window.Vue.use(M),M});var messages={en:{title:"Stairs",systemID:"System ID",firmwareVersion:"Firmware version: ",copyright:"Copyright © 2017 Mark van Renswoude",loading:"Please wait, loading configuration...",rebootPending:"The system will be rebooted, please refresh this page afterwards",applyButton:"Apply",applyButtonSaving:"Saving...",deviceTime:"Time: ",wifiStatus:{accesspoint:{title:"AP: ",disabled:"Disabled"},stationmode:{title:"WiFi: ",disabled:"Disabled",idle:"Idle",noSSID:"SSID not found",scanCompleted:"Scan completed",connectFailed:"Failed to connect",connectionLost:"Connection lost",disconnected:"Disconnected"}},status:{tabTitle:"Status",title:"Current status",allStepsTrue:"Set intensity for all steps",allStepsFalse:"Set intensity individually"},triggers:{tabTitle:"Triggers",timeTitle:"Time",timeInternet:"Please note that time triggers require an internet connection.",timeNoData:"No time triggers defined yet",timeEnabled:"Enable time triggers",timeTransitionTime:"Transition time in milliseconds",timeAdd:"Add",timeDelete:"Delete",timeTriggerEnabled:"Enabled",timeFixedTime:"Fixed time",timeSunrise:"Sunrise",timeSunset:"Sunset",timeTime:"Time in minutes",timeMonday:"Monday",timeTuesday:"Tuesday",timeWednesday:"Wednesday",timeThursday:"Thursday",timeFriday:"Friday",timeSaturday:"Saturday",timeSunday:"Sunday",motionTitle:"Motion",motionNoData:"No motion triggers defined yet",motionEnabled:"Enable motion triggers",motionEnabledDuringTimeTrigger:"Activate even if a time trigger is already active",motionEnabledDuringDay:"Activate during the day (between sunrise and sunset)",motionTransitionTime:"Transition time in milliseconds",motionDelay:"Keep on time in milliseconds",motionTriggerEnabled:"Enabled",motionAdd:"Add",motionDelete:"Delete",motionPin:"GPIO pin (active high)",motionDirection:"Sweep animation",motionDirectionNonDirectional:"None (all steps at the same time)",motionDirectionTopDown:"Top down",motionDirectionBottomUp:"Bottom up"},connection:{tabTitle:"Connection",title:"Connection parameters",accesspoint:"Enable access point",accesspointHint:"Allows for a direct connection from your device to this Stairs module for configuration purposes. The Stairs configuration is available on http://192.168.1.4/ when you are connected to it. Turn it off as soon as station mode is configured, as it is not secured in any way. You can always turn this option back on by pushing the access point button until the LED lights up.",stationmode:"Enable station mode",stationmodeHint:"Connect this Stairs module to your own WiFi router. Please enter the SSID, password and further configuration below.",ssid:"SSID",password:"Password",dhcp:"Use DHCP",dhcpHint:"Automatically assigns an IP address to this Stairs module. You probably want to keep this on unless you know what you're doing.",ipaddress:"IP address",subnetmask:"Subnet mask",gateway:"Gateway",hostname:"Hostname",hostnamePlaceholder:"Default: mac address"},system:{tabTitle:"System",ntpTitle:"Time synchronisation (NTP)",pinsTitle:"Hardware pinout",mapsTitle:"Google Maps API",firmwareTitle:"Firmware update",calibrateTitle:"Calibrate",calibrateButton:"Calibrate steps",calibrateHint:"Use the button below to configure the number of steps, and to adjust the brightness of each individual step",ntpServer:"NTP server",ntpInterval:"Refresh interval (in minutes)",ntpLat:"Latitude",ntpLng:"Longitude",ntpLocation:"Get latitude / longitude from location",ntpLocationSearch:"Search",pinLEDAP:"Access Point status LED pin (+3.3v)",pinLEDSTA:"Station Mode status LED pin (+3.3v)",pinAPButton:"Enable Access Point button pin (active low)",pinPWMDriverSDA:"PCA9685 PWM driver SDA pin (data)",pinPWMDriverSCL:"PCA9685 PWM driver SCL pin (clock)",pwmAddress:"PCA9685 PWM driver I²C address",pwmFrequency:"PCA9685 PWM driver frequency",mapsAPIKey:"Google Maps API key",mapsAPIKeyhint:"Recommended if using time triggers. Used for looking up the current timezone. Will work without an API key, but Google might throttle your request. Register for a free API key at http://console.developers.google.com/ and activate it's use for the Maps API."},error:{loadStatus:"Could not load system status",loadConnection:"Could not load connection settings",loadSystem:"Could not load system settings",loadTimeTriggers:"Could not load time trigger settings",loadMotionTriggers:"Could not load motion trigger settings",applyConnection:"Could not save connection settings",applySystem:"Could not save system settings",updateWiFiStatus:"Could not retrieve WiFi status",uploadFirmware:"Error while uploading firmware",updateSteps:"Could not apply new step values",searchLocation:"Could not look up location coordinates",applyTimeTriggers:"Could not save time trigger settings",applyMotionTriggers:"Could not save motion trigger settings",loadSteps:"Could not load calibration settings",updateCalibration:"Could not save calibration settings",resetError:"The system reports that it has been reset unexpectedly. The last power up status is:",resetReason:{0:"Normal startup",1:"Unresponsive, reset by hardware watchdog",2:"Unhandled exception",3:"Unresponsive, reset by software watchdog",4:"System restart requested",5:"Wake up from deep sleep",6:"System reset"},stackTrace:"A stack trace is available. Please send it to your nearest developer and/or delete it from this Stairs device to remove this message.",stackTraceDownload:"Download",stackTraceDelete:"Hide",stackTraceDeleteError:"Could not remove stack trace"},calibration:{title:"Calibration wizard",backButton:"Back",count:"Number of steps",nextButton:"Next",applyButton:"Complete",allStepsValue:"Intensity for all steps",ranges:"Min / max values per step",useCurve:"Use logarithmic curve for intensity (recommended for LEDs)"}},nl:{title:"Trap",systemID:"Systeem ID",firmwareVersion:"Firmware versie: ",copyright:"Copyright © 2017 Mark van Renswoude",loading:"Een ogenblik geduld, bezig met laden van configuratie...",rebootPending:"Het systeem wordt opnieuw opgestart, ververse deze pagina nadien",applyButton:"Opslaan",applyButtonSaving:"Bezig met opslaan...",deviceTime:"Tijd: ",wifiStatus:{accesspoint:{title:"AP: ",disabled:"Uitgeschakeld"},stationmode:{title:"WiFi: ",disabled:"Uitgeschakeld",idle:"Slaapstand",noSSID:"SSID niet gevonden",scanCompleted:"Scan afgerond",connectFailed:"Kan geen verbinding maken",connectionLost:"Verbinding verloren",disconnected:"Niet verbonden"}},status:{tabTitle:"Status",title:"Huidige status",allStepsTrue:"Alle treden dezelfde intensiteit",allStepsFalse:"Treden individueel instellen"},triggers:{tabTitle:"Triggers",timeTitle:"Tijd",timeInternet:"Let op dat voor tijd triggers een internetverbinding vereist is.",timeNoData:"Nog geen tijd triggers geconfigureerd",timeEnabled:"Tijd triggers inschakelen",timeTransitionTime:"Transitie tijd in milliseconden",timeAdd:"Toevoegen",timeDelete:"Verwijderen",timeTriggerEnabled:"Actief",timeFixedTime:"Vaste tijd",timeSunrise:"Zonsopkomst",timeSunset:"Zonsondergang",timeTime:"Tijd in minuten",timeMonday:"Maandag",timeTuesday:"Dinsdag",timeWednesday:"Woensdag",timeThursday:"Donderdag",timeFriday:"Vrijdag",timeSaturday:"Zaterdag",timeSunday:"Zondag",motionTitle:"Beweging",motionNoData:"Nog geen beweging triggers geconfigureerd",motionEnabled:"Beweging triggers inschakelen",motionEnabledDuringTimeTrigger:"Ook inschakelen als er al een tijd trigger actief is",motionEnabledDuringDay:"Ook overdag inschakelen (tussen zonsopgang en zonsondergang)",motionTransitionTime:"Transitie tijd in milliseconden",motionDelay:"Tijd aan in milliseconden",motionTriggerEnabled:"Actief",motionAdd:"Toevoegen",motionDelete:"Verwijderen",motionPin:"GPIO pin (actief hoog)",motionDirection:"Animatie",motionDirectionNonDirectional:"Geen (alle treden gelijktijdig)",motionDirectionTopDown:"Boven naar beneden",motionDirectionBottomUp:"Beneden naar boven"},connection:{tabTitle:"Verbinding",title:"Verbinding configuratie",accesspoint:"Access point inschakelen",accesspointHint:"Maakt het mogelijk om een directe connectie vanaf een apparaat naar deze Trap module te maken om de module te configureren. De Trap module is te benaderen via http://192.168.1.4/ nadat je connectie hebt gemaakt. Schakel deze optie uit na het configureren, aangezien deze niet beveiligd is. Je kunt deze optie ook inschakelen door op de Access point knop te drukken totdat de LED aan gaat.",stationmode:"Verbinding met WiFi maken",stationmodeHint:"Verbind deze Trap module aan je eigen WiFi router. Vul hieronder het SSID en wachtwoord in, en configureer eventuel de overige opties.",ssid:"SSID",password:"Wachtwoord",dhcp:"Gebruik DHCP",dhcpHint:"Automatisch een IP adres toewijzen aan deze Trap module. Waarschijnlijk wil je deze optie aan laten, tenzij je weet waar je mee bezig bent.",ipaddress:"IP adres",subnetmask:"Subnet masker",gateway:"Gateway",hostname:"Hostnaam",hostnamePlaceholder:"Standaard: mac adres"},system:{tabTitle:"Systeem",ntpTitle:"Tijd synchronisatie (NTP)",pinsTitle:"Hardware aansluitingen",mapsTitle:"Google Maps API",firmwareTitle:"Firmware bijwerken",calibrateTitle:"Kalibratie",calibrateButton:"Kalibreer treden",calibrateHint:"Gebruik onderstaande knop om het aantal treden in te stellen, en om de helderheid van elke trede aan te passen",ntpServer:"NTP server",ntpInterval:"Ververs interval (in minuten)",ntpLat:"Breedtegraad",ntpLng:"Lengtegraad",ntpLocation:"Breedtegraad / lengtegraad ophalen op basis van locatie",ntpLocationSearch:"Zoeken",pinLEDAP:"Access Point status LED pin (+3.3v)",pinLEDSTA:"WiFi status LED pin (+3.3v)",pinAPButton:"Access Point inschakelen knop pin (actief laag)",pinPWMDriverSDA:"PCA9685 PWM driver SDA pin (data)",pinPWMDriverSCL:"PCA9685 PWM driver SCL pin (klok)",pwmAddress:"PCA9685 PWM driver I²C address",pwmFrequency:"PCA9685 PWM driver frequency",mapsAPIKey:"Google Maps API key",mapsAPIKeyhint:"Aangeraden bij gebruik van de tijd triggers. Wordt gebruikt om de huidige tijdzone te bepalen. Werkt ook zonder API key, maar Google beperkt dan sterk de requests. Registreer een gratis API key op http://console.developers.google.com/ en activeer het voor gebruik met de Maps API."},error:{loadStatus:"Kan systeemstatus niet ophalen",loadConnection:"Kan verbinding instellingen niet ophalen",loadSystem:"Kan systeem instellingen niet ophalen",loadTimeTriggers:"Kan tijd trigger instellingen niet ophalen",loadMotionTriggers:"Kan beweging trigger instellingen niet ophalen",applyConnection:"Kan verbinding instellingen niet opslaan",applySystem:"Kan systeem instellingen niet opslaan",updateWiFiStatus:"Kan WiFi status niet ophalen",uploadFirmware:"Fout tijdens bijwerken van firmware",updateSteps:"Kan trap instellingen niet opslaan",searchLocation:"Kan locatie coordinaten niet bepalen",applyTimeTriggers:"Kan tijd trigger instellingen niet opslaan",applyMotionTriggers:"Kan beweging trigger instellingen niet opslaan",loadSteps:"Kan kalibratie instellingen niet ophalen",updateCalibration:"Kan kalibratie instellingen niet opslaan",resetError:"Het systeem is onverwachts herstart. De laatste status is:",resetReason:{0:"Normaal opgestart",1:"Reageert niet, herstart door hardware watchdog",2:"Onafgehandelde fout",3:"Reageert niet, herstart door software watchdog",4:"Herstart verzoek door systeem",5:"Wakker geworden uit diepe slaap",6:"Systeem gereset"},stackTrace:"Een stack trace is beschikbaar. Stuur het naar de dichtsbijzijnde ontwikkelaar en/of verwijder het van deze Trap module om dit bericht te verbergen.",stackTraceDownload:"Downloaden",stackTraceDelete:"Verbergen",stackTraceDeleteError:"Kan stack trace niet verwijderen"},calibration:{title:"Kalibratie wizard",backButton:"Terug",count:"Aantal treden",nextButton:"Volgende",applyButton:"Voltooien",allStepsValue:"Intensiteit voor alle treden",ranges:"Min / max waarden per trede",useCurve:"Gebruik logaritmische curve voor intensiteit (aangeraden voor LEDs)"}}};function startApp(){axios.interceptors.response.use(void 0,function(e){var t=e.config;if(!t||!t.retry)return Promise.reject(e);if(t.__retryCount=t.__retryCount||0,t.__retryCount>=t.retry)return Promise.reject(e);t.__retryCount+=1;return new Promise(function(e){setTimeout(function(){e()},t.retryDelay||1)}).then(function(){return axios(t)})}),Vue.component("check",{template:'
{{ title }}
',props:{title:String,value:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},methods:{handleClick:function(){this.disabled||(this.value=!this.value,this.$emit("input",this.value))},handleKeyDown:function(e){32==e.keyCode&&(this.handleClick(),e.preventDefault())}}}),Vue.component("radio",{template:'
{{ title }}
',props:{title:String,value:null,id:null,disabled:{type:Boolean,default:!1}},methods:{handleClick:function(){this.disabled||(this.value=this.id,this.$emit("input",this.value))},handleKeyDown:function(e){32==e.keyCode&&(this.handleClick(),e.preventDefault())}}}),Vue.component("range",{template:'
{{ value.start }}
{{ value.end }}
',props:["value"],mounted:function(){this.oldValue={start:this.value.start,end:this.value.end}},watch:{value:{handler:function(e){e.start!=this.oldValue.start?e.start>e.end&&(e.end=e.start+1,this.$emit("input",e)):e.end!=this.oldValue.end&&e.end0?0:i.time||0,relativeTime:i.triggerType>0?i.time||0:0,monday:(1&i.daysOfWeek)>0,tuesday:(2&i.daysOfWeek)>0,wednesday:(4&i.daysOfWeek)>0,thursday:(8&i.daysOfWeek)>0,friday:(16&i.daysOfWeek)>0,saturday:(32&i.daysOfWeek)>0,sunday:(64&i.daysOfWeek)>0})}e.triggers.time=n}}).catch(e.handleAPIError.bind(e,"error.loadTimeTriggers"))},loadMotionTriggers:function(){var e=this;return axios.get("/api/triggers/motion",{retry:10,retryDelay:1e3}).then(function(t){"object"==typeof t.data&&(e.triggers.motion=t.data)}).catch(e.handleAPIError.bind(e,"error.loadMotionTriggers"))},loadSteps:function(){var e=this;return axios.get("/api/steps/values",{retry:10,retryDelay:1e3}).then(function(t){if(Array.isArray(t.data)){for(var n=!0,r=!1,i=0,a=[],o=0;o0){var n=t.data.results[0].geometry.location;e.system.lat=n.lat,e.system.lng=n.lng}}).catch(e.handleAPIError.bind(e,"error.searchLocation")).then(function(){e.searchingLocation=!1}))},applyTimeTriggers:function(){var e=this;if(!e.saving){e.saving=!0;for(var t={enabled:e.triggers.time.enabled,transitionTime:e.triggers.time.transitionTime,triggers:[]},n=0;n0?r.relativeTime:r.fixedTime,daysOfWeek:(r.monday?1:0)|(r.tuesday?2:0)|(r.wednesday?4:0)|(r.thursday?8:0)|(r.friday?16:0)|(r.saturday?32:0)|(r.sunday?64:0)})}axios.post("/api/triggers/time",t,{retry:10,retryDelay:1e3}).then(function(e){}).catch(e.handleAPIError.bind(e,"error.applyTimeTriggers")).then(function(){e.saving=!1})}},addTimeTrigger:function(){this.triggers.time.triggers.push({brightness:0,triggerType:0,enabled:!0,fixedTime:540,relativeTime:0,monday:!0,tuesday:!0,wednesday:!0,thursday:!0,friday:!0,saturday:!0,sunday:!0})},deleteTimeTrigger:function(e){this.triggers.time.triggers.splice(e,1)},applyMotionTriggers:function(){var e=this;e.saving||(e.saving=!0,axios.post("/api/triggers/motion",e.triggers.motion,{retry:10,retryDelay:1e3}).then(function(e){}).catch(e.handleAPIError.bind(e,"error.applyMotionTriggers")).then(function(){e.saving=!1}))},addMotionTrigger:function(){this.triggers.motion.triggers.push({brightness:0,enabled:!0,pin:2,direction:1})},deleteMotionTrigger:function(e){this.triggers.motion.triggers.splice(e,1)},getDisplayTime:function(e,t){var n="";t&&(n+=e>=0?"+":"-");var r=(e=Math.abs(e))%60;return n+=Math.floor(e/60)+":",r<10&&(n+="0"),n+=r},startCalibration:function(){var e=this;axios.get("/api/steps",{retry:10,retryDelay:1e3}).then(function(t){"object"==typeof t.data&&(e.calibration={wizardStep:0,count:t.data.count,useCurve:t.data.useCurve,ranges:t.data.ranges})}).catch(e.handleAPIError.bind(e,"error.loadSteps"))},stopCalibration:function(){this.calibration=null},applyCalibration:function(){this.stopCalibration()},hasNextCalibrationStep:function(){return this.calibration.wizardStep<1},nextCalibrationStep:function(){if(0==this.calibration.wizardStep)if(this.calibration.count<1?this.calibration.count=1:this.calibration.count>16&&(this.calibration.count=16),this.calibration.ranges.length>this.calibration.count)this.calibration.ranges.splice(this.calibration.count);else for(;this.calibration.ranges.length=0?"+":"-")+r.substr(-2)+":"+i.substr(-2);return t+":"+n.substr(-2)+" ("+a+")"}},watch:{allSteps:{handler:function(){this.stepsChanged()},sync:!0},allStepsValue:{handler:function(){this.stepsChanged()},sync:!0},steps:{handler:function(){this.stepsChanged()},deep:!0,sync:!0},activeTab:function(e){window.location.hash="#"+e},calibration:{handler:function(){this.calibrationChanged()},deep:!0}}})} \ No newline at end of file diff --git a/web/index.html b/web/index.html index d6467f2..927fa83 100644 --- a/web/index.html +++ b/web/index.html @@ -54,10 +54,8 @@ {{ $t('error.stackTrace') }}

- + {{ $t('error.stackTraceDownload') }} + {{ $t('error.stackTraceDelete') }}
diff --git a/web/lang.js b/web/lang.js index 482d8ad..6d8b0e3 100644 --- a/web/lang.js +++ b/web/lang.js @@ -165,7 +165,7 @@ var messages = { }, stackTrace: 'A stack trace is available. Please send it to your nearest developer and/or delete it from this Stairs device to remove this message.', stackTraceDownload: 'Download', - stackTraceDelete: 'Remove', + stackTraceDelete: 'Hide', stackTraceDeleteError: 'Could not remove stack trace' }, @@ -348,7 +348,7 @@ var messages = { }, stackTrace: 'Een stack trace is beschikbaar. Stuur het naar de dichtsbijzijnde ontwikkelaar en/of verwijder het van deze Trap module om dit bericht te verbergen.', stackTraceDownload: 'Downloaden', - stackTraceDelete: 'Verwijderen', + stackTraceDelete: 'Verbergen', stackTraceDeleteError: 'Kan stack trace niet verwijderen' }, From bcaeb032b87bf8a37410b8ea8a8a94c87d350429 Mon Sep 17 00:00:00 2001 From: Mark van Renswoude Date: Sun, 29 Apr 2018 10:13:24 +0200 Subject: [PATCH 2/3] Fixed endless loop in startup transition --- src/assets/version.h | 10 +++++----- src/config.cpp | 2 +- src/main.cpp | 15 +++++++++++++-- web/site.scss | 8 +++++++- 4 files changed, 26 insertions(+), 9 deletions(-) diff --git a/src/assets/version.h b/src/assets/version.h index 563e4f5..f43427e 100644 --- a/src/assets/version.h +++ b/src/assets/version.h @@ -4,10 +4,10 @@ const uint8_t VersionMajor = 2; const uint8_t VersionMinor = 1; const uint8_t VersionPatch = 0; -const uint8_t VersionMetadata = 0; -const char VersionBranch[] = "develop"; -const char VersionSemVer[] = "2.1.0-unstable.3"; -const char VersionFullSemVer[] = "2.1.0-unstable.3"; -const char VersionCommitDate[] = "2018-04-22"; +const uint8_t VersionMetadata = 1; +const char VersionBranch[] = "release/2.1"; +const char VersionSemVer[] = "2.1.0-beta.1"; +const char VersionFullSemVer[] = "2.1.0-beta.1+1"; +const char VersionCommitDate[] = "2018-04-29"; #endif diff --git a/src/config.cpp b/src/config.cpp index 3e289ac..a6c3a4a 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -41,6 +41,6 @@ const char* TimezoneProxyScriptPath = "/timezone.php"; #endif -const uint8_t InitialisationBrightness = 40; +const uint8_t InitialisationBrightness = 128; const uint8_t InitialisationFadeTime = 250; const uint8_t InitialisationBlinkCount = 2; diff --git a/src/main.cpp b/src/main.cpp index cd1632a..2e4c9e1 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -44,6 +44,17 @@ AsyncWebServer server(80); PCA9685* pwmDriver; +inline void waitForTransition() +{ + while (stairs->inTransition()) + { + currentTime = millis(); + stairs->tick(); + delay(1); + } +} + + void setup() { _dinit(); @@ -81,10 +92,10 @@ void setup() for (uint8_t i = 0; i < InitialisationBlinkCount; i++) { stairs->set(bottomStep, InitialisationBrightness, InitialisationFadeTime); - while (stairs->inTransition()) { stairs->tick(); delay(1); } + waitForTransition(); stairs->set(bottomStep, 0, InitialisationFadeTime); - while (stairs->inTransition()) { stairs->tick(); delay(1); } + waitForTransition(); } _dln("Setup :: initializing WiFi"); diff --git a/web/site.scss b/web/site.scss index 54c1eae..1a54297 100644 --- a/web/site.scss +++ b/web/site.scss @@ -127,13 +127,19 @@ button, input font-family: 'Verdana', 'Arial', sans-serif; } -input + +@mixin removeSafariStyling { -webkit-appearance: none; -moz-appearance: none; appearance: none; } +input +{ + @include removeSafariStyling; +} + button, .button, input[type=submit] { @extend %outset; From 14d820a7e57136e7582c53fc7a3d0e090da009a9 Mon Sep 17 00:00:00 2001 From: Mark van Renswoude Date: Sun, 29 Apr 2018 11:01:43 +0200 Subject: [PATCH 3/3] Fixed #27 DST not taken into account Fixed issues with #26 Setting for motion triggers only during an active time trigger --- src/assets/css.h | 189 ++++++++--------- src/assets/html.h | 351 ++++++++++++++++--------------- src/assets/version.h | 4 +- src/main.debug.h | 3 + src/main.triggers.h | 12 +- src/settings/triggers/motion.cpp | 1 + web/dist/bundle.css | 2 +- web/index.html | 4 +- web/site.scss | 5 + 9 files changed, 295 insertions(+), 276 deletions(-) diff --git a/src/assets/css.h b/src/assets/css.h index 03a19aa..5e17de4 100644 --- a/src/assets/css.h +++ b/src/assets/css.h @@ -7,99 +7,100 @@ const uint8_t EmbeddedBundleCSS[] PROGMEM = { 0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x0a,0xad,0x59,0xdd,0x6e,0xa3,0x38,0x14,0x7e,0x95,0x48, 0xd5,0x48,0xd3,0x15,0x20,0x92,0x94,0xb4,0x05,0xcd,0x6a,0x57,0xfb,0x06,0x7b,0xb1,0x37,0xa3,0x5e,0x18, 0x30,0xc1,0x2a,0xc1,0xc8,0x76,0x9a,0xb6,0x88,0x77,0xdf,0x63,0x1b,0x13,0x1b,0x9c,0x4c,0x66,0x34,0x42, - 0x6d,0x82,0x7d,0x7c,0xfe,0x7c,0x7e,0x3e,0x3b,0xb5,0x38,0x34,0x7d,0x4e,0xdf,0x43,0x4e,0x3e,0x49,0xbb, - 0x4f,0x73,0xca,0x4a,0xcc,0x42,0x18,0xc9,0x2a,0xda,0x0a,0x39,0x8c,0xd3,0xdd,0x26,0x4a,0xbe,0x0c,0x7f, - 0x04,0x29,0xaa,0x04,0x66,0x41,0x9a,0xe3,0x8a,0x32,0x6c,0x2f,0x23,0x6d,0x8d,0x19,0x11,0x43,0x4e,0xcb, - 0x8f,0x3e,0x47,0xc5,0xeb,0x9e,0xd1,0x63,0x5b,0x86,0x05,0x6d,0x28,0x4b,0xef,0xe2,0x38,0xce,0xc6,0xaf, - 0x55,0x55,0x69,0xce,0x15,0x3a,0x90,0xe6,0x23,0xfd,0x0f,0xb3,0x12,0xb5,0x28,0xf8,0x9b,0x11,0xd4,0x04, - 0x1c,0xb5,0x3c,0xe4,0xc0,0xaa,0xb2,0xc4,0xaf,0xa3,0x2d,0x3e,0xe8,0xf7,0x13,0x26,0xfb,0x5a,0xa4,0x5b, - 0xe0,0xd7,0x60,0x01,0xca,0x84,0xbc,0x43,0x85,0xd4,0x20,0x8a,0xd7,0x40,0xd4,0x90,0x16,0x87,0xb5,0x26, - 0x82,0x65,0x59,0x87,0xca,0x12,0x66,0xc1,0x1e,0x21,0xe8,0x21,0xdd,0x32,0x7c,0x18,0xfe,0x3a,0xe0,0x92, - 0xa0,0x15,0x2f,0x18,0xc6,0xed,0x0a,0xb5,0xe5,0xea,0xeb,0x81,0xb4,0xe1,0x89,0x94,0xa2,0x4e,0x1f,0x77, - 0x4f,0xdd,0xfb,0x7d,0xaf,0xec,0x30,0x8b,0x05,0xed,0xf4,0xca,0x01,0xf5,0x02,0xbf,0x8b,0xb0,0xc4,0x05, - 0x65,0x48,0x10,0xda,0xa6,0x2d,0x6d,0xf1,0xf0,0xfd,0x2d,0x2c,0x1a,0x8a,0x5e,0x5f,0xfa,0x92,0xf0,0xae, - 0x41,0x1f,0x7a,0xf8,0xae,0x00,0x95,0x11,0x68,0xc4,0x2c,0x97,0xa4,0x77,0x9b,0x58,0x3e,0xd9,0x01,0xb1, - 0x3d,0x88,0x95,0xcc,0x37,0xc0,0xdc,0xa8,0x9a,0xae,0xe5,0x8b,0x72,0x6d,0x8d,0x4a,0x7a,0x4a,0xe3,0x55, - 0xbc,0x4a,0xe2,0xee,0x7d,0x75,0x57,0x15,0xd5,0xae,0xa8,0x32,0xbd,0x45,0x29,0xa7,0x0d,0x29,0x57,0x6b, - 0x39,0x01,0xee,0xbd,0xc9,0x2a,0x4b,0x21,0x6b,0xdc,0x68,0xd2,0xe0,0x4a,0xa4,0xe8,0x28,0xa8,0x19,0x60, - 0xca,0x8d,0x72,0x64,0x18,0xa2,0x1a,0x23,0x90,0xda,0x77,0x94,0x13,0x65,0x38,0xc3,0x0d,0x78,0xe0,0x0d, - 0x9b,0x99,0x15,0x39,0xec,0xfb,0x0a,0xbc,0x20,0x52,0xc9,0xc8,0xe5,0xb1,0xbe,0xe4,0x77,0xf4,0x3e,0x69, - 0xf8,0x28,0x35,0x34,0xcc,0xa2,0x13,0xa9,0x08,0x17,0x48,0x1c,0x79,0x5f,0x34,0x18,0x31,0x08,0x4c,0x51, - 0xdb,0x3e,0xd3,0x1b,0x72,0x8b,0xd5,0x3e,0x9e,0x93,0x19,0x28,0x07,0x3f,0x1e,0x05,0xce,0xb4,0xa2,0x71, - 0x26,0x79,0xc7,0x93,0xbd,0xf6,0xa2,0x55,0x44,0xda,0x92,0x14,0x48,0x50,0x36,0xed,0x33,0x69,0x55,0xc4, - 0xe5,0x0d,0x2d,0x5e,0x33,0x2d,0x55,0xed,0x9f,0x09,0x41,0xbd,0x97,0x2a,0xa5,0x18,0x2a,0xc9,0x91,0xa7, - 0x49,0xfc,0xc5,0xf5,0x4d,0x94,0x48,0x4b,0xae,0xcb,0xfb,0x5e,0x22,0x81,0x42,0x3d,0xfc,0x0d,0x36,0xb1, - 0xc5,0x85,0xc0,0xe5,0x8b,0x27,0xd3,0xb6,0xcf,0xbb,0x9f,0xe1,0x05,0x76,0xd8,0xec,0xe6,0x91,0xb5,0x67, - 0xf8,0xe3,0x17,0x54,0x83,0x30,0xf6,0xe9,0x56,0x3d,0x6f,0x7f,0x86,0x19,0x66,0x8c,0x32,0x1f,0x9f,0x02, - 0xc2,0x3d,0xca,0x8f,0x90,0xd1,0x6d,0x10,0x15,0x35,0x2e,0x5e,0x57,0x91,0x8c,0x6c,0x46,0x9b,0x20,0x6a, - 0xa9,0x00,0xce,0x85,0xca,0xce,0x20,0xea,0x50,0x8b,0x9b,0x95,0xfe,0x08,0x65,0x52,0xcf,0x86,0xb4,0x36, - 0x41,0x24,0x37,0x87,0x5a,0x5c,0x4e,0x88,0xb5,0x60,0x45,0x30,0x4a,0xa9,0xb7,0x01,0x69,0xbb,0xa3,0xf8, - 0x2e,0x3e,0x3a,0xfc,0x8d,0x1f,0xf3,0x03,0x11,0x2f,0x01,0xc7,0x0d,0x18,0x6b,0xbc,0x26,0xfd,0xa5,0x3d, - 0x77,0xb7,0x5e,0xaf,0x67,0xbb,0xbe,0x85,0x34,0xb3,0x72,0x9a,0xb4,0x1c,0x0b,0xc8,0x6b,0xb9,0x86,0xed, - 0x73,0xf4,0x75,0x93,0x24,0x81,0xf9,0x8b,0xd6,0xf7,0x81,0x21,0x08,0x25,0xc5,0xd6,0x50,0xc5,0x81,0x7c, - 0xa2,0xed,0x79,0x3e,0xbe,0xc8,0x24,0x7e,0xba,0x0f,0xf4,0xdc,0x66,0xb6,0x7c,0x9d,0xdc,0x1b,0xf7,0x45, - 0xa8,0x90,0x39,0x1c,0x8c,0xaf,0xe9,0xf8,0xea,0x4e,0xba,0x73,0x96,0x1f,0xda,0xe3,0x21,0xc7,0xec,0xc5, - 0x1e,0xea,0x10,0xe7,0x27,0xb0,0xfc,0xc5,0xe3,0xaf,0x68,0xc9,0x61,0x9c,0xf1,0xf0,0x96,0x75,0xf6,0x25, - 0x90,0xff,0x11,0xc3,0xe8,0xba,0x8f,0xcf,0x4d,0x46,0x0d,0x9b,0x39,0xaf,0xb7,0xe7,0xce,0xd8,0x24,0xc6, - 0x4d,0x5e,0x17,0x0e,0x63,0x00,0x28,0xcd,0xfa,0x5b,0xfa,0xd6,0xa0,0x49,0xa1,0x53,0xe5,0xaf,0x44,0x84, - 0xa8,0xeb,0xa0,0x7a,0xa1,0xb6,0xc0,0xaa,0x27,0x64,0xe1,0x81,0x7e,0x2e,0x06,0x67,0xef,0x53,0x70,0xdb, - 0xc2,0x1d,0x87,0xf9,0xeb,0x8f,0xe9,0x20,0x60,0x0f,0x98,0x69,0x1a,0x6e,0x59,0x96,0x99,0xdd,0x7e,0x1e, - 0x62,0xf9,0x64,0xc5,0x91,0x71,0x98,0xee,0x28,0x69,0xa1,0x8d,0x3a,0x8d,0x53,0x95,0x56,0x13,0x21,0x15, - 0x2d,0x8e,0x7c,0x0a,0x10,0xf7,0xad,0xa6,0x6f,0x90,0x3c,0x0e,0xa1,0x43,0xe7,0x90,0x79,0x02,0x42,0x53, - 0x79,0xe2,0xe1,0xe2,0x84,0x62,0xd5,0x5f,0xb0,0x2c,0x89,0xe5,0x93,0xd1,0xa3,0x90,0xd6,0xa4,0xf1,0xef, - 0x89,0xf2,0x5b,0xa3,0xd7,0x68,0x55,0x14,0x85,0xa3,0xd5,0xe6,0x49,0x3e,0x46,0x97,0xb0,0x63,0x04,0xca, - 0xff,0x87,0x6f,0x53,0x9d,0x55,0x9b,0x5d,0x82,0xd6,0xf3,0x55,0xee,0x6e,0x98,0xd1,0xd4,0x3f,0xfa,0xdb, - 0xdd,0xee,0xe8,0xb7,0x7b,0xdc,0xe4,0xbb,0x01,0x8d,0x42,0xfd,0xb8,0x28,0x6a,0xd1,0x1b,0xd9,0xab,0x81, - 0x6b,0x5d,0x3c,0x12,0xd0,0x85,0xff,0x34,0x9c,0x6c,0x34,0x22,0xcb,0xdf,0xac,0x92,0xc6,0x2e,0x79,0x5a, - 0x11,0xc6,0x45,0x58,0xd4,0xa4,0x29,0x9d,0xa5,0xf1,0xb2,0x02,0xab,0x6a,0x09,0x9f,0x33,0x0e,0x0d,0x9a, - 0x18,0xcc,0x44,0xa9,0xca,0xab,0x16,0xce,0x85,0x4a,0x47,0x2d,0xb1,0x50,0xf6,0x19,0x42,0x2b,0xc3,0xef, - 0x29,0x6c,0x1c,0x38,0x8c,0x2b,0xbb,0x55,0x54,0xc8,0x46,0x6a,0x21,0xda,0xa7,0x4e,0x64,0xca,0x63,0xa8, - 0x21,0xfb,0x36,0x2d,0xb0,0xca,0xc1,0x19,0x22,0x1c,0x9c,0x5e,0xf6,0xcf,0x04,0xdd,0x26,0xb1,0x15,0x79, - 0xc7,0x65,0x36,0x01,0x48,0x23,0x7c,0xb7,0xdb,0xdd,0x86,0x8b,0xfc,0xec,0x35,0x4d,0xa2,0x4a,0x88,0xf2, - 0x24,0x20,0x96,0xc1,0xd5,0xc5,0x8d,0x84,0xe7,0x47,0x94,0x3f,0xcd,0x11,0xeb,0x3a,0x1e,0x81,0xa9,0x8d, - 0xfb,0x67,0x35,0xc7,0xd4,0xab,0x28,0x01,0xed,0x47,0xe3,0x47,0xa0,0xae,0x11,0xf1,0x02,0x6b,0xfe,0xb4, - 0x59,0xbd,0x0e,0xa3,0xa5,0x09,0xab,0xe8,0x80,0x39,0x47,0x7b,0xdc,0x9f,0x6a,0x22,0xb0,0x3a,0x46,0xe0, - 0xb4,0x63,0xd8,0x25,0x8b,0x14,0x08,0x71,0xec,0x7d,0x7e,0xdc,0xa2,0x2d,0xe4,0xb3,0x02,0x1e,0x23,0x72, - 0xf0,0xd7,0xe3,0x99,0xb9,0x47,0x2e,0x8f,0x2b,0x0a,0x33,0xe8,0xb2,0x6f,0x4b,0x6e,0xe9,0x89,0xa1,0xce, - 0x0e,0x01,0x8f,0x57,0xe4,0xd0,0xb0,0x40,0x3c,0x2e,0x76,0xe9,0x3d,0xb5,0xfe,0x1a,0x5a,0xdd,0xc1,0x36, - 0x1b,0xb4,0x2a,0xbf,0x7b,0x00,0xfe,0x28,0xb0,0x41,0x39,0x3e,0x8b,0x53,0x6f,0x7e,0xbb,0xed,0x34,0x54, - 0x56,0x40,0x2e,0x08,0x70,0x68,0x33,0x86,0x3b,0x58,0x37,0x32,0xd5,0xff,0x71,0x39,0xb7,0x66,0x31,0xee, - 0x58,0xb5,0x8b,0xe5,0x63,0x58,0x80,0x0a,0x28,0x6f,0x70,0x69,0x96,0x9a,0xf7,0x7e,0x74,0x3f,0x6c,0x27, - 0xc8,0x6d,0xe8,0x09,0x97,0xc3,0x02,0xe7,0xb9,0xef,0x12,0x89,0xaa,0xd3,0xda,0x1c,0xb1,0xcf,0x17,0x1a, - 0x42,0xeb,0x78,0xbb,0x3c,0x51,0xc8,0x4d,0x7c,0x30,0x49,0x24,0xbf,0x68,0x8f,0x5b,0x0e,0xdf,0xc9,0x5a, - 0xe4,0x37,0x78,0x52,0xc5,0xb2,0x5b,0x75,0x16,0x3b,0xcd,0xd6,0x33,0x30,0x23,0x81,0x9d,0x1b,0x1d,0x86, - 0x8d,0x5f,0xbb,0xe4,0xaa,0x76,0xaa,0x52,0xfa,0xb7,0xc9,0x75,0xd4,0x78,0x60,0x58,0x02,0xa8,0xa7,0x7b, - 0x53,0x84,0x35,0x73,0x59,0x18,0x36,0x1a,0x84,0x65,0x02,0xf0,0x0e,0xaf,0x28,0x3b,0xa4,0x8c,0x02,0xde, - 0xc7,0x5f,0xc3,0x87,0xa4,0xc4,0xfb,0x7b,0xdb,0x42,0x85,0x7e,0x63,0x17,0xaf,0x39,0x70,0xcd,0xb2,0x5b, - 0xb2,0x0a,0x4d,0xb4,0x58,0x69,0xb4,0x86,0x94,0xf9,0x05,0xcc,0x3a,0xc7,0x9f,0x1e,0x00,0x75,0xae,0x6b, - 0x4e,0x21,0x1b,0xf3,0x2a,0x86,0xa8,0x31,0x07,0x84,0xab,0x8b,0x6f,0xba,0x0c,0xb1,0x25,0xd8,0xe6,0x80, - 0x13,0xf7,0xf8,0xc5,0xb1,0x97,0x2d,0xca,0x86,0x3a,0x7d,0xd7,0xeb,0xfe,0xdc,0x7f,0x36,0x67,0x22,0x68, - 0xa8,0xf5,0x66,0x0c,0x64,0x4e,0x1a,0x48,0x55,0xe7,0xe6,0x65,0x46,0xb9,0xb5,0xfb,0xd9,0x12,0xe5,0x2c, - 0x97,0x9e,0x15,0x57,0x4a,0x3c,0xf4,0x36,0xc5,0x03,0x9b,0xac,0x31,0x59,0xfb,0xe2,0x49,0xdb,0xec,0x92, - 0xcc,0x9d,0x7c,0x06,0xb7,0x12,0x39,0x25,0xe8,0x6a,0x1d,0x55,0xeb,0x42,0x5d,0xb9,0x7a,0xe7,0x48,0xbe, - 0xb9,0xf5,0x9a,0x28,0xaa,0x29,0x23,0x9f,0xb2,0x75,0x36,0x16,0xc0,0x19,0xac,0xe1,0xd5,0xe5,0x3a,0xe9, - 0x90,0x79,0x42,0xf4,0xc2,0xf4,0x39,0x5c,0x2f,0x10,0xe8,0xd0,0xb5,0x27,0xa7,0x30,0xf6,0x96,0x6b,0x7d, - 0x69,0xa3,0x2c,0x1f,0x83,0x57,0x55,0xbc,0xf3,0x7a,0x7d,0xed,0x67,0x1b,0x08,0xb3,0xd0,0xd3,0x66,0x3e, - 0x77,0xe1,0x8d,0xb5,0x67,0xb3,0x68,0x1c,0x2f,0x3c,0x40,0xaa,0x8c,0x8c,0x7e,0x86,0x06,0x97,0xb8,0x68, - 0x88,0x00,0x86,0xd2,0x4e,0x96,0x2f,0xee,0x40,0xbc,0xc4,0x3a,0xa7,0x38,0xd7,0x44,0x57,0xa1,0x95,0xca, - 0x86,0x88,0x43,0xc5,0x02,0x84,0xd6,0x2f,0x30,0x17,0x17,0xb8,0x73,0xa4,0x6c,0xad,0x84,0x62,0xd3,0xf9, - 0xc8,0xd7,0x27,0xe5,0xd2,0xd5,0xc8,0xf9,0x7c,0xd3,0xe6,0x2c,0x7d,0x30,0x22,0x56,0xd1,0x1b,0x6a,0x8e, - 0xf8,0x07,0x17,0x51,0x91,0xca,0xe6,0xb3,0x2b,0x87,0x4b,0xdc,0xe7,0x86,0x5d,0x3c,0x7f,0x9e,0xab,0x93, - 0x29,0xf3,0x6a,0x3b,0x66,0x60,0x19,0x8e,0xc5,0x6a,0x70,0x59,0xb8,0xac,0xc3,0x95,0x96,0x94,0xa6,0x46, - 0x94,0x7e,0x0f,0x45,0x0d,0xf1,0x7b,0x51,0xbe,0x5f,0x9f,0x8d,0x75,0x67,0xb6,0xf1,0xdf,0x99,0xd9,0xba, - 0x8c,0x17,0xa1,0x2e,0xbe,0xb2,0x14,0x92,0x67,0x6c,0x55,0x19,0x47,0x65,0x7e,0xa7,0x90,0xf1,0x66,0xc8, - 0x03,0x09,0x7f,0x88,0x67,0x17,0x7b,0xd5,0x52,0x79,0xdf,0x65,0x97,0x54,0x4f,0xf0,0xab,0xb8,0x76,0xaa, - 0x8b,0xba,0xba,0xea,0x7d,0x80,0xd9,0x5c,0x00,0x0c,0xbe,0x5b,0xae,0x7e,0x79,0x20,0x1a,0x0f,0x45,0xd9, - 0x74,0xeb,0x2f,0x79,0x99,0x66,0xed,0xda,0x73,0xb5,0x89,0x79,0xe5,0x8d,0xa5,0xcf,0x2a,0xf8,0xd2,0x66, - 0x1f,0xa1,0x3a,0x5b,0xcb,0x1c,0xb6,0x4a,0xd1,0x05,0xca,0x11,0x84,0xfa,0xe6,0x8c,0x23,0x3d,0x0a,0xe9, - 0x9f,0x25,0x66,0x87,0xbb,0xe9,0x78,0xe7,0xd8,0xb6,0x8d,0xe5,0x33,0xd9,0xae,0x8b,0x82,0xe2,0x32,0xde, - 0x00,0xcc,0x9d,0x6a,0xaf,0xcd,0x1f,0x50,0xf2,0xe4,0xf8,0x65,0x6c,0x2f,0x57,0x10,0xb8,0xba,0x5f,0x8f, - 0x4e,0x18,0xbf,0x96,0xe8,0x83,0x2f,0x13,0xda,0xcc,0x18,0xc8,0xad,0x57,0x3d,0xc9,0xa9,0x0a,0x34,0x08, - 0x55,0x98,0x84,0xe6,0x8a,0x43,0x0d,0x41,0xac,0xbc,0xe1,0x71,0xa8,0x57,0x40,0x4b,0xd7,0x18,0x2a,0x7f, - 0x2b,0x11,0x1f,0xab,0x28,0xe1,0xf6,0x62,0x67,0x95,0xa0,0xfd,0x48,0x26,0xc3,0x48,0x65,0x91,0x13,0x7c, - 0x6a,0x04,0xaa,0x1c,0x34,0x14,0xe1,0x39,0x01,0x5f,0x31,0xf4,0xe1,0xf9,0x8b,0xbb,0xfc,0x96,0x5a,0xe9, - 0xd2,0xdf,0x52,0x33,0x75,0x7f,0x71,0x8a,0xe6,0xc8,0x04,0xb7,0xe5,0xad,0x1a,0x5f,0xe8,0x89,0x67,0x46, - 0x17,0x75,0xd7,0x78,0xda,0x52,0x5d,0x11,0x5f,0x52,0x7c,0xbc,0xaa,0xb8,0xa6,0xf7,0xb2,0xfb,0x46,0x0c, - 0x73,0x2c,0xfe,0xc5,0x88,0xcf,0xae,0x4b,0x36,0x20,0xf6,0x7f,0x06,0x43,0x57,0xc1,0xd1,0x1b,0x00,0x00}; + 0x6d,0x82,0xed,0xf3,0xeb,0xf3,0xf3,0xd9,0xa9,0xc5,0xa1,0xe9,0x73,0xfa,0x1e,0x72,0xf2,0x49,0xda,0x7d, + 0x9a,0x53,0x56,0x62,0x16,0xc2,0x48,0x56,0xd1,0x56,0xc8,0x61,0x9c,0xee,0x36,0x51,0xf2,0x65,0xf8,0x23, + 0x48,0x51,0x25,0x30,0x0b,0xd2,0x1c,0x57,0x94,0x61,0x9b,0x8c,0xb4,0x35,0x66,0x44,0x0c,0x39,0x2d,0x3f, + 0xfa,0x1c,0x15,0xaf,0x7b,0x46,0x8f,0x6d,0x19,0x16,0xb4,0xa1,0x2c,0xbd,0x8b,0xe3,0x38,0x1b,0xbf,0x56, + 0x55,0xa5,0x39,0x57,0xe8,0x40,0x9a,0x8f,0xf4,0x3f,0xcc,0x4a,0xd4,0xa2,0xe0,0x6f,0x46,0x50,0x13,0x70, + 0xd4,0xf2,0x90,0x03,0xab,0xca,0x12,0xbf,0x8e,0xb6,0xf8,0xa0,0xdf,0x4f,0x98,0xec,0x6b,0x91,0x6e,0x81, + 0x5f,0x83,0x05,0x28,0x13,0xf2,0x0e,0x15,0x52,0x83,0x28,0x5e,0xc3,0xa2,0x86,0xb4,0x38,0xac,0xf5,0x22, + 0x20,0xcb,0x3a,0x54,0x96,0x30,0x0b,0xf6,0x08,0x41,0x0f,0xe9,0x96,0xe1,0xc3,0xf0,0xd7,0x01,0x97,0x04, + 0xad,0x78,0xc1,0x30,0x6e,0x57,0xa8,0x2d,0x57,0x5f,0x0f,0xa4,0x0d,0x4f,0xa4,0x14,0x75,0xfa,0xb8,0x7b, + 0xea,0xde,0xef,0x7b,0x65,0x87,0x21,0x16,0xb4,0xd3,0x94,0x03,0xea,0x05,0x7e,0x17,0x61,0x89,0x0b,0xca, + 0x90,0x20,0xb4,0x4d,0x5b,0xda,0xe2,0xe1,0xfb,0x5b,0x58,0x34,0x14,0xbd,0xbe,0xf4,0x25,0xe1,0x5d,0x83, + 0x3e,0xf4,0xf0,0x5d,0x01,0x2a,0x23,0xd0,0x88,0x59,0x2e,0x49,0xef,0x36,0xb1,0x7c,0xb2,0x03,0x62,0x7b, + 0x10,0x2b,0x99,0x6f,0x80,0xb9,0x51,0x35,0x5d,0xcb,0x17,0xe5,0xda,0x1a,0x95,0xf4,0x94,0xc6,0xab,0x78, + 0x95,0xc4,0xdd,0xfb,0xea,0xae,0x2a,0xaa,0x5d,0x51,0x65,0x7a,0x8b,0x52,0x4e,0x1b,0x52,0xae,0xd6,0x72, + 0x02,0xdc,0x7b,0x93,0x55,0x96,0x42,0xd6,0xb8,0xd1,0xa4,0xc1,0x95,0x48,0xd1,0x51,0x50,0x33,0xc0,0x94, + 0x1b,0xe5,0xc8,0x30,0x44,0x35,0x46,0x20,0xb5,0xef,0x28,0x27,0xca,0x70,0x86,0x1b,0xf0,0xc0,0x1b,0x36, + 0x33,0x2b,0x72,0xd8,0xf7,0x15,0x78,0x41,0xa4,0x92,0x91,0xcb,0x63,0x7d,0xc9,0xef,0xe8,0x7d,0xd2,0xf0, + 0x51,0x6a,0x68,0x98,0x45,0x27,0x52,0x11,0x2e,0x90,0x38,0xf2,0xbe,0x68,0x30,0x62,0x10,0x98,0xa2,0xb6, + 0x7d,0xa6,0x37,0xe4,0x16,0xab,0x7d,0x3c,0x27,0x33,0x50,0x0e,0x7e,0x3c,0x0a,0x9c,0x69,0x45,0xe3,0x4c, + 0xf2,0x8e,0x27,0x7b,0x6d,0xa2,0x55,0x44,0xda,0x92,0x14,0x48,0x50,0x36,0xed,0x33,0x69,0x55,0xc4,0xe5, + 0x0d,0x2d,0x5e,0x33,0x2d,0x55,0xed,0x9f,0x09,0x41,0xbd,0x97,0x2a,0xa5,0x18,0x2a,0xc9,0x91,0xa7,0x49, + 0xfc,0xc5,0xf5,0x4d,0x94,0x48,0x4b,0xae,0xcb,0xfb,0x5e,0x22,0x81,0x42,0x3d,0xfc,0x0d,0x36,0xb1,0xc5, + 0x85,0xc0,0xe5,0x8b,0x27,0xd3,0xb6,0xcf,0xbb,0x9f,0xe1,0x05,0x76,0xd8,0xec,0xe6,0x91,0xb5,0x67,0xf8, + 0xe3,0x17,0x54,0x83,0x30,0xf6,0xe9,0x56,0x3d,0x6f,0x7f,0x86,0x19,0x66,0x8c,0x32,0x1f,0x9f,0x02,0xc2, + 0x3d,0xca,0x8f,0x90,0xd1,0x6d,0x10,0x15,0x35,0x2e,0x5e,0x57,0x91,0x8c,0x6c,0x46,0x9b,0x20,0x6a,0xa9, + 0x00,0xce,0x85,0xca,0xce,0x20,0xea,0x50,0x8b,0x9b,0x95,0xfe,0x08,0x65,0x52,0xcf,0x86,0xb4,0x36,0x41, + 0x24,0x37,0x87,0x5a,0x5c,0x4e,0x88,0xb5,0x60,0x45,0x30,0x4a,0xa9,0xb7,0x01,0x69,0xbb,0xa3,0xf8,0x2e, + 0x3e,0x3a,0xfc,0x8d,0x1f,0xf3,0x03,0x11,0x2f,0x01,0xc7,0x0d,0x18,0x6b,0xbc,0x26,0xfd,0xa5,0x3d,0x77, + 0xb7,0x5e,0xaf,0x67,0xbb,0xbe,0x85,0x34,0xb3,0x72,0x9a,0xb4,0x1c,0x0b,0xc8,0x6b,0x49,0xc3,0xf6,0x39, + 0xfa,0xba,0x49,0x92,0xc0,0xfc,0x45,0xeb,0xfb,0xc0,0x2c,0x08,0xe5,0x8a,0xad,0x59,0x15,0x07,0xf2,0x89, + 0xb6,0xe7,0xf9,0xf8,0x22,0x93,0xf8,0xe9,0x3e,0xd0,0x73,0x9b,0x19,0xf9,0x3a,0xb9,0x37,0xee,0x8b,0x50, + 0x21,0x73,0x38,0x18,0x5f,0xd3,0xf1,0xd5,0x9d,0x74,0xe7,0x2c,0x3f,0xb4,0xc7,0x43,0x8e,0xd9,0x8b,0x3d, + 0xd4,0x21,0xce,0x4f,0x60,0xf9,0x8b,0xc7,0x5f,0xd1,0x92,0xc3,0x38,0xe3,0xe1,0x2d,0xeb,0xec,0x4b,0x20, + 0xff,0x23,0x86,0xd1,0x75,0x1f,0x9f,0x9b,0x8c,0x1a,0x36,0x73,0x5e,0x6f,0xcf,0x9d,0xb1,0x49,0x8c,0x9b, + 0xbc,0x2e,0x1c,0xc6,0x00,0x50,0x9a,0xf5,0xb7,0xf4,0xad,0x41,0x2f,0x85,0x4e,0x95,0xbf,0x12,0x11,0xa2, + 0xae,0x83,0xea,0x85,0xda,0x02,0xab,0x9e,0x90,0x85,0x07,0xfa,0xb9,0x18,0x9c,0xbd,0x4f,0xc1,0x6d,0x0b, + 0x77,0x1c,0xe6,0xaf,0x3f,0xa6,0x83,0x80,0x3d,0x60,0xa6,0x69,0xb8,0x65,0x59,0x66,0x76,0xfb,0x79,0x88, + 0xe5,0x93,0x15,0x47,0xc6,0x61,0xba,0xa3,0xa4,0x85,0x36,0xea,0x34,0x4e,0x55,0x5a,0x4d,0x84,0x54,0xb4, + 0x38,0xf2,0x29,0x40,0xdc,0xb7,0x9a,0xbe,0x41,0xf2,0x38,0x0b,0x9d,0x75,0xce,0x32,0x4f,0x40,0xe8,0x55, + 0x9e,0x78,0xb8,0x38,0xa1,0x58,0xf5,0x17,0x2c,0x4b,0x62,0xf9,0x64,0xf4,0x28,0xa4,0x35,0x69,0xfc,0x7b, + 0xa2,0xfc,0xd6,0xe8,0x35,0x5a,0x15,0x45,0xe1,0x68,0xb5,0x79,0x92,0x8f,0xd1,0x25,0xec,0x18,0x81,0xf2, + 0xff,0xe1,0xdb,0x54,0x87,0x6a,0xb3,0x4b,0xd0,0x7a,0x4e,0xe5,0xee,0x86,0x19,0x4d,0xfd,0xa3,0xbf,0xdd, + 0xed,0x8e,0x7e,0xbb,0xc7,0x4d,0xbe,0x1b,0xd0,0x28,0xd4,0x8f,0x8b,0xa2,0x16,0xbd,0x91,0xbd,0x1a,0xb8, + 0xd6,0xc5,0x23,0x01,0x5d,0xf8,0x4f,0xc3,0xc9,0x46,0x23,0xb2,0xfc,0xcd,0x2a,0x69,0xec,0x2e,0x4f,0x2b, + 0xc2,0xb8,0x08,0x8b,0x9a,0x34,0xa5,0x43,0x1a,0x2f,0x2b,0xb0,0xaa,0x96,0xf0,0x39,0xe3,0xd0,0xa0,0x89, + 0xc1,0x4c,0x94,0xaa,0xbc,0x8a,0x70,0x2e,0x54,0x3a,0x6a,0x89,0x85,0xb2,0xcf,0x10,0x5a,0x19,0x7e,0x4f, + 0x61,0xe3,0xc0,0x61,0x5c,0xd9,0xad,0xa2,0x42,0x36,0x52,0x0b,0xd1,0x3e,0x75,0x22,0x53,0x1e,0x43,0x0d, + 0xd9,0xb7,0x69,0x81,0x55,0x0e,0xce,0x10,0xe1,0xe0,0xf4,0xb2,0x7f,0x26,0xe8,0x36,0x89,0xad,0xc8,0x3b, + 0x2e,0xb3,0x09,0x40,0x1a,0xe1,0xbb,0xdd,0xee,0x36,0x5c,0xe4,0x67,0xaf,0xd7,0x24,0xaa,0x84,0x28,0x4f, + 0x02,0x62,0x19,0x5c,0x5d,0xdc,0x48,0x78,0x7e,0x44,0xf9,0xd3,0x1c,0xb1,0xae,0xe3,0x11,0x98,0xda,0xb8, + 0x7f,0x56,0x73,0x4c,0xbd,0x8a,0x12,0xd0,0x7e,0x34,0x7e,0x04,0xea,0x1a,0x11,0x2f,0xb0,0xe6,0x4f,0x9b, + 0xd5,0xeb,0x30,0x5a,0x9a,0xb0,0x8a,0x0e,0x98,0x73,0xb4,0xc7,0xfd,0xa9,0x26,0x02,0xab,0x63,0x04,0x4e, + 0x3b,0x86,0xdd,0x65,0x91,0x02,0x21,0x8e,0xbd,0xcf,0x8f,0x5b,0xb4,0x85,0x7c,0x56,0xc0,0x63,0x44,0x0e, + 0xfe,0x7a,0x3c,0x33,0xf7,0xc8,0xe5,0x71,0x45,0x61,0x06,0x5d,0xf6,0x6d,0xc9,0x2d,0x3d,0x31,0xd4,0xd9, + 0x21,0xe0,0xf1,0x8a,0x1c,0x1a,0x16,0x88,0xc7,0xc5,0x2e,0xbd,0xa7,0xd6,0x5f,0x43,0xab,0x3b,0xd8,0x66, + 0x83,0x56,0xe5,0x77,0x0f,0xc0,0x1f,0x05,0x36,0x28,0xc7,0x67,0x71,0xea,0xcd,0x6f,0xb7,0x9d,0x86,0xca, + 0x0a,0xc8,0x05,0x01,0x0e,0x6d,0xc6,0x70,0x07,0xeb,0x46,0xa6,0xfa,0x3f,0x2e,0xe7,0xd6,0x2c,0xc6,0x1d, + 0xab,0x76,0xb1,0x7c,0x0c,0x0b,0x50,0x01,0xe5,0x0d,0x2e,0x0d,0xa9,0x79,0xef,0x47,0xf7,0xc3,0x76,0x82, + 0xdc,0x86,0x9e,0x70,0x39,0x27,0x71,0x6d,0x9a,0x0f,0x5b,0xa9,0x3b,0x2c,0x00,0xa2,0xfb,0x2e,0x21,0xac, + 0x3a,0xe6,0xcd,0xa1,0xfe,0x9c,0xd0,0x2c,0xb4,0xce,0xc5,0xcb,0xa3,0x88,0xdc,0xfd,0x07,0x93,0x7d,0xf2, + 0x8b,0xde,0x2a,0x6b,0xa7,0x76,0xb2,0x88,0xf9,0x3d,0x35,0xa9,0x62,0x39,0x4c,0xb5,0x24,0x3b,0x3f,0xd7, + 0x33,0x14,0x24,0x11,0xa1,0x1b,0x56,0x86,0x8d,0x5f,0xbb,0xe4,0xaa,0x76,0xaa,0xc4,0xfa,0xf7,0xd7,0x75, + 0xd4,0x78,0xd2,0x58,0x22,0xaf,0xa7,0x7b,0x53,0xbd,0x35,0x73,0x59,0x51,0x36,0x1a,0xbd,0x65,0x02,0x80, + 0x12,0xaf,0x28,0x3b,0xa4,0x8c,0xc2,0x41,0x01,0x7f,0x0d,0x1f,0x92,0x12,0xef,0xef,0x6d,0x0b,0x15,0x6c, + 0x8e,0x5d,0xa0,0xe7,0xe0,0x3c,0xcb,0x6e,0xc9,0x2a,0x34,0x61,0x66,0xe5,0xdf,0x1a,0x72,0xed,0x17,0xc0, + 0xee,0x1c,0xb8,0x7a,0x90,0xd7,0xb9,0x20,0x3a,0x15,0x70,0x4c,0xc8,0x18,0xa2,0xc6,0x9c,0x2c,0xae,0x12, + 0xdf,0x74,0x8b,0x62,0x4b,0xb0,0xcd,0x01,0x27,0xee,0xf1,0x8b,0x63,0x2f,0x5b,0xd4,0x1b,0x75,0x6c,0xaf, + 0xd7,0xfd,0xb9,0x71,0x6d,0xce,0x8b,0xa0,0x13,0xd7,0x9b,0x31,0x90,0x39,0x69,0x20,0xc7,0x9d,0x2b,0x9b, + 0xd9,0xca,0xad,0xdd,0x08,0x97,0xf0,0x68,0x49,0x7a,0x56,0x5c,0x29,0xf1,0xd0,0xdb,0x2b,0x1e,0xd8,0x64, + 0x8d,0x49,0xda,0x17,0x4f,0xbe,0x67,0x97,0x64,0xee,0xe4,0x33,0xb8,0x25,0xcc,0xa9,0x5d,0x57,0x0b,0xb0, + 0xa2,0x0b,0x75,0xc9,0xeb,0x9d,0xb3,0xfc,0xe6,0xd6,0xfb,0xa5,0xa8,0xa6,0x8c,0x7c,0xca,0x9e,0xdb,0x58, + 0xc8,0x68,0xb0,0x86,0x57,0x97,0x0b,0xac,0xb3,0xcc,0x13,0xa2,0x17,0xa6,0xcf,0xe1,0x7a,0x61,0x81,0x0e, + 0x5d,0x7b,0x72,0x0a,0x63,0x6f,0x9d,0xd7,0xb7,0x3d,0xca,0xf2,0x31,0x78,0x55,0xc5,0x3b,0xd3,0xeb,0xfb, + 0x42,0xdb,0x40,0x98,0x85,0x66,0x38,0xf3,0xb9,0x8b,0x8b,0xac,0x3d,0x9b,0x45,0xe3,0x78,0x53,0x02,0x52, + 0x65,0x64,0xf4,0x33,0x18,0xb9,0x04,0x54,0x43,0x04,0xf8,0x95,0x76,0xb2,0x7c,0x71,0x07,0x1b,0x26,0xd6, + 0x01,0xc7,0xb9,0x5f,0xba,0x8a,0xc9,0x54,0x36,0x44,0x1c,0x2a,0x16,0x40,0xbb,0x7e,0x01,0xd6,0xb8,0xc0, + 0x9d,0x23,0x65,0x6b,0x25,0x14,0x9b,0x0e,0x56,0xbe,0x06,0x2b,0x49,0x57,0x23,0xe7,0xf3,0x15,0x9d,0x43, + 0xfa,0x60,0x44,0xac,0xa2,0x37,0xd4,0x1c,0xf1,0x0f,0x6e,0xb0,0x22,0x95,0xcd,0x76,0x03,0xbb,0xc0,0x7d, + 0x6e,0xd8,0xc5,0x83,0xeb,0xb9,0x3a,0x99,0x32,0xaf,0xb6,0x63,0x86,0xb2,0xe1,0x3c,0xad,0x06,0x97,0x85, + 0xcb,0x3a,0x95,0x69,0x49,0x69,0x6a,0x44,0xe9,0xf7,0x50,0xd4,0x10,0xbf,0x17,0xe5,0xfb,0xf5,0xd9,0x58, + 0x97,0x6d,0x1b,0xff,0x65,0x9b,0xad,0xcb,0x78,0x83,0xea,0x02,0x33,0x4b,0x21,0x79,0x38,0x57,0x95,0x71, + 0x54,0xe6,0x77,0x0a,0x19,0xaf,0x94,0x3c,0x58,0xf2,0x87,0x40,0x78,0xb1,0x57,0x2d,0x95,0x17,0x65,0x76, + 0x49,0xf5,0x04,0xbf,0x8a,0x6b,0xa7,0xba,0xa8,0x3b,0xaf,0xde,0x87,0xb4,0xcd,0xcd,0xc1,0xe0,0xbb,0x1e, + 0xeb,0x97,0x27,0xa9,0xf1,0x34,0x95,0x4d,0x3f,0x17,0x48,0x5e,0xa6,0x59,0xbb,0xf6,0x5c,0x6d,0x62,0x5e, + 0x79,0x63,0xe9,0xb3,0x0a,0xbe,0xb4,0xd9,0xb7,0x50,0x1d,0xca,0x65,0x0e,0x5b,0xa5,0xe8,0xc2,0xca,0x11, + 0xe9,0xf9,0xe6,0x8c,0x23,0x3d,0x0a,0xe9,0xdf,0x33,0x66,0xa7,0xc2,0xe9,0x5c,0xe8,0xd8,0xb6,0x8d,0xe5, + 0x33,0xd9,0xae,0x8b,0x82,0xe2,0x32,0x5e,0x1d,0xcc,0x9d,0x6a,0xd3,0xe6,0x0f,0x28,0x79,0x72,0xfc,0x32, + 0xb6,0x97,0x2b,0xd0,0x5d,0x5d,0xcc,0x47,0x27,0x8c,0x5f,0x4b,0xf4,0xc1,0x97,0x09,0x6d,0x66,0x0c,0x9c, + 0xd5,0x54,0x4f,0x72,0xaa,0x02,0x0d,0x42,0x15,0x26,0xa1,0xb9,0x1b,0x51,0x43,0x10,0x2b,0x6f,0x78,0x1c, + 0xea,0x15,0xd0,0xd2,0x35,0x86,0xca,0x1f,0x59,0xc4,0xc7,0x2a,0x4a,0xb8,0x4d,0xec,0x50,0x09,0xda,0x8f, + 0xcb,0x64,0x18,0xa9,0x2c,0x72,0x82,0x4f,0x8d,0x40,0x95,0x83,0x86,0x22,0x3c,0x47,0xe7,0x2b,0x86,0x3e, + 0x3c,0x7f,0x71,0xc9,0x6f,0xa9,0x95,0xee,0xfa,0x5b,0x6a,0xa6,0xee,0x2f,0x99,0x8b,0xfa,0x15,0x13,0xdc, + 0x96,0xb7,0x6a,0x7c,0xa1,0x27,0x9e,0x19,0x5d,0xd4,0x5d,0xe3,0x69,0x4b,0x75,0xb5,0xf8,0x92,0xe2,0xe3, + 0x1d,0xc7,0x35,0xbd,0x97,0xdd,0x37,0x62,0x98,0x63,0xf1,0x2f,0x46,0x7c,0x76,0xcf,0xb2,0x01,0xb1,0xff, + 0x03,0xb4,0x53,0x9f,0xac,0x0a,0x1c,0x00,0x00}; #endif diff --git a/src/assets/html.h b/src/assets/html.h index 35ece92..1615f64 100644 --- a/src/assets/html.h +++ b/src/assets/html.h @@ -4,180 +4,181 @@ #include const uint8_t EmbeddedIndex[] PROGMEM = { - 0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x0a,0xed,0x5b,0x6b,0x57,0xe3,0x38,0x12,0xfd,0x2b,0x26, - 0xb3,0x3b,0xd0,0xdb,0xcd,0x23,0x90,0x66,0x1a,0x06,0x98,0x09,0x79,0x40,0x80,0x84,0x90,0x84,0xe7,0x97, - 0x3d,0x8a,0xad,0xc4,0x02,0xc7,0x36,0x92,0x9d,0x90,0x9e,0xe9,0xff,0xbe,0x7a,0xf8,0x21,0xdb,0xb2,0x93, - 0xb0,0xbd,0xa7,0x67,0xce,0xd9,0xfe,0xd0,0xc1,0xaa,0xd2,0xd5,0x55,0xa9,0x54,0x2a,0xc9,0xf2,0xd1,0x5a, - 0xfd,0xba,0x36,0x78,0xec,0x36,0x34,0xd3,0x9b,0x58,0x27,0x47,0xc1,0xff,0x10,0x18,0x27,0x47,0x13,0xe8, - 0x01,0x4d,0x37,0x01,0x26,0xd0,0x3b,0x2e,0xdd,0x0e,0x9a,0x9b,0x5f,0x4a,0x27,0x47,0x1e,0xf2,0x2c,0x78, - 0x72,0xb4,0x1d,0xfc,0x72,0x25,0x1b,0x4c,0xe0,0x71,0xc9,0x33,0xe1,0x04,0x6e,0xea,0x8e,0xe5,0xe0,0x92, - 0xa6,0x3b,0xb6,0x07,0x6d,0x5a,0xef,0xa7,0x1d,0xfe,0xaf,0x94,0x50,0x9d,0x22,0x38,0x73,0x1d,0xec,0x49, - 0x7a,0x33,0x64,0x78,0xe6,0xb1,0x01,0xa7,0x48,0x87,0x9b,0xfc,0xe1,0x13,0xb2,0x91,0x87,0x80,0xb5,0x49, - 0x74,0x60,0xc1,0xe3,0x32,0x85,0xb0,0x90,0xfd,0xa2,0x61,0x68,0x1d,0x97,0x88,0x37,0xb7,0x20,0x31,0x21, - 0xa4,0x18,0x26,0x86,0xa3,0xe3,0xd2,0xd0,0xb7,0x0d,0x0b,0x6e,0xe9,0x84,0x50,0x45,0xa2,0x63,0xe4,0x7a, - 0x1a,0xc1,0x7a,0x24,0x78,0x66,0xe5,0xdb,0x42,0x40,0xff,0x10,0x7d,0x1c,0x3a,0xc6,0xfc,0xe4,0xc8,0x40, - 0x53,0x0d,0x19,0xc7,0x25,0xe0,0xba,0x25,0xf1,0x34,0xdd,0xd4,0x2d,0x07,0xbc,0x88,0x07,0xdd,0x02,0x84, - 0x1c,0x97,0x6c,0xc7,0x43,0x23,0xa4,0x03,0x0f,0x39,0x76,0x8d,0xd2,0x06,0xc8,0x86,0xb8,0x94,0xab,0x52, - 0xd2,0x0e,0x83,0xd2,0x3f,0x34,0x88,0xb1,0x83,0x0f,0x35,0x59,0xac,0xad,0x1d,0x6b,0xb6,0x6f,0x59,0xda, - 0xcf,0x3f,0x27,0xca,0xb7,0xb8,0xae,0xf6,0xad,0x44,0x39,0xa0,0x51,0x12,0x32,0xac,0x53,0xd2,0x7e,0xd7, - 0x2d,0xa4,0xbf,0x6c,0xb9,0x18,0x4e,0xb9,0xf5,0x4c,0x64,0xc0,0x8e,0xdc,0x38,0x35,0x81,0x0b,0xec,0x90, - 0xd7,0x04,0x12,0x02,0xc6,0xb0,0x74,0xf2,0xc7,0x1f,0xc9,0xc6,0x02,0x81,0xf6,0xed,0x1b,0x35,0x0d,0xad, - 0x40,0x0d,0x43,0xbb,0x13,0xfe,0x1f,0xda,0x45,0x57,0xf7,0x96,0x99,0x90,0x97,0xa1,0xc9,0x58,0x98,0xda, - 0x00,0x1e,0x38,0x44,0x13,0x8a,0xb8,0xed,0xda,0xe3,0x5f,0x87,0x80,0xc0,0xfd,0xca,0x27,0x74,0x77,0x7a, - 0xdd,0x9b,0xed,0x5c,0x9e,0x8d,0x9d,0x2a,0xfd,0xd7,0xe9,0xdf,0x9a,0x8d,0xdb,0x31,0xfd,0xab,0xce,0x1e, - 0xab,0xb3,0x5a,0xf5,0x91,0xfe,0x9c,0x3e,0x54,0xa7,0x93,0x73,0x56,0x70,0xf6,0xd0,0x6b,0xde,0x9f,0xf7, - 0x06,0xc3,0xdd,0xa7,0x1d,0x63,0xb7,0x39,0x7f,0xba,0x39,0x3d,0x7d,0x3a,0x3b,0x40,0x4f,0xfd,0xd3,0x8b, - 0xe1,0x7d,0xd3,0x7e,0xba,0xbb,0xb0,0x1e,0xef,0x7b,0x9f,0x75,0xdd,0xb2,0xba,0xac,0xc2,0xc3,0xe9,0x45, - 0xaf,0xd1,0xbc,0x85,0x1d,0x4c,0xee,0x8d,0x46,0x67,0xfc,0x5c,0xbd,0xb9,0xd2,0x1f,0x4f,0xf5,0x6a,0x57, - 0xaf,0xd6,0x8c,0x9b,0x4e,0xa5,0xda,0xd9,0x6d,0xd7,0x2a,0xe3,0x1e,0x79,0xbc,0x38,0x68,0x74,0x8c,0x6a, - 0xf7,0xb1,0x5a,0x07,0xd5,0x3a,0x74,0x8d,0x5b,0xb3,0x5d,0x7e,0x6d,0x3e,0xfb,0x78,0xec,0x1e,0xf4,0xf5, - 0xf6,0xf9,0xd8,0xf8,0xa5,0xbc,0x77,0xb7,0x37,0xf2,0x6e,0xdd,0xcf,0xf0,0x7c,0xdc,0x6e,0x96,0x31,0x3e, - 0x6b,0x00,0x7f,0xff,0xee,0xbc,0xbe,0x7b,0xde,0x1e,0x9e,0x7f,0x7e,0xbd,0xb8,0xbe,0x3a,0xc7,0xe0,0xe3, - 0xe8,0xe5,0xeb,0x90,0x3c,0xf6,0x88,0xd9,0xfe,0xe2,0x5e,0x0d,0xc6,0xb7,0xad,0x71,0x7f,0x3c,0xf5,0xdb, - 0x6d,0xe7,0x71,0xf6,0x11,0xb5,0x1f,0x07,0x78,0xff,0xc6,0xec,0x3c,0xb6,0x71,0x07,0x75,0xe6,0xb3,0xd6, - 0x95,0x35,0xbf,0xbb,0x34,0xf4,0xf9,0xbc,0x4b,0x26,0x7a,0x8f,0xcc,0x6f,0x3f,0xef,0xbc,0x8c,0xcf,0xbd, - 0x9b,0x1b,0x7f,0xb7,0x6a,0x74,0x2e,0x9a,0x6e,0xfd,0xa5,0x7a,0x59,0x69,0x6d,0x5f,0xb5,0xee,0xdb,0xc3, - 0xdd,0x2a,0x69,0x9d,0xea,0xaf,0x3b,0xa8,0x77,0x06,0x6f,0xce,0xba,0x83,0xa7,0xd1,0xdd,0xfe,0x4d,0x63, - 0xe7,0xe3,0xb8,0x7e,0xd6,0xdc,0xc5,0x0e,0x39,0x6b,0x8c,0xdb,0x37,0x6f,0xad,0xaa,0x69,0x3f,0x55,0x51, - 0xb7,0xf3,0xa5,0xe2,0xbb,0xbd,0xd1,0xce,0xf6,0xb5,0xe5,0x92,0xab,0xda,0xa9,0xbb,0x37,0x7f,0xdd,0xd1, - 0xcd,0xb1,0x57,0xbb,0xbd,0x7d,0xc2,0xbd,0xd9,0xfe,0x4d,0xfd,0x7a,0xaf,0x71,0x7f,0xde,0x7f,0x6d,0x1e, - 0x78,0x00,0x3f,0x81,0xfe,0xe5,0xc5,0x03,0xbc,0xa8,0x1b,0xc3,0x1b,0x8b,0x34,0x76,0x2e,0xeb,0xfb,0x17, - 0x9d,0xed,0x4b,0xa7,0x47,0xce,0xcc,0xb7,0x87,0xcb,0x9a,0x55,0xbb,0x3c,0xbf,0x68,0x8d,0x5e,0x06,0xe6, - 0xac,0x7d,0x6f,0x56,0xf7,0x8d,0xd3,0xbe,0x63,0xf5,0xd0,0xf3,0xcb,0xc5,0xb5,0x51,0x7e,0xba,0x9d,0x1e, - 0xcc,0x6f,0x0e,0xae,0xdd,0xd7,0xe1,0xb9,0x8b,0xc0,0xed,0x1d,0x68,0x0c,0x9f,0x1a,0xbf,0x78,0xad,0xd6, - 0xb3,0x73,0x7a,0xf9,0x30,0x27,0x0e,0x29,0xeb,0x95,0xbb,0x2f,0x70,0x78,0xd5,0x30,0x86,0xd3,0xdd,0xa1, - 0xde,0x26,0x8d,0x5f,0xc6,0xcf,0xfe,0xa9,0x31,0x7d,0xe8,0xf5,0x2f,0x2a,0xcd,0x8f,0xdb,0xb3,0xd7,0xd6, - 0xc3,0x03,0x6e,0x9d,0xcd,0x26,0x0f,0x7b,0x5f,0x67,0x40,0xbf,0xaa,0x9b,0xb0,0x73,0x7d,0x50,0xbe,0x7e, - 0xbe,0xba,0xb9,0x34,0xca,0x95,0xbb,0x76,0xbd,0x66,0x3f,0x8e,0x6b,0x6f,0x77,0xcf,0xad,0xbd,0xce,0x00, - 0x96,0x27,0x7d,0xa7,0x5b,0xaf,0x1c,0xbc,0x55,0xfa,0x98,0x3a,0xc7,0xc1,0x6b,0xd7,0xae,0x40,0x67,0x5a, - 0x6b,0x73,0xef,0x69,0x58,0xcd,0xc1,0x4b,0xdf,0xbf,0x99,0xd4,0x6a,0xd4,0x13,0xcd,0x32,0x73,0xf1,0x7f, - 0x78,0x1b,0xeb,0x3c,0x3e,0xad,0x7f,0xe0,0x9e,0x4d,0x4b,0x8f,0xcc,0x5d,0x26,0x21,0x1e,0xf0,0x7c,0xb2, - 0x45,0xe6,0xc4,0x83,0x93,0x56,0x9d,0x4e,0xa8,0x60,0x16,0xfe,0xc6,0x2b,0x85,0xe5,0xb4,0xde,0x47,0x6d, - 0xfd,0x50,0x5b,0xa7,0x3f,0xe9,0x2a,0xb4,0x74,0x5d,0xa0,0xee,0x26,0x66,0xc3,0x8c,0xce,0x2a,0xa1,0x9b, - 0x9c,0x25,0x74,0xf2,0xd8,0x50,0x0f,0x26,0xa5,0x54,0x8e,0x6c,0x83,0xcd,0x42,0x16,0x2c,0x0f,0xd9,0xbc, - 0xd9,0x14,0x95,0x05,0x50,0x5f,0x34,0x0a,0xdc,0x2d,0x68,0x83,0xa1,0x05,0x0d,0x4a,0x70,0x3d,0x40,0x82, - 0xc6,0x3a,0x23,0x61,0x20,0x12,0x17,0x94,0x82,0x29,0x1b,0x74,0x5e,0x86,0xd0,0x75,0x3a,0xc7,0x5d,0x07, - 0xd9,0xde,0x56,0x6c,0x13,0x8d,0x2a,0xe6,0xb5,0x93,0x2c,0x47,0x2e,0x6d,0xac,0x00,0x93,0xd2,0xe0,0x15, - 0x03,0x53,0x47,0x71,0xe3,0xbd,0xbd,0x1f,0x43,0xef,0x1e,0x35,0x79,0x4b,0xb4,0x92,0x68,0x70,0xe3,0x43, - 0x7e,0xff,0x88,0x50,0x9c,0x38,0x06,0x4c,0xf5,0x4f,0x85,0x34,0x80,0x6f,0xde,0xc6,0xbb,0x99,0x26,0x88, - 0xca,0xf6,0x4f,0xd1,0x13,0xab,0xd8,0x00,0x4d,0x04,0x19,0xc1,0xa5,0x1e,0x15,0xc6,0xcd,0xa7,0x83,0xad, - 0x08,0xf9,0x74,0xe5,0x31,0x90,0x3d,0x2e,0x85,0x0c,0xc2,0xe7,0x10,0x3e,0x78,0x8e,0x3a,0x1a,0x3c,0xb7, - 0x42,0xa2,0xc9,0xee,0x09,0xcc,0xb5,0x40,0x89,0x2d,0x37,0x74,0x39,0x45,0x43,0x2c,0x56,0x94,0xe3,0x60, - 0x02,0x24,0xfb,0x3c,0x03,0xd8,0xe6,0x0c,0x44,0x65,0x13,0x90,0x1e,0xa4,0x59,0x40,0x83,0x2d,0x4d,0x54, - 0xd3,0x0d,0x99,0xf0,0xb5,0x6a,0x0b,0x47,0xb2,0xc0,0x09,0x5c,0xaa,0x12,0x42,0x71,0x61,0x0f,0x02,0xc2, - 0xec,0x9a,0xad,0x26,0x24,0x5b,0xd2,0x44,0x93,0x8a,0x25,0x34,0x41,0x84,0x44,0x63,0xae,0xbf,0x0c,0x30, - 0xd0,0x61,0x0a,0x32,0x16,0xc4,0x4c,0x62,0x1b,0x28,0x6a,0x1f,0x81,0x90,0xe7,0xd0,0xf7,0x3c,0x6a,0x0f, - 0xf1,0xb3,0xe9,0x62,0xba,0x8a,0xe1,0x79,0x98,0x5b,0x6c,0x03,0x17,0x6d,0xf3,0x7a,0x1e,0xab,0xb7,0x4d, - 0x87,0x33,0xb7,0xe5,0xba,0x33,0xb3,0x99,0xb1,0x03,0x06,0xe0,0x44,0x4b,0x37,0x12,0x2e,0xdf,0xd4,0x87, - 0xa0,0x05,0x3d,0xd8,0x5f,0xdc,0x9d,0x3a,0x57,0x8c,0x20,0x33,0x8e,0x13,0xe6,0x1f,0x60,0x8a,0xc6,0x62, - 0x60,0x3d,0x30,0x24,0xd9,0xfe,0xc9,0x49,0xc9,0x3a,0xa0,0xde,0x3e,0x85,0x34,0xcc,0x89,0x3f,0x06,0x60, - 0x48,0xdd,0x41,0x5b,0x17,0x66,0x5a,0x67,0x29,0x48,0xc8,0x53,0x52,0x88,0xe4,0x11,0xd7,0xc0,0xac,0xb4, - 0xc1,0x81,0x14,0x73,0xc1,0xbb,0xda,0xf6,0x30,0x1a,0x8f,0x21,0x2e,0x68,0x3d,0xd2,0x88,0xda,0x0f,0x4b, - 0xbe,0x0f,0x83,0x38,0x0c,0xe4,0x73,0x90,0x74,0x22,0x16,0x71,0xd9,0xf7,0xe1,0x21,0xd6,0x9b,0x82,0x51, - 0x10,0xf2,0x78,0x14,0xf8,0xb3,0xa2,0xed,0x74,0x24,0x50,0x0e,0x36,0x5b,0x3a,0xf7,0xd2,0x03,0x2a,0xaf, - 0xa0,0x7b,0x1c,0xe2,0xe4,0x08,0xd3,0x28,0xe2,0x68,0x87,0x5c,0x76,0x5c,0x92,0xb4,0x81,0x65,0xf5,0x3d, - 0xe8,0x92,0x01,0xf6,0x69,0x25,0x16,0x39,0x58,0x48,0xa6,0x99,0x7a,0x28,0xa0,0x9d,0x66,0xb9,0xa4,0x47, - 0xe5,0x2c,0x5c,0x72,0x20,0x89,0xdd,0x12,0xd0,0x4d,0x60,0x91,0x42,0xec,0x11,0x53,0x50,0x81,0x87,0xe6, - 0x27,0x16,0xcd,0x93,0x71,0x6a,0x81,0xa6,0x76,0x73,0xc3,0x48,0x17,0x01,0x26,0xf3,0xe7,0x29,0xb0,0x7c, - 0x31,0x39,0xdb,0xc0,0x33,0xb7,0x46,0x96,0xe3,0xe0,0x8d,0x50,0xf7,0x8e,0x09,0xb5,0x6d,0x6d,0xf7,0xf3, - 0x67,0xed,0x5f,0x5a,0x79,0x67,0x87,0x99,0xec,0x9f,0x61,0x3e,0x9d,0x69,0x5d,0x4e,0xa6,0x91,0xed,0xfa, - 0x9e,0xe6,0xcd,0x5d,0xda,0x61,0x0c,0x6c,0x9a,0xa1,0x6b,0x13,0x64,0x1f,0x97,0x76,0xe8,0x2f,0x78,0x3b, - 0x2e,0x51,0xc8,0x52,0xb2,0x76,0xd4,0xf9,0x2d,0xdb,0x9f,0x0c,0x21,0x8e,0x29,0xdf,0x09,0x8e,0x79,0xa1, - 0x41,0xee,0xe5,0x5a,0x6c,0xb7,0xe9,0xe6,0xc8,0xa1,0x20,0x1b,0x4c,0xfc,0x49,0xa3,0x6b,0x1d,0x7c,0xfb, - 0x40,0x7f,0x34,0xb2,0xac,0x15,0x98,0xe2,0xd6,0xf4,0xc7,0x9a,0x20,0xe6,0x90,0xea,0xbf,0x7a,0x7d,0xcd, - 0x09,0x39,0xb4,0x2e,0xb5,0xc5,0x44,0xfb,0x9d,0xf8,0xc3,0x09,0xf2,0xe2,0xcd,0x15,0xdd,0x16,0x5a,0x73, - 0xb6,0x70,0x0f,0x02,0xd5,0xc4,0x6c,0x89,0xc3,0x0f,0xd3,0x48,0xcd,0x19,0xdd,0x84,0xfa,0x4b,0xc4,0x77, - 0xe8,0x38,0x16,0x04,0x36,0x9b,0x04,0x52,0x9d,0x30,0xf5,0x2a,0x25,0x7c,0x3f,0xa1,0xd2,0xb0,0x83,0x1c, - 0x8b,0xf5,0x8f,0x63,0xca,0xfd,0x51,0xa3,0x15,0x2d,0xe8,0x6b,0xd9,0x04,0x2a,0x4a,0x00,0xff,0xfc,0x53, - 0x53,0x48,0xc5,0x54,0x64,0x1b,0xd0,0x3d,0x45,0xe0,0xa5,0xed,0xb6,0xe8,0x3e,0x1e,0xdb,0xd0,0x93,0xf3, - 0x40,0x0b,0x0c,0xa1,0xa5,0x71,0x07,0xe3,0xc6,0xa1,0xe3,0x4b,0x10,0x83,0x63,0xc6,0x54,0xc3,0x24,0x75, - 0x02,0x30,0x8e,0x93,0x74,0x15,0x31,0xf4,0x25,0xbe,0x3d,0x55,0x60,0x67,0x5c,0x24,0x69,0x23,0x2f,0xc5, - 0xe4,0xc8,0xac,0x9c,0xf4,0xe0,0x18,0x5a,0x84,0x0e,0x5b,0x25,0xdf,0xb6,0xd1,0x93,0x05,0xed,0xb1,0x67, - 0x46,0x87,0x05,0x62,0x0e,0x05,0x52,0x79,0x1a,0xa9,0xab,0x47,0x0e,0x4d,0xa7,0x07,0xb4,0xe4,0xd5,0x40, - 0xb8,0xe6,0x61,0x58,0x2f,0x1a,0x94,0x6f,0xc9,0xe1,0xe4,0xf5,0x36,0xa3,0xfd,0x77,0xb1,0x97,0x2d,0xe1, - 0x5f,0x81,0x63,0xab,0xdc,0x4c,0x0e,0x00,0x80,0xaf,0x6f,0x22,0xad,0x10,0x89,0xd1,0x4f,0xd9,0xa3,0x08, - 0x91,0xd3,0x48,0xd3,0x65,0x43,0x98,0x43,0x3d,0xde,0x99,0xc4,0x26,0x13,0x32,0x74,0xda,0x19,0x9c,0x1f, - 0xd7,0x84,0x29,0xd8,0x39,0x0e,0x8b,0x56,0x14,0x4d,0xf7,0xf2,0x06,0x3f,0xb4,0xff,0x80,0x7a,0x50,0x29, - 0x4e,0xef,0x2d,0x1a,0x89,0x68,0x5d,0xc7,0xe5,0x79,0x13,0x0f,0x23,0x2c,0xfc,0x28,0xe9,0x36,0xd1,0x1b, - 0x34,0x24,0xcf,0x14,0x95,0xd2,0x95,0xcb,0xea,0xca,0x7d,0xdf,0xc6,0x88,0x14,0x57,0xdd,0xcd,0xad,0x4a, - 0xa2,0xb9,0x15,0xd6,0xdc,0x16,0xdd,0x5d,0xd8,0xed,0x51,0x48,0x3a,0xdd,0xe9,0xa4,0x8f,0xcb,0xe6,0x61, - 0x91,0x71,0x47,0x32,0xca,0x66,0x34,0x89,0x99,0x57,0x47,0x80,0x6c,0xe1,0x0d,0x88,0x7b,0xe1,0x94,0x66, - 0x5b,0x1d,0x44,0x5c,0x0b,0xf0,0x90,0xb9,0xc1,0xca,0x3f,0x69,0x7c,0x65,0x7e,0x1f,0x7b,0x0c,0x2d,0xc0, - 0xe3,0xb5,0xba,0x03,0x74,0xce,0xc2,0x3c,0x9e,0x72,0xd5,0xa5,0xa9,0xb2,0x04,0x25,0x87,0xa9,0x1c,0x50, - 0x21,0x7c,0x31,0xc0,0x9c,0x2c,0x9e,0x7d,0x13,0xc7,0xa6,0x8a,0x05,0x93,0xaf,0xcd,0x15,0x12,0x93,0x6e, - 0x01,0xa4,0xe7,0x43,0x52,0x8c,0x39,0x10,0x1a,0xab,0x80,0xce,0xa0,0x61,0x2f,0x82,0xbd,0x0f,0x75,0x56, - 0x62,0x6b,0xfa,0x78,0x11,0xdd,0x40,0x65,0x15,0xd8,0x11,0x46,0xc5,0xa0,0x4d,0xae,0xb0,0x0a,0x24,0xa1, - 0x6b,0x1c,0x2e,0x06,0xed,0x07,0x2a,0x2b,0xc1,0xfa,0x0b,0x3c,0xa0,0xef,0x67,0x3c,0x40,0x9d,0xbf,0x2d, - 0x91,0x8f,0x85,0x8d,0x0e,0xe9,0xaf,0xe9,0xd1,0xd1,0x22,0x3f,0x2e,0x2f,0xcb,0x72,0x29,0xc8,0xcf,0xe4, - 0x2c,0x8d,0x4d,0xea,0xf8,0x4c,0x9d,0x1d,0xbb,0xa8,0xc3,0x62,0xc7,0xa9,0x53,0x59,0xce,0xd1,0x93,0xd8, - 0x6b,0xb1,0x26,0x83,0xbd,0xfd,0x61,0x78,0x56,0x45,0x19,0xd3,0x8d,0x32,0x4b,0x87,0xd2,0x8b,0x17,0x30, - 0x0c,0x69,0xe5,0x52,0x37,0x5a,0x35,0xc2,0xbd,0xbd,0xc0,0xcd,0x5d,0x9a,0x62,0x02,0xb2,0x31,0x45,0x76, - 0x59,0x52,0xb1,0x09,0x03,0x94,0x78,0x0e,0xce,0x24,0x79,0xf6,0x79,0xca,0xa1,0xfa,0xbc,0x9c,0x36,0x7e, - 0x98,0x96,0xac,0x7f,0x88,0x2d,0xcb,0x92,0xd8,0xc2,0x54,0xb6,0xed,0xf0,0xcc,0xa7,0x30,0x99,0x9d,0x08, - 0x9d,0x15,0xd3,0x59,0x51,0x6b,0x41,0xc2,0x21,0x94,0x96,0x4c,0x69,0x53,0x88,0x89,0x9c,0x32,0x01,0x54, - 0xf7,0x31,0xb5,0x4d,0xe1,0xe0,0x15,0xeb,0x27,0x73,0xcd,0xe4,0xa2,0x94,0x4b,0x28,0xdb,0x2a,0xcf,0x48, - 0x17,0x31,0x5b,0x9c,0x6c,0x14,0x23,0x74,0xe8,0x70,0xe2,0x55,0x53,0x90,0x62,0xc8,0xaa,0x35,0xa3,0xcb, - 0xd9,0xaa,0xb9,0x49,0x31,0xe6,0xb5,0x6d,0xcd,0xf3,0x72,0x96,0xd5,0x5c,0x49,0x40,0xd7,0x73,0xa3,0xa8, - 0x82,0x47,0x3d,0x15,0x51,0x33,0x8e,0xb3,0x68,0x3b,0xa2,0xd2,0x5a,0x6e,0x43,0xa2,0xc4,0xcf,0xdf,0x92, - 0x04,0x5d,0xcd,0x6c,0x4a,0x32,0x8c,0x69,0xb2,0x4c,0x2d,0x90,0x43,0x94,0x0b,0x57,0xe1,0x27,0xd0,0x16, - 0xd2,0x32,0x44,0xa3,0x4b,0x6c,0x91,0xa2,0x7e,0xbc,0x77,0x93,0x94,0x02,0xf8,0x4b,0x6d,0x93,0x26,0x72, - 0xd0,0xfc,0x8e,0x1b,0xa5,0x44,0x30,0xce,0xdd,0x2a,0x45,0x23,0xf6,0x1d,0x37,0x4b,0xc2,0xbd,0x0e,0xf9, - 0xb0,0xac,0x8b,0x06,0xd8,0x31,0x3c,0xa7,0xc0,0x5e,0x7f,0xfd,0xdb,0x45,0xb6,0xe2,0x94,0x55,0x68,0x76, - 0xa9,0x6c,0xa1,0xaf,0xf1,0x43,0xb9,0x7c,0xe8,0xdc,0x7c,0x81,0x4a,0x97,0xe1,0x67,0x20,0x9c,0x3e,0x85, - 0x4d,0x1b,0x2c,0xd2,0x50,0x05,0xf7,0x7c,0x7a,0x12,0x72,0x2e,0xc9,0x48,0x27,0x13,0xce,0x73,0x63,0x6f, - 0x44,0xa7,0x23,0xfd,0x0d,0xac,0xf7,0x05,0xdd,0x08,0x60,0xe0,0xb8,0xec,0x9d,0x43,0x21,0x8a,0xe2,0xd0, - 0x26,0x85,0x72,0xea,0xd0,0x3c,0x62,0x72,0xeb,0xe6,0xc5,0xeb,0xff,0xa7,0xa2,0xf9,0xa9,0xa8,0x30,0xe5, - 0xff,0x22,0x19,0x4d,0x44,0x87,0xbc,0x86,0xff,0x1e,0x09,0x69,0xf1,0x29,0x6c,0xe2,0x95,0x4a,0x51,0xf2, - 0x5a,0x93,0x5f,0xd3,0xc6,0x89,0xab,0xfc,0xfa,0x65,0xb9,0xa4,0x55,0xaa,0x21,0xbd,0xcf,0x4e,0x46,0x7f, - 0xb5,0x4e,0x6e,0xd8,0x37,0x19,0x80,0x82,0x91,0x54,0xf7,0x9c,0xd7,0x97,0xee,0xdb,0x2c,0x66,0x17,0x1c, - 0xc1,0xe6,0x32,0x93,0xde,0x80,0xaf,0xcc,0x4c,0xaa,0x9b,0x61,0x26,0xa5,0x1f,0x84,0x20,0x43,0x59,0x9d, - 0x96,0xe7,0x2f,0x03,0x1e,0x7c,0xf3,0x44,0xc2,0xc1,0xeb,0xc7,0xc9,0x74,0x0a,0x21,0xe1,0x7a,0x6b,0x8a, - 0x9e,0x27,0xb8,0xb8,0xb4,0x43,0x33,0x07,0x2b,0xf9,0x84,0xb2,0x7c,0x4e,0x51,0x6d,0xce,0x2b,0x7e,0x52, - 0x71,0x8b,0xa5,0x0b,0xf9,0x2d,0x1e,0x45,0xc3,0xd4,0xdd,0x85,0x40,0x79,0x43,0xcc,0x2a,0xb3,0x17,0x5f, - 0xc1,0x68,0xb2,0xe9,0xb1,0xc9,0x22,0x24,0x76,0xac,0x15,0x07,0x9c,0x21,0x65,0x46,0x5a,0x8e,0xbe,0xfe, - 0x50,0x84,0x7e,0x92,0xb4,0x3a,0x72,0x55,0x68,0xc8,0xa5,0x31,0x0a,0x53,0xdf,0x5e,0xc6,0x09,0x90,0xab, - 0x36,0x33,0x5a,0x68,0x17,0xf6,0x4e,0x22,0x6d,0xca,0xa4,0x7f,0xfa,0x43,0x1b,0x7a,0x13,0x40,0x5e,0x94, - 0x5e,0x1a,0x49,0x97,0xf2,0xd5,0x18,0x4b,0xed,0xb1,0x92,0xfc,0xbf,0xa4,0x3d,0x06,0x1e,0x9c,0x49,0x19, - 0xbd,0xa4,0x1c,0x88,0x96,0x21,0x1c,0xa2,0x28,0xd9,0x46,0xc2,0xf7,0x50,0xcd,0xbc,0xc5,0x31,0x1d,0xe2, - 0xb1,0x1b,0x9c,0x2a,0xc6,0xa1,0x6c,0x11,0xe5,0x43,0xd7,0x02,0x3a,0x34,0x1d,0xcb,0x60,0xeb,0x72,0x0e, - 0x48,0x37,0xd6,0x61,0x7e,0xcf,0xba,0x19,0xb5,0xad,0xec,0x67,0x2c,0x5d,0x38,0x57,0xff,0x1e,0x0b,0x62, - 0xf4,0x7e,0x3f,0x67,0x31,0xf4,0x5d,0x76,0xc9,0xa4,0x89,0xf0,0x64,0x06,0x30,0x4c,0xbe,0xbf,0x17,0x57, - 0x01,0x46,0x81,0x2c,0x7d,0x88,0x23,0x77,0x75,0x84,0x2c,0x28,0xcc,0x1b,0x6a,0x37,0x59,0xc9,0x5f,0xc0, - 0x48,0xb1,0x5d,0x44,0x4f,0xbb,0xd8,0x19,0xb3,0x48,0xc3,0xaf,0xec,0x05,0x2f,0xfa,0x69,0x7f,0x53,0x42, - 0x9e,0x52,0xca,0x46,0xce,0x58,0x25,0xbc,0xfc,0x94,0x31,0x4b,0x6e,0xf4,0x4c,0x57,0x2c,0x0a,0x9f,0xb1, - 0xad,0x16,0x5d,0x2c,0x4a,0x27,0x7b,0xd4,0x3f,0xb1,0x57,0x8b,0x6f,0x66,0xe5,0x36,0x1f,0x5a,0x2a,0x79, - 0xbf,0xa3,0x20,0x63,0xea,0x73,0x00,0x95,0x87,0xd8,0x9e,0x9b,0xb6,0xc2,0x0f,0x7f,0x67,0x2c,0xdf,0x2f, - 0x76,0x30,0xfa,0xca,0xf6,0x01,0x56,0x32,0x6c,0x52,0xda,0x7d,0x88,0xa7,0x52,0x42,0x1c,0xf7,0x47,0x08, - 0x96,0x09,0x9b,0x31,0x4a,0x1c,0x50,0xd2,0x38,0x25,0x45,0x12,0x5d,0xc0,0x8a,0xf7,0x67,0xca,0x04,0x19, - 0x5e,0xa1,0x68,0xb9,0x03,0x1a,0x19,0x4b,0xc5,0x2e,0x6e,0x68,0x79,0x7e,0x16,0xc8,0xb8,0x34,0x45,0xba, - 0x02,0xde,0x32,0xc6,0x62,0x95,0x33,0x44,0x38,0xe2,0x0a,0x04,0xa4,0x2b,0x8c,0x12,0x81,0xe0,0x22,0xe3, - 0x22,0x02,0xc2,0x11,0x53,0x04,0x18,0xa2,0xe2,0x55,0x49,0x4e,0x0e,0x63,0x39,0xe1,0xcd,0xfc,0xf0,0x62, - 0x25,0x93,0x6d,0x86,0x6f,0x80,0xb3,0xd4,0x02,0xfd,0xa5,0xf8,0x45,0xd8,0x11,0xc9,0xa8,0xe8,0x44,0x0b, - 0x37,0x7d,0x99,0x49,0x0f,0x01,0xd6,0xcd,0xab,0xa8,0xae,0x1c,0x4c,0xb9,0x88,0xce,0xbf,0x48,0x9a,0x4f, - 0xb0,0xcf,0x75,0x95,0x7b,0xc0,0xcc,0x9c,0x77,0x91,0x4d,0x0a,0x26,0x7d,0xde,0xe0,0xd1,0x6a,0x57,0x8d, - 0x7a,0xb5,0x9b,0x66,0x11,0x96,0x2f,0xe7,0xd7,0x11,0x4a,0xf6,0x0a,0x4f,0xcc,0x6e,0x8b,0xf6,0x9f,0x35, - 0xb4,0xbc,0x67,0x09,0xd8,0xfe,0xa0,0xaa,0x66,0x47,0x05,0xab,0xd0,0x63,0x38,0x8b,0xf8,0xf1,0xb6,0x56, - 0x22,0x58,0xed,0x8a,0xc0,0xad,0xa0,0x18,0x8a,0x96,0x26,0x19,0x61,0x15,0xd2,0x04,0x6e,0xd8,0xe2,0x4a, - 0x44,0xbb,0xf7,0xed,0x3a,0xa6,0x89,0x08,0xee,0xd7,0x55,0xf6,0x94,0xc5,0x4b,0x13,0x4e,0x60,0x16,0x92, - 0x76,0x67,0x13,0xde,0xee,0x3b,0x29,0xd7,0xae,0x0a,0x29,0xd7,0xae,0xde,0x41,0x99,0x62,0x2e,0xa4,0xcc, - 0xda,0x5d,0x81,0xf2,0x6c,0x52,0x15,0xfb,0xa6,0x0c,0xdb,0x48,0xb2,0x24,0xd1,0x18,0x29,0x97,0xa3,0xd4, - 0xd8,0x4a,0x14,0x9b,0x18,0xbe,0xfa,0xd0,0xd6,0xe7,0x0a,0x92,0x91,0x6c,0x69,0x9a,0x31,0x5a,0x01,0x51, - 0xa9,0xc9,0xbc,0xf8,0x35,0x01,0x6e,0x26,0x7e,0xc9,0x2f,0x4a,0xa8,0xb8,0xda,0x6d,0x5d,0xc2,0x0c,0xeb, - 0x58,0xb2,0x4c,0x3c,0x97,0x70,0xf2,0xf8,0xca,0x4d,0x69,0x0b,0xd3,0xc7,0x58,0xdb,0x5c,0x2a,0x7f,0xfc, - 0x61,0x1b,0x92,0x65,0xbf,0x1c,0x58,0x53,0x7e,0x39,0x10,0xdf,0x40,0x57,0x5d,0x3e,0xcf,0x26,0xbd,0x8e, - 0x9b,0xc8,0x79,0x7f,0xb6,0xc0,0xab,0xef,0xfc,0xaa,0x85,0xdb,0xcb,0x58,0xb6,0x35,0x04,0xfa,0x8b,0x3a, - 0xf7,0x95,0x4e,0x01,0x25,0x7d,0xc5,0xf5,0xe5,0x45,0x4e,0xcf,0x0e,0xb6,0x6b,0x8e,0x2f,0x9f,0x9c,0x48, - 0x80,0x3a,0x93,0x2c,0xe7,0xef,0x31,0x50,0xc6,0x79,0x32,0x88,0xc1,0x61,0x76,0x39,0x38,0xcc,0x2e,0xef, - 0x27,0xc6,0x59,0x56,0x9f,0xa1,0xaf,0x00,0x1b,0xec,0xe2,0xae,0x76,0x72,0xac,0x95,0x15,0x5b,0xa5,0x62, - 0x6d,0xb3,0xa2,0xea,0x56,0xe2,0xfe,0x70,0x68,0xaf,0xca,0x0f,0xbb,0xb8,0x9c,0x77,0x92,0x26,0x31,0xf6, - 0x09,0xac,0xf9,0x34,0x3d,0x4f,0x1d,0x97,0x29,0x34,0x16,0x9f,0x99,0xa9,0x6d,0xc2,0xbb,0x44,0xd4,0xc6, - 0x08,0xba,0x9b,0x77,0x71,0x3a,0x0b,0x53,0x62,0x57,0xdb,0xe9,0x1f,0x52,0xfa,0x2a,0x5e,0xa0,0x6c,0xf3, - 0xe2,0x25,0x4e,0xeb,0x57,0xdd,0x4b,0xda,0x34,0x8c,0x49,0xd3,0xaa,0xcf,0x9b,0x13,0xdd,0x34,0x01,0xe9, - 0x64,0xa5,0x1b,0x1f,0xf8,0xf7,0x65,0x12,0x75,0x06,0x11,0xcc,0x36,0xf6,0xb1,0x59,0xc2,0x61,0xe4,0x18, - 0xb2,0xe0,0x83,0x14,0xfe,0x3e,0x72,0x84,0xde,0xf2,0x5f,0x49,0xd2,0x15,0x96,0xc8,0xd9,0xad,0xee,0xb8, - 0x73,0xfe,0x8e,0x46,0x60,0x0f,0xb1,0xf4,0xd9,0x5e,0xa0,0x9b,0xfe,0x6a,0x2f,0x3c,0xba,0xb8,0x13,0x62, - 0xfe,0xf1,0x5e,0xaa,0x46,0xf4,0xd1,0x5e,0xe6,0x2d,0x4f,0xf0,0xa5,0xb0,0x45,0x87,0xc2,0x07,0x63,0xea, - 0x4b,0xcf,0x60,0x0a,0x44,0x61,0xe9,0x84,0x6f,0xca,0xab,0x2e,0xb5,0x8f,0xf4,0xe5,0xb0,0xf8,0x66,0x78, - 0x9b,0x7f,0x2a,0xfd,0x1f,0xfc,0xb1,0x4d,0xc6,0x40,0x3d,0x00,0x00}; + 0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x0a,0xed,0x5b,0x6b,0x57,0xe3,0x38,0x12,0xfd,0x2b,0xee, + 0xcc,0xee,0x40,0x6f,0x0f,0x8f,0x00,0xcd,0x34,0x0c,0xb0,0x13,0xf2,0x80,0x00,0x09,0x21,0x09,0xcf,0x2f, + 0x7b,0x14,0x5b,0x89,0x05,0x8e,0x6d,0x24,0x3b,0x21,0x3d,0xd3,0xff,0x7d,0xf5,0xf0,0x43,0xb6,0x65,0xc7, + 0x61,0x7b,0x4f,0xcf,0x9e,0xb3,0xfd,0xa1,0x83,0x55,0xa5,0xab,0xab,0x52,0xa9,0x54,0x92,0xe5,0xa3,0x0f, + 0x8d,0xeb,0xfa,0xf0,0xb1,0xd7,0xd4,0x4c,0x6f,0x6a,0x9d,0x1c,0x05,0xff,0x43,0x60,0x9c,0x1c,0x4d,0xa1, + 0x07,0x34,0xdd,0x04,0x98,0x40,0xef,0xb8,0x72,0x3b,0x6c,0x6d,0x7c,0xa9,0x9c,0x1c,0x79,0xc8,0xb3,0xe0, + 0xc9,0xd1,0x56,0xf0,0xcb,0x95,0x6c,0x30,0x85,0xc7,0x15,0xcf,0x84,0x53,0xb8,0xa1,0x3b,0x96,0x83,0x2b, + 0x9a,0xee,0xd8,0x1e,0xb4,0x69,0xbd,0x9f,0xb6,0xf9,0xbf,0x4a,0x42,0x75,0x86,0xe0,0xdc,0x75,0xb0,0x27, + 0xe9,0xcd,0x91,0xe1,0x99,0xc7,0x06,0x9c,0x21,0x1d,0x6e,0xf0,0x87,0x5f,0x90,0x8d,0x3c,0x04,0xac,0x0d, + 0xa2,0x03,0x0b,0x1e,0x57,0x29,0x84,0x85,0xec,0x17,0x0d,0x43,0xeb,0xb8,0x42,0xbc,0x85,0x05,0x89,0x09, + 0x21,0xc5,0x30,0x31,0x1c,0x1f,0x57,0x46,0xbe,0x6d,0x58,0x70,0x53,0x27,0x84,0x2a,0x12,0x1d,0x23,0xd7, + 0xd3,0x08,0xd6,0x23,0xc1,0x33,0x2b,0xdf,0x12,0x02,0xfa,0x87,0xe8,0xe3,0xc8,0x31,0x16,0x27,0x47,0x06, + 0x9a,0x69,0xc8,0x38,0xae,0x00,0xd7,0xad,0x88,0xa7,0xd9,0x86,0x6e,0x39,0xe0,0x45,0x3c,0xe8,0x16,0x20, + 0xe4,0xb8,0x62,0x3b,0x1e,0x1a,0x23,0x1d,0x78,0xc8,0xb1,0xeb,0x94,0x36,0x40,0x36,0xc4,0x95,0x5c,0x95, + 0x8a,0x76,0x18,0x94,0xfe,0xa1,0x41,0x8c,0x1d,0x7c,0xa8,0xc9,0x62,0xed,0xc3,0xb1,0x66,0xfb,0x96,0xa5, + 0xfd,0xfc,0x73,0xa2,0x7c,0x93,0xeb,0x6a,0xdf,0x2a,0x94,0x03,0x1a,0x27,0x21,0xc3,0x3a,0x15,0xed,0x77, + 0xdd,0x42,0xfa,0xcb,0xa6,0x8b,0xe1,0x8c,0x5b,0xcf,0x44,0x06,0xec,0xca,0x8d,0x53,0x13,0xb8,0xc0,0x0e, + 0x79,0x4d,0x21,0x21,0x60,0x02,0x2b,0x27,0x7f,0xfc,0x91,0x6c,0x2c,0x10,0x68,0xdf,0xbe,0x51,0xd3,0xd0, + 0x0a,0xd4,0x30,0xb4,0x3b,0xe1,0xff,0xa1,0x5d,0x74,0x75,0x6f,0x99,0x09,0x79,0x19,0x9a,0x4e,0x84,0xa9, + 0x0d,0xe0,0x81,0x43,0x34,0xa5,0x88,0x5b,0xae,0x3d,0xf9,0x6d,0x04,0x08,0xdc,0xdf,0xfb,0x05,0xdd,0x9d, + 0x5e,0xf7,0xe7,0xdb,0x97,0x67,0x13,0xa7,0x46,0xff,0x75,0x07,0xb7,0x66,0xf3,0x76,0x42,0xff,0x6a,0xb0, + 0xc7,0xda,0xbc,0x5e,0x7b,0xa4,0x3f,0xa7,0x0f,0xb5,0xd9,0xf4,0x9c,0x15,0x9c,0x3d,0xf4,0x5b,0xf7,0xe7, + 0xfd,0xe1,0x68,0xe7,0x69,0xdb,0xd8,0x69,0x2d,0x9e,0x6e,0x4e,0x4f,0x9f,0xce,0x0e,0xd0,0xd3,0xe0,0xf4, + 0x62,0x74,0xdf,0xb2,0x9f,0xee,0x2e,0xac,0xc7,0xfb,0xfe,0x67,0x5d,0xb7,0xac,0x1e,0xab,0xf0,0x70,0x7a, + 0xd1,0x6f,0xb6,0x6e,0x61,0x17,0x93,0x7b,0xa3,0xd9,0x9d,0x3c,0xd7,0x6e,0xae,0xf4,0xc7,0x53,0xbd,0xd6, + 0xd3,0x6b,0x75,0xe3,0xa6,0xbb,0x57,0xeb,0xee,0x74,0xea,0x7b,0x93,0x3e,0x79,0xbc,0x38,0x68,0x76,0x8d, + 0x5a,0xef,0xb1,0xd6,0x00,0xb5,0x06,0x74,0x8d,0x5b,0xb3,0x53,0x7d,0x6d,0x3d,0xfb,0x78,0xe2,0x1e,0x0c, + 0xf4,0xce,0xf9,0xc4,0xf8,0xb5,0xba,0x7b,0xb7,0x3b,0xf6,0x6e,0xdd,0xcf,0xf0,0x7c,0xd2,0x69,0x55,0x31, + 0x3e,0x6b,0x02,0x7f,0xff,0xee,0xbc,0xb1,0x73,0xde,0x19,0x9d,0x7f,0x7e,0xbd,0xb8,0xbe,0x3a,0xc7,0xe0, + 0xd3,0xf8,0xe5,0xeb,0x88,0x3c,0xf6,0x89,0xd9,0xf9,0xe2,0x5e,0x0d,0x27,0xb7,0xed,0xc9,0x60,0x32,0xf3, + 0x3b,0x1d,0xe7,0x71,0xfe,0x09,0x75,0x1e,0x87,0x78,0xff,0xc6,0xec,0x3e,0x76,0x70,0x17,0x75,0x17,0xf3, + 0xf6,0x95,0xb5,0xb8,0xbb,0x34,0xf4,0xc5,0xa2,0x47,0xa6,0x7a,0x9f,0x2c,0x6e,0x3f,0x6f,0xbf,0x4c,0xce, + 0xbd,0x9b,0x1b,0x7f,0xa7,0x66,0x74,0x2f,0x5a,0x6e,0xe3,0xa5,0x76,0xb9,0xd7,0xde,0xba,0x6a,0xdf,0x77, + 0x46,0x3b,0x35,0xd2,0x3e,0xd5,0x5f,0xb7,0x51,0xff,0x0c,0xde,0x9c,0xf5,0x86,0x4f,0xe3,0xbb,0xfd,0x9b, + 0xe6,0xf6,0xa7,0x49,0xe3,0xac,0xb5,0x83,0x1d,0x72,0xd6,0x9c,0x74,0x6e,0xde,0xda,0x35,0xd3,0x7e,0xaa, + 0xa1,0x5e,0xf7,0xcb,0x9e,0xef,0xf6,0xc7,0xdb,0x5b,0xd7,0x96,0x4b,0xae,0xea,0xa7,0xee,0xee,0xe2,0x75, + 0x5b,0x37,0x27,0x5e,0xfd,0xf6,0xf6,0x09,0xf7,0xe7,0xfb,0x37,0x8d,0xeb,0xdd,0xe6,0xfd,0xf9,0xe0,0xb5, + 0x75,0xe0,0x01,0xfc,0x04,0x06,0x97,0x17,0x0f,0xf0,0xa2,0x61,0x8c,0x6e,0x2c,0xd2,0xdc,0xbe,0x6c,0xec, + 0x5f,0x74,0xb7,0x2e,0x9d,0x3e,0x39,0x33,0xdf,0x1e,0x2e,0xeb,0x56,0xfd,0xf2,0xfc,0xa2,0x3d,0x7e,0x19, + 0x9a,0xf3,0xce,0xbd,0x59,0xdb,0x37,0x4e,0x07,0x8e,0xd5,0x47,0xcf,0x2f,0x17,0xd7,0x46,0xf5,0xe9,0x76, + 0x76,0xb0,0xb8,0x39,0xb8,0x76,0x5f,0x47,0xe7,0x2e,0x02,0xb7,0x77,0xa0,0x39,0x7a,0x6a,0xfe,0xea,0xb5, + 0xdb,0xcf,0xce,0xe9,0xe5,0xc3,0x82,0x38,0xa4,0xaa,0xef,0xdd,0x7d,0x81,0xa3,0xab,0xa6,0x31,0x9a,0xed, + 0x8c,0xf4,0x0e,0x69,0xfe,0x3a,0x79,0xf6,0x4f,0x8d,0xd9,0x43,0x7f,0x70,0xb1,0xd7,0xfa,0xb4,0x35,0x7f, + 0x6d,0x3f,0x3c,0xe0,0xf6,0xd9,0x7c,0xfa,0xb0,0xfb,0x75,0x0e,0xf4,0xab,0x86,0x09,0xbb,0xd7,0x07,0xd5, + 0xeb,0xe7,0xab,0x9b,0x4b,0xa3,0xba,0x77,0xd7,0x69,0xd4,0xed,0xc7,0x49,0xfd,0xed,0xee,0xb9,0xbd,0xdb, + 0x1d,0xc2,0xea,0x74,0xe0,0xf4,0x1a,0x7b,0x07,0x6f,0x7b,0x03,0x4c,0x9d,0xe3,0xe0,0xb5,0x67,0xef,0x41, + 0x67,0x56,0xef,0x70,0xef,0x69,0x5a,0xad,0xe1,0xcb,0xc0,0xbf,0x99,0xd6,0xeb,0xd4,0x13,0xcd,0x2a,0x73, + 0xf1,0xbf,0x79,0xeb,0x6b,0x3c,0x3e,0xad,0x7d,0xe4,0x9e,0x4d,0x4b,0x8f,0xcc,0x1d,0x26,0x21,0x1e,0xf0, + 0x7c,0xb2,0x49,0x16,0xc4,0x83,0xd3,0x76,0x83,0x4e,0xa8,0x60,0x16,0xfe,0x93,0x57,0x0a,0xcb,0x69,0xbd, + 0x4f,0xda,0xda,0xa1,0xb6,0x46,0x7f,0xd2,0x55,0x68,0xe9,0x9a,0x40,0xdd,0x49,0xcc,0x86,0x39,0x9d,0x55, + 0x42,0x37,0x39,0x4b,0xe8,0xe4,0xb1,0xa1,0x1e,0x4c,0x4a,0xa9,0x1c,0xd9,0x06,0x9b,0x85,0x2c,0x58,0x1e, + 0xb2,0x79,0xb3,0x21,0x2a,0x0b,0xa0,0x81,0x68,0x14,0xb8,0x9b,0xd0,0x06,0x23,0x0b,0x1a,0x94,0xe0,0x5a, + 0x80,0x04,0x8d,0x35,0x46,0xc2,0x40,0x24,0x2e,0xa8,0x04,0x53,0x36,0xe8,0xbc,0x0c,0xa1,0xeb,0x74,0x8e, + 0xbb,0x0e,0xb2,0xbd,0xcd,0xd8,0x26,0x1a,0x55,0xcc,0x6b,0x27,0x59,0x8e,0x5c,0xda,0x58,0x01,0x26,0xa5, + 0xc1,0x2b,0x06,0xa6,0x8e,0xe2,0xc6,0x7b,0x7b,0x3f,0x81,0xde,0x3d,0x6a,0xf1,0x96,0x68,0x25,0xd1,0xe0, + 0xfa,0xc7,0xfc,0xfe,0x11,0xa1,0x38,0x75,0x0c,0x98,0xea,0x9f,0x0a,0x69,0x08,0xdf,0xbc,0xf5,0x77,0x33, + 0x4d,0x10,0x95,0xed,0x9f,0xa2,0x27,0x56,0xb1,0x21,0x9a,0x0a,0x32,0x82,0x4b,0x23,0x2a,0x8c,0x9b,0x4f, + 0x07,0x5b,0x11,0xf2,0xe9,0xca,0x63,0x20,0x7b,0x52,0x09,0x19,0x84,0xcf,0x21,0x7c,0xf0,0x1c,0x75,0x34, + 0x78,0x6e,0x87,0x44,0x93,0xdd,0x13,0x98,0x1f,0x02,0x25,0xb6,0xdc,0xd0,0xe5,0x14,0x8d,0xb0,0x58,0x51, + 0x8e,0x83,0x09,0x90,0xec,0xf3,0x1c,0x60,0x9b,0x33,0x10,0x95,0x4d,0x40,0xfa,0x90,0x66,0x01,0x4d,0xb6, + 0x34,0x51,0x4d,0x37,0x64,0xc2,0xd7,0xaa,0x4d,0x1c,0xc9,0x02,0x27,0x70,0xa9,0x4a,0x08,0xc5,0x85,0x7d, + 0x08,0x08,0xb3,0x6b,0xb6,0x9a,0x90,0x6c,0x4a,0x13,0x4d,0x2a,0x96,0xd0,0x04,0x11,0x12,0x8d,0xb9,0xfe, + 0x32,0xc4,0x40,0x87,0x29,0xc8,0x58,0x10,0x33,0x89,0x6d,0xa0,0xa8,0x7d,0x04,0x42,0x9e,0x23,0xdf,0xf3, + 0xa8,0x3d,0xc4,0xcf,0x86,0x8b,0xe9,0x2a,0x86,0x17,0x61,0x6e,0xb1,0x05,0x5c,0xb4,0xc5,0xeb,0x79,0xac, + 0xde,0x16,0x1d,0xce,0xdc,0x96,0x1b,0xce,0xdc,0x66,0xc6,0x0e,0x18,0x80,0x13,0x2d,0xdd,0x48,0xb8,0x7c, + 0x53,0x1f,0x82,0x16,0xf4,0xe0,0x60,0x79,0x77,0x1a,0x5c,0x31,0x82,0xcc,0x38,0x4e,0x98,0x7f,0x80,0x19, + 0x9a,0x88,0x81,0xf5,0xc0,0x88,0x64,0xfb,0x27,0x27,0x25,0x6b,0x80,0x7a,0xfb,0x0c,0xd2,0x30,0x27,0xfe, + 0x18,0x82,0x11,0x75,0x07,0x6d,0x4d,0x98,0x69,0x8d,0xa5,0x20,0x21,0x4f,0x49,0x21,0x92,0x47,0x5c,0x03, + 0xb3,0xd2,0x06,0x87,0x52,0xcc,0x05,0xef,0x6a,0xdb,0xc3,0x68,0x32,0x81,0xb8,0xa0,0xf5,0x48,0x23,0x6a, + 0x3f,0x2c,0xf9,0x3e,0x0c,0xe2,0x30,0x90,0xcf,0x41,0xd2,0x89,0x58,0xc4,0x65,0xdf,0x87,0x87,0x58,0x6f, + 0x0a,0x46,0x41,0xc8,0xe3,0x51,0xe0,0xcf,0x8a,0xb6,0xd3,0x91,0x40,0x39,0xd8,0x6c,0xe9,0xdc,0x4d,0x0f, + 0xa8,0xbc,0x82,0xee,0x72,0x88,0x93,0x23,0x4c,0xa3,0x88,0xa3,0x1d,0x72,0xd9,0x71,0x45,0xd2,0x06,0x96, + 0x35,0xf0,0xa0,0x4b,0x86,0xd8,0xa7,0x95,0x58,0xe4,0x60,0x21,0x99,0x66,0xea,0xa1,0x80,0x76,0x9a,0xe5, + 0x92,0x1e,0x95,0xb3,0x70,0xc9,0x81,0x24,0x76,0x25,0xa0,0x5b,0xc0,0x22,0x85,0xd8,0x63,0xa6,0xa0,0x02, + 0x0f,0xcd,0x4f,0x2c,0x9a,0x27,0xe3,0xd4,0x02,0x4d,0xed,0xe6,0x86,0x91,0x2e,0x02,0x4c,0xe6,0xcf,0x33, + 0x60,0xf9,0x62,0x72,0x76,0x80,0x67,0x6e,0x8e,0x2d,0xc7,0xc1,0xeb,0xa1,0xee,0x1d,0x13,0x6a,0x5b,0xda, + 0xce,0xe7,0xcf,0xda,0x3f,0xb4,0xea,0xf6,0x36,0x33,0xd9,0xdf,0xc3,0x7c,0x3a,0xd3,0xba,0x9c,0x4c,0x23, + 0xdb,0xf5,0x3d,0xcd,0x5b,0xb8,0xb4,0xc3,0x18,0xd8,0x34,0x43,0xd7,0xa6,0xc8,0x3e,0xae,0x6c,0xd3,0x5f, + 0xf0,0x76,0x5c,0xa1,0x90,0x95,0x64,0xed,0xa8,0xf3,0x9b,0xb6,0x3f,0x1d,0x41,0x1c,0x53,0xbe,0x13,0x1c, + 0xf3,0x42,0x83,0xdc,0xcb,0x0f,0xb1,0xdd,0x66,0x1b,0x63,0x87,0x82,0xac,0x33,0xf1,0x2f,0x1a,0x5d,0xeb, + 0xe0,0xdb,0x47,0xfa,0xa3,0x91,0xb2,0x56,0x60,0x8a,0x9b,0xb3,0x1f,0x6b,0x82,0x98,0x43,0xaa,0xff,0xea, + 0xf5,0x35,0x27,0xe4,0xd0,0xba,0xd4,0x16,0x53,0xed,0x77,0xe2,0x8f,0xa6,0xc8,0x8b,0x37,0x57,0x74,0x5b, + 0x68,0x2d,0xd8,0xc2,0x3d,0x0c,0x54,0x13,0xb3,0x25,0x0e,0x3f,0x4c,0x23,0x35,0x67,0x74,0x13,0xea,0x2f, + 0x11,0xdf,0x91,0xe3,0x58,0x10,0xd8,0x6c,0x12,0x48,0x75,0xc2,0xd4,0xab,0x92,0xf0,0xfd,0x84,0x4a,0xd3, + 0x0e,0x72,0x2c,0xd6,0x3f,0x8e,0x29,0xf7,0x47,0x8d,0x56,0xb4,0xa0,0x7f,0xc8,0x26,0x50,0x51,0x02,0xf8, + 0xe7,0x9f,0x9a,0x42,0x2a,0xa6,0x22,0xdb,0x80,0xee,0x2a,0x02,0x2f,0x6d,0xb7,0x4d,0xf7,0xf1,0xd8,0x86, + 0x9e,0x9c,0x07,0x5a,0x60,0x04,0x2d,0x8d,0x3b,0x18,0x37,0x0e,0x1d,0x5f,0x82,0x18,0x1c,0x33,0xa6,0x1a, + 0x26,0xa9,0x13,0x80,0x71,0x9c,0xa4,0xab,0x88,0xa1,0xaf,0xf0,0xed,0xa9,0x02,0x3b,0xe3,0x22,0x49,0x1b, + 0x79,0x29,0x26,0x47,0xe6,0xde,0x49,0x1f,0x4e,0xa0,0x45,0xe8,0xb0,0xed,0xe5,0xdb,0x36,0x7a,0xb2,0xa0, + 0x3d,0xf1,0xcc,0xe8,0xb0,0x40,0xcc,0xa1,0x40,0x2a,0x4f,0x23,0x75,0xf5,0xc8,0xa1,0xe9,0xf4,0x80,0x96, + 0xbc,0x1a,0x08,0xd7,0x3c,0x0c,0xeb,0x45,0x83,0xf2,0x2d,0x39,0x9c,0xbc,0xde,0x46,0xb4,0xff,0x2e,0xf6, + 0xb2,0x12,0xfe,0x15,0x38,0xb6,0xca,0xcd,0xe4,0x00,0x00,0xf8,0xfa,0x26,0xd2,0x0a,0x91,0x18,0xfd,0x94, + 0x3d,0x8a,0x10,0x39,0x8d,0x34,0x5d,0xd6,0x85,0x39,0xd4,0xe3,0x9d,0x49,0x6c,0x32,0x21,0x43,0xa7,0x9d, + 0xc1,0xf9,0x71,0x4d,0x98,0x82,0x9d,0xe3,0xb0,0x68,0x45,0xd1,0x74,0x2f,0x6f,0xf0,0x43,0xfb,0x0f,0xa9, + 0x07,0x55,0xe2,0xf4,0xde,0xa2,0x91,0x88,0xd6,0x75,0x5c,0x9e,0x37,0xf1,0x30,0xc2,0xc2,0x8f,0x92,0x6e, + 0x0b,0xbd,0x41,0x43,0xf2,0x4c,0x51,0x29,0x5d,0xb9,0xaa,0xae,0x3c,0xf0,0x6d,0x8c,0x48,0x71,0xd5,0x9d, + 0xdc,0xaa,0x24,0x9a,0x5b,0x61,0xcd,0x2d,0xd1,0xdd,0xa5,0xdd,0x1e,0x87,0xa4,0xd3,0x9d,0x4e,0xfa,0xb8, + 0x6c,0x1e,0x16,0x19,0xb7,0x25,0xa3,0x6c,0x44,0x93,0x98,0x79,0x75,0x04,0xc8,0x16,0xde,0x80,0xb8,0x17, + 0x4e,0x69,0xb6,0xd5,0x41,0xc4,0xb5,0x00,0x0f,0x99,0xeb,0xac,0xfc,0x17,0x8d,0xaf,0xcc,0xef,0x63,0x8f, + 0xa1,0x05,0x78,0xbc,0x56,0x77,0x80,0xce,0x59,0x98,0xc7,0x53,0xae,0x5a,0x9a,0x2a,0x4b,0x50,0x72,0x98, + 0xca,0x01,0x15,0xc2,0x17,0x03,0x2c,0xc8,0xf2,0xd9,0x37,0x75,0x6c,0xaa,0x58,0x30,0xf9,0x3a,0x5c,0x21, + 0x31,0xe9,0x96,0x40,0x7a,0x3e,0x24,0xc5,0x98,0x43,0xa1,0xb1,0x0a,0xe8,0x1c,0x1a,0xf6,0x32,0xd8,0xfb, + 0x50,0x67,0x25,0xb6,0xa6,0x8f,0x97,0xd1,0x0d,0x54,0x56,0x81,0x1d,0x63,0x54,0x0c,0xda,0xe2,0x0a,0xab, + 0x40,0x12,0xba,0xc6,0xe1,0x62,0xd0,0x41,0xa0,0xb2,0x12,0xac,0xbf,0xc4,0x03,0x06,0x7e,0xc6,0x03,0xd4, + 0xf9,0x5b,0x89,0x7c,0x2c,0x6c,0x74,0x44,0x7f,0x4d,0x8f,0x8e,0x16,0xf9,0x71,0x79,0x59,0x96,0x4b,0x41, + 0x7e,0x26,0x67,0x69,0x6c,0x52,0xc7,0x67,0xea,0xec,0xd8,0x45,0x1d,0x16,0xbb,0x4e,0x83,0xca,0x72,0x8e, + 0x9e,0xc4,0x5e,0x8b,0x35,0x19,0xec,0xed,0x0f,0xc3,0xb3,0x2a,0xca,0x98,0x6e,0x94,0x59,0x3a,0x94,0x5e, + 0xbc,0x80,0x61,0x48,0x2b,0x97,0xba,0xd1,0x9a,0x11,0xee,0xed,0x05,0x6e,0xee,0xd2,0x14,0x13,0x90,0x8d, + 0x29,0xb2,0xcb,0x8a,0x8a,0x4d,0x18,0xa0,0xc4,0x73,0x70,0x26,0xc9,0xb3,0xcf,0x53,0x0e,0x35,0xe0,0xe5, + 0xb4,0xf1,0xc3,0xb4,0x64,0xed,0x63,0x6c,0x59,0x96,0xc4,0x16,0xa6,0xb2,0x1d,0x87,0x67,0x3e,0x85,0xc9, + 0xec,0x54,0xe8,0xac,0x98,0xce,0x8a,0x5a,0x4b,0x12,0x0e,0xa1,0x54,0x32,0xa5,0x4d,0x21,0x26,0x72,0xca, + 0x04,0x50,0xc3,0xc7,0xd4,0x36,0x85,0x83,0x57,0xac,0x9f,0xcc,0x35,0x93,0x8b,0x52,0x2e,0xa1,0x6c,0xab, + 0x3c,0x23,0x5d,0xc6,0x6c,0x79,0xb2,0x51,0x8c,0xd0,0xa5,0xc3,0x89,0x57,0x4d,0x41,0x8a,0x21,0x6b,0xd6, + 0x9c,0x2e,0x67,0xab,0xe6,0x26,0xc5,0x98,0xd7,0xb6,0xb5,0xc8,0xcb,0x59,0xb8,0xaf,0xae,0xe6,0x4f,0x02, + 0xbf,0xc1,0x43,0x69,0x3c,0x79,0xca,0x8e,0x0c,0x4b,0x69,0x76,0xca,0xb8,0x64,0xd4,0x8c,0x22,0x20,0x67, + 0xbc,0x6f,0xd9,0x9e,0x46,0xa5,0x55,0x6e,0x57,0xa3,0xc4,0xcf,0xdf,0xd7,0x04,0xbd,0xcf,0xec,0x6c,0x32, + 0x8c,0x69,0xc6,0x4d,0x2d,0x98,0x43,0x94,0x0b,0x57,0xe1,0x27,0xd0,0x96,0xd2,0x32,0x44,0xa3,0x25,0xf6, + 0x59,0x51,0x3f,0xde,0xbb,0xd3,0x4a,0x01,0xfc,0xa5,0xf6,0x5a,0x53,0x39,0xf2,0x7e,0xc7,0xdd,0x56,0x22, + 0xa2,0xe7,0xee,0xb7,0xa2,0x11,0xfb,0x8e,0x3b,0x2e,0xe1,0x5e,0x87,0x7c,0x58,0xd6,0x44,0x03,0xec,0x2c, + 0x9f,0x53,0x60,0xef,0xd0,0xfe,0xe5,0x22,0x5b,0x71,0x54,0x2b,0x34,0x7b,0x54,0xb6,0xd4,0xd7,0xf8,0xc9, + 0x5e,0x3e,0x74,0x6e,0xd2,0x41,0xa5,0x65,0xf8,0x19,0x08,0xa7,0x8f,0x72,0xd3,0x06,0x8b,0x34,0x54,0x2b, + 0x44,0x3e,0x3d,0x09,0x39,0x97,0x64,0xa4,0x93,0x59,0x13,0x72,0x03,0x78,0x44,0xa7,0x2b,0xfd,0x0d,0xac, + 0xf7,0x45,0xee,0x08,0x60,0xe8,0xb8,0xec,0xc5,0x45,0x21,0x8a,0xe2,0xe4,0x27,0x85,0x72,0xea,0xd0,0x64, + 0x64,0x7a,0xeb,0x16,0x04,0xfd,0xff,0xe7,0xb3,0x39,0xf9,0xac,0x30,0xe5,0x7f,0x23,0xa3,0x4d,0x44,0x87, + 0xbc,0x86,0xff,0x37,0xb2,0xda,0xe2,0xa3,0xdc,0xc4,0x7b,0x99,0xa2,0x0c,0xb8,0x2e,0xbf,0xeb,0x8d,0xb3, + 0x5f,0xf9,0x1d,0x4e,0xb9,0xcc,0x57,0xaa,0x21,0xbd,0x14,0x4f,0x46,0x7f,0xb5,0x4e,0x6e,0xd8,0x37,0x19, + 0x80,0x82,0x91,0x54,0xf7,0x9c,0xd7,0x97,0x2e,0xed,0x2c,0x67,0x17,0x9c,0xe3,0xe6,0x32,0x93,0x5e,0xa3, + 0xaf,0xcc,0x4c,0xaa,0x9b,0x61,0x26,0xa5,0x1f,0x84,0x20,0x43,0x59,0x9d,0x96,0xe7,0x2f,0x03,0x1e,0x7c, + 0xf3,0x44,0xc2,0xc1,0xeb,0xc7,0x19,0x79,0x0a,0x21,0xe1,0x7a,0x1f,0x14,0x3d,0x4f,0x70,0x71,0x69,0x87, + 0xe6,0x0e,0x56,0xf2,0x09,0x65,0xf9,0x9c,0xa2,0xda,0x9c,0x57,0xfc,0xa4,0xe2,0x16,0x4b,0x97,0xf2,0x5b, + 0x3e,0x8a,0x86,0xa9,0xbb,0x4b,0x81,0xf2,0x86,0x98,0x55,0x66,0x6f,0xcf,0x82,0xd1,0x64,0xd3,0x63,0x83, + 0x45,0x48,0xec,0x58,0x2b,0x0e,0x38,0x43,0xca,0x8c,0xb4,0x1c,0x7d,0xfd,0x91,0x08,0xfd,0x24,0x69,0x75, + 0xe4,0xaa,0xd0,0x90,0x4b,0x63,0x14,0xa6,0xbe,0x5d,0xc6,0x09,0x90,0xab,0x36,0x33,0x5a,0x6a,0x17,0xf6, + 0x62,0x23,0x6d,0xca,0xa4,0x7f,0xfa,0x23,0x1b,0x7a,0x53,0x40,0x5e,0x94,0x5e,0x1a,0x49,0x4b,0xf9,0x6a, + 0x8c,0xa5,0xf6,0x58,0x49,0xfe,0x1f,0xd2,0x9e,0x00,0x0f,0xce,0xa5,0x8c,0x5e,0x52,0x0e,0x44,0x65,0x08, + 0x87,0x28,0x4a,0xb6,0x91,0xf0,0x3d,0x54,0x33,0x1b,0x27,0xd3,0x21,0x1e,0xbb,0x06,0xaa,0x62,0x1c,0xca, + 0x96,0x51,0x3e,0x74,0x2d,0xa0,0x43,0xd3,0xb1,0x0c,0xb6,0x2e,0xe7,0x80,0xf4,0x62,0x1d,0xe6,0xf7,0xac, + 0x9b,0x51,0xdb,0xca,0x7e,0xc6,0xd2,0xa5,0x73,0xf5,0x7f,0x63,0x41,0x8c,0x2e,0x09,0xe4,0x2c,0x86,0xbe, + 0xcb,0x6e,0xaa,0xb4,0x10,0x9e,0xce,0x01,0x86,0xc9,0x4b,0x00,0xe2,0x3e,0xc1,0x38,0x90,0xa5,0x4f,0x82, + 0xe4,0xae,0x8e,0x91,0x05,0x85,0x79,0x43,0xed,0x16,0x2b,0xf9,0x0b,0x18,0x29,0xb6,0x8b,0xe8,0x69,0x0f, + 0x3b,0x13,0x16,0x69,0xf8,0xbd,0xbf,0xe0,0xb6,0x00,0xed,0x6f,0x4a,0xc8,0x53,0x4a,0xd9,0xc8,0x19,0xab, + 0x84,0x37,0xa8,0x32,0x66,0xc9,0x8d,0x9e,0xe9,0x8a,0x45,0xe1,0x33,0xb6,0xd5,0xb2,0xdb,0x49,0xe9,0x64, + 0x8f,0xfa,0x27,0xf6,0xea,0xf1,0xf5,0xae,0xdc,0xe6,0x43,0x4b,0x25,0x2f,0x89,0x14,0x64,0x4c,0x03,0x0e, + 0xa0,0xf2,0x10,0xdb,0x73,0xd3,0x56,0xf8,0xe1,0x2f,0x9e,0xe5,0x4b,0xca,0x0e,0x46,0x5f,0xd9,0x3e,0xc0, + 0x4a,0x86,0x4d,0x4a,0x7b,0x00,0xf1,0x4c,0x4a,0x88,0xe3,0xfe,0x08,0x41,0x99,0xb0,0x19,0xa3,0xc4,0x01, + 0x25,0x8d,0x53,0x51,0x24,0xd1,0x05,0xac,0x78,0x7f,0x66,0x4c,0x90,0xe1,0x15,0x8a,0xca,0x1d,0xd0,0xc8, + 0x58,0x2a,0x76,0x71,0x43,0xe5,0xf9,0x59,0x20,0xe3,0xd2,0x14,0xe9,0x0a,0x78,0x65,0x8c,0xc5,0x2a,0x67, + 0x88,0x70,0xc4,0x15,0x08,0x48,0xf7,0x20,0x25,0x02,0xc1,0x6d,0xc8,0x65,0x04,0x84,0x23,0xa6,0x08,0x30, + 0x44,0xc5,0xfb,0x96,0x9c,0x1c,0xc6,0x72,0xc2,0xeb,0xfd,0xe1,0xed,0x4c,0x26,0xdb,0x08,0x5f,0x23,0x67, + 0xa9,0x05,0xfa,0xa5,0xf8,0x45,0xd8,0x11,0xc9,0xa8,0xe8,0x44,0x0b,0x37,0x7d,0x99,0x49,0x0f,0x01,0xd6, + 0xcd,0xab,0xa8,0xae,0x1c,0x4c,0xb9,0x88,0xce,0xbf,0x48,0x9a,0x4f,0x70,0xc0,0x75,0x95,0x7b,0xc0,0xcc, + 0x9c,0x77,0x91,0x4d,0x0a,0x26,0x7d,0xde,0xe0,0xd1,0x6a,0x57,0xcd,0x46,0xad,0x97,0x66,0x11,0x96,0x97, + 0xf3,0xeb,0x08,0x25,0x7b,0x0f,0x28,0x66,0xb7,0x49,0xfb,0xcf,0x1a,0x2a,0xef,0x59,0x02,0x76,0x30,0xac, + 0xa9,0xd9,0x51,0xc1,0x2a,0xf4,0x18,0xce,0x32,0x7e,0xbc,0xad,0x95,0x08,0xd6,0x7a,0x22,0x70,0x2b,0x28, + 0x86,0xa2,0xd2,0x24,0x23,0xac,0x42,0x9a,0xc0,0x0d,0x5b,0x5c,0x89,0x68,0xef,0xbe,0xd3,0xc0,0x34,0x11, + 0xc1,0x83,0x86,0xca,0x9e,0xb2,0xb8,0x34,0xe1,0x04,0x66,0x21,0x69,0x77,0x3e,0xe5,0xed,0xbe,0x93,0x72, + 0xfd,0xaa,0x90,0x72,0xfd,0xea,0x1d,0x94,0x29,0xe6,0x52,0xca,0xac,0xdd,0x15,0x28,0xcf,0xa7,0x35,0xb1, + 0x6f,0xca,0xb0,0x8d,0x24,0x25,0x89,0xc6,0x48,0xb9,0x1c,0xa5,0xc6,0x56,0xa2,0xd8,0xc2,0xf0,0xd5,0x87, + 0xb6,0xbe,0x50,0x90,0x8c,0x64,0xa5,0x69,0xc6,0x68,0x05,0x44,0xa5,0x26,0xf3,0xe2,0xd7,0x14,0xb8,0x99, + 0xf8,0x25,0xbf,0x28,0xa1,0xe2,0x5a,0xaf,0x7d,0x09,0x33,0xac,0x63,0x49,0x99,0x78,0x2e,0xe1,0xe4,0xf1, + 0x95,0x9b,0xd2,0x96,0xa6,0x8f,0xb1,0xb6,0x59,0x2a,0x7f,0xfc,0x61,0x1b,0x92,0xb2,0x9f,0x1f,0x7c,0x50, + 0x7e,0x7e,0x10,0x5f,0x63,0x57,0xdd,0x60,0xcf,0x26,0xbd,0x8e,0x9b,0xc8,0x79,0x7f,0xb6,0xc0,0xab,0xef, + 0xfc,0xa6,0x85,0xdb,0xcb,0x58,0xb6,0x39,0x02,0xfa,0x8b,0x3a,0xf7,0x95,0x4e,0x01,0x25,0x7d,0xc5,0x1d, + 0xe8,0x65,0x4e,0xcf,0x0e,0xb6,0xeb,0x8e,0x2f,0x9f,0x9c,0x48,0x80,0x3a,0x93,0x94,0xf3,0xf7,0x18,0x28, + 0xe3,0x3c,0x19,0xc4,0xe0,0x30,0xbb,0x1a,0x1c,0x66,0x57,0xf7,0x13,0xe3,0x2c,0xab,0xcf,0xd1,0x57,0x80, + 0x0d,0x76,0xfb,0x57,0x3b,0x39,0xd6,0xaa,0x8a,0xad,0x52,0xb1,0xb6,0xb9,0xa7,0xea,0x56,0xe2,0x12,0x72, + 0x68,0xaf,0xbd,0x1f,0x76,0xfb,0x39,0xef,0x24,0x4d,0x62,0xec,0x13,0x58,0xf7,0x69,0x7a,0x9e,0x3a,0x2e, + 0x53,0x68,0x2c,0x3f,0x33,0x53,0xdb,0x84,0x77,0x89,0xa8,0x8d,0x11,0x74,0x37,0xef,0xf6,0x75,0x16,0xa6, + 0xc2,0xee,0xc7,0xd3,0x3f,0xa4,0xf4,0x55,0xbc,0x40,0xd9,0xe2,0xc5,0x25,0x4e,0xeb,0x57,0xdd,0x4b,0xda, + 0x34,0x8c,0x49,0xd3,0x6a,0xc0,0x9b,0x13,0xdd,0x34,0x01,0xe9,0x66,0xa5,0xeb,0x1f,0xf9,0x47,0x6a,0x12, + 0x75,0x06,0x11,0xcc,0x36,0xf6,0xc5,0x5a,0xc2,0x61,0xe4,0x18,0xb2,0xe4,0xab,0x16,0xfe,0x3e,0x72,0x8c, + 0xde,0xf2,0x5f,0x49,0xd2,0x15,0x96,0xc8,0xd9,0xad,0xee,0xb8,0x0b,0xfe,0x8e,0x46,0x60,0x8f,0xb0,0xf4, + 0xed,0x5f,0xa0,0x9b,0xfe,0xf4,0x2f,0x3c,0xba,0xb8,0x13,0x62,0xfe,0x05,0x60,0xaa,0x46,0xf4,0xe5,0x5f, + 0xe6,0x2d,0x4f,0xf0,0xb9,0xb1,0x45,0x87,0xc2,0x07,0x13,0xea,0x4b,0xcf,0x60,0x06,0x44,0x61,0xe5,0x84, + 0x6f,0xca,0x6b,0x2e,0xb5,0x8f,0xf4,0xf9,0xb1,0xf8,0xf0,0x78,0x8b,0x7f,0x6f,0xfd,0x6f,0x98,0x74,0xa6, + 0x4d,0x85,0x3d,0x00,0x00}; #endif diff --git a/src/assets/version.h b/src/assets/version.h index f43427e..de5e299 100644 --- a/src/assets/version.h +++ b/src/assets/version.h @@ -4,10 +4,10 @@ const uint8_t VersionMajor = 2; const uint8_t VersionMinor = 1; const uint8_t VersionPatch = 0; -const uint8_t VersionMetadata = 1; +const uint8_t VersionMetadata = 2; const char VersionBranch[] = "release/2.1"; const char VersionSemVer[] = "2.1.0-beta.1"; -const char VersionFullSemVer[] = "2.1.0-beta.1+1"; +const char VersionFullSemVer[] = "2.1.0-beta.1+2"; const char VersionCommitDate[] = "2018-04-29"; #endif diff --git a/src/main.debug.h b/src/main.debug.h index e0fb467..850c1ba 100644 --- a/src/main.debug.h +++ b/src/main.debug.h @@ -41,6 +41,9 @@ void wifiEvent(WiFiEvent_t event) case WIFI_EVENT_SOFTAPMODE_STADISCONNECTED: _dln("WiFi:: soft AP mode: station disconnected"); break; + + default: + break; } } diff --git a/src/main.triggers.h b/src/main.triggers.h index 3f9cc36..c79d54a 100644 --- a/src/main.triggers.h +++ b/src/main.triggers.h @@ -66,7 +66,8 @@ void parseResponse() return; } - timezoneOffset = root["rawOffset"]; + timezoneOffset = root["rawOffset"].as() + root["dstOffset"].as(); + hasTimezone = true; } @@ -284,6 +285,7 @@ void updateTimeTrigger() { case RelativeToSunrise: _d("sunrise "); break; case RelativeToSunset: _d("sunset "); break; + default: break; } _dln(activeTimeTrigger->time); } @@ -373,14 +375,18 @@ void checkTriggers() } } - bool motionChanged = (activeMotionStart > 0) != lastMotion; - lastMotion = (activeMotionStart > 0); + bool motionChanged = inMotionTrigger != lastMotion; + lastMotion = inMotionTrigger; if (!motionChanged && !timeTriggerChanged) return; + _d("Triggers :: motionChanged = "); _dln(motionChanged); + _d("Triggers :: timeTriggerChanged = "); _dln(timeTriggerChanged); + + if (motionChanged) { if (inMotionTrigger) diff --git a/src/settings/triggers/motion.cpp b/src/settings/triggers/motion.cpp index 8842c1b..26ab815 100644 --- a/src/settings/triggers/motion.cpp +++ b/src/settings/triggers/motion.cpp @@ -52,6 +52,7 @@ bool MotionTriggerSettings::fromJson(char* data, bool* changed) enabled(root["enabled"]); + enabledDuringDay(root["enabledDuringDay"]); JsonVariant jsonEnabledDuringTimeTrigger = root["enabledDuringTimeTrigger"]; if (jsonEnabledDuringTimeTrigger.success()) diff --git a/web/dist/bundle.css b/web/dist/bundle.css index dd26d4a..626541d 100644 --- a/web/dist/bundle.css +++ b/web/dist/bundle.css @@ -1 +1 @@ -html{box-sizing:border-box;font-size:62.5%}*,:after,:before{box-sizing:inherit}body{background-color:#000;color:#fff;font-family:Verdana,Arial,sans-serif;font-size:1.3em;font-weight:300;letter-spacing:.01em;line-height:1.3;padding-bottom:3rem}@media screen and (min-width:768px){body{padding-top:3rem}}a{text-decoration:none}[v-cloak]{display:none}#container{background:#202020;margin-top:2rem;padding:1rem;box-shadow:0 0 50px #fcf6cf;border:solid 1px #000}@media screen and (min-width:768px){#container{width:768px;margin-left:auto;margin-right:auto}}.header{position:relative}.header img{float:left;margin-right:1rem}@media screen and (max-width:767px){.header .wifistatus{clear:both;margin-top:3rem}}@media screen and (min-width:768px){.header .wifistatus{position:absolute;right:0;top:0}}.header .wifistatus .indicator{display:inline-block;width:1rem;height:1rem;border-radius:50%;margin-right:.5rem}.header .wifistatus .indicator[data-status=connected]{background-color:#396}.header .wifistatus .indicator[data-status=disconnected]{border:solid 1px grey}.header .wifistatus .indicator[data-status=connecting]{background-color:#f93}.header .wifistatus .indicator[data-status=error]{background-color:#c00}.button,.check .control,.notification,.panel .panel-body,.panel .panel-header,.radio .control,.warning,button,h3,input[type=submit],select{border:1px solid #111;border-radius:3px;box-shadow:inset 0 1px rgba(255,255,255,.1),inset 0 -1px 3px rgba(0,0,0,.3),inset 0 0 0 1px rgba(255,255,255,.08),0 1px 2px rgba(0,0,0,.15)}.button.active,.button:active,button.active,button:active,input[type=number],input[type=password],input[type=submit].active,input[type=submit]:active,input[type=text],textarea{border:1px solid #111;border-color:#000 #111 #111;box-shadow:inset 0 1px 2px rgba(0,0,0,.25),0 1px rgba(255,255,255,.08)}button,input{font-family:Verdana,Arial,sans-serif}input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.button,button,input[type=submit]{display:inline-block;padding:0 12px;color:#ddd;background:#404040;cursor:pointer;line-height:3rem}.button.focus,.button:focus,.button:hover,button.focus,button:focus,button:hover,input[type=submit].focus,input[type=submit]:focus,input[type=submit]:hover{color:#ddd;background:#505050;outline:0}.button.active,.button:active,button.active,button:active,input[type=submit].active,input[type=submit]:active{color:#ccc;background:#282828}.button-primary,input[type=submit]{background:#2265a1}.button-primary.focus,.button-primary:focus,.button-primary:hover,input[type=submit].focus,input[type=submit]:focus,input[type=submit]:hover{background:#2672b6}a.button{text-decoration:none}.navigation{clear:both;margin-top:3rem}.tabs>.button{margin-left:-1px;border-radius:0}.tabs>.button:first-child{margin-left:0;border-radius:3px 0 0 3px}.tabs>.button:last-child{border-radius:0 3px 3px 0}.tabs>.button:focus{position:relative;z-index:1}.version{color:grey;font-size:8pt;text-align:center;margin-top:2rem}.notificationContainer{position:fixed;top:2rem;z-index:666}@media screen and (min-width:768px){.notificationContainer{width:512px;left:50%}}.notification{background:#297ab8;box-shadow:0 0 10px #000;color:#fff;cursor:pointer;padding:.5em;margin-bottom:2rem;position:relative}@media screen and (min-width:768px){.notification{left:-50%}}.notification .message{white-space:pre}.notification.error{background:#973a38}.check,.radio{display:inline-block;cursor:pointer;user-select:none;white-space:nowrap;margin-top:.5em;margin-bottom:.5em}.check .control,.radio .control{background:#404040;display:inline-block;width:16px;height:16px;position:relative}.check .label,.radio .label{display:inline-block;margin-left:.5em;vertical-align:top}.check.checked .control,.radio.checked .control{background:#606060}.check.disabled,.radio.disabled{cursor:not-allowed}.radio .control,.radio .control .inner{border-radius:50%}.radio .control .inner{color:#000;position:absolute;top:4px;left:4px;width:6px;height:6px}.radio.checked .control .inner{background:#ccc;box-shadow:0 1px rgba(0,0,0,.5)}.check .control .inner{position:absolute;top:5px;left:4px;width:6px;height:3px}.check.checked .control .inner{border:solid rgba(255,255,255,.8);border-width:0 0 2px 2px;transform:rotate(-45deg);box-shadow:-1px 0 rgba(0,0,0,.2),0 1px rgba(0,0,0,.5)}.form-control{margin-top:1em}input[type=number],input[type=password],input[type=text],textarea{background:#404040;color:#fff;padding:.5em;width:100%}select{background:#404040;color:#fff;font-family:Verdana,Arial,sans-serif;padding:.5em}input[type=range]{margin-top:1rem;margin-bottom:1rem}h1{font-size:2rem;margin:0}h2{color:silver;font-size:1.2rem;margin:0}h3{color:grey;background:#282828;font-size:1.2rem;padding:.5rem}h4{font-size:1.4rem}input[disabled]{cursor:not-allowed;color:grey;background:#262626}label{display:block;margin-top:.5em;margin-bottom:.5em}.label-inline{margin-right:2rem}@media screen and (min-width:768px){.horizontal{clear:both}.horizontal label{display:inline-block}.horizontal input[type=number],.horizontal input[type=password],.horizontal input[type=text],.horizontal textarea{display:inline-block;float:right;width:50%}.horizontal:after{clear:both}}.hint{display:block;font-size:8pt;color:grey;margin-bottom:1.5rem}.loading{margin-top:3rem;text-align:center}.suboptions{margin-left:5rem}.buttons{clear:both;text-align:center;margin-top:1rem}.sliders{margin-top:2rem}.step{margin-left:3rem;margin-right:3rem;position:relative}.step .slidercontainer{margin-right:4em}.step .value{position:absolute;right:0;top:.1rem;color:grey}.slidercontainer{margin-top:1rem}.slider{-webkit-appearance:none;width:100%;height:.5rem;border-radius:.25rem;background:#404040;outline:0}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:2rem;height:2rem;border-radius:50%;background:#fcf6cf;cursor:pointer}.slider::-moz-range-thumb{width:2rem;height:2rem;border-radius:50%;background:#fcf6cf;cursor:pointer}.warning{background:#973a38;padding:.5em;margin-bottom:2rem;margin-top:1rem}.nodata{color:grey;text-align:center}.clear{clear:both}.panel{margin-bottom:2rem;padding:0}.panel .panel-header{border-radius:3px 3px 0 0;border-bottom-width:0;padding:.5em;background:#404040;color:#fff}.panel .panel-header label{font-size:1em}.panel .panel-header .actions{float:right}.panel .panel-header .label,.panel .panel-header a{color:#fff}.panel .panel-body{border-radius:0 0 3px 3px;background:#303030;padding:2rem}.panel.active .panel-header{background:#3b4a58;color:#fff}.inline{display:inline-block;width:auto}.weekdays{margin-top:1rem}.weekdays .label{width:8em}.fade-enter-active,.fade-leave-active{transition:opacity .5s}.fade-enter,.fade-leave-to{opacity:0}.range{clear:both}.range .start{position:relative;display:inline-block;width:49%}.range .start .slidercontainer{margin-right:4em}.range .start .value{position:absolute;right:0;top:1.5rem;color:grey}.range .end{position:relative;display:inline-block;float:right;width:50%}.range .end .slidercontainer{margin-left:4em}.range .end .value{position:absolute;left:0;top:1.5rem;color:grey}.range:after{clear:both}.resetReason{margin-left:2em} \ No newline at end of file +html{box-sizing:border-box;font-size:62.5%}*,:after,:before{box-sizing:inherit}body{background-color:#000;color:#fff;font-family:Verdana,Arial,sans-serif;font-size:1.3em;font-weight:300;letter-spacing:.01em;line-height:1.3;padding-bottom:3rem}@media screen and (min-width:768px){body{padding-top:3rem}}a{text-decoration:none}[v-cloak]{display:none}#container{background:#202020;margin-top:2rem;padding:1rem;box-shadow:0 0 50px #fcf6cf;border:solid 1px #000}@media screen and (min-width:768px){#container{width:768px;margin-left:auto;margin-right:auto}}.header{position:relative}.header img{float:left;margin-right:1rem}@media screen and (max-width:767px){.header .wifistatus{clear:both;margin-top:3rem}}@media screen and (min-width:768px){.header .wifistatus{position:absolute;right:0;top:0}}.header .wifistatus .indicator{display:inline-block;width:1rem;height:1rem;border-radius:50%;margin-right:.5rem}.header .wifistatus .indicator[data-status=connected]{background-color:#396}.header .wifistatus .indicator[data-status=disconnected]{border:solid 1px grey}.header .wifistatus .indicator[data-status=connecting]{background-color:#f93}.header .wifistatus .indicator[data-status=error]{background-color:#c00}.button,.check .control,.notification,.panel .panel-body,.panel .panel-header,.radio .control,.warning,button,h3,input[type=submit],select{border:1px solid #111;border-radius:3px;box-shadow:inset 0 1px rgba(255,255,255,.1),inset 0 -1px 3px rgba(0,0,0,.3),inset 0 0 0 1px rgba(255,255,255,.08),0 1px 2px rgba(0,0,0,.15)}.button.active,.button:active,button.active,button:active,input[type=number],input[type=password],input[type=submit].active,input[type=submit]:active,input[type=text],textarea{border:1px solid #111;border-color:#000 #111 #111;box-shadow:inset 0 1px 2px rgba(0,0,0,.25),0 1px rgba(255,255,255,.08)}button,input{font-family:Verdana,Arial,sans-serif}input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.button,button,input[type=submit]{display:inline-block;padding:0 12px;color:#ddd;background:#404040;cursor:pointer;line-height:3rem}.button.focus,.button:focus,.button:hover,button.focus,button:focus,button:hover,input[type=submit].focus,input[type=submit]:focus,input[type=submit]:hover{color:#ddd;background:#505050;outline:0}.button.active,.button:active,button.active,button:active,input[type=submit].active,input[type=submit]:active{color:#ccc;background:#282828}.button-primary,input[type=submit]{background:#2265a1}.button-primary.focus,.button-primary:focus,.button-primary:hover,input[type=submit].focus,input[type=submit]:focus,input[type=submit]:hover{background:#2672b6}a.button{text-decoration:none}.navigation{clear:both;margin-top:3rem}.tabs>.button{margin-left:-1px;border-radius:0}.tabs>.button:first-child{margin-left:0;border-radius:3px 0 0 3px}.tabs>.button:last-child{border-radius:0 3px 3px 0}.tabs>.button:focus{position:relative;z-index:1}.version{color:grey;font-size:8pt;text-align:center;margin-top:2rem}.notificationContainer{position:fixed;top:2rem;z-index:666}@media screen and (min-width:768px){.notificationContainer{width:512px;left:50%}}.notification{background:#297ab8;box-shadow:0 0 10px #000;color:#fff;cursor:pointer;padding:.5em;margin-bottom:2rem;position:relative}@media screen and (min-width:768px){.notification{left:-50%}}.notification .message{white-space:pre}.notification.error{background:#973a38}.check,.radio{display:inline-block;cursor:pointer;user-select:none;white-space:nowrap;margin-top:.5em;margin-bottom:.5em}.check .control,.radio .control{background:#404040;display:inline-block;width:16px;height:16px;position:relative}.check .label,.radio .label{display:inline-block;margin-left:.5em;vertical-align:top}.check.checked .control,.radio.checked .control{background:#606060}.check.disabled,.radio.disabled{cursor:not-allowed}.check.disabled .label,.radio.disabled .label{color:grey}.radio .control,.radio .control .inner{border-radius:50%}.radio .control .inner{color:#000;position:absolute;top:4px;left:4px;width:6px;height:6px}.radio.checked .control .inner{background:#ccc;box-shadow:0 1px rgba(0,0,0,.5)}.check .control .inner{position:absolute;top:5px;left:4px;width:6px;height:3px}.check.checked .control .inner{border:solid rgba(255,255,255,.8);border-width:0 0 2px 2px;transform:rotate(-45deg);box-shadow:-1px 0 rgba(0,0,0,.2),0 1px rgba(0,0,0,.5)}.form-control{margin-top:1em}input[type=number],input[type=password],input[type=text],textarea{background:#404040;color:#fff;padding:.5em;width:100%}select{background:#404040;color:#fff;font-family:Verdana,Arial,sans-serif;padding:.5em}input[type=range]{margin-top:1rem;margin-bottom:1rem}h1{font-size:2rem;margin:0}h2{color:silver;font-size:1.2rem;margin:0}h3{color:grey;background:#282828;font-size:1.2rem;padding:.5rem}h4{font-size:1.4rem}input[disabled]{cursor:not-allowed;color:grey;background:#262626}label{display:block;margin-top:.5em;margin-bottom:.5em}.label-inline{margin-right:2rem}@media screen and (min-width:768px){.horizontal{clear:both}.horizontal label{display:inline-block}.horizontal input[type=number],.horizontal input[type=password],.horizontal input[type=text],.horizontal textarea{display:inline-block;float:right;width:50%}.horizontal:after{clear:both}}.hint{display:block;font-size:8pt;color:grey;margin-bottom:1.5rem}.loading{margin-top:3rem;text-align:center}.suboptions{margin-left:5rem}.buttons{clear:both;text-align:center;margin-top:1rem}.sliders{margin-top:2rem}.step{margin-left:3rem;margin-right:3rem;position:relative}.step .slidercontainer{margin-right:4em}.step .value{position:absolute;right:0;top:.1rem;color:grey}.slidercontainer{margin-top:1rem}.slider{-webkit-appearance:none;width:100%;height:.5rem;border-radius:.25rem;background:#404040;outline:0}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:2rem;height:2rem;border-radius:50%;background:#fcf6cf;cursor:pointer}.slider::-moz-range-thumb{width:2rem;height:2rem;border-radius:50%;background:#fcf6cf;cursor:pointer}.warning{background:#973a38;padding:.5em;margin-bottom:2rem;margin-top:1rem}.nodata{color:grey;text-align:center}.clear{clear:both}.panel{margin-bottom:2rem;padding:0}.panel .panel-header{border-radius:3px 3px 0 0;border-bottom-width:0;padding:.5em;background:#404040;color:#fff}.panel .panel-header label{font-size:1em}.panel .panel-header .actions{float:right}.panel .panel-header .label,.panel .panel-header a{color:#fff}.panel .panel-body{border-radius:0 0 3px 3px;background:#303030;padding:2rem}.panel.active .panel-header{background:#3b4a58;color:#fff}.inline{display:inline-block;width:auto}.weekdays{margin-top:1rem}.weekdays .label{width:8em}.fade-enter-active,.fade-leave-active{transition:opacity .5s}.fade-enter,.fade-leave-to{opacity:0}.range{clear:both}.range .start{position:relative;display:inline-block;width:49%}.range .start .slidercontainer{margin-right:4em}.range .start .value{position:absolute;right:0;top:1.5rem;color:grey}.range .end{position:relative;display:inline-block;float:right;width:50%}.range .end .slidercontainer{margin-left:4em}.range .end .value{position:absolute;left:0;top:1.5rem;color:grey}.range:after{clear:both}.resetReason{margin-left:2em} \ No newline at end of file diff --git a/web/index.html b/web/index.html index f0597a0..5b27b93 100644 --- a/web/index.html +++ b/web/index.html @@ -185,7 +185,9 @@ - +
+ +
diff --git a/web/site.scss b/web/site.scss index 1a54297..4584672 100644 --- a/web/site.scss +++ b/web/site.scss @@ -312,6 +312,11 @@ a.button &.disabled { cursor: not-allowed; + + .label + { + color: $inputDisabledTextColor; + } } }