ocrcc-chatbox/dist/component.js
2020-10-15 12:24:59 -04:00

36 lines
1.5 MiB
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

module.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=156)}([function(e,t){e.exports=require("react")},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},function(e,t,n){var r=n(11),i=r.Buffer;function o(e,t){for(var n in e)t[n]=e[n]}function s(e,t,n){return i(e,t,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=r:(o(r,t),t.Buffer=s),s.prototype=Object.create(i.prototype),o(i,s),s.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,n)},s.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=i(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},s.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},s.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},function(e,t,n){"use strict";var r=n(16);Object.defineProperty(t,"__esModule",{value:!0}),t.logger=void 0;var i=r(n(261));const o=i.default.getLogger("matrix");t.logger=o,o.setLevel(i.default.levels.DEBUG)},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){var r=n(86);function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}e.exports=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==r(e)&&"function"!=typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){var a=o?Object.getOwnPropertyDescriptor(e,s):null;a&&(a.get||a.set)?Object.defineProperty(n,s,a):n[s]=e[s]}return n.default=e,t&&t.set(e,n),n}},function(e,t,n){"use strict";var r=n(16);Object.defineProperty(t,"__esModule",{value:!0}),t.encodeParams=function(e){let t="";for(const n in e)e.hasOwnProperty(n)&&(t+="&"+encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t.substring(1)},t.encodeUri=function(e,t){for(const n in t)t.hasOwnProperty(n)&&(e=e.replace(n,encodeURIComponent(t[n])));return e},t.map=function(e,t){const n=new Array(e.length);for(let r=0;r<e.length;r++)n[r]=t(e[r]);return n},t.filter=function(e,t){const n=[];for(let r=0;r<e.length;r++)t(e[r],r,e)&&n.push(e[r]);return n},t.keys=function(e){const t=[];for(const n in e)e.hasOwnProperty(n)&&t.push(n);return t},t.values=function(e){const t=[];for(const n in e)e.hasOwnProperty(n)&&t.push(e[n]);return t},t.forEach=function(e,t){for(let n=0;n<e.length;n++)t(e[n],n)},t.findElement=function(e,t,n){let r;if(n){for(r=e.length-1;r>=0;r--)if(t(e[r],r,e))return e[r]}else for(r=0;r<e.length;r++)if(t(e[r],r,e))return e[r]},t.removeElement=function(e,t,n){let r,i;if(n){for(r=e.length-1;r>=0;r--)if(t(e[r],r,e))return i=e[r],e.splice(r,1),i}else for(r=0;r<e.length;r++)if(t(e[r],r,e))return i=e[r],e.splice(r,1),i;return!1},t.isFunction=function(e){return"[object Function]"==Object.prototype.toString.call(e)},t.isArray=function(e){return Array.isArray?Array.isArray(e):Boolean(e&&e.constructor===Array)},t.checkObjectHasKeys=function(e,t){for(let n=0;n<t.length;n++)if(!e.hasOwnProperty(t[n]))throw new Error("Missing required key: "+t[n])},t.checkObjectHasNoAdditionalKeys=function(e,t){for(const n in e)if(e.hasOwnProperty(n)&&-1===t.indexOf(n))throw new Error("Unknown key: "+n)},t.deepCopy=function(e){return JSON.parse(JSON.stringify(e))},t.deepCompare=function e(t,n){if(t===n)return!0;if(typeof t!=typeof n)return!1;if("number"==typeof t&&isNaN(t)&&isNaN(n))return!0;if(null===t||null===n)return t===n;if(!(t instanceof Object))return!1;if(t.constructor!==n.constructor||t.prototype!==n.prototype)return!1;if(t instanceof RegExp||t instanceof Date)return t.toString()===n.toString();if(t instanceof Array){if(t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(!e(t[r],n[r]))return!1}else{let r;for(r in n)if(n.hasOwnProperty(r)!==t.hasOwnProperty(r))return!1;for(r in n){if(n.hasOwnProperty(r)!==t.hasOwnProperty(r))return!1;if(!e(t[r],n[r]))return!1}}return!0},t.extend=function(){const e=arguments[0]||{};for(let t=1;t<arguments.length;t++){const n=arguments[t];for(const t in n)e[t]=n[t]}return e},t.runPolyfills=function(){Array.prototype.filter||(Array.prototype.filter=function(e){if(null==this)throw new TypeError;const t=Object(this),n=t.length>>>0;if("function"!=typeof e)throw new TypeError;const r=[],i=arguments.length>=2?arguments[1]:void 0;for(let o=0;o<n;o++)if(o in t){const n=t[o];e.call(i,n,o,t)&&r.push(n)}return r});Array.prototype.map||(Array.prototype.map=function(e,t){let n,r;if(null==this)throw new TypeError(" this is null or not defined");const i=Object(this),o=i.length>>>0;if("function"!=typeof e)throw new TypeError(e+" is not a function");arguments.length>1&&(n=t);const s=new Array(o);for(r=0;r<o;){var a,f;r in i&&(a=i[r],f=e.call(n,a,r,i),s[r]=f),r++}return s});Array.prototype.forEach||(Array.prototype.forEach=function(e,t){let n,r;if(null==this)throw new TypeError(" this is null or not defined");const i=Object(this),o=i.length>>>0;if("function"!=typeof e)throw new TypeError(e+" is not a function");for(arguments.length>1&&(n=t),r=0;r<o;){var s;r in i&&(s=i[r],e.call(n,s,r,i)),r++}})},t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.polyfillSuper=function(e,t,...n){try{t.call(e,...n)}catch(r){const i=new t(...n);Object.assign(e,i)}},t.isNumber=function(e){return"number"==typeof e&&isFinite(e)},t.removeHiddenChars=function(e){return(0,i.default)(e.normalize("NFD").replace(o,""))},t.escapeRegExp=s,t.globToRegexp=function(e,t){t="boolean"!=typeof t||t;let n=s(e);n=n.replace(/\\\*/g,".*"),n=n.replace(/\?/g,"."),t&&(n=n.replace(/\\\[(!|)(.*)\\]/g,(function(e,t,n,r,i){return"["+(t?"^":"")+n.replace(/\\-/,"-")+"]"})));return n},t.ensureNoTrailingSlash=function(e){return e&&e.endsWith("/")?e.substr(0,e.length-1):e},t.sleep=function(e,t){return new Promise(n=>{setTimeout(n,e,t)})},t.isNullOrUndefined=function(e){return null==e},t.defer=function(){let e,t;const n=new Promise((n,r)=>{e=n,t=r});return{resolve:e,reject:t,promise:n}},t.promiseMapSeries=async function(e,t){for(const n of await e)await t(await n)},t.promiseTry=function(e){return new Promise(t=>t(e()))};var i=r(n(262));const o=/[\u2000-\u200F\u202A-\u202F\u0300-\u036f\uFEFF\s]/g;function s(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}},function(e,t,n){e.exports=n(165)()},function(e,t,n){"use strict";var r,i="object"==typeof Reflect?Reflect:null,o=i&&"function"==typeof i.apply?i.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};r=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function a(){a.init.call(this)}e.exports=a,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var f=10;function c(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function u(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function l(e,t,n,r){var i,o,s,a;if(c(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),s=o[t]),void 0===s)s=o[t]=n,++e._eventsCount;else if("function"==typeof s?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),(i=u(e))>0&&s.length>i&&!s.warned){s.warned=!0;var f=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");f.name="MaxListenersExceededWarning",f.emitter=e,f.type=t,f.count=s.length,a=f,console&&console.warn&&console.warn(a)}return e}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function h(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=d.bind(r);return i.listener=n,r.wrapFn=i,i}function p(e,t,n){var r=e._events;if(void 0===r)return[];var i=r[t];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(i):m(i,i.length)}function g(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function m(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return f},set:function(e){if("number"!=typeof e||e<0||s(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");f=e}}),a.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||s(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},a.prototype.getMaxListeners=function(){return u(this)},a.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var r="error"===e,i=this._events;if(void 0!==i)r=r&&void 0===i.error;else if(!r)return!1;if(r){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var f=i[e];if(void 0===f)return!1;if("function"==typeof f)o(f,this,t);else{var c=f.length,u=m(f,c);for(n=0;n<c;++n)o(u[n],this,t)}return!0},a.prototype.addListener=function(e,t){return l(this,e,t,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(e,t){return l(this,e,t,!0)},a.prototype.once=function(e,t){return c(t),this.on(e,h(this,e,t)),this},a.prototype.prependOnceListener=function(e,t){return c(t),this.prependListener(e,h(this,e,t)),this},a.prototype.removeListener=function(e,t){var n,r,i,o,s;if(c(t),void 0===(r=this._events))return this;if(void 0===(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,o=n.length-1;o>=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,i),1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",e,s||t)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(e){var t,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var i,o=Object.keys(n);for(r=0;r<o.length;++r)"removeListener"!==(i=o[r])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},a.prototype.listeners=function(e){return p(this,e,!0)},a.prototype.rawListeners=function(e){return p(this,e,!1)},a.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):g.call(e,t)},a.prototype.listenerCount=g,a.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}},function(e,t,n){"use strict";(function(e){
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <http://feross.org>
* @license MIT
*/
var r=n(170),i=n(171),o=n(87);function s(){return f.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,t){if(s()<t)throw new RangeError("Invalid typed array length");return f.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=f.prototype:(null===e&&(e=new f(t)),e.length=t),e}function f(e,t,n){if(!(f.TYPED_ARRAY_SUPPORT||this instanceof f))return new f(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return l(this,e)}return c(this,e,t,n)}function c(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r);f.TYPED_ARRAY_SUPPORT?(e=t).__proto__=f.prototype:e=d(e,t);return e}(e,t,n,r):"string"==typeof t?function(e,t,n){"string"==typeof n&&""!==n||(n="utf8");if(!f.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|p(t,n),i=(e=a(e,r)).write(t,n);i!==r&&(e=e.slice(0,i));return e}(e,t,n):function(e,t){if(f.isBuffer(t)){var n=0|h(t.length);return 0===(e=a(e,n)).length?e:(t.copy(e,0,0,n),e)}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(r=t.length)!=r?a(e,0):d(e,t);if("Buffer"===t.type&&o(t.data))return d(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function l(e,t){if(u(t),e=a(e,t<0?0:0|h(t)),!f.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function d(e,t){var n=t.length<0?0:0|h(t.length);e=a(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function h(e){if(e>=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function p(e,t){if(f.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return q(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return F(e).length;default:if(r)return q(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return O(this,t,n);case"utf8":case"utf-8":return I(this,t,n);case"ascii":return R(this,t,n);case"latin1":case"binary":return T(this,t,n);case"base64":return k(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function m(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function _(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=f.from(t,r)),f.isBuffer(t))return 0===t.length?-1:y(e,t,n,r,i);if("number"==typeof t)return t&=255,f.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):y(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function y(e,t,n,r,i){var o,s=1,a=e.length,f=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;s=2,a/=2,f/=2,n/=2}function c(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(i){var u=-1;for(o=n;o<a;o++)if(c(e,o)===c(t,-1===u?0:o-u)){if(-1===u&&(u=o),o-u+1===f)return u*s}else-1!==u&&(o-=o-u),u=-1}else for(n+f>a&&(n=a-f),o=n;o>=0;o--){for(var l=!0,d=0;d<f;d++)if(c(e,o+d)!==c(t,d)){l=!1;break}if(l)return o}return-1}function b(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var s=0;s<r;++s){var a=parseInt(t.substr(2*s,2),16);if(isNaN(a))return s;e[n+s]=a}return s}function v(e,t,n,r){return K(q(t,e.length-n),e,n,r)}function A(e,t,n,r){return K(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function w(e,t,n,r){return A(e,t,n,r)}function E(e,t,n,r){return K(F(t),e,n,r)}function S(e,t,n,r){return K(function(e,t){for(var n,r,i,o=[],s=0;s<e.length&&!((t-=2)<0);++s)n=e.charCodeAt(s),r=n>>8,i=n%256,o.push(i),o.push(r);return o}(t,e.length-n),e,n,r)}function k(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function I(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var o,s,a,f,c=e[i],u=null,l=c>239?4:c>223?3:c>191?2:1;if(i+l<=n)switch(l){case 1:c<128&&(u=c);break;case 2:128==(192&(o=e[i+1]))&&(f=(31&c)<<6|63&o)>127&&(u=f);break;case 3:o=e[i+1],s=e[i+2],128==(192&o)&&128==(192&s)&&(f=(15&c)<<12|(63&o)<<6|63&s)>2047&&(f<55296||f>57343)&&(u=f);break;case 4:o=e[i+1],s=e[i+2],a=e[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(f=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&f<1114112&&(u=f)}null===u?(u=65533,l=1):u>65535&&(u-=65536,r.push(u>>>10&1023|55296),u=56320|1023&u),r.push(u),i+=l}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=4096));return n}(r)}t.Buffer=f,t.SlowBuffer=function(e){+e!=e&&(e=0);return f.alloc(+e)},t.INSPECT_MAX_BYTES=50,f.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=s(),f.poolSize=8192,f._augment=function(e){return e.__proto__=f.prototype,e},f.from=function(e,t,n){return c(null,e,t,n)},f.TYPED_ARRAY_SUPPORT&&(f.prototype.__proto__=Uint8Array.prototype,f.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&f[Symbol.species]===f&&Object.defineProperty(f,Symbol.species,{value:null,configurable:!0})),f.alloc=function(e,t,n){return function(e,t,n,r){return u(t),t<=0?a(e,t):void 0!==n?"string"==typeof r?a(e,t).fill(n,r):a(e,t).fill(n):a(e,t)}(null,e,t,n)},f.allocUnsafe=function(e){return l(null,e)},f.allocUnsafeSlow=function(e){return l(null,e)},f.isBuffer=function(e){return!(null==e||!e._isBuffer)},f.compare=function(e,t){if(!f.isBuffer(e)||!f.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);i<o;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},f.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},f.concat=function(e,t){if(!o(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return f.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=f.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var s=e[n];if(!f.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(r,i),i+=s.length}return r},f.byteLength=p,f.prototype._isBuffer=!0,f.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)m(this,t,t+1);return this},f.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)m(this,t,t+3),m(this,t+1,t+2);return this},f.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)m(this,t,t+7),m(this,t+1,t+6),m(this,t+2,t+5),m(this,t+3,t+4);return this},f.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?I(this,0,e):g.apply(this,arguments)},f.prototype.equals=function(e){if(!f.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===f.compare(this,e)},f.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),"<Buffer "+e+">"},f.prototype.compare=function(e,t,n,r,i){if(!f.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(r>>>=0),s=(n>>>=0)-(t>>>=0),a=Math.min(o,s),c=this.slice(r,i),u=e.slice(t,n),l=0;l<a;++l)if(c[l]!==u[l]){o=c[l],s=u[l];break}return o<s?-1:s<o?1:0},f.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},f.prototype.indexOf=function(e,t,n){return _(this,e,t,n,!0)},f.prototype.lastIndexOf=function(e,t,n){return _(this,e,t,n,!1)},f.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return b(this,e,t,n);case"utf8":case"utf-8":return v(this,e,t,n);case"ascii":return A(this,e,t,n);case"latin1":case"binary":return w(this,e,t,n);case"base64":return E(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function R(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function T(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function O(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var i="",o=t;o<n;++o)i+=L(e[o]);return i}function C(e,t,n){for(var r=e.slice(t,n),i="",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function x(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function M(e,t,n,r,i,o){if(!f.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<o)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function P(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i<o;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function D(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i<o;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function B(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function N(e,t,n,r,o){return o||B(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function j(e,t,n,r,o){return o||B(e,0,n,8),i.write(e,t,n,r,52,8),n+8}f.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),f.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=f.prototype;else{var i=t-e;n=new f(i,void 0);for(var o=0;o<i;++o)n[o]=this[o+e]}return n},f.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||x(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r},f.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||x(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},f.prototype.readUInt8=function(e,t){return t||x(e,1,this.length),this[e]},f.prototype.readUInt16LE=function(e,t){return t||x(e,2,this.length),this[e]|this[e+1]<<8},f.prototype.readUInt16BE=function(e,t){return t||x(e,2,this.length),this[e]<<8|this[e+1]},f.prototype.readUInt32LE=function(e,t){return t||x(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},f.prototype.readUInt32BE=function(e,t){return t||x(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},f.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||x(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},f.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||x(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},f.prototype.readInt8=function(e,t){return t||x(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},f.prototype.readInt16LE=function(e,t){t||x(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},f.prototype.readInt16BE=function(e,t){t||x(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},f.prototype.readInt32LE=function(e,t){return t||x(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},f.prototype.readInt32BE=function(e,t){return t||x(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},f.prototype.readFloatLE=function(e,t){return t||x(e,4,this.length),i.read(this,e,!0,23,4)},f.prototype.readFloatBE=function(e,t){return t||x(e,4,this.length),i.read(this,e,!1,23,4)},f.prototype.readDoubleLE=function(e,t){return t||x(e,8,this.length),i.read(this,e,!0,52,8)},f.prototype.readDoubleBE=function(e,t){return t||x(e,8,this.length),i.read(this,e,!1,52,8)},f.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||M(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[t]=255&e;++o<n&&(i*=256);)this[t+o]=e/i&255;return t+n},f.prototype.writeUIntBE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||M(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,o=1;for(this[t+i]=255&e;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+n},f.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,1,255,0),f.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},f.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,65535,0),f.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):P(this,e,t,!0),t+2},f.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,65535,0),f.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):P(this,e,t,!1),t+2},f.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,4294967295,0),f.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):D(this,e,t,!0),t+4},f.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,4294967295,0),f.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):D(this,e,t,!1),t+4},f.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);M(this,e,t,n,i-1,-i)}var o=0,s=1,a=0;for(this[t]=255&e;++o<n&&(s*=256);)e<0&&0===a&&0!==this[t+o-1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},f.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);M(this,e,t,n,i-1,-i)}var o=n-1,s=1,a=0;for(this[t+o]=255&e;--o>=0&&(s*=256);)e<0&&0===a&&0!==this[t+o+1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},f.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,1,127,-128),f.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},f.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,32767,-32768),f.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):P(this,e,t,!0),t+2},f.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,32767,-32768),f.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):P(this,e,t,!1),t+2},f.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,2147483647,-2147483648),f.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):D(this,e,t,!0),t+4},f.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),f.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):D(this,e,t,!1),t+4},f.prototype.writeFloatLE=function(e,t,n){return N(this,e,t,!0,n)},f.prototype.writeFloatBE=function(e,t,n){return N(this,e,t,!1,n)},f.prototype.writeDoubleLE=function(e,t,n){return j(this,e,t,!0,n)},f.prototype.writeDoubleBE=function(e,t,n){return j(this,e,t,!1,n)},f.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,o=r-n;if(this===e&&n<t&&t<r)for(i=o-1;i>=0;--i)e[i+t]=this[i+n];else if(o<1e3||!f.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+o),t);return o},f.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!f.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var o;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o<n;++o)this[o]=e;else{var s=f.isBuffer(e)?e:q(new f(e,r).toString()),a=s.length;for(o=0;o<n-t;++o)this[o+t]=s[o%a]}return this};var U=/[^+\/0-9A-Za-z-_]/g;function L(e){return e<16?"0"+e.toString(16):e.toString(16)}function q(e,t){var n;t=t||1/0;for(var r=e.length,i=null,o=[],s=0;s<r;++s){if((n=e.charCodeAt(s))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(s+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function F(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(U,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function K(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,n(6))},function(e,t,n){(function(e){!function(e,t){"use strict";function r(e,t){if(!e)throw new Error(t||"Assertion failed")}function i(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}function o(e,t,n){if(o.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(n=t,t=10),this._init(e||0,t||10,n||"be"))}var s;"object"==typeof e?e.exports=o:t.BN=o,o.BN=o,o.wordSize=26;try{s=n(218).Buffer}catch(e){}function a(e,t,n){for(var r=0,i=Math.min(e.length,n),o=t;o<i;o++){var s=e.charCodeAt(o)-48;r<<=4,r|=s>=49&&s<=54?s-49+10:s>=17&&s<=22?s-17+10:15&s}return r}function f(e,t,n,r){for(var i=0,o=Math.min(e.length,n),s=t;s<o;s++){var a=e.charCodeAt(s)-48;i*=r,i+=a>=49?a-49+10:a>=17?a-17+10:a}return i}o.isBN=function(e){return e instanceof o||null!==e&&"object"==typeof e&&e.constructor.wordSize===o.wordSize&&Array.isArray(e.words)},o.max=function(e,t){return e.cmp(t)>0?e:t},o.min=function(e,t){return e.cmp(t)<0?e:t},o.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initNumber=function(e,t,n){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(r(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initArray=function(e,t,n){if(r("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,s,a=0;if("be"===n)for(i=e.length-1,o=0;i>=0;i-=3)s=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===n)for(i=0,o=0;i<e.length;i+=3)s=e[i]|e[i+1]<<8|e[i+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var r,i,o=0;for(n=e.length-6,r=0;n>=t;n-=6)i=a(e,n,n+6),this.words[r]|=i<<o&67108863,this.words[r+1]|=i>>>26-o&4194303,(o+=24)>=26&&(o-=26,r++);n+6!==t&&(i=a(e,t,n+6),this.words[r]|=i<<o&67108863,this.words[r+1]|=i>>>26-o&4194303),this.strip()},o.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var r=0,i=1;i<=67108863;i*=t)r++;r--,i=i/t|0;for(var o=e.length-n,s=o%r,a=Math.min(o,o-s)+n,c=0,u=n;u<a;u+=r)c=f(e,u,u+r,t),this.imuln(i),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(0!==s){var l=1;for(c=f(e,u,e.length,t),u=0;u<s;u++)l*=t;this.imuln(l),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}},o.prototype.copy=function(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},o.prototype.clone=function(){var e=new o(null);return this.copy(e),e},o.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},o.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(e,t,n){n.negative=t.negative^e.negative;var r=e.length+t.length|0;n.length=r,r=r-1|0;var i=0|e.words[0],o=0|t.words[0],s=i*o,a=67108863&s,f=s/67108864|0;n.words[0]=a;for(var c=1;c<r;c++){for(var u=f>>>26,l=67108863&f,d=Math.min(c,t.length-1),h=Math.max(0,c-e.length+1);h<=d;h++){var p=c-h|0;u+=(s=(i=0|e.words[p])*(o=0|t.words[h])+l)/67108864|0,l=67108863&s}n.words[c]=0|l,f=0|u}return 0!==f?n.words[c]=0|f:n.length--,n.strip()}o.prototype.toString=function(e,t){var n;if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var i=0,o=0,s=0;s<this.length;s++){var a=this.words[s],f=(16777215&(a<<i|o)).toString(16);n=0!==(o=a>>>24-i&16777215)||s!==this.length-1?c[6-f.length]+f+n:f+n,(i+=2)>=26&&(i-=26,s--)}for(0!==o&&(n=o.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var d=u[e],h=l[e];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(h).toString(e);n=(p=p.idivn(h)).isZero()?g+n:c[d-g.length]+g+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(e,t){return r(void 0!==s),this.toArrayLike(s,e,t)},o.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},o.prototype.toArrayLike=function(e,t,n){var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,a,f="le"===t,c=new e(o),u=this.clone();if(f){for(a=0;!u.isZero();a++)s=u.andln(255),u.iushrn(8),c[a]=s;for(;a<o;a++)c[a]=0}else{for(a=0;a<o-i;a++)c[a]=0;for(a=0;!u.isZero();a++)s=u.andln(255),u.iushrn(8),c[o-a-1]=s}return c},Math.clz32?o.prototype._countBits=function(e){return 32-Math.clz32(e)}:o.prototype._countBits=function(e){var t=e,n=0;return t>=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},o.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,n=0;return 0==(8191&t)&&(n+=13,t>>>=13),0==(127&t)&&(n+=7,t>>>=7),0==(15&t)&&(n+=4,t>>>=4),0==(3&t)&&(n+=2,t>>>=2),0==(1&t)&&n++,n},o.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var n=this._zeroBits(this.words[t]);if(e+=n,26!==n)break}return e},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},o.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return 0!==this.negative},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this.strip()},o.prototype.ior=function(e){return r(0==(this.negative|e.negative)),this.iuor(e)},o.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var n=0;n<t.length;n++)this.words[n]=this.words[n]&e.words[n];return this.length=t.length,this.strip()},o.prototype.iand=function(e){return r(0==(this.negative|e.negative)),this.iuand(e)},o.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var r=0;r<n.length;r++)this.words[r]=t.words[r]^n.words[r];if(this!==t)for(;r<t.length;r++)this.words[r]=t.words[r];return this.length=t.length,this.strip()},o.prototype.ixor=function(e){return r(0==(this.negative|e.negative)),this.iuxor(e)},o.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var i=0;i<t;i++)this.words[i]=67108863&~this.words[i];return n>0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var n=e/26|0,i=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<<i:this.words[n]&~(1<<i),this.strip()},o.prototype.iadd=function(e){var t,n,r;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();this.length>e.length?(n=this,r=e):(n=e,r=this);for(var i=0,o=0;o<r.length;o++)t=(0|n.words[o])+(0|r.words[o])+i,this.words[o]=67108863&t,i=t>>>26;for(;0!==i&&o<n.length;o++)t=(0|n.words[o])+i,this.words[o]=67108863&t,i=t>>>26;if(this.length=n.length,0!==i)this.words[this.length]=i,this.length++;else if(n!==this)for(;o<n.length;o++)this.words[o]=n.words[o];return this},o.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},o.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n,r,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(n=this,r=e):(n=e,r=this);for(var o=0,s=0;s<r.length;s++)o=(t=(0|n.words[s])-(0|r.words[s])+o)>>26,this.words[s]=67108863&t;for(;0!==o&&s<n.length;s++)o=(t=(0|n.words[s])+o)>>26,this.words[s]=67108863&t;if(0===o&&s<n.length&&n!==this)for(;s<n.length;s++)this.words[s]=n.words[s];return this.length=Math.max(this.length,s),n!==this&&(this.negative=1),this.strip()},o.prototype.sub=function(e){return this.clone().isub(e)};var h=function(e,t,n){var r,i,o,s=e.words,a=t.words,f=n.words,c=0,u=0|s[0],l=8191&u,d=u>>>13,h=0|s[1],p=8191&h,g=h>>>13,m=0|s[2],_=8191&m,y=m>>>13,b=0|s[3],v=8191&b,A=b>>>13,w=0|s[4],E=8191&w,S=w>>>13,k=0|s[5],I=8191&k,R=k>>>13,T=0|s[6],O=8191&T,C=T>>>13,x=0|s[7],M=8191&x,P=x>>>13,D=0|s[8],B=8191&D,N=D>>>13,j=0|s[9],U=8191&j,L=j>>>13,q=0|a[0],F=8191&q,K=q>>>13,G=0|a[1],z=8191&G,H=G>>>13,V=0|a[2],Q=8191&V,W=V>>>13,Y=0|a[3],X=8191&Y,J=Y>>>13,Z=0|a[4],$=8191&Z,ee=Z>>>13,te=0|a[5],ne=8191&te,re=te>>>13,ie=0|a[6],oe=8191&ie,se=ie>>>13,ae=0|a[7],fe=8191&ae,ce=ae>>>13,ue=0|a[8],le=8191&ue,de=ue>>>13,he=0|a[9],pe=8191&he,ge=he>>>13;n.negative=e.negative^t.negative,n.length=19;var me=(c+(r=Math.imul(l,F))|0)+((8191&(i=(i=Math.imul(l,K))+Math.imul(d,F)|0))<<13)|0;c=((o=Math.imul(d,K))+(i>>>13)|0)+(me>>>26)|0,me&=67108863,r=Math.imul(p,F),i=(i=Math.imul(p,K))+Math.imul(g,F)|0,o=Math.imul(g,K);var _e=(c+(r=r+Math.imul(l,z)|0)|0)+((8191&(i=(i=i+Math.imul(l,H)|0)+Math.imul(d,z)|0))<<13)|0;c=((o=o+Math.imul(d,H)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,r=Math.imul(_,F),i=(i=Math.imul(_,K))+Math.imul(y,F)|0,o=Math.imul(y,K),r=r+Math.imul(p,z)|0,i=(i=i+Math.imul(p,H)|0)+Math.imul(g,z)|0,o=o+Math.imul(g,H)|0;var ye=(c+(r=r+Math.imul(l,Q)|0)|0)+((8191&(i=(i=i+Math.imul(l,W)|0)+Math.imul(d,Q)|0))<<13)|0;c=((o=o+Math.imul(d,W)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,r=Math.imul(v,F),i=(i=Math.imul(v,K))+Math.imul(A,F)|0,o=Math.imul(A,K),r=r+Math.imul(_,z)|0,i=(i=i+Math.imul(_,H)|0)+Math.imul(y,z)|0,o=o+Math.imul(y,H)|0,r=r+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,W)|0)+Math.imul(g,Q)|0,o=o+Math.imul(g,W)|0;var be=(c+(r=r+Math.imul(l,X)|0)|0)+((8191&(i=(i=i+Math.imul(l,J)|0)+Math.imul(d,X)|0))<<13)|0;c=((o=o+Math.imul(d,J)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,r=Math.imul(E,F),i=(i=Math.imul(E,K))+Math.imul(S,F)|0,o=Math.imul(S,K),r=r+Math.imul(v,z)|0,i=(i=i+Math.imul(v,H)|0)+Math.imul(A,z)|0,o=o+Math.imul(A,H)|0,r=r+Math.imul(_,Q)|0,i=(i=i+Math.imul(_,W)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,W)|0,r=r+Math.imul(p,X)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(g,X)|0,o=o+Math.imul(g,J)|0;var ve=(c+(r=r+Math.imul(l,$)|0)|0)+((8191&(i=(i=i+Math.imul(l,ee)|0)+Math.imul(d,$)|0))<<13)|0;c=((o=o+Math.imul(d,ee)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,r=Math.imul(I,F),i=(i=Math.imul(I,K))+Math.imul(R,F)|0,o=Math.imul(R,K),r=r+Math.imul(E,z)|0,i=(i=i+Math.imul(E,H)|0)+Math.imul(S,z)|0,o=o+Math.imul(S,H)|0,r=r+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,W)|0)+Math.imul(A,Q)|0,o=o+Math.imul(A,W)|0,r=r+Math.imul(_,X)|0,i=(i=i+Math.imul(_,J)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,J)|0,r=r+Math.imul(p,$)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(g,$)|0,o=o+Math.imul(g,ee)|0;var Ae=(c+(r=r+Math.imul(l,ne)|0)|0)+((8191&(i=(i=i+Math.imul(l,re)|0)+Math.imul(d,ne)|0))<<13)|0;c=((o=o+Math.imul(d,re)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,r=Math.imul(O,F),i=(i=Math.imul(O,K))+Math.imul(C,F)|0,o=Math.imul(C,K),r=r+Math.imul(I,z)|0,i=(i=i+Math.imul(I,H)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,H)|0,r=r+Math.imul(E,Q)|0,i=(i=i+Math.imul(E,W)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,W)|0,r=r+Math.imul(v,X)|0,i=(i=i+Math.imul(v,J)|0)+Math.imul(A,X)|0,o=o+Math.imul(A,J)|0,r=r+Math.imul(_,$)|0,i=(i=i+Math.imul(_,ee)|0)+Math.imul(y,$)|0,o=o+Math.imul(y,ee)|0,r=r+Math.imul(p,ne)|0,i=(i=i+Math.imul(p,re)|0)+Math.imul(g,ne)|0,o=o+Math.imul(g,re)|0;var we=(c+(r=r+Math.imul(l,oe)|0)|0)+((8191&(i=(i=i+Math.imul(l,se)|0)+Math.imul(d,oe)|0))<<13)|0;c=((o=o+Math.imul(d,se)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,r=Math.imul(M,F),i=(i=Math.imul(M,K))+Math.imul(P,F)|0,o=Math.imul(P,K),r=r+Math.imul(O,z)|0,i=(i=i+Math.imul(O,H)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,H)|0,r=r+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,W)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,W)|0,r=r+Math.imul(E,X)|0,i=(i=i+Math.imul(E,J)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,J)|0,r=r+Math.imul(v,$)|0,i=(i=i+Math.imul(v,ee)|0)+Math.imul(A,$)|0,o=o+Math.imul(A,ee)|0,r=r+Math.imul(_,ne)|0,i=(i=i+Math.imul(_,re)|0)+Math.imul(y,ne)|0,o=o+Math.imul(y,re)|0,r=r+Math.imul(p,oe)|0,i=(i=i+Math.imul(p,se)|0)+Math.imul(g,oe)|0,o=o+Math.imul(g,se)|0;var Ee=(c+(r=r+Math.imul(l,fe)|0)|0)+((8191&(i=(i=i+Math.imul(l,ce)|0)+Math.imul(d,fe)|0))<<13)|0;c=((o=o+Math.imul(d,ce)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,r=Math.imul(B,F),i=(i=Math.imul(B,K))+Math.imul(N,F)|0,o=Math.imul(N,K),r=r+Math.imul(M,z)|0,i=(i=i+Math.imul(M,H)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,H)|0,r=r+Math.imul(O,Q)|0,i=(i=i+Math.imul(O,W)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,W)|0,r=r+Math.imul(I,X)|0,i=(i=i+Math.imul(I,J)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,J)|0,r=r+Math.imul(E,$)|0,i=(i=i+Math.imul(E,ee)|0)+Math.imul(S,$)|0,o=o+Math.imul(S,ee)|0,r=r+Math.imul(v,ne)|0,i=(i=i+Math.imul(v,re)|0)+Math.imul(A,ne)|0,o=o+Math.imul(A,re)|0,r=r+Math.imul(_,oe)|0,i=(i=i+Math.imul(_,se)|0)+Math.imul(y,oe)|0,o=o+Math.imul(y,se)|0,r=r+Math.imul(p,fe)|0,i=(i=i+Math.imul(p,ce)|0)+Math.imul(g,fe)|0,o=o+Math.imul(g,ce)|0;var Se=(c+(r=r+Math.imul(l,le)|0)|0)+((8191&(i=(i=i+Math.imul(l,de)|0)+Math.imul(d,le)|0))<<13)|0;c=((o=o+Math.imul(d,de)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,r=Math.imul(U,F),i=(i=Math.imul(U,K))+Math.imul(L,F)|0,o=Math.imul(L,K),r=r+Math.imul(B,z)|0,i=(i=i+Math.imul(B,H)|0)+Math.imul(N,z)|0,o=o+Math.imul(N,H)|0,r=r+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,W)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,W)|0,r=r+Math.imul(O,X)|0,i=(i=i+Math.imul(O,J)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,J)|0,r=r+Math.imul(I,$)|0,i=(i=i+Math.imul(I,ee)|0)+Math.imul(R,$)|0,o=o+Math.imul(R,ee)|0,r=r+Math.imul(E,ne)|0,i=(i=i+Math.imul(E,re)|0)+Math.imul(S,ne)|0,o=o+Math.imul(S,re)|0,r=r+Math.imul(v,oe)|0,i=(i=i+Math.imul(v,se)|0)+Math.imul(A,oe)|0,o=o+Math.imul(A,se)|0,r=r+Math.imul(_,fe)|0,i=(i=i+Math.imul(_,ce)|0)+Math.imul(y,fe)|0,o=o+Math.imul(y,ce)|0,r=r+Math.imul(p,le)|0,i=(i=i+Math.imul(p,de)|0)+Math.imul(g,le)|0,o=o+Math.imul(g,de)|0;var ke=(c+(r=r+Math.imul(l,pe)|0)|0)+((8191&(i=(i=i+Math.imul(l,ge)|0)+Math.imul(d,pe)|0))<<13)|0;c=((o=o+Math.imul(d,ge)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,r=Math.imul(U,z),i=(i=Math.imul(U,H))+Math.imul(L,z)|0,o=Math.imul(L,H),r=r+Math.imul(B,Q)|0,i=(i=i+Math.imul(B,W)|0)+Math.imul(N,Q)|0,o=o+Math.imul(N,W)|0,r=r+Math.imul(M,X)|0,i=(i=i+Math.imul(M,J)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,J)|0,r=r+Math.imul(O,$)|0,i=(i=i+Math.imul(O,ee)|0)+Math.imul(C,$)|0,o=o+Math.imul(C,ee)|0,r=r+Math.imul(I,ne)|0,i=(i=i+Math.imul(I,re)|0)+Math.imul(R,ne)|0,o=o+Math.imul(R,re)|0,r=r+Math.imul(E,oe)|0,i=(i=i+Math.imul(E,se)|0)+Math.imul(S,oe)|0,o=o+Math.imul(S,se)|0,r=r+Math.imul(v,fe)|0,i=(i=i+Math.imul(v,ce)|0)+Math.imul(A,fe)|0,o=o+Math.imul(A,ce)|0,r=r+Math.imul(_,le)|0,i=(i=i+Math.imul(_,de)|0)+Math.imul(y,le)|0,o=o+Math.imul(y,de)|0;var Ie=(c+(r=r+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,ge)|0)+Math.imul(g,pe)|0))<<13)|0;c=((o=o+Math.imul(g,ge)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,r=Math.imul(U,Q),i=(i=Math.imul(U,W))+Math.imul(L,Q)|0,o=Math.imul(L,W),r=r+Math.imul(B,X)|0,i=(i=i+Math.imul(B,J)|0)+Math.imul(N,X)|0,o=o+Math.imul(N,J)|0,r=r+Math.imul(M,$)|0,i=(i=i+Math.imul(M,ee)|0)+Math.imul(P,$)|0,o=o+Math.imul(P,ee)|0,r=r+Math.imul(O,ne)|0,i=(i=i+Math.imul(O,re)|0)+Math.imul(C,ne)|0,o=o+Math.imul(C,re)|0,r=r+Math.imul(I,oe)|0,i=(i=i+Math.imul(I,se)|0)+Math.imul(R,oe)|0,o=o+Math.imul(R,se)|0,r=r+Math.imul(E,fe)|0,i=(i=i+Math.imul(E,ce)|0)+Math.imul(S,fe)|0,o=o+Math.imul(S,ce)|0,r=r+Math.imul(v,le)|0,i=(i=i+Math.imul(v,de)|0)+Math.imul(A,le)|0,o=o+Math.imul(A,de)|0;var Re=(c+(r=r+Math.imul(_,pe)|0)|0)+((8191&(i=(i=i+Math.imul(_,ge)|0)+Math.imul(y,pe)|0))<<13)|0;c=((o=o+Math.imul(y,ge)|0)+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863,r=Math.imul(U,X),i=(i=Math.imul(U,J))+Math.imul(L,X)|0,o=Math.imul(L,J),r=r+Math.imul(B,$)|0,i=(i=i+Math.imul(B,ee)|0)+Math.imul(N,$)|0,o=o+Math.imul(N,ee)|0,r=r+Math.imul(M,ne)|0,i=(i=i+Math.imul(M,re)|0)+Math.imul(P,ne)|0,o=o+Math.imul(P,re)|0,r=r+Math.imul(O,oe)|0,i=(i=i+Math.imul(O,se)|0)+Math.imul(C,oe)|0,o=o+Math.imul(C,se)|0,r=r+Math.imul(I,fe)|0,i=(i=i+Math.imul(I,ce)|0)+Math.imul(R,fe)|0,o=o+Math.imul(R,ce)|0,r=r+Math.imul(E,le)|0,i=(i=i+Math.imul(E,de)|0)+Math.imul(S,le)|0,o=o+Math.imul(S,de)|0;var Te=(c+(r=r+Math.imul(v,pe)|0)|0)+((8191&(i=(i=i+Math.imul(v,ge)|0)+Math.imul(A,pe)|0))<<13)|0;c=((o=o+Math.imul(A,ge)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,r=Math.imul(U,$),i=(i=Math.imul(U,ee))+Math.imul(L,$)|0,o=Math.imul(L,ee),r=r+Math.imul(B,ne)|0,i=(i=i+Math.imul(B,re)|0)+Math.imul(N,ne)|0,o=o+Math.imul(N,re)|0,r=r+Math.imul(M,oe)|0,i=(i=i+Math.imul(M,se)|0)+Math.imul(P,oe)|0,o=o+Math.imul(P,se)|0,r=r+Math.imul(O,fe)|0,i=(i=i+Math.imul(O,ce)|0)+Math.imul(C,fe)|0,o=o+Math.imul(C,ce)|0,r=r+Math.imul(I,le)|0,i=(i=i+Math.imul(I,de)|0)+Math.imul(R,le)|0,o=o+Math.imul(R,de)|0;var Oe=(c+(r=r+Math.imul(E,pe)|0)|0)+((8191&(i=(i=i+Math.imul(E,ge)|0)+Math.imul(S,pe)|0))<<13)|0;c=((o=o+Math.imul(S,ge)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,r=Math.imul(U,ne),i=(i=Math.imul(U,re))+Math.imul(L,ne)|0,o=Math.imul(L,re),r=r+Math.imul(B,oe)|0,i=(i=i+Math.imul(B,se)|0)+Math.imul(N,oe)|0,o=o+Math.imul(N,se)|0,r=r+Math.imul(M,fe)|0,i=(i=i+Math.imul(M,ce)|0)+Math.imul(P,fe)|0,o=o+Math.imul(P,ce)|0,r=r+Math.imul(O,le)|0,i=(i=i+Math.imul(O,de)|0)+Math.imul(C,le)|0,o=o+Math.imul(C,de)|0;var Ce=(c+(r=r+Math.imul(I,pe)|0)|0)+((8191&(i=(i=i+Math.imul(I,ge)|0)+Math.imul(R,pe)|0))<<13)|0;c=((o=o+Math.imul(R,ge)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,r=Math.imul(U,oe),i=(i=Math.imul(U,se))+Math.imul(L,oe)|0,o=Math.imul(L,se),r=r+Math.imul(B,fe)|0,i=(i=i+Math.imul(B,ce)|0)+Math.imul(N,fe)|0,o=o+Math.imul(N,ce)|0,r=r+Math.imul(M,le)|0,i=(i=i+Math.imul(M,de)|0)+Math.imul(P,le)|0,o=o+Math.imul(P,de)|0;var xe=(c+(r=r+Math.imul(O,pe)|0)|0)+((8191&(i=(i=i+Math.imul(O,ge)|0)+Math.imul(C,pe)|0))<<13)|0;c=((o=o+Math.imul(C,ge)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,r=Math.imul(U,fe),i=(i=Math.imul(U,ce))+Math.imul(L,fe)|0,o=Math.imul(L,ce),r=r+Math.imul(B,le)|0,i=(i=i+Math.imul(B,de)|0)+Math.imul(N,le)|0,o=o+Math.imul(N,de)|0;var Me=(c+(r=r+Math.imul(M,pe)|0)|0)+((8191&(i=(i=i+Math.imul(M,ge)|0)+Math.imul(P,pe)|0))<<13)|0;c=((o=o+Math.imul(P,ge)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,r=Math.imul(U,le),i=(i=Math.imul(U,de))+Math.imul(L,le)|0,o=Math.imul(L,de);var Pe=(c+(r=r+Math.imul(B,pe)|0)|0)+((8191&(i=(i=i+Math.imul(B,ge)|0)+Math.imul(N,pe)|0))<<13)|0;c=((o=o+Math.imul(N,ge)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863;var De=(c+(r=Math.imul(U,pe))|0)+((8191&(i=(i=Math.imul(U,ge))+Math.imul(L,pe)|0))<<13)|0;return c=((o=Math.imul(L,ge))+(i>>>13)|0)+(De>>>26)|0,De&=67108863,f[0]=me,f[1]=_e,f[2]=ye,f[3]=be,f[4]=ve,f[5]=Ae,f[6]=we,f[7]=Ee,f[8]=Se,f[9]=ke,f[10]=Ie,f[11]=Re,f[12]=Te,f[13]=Oe,f[14]=Ce,f[15]=xe,f[16]=Me,f[17]=Pe,f[18]=De,0!==c&&(f[19]=c,n.length++),n};function p(e,t,n){return(new g).mulp(e,t,n)}function g(e,t){this.x=e,this.y=t}Math.imul||(h=d),o.prototype.mulTo=function(e,t){var n=this.length+e.length;return 10===this.length&&10===e.length?h(this,e,t):n<63?d(this,e,t):n<1024?function(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var r=0,i=0,o=0;o<n.length-1;o++){var s=i;i=0;for(var a=67108863&r,f=Math.min(o,t.length-1),c=Math.max(0,o-e.length+1);c<=f;c++){var u=o-c,l=(0|e.words[u])*(0|t.words[c]),d=67108863&l;a=67108863&(d=d+a|0),i+=(s=(s=s+(l/67108864|0)|0)+(d>>>26)|0)>>>26,s&=67108863}n.words[o]=a,r=s,s=i}return 0!==r?n.words[o]=r:n.length--,n.strip()}(this,e,t):p(this,e,t)},g.prototype.makeRBT=function(e){for(var t=new Array(e),n=o.prototype._countBits(e)-1,r=0;r<e;r++)t[r]=this.revBin(r,n,e);return t},g.prototype.revBin=function(e,t,n){if(0===e||e===n-1)return e;for(var r=0,i=0;i<t;i++)r|=(1&e)<<t-i-1,e>>=1;return r},g.prototype.permute=function(e,t,n,r,i,o){for(var s=0;s<o;s++)r[s]=t[e[s]],i[s]=n[e[s]]},g.prototype.transform=function(e,t,n,r,i,o){this.permute(o,e,t,n,r,i);for(var s=1;s<i;s<<=1)for(var a=s<<1,f=Math.cos(2*Math.PI/a),c=Math.sin(2*Math.PI/a),u=0;u<i;u+=a)for(var l=f,d=c,h=0;h<s;h++){var p=n[u+h],g=r[u+h],m=n[u+h+s],_=r[u+h+s],y=l*m-d*_;_=l*_+d*m,m=y,n[u+h]=p+m,r[u+h]=g+_,n[u+h+s]=p-m,r[u+h+s]=g-_,h!==a&&(y=f*l-c*d,d=f*d+c*l,l=y)}},g.prototype.guessLen13b=function(e,t){var n=1|Math.max(t,e),r=1&n,i=0;for(n=n/2|0;n;n>>>=1)i++;return 1<<i+1+r},g.prototype.conjugate=function(e,t,n){if(!(n<=1))for(var r=0;r<n/2;r++){var i=e[r];e[r]=e[n-r-1],e[n-r-1]=i,i=t[r],t[r]=-t[n-r-1],t[n-r-1]=-i}},g.prototype.normalize13b=function(e,t){for(var n=0,r=0;r<t/2;r++){var i=8192*Math.round(e[2*r+1]/t)+Math.round(e[2*r]/t)+n;e[r]=67108863&i,n=i<67108864?0:i/67108864|0}return e},g.prototype.convert13b=function(e,t,n,i){for(var o=0,s=0;s<t;s++)o+=0|e[s],n[2*s]=8191&o,o>>>=13,n[2*s+1]=8191&o,o>>>=13;for(s=2*t;s<i;++s)n[s]=0;r(0===o),r(0==(-8192&o))},g.prototype.stub=function(e){for(var t=new Array(e),n=0;n<e;n++)t[n]=0;return t},g.prototype.mulp=function(e,t,n){var r=2*this.guessLen13b(e.length,t.length),i=this.makeRBT(r),o=this.stub(r),s=new Array(r),a=new Array(r),f=new Array(r),c=new Array(r),u=new Array(r),l=new Array(r),d=n.words;d.length=r,this.convert13b(e.words,e.length,s,r),this.convert13b(t.words,t.length,c,r),this.transform(s,o,a,f,r,i),this.transform(c,o,u,l,r,i);for(var h=0;h<r;h++){var p=a[h]*u[h]-f[h]*l[h];f[h]=a[h]*l[h]+f[h]*u[h],a[h]=p}return this.conjugate(a,f,r),this.transform(a,f,d,o,r,i),this.conjugate(d,o,r),this.normalize13b(d,r),n.negative=e.negative^t.negative,n.length=e.length+t.length,n.strip()},o.prototype.mul=function(e){var t=new o(null);return t.words=new Array(this.length+e.length),this.mulTo(e,t)},o.prototype.mulf=function(e){var t=new o(null);return t.words=new Array(this.length+e.length),p(this,e,t)},o.prototype.imul=function(e){return this.clone().mulTo(e,this)},o.prototype.imuln=function(e){r("number"==typeof e),r(e<67108864);for(var t=0,n=0;n<this.length;n++){var i=(0|this.words[n])*e,o=(67108863&i)+(67108863&t);t>>=26,t+=i/67108864|0,t+=o>>>26,this.words[n]=67108863&o}return 0!==t&&(this.words[n]=t,this.length++),this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),n=0;n<t.length;n++){var r=n/26|0,i=n%26;t[n]=(e.words[r]&1<<i)>>>i}return t}(e);if(0===t.length)return new o(1);for(var n=this,r=0;r<t.length&&0===t[r];r++,n=n.sqr());if(++r<t.length)for(var i=n.sqr();r<t.length;r++,i=i.sqr())0!==t[r]&&(n=n.mul(i));return n},o.prototype.iushln=function(e){r("number"==typeof e&&e>=0);var t,n=e%26,i=(e-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(t=0;t<this.length;t++){var a=this.words[t]&o,f=(0|this.words[t])-a<<n;this.words[t]=f|s,s=a>>>26-n}s&&(this.words[t]=s,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t<i;t++)this.words[t]=0;this.length+=i}return this.strip()},o.prototype.ishln=function(e){return r(0===this.negative),this.iushln(e)},o.prototype.iushrn=function(e,t,n){var i;r("number"==typeof e&&e>=0),i=t?(t-t%26)/26:0;var o=e%26,s=Math.min((e-o)/26,this.length),a=67108863^67108863>>>o<<o,f=n;if(i-=s,i=Math.max(0,i),f){for(var c=0;c<s;c++)f.words[c]=this.words[c];f.length=s}if(0===s);else if(this.length>s)for(this.length-=s,c=0;c<this.length;c++)this.words[c]=this.words[c+s];else this.words[0]=0,this.length=1;var u=0;for(c=this.length-1;c>=0&&(0!==u||c>=i);c--){var l=0|this.words[c];this.words[c]=u<<26-o|l>>>o,u=l&a}return f&&0!==u&&(f.words[f.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(e,t,n){return r(0===this.negative),this.iushrn(e,t,n)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,i=1<<t;return!(this.length<=n)&&!!(this.words[n]&i)},o.prototype.imaskn=function(e){r("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var i=67108863^67108863>>>t<<t;this.words[this.length-1]&=i}return this.strip()},o.prototype.maskn=function(e){return this.clone().imaskn(e)},o.prototype.iaddn=function(e){return r("number"==typeof e),r(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},o.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},o.prototype.isubn=function(e){if(r("number"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,this.words[t+1]-=1;return this.strip()},o.prototype.addn=function(e){return this.clone().iaddn(e)},o.prototype.subn=function(e){return this.clone().isubn(e)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(e,t,n){var i,o,s=e.length+n;this._expand(s);var a=0;for(i=0;i<e.length;i++){o=(0|this.words[i+n])+a;var f=(0|e.words[i])*t;a=((o-=67108863&f)>>26)-(f/67108864|0),this.words[i+n]=67108863&o}for(;i<this.length-n;i++)a=(o=(0|this.words[i+n])+a)>>26,this.words[i+n]=67108863&o;if(0===a)return this.strip();for(r(-1===a),a=0,i=0;i<this.length;i++)a=(o=-(0|this.words[i])+a)>>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(e,t){var n=(this.length,e.length),r=this.clone(),i=e,s=0|i.words[i.length-1];0!==(n=26-this._countBits(s))&&(i=i.ushln(n),r.iushln(n),s=0|i.words[i.length-1]);var a,f=r.length-i.length;if("mod"!==t){(a=new o(null)).length=f+1,a.words=new Array(a.length);for(var c=0;c<a.length;c++)a.words[c]=0}var u=r.clone()._ishlnsubmul(i,1,f);0===u.negative&&(r=u,a&&(a.words[f]=1));for(var l=f-1;l>=0;l--){var d=67108864*(0|r.words[i.length+l])+(0|r.words[i.length+l-1]);for(d=Math.min(d/s|0,67108863),r._ishlnsubmul(i,d,l);0!==r.negative;)d--,r.negative=0,r._ishlnsubmul(i,1,l),r.isZero()||(r.negative^=1);a&&(a.words[l]=d)}return a&&a.strip(),r.strip(),"div"!==t&&0!==n&&r.iushrn(n),{div:a||null,mod:r}},o.prototype.divmod=function(e,t,n){return r(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(a=this.neg().divmod(e,t),"mod"!==t&&(i=a.div.neg()),"div"!==t&&(s=a.mod.neg(),n&&0!==s.negative&&s.iadd(e)),{div:i,mod:s}):0===this.negative&&0!==e.negative?(a=this.divmod(e.neg(),t),"mod"!==t&&(i=a.div.neg()),{div:i,mod:a.mod}):0!=(this.negative&e.negative)?(a=this.neg().divmod(e.neg(),t),"div"!==t&&(s=a.mod.neg(),n&&0!==s.negative&&s.isub(e)),{div:a.div,mod:s}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new o(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,s,a},o.prototype.div=function(e){return this.divmod(e,"div",!1).div},o.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},o.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},o.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=0!==t.div.negative?t.mod.isub(e):t.mod,r=e.ushrn(1),i=e.andln(1),o=n.cmp(r);return o<0||1===i&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},o.prototype.modn=function(e){r(e<=67108863);for(var t=(1<<26)%e,n=0,i=this.length-1;i>=0;i--)n=(t*n+(0|this.words[i]))%e;return n},o.prototype.idivn=function(e){r(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var i=(0|this.words[n])+67108864*t;this.words[n]=i/e|0,t=i%e}return this.strip()},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new o(1),s=new o(0),a=new o(0),f=new o(1),c=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++c;for(var u=n.clone(),l=t.clone();!t.isZero();){for(var d=0,h=1;0==(t.words[0]&h)&&d<26;++d,h<<=1);if(d>0)for(t.iushrn(d);d-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(u),s.isub(l)),i.iushrn(1),s.iushrn(1);for(var p=0,g=1;0==(n.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(a.isOdd()||f.isOdd())&&(a.iadd(u),f.isub(l)),a.iushrn(1),f.iushrn(1);t.cmp(n)>=0?(t.isub(n),i.isub(a),s.isub(f)):(n.isub(t),a.isub(i),f.isub(s))}return{a:a,b:f,gcd:n.iushln(c)}},o.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,s=new o(1),a=new o(0),f=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var c=0,u=1;0==(t.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(t.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(f),s.iushrn(1);for(var l=0,d=1;0==(n.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(n.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(f),a.iushrn(1);t.cmp(n)>=0?(t.isub(n),s.isub(a)):(n.isub(t),a.isub(s))}return(i=0===t.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(e),i},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var r=0;t.isEven()&&n.isEven();r++)t.iushrn(1),n.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var i=t.cmp(n);if(i<0){var o=t;t=n,n=o}else if(0===i||0===n.cmpn(1))break;t.isub(n)}return n.iushln(r)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,n=(e-t)/26,i=1<<t;if(this.length<=n)return this._expand(n+1),this.words[n]|=i,this;for(var o=i,s=n;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)t=1;else{n&&(e=-e),r(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:i<e?-1:1}return 0!==this.negative?0|-t:t},o.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},o.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,n=this.length-1;n>=0;n--){var r=0|this.words[n],i=0|e.words[n];if(r!==i){r<i?t=-1:r>i&&(t=1);break}}return t},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return this.cmpn(e)>=0},o.prototype.gte=function(e){return this.cmp(e)>=0},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new w(e)},o.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},o.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},o.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},o.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},o.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},o.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var m={k256:null,p224:null,p192:null,p25519:null};function _(e,t){this.name=e,this.p=new o(t,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){_.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){_.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function v(){_.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function A(){_.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function w(e){if("string"==typeof e){var t=o._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function E(e){w.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}_.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},_.prototype.ireduce=function(e){var t,n=e;do{this.split(n,this.tmp),t=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(t>this.n);var r=t<this.n?-1:n.ucmp(this.p);return 0===r?(n.words[0]=0,n.length=1):r>0?n.isub(this.p):n.strip(),n},_.prototype.split=function(e,t){e.iushrn(this.n,0,t)},_.prototype.imulK=function(e){return e.imul(this.k)},i(y,_),y.prototype.split=function(e,t){for(var n=Math.min(e.length,9),r=0;r<n;r++)t.words[r]=e.words[r];if(t.length=n,e.length<=9)return e.words[0]=0,void(e.length=1);var i=e.words[9];for(t.words[t.length++]=4194303&i,r=10;r<e.length;r++){var o=0|e.words[r];e.words[r-10]=(4194303&o)<<4|i>>>22,i=o}i>>>=22,e.words[r-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},y.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n<e.length;n++){var r=0|e.words[n];t+=977*r,e.words[n]=67108863&t,t=64*r+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},i(b,_),i(v,_),i(A,_),A.prototype.imulK=function(e){for(var t=0,n=0;n<e.length;n++){var r=19*(0|e.words[n])+t,i=67108863&r;r>>>=26,e.words[n]=i,t=r}return 0!==t&&(e.words[e.length++]=t),e},o._prime=function(e){if(m[e])return m[e];var t;if("k256"===e)t=new y;else if("p224"===e)t=new b;else if("p192"===e)t=new v;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new A}return m[e]=t,t},w.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},w.prototype._verify2=function(e,t){r(0==(e.negative|t.negative),"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},w.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},w.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},w.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},w.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},w.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},w.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},w.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},w.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},w.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},w.prototype.isqr=function(e){return this.imul(e,e.clone())},w.prototype.sqr=function(e){return this.mul(e,e)},w.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var n=this.m.add(new o(1)).iushrn(2);return this.pow(e,n)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);r(!i.isZero());var a=new o(1).toRed(this),f=a.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new o(2*u*u).toRed(this);0!==this.pow(u,c).cmp(f);)u.redIAdd(f);for(var l=this.pow(u,i),d=this.pow(e,i.addn(1).iushrn(1)),h=this.pow(e,i),p=s;0!==h.cmp(a);){for(var g=h,m=0;0!==g.cmp(a);m++)g=g.redSqr();r(m<p);var _=this.pow(l,new o(1).iushln(p-m-1));d=d.redMul(_),l=_.redSqr(),h=h.redMul(l),p=m}return d},w.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},w.prototype.pow=function(e,t){if(t.isZero())return new o(1).toRed(this);if(0===t.cmpn(1))return e.clone();var n=new Array(16);n[0]=new o(1).toRed(this),n[1]=e;for(var r=2;r<n.length;r++)n[r]=this.mul(n[r-1],e);var i=n[0],s=0,a=0,f=t.bitLength()%26;for(0===f&&(f=26),r=t.length-1;r>=0;r--){for(var c=t.words[r],u=f-1;u>=0;u--){var l=c>>u&1;i!==n[0]&&(i=this.sqr(i)),0!==l||0!==s?(s<<=1,s|=l,(4===++a||0===r&&0===u)&&(i=this.mul(i,n[s]),a=0,s=0)):a=0}f=26}return i},w.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},w.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},o.mont=function(e){return new E(e)},i(E,w),E.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},E.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},E.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},E.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new o(0)._forceRed(this);var n=e.mul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},E.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}).call(this,n(111)(e))},function(e,t){var n,r,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(e){r=s}}();var f,c=[],u=!1,l=-1;function d(){u&&f&&(u=!1,f.length?c=f.concat(c):l=-1,c.length&&h())}function h(){if(!u){var e=a(d);u=!0;for(var t=c.length;t;){for(f=c,c=[];++l<t;)f&&f[l].run();l=-1,t=c.length}f=null,u=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function g(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new p(e,t)),1!==c.length||u||a(h)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(e,t){function n(e,t){if(!e)throw new Error(t||"Assertion failed")}e.exports=n,n.equal=function(e,t,n){if(e!=t)throw new Error(n||"Assertion failed: "+e+" != "+t)}},function(e,t,n){"use strict";var r=t,i=n(12),o=n(14),s=n(113);r.assert=o,r.toArray=s.toArray,r.zero2=s.zero2,r.toHex=s.toHex,r.encode=s.encode,r.getNAF=function(e,t,n){var r=new Array(Math.max(e.bitLength(),n)+1);r.fill(0);for(var i=1<<t+1,o=e.clone(),s=0;s<r.length;s++){var a,f=o.andln(i-1);o.isOdd()?(a=f>(i>>1)-1?(i>>1)-f:f,o.isubn(a)):a=0,r[s]=a,o.iushrn(1)}return r},r.getJSF=function(e,t){var n=[[],[]];e=e.clone(),t=t.clone();for(var r=0,i=0;e.cmpn(-r)>0||t.cmpn(-i)>0;){var o,s,a,f=e.andln(3)+r&3,c=t.andln(3)+i&3;if(3===f&&(f=-1),3===c&&(c=-1),0==(1&f))o=0;else o=3!==(a=e.andln(7)+r&7)&&5!==a||2!==c?f:-f;if(n[0].push(o),0==(1&c))s=0;else s=3!==(a=t.andln(7)+i&7)&&5!==a||2!==f?c:-c;n[1].push(s),2*r===o+1&&(r=1-r),2*i===s+1&&(i=1-i),e.iushrn(1),t.iushrn(1)}return n},r.cachedProperty=function(e,t,n){var r="_"+t;e.prototype[t]=function(){return void 0!==this[r]?this[r]:this[r]=n.call(this)}},r.parseBytes=function(e){return"string"==typeof e?r.toArray(e,"hex"):e},r.intFromLE=function(e){return new i(e,"hex","le")}},function(e,t){e.exports=function(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){"use strict";var r=n(14),i=n(2);function o(e,t){return 55296==(64512&e.charCodeAt(t))&&(!(t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1)))}function s(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function a(e){return 1===e.length?"0"+e:e}function f(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}t.inherits=i,t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var n=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),i=0;i<e.length;i+=2)n.push(parseInt(e[i]+e[i+1],16))}else for(var r=0,i=0;i<e.length;i++){var s=e.charCodeAt(i);s<128?n[r++]=s:s<2048?(n[r++]=s>>6|192,n[r++]=63&s|128):o(e,i)?(s=65536+((1023&s)<<10)+(1023&e.charCodeAt(++i)),n[r++]=s>>18|240,n[r++]=s>>12&63|128,n[r++]=s>>6&63|128,n[r++]=63&s|128):(n[r++]=s>>12|224,n[r++]=s>>6&63|128,n[r++]=63&s|128)}else for(i=0;i<e.length;i++)n[i]=0|e[i];return n},t.toHex=function(e){for(var t="",n=0;n<e.length;n++)t+=a(e[n].toString(16));return t},t.htonl=s,t.toHex32=function(e,t){for(var n="",r=0;r<e.length;r++){var i=e[r];"little"===t&&(i=s(i)),n+=f(i.toString(16))}return n},t.zero2=a,t.zero8=f,t.join32=function(e,t,n,i){var o=n-t;r(o%4==0);for(var s=new Array(o/4),a=0,f=t;a<s.length;a++,f+=4){var c;c="big"===i?e[f]<<24|e[f+1]<<16|e[f+2]<<8|e[f+3]:e[f+3]<<24|e[f+2]<<16|e[f+1]<<8|e[f],s[a]=c>>>0}return s},t.split32=function(e,t){for(var n=new Array(4*e.length),r=0,i=0;r<e.length;r++,i+=4){var o=e[r];"big"===t?(n[i]=o>>>24,n[i+1]=o>>>16&255,n[i+2]=o>>>8&255,n[i+3]=255&o):(n[i+3]=o>>>24,n[i+2]=o>>>16&255,n[i+1]=o>>>8&255,n[i]=255&o)}return n},t.rotr32=function(e,t){return e>>>t|e<<32-t},t.rotl32=function(e,t){return e<<t|e>>>32-t},t.sum32=function(e,t){return e+t>>>0},t.sum32_3=function(e,t,n){return e+t+n>>>0},t.sum32_4=function(e,t,n,r){return e+t+n+r>>>0},t.sum32_5=function(e,t,n,r,i){return e+t+n+r+i>>>0},t.sum64=function(e,t,n,r){var i=e[t],o=r+e[t+1]>>>0,s=(o<r?1:0)+n+i;e[t]=s>>>0,e[t+1]=o},t.sum64_hi=function(e,t,n,r){return(t+r>>>0<t?1:0)+e+n>>>0},t.sum64_lo=function(e,t,n,r){return t+r>>>0},t.sum64_4_hi=function(e,t,n,r,i,o,s,a){var f=0,c=t;return f+=(c=c+r>>>0)<t?1:0,f+=(c=c+o>>>0)<o?1:0,e+n+i+s+(f+=(c=c+a>>>0)<a?1:0)>>>0},t.sum64_4_lo=function(e,t,n,r,i,o,s,a){return t+r+o+a>>>0},t.sum64_5_hi=function(e,t,n,r,i,o,s,a,f,c){var u=0,l=t;return u+=(l=l+r>>>0)<t?1:0,u+=(l=l+o>>>0)<o?1:0,u+=(l=l+a>>>0)<a?1:0,e+n+i+s+f+(u+=(l=l+c>>>0)<c?1:0)>>>0},t.sum64_5_lo=function(e,t,n,r,i,o,s,a,f,c){return t+r+o+a+c>>>0},t.rotr64_hi=function(e,t,n){return(t<<32-n|e>>>n)>>>0},t.rotr64_lo=function(e,t,n){return(e<<32-n|t>>>n)>>>0},t.shr64_hi=function(e,t,n){return e>>>n},t.shr64_lo=function(e,t,n){return(e<<32-n|t>>>n)>>>0}},function(e,t,n){var r=n(3).Buffer,i=n(39).Transform,o=n(59).StringDecoder;function s(e){i.call(this),this.hashMode="string"==typeof e,this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}n(2)(s,i),s.prototype.update=function(e,t,n){"string"==typeof e&&(e=r.from(e,t));var i=this._update(e);return this.hashMode?this:(n&&(i=this._toString(i,n)),i)},s.prototype.setAutoPadding=function(){},s.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},s.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},s.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},s.prototype._transform=function(e,t,n){var r;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(e){r=e}finally{n(r)}},s.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(e){t=e}e(t)},s.prototype._finalOrDigest=function(e){var t=this.__final()||r.alloc(0);return e&&(t=this._toString(t,e,!0)),t},s.prototype._toString=function(e,t,n){if(this._decoder||(this._decoder=new o(t),this._encoding=t),this._encoding!==t)throw new Error("can't switch encodings");var r=this._decoder.write(e);return n&&(r+=this._decoder.end()),r},e.exports=s},function(e,t,n){"use strict";var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.MatrixEvent=t.EventStatus=void 0;var i=n(10),o=r(n(8)),s=n(4);t.EventStatus={NOT_SENT:"not_sent",ENCRYPTING:"encrypting",SENDING:"sending",QUEUED:"queued",SENT:"sent",CANCELLED:"cancelled"};const a={};function f(e){return a[e]||(a[e]=e),a[e]}const c=function(e){["state_key","type","sender","room_id","membership"].forEach(t=>{e[t]&&(e[t]=f(e[t]))}),["membership","avatar_url","displayname"].forEach(t=>{e.content&&e.content[t]&&(e.content[t]=f(e.content[t]))}),["rel_type"].forEach(t=>{e.content&&e.content["m.relates_to"]&&e.content["m.relates_to"][t]&&(e.content["m.relates_to"][t]=f(e.content["m.relates_to"][t]))}),this.event=e||{},this.sender=null,this.target=null,this.status=null,this.error=null,this.forwardLooking=!0,this._pushActions=null,this._replacingEvent=null,this._localRedactionEvent=null,this._isCancelled=!1,this._clearEvent={},this._senderCurve25519Key=null,this._claimedEd25519Key=null,this._forwardingCurve25519KeyChain=[],this._decryptionPromise=null,this._retryDecryption=!1};t.MatrixEvent=c,o.inherits(c,i.EventEmitter),o.extend(c.prototype,{getId:function(){return this.event.event_id},getSender:function(){return this.event.sender||this.event.user_id},getType:function(){return this._clearEvent.type||this.event.type},getWireType:function(){return this.event.type},getRoomId:function(){return this.event.room_id},getTs:function(){return this.event.origin_server_ts},getDate:function(){return this.event.origin_server_ts?new Date(this.event.origin_server_ts):null},getOriginalContent:function(){return this._localRedactionEvent?{}:this._clearEvent.content||this.event.content||{}},getContent:function(){return this._localRedactionEvent?{}:this._replacingEvent?this._replacingEvent.getContent()["m.new_content"]||{}:this.getOriginalContent()},getWireContent:function(){return this.event.content||{}},getPrevContent:function(){return this.getUnsigned().prev_content||this.event.prev_content||{}},getDirectionalContent:function(){return this.forwardLooking?this.getContent():this.getPrevContent()},getAge:function(){return this.getUnsigned().age||this.event.age},getLocalAge:function(){return Date.now()-this.getTs()},getStateKey:function(){return this.event.state_key},isState:function(){return void 0!==this.event.state_key},makeEncrypted:function(e,t,n,r){this._clearEvent={type:this.event.type,content:this.event.content},this.event.type=e,this.event.content=t,this._senderCurve25519Key=n,this._claimedEd25519Key=r},isBeingDecrypted:function(){return null!=this._decryptionPromise},isDecryptionFailure:function(){return this._clearEvent&&this._clearEvent.content&&"m.bad.encrypted"===this._clearEvent.content.msgtype},attemptDecryption:async function(e){if(!this.isEncrypted())throw new Error("Attempt to decrypt event which isn't encrypted");if(this._clearEvent&&this._clearEvent.content&&"m.bad.encrypted"!==this._clearEvent.content.msgtype)throw new Error("Attempt to decrypt event which has already been encrypted");return this._decryptionPromise?(s.logger.log(`Event ${this.getId()} already being decrypted; queueing a retry`),this._retryDecryption=!0,this._decryptionPromise):(this._decryptionPromise=this._decryptionLoop(e),this._decryptionPromise)},cancelAndResendKeyRequest:function(e,t){const n=this.getWireContent();return e.requestRoomKey({algorithm:n.algorithm,room_id:this.getRoomId(),session_id:n.session_id,sender_key:n.sender_key},this.getKeyRequestRecipients(t),!0)},getKeyRequestRecipients:function(e){const t=this.getWireContent(),n=[{userId:e,deviceId:"*"}],r=this.getSender();return r!==e&&n.push({userId:r,deviceId:t.device_id}),n},_decryptionLoop:async function(e){for(await Promise.resolve();;){let t,n;this._retryDecryption=!1;try{t=e?await e.decryptEvent(this):this._badEncryptedMessage("Encryption not enabled")}catch(e){if("DecryptionError"!==e.name)return s.logger.error(`Error decrypting event (id=${this.getId()}): ${e.stack||e}`),this._decryptionPromise=null,void(this._retryDecryption=!1);if(n=e,this._retryDecryption){s.logger.log(`Got error decrypting event (id=${this.getId()}: `+`${e}), but retrying`);continue}s.logger.warn(`Error decrypting event (id=${this.getId()}): ${e.detailedString}`),t=this._badEncryptedMessage(e.message)}return this._decryptionPromise=null,this._retryDecryption=!1,this._setClearData(t),this.setPushActions(null),void this.emit("Event.decrypted",this,n)}},_badEncryptedMessage:function(e){return{clearEvent:{type:"m.room.message",content:{msgtype:"m.bad.encrypted",body:"** Unable to decrypt: "+e+" **"}}}},_setClearData:function(e){this._clearEvent=e.clearEvent,this._senderCurve25519Key=e.senderCurve25519Key||null,this._claimedEd25519Key=e.claimedEd25519Key||null,this._forwardingCurve25519KeyChain=e.forwardingCurve25519KeyChain||[]},getClearContent:function(){const e=this._clearEvent;return e&&e.content?e.content:null},isEncrypted:function(){return"m.room.encrypted"===this.event.type},getSenderKey:function(){return this._senderCurve25519Key},getKeysClaimed:function(){return{ed25519:this._claimedEd25519Key}},getClaimedEd25519Key:function(){return this._claimedEd25519Key},getForwardingCurve25519KeyChain:function(){return this._forwardingCurve25519KeyChain},getUnsigned:function(){return this.event.unsigned||{}},unmarkLocallyRedacted:function(){const e=this._localRedactionEvent;return this._localRedactionEvent=null,this.event.unsigned&&(this.event.unsigned.redacted_because=null),!!e},markLocallyRedacted:function(e){this._localRedactionEvent||(this.emit("Event.beforeRedaction",this,e),this._localRedactionEvent=e,this.event.unsigned||(this.event.unsigned={}),this.event.unsigned.redacted_because=e.event)},makeRedacted:function(e){if(!e.event)throw new Error("invalid redaction_event in makeRedacted");let t;for(t in this._localRedactionEvent=null,this.emit("Event.beforeRedaction",this,e),this._replacingEvent=null,this.event.unsigned||(this.event.unsigned={}),this.event.unsigned.redacted_because=e.event,this.event)this.event.hasOwnProperty(t)&&(u[t]||delete this.event[t]);const n=l[this.getType()]||{},r=this.getContent();for(t in r)r.hasOwnProperty(t)&&(n[t]||delete r[t])},isRedacted:function(){return Boolean(this.getUnsigned().redacted_because)},isRedaction:function(){return"m.room.redaction"===this.getType()},getPushActions:function(){return this._pushActions},setPushActions:function(e){this._pushActions=e},handleRemoteEcho:function(e){const t=this.getUnsigned(),n=this.getId();this.event=e,t.redacted_because&&(this.event.unsigned||(this.event.unsigned={}),this.event.unsigned.redacted_because=t.redacted_because),this.setStatus(null),this.getId()!==n&&this.emit("Event.localEventIdReplaced",this)},isSending(){return!!this.status},setStatus(e){this.status=e,this.emit("Event.status",this,e)},replaceLocalEventId(e){this.event.event_id=e,this.emit("Event.localEventIdReplaced",this)},isRelation(e){const t=this.getWireContent(),n=t&&t["m.relates_to"];return n&&n.rel_type&&n.event_id&&(e&&n.rel_type===e||!e)},getRelation(){return this.isRelation()?this.getWireContent()["m.relates_to"]:null},makeReplaced(e){this.isRedacted()&&e||this._replacingEvent!==e&&(this._replacingEvent=e,this.emit("Event.replaced",this))},getAssociatedStatus(){return this._replacingEvent?this._replacingEvent.status:this._localRedactionEvent?this._localRedactionEvent.status:this.status},getServerAggregatedRelation(e){const t=this.getUnsigned()["m.relations"];if(t)return t[e]},replacingEventId(){const e=this.getServerAggregatedRelation("m.replace");return e?e.event_id:this._replacingEvent?this._replacingEvent.getId():void 0},replacingEvent(){return this._replacingEvent},replacingEventDate(){const e=this.getServerAggregatedRelation("m.replace");if(e){const t=e.origin_server_ts;if(Number.isFinite(t))return new Date(t)}else if(this._replacingEvent)return this._replacingEvent.getDate()},localRedactionEvent(){return this._localRedactionEvent},getAssociatedId(){const e=this.getRelation();return e?e.event_id:this.isRedaction()?this.event.redacts:void 0},hasAssocation(){return!!this.getAssociatedId()},updateAssociatedId(e){const t=this.getRelation();t?t.event_id=e:this.isRedaction()&&(this.event.redacts=e)},flagCancelled(e=!0){this._isCancelled=e},isCancelled(){return this._isCancelled},toJSON(){const e={type:this.getType(),sender:this.getSender(),content:this.getContent(),event_id:this.getId(),origin_server_ts:this.getTs(),unsigned:this.getUnsigned(),room_id:this.getRoomId()};return this.isRedaction()&&(e.redacts=this.event.redacts),this.isEncrypted()?{decrypted:e,encrypted:this.event}:e}});const u=["event_id","type","room_id","user_id","sender","state_key","prev_state","content","unsigned","origin_server_ts"].reduce((function(e,t){return e[t]=1,e}),{}),l={"m.room.member":{membership:1},"m.room.create":{creator:1},"m.room.join_rules":{join_rule:1},"m.room.power_levels":{ban:1,events:1,events_default:1,kick:1,redact:1,state_default:1,users:1,users_default:1},"m.room.aliases":{aliases:1}}},function(e,t,n){"use strict";var r=n(40),i=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=l;var o=Object.create(n(27));o.inherits=n(2);var s=n(88),a=n(58);o.inherits(l,s);for(var f=i(a.prototype),c=0;c<f.length;c++){var u=f[c];l.prototype[u]||(l.prototype[u]=a.prototype[u])}function l(e){if(!(this instanceof l))return new l(e);s.call(this,e),a.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",d)}function d(){this.allowHalfOpen||this._writableState.ended||r.nextTick(h,this)}function h(e){e.end()}Object.defineProperty(l.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(l.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),l.prototype._destroy=function(e,t){this.push(null),this.end(),r.nextTick(t,e)}},function(e,t,n){"use strict";(function(e,r){var i=n(16),o=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.encryptMessageForDevice=async function(e,t,n,r,i,o,f){const c=o.getIdentityKey(),u=await r.getSessionIdForDevice(c);if(null===u)return;s.logger.log("Using sessionid "+u+" for device "+i+":"+o.deviceId);const l={sender:t,sender_device:n,keys:{ed25519:r.deviceEd25519Key},recipient:i,recipient_keys:{ed25519:o.getFingerprint()}};a.extend(l,f),e[c]=await r.encryptMessage(c,u,JSON.stringify(l))},t.ensureOlmSessionsForDevices=async function(e,t,n,r){const i=[],o={},a={};for(const t in n){if(!n.hasOwnProperty(t))continue;o[t]={};const s=n[t];for(let n=0;n<s.length;n++){const f=s[n],c=f.deviceId,u=f.getIdentityKey();e._sessionsInProgress[u]||(e._sessionsInProgress[u]=new Promise((t,n)=>{a[u]={resolve:(...n)=>{delete e._sessionsInProgress[u],t(...n)},reject:(...t)=>{delete e._sessionsInProgress[u],n(...t)}}}));const l=await e.getSessionIdForDevice(u,a[u]);null!==l&&a[u]&&(delete e._sessionsInProgress[u],a[u].resolve(),delete a[u]),(null===l||r)&&i.push([t,c]),o[t][c]={device:f,sessionId:l}}}if(0===i.length)return o;let f;try{f=await t.claimOneTimeKeys(i,"signed_curve25519")}catch(e){for(const e of Object.values(a))e.resolve();throw s.logger.log("failed to claim one-time keys",e,i),e}const u=f.one_time_keys||{},l=[];for(const t in n){if(!n.hasOwnProperty(t))continue;const i=u[t]||{},f=n[t];for(let n=0;n<f.length;n++){const u=f[n],d=u.deviceId,h=u.getIdentityKey();if(o[t][d].sessionId&&!r)continue;const p=i[d]||{};let g=null;for(const e in p)0===e.indexOf("signed_curve25519:")&&(g=p[e]);if(g)l.push(c(e,g,t,u).then(e=>{a[h]&&a[h].resolve(e),o[t][d].sessionId=e},e=>{throw a[h]&&a[h].resolve(),e}));else{const e="No one-time keys (alg=signed_curve25519) for device "+t+":"+d;s.logger.warn(e),a[h]&&a[h].resolve()}}}return await Promise.all(l),o},t.verifySignature=u,t.pkSign=function(t,n,r,i){let o=!1;if(n instanceof Uint8Array){const t=new e.Olm.PkSigning;i=t.init_with_seed(n),n=t,o=!0}const s=t.signatures||{};delete t.signatures;const a=t.unsigned;t.unsigned&&delete t.unsigned;try{const e=s[r]||{};return s[r]=e,e["ed25519:"+i]=n.sign(f.default.stringify(t))}finally{t.signatures=s,a&&(t.unsigned=a),o&&n.free()}},t.pkVerify=function(t,n,r){const i="ed25519:"+n;if(!(t.signatures&&t.signatures[r]&&t.signatures[r][i]))throw new Error("No signature");const o=t.signatures[r][i],s=new e.Olm.Utility,a=t.signatures;delete t.signatures;const c=t.unsigned;t.unsigned&&delete t.unsigned;try{s.ed25519_verify(n,f.default.stringify(t),o)}finally{t.signatures=a,c&&(t.unsigned=c),s.free()}},t.encodeBase64=function(e){return r.from(e).toString("base64")},t.decodeBase64=function(e){return r.from(e,"base64")},t.MEGOLM_BACKUP_ALGORITHM=t.MEGOLM_ALGORITHM=t.OLM_ALGORITHM=void 0;var s=n(4),a=o(n(8)),f=i(n(78));t.OLM_ALGORITHM="m.olm.v1.curve25519-aes-sha2";t.MEGOLM_ALGORITHM="m.megolm.v1.aes-sha2";async function c(e,t,n,r){const i=r.deviceId;try{await u(e,t,n,i,r.getFingerprint())}catch(e){return s.logger.error("Unable to verify signature on one-time key for device "+n+":"+i+":",e),null}let o;try{o=await e.createOutboundSession(r.getIdentityKey(),t.key)}catch(e){return s.logger.error("Error starting olm session with device "+n+":"+i+": "+e),null}return s.logger.log("Started new olm sessionid "+o+" for device "+n+":"+i),o}async function u(e,t,n,r,i){const o="ed25519:"+r,s=((t.signatures||{})[n]||{})[o];if(!s)throw Error("No signature");const a=Object.assign({},t);delete a.unsigned,delete a.signatures;const c=f.default.stringify(a);e.verifySignature(i,c,s)}t.MEGOLM_BACKUP_ALGORITHM="m.megolm_backup.v1.curve25519-aes-sha2"}).call(this,n(6),n(11).Buffer)},function(e,t,n){"use strict";(function(t,r){var i=n(3).Buffer,o=t.crypto||t.msCrypto;o&&o.getRandomValues?e.exports=function(e,t){if(e>4294967295)throw new RangeError("requested too many random bytes");var n=i.allocUnsafe(e);if(e>0)if(e>65536)for(var s=0;s<e;s+=65536)o.getRandomValues(n.slice(s,s+65536));else o.getRandomValues(n);if("function"==typeof t)return r.nextTick((function(){t(null,n)}));return n}:e.exports=function(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}}).call(this,n(6),n(13))},function(e,t,n){var r=n(3).Buffer;function i(e,t){this._block=r.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}i.prototype.update=function(e,t){"string"==typeof e&&(t=t||"utf8",e=r.from(e,t));for(var n=this._block,i=this._blockSize,o=e.length,s=this._len,a=0;a<o;){for(var f=s%i,c=Math.min(o-a,i-f),u=0;u<c;u++)n[f+u]=e[a+u];a+=c,(s+=c)%i==0&&this._update(n)}return this._len+=o,this},i.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128,this._block.fill(0,t+1),t>=this._finalSize&&(this._update(this._block),this._block.fill(0));var n=8*this._len;if(n<=4294967295)this._block.writeUInt32BE(n,this._blockSize-4);else{var r=(4294967295&n)>>>0,i=(n-r)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(r,this._blockSize-4)}this._update(this._block);var o=this._hash();return e?o.toString(e):o},i.prototype._update=function(){throw new Error("_update must be implemented by subclass")},e.exports=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EventTimeline=i;var r=n(131);function i(e){this._eventTimelineSet=e,this._roomId=e.room?e.room.roomId:null,this._events=[],this._baseIndex=0,this._startState=new r.RoomState(this._roomId),this._startState.paginationToken=null,this._endState=new r.RoomState(this._roomId),this._endState.paginationToken=null,this._prevTimeline=null,this._nextTimeline=null,this._paginationRequests={b:null,f:null},this._name=this._roomId+":"+(new Date).toISOString()}i.BACKWARDS="b",i.FORWARDS="f",i.prototype.initialiseState=function(e){if(this._events.length>0)throw new Error("Cannot initialise state after events are added");for(const t of e)Object.freeze(t);this._startState.setStateEvents(e),this._endState.setStateEvents(e)},i.prototype.forkLive=function(e){const t=this.getState(e),n=new i(this._eventTimelineSet);return n._startState=t.clone(),n._endState=t,this._endState=t.clone(),n},i.prototype.fork=function(e){const t=this.getState(e),n=new i(this._eventTimelineSet);return n._startState=t.clone(),n._endState=t.clone(),n},i.prototype.getRoomId=function(){return this._roomId},i.prototype.getFilter=function(){return this._eventTimelineSet.getFilter()},i.prototype.getTimelineSet=function(){return this._eventTimelineSet},i.prototype.getBaseIndex=function(){return this._baseIndex},i.prototype.getEvents=function(){return this._events},i.prototype.getState=function(e){if(e==i.BACKWARDS)return this._startState;if(e==i.FORWARDS)return this._endState;throw new Error("Invalid direction '"+e+"'")},i.prototype.getPaginationToken=function(e){return this.getState(e).paginationToken},i.prototype.setPaginationToken=function(e,t){this.getState(t).paginationToken=e},i.prototype.getNeighbouringTimeline=function(e){if(e==i.BACKWARDS)return this._prevTimeline;if(e==i.FORWARDS)return this._nextTimeline;throw new Error("Invalid direction '"+e+"'")},i.prototype.setNeighbouringTimeline=function(e,t){if(this.getNeighbouringTimeline(t))throw new Error("timeline already has a neighbouring timeline - cannot reset neighbour (direction: "+t+")");if(t==i.BACKWARDS)this._prevTimeline=e;else{if(t!=i.FORWARDS)throw new Error("Invalid direction '"+t+"'");this._nextTimeline=e}this.setPaginationToken(null,t)},i.prototype.addEvent=function(e,t){const n=t?this._startState:this._endState,r=this.getTimelineSet();let o;r.room&&r.room.getUnfilteredTimelineSet()===r&&(i.setEventMetadata(e,n,t),e.isState()&&(n.setStateEvents([e]),e.sender&&("m.room.member"!==e.getType()||t)||i.setEventMetadata(e,n,t))),o=t?0:this._events.length,this._events.splice(o,0,e),t&&this._baseIndex++},i.setEventMetadata=function(e,t,n){e.sender=t.getSentinelMember(e.getSender()),"m.room.member"===e.getType()&&(e.target=t.getSentinelMember(e.getStateKey())),e.isState()&&n&&(e.forwardLooking=!1)},i.prototype.removeEvent=function(e){for(let t=this._events.length-1;t>=0;t--){const n=this._events[t];if(n.getId()==e)return this._events.splice(t,1),t<this._baseIndex&&this._baseIndex--,n}return null},i.prototype.toString=function(){return this._name}},function(e,t){e.exports=require("react-dom")},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(308)),o=r(n(310));t.uuid=function(){return i.default()};const s={v4:/(?:^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}$)|(?:^0{8}-0{4}-0{4}-0{4}-0{12}$)/u,v5:/(?:^[a-f0-9]{8}-[a-f0-9]{4}-5[a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}$)|(?:^0{8}-0{4}-0{4}-0{4}-0{12}$)/u};t.regex=s;t.isUuid=function(e){return s.v4.test(e)||s.v5.test(e)};t.empty=function(){return"00000000-0000-0000-0000-000000000000"};t.fromString=function(e){return o.default(e,"bb5d0ffa-9a4c-4d7c-8fc2-0a7d2220ba45")}},function(e,t,n){(function(e){function n(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===n(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===n(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===n(e)},t.isError=function(e){return"[object Error]"===n(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=e.isBuffer}).call(this,n(11).Buffer)},function(e,t,n){"use strict";var r=n(2),i=n(60),o=n(61),s=n(62),a=n(18);function f(e){a.call(this,"digest"),this._hash=e}r(f,a),f.prototype._update=function(e){this._hash.update(e)},f.prototype._final=function(){return this._hash.digest()},e.exports=function(e){return"md5"===(e=e.toLowerCase())?new i:"rmd160"===e||"ripemd160"===e?new o:new f(s(e))}},function(e,t,n){(function(t){e.exports=function(e,n){for(var r=Math.min(e.length,n.length),i=new t(r),o=0;o<r;++o)i[o]=e[o]^n[o];return i}}).call(this,n(11).Buffer)},function(e,t,n){"use strict";var r=n(17),i=n(14);function o(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}t.BlockHash=o,o.prototype.update=function(e,t){if(e=r.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var n=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-n,e.length),0===this.pending.length&&(this.pending=null),e=r.join32(e,0,e.length-n,this.endian);for(var i=0;i<e.length;i+=this._delta32)this._update(e,i,i+this._delta32)}return this},o.prototype.digest=function(e){return this.update(this._pad()),i(null===this.pending),this._digest(e)},o.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,n=t-(e+this.padLength)%t,r=new Array(n+this.padLength);r[0]=128;for(var i=1;i<n;i++)r[i]=0;if(e<<=3,"big"===this.endian){for(var o=8;o<this.padLength;o++)r[i++]=0;r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=e>>>24&255,r[i++]=e>>>16&255,r[i++]=e>>>8&255,r[i++]=255&e}else for(r[i++]=255&e,r[i++]=e>>>8&255,r[i++]=e>>>16&255,r[i++]=e>>>24&255,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,o=8;o<this.padLength;o++)r[i++]=0;return r}},function(e,t,n){var r=t;r.bignum=n(12),r.define=n(243).define,r.base=n(32),r.constants=n(119),r.decoders=n(248),r.encoders=n(250)},function(e,t,n){var r=t;r.Reporter=n(245).Reporter,r.DecoderBuffer=n(118).DecoderBuffer,r.EncoderBuffer=n(118).EncoderBuffer,r.Node=n(246)},function(e,t,n){"use strict";(function(e){var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.IndexedDBCryptoStore=void 0;var i=n(4),o=n(282),s=n(71),a=r(n(283)),f=n(77),c=r(n(135));class u{constructor(e,t){this._indexedDB=e,this._dbName=t,this._backendPromise=null}static exists(e,t){return c.exists(e,t)}_connect(){return this._backendPromise?this._backendPromise:(this._backendPromise=new Promise((e,t)=>{if(!this._indexedDB)return void t(new Error("no indexeddb support available"));i.logger.log(`connecting to indexeddb ${this._dbName}`);const n=this._indexedDB.open(this._dbName,a.VERSION);n.onupgradeneeded=e=>{const t=e.target.result,n=e.oldVersion;a.upgradeDatabase(t,n)},n.onblocked=()=>{i.logger.log("can't yet open IndexedDBCryptoStore because it is open elsewhere")},n.onerror=e=>{i.logger.log("Error connecting to indexeddb",e),t(e.target.error)},n.onsuccess=t=>{const n=t.target.result;i.logger.log(`connected to indexeddb ${this._dbName}`),e(new a.Backend(n))}}).then(e=>e.doTxn("readonly",[u.STORE_INBOUND_GROUP_SESSIONS,u.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],t=>{e.getEndToEndInboundGroupSession("","",t,()=>{})}).then(()=>e)).catch(t=>{if("VersionError"===t.name)throw i.logger.warn("Crypto DB is too new for us to use!",t),new f.InvalidCryptoStoreError(f.InvalidCryptoStoreError.TOO_NEW);i.logger.warn(`unable to connect to indexeddb ${this._dbName}`+`: falling back to localStorage store: ${t}`);try{return new o.LocalStorageCryptoStore(e.localStorage)}catch(t){return i.logger.warn(`unable to open localStorage: falling back to in-memory store: ${t}`),new s.MemoryCryptoStore}}),this._backendPromise)}deleteAllData(){return new Promise((e,t)=>{if(!this._indexedDB)return void t(new Error("no indexeddb support available"));i.logger.log(`Removing indexeddb instance: ${this._dbName}`);const n=this._indexedDB.deleteDatabase(this._dbName);n.onblocked=()=>{i.logger.log("can't yet delete IndexedDBCryptoStore because it is open elsewhere")},n.onerror=e=>{i.logger.log("Error deleting data from indexeddb",e),t(e.target.error)},n.onsuccess=()=>{i.logger.log(`Removed indexeddb instance: ${this._dbName}`),e()}}).catch(e=>{i.logger.warn(`unable to delete IndexedDBCryptoStore: ${e}`)})}getOrAddOutgoingRoomKeyRequest(e){return this._connect().then(t=>t.getOrAddOutgoingRoomKeyRequest(e))}getOutgoingRoomKeyRequest(e){return this._connect().then(t=>t.getOutgoingRoomKeyRequest(e))}getOutgoingRoomKeyRequestByState(e){return this._connect().then(t=>t.getOutgoingRoomKeyRequestByState(e))}getOutgoingRoomKeyRequestsByTarget(e,t,n){return this._connect().then(r=>r.getOutgoingRoomKeyRequestsByTarget(e,t,n))}updateOutgoingRoomKeyRequest(e,t,n){return this._connect().then(r=>r.updateOutgoingRoomKeyRequest(e,t,n))}deleteOutgoingRoomKeyRequest(e,t){return this._connect().then(n=>n.deleteOutgoingRoomKeyRequest(e,t))}getAccount(e,t){this._backendPromise.then(n=>{n.getAccount(e,t)})}storeAccount(e,t){this._backendPromise.then(n=>{n.storeAccount(e,t)})}getCrossSigningKeys(e,t){this._backendPromise.then(n=>{n.getCrossSigningKeys(e,t)})}storeCrossSigningKeys(e,t){this._backendPromise.then(n=>{n.storeCrossSigningKeys(e,t)})}countEndToEndSessions(e,t){this._backendPromise.then(n=>{n.countEndToEndSessions(e,t)})}getEndToEndSession(e,t,n,r){this._backendPromise.then(i=>{i.getEndToEndSession(e,t,n,r)})}getEndToEndSessions(e,t,n){this._backendPromise.then(r=>{r.getEndToEndSessions(e,t,n)})}getAllEndToEndSessions(e,t){this._backendPromise.then(n=>{n.getAllEndToEndSessions(e,t)})}storeEndToEndSession(e,t,n,r){this._backendPromise.then(i=>{i.storeEndToEndSession(e,t,n,r)})}storeEndToEndSessionProblem(e,t,n){return this._backendPromise.then(async r=>{await r.storeEndToEndSessionProblem(e,t,n)})}getEndToEndSessionProblem(e,t){return this._backendPromise.then(async n=>await n.getEndToEndSessionProblem(e,t))}filterOutNotifiedErrorDevices(e){return this._backendPromise.then(async t=>await t.filterOutNotifiedErrorDevices(e))}getEndToEndInboundGroupSession(e,t,n,r){this._backendPromise.then(i=>{i.getEndToEndInboundGroupSession(e,t,n,r)})}getAllEndToEndInboundGroupSessions(e,t){this._backendPromise.then(n=>{n.getAllEndToEndInboundGroupSessions(e,t)})}addEndToEndInboundGroupSession(e,t,n,r){this._backendPromise.then(i=>{i.addEndToEndInboundGroupSession(e,t,n,r)})}storeEndToEndInboundGroupSession(e,t,n,r){this._backendPromise.then(i=>{i.storeEndToEndInboundGroupSession(e,t,n,r)})}storeEndToEndInboundGroupSessionWithheld(e,t,n,r){this._backendPromise.then(i=>{i.storeEndToEndInboundGroupSessionWithheld(e,t,n,r)})}storeEndToEndDeviceData(e,t){this._backendPromise.then(n=>{n.storeEndToEndDeviceData(e,t)})}getEndToEndDeviceData(e,t){this._backendPromise.then(n=>{n.getEndToEndDeviceData(e,t)})}storeEndToEndRoom(e,t,n){this._backendPromise.then(r=>{r.storeEndToEndRoom(e,t,n)})}getEndToEndRooms(e,t){this._backendPromise.then(n=>{n.getEndToEndRooms(e,t)})}getSessionsNeedingBackup(e){return this._connect().then(t=>t.getSessionsNeedingBackup(e))}countSessionsNeedingBackup(e){return this._connect().then(t=>t.countSessionsNeedingBackup(e))}unmarkSessionsNeedingBackup(e,t){return this._connect().then(n=>n.unmarkSessionsNeedingBackup(e,t))}markSessionsNeedingBackup(e,t){return this._connect().then(n=>n.markSessionsNeedingBackup(e,t))}doTxn(e,t,n){return this._connect().then(r=>r.doTxn(e,t,n))}}t.IndexedDBCryptoStore=u,u.STORE_ACCOUNT="account",u.STORE_SESSIONS="sessions",u.STORE_INBOUND_GROUP_SESSIONS="inbound_group_sessions",u.STORE_INBOUND_GROUP_SESSIONS_WITHHELD="inbound_group_sessions_withheld",u.STORE_DEVICE_DATA="device_data",u.STORE_ROOMS="rooms",u.STORE_BACKUP="sessions_needing_backup"}).call(this,n(6))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.newVerificationError=i,t.errorFactory=o,t.errorFromEvent=function(e){const t=e.getContent();if(t){const{code:e,reason:n}=t;return{code:e,reason:n}}return{code:"Unknown error",reason:"m.unknown"}},t.newInvalidMessageError=t.newUserMismatchError=t.newKeyMismatchError=t.newUnexpectedMessageError=t.newUnknownMethodError=t.newUnknownTransactionError=t.newTimeoutError=t.newUserCancelledError=void 0;var r=n(19);function i(e,t,n){return(n=n||{}).code=e,n.reason=t,new r.MatrixEvent({type:"m.key.verification.cancel",content:n})}function o(e,t){return function(n){return i(e,t,n)}}const s=o("m.user","Cancelled by user");t.newUserCancelledError=s;const a=o("m.timeout","Timed out");t.newTimeoutError=a;const f=o("m.unknown_transaction","Unknown transaction");t.newUnknownTransactionError=f;const c=o("m.unknown_method","Unknown method");t.newUnknownMethodError=c;const u=o("m.unexpected_message","Unexpected message");t.newUnexpectedMessageError=u;const l=o("m.key_mismatch","Key mismatch");t.newKeyMismatchError=l;const d=o("m.user_error","User mismatch");t.newUserMismatchError=d;const h=o("m.invalid_message","Invalid message");t.newInvalidMessageError=h},function(e,t,n){(function(e){function n(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function r(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r<e.length;r++)t(e[r],r,e)&&n.push(e[r]);return n}t.resolve=function(){for(var t="",i=!1,o=arguments.length-1;o>=-1&&!i;o--){var s=o>=0?arguments[o]:e.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(t=s+"/"+t,i="/"===s.charAt(0))}return(i?"/":"")+(t=n(r(t.split("/"),(function(e){return!!e})),!i).join("/"))||"."},t.normalize=function(e){var o=t.isAbsolute(e),s="/"===i(e,-1);return(e=n(r(e.split("/"),(function(e){return!!e})),!o).join("/"))||o||(e="."),e&&s&&(e+="/"),(o?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(r(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,n){function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var n=e.length-1;n>=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=t.resolve(e).substr(1),n=t.resolve(n).substr(1);for(var i=r(e.split("/")),o=r(n.split("/")),s=Math.min(i.length,o.length),a=s,f=0;f<s;f++)if(i[f]!==o[f]){a=f;break}var c=[];for(f=a;f<i.length;f++)c.push("..");return(c=c.concat(o.slice(a))).join("/")},t.sep="/",t.delimiter=":",t.dirname=function(e){if("string"!=typeof e&&(e+=""),0===e.length)return".";for(var t=e.charCodeAt(0),n=47===t,r=-1,i=!0,o=e.length-1;o>=1;--o)if(47===(t=e.charCodeAt(o))){if(!i){r=o;break}}else i=!1;return-1===r?n?"/":".":n&&1===r?"/":e.slice(0,r)},t.basename=function(e,t){var n=function(e){"string"!=typeof e&&(e+="");var t,n=0,r=-1,i=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!i){n=t+1;break}}else-1===r&&(i=!1,r=t+1);return-1===r?"":e.slice(n,r)}(e);return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},t.extname=function(e){"string"!=typeof e&&(e+="");for(var t=-1,n=0,r=-1,i=!0,o=0,s=e.length-1;s>=0;--s){var a=e.charCodeAt(s);if(47!==a)-1===r&&(i=!1,r=s+1),46===a?-1===t?t=s:1!==o&&(o=1):-1!==t&&(o=-1);else if(!i){n=s+1;break}}return-1===t||-1===r||0===o||1===o&&t===r-1&&t===n+1?"":e.slice(t,r)};var i="b"==="ab".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)}}).call(this,n(13))},function(e,t,n){"use strict";(function(e){var r=n(16),i=n(7);Object.defineProperty(t,"__esModule",{value:!0});var o={};t.default=void 0;var s=i(n(126));Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(o,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return s[e]}}))}));var a=r(n(304)),f=r(n(305));let c;s.request((function(e,t){return e.qs=f.default.stringify(e.qs||{},e.qsStringifyOptions),(0,a.default)(e,t)}));try{c=e.indexedDB}catch(e){}c&&s.setCryptoStoreFactory((function(){return new s.IndexedDBCryptoStore(c,"matrix-js-sdk:crypto")}));var u=s;t.default=u,e.matrixcs=s}).call(this,n(6))},function(e,t,n){(function(e){var r=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),n={},r=0;r<t.length;r++)n[t[r]]=Object.getOwnPropertyDescriptor(e,t[r]);return n},i=/%[sdj%]/g;t.format=function(e){if(!_(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(a(arguments[n]));return t.join(" ")}n=1;for(var r=arguments,o=r.length,s=String(e).replace(i,(function(e){if("%%"===e)return"%";if(n>=o)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return e}})),f=r[n];n<o;f=r[++n])g(f)||!v(f)?s+=" "+f:s+=" "+a(f);return s},t.deprecate=function(n,r){if(void 0!==e&&!0===e.noDeprecation)return n;if(void 0===e)return function(){return t.deprecate(n,r).apply(this,arguments)};var i=!1;return function(){if(!i){if(e.throwDeprecation)throw new Error(r);e.traceDeprecation?console.trace(r):console.error(r),i=!0}return n.apply(this,arguments)}};var o,s={};function a(e,n){var r={seen:[],stylize:c};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),p(n)?r.showHidden=n:n&&t._extend(r,n),y(r.showHidden)&&(r.showHidden=!1),y(r.depth)&&(r.depth=2),y(r.colors)&&(r.colors=!1),y(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=f),u(r,e,r.depth)}function f(e,t){var n=a.styles[t];return n?"["+a.colors[n][0]+"m"+e+"["+a.colors[n][1]+"m":e}function c(e,t){return e}function u(e,n,r){if(e.customInspect&&n&&E(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,e);return _(i)||(i=u(e,i,r)),i}var o=function(e,t){if(y(t))return e.stylize("undefined","undefined");if(_(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}if(m(t))return e.stylize(""+t,"number");if(p(t))return e.stylize(""+t,"boolean");if(g(t))return e.stylize("null","null")}(e,n);if(o)return o;var s=Object.keys(n),a=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(s);if(e.showHidden&&(s=Object.getOwnPropertyNames(n)),w(n)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return l(n);if(0===s.length){if(E(n)){var f=n.name?": "+n.name:"";return e.stylize("[Function"+f+"]","special")}if(b(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(A(n))return e.stylize(Date.prototype.toString.call(n),"date");if(w(n))return l(n)}var c,v="",S=!1,k=["{","}"];(h(n)&&(S=!0,k=["[","]"]),E(n))&&(v=" [Function"+(n.name?": "+n.name:"")+"]");return b(n)&&(v=" "+RegExp.prototype.toString.call(n)),A(n)&&(v=" "+Date.prototype.toUTCString.call(n)),w(n)&&(v=" "+l(n)),0!==s.length||S&&0!=n.length?r<0?b(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special"):(e.seen.push(n),c=S?function(e,t,n,r,i){for(var o=[],s=0,a=t.length;s<a;++s)T(t,String(s))?o.push(d(e,t,n,r,String(s),!0)):o.push("");return i.forEach((function(i){i.match(/^\d+$/)||o.push(d(e,t,n,r,i,!0))})),o}(e,n,r,a,s):s.map((function(t){return d(e,n,r,a,t,S)})),e.seen.pop(),function(e,t,n){if(e.reduce((function(e,t){return t.indexOf("\n")>=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1];return n[0]+t+" "+e.join(", ")+" "+n[1]}(c,v,k)):k[0]+v+k[1]}function l(e){return"["+Error.prototype.toString.call(e)+"]"}function d(e,t,n,r,i,o){var s,a,f;if((f=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?a=f.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):f.set&&(a=e.stylize("[Setter]","special")),T(r,i)||(s="["+i+"]"),a||(e.seen.indexOf(f.value)<0?(a=g(n)?u(e,f.value,null):u(e,f.value,n-1)).indexOf("\n")>-1&&(a=o?a.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+a.split("\n").map((function(e){return" "+e})).join("\n")):a=e.stylize("[Circular]","special")),y(s)){if(o&&i.match(/^\d+$/))return a;(s=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+a}function h(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function g(e){return null===e}function m(e){return"number"==typeof e}function _(e){return"string"==typeof e}function y(e){return void 0===e}function b(e){return v(e)&&"[object RegExp]"===S(e)}function v(e){return"object"==typeof e&&null!==e}function A(e){return v(e)&&"[object Date]"===S(e)}function w(e){return v(e)&&("[object Error]"===S(e)||e instanceof Error)}function E(e){return"function"==typeof e}function S(e){return Object.prototype.toString.call(e)}function k(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(n){if(y(o)&&(o=e.env.NODE_DEBUG||""),n=n.toUpperCase(),!s[n])if(new RegExp("\\b"+n+"\\b","i").test(o)){var r=e.pid;s[n]=function(){var e=t.format.apply(t,arguments);console.error("%s %d: %s",n,r,e)}}else s[n]=function(){};return s[n]},t.inspect=a,a.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},a.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=h,t.isBoolean=p,t.isNull=g,t.isNullOrUndefined=function(e){return null==e},t.isNumber=m,t.isString=_,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=y,t.isRegExp=b,t.isObject=v,t.isDate=A,t.isError=w,t.isFunction=E,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=n(167);var I=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function R(){var e=new Date,t=[k(e.getHours()),k(e.getMinutes()),k(e.getSeconds())].join(":");return[e.getDate(),I[e.getMonth()],t].join(" ")}function T(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){console.log("%s - %s",R(),t.format.apply(t,arguments))},t.inherits=n(168),t._extend=function(e,t){if(!t||!v(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e};var O="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function C(e,t){if(!e){var n=new Error("Promise was rejected with a falsy value");n.reason=e,e=n}return t(e)}t.promisify=function(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(O&&e[O]){var t;if("function"!=typeof(t=e[O]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,O,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,n,r=new Promise((function(e,r){t=e,n=r})),i=[],o=0;o<arguments.length;o++)i.push(arguments[o]);i.push((function(e,r){e?n(e):t(r)}));try{e.apply(this,i)}catch(e){n(e)}return r}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),O&&Object.defineProperty(t,O,{value:t,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(t,r(e))},t.promisify.custom=O,t.callbackify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');function n(){for(var n=[],r=0;r<arguments.length;r++)n.push(arguments[r]);var i=n.pop();if("function"!=typeof i)throw new TypeError("The last argument must be of type Function");var o=this,s=function(){return i.apply(o,arguments)};t.apply(this,n).then((function(t){e.nextTick(s,null,t)}),(function(t){e.nextTick(C,t,s)}))}return Object.setPrototypeOf(n,Object.getPrototypeOf(t)),Object.defineProperties(n,r(t)),n}}).call(this,n(13))},function(e,t){},function(e,t,n){e.exports=i;var r=n(10).EventEmitter;function i(){r.call(this)}n(2)(i,r),i.Readable=n(56),i.Writable=n(183),i.Duplex=n(184),i.Transform=n(185),i.PassThrough=n(186),i.Stream=i,i.prototype.pipe=function(e,t){var n=this;function i(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function o(){n.readable&&n.resume&&n.resume()}n.on("data",i),e.on("drain",o),e._isStdio||t&&!1===t.end||(n.on("end",a),n.on("close",f));var s=!1;function a(){s||(s=!0,e.end())}function f(){s||(s=!0,"function"==typeof e.destroy&&e.destroy())}function c(e){if(u(),0===r.listenerCount(this,"error"))throw e}function u(){n.removeListener("data",i),e.removeListener("drain",o),n.removeListener("end",a),n.removeListener("close",f),n.removeListener("error",c),e.removeListener("error",c),n.removeListener("end",u),n.removeListener("close",u),e.removeListener("close",u)}return n.on("error",c),e.on("error",c),n.on("end",u),n.on("close",u),e.on("close",u),e.emit("pipe",n),e}},function(e,t,n){"use strict";(function(t){void 0===t||!t.version||0===t.version.indexOf("v0.")||0===t.version.indexOf("v1.")&&0!==t.version.indexOf("v1.8.")?e.exports={nextTick:function(e,n,r,i){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var o,s,a=arguments.length;switch(a){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick((function(){e.call(null,n)}));case 3:return t.nextTick((function(){e.call(null,n,r)}));case 4:return t.nextTick((function(){e.call(null,n,r,i)}));default:for(o=new Array(a-1),s=0;s<o.length;)o[s++]=arguments[s];return t.nextTick((function(){e.apply(null,o)}))}}}:e.exports=t}).call(this,n(13))},function(e,t,n){var r=n(3).Buffer;function i(e){r.isBuffer(e)||(e=r.from(e));for(var t=e.length/4|0,n=new Array(t),i=0;i<t;i++)n[i]=e.readUInt32BE(4*i);return n}function o(e){for(;0<e.length;e++)e[0]=0}function s(e,t,n,r,i){for(var o,s,a,f,c=n[0],u=n[1],l=n[2],d=n[3],h=e[0]^t[0],p=e[1]^t[1],g=e[2]^t[2],m=e[3]^t[3],_=4,y=1;y<i;y++)o=c[h>>>24]^u[p>>>16&255]^l[g>>>8&255]^d[255&m]^t[_++],s=c[p>>>24]^u[g>>>16&255]^l[m>>>8&255]^d[255&h]^t[_++],a=c[g>>>24]^u[m>>>16&255]^l[h>>>8&255]^d[255&p]^t[_++],f=c[m>>>24]^u[h>>>16&255]^l[p>>>8&255]^d[255&g]^t[_++],h=o,p=s,g=a,m=f;return o=(r[h>>>24]<<24|r[p>>>16&255]<<16|r[g>>>8&255]<<8|r[255&m])^t[_++],s=(r[p>>>24]<<24|r[g>>>16&255]<<16|r[m>>>8&255]<<8|r[255&h])^t[_++],a=(r[g>>>24]<<24|r[m>>>16&255]<<16|r[h>>>8&255]<<8|r[255&p])^t[_++],f=(r[m>>>24]<<24|r[h>>>16&255]<<16|r[p>>>8&255]<<8|r[255&g])^t[_++],[o>>>=0,s>>>=0,a>>>=0,f>>>=0]}var a=[0,1,2,4,8,16,32,64,128,27,54],f=function(){for(var e=new Array(256),t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;for(var n=[],r=[],i=[[],[],[],[]],o=[[],[],[],[]],s=0,a=0,f=0;f<256;++f){var c=a^a<<1^a<<2^a<<3^a<<4;c=c>>>8^255&c^99,n[s]=c,r[c]=s;var u=e[s],l=e[u],d=e[l],h=257*e[c]^16843008*c;i[0][s]=h<<24|h>>>8,i[1][s]=h<<16|h>>>16,i[2][s]=h<<8|h>>>24,i[3][s]=h,h=16843009*d^65537*l^257*u^16843008*s,o[0][c]=h<<24|h>>>8,o[1][c]=h<<16|h>>>16,o[2][c]=h<<8|h>>>24,o[3][c]=h,0===s?s=a=1:(s=u^e[e[e[d^u]]],a^=e[e[a]])}return{SBOX:n,INV_SBOX:r,SUB_MIX:i,INV_SUB_MIX:o}}();function c(e){this._key=i(e),this._reset()}c.blockSize=16,c.keySize=32,c.prototype.blockSize=c.blockSize,c.prototype.keySize=c.keySize,c.prototype._reset=function(){for(var e=this._key,t=e.length,n=t+6,r=4*(n+1),i=[],o=0;o<t;o++)i[o]=e[o];for(o=t;o<r;o++){var s=i[o-1];o%t==0?(s=s<<8|s>>>24,s=f.SBOX[s>>>24]<<24|f.SBOX[s>>>16&255]<<16|f.SBOX[s>>>8&255]<<8|f.SBOX[255&s],s^=a[o/t|0]<<24):t>6&&o%t==4&&(s=f.SBOX[s>>>24]<<24|f.SBOX[s>>>16&255]<<16|f.SBOX[s>>>8&255]<<8|f.SBOX[255&s]),i[o]=i[o-t]^s}for(var c=[],u=0;u<r;u++){var l=r-u,d=i[l-(u%4?0:4)];c[u]=u<4||l<=4?d:f.INV_SUB_MIX[0][f.SBOX[d>>>24]]^f.INV_SUB_MIX[1][f.SBOX[d>>>16&255]]^f.INV_SUB_MIX[2][f.SBOX[d>>>8&255]]^f.INV_SUB_MIX[3][f.SBOX[255&d]]}this._nRounds=n,this._keySchedule=i,this._invKeySchedule=c},c.prototype.encryptBlockRaw=function(e){return s(e=i(e),this._keySchedule,f.SUB_MIX,f.SBOX,this._nRounds)},c.prototype.encryptBlock=function(e){var t=this.encryptBlockRaw(e),n=r.allocUnsafe(16);return n.writeUInt32BE(t[0],0),n.writeUInt32BE(t[1],4),n.writeUInt32BE(t[2],8),n.writeUInt32BE(t[3],12),n},c.prototype.decryptBlock=function(e){var t=(e=i(e))[1];e[1]=e[3],e[3]=t;var n=s(e,this._invKeySchedule,f.INV_SUB_MIX,f.INV_SBOX,this._nRounds),o=r.allocUnsafe(16);return o.writeUInt32BE(n[0],0),o.writeUInt32BE(n[3],4),o.writeUInt32BE(n[2],8),o.writeUInt32BE(n[1],12),o},c.prototype.scrub=function(){o(this._keySchedule),o(this._invKeySchedule),o(this._key)},e.exports.AES=c},function(e,t,n){var r=n(3).Buffer,i=n(60);e.exports=function(e,t,n,o){if(r.isBuffer(e)||(e=r.from(e,"binary")),t&&(r.isBuffer(t)||(t=r.from(t,"binary")),8!==t.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var s=n/8,a=r.alloc(s),f=r.alloc(o||0),c=r.alloc(0);s>0||o>0;){var u=new i;u.update(c),u.update(e),t&&u.update(t),c=u.digest();var l=0;if(s>0){var d=a.length-s;l=Math.min(s,c.length),c.copy(a,d,0,l),s-=l}if(l<c.length&&o>0){var h=f.length-o,p=Math.min(o,c.length-l);c.copy(f,h,l,l+p),o-=p}}return c.fill(0),{key:a,iv:f}}},function(e,t,n){"use strict";var r=n(12),i=n(15),o=i.getNAF,s=i.getJSF,a=i.assert;function f(e,t){this.type=e,this.p=new r(t.p,16),this.red=t.prime?r.red(t.prime):r.mont(this.p),this.zero=new r(0).toRed(this.red),this.one=new r(1).toRed(this.red),this.two=new r(2).toRed(this.red),this.n=t.n&&new r(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var n=this.n&&this.p.div(this.n);!n||n.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function c(e,t){this.curve=e,this.type=t,this.precomputed=null}e.exports=f,f.prototype.point=function(){throw new Error("Not implemented")},f.prototype.validate=function(){throw new Error("Not implemented")},f.prototype._fixedNafMul=function(e,t){a(e.precomputed);var n=e._getDoubles(),r=o(t,1,this._bitLength),i=(1<<n.step+1)-(n.step%2==0?2:1);i/=3;for(var s=[],f=0;f<r.length;f+=n.step){var c=0;for(t=f+n.step-1;t>=f;t--)c=(c<<1)+r[t];s.push(c)}for(var u=this.jpoint(null,null,null),l=this.jpoint(null,null,null),d=i;d>0;d--){for(f=0;f<s.length;f++){(c=s[f])===d?l=l.mixedAdd(n.points[f]):c===-d&&(l=l.mixedAdd(n.points[f].neg()))}u=u.add(l)}return u.toP()},f.prototype._wnafMul=function(e,t){var n=4,r=e._getNAFPoints(n);n=r.wnd;for(var i=r.points,s=o(t,n,this._bitLength),f=this.jpoint(null,null,null),c=s.length-1;c>=0;c--){for(t=0;c>=0&&0===s[c];c--)t++;if(c>=0&&t++,f=f.dblp(t),c<0)break;var u=s[c];a(0!==u),f="affine"===e.type?u>0?f.mixedAdd(i[u-1>>1]):f.mixedAdd(i[-u-1>>1].neg()):u>0?f.add(i[u-1>>1]):f.add(i[-u-1>>1].neg())}return"affine"===e.type?f.toP():f},f.prototype._wnafMulAdd=function(e,t,n,r,i){for(var a=this._wnafT1,f=this._wnafT2,c=this._wnafT3,u=0,l=0;l<r;l++){var d=(k=t[l])._getNAFPoints(e);a[l]=d.wnd,f[l]=d.points}for(l=r-1;l>=1;l-=2){var h=l-1,p=l;if(1===a[h]&&1===a[p]){var g=[t[h],null,null,t[p]];0===t[h].y.cmp(t[p].y)?(g[1]=t[h].add(t[p]),g[2]=t[h].toJ().mixedAdd(t[p].neg())):0===t[h].y.cmp(t[p].y.redNeg())?(g[1]=t[h].toJ().mixedAdd(t[p]),g[2]=t[h].add(t[p].neg())):(g[1]=t[h].toJ().mixedAdd(t[p]),g[2]=t[h].toJ().mixedAdd(t[p].neg()));var m=[-3,-1,-5,-7,0,7,5,1,3],_=s(n[h],n[p]);u=Math.max(_[0].length,u),c[h]=new Array(u),c[p]=new Array(u);for(var y=0;y<u;y++){var b=0|_[0][y],v=0|_[1][y];c[h][y]=m[3*(b+1)+(v+1)],c[p][y]=0,f[h]=g}}else c[h]=o(n[h],a[h],this._bitLength),c[p]=o(n[p],a[p],this._bitLength),u=Math.max(c[h].length,u),u=Math.max(c[p].length,u)}var A=this.jpoint(null,null,null),w=this._wnafT4;for(l=u;l>=0;l--){for(var E=0;l>=0;){var S=!0;for(y=0;y<r;y++)w[y]=0|c[y][l],0!==w[y]&&(S=!1);if(!S)break;E++,l--}if(l>=0&&E++,A=A.dblp(E),l<0)break;for(y=0;y<r;y++){var k,I=w[y];0!==I&&(I>0?k=f[y][I-1>>1]:I<0&&(k=f[y][-I-1>>1].neg()),A="affine"===k.type?A.mixedAdd(k):A.add(k))}}for(l=0;l<r;l++)f[l]=null;return i?A:A.toP()},f.BasePoint=c,c.prototype.eq=function(){throw new Error("Not implemented")},c.prototype.validate=function(){return this.curve.validate(this)},f.prototype.decodePoint=function(e,t){e=i.toArray(e,t);var n=this.p.byteLength();if((4===e[0]||6===e[0]||7===e[0])&&e.length-1==2*n)return 6===e[0]?a(e[e.length-1]%2==0):7===e[0]&&a(e[e.length-1]%2==1),this.point(e.slice(1,1+n),e.slice(1+n,1+2*n));if((2===e[0]||3===e[0])&&e.length-1===n)return this.pointFromX(e.slice(1,1+n),3===e[0]);throw new Error("Unknown point format")},c.prototype.encodeCompressed=function(e){return this.encode(e,!0)},c.prototype._encode=function(e){var t=this.curve.p.byteLength(),n=this.getX().toArray("be",t);return e?[this.getY().isEven()?2:3].concat(n):[4].concat(n,this.getY().toArray("be",t))},c.prototype.encode=function(e,t){return i.encode(this._encode(t),e)},c.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},c.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return!!t&&t.points.length>=Math.ceil((e.bitLength()+1)/t.step)},c.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],r=this,i=0;i<t;i+=e){for(var o=0;o<e;o++)r=r.dbl();n.push(r)}return{step:e,points:n}},c.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],n=(1<<e)-1,r=1===n?null:this.dbl(),i=1;i<n;i++)t[i]=t[i-1].add(r);return{wnd:e,points:t}},c.prototype._getBeta=function(){return null},c.prototype.dblp=function(e){for(var t=this,n=0;n<e;n++)t=t.dbl();return t}},function(e,t,n){var r=n(242),i=n(253),o=n(254),s=n(64),a=n(99),f=n(3).Buffer;function c(e){var t;"object"!=typeof e||f.isBuffer(e)||(t=e.passphrase,e=e.key),"string"==typeof e&&(e=f.from(e));var n,c,u=o(e,t),l=u.tag,d=u.data;switch(l){case"CERTIFICATE":c=r.certificate.decode(d,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(c||(c=r.PublicKey.decode(d,"der")),n=c.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return r.RSAPublicKey.decode(c.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return c.subjectPrivateKey=c.subjectPublicKey,{type:"ec",data:c};case"1.2.840.10040.4.1":return c.algorithm.params.pub_key=r.DSAparam.decode(c.subjectPublicKey.data,"der"),{type:"dsa",data:c.algorithm.params};default:throw new Error("unknown key id "+n)}throw new Error("unknown key type "+l);case"ENCRYPTED PRIVATE KEY":d=function(e,t){var n=e.algorithm.decrypt.kde.kdeparams.salt,r=parseInt(e.algorithm.decrypt.kde.kdeparams.iters.toString(),10),o=i[e.algorithm.decrypt.cipher.algo.join(".")],c=e.algorithm.decrypt.cipher.iv,u=e.subjectPrivateKey,l=parseInt(o.split("-")[1],10)/8,d=a.pbkdf2Sync(t,n,r,l,"sha1"),h=s.createDecipheriv(o,d,c),p=[];return p.push(h.update(u)),p.push(h.final()),f.concat(p)}(d=r.EncryptedPrivateKey.decode(d,"der"),t);case"PRIVATE KEY":switch(n=(c=r.PrivateKey.decode(d,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return r.RSAPrivateKey.decode(c.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:c.algorithm.curve,privateKey:r.ECPrivateKey.decode(c.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return c.algorithm.params.priv_key=r.DSAparam.decode(c.subjectPrivateKey,"der"),{type:"dsa",params:c.algorithm.params};default:throw new Error("unknown key id "+n)}throw new Error("unknown key type "+l);case"RSA PUBLIC KEY":return r.RSAPublicKey.decode(d,"der");case"RSA PRIVATE KEY":return r.RSAPrivateKey.decode(d,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:r.DSAPrivateKey.decode(d,"der")};case"EC PRIVATE KEY":return{curve:(d=r.ECPrivateKey.decode(d,"der")).parameters.value,privateKey:d.privateKey};default:throw new Error("unknown key type "+l)}}e.exports=c,c.signature=r.signature},function(e,t,n){"use strict";var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.User=s;var i=r(n(8)),o=n(10);function s(e){this.userId=e,this.presence="offline",this.presenceStatusMsg=null,this._unstable_statusMessage="",this.displayName=e,this.rawDisplayName=e,this.avatarUrl=null,this.lastActiveAgo=0,this.lastPresenceTs=0,this.currentlyActive=!1,this.events={presence:null,profile:null},this._updateModifiedTime()}i.inherits(s,o.EventEmitter),s.prototype.setPresenceEvent=function(e){if("m.presence"!==e.getType())return;const t=null===this.events.presence;this.events.presence=e;const n=[];(e.getContent().presence!==this.presence||t)&&n.push("User.presence"),e.getContent().avatar_url&&e.getContent().avatar_url!==this.avatarUrl&&n.push("User.avatarUrl"),e.getContent().displayname&&e.getContent().displayname!==this.displayName&&n.push("User.displayName"),void 0!==e.getContent().currently_active&&e.getContent().currently_active!==this.currentlyActive&&n.push("User.currentlyActive"),this.presence=e.getContent().presence,n.push("User.lastPresenceTs"),e.getContent().status_msg&&(this.presenceStatusMsg=e.getContent().status_msg),e.getContent().displayname&&(this.displayName=e.getContent().displayname),e.getContent().avatar_url&&(this.avatarUrl=e.getContent().avatar_url),this.lastActiveAgo=e.getContent().last_active_ago,this.lastPresenceTs=Date.now(),this.currentlyActive=e.getContent().currently_active,this._updateModifiedTime();for(let t=0;t<n.length;t++)this.emit(n[t],e,this)},s.prototype.setDisplayName=function(e){const t=this.displayName;this.displayName=e,e!==t&&this._updateModifiedTime()},s.prototype.setRawDisplayName=function(e){this.rawDisplayName=e},s.prototype.setAvatarUrl=function(e){const t=this.avatarUrl;this.avatarUrl=e,e!==t&&this._updateModifiedTime()},s.prototype._updateModifiedTime=function(){this._modified=Date.now()},s.prototype.getLastModifiedTime=function(){return this._modified},s.prototype.getLastActiveTs=function(){return this.lastPresenceTs-this.lastActiveAgo},s.prototype._unstable_updateStatusMessage=function(e){e.getContent()?this._unstable_statusMessage=e.getContent().status:this._unstable_statusMessage="",this._updateModifiedTime(),this.emit("User._unstable_statusMessage",this)}},function(e,t,n){"use strict";(function(e){var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.MatrixHttpApi=f,t.MatrixError=u,t.PREFIX_MEDIA_R0=t.PREFIX_IDENTITY_V2=t.PREFIX_IDENTITY_V1=t.PREFIX_UNSTABLE=t.PREFIX_R0=void 0;var i=n(272),o=r(n(8)),s=n(4),a=r(n(273));t.PREFIX_R0="/_matrix/client/r0";t.PREFIX_UNSTABLE="/_matrix/client/unstable";t.PREFIX_IDENTITY_V1="/_matrix/identity/api/v1";t.PREFIX_IDENTITY_V2="/_matrix/identity/v2";function f(e,t){o.checkObjectHasKeys(t,["baseUrl","request","prefix"]),t.onlyData=t.onlyData||!1,this.event_emitter=e,this.opts=t,this.useAuthorizationHeader=Boolean(t.useAuthorizationHeader),this.uploads=[]}t.PREFIX_MEDIA_R0="/_matrix/media/r0",f.prototype={setIdBaseUrl:function(e){this.opts.idBaseUrl=e},getContentUri:function(){const e={access_token:this.opts.accessToken};return{base:this.opts.baseUrl,path:"/_matrix/media/r0/upload",params:e}},uploadContent:function(t,n){o.isFunction(n)?n={callback:n}:void 0===n&&(n={});const r=!1!==n.includeFilename,i=n.type||t.type||"application/octet-stream",f=n.name||t.name;let u=t;u.stream&&"function"!=typeof u.stream&&(s.logger.warn("Using `file.stream` as the content to upload. Future versions of the js-sdk will change this to expect `file` to be the content directly."),u=u.stream);let l=n.rawResponse;void 0===l&&(e.XMLHttpRequest?l=!1:(s.logger.warn("Returning the raw JSON from uploadContent(). Future versions of the js-sdk will change this default, to return the parsed object. Set opts.rawResponse=false to change this behaviour now."),l=!0));let d=n.onlyContentUri;l||void 0!==d||(e.XMLHttpRequest?(s.logger.warn("Returning only the content-uri from uploadContent(). Future versions of the js-sdk will change this default, to return the whole response object. Set opts.onlyContentUri=false to change this behaviour now."),d=!0):d=!1);const h={loaded:0,total:0};let p,g=null;if(l||(g=function(e){let t=JSON.parse(e);if(d&&(t=t.content_uri,void 0===t))throw Error("Bad response");return t}),e.XMLHttpRequest){const t=o.defer(),s=new e.XMLHttpRequest;h.xhr=s;const l=c(t,n.callback,this.opts.onlyData),d=function(){s.abort(),l(new Error("Timeout"))};s.timeout_timer=a.setTimeout(d,3e4),s.onreadystatechange=function(){switch(s.readyState){case e.XMLHttpRequest.DONE:var t;a.clearTimeout(s.timeout_timer);try{if(!s.responseText)throw new Error("No response body.");t=s.responseText,g&&(t=g(t))}catch(e){return e.http_status=s.status,void l(e)}l(void 0,s,t)}},s.upload.addEventListener("progress",(function(e){a.clearTimeout(s.timeout_timer),h.loaded=e.loaded,h.total=e.total,s.timeout_timer=a.setTimeout(d,3e4),n.progressHandler&&n.progressHandler({loaded:e.loaded,total:e.total})}));let m=this.opts.baseUrl+"/_matrix/media/r0/upload";const _=[];r&&f&&_.push("filename="+encodeURIComponent(f)),this.useAuthorizationHeader||_.push("access_token="+encodeURIComponent(this.opts.accessToken)),_.length>0&&(m+="?"+_.join("&")),s.open("POST",m),this.useAuthorizationHeader&&s.setRequestHeader("Authorization","Bearer "+this.opts.accessToken),s.setRequestHeader("Content-Type",i),s.send(u),p=t.promise,p.abort=s.abort.bind(s)}else{const e={};r&&f&&(e.filename=f),p=this.authedRequest(n.callback,"POST","/upload",e,u,{prefix:"/_matrix/media/r0",headers:{"Content-Type":i},json:!1,bodyParser:g})}const m=this,_=p.finally((function(){for(let e=0;e<m.uploads.length;++e)if(m.uploads[e]===h)return void m.uploads.splice(e,1)}));return _.abort=p.abort,h.promise=_,this.uploads.push(h),_},cancelUpload:function(e){return!!e.abort&&(e.abort(),!0)},getCurrentUploads:function(){return this.uploads},idServerRequest:function(e,t,n,r,i,s){if(!this.opts.idBaseUrl)throw new Error("No Identity Server base URL set");const a=this.opts.idBaseUrl+i+n;if(void 0!==e&&!o.isFunction(e))throw Error("Expected callback to be a function but got "+typeof e);const f={uri:a,method:t,withCredentials:!1,json:!0,_matrix_opts:this.opts,headers:{}};"GET"===t?f.qs=r:"object"==typeof r&&(f.json=r),s&&(f.headers.Authorization=`Bearer ${s}`);const u=o.defer();return this.opts.request(f,c(u,e,this.opts.onlyData)),u.promise},authedRequest:function(e,t,n,r,i,o){r||(r={}),this.useAuthorizationHeader?(isFinite(o)&&(o={localTimeoutMs:o}),o||(o={}),o.headers||(o.headers={}),o.headers.Authorization||(o.headers.Authorization="Bearer "+this.opts.accessToken),r.access_token&&delete r.access_token):r.access_token||(r.access_token=this.opts.accessToken);const s=this.request(e,t,n,r,i,o),a=this;return s.catch((function(e){"M_UNKNOWN_TOKEN"==e.errcode?a.event_emitter.emit("Session.logged_out",e):"M_CONSENT_NOT_GIVEN"==e.errcode&&a.event_emitter.emit("no_consent",e.message,e.data.consent_uri)})),s},request:function(e,t,n,r,i,o){const s=void 0!==(o=o||{}).prefix?o.prefix:this.opts.prefix,a=this.opts.baseUrl+s+n;return this.requestOtherUrl(e,t,a,r,i,o)},requestOtherUrl:function(e,t,n,r,i,o){return null==o?o={}:isFinite(o)&&(o={localTimeoutMs:o}),this._request(e,t,n,r,i,o)},getUrl:function(e,t,n){let r="";return t&&(r="?"+o.encodeParams(t)),this.opts.baseUrl+n+e+r},_request:function(e,t,n,r,i,s){if(void 0!==e&&!o.isFunction(e))throw Error("Expected callback to be a function but got "+typeof e);s=s||{};const f=this;if(this.opts.extraParams)for(const e in this.opts.extraParams)this.opts.extraParams.hasOwnProperty(e)&&(r[e]=this.opts.extraParams[e]);const l=o.extend({},s.headers||{}),d=void 0===s.json||s.json;let h=s.bodyParser;d&&(i&&(i=JSON.stringify(i),l["content-type"]="application/json"),l.accept||(l.accept="application/json"),void 0===h&&(h=function(e){return JSON.parse(e)}));const p=o.defer();let g,m,_=!1;const y=s.localTimeoutMs||this.opts.localTimeoutMs,b=()=>{y&&(g&&a.clearTimeout(g),g=a.setTimeout((function(){_=!0,m&&m.abort&&m.abort(),p.reject(new u({error:"Locally timed out waiting for a response",errcode:"ORG.MATRIX.JSSDK_TIMEOUT",timeout:y}))}),y))};b();const v=p.promise;try{m=this.opts.request({uri:n,method:t,withCredentials:!1,qs:r,qsStringifyOptions:s.qsStringifyOptions,useQuerystring:!0,body:i,json:!1,timeout:y,headers:l||{},_matrix_opts:this.opts},(function(t,n,r){if(y&&(a.clearTimeout(g),_))return;c(p,e,f.opts.onlyData,h)(t,n,r)})),m&&("onprogress"in m&&(m.onprogress=e=>{b()}),m.abort&&(v.abort=m.abort.bind(m)))}catch(t){p.reject(t),e&&e(t)}return v}};const c=function(e,t,n,r){return t=t||function(){},function(o,s,a){if(!o)try{s.statusCode>=400?o=function(e,t){const n=e.statusCode,r=function(e){let t;e.getResponseHeader?t=e.getResponseHeader("Content-Type"):e.headers&&(t=e.headers["content-type"]||null);if(!t)return null;try{return(0,i.parse)(t)}catch(e){throw new Error(`Error parsing Content-Type '${t}': ${e}`)}}(e);let o;if(r)if("application/json"===r.type){const e="object"==typeof t?t:JSON.parse(t);o=new u(e)}else"text/plain"===r.type&&(o=new Error(`Server returned ${n} error: ${t}`));o||(o=new Error(`Server returned ${n} error`));return o.httpStatus=n,o}(s,a):r&&(a=r(a))}catch(e){o=new Error(`Error parsing server response: ${e}`)}if(o)e.reject(o),t(o);else{const r={code:s.statusCode,headers:s.headers,data:a};e.resolve(n?a:r),t(null,n?a:r)}}};function u(e){e=e||{},this.errcode=e.errcode,this.name=e.errcode||"Unknown error code",this.message=e.error||"Unknown message",this.data=e}u.prototype=Object.create(Error.prototype),u.prototype.constructor=u}).call(this,n(6))},function(e,t,n){"use strict";var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.getHttpUriForMxc=function(e,t,n,r,o,s){if("string"!=typeof t||!t)return"";if(0!==t.indexOf("mxc://"))return s?t:"";let a=t.slice(6),f="/_matrix/media/r0/download/";const c={};n&&(c.width=Math.round(n));r&&(c.height=Math.round(r));o&&(c.method=o);i.keys(c).length>0&&(f="/_matrix/media/r0/thumbnail/");const u=a.indexOf("#");let l="";u>=0&&(l=a.substr(u),a=a.substr(0,u));return e+f+a+(0===i.keys(c).length?"":"?"+i.encodeParams(c))+l},t.getIdenticonUri=function(e,t,n,r){if(!t)return null;n||(n=96);r||(r=96);const o={width:n,height:r},s=i.encodeUri("/_matrix/media/unstable/identicon/$ident",{$ident:t});return e+s+(0===i.keys(o).length?"":"?"+i.encodeParams(o))};var i=r(n(8))},function(e,t,n){"use strict";function r(e){Object.defineProperty(this,"deviceId",{enumerable:!0,value:e}),this.algorithms=[],this.keys={},this.verified=i.UNVERIFIED,this.known=!1,this.unsigned={},this.signatures={}}Object.defineProperty(t,"__esModule",{value:!0}),t.DeviceInfo=r,r.fromStorage=function(e,t){const n=new r(t);for(const t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n},r.prototype.toStorage=function(){return{algorithms:this.algorithms,keys:this.keys,verified:this.verified,known:this.known,unsigned:this.unsigned,signatures:this.signatures}},r.prototype.getFingerprint=function(){return this.keys["ed25519:"+this.deviceId]},r.prototype.getIdentityKey=function(){return this.keys["curve25519:"+this.deviceId]},r.prototype.getDisplayName=function(){return this.unsigned.device_display_name||null},r.prototype.isBlocked=function(){return this.verified==i.BLOCKED},r.prototype.isVerified=function(){return this.verified==i.VERIFIED},r.prototype.isUnverified=function(){return this.verified==i.UNVERIFIED},r.prototype.isKnown=function(){return 1==this.known},r.DeviceVerification={VERIFIED:1,UNVERIFIED:0,BLOCKED:-1};const i=r.DeviceVerification},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.randomString=function(e){let t="";const n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";for(let r=0;r<e;++r)t+=n.charAt(Math.floor(Math.random()*n.length));return t}},function(e,t,n){"use strict";t.__esModule=!0,t.inherits=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=Object.create(e.prototype);for(var i in n)r[i]=n[i];return r.constructor=t,t.prototype=r,t}},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}e.exports=function(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}},function(e,t,n){var r=n(86),i=n(5);e.exports=function(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?i(e):t}},function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},n(t)}e.exports=n},function(e,t,n){var r=n(164);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&r(e,t)}},function(e,t,n){(t=e.exports=n(88)).Stream=t,t.Readable=t,t.Writable=n(58),t.Duplex=n(20),t.Transform=n(91),t.PassThrough=n(182)},function(e,t,n){var r=n(11),i=r.Buffer;function o(e,t){for(var n in e)t[n]=e[n]}function s(e,t,n){return i(e,t,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=r:(o(r,t),t.Buffer=s),o(i,s),s.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,n)},s.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=i(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},s.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},s.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},function(e,t,n){"use strict";(function(t,r,i){var o=n(40);function s(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,n){var r=e.entry;e.entry=null;for(;r;){var i=r.callback;t.pendingcb--,i(n),r=r.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}e.exports=y;var a,f=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?r:o.nextTick;y.WritableState=_;var c=Object.create(n(27));c.inherits=n(2);var u={deprecate:n(181)},l=n(89),d=n(57).Buffer,h=i.Uint8Array||function(){};var p,g=n(90);function m(){}function _(e,t){a=a||n(20),e=e||{};var r=t instanceof a;this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,c=e.writableHighWaterMark,u=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(c||0===c)?c:u,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var l=!1===e.decodeStrings;this.decodeStrings=!l,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,r=n.sync,i=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,r,i){--t.pendingcb,n?(o.nextTick(i,r),o.nextTick(S,e,t),e._writableState.errorEmitted=!0,e.emit("error",r)):(i(r),e._writableState.errorEmitted=!0,e.emit("error",r),S(e,t))}(e,n,r,t,i);else{var s=w(n);s||n.corked||n.bufferProcessing||!n.bufferedRequest||A(e,n),r?f(v,e,n,s,i):v(e,n,s,i)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function y(e){if(a=a||n(20),!(p.call(y,this)||this instanceof a))return new y(e);this._writableState=new _(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),l.call(this)}function b(e,t,n,r,i,o,s){t.writelen=r,t.writecb=s,t.writing=!0,t.sync=!0,n?e._writev(i,t.onwrite):e._write(i,o,t.onwrite),t.sync=!1}function v(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),S(e,t)}function A(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=t.bufferedRequestCount,i=new Array(r),o=t.corkedRequestsFree;o.entry=n;for(var a=0,f=!0;n;)i[a]=n,n.isBuf||(f=!1),n=n.next,a+=1;i.allBuffers=f,b(e,t,!0,t.length,i,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new s(t),t.bufferedRequestCount=0}else{for(;n;){var c=n.chunk,u=n.encoding,l=n.callback;if(b(e,t,!1,t.objectMode?1:c.length,c,u,l),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function w(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function E(e,t){e._final((function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),S(e,t)}))}function S(e,t){var n=w(t);return n&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,o.nextTick(E,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),n}c.inherits(y,l),_.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(_.prototype,"buffer",{get:u.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(p=Function.prototype[Symbol.hasInstance],Object.defineProperty(y,Symbol.hasInstance,{value:function(e){return!!p.call(this,e)||this===y&&(e&&e._writableState instanceof _)}})):p=function(e){return e instanceof this},y.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},y.prototype.write=function(e,t,n){var r,i=this._writableState,s=!1,a=!i.objectMode&&(r=e,d.isBuffer(r)||r instanceof h);return a&&!d.isBuffer(e)&&(e=function(e){return d.from(e)}(e)),"function"==typeof t&&(n=t,t=null),a?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof n&&(n=m),i.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),o.nextTick(t,n)}(this,n):(a||function(e,t,n,r){var i=!0,s=!1;return null===n?s=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||t.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(e.emit("error",s),o.nextTick(r,s),i=!1),i}(this,i,e,n))&&(i.pendingcb++,s=function(e,t,n,r,i,o){if(!n){var s=function(e,t,n){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=d.from(t,n));return t}(t,r,i);r!==s&&(n=!0,i="buffer",r=s)}var a=t.objectMode?1:r.length;t.length+=a;var f=t.length<t.highWaterMark;f||(t.needDrain=!0);if(t.writing||t.corked){var c=t.lastBufferedRequest;t.lastBufferedRequest={chunk:r,encoding:i,isBuf:n,callback:o,next:null},c?c.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else b(e,t,!1,a,r,i,o);return f}(this,i,a,e,t,n)),s},y.prototype.cork=function(){this._writableState.corked++},y.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||A(this,e))},y.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(y.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),y.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},y.prototype._writev=null,y.prototype.end=function(e,t,n){var r=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(e,t,n){t.ending=!0,S(e,t),n&&(t.finished?o.nextTick(n):e.once("finish",n));t.ended=!0,e.writable=!1}(this,r,n)},Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),y.prototype.destroy=g.destroy,y.prototype._undestroy=g.undestroy,y.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,n(13),n(179).setImmediate,n(6))},function(e,t,n){"use strict";var r=n(3).Buffer,i=r.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(r.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=f,this.end=c,t=4;break;case"utf8":this.fillLast=a,t=4;break;case"base64":this.text=u,this.end=l,t=3;break;default:return this.write=d,void(this.end=h)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(t)}function s(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function a(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"<22>";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"<22>";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"<22>"}}(this,e);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function f(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function u(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function l(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}t.StringDecoder=o,o.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n<e.length?t?t+this.text(e,n):this.text(e,n):t||""},o.prototype.end=function(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"<22>":t},o.prototype.text=function(e,t){var n=function(e,t,n){var r=t.length-1;if(r<n)return 0;var i=s(t[r]);if(i>=0)return i>0&&(e.lastNeed=i-1),i;if(--r<n||-2===i)return 0;if((i=s(t[r]))>=0)return i>0&&(e.lastNeed=i-2),i;if(--r<n||-2===i)return 0;if((i=s(t[r]))>=0)return i>0&&(2===i?i=0:e.lastNeed=i-3),i;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,n){"use strict";var r=n(2),i=n(93),o=n(3).Buffer,s=new Array(16);function a(){i.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function f(e,t){return e<<t|e>>>32-t}function c(e,t,n,r,i,o,s){return f(e+(t&n|~t&r)+i+o|0,s)+t|0}function u(e,t,n,r,i,o,s){return f(e+(t&r|n&~r)+i+o|0,s)+t|0}function l(e,t,n,r,i,o,s){return f(e+(t^n^r)+i+o|0,s)+t|0}function d(e,t,n,r,i,o,s){return f(e+(n^(t|~r))+i+o|0,s)+t|0}r(a,i),a.prototype._update=function(){for(var e=s,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);var n=this._a,r=this._b,i=this._c,o=this._d;n=c(n,r,i,o,e[0],3614090360,7),o=c(o,n,r,i,e[1],3905402710,12),i=c(i,o,n,r,e[2],606105819,17),r=c(r,i,o,n,e[3],3250441966,22),n=c(n,r,i,o,e[4],4118548399,7),o=c(o,n,r,i,e[5],1200080426,12),i=c(i,o,n,r,e[6],2821735955,17),r=c(r,i,o,n,e[7],4249261313,22),n=c(n,r,i,o,e[8],1770035416,7),o=c(o,n,r,i,e[9],2336552879,12),i=c(i,o,n,r,e[10],4294925233,17),r=c(r,i,o,n,e[11],2304563134,22),n=c(n,r,i,o,e[12],1804603682,7),o=c(o,n,r,i,e[13],4254626195,12),i=c(i,o,n,r,e[14],2792965006,17),n=u(n,r=c(r,i,o,n,e[15],1236535329,22),i,o,e[1],4129170786,5),o=u(o,n,r,i,e[6],3225465664,9),i=u(i,o,n,r,e[11],643717713,14),r=u(r,i,o,n,e[0],3921069994,20),n=u(n,r,i,o,e[5],3593408605,5),o=u(o,n,r,i,e[10],38016083,9),i=u(i,o,n,r,e[15],3634488961,14),r=u(r,i,o,n,e[4],3889429448,20),n=u(n,r,i,o,e[9],568446438,5),o=u(o,n,r,i,e[14],3275163606,9),i=u(i,o,n,r,e[3],4107603335,14),r=u(r,i,o,n,e[8],1163531501,20),n=u(n,r,i,o,e[13],2850285829,5),o=u(o,n,r,i,e[2],4243563512,9),i=u(i,o,n,r,e[7],1735328473,14),n=l(n,r=u(r,i,o,n,e[12],2368359562,20),i,o,e[5],4294588738,4),o=l(o,n,r,i,e[8],2272392833,11),i=l(i,o,n,r,e[11],1839030562,16),r=l(r,i,o,n,e[14],4259657740,23),n=l(n,r,i,o,e[1],2763975236,4),o=l(o,n,r,i,e[4],1272893353,11),i=l(i,o,n,r,e[7],4139469664,16),r=l(r,i,o,n,e[10],3200236656,23),n=l(n,r,i,o,e[13],681279174,4),o=l(o,n,r,i,e[0],3936430074,11),i=l(i,o,n,r,e[3],3572445317,16),r=l(r,i,o,n,e[6],76029189,23),n=l(n,r,i,o,e[9],3654602809,4),o=l(o,n,r,i,e[12],3873151461,11),i=l(i,o,n,r,e[15],530742520,16),n=d(n,r=l(r,i,o,n,e[2],3299628645,23),i,o,e[0],4096336452,6),o=d(o,n,r,i,e[7],1126891415,10),i=d(i,o,n,r,e[14],2878612391,15),r=d(r,i,o,n,e[5],4237533241,21),n=d(n,r,i,o,e[12],1700485571,6),o=d(o,n,r,i,e[3],2399980690,10),i=d(i,o,n,r,e[10],4293915773,15),r=d(r,i,o,n,e[1],2240044497,21),n=d(n,r,i,o,e[8],1873313359,6),o=d(o,n,r,i,e[15],4264355552,10),i=d(i,o,n,r,e[6],2734768916,15),r=d(r,i,o,n,e[13],1309151649,21),n=d(n,r,i,o,e[4],4149444226,6),o=d(o,n,r,i,e[11],3174756917,10),i=d(i,o,n,r,e[2],718787259,15),r=d(r,i,o,n,e[9],3951481745,21),this._a=this._a+n|0,this._b=this._b+r|0,this._c=this._c+i|0,this._d=this._d+o|0},a.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=o.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e},e.exports=a},function(e,t,n){"use strict";var r=n(11).Buffer,i=n(2),o=n(93),s=new Array(16),a=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],f=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],c=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],u=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],l=[0,1518500249,1859775393,2400959708,2840853838],d=[1352829926,1548603684,1836072691,2053994217,0];function h(){o.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function p(e,t){return e<<t|e>>>32-t}function g(e,t,n,r,i,o,s,a){return p(e+(t^n^r)+o+s|0,a)+i|0}function m(e,t,n,r,i,o,s,a){return p(e+(t&n|~t&r)+o+s|0,a)+i|0}function _(e,t,n,r,i,o,s,a){return p(e+((t|~n)^r)+o+s|0,a)+i|0}function y(e,t,n,r,i,o,s,a){return p(e+(t&r|n&~r)+o+s|0,a)+i|0}function b(e,t,n,r,i,o,s,a){return p(e+(t^(n|~r))+o+s|0,a)+i|0}i(h,o),h.prototype._update=function(){for(var e=s,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);for(var n=0|this._a,r=0|this._b,i=0|this._c,o=0|this._d,h=0|this._e,v=0|this._a,A=0|this._b,w=0|this._c,E=0|this._d,S=0|this._e,k=0;k<80;k+=1){var I,R;k<16?(I=g(n,r,i,o,h,e[a[k]],l[0],c[k]),R=b(v,A,w,E,S,e[f[k]],d[0],u[k])):k<32?(I=m(n,r,i,o,h,e[a[k]],l[1],c[k]),R=y(v,A,w,E,S,e[f[k]],d[1],u[k])):k<48?(I=_(n,r,i,o,h,e[a[k]],l[2],c[k]),R=_(v,A,w,E,S,e[f[k]],d[2],u[k])):k<64?(I=y(n,r,i,o,h,e[a[k]],l[3],c[k]),R=m(v,A,w,E,S,e[f[k]],d[3],u[k])):(I=b(n,r,i,o,h,e[a[k]],l[4],c[k]),R=g(v,A,w,E,S,e[f[k]],d[4],u[k])),n=h,h=o,o=p(i,10),i=r,r=I,v=S,S=E,E=p(w,10),w=A,A=R}var T=this._b+i+E|0;this._b=this._c+o+S|0,this._c=this._d+h+v|0,this._d=this._e+n+A|0,this._e=this._a+r+w|0,this._a=T},h.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=r.alloc?r.alloc(20):new r(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e},e.exports=h},function(e,t,n){(t=e.exports=function(e){e=e.toLowerCase();var n=t[e];if(!n)throw new Error(e+" is not supported (we accept pull requests)");return new n}).sha=n(195),t.sha1=n(196),t.sha224=n(197),t.sha256=n(94),t.sha384=n(198),t.sha512=n(95)},function(e,t,n){"use strict";var r=n(14);function i(e){this.options=e,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}e.exports=i,i.prototype._init=function(){},i.prototype.update=function(e){return 0===e.length?[]:"decrypt"===this.type?this._updateDecrypt(e):this._updateEncrypt(e)},i.prototype._buffer=function(e,t){for(var n=Math.min(this.buffer.length-this.bufferOff,e.length-t),r=0;r<n;r++)this.buffer[this.bufferOff+r]=e[t+r];return this.bufferOff+=n,n},i.prototype._flushBuffer=function(e,t){return this._update(this.buffer,0,e,t),this.bufferOff=0,this.blockSize},i.prototype._updateEncrypt=function(e){var t=0,n=0,r=(this.bufferOff+e.length)/this.blockSize|0,i=new Array(r*this.blockSize);0!==this.bufferOff&&(t+=this._buffer(e,t),this.bufferOff===this.buffer.length&&(n+=this._flushBuffer(i,n)));for(var o=e.length-(e.length-t)%this.blockSize;t<o;t+=this.blockSize)this._update(e,t,i,n),n+=this.blockSize;for(;t<e.length;t++,this.bufferOff++)this.buffer[this.bufferOff]=e[t];return i},i.prototype._updateDecrypt=function(e){for(var t=0,n=0,r=Math.ceil((this.bufferOff+e.length)/this.blockSize)-1,i=new Array(r*this.blockSize);r>0;r--)t+=this._buffer(e,t),n+=this._flushBuffer(i,n);return t+=this._buffer(e,t),i},i.prototype.final=function(e){var t,n;return e&&(t=this.update(e)),n="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),t?t.concat(n):n},i.prototype._pad=function(e,t){if(0===t)return!1;for(;t<e.length;)e[t++]=0;return!0},i.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var e=new Array(this.blockSize);return this._update(this.buffer,0,e,0),e},i.prototype._unpad=function(e){return e},i.prototype._finalDecrypt=function(){r.equal(this.bufferOff,this.blockSize,"Not enough data to decrypt");var e=new Array(this.blockSize);return this._flushBuffer(e,0),this._unpad(e)}},function(e,t,n){var r=n(207),i=n(215),o=n(107);t.createCipher=t.Cipher=r.createCipher,t.createCipheriv=t.Cipheriv=r.createCipheriv,t.createDecipher=t.Decipher=i.createDecipher,t.createDecipheriv=t.Decipheriv=i.createDecipheriv,t.listCiphers=t.getCiphers=function(){return Object.keys(o)}},function(e,t,n){var r={ECB:n(208),CBC:n(209),CFB:n(210),CFB8:n(211),CFB1:n(212),OFB:n(213),CTR:n(105),GCM:n(105)},i=n(107);for(var o in i)i[o].module=r[i[o].mode];e.exports=i},function(e,t,n){var r;function i(e){this.rand=e}if(e.exports=function(e){return r||(r=new i(null)),r.generate(e)},e.exports.Rand=i,i.prototype.generate=function(e){return this._rand(e)},i.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),n=0;n<t.length;n++)t[n]=this.rand.getByte();return t},"object"==typeof self)self.crypto&&self.crypto.getRandomValues?i.prototype._rand=function(e){var t=new Uint8Array(e);return self.crypto.getRandomValues(t),t}:self.msCrypto&&self.msCrypto.getRandomValues?i.prototype._rand=function(e){var t=new Uint8Array(e);return self.msCrypto.getRandomValues(t),t}:"object"==typeof window&&(i.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var o=n(219);if("function"!=typeof o.randomBytes)throw new Error("Not supported");i.prototype._rand=function(e){return o.randomBytes(e)}}catch(e){}},function(e,t,n){(function(t){var r=n(12),i=n(22);function o(e,n){var i=function(e){var t=s(e);return{blinder:t.toRed(r.mont(e.modulus)).redPow(new r(e.publicExponent)).fromRed(),unblinder:t.invm(e.modulus)}}(n),o=n.modulus.byteLength(),a=(r.mont(n.modulus),new r(e).mul(i.blinder).umod(n.modulus)),f=a.toRed(r.mont(n.prime1)),c=a.toRed(r.mont(n.prime2)),u=n.coefficient,l=n.prime1,d=n.prime2,h=f.redPow(n.exponent1),p=c.redPow(n.exponent2);h=h.fromRed(),p=p.fromRed();var g=h.isub(p).imul(u).umod(l);return g.imul(d),p.iadd(g),new t(p.imul(i.unblinder).umod(n.modulus).toArray(!1,o))}function s(e){for(var t=e.modulus.byteLength(),n=new r(i(t));n.cmp(e.modulus)>=0||!n.umod(e.prime1)||!n.umod(e.prime2);)n=new r(i(t));return n}e.exports=o,o.getr=s}).call(this,n(11).Buffer)},function(e,t,n){"use strict";var r=t;r.version=n(224).version,r.utils=n(15),r.rand=n(66),r.curve=n(114),r.curves=n(69),r.ec=n(235),r.eddsa=n(239)},function(e,t,n){"use strict";var r,i=t,o=n(70),s=n(114),a=n(15).assert;function f(e){"short"===e.type?this.curve=new s.short(e):"edwards"===e.type?this.curve=new s.edwards(e):this.curve=new s.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,a(this.g.validate(),"Invalid curve"),a(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function c(e,t){Object.defineProperty(i,e,{configurable:!0,enumerable:!0,get:function(){var n=new f(t);return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,value:n}),n}})}i.PresetCurve=f,c("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:o.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),c("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:o.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),c("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:o.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),c("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:o.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),c("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:o.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),c("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["9"]}),c("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{r=n(234)}catch(e){r=void 0}c("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:o.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})},function(e,t,n){var r=t;r.utils=n(17),r.common=n(30),r.sha=n(228),r.ripemd=n(232),r.hmac=n(233),r.sha1=r.sha.sha1,r.sha256=r.sha.sha256,r.sha224=r.sha.sha224,r.sha384=r.sha.sha384,r.sha512=r.sha.sha512,r.ripemd160=r.ripemd.ripemd160},function(e,t,n){"use strict";var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.MemoryCryptoStore=void 0;var i=n(4),o=r(n(8));t.MemoryCryptoStore=class{constructor(){this._outgoingRoomKeyRequests=[],this._account=null,this._crossSigningKeys=null,this._sessions={},this._sessionProblems={},this._notifiedErrorDevices={},this._inboundGroupSessions={},this._inboundGroupSessionsWithheld={},this._deviceData=null,this._rooms={},this._sessionsNeedingBackup={}}deleteAllData(){return Promise.resolve()}getOrAddOutgoingRoomKeyRequest(e){const t=e.requestBody;return o.promiseTry(()=>{const n=this._getOutgoingRoomKeyRequest(t);return n?(i.logger.log("already have key request outstanding for "+`${t.room_id} / ${t.session_id}: `+"not sending another"),n):(i.logger.log(`enqueueing key request for ${t.room_id} / `+t.session_id),this._outgoingRoomKeyRequests.push(e),e)})}getOutgoingRoomKeyRequest(e){return Promise.resolve(this._getOutgoingRoomKeyRequest(e))}_getOutgoingRoomKeyRequest(e){for(const t of this._outgoingRoomKeyRequests)if(o.deepCompare(t.requestBody,e))return t;return null}getOutgoingRoomKeyRequestByState(e){for(const t of this._outgoingRoomKeyRequests)for(const n of e)if(t.state===n)return Promise.resolve(t);return Promise.resolve(null)}getOutgoingRoomKeyRequestsByTarget(e,t,n){const r=[];for(const i of this._outgoingRoomKeyRequests)for(const o of n)i.state===o&&i.recipients.includes({userId:e,deviceId:t})&&r.push(i);return Promise.resolve(r)}updateOutgoingRoomKeyRequest(e,t,n){for(const r of this._outgoingRoomKeyRequests)if(r.requestId===e)return r.state!=t?(i.logger.warn(`Cannot update room key request from ${t} `+`as it was already updated to ${r.state}`),Promise.resolve(null)):(Object.assign(r,n),Promise.resolve(r));return Promise.resolve(null)}deleteOutgoingRoomKeyRequest(e,t){for(let n=0;n<this._outgoingRoomKeyRequests.length;n++){const r=this._outgoingRoomKeyRequests[n];if(r.requestId===e)return r.state!=t?(i.logger.warn(`Cannot delete room key request in state ${r.state} `+`(expected ${t})`),Promise.resolve(null)):(this._outgoingRoomKeyRequests.splice(n,1),Promise.resolve(r))}return Promise.resolve(null)}getAccount(e,t){t(this._account)}storeAccount(e,t){this._account=t}getCrossSigningKeys(e,t){t(this._crossSigningKeys)}storeCrossSigningKeys(e,t){this._crossSigningKeys=t}countEndToEndSessions(e,t){return Object.keys(this._sessions).length}getEndToEndSession(e,t,n,r){r((this._sessions[e]||{})[t]||null)}getEndToEndSessions(e,t,n){n(this._sessions[e]||{})}getAllEndToEndSessions(e,t){for(const e of Object.values(this._sessions))for(const n of Object.values(e))t(n)}storeEndToEndSession(e,t,n,r){let i=this._sessions[e];void 0===i&&(i={},this._sessions[e]=i),i[t]=n}async storeEndToEndSessionProblem(e,t,n){const r=this._sessionProblems[e]=this._sessionProblems[e]||[];r.push({type:t,fixed:n,time:Date.now()}),r.sort((e,t)=>e.time-t.time)}async getEndToEndSessionProblem(e,t){const n=this._sessionProblems[e]||[];if(!n.length)return null;const r=n[n.length-1];for(const e of n)if(e.time>t)return Object.assign({},e,{fixed:r.fixed});return r.fixed?null:r}async filterOutNotifiedErrorDevices(e){const t=this._notifiedErrorDevices,n=[];for(const r of e){const{userId:e,deviceInfo:i}=r;e in t?i.deviceId in t[e]||(n.push(r),t[e][i.deviceId]=!0):(n.push(r),t[e]={[i.deviceId]:!0})}return n}getEndToEndInboundGroupSession(e,t,n,r){const i=e+"/"+t;r(this._inboundGroupSessions[i]||null,this._inboundGroupSessionsWithheld[i]||null)}getAllEndToEndInboundGroupSessions(e,t){for(const e of Object.keys(this._inboundGroupSessions))t({senderKey:e.substr(0,43),sessionId:e.substr(44),sessionData:this._inboundGroupSessions[e]});t(null)}addEndToEndInboundGroupSession(e,t,n,r){const i=e+"/"+t;void 0===this._inboundGroupSessions[i]&&(this._inboundGroupSessions[i]=n)}storeEndToEndInboundGroupSession(e,t,n,r){this._inboundGroupSessions[e+"/"+t]=n}storeEndToEndInboundGroupSessionWithheld(e,t,n,r){const i=e+"/"+t;this._inboundGroupSessionsWithheld[i]=n}getEndToEndDeviceData(e,t){t(this._deviceData)}storeEndToEndDeviceData(e,t){this._deviceData=e}storeEndToEndRoom(e,t,n){this._rooms[e]=t}getEndToEndRooms(e,t){t(this._rooms)}getSessionsNeedingBackup(e){const t=[];for(const n in this._sessionsNeedingBackup)if(this._inboundGroupSessions[n]&&(t.push({senderKey:n.substr(0,43),sessionId:n.substr(44),sessionData:this._inboundGroupSessions[n]}),e&&n.length>=e))break;return Promise.resolve(t)}countSessionsNeedingBackup(){return Promise.resolve(Object.keys(this._sessionsNeedingBackup).length)}unmarkSessionsNeedingBackup(e){for(const t of e){const e=t.senderKey+"/"+t.sessionId;delete this._sessionsNeedingBackup[e]}return Promise.resolve()}markSessionsNeedingBackup(e){for(const t of e){const e=t.senderKey+"/"+t.sessionId;this._sessionsNeedingBackup[e]=!0}return Promise.resolve()}doTxn(e,t,n){return Promise.resolve(n(null))}}},function(e,t,n){"use strict";var r=n(266),i=n(267);function o(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}t.parse=b,t.resolve=function(e,t){return b(e,!1,!0).resolve(t)},t.resolveObject=function(e,t){return e?b(e,!1,!0).resolveObject(t):t},t.format=function(e){i.isString(e)&&(e=b(e));return e instanceof o?e.format():o.prototype.format.call(e)},t.Url=o;var s=/^([a-z0-9.+-]+:)/i,a=/:[0-9]*$/,f=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,c=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),u=["'"].concat(c),l=["%","/","?",";","#"].concat(u),d=["/","?","#"],h=/^[+a-z0-9A-Z_-]{0,63}$/,p=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,g={javascript:!0,"javascript:":!0},m={javascript:!0,"javascript:":!0},_={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},y=n(268);function b(e,t,n){if(e&&i.isObject(e)&&e instanceof o)return e;var r=new o;return r.parse(e,t,n),r}o.prototype.parse=function(e,t,n){if(!i.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var o=e.indexOf("?"),a=-1!==o&&o<e.indexOf("#")?"?":"#",c=e.split(a);c[0]=c[0].replace(/\\/g,"/");var b=e=c.join(a);if(b=b.trim(),!n&&1===e.split("#").length){var v=f.exec(b);if(v)return this.path=b,this.href=b,this.pathname=v[1],v[2]?(this.search=v[2],this.query=t?y.parse(this.search.substr(1)):this.search.substr(1)):t&&(this.search="",this.query={}),this}var A=s.exec(b);if(A){var w=(A=A[0]).toLowerCase();this.protocol=w,b=b.substr(A.length)}if(n||A||b.match(/^\/\/[^@\/]+@[^@\/]+/)){var E="//"===b.substr(0,2);!E||A&&m[A]||(b=b.substr(2),this.slashes=!0)}if(!m[A]&&(E||A&&!_[A])){for(var S,k,I=-1,R=0;R<d.length;R++){-1!==(T=b.indexOf(d[R]))&&(-1===I||T<I)&&(I=T)}-1!==(k=-1===I?b.lastIndexOf("@"):b.lastIndexOf("@",I))&&(S=b.slice(0,k),b=b.slice(k+1),this.auth=decodeURIComponent(S)),I=-1;for(R=0;R<l.length;R++){var T;-1!==(T=b.indexOf(l[R]))&&(-1===I||T<I)&&(I=T)}-1===I&&(I=b.length),this.host=b.slice(0,I),b=b.slice(I),this.parseHost(),this.hostname=this.hostname||"";var O="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!O)for(var C=this.hostname.split(/\./),x=(R=0,C.length);R<x;R++){var M=C[R];if(M&&!M.match(h)){for(var P="",D=0,B=M.length;D<B;D++)M.charCodeAt(D)>127?P+="x":P+=M[D];if(!P.match(h)){var N=C.slice(0,R),j=C.slice(R+1),U=M.match(p);U&&(N.push(U[1]),j.unshift(U[2])),j.length&&(b="/"+j.join(".")+b),this.hostname=N.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),O||(this.hostname=r.toASCII(this.hostname));var L=this.port?":"+this.port:"",q=this.hostname||"";this.host=q+L,this.href+=this.host,O&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==b[0]&&(b="/"+b))}if(!g[w])for(R=0,x=u.length;R<x;R++){var F=u[R];if(-1!==b.indexOf(F)){var K=encodeURIComponent(F);K===F&&(K=escape(F)),b=b.split(F).join(K)}}var G=b.indexOf("#");-1!==G&&(this.hash=b.substr(G),b=b.slice(0,G));var z=b.indexOf("?");if(-1!==z?(this.search=b.substr(z),this.query=b.substr(z+1),t&&(this.query=y.parse(this.query)),b=b.slice(0,z)):t&&(this.search="",this.query={}),b&&(this.pathname=b),_[w]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){L=this.pathname||"";var H=this.search||"";this.path=L+H}return this.href=this.format(),this},o.prototype.format=function(){var e=this.auth||"";e&&(e=(e=encodeURIComponent(e)).replace(/%3A/i,":"),e+="@");var t=this.protocol||"",n=this.pathname||"",r=this.hash||"",o=!1,s="";this.host?o=e+this.host:this.hostname&&(o=e+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(o+=":"+this.port)),this.query&&i.isObject(this.query)&&Object.keys(this.query).length&&(s=y.stringify(this.query));var a=this.search||s&&"?"+s||"";return t&&":"!==t.substr(-1)&&(t+=":"),this.slashes||(!t||_[t])&&!1!==o?(o="//"+(o||""),n&&"/"!==n.charAt(0)&&(n="/"+n)):o||(o=""),r&&"#"!==r.charAt(0)&&(r="#"+r),a&&"?"!==a.charAt(0)&&(a="?"+a),t+o+(n=n.replace(/[?#]/g,(function(e){return encodeURIComponent(e)})))+(a=a.replace("#","%23"))+r},o.prototype.resolve=function(e){return this.resolveObject(b(e,!1,!0)).format()},o.prototype.resolveObject=function(e){if(i.isString(e)){var t=new o;t.parse(e,!1,!0),e=t}for(var n=new o,r=Object.keys(this),s=0;s<r.length;s++){var a=r[s];n[a]=this[a]}if(n.hash=e.hash,""===e.href)return n.href=n.format(),n;if(e.slashes&&!e.protocol){for(var f=Object.keys(e),c=0;c<f.length;c++){var u=f[c];"protocol"!==u&&(n[u]=e[u])}return _[n.protocol]&&n.hostname&&!n.pathname&&(n.path=n.pathname="/"),n.href=n.format(),n}if(e.protocol&&e.protocol!==n.protocol){if(!_[e.protocol]){for(var l=Object.keys(e),d=0;d<l.length;d++){var h=l[d];n[h]=e[h]}return n.href=n.format(),n}if(n.protocol=e.protocol,e.host||m[e.protocol])n.pathname=e.pathname;else{for(var p=(e.pathname||"").split("/");p.length&&!(e.host=p.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),""!==p[0]&&p.unshift(""),p.length<2&&p.unshift(""),n.pathname=p.join("/")}if(n.search=e.search,n.query=e.query,n.host=e.host||"",n.auth=e.auth,n.hostname=e.hostname||e.host,n.port=e.port,n.pathname||n.search){var g=n.pathname||"",y=n.search||"";n.path=g+y}return n.slashes=n.slashes||e.slashes,n.href=n.format(),n}var b=n.pathname&&"/"===n.pathname.charAt(0),v=e.host||e.pathname&&"/"===e.pathname.charAt(0),A=v||b||n.host&&e.pathname,w=A,E=n.pathname&&n.pathname.split("/")||[],S=(p=e.pathname&&e.pathname.split("/")||[],n.protocol&&!_[n.protocol]);if(S&&(n.hostname="",n.port=null,n.host&&(""===E[0]?E[0]=n.host:E.unshift(n.host)),n.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(""===p[0]?p[0]=e.host:p.unshift(e.host)),e.host=null),A=A&&(""===p[0]||""===E[0])),v)n.host=e.host||""===e.host?e.host:n.host,n.hostname=e.hostname||""===e.hostname?e.hostname:n.hostname,n.search=e.search,n.query=e.query,E=p;else if(p.length)E||(E=[]),E.pop(),E=E.concat(p),n.search=e.search,n.query=e.query;else if(!i.isNullOrUndefined(e.search)){if(S)n.hostname=n.host=E.shift(),(O=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=O.shift(),n.host=n.hostname=O.shift());return n.search=e.search,n.query=e.query,i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!E.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var k=E.slice(-1)[0],I=(n.host||e.host||E.length>1)&&("."===k||".."===k)||""===k,R=0,T=E.length;T>=0;T--)"."===(k=E[T])?E.splice(T,1):".."===k?(E.splice(T,1),R++):R&&(E.splice(T,1),R--);if(!A&&!w)for(;R--;R)E.unshift("..");!A||""===E[0]||E[0]&&"/"===E[0].charAt(0)||E.unshift(""),I&&"/"!==E.join("/").substr(-1)&&E.push("");var O,C=""===E[0]||E[0]&&"/"===E[0].charAt(0);S&&(n.hostname=n.host=C?"":E.length?E.shift():"",(O=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=O.shift(),n.host=n.hostname=O.shift()));return(A=A||n.host&&E.length)&&!C&&E.unshift(""),E.length?n.pathname=E.join("/"):(n.pathname=null,n.path=null),i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},o.prototype.parseHost=function(){var e=this.host,t=a.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PushProcessor=s;var r=n(8);const i=["override","content","room","sender","underride"],o=[{rule_id:".m.rule.tombstone",default:!0,enabled:!0,conditions:[{kind:"event_match",key:"type",pattern:"m.room.tombstone"},{kind:"event_match",key:"state_key",pattern:""}],actions:["notify",{set_tweak:"highlight",value:!0}]},{rule_id:".m.rule.reaction",default:!0,enabled:!0,conditions:[{kind:"event_match",key:"type",pattern:"m.reaction"}],actions:["dont_notify"]}];function s(e){const t={},n=(e,t,n)=>{for(let r=0;r<i.length;++r){const o=i[r],s=t[o];for(let t=0;t<s.length;++t){const r=s[t];if(!r.enabled)continue;const i=a(o,r,n);if(i&&this.ruleMatchesEvent(i,e))return r.kind=o,r}}return null},a=function(e,t,n){const r={rule_id:t.rule_id,actions:t.actions,conditions:[]};switch(e){case"underride":case"override":r.conditions=t.conditions;break;case"room":if(!t.rule_id)return null;r.conditions.push({kind:"event_match",key:"room_id",value:t.rule_id});break;case"sender":if(!t.rule_id)return null;r.conditions.push({kind:"event_match",key:"user_id",value:t.rule_id});break;case"content":if(!t.pattern)return null;r.conditions.push({kind:"event_match",key:"content.body",pattern:t.pattern})}return n&&r.conditions.push({kind:"device",profile_tag:n}),r},f=function(e,t){const n={event_match:h,device:d,contains_display_name:l,room_member_count:u,sender_notification_permission:c};return!!n[e.kind]&&n[e.kind](e,t)},c=function(t,n){const r=t.key;if(!r)return!1;const i=e.getRoom(n.getRoomId());return!(!i||!i.currentState)&&i.currentState.mayTriggerNotifOfType(r,n.getSender())},u=function(t,n){if(!t.is)return!1;const r=e.getRoom(n.getRoomId());if(!r||!r.currentState||!r.currentState.members)return!1;const i=r.currentState.getJoinedMemberCount(),o=t.is.match(/^([=<>]*)([0-9]*)$/);if(!o)return!1;const s=o[1],a=parseInt(o[2]);if(isNaN(a))return!1;switch(s){case"":case"==":return i==a;case"<":return i<a;case">":return i>a;case"<=":return i<=a;case">=":return i>=a;default:return!1}},l=function(t,n){let i=n.getContent();if(n.isEncrypted()&&n.getClearContent()&&(i=n.getClearContent()),!i||!i.body||"string"!=typeof i.body)return!1;const o=e.getRoom(n.getRoomId());if(!(o&&o.currentState&&o.currentState.members&&o.currentState.getMember(e.credentials.userId)))return!1;const s=o.currentState.getMember(e.credentials.userId).name,a=new RegExp("(^|\\W)"+(0,r.escapeRegExp)(s)+"(\\W|$)","i");return i.body.search(a)>-1},d=function(e,t){return!1},h=function(e,t){if(!e.key)return!1;const n=g(e.key,t);if("string"!=typeof n)return!1;if(e.value)return e.value===n;let r;return r="content.body"==e.key?p("(^|\\W)",e.pattern,"(\\W|$)"):p("^",e.pattern,"$"),!!n.match(r)},p=function(e,n,i){return t[n]?t[n]:(t[n]=new RegExp(e+(0,r.globToRegexp)(n)+i,"i"),t[n])},g=function(e,t){const n=e.split(".");let i;const o=n[0];for("content"===o?(i=t.getContent(),n.shift()):"type"===o?(i=t.getType(),n.shift()):i=t.event;n.length>0;){const e=n.shift();if((0,r.isNullOrUndefined)(i[e]))return null;i=i[e]}return i},m=function(t,r){const i=function(t,r){if(!r||!r.device)return null;if(t.getSender()==e.credentials.userId)return null;const i=Object.keys(r.device);for(let e=0;e<i.length;++e){const t=i[e],o=r.device[t],s=n(o,t);if(s)return s}return n(t,r.global)}(t,r);if(!i)return{};const o=s.actionListToActionsObject(i.actions);return void 0===o.tweaks.highlight&&(o.tweaks.highlight="content"==i.kind),o};this.ruleMatchesEvent=function(e,t){let n=!0;for(let r=0;r<e.conditions.length;++r){const i=e.conditions[r];n&=f(i,t)}return n},this.actionsForEvent=function(t){const n=function(e){const t=JSON.parse(JSON.stringify(e));e.global||(e.global={}),e.global.override||(e.global.override=[]);const n=e.global.override;for(const e of o){if(!n.find(t=>t.rule_id===e.rule_id)){const t=e.rule_id;console.warn(`Adding default global override for ${t}`),n.push(e)}}return t}(e.pushRules);return m(t,n)},this.getPushRuleById=function(t){for(const n of["device","global"])if(void 0!==e.pushRules[n])for(const r of i)if(void 0!==e.pushRules[n][r])for(const i of e.pushRules[n][r])if(i.rule_id===t)return i;return null}}s.actionListToActionsObject=function(e){const t={notify:!1,tweaks:{}};for(let n=0;n<e.length;++n){const r=e[n];"notify"===r?t.notify=!0:"object"==typeof r&&(void 0===r.value&&(r.value=!0),t.tweaks[r.set_tweak]=r.value)}return t},s.rewriteDefaultRules=function(e){let t=JSON.parse(JSON.stringify(e));return t||(t={}),t.global||(t.global={}),t.global.override||(t.global.override=[]),t.global.override=t.global.override.map(e=>{const t=o.find(t=>t.rule_id===e.rule_id);return t?(e.default=t.default,e.conditions=t.conditions,e.actions=t.actions,e):e}),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Filter=o;var r=n(274);function i(e,t,n){const r=t.split(".");let i=e;for(let e=0;e<r.length-1;e++)i[r[e]]||(i[r[e]]={}),i=i[r[e]];i[r[r.length-1]]=n}function o(e,t){this.userId=e,this.filterId=t,this.definition={}}o.LAZY_LOADING_MESSAGES_FILTER={lazy_load_members:!0},o.LAZY_LOADING_SYNC_FILTER={room:{state:o.LAZY_LOADING_MESSAGES_FILTER}},o.prototype.getFilterId=function(){return this.filterId},o.prototype.getDefinition=function(){return this.definition},o.prototype.setDefinition=function(e){this.definition=e;const t=e.room,n={};t&&(t.rooms&&(n.rooms=t.rooms),t.rooms&&(n.not_rooms=t.not_rooms),this._include_leave=t.include_leave||!1),this._room_filter=new r.FilterComponent(n),this._room_timeline_filter=new r.FilterComponent(t&&t.timeline||{})},o.prototype.getRoomTimelineFilterComponent=function(){return this._room_timeline_filter},o.prototype.filterRoomTimeline=function(e){return this._room_timeline_filter.filter(this._room_filter.filter(e))},o.prototype.setTimelineLimit=function(e){i(this.definition,"room.timeline.limit",e)},o.prototype.setIncludeLeaveRooms=function(e){i(this.definition,"room.include_leave",e)},o.fromJson=function(e,t,n){const r=new o(e,t);return r.setDefinition(n),r}},function(e,t,n){"use strict";var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.RoomMember=a;var i=n(10),o=n(47),s=r(n(8));function a(e,t){this.roomId=e,this.userId=t,this.typing=!1,this.name=t,this.rawDisplayName=t,this.powerLevel=0,this.powerLevelNorm=0,this.user=null,this.membership=null,this.events={member:null},this._isOutOfBand=!1,this._updateModifiedTime()}s.inherits(a,i.EventEmitter),a.prototype.markOutOfBand=function(){this._isOutOfBand=!0},a.prototype.isOutOfBand=function(){return this._isOutOfBand},a.prototype.setMembershipEvent=function(e,t){if("m.room.member"!==e.getType())return;this._isOutOfBand=!1,this.events.member=e;const n=this.membership;this.membership=e.getDirectionalContent().membership;const r=this.name;this.name=function(e,t,n){if(!t||t===e)return e;if(!s.removeHiddenChars(t))return e;if(!n)return t;let r=/@.+:.+/.test(t);r||(r=/[\u200E\u200F\u202A-\u202F]/.test(t));if(!r){const i=n.getUserIdsWithDisplayName(t);r=i.some(t=>t!==e)}if(r)return t+" ("+e+")";return t}(this.userId,e.getDirectionalContent().displayname,t),this.rawDisplayName=e.getDirectionalContent().displayname||this.userId,n!==this.membership&&(this._updateModifiedTime(),this.emit("RoomMember.membership",e,this,n)),r!==this.name&&(this._updateModifiedTime(),this.emit("RoomMember.name",e,this,r))},a.prototype.setPowerLevelEvent=function(e){if("m.room.power_levels"!==e.getType())return;const t=e.getDirectionalContent();let n=t.users_default||0;s.forEach(s.values(t.users),(function(e){n=Math.max(n,e)}));const r=this.powerLevel,i=this.powerLevelNorm;t.users&&void 0!==t.users[this.userId]?this.powerLevel=t.users[this.userId]:void 0!==t.users_default?this.powerLevel=t.users_default:this.powerLevel=0,this.powerLevelNorm=0,n>0&&(this.powerLevelNorm=100*this.powerLevel/n),r===this.powerLevel&&i===this.powerLevelNorm||(this._updateModifiedTime(),this.emit("RoomMember.powerLevel",e,this))},a.prototype.setTypingEvent=function(e){if("m.typing"!==e.getType())return;const t=this.typing;this.typing=!1;const n=e.getContent().user_ids;s.isArray(n)&&(-1!==n.indexOf(this.userId)&&(this.typing=!0),t!==this.typing&&(this._updateModifiedTime(),this.emit("RoomMember.typing",e,this)))},a.prototype._updateModifiedTime=function(){this._modified=Date.now()},a.prototype.getLastModifiedTime=function(){return this._modified},a.prototype.isKicked=function(){return"leave"===this.membership&&this.events.member.getSender()!==this.events.member.getStateKey()},a.prototype.getDMInviter=function(){if(this.events.member){const e=this.events.member;let t=e.getContent(),n=e.getSender();if("join"===t.membership&&(t=e.getPrevContent(),n=e.getUnsigned().prev_sender),"invite"===t.membership&&t.is_direct)return n}},a.prototype.getAvatarUrl=function(e,t,n,r,i,s){void 0===i&&(i=!0);const a=this.getMxcAvatarUrl();if(!a&&!i)return null;const f=(0,o.getHttpUriForMxc)(e,a,t,n,r,s);return f||(i?(0,o.getIdenticonUri)(e,this.userId,t,n):null)},a.prototype.getMxcAvatarUrl=function(){return this.events.member?this.events.member.getDirectionalContent().avatar_url:this.user?this.user.avatarUrl:null}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReEmitter=void 0;t.ReEmitter=class{constructor(e){this.target=e,this.boundHandlers={}}_handleEvent(e,...t){this.target.emit(e,...t)}reEmit(e,t){const n=(t,...n)=>{t(...n,e)};for(const r of t){void 0===this.boundHandlers[r]&&(this.boundHandlers[r]=this._handleEvent.bind(this,r));const t=n.bind(this,this.boundHandlers[r]);e.on(r,t)}}}},function(e,t,n){"use strict";function r(e,t){const n=`Store is invalid because ${e}, `+"please stop the client, delete all data and start the client again",r=Reflect.construct(Error,[n]);return Reflect.setPrototypeOf(r,Reflect.getPrototypeOf(this)),r.reason=e,r.value=t,r}function i(e){const t=`Crypto store is invalid because ${e}, `+"please stop the client, delete all data and start the client again",n=Reflect.construct(Error,[t]);return Reflect.setPrototypeOf(n,Reflect.getPrototypeOf(this)),n.reason=e,n.name="InvalidCryptoStoreError",n}Object.defineProperty(t,"__esModule",{value:!0}),t.InvalidStoreError=r,t.InvalidCryptoStoreError=i,r.TOGGLED_LAZY_LOADING="TOGGLED_LAZY_LOADING",r.prototype=Object.create(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),Reflect.setPrototypeOf(r,Error),i.TOO_NEW="TOO_NEW",i.prototype=Object.create(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),Reflect.setPrototypeOf(i,Error)},function(e,t,n){"use strict";for(var r=/[\\\"\x00-\x1F]/g,i={},o=0;o<32;++o)i[String.fromCharCode(o)]="\\U"+("0000"+o.toString(16)).slice(-4).toUpperCase();function s(e){return r.lastIndex=0,e.replace(r,(function(e){return i[e]}))}function a(e){switch(typeof e){case"string":return'"'+s(e)+'"';case"number":return isFinite(e)?e:"null";case"boolean":return e;case"object":return null===e?"null":Array.isArray(e)?function(e){for(var t="[",n="",r=0;r<e.length;++r)n+=t,t=",",n+=a(e[r]);return","!=t?"[]":n+"]"}(e):function(e){var t="{",n="",r=Object.keys(e);r.sort();for(var i=0;i<r.length;++i){var o=r[i];n+=t+'"'+s(o)+'":',t=",",n+=a(e[o])}return","!=t?"{}":n+"}"}(e);default:throw new Error("Cannot stringify: "+typeof e)}}i["\b"]="\\b",i["\t"]="\\t",i["\n"]="\\n",i["\f"]="\\f",i["\r"]="\\r",i['"']='\\"',i["\\"]="\\\\",e.exports={stringify:a}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.registerAlgorithm=function(e,t,n){r[e]=t,i[e]=n},t.UnknownDeviceError=t.DecryptionError=t.DecryptionAlgorithm=t.EncryptionAlgorithm=t.DECRYPTION_CLASSES=t.ENCRYPTION_CLASSES=void 0;const r={};t.ENCRYPTION_CLASSES=r;const i={};t.DECRYPTION_CLASSES=i;t.EncryptionAlgorithm=class{constructor(e){this._userId=e.userId,this._deviceId=e.deviceId,this._crypto=e.crypto,this._olmDevice=e.olmDevice,this._baseApis=e.baseApis,this._roomId=e.roomId}onRoomMembership(e,t,n){}};t.DecryptionAlgorithm=class{constructor(e){this._userId=e.userId,this._crypto=e.crypto,this._olmDevice=e.olmDevice,this._baseApis=e.baseApis,this._roomId=e.roomId}onRoomKeyEvent(e){}importRoomKey(e){}hasKeysForKeyRequest(e){return Promise.resolve(!1)}shareKeysWithDevice(e){throw new Error("shareKeysWithDevice not supported for this DecryptionAlgorithm")}async retryDecryptionFromSender(e){}};class o extends Error{constructor(e,t,n){super(t),this.code=e,this.name="DecryptionError",this.detailedString=function(e,t){let n=e.name+"[msg: "+e.message;t&&(n+=", "+Object.keys(t).map(e=>e+": "+t[e]).join(", "));return n+="]",n}(this,n)}}t.DecryptionError=o;class s extends Error{constructor(e,t){super(e),this.name="UnknownDeviceError",this.devices=t}}t.UnknownDeviceError=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VerificationRequest=t.PHASE_DONE=t.PHASE_CANCELLED=t.PHASE_STARTED=t.PHASE_REQUESTED=t.PHASE_UNSENT=t.DONE_TYPE=t.CANCEL_TYPE=t.START_TYPE=t.REQUEST_TYPE=t.EVENT_PREFIX=void 0;var r=n(4),i=n(294),o=n(10),s=n(34);const a="m.key.verification.";t.EVENT_PREFIX=a;const f=a+"request";t.REQUEST_TYPE=f;const c=a+"start";t.START_TYPE=c;const u=a+"cancel";t.CANCEL_TYPE=u;t.DONE_TYPE="m.key.verification.done";t.PHASE_UNSENT=1;t.PHASE_REQUESTED=2;t.PHASE_STARTED=4;t.PHASE_CANCELLED=5;t.PHASE_DONE=6;class l extends o.EventEmitter{constructor(e,t,n,r){super(),this.channel=e,this._verificationMethods=t,this._client=r,this._commonMethods=[],this._setPhase(1,!1),this._requestEvent=null,this._otherUserId=n,this._initiatedByMe=null,this._startTimestamp=null}static validateEvent(e,t,n,i){const o=t.getContent();if(!e.startsWith(a))return!1;if(e===f&&!Array.isArray(o.methods))return!1;if(!(e!==f&&e!==c||"string"==typeof o.from_device&&0!==o.from_device.length))return!1;if(Number.isFinite(n)){const e=Date.now()-n;if(e>597e3||e<-3e5)return r.logger.log("received verification that is too old or from the future"),!1}return!0}get methods(){return this._commonMethods}get timeout(){const e=Date.now()-this._startTimestamp;return Math.max(0,6e5-e)}get event(){return this._requestEvent}get phase(){return this._phase}get verifier(){return this._verifier}get pending(){return 1!==this._phase&&6!==this._phase&&5!==this._phase}get initiatedByMe(){return this._initiatedByMe}get requestingUserId(){return this.initiatedByMe?this._client.getUserId():this._otherUserId}get receivingUserId(){return this.initiatedByMe?this._otherUserId:this._client.getUserId()}beginKeyVerification(e,t=null){if(!this._verifier&&this._hasValidPreStartPhase()){if(this._commonMethods.length&&!this._commonMethods.includes(e))throw(0,s.newUnknownMethodError)();if(this._verifier=this._createVerifier(e,null,t),!this._verifier)throw(0,s.newUnknownMethodError)()}return this._verifier}async sendRequest(){if(1===this._phase){this._initiatedByMe=!0,this._setPhase(2,!1);const e=[...this._verificationMethods.keys()];await this.channel.send(f,{methods:e}),this.emit("change")}}async cancel({reason:e="User declined",code:t="m.user"}={}){if(5!==this._phase){if(this._verifier)return this._verifier.cancel((0,s.errorFactory)(t,e));this._setPhase(5,!1),await this.channel.send(u,{code:t,reason:e}),this.emit("change")}}waitForVerifier(){return this.verifier?Promise.resolve(this.verifier):new Promise(e=>{const t=()=>{this.verifier&&(this.off("change",t),e(this.verifier))};this.on("change",t)})}_setPhase(e,t=!0){this._phase=e,t&&this.emit("change")}async handleEvent(e,t,n){const r=t.getContent();e!==f&&e!==c||null===this._startTimestamp&&(this._startTimestamp=n),e===f?await this._handleRequest(r,t):e===c&&await this._handleStart(r,t),this._verifier&&(e===u||this._verifier.events&&this._verifier.events.includes(e))&&this._verifier.handleEvent(t),e===u?this._handleCancel():"m.key.verification.done"===e&&this._handleDone()}async _handleRequest(e,t){if(1===this._phase){const n=e.methods;this._commonMethods=n.filter(e=>this._verificationMethods.has(e)),this._requestEvent=t,this._initiatedByMe=this._wasSentByMe(t),this._setPhase(2)}else 2!==this._phase&&(r.logger.warn("Ignoring flagged verification request from "+t.getSender()),await this.cancel((0,s.errorFromEvent)((0,s.newUnexpectedMessageError)())))}_hasValidPreStartPhase(){return 2===this._phase||this.channel.constructor.canCreateRequest(c)&&1===this._phase}async _handleStart(e,t){if(this._hasValidPreStartPhase()){const{method:n}=e;this._verificationMethods.has(n)?(1===this.phase&&(this._initiatedByMe=this._wasSentByMe(t)),this._verifier=this._createVerifier(n,t),this._setPhase(4)):await this.cancel((0,s.errorFromEvent)((0,s.newUnknownMethodError)()))}}handleVerifierSend(e,t){e===u?this._handleCancel():e===c&&(1!==this._phase&&2!==this._phase||(this._initiatedByMe=1===this.phase,this._setPhase(4)))}_handleCancel(){5!==this._phase&&this._setPhase(5)}_handleDone(){4===this._phase&&this._setPhase(6)}_createVerifier(e,t=null,n=null){const r=t&&this._wasSentByMe(t),{userId:o,deviceId:s}=this._getVerifierTarget(t,n),a=this._verificationMethods.get(e);if(a)return new a(new i.RequestCallbackChannel(this,this.channel),this._client,o,s,r?null:t);console.warn("could not find verifier constructor for method",e)}_getVerifierTarget(e,t){if(t)return t;{let t;if(e&&!this._wasSentByMe(e))t=e;else{if(!this._requestEvent||this._wasSentByMe(this._requestEvent))throw new Error("can't determine who the verifier should be targeted at. No .request or .start event and no targetDevice");t=this._requestEvent}const n=t.getSender(),r=t.getContent();return{userId:n,deviceId:r&&r.from_device}}}_wasSentByMe(e){if(e.getSender()!==this._client.getUserId())return!1;const t=e.getContent();return!(!t||t.from_device!==this._client.getDeviceId())}}t.VerificationRequest=l},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty,i=Array.isArray,o=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),s=function(e,t){for(var n=t&&t.plainObjects?Object.create(null):{},r=0;r<e.length;++r)void 0!==e[r]&&(n[r]=e[r]);return n};e.exports={arrayToObject:s,assign:function(e,t){return Object.keys(t).reduce((function(e,n){return e[n]=t[n],e}),e)},combine:function(e,t){return[].concat(e,t)},compact:function(e){for(var t=[{obj:{o:e},prop:"o"}],n=[],r=0;r<t.length;++r)for(var o=t[r],s=o.obj[o.prop],a=Object.keys(s),f=0;f<a.length;++f){var c=a[f],u=s[c];"object"==typeof u&&null!==u&&-1===n.indexOf(u)&&(t.push({obj:s,prop:c}),n.push(u))}return function(e){for(;e.length>1;){var t=e.pop(),n=t.obj[t.prop];if(i(n)){for(var r=[],o=0;o<n.length;++o)void 0!==n[o]&&r.push(n[o]);t.obj[t.prop]=r}}}(t),e},decode:function(e,t,n){var r=e.replace(/\+/g," ");if("iso-8859-1"===n)return r.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(r)}catch(e){return r}},encode:function(e,t,n){if(0===e.length)return e;var r=e;if("symbol"==typeof e?r=Symbol.prototype.toString.call(e):"string"!=typeof e&&(r=String(e)),"iso-8859-1"===n)return escape(r).replace(/%u[0-9a-f]{4}/gi,(function(e){return"%26%23"+parseInt(e.slice(2),16)+"%3B"}));for(var i="",s=0;s<r.length;++s){var a=r.charCodeAt(s);45===a||46===a||95===a||126===a||a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122?i+=r.charAt(s):a<128?i+=o[a]:a<2048?i+=o[192|a>>6]+o[128|63&a]:a<55296||a>=57344?i+=o[224|a>>12]+o[128|a>>6&63]+o[128|63&a]:(s+=1,a=65536+((1023&a)<<10|1023&r.charCodeAt(s)),i+=o[240|a>>18]+o[128|a>>12&63]+o[128|a>>6&63]+o[128|63&a])}return i},isBuffer:function(e){return!(!e||"object"!=typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},maybeMap:function(e,t){if(i(e)){for(var n=[],r=0;r<e.length;r+=1)n.push(t(e[r]));return n}return t(e)},merge:function e(t,n,o){if(!n)return t;if("object"!=typeof n){if(i(t))t.push(n);else{if(!t||"object"!=typeof t)return[t,n];(o&&(o.plainObjects||o.allowPrototypes)||!r.call(Object.prototype,n))&&(t[n]=!0)}return t}if(!t||"object"!=typeof t)return[t].concat(n);var a=t;return i(t)&&!i(n)&&(a=s(t,o)),i(t)&&i(n)?(n.forEach((function(n,i){if(r.call(t,i)){var s=t[i];s&&"object"==typeof s&&n&&"object"==typeof n?t[i]=e(s,n,o):t.push(n)}else t[i]=n})),t):Object.keys(n).reduce((function(t,i){var s=n[i];return r.call(t,i)?t[i]=e(t[i],s,o):t[i]=s,t}),a)}}},function(e,t,n){"use strict";t.__esModule=!0,t.AMPERSAND=t.CLOSEPAREN=t.CLOSEANGLEBRACKET=t.CLOSEBRACKET=t.CLOSEBRACE=t.OPENPAREN=t.OPENANGLEBRACKET=t.OPENBRACKET=t.OPENBRACE=t.WS=t.TLD=t.SYM=t.UNDERSCORE=t.SLASH=t.MAILTO=t.PROTOCOL=t.QUERY=t.POUND=t.PLUS=t.NUM=t.NL=t.LOCALHOST=t.PUNCTUATION=t.DOT=t.COLON=t.AT=t.DOMAIN=t.Base=void 0;var r=n(146),i=n(50),o=(0,r.createTokenClass)();function s(e){var t=e?{v:e}:{};return(0,i.inherits)(o,(0,r.createTokenClass)(),t)}o.prototype={toString:function(){return this.v+""}};var a=s(),f=s("@"),c=s(":"),u=s("."),l=s(),d=s(),h=s("\n"),p=s(),g=s("+"),m=s("#"),_=s(),y=s("mailto:"),b=s("?"),v=s("/"),A=s("_"),w=s(),E=s(),S=s(),k=s("{"),I=s("["),R=s("<"),T=s("("),O=s("}"),C=s("]"),x=s(">"),M=s(")"),P=s("&");t.Base=o,t.DOMAIN=a,t.AT=f,t.COLON=c,t.DOT=u,t.PUNCTUATION=l,t.LOCALHOST=d,t.NL=h,t.NUM=p,t.PLUS=g,t.POUND=m,t.QUERY=b,t.PROTOCOL=_,t.MAILTO=y,t.SLASH=v,t.UNDERSCORE=A,t.SYM=w,t.TLD=E,t.WS=S,t.OPENBRACE=k,t.OPENBRACKET=I,t.OPENANGLEBRACKET=R,t.OPENPAREN=T,t.CLOSEBRACE=O,t.CLOSEBRACKET=C,t.CLOSEANGLEBRACKET=x,t.CLOSEPAREN=M,t.AMPERSAND=P},function(e,t,n){var r=n(161),i=n(162),o=n(163);e.exports=function(e){return r(e)||i(e)||o()}},function(e,t,n){"use strict";var r=n(0),i=n.n(r),o=(n(9),n(152)),s=n.n(o);t.a=function(e){var t=e.message,n=e.userId,r=e.botId,o=e.client,a=function(){switch(t.sender){case"from-me":case n:return"from-me";case r:return"from-bot";default:return"from-support"}};if(e.placeholder)return i.a.createElement("div",{className:"message from-me placeholder"},i.a.createElement("div",{className:"text"},t.content.body));if("m.file"===t.content.msgtype){var f=o.mxcUrlToHttp(t.content.url);return(i.a.createElement("div",{className:"message ".concat(a())},i.a.createElement("div",{className:"text"},i.a.createElement("a",{href:f,target:"_blank",rel:"noopener noreferrer"},t.content.body))))}if(t.content.formatted_body)return i.a.createElement("div",{className:"message ".concat(a())},i.a.createElement("div",{className:"text",dangerouslySetInnerHTML:{__html:t.content.formatted_body}}));return i.a.createElement("div",{className:"message ".concat(a())},i.a.createElement("div",{className:"text"},i.a.createElement(s.a,{options:{linkAttributes:{rel:"noreferrer noopener"}}},t.content.body)))}},function(e,t,n){"use strict";var r=n(0),i=n.n(r);n(9);t.a=function(e){var t=e.handleToggleOpen,n=e.handleExitChat,r=e.opened;return(i.a.createElement("div",{className:"widget-header"},i.a.createElement("button",{type:"button",className:"widget-header-minimize",onClick:t,onKeyPress:t,"aria-label":"Minimize the chat window",title:"Minimize the chat window"},i.a.createElement("span",{className:"btn-icon arrow ".concat(r?"opened":"closed")},"⌃"),i.a.createElement("span",null,"".concat(r?"Hide":"Show"," the chat"))),i.a.createElement("button",{type:"button",className:"widget-header-close",onClick:n,onKeyPress:n,"aria-label":"Exit the chat",title:"Exit the chat"},i.a.createElement("span",{className:"btn-icon"},"×"))))}},function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=n=function(e){return typeof e}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(t)}e.exports=n},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){"use strict";(function(t,r){var i=n(40);e.exports=b;var o,s=n(87);b.ReadableState=y;n(10).EventEmitter;var a=function(e,t){return e.listeners(t).length},f=n(89),c=n(57).Buffer,u=t.Uint8Array||function(){};var l=Object.create(n(27));l.inherits=n(2);var d=n(176),h=void 0;h=d&&d.debuglog?d.debuglog("stream"):function(){};var p,g=n(177),m=n(90);l.inherits(b,f);var _=["error","close","destroy","pause","resume"];function y(e,t){e=e||{};var r=t instanceof(o=o||n(20));this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,s=e.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(s||0===s)?s:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new g,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(p||(p=n(59).StringDecoder),this.decoder=new p(e.encoding),this.encoding=e.encoding)}function b(e){if(o=o||n(20),!(this instanceof b))return new b(e);this._readableState=new y(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),f.call(this)}function v(e,t,n,r,i){var o,s=e._readableState;null===t?(s.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,E(e)}(e,s)):(i||(o=function(e,t){var n;r=t,c.isBuffer(r)||r instanceof u||"string"==typeof t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk"));var r;return n}(s,t)),o?e.emit("error",o):s.objectMode||t&&t.length>0?("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===c.prototype||(t=function(e){return c.from(e)}(t)),r?s.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):A(e,s,t,!0):s.ended?e.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!n?(t=s.decoder.write(t),s.objectMode||0!==t.length?A(e,s,t,!1):k(e,s)):A(e,s,t,!1))):r||(s.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(s)}function A(e,t,n,r){t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&E(e)),k(e,t)}Object.defineProperty(b.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),b.prototype.destroy=m.destroy,b.prototype._undestroy=m.undestroy,b.prototype._destroy=function(e,t){this.push(null),t(e)},b.prototype.push=function(e,t){var n,r=this._readableState;return r.objectMode?n=!0:"string"==typeof e&&((t=t||r.defaultEncoding)!==r.encoding&&(e=c.from(e,t),t=""),n=!0),v(this,e,t,!1,n)},b.prototype.unshift=function(e){return v(this,e,null,!0,!1)},b.prototype.isPaused=function(){return!1===this._readableState.flowing},b.prototype.setEncoding=function(e){return p||(p=n(59).StringDecoder),this._readableState.decoder=new p(e),this._readableState.encoding=e,this};function w(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=8388608?e=8388608:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function E(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(h("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?i.nextTick(S,e):S(e))}function S(e){h("emit readable"),e.emit("readable"),O(e)}function k(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(I,e,t))}function I(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(h("maybeReadMore read 0"),e.read(0),n!==t.length);)n=t.length;t.readingMore=!1}function R(e){h("readable nexttick read 0"),e.read(0)}function T(e,t){t.reading||(h("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),O(e),t.flowing&&!t.reading&&e.read(0)}function O(e){var t=e._readableState;for(h("flow",t.flowing);t.flowing&&null!==e.read(););}function C(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var r;e<t.head.data.length?(r=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):r=e===t.head.data.length?t.shift():n?function(e,t){var n=t.head,r=1,i=n.data;e-=i.length;for(;n=n.next;){var o=n.data,s=e>o.length?o.length:e;if(s===o.length?i+=o:i+=o.slice(0,e),0===(e-=s)){s===o.length?(++r,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=o.slice(s));break}++r}return t.length-=r,i}(e,t):function(e,t){var n=c.allocUnsafe(e),r=t.head,i=1;r.data.copy(n),e-=r.data.length;for(;r=r.next;){var o=r.data,s=e>o.length?o.length:e;if(o.copy(n,n.length-e,0,s),0===(e-=s)){s===o.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=o.slice(s));break}++i}return t.length-=i,n}(e,t);return r}(e,t.buffer,t.decoder),n);var n}function x(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,i.nextTick(M,t,e))}function M(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function P(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}b.prototype.read=function(e){h("read",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return h("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?x(this):E(this),null;if(0===(e=w(e,t))&&t.ended)return 0===t.length&&x(this),null;var r,i=t.needReadable;return h("need readable",i),(0===t.length||t.length-e<t.highWaterMark)&&h("length less than watermark",i=!0),t.ended||t.reading?h("reading or ended",i=!1):i&&(h("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=w(n,t))),null===(r=e>0?C(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&x(this)),null!==r&&this.emit("data",r),r},b.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},b.prototype.pipe=function(e,t){var n=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=e;break;case 1:o.pipes=[o.pipes,e];break;default:o.pipes.push(e)}o.pipesCount+=1,h("pipe count=%d opts=%j",o.pipesCount,t);var f=(!t||!1!==t.end)&&e!==r.stdout&&e!==r.stderr?u:b;function c(t,r){h("onunpipe"),t===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,h("cleanup"),e.removeListener("close",_),e.removeListener("finish",y),e.removeListener("drain",l),e.removeListener("error",m),e.removeListener("unpipe",c),n.removeListener("end",u),n.removeListener("end",b),n.removeListener("data",g),d=!0,!o.awaitDrain||e._writableState&&!e._writableState.needDrain||l())}function u(){h("onend"),e.end()}o.endEmitted?i.nextTick(f):n.once("end",f),e.on("unpipe",c);var l=function(e){return function(){var t=e._readableState;h("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,O(e))}}(n);e.on("drain",l);var d=!1;var p=!1;function g(t){h("ondata"),p=!1,!1!==e.write(t)||p||((1===o.pipesCount&&o.pipes===e||o.pipesCount>1&&-1!==P(o.pipes,e))&&!d&&(h("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,p=!0),n.pause())}function m(t){h("onerror",t),b(),e.removeListener("error",m),0===a(e,"error")&&e.emit("error",t)}function _(){e.removeListener("finish",y),b()}function y(){h("onfinish"),e.removeListener("close",_),b()}function b(){h("unpipe"),n.unpipe(e)}return n.on("data",g),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?s(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",m),e.once("close",_),e.once("finish",y),e.emit("pipe",n),o.flowing||(h("pipe resume"),n.resume()),e},b.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o<i;o++)r[o].emit("unpipe",this,n);return this}var s=P(t.pipes,e);return-1===s?this:(t.pipes.splice(s,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,n),this)},b.prototype.on=function(e,t){var n=f.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var r=this._readableState;r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.emittedReadable=!1,r.reading?r.length&&E(this):i.nextTick(R,this))}return n},b.prototype.addListener=b.prototype.on,b.prototype.resume=function(){var e=this._readableState;return e.flowing||(h("resume"),e.flowing=!0,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,i.nextTick(T,e,t))}(this,e)),this},b.prototype.pause=function(){return h("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(h("pause"),this._readableState.flowing=!1,this.emit("pause")),this},b.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var i in e.on("end",(function(){if(h("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(i){(h("wrapped data"),n.decoder&&(i=n.decoder.write(i)),n.objectMode&&null==i)||(n.objectMode||i&&i.length)&&(t.push(i)||(r=!0,e.pause()))})),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var o=0;o<_.length;o++)e.on(_[o],this.emit.bind(this,_[o]));return this._read=function(t){h("wrapped _read",t),r&&(r=!1,e.resume())},this},Object.defineProperty(b.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),b._fromList=C}).call(this,n(6),n(13))},function(e,t,n){e.exports=n(10).EventEmitter},function(e,t,n){"use strict";var r=n(40);function i(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var n=this,o=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return o||s?(t?t(e):!e||this._writableState&&this._writableState.errorEmitted||r.nextTick(i,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!t&&e?(r.nextTick(i,n,e),n._writableState&&(n._writableState.errorEmitted=!0)):t&&t(e)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},function(e,t,n){"use strict";e.exports=s;var r=n(20),i=Object.create(n(27));function o(e,t){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(!r)return this.emit("error",new Error("write callback called multiple times"));n.writechunk=null,n.writecb=null,null!=t&&this.push(t),r(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function s(e){if(!(this instanceof s))return new s(e);r.call(this,e),this._transformState={afterTransform:o.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",a)}function a(){var e=this;"function"==typeof this._flush?this._flush((function(t,n){f(e,t,n)})):f(this,null,null)}function f(e,t,n){if(t)return e.emit("error",t);if(null!=n&&e.push(n),e._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(e._transformState.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}i.inherits=n(2),i.inherits(s,r),s.prototype.push=function(e,t){return this._transformState.needTransform=!1,r.prototype.push.call(this,e,t)},s.prototype._transform=function(e,t,n){throw new Error("_transform() is not implemented")},s.prototype._write=function(e,t,n){var r=this._transformState;if(r.writecb=n,r.writechunk=e,r.writeencoding=t,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},s.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},s.prototype._destroy=function(e,t){var n=this;r.prototype._destroy.call(this,e,(function(e){t(e),n.emit("close")}))}},function(e,t){e.exports=function(){var e,t=Array.prototype.slice.call(arguments),n=null;"object"==typeof t[0]?(n=t.shift(),"string"==typeof(e=t.shift())&&(e=n[e])):e=t.shift();return function(r){e.apply(n,t.concat(r))}}},function(e,t,n){"use strict";var r=n(3).Buffer,i=n(39).Transform;function o(e){i.call(this),this._block=r.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}n(2)(o,i),o.prototype._transform=function(e,t,n){var r=null;try{this.update(e,t)}catch(e){r=e}n(r)},o.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(e){t=e}e(t)},o.prototype.update=function(e,t){if(function(e,t){if(!r.isBuffer(e)&&"string"!=typeof e)throw new TypeError(t+" must be a string or a buffer")}(e,"Data"),this._finalized)throw new Error("Digest already called");r.isBuffer(e)||(e=r.from(e,t));for(var n=this._block,i=0;this._blockOffset+e.length-i>=this._blockSize;){for(var o=this._blockOffset;o<this._blockSize;)n[o++]=e[i++];this._update(),this._blockOffset=0}for(;i<e.length;)n[this._blockOffset++]=e[i++];for(var s=0,a=8*e.length;a>0;++s)this._length[s]+=a,(a=this._length[s]/4294967296|0)>0&&(this._length[s]-=4294967296*a);return this},o.prototype._update=function(){throw new Error("_update is not implemented")},o.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();void 0!==e&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var n=0;n<4;++n)this._length[n]=0;return t},o.prototype._digest=function(){throw new Error("_digest is not implemented")},e.exports=o},function(e,t,n){var r=n(2),i=n(23),o=n(3).Buffer,s=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],a=new Array(64);function f(){this.init(),this._w=a,i.call(this,64,56)}function c(e,t,n){return n^e&(t^n)}function u(e,t,n){return e&t|n&(e|t)}function l(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function d(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function h(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}r(f,i),f.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},f.prototype._update=function(e){for(var t,n=this._w,r=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,f=0|this._e,p=0|this._f,g=0|this._g,m=0|this._h,_=0;_<16;++_)n[_]=e.readInt32BE(4*_);for(;_<64;++_)n[_]=0|(((t=n[_-2])>>>17|t<<15)^(t>>>19|t<<13)^t>>>10)+n[_-7]+h(n[_-15])+n[_-16];for(var y=0;y<64;++y){var b=m+d(f)+c(f,p,g)+s[y]+n[y]|0,v=l(r)+u(r,i,o)|0;m=g,g=p,p=f,f=a+b|0,a=o,o=i,i=r,r=b+v|0}this._a=r+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=f+this._e|0,this._f=p+this._f|0,this._g=g+this._g|0,this._h=m+this._h|0},f.prototype._hash=function(){var e=o.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=f},function(e,t,n){var r=n(2),i=n(23),o=n(3).Buffer,s=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],a=new Array(160);function f(){this.init(),this._w=a,i.call(this,128,112)}function c(e,t,n){return n^e&(t^n)}function u(e,t,n){return e&t|n&(e|t)}function l(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function d(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function h(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function p(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function g(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function m(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function _(e,t){return e>>>0<t>>>0?1:0}r(f,i),f.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},f.prototype._update=function(e){for(var t=this._w,n=0|this._ah,r=0|this._bh,i=0|this._ch,o=0|this._dh,a=0|this._eh,f=0|this._fh,y=0|this._gh,b=0|this._hh,v=0|this._al,A=0|this._bl,w=0|this._cl,E=0|this._dl,S=0|this._el,k=0|this._fl,I=0|this._gl,R=0|this._hl,T=0;T<32;T+=2)t[T]=e.readInt32BE(4*T),t[T+1]=e.readInt32BE(4*T+4);for(;T<160;T+=2){var O=t[T-30],C=t[T-30+1],x=h(O,C),M=p(C,O),P=g(O=t[T-4],C=t[T-4+1]),D=m(C,O),B=t[T-14],N=t[T-14+1],j=t[T-32],U=t[T-32+1],L=M+N|0,q=x+B+_(L,M)|0;q=(q=q+P+_(L=L+D|0,D)|0)+j+_(L=L+U|0,U)|0,t[T]=q,t[T+1]=L}for(var F=0;F<160;F+=2){q=t[F],L=t[F+1];var K=u(n,r,i),G=u(v,A,w),z=l(n,v),H=l(v,n),V=d(a,S),Q=d(S,a),W=s[F],Y=s[F+1],X=c(a,f,y),J=c(S,k,I),Z=R+Q|0,$=b+V+_(Z,R)|0;$=($=($=$+X+_(Z=Z+J|0,J)|0)+W+_(Z=Z+Y|0,Y)|0)+q+_(Z=Z+L|0,L)|0;var ee=H+G|0,te=z+K+_(ee,H)|0;b=y,R=I,y=f,I=k,f=a,k=S,a=o+$+_(S=E+Z|0,E)|0,o=i,E=w,i=r,w=A,r=n,A=v,n=$+te+_(v=Z+ee|0,Z)|0}this._al=this._al+v|0,this._bl=this._bl+A|0,this._cl=this._cl+w|0,this._dl=this._dl+E|0,this._el=this._el+S|0,this._fl=this._fl+k|0,this._gl=this._gl+I|0,this._hl=this._hl+R|0,this._ah=this._ah+n+_(this._al,v)|0,this._bh=this._bh+r+_(this._bl,A)|0,this._ch=this._ch+i+_(this._cl,w)|0,this._dh=this._dh+o+_(this._dl,E)|0,this._eh=this._eh+a+_(this._el,S)|0,this._fh=this._fh+f+_(this._fl,k)|0,this._gh=this._gh+y+_(this._gl,I)|0,this._hh=this._hh+b+_(this._hl,R)|0},f.prototype._hash=function(){var e=o.allocUnsafe(64);function t(t,n,r){e.writeInt32BE(t,r),e.writeInt32BE(n,r+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e},e.exports=f},function(e,t,n){"use strict";var r=n(2),i=n(199),o=n(18),s=n(3).Buffer,a=n(97),f=n(61),c=n(62),u=s.alloc(128);function l(e,t){o.call(this,"digest"),"string"==typeof t&&(t=s.from(t));var n="sha512"===e||"sha384"===e?128:64;(this._alg=e,this._key=t,t.length>n)?t=("rmd160"===e?new f:c(e)).update(t).digest():t.length<n&&(t=s.concat([t,u],n));for(var r=this._ipad=s.allocUnsafe(n),i=this._opad=s.allocUnsafe(n),a=0;a<n;a++)r[a]=54^t[a],i[a]=92^t[a];this._hash="rmd160"===e?new f:c(e),this._hash.update(r)}r(l,o),l.prototype._update=function(e){this._hash.update(e)},l.prototype._final=function(){var e=this._hash.digest();return("rmd160"===this._alg?new f:c(this._alg)).update(this._opad).update(e).digest()},e.exports=function(e,t){return"rmd160"===(e=e.toLowerCase())||"ripemd160"===e?new l("rmd160",t):"md5"===e?new i(a,t):new l(e,t)}},function(e,t,n){var r=n(60);e.exports=function(e){return(new r).update(e).digest()}},function(e){e.exports=JSON.parse('{"sha224WithRSAEncryption":{"sign":"rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"RSA-SHA224":{"sign":"ecdsa/rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"sha256WithRSAEncryption":{"sign":"rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"RSA-SHA256":{"sign":"ecdsa/rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"sha384WithRSAEncryption":{"sign":"rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"RSA-SHA384":{"sign":"ecdsa/rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"sha512WithRSAEncryption":{"sign":"rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA512":{"sign":"ecdsa/rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA1":{"sign":"rsa","hash":"sha1","id":"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{"sign":"ecdsa","hash":"sha1","id":""},"sha256":{"sign":"ecdsa","hash":"sha256","id":""},"sha224":{"sign":"ecdsa","hash":"sha224","id":""},"sha384":{"sign":"ecdsa","hash":"sha384","id":""},"sha512":{"sign":"ecdsa","hash":"sha512","id":""},"DSA-SHA":{"sign":"dsa","hash":"sha1","id":""},"DSA-SHA1":{"sign":"dsa","hash":"sha1","id":""},"DSA":{"sign":"dsa","hash":"sha1","id":""},"DSA-WITH-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-WITH-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-WITH-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-WITH-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-RIPEMD160":{"sign":"dsa","hash":"rmd160","id":""},"ripemd160WithRSA":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"RSA-RIPEMD160":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"md5WithRSAEncryption":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"},"RSA-MD5":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"}}')},function(e,t,n){t.pbkdf2=n(201),t.pbkdf2Sync=n(102)},function(e,t,n){(function(t){var n=Math.pow(2,30)-1;function r(e,n){if("string"!=typeof e&&!t.isBuffer(e))throw new TypeError(n+" must be a buffer or string")}e.exports=function(e,t,i,o){if(r(e,"Password"),r(t,"Salt"),"number"!=typeof i)throw new TypeError("Iterations not a number");if(i<0)throw new TypeError("Bad iterations");if("number"!=typeof o)throw new TypeError("Key length not a number");if(o<0||o>n||o!=o)throw new TypeError("Bad key length")}}).call(this,n(11).Buffer)},function(e,t,n){(function(t){var n;t.browser?n="utf-8":n=parseInt(t.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary";e.exports=n}).call(this,n(13))},function(e,t,n){var r=n(97),i=n(61),o=n(62),s=n(100),a=n(101),f=n(3).Buffer,c=f.alloc(128),u={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function l(e,t,n){var s=function(e){function t(t){return o(e).update(t).digest()}return"rmd160"===e||"ripemd160"===e?function(e){return(new i).update(e).digest()}:"md5"===e?r:t}(e),a="sha512"===e||"sha384"===e?128:64;t.length>a?t=s(t):t.length<a&&(t=f.concat([t,c],a));for(var l=f.allocUnsafe(a+u[e]),d=f.allocUnsafe(a+u[e]),h=0;h<a;h++)l[h]=54^t[h],d[h]=92^t[h];var p=f.allocUnsafe(a+n+4);l.copy(p,0,0,a),this.ipad1=p,this.ipad2=l,this.opad=d,this.alg=e,this.blocksize=a,this.hash=s,this.size=u[e]}l.prototype.run=function(e,t){return e.copy(t,this.blocksize),this.hash(t).copy(this.opad,this.blocksize),this.hash(this.opad)},e.exports=function(e,t,n,r,i){s(e,t,n,r),f.isBuffer(e)||(e=f.from(e,a)),f.isBuffer(t)||(t=f.from(t,a));var o=new l(i=i||"sha1",e,t.length),c=f.allocUnsafe(r),d=f.allocUnsafe(t.length+4);t.copy(d,0,0,t.length);for(var h=0,p=u[i],g=Math.ceil(r/p),m=1;m<=g;m++){d.writeUInt32BE(m,t.length);for(var _=o.run(d,o.ipad1),y=_,b=1;b<n;b++){y=o.run(y,o.ipad2);for(var v=0;v<p;v++)_[v]^=y[v]}_.copy(c,h),h+=p}return c}},function(e,t,n){"use strict";t.readUInt32BE=function(e,t){return(e[0+t]<<24|e[1+t]<<16|e[2+t]<<8|e[3+t])>>>0},t.writeUInt32BE=function(e,t,n){e[0+n]=t>>>24,e[1+n]=t>>>16&255,e[2+n]=t>>>8&255,e[3+n]=255&t},t.ip=function(e,t,n,r){for(var i=0,o=0,s=6;s>=0;s-=2){for(var a=0;a<=24;a+=8)i<<=1,i|=t>>>a+s&1;for(a=0;a<=24;a+=8)i<<=1,i|=e>>>a+s&1}for(s=6;s>=0;s-=2){for(a=1;a<=25;a+=8)o<<=1,o|=t>>>a+s&1;for(a=1;a<=25;a+=8)o<<=1,o|=e>>>a+s&1}n[r+0]=i>>>0,n[r+1]=o>>>0},t.rip=function(e,t,n,r){for(var i=0,o=0,s=0;s<4;s++)for(var a=24;a>=0;a-=8)i<<=1,i|=t>>>a+s&1,i<<=1,i|=e>>>a+s&1;for(s=4;s<8;s++)for(a=24;a>=0;a-=8)o<<=1,o|=t>>>a+s&1,o<<=1,o|=e>>>a+s&1;n[r+0]=i>>>0,n[r+1]=o>>>0},t.pc1=function(e,t,n,r){for(var i=0,o=0,s=7;s>=5;s--){for(var a=0;a<=24;a+=8)i<<=1,i|=t>>a+s&1;for(a=0;a<=24;a+=8)i<<=1,i|=e>>a+s&1}for(a=0;a<=24;a+=8)i<<=1,i|=t>>a+s&1;for(s=1;s<=3;s++){for(a=0;a<=24;a+=8)o<<=1,o|=t>>a+s&1;for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1}for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1;n[r+0]=i>>>0,n[r+1]=o>>>0},t.r28shl=function(e,t){return e<<t&268435455|e>>>28-t};var r=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];t.pc2=function(e,t,n,i){for(var o=0,s=0,a=r.length>>>1,f=0;f<a;f++)o<<=1,o|=e>>>r[f]&1;for(f=a;f<r.length;f++)s<<=1,s|=t>>>r[f]&1;n[i+0]=o>>>0,n[i+1]=s>>>0},t.expand=function(e,t,n){var r=0,i=0;r=(1&e)<<5|e>>>27;for(var o=23;o>=15;o-=4)r<<=6,r|=e>>>o&63;for(o=11;o>=3;o-=4)i|=e>>>o&63,i<<=6;i|=(31&e)<<1|e>>>31,t[n+0]=r>>>0,t[n+1]=i>>>0};var i=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];t.substitute=function(e,t){for(var n=0,r=0;r<4;r++){n<<=4,n|=i[64*r+(e>>>18-6*r&63)]}for(r=0;r<4;r++){n<<=4,n|=i[256+64*r+(t>>>18-6*r&63)]}return n>>>0};var o=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];t.permute=function(e){for(var t=0,n=0;n<o.length;n++)t<<=1,t|=e>>>o[n]&1;return t>>>0},t.padSplit=function(e,t,n){for(var r=e.toString(2);r.length<t;)r="0"+r;for(var i=[],o=0;o<t;o+=n)i.push(r.slice(o,o+n));return i.join(" ")}},function(e,t,n){"use strict";var r=n(14),i=n(2),o=n(103),s=n(63);function a(){this.tmp=new Array(2),this.keys=null}function f(e){s.call(this,e);var t=new a;this._desState=t,this.deriveKeys(t,e.key)}i(f,s),e.exports=f,f.create=function(e){return new f(e)};var c=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];f.prototype.deriveKeys=function(e,t){e.keys=new Array(32),r.equal(t.length,this.blockSize,"Invalid key length");var n=o.readUInt32BE(t,0),i=o.readUInt32BE(t,4);o.pc1(n,i,e.tmp,0),n=e.tmp[0],i=e.tmp[1];for(var s=0;s<e.keys.length;s+=2){var a=c[s>>>1];n=o.r28shl(n,a),i=o.r28shl(i,a),o.pc2(n,i,e.keys,s)}},f.prototype._update=function(e,t,n,r){var i=this._desState,s=o.readUInt32BE(e,t),a=o.readUInt32BE(e,t+4);o.ip(s,a,i.tmp,0),s=i.tmp[0],a=i.tmp[1],"encrypt"===this.type?this._encrypt(i,s,a,i.tmp,0):this._decrypt(i,s,a,i.tmp,0),s=i.tmp[0],a=i.tmp[1],o.writeUInt32BE(n,s,r),o.writeUInt32BE(n,a,r+4)},f.prototype._pad=function(e,t){for(var n=e.length-t,r=t;r<e.length;r++)e[r]=n;return!0},f.prototype._unpad=function(e){for(var t=e[e.length-1],n=e.length-t;n<e.length;n++)r.equal(e[n],t);return e.slice(0,e.length-t)},f.prototype._encrypt=function(e,t,n,r,i){for(var s=t,a=n,f=0;f<e.keys.length;f+=2){var c=e.keys[f],u=e.keys[f+1];o.expand(a,e.tmp,0),c^=e.tmp[0],u^=e.tmp[1];var l=o.substitute(c,u),d=a;a=(s^o.permute(l))>>>0,s=d}o.rip(a,s,r,i)},f.prototype._decrypt=function(e,t,n,r,i){for(var s=n,a=t,f=e.keys.length-2;f>=0;f-=2){var c=e.keys[f],u=e.keys[f+1];o.expand(s,e.tmp,0),c^=e.tmp[0],u^=e.tmp[1];var l=o.substitute(c,u),d=s;s=(a^o.permute(l))>>>0,a=d}o.rip(s,a,r,i)}},function(e,t,n){var r=n(29),i=n(3).Buffer,o=n(106);function s(e){var t=e._cipher.encryptBlockRaw(e._prev);return o(e._prev),t}t.encrypt=function(e,t){var n=Math.ceil(t.length/16),o=e._cache.length;e._cache=i.concat([e._cache,i.allocUnsafe(16*n)]);for(var a=0;a<n;a++){var f=s(e),c=o+16*a;e._cache.writeUInt32BE(f[0],c+0),e._cache.writeUInt32BE(f[1],c+4),e._cache.writeUInt32BE(f[2],c+8),e._cache.writeUInt32BE(f[3],c+12)}var u=e._cache.slice(0,t.length);return e._cache=e._cache.slice(t.length),r(t,u)}},function(e,t){e.exports=function(e){for(var t,n=e.length;n--;){if(255!==(t=e.readUInt8(n))){t++,e.writeUInt8(t,n);break}e.writeUInt8(0,n)}}},function(e){e.exports=JSON.parse('{"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","type":"block"},"aes-192-ecb":{"cipher":"AES","key":192,"iv":0,"mode":"ECB","type":"block"},"aes-256-ecb":{"cipher":"AES","key":256,"iv":0,"mode":"ECB","type":"block"},"aes-128-cbc":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes-192-cbc":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes-256-cbc":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes128":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes192":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes256":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes-128-cfb":{"cipher":"AES","key":128,"iv":16,"mode":"CFB","type":"stream"},"aes-192-cfb":{"cipher":"AES","key":192,"iv":16,"mode":"CFB","type":"stream"},"aes-256-cfb":{"cipher":"AES","key":256,"iv":16,"mode":"CFB","type":"stream"},"aes-128-cfb8":{"cipher":"AES","key":128,"iv":16,"mode":"CFB8","type":"stream"},"aes-192-cfb8":{"cipher":"AES","key":192,"iv":16,"mode":"CFB8","type":"stream"},"aes-256-cfb8":{"cipher":"AES","key":256,"iv":16,"mode":"CFB8","type":"stream"},"aes-128-cfb1":{"cipher":"AES","key":128,"iv":16,"mode":"CFB1","type":"stream"},"aes-192-cfb1":{"cipher":"AES","key":192,"iv":16,"mode":"CFB1","type":"stream"},"aes-256-cfb1":{"cipher":"AES","key":256,"iv":16,"mode":"CFB1","type":"stream"},"aes-128-ofb":{"cipher":"AES","key":128,"iv":16,"mode":"OFB","type":"stream"},"aes-192-ofb":{"cipher":"AES","key":192,"iv":16,"mode":"OFB","type":"stream"},"aes-256-ofb":{"cipher":"AES","key":256,"iv":16,"mode":"OFB","type":"stream"},"aes-128-ctr":{"cipher":"AES","key":128,"iv":16,"mode":"CTR","type":"stream"},"aes-192-ctr":{"cipher":"AES","key":192,"iv":16,"mode":"CTR","type":"stream"},"aes-256-ctr":{"cipher":"AES","key":256,"iv":16,"mode":"CTR","type":"stream"},"aes-128-gcm":{"cipher":"AES","key":128,"iv":12,"mode":"GCM","type":"auth"},"aes-192-gcm":{"cipher":"AES","key":192,"iv":12,"mode":"GCM","type":"auth"},"aes-256-gcm":{"cipher":"AES","key":256,"iv":12,"mode":"GCM","type":"auth"}}')},function(e,t,n){var r=n(41),i=n(3).Buffer,o=n(18),s=n(2),a=n(214),f=n(29),c=n(106);function u(e,t,n,s){o.call(this);var f=i.alloc(4,0);this._cipher=new r.AES(t);var u=this._cipher.encryptBlock(f);this._ghash=new a(u),n=function(e,t,n){if(12===t.length)return e._finID=i.concat([t,i.from([0,0,0,1])]),i.concat([t,i.from([0,0,0,2])]);var r=new a(n),o=t.length,s=o%16;r.update(t),s&&(s=16-s,r.update(i.alloc(s,0))),r.update(i.alloc(8,0));var f=8*o,u=i.alloc(8);u.writeUIntBE(f,0,8),r.update(u),e._finID=r.state;var l=i.from(e._finID);return c(l),l}(this,n,u),this._prev=i.from(n),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=s,this._alen=0,this._len=0,this._mode=e,this._authTag=null,this._called=!1}s(u,o),u.prototype._update=function(e){if(!this._called&&this._alen){var t=16-this._alen%16;t<16&&(t=i.alloc(t,0),this._ghash.update(t))}this._called=!0;var n=this._mode.encrypt(this,e);return this._decrypt?this._ghash.update(e):this._ghash.update(n),this._len+=e.length,n},u.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var e=f(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(e,t){var n=0;e.length!==t.length&&n++;for(var r=Math.min(e.length,t.length),i=0;i<r;++i)n+=e[i]^t[i];return n}(e,this._authTag))throw new Error("Unsupported state or unable to authenticate data");this._authTag=e,this._cipher.scrub()},u.prototype.getAuthTag=function(){if(this._decrypt||!i.isBuffer(this._authTag))throw new Error("Attempting to get auth tag in unsupported state");return this._authTag},u.prototype.setAuthTag=function(e){if(!this._decrypt)throw new Error("Attempting to set auth tag in unsupported state");this._authTag=e},u.prototype.setAAD=function(e){if(this._called)throw new Error("Attempting to set AAD in unsupported state");this._ghash.update(e),this._alen+=e.length},e.exports=u},function(e,t,n){var r=n(41),i=n(3).Buffer,o=n(18);function s(e,t,n,s){o.call(this),this._cipher=new r.AES(t),this._prev=i.from(n),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=s,this._mode=e}n(2)(s,o),s.prototype._update=function(e){return this._mode.encrypt(this,e,this._decrypt)},s.prototype._final=function(){this._cipher.scrub()},e.exports=s},function(e,t,n){var r=n(22);e.exports=y,y.simpleSieve=m,y.fermatTest=_;var i=n(12),o=new i(24),s=new(n(112)),a=new i(1),f=new i(2),c=new i(5),u=(new i(16),new i(8),new i(10)),l=new i(3),d=(new i(7),new i(11)),h=new i(4),p=(new i(12),null);function g(){if(null!==p)return p;var e=[];e[0]=2;for(var t=1,n=3;n<1048576;n+=2){for(var r=Math.ceil(Math.sqrt(n)),i=0;i<t&&e[i]<=r&&n%e[i]!=0;i++);t!==i&&e[i]<=r||(e[t++]=n)}return p=e,e}function m(e){for(var t=g(),n=0;n<t.length;n++)if(0===e.modn(t[n]))return 0===e.cmpn(t[n]);return!0}function _(e){var t=i.mont(e);return 0===f.toRed(t).redPow(e.subn(1)).fromRed().cmpn(1)}function y(e,t){if(e<16)return new i(2===t||5===t?[140,123]:[140,39]);var n,p;for(t=new i(t);;){for(n=new i(r(Math.ceil(e/8)));n.bitLength()>e;)n.ishrn(1);if(n.isEven()&&n.iadd(a),n.testn(1)||n.iadd(f),t.cmp(f)){if(!t.cmp(c))for(;n.mod(u).cmp(l);)n.iadd(h)}else for(;n.mod(o).cmp(d);)n.iadd(h);if(m(p=n.shrn(1))&&m(n)&&_(p)&&_(n)&&s.test(p)&&s.test(n))return n}}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){var r=n(12),i=n(66);function o(e){this.rand=e||new i.Rand}e.exports=o,o.create=function(e){return new o(e)},o.prototype._randbelow=function(e){var t=e.bitLength(),n=Math.ceil(t/8);do{var i=new r(this.rand.generate(n))}while(i.cmp(e)>=0);return i},o.prototype._randrange=function(e,t){var n=t.sub(e);return e.add(this._randbelow(n))},o.prototype.test=function(e,t,n){var i=e.bitLength(),o=r.mont(e),s=new r(1).toRed(o);t||(t=Math.max(1,i/48|0));for(var a=e.subn(1),f=0;!a.testn(f);f++);for(var c=e.shrn(f),u=a.toRed(o);t>0;t--){var l=this._randrange(new r(2),a);n&&n(l);var d=l.toRed(o).redPow(c);if(0!==d.cmp(s)&&0!==d.cmp(u)){for(var h=1;h<f;h++){if(0===(d=d.redSqr()).cmp(s))return!1;if(0===d.cmp(u))break}if(h===f)return!1}}return!0},o.prototype.getDivisor=function(e,t){var n=e.bitLength(),i=r.mont(e),o=new r(1).toRed(i);t||(t=Math.max(1,n/48|0));for(var s=e.subn(1),a=0;!s.testn(a);a++);for(var f=e.shrn(a),c=s.toRed(i);t>0;t--){var u=this._randrange(new r(2),s),l=e.gcd(u);if(0!==l.cmpn(1))return l;var d=u.toRed(i).redPow(f);if(0!==d.cmp(o)&&0!==d.cmp(c)){for(var h=1;h<a;h++){if(0===(d=d.redSqr()).cmp(o))return d.fromRed().subn(1).gcd(e);if(0===d.cmp(c))break}if(h===a)return(d=d.redSqr()).fromRed().subn(1).gcd(e)}}return!1}},function(e,t,n){"use strict";var r=t;function i(e){return 1===e.length?"0"+e:e}function o(e){for(var t="",n=0;n<e.length;n++)t+=i(e[n].toString(16));return t}r.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var n=[];if("string"!=typeof e){for(var r=0;r<e.length;r++)n[r]=0|e[r];return n}if("hex"===t){(e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e);for(r=0;r<e.length;r+=2)n.push(parseInt(e[r]+e[r+1],16))}else for(r=0;r<e.length;r++){var i=e.charCodeAt(r),o=i>>8,s=255&i;o?n.push(o,s):n.push(s)}return n},r.zero2=i,r.toHex=o,r.encode=function(e,t){return"hex"===t?o(e):e}},function(e,t,n){"use strict";var r=t;r.base=n(43),r.short=n(225),r.mont=n(226),r.edwards=n(227)},function(e,t,n){"use strict";var r=n(17).rotr32;function i(e,t,n){return e&t^~e&n}function o(e,t,n){return e&t^e&n^t&n}function s(e,t,n){return e^t^n}t.ft_1=function(e,t,n,r){return 0===e?i(t,n,r):1===e||3===e?s(t,n,r):2===e?o(t,n,r):void 0},t.ch32=i,t.maj32=o,t.p32=s,t.s0_256=function(e){return r(e,2)^r(e,13)^r(e,22)},t.s1_256=function(e){return r(e,6)^r(e,11)^r(e,25)},t.g0_256=function(e){return r(e,7)^r(e,18)^e>>>3},t.g1_256=function(e){return r(e,17)^r(e,19)^e>>>10}},function(e,t,n){"use strict";var r=n(17),i=n(30),o=n(115),s=n(14),a=r.sum32,f=r.sum32_4,c=r.sum32_5,u=o.ch32,l=o.maj32,d=o.s0_256,h=o.s1_256,p=o.g0_256,g=o.g1_256,m=i.BlockHash,_=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function y(){if(!(this instanceof y))return new y;m.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=_,this.W=new Array(64)}r.inherits(y,m),e.exports=y,y.blockSize=512,y.outSize=256,y.hmacStrength=192,y.padLength=64,y.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r<n.length;r++)n[r]=f(g(n[r-2]),n[r-7],p(n[r-15]),n[r-16]);var i=this.h[0],o=this.h[1],m=this.h[2],_=this.h[3],y=this.h[4],b=this.h[5],v=this.h[6],A=this.h[7];for(s(this.k.length===n.length),r=0;r<n.length;r++){var w=c(A,h(y),u(y,b,v),this.k[r],n[r]),E=a(d(i),l(i,o,m));A=v,v=b,b=y,y=a(_,w),_=m,m=o,o=i,i=a(w,E)}this.h[0]=a(this.h[0],i),this.h[1]=a(this.h[1],o),this.h[2]=a(this.h[2],m),this.h[3]=a(this.h[3],_),this.h[4]=a(this.h[4],y),this.h[5]=a(this.h[5],b),this.h[6]=a(this.h[6],v),this.h[7]=a(this.h[7],A)},y.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},function(e,t,n){"use strict";var r=n(17),i=n(30),o=n(14),s=r.rotr64_hi,a=r.rotr64_lo,f=r.shr64_hi,c=r.shr64_lo,u=r.sum64,l=r.sum64_hi,d=r.sum64_lo,h=r.sum64_4_hi,p=r.sum64_4_lo,g=r.sum64_5_hi,m=r.sum64_5_lo,_=i.BlockHash,y=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function b(){if(!(this instanceof b))return new b;_.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=y,this.W=new Array(160)}function v(e,t,n,r,i){var o=e&n^~e&i;return o<0&&(o+=4294967296),o}function A(e,t,n,r,i,o){var s=t&r^~t&o;return s<0&&(s+=4294967296),s}function w(e,t,n,r,i){var o=e&n^e&i^n&i;return o<0&&(o+=4294967296),o}function E(e,t,n,r,i,o){var s=t&r^t&o^r&o;return s<0&&(s+=4294967296),s}function S(e,t){var n=s(e,t,28)^s(t,e,2)^s(t,e,7);return n<0&&(n+=4294967296),n}function k(e,t){var n=a(e,t,28)^a(t,e,2)^a(t,e,7);return n<0&&(n+=4294967296),n}function I(e,t){var n=s(e,t,14)^s(e,t,18)^s(t,e,9);return n<0&&(n+=4294967296),n}function R(e,t){var n=a(e,t,14)^a(e,t,18)^a(t,e,9);return n<0&&(n+=4294967296),n}function T(e,t){var n=s(e,t,1)^s(e,t,8)^f(e,t,7);return n<0&&(n+=4294967296),n}function O(e,t){var n=a(e,t,1)^a(e,t,8)^c(e,t,7);return n<0&&(n+=4294967296),n}function C(e,t){var n=s(e,t,19)^s(t,e,29)^f(e,t,6);return n<0&&(n+=4294967296),n}function x(e,t){var n=a(e,t,19)^a(t,e,29)^c(e,t,6);return n<0&&(n+=4294967296),n}r.inherits(b,_),e.exports=b,b.blockSize=1024,b.outSize=512,b.hmacStrength=192,b.padLength=128,b.prototype._prepareBlock=function(e,t){for(var n=this.W,r=0;r<32;r++)n[r]=e[t+r];for(;r<n.length;r+=2){var i=C(n[r-4],n[r-3]),o=x(n[r-4],n[r-3]),s=n[r-14],a=n[r-13],f=T(n[r-30],n[r-29]),c=O(n[r-30],n[r-29]),u=n[r-32],l=n[r-31];n[r]=h(i,o,s,a,f,c,u,l),n[r+1]=p(i,o,s,a,f,c,u,l)}},b.prototype._update=function(e,t){this._prepareBlock(e,t);var n=this.W,r=this.h[0],i=this.h[1],s=this.h[2],a=this.h[3],f=this.h[4],c=this.h[5],h=this.h[6],p=this.h[7],_=this.h[8],y=this.h[9],b=this.h[10],T=this.h[11],O=this.h[12],C=this.h[13],x=this.h[14],M=this.h[15];o(this.k.length===n.length);for(var P=0;P<n.length;P+=2){var D=x,B=M,N=I(_,y),j=R(_,y),U=v(_,y,b,T,O),L=A(_,y,b,T,O,C),q=this.k[P],F=this.k[P+1],K=n[P],G=n[P+1],z=g(D,B,N,j,U,L,q,F,K,G),H=m(D,B,N,j,U,L,q,F,K,G);D=S(r,i),B=k(r,i),N=w(r,i,s,a,f),j=E(r,i,s,a,f,c);var V=l(D,B,N,j),Q=d(D,B,N,j);x=O,M=C,O=b,C=T,b=_,T=y,_=l(h,p,z,H),y=d(p,p,z,H),h=f,p=c,f=s,c=a,s=r,a=i,r=l(z,H,V,Q),i=d(z,H,V,Q)}u(this.h,0,r,i),u(this.h,2,s,a),u(this.h,4,f,c),u(this.h,6,h,p),u(this.h,8,_,y),u(this.h,10,b,T),u(this.h,12,O,C),u(this.h,14,x,M)},b.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},function(e,t,n){var r=n(2),i=n(32).Reporter,o=n(11).Buffer;function s(e,t){i.call(this,t),o.isBuffer(e)?(this.base=e,this.offset=0,this.length=e.length):this.error("Input not Buffer")}function a(e,t){if(Array.isArray(e))this.length=0,this.value=e.map((function(e){return e instanceof a||(e=new a(e,t)),this.length+=e.length,e}),this);else if("number"==typeof e){if(!(0<=e&&e<=255))return t.error("non-byte EncoderBuffer value");this.value=e,this.length=1}else if("string"==typeof e)this.value=e,this.length=o.byteLength(e);else{if(!o.isBuffer(e))return t.error("Unsupported type: "+typeof e);this.value=e,this.length=e.length}}r(s,i),t.DecoderBuffer=s,s.prototype.save=function(){return{offset:this.offset,reporter:i.prototype.save.call(this)}},s.prototype.restore=function(e){var t=new s(this.base);return t.offset=e.offset,t.length=this.offset,this.offset=e.offset,i.prototype.restore.call(this,e.reporter),t},s.prototype.isEmpty=function(){return this.offset===this.length},s.prototype.readUInt8=function(e){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(e||"DecoderBuffer overrun")},s.prototype.skip=function(e,t){if(!(this.offset+e<=this.length))return this.error(t||"DecoderBuffer overrun");var n=new s(this.base);return n._reporterState=this._reporterState,n.offset=this.offset,n.length=this.offset+e,this.offset+=e,n},s.prototype.raw=function(e){return this.base.slice(e?e.offset:this.offset,this.length)},t.EncoderBuffer=a,a.prototype.join=function(e,t){return e||(e=new o(this.length)),t||(t=0),0===this.length?e:(Array.isArray(this.value)?this.value.forEach((function(n){n.join(e,t),t+=n.length})):("number"==typeof this.value?e[t]=this.value:"string"==typeof this.value?e.write(this.value,t):o.isBuffer(this.value)&&this.value.copy(e,t),t+=this.length),e)}},function(e,t,n){var r=t;r._reverse=function(e){var t={};return Object.keys(e).forEach((function(n){(0|n)==n&&(n|=0);var r=e[n];t[r]=n})),t},r.der=n(247)},function(e,t,n){var r=n(2),i=n(31),o=i.base,s=i.bignum,a=i.constants.der;function f(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new c,this.tree._init(e.body)}function c(e){o.Node.call(this,"der",e)}function u(e,t){var n=e.readUInt8(t);if(e.isError(n))return n;var r=a.tagClass[n>>6],i=0==(32&n);if(31==(31&n)){var o=n;for(n=0;128==(128&o);){if(o=e.readUInt8(t),e.isError(o))return o;n<<=7,n|=127&o}}else n&=31;return{cls:r,primitive:i,tag:n,tagStr:a.tag[n]}}function l(e,t,n){var r=e.readUInt8(n);if(e.isError(r))return r;if(!t&&128===r)return null;if(0==(128&r))return r;var i=127&r;if(i>4)return e.error("length octect is too long");r=0;for(var o=0;o<i;o++){r<<=8;var s=e.readUInt8(n);if(e.isError(s))return s;r|=s}return r}e.exports=f,f.prototype.decode=function(e,t){return e instanceof o.DecoderBuffer||(e=new o.DecoderBuffer(e,t)),this.tree._decode(e,t)},r(c,o.Node),c.prototype._peekTag=function(e,t,n){if(e.isEmpty())return!1;var r=e.save(),i=u(e,'Failed to peek tag: "'+t+'"');return e.isError(i)?i:(e.restore(r),i.tag===t||i.tagStr===t||i.tagStr+"of"===t||n)},c.prototype._decodeTag=function(e,t,n){var r=u(e,'Failed to decode tag of "'+t+'"');if(e.isError(r))return r;var i=l(e,r.primitive,'Failed to get length of "'+t+'"');if(e.isError(i))return i;if(!n&&r.tag!==t&&r.tagStr!==t&&r.tagStr+"of"!==t)return e.error('Failed to match tag: "'+t+'"');if(r.primitive||null!==i)return e.skip(i,'Failed to match body of: "'+t+'"');var o=e.save(),s=this._skipUntilEnd(e,'Failed to skip indefinite length body: "'+this.tag+'"');return e.isError(s)?s:(i=e.offset-o.offset,e.restore(o),e.skip(i,'Failed to match body of: "'+t+'"'))},c.prototype._skipUntilEnd=function(e,t){for(;;){var n=u(e,t);if(e.isError(n))return n;var r,i=l(e,n.primitive,t);if(e.isError(i))return i;if(r=n.primitive||null!==i?e.skip(i):this._skipUntilEnd(e,t),e.isError(r))return r;if("end"===n.tagStr)break}},c.prototype._decodeList=function(e,t,n,r){for(var i=[];!e.isEmpty();){var o=this._peekTag(e,"end");if(e.isError(o))return o;var s=n.decode(e,"der",r);if(e.isError(s)&&o)break;i.push(s)}return i},c.prototype._decodeStr=function(e,t){if("bitstr"===t){var n=e.readUInt8();return e.isError(n)?n:{unused:n,data:e.raw()}}if("bmpstr"===t){var r=e.raw();if(r.length%2==1)return e.error("Decoding of string type: bmpstr length mismatch");for(var i="",o=0;o<r.length/2;o++)i+=String.fromCharCode(r.readUInt16BE(2*o));return i}if("numstr"===t){var s=e.raw().toString("ascii");return this._isNumstr(s)?s:e.error("Decoding of string type: numstr unsupported characters")}if("octstr"===t)return e.raw();if("objDesc"===t)return e.raw();if("printstr"===t){var a=e.raw().toString("ascii");return this._isPrintstr(a)?a:e.error("Decoding of string type: printstr unsupported characters")}return/str$/.test(t)?e.raw().toString():e.error("Decoding of string type: "+t+" unsupported")},c.prototype._decodeObjid=function(e,t,n){for(var r,i=[],o=0;!e.isEmpty();){var s=e.readUInt8();o<<=7,o|=127&s,0==(128&s)&&(i.push(o),o=0)}128&s&&i.push(o);var a=i[0]/40|0,f=i[0]%40;if(r=n?i:[a,f].concat(i.slice(1)),t){var c=t[r.join(" ")];void 0===c&&(c=t[r.join(".")]),void 0!==c&&(r=c)}return r},c.prototype._decodeTime=function(e,t){var n=e.raw().toString();if("gentime"===t)var r=0|n.slice(0,4),i=0|n.slice(4,6),o=0|n.slice(6,8),s=0|n.slice(8,10),a=0|n.slice(10,12),f=0|n.slice(12,14);else{if("utctime"!==t)return e.error("Decoding "+t+" time is not supported yet");r=0|n.slice(0,2),i=0|n.slice(2,4),o=0|n.slice(4,6),s=0|n.slice(6,8),a=0|n.slice(8,10),f=0|n.slice(10,12);r=r<70?2e3+r:1900+r}return Date.UTC(r,i-1,o,s,a,f,0)},c.prototype._decodeNull=function(e){return null},c.prototype._decodeBool=function(e){var t=e.readUInt8();return e.isError(t)?t:0!==t},c.prototype._decodeInt=function(e,t){var n=e.raw(),r=new s(n);return t&&(r=t[r.toString(10)]||r),r},c.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getDecoder("der").tree}},function(e,t,n){var r=n(2),i=n(11).Buffer,o=n(31),s=o.base,a=o.constants.der;function f(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new c,this.tree._init(e.body)}function c(e){s.Node.call(this,"der",e)}function u(e){return e<10?"0"+e:e}e.exports=f,f.prototype.encode=function(e,t){return this.tree._encode(e,t).join()},r(c,s.Node),c.prototype._encodeComposite=function(e,t,n,r){var o,s=function(e,t,n,r){var i;"seqof"===e?e="seq":"setof"===e&&(e="set");if(a.tagByName.hasOwnProperty(e))i=a.tagByName[e];else{if("number"!=typeof e||(0|e)!==e)return r.error("Unknown tag: "+e);i=e}if(i>=31)return r.error("Multi-octet tag encoding unsupported");t||(i|=32);return i|=a.tagClassByName[n||"universal"]<<6}(e,t,n,this.reporter);if(r.length<128)return(o=new i(2))[0]=s,o[1]=r.length,this._createEncoderBuffer([o,r]);for(var f=1,c=r.length;c>=256;c>>=8)f++;(o=new i(2+f))[0]=s,o[1]=128|f;c=1+f;for(var u=r.length;u>0;c--,u>>=8)o[c]=255&u;return this._createEncoderBuffer([o,r])},c.prototype._encodeStr=function(e,t){if("bitstr"===t)return this._createEncoderBuffer([0|e.unused,e.data]);if("bmpstr"===t){for(var n=new i(2*e.length),r=0;r<e.length;r++)n.writeUInt16BE(e.charCodeAt(r),2*r);return this._createEncoderBuffer(n)}return"numstr"===t?this._isNumstr(e)?this._createEncoderBuffer(e):this.reporter.error("Encoding of string type: numstr supports only digits and space"):"printstr"===t?this._isPrintstr(e)?this._createEncoderBuffer(e):this.reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark"):/str$/.test(t)?this._createEncoderBuffer(e):"objDesc"===t?this._createEncoderBuffer(e):this.reporter.error("Encoding of string type: "+t+" unsupported")},c.prototype._encodeObjid=function(e,t,n){if("string"==typeof e){if(!t)return this.reporter.error("string objid given, but no values map found");if(!t.hasOwnProperty(e))return this.reporter.error("objid not found in values map");e=t[e].split(/[\s\.]+/g);for(var r=0;r<e.length;r++)e[r]|=0}else if(Array.isArray(e)){e=e.slice();for(r=0;r<e.length;r++)e[r]|=0}if(!Array.isArray(e))return this.reporter.error("objid() should be either array or string, got: "+JSON.stringify(e));if(!n){if(e[1]>=40)return this.reporter.error("Second objid identifier OOB");e.splice(0,2,40*e[0]+e[1])}var o=0;for(r=0;r<e.length;r++){var s=e[r];for(o++;s>=128;s>>=7)o++}var a=new i(o),f=a.length-1;for(r=e.length-1;r>=0;r--){s=e[r];for(a[f--]=127&s;(s>>=7)>0;)a[f--]=128|127&s}return this._createEncoderBuffer(a)},c.prototype._encodeTime=function(e,t){var n,r=new Date(e);return"gentime"===t?n=[u(r.getFullYear()),u(r.getUTCMonth()+1),u(r.getUTCDate()),u(r.getUTCHours()),u(r.getUTCMinutes()),u(r.getUTCSeconds()),"Z"].join(""):"utctime"===t?n=[u(r.getFullYear()%100),u(r.getUTCMonth()+1),u(r.getUTCDate()),u(r.getUTCHours()),u(r.getUTCMinutes()),u(r.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+t+" time is not supported yet"),this._encodeStr(n,"octstr")},c.prototype._encodeNull=function(){return this._createEncoderBuffer("")},c.prototype._encodeInt=function(e,t){if("string"==typeof e){if(!t)return this.reporter.error("String int or enum given, but no values map");if(!t.hasOwnProperty(e))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(e));e=t[e]}if("number"!=typeof e&&!i.isBuffer(e)){var n=e.toArray();!e.sign&&128&n[0]&&n.unshift(0),e=new i(n)}if(i.isBuffer(e)){var r=e.length;0===e.length&&r++;var o=new i(r);return e.copy(o),0===e.length&&(o[0]=0),this._createEncoderBuffer(o)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);r=1;for(var s=e;s>=256;s>>=8)r++;for(s=(o=new Array(r)).length-1;s>=0;s--)o[s]=255&e,e>>=8;return 128&o[0]&&o.unshift(0),this._createEncoderBuffer(new i(o))},c.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},c.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getEncoder("der").tree},c.prototype._skipDefault=function(e,t,n){var r,i=this._baseState;if(null===i.default)return!1;var o=e.join();if(void 0===i.defaultBuffer&&(i.defaultBuffer=this._encodeValue(i.default,t,n).join()),o.length!==i.defaultBuffer.length)return!1;for(r=0;r<o.length;r++)if(o[r]!==i.defaultBuffer[r])return!1;return!0}},function(e){e.exports=JSON.parse('{"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}')},function(e,t,n){var r=n(28),i=n(3).Buffer;function o(e){var t=i.allocUnsafe(4);return t.writeUInt32BE(e,0),t}e.exports=function(e,t){for(var n,s=i.alloc(0),a=0;s.length<t;)n=o(a++),s=i.concat([s,r("sha1").update(e).update(n).digest()]);return s.slice(0,t)}},function(e,t){e.exports=function(e,t){for(var n=e.length,r=-1;++r<n;)e[r]^=t[r];return e}},function(e,t,n){var r=n(12),i=n(3).Buffer;e.exports=function(e,t){return i.from(e.toRed(r.mont(t.modulus)).redPow(new r(t.publicExponent)).fromRed().toArray())}},function(e,t,n){"use strict";(function(e){var r=n(16);Object.defineProperty(t,"__esModule",{value:!0});var i={ContentHelpers:!0,request:!0,getRequest:!0,wrapRequest:!0,setCryptoStoreFactory:!0,createClient:!0,createNewMatrixCall:!0,setMatrixCallAudioOutput:!0,setMatrixCallAudioInput:!0,setMatrixCallVideoInput:!0};t.request=function(e){M=e},t.getRequest=function(){return M},t.wrapRequest=function(e){const t=M;M=function(n,r){return e(t,n,r)}},t.setCryptoStoreFactory=function(e){P=e},t.createClient=function(t){"string"==typeof t&&(t={baseUrl:t});return t.request=t.request||M,t.store=t.store||new a.MemoryStore({localStorage:e.localStorage}),t.scheduler=t.scheduler||new f.MatrixScheduler,t.cryptoStore=t.cryptoStore||P(),new c.MatrixClient(t)},Object.defineProperty(t,"createNewMatrixCall",{enumerable:!0,get:function(){return C.createNewMatrixCall}}),Object.defineProperty(t,"setMatrixCallAudioOutput",{enumerable:!0,get:function(){return C.setAudioOutput}}),Object.defineProperty(t,"setMatrixCallAudioInput",{enumerable:!0,get:function(){return C.setAudioInput}}),Object.defineProperty(t,"setMatrixCallVideoInput",{enumerable:!0,get:function(){return C.setVideoInput}}),t.ContentHelpers=void 0;var o=r(n(7)),s=n(71);Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return s[e]}}))}));var a=n(127);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var f=n(264);Object.keys(f).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return f[e]}}))}));var c=n(265);Object.keys(c).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return c[e]}}))}));var u=n(46);Object.keys(u).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return u[e]}}))}));var l=n(297);Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return l[e]}}))}));var d=n(142);Object.keys(d).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return d[e]}}))}));var h=n(77);Object.keys(h).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return h[e]}}))}));var p=n(19);Object.keys(p).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return p[e]}}))}));var g=n(129);Object.keys(g).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return g[e]}}))}));var m=n(132);Object.keys(m).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return m[e]}}))}));var _=n(24);Object.keys(_).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return _[e]}}))}));var y=n(130);Object.keys(y).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return y[e]}}))}));var b=n(75);Object.keys(b).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return b[e]}}))}));var v=n(131);Object.keys(v).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return v[e]}}))}));var A=n(45);Object.keys(A).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return A[e]}}))}));var w=n(74);Object.keys(w).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return w[e]}}))}));var E=n(298);Object.keys(E).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return E[e]}}))}));var S=n(299);Object.keys(S).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return S[e]}}))}));var k=n(128);Object.keys(k).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return k[e]}}))}));var I=n(300);Object.keys(I).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return I[e]}}))}));var R=n(303);Object.keys(R).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return R[e]}}))}));var T=n(33);Object.keys(T).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return T[e]}}))}));var O=n(47);Object.keys(O).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(t,e,{enumerable:!0,get:function(){return O[e]}}))}));var C=n(133);const x=Promise.resolve().then(()=>(0,o.default)(n(134)));let M;t.ContentHelpers=x;let P=()=>new s.MemoryCryptoStore}).call(this,n(6))},function(e,t,n){"use strict";var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.MemoryStore=s;var i=n(45),o=r(n(8));function s(e){e=e||{},this.rooms={},this.groups={},this.users={},this.syncToken=null,this.filters={},this.accountData={},this.localStorage=e.localStorage,this._oobMembers={},this._clientOptions={}}s.prototype={getSyncToken:function(){return this.syncToken},isNewlyCreated:function(){return Promise.resolve(!0)},setSyncToken:function(e){this.syncToken=e},storeGroup:function(e){this.groups[e.groupId]=e},getGroup:function(e){return this.groups[e]||null},getGroups:function(){return o.values(this.groups)},storeRoom:function(e){this.rooms[e.roomId]=e,e.currentState.on("RoomState.members",this._onRoomMember.bind(this));const t=this;e.currentState.getMembers().forEach((function(n){t._onRoomMember(null,e.currentState,n)}))},_onRoomMember:function(e,t,n){if("invite"===n.membership)return;const r=this.users[n.userId]||new i.User(n.userId);n.name&&(r.setDisplayName(n.name),n.events.member&&r.setRawDisplayName(n.events.member.getDirectionalContent().displayname)),n.events.member&&n.events.member.getContent().avatar_url&&r.setAvatarUrl(n.events.member.getContent().avatar_url),this.users[r.userId]=r},getRoom:function(e){return this.rooms[e]||null},getRooms:function(){return o.values(this.rooms)},removeRoom:function(e){this.rooms[e]&&this.rooms[e].removeListener("RoomState.members",this._onRoomMember),delete this.rooms[e]},getRoomSummaries:function(){return o.map(o.values(this.rooms),(function(e){return e.summary}))},storeUser:function(e){this.users[e.userId]=e},getUser:function(e){return this.users[e]||null},getUsers:function(){return o.values(this.users)},scrollback:function(e,t){return[]},storeEvents:function(e,t,n,r){},storeFilter:function(e){e&&(this.filters[e.userId]||(this.filters[e.userId]={}),this.filters[e.userId][e.filterId]=e)},getFilter:function(e,t){return this.filters[e]&&this.filters[e][t]?this.filters[e][t]:null},getFilterIdByName:function(e){if(!this.localStorage)return null;try{return this.localStorage.getItem("mxjssdk_memory_filter_"+e)}catch(e){}return null},setFilterIdByName:function(e,t){if(this.localStorage)try{this.localStorage.setItem("mxjssdk_memory_filter_"+e,t)}catch(e){}},storeAccountDataEvents:function(e){const t=this;e.forEach((function(e){t.accountData[e.getType()]=e}))},getAccountData:function(e){return this.accountData[e]},setSyncData:function(e){return Promise.resolve()},wantsSave:function(){return!1},save:function(e){},startup:function(){return Promise.resolve()},getSavedSync:function(){return Promise.resolve(null)},getSavedSyncToken:function(){return Promise.resolve(null)},deleteAllData:function(){return this.rooms={},this.users={},this.syncToken=null,this.filters={},this.accountData={},Promise.resolve()},getOutOfBandMembers:function(e){return Promise.resolve(this._oobMembers[e]||null)},setOutOfBandMembers:function(e,t){return this._oobMembers[e]=t,Promise.resolve()},clearOutOfBandMembers:function(){return this._oobMembers={},Promise.resolve()},getClientOptions:function(){return Promise.resolve(this._clientOptions)},storeClientOptions:function(e){return this._clientOptions=Object.assign({},e),Promise.resolve()}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SERVICE_TYPES=void 0;const r=Object.freeze({IS:"SERVICE_TYPE_IS",IM:"SERVICE_TYPE_IM"});t.SERVICE_TYPES=r},function(e,t,n){"use strict";var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.Room=m;var i=n(10),o=n(130),s=n(24),a=n(47),f=r(n(8)),c=n(19),u=n(75),l=n(277),d=n(4),h=n(76);const p=["1","2","3","4","5"];function g(e,t,n){const r={content:{},type:"m.receipt",room_id:t.getRoomId()};return r.content[t.getId()]={},r.content[t.getId()][n]={},r.content[t.getId()][n][e]={ts:t.getTs()},new c.MatrixEvent(r)}function m(e,t,n,r){if((r=r||{}).pendingEventOrdering=r.pendingEventOrdering||"chronological",this.reEmitter=new h.ReEmitter(this),-1===["chronological","detached"].indexOf(r.pendingEventOrdering))throw new Error("opts.pendingEventOrdering MUST be either 'chronological' or 'detached'. Got: '"+r.pendingEventOrdering+"'");this.myUserId=n,this.roomId=e,this.name=e,this.tags={},this.accountData={},this.summary=null,this.storageToken=r.storageToken,this._opts=r,this._txnToEvent={},this._receipts={},this._receiptCacheByEventId={},this._realReceipts={},this._notificationCounts={},this._timelineSets=[new o.EventTimelineSet(this,r)],this.reEmitter.reEmit(this.getUnfilteredTimelineSet(),["Room.timeline","Room.timelineReset"]),this._fixUpLegacyTimelineFields(),this._filteredTimelineSets={},"detached"==this._opts.pendingEventOrdering&&(this._pendingEventList=[]),this._blacklistUnverifiedDevices=null,this._selfMembership=null,this._summaryHeroes=null,this._client=t,this._opts.lazyLoadMembers?this._membersPromise=null:this._membersPromise=Promise.resolve()}f.inherits(m,i.EventEmitter),m.prototype.getVersion=function(){const e=this.currentState.getStateEvents("m.room.create","");if(!e)return d.logger.warn("Room "+this.room_id+" does not have an m.room.create event"),"1";const t=e.getContent().room_version;return void 0===t?"1":t},m.prototype.shouldUpgradeToVersion=function(){return p.includes(this.getVersion())?null:"5"},m.prototype.getRecommendedVersion=async function(){let e=(await this._client.getCapabilities())["m.room_versions"];if(!e){e={default:"5",available:{}};for(const t of p)e.available[t]="stable"}let t=this._checkVersionAgainstCapability(e);if(t.urgent&&t.needsUpgrade){if(d.logger.warn("Refreshing room version capability because the server looks to be supporting a newer room version we don't know about."),e=(await this._client.getCapabilities(!0))["m.room_versions"],!e)return d.logger.warn("No room version capability - assuming upgrade required."),t;t=this._checkVersionAgainstCapability(e)}return t},m.prototype._checkVersionAgainstCapability=function(e){const t=this.getVersion();d.logger.log(`[${this.roomId}] Current version: ${t}`),d.logger.log(`[${this.roomId}] Version capability: `,e);const n={version:t,needsUpgrade:!1,urgent:!1};return t===e.default?n:Object.keys(e.available).filter(t=>"stable"===e.available[t]).includes(t)?n:(n.version=e.default,n.needsUpgrade=!0,n.urgent=!!this.getVersion().match(/^[0-9]+[0-9.]*$/g),n.urgent?d.logger.warn(`URGENT upgrade required on ${this.roomId}`):d.logger.warn(`Non-urgent upgrade required on ${this.roomId}`),n)},m.prototype.userMayUpgradeRoom=function(e){return this.currentState.maySendStateEvent("m.room.tombstone",e)},m.prototype.getPendingEvents=function(){if("detached"!==this._opts.pendingEventOrdering)throw new Error("Cannot call getPendingEvents with pendingEventOrdering == "+this._opts.pendingEventOrdering);return this._pendingEventList},m.prototype.hasPendingEvent=function(e){if("detached"!==this._opts.pendingEventOrdering)throw new Error("Cannot call hasPendingEvent with pendingEventOrdering == "+this._opts.pendingEventOrdering);return this._pendingEventList.some(t=>t.getId()===e)},m.prototype.getLiveTimeline=function(){return this.getUnfilteredTimelineSet().getLiveTimeline()},m.prototype.getLastActiveTimestamp=function(){const e=this.getLiveTimeline().getEvents();if(e.length){return e[e.length-1].getTs()}return Number.MIN_SAFE_INTEGER},m.prototype.getMyMembership=function(){return this._selfMembership},m.prototype.getDMInviter=function(){if(this.myUserId){const e=this.getMember(this.myUserId);if(e)return e.getDMInviter()}if("invite"===this._selfMembership){if(2==this.getInvitedAndJoinedMemberCount()&&this._summaryHeroes.length)return this._summaryHeroes[0]}},m.prototype.guessDMUserId=function(){const e=this.getMember(this.myUserId);if(e){const t=e.getDMInviter();if(t)return t}if(Array.isArray(this._summaryHeroes)&&this._summaryHeroes.length)return this._summaryHeroes[0];const t=this.currentState.getMembers().find(e=>e.userId!==this.myUserId);return t?t.userId:this.myUserId},m.prototype.getAvatarFallbackMember=function(){if(this.getInvitedAndJoinedMemberCount()>2)return;const e=Array.isArray(this._summaryHeroes)&&this._summaryHeroes.length;if(e){const e=this._summaryHeroes.map(e=>this.getMember(e)).find(e=>!!e);if(e)return e}const t=this.currentState.getMembers();if(t.length<=2){const e=t.find(e=>e.userId!==this.myUserId);if(e)return e}if(e){const e=this._summaryHeroes.map(e=>this._client.getUser(e)).find(e=>!!e);if(e){const t=new u.RoomMember(this.roomId,e.userId);return t.user=e,t}}},m.prototype.updateMyMembership=function(e){const t=this._selfMembership;this._selfMembership=e,t!==e&&("leave"===e&&this._cleanupAfterLeaving(),this.emit("Room.myMembership",this,e,t))},m.prototype._loadMembersFromServer=async function(){const e=this._client.store.getSyncToken(),t=f.encodeParams({not_membership:"leave",at:e}),n=f.encodeUri("/rooms/$roomId/members?"+t,{$roomId:this.roomId}),r=this._client._http;return(await r.authedRequest(void 0,"GET",n)).chunk},m.prototype._loadMembers=async function(){let e=!1,t=await this._client.store.getOutOfBandMembers(this.roomId);return null===t&&(e=!0,t=await this._loadMembersFromServer(),d.logger.log(`LL: got ${t.length} `+`members from server for room ${this.roomId}`)),{memberEvents:t.map(this._client.getEventMapper()),fromServer:e}},m.prototype.loadMembersIfNeeded=function(){if(this._membersPromise)return this._membersPromise;this.currentState.markOutOfBandMembersStarted();const e=this._loadMembers().then(e=>(this.currentState.setOutOfBandMembers(e.memberEvents),this._client.isCryptoEnabled()&&this._client.isRoomEncrypted(this.roomId)&&this._client._crypto.trackRoomDevices(this.roomId),e.fromServer)).catch(e=>{throw this._membersPromise=null,this.currentState.markOutOfBandMembersFailed(),e});return e.then(e=>{if(e){const e=this.currentState.getMembers().filter(e=>e.isOutOfBand()).map(e=>e.events.member.event);return d.logger.log(`LL: telling store to write ${e.length}`+` members for room ${this.roomId}`),this._client.store.setOutOfBandMembers(this.roomId,e).catch(e=>{d.logger.log("LL: storing OOB room members failed, oh well",e)})}}).catch(e=>{d.logger.error(e)}),this._membersPromise=e,this._membersPromise},m.prototype.clearLoadedMembersIfNeeded=async function(){this._opts.lazyLoadMembers&&this._membersPromise&&(await this.loadMembersIfNeeded(),await this._client.store.clearOutOfBandMembers(this.roomId),this.currentState.clearOutOfBandMembers(),this._membersPromise=null)},m.prototype._cleanupAfterLeaving=function(){this.clearLoadedMembersIfNeeded().catch(e=>{d.logger.error("error after clearing loaded members from "+`room ${this.roomId} after leaving`),d.logger.log(e)})},m.prototype.resetLiveTimeline=function(e,t){for(let n=0;n<this._timelineSets.length;n++)this._timelineSets[n].resetLiveTimeline(e,t);this._fixUpLegacyTimelineFields()},m.prototype._fixUpLegacyTimelineFields=function(){this.timeline=this.getLiveTimeline().getEvents(),this.oldState=this.getLiveTimeline().getState(s.EventTimeline.BACKWARDS),this.currentState=this.getLiveTimeline().getState(s.EventTimeline.FORWARDS)},m.prototype.hasUnverifiedDevices=async function(){if(!this._client.isRoomEncrypted(this.roomId))return!1;const e=await this.getEncryptionTargetMembers();for(const t of e){if((await this._client.getStoredDevicesForUser(t.userId)).some(e=>e.isUnverified()))return!0}return!1},m.prototype.getTimelineSets=function(){return this._timelineSets},m.prototype.getUnfilteredTimelineSet=function(){return this._timelineSets[0]},m.prototype.getTimelineForEvent=function(e){return this.getUnfilteredTimelineSet().getTimelineForEvent(e)},m.prototype.addTimeline=function(){return this.getUnfilteredTimelineSet().addTimeline()},m.prototype.findEventById=function(e){return this.getUnfilteredTimelineSet().findEventById(e)},m.prototype.getUnreadNotificationCount=function(e){return e=e||"total",this._notificationCounts[e]},m.prototype.setUnreadNotificationCount=function(e,t){this._notificationCounts[e]=t},m.prototype.setSummary=function(e){const t=e["m.heroes"],n=e["m.joined_member_count"],r=e["m.invited_member_count"];Number.isInteger(n)&&this.currentState.setJoinedMemberCount(n),Number.isInteger(r)&&this.currentState.setInvitedMemberCount(r),Array.isArray(t)&&(this._summaryHeroes=t.filter(e=>e!==this.myUserId))},m.prototype.setBlacklistUnverifiedDevices=function(e){this._blacklistUnverifiedDevices=e},m.prototype.getBlacklistUnverifiedDevices=function(){return this._blacklistUnverifiedDevices},m.prototype.getAvatarUrl=function(e,t,n,r,i){const o=this.currentState.getStateEvents("m.room.avatar","");if(void 0===i&&(i=!0),!o&&!i)return null;const s=o?o.getContent().url:null;return s?(0,a.getHttpUriForMxc)(e,s,t,n,r):i?(0,a.getIdenticonUri)(e,this.roomId,t,n):null},m.prototype.getAliases=function(){const e=[],t=this.currentState.getStateEvents("m.room.aliases");if(t)for(let n=0;n<t.length;++n){const r=t[n];if(f.isArray(r.getContent().aliases)){const t=r.getContent().aliases.filter(e=>"string"==typeof e&&("#"===e[0]&&!!e.endsWith(`:${r.getStateKey()}`)));Array.prototype.push.apply(e,t)}}return e},m.prototype.getCanonicalAlias=function(){const e=this.currentState.getStateEvents("m.room.canonical_alias","");return e?e.getContent().alias:null},m.prototype.addEventsToTimeline=function(e,t,n,r){n.getTimelineSet().addEventsToTimeline(e,t,n,r)},m.prototype.getMember=function(e){return this.currentState.getMember(e)},m.prototype.getJoinedMembers=function(){return this.getMembersWithMembership("join")},m.prototype.getJoinedMemberCount=function(){return this.currentState.getJoinedMemberCount()},m.prototype.getInvitedMemberCount=function(){return this.currentState.getInvitedMemberCount()},m.prototype.getInvitedAndJoinedMemberCount=function(){return this.getInvitedMemberCount()+this.getJoinedMemberCount()},m.prototype.getMembersWithMembership=function(e){return f.filter(this.currentState.getMembers(),(function(t){return t.membership===e}))},m.prototype.getEncryptionTargetMembers=async function(){await this.loadMembersIfNeeded();let e=this.getMembersWithMembership("join");return this.shouldEncryptForInvitedMembers()&&(e=e.concat(this.getMembersWithMembership("invite"))),e},m.prototype.shouldEncryptForInvitedMembers=function(){const e=this.currentState.getStateEvents("m.room.history_visibility","");return e&&e.getContent()&&"joined"!==e.getContent().history_visibility},m.prototype.getDefaultRoomName=function(e){return y(this,e,!0)},m.prototype.hasMembershipState=function(e,t){const n=this.getMember(e);return!!n&&n.membership===t},m.prototype.getOrCreateFilteredTimelineSet=function(e){if(this._filteredTimelineSets[e.filterId])return this._filteredTimelineSets[e.filterId];const t=Object.assign({filter:e},this._opts),n=new o.EventTimelineSet(this,t);this.reEmitter.reEmit(n,["Room.timeline","Room.timelineReset"]),this._filteredTimelineSets[e.filterId]=n,this._timelineSets.push(n);const r=this.getLiveTimeline();r.getEvents().forEach((function(e){n.addLiveEvent(e)}));let i=r;for(;i.getNeighbouringTimeline(s.EventTimeline.BACKWARDS);)i=i.getNeighbouringTimeline(s.EventTimeline.BACKWARDS);return n.getLiveTimeline().setPaginationToken(i.getPaginationToken(s.EventTimeline.BACKWARDS),s.EventTimeline.BACKWARDS),n},m.prototype.removeFilteredTimelineSet=function(e){const t=this._filteredTimelineSets[e.filterId];delete this._filteredTimelineSets[e.filterId];const n=this._timelineSets.indexOf(t);n>-1&&this._timelineSets.splice(n,1)},m.prototype._addLiveEvent=function(e,t){if(e.isRedaction()){const t=e.event.redacts,n=this.getUnfilteredTimelineSet().findEventById(t);if(n){if(n.makeRedacted(e),n.getStateKey()){this.currentState.getStateEvents(n.getType(),n.getStateKey()).getId()===n.getId()&&this.currentState.setStateEvents([n])}this.emit("Room.redaction",e,this)}}if(e.getUnsigned().transaction_id){const t=this._txnToEvent[e.getUnsigned().transaction_id];if(t)return void this._handleRemoteEcho(e,t)}for(let n=0;n<this._timelineSets.length;n++)this._timelineSets[n].addLiveEvent(e,t);e.sender&&"m.room.redaction"!==e.getType()&&this.addReceipt(g(e.sender.userId,e,"m.read"),!0)},m.prototype.addPendingEvent=function(e,t){if(e.status!==c.EventStatus.SENDING)throw new Error("addPendingEvent called on an event with status "+e.status);if(this._txnToEvent[t])throw new Error("addPendingEvent called on an event with known txnId "+t);if(s.EventTimeline.setEventMetadata(e,this.getLiveTimeline().getState(s.EventTimeline.FORWARDS),!1),this._txnToEvent[t]=e,"detached"==this._opts.pendingEventOrdering){if(this._pendingEventList.some(e=>e.status===c.EventStatus.NOT_SENT)&&(d.logger.warn("Setting event as NOT_SENT due to messages in the same state"),e.setStatus(c.EventStatus.NOT_SENT)),this._pendingEventList.push(e),e.isRelation()&&this._aggregateNonLiveRelation(e),e.isRedaction()){const t=e.event.redacts;let n=this._pendingEventList&&this._pendingEventList.find(e=>e.getId()===t);n||(n=this.getUnfilteredTimelineSet().findEventById(t)),n&&(n.markLocallyRedacted(e),this.emit("Room.redaction",e,this))}}else for(let t=0;t<this._timelineSets.length;t++){const n=this._timelineSets[t];n.getFilter()?n.getFilter().filterRoomTimeline([e]).length&&n.addEventToTimeline(e,n.getLiveTimeline(),!1):n.addEventToTimeline(e,n.getLiveTimeline(),!1)}this.emit("Room.localEchoUpdated",e,this,null,null)},m.prototype._aggregateNonLiveRelation=function(e){for(let t=0;t<this._timelineSets.length;t++){const n=this._timelineSets[t];n.getFilter()?n.getFilter().filterRoomTimeline([e]).length&&n.aggregateRelations(e):n.aggregateRelations(e)}},m.prototype._handleRemoteEcho=function(e,t){const n=t.getId(),r=e.getId(),i=t.status;delete this._txnToEvent[e.getUnsigned().transaction_id],this._pendingEventList&&f.removeElement(this._pendingEventList,(function(e){return e.getId()==n}),!1),t.handleRemoteEcho(e.event);for(let e=0;e<this._timelineSets.length;e++){this._timelineSets[e].handleRemoteEcho(t,n,r)}this.emit("Room.localEchoUpdated",t,this,n,i)};const _={};function y(e,t,n){if(!n){const t=e.currentState.getStateEvents("m.room.name","");if(t&&t.getContent()&&t.getContent().name)return t.getContent().name}let r=e.getCanonicalAlias();if(!r){const t=e.getAliases();t.length&&(r=t[0])}if(r)return r;const i=e.currentState.getJoinedMemberCount()+e.currentState.getInvitedMemberCount()-1;let o=null;if(e._summaryHeroes)o=e._summaryHeroes.map(t=>{const n=e.getMember(t);return n?n.name:t});else{let n=e.currentState.getMembers().filter(e=>e.userId!==t&&("invite"===e.membership||"join"===e.membership));n.sort((e,t)=>e.userId.localeCompare(t.userId)),n=n.slice(0,5),o=n.map(e=>e.name)}if(i)return b(o,i);if("join"==e.getMyMembership()){const t=e.currentState.getStateEvents("m.room.third_party_invite");if(t&&t.length){return`Inviting ${b(t.map(e=>e.getContent().display_name))}`}}let s=o;return s.length||(s=e.currentState.getMembers().filter(e=>e.userId!==t&&"invite"!==e.membership&&"join"!==e.membership).map(e=>e.name)),s.length?`Empty room (was ${b(s)})`:"Empty room"}function b(e,t=e.length+1){const n=t-1;if(e.length){if(1===e.length&&n<=1)return e[0];if(2===e.length&&n<=2)return`${e[0]} and ${e[1]}`;return n>1?`${e[0]} and ${n} others`:`${e[0]} and 1 other`}return"Empty room"}_[c.EventStatus.ENCRYPTING]=[c.EventStatus.SENDING,c.EventStatus.NOT_SENT],_[c.EventStatus.SENDING]=[c.EventStatus.ENCRYPTING,c.EventStatus.QUEUED,c.EventStatus.NOT_SENT,c.EventStatus.SENT],_[c.EventStatus.QUEUED]=[c.EventStatus.SENDING,c.EventStatus.CANCELLED],_[c.EventStatus.SENT]=[],_[c.EventStatus.NOT_SENT]=[c.EventStatus.SENDING,c.EventStatus.QUEUED,c.EventStatus.CANCELLED],_[c.EventStatus.CANCELLED]=[],m.prototype.updatePendingEvent=function(e,t,n){if(d.logger.log(`setting pendingEvent status to ${t} in ${e.getRoomId()}`),t==c.EventStatus.SENT&&!n)throw new Error("updatePendingEvent called with status=SENT, but no new event id");if(t==c.EventStatus.SENT){if(this.getUnfilteredTimelineSet().eventIdToTimeline(n))return}const r=e.status,i=e.getId();if(!r)throw new Error("updatePendingEventStatus called on an event which is not a local echo.");const o=_[r];if(!o||o.indexOf(t)<0)throw new Error("Invalid EventStatus transition "+r+"->"+t);if(e.setStatus(t),t==c.EventStatus.SENT){e.replaceLocalEventId(n);for(let e=0;e<this._timelineSets.length;e++)this._timelineSets[e].replaceEventId(i,n)}else if(t==c.EventStatus.CANCELLED){if(this._pendingEventList){const e=this._pendingEventList.findIndex(e=>e.getId()===i);if(-1!==e){const[t]=this._pendingEventList.splice(e,1);t.isRedaction()&&this._revertRedactionLocalEcho(t)}}this.removeEvent(i)}this.emit("Room.localEchoUpdated",e,this,i,r)},m.prototype._revertRedactionLocalEcho=function(e){const t=e.event.redacts;if(!t)return;const n=this.getUnfilteredTimelineSet().findEventById(t);n&&(n.unmarkLocallyRedacted(),this.emit("Room.redactionCancelled",e,this),n.isRelation()&&this._aggregateNonLiveRelation(n))},m.prototype.addLiveEvents=function(e,t){let n;if(t&&-1===["replace","ignore"].indexOf(t))throw new Error("duplicateStrategy MUST be either 'replace' or 'ignore'");for(n=0;n<this._timelineSets.length;n++){const e=this._timelineSets[n].getLiveTimeline();if(e.getPaginationToken(s.EventTimeline.FORWARDS))throw new Error("live timeline "+n+" is no longer live - it has a pagination token ("+e.getPaginationToken(s.EventTimeline.FORWARDS)+")");if(e.getNeighbouringTimeline(s.EventTimeline.FORWARDS))throw new Error("live timeline "+n+" is no longer live - it has a neighbouring timeline")}for(n=0;n<e.length;n++)this._addLiveEvent(e[n],t)},m.prototype.addEphemeralEvents=function(e){for(const t of e)"m.typing"===t.getType()?this.currentState.setTypingEvent(t):"m.receipt"===t.getType()&&this.addReceipt(t)},m.prototype.removeEvents=function(e){for(let t=0;t<e.length;++t)this.removeEvent(e[t])},m.prototype.removeEvent=function(e){let t=!1;for(let n=0;n<this._timelineSets.length;n++){const r=this._timelineSets[n].removeEvent(e);r&&(r.isRedaction()&&this._revertRedactionLocalEcho(r),t=!0)}return t},m.prototype.recalculate=function(){const e=this,t=this.currentState.getStateEvents("m.room.member",this.myUserId);if(t&&"invite"===t.getContent().membership){const n=t.event.invite_room_state||[];f.forEach(n,(function(t){e.currentState.getStateEvents(t.type,t.state_key)||e.currentState.setStateEvents([new c.MatrixEvent({type:t.type,state_key:t.state_key,content:t.content,event_id:"$fake"+Date.now(),room_id:e.roomId,user_id:e.myUserId})])}))}const n=this.name;this.name=y(this,this.myUserId),this.summary=new l.RoomSummary(this.roomId,{title:this.name}),n!==this.name&&this.emit("Room.name",this)},m.prototype.getUsersReadUpTo=function(e){return this.getReceiptsForEvent(e).filter((function(e){return"m.read"===e.type})).map((function(e){return e.userId}))},m.prototype.getEventReadUpTo=function(e,t){let n=this._receipts;return t&&(n=this._realReceipts),void 0===n["m.read"]||void 0===n["m.read"][e]?null:n["m.read"][e].eventId},m.prototype.hasUserReadEvent=function(e,t){const n=this.getEventReadUpTo(e,!1);if(n===t)return!0;if(this.timeline.length&&this.timeline[this.timeline.length-1].getSender()&&this.timeline[this.timeline.length-1].getSender()===e)return!0;for(let e=this.timeline.length-1;e>=0;--e){const r=this.timeline[e];if(r.getId()===t)return!1;if(r.getId()===n)return!0}return!1},m.prototype.getReceiptsForEvent=function(e){return this._receiptCacheByEventId[e.getId()]||[]},m.prototype.addReceipt=function(e,t){void 0===t&&(t=!1),t||this._addReceiptsToStructure(e,this._realReceipts),this._addReceiptsToStructure(e,this._receipts),this._receiptCacheByEventId=this._buildReceiptCache(this._receipts),this.emit("Room.receipt",e,this)},m.prototype._addReceiptsToStructure=function(e,t){const n=this;f.keys(e.getContent()).forEach((function(r){f.keys(e.getContent()[r]).forEach((function(i){f.keys(e.getContent()[r][i]).forEach((function(o){const s=e.getContent()[r][i][o];t[i]||(t[i]={});const a=t[i][o];if(a){const e=n.getUnfilteredTimelineSet().compareEventOrdering(a.eventId,r);if(null!==e&&e>=0)return}else t[i][o]={};t[i][o]={eventId:r,data:s}}))}))}))},m.prototype._buildReceiptCache=function(e){const t={};return f.keys(e).forEach((function(n){f.keys(e[n]).forEach((function(r){const i=e[n][r];t[i.eventId]||(t[i.eventId]=[]),t[i.eventId].push({userId:r,type:n,data:i.data})}))})),t},m.prototype._addLocalEchoReceipt=function(e,t,n){this.addReceipt(g(e,t,n),!0)},m.prototype.addTags=function(e){this.tags=e.getContent().tags||{},this.emit("Room.tags",e,this)},m.prototype.addAccountData=function(e){for(let t=0;t<e.length;t++){const n=e[t];"m.tag"===n.getType()&&this.addTags(n),this.accountData[n.getType()]=n,this.emit("Room.accountData",n,this)}},m.prototype.getAccountData=function(e){return this.accountData[e]},m.prototype.maySendMessage=function(){return"join"===this.getMyMembership()&&this.currentState.maySendEvent("m.room.message",this.myUserId)}},function(e,t,n){"use strict";var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.EventTimelineSet=l;var i=n(10),o=n(24),s=n(19),a=r(n(8)),f=n(4),c=n(276);let u;function l(e,t){this.room=e,this._timelineSupport=Boolean(t.timelineSupport),this._liveTimeline=new o.EventTimeline(this),this._unstableClientRelationAggregation=!!t.unstableClientRelationAggregation,this._timelines=[this._liveTimeline],this._eventIdToTimeline={},this._filter=t.filter||null,this._unstableClientRelationAggregation&&(this._relations={})}u=f.logger.log.bind(f.logger),a.inherits(l,i.EventEmitter),l.prototype.getTimelines=function(){return this._timelines},l.prototype.getFilter=function(){return this._filter},l.prototype.setFilter=function(e){this._filter=e},l.prototype.getPendingEvents=function(){return this.room?this._filter?this._filter.filterRoomTimeline(this.room.getPendingEvents()):this.room.getPendingEvents():[]},l.prototype.getLiveTimeline=function(){return this._liveTimeline},l.prototype.eventIdToTimeline=function(e){return this._eventIdToTimeline[e]},l.prototype.replaceEventId=function(e,t){const n=this._eventIdToTimeline[e];n&&(delete this._eventIdToTimeline[e],this._eventIdToTimeline[t]=n)},l.prototype.resetLiveTimeline=function(e,t){const n=!this._timelineSupport||!t,r=this._liveTimeline,i=n?r.forkLive(o.EventTimeline.FORWARDS):r.fork(o.EventTimeline.FORWARDS);n?(this._timelines=[i],this._eventIdToTimeline={}):this._timelines.push(i),t&&r.setPaginationToken(t,o.EventTimeline.FORWARDS),i.setPaginationToken(e,o.EventTimeline.BACKWARDS),this._liveTimeline=i,this.emit("Room.timelineReset",this.room,this,n)},l.prototype.getTimelineForEvent=function(e){const t=this._eventIdToTimeline[e];return void 0===t?null:t},l.prototype.findEventById=function(e){const t=this.getTimelineForEvent(e);if(t)return a.findElement(t.getEvents(),(function(t){return t.getId()==e}))},l.prototype.addTimeline=function(){if(!this._timelineSupport)throw new Error("timeline support is disabled. Set the 'timelineSupport' parameter to true when creating MatrixClient to enable it.");const e=new o.EventTimeline(this);return this._timelines.push(e),e},l.prototype.addEventsToTimeline=function(e,t,n,r){if(!n)throw new Error("'timeline' not specified for EventTimelineSet.addEventsToTimeline");if(!t&&n==this._liveTimeline)throw new Error("EventTimelineSet.addEventsToTimeline cannot be used for adding events to the live timeline - use Room.addLiveEvents instead");if(this._filter&&!(e=this._filter.filterRoomTimeline(e)).length)return;const i=t?o.EventTimeline.BACKWARDS:o.EventTimeline.FORWARDS,s=t?o.EventTimeline.FORWARDS:o.EventTimeline.BACKWARDS;let a=!1,c=!1;for(let r=0;r<e.length;r++){const l=e[r],d=l.getId(),h=this._eventIdToTimeline[d];if(!h){this.addEventToTimeline(l,n,t),c=!0,a=!0;continue}if(c=!1,h==n){u("Event "+d+" already in timeline "+n);continue}const p=n.getNeighbouringTimeline(i);if(p){u(h==p?"Event "+d+" in neighbouring timeline - switching to "+h:"Event "+d+" already in a different timeline "+h),n=h;continue}f.logger.info("Already have timeline for "+d+" - joining timeline "+n+" to "+h);const g=h===this._liveTimeline,m=n===this._liveTimeline,_=i===o.EventTimeline.BACKWARDS&&g,y=i===o.EventTimeline.FORWARDS&&m;_||y?(_&&f.logger.warn("Refusing to set a preceding existingTimeLine on our timeline as the existingTimeLine is live ("+h+")"),y&&f.logger.warn("Refusing to set our preceding timeline on a existingTimeLine as our timeline is live ("+n+")")):(n.setNeighbouringTimeline(h,i),h.setNeighbouringTimeline(n,s),n=h,a=!0)}if(c||!a){if(i===o.EventTimeline.FORWARDS&&n===this._liveTimeline)return f.logger.warn({lastEventWasNew:c,didUpdate:a}),void f.logger.warn("Refusing to set forwards pagination token of live timeline "+`${n} to ${r}`);n.setPaginationToken(r,i)}},l.prototype.addLiveEvent=function(e,t){if(this._filter){if(!this._filter.filterRoomTimeline([e]).length)return}const n=this._eventIdToTimeline[e.getId()];if(n)if("replace"===t){u("EventTimelineSet.addLiveEvent: replacing duplicate event "+e.getId());const t=n.getEvents();for(let r=0;r<t.length;r++)if(t[r].getId()===e.getId()){o.EventTimeline.setEventMetadata(e,n.getState(o.EventTimeline.FORWARDS),!1),t[r].encryptedType||(t[r]=e);break}}else u("EventTimelineSet.addLiveEvent: ignoring duplicate event "+e.getId());else this.addEventToTimeline(e,this._liveTimeline,!1)},l.prototype.addEventToTimeline=function(e,t,n){const r=e.getId();t.addEvent(e,n),this._eventIdToTimeline[r]=t,this.setRelationsTarget(e),this.aggregateRelations(e);const i={timeline:t,liveEvent:!n&&t==this._liveTimeline};this.emit("Room.timeline",e,this.room,Boolean(n),!1,i)},l.prototype.handleRemoteEcho=function(e,t,n){const r=this._eventIdToTimeline[t];r?(delete this._eventIdToTimeline[t],this._eventIdToTimeline[n]=r):this._filter?this._filter.filterRoomTimeline([e]).length&&this.addEventToTimeline(e,this._liveTimeline,!1):this.addEventToTimeline(e,this._liveTimeline,!1)},l.prototype.removeEvent=function(e){const t=this._eventIdToTimeline[e];if(!t)return null;const n=t.removeEvent(e);if(n){delete this._eventIdToTimeline[e];const r={timeline:t};this.emit("Room.timeline",n,this.room,void 0,!0,r)}return n},l.prototype.compareEventOrdering=function(e,t){if(e==t)return 0;const n=this._eventIdToTimeline[e],r=this._eventIdToTimeline[t];if(void 0===n)return null;if(void 0===r)return null;if(n===r){let r,i;const o=n.getEvents();for(let n=0;n<o.length&&(void 0===r||void 0===i);n++){const s=o[n].getId();s==e&&(r=n),s==t&&(i=n)}return r-i}let i=n;for(;i;){if(i===r)return-1;i=i.getNeighbouringTimeline(o.EventTimeline.FORWARDS)}for(i=n;i;){if(i===r)return 1;i=i.getNeighbouringTimeline(o.EventTimeline.BACKWARDS)}return null},l.prototype.getRelationsForEvent=function(e,t,n){if(!this._unstableClientRelationAggregation)throw new Error("Client-side relation aggregation is disabled");if(!e||!t||!n)throw new Error("Invalid arguments for `getRelationsForEvent`");return((this._relations[e]||{})[t]||{})[n]},l.prototype.setRelationsTarget=function(e){if(!this._unstableClientRelationAggregation)return;const t=this._relations[e.getId()];if(!t)return;const n=t["m.replace"];if(!n)return;const r=n["m.room.message"];r&&r.setTargetEvent(e)},l.prototype.aggregateRelations=function(e){if(!this._unstableClientRelationAggregation)return;if(e.isRedacted()||e.status===s.EventStatus.CANCELLED)return;if(e.isBeingDecrypted())return void e.once("Event.decrypted",()=>{this.aggregateRelations(e)});const t=e.getRelation();if(!t)return;const n=t.event_id,r=t.rel_type,i=e.getType();let o=this._relations[n];o||(o=this._relations[n]={});let a=o[r];a||(a=o[r]={});let f,u=a[i],l=!1;u||(u=a[i]=new c.Relations(r,i,this.room),l=!0,f=this.findEventById(n),f&&u.setTargetEvent(f)),u.addEvent(e),l&&f&&f.emit("Event.relationsCreated",r,i)}},function(e,t,n){"use strict";var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.RoomState=f;var i=n(10),o=n(75),s=n(4),a=r(n(8));function f(e,t){this.roomId=e,this.members={},this.events={},this.paginationToken=null,this._sentinels={},this._updateModifiedTime(),this._displayNameToUserIds={},this._userIdsToDisplayNames={},this._tokenToInvite={},this._joinedMemberCount=null,this._summaryJoinedMemberCount=null,this._invitedMemberCount=null,this._summaryInvitedMemberCount=null,t||(t={status:1}),this._oobMemberFlags=t}function c(e,t,n){const r=e._userIdsToDisplayNames[t];if(delete e._userIdsToDisplayNames[t],r){const n=a.removeHiddenChars(r),i=e._displayNameToUserIds[n];if(i){const r=i.filter(e=>e!==t);e._displayNameToUserIds[n]=r}}e._userIdsToDisplayNames[t]=n;const i=n&&a.removeHiddenChars(n);i&&(e._displayNameToUserIds[i]||(e._displayNameToUserIds[i]=[]),e._displayNameToUserIds[i].push(t))}a.inherits(f,i.EventEmitter),f.prototype.getJoinedMemberCount=function(){return null!==this._summaryJoinedMemberCount?this._summaryJoinedMemberCount:(null===this._joinedMemberCount&&(this._joinedMemberCount=this.getMembers().reduce((e,t)=>"join"===t.membership?e+1:e,0)),this._joinedMemberCount)},f.prototype.setJoinedMemberCount=function(e){this._summaryJoinedMemberCount=e},f.prototype.getInvitedMemberCount=function(){return null!==this._summaryInvitedMemberCount?this._summaryInvitedMemberCount:(null===this._invitedMemberCount&&(this._invitedMemberCount=this.getMembers().reduce((e,t)=>"invite"===t.membership?e+1:e,0)),this._invitedMemberCount)},f.prototype.setInvitedMemberCount=function(e){this._summaryInvitedMemberCount=e},f.prototype.getMembers=function(){return a.values(this.members)},f.prototype.getMembersExcept=function(e){return a.values(this.members).filter(t=>!e.includes(t.userId))},f.prototype.getMember=function(e){return this.members[e]||null},f.prototype.getSentinelMember=function(e){if(!e)return null;let t=this._sentinels[e];if(void 0===t){t=new o.RoomMember(this.roomId,e);const n=this.members[e];n&&t.setMembershipEvent(n.events.member,this),this._sentinels[e]=t}return t},f.prototype.getStateEvents=function(e,t){if(!this.events[e])return void 0===t?[]:null;if(void 0===t)return a.values(this.events[e]);const n=this.events[e][t];return n||null},f.prototype.clone=function(){const e=new f(this.roomId,this._oobMemberFlags),t=this._oobMemberFlags.status;return this._oobMemberFlags.status=1,Object.values(this.events).forEach(t=>{const n=Object.values(t);e.setStateEvents(n)}),this._oobMemberFlags.status=t,null!==this._summaryInvitedMemberCount&&e.setInvitedMemberCount(this.getInvitedMemberCount()),null!==this._summaryJoinedMemberCount&&e.setJoinedMemberCount(this.getJoinedMemberCount()),3==this._oobMemberFlags.status&&this.getMembers().forEach(t=>{if(t.isOutOfBand()){e.getMember(t.userId).markOutOfBand()}}),e},f.prototype.setUnknownStateEvents=function(e){const t=e.filter(e=>void 0===this.events[e.getType()]||void 0===this.events[e.getType()][e.getStateKey()]);this.setStateEvents(t)},f.prototype.setStateEvents=function(e){const t=this;this._updateModifiedTime(),a.forEach(e,(function(e){e.getRoomId()===t.roomId&&e.isState()&&(t._setStateEvent(e),"m.room.member"===e.getType()&&(c(t,e.getStateKey(),e.getContent().displayname),function(e,t){if(!t.getContent().third_party_invite)return;const n=(t.getContent().third_party_invite.signed||{}).token;if(!n)return;if(!e.getStateEvents("m.room.third_party_invite",n))return;e._tokenToInvite[n]=t}(t,e)),t.emit("RoomState.events",e,t))})),a.forEach(e,(function(e){if(e.getRoomId()===t.roomId&&e.isState())if("m.room.member"===e.getType()){const n=e.getStateKey();"leave"!==e.getContent().membership&&"ban"!==e.getContent().membership||(e.getContent().avatar_url=e.getContent().avatar_url||e.getPrevContent().avatar_url,e.getContent().displayname=e.getContent().displayname||e.getPrevContent().displayname);const r=t._getOrCreateMember(n,e);r.setMembershipEvent(e,t),t._updateMember(r),t.emit("RoomState.members",e,t,r)}else if("m.room.power_levels"===e.getType()){const n=a.values(t.members);a.forEach(n,(function(n){n.setPowerLevelEvent(e),t.emit("RoomState.members",e,t,n)})),t._sentinels={}}}))},f.prototype._getOrCreateMember=function(e,t){let n=this.members[e];return n||(n=new o.RoomMember(this.roomId,e),this.members[e]=n,this.emit("RoomState.newMember",t,this,n)),n},f.prototype._setStateEvent=function(e){void 0===this.events[e.getType()]&&(this.events[e.getType()]={}),this.events[e.getType()][e.getStateKey()]=e},f.prototype._updateMember=function(e){const t=this.getStateEvents("m.room.power_levels","");t&&e.setPowerLevelEvent(t),delete this._sentinels[e.userId],this.members[e.userId]=e,this._joinedMemberCount=null,this._invitedMemberCount=null},f.prototype.needsOutOfBandMembers=function(){return 1===this._oobMemberFlags.status},f.prototype.markOutOfBandMembersStarted=function(){1===this._oobMemberFlags.status&&(this._oobMemberFlags.status=2)},f.prototype.markOutOfBandMembersFailed=function(){2===this._oobMemberFlags.status&&(this._oobMemberFlags.status=1)},f.prototype.clearOutOfBandMembers=function(){let e=0;Object.keys(this.members).forEach(t=>{this.members[t].isOutOfBand()&&(++e,delete this.members[t])}),s.logger.log(`LL: RoomState removed ${e} members...`),this._oobMemberFlags.status=1},f.prototype.setOutOfBandMembers=function(e){s.logger.log(`LL: RoomState about to set ${e.length} OOB members ...`),2===this._oobMemberFlags.status&&(s.logger.log("LL: RoomState put in OOB_STATUS_FINISHED state ..."),this._oobMemberFlags.status=3,e.forEach(e=>this._setOutOfBandMember(e)))},f.prototype._setOutOfBandMember=function(e){if("m.room.member"!==e.getType())return;const t=e.getStateKey(),n=this.getMember(t);if(n&&!n.isOutOfBand())return;const r=this._getOrCreateMember(t,e);r.setMembershipEvent(e,this),r.markOutOfBand(),c(this,r.userId,r.name),this._setStateEvent(e),this._updateMember(r),this.emit("RoomState.members",e,this,r)},f.prototype.setTypingEvent=function(e){a.forEach(a.values(this.members),(function(t){t.setTypingEvent(e)}))},f.prototype.getInviteForThreePidToken=function(e){return this._tokenToInvite[e]||null},f.prototype._updateModifiedTime=function(){this._modified=Date.now()},f.prototype.getLastModifiedTime=function(){return this._modified},f.prototype.getUserIdsWithDisplayName=function(e){return this._displayNameToUserIds[a.removeHiddenChars(e)]||[]},f.prototype.maySendRedactionForEvent=function(e,t){const n=this.getMember(t);if(!n||"leave"===n.membership)return!1;if(e.status||e.isRedacted())return!1;const r=this.maySendEvent("m.room.redaction",t);return e.getSender()===t?r:this._hasSufficientPowerLevelFor("redact",n.powerLevel)},f.prototype._hasSufficientPowerLevelFor=function(e,t){const n=this.getStateEvents("m.room.power_levels","");let r={};n&&(r=n.getContent());let i=50;return a.isNumber(r[e])&&(i=r[e]),t>=i},f.prototype.maySendMessage=function(e){return this._maySendEventOfType("m.room.message",e,!1)},f.prototype.maySendEvent=function(e,t){return this._maySendEventOfType(e,t,!1)},f.prototype.mayClientSendStateEvent=function(e,t){return!t.isGuest()&&this.maySendStateEvent(e,t.credentials.userId)},f.prototype.maySendStateEvent=function(e,t){return this._maySendEventOfType(e,t,!0)},f.prototype._maySendEventOfType=function(e,t,n){const r=this.getStateEvents("m.room.power_levels","");let i,o={},s=0,a=0,f=0;if(r){i=r.getContent(),o=i.events||{},s=Number.isFinite(i.state_default)?i.state_default:50;const e=i.users&&i.users[t];Number.isFinite(e)?f=e:Number.isFinite(i.users_default)&&(f=i.users_default),Number.isFinite(i.events_default)&&(a=i.events_default)}let c=n?s:a;return Number.isFinite(o[e])&&(c=o[e]),f>=c},f.prototype.mayTriggerNotifOfType=function(e,t){const n=this.getMember(t);if(!n)return!1;const r=this.getStateEvents("m.room.power_levels","");let i=50;return r&&r.getContent()&&r.getContent().notifications&&a.isNumber(r.getContent().notifications[e])&&(i=r.getContent().notifications[e]),n.powerLevel>=i}},function(e,t,n){"use strict";var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.Group=s;var i=r(n(8)),o=n(10);function s(e){this.groupId=e,this.name=null,this.avatarUrl=null,this.myMembership=null,this.inviter=null}i.inherits(s,o.EventEmitter),s.prototype.setProfile=function(e,t){this.name===e&&this.avatarUrl===t||(this.name=e||this.groupId,this.avatarUrl=t,this.emit("Group.profile",this))},s.prototype.setMyMembership=function(e){this.myMembership!==e&&(this.myMembership=e,this.emit("Group.myMembership",this))},s.prototype.setInviter=function(e){this.inviter=e}},function(e,t,n){"use strict";(function(e){var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.MatrixCall=a,t.setAudioOutput=function(e){R=e},t.setAudioInput=function(e){T=e},t.setVideoInput=function(e){O=e},t.createNewMatrixCall=function(t,n,r){const o=e.window,s=e.document;if(!o||!s)return null;const f={};f.isOpenWebRTC=function(){const e=s.getElementById("script");if(!e||!e.length)return!1;for(let t=0;t<e.length;t++)if(e[t].src.indexOf("owr.js")>-1)return!0;return!1};const c=o.navigator.getUserMedia||o.navigator.webkitGetUserMedia||o.navigator.mozGetUserMedia;c&&(f.getUserMedia=function(){return c.apply(o.navigator,arguments)});try{f.RtcPeerConnection=o.RTCPeerConnection||o.webkitRTCPeerConnection||o.mozRTCPeerConnection,f.RtcSessionDescription=o.RTCSessionDescription||o.webkitRTCSessionDescription||o.mozRTCSessionDescription,f.RtcIceCandidate=o.RTCIceCandidate||o.webkitRTCIceCandidate||o.mozRTCIceCandidate,f.vendor=null,o.mozRTCPeerConnection?f.vendor="mozilla":o.webkitRTCPeerConnection?f.vendor="webkit":o.RTCPeerConnection&&(f.vendor="generic")}catch(e){return i.logger.error("Failed to set up WebRTC object: possible browser interference?"),i.logger.error(e),null}if(!(f.RtcIceCandidate&&f.RtcSessionDescription&&f.RtcPeerConnection&&f.getUserMedia))return null;const u=!!r&&r.forceTURN;return new a({webRtc:f,client:t,URL:o.URL,roomId:n,turnServers:t.getTurnServers(),forceTURN:t._forceTURN||u})};var i=n(4),o=n(10),s=r(n(8));function a(e){this.roomId=e.roomId,this.client=e.client,this.webRtc=e.webRtc,this.forceTURN=e.forceTURN,this.URL=e.URL,this.turnServers=e.turnServers||[],0===this.turnServers.length&&this.client.isFallbackICEServerAllowed()&&this.turnServers.push({urls:[a.FALLBACK_ICE_SERVER]}),s.forEach(this.turnServers,(function(e){s.checkObjectHasKeys(e,["urls"])})),this.callId="c"+(new Date).getTime()+Math.random(),this.state="fledgling",this.didConnect=!1,this.candidateSendQueue=[],this.candidateSendTries=0,this.mediaPromises=Object.create(null),this.screenSharingStream=null,this._answerContent=null}a.CALL_TIMEOUT_MS=6e4,a.FALLBACK_ICE_SERVER="stun:turn.matrix.org",a.ERR_LOCAL_OFFER_FAILED="local_offer_failed",a.ERR_NO_USER_MEDIA="no_user_media",a.ERR_UNKNOWN_DEVICES="unknown_devices",a.ERR_SEND_INVITE="send_invite",a.ERR_SEND_ANSWER="send_answer",s.inherits(a,o.EventEmitter),a.prototype.placeVoiceCall=function(){b("placeVoiceCall"),_(this),A(this,S("voice")),this.type="voice"},a.prototype.placeVideoCall=function(e,t){b("placeVideoCall"),_(this),this.localVideoElement=t,this.remoteVideoElement=e,A(this,S("video")),this.type="video",g(this)},a.prototype.placeScreenSharingCall=function(e,t){b("placeScreenSharingCall"),_(this);const n=E(this);if(!n)return;this.localVideoElement=t,this.remoteVideoElement=e;const r=this;this.webRtc.getUserMedia(n,(function(e){r.screenSharingStream=e,b("Got screen stream, requesting audio stream...");const t=S("voice");A(r,t)}),(function(e){r.emit("error",y(a.ERR_NO_USER_MEDIA,"Failed to get screen-sharing stream: "+e))})),this.type="video",g(this)},a.prototype.playElement=function(e,t){i.logger.log("queuing play on "+t+" and element "+e),this.mediaPromises[t]?this.mediaPromises[t]=this.mediaPromises[t].then((function(){return i.logger.log("previous promise completed for "+t),e.play()}),(function(){return i.logger.log("previous promise failed for "+t),e.play()})):this.mediaPromises[t]=e.play()},a.prototype.pauseElement=function(e,t){i.logger.log("queuing pause on "+t+" and element "+e),this.mediaPromises[t]?this.mediaPromises[t]=this.mediaPromises[t].then((function(){return i.logger.log("previous promise completed for "+t),e.pause()}),(function(){return i.logger.log("previous promise failed for "+t),e.pause()})):this.mediaPromises[t]=e.pause()},a.prototype.assignElement=function(e,t,n){i.logger.log("queuing assign on "+n+" element "+e+" for "+t),this.mediaPromises[n]?this.mediaPromises[n]=this.mediaPromises[n].then((function(){i.logger.log("previous promise completed for "+n),e.srcObject=t}),(function(){i.logger.log("previous promise failed for "+n),e.srcObject=t})):e.srcObject=t},a.prototype.getLocalVideoElement=function(){return this.localVideoElement},a.prototype.getRemoteVideoElement=function(){return this.remoteVideoElement},a.prototype.getRemoteAudioElement=function(){return this.remoteAudioElement},a.prototype.setLocalVideoElement=function(e){if(this.localVideoElement=e,e&&this.localAVStream&&"video"===this.type){e.autoplay=!0,this.assignElement(e,this.localAVStream,"localVideo"),e.muted=!0;const t=this;setTimeout((function(){const e=t.getLocalVideoElement();e.play&&t.playElement(e,"localVideo")}),0)}},a.prototype.setRemoteVideoElement=function(e){this.remoteVideoElement=e,g(this)},a.prototype.setRemoteAudioElement=function(e){this.remoteVideoElement.muted=!0,this.remoteAudioElement=e,this.remoteAudioElement.muted=!1,m(this)},a.prototype._initWithInvite=function(e){this.msg=e.getContent(),this.peerConn=w(this);const t=this;this.peerConn&&this.peerConn.setRemoteDescription(new this.webRtc.RtcSessionDescription(this.msg.offer),k(t,t._onSetRemoteDescriptionSuccess),k(t,t._onSetRemoteDescriptionError)),u(this,"ringing"),this.direction="inbound",this.msg.offer&&this.msg.offer.sdp&&this.msg.offer.sdp.indexOf("m=video")>-1?this.type="video":this.type="voice",e.getAge()&&setTimeout((function(){"ringing"==t.state&&(b("Call invite has expired. Hanging up."),t.hangupParty="remote",u(t,"ended"),p(t),"closed"!=t.peerConn.signalingState&&t.peerConn.close(),t.emit("hangup",t))}),this.msg.lifetime-e.getAge())},a.prototype._initWithHangup=function(e){this.msg=e.getContent(),u(this,"ended")},a.prototype.answer=function(){b("Answering call %s of type %s",this.callId,this.type);const e=this;e._answerContent?e._sendAnswer():this.localAVStream||this.waitForLocalAVStream?this.localAVStream?this._maybeGotUserMediaForAnswer(this.localAVStream):this.waitForLocalAVStream&&u(this,"wait_local_media"):(this.webRtc.getUserMedia(S(this.type),k(e,e._maybeGotUserMediaForAnswer),k(e,e._maybeGotUserMediaForAnswer)),u(this,"wait_local_media"))},a.prototype._replacedBy=function(e){b(this.callId+" being replaced by "+e.callId),"wait_local_media"==this.state?(b("Telling new call to wait for local media"),e.waitForLocalAVStream=!0):"create_offer"==this.state?(b("Handing local stream to new call"),e._maybeGotUserMediaForAnswer(this.localAVStream),delete this.localAVStream):"invite_sent"==this.state&&(b("Handing local stream to new call"),e._maybeGotUserMediaForAnswer(this.localAVStream),delete this.localAVStream),e.localVideoElement=this.localVideoElement,e.remoteVideoElement=this.remoteVideoElement,e.remoteAudioElement=this.remoteAudioElement,this.successor=e,this.emit("replaced",e),this.hangup(!0)},a.prototype.hangup=function(e,t){if("ended"==this.state)return;b("Ending call "+this.callId),h(this,"local",e,!t);const n={version:0,call_id:this.callId,reason:e};l(this,"m.call.hangup",n)},a.prototype.setLocalVideoMuted=function(e){this.localAVStream&&f(this.localAVStream.getVideoTracks(),!e)},a.prototype.isLocalVideoMuted=function(){return!!this.localAVStream&&!c(this.localAVStream.getVideoTracks())},a.prototype.setMicrophoneMuted=function(e){this.localAVStream&&f(this.localAVStream.getAudioTracks(),!e)},a.prototype.isMicrophoneMuted=function(){return!!this.localAVStream&&!c(this.localAVStream.getAudioTracks())},a.prototype._maybeGotUserMediaForInvite=function(e){if(this.successor)return void this.successor._maybeGotUserMediaForAnswer(e);if("ended"==this.state)return;b("_maybeGotUserMediaForInvite -> "+this.type);const t=this,n=e,r={mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:"video"===t.type}};if(e instanceof MediaStream){const n=this.getLocalVideoElement();n&&"video"==this.type&&(n.autoplay=!0,this.screenSharingStream?(b("Setting screen sharing stream to the local video element"),this.assignElement(n,this.screenSharingStream,"localVideo")):this.assignElement(n,e,"localVideo"),n.muted=!0,setTimeout((function(){const e=t.getLocalVideoElement();e.play&&t.playElement(e,"localVideo")}),0)),this.screenSharingStream&&(this.screenSharingStream.addTrack(e.getAudioTracks()[0]),e=this.screenSharingStream),this.localAVStream=e,f(e.getAudioTracks(),!0),this.peerConn=w(this),this.peerConn.addStream(e)}else{if("PermissionDeniedError"!==n.name)return b("Failed to getUserMedia: "+n.name),void this._getUserMediaFailed(n);b("User denied access to camera/microphone. Or possibly you are using an insecure domain. Receiving only."),this.peerConn=w(this)}this.peerConn.createOffer(k(t,t._gotLocalOffer),k(t,t._getLocalOfferFailed),r),u(t,"create_offer")},a.prototype._sendAnswer=function(e){l(this,"m.call.answer",this._answerContent).then(()=>{u(this,"connecting"),v(this)}).catch(e=>{u(this,"ringing"),this.client.cancelPendingEvent(e.event);let t=a.ERR_SEND_ANSWER,n="Failed to send answer";throw"UnknownDeviceError"==e.name&&(t=a.ERR_UNKNOWN_DEVICES,n="Unknown devices present in the room"),this.emit("error",y(t,n)),e})},a.prototype._maybeGotUserMediaForAnswer=function(e){const t=this;if("ended"==t.state)return;const n=e;if(e instanceof MediaStream){const n=t.getLocalVideoElement();n&&"video"==t.type&&(n.autoplay=!0,this.assignElement(n,e,"localVideo"),n.muted=!0,setTimeout((function(){const e=t.getLocalVideoElement();e.play&&t.playElement(e,"localVideo")}),0)),t.localAVStream=e,f(e.getAudioTracks(),!0),t.peerConn.addStream(e)}else{if("PermissionDeniedError"!==n.name)return b("Failed to getUserMedia: "+n.name),void this._getUserMediaFailed(n);b("User denied access to camera/microphone. Or possibly you are using an insecure domain. Receiving only.")}const r={mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:"video"===t.type}};t.peerConn.createAnswer((function(e){b("Created answer: ",e),t.peerConn.setLocalDescription(e,(function(){t._answerContent={version:0,call_id:t.callId,answer:{sdp:t.peerConn.localDescription.sdp,type:t.peerConn.localDescription.type}},t._sendAnswer()}),(function(){b("Error setting local description!")}),r)}),(function(e){b("Failed to create answer: "+e)})),u(t,"create_answer")},a.prototype._gotLocalIceCandidate=function(e){if(e.candidate){if(b("Got local ICE "+e.candidate.sdpMid+" candidate: "+e.candidate.candidate),"ended"==this.state)return;const t={candidate:e.candidate.candidate,sdpMid:e.candidate.sdpMid,sdpMLineIndex:e.candidate.sdpMLineIndex};d(this,t)}},a.prototype._gotRemoteIceCandidate=function(e){"ended"!=this.state&&(b("Got remote ICE "+e.sdpMid+" candidate: "+e.candidate),this.peerConn.addIceCandidate(new this.webRtc.RtcIceCandidate(e),(function(){}),(function(e){})))},a.prototype._receivedAnswer=function(e){if("ended"==this.state)return;this.peerConn.setRemoteDescription(new this.webRtc.RtcSessionDescription(e.answer),k(this,this._onSetRemoteDescriptionSuccess),k(this,this._onSetRemoteDescriptionError)),u(this,"connecting")},a.prototype._gotLocalOffer=function(e){const t=this;b("Created offer: ",e),"ended"!=t.state?t.peerConn.setLocalDescription(e,(function(){const e={version:0,call_id:t.callId,offer:{sdp:t.peerConn.localDescription.sdp,type:t.peerConn.localDescription.type},lifetime:a.CALL_TIMEOUT_MS};l(t,"m.call.invite",e).then(()=>{u(t,"invite_sent"),setTimeout((function(){"invite_sent"==t.state&&t.hangup("invite_timeout")}),a.CALL_TIMEOUT_MS)}).catch(e=>{let n=a.ERR_SEND_INVITE,r="Failed to send invite";throw"UnknownDeviceError"==e.name&&(n=a.ERR_UNKNOWN_DEVICES,r="Unknown devices present in the room"),t.client.cancelPendingEvent(e.event),h(t,"local",n,!1),t.emit("error",y(n,r)),e})}),(function(){b("Error setting local description!")})):b("Ignoring newly created offer on call ID "+t.callId+" because the call has ended")},a.prototype._getLocalOfferFailed=function(e){this.emit("error",y(a.ERR_LOCAL_OFFER_FAILED,"Failed to start audio for call!"))},a.prototype._getUserMediaFailed=function(e){h(this,"local","user_media_failed",!1),this.emit("error",y(a.ERR_NO_USER_MEDIA,"Couldn't start capturing media! Is your microphone set up and does this app have permission?"))},a.prototype._onIceConnectionStateChanged=function(){"ended"!=this.state&&(b("Ice connection state changed to: "+this.peerConn.iceConnectionState),"completed"==this.peerConn.iceConnectionState||"connected"==this.peerConn.iceConnectionState?(u(this,"connected"),this.didConnect=!0):"failed"==this.peerConn.iceConnectionState&&this.hangup("ice_failed"))},a.prototype._onSignallingStateChanged=function(){b("call "+this.callId+": Signalling state changed to: "+this.peerConn.signalingState)},a.prototype._onSetRemoteDescriptionSuccess=function(){b("Set remote description")},a.prototype._onSetRemoteDescriptionError=function(e){b("Failed to set remote description"+e)},a.prototype._onAddStream=function(e){b("Stream id "+e.stream.id+" added");const t=e.stream;t.getVideoTracks().length>0?(this.type="video",this.remoteAVStream=t,this.remoteAStream=t):(this.type="voice",this.remoteAStream=t);const n=this;I(t,(function(e){b("Track id "+e.id+" added"),e.onstarted=k(n,n._onRemoteStreamTrackStarted)})),void 0!==e.stream.oninactive?e.stream.oninactive=k(n,n._onRemoteStreamEnded):e.stream.onended=k(n,n._onRemoteStreamEnded),e.stream.onstarted=k(n,n._onRemoteStreamStarted),"video"===this.type?(g(this),m(this)):m(this)},a.prototype._onRemoteStreamStarted=function(e){u(this,"connected")},a.prototype._onRemoteStreamEnded=function(e){b("Remote stream ended"),this.hangupParty="remote",u(this,"ended"),p(this),"closed"!=this.peerConn.signalingState&&this.peerConn.close(),this.emit("hangup",this)},a.prototype._onRemoteStreamTrackStarted=function(e){u(this,"connected")},a.prototype._onHangupReceived=function(e){b("Hangup received"),h(this,"remote",e.reason,!0)},a.prototype._onAnsweredElsewhere=function(e){b("Answered elsewhere"),h(this,"remote","answered_elsewhere",!0)};const f=function(e,t){for(let n=0;n<e.length;n++)e[n].enabled=t},c=function(e){for(let t=0;t<e.length;t++)if(e[t].enabled)return!0;return!1},u=function(e,t){const n=e.state;e.state=t,e.emit("state",t,n)},l=function(e,t,n){return e.client.sendEvent(e.roomId,t,n)},d=function(e,t){e.candidateSendQueue.push(t),"ringing"!=e.state&&0===e.candidateSendTries&&setTimeout((function(){v(e)}),100)},h=function(e,t,n,r){e.getRemoteVideoElement()&&(e.getRemoteVideoElement().pause&&e.pauseElement(e.getRemoteVideoElement(),"remoteVideo"),e.assignElement(e.getRemoteVideoElement(),null,"remoteVideo")),e.getRemoteAudioElement()&&(e.getRemoteAudioElement().pause&&e.pauseElement(e.getRemoteAudioElement(),"remoteAudio"),e.assignElement(e.getRemoteAudioElement(),null,"remoteAudio")),e.getLocalVideoElement()&&(e.getLocalVideoElement().pause&&e.pauseElement(e.getLocalVideoElement(),"localVideo"),e.assignElement(e.getLocalVideoElement(),null,"localVideo")),e.hangupParty=t,e.hangupReason=n,u(e,"ended"),p(e),e.peerConn&&"closed"!==e.peerConn.signalingState&&e.peerConn.close(),r&&e.emit("hangup",e)},p=function(e){b("stopAllMedia (stream=%s)",e.localAVStream),e.localAVStream&&(I(e.localAVStream,(function(e){e.stop&&e.stop()})),e.localAVStream.stop&&e.localAVStream.stop()),e.screenSharingStream&&(I(e.screenSharingStream,(function(e){e.stop&&e.stop()})),e.screenSharingStream.stop&&e.screenSharingStream.stop()),e.remoteAVStream&&I(e.remoteAVStream,(function(e){e.stop&&e.stop()})),e.remoteAStream&&I(e.remoteAStream,(function(e){e.stop&&e.stop()}))},g=function(e){if(e.getRemoteVideoElement()&&e.remoteAVStream){const t=e.getRemoteVideoElement();t.autoplay=!0,e.assignElement(t,e.remoteAVStream,"remoteVideo"),setTimeout((function(){const t=e.getRemoteVideoElement();t.play&&e.playElement(t,"remoteVideo"),e.webRtc.isOpenWebRTC()&&u(e,"connected")}),0)}},m=async function(e){if(e.getRemoteAudioElement()&&e.remoteAStream){const t=e.getRemoteAudioElement();R&&await t.setSinkId(R),t.autoplay=!0,e.assignElement(t,e.remoteAStream,"remoteAudio"),setTimeout((function(){const t=e.getRemoteAudioElement();t.play&&e.playElement(t,"remoteAudio"),e.webRtc.isOpenWebRTC()&&u(e,"connected")}),0)}},_=function(e){if(0===e.listeners("error").length)throw new Error("You MUST attach an error listener using call.on('error', function() {})")},y=function(e,t){const n=new Error(t);return n.code=e,n},b=function(){i.logger.log(...arguments)},v=function(e){if(0===e.candidateSendQueue.length)return;const t=e.candidateSendQueue;e.candidateSendQueue=[],++e.candidateSendTries;const n={version:0,call_id:e.callId,candidates:t};b("Attempting to send "+t.length+" candidates"),l(e,"m.call.candidates",n).then((function(){e.candidateSendTries=0,v(e)}),(function(n){for(let n=0;n<t.length;n++)e.candidateSendQueue.push(t[n]);if(e.candidateSendTries>5)return b("Failed to send candidates on attempt %s. Giving up for now.",e.candidateSendTries),void(e.candidateSendTries=0);const r=500*Math.pow(2,e.candidateSendTries);++e.candidateSendTries,b("Failed to send candidates. Retrying in "+r+"ms"),setTimeout((function(){v(e)}),r)}))},A=function(e,t){e.client.callList[e.callId]=e,e.webRtc.getUserMedia(t,k(e,e._maybeGotUserMediaForInvite),k(e,e._maybeGotUserMediaForInvite)),u(e,"wait_local_media"),e.direction="outbound",e.config=t},w=function(e){const t=new e.webRtc.RtcPeerConnection({iceTransportPolicy:e.forceTURN?"relay":void 0,iceServers:e.turnServers});return t.oniceconnectionstatechange=k(e,e._onIceConnectionStateChanged),t.onsignalingstatechange=k(e,e._onSignallingStateChanged),t.onicecandidate=k(e,e._gotLocalIceCandidate),t.onaddstream=k(e,e._onAddStream),t},E=function(t){const n=e.screen;if(n)return{video:{mediaSource:"screen",mandatory:{chromeMediaSource:"screen",chromeMediaSourceId:""+Date.now(),maxWidth:n.width,maxHeight:n.height,minFrameRate:1,maxFrameRate:10}}};t.emit("error",y(a.ERR_NO_USER_MEDIA,"Couldn't determine screen sharing constaints."))},S=function(t){const n=!!e.window.navigator.webkitGetUserMedia;switch(t){case"voice":return{audio:{deviceId:T?{ideal:T}:void 0},video:!1};case"video":return{audio:{deviceId:T?{ideal:T}:void 0},video:{deviceId:O?{ideal:O}:void 0,width:n?{exact:640}:{ideal:640},height:n?{exact:360}:{ideal:360}}}}},k=function(e,t){return function(){return t.apply(e,arguments)}},I=function(e,t){!function(e,t){const n=e.getVideoTracks();for(let e=0;e<n.length;e++)t(n[e])}(e,t),function(e,t){const n=e.getAudioTracks();for(let e=0;e<n.length;e++)t(n[e])}(e,t)};let R,T,O}).call(this,n(6))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.makeHtmlMessage=function(e,t){return{msgtype:"m.text",format:"org.matrix.custom.html",body:e,formatted_body:t}},t.makeHtmlNotice=function(e,t){return{msgtype:"m.notice",format:"org.matrix.custom.html",body:e,formatted_body:t}},t.makeHtmlEmote=function(e,t){return{msgtype:"m.emote",format:"org.matrix.custom.html",body:e,formatted_body:t}},t.makeTextMessage=function(e){return{msgtype:"m.text",body:e}},t.makeNotice=function(e){return{msgtype:"m.notice",body:e}},t.makeEmoteMessage=function(e){return{msgtype:"m.emote",body:e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.exists=function(e,t){return new Promise((n,r)=>{let i=!0;const o=e.open(t);o.onupgradeneeded=()=>{i=!1},o.onblocked=()=>r(),o.onsuccess=()=>{o.result.close(),i||e.deleteDatabase(t),n(i)},o.onerror=e=>r(e.target.error)})}},function(e,t,n){"use strict";(function(e){var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.OlmDevice=f,t.WITHHELD_MESSAGES=void 0;var i=n(4),o=n(33),s=r(n(137));function a(e){if(void 0===e)throw new Error("payloadString undefined");if(e.length>49152)throw new Error("Message too long ("+e.length+" bytes). The maximum for an encrypted message is 49152 bytes.")}function f(e){this._cryptoStore=e,this._pickleKey="DEFAULT_KEY",this.deviceCurve25519Key=null,this.deviceEd25519Key=null,this._maxOneTimeKeys=null,this._outboundGroupSessionStore={},this._inboundGroupSessionMessageIndexes={},this._sessionsInProgress={}}f.prototype.init=async function(){let t;const n=new e.Olm.Account;try{await async function(e,t,n){await e.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_ACCOUNT],r=>{e.getAccount(r,i=>{null!==i?n.unpickle(t,i):(n.create(),i=n.pickle(t),e.storeAccount(r,i))})})}(this._cryptoStore,this._pickleKey,n),t=JSON.parse(n.identity_keys()),this._maxOneTimeKeys=n.max_number_of_one_time_keys()}finally{n.free()}this.deviceCurve25519Key=t.curve25519,this.deviceEd25519Key=t.ed25519},f.getOlmVersion=function(){return e.Olm.get_library_version()},f.prototype._getAccount=function(t,n){this._cryptoStore.getAccount(t,t=>{const r=new e.Olm.Account;try{r.unpickle(this._pickleKey,t),n(r)}finally{r.free()}})},f.prototype._storeAccount=function(e,t){this._cryptoStore.storeAccount(e,t.pickle(this._pickleKey))},f.prototype._getSession=function(e,t,n,r){this._cryptoStore.getEndToEndSession(e,t,n,e=>{this._unpickleSession(e,r)})},f.prototype._unpickleSession=function(t,n){const r=new e.Olm.Session;try{r.unpickle(this._pickleKey,t.session),n(Object.assign({},t,{session:r}))}finally{r.free()}},f.prototype._saveSession=function(e,t,n){const r=t.session.session_id(),i=Object.assign(t,{session:t.session.pickle(this._pickleKey)});this._cryptoStore.storeEndToEndSession(e,r,i,n)},f.prototype._getUtility=function(t){const n=new e.Olm.Utility;try{return t(n)}finally{n.free()}},f.prototype.sign=async function(e){let t;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_ACCOUNT],n=>{this._getAccount(n,n=>{t=n.sign(e)})}),t},f.prototype.getOneTimeKeys=async function(){let e;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_ACCOUNT],t=>{this._getAccount(t,t=>{e=JSON.parse(t.one_time_keys())})}),e},f.prototype.maxNumberOfOneTimeKeys=function(){return this._maxOneTimeKeys},f.prototype.markKeysAsPublished=async function(){await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_ACCOUNT],e=>{this._getAccount(e,t=>{t.mark_keys_as_published(),this._storeAccount(e,t)})})},f.prototype.generateOneTimeKeys=function(e){return this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_ACCOUNT],t=>{this._getAccount(t,n=>{n.generate_one_time_keys(e),this._storeAccount(t,n)})})},f.prototype.createOutboundSession=async function(t,n){let r;return await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_ACCOUNT,o.IndexedDBCryptoStore.STORE_SESSIONS],i=>{this._getAccount(i,o=>{const s=new e.Olm.Session;try{s.create_outbound(o,t,n),r=s.session_id(),this._storeAccount(i,o);const e={session:s,lastReceivedMessageTs:Date.now()};this._saveSession(t,e,i)}finally{s.free()}})}),r},f.prototype.createInboundSession=async function(t,n,r){if(0!==n)throw new Error("Need messageType == 0 to create inbound session");let i;return await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_ACCOUNT,o.IndexedDBCryptoStore.STORE_SESSIONS],o=>{this._getAccount(o,s=>{const a=new e.Olm.Session;try{a.create_inbound_from(s,t,r),s.remove_one_time_keys(a),this._storeAccount(o,s);const e=a.decrypt(n,r),f={session:a,lastReceivedMessageTs:Date.now()};this._saveSession(t,f,o),i={payload:e,session_id:a.session_id()}}finally{a.free()}})}),i},f.prototype.getSessionIdsForDevice=async function(e){if(this._sessionsInProgress[e]){i.logger.log("waiting for olm session to be created");try{await this._sessionsInProgress[e]}catch(e){}}let t;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_SESSIONS],n=>{this._cryptoStore.getEndToEndSessions(e,n,e=>{t=Object.keys(e)})}),t},f.prototype.getSessionIdForDevice=async function(e,t){const n=await this.getSessionInfoForDevice(e,t);if(0===n.length)return null;let r=0;for(let e=1;e<n.length;e++){const t=n[e],i=void 0===t.lastReceivedMessageTs?0:t.lastReceivedMessageTs,o=n[r],s=void 0===o.lastReceivedMessageTs?0:o.lastReceivedMessageTs;(i>s||i===s&&t.sessionId<o.sessionId)&&(r=e)}return n[r].sessionId},f.prototype.getSessionInfoForDevice=async function(e,t){if(this._sessionsInProgress[e]&&!t){i.logger.log("waiting for olm session to be created");try{await this._sessionsInProgress[e]}catch(e){}}const n=[];return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_SESSIONS],t=>{this._cryptoStore.getEndToEndSessions(e,t,e=>{const t=Object.keys(e).sort();for(const r of t)this._unpickleSession(e[r],e=>{n.push({lastReceivedMessageTs:e.lastReceivedMessageTs,hasReceivedMessage:e.session.has_received_message(),sessionId:r})})})}),n},f.prototype.encryptMessage=async function(e,t,n){let r;return a(n),await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_SESSIONS],o=>{this._getSession(e,t,o,s=>{const a=s.session.describe();i.logger.log("encryptMessage: Olm Session ID "+t+" to "+e+": "+a),r=s.session.encrypt(n),this._saveSession(e,s,o)})}),r},f.prototype.decryptMessage=async function(e,t,n,r){let s;return await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_SESSIONS],o=>{this._getSession(e,t,o,a=>{const f=a.session.describe();i.logger.log("decryptMessage: Olm Session ID "+t+" from "+e+": "+f),s=a.session.decrypt(n,r),a.lastReceivedMessageTs=Date.now(),this._saveSession(e,a,o)})}),s},f.prototype.matchesSession=async function(e,t,n,r){if(0!==n)return!1;let i;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_SESSIONS],n=>{this._getSession(e,t,n,e=>{i=e.session.matches_inbound(r)})}),i},f.prototype.recordSessionProblem=async function(e,t,n){await this._cryptoStore.storeEndToEndSessionProblem(e,t,n)},f.prototype.sessionMayHaveProblems=async function(e,t){return await this._cryptoStore.getEndToEndSessionProblem(e,t)},f.prototype.filterOutNotifiedErrorDevices=async function(e){return await this._cryptoStore.filterOutNotifiedErrorDevices(e)},f.prototype._saveOutboundGroupSession=function(e){const t=e.pickle(this._pickleKey);this._outboundGroupSessionStore[e.session_id()]=t},f.prototype._getOutboundGroupSession=function(t,n){const r=this._outboundGroupSessionStore[t];if(void 0===r)throw new Error("Unknown outbound group session "+t);const i=new e.Olm.OutboundGroupSession;try{return i.unpickle(this._pickleKey,r),n(i)}finally{i.free()}},f.prototype.createOutboundGroupSession=function(){const t=new e.Olm.OutboundGroupSession;try{return t.create(),this._saveOutboundGroupSession(t),t.session_id()}finally{t.free()}},f.prototype.encryptGroupMessage=function(e,t){const n=this;return i.logger.log(`encrypting msg with megolm session ${e}`),a(t),this._getOutboundGroupSession(e,(function(e){const r=e.encrypt(t);return n._saveOutboundGroupSession(e),r}))},f.prototype.getOutboundGroupSessionKey=function(e){return this._getOutboundGroupSession(e,(function(e){return{chain_index:e.message_index(),key:e.session_key()}}))},f.prototype._unpickleInboundGroupSession=function(t,n){const r=new e.Olm.InboundGroupSession;try{return r.unpickle(this._pickleKey,t.session),n(r)}finally{r.free()}},f.prototype._getInboundGroupSession=function(e,t,n,r,i){this._cryptoStore.getEndToEndInboundGroupSession(t,n,r,(t,n)=>{if(null!==t){if(null!==e&&e!==t.room_id)throw new Error("Mismatched room_id for inbound group session (expected "+t.room_id+", was "+e+")");this._unpickleInboundGroupSession(t,e=>{i(e,t,n)})}else i(null,null,n)})},f.prototype.addInboundGroupSession=async function(t,n,r,s,a,f,c){await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],o=>{this._getInboundGroupSession(t,n,s,o,(u,l)=>{const d=new e.Olm.InboundGroupSession;try{if(c?d.import_session(a):d.create(a),s!=d.session_id())throw new Error("Mismatched group session ID from senderKey: "+n);if(u&&(i.logger.log("Update for megolm session "+n+"/"+s),u.first_known_index()<=d.first_known_index()))return void i.logger.log(`Keeping existing megolm session ${s}`);const e={room_id:t,session:d.pickle(this._pickleKey),keysClaimed:f,forwardingCurve25519KeyChain:r};this._cryptoStore.storeEndToEndInboundGroupSession(n,s,e,o)}finally{d.free()}})})},f.prototype.addInboundGroupSessionWithheld=async function(e,t,n,r,i){await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],o=>{this._cryptoStore.storeEndToEndInboundGroupSessionWithheld(t,n,{room_id:e,code:r,reason:i},o)})};const c={"m.unverified":"The sender has disabled encrypting to unverified devices.","m.blacklisted":"The sender has blocked you.","m.unauthorised":"You are not authorised to read the message.","m.no_olm":"Unable to establish a secure channel."};function u(e){return e.code&&e.code in c?c[e.code]:e.reason?e.reason:"decryption key withheld"}t.WITHHELD_MESSAGES=c,f.prototype.decryptGroupMessage=async function(e,t,n,r,i,a){let f,c;if(await this._cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],o=>{this._getInboundGroupSession(e,t,n,o,(e,l,d)=>{if(null===e)return d&&(c=new s.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID",u(d),{session:t+"|"+n})),void(f=null);let h;try{h=e.decrypt(r)}catch(e){return void(c=e&&"OLM.UNKNOWN_MESSAGE_INDEX"===e.message&&d?new s.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID",u(d),{session:t+"|"+n}):e)}let p=h.plaintext;if(void 0===p)p=h;else{const e=t+"|"+n+"|"+h.message_index;if(e in this._inboundGroupSessionMessageIndexes){const t=this._inboundGroupSessionMessageIndexes[e];if(t.id!==i||t.timestamp!==a)return void(c=new Error("Duplicate message index, possible replay attack: "+e))}this._inboundGroupSessionMessageIndexes[e]={id:i,timestamp:a}}l.session=e.pickle(this._pickleKey),this._cryptoStore.storeEndToEndInboundGroupSession(t,n,l,o),f={result:p,keysClaimed:l.keysClaimed||{},senderKey:t,forwardingCurve25519KeyChain:l.forwardingCurve25519KeyChain||[]}})}),c)throw c;return f},f.prototype.hasInboundSessionKeys=async function(e,t,n){let r;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],o=>{this._cryptoStore.getEndToEndInboundGroupSession(t,n,o,o=>{null!==o?e!==o.room_id?(i.logger.warn(`requested keys for inbound group session ${t}|`+`${n}, with incorrect room_id `+`(expected ${o.room_id}, `+`was ${e})`),r=!1):r=!0:r=!1})}),r},f.prototype.getInboundGroupSessionKey=async function(e,t,n,r){let i;return await this._cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,o.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],o=>{this._getInboundGroupSession(e,t,n,o,(e,t)=>{if(null===e)return void(i=null);void 0===r&&(r=e.first_known_index());const n=e.export_session(r),o=(t.keysClaimed||{}).ed25519||null;i={chain_index:r,key:n,forwarding_curve25519_key_chain:t.forwardingCurve25519KeyChain||[],sender_claimed_ed25519_key:o}})}),i},f.prototype.exportInboundGroupSession=function(e,t,n){return this._unpickleInboundGroupSession(n,r=>{const i=r.first_known_index();return{sender_key:e,sender_claimed_keys:n.keysClaimed,room_id:n.room_id,session_id:t,session_key:r.export_session(i),forwarding_curve25519_key_chain:r.forwardingCurve25519KeyChain||[],first_known_index:r.first_known_index()}})},f.prototype.verifySignature=function(e,t,n){this._getUtility((function(r){r.ed25519_verify(e,t,n)}))}}).call(this,n(6))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(285),n(286);var r=n(79);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}})}))},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.DeviceTrustLevel=t.UserTrustLevel=t.CrossSigningLevel=t.CrossSigningInfo=void 0;var r=n(21),i=n(10),o=n(4);function s(e){return Object.values(e.keys)[0]}class a extends i.EventEmitter{constructor(e,t){super(),Object.defineProperty(this,"userId",{enumerable:!0,value:e}),this._callbacks=t||{},this.keys={},this.firstUse=!0}async getCrossSigningKey(t,n){if(!this._callbacks.getCrossSigningKey)throw new Error("No getCrossSigningKey callback supplied");void 0===n&&(n=this.getId(t));const r=await this._callbacks.getCrossSigningKey(t,n);if(!r)throw new Error("getCrossSigningKey callback for "+t+" returned falsey");const i=new e.Olm.PkSigning,o=i.init_with_seed(r);if(o!==n)throw i.free(),new Error("Key type "+t+" from getCrossSigningKey callback did not match");return[o,i]}static fromStorage(e,t){const n=new a(t);for(const t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}toStorage(){return{keys:this.keys,firstUse:this.firstUse}}async isStoredInSecretStorage(e){let t=!0;for(const n of["master","self_signing","user_signing"])t&=await e.isStored(`m.cross_signing.${n}`,!1);return t}static async storeInSecretStorage(e,t){for(const n of Object.keys(e)){const i=(0,r.encodeBase64)(e[n]);await t.store(`m.cross_signing.${n}`,i)}}static async getFromSecretStorage(e,t){const n=await t.get(`m.cross_signing.${e}`);return(0,r.decodeBase64)(n)}getId(e){if(e=e||"master",!this.keys[e])return null;return s(this.keys[e])}async resetKeys(t){if(!this._callbacks.saveCrossSigningKeys)throw new Error("No saveCrossSigningKeys callback supplied");if(void 0===t||t&f.MASTER||!this.keys.master)t=f.MASTER|f.USER_SIGNING|f.SELF_SIGNING;else if(0===t)return;const n={},i={};let o,s;try{if(t&f.MASTER?(o=new e.Olm.PkSigning,n.master=o.generate_seed(),s=o.init_with_seed(n.master),i.master={user_id:this.userId,usage:["master"],keys:{["ed25519:"+s]:s}}):[s,o]=await this.getCrossSigningKey("master"),t&f.SELF_SIGNING){const t=new e.Olm.PkSigning;try{n.self_signing=t.generate_seed();const e=t.init_with_seed(n.self_signing);i.self_signing={user_id:this.userId,usage:["self_signing"],keys:{["ed25519:"+e]:e}},(0,r.pkSign)(i.self_signing,o,this.userId,s)}finally{t.free()}}if(t&f.USER_SIGNING){const t=new e.Olm.PkSigning;try{n.user_signing=t.generate_seed();const e=t.init_with_seed(n.user_signing);i.user_signing={user_id:this.userId,usage:["user_signing"],keys:{["ed25519:"+e]:e}},(0,r.pkSign)(i.user_signing,o,this.userId,s)}finally{t.free()}}Object.assign(this.keys,i),this._callbacks.saveCrossSigningKeys(n)}finally{o&&o.free()}}setKeys(e){const t={};if(e.master){if(e.master.user_id!==this.userId){const t="Mismatched user ID "+e.master.user_id+" in master key from "+this.userId;throw o.logger.error(t),new Error(t)}this.keys.master?s(e.master)!==this.getId()&&(this.firstUse=!1):this.firstUse=!0,t.master=e.master}else{if(!this.keys.master)throw new Error("Tried to set cross-signing keys without a master key");t.master=this.keys.master}const n=s(t.master);if(e.user_signing){if(e.user_signing.user_id!==this.userId){const t="Mismatched user ID "+e.master.user_id+" in user_signing key from "+this.userId;throw o.logger.error(t),new Error(t)}try{(0,r.pkVerify)(e.user_signing,n,this.userId)}catch(e){throw o.logger.error("invalid signature on user-signing key"),e}}if(e.self_signing){if(e.self_signing.user_id!==this.userId){const t="Mismatched user ID "+e.master.user_id+" in self_signing key from "+this.userId;throw o.logger.error(t),new Error(t)}try{(0,r.pkVerify)(e.self_signing,n,this.userId)}catch(e){throw o.logger.error("invalid signature on self-signing key"),e}}e.master&&(this.keys.master=e.master,this.keys.self_signing=null,this.keys.user_signing=null),e.self_signing&&(this.keys.self_signing=e.self_signing),e.user_signing&&(this.keys.user_signing=e.user_signing)}async signObject(e,t){if(!this.keys[t])throw new Error("Attempted to sign with "+t+" key but no such key present");const[n,i]=await this.getCrossSigningKey(t);try{return(0,r.pkSign)(e,i,this.userId,n),e}finally{i.free()}}async signUser(e){if(this.keys.user_signing)return this.signObject(e.keys.master,"user_signing")}async signDevice(e,t){if(e!==this.userId)throw new Error(`Trying to sign ${e}'s device; can only sign our own device`);if(this.keys.self_signing)return this.signObject({algorithms:t.algorithms,keys:t.keys,device_id:t.deviceId,user_id:e},"self_signing")}checkUserTrust(e){if(this.userId===e.userId&&this.getId()&&this.getId()===e.getId()&&this.getId("self_signing")&&this.getId("self_signing")===e.getId("self_signing"))return new c(!0,this.firstUse);if(!this.keys.user_signing)return new c(!1,e.firstUse);let t;const n=e.keys.master,i=this.getId("user_signing");try{(0,r.pkVerify)(n,i,this.userId),t=!0}catch(e){t=!1}return new c(t,e.firstUse)}checkDeviceTrust(e,t,n){const i=this.checkUserTrust(e),o=e.keys.self_signing;if(!o)return new u(!1,!1,n);const a=function(e,t){return{algorithms:e.algorithms,keys:e.keys,device_id:e.deviceId,user_id:t,signatures:e.signatures}}(t,e.userId);try{return(0,r.pkVerify)(o,e.getId(),e.userId),(0,r.pkVerify)(a,s(o),e.userId),u.fromUserTrustLevel(i,n)}catch(e){return new u(!1,!1,n)}}}t.CrossSigningInfo=a;const f={MASTER:4,USER_SIGNING:2,SELF_SIGNING:1};t.CrossSigningLevel=f;class c{constructor(e,t){this._crossSigningVerified=e,this._tofu=t}isVerified(){return this.isCrossSigningVerified()}isCrossSigningVerified(){return this._crossSigningVerified}isTofu(){return this._tofu}}t.UserTrustLevel=c;class u{constructor(e,t,n){this._crossSigningVerified=e,this._tofu=t,this._localVerified=n}static fromUserTrustLevel(e,t){return new u(e._crossSigningVerified,e._tofu,t)}isVerified(){return this.isCrossSigningVerified()||this.isLocallyVerified()}isCrossSigningVerified(){return this._crossSigningVerified}isLocallyVerified(){return this._localVerified}isTofu(){return this._tofu}}t.DeviceTrustLevel=u}).call(this,n(6))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VerificationBase=void 0;var r=n(19),i=n(10),o=n(4),s=n(48),a=n(34);const f=new Error("Verification timed out");class c extends i.EventEmitter{constructor(e,t,n,r,i,o){super(),this._channel=e,this._baseApis=t,this.userId=n,this.deviceId=r,this.startEvent=i,this.request=o,this.cancelled=!1,this._done=!1,this._promise=null,this._transactionTimeoutTimer=null,this._resetTimer()}_resetTimer(){o.logger.info("Refreshing/starting the verification transaction timeout timer"),null!==this._transactionTimeoutTimer&&clearTimeout(this._transactionTimeoutTimer),this._transactionTimeoutTimer=setTimeout(()=>{this._done||this.cancelled||(o.logger.info("Triggering verification timeout"),this.cancel(f))},6e5)}_endTimer(){null!==this._transactionTimeoutTimer&&(clearTimeout(this._transactionTimeoutTimer),this._transactionTimeoutTimer=null)}_send(e,t){return this._channel.send(e,t)}_waitForEvent(e){return this._done?Promise.reject(new Error("Verification is already done")):(this._expectedEvent=e,new Promise((e,t)=>{this._resolveEvent=e,this._rejectEvent=t}))}handleEvent(e){if(!this._done)if(e.getType()===this._expectedEvent)"m.key.verification.done"!==this._expectedEvent&&(this._expectedEvent=void 0,this._rejectEvent=void 0,this._resetTimer(),this._resolveEvent(e));else if("m.key.verification.cancel"===e.getType()){const e=this._reject;this._reject=void 0,e(new Error("Other side cancelled verification"))}else{const t=new Error("Unexpected message: expecting "+this._expectedEvent+" but got "+e.getType());if(this._expectedEvent=void 0,this._rejectEvent){const e=this._rejectEvent;this._rejectEvent=void 0,e(t)}this.cancel(t)}}done(){this._endTimer(),this._done||(this._channel.needsDoneMessage&&this._send("m.key.verification.done",{}),this._resolve())}cancel(e){if(this._endTimer(),!this._done){if(this.cancelled=!0,this.userId&&this.deviceId)if(e===f){const e=(0,a.newTimeoutError)();this._send(e.getType(),e.getContent())}else if(e instanceof r.MatrixEvent){if(e.getSender()!==this.userId){const t=e.getContent();"m.key.verification.cancel"===e.getType()?(t.code=t.code||"m.unknown",t.reason=t.reason||t.body||"Unknown reason",this._send("m.key.verification.cancel",t)):this._send("m.key.verification.cancel",{code:"m.unknown",reason:t.body||"Unknown reason"})}}else this._send("m.key.verification.cancel",{code:"m.unknown",reason:e.toString()});null!==this._promise?this._reject&&this._reject(e):this._promise=Promise.reject(e),this.emit("cancel",e)}}verify(){return this._promise?this._promise:(this._promise=new Promise((e,t)=>{this._resolve=(...t)=>{this._done=!0,this._endTimer(),e(...t)},this._reject=(...e)=>{this._done=!0,this._endTimer(),t(...e)}}),this._doVerification&&!this._started&&(this._started=!0,this._resetTimer(),Promise.resolve(this._doVerification()).then(this.done.bind(this),this.cancel.bind(this))),this._promise)}async _verifyKeys(e,t,n){const r=[];for(const[i,a]of Object.entries(t)){const t=i.split(":",2)[1],f=await this._baseApis.getStoredDevice(e,t);if(f)await n(i,f,a),r.push(t);else{const f=this._baseApis._crypto._deviceList.getStoredCrossSigningForUser(e);f&&f.getId()===t?(await n(i,s.DeviceInfo.fromStorage({keys:{[i]:t}},t),a),r.push(t)):o.logger.warn(`verification: Could not find device ${t} to verify`)}}if(!r.length)throw new Error("No devices could be verified");for(const t of r)await this._baseApis.setDeviceVerified(e,t)}}t.VerificationBase=c},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.keyFromAuthData=async function(t,n){if(!e.Olm)throw new Error("Olm is not available");if(!t.private_key_salt||!t.private_key_iterations)throw new Error("Salt and/or iterations not found: this backup cannot be restored with a passphrase");return await i(n,t.private_key_salt,t.private_key_iterations)},t.keyFromPassphrase=async function(t){if(!e.Olm)throw new Error("Olm is not available");const n=(0,r.randomString)(32);return{key:await i(t,n,5e5),salt:n,iterations:5e5}},t.deriveKey=i;var r=n(49);async function i(t,n,r){const i=e.crypto.subtle,o=e.TextEncoder;if(!i||!o)throw new Error("Password-based backup is not avaiable on this platform");const s=await i.importKey("raw",(new o).encode(t),{name:"PBKDF2"},!1,["deriveBits"]),a=await i.deriveBits({name:"PBKDF2",salt:(new o).encode(n),iterations:r,hash:"SHA-512"},s,8*e.Olm.PRIVATE_KEY_LENGTH);return new Uint8Array(a)}}).call(this,n(6))},function(e,t,n){"use strict";(function(e,r){var i=n(16);Object.defineProperty(t,"__esModule",{value:!0}),t.encodeRecoveryKey=function(t){const n=new e(s.length+t.length+1);n.set(s,0),n.set(t,s.length);let r=0;for(let e=0;e<n.length-1;++e)r^=n[e];return n[n.length-1]=r,o.default.encode(n).match(/.{1,4}/g).join(" ")},t.decodeRecoveryKey=function(e){const t=o.default.decode(e.replace(/ /g,""));let n=0;for(const e of t)n^=e;if(0!==n)throw new Error("Incorrect parity");for(let e=0;e<s.length;++e)if(t[e]!==s[e])throw new Error("Incorrect prefix");if(t.length!==s.length+r.Olm.PRIVATE_KEY_LENGTH+1)throw new Error("Incorrect length");return t.slice(s.length,s.length+r.Olm.PRIVATE_KEY_LENGTH)};var o=i(n(292));const s=[139,1]}).call(this,n(11).Buffer,n(6))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SyncAccumulator=void 0;var r=n(4),i=n(8);function o(e,t){null!==t.state_key&&void 0!==t.state_key&&t.type&&(e[t.type]||(e[t.type]=Object.create(null)),e[t.type][t.state_key]=t)}t.SyncAccumulator=class{constructor(e){(e=e||{}).maxTimelineEntries=e.maxTimelineEntries||50,this.opts=e,this.accountData={},this.inviteRooms={},this.joinRooms={},this.nextBatch=null,this.groups={invite:{},join:{},leave:{}}}accumulate(e){this._accumulateRooms(e),this._accumulateGroups(e),this._accumulateAccountData(e),this.nextBatch=e.next_batch}_accumulateAccountData(e){e.account_data&&e.account_data.events&&e.account_data.events.forEach(e=>{this.accountData[e.type]=e})}_accumulateRooms(e){e.rooms&&(e.rooms.invite&&Object.keys(e.rooms.invite).forEach(t=>{this._accumulateRoom(t,"invite",e.rooms.invite[t])}),e.rooms.join&&Object.keys(e.rooms.join).forEach(t=>{this._accumulateRoom(t,"join",e.rooms.join[t])}),e.rooms.leave&&Object.keys(e.rooms.leave).forEach(t=>{this._accumulateRoom(t,"leave",e.rooms.leave[t])}))}_accumulateRoom(e,t,n){switch(t){case"invite":this._accumulateInviteState(e,n);break;case"join":this.inviteRooms[e]&&delete this.inviteRooms[e],this._accumulateJoinState(e,n);break;case"leave":this.inviteRooms[e]?delete this.inviteRooms[e]:delete this.joinRooms[e];break;default:r.logger.error("Unknown cateogory: ",t)}}_accumulateInviteState(e,t){if(!t.invite_state||!t.invite_state.events)return;if(!this.inviteRooms[e])return void(this.inviteRooms[e]={invite_state:t.invite_state});const n=this.inviteRooms[e];t.invite_state.events.forEach(e=>{let t=!1;for(let r=0;r<n.invite_state.events.length;r++){const i=n.invite_state.events[r];i.type===e.type&&i.state_key==e.state_key&&(n.invite_state.events[r]=e,t=!0)}t||n.invite_state.events.push(e)})}_accumulateJoinState(e,t){this.joinRooms[e]||(this.joinRooms[e]={_currentState:Object.create(null),_timeline:[],_accountData:Object.create(null),_unreadNotifications:{},_summary:{},_readReceipts:{}});const n=this.joinRooms[e];if(t.account_data&&t.account_data.events&&t.account_data.events.forEach(e=>{n._accountData[e.type]=e}),t.unread_notifications&&(n._unreadNotifications=t.unread_notifications),t.summary){const e="m.heroes",r="m.invited_member_count",i="m.joined_member_count",o=n._summary,s=t.summary;o[e]=s[e]||o[e],o[i]=s[i]||o[i],o[r]=s[r]||o[r]}if(t.ephemeral&&t.ephemeral.events&&t.ephemeral.events.forEach(e=>{"m.receipt"===e.type&&e.content&&Object.keys(e.content).forEach(t=>{e.content[t]["m.read"]&&Object.keys(e.content[t]["m.read"]).forEach(r=>{n._readReceipts[r]={data:e.content[t]["m.read"][r],eventId:t}})})}),t.timeline&&t.timeline.limited&&(n._timeline=[]),t.state&&t.state.events&&t.state.events.forEach(e=>{o(n._currentState,e)}),t.timeline&&t.timeline.events&&t.timeline.events.forEach((e,r)=>{o(n._currentState,e),n._timeline.push({event:e,token:0===r?t.timeline.prev_batch:null})}),n._timeline.length>this.opts.maxTimelineEntries){for(let e=n._timeline.length-this.opts.maxTimelineEntries;e<n._timeline.length;e++)if(n._timeline[e].token){n._timeline=n._timeline.slice(e,n._timeline.length);break}}}_accumulateGroups(e){e.groups&&(e.groups.invite&&Object.keys(e.groups.invite).forEach(t=>{this._accumulateGroup(t,"invite",e.groups.invite[t])}),e.groups.join&&Object.keys(e.groups.join).forEach(t=>{this._accumulateGroup(t,"join",e.groups.join[t])}),e.groups.leave&&Object.keys(e.groups.leave).forEach(t=>{this._accumulateGroup(t,"leave",e.groups.leave[t])}))}_accumulateGroup(e,t,n){for(const t of["invite","join","leave"])delete this.groups[t][e];this.groups[t][e]=n}getJSON(){const e={join:{},invite:{},leave:{}};Object.keys(this.inviteRooms).forEach(t=>{e.invite[t]=this.inviteRooms[t]}),Object.keys(this.joinRooms).forEach(t=>{const n=this.joinRooms[t],r={ephemeral:{events:[]},account_data:{events:[]},state:{events:[]},timeline:{events:[],prev_batch:null},unread_notifications:n._unreadNotifications,summary:n._summary};Object.keys(n._accountData).forEach(e=>{r.account_data.events.push(n._accountData[e])});const s={type:"m.receipt",room_id:t,content:{}};Object.keys(n._readReceipts).forEach(e=>{const t=n._readReceipts[e];s.content[t.eventId]||(s.content[t.eventId]={"m.read":{}}),s.content[t.eventId]["m.read"][e]=t.data}),Object.keys(s.content).length>0&&r.ephemeral.events.push(s),n._timeline.forEach(e=>{if(!r.timeline.prev_batch){if(!e.token)return;r.timeline.prev_batch=e.token}r.timeline.events.push(e.event)});const a=Object.create(null);for(let e=r.timeline.events.length-1;e>=0;e--){const t=r.timeline.events[e];if(null===t.state_key||void 0===t.state_key)continue;const n=(0,i.deepCopy)(t);n.unsigned&&(n.unsigned.prev_content&&(n.content=n.unsigned.prev_content),n.unsigned.prev_sender&&(n.sender=n.unsigned.prev_sender)),o(a,n)}Object.keys(n._currentState).forEach(e=>{Object.keys(n._currentState[e]).forEach(t=>{let i=n._currentState[e][t];a[e]&&a[e][t]&&(i=a[e][t]),r.state.events.push(i)})}),e.join[t]=r});const t=[];return Object.keys(this.accountData).forEach(e=>{t.push(this.accountData[e])}),{nextBatch:this.nextBatch,roomsData:e,groupsData:this.groups,accountData:t}}getNextBatchToken(){return this.nextBatch}}},function(e,t,n){"use strict";var r=String.prototype.replace,i=/%20/g,o=n(81),s={RFC1738:"RFC1738",RFC3986:"RFC3986"};e.exports=o.assign({default:s.RFC3986,formatters:{RFC1738:function(e){return r.call(e,i,"+")},RFC3986:function(e){return String(e)}}},s)},function(e,t){for(var n=[],r=0;r<256;++r)n[r]=(r+256).toString(16).substr(1);e.exports=function(e,t){var r=t||0,i=n;return[i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],"-",i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]],i[e[r++]]].join("")}},function(e,t,n){"use strict";t.__esModule=!0,t.stateify=t.TokenState=t.CharacterState=void 0;var r=n(50);var i=function(e){this.j=[],this.T=e||null};i.prototype={defaultTransition:!1,on:function(e,t){if(e instanceof Array){for(var n=0;n<e.length;n++)this.j.push([e[n],t]);return this}return this.j.push([e,t]),this},next:function(e){for(var t=0;t<this.j.length;t++){var n=this.j[t],r=n[0],i=n[1];if(this.test(e,r))return i}return this.defaultTransition},accepts:function(){return!!this.T},test:function(e,t){return e===t},emit:function(){return this.T}};var o=(0,r.inherits)(i,(function(e){this.j=[],this.T=e||null}),{test:function(e,t){return e===t||t instanceof RegExp&&t.test(e)}}),s=(0,r.inherits)(i,(function(e){this.j=[],this.T=e||null}),{jump:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=this.next(new e(""));return n===this.defaultTransition?(n=new this.constructor(t),this.on(e,n)):t&&(n.T=t),n},test:function(e,t){return e instanceof t}});t.CharacterState=o,t.TokenState=s,t.stateify=function(e,t,n,r){for(var i=0,s=e.length,a=t,f=[],c=void 0;i<s&&(c=a.next(e[i]));)a=c,i++;if(i>=s)return[];for(;i<s-1;)c=new o(r),f.push(c),a.on(e[i],c),a=c,i++;return c=new o(n),f.push(c),a.on(e[s-1],c),f}},function(e,t,n){"use strict";t.__esModule=!0,t.createTokenClass=function(){return function(e){e&&(this.v=e)}}},function(e,t,n){"use strict";(function(e){var r=n(148),i=n.n(r),o=n(83),s=n.n(o),a=n(51),f=n.n(a),c=n(52),u=n.n(c),l=n(53),d=n.n(l),h=n(54),p=n.n(h),g=n(5),m=n.n(g),_=n(55),y=n.n(_),b=n(1),v=n.n(b),A=n(0),w=n.n(A),E=n(9),S=n.n(E),k=n(323),I=(n(37),n(149)),R=n(35),T=(n(38),n(150)),O=n(151),C=n(36),x=n(26),M=n(84),P=n(153),D=n(85),B=n(155);n(319);function N(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function j(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?N(Object(n),!0).forEach((function(t){v()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):N(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}e.Olm=O;var U={algorithm:"m.megolm.v1.aes-sha2"},L=function(t){function n(t){var r;return f()(this,n),r=d()(this,p()(n).call(this,t)),v()(m()(r),"detectMobile",(function(){var e=!1;/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)&&(e=!0),screen.width<767&&(e=!0),r.setState({isMobile:e})})),v()(m()(r),"detectSlowConnection",(function(){var e=!1,t=navigator.connection||navigator.mozConnection||navigator.webkitConnection;if(void 0!==t||null===t){var n=t.effectiveType;e=["slow-2g","2g"].includes(n)}r.setState({isSlowConnection:e})})),v()(m()(r),"handleToggleOpen",(function(){r.setState((function(e){var t=e.showDock;return e.opened||(t=!1),{showDock:t,opened:!e.opened}}))})),v()(m()(r),"toggleEmojiSelector",(function(e){e.preventDefault(),r.setState({emojiSelectorOpen:!r.state.emojiSelectorOpen})})),v()(m()(r),"closeEmojiSelector",(function(){r.setState({emojiSelectorOpen:!1})})),v()(m()(r),"handleWidgetExit",(function(){r.setState({showDock:!0})})),v()(m()(r),"handleWidgetEnter",(function(){r.state.awaitingAgreement?r.termsUrl.current.focus():r.chatboxInput.current.focus()})),v()(m()(r),"handleExitChat",(function(){r.state.client?r.exitChat():r.setState(r.initialState)})),v()(m()(r),"exitChat",(async function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(r.state.client){await r.state.client.leave(r.state.roomId);var t={type:"m.login.password",user:r.state.userId,identifier:{type:"m.id.user",user:r.state.userId},password:r.state.password};await r.state.client.deactivateAccount(t,!0),await r.state.client.stopClient(),await r.state.client.clearStores(),r.setState({client:null,ready:!0}),window.clearInterval(r.state.waitIntervalId)}r.state.localStorage&&r.state.localStorage.clear(),e&&r.setState(r.initialState)})),v()(m()(r),"createLocalStorage",(async function(t,n){var r=e.localStorage;if(null==r){var i="matrix-chat-".concat(t,"-").concat(n),o=R.resolve(R.join(I.homedir(),".local-storage",i));r=new T.LocalStorage(o)}return r})),v()(m()(r),"createClientWithAccount",(async function(){var e=C.createClient(r.props.matrixServerUrl);try{await e.registerRequest({})}catch(f){var t=Object(x.uuid)(),n=Object(x.uuid)(),i=f.data.session,o=await e.registerRequest({auth:{session:i,type:"m.login.dummy"},inhibit_login:!1,password:n,username:t,x_show_msisdn:!0}),s=await r.createLocalStorage(o.device_id,i);r.setState({accessToken:o.access_token,userId:o.user_id,username:t,password:n,localStorage:s,sessionId:i,deviceId:o.device_id});var a={baseUrl:r.props.matrixServerUrl,accessToken:o.access_token,userId:o.user_id,deviceId:o.device_id,sessionStore:new C.WebStorageSessionStore(s)};return C.createClient(a)}})),v()(m()(r),"initializeChat",(async function(){r.setState({ready:!1});var e=await r.createClientWithAccount();try{await e.initCrypto()}catch(e){return r.restartWithoutCrypto()}await e.startClient(),e.once("sync",(async function(t,n,i){"PREPARED"===t&&(r.setState({client:e}),e.setDisplayName(r.props.anonymousDisplayName),r.setMatrixListeners(e),await r.createRoom(e))}))})),v()(m()(r),"restartWithoutCrypto",(async function(){r.state.client&&(r.state.client.leave(r.state.roomId),r.state.client.stopClient(),r.state.client.clearStores(),r.state.localStorage.clear()),r.setState({ready:!1,facilitatorInvited:!1,decryptionErrors:{},roomId:null,typingStatus:null,client:null,isCryptoEnabled:!1}),r.displayBotMessage({body:"Restarting chat without encryption."});var e,t={baseUrl:r.props.matrixServerUrl,accessToken:r.state.accessToken,userId:r.state.userId,deviceId:r.state.deviceId};e=C.createClient(t),await e.startClient(),e.once("sync",(async function(t,n,i){if("PREPARED"===t)try{r.setState({client:e}),e.setDisplayName(r.props.anonymousDisplayName),r.setMatrixListeners(e),await r.createRoom(e),r.displayBotMessage({body:"Messages in this chat are not encrypted."})}catch(e){console.log("error",e),r.handleInitError(e)}}))})),v()(m()(r),"initializeUnencryptedChat",(async function(){r.setState({ready:!1});var e=await r.createClientWithAccount();await e.startClient(),e.once("sync",(async function(t,n,i){e.setDisplayName(r.props.anonymousDisplayName),r.setMatrixListeners(e),await r.createRoom(e)}))})),v()(m()(r),"handleInitError",(function(e){console.log("error",e),r.displayBotMessage({body:r.props.chatUnavailableMessage}),r.setState({ready:!0})})),v()(m()(r),"handleDecryptionError",(async function(e,t){var n=e.getId();r.handleMessageEvent(e),r.setState({decryptionErrors:v()({},n,!0)})})),v()(m()(r),"verifyAllRoomDevices",(async function(e,t){if(t&&e&&r.state.isCryptoEnabled){var n=(await t.getEncryptionTargetMembers()).map((function(e){return e.userId})),i=await e.downloadKeys(n);for(var o in i)for(var s in i[o])await e.setDeviceVerified(o,s)}})),v()(m()(r),"createRoom",(async function(e){var t=new Date,n=t.toLocaleDateString(),i=t.toLocaleTimeString(),o={room_alias_name:"private-support-chat-".concat(Object(x.uuid)()),invite:[r.props.botId],visibility:"private",name:"".concat(i,", ").concat(n," - ").concat(r.props.roomName)},s=await e.isCryptoEnabled();s&&(o.initial_state=[{type:"m.room.encryption",state_key:"",content:U}]);var a=(await e.createRoom(o)).room_id;e.setPowerLevel(a,r.props.botId,100),r.setState({roomId:a,isCryptoEnabled:s})})),v()(m()(r),"sendMessage",(async function(e){if(r.state.client&&r.state.roomId)try{await r.state.client.sendTextMessage(r.state.roomId,e)}catch(t){switch(t.name){case"UnknownDeviceError":Object.keys(t.devices).forEach((function(e){Object.keys(t.devices[e]).map((async function(t){await r.state.client.setDeviceKnown(e,t,!0)}))})),r.sendMessage(e);break;default:r.displayBotMessage({body:"Your message was not sent."}),console.log("Error sending message",t)}}})),v()(m()(r),"displayFakeMessage",(function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Object(x.uuid)(),i={id:n,type:"m.room.message",sender:t,roomId:r.state.roomId,content:e,timestamp:Date.now()};r.setState({messages:j({},r.state.messages,v()({},n,i))})})),v()(m()(r),"displayBotMessage",(function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Object(x.uuid)(),i={id:n,type:"m.room.message",sender:r.props.botId,roomId:t||r.state.roomId,content:e,timestamp:Date.now()};r.setState({messages:j({},r.state.messages,v()({},n,i))})})),v()(m()(r),"handleMessageEvent",(function(e){var t={id:e.getId(),type:e.getType(),sender:e.getSender(),roomId:e.getRoomId(),content:e.getContent(),timestamp:e.getTs()};if(!(t.content.showToUser&&t.content.showToUser!==r.state.userId||t.content.body.startsWith("!bot")&&t.sender!==r.state.userId)){var n=s()(r.state.messagesInFlight),i=n.findIndex((function(e){return e===t.content.body}));i>-1&&(n.splice(i,1),r.setState({messagesInFlight:n}));var o=j({},r.state.decryptionErrors);delete o[t.id],r.setState({messages:j({},r.state.messages,v()({},t.id,t)),decryptionErrors:o})}})),v()(m()(r),"handleKeyDown",(function(e){switch(e.keyCode){case 27:r.state.emojiSelectorOpen?r.closeEmojiSelector():r.state.opened&&r.handleToggleOpen()}})),v()(m()(r),"setMatrixListeners",(function(e){e.on("sync",(function(t,n,i){switch(t){case"ERROR":case"SYNCING":break;case"PREPARED":r.setState({client:e})}})),e.on("Room.timeline",(function(t,n){var i=t.getType(),o=t.getContent(),s=t.getSender();if("m.room.encryption"===i&&(r.displayBotMessage({body:"Messages in this chat are secured with end-to-end encryption."},n.room_id),r.verifyAllRoomDevices(e,n)),"m.room.message"===i&&!r.state.isCryptoEnabled){if(t.isEncrypted())return;r.handleMessageEvent(t)}"m.room.member"===i&&"invite"===o.membership&&s===r.props.botId&&r.setState({facilitatorInvited:!0}),"m.room.member"===i&&"join"===o.membership&&s!==r.props.botId&&s!==r.state.userId&&(r.verifyAllRoomDevices(e,n),r.setState({facilitatorId:s,ready:!0}),window.clearInterval(r.state.waitIntervalId))})),e.on("Event.decrypted",(function(e,t){if(t)return r.handleDecryptionError(e,t);"m.room.message"===e.getType()&&r.handleMessageEvent(e)})),e.on("RoomMember.typing",(function(e,t){t.typing&&t.roomId===r.state.roomId?r.setState({typingStatus:"".concat(t.name," is typing...")}):r.setState({typingStatus:null})})),e.on("event",(function(e){var t=e.getType(),n=e.getContent();"m.bot.signal"===t&&r.handleBotSignal(n.signal)}))})),v()(m()(r),"handleBotSignal",(function(e){switch(e){case"END_CHAT":return r.displayBotMessage({body:r.props.exitMessage}),r.exitChat(!1);case"CHAT_OFFLINE":return r.displayBotMessage({body:r.props.chatOfflineMessage}),r.exitChat(!1)}})),v()(m()(r),"handleInputChange",(function(e){r.setState({inputValue:e.target.value})})),v()(m()(r),"handleAcceptTerms",(function(){r.setState({awaitingAgreement:!1}),r.startWaitTimeForFacilitator();try{r.props.isEncryptionDisabled?r.initializeUnencryptedChat():r.initializeChat()}catch(e){r.handleInitError(e)}})),v()(m()(r),"startWaitTimeForFacilitator",(function(){var e=window.setInterval((function(){r.state.facilitatorId||r.state.ready||r.displayBotMessage({body:r.props.waitMessage})}),r.props.waitInterval);r.setState({waitIntervalId:e})})),v()(m()(r),"handleRejectTerms",(function(){r.exitChat(),r.displayBotMessage({body:r.props.exitMessage})})),v()(m()(r),"handleSubmit",(function(e){e.preventDefault();var t=r.state.inputValue;if(!Boolean(t))return null;if(r.state.isCryptoEnabled&&r.state.client&&(!r.state.client.isRoomEncrypted(r.state.roomId)||!r.state.client.isCryptoEnabled()))return null;if(r.state.client&&r.state.roomId){var n=s()(r.state.messagesInFlight);n.push(t),r.setState({inputValue:"",messagesInFlight:n},(function(){return r.sendMessage(t)})),r.chatboxInput.current.focus()}})),v()(m()(r),"onEmojiClick",(function(e,t){e.preventDefault();var n=t.emoji;r.setState({inputValue:r.state.inputValue.concat(n),emojiSelectorOpen:!1},r.chatboxInput.current.focus())})),r.initialState={opened:!1,showDock:!0,client:null,ready:!0,accessToken:null,userId:null,password:null,localStorage:null,messages:{},inputValue:"",errors:[],roomId:null,typingStatus:null,awaitingAgreement:!0,emojiSelectorOpen:!1,facilitatorInvited:!1,isMobile:!0,isSlowConnection:!0,decryptionErrors:{},messagesInFlight:[]},r.state=r.initialState,r.chatboxInput=w.a.createRef(),r.messageWindow=w.a.createRef(),r.termsUrl=w.a.createRef(),r}return y()(n,t),u()(n,[{key:"componentDidUpdate",value:function(e,t){t.messages===this.state.messages&&t.messagesInFlight===this.state.messagesInFlight&&t.typingStatus===this.state.typingStatus||this.messageWindow.current.scrollTo&&this.messageWindow.current.scrollTo(0,this.messageWindow.current.scrollHeight),!t.facilitatorInvited&&this.state.facilitatorInvited&&this.displayBotMessage({body:this.props.confirmationMessage}),!t.opened&&this.state.opened&&this.detectMobile()}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown,!1),window.addEventListener("beforeunload",this.exitChat)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown,!1),window.removeEventListener("beforeunload",this.exitChat),this.exitChat()}},{key:"render",value:function(){var e,t=this,n=this.state,r=n.ready,o=n.messages,s=n.messagesInFlight,a=n.inputValue,f=n.userId,c=n.roomId,u=n.typingStatus,l=n.opened,d=n.showDock,h=n.emojiSelectorOpen,p=n.isMobile,g=n.decryptionErrors,m=Object.values(o).sort((function(e,t){return e.timestamp-t.timestamp})),_=this.props.position.split(" "),y=i()(_,2),b=y[0],A=y[1];return w.a.createElement("div",{id:"safesupport"},w.a.createElement("div",{className:"docked-widget size-".concat(this.props.size),role:"complementary",style:(e={},v()(e,b,"10px"),v()(e,A,"10px"),e)},w.a.createElement(k.a,{in:l,timeout:250,onExited:this.handleWidgetExit,onEntered:this.handleWidgetEnter},(function(e){return w.a.createElement("div",{className:"widget widget-".concat(e," position-").concat(b),"aria-hidden":!l},w.a.createElement("div",{id:"safesupport-chatbox","aria-haspopup":"dialog"},w.a.createElement(D.a,{handleToggleOpen:t.handleToggleOpen,opened:l,handleExitChat:t.handleExitChat}),w.a.createElement("div",{className:"message-window",ref:t.messageWindow},w.a.createElement("div",{className:"messages"},w.a.createElement("div",{className:"message from-bot"},w.a.createElement("div",{className:"text"},t.props.introMessage)),w.a.createElement("div",{className:"message from-bot"},w.a.createElement("div",{className:"text"},"Please read the full ",w.a.createElement("a",{href:t.props.termsUrl,ref:t.termsUrl,target:"_blank",rel:"noopener noreferrer"},"terms and conditions"),". By using this chat, you agree to these terms.")),w.a.createElement("div",{className:"message from-bot"},w.a.createElement("div",{className:"text"},t.props.agreementMessage)),w.a.createElement("div",{className:"message from-bot"},w.a.createElement("div",{className:"text buttons"},"👉",w.a.createElement("button",{className:"btn",id:"accept",onClick:t.handleAcceptTerms},"YES"),w.a.createElement("button",{className:"btn",id:"reject",onClick:t.handleRejectTerms},"NO"))),m.map((function(e,n){return w.a.createElement(M.a,{key:e.id,message:e,userId:f,botId:t.props.botId,client:t.state.client})})),s.map((function(e,t){return w.a.createElement(M.a,{key:"message-inflight-".concat(t),message:{content:{body:e}},placeholder:!0})})),u&&w.a.createElement("div",{className:"notices"},w.a.createElement("div",{role:"status"},u)),Boolean(Object.keys(g).length)&&w.a.createElement("div",{className:"message from-bot"},w.a.createElement("div",{className:"text buttons"},"Restart chat without encryption?",w.a.createElement("button",{className:"btn",id:"accept",onClick:t.restartWithoutCrypto},"RESTART"))),!r&&w.a.createElement("div",{className:"loader"},"loading..."))),w.a.createElement("div",{className:"input-window"},w.a.createElement("form",{onSubmit:t.handleSubmit},w.a.createElement("div",{className:"message-input-container"},w.a.createElement("input",{id:"message-input",type:"text",onChange:t.handleInputChange,value:a,"aria-label":"Send a message...",placeholder:"Send a message...",autoFocus:!0,ref:t.chatboxInput}),"entered"===e&&!p&&w.a.createElement(B.a,{onEmojiClick:t.onEmojiClick,emojiSelectorOpen:h,toggleEmojiSelector:t.toggleEmojiSelector,closeEmojiSelector:t.closeEmojiSelector})),w.a.createElement("input",{type:"submit",value:"Send",id:"submit",onClick:t.handleSubmit})))))})),d&&!c&&w.a.createElement(P.a,{handleToggleOpen:this.handleToggleOpen,size:this.props.size}),d&&c&&w.a.createElement(D.a,{handleToggleOpen:this.handleToggleOpen,opened:l,handleExitChat:this.handleExitChat})))}}]),n}(w.a.Component);L.propTypes={matrixServerUrl:S.a.string.isRequired,botId:S.a.string.isRequired,termsUrl:S.a.string,introMessage:S.a.string,roomName:S.a.string,agreementMessage:S.a.string,confirmationMessage:S.a.string,exitMessage:S.a.string,chatUnavailableMessage:S.a.string,anonymousDisplayName:S.a.string,waitMessage:S.a.string,chatOfflineMessage:S.a.string,isEncryptionDisabled:S.a.bool,position:S.a.oneOf(["top left","top right","bottom left","bottom right"]),size:S.a.oneOf(["small","large"]),maxWaitTime:S.a.number,waitInterval:S.a.number},L.defaultProps={matrixServerUrl:"https://matrix.rhok.space/",botId:"@help-bot:rhok.space",termsUrl:"https://tosdr.org/",roomName:"Support Chat",introMessage:"This chat application does not collect any of your personal data or any data from your use of this service.",agreementMessage:"Do you want to continue?",confirmationMessage:"Waiting for a facilitator to join the chat...",exitMessage:"The chat is closed. You may close this window.",anonymousDisplayName:"Anonymous",chatUnavailableMessage:"The chat service is not available right now. Please try again later.",waitMessage:"Please be patient, our online facilitators are currently responding to other support requests.",chatOfflineMessage:"All of the chat facilitators are currently offline.",isEncryptionDisabled:!1,position:"bottom right",size:"large",maxWaitTime:6e5,waitInterval:12e4},t.a=L}).call(this,n(6))},function(e,t,n){var r=n(158),i=n(159),o=n(160);e.exports=function(e,t){return r(e)||i(e,t)||o()}},function(e,t){t.endianness=function(){return"LE"},t.hostname=function(){return"undefined"!=typeof location?location.hostname:""},t.loadavg=function(){return[]},t.uptime=function(){return 0},t.freemem=function(){return Number.MAX_VALUE},t.totalmem=function(){return Number.MAX_VALUE},t.cpus=function(){return[]},t.type=function(){return"Browser"},t.release=function(){return"undefined"!=typeof navigator?navigator.appVersion:""},t.networkInterfaces=t.getNetworkInterfaces=function(){return{}},t.arch=function(){return"javascript"},t.platform=function(){return"browser"},t.tmpdir=t.tmpDir=function(){return"/tmp"},t.EOL="\n",t.homedir=function(){return"/"}},function(e,t,n){(function(e){(function(){var r,i,o,s,a,f,c,u,l,d,h,p,g,m=function(e,t){for(var n in t)_.call(t,n)&&(e[n]=t[n]);function r(){this.constructor=e}return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e},_={}.hasOwnProperty;p=n(35),h=n(38),d=n(10),g=n(169).sync,f=function(e){var t,n,r,i,o;for(o=[],t=0,n=(i=h.readdirSync(e)).length;t<n;t++)r=i[t],o.push(u(p.join(e,r)));return o},u=function(e){return h.statSync(e).isDirectory()?(f(e),h.rmdirSync(e)):h.unlinkSync(e)},c=function(e){return""===e?"---.EMPTY_STRING.---":e.toString()},s=function(e){function t(e){this.message=null!=e?e:"Unknown error.",t.__super__.constructor.call(this),null!=Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}return m(t,e),t.prototype.toString=function(){return this.name+": "+this.message},t}(Error),a=function(e,t,n,r,i){this.key=e,this.oldValue=t,this.newValue=n,this.url=r,this.storageArea=null!=i?i:"localStorage"},o=function e(t,n){if(this.key=t,this.index=n,!(this instanceof e))return new e(this.key,this.index)},l=function(){var e;return(e=function(){}).prototype=Object.create(null),new e},r=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return m(t,e),t.prototype.setItem=function(e,n){var r;return r=JSON.stringify(n),t.__super__.setItem.call(this,e,r)},t.prototype.getItem=function(e){return JSON.parse(t.__super__.getItem.call(this,e))},t}(i=function(t){var n;function r(t,i){var o,a;return this._location=t,this.quota=null!=i?i:5242880,r.__super__.constructor.call(this),this instanceof r?(this._location=p.resolve(this._location),null!=n[this._location]?n[this._location]:(this.length=0,this._bytesInUse=0,this._keys=[],this._metaKeyMap=l(),this._eventUrl="pid:"+e.pid,this._init(),this._QUOTA_EXCEEDED_ERR=s,"undefined"!=typeof Proxy&&null!==Proxy?(o={set:(a=this,function(e,t,n){return null!=a[t]?a[t]=n:a.setItem(t,n)}),get:function(e){return function(t,n){return null!=e[n]?e[n]:e.getItem(n)}}(this)},n[this._location]=new Proxy(this,o),n[this._location]):(n[this._location]=this,n[this._location]))):new r(this._location,this.quota)}return m(r,t),n={},r.prototype._init=function(){var e,t,n,r,i,s,a,f,c;try{if(null!=(c=h.statSync(this._location))&&!c.isDirectory())throw new Error("A file exists at the location '"+this._location+"' when trying to create/open localStorage");for(this._bytesInUse=0,this.length=0,n=h.readdirSync(this._location),s=i=0,f=n.length;i<f;s=++i)a=n[s],t=decodeURIComponent(a),this._keys.push(t),e=new o(a,s),this._metaKeyMap[t]=e,null!=(null!=(c=this._getStat(a))?c.size:void 0)&&(e.size=c.size,this._bytesInUse+=c.size);this.length=n.length}catch(e){if("ENOENT"!==(r=e).code)throw r;try{h.mkdirSync(this._location)}catch(e){if("EEXIST"!==(r=e).code)throw r}}},r.prototype.setItem=function(e,t){var n,r,i,f,u,l,h,m,_,y;if(m=null,(u=d.EventEmitter.listenerCount(this,"storage"))&&(m=this.getItem(e)),e=c(e),n=encodeURIComponent(e),f=p.join(this._location,n),y=(_=t.toString()).length,h=(i=!!(l=this._metaKeyMap[e]))?l.size:0,this._bytesInUse-h+y>this.quota)throw new s;if(g(f,_,"utf8"),i||((l=new o(n,this._keys.push(e)-1)).size=y,this._metaKeyMap[e]=l,this.length+=1,this._bytesInUse+=y),u)return r=new a(e,m,t,this._eventUrl),this.emit("storage",r)},r.prototype.getItem=function(e){var t,n;return e=c(e),(n=this._metaKeyMap[e])?(t=p.join(this._location,n.key),h.readFileSync(t,"utf8")):null},r.prototype._getStat=function(e){var t;e=c(e),t=p.join(this._location,encodeURIComponent(e));try{return h.statSync(t)}catch(e){return null}},r.prototype.removeItem=function(e){var t,n,r,i,o,s,f,l;if(e=c(e),s=this._metaKeyMap[e]){for(i in f=null,(r=d.EventEmitter.listenerCount(this,"storage"))&&(f=this.getItem(e)),delete this._metaKeyMap[e],this.length-=1,this._bytesInUse-=s.size,n=p.join(this._location,s.key),this._keys.splice(s.index,1),l=this._metaKeyMap)l[i],(o=this._metaKeyMap[i]).index>s.index&&(o.index-=1);if(u(n),r)return t=new a(e,f,null,this._eventUrl),this.emit("storage",t)}},r.prototype.key=function(e){var t;return"---.EMPTY_STRING.---"===(t=this._keys[e])?"":t},r.prototype.clear=function(){var e;if(f(this._location),this._metaKeyMap=l(),this._keys=[],this.length=0,this._bytesInUse=0,d.EventEmitter.listenerCount(this,"storage"))return e=new a(null,null,null,this._eventUrl),this.emit("storage",e)},r.prototype._getBytesInUse=function(){return this._bytesInUse},r.prototype._deleteLocation=function(){return delete n[this._location],u(this._location),this._metaKeyMap={},this._keys=[],this.length=0,this._bytesInUse=0},r}(d.EventEmitter)),t.LocalStorage=i,t.JSONStorage=r,t.QUOTA_EXCEEDED_ERR=s}).call(this)}).call(this,n(13))},function(e,t,n){(function(t,r,i,o){var s,a,f,c,u={},l=(f="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(c){var l,d;if(c=c||{},l||(l=void 0!==c?c:{}),"undefined"!=typeof window)d=function(e){window.crypto.getRandomValues(e)};else{if(!e.exports)throw Error("Cannot find global to attach library to");var h=n(194);d=function(e){var t=h.randomBytes(e.length);e.set(t)},r=t.process}if("undefined"!=typeof OLM_OPTIONS)for(var p in OLM_OPTIONS)OLM_OPTIONS.hasOwnProperty(p)&&(l[p]=OLM_OPTIONS[p]);l.onRuntimeInitialized=function(){We=l._olm_error(),u.PRIVATE_KEY_LENGTH=l._olm_pk_private_key_length(),s&&s()},l.onAbort=function(e){a&&a(e)};var g,m={};for(g in l)l.hasOwnProperty(g)&&(m[g]=l[g]);l.arguments=[],l.thisProgram="./this.program",l.quit=function(e,t){throw t},l.preRun=[],l.postRun=[];var _=!1,y=!1,b=!1,v=!1;_="object"==typeof window,y="function"==typeof importScripts,b="object"==typeof r&&!_&&!y,v=!_&&!b&&!y;var A,w,E="";b?(E=i+"/",l.read=function(e,t){var r=we(e);return r||(A||(A=n(38)),w||(w=n(35)),e=w.normalize(e),r=A.readFileSync(e)),t?r:r.toString()},l.readBinary=function(e){return(e=l.read(e,!0)).buffer||(e=new Uint8Array(e)),C(e.buffer),e},1<r.argv.length&&(l.thisProgram=r.argv[1].replace(/\\/g,"/")),l.arguments=r.argv.slice(2),r.on("uncaughtException",(function(e){throw e})),r.on("unhandledRejection",(function(){r.exit(1)})),l.quit=function(e){r.exit(e)},l.inspect=function(){return"[Emscripten Module object]"}):v?("undefined"!=typeof read&&(l.read=function(e){var t=we(e);return t?ve(t):read(e)}),l.readBinary=function(e){var t;return(t=we(e))?t:"function"==typeof readbuffer?new Uint8Array(readbuffer(e)):(C("object"==typeof(t=read(e,"binary"))),t)},"undefined"!=typeof scriptArgs?l.arguments=scriptArgs:void 0!==arguments&&(l.arguments=arguments),"function"==typeof quit&&(l.quit=function(e){quit(e)})):(_||y)&&(_?document.currentScript&&(E=document.currentScript.src):E=self.location.href,f&&(E=f),E=0!==E.indexOf("blob:")?E.substr(0,E.lastIndexOf("/")+1):"",l.read=function(e){try{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText}catch(t){if(e=we(e))return ve(e);throw t}},y&&(l.readBinary=function(e){try{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}catch(t){if(e=we(e))return e;throw t}}),l.readAsync=function(e,t,n){var r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="arraybuffer",r.onload=function(){if(200==r.status||0==r.status&&r.response)t(r.response);else{var i=we(e);i?t(i.buffer):n()}},r.onerror=n,r.send(null)},l.setWindowTitle=function(e){document.title=e});var S=l.print||("undefined"!=typeof console?console.log.bind(console):"undefined"!=typeof print?print:null),k=l.printErr||("undefined"!=typeof printErr?printErr:"undefined"!=typeof console&&console.warn.bind(console)||S);for(g in m)m.hasOwnProperty(g)&&(l[g]=m[g]);function I(e){var t=F;return F=F+e+15&-16,t}function R(e){var t=U[V>>2];return e=t+e+15&-16,U[V>>2]=e,(e=e>=$)&&(J(),e=!0),e?(U[V>>2]=t,0):t}function T(e){var t;return t||(t=16),Math.ceil(e/t)*t}m=void 0;var O=!1;function C(e,t){e||Be("Assertion failed: "+t)}function x(e){var t="i8";switch("*"===t.charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":B[e>>0]=0;break;case"i16":j[e>>1]=0;break;case"i32":U[e>>2]=0;break;case"i64":tempI64=[0,(tempDouble=0,1<=+fe(tempDouble)?0<tempDouble?(0|le(+ue(tempDouble/4294967296),4294967295))>>>0:~~+ce((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],U[e>>2]=tempI64[0],U[e+4>>2]=tempI64[1];break;case"float":L[e>>2]=0;break;case"double":q[e>>3]=0;break;default:Be("invalid type for setValue: "+t)}}function M(e,t){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return B[e>>0];case"i16":return j[e>>1];case"i32":case"i64":return U[e>>2];case"float":return L[e>>2];case"double":return q[e>>3];default:Be("invalid type for getValue: "+t)}return null}function P(e){var t,n=l.ALLOC_STACK;if("number"==typeof e)var r=!0,i=e;else r=!1,i=e.length;if(t=4==n?o:["function"==typeof Se?Se:I,ke,I,R][void 0===n?2:n](Math.max(i,1)),r){var o=t;for(C(0==(3&t)),e=t+(-4&i);o<e;o+=4)U[o>>2]=0;for(e=t+i;o<e;)B[o++>>0]=0;return t}return e.subarray||e.slice?N.set(e,t):N.set(new Uint8Array(e),t),t}var D,B,N,j,U,L,q,F,K,G,z,H,V,Q="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function W(e){for(var t=N,n=e;t[n];)++n;if(16<n-e&&t.subarray&&Q)return Q.decode(t.subarray(e,n));for(n="";;){var r=t[e++];if(!r)return n;if(128&r){var i=63&t[e++];if(192==(224&r))n+=String.fromCharCode((31&r)<<6|i);else{var o=63&t[e++];if(224==(240&r))r=(15&r)<<12|i<<6|o;else{var s=63&t[e++];if(240==(248&r))r=(7&r)<<18|i<<12|o<<6|s;else{var a=63&t[e++];r=248==(252&r)?(3&r)<<24|i<<18|o<<12|s<<6|a:(1&r)<<30|i<<24|o<<18|s<<12|a<<6|63&t[e++]}}65536>r?n+=String.fromCharCode(r):(r-=65536,n+=String.fromCharCode(55296|r>>10,56320|1023&r))}}else n+=String.fromCharCode(r)}}function Y(e,t,n,r){if(!(0<r))return 0;var i=n;r=n+r-1;for(var o=0;o<e.length;++o){var s=e.charCodeAt(o);if(55296<=s&&57343>=s&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++o)),127>=s){if(n>=r)break;t[n++]=s}else{if(2047>=s){if(n+1>=r)break;t[n++]=192|s>>6}else{if(65535>=s){if(n+2>=r)break;t[n++]=224|s>>12}else{if(2097151>=s){if(n+3>=r)break;t[n++]=240|s>>18}else{if(67108863>=s){if(n+4>=r)break;t[n++]=248|s>>24}else{if(n+5>=r)break;t[n++]=252|s>>30,t[n++]=128|s>>24&63}t[n++]=128|s>>18&63}t[n++]=128|s>>12&63}t[n++]=128|s>>6&63}t[n++]=128|63&s}}return t[n]=0,n-i}function X(e){for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);55296<=r&&57343>=r&&(r=65536+((1023&r)<<10)|1023&e.charCodeAt(++n)),127>=r?++t:t=2047>=r?t+2:65535>=r?t+3:2097151>=r?t+4:67108863>=r?t+5:t+6}return t}function J(){Be("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+$+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le"),F=K=G=z=H=V=0;var Z=l.TOTAL_STACK||5242880,$=l.TOTAL_MEMORY||16777216;function ee(e){for(;0<e.length;){var t=e.shift();if("function"==typeof t)t();else{var n=t.h;"number"==typeof n?void 0===t.c?l.dynCall_v(n):l.dynCall_vi(n,t.c):n(void 0===t.c?null:t.c)}}}$<Z&&k("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+$+"! (TOTAL_STACK="+Z+")"),l.buffer?D=l.buffer:(D=new ArrayBuffer($),l.buffer=D),l.HEAP8=B=new Int8Array(D),l.HEAP16=j=new Int16Array(D),l.HEAP32=U=new Int32Array(D),l.HEAPU8=N=new Uint8Array(D),l.HEAPU16=new Uint16Array(D),l.HEAPU32=new Uint32Array(D),l.HEAPF32=L=new Float32Array(D),l.HEAPF64=q=new Float64Array(D);var te=[],ne=[],re=[],ie=[],oe=!1;function se(){var e=l.preRun.shift();te.unshift(e)}function ae(e,t){for(var n=0;n<e.length;++n)B[t++>>0]=e.charCodeAt(n)}var fe=Math.abs,ce=Math.ceil,ue=Math.floor,le=Math.min,de=0,he=null,pe=null;l.preloadedImages={},l.preloadedAudios={};var ge=null,me="data:application/octet-stream;base64,";F=39112,ne.push(),ge="data:application/octet-stream;base64,AAAAAAAAAABBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsv/////////////////////////////////////////////////////////z7///8/NDU2Nzg5Ojs8Pf////////8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGf///////xobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIz//////8JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIU7jAG98ST/+CXDAWDcNwC3TD7/w0I9ADJMpAHhpEz/TD2j/3U+HwBRkUD/dkEOAKJz1v8Gii4AfOb0/wqKjwA0GsIAuPRMAIGPKQG+9BP/e6p6/2KBRAB51ZMAVmUe/6FnmwCMWUP/7+W+AUMLtQDG8In+7kW8/0OX7gATKmz/5VVxATJEh/8RagkAMmcB/1ABqAEjmB7/EKi5AThZ6P9l0vwAKfpHAMyqT/8OLu//UE3vAL3WS/8RjfkAJlBM/75VdQBW5KoAnNjQAcPPpP+WQkz/r+EQ/41QYgFM2/IAxqJyAC7amACbK/H+m6Bo/zO7pQACEa8AQlSgAfc6HgAjQTX+Rey/AC2G9QGje90AIG4U/zQXpQC61kcA6bBgAPLvNgE5WYoAUwBU/4igZABcjnj+aHy+ALWxPv/6KVUAmIIqAWD89gCXlz/+74U+ACA4nAAtp73/joWzAYNW0wC7s5b++qoO/9KjTgAlNJcAY00aAO6c1f/VwNEBSS5UABRBKQE2zk8AyYOS/qpvGP+xITL+qybL/073dADR3ZkAhYCyATosGQDJJzsBvRP8ADHl0gF1u3UAtbO4AQBy2wAwXpMA9Sk4AH0NzP70rXcALN0g/lTqFAD5oMYB7H7q/y9jqP6q4pn/ZrPYAOKNev96Qpn+tvWGAOPkGQHWOev/2K04/7Xn0gB3gJ3/gV+I/25+MwACqbf/B4Ji/kWwXv90BOMB2fKR/8qtHwFpASf/Lq9FAOQvOv/X4EX+zzhF/xD+i/8Xz9T/yhR+/1/VYP8JsCEAyAXP//EqgP4jIcD/+OXEAYEReAD7Z5f/BzRw/4w4Qv8o4vX/2UYl/qzWCf9IQ4YBksDW/ywmcABEuEv/zlr7AJXrjQC1qjoAdPTvAFydAgBmrWIA6YlgAX8xywAFm5QAF5QJ/9N6DAAihhr/28yIAIYIKf/gUyv+VRn3AG1/AP6piDAA7nfb/+et1QDOEv7+CLoH/34JBwFvKkgAbzTs/mA/jQCTv3/+zU7A/w5q7QG720wAr/O7/mlZrQBVGVkBovOUAAJ20f4hngkAi6Mu/11GKABsKo7+b/yO/5vfkAAz5af/Sfyb/150DP+YoNr/nO4l/7Pqz//FALP/mqSNAOHEaAAKIxn+0dTy/2H93v64ZeUA3hJ/AaSIh/8ez4z+kmHzAIHAGv7JVCH/bwpO/5NRsv8EBBgAoe7X/waNIQA11w7/KbXQ/+eLnQCzy93//7lxAL3irP9xQtb/yj4t/2ZACP9OrhD+hXVE/1nxsv4K5ab/e90q/h4U1ABSgAMAMNHzAHd5QP8y45z/AG7FAWcbkAAAAAAAAAAAALZ4Wf+FctMAvW4V/w8KagApwAEAmOh5/7w8oP+Zcc7/ALfi/rQNSP8AAAAAAAAAALCgDv7TyYb/nhiPAH9pNQBgDL0Ap9f7/59MgP5qZeH/HvwEAJIMrgAAAAAAAAAAAIU7jAG98ST/+CXDAWDcNwC3TD7/w0I9ADJMpAHhpEz/TD2j/3U+HwBRkUD/dkEOAKJz1v8Gii4AfOb0/wqKjwA0GsIAuPRMAIGPKQG+9BP/e6p6/2KBRAB51ZMAVmUe/6FnmwCMWUP/7+W+AUMLtQDG8In+7kW8/+pxPP8l/zn/RbK2/oDQswB2Gn3+AwfW//EyTf9Vy8X/04f6/xkwZP+71bT+EVhpAFPRngEFc2IABK48/qs3bv/ZtRH/FLyqAJKcZv5X1q7/cnqbAeksqgB/CO8B1uzqAK8F2wAxaj3/BkLQ/wJqbv9R6hP/12vA/0OX7gATKmz/5VVxATJEh/8RagkAMmcB/1ABqAEjmB7/EKi5AThZ6P9l0vwAKfpHAMyqT/8OLu//UE3vAL3WS/8RjfkAJlBM/75VdQBW5KoAnNjQAcPPpP+WQkz/r+EQ/41QYgFM2/IAxqJyAC7amACbK/H+m6Bo/7IJ/P5kbtQADgWnAOnvo/8cl50BZZIK//6eRv5H+eQAWB4yAEQ6oP+/GGgBgUKB/8AyVf8Is4r/JvrJAHNQoACD5nEAfViTAFpExwD9TJ4AHP92AHH6/gBCSy4A5torAOV4ugGURCsAiHzuAbtrxf9UNfb/M3T+/zO7pQACEa8AQlSgAfc6HgAjQTX+Rey/AC2G9QGje90AIG4U/zQXpQC61kcA6bBgAPLvNgE5WYoAUwBU/4igZABcjnj+aHy+ALWxPv/6KVUAmIIqAWD89gCXlz/+74U+ACA4nAAtp73/joWzAYNW0wC7s5b++qoO/0RxFf/eujv/QgfxAUUGSABWnGz+N6dZAG002/4NsBf/xCxq/++VR/+kjH3/n60BADMp5wCRPiEAim9dAblTRQCQcy4AYZcQ/xjkGgAx2eIAcUvq/sGZDP+2MGD/Dg0aAIDD+f5FwTsAhCVR/n1qPADW8KkBpONCANKjTgAlNJcAY00aAO6c1f/VwNEBSS5UABRBKQE2zk8AyYOS/qpvGP+xITL+qybL/073dADR3ZkAhYCyATosGQDJJzsBvRP8ADHl0gF1u3UAtbO4AQBy2wAwXpMA9Sk4AH0NzP70rXcALN0g/lTqFAD5oMYB7H7q/48+3QCBWdb/N4sF/kQUv/8OzLIBI8PZAC8zzgEm9qUAzhsG/p5XJADZNJL/fXvX/1U8H/+rDQcA2vVY/vwjPAA31qD/hWU4AOAgE/6TQOoAGpGiAXJ2fQD4/PoAZV7E/8aN4v4zKrYAhwwJ/m2s0v/F7MIB8UGaADCcL/+ZQzf/2qUi/kq0swDaQkcBWHpjANS12/9cKuf/7wCaAPVNt/9eUaoBEtXYAKtdRwA0XvgAEpeh/sXRQv+u9A/+ojC3ADE98P62XcMAx+QGAcgFEf+JLe3/bJQEAFpP7f8nP03/NVLPAY4Wdv9l6BIBXBpDAAXIWP8hqIr/leFIAALRG/8s9agB3O0R/x7Taf6N7t0AgFD1/m/+DgDeX74B3wnxAJJM1P9szWj/P3WZAJBFMAAj5G8AwCHB/3DWvv5zmJcAF2ZYADNK+ADix4/+zKJl/9BhvQH1aBIA5vYe/xeURQBuWDT+4rVZ/9AvWv5yoVD/IXT4ALOYV/9FkLEBWO4a/zogcQEBTUUAO3k0/5juUwA0CMEA5yfp/8ciigDeRK0AWzny/tzSf//AB/b+lyO7AMPspQBvXc4A1PeFAZqF0f+b5woAQE4mAHr5ZAEeE2H/Plv5AfiFTQDFP6j+dApSALjscf7Uy8L/PWT8/iQFyv93W5n/gU8dAGdnq/7t12//2DVFAO/wFwDCld3/JuHeAOj/tP52UoX/OdGxAYvohQCesC7+wnMuAFj35QEcZ78A3d6v/pXrLACX5Bn+2mlnAI5V0gCVgb7/1UFe/nWG4P9SxnUAnd3cAKNlJADFciUAaKym/gu2AABRSLz/YbwQ/0UGCgDHk5H/CAlzAUHWr//ZrdEAUH+mAPflBP6nt3z/WhzM/q878P8LKfgBbCgz/5Cxw/6W+n4AiltBAXg83v/1we8AHda9/4ACGQBQmqIATdxrAerNSv82pmf/dEgJAOReL/8eyBn/I9ZZ/z2wjP9T4qP/S4KsAIAmEQBfiZj/13yfAU9dAACUUp3+w4L7/yjKTP/7fuAAnWM+/s8H4f9gRMMAjLqd/4MT5/8qgP4ANNs9/mbLSACNBwv/uqTVAB96dwCF8pEA0Pzo/1vVtv+PBPr++ddKAKUebwGrCd8A5XsiAVyCGv9Nmy0Bw4sc/zvgTgCIEfcAbHkgAE/6vf9g4/z+JvE+AD6uff+bb13/CubOAWHFKP8AMTn+QfoNABL7lv/cbdL/Ba6m/iyBvQDrI5P/JfeN/0iNBP9na/8A91oEADUsKgACHvAABDs/AFhOJABxp7QAvkfB/8eepP86CKwATSEMAEE/AwCZTSH/rP5mAeTdBP9XHv4BkilW/4rM7/5sjRH/u/KHANLQfwBELQ7+SWA+AFE8GP+qBiT/A/kaACPVbQAWgTb/FSPh/+o9OP862QYAj3xYAOx+QgDRJrf/Iu4G/66RZgBfFtMAxA+Z/i5U6P91IpIB5/pK/xuGZAFcu8P/qsZwAHgcKgDRRkMAHVEfAB2oZAGpraAAayN1AD5gO/9RDEUBh+++/9z8EgCj3Dr/iYm8/1NmbQBgBkwA6t7S/7muzQE8ntX/DfHWAKyBjABdaPIAwJz7ACt1HgDhUZ4Af+jaAOIcywDpG5f/dSsF//IOL/8hFAYAifss/hsf9f+31n3+KHmVALqe1f9ZCOMARVgA/suH4QDJrssAk0e4ABJ5Kf5eBU4A4Nbw/iQFtAD7h+cBo4rUANL5dP5YgbsAEwgx/j4OkP+fTNMA1jNSAG115P5n38v/S/wPAZpH3P8XDVsBjahg/7W2hQD6MzcA6urU/q8/ngAn8DQBnr0k/9UoVQEgtPf/E2YaAVQYYf9FFd4AlIt6/9zV6wHoy/8AeTmTAOMHmgA1FpMBSAHhAFKGMP5TPJ3/kUipACJn7wDG6S8AdBME/7hqCf+3gVMAJLDmASJnSADbooYA9SqeACCVYP6lLJAAyu9I/teWBQAqQiQBhNevAFauVv8axZz/MeiH/me2UgD9gLABmbJ6APX6CgDsGLIAiWqEACgdKQAyHpj/fGkmAOa/SwCPK6oALIMU/ywNF//t/5sBn21k/3C1GP9o3GwAN9ODAGMM1f+Yl5H/7gWfAGGbCAAhbFEAAQNnAD5tIv/6m7QAIEfD/yZGkQGfX/UAReVlAYgc8ABP4BkATm55//iofAC7gPcAApPr/k8LhABGOgwBtQij/0+Jhf8lqgv/jfNV/7Dn1//MlqT/79cn/y5XnP4Io1j/rCLoAEIsZv8bNin+7GNX/yl7qQE0cisAdYYoAJuGGgDnz1v+I4Qm/xNmff4k44X/dgNx/x0NfACYYEoBWJLO/6e/3P6iElj/tmQXAB91NABRLmoBDAIHAEVQyQHR9qwADDCNAeDTWAB04p8AemKCAEHs6gHh4gn/z+J7AVnWOwBwh1gBWvTL/zELJgGBbLoAWXAPAWUuzP9/zC3+T//d/zNJEv9/KmX/8RXKAKDjBwBpMuwATzTF/2jK0AG0DxAAZcVO/2JNywApufEBI8F8ACObF//PNcAAC32jAfmeuf8EgzAAFV1v/z155wFFyCT/uTC5/2/uFf8nMhn/Y9ej/1fUHv+kkwX/gAYjAWzfbv/CTLIASmW0APMvMACuGSv/Uq39ATZywP8oN1sA12yw/ws4BwDg6UwA0WLK/vIZfQAswV3+ywixAIewEwBwR9X/zjuwAQRDGgAOj9X+KjfQ/zxDeADBFaMAY6RzAAoUdgCc1N7+oAfZ/3L1TAF1O3sAsMJW/tUPsABOzs/+1YE7AOn7FgFgN5j/7P8P/8VZVP9dlYUArqBxAOpjqf+YdFgAkKRT/18dxv8iLw//Y3iG/wXswQD5937/k7seADLmdf9s2dv/o1Gm/0gZqf6beU//HJtZ/gd+EQCTQSEBL+r9ABozEgBpU8f/o8TmAHH4pADi/toAvdHL/6T33v7/I6UABLzzAX+zRwAl7f7/ZLrwAAU5R/5nSEn/9BJR/uXShP/uBrT/C+Wu/+PdwAERMRwAo9fE/gl2BP8z8EcAcYFt/0zw5wC8sX8AfUcsARqv8wBeqRn+G+YdAA+LdwGoqrr/rMVM//xLvACJfMQASBZg/y2X+QHckWQAQMCf/3jv4gCBspIAAMB9AOuK6gC3nZIAU8fA/7isSP9J4YAATQb6/7pBQwBo9s8AvCCK/9oY8gBDilH+7YF5/xTPlgEpxxD/BhSAAJ92BQC1EI//3CYPABdAk/5JGg0AV+Q5Acx8gAArGN8A22PHABZLFP8TG34AnT7XAG4d5gCzp/8BNvy+AN3Mtv6znkH/UZ0DAMLanwCq3wAA4Asg/ybFYgCopCUAF1gHAaS6bgBgJIYA6vLlAPp5EwDy/nD/Ay9eAQnvBv9Rhpn+1v2o/0N84AD1X0oAHB4s/gFt3P+yWVkA/CRMABjGLv9MTW8AhuqI/ydeHQC5SOr/RkSH/+dmB/5N54wApy86AZRhdv8QG+EBps6P/26y1v+0g6IAj43hAQ3aTv9ymSEBYmjMAK9ydQGnzksAysRTATpAQwCKL28BxPeA/4ng4P6ecM8AmmT/AYYlawDGgE//f9Gb/6P+uf48DvMAH9tw/h3ZQQDIDXT+ezzE/+A7uP7yWcQAexBL/pUQzgBF/jAB53Tf/9GgQQHIUGIAJcK4/pQ/IgCL8EH/2ZCE/zgmLf7HeNIAbLGm/6DeBADcfnf+pWug/1Lc+AHxr4gAkI0X/6mKVACgiU7/4nZQ/zQbhP8/YIv/mPonALybDwDoM5b+KA/o//DlCf+Jrxv/S0lhAdrUCwCHBaIBa7nVAAL5a/8o8kYA28gZABmdDQBDUlD/xPkX/5EUlQAySJIAXkyUARj7QQAfwBcAuNTJ/3vpogH3rUgAolfb/n6GWQCfCwz+pmkdAEkb5AFxeLf/QqNtAdSPC/+f56gB/4BaADkOOv5ZNAr//QijAQCR0v8KgVUBLrUbAGeIoP5+vNH/IiNvANfbGP/UC9b+ZQV2AOjFhf/fp23/7VBW/0aLXgCewb8Bmw8z/w++cwBOh8//+QobAbV96QBfrA3+qtWh/yfsiv9fXVf/voBfAH0PzgCmlp8A4w+e/86eeP8qjYAAZbJ4AZxtgwDaDiz+96jO/9RwHABwEeT/WhAlAcXebAD+z1P/CVrz//P0rAAaWHP/zXR6AL/mwQC0ZAsB2SVg/5pOnADr6h//zrKy/5XA+wC2+ocA9hZpAHzBbf8C0pX/qRGqAABgbv91CQgBMnso/8G9YwAi46AAMFBG/tMz7AAtevX+LK4IAK0l6f+eQasAekXX/1pQAv+DamD+43KHAM0xd/6wPkD/UjMR//EU8/+CDQj+gNnz/6IbAf5advEA9sb2/zcQdv/In50AoxEBAIxreQBVoXb/JgCVAJwv7gAJpqYBS2K1/zJKGQBCDy8Ai+GfAEwDjv8O7rgAC881/7fAugGrIK7/v0zdAfeq2wAZrDL+2QnpAMt+RP+3XDAAf6e3AUEx/gAQP38B/hWq/zvgf/4WMD//G06C/ijDHQD6hHD+I8uQAGipqADP/R7/aCgm/l7kWADOEID/1Dd6/98W6gDfxX8A/bW1AZFmdgDsmST/1NlI/xQmGP6KPj4AmIwEAObcY/8BFdT/lMnnAPR7Cf4Aq9IAMzol/wH/Dv/0t5H+APKmABZKhAB52CkAX8Ny/oUYl/+c4uf/9wVN//aUc/7hXFH/3lD2/qp7Wf9Kx40AHRQI/4qIRv9dS1wA3ZMx/jR+4gDlfBcALgm1AM1ANAGD/hwAl57UAINATgDOGasAAOaLAL/9bv5n96cAQCgoASql8f87S+T+fPO9/8Rcsv+CjFb/jVk4AZPGBf/L+J7+kKKNAAus4gCCKhX/AaeP/5AkJP8wWKT+qKrcAGJH1gBb0E8An0zJAaYq1v9F/wD/BoB9/74BjACSU9r/1+5IAXp/NQC9dKX/VAhC/9YD0P/VboUAw6gsAZ7nRQCiQMj+WzpoALY6u/755IgAy4ZM/mPd6QBL/tb+UEWaAECY+P7siMr/nWmZ/pWvFAAWIxP/fHnpALr6xv6E5YsAiVCu/6V9RACQypT+6+/4AIe4dgBlXhH/ekhG/kWCkgB/3vgBRX92/x5S1/68ShP/5afC/nUZQv9B6jj+1RacAJc7Xf4tHBv/un6k/yAG7wB/cmMB2zQC/2Ngpv4+vn7/bN6oAUvirgDm4scAPHXa//z4FAHWvMwAH8KG/ntFwP+prST+N2JbAN8qZv6JAWYAnVoZAO96QP/8BukABzYU/1J0rgCHJTb/D7p9AONwr/9ktOH/Ku30//St4v74EiEAq2OW/0rrMv91UiD+aqjtAM9t0AHkCboAhzyp/rNcjwD0qmj/6y18/0ZjugB1ibcA4B/XACgJZAAaEF8BRNlXAAiXFP8aZDr/sKXLATR2RgAHIP7+9P71/6eQwv99cRf/sHm1AIhU0QCKBh7/WTAcACGbDv8Z8JoAjc1tAUZzPv8UKGv+iprH/17f4v+dqyYAo7EZ/i12A/8O3hcB0b5R/3Z76AEN1WX/ezd7/hv2pQAyY0z/jNYg/2FBQ/8YDBwArlZOAUD3YACgh0MAQjfz/5PMYP8aBiH/YjNTAZnV0P8CuDb/GdoLADFD9v4SlUj/DRlIACpP1gAqBCYBG4uQ/5W7FwASpIQA9VS4/njGaP9+2mAAOHXq/w0d1v5ELwr/p5qE/pgmxgBCsln/yC6r/w1jU//Su/3/qi0qAYrRfADWoo0ADOacAGYkcP4Dk0MANNd7/+mrNv9iiT4A99on/+fa7AD3v38Aw5JUAKWwXP8T1F7/EUrjAFgomQHGkwH/zkP1/vAD2v89jdX/YbdqAMPo6/5fVpoA0TDN/nbR8f/weN8B1R2fAKN/k/8N2l0AVRhE/kYUUP+9BYwBUmH+/2Njv/+EVIX/a9p0/3B6LgBpESAAwqA//0TeJwHY/VwAsWnN/5XJwwAq4Qv/KKJzAAkHUQCl2tsAtBYA/h2S/P+Sz+EBtIdgAB+jcACxC9v/hQzB/itOMgBBcXkBO9kG/25eGAFwrG8ABw9gACRVewBHlhX/0Em8AMALpwHV9SIACeZcAKKOJ//XWhsAYmFZAF5P0wBanfAAX9x+AWaw4gAkHuD+Ix9/AOfocwFVU4IA0kn1/y+Pcv9EQcUAO0g+/7eFrf5deXb/O7FR/+pFrf/NgLEA3PQzABr00QFJ3k3/owhg/paV0wCe/ssBNn+LAKHgOwAEbRb/3iot/9CSZv/sjrsAMs31/wpKWf4wT44A3kyC/x6mPwDsDA3/Mbj0ALtxZgDaZf0AmTm2/iCWKgAZxpIB7fE4AIxEBQBbpKz/TpG6/kM0zQDbz4EBbXMRADaPOgEV+Hj/s/8eAMHsQv8B/wf//cAw/xNF2QED1gD/QGWSAd99I//rSbP/+afiAOGvCgFhojoAanCrAVSsBf+FjLL/hvWOAGFaff+6y7n/300X/8BcagAPxnP/2Zj4AKuyeP/khjUAsDbBAfr7NQDVCmQBIsdqAJcf9P6s4Ff/Du0X//1VGv9/J3T/rGhkAPsORv/U0Ir//dP6ALAxpQAPTHv/Jdqg/1yHEAEKfnL/RgXg//f5jQBEFDwB8dK9/8PZuwGXA3EAl1yuAOc+sv/bt+EAFxch/821UAA5uPj/Q7QB/1p7Xf8nAKL/YPg0/1RCjAAif+T/wooHAaZuvAAVEZsBmr7G/9ZQO/8SB48ASB3iAcfZ+QDooUcBlb7JANmvX/5xk0P/io/H/3/MAQAdtlMBzuab/7rMPAAKfVX/6GAZ//9Z9//V/q8B6MFRABwrnP4MRQgAkxj4ABLGMQCGPCMAdvYS/zFY/v7kFbr/tkFwAdsWAf8WfjT/vTUx/3AZjwAmfzf/4mWj/tCFPf+JRa4BvnaR/zxi2//ZDfX/+ogKAFT+4gDJH30B8DP7/x+Dgv8CijL/19exAd8M7v/8lTj/fFtE/0h+qv53/2QAgofo/w5PsgD6g8UAisbQAHnYi/53EiT/HcF6ABAqLf/V8OsB5r6p/8Yj5P5urUgA1t3x/ziUhwDAdU7+jV3P/49BlQAVEmL/Xyz0AWq/TQD+VQj+1m6w/0mtE/6gxMf/7VqQAMGscf/Im4j+5FrdAIkxSgGk3df/0b0F/2nsN/8qH4EBwf/sAC7ZPACKWLv/4lLs/1FFl/+OvhABDYYIAH96MP9RQJwAq/OLAO0j9gB6j8H+1HqSAF8p/wFXhE0ABNQfABEfTgAnLa3+GI7Z/18JBv/jUwYAYjuC/j4eIQAIc9MBomGA/we4F/50HKj/+IqX/2L08AC6doIAcvjr/2mtyAGgfEf/XiSkAa9Bkv/u8ar+ysbFAORHiv4t9m3/wjSeAIW7sABT/Jr+Wb3d/6pJ/ACUOn0AJEQz/ipFsf+oTFb/JmTM/yY1IwCvE2EA4e79/1FRhwDSG//+60lrAAjPcwBSf4gAVGMV/s8TiABkpGUAUNBN/4TP7f8PAw//IaZuAJxfVf8luW8Blmoj/6aXTAByV4f/n8JAAAx6H//oB2X+rXdiAJpH3P6/OTX/qOig/+AgY//anKUAl5mjANkNlAHFcVkAlRyh/s8XHgBphOP/NuZe/4WtzP9ct53/WJD8/mYhWgCfYQMAtdqb//BydwBq1jX/pb5zAZhb4f9Yaiz/0D1xAJc0fAC/G5z/bjbsAQ4epv8nf88B5cccALzkvP5knesA9tq3AWsWwf/OoF8ATO+TAM+hdQAzpgL/NHUK/kk44/+YweEAhF6I/2W/0QAga+X/xiu0AWTSdgByQ5n/F1ga/1maXAHceIz/kHLP//xz+v8izkgAioV//wiyfAFXS2EAD+Vc/vBDg/92e+P+knho/5HV/wGBu0b/23c2AAETrQAtlpQB+FNIAMvpqQGOazgA9/kmAS3yUP8e6WcAYFJGABfJbwBRJx7/obdO/8LqIf9E44z+2M50AEYb6/9okE8ApOZd/taHnACau/L+vBSD/yRtrgCfcPEABW6VASSl2gCmHRMBsi5JAF0rIP74ve0AZpuNAMldw//xi/3/D29i/2xBo/6bT77/Sa7B/vYoMP9rWAv+ymFV//3MEv9x8kIAbqDC/tASugBRFTwAvGin/3ymYf7ShY4AOPKJ/ilvggBvlzoBb9WN/7es8f8mBsT/uQd7/y4L9gD1aXcBDwKh/wjOLf8Sykr/U3xzAdSNnQBTCNH+iw/o/6w2rf4y94QA1r3VAJC4aQDf/vgA/5Pw/xe8SAAHMzYAvBm0/ty0AP9ToBQAo73z/zrRwv9XSTwAahgxAPX53AAWracAdgvD/xN+7QBunyX/O1IvALS7VgC8lNABZCWF/wdwwQCBvJz/VGqB/4XhygAO7G//KBRlAKysMf4zNkr/+7m4/12b4P+0+eAB5rKSAEg5Nv6yPrgAd81IALnv/f89D9oAxEM4/+ogqwEu2+QA0Gzq/xQ/6P+lNccBheQF/zTNawBK7oz/lpzb/u+ssv/7vd/+II7T/9oPigHxxFAAHCRi/hbqxwA97dz/9jklAI4Rjv+dPhoAK+5f/gPZBv/VGfABJ9yu/5rNMP4TDcD/9CI2/owQmwDwtQX+m8E8AKaABP8kkTj/lvDbAHgzkQBSmSoBjOySAGtc+AG9CgMAP4jyANMnGAATyqEBrRu6/9LM7/4p0aL/tv6f/6x0NADDZ97+zUU7ADUWKQHaMMIAUNLyANK8zwC7oaH+2BEBAIjhcQD6uD8A3x5i/k2oogA7Na8AE8kK/4vgwgCTwZr/1L0M/gHIrv8yhXEBXrNaAK22hwBesXEAK1nX/4j8av97hlP+BfVC/1IxJwHcAuAAYYGxAE07WQA9HZsBy6vc/1xOiwCRIbX/qRiNATeWswCLPFD/2idhAAKTa/88+EgAreYvAQZTtv8QaaL+idRR/7S4hgEn3qT/3Wn7Ae9wfQA/B2EAP2jj/5Q6DABaPOD/VNT8AE/XqAD43ccBc3kBACSseAAgorv/OWsx/5MqFQBqxisBOUpXAH7LUf+Bh8MAjB+xAN2LwgAD3tcAg0TnALFWsv58l7QAuHwmAUajEQD5+7UBKjfjAOKhLAAX7G4AM5WOAV0F7ADat2r+QxhNACj10f/eeZkApTkeAFN9PABGJlIB5Qa8AG3enf83dj//zZe6AOMhlf/+sPYB47HjACJqo/6wK08Aal9OAbnxev+5Dj0AJAHKAA2yov/3C4QAoeZcAUEBuf/UMqUBjZJA/57y2gAVpH0A1Yt6AUNHVwDLnrIBl1wrAJhvBf8nA+//2f/6/7A/R/9K9U0B+q4S/yIx4//2Lvv/miMwAX2dPf9qJE7/YeyZAIi7eP9xhqv/E9XZ/the0f/8BT0AXgPKAAMat/9Avyv/HhcVAIGNTf9meAcBwkyMALyvNP8RUZQA6FY3AeEwrACGKir/7jIvAKkS/gAUk1f/DsPv/0X3FwDu5YD/sTFwAKhi+/95R/gA8wiR/vbjmf/bqbH++4ul/wyjuf+kKKv/mZ8b/vNtW//eGHABEtbnAGudtf7DkwD/wmNo/1mMvv+xQn7+arlCADHaHwD8rp4AvE/mAe4p4ADU6ggBiAu1AKZ1U/9Ew14ALoTJAPCYWACkOUX+oOAq/zvXQ/93w43/JLR5/s8vCP+u0t8AZcVE//9SjQH6iekAYVaFARBQRQCEg58AdF1kAC2NiwCYrJ3/WitbAEeZLgAnEHD/2Yhh/9zGGf6xNTEA3liG/4APPADPwKn/wHTR/2pO0wHI1bf/Bwx6/t7LPP8hbsf++2p1AOThBAF4Ogf/3cFU/nCFGwC9yMn/i4eWAOo3sP89MkEAmGyp/9xVAf9wh+MAohq6AM9guf70iGsAXZkyAcZhlwBuC1b/j3Wu/3PUyAAFyrcA7aQK/rnvPgDseBL+Yntj/6jJwv4u6tYAv4Ux/2OpdwC+uyMBcxUt//mDSABwBnv/1jG1/qbpIgBcxWb+/eTN/wM7yQEqYi4A2yUj/6nDJgBefMEBnCvfAF9Ihf54zr8AesXv/7G7T//+LgIB+qe+AFSBEwDLcab/+R+9/kidyv/QR0n/zxhIAAoQEgHSUUz/WNDA/37za//ujXj/x3nq/4kMO/8k3Hv/lLM8/vAMHQBCAGEBJB4m/3MBXf9gZ+f/xZ47AcCk8ADKyjn/GK4wAFlNmwEqTNcA9JfpABcwUQDvfzT+44Il//h0XQF8hHYArf7AAQbrU/9ur+cB+xy2AIH5Xf5UuIAATLU+AK+AugBkNYj+bR3iAN3pOgEUY0oAABagAIYNFQAJNDf/EVmMAK8iOwBUpXf/4OLq/wdIpv97c/8BEtb2APoHRwHZ3LkA1CNM/yZ9rwC9YdIAcu4s/ym8qf4tupoAUVwWAISgwQB50GL/DVEs/8ucUgBHOhX/0HK//jImkwCa2MMAZRkSADz61//phOv/Z6+OARAOXACNH27+7vEt/5nZ7wFhqC//+VUQARyvPv85/jYA3ud+AKYtdf4SvWD/5EwyAMj0XgDGmHgBRCJF/wxBoP5lE1oAp8V4/0Q2uf8p2rwAcagwAFhpvQEaUiD/uV2kAeTw7f9CtjUAq8Vc/2sJ6QHHeJD/TjEK/22qaf9aBB//HPRx/0o6CwA+3Pb/eZrI/pDSsv9+OYEBK/oO/2VvHAEvVvH/PUaW/zVJBf8eGp4A0RpWAIrtSgCkX7wAjjwd/qJ0+P+7r6AAlxIQANFvQf7Lhif/WGwx/4MaR//dG9f+aGld/x/sH/6HANP/j39uAdRJ5QDpQ6f+wwHQ/4QR3f8z2VoAQ+sy/9/SjwCzNYIB6WrGANmt3P9w5Rj/r5pd/kfL9v8wQoX/A4jm/xfdcf7rb9UAqnhf/vvdAgAtgp7+aV7Z//I0tP7VRC3/aCYcAPSeTAChyGD/zzUN/7tDlACqNvgAd6Ky/1MUCwAqKsABkp+j/7fobwBN5RX/RzWPABtMIgD2iC//2ye2/1zgyQETjg7/Rbbx/6N29QAJbWoBqrX3/04v7v9U0rD/1WuLACcmCwBIFZYASIJFAM1Nm/6OhRUAR2+s/uIqO/+zANcBIYDxAOr8DQG4TwgAbh5J//aNvQCqz9oBSppF/4r2Mf+bIGQAfUpp/1pVPf8j5bH/Pn3B/5lWvAFJeNQA0Xv2/ofRJv+XOiwBXEXW/w4MWP/8mab//c9w/zxOU//jfG4AtGD8/zV1If6k3FL/KQEb/yakpv+kY6n+PZBG/8CmEgBr+kIAxUEyAAGzEv//aAH/K5kj/1BvqABur6gAKWkt/9sOzf+k6Yz+KwF2AOlDwwCyUp//ild6/9TuWv+QI3z+GYykAPvXLP6FRmv/ZeNQ/lypNwDXKjEAcrRV/yHoGwGs1RkAPrB7/iCFGP/hvz4AXUaZALUqaAEWv+D/yMiM//nqJQCVOY0AwzjQ//6CRv8grfD/HdzHAG5kc/+E5fkA5Onf/yXY0f6ysdH/ty2l/uBhcgCJYaj/4d6sAKUNMQHS68z//AQc/kaglwDovjT+U/hd/z7XTQGvr7P/oDJCAHkw0AA/qdH/ANLIAOC7LAFJolIACbCP/xNMwf8dO6cBGCuaABy+vgCNvIEA6OvL/+oAbf82QZ8APFjo/3n9lv786YP/xm4pAVNNR//IFjv+av3y/xUMz//tQr0AWsbKAeGsfwA1FsoAOOaEAAFWtwBtvioA80SuAW3kmgDIsXoBI6C3/7EwVf9a2qn/+JhOAMr+bgAGNCsAjmJB/z+RFgBGal0A6IprAW6zPf/TgdoB8tFcACNa2QG2j2r/dGXZ/3L63f+tzAYAPJajAEmsLP/vblD/7UyZ/qGM+QCV6OUAhR8o/66kdwBxM9YAgeQC/kAi8wBr4/T/rmrI/1SZRgEyIxAA+krY/uy9Qv+Z+Q0A5rIE/90p7gB243n/XleM/v53XABJ7/b+dVeAABPTkf+xLvwA5Vv2AUWA9//KTTYBCAsJ/5lgpgDZ1q3/hsACAQDPAAC9rmsBjIZkAJ7B8wG2ZqsA65ozAI4Fe/88qFkB2Q5c/xPWBQHTp/4ALAbK/ngS7P8Pcbj/uN+LACixd/62e1r/sKWwAPdNwgAb6ngA5wDW/zsnHgB9Y5H/lkREAY3e+ACZe9L/bn+Y/+Uh1gGH3cUAiWECAAyPzP9RKbwAc0+C/14DhACYr7v/fI0K/37As/8LZ8YAlQYtANtVuwHmErL/SLaYAAPGuP+AcOABYaHmAP5jJv86n8UAl0LbADtFj/+5cPkAd4gv/3uChACoR1//cbAoAei5rQDPXXUBRJ1s/2YFk/4xYSEAWUFv/vceo/982d0BZvrYAMauS/45NxIA4wXsAeXVrQDJbdoBMenvAB43ngEZsmoAm2+8AV5+jADXH+4BTfAQANXyGQEmR6gAzbpd/jHTjP/bALT/hnalAKCThv9uuiP/xvMqAPOSdwCG66MBBPGH/8Euwf5ntE//4QS4/vJ2ggCSh7AB6m8eAEVC1f4pYHsAeV4q/7K/w/8ugioAdVQI/+kx1v7uem0ABkdZAezTewD0DTD+d5QOAHIcVv9L7Rn/keUQ/oFkNf+Glnj+qJ0yABdIaP/gMQ4A/3sW/5e5l/+qULgBhrYUAClkZQGZIRAATJpvAVbO6v/AoKT+pXtd/wHYpP5DEa//qQs7/54pPf9JvA7/wwaJ/xaTHf8UZwP/9oLj/3oogADiLxj+IyQgAJi6t/9FyhQAw4XDAN4z9wCpq14BtwCg/0DNEgGcUw//xTr5/vtZbv8yClj+MyvYAGLyxgH1l3EAq+zCAcUfx//lUSYBKTsUAP1o5gCYXQ7/9vKS/tap8P/wZmz+oKfsAJravACW6cr/GxP6AQJHhf+vDD8BkbfGAGh4c/+C+/cAEdSn/z57hP/3ZL0Am9+YAI/FIQCbOyz/ll3wAX8DV/9fR88Bp1UB/7yYdP8KFxcAicNdATZiYQDwAKj/lLx/AIZrlwBM/asAWoTAAJIWNgDgQjb+5rrl/ye2xACU+4L/QYNs/oABoACpMaf+x/6U//sGgwC7/oH/VVI+ALIXOv/+hAUApNUnAIb8kv4lNVH/m4ZSAM2n7v9eLbT/hCihAP5vcAE2S9kAs+bdAetev/8X8zABypHL/yd2Kv91jf0A/gDeACv7MgA2qeoBUETQAJTL8/6RB4cABv4AAPy5fwBiCIH/JiNI/9Mk3AEoGlkAqEDF/gPe7/8CU9f+tJ9pADpzwgC6dGr/5ffb/4F2wQDKrrcBpqFIAMlrk/7tiEoA6eZqAWlvqABA4B4BAeUDAGaXr//C7uT//vrUALvteQBD+2ABxR4LALdfzADNWYoAQN0lAf/fHv+yMNP/8cha/6fRYP85gt0ALnLI/z24QgA3thj+brYhAKu+6P9yXh8AEt0IAC/n/gD/cFMAdg/X/60ZKP7AwR//7hWS/6vBdv9l6jX+g9RwAFnAawEI0BsAtdkP/+eV6ACM7H4AkAnH/wxPtf6Ttsr/E222/zHU4QBKo8sAr+mUABpwMwDBwQn/D4f5AJbjggDMANsBGPLNAO7Qdf8W9HAAGuUiACVQvP8mLc7+8Frh/x0DL/8q4EwAuvOnACCED/8FM30Ai4cYAAbx2wCs5YX/9tYyAOcLz/+/flMBtKOq//U4GAGypNP/AxDKAWI5dv+Ng1n+ITMYAPOVW//9NA4AI6lD/jEeWP+zGyT/pYy3ADq9lwBYHwAAS6lCAEJlx/8Y2McBecQa/w5Py/7w4lH/XhwK/1PB8P/MwYP/Xg9WANoonQAzwdEAAPKxAGa59wCebXQAJodbAN+vlQDcQgH/VjzoABlgJf/heqIB17uo/56dLgA4q6IA6PBlAXoWCQAzCRX/NRnu/9ke6P59qZQADehmAJQJJQClYY0B5IMpAN4P8//+EhEABjztAWoDcQA7hL0AXHAeAGnQ1QAwVLP/u3nn/hvYbf+i3Wv+Se/D//ofOf+Vh1n/uRdzAQOjnf8ScPoAGTm7/6FgpAAvEPMADI37/kPquP8pEqEArwZg/6CsNP4YsLf/xsFVAXx5if+XMnL/3Ms8/8/vBQEAJmv/N+5e/kaYXgDV3E0BeBFF/1Wkvv/L6lEAJjEl/j2QfACJTjH+qPcwAF+k/ABpqYcA/eSGAECmSwBRSRT/z9IKAOpqlv9eIlr//p85/tyFYwCLk7T+GBe5ACk5Hv+9YUwAQbvf/+CsJf8iPl8B55DwAE1qfv5AmFsAHWKbAOL7Nf/q0wX/kMve/6Sw3f4F5xgAs3rNACQBhv99Rpf+YeT8AKyBF/4wWtH/luBSAVSGHgDxxC4AZ3Hq/y5lef4ofPr/hy3y/gn5qP+MbIP/j6OrADKtx/9Y3o7/yF+eAI7Ao/8HdYcAb3wWAOwMQf5EJkH/467+APT1JgDwMtD/oT/6ADzR7wB6IxMADiHm/gKfcQBqFH//5M1gAInSrv601JD/WWKaASJYiwCnonABQW7FAPElqQBCOIP/CslT/oX9u/+xcC3+xPsAAMT6l//u6Nb/ltHNABzwdgBHTFMB7GNbACr6gwFgEkD/dt4jAHHWy/96d7j/QhMkAMxA+QCSWYsAhj6HAWjpZQC8VBoAMfmBANDWS//Pgk3/c6/rAKsCif+vkboBN/WH/5pWtQFkOvb/bcc8/1LMhv/XMeYBjOXA/97B+/9RiA//s5Wi/xcnHf8HX0v+v1HeAPFRWv9rMcn/9NOdAN6Mlf9B2zj+vfZa/7I7nQEw2zQAYiLXABwRu/+vqRgAXE+h/+zIwgGTj+oA5eEHAcWoDgDrMzUB/XiuAMUGqP/KdasAoxXOAHJVWv8PKQr/whNjAEE32P6iknQAMs7U/0CSHf+enoMBZKWC/6wXgf99NQn/D8ESARoxC/+1rskBh8kO/2QTlQDbYk8AKmOP/mAAMP/F+VP+aJVP/+tuiP5SgCz/QSkk/ljTCgC7ebsAYobHAKu8s/7SC+7/QnuC/jTqPQAwcRf+BlZ4/3ey9QBXgckA8o3RAMpyVQCUFqEAZ8MwABkxq/+KQ4IAtkl6/pQYggDT5ZoAIJueAFRpPQCxwgn/pllWATZTuwD5KHX/bQPX/zWSLAE/L7MAwtgD/g5UiACIsQ3/SPO6/3URff/TOtP/XU/fAFpY9f+L0W//Rt4vAAr2T//G2bIA4+ELAU5+s/8+K34AZ5QjAIEIpf718JQAPTOOAFHQhgAPiXP/03fs/5/1+P8Choj/5os6AaCk/gByVY3/Maa2/5BGVAFVtgcALjVdAAmmof83orL/Lbi8AJIcLP6pWjEAeLLxAQ57f/8H8ccBvUIy/8aPZf6984f/jRgY/kthVwB2+5oB7TacAKuSz/+DxPb/iEBxAZfoOQDw2nMAMT0b/0CBSQH8qRv/KIQKAVrJwf/8efABus4pACvGYQCRZLcAzNhQ/qyWQQD55cT+aHtJ/01oYP6CtAgAaHs5ANzK5f9m+dMAVg7o/7ZO0QDv4aQAag0g/3hJEf+GQ+kAU/61ALfscAEwQIP/8djz/0HB4gDO8WT+ZIam/+3KxQA3DVEAIHxm/yjksQB2tR8B56CG/3e7ygAAjjz/gCa9/6bJlgDPeBoBNrisAAzyzP6FQuYAIiYfAbhwUAAgM6X+v/M3ADpJkv6bp83/ZGiY/8X+z/+tE/cA7grKAO+X8gBeOyf/8B1m/wpcmv/lVNv/oYFQANBazAHw267/nmaRATWyTP80bKgBU95rANMkbQB2OjgACB0WAO2gxwCq0Z0AiUcvAI9WIADG8gIA1DCIAVysugDml2kBYL/lAIpQv/7w2IL/YisG/qjEMQD9ElsBkEl5AD2SJwE/aBj/uKVw/n7rYgBQ1WL/ezxX/1KM9QHfeK3/D8aGAc487wDn6lz/Ie4T/6VxjgGwdyYAoCum/u9baQBrPcIBGQREAA+LMwCkhGr/InQu/qhfxQCJ1BcASJw6AIlwRf6WaZr/7MmdABfUmv+IUuP+4jvd/1+VwABRdjT/ISvXAQ6TS/9ZnHn+DhJPAJPQiwGX2j7/nFgIAdK4Yv8Ur3v/ZlPlANxBdAGW+gT/XI7c/yL3Qv/M4bP+l1GXAEco7P+KPz4ABk/w/7e5tQB2MhsAP+PAAHtjOgEy4Jv/EeHf/tzgTf8OLHsBjYCvAPjUyACWO7f/k2EdAJbMtQD9JUcAkVV3AJrIugACgPn/Uxh8AA5XjwCoM/UBfJfn/9DwxQF8vrkAMDr2ABTp6AB9EmL/Df4f//Wxgv9sjiMAq33y/owMIv+loaIAzs1lAPcZIgFkkTkAJ0Y5AHbMy//yAKIApfQeAMZ04gCAb5n/jDa2ATx6D/+bOjkBNjLGAKvTHf9riqf/rWvH/22hwQBZSPL/znNZ//r+jv6xyl7/UVkyAAdpQv8Z/v/+y0AX/0/ebP8n+UsA8XwyAO+YhQDd8WkAk5diANWhef7yMYkA6SX5/iq3GwC4d+b/2SCj/9D75AGJPoP/T0AJ/l4wcQARijL+wf8WAPcSxQFDN2gAEM1f/zAlQgA3nD8BQFJK/8g1R/7vQ30AGuDeAN+JXf8e4Mr/CdyEAMYm6wFmjVYAPCtRAYgcGgDpJAj+z/KUAKSiPwAzLuD/cjBP/wmv4gDeA8H/L6Do//9daf4OKuYAGopSAdAr9AAbJyb/YtB//0CVtv8F+tEAuzwc/jEZ2v+pdM3/dxJ4AJx0k/+ENW3/DQrKAG5TpwCd24n/BgOC/zKnHv88ny//gYCd/l4DvQADpkQAU9/XAJZawgEPqEEA41Mz/82rQv82uzwBmGYt/3ea4QDw94gAZMWy/4tH3//MUhABKc4q/5zA3f/Ye/T/2tq5/7u67//8rKD/wzQWAJCutf67ZHP/006w/xsHwQCT1Wj/WskK/1B7QgEWIboAAQdj/h7OCgDl6gUANR7SAIoI3P5HN6cASOFWAXa+vAD+wWUBq/ms/16et/5dAmz/sF1M/0ljT/9KQIH+9i5BAGPxf/72l2b/LDXQ/jtm6gCar6T/WPIgAG8mAQD/tr7/c7AP/qk8gQB67fEAWkw/AD5KeP96w24AdwSyAN7y0gCCIS7+nCgpAKeScAExo2//ebDrAEzPDv8DGcYBKevVAFUk1gExXG3/yBge/qjswwCRJ3wB7MOVAFokuP9DVar/JiMa/oN8RP/vmyP/NsmkAMQWdf8xD80AGOAdAX5xkAB1FbYAy5+NAN+HTQCw5rD/vuXX/2Mltf8zFYr/Gb1Z/zEwpf6YLfcAqmzeAFDKBQAbRWf+zBaB/7T8Pv7SAVv/km7+/9uiHADf/NUBOwghAM4Q9ACB0zAAa6DQAHA70QBtTdj+IhW5//ZjOP+zixP/uR0y/1RZEwBK+mL/4SrI/8DZzf/SEKcAY4RfASvmOQD+C8v/Y7w//3fB+/5QaTYA6LW9AbdFcP/Qq6X/L220/3tTpQCSojT/mgsE/5fjWv+SiWH+Pekp/14qN/9spOwAmET+AAqMg/8Kak/+856JAEOyQv6xe8b/Dz4iAMVYKv+VX7H/mADG/5X+cf/hWqP/fdn3ABIR4ACAQnj+wBkJ/zLdzQAx1EYA6f+kAALRCQDdNNv+rOD0/144zgHyswL/H1ukAeYuiv+95twAOS89/28LnQCxW5gAHOZiAGFXfgDGWZH/p09rAPlNoAEd6eb/lhVW/jwLwQCXJST+uZbz/+TUUwGsl7QAyambAPQ86gCO6wQBQ9o8AMBxSwF088//QaybAFEenP9QSCH+Eudt/45rFf59GoT/sBA7/5bJOgDOqckA0HniACisDv+WPV7/ODmc/408kf8tbJX/7pGb/9FVH/7ADNIAY2Jd/pgQlwDhudwAjess/6CsFf5HGh//DUBd/hw4xgCxPvgBtgjxAKZllP9OUYX/gd7XAbypgf/oB2EAMXA8/9nl+wB3bIoAJxN7/oMx6wCEVJEAguaU/xlKuwAF9Tb/udvxARLC5P/xymYAaXHKAJvrTwAVCbL/nAHvAMiUPQBz99L/Md2HADq9CAEjLgkAUUEF/zSeuf99dC7/SowN/9JcrP6TF0cA2eD9/nNstP+ROjD+27EY/5z/PAGak/IA/YZXADVL5QAww97/H68y/5zSeP/QI97/EvizAQIKZf+dwvj/nsxl/2j+xf9PPgQAsqxlAWCS+/9BCpwAAoml/3QE5wDy1wEAEyMd/yuhTwA7lfYB+0KwAMghA/9Qbo7/w6ERAeQ4Qv97L5H+hASkAEOurAAZ/XIAV2FXAfrcVABgW8j/JX07ABNBdgChNPH/7awG/7C///8BQYL+377mAGX95/+SI20A+h1NATEAEwB7WpsBFlYg/9rVQQBvXX8APF2p/wh/tgARug7+/Yn2/9UZMP5M7gD/+FxG/2PgiwC4Cf8BB6TQAM2DxgFX1scAgtZfAN2V3gAXJqv+xW7VACtzjP7XsXYAYDRCAXWe7QAOQLb/Lj+u/55fvv/hzbH/KwWO/6xj1P/0u5MAHTOZ/+R0GP4eZc8AE/aW/4bnBQB9huIBTUFiAOyCIf8Fbj4ARWx//wdxFgCRFFP+wqHn/4O1PADZ0bH/5ZTU/gODuAB1sbsBHA4f/7BmUAAyVJf/fR82/xWdhf8Ts4sB4OgaACJ1qv+n/Kv/SY3O/oH6IwBIT+wB3OUU/ynKrf9jTO7/xhbg/2zGw/8kjWAB7J47/2pkVwBu4gIA4+reAJpdd/9KcKT/Q1sC/xWRIf9m1on/r+Zn/qP2pgBd93T+p+Ac/9wCOQGrzlQAe+QR/xt4dwB3C5MBtC/h/2jIuf6lAnIATU7UAC2asf8YxHn+Up22AFoQvgEMk8UAX++Y/wvrRwBWknf/rIbWADyDxACh4YEAH4J4/l/IMwBp59L/OgmU/yuo3f987Y4AxtMy/i71ZwCk+FQAmEbQ/7R1sQBGT7kA80ogAJWczwDFxKEB9TXvAA9d9v6L8DH/xFgk/6ImewCAyJ0Brkxn/62pIv7YAav/cjMRAIjkwgBuljj+avafABO4T/+WTfD/m1CiAAA1qf8dl1YARF4QAFwHbv5idZX/+U3m//0KjADWfFz+I3brAFkwOQEWNaYAuJA9/7P/wgDW+D3+O272AHkVUf6mA+QAakAa/0Xohv/y3DX+LtxVAHGV9/9hs2f/vn8LAIfRtgBfNIEBqpDO/3rIzP+oZJIAPJCV/kY8KAB6NLH/9tNl/67tCAAHM3gAEx+tAH7vnP+PvcsAxIBY/+mF4v8efa3/yWwyAHtkO//+owMB3ZS1/9aIOf7etIn/z1g2/xwh+/9D1jQB0tBkAFGqXgCRKDUA4G/n/iMc9P/ix8P+7hHmANnZpP6pnd0A2i6iAcfPo/9sc6IBDmC7/3Y8TAC4n5gA0edH/iqkuv+6mTP+3au2/6KOrQDrL8EAB4sQAV+kQP8Q3aYA28UQAIQdLP9kRXX/POtY/ihRrQBHvj3/u1idAOcLFwDtdaQA4ajf/5pydP+jmPIBGCCqAH1icf6oE0wAEZ3c/ps0BQATb6H/R1r8/61u8AAKxnn//f/w/0J70gDdwtf+eaMR/+EHYwC+MbYAcwmFAegaiv/VRIQALHd6/7NiMwCVWmoARzLm/wqZdv+xRhkApVfNADeK6gDuHmEAcZvPAGKZfwAia9v+dXKs/0y0//7yObP/3SKs/jiiMf9TA///cd29/7wZ5P4QWFn/RxzG/hYRlf/zef7/a8pj/wnODgHcL5kAa4knAWExwv+VM8X+ujoL/2sr6AHIBg7/tYVB/t3kq/97PucB4+qz/yK91P70u/kAvg1QAYJZAQDfha0ACd7G/0J/SgCn2F3/m6jGAUKRAABEZi4BrFqaANiAS/+gKDMAnhEbAXzwMQDsyrD/l3zA/ybBvgBftj0Ao5N8//+lM/8cKBH+12BOAFaR2v4fJMr/VgkFAG8pyP/tbGEAOT4sAHW4DwEt8XQAmAHc/52lvAD6D4MBPCx9/0Hc+/9LMrgANVqA/+dQwv+IgX8BFRK7/y06of9HkyIArvkL/iONHQDvRLH/c246AO6+sQFX9ab/vjH3/5JTuP+tDif/ktdoAI7feACVyJv/1M+RARC12QCtIFf//yO1AHffoQHI317/Rga6/8BDVf8yqZgAkBp7/zjzs/4URIgAJ4y8/v3QBf/Ic4cBK6zl/5xouwCX+6cANIcXAJeZSACTxWv+lJ4F/+6PzgB+mYn/WJjF/gdEpwD8n6X/7042/xg/N/8m3l4A7bcM/87M0gATJ/b+HkrnAIdsHQGzcwAAdXZ0AYQG/P+RgaEBaUONAFIl4v/u4uT/zNaB/qJ7ZP+5eeoALWznAEIIOP+EiIAArOBC/q+dvADm3+L+8ttFALgOdwFSojgAcnsUAKJnVf8x72P+nIfXAG//p/4nxNYAkCZPAfmofQCbYZz/FzTb/5YWkAAslaX/KH+3AMRN6f92gdL/qofm/9Z3xgDp8CMA/TQH/3VmMP8VzJr/s4ix/xcCAwGVgln//BGfAUY8GgCQaxEAtL48/zi2O/9uRzb/xhKB/5XgV//fFZj/iha2//qczQDsLdD/T5TyAWVG0QBnTq4AZZCs/5iI7QG/wogAcVB9AZgEjQCbljX/xHT1AO9ySf4TUhH/fH3q/yg0vwAq0p7/m4SlALIFKgFAXCj/JFVN/7LkdgCJQmD+c+JCAG7wRf6Xb1AAp67s/+Nsa/+88kH/t1H/ADnOtf8vIrX/1fCeAUdLXwCcKBj/ZtJRAKvH5P+aIikA469LABXvwwCK5V8BTMAxAHV7VwHj4YIAfT4//wLGqwD+JA3+kbrOAJT/9P8jAKYAHpbbAVzk1ABcxjz+PoXI/8kpOwB97m3/tKPuAYx6UgAJFlj/xZ0v/5leOQBYHrYAVKFVALKSfACmpgf/FdDfAJy28gCbebkAU5yu/poQdv+6U+gB3zp5/x0XWAAjfX//qgWV/qQMgv+bxB0AoWCIAAcjHQGiJfsAAy7y/wDZvAA5ruIBzukCADm7iP57vQn/yXV//7okzADnGdgAUE5pABOGgf+Uy0QAjVF9/vilyP/WkIcAlzem/ybrWwAVLpoA3/6W/yOZtP99sB0BK2Ie/9h65v/poAwAObkM/vBxB/8FCRD+GltsAG3GywAIkygAgYbk/3y6KP9yYoT+poQXAGNFLAAJ8u7/uDU7AISBZv80IPP+k9/I/3tTs/6HkMn/jSU4AZc84/9aSZwBy6y7AFCXL/9eief/JL87/+HRtf9K19X+Bnaz/5k2wQEyAOcAaJ1IAYzjmv+24hD+YOFc/3MUqv4G+k4A+Eut/zVZBv8AtHYASK0BAEAIzgGuhd8AuT6F/9YLYgDFH9AAq6f0/xbntQGW2rkA96lhAaWL9/8veJUBZ/gzADxFHP4Zs8QAfAfa/jprUQC46Zz//EokAHa8QwCNXzX/3l6l/i49NQDOO3P/L+z6/0oFIAGBmu7/aiDiAHm7Pf8DpvH+Q6qs/x3Ysv8XyfwA/W7zAMh9OQBtwGD/NHPuACZ58//JOCEAwnaCAEtgGf+qHub+Jz/9ACQt+v/7Ae8AoNRcAS3R7QDzIVf+7VTJ/9QSnf7UY3//2WIQ/ous7wCoyYL/j8Gp/+6XwQHXaCkA7z2l/gID8gAWy7H+scwWAJWB1f4fCyn/AJ95/qAZcv+iUMgAnZcLAJqGTgHYNvwAMGeFAGncxQD9qE3+NbMXABh58AH/LmD/azyH/mLN+f8/+Xf/eDvT/3K0N/5bVe0AldRNAThJMQBWxpYAXdGgAEXNtv/0WisAFCSwAHp03QAzpycB5wE//w3FhgAD0SL/hzvKAKdkTgAv30wAuTw+ALKmewGEDKH/Pa4rAMNFkAB/L78BIixOADnqNAH/Fij/9l6SAFPkgAA8TuD/AGDS/5mv7ACfFUkAtHPE/oPhagD/p4YAnwhw/3hEwv+wxMb/djCo/12pAQBwyGYBShj+ABONBP6OPj8Ag7O7/02cm/93VqQAqtCS/9CFmv+Umzr/onjo/vzVmwDxDSoAXjKDALOqcACMU5f/N3dUAYwj7/+ZLUMB7K8nADaXZ/+eKkH/xO+H/lY1ywCVYS/+2CMR/0YDRgFnJFr/KBqtALgwDQCj29n/UQYB/92qbP7p0F0AZMn5/lYkI//Rmh4B48n7/wK9p/5kOQMADYApAMVkSwCWzOv/ka47AHj4lf9VN+EActI1/sfMdwAO90oBP/uBAENolwGHglAAT1k3/3Xmnf8ZYI8A1ZEFAEXxeAGV81//cioUAINIAgCaNRT/ST5tAMRmmAApDMz/eiYLAfoKkQDPfZQA9vTe/ykgVQFw1X4AovlWAUfGf/9RCRUBYicE/8xHLQFLb4kA6jvnACAwX//MH3IBHcS1/zPxp/5dbY4AaJAtAOsMtf80cKQATP7K/64OogA965P/K0C5/ul92QDzWKf+SjEIAJzMQgB81nsAJt12AZJw7AByYrEAl1nHAFfFcAC5laEALGClAPizFP+829j+KD4NAPOOjQDl487/rMoj/3Ww4f9SbiYBKvUO/xRTYQAxqwoA8nd4ABnoPQDU8JP/BHM4/5ER7/7KEfv/+RL1/2N17wC4BLP/9u0z/yXvif+mcKb/Ubwh/7n6jv82u60A0HDJAPYr5AFouFj/1DTE/zN1bP/+dZsALlsP/1cOkP9X48wAUxpTAZ9M4wCfG9UBGJdsAHWQs/6J0VIAJp8KAHOFyQDftpwBbsRd/zk86QAFp2n/msWkAGAiuv+ThSUB3GO+AAGnVP8UkasAwsX7/l9Ohf/8+PP/4V2D/7uGxP/YmaoAFHae/owBdgBWng8BLdMp/5MBZP5xdEz/039sAWcPMADBEGYBRTNf/2uAnQCJq+kAWnyQAWqhtgCvTOwByI2s/6M6aADptDT/8P0O/6Jx/v8m74r+NC6mAPFlIf6DupwAb9A+/3xeoP8frP4AcK44/7xjG/9DivsAfTqAAZyYrv+yDPf//FSeAFLFDv6syFP/JScuAWrPpwAYvSIAg7KQAM7VBACh4tIASDNp/2Etu/9OuN//sB37AE+gVv90JbIAUk3VAVJUjf/iZdQBr1jH//Ve9wGsdm3/prm+AIO1eABX/l3/hvBJ/yD1j/+Lomf/s2IS/tnMcACT33j/NQrzAKaMlgB9UMj/Dm3b/1vaAf/8/C/+bZx0/3MxfwHMV9P/lMrZ/xpV+f8O9YYBTFmp//It5gA7Yqz/ckmE/k6bMf+eflQAMa8r/xC2VP+dZyMAaMFt/0PdmgDJrAH+CKJYAKUBHf99m+X/HprcAWfvXADcAW3/ysYBAF4CjgEkNiwA6+Ke/6r71v+5TQkAYUryANujlf/wI3b/33JY/sDHAwBqJRj/yaF2/2FZYwHgOmf/ZceT/t48YwDqGTsBNIcbAGYDW/6o2OsA5eiIAGg8gQAuqO4AJ79DAEujLwCPYWL/ONioAajp/P8jbxb/XFQrABrIVwFb/ZgAyjhGAI4ITQBQCq8B/MdMABZuUv+BAcIAC4A9AVcOkf/93r4BD0iuAFWjVv46Yyz/LRi8/hrNDwAT5dL++EPDAGNHuACaxyX/l/N5/yYzS//JVYL+LEH6ADmT8/6SKzv/WRw1ACFUGP+zMxL+vUZTAAucswFihncAnm9vAHeaSf/IP4z+LQ0N/5rAAv5RSCoALqC5/ixwBgCS15UBGrBoAEQcVwHsMpn/s4D6/s7Bv/+mXIn+NSjvANIBzP6orSMAjfMtASQybf8P8sL/4596/7Cvyv5GOUgAKN84ANCiOv+3Yl0AD28MAB4ITP+Ef/b/LfJnAEW1D/8K0R4AA7N5APHo2gF7x1j/AtLKAbyCUf9eZdABZyQtAEzBGAFfGvH/paK7ACRyjADKQgX/JTiTAJgL8wF/Vej/+ofUAbmxcQBa3Ev/RfiSADJvMgBcFlAA9CRz/qNkUv8ZwQYBfz0kAP1DHv5B7Kr/oRHX/j+vjAA3fwQAT3DpAG2gKACPUwf/QRru/9mpjP9OXr3/AJO+/5NHuv5qTX//6Z3pAYdX7f/QDewBm20k/7Rk2gC0oxIAvm4JARE/e/+ziLT/pXt7/5C8Uf5H8Gz/GXAL/+PaM/+nMur/ck9s/x8Tc/+38GMA41eP/0jZ+P9mqV8BgZWVAO6FDAHjzCMA0HMaAWYI6gBwWI8BkPkOAPCerP5kcHcAwo2Z/ig4U/95sC4AKjVM/56/mgBb0VwArQ0QAQVI4v/M/pUAULjPAGQJev52Zav//MsA/qDPNgA4SPkBOIwN/wpAa/5bZTT/4bX4AYv/hADmkREA6TgXAHcB8f/VqZf/Y2MJ/rkPv/+tZ20Brg37/7JYB/4bO0T/CiEC//hhOwAaHpIBsJMKAF95zwG8WBgAuV7+/nM3yQAYMkYAeDUGAI5CkgDk4vn/aMDeAa1E2wCiuCT/j2aJ/50LFwB9LWIA613h/jhwoP9GdPMBmfk3/4EnEQHxUPQAV0UVAV7kSf9OQkH/wuPnAD2SV/+tmxf/cHTb/tgmC/+DuoUAXtS7AGQvWwDM/q//3hLX/q1EbP/j5E//Jt3VAKPjlv4fvhIAoLMLAQpaXv/crlgAo9Pl/8eINACCX93/jLzn/otxgP91q+z+MdwU/zsUq//kbbwAFOEg/sMQrgDj/ogBhydpAJZNzv/S7uIAN9SE/u85fACqwl3/+RD3/xiXPv8KlwoAT4uy/3jyygAa29UAPn0j/5ACbP/mIVP/US3YAeA+EQDW2X0AYpmZ/7Owav6DXYr/bT4k/7J5IP94/EYA3PglAMxYZwGA3Pv/7OMHAWoxxv88OGsAY3LuANzMXgFJuwEAWZoiAE7Zpf8Ow/n/Ceb9/82H9QAa/Af/VM0bAYYCcAAlniAA51vt/7+qzP+YB94AbcAxAMGmkv/oE7X/aY40/2cQGwH9yKUAw9kE/zS9kP97m6D+V4I2/054Pf8OOCkAGSl9/1eo9QDWpUYA1KkG/9vTwv5IXaT/xSFn/yuOjQCD4awA9GkcAERE4QCIVA3/gjko/otNOABUljUANl+dAJANsf5fc7oAdRd2//Sm8f8LuocAsmrL/2HaXQAr/S0ApJgEAIt27wBgARj+65nT/6huFP8y77AAcinoAMH6NQD+oG/+iHop/2FsQwDXmBf/jNHUACq9owDKKjL/amq9/75E2f/pOnUA5dzzAcUDBAAleDb+BJyG/yQ9q/6liGT/1OgOAFquCgDYxkH/DANAAHRxc//4ZwgA530S/6AcxQAeuCMB30n5/3sULv6HOCX/rQ3lAXehIv/1PUkAzX1wAIlohgDZ9h7/7Y6PAEGfZv9spL4A23Wt/yIleP7IRVAAH3za/koboP+6msf/R8f8AGhRnwERyCcA0z3AARruWwCU2QwAO1vV/wtRt/+B5nr/csuRAXe0Qv9IirQA4JVqAHdSaP/QjCsAYgm2/81lhv8SZSYAX8Wm/8vxkwA+0JH/hfb7AAKpDgAN97gAjgf+ACTIF/9Yzd8AW4E0/xW6HgCP5NIB9+r4/+ZFH/6wuof/7s00AYtPKwARsNn+IPNDAPJv6QAsIwn/43JRAQRHDP8mab8AB3Uy/1FPEAA/REH/nSRu/03xA//iLfsBjhnOAHh70QEc/u7/BYB+/1ve1/+iD78AVvBJAIe5Uf4s8aMA1NvS/3CimwDPZXYAqEg4/8QFNABIrPL/fhad/5JgO/+ieZj+jBBfAMP+yP5SlqIAdyuR/sysTv+m4J8AaBPt//V+0P/iO9UAddnFAJhI7QDcHxf+Dlrn/7zUQAE8Zfb/VRhWAAGxbQCSUyABS7bAAHfx4AC57Rv/uGVSAeslTf/9hhMA6PZ6ADxqswDDCwwAbULrAX1xOwA9KKQAr2jwAAIvu/8yDI0Awou1/4f6aABhXN7/2ZXJ/8vxdv9Pl0MAeo7a/5X17wCKKsj+UCVh/3xwp/8kilf/gh2T//FXTv/MYRMBsdEW//fjf/5jd1P/1BnGARCzswCRTaz+WZkO/9q9pwBr6Tv/IyHz/ixwcP+hf08BzK8KACgViv5odOQAx1+J/4W+qP+SpeoBt2MnALfcNv7/3oUAott5/j/vBgDhZjb/+xL2AAQigQGHJIMAzjI7AQ9htwCr2If/ZZgr/5b7WwAmkV8AIswm/rKMU/8ZgfP/TJAlAGokGv52kKz/RLrl/2uh1f8uo0T/lar9ALsRDwDaoKX/qyP2AWANEwCly3UA1mvA//R7sQFkA2gAsvJh//tMgv/TTSoB+k9G/z/0UAFpZfYAPYg6Ae5b1QAOO2L/p1RNABGELv45r8X/uT64AExAzwCsr9D+r0olAIob0/6UfcIACllRAKjLZf8r1dEB6/U2AB4j4v8JfkYA4n1e/px1FP85+HAB5jBA/6RcpgHg1ub/JHiPADcIK//7AfUBamKlAEprav41BDb/WrKWAQN4e//0BVkBcvo9//6ZUgFNDxEAOe5aAV/f5gDsNC/+Z5Sk/3nPJAESELn/SxRKALsLZQAuMIH/Fu/S/03sgf9vTcz/PUhh/8fZ+/8q18wAhZHJ/znmkgHrZMYAkkkj/mzGFP+2T9L/UmeIAPZssAAiETz/E0py/qiqTv+d7xT/lSmoADp5HABPs4b/53mH/67RYv/zer4Aq6bNANR0MAAdbEL/ot62AQ53FQDVJ/n//t/k/7elxgCFvjAAfNBt/3evVf8J0XkBMKu9/8NHhgGI2zP/tluN/jGfSAAjdvX/cLrj/zuJHwCJLKMAcmc8/gjVlgCiCnH/wmhIANyDdP+yT1wAy/rV/l3Bvf+C/yL+1LyXAIgRFP8UZVP/1M6mAOXuSf+XSgP/qFfXAJu8hf+mgUkA8E+F/7LTUf/LSKP+wailAA6kx/4e/8wAQUhbAaZKZv/IKgD/wnHj/0IX0ADl2GT/GO8aAArpPv97CrIBGiSu/3fbxwEto74AEKgqAKY5xv8cGhoAfqXnAPtsZP895Xn/OnaKAEzPEQANInD+WRCoACXQaf8jydf/KGpl/gbvcgAoZ+L+9n9u/z+nOgCE8I4ABZ5Y/4FJnv9eWZIA5jaSAAgtrQBPqQEAc7r3AFRAgwBD4P3/z71AAJocUQEtuDb/V9Tg/wBgSf+BIesBNEJQ//uum/8EsyUA6qRd/l2v/QDGRVf/4GouAGMd0gA+vHL/LOoIAKmv9/8XbYn/5bYnAMClXv71ZdkAv1hgAMReY/9q7gv+NX7zAF4BZf8ukwIAyXx8/40M2gANpp0BMPvt/5v6fP9qlJL/tg3KABw9pwDZmAj+3IIt/8jm/wE3QVf/Xb9h/nL7DgAgaVwBGs+NABjPDf4VMjD/upR0/9Mr4QAlIqL+pNIq/0QXYP+21gj/9XWJ/0LDMgBLDFP+UIykAAmlJAHkbuMA8RFaARk01AAG3wz/i/M5AAxxSwH2t7//1b9F/+YPjgABw8T/iqsv/0A/agEQqdb/z644AVhJhf+2hYwAsQ4Z/5O4Nf8K46H/eNj0/0lN6QCd7osBO0HpAEb72AEpuJn/IMtwAJKT/QBXZW0BLFKF//SWNf9emOj/O10n/1iT3P9OUQ0BIC/8/6ATcv9dayf/dhDTAbl30f/j23/+WGns/6JuF/8kpm7/W+zd/0LqdABvE/T+CukaACC3Bv4Cv/IA2pw1/ik8Rv+o7G8Aebl+/+6Oz/83fjQA3IHQ/lDMpP9DF5D+2ihs/3/KpADLIQP/Ap4AACVgvP/AMUoAbQQAAG+nCv5b2of/y0Kt/5bC4gDJ/Qb/rmZ5AM2/bgA1wgQAUSgt/iNmj/8MbMb/EBvo//xHugGwbnIAjgN1AXFNjgATnMUBXC/8ADXoFgE2EusALiO9/+zUgQACYND+yO7H/zuvpP+SK+cAwtk0/wPfDACKNrL+VevPAOjPIgAxNDL/pnFZ/wot2P8+rRwAb6X2AHZzW/+AVDwAp5DLAFcN8wAWHuQBsXGS/4Gq5v78mYH/keErAEbnBf96aX7+VvaU/24lmv7RA1sARJE+AOQQpf833fn+stJbAFOS4v5FkroAXdJo/hAZrQDnuiYAvXqM//sNcP9pbl0A+0iqAMAX3/8YA8oB4V3kAJmTx/5tqhYA+GX2/7J8DP+y/mb+NwRBAH3WtAC3YJMALXUX/oS/+QCPsMv+iLc2/5LqsQCSZVb/LHuPASHRmADAWin+Uw99/9WsUgDXqZAAEA0iACDRZP9UEvkBxRHs/9m65gAxoLD/b3Zh/+1o6wBPO1z+RfkL/yOsSgETdkQA3nyl/7RCI/9WrvYAK0pv/36QVv/k6lsA8tUY/kUs6//ctCMACPgH/2YvXP/wzWb/cearAR+5yf/C9kb/ehG7AIZGx/+VA5b/dT9nAEFoe//UNhMBBo1YAFOG8/+INWcAqRu0ALExGABvNqcAwz3X/x8BbAE8KkYAuQOi/8KVKP/2fyb+vncm/z13CAFgodv/KsvdAbHypP/1nwoAdMQAAAVdzf6Af7MAfe32/5Wi2f9XJRT+jO7AAAkJwQBhAeIAHSYKAACIP//lSNL+JoZc/07a0AFoJFT/DAXB//KvPf+/qS4Bs5OT/3G+i/59rB8AA0v8/tckDwDBGxgB/0WV/26BdgDLXfkAiolA/iZGBgCZdN4AoUp7AMFjT/92O17/PQwrAZKxnQAuk78AEP8mAAszHwE8OmL/b8JNAZpb9ACMKJABrQr7AMvRMv5sgk4A5LRaAK4H+gAfrjwAKaseAHRjUv92wYv/u63G/tpvOAC5e9gA+Z40ADS0Xf/JCVv/OC2m/oSby/866G4ANNNZ//0AogEJV7cAkYgsAV569QBVvKsBk1zGAAAIaAAeX64A3eY0Aff36/+JrjX/IxXM/0fj1gHoUsIACzDj/6pJuP/G+/z+LHAiAINlg/9IqLsAhId9/4poYf/uuKj/82hU/4fY4v+LkO0AvImWAVA4jP9Wqaf/wk4Z/9wRtP8RDcEAdYnU/43glwAx9K8AwWOv/xNjmgH/QT7/nNI3//L0A//6DpUAnljZ/53Phv776BwALpz7/6s4uP/vM+oAjoqD/xn+8wEKycIAP2FLANLvogDAyB8BddbzABhH3v42KOj/TLdv/pAOV//WT4j/2MTUAIQbjP6DBf0AfGwT/xzXSwBM3jf+6bY/AESrv/40b97/CmlN/1Cq6wCPGFj/Led5AJSB4AE99lQA/S7b/+9MIQAxlBL+5iVFAEOGFv6Om14AH53T/tUqHv8E5Pf+/LAN/ycAH/7x9P//qi0K/v3e+QDecoQA/y8G/7SjswFUXpf/WdFS/uU0qf/V7AAB1jjk/4d3l/9wycEAU6A1/gaXQgASohEA6WFbAIMFTgG1eDX/dV8//+11uQC/foj/kHfpALc5YQEvybv/p6V3AS1kfgAVYgb+kZZf/3g2mADRYmgAj28e/riU+QDr2C4A+MqU/zlfFgDy4aMA6ffo/0erE/9n9DH/VGdd/0R59AFS4A0AKU8r//nOp//XNBX+wCAW//dvPABlSib/FltU/h0cDf/G59f+9JrIAN+J7QDThA4AX0DO/xE+9//pg3kBXRdNAM3MNP5RvYgAtNuKAY8SXgDMK4z+vK/bAG9ij/+XP6L/0zJH/hOSNQCSLVP+slLu/xCFVP/ixl3/yWEU/3h2I/9yMuf/ouWc/9MaDAByJ3P/ztSGAMXZoP90gV7+x9fb/0vf+QH9dLX/6Ndo/+SC9v+5dVYADgUIAO8dPQHtV4X/fZKJ/syo3wAuqPUAmmkWANzUof9rRRj/idq1//FUxv+CetP/jQiZ/76xdgBgWbIA/xAw/npgaf91Nuj/In5p/8xDpgDoNIr/05MMABk2BwAsD9f+M+wtAL5EgQFqk+EAHF0t/uyND/8RPaEA3HPAAOyRGP5vqKkA4Do//3+kvABS6ksB4J6GANFEbgHZptkARuGmAbvBj/8QB1j/Cs2MAHXAnAEROCYAG3xsAavXN/9f/dQAm4eo//aymf6aREoA6D1g/mmEOwAhTMcBvbCC/wloGf5Lxmb/6QFwAGzcFP9y5kYAjMKF/zmepP6SBlD/qcRhAVW3ggBGnt4BO+3q/2AZGv/or2H/C3n4/lgjwgDbtPz+SgjjAMPjSQG4bqH/MemkAYA1LwBSDnn/wb46ADCudf+EFyAAKAqGARYzGf/wC7D/bjmSAHWP7wGdZXb/NlRMAM24Ev8vBEj/TnBV/8EyQgFdEDT/CGmGAAxtSP86nPsAkCPMACygdf4ya8IAAUSl/29uogCeUyj+TNbqADrYzf+rYJP/KONyAbDj8QBG+bcBiFSL/zx69/6PCXX/sa6J/kn3jwDsuX7/Phn3/y1AOP+h9AYAIjk4AWnKUwCAk9AABmcK/0qKQf9hUGT/1q4h/zKGSv9ul4L+b1SsAFTHS/74O3D/CNiyAQm3XwDuGwj+qs3cAMPlhwBiTO3/4lsaAVLbJ//hvscB2ch5/1GzCP+MQc4Ass9X/vr8Lv9oWW4B/b2e/5DWnv+g9Tb/NbdcARXIwv+SIXEB0QH/AOtqK/+nNOgAneXdADMeGQD63RsBQZNX/097xABBxN//TCwRAVXxRADKt/n/QdTU/wkhmgFHO1AAr8I7/41ICQBkoPQA5tA4ADsZS/5QwsIAEgPI/qCfcwCEj/cBb105/zrtCwGG3of/eqNsAXsrvv/7vc7+ULZI/9D24AERPAkAoc8mAI1tWwDYD9P/iE5uAGKjaP8VUHn/rbK3AX+PBABoPFL+1hAN/2DuIQGelOb/f4E+/zP/0v8+jez+nTfg/3In9ADAvPr/5Ew1AGJUUf+tyz3+kzI3/8zrvwA0xfQAWCvT/hu/dwC855oAQlGhAFzBoAH643gAezfiALgRSACFqAr+Foec/ykZZ/8wyjoAupVR/7yG7wDrtb3+2Yu8/0owUgAu2uUAvf37ADLlDP/Tjb8BgPQZ/6nnev5WL73/hLcX/yWylv8zif0AyE4fABZpMgCCPAAAhKNb/hfnuwDAT+8AnWak/8BSFAEYtWf/8AnqAAF7pP+F6QD/yvLyADy69QDxEMf/4HSe/r99W//gVs8AeSXn/+MJxv8Pme//eejZ/ktwUgBfDDn+M9Zp/5TcYQHHYiQAnNEM/grUNADZtDf+1Kro/9gUVP+d+ocAnWN//gHOKQCVJEYBNsTJ/1d0AP7rq5YAG6PqAMqHtADQXwD+e5xdALc+SwCJ67YAzOH//9aL0v8Ccwj/HQxvADScAQD9Ffv/JaUf/gyC0wBqEjX+KmOaAA7ZPf7YC1z/yMVw/pMmxwAk/Hj+a6lNAAF7n//PS2YAo6/EACwB8AB4urD+DWJM/+188f/okrz/yGDgAMwfKQDQyA0AFeFg/6+cxAD30H4APrj0/gKrUQBVc54ANkAt/xOKcgCHR80A4y+TAdrnQgD90RwA9A+t/wYPdv4QltD/uRYy/1Zwz/9LcdcBP5Ir/wThE/7jFz7/Dv/W/i0Izf9XxZf+0lLX//X49/+A+EYA4fdXAFp4RgDV9VwADYXiAC+1BQFco2n/Bh6F/uiyPf/mlRj/EjGeAORkPf508/v/TUtcAVHbk/9Mo/7+jdX2AOglmP5hLGQAySUyAdT0OQCuq7f/+UpwAKacHgDe3WH/811J/vtlZP/Y2V3//oq7/46+NP87y7H/yF40AHNynv+lmGgBfmPi/3ad9AFryBAAwVrlAHkGWACcIF3+ffHT/w7tnf+lmhX/uOAW//oYmP9xTR8A96sX/+2xzP80iZH/wrZyAODqlQAKb2cByYEEAO6OTgA0Bij/btWl/jzP/QA+10UAYGEA/zEtygB4eRb/64swAcYtIv+2MhsBg9Jb/y42gACve2n/xo1O/kP07//1Nmf+Tiby/wJc+f77rlf/iz+QABhsG/8iZhIBIhaYAELldv4yj2MAkKmVAXYemACyCHkBCJ8SAFpl5v+BHXcARCQLAei3NwAX/2D/oSnB/z+L3gAPs/MA/2QP/1I1hwCJOZUBY/Cq/xbm5P4xtFL/PVIrAG712QDHfT0ALv00AI3F2wDTn8EAN3lp/rcUgQCpd6r/y7KL/4cotv+sDcr/QbKUAAjPKwB6NX8BSqEwAOPWgP5WC/P/ZFYHAfVEhv89KxUBmFRe/748+v7vduj/1oglAXFMa/9daGQBkM4X/26WmgHkZ7kA2jEy/odNi/+5AU4AAKGU/2Ed6f/PlJX/oKgAAFuAq/8GHBP+C2/3ACe7lv+K6JUAdT5E/z/YvP/r6iD+HTmg/xkM8QGpPL8AIION/+2fe/9exV7+dP4D/1yzYf55YVz/qnAOABWV+AD44wMAUGBtAEvASgEMWuL/oWpEAdByf/9yKv/+ShpK//ezlv55jDwAk0bI/9Yoof+hvMn/jUGH//Jz/AA+L8oAtJX//oI37QClEbr/CqnCAJxt2v9wjHv/aIDf/rGObP95Jdv/gE0S/29sFwFbwEsArvUW/wTsPv8rQJkB463+AO16hAF/Wbr/jlKA/vxUrgBas7EB89ZX/2c8ov/Qgg7/C4KLAM6B2/9e2Z3/7+bm/3Rzn/6ka18AM9oCAdh9xv+MyoD+C19E/zcJXf6umQb/zKxgAEWgbgDVJjH+G1DVAHZ9cgBGRkP/D45J/4N6uf/zFDL+gu0oANKfjAHFl0H/VJlCAMN+WgAQ7uwBdrtm/wMYhf+7ReYAOMVcAdVFXv9QiuUBzgfmAN5v5gFb6Xf/CVkHAQJiAQCUSoX/M/a0/+SxcAE6vWz/wsvt/hXRwwCTCiMBVp3iAB+ji/44B0v/Plp0ALU8qQCKotT+UacfAM1acP8hcOMAU5d1AbHgSf+ukNn/5sxP/xZN6P9yTuoA4Dl+/gkxjQDyk6UBaLaM/6eEDAF7RH8A4VcnAftsCADGwY8BeYfP/6wWRgAyRHT/Za8o//hp6QCmywcAbsXaANf+Gv6o4v0AH49gAAtnKQC3gcv+ZPdK/9V+hADSkywAx+obAZQvtQCbW54BNmmv/wJOkf5mml8AgM9//jR87P+CVEcA3fPTAJiqzwDeascAt1Re/lzIOP+KtnMBjmCSAIWI5ABhEpYAN/tCAIxmBADKZ5cAHhP4/zO4zwDKxlkAN8Xh/qlf+f9CQUT/vOp+AKbfZAFw7/QAkBfCADontgD0LBj+r0Sz/5h2mgGwooIA2XLM/q1+Tv8h3h7/JAJb/wKP8wAJ69cAA6uXARjX9f+oL6T+8ZLPAEWBtABE83EAkDVI/vstDgAXbqgARERP/25GX/6uW5D/Ic5f/4kpB/8Tu5n+I/9w/wmRuf4ynSUAC3AxAWYIvv/q86kBPFUXAEonvQB0Me8ArdXSAC6hbP+fliUAxHi5/yJiBv+Zwz7/YeZH/2Y9TAAa1Oz/pGEQAMY7kgCjF8QAOBg9ALViwQD7k+X/Yr0Y/y42zv/qUvYAt2cmAW0+zAAK8OAAkhZ1/46aeABF1CMA0GN2AXn/A/9IBsIAdRHF/30PFwCaT5kA1l7F/7k3k/8+/k7+f1KZAG5mP/9sUqH/abvUAVCKJwA8/13/SAy6ANL7HwG+p5D/5CwT/oBD6ADW+Wv+iJFW/4QusAC9u+P/0BaMANnTdAAyUbr+i/ofAB5AxgGHm2QAoM4X/rui0/8QvD8A/tAxAFVUvwDxwPL/mX6RAeqiov/mYdgBQId+AL6U3wE0ACv/HCe9AUCI7gCvxLkAYuLV/3+f9AHirzwAoOmOAbTzz/9FmFkBH2UVAJAZpP6Lv9EAWxl5ACCTBQAnunv/P3Pm/12nxv+P1dz/s5wT/xlCegDWoNn/Ai0+/2pPkv4ziWP/V2Tn/6+R6P9luAH/rgl9AFIloQEkco3/MN6O//W6mgAFrt3+P3Kb/4c3oAFQH4cAfvqzAezaLQAUHJEBEJNJAPm9hAERvcD/347G/0gUD//6Ne3+DwsSABvTcf7Vazj/rpOS/2B+MAAXwW0BJaJeAMed+f4YgLv/zTGy/l2kKv8rd+sBWLft/9rSAf9r/ioA5gpj/6IA4gDb7VsAgbLLANAyX/7O0F//979Z/m7qT/+lPfMAFHpw//b2uf5nBHsA6WPmAdtb/P/H3hb/s/Xp/9Px6gBv+sD/VVSIAGU6Mv+DrZz+dy0z/3bpEP7yWtYAXp/bAQMD6v9iTFz+UDbmAAXk5/41GN//cTh2ARSEAf+r0uwAOPGe/7pzE/8I5a4AMCwAAXJypv8GSeL/zVn0AInjSwH4rTgASnj2/ncDC/9ReMb/iHpi/5Lx3QFtwk7/3/FGAdbIqf9hvi//L2eu/2NcSP526bT/wSPp/hrlIP/e/MYAzCtH/8dUrACGZr4Ab+5h/uYo5gDjzUD+yAzhAKYZ3gBxRTP/j58YAKe4SgAd4HT+ntDpAMF0fv/UC4X/FjqMAcwkM//oHisA60a1/0A4kv6pElT/4gEN/8gysP801fX+qNFhAL9HNwAiTpwA6JA6AblKvQC6jpX+QEV//6HLk/+wl78AiOfL/qO2iQChfvv+6SBCAETPQgAeHCUAXXJgAf5c9/8sq0UAyncL/7x2MgH/U4j/R1IaAEbjAgAg63kBtSmaAEeG5f7K/yQAKZgFAJo/Sf8itnwAed2W/xrM1QEprFcAWp2S/22CFABHa8j/82a9AAHDkf4uWHUACM7jAL9u/f9tgBT+hlUz/4mxcAHYIhb/gxDQ/3mVqgByExcBplAf/3HwegDos/oARG60/tKqdwDfbKT/z0/p/xvl4v7RYlH/T0QHAIO5ZACqHaL/EaJr/zkVCwFkyLX/f0GmAaWGzABop6gAAaRPAJKHOwFGMoD/ZncN/uMGhwCijrP/oGTeABvg2wGeXcP/6o2JABAYff/uzi//YRFi/3RuDP9gc00AW+Po//j+T/9c5Qb+WMaLAM5LgQD6Tc7/jfR7AYpF3AAglwYBg6cW/+1Ep/7HvZYAo6uK/zO8Bv9fHYn+lOKzALVr0P+GH1L/l2Ut/4HK4QDgSJMAMIqX/8NAzv7t2p4Aah2J/v296f9nDxH/wmH/ALItqf7G4ZsAJzB1/4dqcwBhJrUAli9B/1OC5f72JoEAXO+a/ltjfwChbyH/7tny/4O5w//Vv57/KZbaAISpgwBZVPwBq0aA/6P4y/4BMrT/fExVAftvUABjQu//mu22/91+hf5KzGP/QZN3/2M4p/9P+JX/dJvk/+0rDv5FiQv/FvrxAVt6j//N+fMA1Bo8/zC2sAEwF7//y3mY/i1K1f8+WhL+9aPm/7lqdP9TI58ADCEC/1AiPgAQV67/rWVVAMokUf6gRcz/QOG7ADrOXgBWkC8A5Vb1AD+RvgElBScAbfsaAImT6gCieZH/kHTO/8Xouf+3voz/SQz+/4sU8v+qWu//YUK7//W1h/7eiDQA9QUz/ssvTgCYZdgASRd9AP5gIQHr0kn/K9FYAQeBbQB6aOT+qvLLAPLMh//KHOn/QQZ/AJ+QRwBkjF8ATpYNAPtrdgG2On3/ASZs/4290f8Im30BcaNb/3lPvv+G72z/TC/4AKPk7wARbwoAWJVL/9fr7wCnnxj/L5ds/2vRvADp52P+HMqU/64jiv9uGET/AkW1AGtmUgBm7QcAXCTt/92iUwE3ygb/h+qH/xj63gBBXqj+9fjS/6dsyf7/oW8AzQj+AIgNdABksIT/K9d+/7GFgv+eT5QAQ+AlAQzOFf8+Im4B7Wiv/1CEb/+OrkgAVOW0/mmzjABA+A//6YoQAPVDe/7aedT/P1/aAdWFif+PtlL/MBwLAPRyjQHRr0z/nbWW/7rlA/+knW8B572LAHfKvv/aakD/ROs//mAarP+7LwsB1xL7/1FUWQBEOoAAXnEFAVyB0P9hD1P+CRy8AO8JpAA8zZgAwKNi/7gSPADZtosAbTt4/wTA+wCp0vD/Jaxc/pTT9f+zQTQA/Q1zALmuzgFyvJX/7VqtACvHwP9YbHEANCNMAEIZlP/dBAf/l/Fy/77R6ABiMscAl5bV/xJKJAE1KAcAE4dB/xqsRQCu7VUAY18pAAM4EAAnoLH/yGra/rlEVP9buj3+Q4+N/w30pv9jcsYAx26j/8ESugB87/YBbkQWAALrLgHUPGsAaSppAQ7mmAAHBYMAjWia/9UDBgCD5KL/s2QcAed7Vf/ODt8B/WDmACaYlQFiiXoA1s0D/+KYs/8GhYkAnkWM/3Gimv+086z/G71z/48u3P/VhuH/fh1FALwriQHyRgkAWsz//+eqkwAXOBP+OH2d/zCz2v9Ptv3/JtS/ASnrfABglxwAh5S+AM35J/40YIj/1CyI/0PRg//8ghf/24AU/8aBdgBsZQsAsgWSAT4HZP+17F7+HBqkAEwWcP94Zk8AysDlAciw1wApQPT/zrhOAKctPwGgIwD/OwyO/8wJkP/bXuUBehtwAL1pbf9A0Er/+383AQLixgAsTNEAl5hN/9IXLgHJq0X/LNPnAL4l4P/1xD7/qbXe/yLTEQB38cX/5SOYARVFKP+y4qEAlLPBANvC/gEozjP/51z6AUOZqgAVlPEAqkVS/3kS5/9ccgMAuD7mAOHJV/+SYKL/tfLcAK273QHiPqr/OH7ZAXUN4/+zLO8AnY2b/5DdUwDr0dAAKhGlAftRhQB89cn+YdMY/1PWpgCaJAn/+C9/AFrbjP+h2Sb+1JM//0JUlAHPAwEA5oZZAX9Oev/gmwH/UohKALKc0P+6GTH/3gPSAeWWvv9VojT/KVSN/0l7VP5dEZYAdxMcASAW1/8cF8z/jvE0/+Q0fQAdTM8A16f6/q+k5gA3z2kBbbv1/6Es3AEpZYD/pxBeAF3Wa/92SAD+UD3q/3mvfQCLqfsAYSeT/vrEMf+ls27+30a7/xaOfQGas4r/drAqAQqumQCcXGYAqA2h/48QIAD6xbT/y6MsAVcgJAChmRT/e/wPABnjUAA8WI4AERbJAZrNTf8nPy8ACHqNAIAXtv7MJxP/BHAd/xckjP/S6nT+NTI//3mraP+g214AV1IO/ucqBQCli3/+Vk4mAII8Qv7LHi3/LsR6Afk1ov+Ij2f+19JyAOcHoP6pmCr/by32AI6Dh/+DR8z/JOILAAAc8v/hitX/9y7Y/vUDtwBs/EoBzhow/8029v/TxiT/eSMyADTYyv8mi4H+8kmUAEPnjf8qL8wATnQZAQThv/8Gk+QAOlixAHql5f/8U8n/4KdgAbG4nv/yabMB+MbwAIVCywH+JC8ALRhz/3c+/gDE4br+e42sABpVKf/ib7cA1eeXAAQ7B//uipQAQpMh/x/2jf/RjXT/aHAfAFihrABT1+b+L2+XAC0mNAGELcwAioBt/ul1hv/zvq3+8ezwAFJ/7P4o36H/brbh/3uu7wCH8pEBM9GaAJYDc/7ZpPz/N5xFAVRe///oSS0BFBPU/2DFO/5g+yEAJsdJAUCs9/91dDj/5BESAD6KZwH25aT/9HbJ/lYgn/9tIokBVdO6AArBwf56wrEAeu5m/6LaqwBs2aEBnqoiALAvmwG15Av/CJwAABBLXQDOYv8BOpojAAzzuP5DdUL/5uV7AMkqbgCG5LL+umx2/zoTmv9SqT7/co9zAe/EMv+tMMH/kwJU/5aGk/5f6EkAbeM0/r+JCgAozB7+TDRh/6TrfgD+fLwASrYVAXkdI//xHgf+VdrW/wdUlv5RG3X/oJ+Y/kIY3f/jCjwBjYdmANC9lgF1s1wAhBaI/3jHHAAVgU/+tglBANqjqQD2k8b/ayaQAU6vzf/WBfr+L1gd/6QvzP8rNwb/g4bP/nRk1gBgjEsBatyQAMMgHAGsUQX/x7M0/yVUywCqcK4ACwRbAEX0GwF1g1wAIZiv/4yZa//7hyv+V4oE/8bqk/55mFT/zWWbAZ0JGQBIahH+bJkA/73lugDBCLD/rpXRAO6CHQDp1n4BPeJmADmjBAHGbzP/LU9OAXPSCv/aCRn/novG/9NSu/5QhVMAnYHmAfOFhv8oiBAATWtP/7dVXAGxzMoAo0eT/5hFvgCsM7wB+tKs/9PycQFZWRr/QEJv/nSYKgChJxv/NlD+AGrRcwFnfGEA3eZi/x/nBgCywHj+D9nL/3yeTwBwkfcAXPowAaO1wf8lL47+kL2l/y6S8AAGS4AAKZ3I/ld51QABcewABS36AJAMUgAfbOcA4e93/6cHvf+75IT/br0iAF4szAGiNMUATrzx/jkUjQD0ki8BzmQzAH1rlP4bw00AmP1aAQePkP8zJR8AIncm/wfFdgCZvNMAlxR0/vVBNP+0/W4BL7HRAKFjEf923soAfbP8AXs2fv+ROb8AN7p5AArzigDN0+X/fZzx/pScuf/jE7z/fCkg/x8izv4ROVMAzBYl/ypgYgB3ZrgBA74cAG5S2v/IzMD/yZF2AHXMkgCEIGIBwMJ5AGqh+AHtWHwAF9QaAM2rWv/4MNgBjSXm/3zLAP6eqB7/1vgVAHC7B/9Lhe//SuPz//qTRgDWeKIApwmz/xaeEgDaTdEBYW1R//Qhs/85NDn/QazS//lH0f+Oqe4Anr2Z/67+Z/5iIQ4AjUzm/3GLNP8POtQAqNfJ//jM1wHfRKD/OZq3/i/neQBqpokAUYiKAKUrMwDniz0AOV87/nZiGf+XP+wBXr76/6m5cgEF+jr/S2lhAdffhgBxY6MBgD5wAGNqkwCjwwoAIc22ANYOrv+BJuf/NbbfAGIqn//3DSgAvNKxAQYVAP//PZT+iS2B/1kadP5+JnIA+zLy/nmGgP/M+af+pevXAMqx8wCFjT4A8IK+AW6v/wAAFJIBJdJ5/wcnggCO+lT/jcjPAAlfaP8L9K4Ahuh+AKcBe/4QwZX/6OnvAdVGcP/8dKD+8t7c/81V4wAHuToAdvc/AXRNsf8+9cj+PxIl/2s16P4y3dMAotsH/gJeKwC2Prb+oE7I/4eMqgDruOQArzWK/lA6Tf+YyQIBP8QiAAUeuACrsJoAeTvOACZjJwCsUE3+AIaXALoh8f5e/d//LHL8AGx+Of/JKA3/J+Ub/yfvFwGXeTP/mZb4AArqrv929gT+yPUmAEWh8gEQspYAcTiCAKsfaQAaWGz/MSpqAPupQgBFXZUAFDn+AKQZbwBavFr/zATFACjVMgHUYIT/WIq0/uSSfP+49vcAQXVW//1m0v7+eSQAiXMD/zwY2ACGEh0AO+JhALCORwAH0aEAvVQz/pv6SADVVOv/Ld7gAO6Uj/+qKjX/Tqd1ALoAKP99sWf/ReFCAOMHWAFLrAYAqS3jARAkRv8yAgn/i8EWAI+35/7aRTIA7DihAdWDKgCKkSz+iOUo/zE/I/89kfX/ZcAC/uincQCYaCYBebnaAHmL0/538CMAQb3Z/ruzov+gu+YAPvgO/zxOYQD/96P/4Ttb/2tHOv/xLyEBMnXsANuxP/70WrMAI8LX/71DMv8Xh4EAaL0l/7k5wgAjPuf/3PhsAAznsgCPUFsBg11l/5AnAgH/+rIABRHs/osgLgDMvCb+9XM0/79xSf6/bEX/FkX1ARfLsgCqY6oAQfhvACVsmf9AJUUAAFg+/lmUkP+/ROAB8Sc1ACnL7f+RfsL/3Sr9/xljlwBh/d8BSnMx/wavSP87sMsAfLf5AeTkYwCBDM/+qMDD/8ywEP6Y6qsATSVV/yF4h/+OwuMBH9Y6ANW7ff/oLjz/vnQq/peyE/8zPu3+zOzBAMLoPACsIp3/vRC4/mcDX/+N6ST+KRkL/xXDpgB29S0AQ9WV/58MEv+7pOMBoBkFAAxOwwErxeEAMI4p/sSbPP/fxxIBkYicAPx1qf6R4u4A7xdrAG21vP/mcDH+Sart/+e34/9Q3BQAwmt/AX/NZQAuNMUB0qsk/1gDWv84l40AYLv//ypOyAD+RkYB9H2oAMxEigF810YAZkLI/hE05AB13I/+y/h7ADgSrv+6l6T/M+jQAaDkK//5HRkBRL4/ACKuKNeYL4pCzWXvI5FEN3EvO03sz/vAtbzbiYGl27XpOLVI81vCVjkZ0AW28RHxWZtPGa+kgj+SGIFt2tVeHKtCAgOjmKoH2L5vcEUBW4MSjLLkTr6FMSTitP/Vw30MVW+Je/J0Xb5ysZYWO/6x3oA1Esclpwbcm5Qmac908ZvB0krxnsFpm+TjJU84hke+77XVjIvGncEPZZysd8yhDCR1AitZbyzpLYPkpm6qhHRK1PtBvdypsFy1UxGD2oj5dqvfZu5SUT6YEDK0LW3GMag/IfuYyCcDsOQO777Hf1m/wo+oPfML4MYlpwqTR5Gn1W+CA+BRY8oGcG4OCmcpKRT8L9JGhQq3JybJJlw4IRsu7SrEWvxtLE3fs5WdEw04U95jr4tUcwplqLJ3PLsKanbmru1HLsnCgTs1ghSFLHKSZAPxTKHov6IBMEK8S2YaqJGX+NBwi0vCML5UBqNRbMcYUu/WGeiS0RCpZVUkBpnWKiBxV4U1DvS40bsycKBqEMjQ0rgWwaQZU6tBUQhsNx6Z647fTHdIJ6hIm+G1vLA0Y1rJxbMMHDnLikHjSqrYTnPjY3dPypxbo7iy1vNvLmj8su9d7oKPdGAvF0NvY6V4cqvwoRR4yITsOWQaCALHjCgeYyP6/76Q6b2C3utsUKQVecay96P5vitTcuPyeHHGnGEm6s4+J8oHwsAhx7iG0R7r4M3WfdrqeNFu7n9PffW6bxdyqmfwBqaYyKLFfWMKrg35vgSYPxEbRxwTNQtxG4R9BCP1d9sokyTHQHuryjK8vskVCr6ePEwNEJzEZx1DtkI+y77UxUwqfmX8nCl/Wez61jqrb8tfF1hHSowZRGz2lAAA/pQAABCVAAAolQAAPJUAAE+VAABflQAAcpUAAIGVAACRlQAAqJUAALmVAADJlQAA35UAAPmVAAAHlgAAmC+KQpFEN3HP+8C1pdu16VvCVjnxEfFZpII/ktVeHKuYqgfYAVuDEr6FMSTDfQxVdF2+cv6x3oCnBtybdPGbwcFpm+SGR77vxp3BD8yhDCRvLOktqoR0StypsFzaiPl2UlE+mG3GMajIJwOwx39Zv/ML4MZHkafVUWPKBmcpKRSFCrcnOCEbLvxtLE0TDThTVHMKZbsKanYuycKBhSxykqHov6JLZhqocItLwqNRbMcZ6JLRJAaZ1oU1DvRwoGoQFsGkGQhsNx5Md0gntbywNLMMHDlKqthOT8qcW/NvLmjugo90b2OleBR4yIQIAseM+v++kOtsUKT3o/m+8nhxxmN8d3vya2/FMAFnK/7Xq3bKgsl9+llH8K3Uoq+cpHLAt/2TJjY/98w0peXxcdgxFQTHI8MYlgWaBxKA4usnsnUJgywaG25aoFI71rMp4y+EU9EA7SD8sVtqy745SkxYz9DvqvtDTTOFRfkCf1A8n6hRo0CPkp049by22iEQ//PSzQwT7F+XRBfEp349ZF0Zc2CBT9wiKpCIRu64FN5eC9vgMjoKSQYkXMLTrGKRleR558g3bY3VTqlsVvTqZXquCLp4JS4cprTG6N10H0u9i4pwPrVmSAP2DmE1V7mGwR2e4fiYEWnZjpSbHofpzlUo34yhiQ2/5kJoQZktD7BUuxYAAAAAAAACAwkLDQ4EBhIWGhwGBRsdFxIIDCQsNDgKDy0nOTYMCjY6LiQOCT8xIyoQGEhYaHASG0FTZX4UHlpOcmwWHVNFf2IYFGx0XEgaF2V/UUYcEn5iRlQeEXdpS1ogMJCw0OAiM5m73e4kNoKmyvwmNYutx/IoPLSc5NgqP72X6dYsOqaK/sQuOa+B88owKNjouJAyK9HjtZ40Lsr+oow2LcP1r4I4JPzEjKg6J/XPgaY8Iu7SlrQ+IefZm7pAYDt7u9tCYzJwttVEZiltocdGZSBmrMlIbB9Xj+NKbxZcgu1Mag1Blf9OaQRKmPFQeHMj06tSe3oo3qVUfmE1ybdWfWg+xLlYdFcP55Nad14E6p1cckUZ/Y9ecUwS8IFgUKvLaztiU6LAZjVkVrndcSdmVbDWfCloXI/nXwNqX4bsUg1sWp3xRR9uWZT6SBFwSOOTA0tyS+qYDkV0TvGFGVd2TfiOFFl4RMe/N3N6R860On18QtWpLW9+QdyiIGGAwHb2ba2Cw3/9YKOExmTgd7GGxW3rer+IzFLaWZWKz1vRVJuMykDMQ4mOyUnHToeQ2D6uBd2S2zelCNOU3iy4H8GW3SWzEs+Y1BqCMeWa1xOJPOuc0giUK/me0QGfJveg8OZGvU2i8+9NsEOk9vRQp1Gm9f1bql+o/MJqiXWq/8thhHus+tB8k2mu+dl3nmew6K4e1T2y66cV2DO07rwIzyG27bUDwi+45Ioy4QW654M57Au84pgk+xm+4ZEv9hfAoE2N1nbCo0SG23jEpl+bzGrGpVaQwWTIrGmh4k7Kr2Cq70DMqnu3+FLOqXK89VzQuAXVvgbSuwzeswjUvhfDpBrWvR7IqRTYtCH5ij7atyjyhzDcsjPvkCLesTrknSzgkN09Bpbik9Q2C5jkls8rHIrmlcYgEYTonPkRMq7qn/AaP6DsmusHKLLumeIMJbzwiJVlbubyi5xuY+j0jodzdPr2jY54efT4hLFJWt76h7hCV9D8gqNfQML+gapUTcwbm+z32kEZmOX8108fnf7hwF0dnvfqzVMTl8jb7nkRlMHQ43cXkdrN9GUVktPG+WsLg6SvsjEJgK2kvz8Phba5qC0Nhr+ypSMDj4CDhgkBjImIiwcHiZKVnBUFipuekRs7q3xHCqE5qHVMB68/rW5REL09rmdaHbMzp1hrPpkxpFFgM5c3oUp9JIU1okN2KYsrszQfYtEpsD0Ub98vtSYJeM0tti8CdcMjvxAzVukhvBk4W+cnuQIlTPUlugsuQftb+9eMYZpZ+N6HbJRf/cWae4Zd/syRdohT9/OgVaJR9PqrWKxX8eG2T75V8ui9QrBL45/UCepJ4JbfBORP5Y3CE/ZN5oTJHvhD77v4PdJB7LLzMNxH6anuJ85F6qDlKsB7y0c8sXp5yE43vHR/zVUqq2Z9zlwhpmhzx2MQhUJxxGobiEx3wXEGn151wngNklBr0w9k2Qpp0AZv1ARv1R1ywxZt1hR5zhhj3ytI7TJh3CJD4Dxn2Tle9y5l2jBV+iCbW5oBt+yZWJMKuuKfXYgXrfCdXoEcoP6TV74tg9SRVLcmjtqXUaw7mciVUqUwlMaLQ9JZ35yJQNtS0pKPRcBPxYCNRslEyI6DT/Z166SBTP9+5qqHSeRj8biFSu1o/La7awqxZwy5aAO6agK/bRinfRC9bhGscB6zZy6dUzSxZCeWXjq3YTyLSSi1YjWARCarc0LpD3ypcEviAnKvdVD/FWCtdln0GG6jf2bFO0ShfG/ONkqneXTTIVilen3YLFbbO6F6DDfZOKhxATnfPbNsFivdPrpnGyXTN4VWOA/RNIxdNQHXMZdAIhPVMp5LLx3LI+kiZEfJIOApaUnPJfs0flvNJvI/c1XDL80OUH/BLMQFXXHHKd8YSmPFKtYTR237CzHK3Nf5CDjB0dn/DSPcxsv9DirXy8XzBxXm6O/xBBzt5eH3AQfw8vP1Ag77//3rE3mStKfpEHCZuanvFWuErrvtFmKPo7XjH12+gJ/hHFS1jZHnGU+omoPlGkajl40AAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAABsAAAA2AAAAbAAAANgAAACrAAAATQAAAJoAAAAAUglq1TA2pTi/QKOegfPX+3zjOYKbL/+HNI5DRMTe6ctUe5QypsIjPe5MlQtC+sNOCC6hZijZJLJ2W6JJbYvRJXL49mSGaJgW1KRczF1ltpJscEhQ/e252l4VRlenjZ2EkNirAIy80wr35FgFuLNFBtAsHo/KPw8Cwa+9AwETims6kRFBT2fc6pfyz87wtOZzlqx0IuetNYXi+TfoHHXfbkfxGnEdKcWJb7diDqoYvhv8Vj5LxtJ5IJrbwP54zVr0H92oM4gHxzGxEhBZJ4DsX2BRf6kZtUoNLeV6n5PJnO+g4DtNrir1sMjruzyDU5lhFysEfrp31ibhaRRjVSEMfREACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRlQhIhkNAQIDEUscDBAECx0SHidobm9wcWIgBQYPExQVGggWBygkFxgJCg4bHyUjg4J9JiorPD0+P0NHSk1YWVpbXF1eX2BhY2RlZmdpamtscnN0eXp7fAAAAAAAAAAAAElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAAAAAAAXZQAAAgAAABmlAAACwAAALiSAABUlAAACAAAALiSAAC0mAAAAAAAAAEAAAABAAAAAQAAAAIAAAACAAAAuJIAANiUAAALAAAAuJIAACKWAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPTE1fS0VZUwBPTE1fUk9PVABPTE1fUkFUQ0hFVABzZW5kZXIgY2hhaW4gaW5kZXg6ICVkIAByZWNlaXZlciBjaGFpbiBpbmRpY2VzOgAgc2tpcHBlZCBtZXNzYWdlIGtleXM6ACAlZAABAiJjdXJ2ZTI1NTE5IjoAImVkMjU1MTkiOgBNRUdPTE1fS0VZUwAAAQIDVU5LTk9XTl9FUlJPUgBTVUNDRVNTAE5PVF9FTk9VR0hfUkFORE9NAE9VVFBVVF9CVUZGRVJfVE9PX1NNQUxMAEJBRF9NRVNTQUdFX1ZFUlNJT04AQkFEX01FU1NBR0VfRk9STUFUAEJBRF9NRVNTQUdFX01BQwBCQURfTUVTU0FHRV9LRVlfSUQASU5WQUxJRF9CQVNFNjQAQkFEX0FDQ09VTlRfS0VZAFVOS05PV05fUElDS0xFX1ZFUlNJT04AQ09SUlVQVEVEX1BJQ0tMRQBCQURfU0VTU0lPTl9LRVkAVU5LTk9XTl9NRVNTQUdFX0lOREVYAEJBRF9MRUdBQ1lfQUNDT1VOVF9QSUNLTEUAQkFEX1NJR05BVFVSRQBPTE1fSU5QVVRfQlVGRkVSX1RPT19TTUFMTABQaWNrbGUALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOAC4=";var _e=F;F+=16,V=I(4),K=G=T(F),H=T(z=K+Z),U[V>>2]=H;var ye=!1;function be(e){var t=Array(X(e)+1);return e=Y(e,t,0,t.length),t.length=e,t}function ve(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];255<r&&(ye&&C(!1,"Character code "+r+" ("+String.fromCharCode(r)+") at offset "+n+" not in 0x00-0xFF."),r&=255),t.push(String.fromCharCode(r))}return t.join("")}var Ae="function"==typeof atob?atob:function(e){var t="",n=0;e=e.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(e.charAt(n++)),i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(e.charAt(n++)),o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(e.charAt(n++)),s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(e.charAt(n++));r=r<<2|i>>4,i=(15&i)<<4|o>>2;var a=(3&o)<<6|s;t+=String.fromCharCode(r),64!==o&&(t+=String.fromCharCode(i)),64!==s&&(t+=String.fromCharCode(a))}while(n<e.length);return t};function we(e){if(String.prototype.startsWith?e.startsWith(me):0===e.indexOf(me)){if(e=e.slice(me.length),"boolean"==typeof b&&b){try{var t=o.from(e,"base64")}catch(n){t=new o(e,"base64")}var n=new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}else try{var r=Ae(e),i=new Uint8Array(r.length);for(t=0;t<r.length;++t)i[t]=r.charCodeAt(t);n=i}catch(e){throw Error("Converting base64 string to bytes failed.")}return n}}l.f={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:1/0},l.g={abort:Be,assert:C,enlargeMemory:function(){J()},getTotalMemory:function(){return $},abortOnCannotGrowMemory:J,invoke_ii:function(e,t){var n=Re();try{return l.dynCall_ii(e,t)}catch(e){if(Ie(n),"number"!=typeof e&&"longjmp"!==e)throw e;l.setThrew(1,0)}},invoke_iii:function(e,t,n){var r=Re();try{return l.dynCall_iii(e,t,n)}catch(e){if(Ie(r),"number"!=typeof e&&"longjmp"!==e)throw e;l.setThrew(1,0)}},invoke_iiii:function(e,t,n,r){var i=Re();try{return l.dynCall_iiii(e,t,n,r)}catch(e){if(Ie(i),"number"!=typeof e&&"longjmp"!==e)throw e;l.setThrew(1,0)}},invoke_iiiiiiiiii:function(e,t,n,r,i,o,s,a,f,c){var u=Re();try{return l.dynCall_iiiiiiiiii(e,t,n,r,i,o,s,a,f,c)}catch(e){if(Ie(u),"number"!=typeof e&&"longjmp"!==e)throw e;l.setThrew(1,0)}},___setErrNo:function(e){return l.___errno_location&&(U[l.___errno_location()>>2]=e),e},_emscripten_memcpy_big:function(e,t,n){return N.set(N.subarray(t,t+n),e),e},DYNAMICTOP_PTR:V,tempDoublePtr:_e,STACKTOP:G,STACK_MAX:z};var Ee=function(e,t,n){"use asm";var r=new e.Int8Array(n);var i=new e.Int16Array(n);var o=new e.Int32Array(n);var s=new e.Uint8Array(n);var a=new e.Uint16Array(n);var f=new e.Uint32Array(n);var c=new e.Float32Array(n);var u=new e.Float64Array(n);var l=t.DYNAMICTOP_PTR|0;var d=t.tempDoublePtr|0;var h=t.STACKTOP|0;var p=t.STACK_MAX|0;var g=0;var m=0;var _=0;var y=0;var b=e.NaN,v=e.Infinity;var A=0,w=0,E=0,S=0,k=0.0;var I=0;var R=e.Math.floor;var T=e.Math.abs;var O=e.Math.sqrt;var C=e.Math.pow;var x=e.Math.cos;var M=e.Math.sin;var P=e.Math.tan;var D=e.Math.acos;var B=e.Math.asin;var N=e.Math.atan;var j=e.Math.atan2;var U=e.Math.exp;var L=e.Math.log;var q=e.Math.ceil;var F=e.Math.imul;var K=e.Math.min;var G=e.Math.max;var z=e.Math.clz32;var H=t.abort;var V=t.assert;var Q=t.enlargeMemory;var W=t.getTotalMemory;var Y=t.abortOnCannotGrowMemory;var X=t.invoke_ii;var J=t.invoke_iii;var Z=t.invoke_iiii;var $=t.invoke_iiiiiiiiii;var ee=t.___setErrNo;var te=t._emscripten_memcpy_big;var ne=0.0;function re(e){e=e|0;var t=0;t=h;h=h+e|0;h=h+15&-16;return t|0}function ie(){return h|0}function oe(e){e=e|0;h=e}function se(e,t){e=e|0;t=t|0;h=e;p=t}function ae(e,t){e=e|0;t=t|0;if(!g){g=e;m=t}}function fe(e){e=e|0;I=e}function ce(){return I|0}function ue(e){e=e|0;var t=0;t=e+2|0;e=(t>>>0)/3|0;return(e<<2|t-(e*3|0))+-2|0}function le(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,a=0,f=0,c=0;a=t-((t>>>0)%3|0)|0;o=e+a|0;if(!a){a=n;o=e}else{i=e;do{a=s[i>>0]|0;f=a<<8|(s[i+1>>0]|0);c=s[i+2>>0]|0;i=i+3|0;r[n+3>>0]=r[16+(c&63)>>0]|0;r[n+2>>0]=r[16+((f<<8|c)>>>6&63)>>0]|0;r[n+1>>0]=r[16+(f>>>4&63)>>0]|0;r[n>>0]=r[16+(a>>>2)>>0]|0;n=n+4|0}while((i|0)!=(o|0));a=n}n=e+t-o|0;if(!n){c=a;return c|0}i=s[o>>0]|0;if((n|0)==2){n=s[o+1>>0]|0;r[a+2>>0]=r[16+(n<<2&60)>>0]|0;n=(i<<8|n)>>>4;i=3}else{n=i<<4;i=2}r[a+1>>0]=r[16+(n&63)>>0]|0;r[a>>0]=r[16+(n>>>6)>>0]|0;c=a+i|0;return c|0}function de(e){e=e|0;var t=0;t=e+2|0;return((e&3|0)==1?-1:(t&3)+-2+((t>>>2)*3|0)|0)|0}function he(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,a=0,f=0,c=0,u=0,l=0;c=t&-4;a=e+c|0;if(!c)f=e;else{f=(((c+-4|0)>>>2)*3|0)+3|0;i=n;o=e;while(1){u=(s[80+(r[o>>0]&127)>>0]|0)<<6|(s[80+(r[o+1>>0]&127)>>0]|0);l=u<<6|(s[80+(r[o+2>>0]&127)>>0]|0);r[i+2>>0]=l<<6|(s[80+(r[o+3>>0]&127)>>0]|0);o=o+4|0;r[i+1>>0]=l>>>2;r[i>>0]=u>>>4;if((o|0)==(a|0))break;else i=i+3|0}n=n+f|0;f=e+c|0}i=e+t|0;o=i-f|0;if(!o)return i|0;a=(s[80+(r[f>>0]&127)>>0]|0)<<6|(s[80+(r[f+1>>0]&127)>>0]|0);if((o|0)==3)r[n+1>>0]=(a<<6|(s[80+(r[f+2>>0]&127)>>0]|0))>>>2;r[n>>0]=a>>>4;return i|0}function pe(e){e=e|0;var t=0;t=e+2|0;e=(t>>>0)/3|0;return(e<<2|t-(e*3|0))+-2|0}function ge(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,a=0,f=0,c=0,u=0;f=t-((t>>>0)%3|0)|0;a=e+f|0;if(!f){f=n;a=e}else{i=n;o=e;do{f=s[o>>0]|0;c=f<<8|(s[o+1>>0]|0);u=s[o+2>>0]|0;o=o+3|0;r[i+3>>0]=r[16+(u&63)>>0]|0;r[i+2>>0]=r[16+((c<<8|u)>>>6&63)>>0]|0;r[i+1>>0]=r[16+(c>>>4&63)>>0]|0;r[i>>0]=r[16+(f>>>2)>>0]|0;i=i+4|0}while((o|0)!=(a|0));f=i}i=e+t-a|0;if(!i){c=f;u=n;u=c-u|0;return u|0}o=s[a>>0]|0;if((i|0)==2){i=s[a+1>>0]|0;r[f+2>>0]=r[16+(i<<2&60)>>0]|0;i=(o<<8|i)>>>4;o=3}else{i=o<<4;o=2}r[f+1>>0]=r[16+(i&63)>>0]|0;r[f>>0]=r[16+(i>>>6)>>0]|0;c=f+o|0;u=n;u=c-u|0;return u|0}function me(e){e=e|0;var t=0;t=e+2|0;return((e&3|0)==1?-1:(t&3)+-2+((t>>>2)*3|0)|0)|0}function _e(e,t,n){e=e|0;t=t|0;n=n|0;he(e,t,n)|0;n=t+2|0;return((t&3|0)==1?-1:(n&3)+-2+((n>>>2)*3|0)|0)|0}function ye(e,t){e=e|0;t=t|0;r[e+3>>0]=t;r[e+2>>0]=t>>>8;r[e+1>>0]=t>>>16;r[e>>0]=t>>>24;return e+4|0}function be(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;o[n>>2]=0;r=e+4|0;if(r>>>0>t>>>0){r=t;return r|0}o[n>>2]=0;t=(s[e>>0]|0)<<8;o[n>>2]=t;t=(t|(s[e+1>>0]|0))<<8;o[n>>2]=t;t=(t|(s[e+2>>0]|0))<<8;o[n>>2]=t;o[n>>2]=t|(s[e+3>>0]|0);return r|0}function ve(e,t){e=e|0;t=t|0;r[e>>0]=t&1;return e+1|0}function Ae(e,t,n){e=e|0;t=t|0;n=n|0;if((e|0)==(t|0)){n=e;return n|0}r[n>>0]=(r[e>>0]|0)!=0&1;n=e+1|0;return n|0}function we(e,t,n){e=e|0;t=t|0;n=n|0;Ps(e|0,t|0,n|0)|0;return e+n|0}function Ee(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;i=e+r|0;if(i>>>0>t>>>0){i=t;return i|0}Ps(n|0,e|0,r|0)|0;return i|0}function Se(e){e=e|0;return 32}function ke(e,t){e=e|0;t=t|0;var n=0,i=0;i=e;n=i+32|0;do{r[i>>0]=r[t>>0]|0;i=i+1|0;t=t+1|0}while((i|0)<(n|0));return e+32|0}function Ie(e,t,n){e=e|0;t=t|0;n=n|0;var i=0;i=e+32|0;if(i>>>0>t>>>0){i=t;return i|0}t=e;e=n+32|0;do{r[n>>0]=r[t>>0]|0;n=n+1|0;t=t+1|0}while((n|0)<(e|0));return i|0}function Re(e){e=e|0;return 64}function Te(e,t){e=e|0;t=t|0;var n=0,i=0,o=0;n=e;i=t;o=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(o|0));n=e+32|0;i=t+32|0;o=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(o|0));return e+64|0}function Oe(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0,a=0;i=e+32|0;if(i>>>0>t>>>0)i=t;else{a=n;s=a+32|0;do{r[a>>0]=r[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(s|0))}o=i+32|0;if(o>>>0>t>>>0){a=t;return a|0}a=n+32|0;e=i;s=a+32|0;do{r[a>>0]=r[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(s|0));a=o;return a|0}function Ce(e){e=e|0;return 32}function xe(e,t){e=e|0;t=t|0;var n=0,i=0;i=e;n=i+32|0;do{r[i>>0]=r[t>>0]|0;i=i+1|0;t=t+1|0}while((i|0)<(n|0));return e+32|0}function Me(e,t,n){e=e|0;t=t|0;n=n|0;var i=0;i=e+32|0;if(i>>>0>t>>>0){i=t;return i|0}t=e;e=n+32|0;do{r[n>>0]=r[t>>0]|0;n=n+1|0;t=t+1|0}while((n|0)<(e|0));return i|0}function Pe(e){e=e|0;return 96}function De(e,t){e=e|0;t=t|0;var n=0,i=0,o=0;n=e;i=t;o=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(o|0));n=e+32|0;i=t+32|0;o=n+64|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(o|0));return e+96|0}function Be(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0,a=0;i=e+32|0;if(i>>>0>t>>>0)i=t;else{a=n;s=a+32|0;do{r[a>>0]=r[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(s|0))}o=i+64|0;if(o>>>0>t>>>0){a=t;return a|0}a=n+32|0;e=i;s=a+64|0;do{r[a>>0]=r[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(s|0));a=o;return a|0}function Ne(e,t){e=e|0;t=t|0;r[e+3>>0]=t;r[e+2>>0]=t>>>8;r[e+1>>0]=t>>>16;r[e>>0]=t>>>24;return e+4|0}function je(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;o[n>>2]=0;r=e+4|0;if(r>>>0>t>>>0){r=t;return r|0}o[n>>2]=0;t=(s[e>>0]|0)<<8;o[n>>2]=t;t=(t|(s[e+1>>0]|0))<<8;o[n>>2]=t;t=(t|(s[e+2>>0]|0))<<8;o[n>>2]=t;o[n>>2]=t|(s[e+3>>0]|0);return r|0}function Ue(e,t){e=e|0;t=t|0;r[e>>0]=(t|0)!=0&1;return e+1|0}function Le(e,t,n){e=e|0;t=t|0;n=n|0;if((e|0)==(t|0)){n=e;return n|0}r[n>>0]=(r[e>>0]|0)!=0&1;n=e+1|0;return n|0}function qe(e,t,n){e=e|0;t=t|0;n=n|0;Ps(e|0,t|0,n|0)|0;return e+n|0}function Fe(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;i=e+r|0;if(i>>>0>t>>>0){i=t;return i|0}Ps(n|0,e|0,r|0)|0;return i|0}function Ke(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,o=0,s=0;if(t>>>0>127){o=t;i=1;while(1){i=i+1|0;if(o>>>0>16383)o=o>>>7;else{s=i;break}}}else s=1;if(e>>>0>127){i=1;while(1){i=i+1|0;if(e>>>0>16383)e=e>>>7;else{o=i;break}}}else o=1;if(n>>>0>127){e=n;i=1;while(1){i=i+1|0;if(e>>>0>16383)e=e>>>7;else break}}else i=1;return t+4+n+r+s+o+i|0}function Ge(e,t,n,i,s,a){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;var f=0,c=0;r[a>>0]=t;t=a+2|0;r[a+1>>0]=10;if(i>>>0>127){f=t;c=i;while(1){t=f+1|0;r[f>>0]=c|128;a=c>>>7;if(c>>>0>16383){f=t;c=a}else break}}else a=i;c=t+1|0;r[t>>0]=a;o[e>>2]=c;i=c+i|0;t=i+1|0;r[i>>0]=16;if(n>>>0>127)while(1){a=t+1|0;r[t>>0]=n|128;f=n>>>7;if(n>>>0>16383){t=a;n=f}else{n=f;break}}else a=t;r[a>>0]=n;f=e+4|0;t=a+2|0;r[a+1>>0]=34;if(s>>>0<=127){c=s;i=t;c=c&255;e=i+1|0;r[i>>0]=c;o[f>>2]=e;return}a=t;while(1){t=a+1|0;r[a>>0]=s|128;n=s>>>7;if(s>>>0>16383){a=t;s=n}else break}i=n&255;e=t+1|0;r[t>>0]=i;o[f>>2]=e;return}function ze(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,f=0,c=0,u=0,l=0,d=0,h=0,p=0;s=n-i|0;c=t+s|0;o[e+8>>2]=t;o[e+12>>2]=n;l=e+1|0;r[l>>0]=0;d=e+16|0;h=e+20|0;p=e+24|0;u=e+28|0;o[d>>2]=0;o[d+4>>2]=0;o[d+8>>2]=0;o[d+12>>2]=0;if(n>>>0<i>>>0|(s|0)==0)return;r[e>>0]=r[t>>0]|0;if((s|0)==1)return;a=e+4|0;f=c;s=t+1|0;e:while(1){if((r[s>>0]|0)==10){t=s+1|0;if((t|0)!=(c|0)){e=t;while(1){i=e;e=e+1|0;if((r[i>>0]|0)>-1)break;if((e|0)==(c|0)){e=c;break}}if((e|0)!=(t|0)){n=0;i=e;do{i=i+-1|0;n=n<<7|r[i>>0]&127}while((i|0)!=(t|0));if(n>>>0>(f-e|0)>>>0){s=58;break}}else{n=0;e=t}}else{n=0;e=c}o[d>>2]=e;o[h>>2]=n;e=e+n|0}else e=s;if((e|0)==(c|0)){s=58;break}if((r[e>>0]|0)==16){t=e+1|0;if((t|0)!=(c|0)){e=t;while(1){i=e;e=e+1|0;if((r[i>>0]|0)>-1)break;if((e|0)==(c|0)){e=c;break}}if((e|0)==(t|0)){n=0;e=t}else{n=0;i=e;do{i=i+-1|0;n=n<<7|r[i>>0]&127}while((i|0)!=(t|0))}}else{n=0;e=c}o[a>>2]=n;r[l>>0]=1}if((e|0)==(c|0)){s=58;break}if((r[e>>0]|0)==34){t=e+1|0;if((t|0)!=(c|0)){e=t;while(1){i=e;e=e+1|0;if((r[i>>0]|0)>-1)break;if((e|0)==(c|0)){e=c;break}}if((e|0)!=(t|0)){n=0;i=e;do{i=i+-1|0;n=n<<7|r[i>>0]&127}while((i|0)!=(t|0));if(n>>>0>(f-e|0)>>>0){s=58;break}}else{n=0;e=t}}else{n=0;e=c}o[p>>2]=e;o[u>>2]=n;e=e+n|0}t:do{if(!((s|0)!=(e|0)|(e|0)==(c|0))){n=r[s>>0]|0;switch(n&7){case 0:{s=s+1|0;e=(s|0)==(c|0);if(n<<24>>24<=-1)while(1){if(e){s=58;break e}n=s+1|0;e=(n|0)==(c|0);if((r[s>>0]|0)>-1){s=n;break}else s=n}if(e)break t;while(1){t=s;s=s+1|0;if((r[t>>0]|0)>-1)break t;if((s|0)==(c|0)){s=58;break e}}}case 2:break;default:{s=58;break e}}s=s+1|0;e=(s|0)==(c|0);if(n<<24>>24<=-1)while(1){if(e){s=58;break e}n=s+1|0;e=(n|0)==(c|0);if((r[s>>0]|0)>-1){s=n;break}else s=n}if(!e){e=s;while(1){t=e;e=e+1|0;if((r[t>>0]|0)>-1)break;if((e|0)==(c|0)){e=c;break}}if((e|0)!=(s|0)){n=0;i=e;do{i=i+-1|0;n=n<<7|r[i>>0]&127}while((i|0)!=(s|0));if(n>>>0>(f-e|0)>>>0){s=58;break e}else s=e+n|0}}}else s=e}while(0);if((s|0)==(c|0)){s=58;break}}if((s|0)==58)return}function He(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,o=0,s=0,a=0,f=0;if(e>>>0>127){o=e;i=1;while(1){i=i+1|0;if(o>>>0>16383)o=o>>>7;else break}}else i=1;if(t>>>0>127){s=t;o=1;while(1){o=o+1|0;if(s>>>0>16383)s=s>>>7;else break}}else o=1;if(n>>>0>127){a=n;s=1;while(1){s=s+1|0;if(a>>>0>16383)a=a>>>7;else{f=s;break}}}else f=1;if(r>>>0>127){a=r;s=1;while(1){s=s+1|0;if(a>>>0>16383)a=a>>>7;else break}}else s=1;return e+5+t+n+r+i+o+f+s|0}function Ve(e,t,n,i,s,a,f){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;f=f|0;var c=0,u=0,l=0;r[f>>0]=t;l=e+8|0;t=f+2|0;r[f+1>>0]=10;if(s>>>0>127){c=t;u=s;while(1){t=c+1|0;r[c>>0]=u|128;f=u>>>7;if(u>>>0>16383){c=t;u=f}else break}}else f=s;u=t+1|0;r[t>>0]=f;o[l>>2]=u;s=u+s|0;l=e+4|0;t=s+1|0;r[s>>0]=18;if(i>>>0>127){c=i;while(1){u=t+1|0;r[t>>0]=c|128;f=c>>>7;if(c>>>0>16383){t=u;c=f}else{t=u;break}}}else f=i;s=t+1|0;r[t>>0]=f;o[l>>2]=s;i=s+i|0;t=i+1|0;r[i>>0]=26;if(n>>>0>127){c=n;while(1){u=t+1|0;r[t>>0]=c|128;f=c>>>7;if(c>>>0>16383){t=u;c=f}else{t=u;break}}}else f=n;u=t+1|0;r[t>>0]=f;o[e>>2]=u;n=u+n|0;u=e+12|0;t=n+1|0;r[n>>0]=34;if(a>>>0<=127){i=a;e=t;i=i&255;n=e+1|0;r[e>>0]=i;o[u>>2]=n;return}c=t;while(1){t=c+1|0;r[c>>0]=a|128;f=a>>>7;if(a>>>0>16383){c=t;a=f}else break}e=f&255;n=t+1|0;r[t>>0]=e;o[u>>2]=n;return}function Qe(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,f=0,c=0,u=0,l=0,d=0,h=0,p=0,g=0,m=0;u=t+n|0;l=e+20|0;d=e+24|0;h=e+4|0;p=e+8|0;g=e+12|0;m=e+16|0;f=e+28|0;c=e+32|0;o[h>>2]=0;o[h+4>>2]=0;o[h+8>>2]=0;o[h+12>>2]=0;o[h+16>>2]=0;o[h+20>>2]=0;o[h+24>>2]=0;o[h+28>>2]=0;if(!n)return;r[e>>0]=r[t>>0]|0;if((n|0)==1)return;a=u;e=t+1|0;e:while(1){if((r[e>>0]|0)==10){s=e+1|0;if((s|0)!=(u|0)){n=s;while(1){i=n;n=n+1|0;if((r[i>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)!=(s|0)){t=0;i=n;do{i=i+-1|0;t=t<<7|r[i>>0]&127}while((i|0)!=(s|0));if(t>>>0>(a-n|0)>>>0){e=70;break}}else{t=0;n=s}}else{t=0;n=u}o[l>>2]=n;o[d>>2]=t;n=n+t|0}else n=e;if((n|0)==(u|0)){e=70;break}if((r[n>>0]|0)==18){s=n+1|0;if((s|0)!=(u|0)){n=s;while(1){i=n;n=n+1|0;if((r[i>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)!=(s|0)){t=0;i=n;do{i=i+-1|0;t=t<<7|r[i>>0]&127}while((i|0)!=(s|0));if(t>>>0>(a-n|0)>>>0){e=70;break}}else{t=0;n=s}}else{t=0;n=u}o[g>>2]=n;o[m>>2]=t;n=n+t|0}if((n|0)==(u|0)){e=70;break}if((r[n>>0]|0)==26){s=n+1|0;if((s|0)!=(u|0)){n=s;while(1){i=n;n=n+1|0;if((r[i>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)!=(s|0)){t=0;i=n;do{i=i+-1|0;t=t<<7|r[i>>0]&127}while((i|0)!=(s|0));if(t>>>0>(a-n|0)>>>0){e=70;break}}else{t=0;n=s}}else{t=0;n=u}o[h>>2]=n;o[p>>2]=t;n=n+t|0}if((n|0)==(u|0)){e=70;break}if((r[n>>0]|0)==34){s=n+1|0;if((s|0)!=(u|0)){n=s;while(1){i=n;n=n+1|0;if((r[i>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)!=(s|0)){t=0;i=n;do{i=i+-1|0;t=t<<7|r[i>>0]&127}while((i|0)!=(s|0));if(t>>>0>(a-n|0)>>>0){e=70;break}}else{t=0;n=s}}else{t=0;n=u}o[f>>2]=n;o[c>>2]=t;n=n+t|0}t:do{if(!((e|0)!=(n|0)|(n|0)==(u|0))){t=r[e>>0]|0;switch(t&7){case 0:{e=e+1|0;n=(e|0)==(u|0);if(t<<24>>24<=-1)while(1){if(n){e=70;break e}t=e+1|0;n=(t|0)==(u|0);if((r[e>>0]|0)>-1){e=t;break}else e=t}if(n)break t;while(1){s=e;e=e+1|0;if((r[s>>0]|0)>-1)break t;if((e|0)==(u|0)){e=70;break e}}}case 2:break;default:{e=70;break e}}e=e+1|0;n=(e|0)==(u|0);if(t<<24>>24<=-1)while(1){if(n){e=70;break e}t=e+1|0;n=(t|0)==(u|0);if((r[e>>0]|0)>-1){e=t;break}else e=t}if(!n){n=e;while(1){s=n;n=n+1|0;if((r[s>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)!=(e|0)){t=0;i=n;do{i=i+-1|0;t=t<<7|r[i>>0]&127}while((i|0)!=(e|0));if(t>>>0>(a-n|0)>>>0){e=70;break e}else e=n+t|0}}}else e=n}while(0);if((e|0)==(u|0)){e=70;break}}if((e|0)==70)return}function We(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,o=0;if(e>>>0>127){i=1;while(1){i=i+1|0;if(e>>>0>16383)e=e>>>7;else break}}else i=1;if(t>>>0>127){o=t;e=1;while(1){e=e+1|0;if(o>>>0>16383)o=o>>>7;else break}}else e=1;return t+3+n+r+i+e|0}function Ye(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,f=0;r[i>>0]=e;a=i+2|0;r[i+1>>0]=8;if(t>>>0>127){f=a;while(1){a=f+1|0;r[f>>0]=t|128;e=t>>>7;if(t>>>0>16383){f=a;t=e}else break}}else e=t;r[a>>0]=e;e=a+2|0;r[a+1>>0]=18;if(n>>>0>127){t=n;while(1){f=e+1|0;r[e>>0]=t|128;a=t>>>7;if(t>>>0>16383){e=f;t=a}else{e=f;break}}}else a=n;f=e+1|0;r[e>>0]=a;o[s>>2]=f;return f+n-i|0}function Xe(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,f=0,c=0,u=0,l=0,d=0,h=0;c=i+n|0;n=t-c|0;u=e+n|0;l=s+4|0;o[l>>2]=0;d=s+12|0;o[d>>2]=0;h=s+16|0;o[h>>2]=0;if(c>>>0>t>>>0|(n|0)==0)return;r[s>>0]=r[e>>0]|0;e:do{if((n|0)==1)n=0;else{c=u;n=0;i=e+1|0;do{if((r[i>>0]|0)==8){a=i+1|0;if((a|0)!=(u|0)){n=a;while(1){f=n;n=n+1|0;if((r[f>>0]|0)>-1)break;if((n|0)==(u|0)){n=u;break}}if((n|0)==(a|0)){t=0;n=a}else{t=0;e=n;do{e=e+-1|0;t=t<<7|r[e>>0]&127}while((e|0)!=(a|0))}}else{t=0;n=u}o[l>>2]=t;t=n;n=1}else t=i;if((t|0)==(u|0))break e;if((r[t>>0]|0)==18){f=t+1|0;if((f|0)!=(u|0)){t=f;while(1){a=t;t=t+1|0;if((r[a>>0]|0)>-1)break;if((t|0)==(u|0)){t=u;break}}if((t|0)!=(f|0)){e=0;a=t;do{a=a+-1|0;e=e<<7|r[a>>0]&127}while((a|0)!=(f|0));if(e>>>0>(c-t|0)>>>0)break e}else{e=0;t=f}}else{e=0;t=u}o[d>>2]=t;o[h>>2]=e;t=t+e|0}t:do{if(!((i|0)!=(t|0)|(t|0)==(u|0))){e=r[i>>0]|0;switch(e&7){case 0:{i=i+1|0;t=(i|0)==(u|0);if(e<<24>>24<=-1)while(1){if(t)break e;e=i+1|0;t=(e|0)==(u|0);if((r[i>>0]|0)>-1){i=e;break}else i=e}if(t)break t;while(1){f=i;i=i+1|0;if((r[f>>0]|0)>-1)break t;if((i|0)==(u|0))break e}}case 2:break;default:break e}i=i+1|0;t=(i|0)==(u|0);if(e<<24>>24<=-1)while(1){if(t)break e;e=i+1|0;t=(e|0)==(u|0);if((r[i>>0]|0)>-1){i=e;break}else i=e}if(!t){t=i;while(1){f=t;t=t+1|0;if((r[f>>0]|0)>-1)break;if((t|0)==(u|0)){t=u;break}}if((t|0)!=(i|0)){e=0;a=t;do{a=a+-1|0;e=e<<7|r[a>>0]&127}while((a|0)!=(i|0));if(e>>>0>(c-t|0)>>>0)break e;else i=t+e|0}}}else i=t}while(0)}while((i|0)!=(u|0))}}while(0);o[s+8>>2]=n&255;return}function Je(e){e=e|0;mn(e,37520,37536);o[e+3216>>2]=0;r[e+3220>>0]=0;return}function Ze(e){e=e|0;return 64}function $e(e,t,n,i,s,a){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;var f=0,c=0,u=0,l=0,d=0;d=h;h=h+224|0;c=d+160|0;u=d+96|0;l=d;if(a>>>0<64){o[e+3216>>2]=1;l=-1;h=d;return l|0}else{pt(s,c);pt(s+32|0,u);t=t+96|0;r[e+3220>>0]=0;s=e+3221|0;a=t;f=s+32|0;do{r[s>>0]=r[a>>0]|0;s=s+1|0;a=a+1|0}while((s|0)<(f|0));s=e+3253|0;a=c;f=s+32|0;do{r[s>>0]=r[a>>0]|0;s=s+1|0;a=a+1|0}while((s|0)<(f|0));s=e+3285|0;a=i;f=s+32|0;do{r[s>>0]=r[a>>0]|0;s=s+1|0;a=a+1|0}while((s|0)<(f|0));gt(t,i,l);gt(c,n,l+32|0);gt(c,i,l+64|0);yn(e,l,96,u);Hr(c,64);Hr(u,64);Hr(l,96);l=0;h=d;return l|0}return 0}function et(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,f=0,c=0,u=0,l=0,d=0,p=0,g=0,m=0,_=0,y=0;y=h;h=h+208|0;p=y+128|0;g=y+96|0;m=y+168|0;_=y;Qe(p,i,s);f=(n|0)!=0;i=o[p+4>>2]|0;a=(i|0)!=0;s=f|a;if(i)s=s&(o[p+8>>2]|0)==32;l=o[p+28>>2]|0;u=o[p+12>>2]|0;d=o[p+20>>2]|0;if(!(s&(l|0)!=0&(u|0)!=0&(o[p+16>>2]|0)==32&(d|0)!=0&(o[p+24>>2]|0)==32)){o[e+3216>>2]=4;_=-1;h=y;return _|0}if(f&a?Fo(n,i,32)|0:0){o[e+3216>>2]=6;_=-1;h=y;return _|0}c=e+3221|0;n=c;a=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(a|0));f=e+3253|0;n=f;i=u;a=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(a|0));s=e+3285|0;n=s;i=d;a=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(a|0));p=o[p+32>>2]|0;i=o[e+4>>2]|0;ze(g,l,p,zs[o[o[i>>2]>>2]&1](i)|0);i=o[g+16>>2]|0;if((i|0)!=0?(o[g+20>>2]|0)==32:0){n=m;a=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(a|0));i=Rr(t,s)|0;if(!i){o[e+3216>>2]=6;i=-1}else{i=i+5|0;gt(i,c,_);gt(t+96|0,f,_+32|0);gt(i,f,_+64|0);_n(e,_,96,m);Hr(_,96);i=0}}else{o[e+3216>>2]=4;i=-1}_=i;h=y;return _|0}function tt(e){e=e|0;return 32}function nt(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,f=0;f=h;h=h+96|0;a=f;if(n>>>0<32){o[e+3216>>2]=2;a=-1;h=f;return a|0}else{n=a;i=e+3221|0;s=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(s|0));n=a+32|0;i=e+3253|0;s=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(s|0));n=a+64|0;i=e+3285|0;s=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(s|0));wt(a,96,t);a=32;h=f;return a|0}return 0}function rt(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0,a=0,f=0,c=0,u=0;u=h;h=h+48|0;c=u;Qe(c,n,r);f=(t|0)!=0;a=o[c+4>>2]|0;n=f|(a|0)!=0;r=(a|0)==0;if(!r)n=n&(o[c+8>>2]|0)==32;i=o[c+12>>2]|0;s=o[c+20>>2]|0;if(!(n&(o[c+28>>2]|0)!=0&(i|0)!=0&(o[c+16>>2]|0)==32&(s|0)!=0&(o[c+24>>2]|0)==32)){t=0;h=u;return t|0}if(r)n=1;else n=(Fo(a,e+3221|0,32)|0)==0;if(f){if(!n){t=0;h=u;return t|0}if(Fo(t,e+3221|0,32)|0){t=0;h=u;return t|0}}else if(!n){t=0;h=u;return t|0}if(Fo(i,e+3253|0,32)|0){t=0;h=u;return t|0}t=(Fo(s,e+3285|0,32)|0)==0;h=u;return t|0}function it(e){e=e|0;return s[e+3220>>0]|0|0}function ot(e,t){e=e|0;t=t|0;t=wn(e,t)|0;if(r[e+3220>>0]|0){e=t;return e|0}e=He(32,32,32,t)|0;return e|0}function st(e){e=e|0;return En(e)|0}function at(e,t,n,i,s,a,f){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;f=f|0;var c=0,u=0,l=0,d=0,p=0;p=h;h=h+16|0;d=p;c=wn(e,n)|0;u=e+3220|0;if(!(r[u>>0]|0))c=He(32,32,32,c)|0;if(c>>>0>f>>>0){o[e+3216>>2]=2;e=-1;h=p;return e|0}l=wn(e,n)|0;if(!(r[u>>0]|0)){Ve(d,3,32,32,32,l,a);a=o[d+8>>2]|0;c=e+3285|0;f=a+32|0;do{r[a>>0]=r[c>>0]|0;a=a+1|0;c=c+1|0}while((a|0)<(f|0));a=o[d>>2]|0;c=e+3221|0;f=a+32|0;do{r[a>>0]=r[c>>0]|0;a=a+1|0;c=c+1|0}while((a|0)<(f|0));a=o[d+4>>2]|0;c=e+3253|0;f=a+32|0;do{r[a>>0]=r[c>>0]|0;a=a+1|0;c=c+1|0}while((a|0)<(f|0));a=o[d+12>>2]|0}a=Sn(e,t,n,i,s,a,l)|0;if((a|0)!=-1){e=a;h=p;return e|0}s=e+8|0;o[e+3216>>2]=o[s>>2];o[s>>2]=0;e=-1;h=p;return e|0}function ft(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0;s=h;h=h+48|0;i=s;do{if((t|0)!=1){Qe(i,n,r);n=o[i+28>>2]|0;if(n|0){r=o[i+32>>2]|0;break}o[e+3216>>2]=4;e=-1;h=s;return e|0}}while(0);n=kn(e,n,r)|0;if((n|0)!=-1){e=n;h=s;return e|0}i=e+8|0;o[e+3216>>2]=o[i>>2];o[i>>2]=0;e=-1;h=s;return e|0}function ct(e,t,n,i,s,a){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;var f=0,c=0;c=h;h=h+48|0;f=c;do{if((t|0)!=1){Qe(f,n,i);n=o[f+28>>2]|0;if(n|0){i=o[f+32>>2]|0;break}o[e+3216>>2]=4;e=-1;h=c;return e|0}}while(0);n=In(e,n,i,s,a)|0;if((n|0)==-1){a=e+8|0;o[e+3216>>2]=o[a>>2];o[a>>2]=0;e=-1;h=c;return e|0}else{r[e+3220>>0]=1;e=n;h=c;return e|0}return 0}function ut(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,f=0,c=0,u=0,l=0,d=0,p=0,g=0;g=h;h=h+48|0;p=g+32|0;u=g+24|0;l=g+16|0;i=g;if(!n){h=g;return}r[t>>0]=0;c=t;o[i>>2]=o[e+112>>2];i=vs(t,n,38002,i)|0;i=(i|0)>0?t+i|0:t;d=c+n|0;a=vs(i,d-i|0,38026,g+8|0)|0;i=(a|0)>0?i+a|0:i;a=e+148|0;f=e+152|0;t=c-i+n|0;if((o[a>>2]|0)!=(f|0)){s=0;do{o[u>>2]=o[e+152+(s*68|0)+32>>2];t=vs(i,t,38073,u)|0;i=(t|0)>0?i+t|0:i;s=s+1|0;t=c-i+n|0}while(s>>>0<(((o[a>>2]|0)-f|0)/68|0)>>>0)}t=vs(i,t,38050,l)|0;a=e+492|0;f=e+496|0;if((o[a>>2]|0)==(f|0)){h=g;return}s=0;t=(t|0)>-1?i+t|0:i;while(1){o[p>>2]=o[e+496+(s*68|0)+32>>2];i=vs(t,d-t|0,38073,p)|0;s=s+1|0;if(s>>>0>=(((o[a>>2]|0)-f|0)/68|0)>>>0)break;else t=(i|0)>0?t+i|0:t}h=g;return}function lt(e){e=e|0;var t=0;t=(Se(e+3221|0)|0)+5|0;t=t+(Se(e+3253|0)|0)|0;t=t+(Se(e+3285|0)|0)|0;return t+(bn(e)|0)|0}function dt(e,t){e=e|0;t=t|0;e=ye(e,1)|0;return vn(ke(ke(ke(ve(e,(r[t+3220>>0]|0)!=0)|0,t+3221|0)|0,t+3253|0)|0,t+3285|0)|0,t)|0}function ht(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0;s=h;h=h+16|0;r=s;i=be(e,t,r)|0;e=o[r>>2]|0;e:do{if((e|0)<1){switch(e|0){case-2147483647:break;default:{r=3;break e}}e=1;r=4}else switch(e|0){case 1:{e=0;r=4;break}default:r=3}}while(0);if((r|0)==3){o[n+3216>>2]=9;n=t;h=s;return n|0}else if((r|0)==4){n=An(Ie(Ie(Ie(Ae(i,t,n+3220|0)|0,t,n+3221|0)|0,t,n+3253|0)|0,t,n+3285|0)|0,t,n,e)|0;h=s;return n|0}return 0}function pt(e,t){e=e|0;t=t|0;var n=0,i=0,o=0;i=t+32|0;o=i;n=o+32|0;do{r[o>>0]=r[e>>0]|0;o=o+1|0;e=e+1|0}while((o|0)<(n|0));Mo(t,i,208)|0;return}function gt(e,t,n){e=e|0;t=t|0;n=n|0;Mo(n,e+32|0,t)|0;return}function mt(e,t){e=e|0;t=t|0;hi(t,t+32|0,e);return}function _t(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;yi(r,t,n,e,e+32|0);return}function yt(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;return(_i(r,t,n,e)|0)!=0|0}function bt(e){e=e|0;return e+16-(e&15)|0}function vt(e,t,n,i,o){e=e|0;t=t|0;n=n|0;i=i|0;o=o|0;var a=0,f=0,c=0,u=0,l=0,d=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,I=0,R=0,T=0,O=0,C=0,x=0;x=h;h=h+256|0;O=x+16|0;C=x;Oo(e,O,256);R=C;S=R+16|0;do{r[R>>0]=r[t>>0]|0;R=R+1|0;t=t+1|0}while((R|0)<(S|0));if(i>>>0>15){A=C+1|0;w=C+2|0;a=C+3|0;f=C+4|0;c=C+5|0;u=C+6|0;l=C+7|0;d=C+8|0;p=C+9|0;g=C+10|0;m=C+11|0;_=C+12|0;y=C+13|0;b=C+14|0;v=C+15|0;k=i+-16|0;I=k&-16;T=I+16|0;E=o+T|0;e=i;i=n;while(1){r[C>>0]=r[C>>0]^r[i>>0];r[A>>0]=r[A>>0]^r[i+1>>0];r[w>>0]=r[w>>0]^r[i+2>>0];r[a>>0]=r[a>>0]^r[i+3>>0];r[f>>0]=r[f>>0]^r[i+4>>0];r[c>>0]=r[c>>0]^r[i+5>>0];r[u>>0]=r[u>>0]^r[i+6>>0];r[l>>0]=r[l>>0]^r[i+7>>0];r[d>>0]=r[d>>0]^r[i+8>>0];r[p>>0]=r[p>>0]^r[i+9>>0];r[g>>0]=r[g>>0]^r[i+10>>0];r[m>>0]=r[m>>0]^r[i+11>>0];r[_>>0]=r[_>>0]^r[i+12>>0];r[y>>0]=r[y>>0]^r[i+13>>0];r[b>>0]=r[b>>0]^r[i+14>>0];r[v>>0]=r[v>>0]^r[i+15>>0];Ro(C,o,O,256);R=C;t=o;S=R+16|0;do{r[R>>0]=r[t>>0]|0;R=R+1|0;t=t+1|0}while((R|0)<(S|0));e=e+-16|0;if(e>>>0<=15)break;else{o=o+16|0;i=i+16|0}}o=E;t=k-I|0;n=n+T|0}else t=i;if(t){e=0;do{T=C+e|0;r[T>>0]=r[T>>0]^r[n+e>>0];e=e+1|0}while((e|0)!=(t|0));if(t>>>0<16)n=t;else{Ro(C,o,O,256);Hr(O,240);Hr(C,16);h=x;return}}else n=0;e=16-t|0;do{T=C+n|0;r[T>>0]=e^(s[T>>0]|0);n=n+1|0}while((n|0)!=16);Ro(C,o,O,256);Hr(O,240);Hr(C,16);h=x;return}function At(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,f=0,c=0,u=0,l=0,d=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,I=0,R=0,T=0,O=0;O=h;h=h+272|0;I=O+32|0;R=O+16|0;T=O;Oo(e,I,256);k=R;S=k+16|0;do{r[k>>0]=r[t>>0]|0;k=k+1|0;t=t+1|0}while((k|0)<(S|0));if(!i){Hr(I,240);Hr(R,16);Hr(T,16);T=i+-1|0;T=s+T|0;T=r[T>>0]|0;T=T&255;R=T>>>0>i>>>0;T=i-T|0;T=R?-1:T;h=O;return T|0}E=R+1|0;a=R+2|0;f=R+3|0;c=R+4|0;u=R+5|0;l=R+6|0;d=R+7|0;p=R+8|0;g=R+9|0;m=R+10|0;_=R+11|0;y=R+12|0;b=R+13|0;v=R+14|0;A=R+15|0;e=0;do{w=n+e|0;k=T;t=w;S=k+16|0;do{r[k>>0]=r[t>>0]|0;k=k+1|0;t=t+1|0}while((k|0)<(S|0));k=s+e|0;xo(w,k,I,256);r[k>>0]=r[k>>0]^r[R>>0];S=k+1|0;r[S>>0]=r[S>>0]^r[E>>0];S=k+2|0;r[S>>0]=r[S>>0]^r[a>>0];S=k+3|0;r[S>>0]=r[S>>0]^r[f>>0];S=k+4|0;r[S>>0]=r[S>>0]^r[c>>0];S=k+5|0;r[S>>0]=r[S>>0]^r[u>>0];S=k+6|0;r[S>>0]=r[S>>0]^r[l>>0];S=k+7|0;r[S>>0]=r[S>>0]^r[d>>0];S=k+8|0;r[S>>0]=r[S>>0]^r[p>>0];S=k+9|0;r[S>>0]=r[S>>0]^r[g>>0];S=k+10|0;r[S>>0]=r[S>>0]^r[m>>0];S=k+11|0;r[S>>0]=r[S>>0]^r[_>>0];S=k+12|0;r[S>>0]=r[S>>0]^r[y>>0];S=k+13|0;r[S>>0]=r[S>>0]^r[b>>0];S=k+14|0;r[S>>0]=r[S>>0]^r[v>>0];k=k+15|0;r[k>>0]=r[k>>0]^r[A>>0];o[R>>2]=o[T>>2];o[R+4>>2]=o[T+4>>2];o[R+8>>2]=o[T+8>>2];o[R+12>>2]=o[T+12>>2];e=e+16|0}while(e>>>0<i>>>0);Hr(I,240);Hr(R,16);Hr(T,16);T=i+-1|0;T=s+T|0;T=r[T>>0]|0;T=T&255;R=T>>>0>i>>>0;T=i-T|0;T=R?-1:T;h=O;return T|0}function wt(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0;r=h;h=h+112|0;i=r;So(i);ko(i,e,t);Io(i,n);Hr(i,112);h=r;return}function Et(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,f=0,c=0,u=0,l=0;u=h;h=h+288|0;s=u+176|0;a=u;f=u+64|0;c=a;l=c+64|0;do{o[c>>2]=0;c=c+4|0}while((c|0)<(l|0));if(t>>>0>64){So(s);ko(s,e,t);Io(s,a)}else Ps(a|0,e|0,t|0)|0;St(f,a);ko(f,n,r);kt(f,a,i);Hr(a,64);Hr(f,112);h=u;return}function St(e,t){e=e|0;t=t|0;var n=0,i=0,o=0,s=0;s=h;h=h+64|0;i=s;o=i;n=o+64|0;do{r[o>>0]=r[t>>0]|0;o=o+1|0;t=t+1|0}while((o|0)<(n|0));r[i>>0]=r[i>>0]^54;o=i+1|0;r[o>>0]=r[o>>0]^54;o=i+2|0;r[o>>0]=r[o>>0]^54;o=i+3|0;r[o>>0]=r[o>>0]^54;o=i+4|0;r[o>>0]=r[o>>0]^54;o=i+5|0;r[o>>0]=r[o>>0]^54;o=i+6|0;r[o>>0]=r[o>>0]^54;o=i+7|0;r[o>>0]=r[o>>0]^54;o=i+8|0;r[o>>0]=r[o>>0]^54;o=i+9|0;r[o>>0]=r[o>>0]^54;o=i+10|0;r[o>>0]=r[o>>0]^54;o=i+11|0;r[o>>0]=r[o>>0]^54;o=i+12|0;r[o>>0]=r[o>>0]^54;o=i+13|0;r[o>>0]=r[o>>0]^54;o=i+14|0;r[o>>0]=r[o>>0]^54;o=i+15|0;r[o>>0]=r[o>>0]^54;o=i+16|0;r[o>>0]=r[o>>0]^54;o=i+17|0;r[o>>0]=r[o>>0]^54;o=i+18|0;r[o>>0]=r[o>>0]^54;o=i+19|0;r[o>>0]=r[o>>0]^54;o=i+20|0;r[o>>0]=r[o>>0]^54;o=i+21|0;r[o>>0]=r[o>>0]^54;o=i+22|0;r[o>>0]=r[o>>0]^54;o=i+23|0;r[o>>0]=r[o>>0]^54;o=i+24|0;r[o>>0]=r[o>>0]^54;o=i+25|0;r[o>>0]=r[o>>0]^54;o=i+26|0;r[o>>0]=r[o>>0]^54;o=i+27|0;r[o>>0]=r[o>>0]^54;o=i+28|0;r[o>>0]=r[o>>0]^54;o=i+29|0;r[o>>0]=r[o>>0]^54;o=i+30|0;r[o>>0]=r[o>>0]^54;o=i+31|0;r[o>>0]=r[o>>0]^54;o=i+32|0;r[o>>0]=r[o>>0]^54;o=i+33|0;r[o>>0]=r[o>>0]^54;o=i+34|0;r[o>>0]=r[o>>0]^54;o=i+35|0;r[o>>0]=r[o>>0]^54;o=i+36|0;r[o>>0]=r[o>>0]^54;o=i+37|0;r[o>>0]=r[o>>0]^54;o=i+38|0;r[o>>0]=r[o>>0]^54;o=i+39|0;r[o>>0]=r[o>>0]^54;o=i+40|0;r[o>>0]=r[o>>0]^54;o=i+41|0;r[o>>0]=r[o>>0]^54;o=i+42|0;r[o>>0]=r[o>>0]^54;o=i+43|0;r[o>>0]=r[o>>0]^54;o=i+44|0;r[o>>0]=r[o>>0]^54;o=i+45|0;r[o>>0]=r[o>>0]^54;o=i+46|0;r[o>>0]=r[o>>0]^54;o=i+47|0;r[o>>0]=r[o>>0]^54;o=i+48|0;r[o>>0]=r[o>>0]^54;o=i+49|0;r[o>>0]=r[o>>0]^54;o=i+50|0;r[o>>0]=r[o>>0]^54;o=i+51|0;r[o>>0]=r[o>>0]^54;o=i+52|0;r[o>>0]=r[o>>0]^54;o=i+53|0;r[o>>0]=r[o>>0]^54;o=i+54|0;r[o>>0]=r[o>>0]^54;o=i+55|0;r[o>>0]=r[o>>0]^54;o=i+56|0;r[o>>0]=r[o>>0]^54;o=i+57|0;r[o>>0]=r[o>>0]^54;o=i+58|0;r[o>>0]=r[o>>0]^54;o=i+59|0;r[o>>0]=r[o>>0]^54;o=i+60|0;r[o>>0]=r[o>>0]^54;o=i+61|0;r[o>>0]=r[o>>0]^54;o=i+62|0;r[o>>0]=r[o>>0]^54;o=i+63|0;r[o>>0]=r[o>>0]^54;So(e);ko(e,i,64);Hr(i,64);h=s;return}function kt(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0,a=0,f=0;f=h;h=h+208|0;o=f;s=f+96|0;a=o;i=a+64|0;do{r[a>>0]=r[t>>0]|0;a=a+1|0;t=t+1|0}while((a|0)<(i|0));r[o>>0]=r[o>>0]^92;a=o+1|0;r[a>>0]=r[a>>0]^92;a=o+2|0;r[a>>0]=r[a>>0]^92;a=o+3|0;r[a>>0]=r[a>>0]^92;a=o+4|0;r[a>>0]=r[a>>0]^92;a=o+5|0;r[a>>0]=r[a>>0]^92;a=o+6|0;r[a>>0]=r[a>>0]^92;a=o+7|0;r[a>>0]=r[a>>0]^92;a=o+8|0;r[a>>0]=r[a>>0]^92;a=o+9|0;r[a>>0]=r[a>>0]^92;a=o+10|0;r[a>>0]=r[a>>0]^92;a=o+11|0;r[a>>0]=r[a>>0]^92;a=o+12|0;r[a>>0]=r[a>>0]^92;a=o+13|0;r[a>>0]=r[a>>0]^92;a=o+14|0;r[a>>0]=r[a>>0]^92;a=o+15|0;r[a>>0]=r[a>>0]^92;a=o+16|0;r[a>>0]=r[a>>0]^92;a=o+17|0;r[a>>0]=r[a>>0]^92;a=o+18|0;r[a>>0]=r[a>>0]^92;a=o+19|0;r[a>>0]=r[a>>0]^92;a=o+20|0;r[a>>0]=r[a>>0]^92;a=o+21|0;r[a>>0]=r[a>>0]^92;a=o+22|0;r[a>>0]=r[a>>0]^92;a=o+23|0;r[a>>0]=r[a>>0]^92;a=o+24|0;r[a>>0]=r[a>>0]^92;a=o+25|0;r[a>>0]=r[a>>0]^92;a=o+26|0;r[a>>0]=r[a>>0]^92;a=o+27|0;r[a>>0]=r[a>>0]^92;a=o+28|0;r[a>>0]=r[a>>0]^92;a=o+29|0;r[a>>0]=r[a>>0]^92;a=o+30|0;r[a>>0]=r[a>>0]^92;a=o+31|0;r[a>>0]=r[a>>0]^92;a=o+32|0;r[a>>0]=r[a>>0]^92;a=o+33|0;r[a>>0]=r[a>>0]^92;a=o+34|0;r[a>>0]=r[a>>0]^92;a=o+35|0;r[a>>0]=r[a>>0]^92;a=o+36|0;r[a>>0]=r[a>>0]^92;a=o+37|0;r[a>>0]=r[a>>0]^92;a=o+38|0;r[a>>0]=r[a>>0]^92;a=o+39|0;r[a>>0]=r[a>>0]^92;a=o+40|0;r[a>>0]=r[a>>0]^92;a=o+41|0;r[a>>0]=r[a>>0]^92;a=o+42|0;r[a>>0]=r[a>>0]^92;a=o+43|0;r[a>>0]=r[a>>0]^92;a=o+44|0;r[a>>0]=r[a>>0]^92;a=o+45|0;r[a>>0]=r[a>>0]^92;a=o+46|0;r[a>>0]=r[a>>0]^92;a=o+47|0;r[a>>0]=r[a>>0]^92;a=o+48|0;r[a>>0]=r[a>>0]^92;a=o+49|0;r[a>>0]=r[a>>0]^92;a=o+50|0;r[a>>0]=r[a>>0]^92;a=o+51|0;r[a>>0]=r[a>>0]^92;a=o+52|0;r[a>>0]=r[a>>0]^92;a=o+53|0;r[a>>0]=r[a>>0]^92;a=o+54|0;r[a>>0]=r[a>>0]^92;a=o+55|0;r[a>>0]=r[a>>0]^92;a=o+56|0;r[a>>0]=r[a>>0]^92;a=o+57|0;r[a>>0]=r[a>>0]^92;a=o+58|0;r[a>>0]=r[a>>0]^92;a=o+59|0;r[a>>0]=r[a>>0]^92;a=o+60|0;r[a>>0]=r[a>>0]^92;a=o+61|0;r[a>>0]=r[a>>0]^92;a=o+62|0;r[a>>0]=r[a>>0]^92;a=o+63|0;r[a>>0]=r[a>>0]^92;Io(e,o+64|0);So(s);ko(s,o,96);Io(s,n);Hr(s,112);Hr(o,96);h=f;return}function It(e,t,n,i,s,a,f,c){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;f=f|0;c=c|0;var u=0,l=0,d=0,p=0,g=0,m=0,_=0,y=0,b=0;b=h;h=h+336|0;l=b+208|0;y=b+96|0;g=b+32|0;m=b;_=b+320|0;r[_>>0]=1;d=(n|0)==0;u=d?32:i;i=d?38496:n;d=g;p=d+64|0;do{o[d>>2]=0;d=d+4|0}while((d|0)<(p|0));if(u>>>0>64){So(l);ko(l,i,u);Io(l,g)}else Ps(g|0,i|0,u|0)|0;St(y,g);ko(y,e,t);kt(y,g,m);p=g+32|0;o[p>>2]=0;o[p+4>>2]=0;o[p+8>>2]=0;o[p+12>>2]=0;o[p+16>>2]=0;o[p+20>>2]=0;o[p+24>>2]=0;o[p+28>>2]=0;o[g>>2]=o[m>>2];o[g+4>>2]=o[m+4>>2];o[g+8>>2]=o[m+8>>2];o[g+12>>2]=o[m+12>>2];o[g+16>>2]=o[m+16>>2];o[g+20>>2]=o[m+20>>2];o[g+24>>2]=o[m+24>>2];o[g+28>>2]=o[m+28>>2];St(y,g);ko(y,s,a);ko(y,_,1);kt(y,g,m);if(c>>>0<=32){a=c;Ps(f|0,m|0,a|0)|0;Hr(y,112);Hr(g,64);Hr(m,32);h=b;return}e=c+-33&-32;t=e+32|0;l=c+-32|0;u=f;i=c;while(1){d=u;n=m;p=d+32|0;do{r[d>>0]=r[n>>0]|0;d=d+1|0;n=n+1|0}while((d|0)<(p|0));i=i+-32|0;r[_>>0]=(r[_>>0]|0)+1<<24>>24;St(y,g);ko(y,m,32);ko(y,s,a);ko(y,_,1);kt(y,g,m);if(i>>>0<=32)break;else u=u+32|0}a=l-e|0;f=f+t|0;Ps(f|0,m|0,a|0)|0;Hr(y,112);Hr(g,64);Hr(m,32);h=b;return}function Rt(e){e=e|0;return ki(o[e>>2]|0)|0}function Tt(){return 36}function Ot(e){e=e|0;Hr(e,36);return e|0}function Ct(e){e=e|0;var t=0;Hr(e,36);t=e+36|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));return 36}function xt(e,t,n){e=e|0;t=t|0;n=n|0;if((ue(32)|0)>>>0>n>>>0){o[e>>2]=15;n=-1;return n|0}else{he(t,ue(32)|0,e+4|0)|0;n=0;return n|0}return 0}function Mt(){return ue(32)|0}function Pt(e,t){e=e|0;t=t|0;return ue(Hs[o[37564>>2]&3](37548,t)|0)|0}function Dt(e){e=e|0;return ue(zs[o[9390]&1](37548)|0)|0}function Bt(e){e=e|0;return 32}function Nt(e,t,n,r,i,s,a,f,c,u,l){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;f=f|0;c=c|0;u=u|0;l=l|0;var d=0,p=0,g=0,m=0;m=h;h=h+112|0;d=m+40|0;p=m;g=m+32|0;if(((ue(Hs[o[37564>>2]&3](37548,n)|0)|0)>>>0<=i>>>0?(zs[o[9390]&1](37548)|0)>>>0<=a>>>0:0)?(ue(32)|0)>>>0<=c>>>0:0){if(l>>>0<32){o[e>>2]=1;s=-1;h=m;return s|0}pt(u,d);le(d,32,f)|0;gt(d,e+4|0,p);d=Hs[o[37564>>2]&3](37548,n)|0;l=r+i+(0-d)|0;e=Qs[o[37568>>2]&3](37548,p,32,t,n,l,d,g,8)|0;if((e|0)!=-1){le(g,8,s)|0;le(l,d,r)|0}s=e;h=m;return s|0}o[e>>2]=2;s=-1;h=m;return s|0}function jt(e){e=e|0;return ki(o[e>>2]|0)|0}function Ut(){return 68}function Lt(e){e=e|0;Hr(e,68);return e|0}function qt(e){e=e|0;var t=0;Hr(e,68);t=e+68|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));return 68}function Ft(){return 32}function Kt(){return 32}function Gt(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if((ue(32)|0)>>>0>n>>>0){o[e>>2]=2;i=-1;return i|0}if(i>>>0<32){o[e>>2]=15;i=-1;return i|0}else{i=e+4|0;pt(r,i);le(i,32,t)|0;i=0;return i|0}return 0}function zt(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if((ue(32)|0)>>>0>n>>>0){o[e>>2]=2;i=-1;return i|0}if(i>>>0<32){o[e>>2]=15;i=-1;return i|0}else{i=e+4|0;pt(r,i);le(i,32,t)|0;i=0;return i|0}return 0}function Ht(e){e=e|0;return Ii((Re(e+4|0)|0)+4|0)|0}function Vt(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0;s=e+4|0;a=(Re(s)|0)+4|0;if((Ii(a)|0)>>>0>i>>>0){o[e>>2]=2;a=-1;return a|0}else{Te(ye(Ri(r,a)|0,1)|0,s)|0;a=Ti(t,n,r,a)|0;return a|0}return 0}function Qt(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var f=0,c=0,u=0,l=0;l=h;h=h+16|0;c=l;u=(s|0)!=0;if(u?(ue(32)|0)>>>0>a>>>0:0){o[e>>2]=2;i=-1}else f=4;do{if((f|0)==4){t=Oi(t,n,r,i,e)|0;if((t|0)!=-1){a=r+t|0;t=a+1|0;n=be(r,t,c)|0;if((o[c>>2]|0)==1)t=Oe(n,t,e+4|0)|0;else o[e>>2]=9;if((a|0)==(t|0)){if(!u)break;le(e+4|0,32,s)|0;break}else{if(o[e>>2]|0){i=-1;break}o[e>>2]=10;i=-1;break}}else i=-1}}while(0);h=l;return i|0}function Wt(e,t){e=e|0;t=t|0;e=o[9393]|0;t=de(t)|0;return Hs[e&3](37548,t)|0}function Yt(e,t,n,r,i,s,a,f,c){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;f=f|0;c=c|0;var u=0,l=0,d=0,p=0,g=0;d=h;h=h+80|0;l=d+40|0;i=d;u=d+32|0;g=o[9393]|0;p=de(a)|0;if((Hs[g&3](37548,p)|0)>>>0>c>>>0){o[e>>2]=2;g=-1;h=d;return g|0}he(t,n,l)|0;gt(e+4|0,l,i);he(r,ue(8)|0,u)|0;g=de(a)|0;he(s,a,s)|0;i=Qs[o[37576>>2]&3](37548,i,32,u,8,s,g,f,c)|0;if((i|0)==-1){o[e>>2]=5;i=-1}g=i;h=d;return g|0}function Xt(e,t,n){e=e|0;t=t|0;n=n|0;if(n>>>0<32){o[e>>2]=2;e=-1;return e|0}else{n=e+36|0;e=t+32|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(e|0));e=32;return e|0}return 0}function Jt(){return 100}function Zt(e){e=e|0;Hr(e,100);return e|0}function $t(e){e=e|0;return ki(o[e>>2]|0)|0}function en(e){e=e|0;var t=0;Hr(e,100);t=e+100|0;do{o[e>>2]=0;e=e+4|0}while((e|0)<(t|0));return 100}function tn(){return 32}function nn(){return ue(32)|0}function rn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if((ue(32)|0)>>>0>n>>>0){o[e>>2]=2;i=-1;return i|0}if(i>>>0<32){o[e>>2]=15;i=-1;return i|0}else{i=e+4|0;mt(r,i);le(i,32,t)|0;i=0;return i|0}return 0}function on(){return ue(64)|0}function sn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if((ue(64)|0)>>>0>i>>>0){o[e>>2]=2;i=-1;return i|0}else{i=r+(ue(64)|0)+-64|0;_t(e+4|0,t,n,i);le(i,64,r)|0;i=ue(64)|0;return i|0}return 0}function an(e){e=e|0;return 8}function fn(e,t){e=e|0;t=t|0;return bt(t)|0}function cn(e,t,n,i,s,a,f,c,u){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;f=f|0;c=c|0;u=u|0;var l=0,d=0,p=0,g=0;g=h;h=h+192|0;p=g+32|0;l=g+112|0;d=g;if(u>>>0<8|(bt(s)|0)>>>0>f>>>0){p=-1;h=g;return p|0}It(t,n,0,0,o[e+4>>2]|0,o[e+8>>2]|0,p,80);t=l;n=p;f=t+32|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(f|0));e=l+32|0;t=e;n=p+32|0;f=t+32|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(f|0));t=l+64|0;n=p+64|0;f=t+16|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(f|0));Hr(p,80);vt(l,l+64|0,i,s,a);Et(e,32,c,u+-8|0,d);a=d;s=o[a>>2]|0;a=o[a+4>>2]|0;p=c+u+-8|0;c=p;r[c>>0]=s;r[c+1>>0]=s>>8;r[c+2>>0]=s>>16;r[c+3>>0]=s>>24;p=p+4|0;r[p>>0]=a;r[p+1>>0]=a>>8;r[p+2>>0]=a>>16;r[p+3>>0]=a>>24;Hr(l,80);p=u;h=g;return p|0}function un(e,t){e=e|0;t=t|0;return t|0}function ln(e,t,n,i,s,a,f,c,u){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;f=f|0;c=c|0;u=u|0;var l=0,d=0,p=0,g=0;g=h;h=h+192|0;p=g+32|0;l=g+112|0;d=g;if(s>>>0<8|f>>>0>u>>>0){p=-1;h=g;return p|0}It(t,n,0,0,o[e+4>>2]|0,o[e+8>>2]|0,p,80);t=l;n=p;u=t+32|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(u|0));e=l+32|0;t=e;n=p+32|0;u=t+32|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(u|0));t=l+64|0;n=p+64|0;u=t+16|0;do{r[t>>0]=r[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(u|0));Hr(p,80);Et(e,32,i,s+-8|0,d);if(Vr(i+s+-8|0,d,8)|0){e=At(l,l+64|0,a,f,c)|0;Hr(l,80)}else{Hr(l,80);e=-1}p=e;h=g;return p|0}function dn(e){e=e|0;o[e>>2]=0;return}function hn(e){e=e|0;return 32}function pn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if(i>>>0<32){o[e>>2]=2;i=-1;return i|0}else{wt(t,n,r);i=32;return i|0}return 0}function gn(e,t,n,r,i,s){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;if(s>>>0>=64?yt(t,n,r,i)|0:0){s=0;return s|0}o[e>>2]=5;s=-1;return s|0}function mn(e,t,n){e=e|0;t=t|0;n=n|0;o[e>>2]=t;o[e+4>>2]=n;o[e+8>>2]=0;o[e+44>>2]=e+48;o[e+148>>2]=e+152;o[e+492>>2]=e+496;return}function _n(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,f=0,c=0,u=0,l=0;l=h;h=h+64|0;u=l;c=o[e>>2]|0;It(t,n,0,0,o[c>>2]|0,o[c+4>>2]|0,u,64);c=e+152|0;t=e+148|0;n=o[t>>2]|0;if((n|0)==(e+492|0)){f=(n|0)==(c|0)?e+84|0:c;t=n}else{a=n+68|0;o[t>>2]=a;f=c;t=a}t=t+-68|0;if((t|0)!=(f|0))do{n=t;t=t+-68|0;s=t;a=n+68|0;do{o[n>>2]=o[s>>2];n=n+4|0;s=s+4|0}while((n|0)<(a|0))}while((t|0)!=(f|0));o[e+184>>2]=0;n=e+12|0;s=u;a=n+32|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));n=e+188|0;s=u+32|0;a=n+32|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));n=c;s=i;a=n+32|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));Hr(u,64);h=l;return}function yn(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,f=0,c=0,u=0,l=0;l=h;h=h+64|0;u=l;c=o[e>>2]|0;It(t,n,0,0,o[c>>2]|0,o[c+4>>2]|0,u,64);c=e+48|0;t=e+44|0;n=o[t>>2]|0;if((n|0)==(e+148|0)){f=(n|0)==(c|0)?e+-52|0:c;t=n}else{a=n+100|0;o[t>>2]=a;f=c;t=a}t=t+-100|0;if((t|0)!=(f|0))do{n=t;t=t+-100|0;s=t;a=n+100|0;do{o[n>>2]=o[s>>2];n=n+4|0;s=s+4|0}while((n|0)<(a|0))}while((t|0)!=(f|0));o[e+112>>2]=0;n=e+12|0;s=u;a=n+32|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));n=e+116|0;s=u+32|0;a=n+32|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));n=c;s=i;a=n+64|0;do{r[n>>0]=r[s>>0]|0;n=n+1|0;s=s+1|0}while((n|0)<(a|0));Hr(u,64);h=l;return}function bn(e){e=e|0;var t=0,n=0,r=0,i=0;t=e+48|0;r=o[e+44>>2]|0;if((t|0)==(r|0))i=36;else{n=4;do{n=n+36+(Re(t)|0)|0;t=t+100|0}while((t|0)!=(r|0));i=n+32|0}t=e+152|0;r=o[e+148>>2]|0;if((t|0)==(r|0))t=4;else{n=t;t=4;do{t=t+36+(Se(n)|0)|0;n=n+68|0}while((n|0)!=(r|0))}i=i+t|0;t=e+496|0;r=o[e+492>>2]|0;if((t|0)==(r|0)){e=4;e=i+e|0;return e|0}n=t;t=4;do{t=t+36+(Se(n)|0)|0;n=n+68|0}while((n|0)!=(r|0));e=i+t|0;return e|0}function vn(e,t){e=e|0;t=t|0;var n=0,r=0;e=we(e,t+12|0,32)|0;r=t+44|0;n=t+48|0;e=ye(e,((o[r>>2]|0)-n|0)/100|0)|0;r=o[r>>2]|0;if((n|0)!=(r|0))do{e=we(Te(e,n)|0,n+68|0,32)|0;e=ye(e,o[n+64>>2]|0)|0;n=n+100|0}while((n|0)!=(r|0));r=t+148|0;n=t+152|0;e=ye(e,((o[r>>2]|0)-n|0)/68|0)|0;r=o[r>>2]|0;if((n|0)!=(r|0))do{e=we(ke(e,n)|0,n+36|0,32)|0;e=ye(e,o[n+32>>2]|0)|0;n=n+68|0}while((n|0)!=(r|0));r=t+492|0;n=t+496|0;e=ye(e,((o[r>>2]|0)-n|0)/68|0)|0;r=o[r>>2]|0;if((n|0)==(r|0)){t=e;return t|0}do{e=we(ke(e,n)|0,n+36|0,32)|0;e=ye(e,o[n+32>>2]|0)|0;n=n+68|0}while((n|0)!=(r|0));return e|0}function An(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0,a=0,f=0,c=0,u=0;u=h;h=h+16|0;c=u;e=be(Ee(e,t,n+12|0,32)|0,t,c)|0;f=o[c>>2]|0;o[c>>2]=f+-1;if(!((e|0)==(t|0)|(f|0)==0)){s=n+44|0;a=n+148|0;f=n+48|0;do{i=o[s>>2]|0;if((i|0)==(a|0))i=f;else o[s>>2]=i+100;e=be(Ee(Oe(e,t,i)|0,t,i+68|0,32)|0,t,i+64|0)|0;i=o[c>>2]|0;o[c>>2]=i+-1}while(!((e|0)==(t|0)|(i|0)==0))}e=be(e,t,c)|0;f=o[c>>2]|0;o[c>>2]=f+-1;if(!((e|0)==(t|0)|(f|0)==0)){s=n+148|0;a=n+492|0;f=n+424|0;do{i=o[s>>2]|0;if((i|0)==(a|0))i=f;else o[s>>2]=i+68;e=be(Ee(Ie(e,t,i)|0,t,i+36|0,32)|0,t,i+32|0)|0;i=o[c>>2]|0;o[c>>2]=i+-1}while(!((e|0)==(t|0)|(i|0)==0))}e=be(e,t,c)|0;f=o[c>>2]|0;o[c>>2]=f+-1;if(!((e|0)==(t|0)|(f|0)==0)){a=n+492|0;f=n+3216|0;s=n+3148|0;do{i=o[a>>2]|0;if((i|0)==(f|0))i=s;else o[a>>2]=i+68;e=be(Ee(Ie(e,t,i)|0,t,i+36|0,32)|0,t,i+32|0)|0;n=o[c>>2]|0;o[c>>2]=n+-1}while(!((e|0)==(t|0)|(n|0)==0))}if(!r){c=e;h=u;return c|0}c=be(e,t,c)|0;h=u;return c|0}function wn(e,t){e=e|0;t=t|0;var n=0,r=0;if((o[e+44>>2]|0)==(e+48|0))n=0;else n=o[e+112>>2]|0;r=e+4|0;e=o[r>>2]|0;e=Hs[o[(o[e>>2]|0)+4>>2]&3](e,t)|0;t=o[r>>2]|0;return Ke(n,32,e,zs[o[o[t>>2]>>2]&1](t)|0)|0}function En(e){e=e|0;return((o[e+44>>2]|0)==(e+48|0)?32:0)|0}function Sn(e,t,n,i,s,a,f){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;f=f|0;var c=0,u=0,l=0,d=0,p=0,g=0,m=0,_=0,y=0;_=h;h=h+112|0;g=_+64|0;m=_;u=e+44|0;d=e+48|0;if((o[u>>2]|0)==(d|0))c=0;else c=o[e+112>>2]|0;p=e+4|0;y=o[p>>2]|0;y=Hs[o[(o[y>>2]|0)+4>>2]&3](y,n)|0;l=o[p>>2]|0;l=Ke(c,32,y,zs[o[o[l>>2]>>2]&1](l)|0)|0;c=(o[u>>2]|0)==(d|0);if((c?32:0)>>>0>s>>>0){o[e+8>>2]=1;y=-1;h=_;return y|0}if(l>>>0>f>>>0){o[e+8>>2]=2;y=-1;h=_;return y|0}if(c){o[u>>2]=e+148;pt(i,d);f=o[e>>2]|0;gt(d,e+152|0,g);i=e+12|0;It(g,32,i,32,o[f+8>>2]|0,o[f+12>>2]|0,m,64);f=m;u=i+32|0;do{r[i>>0]=r[f>>0]|0;i=i+1|0;f=f+1|0}while((i|0)<(u|0));c=e+116|0;i=c;f=m+32|0;u=i+32|0;do{r[i>>0]=r[f>>0]|0;i=i+1|0;f=f+1|0}while((i|0)<(u|0));i=e+112|0;o[i>>2]=0;Hr(m,64);Hr(g,32)}else{i=e+112|0;c=e+116|0}s=g+4|0;Et(c,32,38077,1,s);o[g>>2]=o[i>>2];Et(c,32,38078,1,c);o[i>>2]=(o[i>>2]|0)+1;c=o[p>>2]|0;c=Hs[o[(o[c>>2]|0)+4>>2]&3](c,n)|0;Ge(m,3,o[g>>2]|0,32,c,a);i=o[m>>2]|0;f=d;u=i+32|0;do{r[i>>0]=r[f>>0]|0;i=i+1|0;f=f+1|0}while((i|0)<(u|0));y=o[p>>2]|0;Qs[o[(o[y>>2]|0)+8>>2]&3](y,s,32,t,n,o[m+4>>2]|0,c,a,l)|0;Hr(g,36);y=l;h=_;return y|0}function kn(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0;s=h;h=h+32|0;r=s;i=e+4|0;a=o[i>>2]|0;ze(r,t,n,zs[o[o[a>>2]>>2]&1](a)|0);if(!(o[r+24>>2]|0)){o[e+8>>2]=4;a=-1;h=s;return a|0}else{a=o[i>>2]|0;a=Hs[o[(o[a>>2]|0)+12>>2]&3](a,o[r+28>>2]|0)|0;h=s;return a|0}return 0}function In(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,f=0,c=0,u=0,l=0,d=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,I=0,R=0;R=h;h=h+240|0;E=R+96|0;S=R+32|0;l=R;d=R+160|0;k=R+128|0;m=e+4|0;A=o[m>>2]|0;ze(k,t,n,zs[o[o[A>>2]>>2]&1](A)|0);if((r[k>>0]|0)!=3){o[e+8>>2]=3;I=-1;h=R;return I|0}if((r[k+1>>0]|0?(w=k+16|0,o[w>>2]|0):0)?(y=k+24|0,o[y>>2]|0):0){A=o[m>>2]|0;g=k+28|0;if((Hs[o[(o[A>>2]|0)+12>>2]&3](A,o[g>>2]|0)|0)>>>0>s>>>0){o[e+8>>2]=2;I=-1;h=R;return I|0}if((o[k+20>>2]|0)!=32){o[e+8>>2]=4;I=-1;h=R;return I|0}f=e+152|0;A=e+148|0;n=o[A>>2]|0;e:do{if((f|0)!=(n|0)){c=o[w>>2]|0;u=0;t=f;do{p=(Fo(t,c,32)|0)==0;u=p?t:u;t=t+68|0}while(!(p|(t|0)==(n|0)));if(u){t=u+32|0;d=k+4|0;n=o[d>>2]|0;if((o[t>>2]|0)>>>0<=n>>>0){v=u;I=Rn(e,t,k,i,s)|0;_=1;b=31;break}t=e+496|0;p=e+492|0;c=o[p>>2]|0;if((t|0)!=(c|0)){u=k+8|0;l=k+12|0;while(1){if(((n|0)==(o[t+32>>2]|0)?(Fo(t,o[w>>2]|0,32)|0)==0:0)?(a=o[m>>2]|0,a=Qs[o[(o[a>>2]|0)+16>>2]&3](a,t+36|0,32,o[u>>2]|0,o[l>>2]|0,o[y>>2]|0,o[g>>2]|0,i,s)|0,(a|0)!=-1):0)break;t=t+68|0;if((t|0)==(c|0))break e;n=o[d>>2]|0}Hr(t,68);I=(o[p>>2]|0)+-68|0;o[p>>2]=I;if((I|0)==(t|0)){I=a;h=R;return I|0}do{m=t;t=t+68|0;_=t;y=m+68|0;do{o[m>>2]=o[_>>2];m=m+4|0;_=_+4|0}while((m|0)<(y|0))}while((t|0)!=(o[p>>2]|0));h=R;return a|0}}else b=15}else b=15}while(0);if((b|0)==15){a=e+48|0;if((o[e+44>>2]|0)!=(a|0)?(o[k+4>>2]|0)>>>0<=2e3:0){m=d;_=o[w>>2]|0;y=m+32|0;do{r[m>>0]=r[_>>0]|0;m=m+1|0;_=_+1|0}while((m|0)<(y|0));v=o[e>>2]|0;I=d+32|0;gt(a,d,E);It(E,32,e+12|0,32,o[v+8>>2]|0,o[v+12>>2]|0,S,64);o[l>>2]=o[S>>2];o[l+4>>2]=o[S+4>>2];o[l+8>>2]=o[S+8>>2];o[l+12>>2]=o[S+12>>2];o[l+16>>2]=o[S+16>>2];o[l+20>>2]=o[S+20>>2];o[l+24>>2]=o[S+24>>2];o[l+28>>2]=o[S+28>>2];v=S+32|0;a=d+36|0;o[a>>2]=o[v>>2];o[a+4>>2]=o[v+4>>2];o[a+8>>2]=o[v+8>>2];o[a+12>>2]=o[v+12>>2];o[a+16>>2]=o[v+16>>2];o[a+20>>2]=o[v+20>>2];o[a+24>>2]=o[v+24>>2];o[a+28>>2]=o[v+28>>2];o[I>>2]=0;Hr(S,64);Hr(E,32);a=Rn(e,I,k,i,s)|0;Hr(l,32);Hr(d,68)}else a=-1;v=0;I=a;_=0;b=31}if((b|0)==31?(I|0)!=-1:0){if(!_){a=o[A>>2]|0;if((a|0)==(e+492|0))f=(a|0)==(f|0)?e+84|0:f;else{a=a+68|0;o[A>>2]=a}a=a+-68|0;if((a|0)!=(f|0))do{m=a;a=a+-68|0;_=a;y=m+68|0;do{o[m>>2]=o[_>>2];m=m+4|0;_=_+4|0}while((m|0)<(y|0))}while((a|0)!=(f|0));m=f;_=o[w>>2]|0;y=m+32|0;do{r[m>>0]=r[_>>0]|0;m=m+1|0;_=_+1|0}while((m|0)<(y|0));a=e+48|0;_=o[e>>2]|0;gt(a,f,E);m=e+12|0;It(E,32,m,32,o[_+8>>2]|0,o[_+12>>2]|0,S,64);_=S;y=m+32|0;do{r[m>>0]=r[_>>0]|0;m=m+1|0;_=_+1|0}while((m|0)<(y|0));m=f+36|0;_=S+32|0;y=m+32|0;do{r[m>>0]=r[_>>0]|0;m=m+1|0;_=_+1|0}while((m|0)<(y|0));n=f+32|0;o[n>>2]=0;Hr(S,64);Hr(E,32);Hr(a,100);t=e+44|0;S=(o[t>>2]|0)+-100|0;o[t>>2]=S;if((S|0)==(a|0))g=f;else{do{m=a;a=a+100|0;_=a;y=m+100|0;do{o[m>>2]=o[_>>2];m=m+4|0;_=_+4|0}while((m|0)<(y|0))}while((a|0)!=(o[t>>2]|0));g=f}}else{g=v;n=v+32|0}c=k+4|0;if((o[n>>2]|0)>>>0<(o[c>>2]|0)>>>0){u=e+496|0;l=e+492|0;d=e+3216|0;a=g+36|0;p=e+532|0;f=e+528|0;do{t=o[l>>2]|0;if((t|0)==(d|0))t=d;else{t=t+68|0;o[l>>2]=t}t=t+-68|0;if((t|0)!=(u|0))do{m=t;t=t+-68|0;_=t;y=m+68|0;do{o[m>>2]=o[_>>2];m=m+4|0;_=_+4|0}while((m|0)<(y|0))}while((t|0)!=(u|0));Et(a,32,38077,1,p);o[f>>2]=o[n>>2];m=u;_=g;y=m+32|0;do{r[m>>0]=r[_>>0]|0;m=m+1|0;_=_+1|0}while((m|0)<(y|0));Et(a,32,38078,1,a);e=(o[n>>2]|0)+1|0;o[n>>2]=e}while(e>>>0<(o[c>>2]|0)>>>0)}else a=g+36|0;Et(a,32,38078,1,a);o[n>>2]=(o[n>>2]|0)+1;h=R;return I|0}o[e+8>>2]=5;I=-1;h=R;return I|0}o[e+8>>2]=4;I=-1;h=R;return I|0}function Rn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,f=0,c=0,u=0,l=0,d=0;d=h;h=h+80|0;f=d+36|0;c=d;u=n+4|0;l=o[u>>2]|0;a=o[t>>2]|0;if(l>>>0<a>>>0|(l-a|0)>>>0>2e3){l=-1;h=d;return l|0}a=f;s=a+36|0;do{o[a>>2]=o[t>>2];a=a+4|0;t=t+4|0}while((a|0)<(s|0));t=f+4|0;if((o[f>>2]|0)>>>0<l>>>0)do{Et(t,32,38078,1,t);l=(o[f>>2]|0)+1|0;o[f>>2]=l}while(l>>>0<(o[u>>2]|0)>>>0);l=c+4|0;Et(t,32,38077,1,l);o[c>>2]=o[f>>2];u=o[e+4>>2]|0;l=Qs[o[(o[u>>2]|0)+16>>2]&3](u,l,32,o[n+8>>2]|0,o[n+12>>2]|0,o[n+24>>2]|0,o[n+28>>2]|0,r,i)|0;Hr(f,36);h=d;return l|0}function Tn(e,t,n){e=e|0;t=t|0;n=n|0;if(e|0)r[e>>0]=3;if(t|0)r[t>>0]=1;if(!n)return;r[n>>0]=3;return}function On(){return-1}function Cn(e){e=e|0;return ki(o[e+7368>>2]|0)|0}function xn(e){e=e|0;return ki(o[e+3216>>2]|0)|0}function Mn(e){e=e|0;return ki(o[e>>2]|0)|0}function Pn(){return 7372}function Dn(){return 3320}function Bn(){return 4}function Nn(e){e=e|0;Hr(e,7372);Ir(e);return e|0}function jn(e){e=e|0;Hr(e,3320);Je(e);return e|0}function Un(e){e=e|0;Hr(e,4);dn(e);return e|0}function Ln(e){e=e|0;Hr(e,7372);Ir(e);return 7372}function qn(e){e=e|0;Hr(e,3320);Je(e);return 3320}function Fn(e){e=e|0;Hr(e,4);dn(e);return 4}function Kn(e){e=e|0;return Ii(Fr(e)|0)|0}function Gn(e){e=e|0;return Ii(lt(e)|0)|0}function zn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=Fr(e)|0;if((Ii(s)|0)>>>0>i>>>0){o[e+7368>>2]=2;s=-1;return s|0}else{Kr(Ri(r,s)|0,e)|0;s=Ti(t,n,r,s)|0;return s|0}return 0}function Hn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=lt(e)|0;if((Ii(s)|0)>>>0>i>>>0){o[e+3216>>2]=2;s=-1;return s|0}else{dt(Ri(r,s)|0,e)|0;s=Ti(t,n,r,s)|0;return s|0}return 0}function Vn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=e+7368|0;t=Oi(t,n,r,i,s)|0;if((t|0)==-1){s=-1;return s|0}n=r+t|0;if((n|0)==(Gr(r,n+1|0,e)|0)){s=i;return s|0}if(o[s>>2]|0){s=-1;return s|0}o[s>>2]=10;s=-1;return s|0}function Qn(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=e+3216|0;t=Oi(t,n,r,i,s)|0;if((t|0)==-1){s=-1;return s|0}n=r+t|0;if((n|0)==(ht(r,n+1|0,e)|0)){s=i;return s|0}if(o[s>>2]|0){s=-1;return s|0}o[s>>2]=10;s=-1;return s|0}function Wn(e){e=e|0;return Or(e)|0}function Yn(e,t,n){e=e|0;t=t|0;n=n|0;e=Cr(e,t,n)|0;Hr(t,n);return e|0}function Xn(e){e=e|0;return xr(e)|0}function Jn(e,t,n){e=e|0;t=t|0;n=n|0;return Mr(e,t,n)|0}function Zn(e){e=e|0;return ue(Pr(e)|0)|0}function $n(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0;s=Pr(e)|0;if((ue(s)|0)>>>0>i>>>0){o[e+7368>>2]=2;s=-1;return s|0}else{a=0-s|0;Dr(e,t,n,r+(ue(s)|0)+a|0,s)|0;i=ue(s)|0;le(r+i+a|0,s,r)|0;s=i;return s|0}return 0}function er(e){e=e|0;return Br(e)|0}function tr(e,t,n){e=e|0;t=t|0;n=n|0;return Nr(e,t,n)|0}function nr(e){e=e|0;return jr(e)|0}function rr(e){e=e|0;return Ur(e)|0}function ir(e,t){e=e|0;t=t|0;return Lr(e,t)|0}function or(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;t=qr(e,t,n,r)|0;Hr(n,r);return t|0}function sr(e){e=e|0;return Ze(e)|0}function ar(e,t,n,r,i,s,a,f){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;f=f|0;var c=0,u=0,l=0;l=h;h=h+64|0;c=l+32|0;u=l;if((de(r)|0)==32?(de(s)|0)==32:0){he(n,r,c)|0;he(i,s,u)|0;u=$e(e,t,c,u,a,f)|0;Hr(a,f);h=l;return u|0}o[e+3216>>2]=7;u=-1;h=l;return u|0}function fr(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;i=de(r)|0;if((i|0)==-1){o[e+3216>>2]=7;i=-1;return i|0}else{he(n,r,n)|0;i=et(e,t,0,n,i)|0;return i|0}return 0}function cr(e,t,n,r,i,s){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;var a=0,f=0;f=h;h=h+32|0;a=f;if((de(r)|0)!=32){o[e+3216>>2]=7;a=-1;h=f;return a|0}he(n,r,a)|0;n=de(s)|0;if((n|0)==-1){o[e+3216>>2]=7;n=-1}else{he(i,s,i)|0;n=et(e,t,a,i,n)|0}a=n;h=f;return a|0}function ur(e){e=e|0;return ue(tt(e)|0)|0}function lr(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=tt(e)|0;if((ue(r)|0)>>>0>n>>>0){o[e+3216>>2]=2;r=-1;return r|0}n=0-r|0;if((nt(e,t+(ue(r)|0)+n|0,r)|0)==-1){r=-1;return r|0}e=ue(r)|0;le(t+e+n|0,r,t)|0;r=e;return r|0}function dr(e){e=e|0;return s[e+3220>>0]|0|0}function hr(e,t,n){e=e|0;t=t|0;n=n|0;ut(e,t,n);return}function pr(e,t,n){e=e|0;t=t|0;n=n|0;var r=0;r=de(n)|0;if((r|0)==-1){o[e+3216>>2]=7;r=-1;return r|0}else{he(t,n,t)|0;r=(rt(e,0,t,r)|0)&1;return r|0}return 0}function gr(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0;a=h;h=h+32|0;s=a;if((de(n)|0)!=32){o[e+3216>>2]=7;s=-1;h=a;return s|0}he(t,n,s)|0;t=de(i)|0;if((t|0)==-1){o[e+3216>>2]=7;t=-1}else{he(r,i,r)|0;t=(rt(e,s,r,t)|0)&1}s=t;h=a;return s|0}function mr(e,t){e=e|0;t=t|0;t=Tr(e,t+3285|0)|0;if((t|0)!=-1)return t|0;o[e+7368>>2]=6;return t|0}function _r(e){e=e|0;return it(e)|0}function yr(e){e=e|0;return st(e)|0}function br(e,t){e=e|0;t=t|0;return ue(ot(e,t)|0)|0}function vr(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var f=0;f=ot(e,n)|0;if((ue(f)|0)>>>0>a>>>0){o[e+3216>>2]=2;f=-1;return f|0}a=0-f|0;n=at(e,t,n,r,i,s+(ue(f)|0)+a|0,f)|0;Hr(r,i);if((n|0)==-1){f=-1;return f|0}i=ue(f)|0;le(s+i+a|0,f,s)|0;f=i;return f|0}function Ar(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0;i=de(r)|0;if((i|0)==-1){o[e+3216>>2]=7;i=-1;return i|0}else{he(n,r,n)|0;i=ft(e,t,n,i)|0;return i|0}return 0}function wr(e,t,n,r,i,s){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;var a=0;a=de(r)|0;if((a|0)==-1){o[e+3216>>2]=7;a=-1;return a|0}else{he(n,r,n)|0;a=ct(e,t,n,a,i,s)|0;return a|0}return 0}function Er(e){e=e|0;return ue(hn(e)|0)|0}function Sr(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=hn(e)|0;if((ue(s)|0)>>>0>i>>>0){o[e>>2]=2;s=-1;return s|0}i=0-s|0;if((pn(e,t,n,r+(ue(s)|0)+i|0,s)|0)==-1){s=-1;return s|0}n=ue(s)|0;le(r+n+i|0,s,r)|0;s=n;return s|0}function kr(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var f=0,c=0;c=h;h=h+32|0;f=c;if((de(n)|0)!=32){o[e>>2]=7;f=-1;h=c;return f|0}he(t,n,f)|0;t=de(a)|0;if((t|0)==-1){o[e>>2]=7;t=-1}else{he(s,a,s)|0;t=gn(e,f,r,i,s,t)|0}f=t;h=c;return f|0}function Ir(e){e=e|0;o[e+160>>2]=e+164;o[e+7364>>2]=0;o[e+7368>>2]=0;return}function Rr(e,t){e=e|0;t=t|0;var n=0;n=e+164|0;e=o[e+160>>2]|0;if((n|0)==(e|0)){t=0;return t|0}while(1){if(Vr(n+5|0,t,32)|0){e=5;break}n=n+72|0;if((n|0)==(e|0)){n=0;e=5;break}}if((e|0)==5)return n|0;return 0}function Tr(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0;n=e+164|0;s=e+160|0;if((n|0)==(o[s>>2]|0)){s=-1;return s|0}while(1){if(Vr(n+5|0,t,32)|0)break;e=n+72|0;if((e|0)==(o[s>>2]|0)){e=-1;r=8;break}else n=e}if((r|0)==8)return e|0;e=o[n>>2]|0;i=(o[s>>2]|0)+-72|0;o[s>>2]=i;if((i|0)==(n|0)){s=e;return s|0}do{t=n;n=n+72|0;r=n;i=t+72|0;do{o[t>>2]=o[r>>2];t=t+4|0;r=r+4|0}while((t|0)<(i|0))}while((n|0)!=(o[s>>2]|0));return e|0}function Or(e){e=e|0;return 64}function Cr(e,t,n){e=e|0;t=t|0;n=n|0;if(n>>>0<64){o[e+7368>>2]=1;n=-1;return n|0}else{mt(t,e);pt(t+32|0,e+96|0);n=0;return n|0}return 0}function xr(e){e=e|0;e=ue(32)|0;return e+30+(ue(32)|0)|0}function Mr(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0;a=ue(32)|0;if((a+30+(ue(32)|0)|0)>>>0>n>>>0){o[e+7368>>2]=2;t=-1;return t|0}else{r[t>>0]=123;i=t+1|0;s=38079;a=i+13|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));r[t+14>>0]=34;n=le(e+96|0,32,t+15|0)|0;r[n>>0]=34;r[n+1>>0]=44;i=n+2|0;s=38093;a=i+10|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));r[n+12>>0]=34;e=le(e,32,n+13|0)|0;r[e>>0]=34;r[e+1>>0]=125;t=e+2-t|0;return t|0}return 0}function Pr(e){e=e|0;return 64}function Dr(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;if(i>>>0<64){o[e+7368>>2]=2;i=-1;return i|0}else{_t(e,t,n,r);i=64;return i|0}return 0}function Br(e){e=e|0;var t=0,n=0,i=0;n=e+164|0;i=o[e+160>>2]|0;if((n|0)!=(i|0)){t=1;e=0;do{if(!(r[n+4>>0]|0)){t=ue(4)|0;e=e+6+t+(ue(32)|0)|0;t=0}n=n+72|0}while((n|0)!=(i|0));if(!t){i=e;n=16;i=n+i|0;return i|0}}else e=0;i=e;n=17;i=n+i|0;return i|0}function Nr(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,f=0,c=0,u=0,l=0,d=0,p=0;p=h;h=h+16|0;l=p;u=e+164|0;c=e+160|0;f=o[c>>2]|0;if((u|0)!=(f|0)){s=1;a=u;i=0;do{if(!(r[a+4>>0]|0)){s=ue(4)|0;i=i+6+s+(ue(32)|0)|0;s=0}a=a+72|0}while((a|0)!=(f|0));if(s)d=4;else s=16}else{i=0;d=4}if((d|0)==4)s=17;if((s+i|0)>>>0>n>>>0){o[e+7368>>2]=2;d=-1;h=p;return d|0}r[t>>0]=123;i=t+1|0;s=38079;a=i+13|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));i=t+14|0;f=o[c>>2]|0;if((u|0)!=(f|0)){a=u;s=123;do{if(!(r[a+4>>0]|0)){r[i>>0]=s;r[i+1>>0]=34;Ne(l,o[a>>2]|0)|0;i=le(l,4,i+2|0)|0;r[i>>0]=34;r[i+1>>0]=58;r[i+2>>0]=34;i=le(a+5|0,32,i+3|0)|0;r[i>>0]=34;i=i+1|0;s=44}a=a+72|0}while((a|0)!=(f|0));if(s<<24>>24!=44)d=16}else{s=123;d=16}if((d|0)==16){r[i>>0]=s;i=i+1|0}r[i>>0]=125;r[i+1>>0]=125;d=i+2-t|0;h=p;return d|0}function jr(e){e=e|0;var t=0,n=0,i=0;t=e+164|0;i=o[e+160>>2]|0;if((t|0)==(i|0)){i=0;return i|0}e=0;do{n=t+4|0;if(!(r[n>>0]|0)){r[n>>0]=1;e=e+1|0}t=t+72|0}while((t|0)!=(i|0));return e|0}function Ur(e){e=e|0;return 100}function Lr(e,t){e=e|0;t=t|0;return t<<5|0}function qr(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,f=0,c=0,u=0,l=0,d=0,h=0,p=0;if(t<<5>>>0>i>>>0){o[e+7368>>2]=1;p=-1;return p|0}if(!t){p=0;return p|0}h=e+164|0;p=e+160|0;u=e+7364|0;l=e+7364|0;d=e+168|0;c=e+169|0;f=0;while(1){i=o[p>>2]|0;if((i|0)==(u|0))i=u;else{i=i+72|0;o[p>>2]=i}i=i+-72|0;if((i|0)!=(h|0))do{e=i;i=i+-72|0;s=i;a=e+72|0;do{o[e>>2]=o[s>>2];e=e+4|0;s=s+4|0}while((e|0)<(a|0))}while((i|0)!=(h|0));a=(o[l>>2]|0)+1|0;o[l>>2]=a;o[h>>2]=a;r[d>>0]=0;pt(n,c);f=f+1|0;if((f|0)==(t|0))break;else n=n+32|0}return t|0}function Fr(e){e=e|0;var t=0,n=0,r=0,i=0;r=Pe(e)|0;i=Re(e+96|0)|0;t=e+164|0;n=o[e+160>>2]|0;if((t|0)==(n|0)){n=4;r=r+8|0;i=r+i|0;i=i+n|0;return i|0}e=4;do{e=e+5+(Re(t+5|0)|0)|0;t=t+72|0}while((t|0)!=(n|0));r=r+8|0;i=r+i|0;i=i+e|0;return i|0}function Kr(e,t){e=e|0;t=t|0;var n=0,i=0;e=Te(De(ye(e,2)|0,t)|0,t+96|0)|0;i=t+160|0;n=t+164|0;e=ye(e,((o[i>>2]|0)-n|0)/72|0)|0;i=o[i>>2]|0;if((n|0)==(i|0)){i=e;t=t+7364|0;t=o[t>>2]|0;t=ye(i,t)|0;return t|0}do{e=ye(e,o[n>>2]|0)|0;e=Te(ve(e,(r[n+4>>0]|0)!=0)|0,n+5|0)|0;n=n+72|0}while((n|0)!=(i|0));t=t+7364|0;t=o[t>>2]|0;t=ye(e,t)|0;return t|0}function Gr(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,f=0,c=0;c=h;h=h+16|0;f=c+4|0;a=c;e=be(e,t,a)|0;switch(o[a>>2]|0){case 2:{e=be(Oe(Be(e,t,n)|0,t,n+96|0)|0,t,f)|0;a=o[f>>2]|0;o[f>>2]=a+-1;if(!((e|0)==(t|0)|(a|0)==0)){i=n+160|0;s=n+7364|0;a=n+7292|0;do{r=o[i>>2]|0;if((r|0)==(s|0))r=a;else o[i>>2]=r+72;e=Oe(Ae(be(e,t,r)|0,t,r+4|0)|0,t,r+5|0)|0;r=o[f>>2]|0;o[f>>2]=r+-1}while(!((e|0)==(t|0)|(r|0)==0))}n=be(e,t,n+7364|0)|0;h=c;return n|0}case 1:{o[n+7368>>2]=13;n=t;h=c;return n|0}default:{o[n+7368>>2]=9;n=t;h=c;return n|0}}return 0}function zr(e,t){e=e|0;t=t|0;var n=0;n=e+t|0;if(!t)return;do{r[e>>0]=0;e=e+1|0}while((e|0)!=(n|0));return}function Hr(e,t){e=e|0;t=t|0;var n=0;n=e+t|0;if(!t)return;do{r[e>>0]=0;e=e+1|0}while((e|0)!=(n|0));return}function Vr(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0;o=h;h=h+16|0;i=o;r[i>>0]=0;if(n|0)while(1){n=n+-1|0;r[i>>0]=r[i>>0]|r[t>>0]^r[e>>0];if(!n)break;else{t=t+1|0;e=e+1|0}}h=o;return(r[i>>0]|0)==0|0}function Qr(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,f=0,c=0,u=0,l=0,d=0,h=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,R=0,T=0,O=0,C=0;E=s[t>>0]|0;m=xs(s[t+1>>0]|0|0,0,8)|0;R=I;O=xs(s[t+2>>0]|0|0,0,16)|0;R=R|I;l=xs(s[t+3>>0]|0|0,0,24)|0;R=R|I;T=r[t+6>>0]|0;c=s[t+4>>0]|0;S=xs(s[t+5>>0]|0|0,0,8)|0;u=I;T=xs(T&255|0,0,16)|0;u=xs(S|c|T|0,u|I|0,6)|0;T=I;c=r[t+9>>0]|0;S=s[t+7>>0]|0;a=xs(s[t+8>>0]|0|0,0,8)|0;v=I;c=xs(c&255|0,0,16)|0;v=xs(a|S|c|0,v|I|0,5)|0;c=I;S=r[t+12>>0]|0;a=s[t+10>>0]|0;y=xs(s[t+11>>0]|0|0,0,8)|0;k=I;S=xs(S&255|0,0,16)|0;k=xs(y|a|S|0,k|I|0,3)|0;S=I;a=r[t+15>>0]|0;y=s[t+13>>0]|0;p=xs(s[t+14>>0]|0|0,0,8)|0;f=I;a=xs(a&255|0,0,16)|0;f=xs(p|y|a|0,f|I|0,2)|0;a=I;y=s[t+16>>0]|0;p=xs(s[t+17>>0]|0|0,0,8)|0;A=I;n=xs(s[t+18>>0]|0|0,0,16)|0;A=A|I;w=xs(s[t+19>>0]|0|0,0,24)|0;w=p|y|n|w;A=A|I;n=r[t+22>>0]|0;y=s[t+20>>0]|0;p=xs(s[t+21>>0]|0|0,0,8)|0;i=I;n=xs(n&255|0,0,16)|0;i=xs(p|y|n|0,i|I|0,7)|0;n=I;y=r[t+25>>0]|0;p=s[t+23>>0]|0;C=xs(s[t+24>>0]|0|0,0,8)|0;b=I;y=xs(y&255|0,0,16)|0;b=xs(C|p|y|0,b|I|0,5)|0;y=I;p=r[t+28>>0]|0;C=s[t+26>>0]|0;g=xs(s[t+27>>0]|0|0,0,8)|0;h=I;p=xs(p&255|0,0,16)|0;h=xs(g|C|p|0,h|I|0,4)|0;p=I;C=r[t+31>>0]|0;g=s[t+29>>0]|0;d=xs(s[t+30>>0]|0|0,0,8)|0;_=I;t=xs(C&255|0,0,16)|0;_=xs(d|g|t|0,_|I|0,2)|0;_=_&33554428;t=Ss(_|0,0,16777216,0)|0;g=Cs(t|0,I|0,25)|0;g=ks(0,0,g|0,I|0)|0;R=Ss(g&19|0,0,m|E|O|l|0,R|0)|0;l=I;O=Ss(u|0,T|0,16777216,0)|0;E=Cs(O|0,I|0,25)|0;E=Ss(v|0,c|0,E|0,I|0)|0;c=I;O=ks(u|0,T|0,O&-33554432|0,0)|0;T=I;u=Ss(k|0,S|0,16777216,0)|0;v=Cs(u|0,I|0,25)|0;v=Ss(f|0,a|0,v|0,I|0)|0;a=I;f=Ss(w|0,A|0,16777216,0)|0;m=Cs(f|0,I|0,25)|0;m=Ss(i|0,n|0,m|0,I|0)|0;n=I;i=Ss(b|0,y|0,16777216,0)|0;g=Cs(i|0,I|0,25)|0;g=Ss(h|0,p|0,g|0,I|0)|0;p=I;h=Ss(R|0,l|0,33554432,0)|0;d=Cs(h|0,I|0,26)|0;d=Ss(O|0,T|0,d|0,I|0)|0;h=ks(R|0,l|0,h&-67108864|0,0)|0;l=Ss(E|0,c|0,33554432,0)|0;R=Cs(l|0,I|0,26)|0;S=Ss(R|0,I|0,k|0,S|0)|0;u=ks(S|0,I|0,u&-33554432|0,0)|0;l=ks(E|0,c|0,l&-67108864|0,0)|0;c=Ss(v|0,a|0,33554432,0)|0;E=Cs(c|0,I|0,26)|0;A=Ss(E|0,I|0,w|0,A|0)|0;f=ks(A|0,I|0,f&-33554432|0,0)|0;c=ks(v|0,a|0,c&-67108864|0,0)|0;a=Ss(m|0,n|0,33554432,0)|0;v=Cs(a|0,I|0,26)|0;y=Ss(v|0,I|0,b|0,y|0)|0;i=ks(y|0,I|0,i&-33554432|0,0)|0;a=ks(m|0,n|0,a&-67108864|0,0)|0;n=Ss(g|0,p|0,33554432,0)|0;m=Cs(n|0,I|0,26)|0;m=Ss(_|0,0,m|0,I|0)|0;t=ks(m|0,I|0,t&33554432|0,0)|0;n=ks(g|0,p|0,n&-67108864|0,0)|0;o[e>>2]=h;o[e+4>>2]=d;o[e+8>>2]=l;o[e+12>>2]=u;o[e+16>>2]=c;o[e+20>>2]=f;o[e+24>>2]=a;o[e+28>>2]=i;o[e+32>>2]=n;o[e+36>>2]=t;return}function Wr(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,o=0,s=0;s=h;h=h+192|0;n=s+144|0;r=s+96|0;i=s+48|0;o=s;Yr(n,t);Yr(r,n);Yr(r,r);Xr(r,t,r);Xr(n,n,r);Yr(i,n);Xr(r,r,i);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(i,i,r);Yr(o,i);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Xr(i,o,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(i,i,r);Yr(o,i);t=1;do{Yr(o,o);t=t+1|0}while((t|0)!=100);Xr(i,o,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(r,r);Yr(r,r);Yr(r,r);Yr(r,r);Yr(r,r);Xr(e,r,n);h=s;return}function Yr(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,f=0,c=0,u=0,l=0,d=0,h=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,R=0,T=0,O=0,C=0,x=0,M=0,P=0,D=0,B=0,N=0,j=0,U=0,L=0,q=0,F=0,K=0,G=0,z=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,fe=0,ce=0,ue=0,le=0,de=0,he=0,pe=0,ge=0,me=0,_e=0,ye=0,be=0,ve=0,Ae=0,we=0,Ee=0,Se=0,ke=0,Ie=0,Re=0,Te=0,Oe=0,Ce=0,xe=0,Me=0,Pe=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,qe=0,Fe=0,Ke=0,Ge=0,ze=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0;tt=o[t>>2]|0;Ae=o[t+4>>2]|0;u=o[t+8>>2]|0;de=o[t+12>>2]|0;s=o[t+16>>2]|0;rt=o[t+20>>2]|0;a=o[t+24>>2]|0;p=o[t+28>>2]|0;F=o[t+32>>2]|0;O=o[t+36>>2]|0;_=tt<<1;n=Ae<<1;Ye=u<<1;f=de<<1;pe=s<<1;i=rt<<1;d=a<<1;r=p<<1;Ue=rt*38|0;ye=a*19|0;Ee=p*38|0;ie=F*19|0;st=O*38|0;nt=((tt|0)<0)<<31>>31;nt=Es(tt|0,nt|0,tt|0,nt|0)|0;tt=I;y=((_|0)<0)<<31>>31;ve=((Ae|0)<0)<<31>>31;Ne=Es(_|0,y|0,Ae|0,ve|0)|0;Be=I;c=((u|0)<0)<<31>>31;We=Es(u|0,c|0,_|0,y|0)|0;Qe=I;he=((de|0)<0)<<31>>31;Ve=Es(de|0,he|0,_|0,y|0)|0;He=I;J=((s|0)<0)<<31>>31;qe=Es(s|0,J|0,_|0,y|0)|0;Le=I;it=((rt|0)<0)<<31>>31;Ie=Es(rt|0,it|0,_|0,y|0)|0;ke=I;we=((a|0)<0)<<31>>31;ae=Es(a|0,we|0,_|0,y|0)|0;se=I;T=((p|0)<0)<<31>>31;z=Es(p|0,T|0,_|0,y|0)|0;G=I;K=((F|0)<0)<<31>>31;M=Es(F|0,K|0,_|0,y|0)|0;x=I;C=((O|0)<0)<<31>>31;y=Es(O|0,C|0,_|0,y|0)|0;_=I;l=((n|0)<0)<<31>>31;ve=Es(n|0,l|0,Ae|0,ve|0)|0;Ae=I;ne=Es(n|0,l|0,u|0,c|0)|0;re=I;m=((f|0)<0)<<31>>31;ze=Es(f|0,m|0,n|0,l|0)|0;Ge=I;Ce=Es(s|0,J|0,n|0,l|0)|0;Oe=I;g=((i|0)<0)<<31>>31;ce=Es(i|0,g|0,n|0,l|0)|0;fe=I;V=Es(a|0,we|0,n|0,l|0)|0;H=I;t=((r|0)<0)<<31>>31;D=Es(r|0,t|0,n|0,l|0)|0;P=I;v=Es(F|0,K|0,n|0,l|0)|0;b=I;ot=((st|0)<0)<<31>>31;l=Es(st|0,ot|0,n|0,l|0)|0;n=I;Ke=Es(u|0,c|0,u|0,c|0)|0;Fe=I;Xe=((Ye|0)<0)<<31>>31;Te=Es(Ye|0,Xe|0,de|0,he|0)|0;Re=I;le=Es(s|0,J|0,Ye|0,Xe|0)|0;ue=I;X=Es(rt|0,it|0,Ye|0,Xe|0)|0;Y=I;q=Es(a|0,we|0,Ye|0,Xe|0)|0;L=I;w=Es(p|0,T|0,Ye|0,Xe|0)|0;A=I;oe=((ie|0)<0)<<31>>31;Xe=Es(ie|0,oe|0,Ye|0,Xe|0)|0;Ye=I;c=Es(st|0,ot|0,u|0,c|0)|0;u=I;he=Es(f|0,m|0,de|0,he|0)|0;de=I;W=Es(f|0,m|0,s|0,J|0)|0;Q=I;N=Es(i|0,g|0,f|0,m|0)|0;B=I;R=Es(a|0,we|0,f|0,m|0)|0;k=I;Se=((Ee|0)<0)<<31>>31;Ze=Es(Ee|0,Se|0,f|0,m|0)|0;Je=I;Me=Es(ie|0,oe|0,f|0,m|0)|0;xe=I;m=Es(st|0,ot|0,f|0,m|0)|0;f=I;U=Es(s|0,J|0,s|0,J|0)|0;j=I;ge=((pe|0)<0)<<31>>31;S=Es(pe|0,ge|0,rt|0,it|0)|0;E=I;be=((ye|0)<0)<<31>>31;et=Es(ye|0,be|0,pe|0,ge|0)|0;$e=I;De=Es(Ee|0,Se|0,s|0,J|0)|0;Pe=I;ge=Es(ie|0,oe|0,pe|0,ge|0)|0;pe=I;J=Es(st|0,ot|0,s|0,J|0)|0;s=I;it=Es(Ue|0,((Ue|0)<0)<<31>>31|0,rt|0,it|0)|0;rt=I;Ue=Es(ye|0,be|0,i|0,g|0)|0;je=I;_e=Es(Ee|0,Se|0,i|0,g|0)|0;me=I;$=Es(ie|0,oe|0,i|0,g|0)|0;Z=I;g=Es(st|0,ot|0,i|0,g|0)|0;i=I;be=Es(ye|0,be|0,a|0,we|0)|0;ye=I;te=Es(Ee|0,Se|0,a|0,we|0)|0;ee=I;d=Es(ie|0,oe|0,d|0,((d|0)<0)<<31>>31|0)|0;h=I;we=Es(st|0,ot|0,a|0,we|0)|0;a=I;T=Es(Ee|0,Se|0,p|0,T|0)|0;p=I;Se=Es(ie|0,oe|0,r|0,t|0)|0;Ee=I;t=Es(st|0,ot|0,r|0,t|0)|0;r=I;oe=Es(ie|0,oe|0,F|0,K|0)|0;ie=I;K=Es(st|0,ot|0,F|0,K|0)|0;F=I;C=Es(st|0,ot|0,O|0,C|0)|0;O=I;tt=Ss(it|0,rt|0,nt|0,tt|0)|0;$e=Ss(tt|0,I|0,et|0,$e|0)|0;Je=Ss($e|0,I|0,Ze|0,Je|0)|0;Ye=Ss(Je|0,I|0,Xe|0,Ye|0)|0;n=Ss(Ye|0,I|0,l|0,n|0)|0;l=I;Ae=Ss(We|0,Qe|0,ve|0,Ae|0)|0;ve=I;re=Ss(Ve|0,He|0,ne|0,re|0)|0;ne=I;Fe=Ss(ze|0,Ge|0,Ke|0,Fe|0)|0;Le=Ss(Fe|0,I|0,qe|0,Le|0)|0;p=Ss(Le|0,I|0,T|0,p|0)|0;h=Ss(p|0,I|0,d|0,h|0)|0;i=Ss(h|0,I|0,g|0,i|0)|0;g=I;h=Ss(n|0,l|0,33554432,0)|0;d=I;p=Os(h|0,d|0,26)|0;T=I;Be=Ss(Ue|0,je|0,Ne|0,Be|0)|0;Pe=Ss(Be|0,I|0,De|0,Pe|0)|0;xe=Ss(Pe|0,I|0,Me|0,xe|0)|0;u=Ss(xe|0,I|0,c|0,u|0)|0;T=Ss(u|0,I|0,p|0,T|0)|0;p=I;d=ks(n|0,l|0,h&-67108864|0,d|0)|0;h=I;l=Ss(i|0,g|0,33554432,0)|0;n=I;u=Os(l|0,n|0,26)|0;c=I;Re=Ss(Ce|0,Oe|0,Te|0,Re|0)|0;ke=Ss(Re|0,I|0,Ie|0,ke|0)|0;Ee=Ss(ke|0,I|0,Se|0,Ee|0)|0;a=Ss(Ee|0,I|0,we|0,a|0)|0;c=Ss(a|0,I|0,u|0,c|0)|0;u=I;n=ks(i|0,g|0,l&-67108864|0,n|0)|0;l=I;g=Ss(T|0,p|0,16777216,0)|0;i=Os(g|0,I|0,25)|0;a=I;ye=Ss(Ae|0,ve|0,be|0,ye|0)|0;me=Ss(ye|0,I|0,_e|0,me|0)|0;pe=Ss(me|0,I|0,ge|0,pe|0)|0;f=Ss(pe|0,I|0,m|0,f|0)|0;a=Ss(f|0,I|0,i|0,a|0)|0;i=I;g=ks(T|0,p|0,g&-33554432|0,0)|0;p=I;T=Ss(c|0,u|0,16777216,0)|0;f=Os(T|0,I|0,25)|0;m=I;ue=Ss(he|0,de|0,le|0,ue|0)|0;fe=Ss(ue|0,I|0,ce|0,fe|0)|0;se=Ss(fe|0,I|0,ae|0,se|0)|0;ie=Ss(se|0,I|0,oe|0,ie|0)|0;r=Ss(ie|0,I|0,t|0,r|0)|0;m=Ss(r|0,I|0,f|0,m|0)|0;f=I;T=ks(c|0,u|0,T&-33554432|0,0)|0;u=I;c=Ss(a|0,i|0,33554432,0)|0;r=Os(c|0,I|0,26)|0;t=I;ee=Ss(re|0,ne|0,te|0,ee|0)|0;Z=Ss(ee|0,I|0,$|0,Z|0)|0;s=Ss(Z|0,I|0,J|0,s|0)|0;t=Ss(s|0,I|0,r|0,t|0)|0;r=I;c=ks(a|0,i|0,c&-67108864|0,0)|0;i=Ss(m|0,f|0,33554432,0)|0;a=Os(i|0,I|0,26)|0;s=I;Q=Ss(X|0,Y|0,W|0,Q|0)|0;H=Ss(Q|0,I|0,V|0,H|0)|0;G=Ss(H|0,I|0,z|0,G|0)|0;F=Ss(G|0,I|0,K|0,F|0)|0;s=Ss(F|0,I|0,a|0,s|0)|0;a=I;i=ks(m|0,f|0,i&-67108864|0,0)|0;f=Ss(t|0,r|0,16777216,0)|0;m=Os(f|0,I|0,25)|0;l=Ss(m|0,I|0,n|0,l|0)|0;n=I;f=ks(t|0,r|0,f&-33554432|0,0)|0;r=Ss(s|0,a|0,16777216,0)|0;t=Os(r|0,I|0,25)|0;m=I;j=Ss(q|0,L|0,U|0,j|0)|0;B=Ss(j|0,I|0,N|0,B|0)|0;P=Ss(B|0,I|0,D|0,P|0)|0;x=Ss(P|0,I|0,M|0,x|0)|0;O=Ss(x|0,I|0,C|0,O|0)|0;m=Ss(O|0,I|0,t|0,m|0)|0;t=I;r=ks(s|0,a|0,r&-33554432|0,0)|0;a=Ss(l|0,n|0,33554432,0)|0;s=Cs(a|0,I|0,26)|0;s=Ss(T|0,u|0,s|0,I|0)|0;a=ks(l|0,n|0,a&-67108864|0,0)|0;n=Ss(m|0,t|0,33554432,0)|0;l=Os(n|0,I|0,26)|0;u=I;E=Ss(R|0,k|0,S|0,E|0)|0;A=Ss(E|0,I|0,w|0,A|0)|0;b=Ss(A|0,I|0,v|0,b|0)|0;_=Ss(b|0,I|0,y|0,_|0)|0;u=Ss(_|0,I|0,l|0,u|0)|0;l=I;n=ks(m|0,t|0,n&-67108864|0,0)|0;t=Ss(u|0,l|0,16777216,0)|0;m=Os(t|0,I|0,25)|0;m=Es(m|0,I|0,19,0)|0;h=Ss(m|0,I|0,d|0,h|0)|0;d=I;t=ks(u|0,l|0,t&-33554432|0,0)|0;l=Ss(h|0,d|0,33554432,0)|0;u=Cs(l|0,I|0,26)|0;u=Ss(g|0,p|0,u|0,I|0)|0;l=ks(h|0,d|0,l&-67108864|0,0)|0;o[e>>2]=l;o[e+4>>2]=u;o[e+8>>2]=c;o[e+12>>2]=f;o[e+16>>2]=a;o[e+20>>2]=s;o[e+24>>2]=i;o[e+28>>2]=r;o[e+32>>2]=n;o[e+36>>2]=t;return}function Xr(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,f=0,c=0,u=0,l=0,d=0,h=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,R=0,T=0,O=0,C=0,x=0,M=0,P=0,D=0,B=0,N=0,j=0,U=0,L=0,q=0,F=0,K=0,G=0,z=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,fe=0,ce=0,ue=0,le=0,de=0,he=0,pe=0,ge=0,me=0,_e=0,ye=0,be=0,ve=0,Ae=0,we=0,Ee=0,Se=0,ke=0,Ie=0,Re=0,Te=0,Oe=0,Ce=0,xe=0,Me=0,Pe=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,qe=0,Fe=0,Ke=0,Ge=0,ze=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0,at=0,ft=0,ct=0,ut=0,lt=0,dt=0,ht=0,pt=0,gt=0,mt=0,_t=0,yt=0,bt=0,vt=0,At=0,wt=0,Et=0,St=0,kt=0,It=0,Rt=0,Tt=0,Ot=0,Ct=0,xt=0,Mt=0,Pt=0,Dt=0,Bt=0,Nt=0,jt=0,Ut=0,Lt=0,qt=0,Ft=0,Kt=0,Gt=0,zt=0,Ht=0,Vt=0,Qt=0,Wt=0,Yt=0,Xt=0,Jt=0,Zt=0,$t=0,en=0,tn=0,nn=0,rn=0,on=0,sn=0,an=0,fn=0,cn=0,un=0,ln=0,dn=0,hn=0,pn=0,gn=0,mn=0,_n=0,yn=0,bn=0,vn=0,An=0,wn=0,En=0,Sn=0,kn=0,In=0,Rn=0,Tn=0,On=0,Cn=0,xn=0,Mn=0,Pn=0,Dn=0,Bn=0,Nn=0,jn=0,Un=0,Ln=0,qn=0,Fn=0,Kn=0,Gn=0,zn=0,Hn=0;_=o[t>>2]|0;b=o[t+4>>2]|0;u=o[t+8>>2]|0;Ht=o[t+12>>2]|0;s=o[t+16>>2]|0;Ie=o[t+20>>2]|0;a=o[t+24>>2]|0;Rt=o[t+28>>2]|0;oe=o[t+32>>2]|0;ae=o[t+36>>2]|0;D=o[n>>2]|0;N=o[n+4>>2]|0;M=o[n+8>>2]|0;C=o[n+12>>2]|0;T=o[n+16>>2]|0;k=o[n+20>>2]|0;E=o[n+24>>2]|0;A=o[n+28>>2]|0;c=o[n+32>>2]|0;v=o[n+36>>2]|0;Fn=N*19|0;rn=M*19|0;yt=C*19|0;De=T*19|0;un=k*19|0;xt=E*19|0;Ve=A*19|0;Hn=c*19|0;Gn=v*19|0;t=b<<1;f=Ht<<1;i=Ie<<1;r=Rt<<1;L=ae<<1;y=((_|0)<0)<<31>>31;B=((D|0)<0)<<31>>31;Ln=Es(D|0,B|0,_|0,y|0)|0;Un=I;j=((N|0)<0)<<31>>31;En=Es(N|0,j|0,_|0,y|0)|0;wn=I;P=((M|0)<0)<<31>>31;At=Es(M|0,P|0,_|0,y|0)|0;vt=I;x=((C|0)<0)<<31>>31;je=Es(C|0,x|0,_|0,y|0)|0;Ne=I;O=((T|0)<0)<<31>>31;hn=Es(T|0,O|0,_|0,y|0)|0;dn=I;R=((k|0)<0)<<31>>31;Dt=Es(k|0,R|0,_|0,y|0)|0;Pt=I;S=((E|0)<0)<<31>>31;Ye=Es(E|0,S|0,_|0,y|0)|0;We=I;w=((A|0)<0)<<31>>31;ue=Es(A|0,w|0,_|0,y|0)|0;ce=I;Kn=((c|0)<0)<<31>>31;K=Es(c|0,Kn|0,_|0,y|0)|0;F=I;y=Es(v|0,((v|0)<0)<<31>>31|0,_|0,y|0)|0;_=I;v=((b|0)<0)<<31>>31;sn=Es(D|0,B|0,b|0,v|0)|0;an=I;l=((t|0)<0)<<31>>31;kt=Es(N|0,j|0,t|0,l|0)|0;St=I;Le=Es(M|0,P|0,b|0,v|0)|0;Ue=I;gn=Es(C|0,x|0,t|0,l|0)|0;pn=I;Nt=Es(T|0,O|0,b|0,v|0)|0;Bt=I;Je=Es(k|0,R|0,t|0,l|0)|0;Xe=I;de=Es(E|0,S|0,b|0,v|0)|0;le=I;z=Es(A|0,w|0,t|0,l|0)|0;G=I;v=Es(c|0,Kn|0,b|0,v|0)|0;b=I;Kn=((Gn|0)<0)<<31>>31;l=Es(Gn|0,Kn|0,t|0,l|0)|0;t=I;c=((u|0)<0)<<31>>31;Et=Es(D|0,B|0,u|0,c|0)|0;wt=I;Ge=Es(N|0,j|0,u|0,c|0)|0;Ke=I;_n=Es(M|0,P|0,u|0,c|0)|0;mn=I;Ut=Es(C|0,x|0,u|0,c|0)|0;jt=I;$e=Es(T|0,O|0,u|0,c|0)|0;Ze=I;pe=Es(k|0,R|0,u|0,c|0)|0;he=I;V=Es(E|0,S|0,u|0,c|0)|0;H=I;w=Es(A|0,w|0,u|0,c|0)|0;A=I;zn=((Hn|0)<0)<<31>>31;kn=Es(Hn|0,zn|0,u|0,c|0)|0;Sn=I;c=Es(Gn|0,Kn|0,u|0,c|0)|0;u=I;Vt=((Ht|0)<0)<<31>>31;Fe=Es(D|0,B|0,Ht|0,Vt|0)|0;qe=I;m=((f|0)<0)<<31>>31;An=Es(N|0,j|0,f|0,m|0)|0;vn=I;qt=Es(M|0,P|0,Ht|0,Vt|0)|0;Lt=I;tt=Es(C|0,x|0,f|0,m|0)|0;et=I;me=Es(T|0,O|0,Ht|0,Vt|0)|0;ge=I;W=Es(k|0,R|0,f|0,m|0)|0;Q=I;S=Es(E|0,S|0,Ht|0,Vt|0)|0;E=I;Qe=((Ve|0)<0)<<31>>31;Rn=Es(Ve|0,Qe|0,f|0,m|0)|0;In=I;Vt=Es(Hn|0,zn|0,Ht|0,Vt|0)|0;Ht=I;m=Es(Gn|0,Kn|0,f|0,m|0)|0;f=I;ke=((s|0)<0)<<31>>31;bn=Es(D|0,B|0,s|0,ke|0)|0;yn=I;zt=Es(N|0,j|0,s|0,ke|0)|0;Gt=I;rt=Es(M|0,P|0,s|0,ke|0)|0;nt=I;ye=Es(C|0,x|0,s|0,ke|0)|0;_e=I;X=Es(T|0,O|0,s|0,ke|0)|0;Y=I;R=Es(k|0,R|0,s|0,ke|0)|0;k=I;Mt=((xt|0)<0)<<31>>31;On=Es(xt|0,Mt|0,s|0,ke|0)|0;Tn=I;Wt=Es(Ve|0,Qe|0,s|0,ke|0)|0;Qt=I;ct=Es(Hn|0,zn|0,s|0,ke|0)|0;ft=I;ke=Es(Gn|0,Kn|0,s|0,ke|0)|0;s=I;Re=((Ie|0)<0)<<31>>31;Kt=Es(D|0,B|0,Ie|0,Re|0)|0;Ft=I;g=((i|0)<0)<<31>>31;at=Es(N|0,j|0,i|0,g|0)|0;st=I;ve=Es(M|0,P|0,Ie|0,Re|0)|0;be=I;Z=Es(C|0,x|0,i|0,g|0)|0;J=I;O=Es(T|0,O|0,Ie|0,Re|0)|0;T=I;ln=((un|0)<0)<<31>>31;xn=Es(un|0,ln|0,i|0,g|0)|0;Cn=I;Xt=Es(xt|0,Mt|0,Ie|0,Re|0)|0;Yt=I;lt=Es(Ve|0,Qe|0,i|0,g|0)|0;ut=I;Re=Es(Hn|0,zn|0,Ie|0,Re|0)|0;Ie=I;g=Es(Gn|0,Kn|0,i|0,g|0)|0;i=I;It=((a|0)<0)<<31>>31;ot=Es(D|0,B|0,a|0,It|0)|0;it=I;Se=Es(N|0,j|0,a|0,It|0)|0;Ee=I;ee=Es(M|0,P|0,a|0,It|0)|0;$=I;x=Es(C|0,x|0,a|0,It|0)|0;C=I;Be=((De|0)<0)<<31>>31;Pn=Es(De|0,Be|0,a|0,It|0)|0;Mn=I;Zt=Es(un|0,ln|0,a|0,It|0)|0;Jt=I;ht=Es(xt|0,Mt|0,a|0,It|0)|0;dt=I;Oe=Es(Ve|0,Qe|0,a|0,It|0)|0;Te=I;d=Es(Hn|0,zn|0,a|0,It|0)|0;h=I;It=Es(Gn|0,Kn|0,a|0,It|0)|0;a=I;Tt=((Rt|0)<0)<<31>>31;we=Es(D|0,B|0,Rt|0,Tt|0)|0;Ae=I;n=((r|0)<0)<<31>>31;ie=Es(N|0,j|0,r|0,n|0)|0;re=I;P=Es(M|0,P|0,Rt|0,Tt|0)|0;M=I;bt=((yt|0)<0)<<31>>31;Bn=Es(yt|0,bt|0,r|0,n|0)|0;Dn=I;en=Es(De|0,Be|0,Rt|0,Tt|0)|0;$t=I;gt=Es(un|0,ln|0,r|0,n|0)|0;pt=I;xe=Es(xt|0,Mt|0,Rt|0,Tt|0)|0;Ce=I;U=Es(Ve|0,Qe|0,r|0,n|0)|0;p=I;Tt=Es(Hn|0,zn|0,Rt|0,Tt|0)|0;Rt=I;n=Es(Gn|0,Kn|0,r|0,n|0)|0;r=I;se=((oe|0)<0)<<31>>31;ne=Es(D|0,B|0,oe|0,se|0)|0;te=I;j=Es(N|0,j|0,oe|0,se|0)|0;N=I;on=((rn|0)<0)<<31>>31;jn=Es(rn|0,on|0,oe|0,se|0)|0;Nn=I;nn=Es(yt|0,bt|0,oe|0,se|0)|0;tn=I;_t=Es(De|0,Be|0,oe|0,se|0)|0;mt=I;Pe=Es(un|0,ln|0,oe|0,se|0)|0;Me=I;cn=Es(xt|0,Mt|0,oe|0,se|0)|0;fn=I;Ct=Es(Ve|0,Qe|0,oe|0,se|0)|0;Ot=I;He=Es(Hn|0,zn|0,oe|0,se|0)|0;ze=I;se=Es(Gn|0,Kn|0,oe|0,se|0)|0;oe=I;fe=((ae|0)<0)<<31>>31;B=Es(D|0,B|0,ae|0,fe|0)|0;D=I;q=((L|0)<0)<<31>>31;Fn=Es(Fn|0,((Fn|0)<0)<<31>>31|0,L|0,q|0)|0;qn=I;on=Es(rn|0,on|0,ae|0,fe|0)|0;rn=I;bt=Es(yt|0,bt|0,L|0,q|0)|0;yt=I;Be=Es(De|0,Be|0,ae|0,fe|0)|0;De=I;ln=Es(un|0,ln|0,L|0,q|0)|0;un=I;Mt=Es(xt|0,Mt|0,ae|0,fe|0)|0;xt=I;Qe=Es(Ve|0,Qe|0,L|0,q|0)|0;Ve=I;fe=Es(Hn|0,zn|0,ae|0,fe|0)|0;ae=I;q=Es(Gn|0,Kn|0,L|0,q|0)|0;L=I;Un=Ss(Fn|0,qn|0,Ln|0,Un|0)|0;Nn=Ss(Un|0,I|0,jn|0,Nn|0)|0;Dn=Ss(Nn|0,I|0,Bn|0,Dn|0)|0;Mn=Ss(Dn|0,I|0,Pn|0,Mn|0)|0;Cn=Ss(Mn|0,I|0,xn|0,Cn|0)|0;Tn=Ss(Cn|0,I|0,On|0,Tn|0)|0;In=Ss(Tn|0,I|0,Rn|0,In|0)|0;Sn=Ss(In|0,I|0,kn|0,Sn|0)|0;t=Ss(Sn|0,I|0,l|0,t|0)|0;l=I;an=Ss(En|0,wn|0,sn|0,an|0)|0;sn=I;yn=Ss(An|0,vn|0,bn|0,yn|0)|0;mn=Ss(yn|0,I|0,_n|0,mn|0)|0;pn=Ss(mn|0,I|0,gn|0,pn|0)|0;dn=Ss(pn|0,I|0,hn|0,dn|0)|0;un=Ss(dn|0,I|0,ln|0,un|0)|0;fn=Ss(un|0,I|0,cn|0,fn|0)|0;p=Ss(fn|0,I|0,U|0,p|0)|0;h=Ss(p|0,I|0,d|0,h|0)|0;i=Ss(h|0,I|0,g|0,i|0)|0;g=I;h=Ss(t|0,l|0,33554432,0)|0;d=I;p=Os(h|0,d|0,26)|0;U=I;rn=Ss(an|0,sn|0,on|0,rn|0)|0;tn=Ss(rn|0,I|0,nn|0,tn|0)|0;$t=Ss(tn|0,I|0,en|0,$t|0)|0;Jt=Ss($t|0,I|0,Zt|0,Jt|0)|0;Yt=Ss(Jt|0,I|0,Xt|0,Yt|0)|0;Qt=Ss(Yt|0,I|0,Wt|0,Qt|0)|0;Ht=Ss(Qt|0,I|0,Vt|0,Ht|0)|0;u=Ss(Ht|0,I|0,c|0,u|0)|0;U=Ss(u|0,I|0,p|0,U|0)|0;p=I;d=ks(t|0,l|0,h&-67108864|0,d|0)|0;h=I;l=Ss(i|0,g|0,33554432,0)|0;t=I;u=Os(l|0,t|0,26)|0;c=I;Ft=Ss(zt|0,Gt|0,Kt|0,Ft|0)|0;Lt=Ss(Ft|0,I|0,qt|0,Lt|0)|0;jt=Ss(Lt|0,I|0,Ut|0,jt|0)|0;Bt=Ss(jt|0,I|0,Nt|0,Bt|0)|0;Pt=Ss(Bt|0,I|0,Dt|0,Pt|0)|0;xt=Ss(Pt|0,I|0,Mt|0,xt|0)|0;Ot=Ss(xt|0,I|0,Ct|0,Ot|0)|0;Rt=Ss(Ot|0,I|0,Tt|0,Rt|0)|0;a=Ss(Rt|0,I|0,It|0,a|0)|0;c=Ss(a|0,I|0,u|0,c|0)|0;u=I;t=ks(i|0,g|0,l&-67108864|0,t|0)|0;l=I;g=Ss(U|0,p|0,16777216,0)|0;i=Os(g|0,I|0,25)|0;a=I;wt=Ss(kt|0,St|0,Et|0,wt|0)|0;vt=Ss(wt|0,I|0,At|0,vt|0)|0;yt=Ss(vt|0,I|0,bt|0,yt|0)|0;mt=Ss(yt|0,I|0,_t|0,mt|0)|0;pt=Ss(mt|0,I|0,gt|0,pt|0)|0;dt=Ss(pt|0,I|0,ht|0,dt|0)|0;ut=Ss(dt|0,I|0,lt|0,ut|0)|0;ft=Ss(ut|0,I|0,ct|0,ft|0)|0;f=Ss(ft|0,I|0,m|0,f|0)|0;a=Ss(f|0,I|0,i|0,a|0)|0;i=I;g=ks(U|0,p|0,g&-33554432|0,0)|0;p=I;U=Ss(c|0,u|0,16777216,0)|0;f=Os(U|0,I|0,25)|0;m=I;it=Ss(at|0,st|0,ot|0,it|0)|0;nt=Ss(it|0,I|0,rt|0,nt|0)|0;et=Ss(nt|0,I|0,tt|0,et|0)|0;Ze=Ss(et|0,I|0,$e|0,Ze|0)|0;Xe=Ss(Ze|0,I|0,Je|0,Xe|0)|0;We=Ss(Xe|0,I|0,Ye|0,We|0)|0;Ve=Ss(We|0,I|0,Qe|0,Ve|0)|0;ze=Ss(Ve|0,I|0,He|0,ze|0)|0;r=Ss(ze|0,I|0,n|0,r|0)|0;m=Ss(r|0,I|0,f|0,m|0)|0;f=I;U=ks(c|0,u|0,U&-33554432|0,0)|0;u=I;c=Ss(a|0,i|0,33554432,0)|0;r=Os(c|0,I|0,26)|0;n=I;qe=Ss(Ge|0,Ke|0,Fe|0,qe|0)|0;Ue=Ss(qe|0,I|0,Le|0,Ue|0)|0;Ne=Ss(Ue|0,I|0,je|0,Ne|0)|0;De=Ss(Ne|0,I|0,Be|0,De|0)|0;Me=Ss(De|0,I|0,Pe|0,Me|0)|0;Ce=Ss(Me|0,I|0,xe|0,Ce|0)|0;Te=Ss(Ce|0,I|0,Oe|0,Te|0)|0;Ie=Ss(Te|0,I|0,Re|0,Ie|0)|0;s=Ss(Ie|0,I|0,ke|0,s|0)|0;n=Ss(s|0,I|0,r|0,n|0)|0;r=I;c=ks(a|0,i|0,c&-67108864|0,0)|0;i=Ss(m|0,f|0,33554432,0)|0;a=Os(i|0,I|0,26)|0;s=I;Ae=Ss(Se|0,Ee|0,we|0,Ae|0)|0;be=Ss(Ae|0,I|0,ve|0,be|0)|0;_e=Ss(be|0,I|0,ye|0,_e|0)|0;ge=Ss(_e|0,I|0,me|0,ge|0)|0;he=Ss(ge|0,I|0,pe|0,he|0)|0;le=Ss(he|0,I|0,de|0,le|0)|0;ce=Ss(le|0,I|0,ue|0,ce|0)|0;ae=Ss(ce|0,I|0,fe|0,ae|0)|0;oe=Ss(ae|0,I|0,se|0,oe|0)|0;s=Ss(oe|0,I|0,a|0,s|0)|0;a=I;i=ks(m|0,f|0,i&-67108864|0,0)|0;f=Ss(n|0,r|0,16777216,0)|0;m=Os(f|0,I|0,25)|0;l=Ss(m|0,I|0,t|0,l|0)|0;t=I;f=ks(n|0,r|0,f&-33554432|0,0)|0;r=Ss(s|0,a|0,16777216,0)|0;n=Os(r|0,I|0,25)|0;m=I;te=Ss(ie|0,re|0,ne|0,te|0)|0;$=Ss(te|0,I|0,ee|0,$|0)|0;J=Ss($|0,I|0,Z|0,J|0)|0;Y=Ss(J|0,I|0,X|0,Y|0)|0;Q=Ss(Y|0,I|0,W|0,Q|0)|0;H=Ss(Q|0,I|0,V|0,H|0)|0;G=Ss(H|0,I|0,z|0,G|0)|0;F=Ss(G|0,I|0,K|0,F|0)|0;L=Ss(F|0,I|0,q|0,L|0)|0;m=Ss(L|0,I|0,n|0,m|0)|0;n=I;r=ks(s|0,a|0,r&-33554432|0,0)|0;a=Ss(l|0,t|0,33554432,0)|0;s=Cs(a|0,I|0,26)|0;s=Ss(U|0,u|0,s|0,I|0)|0;a=ks(l|0,t|0,a&-67108864|0,0)|0;t=Ss(m|0,n|0,33554432,0)|0;l=Os(t|0,I|0,26)|0;u=I;D=Ss(j|0,N|0,B|0,D|0)|0;M=Ss(D|0,I|0,P|0,M|0)|0;C=Ss(M|0,I|0,x|0,C|0)|0;T=Ss(C|0,I|0,O|0,T|0)|0;k=Ss(T|0,I|0,R|0,k|0)|0;E=Ss(k|0,I|0,S|0,E|0)|0;A=Ss(E|0,I|0,w|0,A|0)|0;b=Ss(A|0,I|0,v|0,b|0)|0;_=Ss(b|0,I|0,y|0,_|0)|0;u=Ss(_|0,I|0,l|0,u|0)|0;l=I;t=ks(m|0,n|0,t&-67108864|0,0)|0;n=Ss(u|0,l|0,16777216,0)|0;m=Os(n|0,I|0,25)|0;m=Es(m|0,I|0,19,0)|0;h=Ss(m|0,I|0,d|0,h|0)|0;d=I;n=ks(u|0,l|0,n&-33554432|0,0)|0;l=Ss(h|0,d|0,33554432,0)|0;u=Cs(l|0,I|0,26)|0;u=Ss(g|0,p|0,u|0,I|0)|0;l=ks(h|0,d|0,l&-67108864|0,0)|0;o[e>>2]=l;o[e+4>>2]=u;o[e+8>>2]=c;o[e+12>>2]=f;o[e+16>>2]=a;o[e+20>>2]=s;o[e+24>>2]=i;o[e+28>>2]=r;o[e+32>>2]=t;o[e+36>>2]=n;return}function Jr(e,t){e=e|0;t=t|0;var n=0,i=0,s=0,a=0,f=0,c=0,u=0,l=0,d=0,h=0,p=0,g=0,m=0,_=0,y=0,b=0;b=o[t>>2]|0;y=o[t+4>>2]|0;m=o[t+8>>2]|0;p=o[t+12>>2]|0;d=o[t+16>>2]|0;l=o[t+20>>2]|0;u=o[t+24>>2]|0;f=o[t+28>>2]|0;s=o[t+32>>2]|0;n=o[t+36>>2]|0;b=(((((((((((((n*19|0)+16777216>>25)+b>>26)+y>>25)+m>>26)+p>>25)+d>>26)+l>>25)+u>>26)+f>>25)+s>>26)+n>>25)*19|0)+b|0;y=(b>>26)+y|0;m=(y>>25)+m|0;_=y&33554431;p=(m>>26)+p|0;g=m&67108863;d=(p>>25)+d|0;h=p&33554431;l=(d>>26)+l|0;u=(l>>25)+u|0;f=(u>>26)+f|0;c=u&67108863;s=(f>>25)+s|0;a=f&33554431;n=(s>>26)+n|0;i=s&67108863;t=n&33554431;r[e>>0]=b;r[e+1>>0]=b>>>8;r[e+2>>0]=b>>>16;r[e+3>>0]=_<<2|b>>>24&3;r[e+4>>0]=y>>>6;r[e+5>>0]=y>>>14;r[e+6>>0]=g<<3|_>>>22;r[e+7>>0]=m>>>5;r[e+8>>0]=m>>>13;r[e+9>>0]=h<<5|g>>>21;r[e+10>>0]=p>>>3;r[e+11>>0]=p>>>11;r[e+12>>0]=d<<6|h>>>19;r[e+13>>0]=d>>>2;r[e+14>>0]=d>>>10;r[e+15>>0]=d>>>18;r[e+16>>0]=l;r[e+17>>0]=l>>>8;r[e+18>>0]=l>>>16;r[e+19>>0]=c<<1|l>>>24&1;r[e+20>>0]=u>>>7;r[e+21>>0]=u>>>15;r[e+22>>0]=a<<3|c>>>23;r[e+23>>0]=f>>>5;r[e+24>>0]=f>>>13;r[e+25>>0]=i<<4|a>>>21;r[e+26>>0]=s>>>4;r[e+27>>0]=s>>>12;r[e+28>>0]=t<<6|i>>>20;r[e+29>>0]=n>>>2;r[e+30>>0]=n>>>10;r[e+31>>0]=t>>>18;return}function Zr(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,o=0,s=0;s=h;h=h+144|0;r=s+96|0;i=s+48|0;o=s;Yr(r,t);Yr(i,r);Yr(i,i);Xr(i,t,i);Xr(r,r,i);Yr(r,r);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(i,i,r);Yr(o,i);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Yr(o,o);Xr(i,o,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(i,r);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(i,i,r);Yr(o,i);n=1;do{Yr(o,o);n=n+1|0}while((n|0)!=100);Xr(i,o,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Yr(i,i);Xr(r,i,r);Yr(r,r);Yr(r,r);Xr(e,r,t);h=s;return}function $r(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,f=0,c=0,u=0,l=0,d=0,h=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,R=0,T=0,O=0,C=0,x=0,M=0,P=0,D=0,B=0,N=0,j=0,U=0,L=0,q=0,F=0,K=0,G=0,z=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,fe=0,ce=0,ue=0,le=0,de=0,he=0,pe=0,ge=0,me=0,_e=0,ye=0,be=0,ve=0,Ae=0,we=0,Ee=0,Se=0,ke=0,Ie=0,Re=0,Te=0,Oe=0,Ce=0,xe=0,Me=0,Pe=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,qe=0,Fe=0,Ke=0,Ge=0,ze=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0;tt=o[t>>2]|0;je=o[t+4>>2]|0;b=o[t+8>>2]|0;re=o[t+12>>2]|0;v=o[t+16>>2]|0;rt=o[t+20>>2]|0;c=o[t+24>>2]|0;ge=o[t+28>>2]|0;s=o[t+32>>2]|0;m=o[t+36>>2]|0;u=tt<<1;_=je<<1;Ye=b<<1;w=re<<1;xe=v<<1;g=rt<<1;pe=c<<1;A=ge<<1;We=rt*38|0;Be=c*19|0;oe=ge*38|0;Y=s*19|0;st=m*38|0;nt=((tt|0)<0)<<31>>31;nt=Es(tt|0,nt|0,tt|0,nt|0)|0;tt=I;l=((u|0)<0)<<31>>31;Ue=((je|0)<0)<<31>>31;Ve=Es(u|0,l|0,je|0,Ue|0)|0;He=I;p=((b|0)<0)<<31>>31;qe=Es(b|0,p|0,u|0,l|0)|0;Le=I;ie=((re|0)<0)<<31>>31;Ce=Es(re|0,ie|0,u|0,l|0)|0;Oe=I;r=((v|0)<0)<<31>>31;ye=Es(v|0,r|0,u|0,l|0)|0;_e=I;it=((rt|0)<0)<<31>>31;fe=Es(rt|0,it|0,u|0,l|0)|0;ae=I;y=((c|0)<0)<<31>>31;Z=Es(c|0,y|0,u|0,l|0)|0;J=I;me=((ge|0)<0)<<31>>31;K=Es(ge|0,me|0,u|0,l|0)|0;F=I;a=((s|0)<0)<<31>>31;M=Es(s|0,a|0,u|0,l|0)|0;x=I;t=((m|0)<0)<<31>>31;l=Es(m|0,t|0,u|0,l|0)|0;u=I;n=((_|0)<0)<<31>>31;Ue=Es(_|0,n|0,je|0,Ue|0)|0;je=I;Te=Es(_|0,n|0,b|0,p|0)|0;Re=I;i=((w|0)<0)<<31>>31;we=Es(w|0,i|0,_|0,n|0)|0;Ae=I;de=Es(v|0,r|0,_|0,n|0)|0;le=I;E=((g|0)<0)<<31>>31;ee=Es(g|0,E|0,_|0,n|0)|0;$=I;z=Es(c|0,y|0,_|0,n|0)|0;G=I;f=((A|0)<0)<<31>>31;D=Es(A|0,f|0,_|0,n|0)|0;P=I;d=Es(s|0,a|0,_|0,n|0)|0;h=I;ot=((st|0)<0)<<31>>31;n=Es(st|0,ot|0,_|0,n|0)|0;_=I;ve=Es(b|0,p|0,b|0,p|0)|0;be=I;Xe=((Ye|0)<0)<<31>>31;ue=Es(Ye|0,Xe|0,re|0,ie|0)|0;ce=I;ne=Es(v|0,r|0,Ye|0,Xe|0)|0;te=I;W=Es(rt|0,it|0,Ye|0,Xe|0)|0;Q=I;q=Es(c|0,y|0,Ye|0,Xe|0)|0;L=I;k=Es(ge|0,me|0,Ye|0,Xe|0)|0;S=I;X=((Y|0)<0)<<31>>31;Xe=Es(Y|0,X|0,Ye|0,Xe|0)|0;Ye=I;p=Es(st|0,ot|0,b|0,p|0)|0;b=I;ie=Es(w|0,i|0,re|0,ie|0)|0;re=I;V=Es(w|0,i|0,v|0,r|0)|0;H=I;N=Es(g|0,E|0,w|0,i|0)|0;B=I;C=Es(c|0,y|0,w|0,i|0)|0;O=I;se=((oe|0)<0)<<31>>31;Ze=Es(oe|0,se|0,w|0,i|0)|0;Je=I;Ke=Es(Y|0,X|0,w|0,i|0)|0;Fe=I;i=Es(st|0,ot|0,w|0,i|0)|0;w=I;U=Es(v|0,r|0,v|0,r|0)|0;j=I;Me=((xe|0)<0)<<31>>31;T=Es(xe|0,Me|0,rt|0,it|0)|0;R=I;Ne=((Be|0)<0)<<31>>31;et=Es(Be|0,Ne|0,xe|0,Me|0)|0;$e=I;ze=Es(oe|0,se|0,v|0,r|0)|0;Ge=I;Me=Es(Y|0,X|0,xe|0,Me|0)|0;xe=I;r=Es(st|0,ot|0,v|0,r|0)|0;v=I;it=Es(We|0,((We|0)<0)<<31>>31|0,rt|0,it|0)|0;rt=I;We=Es(Be|0,Ne|0,g|0,E|0)|0;Qe=I;De=Es(oe|0,se|0,g|0,E|0)|0;Pe=I;Se=Es(Y|0,X|0,g|0,E|0)|0;Ee=I;E=Es(st|0,ot|0,g|0,E|0)|0;g=I;Ne=Es(Be|0,Ne|0,c|0,y|0)|0;Be=I;Ie=Es(oe|0,se|0,c|0,y|0)|0;ke=I;pe=Es(Y|0,X|0,pe|0,((pe|0)<0)<<31>>31|0)|0;he=I;y=Es(st|0,ot|0,c|0,y|0)|0;c=I;me=Es(oe|0,se|0,ge|0,me|0)|0;ge=I;se=Es(Y|0,X|0,A|0,f|0)|0;oe=I;f=Es(st|0,ot|0,A|0,f|0)|0;A=I;X=Es(Y|0,X|0,s|0,a|0)|0;Y=I;a=Es(st|0,ot|0,s|0,a|0)|0;s=I;t=Es(st|0,ot|0,m|0,t|0)|0;m=I;tt=Ss(it|0,rt|0,nt|0,tt|0)|0;$e=Ss(tt|0,I|0,et|0,$e|0)|0;Je=Ss($e|0,I|0,Ze|0,Je|0)|0;Ye=Ss(Je|0,I|0,Xe|0,Ye|0)|0;_=Ss(Ye|0,I|0,n|0,_|0)|0;n=I;He=Ss(We|0,Qe|0,Ve|0,He|0)|0;Ge=Ss(He|0,I|0,ze|0,Ge|0)|0;Fe=Ss(Ge|0,I|0,Ke|0,Fe|0)|0;b=Ss(Fe|0,I|0,p|0,b|0)|0;p=I;je=Ss(qe|0,Le|0,Ue|0,je|0)|0;Be=Ss(je|0,I|0,Ne|0,Be|0)|0;Pe=Ss(Be|0,I|0,De|0,Pe|0)|0;xe=Ss(Pe|0,I|0,Me|0,xe|0)|0;w=Ss(xe|0,I|0,i|0,w|0)|0;i=I;Re=Ss(Ce|0,Oe|0,Te|0,Re|0)|0;ke=Ss(Re|0,I|0,Ie|0,ke|0)|0;Ee=Ss(ke|0,I|0,Se|0,Ee|0)|0;v=Ss(Ee|0,I|0,r|0,v|0)|0;r=I;be=Ss(we|0,Ae|0,ve|0,be|0)|0;_e=Ss(be|0,I|0,ye|0,_e|0)|0;ge=Ss(_e|0,I|0,me|0,ge|0)|0;he=Ss(ge|0,I|0,pe|0,he|0)|0;g=Ss(he|0,I|0,E|0,g|0)|0;E=I;ce=Ss(de|0,le|0,ue|0,ce|0)|0;ae=Ss(ce|0,I|0,fe|0,ae|0)|0;oe=Ss(ae|0,I|0,se|0,oe|0)|0;c=Ss(oe|0,I|0,y|0,c|0)|0;y=I;te=Ss(ie|0,re|0,ne|0,te|0)|0;$=Ss(te|0,I|0,ee|0,$|0)|0;J=Ss($|0,I|0,Z|0,J|0)|0;Y=Ss(J|0,I|0,X|0,Y|0)|0;A=Ss(Y|0,I|0,f|0,A|0)|0;f=I;H=Ss(W|0,Q|0,V|0,H|0)|0;G=Ss(H|0,I|0,z|0,G|0)|0;F=Ss(G|0,I|0,K|0,F|0)|0;s=Ss(F|0,I|0,a|0,s|0)|0;a=I;j=Ss(q|0,L|0,U|0,j|0)|0;B=Ss(j|0,I|0,N|0,B|0)|0;P=Ss(B|0,I|0,D|0,P|0)|0;x=Ss(P|0,I|0,M|0,x|0)|0;m=Ss(x|0,I|0,t|0,m|0)|0;t=I;R=Ss(C|0,O|0,T|0,R|0)|0;S=Ss(R|0,I|0,k|0,S|0)|0;h=Ss(S|0,I|0,d|0,h|0)|0;u=Ss(h|0,I|0,l|0,u|0)|0;l=I;n=xs(_|0,n|0,1)|0;_=I;p=xs(b|0,p|0,1)|0;b=I;i=xs(w|0,i|0,1)|0;w=I;r=xs(v|0,r|0,1)|0;v=I;E=xs(g|0,E|0,1)|0;g=I;y=xs(c|0,y|0,1)|0;c=I;f=xs(A|0,f|0,1)|0;A=I;a=xs(s|0,a|0,1)|0;s=I;t=xs(m|0,t|0,1)|0;m=I;l=xs(u|0,l|0,1)|0;u=I;h=Ss(n|0,_|0,33554432,0)|0;d=I;S=Os(h|0,d|0,26)|0;b=Ss(S|0,I|0,p|0,b|0)|0;p=I;d=ks(n|0,_|0,h&-67108864|0,d|0)|0;h=I;_=Ss(E|0,g|0,33554432,0)|0;n=I;S=Os(_|0,n|0,26)|0;c=Ss(S|0,I|0,y|0,c|0)|0;y=I;n=ks(E|0,g|0,_&-67108864|0,n|0)|0;_=I;g=Ss(b|0,p|0,16777216,0)|0;E=Os(g|0,I|0,25)|0;w=Ss(E|0,I|0,i|0,w|0)|0;i=I;g=ks(b|0,p|0,g&-33554432|0,0)|0;p=I;b=Ss(c|0,y|0,16777216,0)|0;E=Os(b|0,I|0,25)|0;A=Ss(E|0,I|0,f|0,A|0)|0;f=I;b=ks(c|0,y|0,b&-33554432|0,0)|0;y=I;c=Ss(w|0,i|0,33554432,0)|0;E=Os(c|0,I|0,26)|0;v=Ss(E|0,I|0,r|0,v|0)|0;r=I;c=ks(w|0,i|0,c&-67108864|0,0)|0;i=Ss(A|0,f|0,33554432,0)|0;w=Os(i|0,I|0,26)|0;s=Ss(w|0,I|0,a|0,s|0)|0;a=I;i=ks(A|0,f|0,i&-67108864|0,0)|0;f=Ss(v|0,r|0,16777216,0)|0;A=Os(f|0,I|0,25)|0;_=Ss(A|0,I|0,n|0,_|0)|0;n=I;f=ks(v|0,r|0,f&-33554432|0,0)|0;r=Ss(s|0,a|0,16777216,0)|0;v=Os(r|0,I|0,25)|0;m=Ss(v|0,I|0,t|0,m|0)|0;t=I;r=ks(s|0,a|0,r&-33554432|0,0)|0;a=Ss(_|0,n|0,33554432,0)|0;s=Cs(a|0,I|0,26)|0;s=Ss(b|0,y|0,s|0,I|0)|0;a=ks(_|0,n|0,a&-67108864|0,0)|0;n=Ss(m|0,t|0,33554432,0)|0;_=Os(n|0,I|0,26)|0;u=Ss(_|0,I|0,l|0,u|0)|0;l=I;n=ks(m|0,t|0,n&-67108864|0,0)|0;t=Ss(u|0,l|0,16777216,0)|0;m=Os(t|0,I|0,25)|0;m=Es(m|0,I|0,19,0)|0;h=Ss(m|0,I|0,d|0,h|0)|0;d=I;t=ks(u|0,l|0,t&-33554432|0,0)|0;l=Ss(h|0,d|0,33554432,0)|0;u=Cs(l|0,I|0,26)|0;u=Ss(g|0,p|0,u|0,I|0)|0;l=ks(h|0,d|0,l&-67108864|0,0)|0;o[e>>2]=l;o[e+4>>2]=u;o[e+8>>2]=c;o[e+12>>2]=f;o[e+16>>2]=a;o[e+20>>2]=s;o[e+24>>2]=i;o[e+28>>2]=r;o[e+32>>2]=n;o[e+36>>2]=t;return}function ei(e){e=e|0;var t=0,n=0,i=0,o=0,a=0,f=0,c=0,u=0,l=0,d=0,h=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,R=0,T=0,O=0,C=0,x=0,M=0,P=0,D=0,B=0,N=0,j=0,U=0,L=0,q=0,F=0,K=0,G=0,z=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,fe=0,ce=0,ue=0,le=0,de=0,he=0,pe=0,ge=0,me=0,_e=0,ye=0,be=0,ve=0,Ae=0,we=0,Ee=0,Se=0,ke=0,Ie=0,Re=0,Te=0,Oe=0,Ce=0,xe=0,Me=0,Pe=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,qe=0,Fe=0,Ke=0,Ge=0,ze=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0;de=e+1|0;ce=e+2|0;K=r[ce>>0]|0;we=s[e>>0]|0;M=xs(s[de>>0]|0|0,0,8)|0;be=I;K=K&255;ve=xs(K|0,0,16)|0;fe=e+3|0;A=xs(s[fe>>0]|0|0,0,8)|0;te=I;ie=e+4|0;Z=xs(s[ie>>0]|0|0,0,16)|0;te=te|I;re=e+5|0;F=s[re>>0]|0;$=xs(F|0,0,24)|0;te=Cs(A|K|Z|$|0,te|I|0,5)|0;$=e+6|0;Z=e+7|0;K=r[Z>>0]|0;A=xs(s[$>>0]|0|0,0,8)|0;Te=I;K=K&255;J=xs(K|0,0,16)|0;Te=Cs(A|F|J|0,Te|I|0,2)|0;J=e+8|0;F=xs(s[J>>0]|0|0,0,8)|0;A=I;Q=e+9|0;Re=xs(s[Q>>0]|0|0,0,16)|0;A=A|I;V=e+10|0;Ve=s[V>>0]|0;H=xs(Ve|0,0,24)|0;A=Cs(F|K|Re|H|0,A|I|0,7)|0;H=e+11|0;Re=xs(s[H>>0]|0|0,0,8)|0;K=I;F=e+12|0;B=xs(s[F>>0]|0|0,0,16)|0;K=K|I;q=e+13|0;w=s[q>>0]|0;N=xs(w|0,0,24)|0;K=Cs(Re|Ve|B|N|0,K|I|0,4)|0;N=e+14|0;B=e+15|0;Ve=r[B>>0]|0;Re=xs(s[N>>0]|0|0,0,8)|0;_e=I;Ve=Ve&255;D=xs(Ve|0,0,16)|0;_e=Cs(Re|w|D|0,_e|I|0,1)|0;D=e+16|0;w=xs(s[D>>0]|0|0,0,8)|0;Re=I;C=e+17|0;S=xs(s[C>>0]|0|0,0,16)|0;Re=Re|I;O=e+18|0;E=s[O>>0]|0;T=xs(E|0,0,24)|0;Re=Cs(w|Ve|S|T|0,Re|I|0,6)|0;T=e+19|0;S=e+20|0;Ve=r[S>>0]|0;w=xs(s[T>>0]|0|0,0,8)|0;Qe=I;Ve=xs(Ve&255|0,0,16)|0;Qe=Cs(w|E|Ve|0,Qe|I|0,3)|0;Ve=I;E=e+21|0;w=e+22|0;b=e+23|0;n=r[b>>0]|0;et=s[E>>0]|0;tt=xs(s[w>>0]|0|0,0,8)|0;Ze=I;n=n&255;$e=xs(n|0,0,16)|0;y=e+24|0;Ue=xs(s[y>>0]|0|0,0,8)|0;Ge=I;p=e+25|0;f=xs(s[p>>0]|0|0,0,16)|0;Ge=Ge|I;h=e+26|0;pe=s[h>>0]|0;c=xs(pe|0,0,24)|0;Ge=Cs(Ue|n|f|c|0,Ge|I|0,5)|0;c=e+27|0;f=e+28|0;n=r[f>>0]|0;Ue=xs(s[c>>0]|0|0,0,8)|0;Je=I;n=n&255;a=xs(n|0,0,16)|0;Je=Cs(Ue|pe|a|0,Je|I|0,2)|0;a=e+29|0;pe=xs(s[a>>0]|0|0,0,8)|0;Ue=I;o=e+30|0;ot=xs(s[o>>0]|0|0,0,16)|0;Ue=Ue|I;t=e+31|0;ne=s[t>>0]|0;u=xs(ne|0,0,24)|0;Ue=Cs(pe|n|ot|u|0,Ue|I|0,7)|0;u=xs(s[e+32>>0]|0|0,0,8)|0;ot=I;n=xs(s[e+33>>0]|0|0,0,16)|0;ot=ot|I;pe=s[e+34>>0]|0;m=xs(pe|0,0,24)|0;ot=Cs(u|ne|n|m|0,ot|I|0,4)|0;m=r[e+36>>0]|0;n=xs(s[e+35>>0]|0|0,0,8)|0;ne=I;m=m&255;u=xs(m|0,0,16)|0;ne=Cs(n|pe|u|0,ne|I|0,1)|0;u=xs(s[e+37>>0]|0|0,0,8)|0;pe=I;n=xs(s[e+38>>0]|0|0,0,16)|0;pe=pe|I;qe=s[e+39>>0]|0;ee=xs(qe|0,0,24)|0;pe=Cs(u|m|n|ee|0,pe|I|0,6)|0;ee=r[e+41>>0]|0;n=xs(s[e+40>>0]|0|0,0,8)|0;m=I;ee=xs(ee&255|0,0,16)|0;m=Cs(n|qe|ee|0,m|I|0,3)|0;ee=I;qe=r[e+44>>0]|0;n=s[e+42>>0]|0;u=xs(s[e+43>>0]|0|0,0,8)|0;j=I;qe=qe&255;_=xs(qe|0,0,16)|0;k=xs(s[e+45>>0]|0|0,0,8)|0;oe=I;xe=xs(s[e+46>>0]|0|0,0,16)|0;oe=oe|I;st=s[e+47>>0]|0;U=xs(st|0,0,24)|0;oe=Cs(k|qe|xe|U|0,oe|I|0,5)|0;U=r[e+49>>0]|0;xe=xs(s[e+48>>0]|0|0,0,8)|0;qe=I;U=U&255;k=xs(U|0,0,16)|0;qe=Cs(xe|st|k|0,qe|I|0,2)|0;qe=qe&2097151;k=xs(s[e+50>>0]|0|0,0,8)|0;st=I;xe=xs(s[e+51>>0]|0|0,0,16)|0;st=st|I;ue=s[e+52>>0]|0;L=xs(ue|0,0,24)|0;st=Cs(k|U|xe|L|0,st|I|0,7)|0;st=st&2097151;L=xs(s[e+53>>0]|0|0,0,8)|0;xe=I;U=xs(s[e+54>>0]|0|0,0,16)|0;xe=xe|I;k=s[e+55>>0]|0;W=xs(k|0,0,24)|0;xe=Cs(L|ue|U|W|0,xe|I|0,4)|0;xe=xe&2097151;W=r[e+57>>0]|0;U=xs(s[e+56>>0]|0|0,0,8)|0;ue=I;W=W&255;L=xs(W|0,0,16)|0;ue=Cs(U|k|L|0,ue|I|0,1)|0;ue=ue&2097151;L=xs(s[e+58>>0]|0|0,0,8)|0;k=I;U=xs(s[e+59>>0]|0|0,0,16)|0;k=k|I;he=s[e+60>>0]|0;me=xs(he|0,0,24)|0;k=Cs(L|W|U|me|0,k|I|0,6)|0;k=k&2097151;me=xs(s[e+61>>0]|0|0,0,8)|0;U=I;W=xs(s[e+62>>0]|0|0,0,16)|0;U=U|I;L=xs(s[e+63>>0]|0|0,0,24)|0;U=Cs(me|he|W|L|0,U|I|0,3)|0;L=I;W=Es(U|0,L|0,666643,0)|0;he=I;me=Es(U|0,L|0,470296,0)|0;ae=I;v=Es(U|0,L|0,654183,0)|0;x=I;Ae=Es(U|0,L|0,-997805,-1)|0;Ie=I;d=Es(U|0,L|0,136657,0)|0;ke=I;L=Es(U|0,L|0,-683901,-1)|0;j=Ss(L|0,I|0,u|n|_&2031616|0,j|0)|0;_=I;n=Es(k|0,0,666643,0)|0;u=I;L=Es(k|0,0,470296,0)|0;U=I;Ye=Es(k|0,0,654183,0)|0;P=I;Y=Es(k|0,0,-997805,-1)|0;G=I;Se=Es(k|0,0,136657,0)|0;ge=I;k=Es(k|0,0,-683901,-1)|0;z=I;Oe=Es(ue|0,0,666643,0)|0;Ee=I;se=Es(ue|0,0,470296,0)|0;Le=I;Pe=Es(ue|0,0,654183,0)|0;Me=I;nt=Es(ue|0,0,-997805,-1)|0;We=I;l=Es(ue|0,0,136657,0)|0;g=I;ue=Es(ue|0,0,-683901,-1)|0;pe=Ss(ue|0,I|0,pe&2097151|0,0)|0;ge=Ss(pe|0,I|0,Se|0,ge|0)|0;Ie=Ss(ge|0,I|0,Ae|0,Ie|0)|0;Ae=I;ge=Es(xe|0,0,666643,0)|0;Se=I;pe=Es(xe|0,0,470296,0)|0;ue=I;ye=Es(xe|0,0,654183,0)|0;X=I;Be=Es(xe|0,0,-997805,-1)|0;De=I;it=Es(xe|0,0,136657,0)|0;rt=I;xe=Es(xe|0,0,-683901,-1)|0;Ce=I;i=Es(st|0,0,666643,0)|0;R=I;ze=Es(st|0,0,470296,0)|0;He=I;Ke=Es(st|0,0,654183,0)|0;Fe=I;Xe=Es(st|0,0,-997805,-1)|0;le=I;je=Es(st|0,0,136657,0)|0;Ne=I;st=Es(st|0,0,-683901,-1)|0;ot=Ss(st|0,I|0,ot&2097151|0,0)|0;rt=Ss(ot|0,I|0,it|0,rt|0)|0;We=Ss(rt|0,I|0,nt|0,We|0)|0;P=Ss(We|0,I|0,Ye|0,P|0)|0;ae=Ss(P|0,I|0,me|0,ae|0)|0;me=I;P=Es(qe|0,0,666643,0)|0;Re=Ss(P|0,I|0,Re&2097151|0,0)|0;P=I;Ye=Es(qe|0,0,470296,0)|0;We=I;nt=Es(qe|0,0,654183,0)|0;Ze=Ss(nt|0,I|0,tt|et|$e&2031616|0,Ze|0)|0;He=Ss(Ze|0,I|0,ze|0,He|0)|0;Se=Ss(He|0,I|0,ge|0,Se|0)|0;ge=I;He=Es(qe|0,0,-997805,-1)|0;ze=I;Ze=Es(qe|0,0,136657,0)|0;Je=Ss(Ze|0,I|0,Je&2097151|0,0)|0;le=Ss(Je|0,I|0,Xe|0,le|0)|0;X=Ss(le|0,I|0,ye|0,X|0)|0;Le=Ss(X|0,I|0,se|0,Le|0)|0;u=Ss(Le|0,I|0,n|0,u|0)|0;n=I;qe=Es(qe|0,0,-683901,-1)|0;Le=I;se=Ss(Re|0,P|0,1048576,0)|0;X=I;ye=Cs(se|0,X|0,21)|0;le=I;Ve=Ss(Ye|0,We|0,Qe|0,Ve|0)|0;le=Ss(Ve|0,I|0,ye|0,le|0)|0;R=Ss(le|0,I|0,i|0,R|0)|0;i=I;X=ks(Re|0,P|0,se&-2097152|0,X&2047|0)|0;se=I;P=Ss(Se|0,ge|0,1048576,0)|0;Re=I;le=Cs(P|0,Re|0,21)|0;ye=I;Ge=Ss(He|0,ze|0,Ge&2097151|0,0)|0;Fe=Ss(Ge|0,I|0,Ke|0,Fe|0)|0;ue=Ss(Fe|0,I|0,pe|0,ue|0)|0;Ee=Ss(ue|0,I|0,Oe|0,Ee|0)|0;ye=Ss(Ee|0,I|0,le|0,ye|0)|0;le=I;Ee=Ss(u|0,n|0,1048576,0)|0;Oe=I;ue=Os(Ee|0,Oe|0,21)|0;pe=I;Ue=Ss(qe|0,Le|0,Ue&2097151|0,0)|0;Ne=Ss(Ue|0,I|0,je|0,Ne|0)|0;De=Ss(Ne|0,I|0,Be|0,De|0)|0;Me=Ss(De|0,I|0,Pe|0,Me|0)|0;U=Ss(Me|0,I|0,L|0,U|0)|0;he=Ss(U|0,I|0,W|0,he|0)|0;pe=Ss(he|0,I|0,ue|0,pe|0)|0;ue=I;he=Ss(ae|0,me|0,1048576,0)|0;W=I;U=Os(he|0,W|0,21)|0;L=I;ne=Ss(xe|0,Ce|0,ne&2097151|0,0)|0;g=Ss(ne|0,I|0,l|0,g|0)|0;G=Ss(g|0,I|0,Y|0,G|0)|0;x=Ss(G|0,I|0,v|0,x|0)|0;L=Ss(x|0,I|0,U|0,L|0)|0;U=I;W=ks(ae|0,me|0,he&-2097152|0,W|0)|0;he=I;me=Ss(Ie|0,Ae|0,1048576,0)|0;ae=I;x=Os(me|0,ae|0,21)|0;v=I;ee=Ss(k|0,z|0,m|0,ee|0)|0;ke=Ss(ee|0,I|0,d|0,ke|0)|0;v=Ss(ke|0,I|0,x|0,v|0)|0;x=I;ae=ks(Ie|0,Ae|0,me&-2097152|0,ae|0)|0;me=I;Ae=Ss(j|0,_|0,1048576,0)|0;Ie=I;ke=Os(Ae|0,Ie|0,21)|0;oe=Ss(ke|0,I|0,oe&2097151|0,0)|0;ke=I;Ie=ks(j|0,_|0,Ae&-2097152|0,Ie|0)|0;Ae=I;_=Ss(R|0,i|0,1048576,0)|0;j=I;d=Cs(_|0,j|0,21)|0;ee=I;j=ks(R|0,i|0,_&-2097152|0,j|0)|0;_=I;i=Ss(ye|0,le|0,1048576,0)|0;R=I;m=Os(i|0,R|0,21)|0;z=I;R=ks(ye|0,le|0,i&-2097152|0,R|0)|0;i=I;le=Ss(pe|0,ue|0,1048576,0)|0;ye=I;k=Os(le|0,ye|0,21)|0;he=Ss(k|0,I|0,W|0,he|0)|0;W=I;ye=ks(pe|0,ue|0,le&-2097152|0,ye|0)|0;le=I;ue=Ss(L|0,U|0,1048576,0)|0;pe=I;k=Os(ue|0,pe|0,21)|0;me=Ss(k|0,I|0,ae|0,me|0)|0;ae=I;pe=ks(L|0,U|0,ue&-2097152|0,pe|0)|0;ue=I;U=Ss(v|0,x|0,1048576,0)|0;L=I;k=Os(U|0,L|0,21)|0;Ae=Ss(k|0,I|0,Ie|0,Ae|0)|0;Ie=I;L=ks(v|0,x|0,U&-2097152|0,L|0)|0;U=I;x=Es(oe|0,ke|0,666643,0)|0;_e=Ss(x|0,I|0,_e&2097151|0,0)|0;x=I;v=Es(oe|0,ke|0,470296,0)|0;v=Ss(X|0,se|0,v|0,I|0)|0;se=I;X=Es(oe|0,ke|0,654183,0)|0;X=Ss(j|0,_|0,X|0,I|0)|0;_=I;j=Es(oe|0,ke|0,-997805,-1)|0;k=I;G=Es(oe|0,ke|0,136657,0)|0;G=Ss(R|0,i|0,G|0,I|0)|0;i=I;ke=Es(oe|0,ke|0,-683901,-1)|0;oe=I;z=Ss(u|0,n|0,m|0,z|0)|0;Oe=ks(z|0,I|0,Ee&-2097152|0,Oe|0)|0;oe=Ss(Oe|0,I|0,ke|0,oe|0)|0;ke=I;Oe=Es(Ae|0,Ie|0,666643,0)|0;K=Ss(Oe|0,I|0,K&2097151|0,0)|0;Oe=I;Ee=Es(Ae|0,Ie|0,470296,0)|0;Ee=Ss(_e|0,x|0,Ee|0,I|0)|0;x=I;_e=Es(Ae|0,Ie|0,654183,0)|0;_e=Ss(v|0,se|0,_e|0,I|0)|0;se=I;v=Es(Ae|0,Ie|0,-997805,-1)|0;v=Ss(X|0,_|0,v|0,I|0)|0;_=I;X=Es(Ae|0,Ie|0,136657,0)|0;z=I;Ie=Es(Ae|0,Ie|0,-683901,-1)|0;Ie=Ss(G|0,i|0,Ie|0,I|0)|0;i=I;G=Es(L|0,U|0,666643,0)|0;A=Ss(G|0,I|0,A&2097151|0,0)|0;G=I;Ae=Es(L|0,U|0,470296,0)|0;Ae=Ss(K|0,Oe|0,Ae|0,I|0)|0;Oe=I;K=Es(L|0,U|0,654183,0)|0;K=Ss(Ee|0,x|0,K|0,I|0)|0;x=I;Ee=Es(L|0,U|0,-997805,-1)|0;Ee=Ss(_e|0,se|0,Ee|0,I|0)|0;se=I;_e=Es(L|0,U|0,136657,0)|0;_e=Ss(v|0,_|0,_e|0,I|0)|0;_=I;U=Es(L|0,U|0,-683901,-1)|0;L=I;ee=Ss(Se|0,ge|0,d|0,ee|0)|0;Re=ks(ee|0,I|0,P&-2097152|0,Re|0)|0;k=Ss(Re|0,I|0,j|0,k|0)|0;z=Ss(k|0,I|0,X|0,z|0)|0;L=Ss(z|0,I|0,U|0,L|0)|0;U=I;z=Es(me|0,ae|0,666643,0)|0;X=I;k=Es(me|0,ae|0,470296,0)|0;j=I;Re=Es(me|0,ae|0,654183,0)|0;P=I;ee=Es(me|0,ae|0,-997805,-1)|0;d=I;ge=Es(me|0,ae|0,136657,0)|0;ge=Ss(Ee|0,se|0,ge|0,I|0)|0;se=I;ae=Es(me|0,ae|0,-683901,-1)|0;ae=Ss(_e|0,_|0,ae|0,I|0)|0;_=I;_e=Es(pe|0,ue|0,666643,0)|0;me=I;Ee=Es(pe|0,ue|0,470296,0)|0;Se=I;v=Es(pe|0,ue|0,654183,0)|0;m=I;n=Es(pe|0,ue|0,-997805,-1)|0;u=I;R=Es(pe|0,ue|0,136657,0)|0;Y=I;ue=Es(pe|0,ue|0,-683901,-1)|0;ue=Ss(ge|0,se|0,ue|0,I|0)|0;se=I;ge=Es(he|0,W|0,666643,0)|0;be=Ss(ge|0,I|0,M|we|ve&2031616|0,be|0)|0;ve=I;we=Es(he|0,W|0,470296,0)|0;M=I;ge=Es(he|0,W|0,654183,0)|0;Te=Ss(ge|0,I|0,Te&2097151|0,0)|0;X=Ss(Te|0,I|0,z|0,X|0)|0;Se=Ss(X|0,I|0,Ee|0,Se|0)|0;Ee=I;X=Es(he|0,W|0,-997805,-1)|0;z=I;Te=Es(he|0,W|0,136657,0)|0;Te=Ss(Ae|0,Oe|0,Te|0,I|0)|0;P=Ss(Te|0,I|0,Re|0,P|0)|0;u=Ss(P|0,I|0,n|0,u|0)|0;n=I;W=Es(he|0,W|0,-683901,-1)|0;he=I;P=Ss(be|0,ve|0,1048576,0)|0;Re=I;Te=Os(P|0,Re|0,21)|0;Oe=I;te=Ss(we|0,M|0,te&2097151|0,0)|0;me=Ss(te|0,I|0,_e|0,me|0)|0;Oe=Ss(me|0,I|0,Te|0,Oe|0)|0;Te=I;Re=ks(be|0,ve|0,P&-2097152|0,Re|0)|0;P=I;ve=Ss(Se|0,Ee|0,1048576,0)|0;be=I;me=Os(ve|0,be|0,21)|0;_e=I;z=Ss(A|0,G|0,X|0,z|0)|0;j=Ss(z|0,I|0,k|0,j|0)|0;m=Ss(j|0,I|0,v|0,m|0)|0;_e=Ss(m|0,I|0,me|0,_e|0)|0;me=I;m=Ss(u|0,n|0,1048576,0)|0;v=I;j=Os(m|0,v|0,21)|0;k=I;he=Ss(K|0,x|0,W|0,he|0)|0;d=Ss(he|0,I|0,ee|0,d|0)|0;Y=Ss(d|0,I|0,R|0,Y|0)|0;k=Ss(Y|0,I|0,j|0,k|0)|0;j=I;Y=Ss(ue|0,se|0,1048576,0)|0;R=I;d=Os(Y|0,R|0,21)|0;d=Ss(ae|0,_|0,d|0,I|0)|0;_=I;R=ks(ue|0,se|0,Y&-2097152|0,R|0)|0;Y=I;se=Ss(L|0,U|0,1048576,0)|0;ue=I;ae=Os(se|0,ue|0,21)|0;ae=Ss(Ie|0,i|0,ae|0,I|0)|0;i=I;ue=ks(L|0,U|0,se&-2097152|0,ue|0)|0;se=I;U=Ss(oe|0,ke|0,1048576,0)|0;L=I;Ie=Os(U|0,L|0,21)|0;Ie=Ss(ye|0,le|0,Ie|0,I|0)|0;le=I;L=ks(oe|0,ke|0,U&-2097152|0,L|0)|0;U=I;ke=Ss(Oe|0,Te|0,1048576,0)|0;oe=I;ye=Os(ke|0,oe|0,21)|0;ee=I;he=Ss(_e|0,me|0,1048576,0)|0;W=I;x=Os(he|0,W|0,21)|0;K=I;z=Ss(k|0,j|0,1048576,0)|0;X=I;G=Os(z|0,X|0,21)|0;G=Ss(R|0,Y|0,G|0,I|0)|0;Y=I;R=Ss(d|0,_|0,1048576,0)|0;A=I;te=Os(R|0,A|0,21)|0;te=Ss(ue|0,se|0,te|0,I|0)|0;se=I;A=ks(d|0,_|0,R&-2097152|0,A|0)|0;R=I;_=Ss(ae|0,i|0,1048576,0)|0;d=I;ue=Os(_|0,d|0,21)|0;ue=Ss(L|0,U|0,ue|0,I|0)|0;U=I;d=ks(ae|0,i|0,_&-2097152|0,d|0)|0;_=I;i=Ss(Ie|0,le|0,1048576,0)|0;ae=I;L=Os(i|0,ae|0,21)|0;M=I;ae=ks(Ie|0,le|0,i&-2097152|0,ae|0)|0;i=I;le=Es(L|0,M|0,666643,0)|0;le=Ss(Re|0,P|0,le|0,I|0)|0;P=I;Re=Es(L|0,M|0,470296,0)|0;Ie=I;we=Es(L|0,M|0,654183,0)|0;Ae=I;ge=Es(L|0,M|0,-997805,-1)|0;pe=I;g=Es(L|0,M|0,136657,0)|0;l=I;M=Es(L|0,M|0,-683901,-1)|0;L=I;P=Os(le|0,P|0,21)|0;ne=I;Ie=Ss(Oe|0,Te|0,Re|0,Ie|0)|0;oe=ks(Ie|0,I|0,ke&-2097152|0,oe|0)|0;ne=Ss(oe|0,I|0,P|0,ne|0)|0;P=Os(ne|0,I|0,21)|0;oe=I;Ae=Ss(Se|0,Ee|0,we|0,Ae|0)|0;be=ks(Ae|0,I|0,ve&-2097152|0,be|0)|0;ee=Ss(be|0,I|0,ye|0,ee|0)|0;oe=Ss(ee|0,I|0,P|0,oe|0)|0;P=Os(oe|0,I|0,21)|0;ee=I;pe=Ss(_e|0,me|0,ge|0,pe|0)|0;W=ks(pe|0,I|0,he&-2097152|0,W|0)|0;ee=Ss(W|0,I|0,P|0,ee|0)|0;P=Os(ee|0,I|0,21)|0;W=I;l=Ss(u|0,n|0,g|0,l|0)|0;v=ks(l|0,I|0,m&-2097152|0,v|0)|0;K=Ss(v|0,I|0,x|0,K|0)|0;W=Ss(K|0,I|0,P|0,W|0)|0;P=Os(W|0,I|0,21)|0;K=I;L=Ss(k|0,j|0,M|0,L|0)|0;X=ks(L|0,I|0,z&-2097152|0,X|0)|0;K=Ss(X|0,I|0,P|0,K|0)|0;P=Os(K|0,I|0,21)|0;P=Ss(G|0,Y|0,P|0,I|0)|0;Y=Os(P|0,I|0,21)|0;R=Ss(Y|0,I|0,A|0,R|0)|0;A=Os(R|0,I|0,21)|0;A=Ss(te|0,se|0,A|0,I|0)|0;se=Os(A|0,I|0,21)|0;_=Ss(se|0,I|0,d|0,_|0)|0;d=Os(_|0,I|0,21)|0;d=Ss(ue|0,U|0,d|0,I|0)|0;U=Os(d|0,I|0,21)|0;i=Ss(U|0,I|0,ae|0,i|0)|0;ae=Os(i|0,I|0,21)|0;U=I;ue=Es(ae|0,U|0,666643,0)|0;le=Ss(ue|0,I|0,le&2097151|0,0)|0;ue=I;se=Es(ae|0,U|0,470296,0)|0;ne=Ss(se|0,I|0,ne&2097151|0,0)|0;se=I;te=Es(ae|0,U|0,654183,0)|0;oe=Ss(te|0,I|0,oe&2097151|0,0)|0;te=I;Y=Es(ae|0,U|0,-997805,-1)|0;ee=Ss(Y|0,I|0,ee&2097151|0,0)|0;Y=I;G=Es(ae|0,U|0,136657,0)|0;W=Ss(G|0,I|0,W&2097151|0,0)|0;G=I;U=Es(ae|0,U|0,-683901,-1)|0;K=Ss(U|0,I|0,K&2097151|0,0)|0;U=I;ae=Os(le|0,ue|0,21)|0;ae=Ss(ne|0,se|0,ae|0,I|0)|0;se=I;ne=Os(ae|0,se|0,21)|0;ne=Ss(oe|0,te|0,ne|0,I|0)|0;te=I;oe=ae&2097151;X=Os(ne|0,te|0,21)|0;X=Ss(ee|0,Y|0,X|0,I|0)|0;Y=I;ee=ne&2097151;z=Os(X|0,Y|0,21)|0;z=Ss(W|0,G|0,z|0,I|0)|0;G=I;W=X&2097151;L=Os(z|0,G|0,21)|0;L=Ss(K|0,U|0,L|0,I|0)|0;U=I;K=z&2097151;M=Os(L|0,U|0,21)|0;P=Ss(M|0,I|0,P&2097151|0,0)|0;M=I;j=L&2097151;k=Os(P|0,M|0,21)|0;R=Ss(k|0,I|0,R&2097151|0,0)|0;k=I;x=P&2097151;v=Os(R|0,k|0,21)|0;A=Ss(v|0,I|0,A&2097151|0,0)|0;v=I;m=Os(A|0,v|0,21)|0;_=Ss(m|0,I|0,_&2097151|0,0)|0;m=I;l=Os(_|0,m|0,21)|0;d=Ss(l|0,I|0,d&2097151|0,0)|0;l=I;g=_&2097151;n=Os(d|0,l|0,21)|0;i=Ss(n|0,I|0,i&2097151|0,0)|0;n=I;u=d&2097151;r[e>>0]=le;e=Cs(le|0,ue|0,8)|0;r[de>>0]=e;e=Cs(le|0,ue|0,16)|0;ue=xs(oe|0,0,5)|0;r[ce>>0]=ue|e&31;e=Cs(ae|0,se|0,3)|0;r[fe>>0]=e;e=Cs(ae|0,se|0,11)|0;r[ie>>0]=e;e=Cs(oe|0,0,19)|0;oe=I;ie=xs(ee|0,0,2)|0;r[re>>0]=ie|e;e=Cs(ne|0,te|0,6)|0;r[$>>0]=e;e=Cs(ee|0,0,14)|0;ee=I;$=xs(W|0,0,7)|0;r[Z>>0]=$|e;e=Cs(X|0,Y|0,1)|0;r[J>>0]=e;e=Cs(X|0,Y|0,9)|0;r[Q>>0]=e;e=Cs(W|0,0,17)|0;W=I;Q=xs(K|0,0,4)|0;r[V>>0]=Q|e;e=Cs(z|0,G|0,4)|0;r[H>>0]=e;e=Cs(z|0,G|0,12)|0;r[F>>0]=e;e=Cs(K|0,0,20)|0;K=I;F=xs(j|0,0,1)|0;r[q>>0]=F|e;e=Cs(L|0,U|0,7)|0;r[N>>0]=e;e=Cs(j|0,0,15)|0;j=I;N=xs(x|0,0,6)|0;r[B>>0]=N|e;e=Cs(P|0,M|0,2)|0;r[D>>0]=e;e=Cs(P|0,M|0,10)|0;r[C>>0]=e;e=Cs(x|0,0,18)|0;x=I;C=xs(R|0,k|0,3)|0;r[O>>0]=C|e;e=Cs(R|0,k|0,5)|0;r[T>>0]=e;e=Cs(R|0,k|0,13)|0;r[S>>0]=e;r[E>>0]=A;e=Cs(A|0,v|0,8)|0;r[w>>0]=e;e=Cs(A|0,v|0,16)|0;v=xs(g|0,0,5)|0;r[b>>0]=v|e&31;e=Cs(_|0,m|0,3)|0;r[y>>0]=e;e=Cs(_|0,m|0,11)|0;r[p>>0]=e;e=Cs(g|0,0,19)|0;g=I;p=xs(u|0,0,2)|0;r[h>>0]=p|e;e=Cs(d|0,l|0,6)|0;r[c>>0]=e;e=Cs(u|0,0,14)|0;u=I;c=xs(i|0,n|0,7)|0;r[f>>0]=c|e;e=Cs(i|0,n|0,1)|0;r[a>>0]=e;e=Cs(i|0,n|0,9)|0;r[o>>0]=e;e=Os(i|0,n|0,17)|0;r[t>>0]=e;return}function ti(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var o=0,a=0,f=0,c=0,u=0,l=0,d=0,h=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,R=0,T=0,O=0,C=0,x=0,M=0,P=0,D=0,B=0,N=0,j=0,U=0,L=0,q=0,F=0,K=0,G=0,z=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,fe=0,ce=0,ue=0,le=0,de=0,he=0,pe=0,ge=0,me=0,_e=0,ye=0,be=0,ve=0,Ae=0,we=0,Ee=0,Se=0,ke=0,Ie=0,Re=0,Te=0,Oe=0,Ce=0,xe=0,Me=0,Pe=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,qe=0,Fe=0,Ke=0,Ge=0,ze=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0,at=0,ft=0,ct=0,ut=0,lt=0,dt=0,ht=0,pt=0,gt=0,mt=0,_t=0,yt=0,bt=0,vt=0,At=0,wt=0,Et=0,St=0,kt=0,It=0,Rt=0,Tt=0,Ot=0,Ct=0,xt=0,Mt=0,Pt=0,Dt=0,Bt=0,Nt=0,jt=0,Ut=0,Lt=0,qt=0,Ft=0,Kt=0,Gt=0,zt=0,Ht=0,Vt=0,Qt=0,Wt=0,Yt=0,Xt=0,Jt=0,Zt=0,$t=0,en=0,tn=0,nn=0,rn=0,on=0,sn=0,an=0,fn=0,cn=0,un=0,ln=0,dn=0,hn=0,pn=0,gn=0,mn=0,_n=0,yn=0,bn=0,vn=0,An=0,wn=0;ot=r[t+2>>0]|0;pe=s[t>>0]|0;pt=xs(s[t+1>>0]|0|0,0,8)|0;Ue=I;ot=ot&255;Le=xs(ot|0,0,16)|0;Le=pt|pe|Le&2031616;pe=xs(s[t+3>>0]|0|0,0,8)|0;pt=I;$e=xs(s[t+4>>0]|0|0,0,16)|0;pt=pt|I;ht=s[t+5>>0]|0;L=xs(ht|0,0,24)|0;pt=Cs(pe|ot|$e|L|0,pt|I|0,5)|0;pt=pt&2097151;L=r[t+7>>0]|0;$e=xs(s[t+6>>0]|0|0,0,8)|0;ot=I;L=L&255;pe=xs(L|0,0,16)|0;ot=Cs($e|ht|pe|0,ot|I|0,2)|0;ot=ot&2097151;pe=xs(s[t+8>>0]|0|0,0,8)|0;ht=I;$e=xs(s[t+9>>0]|0|0,0,16)|0;ht=ht|I;z=s[t+10>>0]|0;B=xs(z|0,0,24)|0;ht=Cs(pe|L|$e|B|0,ht|I|0,7)|0;ht=ht&2097151;B=xs(s[t+11>>0]|0|0,0,8)|0;$e=I;L=xs(s[t+12>>0]|0|0,0,16)|0;$e=$e|I;pe=s[t+13>>0]|0;g=xs(pe|0,0,24)|0;$e=Cs(B|z|L|g|0,$e|I|0,4)|0;$e=$e&2097151;g=r[t+15>>0]|0;L=xs(s[t+14>>0]|0|0,0,8)|0;z=I;g=g&255;B=xs(g|0,0,16)|0;z=Cs(L|pe|B|0,z|I|0,1)|0;z=z&2097151;B=xs(s[t+16>>0]|0|0,0,8)|0;pe=I;L=xs(s[t+17>>0]|0|0,0,16)|0;pe=pe|I;N=s[t+18>>0]|0;l=xs(N|0,0,24)|0;pe=Cs(B|g|L|l|0,pe|I|0,6)|0;pe=pe&2097151;l=r[t+20>>0]|0;L=xs(s[t+19>>0]|0|0,0,8)|0;g=I;l=xs(l&255|0,0,16)|0;g=Cs(L|N|l|0,g|I|0,3)|0;l=I;N=r[t+23>>0]|0;L=s[t+21>>0]|0;B=xs(s[t+22>>0]|0|0,0,8)|0;G=I;N=N&255;C=xs(N|0,0,16)|0;C=B|L|C&2031616;L=xs(s[t+24>>0]|0|0,0,8)|0;B=I;Je=xs(s[t+25>>0]|0|0,0,16)|0;B=B|I;me=s[t+26>>0]|0;E=xs(me|0,0,24)|0;B=Cs(L|N|Je|E|0,B|I|0,5)|0;B=B&2097151;E=r[t+28>>0]|0;Je=xs(s[t+27>>0]|0|0,0,8)|0;N=I;E=E&255;L=xs(E|0,0,16)|0;N=Cs(Je|me|L|0,N|I|0,2)|0;N=N&2097151;L=xs(s[t+29>>0]|0|0,0,8)|0;me=I;Je=xs(s[t+30>>0]|0|0,0,16)|0;me=me|I;_e=xs(s[t+31>>0]|0|0,0,24)|0;me=Cs(L|E|Je|_e|0,me|I|0,7)|0;_e=I;Je=r[n+2>>0]|0;E=s[n>>0]|0;L=xs(s[n+1>>0]|0|0,0,8)|0;Et=I;Je=Je&255;wt=xs(Je|0,0,16)|0;wt=L|E|wt&2031616;E=xs(s[n+3>>0]|0|0,0,8)|0;L=I;u=xs(s[n+4>>0]|0|0,0,16)|0;L=L|I;y=s[n+5>>0]|0;yn=xs(y|0,0,24)|0;L=Cs(E|Je|u|yn|0,L|I|0,5)|0;L=L&2097151;yn=r[n+7>>0]|0;u=xs(s[n+6>>0]|0|0,0,8)|0;Je=I;yn=yn&255;E=xs(yn|0,0,16)|0;Je=Cs(u|y|E|0,Je|I|0,2)|0;Je=Je&2097151;E=xs(s[n+8>>0]|0|0,0,8)|0;y=I;u=xs(s[n+9>>0]|0|0,0,16)|0;y=y|I;d=s[n+10>>0]|0;w=xs(d|0,0,24)|0;y=Cs(E|yn|u|w|0,y|I|0,7)|0;y=y&2097151;w=xs(s[n+11>>0]|0|0,0,8)|0;u=I;yn=xs(s[n+12>>0]|0|0,0,16)|0;u=u|I;E=s[n+13>>0]|0;wn=xs(E|0,0,24)|0;u=Cs(w|d|yn|wn|0,u|I|0,4)|0;u=u&2097151;wn=r[n+15>>0]|0;yn=xs(s[n+14>>0]|0|0,0,8)|0;d=I;wn=wn&255;w=xs(wn|0,0,16)|0;d=Cs(yn|E|w|0,d|I|0,1)|0;d=d&2097151;w=xs(s[n+16>>0]|0|0,0,8)|0;E=I;yn=xs(s[n+17>>0]|0|0,0,16)|0;E=E|I;vt=s[n+18>>0]|0;Z=xs(vt|0,0,24)|0;E=Cs(w|wn|yn|Z|0,E|I|0,6)|0;E=E&2097151;Z=r[n+20>>0]|0;yn=xs(s[n+19>>0]|0|0,0,8)|0;wn=I;Z=xs(Z&255|0,0,16)|0;wn=Cs(yn|vt|Z|0,wn|I|0,3)|0;Z=I;vt=r[n+23>>0]|0;yn=s[n+21>>0]|0;w=xs(s[n+22>>0]|0|0,0,8)|0;Se=I;vt=vt&255;ke=xs(vt|0,0,16)|0;ke=w|yn|ke&2031616;yn=xs(s[n+24>>0]|0|0,0,8)|0;w=I;Pe=xs(s[n+25>>0]|0|0,0,16)|0;w=w|I;Q=s[n+26>>0]|0;bn=xs(Q|0,0,24)|0;w=Cs(yn|vt|Pe|bn|0,w|I|0,5)|0;w=w&2097151;bn=r[n+28>>0]|0;Pe=xs(s[n+27>>0]|0|0,0,8)|0;vt=I;bn=bn&255;yn=xs(bn|0,0,16)|0;vt=Cs(Pe|Q|yn|0,vt|I|0,2)|0;vt=vt&2097151;yn=xs(s[n+29>>0]|0|0,0,8)|0;Q=I;Pe=xs(s[n+30>>0]|0|0,0,16)|0;Q=Q|I;V=xs(s[n+31>>0]|0|0,0,24)|0;Q=Cs(yn|bn|Pe|V|0,Q|I|0,7)|0;V=I;Pe=r[i+2>>0]|0;bn=s[i>>0]|0;yn=xs(s[i+1>>0]|0|0,0,8)|0;Oe=I;Pe=Pe&255;vn=xs(Pe|0,0,16)|0;ze=xs(s[i+3>>0]|0|0,0,8)|0;be=I;Re=xs(s[i+4>>0]|0|0,0,16)|0;be=be|I;Ee=s[i+5>>0]|0;m=xs(Ee|0,0,24)|0;be=Cs(ze|Pe|Re|m|0,be|I|0,5)|0;m=r[i+7>>0]|0;Re=xs(s[i+6>>0]|0|0,0,8)|0;Pe=I;m=m&255;ze=xs(m|0,0,16)|0;Pe=Cs(Re|Ee|ze|0,Pe|I|0,2)|0;ze=xs(s[i+8>>0]|0|0,0,8)|0;Ee=I;Re=xs(s[i+9>>0]|0|0,0,16)|0;Ee=Ee|I;De=s[i+10>>0]|0;ve=xs(De|0,0,24)|0;Ee=Cs(ze|m|Re|ve|0,Ee|I|0,7)|0;ve=xs(s[i+11>>0]|0|0,0,8)|0;Re=I;m=xs(s[i+12>>0]|0|0,0,16)|0;Re=Re|I;ze=s[i+13>>0]|0;le=xs(ze|0,0,24)|0;Re=Cs(ve|De|m|le|0,Re|I|0,4)|0;le=r[i+15>>0]|0;m=xs(s[i+14>>0]|0|0,0,8)|0;De=I;le=le&255;ve=xs(le|0,0,16)|0;De=Cs(m|ze|ve|0,De|I|0,1)|0;ve=xs(s[i+16>>0]|0|0,0,8)|0;ze=I;m=xs(s[i+17>>0]|0|0,0,16)|0;ze=ze|I;te=s[i+18>>0]|0;ue=xs(te|0,0,24)|0;ze=Cs(ve|le|m|ue|0,ze|I|0,6)|0;ue=r[i+20>>0]|0;m=xs(s[i+19>>0]|0|0,0,8)|0;le=I;ue=xs(ue&255|0,0,16)|0;le=Cs(m|te|ue|0,le|I|0,3)|0;ue=I;te=r[i+23>>0]|0;m=s[i+21>>0]|0;ve=xs(s[i+22>>0]|0|0,0,8)|0;X=I;te=te&255;J=xs(te|0,0,16)|0;O=xs(s[i+24>>0]|0|0,0,8)|0;Ae=I;Te=xs(s[i+25>>0]|0|0,0,16)|0;Ae=Ae|I;rt=s[i+26>>0]|0;j=xs(rt|0,0,24)|0;Ae=Cs(O|te|Te|j|0,Ae|I|0,5)|0;j=r[i+28>>0]|0;Te=xs(s[i+27>>0]|0|0,0,8)|0;te=I;j=j&255;O=xs(j|0,0,16)|0;te=Cs(Te|rt|O|0,te|I|0,2)|0;O=xs(s[i+29>>0]|0|0,0,8)|0;rt=I;Te=xs(s[i+30>>0]|0|0,0,16)|0;rt=rt|I;ct=xs(s[i+31>>0]|0|0,0,24)|0;rt=Cs(O|j|Te|ct|0,rt|I|0,7)|0;ct=I;Te=Es(wt|0,Et|0,Le|0,Ue|0)|0;Te=Ss(yn|bn|vn&2031616|0,Oe|0,Te|0,I|0)|0;Oe=I;vn=Es(L|0,0,Le|0,Ue|0)|0;bn=I;yn=Es(wt|0,Et|0,pt|0,0)|0;j=I;O=Es(Je|0,0,Le|0,Ue|0)|0;Me=I;re=Es(L|0,0,pt|0,0)|0;hn=I;we=Es(wt|0,Et|0,ot|0,0)|0;we=Ss(re|0,hn|0,we|0,I|0)|0;Me=Ss(we|0,I|0,O|0,Me|0)|0;Pe=Ss(Me|0,I|0,Pe&2097151|0,0)|0;Me=I;O=Es(y|0,0,Le|0,Ue|0)|0;we=I;hn=Es(Je|0,0,pt|0,0)|0;re=I;_n=Es(L|0,0,ot|0,0)|0;mn=I;gn=Es(wt|0,Et|0,ht|0,0)|0;pn=I;H=Es(u|0,0,Le|0,Ue|0)|0;Ie=I;rn=Es(y|0,0,pt|0,0)|0;Be=I;sn=Es(Je|0,0,ot|0,0)|0;T=I;an=Es(L|0,0,ht|0,0)|0;fn=I;on=Es(wt|0,Et|0,$e|0,0)|0;on=Ss(an|0,fn|0,on|0,I|0)|0;T=Ss(on|0,I|0,sn|0,T|0)|0;Be=Ss(T|0,I|0,rn|0,Be|0)|0;Ie=Ss(Be|0,I|0,H|0,Ie|0)|0;Re=Ss(Ie|0,I|0,Re&2097151|0,0)|0;Ie=I;H=Es(d|0,0,Le|0,Ue|0)|0;Be=I;rn=Es(u|0,0,pt|0,0)|0;T=I;sn=Es(y|0,0,ot|0,0)|0;on=I;fn=Es(Je|0,0,ht|0,0)|0;an=I;dn=Es(L|0,0,$e|0,0)|0;ln=I;un=Es(wt|0,Et|0,z|0,0)|0;cn=I;R=Es(E|0,0,Le|0,Ue|0)|0;He=I;zt=Es(d|0,0,pt|0,0)|0;o=I;Vt=Es(u|0,0,ot|0,0)|0;Gt=I;Wt=Es(y|0,0,ht|0,0)|0;Ht=I;Xt=Es(Je|0,0,$e|0,0)|0;Qt=I;Jt=Es(L|0,0,z|0,0)|0;Zt=I;Yt=Es(wt|0,Et|0,pe|0,0)|0;Yt=Ss(Jt|0,Zt|0,Yt|0,I|0)|0;Qt=Ss(Yt|0,I|0,Xt|0,Qt|0)|0;Ht=Ss(Qt|0,I|0,Wt|0,Ht|0)|0;Gt=Ss(Ht|0,I|0,Vt|0,Gt|0)|0;o=Ss(Gt|0,I|0,zt|0,o|0)|0;He=Ss(o|0,I|0,R|0,He|0)|0;ze=Ss(He|0,I|0,ze&2097151|0,0)|0;He=I;R=Es(wn|0,Z|0,Le|0,Ue|0)|0;o=I;zt=Es(E|0,0,pt|0,0)|0;Gt=I;Vt=Es(d|0,0,ot|0,0)|0;Ht=I;Wt=Es(u|0,0,ht|0,0)|0;Qt=I;Xt=Es(y|0,0,$e|0,0)|0;Yt=I;Zt=Es(Je|0,0,z|0,0)|0;Jt=I;nn=Es(L|0,0,pe|0,0)|0;tn=I;en=Es(wt|0,Et|0,g|0,l|0)|0;$t=I;ee=Es(ke|0,Se|0,Le|0,Ue|0)|0;It=I;Rt=Es(wn|0,Z|0,pt|0,0)|0;Tt=I;Ot=Es(E|0,0,ot|0,0)|0;Ct=I;xt=Es(d|0,0,ht|0,0)|0;Mt=I;Pt=Es(u|0,0,$e|0,0)|0;Dt=I;Bt=Es(y|0,0,z|0,0)|0;Nt=I;jt=Es(Je|0,0,pe|0,0)|0;Ut=I;qt=Es(L|0,0,g|0,l|0)|0;Ft=I;Kt=Es(wt|0,Et|0,C|0,G|0)|0;Kt=Ss(qt|0,Ft|0,Kt|0,I|0)|0;Ut=Ss(Kt|0,I|0,jt|0,Ut|0)|0;Nt=Ss(Ut|0,I|0,Bt|0,Nt|0)|0;Dt=Ss(Nt|0,I|0,Pt|0,Dt|0)|0;Mt=Ss(Dt|0,I|0,xt|0,Mt|0)|0;Ct=Ss(Mt|0,I|0,Ot|0,Ct|0)|0;Tt=Ss(Ct|0,I|0,Rt|0,Tt|0)|0;It=Ss(Tt|0,I|0,ee|0,It|0)|0;X=Ss(It|0,I|0,ve|m|J&2031616|0,X|0)|0;J=I;m=Es(w|0,0,Le|0,Ue|0)|0;ve=I;It=Es(ke|0,Se|0,pt|0,0)|0;ee=I;Tt=Es(wn|0,Z|0,ot|0,0)|0;Rt=I;Ct=Es(E|0,0,ht|0,0)|0;Ot=I;Mt=Es(d|0,0,$e|0,0)|0;xt=I;Dt=Es(u|0,0,z|0,0)|0;Pt=I;Nt=Es(y|0,0,pe|0,0)|0;Bt=I;Ut=Es(Je|0,0,g|0,l|0)|0;jt=I;Kt=Es(L|0,0,C|0,G|0)|0;Ft=I;qt=Es(wt|0,Et|0,B|0,0)|0;Lt=I;et=Es(vt|0,0,Le|0,Ue|0)|0;ne=I;je=Es(w|0,0,pt|0,0)|0;tt=I;mt=Es(ke|0,Se|0,ot|0,0)|0;Ne=I;c=Es(wn|0,Z|0,ht|0,0)|0;_t=I;Ke=Es(E|0,0,$e|0,0)|0;v=I;st=Es(d|0,0,z|0,0)|0;Ge=I;i=Es(u|0,0,pe|0,0)|0;at=I;We=Es(y|0,0,g|0,l|0)|0;t=I;he=Es(Je|0,0,C|0,G|0)|0;Ye=I;St=Es(L|0,0,B|0,0)|0;kt=I;ye=Es(wt|0,Et|0,N|0,0)|0;ye=Ss(St|0,kt|0,ye|0,I|0)|0;Ye=Ss(ye|0,I|0,he|0,Ye|0)|0;t=Ss(Ye|0,I|0,We|0,t|0)|0;at=Ss(t|0,I|0,i|0,at|0)|0;Ge=Ss(at|0,I|0,st|0,Ge|0)|0;v=Ss(Ge|0,I|0,Ke|0,v|0)|0;_t=Ss(v|0,I|0,c|0,_t|0)|0;Ne=Ss(_t|0,I|0,mt|0,Ne|0)|0;tt=Ss(Ne|0,I|0,je|0,tt|0)|0;ne=Ss(tt|0,I|0,et|0,ne|0)|0;te=Ss(ne|0,I|0,te&2097151|0,0)|0;ne=I;Ue=Es(Q|0,V|0,Le|0,Ue|0)|0;Le=I;et=Es(vt|0,0,pt|0,0)|0;tt=I;je=Es(w|0,0,ot|0,0)|0;Ne=I;mt=Es(ke|0,Se|0,ht|0,0)|0;_t=I;c=Es(wn|0,Z|0,$e|0,0)|0;v=I;Ke=Es(E|0,0,z|0,0)|0;Ge=I;st=Es(d|0,0,pe|0,0)|0;at=I;i=Es(u|0,0,g|0,l|0)|0;t=I;We=Es(y|0,0,C|0,G|0)|0;Ye=I;he=Es(Je|0,0,B|0,0)|0;ye=I;kt=Es(L|0,0,N|0,0)|0;St=I;Et=Es(wt|0,Et|0,me|0,_e|0)|0;wt=I;pt=Es(Q|0,V|0,pt|0,0)|0;gt=I;M=Es(vt|0,0,ot|0,0)|0;it=I;ce=Es(w|0,0,ht|0,0)|0;n=I;yt=Es(ke|0,Se|0,$e|0,0)|0;qe=I;S=Es(wn|0,Z|0,z|0,0)|0;bt=I;ie=Es(E|0,0,pe|0,0)|0;q=I;Fe=Es(d|0,0,g|0,l|0)|0;oe=I;W=Es(u|0,0,C|0,G|0)|0;fe=I;U=Es(y|0,0,B|0,0)|0;Y=I;dt=Es(Je|0,0,N|0,0)|0;Xe=I;L=Es(L|0,0,me|0,_e|0)|0;L=Ss(dt|0,Xe|0,L|0,I|0)|0;Y=Ss(L|0,I|0,U|0,Y|0)|0;fe=Ss(Y|0,I|0,W|0,fe|0)|0;oe=Ss(fe|0,I|0,Fe|0,oe|0)|0;q=Ss(oe|0,I|0,ie|0,q|0)|0;bt=Ss(q|0,I|0,S|0,bt|0)|0;qe=Ss(bt|0,I|0,yt|0,qe|0)|0;n=Ss(qe|0,I|0,ce|0,n|0)|0;it=Ss(n|0,I|0,M|0,it|0)|0;gt=Ss(it|0,I|0,pt|0,gt|0)|0;pt=I;ot=Es(Q|0,V|0,ot|0,0)|0;it=I;M=Es(vt|0,0,ht|0,0)|0;n=I;ce=Es(w|0,0,$e|0,0)|0;qe=I;yt=Es(ke|0,Se|0,z|0,0)|0;bt=I;S=Es(wn|0,Z|0,pe|0,0)|0;q=I;ie=Es(E|0,0,g|0,l|0)|0;oe=I;Fe=Es(d|0,0,C|0,G|0)|0;fe=I;W=Es(u|0,0,B|0,0)|0;Y=I;U=Es(y|0,0,N|0,0)|0;L=I;Je=Es(Je|0,0,me|0,_e|0)|0;Xe=I;ht=Es(Q|0,V|0,ht|0,0)|0;dt=I;ut=Es(vt|0,0,$e|0,0)|0;Ze=I;K=Es(w|0,0,z|0,0)|0;lt=I;$=Es(ke|0,Se|0,pe|0,0)|0;F=I;ae=Es(wn|0,Z|0,g|0,l|0)|0;x=I;A=Es(E|0,0,C|0,G|0)|0;se=I;h=Es(d|0,0,B|0,0)|0;f=I;At=Es(u|0,0,N|0,0)|0;a=I;y=Es(y|0,0,me|0,_e|0)|0;y=Ss(At|0,a|0,y|0,I|0)|0;f=Ss(y|0,I|0,h|0,f|0)|0;se=Ss(f|0,I|0,A|0,se|0)|0;x=Ss(se|0,I|0,ae|0,x|0)|0;F=Ss(x|0,I|0,$|0,F|0)|0;lt=Ss(F|0,I|0,K|0,lt|0)|0;Ze=Ss(lt|0,I|0,ut|0,Ze|0)|0;dt=Ss(Ze|0,I|0,ht|0,dt|0)|0;ht=I;$e=Es(Q|0,V|0,$e|0,0)|0;Ze=I;ut=Es(vt|0,0,z|0,0)|0;lt=I;K=Es(w|0,0,pe|0,0)|0;F=I;$=Es(ke|0,Se|0,g|0,l|0)|0;x=I;ae=Es(wn|0,Z|0,C|0,G|0)|0;se=I;A=Es(E|0,0,B|0,0)|0;f=I;h=Es(d|0,0,N|0,0)|0;y=I;u=Es(u|0,0,me|0,_e|0)|0;a=I;z=Es(Q|0,V|0,z|0,0)|0;At=I;b=Es(vt|0,0,pe|0,0)|0;ge=I;P=Es(w|0,0,g|0,l|0)|0;p=I;Qe=Es(ke|0,Se|0,C|0,G|0)|0;D=I;_=Es(wn|0,Z|0,B|0,0)|0;Ve=I;xe=Es(E|0,0,N|0,0)|0;k=I;d=Es(d|0,0,me|0,_e|0)|0;d=Ss(xe|0,k|0,d|0,I|0)|0;Ve=Ss(d|0,I|0,_|0,Ve|0)|0;D=Ss(Ve|0,I|0,Qe|0,D|0)|0;p=Ss(D|0,I|0,P|0,p|0)|0;ge=Ss(p|0,I|0,b|0,ge|0)|0;At=Ss(ge|0,I|0,z|0,At|0)|0;z=I;pe=Es(Q|0,V|0,pe|0,0)|0;ge=I;b=Es(vt|0,0,g|0,l|0)|0;p=I;P=Es(w|0,0,C|0,G|0)|0;D=I;Qe=Es(ke|0,Se|0,B|0,0)|0;Ve=I;_=Es(wn|0,Z|0,N|0,0)|0;d=I;E=Es(E|0,0,me|0,_e|0)|0;k=I;l=Es(Q|0,V|0,g|0,l|0)|0;g=I;xe=Es(vt|0,0,C|0,G|0)|0;Ce=I;ft=Es(w|0,0,B|0,0)|0;nt=I;de=Es(ke|0,Se|0,N|0,0)|0;An=I;Z=Es(wn|0,Z|0,me|0,_e|0)|0;Z=Ss(de|0,An|0,Z|0,I|0)|0;nt=Ss(Z|0,I|0,ft|0,nt|0)|0;Ce=Ss(nt|0,I|0,xe|0,Ce|0)|0;g=Ss(Ce|0,I|0,l|0,g|0)|0;l=I;G=Es(Q|0,V|0,C|0,G|0)|0;C=I;Ce=Es(vt|0,0,B|0,0)|0;xe=I;nt=Es(w|0,0,N|0,0)|0;ft=I;Se=Es(ke|0,Se|0,me|0,_e|0)|0;ke=I;B=Es(Q|0,V|0,B|0,0)|0;Z=I;An=Es(vt|0,0,N|0,0)|0;de=I;w=Es(w|0,0,me|0,_e|0)|0;w=Ss(An|0,de|0,w|0,I|0)|0;Z=Ss(w|0,I|0,B|0,Z|0)|0;B=I;N=Es(Q|0,V|0,N|0,0)|0;w=I;vt=Es(vt|0,0,me|0,_e|0)|0;vt=Ss(N|0,w|0,vt|0,I|0)|0;w=I;_e=Es(Q|0,V|0,me|0,_e|0)|0;me=I;V=Ss(Te|0,Oe|0,1048576,0)|0;Q=I;N=Cs(V|0,Q|0,21)|0;de=I;j=Ss(vn|0,bn|0,yn|0,j|0)|0;de=Ss(j|0,I|0,N|0,de|0)|0;be=Ss(de|0,I|0,be&2097151|0,0)|0;de=I;Q=ks(Te|0,Oe|0,V&-2097152|0,Q&4095|0)|0;V=I;Oe=Ss(Pe|0,Me|0,1048576,0)|0;Te=I;N=Cs(Oe|0,Te|0,21)|0;j=I;pn=Ss(_n|0,mn|0,gn|0,pn|0)|0;re=Ss(pn|0,I|0,hn|0,re|0)|0;we=Ss(re|0,I|0,O|0,we|0)|0;Ee=Ss(we|0,I|0,Ee&2097151|0,0)|0;j=Ss(Ee|0,I|0,N|0,j|0)|0;N=I;Ee=Ss(Re|0,Ie|0,1048576,0)|0;we=I;O=Os(Ee|0,we|0,21)|0;re=I;cn=Ss(dn|0,ln|0,un|0,cn|0)|0;an=Ss(cn|0,I|0,fn|0,an|0)|0;on=Ss(an|0,I|0,sn|0,on|0)|0;T=Ss(on|0,I|0,rn|0,T|0)|0;Be=Ss(T|0,I|0,H|0,Be|0)|0;De=Ss(Be|0,I|0,De&2097151|0,0)|0;re=Ss(De|0,I|0,O|0,re|0)|0;O=I;De=Ss(ze|0,He|0,1048576,0)|0;Be=I;H=Os(De|0,Be|0,21)|0;T=I;$t=Ss(nn|0,tn|0,en|0,$t|0)|0;Jt=Ss($t|0,I|0,Zt|0,Jt|0)|0;Yt=Ss(Jt|0,I|0,Xt|0,Yt|0)|0;Qt=Ss(Yt|0,I|0,Wt|0,Qt|0)|0;Ht=Ss(Qt|0,I|0,Vt|0,Ht|0)|0;Gt=Ss(Ht|0,I|0,zt|0,Gt|0)|0;o=Ss(Gt|0,I|0,R|0,o|0)|0;ue=Ss(o|0,I|0,le|0,ue|0)|0;T=Ss(ue|0,I|0,H|0,T|0)|0;H=I;ue=Ss(X|0,J|0,1048576,0)|0;le=I;o=Os(ue|0,le|0,21)|0;R=I;Lt=Ss(Kt|0,Ft|0,qt|0,Lt|0)|0;jt=Ss(Lt|0,I|0,Ut|0,jt|0)|0;Bt=Ss(jt|0,I|0,Nt|0,Bt|0)|0;Pt=Ss(Bt|0,I|0,Dt|0,Pt|0)|0;xt=Ss(Pt|0,I|0,Mt|0,xt|0)|0;Ot=Ss(xt|0,I|0,Ct|0,Ot|0)|0;Rt=Ss(Ot|0,I|0,Tt|0,Rt|0)|0;ee=Ss(Rt|0,I|0,It|0,ee|0)|0;ve=Ss(ee|0,I|0,m|0,ve|0)|0;Ae=Ss(ve|0,I|0,Ae&2097151|0,0)|0;R=Ss(Ae|0,I|0,o|0,R|0)|0;o=I;Ae=Ss(te|0,ne|0,1048576,0)|0;ve=I;m=Os(Ae|0,ve|0,21)|0;ee=I;wt=Ss(kt|0,St|0,Et|0,wt|0)|0;ye=Ss(wt|0,I|0,he|0,ye|0)|0;Ye=Ss(ye|0,I|0,We|0,Ye|0)|0;t=Ss(Ye|0,I|0,i|0,t|0)|0;at=Ss(t|0,I|0,st|0,at|0)|0;Ge=Ss(at|0,I|0,Ke|0,Ge|0)|0;v=Ss(Ge|0,I|0,c|0,v|0)|0;_t=Ss(v|0,I|0,mt|0,_t|0)|0;Ne=Ss(_t|0,I|0,je|0,Ne|0)|0;tt=Ss(Ne|0,I|0,et|0,tt|0)|0;Le=Ss(tt|0,I|0,Ue|0,Le|0)|0;ct=Ss(Le|0,I|0,rt|0,ct|0)|0;ee=Ss(ct|0,I|0,m|0,ee|0)|0;m=I;ct=Ss(gt|0,pt|0,1048576,0)|0;rt=I;Le=Os(ct|0,rt|0,21)|0;Ue=I;Xe=Ss(U|0,L|0,Je|0,Xe|0)|0;Y=Ss(Xe|0,I|0,W|0,Y|0)|0;fe=Ss(Y|0,I|0,Fe|0,fe|0)|0;oe=Ss(fe|0,I|0,ie|0,oe|0)|0;q=Ss(oe|0,I|0,S|0,q|0)|0;bt=Ss(q|0,I|0,yt|0,bt|0)|0;qe=Ss(bt|0,I|0,ce|0,qe|0)|0;n=Ss(qe|0,I|0,M|0,n|0)|0;it=Ss(n|0,I|0,ot|0,it|0)|0;Ue=Ss(it|0,I|0,Le|0,Ue|0)|0;Le=I;it=Ss(dt|0,ht|0,1048576,0)|0;ot=I;n=Os(it|0,ot|0,21)|0;M=I;a=Ss(h|0,y|0,u|0,a|0)|0;f=Ss(a|0,I|0,A|0,f|0)|0;se=Ss(f|0,I|0,ae|0,se|0)|0;x=Ss(se|0,I|0,$|0,x|0)|0;F=Ss(x|0,I|0,K|0,F|0)|0;lt=Ss(F|0,I|0,ut|0,lt|0)|0;Ze=Ss(lt|0,I|0,$e|0,Ze|0)|0;M=Ss(Ze|0,I|0,n|0,M|0)|0;n=I;Ze=Ss(At|0,z|0,1048576,0)|0;$e=I;lt=Os(Ze|0,$e|0,21)|0;ut=I;k=Ss(_|0,d|0,E|0,k|0)|0;Ve=Ss(k|0,I|0,Qe|0,Ve|0)|0;D=Ss(Ve|0,I|0,P|0,D|0)|0;p=Ss(D|0,I|0,b|0,p|0)|0;ge=Ss(p|0,I|0,pe|0,ge|0)|0;ut=Ss(ge|0,I|0,lt|0,ut|0)|0;lt=I;ge=Ss(g|0,l|0,1048576,0)|0;pe=I;p=Os(ge|0,pe|0,21)|0;b=I;ke=Ss(nt|0,ft|0,Se|0,ke|0)|0;xe=Ss(ke|0,I|0,Ce|0,xe|0)|0;C=Ss(xe|0,I|0,G|0,C|0)|0;b=Ss(C|0,I|0,p|0,b|0)|0;p=I;pe=ks(g|0,l|0,ge&-2097152|0,pe|0)|0;ge=I;l=Ss(Z|0,B|0,1048576,0)|0;g=I;C=Cs(l|0,g|0,21)|0;C=Ss(vt|0,w|0,C|0,I|0)|0;w=I;g=ks(Z|0,B|0,l&-2097152|0,g&2147483647|0)|0;l=I;B=Ss(_e|0,me|0,1048576,0)|0;Z=I;vt=Cs(B|0,Z|0,21)|0;G=I;Z=ks(_e|0,me|0,B&-2097152|0,Z&2147483647|0)|0;B=I;me=Ss(be|0,de|0,1048576,0)|0;_e=I;xe=Cs(me|0,_e|0,21)|0;Ce=I;_e=ks(be|0,de|0,me&-2097152|0,_e|0)|0;me=I;de=Ss(j|0,N|0,1048576,0)|0;be=I;ke=Os(de|0,be|0,21)|0;Se=I;be=ks(j|0,N|0,de&-2097152|0,be|0)|0;de=I;N=Ss(re|0,O|0,1048576,0)|0;j=I;ft=Os(N|0,j|0,21)|0;nt=I;D=Ss(T|0,H|0,1048576,0)|0;P=I;Ve=Os(D|0,P|0,21)|0;Qe=I;k=Ss(R|0,o|0,1048576,0)|0;E=I;d=Os(k|0,E|0,21)|0;_=I;F=Ss(ee|0,m|0,1048576,0)|0;K=I;x=Os(F|0,K|0,21)|0;$=I;se=Ss(Ue|0,Le|0,1048576,0)|0;ae=I;f=Os(se|0,ae|0,21)|0;A=I;a=Ss(M|0,n|0,1048576,0)|0;u=I;y=Os(a|0,u|0,21)|0;h=I;qe=Ss(ut|0,lt|0,1048576,0)|0;ce=I;bt=Os(qe|0,ce|0,21)|0;ge=Ss(bt|0,I|0,pe|0,ge|0)|0;pe=I;ce=ks(ut|0,lt|0,qe&-2097152|0,ce|0)|0;qe=I;lt=Ss(b|0,p|0,1048576,0)|0;ut=I;bt=Os(lt|0,ut|0,21)|0;l=Ss(bt|0,I|0,g|0,l|0)|0;g=I;ut=ks(b|0,p|0,lt&-2097152|0,ut|0)|0;lt=I;p=Ss(C|0,w|0,1048576,0)|0;b=I;bt=Cs(p|0,b|0,21)|0;B=Ss(bt|0,I|0,Z|0,B|0)|0;Z=I;b=ks(C|0,w|0,p&-2097152|0,b&2147483647|0)|0;p=I;w=Es(vt|0,G|0,666643,0)|0;C=I;bt=Es(vt|0,G|0,470296,0)|0;yt=I;q=Es(vt|0,G|0,654183,0)|0;S=I;oe=Es(vt|0,G|0,-997805,-1)|0;ie=I;fe=Es(vt|0,G|0,136657,0)|0;Fe=I;G=Es(vt|0,G|0,-683901,-1)|0;G=Ss(At|0,z|0,G|0,I|0)|0;$e=ks(G|0,I|0,Ze&-2097152|0,$e|0)|0;h=Ss($e|0,I|0,y|0,h|0)|0;y=I;$e=Es(B|0,Z|0,666643,0)|0;Ze=I;G=Es(B|0,Z|0,470296,0)|0;z=I;At=Es(B|0,Z|0,654183,0)|0;vt=I;Y=Es(B|0,Z|0,-997805,-1)|0;W=I;Xe=Es(B|0,Z|0,136657,0)|0;Je=I;Z=Es(B|0,Z|0,-683901,-1)|0;B=I;L=Es(b|0,p|0,666643,0)|0;U=I;tt=Es(b|0,p|0,470296,0)|0;et=I;Ne=Es(b|0,p|0,654183,0)|0;je=I;_t=Es(b|0,p|0,-997805,-1)|0;mt=I;v=Es(b|0,p|0,136657,0)|0;c=I;p=Es(b|0,p|0,-683901,-1)|0;b=I;ie=Ss(dt|0,ht|0,oe|0,ie|0)|0;Je=Ss(ie|0,I|0,Xe|0,Je|0)|0;b=Ss(Je|0,I|0,p|0,b|0)|0;ot=ks(b|0,I|0,it&-2097152|0,ot|0)|0;A=Ss(ot|0,I|0,f|0,A|0)|0;f=I;ot=Es(l|0,g|0,666643,0)|0;it=I;b=Es(l|0,g|0,470296,0)|0;p=I;Je=Es(l|0,g|0,654183,0)|0;Xe=I;ie=Es(l|0,g|0,-997805,-1)|0;oe=I;ht=Es(l|0,g|0,136657,0)|0;dt=I;g=Es(l|0,g|0,-683901,-1)|0;l=I;Ge=Es(ut|0,lt|0,666643,0)|0;Ke=I;at=Es(ut|0,lt|0,470296,0)|0;st=I;t=Es(ut|0,lt|0,654183,0)|0;i=I;Ye=Es(ut|0,lt|0,-997805,-1)|0;We=I;ye=Es(ut|0,lt|0,136657,0)|0;he=I;lt=Es(ut|0,lt|0,-683901,-1)|0;ut=I;yt=Ss(At|0,vt|0,bt|0,yt|0)|0;mt=Ss(yt|0,I|0,_t|0,mt|0)|0;pt=Ss(mt|0,I|0,gt|0,pt|0)|0;dt=Ss(pt|0,I|0,ht|0,dt|0)|0;ut=Ss(dt|0,I|0,lt|0,ut|0)|0;rt=ks(ut|0,I|0,ct&-2097152|0,rt|0)|0;$=Ss(rt|0,I|0,x|0,$|0)|0;x=I;rt=Es(ge|0,pe|0,666643,0)|0;rt=Ss(ft|0,nt|0,rt|0,I|0)|0;He=Ss(rt|0,I|0,ze|0,He|0)|0;Be=ks(He|0,I|0,De&-2097152|0,Be|0)|0;De=I;He=Es(ge|0,pe|0,470296,0)|0;ze=I;rt=Es(ge|0,pe|0,654183,0)|0;nt=I;it=Ss(at|0,st|0,ot|0,it|0)|0;nt=Ss(it|0,I|0,rt|0,nt|0)|0;Qe=Ss(nt|0,I|0,Ve|0,Qe|0)|0;J=Ss(Qe|0,I|0,X|0,J|0)|0;le=ks(J|0,I|0,ue&-2097152|0,le|0)|0;ue=I;J=Es(ge|0,pe|0,-997805,-1)|0;X=I;Qe=Es(ge|0,pe|0,136657,0)|0;Ve=I;Ze=Ss(tt|0,et|0,$e|0,Ze|0)|0;Xe=Ss(Ze|0,I|0,Je|0,Xe|0)|0;We=Ss(Xe|0,I|0,Ye|0,We|0)|0;Ve=Ss(We|0,I|0,Qe|0,Ve|0)|0;_=Ss(Ve|0,I|0,d|0,_|0)|0;ne=Ss(_|0,I|0,te|0,ne|0)|0;ve=ks(ne|0,I|0,Ae&-2097152|0,ve|0)|0;Ae=I;pe=Es(ge|0,pe|0,-683901,-1)|0;ge=I;ne=Ss(Be|0,De|0,1048576,0)|0;te=I;_=Os(ne|0,te|0,21)|0;d=I;Ke=Ss(He|0,ze|0,Ge|0,Ke|0)|0;H=Ss(Ke|0,I|0,T|0,H|0)|0;P=ks(H|0,I|0,D&-2097152|0,P|0)|0;d=Ss(P|0,I|0,_|0,d|0)|0;_=I;P=Ss(le|0,ue|0,1048576,0)|0;D=I;H=Os(P|0,D|0,21)|0;T=I;U=Ss(b|0,p|0,L|0,U|0)|0;i=Ss(U|0,I|0,t|0,i|0)|0;X=Ss(i|0,I|0,J|0,X|0)|0;o=Ss(X|0,I|0,R|0,o|0)|0;E=ks(o|0,I|0,k&-2097152|0,E|0)|0;T=Ss(E|0,I|0,H|0,T|0)|0;H=I;E=Ss(ve|0,Ae|0,1048576,0)|0;k=I;o=Os(E|0,k|0,21)|0;R=I;C=Ss(G|0,z|0,w|0,C|0)|0;je=Ss(C|0,I|0,Ne|0,je|0)|0;oe=Ss(je|0,I|0,ie|0,oe|0)|0;he=Ss(oe|0,I|0,ye|0,he|0)|0;ge=Ss(he|0,I|0,pe|0,ge|0)|0;m=Ss(ge|0,I|0,ee|0,m|0)|0;K=ks(m|0,I|0,F&-2097152|0,K|0)|0;R=Ss(K|0,I|0,o|0,R|0)|0;o=I;K=Ss($|0,x|0,1048576,0)|0;F=I;m=Os(K|0,F|0,21)|0;ee=I;S=Ss(Y|0,W|0,q|0,S|0)|0;c=Ss(S|0,I|0,v|0,c|0)|0;l=Ss(c|0,I|0,g|0,l|0)|0;Le=Ss(l|0,I|0,Ue|0,Le|0)|0;ae=ks(Le|0,I|0,se&-2097152|0,ae|0)|0;ee=Ss(ae|0,I|0,m|0,ee|0)|0;m=I;F=ks($|0,x|0,K&-2097152|0,F|0)|0;K=I;x=Ss(A|0,f|0,1048576,0)|0;$=I;ae=Os(x|0,$|0,21)|0;se=I;Fe=Ss(Z|0,B|0,fe|0,Fe|0)|0;n=Ss(Fe|0,I|0,M|0,n|0)|0;u=ks(n|0,I|0,a&-2097152|0,u|0)|0;se=Ss(u|0,I|0,ae|0,se|0)|0;ae=I;$=ks(A|0,f|0,x&-2097152|0,$|0)|0;x=I;f=Ss(h|0,y|0,1048576,0)|0;A=I;u=Os(f|0,A|0,21)|0;qe=Ss(u|0,I|0,ce|0,qe|0)|0;ce=I;A=ks(h|0,y|0,f&-2097152|0,A|0)|0;f=I;y=Ss(d|0,_|0,1048576,0)|0;h=I;u=Os(y|0,h|0,21)|0;a=I;n=Ss(T|0,H|0,1048576,0)|0;M=I;Fe=Os(n|0,M|0,21)|0;fe=I;B=Ss(R|0,o|0,1048576,0)|0;Z=I;Le=Os(B|0,Z|0,21)|0;K=Ss(Le|0,I|0,F|0,K|0)|0;F=I;Z=ks(R|0,o|0,B&-2097152|0,Z|0)|0;B=I;o=Ss(ee|0,m|0,1048576,0)|0;R=I;Le=Os(o|0,R|0,21)|0;x=Ss(Le|0,I|0,$|0,x|0)|0;$=I;R=ks(ee|0,m|0,o&-2097152|0,R|0)|0;o=I;m=Ss(se|0,ae|0,1048576,0)|0;ee=I;Le=Os(m|0,ee|0,21)|0;f=Ss(Le|0,I|0,A|0,f|0)|0;A=I;ee=ks(se|0,ae|0,m&-2097152|0,ee|0)|0;m=I;ae=Es(qe|0,ce|0,666643,0)|0;se=I;Le=Es(qe|0,ce|0,470296,0)|0;Ue=I;l=Es(qe|0,ce|0,654183,0)|0;g=I;c=Es(qe|0,ce|0,-997805,-1)|0;v=I;S=Es(qe|0,ce|0,136657,0)|0;q=I;ce=Es(qe|0,ce|0,-683901,-1)|0;ce=Ss(Fe|0,fe|0,ce|0,I|0)|0;Ae=Ss(ce|0,I|0,ve|0,Ae|0)|0;k=ks(Ae|0,I|0,E&-2097152|0,k|0)|0;E=I;Ae=Es(f|0,A|0,666643,0)|0;ve=I;ce=Es(f|0,A|0,470296,0)|0;fe=I;Fe=Es(f|0,A|0,654183,0)|0;qe=I;W=Es(f|0,A|0,-997805,-1)|0;Y=I;ge=Es(f|0,A|0,136657,0)|0;pe=I;A=Es(f|0,A|0,-683901,-1)|0;f=I;he=Es(ee|0,m|0,666643,0)|0;he=Ss(be|0,de|0,he|0,I|0)|0;de=I;be=Es(ee|0,m|0,470296,0)|0;ye=I;oe=Es(ee|0,m|0,654183,0)|0;ie=I;je=Es(ee|0,m|0,-997805,-1)|0;Ne=I;C=Es(ee|0,m|0,136657,0)|0;w=I;m=Es(ee|0,m|0,-683901,-1)|0;ee=I;v=Ss(ge|0,pe|0,c|0,v|0)|0;ee=Ss(v|0,I|0,m|0,ee|0)|0;a=Ss(ee|0,I|0,u|0,a|0)|0;ue=Ss(a|0,I|0,le|0,ue|0)|0;D=ks(ue|0,I|0,P&-2097152|0,D|0)|0;P=I;ue=Es(x|0,$|0,666643,0)|0;le=I;a=Es(x|0,$|0,470296,0)|0;u=I;ee=Es(x|0,$|0,654183,0)|0;m=I;v=Es(x|0,$|0,-997805,-1)|0;c=I;pe=Es(x|0,$|0,136657,0)|0;ge=I;$=Es(x|0,$|0,-683901,-1)|0;x=I;z=Es(R|0,o|0,666643,0)|0;G=I;X=Es(R|0,o|0,470296,0)|0;J=I;i=Es(R|0,o|0,654183,0)|0;t=I;U=Es(R|0,o|0,-997805,-1)|0;L=I;p=Es(R|0,o|0,136657,0)|0;b=I;o=Es(R|0,o|0,-683901,-1)|0;R=I;Ue=Ss(Fe|0,qe|0,Le|0,Ue|0)|0;Ne=Ss(Ue|0,I|0,je|0,Ne|0)|0;De=Ss(Ne|0,I|0,Be|0,De|0)|0;te=ks(De|0,I|0,ne&-2097152|0,te|0)|0;ge=Ss(te|0,I|0,pe|0,ge|0)|0;R=Ss(ge|0,I|0,o|0,R|0)|0;o=I;ge=Es(K|0,F|0,666643,0)|0;V=Ss(ge|0,I|0,Q|0,V|0)|0;Q=I;ge=Es(K|0,F|0,470296,0)|0;pe=I;te=Es(K|0,F|0,654183,0)|0;ne=I;Ce=Ss(Pe|0,Me|0,xe|0,Ce|0)|0;Te=ks(Ce|0,I|0,Oe&-2097152|0,Te|0)|0;ne=Ss(Te|0,I|0,te|0,ne|0)|0;le=Ss(ne|0,I|0,ue|0,le|0)|0;J=Ss(le|0,I|0,X|0,J|0)|0;X=I;le=Es(K|0,F|0,-997805,-1)|0;ue=I;ne=Es(K|0,F|0,136657,0)|0;te=I;Se=Ss(Re|0,Ie|0,ke|0,Se|0)|0;we=ks(Se|0,I|0,Ee&-2097152|0,we|0)|0;ve=Ss(we|0,I|0,Ae|0,ve|0)|0;ye=Ss(ve|0,I|0,be|0,ye|0)|0;te=Ss(ye|0,I|0,ne|0,te|0)|0;m=Ss(te|0,I|0,ee|0,m|0)|0;L=Ss(m|0,I|0,U|0,L|0)|0;U=I;F=Es(K|0,F|0,-683901,-1)|0;K=I;m=Ss(V|0,Q|0,1048576,0)|0;ee=I;te=Os(m|0,ee|0,21)|0;ne=I;pe=Ss(_e|0,me|0,ge|0,pe|0)|0;G=Ss(pe|0,I|0,z|0,G|0)|0;ne=Ss(G|0,I|0,te|0,ne|0)|0;te=I;ee=ks(V|0,Q|0,m&-2097152|0,ee|0)|0;m=I;Q=Ss(J|0,X|0,1048576,0)|0;V=I;G=Os(Q|0,V|0,21)|0;z=I;ue=Ss(he|0,de|0,le|0,ue|0)|0;u=Ss(ue|0,I|0,a|0,u|0)|0;t=Ss(u|0,I|0,i|0,t|0)|0;z=Ss(t|0,I|0,G|0,z|0)|0;G=I;t=Ss(L|0,U|0,1048576,0)|0;i=I;u=Os(t|0,i|0,21)|0;a=I;se=Ss(ce|0,fe|0,ae|0,se|0)|0;ie=Ss(se|0,I|0,oe|0,ie|0)|0;O=Ss(ie|0,I|0,re|0,O|0)|0;j=ks(O|0,I|0,N&-2097152|0,j|0)|0;K=Ss(j|0,I|0,F|0,K|0)|0;c=Ss(K|0,I|0,v|0,c|0)|0;b=Ss(c|0,I|0,p|0,b|0)|0;a=Ss(b|0,I|0,u|0,a|0)|0;u=I;b=Ss(R|0,o|0,1048576,0)|0;p=I;c=Os(b|0,p|0,21)|0;v=I;g=Ss(W|0,Y|0,l|0,g|0)|0;w=Ss(g|0,I|0,C|0,w|0)|0;_=Ss(w|0,I|0,d|0,_|0)|0;h=ks(_|0,I|0,y&-2097152|0,h|0)|0;x=Ss(h|0,I|0,$|0,x|0)|0;v=Ss(x|0,I|0,c|0,v|0)|0;c=I;p=ks(R|0,o|0,b&-2097152|0,p|0)|0;b=I;o=Ss(D|0,P|0,1048576,0)|0;R=I;x=Os(o|0,R|0,21)|0;$=I;q=Ss(A|0,f|0,S|0,q|0)|0;H=Ss(q|0,I|0,T|0,H|0)|0;$=Ss(H|0,I|0,x|0,$|0)|0;M=ks($|0,I|0,n&-2097152|0,M|0)|0;n=I;R=ks(D|0,P|0,o&-2097152|0,R|0)|0;o=I;P=Ss(k|0,E|0,1048576,0)|0;D=I;$=Os(P|0,D|0,21)|0;$=Ss(Z|0,B|0,$|0,I|0)|0;B=I;Z=Ss(ne|0,te|0,1048576,0)|0;x=I;H=Os(Z|0,x|0,21)|0;T=I;q=Ss(z|0,G|0,1048576,0)|0;S=I;f=Os(q|0,S|0,21)|0;A=I;h=Ss(a|0,u|0,1048576,0)|0;y=I;_=Os(h|0,y|0,21)|0;_=Ss(p|0,b|0,_|0,I|0)|0;b=I;p=Ss(v|0,c|0,1048576,0)|0;d=I;w=Os(p|0,d|0,21)|0;w=Ss(R|0,o|0,w|0,I|0)|0;o=I;d=ks(v|0,c|0,p&-2097152|0,d|0)|0;p=I;c=Ss(M|0,n|0,1048576,0)|0;v=I;R=Os(c|0,v|0,21)|0;C=I;v=ks(M|0,n|0,c&-2097152|0,v|0)|0;c=I;n=Ss($|0,B|0,1048576,0)|0;M=I;g=Os(n|0,M|0,21)|0;l=I;M=ks($|0,B|0,n&-2097152|0,M|0)|0;n=I;B=Es(g|0,l|0,666643,0)|0;B=Ss(ee|0,m|0,B|0,I|0)|0;m=I;ee=Es(g|0,l|0,470296,0)|0;$=I;Y=Es(g|0,l|0,654183,0)|0;W=I;K=Es(g|0,l|0,-997805,-1)|0;F=I;j=Es(g|0,l|0,136657,0)|0;N=I;l=Es(g|0,l|0,-683901,-1)|0;g=I;m=Os(B|0,m|0,21)|0;O=I;$=Ss(ne|0,te|0,ee|0,$|0)|0;x=ks($|0,I|0,Z&-2097152|0,x|0)|0;O=Ss(x|0,I|0,m|0,O|0)|0;m=Os(O|0,I|0,21)|0;x=I;W=Ss(J|0,X|0,Y|0,W|0)|0;V=ks(W|0,I|0,Q&-2097152|0,V|0)|0;T=Ss(V|0,I|0,H|0,T|0)|0;x=Ss(T|0,I|0,m|0,x|0)|0;m=Os(x|0,I|0,21)|0;T=I;F=Ss(z|0,G|0,K|0,F|0)|0;S=ks(F|0,I|0,q&-2097152|0,S|0)|0;T=Ss(S|0,I|0,m|0,T|0)|0;m=Os(T|0,I|0,21)|0;S=I;N=Ss(L|0,U|0,j|0,N|0)|0;i=ks(N|0,I|0,t&-2097152|0,i|0)|0;A=Ss(i|0,I|0,f|0,A|0)|0;S=Ss(A|0,I|0,m|0,S|0)|0;m=Os(S|0,I|0,21)|0;A=I;g=Ss(a|0,u|0,l|0,g|0)|0;y=ks(g|0,I|0,h&-2097152|0,y|0)|0;A=Ss(y|0,I|0,m|0,A|0)|0;m=Os(A|0,I|0,21)|0;m=Ss(_|0,b|0,m|0,I|0)|0;b=Os(m|0,I|0,21)|0;p=Ss(b|0,I|0,d|0,p|0)|0;d=Os(p|0,I|0,21)|0;d=Ss(w|0,o|0,d|0,I|0)|0;o=Os(d|0,I|0,21)|0;c=Ss(o|0,I|0,v|0,c|0)|0;v=Os(c|0,I|0,21)|0;o=I;C=Ss(k|0,E|0,R|0,C|0)|0;D=ks(C|0,I|0,P&-2097152|0,D|0)|0;o=Ss(D|0,I|0,v|0,o|0)|0;v=Os(o|0,I|0,21)|0;n=Ss(v|0,I|0,M|0,n|0)|0;M=Os(n|0,I|0,21)|0;v=I;D=Es(M|0,v|0,666643,0)|0;B=Ss(D|0,I|0,B&2097151|0,0)|0;D=I;P=Es(M|0,v|0,470296,0)|0;O=Ss(P|0,I|0,O&2097151|0,0)|0;P=I;C=Es(M|0,v|0,654183,0)|0;x=Ss(C|0,I|0,x&2097151|0,0)|0;C=I;R=Es(M|0,v|0,-997805,-1)|0;T=Ss(R|0,I|0,T&2097151|0,0)|0;R=I;E=Es(M|0,v|0,136657,0)|0;S=Ss(E|0,I|0,S&2097151|0,0)|0;E=I;v=Es(M|0,v|0,-683901,-1)|0;A=Ss(v|0,I|0,A&2097151|0,0)|0;v=I;M=Os(B|0,D|0,21)|0;M=Ss(O|0,P|0,M|0,I|0)|0;P=I;O=Os(M|0,P|0,21)|0;O=Ss(x|0,C|0,O|0,I|0)|0;C=I;x=M&2097151;k=Os(O|0,C|0,21)|0;k=Ss(T|0,R|0,k|0,I|0)|0;R=I;T=O&2097151;w=Os(k|0,R|0,21)|0;w=Ss(S|0,E|0,w|0,I|0)|0;E=I;S=k&2097151;b=Os(w|0,E|0,21)|0;b=Ss(A|0,v|0,b|0,I|0)|0;v=I;A=w&2097151;_=Os(b|0,v|0,21)|0;m=Ss(_|0,I|0,m&2097151|0,0)|0;_=I;y=b&2097151;h=Os(m|0,_|0,21)|0;p=Ss(h|0,I|0,p&2097151|0,0)|0;h=I;g=m&2097151;l=Os(p|0,h|0,21)|0;d=Ss(l|0,I|0,d&2097151|0,0)|0;l=I;u=Os(d|0,l|0,21)|0;c=Ss(u|0,I|0,c&2097151|0,0)|0;u=I;a=Os(c|0,u|0,21)|0;o=Ss(a|0,I|0,o&2097151|0,0)|0;a=I;f=c&2097151;i=Os(o|0,a|0,21)|0;n=Ss(i|0,I|0,n&2097151|0,0)|0;i=I;t=o&2097151;r[e>>0]=B;N=Cs(B|0,D|0,8)|0;r[e+1>>0]=N;D=Cs(B|0,D|0,16)|0;B=xs(x|0,0,5)|0;r[e+2>>0]=B|D&31;D=Cs(M|0,P|0,3)|0;r[e+3>>0]=D;P=Cs(M|0,P|0,11)|0;r[e+4>>0]=P;x=Cs(x|0,0,19)|0;P=I;M=xs(T|0,0,2)|0;r[e+5>>0]=M|x;C=Cs(O|0,C|0,6)|0;r[e+6>>0]=C;T=Cs(T|0,0,14)|0;C=I;O=xs(S|0,0,7)|0;r[e+7>>0]=O|T;T=Cs(k|0,R|0,1)|0;r[e+8>>0]=T;R=Cs(k|0,R|0,9)|0;r[e+9>>0]=R;S=Cs(S|0,0,17)|0;R=I;k=xs(A|0,0,4)|0;r[e+10>>0]=k|S;S=Cs(w|0,E|0,4)|0;r[e+11>>0]=S;E=Cs(w|0,E|0,12)|0;r[e+12>>0]=E;A=Cs(A|0,0,20)|0;E=I;w=xs(y|0,0,1)|0;r[e+13>>0]=w|A;v=Cs(b|0,v|0,7)|0;r[e+14>>0]=v;y=Cs(y|0,0,15)|0;v=I;b=xs(g|0,0,6)|0;r[e+15>>0]=b|y;y=Cs(m|0,_|0,2)|0;r[e+16>>0]=y;_=Cs(m|0,_|0,10)|0;r[e+17>>0]=_;g=Cs(g|0,0,18)|0;_=I;m=xs(p|0,h|0,3)|0;r[e+18>>0]=m|g;g=Cs(p|0,h|0,5)|0;r[e+19>>0]=g;h=Cs(p|0,h|0,13)|0;r[e+20>>0]=h;r[e+21>>0]=d;h=Cs(d|0,l|0,8)|0;r[e+22>>0]=h;l=Cs(d|0,l|0,16)|0;d=xs(f|0,0,5)|0;r[e+23>>0]=d|l&31;l=Cs(c|0,u|0,3)|0;r[e+24>>0]=l;u=Cs(c|0,u|0,11)|0;r[e+25>>0]=u;f=Cs(f|0,0,19)|0;u=I;c=xs(t|0,0,2)|0;r[e+26>>0]=c|f;a=Cs(o|0,a|0,6)|0;r[e+27>>0]=a;t=Cs(t|0,0,14)|0;a=I;o=xs(n|0,i|0,7)|0;r[e+28>>0]=o|t;t=Cs(n|0,i|0,1)|0;r[e+29>>0]=t;t=Cs(n|0,i|0,9)|0;r[e+30>>0]=t;i=Os(n|0,i|0,17)|0;r[e+31>>0]=i;return}function ni(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,f=0,c=0,u=0,l=0,d=0,h=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,I=0,R=0,T=0,O=0,C=0,x=0,M=0,P=0,D=0,B=0,N=0,j=0,U=0,L=0,q=0,F=0,K=0,G=0,z=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0;Q=t+40|0;u=t+44|0;h=t+48|0;m=t+52|0;b=t+56|0;w=t+60|0;k=t+64|0;T=t+68|0;x=t+72|0;O=t+76|0;z=t+4|0;K=t+8|0;i=t+12|0;d=t+16|0;p=t+20|0;A=t+24|0;E=t+28|0;C=t+32|0;F=t+36|0;se=(o[z>>2]|0)+(o[u>>2]|0)|0;oe=(o[K>>2]|0)+(o[h>>2]|0)|0;ie=(o[i>>2]|0)+(o[m>>2]|0)|0;re=(o[d>>2]|0)+(o[b>>2]|0)|0;ne=(o[p>>2]|0)+(o[w>>2]|0)|0;te=(o[A>>2]|0)+(o[k>>2]|0)|0;ee=(o[E>>2]|0)+(o[T>>2]|0)|0;$=(o[C>>2]|0)+(o[x>>2]|0)|0;X=(o[F>>2]|0)+(o[O>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[Q>>2]|0);ae=e+4|0;o[ae>>2]=se;se=e+8|0;o[se>>2]=oe;oe=e+12|0;o[oe>>2]=ie;ie=e+16|0;o[ie>>2]=re;re=e+20|0;o[re>>2]=ne;ne=e+24|0;o[ne>>2]=te;te=e+28|0;o[te>>2]=ee;ee=e+32|0;o[ee>>2]=$;$=e+36|0;o[$>>2]=X;X=e+40|0;z=(o[u>>2]|0)-(o[z>>2]|0)|0;K=(o[h>>2]|0)-(o[K>>2]|0)|0;i=(o[m>>2]|0)-(o[i>>2]|0)|0;d=(o[b>>2]|0)-(o[d>>2]|0)|0;p=(o[w>>2]|0)-(o[p>>2]|0)|0;A=(o[k>>2]|0)-(o[A>>2]|0)|0;E=(o[T>>2]|0)-(o[E>>2]|0)|0;C=(o[x>>2]|0)-(o[C>>2]|0)|0;F=(o[O>>2]|0)-(o[F>>2]|0)|0;o[X>>2]=(o[Q>>2]|0)-(o[t>>2]|0);Q=e+44|0;o[Q>>2]=z;z=e+48|0;o[z>>2]=K;K=e+52|0;o[K>>2]=i;i=e+56|0;o[i>>2]=d;d=e+60|0;o[d>>2]=p;p=e+64|0;o[p>>2]=A;A=e+68|0;o[A>>2]=E;E=e+72|0;o[E>>2]=C;C=e+76|0;o[C>>2]=F;F=e+80|0;Xr(F,e,n);Xr(X,X,n+40|0);O=e+120|0;Xr(O,n+120|0,t+120|0);Xr(e,t+80|0,n+80|0);x=o[e>>2]<<1;T=o[ae>>2]<<1;k=o[se>>2]<<1;w=o[oe>>2]<<1;b=o[ie>>2]<<1;m=o[re>>2]<<1;h=o[ne>>2]<<1;u=o[te>>2]<<1;a=o[ee>>2]<<1;r=o[$>>2]<<1;J=o[F>>2]|0;q=e+84|0;W=o[q>>2]|0;L=e+88|0;H=o[L>>2]|0;U=e+92|0;t=o[U>>2]|0;j=e+96|0;s=o[j>>2]|0;N=e+100|0;f=o[N>>2]|0;B=e+104|0;g=o[B>>2]|0;D=e+108|0;_=o[D>>2]|0;P=e+112|0;S=o[P>>2]|0;M=e+116|0;I=o[M>>2]|0;Z=o[X>>2]|0;Y=o[Q>>2]|0;V=o[z>>2]|0;G=o[K>>2]|0;n=o[i>>2]|0;c=o[d>>2]|0;l=o[p>>2]|0;y=o[A>>2]|0;v=o[E>>2]|0;R=o[C>>2]|0;o[e>>2]=J-Z;o[ae>>2]=W-Y;o[se>>2]=H-V;o[oe>>2]=t-G;o[ie>>2]=s-n;o[re>>2]=f-c;o[ne>>2]=g-l;o[te>>2]=_-y;o[ee>>2]=S-v;o[$>>2]=I-R;o[X>>2]=Z+J;o[Q>>2]=Y+W;o[z>>2]=V+H;o[K>>2]=G+t;o[i>>2]=n+s;o[d>>2]=c+f;o[p>>2]=l+g;o[A>>2]=y+_;o[E>>2]=v+S;o[C>>2]=R+I;C=o[O>>2]|0;I=e+124|0;R=o[I>>2]|0;E=e+128|0;S=o[E>>2]|0;v=e+132|0;A=o[v>>2]|0;_=e+136|0;y=o[_>>2]|0;p=e+140|0;g=o[p>>2]|0;l=e+144|0;d=o[l>>2]|0;f=e+148|0;c=o[f>>2]|0;i=e+152|0;s=o[i>>2]|0;n=e+156|0;t=o[n>>2]|0;o[F>>2]=C+x;o[q>>2]=R+T;o[L>>2]=S+k;o[U>>2]=A+w;o[j>>2]=y+b;o[N>>2]=g+m;o[B>>2]=d+h;o[D>>2]=c+u;o[P>>2]=s+a;o[M>>2]=t+r;o[O>>2]=x-C;o[I>>2]=T-R;o[E>>2]=k-S;o[v>>2]=w-A;o[_>>2]=b-y;o[p>>2]=m-g;o[l>>2]=h-d;o[f>>2]=u-c;o[i>>2]=a-s;o[n>>2]=r-t;return}function ri(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,f=0,c=0,u=0,l=0,d=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0;v=h;h=h+2400|0;d=v+2272|0;g=v+1536|0;m=v+1280|0;_=v;y=v+2112|0;b=v+1952|0;l=v+1792|0;ii(g,t);ii(m,i);oi(_,n);w=o[n+4>>2]|0;A=o[n+8>>2]|0;u=o[n+12>>2]|0;t=o[n+16>>2]|0;c=o[n+20>>2]|0;f=o[n+24>>2]|0;a=o[n+28>>2]|0;s=o[n+32>>2]|0;i=o[n+36>>2]|0;o[d>>2]=o[n>>2];o[d+4>>2]=w;o[d+8>>2]=A;o[d+12>>2]=u;o[d+16>>2]=t;o[d+20>>2]=c;o[d+24>>2]=f;o[d+28>>2]=a;o[d+32>>2]=s;o[d+36>>2]=i;i=o[n+44>>2]|0;s=o[n+48>>2]|0;a=o[n+52>>2]|0;f=o[n+56>>2]|0;c=o[n+60>>2]|0;t=o[n+64>>2]|0;u=o[n+68>>2]|0;A=o[n+72>>2]|0;w=o[n+76>>2]|0;o[d+40>>2]=o[n+40>>2];o[d+44>>2]=i;o[d+48>>2]=s;o[d+52>>2]=a;o[d+56>>2]=f;o[d+60>>2]=c;o[d+64>>2]=t;o[d+68>>2]=u;o[d+72>>2]=A;o[d+76>>2]=w;w=o[n+84>>2]|0;A=o[n+88>>2]|0;u=o[n+92>>2]|0;t=o[n+96>>2]|0;c=o[n+100>>2]|0;f=o[n+104>>2]|0;a=o[n+108>>2]|0;s=o[n+112>>2]|0;i=o[n+116>>2]|0;o[d+80>>2]=o[n+80>>2];o[d+84>>2]=w;o[d+88>>2]=A;o[d+92>>2]=u;o[d+96>>2]=t;o[d+100>>2]=c;o[d+104>>2]=f;o[d+108>>2]=a;o[d+112>>2]=s;o[d+116>>2]=i;si(y,d);d=y+120|0;Xr(l,y,d);i=y+40|0;s=y+80|0;Xr(l+40|0,i,s);Xr(l+80|0,s,d);Xr(l+120|0,y,i);ni(y,l,_);Xr(b,y,d);a=b+40|0;Xr(a,i,s);f=b+80|0;Xr(f,s,d);c=b+120|0;Xr(c,y,i);t=_+160|0;oi(t,b);ni(y,l,t);Xr(b,y,d);Xr(a,i,s);Xr(f,s,d);Xr(c,y,i);t=_+320|0;oi(t,b);ni(y,l,t);Xr(b,y,d);Xr(a,i,s);Xr(f,s,d);Xr(c,y,i);t=_+480|0;oi(t,b);ni(y,l,t);Xr(b,y,d);Xr(a,i,s);Xr(f,s,d);Xr(c,y,i);t=_+640|0;oi(t,b);ni(y,l,t);Xr(b,y,d);Xr(a,i,s);Xr(f,s,d);Xr(c,y,i);t=_+800|0;oi(t,b);ni(y,l,t);Xr(b,y,d);Xr(a,i,s);Xr(f,s,d);Xr(c,y,i);t=_+960|0;oi(t,b);ni(y,l,t);Xr(b,y,d);Xr(a,i,s);Xr(f,s,d);Xr(c,y,i);oi(_+1120|0,b);t=e;n=t+40|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));u=e+40|0;o[u>>2]=1;t=e+44|0;n=t+36|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));l=e+80|0;o[l>>2]=1;t=e+84|0;n=t+36|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));t=255;while(1){if(r[g+t>>0]|0)break;if(r[m+t>>0]|0)break;if(!t){p=16;break}else t=t+-1|0}if((p|0)==16){h=v;return}if((t|0)<=-1){h=v;return}while(1){si(y,e);n=r[g+t>>0]|0;if(n<<24>>24<=0){if(n<<24>>24<0){Xr(b,y,d);Xr(a,i,s);Xr(f,s,d);Xr(c,y,i);ai(y,b,_+((((n<<24>>24)/-2|0)<<24>>24)*160|0)|0)}}else{Xr(b,y,d);Xr(a,i,s);Xr(f,s,d);Xr(c,y,i);ni(y,b,_+(((n&255)>>>1&255)*160|0)|0)}n=r[m+t>>0]|0;if(n<<24>>24<=0){if(n<<24>>24<0){Xr(b,y,d);Xr(a,i,s);Xr(f,s,d);Xr(c,y,i);ci(y,b,240+((((n<<24>>24)/-2|0)<<24>>24)*120|0)|0)}}else{Xr(b,y,d);Xr(a,i,s);Xr(f,s,d);Xr(c,y,i);fi(y,b,240+(((n&255)>>>1&255)*120|0)|0)}Xr(e,y,d);Xr(u,i,s);Xr(l,s,d);if((t|0)>0)t=t+-1|0;else break}h=v;return}function ii(e,t){e=e|0;t=t|0;var n=0,i=0,o=0,a=0,f=0,c=0,u=0,l=0,d=0;n=0;do{r[e+n>>0]=(s[t+(n>>>3)>>0]|0)>>>(n&7)&1;n=n+1|0}while((n|0)!=256);u=0;do{c=e+u|0;n=r[c>>0]|0;f=u;u=u+1|0;e:do{if(n<<24>>24!=0&u>>>0<256){o=e+u|0;t=r[o>>0]|0;t:do{if(t<<24>>24){i=n<<24>>24;n=t<<24>>24<<1;t=n+i|0;if((t|0)<16){r[c>>0]=t;r[o>>0]=0;break}n=i-n|0;if((n|0)<=-16)break e;r[c>>0]=n;n=u;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=f+2|0;if(n>>>0<256){o=e+n|0;t=r[o>>0]|0;t:do{if(t<<24>>24){a=r[c>>0]|0;t=t<<24>>24<<2;i=t+a|0;if((i|0)<16){r[c>>0]=i;r[o>>0]=0;break}t=a-t|0;if((t|0)<=-16)break e;r[c>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=f+3|0;if(n>>>0<256){o=e+n|0;t=r[o>>0]|0;t:do{if(t<<24>>24){a=r[c>>0]|0;t=t<<24>>24<<3;i=t+a|0;if((i|0)<16){r[c>>0]=i;r[o>>0]=0;break}t=a-t|0;if((t|0)<=-16)break e;r[c>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=f+4|0;if(n>>>0<256){o=e+n|0;t=r[o>>0]|0;t:do{if(t<<24>>24){a=r[c>>0]|0;t=t<<24>>24<<4;i=t+a|0;if((i|0)<16){r[c>>0]=i;r[o>>0]=0;break}t=a-t|0;if((t|0)<=-16)break e;r[c>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=f+5|0;if(n>>>0<256){o=e+n|0;t=r[o>>0]|0;t:do{if(t<<24>>24){a=r[c>>0]|0;t=t<<24>>24<<5;i=t+a|0;if((i|0)<16){r[c>>0]=i;r[o>>0]=0;break}t=a-t|0;if((t|0)<=-16)break e;r[c>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break t}r[t>>0]=1}}while(0);n=f+6|0;if(n>>>0<256?(l=e+n|0,d=r[l>>0]|0,d<<24>>24):0){t=r[c>>0]|0;i=d<<24>>24<<6;o=i+t|0;if((o|0)<16){r[c>>0]=o;r[l>>0]=0;break}t=t-i|0;if((t|0)>-16){r[c>>0]=t;while(1){t=e+n|0;if(!(r[t>>0]|0))break;r[t>>0]=0;if(n>>>0<255)n=n+1|0;else break e}r[t>>0]=1}}}}}}}}while(0)}while((u|0)!=256);return}function oi(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,f=0,c=0,u=0,l=0,d=0,h=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,I=0,R=0,T=0,O=0,C=0;d=t+40|0;A=t+44|0;v=t+48|0;b=t+52|0;y=t+56|0;_=t+60|0;m=t+64|0;g=t+68|0;p=t+72|0;h=t+76|0;n=t+4|0;r=t+8|0;i=t+12|0;s=t+16|0;a=t+20|0;f=t+24|0;c=t+28|0;u=t+32|0;l=t+36|0;C=(o[n>>2]|0)+(o[A>>2]|0)|0;O=(o[r>>2]|0)+(o[v>>2]|0)|0;T=(o[i>>2]|0)+(o[b>>2]|0)|0;R=(o[s>>2]|0)+(o[y>>2]|0)|0;I=(o[a>>2]|0)+(o[_>>2]|0)|0;k=(o[f>>2]|0)+(o[m>>2]|0)|0;S=(o[c>>2]|0)+(o[g>>2]|0)|0;E=(o[u>>2]|0)+(o[p>>2]|0)|0;w=(o[l>>2]|0)+(o[h>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[d>>2]|0);o[e+4>>2]=C;o[e+8>>2]=O;o[e+12>>2]=T;o[e+16>>2]=R;o[e+20>>2]=I;o[e+24>>2]=k;o[e+28>>2]=S;o[e+32>>2]=E;o[e+36>>2]=w;n=(o[A>>2]|0)-(o[n>>2]|0)|0;r=(o[v>>2]|0)-(o[r>>2]|0)|0;i=(o[b>>2]|0)-(o[i>>2]|0)|0;s=(o[y>>2]|0)-(o[s>>2]|0)|0;a=(o[_>>2]|0)-(o[a>>2]|0)|0;f=(o[m>>2]|0)-(o[f>>2]|0)|0;c=(o[g>>2]|0)-(o[c>>2]|0)|0;u=(o[p>>2]|0)-(o[u>>2]|0)|0;l=(o[h>>2]|0)-(o[l>>2]|0)|0;o[e+40>>2]=(o[d>>2]|0)-(o[t>>2]|0);o[e+44>>2]=n;o[e+48>>2]=r;o[e+52>>2]=i;o[e+56>>2]=s;o[e+60>>2]=a;o[e+64>>2]=f;o[e+68>>2]=c;o[e+72>>2]=u;o[e+76>>2]=l;l=o[t+84>>2]|0;u=o[t+88>>2]|0;c=o[t+92>>2]|0;f=o[t+96>>2]|0;a=o[t+100>>2]|0;s=o[t+104>>2]|0;i=o[t+108>>2]|0;r=o[t+112>>2]|0;n=o[t+116>>2]|0;o[e+80>>2]=o[t+80>>2];o[e+84>>2]=l;o[e+88>>2]=u;o[e+92>>2]=c;o[e+96>>2]=f;o[e+100>>2]=a;o[e+104>>2]=s;o[e+108>>2]=i;o[e+112>>2]=r;o[e+116>>2]=n;Xr(e+120|0,t+120|0,1200);return}function si(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,f=0,c=0,u=0,l=0,d=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,I=0,R=0,T=0,O=0,C=0,x=0,M=0,P=0,D=0,B=0,N=0,j=0,U=0,L=0,q=0,F=0,K=0,G=0,z=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,fe=0,ce=0,ue=0;n=h;h=h+48|0;D=n;Yr(e,t);z=e+80|0;ce=t+40|0;Yr(z,ce);A=e+120|0;$r(A,t+80|0);ue=e+40|0;fe=(o[t+44>>2]|0)+(o[t+4>>2]|0)|0;ae=(o[t+48>>2]|0)+(o[t+8>>2]|0)|0;se=(o[t+52>>2]|0)+(o[t+12>>2]|0)|0;oe=(o[t+56>>2]|0)+(o[t+16>>2]|0)|0;ie=(o[t+60>>2]|0)+(o[t+20>>2]|0)|0;re=(o[t+64>>2]|0)+(o[t+24>>2]|0)|0;ne=(o[t+68>>2]|0)+(o[t+28>>2]|0)|0;te=(o[t+72>>2]|0)+(o[t+32>>2]|0)|0;ee=(o[t+76>>2]|0)+(o[t+36>>2]|0)|0;o[ue>>2]=(o[ce>>2]|0)+(o[t>>2]|0);ce=e+44|0;o[ce>>2]=fe;fe=e+48|0;o[fe>>2]=ae;ae=e+52|0;o[ae>>2]=se;se=e+56|0;o[se>>2]=oe;oe=e+60|0;o[oe>>2]=ie;ie=e+64|0;o[ie>>2]=re;re=e+68|0;o[re>>2]=ne;ne=e+72|0;o[ne>>2]=te;te=e+76|0;o[te>>2]=ee;Yr(D,ue);ee=o[z>>2]|0;G=e+84|0;$=o[G>>2]|0;K=e+88|0;Z=o[K>>2]|0;F=e+92|0;J=o[F>>2]|0;q=e+96|0;X=o[q>>2]|0;L=e+100|0;Y=o[L>>2]|0;U=e+104|0;W=o[U>>2]|0;j=e+108|0;Q=o[j>>2]|0;N=e+112|0;V=o[N>>2]|0;B=e+116|0;H=o[B>>2]|0;w=o[e>>2]|0;x=e+4|0;v=o[x>>2]|0;O=e+8|0;y=o[O>>2]|0;R=e+12|0;m=o[R>>2]|0;k=e+16|0;p=o[k>>2]|0;t=e+20|0;l=o[t>>2]|0;s=e+24|0;c=o[s>>2]|0;u=e+28|0;a=o[u>>2]|0;g=e+32|0;i=o[g>>2]|0;b=e+36|0;E=o[b>>2]|0;P=w+ee|0;M=v+$|0;C=y+Z|0;T=m+J|0;I=p+X|0;S=l+Y|0;r=c+W|0;f=a+Q|0;d=i+V|0;_=E+H|0;o[ue>>2]=P;o[ce>>2]=M;o[fe>>2]=C;o[ae>>2]=T;o[se>>2]=I;o[oe>>2]=S;o[ie>>2]=r;o[re>>2]=f;o[ne>>2]=d;o[te>>2]=_;w=ee-w|0;v=$-v|0;y=Z-y|0;m=J-m|0;p=X-p|0;l=Y-l|0;c=W-c|0;a=Q-a|0;i=V-i|0;E=H-E|0;o[z>>2]=w;o[G>>2]=v;o[K>>2]=y;o[F>>2]=m;o[q>>2]=p;o[L>>2]=l;o[U>>2]=c;o[j>>2]=a;o[N>>2]=i;o[B>>2]=E;M=(o[D+4>>2]|0)-M|0;C=(o[D+8>>2]|0)-C|0;T=(o[D+12>>2]|0)-T|0;I=(o[D+16>>2]|0)-I|0;S=(o[D+20>>2]|0)-S|0;r=(o[D+24>>2]|0)-r|0;f=(o[D+28>>2]|0)-f|0;d=(o[D+32>>2]|0)-d|0;_=(o[D+36>>2]|0)-_|0;o[e>>2]=(o[D>>2]|0)-P;o[x>>2]=M;o[O>>2]=C;o[R>>2]=T;o[k>>2]=I;o[t>>2]=S;o[s>>2]=r;o[u>>2]=f;o[g>>2]=d;o[b>>2]=_;b=e+124|0;_=e+128|0;g=e+132|0;d=e+136|0;u=e+140|0;f=e+144|0;s=e+148|0;r=e+152|0;t=e+156|0;v=(o[b>>2]|0)-v|0;y=(o[_>>2]|0)-y|0;m=(o[g>>2]|0)-m|0;p=(o[d>>2]|0)-p|0;l=(o[u>>2]|0)-l|0;c=(o[f>>2]|0)-c|0;a=(o[s>>2]|0)-a|0;i=(o[r>>2]|0)-i|0;e=(o[t>>2]|0)-E|0;o[A>>2]=(o[A>>2]|0)-w;o[b>>2]=v;o[_>>2]=y;o[g>>2]=m;o[d>>2]=p;o[u>>2]=l;o[f>>2]=c;o[s>>2]=a;o[r>>2]=i;o[t>>2]=e;h=n;return}function ai(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,f=0,c=0,u=0,l=0,d=0,h=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,I=0,R=0,T=0,O=0,C=0,x=0,M=0,P=0,D=0,B=0,N=0,j=0,U=0,L=0,q=0,F=0,K=0,G=0,z=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0;Q=t+40|0;f=t+44|0;l=t+48|0;p=t+52|0;_=t+56|0;v=t+60|0;E=t+64|0;I=t+68|0;O=t+72|0;T=t+76|0;z=t+4|0;F=t+8|0;r=t+12|0;d=t+16|0;h=t+20|0;A=t+24|0;w=t+28|0;C=t+32|0;q=t+36|0;se=(o[z>>2]|0)+(o[f>>2]|0)|0;oe=(o[F>>2]|0)+(o[l>>2]|0)|0;ie=(o[r>>2]|0)+(o[p>>2]|0)|0;re=(o[d>>2]|0)+(o[_>>2]|0)|0;ne=(o[h>>2]|0)+(o[v>>2]|0)|0;te=(o[A>>2]|0)+(o[E>>2]|0)|0;ee=(o[w>>2]|0)+(o[I>>2]|0)|0;$=(o[C>>2]|0)+(o[O>>2]|0)|0;X=(o[q>>2]|0)+(o[T>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[Q>>2]|0);ae=e+4|0;o[ae>>2]=se;se=e+8|0;o[se>>2]=oe;oe=e+12|0;o[oe>>2]=ie;ie=e+16|0;o[ie>>2]=re;re=e+20|0;o[re>>2]=ne;ne=e+24|0;o[ne>>2]=te;te=e+28|0;o[te>>2]=ee;ee=e+32|0;o[ee>>2]=$;$=e+36|0;o[$>>2]=X;X=e+40|0;z=(o[f>>2]|0)-(o[z>>2]|0)|0;F=(o[l>>2]|0)-(o[F>>2]|0)|0;r=(o[p>>2]|0)-(o[r>>2]|0)|0;d=(o[_>>2]|0)-(o[d>>2]|0)|0;h=(o[v>>2]|0)-(o[h>>2]|0)|0;A=(o[E>>2]|0)-(o[A>>2]|0)|0;w=(o[I>>2]|0)-(o[w>>2]|0)|0;C=(o[O>>2]|0)-(o[C>>2]|0)|0;q=(o[T>>2]|0)-(o[q>>2]|0)|0;o[X>>2]=(o[Q>>2]|0)-(o[t>>2]|0);Q=e+44|0;o[Q>>2]=z;z=e+48|0;o[z>>2]=F;F=e+52|0;o[F>>2]=r;r=e+56|0;o[r>>2]=d;d=e+60|0;o[d>>2]=h;h=e+64|0;o[h>>2]=A;A=e+68|0;o[A>>2]=w;w=e+72|0;o[w>>2]=C;C=e+76|0;o[C>>2]=q;q=e+80|0;Xr(q,e,n+40|0);Xr(X,X,n);T=e+120|0;Xr(T,n+120|0,t+120|0);Xr(e,t+80|0,n+80|0);O=o[e>>2]<<1;I=o[ae>>2]<<1;E=o[se>>2]<<1;v=o[oe>>2]<<1;_=o[ie>>2]<<1;p=o[re>>2]<<1;l=o[ne>>2]<<1;f=o[te>>2]<<1;i=o[ee>>2]<<1;t=o[$>>2]<<1;J=o[q>>2]|0;L=e+84|0;W=o[L>>2]|0;U=e+88|0;H=o[U>>2]|0;j=e+92|0;K=o[j>>2]|0;N=e+96|0;s=o[N>>2]|0;B=e+100|0;a=o[B>>2]|0;D=e+104|0;g=o[D>>2]|0;P=e+108|0;m=o[P>>2]|0;M=e+112|0;S=o[M>>2]|0;x=e+116|0;k=o[x>>2]|0;Z=o[X>>2]|0;Y=o[Q>>2]|0;V=o[z>>2]|0;G=o[F>>2]|0;n=o[r>>2]|0;c=o[d>>2]|0;u=o[h>>2]|0;y=o[A>>2]|0;b=o[w>>2]|0;R=o[C>>2]|0;o[e>>2]=J-Z;o[ae>>2]=W-Y;o[se>>2]=H-V;o[oe>>2]=K-G;o[ie>>2]=s-n;o[re>>2]=a-c;o[ne>>2]=g-u;o[te>>2]=m-y;o[ee>>2]=S-b;o[$>>2]=k-R;o[X>>2]=Z+J;o[Q>>2]=Y+W;o[z>>2]=V+H;o[F>>2]=G+K;o[r>>2]=n+s;o[d>>2]=c+a;o[h>>2]=u+g;o[A>>2]=y+m;o[w>>2]=b+S;o[C>>2]=R+k;C=o[T>>2]|0;k=e+124|0;R=o[k>>2]|0;w=e+128|0;S=o[w>>2]|0;b=e+132|0;A=o[b>>2]|0;m=e+136|0;y=o[m>>2]|0;h=e+140|0;g=o[h>>2]|0;u=e+144|0;d=o[u>>2]|0;a=e+148|0;c=o[a>>2]|0;r=e+152|0;s=o[r>>2]|0;n=e+156|0;e=o[n>>2]|0;o[q>>2]=O-C;o[L>>2]=I-R;o[U>>2]=E-S;o[j>>2]=v-A;o[N>>2]=_-y;o[B>>2]=p-g;o[D>>2]=l-d;o[P>>2]=f-c;o[M>>2]=i-s;o[x>>2]=t-e;o[T>>2]=C+O;o[k>>2]=R+I;o[w>>2]=S+E;o[b>>2]=A+v;o[m>>2]=y+_;o[h>>2]=g+p;o[u>>2]=d+l;o[a>>2]=c+f;o[r>>2]=s+i;o[n>>2]=e+t;return}function fi(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,f=0,c=0,u=0,l=0,d=0,h=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,I=0,R=0,T=0,O=0,C=0,x=0,M=0,P=0,D=0,B=0,N=0,j=0,U=0,L=0,q=0,F=0,K=0,G=0,z=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0;Q=t+40|0;u=t+44|0;h=t+48|0;m=t+52|0;b=t+56|0;w=t+60|0;k=t+64|0;T=t+68|0;x=t+72|0;O=t+76|0;z=t+4|0;K=t+8|0;i=t+12|0;d=t+16|0;p=t+20|0;A=t+24|0;E=t+28|0;C=t+32|0;F=t+36|0;se=(o[z>>2]|0)+(o[u>>2]|0)|0;oe=(o[K>>2]|0)+(o[h>>2]|0)|0;ie=(o[i>>2]|0)+(o[m>>2]|0)|0;re=(o[d>>2]|0)+(o[b>>2]|0)|0;ne=(o[p>>2]|0)+(o[w>>2]|0)|0;te=(o[A>>2]|0)+(o[k>>2]|0)|0;ee=(o[E>>2]|0)+(o[T>>2]|0)|0;$=(o[C>>2]|0)+(o[x>>2]|0)|0;X=(o[F>>2]|0)+(o[O>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[Q>>2]|0);ae=e+4|0;o[ae>>2]=se;se=e+8|0;o[se>>2]=oe;oe=e+12|0;o[oe>>2]=ie;ie=e+16|0;o[ie>>2]=re;re=e+20|0;o[re>>2]=ne;ne=e+24|0;o[ne>>2]=te;te=e+28|0;o[te>>2]=ee;ee=e+32|0;o[ee>>2]=$;$=e+36|0;o[$>>2]=X;X=e+40|0;z=(o[u>>2]|0)-(o[z>>2]|0)|0;K=(o[h>>2]|0)-(o[K>>2]|0)|0;i=(o[m>>2]|0)-(o[i>>2]|0)|0;d=(o[b>>2]|0)-(o[d>>2]|0)|0;p=(o[w>>2]|0)-(o[p>>2]|0)|0;A=(o[k>>2]|0)-(o[A>>2]|0)|0;E=(o[T>>2]|0)-(o[E>>2]|0)|0;C=(o[x>>2]|0)-(o[C>>2]|0)|0;F=(o[O>>2]|0)-(o[F>>2]|0)|0;o[X>>2]=(o[Q>>2]|0)-(o[t>>2]|0);Q=e+44|0;o[Q>>2]=z;z=e+48|0;o[z>>2]=K;K=e+52|0;o[K>>2]=i;i=e+56|0;o[i>>2]=d;d=e+60|0;o[d>>2]=p;p=e+64|0;o[p>>2]=A;A=e+68|0;o[A>>2]=E;E=e+72|0;o[E>>2]=C;C=e+76|0;o[C>>2]=F;F=e+80|0;Xr(F,e,n);Xr(X,X,n+40|0);O=e+120|0;Xr(O,n+80|0,t+120|0);x=o[t+80>>2]<<1;T=o[t+84>>2]<<1;k=o[t+88>>2]<<1;w=o[t+92>>2]<<1;b=o[t+96>>2]<<1;m=o[t+100>>2]<<1;h=o[t+104>>2]<<1;u=o[t+108>>2]<<1;a=o[t+112>>2]<<1;r=o[t+116>>2]<<1;J=o[F>>2]|0;q=e+84|0;W=o[q>>2]|0;L=e+88|0;H=o[L>>2]|0;U=e+92|0;t=o[U>>2]|0;j=e+96|0;s=o[j>>2]|0;N=e+100|0;f=o[N>>2]|0;B=e+104|0;g=o[B>>2]|0;D=e+108|0;_=o[D>>2]|0;P=e+112|0;S=o[P>>2]|0;M=e+116|0;I=o[M>>2]|0;Z=o[X>>2]|0;Y=o[Q>>2]|0;V=o[z>>2]|0;G=o[K>>2]|0;n=o[i>>2]|0;c=o[d>>2]|0;l=o[p>>2]|0;y=o[A>>2]|0;v=o[E>>2]|0;R=o[C>>2]|0;o[e>>2]=J-Z;o[ae>>2]=W-Y;o[se>>2]=H-V;o[oe>>2]=t-G;o[ie>>2]=s-n;o[re>>2]=f-c;o[ne>>2]=g-l;o[te>>2]=_-y;o[ee>>2]=S-v;o[$>>2]=I-R;o[X>>2]=Z+J;o[Q>>2]=Y+W;o[z>>2]=V+H;o[K>>2]=G+t;o[i>>2]=n+s;o[d>>2]=c+f;o[p>>2]=l+g;o[A>>2]=y+_;o[E>>2]=v+S;o[C>>2]=R+I;C=o[O>>2]|0;I=e+124|0;R=o[I>>2]|0;E=e+128|0;S=o[E>>2]|0;v=e+132|0;A=o[v>>2]|0;_=e+136|0;y=o[_>>2]|0;p=e+140|0;g=o[p>>2]|0;l=e+144|0;d=o[l>>2]|0;f=e+148|0;c=o[f>>2]|0;i=e+152|0;s=o[i>>2]|0;n=e+156|0;t=o[n>>2]|0;o[F>>2]=C+x;o[q>>2]=R+T;o[L>>2]=S+k;o[U>>2]=A+w;o[j>>2]=y+b;o[N>>2]=g+m;o[B>>2]=d+h;o[D>>2]=c+u;o[P>>2]=s+a;o[M>>2]=t+r;o[O>>2]=x-C;o[I>>2]=T-R;o[E>>2]=k-S;o[v>>2]=w-A;o[_>>2]=b-y;o[p>>2]=m-g;o[l>>2]=h-d;o[f>>2]=u-c;o[i>>2]=a-s;o[n>>2]=r-t;return}function ci(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,f=0,c=0,u=0,l=0,d=0,h=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,I=0,R=0,T=0,O=0,C=0,x=0,M=0,P=0,D=0,B=0,N=0,j=0,U=0,L=0,q=0,F=0,K=0,G=0,z=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0;Q=t+40|0;f=t+44|0;l=t+48|0;p=t+52|0;_=t+56|0;v=t+60|0;E=t+64|0;I=t+68|0;O=t+72|0;T=t+76|0;z=t+4|0;F=t+8|0;r=t+12|0;d=t+16|0;h=t+20|0;A=t+24|0;w=t+28|0;C=t+32|0;q=t+36|0;se=(o[z>>2]|0)+(o[f>>2]|0)|0;oe=(o[F>>2]|0)+(o[l>>2]|0)|0;ie=(o[r>>2]|0)+(o[p>>2]|0)|0;re=(o[d>>2]|0)+(o[_>>2]|0)|0;ne=(o[h>>2]|0)+(o[v>>2]|0)|0;te=(o[A>>2]|0)+(o[E>>2]|0)|0;ee=(o[w>>2]|0)+(o[I>>2]|0)|0;$=(o[C>>2]|0)+(o[O>>2]|0)|0;X=(o[q>>2]|0)+(o[T>>2]|0)|0;o[e>>2]=(o[t>>2]|0)+(o[Q>>2]|0);ae=e+4|0;o[ae>>2]=se;se=e+8|0;o[se>>2]=oe;oe=e+12|0;o[oe>>2]=ie;ie=e+16|0;o[ie>>2]=re;re=e+20|0;o[re>>2]=ne;ne=e+24|0;o[ne>>2]=te;te=e+28|0;o[te>>2]=ee;ee=e+32|0;o[ee>>2]=$;$=e+36|0;o[$>>2]=X;X=e+40|0;z=(o[f>>2]|0)-(o[z>>2]|0)|0;F=(o[l>>2]|0)-(o[F>>2]|0)|0;r=(o[p>>2]|0)-(o[r>>2]|0)|0;d=(o[_>>2]|0)-(o[d>>2]|0)|0;h=(o[v>>2]|0)-(o[h>>2]|0)|0;A=(o[E>>2]|0)-(o[A>>2]|0)|0;w=(o[I>>2]|0)-(o[w>>2]|0)|0;C=(o[O>>2]|0)-(o[C>>2]|0)|0;q=(o[T>>2]|0)-(o[q>>2]|0)|0;o[X>>2]=(o[Q>>2]|0)-(o[t>>2]|0);Q=e+44|0;o[Q>>2]=z;z=e+48|0;o[z>>2]=F;F=e+52|0;o[F>>2]=r;r=e+56|0;o[r>>2]=d;d=e+60|0;o[d>>2]=h;h=e+64|0;o[h>>2]=A;A=e+68|0;o[A>>2]=w;w=e+72|0;o[w>>2]=C;C=e+76|0;o[C>>2]=q;q=e+80|0;Xr(q,e,n+40|0);Xr(X,X,n);T=e+120|0;Xr(T,n+80|0,t+120|0);O=o[t+80>>2]<<1;I=o[t+84>>2]<<1;E=o[t+88>>2]<<1;v=o[t+92>>2]<<1;_=o[t+96>>2]<<1;p=o[t+100>>2]<<1;l=o[t+104>>2]<<1;f=o[t+108>>2]<<1;i=o[t+112>>2]<<1;t=o[t+116>>2]<<1;J=o[q>>2]|0;L=e+84|0;W=o[L>>2]|0;U=e+88|0;H=o[U>>2]|0;j=e+92|0;K=o[j>>2]|0;N=e+96|0;s=o[N>>2]|0;B=e+100|0;a=o[B>>2]|0;D=e+104|0;g=o[D>>2]|0;P=e+108|0;m=o[P>>2]|0;M=e+112|0;S=o[M>>2]|0;x=e+116|0;k=o[x>>2]|0;Z=o[X>>2]|0;Y=o[Q>>2]|0;V=o[z>>2]|0;G=o[F>>2]|0;n=o[r>>2]|0;c=o[d>>2]|0;u=o[h>>2]|0;y=o[A>>2]|0;b=o[w>>2]|0;R=o[C>>2]|0;o[e>>2]=J-Z;o[ae>>2]=W-Y;o[se>>2]=H-V;o[oe>>2]=K-G;o[ie>>2]=s-n;o[re>>2]=a-c;o[ne>>2]=g-u;o[te>>2]=m-y;o[ee>>2]=S-b;o[$>>2]=k-R;o[X>>2]=Z+J;o[Q>>2]=Y+W;o[z>>2]=V+H;o[F>>2]=G+K;o[r>>2]=n+s;o[d>>2]=c+a;o[h>>2]=u+g;o[A>>2]=y+m;o[w>>2]=b+S;o[C>>2]=R+k;C=o[T>>2]|0;k=e+124|0;R=o[k>>2]|0;w=e+128|0;S=o[w>>2]|0;b=e+132|0;A=o[b>>2]|0;m=e+136|0;y=o[m>>2]|0;h=e+140|0;g=o[h>>2]|0;u=e+144|0;d=o[u>>2]|0;a=e+148|0;c=o[a>>2]|0;r=e+152|0;s=o[r>>2]|0;n=e+156|0;e=o[n>>2]|0;o[q>>2]=O-C;o[L>>2]=I-R;o[U>>2]=E-S;o[j>>2]=v-A;o[N>>2]=_-y;o[B>>2]=p-g;o[D>>2]=l-d;o[P>>2]=f-c;o[M>>2]=i-s;o[x>>2]=t-e;o[T>>2]=C+O;o[k>>2]=R+I;o[w>>2]=S+E;o[b>>2]=A+v;o[m>>2]=y+_;o[h>>2]=g+p;o[u>>2]=d+l;o[a>>2]=c+f;o[r>>2]=s+i;o[n>>2]=e+t;return}function ui(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,f=0,c=0,u=0,l=0,d=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,I=0,R=0,T=0,O=0,C=0,x=0,M=0,P=0,D=0,B=0,N=0,j=0,U=0,L=0,q=0,F=0,K=0,G=0,z=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,fe=0,ce=0,ue=0,le=0,de=0,he=0,pe=0,ge=0;ge=h;h=h+272|0;ue=ge+240|0;le=ge+192|0;f=ge+144|0;c=ge+96|0;de=ge+48|0;he=ge;pe=e+40|0;Qr(pe,t);u=e+80|0;o[u>>2]=1;a=e+84|0;n=a;i=n+36|0;do{o[n>>2]=0;n=n+4|0}while((n|0)<(i|0));Yr(le,pe);Xr(f,le,1248);te=le+4|0;ne=le+8|0;re=le+12|0;ie=le+16|0;oe=le+20|0;se=le+24|0;ae=le+28|0;fe=le+32|0;ce=le+36|0;C=o[u>>2]|0;O=o[a>>2]|0;R=o[e+88>>2]|0;k=o[e+92>>2]|0;E=o[e+96>>2]|0;A=o[e+100>>2]|0;i=o[e+104>>2]|0;ee=o[e+108>>2]|0;Z=o[e+112>>2]|0;X=o[e+116>>2]|0;b=(o[le>>2]|0)-C|0;v=(o[te>>2]|0)-O|0;u=(o[ne>>2]|0)-R|0;l=(o[re>>2]|0)-k|0;d=(o[ie>>2]|0)-E|0;p=(o[oe>>2]|0)-A|0;g=(o[se>>2]|0)-i|0;m=(o[ae>>2]|0)-ee|0;_=(o[fe>>2]|0)-Z|0;y=(o[ce>>2]|0)-X|0;o[le>>2]=b;o[te>>2]=v;o[ne>>2]=u;o[re>>2]=l;o[ie>>2]=d;o[oe>>2]=p;o[se>>2]=g;o[ae>>2]=m;o[fe>>2]=_;o[ce>>2]=y;T=f+4|0;I=f+8|0;S=f+12|0;w=f+16|0;a=f+20|0;n=f+24|0;$=f+28|0;J=f+32|0;Y=f+36|0;O=(o[T>>2]|0)+O|0;R=(o[I>>2]|0)+R|0;k=(o[S>>2]|0)+k|0;E=(o[w>>2]|0)+E|0;A=(o[a>>2]|0)+A|0;i=(o[n>>2]|0)+i|0;ee=(o[$>>2]|0)+ee|0;Z=(o[J>>2]|0)+Z|0;X=(o[Y>>2]|0)+X|0;o[f>>2]=(o[f>>2]|0)+C;o[T>>2]=O;o[I>>2]=R;o[S>>2]=k;o[w>>2]=E;o[a>>2]=A;o[n>>2]=i;o[$>>2]=ee;o[J>>2]=Z;o[Y>>2]=X;Yr(c,f);Xr(c,c,f);Yr(e,c);Xr(e,e,f);Xr(e,e,le);Zr(e,e);Xr(e,e,c);Xr(e,e,le);Yr(de,e);Xr(de,de,f);Y=de+4|0;X=de+8|0;J=de+12|0;Z=de+16|0;$=de+20|0;ee=de+24|0;n=de+28|0;i=de+32|0;a=de+36|0;c=(o[Y>>2]|0)-v|0;u=(o[X>>2]|0)-u|0;l=(o[J>>2]|0)-l|0;d=(o[Z>>2]|0)-d|0;p=(o[$>>2]|0)-p|0;g=(o[ee>>2]|0)-g|0;m=(o[n>>2]|0)-m|0;_=(o[i>>2]|0)-_|0;y=(o[a>>2]|0)-y|0;o[he>>2]=(o[de>>2]|0)-b;f=he+4|0;o[f>>2]=c;c=he+8|0;o[c>>2]=u;u=he+12|0;o[u>>2]=l;l=he+16|0;o[l>>2]=d;d=he+20|0;o[d>>2]=p;p=he+24|0;o[p>>2]=g;g=he+28|0;o[g>>2]=m;m=he+32|0;o[m>>2]=_;_=he+36|0;o[_>>2]=y;Jr(ue,he);y=ue+1|0;b=ue+2|0;v=ue+3|0;A=ue+4|0;w=ue+5|0;E=ue+6|0;S=ue+7|0;k=ue+8|0;I=ue+9|0;R=ue+10|0;T=ue+11|0;O=ue+12|0;C=ue+13|0;x=ue+14|0;M=ue+15|0;P=ue+16|0;D=ue+17|0;B=ue+18|0;N=ue+19|0;j=ue+20|0;U=ue+21|0;L=ue+22|0;q=ue+23|0;F=ue+24|0;K=ue+25|0;G=ue+26|0;z=ue+27|0;H=ue+28|0;V=ue+29|0;Q=ue+30|0;W=ue+31|0;do{if((r[y>>0]|r[ue>>0]|r[b>>0]|r[v>>0]|r[A>>0]|r[w>>0]|r[E>>0]|r[S>>0]|r[k>>0]|r[I>>0]|r[R>>0]|r[T>>0]|r[O>>0]|r[C>>0]|r[x>>0]|r[M>>0]|r[P>>0]|r[D>>0]|r[B>>0]|r[N>>0]|r[j>>0]|r[U>>0]|r[L>>0]|r[q>>0]|r[F>>0]|r[K>>0]|r[G>>0]|r[z>>0]|r[H>>0]|r[V>>0]|r[Q>>0]|r[W>>0])<<24>>24){te=(o[te>>2]|0)+(o[Y>>2]|0)|0;ne=(o[ne>>2]|0)+(o[X>>2]|0)|0;re=(o[re>>2]|0)+(o[J>>2]|0)|0;ie=(o[ie>>2]|0)+(o[Z>>2]|0)|0;oe=(o[oe>>2]|0)+(o[$>>2]|0)|0;se=(o[se>>2]|0)+(o[ee>>2]|0)|0;ae=(o[ae>>2]|0)+(o[n>>2]|0)|0;fe=(o[fe>>2]|0)+(o[i>>2]|0)|0;ce=(o[ce>>2]|0)+(o[a>>2]|0)|0;o[he>>2]=(o[le>>2]|0)+(o[de>>2]|0);o[f>>2]=te;o[c>>2]=ne;o[u>>2]=re;o[l>>2]=ie;o[d>>2]=oe;o[p>>2]=se;o[g>>2]=ae;o[m>>2]=fe;o[_>>2]=ce;Jr(ue,he);if(!((r[y>>0]|r[ue>>0]|r[b>>0]|r[v>>0]|r[A>>0]|r[w>>0]|r[E>>0]|r[S>>0]|r[k>>0]|r[I>>0]|r[R>>0]|r[T>>0]|r[O>>0]|r[C>>0]|r[x>>0]|r[M>>0]|r[P>>0]|r[D>>0]|r[B>>0]|r[N>>0]|r[j>>0]|r[U>>0]|r[L>>0]|r[q>>0]|r[F>>0]|r[K>>0]|r[G>>0]|r[z>>0]|r[H>>0]|r[V>>0]|r[Q>>0]|r[W>>0])<<24>>24)){Xr(e,e,1296);break}else{pe=-1;h=ge;return pe|0}}}while(0);Jr(ue,e);if(((s[t+31>>0]|0)>>>7|0)==(r[ue>>0]&1|0)){Z=e+4|0;ee=e+8|0;ne=e+12|0;ie=e+16|0;se=e+20|0;fe=e+24|0;t=e+28|0;le=e+32|0;he=e+36|0;J=0-(o[Z>>2]|0)|0;$=0-(o[ee>>2]|0)|0;te=0-(o[ne>>2]|0)|0;re=0-(o[ie>>2]|0)|0;oe=0-(o[se>>2]|0)|0;ae=0-(o[fe>>2]|0)|0;ce=0-(o[t>>2]|0)|0;ue=0-(o[le>>2]|0)|0;de=0-(o[he>>2]|0)|0;o[e>>2]=0-(o[e>>2]|0);o[Z>>2]=J;o[ee>>2]=$;o[ne>>2]=te;o[ie>>2]=re;o[se>>2]=oe;o[fe>>2]=ae;o[t>>2]=ce;o[le>>2]=ue;o[he>>2]=de}Xr(e+120|0,e,pe);pe=0;h=ge;return pe|0}function li(e,t){e=e|0;t=t|0;var n=0,i=0,a=0,f=0,c=0,u=0,l=0,d=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,I=0,R=0;b=h;h=h+592|0;p=b+464|0;m=b;_=b+304|0;g=b+184|0;y=b+64|0;i=r[t>>0]|0;r[m>>0]=i&15;r[m+1>>0]=(i&255)>>>4;i=r[t+1>>0]|0;r[m+2>>0]=i&15;r[m+3>>0]=(i&255)>>>4;i=r[t+2>>0]|0;r[m+4>>0]=i&15;r[m+5>>0]=(i&255)>>>4;i=r[t+3>>0]|0;r[m+6>>0]=i&15;r[m+7>>0]=(i&255)>>>4;i=r[t+4>>0]|0;r[m+8>>0]=i&15;r[m+9>>0]=(i&255)>>>4;i=r[t+5>>0]|0;r[m+10>>0]=i&15;r[m+11>>0]=(i&255)>>>4;i=r[t+6>>0]|0;r[m+12>>0]=i&15;r[m+13>>0]=(i&255)>>>4;i=r[t+7>>0]|0;r[m+14>>0]=i&15;r[m+15>>0]=(i&255)>>>4;i=r[t+8>>0]|0;r[m+16>>0]=i&15;r[m+17>>0]=(i&255)>>>4;i=r[t+9>>0]|0;r[m+18>>0]=i&15;r[m+19>>0]=(i&255)>>>4;i=r[t+10>>0]|0;r[m+20>>0]=i&15;r[m+21>>0]=(i&255)>>>4;i=r[t+11>>0]|0;r[m+22>>0]=i&15;r[m+23>>0]=(i&255)>>>4;i=r[t+12>>0]|0;r[m+24>>0]=i&15;r[m+25>>0]=(i&255)>>>4;i=r[t+13>>0]|0;r[m+26>>0]=i&15;r[m+27>>0]=(i&255)>>>4;i=r[t+14>>0]|0;r[m+28>>0]=i&15;r[m+29>>0]=(i&255)>>>4;i=r[t+15>>0]|0;r[m+30>>0]=i&15;r[m+31>>0]=(i&255)>>>4;i=r[t+16>>0]|0;r[m+32>>0]=i&15;r[m+33>>0]=(i&255)>>>4;i=r[t+17>>0]|0;r[m+34>>0]=i&15;r[m+35>>0]=(i&255)>>>4;i=r[t+18>>0]|0;r[m+36>>0]=i&15;r[m+37>>0]=(i&255)>>>4;i=r[t+19>>0]|0;r[m+38>>0]=i&15;r[m+39>>0]=(i&255)>>>4;i=r[t+20>>0]|0;r[m+40>>0]=i&15;r[m+41>>0]=(i&255)>>>4;i=r[t+21>>0]|0;r[m+42>>0]=i&15;r[m+43>>0]=(i&255)>>>4;i=r[t+22>>0]|0;r[m+44>>0]=i&15;r[m+45>>0]=(i&255)>>>4;i=r[t+23>>0]|0;r[m+46>>0]=i&15;r[m+47>>0]=(i&255)>>>4;i=r[t+24>>0]|0;r[m+48>>0]=i&15;r[m+49>>0]=(i&255)>>>4;i=r[t+25>>0]|0;r[m+50>>0]=i&15;r[m+51>>0]=(i&255)>>>4;i=r[t+26>>0]|0;r[m+52>>0]=i&15;r[m+53>>0]=(i&255)>>>4;i=r[t+27>>0]|0;r[m+54>>0]=i&15;r[m+55>>0]=(i&255)>>>4;i=r[t+28>>0]|0;r[m+56>>0]=i&15;r[m+57>>0]=(i&255)>>>4;i=r[t+29>>0]|0;r[m+58>>0]=i&15;r[m+59>>0]=(i&255)>>>4;i=r[t+30>>0]|0;r[m+60>>0]=i&15;r[m+61>>0]=(i&255)>>>4;t=r[t+31>>0]|0;r[m+62>>0]=t&15;i=m+63|0;r[i>>0]=(t&255)>>>4;t=0;n=0;do{d=m+n|0;l=t+(s[d>>0]|0)|0;t=(l<<24)+134217728>>28;r[d>>0]=l-(t<<4);n=n+1|0}while((n|0)!=63);r[i>>0]=t+(s[i>>0]|0);t=e;n=t+40|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));l=e+40|0;o[l>>2]=1;c=e+44|0;t=c;n=t+36|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));d=e+80|0;o[d>>2]=1;u=e+84|0;t=u;n=t+76|0;do{o[t>>2]=0;t=t+4|0}while((t|0)<(n|0));n=_+120|0;i=_+40|0;a=_+80|0;f=e+120|0;t=1;do{di(y,t>>>1,r[m+t>>0]|0);fi(_,e,y);Xr(e,_,n);Xr(l,i,a);Xr(d,a,n);Xr(f,_,i);t=t+2|0}while(t>>>0<64);R=o[e+4>>2]|0;k=o[e+8>>2]|0;S=o[e+12>>2]|0;E=o[e+16>>2]|0;w=o[e+20>>2]|0;A=o[e+24>>2]|0;v=o[e+28>>2]|0;t=o[e+32>>2]|0;I=o[e+36>>2]|0;o[p>>2]=o[e>>2];o[p+4>>2]=R;o[p+8>>2]=k;o[p+12>>2]=S;o[p+16>>2]=E;o[p+20>>2]=w;o[p+24>>2]=A;o[p+28>>2]=v;o[p+32>>2]=t;o[p+36>>2]=I;I=o[c>>2]|0;t=o[e+48>>2]|0;c=o[e+52>>2]|0;v=o[e+56>>2]|0;A=o[e+60>>2]|0;w=o[e+64>>2]|0;E=o[e+68>>2]|0;S=o[e+72>>2]|0;k=o[e+76>>2]|0;o[p+40>>2]=o[l>>2];o[p+44>>2]=I;o[p+48>>2]=t;o[p+52>>2]=c;o[p+56>>2]=v;o[p+60>>2]=A;o[p+64>>2]=w;o[p+68>>2]=E;o[p+72>>2]=S;o[p+76>>2]=k;k=o[u>>2]|0;S=o[e+88>>2]|0;E=o[e+92>>2]|0;w=o[e+96>>2]|0;A=o[e+100>>2]|0;v=o[e+104>>2]|0;c=o[e+108>>2]|0;u=o[e+112>>2]|0;t=o[e+116>>2]|0;o[p+80>>2]=o[d>>2];o[p+84>>2]=k;o[p+88>>2]=S;o[p+92>>2]=E;o[p+96>>2]=w;o[p+100>>2]=A;o[p+104>>2]=v;o[p+108>>2]=c;o[p+112>>2]=u;o[p+116>>2]=t;si(_,p);Xr(g,_,n);p=g+40|0;Xr(p,i,a);t=g+80|0;Xr(t,a,n);si(_,g);Xr(g,_,n);Xr(p,i,a);Xr(t,a,n);si(_,g);Xr(g,_,n);Xr(p,i,a);Xr(t,a,n);si(_,g);Xr(e,_,n);Xr(l,i,a);Xr(d,a,n);Xr(f,_,i);t=0;do{di(y,t>>>1,r[m+t>>0]|0);fi(_,e,y);Xr(e,_,n);Xr(l,i,a);Xr(d,a,n);Xr(f,_,i);t=t+2|0}while(t>>>0<64);h=b;return}function di(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,f=0,c=0,u=0,l=0,d=0,h=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,R=0,T=0,O=0,C=0,x=0,M=0,P=0,D=0,B=0,N=0,j=0,U=0,L=0,q=0,F=0,K=0,G=0,z=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,fe=0,ce=0,ue=0,le=0,de=0,he=0,pe=0,ge=0,me=0,_e=0,ye=0,be=0,ve=0;r=n<<24>>24;y=0-((n&255)>>>7&255)|0;n=r-((y&r)<<1)&255;o[e>>2]=1;r=e+4|0;b=r;v=b+36|0;do{o[b>>2]=0;b=b+4|0}while((b|0)<(v|0));i=e+40|0;o[i>>2]=1;s=e+44|0;a=e+80|0;f=Ss((n^1)&255|0,0,-1,-1)|0;f=Cs(f|0,I|0,63)|0;c=1344+(t*960|0)|0;u=e+8|0;l=e+12|0;d=e+16|0;h=e+20|0;p=e+24|0;g=e+28|0;m=e+32|0;_=e+36|0;b=s;v=b+76|0;do{o[b>>2]=0;b=b+4|0}while((b|0)<(v|0));ve=0-f|0;_e=o[1344+(t*960|0)+4>>2]&ve;me=o[1344+(t*960|0)+8>>2]&ve;ge=o[1344+(t*960|0)+12>>2]&ve;pe=o[1344+(t*960|0)+16>>2]&ve;he=o[1344+(t*960|0)+20>>2]&ve;de=o[1344+(t*960|0)+24>>2]&ve;le=o[1344+(t*960|0)+28>>2]&ve;ue=o[1344+(t*960|0)+32>>2]&ve;ce=o[1344+(t*960|0)+36>>2]&ve;ye=(o[c>>2]^1)&ve^1;o[e>>2]=ye;o[r>>2]=_e;o[u>>2]=me;o[l>>2]=ge;o[d>>2]=pe;o[h>>2]=he;o[p>>2]=de;o[g>>2]=le;o[m>>2]=ue;o[_>>2]=ce;ne=e+48|0;$=e+52|0;X=e+56|0;Q=e+60|0;z=e+64|0;F=e+68|0;U=e+72|0;B=e+76|0;oe=o[1344+(t*960|0)+44>>2]&ve;re=o[1344+(t*960|0)+48>>2]&ve;ee=o[1344+(t*960|0)+52>>2]&ve;J=o[1344+(t*960|0)+56>>2]&ve;W=o[1344+(t*960|0)+60>>2]&ve;H=o[1344+(t*960|0)+64>>2]&ve;K=o[1344+(t*960|0)+68>>2]&ve;L=o[1344+(t*960|0)+72>>2]&ve;N=o[1344+(t*960|0)+76>>2]&ve;ae=(o[1344+(t*960|0)+40>>2]^1)&ve^1;o[i>>2]=ae;o[s>>2]=oe;o[ne>>2]=re;o[$>>2]=ee;o[X>>2]=J;o[Q>>2]=W;o[z>>2]=H;o[F>>2]=K;o[U>>2]=L;o[B>>2]=N;D=o[a>>2]|0;M=e+84|0;P=o[M>>2]|0;C=e+88|0;x=o[C>>2]|0;T=e+92|0;O=o[T>>2]|0;k=e+96|0;R=o[k>>2]|0;E=e+100|0;S=o[E>>2]|0;A=e+104|0;w=o[A>>2]|0;f=e+108|0;Z=o[f>>2]|0;b=e+112|0;c=o[b>>2]|0;v=e+116|0;se=o[v>>2]|0;ie=(o[1344+(t*960|0)+84>>2]^P)&ve;te=(o[1344+(t*960|0)+88>>2]^x)&ve;Y=(o[1344+(t*960|0)+92>>2]^O)&ve;V=(o[1344+(t*960|0)+96>>2]^R)&ve;G=(o[1344+(t*960|0)+100>>2]^S)&ve;q=(o[1344+(t*960|0)+104>>2]^w)&ve;j=(o[1344+(t*960|0)+108>>2]^Z)&ve;fe=(o[1344+(t*960|0)+112>>2]^c)&ve;be=(o[1344+(t*960|0)+116>>2]^se)&ve;D=(o[1344+(t*960|0)+80>>2]^D)&ve^D;o[a>>2]=D;P=ie^P;o[M>>2]=P;x=te^x;o[C>>2]=x;O=Y^O;o[T>>2]=O;R=V^R;o[k>>2]=R;S=G^S;o[E>>2]=S;w=q^w;o[A>>2]=w;Z=j^Z;o[f>>2]=Z;c=fe^c;o[b>>2]=c;se=be^se;o[v>>2]=se;be=Ss((n^2)&255|0,0,-1,-1)|0;be=Cs(be|0,I|0,63)|0;be=0-be|0;fe=(o[1344+(t*960|0)+124>>2]^_e)&be;j=(o[1344+(t*960|0)+128>>2]^me)&be;q=(o[1344+(t*960|0)+132>>2]^ge)&be;G=(o[1344+(t*960|0)+136>>2]^pe)&be;V=(o[1344+(t*960|0)+140>>2]^he)&be;Y=(o[1344+(t*960|0)+144>>2]^de)&be;te=(o[1344+(t*960|0)+148>>2]^le)&be;ie=(o[1344+(t*960|0)+152>>2]^ue)&be;ve=(o[1344+(t*960|0)+156>>2]^ce)&be;ye=(o[1344+(t*960|0)+120>>2]^ye)&be^ye;o[e>>2]=ye;_e=fe^_e;o[r>>2]=_e;me=j^me;o[u>>2]=me;ge=q^ge;o[l>>2]=ge;pe=G^pe;o[d>>2]=pe;he=V^he;o[h>>2]=he;de=Y^de;o[p>>2]=de;le=te^le;o[g>>2]=le;ue=ie^ue;o[m>>2]=ue;ce=ve^ce;o[_>>2]=ce;ve=(o[1344+(t*960|0)+164>>2]^oe)&be;ie=(o[1344+(t*960|0)+168>>2]^re)&be;te=(o[1344+(t*960|0)+172>>2]^ee)&be;Y=(o[1344+(t*960|0)+176>>2]^J)&be;V=(o[1344+(t*960|0)+180>>2]^W)&be;G=(o[1344+(t*960|0)+184>>2]^H)&be;q=(o[1344+(t*960|0)+188>>2]^K)&be;j=(o[1344+(t*960|0)+192>>2]^L)&be;fe=(o[1344+(t*960|0)+196>>2]^N)&be;ae=(o[1344+(t*960|0)+160>>2]^ae)&be^ae;o[i>>2]=ae;oe=ve^oe;o[s>>2]=oe;re=ie^re;o[ne>>2]=re;ee=te^ee;o[$>>2]=ee;J=Y^J;o[X>>2]=J;W=V^W;o[Q>>2]=W;H=G^H;o[z>>2]=H;K=q^K;o[F>>2]=K;L=j^L;o[U>>2]=L;N=fe^N;o[B>>2]=N;fe=(o[1344+(t*960|0)+204>>2]^P)&be;j=(o[1344+(t*960|0)+208>>2]^x)&be;q=(o[1344+(t*960|0)+212>>2]^O)&be;G=(o[1344+(t*960|0)+216>>2]^R)&be;V=(o[1344+(t*960|0)+220>>2]^S)&be;Y=(o[1344+(t*960|0)+224>>2]^w)&be;te=(o[1344+(t*960|0)+228>>2]^Z)&be;ie=(o[1344+(t*960|0)+232>>2]^c)&be;ve=(o[1344+(t*960|0)+236>>2]^se)&be;D=(o[1344+(t*960|0)+200>>2]^D)&be^D;o[a>>2]=D;P=fe^P;o[M>>2]=P;x=j^x;o[C>>2]=x;O=q^O;o[T>>2]=O;R=G^R;o[k>>2]=R;S=V^S;o[E>>2]=S;w=Y^w;o[A>>2]=w;Z=te^Z;o[f>>2]=Z;c=ie^c;o[b>>2]=c;se=ve^se;o[v>>2]=se;ve=Ss((n^3)&255|0,0,-1,-1)|0;ve=Cs(ve|0,I|0,63)|0;ve=0-ve|0;ie=(o[1344+(t*960|0)+244>>2]^_e)&ve;te=(o[1344+(t*960|0)+248>>2]^me)&ve;Y=(o[1344+(t*960|0)+252>>2]^ge)&ve;V=(o[1344+(t*960|0)+256>>2]^pe)&ve;G=(o[1344+(t*960|0)+260>>2]^he)&ve;q=(o[1344+(t*960|0)+264>>2]^de)&ve;j=(o[1344+(t*960|0)+268>>2]^le)&ve;fe=(o[1344+(t*960|0)+272>>2]^ue)&ve;be=(o[1344+(t*960|0)+276>>2]^ce)&ve;ye=(o[1344+(t*960|0)+240>>2]^ye)&ve^ye;o[e>>2]=ye;_e=ie^_e;o[r>>2]=_e;me=te^me;o[u>>2]=me;ge=Y^ge;o[l>>2]=ge;pe=V^pe;o[d>>2]=pe;he=G^he;o[h>>2]=he;de=q^de;o[p>>2]=de;le=j^le;o[g>>2]=le;ue=fe^ue;o[m>>2]=ue;ce=be^ce;o[_>>2]=ce;be=(o[1344+(t*960|0)+284>>2]^oe)&ve;fe=(o[1344+(t*960|0)+288>>2]^re)&ve;j=(o[1344+(t*960|0)+292>>2]^ee)&ve;q=(o[1344+(t*960|0)+296>>2]^J)&ve;G=(o[1344+(t*960|0)+300>>2]^W)&ve;V=(o[1344+(t*960|0)+304>>2]^H)&ve;Y=(o[1344+(t*960|0)+308>>2]^K)&ve;te=(o[1344+(t*960|0)+312>>2]^L)&ve;ie=(o[1344+(t*960|0)+316>>2]^N)&ve;ae=(o[1344+(t*960|0)+280>>2]^ae)&ve^ae;o[i>>2]=ae;oe=be^oe;o[s>>2]=oe;re=fe^re;o[ne>>2]=re;ee=j^ee;o[$>>2]=ee;J=q^J;o[X>>2]=J;W=G^W;o[Q>>2]=W;H=V^H;o[z>>2]=H;K=Y^K;o[F>>2]=K;L=te^L;o[U>>2]=L;N=ie^N;o[B>>2]=N;ie=(o[1344+(t*960|0)+324>>2]^P)&ve;te=(o[1344+(t*960|0)+328>>2]^x)&ve;Y=(o[1344+(t*960|0)+332>>2]^O)&ve;V=(o[1344+(t*960|0)+336>>2]^R)&ve;G=(o[1344+(t*960|0)+340>>2]^S)&ve;q=(o[1344+(t*960|0)+344>>2]^w)&ve;j=(o[1344+(t*960|0)+348>>2]^Z)&ve;fe=(o[1344+(t*960|0)+352>>2]^c)&ve;be=(o[1344+(t*960|0)+356>>2]^se)&ve;D=(o[1344+(t*960|0)+320>>2]^D)&ve^D;o[a>>2]=D;P=ie^P;o[M>>2]=P;x=te^x;o[C>>2]=x;O=Y^O;o[T>>2]=O;R=V^R;o[k>>2]=R;S=G^S;o[E>>2]=S;w=q^w;o[A>>2]=w;Z=j^Z;o[f>>2]=Z;c=fe^c;o[b>>2]=c;se=be^se;o[v>>2]=se;be=Ss((n^4)&255|0,0,-1,-1)|0;be=Cs(be|0,I|0,63)|0;be=0-be|0;fe=(o[1344+(t*960|0)+364>>2]^_e)&be;j=(o[1344+(t*960|0)+368>>2]^me)&be;q=(o[1344+(t*960|0)+372>>2]^ge)&be;G=(o[1344+(t*960|0)+376>>2]^pe)&be;V=(o[1344+(t*960|0)+380>>2]^he)&be;Y=(o[1344+(t*960|0)+384>>2]^de)&be;te=(o[1344+(t*960|0)+388>>2]^le)&be;ie=(o[1344+(t*960|0)+392>>2]^ue)&be;ve=(o[1344+(t*960|0)+396>>2]^ce)&be;ye=(o[1344+(t*960|0)+360>>2]^ye)&be^ye;o[e>>2]=ye;_e=fe^_e;o[r>>2]=_e;me=j^me;o[u>>2]=me;ge=q^ge;o[l>>2]=ge;pe=G^pe;o[d>>2]=pe;he=V^he;o[h>>2]=he;de=Y^de;o[p>>2]=de;le=te^le;o[g>>2]=le;ue=ie^ue;o[m>>2]=ue;ce=ve^ce;o[_>>2]=ce;ve=(o[1344+(t*960|0)+404>>2]^oe)&be;ie=(o[1344+(t*960|0)+408>>2]^re)&be;te=(o[1344+(t*960|0)+412>>2]^ee)&be;Y=(o[1344+(t*960|0)+416>>2]^J)&be;V=(o[1344+(t*960|0)+420>>2]^W)&be;G=(o[1344+(t*960|0)+424>>2]^H)&be;q=(o[1344+(t*960|0)+428>>2]^K)&be;j=(o[1344+(t*960|0)+432>>2]^L)&be;fe=(o[1344+(t*960|0)+436>>2]^N)&be;ae=(o[1344+(t*960|0)+400>>2]^ae)&be^ae;o[i>>2]=ae;oe=ve^oe;o[s>>2]=oe;re=ie^re;o[ne>>2]=re;ee=te^ee;o[$>>2]=ee;J=Y^J;o[X>>2]=J;W=V^W;o[Q>>2]=W;H=G^H;o[z>>2]=H;K=q^K;o[F>>2]=K;L=j^L;o[U>>2]=L;N=fe^N;o[B>>2]=N;fe=(o[1344+(t*960|0)+444>>2]^P)&be;j=(o[1344+(t*960|0)+448>>2]^x)&be;q=(o[1344+(t*960|0)+452>>2]^O)&be;G=(o[1344+(t*960|0)+456>>2]^R)&be;V=(o[1344+(t*960|0)+460>>2]^S)&be;Y=(o[1344+(t*960|0)+464>>2]^w)&be;te=(o[1344+(t*960|0)+468>>2]^Z)&be;ie=(o[1344+(t*960|0)+472>>2]^c)&be;ve=(o[1344+(t*960|0)+476>>2]^se)&be;D=(o[1344+(t*960|0)+440>>2]^D)&be^D;o[a>>2]=D;P=fe^P;o[M>>2]=P;x=j^x;o[C>>2]=x;O=q^O;o[T>>2]=O;R=G^R;o[k>>2]=R;S=V^S;o[E>>2]=S;w=Y^w;o[A>>2]=w;Z=te^Z;o[f>>2]=Z;c=ie^c;o[b>>2]=c;se=ve^se;o[v>>2]=se;ve=Ss((n^5)&255|0,0,-1,-1)|0;ve=Cs(ve|0,I|0,63)|0;ve=0-ve|0;ie=(o[1344+(t*960|0)+484>>2]^_e)&ve;te=(o[1344+(t*960|0)+488>>2]^me)&ve;Y=(o[1344+(t*960|0)+492>>2]^ge)&ve;V=(o[1344+(t*960|0)+496>>2]^pe)&ve;G=(o[1344+(t*960|0)+500>>2]^he)&ve;q=(o[1344+(t*960|0)+504>>2]^de)&ve;j=(o[1344+(t*960|0)+508>>2]^le)&ve;fe=(o[1344+(t*960|0)+512>>2]^ue)&ve;be=(o[1344+(t*960|0)+516>>2]^ce)&ve;ye=(o[1344+(t*960|0)+480>>2]^ye)&ve^ye;o[e>>2]=ye;_e=ie^_e;o[r>>2]=_e;me=te^me;o[u>>2]=me;ge=Y^ge;o[l>>2]=ge;pe=V^pe;o[d>>2]=pe;he=G^he;o[h>>2]=he;de=q^de;o[p>>2]=de;le=j^le;o[g>>2]=le;ue=fe^ue;o[m>>2]=ue;ce=be^ce;o[_>>2]=ce;be=(o[1344+(t*960|0)+524>>2]^oe)&ve;fe=(o[1344+(t*960|0)+528>>2]^re)&ve;j=(o[1344+(t*960|0)+532>>2]^ee)&ve;q=(o[1344+(t*960|0)+536>>2]^J)&ve;G=(o[1344+(t*960|0)+540>>2]^W)&ve;V=(o[1344+(t*960|0)+544>>2]^H)&ve;Y=(o[1344+(t*960|0)+548>>2]^K)&ve;te=(o[1344+(t*960|0)+552>>2]^L)&ve;ie=(o[1344+(t*960|0)+556>>2]^N)&ve;ae=(o[1344+(t*960|0)+520>>2]^ae)&ve^ae;o[i>>2]=ae;oe=be^oe;o[s>>2]=oe;re=fe^re;o[ne>>2]=re;ee=j^ee;o[$>>2]=ee;J=q^J;o[X>>2]=J;W=G^W;o[Q>>2]=W;H=V^H;o[z>>2]=H;K=Y^K;o[F>>2]=K;L=te^L;o[U>>2]=L;N=ie^N;o[B>>2]=N;ie=(o[1344+(t*960|0)+564>>2]^P)&ve;te=(o[1344+(t*960|0)+568>>2]^x)&ve;Y=(o[1344+(t*960|0)+572>>2]^O)&ve;V=(o[1344+(t*960|0)+576>>2]^R)&ve;G=(o[1344+(t*960|0)+580>>2]^S)&ve;q=(o[1344+(t*960|0)+584>>2]^w)&ve;j=(o[1344+(t*960|0)+588>>2]^Z)&ve;fe=(o[1344+(t*960|0)+592>>2]^c)&ve;be=(o[1344+(t*960|0)+596>>2]^se)&ve;D=(o[1344+(t*960|0)+560>>2]^D)&ve^D;o[a>>2]=D;P=ie^P;o[M>>2]=P;x=te^x;o[C>>2]=x;O=Y^O;o[T>>2]=O;R=V^R;o[k>>2]=R;S=G^S;o[E>>2]=S;w=q^w;o[A>>2]=w;Z=j^Z;o[f>>2]=Z;c=fe^c;o[b>>2]=c;se=be^se;o[v>>2]=se;be=Ss((n^6)&255|0,0,-1,-1)|0;be=Cs(be|0,I|0,63)|0;be=0-be|0;fe=(o[1344+(t*960|0)+604>>2]^_e)&be;j=(o[1344+(t*960|0)+608>>2]^me)&be;q=(o[1344+(t*960|0)+612>>2]^ge)&be;G=(o[1344+(t*960|0)+616>>2]^pe)&be;V=(o[1344+(t*960|0)+620>>2]^he)&be;Y=(o[1344+(t*960|0)+624>>2]^de)&be;te=(o[1344+(t*960|0)+628>>2]^le)&be;ie=(o[1344+(t*960|0)+632>>2]^ue)&be;ve=(o[1344+(t*960|0)+636>>2]^ce)&be;ye=(o[1344+(t*960|0)+600>>2]^ye)&be^ye;o[e>>2]=ye;_e=fe^_e;o[r>>2]=_e;me=j^me;o[u>>2]=me;ge=q^ge;o[l>>2]=ge;pe=G^pe;o[d>>2]=pe;he=V^he;o[h>>2]=he;de=Y^de;o[p>>2]=de;le=te^le;o[g>>2]=le;ue=ie^ue;o[m>>2]=ue;ce=ve^ce;o[_>>2]=ce;ve=(o[1344+(t*960|0)+644>>2]^oe)&be;ie=(o[1344+(t*960|0)+648>>2]^re)&be;te=(o[1344+(t*960|0)+652>>2]^ee)&be;Y=(o[1344+(t*960|0)+656>>2]^J)&be;V=(o[1344+(t*960|0)+660>>2]^W)&be;G=(o[1344+(t*960|0)+664>>2]^H)&be;q=(o[1344+(t*960|0)+668>>2]^K)&be;j=(o[1344+(t*960|0)+672>>2]^L)&be;fe=(o[1344+(t*960|0)+676>>2]^N)&be;ae=(o[1344+(t*960|0)+640>>2]^ae)&be^ae;o[i>>2]=ae;oe=ve^oe;o[s>>2]=oe;re=ie^re;o[ne>>2]=re;ee=te^ee;o[$>>2]=ee;J=Y^J;o[X>>2]=J;W=V^W;o[Q>>2]=W;H=G^H;o[z>>2]=H;K=q^K;o[F>>2]=K;L=j^L;o[U>>2]=L;N=fe^N;o[B>>2]=N;fe=(o[1344+(t*960|0)+684>>2]^P)&be;j=(o[1344+(t*960|0)+688>>2]^x)&be;q=(o[1344+(t*960|0)+692>>2]^O)&be;G=(o[1344+(t*960|0)+696>>2]^R)&be;V=(o[1344+(t*960|0)+700>>2]^S)&be;Y=(o[1344+(t*960|0)+704>>2]^w)&be;te=(o[1344+(t*960|0)+708>>2]^Z)&be;ie=(o[1344+(t*960|0)+712>>2]^c)&be;ve=(o[1344+(t*960|0)+716>>2]^se)&be;D=(o[1344+(t*960|0)+680>>2]^D)&be^D;o[a>>2]=D;P=fe^P;o[M>>2]=P;x=j^x;o[C>>2]=x;O=q^O;o[T>>2]=O;R=G^R;o[k>>2]=R;S=V^S;o[E>>2]=S;w=Y^w;o[A>>2]=w;Z=te^Z;o[f>>2]=Z;c=ie^c;o[b>>2]=c;se=ve^se;o[v>>2]=se;ve=Ss((n^7)&255|0,0,-1,-1)|0;ve=Cs(ve|0,I|0,63)|0;ve=0-ve|0;ie=(o[1344+(t*960|0)+724>>2]^_e)&ve;te=(o[1344+(t*960|0)+728>>2]^me)&ve;Y=(o[1344+(t*960|0)+732>>2]^ge)&ve;V=(o[1344+(t*960|0)+736>>2]^pe)&ve;G=(o[1344+(t*960|0)+740>>2]^he)&ve;q=(o[1344+(t*960|0)+744>>2]^de)&ve;j=(o[1344+(t*960|0)+748>>2]^le)&ve;fe=(o[1344+(t*960|0)+752>>2]^ue)&ve;be=(o[1344+(t*960|0)+756>>2]^ce)&ve;ye=(o[1344+(t*960|0)+720>>2]^ye)&ve^ye;o[e>>2]=ye;_e=ie^_e;o[r>>2]=_e;me=te^me;o[u>>2]=me;ge=Y^ge;o[l>>2]=ge;pe=V^pe;o[d>>2]=pe;he=G^he;o[h>>2]=he;de=q^de;o[p>>2]=de;le=j^le;o[g>>2]=le;ue=fe^ue;o[m>>2]=ue;ce=be^ce;o[_>>2]=ce;be=(o[1344+(t*960|0)+764>>2]^oe)&ve;fe=(o[1344+(t*960|0)+768>>2]^re)&ve;j=(o[1344+(t*960|0)+772>>2]^ee)&ve;q=(o[1344+(t*960|0)+776>>2]^J)&ve;G=(o[1344+(t*960|0)+780>>2]^W)&ve;V=(o[1344+(t*960|0)+784>>2]^H)&ve;Y=(o[1344+(t*960|0)+788>>2]^K)&ve;te=(o[1344+(t*960|0)+792>>2]^L)&ve;ie=(o[1344+(t*960|0)+796>>2]^N)&ve;ae=(o[1344+(t*960|0)+760>>2]^ae)&ve^ae;o[i>>2]=ae;oe=be^oe;o[s>>2]=oe;re=fe^re;o[ne>>2]=re;ee=j^ee;o[$>>2]=ee;J=q^J;o[X>>2]=J;W=G^W;o[Q>>2]=W;H=V^H;o[z>>2]=H;K=Y^K;o[F>>2]=K;L=te^L;o[U>>2]=L;N=ie^N;o[B>>2]=N;ie=(o[1344+(t*960|0)+804>>2]^P)&ve;te=(o[1344+(t*960|0)+808>>2]^x)&ve;Y=(o[1344+(t*960|0)+812>>2]^O)&ve;V=(o[1344+(t*960|0)+816>>2]^R)&ve;G=(o[1344+(t*960|0)+820>>2]^S)&ve;q=(o[1344+(t*960|0)+824>>2]^w)&ve;j=(o[1344+(t*960|0)+828>>2]^Z)&ve;fe=(o[1344+(t*960|0)+832>>2]^c)&ve;be=(o[1344+(t*960|0)+836>>2]^se)&ve;D=(o[1344+(t*960|0)+800>>2]^D)&ve^D;o[a>>2]=D;P=ie^P;o[M>>2]=P;x=te^x;o[C>>2]=x;O=Y^O;o[T>>2]=O;R=V^R;o[k>>2]=R;S=G^S;o[E>>2]=S;w=q^w;o[A>>2]=w;Z=j^Z;o[f>>2]=Z;c=fe^c;o[b>>2]=c;se=be^se;o[v>>2]=se;be=Ss((n^8)&255|0,0,-1,-1)|0;be=Cs(be|0,I|0,63)|0;be=0-be|0;fe=(o[1344+(t*960|0)+844>>2]^_e)&be;j=(o[1344+(t*960|0)+848>>2]^me)&be;q=(o[1344+(t*960|0)+852>>2]^ge)&be;G=(o[1344+(t*960|0)+856>>2]^pe)&be;V=(o[1344+(t*960|0)+860>>2]^he)&be;Y=(o[1344+(t*960|0)+864>>2]^de)&be;n=(o[1344+(t*960|0)+868>>2]^le)&be;te=(o[1344+(t*960|0)+872>>2]^ue)&be;ie=(o[1344+(t*960|0)+876>>2]^ce)&be;ye=(o[1344+(t*960|0)+840>>2]^ye)&be^ye;o[e>>2]=ye;_e=fe^_e;o[r>>2]=_e;me=j^me;o[u>>2]=me;ge=q^ge;o[l>>2]=ge;pe=G^pe;o[d>>2]=pe;he=V^he;o[h>>2]=he;de=Y^de;o[p>>2]=de;le=n^le;o[g>>2]=le;ue=te^ue;o[m>>2]=ue;ce=ie^ce;o[_>>2]=ce;ie=(o[1344+(t*960|0)+884>>2]^oe)&be;te=(o[1344+(t*960|0)+888>>2]^re)&be;n=(o[1344+(t*960|0)+892>>2]^ee)&be;Y=(o[1344+(t*960|0)+896>>2]^J)&be;V=(o[1344+(t*960|0)+900>>2]^W)&be;G=(o[1344+(t*960|0)+904>>2]^H)&be;q=(o[1344+(t*960|0)+908>>2]^K)&be;j=(o[1344+(t*960|0)+912>>2]^L)&be;fe=(o[1344+(t*960|0)+916>>2]^N)&be;ae=(o[1344+(t*960|0)+880>>2]^ae)&be^ae;o[i>>2]=ae;oe=ie^oe;o[s>>2]=oe;re=te^re;o[ne>>2]=re;ee=n^ee;o[$>>2]=ee;J=Y^J;o[X>>2]=J;W=V^W;o[Q>>2]=W;H=G^H;o[z>>2]=H;K=q^K;o[F>>2]=K;L=j^L;o[U>>2]=L;N=fe^N;o[B>>2]=N;fe=(o[1344+(t*960|0)+924>>2]^P)&be;j=(o[1344+(t*960|0)+928>>2]^x)&be;q=(o[1344+(t*960|0)+932>>2]^O)&be;G=(o[1344+(t*960|0)+936>>2]^R)&be;V=(o[1344+(t*960|0)+940>>2]^S)&be;Y=(o[1344+(t*960|0)+944>>2]^w)&be;n=(o[1344+(t*960|0)+948>>2]^Z)&be;te=(o[1344+(t*960|0)+952>>2]^c)&be;ie=(o[1344+(t*960|0)+956>>2]^se)&be;D=(o[1344+(t*960|0)+920>>2]^D)&be^D;o[a>>2]=D;P=fe^P;o[M>>2]=P;x=j^x;o[C>>2]=x;O=q^O;o[T>>2]=O;R=G^R;o[k>>2]=R;S=V^S;o[E>>2]=S;w=Y^w;o[A>>2]=w;n=n^Z;o[f>>2]=n;c=te^c;o[b>>2]=c;t=ie^se;o[v>>2]=t;se=o[r>>2]|0;ie=o[u>>2]|0;te=o[l>>2]|0;Z=o[d>>2]|0;Y=o[h>>2]|0;V=o[p>>2]|0;G=o[g>>2]|0;q=o[m>>2]|0;j=o[_>>2]|0;fe=(ae^ye)&y;o[e>>2]=fe^ye;o[r>>2]=(oe^_e)&y^_e;o[u>>2]=(re^me)&y^me;o[l>>2]=(ee^ge)&y^ge;o[d>>2]=(J^pe)&y^pe;o[h>>2]=(W^he)&y^he;o[p>>2]=(H^de)&y^de;o[g>>2]=(K^le)&y^le;o[m>>2]=(L^ue)&y^ue;o[_>>2]=(N^ce)&y^ce;o[i>>2]=fe^ae;o[s>>2]=(se^oe)&y^oe;o[ne>>2]=(ie^re)&y^re;o[$>>2]=(te^ee)&y^ee;o[X>>2]=(Z^J)&y^J;o[Q>>2]=(Y^W)&y^W;o[z>>2]=(V^H)&y^H;o[F>>2]=(G^K)&y^K;o[U>>2]=(q^L)&y^L;o[B>>2]=(j^N)&y^N;o[a>>2]=(D^0-D)&y^D;o[M>>2]=(P^0-P)&y^P;o[C>>2]=(x^0-x)&y^x;o[T>>2]=(O^0-O)&y^O;o[k>>2]=(R^0-R)&y^R;o[E>>2]=(S^0-S)&y^S;o[A>>2]=(w^0-w)&y^w;o[f>>2]=(n^0-n)&y^n;o[b>>2]=(c^0-c)&y^c;o[v>>2]=(t^0-t)&y^t;return}function hi(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0,a=0,f=0,c=0;i=h;h=h+336|0;o=i+144|0;f=i+96|0;s=i+48|0;a=i;c=i+176|0;pi(n,32,t)|0;r[t>>0]=r[t>>0]&-8;n=t+31|0;r[n>>0]=r[n>>0]&63|64;li(c,t);Wr(f,c+80|0);Xr(s,c,f);Xr(a,c+40|0,f);Jr(e,a);Jr(o,s);n=e+31|0;r[n>>0]=r[n>>0]^r[o>>0]<<7&255;h=i;return}function pi(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,f=0,c=0,u=0,l=0;l=h;h=h+208|0;f=l;c=f+72|0;o[c>>2]=0;u=f;o[u>>2]=0;o[u+4>>2]=0;u=f+8|0;o[u>>2]=-205731576;o[u+4>>2]=1779033703;u=f+16|0;o[u>>2]=-2067093701;o[u+4>>2]=-1150833019;u=f+24|0;o[u>>2]=-23791573;o[u+4>>2]=1013904242;u=f+32|0;o[u>>2]=1595750129;o[u+4>>2]=-1521486534;u=f+40|0;o[u>>2]=-1377402159;o[u+4>>2]=1359893119;u=f+48|0;o[u>>2]=725511199;o[u+4>>2]=-1694144372;u=f+56|0;o[u>>2]=-79577749;o[u+4>>2]=528734635;u=f+64|0;o[u>>2]=327033209;o[u+4>>2]=1541459225;if(!e){u=1;h=l;return u|0}e:do{if(t|0){u=f+76|0;s=0;while(1){if(!((s|0)==0&t>>>0>127)){a=128-s|0;a=t>>>0<a>>>0?t:a;if(a|0){i=0;do{r[i+s+(f+76)>>0]=r[e+i>>0]|0;i=i+1|0}while(i>>>0<a>>>0)}s=s+a|0;o[c>>2]=s;e=e+a|0;t=t-a|0;if((s|0)==128){gi(f,u);s=f;s=Ss(o[s>>2]|0,o[s+4>>2]|0,1024,0)|0;a=f;o[a>>2]=s;o[a+4>>2]=I;o[c>>2]=0}}else{gi(f,e);s=f;s=Ss(o[s>>2]|0,o[s+4>>2]|0,1024,0)|0;a=f;o[a>>2]=s;o[a+4>>2]=I;t=t+-128|0;e=e+128|0}if(!t)break e;s=o[c>>2]|0}}}while(0);u=mi(f,n)|0;h=l;return u|0}function gi(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,a=0,f=0,c=0,u=0,l=0,d=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,R=0,T=0,O=0,C=0,x=0,M=0,P=0,D=0,B=0,N=0,j=0,U=0,L=0,q=0,F=0,K=0,G=0,z=0,H=0,V=0,Q=0,W=0,Y=0,X=0;E=h;h=h+704|0;a=E+640|0;A=E;w=e+8|0;n=a;r=w;i=n+64|0;do{o[n>>2]=o[r>>2];n=n+4|0;r=r+4|0}while((n|0)<(i|0));n=0;do{y=t+(n<<3)|0;d=xs(s[y>>0]|0|0,0,56)|0;b=I;l=xs(s[y+1>>0]|0|0,0,48)|0;b=I|b;p=xs(s[y+2>>0]|0|0,0,40)|0;b=b|I|(s[y+3>>0]|0);g=xs(s[y+4>>0]|0|0,0,24)|0;b=b|I;m=xs(s[y+5>>0]|0|0,0,16)|0;b=b|I;_=xs(s[y+6>>0]|0|0,0,8)|0;v=A+(n<<3)|0;o[v>>2]=l|d|p|g|m|_|(s[y+7>>0]|0);o[v+4>>2]=b|I;n=n+1|0}while((n|0)!=16);i=A;n=16;r=o[i>>2]|0;i=o[i+4>>2]|0;do{u=A+(n+-2<<3)|0;S=o[u>>2]|0;u=o[u+4>>2]|0;l=Cs(S|0,u|0,19)|0;p=I;d=xs(S|0,u|0,45)|0;p=p|I;f=Cs(S|0,u|0,61)|0;t=I;c=xs(S|0,u|0,3)|0;t=t|I;u=Cs(S|0,u|0,6)|0;p=t^I^p;t=A+(n+-7<<3)|0;S=o[t>>2]|0;t=o[t+4>>2]|0;y=A+(n+-15<<3)|0;R=r;r=o[y>>2]|0;k=i;i=o[y+4>>2]|0;y=Cs(r|0,i|0,1)|0;b=I;v=xs(r|0,i|0,63)|0;b=b|I;g=Cs(r|0,i|0,8)|0;T=I;m=xs(r|0,i|0,56)|0;T=T|I;_=Cs(r|0,i|0,7)|0;b=T^I^b;t=Ss(R|0,k|0,S|0,t|0)|0;p=Ss(t|0,I|0,(f|c)^u^(l|d)|0,p|0)|0;b=Ss(p|0,I|0,(g|m)^_^(y|v)|0,b|0)|0;v=A+(n<<3)|0;o[v>>2]=b;o[v+4>>2]=I;n=n+1|0}while((n|0)!=80);l=a+56|0;i=a+32|0;f=a+48|0;c=a+40|0;p=a;m=a+8|0;y=a+16|0;v=a+24|0;n=0;r=o[i>>2]|0;i=o[i+4>>2]|0;t=o[f>>2]|0;a=o[c>>2]|0;f=o[f+4>>2]|0;c=o[c+4>>2]|0;u=o[l>>2]|0;l=o[l+4>>2]|0;d=o[p>>2]|0;p=o[p+4>>2]|0;g=o[m>>2]|0;m=o[m+4>>2]|0;_=o[y>>2]|0;y=o[y+4>>2]|0;b=o[v>>2]|0;v=o[v+4>>2]|0;do{k=Cs(r|0,i|0,14)|0;Q=I;R=xs(r|0,i|0,50)|0;Q=Q|I;Y=Cs(r|0,i|0,18)|0;K=I;L=xs(r|0,i|0,46)|0;K=Q^(K|I);Q=Cs(r|0,i|0,41)|0;V=I;B=xs(r|0,i|0,23)|0;V=K^(V|I);K=32064+(n<<3)|0;x=A+(n<<3)|0;N=o[x>>2]|0;x=o[x+4>>2]|0;K=Ss(o[K>>2]|0,o[K+4>>2]|0,u|0,l|0)|0;V=Ss(K|0,I|0,(k|R)^(Y|L)^(Q|B)|0,V|0)|0;x=Ss(V|0,I|0,N|0,x|0)|0;x=Ss(x|0,I|0,(a^t)&r^t|0,(c^f)&i^f|0)|0;N=I;V=Cs(d|0,p|0,28)|0;B=I;Q=xs(d|0,p|0,36)|0;B=B|I;L=Cs(d|0,p|0,34)|0;Y=I;R=xs(d|0,p|0,30)|0;Y=B^(Y|I);B=Cs(d|0,p|0,39)|0;k=I;K=xs(d|0,p|0,25)|0;k=Y^(k|I);Y=Ss(b|0,v|0,x|0,N|0)|0;q=I;N=Ss((g|d)&_|g&d|0,(m|p)&y|m&p|0,x|0,N|0)|0;k=Ss(N|0,I|0,(V|Q)^(L|R)^(B|K)|0,k|0)|0;K=I;B=Cs(Y|0,q|0,14)|0;R=I;L=xs(Y|0,q|0,50)|0;R=R|I;Q=Cs(Y|0,q|0,18)|0;V=I;N=xs(Y|0,q|0,46)|0;V=R^(V|I);R=Cs(Y|0,q|0,41)|0;x=I;T=xs(Y|0,q|0,23)|0;x=V^(x|I);V=n|1;H=32064+(V<<3)|0;P=o[H>>2]|0;H=o[H+4>>2]|0;V=A+(V<<3)|0;j=o[V>>2]|0;V=o[V+4>>2]|0;M=Ss(Y&(a^r)^a|0,q&(c^i)^c|0,t|0,f|0)|0;H=Ss(M|0,I|0,P|0,H|0)|0;V=Ss(H|0,I|0,j|0,V|0)|0;x=Ss(V|0,I|0,(B|L)^(Q|N)^(R|T)|0,x|0)|0;T=I;R=Cs(k|0,K|0,28)|0;N=I;Q=xs(k|0,K|0,36)|0;N=N|I;L=Cs(k|0,K|0,34)|0;B=I;V=xs(k|0,K|0,30)|0;B=N^(B|I);N=Cs(k|0,K|0,39)|0;j=I;H=xs(k|0,K|0,25)|0;j=Ss((R|Q)^(L|V)^(N|H)|0,B^(j|I)|0,(k|d)&g|k&d|0,(K|p)&m|K&p|0)|0;B=I;H=Ss(x|0,T|0,_|0,y|0)|0;N=I;T=Ss(j|0,B|0,x|0,T|0)|0;x=I;B=Cs(H|0,N|0,14)|0;j=I;V=xs(H|0,N|0,50)|0;j=j|I;L=Cs(H|0,N|0,18)|0;Q=I;R=xs(H|0,N|0,46)|0;Q=j^(Q|I);j=Cs(H|0,N|0,41)|0;P=I;M=xs(H|0,N|0,23)|0;P=Q^(P|I);Q=n|2;F=32064+(Q<<3)|0;Q=A+(Q<<3)|0;D=o[Q>>2]|0;Q=o[Q+4>>2]|0;F=Ss(o[F>>2]|0,o[F+4>>2]|0,a|0,c|0)|0;Q=Ss(F|0,I|0,D|0,Q|0)|0;Q=Ss(Q|0,I|0,H&(Y^r)^r|0,N&(q^i)^i|0)|0;P=Ss(Q|0,I|0,(B|V)^(L|R)^(j|M)|0,P|0)|0;M=I;j=Cs(T|0,x|0,28)|0;R=I;L=xs(T|0,x|0,36)|0;R=R|I;V=Cs(T|0,x|0,34)|0;B=I;Q=xs(T|0,x|0,30)|0;B=R^(B|I);R=Cs(T|0,x|0,39)|0;D=I;F=xs(T|0,x|0,25)|0;D=Ss((j|L)^(V|Q)^(R|F)|0,B^(D|I)|0,(T|k)&d|T&k|0,(x|K)&p|x&K|0)|0;B=I;F=Ss(P|0,M|0,g|0,m|0)|0;R=I;M=Ss(D|0,B|0,P|0,M|0)|0;P=I;B=Cs(F|0,R|0,14)|0;D=I;Q=xs(F|0,R|0,50)|0;D=D|I;V=Cs(F|0,R|0,18)|0;L=I;j=xs(F|0,R|0,46)|0;L=D^(L|I);D=Cs(F|0,R|0,41)|0;O=I;C=xs(F|0,R|0,23)|0;O=L^(O|I);L=n|3;U=32064+(L<<3)|0;L=A+(L<<3)|0;W=o[L>>2]|0;L=o[L+4>>2]|0;U=Ss(o[U>>2]|0,o[U+4>>2]|0,r|0,i|0)|0;L=Ss(U|0,I|0,W|0,L|0)|0;L=Ss(L|0,I|0,F&(H^Y)^Y|0,R&(N^q)^q|0)|0;O=Ss(L|0,I|0,(B|Q)^(V|j)^(D|C)|0,O|0)|0;C=I;D=Cs(M|0,P|0,28)|0;j=I;V=xs(M|0,P|0,36)|0;j=j|I;Q=Cs(M|0,P|0,34)|0;B=I;L=xs(M|0,P|0,30)|0;B=j^(B|I);j=Cs(M|0,P|0,39)|0;W=I;U=xs(M|0,P|0,25)|0;W=Ss((D|V)^(Q|L)^(j|U)|0,B^(W|I)|0,(M|T)&k|M&T|0,(P|x)&K|P&x|0)|0;B=I;U=Ss(O|0,C|0,d|0,p|0)|0;j=I;C=Ss(W|0,B|0,O|0,C|0)|0;O=I;B=Cs(U|0,j|0,14)|0;W=I;L=xs(U|0,j|0,50)|0;W=W|I;Q=Cs(U|0,j|0,18)|0;V=I;D=xs(U|0,j|0,46)|0;V=W^(V|I);W=Cs(U|0,j|0,41)|0;z=I;S=xs(U|0,j|0,23)|0;z=V^(z|I);V=n|4;X=32064+(V<<3)|0;V=A+(V<<3)|0;G=o[V>>2]|0;V=o[V+4>>2]|0;q=Ss(o[X>>2]|0,o[X+4>>2]|0,Y|0,q|0)|0;V=Ss(q|0,I|0,G|0,V|0)|0;V=Ss(V|0,I|0,U&(F^H)^H|0,j&(R^N)^N|0)|0;z=Ss(V|0,I|0,(B|L)^(Q|D)^(W|S)|0,z|0)|0;S=I;W=Cs(C|0,O|0,28)|0;D=I;Q=xs(C|0,O|0,36)|0;D=D|I;L=Cs(C|0,O|0,34)|0;B=I;V=xs(C|0,O|0,30)|0;B=D^(B|I);D=Cs(C|0,O|0,39)|0;G=I;q=xs(C|0,O|0,25)|0;G=Ss((W|Q)^(L|V)^(D|q)|0,B^(G|I)|0,(C|M)&T|C&M|0,(O|P)&x|O&P|0)|0;B=I;u=Ss(z|0,S|0,k|0,K|0)|0;l=I;b=Ss(G|0,B|0,z|0,S|0)|0;v=I;S=Cs(u|0,l|0,14)|0;z=I;B=xs(u|0,l|0,50)|0;z=z|I;G=Cs(u|0,l|0,18)|0;K=I;k=xs(u|0,l|0,46)|0;K=z^(K|I);z=Cs(u|0,l|0,41)|0;q=I;D=xs(u|0,l|0,23)|0;q=K^(q|I);K=n|5;V=32064+(K<<3)|0;K=A+(K<<3)|0;L=o[K>>2]|0;K=o[K+4>>2]|0;N=Ss(o[V>>2]|0,o[V+4>>2]|0,H|0,N|0)|0;K=Ss(N|0,I|0,L|0,K|0)|0;K=Ss(K|0,I|0,u&(U^F)^F|0,l&(j^R)^R|0)|0;q=Ss(K|0,I|0,(S|B)^(G|k)^(z|D)|0,q|0)|0;D=I;z=Cs(b|0,v|0,28)|0;k=I;G=xs(b|0,v|0,36)|0;k=k|I;B=Cs(b|0,v|0,34)|0;S=I;K=xs(b|0,v|0,30)|0;S=k^(S|I);k=Cs(b|0,v|0,39)|0;L=I;N=xs(b|0,v|0,25)|0;L=Ss((z|G)^(B|K)^(k|N)|0,S^(L|I)|0,(b|C)&M|b&C|0,(v|O)&P|v&O|0)|0;S=I;t=Ss(q|0,D|0,T|0,x|0)|0;f=I;_=Ss(L|0,S|0,q|0,D|0)|0;y=I;D=Cs(t|0,f|0,14)|0;q=I;S=xs(t|0,f|0,50)|0;q=q|I;L=Cs(t|0,f|0,18)|0;x=I;T=xs(t|0,f|0,46)|0;x=q^(x|I);q=Cs(t|0,f|0,41)|0;N=I;k=xs(t|0,f|0,23)|0;N=x^(N|I);x=n|6;K=32064+(x<<3)|0;x=A+(x<<3)|0;B=o[x>>2]|0;x=o[x+4>>2]|0;R=Ss(o[K>>2]|0,o[K+4>>2]|0,F|0,R|0)|0;x=Ss(R|0,I|0,B|0,x|0)|0;x=Ss(x|0,I|0,t&(u^U)^U|0,f&(l^j)^j|0)|0;N=Ss(x|0,I|0,(D|S)^(L|T)^(q|k)|0,N|0)|0;k=I;q=Cs(_|0,y|0,28)|0;T=I;L=xs(_|0,y|0,36)|0;T=T|I;S=Cs(_|0,y|0,34)|0;D=I;x=xs(_|0,y|0,30)|0;D=T^(D|I);T=Cs(_|0,y|0,39)|0;B=I;R=xs(_|0,y|0,25)|0;B=Ss((q|L)^(S|x)^(T|R)|0,D^(B|I)|0,(_|b)&C|_&b|0,(y|v)&O|y&v|0)|0;D=I;a=Ss(N|0,k|0,M|0,P|0)|0;c=I;g=Ss(B|0,D|0,N|0,k|0)|0;m=I;k=Cs(a|0,c|0,14)|0;N=I;D=xs(a|0,c|0,50)|0;N=N|I;B=Cs(a|0,c|0,18)|0;P=I;M=xs(a|0,c|0,46)|0;P=N^(P|I);N=Cs(a|0,c|0,41)|0;R=I;T=xs(a|0,c|0,23)|0;R=P^(R|I);P=n|7;x=32064+(P<<3)|0;P=A+(P<<3)|0;S=o[P>>2]|0;P=o[P+4>>2]|0;x=Ss(U|0,j|0,o[x>>2]|0,o[x+4>>2]|0)|0;P=Ss(x|0,I|0,S|0,P|0)|0;P=Ss(P|0,I|0,a&(t^u)^u|0,c&(f^l)^l|0)|0;R=Ss(P|0,I|0,(k|D)^(B|M)^(N|T)|0,R|0)|0;T=I;N=Cs(g|0,m|0,28)|0;M=I;B=xs(g|0,m|0,36)|0;M=M|I;D=Cs(g|0,m|0,34)|0;k=I;P=xs(g|0,m|0,30)|0;k=M^(k|I);M=Cs(g|0,m|0,39)|0;S=I;x=xs(g|0,m|0,25)|0;S=Ss((N|B)^(D|P)^(M|x)|0,k^(S|I)|0,(g|_)&b|g&_|0,(m|y)&v|m&y|0)|0;k=I;r=Ss(R|0,T|0,C|0,O|0)|0;i=I;d=Ss(S|0,k|0,R|0,T|0)|0;p=I;n=n+8|0}while(n>>>0<80);Y=w;Y=Ss(d|0,p|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;X=w;o[X>>2]=Y;o[X+4>>2]=I;X=e+16|0;Y=X;Y=Ss(g|0,m|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+24|0;Y=X;Y=Ss(_|0,y|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+32|0;Y=X;Y=Ss(b|0,v|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+40|0;Y=X;Y=Ss(r|0,i|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+48|0;Y=X;Y=Ss(a|0,c|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+56|0;Y=X;Y=Ss(t|0,f|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;X=e+64|0;Y=X;Y=Ss(u|0,l|0,o[Y>>2]|0,o[Y+4>>2]|0)|0;o[X>>2]=Y;o[X+4>>2]=I;h=E;return}function mi(e,t){e=e|0;t=t|0;var n=0,i=0,s=0,a=0;if((e|0)==0|(t|0)==0){s=1;return s|0}s=e+72|0;n=o[s>>2]|0;if(n>>>0>127){s=1;return s|0}a=xs(n|0,0,3)|0;i=e;a=Ss(o[i>>2]|0,o[i+4>>2]|0,a|0,I|0)|0;i=e;o[i>>2]=a;o[i+4>>2]=I;i=e+76|0;o[s>>2]=n+1;r[e+76+n>>0]=-128;n=o[s>>2]|0;if(n>>>0>112){if(n>>>0<128)do{o[s>>2]=n+1;r[e+76+n>>0]=0;n=o[s>>2]|0}while(n>>>0<128);gi(e,i);o[s>>2]=0;n=0}do{o[s>>2]=n+1;r[e+76+n>>0]=0;n=o[s>>2]|0}while(n>>>0<120);s=e;a=o[s>>2]|0;s=o[s+4>>2]|0;n=Cs(a|0,s|0,56)|0;r[e+196>>0]=n;n=Cs(a|0,s|0,48)|0;r[e+197>>0]=n;n=Cs(a|0,s|0,40)|0;r[e+198>>0]=n;r[e+199>>0]=s;n=Cs(a|0,s|0,24)|0;r[e+200>>0]=n;n=Cs(a|0,s|0,16)|0;r[e+201>>0]=n;s=Cs(a|0,s|0,8)|0;r[e+202>>0]=s;r[e+203>>0]=a;gi(e,i);a=e+8|0;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+1>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+2>>0]=s;r[t+3>>0]=o[a+4>>2];s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+4>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+5>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+6>>0]=s;r[t+7>>0]=o[a>>2];a=e+16|0;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+8>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+9>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+10>>0]=s;r[t+11>>0]=o[a+4>>2];s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+12>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+13>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+14>>0]=s;r[t+15>>0]=o[a>>2];a=e+24|0;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+16>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+17>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+18>>0]=s;r[t+19>>0]=o[a+4>>2];s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+20>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+21>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+22>>0]=s;r[t+23>>0]=o[a>>2];a=e+32|0;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+24>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+25>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+26>>0]=s;r[t+27>>0]=o[a+4>>2];s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+28>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+29>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+30>>0]=s;r[t+31>>0]=o[a>>2];a=e+40|0;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+32>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+33>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+34>>0]=s;r[t+35>>0]=o[a+4>>2];s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+36>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+37>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+38>>0]=s;r[t+39>>0]=o[a>>2];a=e+48|0;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+40>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+41>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+42>>0]=s;r[t+43>>0]=o[a+4>>2];s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+44>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+45>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+46>>0]=s;r[t+47>>0]=o[a>>2];a=e+56|0;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+48>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+49>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+50>>0]=s;r[t+51>>0]=o[a+4>>2];s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+52>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+53>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+54>>0]=s;r[t+55>>0]=o[a>>2];a=e+64|0;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,56)|0;r[t+56>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,48)|0;r[t+57>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,40)|0;r[t+58>>0]=s;r[t+59>>0]=o[a+4>>2];s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,24)|0;r[t+60>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,16)|0;r[t+61>>0]=s;s=a;s=Cs(o[s>>2]|0,o[s+4>>2]|0,8)|0;r[t+62>>0]=s;r[t+63>>0]=o[a>>2];a=0;return a|0}function _i(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var a=0,f=0,c=0,u=0,l=0,d=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0;S=h;h=h+768|0;_=S+240|0;y=S+192|0;b=S+144|0;A=S+96|0;w=S+32|0;E=S;d=S+272|0;p=S+600|0;g=S+480|0;if((s[e+63>>0]|0)>31){E=0;h=S;return E|0}if(ui(p,i)|0){E=0;h=S;return E|0}m=d+72|0;o[m>>2]=0;v=d;o[v>>2]=0;o[v+4>>2]=0;v=d+8|0;o[v>>2]=-205731576;o[v+4>>2]=1779033703;v=d+16|0;o[v>>2]=-2067093701;o[v+4>>2]=-1150833019;v=d+24|0;o[v>>2]=-23791573;o[v+4>>2]=1013904242;v=d+32|0;o[v>>2]=1595750129;o[v+4>>2]=-1521486534;v=d+40|0;o[v>>2]=-1377402159;o[v+4>>2]=1359893119;v=d+48|0;o[v>>2]=725511199;o[v+4>>2]=-1694144372;v=d+56|0;o[v>>2]=-79577749;o[v+4>>2]=528734635;v=d+64|0;o[v>>2]=327033209;o[v+4>>2]=1541459225;v=d+76|0;r[d+76>>0]=r[e>>0]|0;r[d+77>>0]=r[e+1>>0]|0;r[d+78>>0]=r[e+2>>0]|0;r[d+79>>0]=r[e+3>>0]|0;r[d+80>>0]=r[e+4>>0]|0;r[d+81>>0]=r[e+5>>0]|0;r[d+82>>0]=r[e+6>>0]|0;r[d+83>>0]=r[e+7>>0]|0;r[d+84>>0]=r[e+8>>0]|0;r[d+85>>0]=r[e+9>>0]|0;r[d+86>>0]=r[e+10>>0]|0;r[d+87>>0]=r[e+11>>0]|0;r[d+88>>0]=r[e+12>>0]|0;r[d+89>>0]=r[e+13>>0]|0;r[d+90>>0]=r[e+14>>0]|0;r[d+91>>0]=r[e+15>>0]|0;r[d+92>>0]=r[e+16>>0]|0;r[d+93>>0]=r[e+17>>0]|0;r[d+94>>0]=r[e+18>>0]|0;r[d+95>>0]=r[e+19>>0]|0;r[d+96>>0]=r[e+20>>0]|0;r[d+97>>0]=r[e+21>>0]|0;r[d+98>>0]=r[e+22>>0]|0;r[d+99>>0]=r[e+23>>0]|0;r[d+100>>0]=r[e+24>>0]|0;r[d+101>>0]=r[e+25>>0]|0;r[d+102>>0]=r[e+26>>0]|0;r[d+103>>0]=r[e+27>>0]|0;r[d+104>>0]=r[e+28>>0]|0;r[d+105>>0]=r[e+29>>0]|0;r[d+106>>0]=r[e+30>>0]|0;r[d+107>>0]=r[e+31>>0]|0;o[m>>2]=32;e:do{if(i|0?(c=o[m>>2]|0,c>>>0<=128):0){a=32;while(1){if(!((c|0)==0&a>>>0>127)){l=128-c|0;l=a>>>0<l>>>0?a:l;if(l|0){u=0;do{r[u+c+(d+76)>>0]=r[i+u>>0]|0;u=u+1|0}while(u>>>0<l>>>0)}u=c+l|0;o[m>>2]=u;i=i+l|0;a=a-l|0;if((u|0)==128){gi(d,v);u=d;u=Ss(o[u>>2]|0,o[u+4>>2]|0,1024,0)|0;l=d;o[l>>2]=u;o[l+4>>2]=I;o[m>>2]=0}}else{gi(d,i);u=d;u=Ss(o[u>>2]|0,o[u+4>>2]|0,1024,0)|0;l=d;o[l>>2]=u;o[l+4>>2]=I;a=a+-128|0;i=i+128|0}if(!a)break e;c=o[m>>2]|0}}}while(0);e:do{if(t|0?(f=o[m>>2]|0,!((n|0)==0|f>>>0>128)):0)while(1){if(!((f|0)==0&n>>>0>127)){i=128-f|0;i=n>>>0<i>>>0?n:i;if(i|0){a=0;do{r[a+f+(d+76)>>0]=r[t+a>>0]|0;a=a+1|0}while(a>>>0<i>>>0)}l=f+i|0;o[m>>2]=l;t=t+i|0;n=n-i|0;if((l|0)==128){gi(d,v);u=d;u=Ss(o[u>>2]|0,o[u+4>>2]|0,1024,0)|0;l=d;o[l>>2]=u;o[l+4>>2]=I;o[m>>2]=0}}else{gi(d,t);u=d;u=Ss(o[u>>2]|0,o[u+4>>2]|0,1024,0)|0;l=d;o[l>>2]=u;o[l+4>>2]=I;n=n+-128|0;t=t+128|0}if(!n)break e;f=o[m>>2]|0}}while(0);mi(d,w)|0;ei(w);ri(g,w,p,e+32|0);Wr(y,g+80|0);Xr(b,g,y);Xr(A,g+40|0,y);Jr(E,A);Jr(_,b);A=E+31|0;w=r[A>>0]^r[_>>0]<<7&255;r[A>>0]=w;E=(r[e+1>>0]^r[E+1>>0]|r[e>>0]^r[E>>0]|r[e+2>>0]^r[E+2>>0]|r[e+3>>0]^r[E+3>>0]|r[e+4>>0]^r[E+4>>0]|r[e+5>>0]^r[E+5>>0]|r[e+6>>0]^r[E+6>>0]|r[e+7>>0]^r[E+7>>0]|r[e+8>>0]^r[E+8>>0]|r[e+9>>0]^r[E+9>>0]|r[e+10>>0]^r[E+10>>0]|r[e+11>>0]^r[E+11>>0]|r[e+12>>0]^r[E+12>>0]|r[e+13>>0]^r[E+13>>0]|r[e+14>>0]^r[E+14>>0]|r[e+15>>0]^r[E+15>>0]|r[e+16>>0]^r[E+16>>0]|r[e+17>>0]^r[E+17>>0]|r[e+18>>0]^r[E+18>>0]|r[e+19>>0]^r[E+19>>0]|r[e+20>>0]^r[E+20>>0]|r[e+21>>0]^r[E+21>>0]|r[e+22>>0]^r[E+22>>0]|r[e+23>>0]^r[E+23>>0]|r[e+24>>0]^r[E+24>>0]|r[e+25>>0]^r[E+25>>0]|r[e+26>>0]^r[E+26>>0]|r[e+27>>0]^r[E+27>>0]|r[e+28>>0]^r[E+28>>0]|r[e+29>>0]^r[E+29>>0]|r[e+30>>0]^r[E+30>>0]|r[e+31>>0]^w)<<24>>24==0&1;h=S;return E|0}function yi(e,t,n,i,s){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;var a=0,f=0,c=0,u=0,l=0,d=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,R=0,T=0,O=0,C=0,x=0,M=0,P=0,D=0;D=h;h=h+672|0;w=D+272|0;S=D+224|0;k=D+176|0;R=D+128|0;P=D+304|0;O=D+64|0;C=D;p=D+512|0;x=P+72|0;o[x>>2]=0;g=P;o[g>>2]=0;o[g+4>>2]=0;g=P+8|0;m=g;o[m>>2]=-205731576;o[m+4>>2]=1779033703;m=P+16|0;_=m;o[_>>2]=-2067093701;o[_+4>>2]=-1150833019;_=P+24|0;y=_;o[y>>2]=-23791573;o[y+4>>2]=1013904242;y=P+32|0;b=y;o[b>>2]=1595750129;o[b+4>>2]=-1521486534;b=P+40|0;v=b;o[v>>2]=-1377402159;o[v+4>>2]=1359893119;v=P+48|0;A=v;o[A>>2]=725511199;o[A+4>>2]=-1694144372;A=P+56|0;E=A;o[E>>2]=-79577749;o[E+4>>2]=528734635;E=P+64|0;M=E;o[M>>2]=327033209;o[M+4>>2]=1541459225;M=P+76|0;r[P+76>>0]=r[s+32>>0]|0;r[P+77>>0]=r[s+33>>0]|0;r[P+78>>0]=r[s+34>>0]|0;r[P+79>>0]=r[s+35>>0]|0;r[P+80>>0]=r[s+36>>0]|0;r[P+81>>0]=r[s+37>>0]|0;r[P+82>>0]=r[s+38>>0]|0;r[P+83>>0]=r[s+39>>0]|0;r[P+84>>0]=r[s+40>>0]|0;r[P+85>>0]=r[s+41>>0]|0;r[P+86>>0]=r[s+42>>0]|0;r[P+87>>0]=r[s+43>>0]|0;r[P+88>>0]=r[s+44>>0]|0;r[P+89>>0]=r[s+45>>0]|0;r[P+90>>0]=r[s+46>>0]|0;r[P+91>>0]=r[s+47>>0]|0;r[P+92>>0]=r[s+48>>0]|0;r[P+93>>0]=r[s+49>>0]|0;r[P+94>>0]=r[s+50>>0]|0;r[P+95>>0]=r[s+51>>0]|0;r[P+96>>0]=r[s+52>>0]|0;r[P+97>>0]=r[s+53>>0]|0;r[P+98>>0]=r[s+54>>0]|0;r[P+99>>0]=r[s+55>>0]|0;r[P+100>>0]=r[s+56>>0]|0;r[P+101>>0]=r[s+57>>0]|0;r[P+102>>0]=r[s+58>>0]|0;r[P+103>>0]=r[s+59>>0]|0;r[P+104>>0]=r[s+60>>0]|0;r[P+105>>0]=r[s+61>>0]|0;r[P+106>>0]=r[s+62>>0]|0;r[P+107>>0]=r[s+63>>0]|0;o[x>>2]=32;T=(t|0)==0;e:do{if(!T?(u=o[x>>2]|0,!((n|0)==0|u>>>0>128)):0){a=n;f=t;while(1){if(!((u|0)==0&a>>>0>127)){d=128-u|0;d=a>>>0<d>>>0?a:d;if(d|0){l=0;do{r[l+u+(P+76)>>0]=r[f+l>>0]|0;l=l+1|0}while(l>>>0<d>>>0)}l=u+d|0;o[x>>2]=l;f=f+d|0;a=a-d|0;if((l|0)==128){gi(P,M);l=P;l=Ss(o[l>>2]|0,o[l+4>>2]|0,1024,0)|0;d=P;o[d>>2]=l;o[d+4>>2]=I;o[x>>2]=0}}else{gi(P,f);l=P;l=Ss(o[l>>2]|0,o[l+4>>2]|0,1024,0)|0;d=P;o[d>>2]=l;o[d+4>>2]=I;a=a+-128|0;f=f+128|0}if(!a)break e;u=o[x>>2]|0}}}while(0);mi(P,C)|0;ei(C);li(p,C);Wr(S,p+80|0);Xr(k,p,S);Xr(R,p+40|0,S);Jr(e,R);Jr(w,k);R=e+31|0;r[R>>0]=r[R>>0]^r[w>>0]<<7&255;o[x>>2]=0;R=P;o[R>>2]=0;o[R+4>>2]=0;R=g;o[R>>2]=-205731576;o[R+4>>2]=1779033703;R=m;o[R>>2]=-2067093701;o[R+4>>2]=-1150833019;R=_;o[R>>2]=-23791573;o[R+4>>2]=1013904242;R=y;o[R>>2]=1595750129;o[R+4>>2]=-1521486534;R=b;o[R>>2]=-1377402159;o[R+4>>2]=1359893119;R=v;o[R>>2]=725511199;o[R+4>>2]=-1694144372;R=A;o[R>>2]=-79577749;o[R+4>>2]=528734635;R=E;o[R>>2]=327033209;o[R+4>>2]=1541459225;if(e|0){r[P+76>>0]=r[e>>0]|0;r[P+77>>0]=r[e+1>>0]|0;r[P+78>>0]=r[e+2>>0]|0;r[P+79>>0]=r[e+3>>0]|0;r[P+80>>0]=r[e+4>>0]|0;r[P+81>>0]=r[e+5>>0]|0;r[P+82>>0]=r[e+6>>0]|0;r[P+83>>0]=r[e+7>>0]|0;r[P+84>>0]=r[e+8>>0]|0;r[P+85>>0]=r[e+9>>0]|0;r[P+86>>0]=r[e+10>>0]|0;r[P+87>>0]=r[e+11>>0]|0;r[P+88>>0]=r[e+12>>0]|0;r[P+89>>0]=r[e+13>>0]|0;r[P+90>>0]=r[e+14>>0]|0;r[P+91>>0]=r[e+15>>0]|0;r[P+92>>0]=r[e+16>>0]|0;r[P+93>>0]=r[e+17>>0]|0;r[P+94>>0]=r[e+18>>0]|0;r[P+95>>0]=r[e+19>>0]|0;r[P+96>>0]=r[e+20>>0]|0;r[P+97>>0]=r[e+21>>0]|0;r[P+98>>0]=r[e+22>>0]|0;r[P+99>>0]=r[e+23>>0]|0;r[P+100>>0]=r[e+24>>0]|0;r[P+101>>0]=r[e+25>>0]|0;r[P+102>>0]=r[e+26>>0]|0;r[P+103>>0]=r[e+27>>0]|0;r[P+104>>0]=r[e+28>>0]|0;r[P+105>>0]=r[e+29>>0]|0;r[P+106>>0]=r[e+30>>0]|0;r[P+107>>0]=r[e+31>>0]|0;o[x>>2]=32}e:do{if(i|0?(c=o[x>>2]|0,c>>>0<=128):0){a=32;while(1){if(!((c|0)==0&a>>>0>127)){u=128-c|0;u=a>>>0<u>>>0?a:u;if(u|0){f=0;do{r[f+c+(P+76)>>0]=r[i+f>>0]|0;f=f+1|0}while(f>>>0<u>>>0)}R=c+u|0;o[x>>2]=R;i=i+u|0;a=a-u|0;if((R|0)==128){gi(P,M);k=P;k=Ss(o[k>>2]|0,o[k+4>>2]|0,1024,0)|0;R=P;o[R>>2]=k;o[R+4>>2]=I;o[x>>2]=0}}else{gi(P,i);k=P;k=Ss(o[k>>2]|0,o[k+4>>2]|0,1024,0)|0;R=P;o[R>>2]=k;o[R+4>>2]=I;a=a+-128|0;i=i+128|0}if(!a)break e;c=o[x>>2]|0}}}while(0);if(T){mi(P,O)|0;ei(O);P=e+32|0;ti(P,O,s,C);h=D;return}a=o[x>>2]|0;if((n|0)==0|a>>>0>128){mi(P,O)|0;ei(O);P=e+32|0;ti(P,O,s,C);h=D;return}i=a;while(1){if(!((i|0)==0&n>>>0>127)){f=128-i|0;f=n>>>0<f>>>0?n:f;if(f|0){a=0;do{r[a+i+(P+76)>>0]=r[t+a>>0]|0;a=a+1|0}while(a>>>0<f>>>0)}T=i+f|0;o[x>>2]=T;t=t+f|0;n=n-f|0;if((T|0)==128){gi(P,M);R=P;R=Ss(o[R>>2]|0,o[R+4>>2]|0,1024,0)|0;T=P;o[T>>2]=R;o[T+4>>2]=I;o[x>>2]=0}}else{gi(P,t);R=P;R=Ss(o[R>>2]|0,o[R+4>>2]|0,1024,0)|0;T=P;o[T>>2]=R;o[T+4>>2]=I;n=n+-128|0;t=t+128|0}if(!n)break;i=o[x>>2]|0}mi(P,O)|0;ei(O);P=e+32|0;ti(P,O,s,C);h=D;return}function bi(e,t,n){e=e|0;t=t|0;n=n|0;o[e+128>>2]=n;n=t;t=e+128|0;do{r[e>>0]=r[n>>0]|0;e=e+1|0;n=n+1|0}while((e|0)<(t|0));return}function vi(e){e=e|0;return 132}function Ai(e,t){e=e|0;t=t|0;t=qe(t,e,128)|0;return Ne(t,o[e+128>>2]|0)|0}function wi(e,t,n){e=e|0;t=t|0;n=n|0;return je(Fe(t,n,e,128)|0,n,e+128|0)|0}function Ei(e){e=e|0;var t=0,n=0,r=0,i=0;r=e+128|0;i=(o[r>>2]|0)+1|0;o[r>>2]=i;if(i&16777215){n=0;r=16777215;while(1){t=n+1|0;r=r>>>8;if(n>>>0>2|(r&i|0)==0)break;else n=t}if(n>>>0>2)return}else t=0;r=e+(t<<5)|0;n=3;while(1){Et(r,32,38116+n|0,1,e+(n<<5)|0);if((n|0)>(t|0))n=n+-1|0;else break}return}function Si(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0;s=e+128|0;n=o[s>>2]|0;r=(t>>>24)-(n>>>24)|0;switch((r&255)<<24>>24){case 0:{if(n>>>0>t>>>0){n=256;i=3}break}case 1:{i=5;break}default:{n=r&255;i=3}}if((i|0)==3){do{Et(e,32,38116,1,e);n=n+-1|0}while(n>>>0>1);i=5}if((i|0)==5){Et(e,32,38119,1,e+96|0);Et(e,32,38118,1,e+64|0);Et(e,32,38117,1,e+32|0);Et(e,32,38116,1,e);n=t&-16777216;o[s>>2]=n}r=(t>>>16)-(n>>>16)|0;switch((r&255)<<24>>24){case 0:{if(n>>>0>t>>>0){n=256;i=8}break}case 1:{i=10;break}default:{n=r&255;i=8}}if((i|0)==8){r=e+32|0;do{Et(r,32,38117,1,r);n=n+-1|0}while(n>>>0>1);i=10}if((i|0)==10){n=e+32|0;Et(n,32,38119,1,e+96|0);Et(n,32,38118,1,e+64|0);Et(n,32,38117,1,e+32|0);n=t&-65536;o[s>>2]=n}r=(t>>>8)-(n>>>8)|0;switch((r&255)<<24>>24){case 0:{if(n>>>0>t>>>0){n=256;i=13}break}case 1:{i=15;break}default:{n=r&255;i=13}}if((i|0)==13){r=e+64|0;do{Et(r,32,38118,1,r);n=n+-1|0}while(n>>>0>1);i=15}if((i|0)==15){n=e+64|0;Et(n,32,38119,1,e+96|0);Et(n,32,38118,1,e+64|0);n=t&-256;o[s>>2]=n}r=t-n|0;switch((r&255)<<24>>24){case 0:{if(n>>>0>t>>>0){n=256;i=18}else return;break}case 1:break;default:{n=r&255;i=18}}if((i|0)==18){r=e+96|0;do{Et(r,32,38119,1,r);n=n+-1|0}while(n>>>0>1)}Et(e+96|0,32,38119,1,e+96|0);o[s>>2]=t;return}function ki(e){e=e|0;if(e>>>0>=16){e=38120;return e|0}e=o[32704+(e<<2)>>2]|0;return e|0}function Ii(e){e=e|0;e=Hs[o[37564>>2]&3](37592,e)|0;return pe((zs[o[9390]&1](37592)|0)+e|0)|0}function Ri(e,t){e=e|0;t=t|0;t=Hs[o[37564>>2]&3](37592,t)|0;t=(zs[o[9390]&1](37592)|0)+t|0;return e+(pe(t)|0)+(0-t)|0}function Ti(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0,a=0,f=0;f=Hs[o[37564>>2]&3](37592,r)|0;s=(zs[o[9390]&1](37592)|0)+f|0;i=pe(s)|0;a=n+i+(0-s)|0;Qs[o[37568>>2]&3](37592,e,t,a,r,a,f,a,s)|0;ge(a,s,n)|0;return i|0}function Oi(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0;s=me(r)|0;if((s|0)==-1){if(!i){i=-1;return i|0}o[i>>2]=7;i=-1;return i|0}else{_e(n,r,n)|0;r=s-(zs[o[9390]&1](37592)|0)|0;e=Qs[o[37576>>2]&3](37592,e,t,n,s,n,r,n,r)|0;if(!((i|0)!=0&(e|0)==-1)){i=e;return i|0}o[i>>2]=8;i=-1;return i|0}return 0}function Ci(){return 304}function xi(e){e=e|0;zr(e,304);return e|0}function Mi(e){e=e|0;zr(e,304);return 304}function Pi(e){e=e|0;return ki(o[e+300>>2]|0)|0}function Di(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0,f=0,c=0;c=h;h=h+240|0;f=c;switch(me(n)|0){case-1:{o[e+300>>2]=7;f=-1;h=c;return f|0}case 229:{_e(t,n,f)|0;do{if((r[f>>0]|0)==2){t=((s[f+1>>0]<<8|s[f+2>>0])<<8|s[f+3>>0])<<8|s[f+4>>0];n=f+5|0;bi(e,n,t);bi(e+132|0,n,t);t=e+264|0;n=t;i=f+133|0;a=n+32|0;do{r[n>>0]=r[i>>0]|0;n=n+1|0;i=i+1|0}while((n|0)<(a|0));if(!(yt(t,f,165,f+165|0)|0)){o[e+300>>2]=14;t=-1;break}else{o[e+296>>2]=1;t=0;break}}else{o[e+300>>2]=11;t=-1}}while(0);zr(f,229);f=t;h=c;return f|0}default:{o[e+300>>2]=11;f=-1;h=c;return f|0}}return 0}function Bi(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0;a=h;h=h+176|0;i=a;switch(me(n)|0){case-1:{o[e+300>>2]=7;i=-1;h=a;return i|0}case 165:{_e(t,n,i)|0;if((r[i>>0]|0)==1){t=((s[i+1>>0]<<8|s[i+2>>0])<<8|s[i+3>>0])<<8|s[i+4>>0];n=i+5|0;bi(e,n,t);bi(e+132|0,n,t);e=e+264|0;t=i+133|0;n=e+32|0;do{r[e>>0]=r[t>>0]|0;e=e+1|0;t=t+1|0}while((e|0)<(n|0));e=0}else{o[e+300>>2]=11;e=-1}zr(i,165);i=e;h=a;return i|0}default:{o[e+300>>2]=11;i=-1;h=a;return i|0}}return 0}function Ni(e){e=e|0;var t=0,n=0;n=vi(e)|0;t=vi(e+132|0)|0;return Ii(n+5+t+(Ce(e+264|0)|0)|0)|0}function ji(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,f=0,c=0;c=vi(e)|0;a=e+132|0;s=vi(a)|0;f=e+264|0;s=c+5+s+(Ce(f)|0)|0;if((Ii(s)|0)>>>0>i>>>0){o[e+300>>2]=2;c=-1;return c|0}else{c=xe(Ai(a,Ai(e,Ne(Ri(r,s)|0,2)|0)|0)|0,f)|0;Ue(c,o[e+296>>2]|0)|0;c=Ti(t,n,r,s)|0;return c|0}return 0}function Ui(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,f=0,c=0;c=h;h=h+16|0;a=c;f=e+300|0;t=Oi(t,n,r,i,f)|0;if((t|0)==-1){f=-1;h=c;return f|0}s=r+t|0;t=je(r,s,a)|0;if(((o[a>>2]|0)+-1|0)>>>0>1){o[f>>2]=9;f=-1;h=c;return f|0}t=Me(wi(e+132|0,wi(e,t,s)|0,s)|0,s,e+264|0)|0;n=e+296|0;if((o[a>>2]|0)==1)o[n>>2]=1;else t=Le(t,s,n)|0;if((s|0)==(t|0)){f=i;h=c;return f|0}o[f>>2]=10;f=-1;h=c;return f|0}function Li(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0;s=h;h=h+32|0;i=s;n=_e(t,n,t)|0;if((n|0)==-1){o[e+300>>2]=7;i=-1;h=s;return i|0}Xe(t,n,zs[o[o[9395]>>2]&1](37580)|0,64,i);do{if((r[i>>0]|0)==3)if(!(o[i+12>>2]|0)){o[e+300>>2]=4;n=-1;break}else{n=Hs[o[(o[9395]|0)+12>>2]&3](37580,o[i+16>>2]|0)|0;break}else{o[e+300>>2]=3;n=-1}}while(0);i=n;h=s;return i|0}function qi(e,t,n,i,s,a){e=e|0;t=t|0;n=n|0;i=i|0;s=s|0;a=a|0;var f=0,c=0,u=0,l=0,d=0,p=0;p=h;h=h+160|0;u=p+132|0;d=p;n=_e(t,n,t)|0;if((n|0)==-1){o[e+300>>2]=7;d=-1;h=p;return d|0}Xe(t,n,zs[o[o[9395]>>2]&1](37580)|0,64,u);e:do{if((r[u>>0]|0)==3){if(o[u+8>>2]|0?(l=u+12|0,o[l>>2]|0):0){if(a|0)o[a>>2]=o[u+4>>2];f=n+-64|0;if(!(yt(e+264|0,t,f,t+f|0)|0)){o[e+300>>2]=14;n=-1;break}c=u+16|0;if((Hs[o[(o[9395]|0)+12>>2]&3](37580,o[c>>2]|0)|0)>>>0>s>>>0){o[e+300>>2]=2;n=-1;break}n=o[u+4>>2]|0;a=e+132|0;do{if((n-(o[e+260>>2]|0)|0)<=-1)if((n-(o[e+128>>2]|0)|0)<0){o[e+300>>2]=12;n=-1;break e}else{Ps(d|0,e|0,132)|0;Si(d,n);break}else{Si(a,n);Ps(d|0,a|0,132)|0}}while(0);n=Qs[o[(o[9395]|0)+16>>2]&3](37580,d,128,t,f,o[l>>2]|0,o[c>>2]|0,i,s)|0;zr(d,132);if((n|0)==-1){o[e+300>>2]=5;n=-1;break}else{o[e+296>>2]=1;break}}o[e+300>>2]=4;n=-1}else{o[e+300>>2]=3;n=-1}}while(0);d=n;h=p;return d|0}function Fi(e){e=e|0;return pe(32)|0}function Ki(e,t,n){e=e|0;t=t|0;n=n|0;if((pe(32)|0)>>>0>n>>>0){o[e+300>>2]=2;n=-1;return n|0}else{n=ge(e+264|0,32,t)|0;return n|0}return 0}function Gi(e){e=e|0;return o[e+128>>2]|0}function zi(e){e=e|0;return o[e+296>>2]|0}function Hi(e){e=e|0;return pe(165)|0}function Vi(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,f=0,c=0,u=0;u=h;h=h+144|0;c=u;s=pe(165)|0;if(s>>>0>n>>>0){o[e+300>>2]=2;t=-1;h=u;return t|0}n=e+132|0;do{if((i-(o[e+260>>2]|0)|0)>-1){Si(n,i);Ps(c|0,n|0,132)|0}else{if((i-(o[e+128>>2]|0)|0)>=0){Ps(c|0,e|0,132)|0;Si(c,i);break}o[e+300>>2]=12;t=-1;h=u;return t|0}}while(0);f=t+s+-165|0;r[f>>0]=1;a=f+1|0;r[a>>0]=i>>>24;a=a+1|0;r[a>>0]=i>>>16;a=a+1|0;r[a>>0]=i>>>8;r[a+1>>0]=i;a=t+(s+-161)|0;s=t+(s+-160)|0;n=c;i=s+128|0;do{r[s>>0]=r[n>>0]|0;s=s+1|0;n=n+1|0}while((s|0)<(i|0));s=a+129|0;n=e+264|0;i=s+32|0;do{r[s>>0]=r[n>>0]|0;s=s+1|0;n=n+1|0}while((s|0)<(i|0));t=ge(f,165,t)|0;h=u;return t|0}function Qi(e){e=e|0;return ki(o[e>>2]|0)|0}function Wi(){return 100}function Yi(e){e=e|0;zr(e,100);return e|0}function Xi(e){e=e|0;zr(e,100);return 100}function Ji(e){e=e|0;return 32}function Zi(e,t,n){e=e|0;t=t|0;n=n|0;if(n>>>0<32){o[e>>2]=1;n=-1;return n|0}else{pt(t,e+4|0);n=0;return n|0}return 0}function $i(e){e=e|0;return pe(32)|0}function eo(e,t,n){e=e|0;t=t|0;n=n|0;if((pe(32)|0)>>>0>n>>>0){o[e>>2]=2;n=-1;return n|0}else{ge(e+4|0,32,t)|0;n=0;return n|0}return 0}function to(e,t,n){e=e|0;t=t|0;n=n|0;if((pe(32)|0)>>>0>n>>>0){o[e>>2]=15;n=-1;return n|0}else{_e(t,n,t)|0;gt(e+4|0,t,e+68|0);n=0;return n|0}return 0}function no(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;It(e+68|0,32,0,0,t,n,r,i);return 0}function ro(e){e=e|0;return pe(32)|0}function io(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var f=0,c=0;c=h;h=h+32|0;f=c;if((pe(32)|0)>>>0>a>>>0){o[e>>2]=2;f=-1;h=c;return f|0}else{It(e+68|0,32,0,0,r,i,f,32);Et(f,32,t,n,s);ge(s,32,s)|0;f=0;h=c;return f|0}return 0}function oo(e,t,n,r,i,s,a){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;s=s|0;a=a|0;var f=0,c=0;c=h;h=h+256|0;f=c;if((pe(32)|0)>>>0>a>>>0){o[e>>2]=2;f=-1;h=c;return f|0}else{It(e+68|0,32,0,0,r,i,f,256);Et(f,256,t,n,s);ge(s,32,s)|0;f=0;h=c;return f|0}return 0}function so(){return 232}function ao(e){e=e|0;zr(e,232);return e|0}function fo(e){e=e|0;zr(e,232);return 232}function co(e){e=e|0;return ki(o[e+228>>2]|0)|0}function uo(e){e=e|0;var t=0;t=(vi(e)|0)+4|0;return Ii(t+(Pe(e+132|0)|0)|0)|0}function lo(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0;a=(vi(e)|0)+4|0;s=e+132|0;a=a+(Pe(s)|0)|0;if((Ii(a)|0)>>>0>i>>>0){o[e+228>>2]=2;a=-1;return a|0}else{De(Ai(e,Ne(Ri(r,a)|0,1)|0)|0,s)|0;a=Ti(t,n,r,a)|0;return a|0}return 0}function ho(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,f=0;f=h;h=h+16|0;s=f;a=e+228|0;t=Oi(t,n,r,i,a)|0;do{if((t|0)!=-1){n=r+t|0;t=je(r,n,s)|0;if((o[s>>2]|0)!=1){o[a>>2]=9;i=-1;break}if((n|0)!=(Be(wi(e,t,n)|0,n,e+132|0)|0)){o[a>>2]=10;i=-1}}else i=-1}while(0);h=f;return i|0}function po(e){e=e|0;return 160}function go(e,t,n){e=e|0;t=t|0;n=n|0;if(n>>>0<160){o[e+228>>2]=1;n=-1;return n|0}else{bi(e,t,0);mt(t+128|0,e+132|0);zr(t,n);n=0;return n|0}return 0}function mo(e,t){e=e|0;t=t|0;var n=0;n=Hs[o[(o[9395]|0)+4>>2]&3](37580,t)|0;t=zs[o[o[9395]>>2]&1](37580)|0;return pe(We(o[e+128>>2]|0,n,t,64)|0)|0}function _o(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,f=0,c=0,u=0,l=0;u=h;h=h+16|0;c=u;a=Hs[o[(o[9395]|0)+4>>2]&3](37580,n)|0;f=zs[o[o[9395]>>2]&1](37580)|0;s=e+128|0;f=We(o[s>>2]|0,a,f,64)|0;if((pe(f)|0)>>>0>i>>>0){o[e+228>>2]=2;c=-1;h=u;return c|0}a=r+(pe(f)|0)+(0-f)|0;l=Hs[o[(o[9395]|0)+4>>2]&3](37580,n)|0;i=zs[o[o[9395]>>2]&1](37580)|0;i=(Ye(3,o[s>>2]|0,l,a,c)|0)+i|0;if((Qs[o[(o[9395]|0)+8>>2]&3](37580,e,128,t,n,o[c>>2]|0,l,a,i)|0)==-1){l=-1;h=u;return l|0}else{Ei(e);_t(e+132|0,a,i,a+i|0);l=ge(a,f,r)|0;h=u;return l|0}return 0}function yo(e){e=e|0;return pe(32)|0}function bo(e,t,n){e=e|0;t=t|0;n=n|0;if((pe(32)|0)>>>0>n>>>0){o[e+228>>2]=2;n=-1;return n|0}else{n=ge(e+132|0,32,t)|0;return n|0}return 0}function vo(e){e=e|0;return o[e+128>>2]|0}function Ao(e){e=e|0;return pe(229)|0}function wo(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,f=0,c=0;i=pe(229)|0;if(i>>>0>n>>>0){o[e+228>>2]=2;t=-1;return t|0}else{f=t+i+-229|0;r[f>>0]=2;s=o[e+128>>2]|0;c=f+1|0;r[c>>0]=s>>>24;c=c+1|0;r[c>>0]=s>>>16;c=c+1|0;r[c>>0]=s>>>8;r[c+1>>0]=s;c=t+(i+-225)|0;i=t+(i+-224)|0;s=e;a=i+128|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));n=e+132|0;i=c+129|0;s=n;a=i+32|0;do{r[i>>0]=r[s>>0]|0;i=i+1|0;s=s+1|0}while((i|0)<(a|0));c=c+161|0;_t(n,f,c-f|0,c);t=ge(f,229,t)|0;return t|0}return 0}function Eo(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,a=0,f=0,c=0,u=0,l=0,d=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,I=0,R=0,T=0,O=0,C=0,x=0,M=0,P=0,D=0;O=h;h=h+256|0;T=O;o[T>>2]=(s[t+1>>0]|0)<<16|(s[t>>0]|0)<<24|(s[t+2>>0]|0)<<8|(s[t+3>>0]|0);o[T+4>>2]=(s[t+5>>0]|0)<<16|(s[t+4>>0]|0)<<24|(s[t+6>>0]|0)<<8|(s[t+7>>0]|0);o[T+8>>2]=(s[t+9>>0]|0)<<16|(s[t+8>>0]|0)<<24|(s[t+10>>0]|0)<<8|(s[t+11>>0]|0);o[T+12>>2]=(s[t+13>>0]|0)<<16|(s[t+12>>0]|0)<<24|(s[t+14>>0]|0)<<8|(s[t+15>>0]|0);o[T+16>>2]=(s[t+17>>0]|0)<<16|(s[t+16>>0]|0)<<24|(s[t+18>>0]|0)<<8|(s[t+19>>0]|0);o[T+20>>2]=(s[t+21>>0]|0)<<16|(s[t+20>>0]|0)<<24|(s[t+22>>0]|0)<<8|(s[t+23>>0]|0);o[T+24>>2]=(s[t+25>>0]|0)<<16|(s[t+24>>0]|0)<<24|(s[t+26>>0]|0)<<8|(s[t+27>>0]|0);o[T+28>>2]=(s[t+29>>0]|0)<<16|(s[t+28>>0]|0)<<24|(s[t+30>>0]|0)<<8|(s[t+31>>0]|0);o[T+32>>2]=(s[t+33>>0]|0)<<16|(s[t+32>>0]|0)<<24|(s[t+34>>0]|0)<<8|(s[t+35>>0]|0);o[T+36>>2]=(s[t+37>>0]|0)<<16|(s[t+36>>0]|0)<<24|(s[t+38>>0]|0)<<8|(s[t+39>>0]|0);o[T+40>>2]=(s[t+41>>0]|0)<<16|(s[t+40>>0]|0)<<24|(s[t+42>>0]|0)<<8|(s[t+43>>0]|0);o[T+44>>2]=(s[t+45>>0]|0)<<16|(s[t+44>>0]|0)<<24|(s[t+46>>0]|0)<<8|(s[t+47>>0]|0);o[T+48>>2]=(s[t+49>>0]|0)<<16|(s[t+48>>0]|0)<<24|(s[t+50>>0]|0)<<8|(s[t+51>>0]|0);o[T+52>>2]=(s[t+53>>0]|0)<<16|(s[t+52>>0]|0)<<24|(s[t+54>>0]|0)<<8|(s[t+55>>0]|0);o[T+56>>2]=(s[t+57>>0]|0)<<16|(s[t+56>>0]|0)<<24|(s[t+58>>0]|0)<<8|(s[t+59>>0]|0);o[T+60>>2]=(s[t+61>>0]|0)<<16|(s[t+60>>0]|0)<<24|(s[t+62>>0]|0)<<8|(s[t+63>>0]|0);t=16;n=o[T>>2]|0;do{R=o[T+(t+-2<<2)>>2]|0;I=n;n=o[T+(t+-15<<2)>>2]|0;o[T+(t<<2)>>2]=I+(o[T+(t+-7<<2)>>2]|0)+((R>>>19|R<<13)^R>>>10^(R>>>17|R<<15))+((n>>>18|n<<14)^n>>>3^(n>>>7|n<<25));t=t+1|0}while((t|0)!=64);p=e+80|0;g=o[p>>2]|0;m=e+84|0;_=o[m>>2]|0;y=e+88|0;b=o[y>>2]|0;v=e+92|0;A=o[v>>2]|0;w=e+96|0;E=o[w>>2]|0;S=e+100|0;k=o[S>>2]|0;I=e+104|0;R=o[I>>2]|0;l=e+108|0;d=o[l>>2]|0;e=_;t=d;r=R;i=k;a=E;n=A;f=b;c=g;u=0;while(1){C=((a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7))+t+(r&~a^i&a)+(o[32768+(u<<2)>>2]|0)+(o[T+(u<<2)>>2]|0)|0;t=C+n|0;n=((c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10))+(c&(e^f)^e&f)+C|0;u=u+1|0;if((u|0)==64)break;else{D=f;P=a;M=i;x=r;C=c;a=t;c=n;f=e;n=D;i=P;r=M;t=x;e=C}}o[p>>2]=n+g;o[m>>2]=c+_;o[y>>2]=e+b;o[v>>2]=f+A;o[w>>2]=t+E;o[S>>2]=a+k;o[I>>2]=i+R;o[l>>2]=r+d;h=O;return}function So(e){e=e|0;var t=0;o[e+64>>2]=0;t=e+72|0;o[t>>2]=0;o[t+4>>2]=0;o[e+80>>2]=1779033703;o[e+84>>2]=-1150833019;o[e+88>>2]=1013904242;o[e+92>>2]=-1521486534;o[e+96>>2]=1359893119;o[e+100>>2]=-1694144372;o[e+104>>2]=528734635;o[e+108>>2]=1541459225;return}function ko(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,f=0,c=0;if(!n)return;a=e+64|0;f=e+72|0;s=0;i=o[a>>2]|0;do{r[e+i>>0]=r[t+s>>0]|0;i=(o[a>>2]|0)+1|0;o[a>>2]=i;if((i|0)==64){Eo(e,e);c=f;c=Ss(o[c>>2]|0,o[c+4>>2]|0,512,0)|0;i=f;o[i>>2]=c;o[i+4>>2]=I;o[a>>2]=0;i=0}s=s+1|0}while((s|0)!=(n|0));return}function Io(e,t){e=e|0;t=t|0;var n=0,i=0,s=0,a=0,f=0,c=0,u=0,l=0;s=e+64|0;n=o[s>>2]|0;i=n+1|0;r[e+n>>0]=-128;if(n>>>0<56){if(i>>>0<56)Ds(e+i|0,0,55-n|0)|0}else{if(i>>>0<64)Ds(e+i|0,0,63-n|0)|0;Eo(e,e);n=e;i=n+56|0;do{o[n>>2]=0;n=n+4|0}while((n|0)<(i|0))}c=e+72|0;u=c;u=Ss(o[u>>2]|0,o[u+4>>2]|0,o[s>>2]<<3|0,0)|0;l=I;o[c>>2]=u;o[c+4>>2]=l;r[e+63>>0]=u;c=Cs(u|0,l|0,8)|0;r[e+62>>0]=c;c=Cs(u|0,l|0,16)|0;r[e+61>>0]=c;c=Cs(u|0,l|0,24)|0;r[e+60>>0]=c;r[e+59>>0]=l;c=Cs(u|0,l|0,40)|0;r[e+58>>0]=c;c=Cs(u|0,l|0,48)|0;r[e+57>>0]=c;l=Cs(u|0,l|0,56)|0;r[e+56>>0]=l;Eo(e,e);l=e+80|0;u=e+84|0;c=e+88|0;f=e+92|0;a=e+96|0;n=e+100|0;i=e+104|0;s=e+108|0;r[t>>0]=(o[l>>2]|0)>>>24;r[t+4>>0]=(o[u>>2]|0)>>>24;r[t+8>>0]=(o[c>>2]|0)>>>24;r[t+12>>0]=(o[f>>2]|0)>>>24;r[t+16>>0]=(o[a>>2]|0)>>>24;r[t+20>>0]=(o[n>>2]|0)>>>24;r[t+24>>0]=(o[i>>2]|0)>>>24;r[t+28>>0]=(o[s>>2]|0)>>>24;r[t+1>>0]=(o[l>>2]|0)>>>16;r[t+5>>0]=(o[u>>2]|0)>>>16;r[t+9>>0]=(o[c>>2]|0)>>>16;r[t+13>>0]=(o[f>>2]|0)>>>16;r[t+17>>0]=(o[a>>2]|0)>>>16;r[t+21>>0]=(o[n>>2]|0)>>>16;r[t+25>>0]=(o[i>>2]|0)>>>16;r[t+29>>0]=(o[s>>2]|0)>>>16;r[t+2>>0]=(o[l>>2]|0)>>>8;r[t+6>>0]=(o[u>>2]|0)>>>8;r[t+10>>0]=(o[c>>2]|0)>>>8;r[t+14>>0]=(o[f>>2]|0)>>>8;r[t+18>>0]=(o[a>>2]|0)>>>8;r[t+22>>0]=(o[n>>2]|0)>>>8;r[t+26>>0]=(o[i>>2]|0)>>>8;r[t+30>>0]=(o[s>>2]|0)>>>8;r[t+3>>0]=o[l>>2];r[t+7>>0]=o[u>>2];r[t+11>>0]=o[c>>2];r[t+15>>0]=o[f>>2];r[t+19>>0]=o[a>>2];r[t+23>>0]=o[n>>2];r[t+27>>0]=o[i>>2];r[t+31>>0]=o[s>>2];return}function Ro(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var a=0,f=0,c=0,u=0,l=0,d=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,I=0,R=0,T=0,O=0,C=0,x=0,M=0,P=0,D=0,B=0,N=0,j=0,U=0,L=0,q=0,F=0,K=0,G=0,z=0,H=0,V=0,Q=0,W=0,Y=0;L=h;h=h+16|0;P=L;U=P+4|0;E=P+8|0;S=P+12|0;v=r[e+4>>0]|0;k=P+1|0;c=r[e+5>>0]|0;I=P+5|0;g=r[e+6>>0]|0;R=P+9|0;l=r[e+7>>0]|0;T=P+13|0;y=r[e+8>>0]|0;O=P+2|0;d=r[e+9>>0]|0;C=P+6|0;w=r[e+10>>0]|0;x=P+10|0;u=r[e+11>>0]|0;M=P+14|0;a=r[e+12>>0]|0;D=P+3|0;F=r[e+13>>0]|0;B=P+7|0;m=r[e+14>>0]|0;N=P+11|0;p=r[e+15>>0]|0;j=P+15|0;b=o[n>>2]|0;_=b>>>24^(s[e>>0]|0);A=b>>>16^(s[e+1>>0]|0);f=b>>>8^(s[e+2>>0]|0);b=b^(s[e+3>>0]|0);r[S>>0]=b;q=o[n+4>>2]|0;v=q>>>24^v&255;c=q>>>16^c&255;g=q>>>8^g&255;l=q^l&255;q=o[n+8>>2]|0;y=q>>>24^y&255;d=q>>>16^d&255;w=q>>>8^w&255;u=q^u&255;q=o[n+12>>2]|0;a=q>>>24^a&255;e=q>>>16^F&255;m=q>>>8^m&255;p=q^p&255;r[P>>0]=r[(_&15)+(33024+(_>>>4<<4))>>0]|0;r[k>>0]=r[(v&15)+(33024+(v>>>4<<4))>>0]|0;r[O>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;r[D>>0]=r[(a&15)+(33024+(a>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;r[U>>0]=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[C>>0]=e;r[B>>0]=A;r[E>>0]=w;r[x>>0]=f;r[R>>0]=m;r[N>>0]=g;r[S>>0]=p;r[j>>0]=u;r[M>>0]=l;r[T>>0]=b;To(P);b=o[n+16>>2]|0;l=b>>>24^(s[P>>0]|0);u=b>>>16^(s[U>>0]|0);p=b>>>8^(s[E>>0]|0);r[E>>0]=p;b=b^(s[S>>0]|0);r[S>>0]=b;g=o[n+20>>2]|0;m=g>>>24^(s[k>>0]|0);f=g>>>16^(s[I>>0]|0);w=g>>>8^(s[R>>0]|0);g=g^(s[T>>0]|0);r[T>>0]=g;A=o[n+24>>2]|0;e=A>>>24^(s[O>>0]|0);d=A>>>16^(s[C>>0]|0);c=A>>>8^(s[x>>0]|0);A=A^(s[M>>0]|0);a=o[n+28>>2]|0;y=a>>>24^(s[D>>0]|0);v=a>>>16^(s[B>>0]|0);_=a>>>8^(s[N>>0]|0);a=a^(s[j>>0]|0);r[P>>0]=r[(l&15)+(33024+(l>>>4<<4))>>0]|0;r[k>>0]=r[(m&15)+(33024+(m>>>4<<4))>>0]|0;r[O>>0]=r[(e&15)+(33024+(e>>>4<<4))>>0]|0;r[D>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;r[U>>0]=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[C>>0]=v;r[B>>0]=u;r[E>>0]=c;r[x>>0]=p;r[R>>0]=_;r[N>>0]=w;r[S>>0]=a;r[j>>0]=A;r[M>>0]=g;r[T>>0]=b;To(P);b=o[n+32>>2]|0;g=b>>>24^(s[P>>0]|0);A=b>>>16^(s[U>>0]|0);a=b>>>8^(s[E>>0]|0);r[E>>0]=a;b=b^(s[S>>0]|0);r[S>>0]=b;w=o[n+36>>2]|0;_=w>>>24^(s[k>>0]|0);p=w>>>16^(s[I>>0]|0);c=w>>>8^(s[R>>0]|0);w=w^(s[T>>0]|0);r[T>>0]=w;u=o[n+40>>2]|0;v=u>>>24^(s[O>>0]|0);d=u>>>16^(s[C>>0]|0);f=u>>>8^(s[x>>0]|0);u=u^(s[M>>0]|0);y=o[n+44>>2]|0;e=y>>>24^(s[D>>0]|0);m=y>>>16^(s[B>>0]|0);l=y>>>8^(s[N>>0]|0);y=y^(s[j>>0]|0);r[P>>0]=r[(g&15)+(33024+(g>>>4<<4))>>0]|0;r[k>>0]=r[(_&15)+(33024+(_>>>4<<4))>>0]|0;r[O>>0]=r[(v&15)+(33024+(v>>>4<<4))>>0]|0;r[D>>0]=r[(e&15)+(33024+(e>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;r[U>>0]=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[C>>0]=m;r[B>>0]=A;r[E>>0]=f;r[x>>0]=a;r[R>>0]=l;r[N>>0]=c;r[S>>0]=y;r[j>>0]=u;r[M>>0]=w;r[T>>0]=b;To(P);b=o[n+48>>2]|0;w=b>>>24^(s[P>>0]|0);u=b>>>16^(s[U>>0]|0);y=b>>>8^(s[E>>0]|0);r[E>>0]=y;b=b^(s[S>>0]|0);r[S>>0]=b;c=o[n+52>>2]|0;l=c>>>24^(s[k>>0]|0);a=c>>>16^(s[I>>0]|0);f=c>>>8^(s[R>>0]|0);c=c^(s[T>>0]|0);r[T>>0]=c;A=o[n+56>>2]|0;m=A>>>24^(s[O>>0]|0);d=A>>>16^(s[C>>0]|0);p=A>>>8^(s[x>>0]|0);A=A^(s[M>>0]|0);e=o[n+60>>2]|0;v=e>>>24^(s[D>>0]|0);_=e>>>16^(s[B>>0]|0);g=e>>>8^(s[N>>0]|0);e=e^(s[j>>0]|0);r[P>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;r[k>>0]=r[(l&15)+(33024+(l>>>4<<4))>>0]|0;r[O>>0]=r[(m&15)+(33024+(m>>>4<<4))>>0]|0;r[D>>0]=r[(v&15)+(33024+(v>>>4<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;r[U>>0]=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[C>>0]=_;r[B>>0]=u;r[E>>0]=p;r[x>>0]=y;r[R>>0]=g;r[N>>0]=f;r[S>>0]=e;r[j>>0]=A;r[M>>0]=c;r[T>>0]=b;To(P);b=o[n+64>>2]|0;c=b>>>24^(s[P>>0]|0);A=b>>>16^(s[U>>0]|0);e=b>>>8^(s[E>>0]|0);r[E>>0]=e;b=b^(s[S>>0]|0);r[S>>0]=b;f=o[n+68>>2]|0;g=f>>>24^(s[k>>0]|0);y=f>>>16^(s[I>>0]|0);p=f>>>8^(s[R>>0]|0);f=f^(s[T>>0]|0);r[T>>0]=f;u=o[n+72>>2]|0;_=u>>>24^(s[O>>0]|0);d=u>>>16^(s[C>>0]|0);a=u>>>8^(s[x>>0]|0);u=u^(s[M>>0]|0);v=o[n+76>>2]|0;m=v>>>24^(s[D>>0]|0);l=v>>>16^(s[B>>0]|0);w=v>>>8^(s[N>>0]|0);v=v^(s[j>>0]|0);r[P>>0]=r[(c&15)+(33024+(c>>>4<<4))>>0]|0;r[k>>0]=r[(g&15)+(33024+(g>>>4<<4))>>0]|0;r[O>>0]=r[(_&15)+(33024+(_>>>4<<4))>>0]|0;r[D>>0]=r[(m&15)+(33024+(m>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;r[U>>0]=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[C>>0]=l;r[B>>0]=A;r[E>>0]=a;r[x>>0]=e;r[R>>0]=w;r[N>>0]=p;r[S>>0]=v;r[j>>0]=u;r[M>>0]=f;r[T>>0]=b;To(P);b=o[n+80>>2]|0;f=b>>>24^(s[P>>0]|0);u=b>>>16^(s[U>>0]|0);v=b>>>8^(s[E>>0]|0);r[E>>0]=v;b=b^(s[S>>0]|0);r[S>>0]=b;p=o[n+84>>2]|0;w=p>>>24^(s[k>>0]|0);e=p>>>16^(s[I>>0]|0);a=p>>>8^(s[R>>0]|0);p=p^(s[T>>0]|0);r[T>>0]=p;A=o[n+88>>2]|0;l=A>>>24^(s[O>>0]|0);d=A>>>16^(s[C>>0]|0);y=A>>>8^(s[x>>0]|0);A=A^(s[M>>0]|0);m=o[n+92>>2]|0;_=m>>>24^(s[D>>0]|0);g=m>>>16^(s[B>>0]|0);c=m>>>8^(s[N>>0]|0);m=m^(s[j>>0]|0);r[P>>0]=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[k>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;r[O>>0]=r[(l&15)+(33024+(l>>>4<<4))>>0]|0;r[D>>0]=r[(_&15)+(33024+(_>>>4<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;r[U>>0]=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[C>>0]=g;r[B>>0]=u;r[E>>0]=y;r[x>>0]=v;r[R>>0]=c;r[N>>0]=a;r[S>>0]=m;r[j>>0]=A;r[M>>0]=p;r[T>>0]=b;To(P);b=o[n+96>>2]|0;p=b>>>24^(s[P>>0]|0);A=b>>>16^(s[U>>0]|0);m=b>>>8^(s[E>>0]|0);r[E>>0]=m;b=b^(s[S>>0]|0);r[S>>0]=b;a=o[n+100>>2]|0;c=a>>>24^(s[k>>0]|0);v=a>>>16^(s[I>>0]|0);y=a>>>8^(s[R>>0]|0);a=a^(s[T>>0]|0);r[T>>0]=a;u=o[n+104>>2]|0;g=u>>>24^(s[O>>0]|0);d=u>>>16^(s[C>>0]|0);e=u>>>8^(s[x>>0]|0);u=u^(s[M>>0]|0);_=o[n+108>>2]|0;l=_>>>24^(s[D>>0]|0);w=_>>>16^(s[B>>0]|0);f=_>>>8^(s[N>>0]|0);_=_^(s[j>>0]|0);r[P>>0]=r[(p&15)+(33024+(p>>>4<<4))>>0]|0;r[k>>0]=r[(c&15)+(33024+(c>>>4<<4))>>0]|0;r[O>>0]=r[(g&15)+(33024+(g>>>4<<4))>>0]|0;r[D>>0]=r[(l&15)+(33024+(l>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;r[U>>0]=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[C>>0]=w;r[B>>0]=A;r[E>>0]=e;r[x>>0]=m;r[R>>0]=f;r[N>>0]=y;r[S>>0]=_;r[j>>0]=u;r[M>>0]=a;r[T>>0]=b;To(P);b=o[n+112>>2]|0;a=b>>>24^(s[P>>0]|0);u=b>>>16^(s[U>>0]|0);_=b>>>8^(s[E>>0]|0);r[E>>0]=_;b=b^(s[S>>0]|0);r[S>>0]=b;y=o[n+116>>2]|0;f=y>>>24^(s[k>>0]|0);m=y>>>16^(s[I>>0]|0);e=y>>>8^(s[R>>0]|0);y=y^(s[T>>0]|0);r[T>>0]=y;A=o[n+120>>2]|0;w=A>>>24^(s[O>>0]|0);d=A>>>16^(s[C>>0]|0);v=A>>>8^(s[x>>0]|0);A=A^(s[M>>0]|0);l=o[n+124>>2]|0;g=l>>>24^(s[D>>0]|0);c=l>>>16^(s[B>>0]|0);p=l>>>8^(s[N>>0]|0);l=l^(s[j>>0]|0);r[P>>0]=r[(a&15)+(33024+(a>>>4<<4))>>0]|0;r[k>>0]=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[O>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;r[D>>0]=r[(g&15)+(33024+(g>>>4<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;c=r[(c&15)+(33024+((c>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;r[U>>0]=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[C>>0]=c;r[B>>0]=u;r[E>>0]=v;r[x>>0]=_;r[R>>0]=p;r[N>>0]=e;r[S>>0]=l;r[j>>0]=A;r[M>>0]=y;r[T>>0]=b;To(P);b=o[n+128>>2]|0;y=b>>>24^(s[P>>0]|0);A=b>>>16^(s[U>>0]|0);l=b>>>8^(s[E>>0]|0);r[E>>0]=l;b=b^(s[S>>0]|0);r[S>>0]=b;e=o[n+132>>2]|0;p=e>>>24^(s[k>>0]|0);_=e>>>16^(s[I>>0]|0);v=e>>>8^(s[R>>0]|0);e=e^(s[T>>0]|0);r[T>>0]=e;u=o[n+136>>2]|0;c=u>>>24^(s[O>>0]|0);d=u>>>16^(s[C>>0]|0);m=u>>>8^(s[x>>0]|0);u=u^(s[M>>0]|0);g=o[n+140>>2]|0;w=g>>>24^(s[D>>0]|0);f=g>>>16^(s[B>>0]|0);a=g>>>8^(s[N>>0]|0);g=g^(s[j>>0]|0);r[P>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;r[k>>0]=r[(p&15)+(33024+(p>>>4<<4))>>0]|0;r[O>>0]=r[(c&15)+(33024+(c>>>4<<4))>>0]|0;r[D>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;r[U>>0]=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[C>>0]=f;r[B>>0]=A;r[E>>0]=m;r[x>>0]=l;r[R>>0]=a;r[N>>0]=v;r[S>>0]=g;r[j>>0]=u;r[M>>0]=e;r[T>>0]=b;To(P);b=o[n+144>>2]|0;e=b>>>24^(s[P>>0]|0);u=b>>>16^(s[U>>0]|0);g=b>>>8^(s[E>>0]|0);r[E>>0]=g;b=b^(s[S>>0]|0);r[S>>0]=b;v=o[n+148>>2]|0;a=v>>>24^(s[k>>0]|0);l=v>>>16^(s[I>>0]|0);m=v>>>8^(s[R>>0]|0);v=v^(s[T>>0]|0);r[T>>0]=v;A=o[n+152>>2]|0;f=A>>>24^(s[O>>0]|0);d=A>>>16^(s[C>>0]|0);_=A>>>8^(s[x>>0]|0);A=A^(s[M>>0]|0);w=o[n+156>>2]|0;c=w>>>24^(s[D>>0]|0);p=w>>>16^(s[B>>0]|0);y=w>>>8^(s[N>>0]|0);w=w^(s[j>>0]|0);e=r[(e&15)+(33024+(e>>>4<<4))>>0]|0;r[P>>0]=e;a=r[(a&15)+(33024+(a>>>4<<4))>>0]|0;r[k>>0]=a;f=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[O>>0]=f;c=r[(c&15)+(33024+(c>>>4<<4))>>0]|0;r[D>>0]=c;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;r[U>>0]=l;r[I>>0]=d;r[C>>0]=p;r[B>>0]=u;r[E>>0]=_;r[x>>0]=g;r[R>>0]=y;r[N>>0]=m;r[S>>0]=w;r[j>>0]=A;r[M>>0]=v;r[T>>0]=b;if((i|0)==128){K=y;G=d;z=41;H=w;w=_;V=l;F=e;e=40;q=A;y=m;_=u;m=c;d=43;i=p;l=f;p=42;c=n+(e<<2)|0;c=o[c>>2]|0;A=c>>>24;f=c>>>16;u=c>>>8;F=F&255;F=A^F;F=F&255;r[P>>0]=F;A=V&255;A=f^A;A=A&255;r[U>>0]=A;w=w&255;w=u^w;w=w&255;r[E>>0]=w;E=H&255;E=c^E;E=E&255;r[S>>0]=E;U=n+(z<<2)|0;U=o[U>>2]|0;c=U>>>24;u=U>>>16;P=U>>>8;S=a&255;S=c^S;S=S&255;r[k>>0]=S;k=G&255;k=u^k;k=k&255;r[I>>0]=k;I=K&255;I=P^I;I=I&255;r[R>>0]=I;R=b&255;R=U^R;R=R&255;r[T>>0]=R;U=n+(p<<2)|0;U=o[U>>2]|0;p=U>>>24;b=U>>>16;P=U>>>8;T=l&255;T=p^T;T=T&255;r[O>>0]=T;i=i&255;i=b^i;i=i&255;r[C>>0]=i;C=g&255;C=P^C;C=C&255;r[x>>0]=C;x=v&255;x=U^x;x=x&255;r[M>>0]=x;M=n+(d<<2)|0;M=o[M>>2]|0;n=M>>>24;U=M>>>16;O=M>>>8;P=m&255;P=n^P;P=P&255;r[D>>0]=P;D=_&255;D=U^D;D=D&255;r[B>>0]=D;U=y&255;U=O^U;U=U&255;r[N>>0]=U;q=q&255;q=M^q;q=q&255;r[j>>0]=q;r[t>>0]=F;F=t+1|0;r[F>>0]=A;F=t+2|0;r[F>>0]=w;F=t+3|0;r[F>>0]=E;F=t+4|0;r[F>>0]=S;F=t+5|0;r[F>>0]=k;F=t+6|0;r[F>>0]=I;F=t+7|0;r[F>>0]=R;F=t+8|0;r[F>>0]=T;F=t+9|0;r[F>>0]=i;F=t+10|0;r[F>>0]=C;F=t+11|0;r[F>>0]=x;F=t+12|0;r[F>>0]=P;F=t+13|0;r[F>>0]=D;F=t+14|0;r[F>>0]=U;F=t+15|0;r[F>>0]=q;h=L;return}To(P);b=o[n+160>>2]|0;y=b>>>24^(s[P>>0]|0);A=b>>>16^(s[U>>0]|0);l=b>>>8^(s[E>>0]|0);r[E>>0]=l;b=b^(s[S>>0]|0);r[S>>0]=b;e=o[n+164>>2]|0;p=e>>>24^(s[k>>0]|0);_=e>>>16^(s[I>>0]|0);v=e>>>8^(s[R>>0]|0);e=e^(s[T>>0]|0);r[T>>0]=e;u=o[n+168>>2]|0;c=u>>>24^(s[O>>0]|0);d=u>>>16^(s[C>>0]|0);m=u>>>8^(s[x>>0]|0);u=u^(s[M>>0]|0);g=o[n+172>>2]|0;w=g>>>24^(s[D>>0]|0);f=g>>>16^(s[B>>0]|0);a=g>>>8^(s[N>>0]|0);g=g^(s[j>>0]|0);r[P>>0]=r[(y&15)+(33024+(y>>>4<<4))>>0]|0;r[k>>0]=r[(p&15)+(33024+(p>>>4<<4))>>0]|0;r[O>>0]=r[(c&15)+(33024+(c>>>4<<4))>>0]|0;r[D>>0]=r[(w&15)+(33024+(w>>>4<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;f=r[(f&15)+(33024+((f>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;a=r[(a&15)+(33024+((a>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;e=r[(e&15)+(33024+((e>>>4&15)<<4))>>0]|0;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;r[U>>0]=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;r[I>>0]=d;r[C>>0]=f;r[B>>0]=A;r[E>>0]=m;r[x>>0]=l;r[R>>0]=a;r[N>>0]=v;r[S>>0]=g;r[j>>0]=u;r[M>>0]=e;r[T>>0]=b;To(P);b=o[n+176>>2]|0;e=b>>>24^(s[P>>0]|0);u=b>>>16^(s[U>>0]|0);g=b>>>8^(s[E>>0]|0);r[E>>0]=g;b=b^(s[S>>0]|0);r[S>>0]=b;v=o[n+180>>2]|0;a=v>>>24^(s[k>>0]|0);l=v>>>16^(s[I>>0]|0);m=v>>>8^(s[R>>0]|0);v=v^(s[T>>0]|0);r[T>>0]=v;A=o[n+184>>2]|0;f=A>>>24^(s[O>>0]|0);d=A>>>16^(s[C>>0]|0);_=A>>>8^(s[x>>0]|0);A=A^(s[M>>0]|0);w=o[n+188>>2]|0;c=w>>>24^(s[D>>0]|0);p=w>>>16^(s[B>>0]|0);y=w>>>8^(s[N>>0]|0);w=w^(s[j>>0]|0);e=r[(e&15)+(33024+(e>>>4<<4))>>0]|0;r[P>>0]=e;a=r[(a&15)+(33024+(a>>>4<<4))>>0]|0;r[k>>0]=a;f=r[(f&15)+(33024+(f>>>4<<4))>>0]|0;r[O>>0]=f;c=r[(c&15)+(33024+(c>>>4<<4))>>0]|0;r[D>>0]=c;u=r[(u&15)+(33024+((u>>>4&15)<<4))>>0]|0;l=r[(l&15)+(33024+((l>>>4&15)<<4))>>0]|0;d=r[(d&15)+(33024+((d>>>4&15)<<4))>>0]|0;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;g=r[(g&15)+(33024+((g>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;y=r[(y&15)+(33024+((y>>>4&15)<<4))>>0]|0;b=r[(b&15)+(33024+((b>>>4&15)<<4))>>0]|0;v=r[(v&15)+(33024+((v>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;r[U>>0]=l;r[I>>0]=d;r[C>>0]=p;r[B>>0]=u;r[E>>0]=_;r[x>>0]=g;r[R>>0]=y;r[N>>0]=m;r[S>>0]=w;r[j>>0]=A;r[M>>0]=v;r[T>>0]=b;if((i|0)==192){Q=y;W=49;Y=w;w=_;V=e;e=48;H=A;z=m;G=u;K=c;y=51;F=v;q=g;_=p;m=f;v=50;i=b;g=n+(e<<2)|0;g=o[g>>2]|0;A=g>>>24;p=g>>>16;b=g>>>8;V=V&255;V=A^V;V=V&255;r[P>>0]=V;A=l&255;A=p^A;A=A&255;r[U>>0]=A;w=w&255;w=b^w;w=w&255;r[E>>0]=w;E=Y&255;E=g^E;E=E&255;r[S>>0]=E;U=n+(W<<2)|0;U=o[U>>2]|0;g=U>>>24;b=U>>>16;P=U>>>8;S=a&255;S=g^S;S=S&255;r[k>>0]=S;k=d&255;k=b^k;k=k&255;r[I>>0]=k;I=Q&255;I=P^I;I=I&255;r[R>>0]=I;i=i&255;i=U^i;i=i&255;r[T>>0]=i;T=n+(v<<2)|0;T=o[T>>2]|0;U=T>>>24;v=T>>>16;R=T>>>8;P=m&255;P=U^P;P=P&255;r[O>>0]=P;U=_&255;U=v^U;U=U&255;r[C>>0]=U;q=q&255;q=R^q;q=q&255;r[x>>0]=q;F=F&255;F=T^F;F=F&255;r[M>>0]=F;M=n+(y<<2)|0;M=o[M>>2]|0;O=M>>>24;C=M>>>16;x=M>>>8;K=K&255;K=O^K;K=K&255;r[D>>0]=K;G=G&255;G=C^G;G=G&255;r[B>>0]=G;z=z&255;z=x^z;z=z&255;r[N>>0]=z;H=H&255;H=M^H;H=H&255;r[j>>0]=H;r[t>>0]=V;V=t+1|0;r[V>>0]=A;V=t+2|0;r[V>>0]=w;V=t+3|0;r[V>>0]=E;V=t+4|0;r[V>>0]=S;V=t+5|0;r[V>>0]=k;V=t+6|0;r[V>>0]=I;V=t+7|0;r[V>>0]=i;V=t+8|0;r[V>>0]=P;V=t+9|0;r[V>>0]=U;V=t+10|0;r[V>>0]=q;V=t+11|0;r[V>>0]=F;V=t+12|0;r[V>>0]=K;V=t+13|0;r[V>>0]=G;V=t+14|0;r[V>>0]=z;V=t+15|0;r[V>>0]=H;h=L;return}To(P);q=o[n+192>>2]|0;_=q>>>24^(s[P>>0]|0);W=q>>>16^(s[U>>0]|0);A=q>>>8^(s[E>>0]|0);r[E>>0]=A;q=q^(s[S>>0]|0);r[S>>0]=q;Y=o[n+196>>2]|0;K=Y>>>24^(s[k>>0]|0);w=Y>>>16^(s[I>>0]|0);z=Y>>>8^(s[R>>0]|0);Y=Y^(s[T>>0]|0);r[T>>0]=Y;V=o[n+200>>2]|0;H=V>>>24^(s[O>>0]|0);m=V>>>16^(s[C>>0]|0);Q=V>>>8^(s[x>>0]|0);V=V^(s[M>>0]|0);G=o[n+204>>2]|0;p=G>>>24^(s[D>>0]|0);F=G>>>16^(s[B>>0]|0);i=G>>>8^(s[N>>0]|0);G=G^(s[j>>0]|0);r[P>>0]=r[(_&15)+(33024+(_>>>4<<4))>>0]|0;r[k>>0]=r[(K&15)+(33024+(K>>>4<<4))>>0]|0;r[O>>0]=r[(H&15)+(33024+(H>>>4<<4))>>0]|0;r[D>>0]=r[(p&15)+(33024+(p>>>4<<4))>>0]|0;W=r[(W&15)+(33024+((W>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;F=r[(F&15)+(33024+((F>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;z=r[(z&15)+(33024+((z>>>4&15)<<4))>>0]|0;Q=r[(Q&15)+(33024+((Q>>>4&15)<<4))>>0]|0;i=r[(i&15)+(33024+((i>>>4&15)<<4))>>0]|0;q=r[(q&15)+(33024+((q>>>4&15)<<4))>>0]|0;Y=r[(Y&15)+(33024+((Y>>>4&15)<<4))>>0]|0;V=r[(V&15)+(33024+((V>>>4&15)<<4))>>0]|0;G=r[(G&15)+(33024+((G>>>4&15)<<4))>>0]|0;r[U>>0]=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;r[I>>0]=m;r[C>>0]=F;r[B>>0]=W;r[E>>0]=Q;r[x>>0]=A;r[R>>0]=i;r[N>>0]=z;r[S>>0]=G;r[j>>0]=V;r[M>>0]=Y;r[T>>0]=q;To(P);q=o[n+208>>2]|0;Y=q>>>24^(s[P>>0]|0);V=q>>>16^(s[U>>0]|0);G=q>>>8^(s[E>>0]|0);r[E>>0]=G;q=q^(s[S>>0]|0);r[S>>0]=q;z=o[n+212>>2]|0;i=z>>>24^(s[k>>0]|0);A=z>>>16^(s[I>>0]|0);Q=z>>>8^(s[R>>0]|0);z=z^(s[T>>0]|0);r[T>>0]=z;W=o[n+216>>2]|0;F=W>>>24^(s[O>>0]|0);m=W>>>16^(s[C>>0]|0);w=W>>>8^(s[x>>0]|0);W=W^(s[M>>0]|0);p=o[n+220>>2]|0;H=p>>>24^(s[D>>0]|0);K=p>>>16^(s[B>>0]|0);_=p>>>8^(s[N>>0]|0);p=p^(s[j>>0]|0);Y=r[(Y&15)+(33024+(Y>>>4<<4))>>0]|0;i=r[(i&15)+(33024+(i>>>4<<4))>>0]|0;r[k>>0]=i;F=r[(F&15)+(33024+(F>>>4<<4))>>0]|0;r[O>>0]=F;H=r[(H&15)+(33024+(H>>>4<<4))>>0]|0;r[D>>0]=H;_=r[(_&15)+(33024+((_>>>4&15)<<4))>>0]|0;m=r[(m&15)+(33024+((m>>>4&15)<<4))>>0]|0;y=57;p=r[(p&15)+(33024+((p>>>4&15)<<4))>>0]|0;w=r[(w&15)+(33024+((w>>>4&15)<<4))>>0]|0;A=r[(A&15)+(33024+((A>>>4&15)<<4))>>0]|0;g=56;W=r[(W&15)+(33024+((W>>>4&15)<<4))>>0]|0;Q=r[(Q&15)+(33024+((Q>>>4&15)<<4))>>0]|0;V=r[(V&15)+(33024+((V>>>4&15)<<4))>>0]|0;v=59;z=r[(z&15)+(33024+((z>>>4&15)<<4))>>0]|0;G=r[(G&15)+(33024+((G>>>4&15)<<4))>>0]|0;K=r[(K&15)+(33024+((K>>>4&15)<<4))>>0]|0;b=58;q=r[(q&15)+(33024+((q>>>4&15)<<4))>>0]|0;g=n+(g<<2)|0;g=o[g>>2]|0;u=g>>>24;l=g>>>16;d=g>>>8;Y=Y&255;Y=u^Y;Y=Y&255;r[P>>0]=Y;A=A&255;A=l^A;A=A&255;r[U>>0]=A;w=w&255;w=d^w;w=w&255;r[E>>0]=w;E=p&255;E=g^E;E=E&255;r[S>>0]=E;S=n+(y<<2)|0;S=o[S>>2]|0;P=S>>>24;U=S>>>16;y=S>>>8;i=i&255;i=P^i;i=i&255;r[k>>0]=i;P=m&255;P=U^P;P=P&255;r[I>>0]=P;U=_&255;U=y^U;U=U&255;r[R>>0]=U;q=q&255;q=S^q;q=q&255;r[T>>0]=q;T=n+(b<<2)|0;T=o[T>>2]|0;k=T>>>24;I=T>>>16;R=T>>>8;F=F&255;F=k^F;F=F&255;r[O>>0]=F;K=K&255;K=I^K;K=K&255;r[C>>0]=K;G=G&255;G=R^G;G=G&255;r[x>>0]=G;z=z&255;z=T^z;z=z&255;r[M>>0]=z;M=n+(v<<2)|0;M=o[M>>2]|0;O=M>>>24;C=M>>>16;x=M>>>8;H=H&255;H=O^H;H=H&255;r[D>>0]=H;V=V&255;V=C^V;V=V&255;r[B>>0]=V;Q=Q&255;Q=x^Q;Q=Q&255;r[N>>0]=Q;W=W&255;W=M^W;W=W&255;r[j>>0]=W;r[t>>0]=Y;Y=t+1|0;r[Y>>0]=A;Y=t+2|0;r[Y>>0]=w;Y=t+3|0;r[Y>>0]=E;Y=t+4|0;r[Y>>0]=i;Y=t+5|0;r[Y>>0]=P;Y=t+6|0;r[Y>>0]=U;Y=t+7|0;r[Y>>0]=q;Y=t+8|0;r[Y>>0]=F;Y=t+9|0;r[Y>>0]=K;Y=t+10|0;r[Y>>0]=G;Y=t+11|0;r[Y>>0]=z;Y=t+12|0;r[Y>>0]=H;Y=t+13|0;r[Y>>0]=V;Y=t+14|0;r[Y>>0]=Q;Y=t+15|0;r[Y>>0]=W;h=L;return}function To(e){e=e|0;var t=0,n=0,i=0,o=0,s=0,a=0,f=0,c=0,u=0,l=0,d=0,h=0;h=r[e>>0]|0;l=e+4|0;i=r[l>>0]|0;o=e+8|0;s=r[o>>0]|0;a=e+12|0;n=r[a>>0]|0;c=h&255;f=i&255;t=s&255;d=n&255;r[e>>0]=n^s^r[33280+(c*6|0)>>0]^r[33280+(f*6|0)+1>>0];r[l>>0]=r[33280+(f*6|0)>>0]^h^n^r[33280+(t*6|0)+1>>0];r[o>>0]=r[33280+(d*6|0)+1>>0]^(r[33280+(t*6|0)>>0]^(i^h));r[a>>0]=s^i^r[33280+(c*6|0)+1>>0]^r[33280+(d*6|0)>>0];a=e+1|0;d=r[a>>0]|0;c=e+5|0;i=r[c>>0]|0;s=e+9|0;o=r[s>>0]|0;h=e+13|0;t=r[h>>0]|0;l=d&255;n=i&255;f=o&255;u=t&255;r[a>>0]=t^o^r[33280+(l*6|0)>>0]^r[33280+(n*6|0)+1>>0];r[c>>0]=r[33280+(n*6|0)>>0]^d^t^r[33280+(f*6|0)+1>>0];r[s>>0]=r[33280+(u*6|0)+1>>0]^(r[33280+(f*6|0)>>0]^(i^d));r[h>>0]=o^i^r[33280+(l*6|0)+1>>0]^r[33280+(u*6|0)>>0];h=e+2|0;u=r[h>>0]|0;l=e+6|0;i=r[l>>0]|0;o=e+10|0;s=r[o>>0]|0;d=e+14|0;f=r[d>>0]|0;c=u&255;t=i&255;n=s&255;a=f&255;r[h>>0]=f^s^r[33280+(c*6|0)>>0]^r[33280+(t*6|0)+1>>0];r[l>>0]=r[33280+(t*6|0)>>0]^u^f^r[33280+(n*6|0)+1>>0];r[o>>0]=r[33280+(a*6|0)+1>>0]^(r[33280+(n*6|0)>>0]^(i^u));r[d>>0]=s^i^r[33280+(c*6|0)+1>>0]^r[33280+(a*6|0)>>0];d=e+3|0;a=r[d>>0]|0;c=e+7|0;i=r[c>>0]|0;s=e+11|0;o=r[s>>0]|0;e=e+15|0;u=r[e>>0]|0;n=a&255;l=i&255;f=o&255;t=u&255;r[d>>0]=u^o^r[33280+(n*6|0)>>0]^r[33280+(l*6|0)+1>>0];r[c>>0]=r[33280+(l*6|0)>>0]^a^u^r[33280+(f*6|0)+1>>0];r[s>>0]=r[33280+(t*6|0)+1>>0]^(r[33280+(f*6|0)>>0]^(i^a));r[e>>0]=o^i^r[33280+(n*6|0)+1>>0]^r[33280+(t*6|0)>>0];return}function Oo(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,a=0;switch(n|0){case 128:{i=4;a=44;break}case 192:{i=6;a=52;break}case 256:{i=8;a=60;break}default:return}n=0;do{r=n<<2;o[t+(n<<2)>>2]=(s[e+(r|1)>>0]|0)<<16|(s[e+r>>0]|0)<<24|(s[e+(r|2)>>0]|0)<<8|(s[e+(r|3)>>0]|0);n=n+1|0}while(n>>>0<i>>>0);if(i>>>0<=6){r=i;do{e=r+-1|0;n=o[t+(e<<2)>>2]|0;if(!((r>>>0)%(i>>>0)|0))n=((s[(n&15)+(33024+((n>>>4&15)<<4))>>0]|0)<<8|(s[(n>>>24&15)+(33024+(n>>>28<<4))>>0]|0)|(s[(n>>>8&15)+(33024+((n>>>12&15)<<4))>>0]|0)<<16|(s[(n>>>16&15)+(33024+((n>>>20&15)<<4))>>0]|0)<<24)^o[34816+(((e|0)/(i|0)|0)<<2)>>2];o[t+(r<<2)>>2]=o[t+(r-i<<2)>>2]^n;r=r+1|0}while((r|0)!=(a|0));return}r=i;do{e=r+-1|0;n=o[t+(e<<2)>>2]|0;switch(((r>>>0)%(i>>>0)|0)&15){case 0:{n=((s[(n&15)+(33024+((n>>>4&15)<<4))>>0]|0)<<8|(s[(n>>>24&15)+(33024+(n>>>28<<4))>>0]|0)|(s[(n>>>8&15)+(33024+((n>>>12&15)<<4))>>0]|0)<<16|(s[(n>>>16&15)+(33024+((n>>>20&15)<<4))>>0]|0)<<24)^o[34816+(((e|0)/(i|0)|0)<<2)>>2];break}case 4:{n=(s[(n>>>8&15)+(33024+((n>>>12&15)<<4))>>0]|0)<<8|(s[(n&15)+(33024+((n>>>4&15)<<4))>>0]|0)|(s[(n>>>16&15)+(33024+((n>>>20&15)<<4))>>0]|0)<<16|(s[(n>>>24&15)+(33024+(n>>>28<<4))>>0]|0)<<24;break}default:{}}o[t+(r<<2)>>2]=o[t+(r-i<<2)>>2]^n;r=r+1|0}while((r|0)!=(a|0));return}function Co(e){e=e|0;var t=0,n=0,i=0,o=0,a=0,f=0,c=0,u=0;c=e+4|0;i=e+8|0;n=e+12|0;t=s[e>>0]|0;a=s[c>>0]|0;u=s[i>>0]|0;o=s[n>>0]|0;r[e>>0]=r[33280+(o*6|0)+2>>0]^(r[33280+(u*6|0)+4>>0]^(r[33280+(a*6|0)+3>>0]^r[33280+(t*6|0)+5>>0]));r[c>>0]=r[33280+(o*6|0)+4>>0]^(r[33280+(u*6|0)+3>>0]^(r[33280+(a*6|0)+5>>0]^r[33280+(t*6|0)+2>>0]));r[i>>0]=r[33280+(o*6|0)+3>>0]^(r[33280+(u*6|0)+5>>0]^(r[33280+(a*6|0)+2>>0]^r[33280+(t*6|0)+4>>0]));r[n>>0]=r[33280+(o*6|0)+5>>0]^(r[33280+(u*6|0)+2>>0]^(r[33280+(a*6|0)+4>>0]^r[33280+(t*6|0)+3>>0]));n=e+1|0;t=e+5|0;a=e+9|0;u=e+13|0;o=s[n>>0]|0;i=s[t>>0]|0;c=s[a>>0]|0;f=s[u>>0]|0;r[n>>0]=r[33280+(f*6|0)+2>>0]^(r[33280+(c*6|0)+4>>0]^(r[33280+(i*6|0)+3>>0]^r[33280+(o*6|0)+5>>0]));r[t>>0]=r[33280+(f*6|0)+4>>0]^(r[33280+(c*6|0)+3>>0]^(r[33280+(i*6|0)+5>>0]^r[33280+(o*6|0)+2>>0]));r[a>>0]=r[33280+(f*6|0)+3>>0]^(r[33280+(c*6|0)+5>>0]^(r[33280+(i*6|0)+2>>0]^r[33280+(o*6|0)+4>>0]));r[u>>0]=r[33280+(f*6|0)+5>>0]^(r[33280+(c*6|0)+2>>0]^(r[33280+(i*6|0)+4>>0]^r[33280+(o*6|0)+3>>0]));u=e+2|0;o=e+6|0;i=e+10|0;c=e+14|0;f=s[u>>0]|0;a=s[o>>0]|0;t=s[i>>0]|0;n=s[c>>0]|0;r[u>>0]=r[33280+(n*6|0)+2>>0]^(r[33280+(t*6|0)+4>>0]^(r[33280+(a*6|0)+3>>0]^r[33280+(f*6|0)+5>>0]));r[o>>0]=r[33280+(n*6|0)+4>>0]^(r[33280+(t*6|0)+3>>0]^(r[33280+(a*6|0)+5>>0]^r[33280+(f*6|0)+2>>0]));r[i>>0]=r[33280+(n*6|0)+3>>0]^(r[33280+(t*6|0)+5>>0]^(r[33280+(a*6|0)+2>>0]^r[33280+(f*6|0)+4>>0]));r[c>>0]=r[33280+(n*6|0)+5>>0]^(r[33280+(t*6|0)+2>>0]^(r[33280+(a*6|0)+4>>0]^r[33280+(f*6|0)+3>>0]));c=e+3|0;f=e+7|0;a=e+11|0;e=e+15|0;t=s[c>>0]|0;n=s[f>>0]|0;i=s[a>>0]|0;o=s[e>>0]|0;r[c>>0]=r[33280+(o*6|0)+2>>0]^(r[33280+(i*6|0)+4>>0]^(r[33280+(n*6|0)+3>>0]^r[33280+(t*6|0)+5>>0]));r[f>>0]=r[33280+(o*6|0)+4>>0]^(r[33280+(i*6|0)+3>>0]^(r[33280+(n*6|0)+5>>0]^r[33280+(t*6|0)+2>>0]));r[a>>0]=r[33280+(o*6|0)+3>>0]^(r[33280+(i*6|0)+5>>0]^(r[33280+(n*6|0)+2>>0]^r[33280+(t*6|0)+4>>0]));r[e>>0]=r[33280+(o*6|0)+5>>0]^(r[33280+(i*6|0)+2>>0]^(r[33280+(n*6|0)+4>>0]^r[33280+(t*6|0)+3>>0]));return}function xo(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var a=0,f=0,c=0,u=0,l=0,d=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,I=0,R=0,T=0,O=0,C=0,x=0,M=0,P=0,D=0,B=0,N=0,j=0,U=0,L=0,q=0,F=0,K=0,G=0,z=0,H=0,V=0;L=h;h=h+16|0;D=L;A=r[e>>0]|0;r[D>>0]=A;w=r[e+1>>0]|0;U=D+4|0;r[U>>0]=w;a=r[e+2>>0]|0;S=D+8|0;r[S>>0]=a;f=r[e+3>>0]|0;k=D+12|0;r[k>>0]=f;c=r[e+4>>0]|0;I=D+1|0;r[I>>0]=c;u=r[e+5>>0]|0;R=D+5|0;r[R>>0]=u;l=r[e+6>>0]|0;T=D+9|0;r[T>>0]=l;d=r[e+7>>0]|0;O=D+13|0;r[O>>0]=d;p=r[e+8>>0]|0;C=D+2|0;r[C>>0]=p;g=r[e+9>>0]|0;x=D+6|0;r[x>>0]=g;m=r[e+10>>0]|0;M=D+10|0;r[M>>0]=m;_=r[e+11>>0]|0;P=D+14|0;r[P>>0]=_;y=r[e+12>>0]|0;B=D+3|0;r[B>>0]=y;b=r[e+13>>0]|0;N=D+7|0;r[N>>0]=b;v=r[e+14>>0]|0;j=D+11|0;r[j>>0]=v;e=r[e+15>>0]|0;E=D+15|0;r[E>>0]=e;if((i|0)>128){if((i|0)>192){q=o[n+224>>2]|0;H=q>>>24^A&255;z=q>>>16^w&255;K=q>>>8^a&255;A=q^f&255;q=o[n+228>>2]|0;w=q>>>24^c&255;G=q>>>16^u&255;F=q>>>8^l&255;q=q^d&255;f=o[n+232>>2]|0;a=f>>>24^p&255;p=f>>>16^g&255;i=f>>>8^m&255;f=f^_&255;c=o[n+236>>2]|0;m=c>>>24^y&255;u=c>>>16^b&255;g=c>>>8^v&255;c=c^e&255;b=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[I>>0]=w;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;r[C>>0]=a;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;r[B>>0]=m;u=r[(u&15)+(34880+((u>>>4&15)<<4))>>0]|0;l=r[(z&15)+(34880+((z>>>4&15)<<4))>>0]|0;d=r[(G&15)+(34880+((G>>>4&15)<<4))>>0]|0;r[x>>0]=d;_=r[(p&15)+(34880+((p>>>4&15)<<4))>>0]|0;r[N>>0]=_;i=r[(i&15)+(34880+((i>>>4&15)<<4))>>0]|0;g=r[(g&15)+(34880+((g>>>4&15)<<4))>>0]|0;v=r[(K&15)+(34880+((K>>>4&15)<<4))>>0]|0;p=r[(F&15)+(34880+((F>>>4&15)<<4))>>0]|0;r[j>>0]=p;e=r[(q&15)+(34880+((q>>>4&15)<<4))>>0]|0;f=r[(f&15)+(34880+((f>>>4&15)<<4))>>0]|0;c=r[(c&15)+(34880+((c>>>4&15)<<4))>>0]|0;A=r[(A&15)+(34880+((A>>>4&15)<<4))>>0]|0;y=o[n+208>>2]|0;r[D>>0]=y>>>24^b&255;r[U>>0]=y>>>16^u&255;r[S>>0]=y>>>8^i&255;r[k>>0]=y^e&255;e=o[n+212>>2]|0;r[I>>0]=e>>>24^w&255;r[R>>0]=e>>>16^l&255;r[T>>0]=e>>>8^g&255;r[O>>0]=e^f&255;f=o[n+216>>2]|0;r[C>>0]=f>>>24^a&255;r[x>>0]=f>>>16^d&255;r[M>>0]=f>>>8^v&255;r[P>>0]=f^c&255;c=o[n+220>>2]|0;r[B>>0]=c>>>24^m&255;r[N>>0]=c>>>16^_&255;r[j>>0]=c>>>8^p&255;r[E>>0]=c^A&255;Co(D);A=r[N>>0]|0;c=r[x>>0]|0;p=r[R>>0]|0;_=r[U>>0]|0;m=r[j>>0]|0;f=r[T>>0]|0;v=r[M>>0]|0;d=r[S>>0]|0;a=r[E>>0]|0;e=r[k>>0]|0;g=r[O>>0]|0;l=r[P>>0]|0;w=s[D>>0]|0;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[D>>0]=w;y=s[I>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[I>>0]=y;i=s[C>>0]|0;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;r[C>>0]=i;u=s[B>>0]|0;u=r[(u&15)+(34880+(u>>>4<<4))>>0]|0;r[B>>0]=u;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;p=p&255;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[x>>0]=p;c=c&255;c=r[(c&15)+(34880+(c>>>4<<4))>>0]|0;r[N>>0]=c;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;d=d&255;d=r[(d&15)+(34880+(d>>>4<<4))>>0]|0;f=f&255;f=r[(f&15)+(34880+(f>>>4<<4))>>0]|0;r[j>>0]=f;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;l=l&255;l=r[(l&15)+(34880+(l>>>4<<4))>>0]|0;a=a&255;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;e=e&255;e=r[(e&15)+(34880+(e>>>4<<4))>>0]|0;b=o[n+192>>2]|0;r[D>>0]=b>>>24^w&255;r[U>>0]=b>>>16^A&255;r[S>>0]=b>>>8^v&255;r[k>>0]=b^g&255;g=o[n+196>>2]|0;r[I>>0]=g>>>24^y&255;r[R>>0]=g>>>16^_&255;r[T>>0]=g>>>8^m&255;r[O>>0]=g^l&255;l=o[n+200>>2]|0;r[C>>0]=l>>>24^i&255;r[x>>0]=l>>>16^p&255;r[M>>0]=l>>>8^d&255;r[P>>0]=l^a&255;a=o[n+204>>2]|0;r[B>>0]=a>>>24^u&255;r[N>>0]=a>>>16^c&255;r[j>>0]=a>>>8^f&255;r[E>>0]=a^e&255;Co(D);e=r[D>>0]|0;a=r[I>>0]|0;f=r[C>>0]|0;c=r[B>>0]|0;u=r[N>>0]|0;l=r[U>>0]|0;d=r[R>>0]|0;p=r[x>>0]|0;i=r[M>>0]|0;g=r[j>>0]|0;m=r[S>>0]|0;_=r[T>>0]|0;y=r[O>>0]|0;b=r[P>>0]|0;v=r[E>>0]|0;A=r[k>>0]|0}else{z=o[n+192>>2]|0;V=(z>>>24^A&255)&255;r[D>>0]=V;q=(z>>>16^w&255)&255;r[U>>0]=q;K=(z>>>8^a&255)&255;r[S>>0]=K;A=(z^f&255)&255;r[k>>0]=A;z=o[n+196>>2]|0;a=(z>>>24^c&255)&255;r[I>>0]=a;F=(z>>>16^u&255)&255;r[R>>0]=F;G=(z>>>8^l&255)&255;r[T>>0]=G;z=(z^d&255)&255;r[O>>0]=z;H=o[n+200>>2]|0;f=(H>>>24^p&255)&255;r[C>>0]=f;p=(H>>>16^g&255)&255;r[x>>0]=p;i=(H>>>8^m&255)&255;r[M>>0]=i;H=(H^_&255)&255;r[P>>0]=H;l=o[n+204>>2]|0;c=(l>>>24^y&255)&255;r[B>>0]=c;u=(l>>>16^b&255)&255;r[N>>0]=u;g=(l>>>8^v&255)&255;r[j>>0]=g;v=(l^e&255)&255;r[E>>0]=v;e=V;l=q;d=F;m=K;_=G;y=z;b=H}H=e&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;V=a&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[I>>0]=V;e=f&255;e=r[(e&15)+(34880+(e>>>4<<4))>>0]|0;r[C>>0]=e;a=c&255;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;r[B>>0]=a;u=u&255;u=r[(u&15)+(34880+(u>>>4<<4))>>0]|0;l=l&255;l=r[(l&15)+(34880+(l>>>4<<4))>>0]|0;d=d&255;d=r[(d&15)+(34880+(d>>>4<<4))>>0]|0;r[x>>0]=d;f=p&255;f=r[(f&15)+(34880+(f>>>4<<4))>>0]|0;r[N>>0]=f;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;p=_&255;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[j>>0]=p;y=y&255;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;_=b&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;c=v&255;c=r[(c&15)+(34880+(c>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;v=o[n+176>>2]|0;r[D>>0]=v>>>24^H&255;r[U>>0]=v>>>16^u&255;r[S>>0]=v>>>8^i&255;r[k>>0]=v^y&255;v=o[n+180>>2]|0;r[I>>0]=v>>>24^V&255;r[R>>0]=v>>>16^l&255;r[T>>0]=v>>>8^g&255;r[O>>0]=v^_&255;_=o[n+184>>2]|0;r[C>>0]=_>>>24^e&255;r[x>>0]=_>>>16^d&255;r[M>>0]=_>>>8^m&255;r[P>>0]=_^c&255;c=o[n+188>>2]|0;r[B>>0]=c>>>24^a&255;r[N>>0]=c>>>16^f&255;r[j>>0]=c>>>8^p&255;r[E>>0]=c^A&255;Co(D);A=r[N>>0]|0;c=r[x>>0]|0;p=r[R>>0]|0;_=r[U>>0]|0;m=r[j>>0]|0;f=r[T>>0]|0;v=r[M>>0]|0;d=r[S>>0]|0;a=r[E>>0]|0;e=r[k>>0]|0;g=r[O>>0]|0;l=r[P>>0]|0;V=s[D>>0]|0;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[D>>0]=V;y=s[I>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[I>>0]=y;i=s[C>>0]|0;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;r[C>>0]=i;u=s[B>>0]|0;u=r[(u&15)+(34880+(u>>>4<<4))>>0]|0;r[B>>0]=u;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;_=_&255;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;p=p&255;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[x>>0]=p;c=c&255;c=r[(c&15)+(34880+(c>>>4<<4))>>0]|0;r[N>>0]=c;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;m=m&255;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;d=d&255;d=r[(d&15)+(34880+(d>>>4<<4))>>0]|0;f=f&255;f=r[(f&15)+(34880+(f>>>4<<4))>>0]|0;r[j>>0]=f;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;l=l&255;l=r[(l&15)+(34880+(l>>>4<<4))>>0]|0;a=a&255;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;e=e&255;e=r[(e&15)+(34880+(e>>>4<<4))>>0]|0;b=o[n+160>>2]|0;r[D>>0]=b>>>24^V&255;r[U>>0]=b>>>16^A&255;r[S>>0]=b>>>8^v&255;r[k>>0]=b^g&255;g=o[n+164>>2]|0;r[I>>0]=g>>>24^y&255;r[R>>0]=g>>>16^_&255;r[T>>0]=g>>>8^m&255;r[O>>0]=g^l&255;l=o[n+168>>2]|0;r[C>>0]=l>>>24^i&255;r[x>>0]=l>>>16^p&255;r[M>>0]=l>>>8^d&255;r[P>>0]=l^a&255;a=o[n+172>>2]|0;r[B>>0]=a>>>24^u&255;r[N>>0]=a>>>16^c&255;r[j>>0]=a>>>8^f&255;r[E>>0]=a^e&255;Co(D);e=r[D>>0]|0;a=r[I>>0]|0;f=r[C>>0]|0;c=r[B>>0]|0;u=r[N>>0]|0;l=r[U>>0]|0;d=r[R>>0]|0;p=r[x>>0]|0;i=r[M>>0]|0;g=r[j>>0]|0;m=r[S>>0]|0;_=r[T>>0]|0;y=r[O>>0]|0;b=r[P>>0]|0;v=r[E>>0]|0;A=r[k>>0]|0}else{H=o[n+160>>2]|0;q=(H>>>24^A&255)&255;r[D>>0]=q;F=(H>>>16^w&255)&255;r[U>>0]=F;G=(H>>>8^a&255)&255;r[S>>0]=G;A=(H^f&255)&255;r[k>>0]=A;H=o[n+164>>2]|0;a=(H>>>24^c&255)&255;r[I>>0]=a;K=(H>>>16^u&255)&255;r[R>>0]=K;z=(H>>>8^l&255)&255;r[T>>0]=z;H=(H^d&255)&255;r[O>>0]=H;V=o[n+168>>2]|0;f=(V>>>24^p&255)&255;r[C>>0]=f;p=(V>>>16^g&255)&255;r[x>>0]=p;i=(V>>>8^m&255)&255;r[M>>0]=i;V=(V^_&255)&255;r[P>>0]=V;l=o[n+172>>2]|0;c=(l>>>24^y&255)&255;r[B>>0]=c;u=(l>>>16^b&255)&255;r[N>>0]=u;g=(l>>>8^v&255)&255;r[j>>0]=g;v=(l^e&255)&255;r[E>>0]=v;e=q;l=F;d=K;m=G;_=z;y=H;b=V}e=e&255;e=r[(e&15)+(34880+(e>>>4<<4))>>0]|0;a=a&255;a=r[(a&15)+(34880+(a>>>4<<4))>>0]|0;r[I>>0]=a;w=f&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[C>>0]=w;V=c&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[B>>0]=V;u=u&255;u=r[(u&15)+(34880+(u>>>4<<4))>>0]|0;K=l&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;H=d&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;r[x>>0]=H;z=p&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;r[N>>0]=z;p=i&255;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;q=m&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;F=_&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;r[j>>0]=F;i=y&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;y=b&255;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;G=v&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;b=A&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;A=o[n+144>>2]|0;r[D>>0]=A>>>24^e&255;r[U>>0]=A>>>16^u&255;r[S>>0]=A>>>8^p&255;r[k>>0]=A^i&255;A=o[n+148>>2]|0;r[I>>0]=A>>>24^a&255;r[R>>0]=A>>>16^K&255;r[T>>0]=A>>>8^g&255;r[O>>0]=A^y&255;A=o[n+152>>2]|0;r[C>>0]=A>>>24^w&255;r[x>>0]=A>>>16^H&255;r[M>>0]=A>>>8^q&255;r[P>>0]=A^G&255;G=o[n+156>>2]|0;r[B>>0]=G>>>24^V&255;r[N>>0]=G>>>16^z&255;r[j>>0]=G>>>8^F&255;r[E>>0]=G^b&255;Co(D);b=r[N>>0]|0;G=r[x>>0]|0;F=r[R>>0]|0;z=r[U>>0]|0;A=r[j>>0]|0;y=r[T>>0]|0;V=r[M>>0]|0;q=r[S>>0]|0;g=r[E>>0]|0;H=r[k>>0]|0;i=r[O>>0]|0;w=r[P>>0]|0;m=s[D>>0]|0;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;r[D>>0]=m;p=s[I>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[I>>0]=p;K=s[C>>0]|0;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;r[C>>0]=K;v=s[B>>0]|0;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;r[B>>0]=v;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;r[x>>0]=F;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;r[N>>0]=G;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;y=y&255;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[j>>0]=y;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;_=o[n+128>>2]|0;r[D>>0]=_>>>24^m&255;r[U>>0]=_>>>16^b&255;r[S>>0]=_>>>8^V&255;r[k>>0]=_^i&255;i=o[n+132>>2]|0;r[I>>0]=i>>>24^p&255;r[R>>0]=i>>>16^z&255;r[T>>0]=i>>>8^A&255;r[O>>0]=i^w&255;w=o[n+136>>2]|0;r[C>>0]=w>>>24^K&255;r[x>>0]=w>>>16^F&255;r[M>>0]=w>>>8^q&255;r[P>>0]=w^g&255;g=o[n+140>>2]|0;r[B>>0]=g>>>24^v&255;r[N>>0]=g>>>16^G&255;r[j>>0]=g>>>8^y&255;r[E>>0]=g^H&255;Co(D);H=r[N>>0]|0;g=r[x>>0]|0;y=r[R>>0]|0;G=r[U>>0]|0;v=r[j>>0]|0;w=r[T>>0]|0;q=r[M>>0]|0;F=r[S>>0]|0;K=r[E>>0]|0;i=r[k>>0]|0;A=r[O>>0]|0;z=r[P>>0]|0;p=s[D>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[D>>0]=p;_=s[I>>0]|0;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;r[I>>0]=_;V=s[C>>0]|0;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[C>>0]=V;b=s[B>>0]|0;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[B>>0]=b;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;y=y&255;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[x>>0]=y;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[N>>0]=g;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[j>>0]=w;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;m=o[n+112>>2]|0;r[D>>0]=m>>>24^p&255;r[U>>0]=m>>>16^H&255;r[S>>0]=m>>>8^q&255;r[k>>0]=m^A&255;A=o[n+116>>2]|0;r[I>>0]=A>>>24^_&255;r[R>>0]=A>>>16^G&255;r[T>>0]=A>>>8^v&255;r[O>>0]=A^z&255;z=o[n+120>>2]|0;r[C>>0]=z>>>24^V&255;r[x>>0]=z>>>16^y&255;r[M>>0]=z>>>8^F&255;r[P>>0]=z^K&255;K=o[n+124>>2]|0;r[B>>0]=K>>>24^b&255;r[N>>0]=K>>>16^g&255;r[j>>0]=K>>>8^w&255;r[E>>0]=K^i&255;Co(D);i=r[N>>0]|0;K=r[x>>0]|0;w=r[R>>0]|0;g=r[U>>0]|0;b=r[j>>0]|0;z=r[T>>0]|0;F=r[M>>0]|0;y=r[S>>0]|0;V=r[E>>0]|0;A=r[k>>0]|0;v=r[O>>0]|0;G=r[P>>0]|0;_=s[D>>0]|0;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;r[D>>0]=_;m=s[I>>0]|0;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;r[I>>0]=m;q=s[C>>0]|0;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;r[C>>0]=q;H=s[B>>0]|0;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;r[B>>0]=H;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[x>>0]=w;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;r[N>>0]=K;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;y=y&255;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;r[j>>0]=z;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;p=o[n+96>>2]|0;r[D>>0]=p>>>24^_&255;r[U>>0]=p>>>16^i&255;r[S>>0]=p>>>8^F&255;r[k>>0]=p^v&255;v=o[n+100>>2]|0;r[I>>0]=v>>>24^m&255;r[R>>0]=v>>>16^g&255;r[T>>0]=v>>>8^b&255;r[O>>0]=v^G&255;G=o[n+104>>2]|0;r[C>>0]=G>>>24^q&255;r[x>>0]=G>>>16^w&255;r[M>>0]=G>>>8^y&255;r[P>>0]=G^V&255;V=o[n+108>>2]|0;r[B>>0]=V>>>24^H&255;r[N>>0]=V>>>16^K&255;r[j>>0]=V>>>8^z&255;r[E>>0]=V^A&255;Co(D);A=r[N>>0]|0;V=r[x>>0]|0;z=r[R>>0]|0;K=r[U>>0]|0;H=r[j>>0]|0;G=r[T>>0]|0;y=r[M>>0]|0;w=r[S>>0]|0;q=r[E>>0]|0;v=r[k>>0]|0;b=r[O>>0]|0;g=r[P>>0]|0;m=s[D>>0]|0;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;r[D>>0]=m;p=s[I>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[I>>0]=p;F=s[C>>0]|0;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;r[C>>0]=F;i=s[B>>0]|0;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;r[B>>0]=i;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;r[x>>0]=z;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[N>>0]=V;y=y&255;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;r[j>>0]=G;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;_=o[n+80>>2]|0;r[D>>0]=_>>>24^m&255;r[U>>0]=_>>>16^A&255;r[S>>0]=_>>>8^y&255;r[k>>0]=_^b&255;b=o[n+84>>2]|0;r[I>>0]=b>>>24^p&255;r[R>>0]=b>>>16^K&255;r[T>>0]=b>>>8^H&255;r[O>>0]=b^g&255;g=o[n+88>>2]|0;r[C>>0]=g>>>24^F&255;r[x>>0]=g>>>16^z&255;r[M>>0]=g>>>8^w&255;r[P>>0]=g^q&255;q=o[n+92>>2]|0;r[B>>0]=q>>>24^i&255;r[N>>0]=q>>>16^V&255;r[j>>0]=q>>>8^G&255;r[E>>0]=q^v&255;Co(D);v=r[N>>0]|0;q=r[x>>0]|0;G=r[R>>0]|0;V=r[U>>0]|0;i=r[j>>0]|0;g=r[T>>0]|0;w=r[M>>0]|0;z=r[S>>0]|0;F=r[E>>0]|0;b=r[k>>0]|0;H=r[O>>0]|0;K=r[P>>0]|0;p=s[D>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[D>>0]=p;_=s[I>>0]|0;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;r[I>>0]=_;y=s[C>>0]|0;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[C>>0]=y;A=s[B>>0]|0;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;r[B>>0]=A;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;r[x>>0]=G;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;r[N>>0]=q;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[j>>0]=g;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;m=o[n+64>>2]|0;r[D>>0]=m>>>24^p&255;r[U>>0]=m>>>16^v&255;r[S>>0]=m>>>8^w&255;r[k>>0]=m^H&255;H=o[n+68>>2]|0;r[I>>0]=H>>>24^_&255;r[R>>0]=H>>>16^V&255;r[T>>0]=H>>>8^i&255;r[O>>0]=H^K&255;K=o[n+72>>2]|0;r[C>>0]=K>>>24^y&255;r[x>>0]=K>>>16^G&255;r[M>>0]=K>>>8^z&255;r[P>>0]=K^F&255;F=o[n+76>>2]|0;r[B>>0]=F>>>24^A&255;r[N>>0]=F>>>16^q&255;r[j>>0]=F>>>8^g&255;r[E>>0]=F^b&255;Co(D);b=r[N>>0]|0;F=r[x>>0]|0;g=r[R>>0]|0;q=r[U>>0]|0;A=r[j>>0]|0;K=r[T>>0]|0;z=r[M>>0]|0;G=r[S>>0]|0;y=r[E>>0]|0;H=r[k>>0]|0;i=r[O>>0]|0;V=r[P>>0]|0;_=s[D>>0]|0;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;r[D>>0]=_;m=s[I>>0]|0;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;r[I>>0]=m;w=s[C>>0]|0;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[C>>0]=w;v=s[B>>0]|0;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;r[B>>0]=v;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;r[x>>0]=g;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;r[N>>0]=F;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;r[j>>0]=K;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;y=y&255;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;p=o[n+48>>2]|0;r[D>>0]=p>>>24^_&255;r[U>>0]=p>>>16^b&255;r[S>>0]=p>>>8^z&255;r[k>>0]=p^i&255;i=o[n+52>>2]|0;r[I>>0]=i>>>24^m&255;r[R>>0]=i>>>16^q&255;r[T>>0]=i>>>8^A&255;r[O>>0]=i^V&255;V=o[n+56>>2]|0;r[C>>0]=V>>>24^w&255;r[x>>0]=V>>>16^g&255;r[M>>0]=V>>>8^G&255;r[P>>0]=V^y&255;y=o[n+60>>2]|0;r[B>>0]=y>>>24^v&255;r[N>>0]=y>>>16^F&255;r[j>>0]=y>>>8^K&255;r[E>>0]=y^H&255;Co(D);H=r[N>>0]|0;y=r[x>>0]|0;K=r[R>>0]|0;F=r[U>>0]|0;v=r[j>>0]|0;V=r[T>>0]|0;G=r[M>>0]|0;g=r[S>>0]|0;w=r[E>>0]|0;i=r[k>>0]|0;A=r[O>>0]|0;q=r[P>>0]|0;m=s[D>>0]|0;m=r[(m&15)+(34880+(m>>>4<<4))>>0]|0;r[D>>0]=m;p=s[I>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[I>>0]=p;z=s[C>>0]|0;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;r[C>>0]=z;b=s[B>>0]|0;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;r[B>>0]=b;H=H&255;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;r[x>>0]=K;y=y&255;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;r[N>>0]=y;G=G&255;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[j>>0]=V;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;_=o[n+32>>2]|0;r[D>>0]=_>>>24^m&255;r[U>>0]=_>>>16^H&255;r[S>>0]=_>>>8^G&255;r[k>>0]=_^A&255;A=o[n+36>>2]|0;r[I>>0]=A>>>24^p&255;r[R>>0]=A>>>16^F&255;r[T>>0]=A>>>8^v&255;r[O>>0]=A^q&255;q=o[n+40>>2]|0;r[C>>0]=q>>>24^z&255;r[x>>0]=q>>>16^K&255;r[M>>0]=q>>>8^g&255;r[P>>0]=q^w&255;w=o[n+44>>2]|0;r[B>>0]=w>>>24^b&255;r[N>>0]=w>>>16^y&255;r[j>>0]=w>>>8^V&255;r[E>>0]=w^i&255;Co(D);i=r[N>>0]|0;w=r[x>>0]|0;V=r[R>>0]|0;y=r[U>>0]|0;b=r[j>>0]|0;q=r[T>>0]|0;g=r[M>>0]|0;K=r[S>>0]|0;z=r[E>>0]|0;A=r[k>>0]|0;v=r[O>>0]|0;F=r[P>>0]|0;p=s[D>>0]|0;p=r[(p&15)+(34880+(p>>>4<<4))>>0]|0;r[D>>0]=p;_=s[I>>0]|0;_=r[(_&15)+(34880+(_>>>4<<4))>>0]|0;r[I>>0]=_;G=s[C>>0]|0;G=r[(G&15)+(34880+(G>>>4<<4))>>0]|0;r[C>>0]=G;H=s[B>>0]|0;H=r[(H&15)+(34880+(H>>>4<<4))>>0]|0;r[B>>0]=H;i=i&255;i=r[(i&15)+(34880+(i>>>4<<4))>>0]|0;y=y&255;y=r[(y&15)+(34880+(y>>>4<<4))>>0]|0;V=V&255;V=r[(V&15)+(34880+(V>>>4<<4))>>0]|0;r[x>>0]=V;w=w&255;w=r[(w&15)+(34880+(w>>>4<<4))>>0]|0;r[N>>0]=w;g=g&255;g=r[(g&15)+(34880+(g>>>4<<4))>>0]|0;b=b&255;b=r[(b&15)+(34880+(b>>>4<<4))>>0]|0;K=K&255;K=r[(K&15)+(34880+(K>>>4<<4))>>0]|0;q=q&255;q=r[(q&15)+(34880+(q>>>4<<4))>>0]|0;r[j>>0]=q;v=v&255;v=r[(v&15)+(34880+(v>>>4<<4))>>0]|0;F=F&255;F=r[(F&15)+(34880+(F>>>4<<4))>>0]|0;z=z&255;z=r[(z&15)+(34880+(z>>>4<<4))>>0]|0;A=A&255;A=r[(A&15)+(34880+(A>>>4<<4))>>0]|0;m=o[n+16>>2]|0;r[D>>0]=m>>>24^p&255;r[U>>0]=m>>>16^i&255;r[S>>0]=m>>>8^g&255;r[k>>0]=m^v&255;v=o[n+20>>2]|0;r[I>>0]=v>>>24^_&255;r[R>>0]=v>>>16^y&255;r[T>>0]=v>>>8^b&255;r[O>>0]=v^F&255;F=o[n+24>>2]|0;r[C>>0]=F>>>24^G&255;r[x>>0]=F>>>16^V&255;r[M>>0]=F>>>8^K&255;r[P>>0]=F^z&255;z=o[n+28>>2]|0;r[B>>0]=z>>>24^H&255;r[N>>0]=z>>>16^w&255;r[j>>0]=z>>>8^q&255;r[E>>0]=z^A&255;Co(D);A=r[N>>0]|0;z=r[x>>0]|0;q=r[R>>0]|0;w=r[U>>0]|0;R=r[j>>0]|0;H=r[T>>0]|0;M=r[M>>0]|0;F=r[S>>0]|0;K=r[E>>0]|0;V=r[k>>0]|0;x=r[O>>0]|0;N=r[P>>0]|0;T=s[D>>0]|0;T=r[(T&15)+(34880+(T>>>4<<4))>>0]|0;r[D>>0]=T;P=s[I>>0]|0;P=r[(P&15)+(34880+(P>>>4<<4))>>0]|0;r[I>>0]=P;U=s[C>>0]|0;U=r[(U&15)+(34880+(U>>>4<<4))>>0]|0;r[C>>0]=U;G=s[B>>0]|0;O=A&255;D=w&255;q=q&255;z=z&255;C=M&255;B=R&255;F=F&255;H=H&255;x=x&255;N=N&255;K=K&255;V=V&255;R=o[n>>2]|0;O=(R>>>16^(s[(O&15)+(34880+(O>>>4<<4))>>0]|0))&255;C=(R>>>8^(s[(C&15)+(34880+(C>>>4<<4))>>0]|0))&255;x=(R^(s[(x&15)+(34880+(x>>>4<<4))>>0]|0))&255;M=o[n+4>>2]|0;D=(M>>>16^(s[(D&15)+(34880+(D>>>4<<4))>>0]|0))&255;B=(M>>>8^(s[(B&15)+(34880+(B>>>4<<4))>>0]|0))&255;N=(M^(s[(N&15)+(34880+(N>>>4<<4))>>0]|0))&255;j=o[n+8>>2]|0;q=(j>>>16^(s[(q&15)+(34880+(q>>>4<<4))>>0]|0))&255;F=(j>>>8^(s[(F&15)+(34880+(F>>>4<<4))>>0]|0))&255;K=(j^(s[(K&15)+(34880+(K>>>4<<4))>>0]|0))&255;n=o[n+12>>2]|0;G=(n>>>24^(s[(G&15)+(34880+(G>>>4<<4))>>0]|0))&255;z=(n>>>16^(s[(z&15)+(34880+(z>>>4<<4))>>0]|0))&255;H=(n>>>8^(s[(H&15)+(34880+(H>>>4<<4))>>0]|0))&255;V=(n^(s[(V&15)+(34880+(V>>>4<<4))>>0]|0))&255;r[t>>0]=R>>>24^T&255;r[t+1>>0]=O;r[t+2>>0]=C;r[t+3>>0]=x;r[t+4>>0]=M>>>24^P&255;r[t+5>>0]=D;r[t+6>>0]=B;r[t+7>>0]=N;r[t+8>>0]=j>>>24^U&255;r[t+9>>0]=q;r[t+10>>0]=F;r[t+11>>0]=K;r[t+12>>0]=G;r[t+13>>0]=z;r[t+14>>0]=H;r[t+15>>0]=V;h=L;return}function Mo(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,a=0,f=0,c=0,u=0,l=0,d=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,R=0,T=0,O=0,C=0,x=0,M=0,P=0,D=0,B=0,N=0,j=0,U=0,L=0,q=0,F=0,K=0,G=0,z=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,fe=0,ce=0,ue=0,le=0,de=0,he=0,pe=0,ge=0,me=0,_e=0,ye=0,be=0,ve=0,Ae=0,we=0,Ee=0,Se=0,ke=0,Ie=0,Re=0,Te=0,Oe=0,Ce=0,xe=0,Me=0,Pe=0,De=0,Be=0,Ne=0,je=0,Ue=0,Le=0,qe=0,Fe=0,Ke=0,Ge=0,ze=0,He=0,Ve=0,Qe=0,We=0,Ye=0,Xe=0,Je=0,Ze=0,$e=0,et=0,tt=0,nt=0,rt=0,it=0,ot=0,st=0,at=0,ft=0,ct=0,ut=0,lt=0,dt=0,ht=0,pt=0,gt=0,mt=0,_t=0,yt=0,bt=0,vt=0,At=0,wt=0,Et=0,St=0,kt=0,It=0,Rt=0,Tt=0,Ot=0,Ct=0,xt=0,Mt=0,Pt=0,Dt=0,Bt=0,Nt=0,jt=0,Ut=0,Lt=0,qt=0,Ft=0;Mt=h;h=h+2768|0;yt=Mt+2608|0;bt=Mt+2448|0;Ct=Mt+2288|0;vt=Mt+2128|0;At=Mt+1968|0;wt=Mt+1808|0;xt=Mt+1648|0;Et=Mt+1488|0;St=Mt+1328|0;kt=Mt+1168|0;c=Mt+1008|0;f=Mt+848|0;a=Mt+688|0;i=Mt+528|0;It=Mt+368|0;at=Mt+288|0;Rt=Mt+208|0;Tt=Mt+112|0;Ot=Mt+32|0;ft=Mt;st=ft;ot=st+32|0;do{r[st>>0]=r[t>>0]|0;st=st+1|0;t=t+1|0}while((st|0)<(ot|0));r[ft>>0]=r[ft>>0]&-8;st=ft+31|0;r[st>>0]=r[st>>0]&63|64;st=s[n>>0]|0;pt=xs(s[n+1>>0]|0|0,0,8)|0;ht=I;mt=xs(s[n+2>>0]|0|0,0,16)|0;ht=ht|I;gt=s[n+3>>0]|0;ot=xs(gt|0,0,24)|0;_t=at;o[_t>>2]=pt|st|mt|ot&50331648;o[_t+4>>2]=ht;_t=xs(s[n+4>>0]|0|0,0,8)|0;ht=I;ot=xs(s[n+5>>0]|0|0,0,16)|0;ht=ht|I;mt=s[n+6>>0]|0;st=xs(mt|0,0,24)|0;ht=Cs(_t|gt|ot|st|0,ht|I|0,2)|0;st=at+8|0;o[st>>2]=ht&33554431;o[st+4>>2]=0;st=xs(s[n+7>>0]|0|0,0,8)|0;ht=I;ot=xs(s[n+8>>0]|0|0,0,16)|0;ht=ht|I;gt=s[n+9>>0]|0;_t=xs(gt|0,0,24)|0;ht=Cs(st|mt|ot|_t|0,ht|I|0,3)|0;_t=at+16|0;o[_t>>2]=ht&67108863;o[_t+4>>2]=0;_t=xs(s[n+10>>0]|0|0,0,8)|0;ht=I;ot=xs(s[n+11>>0]|0|0,0,16)|0;ht=ht|I;mt=s[n+12>>0]|0;st=xs(mt|0,0,24)|0;ht=Cs(_t|gt|ot|st|0,ht|I|0,5)|0;st=at+24|0;o[st>>2]=ht&33554431;o[st+4>>2]=0;st=xs(s[n+13>>0]|0|0,0,8)|0;ht=I;ot=xs(s[n+14>>0]|0|0,0,16)|0;ht=ht|I;gt=xs(s[n+15>>0]|0|0,0,24)|0;ht=Cs(st|mt|ot|gt|0,ht|I|0,6)|0;gt=at+32|0;o[gt>>2]=ht&67108863;o[gt+4>>2]=0;gt=s[n+16>>0]|0;ht=xs(s[n+17>>0]|0|0,0,8)|0;ot=I;mt=xs(s[n+18>>0]|0|0,0,16)|0;ot=ot|I;st=s[n+19>>0]|0;_t=xs(st|0,0,24)|0;pt=at+40|0;o[pt>>2]=ht|gt|mt|_t&16777216;o[pt+4>>2]=ot;pt=xs(s[n+20>>0]|0|0,0,8)|0;ot=I;_t=xs(s[n+21>>0]|0|0,0,16)|0;ot=ot|I;mt=s[n+22>>0]|0;gt=xs(mt|0,0,24)|0;ot=Cs(pt|st|_t|gt|0,ot|I|0,1)|0;gt=at+48|0;o[gt>>2]=ot&67108863;o[gt+4>>2]=0;gt=xs(s[n+23>>0]|0|0,0,8)|0;ot=I;_t=xs(s[n+24>>0]|0|0,0,16)|0;ot=ot|I;st=s[n+25>>0]|0;pt=xs(st|0,0,24)|0;ot=Cs(gt|mt|_t|pt|0,ot|I|0,3)|0;pt=at+56|0;o[pt>>2]=ot&33554431;o[pt+4>>2]=0;pt=xs(s[n+26>>0]|0|0,0,8)|0;ot=I;_t=xs(s[n+27>>0]|0|0,0,16)|0;ot=ot|I;mt=s[n+28>>0]|0;gt=xs(mt|0,0,24)|0;ot=Cs(pt|st|_t|gt|0,ot|I|0,4)|0;gt=at+64|0;o[gt>>2]=ot&67108863;o[gt+4>>2]=0;gt=xs(s[n+29>>0]|0|0,0,8)|0;ot=I;_t=xs(s[n+30>>0]|0|0,0,16)|0;ot=ot|I;st=xs(s[n+31>>0]|0|0,0,24)|0;ot=Cs(gt|mt|_t|st|0,ot|I|0,6)|0;st=at+72|0;o[st>>2]=ot&33554431;o[st+4>>2]=0;Ds(Et|0,0,152)|0;st=Et;o[st>>2]=1;o[st+4>>2]=0;Ds(St|0,0,152)|0;st=St;o[st>>2]=1;o[st+4>>2]=0;Ds(kt|0,0,152)|0;Ds(c|0,0,152)|0;Ds(f|0,0,152)|0;st=f;o[st>>2]=1;o[st+4>>2]=0;Ds(a|0,0,152)|0;Ds(i|0,0,152)|0;st=i;o[st>>2]=1;o[st+4>>2]=0;st=xt+80|0;ot=st+72|0;do{o[st>>2]=0;st=st+4|0}while((st|0)<(ot|0));st=xt;t=at;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));oe=Ct+144|0;se=Ct+64|0;ae=Ct+136|0;fe=Ct+56|0;ce=Ct+128|0;ue=Ct+48|0;le=Ct+120|0;de=Ct+40|0;he=Ct+112|0;pe=Ct+32|0;ge=Ct+104|0;me=Ct+24|0;_e=Ct+96|0;ye=Ct+16|0;be=Ct+88|0;ve=Ct+8|0;Ae=Ct+80|0;we=vt+144|0;Ee=vt+64|0;Se=vt+136|0;ke=vt+56|0;Ie=vt+128|0;Re=vt+48|0;Te=vt+120|0;Oe=vt+40|0;Ce=vt+112|0;xe=vt+32|0;Me=vt+104|0;Pe=vt+24|0;De=vt+96|0;Be=vt+16|0;Ne=vt+88|0;je=vt+8|0;Ue=vt+80|0;ie=Ct+72|0;Le=vt+72|0;qe=yt+8|0;Fe=bt+8|0;Ke=yt+16|0;Ge=bt+16|0;ze=yt+24|0;He=bt+24|0;Ve=yt+32|0;Qe=bt+32|0;We=yt+40|0;Ye=bt+40|0;Xe=yt+48|0;Je=bt+48|0;Ze=yt+56|0;$e=bt+56|0;et=yt+64|0;tt=bt+64|0;nt=yt+72|0;rt=bt+72|0;ct=It+80|0;ut=It+8|0;lt=It+16|0;dt=It+24|0;ht=It+32|0;pt=It+40|0;gt=It+48|0;mt=It+56|0;_t=It+64|0;it=It+72|0;d=xt;re=0;t=c;n=Et;c=kt;u=St;while(1){l=r[ft+(31-re)>>0]|0;$=0;ee=i;te=a;ne=f;J=t;f=n;i=c;a=u;Z=d;while(1){Y=l&255;X=Y>>>7;Po(a,Z,X,0);Po(i,f,X,0);E=a;u=o[E>>2]|0;E=o[E+4>>2]|0;V=a+8|0;z=V;M=o[z>>2]|0;z=o[z+4>>2]|0;Nt=a+16|0;R=Nt;k=o[R>>2]|0;R=o[R+4>>2]|0;T=a+24|0;Pt=T;Q=o[Pt>>2]|0;Pt=o[Pt+4>>2]|0;b=a+32|0;v=b;jt=o[v>>2]|0;v=o[v+4>>2]|0;_=a+40|0;l=_;O=o[l>>2]|0;l=o[l+4>>2]|0;G=a+48|0;ot=G;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;B=a+56|0;C=B;q=o[C>>2]|0;C=o[C+4>>2]|0;Ut=a+64|0;A=Ut;U=o[A>>2]|0;A=o[A+4>>2]|0;m=a+72|0;Dt=m;Bt=o[Dt>>2]|0;Dt=o[Dt+4>>2]|0;S=i;j=o[S>>2]|0;S=o[S+4>>2]|0;y=Ss(j|0,S|0,u|0,E|0)|0;p=a;o[p>>2]=y;o[p+4>>2]=I;p=i+8|0;y=p;H=o[y>>2]|0;y=o[y+4>>2]|0;D=Ss(H|0,y|0,M|0,z|0)|0;o[V>>2]=D;o[V+4>>2]=I;V=i+16|0;D=V;L=o[D>>2]|0;D=o[D+4>>2]|0;c=Ss(L|0,D|0,k|0,R|0)|0;o[Nt>>2]=c;o[Nt+4>>2]=I;Nt=i+24|0;c=Nt;n=o[c>>2]|0;c=o[c+4>>2]|0;qt=Ss(n|0,c|0,Q|0,Pt|0)|0;o[T>>2]=qt;o[T+4>>2]=I;T=i+32|0;qt=T;g=o[qt>>2]|0;qt=o[qt+4>>2]|0;N=Ss(g|0,qt|0,jt|0,v|0)|0;o[b>>2]=N;o[b+4>>2]=I;b=i+40|0;N=b;F=o[N>>2]|0;N=o[N+4>>2]|0;w=Ss(F|0,N|0,O|0,l|0)|0;o[_>>2]=w;o[_+4>>2]=I;_=i+48|0;w=_;P=o[w>>2]|0;w=o[w+4>>2]|0;d=Ss(P|0,w|0,W|0,ot|0)|0;o[G>>2]=d;o[G+4>>2]=I;G=i+56|0;d=G;x=o[d>>2]|0;d=o[d+4>>2]|0;st=Ss(x|0,d|0,q|0,C|0)|0;o[B>>2]=st;o[B+4>>2]=I;B=i+64|0;st=B;t=o[st>>2]|0;st=o[st+4>>2]|0;Lt=Ss(t|0,st|0,U|0,A|0)|0;o[Ut>>2]=Lt;o[Ut+4>>2]=I;Ut=i+72|0;Lt=Ut;K=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;Ft=Ss(K|0,Lt|0,Bt|0,Dt|0)|0;o[m>>2]=Ft;o[m+4>>2]=I;S=ks(u|0,E|0,j|0,S|0)|0;j=i;o[j>>2]=S;o[j+4>>2]=I;y=ks(M|0,z|0,H|0,y|0)|0;o[p>>2]=y;o[p+4>>2]=I;D=ks(k|0,R|0,L|0,D|0)|0;o[V>>2]=D;o[V+4>>2]=I;c=ks(Q|0,Pt|0,n|0,c|0)|0;o[Nt>>2]=c;o[Nt+4>>2]=I;qt=ks(jt|0,v|0,g|0,qt|0)|0;o[T>>2]=qt;o[T+4>>2]=I;N=ks(O|0,l|0,F|0,N|0)|0;o[b>>2]=N;o[b+4>>2]=I;w=ks(W|0,ot|0,P|0,w|0)|0;o[_>>2]=w;o[_+4>>2]=I;d=ks(q|0,C|0,x|0,d|0)|0;o[G>>2]=d;o[G+4>>2]=I;st=ks(U|0,A|0,t|0,st|0)|0;o[B>>2]=st;o[B+4>>2]=I;Lt=ks(Bt|0,Dt|0,K|0,Lt|0)|0;o[Ut>>2]=Lt;o[Ut+4>>2]=I;Ut=Z;Lt=o[Ut>>2]|0;Ut=o[Ut+4>>2]|0;K=Z+8|0;Dt=K;Bt=o[Dt>>2]|0;Dt=o[Dt+4>>2]|0;B=Z+16|0;st=B;t=o[st>>2]|0;st=o[st+4>>2]|0;A=Z+24|0;U=A;G=o[U>>2]|0;U=o[U+4>>2]|0;d=Z+32|0;x=d;C=o[x>>2]|0;x=o[x+4>>2]|0;q=Z+40|0;_=q;w=o[_>>2]|0;_=o[_+4>>2]|0;P=Z+48|0;ot=P;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;b=Z+56|0;N=b;F=o[N>>2]|0;N=o[N+4>>2]|0;l=Z+64|0;O=l;T=o[O>>2]|0;O=o[O+4>>2]|0;qt=Z+72|0;g=qt;v=o[g>>2]|0;g=o[g+4>>2]|0;jt=f;Nt=o[jt>>2]|0;jt=o[jt+4>>2]|0;c=Ss(Nt|0,jt|0,Lt|0,Ut|0)|0;n=Z;o[n>>2]=c;o[n+4>>2]=I;n=f+8|0;c=n;Pt=o[c>>2]|0;c=o[c+4>>2]|0;Q=Ss(Pt|0,c|0,Bt|0,Dt|0)|0;o[K>>2]=Q;o[K+4>>2]=I;K=f+16|0;Q=K;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;D=Ss(V|0,Q|0,t|0,st|0)|0;o[B>>2]=D;o[B+4>>2]=I;B=f+24|0;D=B;L=o[D>>2]|0;D=o[D+4>>2]|0;R=Ss(L|0,D|0,G|0,U|0)|0;o[A>>2]=R;o[A+4>>2]=I;A=f+32|0;R=A;k=o[R>>2]|0;R=o[R+4>>2]|0;p=Ss(k|0,R|0,C|0,x|0)|0;o[d>>2]=p;o[d+4>>2]=I;d=f+40|0;p=d;y=o[p>>2]|0;p=o[p+4>>2]|0;H=Ss(y|0,p|0,w|0,_|0)|0;o[q>>2]=H;o[q+4>>2]=I;q=f+48|0;H=q;z=o[H>>2]|0;H=o[H+4>>2]|0;M=Ss(z|0,H|0,W|0,ot|0)|0;o[P>>2]=M;o[P+4>>2]=I;P=f+56|0;M=P;j=o[M>>2]|0;M=o[M+4>>2]|0;S=Ss(j|0,M|0,F|0,N|0)|0;o[b>>2]=S;o[b+4>>2]=I;b=f+64|0;S=b;E=o[S>>2]|0;S=o[S+4>>2]|0;u=Ss(E|0,S|0,T|0,O|0)|0;o[l>>2]=u;o[l+4>>2]=I;l=f+72|0;u=l;m=o[u>>2]|0;u=o[u+4>>2]|0;Ft=Ss(m|0,u|0,v|0,g|0)|0;o[qt>>2]=Ft;o[qt+4>>2]=I;jt=ks(Lt|0,Ut|0,Nt|0,jt|0)|0;Nt=f;o[Nt>>2]=jt;o[Nt+4>>2]=I;c=ks(Bt|0,Dt|0,Pt|0,c|0)|0;o[n>>2]=c;o[n+4>>2]=I;Q=ks(t|0,st|0,V|0,Q|0)|0;o[K>>2]=Q;o[K+4>>2]=I;D=ks(G|0,U|0,L|0,D|0)|0;o[B>>2]=D;o[B+4>>2]=I;R=ks(C|0,x|0,k|0,R|0)|0;o[A>>2]=R;o[A+4>>2]=I;p=ks(w|0,_|0,y|0,p|0)|0;o[d>>2]=p;o[d+4>>2]=I;H=ks(W|0,ot|0,z|0,H|0)|0;o[q>>2]=H;o[q+4>>2]=I;M=ks(F|0,N|0,j|0,M|0)|0;o[P>>2]=M;o[P+4>>2]=I;S=ks(T|0,O|0,E|0,S|0)|0;o[b>>2]=S;o[b+4>>2]=I;u=ks(v|0,g|0,m|0,u|0)|0;o[l>>2]=u;o[l+4>>2]=I;Do(Ct,Z,i);Do(vt,a,f);l=oe;u=o[l>>2]|0;l=o[l+4>>2]|0;m=se;g=o[m>>2]|0;m=o[m+4>>2]|0;v=Es(u|0,l|0,18,0)|0;b=I;l=Ss(g|0,m|0,u|0,l|0)|0;b=Ss(l|0,I|0,v|0,b|0)|0;v=se;o[v>>2]=b;o[v+4>>2]=I;v=ae;b=o[v>>2]|0;v=o[v+4>>2]|0;l=fe;u=o[l>>2]|0;l=o[l+4>>2]|0;m=Es(b|0,v|0,18,0)|0;g=I;v=Ss(u|0,l|0,b|0,v|0)|0;g=Ss(v|0,I|0,m|0,g|0)|0;m=fe;o[m>>2]=g;o[m+4>>2]=I;m=ce;g=o[m>>2]|0;m=o[m+4>>2]|0;v=ue;b=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(g|0,m|0,18,0)|0;u=I;m=Ss(b|0,v|0,g|0,m|0)|0;u=Ss(m|0,I|0,l|0,u|0)|0;l=ue;o[l>>2]=u;o[l+4>>2]=I;l=le;u=o[l>>2]|0;l=o[l+4>>2]|0;m=de;g=o[m>>2]|0;m=o[m+4>>2]|0;v=Es(u|0,l|0,18,0)|0;b=I;l=Ss(g|0,m|0,u|0,l|0)|0;b=Ss(l|0,I|0,v|0,b|0)|0;v=de;o[v>>2]=b;o[v+4>>2]=I;v=he;b=o[v>>2]|0;v=o[v+4>>2]|0;l=pe;u=o[l>>2]|0;l=o[l+4>>2]|0;m=Es(b|0,v|0,18,0)|0;g=I;v=Ss(u|0,l|0,b|0,v|0)|0;g=Ss(v|0,I|0,m|0,g|0)|0;m=pe;o[m>>2]=g;o[m+4>>2]=I;m=ge;g=o[m>>2]|0;m=o[m+4>>2]|0;v=me;b=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(g|0,m|0,18,0)|0;u=I;m=Ss(b|0,v|0,g|0,m|0)|0;u=Ss(m|0,I|0,l|0,u|0)|0;l=me;o[l>>2]=u;o[l+4>>2]=I;l=_e;u=o[l>>2]|0;l=o[l+4>>2]|0;m=ye;g=o[m>>2]|0;m=o[m+4>>2]|0;v=Es(u|0,l|0,18,0)|0;b=I;l=Ss(g|0,m|0,u|0,l|0)|0;b=Ss(l|0,I|0,v|0,b|0)|0;v=ye;o[v>>2]=b;o[v+4>>2]=I;v=be;b=o[v>>2]|0;v=o[v+4>>2]|0;l=ve;u=o[l>>2]|0;l=o[l+4>>2]|0;m=Es(b|0,v|0,18,0)|0;g=I;v=Ss(u|0,l|0,b|0,v|0)|0;g=Ss(v|0,I|0,m|0,g|0)|0;m=ve;o[m>>2]=g;o[m+4>>2]=I;m=Ae;g=o[m>>2]|0;m=o[m+4>>2]|0;v=Ct;b=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(g|0,m|0,18,0)|0;u=I;m=Ss(b|0,v|0,g|0,m|0)|0;u=Ss(m|0,I|0,l|0,u|0)|0;l=Ct;o[l>>2]=u;o[l+4>>2]=I;Bo(Ct);l=we;u=o[l>>2]|0;l=o[l+4>>2]|0;m=Ee;g=o[m>>2]|0;m=o[m+4>>2]|0;v=Es(u|0,l|0,18,0)|0;b=I;l=Ss(g|0,m|0,u|0,l|0)|0;b=Ss(l|0,I|0,v|0,b|0)|0;v=Ee;o[v>>2]=b;o[v+4>>2]=I;v=Se;b=o[v>>2]|0;v=o[v+4>>2]|0;l=ke;u=o[l>>2]|0;l=o[l+4>>2]|0;m=Es(b|0,v|0,18,0)|0;g=I;v=Ss(u|0,l|0,b|0,v|0)|0;g=Ss(v|0,I|0,m|0,g|0)|0;m=ke;o[m>>2]=g;o[m+4>>2]=I;m=Ie;g=o[m>>2]|0;m=o[m+4>>2]|0;v=Re;b=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(g|0,m|0,18,0)|0;u=I;m=Ss(b|0,v|0,g|0,m|0)|0;u=Ss(m|0,I|0,l|0,u|0)|0;l=Re;o[l>>2]=u;o[l+4>>2]=I;l=Te;u=o[l>>2]|0;l=o[l+4>>2]|0;m=Oe;g=o[m>>2]|0;m=o[m+4>>2]|0;v=Es(u|0,l|0,18,0)|0;b=I;l=Ss(g|0,m|0,u|0,l|0)|0;b=Ss(l|0,I|0,v|0,b|0)|0;v=Oe;o[v>>2]=b;o[v+4>>2]=I;v=Ce;b=o[v>>2]|0;v=o[v+4>>2]|0;l=xe;u=o[l>>2]|0;l=o[l+4>>2]|0;m=Es(b|0,v|0,18,0)|0;g=I;v=Ss(u|0,l|0,b|0,v|0)|0;g=Ss(v|0,I|0,m|0,g|0)|0;m=xe;o[m>>2]=g;o[m+4>>2]=I;m=Me;g=o[m>>2]|0;m=o[m+4>>2]|0;v=Pe;b=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(g|0,m|0,18,0)|0;u=I;m=Ss(b|0,v|0,g|0,m|0)|0;u=Ss(m|0,I|0,l|0,u|0)|0;l=Pe;o[l>>2]=u;o[l+4>>2]=I;l=De;u=o[l>>2]|0;l=o[l+4>>2]|0;m=Be;g=o[m>>2]|0;m=o[m+4>>2]|0;v=Es(u|0,l|0,18,0)|0;b=I;l=Ss(g|0,m|0,u|0,l|0)|0;b=Ss(l|0,I|0,v|0,b|0)|0;v=Be;o[v>>2]=b;o[v+4>>2]=I;v=Ne;b=o[v>>2]|0;v=o[v+4>>2]|0;l=je;u=o[l>>2]|0;l=o[l+4>>2]|0;m=Es(b|0,v|0,18,0)|0;g=I;v=Ss(u|0,l|0,b|0,v|0)|0;g=Ss(v|0,I|0,m|0,g|0)|0;m=je;o[m>>2]=g;o[m+4>>2]=I;m=Ue;g=o[m>>2]|0;m=o[m+4>>2]|0;v=vt;b=o[v>>2]|0;v=o[v+4>>2]|0;l=Es(g|0,m|0,18,0)|0;u=I;m=Ss(b|0,v|0,g|0,m|0)|0;u=Ss(m|0,I|0,l|0,u|0)|0;l=vt;o[l>>2]=u;o[l+4>>2]=I;Bo(vt);l=Ct;u=o[l>>2]|0;l=o[l+4>>2]|0;m=ve;g=o[m>>2]|0;m=o[m+4>>2]|0;v=ye;b=o[v>>2]|0;v=o[v+4>>2]|0;S=me;E=o[S>>2]|0;S=o[S+4>>2]|0;O=pe;T=o[O>>2]|0;O=o[O+4>>2]|0;P=de;M=o[P>>2]|0;P=o[P+4>>2]|0;j=ue;N=o[j>>2]|0;j=o[j+4>>2]|0;F=fe;q=o[F>>2]|0;F=o[F+4>>2]|0;H=se;z=o[H>>2]|0;H=o[H+4>>2]|0;ot=ie;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;d=vt;p=o[d>>2]|0;d=o[d+4>>2]|0;y=Ss(p|0,d|0,u|0,l|0)|0;_=Ct;o[_>>2]=y;o[_+4>>2]=I;_=je;y=o[_>>2]|0;_=o[_+4>>2]|0;w=Ss(y|0,_|0,g|0,m|0)|0;A=ve;o[A>>2]=w;o[A+4>>2]=I;A=Be;w=o[A>>2]|0;A=o[A+4>>2]|0;R=Ss(w|0,A|0,b|0,v|0)|0;k=ye;o[k>>2]=R;o[k+4>>2]=I;k=Pe;R=o[k>>2]|0;k=o[k+4>>2]|0;x=Ss(R|0,k|0,E|0,S|0)|0;C=me;o[C>>2]=x;o[C+4>>2]=I;C=xe;x=o[C>>2]|0;C=o[C+4>>2]|0;B=Ss(x|0,C|0,T|0,O|0)|0;D=pe;o[D>>2]=B;o[D+4>>2]=I;D=Oe;B=o[D>>2]|0;D=o[D+4>>2]|0;L=Ss(B|0,D|0,M|0,P|0)|0;U=de;o[U>>2]=L;o[U+4>>2]=I;U=Re;L=o[U>>2]|0;U=o[U+4>>2]|0;G=Ss(L|0,U|0,N|0,j|0)|0;K=ue;o[K>>2]=G;o[K+4>>2]=I;K=ke;G=o[K>>2]|0;K=o[K+4>>2]|0;Q=Ss(G|0,K|0,q|0,F|0)|0;V=fe;o[V>>2]=Q;o[V+4>>2]=I;V=Ee;Q=o[V>>2]|0;V=o[V+4>>2]|0;st=Ss(Q|0,V|0,z|0,H|0)|0;t=se;o[t>>2]=st;o[t+4>>2]=I;t=Le;st=o[t>>2]|0;t=o[t+4>>2]|0;n=Ss(st|0,t|0,W|0,ot|0)|0;c=ie;o[c>>2]=n;o[c+4>>2]=I;d=ks(u|0,l|0,p|0,d|0)|0;p=vt;o[p>>2]=d;o[p+4>>2]=I;_=ks(g|0,m|0,y|0,_|0)|0;y=je;o[y>>2]=_;o[y+4>>2]=I;A=ks(b|0,v|0,w|0,A|0)|0;w=Be;o[w>>2]=A;o[w+4>>2]=I;k=ks(E|0,S|0,R|0,k|0)|0;R=Pe;o[R>>2]=k;o[R+4>>2]=I;C=ks(T|0,O|0,x|0,C|0)|0;x=xe;o[x>>2]=C;o[x+4>>2]=I;D=ks(M|0,P|0,B|0,D|0)|0;B=Oe;o[B>>2]=D;o[B+4>>2]=I;U=ks(N|0,j|0,L|0,U|0)|0;L=Re;o[L>>2]=U;o[L+4>>2]=I;K=ks(q|0,F|0,G|0,K|0)|0;G=ke;o[G>>2]=K;o[G+4>>2]=I;V=ks(z|0,H|0,Q|0,V|0)|0;Q=Ee;o[Q>>2]=V;o[Q+4>>2]=I;t=ks(W|0,ot|0,st|0,t|0)|0;st=Le;o[st>>2]=t;o[st+4>>2]=I;No(wt,Ct);No(At,vt);Do(vt,At,at);st=we;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Ee;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Es(t|0,st|0,18,0)|0;V=I;st=Ss(W|0,ot|0,t|0,st|0)|0;V=Ss(st|0,I|0,Q|0,V|0)|0;Q=Ee;o[Q>>2]=V;o[Q+4>>2]=I;Q=Se;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=ke;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(V|0,Q|0,18,0)|0;W=I;Q=Ss(t|0,st|0,V|0,Q|0)|0;W=Ss(Q|0,I|0,ot|0,W|0)|0;ot=ke;o[ot>>2]=W;o[ot+4>>2]=I;ot=Ie;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Re;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Es(W|0,ot|0,18,0)|0;t=I;ot=Ss(V|0,Q|0,W|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=Re;o[st>>2]=t;o[st+4>>2]=I;st=Te;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Oe;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Es(t|0,st|0,18,0)|0;V=I;st=Ss(W|0,ot|0,t|0,st|0)|0;V=Ss(st|0,I|0,Q|0,V|0)|0;Q=Oe;o[Q>>2]=V;o[Q+4>>2]=I;Q=Ce;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=xe;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(V|0,Q|0,18,0)|0;W=I;Q=Ss(t|0,st|0,V|0,Q|0)|0;W=Ss(Q|0,I|0,ot|0,W|0)|0;ot=xe;o[ot>>2]=W;o[ot+4>>2]=I;ot=Me;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Pe;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Es(W|0,ot|0,18,0)|0;t=I;ot=Ss(V|0,Q|0,W|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=Pe;o[st>>2]=t;o[st+4>>2]=I;st=De;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Be;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=Es(t|0,st|0,18,0)|0;V=I;st=Ss(W|0,ot|0,t|0,st|0)|0;V=Ss(st|0,I|0,Q|0,V|0)|0;Q=Be;o[Q>>2]=V;o[Q+4>>2]=I;Q=Ne;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=je;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(V|0,Q|0,18,0)|0;W=I;Q=Ss(t|0,st|0,V|0,Q|0)|0;W=Ss(Q|0,I|0,ot|0,W|0)|0;ot=je;o[ot>>2]=W;o[ot+4>>2]=I;ot=Ue;W=o[ot>>2]|0;ot=o[ot+4>>2]|0;Q=vt;V=o[Q>>2]|0;Q=o[Q+4>>2]|0;st=Es(W|0,ot|0,18,0)|0;t=I;ot=Ss(V|0,Q|0,W|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=vt;o[st>>2]=t;o[st+4>>2]=I;Bo(vt);st=J;t=wt;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));st=ne;t=vt;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(yt,a);No(bt,i);Do(te,yt,bt);c=te+144|0;p=o[c>>2]|0;c=o[c+4>>2]|0;d=te+64|0;l=d;u=o[l>>2]|0;l=o[l+4>>2]|0;t=Es(p|0,c|0,18,0)|0;n=I;c=Ss(u|0,l|0,p|0,c|0)|0;n=Ss(c|0,I|0,t|0,n|0)|0;o[d>>2]=n;o[d+4>>2]=I;d=te+136|0;n=o[d>>2]|0;d=o[d+4>>2]|0;t=te+56|0;c=t;p=o[c>>2]|0;c=o[c+4>>2]|0;l=Es(n|0,d|0,18,0)|0;u=I;d=Ss(p|0,c|0,n|0,d|0)|0;u=Ss(d|0,I|0,l|0,u|0)|0;o[t>>2]=u;o[t+4>>2]=I;t=te+128|0;u=o[t>>2]|0;t=o[t+4>>2]|0;l=te+48|0;d=l;n=o[d>>2]|0;d=o[d+4>>2]|0;c=Es(u|0,t|0,18,0)|0;p=I;t=Ss(n|0,d|0,u|0,t|0)|0;p=Ss(t|0,I|0,c|0,p|0)|0;o[l>>2]=p;o[l+4>>2]=I;l=te+120|0;p=o[l>>2]|0;l=o[l+4>>2]|0;c=te+40|0;t=c;u=o[t>>2]|0;t=o[t+4>>2]|0;d=Es(p|0,l|0,18,0)|0;n=I;l=Ss(u|0,t|0,p|0,l|0)|0;n=Ss(l|0,I|0,d|0,n|0)|0;o[c>>2]=n;o[c+4>>2]=I;c=te+112|0;n=o[c>>2]|0;c=o[c+4>>2]|0;d=te+32|0;l=d;p=o[l>>2]|0;l=o[l+4>>2]|0;t=Es(n|0,c|0,18,0)|0;u=I;c=Ss(p|0,l|0,n|0,c|0)|0;u=Ss(c|0,I|0,t|0,u|0)|0;o[d>>2]=u;o[d+4>>2]=I;d=te+104|0;u=o[d>>2]|0;d=o[d+4>>2]|0;t=te+24|0;c=t;n=o[c>>2]|0;c=o[c+4>>2]|0;l=Es(u|0,d|0,18,0)|0;p=I;d=Ss(n|0,c|0,u|0,d|0)|0;p=Ss(d|0,I|0,l|0,p|0)|0;o[t>>2]=p;o[t+4>>2]=I;t=te+96|0;p=o[t>>2]|0;t=o[t+4>>2]|0;l=te+16|0;d=l;u=o[d>>2]|0;d=o[d+4>>2]|0;c=Es(p|0,t|0,18,0)|0;n=I;t=Ss(u|0,d|0,p|0,t|0)|0;n=Ss(t|0,I|0,c|0,n|0)|0;o[l>>2]=n;o[l+4>>2]=I;l=te+88|0;n=o[l>>2]|0;l=o[l+4>>2]|0;c=te+8|0;t=c;p=o[t>>2]|0;t=o[t+4>>2]|0;d=Es(n|0,l|0,18,0)|0;u=I;l=Ss(p|0,t|0,n|0,l|0)|0;u=Ss(l|0,I|0,d|0,u|0)|0;o[c>>2]=u;o[c+4>>2]=I;c=te+80|0;u=o[c>>2]|0;c=o[c+4>>2]|0;d=te;l=o[d>>2]|0;d=o[d+4>>2]|0;n=Es(u|0,c|0,18,0)|0;t=I;c=Ss(l|0,d|0,u|0,c|0)|0;t=Ss(c|0,I|0,n|0,t|0)|0;n=te;o[n>>2]=t;o[n+4>>2]=I;Bo(te);n=yt;t=o[n>>2]|0;n=o[n+4>>2]|0;c=bt;c=ks(t|0,n|0,o[c>>2]|0,o[c+4>>2]|0)|0;u=I;d=bt;o[d>>2]=c;o[d+4>>2]=u;d=qe;l=o[d>>2]|0;d=o[d+4>>2]|0;p=Fe;p=ks(l|0,d|0,o[p>>2]|0,o[p+4>>2]|0)|0;g=I;_=Fe;o[_>>2]=p;o[_+4>>2]=g;_=Ke;m=o[_>>2]|0;_=o[_+4>>2]|0;y=Ge;y=ks(m|0,_|0,o[y>>2]|0,o[y+4>>2]|0)|0;b=I;A=Ge;o[A>>2]=y;o[A+4>>2]=b;A=ze;v=o[A>>2]|0;A=o[A+4>>2]|0;w=He;w=ks(v|0,A|0,o[w>>2]|0,o[w+4>>2]|0)|0;E=I;k=He;o[k>>2]=w;o[k+4>>2]=E;k=Ve;S=o[k>>2]|0;k=o[k+4>>2]|0;R=Qe;R=ks(S|0,k|0,o[R>>2]|0,o[R+4>>2]|0)|0;T=I;C=Qe;o[C>>2]=R;o[C+4>>2]=T;C=We;O=o[C>>2]|0;C=o[C+4>>2]|0;x=Ye;x=ks(O|0,C|0,o[x>>2]|0,o[x+4>>2]|0)|0;M=I;D=Ye;o[D>>2]=x;o[D+4>>2]=M;D=Xe;P=o[D>>2]|0;D=o[D+4>>2]|0;B=Je;B=ks(P|0,D|0,o[B>>2]|0,o[B+4>>2]|0)|0;N=I;U=Je;o[U>>2]=B;o[U+4>>2]=N;U=Ze;j=o[U>>2]|0;U=o[U+4>>2]|0;L=$e;L=ks(j|0,U|0,o[L>>2]|0,o[L+4>>2]|0)|0;q=I;K=$e;o[K>>2]=L;o[K+4>>2]=q;K=et;F=o[K>>2]|0;K=o[K+4>>2]|0;G=tt;G=ks(F|0,K|0,o[G>>2]|0,o[G+4>>2]|0)|0;z=I;V=tt;o[V>>2]=G;o[V+4>>2]=z;V=nt;H=o[V>>2]|0;V=o[V+4>>2]|0;Q=rt;Q=ks(H|0,V|0,o[Q>>2]|0,o[Q+4>>2]|0)|0;W=I;st=rt;o[st>>2]=Q;o[st+4>>2]=W;st=ct;ot=st+72|0;do{o[st>>2]=0;st=st+4|0}while((st|0)<(ot|0));Lt=Es(c|0,u|0,121665,0)|0;Bt=It;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(p|0,g|0,121665,0)|0;Lt=ut;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=Es(y|0,b|0,121665,0)|0;Bt=lt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(w|0,E|0,121665,0)|0;Lt=dt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=Es(R|0,T|0,121665,0)|0;Bt=ht;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(x|0,M|0,121665,0)|0;Lt=pt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=Es(B|0,N|0,121665,0)|0;Bt=gt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(L|0,q|0,121665,0)|0;Lt=mt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=Es(G|0,z|0,121665,0)|0;Bt=_t;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=Es(Q|0,W|0,121665,0)|0;Lt=it;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Bo(It);Lt=It;Lt=Ss(o[Lt>>2]|0,o[Lt+4>>2]|0,t|0,n|0)|0;Bt=It;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=ut;Bt=Ss(o[Bt>>2]|0,o[Bt+4>>2]|0,l|0,d|0)|0;Lt=ut;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=lt;Lt=Ss(o[Lt>>2]|0,o[Lt+4>>2]|0,m|0,_|0)|0;Bt=lt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=dt;Bt=Ss(o[Bt>>2]|0,o[Bt+4>>2]|0,v|0,A|0)|0;Lt=dt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=ht;Lt=Ss(o[Lt>>2]|0,o[Lt+4>>2]|0,S|0,k|0)|0;Bt=ht;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=pt;Bt=Ss(o[Bt>>2]|0,o[Bt+4>>2]|0,O|0,C|0)|0;Lt=pt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=gt;Lt=Ss(o[Lt>>2]|0,o[Lt+4>>2]|0,P|0,D|0)|0;Bt=gt;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=mt;Bt=Ss(o[Bt>>2]|0,o[Bt+4>>2]|0,j|0,U|0)|0;Lt=mt;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Lt=_t;Lt=Ss(o[Lt>>2]|0,o[Lt+4>>2]|0,F|0,K|0)|0;Bt=_t;o[Bt>>2]=Lt;o[Bt+4>>2]=I;Bt=it;Bt=Ss(o[Bt>>2]|0,o[Bt+4>>2]|0,H|0,V|0)|0;Lt=it;o[Lt>>2]=Bt;o[Lt+4>>2]=I;Do(ee,bt,It);Lt=ee+144|0;Bt=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;jt=ee+64|0;Nt=jt;Ut=o[Nt>>2]|0;Nt=o[Nt+4>>2]|0;qt=Es(Bt|0,Lt|0,18,0)|0;Ft=I;Lt=Ss(Ut|0,Nt|0,Bt|0,Lt|0)|0;Ft=Ss(Lt|0,I|0,qt|0,Ft|0)|0;o[jt>>2]=Ft;o[jt+4>>2]=I;jt=ee+136|0;Ft=o[jt>>2]|0;jt=o[jt+4>>2]|0;qt=ee+56|0;Lt=qt;Bt=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;Nt=Es(Ft|0,jt|0,18,0)|0;Ut=I;jt=Ss(Bt|0,Lt|0,Ft|0,jt|0)|0;Ut=Ss(jt|0,I|0,Nt|0,Ut|0)|0;o[qt>>2]=Ut;o[qt+4>>2]=I;qt=ee+128|0;Ut=o[qt>>2]|0;qt=o[qt+4>>2]|0;Nt=ee+48|0;jt=Nt;Ft=o[jt>>2]|0;jt=o[jt+4>>2]|0;Lt=Es(Ut|0,qt|0,18,0)|0;Bt=I;qt=Ss(Ft|0,jt|0,Ut|0,qt|0)|0;Bt=Ss(qt|0,I|0,Lt|0,Bt|0)|0;o[Nt>>2]=Bt;o[Nt+4>>2]=I;Nt=ee+120|0;Bt=o[Nt>>2]|0;Nt=o[Nt+4>>2]|0;Lt=ee+40|0;qt=Lt;Ut=o[qt>>2]|0;qt=o[qt+4>>2]|0;jt=Es(Bt|0,Nt|0,18,0)|0;Ft=I;Nt=Ss(Ut|0,qt|0,Bt|0,Nt|0)|0;Ft=Ss(Nt|0,I|0,jt|0,Ft|0)|0;o[Lt>>2]=Ft;o[Lt+4>>2]=I;Lt=ee+112|0;Ft=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;jt=ee+32|0;Nt=jt;Bt=o[Nt>>2]|0;Nt=o[Nt+4>>2]|0;qt=Es(Ft|0,Lt|0,18,0)|0;Ut=I;Lt=Ss(Bt|0,Nt|0,Ft|0,Lt|0)|0;Ut=Ss(Lt|0,I|0,qt|0,Ut|0)|0;o[jt>>2]=Ut;o[jt+4>>2]=I;jt=ee+104|0;Ut=o[jt>>2]|0;jt=o[jt+4>>2]|0;qt=ee+24|0;Lt=qt;Ft=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;Nt=Es(Ut|0,jt|0,18,0)|0;Bt=I;jt=Ss(Ft|0,Lt|0,Ut|0,jt|0)|0;Bt=Ss(jt|0,I|0,Nt|0,Bt|0)|0;o[qt>>2]=Bt;o[qt+4>>2]=I;qt=ee+96|0;Bt=o[qt>>2]|0;qt=o[qt+4>>2]|0;Nt=ee+16|0;jt=Nt;Ut=o[jt>>2]|0;jt=o[jt+4>>2]|0;Lt=Es(Bt|0,qt|0,18,0)|0;Ft=I;qt=Ss(Ut|0,jt|0,Bt|0,qt|0)|0;Ft=Ss(qt|0,I|0,Lt|0,Ft|0)|0;o[Nt>>2]=Ft;o[Nt+4>>2]=I;Nt=ee+88|0;Ft=o[Nt>>2]|0;Nt=o[Nt+4>>2]|0;Lt=ee+8|0;qt=Lt;Bt=o[qt>>2]|0;qt=o[qt+4>>2]|0;jt=Es(Ft|0,Nt|0,18,0)|0;Ut=I;Nt=Ss(Bt|0,qt|0,Ft|0,Nt|0)|0;Ut=Ss(Nt|0,I|0,jt|0,Ut|0)|0;o[Lt>>2]=Ut;o[Lt+4>>2]=I;Lt=ee+80|0;Ut=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;jt=ee;Nt=o[jt>>2]|0;jt=o[jt+4>>2]|0;Ft=Es(Ut|0,Lt|0,18,0)|0;qt=I;Lt=Ss(Nt|0,jt|0,Ut|0,Lt|0)|0;qt=Ss(Lt|0,I|0,Ft|0,qt|0)|0;Ft=ee;o[Ft>>2]=qt;o[Ft+4>>2]=I;Bo(ee);Po(te,J,X,0);Po(ee,ne,X,0);$=$+1|0;if(($|0)==8)break;else{Ut=Z;Lt=f;qt=a;Ft=i;l=Y<<1&255;Z=J;a=te;i=ee;f=ne;J=Ut;ne=Lt;te=qt;ee=Ft}}re=re+1|0;if((re|0)==32)break;else{d=J;t=Z;n=ne;c=ee;u=te}}st=Rt;t=te;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));st=Tt;t=ee;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(yt,Tt);No(kt,yt);No(St,kt);Do(It,St,Tt);n=It+144|0;u=n;c=o[u>>2]|0;u=o[u+4>>2]|0;f=_t;a=o[f>>2]|0;f=o[f+4>>2]|0;i=Es(c|0,u|0,18,0)|0;l=I;u=Ss(a|0,f|0,c|0,u|0)|0;l=Ss(u|0,I|0,i|0,l|0)|0;i=_t;o[i>>2]=l;o[i+4>>2]=I;i=It+136|0;l=i;u=o[l>>2]|0;l=o[l+4>>2]|0;c=mt;f=o[c>>2]|0;c=o[c+4>>2]|0;a=Es(u|0,l|0,18,0)|0;d=I;l=Ss(f|0,c|0,u|0,l|0)|0;d=Ss(l|0,I|0,a|0,d|0)|0;a=mt;o[a>>2]=d;o[a+4>>2]=I;a=It+128|0;d=a;l=o[d>>2]|0;d=o[d+4>>2]|0;u=gt;c=o[u>>2]|0;u=o[u+4>>2]|0;f=Es(l|0,d|0,18,0)|0;ot=I;d=Ss(c|0,u|0,l|0,d|0)|0;ot=Ss(d|0,I|0,f|0,ot|0)|0;f=gt;o[f>>2]=ot;o[f+4>>2]=I;f=It+120|0;ot=f;d=o[ot>>2]|0;ot=o[ot+4>>2]|0;l=pt;u=o[l>>2]|0;l=o[l+4>>2]|0;c=Es(d|0,ot|0,18,0)|0;t=I;ot=Ss(u|0,l|0,d|0,ot|0)|0;t=Ss(ot|0,I|0,c|0,t|0)|0;c=pt;o[c>>2]=t;o[c+4>>2]=I;c=It+112|0;t=c;ot=o[t>>2]|0;t=o[t+4>>2]|0;d=ht;l=o[d>>2]|0;d=o[d+4>>2]|0;u=Es(ot|0,t|0,18,0)|0;st=I;t=Ss(l|0,d|0,ot|0,t|0)|0;st=Ss(t|0,I|0,u|0,st|0)|0;u=ht;o[u>>2]=st;o[u+4>>2]=I;u=It+104|0;st=u;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=dt;d=o[ot>>2]|0;ot=o[ot+4>>2]|0;l=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(d|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,l|0,Lt|0)|0;l=dt;o[l>>2]=Lt;o[l+4>>2]=I;l=It+96|0;Lt=l;st=o[Lt>>2]|0;Lt=o[Lt+4>>2]|0;t=lt;ot=o[t>>2]|0;t=o[t+4>>2]|0;d=Es(st|0,Lt|0,18,0)|0;qt=I;Lt=Ss(ot|0,t|0,st|0,Lt|0)|0;qt=Ss(Lt|0,I|0,d|0,qt|0)|0;d=lt;o[d>>2]=qt;o[d+4>>2]=I;d=It+88|0;qt=d;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ut;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=ct;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=It;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=bt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));Do(It,bt,yt);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=_t;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=_t;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=i;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=mt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=mt;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=a;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=gt;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=gt;o[st>>2]=t;o[st+4>>2]=I;st=f;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=pt;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=c;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ht;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=u;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=dt;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=lt;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=d;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ut;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=ct;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=It;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=Ct;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(St,Ct);Do(It,St,bt);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=_t;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=_t;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=i;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=mt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=mt;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=a;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=gt;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=gt;o[st>>2]=t;o[st+4>>2]=I;st=f;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=pt;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=c;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ht;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=u;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=dt;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=lt;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=d;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ut;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=ct;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=It;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=vt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(St,vt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);Do(It,St,vt);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=_t;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=_t;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=i;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=mt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=mt;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=a;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=gt;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=gt;o[st>>2]=t;o[st+4>>2]=I;st=f;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=pt;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=c;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ht;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=u;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=dt;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=lt;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=d;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ut;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=ct;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=It;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=At;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(St,At);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);Do(It,kt,At);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=_t;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=_t;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=i;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=mt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=mt;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=a;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=gt;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=gt;o[st>>2]=t;o[st+4>>2]=I;st=f;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=pt;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=c;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ht;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=u;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=dt;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=lt;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=d;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ut;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=ct;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=It;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=wt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(St,wt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);Do(It,kt,wt);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=_t;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=_t;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=i;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=mt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=mt;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=a;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=gt;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=gt;o[st>>2]=t;o[st+4>>2]=I;st=f;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=pt;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=c;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ht;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=u;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=dt;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=lt;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=d;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ut;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=ct;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=It;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=St;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);Do(It,St,At);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=_t;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=_t;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=i;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=mt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=mt;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=a;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=gt;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=gt;o[st>>2]=t;o[st+4>>2]=I;st=f;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=pt;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=c;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ht;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=u;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=dt;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=lt;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=d;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ut;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=ct;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=It;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=xt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(St,xt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);Do(It,kt,xt);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=_t;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=_t;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=i;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=mt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=mt;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=a;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=gt;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=gt;o[st>>2]=t;o[st+4>>2]=I;st=f;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=pt;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=c;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ht;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=u;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=dt;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=lt;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=d;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ut;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=ct;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=It;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=Et;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,Et);No(St,kt);t=2;do{No(kt,St);No(St,kt);t=t+2|0}while(t>>>0<100);Do(It,St,Et);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=_t;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=_t;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=i;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=mt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=mt;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=a;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=gt;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=gt;o[st>>2]=t;o[st+4>>2]=I;st=f;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=pt;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=c;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ht;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=u;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=dt;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=lt;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=d;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ut;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=ct;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=It;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=kt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);Do(It,kt,xt);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=_t;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=_t;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=i;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=mt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=mt;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=a;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=gt;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=gt;o[st>>2]=t;o[st+4>>2]=I;st=f;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=pt;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=c;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ht;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=u;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=dt;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=lt;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=d;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ut;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=ct;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=It;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=St;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));No(kt,St);No(St,kt);No(kt,St);No(St,kt);No(kt,St);Do(It,kt,Ct);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=_t;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=_t;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=i;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=mt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=mt;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=a;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=gt;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=gt;o[st>>2]=t;o[st+4>>2]=I;st=f;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=pt;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=c;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ht;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=u;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=dt;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=lt;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=d;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ut;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=ct;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=It;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=Ot;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));Do(It,Rt,Ot);st=n;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=_t;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=_t;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=i;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=mt;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=mt;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=a;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=gt;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=gt;o[st>>2]=t;o[st+4>>2]=I;st=f;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=pt;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=pt;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=c;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ht;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ht;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=u;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=dt;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=dt;o[st>>2]=t;o[st+4>>2]=I;st=l;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=lt;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=Es(t|0,st|0,18,0)|0;Lt=I;st=Ss(Ft|0,ot|0,t|0,st|0)|0;Lt=Ss(st|0,I|0,qt|0,Lt|0)|0;qt=lt;o[qt>>2]=Lt;o[qt+4>>2]=I;qt=d;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=ut;t=o[st>>2]|0;st=o[st+4>>2]|0;ot=Es(Lt|0,qt|0,18,0)|0;Ft=I;qt=Ss(t|0,st|0,Lt|0,qt|0)|0;Ft=Ss(qt|0,I|0,ot|0,Ft|0)|0;ot=ut;o[ot>>2]=Ft;o[ot+4>>2]=I;ot=ct;Ft=o[ot>>2]|0;ot=o[ot+4>>2]|0;qt=It;Lt=o[qt>>2]|0;qt=o[qt+4>>2]|0;st=Es(Ft|0,ot|0,18,0)|0;t=I;ot=Ss(Lt|0,qt|0,Ft|0,ot|0)|0;t=Ss(ot|0,I|0,st|0,t|0)|0;st=It;o[st>>2]=t;o[st+4>>2]=I;Bo(It);st=Tt;t=It;ot=st+80|0;do{o[st>>2]=o[t>>2];st=st+4|0;t=t+4|0}while((st|0)<(ot|0));xt=o[Tt>>2]|0;At=xt>>31&xt;Pt=(At>>26)+(o[Tt+8>>2]|0)|0;Ft=Pt>>31&Pt;Dt=(Ft>>25)+(o[Tt+16>>2]|0)|0;qt=Dt>>31&Dt;vt=(qt>>26)+(o[Tt+24>>2]|0)|0;Bt=vt>>31&vt;Nt=(Bt>>25)+(o[Tt+32>>2]|0)|0;Rt=Nt>>31&Nt;jt=(Rt>>26)+(o[Tt+40>>2]|0)|0;It=jt>>31&jt;Ut=(It>>25)+(o[Tt+48>>2]|0)|0;kt=Ut>>31&Ut;Lt=(kt>>26)+(o[Tt+56>>2]|0)|0;St=Lt>>31&Lt;Ot=(St>>25)+(o[Tt+64>>2]|0)|0;wt=Ot>>31&Ot;Ct=(wt>>26)+(o[Tt+72>>2]|0)|0;Et=Ct>>31&Ct;At=((Et>>25)*19|0)+(xt-(At&-67108864))|0;xt=At>>31&At;Ft=(xt>>26)+(Pt-(Ft&-33554432))|0;Pt=Ft>>31&Ft;qt=(Pt>>25)+(Dt-(qt&-67108864))|0;Dt=qt>>31&qt;Tt=(Dt>>26)+(vt-(Bt&-33554432))|0;Bt=Tt>>31&Tt;Rt=(Bt>>25)+(Nt-(Rt&-67108864))|0;Nt=Rt>>31&Rt;It=(Nt>>26)+(jt-(It&-33554432))|0;jt=It>>31&It;kt=(jt>>25)+(Ut-(kt&-67108864))|0;Ut=kt>>31&kt;St=(Ut>>26)+(Lt-(St&-33554432))|0;Lt=St>>31&St;wt=(Lt>>25)+(Ot-(wt&-67108864))|0;Ot=wt>>31&wt;Et=(Ot>>26)+(Ct-(Et&-33554432))|0;Ct=Et>>31&Et;xt=((Ct>>25)*19|0)+(At-(xt&-67108864))|0;At=xt>>31&xt;xt=xt-(At&-67108864)|0;Pt=(xt>>26)+((At>>26)+(Ft-(Pt&-33554432)))|0;Dt=(Pt>>25)+(qt-(Dt&-67108864))|0;Bt=(Dt>>26)+(Tt-(Bt&-33554432))|0;Nt=(Bt>>25)+(Rt-(Nt&-67108864))|0;jt=(Nt>>26)+(It-(jt&-33554432))|0;Ut=(jt>>25)+(kt-(Ut&-67108864))|0;Lt=(Ut>>26)+(St-(Lt&-33554432))|0;Ot=(Lt>>25)+(wt-(Ot&-67108864))|0;Ct=(Ot>>26)+(Et-(Ct&-33554432))|0;xt=((Ct>>25)*19|0)+(xt&67108863)|0;Pt=(xt>>26)+(Pt&33554431)|0;Dt=(Pt>>25)+(Dt&67108863)|0;Bt=(Dt>>26)+(Bt&33554431)|0;Nt=(Bt>>25)+(Nt&67108863)|0;jt=(Nt>>26)+(jt&33554431)|0;Ut=(jt>>25)+(Ut&67108863)|0;Lt=(Ut>>26)+(Lt&33554431)|0;Ot=(Lt>>25)+(Ot&67108863)|0;Ct=(Ot>>26)+(Ct&33554431)|0;xt=((Ct>>25)*19|0)+(xt&67108863)|0;Et=Pt<<16&(Pt|-33554432);Et=Et<<8&Et;Et=Et<<4&Et;Et=Et<<2&Et;wt=Dt<<16&(Dt|-67108864);wt=wt<<8&wt;wt=wt<<4&wt;wt=wt<<2&wt;St=Bt<<16&(Bt|-33554432);St=St<<8&St;St=St<<4&St;St=St<<2&St;kt=Nt<<16&(Nt|-67108864);kt=kt<<8&kt;kt=kt<<4&kt;kt=kt<<2&kt;It=jt<<16&(jt|-33554432);It=It<<8&It;It=It<<4&It;It=It<<2&It;Rt=Ut<<16&(Ut|-67108864);Rt=Rt<<8&Rt;Rt=Rt<<4&Rt;Rt=Rt<<2&Rt;Tt=Lt<<16&(Lt|-33554432);Tt=Tt<<8&Tt;Tt=Tt<<4&Tt;Tt=Tt<<2&Tt;qt=Ot<<16&(Ot|-67108864);qt=qt<<8&qt;qt=qt<<4&qt;qt=qt<<2&qt;Ft=Ct<<16&(Ct|-33554432);Ft=Ft<<8&Ft;Ft=Ft<<4&Ft;Ft=Ft<<2&Ft;Ft=(wt<<1&wt&(Et<<1&Et)&(St<<1&St)&(kt<<1&kt)&(It<<1&It))>>31&~(xt+-67108845>>31)&(Rt<<1&Rt)>>31&(Tt<<1&Tt)>>31&(qt<<1&qt)>>31&(Ft<<1&Ft)>>31;xt=xt-(Ft&67108845)|0;qt=Ft&67108863;Ft=Ft&33554431;Pt=(Pt&33554431)-Ft|0;Dt=(Dt&67108863)-qt|0;Bt=(Bt&33554431)-Ft|0;Nt=(Nt&67108863)-qt|0;jt=(jt&33554431)-Ft|0;Ut=(Ut&67108863)-qt|0;Lt=(Lt&33554431)-Ft|0;qt=(Ot&67108863)-qt|0;Ft=(Ct&33554431)-Ft|0;r[e>>0]=xt;r[e+1>>0]=xt>>>8;r[e+2>>0]=xt>>>16;r[e+3>>0]=xt>>>24|Pt<<2;r[e+4>>0]=Pt>>>6;r[e+5>>0]=Pt>>>14;r[e+6>>0]=Dt<<3|Pt>>>22;r[e+7>>0]=Dt>>>5;r[e+8>>0]=Dt>>>13;r[e+9>>0]=Bt<<5|Dt>>>21;r[e+10>>0]=Bt>>>3;r[e+11>>0]=Bt>>>11;r[e+12>>0]=Nt<<6|Bt>>>19;r[e+13>>0]=Nt>>>2;r[e+14>>0]=Nt>>>10;r[e+15>>0]=Nt>>>18;r[e+16>>0]=jt;r[e+17>>0]=jt>>>8;r[e+18>>0]=jt>>>16;r[e+19>>0]=jt>>>24|Ut<<1;r[e+20>>0]=Ut>>>7;r[e+21>>0]=Ut>>>15;r[e+22>>0]=Lt<<3|Ut>>>23;r[e+23>>0]=Lt>>>5;r[e+24>>0]=Lt>>>13;r[e+25>>0]=qt<<4|Lt>>>21;r[e+26>>0]=qt>>>4;r[e+27>>0]=qt>>>12;r[e+28>>0]=Ft<<6|qt>>>20;r[e+29>>0]=Ft>>>2;r[e+30>>0]=Ft>>>10;r[e+31>>0]=Ft>>>18;h=Mt;return 0}function Po(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0,a=0,f=0;n=0-n|0;a=e;i=o[a>>2]|0;s=t;s=(o[s>>2]^i)&n;i=s^i;a=e;o[a>>2]=i;o[a+4>>2]=((i|0)<0)<<31>>31;s=s^o[t>>2];a=t;o[a>>2]=s;o[a+4>>2]=((s|0)<0)<<31>>31;a=e+8|0;s=a;i=o[s>>2]|0;r=t+8|0;f=r;f=(o[f>>2]^i)&n;i=f^i;o[a>>2]=i;o[a+4>>2]=((i|0)<0)<<31>>31;f=f^o[r>>2];o[r>>2]=f;o[r+4>>2]=((f|0)<0)<<31>>31;r=e+16|0;f=r;a=o[f>>2]|0;i=t+16|0;s=i;s=(o[s>>2]^a)&n;a=s^a;o[r>>2]=a;o[r+4>>2]=((a|0)<0)<<31>>31;s=s^o[i>>2];o[i>>2]=s;o[i+4>>2]=((s|0)<0)<<31>>31;i=e+24|0;s=i;r=o[s>>2]|0;a=t+24|0;f=a;f=(o[f>>2]^r)&n;r=f^r;o[i>>2]=r;o[i+4>>2]=((r|0)<0)<<31>>31;f=f^o[a>>2];o[a>>2]=f;o[a+4>>2]=((f|0)<0)<<31>>31;a=e+32|0;f=a;i=o[f>>2]|0;r=t+32|0;s=r;s=(o[s>>2]^i)&n;i=s^i;o[a>>2]=i;o[a+4>>2]=((i|0)<0)<<31>>31;s=s^o[r>>2];o[r>>2]=s;o[r+4>>2]=((s|0)<0)<<31>>31;r=e+40|0;s=r;a=o[s>>2]|0;i=t+40|0;f=i;f=(o[f>>2]^a)&n;a=f^a;o[r>>2]=a;o[r+4>>2]=((a|0)<0)<<31>>31;f=f^o[i>>2];o[i>>2]=f;o[i+4>>2]=((f|0)<0)<<31>>31;i=e+48|0;f=i;r=o[f>>2]|0;a=t+48|0;s=a;s=(o[s>>2]^r)&n;r=s^r;o[i>>2]=r;o[i+4>>2]=((r|0)<0)<<31>>31;s=s^o[a>>2];o[a>>2]=s;o[a+4>>2]=((s|0)<0)<<31>>31;a=e+56|0;s=a;i=o[s>>2]|0;r=t+56|0;f=r;f=(o[f>>2]^i)&n;i=f^i;o[a>>2]=i;o[a+4>>2]=((i|0)<0)<<31>>31;f=f^o[r>>2];o[r>>2]=f;o[r+4>>2]=((f|0)<0)<<31>>31;r=e+64|0;f=r;a=o[f>>2]|0;i=t+64|0;s=i;s=(o[s>>2]^a)&n;a=s^a;o[r>>2]=a;o[r+4>>2]=((a|0)<0)<<31>>31;s=s^o[i>>2];o[i>>2]=s;o[i+4>>2]=((s|0)<0)<<31>>31;i=e+72|0;s=i;e=o[s>>2]|0;r=t+72|0;t=r;n=(o[t>>2]^e)&n;e=n^e;t=i;o[t>>2]=e;o[t+4>>2]=((e|0)<0)<<31>>31;n=n^o[r>>2];o[r>>2]=n;o[r+4>>2]=((n|0)<0)<<31>>31;return}function Do(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0,a=0,f=0,c=0,u=0,l=0,d=0,h=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0;a=Os(0,o[t>>2]|0,32)|0;h=I;w=Os(0,o[n>>2]|0,32)|0;h=Es(w|0,I|0,a|0,h|0)|0;a=e;o[a>>2]=h;o[a+4>>2]=I;a=Os(0,o[t>>2]|0,32)|0;h=I;w=n+8|0;y=Os(0,o[w>>2]|0,32)|0;h=Es(y|0,I|0,a|0,h|0)|0;a=I;y=t+8|0;_=Os(0,o[y>>2]|0,32)|0;g=I;A=Os(0,o[n>>2]|0,32)|0;g=Es(A|0,I|0,_|0,g|0)|0;a=Ss(g|0,I|0,h|0,a|0)|0;h=e+8|0;o[h>>2]=a;o[h+4>>2]=I;h=Os(0,o[y>>2]|0,31)|0;a=I;g=Os(0,o[w>>2]|0,32)|0;a=Es(g|0,I|0,h|0,a|0)|0;h=I;g=Os(0,o[t>>2]|0,32)|0;_=I;A=n+16|0;l=Os(0,o[A>>2]|0,32)|0;_=Es(l|0,I|0,g|0,_|0)|0;h=Ss(_|0,I|0,a|0,h|0)|0;a=I;_=t+16|0;g=Os(0,o[_>>2]|0,32)|0;l=I;v=Os(0,o[n>>2]|0,32)|0;l=Es(v|0,I|0,g|0,l|0)|0;l=Ss(h|0,a|0,l|0,I|0)|0;a=e+16|0;o[a>>2]=l;o[a+4>>2]=I;a=Os(0,o[y>>2]|0,32)|0;l=I;h=Os(0,o[A>>2]|0,32)|0;l=Es(h|0,I|0,a|0,l|0)|0;a=I;h=Os(0,o[_>>2]|0,32)|0;g=I;v=Os(0,o[w>>2]|0,32)|0;g=Es(v|0,I|0,h|0,g|0)|0;a=Ss(g|0,I|0,l|0,a|0)|0;l=I;g=Os(0,o[t>>2]|0,32)|0;h=I;v=n+24|0;s=Os(0,o[v>>2]|0,32)|0;h=Es(s|0,I|0,g|0,h|0)|0;h=Ss(a|0,l|0,h|0,I|0)|0;l=I;a=t+24|0;g=Os(0,o[a>>2]|0,32)|0;s=I;c=Os(0,o[n>>2]|0,32)|0;s=Es(c|0,I|0,g|0,s|0)|0;s=Ss(h|0,l|0,s|0,I|0)|0;l=e+24|0;o[l>>2]=s;o[l+4>>2]=I;l=Os(0,o[_>>2]|0,32)|0;s=I;h=Os(0,o[A>>2]|0,32)|0;s=Es(h|0,I|0,l|0,s|0)|0;l=I;h=Os(0,o[y>>2]|0,32)|0;g=I;c=Os(0,o[v>>2]|0,32)|0;g=Es(c|0,I|0,h|0,g|0)|0;h=I;c=Os(0,o[a>>2]|0,32)|0;m=I;p=Os(0,o[w>>2]|0,32)|0;m=Es(p|0,I|0,c|0,m|0)|0;h=Ss(m|0,I|0,g|0,h|0)|0;h=xs(h|0,I|0,1)|0;l=Ss(h|0,I|0,s|0,l|0)|0;s=I;h=Os(0,o[t>>2]|0,32)|0;g=I;m=n+32|0;c=Os(0,o[m>>2]|0,32)|0;g=Es(c|0,I|0,h|0,g|0)|0;g=Ss(l|0,s|0,g|0,I|0)|0;s=I;l=t+32|0;h=Os(0,o[l>>2]|0,32)|0;c=I;p=Os(0,o[n>>2]|0,32)|0;c=Es(p|0,I|0,h|0,c|0)|0;c=Ss(g|0,s|0,c|0,I|0)|0;s=e+32|0;o[s>>2]=c;o[s+4>>2]=I;s=Os(0,o[_>>2]|0,32)|0;c=I;g=Os(0,o[v>>2]|0,32)|0;c=Es(g|0,I|0,s|0,c|0)|0;s=I;g=Os(0,o[a>>2]|0,32)|0;h=I;p=Os(0,o[A>>2]|0,32)|0;h=Es(p|0,I|0,g|0,h|0)|0;s=Ss(h|0,I|0,c|0,s|0)|0;c=I;h=Os(0,o[y>>2]|0,32)|0;g=I;p=Os(0,o[m>>2]|0,32)|0;g=Es(p|0,I|0,h|0,g|0)|0;g=Ss(s|0,c|0,g|0,I|0)|0;c=I;s=Os(0,o[l>>2]|0,32)|0;h=I;p=Os(0,o[w>>2]|0,32)|0;h=Es(p|0,I|0,s|0,h|0)|0;h=Ss(g|0,c|0,h|0,I|0)|0;c=I;g=Os(0,o[t>>2]|0,32)|0;s=I;p=n+40|0;b=Os(0,o[p>>2]|0,32)|0;s=Es(b|0,I|0,g|0,s|0)|0;s=Ss(h|0,c|0,s|0,I|0)|0;c=I;h=t+40|0;g=Os(0,o[h>>2]|0,32)|0;b=I;u=Os(0,o[n>>2]|0,32)|0;b=Es(u|0,I|0,g|0,b|0)|0;b=Ss(s|0,c|0,b|0,I|0)|0;c=e+40|0;o[c>>2]=b;o[c+4>>2]=I;c=Os(0,o[a>>2]|0,32)|0;b=I;s=Os(0,o[v>>2]|0,32)|0;b=Es(s|0,I|0,c|0,b|0)|0;c=I;s=Os(0,o[y>>2]|0,32)|0;g=I;u=Os(0,o[p>>2]|0,32)|0;g=Es(u|0,I|0,s|0,g|0)|0;c=Ss(g|0,I|0,b|0,c|0)|0;b=I;g=Os(0,o[h>>2]|0,32)|0;s=I;u=Os(0,o[w>>2]|0,32)|0;s=Es(u|0,I|0,g|0,s|0)|0;s=Ss(c|0,b|0,s|0,I|0)|0;s=xs(s|0,I|0,1)|0;b=I;c=Os(0,o[_>>2]|0,32)|0;g=I;u=Os(0,o[m>>2]|0,32)|0;g=Es(u|0,I|0,c|0,g|0)|0;g=Ss(s|0,b|0,g|0,I|0)|0;b=I;s=Os(0,o[l>>2]|0,32)|0;c=I;u=Os(0,o[A>>2]|0,32)|0;c=Es(u|0,I|0,s|0,c|0)|0;c=Ss(g|0,b|0,c|0,I|0)|0;b=I;g=Os(0,o[t>>2]|0,32)|0;s=I;u=n+48|0;E=Os(0,o[u>>2]|0,32)|0;s=Es(E|0,I|0,g|0,s|0)|0;s=Ss(c|0,b|0,s|0,I|0)|0;b=I;c=t+48|0;g=Os(0,o[c>>2]|0,32)|0;E=I;d=Os(0,o[n>>2]|0,32)|0;E=Es(d|0,I|0,g|0,E|0)|0;E=Ss(s|0,b|0,E|0,I|0)|0;b=e+48|0;o[b>>2]=E;o[b+4>>2]=I;b=Os(0,o[a>>2]|0,32)|0;E=I;s=Os(0,o[m>>2]|0,32)|0;E=Es(s|0,I|0,b|0,E|0)|0;b=I;s=Os(0,o[l>>2]|0,32)|0;g=I;d=Os(0,o[v>>2]|0,32)|0;g=Es(d|0,I|0,s|0,g|0)|0;b=Ss(g|0,I|0,E|0,b|0)|0;E=I;g=Os(0,o[_>>2]|0,32)|0;s=I;d=Os(0,o[p>>2]|0,32)|0;s=Es(d|0,I|0,g|0,s|0)|0;s=Ss(b|0,E|0,s|0,I|0)|0;E=I;b=Os(0,o[h>>2]|0,32)|0;g=I;d=Os(0,o[A>>2]|0,32)|0;g=Es(d|0,I|0,b|0,g|0)|0;g=Ss(s|0,E|0,g|0,I|0)|0;E=I;s=Os(0,o[y>>2]|0,32)|0;b=I;d=Os(0,o[u>>2]|0,32)|0;b=Es(d|0,I|0,s|0,b|0)|0;b=Ss(g|0,E|0,b|0,I|0)|0;E=I;g=Os(0,o[c>>2]|0,32)|0;s=I;d=Os(0,o[w>>2]|0,32)|0;s=Es(d|0,I|0,g|0,s|0)|0;s=Ss(b|0,E|0,s|0,I|0)|0;E=I;b=Os(0,o[t>>2]|0,32)|0;g=I;d=n+56|0;S=Os(0,o[d>>2]|0,32)|0;g=Es(S|0,I|0,b|0,g|0)|0;g=Ss(s|0,E|0,g|0,I|0)|0;E=I;s=t+56|0;b=Os(0,o[s>>2]|0,32)|0;S=I;f=Os(0,o[n>>2]|0,32)|0;S=Es(f|0,I|0,b|0,S|0)|0;S=Ss(g|0,E|0,S|0,I|0)|0;E=e+56|0;o[E>>2]=S;o[E+4>>2]=I;E=Os(0,o[l>>2]|0,32)|0;S=I;g=Os(0,o[m>>2]|0,32)|0;S=Es(g|0,I|0,E|0,S|0)|0;E=I;g=Os(0,o[a>>2]|0,32)|0;b=I;f=Os(0,o[p>>2]|0,32)|0;b=Es(f|0,I|0,g|0,b|0)|0;g=I;f=Os(0,o[h>>2]|0,32)|0;i=I;r=Os(0,o[v>>2]|0,32)|0;i=Es(r|0,I|0,f|0,i|0)|0;g=Ss(i|0,I|0,b|0,g|0)|0;b=I;i=Os(0,o[y>>2]|0,32)|0;f=I;r=Os(0,o[d>>2]|0,32)|0;f=Es(r|0,I|0,i|0,f|0)|0;f=Ss(g|0,b|0,f|0,I|0)|0;b=I;g=Os(0,o[s>>2]|0,32)|0;i=I;r=Os(0,o[w>>2]|0,32)|0;i=Es(r|0,I|0,g|0,i|0)|0;i=Ss(f|0,b|0,i|0,I|0)|0;i=xs(i|0,I|0,1)|0;E=Ss(i|0,I|0,S|0,E|0)|0;S=I;i=Os(0,o[_>>2]|0,32)|0;b=I;f=Os(0,o[u>>2]|0,32)|0;b=Es(f|0,I|0,i|0,b|0)|0;b=Ss(E|0,S|0,b|0,I|0)|0;S=I;E=Os(0,o[c>>2]|0,32)|0;i=I;f=Os(0,o[A>>2]|0,32)|0;i=Es(f|0,I|0,E|0,i|0)|0;i=Ss(b|0,S|0,i|0,I|0)|0;S=I;b=Os(0,o[t>>2]|0,32)|0;E=I;f=n+64|0;g=Os(0,o[f>>2]|0,32)|0;E=Es(g|0,I|0,b|0,E|0)|0;E=Ss(i|0,S|0,E|0,I|0)|0;S=I;i=t+64|0;b=Os(0,o[i>>2]|0,32)|0;g=I;r=Os(0,o[n>>2]|0,32)|0;g=Es(r|0,I|0,b|0,g|0)|0;g=Ss(E|0,S|0,g|0,I|0)|0;S=e+64|0;o[S>>2]=g;o[S+4>>2]=I;S=Os(0,o[l>>2]|0,32)|0;g=I;E=Os(0,o[p>>2]|0,32)|0;g=Es(E|0,I|0,S|0,g|0)|0;S=I;E=Os(0,o[h>>2]|0,32)|0;b=I;r=Os(0,o[m>>2]|0,32)|0;b=Es(r|0,I|0,E|0,b|0)|0;S=Ss(b|0,I|0,g|0,S|0)|0;g=I;b=Os(0,o[a>>2]|0,32)|0;E=I;r=Os(0,o[u>>2]|0,32)|0;E=Es(r|0,I|0,b|0,E|0)|0;E=Ss(S|0,g|0,E|0,I|0)|0;g=I;S=Os(0,o[c>>2]|0,32)|0;b=I;r=Os(0,o[v>>2]|0,32)|0;b=Es(r|0,I|0,S|0,b|0)|0;b=Ss(E|0,g|0,b|0,I|0)|0;g=I;E=Os(0,o[_>>2]|0,32)|0;S=I;r=Os(0,o[d>>2]|0,32)|0;S=Es(r|0,I|0,E|0,S|0)|0;S=Ss(b|0,g|0,S|0,I|0)|0;g=I;b=Os(0,o[s>>2]|0,32)|0;E=I;r=Os(0,o[A>>2]|0,32)|0;E=Es(r|0,I|0,b|0,E|0)|0;E=Ss(S|0,g|0,E|0,I|0)|0;g=I;S=Os(0,o[y>>2]|0,32)|0;b=I;r=Os(0,o[f>>2]|0,32)|0;b=Es(r|0,I|0,S|0,b|0)|0;b=Ss(E|0,g|0,b|0,I|0)|0;g=I;E=Os(0,o[i>>2]|0,32)|0;S=I;r=Os(0,o[w>>2]|0,32)|0;S=Es(r|0,I|0,E|0,S|0)|0;S=Ss(b|0,g|0,S|0,I|0)|0;g=I;b=Os(0,o[t>>2]|0,32)|0;E=I;r=n+72|0;k=Os(0,o[r>>2]|0,32)|0;E=Es(k|0,I|0,b|0,E|0)|0;E=Ss(S|0,g|0,E|0,I|0)|0;g=I;t=t+72|0;S=Os(0,o[t>>2]|0,32)|0;b=I;n=Os(0,o[n>>2]|0,32)|0;b=Es(n|0,I|0,S|0,b|0)|0;b=Ss(E|0,g|0,b|0,I|0)|0;n=e+72|0;o[n>>2]=b;o[n+4>>2]=I;n=Os(0,o[h>>2]|0,32)|0;b=I;g=Os(0,o[p>>2]|0,32)|0;b=Es(g|0,I|0,n|0,b|0)|0;n=I;g=Os(0,o[a>>2]|0,32)|0;E=I;S=Os(0,o[d>>2]|0,32)|0;E=Es(S|0,I|0,g|0,E|0)|0;n=Ss(E|0,I|0,b|0,n|0)|0;b=I;E=Os(0,o[s>>2]|0,32)|0;g=I;S=Os(0,o[v>>2]|0,32)|0;g=Es(S|0,I|0,E|0,g|0)|0;g=Ss(n|0,b|0,g|0,I|0)|0;b=I;n=Os(0,o[y>>2]|0,32)|0;y=I;E=Os(0,o[r>>2]|0,32)|0;y=Es(E|0,I|0,n|0,y|0)|0;y=Ss(g|0,b|0,y|0,I|0)|0;b=I;g=Os(0,o[t>>2]|0,32)|0;n=I;w=Os(0,o[w>>2]|0,32)|0;n=Es(w|0,I|0,g|0,n|0)|0;n=Ss(y|0,b|0,n|0,I|0)|0;n=xs(n|0,I|0,1)|0;b=I;y=Os(0,o[l>>2]|0,32)|0;g=I;w=Os(0,o[u>>2]|0,32)|0;g=Es(w|0,I|0,y|0,g|0)|0;g=Ss(n|0,b|0,g|0,I|0)|0;b=I;n=Os(0,o[c>>2]|0,32)|0;y=I;w=Os(0,o[m>>2]|0,32)|0;y=Es(w|0,I|0,n|0,y|0)|0;y=Ss(g|0,b|0,y|0,I|0)|0;b=I;g=Os(0,o[_>>2]|0,32)|0;n=I;w=Os(0,o[f>>2]|0,32)|0;n=Es(w|0,I|0,g|0,n|0)|0;n=Ss(y|0,b|0,n|0,I|0)|0;b=I;y=Os(0,o[i>>2]|0,32)|0;g=I;w=Os(0,o[A>>2]|0,32)|0;g=Es(w|0,I|0,y|0,g|0)|0;g=Ss(n|0,b|0,g|0,I|0)|0;b=e+80|0;o[b>>2]=g;o[b+4>>2]=I;b=Os(0,o[h>>2]|0,32)|0;g=I;n=Os(0,o[u>>2]|0,32)|0;g=Es(n|0,I|0,b|0,g|0)|0;b=I;n=Os(0,o[c>>2]|0,32)|0;y=I;w=Os(0,o[p>>2]|0,32)|0;y=Es(w|0,I|0,n|0,y|0)|0;b=Ss(y|0,I|0,g|0,b|0)|0;g=I;y=Os(0,o[l>>2]|0,32)|0;n=I;w=Os(0,o[d>>2]|0,32)|0;n=Es(w|0,I|0,y|0,n|0)|0;n=Ss(b|0,g|0,n|0,I|0)|0;g=I;b=Os(0,o[s>>2]|0,32)|0;y=I;w=Os(0,o[m>>2]|0,32)|0;y=Es(w|0,I|0,b|0,y|0)|0;y=Ss(n|0,g|0,y|0,I|0)|0;g=I;n=Os(0,o[a>>2]|0,32)|0;b=I;w=Os(0,o[f>>2]|0,32)|0;b=Es(w|0,I|0,n|0,b|0)|0;b=Ss(y|0,g|0,b|0,I|0)|0;g=I;y=Os(0,o[i>>2]|0,32)|0;n=I;w=Os(0,o[v>>2]|0,32)|0;n=Es(w|0,I|0,y|0,n|0)|0;n=Ss(b|0,g|0,n|0,I|0)|0;g=I;_=Os(0,o[_>>2]|0,32)|0;b=I;y=Os(0,o[r>>2]|0,32)|0;b=Es(y|0,I|0,_|0,b|0)|0;b=Ss(n|0,g|0,b|0,I|0)|0;g=I;n=Os(0,o[t>>2]|0,32)|0;_=I;A=Os(0,o[A>>2]|0,32)|0;_=Es(A|0,I|0,n|0,_|0)|0;_=Ss(b|0,g|0,_|0,I|0)|0;g=e+88|0;o[g>>2]=_;o[g+4>>2]=I;g=Os(0,o[c>>2]|0,32)|0;_=I;b=Os(0,o[u>>2]|0,32)|0;_=Es(b|0,I|0,g|0,_|0)|0;g=I;b=Os(0,o[h>>2]|0,32)|0;n=I;A=Os(0,o[d>>2]|0,32)|0;n=Es(A|0,I|0,b|0,n|0)|0;b=I;A=Os(0,o[s>>2]|0,32)|0;y=I;w=Os(0,o[p>>2]|0,32)|0;y=Es(w|0,I|0,A|0,y|0)|0;b=Ss(y|0,I|0,n|0,b|0)|0;n=I;a=Os(0,o[a>>2]|0,32)|0;y=I;A=Os(0,o[r>>2]|0,32)|0;y=Es(A|0,I|0,a|0,y|0)|0;y=Ss(b|0,n|0,y|0,I|0)|0;n=I;b=Os(0,o[t>>2]|0,32)|0;a=I;v=Os(0,o[v>>2]|0,32)|0;a=Es(v|0,I|0,b|0,a|0)|0;a=Ss(y|0,n|0,a|0,I|0)|0;a=xs(a|0,I|0,1)|0;g=Ss(a|0,I|0,_|0,g|0)|0;_=I;a=Os(0,o[l>>2]|0,32)|0;n=I;y=Os(0,o[f>>2]|0,32)|0;n=Es(y|0,I|0,a|0,n|0)|0;n=Ss(g|0,_|0,n|0,I|0)|0;_=I;g=Os(0,o[i>>2]|0,32)|0;a=I;y=Os(0,o[m>>2]|0,32)|0;a=Es(y|0,I|0,g|0,a|0)|0;a=Ss(n|0,_|0,a|0,I|0)|0;_=e+96|0;o[_>>2]=a;o[_+4>>2]=I;_=Os(0,o[c>>2]|0,32)|0;a=I;n=Os(0,o[d>>2]|0,32)|0;a=Es(n|0,I|0,_|0,a|0)|0;_=I;n=Os(0,o[s>>2]|0,32)|0;g=I;y=Os(0,o[u>>2]|0,32)|0;g=Es(y|0,I|0,n|0,g|0)|0;_=Ss(g|0,I|0,a|0,_|0)|0;a=I;g=Os(0,o[h>>2]|0,32)|0;n=I;y=Os(0,o[f>>2]|0,32)|0;n=Es(y|0,I|0,g|0,n|0)|0;n=Ss(_|0,a|0,n|0,I|0)|0;a=I;_=Os(0,o[i>>2]|0,32)|0;g=I;y=Os(0,o[p>>2]|0,32)|0;g=Es(y|0,I|0,_|0,g|0)|0;g=Ss(n|0,a|0,g|0,I|0)|0;a=I;l=Os(0,o[l>>2]|0,32)|0;n=I;_=Os(0,o[r>>2]|0,32)|0;n=Es(_|0,I|0,l|0,n|0)|0;n=Ss(g|0,a|0,n|0,I|0)|0;a=I;g=Os(0,o[t>>2]|0,32)|0;l=I;m=Os(0,o[m>>2]|0,32)|0;l=Es(m|0,I|0,g|0,l|0)|0;l=Ss(n|0,a|0,l|0,I|0)|0;a=e+104|0;o[a>>2]=l;o[a+4>>2]=I;a=Os(0,o[s>>2]|0,32)|0;l=I;n=Os(0,o[d>>2]|0,32)|0;l=Es(n|0,I|0,a|0,l|0)|0;a=I;n=Os(0,o[h>>2]|0,32)|0;h=I;g=Os(0,o[r>>2]|0,32)|0;h=Es(g|0,I|0,n|0,h|0)|0;a=Ss(h|0,I|0,l|0,a|0)|0;l=I;h=Os(0,o[t>>2]|0,32)|0;n=I;p=Os(0,o[p>>2]|0,32)|0;n=Es(p|0,I|0,h|0,n|0)|0;n=Ss(a|0,l|0,n|0,I|0)|0;n=xs(n|0,I|0,1)|0;l=I;a=Os(0,o[c>>2]|0,32)|0;h=I;p=Os(0,o[f>>2]|0,32)|0;h=Es(p|0,I|0,a|0,h|0)|0;h=Ss(n|0,l|0,h|0,I|0)|0;l=I;n=Os(0,o[i>>2]|0,32)|0;a=I;p=Os(0,o[u>>2]|0,32)|0;a=Es(p|0,I|0,n|0,a|0)|0;a=Ss(h|0,l|0,a|0,I|0)|0;l=e+112|0;o[l>>2]=a;o[l+4>>2]=I;l=Os(0,o[s>>2]|0,32)|0;a=I;h=Os(0,o[f>>2]|0,32)|0;a=Es(h|0,I|0,l|0,a|0)|0;l=I;h=Os(0,o[i>>2]|0,32)|0;n=I;p=Os(0,o[d>>2]|0,32)|0;n=Es(p|0,I|0,h|0,n|0)|0;l=Ss(n|0,I|0,a|0,l|0)|0;a=I;n=Os(0,o[c>>2]|0,32)|0;c=I;h=Os(0,o[r>>2]|0,32)|0;c=Es(h|0,I|0,n|0,c|0)|0;c=Ss(l|0,a|0,c|0,I|0)|0;a=I;l=Os(0,o[t>>2]|0,32)|0;n=I;u=Os(0,o[u>>2]|0,32)|0;n=Es(u|0,I|0,l|0,n|0)|0;n=Ss(c|0,a|0,n|0,I|0)|0;a=e+120|0;o[a>>2]=n;o[a+4>>2]=I;a=Os(0,o[i>>2]|0,32)|0;n=I;c=Os(0,o[f>>2]|0,32)|0;n=Es(c|0,I|0,a|0,n|0)|0;a=I;s=Os(0,o[s>>2]|0,32)|0;c=I;l=Os(0,o[r>>2]|0,32)|0;c=Es(l|0,I|0,s|0,c|0)|0;s=I;l=Os(0,o[t>>2]|0,32)|0;u=I;d=Os(0,o[d>>2]|0,32)|0;u=Es(d|0,I|0,l|0,u|0)|0;s=Ss(u|0,I|0,c|0,s|0)|0;s=xs(s|0,I|0,1)|0;a=Ss(s|0,I|0,n|0,a|0)|0;n=e+128|0;o[n>>2]=a;o[n+4>>2]=I;i=Os(0,o[i>>2]|0,32)|0;n=I;a=Os(0,o[r>>2]|0,32)|0;n=Es(a|0,I|0,i|0,n|0)|0;i=I;a=Os(0,o[t>>2]|0,32)|0;s=I;f=Os(0,o[f>>2]|0,32)|0;s=Es(f|0,I|0,a|0,s|0)|0;i=Ss(s|0,I|0,n|0,i|0)|0;n=e+136|0;o[n>>2]=i;o[n+4>>2]=I;n=Os(0,o[t>>2]|0,31)|0;t=I;r=Os(0,o[r>>2]|0,32)|0;t=Es(r|0,I|0,n|0,t|0)|0;n=e+144|0;o[n>>2]=t;o[n+4>>2]=I;return}function Bo(e){e=e|0;var t=0,n=0,r=0,i=0,s=0,a=0,f=0,c=0,u=0;t=e+80|0;s=t;o[s>>2]=0;o[s+4>>2]=0;s=e;c=o[s>>2]|0;s=o[s+4>>2]|0;n=Ss(c|0,s|0,s>>31>>>6|0,0)|0;a=I;i=Os(n|0,a|0,26)|0;u=I;a=ks(c|0,s|0,n&-67108864|0,a|0)|0;n=e;o[n>>2]=a;o[n+4>>2]=I;n=e+8|0;a=n;a=Ss(i|0,u|0,o[a>>2]|0,o[a+4>>2]|0)|0;u=I;i=Ss(a|0,u|0,u>>31>>>7|0,0)|0;s=I;c=Os(i|0,s|0,25)|0;r=I;s=ks(a|0,u|0,i&-33554432|0,s|0)|0;i=n;o[i>>2]=s;o[i+4>>2]=I;i=e+16|0;s=i;s=Ss(c|0,r|0,o[s>>2]|0,o[s+4>>2]|0)|0;r=I;c=Ss(s|0,r|0,r>>31>>>6|0,0)|0;u=I;a=Os(c|0,u|0,26)|0;f=I;u=ks(s|0,r|0,c&-67108864|0,u|0)|0;o[i>>2]=u;o[i+4>>2]=I;i=e+24|0;u=i;u=Ss(a|0,f|0,o[u>>2]|0,o[u+4>>2]|0)|0;f=I;a=Ss(u|0,f|0,f>>31>>>7|0,0)|0;c=I;r=Os(a|0,c|0,25)|0;s=I;c=ks(u|0,f|0,a&-33554432|0,c|0)|0;o[i>>2]=c;o[i+4>>2]=I;i=e+32|0;c=i;c=Ss(r|0,s|0,o[c>>2]|0,o[c+4>>2]|0)|0;s=I;r=Ss(c|0,s|0,s>>31>>>6|0,0)|0;a=I;f=Os(r|0,a|0,26)|0;u=I;a=ks(c|0,s|0,r&-67108864|0,a|0)|0;o[i>>2]=a;o[i+4>>2]=I;i=e+40|0;a=i;a=Ss(f|0,u|0,o[a>>2]|0,o[a+4>>2]|0)|0;u=I;f=Ss(a|0,u|0,u>>31>>>7|0,0)|0;r=I;s=Os(f|0,r|0,25)|0;c=I;r=ks(a|0,u|0,f&-33554432|0,r|0)|0;o[i>>2]=r;o[i+4>>2]=I;i=e+48|0;r=i;r=Ss(s|0,c|0,o[r>>2]|0,o[r+4>>2]|0)|0;c=I;s=Ss(r|0,c|0,c>>31>>>6|0,0)|0;f=I;u=Os(s|0,f|0,26)|0;a=I;f=ks(r|0,c|0,s&-67108864|0,f|0)|0;o[i>>2]=f;o[i+4>>2]=I;i=e+56|0;f=i;f=Ss(u|0,a|0,o[f>>2]|0,o[f+4>>2]|0)|0;a=I;u=Ss(f|0,a|0,a>>31>>>7|0,0)|0;s=I;c=Os(u|0,s|0,25)|0;r=I;s=ks(f|0,a|0,u&-33554432|0,s|0)|0;o[i>>2]=s;o[i+4>>2]=I;i=e+64|0;s=i;s=Ss(c|0,r|0,o[s>>2]|0,o[s+4>>2]|0)|0;r=I;c=Ss(s|0,r|0,r>>31>>>6|0,0)|0;u=I;a=Os(c|0,u|0,26)|0;f=I;u=ks(s|0,r|0,c&-67108864|0,u|0)|0;o[i>>2]=u;o[i+4>>2]=I;i=e+72|0;u=i;u=Ss(a|0,f|0,o[u>>2]|0,o[u+4>>2]|0)|0;f=I;a=Ss(u|0,f|0,f>>31>>>7|0,0)|0;c=I;r=Os(a|0,c|0,25)|0;s=I;c=ks(u|0,f|0,a&-33554432|0,c|0)|0;o[i>>2]=c;o[i+4>>2]=I;i=t;i=Ss(r|0,s|0,o[i>>2]|0,o[i+4>>2]|0)|0;s=I;r=e;c=o[r>>2]|0;r=o[r+4>>2]|0;a=Es(i|0,s|0,18,0)|0;f=I;s=Ss(c|0,r|0,i|0,s|0)|0;f=Ss(s|0,I|0,a|0,f|0)|0;a=I;o[t>>2]=0;o[t+4>>2]=0;t=Ss(f|0,a|0,a>>31>>>6|0,0)|0;s=I;i=Os(t|0,s|0,26)|0;r=I;s=ks(f|0,a|0,t&-67108864|0,s|0)|0;t=e;o[t>>2]=s;o[t+4>>2]=I;t=n;t=Ss(i|0,r|0,o[t>>2]|0,o[t+4>>2]|0)|0;e=n;o[e>>2]=t;o[e+4>>2]=I;return}function No(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,s=0,a=0,f=0,c=0,u=0,l=0,d=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,R=0,T=0,O=0,C=0,x=0,M=0,P=0,D=0,B=0,N=0,j=0,U=0,L=0,q=0,F=0,K=0,G=0,z=0,H=0,V=0,Q=0,W=0,Y=0,X=0,J=0,Z=0,$=0,ee=0,te=0,ne=0,re=0,ie=0,oe=0,se=0,ae=0,fe=0;r=h;h=h+160|0;n=r;F=o[t>>2]|0;_=Os(0,F|0,32)|0;f=I;a=Es(_|0,f|0,_|0,f|0)|0;s=I;B=n;o[B>>2]=a;o[B+4>>2]=s;F=Os(0,F|0,31)|0;B=I;H=o[t+8>>2]|0;E=Os(0,H|0,32)|0;d=I;g=Es(E|0,d|0,F|0,B|0)|0;p=I;u=n+8|0;A=u;o[A>>2]=g;o[A+4>>2]=p;A=Es(E|0,d|0,E|0,d|0)|0;w=I;m=Os(0,o[t+16>>2]|0,32)|0;l=I;y=Es(m|0,l|0,_|0,f|0)|0;w=Ss(y|0,I|0,A|0,w|0)|0;w=xs(w|0,I|0,1)|0;A=I;y=n+16|0;R=y;o[R>>2]=w;o[R+4>>2]=A;R=Es(m|0,l|0,E|0,d|0)|0;T=I;fe=Os(0,o[t+24>>2]|0,32)|0;ae=I;v=Es(fe|0,ae|0,_|0,f|0)|0;T=Ss(v|0,I|0,R|0,T|0)|0;T=xs(T|0,I|0,1)|0;R=I;v=n+24|0;D=v;o[D>>2]=T;o[D+4>>2]=R;D=Es(m|0,l|0,m|0,l|0)|0;x=I;O=Os(0,H|0,30)|0;O=Es(fe|0,ae|0,O|0,I|0)|0;x=Ss(O|0,I|0,D|0,x|0)|0;D=I;O=Os(0,o[t+32>>2]|0,32)|0;b=I;B=Es(O|0,b|0,F|0,B|0)|0;B=Ss(x|0,D|0,B|0,I|0)|0;D=I;x=n+32|0;F=x;o[F>>2]=B;o[F+4>>2]=D;F=Es(fe|0,ae|0,m|0,l|0)|0;U=I;M=Es(O|0,b|0,E|0,d|0)|0;U=Ss(M|0,I|0,F|0,U|0)|0;F=I;M=o[t+40>>2]|0;j=Os(0,M|0,32)|0;P=I;K=Es(j|0,P|0,_|0,f|0)|0;K=Ss(U|0,F|0,K|0,I|0)|0;K=xs(K|0,I|0,1)|0;F=I;U=n+40|0;$=U;o[$>>2]=K;o[$+4>>2]=F;$=Es(fe|0,ae|0,fe|0,ae|0)|0;te=I;G=Es(O|0,b|0,m|0,l|0)|0;te=Ss(G|0,I|0,$|0,te|0)|0;$=I;G=Os(0,o[t+48>>2]|0,32)|0;z=I;W=Es(G|0,z|0,_|0,f|0)|0;Y=I;H=Os(0,H|0,31)|0;H=Es(j|0,P|0,H|0,I|0)|0;H=Ss(te|0,$|0,H|0,I|0)|0;Y=Ss(H|0,I|0,W|0,Y|0)|0;Y=xs(Y|0,I|0,1)|0;W=I;H=n+48|0;$=H;o[$>>2]=Y;o[$+4>>2]=W;$=Es(O|0,b|0,fe|0,ae|0)|0;te=I;Q=Es(j|0,P|0,m|0,l|0)|0;te=Ss(Q|0,I|0,$|0,te|0)|0;$=I;Q=Es(G|0,z|0,E|0,d|0)|0;Q=Ss(te|0,$|0,Q|0,I|0)|0;$=I;te=o[t+56>>2]|0;L=Os(0,te|0,32)|0;q=I;ee=Es(L|0,q|0,_|0,f|0)|0;ee=Ss(Q|0,$|0,ee|0,I|0)|0;ee=xs(ee|0,I|0,1)|0;$=I;Q=n+56|0;V=Q;o[V>>2]=ee;o[V+4>>2]=$;V=Es(O|0,b|0,O|0,b|0)|0;Z=I;i=Es(G|0,z|0,m|0,l|0)|0;oe=I;ne=o[t+64>>2]|0;J=Os(0,ne|0,32)|0;X=I;ie=Es(J|0,X|0,_|0,f|0)|0;oe=Ss(ie|0,I|0,i|0,oe|0)|0;i=I;ie=Es(L|0,q|0,E|0,d|0)|0;re=I;c=Es(j|0,P|0,fe|0,ae|0)|0;c=Ss(ie|0,re|0,c|0,I|0)|0;c=xs(c|0,I|0,1)|0;c=Ss(oe|0,i|0,c|0,I|0)|0;c=xs(c|0,I|0,1)|0;Z=Ss(c|0,I|0,V|0,Z|0)|0;V=I;c=Es(j|0,P|0,O|0,b|0)|0;i=I;oe=Es(G|0,z|0,fe|0,ae|0)|0;i=Ss(oe|0,I|0,c|0,i|0)|0;c=I;oe=Es(L|0,q|0,m|0,l|0)|0;oe=Ss(i|0,c|0,oe|0,I|0)|0;c=I;i=Es(J|0,X|0,E|0,d|0)|0;i=Ss(oe|0,c|0,i|0,I|0)|0;c=I;oe=o[t+72>>2]|0;re=Os(0,oe|0,32)|0;ie=I;f=Es(re|0,ie|0,_|0,f|0)|0;f=Ss(i|0,c|0,f|0,I|0)|0;f=xs(f|0,I|0,1)|0;t=n+72|0;o[t>>2]=f;o[t+4>>2]=I;t=Es(j|0,P|0,j|0,P|0)|0;f=I;c=Es(G|0,z|0,O|0,b|0)|0;f=Ss(c|0,I|0,t|0,f|0)|0;t=I;c=Es(J|0,X|0,m|0,l|0)|0;c=Ss(f|0,t|0,c|0,I|0)|0;t=I;f=Es(L|0,q|0,fe|0,ae|0)|0;i=I;d=Es(re|0,ie|0,E|0,d|0)|0;i=Ss(d|0,I|0,f|0,i|0)|0;i=xs(i|0,I|0,1)|0;i=Ss(c|0,t|0,i|0,I|0)|0;t=I;c=xs(i|0,t|0,1)|0;f=I;d=n+80|0;o[d>>2]=c;o[d+4>>2]=f;d=Es(G|0,z|0,j|0,P|0)|0;E=I;_=Es(L|0,q|0,O|0,b|0)|0;E=Ss(_|0,I|0,d|0,E|0)|0;d=I;_=Es(J|0,X|0,fe|0,ae|0)|0;_=Ss(E|0,d|0,_|0,I|0)|0;d=I;l=Es(re|0,ie|0,m|0,l|0)|0;l=Ss(_|0,d|0,l|0,I|0)|0;d=I;_=xs(l|0,d|0,1)|0;m=I;E=n+88|0;o[E>>2]=_;o[E+4>>2]=m;E=Es(G|0,z|0,G|0,z|0)|0;S=I;C=Es(J|0,X|0,O|0,b|0)|0;k=I;se=Es(L|0,q|0,j|0,P|0)|0;N=I;ae=Es(re|0,ie|0,fe|0,ae|0)|0;N=Ss(ae|0,I|0,se|0,N|0)|0;N=xs(N|0,I|0,1)|0;k=Ss(N|0,I|0,C|0,k|0)|0;k=xs(k|0,I|0,1)|0;S=Ss(k|0,I|0,E|0,S|0)|0;E=I;k=n+96|0;o[k>>2]=S;o[k+4>>2]=E;k=Es(L|0,q|0,G|0,z|0)|0;C=I;P=Es(J|0,X|0,j|0,P|0)|0;C=Ss(P|0,I|0,k|0,C|0)|0;k=I;b=Es(re|0,ie|0,O|0,b|0)|0;b=Ss(C|0,k|0,b|0,I|0)|0;k=I;C=xs(b|0,k|0,1)|0;O=I;P=n+104|0;o[P>>2]=C;o[P+4>>2]=O;P=Es(L|0,q|0,L|0,q|0)|0;j=I;N=Es(J|0,X|0,G|0,z|0)|0;j=Ss(N|0,I|0,P|0,j|0)|0;P=I;M=Os(0,M|0,31)|0;M=Es(re|0,ie|0,M|0,I|0)|0;M=Ss(j|0,P|0,M|0,I|0)|0;P=I;j=xs(M|0,P|0,1)|0;N=I;se=n+112|0;o[se>>2]=j;o[se+4>>2]=N;q=Es(J|0,X|0,L|0,q|0)|0;L=I;z=Es(re|0,ie|0,G|0,z|0)|0;L=Ss(z|0,I|0,q|0,L|0)|0;q=I;z=xs(L|0,q|0,1)|0;G=I;se=n+120|0;o[se>>2]=z;o[se+4>>2]=G;X=Es(J|0,X|0,J|0,X|0)|0;J=I;te=Os(0,te|0,30)|0;te=Es(re|0,ie|0,te|0,I|0)|0;J=Ss(te|0,I|0,X|0,J|0)|0;X=I;te=n+128|0;o[te>>2]=J;o[te+4>>2]=X;ne=Os(0,ne|0,31)|0;ne=Es(re|0,ie|0,ne|0,I|0)|0;te=I;se=n+136|0;o[se>>2]=ne;o[se+4>>2]=te;oe=Os(0,oe|0,31)|0;ie=Es(oe|0,I|0,re|0,ie|0)|0;re=I;oe=n+144|0;o[oe>>2]=ie;o[oe+4>>2]=re;re=Es(ie|0,re|0,19,0)|0;V=Ss(re|0,I|0,Z|0,V|0)|0;Z=n+64|0;o[Z>>2]=V;o[Z+4>>2]=I;Z=Es(ne|0,te|0,18,0)|0;V=I;$=Ss(ne|0,te|0,ee|0,$|0)|0;V=Ss($|0,I|0,Z|0,V|0)|0;o[Q>>2]=V;o[Q+4>>2]=I;Q=Es(J|0,X|0,18,0)|0;V=I;W=Ss(J|0,X|0,Y|0,W|0)|0;V=Ss(W|0,I|0,Q|0,V|0)|0;o[H>>2]=V;o[H+4>>2]=I;q=Es(L|0,q|0,36,0)|0;L=I;F=Ss(z|0,G|0,K|0,F|0)|0;L=Ss(F|0,I|0,q|0,L|0)|0;o[U>>2]=L;o[U+4>>2]=I;P=Es(M|0,P|0,36,0)|0;M=I;D=Ss(j|0,N|0,B|0,D|0)|0;M=Ss(D|0,I|0,P|0,M|0)|0;o[x>>2]=M;o[x+4>>2]=I;k=Es(b|0,k|0,36,0)|0;b=I;R=Ss(C|0,O|0,T|0,R|0)|0;b=Ss(R|0,I|0,k|0,b|0)|0;o[v>>2]=b;o[v+4>>2]=I;v=Es(S|0,E|0,18,0)|0;b=I;A=Ss(S|0,E|0,w|0,A|0)|0;b=Ss(A|0,I|0,v|0,b|0)|0;o[y>>2]=b;o[y+4>>2]=I;d=Es(l|0,d|0,36,0)|0;l=I;p=Ss(_|0,m|0,g|0,p|0)|0;l=Ss(p|0,I|0,d|0,l|0)|0;o[u>>2]=l;o[u+4>>2]=I;t=Es(i|0,t|0,36,0)|0;i=I;s=Ss(c|0,f|0,a|0,s|0)|0;i=Ss(s|0,I|0,t|0,i|0)|0;t=n;o[t>>2]=i;o[t+4>>2]=I;Bo(n);t=n;n=e+80|0;do{o[e>>2]=o[t>>2];e=e+4|0;t=t+4|0}while((e|0)<(n|0));h=r;return}function jo(e){e=e|0;var t=0,n=0,r=0,i=0,s=0,a=0,f=0,c=0,u=0,l=0,d=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0;E=h;h=h+16|0;p=E;do{if(e>>>0<245){u=e>>>0<11?16:e+11&-8;e=u>>>3;d=o[9632]|0;n=d>>>e;if(n&3|0){t=(n&1^1)+e|0;e=38568+(t<<1<<2)|0;n=e+8|0;r=o[n>>2]|0;i=r+8|0;s=o[i>>2]|0;if((s|0)==(e|0))o[9632]=d&~(1<<t);else{o[s+12>>2]=e;o[n>>2]=s}w=t<<3;o[r+4>>2]=w|3;w=r+w+4|0;o[w>>2]=o[w>>2]|1;w=i;h=E;return w|0}l=o[9634]|0;if(u>>>0>l>>>0){if(n|0){t=2<<e;t=n<<e&(t|0-t);t=(t&0-t)+-1|0;f=t>>>12&16;t=t>>>f;n=t>>>5&8;t=t>>>n;s=t>>>2&4;t=t>>>s;e=t>>>1&2;t=t>>>e;r=t>>>1&1;r=(n|f|s|e|r)+(t>>>r)|0;t=38568+(r<<1<<2)|0;e=t+8|0;s=o[e>>2]|0;f=s+8|0;n=o[f>>2]|0;if((n|0)==(t|0)){e=d&~(1<<r);o[9632]=e}else{o[n+12>>2]=t;o[e>>2]=n;e=d}w=r<<3;a=w-u|0;o[s+4>>2]=u|3;i=s+u|0;o[i+4>>2]=a|1;o[s+w>>2]=a;if(l|0){r=o[9637]|0;t=l>>>3;n=38568+(t<<1<<2)|0;t=1<<t;if(!(e&t)){o[9632]=e|t;t=n;e=n+8|0}else{e=n+8|0;t=o[e>>2]|0}o[e>>2]=r;o[t+12>>2]=r;o[r+8>>2]=t;o[r+12>>2]=n}o[9634]=a;o[9637]=i;w=f;h=E;return w|0}s=o[9633]|0;if(s){n=(s&0-s)+-1|0;i=n>>>12&16;n=n>>>i;r=n>>>5&8;n=n>>>r;a=n>>>2&4;n=n>>>a;f=n>>>1&2;n=n>>>f;c=n>>>1&1;c=o[38832+((r|i|a|f|c)+(n>>>c)<<2)>>2]|0;n=c;f=c;c=(o[c+4>>2]&-8)-u|0;while(1){e=o[n+16>>2]|0;if(!e){e=o[n+20>>2]|0;if(!e)break}a=(o[e+4>>2]&-8)-u|0;i=a>>>0<c>>>0;n=e;f=i?e:f;c=i?a:c}a=f+u|0;if(a>>>0>f>>>0){i=o[f+24>>2]|0;t=o[f+12>>2]|0;do{if((t|0)==(f|0)){e=f+20|0;t=o[e>>2]|0;if(!t){e=f+16|0;t=o[e>>2]|0;if(!t){n=0;break}}while(1){r=t+20|0;n=o[r>>2]|0;if(!n){r=t+16|0;n=o[r>>2]|0;if(!n)break;else{t=n;e=r}}else{t=n;e=r}}o[e>>2]=0;n=t}else{n=o[f+8>>2]|0;o[n+12>>2]=t;o[t+8>>2]=n;n=t}}while(0);do{if(i|0){t=o[f+28>>2]|0;e=38832+(t<<2)|0;if((f|0)==(o[e>>2]|0)){o[e>>2]=n;if(!n){o[9633]=s&~(1<<t);break}}else{w=i+16|0;o[((o[w>>2]|0)==(f|0)?w:i+20|0)>>2]=n;if(!n)break}o[n+24>>2]=i;t=o[f+16>>2]|0;if(t|0){o[n+16>>2]=t;o[t+24>>2]=n}t=o[f+20>>2]|0;if(t|0){o[n+20>>2]=t;o[t+24>>2]=n}}}while(0);if(c>>>0<16){w=c+u|0;o[f+4>>2]=w|3;w=f+w+4|0;o[w>>2]=o[w>>2]|1}else{o[f+4>>2]=u|3;o[a+4>>2]=c|1;o[a+c>>2]=c;if(l|0){r=o[9637]|0;t=l>>>3;n=38568+(t<<1<<2)|0;t=1<<t;if(!(t&d)){o[9632]=t|d;t=n;e=n+8|0}else{e=n+8|0;t=o[e>>2]|0}o[e>>2]=r;o[t+12>>2]=r;o[r+8>>2]=t;o[r+12>>2]=n}o[9634]=c;o[9637]=a}w=f+8|0;h=E;return w|0}else d=u}else d=u}else d=u}else if(e>>>0<=4294967231){e=e+11|0;u=e&-8;r=o[9633]|0;if(r){i=0-u|0;e=e>>>8;if(e)if(u>>>0>16777215)c=31;else{d=(e+1048320|0)>>>16&8;_=e<<d;f=(_+520192|0)>>>16&4;_=_<<f;c=(_+245760|0)>>>16&2;c=14-(f|d|c)+(_<<c>>>15)|0;c=u>>>(c+7|0)&1|c<<1}else c=0;n=o[38832+(c<<2)>>2]|0;e:do{if(!n){n=0;e=0;_=61}else{e=0;f=u<<((c|0)==31?0:25-(c>>>1)|0);s=0;while(1){a=(o[n+4>>2]&-8)-u|0;if(a>>>0<i>>>0)if(!a){e=n;i=0;_=65;break e}else{e=n;i=a}_=o[n+20>>2]|0;n=o[n+16+(f>>>31<<2)>>2]|0;s=(_|0)==0|(_|0)==(n|0)?s:_;if(!n){n=s;_=61;break}else f=f<<1}}}while(0);if((_|0)==61){if((n|0)==0&(e|0)==0){e=2<<c;e=(e|0-e)&r;if(!e){d=u;break}d=(e&0-e)+-1|0;a=d>>>12&16;d=d>>>a;s=d>>>5&8;d=d>>>s;f=d>>>2&4;d=d>>>f;c=d>>>1&2;d=d>>>c;n=d>>>1&1;e=0;n=o[38832+((s|a|f|c|n)+(d>>>n)<<2)>>2]|0}if(!n){f=e;a=i}else _=65}if((_|0)==65){s=n;while(1){d=(o[s+4>>2]&-8)-u|0;n=d>>>0<i>>>0;i=n?d:i;e=n?s:e;n=o[s+16>>2]|0;if(!n)n=o[s+20>>2]|0;if(!n){f=e;a=i;break}else s=n}}if(((f|0)!=0?a>>>0<((o[9634]|0)-u|0)>>>0:0)?(l=f+u|0,l>>>0>f>>>0):0){s=o[f+24>>2]|0;t=o[f+12>>2]|0;do{if((t|0)==(f|0)){e=f+20|0;t=o[e>>2]|0;if(!t){e=f+16|0;t=o[e>>2]|0;if(!t){t=0;break}}while(1){i=t+20|0;n=o[i>>2]|0;if(!n){i=t+16|0;n=o[i>>2]|0;if(!n)break;else{t=n;e=i}}else{t=n;e=i}}o[e>>2]=0}else{w=o[f+8>>2]|0;o[w+12>>2]=t;o[t+8>>2]=w}}while(0);do{if(s){e=o[f+28>>2]|0;n=38832+(e<<2)|0;if((f|0)==(o[n>>2]|0)){o[n>>2]=t;if(!t){r=r&~(1<<e);o[9633]=r;break}}else{w=s+16|0;o[((o[w>>2]|0)==(f|0)?w:s+20|0)>>2]=t;if(!t)break}o[t+24>>2]=s;e=o[f+16>>2]|0;if(e|0){o[t+16>>2]=e;o[e+24>>2]=t}e=o[f+20>>2]|0;if(e){o[t+20>>2]=e;o[e+24>>2]=t}}}while(0);e:do{if(a>>>0<16){w=a+u|0;o[f+4>>2]=w|3;w=f+w+4|0;o[w>>2]=o[w>>2]|1}else{o[f+4>>2]=u|3;o[l+4>>2]=a|1;o[l+a>>2]=a;t=a>>>3;if(a>>>0<256){n=38568+(t<<1<<2)|0;e=o[9632]|0;t=1<<t;if(!(e&t)){o[9632]=e|t;t=n;e=n+8|0}else{e=n+8|0;t=o[e>>2]|0}o[e>>2]=l;o[t+12>>2]=l;o[l+8>>2]=t;o[l+12>>2]=n;break}t=a>>>8;if(t)if(a>>>0>16777215)n=31;else{A=(t+1048320|0)>>>16&8;w=t<<A;v=(w+520192|0)>>>16&4;w=w<<v;n=(w+245760|0)>>>16&2;n=14-(v|A|n)+(w<<n>>>15)|0;n=a>>>(n+7|0)&1|n<<1}else n=0;t=38832+(n<<2)|0;o[l+28>>2]=n;e=l+16|0;o[e+4>>2]=0;o[e>>2]=0;e=1<<n;if(!(r&e)){o[9633]=r|e;o[t>>2]=l;o[l+24>>2]=t;o[l+12>>2]=l;o[l+8>>2]=l;break}t=o[t>>2]|0;t:do{if((o[t+4>>2]&-8|0)!=(a|0)){r=a<<((n|0)==31?0:25-(n>>>1)|0);while(1){n=t+16+(r>>>31<<2)|0;e=o[n>>2]|0;if(!e)break;if((o[e+4>>2]&-8|0)==(a|0)){t=e;break t}else{r=r<<1;t=e}}o[n>>2]=l;o[l+24>>2]=t;o[l+12>>2]=l;o[l+8>>2]=l;break e}}while(0);A=t+8|0;w=o[A>>2]|0;o[w+12>>2]=l;o[A>>2]=l;o[l+8>>2]=w;o[l+12>>2]=t;o[l+24>>2]=0}}while(0);w=f+8|0;h=E;return w|0}else d=u}else d=u}else d=-1}while(0);n=o[9634]|0;if(n>>>0>=d>>>0){t=n-d|0;e=o[9637]|0;if(t>>>0>15){w=e+d|0;o[9637]=w;o[9634]=t;o[w+4>>2]=t|1;o[e+n>>2]=t;o[e+4>>2]=d|3}else{o[9634]=0;o[9637]=0;o[e+4>>2]=n|3;w=e+n+4|0;o[w>>2]=o[w>>2]|1}w=e+8|0;h=E;return w|0}a=o[9635]|0;if(a>>>0>d>>>0){v=a-d|0;o[9635]=v;w=o[9638]|0;A=w+d|0;o[9638]=A;o[A+4>>2]=v|1;o[w+4>>2]=d|3;w=w+8|0;h=E;return w|0}if(!(o[9750]|0)){o[9752]=4096;o[9751]=4096;o[9753]=-1;o[9754]=-1;o[9755]=0;o[9743]=0;o[9750]=p&-16^1431655768;e=4096}else e=o[9752]|0;f=d+48|0;c=d+47|0;s=e+c|0;i=0-e|0;u=s&i;if(u>>>0<=d>>>0){w=0;h=E;return w|0}e=o[9742]|0;if(e|0?(l=o[9740]|0,p=l+u|0,p>>>0<=l>>>0|p>>>0>e>>>0):0){w=0;h=E;return w|0}e:do{if(!(o[9743]&4)){n=o[9638]|0;t:do{if(n){r=38976;while(1){p=o[r>>2]|0;if(p>>>0<=n>>>0?(p+(o[r+4>>2]|0)|0)>>>0>n>>>0:0)break;e=o[r+8>>2]|0;if(!e){_=128;break t}else r=e}t=s-a&i;if(t>>>0<2147483647){e=Bs(t|0)|0;if((e|0)==((o[r>>2]|0)+(o[r+4>>2]|0)|0)){if((e|0)!=(-1|0)){a=t;s=e;_=145;break e}}else{r=e;_=136}}else t=0}else _=128}while(0);do{if((_|0)==128){n=Bs(0)|0;if((n|0)!=(-1|0)?(t=n,g=o[9751]|0,m=g+-1|0,t=((m&t|0)==0?0:(m+t&0-g)-t|0)+u|0,g=o[9740]|0,m=t+g|0,t>>>0>d>>>0&t>>>0<2147483647):0){p=o[9742]|0;if(p|0?m>>>0<=g>>>0|m>>>0>p>>>0:0){t=0;break}e=Bs(t|0)|0;if((e|0)==(n|0)){a=t;s=n;_=145;break e}else{r=e;_=136}}else t=0}}while(0);do{if((_|0)==136){n=0-t|0;if(!(f>>>0>t>>>0&(t>>>0<2147483647&(r|0)!=(-1|0))))if((r|0)==(-1|0)){t=0;break}else{a=t;s=r;_=145;break e}e=o[9752]|0;e=c-t+e&0-e;if(e>>>0>=2147483647){a=t;s=r;_=145;break e}if((Bs(e|0)|0)==(-1|0)){Bs(n|0)|0;t=0;break}else{a=e+t|0;s=r;_=145;break e}}}while(0);o[9743]=o[9743]|4;_=143}else{t=0;_=143}}while(0);if(((_|0)==143?u>>>0<2147483647:0)?(v=Bs(u|0)|0,m=Bs(0)|0,y=m-v|0,b=y>>>0>(d+40|0)>>>0,!((v|0)==(-1|0)|b^1|v>>>0<m>>>0&((v|0)!=(-1|0)&(m|0)!=(-1|0))^1)):0){a=b?y:t;s=v;_=145}if((_|0)==145){t=(o[9740]|0)+a|0;o[9740]=t;if(t>>>0>(o[9741]|0)>>>0)o[9741]=t;c=o[9638]|0;e:do{if(c){t=38976;while(1){e=o[t>>2]|0;n=o[t+4>>2]|0;if((s|0)==(e+n|0)){_=154;break}r=o[t+8>>2]|0;if(!r)break;else t=r}if(((_|0)==154?(A=t+4|0,(o[t+12>>2]&8|0)==0):0)?s>>>0>c>>>0&e>>>0<=c>>>0:0){o[A>>2]=n+a;w=(o[9635]|0)+a|0;v=c+8|0;v=(v&7|0)==0?0:0-v&7;A=c+v|0;v=w-v|0;o[9638]=A;o[9635]=v;o[A+4>>2]=v|1;o[c+w+4>>2]=40;o[9639]=o[9754];break}if(s>>>0<(o[9636]|0)>>>0)o[9636]=s;n=s+a|0;t=38976;while(1){if((o[t>>2]|0)==(n|0)){_=162;break}e=o[t+8>>2]|0;if(!e)break;else t=e}if((_|0)==162?(o[t+12>>2]&8|0)==0:0){o[t>>2]=s;l=t+4|0;o[l>>2]=(o[l>>2]|0)+a;l=s+8|0;l=s+((l&7|0)==0?0:0-l&7)|0;t=n+8|0;t=n+((t&7|0)==0?0:0-t&7)|0;u=l+d|0;f=t-l-d|0;o[l+4>>2]=d|3;t:do{if((c|0)==(t|0)){w=(o[9635]|0)+f|0;o[9635]=w;o[9638]=u;o[u+4>>2]=w|1}else{if((o[9637]|0)==(t|0)){w=(o[9634]|0)+f|0;o[9634]=w;o[9637]=u;o[u+4>>2]=w|1;o[u+w>>2]=w;break}e=o[t+4>>2]|0;if((e&3|0)==1){a=e&-8;r=e>>>3;n:do{if(e>>>0<256){e=o[t+8>>2]|0;n=o[t+12>>2]|0;if((n|0)==(e|0)){o[9632]=o[9632]&~(1<<r);break}else{o[e+12>>2]=n;o[n+8>>2]=e;break}}else{s=o[t+24>>2]|0;e=o[t+12>>2]|0;do{if((e|0)==(t|0)){n=t+16|0;r=n+4|0;e=o[r>>2]|0;if(!e){e=o[n>>2]|0;if(!e){e=0;break}}else n=r;while(1){i=e+20|0;r=o[i>>2]|0;if(!r){i=e+16|0;r=o[i>>2]|0;if(!r)break;else{e=r;n=i}}else{e=r;n=i}}o[n>>2]=0}else{w=o[t+8>>2]|0;o[w+12>>2]=e;o[e+8>>2]=w}}while(0);if(!s)break;n=o[t+28>>2]|0;r=38832+(n<<2)|0;do{if((o[r>>2]|0)!=(t|0)){w=s+16|0;o[((o[w>>2]|0)==(t|0)?w:s+20|0)>>2]=e;if(!e)break n}else{o[r>>2]=e;if(e|0)break;o[9633]=o[9633]&~(1<<n);break n}}while(0);o[e+24>>2]=s;n=t+16|0;r=o[n>>2]|0;if(r|0){o[e+16>>2]=r;o[r+24>>2]=e}n=o[n+4>>2]|0;if(!n)break;o[e+20>>2]=n;o[n+24>>2]=e}}while(0);t=t+a|0;i=a+f|0}else i=f;t=t+4|0;o[t>>2]=o[t>>2]&-2;o[u+4>>2]=i|1;o[u+i>>2]=i;t=i>>>3;if(i>>>0<256){n=38568+(t<<1<<2)|0;e=o[9632]|0;t=1<<t;if(!(e&t)){o[9632]=e|t;t=n;e=n+8|0}else{e=n+8|0;t=o[e>>2]|0}o[e>>2]=u;o[t+12>>2]=u;o[u+8>>2]=t;o[u+12>>2]=n;break}t=i>>>8;do{if(!t)r=0;else{if(i>>>0>16777215){r=31;break}A=(t+1048320|0)>>>16&8;w=t<<A;v=(w+520192|0)>>>16&4;w=w<<v;r=(w+245760|0)>>>16&2;r=14-(v|A|r)+(w<<r>>>15)|0;r=i>>>(r+7|0)&1|r<<1}}while(0);t=38832+(r<<2)|0;o[u+28>>2]=r;e=u+16|0;o[e+4>>2]=0;o[e>>2]=0;e=o[9633]|0;n=1<<r;if(!(e&n)){o[9633]=e|n;o[t>>2]=u;o[u+24>>2]=t;o[u+12>>2]=u;o[u+8>>2]=u;break}t=o[t>>2]|0;n:do{if((o[t+4>>2]&-8|0)!=(i|0)){r=i<<((r|0)==31?0:25-(r>>>1)|0);while(1){n=t+16+(r>>>31<<2)|0;e=o[n>>2]|0;if(!e)break;if((o[e+4>>2]&-8|0)==(i|0)){t=e;break n}else{r=r<<1;t=e}}o[n>>2]=u;o[u+24>>2]=t;o[u+12>>2]=u;o[u+8>>2]=u;break t}}while(0);A=t+8|0;w=o[A>>2]|0;o[w+12>>2]=u;o[A>>2]=u;o[u+8>>2]=w;o[u+12>>2]=t;o[u+24>>2]=0}}while(0);w=l+8|0;h=E;return w|0}t=38976;while(1){e=o[t>>2]|0;if(e>>>0<=c>>>0?(w=e+(o[t+4>>2]|0)|0,w>>>0>c>>>0):0)break;t=o[t+8>>2]|0}i=w+-47|0;e=i+8|0;e=i+((e&7|0)==0?0:0-e&7)|0;i=c+16|0;e=e>>>0<i>>>0?c:e;t=e+8|0;n=a+-40|0;v=s+8|0;v=(v&7|0)==0?0:0-v&7;A=s+v|0;v=n-v|0;o[9638]=A;o[9635]=v;o[A+4>>2]=v|1;o[s+n+4>>2]=40;o[9639]=o[9754];n=e+4|0;o[n>>2]=27;o[t>>2]=o[9744];o[t+4>>2]=o[9745];o[t+8>>2]=o[9746];o[t+12>>2]=o[9747];o[9744]=s;o[9745]=a;o[9747]=0;o[9746]=t;t=e+24|0;do{A=t;t=t+4|0;o[t>>2]=7}while((A+8|0)>>>0<w>>>0);if((e|0)!=(c|0)){s=e-c|0;o[n>>2]=o[n>>2]&-2;o[c+4>>2]=s|1;o[e>>2]=s;t=s>>>3;if(s>>>0<256){n=38568+(t<<1<<2)|0;e=o[9632]|0;t=1<<t;if(!(e&t)){o[9632]=e|t;t=n;e=n+8|0}else{e=n+8|0;t=o[e>>2]|0}o[e>>2]=c;o[t+12>>2]=c;o[c+8>>2]=t;o[c+12>>2]=n;break}t=s>>>8;if(t)if(s>>>0>16777215)r=31;else{A=(t+1048320|0)>>>16&8;w=t<<A;v=(w+520192|0)>>>16&4;w=w<<v;r=(w+245760|0)>>>16&2;r=14-(v|A|r)+(w<<r>>>15)|0;r=s>>>(r+7|0)&1|r<<1}else r=0;n=38832+(r<<2)|0;o[c+28>>2]=r;o[c+20>>2]=0;o[i>>2]=0;t=o[9633]|0;e=1<<r;if(!(t&e)){o[9633]=t|e;o[n>>2]=c;o[c+24>>2]=n;o[c+12>>2]=c;o[c+8>>2]=c;break}t=o[n>>2]|0;t:do{if((o[t+4>>2]&-8|0)!=(s|0)){r=s<<((r|0)==31?0:25-(r>>>1)|0);while(1){n=t+16+(r>>>31<<2)|0;e=o[n>>2]|0;if(!e)break;if((o[e+4>>2]&-8|0)==(s|0)){t=e;break t}else{r=r<<1;t=e}}o[n>>2]=c;o[c+24>>2]=t;o[c+12>>2]=c;o[c+8>>2]=c;break e}}while(0);A=t+8|0;w=o[A>>2]|0;o[w+12>>2]=c;o[A>>2]=c;o[c+8>>2]=w;o[c+12>>2]=t;o[c+24>>2]=0}}else{w=o[9636]|0;if((w|0)==0|s>>>0<w>>>0)o[9636]=s;o[9744]=s;o[9745]=a;o[9747]=0;o[9641]=o[9750];o[9640]=-1;o[9645]=38568;o[9644]=38568;o[9647]=38576;o[9646]=38576;o[9649]=38584;o[9648]=38584;o[9651]=38592;o[9650]=38592;o[9653]=38600;o[9652]=38600;o[9655]=38608;o[9654]=38608;o[9657]=38616;o[9656]=38616;o[9659]=38624;o[9658]=38624;o[9661]=38632;o[9660]=38632;o[9663]=38640;o[9662]=38640;o[9665]=38648;o[9664]=38648;o[9667]=38656;o[9666]=38656;o[9669]=38664;o[9668]=38664;o[9671]=38672;o[9670]=38672;o[9673]=38680;o[9672]=38680;o[9675]=38688;o[9674]=38688;o[9677]=38696;o[9676]=38696;o[9679]=38704;o[9678]=38704;o[9681]=38712;o[9680]=38712;o[9683]=38720;o[9682]=38720;o[9685]=38728;o[9684]=38728;o[9687]=38736;o[9686]=38736;o[9689]=38744;o[9688]=38744;o[9691]=38752;o[9690]=38752;o[9693]=38760;o[9692]=38760;o[9695]=38768;o[9694]=38768;o[9697]=38776;o[9696]=38776;o[9699]=38784;o[9698]=38784;o[9701]=38792;o[9700]=38792;o[9703]=38800;o[9702]=38800;o[9705]=38808;o[9704]=38808;o[9707]=38816;o[9706]=38816;w=a+-40|0;v=s+8|0;v=(v&7|0)==0?0:0-v&7;A=s+v|0;v=w-v|0;o[9638]=A;o[9635]=v;o[A+4>>2]=v|1;o[s+w+4>>2]=40;o[9639]=o[9754]}}while(0);t=o[9635]|0;if(t>>>0>d>>>0){v=t-d|0;o[9635]=v;w=o[9638]|0;A=w+d|0;o[9638]=A;o[A+4>>2]=v|1;o[w+4>>2]=d|3;w=w+8|0;h=E;return w|0}}o[(Lo()|0)>>2]=12;w=0;h=E;return w|0}function Uo(e){e=e|0;var t=0,n=0,r=0,i=0,s=0,a=0,f=0,c=0;if(!e)return;n=e+-8|0;i=o[9636]|0;e=o[e+-4>>2]|0;t=e&-8;c=n+t|0;do{if(!(e&1)){r=o[n>>2]|0;if(!(e&3))return;a=n+(0-r)|0;s=r+t|0;if(a>>>0<i>>>0)return;if((o[9637]|0)==(a|0)){e=c+4|0;t=o[e>>2]|0;if((t&3|0)!=3){f=a;t=s;break}o[9634]=s;o[e>>2]=t&-2;o[a+4>>2]=s|1;o[a+s>>2]=s;return}n=r>>>3;if(r>>>0<256){e=o[a+8>>2]|0;t=o[a+12>>2]|0;if((t|0)==(e|0)){o[9632]=o[9632]&~(1<<n);f=a;t=s;break}else{o[e+12>>2]=t;o[t+8>>2]=e;f=a;t=s;break}}i=o[a+24>>2]|0;e=o[a+12>>2]|0;do{if((e|0)==(a|0)){t=a+16|0;n=t+4|0;e=o[n>>2]|0;if(!e){e=o[t>>2]|0;if(!e){e=0;break}}else t=n;while(1){r=e+20|0;n=o[r>>2]|0;if(!n){r=e+16|0;n=o[r>>2]|0;if(!n)break;else{e=n;t=r}}else{e=n;t=r}}o[t>>2]=0}else{f=o[a+8>>2]|0;o[f+12>>2]=e;o[e+8>>2]=f}}while(0);if(i){t=o[a+28>>2]|0;n=38832+(t<<2)|0;if((o[n>>2]|0)==(a|0)){o[n>>2]=e;if(!e){o[9633]=o[9633]&~(1<<t);f=a;t=s;break}}else{f=i+16|0;o[((o[f>>2]|0)==(a|0)?f:i+20|0)>>2]=e;if(!e){f=a;t=s;break}}o[e+24>>2]=i;t=a+16|0;n=o[t>>2]|0;if(n|0){o[e+16>>2]=n;o[n+24>>2]=e}t=o[t+4>>2]|0;if(t){o[e+20>>2]=t;o[t+24>>2]=e;f=a;t=s}else{f=a;t=s}}else{f=a;t=s}}else{f=n;a=n}}while(0);if(a>>>0>=c>>>0)return;e=c+4|0;r=o[e>>2]|0;if(!(r&1))return;if(!(r&2)){if((o[9638]|0)==(c|0)){c=(o[9635]|0)+t|0;o[9635]=c;o[9638]=f;o[f+4>>2]=c|1;if((f|0)!=(o[9637]|0))return;o[9637]=0;o[9634]=0;return}if((o[9637]|0)==(c|0)){c=(o[9634]|0)+t|0;o[9634]=c;o[9637]=a;o[f+4>>2]=c|1;o[a+c>>2]=c;return}i=(r&-8)+t|0;n=r>>>3;do{if(r>>>0<256){t=o[c+8>>2]|0;e=o[c+12>>2]|0;if((e|0)==(t|0)){o[9632]=o[9632]&~(1<<n);break}else{o[t+12>>2]=e;o[e+8>>2]=t;break}}else{s=o[c+24>>2]|0;e=o[c+12>>2]|0;do{if((e|0)==(c|0)){t=c+16|0;n=t+4|0;e=o[n>>2]|0;if(!e){e=o[t>>2]|0;if(!e){n=0;break}}else t=n;while(1){r=e+20|0;n=o[r>>2]|0;if(!n){r=e+16|0;n=o[r>>2]|0;if(!n)break;else{e=n;t=r}}else{e=n;t=r}}o[t>>2]=0;n=e}else{n=o[c+8>>2]|0;o[n+12>>2]=e;o[e+8>>2]=n;n=e}}while(0);if(s|0){e=o[c+28>>2]|0;t=38832+(e<<2)|0;if((o[t>>2]|0)==(c|0)){o[t>>2]=n;if(!n){o[9633]=o[9633]&~(1<<e);break}}else{r=s+16|0;o[((o[r>>2]|0)==(c|0)?r:s+20|0)>>2]=n;if(!n)break}o[n+24>>2]=s;e=c+16|0;t=o[e>>2]|0;if(t|0){o[n+16>>2]=t;o[t+24>>2]=n}e=o[e+4>>2]|0;if(e|0){o[n+20>>2]=e;o[e+24>>2]=n}}}}while(0);o[f+4>>2]=i|1;o[a+i>>2]=i;if((f|0)==(o[9637]|0)){o[9634]=i;return}}else{o[e>>2]=r&-2;o[f+4>>2]=t|1;o[a+t>>2]=t;i=t}e=i>>>3;if(i>>>0<256){n=38568+(e<<1<<2)|0;t=o[9632]|0;e=1<<e;if(!(t&e)){o[9632]=t|e;e=n;t=n+8|0}else{t=n+8|0;e=o[t>>2]|0}o[t>>2]=f;o[e+12>>2]=f;o[f+8>>2]=e;o[f+12>>2]=n;return}e=i>>>8;if(e)if(i>>>0>16777215)r=31;else{a=(e+1048320|0)>>>16&8;c=e<<a;s=(c+520192|0)>>>16&4;c=c<<s;r=(c+245760|0)>>>16&2;r=14-(s|a|r)+(c<<r>>>15)|0;r=i>>>(r+7|0)&1|r<<1}else r=0;e=38832+(r<<2)|0;o[f+28>>2]=r;o[f+20>>2]=0;o[f+16>>2]=0;t=o[9633]|0;n=1<<r;e:do{if(!(t&n)){o[9633]=t|n;o[e>>2]=f;o[f+24>>2]=e;o[f+12>>2]=f;o[f+8>>2]=f}else{e=o[e>>2]|0;t:do{if((o[e+4>>2]&-8|0)!=(i|0)){r=i<<((r|0)==31?0:25-(r>>>1)|0);while(1){n=e+16+(r>>>31<<2)|0;t=o[n>>2]|0;if(!t)break;if((o[t+4>>2]&-8|0)==(i|0)){e=t;break t}else{r=r<<1;e=t}}o[n>>2]=f;o[f+24>>2]=e;o[f+12>>2]=f;o[f+8>>2]=f;break e}}while(0);a=e+8|0;c=o[a>>2]|0;o[c+12>>2]=f;o[a>>2]=f;o[f+8>>2]=c;o[f+12>>2]=e;o[f+24>>2]=0}}while(0);c=(o[9640]|0)+-1|0;o[9640]=c;if(c|0)return;e=38984;while(1){e=o[e>>2]|0;if(!e)break;else e=e+8|0}o[9640]=-1;return}function Lo(){return 39088}function qo(e,t){e=e|0;t=t|0;var n=0,i=0;n=r[e>>0]|0;i=r[t>>0]|0;if(n<<24>>24==0?1:n<<24>>24!=i<<24>>24)e=i;else{do{e=e+1|0;t=t+1|0;n=r[e>>0]|0;i=r[t>>0]|0}while(!(n<<24>>24==0?1:n<<24>>24!=i<<24>>24));e=i}return(n&255)-(e&255)|0}function Fo(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0;e:do{if(!n)e=0;else{while(1){i=r[e>>0]|0;o=r[t>>0]|0;if(i<<24>>24!=o<<24>>24)break;n=n+-1|0;if(!n){e=0;break e}else{e=e+1|0;t=t+1|0}}e=(i&255)-(o&255)|0}}while(0);return e|0}function Ko(e){e=e|0;return(e+-48|0)>>>0<10|0}function Go(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;var s=0,a=0,f=0,c=0,u=0,l=0,d=0;d=h;h=h+128|0;s=d+124|0;l=d;a=l;f=37604;c=a+124|0;do{o[a>>2]=o[f>>2];a=a+4|0;f=f+4|0}while((a|0)<(c|0));if((t+-1|0)>>>0>2147483646)if(!t){e=s;t=1;u=4}else{o[(Lo()|0)>>2]=75;t=-1}else u=4;if((u|0)==4){u=-2-e|0;u=t>>>0>u>>>0?u:t;o[l+48>>2]=u;s=l+20|0;o[s>>2]=e;o[l+44>>2]=e;t=e+u|0;e=l+16|0;o[e>>2]=t;o[l+28>>2]=t;t=zo(l,n,i)|0;if(u){l=o[s>>2]|0;r[l+(((l|0)==(o[e>>2]|0))<<31>>31)>>0]=0}}h=d;return t|0}function zo(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,f=0,c=0,u=0,l=0,d=0,p=0,g=0,m=0,_=0,y=0;y=h;h=h+224|0;d=y+208|0;g=y+160|0;m=y+80|0;_=y;i=g;s=i+40|0;do{o[i>>2]=0;i=i+4|0}while((i|0)<(s|0));o[d>>2]=o[n>>2];if((Ho(0,t,d,m,g)|0)<0)n=-1;else{if((o[e+76>>2]|0)>-1)p=Vo(e)|0;else p=0;n=o[e>>2]|0;l=n&32;if((r[e+74>>0]|0)<1)o[e>>2]=n&-33;i=e+48|0;if(!(o[i>>2]|0)){s=e+44|0;a=o[s>>2]|0;o[s>>2]=_;f=e+28|0;o[f>>2]=_;c=e+20|0;o[c>>2]=_;o[i>>2]=80;u=e+16|0;o[u>>2]=_+80;n=Ho(e,t,d,m,g)|0;if(a){Vs[o[e+36>>2]&1](e,0,0)|0;n=(o[c>>2]|0)==0?-1:n;o[s>>2]=a;o[i>>2]=0;o[u>>2]=0;o[f>>2]=0;o[c>>2]=0}}else n=Ho(e,t,d,m,g)|0;i=o[e>>2]|0;o[e>>2]=i|l;if(p|0)Qo(e);n=(i&32|0)==0?n:-1}h=y;return n|0}function Ho(e,t,n,s,a){e=e|0;t=t|0;n=n|0;s=s|0;a=a|0;var f=0,c=0,l=0,d=0,p=0,g=0,m=0,_=0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,R=0,T=0,O=0,C=0,x=0,M=0,P=0,D=0;D=h;h=h+64|0;O=D+56|0;C=D+40|0;k=D;M=D+48|0;P=D+60|0;o[O>>2]=t;w=(e|0)!=0;E=k+40|0;S=E;k=k+39|0;R=M+4|0;f=0;t=0;l=0;e:while(1){do{do{if((t|0)>-1)if((f|0)>(2147483647-t|0)){o[(Lo()|0)>>2]=75;t=-1;break}else{t=f+t|0;break}}while(0);y=o[O>>2]|0;f=r[y>>0]|0;if(!(f<<24>>24)){A=94;break e}c=y;t:while(1){switch(f<<24>>24){case 37:{A=10;break t}case 0:{f=c;break t}default:{}}v=c+1|0;o[O>>2]=v;f=r[v>>0]|0;c=v}t:do{if((A|0)==10){A=0;f=c;do{if((r[c+1>>0]|0)!=37)break t;f=f+1|0;c=c+2|0;o[O>>2]=c}while((r[c>>0]|0)==37)}}while(0);f=f-y|0;if(w)Wo(e,y,f)}while((f|0)!=0);v=(Ko(r[(o[O>>2]|0)+1>>0]|0)|0)==0;c=o[O>>2]|0;if(!v?(r[c+2>>0]|0)==36:0){m=(r[c+1>>0]|0)+-48|0;p=1;f=3}else{m=-1;p=l;f=1}f=c+f|0;o[O>>2]=f;c=r[f>>0]|0;l=(c<<24>>24)+-32|0;if(l>>>0>31|(1<<l&75913|0)==0)d=0;else{d=0;do{d=1<<l|d;f=f+1|0;o[O>>2]=f;c=r[f>>0]|0;l=(c<<24>>24)+-32|0}while(!(l>>>0>31|(1<<l&75913|0)==0))}if(c<<24>>24==42){if((Ko(r[f+1>>0]|0)|0)!=0?(x=o[O>>2]|0,(r[x+2>>0]|0)==36):0){f=x+1|0;o[a+((r[f>>0]|0)+-48<<2)>>2]=10;f=o[s+((r[f>>0]|0)+-48<<3)>>2]|0;l=1;c=x+3|0}else{if(p|0){t=-1;break}if(w){v=(o[n>>2]|0)+(4-1)&~(4-1);f=o[v>>2]|0;o[n>>2]=v+4}else f=0;l=0;c=(o[O>>2]|0)+1|0}o[O>>2]=c;v=(f|0)<0;b=v?0-f|0:f;d=v?d|8192:d;v=l}else{f=Yo(O)|0;if((f|0)<0){t=-1;break}b=f;v=p;c=o[O>>2]|0}do{if((r[c>>0]|0)==46){f=c+1|0;if((r[f>>0]|0)!=42){o[O>>2]=f;f=Yo(O)|0;c=o[O>>2]|0;break}if(Ko(r[c+2>>0]|0)|0?(T=o[O>>2]|0,(r[T+3>>0]|0)==36):0){f=T+2|0;o[a+((r[f>>0]|0)+-48<<2)>>2]=10;f=o[s+((r[f>>0]|0)+-48<<3)>>2]|0;c=T+4|0;o[O>>2]=c;break}if(v|0){t=-1;break e}if(w){_=(o[n>>2]|0)+(4-1)&~(4-1);f=o[_>>2]|0;o[n>>2]=_+4}else f=0;c=(o[O>>2]|0)+2|0;o[O>>2]=c}else f=-1}while(0);_=0;while(1){if(((r[c>>0]|0)+-65|0)>>>0>57){t=-1;break e}l=c;c=c+1|0;o[O>>2]=c;l=r[(r[l>>0]|0)+-65+(35136+(_*58|0))>>0]|0;p=l&255;if((p+-1|0)>>>0>=8)break;else _=p}if(!(l<<24>>24)){t=-1;break}g=(m|0)>-1;do{if(l<<24>>24==19)if(g){t=-1;break e}else A=54;else{if(g){o[a+(m<<2)>>2]=p;g=s+(m<<3)|0;m=o[g+4>>2]|0;A=C;o[A>>2]=o[g>>2];o[A+4>>2]=m;A=54;break}if(!w){t=0;break e}Xo(C,p,n);c=o[O>>2]|0;A=55}}while(0);if((A|0)==54){A=0;if(w)A=55;else f=0}t:do{if((A|0)==55){A=0;c=r[c+-1>>0]|0;c=(_|0)!=0&(c&15|0)==3?c&-33:c;l=d&-65537;m=(d&8192|0)==0?d:l;n:do{switch(c|0){case 110:switch((_&255)<<24>>24){case 0:{o[o[C>>2]>>2]=t;f=0;break t}case 1:{o[o[C>>2]>>2]=t;f=0;break t}case 2:{f=o[C>>2]|0;o[f>>2]=t;o[f+4>>2]=((t|0)<0)<<31>>31;f=0;break t}case 3:{i[o[C>>2]>>1]=t;f=0;break t}case 4:{r[o[C>>2]>>0]=t;f=0;break t}case 6:{o[o[C>>2]>>2]=t;f=0;break t}case 7:{f=o[C>>2]|0;o[f>>2]=t;o[f+4>>2]=((t|0)<0)<<31>>31;f=0;break t}default:{f=0;break t}}case 112:{c=120;f=f>>>0>8?f:8;l=m|8;A=67;break}case 88:case 120:{l=m;A=67;break}case 111:{l=C;c=o[l>>2]|0;l=o[l+4>>2]|0;g=Zo(c,l,E)|0;A=S-g|0;d=0;p=38441;f=(m&8|0)==0|(f|0)>(A|0)?f:A+1|0;A=73;break}case 105:case 100:{l=C;c=o[l>>2]|0;l=o[l+4>>2]|0;if((l|0)<0){c=ks(0,0,c|0,l|0)|0;l=I;d=C;o[d>>2]=c;o[d+4>>2]=l;d=1;p=38441;A=72;break n}else{d=(m&2049|0)!=0&1;p=(m&2048|0)==0?(m&1|0)==0?38441:38443:38442;A=72;break n}}case 117:{l=C;d=0;p=38441;c=o[l>>2]|0;l=o[l+4>>2]|0;A=72;break}case 99:{r[k>>0]=o[C>>2];_=k;d=0;p=38441;g=1;f=S;break}case 109:{c=es(o[(Lo()|0)>>2]|0)|0;A=77;break}case 115:{c=o[C>>2]|0;c=(c|0)==0?38451:c;A=77;break}case 67:{o[M>>2]=o[C>>2];o[R>>2]=0;o[C>>2]=M;p=-1;A=81;break}case 83:{if(!f){ns(e,32,b,0,m);f=0;A=91}else{p=f;A=81}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{f=is(e,+u[C>>3],b,f,m,c)|0;break t}default:{_=y;d=0;p=38441;g=f;l=m;f=S}}}while(0);n:do{if((A|0)==67){y=C;_=o[y>>2]|0;y=o[y+4>>2]|0;g=Jo(_,y,E,c&32)|0;p=(l&8|0)==0|(_|0)==0&(y|0)==0;d=p?0:2;p=p?38441:38441+(c>>>4)|0;m=l;c=_;l=y;A=73}else if((A|0)==72){g=$o(c,l,E)|0;A=73}else if((A|0)==77){A=0;y=ts(c,0,f)|0;m=(y|0)==0;_=c;d=0;p=38441;g=m?f:y-c|0;f=m?c+f|0:y}else if((A|0)==81){A=0;d=o[C>>2]|0;f=0;while(1){c=o[d>>2]|0;if(!c)break;c=rs(P,c)|0;l=(c|0)<0;if(l|c>>>0>(p-f|0)>>>0){A=85;break}f=c+f|0;if(p>>>0>f>>>0)d=d+4|0;else break}if((A|0)==85){A=0;if(l){t=-1;break e}}ns(e,32,b,f,m);if(!f){f=0;A=91}else{l=o[C>>2]|0;d=0;while(1){c=o[l>>2]|0;if(!c){A=91;break n}c=rs(P,c)|0;d=c+d|0;if((d|0)>(f|0)){A=91;break n}Wo(e,P,c);if(d>>>0>=f>>>0){A=91;break}else l=l+4|0}}}}while(0);if((A|0)==73){A=0;l=(c|0)!=0|(l|0)!=0;y=(f|0)!=0|l;l=S-g+((l^1)&1)|0;_=y?g:E;g=y?(f|0)>(l|0)?f:l:0;l=(f|0)>-1?m&-65537:m;f=S}else if((A|0)==91){A=0;ns(e,32,b,f,m^8192);f=(b|0)>(f|0)?b:f;break}m=f-_|0;g=(g|0)<(m|0)?m:g;y=g+d|0;f=(b|0)<(y|0)?y:b;ns(e,32,f,y,l);Wo(e,p,d);ns(e,48,f,y,l^65536);ns(e,48,g,m,0);Wo(e,_,m);ns(e,32,f,y,l^8192)}}while(0);l=v}e:do{if((A|0)==94)if(!e)if(!l)t=0;else{t=1;while(1){f=o[a+(t<<2)>>2]|0;if(!f)break;Xo(s+(t<<3)|0,f,n);t=t+1|0;if(t>>>0>=10){t=1;break e}}while(1){if(o[a+(t<<2)>>2]|0){t=-1;break e}t=t+1|0;if(t>>>0>=10){t=1;break}}}}while(0);h=D;return t|0}function Vo(e){e=e|0;return 0}function Qo(e){e=e|0;return}function Wo(e,t,n){e=e|0;t=t|0;n=n|0;if(!(o[e>>2]&32))_s(t,n,e)|0;return}function Yo(e){e=e|0;var t=0,n=0;if(!(Ko(r[o[e>>2]>>0]|0)|0))t=0;else{t=0;do{n=o[e>>2]|0;t=(t*10|0)+-48+(r[n>>0]|0)|0;n=n+1|0;o[e>>2]=n}while((Ko(r[n>>0]|0)|0)!=0)}return t|0}function Xo(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0,s=0.0;e:do{if(t>>>0<=20)do{switch(t|0){case 9:{r=(o[n>>2]|0)+(4-1)&~(4-1);t=o[r>>2]|0;o[n>>2]=r+4;o[e>>2]=t;break e}case 10:{r=(o[n>>2]|0)+(4-1)&~(4-1);t=o[r>>2]|0;o[n>>2]=r+4;r=e;o[r>>2]=t;o[r+4>>2]=((t|0)<0)<<31>>31;break e}case 11:{r=(o[n>>2]|0)+(4-1)&~(4-1);t=o[r>>2]|0;o[n>>2]=r+4;r=e;o[r>>2]=t;o[r+4>>2]=0;break e}case 12:{r=(o[n>>2]|0)+(8-1)&~(8-1);t=r;i=o[t>>2]|0;t=o[t+4>>2]|0;o[n>>2]=r+8;r=e;o[r>>2]=i;o[r+4>>2]=t;break e}case 13:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;r=(r&65535)<<16>>16;i=e;o[i>>2]=r;o[i+4>>2]=((r|0)<0)<<31>>31;break e}case 14:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;i=e;o[i>>2]=r&65535;o[i+4>>2]=0;break e}case 15:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;r=(r&255)<<24>>24;i=e;o[i>>2]=r;o[i+4>>2]=((r|0)<0)<<31>>31;break e}case 16:{i=(o[n>>2]|0)+(4-1)&~(4-1);r=o[i>>2]|0;o[n>>2]=i+4;i=e;o[i>>2]=r&255;o[i+4>>2]=0;break e}case 17:{i=(o[n>>2]|0)+(8-1)&~(8-1);s=+u[i>>3];o[n>>2]=i+8;u[e>>3]=s;break e}case 18:{i=(o[n>>2]|0)+(8-1)&~(8-1);s=+u[i>>3];o[n>>2]=i+8;u[e>>3]=s;break e}default:break e}}while(0)}while(0);return}function Jo(e,t,n,i){e=e|0;t=t|0;n=n|0;i=i|0;if(!((e|0)==0&(t|0)==0))do{n=n+-1|0;r[n>>0]=s[35600+(e&15)>>0]|0|i;e=Cs(e|0,t|0,4)|0;t=I}while(!((e|0)==0&(t|0)==0));return n|0}function Zo(e,t,n){e=e|0;t=t|0;n=n|0;if(!((e|0)==0&(t|0)==0))do{n=n+-1|0;r[n>>0]=e&7|48;e=Cs(e|0,t|0,3)|0;t=I}while(!((e|0)==0&(t|0)==0));return n|0}function $o(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,o=0,s=0;if(t>>>0>0|(t|0)==0&e>>>0>4294967295){do{i=e;e=Ts(e|0,t|0,10,0)|0;o=t;t=I;s=Es(e|0,t|0,10,0)|0;s=ks(i|0,o|0,s|0,I|0)|0;n=n+-1|0;r[n>>0]=s&255|48}while(o>>>0>9|(o|0)==9&i>>>0>4294967295);t=e}else t=e;if(t)do{s=t;t=(t>>>0)/10|0;n=n+-1|0;r[n>>0]=s-(t*10|0)|48}while(s>>>0>=10);return n|0}function es(e){e=e|0;return ds(e,o[(ls()|0)+188>>2]|0)|0}function ts(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,f=0;a=t&255;i=(n|0)!=0;e:do{if(i&(e&3|0)!=0){s=t&255;while(1){if((r[e>>0]|0)==s<<24>>24){f=6;break e}e=e+1|0;n=n+-1|0;i=(n|0)!=0;if(!(i&(e&3|0)!=0)){f=5;break}}}else f=5}while(0);if((f|0)==5)if(i)f=6;else f=16;e:do{if((f|0)==6){s=t&255;if((r[e>>0]|0)==s<<24>>24)if(!n){f=16;break}else break;i=F(a,16843009)|0;t:do{if(n>>>0>3)while(1){a=o[e>>2]^i;if((a&-2139062144^-2139062144)&a+-16843009|0)break t;e=e+4|0;n=n+-4|0;if(n>>>0<=3){f=11;break}}else f=11}while(0);if((f|0)==11)if(!n){f=16;break}while(1){if((r[e>>0]|0)==s<<24>>24)break e;n=n+-1|0;if(!n){f=16;break}else e=e+1|0}}}while(0);if((f|0)==16)e=0;return e|0}function ns(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var o=0,s=0;s=h;h=h+256|0;o=s;if((n|0)>(r|0)&(i&73728|0)==0){i=n-r|0;Ds(o|0,t<<24>>24|0,(i>>>0<256?i:256)|0)|0;if(i>>>0>255){t=n-r|0;do{Wo(e,o,256);i=i+-256|0}while(i>>>0>255);i=t&255}Wo(e,o,i)}h=s;return}function rs(e,t){e=e|0;t=t|0;if(!e)e=0;else e=fs(e,t,0)|0;return e|0}function is(e,t,n,i,a,f){e=e|0;t=+t;n=n|0;i=i|0;a=a|0;f=f|0;var c=0,u=0,l=0,d=0,p=0,g=0,m=0,_=0.0,y=0,b=0,v=0,A=0,w=0,E=0,S=0,k=0,R=0,T=0,O=0,C=0,x=0,M=0,P=0;P=h;h=h+560|0;l=P+32|0;A=P+536|0;M=P;x=M;d=P+540|0;o[A>>2]=0;C=d+12|0;os(t)|0;c=I;if((c|0)<0){t=-t;os(t)|0;O=1;T=38458;c=I}else{O=(a&2049|0)!=0&1;T=(a&2048|0)==0?(a&1|0)==0?38459:38464:38461}do{if(0==0&(c&2146435072|0)==2146435072){M=(f&32|0)!=0;c=O+3|0;ns(e,32,n,c,a&-65537);Wo(e,T,O);Wo(e,t!=t|0.0!=0.0?M?38485:38489:M?38477:38481,3);ns(e,32,n,c,a^8192)}else{_=+ss(t,A)*2.0;c=_!=0.0;if(c)o[A>>2]=(o[A>>2]|0)+-1;v=f|32;if((v|0)==97){g=f&32;y=(g|0)==0?T:T+9|0;m=O|2;c=12-i|0;do{if(!(i>>>0>11|(c|0)==0)){t=8.0;do{c=c+-1|0;t=t*16.0}while((c|0)!=0);if((r[y>>0]|0)==45){t=-(t+(-_-t));break}else{t=_+t-t;break}}else t=_}while(0);u=o[A>>2]|0;c=(u|0)<0?0-u|0:u;c=$o(c,((c|0)<0)<<31>>31,C)|0;if((c|0)==(C|0)){c=d+11|0;r[c>>0]=48}r[c+-1>>0]=(u>>31&2)+43;p=c+-2|0;r[p>>0]=f+15;u=(i|0)<1;l=(a&8|0)==0;d=M;do{O=~~t;c=d+1|0;r[d>>0]=g|s[35600+O>>0];t=(t-+(O|0))*16.0;if((c-x|0)==1?!(l&(u&t==0.0)):0){r[c>>0]=46;d=d+2|0}else d=c}while(t!=0.0);if((i|0)!=0?(-2-x+d|0)<(i|0):0){u=C;l=p;c=i+2+u-l|0}else{u=C;l=p;c=u-x-l+d|0}C=c+m|0;ns(e,32,n,C,a);Wo(e,y,m);ns(e,48,n,C,a^65536);x=d-x|0;Wo(e,M,x);M=u-l|0;ns(e,48,c-(x+M)|0,0,0);Wo(e,p,M);ns(e,32,n,C,a^8192);c=C;break}u=(i|0)<0?6:i;if(c){c=(o[A>>2]|0)+-28|0;o[A>>2]=c;t=_*268435456.0}else{t=_;c=o[A>>2]|0}R=(c|0)<0?l:l+288|0;l=R;do{S=~~t>>>0;o[l>>2]=S;l=l+4|0;t=(t-+(S>>>0))*1.0e9}while(t!=0.0);S=R;if((c|0)>0){g=R;while(1){p=(c|0)<29?c:29;c=l+-4|0;if(c>>>0>=g>>>0){d=0;do{b=xs(o[c>>2]|0,0,p|0)|0;b=Ss(b|0,I|0,d|0,0)|0;w=I;d=Ts(b|0,w|0,1e9,0)|0;E=Es(d|0,I|0,1e9,0)|0;E=ks(b|0,w|0,E|0,I|0)|0;o[c>>2]=E;c=c+-4|0}while(c>>>0>=g>>>0);if(d){E=g+-4|0;o[E>>2]=d;d=E}else d=g}else d=g;e:do{if(l>>>0>d>>>0){c=l;while(1){l=c+-4|0;if(o[l>>2]|0){l=c;break e}if(l>>>0>d>>>0)c=l;else break}}}while(0);c=(o[A>>2]|0)-p|0;o[A>>2]=c;if((c|0)>0)g=d;else break}}else d=R;if((c|0)<0){i=((u+25|0)/9|0)+1|0;b=(v|0)==102;do{y=0-c|0;y=(y|0)<9?y:9;if(d>>>0<l>>>0){p=(1<<y)+-1|0;g=1e9>>>y;m=0;c=d;do{E=o[c>>2]|0;o[c>>2]=(E>>>y)+m;m=F(E&p,g)|0;c=c+4|0}while(c>>>0<l>>>0);d=(o[d>>2]|0)==0?d+4|0:d;if(m){o[l>>2]=m;l=l+4|0}}else d=(o[d>>2]|0)==0?d+4|0:d;c=b?R:d;l=(l-c>>2|0)>(i|0)?c+(i<<2)|0:l;c=(o[A>>2]|0)+y|0;o[A>>2]=c}while((c|0)<0);b=d}else b=d;if(b>>>0<l>>>0){c=(S-b>>2)*9|0;p=o[b>>2]|0;if(p>>>0>=10){d=10;do{d=d*10|0;c=c+1|0}while(p>>>0>=d>>>0)}}else c=0;w=(v|0)==103;E=(u|0)!=0;d=u-((v|0)==102?0:c)+((E&w)<<31>>31)|0;if((d|0)<(((l-S>>2)*9|0)+-9|0)){A=d+9216|0;d=(A|0)/9|0;i=R+4+(d+-1024<<2)|0;d=A-(d*9|0)|0;if((d|0)<8){p=10;while(1){p=p*10|0;if((d|0)<7)d=d+1|0;else break}}else p=10;m=o[i>>2]|0;d=(m>>>0)/(p>>>0)|0;y=m-(F(d,p)|0)|0;g=(i+4|0)==(l|0);if(!(g&(y|0)==0)){_=(d&1|0)==0?9007199254740992.0:9007199254740994.0;A=p>>>1;t=y>>>0<A>>>0?.5:g&(y|0)==(A|0)?1.0:1.5;if(O){A=(r[T>>0]|0)==45;t=A?-t:t;_=A?-_:_}d=m-y|0;o[i>>2]=d;if(_+t!=_){A=d+p|0;o[i>>2]=A;if(A>>>0>999999999){p=i;c=b;while(1){d=p+-4|0;o[p>>2]=0;if(d>>>0<c>>>0){c=c+-4|0;o[c>>2]=0}A=(o[d>>2]|0)+1|0;o[d>>2]=A;if(A>>>0>999999999)p=d;else{p=c;break}}}else{d=i;p=b}c=(S-p>>2)*9|0;m=o[p>>2]|0;if(m>>>0>=10){g=10;do{g=g*10|0;c=c+1|0}while(m>>>0>=g>>>0)}}else{d=i;p=b}}else{d=i;p=b}A=d+4|0;l=l>>>0>A>>>0?A:l}else p=b;i=0-c|0;e:do{if(l>>>0>p>>>0)while(1){d=l+-4|0;if(o[d>>2]|0){A=l;v=1;break e}if(d>>>0>p>>>0)l=d;else{A=d;v=0;break}}else{A=l;v=0}}while(0);do{if(w){u=u+((E^1)&1)|0;if((u|0)>(c|0)&(c|0)>-5){g=f+-1|0;u=u+-1-c|0}else{g=f+-2|0;u=u+-1|0}if(!(a&8)){if(v?(k=o[A+-4>>2]|0,(k|0)!=0):0)if(!((k>>>0)%10|0)){d=0;l=10;do{l=l*10|0;d=d+1|0}while(!((k>>>0)%(l>>>0)|0|0))}else d=0;else d=9;l=((A-S>>2)*9|0)+-9|0;if((g|32|0)==102){f=l-d|0;f=(f|0)>0?f:0;u=(u|0)<(f|0)?u:f;break}else{f=l+c-d|0;f=(f|0)>0?f:0;u=(u|0)<(f|0)?u:f;break}}}else g=f}while(0);b=(u|0)!=0;m=b?1:a>>>3&1;y=(g|32|0)==102;if(y){w=0;c=(c|0)>0?c:0}else{l=(c|0)<0?i:c;l=$o(l,((l|0)<0)<<31>>31,C)|0;d=C;if((d-l|0)<2)do{l=l+-1|0;r[l>>0]=48}while((d-l|0)<2);r[l+-1>>0]=(c>>31&2)+43;c=l+-2|0;r[c>>0]=g;w=c;c=d-c|0}c=O+1+u+m+c|0;ns(e,32,n,c,a);Wo(e,T,O);ns(e,48,n,c,a^65536);if(y){m=p>>>0>R>>>0?R:p;y=M+9|0;p=y;g=M+8|0;d=m;do{l=$o(o[d>>2]|0,0,y)|0;if((d|0)==(m|0)){if((l|0)==(y|0)){r[g>>0]=48;l=g}}else if(l>>>0>M>>>0){Ds(M|0,48,l-x|0)|0;do{l=l+-1|0}while(l>>>0>M>>>0)}Wo(e,l,p-l|0);d=d+4|0}while(d>>>0<=R>>>0);if(!((a&8|0)==0&(b^1)))Wo(e,38493,1);if(d>>>0<A>>>0&(u|0)>0)while(1){l=$o(o[d>>2]|0,0,y)|0;if(l>>>0>M>>>0){Ds(M|0,48,l-x|0)|0;do{l=l+-1|0}while(l>>>0>M>>>0)}Wo(e,l,(u|0)<9?u:9);d=d+4|0;l=u+-9|0;if(!(d>>>0<A>>>0&(u|0)>9)){u=l;break}else u=l}ns(e,48,u+9|0,9,0)}else{A=v?A:p+4|0;if(p>>>0<A>>>0&(u|0)>-1){i=M+9|0;b=(a&8|0)==0;v=i;m=0-x|0;y=M+8|0;g=p;do{l=$o(o[g>>2]|0,0,i)|0;if((l|0)==(i|0)){r[y>>0]=48;l=y}do{if((g|0)==(p|0)){d=l+1|0;Wo(e,l,1);if(b&(u|0)<1){l=d;break}Wo(e,38493,1);l=d}else{if(l>>>0<=M>>>0)break;Ds(M|0,48,l+m|0)|0;do{l=l+-1|0}while(l>>>0>M>>>0)}}while(0);x=v-l|0;Wo(e,l,(u|0)>(x|0)?x:u);u=u-x|0;g=g+4|0}while(g>>>0<A>>>0&(u|0)>-1)}ns(e,48,u+18|0,18,0);Wo(e,w,C-w|0)}ns(e,32,n,c,a^8192)}}while(0);h=P;return((c|0)<(n|0)?n:c)|0}function os(e){e=+e;var t=0;u[d>>3]=e;t=o[d>>2]|0;I=o[d+4>>2]|0;return t|0}function ss(e,t){e=+e;t=t|0;return+ +as(e,t)}function as(e,t){e=+e;t=t|0;var n=0,r=0,i=0;u[d>>3]=e;n=o[d>>2]|0;r=o[d+4>>2]|0;i=Cs(n|0,r|0,52)|0;switch(i&2047){case 0:{if(e!=0.0){e=+as(e*18446744073709551616.0,t);n=(o[t>>2]|0)+-64|0}else n=0;o[t>>2]=n;break}case 2047:break;default:{o[t>>2]=(i&2047)+-1022;o[d>>2]=n;o[d+4>>2]=r&-2146435073|1071644672;e=+u[d>>3]}}return+e}function fs(e,t,n){e=e|0;t=t|0;n=n|0;do{if(e){if(t>>>0<128){r[e>>0]=t;e=1;break}if(!(o[o[(cs()|0)+188>>2]>>2]|0))if((t&-128|0)==57216){r[e>>0]=t;e=1;break}else{o[(Lo()|0)>>2]=84;e=-1;break}if(t>>>0<2048){r[e>>0]=t>>>6|192;r[e+1>>0]=t&63|128;e=2;break}if(t>>>0<55296|(t&-8192|0)==57344){r[e>>0]=t>>>12|224;r[e+1>>0]=t>>>6&63|128;r[e+2>>0]=t&63|128;e=3;break}if((t+-65536|0)>>>0<1048576){r[e>>0]=t>>>18|240;r[e+1>>0]=t>>>12&63|128;r[e+2>>0]=t>>>6&63|128;r[e+3>>0]=t&63|128;e=4;break}else{o[(Lo()|0)>>2]=84;e=-1;break}}else e=1}while(0);return e|0}function cs(){return us()|0}function us(){return 37728}function ls(){return us()|0}function ds(e,t){e=e|0;t=t|0;var n=0,i=0;n=0;while(1){if((s[35616+n>>0]|0)==(e|0)){i=4;break}n=n+1|0;if((n|0)==87){e=87;i=5;break}}if((i|0)==4)if(!n)n=35712;else{e=n;i=5}if((i|0)==5){n=35712;do{do{i=n;n=n+1|0}while((r[i>>0]|0)!=0);e=e+-1|0}while((e|0)!=0)}return hs(n,o[t+20>>2]|0)|0}function hs(e,t){e=e|0;t=t|0;return ps(e,t)|0}function ps(e,t){e=e|0;t=t|0;if(!t)t=0;else t=gs(o[t>>2]|0,o[t+4>>2]|0,e)|0;return((t|0)==0?e:t)|0}function gs(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,f=0,c=0,u=0,l=0,d=0,h=0,p=0;p=(o[e>>2]|0)+1794895138|0;a=ms(o[e+8>>2]|0,p)|0;i=ms(o[e+12>>2]|0,p)|0;s=ms(o[e+16>>2]|0,p)|0;e:do{if((a>>>0<t>>>2>>>0?(h=t-(a<<2)|0,i>>>0<h>>>0&s>>>0<h>>>0):0)?((s|i)&3|0)==0:0){h=i>>>2;d=s>>>2;l=0;while(1){c=a>>>1;u=l+c|0;f=u<<1;s=f+h|0;i=ms(o[e+(s<<2)>>2]|0,p)|0;s=ms(o[e+(s+1<<2)>>2]|0,p)|0;if(!(s>>>0<t>>>0&i>>>0<(t-s|0)>>>0)){i=0;break e}if(r[e+(s+i)>>0]|0){i=0;break e}i=qo(n,e+s|0)|0;if(!i)break;i=(i|0)<0;if((a|0)==1){i=0;break e}l=i?l:u;a=i?c:a-c|0}i=f+d|0;s=ms(o[e+(i<<2)>>2]|0,p)|0;i=ms(o[e+(i+1<<2)>>2]|0,p)|0;if(i>>>0<t>>>0&s>>>0<(t-i|0)>>>0)i=(r[e+(i+s)>>0]|0)==0?e+i|0:0;else i=0}else i=0}while(0);return i|0}function ms(e,t){e=e|0;t=t|0;var n=0;n=Ms(e|0)|0;return((t|0)==0?e:n)|0}function _s(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,f=0,c=0;i=n+16|0;s=o[i>>2]|0;if(!s)if(!(ys(n)|0)){s=o[i>>2]|0;a=5}else i=0;else a=5;e:do{if((a|0)==5){c=n+20|0;f=o[c>>2]|0;i=f;if((s-f|0)>>>0<t>>>0){i=Vs[o[n+36>>2]&1](n,e,t)|0;break}t:do{if((r[n+75>>0]|0)<0|(t|0)==0){a=0;s=e}else{f=t;while(1){s=f+-1|0;if((r[e+s>>0]|0)==10)break;if(!s){a=0;s=e;break t}else f=s}i=Vs[o[n+36>>2]&1](n,e,f)|0;if(i>>>0<f>>>0)break e;a=f;s=e+f|0;t=t-f|0;i=o[c>>2]|0}}while(0);Ps(i|0,s|0,t|0)|0;o[c>>2]=(o[c>>2]|0)+t;i=a+t|0}}while(0);return i|0}function ys(e){e=e|0;var t=0,n=0;t=e+74|0;n=r[t>>0]|0;r[t>>0]=n+255|n;t=o[e>>2]|0;if(!(t&8)){o[e+8>>2]=0;o[e+4>>2]=0;n=o[e+44>>2]|0;o[e+28>>2]=n;o[e+20>>2]=n;o[e+16>>2]=n+(o[e+48>>2]|0);e=0}else{o[e>>2]=t|32;e=-1}return e|0}function bs(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,i=0;r=e+20|0;i=o[r>>2]|0;e=(o[e+16>>2]|0)-i|0;e=e>>>0>n>>>0?n:e;Ps(i|0,t|0,e|0)|0;o[r>>2]=(o[r>>2]|0)+e;return n|0}function vs(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,s=0;i=h;h=h+16|0;s=i;o[s>>2]=r;r=Go(e,t,n,s)|0;h=i;return r|0}function As(){}function ws(e,t){e=e|0;t=t|0;var n=0,r=0,i=0,o=0;o=e&65535;i=t&65535;n=F(i,o)|0;r=e>>>16;e=(n>>>16)+(F(i,r)|0)|0;i=t>>>16;t=F(i,o)|0;return(I=(e>>>16)+(F(i,r)|0)+(((e&65535)+t|0)>>>16)|0,e+t<<16|n&65535|0)|0}function Es(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var i=0,o=0;i=e;o=n;n=ws(i,o)|0;e=I;return(I=(F(t,o)|0)+(F(r,i)|0)+e|e&0,n|0|0)|0}function Ss(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;n=e+n>>>0;return(I=t+r+(n>>>0<e>>>0|0)>>>0,n|0)|0}function ks(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;r=t-r-(n>>>0>e>>>0|0)>>>0;return(I=r,e-n>>>0|0)|0}function Is(e){e=e|0;return(e?31-(z(e^e-1)|0)|0:32)|0}function Rs(e,t,n,r,i){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;var s=0,a=0,f=0,c=0,u=0,l=0,d=0,h=0,p=0,g=0;l=e;c=t;u=c;a=n;h=r;f=h;if(!u){s=(i|0)!=0;if(!f){if(s){o[i>>2]=(l>>>0)%(a>>>0);o[i+4>>2]=0}h=0;i=(l>>>0)/(a>>>0)>>>0;return(I=h,i)|0}else{if(!s){h=0;i=0;return(I=h,i)|0}o[i>>2]=e|0;o[i+4>>2]=t&0;h=0;i=0;return(I=h,i)|0}}s=(f|0)==0;do{if(a){if(!s){s=(z(f|0)|0)-(z(u|0)|0)|0;if(s>>>0<=31){d=s+1|0;f=31-s|0;t=s-31>>31;a=d;e=l>>>(d>>>0)&t|u<<f;t=u>>>(d>>>0)&t;s=0;f=l<<f;break}if(!i){h=0;i=0;return(I=h,i)|0}o[i>>2]=e|0;o[i+4>>2]=c|t&0;h=0;i=0;return(I=h,i)|0}s=a-1|0;if(s&a|0){f=(z(a|0)|0)+33-(z(u|0)|0)|0;g=64-f|0;d=32-f|0;c=d>>31;p=f-32|0;t=p>>31;a=f;e=d-1>>31&u>>>(p>>>0)|(u<<d|l>>>(f>>>0))&t;t=t&u>>>(f>>>0);s=l<<g&c;f=(u<<g|l>>>(p>>>0))&c|l<<d&f-33>>31;break}if(i|0){o[i>>2]=s&l;o[i+4>>2]=0}if((a|0)==1){p=c|t&0;g=e|0|0;return(I=p,g)|0}else{g=Is(a|0)|0;p=u>>>(g>>>0)|0;g=u<<32-g|l>>>(g>>>0)|0;return(I=p,g)|0}}else{if(s){if(i|0){o[i>>2]=(u>>>0)%(a>>>0);o[i+4>>2]=0}p=0;g=(u>>>0)/(a>>>0)>>>0;return(I=p,g)|0}if(!l){if(i|0){o[i>>2]=0;o[i+4>>2]=(u>>>0)%(f>>>0)}p=0;g=(u>>>0)/(f>>>0)>>>0;return(I=p,g)|0}s=f-1|0;if(!(s&f)){if(i|0){o[i>>2]=e|0;o[i+4>>2]=s&u|t&0}p=0;g=u>>>((Is(f|0)|0)>>>0);return(I=p,g)|0}s=(z(f|0)|0)-(z(u|0)|0)|0;if(s>>>0<=30){t=s+1|0;f=31-s|0;a=t;e=u<<f|l>>>(t>>>0);t=u>>>(t>>>0);s=0;f=l<<f;break}if(!i){p=0;g=0;return(I=p,g)|0}o[i>>2]=e|0;o[i+4>>2]=c|t&0;p=0;g=0;return(I=p,g)|0}}while(0);if(!a){u=f;c=0;f=0}else{d=n|0|0;l=h|r&0;u=Ss(d|0,l|0,-1,-1)|0;n=I;c=f;f=0;do{r=c;c=s>>>31|c<<1;s=f|s<<1;r=e<<1|r>>>31|0;h=e>>>31|t<<1|0;ks(u|0,n|0,r|0,h|0)|0;g=I;p=g>>31|((g|0)<0?-1:0)<<1;f=p&1;e=ks(r|0,h|0,p&d|0,(((g|0)<0?-1:0)>>31|((g|0)<0?-1:0)<<1)&l|0)|0;t=I;a=a-1|0}while((a|0)!=0);u=c;c=0}a=0;if(i|0){o[i>>2]=e;o[i+4>>2]=t}p=(s|0)>>>31|(u|a)<<1|(a<<1|s>>>31)&0|c;g=(s<<1|0>>>31)&-2|f;return(I=p,g)|0}function Ts(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;return Rs(e,t,n,r,0)|0}function Os(e,t,n){e=e|0;t=t|0;n=n|0;if((n|0)<32){I=t>>n;return e>>>n|(t&(1<<n)-1)<<32-n}I=(t|0)<0?-1:0;return t>>n-32|0}function Cs(e,t,n){e=e|0;t=t|0;n=n|0;if((n|0)<32){I=t>>>n;return e>>>n|(t&(1<<n)-1)<<32-n}I=0;return t>>>n-32|0}function xs(e,t,n){e=e|0;t=t|0;n=n|0;if((n|0)<32){I=t<<n|(e&(1<<n)-1<<32-n)>>>32-n;return e<<n}I=e<<n-32;return 0}function Ms(e){e=e|0;return(e&255)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function Ps(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0;if((n|0)>=8192)return te(e|0,t|0,n|0)|0;a=e|0;s=e+n|0;if((e&3)==(t&3)){while(e&3){if(!n)return a|0;r[e>>0]=r[t>>0]|0;e=e+1|0;t=t+1|0;n=n-1|0}n=s&-4|0;i=n-64|0;while((e|0)<=(i|0)){o[e>>2]=o[t>>2];o[e+4>>2]=o[t+4>>2];o[e+8>>2]=o[t+8>>2];o[e+12>>2]=o[t+12>>2];o[e+16>>2]=o[t+16>>2];o[e+20>>2]=o[t+20>>2];o[e+24>>2]=o[t+24>>2];o[e+28>>2]=o[t+28>>2];o[e+32>>2]=o[t+32>>2];o[e+36>>2]=o[t+36>>2];o[e+40>>2]=o[t+40>>2];o[e+44>>2]=o[t+44>>2];o[e+48>>2]=o[t+48>>2];o[e+52>>2]=o[t+52>>2];o[e+56>>2]=o[t+56>>2];o[e+60>>2]=o[t+60>>2];e=e+64|0;t=t+64|0}while((e|0)<(n|0)){o[e>>2]=o[t>>2];e=e+4|0;t=t+4|0}}else{n=s-4|0;while((e|0)<(n|0)){r[e>>0]=r[t>>0]|0;r[e+1>>0]=r[t+1>>0]|0;r[e+2>>0]=r[t+2>>0]|0;r[e+3>>0]=r[t+3>>0]|0;e=e+4|0;t=t+4|0}}while((e|0)<(s|0)){r[e>>0]=r[t>>0]|0;e=e+1|0;t=t+1|0}return a|0}function Ds(e,t,n){e=e|0;t=t|0;n=n|0;var i=0,s=0,a=0,f=0;a=e+n|0;t=t&255;if((n|0)>=67){while(e&3){r[e>>0]=t;e=e+1|0}i=a&-4|0;s=i-64|0;f=t|t<<8|t<<16|t<<24;while((e|0)<=(s|0)){o[e>>2]=f;o[e+4>>2]=f;o[e+8>>2]=f;o[e+12>>2]=f;o[e+16>>2]=f;o[e+20>>2]=f;o[e+24>>2]=f;o[e+28>>2]=f;o[e+32>>2]=f;o[e+36>>2]=f;o[e+40>>2]=f;o[e+44>>2]=f;o[e+48>>2]=f;o[e+52>>2]=f;o[e+56>>2]=f;o[e+60>>2]=f;e=e+64|0}while((e|0)<(i|0)){o[e>>2]=f;e=e+4|0}}while((e|0)<(a|0)){r[e>>0]=t;e=e+1|0}return a-n|0}function Bs(e){e=e|0;var t=0,n=0;n=o[l>>2]|0;t=n+e|0;if((e|0)>0&(t|0)<(n|0)|(t|0)<0){Y()|0;ee(12);return-1}o[l>>2]=t;if((t|0)>(W()|0)?(Q()|0)==0:0){o[l>>2]=n;ee(12);return-1}return n|0}function Ns(e,t){e=e|0;t=t|0;return zs[e&1](t|0)|0}function js(e,t,n){e=e|0;t=t|0;n=n|0;return Hs[e&3](t|0,n|0)|0}function Us(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;return Vs[e&1](t|0,n|0,r|0)|0}function Ls(e,t,n,r,i,o,s,a,f,c){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;o=o|0;s=s|0;a=a|0;f=f|0;c=c|0;return Qs[e&3](t|0,n|0,r|0,i|0,o|0,s|0,a|0,f|0,c|0)|0}function qs(e){e=e|0;H(0);return 0}function Fs(e,t){e=e|0;t=t|0;H(1);return 0}function Ks(e,t,n){e=e|0;t=t|0;n=n|0;H(2);return 0}function Gs(e,t,n,r,i,o,s,a,f){e=e|0;t=t|0;n=n|0;r=r|0;i=i|0;o=o|0;s=s|0;a=a|0;f=f|0;H(3);return 0}var zs=[qs,an];var Hs=[Fs,fn,un,Fs];var Vs=[Ks,bs];var Qs=[Gs,cn,ln,Gs];return{___muldi3:Es,___udivdi3:Ts,_bitshift64Ashr:Os,_bitshift64Lshr:Cs,_bitshift64Shl:xs,_free:Uo,_i64Add:Ss,_i64Subtract:ks,_llvm_bswap_i32:Ms,_malloc:jo,_memcpy:Ps,_memset:Ds,_olm_account:Nn,_olm_account_generate_one_time_keys:or,_olm_account_generate_one_time_keys_random_length:ir,_olm_account_identity_keys:Jn,_olm_account_identity_keys_length:Xn,_olm_account_last_error:Cn,_olm_account_mark_keys_as_published:nr,_olm_account_max_number_of_one_time_keys:rr,_olm_account_one_time_keys:tr,_olm_account_one_time_keys_length:er,_olm_account_sign:$n,_olm_account_signature_length:Zn,_olm_account_size:Pn,_olm_clear_account:Ln,_olm_clear_inbound_group_session:Mi,_olm_clear_outbound_group_session:fo,_olm_clear_pk_decryption:qt,_olm_clear_pk_encryption:Ct,_olm_clear_pk_signing:en,_olm_clear_sas:Xi,_olm_clear_session:qn,_olm_clear_utility:Fn,_olm_create_account:Yn,_olm_create_account_random_length:Wn,_olm_create_inbound_session:fr,_olm_create_inbound_session_from:cr,_olm_create_outbound_session:ar,_olm_create_outbound_session_random_length:sr,_olm_create_sas:Zi,_olm_create_sas_random_length:Ji,_olm_decrypt:wr,_olm_decrypt_max_plaintext_length:Ar,_olm_ed25519_verify:kr,_olm_encrypt:vr,_olm_encrypt_message_length:br,_olm_encrypt_message_type:_r,_olm_encrypt_random_length:yr,_olm_error:On,_olm_export_inbound_group_session:Vi,_olm_export_inbound_group_session_length:Hi,_olm_get_library_version:Tn,_olm_group_decrypt:qi,_olm_group_decrypt_max_plaintext_length:Li,_olm_group_encrypt:_o,_olm_group_encrypt_message_length:mo,_olm_import_inbound_group_session:Bi,_olm_inbound_group_session:xi,_olm_inbound_group_session_first_known_index:Gi,_olm_inbound_group_session_id:Ki,_olm_inbound_group_session_id_length:Fi,_olm_inbound_group_session_is_verified:zi,_olm_inbound_group_session_last_error:Pi,_olm_inbound_group_session_size:Ci,_olm_init_inbound_group_session:Di,_olm_init_outbound_group_session:go,_olm_init_outbound_group_session_random_length:po,_olm_matches_inbound_session:pr,_olm_matches_inbound_session_from:gr,_olm_outbound_group_session:ao,_olm_outbound_group_session_id:bo,_olm_outbound_group_session_id_length:yo,_olm_outbound_group_session_key:wo,_olm_outbound_group_session_key_length:Ao,_olm_outbound_group_session_last_error:co,_olm_outbound_group_session_message_index:vo,_olm_outbound_group_session_size:so,_olm_pickle_account:zn,_olm_pickle_account_length:Kn,_olm_pickle_inbound_group_session:ji,_olm_pickle_inbound_group_session_length:Ni,_olm_pickle_outbound_group_session:lo,_olm_pickle_outbound_group_session_length:uo,_olm_pickle_pk_decryption:Vt,_olm_pickle_pk_decryption_length:Ht,_olm_pickle_session:Hn,_olm_pickle_session_length:Gn,_olm_pk_ciphertext_length:Pt,_olm_pk_decrypt:Yt,_olm_pk_decryption:Lt,_olm_pk_decryption_last_error:jt,_olm_pk_decryption_size:Ut,_olm_pk_encrypt:Nt,_olm_pk_encrypt_random_length:Bt,_olm_pk_encryption:Ot,_olm_pk_encryption_last_error:Rt,_olm_pk_encryption_set_recipient_key:xt,_olm_pk_encryption_size:Tt,_olm_pk_generate_key:zt,_olm_pk_generate_key_random_length:Kt,_olm_pk_get_private_key:Xt,_olm_pk_key_from_private:Gt,_olm_pk_key_length:Mt,_olm_pk_mac_length:Dt,_olm_pk_max_plaintext_length:Wt,_olm_pk_private_key_length:Ft,_olm_pk_sign:sn,_olm_pk_signature_length:on,_olm_pk_signing:Zt,_olm_pk_signing_key_from_seed:rn,_olm_pk_signing_last_error:$t,_olm_pk_signing_public_key_length:nn,_olm_pk_signing_seed_length:tn,_olm_pk_signing_size:Jt,_olm_remove_one_time_keys:mr,_olm_sas:Yi,_olm_sas_calculate_mac:io,_olm_sas_calculate_mac_long_kdf:oo,_olm_sas_generate_bytes:no,_olm_sas_get_pubkey:eo,_olm_sas_last_error:Qi,_olm_sas_mac_length:ro,_olm_sas_pubkey_length:$i,_olm_sas_set_their_key:to,_olm_sas_size:Wi,_olm_session:jn,_olm_session_describe:hr,_olm_session_has_received_message:dr,_olm_session_id:lr,_olm_session_id_length:ur,_olm_session_last_error:xn,_olm_session_size:Dn,_olm_sha256:Sr,_olm_sha256_length:Er,_olm_unpickle_account:Vn,_olm_unpickle_inbound_group_session:Ui,_olm_unpickle_outbound_group_session:ho,_olm_unpickle_pk_decryption:Qt,_olm_unpickle_session:Qn,_olm_utility:Un,_olm_utility_last_error:Mn,_olm_utility_size:Bn,_sbrk:Bs,dynCall_ii:Ns,dynCall_iii:js,dynCall_iiii:Us,dynCall_iiiiiiiiii:Ls,establishStackSpace:se,getTempRet0:ce,runPostSets:As,setTempRet0:fe,setThrew:ae,stackAlloc:re,stackRestore:oe,stackSave:ie}}(l.f,l.g,D);l.___muldi3=Ee.___muldi3,l.___udivdi3=Ee.___udivdi3,l._bitshift64Ashr=Ee._bitshift64Ashr,l._bitshift64Lshr=Ee._bitshift64Lshr,l._bitshift64Shl=Ee._bitshift64Shl,l._free=Ee._free,l._i64Add=Ee._i64Add,l._i64Subtract=Ee._i64Subtract,l._llvm_bswap_i32=Ee._llvm_bswap_i32;var Se=l._malloc=Ee._malloc;l._memcpy=Ee._memcpy,l._memset=Ee._memset,l._olm_account=Ee._olm_account,l._olm_account_generate_one_time_keys=Ee._olm_account_generate_one_time_keys,l._olm_account_generate_one_time_keys_random_length=Ee._olm_account_generate_one_time_keys_random_length,l._olm_account_identity_keys=Ee._olm_account_identity_keys,l._olm_account_identity_keys_length=Ee._olm_account_identity_keys_length,l._olm_account_last_error=Ee._olm_account_last_error,l._olm_account_mark_keys_as_published=Ee._olm_account_mark_keys_as_published,l._olm_account_max_number_of_one_time_keys=Ee._olm_account_max_number_of_one_time_keys,l._olm_account_one_time_keys=Ee._olm_account_one_time_keys,l._olm_account_one_time_keys_length=Ee._olm_account_one_time_keys_length,l._olm_account_sign=Ee._olm_account_sign,l._olm_account_signature_length=Ee._olm_account_signature_length,l._olm_account_size=Ee._olm_account_size,l._olm_clear_account=Ee._olm_clear_account,l._olm_clear_inbound_group_session=Ee._olm_clear_inbound_group_session,l._olm_clear_outbound_group_session=Ee._olm_clear_outbound_group_session,l._olm_clear_pk_decryption=Ee._olm_clear_pk_decryption,l._olm_clear_pk_encryption=Ee._olm_clear_pk_encryption,l._olm_clear_pk_signing=Ee._olm_clear_pk_signing,l._olm_clear_sas=Ee._olm_clear_sas,l._olm_clear_session=Ee._olm_clear_session,l._olm_clear_utility=Ee._olm_clear_utility,l._olm_create_account=Ee._olm_create_account,l._olm_create_account_random_length=Ee._olm_create_account_random_length,l._olm_create_inbound_session=Ee._olm_create_inbound_session,l._olm_create_inbound_session_from=Ee._olm_create_inbound_session_from,l._olm_create_outbound_session=Ee._olm_create_outbound_session,l._olm_create_outbound_session_random_length=Ee._olm_create_outbound_session_random_length,l._olm_create_sas=Ee._olm_create_sas,l._olm_create_sas_random_length=Ee._olm_create_sas_random_length,l._olm_decrypt=Ee._olm_decrypt,l._olm_decrypt_max_plaintext_length=Ee._olm_decrypt_max_plaintext_length,l._olm_ed25519_verify=Ee._olm_ed25519_verify,l._olm_encrypt=Ee._olm_encrypt,l._olm_encrypt_message_length=Ee._olm_encrypt_message_length,l._olm_encrypt_message_type=Ee._olm_encrypt_message_type,l._olm_encrypt_random_length=Ee._olm_encrypt_random_length,l._olm_error=Ee._olm_error,l._olm_export_inbound_group_session=Ee._olm_export_inbound_group_session,l._olm_export_inbound_group_session_length=Ee._olm_export_inbound_group_session_length,l._olm_get_library_version=Ee._olm_get_library_version,l._olm_group_decrypt=Ee._olm_group_decrypt,l._olm_group_decrypt_max_plaintext_length=Ee._olm_group_decrypt_max_plaintext_length,l._olm_group_encrypt=Ee._olm_group_encrypt,l._olm_group_encrypt_message_length=Ee._olm_group_encrypt_message_length,l._olm_import_inbound_group_session=Ee._olm_import_inbound_group_session,l._olm_inbound_group_session=Ee._olm_inbound_group_session,l._olm_inbound_group_session_first_known_index=Ee._olm_inbound_group_session_first_known_index,l._olm_inbound_group_session_id=Ee._olm_inbound_group_session_id,l._olm_inbound_group_session_id_length=Ee._olm_inbound_group_session_id_length,l._olm_inbound_group_session_is_verified=Ee._olm_inbound_group_session_is_verified,l._olm_inbound_group_session_last_error=Ee._olm_inbound_group_session_last_error,l._olm_inbound_group_session_size=Ee._olm_inbound_group_session_size,l._olm_init_inbound_group_session=Ee._olm_init_inbound_group_session,l._olm_init_outbound_group_session=Ee._olm_init_outbound_group_session,l._olm_init_outbound_group_session_random_length=Ee._olm_init_outbound_group_session_random_length,l._olm_matches_inbound_session=Ee._olm_matches_inbound_session,l._olm_matches_inbound_session_from=Ee._olm_matches_inbound_session_from,l._olm_outbound_group_session=Ee._olm_outbound_group_session,l._olm_outbound_group_session_id=Ee._olm_outbound_group_session_id,l._olm_outbound_group_session_id_length=Ee._olm_outbound_group_session_id_length,l._olm_outbound_group_session_key=Ee._olm_outbound_group_session_key,l._olm_outbound_group_session_key_length=Ee._olm_outbound_group_session_key_length,l._olm_outbound_group_session_last_error=Ee._olm_outbound_group_session_last_error,l._olm_outbound_group_session_message_index=Ee._olm_outbound_group_session_message_index,l._olm_outbound_group_session_size=Ee._olm_outbound_group_session_size,l._olm_pickle_account=Ee._olm_pickle_account,l._olm_pickle_account_length=Ee._olm_pickle_account_length,l._olm_pickle_inbound_group_session=Ee._olm_pickle_inbound_group_session,l._olm_pickle_inbound_group_session_length=Ee._olm_pickle_inbound_group_session_length,l._olm_pickle_outbound_group_session=Ee._olm_pickle_outbound_group_session,l._olm_pickle_outbound_group_session_length=Ee._olm_pickle_outbound_group_session_length,l._olm_pickle_pk_decryption=Ee._olm_pickle_pk_decryption,l._olm_pickle_pk_decryption_length=Ee._olm_pickle_pk_decryption_length,l._olm_pickle_session=Ee._olm_pickle_session,l._olm_pickle_session_length=Ee._olm_pickle_session_length,l._olm_pk_ciphertext_length=Ee._olm_pk_ciphertext_length,l._olm_pk_decrypt=Ee._olm_pk_decrypt,l._olm_pk_decryption=Ee._olm_pk_decryption,l._olm_pk_decryption_last_error=Ee._olm_pk_decryption_last_error,l._olm_pk_decryption_size=Ee._olm_pk_decryption_size,l._olm_pk_encrypt=Ee._olm_pk_encrypt,l._olm_pk_encrypt_random_length=Ee._olm_pk_encrypt_random_length,l._olm_pk_encryption=Ee._olm_pk_encryption,l._olm_pk_encryption_last_error=Ee._olm_pk_encryption_last_error,l._olm_pk_encryption_set_recipient_key=Ee._olm_pk_encryption_set_recipient_key,l._olm_pk_encryption_size=Ee._olm_pk_encryption_size,l._olm_pk_generate_key=Ee._olm_pk_generate_key,l._olm_pk_generate_key_random_length=Ee._olm_pk_generate_key_random_length,l._olm_pk_get_private_key=Ee._olm_pk_get_private_key,l._olm_pk_key_from_private=Ee._olm_pk_key_from_private,l._olm_pk_key_length=Ee._olm_pk_key_length,l._olm_pk_mac_length=Ee._olm_pk_mac_length,l._olm_pk_max_plaintext_length=Ee._olm_pk_max_plaintext_length,l._olm_pk_private_key_length=Ee._olm_pk_private_key_length,l._olm_pk_sign=Ee._olm_pk_sign,l._olm_pk_signature_length=Ee._olm_pk_signature_length,l._olm_pk_signing=Ee._olm_pk_signing,l._olm_pk_signing_key_from_seed=Ee._olm_pk_signing_key_from_seed,l._olm_pk_signing_last_error=Ee._olm_pk_signing_last_error,l._olm_pk_signing_public_key_length=Ee._olm_pk_signing_public_key_length,l._olm_pk_signing_seed_length=Ee._olm_pk_signing_seed_length,l._olm_pk_signing_size=Ee._olm_pk_signing_size,l._olm_remove_one_time_keys=Ee._olm_remove_one_time_keys,l._olm_sas=Ee._olm_sas,l._olm_sas_calculate_mac=Ee._olm_sas_calculate_mac,l._olm_sas_calculate_mac_long_kdf=Ee._olm_sas_calculate_mac_long_kdf,l._olm_sas_generate_bytes=Ee._olm_sas_generate_bytes,l._olm_sas_get_pubkey=Ee._olm_sas_get_pubkey,l._olm_sas_last_error=Ee._olm_sas_last_error,l._olm_sas_mac_length=Ee._olm_sas_mac_length,l._olm_sas_pubkey_length=Ee._olm_sas_pubkey_length,l._olm_sas_set_their_key=Ee._olm_sas_set_their_key,l._olm_sas_size=Ee._olm_sas_size,l._olm_session=Ee._olm_session,l._olm_session_describe=Ee._olm_session_describe,l._olm_session_has_received_message=Ee._olm_session_has_received_message,l._olm_session_id=Ee._olm_session_id,l._olm_session_id_length=Ee._olm_session_id_length,l._olm_session_last_error=Ee._olm_session_last_error,l._olm_session_size=Ee._olm_session_size,l._olm_sha256=Ee._olm_sha256,l._olm_sha256_length=Ee._olm_sha256_length,l._olm_unpickle_account=Ee._olm_unpickle_account,l._olm_unpickle_inbound_group_session=Ee._olm_unpickle_inbound_group_session,l._olm_unpickle_outbound_group_session=Ee._olm_unpickle_outbound_group_session,l._olm_unpickle_pk_decryption=Ee._olm_unpickle_pk_decryption,l._olm_unpickle_session=Ee._olm_unpickle_session,l._olm_utility=Ee._olm_utility,l._olm_utility_last_error=Ee._olm_utility_last_error,l._olm_utility_size=Ee._olm_utility_size,l._sbrk=Ee._sbrk,l.establishStackSpace=Ee.establishStackSpace,l.getTempRet0=Ee.getTempRet0,l.runPostSets=Ee.runPostSets,l.setTempRet0=Ee.setTempRet0,l.setThrew=Ee.setThrew;var ke=l.stackAlloc=Ee.stackAlloc,Ie=l.stackRestore=Ee.stackRestore,Re=l.stackSave=Ee.stackSave;if(l.dynCall_ii=Ee.dynCall_ii,l.dynCall_iii=Ee.dynCall_iii,l.dynCall_iiii=Ee.dynCall_iiii,l.dynCall_iiiiiiiiii=Ee.dynCall_iiiiiiiiii,l.asm=Ee,l.ALLOC_STACK=1,ge){if(String.prototype.startsWith?!ge.startsWith(me):0!==ge.indexOf(me)){var Te=ge;ge=l.locateFile?l.locateFile(Te,E):E+Te}if(b||v){var Oe=l.readBinary(ge);N.set(Oe,8)}else{var Ce=function(){l.readAsync(ge,xe,(function(){throw"could not load memory initializer "+ge}))};de++,l.monitorRunDependencies&&l.monitorRunDependencies(de);var xe=function(e){e.byteLength&&(e=new Uint8Array(e)),N.set(e,8),l.memoryInitializerRequest&&delete l.memoryInitializerRequest.response,de--,l.monitorRunDependencies&&l.monitorRunDependencies(de),0==de&&(null!==he&&(clearInterval(he),he=null),pe&&(e=pe,pe=null,e()))},Me=we(ge);if(Me)xe(Me.buffer);else if(l.memoryInitializerRequest){var Pe=function(){var e=l.memoryInitializerRequest,t=e.response;if(200!==e.status&&0!==e.status){if(!(t=we(l.memoryInitializerRequestURL)))return console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+e.status+", retrying "+ge),void Ce();t=t.buffer}xe(t)};l.memoryInitializerRequest.response?setTimeout(Pe,0):l.memoryInitializerRequest.addEventListener("load",Pe)}else Ce()}}function De(){function e(){if(!l.calledRun&&(l.calledRun=!0,!O)){if(oe||(oe=!0,ee(ne)),ee(re),l.onRuntimeInitialized&&l.onRuntimeInitialized(),l.postRun)for("function"==typeof l.postRun&&(l.postRun=[l.postRun]);l.postRun.length;){var e=l.postRun.shift();ie.unshift(e)}ee(ie)}}if(!(0<de)){if(l.preRun)for("function"==typeof l.preRun&&(l.preRun=[l.preRun]);l.preRun.length;)se();ee(te),0<de||l.calledRun||(l.setStatus?(l.setStatus("Running..."),setTimeout((function(){setTimeout((function(){l.setStatus("")}),1),e()}),1)):e())}}function Be(e){throw l.onAbort&&l.onAbort(e),void 0!==e?(S(e),k(e),e=JSON.stringify(e)):e="",O=!0,"abort("+e+"). Build with -s ASSERTIONS=1 for more info."}if(l.then=function(e){if(l.calledRun)e(l);else{var t=l.onRuntimeInitialized;l.onRuntimeInitialized=function(){t&&t(),e(l)}}return l},pe=function e(){l.calledRun||De(),l.calledRun||(pe=e)},l.run=De,l.abort=Be,l.preInit)for("function"==typeof l.preInit&&(l.preInit=[l.preInit]);0<l.preInit.length;)l.preInit.pop()();function Ne(){var e=l._olm_outbound_group_session_size();this.b=Ye(e),this.a=l._olm_outbound_group_session(this.b)}function je(e){return function(){var t=e.apply(this,arguments);if(t===We)throw t=W(l._olm_outbound_group_session_last_error(arguments[0])),Error("OLM."+t);return t}}function Ue(){var e=l._olm_inbound_group_session_size();this.b=Ye(e),this.a=l._olm_inbound_group_session(this.b)}function Le(e){return function(){var t=e.apply(this,arguments);if(t===We)throw t=W(l._olm_inbound_group_session_last_error(arguments[0])),Error("OLM."+t);return t}}function qe(){var e=l._olm_pk_encryption_size();this.b=Ye(e),this.a=l._olm_pk_encryption(this.b)}function Fe(e){return function(){var t=e.apply(this,arguments);if(t===We)throw t=W(l._olm_pk_encryption_last_error(arguments[0])),Error("OLM."+t);return t}}function Ke(){var e=l._olm_pk_decryption_size();this.b=Ye(e),this.a=l._olm_pk_decryption(this.b)}function Ge(e){return function(){var t=e.apply(this,arguments);if(t===We)throw t=W(l._olm_pk_decryption_last_error(arguments[0])),Error("OLM."+t);return t}}function ze(){var e=l._olm_pk_signing_size();this.b=Ye(e),this.a=l._olm_pk_signing(this.b)}function He(e){return function(){var t=e.apply(this,arguments);if(t===We)throw t=W(l._olm_pk_signing_last_error(arguments[0])),Error("OLM."+t);return t}}function Ve(){var e=l._olm_sas_size(),t=l._olm_create_sas_random_length(),n=Je(t);this.b=Ye(e),this.a=l._olm_sas(this.b),l._olm_create_sas(this.a,n,t),$e(n,t)}function Qe(e){return function(){var t=e.apply(this,arguments);if(t===We)throw t=W(l._olm_sas_last_error(arguments[0])),Error("OLM."+t);return t}}l.noExitRuntime=!0,De(),Ne.prototype.free=function(){l._olm_clear_outbound_group_session(this.a),Xe(this.a)},Ne.prototype.pickle=Ze((function(e){e=be(e);var t=je(l._olm_pickle_outbound_group_session_length)(this.a),n=P(e),r=P(t+1);try{je(l._olm_pickle_outbound_group_session)(this.a,n,e.length,r,t)}finally{for($e(n,e.length),t=0;t<e.length;t++)e[t]=0}return W(r)})),Ne.prototype.unpickle=Ze((function(e,t){var n=P(e=be(e)),r=P(t=be(t));try{je(l._olm_unpickle_outbound_group_session)(this.a,n,e.length,r,t.length)}finally{for($e(n,e.length),n=0;n<e.length;n++)e[n]=0}})),Ne.prototype.create=Ze((function(){var e=je(l._olm_init_outbound_group_session_random_length)(this.a),t=Je(e);je(l._olm_init_outbound_group_session)(this.a,t,e)})),Ne.prototype.encrypt=function(e){try{var t=X(e),n=je(l._olm_group_encrypt_message_length)(this.a,t),r=Ye(t+1);Y(e,N,r,t+1);var i=Ye(n+1);return je(l._olm_group_encrypt)(this.a,r,t,i,n),x(i+n),W(i)}finally{void 0!==r&&($e(r,t+1),Xe(r)),void 0!==i&&Xe(i)}},Ne.prototype.session_id=Ze((function(){var e=je(l._olm_outbound_group_session_id_length)(this.a),t=P(e+1);return je(l._olm_outbound_group_session_id)(this.a,t,e),W(t)})),Ne.prototype.session_key=Ze((function(){var e=je(l._olm_outbound_group_session_key_length)(this.a),t=P(e+1);je(l._olm_outbound_group_session_key)(this.a,t,e);var n=W(t);return $e(t,e),n})),Ne.prototype.message_index=function(){return je(l._olm_outbound_group_session_message_index)(this.a)},u.OutboundGroupSession=Ne,Ue.prototype.free=function(){l._olm_clear_inbound_group_session(this.a),Xe(this.a)},Ue.prototype.pickle=Ze((function(e){e=be(e);var t=Le(l._olm_pickle_inbound_group_session_length)(this.a),n=P(e),r=P(t+1);try{Le(l._olm_pickle_inbound_group_session)(this.a,n,e.length,r,t)}finally{for($e(n,e.length),t=0;t<e.length;t++)e[t]=0}return W(r)})),Ue.prototype.unpickle=Ze((function(e,t){var n=P(e=be(e)),r=P(t=be(t));try{Le(l._olm_unpickle_inbound_group_session)(this.a,n,e.length,r,t.length)}finally{for($e(n,e.length),n=0;n<e.length;n++)e[n]=0}})),Ue.prototype.create=Ze((function(e){var t=P(e=be(e));try{Le(l._olm_init_inbound_group_session)(this.a,t,e.length)}finally{for($e(t,e.length),t=0;t<e.length;t++)e[t]=0}})),Ue.prototype.import_session=Ze((function(e){var t=P(e=be(e));try{Le(l._olm_import_inbound_group_session)(this.a,t,e.length)}finally{for($e(t,e.length),t=0;t<e.length;t++)e[t]=0}})),Ue.prototype.decrypt=Ze((function(e){try{var t=Ye(e.length);ae(e,t);var n=Le(l._olm_group_decrypt_max_plaintext_length)(this.a,t,e.length);ae(e,t);var r=Ye(n+1),i=P(4),o=Le(l._olm_group_decrypt)(this.a,t,e.length,r,n,i);return x(r+o),{plaintext:W(r),message_index:M(i,"i32")}}finally{void 0!==t&&Xe(t),void 0!==r&&($e(r,o),Xe(r))}})),Ue.prototype.session_id=Ze((function(){var e=Le(l._olm_inbound_group_session_id_length)(this.a),t=P(e+1);return Le(l._olm_inbound_group_session_id)(this.a,t,e),W(t)})),Ue.prototype.first_known_index=Ze((function(){return Le(l._olm_inbound_group_session_first_known_index)(this.a)})),Ue.prototype.export_session=Ze((function(e){var t=Le(l._olm_export_inbound_group_session_length)(this.a),n=P(t+1);return je(l._olm_export_inbound_group_session)(this.a,n,t,e),e=W(n),$e(n,t),e})),u.InboundGroupSession=Ue,qe.prototype.free=function(){l._olm_clear_pk_encryption(this.a),Xe(this.a)},qe.prototype.set_recipient_key=Ze((function(e){var t=P(e=be(e));Fe(l._olm_pk_encryption_set_recipient_key)(this.a,t,e.length)})),qe.prototype.encrypt=Ze((function(e){try{var t=X(e),n=Ye(t+1);Y(e,N,n,t+1);var r=Fe(l._olm_pk_encrypt_random_length)(),i=Je(r),o=Fe(l._olm_pk_ciphertext_length)(this.a,t),s=Ye(o+1),a=Fe(l._olm_pk_mac_length)(this.a),f=P(a+1);x(f+a);var c=Fe(l._olm_pk_key_length)(),u=P(c+1);return x(u+c),Fe(l._olm_pk_encrypt)(this.a,n,t,s,o,f,a,u,c,i,r),x(s+o),{ciphertext:W(s),mac:W(f),ephemeral:W(u)}}finally{void 0!==i&&$e(i,r),void 0!==n&&($e(n,t+1),Xe(n)),void 0!==s&&Xe(s)}})),Ke.prototype.free=function(){l._olm_clear_pk_decryption(this.a),Xe(this.a)},Ke.prototype.init_with_private_key=Ze((function(e){var t=P(e.length);l.HEAPU8.set(e,t);var n=Ge(l._olm_pk_key_length)(),r=P(n+1);try{Ge(l._olm_pk_key_from_private)(this.a,r,n,t,e.length)}finally{$e(t,e.length)}return W(r)})),Ke.prototype.generate_key=Ze((function(){var e=Ge(l._olm_pk_private_key_length)(),t=Je(e),n=Ge(l._olm_pk_key_length)(),r=P(n+1);try{Ge(l._olm_pk_key_from_private)(this.a,r,n,t,e)}finally{$e(t,e)}return W(r)})),Ke.prototype.get_private_key=Ze((function(){var e=Fe(l._olm_pk_private_key_length)(),t=P(e);Ge(l._olm_pk_get_private_key)(this.a,t,e);var n=new Uint8Array(new Uint8Array(l.HEAPU8.buffer,t,e));return $e(t,e),n})),Ke.prototype.pickle=Ze((function(e){e=be(e);var t=Ge(l._olm_pickle_pk_decryption_length)(this.a),n=P(e),r=P(t+1);try{Ge(l._olm_pickle_pk_decryption)(this.a,n,e.length,r,t)}finally{for($e(n,e.length),t=0;t<e.length;t++)e[t]=0}return W(r)})),Ke.prototype.unpickle=Ze((function(e,t){var n=P(e=be(e)),r=be(t),i=P(r),o=Ge(l._olm_pk_key_length)();t=P(o+1);try{Ge(l._olm_unpickle_pk_decryption)(this.a,n,e.length,i,r.length,t,o)}finally{for($e(n,e.length),n=0;n<e.length;n++)e[n]=0}return W(t)})),Ke.prototype.decrypt=Ze((function(e,t,n){try{var r=X(n),i=Ye(r+1);Y(n,N,i,r+1);var o=be(e),s=P(o),a=be(t),f=P(a),c=Ge(l._olm_pk_max_plaintext_length)(this.a,r),u=Ye(c+1),d=Ge(l._olm_pk_decrypt)(this.a,s,o.length,f,a.length,i,r,u,c);return x(u+d),W(u)}finally{void 0!==u&&($e(u,d+1),Xe(u)),void 0!==i&&Xe(i)}})),ze.prototype.free=function(){l._olm_clear_pk_signing(this.a),Xe(this.a)},ze.prototype.init_with_seed=Ze((function(e){var t=P(e.length);l.HEAPU8.set(e,t);var n=He(l._olm_pk_signing_public_key_length)(),r=P(n+1);try{He(l._olm_pk_signing_key_from_seed)(this.a,r,n,t,e.length)}finally{$e(t,e.length)}return W(r)})),ze.prototype.generate_seed=Ze((function(){var e=He(l._olm_pk_signing_seed_length)(),t=Je(e),n=new Uint8Array(new Uint8Array(l.HEAPU8.buffer,t,e));return $e(t,e),n})),ze.prototype.sign=Ze((function(e){try{var t=X(e),n=Ye(t+1);Y(e,N,n,t+1);var r=He(l._olm_pk_signature_length)(),i=P(r+1);return He(l._olm_pk_sign)(this.a,n,t,i,r),W(i)}finally{void 0!==n&&($e(n,t+1),Xe(n))}})),Ve.prototype.free=function(){l._olm_clear_sas(this.a),Xe(this.a)},Ve.prototype.get_pubkey=Ze((function(){var e=Qe(l._olm_sas_pubkey_length)(this.a),t=P(e+1);return Qe(l._olm_sas_get_pubkey)(this.a,t,e),W(t)})),Ve.prototype.set_their_key=Ze((function(e){var t=P(e=be(e));Qe(l._olm_sas_set_their_key)(this.a,t,e.length)})),Ve.prototype.generate_bytes=Ze((function(e,t){var n=P(e=be(e)),r=P(t);return Qe(l._olm_sas_generate_bytes)(this.a,n,e.length,r,t),new Uint8Array(new Uint8Array(l.HEAPU8.buffer,r,t))})),Ve.prototype.calculate_mac=Ze((function(e,t){var n=P(e=be(e)),r=P(t=be(t)),i=Qe(l._olm_sas_mac_length)(this.a),o=P(i+1);return Qe(l._olm_sas_calculate_mac)(this.a,n,e.length,r,t.length,o,i),W(o)})),Ve.prototype.calculate_mac_long_kdf=Ze((function(e,t){var n=P(e=be(e)),r=P(t=be(t)),i=Qe(l._olm_sas_mac_length)(this.a),o=P(i+1);return Qe(l._olm_sas_calculate_mac_long_kdf)(this.a,n,e.length,r,t.length,o,i),W(o)}));var We,Ye=l._malloc,Xe=l._free;function Je(e){var t=P(e);return e=new Uint8Array(l.HEAPU8.buffer,t,e),d(e),t}function Ze(e){return function(){var t=Re();try{return e.apply(this,arguments)}finally{Ie(t)}}}function $e(e,t){for(;0<t--;)l.HEAP8[e++]=0}function et(){var e=l._olm_account_size();this.b=Ye(e),this.a=l._olm_account(this.b)}function tt(e){return function(){var t=e.apply(this,arguments);if(t===We)throw t=W(l._olm_account_last_error(arguments[0])),Error("OLM."+t);return t}}function nt(){var e=l._olm_session_size();this.b=Ye(e),this.a=l._olm_session(this.b)}function rt(e){return function(){var t=e.apply(this,arguments);if(t===We)throw t=W(l._olm_session_last_error(arguments[0])),Error("OLM."+t);return t}}function it(){var e=l._olm_utility_size();this.b=Ye(e),this.a=l._olm_utility(this.b)}function ot(e){return function(){var t=e.apply(this,arguments);if(t===We)throw t=W(l._olm_utility_last_error(arguments[0])),Error("OLM."+t);return t}}return et.prototype.free=function(){l._olm_clear_account(this.a),Xe(this.a)},et.prototype.create=Ze((function(){var e=tt(l._olm_create_account_random_length)(this.a),t=Je(e);tt(l._olm_create_account)(this.a,t,e)})),et.prototype.identity_keys=Ze((function(){var e=tt(l._olm_account_identity_keys_length)(this.a),t=P(e+1);return tt(l._olm_account_identity_keys)(this.a,t,e),W(t)})),et.prototype.sign=Ze((function(e){var t=tt(l._olm_account_signature_length)(this.a),n=P(e=be(e)),r=P(t+1);try{tt(l._olm_account_sign)(this.a,n,e.length,r,t)}finally{for($e(n,e.length),t=0;t<e.length;t++)e[t]=0}return W(r)})),et.prototype.one_time_keys=Ze((function(){var e=tt(l._olm_account_one_time_keys_length)(this.a),t=P(e+1);return tt(l._olm_account_one_time_keys)(this.a,t,e),W(t)})),et.prototype.mark_keys_as_published=Ze((function(){tt(l._olm_account_mark_keys_as_published)(this.a)})),et.prototype.max_number_of_one_time_keys=Ze((function(){return tt(l._olm_account_max_number_of_one_time_keys)(this.a)})),et.prototype.generate_one_time_keys=Ze((function(e){var t=tt(l._olm_account_generate_one_time_keys_random_length)(this.a,e),n=Je(t);tt(l._olm_account_generate_one_time_keys)(this.a,e,n,t)})),et.prototype.remove_one_time_keys=Ze((function(e){tt(l._olm_remove_one_time_keys)(this.a,e.a)})),et.prototype.pickle=Ze((function(e){e=be(e);var t=tt(l._olm_pickle_account_length)(this.a),n=P(e),r=P(t+1);try{tt(l._olm_pickle_account)(this.a,n,e.length,r,t)}finally{for($e(n,e.length),t=0;t<e.length;t++)e[t]=0}return W(r)})),et.prototype.unpickle=Ze((function(e,t){var n=P(e=be(e)),r=P(t=be(t));try{tt(l._olm_unpickle_account)(this.a,n,e.length,r,t.length)}finally{for($e(n,e.length),n=0;n<e.length;n++)e[n]=0}})),nt.prototype.free=function(){l._olm_clear_session(this.a),Xe(this.a)},nt.prototype.pickle=Ze((function(e){e=be(e);var t=rt(l._olm_pickle_session_length)(this.a),n=P(e),r=P(t+1);try{rt(l._olm_pickle_session)(this.a,n,e.length,r,t)}finally{for($e(n,e.length),t=0;t<e.length;t++)e[t]=0}return W(r)})),nt.prototype.unpickle=Ze((function(e,t){var n=P(e=be(e)),r=P(t=be(t));try{rt(l._olm_unpickle_session)(this.a,n,e.length,r,t.length)}finally{for($e(n,e.length),n=0;n<e.length;n++)e[n]=0}})),nt.prototype.create_outbound=Ze((function(e,t,n){var r=rt(l._olm_create_outbound_session_random_length)(this.a),i=Je(r);t=be(t),n=be(n);var o=P(t),s=P(n);try{rt(l._olm_create_outbound_session)(this.a,e.a,o,t.length,s,n.length,i,r)}finally{$e(i,r)}})),nt.prototype.create_inbound=Ze((function(e,t){var n=P(t=be(t));try{rt(l._olm_create_inbound_session)(this.a,e.a,n,t.length)}finally{for($e(n,t.length),e=0;e<t.length;e++)t[e]=0}})),nt.prototype.create_inbound_from=Ze((function(e,t,n){var r=P(t=be(t)),i=P(n=be(n));try{rt(l._olm_create_inbound_session_from)(this.a,e.a,r,t.length,i,n.length)}finally{for($e(i,n.length),e=0;e<n.length;e++)n[e]=0}})),nt.prototype.session_id=Ze((function(){var e=rt(l._olm_session_id_length)(this.a),t=P(e+1);return rt(l._olm_session_id)(this.a,t,e),W(t)})),nt.prototype.has_received_message=function(){return!!rt(l._olm_session_has_received_message)(this.a)},nt.prototype.matches_inbound=Ze((function(e){var t=P(e=be(e));return!!rt(l._olm_matches_inbound_session)(this.a,t,e.length)})),nt.prototype.matches_inbound_from=Ze((function(e,t){var n=P(e=be(e)),r=P(t=be(t));return!!rt(l._olm_matches_inbound_session_from)(this.a,n,e.length,r,t.length)})),nt.prototype.encrypt=Ze((function(e){try{var t=rt(l._olm_encrypt_random_length)(this.a),n=rt(l._olm_encrypt_message_type)(this.a),r=X(e),i=rt(l._olm_encrypt_message_length)(this.a,r),o=Je(t),s=Ye(r+1);Y(e,N,s,r+1);var a=Ye(i+1);return rt(l._olm_encrypt)(this.a,s,r,o,t,a,i),x(a+i),{type:n,body:W(a)}}finally{void 0!==o&&$e(o,t),void 0!==s&&($e(s,r+1),Xe(s)),void 0!==a&&Xe(a)}})),nt.prototype.decrypt=Ze((function(e,t){try{var n=Ye(t.length);ae(t,n);var r=rt(l._olm_decrypt_max_plaintext_length)(this.a,e,n,t.length);ae(t,n);var i=Ye(r+1);return x(i+rt(l._olm_decrypt)(this.a,e,n,t.length,i,r)),W(i)}finally{void 0!==n&&Xe(n),void 0!==i&&($e(i,r),Xe(i))}})),nt.prototype.describe=Ze((function(){try{var e=Ye(256);return rt(l._olm_session_describe)(this.a,e,256),W(e)}finally{void 0!==e&&Xe(e)}})),it.prototype.free=function(){l._olm_clear_utility(this.a),Xe(this.a)},it.prototype.sha256=Ze((function(e){var t=ot(l._olm_sha256_length)(this.a),n=P(e=be(e)),r=P(t+1);try{ot(l._olm_sha256)(this.a,n,e.length,r,t)}finally{for($e(n,e.length),t=0;t<e.length;t++)e[t]=0}return W(r)})),it.prototype.ed25519_verify=Ze((function(e,t,n){var r=P(e=be(e)),i=P(t=be(t)),o=P(n=be(n));try{ot(l._olm_ed25519_verify)(this.a,r,e.length,i,t.length,o,n.length)}finally{for($e(i,t.length),e=0;e<t.length;e++)t[e]=0}})),u.Account=et,u.Session=nt,u.Utility=it,u.PkEncryption=qe,u.PkDecryption=Ke,u.PkSigning=ze,u.SAS=Ve,u.get_library_version=Ze((function(){var e=P(3);return l._olm_get_library_version(e,e+1,e+2),[M(e,"i8"),M(e+1,"i8"),M(e+2,"i8")]})),c});e.exports=l,u.init=function(e){return c||(e&&(OLM_OPTIONS=e),c=new Promise((function(e,t){s=function(){e()},a=function(e){t(e)},l()})))},"undefined"!=typeof window&&(window.Olm=u),e.exports=u}).call(this,n(6),n(13),"/",n(11).Buffer)},function(e,t,n){e.exports=n(313).default},function(e,t,n){"use strict";var r=n(0),i=n.n(r);n(9);t.a=function(e){var t=e.handleToggleOpen,n=e.size;return(i.a.createElement("button",{type:"button",className:"dock",onClick:t,onKeyPress:t,"aria-labelledby":"open-chatbox-label"},"small"===n?i.a.createElement("div",{id:"open-chatbox-label"},i.a.createElement("span",null,"Chat"),i.a.createElement("span",{className:"icon"},"+")):i.a.createElement(r.Fragment,null,i.a.createElement("div",{id:"open-chatbox-label"},"Start a new chat"),i.a.createElement("div",{className:"label-icon"},i.a.createElement("div",{className:"btn-icon","aria-label":"Open support chat window"},"+")))))}},function(e,t,n){(function(t){var r;e.exports=(r=n(0),function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=48)}([function(e,t){e.exports=r},function(e,t){e.exports={EMOJI_PROPERTY_NAME:"n",EMOJI_PROPERTY_UNIFIED:"u",EMOJI_PROPERTY_SKIN_VARIATIONS:"v",EMOJI_PROPERTY_GROUP:"g",GROUP_NAME_PEOPLE:"smileys & people",GROUP_NAME_NATURE:"animals & nature",GROUP_NAME_FOOD:"food & drink",GROUP_NAME_TRAVEL:"travel & places",GROUP_NAME_ACTIVITIES:"activities",GROUP_NAME_OBJECTS:"objects",GROUP_NAME_SYMBOLS:"symbols",GROUP_NAME_FLAGS:"flags",GROUP_NAME_RECENTLY_USED:"Recently Used"}},function(e,t,n){e.exports=n(17)()},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t,n){var r=n(20),i=n(21),o=n(22);e.exports=function(e){return r(e)||i(e)||o()}},function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n,r,i,o=e[1]||"",s=e[3];if(!s)return o;if(t&&"function"==typeof btoa){var a=(n=s,r=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),i="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(r),"/*# ".concat(i," */")),f=s.sources.map((function(e){return"/*# sourceURL=".concat(s.sourceRoot).concat(e," */")}));return[o].concat(f).concat([a]).join("\n")}return[o].join("\n")}(t,e);return t[2]?"@media ".concat(t[2],"{").concat(n,"}"):n})).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},i=0;i<this.length;i++){var o=this[i][0];null!=o&&(r[o]=!0)}for(var s=0;s<e.length;s++){var a=e[s];null!=a[0]&&r[a[0]]||(n&&!a[2]?a[2]=n:n&&(a[2]="(".concat(a[2],") and (").concat(n,")")),t.push(a))}},t}},function(e,t,n){"use strict";var r,i={},o=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}();function s(e,t){for(var n=[],r={},i=0;i<e.length;i++){var o=e[i],s=t.base?o[0]+t.base:o[0],a={css:o[1],media:o[2],sourceMap:o[3]};r[s]?r[s].parts.push(a):n.push(r[s]={id:s,parts:[a]})}return n}function a(e,t){for(var n=0;n<e.length;n++){var r=e[n],o=i[r.id],s=0;if(o){for(o.refs++;s<o.parts.length;s++)o.parts[s](r.parts[s]);for(;s<r.parts.length;s++)o.parts.push(g(r.parts[s],t))}else{for(var a=[];s<r.parts.length;s++)a.push(g(r.parts[s],t));i[r.id]={id:r.id,refs:1,parts:a}}}}function f(e){var t=document.createElement("style");if(void 0===e.attributes.nonce){var r=n.nc;r&&(e.attributes.nonce=r)}if(Object.keys(e.attributes).forEach((function(n){t.setAttribute(n,e.attributes[n])})),"function"==typeof e.insert)e.insert(t);else{var i=o(e.insert||"head");if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(t)}return t}var c,u=(c=[],function(e,t){return c[e]=t,c.filter(Boolean).join("\n")});function l(e,t,n,r){var i=n?"":r.css;if(e.styleSheet)e.styleSheet.cssText=u(t,i);else{var o=document.createTextNode(i),s=e.childNodes;s[t]&&e.removeChild(s[t]),s.length?e.insertBefore(o,s[t]):e.appendChild(o)}}function d(e,t,n){var r=n.css,i=n.media,o=n.sourceMap;if(i&&e.setAttribute("media",i),o&&btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}var h=null,p=0;function g(e,t){var n,r,i;if(t.singleton){var o=p++;n=h||(h=f(t)),r=l.bind(null,n,o,!1),i=l.bind(null,n,o,!0)}else n=f(t),r=d.bind(null,n,t),i=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else i()}}e.exports=function(e,t){(t=t||{}).attributes="object"==typeof t.attributes?t.attributes:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=(void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r));var n=s(e,t);return a(n,t),function(e){for(var r=[],o=0;o<n.length;o++){var f=n[o],c=i[f.id];c&&(c.refs--,r.push(c))}e&&a(s(e,t),t);for(var u=0;u<r.length;u++){var l=r[u];if(0===l.refs){for(var d=0;d<l.parts.length;d++)l.parts[d]();delete i[l.id]}}}}},function(e,t,n){var r;!function(){"use strict";var n={}.hasOwnProperty;function i(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var s=i.apply(null,r);s&&e.push(s)}else if("object"===o)for(var a in r)n.call(r,a)&&r[a]&&e.push(a)}}return e.join(" ")}e.exports?(i.default=i,e.exports=i):void 0===(r=function(){return i}.apply(t,[]))||(e.exports=r)}()},function(e){e.exports=JSON.parse('["neutral","1f3fb","1f3fc","1f3fd","1f3fe","1f3ff"]')},function(e,t){function n(){return e.exports=n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},n.apply(this,arguments)}e.exports=n},function(e){e.exports=JSON.parse('["smileys & people","animals & nature","food & drink","travel & places","activities","objects","symbols","flags"]')},function(e){e.exports=JSON.parse('{"travel & places":[{"n":["earth globe europe-africa","earth_africa"],"u":"1f30d"},{"n":["earth globe americas","earth_americas"],"u":"1f30e"},{"n":["earth globe asia-australia","earth_asia"],"u":"1f30f"},{"n":["globe with meridians","globe_with_meridians"],"u":"1f310"},{"n":["world_map"],"u":"1f5fa-fe0f"},{"n":["silhouette of japan","japan"],"u":"1f5fe"},{"n":["snow_capped_mountain"],"u":"1f3d4-fe0f"},{"n":["mountain"],"u":"26f0-fe0f"},{"n":["volcano"],"u":"1f30b"},{"n":["mount fuji","mount_fuji"],"u":"1f5fb"},{"n":["camping"],"u":"1f3d5-fe0f"},{"n":["beach_with_umbrella"],"u":"1f3d6-fe0f"},{"n":["desert"],"u":"1f3dc-fe0f"},{"n":["desert_island"],"u":"1f3dd-fe0f"},{"n":["national_park"],"u":"1f3de-fe0f"},{"n":["stadium"],"u":"1f3df-fe0f"},{"n":["classical_building"],"u":"1f3db-fe0f"},{"n":["building_construction"],"u":"1f3d7-fe0f"},{"n":["house_buildings"],"u":"1f3d8-fe0f"},{"n":["cityscape"],"u":"1f3d9-fe0f"},{"n":["derelict_house_building"],"u":"1f3da-fe0f"},{"n":["house building","house"],"u":"1f3e0"},{"n":["house with garden","house_with_garden"],"u":"1f3e1"},{"n":["office building","office"],"u":"1f3e2"},{"n":["japanese post office","post_office"],"u":"1f3e3"},{"n":["european post office","european_post_office"],"u":"1f3e4"},{"n":["hospital"],"u":"1f3e5"},{"n":["bank"],"u":"1f3e6"},{"n":["hotel"],"u":"1f3e8"},{"n":["love hotel","love_hotel"],"u":"1f3e9"},{"n":["convenience store","convenience_store"],"u":"1f3ea"},{"n":["school"],"u":"1f3eb"},{"n":["department store","department_store"],"u":"1f3ec"},{"n":["factory"],"u":"1f3ed"},{"n":["japanese castle","japanese_castle"],"u":"1f3ef"},{"n":["european castle","european_castle"],"u":"1f3f0"},{"n":["wedding"],"u":"1f492"},{"n":["tokyo tower","tokyo_tower"],"u":"1f5fc"},{"n":["statue of liberty","statue_of_liberty"],"u":"1f5fd"},{"n":["church"],"u":"26ea"},{"n":["mosque"],"u":"1f54c"},{"n":["synagogue"],"u":"1f54d"},{"n":["shinto_shrine"],"u":"26e9-fe0f"},{"n":["kaaba"],"u":"1f54b"},{"n":["fountain"],"u":"26f2"},{"n":["tent"],"u":"26fa"},{"n":["foggy"],"u":"1f301"},{"n":["night with stars","night_with_stars"],"u":"1f303"},{"n":["sunrise over mountains","sunrise_over_mountains"],"u":"1f304"},{"n":["sunrise"],"u":"1f305"},{"n":["cityscape at dusk","city_sunset"],"u":"1f306"},{"n":["sunset over buildings","city_sunrise"],"u":"1f307"},{"n":["bridge at night","bridge_at_night"],"u":"1f309"},{"n":["hot springs","hotsprings"],"u":"2668-fe0f"},{"n":["milky way","milky_way"],"u":"1f30c"},{"n":["carousel horse","carousel_horse"],"u":"1f3a0"},{"n":["ferris wheel","ferris_wheel"],"u":"1f3a1"},{"n":["roller coaster","roller_coaster"],"u":"1f3a2"},{"n":["barber pole","barber"],"u":"1f488"},{"n":["circus tent","circus_tent"],"u":"1f3aa"},{"n":["performing arts","performing_arts"],"u":"1f3ad"},{"n":["frame_with_picture"],"u":"1f5bc-fe0f"},{"n":["artist palette","art"],"u":"1f3a8"},{"n":["slot machine","slot_machine"],"u":"1f3b0"},{"n":["steam locomotive","steam_locomotive"],"u":"1f682"},{"n":["railway car","railway_car"],"u":"1f683"},{"n":["high-speed train","bullettrain_side"],"u":"1f684"},{"n":["high-speed train with bullet nose","bullettrain_front"],"u":"1f685"},{"n":["train","train2"],"u":"1f686"},{"n":["metro"],"u":"1f687"},{"n":["light rail","light_rail"],"u":"1f688"},{"n":["station"],"u":"1f689"},{"n":["tram"],"u":"1f68a"},{"n":["monorail"],"u":"1f69d"},{"n":["mountain railway","mountain_railway"],"u":"1f69e"},{"n":["tram car","train"],"u":"1f68b"},{"n":["bus"],"u":"1f68c"},{"n":["oncoming bus","oncoming_bus"],"u":"1f68d"},{"n":["trolleybus"],"u":"1f68e"},{"n":["minibus"],"u":"1f690"},{"n":["ambulance"],"u":"1f691"},{"n":["fire engine","fire_engine"],"u":"1f692"},{"n":["police car","police_car"],"u":"1f693"},{"n":["oncoming police car","oncoming_police_car"],"u":"1f694"},{"n":["taxi"],"u":"1f695"},{"n":["oncoming taxi","oncoming_taxi"],"u":"1f696"},{"n":["automobile","car","red_car"],"u":"1f697"},{"n":["oncoming automobile","oncoming_automobile"],"u":"1f698"},{"n":["recreational vehicle","blue_car"],"u":"1f699"},{"n":["delivery truck","truck"],"u":"1f69a"},{"n":["articulated lorry","articulated_lorry"],"u":"1f69b"},{"n":["tractor"],"u":"1f69c"},{"n":["bicycle","bike"],"u":"1f6b2"},{"n":["scooter"],"u":"1f6f4"},{"n":["motor scooter","motor_scooter"],"u":"1f6f5"},{"n":["bus stop","busstop"],"u":"1f68f"},{"n":["motorway"],"u":"1f6e3-fe0f"},{"n":["railway_track"],"u":"1f6e4-fe0f"},{"n":["fuel pump","fuelpump"],"u":"26fd"},{"n":["police cars revolving light","rotating_light"],"u":"1f6a8"},{"n":["horizontal traffic light","traffic_light"],"u":"1f6a5"},{"n":["vertical traffic light","vertical_traffic_light"],"u":"1f6a6"},{"n":["construction sign","construction"],"u":"1f6a7"},{"n":["octagonal sign","octagonal_sign"],"u":"1f6d1"},{"n":["anchor"],"u":"2693"},{"n":["sailboat","boat"],"u":"26f5"},{"n":["canoe"],"u":"1f6f6"},{"n":["speedboat"],"u":"1f6a4"},{"n":["passenger_ship"],"u":"1f6f3-fe0f"},{"n":["ferry"],"u":"26f4-fe0f"},{"n":["motor_boat"],"u":"1f6e5-fe0f"},{"n":["ship"],"u":"1f6a2"},{"n":["airplane"],"u":"2708-fe0f"},{"n":["small_airplane"],"u":"1f6e9-fe0f"},{"n":["airplane departure","airplane_departure"],"u":"1f6eb"},{"n":["airplane arriving","airplane_arriving"],"u":"1f6ec"},{"n":["seat"],"u":"1f4ba"},{"n":["helicopter"],"u":"1f681"},{"n":["suspension railway","suspension_railway"],"u":"1f69f"},{"n":["mountain cableway","mountain_cableway"],"u":"1f6a0"},{"n":["aerial tramway","aerial_tramway"],"u":"1f6a1"},{"n":["satellite"],"u":"1f6f0-fe0f"},{"n":["rocket"],"u":"1f680"},{"n":["flying saucer","flying_saucer"],"u":"1f6f8"},{"n":["bellhop_bell"],"u":"1f6ce-fe0f"},{"n":["door"],"u":"1f6aa"},{"n":["bed"],"u":"1f6cf-fe0f"},{"n":["couch_and_lamp"],"u":"1f6cb-fe0f"},{"n":["toilet"],"u":"1f6bd"},{"n":["shower"],"u":"1f6bf"},{"n":["bathtub"],"u":"1f6c1"},{"n":["hourglass"],"u":"231b"},{"n":["hourglass with flowing sand","hourglass_flowing_sand"],"u":"23f3"},{"n":["watch"],"u":"231a"},{"n":["alarm clock","alarm_clock"],"u":"23f0"},{"n":["stopwatch"],"u":"23f1-fe0f"},{"n":["timer_clock"],"u":"23f2-fe0f"},{"n":["mantelpiece_clock"],"u":"1f570-fe0f"},{"n":["clock face twelve oclock","clock12"],"u":"1f55b"},{"n":["clock face twelve-thirty","clock1230"],"u":"1f567"},{"n":["clock face one oclock","clock1"],"u":"1f550"},{"n":["clock face one-thirty","clock130"],"u":"1f55c"},{"n":["clock face two oclock","clock2"],"u":"1f551"},{"n":["clock face two-thirty","clock230"],"u":"1f55d"},{"n":["clock face three oclock","clock3"],"u":"1f552"},{"n":["clock face three-thirty","clock330"],"u":"1f55e"},{"n":["clock face four oclock","clock4"],"u":"1f553"},{"n":["clock face four-thirty","clock430"],"u":"1f55f"},{"n":["clock face five oclock","clock5"],"u":"1f554"},{"n":["clock face five-thirty","clock530"],"u":"1f560"},{"n":["clock face six oclock","clock6"],"u":"1f555"},{"n":["clock face six-thirty","clock630"],"u":"1f561"},{"n":["clock face seven oclock","clock7"],"u":"1f556"},{"n":["clock face seven-thirty","clock730"],"u":"1f562"},{"n":["clock face eight oclock","clock8"],"u":"1f557"},{"n":["clock face eight-thirty","clock830"],"u":"1f563"},{"n":["clock face nine oclock","clock9"],"u":"1f558"},{"n":["clock face nine-thirty","clock930"],"u":"1f564"},{"n":["clock face ten oclock","clock10"],"u":"1f559"},{"n":["clock face ten-thirty","clock1030"],"u":"1f565"},{"n":["clock face eleven oclock","clock11"],"u":"1f55a"},{"n":["clock face eleven-thirty","clock1130"],"u":"1f566"},{"n":["new moon symbol","new_moon"],"u":"1f311"},{"n":["waxing crescent moon symbol","waxing_crescent_moon"],"u":"1f312"},{"n":["first quarter moon symbol","first_quarter_moon"],"u":"1f313"},{"n":["waxing gibbous moon symbol","moon","waxing_gibbous_moon"],"u":"1f314"},{"n":["full moon symbol","full_moon"],"u":"1f315"},{"n":["waning gibbous moon symbol","waning_gibbous_moon"],"u":"1f316"},{"n":["last quarter moon symbol","last_quarter_moon"],"u":"1f317"},{"n":["waning crescent moon symbol","waning_crescent_moon"],"u":"1f318"},{"n":["crescent moon","crescent_moon"],"u":"1f319"},{"n":["new moon with face","new_moon_with_face"],"u":"1f31a"},{"n":["first quarter moon with face","first_quarter_moon_with_face"],"u":"1f31b"},{"n":["last quarter moon with face","last_quarter_moon_with_face"],"u":"1f31c"},{"n":["thermometer"],"u":"1f321-fe0f"},{"n":["black sun with rays","sunny"],"u":"2600-fe0f"},{"n":["full moon with face","full_moon_with_face"],"u":"1f31d"},{"n":["sun with face","sun_with_face"],"u":"1f31e"},{"n":["white medium star","star"],"u":"2b50"},{"n":["glowing star","star2"],"u":"1f31f"},{"n":["shooting star","stars"],"u":"1f320"},{"n":["cloud"],"u":"2601-fe0f"},{"n":["sun behind cloud","partly_sunny"],"u":"26c5"},{"n":["thunder_cloud_and_rain"],"u":"26c8-fe0f"},{"n":["mostly_sunny","sun_small_cloud"],"u":"1f324-fe0f"},{"n":["barely_sunny","sun_behind_cloud"],"u":"1f325-fe0f"},{"n":["partly_sunny_rain","sun_behind_rain_cloud"],"u":"1f326-fe0f"},{"n":["rain_cloud"],"u":"1f327-fe0f"},{"n":["snow_cloud"],"u":"1f328-fe0f"},{"n":["lightning","lightning_cloud"],"u":"1f329-fe0f"},{"n":["tornado","tornado_cloud"],"u":"1f32a-fe0f"},{"n":["fog"],"u":"1f32b-fe0f"},{"n":["wind_blowing_face"],"u":"1f32c-fe0f"},{"n":["cyclone"],"u":"1f300"},{"n":["rainbow"],"u":"1f308"},{"n":["closed umbrella","closed_umbrella"],"u":"1f302"},{"n":["umbrella"],"u":"2602-fe0f"},{"n":["umbrella with rain drops","umbrella_with_rain_drops"],"u":"2614"},{"n":["umbrella_on_ground"],"u":"26f1-fe0f"},{"n":["high voltage sign","zap"],"u":"26a1"},{"n":["snowflake"],"u":"2744-fe0f"},{"n":["snowman"],"u":"2603-fe0f"},{"n":["snowman without snow","snowman_without_snow"],"u":"26c4"},{"n":["comet"],"u":"2604-fe0f"},{"n":["fire"],"u":"1f525"},{"n":["droplet"],"u":"1f4a7"},{"n":["water wave","ocean"],"u":"1f30a"}],"food & drink":[{"n":["grapes"],"u":"1f347"},{"n":["melon"],"u":"1f348"},{"n":["watermelon"],"u":"1f349"},{"n":["tangerine"],"u":"1f34a"},{"n":["lemon"],"u":"1f34b"},{"n":["banana"],"u":"1f34c"},{"n":["pineapple"],"u":"1f34d"},{"n":["red apple","apple"],"u":"1f34e"},{"n":["green apple","green_apple"],"u":"1f34f"},{"n":["pear"],"u":"1f350"},{"n":["peach"],"u":"1f351"},{"n":["cherries"],"u":"1f352"},{"n":["strawberry"],"u":"1f353"},{"n":["kiwifruit"],"u":"1f95d"},{"n":["tomato"],"u":"1f345"},{"n":["coconut"],"u":"1f965"},{"n":["avocado"],"u":"1f951"},{"n":["aubergine","eggplant"],"u":"1f346"},{"n":["potato"],"u":"1f954"},{"n":["carrot"],"u":"1f955"},{"n":["ear of maize","corn"],"u":"1f33d"},{"n":["hot_pepper"],"u":"1f336-fe0f"},{"n":["cucumber"],"u":"1f952"},{"n":["broccoli"],"u":"1f966"},{"n":["mushroom"],"u":"1f344"},{"n":["peanuts"],"u":"1f95c"},{"n":["chestnut"],"u":"1f330"},{"n":["bread"],"u":"1f35e"},{"n":["croissant"],"u":"1f950"},{"n":["baguette bread","baguette_bread"],"u":"1f956"},{"n":["pretzel"],"u":"1f968"},{"n":["pancakes"],"u":"1f95e"},{"n":["cheese wedge","cheese_wedge"],"u":"1f9c0"},{"n":["meat on bone","meat_on_bone"],"u":"1f356"},{"n":["poultry leg","poultry_leg"],"u":"1f357"},{"n":["cut of meat","cut_of_meat"],"u":"1f969"},{"n":["bacon"],"u":"1f953"},{"n":["hamburger"],"u":"1f354"},{"n":["french fries","fries"],"u":"1f35f"},{"n":["slice of pizza","pizza"],"u":"1f355"},{"n":["hot dog","hotdog"],"u":"1f32d"},{"n":["sandwich"],"u":"1f96a"},{"n":["taco"],"u":"1f32e"},{"n":["burrito"],"u":"1f32f"},{"n":["stuffed flatbread","stuffed_flatbread"],"u":"1f959"},{"n":["egg"],"u":"1f95a"},{"n":["cooking","fried_egg"],"u":"1f373"},{"n":["shallow pan of food","shallow_pan_of_food"],"u":"1f958"},{"n":["pot of food","stew"],"u":"1f372"},{"n":["bowl with spoon","bowl_with_spoon"],"u":"1f963"},{"n":["green salad","green_salad"],"u":"1f957"},{"n":["popcorn"],"u":"1f37f"},{"n":["canned food","canned_food"],"u":"1f96b"},{"n":["bento box","bento"],"u":"1f371"},{"n":["rice cracker","rice_cracker"],"u":"1f358"},{"n":["rice ball","rice_ball"],"u":"1f359"},{"n":["cooked rice","rice"],"u":"1f35a"},{"n":["curry and rice","curry"],"u":"1f35b"},{"n":["steaming bowl","ramen"],"u":"1f35c"},{"n":["spaghetti"],"u":"1f35d"},{"n":["roasted sweet potato","sweet_potato"],"u":"1f360"},{"n":["oden"],"u":"1f362"},{"n":["sushi"],"u":"1f363"},{"n":["fried shrimp","fried_shrimp"],"u":"1f364"},{"n":["fish cake with swirl design","fish_cake"],"u":"1f365"},{"n":["dango"],"u":"1f361"},{"n":["dumpling"],"u":"1f95f"},{"n":["fortune cookie","fortune_cookie"],"u":"1f960"},{"n":["takeout box","takeout_box"],"u":"1f961"},{"n":["soft ice cream","icecream"],"u":"1f366"},{"n":["shaved ice","shaved_ice"],"u":"1f367"},{"n":["ice cream","ice_cream"],"u":"1f368"},{"n":["doughnut"],"u":"1f369"},{"n":["cookie"],"u":"1f36a"},{"n":["birthday cake","birthday"],"u":"1f382"},{"n":["shortcake","cake"],"u":"1f370"},{"n":["pie"],"u":"1f967"},{"n":["chocolate bar","chocolate_bar"],"u":"1f36b"},{"n":["candy"],"u":"1f36c"},{"n":["lollipop"],"u":"1f36d"},{"n":["custard"],"u":"1f36e"},{"n":["honey pot","honey_pot"],"u":"1f36f"},{"n":["baby bottle","baby_bottle"],"u":"1f37c"},{"n":["glass of milk","glass_of_milk"],"u":"1f95b"},{"n":["hot beverage","coffee"],"u":"2615"},{"n":["teacup without handle","tea"],"u":"1f375"},{"n":["sake bottle and cup","sake"],"u":"1f376"},{"n":["bottle with popping cork","champagne"],"u":"1f37e"},{"n":["wine glass","wine_glass"],"u":"1f377"},{"n":["cocktail glass","cocktail"],"u":"1f378"},{"n":["tropical drink","tropical_drink"],"u":"1f379"},{"n":["beer mug","beer"],"u":"1f37a"},{"n":["clinking beer mugs","beers"],"u":"1f37b"},{"n":["clinking glasses","clinking_glasses"],"u":"1f942"},{"n":["tumbler glass","tumbler_glass"],"u":"1f943"},{"n":["cup with straw","cup_with_straw"],"u":"1f964"},{"n":["chopsticks"],"u":"1f962"},{"n":["knife_fork_plate"],"u":"1f37d-fe0f"},{"n":["fork and knife","fork_and_knife"],"u":"1f374"},{"n":["spoon"],"u":"1f944"},{"n":["hocho","knife"],"u":"1f52a"},{"n":["amphora"],"u":"1f3fa"}],"activities":[{"n":["jack-o-lantern","jack_o_lantern"],"u":"1f383"},{"n":["christmas tree","christmas_tree"],"u":"1f384"},{"n":["fireworks"],"u":"1f386"},{"n":["firework sparkler","sparkler"],"u":"1f387"},{"n":["sparkles"],"u":"2728"},{"n":["balloon"],"u":"1f388"},{"n":["party popper","tada"],"u":"1f389"},{"n":["confetti ball","confetti_ball"],"u":"1f38a"},{"n":["tanabata tree","tanabata_tree"],"u":"1f38b"},{"n":["pine decoration","bamboo"],"u":"1f38d"},{"n":["japanese dolls","dolls"],"u":"1f38e"},{"n":["carp streamer","flags"],"u":"1f38f"},{"n":["wind chime","wind_chime"],"u":"1f390"},{"n":["moon viewing ceremony","rice_scene"],"u":"1f391"},{"n":["ribbon"],"u":"1f380"},{"n":["wrapped present","gift"],"u":"1f381"},{"n":["reminder_ribbon"],"u":"1f397-fe0f"},{"n":["admission_tickets"],"u":"1f39f-fe0f"},{"n":["ticket"],"u":"1f3ab"},{"n":["medal"],"u":"1f396-fe0f"},{"n":["trophy"],"u":"1f3c6"},{"n":["sports medal","sports_medal"],"u":"1f3c5"},{"n":["first place medal","first_place_medal"],"u":"1f947"},{"n":["second place medal","second_place_medal"],"u":"1f948"},{"n":["third place medal","third_place_medal"],"u":"1f949"},{"n":["soccer ball","soccer"],"u":"26bd"},{"n":["baseball"],"u":"26be"},{"n":["basketball and hoop","basketball"],"u":"1f3c0"},{"n":["volleyball"],"u":"1f3d0"},{"n":["american football","football"],"u":"1f3c8"},{"n":["rugby football","rugby_football"],"u":"1f3c9"},{"n":["tennis racquet and ball","tennis"],"u":"1f3be"},{"n":["billiards","8ball"],"u":"1f3b1"},{"n":["bowling"],"u":"1f3b3"},{"n":["cricket bat and ball","cricket_bat_and_ball"],"u":"1f3cf"},{"n":["field hockey stick and ball","field_hockey_stick_and_ball"],"u":"1f3d1"},{"n":["ice hockey stick and puck","ice_hockey_stick_and_puck"],"u":"1f3d2"},{"n":["table tennis paddle and ball","table_tennis_paddle_and_ball"],"u":"1f3d3"},{"n":["badminton racquet and shuttlecock","badminton_racquet_and_shuttlecock"],"u":"1f3f8"},{"n":["boxing glove","boxing_glove"],"u":"1f94a"},{"n":["martial arts uniform","martial_arts_uniform"],"u":"1f94b"},{"n":["goal net","goal_net"],"u":"1f945"},{"n":["direct hit","dart"],"u":"1f3af"},{"n":["flag in hole","golf"],"u":"26f3"},{"n":["ice_skate"],"u":"26f8-fe0f"},{"n":["fishing pole and fish","fishing_pole_and_fish"],"u":"1f3a3"},{"n":["running shirt with sash","running_shirt_with_sash"],"u":"1f3bd"},{"n":["ski and ski boot","ski"],"u":"1f3bf"},{"n":["sled"],"u":"1f6f7"},{"n":["curling stone","curling_stone"],"u":"1f94c"},{"n":["video game","video_game"],"u":"1f3ae"},{"n":["joystick"],"u":"1f579-fe0f"},{"n":["game die","game_die"],"u":"1f3b2"},{"n":["black spade suit","spades"],"u":"2660-fe0f"},{"n":["black heart suit","hearts"],"u":"2665-fe0f"},{"n":["black diamond suit","diamonds"],"u":"2666-fe0f"},{"n":["black club suit","clubs"],"u":"2663-fe0f"},{"n":["playing card black joker","black_joker"],"u":"1f0cf"},{"n":["mahjong tile red dragon","mahjong"],"u":"1f004"},{"n":["flower playing cards","flower_playing_cards"],"u":"1f3b4"}],"flags":[{"n":["chequered flag","checkered_flag"],"u":"1f3c1"},{"n":["triangular flag on post","triangular_flag_on_post"],"u":"1f6a9"},{"n":["crossed flags","crossed_flags"],"u":"1f38c"},{"n":["waving black flag","waving_black_flag"],"u":"1f3f4"},{"n":["waving_white_flag"],"u":"1f3f3-fe0f"},{"n":["rainbow-flag"],"u":"1f3f3-fe0f-200d-1f308"},{"n":["ascension island flag","flag-ac"],"u":"1f1e6-1f1e8"},{"n":["andorra flag","flag-ad"],"u":"1f1e6-1f1e9"},{"n":["united arab emirates flag","flag-ae"],"u":"1f1e6-1f1ea"},{"n":["afghanistan flag","flag-af"],"u":"1f1e6-1f1eb"},{"n":["antigua & barbuda flag","flag-ag"],"u":"1f1e6-1f1ec"},{"n":["anguilla flag","flag-ai"],"u":"1f1e6-1f1ee"},{"n":["albania flag","flag-al"],"u":"1f1e6-1f1f1"},{"n":["armenia flag","flag-am"],"u":"1f1e6-1f1f2"},{"n":["angola flag","flag-ao"],"u":"1f1e6-1f1f4"},{"n":["antarctica flag","flag-aq"],"u":"1f1e6-1f1f6"},{"n":["argentina flag","flag-ar"],"u":"1f1e6-1f1f7"},{"n":["american samoa flag","flag-as"],"u":"1f1e6-1f1f8"},{"n":["austria flag","flag-at"],"u":"1f1e6-1f1f9"},{"n":["australia flag","flag-au"],"u":"1f1e6-1f1fa"},{"n":["aruba flag","flag-aw"],"u":"1f1e6-1f1fc"},{"n":["åland islands flag","flag-ax"],"u":"1f1e6-1f1fd"},{"n":["azerbaijan flag","flag-az"],"u":"1f1e6-1f1ff"},{"n":["bosnia & herzegovina flag","flag-ba"],"u":"1f1e7-1f1e6"},{"n":["barbados flag","flag-bb"],"u":"1f1e7-1f1e7"},{"n":["bangladesh flag","flag-bd"],"u":"1f1e7-1f1e9"},{"n":["belgium flag","flag-be"],"u":"1f1e7-1f1ea"},{"n":["burkina faso flag","flag-bf"],"u":"1f1e7-1f1eb"},{"n":["bulgaria flag","flag-bg"],"u":"1f1e7-1f1ec"},{"n":["bahrain flag","flag-bh"],"u":"1f1e7-1f1ed"},{"n":["burundi flag","flag-bi"],"u":"1f1e7-1f1ee"},{"n":["benin flag","flag-bj"],"u":"1f1e7-1f1ef"},{"n":["st. barthélemy flag","flag-bl"],"u":"1f1e7-1f1f1"},{"n":["bermuda flag","flag-bm"],"u":"1f1e7-1f1f2"},{"n":["brunei flag","flag-bn"],"u":"1f1e7-1f1f3"},{"n":["bolivia flag","flag-bo"],"u":"1f1e7-1f1f4"},{"n":["caribbean netherlands flag","flag-bq"],"u":"1f1e7-1f1f6"},{"n":["brazil flag","flag-br"],"u":"1f1e7-1f1f7"},{"n":["bahamas flag","flag-bs"],"u":"1f1e7-1f1f8"},{"n":["bhutan flag","flag-bt"],"u":"1f1e7-1f1f9"},{"n":["bouvet island flag","flag-bv"],"u":"1f1e7-1f1fb"},{"n":["botswana flag","flag-bw"],"u":"1f1e7-1f1fc"},{"n":["belarus flag","flag-by"],"u":"1f1e7-1f1fe"},{"n":["belize flag","flag-bz"],"u":"1f1e7-1f1ff"},{"n":["canada flag","flag-ca"],"u":"1f1e8-1f1e6"},{"n":["cocos (keeling) islands flag","flag-cc"],"u":"1f1e8-1f1e8"},{"n":["congo - kinshasa flag","flag-cd"],"u":"1f1e8-1f1e9"},{"n":["central african republic flag","flag-cf"],"u":"1f1e8-1f1eb"},{"n":["congo - brazzaville flag","flag-cg"],"u":"1f1e8-1f1ec"},{"n":["switzerland flag","flag-ch"],"u":"1f1e8-1f1ed"},{"n":["côte divoire flag","flag-ci"],"u":"1f1e8-1f1ee"},{"n":["cook islands flag","flag-ck"],"u":"1f1e8-1f1f0"},{"n":["chile flag","flag-cl"],"u":"1f1e8-1f1f1"},{"n":["cameroon flag","flag-cm"],"u":"1f1e8-1f1f2"},{"n":["china flag","cn","flag-cn"],"u":"1f1e8-1f1f3"},{"n":["colombia flag","flag-co"],"u":"1f1e8-1f1f4"},{"n":["clipperton island flag","flag-cp"],"u":"1f1e8-1f1f5"},{"n":["costa rica flag","flag-cr"],"u":"1f1e8-1f1f7"},{"n":["cuba flag","flag-cu"],"u":"1f1e8-1f1fa"},{"n":["cape verde flag","flag-cv"],"u":"1f1e8-1f1fb"},{"n":["curaçao flag","flag-cw"],"u":"1f1e8-1f1fc"},{"n":["christmas island flag","flag-cx"],"u":"1f1e8-1f1fd"},{"n":["cyprus flag","flag-cy"],"u":"1f1e8-1f1fe"},{"n":["czechia flag","flag-cz"],"u":"1f1e8-1f1ff"},{"n":["germany flag","de","flag-de"],"u":"1f1e9-1f1ea"},{"n":["diego garcia flag","flag-dg"],"u":"1f1e9-1f1ec"},{"n":["djibouti flag","flag-dj"],"u":"1f1e9-1f1ef"},{"n":["denmark flag","flag-dk"],"u":"1f1e9-1f1f0"},{"n":["dominica flag","flag-dm"],"u":"1f1e9-1f1f2"},{"n":["dominican republic flag","flag-do"],"u":"1f1e9-1f1f4"},{"n":["algeria flag","flag-dz"],"u":"1f1e9-1f1ff"},{"n":["ceuta & melilla flag","flag-ea"],"u":"1f1ea-1f1e6"},{"n":["ecuador flag","flag-ec"],"u":"1f1ea-1f1e8"},{"n":["estonia flag","flag-ee"],"u":"1f1ea-1f1ea"},{"n":["egypt flag","flag-eg"],"u":"1f1ea-1f1ec"},{"n":["western sahara flag","flag-eh"],"u":"1f1ea-1f1ed"},{"n":["eritrea flag","flag-er"],"u":"1f1ea-1f1f7"},{"n":["spain flag","es","flag-es"],"u":"1f1ea-1f1f8"},{"n":["ethiopia flag","flag-et"],"u":"1f1ea-1f1f9"},{"n":["european union flag","flag-eu"],"u":"1f1ea-1f1fa"},{"n":["finland flag","flag-fi"],"u":"1f1eb-1f1ee"},{"n":["fiji flag","flag-fj"],"u":"1f1eb-1f1ef"},{"n":["falkland islands flag","flag-fk"],"u":"1f1eb-1f1f0"},{"n":["micronesia flag","flag-fm"],"u":"1f1eb-1f1f2"},{"n":["faroe islands flag","flag-fo"],"u":"1f1eb-1f1f4"},{"n":["france flag","fr","flag-fr"],"u":"1f1eb-1f1f7"},{"n":["gabon flag","flag-ga"],"u":"1f1ec-1f1e6"},{"n":["united kingdom flag","gb","uk","flag-gb"],"u":"1f1ec-1f1e7"},{"n":["grenada flag","flag-gd"],"u":"1f1ec-1f1e9"},{"n":["georgia flag","flag-ge"],"u":"1f1ec-1f1ea"},{"n":["french guiana flag","flag-gf"],"u":"1f1ec-1f1eb"},{"n":["guernsey flag","flag-gg"],"u":"1f1ec-1f1ec"},{"n":["ghana flag","flag-gh"],"u":"1f1ec-1f1ed"},{"n":["gibraltar flag","flag-gi"],"u":"1f1ec-1f1ee"},{"n":["greenland flag","flag-gl"],"u":"1f1ec-1f1f1"},{"n":["gambia flag","flag-gm"],"u":"1f1ec-1f1f2"},{"n":["guinea flag","flag-gn"],"u":"1f1ec-1f1f3"},{"n":["guadeloupe flag","flag-gp"],"u":"1f1ec-1f1f5"},{"n":["equatorial guinea flag","flag-gq"],"u":"1f1ec-1f1f6"},{"n":["greece flag","flag-gr"],"u":"1f1ec-1f1f7"},{"n":["south georgia & south sandwich islands flag","flag-gs"],"u":"1f1ec-1f1f8"},{"n":["guatemala flag","flag-gt"],"u":"1f1ec-1f1f9"},{"n":["guam flag","flag-gu"],"u":"1f1ec-1f1fa"},{"n":["guinea-bissau flag","flag-gw"],"u":"1f1ec-1f1fc"},{"n":["guyana flag","flag-gy"],"u":"1f1ec-1f1fe"},{"n":["hong kong sar china flag","flag-hk"],"u":"1f1ed-1f1f0"},{"n":["heard & mcdonald islands flag","flag-hm"],"u":"1f1ed-1f1f2"},{"n":["honduras flag","flag-hn"],"u":"1f1ed-1f1f3"},{"n":["croatia flag","flag-hr"],"u":"1f1ed-1f1f7"},{"n":["haiti flag","flag-ht"],"u":"1f1ed-1f1f9"},{"n":["hungary flag","flag-hu"],"u":"1f1ed-1f1fa"},{"n":["canary islands flag","flag-ic"],"u":"1f1ee-1f1e8"},{"n":["indonesia flag","flag-id"],"u":"1f1ee-1f1e9"},{"n":["ireland flag","flag-ie"],"u":"1f1ee-1f1ea"},{"n":["israel flag","flag-il"],"u":"1f1ee-1f1f1"},{"n":["isle of man flag","flag-im"],"u":"1f1ee-1f1f2"},{"n":["india flag","flag-in"],"u":"1f1ee-1f1f3"},{"n":["british indian ocean territory flag","flag-io"],"u":"1f1ee-1f1f4"},{"n":["iraq flag","flag-iq"],"u":"1f1ee-1f1f6"},{"n":["iran flag","flag-ir"],"u":"1f1ee-1f1f7"},{"n":["iceland flag","flag-is"],"u":"1f1ee-1f1f8"},{"n":["italy flag","it","flag-it"],"u":"1f1ee-1f1f9"},{"n":["jersey flag","flag-je"],"u":"1f1ef-1f1ea"},{"n":["jamaica flag","flag-jm"],"u":"1f1ef-1f1f2"},{"n":["jordan flag","flag-jo"],"u":"1f1ef-1f1f4"},{"n":["japan flag","jp","flag-jp"],"u":"1f1ef-1f1f5"},{"n":["kenya flag","flag-ke"],"u":"1f1f0-1f1ea"},{"n":["kyrgyzstan flag","flag-kg"],"u":"1f1f0-1f1ec"},{"n":["cambodia flag","flag-kh"],"u":"1f1f0-1f1ed"},{"n":["kiribati flag","flag-ki"],"u":"1f1f0-1f1ee"},{"n":["comoros flag","flag-km"],"u":"1f1f0-1f1f2"},{"n":["st. kitts & nevis flag","flag-kn"],"u":"1f1f0-1f1f3"},{"n":["north korea flag","flag-kp"],"u":"1f1f0-1f1f5"},{"n":["south korea flag","kr","flag-kr"],"u":"1f1f0-1f1f7"},{"n":["kuwait flag","flag-kw"],"u":"1f1f0-1f1fc"},{"n":["cayman islands flag","flag-ky"],"u":"1f1f0-1f1fe"},{"n":["kazakhstan flag","flag-kz"],"u":"1f1f0-1f1ff"},{"n":["laos flag","flag-la"],"u":"1f1f1-1f1e6"},{"n":["lebanon flag","flag-lb"],"u":"1f1f1-1f1e7"},{"n":["st. lucia flag","flag-lc"],"u":"1f1f1-1f1e8"},{"n":["liechtenstein flag","flag-li"],"u":"1f1f1-1f1ee"},{"n":["sri lanka flag","flag-lk"],"u":"1f1f1-1f1f0"},{"n":["liberia flag","flag-lr"],"u":"1f1f1-1f1f7"},{"n":["lesotho flag","flag-ls"],"u":"1f1f1-1f1f8"},{"n":["lithuania flag","flag-lt"],"u":"1f1f1-1f1f9"},{"n":["luxembourg flag","flag-lu"],"u":"1f1f1-1f1fa"},{"n":["latvia flag","flag-lv"],"u":"1f1f1-1f1fb"},{"n":["libya flag","flag-ly"],"u":"1f1f1-1f1fe"},{"n":["morocco flag","flag-ma"],"u":"1f1f2-1f1e6"},{"n":["monaco flag","flag-mc"],"u":"1f1f2-1f1e8"},{"n":["moldova flag","flag-md"],"u":"1f1f2-1f1e9"},{"n":["montenegro flag","flag-me"],"u":"1f1f2-1f1ea"},{"n":["st. martin flag","flag-mf"],"u":"1f1f2-1f1eb"},{"n":["madagascar flag","flag-mg"],"u":"1f1f2-1f1ec"},{"n":["marshall islands flag","flag-mh"],"u":"1f1f2-1f1ed"},{"n":["macedonia flag","flag-mk"],"u":"1f1f2-1f1f0"},{"n":["mali flag","flag-ml"],"u":"1f1f2-1f1f1"},{"n":["myanmar (burma) flag","flag-mm"],"u":"1f1f2-1f1f2"},{"n":["mongolia flag","flag-mn"],"u":"1f1f2-1f1f3"},{"n":["macau sar china flag","flag-mo"],"u":"1f1f2-1f1f4"},{"n":["northern mariana islands flag","flag-mp"],"u":"1f1f2-1f1f5"},{"n":["martinique flag","flag-mq"],"u":"1f1f2-1f1f6"},{"n":["mauritania flag","flag-mr"],"u":"1f1f2-1f1f7"},{"n":["montserrat flag","flag-ms"],"u":"1f1f2-1f1f8"},{"n":["malta flag","flag-mt"],"u":"1f1f2-1f1f9"},{"n":["mauritius flag","flag-mu"],"u":"1f1f2-1f1fa"},{"n":["maldives flag","flag-mv"],"u":"1f1f2-1f1fb"},{"n":["malawi flag","flag-mw"],"u":"1f1f2-1f1fc"},{"n":["mexico flag","flag-mx"],"u":"1f1f2-1f1fd"},{"n":["malaysia flag","flag-my"],"u":"1f1f2-1f1fe"},{"n":["mozambique flag","flag-mz"],"u":"1f1f2-1f1ff"},{"n":["namibia flag","flag-na"],"u":"1f1f3-1f1e6"},{"n":["new caledonia flag","flag-nc"],"u":"1f1f3-1f1e8"},{"n":["niger flag","flag-ne"],"u":"1f1f3-1f1ea"},{"n":["norfolk island flag","flag-nf"],"u":"1f1f3-1f1eb"},{"n":["nigeria flag","flag-ng"],"u":"1f1f3-1f1ec"},{"n":["nicaragua flag","flag-ni"],"u":"1f1f3-1f1ee"},{"n":["netherlands flag","flag-nl"],"u":"1f1f3-1f1f1"},{"n":["norway flag","flag-no"],"u":"1f1f3-1f1f4"},{"n":["nepal flag","flag-np"],"u":"1f1f3-1f1f5"},{"n":["nauru flag","flag-nr"],"u":"1f1f3-1f1f7"},{"n":["niue flag","flag-nu"],"u":"1f1f3-1f1fa"},{"n":["new zealand flag","flag-nz"],"u":"1f1f3-1f1ff"},{"n":["oman flag","flag-om"],"u":"1f1f4-1f1f2"},{"n":["panama flag","flag-pa"],"u":"1f1f5-1f1e6"},{"n":["peru flag","flag-pe"],"u":"1f1f5-1f1ea"},{"n":["french polynesia flag","flag-pf"],"u":"1f1f5-1f1eb"},{"n":["papua new guinea flag","flag-pg"],"u":"1f1f5-1f1ec"},{"n":["philippines flag","flag-ph"],"u":"1f1f5-1f1ed"},{"n":["pakistan flag","flag-pk"],"u":"1f1f5-1f1f0"},{"n":["poland flag","flag-pl"],"u":"1f1f5-1f1f1"},{"n":["st. pierre & miquelon flag","flag-pm"],"u":"1f1f5-1f1f2"},{"n":["pitcairn islands flag","flag-pn"],"u":"1f1f5-1f1f3"},{"n":["puerto rico flag","flag-pr"],"u":"1f1f5-1f1f7"},{"n":["palestinian territories flag","flag-ps"],"u":"1f1f5-1f1f8"},{"n":["portugal flag","flag-pt"],"u":"1f1f5-1f1f9"},{"n":["palau flag","flag-pw"],"u":"1f1f5-1f1fc"},{"n":["paraguay flag","flag-py"],"u":"1f1f5-1f1fe"},{"n":["qatar flag","flag-qa"],"u":"1f1f6-1f1e6"},{"n":["réunion flag","flag-re"],"u":"1f1f7-1f1ea"},{"n":["romania flag","flag-ro"],"u":"1f1f7-1f1f4"},{"n":["serbia flag","flag-rs"],"u":"1f1f7-1f1f8"},{"n":["russia flag","ru","flag-ru"],"u":"1f1f7-1f1fa"},{"n":["rwanda flag","flag-rw"],"u":"1f1f7-1f1fc"},{"n":["saudi arabia flag","flag-sa"],"u":"1f1f8-1f1e6"},{"n":["solomon islands flag","flag-sb"],"u":"1f1f8-1f1e7"},{"n":["seychelles flag","flag-sc"],"u":"1f1f8-1f1e8"},{"n":["sudan flag","flag-sd"],"u":"1f1f8-1f1e9"},{"n":["sweden flag","flag-se"],"u":"1f1f8-1f1ea"},{"n":["singapore flag","flag-sg"],"u":"1f1f8-1f1ec"},{"n":["st. helena flag","flag-sh"],"u":"1f1f8-1f1ed"},{"n":["slovenia flag","flag-si"],"u":"1f1f8-1f1ee"},{"n":["svalbard & jan mayen flag","flag-sj"],"u":"1f1f8-1f1ef"},{"n":["slovakia flag","flag-sk"],"u":"1f1f8-1f1f0"},{"n":["sierra leone flag","flag-sl"],"u":"1f1f8-1f1f1"},{"n":["san marino flag","flag-sm"],"u":"1f1f8-1f1f2"},{"n":["senegal flag","flag-sn"],"u":"1f1f8-1f1f3"},{"n":["somalia flag","flag-so"],"u":"1f1f8-1f1f4"},{"n":["suriname flag","flag-sr"],"u":"1f1f8-1f1f7"},{"n":["south sudan flag","flag-ss"],"u":"1f1f8-1f1f8"},{"n":["são tomé & príncipe flag","flag-st"],"u":"1f1f8-1f1f9"},{"n":["el salvador flag","flag-sv"],"u":"1f1f8-1f1fb"},{"n":["sint maarten flag","flag-sx"],"u":"1f1f8-1f1fd"},{"n":["syria flag","flag-sy"],"u":"1f1f8-1f1fe"},{"n":["swaziland flag","flag-sz"],"u":"1f1f8-1f1ff"},{"n":["tristan da cunha flag","flag-ta"],"u":"1f1f9-1f1e6"},{"n":["turks & caicos islands flag","flag-tc"],"u":"1f1f9-1f1e8"},{"n":["chad flag","flag-td"],"u":"1f1f9-1f1e9"},{"n":["french southern territories flag","flag-tf"],"u":"1f1f9-1f1eb"},{"n":["togo flag","flag-tg"],"u":"1f1f9-1f1ec"},{"n":["thailand flag","flag-th"],"u":"1f1f9-1f1ed"},{"n":["tajikistan flag","flag-tj"],"u":"1f1f9-1f1ef"},{"n":["tokelau flag","flag-tk"],"u":"1f1f9-1f1f0"},{"n":["timor-leste flag","flag-tl"],"u":"1f1f9-1f1f1"},{"n":["turkmenistan flag","flag-tm"],"u":"1f1f9-1f1f2"},{"n":["tunisia flag","flag-tn"],"u":"1f1f9-1f1f3"},{"n":["tonga flag","flag-to"],"u":"1f1f9-1f1f4"},{"n":["turkey flag","flag-tr"],"u":"1f1f9-1f1f7"},{"n":["trinidad & tobago flag","flag-tt"],"u":"1f1f9-1f1f9"},{"n":["tuvalu flag","flag-tv"],"u":"1f1f9-1f1fb"},{"n":["taiwan flag","flag-tw"],"u":"1f1f9-1f1fc"},{"n":["tanzania flag","flag-tz"],"u":"1f1f9-1f1ff"},{"n":["ukraine flag","flag-ua"],"u":"1f1fa-1f1e6"},{"n":["uganda flag","flag-ug"],"u":"1f1fa-1f1ec"},{"n":["u.s. outlying islands flag","flag-um"],"u":"1f1fa-1f1f2"},{"n":["united nations flag","flag-un"],"u":"1f1fa-1f1f3"},{"n":["united states flag","us","flag-us"],"u":"1f1fa-1f1f8"},{"n":["uruguay flag","flag-uy"],"u":"1f1fa-1f1fe"},{"n":["uzbekistan flag","flag-uz"],"u":"1f1fa-1f1ff"},{"n":["vatican city flag","flag-va"],"u":"1f1fb-1f1e6"},{"n":["st. vincent & grenadines flag","flag-vc"],"u":"1f1fb-1f1e8"},{"n":["venezuela flag","flag-ve"],"u":"1f1fb-1f1ea"},{"n":["british virgin islands flag","flag-vg"],"u":"1f1fb-1f1ec"},{"n":["u.s. virgin islands flag","flag-vi"],"u":"1f1fb-1f1ee"},{"n":["vietnam flag","flag-vn"],"u":"1f1fb-1f1f3"},{"n":["vanuatu flag","flag-vu"],"u":"1f1fb-1f1fa"},{"n":["wallis & futuna flag","flag-wf"],"u":"1f1fc-1f1eb"},{"n":["samoa flag","flag-ws"],"u":"1f1fc-1f1f8"},{"n":["kosovo flag","flag-xk"],"u":"1f1fd-1f1f0"},{"n":["yemen flag","flag-ye"],"u":"1f1fe-1f1ea"},{"n":["mayotte flag","flag-yt"],"u":"1f1fe-1f1f9"},{"n":["south africa flag","flag-za"],"u":"1f1ff-1f1e6"},{"n":["zambia flag","flag-zm"],"u":"1f1ff-1f1f2"},{"n":["zimbabwe flag","flag-zw"],"u":"1f1ff-1f1fc"},{"n":["england flag","flag-england"],"u":"1f3f4-e0067-e0062-e0065-e006e-e0067-e007f"},{"n":["scotland flag","flag-scotland"],"u":"1f3f4-e0067-e0062-e0073-e0063-e0074-e007f"},{"n":["wales flag","flag-wales"],"u":"1f3f4-e0067-e0062-e0077-e006c-e0073-e007f"}],"symbols":[{"n":["automated teller machine","atm"],"u":"1f3e7"},{"n":["put litter in its place symbol","put_litter_in_its_place"],"u":"1f6ae"},{"n":["potable water symbol","potable_water"],"u":"1f6b0"},{"n":["wheelchair symbol","wheelchair"],"u":"267f"},{"n":["mens symbol","mens"],"u":"1f6b9"},{"n":["womens symbol","womens"],"u":"1f6ba"},{"n":["restroom"],"u":"1f6bb"},{"n":["baby symbol","baby_symbol"],"u":"1f6bc"},{"n":["water closet","wc"],"u":"1f6be"},{"n":["passport control","passport_control"],"u":"1f6c2"},{"n":["customs"],"u":"1f6c3"},{"n":["baggage claim","baggage_claim"],"u":"1f6c4"},{"n":["left luggage","left_luggage"],"u":"1f6c5"},{"n":["warning sign","warning"],"u":"26a0-fe0f"},{"n":["children crossing","children_crossing"],"u":"1f6b8"},{"n":["no entry","no_entry"],"u":"26d4"},{"n":["no entry sign","no_entry_sign"],"u":"1f6ab"},{"n":["no bicycles","no_bicycles"],"u":"1f6b3"},{"n":["no smoking symbol","no_smoking"],"u":"1f6ad"},{"n":["do not litter symbol","do_not_litter"],"u":"1f6af"},{"n":["non-potable water symbol","non-potable_water"],"u":"1f6b1"},{"n":["no pedestrians","no_pedestrians"],"u":"1f6b7"},{"n":["no mobile phones","no_mobile_phones"],"u":"1f4f5"},{"n":["no one under eighteen symbol","underage"],"u":"1f51e"},{"n":["radioactive_sign"],"u":"2622-fe0f"},{"n":["biohazard_sign"],"u":"2623-fe0f"},{"n":["upwards black arrow","arrow_up"],"u":"2b06-fe0f"},{"n":["north east arrow","arrow_upper_right"],"u":"2197-fe0f"},{"n":["black rightwards arrow","arrow_right"],"u":"27a1-fe0f"},{"n":["south east arrow","arrow_lower_right"],"u":"2198-fe0f"},{"n":["downwards black arrow","arrow_down"],"u":"2b07-fe0f"},{"n":["south west arrow","arrow_lower_left"],"u":"2199-fe0f"},{"n":["leftwards black arrow","arrow_left"],"u":"2b05-fe0f"},{"n":["north west arrow","arrow_upper_left"],"u":"2196-fe0f"},{"n":["up down arrow","arrow_up_down"],"u":"2195-fe0f"},{"n":["left right arrow","left_right_arrow"],"u":"2194-fe0f"},{"n":["leftwards arrow with hook","leftwards_arrow_with_hook"],"u":"21a9-fe0f"},{"n":["rightwards arrow with hook","arrow_right_hook"],"u":"21aa-fe0f"},{"n":["arrow pointing rightwards then curving upwards","arrow_heading_up"],"u":"2934-fe0f"},{"n":["arrow pointing rightwards then curving downwards","arrow_heading_down"],"u":"2935-fe0f"},{"n":["clockwise downwards and upwards open circle arrows","arrows_clockwise"],"u":"1f503"},{"n":["anticlockwise downwards and upwards open circle arrows","arrows_counterclockwise"],"u":"1f504"},{"n":["back with leftwards arrow above","back"],"u":"1f519"},{"n":["end with leftwards arrow above","end"],"u":"1f51a"},{"n":["on with exclamation mark with left right arrow above","on"],"u":"1f51b"},{"n":["soon with rightwards arrow above","soon"],"u":"1f51c"},{"n":["top with upwards arrow above","top"],"u":"1f51d"},{"n":["place of worship","place_of_worship"],"u":"1f6d0"},{"n":["atom_symbol"],"u":"269b-fe0f"},{"n":["om_symbol"],"u":"1f549-fe0f"},{"n":["star_of_david"],"u":"2721-fe0f"},{"n":["wheel_of_dharma"],"u":"2638-fe0f"},{"n":["yin_yang"],"u":"262f-fe0f"},{"n":["latin_cross"],"u":"271d-fe0f"},{"n":["orthodox_cross"],"u":"2626-fe0f"},{"n":["star_and_crescent"],"u":"262a-fe0f"},{"n":["peace_symbol"],"u":"262e-fe0f"},{"n":["menorah with nine branches","menorah_with_nine_branches"],"u":"1f54e"},{"n":["six pointed star with middle dot","six_pointed_star"],"u":"1f52f"},{"n":["aries"],"u":"2648"},{"n":["taurus"],"u":"2649"},{"n":["gemini"],"u":"264a"},{"n":["cancer"],"u":"264b"},{"n":["leo"],"u":"264c"},{"n":["virgo"],"u":"264d"},{"n":["libra"],"u":"264e"},{"n":["scorpius"],"u":"264f"},{"n":["sagittarius"],"u":"2650"},{"n":["capricorn"],"u":"2651"},{"n":["aquarius"],"u":"2652"},{"n":["pisces"],"u":"2653"},{"n":["ophiuchus"],"u":"26ce"},{"n":["twisted rightwards arrows","twisted_rightwards_arrows"],"u":"1f500"},{"n":["clockwise rightwards and leftwards open circle arrows","repeat"],"u":"1f501"},{"n":["clockwise rightwards and leftwards open circle arrows with circled one overlay","repeat_one"],"u":"1f502"},{"n":["black right-pointing triangle","arrow_forward"],"u":"25b6-fe0f"},{"n":["black right-pointing double triangle","fast_forward"],"u":"23e9"},{"n":["black_right_pointing_double_triangle_with_vertical_bar"],"u":"23ed-fe0f"},{"n":["black_right_pointing_triangle_with_double_vertical_bar"],"u":"23ef-fe0f"},{"n":["black left-pointing triangle","arrow_backward"],"u":"25c0-fe0f"},{"n":["black left-pointing double triangle","rewind"],"u":"23ea"},{"n":["black_left_pointing_double_triangle_with_vertical_bar"],"u":"23ee-fe0f"},{"n":["up-pointing small red triangle","arrow_up_small"],"u":"1f53c"},{"n":["black up-pointing double triangle","arrow_double_up"],"u":"23eb"},{"n":["down-pointing small red triangle","arrow_down_small"],"u":"1f53d"},{"n":["black down-pointing double triangle","arrow_double_down"],"u":"23ec"},{"n":["double_vertical_bar"],"u":"23f8-fe0f"},{"n":["black_square_for_stop"],"u":"23f9-fe0f"},{"n":["black_circle_for_record"],"u":"23fa-fe0f"},{"n":["eject"],"u":"23cf-fe0f"},{"n":["cinema"],"u":"1f3a6"},{"n":["low brightness symbol","low_brightness"],"u":"1f505"},{"n":["high brightness symbol","high_brightness"],"u":"1f506"},{"n":["antenna with bars","signal_strength"],"u":"1f4f6"},{"n":["vibration mode","vibration_mode"],"u":"1f4f3"},{"n":["mobile phone off","mobile_phone_off"],"u":"1f4f4"},{"n":["female_sign"],"u":"2640-fe0f"},{"n":["male_sign"],"u":"2642-fe0f"},{"n":["medical_symbol","staff_of_aesculapius"],"u":"2695-fe0f"},{"n":["black universal recycling symbol","recycle"],"u":"267b-fe0f"},{"n":["fleur_de_lis"],"u":"269c-fe0f"},{"n":["trident emblem","trident"],"u":"1f531"},{"n":["name badge","name_badge"],"u":"1f4db"},{"n":["japanese symbol for beginner","beginner"],"u":"1f530"},{"n":["heavy large circle","o"],"u":"2b55"},{"n":["white heavy check mark","white_check_mark"],"u":"2705"},{"n":["ballot box with check","ballot_box_with_check"],"u":"2611-fe0f"},{"n":["heavy check mark","heavy_check_mark"],"u":"2714-fe0f"},{"n":["heavy multiplication x","heavy_multiplication_x"],"u":"2716-fe0f"},{"n":["cross mark","x"],"u":"274c"},{"n":["negative squared cross mark","negative_squared_cross_mark"],"u":"274e"},{"n":["heavy plus sign","heavy_plus_sign"],"u":"2795"},{"n":["heavy minus sign","heavy_minus_sign"],"u":"2796"},{"n":["heavy division sign","heavy_division_sign"],"u":"2797"},{"n":["curly loop","curly_loop"],"u":"27b0"},{"n":["double curly loop","loop"],"u":"27bf"},{"n":["part alternation mark","part_alternation_mark"],"u":"303d-fe0f"},{"n":["eight spoked asterisk","eight_spoked_asterisk"],"u":"2733-fe0f"},{"n":["eight pointed black star","eight_pointed_black_star"],"u":"2734-fe0f"},{"n":["sparkle"],"u":"2747-fe0f"},{"n":["double exclamation mark","bangbang"],"u":"203c-fe0f"},{"n":["exclamation question mark","interrobang"],"u":"2049-fe0f"},{"n":["black question mark ornament","question"],"u":"2753"},{"n":["white question mark ornament","grey_question"],"u":"2754"},{"n":["white exclamation mark ornament","grey_exclamation"],"u":"2755"},{"n":["heavy exclamation mark symbol","exclamation","heavy_exclamation_mark"],"u":"2757"},{"n":["wavy dash","wavy_dash"],"u":"3030-fe0f"},{"n":["copyright sign","copyright"],"u":"00a9-fe0f"},{"n":["registered sign","registered"],"u":"00ae-fe0f"},{"n":["trade mark sign","tm"],"u":"2122-fe0f"},{"n":["hash key","hash"],"u":"0023-fe0f-20e3"},{"n":["keycap_star"],"u":"002a-fe0f-20e3"},{"n":["keycap 0","zero"],"u":"0030-fe0f-20e3"},{"n":["keycap 1","one"],"u":"0031-fe0f-20e3"},{"n":["keycap 2","two"],"u":"0032-fe0f-20e3"},{"n":["keycap 3","three"],"u":"0033-fe0f-20e3"},{"n":["keycap 4","four"],"u":"0034-fe0f-20e3"},{"n":["keycap 5","five"],"u":"0035-fe0f-20e3"},{"n":["keycap 6","six"],"u":"0036-fe0f-20e3"},{"n":["keycap 7","seven"],"u":"0037-fe0f-20e3"},{"n":["keycap 8","eight"],"u":"0038-fe0f-20e3"},{"n":["keycap 9","nine"],"u":"0039-fe0f-20e3"},{"n":["keycap ten","keycap_ten"],"u":"1f51f"},{"n":["hundred points symbol","100"],"u":"1f4af"},{"n":["input symbol for latin capital letters","capital_abcd"],"u":"1f520"},{"n":["input symbol for latin small letters","abcd"],"u":"1f521"},{"n":["input symbol for numbers","1234"],"u":"1f522"},{"n":["input symbol for symbols","symbols"],"u":"1f523"},{"n":["input symbol for latin letters","abc"],"u":"1f524"},{"n":["negative squared latin capital letter a","a"],"u":"1f170-fe0f"},{"n":["negative squared ab","ab"],"u":"1f18e"},{"n":["negative squared latin capital letter b","b"],"u":"1f171-fe0f"},{"n":["squared cl","cl"],"u":"1f191"},{"n":["squared cool","cool"],"u":"1f192"},{"n":["squared free","free"],"u":"1f193"},{"n":["information source","information_source"],"u":"2139-fe0f"},{"n":["squared id","id"],"u":"1f194"},{"n":["circled latin capital letter m","m"],"u":"24c2-fe0f"},{"n":["squared new","new"],"u":"1f195"},{"n":["squared ng","ng"],"u":"1f196"},{"n":["negative squared latin capital letter o","o2"],"u":"1f17e-fe0f"},{"n":["squared ok","ok"],"u":"1f197"},{"n":["negative squared latin capital letter p","parking"],"u":"1f17f-fe0f"},{"n":["squared sos","sos"],"u":"1f198"},{"n":["squared up with exclamation mark","up"],"u":"1f199"},{"n":["squared vs","vs"],"u":"1f19a"},{"n":["squared katakana koko","koko"],"u":"1f201"},{"n":["squared katakana sa","sa"],"u":"1f202-fe0f"},{"n":["squared cjk unified ideograph-6708","u6708"],"u":"1f237-fe0f"},{"n":["squared cjk unified ideograph-6709","u6709"],"u":"1f236"},{"n":["squared cjk unified ideograph-6307","u6307"],"u":"1f22f"},{"n":["circled ideograph advantage","ideograph_advantage"],"u":"1f250"},{"n":["squared cjk unified ideograph-5272","u5272"],"u":"1f239"},{"n":["squared cjk unified ideograph-7121","u7121"],"u":"1f21a"},{"n":["squared cjk unified ideograph-7981","u7981"],"u":"1f232"},{"n":["circled ideograph accept","accept"],"u":"1f251"},{"n":["squared cjk unified ideograph-7533","u7533"],"u":"1f238"},{"n":["squared cjk unified ideograph-5408","u5408"],"u":"1f234"},{"n":["squared cjk unified ideograph-7a7a","u7a7a"],"u":"1f233"},{"n":["circled ideograph congratulation","congratulations"],"u":"3297-fe0f"},{"n":["circled ideograph secret","secret"],"u":"3299-fe0f"},{"n":["squared cjk unified ideograph-55b6","u55b6"],"u":"1f23a"},{"n":["squared cjk unified ideograph-6e80","u6e80"],"u":"1f235"},{"n":["black small square","black_small_square"],"u":"25aa-fe0f"},{"n":["white small square","white_small_square"],"u":"25ab-fe0f"},{"n":["white medium square","white_medium_square"],"u":"25fb-fe0f"},{"n":["black medium square","black_medium_square"],"u":"25fc-fe0f"},{"n":["white medium small square","white_medium_small_square"],"u":"25fd"},{"n":["black medium small square","black_medium_small_square"],"u":"25fe"},{"n":["black large square","black_large_square"],"u":"2b1b"},{"n":["white large square","white_large_square"],"u":"2b1c"},{"n":["large orange diamond","large_orange_diamond"],"u":"1f536"},{"n":["large blue diamond","large_blue_diamond"],"u":"1f537"},{"n":["small orange diamond","small_orange_diamond"],"u":"1f538"},{"n":["small blue diamond","small_blue_diamond"],"u":"1f539"},{"n":["up-pointing red triangle","small_red_triangle"],"u":"1f53a"},{"n":["down-pointing red triangle","small_red_triangle_down"],"u":"1f53b"},{"n":["diamond shape with a dot inside","diamond_shape_with_a_dot_inside"],"u":"1f4a0"},{"n":["radio button","radio_button"],"u":"1f518"},{"n":["black square button","black_square_button"],"u":"1f532"},{"n":["white square button","white_square_button"],"u":"1f533"},{"n":["medium white circle","white_circle"],"u":"26aa"},{"n":["medium black circle","black_circle"],"u":"26ab"},{"n":["large red circle","red_circle"],"u":"1f534"},{"n":["large blue circle","large_blue_circle"],"u":"1f535"}],"animals & nature":[{"n":["monkey face","monkey_face"],"u":"1f435"},{"n":["monkey"],"u":"1f412"},{"n":["gorilla"],"u":"1f98d"},{"n":["dog face","dog"],"u":"1f436"},{"n":["dog","dog2"],"u":"1f415"},{"n":["poodle"],"u":"1f429"},{"n":["wolf face","wolf"],"u":"1f43a"},{"n":["fox face","fox_face"],"u":"1f98a"},{"n":["cat face","cat"],"u":"1f431"},{"n":["cat","cat2"],"u":"1f408"},{"n":["lion face","lion_face"],"u":"1f981"},{"n":["tiger face","tiger"],"u":"1f42f"},{"n":["tiger","tiger2"],"u":"1f405"},{"n":["leopard"],"u":"1f406"},{"n":["horse face","horse"],"u":"1f434"},{"n":["horse","racehorse"],"u":"1f40e"},{"n":["unicorn face","unicorn_face"],"u":"1f984"},{"n":["zebra face","zebra_face"],"u":"1f993"},{"n":["deer"],"u":"1f98c"},{"n":["cow face","cow"],"u":"1f42e"},{"n":["ox"],"u":"1f402"},{"n":["water buffalo","water_buffalo"],"u":"1f403"},{"n":["cow","cow2"],"u":"1f404"},{"n":["pig face","pig"],"u":"1f437"},{"n":["pig","pig2"],"u":"1f416"},{"n":["boar"],"u":"1f417"},{"n":["pig nose","pig_nose"],"u":"1f43d"},{"n":["ram"],"u":"1f40f"},{"n":["sheep"],"u":"1f411"},{"n":["goat"],"u":"1f410"},{"n":["dromedary camel","dromedary_camel"],"u":"1f42a"},{"n":["bactrian camel","camel"],"u":"1f42b"},{"n":["giraffe face","giraffe_face"],"u":"1f992"},{"n":["elephant"],"u":"1f418"},{"n":["rhinoceros"],"u":"1f98f"},{"n":["mouse face","mouse"],"u":"1f42d"},{"n":["mouse","mouse2"],"u":"1f401"},{"n":["rat"],"u":"1f400"},{"n":["hamster face","hamster"],"u":"1f439"},{"n":["rabbit face","rabbit"],"u":"1f430"},{"n":["rabbit","rabbit2"],"u":"1f407"},{"n":["chipmunk"],"u":"1f43f-fe0f"},{"n":["hedgehog"],"u":"1f994"},{"n":["bat"],"u":"1f987"},{"n":["bear face","bear"],"u":"1f43b"},{"n":["koala"],"u":"1f428"},{"n":["panda face","panda_face"],"u":"1f43c"},{"n":["paw prints","feet","paw_prints"],"u":"1f43e"},{"n":["turkey"],"u":"1f983"},{"n":["chicken"],"u":"1f414"},{"n":["rooster"],"u":"1f413"},{"n":["hatching chick","hatching_chick"],"u":"1f423"},{"n":["baby chick","baby_chick"],"u":"1f424"},{"n":["front-facing baby chick","hatched_chick"],"u":"1f425"},{"n":["bird"],"u":"1f426"},{"n":["penguin"],"u":"1f427"},{"n":["dove_of_peace"],"u":"1f54a-fe0f"},{"n":["eagle"],"u":"1f985"},{"n":["duck"],"u":"1f986"},{"n":["owl"],"u":"1f989"},{"n":["frog face","frog"],"u":"1f438"},{"n":["crocodile"],"u":"1f40a"},{"n":["turtle"],"u":"1f422"},{"n":["lizard"],"u":"1f98e"},{"n":["snake"],"u":"1f40d"},{"n":["dragon face","dragon_face"],"u":"1f432"},{"n":["dragon"],"u":"1f409"},{"n":["sauropod"],"u":"1f995"},{"n":["t-rex"],"u":"1f996"},{"n":["spouting whale","whale"],"u":"1f433"},{"n":["whale","whale2"],"u":"1f40b"},{"n":["dolphin","flipper"],"u":"1f42c"},{"n":["fish"],"u":"1f41f"},{"n":["tropical fish","tropical_fish"],"u":"1f420"},{"n":["blowfish"],"u":"1f421"},{"n":["shark"],"u":"1f988"},{"n":["octopus"],"u":"1f419"},{"n":["spiral shell","shell"],"u":"1f41a"},{"n":["crab"],"u":"1f980"},{"n":["shrimp"],"u":"1f990"},{"n":["squid"],"u":"1f991"},{"n":["snail"],"u":"1f40c"},{"n":["butterfly"],"u":"1f98b"},{"n":["bug"],"u":"1f41b"},{"n":["ant"],"u":"1f41c"},{"n":["honeybee","bee"],"u":"1f41d"},{"n":["lady beetle","beetle"],"u":"1f41e"},{"n":["cricket"],"u":"1f997"},{"n":["spider"],"u":"1f577-fe0f"},{"n":["spider_web"],"u":"1f578-fe0f"},{"n":["scorpion"],"u":"1f982"},{"n":["bouquet"],"u":"1f490"},{"n":["cherry blossom","cherry_blossom"],"u":"1f338"},{"n":["white flower","white_flower"],"u":"1f4ae"},{"n":["rosette"],"u":"1f3f5-fe0f"},{"n":["rose"],"u":"1f339"},{"n":["wilted flower","wilted_flower"],"u":"1f940"},{"n":["hibiscus"],"u":"1f33a"},{"n":["sunflower"],"u":"1f33b"},{"n":["blossom"],"u":"1f33c"},{"n":["tulip"],"u":"1f337"},{"n":["seedling"],"u":"1f331"},{"n":["evergreen tree","evergreen_tree"],"u":"1f332"},{"n":["deciduous tree","deciduous_tree"],"u":"1f333"},{"n":["palm tree","palm_tree"],"u":"1f334"},{"n":["cactus"],"u":"1f335"},{"n":["ear of rice","ear_of_rice"],"u":"1f33e"},{"n":["herb"],"u":"1f33f"},{"n":["shamrock"],"u":"2618-fe0f"},{"n":["four leaf clover","four_leaf_clover"],"u":"1f340"},{"n":["maple leaf","maple_leaf"],"u":"1f341"},{"n":["fallen leaf","fallen_leaf"],"u":"1f342"},{"n":["leaf fluttering in wind","leaves"],"u":"1f343"}],"objects":[{"n":["speaker with cancellation stroke","mute"],"u":"1f507"},{"n":["speaker"],"u":"1f508"},{"n":["speaker with one sound wave","sound"],"u":"1f509"},{"n":["speaker with three sound waves","loud_sound"],"u":"1f50a"},{"n":["public address loudspeaker","loudspeaker"],"u":"1f4e2"},{"n":["cheering megaphone","mega"],"u":"1f4e3"},{"n":["postal horn","postal_horn"],"u":"1f4ef"},{"n":["bell"],"u":"1f514"},{"n":["bell with cancellation stroke","no_bell"],"u":"1f515"},{"n":["musical score","musical_score"],"u":"1f3bc"},{"n":["musical note","musical_note"],"u":"1f3b5"},{"n":["multiple musical notes","notes"],"u":"1f3b6"},{"n":["studio_microphone"],"u":"1f399-fe0f"},{"n":["level_slider"],"u":"1f39a-fe0f"},{"n":["control_knobs"],"u":"1f39b-fe0f"},{"n":["microphone"],"u":"1f3a4"},{"n":["headphone","headphones"],"u":"1f3a7"},{"n":["radio"],"u":"1f4fb"},{"n":["saxophone"],"u":"1f3b7"},{"n":["guitar"],"u":"1f3b8"},{"n":["musical keyboard","musical_keyboard"],"u":"1f3b9"},{"n":["trumpet"],"u":"1f3ba"},{"n":["violin"],"u":"1f3bb"},{"n":["drum with drumsticks","drum_with_drumsticks"],"u":"1f941"},{"n":["mobile phone","iphone"],"u":"1f4f1"},{"n":["mobile phone with rightwards arrow at left","calling"],"u":"1f4f2"},{"n":["black telephone","phone","telephone"],"u":"260e-fe0f"},{"n":["telephone receiver","telephone_receiver"],"u":"1f4de"},{"n":["pager"],"u":"1f4df"},{"n":["fax machine","fax"],"u":"1f4e0"},{"n":["battery"],"u":"1f50b"},{"n":["electric plug","electric_plug"],"u":"1f50c"},{"n":["personal computer","computer"],"u":"1f4bb"},{"n":["desktop_computer"],"u":"1f5a5-fe0f"},{"n":["printer"],"u":"1f5a8-fe0f"},{"n":["keyboard"],"u":"2328-fe0f"},{"n":["three_button_mouse"],"u":"1f5b1-fe0f"},{"n":["trackball"],"u":"1f5b2-fe0f"},{"n":["minidisc"],"u":"1f4bd"},{"n":["floppy disk","floppy_disk"],"u":"1f4be"},{"n":["optical disc","cd"],"u":"1f4bf"},{"n":["dvd"],"u":"1f4c0"},{"n":["movie camera","movie_camera"],"u":"1f3a5"},{"n":["film_frames"],"u":"1f39e-fe0f"},{"n":["film_projector"],"u":"1f4fd-fe0f"},{"n":["clapper board","clapper"],"u":"1f3ac"},{"n":["television","tv"],"u":"1f4fa"},{"n":["camera"],"u":"1f4f7"},{"n":["camera with flash","camera_with_flash"],"u":"1f4f8"},{"n":["video camera","video_camera"],"u":"1f4f9"},{"n":["videocassette","vhs"],"u":"1f4fc"},{"n":["left-pointing magnifying glass","mag"],"u":"1f50d"},{"n":["right-pointing magnifying glass","mag_right"],"u":"1f50e"},{"n":["microscope"],"u":"1f52c"},{"n":["telescope"],"u":"1f52d"},{"n":["satellite antenna","satellite_antenna"],"u":"1f4e1"},{"n":["candle"],"u":"1f56f-fe0f"},{"n":["electric light bulb","bulb"],"u":"1f4a1"},{"n":["electric torch","flashlight"],"u":"1f526"},{"n":["izakaya lantern","izakaya_lantern","lantern"],"u":"1f3ee"},{"n":["notebook with decorative cover","notebook_with_decorative_cover"],"u":"1f4d4"},{"n":["closed book","closed_book"],"u":"1f4d5"},{"n":["open book","book","open_book"],"u":"1f4d6"},{"n":["green book","green_book"],"u":"1f4d7"},{"n":["blue book","blue_book"],"u":"1f4d8"},{"n":["orange book","orange_book"],"u":"1f4d9"},{"n":["books"],"u":"1f4da"},{"n":["notebook"],"u":"1f4d3"},{"n":["ledger"],"u":"1f4d2"},{"n":["page with curl","page_with_curl"],"u":"1f4c3"},{"n":["scroll"],"u":"1f4dc"},{"n":["page facing up","page_facing_up"],"u":"1f4c4"},{"n":["newspaper"],"u":"1f4f0"},{"n":["rolled_up_newspaper"],"u":"1f5de-fe0f"},{"n":["bookmark tabs","bookmark_tabs"],"u":"1f4d1"},{"n":["bookmark"],"u":"1f516"},{"n":["label"],"u":"1f3f7-fe0f"},{"n":["money bag","moneybag"],"u":"1f4b0"},{"n":["banknote with yen sign","yen"],"u":"1f4b4"},{"n":["banknote with dollar sign","dollar"],"u":"1f4b5"},{"n":["banknote with euro sign","euro"],"u":"1f4b6"},{"n":["banknote with pound sign","pound"],"u":"1f4b7"},{"n":["money with wings","money_with_wings"],"u":"1f4b8"},{"n":["credit card","credit_card"],"u":"1f4b3"},{"n":["chart with upwards trend and yen sign","chart"],"u":"1f4b9"},{"n":["currency exchange","currency_exchange"],"u":"1f4b1"},{"n":["heavy dollar sign","heavy_dollar_sign"],"u":"1f4b2"},{"n":["envelope","email"],"u":"2709-fe0f"},{"n":["e-mail symbol","e-mail"],"u":"1f4e7"},{"n":["incoming envelope","incoming_envelope"],"u":"1f4e8"},{"n":["envelope with downwards arrow above","envelope_with_arrow"],"u":"1f4e9"},{"n":["outbox tray","outbox_tray"],"u":"1f4e4"},{"n":["inbox tray","inbox_tray"],"u":"1f4e5"},{"n":["package"],"u":"1f4e6"},{"n":["closed mailbox with raised flag","mailbox"],"u":"1f4eb"},{"n":["closed mailbox with lowered flag","mailbox_closed"],"u":"1f4ea"},{"n":["open mailbox with raised flag","mailbox_with_mail"],"u":"1f4ec"},{"n":["open mailbox with lowered flag","mailbox_with_no_mail"],"u":"1f4ed"},{"n":["postbox"],"u":"1f4ee"},{"n":["ballot_box_with_ballot"],"u":"1f5f3-fe0f"},{"n":["pencil","pencil2"],"u":"270f-fe0f"},{"n":["black nib","black_nib"],"u":"2712-fe0f"},{"n":["lower_left_fountain_pen"],"u":"1f58b-fe0f"},{"n":["lower_left_ballpoint_pen"],"u":"1f58a-fe0f"},{"n":["lower_left_paintbrush"],"u":"1f58c-fe0f"},{"n":["lower_left_crayon"],"u":"1f58d-fe0f"},{"n":["memo","pencil"],"u":"1f4dd"},{"n":["briefcase"],"u":"1f4bc"},{"n":["file folder","file_folder"],"u":"1f4c1"},{"n":["open file folder","open_file_folder"],"u":"1f4c2"},{"n":["card_index_dividers"],"u":"1f5c2-fe0f"},{"n":["calendar","date"],"u":"1f4c5"},{"n":["tear-off calendar","calendar"],"u":"1f4c6"},{"n":["spiral_note_pad"],"u":"1f5d2-fe0f"},{"n":["spiral_calendar_pad"],"u":"1f5d3-fe0f"},{"n":["card index","card_index"],"u":"1f4c7"},{"n":["chart with upwards trend","chart_with_upwards_trend"],"u":"1f4c8"},{"n":["chart with downwards trend","chart_with_downwards_trend"],"u":"1f4c9"},{"n":["bar chart","bar_chart"],"u":"1f4ca"},{"n":["clipboard"],"u":"1f4cb"},{"n":["pushpin"],"u":"1f4cc"},{"n":["round pushpin","round_pushpin"],"u":"1f4cd"},{"n":["paperclip"],"u":"1f4ce"},{"n":["linked_paperclips"],"u":"1f587-fe0f"},{"n":["straight ruler","straight_ruler"],"u":"1f4cf"},{"n":["triangular ruler","triangular_ruler"],"u":"1f4d0"},{"n":["black scissors","scissors"],"u":"2702-fe0f"},{"n":["card_file_box"],"u":"1f5c3-fe0f"},{"n":["file_cabinet"],"u":"1f5c4-fe0f"},{"n":["wastebasket"],"u":"1f5d1-fe0f"},{"n":["lock"],"u":"1f512"},{"n":["open lock","unlock"],"u":"1f513"},{"n":["lock with ink pen","lock_with_ink_pen"],"u":"1f50f"},{"n":["closed lock with key","closed_lock_with_key"],"u":"1f510"},{"n":["key"],"u":"1f511"},{"n":["old_key"],"u":"1f5dd-fe0f"},{"n":["hammer"],"u":"1f528"},{"n":["pick"],"u":"26cf-fe0f"},{"n":["hammer_and_pick"],"u":"2692-fe0f"},{"n":["hammer_and_wrench"],"u":"1f6e0-fe0f"},{"n":["dagger_knife"],"u":"1f5e1-fe0f"},{"n":["crossed_swords"],"u":"2694-fe0f"},{"n":["pistol","gun"],"u":"1f52b"},{"n":["bow and arrow","bow_and_arrow"],"u":"1f3f9"},{"n":["shield"],"u":"1f6e1-fe0f"},{"n":["wrench"],"u":"1f527"},{"n":["nut and bolt","nut_and_bolt"],"u":"1f529"},{"n":["gear"],"u":"2699-fe0f"},{"n":["compression"],"u":"1f5dc-fe0f"},{"n":["alembic"],"u":"2697-fe0f"},{"n":["scales"],"u":"2696-fe0f"},{"n":["link symbol","link"],"u":"1f517"},{"n":["chains"],"u":"26d3-fe0f"},{"n":["syringe"],"u":"1f489"},{"n":["pill"],"u":"1f48a"},{"n":["smoking symbol","smoking"],"u":"1f6ac"},{"n":["coffin"],"u":"26b0-fe0f"},{"n":["funeral_urn"],"u":"26b1-fe0f"},{"n":["moyai"],"u":"1f5ff"},{"n":["oil_drum"],"u":"1f6e2-fe0f"},{"n":["crystal ball","crystal_ball"],"u":"1f52e"},{"n":["shopping trolley","shopping_trolley"],"u":"1f6d2"}],"smileys & people":[{"n":["grinning face","grinning"],"u":"1f600"},{"n":["grinning face with smiling eyes","grin"],"u":"1f601"},{"n":["face with tears of joy","joy"],"u":"1f602"},{"n":["rolling on the floor laughing","rolling_on_the_floor_laughing"],"u":"1f923"},{"n":["smiling face with open mouth","smiley"],"u":"1f603"},{"n":["smiling face with open mouth and smiling eyes","smile"],"u":"1f604"},{"n":["smiling face with open mouth and cold sweat","sweat_smile"],"u":"1f605"},{"n":["smiling face with open mouth and tightly-closed eyes","laughing","satisfied"],"u":"1f606"},{"n":["winking face","wink"],"u":"1f609"},{"n":["smiling face with smiling eyes","blush"],"u":"1f60a"},{"n":["face savouring delicious food","yum"],"u":"1f60b"},{"n":["smiling face with sunglasses","sunglasses"],"u":"1f60e"},{"n":["smiling face with heart-shaped eyes","heart_eyes"],"u":"1f60d"},{"n":["face throwing a kiss","kissing_heart"],"u":"1f618"},{"n":["kissing face","kissing"],"u":"1f617"},{"n":["kissing face with smiling eyes","kissing_smiling_eyes"],"u":"1f619"},{"n":["kissing face with closed eyes","kissing_closed_eyes"],"u":"1f61a"},{"n":["white smiling face","relaxed"],"u":"263a-fe0f"},{"n":["slightly smiling face","slightly_smiling_face"],"u":"1f642"},{"n":["hugging face","hugging_face"],"u":"1f917"},{"n":["grinning face with star eyes","star-struck","grinning_face_with_star_eyes"],"u":"1f929"},{"n":["thinking face","thinking_face"],"u":"1f914"},{"n":["face with one eyebrow raised","face_with_raised_eyebrow","face_with_one_eyebrow_raised"],"u":"1f928"},{"n":["neutral face","neutral_face"],"u":"1f610"},{"n":["expressionless face","expressionless"],"u":"1f611"},{"n":["face without mouth","no_mouth"],"u":"1f636"},{"n":["face with rolling eyes","face_with_rolling_eyes"],"u":"1f644"},{"n":["smirking face","smirk"],"u":"1f60f"},{"n":["persevering face","persevere"],"u":"1f623"},{"n":["disappointed but relieved face","disappointed_relieved"],"u":"1f625"},{"n":["face with open mouth","open_mouth"],"u":"1f62e"},{"n":["zipper-mouth face","zipper_mouth_face"],"u":"1f910"},{"n":["hushed face","hushed"],"u":"1f62f"},{"n":["sleepy face","sleepy"],"u":"1f62a"},{"n":["tired face","tired_face"],"u":"1f62b"},{"n":["sleeping face","sleeping"],"u":"1f634"},{"n":["relieved face","relieved"],"u":"1f60c"},{"n":["face with stuck-out tongue","stuck_out_tongue"],"u":"1f61b"},{"n":["face with stuck-out tongue and winking eye","stuck_out_tongue_winking_eye"],"u":"1f61c"},{"n":["face with stuck-out tongue and tightly-closed eyes","stuck_out_tongue_closed_eyes"],"u":"1f61d"},{"n":["drooling face","drooling_face"],"u":"1f924"},{"n":["unamused face","unamused"],"u":"1f612"},{"n":["face with cold sweat","sweat"],"u":"1f613"},{"n":["pensive face","pensive"],"u":"1f614"},{"n":["confused face","confused"],"u":"1f615"},{"n":["upside-down face","upside_down_face"],"u":"1f643"},{"n":["money-mouth face","money_mouth_face"],"u":"1f911"},{"n":["astonished face","astonished"],"u":"1f632"},{"n":["white_frowning_face"],"u":"2639-fe0f"},{"n":["slightly frowning face","slightly_frowning_face"],"u":"1f641"},{"n":["confounded face","confounded"],"u":"1f616"},{"n":["disappointed face","disappointed"],"u":"1f61e"},{"n":["worried face","worried"],"u":"1f61f"},{"n":["face with look of triumph","triumph"],"u":"1f624"},{"n":["crying face","cry"],"u":"1f622"},{"n":["loudly crying face","sob"],"u":"1f62d"},{"n":["frowning face with open mouth","frowning"],"u":"1f626"},{"n":["anguished face","anguished"],"u":"1f627"},{"n":["fearful face","fearful"],"u":"1f628"},{"n":["weary face","weary"],"u":"1f629"},{"n":["shocked face with exploding head","exploding_head","shocked_face_with_exploding_head"],"u":"1f92f"},{"n":["grimacing face","grimacing"],"u":"1f62c"},{"n":["face with open mouth and cold sweat","cold_sweat"],"u":"1f630"},{"n":["face screaming in fear","scream"],"u":"1f631"},{"n":["flushed face","flushed"],"u":"1f633"},{"n":["grinning face with one large and one small eye","zany_face","grinning_face_with_one_large_and_one_small_eye"],"u":"1f92a"},{"n":["dizzy face","dizzy_face"],"u":"1f635"},{"n":["pouting face","rage"],"u":"1f621"},{"n":["angry face","angry"],"u":"1f620"},{"n":["serious face with symbols covering mouth","face_with_symbols_on_mouth","serious_face_with_symbols_covering_mouth"],"u":"1f92c"},{"n":["face with medical mask","mask"],"u":"1f637"},{"n":["face with thermometer","face_with_thermometer"],"u":"1f912"},{"n":["face with head-bandage","face_with_head_bandage"],"u":"1f915"},{"n":["nauseated face","nauseated_face"],"u":"1f922"},{"n":["face with open mouth vomiting","face_vomiting","face_with_open_mouth_vomiting"],"u":"1f92e"},{"n":["sneezing face","sneezing_face"],"u":"1f927"},{"n":["smiling face with halo","innocent"],"u":"1f607"},{"n":["face with cowboy hat","face_with_cowboy_hat"],"u":"1f920"},{"n":["clown face","clown_face"],"u":"1f921"},{"n":["lying face","lying_face"],"u":"1f925"},{"n":["face with finger covering closed lips","shushing_face","face_with_finger_covering_closed_lips"],"u":"1f92b"},{"n":["smiling face with smiling eyes and hand covering mouth","face_with_hand_over_mouth","smiling_face_with_smiling_eyes_and_hand_covering_mouth"],"u":"1f92d"},{"n":["face with monocle","face_with_monocle"],"u":"1f9d0"},{"n":["nerd face","nerd_face"],"u":"1f913"},{"n":["smiling face with horns","smiling_imp"],"u":"1f608"},{"n":["imp"],"u":"1f47f"},{"n":["japanese ogre","japanese_ogre"],"u":"1f479"},{"n":["japanese goblin","japanese_goblin"],"u":"1f47a"},{"n":["skull"],"u":"1f480"},{"n":["skull_and_crossbones"],"u":"2620-fe0f"},{"n":["ghost"],"u":"1f47b"},{"n":["extraterrestrial alien","alien"],"u":"1f47d"},{"n":["alien monster","space_invader"],"u":"1f47e"},{"n":["robot face","robot_face"],"u":"1f916"},{"n":["pile of poo","hankey","poop","shit"],"u":"1f4a9"},{"n":["smiling cat face with open mouth","smiley_cat"],"u":"1f63a"},{"n":["grinning cat face with smiling eyes","smile_cat"],"u":"1f638"},{"n":["cat face with tears of joy","joy_cat"],"u":"1f639"},{"n":["smiling cat face with heart-shaped eyes","heart_eyes_cat"],"u":"1f63b"},{"n":["cat face with wry smile","smirk_cat"],"u":"1f63c"},{"n":["kissing cat face with closed eyes","kissing_cat"],"u":"1f63d"},{"n":["weary cat face","scream_cat"],"u":"1f640"},{"n":["crying cat face","crying_cat_face"],"u":"1f63f"},{"n":["pouting cat face","pouting_cat"],"u":"1f63e"},{"n":["see-no-evil monkey","see_no_evil"],"u":"1f648"},{"n":["hear-no-evil monkey","hear_no_evil"],"u":"1f649"},{"n":["speak-no-evil monkey","speak_no_evil"],"u":"1f64a"},{"n":["baby"],"u":"1f476","v":["1f476-1f3fb","1f476-1f3fc","1f476-1f3fd","1f476-1f3fe","1f476-1f3ff"]},{"n":["child"],"u":"1f9d2","v":["1f9d2-1f3fb","1f9d2-1f3fc","1f9d2-1f3fd","1f9d2-1f3fe","1f9d2-1f3ff"]},{"n":["boy"],"u":"1f466","v":["1f466-1f3fb","1f466-1f3fc","1f466-1f3fd","1f466-1f3fe","1f466-1f3ff"]},{"n":["girl"],"u":"1f467","v":["1f467-1f3fb","1f467-1f3fc","1f467-1f3fd","1f467-1f3fe","1f467-1f3ff"]},{"n":["adult"],"u":"1f9d1","v":["1f9d1-1f3fb","1f9d1-1f3fc","1f9d1-1f3fd","1f9d1-1f3fe","1f9d1-1f3ff"]},{"n":["man"],"u":"1f468","v":["1f468-1f3fb","1f468-1f3fc","1f468-1f3fd","1f468-1f3fe","1f468-1f3ff"]},{"n":["woman"],"u":"1f469","v":["1f469-1f3fb","1f469-1f3fc","1f469-1f3fd","1f469-1f3fe","1f469-1f3ff"]},{"n":["older adult","older_adult"],"u":"1f9d3","v":["1f9d3-1f3fb","1f9d3-1f3fc","1f9d3-1f3fd","1f9d3-1f3fe","1f9d3-1f3ff"]},{"n":["older man","older_man"],"u":"1f474","v":["1f474-1f3fb","1f474-1f3fc","1f474-1f3fd","1f474-1f3fe","1f474-1f3ff"]},{"n":["older woman","older_woman"],"u":"1f475","v":["1f475-1f3fb","1f475-1f3fc","1f475-1f3fd","1f475-1f3fe","1f475-1f3ff"]},{"n":["male-doctor"],"u":"1f468-200d-2695-fe0f","v":["1f468-1f3fb-200d-2695-fe0f","1f468-1f3fc-200d-2695-fe0f","1f468-1f3fd-200d-2695-fe0f","1f468-1f3fe-200d-2695-fe0f","1f468-1f3ff-200d-2695-fe0f"]},{"n":["female-doctor"],"u":"1f469-200d-2695-fe0f","v":["1f469-1f3fb-200d-2695-fe0f","1f469-1f3fc-200d-2695-fe0f","1f469-1f3fd-200d-2695-fe0f","1f469-1f3fe-200d-2695-fe0f","1f469-1f3ff-200d-2695-fe0f"]},{"n":["male-student"],"u":"1f468-200d-1f393","v":["1f468-1f3fb-200d-1f393","1f468-1f3fc-200d-1f393","1f468-1f3fd-200d-1f393","1f468-1f3fe-200d-1f393","1f468-1f3ff-200d-1f393"]},{"n":["female-student"],"u":"1f469-200d-1f393","v":["1f469-1f3fb-200d-1f393","1f469-1f3fc-200d-1f393","1f469-1f3fd-200d-1f393","1f469-1f3fe-200d-1f393","1f469-1f3ff-200d-1f393"]},{"n":["male-teacher"],"u":"1f468-200d-1f3eb","v":["1f468-1f3fb-200d-1f3eb","1f468-1f3fc-200d-1f3eb","1f468-1f3fd-200d-1f3eb","1f468-1f3fe-200d-1f3eb","1f468-1f3ff-200d-1f3eb"]},{"n":["female-teacher"],"u":"1f469-200d-1f3eb","v":["1f469-1f3fb-200d-1f3eb","1f469-1f3fc-200d-1f3eb","1f469-1f3fd-200d-1f3eb","1f469-1f3fe-200d-1f3eb","1f469-1f3ff-200d-1f3eb"]},{"n":["male-judge"],"u":"1f468-200d-2696-fe0f","v":["1f468-1f3fb-200d-2696-fe0f","1f468-1f3fc-200d-2696-fe0f","1f468-1f3fd-200d-2696-fe0f","1f468-1f3fe-200d-2696-fe0f","1f468-1f3ff-200d-2696-fe0f"]},{"n":["female-judge"],"u":"1f469-200d-2696-fe0f","v":["1f469-1f3fb-200d-2696-fe0f","1f469-1f3fc-200d-2696-fe0f","1f469-1f3fd-200d-2696-fe0f","1f469-1f3fe-200d-2696-fe0f","1f469-1f3ff-200d-2696-fe0f"]},{"n":["male-farmer"],"u":"1f468-200d-1f33e","v":["1f468-1f3fb-200d-1f33e","1f468-1f3fc-200d-1f33e","1f468-1f3fd-200d-1f33e","1f468-1f3fe-200d-1f33e","1f468-1f3ff-200d-1f33e"]},{"n":["female-farmer"],"u":"1f469-200d-1f33e","v":["1f469-1f3fb-200d-1f33e","1f469-1f3fc-200d-1f33e","1f469-1f3fd-200d-1f33e","1f469-1f3fe-200d-1f33e","1f469-1f3ff-200d-1f33e"]},{"n":["male-cook"],"u":"1f468-200d-1f373","v":["1f468-1f3fb-200d-1f373","1f468-1f3fc-200d-1f373","1f468-1f3fd-200d-1f373","1f468-1f3fe-200d-1f373","1f468-1f3ff-200d-1f373"]},{"n":["female-cook"],"u":"1f469-200d-1f373","v":["1f469-1f3fb-200d-1f373","1f469-1f3fc-200d-1f373","1f469-1f3fd-200d-1f373","1f469-1f3fe-200d-1f373","1f469-1f3ff-200d-1f373"]},{"n":["male-mechanic"],"u":"1f468-200d-1f527","v":["1f468-1f3fb-200d-1f527","1f468-1f3fc-200d-1f527","1f468-1f3fd-200d-1f527","1f468-1f3fe-200d-1f527","1f468-1f3ff-200d-1f527"]},{"n":["female-mechanic"],"u":"1f469-200d-1f527","v":["1f469-1f3fb-200d-1f527","1f469-1f3fc-200d-1f527","1f469-1f3fd-200d-1f527","1f469-1f3fe-200d-1f527","1f469-1f3ff-200d-1f527"]},{"n":["male-factory-worker"],"u":"1f468-200d-1f3ed","v":["1f468-1f3fb-200d-1f3ed","1f468-1f3fc-200d-1f3ed","1f468-1f3fd-200d-1f3ed","1f468-1f3fe-200d-1f3ed","1f468-1f3ff-200d-1f3ed"]},{"n":["female-factory-worker"],"u":"1f469-200d-1f3ed","v":["1f469-1f3fb-200d-1f3ed","1f469-1f3fc-200d-1f3ed","1f469-1f3fd-200d-1f3ed","1f469-1f3fe-200d-1f3ed","1f469-1f3ff-200d-1f3ed"]},{"n":["male-office-worker"],"u":"1f468-200d-1f4bc","v":["1f468-1f3fb-200d-1f4bc","1f468-1f3fc-200d-1f4bc","1f468-1f3fd-200d-1f4bc","1f468-1f3fe-200d-1f4bc","1f468-1f3ff-200d-1f4bc"]},{"n":["female-office-worker"],"u":"1f469-200d-1f4bc","v":["1f469-1f3fb-200d-1f4bc","1f469-1f3fc-200d-1f4bc","1f469-1f3fd-200d-1f4bc","1f469-1f3fe-200d-1f4bc","1f469-1f3ff-200d-1f4bc"]},{"n":["male-scientist"],"u":"1f468-200d-1f52c","v":["1f468-1f3fb-200d-1f52c","1f468-1f3fc-200d-1f52c","1f468-1f3fd-200d-1f52c","1f468-1f3fe-200d-1f52c","1f468-1f3ff-200d-1f52c"]},{"n":["female-scientist"],"u":"1f469-200d-1f52c","v":["1f469-1f3fb-200d-1f52c","1f469-1f3fc-200d-1f52c","1f469-1f3fd-200d-1f52c","1f469-1f3fe-200d-1f52c","1f469-1f3ff-200d-1f52c"]},{"n":["male-technologist"],"u":"1f468-200d-1f4bb","v":["1f468-1f3fb-200d-1f4bb","1f468-1f3fc-200d-1f4bb","1f468-1f3fd-200d-1f4bb","1f468-1f3fe-200d-1f4bb","1f468-1f3ff-200d-1f4bb"]},{"n":["female-technologist"],"u":"1f469-200d-1f4bb","v":["1f469-1f3fb-200d-1f4bb","1f469-1f3fc-200d-1f4bb","1f469-1f3fd-200d-1f4bb","1f469-1f3fe-200d-1f4bb","1f469-1f3ff-200d-1f4bb"]},{"n":["male-singer"],"u":"1f468-200d-1f3a4","v":["1f468-1f3fb-200d-1f3a4","1f468-1f3fc-200d-1f3a4","1f468-1f3fd-200d-1f3a4","1f468-1f3fe-200d-1f3a4","1f468-1f3ff-200d-1f3a4"]},{"n":["female-singer"],"u":"1f469-200d-1f3a4","v":["1f469-1f3fb-200d-1f3a4","1f469-1f3fc-200d-1f3a4","1f469-1f3fd-200d-1f3a4","1f469-1f3fe-200d-1f3a4","1f469-1f3ff-200d-1f3a4"]},{"n":["male-artist"],"u":"1f468-200d-1f3a8","v":["1f468-1f3fb-200d-1f3a8","1f468-1f3fc-200d-1f3a8","1f468-1f3fd-200d-1f3a8","1f468-1f3fe-200d-1f3a8","1f468-1f3ff-200d-1f3a8"]},{"n":["female-artist"],"u":"1f469-200d-1f3a8","v":["1f469-1f3fb-200d-1f3a8","1f469-1f3fc-200d-1f3a8","1f469-1f3fd-200d-1f3a8","1f469-1f3fe-200d-1f3a8","1f469-1f3ff-200d-1f3a8"]},{"n":["male-pilot"],"u":"1f468-200d-2708-fe0f","v":["1f468-1f3fb-200d-2708-fe0f","1f468-1f3fc-200d-2708-fe0f","1f468-1f3fd-200d-2708-fe0f","1f468-1f3fe-200d-2708-fe0f","1f468-1f3ff-200d-2708-fe0f"]},{"n":["female-pilot"],"u":"1f469-200d-2708-fe0f","v":["1f469-1f3fb-200d-2708-fe0f","1f469-1f3fc-200d-2708-fe0f","1f469-1f3fd-200d-2708-fe0f","1f469-1f3fe-200d-2708-fe0f","1f469-1f3ff-200d-2708-fe0f"]},{"n":["male-astronaut"],"u":"1f468-200d-1f680","v":["1f468-1f3fb-200d-1f680","1f468-1f3fc-200d-1f680","1f468-1f3fd-200d-1f680","1f468-1f3fe-200d-1f680","1f468-1f3ff-200d-1f680"]},{"n":["female-astronaut"],"u":"1f469-200d-1f680","v":["1f469-1f3fb-200d-1f680","1f469-1f3fc-200d-1f680","1f469-1f3fd-200d-1f680","1f469-1f3fe-200d-1f680","1f469-1f3ff-200d-1f680"]},{"n":["male-firefighter"],"u":"1f468-200d-1f692","v":["1f468-1f3fb-200d-1f692","1f468-1f3fc-200d-1f692","1f468-1f3fd-200d-1f692","1f468-1f3fe-200d-1f692","1f468-1f3ff-200d-1f692"]},{"n":["female-firefighter"],"u":"1f469-200d-1f692","v":["1f469-1f3fb-200d-1f692","1f469-1f3fc-200d-1f692","1f469-1f3fd-200d-1f692","1f469-1f3fe-200d-1f692","1f469-1f3ff-200d-1f692"]},{"n":["police officer","cop"],"u":"1f46e","v":["1f46e-1f3fb","1f46e-1f3fc","1f46e-1f3fd","1f46e-1f3fe","1f46e-1f3ff"]},{"n":["male-police-officer"],"u":"1f46e-200d-2642-fe0f","v":["1f46e-1f3fb-200d-2642-fe0f","1f46e-1f3fc-200d-2642-fe0f","1f46e-1f3fd-200d-2642-fe0f","1f46e-1f3fe-200d-2642-fe0f","1f46e-1f3ff-200d-2642-fe0f"]},{"n":["female-police-officer"],"u":"1f46e-200d-2640-fe0f","v":["1f46e-1f3fb-200d-2640-fe0f","1f46e-1f3fc-200d-2640-fe0f","1f46e-1f3fd-200d-2640-fe0f","1f46e-1f3fe-200d-2640-fe0f","1f46e-1f3ff-200d-2640-fe0f"]},{"n":["sleuth_or_spy"],"u":"1f575-fe0f","v":["1f575-1f3fb","1f575-1f3fc","1f575-1f3fd","1f575-1f3fe","1f575-1f3ff"]},{"n":["male-detective"],"u":"1f575-fe0f-200d-2642-fe0f","v":["1f575-1f3fb-200d-2642-fe0f","1f575-1f3fc-200d-2642-fe0f","1f575-1f3fd-200d-2642-fe0f","1f575-1f3fe-200d-2642-fe0f","1f575-1f3ff-200d-2642-fe0f"]},{"n":["female-detective"],"u":"1f575-fe0f-200d-2640-fe0f","v":["1f575-1f3fb-200d-2640-fe0f","1f575-1f3fc-200d-2640-fe0f","1f575-1f3fd-200d-2640-fe0f","1f575-1f3fe-200d-2640-fe0f","1f575-1f3ff-200d-2640-fe0f"]},{"n":["guardsman"],"u":"1f482","v":["1f482-1f3fb","1f482-1f3fc","1f482-1f3fd","1f482-1f3fe","1f482-1f3ff"]},{"n":["male-guard"],"u":"1f482-200d-2642-fe0f","v":["1f482-1f3fb-200d-2642-fe0f","1f482-1f3fc-200d-2642-fe0f","1f482-1f3fd-200d-2642-fe0f","1f482-1f3fe-200d-2642-fe0f","1f482-1f3ff-200d-2642-fe0f"]},{"n":["female-guard"],"u":"1f482-200d-2640-fe0f","v":["1f482-1f3fb-200d-2640-fe0f","1f482-1f3fc-200d-2640-fe0f","1f482-1f3fd-200d-2640-fe0f","1f482-1f3fe-200d-2640-fe0f","1f482-1f3ff-200d-2640-fe0f"]},{"n":["construction worker","construction_worker"],"u":"1f477","v":["1f477-1f3fb","1f477-1f3fc","1f477-1f3fd","1f477-1f3fe","1f477-1f3ff"]},{"n":["male-construction-worker"],"u":"1f477-200d-2642-fe0f","v":["1f477-1f3fb-200d-2642-fe0f","1f477-1f3fc-200d-2642-fe0f","1f477-1f3fd-200d-2642-fe0f","1f477-1f3fe-200d-2642-fe0f","1f477-1f3ff-200d-2642-fe0f"]},{"n":["female-construction-worker"],"u":"1f477-200d-2640-fe0f","v":["1f477-1f3fb-200d-2640-fe0f","1f477-1f3fc-200d-2640-fe0f","1f477-1f3fd-200d-2640-fe0f","1f477-1f3fe-200d-2640-fe0f","1f477-1f3ff-200d-2640-fe0f"]},{"n":["prince"],"u":"1f934","v":["1f934-1f3fb","1f934-1f3fc","1f934-1f3fd","1f934-1f3fe","1f934-1f3ff"]},{"n":["princess"],"u":"1f478","v":["1f478-1f3fb","1f478-1f3fc","1f478-1f3fd","1f478-1f3fe","1f478-1f3ff"]},{"n":["man with turban","man_with_turban"],"u":"1f473","v":["1f473-1f3fb","1f473-1f3fc","1f473-1f3fd","1f473-1f3fe","1f473-1f3ff"]},{"n":["man-wearing-turban"],"u":"1f473-200d-2642-fe0f","v":["1f473-1f3fb-200d-2642-fe0f","1f473-1f3fc-200d-2642-fe0f","1f473-1f3fd-200d-2642-fe0f","1f473-1f3fe-200d-2642-fe0f","1f473-1f3ff-200d-2642-fe0f"]},{"n":["woman-wearing-turban"],"u":"1f473-200d-2640-fe0f","v":["1f473-1f3fb-200d-2640-fe0f","1f473-1f3fc-200d-2640-fe0f","1f473-1f3fd-200d-2640-fe0f","1f473-1f3fe-200d-2640-fe0f","1f473-1f3ff-200d-2640-fe0f"]},{"n":["man with gua pi mao","man_with_gua_pi_mao"],"u":"1f472","v":["1f472-1f3fb","1f472-1f3fc","1f472-1f3fd","1f472-1f3fe","1f472-1f3ff"]},{"n":["person with headscarf","person_with_headscarf"],"u":"1f9d5","v":["1f9d5-1f3fb","1f9d5-1f3fc","1f9d5-1f3fd","1f9d5-1f3fe","1f9d5-1f3ff"]},{"n":["bearded person","bearded_person"],"u":"1f9d4","v":["1f9d4-1f3fb","1f9d4-1f3fc","1f9d4-1f3fd","1f9d4-1f3fe","1f9d4-1f3ff"]},{"n":["person with blond hair","person_with_blond_hair"],"u":"1f471","v":["1f471-1f3fb","1f471-1f3fc","1f471-1f3fd","1f471-1f3fe","1f471-1f3ff"]},{"n":["blond-haired-man"],"u":"1f471-200d-2642-fe0f","v":["1f471-1f3fb-200d-2642-fe0f","1f471-1f3fc-200d-2642-fe0f","1f471-1f3fd-200d-2642-fe0f","1f471-1f3fe-200d-2642-fe0f","1f471-1f3ff-200d-2642-fe0f"]},{"n":["blond-haired-woman"],"u":"1f471-200d-2640-fe0f","v":["1f471-1f3fb-200d-2640-fe0f","1f471-1f3fc-200d-2640-fe0f","1f471-1f3fd-200d-2640-fe0f","1f471-1f3fe-200d-2640-fe0f","1f471-1f3ff-200d-2640-fe0f"]},{"n":["man in tuxedo","man_in_tuxedo"],"u":"1f935","v":["1f935-1f3fb","1f935-1f3fc","1f935-1f3fd","1f935-1f3fe","1f935-1f3ff"]},{"n":["bride with veil","bride_with_veil"],"u":"1f470","v":["1f470-1f3fb","1f470-1f3fc","1f470-1f3fd","1f470-1f3fe","1f470-1f3ff"]},{"n":["pregnant woman","pregnant_woman"],"u":"1f930","v":["1f930-1f3fb","1f930-1f3fc","1f930-1f3fd","1f930-1f3fe","1f930-1f3ff"]},{"n":["breast-feeding"],"u":"1f931","v":["1f931-1f3fb","1f931-1f3fc","1f931-1f3fd","1f931-1f3fe","1f931-1f3ff"]},{"n":["baby angel","angel"],"u":"1f47c","v":["1f47c-1f3fb","1f47c-1f3fc","1f47c-1f3fd","1f47c-1f3fe","1f47c-1f3ff"]},{"n":["father christmas","santa"],"u":"1f385","v":["1f385-1f3fb","1f385-1f3fc","1f385-1f3fd","1f385-1f3fe","1f385-1f3ff"]},{"n":["mother christmas","mrs_claus","mother_christmas"],"u":"1f936","v":["1f936-1f3fb","1f936-1f3fc","1f936-1f3fd","1f936-1f3fe","1f936-1f3ff"]},{"n":["mage"],"u":"1f9d9","v":["1f9d9-1f3fb","1f9d9-1f3fc","1f9d9-1f3fd","1f9d9-1f3fe","1f9d9-1f3ff"]},{"n":["female_mage"],"u":"1f9d9-200d-2640-fe0f","v":["1f9d9-1f3fb-200d-2640-fe0f","1f9d9-1f3fc-200d-2640-fe0f","1f9d9-1f3fd-200d-2640-fe0f","1f9d9-1f3fe-200d-2640-fe0f","1f9d9-1f3ff-200d-2640-fe0f"]},{"n":["male_mage"],"u":"1f9d9-200d-2642-fe0f","v":["1f9d9-1f3fb-200d-2642-fe0f","1f9d9-1f3fc-200d-2642-fe0f","1f9d9-1f3fd-200d-2642-fe0f","1f9d9-1f3fe-200d-2642-fe0f","1f9d9-1f3ff-200d-2642-fe0f"]},{"n":["fairy"],"u":"1f9da","v":["1f9da-1f3fb","1f9da-1f3fc","1f9da-1f3fd","1f9da-1f3fe","1f9da-1f3ff"]},{"n":["female_fairy"],"u":"1f9da-200d-2640-fe0f","v":["1f9da-1f3fb-200d-2640-fe0f","1f9da-1f3fc-200d-2640-fe0f","1f9da-1f3fd-200d-2640-fe0f","1f9da-1f3fe-200d-2640-fe0f","1f9da-1f3ff-200d-2640-fe0f"]},{"n":["male_fairy"],"u":"1f9da-200d-2642-fe0f","v":["1f9da-1f3fb-200d-2642-fe0f","1f9da-1f3fc-200d-2642-fe0f","1f9da-1f3fd-200d-2642-fe0f","1f9da-1f3fe-200d-2642-fe0f","1f9da-1f3ff-200d-2642-fe0f"]},{"n":["vampire"],"u":"1f9db","v":["1f9db-1f3fb","1f9db-1f3fc","1f9db-1f3fd","1f9db-1f3fe","1f9db-1f3ff"]},{"n":["female_vampire"],"u":"1f9db-200d-2640-fe0f","v":["1f9db-1f3fb-200d-2640-fe0f","1f9db-1f3fc-200d-2640-fe0f","1f9db-1f3fd-200d-2640-fe0f","1f9db-1f3fe-200d-2640-fe0f","1f9db-1f3ff-200d-2640-fe0f"]},{"n":["male_vampire"],"u":"1f9db-200d-2642-fe0f","v":["1f9db-1f3fb-200d-2642-fe0f","1f9db-1f3fc-200d-2642-fe0f","1f9db-1f3fd-200d-2642-fe0f","1f9db-1f3fe-200d-2642-fe0f","1f9db-1f3ff-200d-2642-fe0f"]},{"n":["merperson"],"u":"1f9dc","v":["1f9dc-1f3fb","1f9dc-1f3fc","1f9dc-1f3fd","1f9dc-1f3fe","1f9dc-1f3ff"]},{"n":["mermaid"],"u":"1f9dc-200d-2640-fe0f","v":["1f9dc-1f3fb-200d-2640-fe0f","1f9dc-1f3fc-200d-2640-fe0f","1f9dc-1f3fd-200d-2640-fe0f","1f9dc-1f3fe-200d-2640-fe0f","1f9dc-1f3ff-200d-2640-fe0f"]},{"n":["merman"],"u":"1f9dc-200d-2642-fe0f","v":["1f9dc-1f3fb-200d-2642-fe0f","1f9dc-1f3fc-200d-2642-fe0f","1f9dc-1f3fd-200d-2642-fe0f","1f9dc-1f3fe-200d-2642-fe0f","1f9dc-1f3ff-200d-2642-fe0f"]},{"n":["elf"],"u":"1f9dd","v":["1f9dd-1f3fb","1f9dd-1f3fc","1f9dd-1f3fd","1f9dd-1f3fe","1f9dd-1f3ff"]},{"n":["female_elf"],"u":"1f9dd-200d-2640-fe0f","v":["1f9dd-1f3fb-200d-2640-fe0f","1f9dd-1f3fc-200d-2640-fe0f","1f9dd-1f3fd-200d-2640-fe0f","1f9dd-1f3fe-200d-2640-fe0f","1f9dd-1f3ff-200d-2640-fe0f"]},{"n":["male_elf"],"u":"1f9dd-200d-2642-fe0f","v":["1f9dd-1f3fb-200d-2642-fe0f","1f9dd-1f3fc-200d-2642-fe0f","1f9dd-1f3fd-200d-2642-fe0f","1f9dd-1f3fe-200d-2642-fe0f","1f9dd-1f3ff-200d-2642-fe0f"]},{"n":["genie"],"u":"1f9de"},{"n":["female_genie"],"u":"1f9de-200d-2640-fe0f"},{"n":["male_genie"],"u":"1f9de-200d-2642-fe0f"},{"n":["zombie"],"u":"1f9df"},{"n":["female_zombie"],"u":"1f9df-200d-2640-fe0f"},{"n":["male_zombie"],"u":"1f9df-200d-2642-fe0f"},{"n":["person frowning","person_frowning"],"u":"1f64d","v":["1f64d-1f3fb","1f64d-1f3fc","1f64d-1f3fd","1f64d-1f3fe","1f64d-1f3ff"]},{"n":["man-frowning"],"u":"1f64d-200d-2642-fe0f","v":["1f64d-1f3fb-200d-2642-fe0f","1f64d-1f3fc-200d-2642-fe0f","1f64d-1f3fd-200d-2642-fe0f","1f64d-1f3fe-200d-2642-fe0f","1f64d-1f3ff-200d-2642-fe0f"]},{"n":["woman-frowning"],"u":"1f64d-200d-2640-fe0f","v":["1f64d-1f3fb-200d-2640-fe0f","1f64d-1f3fc-200d-2640-fe0f","1f64d-1f3fd-200d-2640-fe0f","1f64d-1f3fe-200d-2640-fe0f","1f64d-1f3ff-200d-2640-fe0f"]},{"n":["person with pouting face","person_with_pouting_face"],"u":"1f64e","v":["1f64e-1f3fb","1f64e-1f3fc","1f64e-1f3fd","1f64e-1f3fe","1f64e-1f3ff"]},{"n":["man-pouting"],"u":"1f64e-200d-2642-fe0f","v":["1f64e-1f3fb-200d-2642-fe0f","1f64e-1f3fc-200d-2642-fe0f","1f64e-1f3fd-200d-2642-fe0f","1f64e-1f3fe-200d-2642-fe0f","1f64e-1f3ff-200d-2642-fe0f"]},{"n":["woman-pouting"],"u":"1f64e-200d-2640-fe0f","v":["1f64e-1f3fb-200d-2640-fe0f","1f64e-1f3fc-200d-2640-fe0f","1f64e-1f3fd-200d-2640-fe0f","1f64e-1f3fe-200d-2640-fe0f","1f64e-1f3ff-200d-2640-fe0f"]},{"n":["face with no good gesture","no_good"],"u":"1f645","v":["1f645-1f3fb","1f645-1f3fc","1f645-1f3fd","1f645-1f3fe","1f645-1f3ff"]},{"n":["man-gesturing-no"],"u":"1f645-200d-2642-fe0f","v":["1f645-1f3fb-200d-2642-fe0f","1f645-1f3fc-200d-2642-fe0f","1f645-1f3fd-200d-2642-fe0f","1f645-1f3fe-200d-2642-fe0f","1f645-1f3ff-200d-2642-fe0f"]},{"n":["woman-gesturing-no"],"u":"1f645-200d-2640-fe0f","v":["1f645-1f3fb-200d-2640-fe0f","1f645-1f3fc-200d-2640-fe0f","1f645-1f3fd-200d-2640-fe0f","1f645-1f3fe-200d-2640-fe0f","1f645-1f3ff-200d-2640-fe0f"]},{"n":["face with ok gesture","ok_woman"],"u":"1f646","v":["1f646-1f3fb","1f646-1f3fc","1f646-1f3fd","1f646-1f3fe","1f646-1f3ff"]},{"n":["man-gesturing-ok"],"u":"1f646-200d-2642-fe0f","v":["1f646-1f3fb-200d-2642-fe0f","1f646-1f3fc-200d-2642-fe0f","1f646-1f3fd-200d-2642-fe0f","1f646-1f3fe-200d-2642-fe0f","1f646-1f3ff-200d-2642-fe0f"]},{"n":["woman-gesturing-ok"],"u":"1f646-200d-2640-fe0f","v":["1f646-1f3fb-200d-2640-fe0f","1f646-1f3fc-200d-2640-fe0f","1f646-1f3fd-200d-2640-fe0f","1f646-1f3fe-200d-2640-fe0f","1f646-1f3ff-200d-2640-fe0f"]},{"n":["information desk person","information_desk_person"],"u":"1f481","v":["1f481-1f3fb","1f481-1f3fc","1f481-1f3fd","1f481-1f3fe","1f481-1f3ff"]},{"n":["man-tipping-hand"],"u":"1f481-200d-2642-fe0f","v":["1f481-1f3fb-200d-2642-fe0f","1f481-1f3fc-200d-2642-fe0f","1f481-1f3fd-200d-2642-fe0f","1f481-1f3fe-200d-2642-fe0f","1f481-1f3ff-200d-2642-fe0f"]},{"n":["woman-tipping-hand"],"u":"1f481-200d-2640-fe0f","v":["1f481-1f3fb-200d-2640-fe0f","1f481-1f3fc-200d-2640-fe0f","1f481-1f3fd-200d-2640-fe0f","1f481-1f3fe-200d-2640-fe0f","1f481-1f3ff-200d-2640-fe0f"]},{"n":["happy person raising one hand","raising_hand"],"u":"1f64b","v":["1f64b-1f3fb","1f64b-1f3fc","1f64b-1f3fd","1f64b-1f3fe","1f64b-1f3ff"]},{"n":["man-raising-hand"],"u":"1f64b-200d-2642-fe0f","v":["1f64b-1f3fb-200d-2642-fe0f","1f64b-1f3fc-200d-2642-fe0f","1f64b-1f3fd-200d-2642-fe0f","1f64b-1f3fe-200d-2642-fe0f","1f64b-1f3ff-200d-2642-fe0f"]},{"n":["woman-raising-hand"],"u":"1f64b-200d-2640-fe0f","v":["1f64b-1f3fb-200d-2640-fe0f","1f64b-1f3fc-200d-2640-fe0f","1f64b-1f3fd-200d-2640-fe0f","1f64b-1f3fe-200d-2640-fe0f","1f64b-1f3ff-200d-2640-fe0f"]},{"n":["person bowing deeply","bow"],"u":"1f647","v":["1f647-1f3fb","1f647-1f3fc","1f647-1f3fd","1f647-1f3fe","1f647-1f3ff"]},{"n":["man-bowing"],"u":"1f647-200d-2642-fe0f","v":["1f647-1f3fb-200d-2642-fe0f","1f647-1f3fc-200d-2642-fe0f","1f647-1f3fd-200d-2642-fe0f","1f647-1f3fe-200d-2642-fe0f","1f647-1f3ff-200d-2642-fe0f"]},{"n":["woman-bowing"],"u":"1f647-200d-2640-fe0f","v":["1f647-1f3fb-200d-2640-fe0f","1f647-1f3fc-200d-2640-fe0f","1f647-1f3fd-200d-2640-fe0f","1f647-1f3fe-200d-2640-fe0f","1f647-1f3ff-200d-2640-fe0f"]},{"n":["face palm","face_palm"],"u":"1f926","v":["1f926-1f3fb","1f926-1f3fc","1f926-1f3fd","1f926-1f3fe","1f926-1f3ff"]},{"n":["man-facepalming"],"u":"1f926-200d-2642-fe0f","v":["1f926-1f3fb-200d-2642-fe0f","1f926-1f3fc-200d-2642-fe0f","1f926-1f3fd-200d-2642-fe0f","1f926-1f3fe-200d-2642-fe0f","1f926-1f3ff-200d-2642-fe0f"]},{"n":["woman-facepalming"],"u":"1f926-200d-2640-fe0f","v":["1f926-1f3fb-200d-2640-fe0f","1f926-1f3fc-200d-2640-fe0f","1f926-1f3fd-200d-2640-fe0f","1f926-1f3fe-200d-2640-fe0f","1f926-1f3ff-200d-2640-fe0f"]},{"n":["shrug"],"u":"1f937","v":["1f937-1f3fb","1f937-1f3fc","1f937-1f3fd","1f937-1f3fe","1f937-1f3ff"]},{"n":["man-shrugging"],"u":"1f937-200d-2642-fe0f","v":["1f937-1f3fb-200d-2642-fe0f","1f937-1f3fc-200d-2642-fe0f","1f937-1f3fd-200d-2642-fe0f","1f937-1f3fe-200d-2642-fe0f","1f937-1f3ff-200d-2642-fe0f"]},{"n":["woman-shrugging"],"u":"1f937-200d-2640-fe0f","v":["1f937-1f3fb-200d-2640-fe0f","1f937-1f3fc-200d-2640-fe0f","1f937-1f3fd-200d-2640-fe0f","1f937-1f3fe-200d-2640-fe0f","1f937-1f3ff-200d-2640-fe0f"]},{"n":["face massage","massage"],"u":"1f486","v":["1f486-1f3fb","1f486-1f3fc","1f486-1f3fd","1f486-1f3fe","1f486-1f3ff"]},{"n":["man-getting-massage"],"u":"1f486-200d-2642-fe0f","v":["1f486-1f3fb-200d-2642-fe0f","1f486-1f3fc-200d-2642-fe0f","1f486-1f3fd-200d-2642-fe0f","1f486-1f3fe-200d-2642-fe0f","1f486-1f3ff-200d-2642-fe0f"]},{"n":["woman-getting-massage"],"u":"1f486-200d-2640-fe0f","v":["1f486-1f3fb-200d-2640-fe0f","1f486-1f3fc-200d-2640-fe0f","1f486-1f3fd-200d-2640-fe0f","1f486-1f3fe-200d-2640-fe0f","1f486-1f3ff-200d-2640-fe0f"]},{"n":["haircut"],"u":"1f487","v":["1f487-1f3fb","1f487-1f3fc","1f487-1f3fd","1f487-1f3fe","1f487-1f3ff"]},{"n":["man-getting-haircut"],"u":"1f487-200d-2642-fe0f","v":["1f487-1f3fb-200d-2642-fe0f","1f487-1f3fc-200d-2642-fe0f","1f487-1f3fd-200d-2642-fe0f","1f487-1f3fe-200d-2642-fe0f","1f487-1f3ff-200d-2642-fe0f"]},{"n":["woman-getting-haircut"],"u":"1f487-200d-2640-fe0f","v":["1f487-1f3fb-200d-2640-fe0f","1f487-1f3fc-200d-2640-fe0f","1f487-1f3fd-200d-2640-fe0f","1f487-1f3fe-200d-2640-fe0f","1f487-1f3ff-200d-2640-fe0f"]},{"n":["pedestrian","walking"],"u":"1f6b6","v":["1f6b6-1f3fb","1f6b6-1f3fc","1f6b6-1f3fd","1f6b6-1f3fe","1f6b6-1f3ff"]},{"n":["man-walking"],"u":"1f6b6-200d-2642-fe0f","v":["1f6b6-1f3fb-200d-2642-fe0f","1f6b6-1f3fc-200d-2642-fe0f","1f6b6-1f3fd-200d-2642-fe0f","1f6b6-1f3fe-200d-2642-fe0f","1f6b6-1f3ff-200d-2642-fe0f"]},{"n":["woman-walking"],"u":"1f6b6-200d-2640-fe0f","v":["1f6b6-1f3fb-200d-2640-fe0f","1f6b6-1f3fc-200d-2640-fe0f","1f6b6-1f3fd-200d-2640-fe0f","1f6b6-1f3fe-200d-2640-fe0f","1f6b6-1f3ff-200d-2640-fe0f"]},{"n":["runner","running"],"u":"1f3c3","v":["1f3c3-1f3fb","1f3c3-1f3fc","1f3c3-1f3fd","1f3c3-1f3fe","1f3c3-1f3ff"]},{"n":["man-running"],"u":"1f3c3-200d-2642-fe0f","v":["1f3c3-1f3fb-200d-2642-fe0f","1f3c3-1f3fc-200d-2642-fe0f","1f3c3-1f3fd-200d-2642-fe0f","1f3c3-1f3fe-200d-2642-fe0f","1f3c3-1f3ff-200d-2642-fe0f"]},{"n":["woman-running"],"u":"1f3c3-200d-2640-fe0f","v":["1f3c3-1f3fb-200d-2640-fe0f","1f3c3-1f3fc-200d-2640-fe0f","1f3c3-1f3fd-200d-2640-fe0f","1f3c3-1f3fe-200d-2640-fe0f","1f3c3-1f3ff-200d-2640-fe0f"]},{"n":["dancer"],"u":"1f483","v":["1f483-1f3fb","1f483-1f3fc","1f483-1f3fd","1f483-1f3fe","1f483-1f3ff"]},{"n":["man dancing","man_dancing"],"u":"1f57a","v":["1f57a-1f3fb","1f57a-1f3fc","1f57a-1f3fd","1f57a-1f3fe","1f57a-1f3ff"]},{"n":["woman with bunny ears","dancers"],"u":"1f46f"},{"n":["man-with-bunny-ears-partying"],"u":"1f46f-200d-2642-fe0f"},{"n":["woman-with-bunny-ears-partying"],"u":"1f46f-200d-2640-fe0f"},{"n":["person in steamy room","person_in_steamy_room"],"u":"1f9d6","v":["1f9d6-1f3fb","1f9d6-1f3fc","1f9d6-1f3fd","1f9d6-1f3fe","1f9d6-1f3ff"]},{"n":["woman_in_steamy_room"],"u":"1f9d6-200d-2640-fe0f","v":["1f9d6-1f3fb-200d-2640-fe0f","1f9d6-1f3fc-200d-2640-fe0f","1f9d6-1f3fd-200d-2640-fe0f","1f9d6-1f3fe-200d-2640-fe0f","1f9d6-1f3ff-200d-2640-fe0f"]},{"n":["man_in_steamy_room"],"u":"1f9d6-200d-2642-fe0f","v":["1f9d6-1f3fb-200d-2642-fe0f","1f9d6-1f3fc-200d-2642-fe0f","1f9d6-1f3fd-200d-2642-fe0f","1f9d6-1f3fe-200d-2642-fe0f","1f9d6-1f3ff-200d-2642-fe0f"]},{"n":["person climbing","person_climbing"],"u":"1f9d7","v":["1f9d7-1f3fb","1f9d7-1f3fc","1f9d7-1f3fd","1f9d7-1f3fe","1f9d7-1f3ff"]},{"n":["woman_climbing"],"u":"1f9d7-200d-2640-fe0f","v":["1f9d7-1f3fb-200d-2640-fe0f","1f9d7-1f3fc-200d-2640-fe0f","1f9d7-1f3fd-200d-2640-fe0f","1f9d7-1f3fe-200d-2640-fe0f","1f9d7-1f3ff-200d-2640-fe0f"]},{"n":["man_climbing"],"u":"1f9d7-200d-2642-fe0f","v":["1f9d7-1f3fb-200d-2642-fe0f","1f9d7-1f3fc-200d-2642-fe0f","1f9d7-1f3fd-200d-2642-fe0f","1f9d7-1f3fe-200d-2642-fe0f","1f9d7-1f3ff-200d-2642-fe0f"]},{"n":["person in lotus position","person_in_lotus_position"],"u":"1f9d8","v":["1f9d8-1f3fb","1f9d8-1f3fc","1f9d8-1f3fd","1f9d8-1f3fe","1f9d8-1f3ff"]},{"n":["woman_in_lotus_position"],"u":"1f9d8-200d-2640-fe0f","v":["1f9d8-1f3fb-200d-2640-fe0f","1f9d8-1f3fc-200d-2640-fe0f","1f9d8-1f3fd-200d-2640-fe0f","1f9d8-1f3fe-200d-2640-fe0f","1f9d8-1f3ff-200d-2640-fe0f"]},{"n":["man_in_lotus_position"],"u":"1f9d8-200d-2642-fe0f","v":["1f9d8-1f3fb-200d-2642-fe0f","1f9d8-1f3fc-200d-2642-fe0f","1f9d8-1f3fd-200d-2642-fe0f","1f9d8-1f3fe-200d-2642-fe0f","1f9d8-1f3ff-200d-2642-fe0f"]},{"n":["bath"],"u":"1f6c0","v":["1f6c0-1f3fb","1f6c0-1f3fc","1f6c0-1f3fd","1f6c0-1f3fe","1f6c0-1f3ff"]},{"n":["sleeping accommodation","sleeping_accommodation"],"u":"1f6cc","v":["1f6cc-1f3fb","1f6cc-1f3fc","1f6cc-1f3fd","1f6cc-1f3fe","1f6cc-1f3ff"]},{"n":["man_in_business_suit_levitating"],"u":"1f574-fe0f","v":["1f574-1f3fb","1f574-1f3fc","1f574-1f3fd","1f574-1f3fe","1f574-1f3ff"]},{"n":["speaking_head_in_silhouette"],"u":"1f5e3-fe0f"},{"n":["bust in silhouette","bust_in_silhouette"],"u":"1f464"},{"n":["busts in silhouette","busts_in_silhouette"],"u":"1f465"},{"n":["fencer"],"u":"1f93a"},{"n":["horse racing","horse_racing"],"u":"1f3c7","v":["1f3c7-1f3fb","1f3c7-1f3fc","1f3c7-1f3fd","1f3c7-1f3fe","1f3c7-1f3ff"]},{"n":["skier"],"u":"26f7-fe0f"},{"n":["snowboarder"],"u":"1f3c2","v":["1f3c2-1f3fb","1f3c2-1f3fc","1f3c2-1f3fd","1f3c2-1f3fe","1f3c2-1f3ff"]},{"n":["golfer"],"u":"1f3cc-fe0f","v":["1f3cc-1f3fb","1f3cc-1f3fc","1f3cc-1f3fd","1f3cc-1f3fe","1f3cc-1f3ff"]},{"n":["man-golfing"],"u":"1f3cc-fe0f-200d-2642-fe0f","v":["1f3cc-1f3fb-200d-2642-fe0f","1f3cc-1f3fc-200d-2642-fe0f","1f3cc-1f3fd-200d-2642-fe0f","1f3cc-1f3fe-200d-2642-fe0f","1f3cc-1f3ff-200d-2642-fe0f"]},{"n":["woman-golfing"],"u":"1f3cc-fe0f-200d-2640-fe0f","v":["1f3cc-1f3fb-200d-2640-fe0f","1f3cc-1f3fc-200d-2640-fe0f","1f3cc-1f3fd-200d-2640-fe0f","1f3cc-1f3fe-200d-2640-fe0f","1f3cc-1f3ff-200d-2640-fe0f"]},{"n":["surfer"],"u":"1f3c4","v":["1f3c4-1f3fb","1f3c4-1f3fc","1f3c4-1f3fd","1f3c4-1f3fe","1f3c4-1f3ff"]},{"n":["man-surfing"],"u":"1f3c4-200d-2642-fe0f","v":["1f3c4-1f3fb-200d-2642-fe0f","1f3c4-1f3fc-200d-2642-fe0f","1f3c4-1f3fd-200d-2642-fe0f","1f3c4-1f3fe-200d-2642-fe0f","1f3c4-1f3ff-200d-2642-fe0f"]},{"n":["woman-surfing"],"u":"1f3c4-200d-2640-fe0f","v":["1f3c4-1f3fb-200d-2640-fe0f","1f3c4-1f3fc-200d-2640-fe0f","1f3c4-1f3fd-200d-2640-fe0f","1f3c4-1f3fe-200d-2640-fe0f","1f3c4-1f3ff-200d-2640-fe0f"]},{"n":["rowboat"],"u":"1f6a3","v":["1f6a3-1f3fb","1f6a3-1f3fc","1f6a3-1f3fd","1f6a3-1f3fe","1f6a3-1f3ff"]},{"n":["man-rowing-boat"],"u":"1f6a3-200d-2642-fe0f","v":["1f6a3-1f3fb-200d-2642-fe0f","1f6a3-1f3fc-200d-2642-fe0f","1f6a3-1f3fd-200d-2642-fe0f","1f6a3-1f3fe-200d-2642-fe0f","1f6a3-1f3ff-200d-2642-fe0f"]},{"n":["woman-rowing-boat"],"u":"1f6a3-200d-2640-fe0f","v":["1f6a3-1f3fb-200d-2640-fe0f","1f6a3-1f3fc-200d-2640-fe0f","1f6a3-1f3fd-200d-2640-fe0f","1f6a3-1f3fe-200d-2640-fe0f","1f6a3-1f3ff-200d-2640-fe0f"]},{"n":["swimmer"],"u":"1f3ca","v":["1f3ca-1f3fb","1f3ca-1f3fc","1f3ca-1f3fd","1f3ca-1f3fe","1f3ca-1f3ff"]},{"n":["man-swimming"],"u":"1f3ca-200d-2642-fe0f","v":["1f3ca-1f3fb-200d-2642-fe0f","1f3ca-1f3fc-200d-2642-fe0f","1f3ca-1f3fd-200d-2642-fe0f","1f3ca-1f3fe-200d-2642-fe0f","1f3ca-1f3ff-200d-2642-fe0f"]},{"n":["woman-swimming"],"u":"1f3ca-200d-2640-fe0f","v":["1f3ca-1f3fb-200d-2640-fe0f","1f3ca-1f3fc-200d-2640-fe0f","1f3ca-1f3fd-200d-2640-fe0f","1f3ca-1f3fe-200d-2640-fe0f","1f3ca-1f3ff-200d-2640-fe0f"]},{"n":["person_with_ball"],"u":"26f9-fe0f","v":["26f9-1f3fb","26f9-1f3fc","26f9-1f3fd","26f9-1f3fe","26f9-1f3ff"]},{"n":["man-bouncing-ball"],"u":"26f9-fe0f-200d-2642-fe0f","v":["26f9-1f3fb-200d-2642-fe0f","26f9-1f3fc-200d-2642-fe0f","26f9-1f3fd-200d-2642-fe0f","26f9-1f3fe-200d-2642-fe0f","26f9-1f3ff-200d-2642-fe0f"]},{"n":["woman-bouncing-ball"],"u":"26f9-fe0f-200d-2640-fe0f","v":["26f9-1f3fb-200d-2640-fe0f","26f9-1f3fc-200d-2640-fe0f","26f9-1f3fd-200d-2640-fe0f","26f9-1f3fe-200d-2640-fe0f","26f9-1f3ff-200d-2640-fe0f"]},{"n":["weight_lifter"],"u":"1f3cb-fe0f","v":["1f3cb-1f3fb","1f3cb-1f3fc","1f3cb-1f3fd","1f3cb-1f3fe","1f3cb-1f3ff"]},{"n":["man-lifting-weights"],"u":"1f3cb-fe0f-200d-2642-fe0f","v":["1f3cb-1f3fb-200d-2642-fe0f","1f3cb-1f3fc-200d-2642-fe0f","1f3cb-1f3fd-200d-2642-fe0f","1f3cb-1f3fe-200d-2642-fe0f","1f3cb-1f3ff-200d-2642-fe0f"]},{"n":["woman-lifting-weights"],"u":"1f3cb-fe0f-200d-2640-fe0f","v":["1f3cb-1f3fb-200d-2640-fe0f","1f3cb-1f3fc-200d-2640-fe0f","1f3cb-1f3fd-200d-2640-fe0f","1f3cb-1f3fe-200d-2640-fe0f","1f3cb-1f3ff-200d-2640-fe0f"]},{"n":["bicyclist"],"u":"1f6b4","v":["1f6b4-1f3fb","1f6b4-1f3fc","1f6b4-1f3fd","1f6b4-1f3fe","1f6b4-1f3ff"]},{"n":["man-biking"],"u":"1f6b4-200d-2642-fe0f","v":["1f6b4-1f3fb-200d-2642-fe0f","1f6b4-1f3fc-200d-2642-fe0f","1f6b4-1f3fd-200d-2642-fe0f","1f6b4-1f3fe-200d-2642-fe0f","1f6b4-1f3ff-200d-2642-fe0f"]},{"n":["woman-biking"],"u":"1f6b4-200d-2640-fe0f","v":["1f6b4-1f3fb-200d-2640-fe0f","1f6b4-1f3fc-200d-2640-fe0f","1f6b4-1f3fd-200d-2640-fe0f","1f6b4-1f3fe-200d-2640-fe0f","1f6b4-1f3ff-200d-2640-fe0f"]},{"n":["mountain bicyclist","mountain_bicyclist"],"u":"1f6b5","v":["1f6b5-1f3fb","1f6b5-1f3fc","1f6b5-1f3fd","1f6b5-1f3fe","1f6b5-1f3ff"]},{"n":["man-mountain-biking"],"u":"1f6b5-200d-2642-fe0f","v":["1f6b5-1f3fb-200d-2642-fe0f","1f6b5-1f3fc-200d-2642-fe0f","1f6b5-1f3fd-200d-2642-fe0f","1f6b5-1f3fe-200d-2642-fe0f","1f6b5-1f3ff-200d-2642-fe0f"]},{"n":["woman-mountain-biking"],"u":"1f6b5-200d-2640-fe0f","v":["1f6b5-1f3fb-200d-2640-fe0f","1f6b5-1f3fc-200d-2640-fe0f","1f6b5-1f3fd-200d-2640-fe0f","1f6b5-1f3fe-200d-2640-fe0f","1f6b5-1f3ff-200d-2640-fe0f"]},{"n":["racing_car"],"u":"1f3ce-fe0f"},{"n":["racing_motorcycle"],"u":"1f3cd-fe0f"},{"n":["person doing cartwheel","person_doing_cartwheel"],"u":"1f938","v":["1f938-1f3fb","1f938-1f3fc","1f938-1f3fd","1f938-1f3fe","1f938-1f3ff"]},{"n":["man-cartwheeling"],"u":"1f938-200d-2642-fe0f","v":["1f938-1f3fb-200d-2642-fe0f","1f938-1f3fc-200d-2642-fe0f","1f938-1f3fd-200d-2642-fe0f","1f938-1f3fe-200d-2642-fe0f","1f938-1f3ff-200d-2642-fe0f"]},{"n":["woman-cartwheeling"],"u":"1f938-200d-2640-fe0f","v":["1f938-1f3fb-200d-2640-fe0f","1f938-1f3fc-200d-2640-fe0f","1f938-1f3fd-200d-2640-fe0f","1f938-1f3fe-200d-2640-fe0f","1f938-1f3ff-200d-2640-fe0f"]},{"n":["wrestlers"],"u":"1f93c"},{"n":["man-wrestling"],"u":"1f93c-200d-2642-fe0f"},{"n":["woman-wrestling"],"u":"1f93c-200d-2640-fe0f"},{"n":["water polo","water_polo"],"u":"1f93d","v":["1f93d-1f3fb","1f93d-1f3fc","1f93d-1f3fd","1f93d-1f3fe","1f93d-1f3ff"]},{"n":["man-playing-water-polo"],"u":"1f93d-200d-2642-fe0f","v":["1f93d-1f3fb-200d-2642-fe0f","1f93d-1f3fc-200d-2642-fe0f","1f93d-1f3fd-200d-2642-fe0f","1f93d-1f3fe-200d-2642-fe0f","1f93d-1f3ff-200d-2642-fe0f"]},{"n":["woman-playing-water-polo"],"u":"1f93d-200d-2640-fe0f","v":["1f93d-1f3fb-200d-2640-fe0f","1f93d-1f3fc-200d-2640-fe0f","1f93d-1f3fd-200d-2640-fe0f","1f93d-1f3fe-200d-2640-fe0f","1f93d-1f3ff-200d-2640-fe0f"]},{"n":["handball"],"u":"1f93e","v":["1f93e-1f3fb","1f93e-1f3fc","1f93e-1f3fd","1f93e-1f3fe","1f93e-1f3ff"]},{"n":["man-playing-handball"],"u":"1f93e-200d-2642-fe0f","v":["1f93e-1f3fb-200d-2642-fe0f","1f93e-1f3fc-200d-2642-fe0f","1f93e-1f3fd-200d-2642-fe0f","1f93e-1f3fe-200d-2642-fe0f","1f93e-1f3ff-200d-2642-fe0f"]},{"n":["woman-playing-handball"],"u":"1f93e-200d-2640-fe0f","v":["1f93e-1f3fb-200d-2640-fe0f","1f93e-1f3fc-200d-2640-fe0f","1f93e-1f3fd-200d-2640-fe0f","1f93e-1f3fe-200d-2640-fe0f","1f93e-1f3ff-200d-2640-fe0f"]},{"n":["juggling"],"u":"1f939","v":["1f939-1f3fb","1f939-1f3fc","1f939-1f3fd","1f939-1f3fe","1f939-1f3ff"]},{"n":["man-juggling"],"u":"1f939-200d-2642-fe0f","v":["1f939-1f3fb-200d-2642-fe0f","1f939-1f3fc-200d-2642-fe0f","1f939-1f3fd-200d-2642-fe0f","1f939-1f3fe-200d-2642-fe0f","1f939-1f3ff-200d-2642-fe0f"]},{"n":["woman-juggling"],"u":"1f939-200d-2640-fe0f","v":["1f939-1f3fb-200d-2640-fe0f","1f939-1f3fc-200d-2640-fe0f","1f939-1f3fd-200d-2640-fe0f","1f939-1f3fe-200d-2640-fe0f","1f939-1f3ff-200d-2640-fe0f"]},{"n":["man and woman holding hands","couple","man_and_woman_holding_hands"],"u":"1f46b"},{"n":["two men holding hands","two_men_holding_hands"],"u":"1f46c"},{"n":["two women holding hands","two_women_holding_hands"],"u":"1f46d"},{"n":["kiss","couplekiss"],"u":"1f48f"},{"n":["woman-kiss-man"],"u":"1f469-200d-2764-fe0f-200d-1f48b-200d-1f468"},{"n":["man-kiss-man"],"u":"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468"},{"n":["woman-kiss-woman"],"u":"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469"},{"n":["couple with heart","couple_with_heart"],"u":"1f491"},{"n":["woman-heart-man"],"u":"1f469-200d-2764-fe0f-200d-1f468"},{"n":["man-heart-man"],"u":"1f468-200d-2764-fe0f-200d-1f468"},{"n":["woman-heart-woman"],"u":"1f469-200d-2764-fe0f-200d-1f469"},{"n":["family","man-woman-boy"],"u":"1f46a"},{"n":["man-woman-boy","family"],"u":"1f468-200d-1f469-200d-1f466"},{"n":["man-woman-girl"],"u":"1f468-200d-1f469-200d-1f467"},{"n":["man-woman-girl-boy"],"u":"1f468-200d-1f469-200d-1f467-200d-1f466"},{"n":["man-woman-boy-boy"],"u":"1f468-200d-1f469-200d-1f466-200d-1f466"},{"n":["man-woman-girl-girl"],"u":"1f468-200d-1f469-200d-1f467-200d-1f467"},{"n":["man-man-boy"],"u":"1f468-200d-1f468-200d-1f466"},{"n":["man-man-girl"],"u":"1f468-200d-1f468-200d-1f467"},{"n":["man-man-girl-boy"],"u":"1f468-200d-1f468-200d-1f467-200d-1f466"},{"n":["man-man-boy-boy"],"u":"1f468-200d-1f468-200d-1f466-200d-1f466"},{"n":["man-man-girl-girl"],"u":"1f468-200d-1f468-200d-1f467-200d-1f467"},{"n":["woman-woman-boy"],"u":"1f469-200d-1f469-200d-1f466"},{"n":["woman-woman-girl"],"u":"1f469-200d-1f469-200d-1f467"},{"n":["woman-woman-girl-boy"],"u":"1f469-200d-1f469-200d-1f467-200d-1f466"},{"n":["woman-woman-boy-boy"],"u":"1f469-200d-1f469-200d-1f466-200d-1f466"},{"n":["woman-woman-girl-girl"],"u":"1f469-200d-1f469-200d-1f467-200d-1f467"},{"n":["man-boy"],"u":"1f468-200d-1f466"},{"n":["man-boy-boy"],"u":"1f468-200d-1f466-200d-1f466"},{"n":["man-girl"],"u":"1f468-200d-1f467"},{"n":["man-girl-boy"],"u":"1f468-200d-1f467-200d-1f466"},{"n":["man-girl-girl"],"u":"1f468-200d-1f467-200d-1f467"},{"n":["woman-boy"],"u":"1f469-200d-1f466"},{"n":["woman-boy-boy"],"u":"1f469-200d-1f466-200d-1f466"},{"n":["woman-girl"],"u":"1f469-200d-1f467"},{"n":["woman-girl-boy"],"u":"1f469-200d-1f467-200d-1f466"},{"n":["woman-girl-girl"],"u":"1f469-200d-1f467-200d-1f467"},{"n":["selfie"],"u":"1f933","v":["1f933-1f3fb","1f933-1f3fc","1f933-1f3fd","1f933-1f3fe","1f933-1f3ff"]},{"n":["flexed biceps","muscle"],"u":"1f4aa","v":["1f4aa-1f3fb","1f4aa-1f3fc","1f4aa-1f3fd","1f4aa-1f3fe","1f4aa-1f3ff"]},{"n":["white left pointing backhand index","point_left"],"u":"1f448","v":["1f448-1f3fb","1f448-1f3fc","1f448-1f3fd","1f448-1f3fe","1f448-1f3ff"]},{"n":["white right pointing backhand index","point_right"],"u":"1f449","v":["1f449-1f3fb","1f449-1f3fc","1f449-1f3fd","1f449-1f3fe","1f449-1f3ff"]},{"n":["white up pointing index","point_up"],"u":"261d-fe0f","v":["261d-1f3fb","261d-1f3fc","261d-1f3fd","261d-1f3fe","261d-1f3ff"]},{"n":["white up pointing backhand index","point_up_2"],"u":"1f446","v":["1f446-1f3fb","1f446-1f3fc","1f446-1f3fd","1f446-1f3fe","1f446-1f3ff"]},{"n":["reversed hand with middle finger extended","middle_finger","reversed_hand_with_middle_finger_extended"],"u":"1f595","v":["1f595-1f3fb","1f595-1f3fc","1f595-1f3fd","1f595-1f3fe","1f595-1f3ff"]},{"n":["white down pointing backhand index","point_down"],"u":"1f447","v":["1f447-1f3fb","1f447-1f3fc","1f447-1f3fd","1f447-1f3fe","1f447-1f3ff"]},{"n":["victory hand","v"],"u":"270c-fe0f","v":["270c-1f3fb","270c-1f3fc","270c-1f3fd","270c-1f3fe","270c-1f3ff"]},{"n":["hand with index and middle fingers crossed","crossed_fingers","hand_with_index_and_middle_fingers_crossed"],"u":"1f91e","v":["1f91e-1f3fb","1f91e-1f3fc","1f91e-1f3fd","1f91e-1f3fe","1f91e-1f3ff"]},{"n":["raised hand with part between middle and ring fingers","spock-hand"],"u":"1f596","v":["1f596-1f3fb","1f596-1f3fc","1f596-1f3fd","1f596-1f3fe","1f596-1f3ff"]},{"n":["sign of the horns","the_horns","sign_of_the_horns"],"u":"1f918","v":["1f918-1f3fb","1f918-1f3fc","1f918-1f3fd","1f918-1f3fe","1f918-1f3ff"]},{"n":["call me hand","call_me_hand"],"u":"1f919","v":["1f919-1f3fb","1f919-1f3fc","1f919-1f3fd","1f919-1f3fe","1f919-1f3ff"]},{"n":["raised_hand_with_fingers_splayed"],"u":"1f590-fe0f","v":["1f590-1f3fb","1f590-1f3fc","1f590-1f3fd","1f590-1f3fe","1f590-1f3ff"]},{"n":["raised hand","hand","raised_hand"],"u":"270b","v":["270b-1f3fb","270b-1f3fc","270b-1f3fd","270b-1f3fe","270b-1f3ff"]},{"n":["ok hand sign","ok_hand"],"u":"1f44c","v":["1f44c-1f3fb","1f44c-1f3fc","1f44c-1f3fd","1f44c-1f3fe","1f44c-1f3ff"]},{"n":["thumbs up sign","+1","thumbsup"],"u":"1f44d","v":["1f44d-1f3fb","1f44d-1f3fc","1f44d-1f3fd","1f44d-1f3fe","1f44d-1f3ff"]},{"n":["thumbs down sign","-1","thumbsdown"],"u":"1f44e","v":["1f44e-1f3fb","1f44e-1f3fc","1f44e-1f3fd","1f44e-1f3fe","1f44e-1f3ff"]},{"n":["raised fist","fist"],"u":"270a","v":["270a-1f3fb","270a-1f3fc","270a-1f3fd","270a-1f3fe","270a-1f3ff"]},{"n":["fisted hand sign","facepunch","punch"],"u":"1f44a","v":["1f44a-1f3fb","1f44a-1f3fc","1f44a-1f3fd","1f44a-1f3fe","1f44a-1f3ff"]},{"n":["left-facing fist","left-facing_fist"],"u":"1f91b","v":["1f91b-1f3fb","1f91b-1f3fc","1f91b-1f3fd","1f91b-1f3fe","1f91b-1f3ff"]},{"n":["right-facing fist","right-facing_fist"],"u":"1f91c","v":["1f91c-1f3fb","1f91c-1f3fc","1f91c-1f3fd","1f91c-1f3fe","1f91c-1f3ff"]},{"n":["raised back of hand","raised_back_of_hand"],"u":"1f91a","v":["1f91a-1f3fb","1f91a-1f3fc","1f91a-1f3fd","1f91a-1f3fe","1f91a-1f3ff"]},{"n":["waving hand sign","wave"],"u":"1f44b","v":["1f44b-1f3fb","1f44b-1f3fc","1f44b-1f3fd","1f44b-1f3fe","1f44b-1f3ff"]},{"n":["i love you hand sign","i_love_you_hand_sign"],"u":"1f91f","v":["1f91f-1f3fb","1f91f-1f3fc","1f91f-1f3fd","1f91f-1f3fe","1f91f-1f3ff"]},{"n":["writing_hand"],"u":"270d-fe0f","v":["270d-1f3fb","270d-1f3fc","270d-1f3fd","270d-1f3fe","270d-1f3ff"]},{"n":["clapping hands sign","clap"],"u":"1f44f","v":["1f44f-1f3fb","1f44f-1f3fc","1f44f-1f3fd","1f44f-1f3fe","1f44f-1f3ff"]},{"n":["open hands sign","open_hands"],"u":"1f450","v":["1f450-1f3fb","1f450-1f3fc","1f450-1f3fd","1f450-1f3fe","1f450-1f3ff"]},{"n":["person raising both hands in celebration","raised_hands"],"u":"1f64c","v":["1f64c-1f3fb","1f64c-1f3fc","1f64c-1f3fd","1f64c-1f3fe","1f64c-1f3ff"]},{"n":["palms up together","palms_up_together"],"u":"1f932","v":["1f932-1f3fb","1f932-1f3fc","1f932-1f3fd","1f932-1f3fe","1f932-1f3ff"]},{"n":["person with folded hands","pray"],"u":"1f64f","v":["1f64f-1f3fb","1f64f-1f3fc","1f64f-1f3fd","1f64f-1f3fe","1f64f-1f3ff"]},{"n":["handshake"],"u":"1f91d"},{"n":["nail polish","nail_care"],"u":"1f485","v":["1f485-1f3fb","1f485-1f3fc","1f485-1f3fd","1f485-1f3fe","1f485-1f3ff"]},{"n":["ear"],"u":"1f442","v":["1f442-1f3fb","1f442-1f3fc","1f442-1f3fd","1f442-1f3fe","1f442-1f3ff"]},{"n":["nose"],"u":"1f443","v":["1f443-1f3fb","1f443-1f3fc","1f443-1f3fd","1f443-1f3fe","1f443-1f3ff"]},{"n":["footprints"],"u":"1f463"},{"n":["eyes"],"u":"1f440"},{"n":["eye"],"u":"1f441-fe0f"},{"n":["eye-in-speech-bubble"],"u":"1f441-fe0f-200d-1f5e8-fe0f"},{"n":["brain"],"u":"1f9e0"},{"n":["tongue"],"u":"1f445"},{"n":["mouth","lips"],"u":"1f444"},{"n":["kiss mark","kiss"],"u":"1f48b"},{"n":["heart with arrow","cupid"],"u":"1f498"},{"n":["heavy black heart","heart"],"u":"2764-fe0f"},{"n":["beating heart","heartbeat"],"u":"1f493"},{"n":["broken heart","broken_heart"],"u":"1f494"},{"n":["two hearts","two_hearts"],"u":"1f495"},{"n":["sparkling heart","sparkling_heart"],"u":"1f496"},{"n":["growing heart","heartpulse"],"u":"1f497"},{"n":["blue heart","blue_heart"],"u":"1f499"},{"n":["green heart","green_heart"],"u":"1f49a"},{"n":["yellow heart","yellow_heart"],"u":"1f49b"},{"n":["orange heart","orange_heart"],"u":"1f9e1"},{"n":["purple heart","purple_heart"],"u":"1f49c"},{"n":["black heart","black_heart"],"u":"1f5a4"},{"n":["heart with ribbon","gift_heart"],"u":"1f49d"},{"n":["revolving hearts","revolving_hearts"],"u":"1f49e"},{"n":["heart decoration","heart_decoration"],"u":"1f49f"},{"n":["heavy_heart_exclamation_mark_ornament"],"u":"2763-fe0f"},{"n":["love letter","love_letter"],"u":"1f48c"},{"n":["sleeping symbol","zzz"],"u":"1f4a4"},{"n":["anger symbol","anger"],"u":"1f4a2"},{"n":["bomb"],"u":"1f4a3"},{"n":["collision symbol","boom","collision"],"u":"1f4a5"},{"n":["splashing sweat symbol","sweat_drops"],"u":"1f4a6"},{"n":["dash symbol","dash"],"u":"1f4a8"},{"n":["dizzy symbol","dizzy"],"u":"1f4ab"},{"n":["speech balloon","speech_balloon"],"u":"1f4ac"},{"n":["left_speech_bubble"],"u":"1f5e8-fe0f"},{"n":["right_anger_bubble"],"u":"1f5ef-fe0f"},{"n":["thought balloon","thought_balloon"],"u":"1f4ad"},{"n":["hole"],"u":"1f573-fe0f"},{"n":["eyeglasses"],"u":"1f453"},{"n":["dark_sunglasses"],"u":"1f576-fe0f"},{"n":["necktie"],"u":"1f454"},{"n":["t-shirt","shirt","tshirt"],"u":"1f455"},{"n":["jeans"],"u":"1f456"},{"n":["scarf"],"u":"1f9e3"},{"n":["gloves"],"u":"1f9e4"},{"n":["coat"],"u":"1f9e5"},{"n":["socks"],"u":"1f9e6"},{"n":["dress"],"u":"1f457"},{"n":["kimono"],"u":"1f458"},{"n":["bikini"],"u":"1f459"},{"n":["womans clothes","womans_clothes"],"u":"1f45a"},{"n":["purse"],"u":"1f45b"},{"n":["handbag"],"u":"1f45c"},{"n":["pouch"],"u":"1f45d"},{"n":["shopping_bags"],"u":"1f6cd-fe0f"},{"n":["school satchel","school_satchel"],"u":"1f392"},{"n":["mans shoe","mans_shoe","shoe"],"u":"1f45e"},{"n":["athletic shoe","athletic_shoe"],"u":"1f45f"},{"n":["high-heeled shoe","high_heel"],"u":"1f460"},{"n":["womans sandal","sandal"],"u":"1f461"},{"n":["womans boots","boot"],"u":"1f462"},{"n":["crown"],"u":"1f451"},{"n":["womans hat","womans_hat"],"u":"1f452"},{"n":["top hat","tophat"],"u":"1f3a9"},{"n":["graduation cap","mortar_board"],"u":"1f393"},{"n":["billed cap","billed_cap"],"u":"1f9e2"},{"n":["helmet_with_white_cross"],"u":"26d1-fe0f"},{"n":["prayer beads","prayer_beads"],"u":"1f4ff"},{"n":["lipstick"],"u":"1f484"},{"n":["ring"],"u":"1f48d"},{"n":["gem stone","gem"],"u":"1f48e"}]}')},function(e,t,n){var r=n(14),i=n(15),o=n(16);e.exports=function(e,t){return r(e)||i(e,t)||o()}},function(e,t,n){var r=n(19);e.exports=function(e,t){if(null==e)return{};var n,i,o=r(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i<s.length;i++)n=s[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var n=[],r=!0,i=!1,o=void 0;try{for(var s,a=e[Symbol.iterator]();!(r=(s=a.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==a.return||a.return()}finally{if(i)throw o}}return n}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,t,n){"use strict";var r=n(18);function i(){}function o(){}o.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,o,s){if(s!==r){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}},function(e,t){e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}},function(e,t){e.exports=function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},function(e,t,n){var r=n(24);"string"==typeof r&&(r=[[e.i,r,""]]),n(6)(r,{insert:"head",singleton:!1}),r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,".emoji-picker-react ul.skin-tones-list {\n padding: 0;\n margin: 0;\n list-style-type: none;\n position: absolute;\n top: 13px;\n right: 40px;\n}\n\n.emoji-picker-react ul.skin-tones-list li {\n background-color: currentColor;\n position: absolute;\n padding: 0;\n border-radius: 2px;\n overflow: hidden;\n transition: transform .3s ease;\n}\n\n.emoji-picker-react ul.skin-tones-list label {\n height: 10px;\n width: 10px;\n padding: 0;\n display: block;\n cursor: pointer;\n}\n\n.emoji-picker-react ul.skin-tones-list input {\n height: 0;\n width: 0;\n opacity: 0;\n visibility: hidden;\n display: none;\n}\n\n.emoji-picker-react ul.skin-tones-list li.tneutral { color: #FFD225; }\n.emoji-picker-react ul.skin-tones-list li.t1f3fb { color: #FFDFBD; }\n.emoji-picker-react ul.skin-tones-list li.t1f3fc { color: #E9C197; }\n.emoji-picker-react ul.skin-tones-list li.t1f3fd { color: #C88E62; }\n.emoji-picker-react ul.skin-tones-list li.t1f3fe { color: #A86637; }\n.emoji-picker-react ul.skin-tones-list li.t1f3ff { color: #60463A; }\n",""])},function(e,t,n){var r=n(26);"string"==typeof r&&(r=[[e.i,r,""]]),n(6)(r,{insert:"head",singleton:!1}),r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,".emoji-picker-react img.emoji-img {\n height: 25px;\n width: 25px;\n margin: 5px;\n}\n",""])},function(e,t,n){var r=n(28);"string"==typeof r&&(r=[[e.i,r,""]]),n(6)(r,{insert:"head",singleton:!1}),r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,".emoji-picker-react .variation-wrapper {\n position: relative;\n}\n\n.emoji-picker-react .variation-list {\n background: #F4F4F4;\n border-bottom: 1px solid #efefef;\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 10;\n margin: 0;\n padding: 0;\n display: flex;\n justify-content: space-evenly;\n list-style-type: none;\n}\n\n.emoji-picker-react .variation-list button {\n display: flex;\n}\n\n.emoji-picker-react .variation-list button {\n border-radius: 5px;\n transition: background .1s;\n background: none;\n padding: 0;\n}\n\n.emoji-picker-react .variation-list button:hover {\n background-color: #DBDBDB;\n}\n",""])},function(e,t,n){var r=n(30);"string"==typeof r&&(r=[[e.i,r,""]]),n(6)(r,{insert:"head",singleton:!1}),r.locals&&(e.exports=r.locals)},function(e,t,n){t=e.exports=n(5)(!1);var r=n(31),i=r(n(32)),o=r(n(33)),s=r(n(34)),a=r(n(35)),f=r(n(36)),c=r(n(37)),u=r(n(38)),l=r(n(39));t.push([e.i,".emoji-picker-react .emoji-categories button {\n height: 40px;\n width: 20px;\n padding: 5px 0;\n background-repeat: no-repeat;\n background-size: 20px;\n background-position: 50% 50%;\n cursor: pointer;\n opacity: .5;\n transition: opacity .1s;\n}\n\n.emoji-picker-react .emoji-categories button.icn-activities { background-image: url("+i+"); }\n.emoji-picker-react .emoji-categories button.icn-animals_nature { background-image: url("+o+"); }\n.emoji-picker-react .emoji-categories button.icn-flags { background-image: url("+s+"); }\n.emoji-picker-react .emoji-categories button.icn-food_drink { background-image: url("+a+"); }\n.emoji-picker-react .emoji-categories button.icn-objects { background-image: url("+f+"); }\n.emoji-picker-react .emoji-categories button.icn-smileys_people { background-image: url("+c+"); }\n.emoji-picker-react .emoji-categories button.icn-symbols { background-image: url("+u+"); }\n.emoji-picker-react .emoji-categories button.icn-travel_places { background-image: url("+l+"); }\n\n\n.emoji-picker-react .emoji-categories {\n padding: 0 15px;\n display: flex;\n justify-content: space-between;\n box-sizing: border-box;\n}\n\n.emoji-picker-react .emoji-categories.inactive button,\n.emoji-picker-react .emoji-categories.inactive button.active,\n.emoji-picker-react .emoji-categories.inactive button:hover {\n opacity: .4;\n cursor: default;\n}\n\n.emoji-picker-react .emoji-categories button.active {\n opacity: 1;\n}\n\n.emoji-picker-react .emoji-categories button:hover {\n opacity: .7;\n}\n",""])},function(e,t,n){"use strict";e.exports=function(e,t){return"string"!=typeof(e=e.__esModule?e.default:e)?e:(/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),/["'() \t\n]/.test(e)||t?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e)}},function(e,t){e.exports="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 0C14.355 0 0 14.355 0 32s14.355 32 32 32 32-14.355 32-32S49.645 0 32 0zm29.624 36.731l-3.885-6.439 2.681-7.88a29.867 29.867 0 0 1 1.204 14.319zm-7.558 15.567a.994.994 0 0 0-.408-.02L43.98 53.83a.993.993 0 0 0-.123-.345l-5.502-9.17 8.896-13.7h8.428a.992.992 0 0 0 .105.312l5.236 8.678a29.956 29.956 0 0 1-6.954 12.693zm-10.085 3.557l7.688-1.232a29.958 29.958 0 0 1-11.706 6.296l4.018-5.064zM12.65 9.1a29.858 29.858 0 0 1 18.628-7.082.982.982 0 0 0 .24.376l5.525 5.214-2.185 8.156-14.237 5.465c-.052-.042-.093-.094-.154-.126l-8.87-4.701L12.65 9.1zm25.736-2.976l-4.283-4.042a29.763 29.763 0 0 1 10.989 2.931l-6.706 1.111zM21.93 38.737l-.816-15.554L35.655 17.6l9.803 12.106-8.483 13.063-15.045-4.032zm37.375-19.141c-.031.054-.072.098-.093.159l-3.015 8.86h-9.048L36.882 15.937l2.113-7.887 8.27-1.371a.979.979 0 0 0 .453-.218 30.2 30.2 0 0 1 11.587 13.135zm-48.994-8.289l-.802 5.561-5.349 3.975a30.035 30.035 0 0 1 6.151-9.536zm-7.255 12.82c.044-.023.09-.037.131-.068l7.737-5.751 8.158 4.323.888 16.936c.002.025.013.048.016.073l-7.71 7.629c-.066.065-.105.145-.149.222L4.734 44.32c-.028-.012-.057-.009-.085-.018A29.822 29.822 0 0 1 2 32c0-2.725.372-5.362 1.056-7.873zm3.022 22.945l5.415 2.322 4.141 7.729a30.222 30.222 0 0 1-9.556-10.051zm12.759 11.879c-.019-.064-.025-.131-.058-.192l-5.317-9.924c.076-.043.155-.08.22-.145l8.027-7.942 14.507 3.888 5.927 9.879c.05.083.11.154.178.217l-5.449 6.867c-1.587.26-3.213.401-4.872.401-4.72 0-9.186-1.099-13.163-3.049z'/%3E%3C/svg%3E"},function(e,t){e.exports="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 470 470'%3E%3Cpath d='M401.17 68.83C356.784 24.444 297.771 0 235 0S113.216 24.444 68.83 68.83 0 172.229 0 235s24.444 121.784 68.83 166.17S172.229 470 235 470s121.784-24.444 166.17-68.83S470 297.771 470 235s-24.444-121.784-68.83-166.17zM235 455c-121.309 0-220-98.691-220-220S113.691 15 235 15s220 98.691 220 220-98.691 220-220 220z'/%3E%3Cpath d='M382.5 173.979c3.532 0 6.735 1.824 8.568 4.879a7.499 7.499 0 0 0 12.864 0c1.833-3.055 5.036-4.879 8.568-4.879 4.143 0 7.5-3.357 7.5-7.5s-3.357-7.5-7.5-7.5c-5.461 0-10.724 1.829-15 5.039-4.276-3.21-9.539-5.039-15-5.039-4.143 0-7.5 3.357-7.5 7.5s3.357 7.5 7.5 7.5zM322.5 135.459c3.532 0 6.735 1.824 8.568 4.879a7.499 7.499 0 0 0 12.864 0c1.833-3.055 5.036-4.879 8.568-4.879 4.143 0 7.5-3.357 7.5-7.5s-3.357-7.5-7.5-7.5c-5.461 0-10.724 1.829-15 5.039-4.276-3.21-9.539-5.039-15-5.039-4.143 0-7.5 3.357-7.5 7.5s3.357 7.5 7.5 7.5zM117.5 173.979c3.532 0 6.735 1.824 8.568 4.879a7.499 7.499 0 0 0 12.864 0c1.833-3.055 5.036-4.879 8.568-4.879 4.143 0 7.5-3.357 7.5-7.5s-3.357-7.5-7.5-7.5c-5.461 0-10.724 1.829-15 5.039-4.276-3.21-9.539-5.039-15-5.039-4.143 0-7.5 3.357-7.5 7.5s3.357 7.5 7.5 7.5zM436.826 253.173a7.5 7.5 0 0 0-5.443-2.6c-12.664-.4-24.343-7.548-32.041-19.608a7.5 7.5 0 0 0-12.643-.001c-7.974 12.489-20.074 19.652-33.2 19.652-13.089 0-25.177-7.164-33.162-19.656a7.502 7.502 0 0 0-12.635-.004c-8 12.494-20.098 19.66-33.192 19.66-13.098 0-25.189-7.164-33.175-19.656a7.5 7.5 0 0 0-12.64.004c-7.974 12.489-20.069 19.652-33.187 19.652-13.098 0-25.19-7.164-33.176-19.656a7.502 7.502 0 0 0-12.635-.004c-8 12.494-20.098 19.66-33.191 19.66-13.099 0-25.19-7.164-33.175-19.655a7.5 7.5 0 0 0-12.64.004c-7.699 12.061-19.389 19.207-32.07 19.608a7.494 7.494 0 0 0-5.443 2.6 7.497 7.497 0 0 0-1.769 5.767c5.786 49.506 29.545 95.215 66.901 128.706C135.964 421.407 184.509 440 235 440c45.241 0 88.17-14.518 124.145-41.982a7.498 7.498 0 0 0 1.41-10.512 7.496 7.496 0 0 0-10.512-1.41C316.705 411.547 276.924 425 235 425c-93.882 0-173.276-68.424-187.68-160.366 11.265-2.217 21.561-8.215 29.707-17.284 10.49 11.584 24.673 18.267 39.476 18.267 14.808 0 29.002-6.691 39.505-18.291 10.493 11.6 24.685 18.291 39.498 18.291 14.828 0 29.022-6.689 39.511-18.284 10.493 11.595 24.682 18.284 39.491 18.284 14.808 0 29.002-6.691 39.505-18.291 10.493 11.6 24.679 18.291 39.485 18.291 14.826 0 29.018-6.681 39.505-18.264 8.14 9.065 18.422 15.061 29.671 17.278-6.044 38.177-24.008 74.246-51.068 102.269a7.5 7.5 0 1 0 10.791 10.419c31.08-32.185 51.038-74.226 56.198-118.38a7.495 7.495 0 0 0-1.769-5.766z'/%3E%3Cpath d='M289.513 310.616c-4.143 0-7.5 3.357-7.5 7.5s3.357 7.5 7.5 7.5h10c4.143 0 7.5-3.357 7.5-7.5s-3.357-7.5-7.5-7.5h-10zM358.49 280.616h-10c-4.143 0-7.5 3.357-7.5 7.5s3.357 7.5 7.5 7.5h10c4.143 0 7.5-3.357 7.5-7.5s-3.357-7.5-7.5-7.5zM111.503 280.616c-4.143 0-7.5 3.357-7.5 7.5s3.357 7.5 7.5 7.5h10c4.143 0 7.5-3.357 7.5-7.5s-3.357-7.5-7.5-7.5h-10zM235 191.25c30.327 0 55-24.673 55-55s-24.673-55-55-55-55 24.673-55 55 24.673 55 55 55zm0-95c22.056 0 40 17.944 40 40s-17.944 40-40 40-40-17.944-40-40 17.944-40 40-40z'/%3E%3C/svg%3E"},function(e,t){e.exports="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 502 502'%3E%3Cpath d='M428.484 73.516C381.076 26.108 318.044 0 251 0S120.924 26.108 73.516 73.516 0 183.956 0 251s26.108 130.076 73.516 177.484S183.956 502 251 502s130.076-26.108 177.484-73.516C475.892 381.076 502 318.044 502 251s-26.108-130.076-73.516-177.484zM283.829 39h58.868c58.354 25.338 104.274 74.079 125.849 134.317h-41.725a21.139 21.139 0 0 0-19.587 13.087 21.139 21.139 0 0 0 4.595 23.104l3.3 3.3c4.638 4.637 4.638 12.184 0 16.821a11.42 11.42 0 0 1-8.13 3.368 11.422 11.422 0 0 1-8.13-3.368l-7.969-7.969c-13.135-13.135-30.599-20.369-49.175-20.369h-6.397v-8.036c0-19.265-7.502-37.376-21.124-50.999l-9.952-9.952c-10.216-10.216-23.799-15.843-38.247-15.843h-19.931c-7.721 0-14.98 3.007-20.439 8.466l-5.17 5.169c-5.459 5.459-8.466 12.718-8.466 20.439a4.736 4.736 0 0 1-4.73 4.73h-8.66v-12.154c0-8.648 3.368-16.78 9.483-22.895l5.849-5.849c5.244-5.243 8.131-12.214 8.131-19.629V92.71c0-.394.32-.713.713-.713H320.5c12.407 0 22.5-10.093 22.5-22.5S332.907 47 320.5 47h-36.671c-2.206 0-4-1.794-4-4s1.794-4 4-4zm74.893 252.437l-5.452 5.484a155.066 155.066 0 0 0-22.913 29.41l-9.918 16.5-12.403 20.492a48.673 48.673 0 0 0-7.036 25.21v.615a.857.857 0 0 1-.856.856h-.004a8.78 8.78 0 0 1-6.247-2.586 8.776 8.776 0 0 1-2.589-6.25c0-12.58-4.899-24.407-13.794-33.303l-4.591-4.591c-6.947-6.947-10.773-16.183-10.773-26.007v-29.475c0-14.806-12.045-26.851-26.852-26.851H231.8c-8.349 0-15.142-6.792-15.142-15.142v-15.343c0-9.034 7.35-16.384 16.384-16.384h79.886l24.099 24.1c6.003 6.003 9.309 13.984 9.309 22.473v11.464c0 8.56 5.082 15.955 12.386 19.328zM20 251c0-9.444.583-18.752 1.69-27.902h30.619c10.153 0 19.698 3.954 26.876 11.133l8.781 8.78c7.527 7.527 17.534 11.672 28.179 11.672 5.65 0 10.962 2.2 14.957 6.195l.193.193c7.233 7.233 11.217 16.851 11.217 27.081v17.886c0 13.63-5.308 26.444-14.945 36.082l-19.15 19.15c-13.442 13.443-21.939 30.512-24.58 49.002C44.303 368.799 20 312.684 20 251zm231 231c-56.288 0-107.93-20.247-148.049-53.827v-5.423c0-17.881 6.963-34.693 19.607-47.337l19.15-19.15c13.415-13.416 20.803-31.252 20.803-50.224v-17.886c0-15.573-6.064-30.213-17.075-41.224l-.193-.192c-7.772-7.772-18.106-12.053-29.099-12.053a19.72 19.72 0 0 1-14.036-5.814l-8.781-8.781c-10.957-10.956-25.524-16.99-41.019-16.99h-27.3C47.126 98.635 140.047 20 251 20c7.743 0 15.396.39 22.946 1.138-8.316 3.774-14.117 12.151-14.117 21.862 0 13.234 10.766 24 24 24H320.5c1.378 0 2.5 1.122 2.5 2.5s-1.122 2.5-2.5 2.5h-97.713c-11.421 0-20.713 9.292-20.713 20.713v2.028a7.706 7.706 0 0 1-2.273 5.486l-5.85 5.85c-9.893 9.893-15.341 23.047-15.341 37.037v13.574c0 10.245 8.334 18.58 18.579 18.58h10.081c13.636 0 24.73-11.094 24.73-24.73 0-2.379.926-4.615 2.608-6.297l5.169-5.169c.203-.203.414-.393.632-.574.167.195.334.389.518.574l19.932 19.932c-3.833 3.911-3.813 10.186.068 14.068 1.953 1.953 4.512 2.929 7.071 2.929s5.119-.976 7.071-2.929l7-7c3.905-3.905 3.905-10.237 0-14.143l-15.45-15.45c8.875.156 17.197 3.677 23.489 9.97l9.953 9.952c9.844 9.844 15.266 22.934 15.266 36.856v.817H233.04c-20.062 0-36.384 16.322-36.384 36.384V245.8c0 19.377 15.765 35.142 35.142 35.142h3.493a6.86 6.86 0 0 1 6.852 6.851v29.475c0 15.167 5.906 29.425 16.63 40.15l4.591 4.591c5.118 5.118 7.937 11.923 7.937 19.161 0 7.705 3.001 14.948 8.451 20.396 5.446 5.443 12.685 8.44 20.384 8.44h.015C311.648 410 321 400.644 321 389.149v-.614a28.68 28.68 0 0 1 4.146-14.854l12.409-20.502a.226.226 0 0 1 .016-.026l9.928-16.517a135.064 135.064 0 0 1 19.955-25.613l11.147-11.213c4.428-4.455 5.731-11.08 3.319-16.879s-8.029-9.546-14.31-9.546a1.274 1.274 0 0 1-1.273-1.273v-11.464c0-13.832-5.386-26.835-15.167-36.616l-2.215-2.215c10.49 1.524 20.173 6.357 27.804 13.988l7.969 7.969c6.141 6.141 14.207 9.211 22.272 9.211s16.132-3.07 22.272-9.211c6.024-6.024 9.341-14.033 9.341-22.553 0-8.519-3.317-16.528-9.341-22.553l-3.3-3.3c-.198-.198-.567-.567-.26-1.308.307-.741.829-.741 1.109-.741h47.888C479.468 211.761 482 231.09 482 251c0 127.374-103.626 231-231 231z'/%3E%3Cpath d='M184 85c5.523 0 10-4.477 10-10V54.494c0-5.523-4.477-10-10-10s-10 4.477-10 10V75c0 5.523 4.477 10 10 10zM450.39 314.63c-5.176-1.93-10.935.702-12.863 5.877C408.652 397.961 333.692 450 251 450c-5.523 0-10 4.477-10 10s4.477 10 10 10c45.543 0 89.207-13.849 126.272-40.048 36.24-25.617 63.556-61.046 78.995-102.458 1.929-5.175-.702-10.934-5.877-12.864zM202.433 444.034a198.232 198.232 0 0 1-28.554-9.526c-5.092-2.144-10.954.249-13.096 5.339-2.142 5.09.249 10.954 5.339 13.096a218.202 218.202 0 0 0 31.445 10.491c.817.205 1.635.303 2.44.303 4.478 0 8.554-3.03 9.692-7.57 1.344-5.358-1.909-10.79-7.266-12.133z'/%3E%3C/svg%3E"},function(e,t){e.exports="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M337.502 61.244c-46.267-19.341-98.094-21.573-145.933-6.282-5.497 1.758-8.528 7.638-6.772 13.134 1.758 5.497 7.64 8.528 13.134 6.772 43.115-13.782 89.819-11.772 131.51 5.657 1.317.55 2.682.811 4.026.811 4.087 0 7.969-2.415 9.644-6.422 2.228-5.324-.284-11.445-5.609-13.67zM368.323 77.252a11.31 11.31 0 0 0-.375-.239c-4.925-3.009-11.356-1.458-14.364 3.467-2.984 4.884-1.483 11.249 3.346 14.29a10.398 10.398 0 0 0 5.587 1.626c3.377 0 6.69-1.633 8.704-4.654 3.201-4.801 1.904-11.289-2.898-14.49zM447.293 161.884c-4.081-4.08-10.698-4.08-14.778 0l-14.629 14.629c-4.08 4.081-4.08 10.698 0 14.778 2.04 2.041 4.715 3.06 7.388 3.06s5.349-1.02 7.389-3.06l14.629-14.629c4.081-4.081 4.081-10.698.001-14.778zM83.999 214.617c-4.081-4.08-10.698-4.08-14.778 0l-14.629 14.629c-4.08 4.081-4.08 10.698 0 14.778 2.04 2.041 4.715 3.06 7.388 3.06s5.349-1.02 7.39-3.06l14.629-14.629c4.081-4.082 4.081-10.698 0-14.778zM115.508 100.235c-4.081-4.08-10.698-4.08-14.778 0l-14.629 14.629c-4.08 4.081-4.08 10.698 0 14.778 2.04 2.041 4.715 3.06 7.388 3.06s5.348-1.02 7.39-3.06l14.629-14.629c4.081-4.081 4.081-10.698 0-14.778zM386.754 116.24h-20.688c-5.771 0-10.449 4.678-10.449 10.449s4.678 10.449 10.449 10.449h20.688c5.771 0 10.449-4.678 10.449-10.449s-4.678-10.449-10.449-10.449zM151.326 161.908l-14.618-14.618c-4.081-4.08-10.698-4.081-14.778 0s-4.08 10.698 0 14.778l14.618 14.618a10.413 10.413 0 0 0 7.388 3.06c2.674 0 5.349-1.02 7.39-3.06 4.081-4.081 4.081-10.698 0-14.778zM411.753 229.241l-14.618-14.617c-4.08-4.081-10.696-4.08-14.777 0s-4.08 10.697 0 14.777l14.618 14.617c2.041 2.041 4.715 3.06 7.388 3.06s5.348-1.021 7.388-3.06c4.083-4.08 4.082-10.696.001-14.777zM318.326 126.607l-14.617-14.617c-4.081-4.08-10.698-4.081-14.778 0s-4.08 10.698 0 14.778l14.617 14.617a10.414 10.414 0 0 0 7.388 3.061 10.42 10.42 0 0 0 7.39-3.061c4.08-4.081 4.08-10.698 0-14.778zM195.194 97.387c-3.904-4.25-10.515-4.528-14.763-.622l-15.22 13.989c-4.249 3.905-4.527 10.515-.622 14.763a10.42 10.42 0 0 0 7.696 3.378c2.528 0 5.063-.911 7.068-2.756l15.22-13.989c4.248-3.905 4.526-10.515.621-14.763zM256.153 145.241H255.865c-5.762 0-10.437 4.665-10.449 10.429-.011 5.771 4.658 10.457 10.429 10.469H256.134c5.762 0 10.438-4.664 10.449-10.429.01-5.771-4.659-10.458-10.43-10.469z'/%3E%3Cpath d='M437.019 74.981C388.668 26.628 324.38 0 256 0S123.332 26.628 74.981 74.981C26.629 123.333 0 187.62 0 256c0 68.38 26.628 132.668 74.981 181.019C123.333 485.371 187.62 512 256 512c68.38 0 132.668-26.628 181.019-74.981C485.371 388.667 512 324.38 512 256s-26.628-132.668-74.981-181.019zM256 491.102c-94.256 0-175.718-55.763-213.173-136.024 6.781-.56 13.126-3.458 18.112-8.35 5.756-5.647 9.057-13.495 9.057-21.531v-9.364c0-7.449 6.027-13.624 13.435-13.767 3.561-.079 6.976 1.322 9.617 3.913 2.77 2.718 4.359 6.484 4.359 10.332v23.709c0 18.754 15.222 34.302 33.932 34.66.221.004.442.006.664.006 8.973 0 17.47-3.499 23.989-9.895 6.751-6.623 10.623-15.826 10.623-25.25v-18.215c20.172 27.524 52.723 45.432 89.384 45.432 52.209 0 96.09-36.312 107.73-85.007a10.027 10.027 0 0 1 2.18 6.23v25.773c0 19.673 15.968 35.984 35.596 36.361.233.004.464.006.696.006 9.409 0 18.321-3.671 25.161-10.38 7.086-6.951 11.149-16.61 11.149-26.5v-24.856c0-2.83 1.17-5.6 3.21-7.602 1.927-1.889 4.429-2.882 6.986-2.854 5.403.104 9.8 4.612 9.8 10.05v2.721c0 14.409 10.071 26.69 23.526 30.04C453.848 418.996 363.189 491.102 256 491.102zm223.405-200.399v-2.721c0-16.741-13.591-30.624-30.297-30.944-8.235-.159-16.057 2.978-22.022 8.829-6.021 5.906-9.473 14.113-9.473 22.52v24.856c0 4.314-1.782 8.536-4.886 11.582-2.97 2.912-6.846 4.462-10.82 4.397-8.326-.16-15.099-7.098-15.099-15.468v-25.773c0-13.154-8.392-24.538-20.091-28.971.027-1.001.043-2.004.043-3.011 0-46.06-29.007-87.788-72.182-103.836-5.411-2.01-11.425.745-13.434 6.154-2.01 5.409.745 11.424 6.154 13.434 35.027 13.021 58.562 46.877 58.562 84.248 0 49.549-40.312 89.861-89.861 89.861-49.549 0-89.861-40.312-89.861-89.861 0-37.372 23.535-71.228 58.565-84.246 5.409-2.01 8.164-8.026 6.154-13.434s-8.022-8.165-13.434-6.154C174.248 168.21 145.239 209.938 145.239 256a110.22 110.22 0 0 0 7.085 38.971 30.145 30.145 0 0 0-6.607 18.808v25.763c0 3.848-1.589 7.614-4.359 10.332-2.642 2.591-6.036 3.973-9.617 3.913-7.407-.142-13.434-6.317-13.434-13.766v-23.709c0-9.424-3.872-18.627-10.623-25.251-6.681-6.554-15.435-10.081-24.652-9.889-18.71.358-33.932 15.907-33.932 34.66v9.364c0 2.461-1.019 4.871-2.794 6.613-1.668 1.635-3.808 2.506-6.034 2.47-3.374-.065-6.387-2.139-7.733-5.21-7.543-23.011-11.64-47.569-11.64-73.07C20.898 126.365 126.365 20.898 256 20.898S491.102 126.365 491.102 256c0 15.182-1.464 30.026-4.227 44.414-4.281-1.138-7.47-5.083-7.47-9.711z'/%3E%3C/svg%3E"},function(e,t){e.exports="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 58.153 58.153'%3E%3Cpath d='M40.076 29.153h-7.142a3.995 3.995 0 0 0-2.858-2.858V16.153a1 1 0 1 0-2 0v10.142c-1.72.447-3 1.999-3 3.858 0 2.206 1.794 4 4 4 1.858 0 3.411-1.28 3.858-3h7.142a1 1 0 1 0 0-2zm-11 3c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2z'/%3E%3Cpath d='M50.188 9.764l4.096 4.096a1 1 0 0 0 1.414 0c3.167-3.166 3.167-8.319 0-11.485s-8.319-3.166-11.485 0a.997.997 0 0 0 0 1.414l4.561 4.561-1.699 1.699c-4.78-4.284-11.089-6.896-17.998-6.896s-13.218 2.612-17.998 6.896l-1.7-1.699 4.561-4.561a.997.997 0 0 0 0-1.414c-3.166-3.166-8.318-3.166-11.485 0s-3.167 8.319 0 11.485a1 1 0 0 0 1.414 0l4.096-4.096 1.676 1.676c-4.679 4.857-7.565 11.453-7.565 18.713 0 9.898 5.357 18.564 13.321 23.265l-3.028 3.028a.999.999 0 1 0 1.414 1.414l3.45-3.45c3.578 1.754 7.597 2.743 11.843 2.743s8.265-.989 11.843-2.743l3.45 3.45a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414l-3.028-3.028c7.964-4.701 13.321-13.367 13.321-23.265 0-7.26-2.886-13.856-7.565-18.713l1.677-1.676zm4.095-5.975c2.146 2.146 2.362 5.502.649 7.893L46.391 3.14a6.13 6.13 0 0 1 7.892.649zM3.22 11.681c-1.713-2.39-1.497-5.746.649-7.892s5.502-2.361 7.892-.649L3.22 11.681zm25.856 43.472c-13.785 0-25-11.215-25-25s11.215-25 25-25 25 11.215 25 25-11.214 25-25 25z'/%3E%3Cpath d='M29.076 10.032a1 1 0 0 0 1-1v-1a1 1 0 1 0-2 0v1a1 1 0 0 0 1 1zM29.076 50.032a1 1 0 0 0-1 1v1a1 1 0 1 0 2 0v-1a1 1 0 0 0-1-1zM50.076 31.032h1a1 1 0 1 0 0-2h-1a1 1 0 1 0 0 2zM8.076 29.032h-1a1 1 0 1 0 0 2h1a1 1 0 1 0 0-2zM43.926 13.768l-.707.707a.999.999 0 1 0 1.414 1.414l.707-.707a.999.999 0 1 0-1.414-1.414zM13.52 44.174l-.707.707a.999.999 0 1 0 1.414 1.414l.707-.707a.999.999 0 1 0-1.414-1.414zM44.633 44.174a.999.999 0 1 0-1.414 1.414l.707.707a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414l-.707-.707zM14.227 13.768a.999.999 0 1 0-1.414 1.414l.707.707a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414l-.707-.707z'/%3E%3C/svg%3E"},function(e,t){e.exports="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 33 33'%3E%3Cpath d='M16.5 33C7.402 33 0 25.598 0 16.5S7.402 0 16.5 0 33 7.402 33 16.5 25.598 33 16.5 33zm0-32C7.953 1 1 7.953 1 16.5S7.953 32 16.5 32 32 25.047 32 16.5 25.047 1 16.5 1z'/%3E%3Cpath d='M16.5 33a16.38 16.38 0 0 1-9.549-3.06.5.5 0 1 1 .116-.876c4.146-1.535 4.815-2.781 4.815-5.169 0-.631-.142-.838-.398-1.214-.339-.494-.803-1.171-1.129-2.939-.048-.254-.089-.274-.316-.384-.606-.292-1.163-.712-1.309-2.628 0-.928.32-1.441.585-1.708-.058-.33-.153-.899-.242-1.519-.453-2.777-.473-6.178 3.433-7.759 3.404-1.38 6.121-.626 6.974.273.604.019 2.162.177 3.246 1.438 1.668 1.94 1.137 6.363.955 7.562.266.261.589.767.589 1.675-.146 1.954-.703 2.375-1.31 2.666-.228.11-.269.129-.316.384-.326 1.768-.789 2.445-1.128 2.939-.257.375-.398.583-.398 1.214 0 2.388.669 3.634 4.815 5.169a.498.498 0 0 1 .116.876A16.38 16.38 0 0 1 16.5 33zm-8.183-3.349C10.779 31.191 13.589 32 16.5 32s5.721-.809 8.183-2.349c-3.474-1.426-4.565-2.864-4.565-5.755 0-.941.278-1.348.573-1.779.304-.444.682-.996.971-2.556.139-.754.576-.964.865-1.103.311-.149.631-.303.744-1.803-.001-.764-.344-.972-.358-.98a.533.533 0 0 1-.264-.537c.248-1.329.656-5.474-.681-7.031-.913-1.062-2.352-1.091-2.626-1.08-.046-.004-.091-.005-.134-.016-.13-.033-.35-.146-.417-.262-.272-.466-2.641-1.403-5.91-.08-3.231 1.308-3.238 4.112-2.819 6.682.138.957.289 1.784.29 1.788a.5.5 0 0 1-.283.544c.003 0-.339.209-.339 1.008.112 1.461.433 1.616.743 1.765.289.139.727.349.866 1.103.288 1.56.666 2.112.97 2.556.296.431.574.838.574 1.779 0 2.894-1.091 4.332-4.566 5.757z'/%3E%3C/svg%3E"},function(e,t){e.exports="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 490.4 490.4'%3E%3Cpath d='M229 381.2c4.4 4.4 10.1 6.8 16.3 6.8 6.2 0 12-2.4 16.3-6.8l96.3-96.3c15.7-15.7 24.4-36.6 24.4-58.7 0-22.2-8.6-43.1-24.3-58.8-15.7-15.7-36.6-24.3-58.7-24.3-20 0-38.9 7-54 19.9-15.1-13-34.1-20-54.1-20-22.2 0-43 8.6-58.7 24.3s-24.3 36.6-24.3 58.8 8.7 43 24.4 58.7l96.4 96.4zm-79.3-196.7c11.1-11.1 25.7-17.1 41.4-17.1s30.4 6.1 41.5 17.2l4 4c4.8 4.8 12.5 4.8 17.3 0l3.9-3.9c11.1-11.1 25.8-17.2 41.5-17.2 15.6 0 30.3 6.1 41.4 17.2 11.1 11.1 17.2 25.8 17.1 41.4 0 15.7-6.1 30.4-17.2 41.5l-95.3 95.3-95.5-95.5c-11.1-11.1-17.2-25.8-17.2-41.4 0-15.7 6.1-30.4 17.1-41.5z'/%3E%3Cpath d='M245.2 490.4c135.2 0 245.2-110 245.2-245.2S380.4 0 245.2 0 0 110 0 245.2s110 245.2 245.2 245.2zm0-465.9c121.7 0 220.7 99 220.7 220.7s-99 220.7-220.7 220.7-220.7-99-220.7-220.7 99-220.7 220.7-220.7z'/%3E%3C/svg%3E"},function(e,t){e.exports="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 470 470'%3E%3Cpath d='M401.17 68.83C356.784 24.444 297.771 0 235 0S113.216 24.444 68.83 68.83C24.444 113.215 0 172.229 0 235s24.444 121.785 68.83 166.17C113.216 445.556 172.229 470 235 470s121.784-24.444 166.17-68.83C445.556 356.785 470 297.771 470 235s-24.444-121.785-68.83-166.17zM235 455c-121.309 0-220-98.691-220-220S113.691 15 235 15s220 98.691 220 220-98.691 220-220 220z'/%3E%3Ccircle cx='235' cy='97.5' r='7.5'/%3E%3Cpath d='M437.56 242.365a7.501 7.501 0 0 0-5.467-2.365h-26.046v-22.5c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5V240H372.5v-52.5a7.5 7.5 0 0 0-3.525-6.36L292.5 133.343V97.5A7.5 7.5 0 0 0 285 90h-13.253C268.262 72.905 253.109 60 235 60s-33.262 12.905-36.747 30H185a7.5 7.5 0 0 0-7.5 7.5V130h-25v-22.5c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5V130H105a7.5 7.5 0 0 0-7.5 7.5v102.499l-59.593-.01a7.504 7.504 0 0 0-7.487 7.969c3.523 56.171 29.666 105.984 69.187 140.798.281.291.587.556.911.799 23.389 20.362 51.39 35.496 82.128 43.638.307.102.622.184.946.246A204.258 204.258 0 0 0 235 440c17.409 0 34.679-2.229 51.386-6.558a7.297 7.297 0 0 0 1.002-.262 203.842 203.842 0 0 0 50.574-20.966c30.222-17.629 55.631-42.86 73.479-72.965a7.5 7.5 0 0 0-12.902-7.65 189.49 189.49 0 0 1-26.039 34.299V255h51.438a188.457 188.457 0 0 1-12.616 50.728 7.499 7.499 0 0 0 4.156 9.758 7.498 7.498 0 0 0 9.758-4.157 203.511 203.511 0 0 0 14.342-63.359 7.499 7.499 0 0 0-2.018-5.605zM192.5 175h85v215h-85V175zm0-70H205a7.5 7.5 0 0 0 7.5-7.5c0-12.407 10.094-22.5 22.5-22.5s22.5 10.093 22.5 22.5a7.5 7.5 0 0 0 7.5 7.5h12.5v55h-85v-55zM46.059 254.99l51.441.009V307.5c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5V145h65v245H175c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5h2.5v11.078c-24.056-7.668-46.091-20.018-65-35.997V337.5c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v28.458c-28.127-29.492-46.937-68.033-51.441-110.968zM192.5 420.179V405h85v15.106A187.644 187.644 0 0 1 235 425a189.427 189.427 0 0 1-42.5-4.821zm100-4.235V405h2.5c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-2.5V151.032l65 40.625v188.307a191.989 191.989 0 0 1-65 35.98z'/%3E%3Cpath d='M325 320a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM325 280a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM325 240a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM325 200a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM145 345a7.5 7.5 0 0 0 7.5-7.5v-10c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v10a7.5 7.5 0 0 0 7.5 7.5zM145 305a7.5 7.5 0 0 0 7.5-7.5v-10c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v10a7.5 7.5 0 0 0 7.5 7.5zM145 265a7.5 7.5 0 0 0 7.5-7.5v-10c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v10a7.5 7.5 0 0 0 7.5 7.5zM145 185a7.5 7.5 0 0 0 7.5-7.5v-10c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v10a7.5 7.5 0 0 0 7.5 7.5zM145 225a7.5 7.5 0 0 0 7.5-7.5v-10c0-4.142-3.357-7.5-7.5-7.5s-7.5 3.358-7.5 7.5v10a7.5 7.5 0 0 0 7.5 7.5zM235 350a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM235 310a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM235 270a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM235 230a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM235 190a7.5 7.5 0 0 0-7.5 7.5v10c0 4.142 3.357 7.5 7.5 7.5s7.5-3.358 7.5-7.5v-10a7.5 7.5 0 0 0-7.5-7.5zM215 145h40c4.143 0 7.5-3.358 7.5-7.5s-3.357-7.5-7.5-7.5h-40c-4.143 0-7.5 3.358-7.5 7.5s3.357 7.5 7.5 7.5z'/%3E%3C/svg%3E"},function(e,t,n){var r=n(41);"string"==typeof r&&(r=[[e.i,r,""]]),n(6)(r,{insert:"head",singleton:!1}),r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,".emoji-picker-react .emoji {\n position: relative;\n}\n\n.emoji-picker-react .emoji.has-skin-variation:before {\n content: '';\n display: block;\n height: 5px;\n width: 5px;\n background: #070B17;\n position: absolute;\n top: 0;\n right: 0;\n border-radius: 0 5px 0 0;\n}\n\n.emoji-picker-react .emoji button {\n color: inherit;\n border-radius: 5px;\n transition: .1s background;\n padding: 0;\n}\n\n.emoji-picker-react .emoji button:hover {\n background-color: currentColor;\n}\n",""])},function(e,t,n){var r=n(43);"string"==typeof r&&(r=[[e.i,r,""]]),n(6)(r,{insert:"head",singleton:!1}),r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,".emoji-picker-react .emoji-group {\n clear: both;\n padding: 0 15px;\n list-style: none;\n margin: 0;\n display: flex;\n flex-flow: row wrap;\n justify-content: space-between;\n}\n\n.emoji-picker-react .emoji-group:before {\n content: attr(data-name);\n color: #aaa;\n font-size: 14px;\n position: sticky;\n background: rgba(255,255,255,0.95);\n width: 100%;\n z-index: 1;\n top: 0;\n text-transform: uppercase;\n line-height: 45px;\n font-weight: 700;\n}\n\n.emoji-picker-react .emoji-group:after {\n content: '';\n flex: 1000;\n order: 99999;\n flex-basis: 25px;\n}\n\n.emoji-picker-react .emoji-scroll-wrapper {\n overflow-y: scroll;\n position: relative;\n height: 100%;\n box-sizing: border-box;\n}\n",""])},function(e,t,n){var r=n(45);"string"==typeof r&&(r=[[e.i,r,""]]),n(6)(r,{insert:"head",singleton:!1}),r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,".emoji-picker-react input.emoji-search {\n width: calc(100% - 30px);\n margin-left: 15px;\n outline: none;\n box-shadow: none;\n padding: 10px;\n box-sizing: border-box;\n border: 1px solid #efefef;\n border-radius: 3px;\n transition: border .1s;\n}\n\n.emoji-picker-react input.emoji-search:focus {\n border: 1px solid #D6D6D6;\n}\n",""])},function(e,t,n){var r=n(47);"string"==typeof r&&(r=[[e.i,r,""]]),n(6)(r,{insert:"head",singleton:!1}),r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,"aside.emoji-picker-react {\n background: #fff;\n display: flex;\n flex-direction: column;\n height: 320px;\n width: 280px;\n font-family: sans-serif;\n border: 1px solid #efefef;\n border-radius: 5px;\n box-sizing: border-box;\n box-shadow: 0 5px 10px #efefef;\n overflow: hidden;\n position: relative;\n}\n\naside.emoji-picker-react .content-wrapper {\n flex: 1;\n overflow: hidden;\n position: relative;\n}\n\naside.emoji-picker-react .content-wrapper:before {\n content: attr(data-name);\n color: #aaa;\n font-size: 11px;\n display: block;\n position: absolute;\n right: 15px;\n z-index: 10;\n line-height: 45px;\n max-height: 45px;\n overflow: hidden;\n max-width: 100px;\n text-overflow: ellipsis;\n text-align: right;\n}\n\naside.emoji-picker-react button {\n border: none;\n cursor: pointer;\n outline: none;\n background: none;\n}\n",""])},function(e,t,n){"use strict";n.r(t);var r=n(3),i=n.n(r),o=n(12),s=n.n(o),a=n(0),f=n.n(a),c=n(2),u=n.n(c),l=n(1),d=n(13),h=n.n(d);function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function g(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(n,!0).forEach((function(t){i()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var m=Object(a.createContext)({}),_="ACTIVE_CATEGORY_SET",y="VARIATION_MENU_SET",b="SKIN_TONES_SPREAD",v="ACTIVE_SKIN_TONE_SET",A="GROUP_SEEN_SET",w="EMOJI_NOT_LOADED_SET",E="FILTER_SET",S=function(e,t){var n=t.type,r=h()(t,["type"]);switch(n){case y:return e.variationMenu===r.emoji?e:g({},e,{variationMenu:r.emoji});case b:return g({},e,{skinTonesSpread:!!r.spread});case v:return e.activeSkinTone===r.skinTone?e:g({},e,{activeSkinTone:r.skinTone});case A:return e.seenGroups&&e.seenGroups[r.group]?e:g({},e,{seenGroups:g({},e.seenGroups,i()({},r.group,!0))});case w:return g({},e,{failedToLoad:g({},e.failedToLoad,i()({},r.unified,!0))});case E:case _:return g({},e,{activeActegory:null},r);default:return e}},k=n(4),I=n.n(k),R=Function("return this")();function T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function O(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?T(n,!0).forEach((function(t){i()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):T(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var C="localStorage"in R,x=function(){if(!C)return[];var e=localStorage.getItem("epr_ru");return e?JSON.parse(e):[]},M=function(e){var t=e.unified,n=e.originalUnified;if(C){var r=t.slice(n.length+1,t.length),o=[O(i()({},l.EMOJI_PROPERTY_UNIFIED,n),r&&i()({},l.EMOJI_PROPERTY_SKIN_VARIATIONS,r))].concat(I()(x().filter((function(e){return e[l.EMOJI_PROPERTY_UNIFIED]!==t})))).splice(0,14);localStorage.setItem("epr_ru",JSON.stringify(o))}},P=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return Object.assign({unified:e,emoji:e.split("-").map((function(e){return parseInt(e,16)})).map((function(e){return String.fromCodePoint(e)})).join(""),originalUnified:t[l.EMOJI_PROPERTY_UNIFIED],names:t[l.EMOJI_PROPERTY_NAME],activeSkinTone:n},r)},D=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Function.prototype;return function(t,n,r,i){var o=P(n,r,i);return M(o),e(t,o)}},B=n(8),N=(n(23),function(){var e=Object(a.useContext)(m),t=e.state,n=t.skinTonesSpread,r=t.activeSkinTone,i=e.dispatch,o=function(){i({type:b,spread:!n})},s=function(e){var t=e.target.value;i({type:v,skinTone:t})};return f.a.createElement("ul",{className:"skin-tones-list"},B.map((function(e,t){var i=e===r;return f.a.createElement("li",{key:e,className:"t".concat(e),style:{transform:"translateX(-".concat(n?20*t:0,"px) scale(").concat(i?"1.5":1,")"),zIndex:i?2:1}},f.a.createElement("input",{type:"radio",onChange:s,name:"skin-tone",value:e,id:"tone_".concat(e)}),f.a.createElement("label",{htmlFor:"tone_".concat(e),"data-name":"tones",onClick:o}))})))}),j=n(9),U=n.n(j),L=function(e){var t=Object(a.useContext)(m).state.emojiUrl;return e?"".concat(t,"/").concat(e,".png"):t},q=(n(25),function(e){var t=e.unified,n=e.dispatch,r=e.shouldLoad,i=void 0===r||r;return f.a.createElement("img",U()({className:"emoji-img",onError:function(){return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Function.prototype;t({type:w,unified:e})}(t,n)}},i&&function(e){return{src:L(e)}}(t)))}),F=q;q.propTypes={unified:u.a.string,shouldLoad:u.a.bool,dispatch:u.a.func},n(27);var K=function(e){var t=e.closeVariations,n=Object(a.useContext)(m).state,r=n.variationMenu,i=n.activeSkinTone,o=n.onEmojiClick;return r?f.a.createElement("div",{className:"variations-wrapper"},f.a.createElement("ul",{className:"variation-list"},B.map((function(e){var n=r[l.EMOJI_PROPERTY_SKIN_VARIATIONS].find((function(t){return t.includes(e)}))||r[l.EMOJI_PROPERTY_UNIFIED];return f.a.createElement("li",{key:n},f.a.createElement("button",{onClick:function(e){return t(e),o(e,n,r,i)},onMouseDown:function(e){return e.stopPropagation()}},f.a.createElement(F,{unified:n})))})))):null},G=K;K.propTypes={closeVariations:u.a.func};var z=n(7),H=n.n(z),V=n(10),Q=(n(29),function(e){var t=e.emojiListRef,n=Object(a.useContext)(m),r=n.state,i=r.activeCategory,o=r.filter,s=n.dispatch,c=!1;return o&&o.length&&(c=!0),f.a.createElement("nav",{onClick:function(e){var n=e.target;if(!c){var r=n.getAttribute("data-name");if(t&&t.current&&r){s({type:_,activeCategory:r}),s({type:A,group:r});var i=t.current,o=i.querySelector("[".concat("data-name",'="').concat(r,'"]'));i.scrollTop=o.offsetTop}}},className:H()("emoji-categories",{inactive:c})},V.map((function(e){return f.a.createElement("button",{key:e,className:H()("icn-".concat(e.replace(" & ","_")),{active:i===e}),"data-name":e})})))}),W=Q;Q.propTypes={emojiListRef:u.a.shape({current:u.a.instanceOf(Element)})};var Y,X,J=n(11),Z=function(e){var t={groups:{},emojis:{}},n=function(n){e[n].reduce((function(e,t){var r=t[l.EMOJI_PROPERTY_UNIFIED];return t[l.EMOJI_PROPERTY_GROUP]=n,e.emojis[r]=t,e.groups[n]=e.groups[n]||[],e.groups[n].push(r),e}),t)};for(var r in e)n(r);return t}(J),$=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0,n=".content-wrapper",r=t&&t.current?t.current.closest("".concat(n)):document.querySelector(".emoji-picker-react ".concat(n));r.setAttribute("data-name",e)},ee=u.a.shape((X={},i()(X,l.EMOJI_PROPERTY_NAME,u.a.arrayOf(u.a.string)),i()(X,l.EMOJI_PROPERTY_UNIFIED,u.a.string),i()(X,l.EMOJI_PROPERTY_SKIN_VARIATIONS,u.a.arrayOf(u.a.string)),i()(X,l.EMOJI_PROPERTY_GROUP,u.a.string),X));function te(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}n(40);var ne=["#aeeff0","#ffe0e0","#d6f8b8","#c6cfff","#f1f0d1"],re=null,ie=function(){return clearTimeout(re)},oe=function(e){var t,n,r=e.emoji,o=e.shouldLoad,s=e.hidden,a=e.activeSkinTone,c=e.openVariationMenu,u=e.variationMenuOpen,d=e.handleMouseEnter,h=e.handleMouseLeave,p=e.onEmojiClick,g=e.index,m=e.dispatch,_=r[l.EMOJI_PROPERTY_SKIN_VARIATIONS],y=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?te(n,!0).forEach((function(t){i()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):te(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},s&&{display:"none"},{color:(n=g,ne[n%ne.length])});return _&&r[l.EMOJI_PROPERTY_SKIN_VARIATIONS]&&(t=r[l.EMOJI_PROPERTY_SKIN_VARIATIONS].find((function(e){return e.indexOf(a)>=0}))),t||(t=r[l.EMOJI_PROPERTY_UNIFIED]),f.a.createElement("li",{style:y,className:H()("emoji",{"has-skin-variation":_&&c})},f.a.createElement("button",{onMouseDown:function(){_&&c&&(re=setTimeout((function(){c(r)}),500))},onMouseEnter:d,onMouseLeave:h,onMouseUp:ie,onClick:function(e){u||p(e,t,r,a)}},f.a.createElement(F,{unified:t,shouldLoad:o,dispatch:m})))},se=oe;oe.propTypes={emoji:ee,shouldLoad:u.a.bool,hidden:u.a.bool,activeSkinTone:u.a.string,openVariationMenu:u.a.func,variationMenuOpen:u.a.bool,handleMouseEnter:u.a.func,handleMouseLeave:u.a.func,onEmojiClick:u.a.func,index:u.a.number,dispatch:u.a.func};var ae=function(e){var t=e.unsetEmojiName,n=e.emojiListRef,r=Object(a.useContext)(m),i=r.state,o=i.recentlyUsed,s=i.onEmojiClick,c=i.filterResult,u=i.failedToLoad,d=void 0===u?{}:u,h=r.dispatch;return!o.length||c?null:f.a.createElement("ul",{className:"emoji-group","data-name":l.GROUP_NAME_RECENTLY_USED},o.map((function(e,r){var i=e[l.EMOJI_PROPERTY_UNIFIED],o=Z.emojis[i];return d[i]||!o?null:f.a.createElement(se,U()({key:r,emoji:o},e[l.EMOJI_PROPERTY_SKIN_VARIATIONS]&&{activeSkinTone:e[l.EMOJI_PROPERTY_SKIN_VARIATIONS]},{index:r,handleMouseLeave:t,onEmojiClick:s,handleMouseEnter:function(){return $(o[l.EMOJI_PROPERTY_NAME][0],n)},dispatch:h,shouldLoad:!0}))})))},fe=ae;function ce(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}ae.propTypes={unsetEmojiName:u.a.func,emojiListRef:u.a.shape({current:u.a.instanceOf(Element)})},n(42);var ue=function(e){var t=e.emojiListRef,n=Object(a.useContext)(m).state.filterResult;(function(e){var t=Object(a.useContext)(m),n=t.state,r=n.filterResult,i=n.activeCategory,o=t.dispatch;Object(a.useEffect)((function(){void 0!==R.IntersectionObserver&&!Y&&e.current&&(Y=new IntersectionObserver((function(e){e.forEach((function(e){var t=e.target,n=t.getAttribute("data-name");if(0===e.intersectionRatio){if(n===i)o({type:_,activeCategory:null});else if(n===l.GROUP_NAME_RECENTLY_USED){var r=t.nextSibling;if(r){var s=r.getAttribute("data-name");o({type:_,activeCategory:s})}}}else i||(o({type:A,group:n}),o({type:_,activeCategory:n}))}))}),{root:e.current.parentElement})),Y.disconnect(),e&&e.current&&I()(e.current.querySelectorAll(".emoji-group")).forEach((function(e){Y.observe(e)}))}),[e.current,r])})(t),function(e,t){var n=Object(a.useRef)();Object(a.useEffect)((function(){t&&t.current&&(t.current.scrollTop=0),n.current=e}),[e]),n.current}(n,t);var r=function(){return $("",t)};return f.a.createElement("section",{className:"emoji-scroll-wrapper",ref:t},f.a.createElement(fe,{unsetEmojiName:r,emojiListRef:t}),V.map((function(e){var n=function(e,t){var n=t.unsetEmojiName,r=t.emojiListRef,i=Object(a.useContext)(m),o=i.state,s=o.activeSkinTone,c=o.filterResult,u=o.seenGroups,d=void 0===u?{}:u,h=o.onEmojiClick,p=o.variationMenu,g=o.failedToLoad,_=void 0===g?null:g,b=o.preload,v=i.dispatch,A=b||!(!d[e]&&!c&&"function"==typeof R.IntersectionObserver),w=!!p,E=function(e){return v({type:y,emoji:e})};return Object(a.useMemo)((function(){var t=c?Object.keys(c[e]||{}):Z.groups[e];return t.reduce((function(e,i,o){if(_&&_[i])return e;var a=Z.emojis[i],c=!t.length;return e.shown||c||(e.shown=!0),e.list.push(f.a.createElement(se,{emoji:a,dispatch:v,openVariationMenu:E,activeSkinTone:s,handleMouseLeave:n,variationMenuOpen:w,handleMouseEnter:function(){return $(a[l.EMOJI_PROPERTY_NAME][0],r)},hidden:c,shouldLoad:A,onEmojiClick:h,index:o,key:a[l.EMOJI_PROPERTY_UNIFIED]})),e}),{list:[],shown:!1})}),[s,c,e,A,w,_])}(e,{unsetEmojiName:r,emojiListRef:t}),o=n.list,s=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ce(n,!0).forEach((function(t){i()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ce(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},!n.shown&&{display:"none"});return f.a.createElement("ul",{className:"emoji-group","data-name":e,key:e,style:s},o)})))},le=ue;ue.propTypes={emojiListRef:u.a.shape({current:u.a.instanceOf(Element)})};var de,he,pe=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:100,i=n;return new Promise((function(n){var o=0;!function s(){for(var a=o;a<o+r&&a<e.length;a++)i=t(i,e[a],a,e);if(!((o+=r)<e.length))return n(i);setTimeout((function(){s()}))}()}))},ge=Array.prototype.concat.apply([],Object.values(J));pe(ge,(function(e,t){return t?t[l.EMOJI_PROPERTY_NAME].reduce((function(e,t){return[].concat(I()(e),I()((t||"").split(/[- _]/))).filter(Boolean)}),[]).reduce((function(e,n){var r=n.toLowerCase();return e[r]=e[r]||[],e[r].push(t[l.EMOJI_PROPERTY_UNIFIED]),e}),e):e}),{}).then((function(e){return pe(Object.keys(e),(function(e,t){return t?(t.split("").filter(Boolean)||[]).reduce((function(e,n){return e[n]=e[n]||[],e[n].includes(t)||e[n].push(t),e}),e):e}),{}).then((function(t){return{searchTerms:e,mappedSearchTerms:t}}))})).then((function(e){de=e.searchTerms,he=e.mappedSearchTerms})),window.es=Z;var me=function(){var e=Object(a.useContext)(m),t=e.state.filter,n=void 0===t?[]:t,r=e.dispatch;return function(e){var t,i=e.target.value,o=n[n.length-1];if(1===i.length)t=[{value:i,terms:he[i]}];else if(o&&i.length>o.value.length&&i.includes(o.value))t=[].concat(I()(n),[{value:i,terms:o.terms.filter((function(e){return e.includes(i)}))}]);else if(o&&i.length<o.value.length&&o.value.includes(i)){for(var s=0,a=n.length;a>0;a--)if(i.includes(n[a-1].value)){s=a;break}n.length=s,t=I()(n)}else 0!==n.length&&i.includes(o.value)||(t=[{value:i,terms:he[i[0]].filter((function(e){return e.includes(i)}))}]);var f=t[t.length-1];f&&f.value?pe(f&&f.terms||[],(function(e,t){return de[t]?(de[t]||[]).reduce((function(e,t){var n=Z.emojis[t][l.EMOJI_PROPERTY_GROUP];return e[n]=e[n]||{},e[n][t]=!0,e}),e):e}),{}).then((function(e){r({type:E,filter:t,filterResult:e})})):r({type:E,filter:t,filterResult:null})}},_e=(n(44),function(){return f.a.createElement("input",{className:"emoji-search",onChange:me(),autoFocus:!0})});n(46),n.d(t,"SKIN_TONE_NEUTRAL",(function(){return"neutral"})),n.d(t,"SKIN_TONE_LIGHT",(function(){return"1f3fb"})),n.d(t,"SKIN_TONE_MEDIUM_LIGHT",(function(){return"1f3fc"})),n.d(t,"SKIN_TONE_MEDIUM",(function(){return"1f3fe"})),n.d(t,"SKIN_TONE_MEDIUM_DARK",(function(){return"1f3ff"})),n.d(t,"SKIN_TONE_DARK",(function(){return"1f3fd"}));var ye=function(e){var t=e.emojiUrl,n=void 0===t?"https://cdn.jsdelivr.net/gh/iamcal/emoji-data@master/img-apple-160":t,r=e.onEmojiClick,o=e.preload,c=void 0!==o&&o,u=e.skinTone,d=void 0===u?"neutral":u,h=Object(a.useRef)(null),p=Object(a.useReducer)(S,{activeSkinTone:d,emojiUrl:n,onEmojiClick:D(r),seenGroups:i()({},l.GROUP_NAME_PEOPLE,!0),recentlyUsed:x(),preload:c}),g=s()(p,2),_=g[0],v=g[1],A=function(e){var t=e.target;_.variationMenu&&v({type:y}),_.skinTonesSpread&&"tones"!==t.getAttribute("data-name")&&v({type:b})};return f.a.createElement(m.Provider,{value:{state:_,dispatch:v}},f.a.createElement("aside",{className:"emoji-picker-react",onScroll:A,onMouseDown:A},f.a.createElement(W,{emojiListRef:h}),f.a.createElement("div",{style:{position:"relative"}},f.a.createElement(_e,null),f.a.createElement(N,null)),f.a.createElement("div",{className:"content-wrapper","data-name":_.emojiName},f.a.createElement(G,{closeVariations:A}),f.a.createElement(le,{emojiListRef:h}))))};t.default=ye,ye.propTypes={emojiUrl:u.a.string,onEmojiClick:u.a.func,preload:u.a.bool,skinTone:u.a.string}}]))}).call(this,n(6))},function(e,t,n){"use strict";var r=n(51),i=n.n(r),o=n(52),s=n.n(o),a=n(53),f=n.n(a),c=n(54),u=n.n(c),l=n(5),d=n.n(l),h=n(55),p=n.n(h),g=n(1),m=n.n(g),_=n(0),y=n.n(_),b=(n(9),n(323)),v=n(154),A=n.n(v),w=n(25);function E(e,t,n){return e===t||(e.correspondingElement?e.correspondingElement.classList.contains(n):e.classList.contains(n))}var S,k,I=(void 0===S&&(S=0),function(){return++S}),R={},T={},O=["touchstart","touchmove"];function C(e,t){var n=null;return-1!==O.indexOf(t)&&k&&(n={passive:!e.props.preventDefault}),n}var x=function(e,t){var n,r,i=e.displayName||e.name||"Component";return r=n=function(n){var r,o;function s(e){var r;return(r=n.call(this,e)||this).__outsideClickHandler=function(e){if("function"!=typeof r.__clickOutsideHandlerProp){var t=r.getInstance();if("function"!=typeof t.props.handleClickOutside){if("function"!=typeof t.handleClickOutside)throw new Error("WrappedComponent: "+i+" lacks a handleClickOutside(event) function for processing outside click events.");t.handleClickOutside(e)}else t.props.handleClickOutside(e)}else r.__clickOutsideHandlerProp(e)},r.__getComponentNode=function(){var e=r.getInstance();return t&&"function"==typeof t.setClickOutsideRef?t.setClickOutsideRef()(e):"function"==typeof e.setClickOutsideRef?e.setClickOutsideRef():Object(w.findDOMNode)(e)},r.enableOnClickOutside=function(){if("undefined"!=typeof document&&!T[r._uid]){void 0===k&&(k=function(){if("undefined"!=typeof window&&"function"==typeof window.addEventListener){var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}}),n=function(){};return window.addEventListener("testPassiveEventSupport",n,t),window.removeEventListener("testPassiveEventSupport",n,t),e}}()),T[r._uid]=!0;var e=r.props.eventTypes;e.forEach||(e=[e]),R[r._uid]=function(e){var t;null!==r.componentNode&&(r.props.preventDefault&&e.preventDefault(),r.props.stopPropagation&&e.stopPropagation(),r.props.excludeScrollbar&&(t=e,document.documentElement.clientWidth<=t.clientX||document.documentElement.clientHeight<=t.clientY)||function(e,t,n){if(e===t)return!0;for(;e.parentNode;){if(E(e,t,n))return!0;e=e.parentNode}return e}(e.target,r.componentNode,r.props.outsideClickIgnoreClass)===document&&r.__outsideClickHandler(e))},e.forEach((function(e){document.addEventListener(e,R[r._uid],C(r,e))}))}},r.disableOnClickOutside=function(){delete T[r._uid];var e=R[r._uid];if(e&&"undefined"!=typeof document){var t=r.props.eventTypes;t.forEach||(t=[t]),t.forEach((function(t){return document.removeEventListener(t,e,C(r,t))})),delete R[r._uid]}},r.getRef=function(e){return r.instanceRef=e},r._uid=I(),r}o=n,(r=s).prototype=Object.create(o.prototype),r.prototype.constructor=r,r.__proto__=o;var a=s.prototype;return a.getInstance=function(){if(!e.prototype.isReactComponent)return this;var t=this.instanceRef;return t.getInstance?t.getInstance():t},a.componentDidMount=function(){if("undefined"!=typeof document&&document.createElement){var e=this.getInstance();if(t&&"function"==typeof t.handleClickOutside&&(this.__clickOutsideHandlerProp=t.handleClickOutside(e),"function"!=typeof this.__clickOutsideHandlerProp))throw new Error("WrappedComponent: "+i+" lacks a function for processing outside click events specified by the handleClickOutside config option.");this.componentNode=this.__getComponentNode(),this.props.disableOnClickOutside||this.enableOnClickOutside()}},a.componentDidUpdate=function(){this.componentNode=this.__getComponentNode()},a.componentWillUnmount=function(){this.disableOnClickOutside()},a.render=function(){var t=this.props,n=(t.excludeScrollbar,function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(t,["excludeScrollbar"]));return e.prototype.isReactComponent?n.ref=this.getRef:n.wrappedRef=this.getRef,n.disableOnClickOutside=this.disableOnClickOutside,n.enableOnClickOutside=this.enableOnClickOutside,Object(_.createElement)(e,n)},s}(_.Component),n.displayName="OnClickOutside("+i+")",n.defaultProps={eventTypes:["mousedown","touchstart"],excludeScrollbar:t&&t.excludeScrollbar||!1,outsideClickIgnoreClass:"ignore-react-onclickoutside",preventDefault:!1,stopPropagation:!1},n.getClass=function(){return e.getClass?e.getClass():e},r},M=function(){return y.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24",viewBox:"0 0 24 24",width:"24"},y.a.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),y.a.createElement("path",{id:"icon",fill:"#828282",d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm3.5-9c.83 0 1.5-.67 1.5-1.5S16.33 8 15.5 8 14 8.67 14 9.5s.67 1.5 1.5 1.5zm-7 0c.83 0 1.5-.67 1.5-1.5S9.33 8 8.5 8 7 8.67 7 9.5 7.67 11 8.5 11zm3.5 6.5c2.33 0 4.31-1.46 5.11-3.5H6.89c.8 2.04 2.78 3.5 5.11 3.5z"}))},P=function(e){function t(e){var n;return i()(this,t),n=f()(this,u()(t).call(this,e)),m()(d()(n),"handleClickOutside",(function(e){n.props.closeEmojiSelector()})),n}return p()(t,e),s()(t,[{key:"render",value:function(){var e=this.props,t=e.onEmojiClick,n=e.emojiSelectorOpen,r=e.toggleEmojiSelector;return(y.a.createElement("div",{className:"emoji-button-container"},y.a.createElement("div",{className:"pos-relative"},y.a.createElement(b.a,{in:n,timeout:250},(function(e){return y.a.createElement("div",{className:"emoji-picker emoji-picker-".concat(e),"aria-hidden":!n},y.a.createElement(A.a,{onEmojiClick:t,emojiUrl:"https://cdn.jsdelivr.net/gh/iamcal/emoji-data@master/img-apple-64"}))})),y.a.createElement("button",{type:"button",id:"emoji-button",onClick:r,"aria-label":"Emoji picker"},y.a.createElement(M,null)))))}}]),t}(y.a.Component);t.a=x(P)},function(e,t,n){"use strict";n.r(t);var r=n(147);t.default=r.a},,function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var n=[],r=!0,i=!1,o=void 0;try{for(var s,a=e[Symbol.iterator]();!(r=(s=a.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==a.return||a.return()}finally{if(i)throw o}}return n}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,t){e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}},function(e,t){e.exports=function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},function(e,t){function n(t,r){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(t,r)}e.exports=n},function(e,t,n){"use strict";var r=n(166);function i(){}function o(){}o.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,o,s){if(s!==r){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){"use strict";(function(t,r,i){e.exports=function(e,t,n,a){n instanceof Function&&(a=n,n=null);n||(n={});o.realpath(e,(function(c,l){!function(e,t,n,a){var c=u(e);return n.mode&&n.chown?l():o.stat(e,(function(e,t){return e||!t?l():((n=f({},n)).mode||(n.mode=t.mode),!n.chown&&r.getuid&&(n.chown={uid:t.uid,gid:t.gid}),l())}));function l(){s([[d,c,t,n.mode,n.encoding||"utf8"],n.chown&&[o,o.chown,c,n.chown.uid,n.chown.gid],n.mode&&[o,o.chmod,c,n.mode],[o,o.rename,c,e]],(function(e){e?o.unlink(c,(function(){a(e)})):a()}))}function d(e,t,r,s,a){o.open(e,"w",n.mode,(function(e,n){return e?a(e):i.isBuffer(t)?o.write(n,t,0,t.length,0,r):null!=t?o.write(n,String(t),0,String(s),r):r();function r(e){if(e)return a(e);o.fsync(n,(function(e){if(e)return a(e);o.close(n,a)}))}}))}}(l||e,t,n,a)}))},e.exports.sync=function(e,t,n){n||(n={});try{e=o.realpathSync(e)}catch(e){}var s=u(e);try{if(!n.mode||!n.chown)try{var a=o.statSync(e);(n=f({},n)).mode||(n.mode=a.mode),!n.chown&&r.getuid&&(n.chown={uid:a.uid,gid:a.gid})}catch(e){}var c=o.openSync(s,"w",n.mode);i.isBuffer(t)?o.writeSync(c,t,0,t.length,0):null!=t&&o.writeSync(c,String(t),0,String(n.encoding||"utf8")),o.fsyncSync(c),o.closeSync(c),n.chown&&o.chownSync(s,n.chown.uid,n.chown.gid),n.mode&&o.chmodSync(s,n.mode),o.renameSync(s,e)}catch(e){try{o.unlinkSync(s)}catch(e){}throw e}},e.exports._getTmpname=u;var o=n(172),s=n(190).chain,a=n(193),f=Object.assign||n(37)._extend,c=0;function u(e){return e+"."+a(t).hash(String(r.pid)).hash(String(++c)).result()}}).call(this,"/index.js",n(13),n(11).Buffer)},function(e,t,n){"use strict";t.byteLength=function(e){var t=c(e),n=t[0],r=t[1];return 3*(n+r)/4-r},t.toByteArray=function(e){var t,n,r=c(e),s=r[0],a=r[1],f=new o(function(e,t,n){return 3*(t+n)/4-n}(0,s,a)),u=0,l=a>0?s-4:s;for(n=0;n<l;n+=4)t=i[e.charCodeAt(n)]<<18|i[e.charCodeAt(n+1)]<<12|i[e.charCodeAt(n+2)]<<6|i[e.charCodeAt(n+3)],f[u++]=t>>16&255,f[u++]=t>>8&255,f[u++]=255&t;2===a&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,f[u++]=255&t);1===a&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,f[u++]=t>>8&255,f[u++]=255&t);return f},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,o=[],s=0,a=n-i;s<a;s+=16383)o.push(u(e,s,s+16383>a?a:s+16383));1===i?(t=e[n-1],o.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],o.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return o.join("")};for(var r=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,f=s.length;a<f;++a)r[a]=s[a],i[s.charCodeAt(a)]=a;function c(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function u(e,t,n){for(var i,o,s=[],a=t;a<n;a+=3)i=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(255&e[a+2]),s.push(r[(o=i)>>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,n,r,i){var o,s,a=8*i-r-1,f=(1<<a)-1,c=f>>1,u=-7,l=n?i-1:0,d=n?-1:1,h=e[t+l];for(l+=d,o=h&(1<<-u)-1,h>>=-u,u+=a;u>0;o=256*o+e[t+l],l+=d,u-=8);for(s=o&(1<<-u)-1,o>>=-u,u+=r;u>0;s=256*s+e[t+l],l+=d,u-=8);if(0===o)o=1-c;else{if(o===f)return s?NaN:1/0*(h?-1:1);s+=Math.pow(2,r),o-=c}return(h?-1:1)*s*Math.pow(2,o-r)},t.write=function(e,t,n,r,i,o){var s,a,f,c=8*o-i-1,u=(1<<c)-1,l=u>>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:o-1,p=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=u):(s=Math.floor(Math.log(t)/Math.LN2),t*(f=Math.pow(2,-s))<1&&(s--,f*=2),(t+=s+l>=1?d/f:d*Math.pow(2,1-l))*f>=2&&(s++,f/=2),s+l>=u?(a=0,s=u):s+l>=1?(a=(t*f-1)*Math.pow(2,i),s+=l):(a=t*Math.pow(2,l-1)*Math.pow(2,i),s=0));i>=8;e[n+h]=255&a,h+=p,a/=256,i-=8);for(s=s<<i|a,c+=i;c>0;e[n+h]=255&s,h+=p,s/=256,c-=8);e[n+h-p]|=128*g}},function(e,t,n){(function(t,r){var i,o,s=n(38),a=n(173),f=n(175),c=n(187),u=n(37);"function"==typeof Symbol&&"function"==typeof Symbol.for?(i=Symbol.for("graceful-fs.queue"),o=Symbol.for("graceful-fs.previous")):(i="___graceful-fs.queue",o="___graceful-fs.previous");var l=function(){};if(u.debuglog?l=u.debuglog("gfs4"):/\bgfs4\b/i.test(t.env.NODE_DEBUG||"")&&(l=function(){var e=u.format.apply(u,arguments);e="GFS4: "+e.split(/\n/).join("\nGFS4: "),console.error(e)}),!r[i]){var d=[];Object.defineProperty(r,i,{get:function(){return d}}),s.close=function(e){function t(t,n){return e.call(s,t,(function(e){e||g(),"function"==typeof n&&n.apply(this,arguments)}))}return Object.defineProperty(t,o,{value:e}),t}(s.close),s.closeSync=function(e){function t(t){e.apply(s,arguments),g()}return Object.defineProperty(t,o,{value:e}),t}(s.closeSync),/\bgfs4\b/i.test(t.env.NODE_DEBUG||"")&&t.on("exit",(function(){l(r[i]),n(188).equal(r[i].length,0)}))}function h(e){a(e),e.gracefulify=h,e.createReadStream=function(t,n){return new e.ReadStream(t,n)},e.createWriteStream=function(t,n){return new e.WriteStream(t,n)};var n=e.readFile;e.readFile=function(e,t,r){"function"==typeof t&&(r=t,t=null);return function e(t,r,i){return n(t,r,(function(n){!n||"EMFILE"!==n.code&&"ENFILE"!==n.code?("function"==typeof i&&i.apply(this,arguments),g()):p([e,[t,r,i]])}))}(e,t,r)};var r=e.writeFile;e.writeFile=function(e,t,n,i){"function"==typeof n&&(i=n,n=null);return function e(t,n,i,o){return r(t,n,i,(function(r){!r||"EMFILE"!==r.code&&"ENFILE"!==r.code?("function"==typeof o&&o.apply(this,arguments),g()):p([e,[t,n,i,o]])}))}(e,t,n,i)};var i=e.appendFile;i&&(e.appendFile=function(e,t,n,r){"function"==typeof n&&(r=n,n=null);return function e(t,n,r,o){return i(t,n,r,(function(i){!i||"EMFILE"!==i.code&&"ENFILE"!==i.code?("function"==typeof o&&o.apply(this,arguments),g()):p([e,[t,n,r,o]])}))}(e,t,n,r)});var o=e.readdir;function s(t){return o.apply(e,t)}if(e.readdir=function(e,t,n){var r=[e];"function"!=typeof t?r.push(t):n=t;return r.push((function(e,t){t&&t.sort&&t.sort();!e||"EMFILE"!==e.code&&"ENFILE"!==e.code?("function"==typeof n&&n.apply(this,arguments),g()):p([s,[r]])})),s(r)},"v0.8"===t.version.substr(0,4)){var c=f(e);_=c.ReadStream,y=c.WriteStream}var u=e.ReadStream;u&&(_.prototype=Object.create(u.prototype),_.prototype.open=function(){var e=this;v(e.path,e.flags,e.mode,(function(t,n){t?(e.autoClose&&e.destroy(),e.emit("error",t)):(e.fd=n,e.emit("open",n),e.read())}))});var l=e.WriteStream;l&&(y.prototype=Object.create(l.prototype),y.prototype.open=function(){var e=this;v(e.path,e.flags,e.mode,(function(t,n){t?(e.destroy(),e.emit("error",t)):(e.fd=n,e.emit("open",n))}))}),Object.defineProperty(e,"ReadStream",{get:function(){return _},set:function(e){_=e},enumerable:!0,configurable:!0}),Object.defineProperty(e,"WriteStream",{get:function(){return y},set:function(e){y=e},enumerable:!0,configurable:!0});var d=_;Object.defineProperty(e,"FileReadStream",{get:function(){return d},set:function(e){d=e},enumerable:!0,configurable:!0});var m=y;function _(e,t){return this instanceof _?(u.apply(this,arguments),this):_.apply(Object.create(_.prototype),arguments)}function y(e,t){return this instanceof y?(l.apply(this,arguments),this):y.apply(Object.create(y.prototype),arguments)}Object.defineProperty(e,"FileWriteStream",{get:function(){return m},set:function(e){m=e},enumerable:!0,configurable:!0});var b=e.open;function v(e,t,n,r){return"function"==typeof n&&(r=n,n=null),function e(t,n,r,i){return b(t,n,r,(function(o,s){!o||"EMFILE"!==o.code&&"ENFILE"!==o.code?("function"==typeof i&&i.apply(this,arguments),g()):p([e,[t,n,r,i]])}))}(e,t,n,r)}return e.open=v,e}function p(e){l("ENQUEUE",e[0].name,e[1]),r[i].push(e)}function g(){var e=r[i].shift();e&&(l("RETRY",e[0].name,e[1]),e[0].apply(null,e[1]))}e.exports=h(c(s)),t.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!s.__patched&&(e.exports=h(s),s.__patched=!0)}).call(this,n(13),n(6))},function(e,t,n){(function(t){var r=n(174),i=t.cwd,o=null,s=t.env.GRACEFUL_FS_PLATFORM||t.platform;t.cwd=function(){return o||(o=i.call(t)),o};try{t.cwd()}catch(e){}var a=t.chdir;t.chdir=function(e){o=null,a.call(t,e)},e.exports=function(e){r.hasOwnProperty("O_SYMLINK")&&t.version.match(/^v0\.6\.[0-2]|^v0\.5\./)&&function(e){e.lchmod=function(t,n,i){e.open(t,r.O_WRONLY|r.O_SYMLINK,n,(function(t,r){t?i&&i(t):e.fchmod(r,n,(function(t){e.close(r,(function(e){i&&i(t||e)}))}))}))},e.lchmodSync=function(t,n){var i,o=e.openSync(t,r.O_WRONLY|r.O_SYMLINK,n),s=!0;try{i=e.fchmodSync(o,n),s=!1}finally{if(s)try{e.closeSync(o)}catch(e){}else e.closeSync(o)}return i}}(e);e.lutimes||function(e){r.hasOwnProperty("O_SYMLINK")?(e.lutimes=function(t,n,i,o){e.open(t,r.O_SYMLINK,(function(t,r){t?o&&o(t):e.futimes(r,n,i,(function(t){e.close(r,(function(e){o&&o(t||e)}))}))}))},e.lutimesSync=function(t,n,i){var o,s=e.openSync(t,r.O_SYMLINK),a=!0;try{o=e.futimesSync(s,n,i),a=!1}finally{if(a)try{e.closeSync(s)}catch(e){}else e.closeSync(s)}return o}):(e.lutimes=function(e,n,r,i){i&&t.nextTick(i)},e.lutimesSync=function(){})}(e);e.chown=a(e.chown),e.fchown=a(e.fchown),e.lchown=a(e.lchown),e.chmod=i(e.chmod),e.fchmod=i(e.fchmod),e.lchmod=i(e.lchmod),e.chownSync=f(e.chownSync),e.fchownSync=f(e.fchownSync),e.lchownSync=f(e.lchownSync),e.chmodSync=o(e.chmodSync),e.fchmodSync=o(e.fchmodSync),e.lchmodSync=o(e.lchmodSync),e.stat=c(e.stat),e.fstat=c(e.fstat),e.lstat=c(e.lstat),e.statSync=u(e.statSync),e.fstatSync=u(e.fstatSync),e.lstatSync=u(e.lstatSync),e.lchmod||(e.lchmod=function(e,n,r){r&&t.nextTick(r)},e.lchmodSync=function(){});e.lchown||(e.lchown=function(e,n,r,i){i&&t.nextTick(i)},e.lchownSync=function(){});"win32"===s&&(e.rename=(n=e.rename,function(t,r,i){var o=Date.now(),s=0;n(t,r,(function a(f){if(f&&("EACCES"===f.code||"EPERM"===f.code)&&Date.now()-o<6e4)return setTimeout((function(){e.stat(r,(function(e,o){e&&"ENOENT"===e.code?n(t,r,a):i(f)}))}),s),void(s<100&&(s+=10));i&&i(f)}))}));var n;function i(t){return t?function(n,r,i){return t.call(e,n,r,(function(e){l(e)&&(e=null),i&&i.apply(this,arguments)}))}:t}function o(t){return t?function(n,r){try{return t.call(e,n,r)}catch(e){if(!l(e))throw e}}:t}function a(t){return t?function(n,r,i,o){return t.call(e,n,r,i,(function(e){l(e)&&(e=null),o&&o.apply(this,arguments)}))}:t}function f(t){return t?function(n,r,i){try{return t.call(e,n,r,i)}catch(e){if(!l(e))throw e}}:t}function c(t){return t?function(n,r,i){function o(e,t){t&&(t.uid<0&&(t.uid+=4294967296),t.gid<0&&(t.gid+=4294967296)),i&&i.apply(this,arguments)}return"function"==typeof r&&(i=r,r=null),r?t.call(e,n,r,o):t.call(e,n,o)}:t}function u(t){return t?function(n,r){var i=r?t.call(e,n,r):t.call(e,n);return i.uid<0&&(i.uid+=4294967296),i.gid<0&&(i.gid+=4294967296),i}:t}function l(e){return!e||("ENOSYS"===e.code||!(t.getuid&&0===t.getuid()||"EINVAL"!==e.code&&"EPERM"!==e.code))}e.read=function(t){function n(n,r,i,o,s,a){var f;if(a&&"function"==typeof a){var c=0;f=function(u,l,d){if(u&&"EAGAIN"===u.code&&c<10)return c++,t.call(e,n,r,i,o,s,f);a.apply(this,arguments)}}return t.call(e,n,r,i,o,s,f)}return n.__proto__=t,n}(e.read),e.readSync=(d=e.readSync,function(t,n,r,i,o){for(var s=0;;)try{return d.call(e,t,n,r,i,o)}catch(e){if("EAGAIN"===e.code&&s<10){s++;continue}throw e}});var d}}).call(this,n(13))},function(e){e.exports=JSON.parse('{"O_RDONLY":0,"O_WRONLY":1,"O_RDWR":2,"S_IFMT":61440,"S_IFREG":32768,"S_IFDIR":16384,"S_IFCHR":8192,"S_IFBLK":24576,"S_IFIFO":4096,"S_IFLNK":40960,"S_IFSOCK":49152,"O_CREAT":512,"O_EXCL":2048,"O_NOCTTY":131072,"O_TRUNC":1024,"O_APPEND":8,"O_DIRECTORY":1048576,"O_NOFOLLOW":256,"O_SYNC":128,"O_SYMLINK":2097152,"O_NONBLOCK":4,"S_IRWXU":448,"S_IRUSR":256,"S_IWUSR":128,"S_IXUSR":64,"S_IRWXG":56,"S_IRGRP":32,"S_IWGRP":16,"S_IXGRP":8,"S_IRWXO":7,"S_IROTH":4,"S_IWOTH":2,"S_IXOTH":1,"E2BIG":7,"EACCES":13,"EADDRINUSE":48,"EADDRNOTAVAIL":49,"EAFNOSUPPORT":47,"EAGAIN":35,"EALREADY":37,"EBADF":9,"EBADMSG":94,"EBUSY":16,"ECANCELED":89,"ECHILD":10,"ECONNABORTED":53,"ECONNREFUSED":61,"ECONNRESET":54,"EDEADLK":11,"EDESTADDRREQ":39,"EDOM":33,"EDQUOT":69,"EEXIST":17,"EFAULT":14,"EFBIG":27,"EHOSTUNREACH":65,"EIDRM":90,"EILSEQ":92,"EINPROGRESS":36,"EINTR":4,"EINVAL":22,"EIO":5,"EISCONN":56,"EISDIR":21,"ELOOP":62,"EMFILE":24,"EMLINK":31,"EMSGSIZE":40,"EMULTIHOP":95,"ENAMETOOLONG":63,"ENETDOWN":50,"ENETRESET":52,"ENETUNREACH":51,"ENFILE":23,"ENOBUFS":55,"ENODATA":96,"ENODEV":19,"ENOENT":2,"ENOEXEC":8,"ENOLCK":77,"ENOLINK":97,"ENOMEM":12,"ENOMSG":91,"ENOPROTOOPT":42,"ENOSPC":28,"ENOSR":98,"ENOSTR":99,"ENOSYS":78,"ENOTCONN":57,"ENOTDIR":20,"ENOTEMPTY":66,"ENOTSOCK":38,"ENOTSUP":45,"ENOTTY":25,"ENXIO":6,"EOPNOTSUPP":102,"EOVERFLOW":84,"EPERM":1,"EPIPE":32,"EPROTO":100,"EPROTONOSUPPORT":43,"EPROTOTYPE":41,"ERANGE":34,"EROFS":30,"ESPIPE":29,"ESRCH":3,"ESTALE":70,"ETIME":101,"ETIMEDOUT":60,"ETXTBSY":26,"EWOULDBLOCK":35,"EXDEV":18,"SIGHUP":1,"SIGINT":2,"SIGQUIT":3,"SIGILL":4,"SIGTRAP":5,"SIGABRT":6,"SIGIOT":6,"SIGBUS":10,"SIGFPE":8,"SIGKILL":9,"SIGUSR1":30,"SIGSEGV":11,"SIGUSR2":31,"SIGPIPE":13,"SIGALRM":14,"SIGTERM":15,"SIGCHLD":20,"SIGCONT":19,"SIGSTOP":17,"SIGTSTP":18,"SIGTTIN":21,"SIGTTOU":22,"SIGURG":16,"SIGXCPU":24,"SIGXFSZ":25,"SIGVTALRM":26,"SIGPROF":27,"SIGWINCH":28,"SIGIO":23,"SIGSYS":12,"SSL_OP_ALL":2147486719,"SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION":262144,"SSL_OP_CIPHER_SERVER_PREFERENCE":4194304,"SSL_OP_CISCO_ANYCONNECT":32768,"SSL_OP_COOKIE_EXCHANGE":8192,"SSL_OP_CRYPTOPRO_TLSEXT_BUG":2147483648,"SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS":2048,"SSL_OP_EPHEMERAL_RSA":0,"SSL_OP_LEGACY_SERVER_CONNECT":4,"SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER":32,"SSL_OP_MICROSOFT_SESS_ID_BUG":1,"SSL_OP_MSIE_SSLV2_RSA_PADDING":0,"SSL_OP_NETSCAPE_CA_DN_BUG":536870912,"SSL_OP_NETSCAPE_CHALLENGE_BUG":2,"SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG":1073741824,"SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG":8,"SSL_OP_NO_COMPRESSION":131072,"SSL_OP_NO_QUERY_MTU":4096,"SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION":65536,"SSL_OP_NO_SSLv2":16777216,"SSL_OP_NO_SSLv3":33554432,"SSL_OP_NO_TICKET":16384,"SSL_OP_NO_TLSv1":67108864,"SSL_OP_NO_TLSv1_1":268435456,"SSL_OP_NO_TLSv1_2":134217728,"SSL_OP_PKCS1_CHECK_1":0,"SSL_OP_PKCS1_CHECK_2":0,"SSL_OP_SINGLE_DH_USE":1048576,"SSL_OP_SINGLE_ECDH_USE":524288,"SSL_OP_SSLEAY_080_CLIENT_DH_BUG":128,"SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG":0,"SSL_OP_TLS_BLOCK_PADDING_BUG":512,"SSL_OP_TLS_D5_BUG":256,"SSL_OP_TLS_ROLLBACK_BUG":8388608,"ENGINE_METHOD_DSA":2,"ENGINE_METHOD_DH":4,"ENGINE_METHOD_RAND":8,"ENGINE_METHOD_ECDH":16,"ENGINE_METHOD_ECDSA":32,"ENGINE_METHOD_CIPHERS":64,"ENGINE_METHOD_DIGESTS":128,"ENGINE_METHOD_STORE":256,"ENGINE_METHOD_PKEY_METHS":512,"ENGINE_METHOD_PKEY_ASN1_METHS":1024,"ENGINE_METHOD_ALL":65535,"ENGINE_METHOD_NONE":0,"DH_CHECK_P_NOT_SAFE_PRIME":2,"DH_CHECK_P_NOT_PRIME":1,"DH_UNABLE_TO_CHECK_GENERATOR":4,"DH_NOT_SUITABLE_GENERATOR":8,"NPN_ENABLED":1,"RSA_PKCS1_PADDING":1,"RSA_SSLV23_PADDING":2,"RSA_NO_PADDING":3,"RSA_PKCS1_OAEP_PADDING":4,"RSA_X931_PADDING":5,"RSA_PKCS1_PSS_PADDING":6,"POINT_CONVERSION_COMPRESSED":2,"POINT_CONVERSION_UNCOMPRESSED":4,"POINT_CONVERSION_HYBRID":6,"F_OK":0,"R_OK":4,"W_OK":2,"X_OK":1,"UV_UDP_REUSEADDR":4}')},function(e,t,n){(function(t){var r=n(39).Stream;e.exports=function(e){return{ReadStream:function n(i,o){if(!(this instanceof n))return new n(i,o);r.call(this);var s=this;this.path=i,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=65536,o=o||{};for(var a=Object.keys(o),f=0,c=a.length;f<c;f++){var u=a[f];this[u]=o[u]}this.encoding&&this.setEncoding(this.encoding);if(void 0!==this.start){if("number"!=typeof this.start)throw TypeError("start must be a Number");if(void 0===this.end)this.end=1/0;else if("number"!=typeof this.end)throw TypeError("end must be a Number");if(this.start>this.end)throw new Error("start must be <= end");this.pos=this.start}if(null!==this.fd)return void t.nextTick((function(){s._read()}));e.open(this.path,this.flags,this.mode,(function(e,t){if(e)return s.emit("error",e),void(s.readable=!1);s.fd=t,s.emit("open",t),s._read()}))},WriteStream:function t(n,i){if(!(this instanceof t))return new t(n,i);r.call(this),this.path=n,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,i=i||{};for(var o=Object.keys(i),s=0,a=o.length;s<a;s++){var f=o[s];this[f]=i[f]}if(void 0!==this.start){if("number"!=typeof this.start)throw TypeError("start must be a Number");if(this.start<0)throw new Error("start must be >= zero");this.pos=this.start}this.busy=!1,this._queue=[],null===this.fd&&(this._open=e.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush())}}}}).call(this,n(13))},function(e,t){},function(e,t,n){"use strict";var r=n(57).Buffer,i=n(178);e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},e.prototype.concat=function(e){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var t,n,i,o=r.allocUnsafe(e>>>0),s=this.head,a=0;s;)t=s.data,n=o,i=a,t.copy(n,i),a+=s.data.length,s=s.next;return o},e}(),i&&i.inspect&&i.inspect.custom&&(e.exports.prototype[i.inspect.custom]=function(){var e=i.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t){},function(e,t,n){(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function o(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new o(i.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new o(i.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(180),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(6))},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var r,i,o,s,a,f=1,c={},u=!1,l=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){p(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((o=new MessageChannel).port1.onmessage=function(e){p(e.data)},r=function(e){o.port2.postMessage(e)}):l&&"onreadystatechange"in l.createElement("script")?(i=l.documentElement,r=function(e){var t=l.createElement("script");t.onreadystatechange=function(){p(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):r=function(e){setTimeout(p,0,e)}:(s="setImmediate$"+Math.random()+"$",a=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(s)&&p(+t.data.slice(s.length))},e.addEventListener?e.addEventListener("message",a,!1):e.attachEvent("onmessage",a),r=function(t){e.postMessage(s+t,"*")}),d.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n<t.length;n++)t[n]=arguments[n+1];var i={callback:e,args:t};return c[f]=i,r(f),f++},d.clearImmediate=h}function h(e){delete c[e]}function p(e){if(u)setTimeout(p,0,e);else{var t=c[e];if(t){u=!0;try{!function(e){var t=e.callback,n=e.args;switch(n.length){case 0:t();break;case 1:t(n[0]);break;case 2:t(n[0],n[1]);break;case 3:t(n[0],n[1],n[2]);break;default:t.apply(void 0,n)}}(t)}finally{h(e),u=!1}}}}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,n(6),n(13))},function(e,t,n){(function(t){function n(e){try{if(!t.localStorage)return!1}catch(e){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}e.exports=function(e,t){if(n("noDeprecation"))return e;var r=!1;return function(){if(!r){if(n("throwDeprecation"))throw new Error(t);n("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}}}).call(this,n(6))},function(e,t,n){"use strict";e.exports=o;var r=n(91),i=Object.create(n(27));function o(e){if(!(this instanceof o))return new o(e);r.call(this,e)}i.inherits=n(2),i.inherits(o,r),o.prototype._transform=function(e,t,n){n(null,e)}},function(e,t,n){e.exports=n(58)},function(e,t,n){e.exports=n(20)},function(e,t,n){e.exports=n(56).Transform},function(e,t,n){e.exports=n(56).PassThrough},function(e,t,n){"use strict";e.exports=function(e){if(null===e||"object"!=typeof e)return e;if(e instanceof Object)var t={__proto__:e.__proto__};else t=Object.create(null);return Object.getOwnPropertyNames(e).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})),t}},function(e,t,n){"use strict";(function(t){var r=n(189);
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
* @license MIT
*/function i(e,t){if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);i<o;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0}function o(e){return t.Buffer&&"function"==typeof t.Buffer.isBuffer?t.Buffer.isBuffer(e):!(null==e||!e._isBuffer)}var s=n(37),a=Object.prototype.hasOwnProperty,f=Array.prototype.slice,c="foo"===function(){}.name;function u(e){return Object.prototype.toString.call(e)}function l(e){return!o(e)&&("function"==typeof t.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):!!e&&(e instanceof DataView||!!(e.buffer&&e.buffer instanceof ArrayBuffer))))}var d=e.exports=y,h=/\s*function\s+([^\(\s]*)\s*/;function p(e){if(s.isFunction(e)){if(c)return e.name;var t=e.toString().match(h);return t&&t[1]}}function g(e,t){return"string"==typeof e?e.length<t?e:e.slice(0,t):e}function m(e){if(c||!s.isFunction(e))return s.inspect(e);var t=p(e);return"[Function"+(t?": "+t:"")+"]"}function _(e,t,n,r,i){throw new d.AssertionError({message:n,actual:e,expected:t,operator:r,stackStartFunction:i})}function y(e,t){e||_(e,!0,t,"==",d.ok)}function b(e,t,n,r){if(e===t)return!0;if(o(e)&&o(t))return 0===i(e,t);if(s.isDate(e)&&s.isDate(t))return e.getTime()===t.getTime();if(s.isRegExp(e)&&s.isRegExp(t))return e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase;if(null!==e&&"object"==typeof e||null!==t&&"object"==typeof t){if(l(e)&&l(t)&&u(e)===u(t)&&!(e instanceof Float32Array||e instanceof Float64Array))return 0===i(new Uint8Array(e.buffer),new Uint8Array(t.buffer));if(o(e)!==o(t))return!1;var a=(r=r||{actual:[],expected:[]}).actual.indexOf(e);return-1!==a&&a===r.expected.indexOf(t)||(r.actual.push(e),r.expected.push(t),function(e,t,n,r){if(null==e||null==t)return!1;if(s.isPrimitive(e)||s.isPrimitive(t))return e===t;if(n&&Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;var i=v(e),o=v(t);if(i&&!o||!i&&o)return!1;if(i)return e=f.call(e),t=f.call(t),b(e,t,n);var a,c,u=E(e),l=E(t);if(u.length!==l.length)return!1;for(u.sort(),l.sort(),c=u.length-1;c>=0;c--)if(u[c]!==l[c])return!1;for(c=u.length-1;c>=0;c--)if(a=u[c],!b(e[a],t[a],n,r))return!1;return!0}(e,t,n,r))}return n?e===t:e==t}function v(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function A(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function w(e,t,n,r){var i;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof n&&(r=n,n=null),i=function(e){var t;try{e()}catch(e){t=e}return t}(t),r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),e&&!i&&_(i,n,"Missing expected exception"+r);var o="string"==typeof r,a=!e&&i&&!n;if((!e&&s.isError(i)&&o&&A(i,n)||a)&&_(i,n,"Got unwanted exception"+r),e&&i&&n&&!A(i,n)||!e&&i)throw i}d.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return g(m(e.actual),128)+" "+e.operator+" "+g(m(e.expected),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||_;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var n=new Error;if(n.stack){var r=n.stack,i=p(t),o=r.indexOf("\n"+i);if(o>=0){var s=r.indexOf("\n",o+1);r=r.substring(s+1)}this.stack=r}}},s.inherits(d.AssertionError,Error),d.fail=_,d.ok=y,d.equal=function(e,t,n){e!=t&&_(e,t,n,"==",d.equal)},d.notEqual=function(e,t,n){e==t&&_(e,t,n,"!=",d.notEqual)},d.deepEqual=function(e,t,n){b(e,t,!1)||_(e,t,n,"deepEqual",d.deepEqual)},d.deepStrictEqual=function(e,t,n){b(e,t,!0)||_(e,t,n,"deepStrictEqual",d.deepStrictEqual)},d.notDeepEqual=function(e,t,n){b(e,t,!1)&&_(e,t,n,"notDeepEqual",d.notDeepEqual)},d.notDeepStrictEqual=function e(t,n,r){b(t,n,!0)&&_(t,n,r,"notDeepStrictEqual",e)},d.strictEqual=function(e,t,n){e!==t&&_(e,t,n,"===",d.strictEqual)},d.notStrictEqual=function(e,t,n){e===t&&_(e,t,n,"!==",d.notStrictEqual)},d.throws=function(e,t,n){w(!0,e,t,n)},d.doesNotThrow=function(e,t,n){w(!1,e,t,n)},d.ifError=function(e){if(e)throw e},d.strict=r((function e(t,n){t||_(t,!0,n,"==",e)}),d,{equal:d.strictEqual,deepEqual:d.deepStrictEqual,notEqual:d.notStrictEqual,notDeepEqual:d.notDeepStrictEqual}),d.strict.strict=d.strict;var E=Object.keys||function(e){var t=[];for(var n in e)a.call(e,n)&&t.push(n);return t}}).call(this,n(6))},function(e,t,n){"use strict";
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function s(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,a,f=s(e),c=1;c<arguments.length;c++){for(var u in n=Object(arguments[c]))i.call(n,u)&&(f[u]=n[u]);if(r){a=r(n);for(var l=0;l<a.length;l++)o.call(n,a[l])&&(f[a[l]]=n[a[l]])}}return f}},function(e,t,n){t.asyncMap=n(191),t.bindActor=n(92),t.chain=n(192)},function(e,t,n){(function(t){e.exports=function(){var e=Array.prototype.slice.call(arguments),n=e.shift()||[],r=e.pop();if("function"!=typeof r)throw new Error("No callback provided to asyncMap");if(!n)return r(null,[]);Array.isArray(n)||(n=[n]);var i=e.length,o=[],s=null,a=n.length,f=a*i;if(!f)return r(null,[]);function c(u){u&&!s&&(s=u);for(var l=arguments.length,d=1;d<l;d++)void 0!==arguments[d]&&(o[d-1]=(o[d-1]||[]).concat(arguments[d]));if(n.length>a){var h=n.slice(a);f+=(n.length-a)*i,a=n.length,t.nextTick((function(){h.forEach((function(t){e.forEach((function(e){e(t,c)}))}))}))}0==--f&&r.apply(null,[s].concat(o))}n.forEach((function(t){e.forEach((function(e){e(t,c)}))}))}}).call(this,n(13))},function(e,t,n){e.exports=i;var r=n(92);function i(e,t){var n=[];!function o(s,a){return s>=a?t(null,n):(Array.isArray(e[s])&&(e[s]=r.apply(null,e[s].map((function(e){return e===i.first?n[0]:e===i.last?n[n.length-1]:e})))),e[s]?void e[s]((function(e,r){if(e)return t(e,n);void 0!==r&&(n=n.concat(r)),o(s+1,a)})):o(s+1,a))}(0,e.length)}i.first={},i.last={}},function(e,t,n){
/**
* @preserve
* JS Implementation of incremental MurmurHash3 (r150) (as of May 10, 2013)
*
* @author <a href="mailto:jensyt@gmail.com">Jens Taylor</a>
* @see http://github.com/homebrewing/brauhaus-diff
* @author <a href="mailto:gary.court@gmail.com">Gary Court</a>
* @see http://github.com/garycourt/murmurhash-js
* @author <a href="mailto:aappleby@gmail.com">Austin Appleby</a>
* @see http://sites.google.com/site/murmurhash/
*/
!function(){var t;function n(e,r){var i=this instanceof n?this:t;if(i.reset(r),"string"==typeof e&&e.length>0&&i.hash(e),i!==this)return i}n.prototype.hash=function(e){var t,n,r,i,o;switch(o=e.length,this.len+=o,n=this.k1,r=0,this.rem){case 0:n^=o>r?65535&e.charCodeAt(r++):0;case 1:n^=o>r?(65535&e.charCodeAt(r++))<<8:0;case 2:n^=o>r?(65535&e.charCodeAt(r++))<<16:0;case 3:n^=o>r?(255&e.charCodeAt(r))<<24:0,n^=o>r?(65280&e.charCodeAt(r++))>>8:0}if(this.rem=o+this.rem&3,(o-=this.rem)>0){for(t=this.h1;t=5*(t=(t^=n=13715*(n=(n=11601*n+3432906752*(65535&n)&4294967295)<<15|n>>>17)+461832192*(65535&n)&4294967295)<<13|t>>>19)+3864292196&4294967295,!(r>=o);)n=65535&e.charCodeAt(r++)^(65535&e.charCodeAt(r++))<<8^(65535&e.charCodeAt(r++))<<16,n^=(255&(i=e.charCodeAt(r++)))<<24^(65280&i)>>8;switch(n=0,this.rem){case 3:n^=(65535&e.charCodeAt(r+2))<<16;case 2:n^=(65535&e.charCodeAt(r+1))<<8;case 1:n^=65535&e.charCodeAt(r)}this.h1=t}return this.k1=n,this},n.prototype.result=function(){var e,t;return e=this.k1,t=this.h1,e>0&&(t^=e=13715*(e=(e=11601*e+3432906752*(65535&e)&4294967295)<<15|e>>>17)+461832192*(65535&e)&4294967295),t^=this.len,t=51819*(t^=t>>>16)+2246770688*(65535&t)&4294967295,t=44597*(t^=t>>>13)+3266445312*(65535&t)&4294967295,(t^=t>>>16)>>>0},n.prototype.reset=function(e){return this.h1="number"==typeof e?e:0,this.rem=this.k1=this.len=0,this},t=new n,e.exports=n}()},function(e,t,n){"use strict";t.randomBytes=t.rng=t.pseudoRandomBytes=t.prng=n(22),t.createHash=t.Hash=n(28),t.createHmac=t.Hmac=n(96);var r=n(200),i=Object.keys(r),o=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(i);t.getHashes=function(){return o};var s=n(99);t.pbkdf2=s.pbkdf2,t.pbkdf2Sync=s.pbkdf2Sync;var a=n(202);t.Cipher=a.Cipher,t.createCipher=a.createCipher,t.Cipheriv=a.Cipheriv,t.createCipheriv=a.createCipheriv,t.Decipher=a.Decipher,t.createDecipher=a.createDecipher,t.Decipheriv=a.Decipheriv,t.createDecipheriv=a.createDecipheriv,t.getCiphers=a.getCiphers,t.listCiphers=a.listCiphers;var f=n(217);t.DiffieHellmanGroup=f.DiffieHellmanGroup,t.createDiffieHellmanGroup=f.createDiffieHellmanGroup,t.getDiffieHellman=f.getDiffieHellman,t.createDiffieHellman=f.createDiffieHellman,t.DiffieHellman=f.DiffieHellman;var c=n(222);t.createSign=c.createSign,t.Sign=c.Sign,t.createVerify=c.createVerify,t.Verify=c.Verify,t.createECDH=n(256);var u=n(257);t.publicEncrypt=u.publicEncrypt,t.privateEncrypt=u.privateEncrypt,t.publicDecrypt=u.publicDecrypt,t.privateDecrypt=u.privateDecrypt;var l=n(260);t.randomFill=l.randomFill,t.randomFillSync=l.randomFillSync,t.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},t.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},function(e,t,n){var r=n(2),i=n(23),o=n(3).Buffer,s=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function f(){this.init(),this._w=a,i.call(this,64,56)}function c(e){return e<<30|e>>>2}function u(e,t,n,r){return 0===e?t&n|~t&r:2===e?t&n|t&r|n&r:t^n^r}r(f,i),f.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},f.prototype._update=function(e){for(var t,n=this._w,r=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,f=0|this._e,l=0;l<16;++l)n[l]=e.readInt32BE(4*l);for(;l<80;++l)n[l]=n[l-3]^n[l-8]^n[l-14]^n[l-16];for(var d=0;d<80;++d){var h=~~(d/20),p=0|((t=r)<<5|t>>>27)+u(h,i,o,a)+f+n[d]+s[h];f=a,a=o,o=c(i),i=r,r=p}this._a=r+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=f+this._e|0},f.prototype._hash=function(){var e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=f},function(e,t,n){var r=n(2),i=n(23),o=n(3).Buffer,s=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function f(){this.init(),this._w=a,i.call(this,64,56)}function c(e){return e<<5|e>>>27}function u(e){return e<<30|e>>>2}function l(e,t,n,r){return 0===e?t&n|~t&r:2===e?t&n|t&r|n&r:t^n^r}r(f,i),f.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},f.prototype._update=function(e){for(var t,n=this._w,r=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,f=0|this._e,d=0;d<16;++d)n[d]=e.readInt32BE(4*d);for(;d<80;++d)n[d]=(t=n[d-3]^n[d-8]^n[d-14]^n[d-16])<<1|t>>>31;for(var h=0;h<80;++h){var p=~~(h/20),g=c(r)+l(p,i,o,a)+f+n[h]+s[p]|0;f=a,a=o,o=u(i),i=r,r=g}this._a=r+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=f+this._e|0},f.prototype._hash=function(){var e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=f},function(e,t,n){var r=n(2),i=n(94),o=n(23),s=n(3).Buffer,a=new Array(64);function f(){this.init(),this._w=a,o.call(this,64,56)}r(f,i),f.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},f.prototype._hash=function(){var e=s.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e},e.exports=f},function(e,t,n){var r=n(2),i=n(95),o=n(23),s=n(3).Buffer,a=new Array(160);function f(){this.init(),this._w=a,o.call(this,128,112)}r(f,i),f.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},f.prototype._hash=function(){var e=s.allocUnsafe(48);function t(t,n,r){e.writeInt32BE(t,r),e.writeInt32BE(n,r+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e},e.exports=f},function(e,t,n){"use strict";var r=n(2),i=n(3).Buffer,o=n(18),s=i.alloc(128);function a(e,t){o.call(this,"digest"),"string"==typeof t&&(t=i.from(t)),this._alg=e,this._key=t,t.length>64?t=e(t):t.length<64&&(t=i.concat([t,s],64));for(var n=this._ipad=i.allocUnsafe(64),r=this._opad=i.allocUnsafe(64),a=0;a<64;a++)n[a]=54^t[a],r[a]=92^t[a];this._hash=[n]}r(a,o),a.prototype._update=function(e){this._hash.push(e)},a.prototype._final=function(){var e=this._alg(i.concat(this._hash));return this._alg(i.concat([this._opad,e]))},e.exports=a},function(e,t,n){e.exports=n(98)},function(e,t,n){(function(t,r){var i,o=n(100),s=n(101),a=n(102),f=n(3).Buffer,c=t.crypto&&t.crypto.subtle,u={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},l=[];function d(e,t,n,r,i){return c.importKey("raw",e,{name:"PBKDF2"},!1,["deriveBits"]).then((function(e){return c.deriveBits({name:"PBKDF2",salt:t,iterations:n,hash:{name:i}},e,r<<3)})).then((function(e){return f.from(e)}))}e.exports=function(e,n,h,p,g,m){"function"==typeof g&&(m=g,g=void 0);var _=u[(g=g||"sha1").toLowerCase()];if(!_||"function"!=typeof t.Promise)return r.nextTick((function(){var t;try{t=a(e,n,h,p,g)}catch(e){return m(e)}m(null,t)}));if(o(e,n,h,p),"function"!=typeof m)throw new Error("No callback provided to pbkdf2");f.isBuffer(e)||(e=f.from(e,s)),f.isBuffer(n)||(n=f.from(n,s)),function(e,t){e.then((function(e){r.nextTick((function(){t(null,e)}))}),(function(e){r.nextTick((function(){t(e)}))}))}(function(e){if(t.process&&!t.process.browser)return Promise.resolve(!1);if(!c||!c.importKey||!c.deriveBits)return Promise.resolve(!1);if(void 0!==l[e])return l[e];var n=d(i=i||f.alloc(8),i,10,128,e).then((function(){return!0})).catch((function(){return!1}));return l[e]=n,n}(_).then((function(t){return t?d(e,n,h,p,_):a(e,n,h,p,g)})),m)}}).call(this,n(6),n(13))},function(e,t,n){var r=n(203),i=n(64),o=n(65),s=n(216),a=n(42);function f(e,t,n){if(e=e.toLowerCase(),o[e])return i.createCipheriv(e,t,n);if(s[e])return new r({key:t,iv:n,mode:e});throw new TypeError("invalid suite type")}function c(e,t,n){if(e=e.toLowerCase(),o[e])return i.createDecipheriv(e,t,n);if(s[e])return new r({key:t,iv:n,mode:e,decrypt:!0});throw new TypeError("invalid suite type")}t.createCipher=t.Cipher=function(e,t){var n,r;if(e=e.toLowerCase(),o[e])n=o[e].key,r=o[e].iv;else{if(!s[e])throw new TypeError("invalid suite type");n=8*s[e].key,r=s[e].iv}var i=a(t,!1,n,r);return f(e,i.key,i.iv)},t.createCipheriv=t.Cipheriv=f,t.createDecipher=t.Decipher=function(e,t){var n,r;if(e=e.toLowerCase(),o[e])n=o[e].key,r=o[e].iv;else{if(!s[e])throw new TypeError("invalid suite type");n=8*s[e].key,r=s[e].iv}var i=a(t,!1,n,r);return c(e,i.key,i.iv)},t.createDecipheriv=t.Decipheriv=c,t.listCiphers=t.getCiphers=function(){return Object.keys(s).concat(i.getCiphers())}},function(e,t,n){var r=n(18),i=n(204),o=n(2),s=n(3).Buffer,a={"des-ede3-cbc":i.CBC.instantiate(i.EDE),"des-ede3":i.EDE,"des-ede-cbc":i.CBC.instantiate(i.EDE),"des-ede":i.EDE,"des-cbc":i.CBC.instantiate(i.DES),"des-ecb":i.DES};function f(e){r.call(this);var t,n=e.mode.toLowerCase(),i=a[n];t=e.decrypt?"decrypt":"encrypt";var o=e.key;s.isBuffer(o)||(o=s.from(o)),"des-ede"!==n&&"des-ede-cbc"!==n||(o=s.concat([o,o.slice(0,8)]));var f=e.iv;s.isBuffer(f)||(f=s.from(f)),this._des=i.create({key:o,iv:f,type:t})}a.des=a["des-cbc"],a.des3=a["des-ede3-cbc"],e.exports=f,o(f,r),f.prototype._update=function(e){return s.from(this._des.update(e))},f.prototype._final=function(){return s.from(this._des.final())}},function(e,t,n){"use strict";t.utils=n(103),t.Cipher=n(63),t.DES=n(104),t.CBC=n(205),t.EDE=n(206)},function(e,t,n){"use strict";var r=n(14),i=n(2),o={};function s(e){r.equal(e.length,8,"Invalid IV length"),this.iv=new Array(8);for(var t=0;t<this.iv.length;t++)this.iv[t]=e[t]}t.instantiate=function(e){function t(t){e.call(this,t),this._cbcInit()}i(t,e);for(var n=Object.keys(o),r=0;r<n.length;r++){var s=n[r];t.prototype[s]=o[s]}return t.create=function(e){return new t(e)},t},o._cbcInit=function(){var e=new s(this.options.iv);this._cbcState=e},o._update=function(e,t,n,r){var i=this._cbcState,o=this.constructor.super_.prototype,s=i.iv;if("encrypt"===this.type){for(var a=0;a<this.blockSize;a++)s[a]^=e[t+a];o._update.call(this,s,0,n,r);for(a=0;a<this.blockSize;a++)s[a]=n[r+a]}else{o._update.call(this,e,t,n,r);for(a=0;a<this.blockSize;a++)n[r+a]^=s[a];for(a=0;a<this.blockSize;a++)s[a]=e[t+a]}}},function(e,t,n){"use strict";var r=n(14),i=n(2),o=n(63),s=n(104);function a(e,t){r.equal(t.length,24,"Invalid key length");var n=t.slice(0,8),i=t.slice(8,16),o=t.slice(16,24);this.ciphers="encrypt"===e?[s.create({type:"encrypt",key:n}),s.create({type:"decrypt",key:i}),s.create({type:"encrypt",key:o})]:[s.create({type:"decrypt",key:o}),s.create({type:"encrypt",key:i}),s.create({type:"decrypt",key:n})]}function f(e){o.call(this,e);var t=new a(this.type,this.options.key);this._edeState=t}i(f,o),e.exports=f,f.create=function(e){return new f(e)},f.prototype._update=function(e,t,n,r){var i=this._edeState;i.ciphers[0]._update(e,t,n,r),i.ciphers[1]._update(n,r,n,r),i.ciphers[2]._update(n,r,n,r)},f.prototype._pad=s.prototype._pad,f.prototype._unpad=s.prototype._unpad},function(e,t,n){var r=n(65),i=n(108),o=n(3).Buffer,s=n(109),a=n(18),f=n(41),c=n(42);function u(e,t,n){a.call(this),this._cache=new d,this._cipher=new f.AES(t),this._prev=o.from(n),this._mode=e,this._autopadding=!0}n(2)(u,a),u.prototype._update=function(e){var t,n;this._cache.add(e);for(var r=[];t=this._cache.get();)n=this._mode.encrypt(this,t),r.push(n);return o.concat(r)};var l=o.alloc(16,16);function d(){this.cache=o.allocUnsafe(0)}function h(e,t,n){var a=r[e.toLowerCase()];if(!a)throw new TypeError("invalid suite type");if("string"==typeof t&&(t=o.from(t)),t.length!==a.key/8)throw new TypeError("invalid key length "+t.length);if("string"==typeof n&&(n=o.from(n)),"GCM"!==a.mode&&n.length!==a.iv)throw new TypeError("invalid iv length "+n.length);return"stream"===a.type?new s(a.module,t,n):"auth"===a.type?new i(a.module,t,n):new u(a.module,t,n)}u.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return e=this._mode.encrypt(this,e),this._cipher.scrub(),e;if(!e.equals(l))throw this._cipher.scrub(),new Error("data not multiple of block length")},u.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},d.prototype.add=function(e){this.cache=o.concat([this.cache,e])},d.prototype.get=function(){if(this.cache.length>15){var e=this.cache.slice(0,16);return this.cache=this.cache.slice(16),e}return null},d.prototype.flush=function(){for(var e=16-this.cache.length,t=o.allocUnsafe(e),n=-1;++n<e;)t.writeUInt8(e,n);return o.concat([this.cache,t])},t.createCipheriv=h,t.createCipher=function(e,t){var n=r[e.toLowerCase()];if(!n)throw new TypeError("invalid suite type");var i=c(t,!1,n.key,n.iv);return h(e,i.key,i.iv)}},function(e,t){t.encrypt=function(e,t){return e._cipher.encryptBlock(t)},t.decrypt=function(e,t){return e._cipher.decryptBlock(t)}},function(e,t,n){var r=n(29);t.encrypt=function(e,t){var n=r(t,e._prev);return e._prev=e._cipher.encryptBlock(n),e._prev},t.decrypt=function(e,t){var n=e._prev;e._prev=t;var i=e._cipher.decryptBlock(t);return r(i,n)}},function(e,t,n){var r=n(3).Buffer,i=n(29);function o(e,t,n){var o=t.length,s=i(t,e._cache);return e._cache=e._cache.slice(o),e._prev=r.concat([e._prev,n?t:s]),s}t.encrypt=function(e,t,n){for(var i,s=r.allocUnsafe(0);t.length;){if(0===e._cache.length&&(e._cache=e._cipher.encryptBlock(e._prev),e._prev=r.allocUnsafe(0)),!(e._cache.length<=t.length)){s=r.concat([s,o(e,t,n)]);break}i=e._cache.length,s=r.concat([s,o(e,t.slice(0,i),n)]),t=t.slice(i)}return s}},function(e,t,n){var r=n(3).Buffer;function i(e,t,n){var i=e._cipher.encryptBlock(e._prev)[0]^t;return e._prev=r.concat([e._prev.slice(1),r.from([n?t:i])]),i}t.encrypt=function(e,t,n){for(var o=t.length,s=r.allocUnsafe(o),a=-1;++a<o;)s[a]=i(e,t[a],n);return s}},function(e,t,n){var r=n(3).Buffer;function i(e,t,n){for(var r,i,s=-1,a=0;++s<8;)r=t&1<<7-s?128:0,a+=(128&(i=e._cipher.encryptBlock(e._prev)[0]^r))>>s%8,e._prev=o(e._prev,n?r:i);return a}function o(e,t){var n=e.length,i=-1,o=r.allocUnsafe(e.length);for(e=r.concat([e,r.from([t])]);++i<n;)o[i]=e[i]<<1|e[i+1]>>7;return o}t.encrypt=function(e,t,n){for(var o=t.length,s=r.allocUnsafe(o),a=-1;++a<o;)s[a]=i(e,t[a],n);return s}},function(e,t,n){(function(e){var r=n(29);function i(e){return e._prev=e._cipher.encryptBlock(e._prev),e._prev}t.encrypt=function(t,n){for(;t._cache.length<n.length;)t._cache=e.concat([t._cache,i(t)]);var o=t._cache.slice(0,n.length);return t._cache=t._cache.slice(n.length),r(n,o)}}).call(this,n(11).Buffer)},function(e,t,n){var r=n(3).Buffer,i=r.alloc(16,0);function o(e){var t=r.allocUnsafe(16);return t.writeUInt32BE(e[0]>>>0,0),t.writeUInt32BE(e[1]>>>0,4),t.writeUInt32BE(e[2]>>>0,8),t.writeUInt32BE(e[3]>>>0,12),t}function s(e){this.h=e,this.state=r.alloc(16,0),this.cache=r.allocUnsafe(0)}s.prototype.ghash=function(e){for(var t=-1;++t<e.length;)this.state[t]^=e[t];this._multiply()},s.prototype._multiply=function(){for(var e,t,n,r=[(e=this.h).readUInt32BE(0),e.readUInt32BE(4),e.readUInt32BE(8),e.readUInt32BE(12)],i=[0,0,0,0],s=-1;++s<128;){for(0!=(this.state[~~(s/8)]&1<<7-s%8)&&(i[0]^=r[0],i[1]^=r[1],i[2]^=r[2],i[3]^=r[3]),n=0!=(1&r[3]),t=3;t>0;t--)r[t]=r[t]>>>1|(1&r[t-1])<<31;r[0]=r[0]>>>1,n&&(r[0]=r[0]^225<<24)}this.state=o(i)},s.prototype.update=function(e){var t;for(this.cache=r.concat([this.cache,e]);this.cache.length>=16;)t=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(t)},s.prototype.final=function(e,t){return this.cache.length&&this.ghash(r.concat([this.cache,i],16)),this.ghash(o([0,e,0,t])),this.state},e.exports=s},function(e,t,n){var r=n(108),i=n(3).Buffer,o=n(65),s=n(109),a=n(18),f=n(41),c=n(42);function u(e,t,n){a.call(this),this._cache=new l,this._last=void 0,this._cipher=new f.AES(t),this._prev=i.from(n),this._mode=e,this._autopadding=!0}function l(){this.cache=i.allocUnsafe(0)}function d(e,t,n){var a=o[e.toLowerCase()];if(!a)throw new TypeError("invalid suite type");if("string"==typeof n&&(n=i.from(n)),"GCM"!==a.mode&&n.length!==a.iv)throw new TypeError("invalid iv length "+n.length);if("string"==typeof t&&(t=i.from(t)),t.length!==a.key/8)throw new TypeError("invalid key length "+t.length);return"stream"===a.type?new s(a.module,t,n,!0):"auth"===a.type?new r(a.module,t,n,!0):new u(a.module,t,n)}n(2)(u,a),u.prototype._update=function(e){var t,n;this._cache.add(e);for(var r=[];t=this._cache.get(this._autopadding);)n=this._mode.decrypt(this,t),r.push(n);return i.concat(r)},u.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return function(e){var t=e[15];if(t<1||t>16)throw new Error("unable to decrypt data");var n=-1;for(;++n<t;)if(e[n+(16-t)]!==t)throw new Error("unable to decrypt data");if(16===t)return;return e.slice(0,16-t)}(this._mode.decrypt(this,e));if(e)throw new Error("data not multiple of block length")},u.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},l.prototype.add=function(e){this.cache=i.concat([this.cache,e])},l.prototype.get=function(e){var t;if(e){if(this.cache.length>16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t}else if(this.cache.length>=16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t;return null},l.prototype.flush=function(){if(this.cache.length)return this.cache},t.createDecipher=function(e,t){var n=o[e.toLowerCase()];if(!n)throw new TypeError("invalid suite type");var r=c(t,!1,n.key,n.iv);return d(e,r.key,r.iv)},t.createDecipheriv=d},function(e,t){t["des-ecb"]={key:8,iv:0},t["des-cbc"]=t.des={key:8,iv:8},t["des-ede3-cbc"]=t.des3={key:24,iv:8},t["des-ede3"]={key:24,iv:0},t["des-ede-cbc"]={key:16,iv:8},t["des-ede"]={key:16,iv:0}},function(e,t,n){(function(e){var r=n(110),i=n(220),o=n(221);var s={binary:!0,hex:!0,base64:!0};t.DiffieHellmanGroup=t.createDiffieHellmanGroup=t.getDiffieHellman=function(t){var n=new e(i[t].prime,"hex"),r=new e(i[t].gen,"hex");return new o(n,r)},t.createDiffieHellman=t.DiffieHellman=function t(n,i,a,f){return e.isBuffer(i)||void 0===s[i]?t(n,"binary",i,a):(i=i||"binary",f=f||"binary",a=a||new e([2]),e.isBuffer(a)||(a=new e(a,f)),"number"==typeof n?new o(r(n,a),a,!0):(e.isBuffer(n)||(n=new e(n,i)),new o(n,a,!0)))}}).call(this,n(11).Buffer)},function(e,t){},function(e,t){},function(e){e.exports=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')},function(e,t,n){(function(t){var r=n(12),i=new(n(112)),o=new r(24),s=new r(11),a=new r(10),f=new r(3),c=new r(7),u=n(110),l=n(22);function d(e,n){return n=n||"utf8",t.isBuffer(e)||(e=new t(e,n)),this._pub=new r(e),this}function h(e,n){return n=n||"utf8",t.isBuffer(e)||(e=new t(e,n)),this._priv=new r(e),this}e.exports=g;var p={};function g(e,t,n){this.setGenerator(t),this.__prime=new r(e),this._prime=r.mont(this.__prime),this._primeLen=e.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,n?(this.setPublicKey=d,this.setPrivateKey=h):this._primeCode=8}function m(e,n){var r=new t(e.toArray());return n?r.toString(n):r}Object.defineProperty(g.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(e,t){var n=t.toString("hex"),r=[n,e.toString(16)].join("_");if(r in p)return p[r];var l,d=0;if(e.isEven()||!u.simpleSieve||!u.fermatTest(e)||!i.test(e))return d+=1,d+="02"===n||"05"===n?8:4,p[r]=d,d;switch(i.test(e.shrn(1))||(d+=2),n){case"02":e.mod(o).cmp(s)&&(d+=8);break;case"05":(l=e.mod(a)).cmp(f)&&l.cmp(c)&&(d+=8);break;default:d+=4}return p[r]=d,d}(this.__prime,this.__gen)),this._primeCode}}),g.prototype.generateKeys=function(){return this._priv||(this._priv=new r(l(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},g.prototype.computeSecret=function(e){var n=(e=(e=new r(e)).toRed(this._prime)).redPow(this._priv).fromRed(),i=new t(n.toArray()),o=this.getPrime();if(i.length<o.length){var s=new t(o.length-i.length);s.fill(0),i=t.concat([s,i])}return i},g.prototype.getPublicKey=function(e){return m(this._pub,e)},g.prototype.getPrivateKey=function(e){return m(this._priv,e)},g.prototype.getPrime=function(e){return m(this.__prime,e)},g.prototype.getGenerator=function(e){return m(this._gen,e)},g.prototype.setGenerator=function(e,n){return n=n||"utf8",t.isBuffer(e)||(e=new t(e,n)),this.__gen=e,this._gen=new r(e),this}}).call(this,n(11).Buffer)},function(e,t,n){(function(t){var r=n(28),i=n(39),o=n(2),s=n(223),a=n(255),f=n(98);function c(e){i.Writable.call(this);var t=f[e];if(!t)throw new Error("Unknown message digest");this._hashType=t.hash,this._hash=r(t.hash),this._tag=t.id,this._signType=t.sign}function u(e){i.Writable.call(this);var t=f[e];if(!t)throw new Error("Unknown message digest");this._hash=r(t.hash),this._tag=t.id,this._signType=t.sign}function l(e){return new c(e)}function d(e){return new u(e)}Object.keys(f).forEach((function(e){f[e].id=new t(f[e].id,"hex"),f[e.toLowerCase()]=f[e]})),o(c,i.Writable),c.prototype._write=function(e,t,n){this._hash.update(e),n()},c.prototype.update=function(e,n){return"string"==typeof e&&(e=new t(e,n)),this._hash.update(e),this},c.prototype.sign=function(e,t){this.end();var n=this._hash.digest(),r=s(n,e,this._hashType,this._signType,this._tag);return t?r.toString(t):r},o(u,i.Writable),u.prototype._write=function(e,t,n){this._hash.update(e),n()},u.prototype.update=function(e,n){return"string"==typeof e&&(e=new t(e,n)),this._hash.update(e),this},u.prototype.verify=function(e,n,r){"string"==typeof n&&(n=new t(n,r)),this.end();var i=this._hash.digest();return a(n,i,e,this._signType,this._tag)},e.exports={Sign:l,Verify:d,createSign:l,createVerify:d}}).call(this,n(11).Buffer)},function(e,t,n){(function(t){var r=n(96),i=n(67),o=n(68).ec,s=n(12),a=n(44),f=n(122);function c(e,n,i,o){if((e=new t(e.toArray())).length<n.byteLength()){var s=new t(n.byteLength()-e.length);s.fill(0),e=t.concat([s,e])}var a=i.length,f=function(e,n){e=(e=u(e,n)).mod(n);var r=new t(e.toArray());if(r.length<n.byteLength()){var i=new t(n.byteLength()-r.length);i.fill(0),r=t.concat([i,r])}return r}(i,n),c=new t(a);c.fill(1);var l=new t(a);return l.fill(0),l=r(o,l).update(c).update(new t([0])).update(e).update(f).digest(),c=r(o,l).update(c).digest(),{k:l=r(o,l).update(c).update(new t([1])).update(e).update(f).digest(),v:c=r(o,l).update(c).digest()}}function u(e,t){var n=new s(e),r=(e.length<<3)-t.bitLength();return r>0&&n.ishrn(r),n}function l(e,n,i){var o,s;do{for(o=new t(0);8*o.length<e.bitLength();)n.v=r(i,n.k).update(n.v).digest(),o=t.concat([o,n.v]);s=u(o,e),n.k=r(i,n.k).update(n.v).update(new t([0])).digest(),n.v=r(i,n.k).update(n.v).digest()}while(-1!==s.cmp(e));return s}function d(e,t,n,r){return e.toRed(s.mont(n)).redPow(t).fromRed().mod(r)}e.exports=function(e,n,r,h,p){var g=a(n);if(g.curve){if("ecdsa"!==h&&"ecdsa/rsa"!==h)throw new Error("wrong private key type");return function(e,n){var r=f[n.curve.join(".")];if(!r)throw new Error("unknown curve "+n.curve.join("."));var i=new o(r).keyFromPrivate(n.privateKey).sign(e);return new t(i.toDER())}(e,g)}if("dsa"===g.type){if("dsa"!==h)throw new Error("wrong private key type");return function(e,n,r){var i,o=n.params.priv_key,a=n.params.p,f=n.params.q,h=n.params.g,p=new s(0),g=u(e,f).mod(f),m=!1,_=c(o,f,e,r);for(;!1===m;)i=l(f,_,r),p=d(h,i,a,f),0===(m=i.invm(f).imul(g.add(o.mul(p))).mod(f)).cmpn(0)&&(m=!1,p=new s(0));return function(e,n){e=e.toArray(),n=n.toArray(),128&e[0]&&(e=[0].concat(e));128&n[0]&&(n=[0].concat(n));var r=[48,e.length+n.length+4,2,e.length];return r=r.concat(e,[2,n.length],n),new t(r)}(p,m)}(e,g,r)}if("rsa"!==h&&"ecdsa/rsa"!==h)throw new Error("wrong private key type");e=t.concat([p,e]);for(var m=g.modulus.byteLength(),_=[0,1];e.length+_.length+1<m;)_.push(255);_.push(0);for(var y=-1;++y<e.length;)_.push(e[y]);return i(_,g)},e.exports.getKey=c,e.exports.makeKey=l}).call(this,n(11).Buffer)},function(e){e.exports=JSON.parse('{"name":"elliptic","version":"6.5.2","description":"EC cryptography","main":"lib/elliptic.js","files":["lib"],"scripts":{"jscs":"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js","jshint":"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js","lint":"npm run jscs && npm run jshint","unit":"istanbul test _mocha --reporter=spec test/index.js","test":"npm run lint && npm run unit","version":"grunt dist && git add dist/"},"repository":{"type":"git","url":"git@github.com:indutny/elliptic"},"keywords":["EC","Elliptic","curve","Cryptography"],"author":"Fedor Indutny <fedor@indutny.com>","license":"MIT","bugs":{"url":"https://github.com/indutny/elliptic/issues"},"homepage":"https://github.com/indutny/elliptic","devDependencies":{"brfs":"^1.4.3","coveralls":"^3.0.8","grunt":"^1.0.4","grunt-browserify":"^5.0.0","grunt-cli":"^1.2.0","grunt-contrib-connect":"^1.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-mocha-istanbul":"^3.0.1","grunt-saucelabs":"^9.0.1","istanbul":"^0.4.2","jscs":"^3.0.7","jshint":"^2.10.3","mocha":"^6.2.2"},"dependencies":{"bn.js":"^4.4.0","brorand":"^1.0.1","hash.js":"^1.0.0","hmac-drbg":"^1.0.0","inherits":"^2.0.1","minimalistic-assert":"^1.0.0","minimalistic-crypto-utils":"^1.0.0"}}')},function(e,t,n){"use strict";var r=n(15),i=n(12),o=n(2),s=n(43),a=r.assert;function f(e){s.call(this,"short",e),this.a=new i(e.a,16).toRed(this.red),this.b=new i(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function c(e,t,n,r){s.BasePoint.call(this,e,"affine"),null===t&&null===n?(this.x=null,this.y=null,this.inf=!0):(this.x=new i(t,16),this.y=new i(n,16),r&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function u(e,t,n,r){s.BasePoint.call(this,e,"jacobian"),null===t&&null===n&&null===r?(this.x=this.curve.one,this.y=this.curve.one,this.z=new i(0)):(this.x=new i(t,16),this.y=new i(n,16),this.z=new i(r,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}o(f,s),e.exports=f,f.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,n;if(e.beta)t=new i(e.beta,16).toRed(this.red);else{var r=this._getEndoRoots(this.p);t=(t=r[0].cmp(r[1])<0?r[0]:r[1]).toRed(this.red)}if(e.lambda)n=new i(e.lambda,16);else{var o=this._getEndoRoots(this.n);0===this.g.mul(o[0]).x.cmp(this.g.x.redMul(t))?n=o[0]:(n=o[1],a(0===this.g.mul(n).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:n,basis:e.basis?e.basis.map((function(e){return{a:new i(e.a,16),b:new i(e.b,16)}})):this._getEndoBasis(n)}}},f.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:i.mont(e),n=new i(2).toRed(t).redInvm(),r=n.redNeg(),o=new i(3).toRed(t).redNeg().redSqrt().redMul(n);return[r.redAdd(o).fromRed(),r.redSub(o).fromRed()]},f.prototype._getEndoBasis=function(e){for(var t,n,r,o,s,a,f,c,u,l=this.n.ushrn(Math.floor(this.n.bitLength()/2)),d=e,h=this.n.clone(),p=new i(1),g=new i(0),m=new i(0),_=new i(1),y=0;0!==d.cmpn(0);){var b=h.div(d);c=h.sub(b.mul(d)),u=m.sub(b.mul(p));var v=_.sub(b.mul(g));if(!r&&c.cmp(l)<0)t=f.neg(),n=p,r=c.neg(),o=u;else if(r&&2==++y)break;f=c,h=d,d=c,m=p,p=u,_=g,g=v}s=c.neg(),a=u;var A=r.sqr().add(o.sqr());return s.sqr().add(a.sqr()).cmp(A)>=0&&(s=t,a=n),r.negative&&(r=r.neg(),o=o.neg()),s.negative&&(s=s.neg(),a=a.neg()),[{a:r,b:o},{a:s,b:a}]},f.prototype._endoSplit=function(e){var t=this.endo.basis,n=t[0],r=t[1],i=r.b.mul(e).divRound(this.n),o=n.b.neg().mul(e).divRound(this.n),s=i.mul(n.a),a=o.mul(r.a),f=i.mul(n.b),c=o.mul(r.b);return{k1:e.sub(s).sub(a),k2:f.add(c).neg()}},f.prototype.pointFromX=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var n=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),r=n.redSqrt();if(0!==r.redSqr().redSub(n).cmp(this.zero))throw new Error("invalid point");var o=r.fromRed().isOdd();return(t&&!o||!t&&o)&&(r=r.redNeg()),this.point(e,r)},f.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,n=e.y,r=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(r).redIAdd(this.b);return 0===n.redSqr().redISub(i).cmpn(0)},f.prototype._endoWnafMulAdd=function(e,t,n){for(var r=this._endoWnafT1,i=this._endoWnafT2,o=0;o<e.length;o++){var s=this._endoSplit(t[o]),a=e[o],f=a._getBeta();s.k1.negative&&(s.k1.ineg(),a=a.neg(!0)),s.k2.negative&&(s.k2.ineg(),f=f.neg(!0)),r[2*o]=a,r[2*o+1]=f,i[2*o]=s.k1,i[2*o+1]=s.k2}for(var c=this._wnafMulAdd(1,r,i,2*o,n),u=0;u<2*o;u++)r[u]=null,i[u]=null;return c},o(c,s.BasePoint),f.prototype.point=function(e,t,n){return new c(this,e,t,n)},f.prototype.pointFromJSON=function(e,t){return c.fromJSON(this,e,t)},c.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var n=this.curve,r=function(e){return n.point(e.x.redMul(n.endo.beta),e.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(r)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(r)}}}return t}},c.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},c.fromJSON=function(e,t,n){"string"==typeof t&&(t=JSON.parse(t));var r=e.point(t[0],t[1],n);if(!t[2])return r;function i(t){return e.point(t[0],t[1],n)}var o=t[2];return r.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[r].concat(o.doubles.points.map(i))},naf:o.naf&&{wnd:o.naf.wnd,points:[r].concat(o.naf.points.map(i))}},r},c.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},c.prototype.isInfinity=function(){return this.inf},c.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var n=t.redSqr().redISub(this.x).redISub(e.x),r=t.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,r)},c.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,n=this.x.redSqr(),r=e.redInvm(),i=n.redAdd(n).redIAdd(n).redIAdd(t).redMul(r),o=i.redSqr().redISub(this.x.redAdd(this.x)),s=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,s)},c.prototype.getX=function(){return this.x.fromRed()},c.prototype.getY=function(){return this.y.fromRed()},c.prototype.mul=function(e){return e=new i(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,n){var r=[this,t],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i):this.curve._wnafMulAdd(1,r,i,2)},c.prototype.jmulAdd=function(e,t,n){var r=[this,t],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i,!0):this.curve._wnafMulAdd(1,r,i,2,!0)},c.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},c.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var n=this.precomputed,r=function(e){return e.neg()};t.precomputed={naf:n.naf&&{wnd:n.naf.wnd,points:n.naf.points.map(r)},doubles:n.doubles&&{step:n.doubles.step,points:n.doubles.points.map(r)}}}return t},c.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},o(u,s.BasePoint),f.prototype.jpoint=function(e,t,n){return new u(this,e,t,n)},u.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),n=this.x.redMul(t),r=this.y.redMul(t).redMul(e);return this.curve.point(n,r)},u.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},u.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),n=this.z.redSqr(),r=this.x.redMul(t),i=e.x.redMul(n),o=this.y.redMul(t.redMul(e.z)),s=e.y.redMul(n.redMul(this.z)),a=r.redSub(i),f=o.redSub(s);if(0===a.cmpn(0))return 0!==f.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=a.redSqr(),u=c.redMul(a),l=r.redMul(c),d=f.redSqr().redIAdd(u).redISub(l).redISub(l),h=f.redMul(l.redISub(d)).redISub(o.redMul(u)),p=this.z.redMul(e.z).redMul(a);return this.curve.jpoint(d,h,p)},u.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),n=this.x,r=e.x.redMul(t),i=this.y,o=e.y.redMul(t).redMul(this.z),s=n.redSub(r),a=i.redSub(o);if(0===s.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var f=s.redSqr(),c=f.redMul(s),u=n.redMul(f),l=a.redSqr().redIAdd(c).redISub(u).redISub(u),d=a.redMul(u.redISub(l)).redISub(i.redMul(c)),h=this.z.redMul(s);return this.curve.jpoint(l,d,h)},u.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,n=0;n<e;n++)t=t.dbl();return t}var r=this.curve.a,i=this.curve.tinv,o=this.x,s=this.y,a=this.z,f=a.redSqr().redSqr(),c=s.redAdd(s);for(n=0;n<e;n++){var u=o.redSqr(),l=c.redSqr(),d=l.redSqr(),h=u.redAdd(u).redIAdd(u).redIAdd(r.redMul(f)),p=o.redMul(l),g=h.redSqr().redISub(p.redAdd(p)),m=p.redISub(g),_=h.redMul(m);_=_.redIAdd(_).redISub(d);var y=c.redMul(a);n+1<e&&(f=f.redMul(d)),o=g,a=y,c=_}return this.curve.jpoint(o,c.redMul(i),a)},u.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},u.prototype._zeroDbl=function(){var e,t,n;if(this.zOne){var r=this.x.redSqr(),i=this.y.redSqr(),o=i.redSqr(),s=this.x.redAdd(i).redSqr().redISub(r).redISub(o);s=s.redIAdd(s);var a=r.redAdd(r).redIAdd(r),f=a.redSqr().redISub(s).redISub(s),c=o.redIAdd(o);c=(c=c.redIAdd(c)).redIAdd(c),e=f,t=a.redMul(s.redISub(f)).redISub(c),n=this.y.redAdd(this.y)}else{var u=this.x.redSqr(),l=this.y.redSqr(),d=l.redSqr(),h=this.x.redAdd(l).redSqr().redISub(u).redISub(d);h=h.redIAdd(h);var p=u.redAdd(u).redIAdd(u),g=p.redSqr(),m=d.redIAdd(d);m=(m=m.redIAdd(m)).redIAdd(m),e=g.redISub(h).redISub(h),t=p.redMul(h.redISub(e)).redISub(m),n=(n=this.y.redMul(this.z)).redIAdd(n)}return this.curve.jpoint(e,t,n)},u.prototype._threeDbl=function(){var e,t,n;if(this.zOne){var r=this.x.redSqr(),i=this.y.redSqr(),o=i.redSqr(),s=this.x.redAdd(i).redSqr().redISub(r).redISub(o);s=s.redIAdd(s);var a=r.redAdd(r).redIAdd(r).redIAdd(this.curve.a),f=a.redSqr().redISub(s).redISub(s);e=f;var c=o.redIAdd(o);c=(c=c.redIAdd(c)).redIAdd(c),t=a.redMul(s.redISub(f)).redISub(c),n=this.y.redAdd(this.y)}else{var u=this.z.redSqr(),l=this.y.redSqr(),d=this.x.redMul(l),h=this.x.redSub(u).redMul(this.x.redAdd(u));h=h.redAdd(h).redIAdd(h);var p=d.redIAdd(d),g=(p=p.redIAdd(p)).redAdd(p);e=h.redSqr().redISub(g),n=this.y.redAdd(this.z).redSqr().redISub(l).redISub(u);var m=l.redSqr();m=(m=(m=m.redIAdd(m)).redIAdd(m)).redIAdd(m),t=h.redMul(p.redISub(e)).redISub(m)}return this.curve.jpoint(e,t,n)},u.prototype._dbl=function(){var e=this.curve.a,t=this.x,n=this.y,r=this.z,i=r.redSqr().redSqr(),o=t.redSqr(),s=n.redSqr(),a=o.redAdd(o).redIAdd(o).redIAdd(e.redMul(i)),f=t.redAdd(t),c=(f=f.redIAdd(f)).redMul(s),u=a.redSqr().redISub(c.redAdd(c)),l=c.redISub(u),d=s.redSqr();d=(d=(d=d.redIAdd(d)).redIAdd(d)).redIAdd(d);var h=a.redMul(l).redISub(d),p=n.redAdd(n).redMul(r);return this.curve.jpoint(u,h,p)},u.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),n=this.z.redSqr(),r=t.redSqr(),i=e.redAdd(e).redIAdd(e),o=i.redSqr(),s=this.x.redAdd(t).redSqr().redISub(e).redISub(r),a=(s=(s=(s=s.redIAdd(s)).redAdd(s).redIAdd(s)).redISub(o)).redSqr(),f=r.redIAdd(r);f=(f=(f=f.redIAdd(f)).redIAdd(f)).redIAdd(f);var c=i.redIAdd(s).redSqr().redISub(o).redISub(a).redISub(f),u=t.redMul(c);u=(u=u.redIAdd(u)).redIAdd(u);var l=this.x.redMul(a).redISub(u);l=(l=l.redIAdd(l)).redIAdd(l);var d=this.y.redMul(c.redMul(f.redISub(c)).redISub(s.redMul(a)));d=(d=(d=d.redIAdd(d)).redIAdd(d)).redIAdd(d);var h=this.z.redAdd(s).redSqr().redISub(n).redISub(a);return this.curve.jpoint(l,d,h)},u.prototype.mul=function(e,t){return e=new i(e,t),this.curve._wnafMul(this,e)},u.prototype.eq=function(e){if("affine"===e.type)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),n=e.z.redSqr();if(0!==this.x.redMul(n).redISub(e.x.redMul(t)).cmpn(0))return!1;var r=t.redMul(this.z),i=n.redMul(e.z);return 0===this.y.redMul(i).redISub(e.y.redMul(r)).cmpn(0)},u.prototype.eqXToP=function(e){var t=this.z.redSqr(),n=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(n))return!0;for(var r=e.clone(),i=this.curve.redN.redMul(t);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(n.redIAdd(i),0===this.x.cmp(n))return!0}},u.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},u.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},function(e,t,n){"use strict";var r=n(12),i=n(2),o=n(43),s=n(15);function a(e){o.call(this,"mont",e),this.a=new r(e.a,16).toRed(this.red),this.b=new r(e.b,16).toRed(this.red),this.i4=new r(4).toRed(this.red).redInvm(),this.two=new r(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function f(e,t,n){o.BasePoint.call(this,e,"projective"),null===t&&null===n?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new r(t,16),this.z=new r(n,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}i(a,o),e.exports=a,a.prototype.validate=function(e){var t=e.normalize().x,n=t.redSqr(),r=n.redMul(t).redAdd(n.redMul(this.a)).redAdd(t);return 0===r.redSqrt().redSqr().cmp(r)},i(f,o.BasePoint),a.prototype.decodePoint=function(e,t){return this.point(s.toArray(e,t),1)},a.prototype.point=function(e,t){return new f(this,e,t)},a.prototype.pointFromJSON=function(e){return f.fromJSON(this,e)},f.prototype.precompute=function(){},f.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},f.fromJSON=function(e,t){return new f(e,t[0],t[1]||e.one)},f.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},f.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},f.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),n=e.redSub(t),r=e.redMul(t),i=n.redMul(t.redAdd(this.curve.a24.redMul(n)));return this.curve.point(r,i)},f.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},f.prototype.diffAdd=function(e,t){var n=this.x.redAdd(this.z),r=this.x.redSub(this.z),i=e.x.redAdd(e.z),o=e.x.redSub(e.z).redMul(n),s=i.redMul(r),a=t.z.redMul(o.redAdd(s).redSqr()),f=t.x.redMul(o.redISub(s).redSqr());return this.curve.point(a,f)},f.prototype.mul=function(e){for(var t=e.clone(),n=this,r=this.curve.point(null,null),i=[];0!==t.cmpn(0);t.iushrn(1))i.push(t.andln(1));for(var o=i.length-1;o>=0;o--)0===i[o]?(n=n.diffAdd(r,this),r=r.dbl()):(r=n.diffAdd(r,this),n=n.dbl());return r},f.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},f.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},f.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},f.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},f.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},function(e,t,n){"use strict";var r=n(15),i=n(12),o=n(2),s=n(43),a=r.assert;function f(e){this.twisted=1!=(0|e.a),this.mOneA=this.twisted&&-1==(0|e.a),this.extended=this.mOneA,s.call(this,"edwards",e),this.a=new i(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new i(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new i(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),a(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|e.c)}function c(e,t,n,r,o){s.BasePoint.call(this,e,"projective"),null===t&&null===n&&null===r?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new i(t,16),this.y=new i(n,16),this.z=r?new i(r,16):this.curve.one,this.t=o&&new i(o,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}o(f,s),e.exports=f,f.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},f.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},f.prototype.jpoint=function(e,t,n,r){return this.point(e,t,n,r)},f.prototype.pointFromX=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var n=e.redSqr(),r=this.c2.redSub(this.a.redMul(n)),o=this.one.redSub(this.c2.redMul(this.d).redMul(n)),s=r.redMul(o.redInvm()),a=s.redSqrt();if(0!==a.redSqr().redSub(s).cmp(this.zero))throw new Error("invalid point");var f=a.fromRed().isOdd();return(t&&!f||!t&&f)&&(a=a.redNeg()),this.point(e,a)},f.prototype.pointFromY=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var n=e.redSqr(),r=n.redSub(this.c2),o=n.redMul(this.d).redMul(this.c2).redSub(this.a),s=r.redMul(o.redInvm());if(0===s.cmp(this.zero)){if(t)throw new Error("invalid point");return this.point(this.zero,e)}var a=s.redSqrt();if(0!==a.redSqr().redSub(s).cmp(this.zero))throw new Error("invalid point");return a.fromRed().isOdd()!==t&&(a=a.redNeg()),this.point(a,e)},f.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),n=e.y.redSqr(),r=t.redMul(this.a).redAdd(n),i=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(n)));return 0===r.cmp(i)},o(c,s.BasePoint),f.prototype.pointFromJSON=function(e){return c.fromJSON(this,e)},f.prototype.point=function(e,t,n,r){return new c(this,e,t,n,r)},c.fromJSON=function(e,t){return new c(e,t[0],t[1],t[2])},c.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},c.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},c.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),n=this.z.redSqr();n=n.redIAdd(n);var r=this.curve._mulA(e),i=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),o=r.redAdd(t),s=o.redSub(n),a=r.redSub(t),f=i.redMul(s),c=o.redMul(a),u=i.redMul(a),l=s.redMul(o);return this.curve.point(f,c,l,u)},c.prototype._projDbl=function(){var e,t,n,r=this.x.redAdd(this.y).redSqr(),i=this.x.redSqr(),o=this.y.redSqr();if(this.curve.twisted){var s=(c=this.curve._mulA(i)).redAdd(o);if(this.zOne)e=r.redSub(i).redSub(o).redMul(s.redSub(this.curve.two)),t=s.redMul(c.redSub(o)),n=s.redSqr().redSub(s).redSub(s);else{var a=this.z.redSqr(),f=s.redSub(a).redISub(a);e=r.redSub(i).redISub(o).redMul(f),t=s.redMul(c.redSub(o)),n=s.redMul(f)}}else{var c=i.redAdd(o);a=this.curve._mulC(this.z).redSqr(),f=c.redSub(a).redSub(a);e=this.curve._mulC(r.redISub(c)).redMul(f),t=this.curve._mulC(c).redMul(i.redISub(o)),n=c.redMul(f)}return this.curve.point(e,t,n)},c.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},c.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),n=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),r=this.t.redMul(this.curve.dd).redMul(e.t),i=this.z.redMul(e.z.redAdd(e.z)),o=n.redSub(t),s=i.redSub(r),a=i.redAdd(r),f=n.redAdd(t),c=o.redMul(s),u=a.redMul(f),l=o.redMul(f),d=s.redMul(a);return this.curve.point(c,u,d,l)},c.prototype._projAdd=function(e){var t,n,r=this.z.redMul(e.z),i=r.redSqr(),o=this.x.redMul(e.x),s=this.y.redMul(e.y),a=this.curve.d.redMul(o).redMul(s),f=i.redSub(a),c=i.redAdd(a),u=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(o).redISub(s),l=r.redMul(f).redMul(u);return this.curve.twisted?(t=r.redMul(c).redMul(s.redSub(this.curve._mulA(o))),n=f.redMul(c)):(t=r.redMul(c).redMul(s.redSub(o)),n=this.curve._mulC(f).redMul(c)),this.curve.point(l,t,n)},c.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},c.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,n){return this.curve._wnafMulAdd(1,[this,t],[e,n],2,!1)},c.prototype.jmulAdd=function(e,t,n){return this.curve._wnafMulAdd(1,[this,t],[e,n],2,!0)},c.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},c.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},c.prototype.getX=function(){return this.normalize(),this.x.fromRed()},c.prototype.getY=function(){return this.normalize(),this.y.fromRed()},c.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},c.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var n=e.clone(),r=this.curve.redN.redMul(this.z);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(r),0===this.x.cmp(t))return!0}},c.prototype.toP=c.prototype.normalize,c.prototype.mixedAdd=c.prototype.add},function(e,t,n){"use strict";t.sha1=n(229),t.sha224=n(230),t.sha256=n(116),t.sha384=n(231),t.sha512=n(117)},function(e,t,n){"use strict";var r=n(17),i=n(30),o=n(115),s=r.rotl32,a=r.sum32,f=r.sum32_5,c=o.ft_1,u=i.BlockHash,l=[1518500249,1859775393,2400959708,3395469782];function d(){if(!(this instanceof d))return new d;u.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}r.inherits(d,u),e.exports=d,d.blockSize=512,d.outSize=160,d.hmacStrength=80,d.padLength=64,d.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r<n.length;r++)n[r]=s(n[r-3]^n[r-8]^n[r-14]^n[r-16],1);var i=this.h[0],o=this.h[1],u=this.h[2],d=this.h[3],h=this.h[4];for(r=0;r<n.length;r++){var p=~~(r/20),g=f(s(i,5),c(p,o,u,d),h,n[r],l[p]);h=d,d=u,u=s(o,30),o=i,i=g}this.h[0]=a(this.h[0],i),this.h[1]=a(this.h[1],o),this.h[2]=a(this.h[2],u),this.h[3]=a(this.h[3],d),this.h[4]=a(this.h[4],h)},d.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},function(e,t,n){"use strict";var r=n(17),i=n(116);function o(){if(!(this instanceof o))return new o;i.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}r.inherits(o,i),e.exports=o,o.blockSize=512,o.outSize=224,o.hmacStrength=192,o.padLength=64,o.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h.slice(0,7),"big"):r.split32(this.h.slice(0,7),"big")}},function(e,t,n){"use strict";var r=n(17),i=n(117);function o(){if(!(this instanceof o))return new o;i.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}r.inherits(o,i),e.exports=o,o.blockSize=1024,o.outSize=384,o.hmacStrength=192,o.padLength=128,o.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h.slice(0,12),"big"):r.split32(this.h.slice(0,12),"big")}},function(e,t,n){"use strict";var r=n(17),i=n(30),o=r.rotl32,s=r.sum32,a=r.sum32_3,f=r.sum32_4,c=i.BlockHash;function u(){if(!(this instanceof u))return new u;c.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function l(e,t,n,r){return e<=15?t^n^r:e<=31?t&n|~t&r:e<=47?(t|~n)^r:e<=63?t&r|n&~r:t^(n|~r)}function d(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function h(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}r.inherits(u,c),t.ripemd160=u,u.blockSize=512,u.outSize=160,u.hmacStrength=192,u.padLength=64,u.prototype._update=function(e,t){for(var n=this.h[0],r=this.h[1],i=this.h[2],c=this.h[3],u=this.h[4],y=n,b=r,v=i,A=c,w=u,E=0;E<80;E++){var S=s(o(f(n,l(E,r,i,c),e[p[E]+t],d(E)),m[E]),u);n=u,u=c,c=o(i,10),i=r,r=S,S=s(o(f(y,l(79-E,b,v,A),e[g[E]+t],h(E)),_[E]),w),y=w,w=A,A=o(v,10),v=b,b=S}S=a(this.h[1],i,A),this.h[1]=a(this.h[2],c,w),this.h[2]=a(this.h[3],u,y),this.h[3]=a(this.h[4],n,b),this.h[4]=a(this.h[0],r,v),this.h[0]=S},u.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h,"little"):r.split32(this.h,"little")};var p=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],g=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],m=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],_=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},function(e,t,n){"use strict";var r=n(17),i=n(14);function o(e,t,n){if(!(this instanceof o))return new o(e,t,n);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(r.toArray(t,n))}e.exports=o,o.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),i(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},o.prototype.update=function(e,t){return this.inner.update(e,t),this},o.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}},function(e,t){e.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},function(e,t,n){"use strict";var r=n(12),i=n(236),o=n(15),s=n(69),a=n(66),f=o.assert,c=n(237),u=n(238);function l(e){if(!(this instanceof l))return new l(e);"string"==typeof e&&(f(s.hasOwnProperty(e),"Unknown curve "+e),e=s[e]),e instanceof s.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}e.exports=l,l.prototype.keyPair=function(e){return new c(this,e)},l.prototype.keyFromPrivate=function(e,t){return c.fromPrivate(this,e,t)},l.prototype.keyFromPublic=function(e,t){return c.fromPublic(this,e,t)},l.prototype.genKeyPair=function(e){e||(e={});for(var t=new i({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||a(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),n=this.n.byteLength(),o=this.n.sub(new r(2));;){var s=new r(t.generate(n));if(!(s.cmp(o)>0))return s.iaddn(1),this.keyFromPrivate(s)}},l.prototype._truncateToN=function(e,t){var n=8*e.byteLength()-this.n.bitLength();return n>0&&(e=e.ushrn(n)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},l.prototype.sign=function(e,t,n,o){"object"==typeof n&&(o=n,n=null),o||(o={}),t=this.keyFromPrivate(t,n),e=this._truncateToN(new r(e,16));for(var s=this.n.byteLength(),a=t.getPrivate().toArray("be",s),f=e.toArray("be",s),c=new i({hash:this.hash,entropy:a,nonce:f,pers:o.pers,persEnc:o.persEnc||"utf8"}),l=this.n.sub(new r(1)),d=0;;d++){var h=o.k?o.k(d):new r(c.generate(this.n.byteLength()));if(!((h=this._truncateToN(h,!0)).cmpn(1)<=0||h.cmp(l)>=0)){var p=this.g.mul(h);if(!p.isInfinity()){var g=p.getX(),m=g.umod(this.n);if(0!==m.cmpn(0)){var _=h.invm(this.n).mul(m.mul(t.getPrivate()).iadd(e));if(0!==(_=_.umod(this.n)).cmpn(0)){var y=(p.getY().isOdd()?1:0)|(0!==g.cmp(m)?2:0);return o.canonical&&_.cmp(this.nh)>0&&(_=this.n.sub(_),y^=1),new u({r:m,s:_,recoveryParam:y})}}}}}},l.prototype.verify=function(e,t,n,i){e=this._truncateToN(new r(e,16)),n=this.keyFromPublic(n,i);var o=(t=new u(t,"hex")).r,s=t.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var a,f=s.invm(this.n),c=f.mul(e).umod(this.n),l=f.mul(o).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(c,n.getPublic(),l)).isInfinity()&&a.eqXToP(o):!(a=this.g.mulAdd(c,n.getPublic(),l)).isInfinity()&&0===a.getX().umod(this.n).cmp(o)},l.prototype.recoverPubKey=function(e,t,n,i){f((3&n)===n,"The recovery param is more than two bits"),t=new u(t,i);var o=this.n,s=new r(e),a=t.r,c=t.s,l=1&n,d=n>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&d)throw new Error("Unable to find sencond key candinate");a=d?this.curve.pointFromX(a.add(this.curve.n),l):this.curve.pointFromX(a,l);var h=t.r.invm(o),p=o.sub(s).mul(h).umod(o),g=c.mul(h).umod(o);return this.g.mulAdd(p,a,g)},l.prototype.getKeyRecoveryParam=function(e,t,n,r){if(null!==(t=new u(t,r)).recoveryParam)return t.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(e,t,i)}catch(e){continue}if(o.eq(n))return i}throw new Error("Unable to find valid recovery factor")}},function(e,t,n){"use strict";var r=n(70),i=n(113),o=n(14);function s(e){if(!(this instanceof s))return new s(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=i.toArray(e.entropy,e.entropyEnc||"hex"),n=i.toArray(e.nonce,e.nonceEnc||"hex"),r=i.toArray(e.pers,e.persEnc||"hex");o(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,n,r)}e.exports=s,s.prototype._init=function(e,t,n){var r=e.concat(t).concat(n);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(r),this._reseed=1,this.reseedInterval=281474976710656},s.prototype._hmac=function(){return new r.hmac(this.hash,this.K)},s.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},s.prototype.reseed=function(e,t,n,r){"string"!=typeof t&&(r=n,n=t,t=null),e=i.toArray(e,t),n=i.toArray(n,r),o(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(n||[])),this._reseed=1},s.prototype.generate=function(e,t,n,r){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(r=n,n=t,t=null),n&&(n=i.toArray(n,r||"hex"),this._update(n));for(var o=[];o.length<e;)this.V=this._hmac().update(this.V).digest(),o=o.concat(this.V);var s=o.slice(0,e);return this._update(n),this._reseed++,i.encode(s,t)}},function(e,t,n){"use strict";var r=n(12),i=n(15).assert;function o(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}e.exports=o,o.fromPublic=function(e,t,n){return t instanceof o?t:new o(e,{pub:t,pubEnc:n})},o.fromPrivate=function(e,t,n){return t instanceof o?t:new o(e,{priv:t,privEnc:n})},o.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},o.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},o.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},o.prototype._importPrivate=function(e,t){this.priv=new r(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},o.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?i(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||i(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},o.prototype.derive=function(e){return e.mul(this.priv).getX()},o.prototype.sign=function(e,t,n){return this.ec.sign(e,this,t,n)},o.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},o.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"}},function(e,t,n){"use strict";var r=n(12),i=n(15),o=i.assert;function s(e,t){if(e instanceof s)return e;this._importDER(e,t)||(o(e.r&&e.s,"Signature without r or s"),this.r=new r(e.r,16),this.s=new r(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function a(){this.place=0}function f(e,t){var n=e[t.place++];if(!(128&n))return n;for(var r=15&n,i=0,o=0,s=t.place;o<r;o++,s++)i<<=8,i|=e[s];return t.place=s,i}function c(e){for(var t=0,n=e.length-1;!e[t]&&!(128&e[t+1])&&t<n;)t++;return 0===t?e:e.slice(t)}function u(e,t){if(t<128)e.push(t);else{var n=1+(Math.log(t)/Math.LN2>>>3);for(e.push(128|n);--n;)e.push(t>>>(n<<3)&255);e.push(t)}}e.exports=s,s.prototype._importDER=function(e,t){e=i.toArray(e,t);var n=new a;if(48!==e[n.place++])return!1;if(f(e,n)+n.place!==e.length)return!1;if(2!==e[n.place++])return!1;var o=f(e,n),s=e.slice(n.place,o+n.place);if(n.place+=o,2!==e[n.place++])return!1;var c=f(e,n);if(e.length!==c+n.place)return!1;var u=e.slice(n.place,c+n.place);return 0===s[0]&&128&s[1]&&(s=s.slice(1)),0===u[0]&&128&u[1]&&(u=u.slice(1)),this.r=new r(s),this.s=new r(u),this.recoveryParam=null,!0},s.prototype.toDER=function(e){var t=this.r.toArray(),n=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&n[0]&&(n=[0].concat(n)),t=c(t),n=c(n);!(n[0]||128&n[1]);)n=n.slice(1);var r=[2];u(r,t.length),(r=r.concat(t)).push(2),u(r,n.length);var o=r.concat(n),s=[48];return u(s,o.length),s=s.concat(o),i.encode(s,e)}},function(e,t,n){"use strict";var r=n(70),i=n(69),o=n(15),s=o.assert,a=o.parseBytes,f=n(240),c=n(241);function u(e){if(s("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof u))return new u(e);e=i[e].curve;this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=r.sha512}e.exports=u,u.prototype.sign=function(e,t){e=a(e);var n=this.keyFromSecret(t),r=this.hashInt(n.messagePrefix(),e),i=this.g.mul(r),o=this.encodePoint(i),s=this.hashInt(o,n.pubBytes(),e).mul(n.priv()),f=r.add(s).umod(this.curve.n);return this.makeSignature({R:i,S:f,Rencoded:o})},u.prototype.verify=function(e,t,n){e=a(e),t=this.makeSignature(t);var r=this.keyFromPublic(n),i=this.hashInt(t.Rencoded(),r.pubBytes(),e),o=this.g.mul(t.S());return t.R().add(r.pub().mul(i)).eq(o)},u.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return o.intFromLE(e.digest()).umod(this.curve.n)},u.prototype.keyFromPublic=function(e){return f.fromPublic(this,e)},u.prototype.keyFromSecret=function(e){return f.fromSecret(this,e)},u.prototype.makeSignature=function(e){return e instanceof c?e:new c(this,e)},u.prototype.encodePoint=function(e){var t=e.getY().toArray("le",this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t},u.prototype.decodePoint=function(e){var t=(e=o.parseBytes(e)).length-1,n=e.slice(0,t).concat(-129&e[t]),r=0!=(128&e[t]),i=o.intFromLE(n);return this.curve.pointFromY(i,r)},u.prototype.encodeInt=function(e){return e.toArray("le",this.encodingLength)},u.prototype.decodeInt=function(e){return o.intFromLE(e)},u.prototype.isPoint=function(e){return e instanceof this.pointClass}},function(e,t,n){"use strict";var r=n(15),i=r.assert,o=r.parseBytes,s=r.cachedProperty;function a(e,t){this.eddsa=e,this._secret=o(t.secret),e.isPoint(t.pub)?this._pub=t.pub:this._pubBytes=o(t.pub)}a.fromPublic=function(e,t){return t instanceof a?t:new a(e,{pub:t})},a.fromSecret=function(e,t){return t instanceof a?t:new a(e,{secret:t})},a.prototype.secret=function(){return this._secret},s(a,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),s(a,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),s(a,"privBytes",(function(){var e=this.eddsa,t=this.hash(),n=e.encodingLength-1,r=t.slice(0,e.encodingLength);return r[0]&=248,r[n]&=127,r[n]|=64,r})),s(a,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),s(a,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),s(a,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),a.prototype.sign=function(e){return i(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},a.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},a.prototype.getSecret=function(e){return i(this._secret,"KeyPair is public only"),r.encode(this.secret(),e)},a.prototype.getPublic=function(e){return r.encode(this.pubBytes(),e)},e.exports=a},function(e,t,n){"use strict";var r=n(12),i=n(15),o=i.assert,s=i.cachedProperty,a=i.parseBytes;function f(e,t){this.eddsa=e,"object"!=typeof t&&(t=a(t)),Array.isArray(t)&&(t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),o(t.R&&t.S,"Signature without R or S"),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof r&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}s(f,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),s(f,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),s(f,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),s(f,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),f.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},f.prototype.toHex=function(){return i.encode(this.toBytes(),"hex").toUpperCase()},e.exports=f},function(e,t,n){"use strict";var r=n(31);t.certificate=n(252);var i=r.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())}));t.RSAPrivateKey=i;var o=r.define("RSAPublicKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())}));t.RSAPublicKey=o;var s=r.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(a),this.key("subjectPublicKey").bitstr())}));t.PublicKey=s;var a=r.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())})),f=r.define("PrivateKeyInfo",(function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(a),this.key("subjectPrivateKey").octstr())}));t.PrivateKey=f;var c=r.define("EncryptedPrivateKeyInfo",(function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())}));t.EncryptedPrivateKey=c;var u=r.define("DSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())}));t.DSAPrivateKey=u,t.DSAparam=r.define("DSAparam",(function(){this.int()}));var l=r.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(d),this.key("publicKey").optional().explicit(1).bitstr())}));t.ECPrivateKey=l;var d=r.define("ECParameters",(function(){this.choice({namedCurve:this.objid()})}));t.signature=r.define("signature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())}))},function(e,t,n){var r=n(31),i=n(2);function o(e,t){this.name=e,this.body=t,this.decoders={},this.encoders={}}t.define=function(e,t){return new o(e,t)},o.prototype._createNamed=function(e){var t;try{t=n(244).runInThisContext("(function "+this.name+"(entity) {\n this._initNamed(entity);\n})")}catch(e){t=function(e){this._initNamed(e)}}return i(t,e),t.prototype._initNamed=function(t){e.call(this,t)},new t(this)},o.prototype._getDecoder=function(e){return e=e||"der",this.decoders.hasOwnProperty(e)||(this.decoders[e]=this._createNamed(r.decoders[e])),this.decoders[e]},o.prototype.decode=function(e,t,n){return this._getDecoder(t).decode(e,n)},o.prototype._getEncoder=function(e){return e=e||"der",this.encoders.hasOwnProperty(e)||(this.encoders[e]=this._createNamed(r.encoders[e])),this.encoders[e]},o.prototype.encode=function(e,t,n){return this._getEncoder(t).encode(e,n)}},function(module,exports){var indexOf=function(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0;n<e.length;n++)if(e[n]===t)return n;return-1},Object_keys=function(e){if(Object.keys)return Object.keys(e);var t=[];for(var n in e)t.push(n);return t},forEach=function(e,t){if(e.forEach)return e.forEach(t);for(var n=0;n<e.length;n++)t(e[n],n,e)},defineProp=function(){try{return Object.defineProperty({},"_",{}),function(e,t,n){Object.defineProperty(e,t,{writable:!0,enumerable:!1,configurable:!0,value:n})}}catch(e){return function(e,t,n){e[t]=n}}}(),globals=["Array","Boolean","Date","Error","EvalError","Function","Infinity","JSON","Math","NaN","Number","Object","RangeError","ReferenceError","RegExp","String","SyntaxError","TypeError","URIError","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","eval","isFinite","isNaN","parseFloat","parseInt","undefined","unescape"];function Context(){}Context.prototype={};var Script=exports.Script=function(e){if(!(this instanceof Script))return new Script(e);this.code=e};Script.prototype.runInContext=function(e){if(!(e instanceof Context))throw new TypeError("needs a 'context' argument.");var t=document.createElement("iframe");t.style||(t.style={}),t.style.display="none",document.body.appendChild(t);var n=t.contentWindow,r=n.eval,i=n.execScript;!r&&i&&(i.call(n,"null"),r=n.eval),forEach(Object_keys(e),(function(t){n[t]=e[t]})),forEach(globals,(function(t){e[t]&&(n[t]=e[t])}));var o=Object_keys(n),s=r.call(n,this.code);return forEach(Object_keys(n),(function(t){(t in e||-1===indexOf(o,t))&&(e[t]=n[t])})),forEach(globals,(function(t){t in e||defineProp(e,t,n[t])})),document.body.removeChild(t),s},Script.prototype.runInThisContext=function(){return eval(this.code)},Script.prototype.runInNewContext=function(e){var t=Script.createContext(e),n=this.runInContext(t);return e&&forEach(Object_keys(t),(function(n){e[n]=t[n]})),n},forEach(Object_keys(Script.prototype),(function(e){exports[e]=Script[e]=function(t){var n=Script(t);return n[e].apply(n,[].slice.call(arguments,1))}})),exports.isContext=function(e){return e instanceof Context},exports.createScript=function(e){return exports.Script(e)},exports.createContext=Script.createContext=function(e){var t=new Context;return"object"==typeof e&&forEach(Object_keys(e),(function(n){t[n]=e[n]})),t}},function(e,t,n){var r=n(2);function i(e){this._reporterState={obj:null,path:[],options:e||{},errors:[]}}function o(e,t){this.path=e,this.rethrow(t)}t.Reporter=i,i.prototype.isError=function(e){return e instanceof o},i.prototype.save=function(){var e=this._reporterState;return{obj:e.obj,pathLen:e.path.length}},i.prototype.restore=function(e){var t=this._reporterState;t.obj=e.obj,t.path=t.path.slice(0,e.pathLen)},i.prototype.enterKey=function(e){return this._reporterState.path.push(e)},i.prototype.exitKey=function(e){var t=this._reporterState;t.path=t.path.slice(0,e-1)},i.prototype.leaveKey=function(e,t,n){var r=this._reporterState;this.exitKey(e),null!==r.obj&&(r.obj[t]=n)},i.prototype.path=function(){return this._reporterState.path.join("/")},i.prototype.enterObject=function(){var e=this._reporterState,t=e.obj;return e.obj={},t},i.prototype.leaveObject=function(e){var t=this._reporterState,n=t.obj;return t.obj=e,n},i.prototype.error=function(e){var t,n=this._reporterState,r=e instanceof o;if(t=r?e:new o(n.path.map((function(e){return"["+JSON.stringify(e)+"]"})).join(""),e.message||e,e.stack),!n.options.partial)throw t;return r||n.errors.push(t),t},i.prototype.wrapResult=function(e){var t=this._reporterState;return t.options.partial?{result:this.isError(e)?null:e,errors:t.errors}:e},r(o,Error),o.prototype.rethrow=function(e){if(this.message=e+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,o),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}},function(e,t,n){var r=n(32).Reporter,i=n(32).EncoderBuffer,o=n(32).DecoderBuffer,s=n(14),a=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],f=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(a);function c(e,t){var n={};this._baseState=n,n.enc=e,n.parent=t||null,n.children=null,n.tag=null,n.args=null,n.reverseArgs=null,n.choice=null,n.optional=!1,n.any=!1,n.obj=!1,n.use=null,n.useDecoder=null,n.key=null,n.default=null,n.explicit=null,n.implicit=null,n.contains=null,n.parent||(n.children=[],this._wrap())}e.exports=c;var u=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];c.prototype.clone=function(){var e=this._baseState,t={};u.forEach((function(n){t[n]=e[n]}));var n=new this.constructor(t.parent);return n._baseState=t,n},c.prototype._wrap=function(){var e=this._baseState;f.forEach((function(t){this[t]=function(){var n=new this.constructor(this);return e.children.push(n),n[t].apply(n,arguments)}}),this)},c.prototype._init=function(e){var t=this._baseState;s(null===t.parent),e.call(this),t.children=t.children.filter((function(e){return e._baseState.parent===this}),this),s.equal(t.children.length,1,"Root node can have only one child")},c.prototype._useArgs=function(e){var t=this._baseState,n=e.filter((function(e){return e instanceof this.constructor}),this);e=e.filter((function(e){return!(e instanceof this.constructor)}),this),0!==n.length&&(s(null===t.children),t.children=n,n.forEach((function(e){e._baseState.parent=this}),this)),0!==e.length&&(s(null===t.args),t.args=e,t.reverseArgs=e.map((function(e){if("object"!=typeof e||e.constructor!==Object)return e;var t={};return Object.keys(e).forEach((function(n){n==(0|n)&&(n|=0);var r=e[n];t[r]=n})),t})))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach((function(e){c.prototype[e]=function(){var t=this._baseState;throw new Error(e+" not implemented for encoding: "+t.enc)}})),a.forEach((function(e){c.prototype[e]=function(){var t=this._baseState,n=Array.prototype.slice.call(arguments);return s(null===t.tag),t.tag=e,this._useArgs(n),this}})),c.prototype.use=function(e){s(e);var t=this._baseState;return s(null===t.use),t.use=e,this},c.prototype.optional=function(){return this._baseState.optional=!0,this},c.prototype.def=function(e){var t=this._baseState;return s(null===t.default),t.default=e,t.optional=!0,this},c.prototype.explicit=function(e){var t=this._baseState;return s(null===t.explicit&&null===t.implicit),t.explicit=e,this},c.prototype.implicit=function(e){var t=this._baseState;return s(null===t.explicit&&null===t.implicit),t.implicit=e,this},c.prototype.obj=function(){var e=this._baseState,t=Array.prototype.slice.call(arguments);return e.obj=!0,0!==t.length&&this._useArgs(t),this},c.prototype.key=function(e){var t=this._baseState;return s(null===t.key),t.key=e,this},c.prototype.any=function(){return this._baseState.any=!0,this},c.prototype.choice=function(e){var t=this._baseState;return s(null===t.choice),t.choice=e,this._useArgs(Object.keys(e).map((function(t){return e[t]}))),this},c.prototype.contains=function(e){var t=this._baseState;return s(null===t.use),t.contains=e,this},c.prototype._decode=function(e,t){var n=this._baseState;if(null===n.parent)return e.wrapResult(n.children[0]._decode(e,t));var r,i=n.default,s=!0,a=null;if(null!==n.key&&(a=e.enterKey(n.key)),n.optional){var f=null;if(null!==n.explicit?f=n.explicit:null!==n.implicit?f=n.implicit:null!==n.tag&&(f=n.tag),null!==f||n.any){if(s=this._peekTag(e,f,n.any),e.isError(s))return s}else{var c=e.save();try{null===n.choice?this._decodeGeneric(n.tag,e,t):this._decodeChoice(e,t),s=!0}catch(e){s=!1}e.restore(c)}}if(n.obj&&s&&(r=e.enterObject()),s){if(null!==n.explicit){var u=this._decodeTag(e,n.explicit);if(e.isError(u))return u;e=u}var l=e.offset;if(null===n.use&&null===n.choice){if(n.any)c=e.save();var d=this._decodeTag(e,null!==n.implicit?n.implicit:n.tag,n.any);if(e.isError(d))return d;n.any?i=e.raw(c):e=d}if(t&&t.track&&null!==n.tag&&t.track(e.path(),l,e.length,"tagged"),t&&t.track&&null!==n.tag&&t.track(e.path(),e.offset,e.length,"content"),i=n.any?i:null===n.choice?this._decodeGeneric(n.tag,e,t):this._decodeChoice(e,t),e.isError(i))return i;if(n.any||null!==n.choice||null===n.children||n.children.forEach((function(n){n._decode(e,t)})),n.contains&&("octstr"===n.tag||"bitstr"===n.tag)){var h=new o(i);i=this._getUse(n.contains,e._reporterState.obj)._decode(h,t)}}return n.obj&&s&&(i=e.leaveObject(r)),null===n.key||null===i&&!0!==s?null!==a&&e.exitKey(a):e.leaveKey(a,n.key,i),i},c.prototype._decodeGeneric=function(e,t,n){var r=this._baseState;return"seq"===e||"set"===e?null:"seqof"===e||"setof"===e?this._decodeList(t,e,r.args[0],n):/str$/.test(e)?this._decodeStr(t,e,n):"objid"===e&&r.args?this._decodeObjid(t,r.args[0],r.args[1],n):"objid"===e?this._decodeObjid(t,null,null,n):"gentime"===e||"utctime"===e?this._decodeTime(t,e,n):"null_"===e?this._decodeNull(t,n):"bool"===e?this._decodeBool(t,n):"objDesc"===e?this._decodeStr(t,e,n):"int"===e||"enum"===e?this._decodeInt(t,r.args&&r.args[0],n):null!==r.use?this._getUse(r.use,t._reporterState.obj)._decode(t,n):t.error("unknown tag: "+e)},c.prototype._getUse=function(e,t){var n=this._baseState;return n.useDecoder=this._use(e,t),s(null===n.useDecoder._baseState.parent),n.useDecoder=n.useDecoder._baseState.children[0],n.implicit!==n.useDecoder._baseState.implicit&&(n.useDecoder=n.useDecoder.clone(),n.useDecoder._baseState.implicit=n.implicit),n.useDecoder},c.prototype._decodeChoice=function(e,t){var n=this._baseState,r=null,i=!1;return Object.keys(n.choice).some((function(o){var s=e.save(),a=n.choice[o];try{var f=a._decode(e,t);if(e.isError(f))return!1;r={type:o,value:f},i=!0}catch(t){return e.restore(s),!1}return!0}),this),i?r:e.error("Choice not matched")},c.prototype._createEncoderBuffer=function(e){return new i(e,this.reporter)},c.prototype._encode=function(e,t,n){var r=this._baseState;if(null===r.default||r.default!==e){var i=this._encodeValue(e,t,n);if(void 0!==i&&!this._skipDefault(i,t,n))return i}},c.prototype._encodeValue=function(e,t,n){var i=this._baseState;if(null===i.parent)return i.children[0]._encode(e,t||new r);var o=null;if(this.reporter=t,i.optional&&void 0===e){if(null===i.default)return;e=i.default}var s=null,a=!1;if(i.any)o=this._createEncoderBuffer(e);else if(i.choice)o=this._encodeChoice(e,t);else if(i.contains)s=this._getUse(i.contains,n)._encode(e,t),a=!0;else if(i.children)s=i.children.map((function(n){if("null_"===n._baseState.tag)return n._encode(null,t,e);if(null===n._baseState.key)return t.error("Child should have a key");var r=t.enterKey(n._baseState.key);if("object"!=typeof e)return t.error("Child expected, but input is not object");var i=n._encode(e[n._baseState.key],t,e);return t.leaveKey(r),i}),this).filter((function(e){return e})),s=this._createEncoderBuffer(s);else if("seqof"===i.tag||"setof"===i.tag){if(!i.args||1!==i.args.length)return t.error("Too many args for : "+i.tag);if(!Array.isArray(e))return t.error("seqof/setof, but data is not Array");var f=this.clone();f._baseState.implicit=null,s=this._createEncoderBuffer(e.map((function(n){var r=this._baseState;return this._getUse(r.args[0],e)._encode(n,t)}),f))}else null!==i.use?o=this._getUse(i.use,n)._encode(e,t):(s=this._encodePrimitive(i.tag,e),a=!0);if(!i.any&&null===i.choice){var c=null!==i.implicit?i.implicit:i.tag,u=null===i.implicit?"universal":"context";null===c?null===i.use&&t.error("Tag could be omitted only for .use()"):null===i.use&&(o=this._encodeComposite(c,a,u,s))}return null!==i.explicit&&(o=this._encodeComposite(i.explicit,!1,"context",o)),o},c.prototype._encodeChoice=function(e,t){var n=this._baseState,r=n.choice[e.type];return r||s(!1,e.type+" not found in "+JSON.stringify(Object.keys(n.choice))),r._encode(e.value,t)},c.prototype._encodePrimitive=function(e,t){var n=this._baseState;if(/str$/.test(e))return this._encodeStr(t,e);if("objid"===e&&n.args)return this._encodeObjid(t,n.reverseArgs[0],n.args[1]);if("objid"===e)return this._encodeObjid(t,null,null);if("gentime"===e||"utctime"===e)return this._encodeTime(t,e);if("null_"===e)return this._encodeNull();if("int"===e||"enum"===e)return this._encodeInt(t,n.args&&n.reverseArgs[0]);if("bool"===e)return this._encodeBool(t);if("objDesc"===e)return this._encodeStr(t,e);throw new Error("Unsupported tag: "+e)},c.prototype._isNumstr=function(e){return/^[0-9 ]*$/.test(e)},c.prototype._isPrintstr=function(e){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(e)}},function(e,t,n){var r=n(119);t.tagClass={0:"universal",1:"application",2:"context",3:"private"},t.tagClassByName=r._reverse(t.tagClass),t.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},t.tagByName=r._reverse(t.tag)},function(e,t,n){var r=t;r.der=n(120),r.pem=n(249)},function(e,t,n){var r=n(2),i=n(11).Buffer,o=n(120);function s(e){o.call(this,e),this.enc="pem"}r(s,o),e.exports=s,s.prototype.decode=function(e,t){for(var n=e.toString().split(/[\r\n]+/g),r=t.label.toUpperCase(),s=/^-----(BEGIN|END) ([^-]+)-----$/,a=-1,f=-1,c=0;c<n.length;c++){var u=n[c].match(s);if(null!==u&&u[2]===r){if(-1!==a){if("END"!==u[1])break;f=c;break}if("BEGIN"!==u[1])break;a=c}}if(-1===a||-1===f)throw new Error("PEM section not found for: "+r);var l=n.slice(a+1,f).join("");l.replace(/[^a-z0-9\+\/=]+/gi,"");var d=new i(l,"base64");return o.prototype.decode.call(this,d,t)}},function(e,t,n){var r=t;r.der=n(121),r.pem=n(251)},function(e,t,n){var r=n(2),i=n(121);function o(e){i.call(this,e),this.enc="pem"}r(o,i),e.exports=o,o.prototype.encode=function(e,t){for(var n=i.prototype.encode.call(this,e).toString("base64"),r=["-----BEGIN "+t.label+"-----"],o=0;o<n.length;o+=64)r.push(n.slice(o,o+64));return r.push("-----END "+t.label+"-----"),r.join("\n")}},function(e,t,n){"use strict";var r=n(31),i=r.define("Time",(function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})})),o=r.define("AttributeTypeValue",(function(){this.seq().obj(this.key("type").objid(),this.key("value").any())})),s=r.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())})),a=r.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(s),this.key("subjectPublicKey").bitstr())})),f=r.define("RelativeDistinguishedName",(function(){this.setof(o)})),c=r.define("RDNSequence",(function(){this.seqof(f)})),u=r.define("Name",(function(){this.choice({rdnSequence:this.use(c)})})),l=r.define("Validity",(function(){this.seq().obj(this.key("notBefore").use(i),this.key("notAfter").use(i))})),d=r.define("Extension",(function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())})),h=r.define("TBSCertificate",(function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(s),this.key("issuer").use(u),this.key("validity").use(l),this.key("subject").use(u),this.key("subjectPublicKeyInfo").use(a),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(d).optional())})),p=r.define("X509Certificate",(function(){this.seq().obj(this.key("tbsCertificate").use(h),this.key("signatureAlgorithm").use(s),this.key("signatureValue").bitstr())}));e.exports=p},function(e){e.exports=JSON.parse('{"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}')},function(e,t,n){var r=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r\+\/\=]+)[\n\r]+/m,i=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,o=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r\+\/\=]+)-----END \1-----$/m,s=n(42),a=n(64),f=n(3).Buffer;e.exports=function(e,t){var n,c=e.toString(),u=c.match(r);if(u){var l="aes"+u[1],d=f.from(u[2],"hex"),h=f.from(u[3].replace(/[\r\n]/g,""),"base64"),p=s(t,d.slice(0,8),parseInt(u[1],10)).key,g=[],m=a.createDecipheriv(l,p,d);g.push(m.update(h)),g.push(m.final()),n=f.concat(g)}else{var _=c.match(o);n=new f(_[2].replace(/[\r\n]/g,""),"base64")}return{tag:c.match(i)[1],data:n}}},function(e,t,n){(function(t){var r=n(12),i=n(68).ec,o=n(44),s=n(122);function a(e,t){if(e.cmpn(0)<=0)throw new Error("invalid sig");if(e.cmp(t)>=t)throw new Error("invalid sig")}e.exports=function(e,n,f,c,u){var l=o(f);if("ec"===l.type){if("ecdsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");return function(e,t,n){var r=s[n.data.algorithm.curve.join(".")];if(!r)throw new Error("unknown curve "+n.data.algorithm.curve.join("."));var o=new i(r),a=n.data.subjectPrivateKey.data;return o.verify(t,e,a)}(e,n,l)}if("dsa"===l.type){if("dsa"!==c)throw new Error("wrong public key type");return function(e,t,n){var i=n.data.p,s=n.data.q,f=n.data.g,c=n.data.pub_key,u=o.signature.decode(e,"der"),l=u.s,d=u.r;a(l,s),a(d,s);var h=r.mont(i),p=l.invm(s);return 0===f.toRed(h).redPow(new r(t).mul(p).mod(s)).fromRed().mul(c.toRed(h).redPow(d.mul(p).mod(s)).fromRed()).mod(i).mod(s).cmp(d)}(e,n,l)}if("rsa"!==c&&"ecdsa/rsa"!==c)throw new Error("wrong public key type");n=t.concat([u,n]);for(var d=l.modulus.byteLength(),h=[1],p=0;n.length+h.length+2<d;)h.push(255),p++;h.push(0);for(var g=-1;++g<n.length;)h.push(n[g]);h=new t(h);var m=r.mont(l.modulus);e=(e=new r(e).toRed(m)).redPow(new r(l.publicExponent)),e=new t(e.fromRed().toArray());var _=p<8?1:0;for(d=Math.min(e.length,h.length),e.length!==h.length&&(_=1),g=-1;++g<d;)_|=e[g]^h[g];return 0===_}}).call(this,n(11).Buffer)},function(e,t,n){(function(t){var r=n(68),i=n(12);e.exports=function(e){return new s(e)};var o={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function s(e){this.curveType=o[e],this.curveType||(this.curveType={name:e}),this.curve=new r.ec(this.curveType.name),this.keys=void 0}function a(e,n,r){Array.isArray(e)||(e=e.toArray());var i=new t(e);if(r&&i.length<r){var o=new t(r-i.length);o.fill(0),i=t.concat([o,i])}return n?i.toString(n):i}o.p224=o.secp224r1,o.p256=o.secp256r1=o.prime256v1,o.p192=o.secp192r1=o.prime192v1,o.p384=o.secp384r1,o.p521=o.secp521r1,s.prototype.generateKeys=function(e,t){return this.keys=this.curve.genKeyPair(),this.getPublicKey(e,t)},s.prototype.computeSecret=function(e,n,r){return n=n||"utf8",t.isBuffer(e)||(e=new t(e,n)),a(this.curve.keyFromPublic(e).getPublic().mul(this.keys.getPrivate()).getX(),r,this.curveType.byteLength)},s.prototype.getPublicKey=function(e,t){var n=this.keys.getPublic("compressed"===t,!0);return"hybrid"===t&&(n[n.length-1]%2?n[0]=7:n[0]=6),a(n,e)},s.prototype.getPrivateKey=function(e){return a(this.keys.getPrivate(),e)},s.prototype.setPublicKey=function(e,n){return n=n||"utf8",t.isBuffer(e)||(e=new t(e,n)),this.keys._importPublic(e),this},s.prototype.setPrivateKey=function(e,n){n=n||"utf8",t.isBuffer(e)||(e=new t(e,n));var r=new i(e);return r=r.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(r),this}}).call(this,n(11).Buffer)},function(e,t,n){t.publicEncrypt=n(258),t.privateDecrypt=n(259),t.privateEncrypt=function(e,n){return t.publicEncrypt(e,n,!0)},t.publicDecrypt=function(e,n){return t.privateDecrypt(e,n,!0)}},function(e,t,n){var r=n(44),i=n(22),o=n(28),s=n(123),a=n(124),f=n(12),c=n(125),u=n(67),l=n(3).Buffer;e.exports=function(e,t,n){var d;d=e.padding?e.padding:n?1:4;var h,p=r(e);if(4===d)h=function(e,t){var n=e.modulus.byteLength(),r=t.length,c=o("sha1").update(l.alloc(0)).digest(),u=c.length,d=2*u;if(r>n-d-2)throw new Error("message too long");var h=l.alloc(n-r-d-2),p=n-u-1,g=i(u),m=a(l.concat([c,h,l.alloc(1,1),t],p),s(g,p)),_=a(g,s(m,u));return new f(l.concat([l.alloc(1),_,m],n))}(p,t);else if(1===d)h=function(e,t,n){var r,o=t.length,s=e.modulus.byteLength();if(o>s-11)throw new Error("message too long");r=n?l.alloc(s-o-3,255):function(e){var t,n=l.allocUnsafe(e),r=0,o=i(2*e),s=0;for(;r<e;)s===o.length&&(o=i(2*e),s=0),(t=o[s++])&&(n[r++]=t);return n}(s-o-3);return new f(l.concat([l.from([0,n?1:2]),r,l.alloc(1),t],s))}(p,t,n);else{if(3!==d)throw new Error("unknown padding");if((h=new f(t)).cmp(p.modulus)>=0)throw new Error("data too long for modulus")}return n?u(h,p):c(h,p)}},function(e,t,n){var r=n(44),i=n(123),o=n(124),s=n(12),a=n(67),f=n(28),c=n(125),u=n(3).Buffer;e.exports=function(e,t,n){var l;l=e.padding?e.padding:n?1:4;var d,h=r(e),p=h.modulus.byteLength();if(t.length>p||new s(t).cmp(h.modulus)>=0)throw new Error("decryption error");d=n?c(new s(t),h):a(t,h);var g=u.alloc(p-d.length);if(d=u.concat([g,d],p),4===l)return function(e,t){var n=e.modulus.byteLength(),r=f("sha1").update(u.alloc(0)).digest(),s=r.length;if(0!==t[0])throw new Error("decryption error");var a=t.slice(1,s+1),c=t.slice(s+1),l=o(a,i(c,s)),d=o(c,i(l,n-s-1));if(function(e,t){e=u.from(e),t=u.from(t);var n=0,r=e.length;e.length!==t.length&&(n++,r=Math.min(e.length,t.length));var i=-1;for(;++i<r;)n+=e[i]^t[i];return n}(r,d.slice(0,s)))throw new Error("decryption error");var h=s;for(;0===d[h];)h++;if(1!==d[h++])throw new Error("decryption error");return d.slice(h)}(h,d);if(1===l)return function(e,t,n){var r=t.slice(0,2),i=2,o=0;for(;0!==t[i++];)if(i>=t.length){o++;break}var s=t.slice(2,i-1);("0002"!==r.toString("hex")&&!n||"0001"!==r.toString("hex")&&n)&&o++;s.length<8&&o++;if(o)throw new Error("decryption error");return t.slice(i)}(0,d,n);if(3===l)return d;throw new Error("unknown padding")}},function(e,t,n){"use strict";(function(e,r){function i(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var o=n(3),s=n(22),a=o.Buffer,f=o.kMaxLength,c=e.crypto||e.msCrypto,u=Math.pow(2,32)-1;function l(e,t){if("number"!=typeof e||e!=e)throw new TypeError("offset must be a number");if(e>u||e<0)throw new TypeError("offset must be a uint32");if(e>f||e>t)throw new RangeError("offset out of range")}function d(e,t,n){if("number"!=typeof e||e!=e)throw new TypeError("size must be a number");if(e>u||e<0)throw new TypeError("size must be a uint32");if(e+t>n||e>f)throw new RangeError("buffer too small")}function h(e,t,n,i){if(r.browser){var o=e.buffer,a=new Uint8Array(o,t,n);return c.getRandomValues(a),i?void r.nextTick((function(){i(null,e)})):e}if(!i)return s(n).copy(e,t),e;s(n,(function(n,r){if(n)return i(n);r.copy(e,t),i(null,e)}))}c&&c.getRandomValues||!r.browser?(t.randomFill=function(t,n,r,i){if(!(a.isBuffer(t)||t instanceof e.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof n)i=n,n=0,r=t.length;else if("function"==typeof r)i=r,r=t.length-n;else if("function"!=typeof i)throw new TypeError('"cb" argument must be a function');return l(n,t.length),d(r,n,t.length),h(t,n,r,i)},t.randomFillSync=function(t,n,r){void 0===n&&(n=0);if(!(a.isBuffer(t)||t instanceof e.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');l(n,t.length),void 0===r&&(r=t.length-n);return d(r,n,t.length),h(t,n,r)}):(t.randomFill=i,t.randomFillSync=i)}).call(this,n(6),n(13))},function(e,t,n){var r,i;!function(o,s){"use strict";void 0===(i="function"==typeof(r=function(){var e=function(){},t="undefined"!=typeof window&&/Trident\/|MSIE /.test(window.navigator.userAgent),n=["trace","debug","info","warn","error"];function r(e,t){var n=e[t];if("function"==typeof n.bind)return n.bind(e);try{return Function.prototype.bind.call(n,e)}catch(t){return function(){return Function.prototype.apply.apply(n,[e,arguments])}}}function i(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function o(n){return"debug"===n&&(n="log"),"undefined"!=typeof console&&("trace"===n&&t?i:void 0!==console[n]?r(console,n):void 0!==console.log?r(console,"log"):e)}function s(t,r){for(var i=0;i<n.length;i++){var o=n[i];this[o]=i<t?e:this.methodFactory(o,t,r)}this.log=this.debug}function a(e,t,n){return function(){"undefined"!=typeof console&&(s.call(this,t,n),this[e].apply(this,arguments))}}function f(e,t,n){return o(e)||a.apply(this,arguments)}function c(e,t,r){var i,o=this,a="loglevel";function c(){var e;if("undefined"!=typeof window){try{e=window.localStorage[a]}catch(e){}if(void 0===e)try{var t=window.document.cookie,n=t.indexOf(encodeURIComponent(a)+"=");-1!==n&&(e=/^([^;]+)/.exec(t.slice(n))[1])}catch(e){}return void 0===o.levels[e]&&(e=void 0),e}}e&&(a+=":"+e),o.name=e,o.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},o.methodFactory=r||f,o.getLevel=function(){return i},o.setLevel=function(t,r){if("string"==typeof t&&void 0!==o.levels[t.toUpperCase()]&&(t=o.levels[t.toUpperCase()]),!("number"==typeof t&&t>=0&&t<=o.levels.SILENT))throw"log.setLevel() called with invalid level: "+t;if(i=t,!1!==r&&function(e){var t=(n[e]||"silent").toUpperCase();if("undefined"!=typeof window){try{return void(window.localStorage[a]=t)}catch(e){}try{window.document.cookie=encodeURIComponent(a)+"="+t+";"}catch(e){}}}(t),s.call(o,t,e),"undefined"==typeof console&&t<o.levels.SILENT)return"No console available for logging"},o.setDefaultLevel=function(e){c()||o.setLevel(e,!1)},o.enableAll=function(e){o.setLevel(o.levels.TRACE,e)},o.disableAll=function(e){o.setLevel(o.levels.SILENT,e)};var u=c();null==u&&(u=null==t?"WARN":t),o.setLevel(u,!1)}var u=new c,l={};u.getLogger=function(e){if("string"!=typeof e||""===e)throw new TypeError("You must supply a name when creating a logger.");var t=l[e];return t||(t=l[e]=new c(e,u.getLevel(),u.methodFactory)),t};var d="undefined"!=typeof window?window.log:void 0;return u.noConflict=function(){return"undefined"!=typeof window&&window.log===u&&(window.log=d),u},u.getLoggers=function(){return l},u})?r.call(t,n,t,e):r)||(e.exports=i)}()},function(e,t,n){"use strict";var r=n(263);var i=RegExp(Object.keys(r).map((function(e){return e.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")})).join("|"),"g");function o(e){return r[e]}e.exports=function(e){return e.replace(i,o)}},function(e){e.exports=JSON.parse('{"0":"O","1":"l","֭":"֖","֮":"֘","֨":"֙","֤":"֚","᪴":"ۛ","⃛":"ۛ","ؙ":"̓","ࣳ":"̓","̓":"̓","̕":"̓","ُ":"̓","ٝ":"̔","֜":"́","֝":"́","ؘ":"́","݇":"́","́":"́","॔":"́","َ":"́","̀":"̀","॓":"̀","̌":"̆","꙼":"̆","٘":"̆","ٚ":"̆","ͮ":"̆","ۨ":"̆̇","̐":"̆̇","ँ":"̆̇","ঁ":"̆̇","ઁ":"̆̇","ଁ":"̆̇","ఀ":"̆̇","ಁ":"̆̇","ഁ":"̆̇","𑒿":"̆̇","᳐":"̂","̑":"̂","ٛ":"̂","߮":"̂","꛰":"̂","֯":"̊","۟":"̊","៓":"̊","゚":"̊","ْ":"̊","ஂ":"̊","ံ":"̊","ំ":"̊","𑌀":"̊","ํ":"̊","ໍ":"̊","ͦ":"̊","ⷪ":"̊","࣫":"̈","߳":"̈","ً":"̋","ࣰ":"̋","͂":"̃","ٓ":"̃","ׄ":"̇","۬":"̇","݀":"̇","࣪":"̇","݁":"̇","͘":"̇","ֹ":"̇","ֺ":"̇","ׂ":"̇","ׁ":"̇","߭":"̇","ं":"̇","ਂ":"̇","ં":"̇","்":"̇","̷":"̸","᪷":"̨","̢":"̨","ͅ":"̨","᳒":"̄","̅":"̄","ٙ":"̄","߫":"̄","꛱":"̄","᳚":"̎","ٗ":"̒","͗":"͐","ࣿ":"͐","ࣸ":"͐","ऀ":"͒","᳭":"̖","᳜":"̩","ٖ":"̩","᳕":"̫","͇":"̳","ࣹ":"͔","ࣺ":"͕","゛":"゙","゜":"゚","̶":"̵","〬":"̉","ׅ":"̣","࣭":"̣","᳝":"̣","ִ":"̣","ٜ":"̣","़":"̣","়":"̣","਼":"̣","઼":"̣","଼":"̣","𑇊":"̣","𑓃":"̣","𐨺":"̣","࣮":"̤","᳞":"̤","༷":"̥","〭":"̥","̧":"̦","̡":"̦","̹":"̦","᳙":"̭","᳘":"̮","॒":"̱","̠":"̱","ࣱ":"ٌ","ࣨ":"ٌ","ࣥ":"ٌ","ﱞ":"ﹲّ","ࣲ":"ٍ","ﱟ":"ﹴّ","ﳲ":"ﹷّ","ﱠ":"ﹶّ","ﳳ":"ﹹّ","ﱡ":"ﹸّ","ؚ":"ِ","̗":"ِ","ﳴ":"ﹻّ","ﱢ":"ﹺّ","ﱣ":"ﹼٰ","ٟ":"ٕ","̍":"ٰ","݂":"ܼ","ਃ":"ঃ","ః":"ঃ","ಃ":"ঃ","ഃ":"ঃ","ඃ":"ঃ","း":"ঃ","𑓁":"ঃ","់":"่","່":"่","້":"้","໊":"๊","໋":"๋","꙯":"⃩","\\u2028":" ","\\u2029":" ","":" "," ":" ","":" ","":" ","":" ","":" ","":" ","":" ","":" ","":" ","":" ","":" "," ":" ","":" ","":" ","ߺ":"_","":"_","":"_","":"_","":"-","":"-","":"-","":"-","":"-","۔":"-","":"-","˗":"-","":"-","":"-","":"-","⨩":"-̓","⸚":"-̈","﬩":"-̇","∸":"-̇","⨪":"-̣","꓾":"-.","":"〜","؍":",","٫":",","":",","¸":",","":",","⸲":"،","٬":"،",";":";","⸵":"؛","":":","":":","":":","։":":","܃":":","܄":":","":":","":":","":":","":":","":":","׃":":","˸":":","":":","":":","ː":":","":":","⩴":"::=","⧴":":→","":"!","ǃ":"!","":"!","‼":"!!","⁉":"!?","ʔ":"?","Ɂ":"?","":"?","":"?","":"?","⁈":"?!","⁇":"??","⸮":"؟","𝅭":".","":".","܁":".","܂":".","":".","𐩐":".","٠":".","۰":".","":".","ꓻ":".,","‥":"..","ꓺ":"..","…":"...","꛴":"꛳꛳","・":"·","・":"·","᛫":"·","·":"·","⸱":"·","𐄁":"·","•":"·","‧":"·","∙":"·","⋅":"·","ꞏ":"·","ᐧ":"·","⋯":"···","ⵈ":"···","ᑄ":"·<","⋗":"·>","ᐷ":"·>","ᑀ":"·>","ᔯ":"·4","ᑾ":"·b","ᒀ":"·ḃ","ᑺ":"·d","ᒘ":"·J","ᒶ":"·L","ᑶ":"·P","ᑗ":"·U","ᐺ":"·V","ᐼ":"·Ʌ","ᒮ":"·Γ","ᐎ":"·Δ","ᑙ":"·Ո","ᐌ":"·ᐁ","ᐐ":"·ᐄ","ᐒ":"·ᐅ","ᐔ":"·ᐆ","ᐗ":"·ᐊ","ᐙ":"·ᐋ","ᐾ":"·ᐲ","ᑂ":"·ᐴ","ᑆ":"·ᐹ","ᑛ":"·ᑏ","ᑔ":"·ᑐ","ᑝ":"·ᑐ","ᑟ":"·ᑑ","ᑡ":"·ᑕ","ᑣ":"·ᑖ","ᑴ":"·ᑫ","ᑸ":"·ᑮ","ᑼ":"·ᑰ","ᒒ":"·ᒉ","ᒔ":"·ᒋ","ᒖ":"·ᒌ","ᒚ":"·ᒎ","ᒜ":"·ᒐ","ᒞ":"·ᒑ","ᒬ":"·ᒣ","ᒰ":"·ᒦ","ᒲ":"·ᒧ","ᒴ":"·ᒨ","ᒸ":"·ᒫ","ᓉ":"·ᓀ","ᣆ":"·ᓂ","ᣈ":"·ᓃ","ᣊ":"·ᓄ","ᣌ":"·ᓅ","ᓋ":"·ᓇ","ᓍ":"·ᓈ","ᓜ":"·ᓓ","ᓞ":"·ᓕ","ᓠ":"·ᓖ","ᓢ":"·ᓗ","ᓤ":"·ᓘ","ᓦ":"·ᓚ","ᓨ":"·ᓛ","ᓶ":"·ᓭ","ᓸ":"·ᓯ","ᓺ":"·ᓰ","ᓼ":"·ᓱ","ᓾ":"·ᓲ","ᔀ":"·ᓴ","ᔂ":"·ᓵ","ᔗ":"·ᔐ","ᔙ":"·ᔑ","ᔛ":"·ᔒ","ᔝ":"·ᔓ","ᔟ":"·ᔔ","ᔡ":"·ᔕ","ᔣ":"·ᔖ","ᔱ":"·ᔨ","ᔳ":"·ᔩ","ᔵ":"·ᔪ","ᔷ":"·ᔫ","ᔹ":"·ᔭ","ᔻ":"·ᔮ","ᣎ":"·ᕃ","ᣏ":"·ᕆ","ᣐ":"·ᕇ","ᣑ":"·ᕈ","ᣒ":"·ᕉ","ᣓ":"·ᕋ","ᕎ":"·ᕌ","ᕛ":"·ᕚ","ᕨ":"·ᕧ","ᢳ":"·ᢱ","ᢶ":"·ᢴ","ᢹ":"·ᢸ","ᣂ":"·ᣀ","꠰":"।","॥":"।।","᰼":"᰻᰻","။":"၊၊","᪩":"᪨᪨","᪫":"᪪᪨","᭟":"᭞᭞","𐩗":"𐩖𐩖","𑑌":"𑑋𑑋","𑙂":"𑙁𑙁","𑱂":"𑱁𑱁","᱿":"᱾᱾","՝":"\'","":"\'","":"\'","":"\'","":"\'","":"\'","":"\'","՚":"\'","׳":"\'","`":"\'","":"\'","":"\'","´":"\'","΄":"\'","":"\'","":"\'","᾿":"\'","":"\'","ʹ":"\'","ʹ":"\'","ˈ":"\'","ˊ":"\'","ˋ":"\'","˴":"\'","ʻ":"\'","ʽ":"\'","ʼ":"\'","ʾ":"\'","":"\'","י":"\'","ߴ":"\'","ߵ":"\'","":"\'","":"\'","𖽑":"\'","𖽒":"\'","᳓":"\'\'","\\"":"\'\'","":"\'\'","“":"\'\'","”":"\'\'","‟":"\'\'","″":"\'\'","‶":"\'\'","〃":"\'\'","״":"\'\'","˝":"\'\'","ʺ":"\'\'","˶":"\'\'","ˮ":"\'\'","ײ":"\'\'","‴":"\'\'\'","‷":"\'\'\'","⁗":"\'\'\'\'","Ɓ":"\'B","Ɗ":"\'D","ʼn":"\'n","Ƥ":"\'P","Ƭ":"\'T","Ƴ":"\'Y","":"(","":"(","":"(","":"(","":"(","⸨":"((","㈠":"(ー)","⑵":"(2)","⒇":"(2O)","⑶":"(3)","⑷":"(4)","⑸":"(5)","⑹":"(6)","⑺":"(7)","⑻":"(8)","⑼":"(9)","⒜":"(a)","🄐":"(A)","⒝":"(b)","🄑":"(B)","⒞":"(c)","🄒":"(C)","⒟":"(d)","🄓":"(D)","⒠":"(e)","🄔":"(E)","⒡":"(f)","🄕":"(F)","⒢":"(g)","🄖":"(G)","⒣":"(h)","🄗":"(H)","⒤":"(i)","⒥":"(j)","🄙":"(J)","⒦":"(k)","🄚":"(K)","⑴":"(l)","🄘":"(l)","⒧":"(l)","🄛":"(L)","⑿":"(l2)","⒀":"(l3)","⒁":"(l4)","⒂":"(l5)","⒃":"(l6)","⒄":"(l7)","⒅":"(l8)","⒆":"(l9)","⑾":"(ll)","⑽":"(lO)","🄜":"(M)","⒩":"(n)","🄝":"(N)","⒪":"(o)","🄞":"(O)","⒫":"(p)","🄟":"(P)","⒬":"(q)","🄠":"(Q)","⒭":"(r)","🄡":"(R)","⒨":"(rn)","⒮":"(s)","🄢":"(S)","🄪":"(S)","⒯":"(t)","🄣":"(T)","⒰":"(u)","🄤":"(U)","⒱":"(v)","🄥":"(V)","⒲":"(w)","🄦":"(W)","⒳":"(x)","🄧":"(X)","⒴":"(y)","🄨":"(Y)","⒵":"(z)","🄩":"(Z)","㈀":"(ᄀ)","㈎":"(가)","㈁":"(ᄂ)","㈏":"(나)","㈂":"(ᄃ)","㈐":"(다)","㈃":"(ᄅ)","㈑":"(라)","㈄":"(ᄆ)","㈒":"(마)","㈅":"(ᄇ)","㈓":"(바)","㈆":"(ᄉ)","㈔":"(사)","㈇":"(ᄋ)","㈕":"(아)","㈝":"(오전)","㈞":"(오후)","㈈":"(ᄌ)","㈖":"(자)","㈜":"(주)","㈉":"(ᄎ)","㈗":"(차)","㈊":"(ᄏ)","㈘":"(카)","㈋":"(ᄐ)","㈙":"(타)","㈌":"(ᄑ)","㈚":"(파)","㈍":"(ᄒ)","㈛":"(하)","㈦":"(七)","㈢":"(三)","🉁":"(三)","㈨":"(九)","㈡":"(二)","🉂":"(二)","㈤":"(五)","㈹":"(代)","㈽":"(企)","㉁":"(休)","㈧":"(八)","㈥":"(六)","㈸":"(労)","🉇":"(勝)","㈩":"(十)","㈿":"(協)","㈴":"(名)","㈺":"(呼)","㈣":"(四)","㈯":"(土)","㈻":"(学)","🉃":"(安)","🉅":"(打)","🉈":"(敗)","㈰":"(日)","㈪":"(月)","㈲":"(有)","㈭":"(木)","🉀":"(本)","㈱":"(株)","㈬":"(水)","㈫":"(火)","🉄":"(点)","㈵":"(特)","🉆":"(盗)","㈼":"(監)","㈳":"(社)","㈷":"(祝)","㉀":"(祭)","㉂":"(自)","㉃":"(至)","㈶":"(財)","㈾":"(資)","㈮":"(金)","":")","":")","":")","":")","﴿":")","⸩":"))","":"{","𝄔":"{","":"}","〚":"⟦","〛":"⟧","⟨":"❬","〈":"❬","〈":"❬","㇛":"❬","く":"❬","𡿨":"❬","⟩":"❭","〉":"❭","〉":"❭","":"︿","⸿":"¶","":"*","٭":"*","":"*","𐌟":"*","":"/","":"/","":"/","":"/","":"/","":"/","":"/","𝈺":"/","":"/","":"/","":"/","":"/","丿":"/","":"/","⧶":"/̄","⫽":"//","⫻":"///","":"\\\\","":"\\\\","":"\\\\","":"\\\\","":"\\\\","":"\\\\","𝈏":"\\\\","𝈻":"\\\\","":"\\\\","":"\\\\","":"\\\\","⳹":"\\\\\\\\","⑊":"\\\\\\\\","⟈":"\\\\ᑕ","":"&","૰":"॰","𑂻":"॰","𑇇":"॰","⚬":"॰","𑇛":"꣼","៙":"๏","៕":"๚","៚":"๛","༌":"་","༎":"།།","˄":"^","ˆ":"^","꙾":"ˇ","˘":"ˇ","‾":"ˉ","﹉":"ˉ","﹊":"ˉ","﹋":"ˉ","﹌":"ˉ","¯":"ˉ"," ̄":"ˉ","▔":"ˉ","ъ":"ˉb","ꙑ":"ˉbi","͵":"ˏ","˻":"˪","꜖":"˪","꜔":"˫","。":"˳","⸰":"°","˚":"°","∘":"°","○":"°","◦":"°","⍜":"°̲","⍤":"°̈","℃":"°C","℉":"°F","௵":"௳","༛":"༚༚","༟":"༚༝","࿎":"༝༚","༞":"༝༝","Ⓒ":"©","Ⓡ":"®","Ⓟ":"℗","𝈛":"⅄","⯬":"↞","⯭":"↟","⯮":"↠","⯯":"↡","↵":"↲","⥥":"⇃⇂","⥯":"⇃ᛚ","𝛛":"∂","𝜕":"∂","𝝏":"∂","𝞉":"∂","𝟃":"∂","𞣌":"∂","𞣍":"∂̵","ð":"∂̵","⌀":"∅","𝛁":"∇","𝛻":"∇","𝜵":"∇","𝝯":"∇","𝞩":"∇","𑢨":"∇","⍢":"∇̈","⍫":"∇̴","█":"∎","■":"∎","⨿":"∐","":"+","":"+","𐊛":"+","⨣":"+̂","⨢":"+̊","⨤":"+̃","∔":"+̇","⨥":"+̣","⨦":"+̰","⨧":"+₂","➗":"÷","":"<","":"<","˂":"<","𝈶":"<","":"<","":"<","⋖":"<·","Ⲵ":"<·","ᑅ":"<·","≪":"<<","⋘":"<<<","":"=","":"=","":"=","":"=","≚":"=̆","≙":"=̂","≗":"=̊","≐":"=̇","≑":"=̣̇","⩮":"=⃰","⩵":"==","⩶":"===","≞":"=ͫ","":">","":">","˃":">","𝈷":">","":">","𖼿":">","ᑁ":">·","⪥":"><","≫":">>","⨠":">>","⋙":">>>","":"~","˜":"~","":"~","":"~","⍨":"~̈","⸞":"~̇","⩪":"~̇","⸟":"~̣","𞣈":"∠","⋀":"∧","∯":"∮∮","∰":"∮∮∮","⸫":"∴","⸪":"∵","⸬":"∷","𑇞":"≈","♎":"≏","🝞":"≏","≣":"≡","⨃":"⊍","⨄":"⊎","𝈸":"⊏","𝈹":"⊐","⨅":"⊓","⨆":"⊔","⨂":"⊗","⍟":"⊛","🝱":"⊠","🝕":"⊡","◁":"⊲","▷":"⊳","⍣":"⋆̈","︴":"⌇","◠":"⌒","⨽":"⌙","⌥":"⌤","⧇":"⌻","◎":"⌾","⦾":"⌾","⧅":"⍂","⦰":"⍉","⏃":"⍋","⏂":"⍎","⏁":"⍕","⏆":"⍭","☸":"⎈","︵":"⏜","︶":"⏝","︷":"⏞","︸":"⏟","︹":"⏠","︺":"⏡","▱":"⏥","⏼":"⏻","︱":"│","":"│","┃":"│","┏":"┌","┣":"├","▐":"▌","▗":"▖","▝":"▘","☐":"□","■":"▪","▸":"▶","►":"▶","⳩":"☧","🜊":"☩","🌒":"☽","🌙":"☽","⏾":"☾","🌘":"☾","⧙":"⦚","🜺":"⧟","⨾":"⨟","𐆠":"⳨","♩":"𝅘𝅥","♪":"𝅘𝅥𝅮","˙":"ॱ","ൎ":"ॱ","":"ー","—":"ー","―":"ー","─":"ー","━":"ー","㇐":"ー","ꟷ":"ー","ᅳ":"ー","ㅡ":"ー","一":"ー","⼀":"ー","ᆖ":"ーー","ힹ":"ーᅡ","ힺ":"ーᅥ","ힻ":"ーᅥ丨","ힼ":"ーᅩ","ᆕ":"ーᅮ","ᅴ":"ー丨","ㅢ":"ー丨","ᆗ":"ー丨ᅮ","₤":"£","〒":"₸","〶":"₸","᭜":"᭐","꧆":"꧐","𑓑":"১","೧":"౧","ၥ":"၁","①":"➀","⑩":"➉","⏨":"₁₀","𝟐":"2","𝟚":"2","𝟤":"2","𝟮":"2","𝟸":"2","":"2","Ƨ":"2","Ϩ":"2","":"2","":"2","":"2","ꧏ":"٢","۲":"٢","૨":"२","𑓒":"২","೨":"౨","②":"➁","ƻ":"2̵","🄃":"2,","⒉":"2.","㏵":"22日","㍮":"22点","㏶":"23日","㍯":"23点","㏷":"24日","㍰":"24点","㏸":"25日","㏹":"26日","㏺":"27日","㏻":"28日","㏼":"29日","㏴":"2l日","㍭":"2l点","⒛":"2O.","㏳":"2O日","㍬":"2O点","෩":"෨ා","෯":"෨ී","㏡":"2日","㋁":"2月","㍚":"2点","𝈆":"3","𝟑":"3","𝟛":"3","𝟥":"3","𝟯":"3","𝟹":"3","":"3","Ȝ":"3","Ʒ":"3","":"3","":"3","З":"3","Ӡ":"3","𖼻":"3","𑣊":"3","۳":"٣","𞣉":"٣","૩":"३","③":"➂","Ҙ":"3̦","🄄":"3,","⒊":"3.","㏾":"3l日","㏽":"3O日","㏢":"3日","㋂":"3月","㍛":"3点","𝟒":"4","𝟜":"4","𝟦":"4","𝟰":"4","𝟺":"4","":"4","𑢯":"4","۴":"٤","૪":"४","④":"➃","🄅":"4,","⒋":"4.","ᔰ":"4·","㏣":"4日","㋃":"4月","㍜":"4点","𝟓":"5","𝟝":"5","𝟧":"5","𝟱":"5","𝟻":"5","Ƽ":"5","𑢻":"5","⑤":"➄","🄆":"5,","⒌":"5.","㏤":"5日","㋄":"5月","㍝":"5点","𝟔":"6","𝟞":"6","𝟨":"6","𝟲":"6","𝟼":"6","":"6","б":"6","":"6","𑣕":"6","۶":"٦","𑓖":"৬","⑥":"➅","🄇":"6,","⒍":"6.","㏥":"6日","㋅":"6月","㍞":"6点","𝈒":"7","𝟕":"7","𝟟":"7","𝟩":"7","𝟳":"7","𝟽":"7","𐓒":"7","𑣆":"7","⑦":"➆","🄈":"7,","⒎":"7.","㏦":"7日","㋆":"7月","㍟":"7点","":"8","":"8","":"8","𞣋":"8","𝟖":"8","𝟠":"8","𝟪":"8","𝟴":"8","𝟾":"8","ȣ":"8","Ȣ":"8","𐌚":"8","૮":"८","⑧":"➇","🄉":"8,","⒏":"8.","㏧":"8日","㋇":"8月","㍠":"8点","":"9","":"9","":"9","":"9","𝟗":"9","𝟡":"9","𝟫":"9","𝟵":"9","𝟿":"9","":"9","":"9","𑣌":"9","𑢬":"9","𑣖":"9","१":"٩","𑣤":"٩","۹":"٩","೯":"౯","⑨":"➈","🄊":"9,","⒐":"9.","㏨":"9日","㋈":"9月","㍡":"9点","":"a","":"a","𝐚":"a","𝑎":"a","𝒂":"a","𝒶":"a","𝓪":"a","𝔞":"a","𝕒":"a","𝖆":"a","𝖺":"a","𝗮":"a","𝘢":"a","𝙖":"a","𝚊":"a","ɑ":"a","α":"a","𝛂":"a","𝛼":"a","𝜶":"a","𝝰":"a","𝞪":"a","а":"a","ⷶ":"ͣ","":"A","𝐀":"A","𝐴":"A","𝑨":"A","𝒜":"A","𝓐":"A","𝔄":"A","𝔸":"A","𝕬":"A","𝖠":"A","𝗔":"A","𝘈":"A","𝘼":"A","𝙰":"A","Α":"A","𝚨":"A","𝛢":"A","𝜜":"A","𝝖":"A","𝞐":"A","А":"A","":"A","":"A","":"A","𖽀":"A","𐊠":"A","⍶":"a̲","ǎ":"ă","Ǎ":"Ă","ȧ":"å","Ȧ":"Å","ẚ":"ả","℀":"a/c","℁":"a/s","ꜳ":"aa","Ꜳ":"AA","æ":"ae","ӕ":"ae","Æ":"AE","Ӕ":"AE","ꜵ":"ao","Ꜵ":"AO","🜇":"AR","ꜷ":"au","Ꜷ":"AU","ꜹ":"av","ꜻ":"av","Ꜹ":"AV","Ꜻ":"AV","ꜽ":"ay","Ꜽ":"AY","ꭺ":"ᴀ","∀":"Ɐ","𝈗":"Ɐ","ᗄ":"Ɐ","ꓯ":"Ɐ","𐐟":"Ɒ","𝐛":"b","𝑏":"b","𝒃":"b","𝒷":"b","𝓫":"b","𝔟":"b","𝕓":"b","𝖇":"b","𝖻":"b","𝗯":"b","𝘣":"b","𝙗":"b","𝚋":"b","Ƅ":"b","Ь":"b","":"b","":"b","":"b","":"B","":"B","𝐁":"B","𝐵":"B","𝑩":"B","𝓑":"B","𝔅":"B","𝔹":"B","𝕭":"B","𝖡":"B","𝗕":"B","𝘉":"B","𝘽":"B","𝙱":"B","":"B","Β":"B","𝚩":"B","𝛣":"B","𝜝":"B","𝝗":"B","𝞑":"B","В":"B","":"B","":"B","":"B","𐊂":"B","𐊡":"B","𐌁":"B","ɓ":"b̔","ᑳ":"ḃ","ƃ":"b̄","Ƃ":"b̄","Б":"b̄","ƀ":"b̵","ҍ":"b̵","Ҍ":"b̵","ѣ":"b̵","Ѣ":"b̵","ᑿ":"b·","ᒁ":"ḃ·","ᒈ":"b\'","Ы":"bl","в":"ʙ","ᏼ":"ʙ","":"c","":"c","𝐜":"c","𝑐":"c","𝒄":"c","𝒸":"c","𝓬":"c","𝔠":"c","𝕔":"c","𝖈":"c","𝖼":"c","𝗰":"c","𝘤":"c","𝙘":"c","𝚌":"c","":"c","ϲ":"c","":"c","с":"c","":"c","𐐽":"c","ⷭ":"ͨ","🝌":"C","𑣲":"C","𑣩":"C","":"C","":"C","":"C","":"C","𝐂":"C","𝐶":"C","𝑪":"C","𝒞":"C","𝓒":"C","𝕮":"C","𝖢":"C","𝗖":"C","𝘊":"C","𝘾":"C","𝙲":"C","Ϲ":"C","":"C","С":"C","":"C","":"C","𐊢":"C","𐌂":"C","𐐕":"C","𐔜":"C","¢":"c̸","ȼ":"c̸","₡":"C⃫","ç":"c̦","ҫ":"c̦","Ç":"C̦","Ҫ":"C̦","Ƈ":"C\'","℅":"c/o","℆":"c/u","⋴":"ꞓ","ɛ":"ꞓ","ε":"ꞓ","ϵ":"ꞓ","𝛆":"ꞓ","𝛜":"ꞓ","𝜀":"ꞓ","𝜖":"ꞓ","𝜺":"ꞓ","𝝐":"ꞓ","𝝴":"ꞓ","𝞊":"ꞓ","𝞮":"ꞓ","𝟄":"ꞓ","ⲉ":"ꞓ","є":"ꞓ","ԑ":"ꞓ","ꮛ":"ꞓ","𑣎":"ꞓ","𐐩":"ꞓ","€":"Ꞓ","Ⲉ":"Ꞓ","Є":"Ꞓ","⍷":"ꞓ̲","ͽ":"ꜿ","Ͽ":"Ꜿ","":"d","":"d","𝐝":"d","𝑑":"d","𝒅":"d","𝒹":"d","𝓭":"d","𝔡":"d","𝕕":"d","𝖉":"d","𝖽":"d","𝗱":"d","𝘥":"d","𝙙":"d","𝚍":"d","ԁ":"d","":"d","":"d","":"d","":"D","":"D","𝐃":"D","𝐷":"D","𝑫":"D","𝒟":"D","𝓓":"D","𝔇":"D","𝔻":"D","𝕯":"D","𝖣":"D","𝗗":"D","𝘋":"D","𝘿":"D","𝙳":"D","":"D","":"D","":"D","":"D","ɗ":"d̔","ɖ":"d̨","ƌ":"d̄","đ":"d̵","Đ":"D̵","Ð":"D̵","Ɖ":"D̵","₫":"ḏ̵","ꝺ":"Ꝺ","ᑻ":"d·","ᒇ":"d\'","ʤ":"dȝ","dz":"dz","ʣ":"dz","Dz":"Dz","DZ":"DZ","dž":"dž","Dž":"Dž","DŽ":"DŽ","ʥ":"dʑ","ꭰ":"ᴅ","⸹":"ẟ","δ":"ẟ","𝛅":"ẟ","𝛿":"ẟ","𝜹":"ẟ","𝝳":"ẟ","𝞭":"ẟ","ծ":"ẟ","ᕷ":"ẟ","":"e","":"e","":"e","":"e","𝐞":"e","𝑒":"e","𝒆":"e","𝓮":"e","𝔢":"e","𝕖":"e","𝖊":"e","𝖾":"e","𝗲":"e","𝘦":"e","𝙚":"e","𝚎":"e","":"e","е":"e","ҽ":"e","ⷷ":"ͤ","":"E","":"E","":"E","𝐄":"E","𝐸":"E","𝑬":"E","𝓔":"E","𝔈":"E","𝔼":"E","𝕰":"E","𝖤":"E","𝗘":"E","𝘌":"E","𝙀":"E","𝙴":"E","Ε":"E","𝚬":"E","𝛦":"E","𝜠":"E","𝝚":"E","𝞔":"E","Е":"E","":"E","":"E","":"E","𑢦":"E","𑢮":"E","𐊆":"E","ě":"ĕ","Ě":"Ĕ","ɇ":"e̸","Ɇ":"E̸","ҿ":"ę","ꭼ":"ᴇ","ə":"ǝ","ә":"ǝ","∃":"Ǝ","ⴺ":"Ǝ","ꓱ":"Ǝ","ɚ":"ǝ˞","ᴔ":"ǝo","ꭁ":"ǝo̸","ꭂ":"ǝo̵","Ә":"Ə","𝈡":"Ɛ","ℇ":"Ɛ","Ԑ":"Ɛ","Ꮛ":"Ɛ","𖼭":"Ɛ","𐐁":"Ɛ","ᶟ":"ᵋ","ᴈ":"ɜ","з":"ɜ","ҙ":"ɜ̦","𐑂":"ɞ","ꞝ":"ʚ","𐐪":"ʚ","𝐟":"f","𝑓":"f","𝒇":"f","𝒻":"f","𝓯":"f","𝔣":"f","𝕗":"f","𝖋":"f","𝖿":"f","𝗳":"f","𝘧":"f","𝙛":"f","𝚏":"f","":"f","":"f","ſ":"f","":"f","ք":"f","𝈓":"F","":"F","𝐅":"F","𝐹":"F","𝑭":"F","𝓕":"F","𝔉":"F","𝔽":"F","𝕱":"F","𝖥":"F","𝗙":"F","𝘍":"F","𝙁":"F","𝙵":"F","":"F","Ϝ":"F","𝟊":"F","":"F","":"F","𑣂":"F","𑢢":"F","𐊇":"F","𐊥":"F","𐔥":"F","ƒ":"f̦","Ƒ":"F̦","ᵮ":"f̴","℻":"FAX","ff":"ff","ffi":"ffi","ffl":"ffl","fi":"fi","fl":"fl","ʩ":"fŋ","ᖵ":"Ⅎ","ꓞ":"Ⅎ","𝈰":"ꟻ","ᖷ":"ꟻ","":"g","":"g","𝐠":"g","𝑔":"g","𝒈":"g","𝓰":"g","𝔤":"g","𝕘":"g","𝖌":"g","𝗀":"g","𝗴":"g","𝘨":"g","𝙜":"g","𝚐":"g","ɡ":"g","":"g","ƍ":"g","ց":"g","𝐆":"G","𝐺":"G","𝑮":"G","𝒢":"G","𝓖":"G","𝔊":"G","𝔾":"G","𝕲":"G","𝖦":"G","𝗚":"G","𝘎":"G","𝙂":"G","𝙶":"G","Ԍ":"G","":"G","":"G","":"G","ᶢ":"ᵍ","ɠ":"g̔","ǧ":"ğ","Ǧ":"Ğ","ǵ":"ģ","ǥ":"g̵","Ǥ":"G̵","Ɠ":"G\'","ԍ":"ɢ","ꮐ":"ɢ","ᏻ":"ɢ","":"h","":"h","𝐡":"h","𝒉":"h","𝒽":"h","𝓱":"h","𝔥":"h","𝕙":"h","𝖍":"h","𝗁":"h","𝗵":"h","𝘩":"h","𝙝":"h","𝚑":"h","һ":"h","հ":"h","":"h","":"H","":"H","":"H","":"H","𝐇":"H","𝐻":"H","𝑯":"H","𝓗":"H","𝕳":"H","𝖧":"H","𝗛":"H","𝘏":"H","𝙃":"H","𝙷":"H","Η":"H","𝚮":"H","𝛨":"H","𝜢":"H","𝝜":"H","𝞖":"H","":"H","Н":"H","":"H","":"H","":"H","𐋏":"H","ᵸ":"ᴴ","ɦ":"h̔","ꚕ":"h̔","Ᏺ":"h̔","Ⱨ":"H̩","Ң":"H̩","ħ":"h̵","ℏ":"h̵","ћ":"h̵","Ħ":"H̵","Ӊ":"H̦","Ӈ":"H̦","н":"ʜ","ꮋ":"ʜ","ң":"ʜ̩","ӊ":"ʜ̦","ӈ":"ʜ̦","Ԋ":"Ƕ","ꮀ":"ⱶ","Ͱ":"Ⱶ","Ꭸ":"Ⱶ","Ꮀ":"Ⱶ","ꚱ":"Ⱶ","ꞕ":"ꜧ","˛":"i","":"i","":"i","":"i","":"i","":"i","𝐢":"i","𝑖":"i","𝒊":"i","𝒾":"i","𝓲":"i","𝔦":"i","𝕚":"i","𝖎":"i","𝗂":"i","𝗶":"i","𝘪":"i","𝙞":"i","𝚒":"i","ı":"i","𝚤":"i","ɪ":"i","ɩ":"i","ι":"i","":"i","ͺ":"i","𝛊":"i","𝜄":"i","𝜾":"i","𝝸":"i","𝞲":"i","і":"i","":"i","ӏ":"i","":"i","":"i","𑣃":"i","ⓛ":"Ⓘ","⍸":"i̲","ǐ":"ĭ","Ǐ":"Ĭ","ɨ":"i̵","ᵻ":"i̵","ᵼ":"i̵","ⅱ":"ii","ⅲ":"iii","ij":"ij","ⅳ":"iv","ⅸ":"ix","":"j","":"j","𝐣":"j","𝑗":"j","𝒋":"j","𝒿":"j","𝓳":"j","𝔧":"j","𝕛":"j","𝖏":"j","𝗃":"j","𝗷":"j","𝘫":"j","𝙟":"j","𝚓":"j","ϳ":"j","ј":"j","":"J","𝐉":"J","𝐽":"J","𝑱":"J","𝒥":"J","𝓙":"J","𝔍":"J","𝕁":"J","𝕵":"J","𝖩":"J","𝗝":"J","𝘑":"J","𝙅":"J","𝙹":"J","":"J","Ϳ":"J","Ј":"J","":"J","":"J","":"J","ɉ":"j̵","Ɉ":"J̵","ᒙ":"J·","𝚥":"ȷ","յ":"ȷ","ꭻ":"ᴊ","𝐤":"k","𝑘":"k","𝒌":"k","𝓀":"k","𝓴":"k","𝔨":"k","𝕜":"k","𝖐":"k","𝗄":"k","𝗸":"k","𝘬":"k","𝙠":"k","𝚔":"k","":"K","":"K","𝐊":"K","𝐾":"K","𝑲":"K","𝒦":"K","𝓚":"K","𝔎":"K","𝕂":"K","𝕶":"K","𝖪":"K","𝗞":"K","𝘒":"K","𝙆":"K","𝙺":"K","Κ":"K","𝚱":"K","𝛫":"K","𝜥":"K","𝝟":"K","𝞙":"K","":"K","К":"K","":"K","":"K","":"K","𐔘":"K","ƙ":"k̔","Ⱪ":"K̩","Қ":"K̩","₭":"K̵","Ꝁ":"K̵","Ҟ":"K̵","Ƙ":"K\'","׀":"l","|":"l","":"l","":"l","":"l","١":"l","۱":"l","𐌠":"l","𞣇":"l","𝟏":"l","𝟙":"l","𝟣":"l","𝟭":"l","𝟷":"l","I":"l","":"l","":"l","":"l","":"l","𝐈":"l","𝐼":"l","𝑰":"l","𝓘":"l","𝕀":"l","𝕴":"l","𝖨":"l","𝗜":"l","𝘐":"l","𝙄":"l","𝙸":"l","Ɩ":"l","":"l","":"l","":"l","𝐥":"l","𝑙":"l","𝒍":"l","𝓁":"l","𝓵":"l","𝔩":"l","𝕝":"l","𝖑":"l","𝗅":"l","𝗹":"l","𝘭":"l","𝙡":"l","𝚕":"l","ǀ":"l","Ι":"l","𝚰":"l","𝛪":"l","𝜤":"l","𝝞":"l","𝞘":"l","":"l","І":"l","Ӏ":"l","ו":"l","ן":"l","ا":"l","𞸀":"l","𞺀":"l","":"l","":"l","ߊ":"l","":"l","":"l","":"l","𖼨":"l","𐊊":"l","𐌉":"l","𝈪":"L","":"L","":"L","𝐋":"L","𝐿":"L","𝑳":"L","𝓛":"L","𝔏":"L","𝕃":"L","𝕷":"L","𝖫":"L","𝗟":"L","𝘓":"L","𝙇":"L","𝙻":"L","":"L","":"L","":"L","":"L","𖼖":"L","𑢣":"L","𑢲":"L","𐐛":"L","𐔦":"L","ﴼ":"l̋","ﴽ":"l̋","ł":"l̸","Ł":"L̸","ɭ":"l̨","Ɨ":"l̵","ƚ":"l̵","ɫ":"l̴","إ":"lٕ","ﺈ":"lٕ","ﺇ":"lٕ","ٳ":"lٕ","ŀ":"l·","Ŀ":"l·","ᒷ":"l·","🄂":"l,","⒈":"l.","ױ":"l\'","⒓":"l2.","㏫":"l2日","㋋":"l2月","㍤":"l2点","⒔":"l3.","㏬":"l3日","㍥":"l3点","⒕":"l4.","㏭":"l4日","㍦":"l4点","⒖":"l5.","㏮":"l5日","㍧":"l5点","⒗":"l6.","㏯":"l6日","㍨":"l6点","⒘":"l7.","㏰":"l7日","㍩":"l7点","⒙":"l8.","㏱":"l8日","㍪":"l8点","⒚":"l9.","㏲":"l9日","㍫":"l9点","lj":"lj","IJ":"lJ","Lj":"Lj","LJ":"LJ","‖":"ll","∥":"ll","Ⅱ":"ll","ǁ":"ll","װ":"ll","𐆙":"l̵l̵","⒒":"ll.","Ⅲ":"lll","𐆘":"l̵l̵S̵","㏪":"ll日","㋊":"ll月","㍣":"ll点","Ю":"lO","⒑":"lO.","㏩":"lO日","㋉":"lO月","㍢":"lO点","ʪ":"ls","₶":"lt","Ⅳ":"lV","Ⅸ":"lX","ɮ":"lȝ","ʫ":"lz","أ":"lٴ","ﺄ":"lٴ","ﺃ":"lٴ","ٲ":"lٴ","ٵ":"lٴ","ﷳ":"lكبر","ﷲ":"lللّٰo","㏠":"l日","㋀":"l月","㍙":"l点","ⳑ":"ʟ","ꮮ":"ʟ","𐑃":"ʟ","":"M","":"M","":"M","𝐌":"M","𝑀":"M","𝑴":"M","𝓜":"M","𝔐":"M","𝕄":"M","𝕸":"M","𝖬":"M","𝗠":"M","𝘔":"M","𝙈":"M","𝙼":"M","Μ":"M","𝚳":"M","𝛭":"M","𝜧":"M","𝝡":"M","𝞛":"M","Ϻ":"M","":"M","М":"M","":"M","":"M","":"M","":"M","𐊰":"M","𐌑":"M","Ӎ":"M̦","🝫":"MB","ⷨ":"ᷟ","𝐧":"n","𝑛":"n","𝒏":"n","𝓃":"n","𝓷":"n","𝔫":"n","𝕟":"n","𝖓":"n","𝗇":"n","𝗻":"n","𝘯":"n","𝙣":"n","𝚗":"n","ո":"n","ռ":"n","":"N","":"N","𝐍":"N","𝑁":"N","𝑵":"N","𝒩":"N","𝓝":"N","𝔑":"N","𝕹":"N","𝖭":"N","𝗡":"N","𝘕":"N","𝙉":"N","𝙽":"N","Ν":"N","𝚴":"N","𝛮":"N","𝜨":"N","𝝢":"N","𝞜":"N","":"N","":"N","𐔓":"N","𐆎":"N̊","ɳ":"n̨","ƞ":"n̩","η":"n̩","𝛈":"n̩","𝜂":"n̩","𝜼":"n̩","𝝶":"n̩","𝞰":"n̩","Ɲ":"N̦","ᵰ":"n̴","nj":"nj","Nj":"Nj","NJ":"NJ","№":"No","ͷ":"ᴎ","и":"ᴎ","𐑍":"ᴎ","ņ":"ɲ","":"o","":"o","":"o","":"o","":"o","":"o","":"o","":"o","":"o","":"o","":"o","":"o","":"o","":"o","٥":"o","۵":"o","":"o","":"o","𝐨":"o","𝑜":"o","𝒐":"o","𝓸":"o","𝔬":"o","𝕠":"o","𝖔":"o","𝗈":"o","𝗼":"o","𝘰":"o","𝙤":"o","𝚘":"o","":"o","":"o","":"o","ο":"o","𝛐":"o","𝜊":"o","𝝄":"o","𝝾":"o","𝞸":"o","σ":"o","𝛔":"o","𝜎":"o","𝝈":"o","𝞂":"o","𝞼":"o","":"o","о":"o","":"o","օ":"o","ס":"o","ه":"o","𞸤":"o","𞹤":"o","𞺄":"o","":"o","":"o","":"o","":"o","ھ":"o","":"o","":"o","":"o","":"o","ہ":"o","":"o","":"o","":"o","":"o","ە":"o","":"o","":"o","𐓪":"o","𑣈":"o","𑣗":"o","𐐬":"o","߀":"O","":"O","":"O","":"O","𑓐":"O","𑣠":"O","𝟎":"O","𝟘":"O","𝟢":"O","𝟬":"O","𝟶":"O","":"O","𝐎":"O","𝑂":"O","𝑶":"O","𝒪":"O","𝓞":"O","𝔒":"O","𝕆":"O","𝕺":"O","𝖮":"O","𝗢":"O","𝘖":"O","𝙊":"O","𝙾":"O","Ο":"O","𝚶":"O","𝛰":"O","𝜪":"O","𝝤":"O","𝞞":"O","":"O","О":"O","Օ":"O","":"O","":"O","":"O","𐓂":"O","":"O","𑢵":"O","𐊒":"O","𐊫":"O","𐐄":"O","𐔖":"O","⁰":"º","ᵒ":"º","ǒ":"ŏ","Ǒ":"Ŏ","ۿ":"ô","Ő":"Ö","ø":"o̸","ꬾ":"o̸","Ø":"O̸","ⵁ":"O̸","Ǿ":"Ó̸","ɵ":"o̵","ꝋ":"o̵","ө":"o̵","ѳ":"o̵","ꮎ":"o̵","ꮻ":"o̵","⊖":"O̵","⊝":"O̵","⍬":"O̵","𝈚":"O̵","🜔":"O̵","Ɵ":"O̵","Ꝋ":"O̵","θ":"O̵","ϑ":"O̵","𝛉":"O̵","𝛝":"O̵","𝜃":"O̵","𝜗":"O̵","𝜽":"O̵","𝝑":"O̵","𝝷":"O̵","𝞋":"O̵","𝞱":"O̵","𝟅":"O̵","Θ":"O̵","ϴ":"O̵","𝚯":"O̵","𝚹":"O̵","𝛩":"O̵","𝛳":"O̵","𝜣":"O̵","𝜭":"O̵","𝝝":"O̵","𝝧":"O̵","𝞗":"O̵","𝞡":"O̵","Ө":"O̵","Ѳ":"O̵","ⴱ":"O̵","Ꮎ":"O̵","Ꮻ":"O̵","ꭴ":"ơ","ﳙ":"oٰ","🄁":"O,","🄀":"O.","ơ":"o\'","Ơ":"O\'","Ꭴ":"O\'","%":"º/₀","٪":"º/₀","⁒":"º/₀","‰":"º/₀₀","؉":"º/₀₀","‱":"º/₀₀₀","؊":"º/₀₀₀","œ":"oe","Œ":"OE","ɶ":"oᴇ","∞":"oo","ꝏ":"oo","ꚙ":"oo","Ꝏ":"OO","Ꚙ":"OO","ﳗ":"oج","ﱑ":"oج","ﳘ":"oم","ﱒ":"oم","ﶓ":"oمج","ﶔ":"oمم","ﱓ":"oى","ﱔ":"oى","ൟ":"oരo","တ":"oာ","㍘":"O点","ↄ":"ɔ","ᴐ":"ɔ","ͻ":"ɔ","𐑋":"ɔ","Ↄ":"Ɔ","Ͻ":"Ɔ","ꓛ":"Ɔ","𐐣":"Ɔ","ꬿ":"ɔ̸","ꭢ":"ɔe","𐐿":"ɷ","":"p","":"p","𝐩":"p","𝑝":"p","𝒑":"p","𝓅":"p","𝓹":"p","𝔭":"p","𝕡":"p","𝖕":"p","𝗉":"p","𝗽":"p","𝘱":"p","𝙥":"p","𝚙":"p","ρ":"p","ϱ":"p","𝛒":"p","𝛠":"p","𝜌":"p","𝜚":"p","𝝆":"p","𝝔":"p","𝞀":"p","𝞎":"p","𝞺":"p","𝟈":"p","":"p","р":"p","":"P","":"P","𝐏":"P","𝑃":"P","𝑷":"P","𝒫":"P","𝓟":"P","𝔓":"P","𝕻":"P","𝖯":"P","𝗣":"P","𝘗":"P","𝙋":"P","𝙿":"P","Ρ":"P","𝚸":"P","𝛲":"P","𝜬":"P","𝝦":"P","𝞠":"P","":"P","Р":"P","":"P","":"P","":"P","𐊕":"P","ƥ":"p̔","ᵽ":"p̵","ᑷ":"p·","ᒆ":"P\'","ᴩ":"ᴘ","ꮲ":"ᴘ","φ":"ɸ","ϕ":"ɸ","𝛗":"ɸ","𝛟":"ɸ","𝜑":"ɸ","𝜙":"ɸ","𝝋":"ɸ","𝝓":"ɸ","𝞅":"ɸ","𝞍":"ɸ","𝞿":"ɸ","𝟇":"ɸ","ⲫ":"ɸ","ф":"ɸ","𝐪":"q","𝑞":"q","𝒒":"q","𝓆":"q","𝓺":"q","𝔮":"q","𝕢":"q","𝖖":"q","𝗊":"q","𝗾":"q","𝘲":"q","𝙦":"q","𝚚":"q","ԛ":"q","գ":"q","զ":"q","":"Q","𝐐":"Q","𝑄":"Q","𝑸":"Q","𝒬":"Q","𝓠":"Q","𝔔":"Q","𝕼":"Q","𝖰":"Q","𝗤":"Q","𝘘":"Q","𝙌":"Q","𝚀":"Q","":"Q","ʠ":"q̔","🜀":"QE","ᶐ":"ɋ","ᴋ":"ĸ","κ":"ĸ","ϰ":"ĸ","𝛋":"ĸ","𝛞":"ĸ","𝜅":"ĸ","𝜘":"ĸ","𝜿":"ĸ","𝝒":"ĸ","𝝹":"ĸ","𝞌":"ĸ","𝞳":"ĸ","𝟆":"ĸ","ⲕ":"ĸ","к":"ĸ","ꮶ":"ĸ","қ":"ĸ̩","ҟ":"ĸ̵","𝐫":"r","𝑟":"r","𝒓":"r","𝓇":"r","𝓻":"r","𝔯":"r","𝕣":"r","𝖗":"r","𝗋":"r","𝗿":"r","𝘳":"r","𝙧":"r","𝚛":"r","":"r","":"r","":"r","":"r","г":"r","":"r","𝈖":"R","":"R","":"R","":"R","𝐑":"R","𝑅":"R","𝑹":"R","𝓡":"R","𝕽":"R","𝖱":"R","𝗥":"R","𝘙":"R","𝙍":"R","𝚁":"R","Ʀ":"R","":"R","":"R","𐒴":"R","":"R","":"R","𖼵":"R","ɽ":"r̨","ɼ":"r̩","ɍ":"r̵","ғ":"r̵","ᵲ":"r̴","ґ":"r\'","𑣣":"rn","m":"rn","ⅿ":"rn","𝐦":"rn","𝑚":"rn","𝒎":"rn","𝓂":"rn","𝓶":"rn","𝔪":"rn","𝕞":"rn","𝖒":"rn","𝗆":"rn","𝗺":"rn","𝘮":"rn","𝙢":"rn","𝚖":"rn","𑜀":"rn","₥":"rn̸","ɱ":"rn̦","ᵯ":"rn̴","₨":"Rs","ꭱ":"ʀ","ꮢ":"ʀ","я":"ᴙ","ᵳ":"ɾ̴","℩":"ɿ","":"s","𝐬":"s","𝑠":"s","𝒔":"s","𝓈":"s","𝓼":"s","𝔰":"s","𝕤":"s","𝖘":"s","𝗌":"s","𝘀":"s","𝘴":"s","𝙨":"s","𝚜":"s","":"s","ƽ":"s","ѕ":"s","":"s","𑣁":"s","𐑈":"s","":"S","𝐒":"S","𝑆":"S","𝑺":"S","𝒮":"S","𝓢":"S","𝔖":"S","𝕊":"S","𝕾":"S","𝖲":"S","𝗦":"S","𝘚":"S","𝙎":"S","𝚂":"S","Ѕ":"S","Տ":"S","":"S","":"S","":"S","𖼺":"S","𐊖":"S","𐐠":"S","ʂ":"s̨","ᵴ":"s̴","ꞵ":"ß","β":"ß","ϐ":"ß","𝛃":"ß","𝛽":"ß","𝜷":"ß","𝝱":"ß","𝞫":"ß","Ᏸ":"ß","🝜":"sss","st":"st","∫":"ʃ","ꭍ":"ʃ","∑":"Ʃ","⅀":"Ʃ","Σ":"Ʃ","𝚺":"Ʃ","𝛴":"Ʃ","𝜮":"Ʃ","𝝨":"Ʃ","𝞢":"Ʃ","ⵉ":"Ʃ","∬":"ʃʃ","∭":"ʃʃʃ","⨌":"ʃʃʃʃ","𝐭":"t","𝑡":"t","𝒕":"t","𝓉":"t","𝓽":"t","𝔱":"t","𝕥":"t","𝖙":"t","𝗍":"t","𝘁":"t","𝘵":"t","𝙩":"t","𝚝":"t","":"T","":"T","🝨":"T","":"T","𝐓":"T","𝑇":"T","𝑻":"T","𝒯":"T","𝓣":"T","𝔗":"T","𝕋":"T","𝕿":"T","𝖳":"T","𝗧":"T","𝘛":"T","𝙏":"T","𝚃":"T","Τ":"T","𝚻":"T","𝛵":"T","𝜯":"T","𝝩":"T","𝞣":"T","":"T","Т":"T","":"T","":"T","𖼊":"T","𑢼":"T","𐊗":"T","𐊱":"T","𐌕":"T","ƭ":"t̔","⍡":"T̈","Ⱦ":"T̸","Ț":"Ţ","Ʈ":"T̨","Ҭ":"T̩","₮":"T⃫","ŧ":"t̵","Ŧ":"T̵","ᵵ":"t̴","Ⴀ":"Ꞇ","Ꜩ":"T3","ʨ":"tɕ","℡":"TEL","ꝷ":"tf","ʦ":"ts","ʧ":"tʃ","ꜩ":"tȝ","τ":"ᴛ","𝛕":"ᴛ","𝜏":"ᴛ","𝝉":"ᴛ","𝞃":"ᴛ","𝞽":"ᴛ","т":"ᴛ","ꭲ":"ᴛ","ҭ":"ᴛ̩","ţ":"ƫ","ț":"ƫ","Ꮏ":"ƫ","𝐮":"u","𝑢":"u","𝒖":"u","𝓊":"u","𝓾":"u","𝔲":"u","𝕦":"u","𝖚":"u","𝗎":"u","𝘂":"u","𝘶":"u","𝙪":"u","𝚞":"u","":"u","":"u","":"u","":"u","ʋ":"u","υ":"u","𝛖":"u","𝜐":"u","𝝊":"u","𝞄":"u","𝞾":"u","ս":"u","𐓶":"u","𑣘":"u","":"U","":"U","𝐔":"U","𝑈":"U","𝑼":"U","𝒰":"U","𝓤":"U","𝔘":"U","𝕌":"U","𝖀":"U","𝖴":"U","𝗨":"U","𝘜":"U","𝙐":"U","𝚄":"U","Ս":"U","":"U","𐓎":"U","":"U","":"U","𖽂":"U","𑢸":"U","ǔ":"ŭ","Ǔ":"Ŭ","ᵾ":"u̵","ꮜ":"u̵","Ʉ":"U̵","Ꮜ":"U̵","ᑘ":"U·","ᑧ":"U\'","ᵫ":"ue","ꭣ":"uo","ṃ":"ꭑ","պ":"ɰ","ሣ":"ɰ","℧":"Ʊ","ᘮ":"Ʊ","ᘴ":"Ʊ","ᵿ":"ʊ̵","":"v","":"v","":"v","":"v","𝐯":"v","𝑣":"v","𝒗":"v","𝓋":"v","𝓿":"v","𝔳":"v","𝕧":"v","𝖛":"v","𝗏":"v","𝘃":"v","𝘷":"v","𝙫":"v","𝚟":"v","":"v","ν":"v","𝛎":"v","𝜈":"v","𝝂":"v","𝝼":"v","𝞶":"v","ѵ":"v","ט":"v","𑜆":"v","":"v","𑣀":"v","𝈍":"V","٧":"V","۷":"V","":"V","𝐕":"V","𝑉":"V","𝑽":"V","𝒱":"V","𝓥":"V","𝔙":"V","𝕍":"V","𝖁":"V","𝖵":"V","𝗩":"V","𝘝":"V","𝙑":"V","𝚅":"V","Ѵ":"V","":"V","":"V","":"V","":"V","":"V","𖼈":"V","𑢠":"V","𐔝":"V","𐆗":"V̵","ᐻ":"V·","🝬":"VB","ⅵ":"vi","ⅶ":"vii","ⅷ":"viii","Ⅵ":"Vl","Ⅶ":"Vll","Ⅷ":"Vlll","🜈":"Vᷤ","ᴧ":"ʌ","𐓘":"ʌ","٨":"Ʌ","۸":"Ʌ","Λ":"Ʌ","𝚲":"Ʌ","𝛬":"Ʌ","𝜦":"Ʌ","𝝠":"Ʌ","𝞚":"Ʌ","Л":"Ʌ","ⴷ":"Ʌ","𐒰":"Ʌ","ᐱ":"Ʌ","ꛎ":"Ʌ","ꓥ":"Ʌ","𖼽":"Ʌ","𐊍":"Ʌ","Ӆ":"Ʌ̦","ᐽ":"Ʌ·","ɯ":"w","𝐰":"w","𝑤":"w","𝒘":"w","𝓌":"w","𝔀":"w","𝔴":"w","𝕨":"w","𝖜":"w","𝗐":"w","𝘄":"w","𝘸":"w","𝙬":"w","𝚠":"w","":"w","ѡ":"w","ԝ":"w","ա":"w","𑜊":"w","𑜎":"w","𑜏":"w","":"w","𑣯":"W","𑣦":"W","𝐖":"W","𝑊":"W","𝑾":"W","𝒲":"W","𝓦":"W","𝔚":"W","𝕎":"W","𝖂":"W","𝖶":"W","𝗪":"W","𝘞":"W","𝙒":"W","𝚆":"W","Ԝ":"W","":"W","":"W","":"W","ѽ":"w҆҇","𑓅":"ẇ","₩":"W̵","ꝡ":"w̦","ᴍ":"ʍ","м":"ʍ","ꮇ":"ʍ","ӎ":"ʍ̦","":"x","×":"x","":"x","":"x","":"x","":"x","":"x","𝐱":"x","𝑥":"x","𝒙":"x","𝓍":"x","𝔁":"x","𝔵":"x","𝕩":"x","𝖝":"x","𝗑":"x","𝘅":"x","𝘹":"x","𝙭":"x","𝚡":"x","х":"x","":"x","":"x","ⷯ":"ͯ","":"X","":"X","𐌢":"X","𑣬":"X","":"X","":"X","𝐗":"X","𝑋":"X","𝑿":"X","𝒳":"X","𝓧":"X","𝔛":"X","𝕏":"X","𝖃":"X","𝖷":"X","𝗫":"X","𝘟":"X","𝙓":"X","𝚇":"X","":"X","Χ":"X","𝚾":"X","𝛸":"X","𝜲":"X","𝝬":"X","𝞦":"X","":"X","Х":"X","":"X","":"X","":"X","𐊐":"X","𐊴":"X","𐌗":"X","𐔧":"X","⨰":"ẋ","Ҳ":"X̩","𐆖":"X̵","ⅺ":"xi","ⅻ":"xii","Ⅺ":"Xl","Ⅻ":"Xll","ɣ":"y","":"y","":"y","𝐲":"y","𝑦":"y","𝒚":"y","𝓎":"y","𝔂":"y","𝔶":"y","𝕪":"y","𝖞":"y","𝗒":"y","𝘆":"y","𝘺":"y","𝙮":"y","𝚢":"y","ʏ":"y","ỿ":"y","":"y","γ":"y","":"y","𝛄":"y","𝛾":"y","𝜸":"y","𝝲":"y","𝞬":"y","у":"y","ү":"y","":"y","𑣜":"y","":"Y","𝐘":"Y","𝑌":"Y","𝒀":"Y","𝒴":"Y","𝓨":"Y","𝔜":"Y","𝕐":"Y","𝖄":"Y","𝖸":"Y","𝗬":"Y","𝘠":"Y","𝙔":"Y","𝚈":"Y","Υ":"Y","ϒ":"Y","𝚼":"Y","𝛶":"Y","𝜰":"Y","𝝪":"Y","𝞤":"Y","":"Y","У":"Y","Ү":"Y","":"Y","":"Y","":"Y","𖽃":"Y","𑢤":"Y","𐊲":"Y","ƴ":"y̔","ɏ":"y̵","ұ":"y̵","¥":"Y̵","Ɏ":"Y̵","Ұ":"Y̵","ʒ":"ȝ","ꝫ":"ȝ","ⳍ":"ȝ","ӡ":"ȝ","ჳ":"ȝ","𝐳":"z","𝑧":"z","𝒛":"z","𝓏":"z","𝔃":"z","𝔷":"z","𝕫":"z","𝖟":"z","𝗓":"z","𝘇":"z","𝘻":"z","𝙯":"z","𝚣":"z","":"z","":"z","𑣄":"z","𐋵":"Z","𑣥":"Z","":"Z","":"Z","":"Z","𝐙":"Z","𝑍":"Z","𝒁":"Z","𝒵":"Z","𝓩":"Z","𝖅":"Z","𝖹":"Z","𝗭":"Z","𝘡":"Z","𝙕":"Z","𝚉":"Z","Ζ":"Z","𝚭":"Z","𝛧":"Z","𝜡":"Z","𝝛":"Z","𝞕":"Z","":"Z","":"Z","𑢩":"Z","ʐ":"z̨","ƶ":"z̵","Ƶ":"Z̵","ȥ":"z̦","Ȥ":"Z̦","ᵶ":"z̴","ƿ":"þ","ϸ":"þ","Ϸ":"Þ","𐓄":"Þ","⁹":"ꝰ","ᴤ":"ƨ","ϩ":"ƨ","ꙅ":"ƨ","ь":"ƅ","ꮟ":"ƅ","ы":"ƅi","ꭾ":"ɂ","ˤ":"ˁ","ꛍ":"ʡ","⊙":"ʘ","☉":"ʘ","⨀":"ʘ","Ꙩ":"ʘ","ⵙ":"ʘ","𐓃":"ʘ","ℾ":"Γ","𝚪":"Γ","𝛤":"Γ","𝜞":"Γ","𝝘":"Γ","𝞒":"Γ","Ⲅ":"Γ","Г":"Γ","Ꮁ":"Γ","ᒥ":"Γ","𖼇":"Γ","Ғ":"Γ̵","ᒯ":"Γ·","Ґ":"Γ\'","∆":"Δ","△":"Δ","🜂":"Δ","𝚫":"Δ","𝛥":"Δ","𝜟":"Δ","𝝙":"Δ","𝞓":"Δ","Ⲇ":"Δ","ⵠ":"Δ","ᐃ":"Δ","𖼚":"Δ","𐊅":"Δ","𐊣":"Δ","⍙":"Δ̲","ᐏ":"Δ·","ᐬ":"Δᐠ","𝟋":"ϝ","𝛇":"ζ","𝜁":"ζ","𝜻":"ζ","𝝵":"ζ","𝞯":"ζ","ⳤ":"ϗ","𝛌":"λ","𝜆":"λ","𝝀":"λ","𝝺":"λ","𝞴":"λ","Ⲗ":"λ","𐓛":"λ","µ":"μ","𝛍":"μ","𝜇":"μ","𝝁":"μ","𝝻":"μ","𝞵":"μ","𝛏":"ξ","𝜉":"ξ","𝝃":"ξ","𝝽":"ξ","𝞷":"ξ","𝚵":"Ξ","𝛯":"Ξ","𝜩":"Ξ","𝝣":"Ξ","𝞝":"Ξ","ϖ":"π","ℼ":"π","𝛑":"π","𝛡":"π","𝜋":"π","𝜛":"π","𝝅":"π","𝝕":"π","𝝿":"π","𝞏":"π","𝞹":"π","𝟉":"π","ᴨ":"π","п":"π","∏":"Π","ℿ":"Π","𝚷":"Π","𝛱":"Π","𝜫":"Π","𝝥":"Π","𝞟":"Π","Ⲡ":"Π","П":"Π","ꛛ":"Π","𐊭":"Ϙ","𐌒":"Ϙ","ϛ":"ς","𝛓":"ς","𝜍":"ς","𝝇":"ς","𝞁":"ς","𝞻":"ς","𝚽":"Φ","𝛷":"Φ","𝜱":"Φ","𝝫":"Φ","𝞥":"Φ","Ⲫ":"Φ","Ф":"Φ","Փ":"Φ","ቀ":"Φ","ᛰ":"Φ","𐊳":"Φ","ꭓ":"χ","ꭕ":"χ","𝛘":"χ","𝜒":"χ","𝝌":"χ","𝞆":"χ","𝟀":"χ","ⲭ":"χ","𝛙":"ψ","𝜓":"ψ","𝝍":"ψ","𝞇":"ψ","𝟁":"ψ","ѱ":"ψ","𐓹":"ψ","𝚿":"Ψ","𝛹":"Ψ","𝜳":"Ψ","𝝭":"Ψ","𝞧":"Ψ","Ⲯ":"Ψ","Ѱ":"Ψ","𐓑":"Ψ","ᛘ":"Ψ","𐊵":"Ψ","⍵":"ω","ꞷ":"ω","𝛚":"ω","𝜔":"ω","𝝎":"ω","𝞈":"ω","𝟂":"ω","ⲱ":"ω","ꙍ":"ω","Ω":"Ω","𝛀":"Ω","𝛺":"Ω","𝜴":"Ω","𝝮":"Ω","𝞨":"Ω","ᘯ":"Ω","ᘵ":"Ω","𐊶":"Ω","⍹":"ω̲","ώ":"ῴ","☰":"Ⲷ","Ⳝ":"Ϭ","җ":"ж̩","Җ":"Ж̩","𝈋":"И","Ͷ":"И","ꚡ":"И","𐐥":"И","Й":"Ѝ","Ҋ":"Ѝ̦","ѝ":"й","ҋ":"й̦","𐒼":"Ӄ","ᴫ":"л","ӆ":"л̦","ꭠ":"љ","𐓫":"ꙩ","ᷮ":"ⷬ","𐓍":"Ћ","𝈂":"Ӿ","𝈢":"Ѡ","Ꮗ":"Ѡ","ᗯ":"Ѡ","Ѽ":"Ѡ҆҇","ᣭ":"Ѡ·","Ꞷ":"Ꙍ","ӌ":"ҷ","Ӌ":"Ҷ","Ҿ":"Ҽ̨","ⲽ":"ш","Ⲽ":"Ш","Ꙑ":"Ъl","℈":"Э","🜁":"Ꙙ","𖼜":"Ꙙ","ꦒ":"ⰿ","և":"եւ","ኔ":"ձ","ﬔ":"մե","ﬕ":"մի","ﬗ":"մխ","ﬓ":"մն","∩":"Ո","⋂":"Ո","𝉅":"Ո","በ":"Ո","ᑎ":"Ո","ꓵ":"Ո","ᑚ":"Ո·","ᑨ":"Ո\'","ﬖ":"վն","₽":"Ք","˓":"ՙ","ʿ":"ՙ","ℵ":"א","ﬡ":"א","אָ":"אַ","אּ":"אַ","ﭏ":"אל","ℶ":"ב","ℷ":"ג","ℸ":"ד","ﬢ":"ד","ﬣ":"ה","יּ":"יִ","ﬤ":"כ","ﬥ":"ל","ﬦ":"ם","ﬠ":"ע","ﬧ":"ר","שׂ":"שׁ","שּ":"שׁ","שּׂ":"שּׁ","ﬨ":"ת","ﺀ":"ء","۽":"ء͈","ﺂ":"آ","ﺁ":"آ","ﭑ":"ٱ","ﭐ":"ٱ","𞸁":"ب","𞸡":"ب","𞹡":"ب","𞺁":"ب","𞺡":"ب","ﺑ":"ب","ﺒ":"ب","ﺐ":"ب","ﺏ":"ب","ݑ":"بۛ","ࢶ":"بۢ","ࢡ":"بٔ","ﲠ":"بo","ﳢ":"بo","ﲜ":"بج","ﰅ":"بج","ﲝ":"بح","ﰆ":"بح","ﷂ":"بحى","ﲞ":"بخ","ﰇ":"بخ","ﳒ":"بخ","ﱋ":"بخ","ﶞ":"بخى","ﱪ":"بر","ﱫ":"بز","ﲟ":"بم","ﳡ":"بم","ﱬ":"بم","ﰈ":"بم","ﱭ":"بن","ﱮ":"بى","ﰉ":"بى","ﱯ":"بى","ﰊ":"بى","ﭔ":"ٻ","ﭕ":"ٻ","ﭓ":"ٻ","ﭒ":"ٻ","ې":"ٻ","ﯦ":"ٻ","ﯧ":"ٻ","ﯥ":"ٻ","ﯤ":"ٻ","ﭜ":"ڀ","ﭝ":"ڀ","ﭛ":"ڀ","ﭚ":"ڀ","ࢩ":"ݔ","ݧ":"ݔ","⍥":"ة","ö":"ة","ﺔ":"ة","ﺓ":"ة","ۃ":"ة","𞸕":"ت","𞸵":"ت","𞹵":"ت","𞺕":"ت","𞺵":"ت","ﺗ":"ت","ﺘ":"ت","ﺖ":"ت","ﺕ":"ت","ﲥ":"تo","ﳤ":"تo","ﲡ":"تج","ﰋ":"تج","ﵐ":"تجم","ﶠ":"تجى","ﶟ":"تجى","ﲢ":"تح","ﰌ":"تح","ﵒ":"تحج","ﵑ":"تحج","ﵓ":"تحم","ﲣ":"تخ","ﰍ":"تخ","ﵔ":"تخم","ﶢ":"تخى","ﶡ":"تخى","ﱰ":"تر","ﱱ":"تز","ﲤ":"تم","ﳣ":"تم","ﱲ":"تم","ﰎ":"تم","ﵕ":"تمج","ﵖ":"تمح","ﵗ":"تمخ","ﶤ":"تمى","ﶣ":"تمى","ﱳ":"تن","ﱴ":"تى","ﰏ":"تى","ﱵ":"تى","ﰐ":"تى","ﭠ":"ٺ","ﭡ":"ٺ","ﭟ":"ٺ","ﭞ":"ٺ","ﭤ":"ٿ","ﭥ":"ٿ","ﭣ":"ٿ","ﭢ":"ٿ","𞸂":"ج","𞸢":"ج","𞹂":"ج","𞹢":"ج","𞺂":"ج","𞺢":"ج","ﺟ":"ج","ﺠ":"ج","ﺞ":"ج","ﺝ":"ج","ﲧ":"جح","ﰕ":"جح","ﶦ":"جحى","ﶾ":"جحى","ﷻ":"جل جلlلo","ﲨ":"جم","ﰖ":"جم","ﵙ":"جمح","ﵘ":"جمح","ﶧ":"جمى","ﶥ":"جمى","ﴝ":"جى","ﴁ":"جى","ﴞ":"جى","ﴂ":"جى","ﭸ":"ڃ","ﭹ":"ڃ","ﭷ":"ڃ","ﭶ":"ڃ","ﭴ":"ڄ","ﭵ":"ڄ","ﭳ":"ڄ","ﭲ":"ڄ","ﭼ":"چ","ﭽ":"چ","ﭻ":"چ","ﭺ":"چ","ﮀ":"ڇ","ﮁ":"ڇ","ﭿ":"ڇ","ﭾ":"ڇ","𞸇":"ح","𞸧":"ح","𞹇":"ح","𞹧":"ح","𞺇":"ح","𞺧":"ح","ﺣ":"ح","ﺤ":"ح","ﺢ":"ح","ﺡ":"ح","څ":"حۛ","ځ":"حٔ","ݲ":"حٔ","ﲩ":"حج","ﰗ":"حج","ﶿ":"حجى","ﲪ":"حم","ﰘ":"حم","ﵛ":"حمى","ﵚ":"حمى","ﴛ":"حى","ﳿ":"حى","ﴜ":"حى","ﴀ":"حى","𞸗":"خ","𞸷":"خ","𞹗":"خ","𞹷":"خ","𞺗":"خ","𞺷":"خ","ﺧ":"خ","ﺨ":"خ","ﺦ":"خ","ﺥ":"خ","ﲫ":"خج","ﰙ":"خج","ﰚ":"خح","ﲬ":"خم","ﰛ":"خم","ﴟ":"خى","ﴃ":"خى","ﴠ":"خى","ﴄ":"خى","𐋡":"د","𞸃":"د","𞺃":"د","𞺣":"د","ﺪ":"د","ﺩ":"د","ڈ":"دؕ","ﮉ":"دؕ","ﮈ":"دؕ","ڎ":"دۛ","ﮇ":"دۛ","ﮆ":"دۛ","ۮ":"د̂","ࢮ":"د̤̣","𞸘":"ذ","𞺘":"ذ","𞺸":"ذ","ﺬ":"ذ","ﺫ":"ذ","ﱛ":"ذٰ","ڋ":"ڊؕ","ﮅ":"ڌ","ﮄ":"ڌ","ﮃ":"ڍ","ﮂ":"ڍ","𞸓":"ر","𞺓":"ر","𞺳":"ر","ﺮ":"ر","ﺭ":"ر","ڑ":"رؕ","ﮍ":"رؕ","ﮌ":"رؕ","ژ":"رۛ","ﮋ":"رۛ","ﮊ":"رۛ","ڒ":"ر̆","ࢹ":"ر̆̇","ۯ":"ر̂","ݬ":"رٔ","ﱜ":"رٰ","ﷶ":"رسول","﷼":"رىlل","𞸆":"ز","𞺆":"ز","𞺦":"ز","ﺰ":"ز","ﺯ":"ز","ࢲ":"ز̂","ݱ":"ڗؕ","𞸎":"س","𞸮":"س","𞹎":"س","𞹮":"س","𞺎":"س","𞺮":"س","ﺳ":"س","ﺴ":"س","ﺲ":"س","ﺱ":"س","ش":"سۛ","𞸔":"سۛ","𞸴":"سۛ","𞹔":"سۛ","𞹴":"سۛ","𞺔":"سۛ","𞺴":"سۛ","ﺷ":"سۛ","ﺸ":"سۛ","ﺶ":"سۛ","ﺵ":"سۛ","ݾ":"س̂","ﴱ":"سo","ﳨ":"سo","ﴲ":"سۛo","ﳪ":"سۛo","ﲭ":"سج","ﴴ":"سج","ﰜ":"سج","ﴭ":"سۛج","ﴷ":"سۛج","ﴥ":"سۛج","ﴉ":"سۛج","ﵝ":"سجح","ﵞ":"سجى","ﵩ":"سۛجى","ﲮ":"سح","ﴵ":"سح","ﰝ":"سح","ﴮ":"سۛح","ﴸ":"سۛح","ﴦ":"سۛح","ﴊ":"سۛح","ﵜ":"سحج","ﵨ":"سۛحم","ﵧ":"سۛحم","ﶪ":"سۛحى","ﲯ":"سخ","ﴶ":"سخ","ﰞ":"سخ","ﴯ":"سۛخ","ﴹ":"سۛخ","ﴧ":"سۛخ","ﴋ":"سۛخ","ﶨ":"سخى","ﷆ":"سخى","ﴪ":"سر","ﴎ":"سر","ﴩ":"سۛر","ﴍ":"سۛر","ﲰ":"سم","ﳧ":"سم","ﰟ":"سم","ﴰ":"سۛم","ﳩ":"سۛم","ﴨ":"سۛم","ﴌ":"سۛم","ﵡ":"سمج","ﵠ":"سمح","ﵟ":"سمح","ﵫ":"سۛمخ","ﵪ":"سۛمخ","ﵣ":"سمم","ﵢ":"سمم","ﵭ":"سۛمم","ﵬ":"سۛمم","ﴗ":"سى","ﳻ":"سى","ﴘ":"سى","ﳼ":"سى","ﴙ":"سۛى","ﳽ":"سۛى","ﴚ":"سۛى","ﳾ":"سۛى","𐋲":"ص","𞸑":"ص","𞸱":"ص","𞹑":"ص","𞹱":"ص","𞺑":"ص","𞺱":"ص","ﺻ":"ص","ﺼ":"ص","ﺺ":"ص","ﺹ":"ص","ڞ":"صۛ","ࢯ":"ص̤̣","ﲱ":"صح","ﰠ":"صح","ﵥ":"صحح","ﵤ":"صحح","ﶩ":"صحى","ﲲ":"صخ","ﴫ":"صر","ﴏ":"صر","ﷵ":"صلعم","ﷹ":"صلى","ﷰ":"صلى","ﷺ":"صلى lللo علىo وسلم","ﲳ":"صم","ﰡ":"صم","ﷅ":"صمم","ﵦ":"صمم","ﴡ":"صى","ﴅ":"صى","ﴢ":"صى","ﴆ":"صى","𞸙":"ض","𞸹":"ض","𞹙":"ض","𞹹":"ض","𞺙":"ض","𞺹":"ض","ﺿ":"ض","ﻀ":"ض","ﺾ":"ض","ﺽ":"ض","ﲴ":"ضج","ﰢ":"ضج","ﲵ":"ضح","ﰣ":"ضح","ﵮ":"ضحى","ﶫ":"ضحى","ﲶ":"ضخ","ﰤ":"ضخ","ﵰ":"ضخم","ﵯ":"ضخم","ﴬ":"ضر","ﴐ":"ضر","ﲷ":"ضم","ﰥ":"ضم","ﴣ":"ضى","ﴇ":"ضى","ﴤ":"ضى","ﴈ":"ضى","𐋨":"ط","𞸈":"ط","𞹨":"ط","𞺈":"ط","𞺨":"ط","ﻃ":"ط","ﻄ":"ط","ﻂ":"ط","ﻁ":"ط","ڟ":"طۛ","ﲸ":"طح","ﰦ":"طح","ﴳ":"طم","ﴺ":"طم","ﰧ":"طم","ﵲ":"طمح","ﵱ":"طمح","ﵳ":"طمم","ﵴ":"طمى","ﴑ":"طى","ﳵ":"طى","ﴒ":"طى","ﳶ":"طى","𞸚":"ظ","𞹺":"ظ","𞺚":"ظ","𞺺":"ظ","ﻇ":"ظ","ﻈ":"ظ","ﻆ":"ظ","ﻅ":"ظ","ﲹ":"ظم","ﴻ":"ظم","ﰨ":"ظم","؏":"ع","𞸏":"ع","𞸯":"ع","𞹏":"ع","𞹯":"ع","𞺏":"ع","𞺯":"ع","ﻋ":"ع","ﻌ":"ع","ﻊ":"ع","ﻉ":"ع","ﲺ":"عج","ﰩ":"عج","ﷄ":"عجم","ﵵ":"عجم","ﷷ":"علىo","ﲻ":"عم","ﰪ":"عم","ﵷ":"عمم","ﵶ":"عمم","ﵸ":"عمى","ﶶ":"عمى","ﴓ":"عى","ﳷ":"عى","ﴔ":"عى","ﳸ":"عى","𞸛":"غ","𞸻":"غ","𞹛":"غ","𞹻":"غ","𞺛":"غ","𞺻":"غ","ﻏ":"غ","ﻐ":"غ","ﻎ":"غ","ﻍ":"غ","ﲼ":"غج","ﰫ":"غج","ﲽ":"غم","ﰬ":"غم","ﵹ":"غمم","ﵻ":"غمى","ﵺ":"غمى","ﴕ":"غى","ﳹ":"غى","ﴖ":"غى","ﳺ":"غى","𞸐":"ف","𞸰":"ف","𞹰":"ف","𞺐":"ف","𞺰":"ف","ﻓ":"ف","ﻔ":"ف","ﻒ":"ف","ﻑ":"ف","ڧ":"ف","ﲾ":"فج","ﰭ":"فج","ﲿ":"فح","ﰮ":"فح","ﳀ":"فخ","ﰯ":"فخ","ﵽ":"فخم","ﵼ":"فخم","ﳁ":"فم","ﰰ":"فم","ﷁ":"فمى","ﱼ":"فى","ﰱ":"فى","ﱽ":"فى","ﰲ":"فى","𞸞":"ڡ","𞹾":"ڡ","ࢻ":"ڡ","ٯ":"ڡ","𞸟":"ڡ","𞹟":"ڡ","ࢼ":"ڡ","ڤ":"ڡۛ","ﭬ":"ڡۛ","ﭭ":"ڡۛ","ﭫ":"ڡۛ","ﭪ":"ڡۛ","ڨ":"ڡۛ","ࢤ":"ڢۛ","ﭰ":"ڦ","ﭱ":"ڦ","ﭯ":"ڦ","ﭮ":"ڦ","𞸒":"ق","𞸲":"ق","𞹒":"ق","𞹲":"ق","𞺒":"ق","𞺲":"ق","ﻗ":"ق","ﻘ":"ق","ﻖ":"ق","ﻕ":"ق","ﳂ":"قح","ﰳ":"قح","ﷱ":"قلى","ﳃ":"قم","ﰴ":"قم","ﶴ":"قمح","ﵾ":"قمح","ﵿ":"قمم","ﶲ":"قمى","ﱾ":"قى","ﰵ":"قى","ﱿ":"قى","ﰶ":"قى","𞸊":"ك","𞸪":"ك","𞹪":"ك","ﻛ":"ك","ﻜ":"ك","ﻚ":"ك","ﻙ":"ك","ک":"ك","ﮐ":"ك","ﮑ":"ك","ﮏ":"ك","ﮎ":"ك","ڪ":"ك","ڭ":"كۛ","ﯕ":"كۛ","ﯖ":"كۛ","ﯔ":"كۛ","ﯓ":"كۛ","ݣ":"كۛ","ﲀ":"كl","ﰷ":"كl","ﳄ":"كج","ﰸ":"كج","ﳅ":"كح","ﰹ":"كح","ﳆ":"كخ","ﰺ":"كخ","ﳇ":"كل","ﳫ":"كل","ﲁ":"كل","ﰻ":"كل","ﳈ":"كم","ﳬ":"كم","ﲂ":"كم","ﰼ":"كم","ﷃ":"كمم","ﶻ":"كمم","ﶷ":"كمى","ﲃ":"كى","ﰽ":"كى","ﲄ":"كى","ﰾ":"كى","ݢ":"ڬ","ﮔ":"گ","ﮕ":"گ","ﮓ":"گ","ﮒ":"گ","ࢰ":"گ","ڴ":"گۛ","ﮜ":"ڱ","ﮝ":"ڱ","ﮛ":"ڱ","ﮚ":"ڱ","ﮘ":"ڳ","ﮙ":"ڳ","ﮗ":"ڳ","ﮖ":"ڳ","𞸋":"ل","𞸫":"ل","𞹋":"ل","𞺋":"ل","𞺫":"ل","ﻟ":"ل","ﻠ":"ل","ﻞ":"ل","ﻝ":"ل","ڷ":"لۛ","ڵ":"ل̆","ﻼ":"لl","ﻻ":"لl","ﻺ":"لlٕ","ﻹ":"لlٕ","ﻸ":"لlٴ","ﻷ":"لlٴ","ﳍ":"لo","ﻶ":"لآ","ﻵ":"لآ","ﳉ":"لج","ﰿ":"لج","ﶃ":"لجج","ﶄ":"لجج","ﶺ":"لجم","ﶼ":"لجم","ﶬ":"لجى","ﳊ":"لح","ﱀ":"لح","ﶵ":"لحم","ﶀ":"لحم","ﶂ":"لحى","ﶁ":"لحى","ﳋ":"لخ","ﱁ":"لخ","ﶆ":"لخم","ﶅ":"لخم","ﳌ":"لم","ﳭ":"لم","ﲅ":"لم","ﱂ":"لم","ﶈ":"لمح","ﶇ":"لمح","ﶭ":"لمى","ﲆ":"لى","ﱃ":"لى","ﲇ":"لى","ﱄ":"لى","𞸌":"م","𞸬":"م","𞹬":"م","𞺌":"م","𞺬":"م","ﻣ":"م","ﻤ":"م","ﻢ":"م","ﻡ":"م","ࢧ":"مۛ","۾":"م͈","ﲈ":"مl","ﳎ":"مج","ﱅ":"مج","ﶌ":"مجح","ﶒ":"مجخ","ﶍ":"مجم","ﷀ":"مجى","ﳏ":"مح","ﱆ":"مح","ﶉ":"محج","ﶊ":"محم","ﷴ":"محمد","ﶋ":"محى","ﳐ":"مخ","ﱇ":"مخ","ﶎ":"مخج","ﶏ":"مخم","ﶹ":"مخى","ﳑ":"مم","ﲉ":"مم","ﱈ":"مم","ﶱ":"ممى","ﱉ":"مى","ﱊ":"مى","𞸍":"ن","𞸭":"ن","𞹍":"ن","𞹭":"ن","𞺍":"ن","𞺭":"ن","ﻧ":"ن","ﻨ":"ن","ﻦ":"ن","ﻥ":"ن","ݨ":"نؕ","ݩ":"ن̆","ﳖ":"نo","ﳯ":"نo","ﶸ":"نجح","ﶽ":"نجح","ﶘ":"نجم","ﶗ":"نجم","ﶙ":"نجى","ﷇ":"نجى","ﳓ":"نح","ﱌ":"نح","ﶕ":"نحم","ﶖ":"نحى","ﶳ":"نحى","ﳔ":"نخ","ﱍ":"نخ","ﲊ":"نر","ﲋ":"نز","ﳕ":"نم","ﳮ":"نم","ﲌ":"نم","ﱎ":"نم","ﶛ":"نمى","ﶚ":"نمى","ﲍ":"نن","ﲎ":"نى","ﱏ":"نى","ﲏ":"نى","ﱐ":"نى","ۂ":"ۀ","ﮥ":"ۀ","ﮤ":"ۀ","𐋤":"و","𞸅":"و","𞺅":"و","𞺥":"و","ﻮ":"و","ﻭ":"و","ࢱ":"و","ۋ":"وۛ","ﯟ":"وۛ","ﯞ":"وۛ","ۇ":"و̓","ﯘ":"و̓","ﯗ":"و̓","ۆ":"و̆","ﯚ":"و̆","ﯙ":"و̆","ۉ":"و̂","ﯣ":"و̂","ﯢ":"و̂","ۈ":"وٰ","ﯜ":"وٰ","ﯛ":"وٰ","ؤ":"وٴ","ﺆ":"وٴ","ﺅ":"وٴ","ٶ":"وٴ","ٷ":"و̓ٴ","ﯝ":"و̓ٴ","ﷸ":"وسلم","ﯡ":"ۅ","ﯠ":"ۅ","ٮ":"ى","𞸜":"ى","𞹼":"ى","ں":"ى","𞸝":"ى","𞹝":"ى","ﮟ":"ى","ﮞ":"ى","ࢽ":"ى","ﯨ":"ى","ﯩ":"ى","ﻰ":"ى","ﻯ":"ى","ي":"ى","𞸉":"ى","𞸩":"ى","𞹉":"ى","𞹩":"ى","𞺉":"ى","𞺩":"ى","ﻳ":"ى","ﻴ":"ى","ﻲ":"ى","ﻱ":"ى","ی":"ى","ﯾ":"ى","ﯿ":"ى","ﯽ":"ى","ﯼ":"ى","ے":"ى","ﮯ":"ى","ﮮ":"ى","ٹ":"ىؕ","ﭨ":"ىؕ","ﭩ":"ىؕ","ﭧ":"ىؕ","ﭦ":"ىؕ","ڻ":"ىؕ","ﮢ":"ىؕ","ﮣ":"ىؕ","ﮡ":"ىؕ","ﮠ":"ىؕ","پ":"ىۛ","ﭘ":"ىۛ","ﭙ":"ىۛ","ﭗ":"ىۛ","ﭖ":"ىۛ","ث":"ىۛ","𞸖":"ىۛ","𞸶":"ىۛ","𞹶":"ىۛ","𞺖":"ىۛ","𞺶":"ىۛ","ﺛ":"ىۛ","ﺜ":"ىۛ","ﺚ":"ىۛ","ﺙ":"ىۛ","ڽ":"ىۛ","ۑ":"ىۛ","ؿ":"ىۛ","ࢷ":"ىۛۢ","ݖ":"ى̆","ێ":"ى̆","ࢺ":"ى̆̇","ؽ":"ى̂","ࢨ":"ىٔ","ﲐ":"ىٰ","ﱝ":"ىٰ","ﳞ":"ىo","ﳱ":"ىo","ﳦ":"ىۛo","ئ":"ىٴ","ﺋ":"ىٴ","ﺌ":"ىٴ","ﺊ":"ىٴ","ﺉ":"ىٴ","ٸ":"ىٴ","ﯫ":"ىٴl","ﯪ":"ىٴl","ﲛ":"ىٴo","ﳠ":"ىٴo","ﯭ":"ىٴo","ﯬ":"ىٴo","ﯸ":"ىٴٻ","ﯷ":"ىٴٻ","ﯶ":"ىٴٻ","ﲗ":"ىٴج","ﰀ":"ىٴج","ﲘ":"ىٴح","ﰁ":"ىٴح","ﲙ":"ىٴخ","ﱤ":"ىٴر","ﱥ":"ىٴز","ﲚ":"ىٴم","ﳟ":"ىٴم","ﱦ":"ىٴم","ﰂ":"ىٴم","ﱧ":"ىٴن","ﯯ":"ىٴو","ﯮ":"ىٴو","ﯱ":"ىٴو̓","ﯰ":"ىٴو̓","ﯳ":"ىٴو̆","ﯲ":"ىٴو̆","ﯵ":"ىٴوٰ","ﯴ":"ىٴوٰ","ﯻ":"ىٴى","ﯺ":"ىٴى","ﱨ":"ىٴى","ﯹ":"ىٴى","ﰃ":"ىٴى","ﱩ":"ىٴى","ﰄ":"ىٴى","ﳚ":"ىج","ﱕ":"ىج","ﰑ":"ىۛج","ﶯ":"ىجى","ﳛ":"ىح","ﱖ":"ىح","ﶮ":"ىحى","ﳜ":"ىخ","ﱗ":"ىخ","ﲑ":"ىر","ﱶ":"ىۛر","ﲒ":"ىز","ﱷ":"ىۛز","ﳝ":"ىم","ﳰ":"ىم","ﲓ":"ىم","ﱘ":"ىم","ﲦ":"ىۛم","ﳥ":"ىۛم","ﱸ":"ىۛم","ﰒ":"ىۛم","ﶝ":"ىمم","ﶜ":"ىمم","ﶰ":"ىمى","ﲔ":"ىن","ﱹ":"ىۛن","ﲕ":"ىى","ﱙ":"ىى","ﲖ":"ىى","ﱚ":"ىى","ﱺ":"ىۛى","ﰓ":"ىۛى","ﱻ":"ىۛى","ﰔ":"ىۛى","ﮱ":"ۓ","ﮰ":"ۓ","𐊸":"ⵀ","⁞":"ⵂ","⸽":"ⵂ","⦙":"ⵂ","︙":"ⵗ","⁝":"ⵗ","⋮":"ⵗ","Մ":"ሆ","Ռ":"ቡ","Ի":"ኮ","Պ":"ጣ","आ":"अा","ऒ":"अाॆ","ओ":"अाे","औ":"अाै","ऄ":"अॆ","ऑ":"अॉ","ऍ":"एॅ","ऎ":"एॆ","ऐ":"एे","ई":"र्इ","ઽ":"ऽ","𑇜":"ꣻ","𑇋":"ऺ","ુ":"ु","ૂ":"ू","ੋ":"ॆ","੍":"्","્":"्","আ":"অা","ৠ":"ঋৃ","ৡ":"ঋৃ","𑒒":"ঘ","𑒔":"চ","𑒖":"জ","𑒘":"ঞ","𑒙":"ট","𑒛":"ড","𑒪":"ণ","𑒞":"ত","𑒟":"থ","𑒠":"দ","𑒡":"ধ","𑒢":"ন","𑒣":"প","𑒩":"ব","𑒧":"ম","𑒨":"য","𑒫":"র","𑒝":"ল","𑒭":"ষ","𑒮":"স","𑓄":"ঽ","𑒰":"া","𑒱":"ি","𑒹":"ে","𑒼":"ো","𑒾":"ৌ","𑓂":"্","𑒽":"ৗ","ਉ":"ੳੁ","ਊ":"ੳੂ","ਆ":"ਅਾ","ਐ":"ਅੈ","ਔ":"ਅੌ","ਇ":"ੲਿ","ਈ":"ੲੀ","ਏ":"ੲੇ","આ":"અા","ઑ":"અાૅ","ઓ":"અાે","ઔ":"અાૈ","ઍ":"અૅ","એ":"અે","ઐ":"અૈ","ଆ":"ଅା","௮":"அ","ர":"ஈ","ா":"ஈ","௫":"ஈு","௨":"உ","ഉ":"உ","ஊ":"உள","ഊ":"உൗ","௭":"எ","௷":"எவ","ஜ":"ஐ","ജ":"ஐ","௧":"க","௪":"ச","௬":"சு","௲":"சூ","ഺ":"டி","ണ":"ண","௺":"நீ","௴":"மீ","௰":"ய","ഴ":"ழ","ௗ":"ள","ை":"ன","ശ":"ஶ","௸":"ஷ","ി":"ி","ീ":"ி","ொ":"ெஈ","ௌ":"ெள","ோ":"ேஈ","ಅ":"అ","ಆ":"ఆ","ಇ":"ఇ","ౠ":"ఋా","ౡ":"ఌా","ಒ":"ఒ","ఔ":"ఒౌ","ಔ":"ఒౌ","ఓ":"ఒౕ","ಓ":"ఒౕ","ಜ":"జ","ಞ":"ఞ","ఢ":"డ̣","ಣ":"ణ","థ":"ధּ","భ":"బ̣","ಯ":"య","ఠ":"రּ","ಱ":"ఱ","ಲ":"ల","ష":"వ̣","హ":"వా","మ":"వు","ూ":"ుా","ౄ":"ృా","ೡ":"ಌಾ","ഈ":"ഇൗ","ഐ":"എെ","ഓ":"ഒാ","ഔ":"ഒൗ","ൡ":"ഞ","൫":"ദ്ര","൹":"നു","ഌ":"നു","ങ":"നു","൯":"ന്","ൻ":"ന്","൬":"ന്ന","൚":"ന്മ","റ":"ര","൪":"ര്","ർ":"ര്","൮":"വ്ര","൶":"ഹ്മ","ൂ":"ു","ൃ":"ു","ൈ":"െെ","෪":"ජ","෫":"ද","𑐓":"𑐴𑑂𑐒","𑐙":"𑐴𑑂𑐘","𑐤":"𑐴𑑂𑐣","𑐪":"𑐴𑑂𑐩","𑐭":"𑐴𑑂𑐬","𑐯":"𑐴𑑂𑐮","𑗘":"𑖂","𑗙":"𑖂","𑗚":"𑖃","𑗛":"𑖄","𑗜":"𑖲","𑗝":"𑖳","ฃ":"ข","ด":"ค","ต":"ค","ม":"ฆ","ຈ":"จ","ซ":"ช","ฏ":"ฎ","ท":"ฑ","ບ":"บ","ປ":"ป","ຝ":"ฝ","ພ":"พ","ຟ":"ฟ","ฦ":"ภ","ຍ":"ย","។":"ฯ","ๅ":"า","ำ":"̊า","ិ":"ิ","ី":"ี","ឹ":"ึ","ឺ":"ื","ຸ":"ุ","ູ":"ู","แ":"เเ","ໜ":"ຫນ","ໝ":"ຫມ","ຳ":"̊າ","༂":"འུྂཿ","༃":"འུྂ༔","ཪ":"ར","ༀ":"ཨོཾ","ཷ":"ྲཱྀ","ཹ":"ླཱྀ","𑲲":"𑲪","ႁ":"ဂှ","က":"ဂာ","ၰ":"ဃှ","ၦ":"ပှ","ဟ":"ပာ","ၯ":"ပာှ","ၾ":"ၽှ","ဩ":"သြ","ဪ":"သြော်","႞":"ႃ̊","ឣ":"អ","᧐":"ᦞ","᧑":"ᦱ","᪀":"ᩅ","᪐":"ᩅ","꩓":"ꨁ","꩖":"ꨣ","᭒":"ᬍ","᭓":"ᬑ","᭘":"ᬨ","ꦣ":"ꦝ","ᢖ":"ᡜ","ᡕ":"ᠵ","ῶ":"Ꮿ","ᐍ":"ᐁ·","ᐫ":"ᐁᐠ","ᐑ":"ᐄ·","ᐓ":"ᐅ·","ᐭ":"ᐅᐠ","ᐕ":"ᐆ·","ᐘ":"ᐊ·","ᐮ":"ᐊᐠ","ᐚ":"ᐋ·","ᣝ":"ᐞᣟ","ᓑ":"ᐡ","ᕀ":"ᐩ","ᐿ":"ᐲ·","ᑃ":"ᐴ·","⍩":"ᐵ","ᑇ":"ᐹ·","ᑜ":"ᑏ·","⸧":"ᑐ","⊃":"ᑐ","ᑞ":"ᑐ·","ᑩ":"ᑐ\'","⟉":"ᑐ/","⫗":"ᑐᑕ","ᑠ":"ᑑ·","⸦":"ᑕ","⊂":"ᑕ","ᑢ":"ᑕ·","ᑪ":"ᑕ\'","ᑤ":"ᑖ·","ᑵ":"ᑫ·","ᒅ":"ᑫ\'","ᑹ":"ᑮ·","ᑽ":"ᑰ·","ᘃ":"ᒉ","ᒓ":"ᒉ·","ᒕ":"ᒋ·","ᒗ":"ᒌ·","ᒛ":"ᒎ·","ᘂ":"ᒐ","ᒝ":"ᒐ·","ᒟ":"ᒑ·","ᒭ":"ᒣ·","ᒱ":"ᒦ·","ᒳ":"ᒧ·","ᒵ":"ᒨ·","ᒹ":"ᒫ·","ᓊ":"ᓀ·","ᣇ":"ᓂ·","ᣉ":"ᓃ·","ᣋ":"ᓄ·","ᣍ":"ᓅ·","ᓌ":"ᓇ·","ᓎ":"ᓈ·","ᘄ":"ᓓ","ᓝ":"ᓓ·","ᓟ":"ᓕ·","ᓡ":"ᓖ·","ᓣ":"ᓗ·","ᓥ":"ᓘ·","ᘇ":"ᓚ","ᓧ":"ᓚ·","ᓩ":"ᓛ·","ᓷ":"ᓭ·","ᓹ":"ᓯ·","ᓻ":"ᓰ·","ᓽ":"ᓱ·","ᓿ":"ᓲ·","ᔁ":"ᓴ·","ᔃ":"ᓵ·","ᔌ":"ᔋ<","ᔎ":"ᔋb","ᔍ":"ᔋᑕ","ᔏ":"ᔋᒐ","ᔘ":"ᔐ·","ᔚ":"ᔑ·","ᔜ":"ᔒ·","ᔞ":"ᔓ·","ᔠ":"ᔔ·","ᔢ":"ᔕ·","ᔤ":"ᔖ·","ᔲ":"ᔨ·","ᔴ":"ᔩ·","ᔶ":"ᔪ·","ᔸ":"ᔫ·","ᔺ":"ᔭ·","ᔼ":"ᔮ·","ᘢ":"ᕃ","ᣠ":"ᕃ·","ᘣ":"ᕆ","ᘤ":"ᕊ","ᕏ":"ᕌ·","ᖃ":"ᕐb","ᖄ":"ᕐḃ","ᖁ":"ᕐd","ᕿ":"ᕐP","ᙯ":"ᕐᑫ","ᕾ":"ᕐᑬ","ᖀ":"ᕐᑮ","ᖂ":"ᕐᑰ","ᖅ":"ᕐᒃ","ᕜ":"ᕚ·","ᣣ":"ᕞ·","ᣤ":"ᕦ·","ᕩ":"ᕧ·","ᣥ":"ᕫ·","ᣨ":"ᖆ·","ᖑ":"ᖕJ","ᙰ":"ᖕᒉ","ᖎ":"ᖕᒊ","ᖏ":"ᖕᒋ","ᖐ":"ᖕᒌ","ᖒ":"ᖕᒎ","ᖓ":"ᖕᒐ","ᖔ":"ᖕᒑ","ᙳ":"ᖖJ","ᙱ":"ᖖᒋ","ᙲ":"ᖖᒌ","ᙴ":"ᖖᒎ","ᙵ":"ᖖᒐ","ᙶ":"ᖖᒑ","ᣪ":"ᖗ·","ᙷ":"ᖧ·","ᙸ":"ᖨ·","ᙹ":"ᖩ·","ᙺ":"ᖪ·","ᙻ":"ᖫ·","ᙼ":"ᖬ·","ᙽ":"ᖭ·","⪫":"ᗒ","⪪":"ᗕ","ꓷ":"ᗡ","ᣰ":"ᗴ·","ᣲ":"ᘛ·","ᶻ":"ᙆ","ꓭ":"ᙠ","ᶺ":"ᣔ","ᴾ":"ᣖ","ᣜ":"ᣟᐞ","ˡ":"ᣳ","ʳ":"ᣴ","ˢ":"ᣵ","ᣛ":"ᣵ","ꚰ":"ᚹ","ᛡ":"ᚼ","⍿":"ᚽ","ᛂ":"ᚽ","𝈿":"ᛋ","↑":"ᛏ","↿":"ᛐ","⥮":"ᛐ⇂","⥣":"ᛐᛚ","ⵣ":"ᛯ","↾":"ᛚ","⨡":"ᛚ","⋄":"ᛜ","◇":"ᛜ","◊":"ᛜ","♢":"ᛜ","🝔":"ᛜ","𑢷":"ᛜ","𐊔":"ᛜ","⍚":"ᛜ̲","⋈":"ᛞ","⨝":"ᛞ","𐓐":"ᛦ","↕":"ᛨ","𐳼":"𐲂","𐳺":"𐲥","ㄱ":"ᄀ","ᆨ":"ᄀ","ᄁ":"ᄀᄀ","ㄲ":"ᄀᄀ","ᆩ":"ᄀᄀ","ᇺ":"ᄀᄂ","ᅚ":"ᄀᄃ","ᇃ":"ᄀᄅ","ᇻ":"ᄀᄇ","ᆪ":"ᄀᄉ","ㄳ":"ᄀᄉ","ᇄ":"ᄀᄉᄀ","ᇼ":"ᄀᄎ","ᇽ":"ᄀᄏ","ᇾ":"ᄀᄒ","ㄴ":"ᄂ","ᆫ":"ᄂ","ᄓ":"ᄂᄀ","ᇅ":"ᄂᄀ","ᄔ":"ᄂᄂ","ㅥ":"ᄂᄂ","ᇿ":"ᄂᄂ","ᄕ":"ᄂᄃ","ㅦ":"ᄂᄃ","ᇆ":"ᄂᄃ","ퟋ":"ᄂᄅ","ᄖ":"ᄂᄇ","ᅛ":"ᄂᄉ","ᇇ":"ᄂᄉ","ㅧ":"ᄂᄉ","ᅜ":"ᄂᄌ","ᆬ":"ᄂᄌ","ㄵ":"ᄂᄌ","ퟌ":"ᄂᄎ","ᇉ":"ᄂᄐ","ᅝ":"ᄂᄒ","ᆭ":"ᄂᄒ","ㄶ":"ᄂᄒ","ᇈ":"ᄂᅀ","ㅨ":"ᄂᅀ","ㄷ":"ᄃ","ᆮ":"ᄃ","ᄗ":"ᄃᄀ","ᇊ":"ᄃᄀ","ᄄ":"ᄃᄃ","ㄸ":"ᄃᄃ","ퟍ":"ᄃᄃ","ퟎ":"ᄃᄃᄇ","ᅞ":"ᄃᄅ","ᇋ":"ᄃᄅ","ꥠ":"ᄃᄆ","ꥡ":"ᄃᄇ","ퟏ":"ᄃᄇ","ꥢ":"ᄃᄉ","ퟐ":"ᄃᄉ","ퟑ":"ᄃᄉᄀ","ꥣ":"ᄃᄌ","ퟒ":"ᄃᄌ","ퟓ":"ᄃᄎ","ퟔ":"ᄃᄐ","ㄹ":"ᄅ","ᆯ":"ᄅ","ꥤ":"ᄅᄀ","ᆰ":"ᄅᄀ","ㄺ":"ᄅᄀ","ꥥ":"ᄅᄀᄀ","ퟕ":"ᄅᄀᄀ","ᇌ":"ᄅᄀᄉ","ㅩ":"ᄅᄀᄉ","ퟖ":"ᄅᄀᄒ","ᄘ":"ᄅᄂ","ᇍ":"ᄅᄂ","ꥦ":"ᄅᄃ","ᇎ":"ᄅᄃ","ㅪ":"ᄅᄃ","ꥧ":"ᄅᄃᄃ","ᇏ":"ᄅᄃᄒ","ᄙ":"ᄅᄅ","ᇐ":"ᄅᄅ","ퟗ":"ᄅᄅᄏ","ꥨ":"ᄅᄆ","ᆱ":"ᄅᄆ","ㄻ":"ᄅᄆ","ᇑ":"ᄅᄆᄀ","ᇒ":"ᄅᄆᄉ","ퟘ":"ᄅᄆᄒ","ꥩ":"ᄅᄇ","ᆲ":"ᄅᄇ","ㄼ":"ᄅᄇ","ퟙ":"ᄅᄇᄃ","ꥪ":"ᄅᄇᄇ","ᇓ":"ᄅᄇᄉ","ㅫ":"ᄅᄇᄉ","ꥫ":"ᄅᄇᄋ","ᇕ":"ᄅᄇᄋ","ퟚ":"ᄅᄇᄑ","ᇔ":"ᄅᄇᄒ","ꥬ":"ᄅᄉ","ᆳ":"ᄅᄉ","ㄽ":"ᄅᄉ","ᇖ":"ᄅᄉᄉ","ᄛ":"ᄅᄋ","ퟝ":"ᄅᄋ","ꥭ":"ᄅᄌ","ꥮ":"ᄅᄏ","ᇘ":"ᄅᄏ","ᆴ":"ᄅᄐ","ㄾ":"ᄅᄐ","ᆵ":"ᄅᄑ","ㄿ":"ᄅᄑ","ᄚ":"ᄅᄒ","ㅀ":"ᄅᄒ","ᄻ":"ᄅᄒ","ᆶ":"ᄅᄒ","ퟲ":"ᄅᄒ","ᇗ":"ᄅᅀ","ㅬ":"ᄅᅀ","ퟛ":"ᄅᅌ","ᇙ":"ᄅᅙ","ㅭ":"ᄅᅙ","ퟜ":"ᄅᅙᄒ","ㅁ":"ᄆ","ᆷ":"ᄆ","ꥯ":"ᄆᄀ","ᇚ":"ᄆᄀ","ퟞ":"ᄆᄂ","ퟟ":"ᄆᄂᄂ","ꥰ":"ᄆᄃ","ᇛ":"ᄆᄅ","ퟠ":"ᄆᄆ","ᄜ":"ᄆᄇ","ㅮ":"ᄆᄇ","ᇜ":"ᄆᄇ","ퟡ":"ᄆᄇᄉ","ꥱ":"ᄆᄉ","ᇝ":"ᄆᄉ","ㅯ":"ᄆᄉ","ᇞ":"ᄆᄉᄉ","ᄝ":"ᄆᄋ","ㅱ":"ᄆᄋ","ᇢ":"ᄆᄋ","ퟢ":"ᄆᄌ","ᇠ":"ᄆᄎ","ᇡ":"ᄆᄒ","ᇟ":"ᄆᅀ","ㅰ":"ᄆᅀ","ㅂ":"ᄇ","ᆸ":"ᄇ","ᄞ":"ᄇᄀ","ㅲ":"ᄇᄀ","ᄟ":"ᄇᄂ","ᄠ":"ᄇᄃ","ㅳ":"ᄇᄃ","ퟣ":"ᄇᄃ","ᇣ":"ᄇᄅ","ퟤ":"ᄇᄅᄑ","ퟥ":"ᄇᄆ","ᄈ":"ᄇᄇ","ㅃ":"ᄇᄇ","ퟦ":"ᄇᄇ","ᄬ":"ᄇᄇᄋ","ㅹ":"ᄇᄇᄋ","ᄡ":"ᄇᄉ","ㅄ":"ᄇᄉ","ᆹ":"ᄇᄉ","ᄢ":"ᄇᄉᄀ","ㅴ":"ᄇᄉᄀ","ᄣ":"ᄇᄉᄃ","ㅵ":"ᄇᄉᄃ","ퟧ":"ᄇᄉᄃ","ᄤ":"ᄇᄉᄇ","ᄥ":"ᄇᄉᄉ","ᄦ":"ᄇᄉᄌ","ꥲ":"ᄇᄉᄐ","ᄫ":"ᄇᄋ","ㅸ":"ᄇᄋ","ᇦ":"ᄇᄋ","ᄧ":"ᄇᄌ","ㅶ":"ᄇᄌ","ퟨ":"ᄇᄌ","ᄨ":"ᄇᄎ","ퟩ":"ᄇᄎ","ꥳ":"ᄇᄏ","ᄩ":"ᄇᄐ","ㅷ":"ᄇᄐ","ᄪ":"ᄇᄑ","ᇤ":"ᄇᄑ","ꥴ":"ᄇᄒ","ᇥ":"ᄇᄒ","ㅅ":"ᄉ","ᆺ":"ᄉ","ᄭ":"ᄉᄀ","ㅺ":"ᄉᄀ","ᇧ":"ᄉᄀ","ᄮ":"ᄉᄂ","ㅻ":"ᄉᄂ","ᄯ":"ᄉᄃ","ㅼ":"ᄉᄃ","ᇨ":"ᄉᄃ","ᄰ":"ᄉᄅ","ᇩ":"ᄉᄅ","ᄱ":"ᄉᄆ","ퟪ":"ᄉᄆ","ᄲ":"ᄉᄇ","ㅽ":"ᄉᄇ","ᇪ":"ᄉᄇ","ᄳ":"ᄉᄇᄀ","ퟫ":"ᄉᄇᄋ","ᄊ":"ᄉᄉ","ㅆ":"ᄉᄉ","ᆻ":"ᄉᄉ","ퟬ":"ᄉᄉᄀ","ퟭ":"ᄉᄉᄃ","ꥵ":"ᄉᄉᄇ","ᄴ":"ᄉᄉᄉ","ᄵ":"ᄉᄋ","ᄶ":"ᄉᄌ","ㅾ":"ᄉᄌ","ퟯ":"ᄉᄌ","ᄷ":"ᄉᄎ","ퟰ":"ᄉᄎ","ᄸ":"ᄉᄏ","ᄹ":"ᄉᄐ","ퟱ":"ᄉᄐ","ᄺ":"ᄉᄑ","ퟮ":"ᄉᅀ","ㅇ":"ᄋ","ᆼ":"ᄋ","ᅁ":"ᄋᄀ","ᇬ":"ᄋᄀ","ᇭ":"ᄋᄀᄀ","ᅂ":"ᄋᄃ","ꥶ":"ᄋᄅ","ᅃ":"ᄋᄆ","ᅄ":"ᄋᄇ","ᅅ":"ᄋᄉ","ᇱ":"ᄋᄉ","ㆂ":"ᄋᄉ","ᅇ":"ᄋᄋ","ㆀ":"ᄋᄋ","ᇮ":"ᄋᄋ","ᅈ":"ᄋᄌ","ᅉ":"ᄋᄎ","ᇯ":"ᄋᄏ","ᅊ":"ᄋᄐ","ᅋ":"ᄋᄑ","ꥷ":"ᄋᄒ","ᅆ":"ᄋᅀ","ᇲ":"ᄋᅀ","ㆃ":"ᄋᅀ","ㅈ":"ᄌ","ᆽ":"ᄌ","ퟷ":"ᄌᄇ","ퟸ":"ᄌᄇᄇ","ᅍ":"ᄌᄋ","ᄍ":"ᄌᄌ","ㅉ":"ᄌᄌ","ퟹ":"ᄌᄌ","ꥸ":"ᄌᄌᄒ","ㅊ":"ᄎ","ᆾ":"ᄎ","ᅒ":"ᄎᄏ","ᅓ":"ᄎᄒ","ㅋ":"ᄏ","ᆿ":"ᄏ","ㅌ":"ᄐ","ᇀ":"ᄐ","ꥹ":"ᄐᄐ","ㅍ":"ᄑ","ᇁ":"ᄑ","ᅖ":"ᄑᄇ","ᇳ":"ᄑᄇ","ퟺ":"ᄑᄉ","ᅗ":"ᄑᄋ","ㆄ":"ᄑᄋ","ᇴ":"ᄑᄋ","ퟻ":"ᄑᄐ","ꥺ":"ᄑᄒ","ㅎ":"ᄒ","ᇂ":"ᄒ","ᇵ":"ᄒᄂ","ᇶ":"ᄒᄅ","ᇷ":"ᄒᄆ","ᇸ":"ᄒᄇ","ꥻ":"ᄒᄉ","ᅘ":"ᄒᄒ","ㆅ":"ᄒᄒ","ᄽ":"ᄼᄼ","ᄿ":"ᄾᄾ","ㅿ":"ᅀ","ᇫ":"ᅀ","ퟳ":"ᅀᄇ","ퟴ":"ᅀᄇᄋ","ㆁ":"ᅌ","ᇰ":"ᅌ","ퟵ":"ᅌᄆ","ퟶ":"ᅌᄒ","ᅏ":"ᅎᅎ","ᅑ":"ᅐᅐ","ㆆ":"ᅙ","ᇹ":"ᅙ","ꥼ":"ᅙᅙ","":"","ㅏ":"ᅡ","ᆣ":"ᅡー","ᅶ":"ᅡᅩ","ᅷ":"ᅡᅮ","ᅢ":"ᅡ丨","ㅐ":"ᅡ丨","ㅑ":"ᅣ","ᅸ":"ᅣᅩ","ᅹ":"ᅣᅭ","ᆤ":"ᅣᅮ","ᅤ":"ᅣ丨","ㅒ":"ᅣ丨","ㅓ":"ᅥ","ᅼ":"ᅥー","ᅺ":"ᅥᅩ","ᅻ":"ᅥᅮ","ᅦ":"ᅥ丨","ㅔ":"ᅥ丨","ㅕ":"ᅧ","ᆥ":"ᅧᅣ","ᅽ":"ᅧᅩ","ᅾ":"ᅧᅮ","ᅨ":"ᅧ丨","ㅖ":"ᅧ丨","ㅗ":"ᅩ","ᅪ":"ᅩᅡ","ㅘ":"ᅩᅡ","ᅫ":"ᅩᅡ丨","ㅙ":"ᅩᅡ丨","ᆦ":"ᅩᅣ","ᆧ":"ᅩᅣ丨","ᅿ":"ᅩᅥ","ᆀ":"ᅩᅥ丨","ힰ":"ᅩᅧ","ᆁ":"ᅩᅧ丨","ᆂ":"ᅩᅩ","ힱ":"ᅩᅩ丨","ᆃ":"ᅩᅮ","ᅬ":"ᅩ丨","ㅚ":"ᅩ丨","ㅛ":"ᅭ","ힲ":"ᅭᅡ","ힳ":"ᅭᅡ丨","ᆄ":"ᅭᅣ","ㆇ":"ᅭᅣ","ᆆ":"ᅭᅣ","ᆅ":"ᅭᅣ丨","ㆈ":"ᅭᅣ丨","ힴ":"ᅭᅥ","ᆇ":"ᅭᅩ","ᆈ":"ᅭ丨","ㆉ":"ᅭ丨","ㅜ":"ᅮ","ᆉ":"ᅮᅡ","ᆊ":"ᅮᅡ丨","ᅯ":"ᅮᅥ","ㅝ":"ᅮᅥ","ᆋ":"ᅮᅥー","ᅰ":"ᅮᅥ丨","ㅞ":"ᅮᅥ丨","ힵ":"ᅮᅧ","ᆌ":"ᅮᅧ丨","ᆍ":"ᅮᅮ","ᅱ":"ᅮ丨","ㅟ":"ᅮ丨","ힶ":"ᅮ丨丨","ㅠ":"ᅲ","ᆎ":"ᅲᅡ","ힷ":"ᅲᅡ丨","ᆏ":"ᅲᅥ","ᆐ":"ᅲᅥ丨","ᆑ":"ᅲᅧ","ㆊ":"ᅲᅧ","ᆒ":"ᅲᅧ丨","ㆋ":"ᅲᅧ丨","ힸ":"ᅲᅩ","ᆓ":"ᅲᅮ","ᆔ":"ᅲ丨","ㆌ":"ᅲ丨","ㆍ":"ᆞ","ퟅ":"ᆞᅡ","ᆟ":"ᆞᅥ","ퟆ":"ᆞᅥ丨","ᆠ":"ᆞᅮ","ᆢ":"ᆞᆞ","ᆡ":"ᆞ丨","ㆎ":"ᆞ丨","ヘ":"へ","⍁":"〼","⧄":"〼","꒞":"ꁊ","꒬":"ꁐ","꒜":"ꃀ","꒨":"ꄲ","꒿":"ꉙ","꒾":"ꊱ","꒔":"ꋍ","꓀":"ꎫ","꓂":"ꎵ","꒺":"ꎿ","꒰":"ꏂ","꒧":"ꑘ","⊥":"ꓕ","⟂":"ꓕ","𝈜":"ꓕ","Ʇ":"ꓕ","Ꞟ":"ꓤ","⅁":"ꓨ","⅂":"ꓶ","𝈕":"ꓶ","𝈫":"ꓶ","𖼦":"ꓶ","𐐑":"ꓶ","⅃":"𖼀","𑫦":"𑫥𑫯","𑫨":"𑫥𑫥","𑫩":"𑫥𑫥𑫯","𑫪":"𑫥𑫥𑫰","𑫧":"𑫥𑫰","𑫴":"𑫳𑫯","𑫶":"𑫳𑫳","𑫷":"𑫳𑫳𑫯","𑫸":"𑫳𑫳𑫰","𑫵":"𑫳𑫰","𑫬":"𑫫𑫯","𑫭":"𑫫𑫫","𑫮":"𑫫𑫫𑫯","⊕":"𐊨","⨁":"𐊨","🜨":"𐊨","Ꚛ":"𐊨","▽":"𐊼","𝈔":"𐊼","🜄":"𐊼","⧖":"𐋀","ꞛ":"𐐺","Ꞛ":"𐐒","𐒠":"𐒆","𐏑":"𐎂","𐏓":"𐎓","𒀸":"𐎚","☥":"𐦞","𓋹":"𐦞","〹":"卄","不":"不","丽":"丽","並":"並","⎜":"丨","⎟":"丨","⎢":"丨","⎥":"丨","⎪":"丨","⎮":"丨","㇑":"丨","ᅵ":"丨","ㅣ":"丨","⼁":"丨","ᆜ":"丨ー","ᆘ":"丨ᅡ","ᆙ":"丨ᅣ","ힽ":"丨ᅣᅩ","ힾ":"丨ᅣ丨","ힿ":"丨ᅧ","ퟀ":"丨ᅧ丨","ᆚ":"丨ᅩ","ퟁ":"丨ᅩ丨","ퟂ":"丨ᅭ","ᆛ":"丨ᅮ","ퟃ":"丨ᅲ","ᆝ":"丨ᆞ","ퟄ":"丨丨","串":"串","丸":"丸","丹":"丹","乁":"乁","㇠":"乙","⼄":"乙","㇟":"乚","⺃":"乚","㇖":"乛","⺂":"乛","⻲":"亀","亂":"亂","㇚":"亅","⼅":"亅","了":"了","ニ":"二","⼆":"二","𠄢":"𠄢","⼇":"亠","亮":"亮","⼈":"人","イ":"亻","⺅":"亻","什":"什","仌":"仌","令":"令","你":"你","倂":"併","倂":"併","侀":"侀","來":"來","例":"例","侮":"侮","侮":"侮","侻":"侻","便":"便","值":"値","倫":"倫","偺":"偺","備":"備","像":"像","僚":"僚","僧":"僧","僧":"僧","㒞":"㒞","⼉":"儿","兀":"兀","⺎":"兀","充":"充","免":"免","免":"免","兔":"兔","兤":"兤","⼊":"入","內":"內","全":"全","兩":"兩","ハ":"八","⼋":"八","六":"六","具":"具","𠔜":"𠔜","𠔥":"𠔥","冀":"冀","㒹":"㒹","⼌":"冂","再":"再","𠕋":"𠕋","冒":"冒","冕":"冕","㒻":"㒻","最":"最","⼍":"冖","冗":"冗","冤":"冤","⼎":"冫","冬":"冬","况":"况","况":"况","冷":"冷","凉":"凉","凌":"凌","凜":"凜","凞":"凞","⼏":"几","𠘺":"𠘺","凵":"凵","⼐":"凵","⼑":"刀","⺉":"刂","刃":"刃","切":"切","切":"切","列":"列","利":"利","㓟":"㓟","刺":"刺","刻":"刻","剆":"剆","割":"割","剷":"剷","劉":"劉","𠠄":"𠠄","カ":"力","力":"力","⼒":"力","劣":"劣","㔕":"㔕","劳":"劳","勇":"勇","勇":"勇","勉":"勉","勉":"勉","勒":"勒","勞":"勞","勤":"勤","勤":"勤","勵":"勵","⼓":"勹","勺":"勺","勺":"勺","包":"包","匆":"匆","𠣞":"𠣞","⼔":"匕","北":"北","北":"北","⼕":"匚","⼖":"匸","匿":"匿","⼗":"十","〸":"十","〺":"卅","卉":"卉","࿖":"卍","࿕":"卐","卑":"卑","卑":"卑","博":"博","ト":"卜","⼘":"卜","⼙":"卩","⺋":"㔾","即":"即","卵":"卵","卽":"卽","卿":"卿","卿":"卿","卿":"卿","⼚":"厂","𠨬":"𠨬","⼛":"厶","參":"參","⼜":"又","及":"及","叟":"叟","𠭣":"𠭣","ロ":"口","⼝":"口","囗":"口","⼞":"口","句":"句","叫":"叫","叱":"叱","吆":"吆","吏":"吏","吝":"吝","吸":"吸","呂":"呂","呈":"呈","周":"周","咞":"咞","咢":"咢","咽":"咽","䎛":"㖈","哶":"哶","唐":"唐","啓":"啓","啟":"啓","啕":"啕","啣":"啣","善":"善","善":"善","喇":"喇","喙":"喙","喙":"喙","喝":"喝","喝":"喝","喫":"喫","喳":"喳","嗀":"嗀","嗂":"嗂","嗢":"嗢","嘆":"嘆","嘆":"嘆","噑":"噑","噴":"噴","器":"器","囹":"囹","圖":"圖","圗":"圗","⼟":"土","士":"土","⼠":"土","型":"型","城":"城","㦳":"㘽","埴":"埴","堍":"堍","報":"報","堲":"堲","塀":"塀","塚":"塚","塚":"塚","塞":"塞","填":"塡","壿":"墫","墬":"墬","墳":"墳","壘":"壘","壟":"壟","𡓤":"𡓤","壮":"壮","売":"売","壷":"壷","⼡":"夂","夆":"夆","⼢":"夊","タ":"夕","⼣":"夕","多":"多","夢":"夢","⼤":"大","奄":"奄","奈":"奈","契":"契","奔":"奔","奢":"奢","女":"女","⼥":"女","𡚨":"𡚨","𡛪":"𡛪","姘":"姘","姬":"姬","娛":"娛","娧":"娧","婢":"婢","婦":"婦","嬀":"媯","㛮":"㛮","㛼":"㛼","媵":"媵","嬈":"嬈","嬨":"嬨","嬾":"嬾","嬾":"嬾","⼦":"子","⼧":"宀","宅":"宅","𡧈":"𡧈","寃":"寃","寘":"寘","寧":"寧","寧":"寧","寧":"寧","寮":"寮","寳":"寳","𡬘":"𡬘","⼨":"寸","寿":"寿","将":"将","⼩":"小","尢":"尢","⺐":"尢","⼪":"尢","⺏":"尣","㞁":"㞁","⼫":"尸","尿":"尿","屠":"屠","屢":"屢","層":"層","履":"履","屮":"屮","屮":"屮","⼬":"屮","𡴋":"𡴋","⼭":"山","峀":"峀","岍":"岍","𡷤":"𡷤","𡷦":"𡷦","崙":"崙","嵃":"嵃","嵐":"嵐","嵫":"嵫","嵮":"嵮","嵼":"嵼","嶲":"嶲","嶺":"嶺","⼮":"巛","巢":"巢","エ":"工","⼯":"工","⼰":"己","⺒":"巳","㠯":"㠯","巽":"巽","⼱":"巾","帲":"帡","帨":"帨","帽":"帽","幩":"幩","㡢":"㡢","𢆃":"𢆃","⼲":"干","年":"年","𢆟":"𢆟","⺓":"幺","⼳":"幺","⼴":"广","度":"度","㡼":"㡼","庰":"庰","庳":"庳","庶":"庶","廊":"廊","廊":"廊","廉":"廉","廒":"廒","廓":"廓","廙":"廙","廬":"廬","⼵":"廴","廾":"廾","⼶":"廾","𢌱":"𢌱","𢌱":"𢌱","弄":"弄","⼷":"弋","⼸":"弓","弢":"弢","弢":"弢","⼹":"彐","⺔":"彑","当":"当","㣇":"㣇","⼺":"彡","形":"形","彩":"彩","彫":"彫","⼻":"彳","律":"律","㣣":"㣣","徚":"徚","復":"復","徭":"徭","⼼":"心","⺖":"忄","⺗":"㣺","忍":"忍","志":"志","念":"念","忹":"忹","怒":"怒","怜":"怜","恵":"恵","㤜":"㤜","㤺":"㤺","悁":"悁","悔":"悔","悔":"悔","惇":"惇","惘":"惘","惡":"惡","𢛔":"𢛔","愈":"愈","慨":"慨","慄":"慄","慈":"慈","慌":"慌","慌":"慌","慎":"慎","慎":"慎","慠":"慠","慺":"慺","憎":"憎","憎":"憎","憎":"憎","憐":"憐","憤":"憤","憯":"憯","憲":"憲","𢡄":"𢡄","𢡊":"𢡊","懞":"懞","懲":"懲","懲":"懲","懲":"懲","懶":"懶","懶":"懶","戀":"戀","⼽":"戈","成":"成","戛":"戛","戮":"戮","戴":"戴","⼾":"戶","戸":"戶","⼿":"手","⺘":"扌","扝":"扝","抱":"抱","拉":"拉","拏":"拏","拓":"拓","拔":"拔","拼":"拼","拾":"拾","𢬌":"𢬌","挽":"挽","捐":"捐","捨":"捨","捻":"捻","掃":"掃","掠":"掠","掩":"掩","揄":"揄","揤":"揤","摒":"摒","𢯱":"𢯱","搜":"搜","搢":"搢","揅":"揅","摩":"摩","摷":"摷","摾":"摾","㨮":"㨮","搉":"㩁","撚":"撚","撝":"撝","擄":"擄","㩬":"㩬","⽀":"支","⽁":"攴","⺙":"攵","敏":"敏","敏":"敏","敖":"敖","敬":"敬","數":"數","𣀊":"𣀊","⽂":"文","⻫":"斉","⽃":"斗","料":"料","⽄":"斤","⽅":"方","旅":"旅","⽆":"无","⺛":"旡","既":"既","旣":"旣","⽇":"日","易":"易","曶":"㫚","㫤":"㫤","晉":"晉","晩":"晚","晴":"晴","晴":"晴","暑":"暑","暑":"暑","暈":"暈","㬈":"㬈","暜":"暜","暴":"暴","曆":"曆","㬙":"㬙","𣊸":"𣊸","⽈":"曰","更":"更","書":"書","⽉":"月","𣍟":"𣍟","肦":"朌","胐":"朏","胊":"朐","脁":"朓","胶":"㬵","朗":"朗","朗":"朗","朗":"朗","脧":"朘","望":"望","望":"望","朡":"朡","幐":"㬺","䐠":"㬻","𣎓":"𣎓","膧":"朣","𣎜":"𣎜","⽊":"木","李":"李","杓":"杓","杖":"杖","杞":"杞","𣏃":"𣏃","柿":"杮","杻":"杻","枅":"枅","林":"林","㭉":"㭉","𣏕":"𣏕","柳":"柳","柺":"柺","栗":"栗","栟":"栟","桒":"桒","𣑭":"𣑭","梁":"梁","梅":"梅","梅":"梅","梎":"梎","梨":"梨","椔":"椔","楂":"楂","㮝":"㮝","㮝":"㮝","槩":"㮣","樧":"榝","榣":"榣","槪":"槪","樂":"樂","樂":"樂","樂":"樂","樓":"樓","𣚣":"𣚣","檨":"檨","櫓":"櫓","櫛":"櫛","欄":"欄","㰘":"㰘","⽋":"欠","次":"次","𣢧":"𣢧","歔":"歔","㱎":"㱎","⽌":"止","⻭":"歯","歲":"歲","歷":"歷","歹":"歹","⽍":"歹","⺞":"歺","殟":"殟","殮":"殮","⽎":"殳","殺":"殺","殺":"殺","殺":"殺","殻":"殻","𣪍":"𣪍","⽏":"毋","⺟":"母","𣫺":"𣫺","⽐":"比","⽑":"毛","⽒":"氏","⺠":"民","⽓":"气","⽔":"水","⺡":"氵","⺢":"氺","汎":"汎","汧":"汧","沈":"沈","沿":"沿","泌":"泌","泍":"泍","泥":"泥","𣲼":"𣲼","洛":"洛","洞":"洞","洴":"洴","派":"派","流":"流","流":"流","流":"流","洖":"洖","浩":"浩","浪":"浪","海":"海","海":"海","浸":"浸","涅":"涅","𣴞":"𣴞","淋":"淋","淚":"淚","淪":"淪","淹":"淹","渚":"渚","港":"港","湮":"湮","潙":"溈","滋":"滋","滋":"滋","溜":"溜","溺":"溺","滇":"滇","滑":"滑","滛":"滛","㴳":"㴳","漏":"漏","漢":"漢","漢":"漢","漣":"漣","𣻑":"𣻑","潮":"潮","𣽞":"𣽞","𣾎":"𣾎","濆":"濆","濫":"濫","濾":"濾","瀛":"瀛","瀞":"瀞","瀞":"瀞","瀹":"瀹","灊":"灊","㶖":"㶖","⽕":"火","⺣":"灬","灰":"灰","灷":"灷","災":"災","炙":"炙","炭":"炭","烈":"烈","烙":"烙","煮":"煮","煮":"煮","𤉣":"𤉣","煅":"煅","煉":"煉","𤋮":"𤋮","熜":"熜","燎":"燎","燐":"燐","𤎫":"𤎫","爐":"爐","爛":"爛","爨":"爨","⽖":"爪","爫":"爫","⺤":"爫","爵":"爵","爵":"爵","⽗":"父","⽘":"爻","⺦":"丬","⽙":"爿","⽚":"片","牐":"牐","⽛":"牙","𤘈":"𤘈","⽜":"牛","牢":"牢","犀":"犀","犕":"犕","⽝":"犬","⺨":"犭","犯":"犯","狀":"狀","𤜵":"𤜵","狼":"狼","猪":"猪","猪":"猪","𤠔":"𤠔","獵":"獵","獺":"獺","⽞":"玄","率":"率","率":"率","⽟":"玉","王":"王","㺬":"㺬","玥":"玥","玲":"玲","㺸":"㺸","㺸":"㺸","珞":"珞","琉":"琉","理":"理","琢":"琢","瑇":"瑇","瑜":"瑜","瑩":"瑩","瑱":"瑱","瑱":"瑱","璅":"璅","璉":"璉","璘":"璘","瓊":"瓊","⽠":"瓜","⽡":"瓦","㼛":"㼛","甆":"甆","⽢":"甘","⽣":"生","甤":"甤","⽤":"用","⽥":"田","画":"画","甾":"甾","𤰶":"𤰶","留":"留","略":"略","異":"異","異":"異","𤲒":"𤲒","⽦":"疋","⽧":"疒","痢":"痢","瘐":"瘐","瘟":"瘟","瘝":"瘝","療":"療","癩":"癩","⽨":"癶","⽩":"白","𤾡":"𤾡","𤾸":"𤾸","⽪":"皮","⽫":"皿","𥁄":"𥁄","㿼":"㿼","益":"益","益":"益","盛":"盛","盧":"盧","䀈":"䀈","⽬":"目","直":"直","直":"直","𥃲":"𥃲","𥃳":"𥃳","省":"省","䀘":"䀘","𥄙":"𥄙","眞":"眞","真":"真","真":"真","𥄳":"𥄳","着":"着","睊":"睊","睊":"睊","鿃":"䀹","䀹":"䀹","䀹":"䀹","晣":"䀿","䁆":"䁆","瞋":"瞋","𥉉":"𥉉","瞧":"瞧","⽭":"矛","⽮":"矢","⽯":"石","䂖":"䂖","𥐝":"𥐝","硏":"研","硎":"硎","硫":"硫","碌":"碌","碌":"碌","碑":"碑","磊":"磊","磌":"磌","磌":"磌","磻":"磻","䃣":"䃣","礪":"礪","⽰":"示","⺭":"礻","礼":"礼","社":"社","祈":"祈","祉":"祉","𥘦":"𥘦","祐":"祐","祖":"祖","祖":"祖","祝":"祝","神":"神","祥":"祥","視":"視","視":"視","祿":"祿","𥚚":"𥚚","禍":"禍","禎":"禎","福":"福","福":"福","𥛅":"𥛅","禮":"禮","⽱":"禸","⽲":"禾","秊":"秊","䄯":"䄯","秫":"秫","稜":"稜","穊":"穊","穀":"穀","穀":"穀","穏":"穏","⽳":"穴","突":"突","𥥼":"𥥼","窱":"窱","立":"立","⽴":"立","⻯":"竜","𥪧":"𥪧","𥪧":"𥪧","竮":"竮","⽵":"竹","笠":"笠","節":"節","節":"節","䈂":"䈂","𥮫":"𥮫","篆":"篆","䈧":"䈧","築":"築","𥲀":"𥲀","𥳐":"𥳐","簾":"簾","籠":"籠","⽶":"米","类":"类","粒":"粒","精":"精","糒":"糒","糖":"糖","糨":"糨","䊠":"䊠","糣":"糣","糧":"糧","⽷":"糸","⺯":"糹","𥾆":"𥾆","紀":"紀","紐":"紐","索":"索","累":"累","絶":"絕","絣":"絣","絛":"絛","綠":"綠","綾":"綾","緇":"緇","練":"練","練":"練","練":"練","縂":"縂","䌁":"䌁","縉":"縉","縷":"縷","繁":"繁","繅":"繅","𦇚":"𦇚","䌴":"䌴","⽸":"缶","𦈨":"𦈨","缾":"缾","𦉇":"𦉇","⽹":"网","⺫":"罒","⺲":"罒","⺱":"罓","䍙":"䍙","署":"署","𦋙":"𦋙","罹":"罹","罺":"罺","羅":"羅","𦌾":"𦌾","⽺":"羊","羕":"羕","羚":"羚","羽":"羽","⽻":"羽","翺":"翺","老":"老","⽼":"老","⺹":"耂","者":"者","者":"者","者":"者","⽽":"而","𦓚":"𦓚","⽾":"耒","𦔣":"𦔣","⽿":"耳","聆":"聆","聠":"聠","𦖨":"𦖨","聯":"聯","聰":"聰","聾":"聾","⾀":"聿","⺺":"肀","⾁":"肉","肋":"肋","肭":"肭","育":"育","䏕":"䏕","䏙":"䏙","腁":"胼","脃":"脃","脾":"脾","䐋":"䐋","𦞧":"𦞧","𦞵":"𦞵","朦":"䑃","臘":"臘","⾂":"臣","臨":"臨","⾃":"自","臭":"臭","⾄":"至","⾅":"臼","舁":"舁","舁":"舁","舄":"舄","⾆":"舌","舘":"舘","⾇":"舛","⾈":"舟","䑫":"䑫","⾉":"艮","良":"良","⾊":"色","⾋":"艸","艹":"艹","艹":"艹","⺾":"艹","⺿":"艹","⻀":"艹","芋":"芋","芑":"芑","芝":"芝","花":"花","芳":"芳","芽":"芽","若":"若","若":"若","苦":"苦","𦬼":"𦬼","茶":"茶","荒":"荒","荣":"荣","茝":"茝","茣":"茣","莽":"莽","荓":"荓","菉":"菉","菊":"菊","菌":"菌","菜":"菜","菧":"菧","華":"華","菱":"菱","著":"著","著":"著","𦰶":"𦰶","莭":"莭","落":"落","葉":"葉","蔿":"蒍","𦳕":"𦳕","𦵫":"𦵫","蓮":"蓮","蓱":"蓱","蓳":"蓳","蓼":"蓼","蔖":"蔖","䔫":"䔫","蕤":"蕤","𦼬":"𦼬","藍":"藍","䕝":"䕝","𦾱":"𦾱","䕡":"䕡","藺":"藺","蘆":"蘆","䕫":"䕫","蘒":"蘒","蘭":"蘭","𧃒":"𧃒","虁":"蘷","蘿":"蘿","⾌":"虍","⻁":"虎","虐":"虐","虜":"虜","虜":"虜","虧":"虧","虩":"虩","⾍":"虫","蚩":"蚩","蚈":"蚈","蛢":"蛢","蜎":"蜎","蜨":"蜨","蝫":"蝫","蟡":"蟡","蝹":"蝹","蝹":"蝹","螆":"螆","䗗":"䗗","𧏊":"𧏊","螺":"螺","蠁":"蠁","䗹":"䗹","蠟":"蠟","⾎":"血","行":"行","⾏":"行","衠":"衠","衣":"衣","⾐":"衣","⻂":"衤","裂":"裂","𧙧":"𧙧","裏":"裏","裗":"裗","裞":"裞","裡":"裡","裸":"裸","裺":"裺","䘵":"䘵","褐":"褐","襁":"襁","襤":"襤","⾑":"襾","⻄":"西","⻃":"覀","覆":"覆","見":"見","⾒":"見","𧢮":"𧢮","⻅":"见","⾓":"角","⾔":"言","𧥦":"𧥦","詽":"訮","訞":"䚶","䚾":"䚾","䛇":"䛇","誠":"誠","說":"說","說":"說","調":"調","請":"請","諒":"諒","論":"論","諭":"諭","諭":"諭","諸":"諸","諸":"諸","諾":"諾","諾":"諾","謁":"謁","謁":"謁","謹":"謹","謹":"謹","識":"識","讀":"讀","讏":"讆","變":"變","變":"變","⻈":"讠","⾕":"谷","⾖":"豆","豈":"豈","豕":"豕","⾗":"豕","豣":"豜","⾘":"豸","𧲨":"𧲨","⾙":"貝","貫":"貫","賁":"賁","賂":"賂","賈":"賈","賓":"賓","贈":"贈","贈":"贈","贛":"贛","⻉":"贝","⾚":"赤","⾛":"走","起":"起","趆":"赿","𧻓":"𧻓","𧼯":"𧼯","⾜":"足","跋":"跋","趼":"趼","跺":"跥","路":"路","跰":"跰","躛":"躗","⾝":"身","車":"車","⾞":"車","軔":"軔","輧":"軿","輦":"輦","輪":"輪","輸":"輸","輸":"輸","輻":"輻","轢":"轢","⻋":"车","⾟":"辛","辞":"辞","辰":"辰","⾠":"辰","⾡":"辵","辶":"辶","⻌":"辶","⻍":"辶","巡":"巡","連":"連","逸":"逸","逸":"逸","遲":"遲","遼":"遼","𨗒":"𨗒","𨗭":"𨗭","邏":"邏","⾢":"邑","邔":"邔","郎":"郎","郞":"郎","郞":"郎","郱":"郱","都":"都","𨜮":"𨜮","鄑":"鄑","鄛":"鄛","⾣":"酉","酪":"酪","醙":"醙","醴":"醴","⾤":"釆","里":"里","⾥":"里","量":"量","金":"金","⾦":"金","鈴":"鈴","鈸":"鈸","鉶":"鉶","鋗":"鋗","鋘":"鋘","鉼":"鉼","錄":"錄","鍊":"鍊","鎮":"鎭","鏹":"鏹","鐕":"鐕","𨯺":"𨯺","⻐":"钅","⻑":"長","⾧":"長","⻒":"镸","⻓":"长","⾨":"門","開":"開","䦕":"䦕","閭":"閭","閷":"閷","𨵷":"𨵷","⻔":"门","⾩":"阜","⻏":"阝","⻖":"阝","阮":"阮","陋":"陋","降":"降","陵":"陵","陸":"陸","陼":"陼","隆":"隆","隣":"隣","䧦":"䧦","⾪":"隶","隷":"隷","隸":"隷","隸":"隷","⾫":"隹","雃":"雃","離":"離","難":"難","難":"難","⾬":"雨","零":"零","雷":"雷","霣":"霣","𩅅":"𩅅","露":"露","靈":"靈","⾭":"靑","⻘":"青","靖":"靖","靖":"靖","𩇟":"𩇟","⾮":"非","⾯":"面","𩈚":"𩈚","⾰":"革","䩮":"䩮","䩶":"䩶","⾱":"韋","韛":"韛","韠":"韠","⻙":"韦","⾲":"韭","𩐊":"𩐊","⾳":"音","響":"響","響":"響","⾴":"頁","䪲":"䪲","頋":"頋","頋":"頋","頋":"頋","領":"領","頩":"頩","𩒖":"𩒖","頻":"頻","頻":"頻","類":"類","⻚":"页","⾵":"風","𩖶":"𩖶","⻛":"风","⾶":"飛","⻜":"飞","⻝":"食","⾷":"食","⻟":"飠","飢":"飢","飯":"飯","飼":"飼","䬳":"䬳","館":"館","餩":"餩","⻠":"饣","⾸":"首","⾹":"香","馧":"馧","⾺":"馬","駂":"駂","駱":"駱","駾":"駾","驪":"驪","⻢":"马","⾻":"骨","䯎":"䯎","⾼":"高","⾽":"髟","𩬰":"𩬰","鬒":"鬒","鬒":"鬒","⾾":"鬥","⾿":"鬯","⿀":"鬲","⿁":"鬼","⻤":"鬼","⿂":"魚","魯":"魯","鱀":"鱀","鱗":"鱗","⻥":"鱼","⿃":"鳥","鳽":"鳽","䳎":"䳎","鵧":"鵧","䳭":"䳭","𪃎":"𪃎","鶴":"鶴","𪄅":"𪄅","䳸":"䳸","鷺":"鷺","𪈎":"𪈎","鸞":"鸞","鹃":"鹂","⿄":"鹵","鹿":"鹿","⿅":"鹿","𪊑":"𪊑","麗":"麗","麟":"麟","⿆":"麥","⻨":"麦","麻":"麻","⿇":"麻","𪎒":"𪎒","⿈":"黃","⻩":"黄","⿉":"黍","黎":"黎","䵖":"䵖","⿊":"黑","黒":"黑","墨":"墨","黹":"黹","⿋":"黹","⿌":"黽","鼅":"鼅","黾":"黾","⿍":"鼎","鼏":"鼏","⿎":"鼓","鼖":"鼖","⿏":"鼠","鼻":"鼻","⿐":"鼻","齃":"齃","⿑":"齊","⻬":"齐","⿒":"齒","𪘀":"𪘀","⻮":"齿","龍":"龍","⿓":"龍","龎":"龎","⻰":"龙","龜":"龜","龜":"龜","龜":"龜","⿔":"龜","⻳":"龟","⿕":"龠"}')},function(e,t,n){"use strict";var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.MatrixScheduler=o;var i=r(n(8));n(4);function o(e,t){this.retryAlgorithm=e||o.RETRY_BACKOFF_RATELIMIT,this.queueAlgorithm=t||o.QUEUE_MESSAGES,this._queues={},this._activeQueues=[],this._procFn=null}function s(e){e._procFn&&i.forEach(i.filter(i.keys(e._queues),(function(t){return-1===e._activeQueues.indexOf(t)&&e._queues[t].length>0})),(function(t){e._activeQueues.push(t),f("Spinning up queue: '%s'",t),function e(t,n){const r=function(e,t){const n=e._queues[t];if(!i.isArray(n))return null;return n[0]}(t,n);if(!r){const e=t._activeQueues.indexOf(n);return e>=0&&t._activeQueues.splice(e,1),void f("Stopping queue '%s' as it is now empty",n)}f("Queue '%s' has %s pending events",n,t._queues[n].length),Promise.resolve().then(()=>t._procFn(r.event)).then((function(i){a(t,n),f("Queue '%s' sent event %s",n,r.event.getId()),r.defer.resolve(i),e(t,n)}),(function(i){r.attempts+=1;const o=t.retryAlgorithm(r.event,r.attempts,i);f("retry(%s) err=%s event_id=%s waitTime=%s",r.attempts,i,r.event.getId(),o),-1===o?(f("Queue '%s' giving up on event %s",n,r.event.getId()),a(t,n),r.defer.reject(i),e(t,n)):setTimeout((function(){e(t,n)}),o)}))}(e,t)}))}function a(e,t){const n=e._queues[t];return i.isArray(n)?n.shift():null}function f(){0}o.prototype.getQueueForEvent=function(e){const t=this.queueAlgorithm(e);return t&&this._queues[t]?i.map(this._queues[t],(function(e){return e.event})):null},o.prototype.removeEventFromQueue=function(e){const t=this.queueAlgorithm(e);if(!t||!this._queues[t])return!1;let n=!1;return i.removeElement(this._queues[t],(function(t){if(t.event.getId()===e.getId())return n=!0,!0})),n},o.prototype.setProcessFunction=function(e){this._procFn=e,s(this)},o.prototype.queueEvent=function(e){const t=this.queueAlgorithm(e);if(!t)return null;this._queues[t]||(this._queues[t]=[]);const n=i.defer();return this._queues[t].push({event:e,defer:n,attempts:0}),f("Queue algorithm dumped event %s into queue '%s'",e.getId(),t),s(this),n.promise},o.RETRY_BACKOFF_RATELIMIT=function(e,t,n){if(400===n.httpStatus||403===n.httpStatus||401===n.httpStatus)return-1;if("rejected"===n.cors)return-1;if("M_TOO_LARGE"===n.name)return-1;if("M_LIMIT_EXCEEDED"===n.name){const e=n.data.retry_after_ms;if(e)return e}return t>4?-1:1e3*Math.pow(2,t)},o.QUEUE_MESSAGES=function(e){return"m.room.message"===e.getType()||e.hasAssocation()?"message":null}},function(e,t,n){"use strict";(function(e){var r=n(7),i=n(16);Object.defineProperty(t,"__esModule",{value:!0}),t.MatrixClient=x,t.CRYPTO_ENABLED=void 0;var o=i(n(72)),s=n(10),a=n(271),f=n(74),c=n(275),u=n(19),l=n(24),d=n(278),h=n(280),p=n(133),g=r(n(8)),m=n(46),_=n(47),y=r(n(134)),b=r(n(21)),v=n(76),A=n(281),w=n(4),E=n(284),S=n(141),k=n(140),I=n(49),R=n(73);const T=(0,E.isCryptoAvailable)();t.CRYPTO_ENABLED=T;function O(e,t,n){const r=[];for(const[i,o]of Object.entries(e))try{const e=C(o,t);e.session_id=i,e.room_id=n,r.push(e)}catch(e){w.logger.log("Failed to decrypt megolm session from backup",e)}return r}function C(e,t){return JSON.parse(t.decrypt(e.session_data.ephemeral,e.session_data.mac,e.session_data.ciphertext))}function x(e){e.baseUrl=g.ensureNoTrailingSlash(e.baseUrl),e.idBaseUrl=g.ensureNoTrailingSlash(e.idBaseUrl),a.MatrixBaseApis.call(this,e),this.olmVersion=null,this.reEmitter=new v.ReEmitter(this),this.store=e.store||new h.StubStore,this.deviceId=e.deviceId||null;const t=e.userId||null;if(this.credentials={userId:t},this.scheduler=e.scheduler,this.scheduler){const e=this;this.scheduler.setProcessFunction((function(t){const n=e.getRoom(t.getRoomId());return t.status!==u.EventStatus.SENDING&&B(n,t,u.EventStatus.SENDING),N(e,t)}))}this.clientRunning=!1,this.callList={};const n=(0,p.createNewMatrixCall)(this);this._supportsVoip=!1,n&&(!function(e){const t={};let n=[];function r(){if("SYNCING"===e.getSyncState()){if(n.some(e=>e.isBeingDecrypted()))return;const e={};for(let t=n.length-1;t>=0;t--){const r=n[t];"m.call.answer"!==r.getType()&&"m.call.hangup"!==r.getType()||(e[r.getContent().call_id]="yep")}n.forEach((function(t){"m.call.invite"===t.getType()&&e[t.getContent().call_id]||i(t)})),n=[]}}function i(n){const r=n.getContent();let i,o=r.call_id?e.callList[r.call_id]:void 0;if("m.call.invite"===n.getType()){if(n.getSender()===e.credentials.userId)return;if(n.getAge()>r.lifetime)return;if(o&&"ended"===o.state)return;if(o&&w.logger.log("WARN: Already have a MatrixCall with id %s but got an invite. Clobbering.",r.call_id),o=(0,p.createNewMatrixCall)(e,n.getRoomId(),{forceTURN:e._forceTURN}),!o)return void w.logger.log("Incoming call ID "+r.call_id+" but this client doesn't support WebRTC");if(o.callId=r.call_id,o._initWithInvite(n),e.callList[o.callId]=o,t[o.callId])for(i=0;i<t[o.callId].length;i++)o._gotRemoteIceCandidate(t[o.callId][i]);let s;const a=g.values(e.callList);for(i=0;i<a.length;++i){const e=a[i];if(o.roomId===e.roomId&&"outbound"===e.direction&&-1!==["wait_local_media","create_offer","invite_sent"].indexOf(e.state)){s=e;break}}s?"wait_local_media"===s.state||"create_offer"===s.state||s.callId>o.callId?(w.logger.log("Glare detected: answering incoming call "+o.callId+" and canceling outgoing call "+s.callId),s._replacedBy(o),o.answer()):(w.logger.log("Glare detected: rejecting incoming call "+o.callId+" and keeping outgoing call "+s.callId),o.hangup()):e.emit("Call.incoming",o)}else if("m.call.answer"===n.getType()){if(!o)return;n.getSender()===e.credentials.userId?"ringing"===o.state&&o._onAnsweredElsewhere(r):o._receivedAnswer(r)}else if("m.call.candidates"===n.getType()){if(n.getSender()===e.credentials.userId)return;if(o)for(i=0;i<r.candidates.length;i++)o._gotRemoteIceCandidate(r.candidates[i]);else t[r.call_id]||(t[r.call_id]=[]),t[r.call_id]=t[r.call_id].concat(r.candidates)}else"m.call.hangup"===n.getType()&&(o?"ended"!==o.state&&(o._onHangupReceived(r),delete e.callList[r.call_id]):(o=(0,p.createNewMatrixCall)(e,n.getRoomId()),o&&(o.callId=r.call_id,o._initWithHangup(n),e.callList[r.call_id]=o)))}e.on("sync",r),e.on("event",(function(e){(0===e.getType().indexOf("m.call.")||e.isBeingDecrypted())&&n.push(e),(e.isBeingDecrypted()||e.isDecryptionFailure())&&e.once("Event.decrypted",()=>{-1!==e.getType().indexOf("m.call.")&&(n.includes(e)?r():i(e))})}))}(this),this._supportsVoip=!0),this._syncingRetry=null,this._syncApi=null,this._peekSync=null,this._isGuest=!1,this._ongoingScrollbacks={},this.timelineSupport=Boolean(e.timelineSupport),this.urlPreviewCache={},this._notifTimelineSet=null,this.unstableClientRelationAggregation=!!e.unstableClientRelationAggregation,this._crypto=null,this._cryptoStore=e.cryptoStore,this._sessionStore=e.sessionStore,this._verificationMethods=e.verificationMethods,this._cryptoCallbacks=e.cryptoCallbacks||{},this._forceTURN=e.forceTURN||!1,this._fallbackICEServerAllowed=e.fallbackICEServerAllowed||!1,this._roomList=new A.RoomList(this._cryptoStore),this._pushProcessor=new R.PushProcessor(this),this._serverVersionsCache=null,this._cachedCapabilities=null,this.on("Event.decrypted",e=>{const t=e.getPushActions(),n=this._pushProcessor.actionsForEvent(e);e.setPushActions(n);const r=this.getRoom(e.getRoomId());if(!r)return;const i=r.getUnreadNotificationCount("highlight"),o=!(!t||!t.tweaks)&&!!t.tweaks.highlight,s=!(!n||!n.tweaks)&&!!n.tweaks.highlight;if((o!==s||i>0)&&!r.hasUserReadEvent(this.getUserId(),e.getId())){let e=i;s&&!o&&e++,!s&&o&&e--,r.setUnreadNotificationCount("highlight",e),r.getUnreadNotificationCount("total")<e&&r.setUnreadNotificationCount("total",e)}}),this.on("Room.receipt",(e,t)=>{if(t&&this.isRoomEncrypted(t.roomId)){const n=e.getContent();if(!(Object.keys(n).filter(e=>Object.keys(n[e]["m.read"]).includes(this.getUserId())).length>0))return;const r=20,i=t.getLiveTimeline().getEvents();let o=0;for(let e=i.length-1;e>=0;e--){if(e===i.length-r)return;const n=i[e];if(t.hasUserReadEvent(this.getUserId(),n.getId()))break;o+=this.getPushActionsForEvent(n).tweaks.highlight?1:0}t.setUnreadNotificationCount("highlight",o)}})}async function M(e,t,n,r,i,o){if(!e._crypto)throw new Error("End-to-End encryption disabled");await e._crypto.setDeviceVerification(t,n,r,i,o)}function P(e,t){for(const n of t)e.prototype[n]=function(...e){if(!this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto[n](...e)}}function D(e,t,n,r){return Promise.resolve().then((function(){const r=function(e,t,n){if(t.isEncrypted())return null;if(!e.isRoomEncrypted(t.getRoomId()))return null;if("m.reaction"===t.getType())return null;if(!e._crypto)throw new Error("This room is configured to use encryption, but your client does not support encryption.");return e._crypto.encryptEvent(t,n)}(e,n,t);return r?(B(t,n,u.EventStatus.ENCRYPTING),r.then(()=>{B(t,n,u.EventStatus.SENDING)})):null})).then((function(){let r;return e.scheduler&&(r=e.scheduler.queueEvent(n),r&&e.scheduler.getQueueForEvent(n).length>1&&B(t,n,u.EventStatus.QUEUED)),r||(r=N(e,n)),r})).then((function(e){return t&&t.updatePendingEvent(n,u.EventStatus.SENT,e.event_id),r&&r(null,e),e}),(function(e){w.logger.error("Error sending event",e.stack||e);try{n.error=e,B(t,n,u.EventStatus.NOT_SENT),e.event=n,r&&r(e)}catch(t){w.logger.error("Exception in error handler!",t.stack||e)}throw e}))}function B(e,t,n){e?e.updatePendingEvent(t,n):t.setStatus(n)}function N(e,t){const n=t._txnId?t._txnId:e.makeTxnId(),r={$roomId:t.getRoomId(),$eventType:t.getWireType(),$stateKey:t.getStateKey(),$txnId:n};let i;if(t.isState()){let e="/rooms/$roomId/state/$eventType";t.getStateKey()&&t.getStateKey().length>0&&(e="/rooms/$roomId/state/$eventType/$stateKey"),i=g.encodeUri(e,r)}else if(t.isRedaction()){const e="/rooms/$roomId/redact/$redactsEventId/$txnId";i=g.encodeUri(e,Object.assign({$redactsEventId:t.event.redacts},r))}else i=g.encodeUri("/rooms/$roomId/send/$eventType/$txnId",r);return e._http.authedRequest(void 0,"PUT",i,void 0,t.getWireContent()).then(e=>(w.logger.log(`Event sent to ${t.getRoomId()} with event id ${e.event_id}`),e))}function j(e,t,n,r,i,o){g.isFunction(i)&&(o=i,i=void 0);const s=g.encodeUri("/rooms/$room_id/$membership",{$room_id:t,$membership:r});return e._http.authedRequest(o,"POST",s,void 0,{user_id:n,reason:i})}function U(e,t,n,r){const i=g.encodeUri("/presence/list/$userId",{$userId:t.credentials.userId});return t._http.authedRequest(e,r,i,void 0,n)}function L(e,t,n){e&&e(n),t(n)}function q(e,t,n){e&&e(null,n),t(n)}function F(e){return function(t){const n=new u.MatrixEvent(t);n.isEncrypted()&&(e.reEmitter.reEmit(n,["Event.decrypted"]),n.attemptDecryption(e._crypto));const r=e.getRoom(n.getRoomId());return r&&r.reEmitter.reEmit(n,["Event.replaced"]),n}}g.inherits(x,s.EventEmitter),g.extend(x.prototype,a.MatrixBaseApis.prototype),x.prototype.clearStores=function(){if(this._clientRunning)throw new Error("Cannot clear stores while client is running");const e=[];return e.push(this.store.deleteAllData()),this._cryptoStore&&e.push(this._cryptoStore.deleteAllData()),Promise.all(e)},x.prototype.getUserId=function(){return this.credentials&&this.credentials.userId?this.credentials.userId:null},x.prototype.getDomain=function(){return this.credentials&&this.credentials.userId?this.credentials.userId.replace(/^.*?:/,""):null},x.prototype.getUserIdLocalpart=function(){return this.credentials&&this.credentials.userId?this.credentials.userId.split(":")[0].substring(1):null},x.prototype.getDeviceId=function(){return this.deviceId},x.prototype.supportsVoip=function(){return this._supportsVoip},x.prototype.setForceTURN=function(e){this._forceTURN=e},x.prototype.getSyncState=function(){return this._syncApi?this._syncApi.getSyncState():null},x.prototype.getSyncStateData=function(){return this._syncApi?this._syncApi.getSyncStateData():null},x.prototype.isInitialSyncComplete=function(){const e=this.getSyncState();return!!e&&("PREPAED"===e||"SYNCING"===e)},x.prototype.isGuest=function(){return this._isGuest},x.prototype.getScheduler=function(){return this.scheduler},x.prototype.setGuest=function(e){this._isGuest=e},x.prototype.retryImmediately=function(){return this._syncApi.retryImmediately()},x.prototype.getNotifTimelineSet=function(){return this._notifTimelineSet},x.prototype.setNotifTimelineSet=function(e){this._notifTimelineSet=e},x.prototype.getCapabilities=function(e=!1){const t=(new Date).getTime();return this._cachedCapabilities&&!e&&t<this._cachedCapabilities.expiration?(w.logger.log("Returning cached capabilities"),Promise.resolve(this._cachedCapabilities.capabilities)):this._http.authedRequest(void 0,"GET","/capabilities").catch(e=>(w.logger.error(e),null)).then(e=>{e||(e={});const n=e.capabilities||{},r=Object.keys(n).length?216e5:6e4+5e3*Math.random();return this._cachedCapabilities={capabilities:n,expiration:t+r},w.logger.log("Caching capabilities: ",n),n})},x.prototype.initCrypto=async function(){if(!(0,E.isCryptoAvailable)())throw new Error("End-to-end encryption not supported in this js-sdk build: did you remember to load the olm library?");if(this._crypto)return void w.logger.warn("Attempt to re-initialise e2e encryption on MatrixClient");if(!this._sessionStore)throw new Error("Cannot enable encryption: no sessionStore provided");if(!this._cryptoStore)throw new Error("Cannot enable encryption: no cryptoStore provided");w.logger.log("Crypto: initialising roomlist..."),await this._roomList.init();const e=this.getUserId();if(null===e)throw new Error("Cannot enable encryption on MatrixClient with unknown userId: ensure userId is passed in createClient().");if(null===this.deviceId)throw new Error("Cannot enable encryption on MatrixClient with unknown deviceId: ensure deviceId is passed in createClient().");const t=new E.Crypto(this,this._sessionStore,e,this.deviceId,this.store,this._cryptoStore,this._roomList,this._verificationMethods);this.reEmitter.reEmit(t,["crypto.keyBackupFailed","crypto.keyBackupSessionsRemaining","crypto.roomKeyRequest","crypto.roomKeyRequestCancellation","crypto.warning","crypto.devicesUpdated","deviceVerificationChanged","userTrustStatusChanged","crossSigning.keysChanged"]),w.logger.log("Crypto: initialising crypto object..."),await t.init(),this.olmVersion=E.Crypto.getOlmVersion(),t.registerEventHandlers(this),this._crypto=t},x.prototype.isCryptoEnabled=function(){return null!==this._crypto},x.prototype.getDeviceEd25519Key=function(){return this._crypto?this._crypto.getDeviceEd25519Key():null},x.prototype.uploadKeys=function(){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.uploadDeviceKeys()},x.prototype.downloadKeys=function(e,t){return null===this._crypto?Promise.reject(new Error("End-to-end encryption disabled")):this._crypto.downloadKeys(e,t)},x.prototype.getStoredDevicesForUser=async function(e){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.getStoredDevicesForUser(e)||[]},x.prototype.getStoredDevice=async function(e,t){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.getStoredDevice(e,t)||null},x.prototype.setDeviceVerified=function(e,t,n){void 0===n&&(n=!0);const r=M(this,e,t,n,null);return e==this.credentials.userId&&this._crypto.checkKeyBackup(),r},x.prototype.setDeviceBlocked=function(e,t,n){return void 0===n&&(n=!0),M(this,e,t,null,n)},x.prototype.setDeviceKnown=function(e,t,n){return void 0===n&&(n=!0),M(this,e,t,null,null,n)},x.prototype.requestVerificationDM=function(e,t,n){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.requestVerificationDM(e,t,n)},x.prototype.acceptVerificationDM=function(e,t){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.acceptVerificationDM(e,t)},x.prototype.requestVerification=function(e,t,n){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.requestVerification(e,t,n)},x.prototype.beginKeyVerification=function(e,t,n){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.beginKeyVerification(e,t,n)},x.prototype.setGlobalBlacklistUnverifiedDevices=function(e){if(null===this._crypto)throw new Error("End-to-end encryption disabled");this._crypto.setGlobalBlacklistUnverifiedDevices(e)},x.prototype.getGlobalBlacklistUnverifiedDevices=function(){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.getGlobalBlacklistUnverifiedDevices()},x.prototype.setGlobalErrorOnUnknownDevices=function(e){if(null===this._crypto)throw new Error("End-to-end encryption disabled");this._crypto.setGlobalErrorOnUnknownDevices(e)},x.prototype.getGlobalErrorOnUnknownDevices=function(){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.getGlobalErrorOnUnknownDevices()},P(x,["resetCrossSigningKeys","getCrossSigningId","getStoredCrossSigningForUser","checkUserTrust","checkDeviceTrust","checkOwnCrossSigningTrust","checkCrossSigningPrivateKey"]),x.prototype.checkEventSenderTrust=async function(e){const t=await this.getEventSenderDeviceInfo(e);return t?await this._crypto.checkDeviceTrust(e.getSender(),t.deviceId):0},P(x,["createRecoveryKeyFromPassphrase","bootstrapSecretStorage","addSecretStorageKey","hasSecretStorageKey","storeSecret","getSecret","isSecretStored","requestSecret","getDefaultSecretStorageKeyId","setDefaultSecretStorageKeyId","checkSecretStoragePrivateKey"]),x.prototype.getEventSenderDeviceInfo=async function(e){return this._crypto?this._crypto.getEventSenderDeviceInfo(e):null},x.prototype.isEventSenderVerified=async function(e){const t=await this.getEventSenderDeviceInfo(e);return!!t&&t.isVerified()},x.prototype.cancelAndResendEventRoomKeyRequest=function(e){return e.cancelAndResendKeyRequest(this._crypto,this.getUserId())},x.prototype.setRoomEncryption=function(e,t){if(!this._crypto)throw new Error("End-to-End encryption disabled");return this._crypto.setRoomEncryption(e,t)},x.prototype.isRoomEncrypted=function(e){const t=this.getRoom(e);return!!t&&(!!t.currentState.getStateEvents("m.room.encryption","")||this._roomList.isRoomEncrypted(e))},x.prototype.forceDiscardSession=function(e){if(!this._crypto)throw new Error("End-to-End encryption disabled");this._crypto.forceDiscardSession(e)},x.prototype.exportRoomKeys=function(){return this._crypto?this._crypto.exportRoomKeys():Promise.reject(new Error("End-to-end encryption disabled"))},x.prototype.importRoomKeys=function(e){if(!this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.importRoomKeys(e)},x.prototype.checkKeyBackup=function(){return this._crypto.checkKeyBackup()},x.prototype.getKeyBackupVersion=function(){return this._http.authedRequest(void 0,"GET","/room_keys/version",void 0,void 0,{prefix:m.PREFIX_UNSTABLE}).then(e=>{if(e.algorithm!==b.MEGOLM_BACKUP_ALGORITHM){const t="Unknown backup algorithm: "+e.algorithm;return Promise.reject(t)}if("object"==typeof e.auth_data&&e.auth_data.public_key)return e;{const e="Invalid backup data returned";return Promise.reject(e)}}).catch(e=>{if("M_NOT_FOUND"===e.errcode)return null;throw e})},x.prototype.isKeyBackupTrusted=function(e){return this._crypto.isKeyBackupTrusted(e)},x.prototype.getKeyBackupEnabled=function(){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return Boolean(this._crypto.backupKey)},x.prototype.enableKeyBackup=function(t){if(null===this._crypto)throw new Error("End-to-end encryption disabled");this._crypto.backupInfo=t,this._crypto.backupKey&&this._crypto.backupKey.free(),this._crypto.backupKey=new e.Olm.PkEncryption,this._crypto.backupKey.set_recipient_key(t.auth_data.public_key),this.emit("crypto.keyBackupStatus",!0),this._crypto.scheduleKeyBackupSend()},x.prototype.disableKeyBackup=function(){if(null===this._crypto)throw new Error("End-to-end encryption disabled");this._crypto.backupInfo=null,this._crypto.backupKey&&this._crypto.backupKey.free(),this._crypto.backupKey=null,this.emit("crypto.keyBackupStatus",!1)},x.prototype.prepareKeyBackupVersion=async function(e,{secureSecretStorage:t=!1}={}){if(null===this._crypto)throw new Error("End-to-end encryption disabled");const[n,r,i]=await this.createRecoveryKeyFromPassphrase(e);t&&(await this.storeSecret("m.megolm_backup.v1",(0,b.encodeBase64)(i)),w.logger.info("Key backup private key stored in secret storage"));const o={public_key:n.pubkey};return n.passphrase&&(o.private_key_salt=n.passphrase.salt,o.private_key_iterations=n.passphrase.iterations),{algorithm:b.MEGOLM_BACKUP_ALGORITHM,auth_data:o,recovery_key:r}},x.prototype.isKeyBackupKeyStored=async function(){return this.isSecretStored("m.megolm_backup.v1",!1)},x.prototype.createKeyBackupVersion=async function(e){if(null===this._crypto)throw new Error("End-to-end encryption disabled");const t={algorithm:e.algorithm,auth_data:e.auth_data};await this._crypto._signObject(t.auth_data),this._cryptoCallbacks.getCrossSigningKey&&this._crypto._crossSigningInfo.getId()&&await this._crypto._crossSigningInfo.signObject(t.auth_data,"master");const n=await this._http.authedRequest(void 0,"POST","/room_keys/version",void 0,t,{prefix:m.PREFIX_UNSTABLE});return await this.checkKeyBackup(),this.getKeyBackupEnabled()||w.logger.error("Key backup not usable even though we just created it"),n},x.prototype.deleteKeyBackupVersion=function(e){if(null===this._crypto)throw new Error("End-to-end encryption disabled");this._crypto.backupInfo&&this._crypto.backupInfo.version===e&&this.disableKeyBackup();const t=g.encodeUri("/room_keys/version/$version",{$version:e});return this._http.authedRequest(void 0,"DELETE",t,void 0,void 0,{prefix:m.PREFIX_UNSTABLE})},x.prototype._makeKeyBackupPath=function(e,t,n){let r;return r=void 0!==t?g.encodeUri("/room_keys/keys/$roomId/$sessionId",{$roomId:e,$sessionId:t}):void 0!==e?g.encodeUri("/room_keys/keys/$roomId",{$roomId:e}):"/room_keys/keys",{path:r,queryData:void 0===n?void 0:{version:n}}},x.prototype.sendKeyBackup=function(e,t,n,r){if(null===this._crypto)throw new Error("End-to-end encryption disabled");const i=this._makeKeyBackupPath(e,t,n);return this._http.authedRequest(void 0,"PUT",i.path,i.queryData,r,{prefix:m.PREFIX_UNSTABLE})},x.prototype.scheduleAllGroupSessionsForBackup=async function(){if(null===this._crypto)throw new Error("End-to-end encryption disabled");await this._crypto.scheduleAllGroupSessionsForBackup()},x.prototype.flagAllGroupSessionsForBackup=function(){if(null===this._crypto)throw new Error("End-to-end encryption disabled");return this._crypto.flagAllGroupSessionsForBackup()},x.prototype.isValidRecoveryKey=function(e){try{return(0,S.decodeRecoveryKey)(e),!0}catch(e){return!1}},x.RESTORE_BACKUP_ERROR_BAD_KEY="RESTORE_BACKUP_ERROR_BAD_KEY",x.prototype.restoreKeyBackupWithPassword=async function(e,t,n,r){const i=await(0,k.keyFromAuthData)(r.auth_data,e);return this._restoreKeyBackup(i,t,n,r)},x.prototype.restoreKeyBackupWithSecretStorage=async function(e,t,n){const r=(0,b.decodeBase64)(await this.getSecret("m.megolm_backup.v1"));return this._restoreKeyBackup(r,t,n,e)},x.prototype.restoreKeyBackupWithRecoveryKey=function(e,t,n,r){const i=(0,S.decodeRecoveryKey)(e);return this._restoreKeyBackup(i,t,n,r)},x.prototype._restoreKeyBackup=function(t,n,r,i){if(null===this._crypto)throw new Error("End-to-end encryption disabled");let o=0,s=[];const a=this._makeKeyBackupPath(n,r,i.version),f=new e.Olm.PkDecryption;let c;try{c=f.init_with_private_key(t)}catch(e){throw f.free(),e}return c!==i.auth_data.public_key?Promise.reject({errcode:x.RESTORE_BACKUP_ERROR_BAD_KEY}):this._http.authedRequest(void 0,"GET",a.path,a.queryData,void 0,{prefix:m.PREFIX_UNSTABLE}).then(e=>{if(e.rooms)for(const[t,n]of Object.entries(e.rooms)){if(!n.sessions)continue;o+=Object.keys(n.sessions).length;const e=O(n.sessions,f,t);for(const n of e)n.room_id=t,s.push(n)}else if(e.sessions)o=Object.keys(e.sessions).length,s=O(e.sessions,f,n);else{o=1;try{const t=C(e,f);t.room_id=n,t.session_id=r,s.push(t)}catch(e){w.logger.log("Failed to decrypt megolm session from backup",e)}}return this.importRoomKeys(s)}).then(()=>this._crypto.setTrustedBackupPubKey(c)).then(()=>({total:o,imported:s.length})).finally(()=>{f.free()})},x.prototype.deleteKeysFromBackup=function(e,t,n){if(null===this._crypto)throw new Error("End-to-end encryption disabled");const r=this._makeKeyBackupPath(e,t,n);return this._http.authedRequest(void 0,"DELETE",r.path,r.queryData,void 0,{prefix:m.PREFIX_UNSTABLE})},x.prototype.getGroup=function(e){return this.store.getGroup(e)},x.prototype.getGroups=function(){return this.store.getGroups()},x.prototype.getMediaConfig=function(e){return this._http.authedRequest(e,"GET","/config",void 0,void 0,{prefix:m.PREFIX_MEDIA_R0})},x.prototype.getRoom=function(e){return this.store.getRoom(e)},x.prototype.getRooms=function(){return this.store.getRooms()},x.prototype.getVisibleRooms=function(){const e=this.store.getRooms(),t=new Set;for(const n of e){const e=n.currentState.getStateEvents("m.room.create","");if(e){const n=e.getContent().predecessor;n&&n.room_id&&t.add(n.room_id)}}return e.filter(e=>!e.currentState.getStateEvents("m.room.tombstone","")||!t.has(e.roomId))},x.prototype.getUser=function(e){return this.store.getUser(e)},x.prototype.getUsers=function(){return this.store.getUsers()},x.prototype.setAccountData=function(e,t,n){const r=g.encodeUri("/user/$userId/account_data/$type",{$userId:this.credentials.userId,$type:e});return this._http.authedRequest(n,"PUT",r,void 0,t)},x.prototype.getAccountData=function(e){return this.store.getAccountData(e)},x.prototype.getAccountDataFromServer=async function(e){if(this.isInitialSyncComplete()){const t=this.store.getAccountData(e);return t?t.getContent():null}const t=g.encodeUri("/user/$userId/account_data/$type",{$userId:this.credentials.userId,$type:e});return this._http.authedRequest(void 0,"GET",t,void 0)},x.prototype.getIgnoredUsers=function(){const e=this.getAccountData("m.ignored_user_list");return e&&e.getContent()&&e.getContent().ignored_users?Object.keys(e.getContent().ignored_users):[]},x.prototype.setIgnoredUsers=function(e,t){const n={ignored_users:{}};return e.map(e=>n.ignored_users[e]={}),this.setAccountData("m.ignored_user_list",n,t)},x.prototype.isUserIgnored=function(e){return-1!==this.getIgnoredUsers().indexOf(e)},x.prototype.joinRoom=function(e,t,n){if(g.isFunction(t))throw new Error("Expected 'opts' object, got function.");void 0===(t=t||{}).syncRoom&&(t.syncRoom=!0);const r=this.getRoom(e);if(r&&r.hasMembershipState(this.credentials.userId,"join"))return Promise.resolve(r);let i=Promise.resolve();t.inviteSignUrl&&(i=this._http.requestOtherUrl(void 0,"POST",t.inviteSignUrl,{mxid:this.credentials.userId}));const o={};t.viaServers&&(o.server_name=t.viaServers);const s={qsStringifyOptions:{arrayFormat:"repeat"}},a=this;return new Promise((r,f)=>{i.then((function(t){const n={};t&&(n.third_party_signed=t);const r=g.encodeUri("/join/$roomid",{$roomid:e});return a._http.authedRequest(void 0,"POST",r,o,n,s)})).then((function(e){const n=e.room_id,r=new c.SyncApi(a,a._clientOpts).createRoom(n);return t.syncRoom,Promise.resolve(r)})).then((function(e){q(n,r,e)}),(function(e){L(n,f,e)}))})},x.prototype.resendEvent=function(e,t){return B(t,e,u.EventStatus.SENDING),D(this,t,e)},x.prototype.cancelPendingEvent=function(e){if([u.EventStatus.QUEUED,u.EventStatus.NOT_SENT].indexOf(e.status)<0)throw new Error("cannot cancel an event with status "+e.status);this.scheduler&&this.scheduler.removeEventFromQueue(e),B(this.getRoom(e.getRoomId()),e,u.EventStatus.CANCELLED)},x.prototype.setRoomName=function(e,t,n){return this.sendStateEvent(e,"m.room.name",{name:t},void 0,n)},x.prototype.setRoomTopic=function(e,t,n){return this.sendStateEvent(e,"m.room.topic",{topic:t},void 0,n)},x.prototype.getRoomTags=function(e,t){const n=g.encodeUri("/user/$userId/rooms/$roomId/tags/",{$userId:this.credentials.userId,$roomId:e});return this._http.authedRequest(t,"GET",n,void 0)},x.prototype.setRoomTag=function(e,t,n,r){const i=g.encodeUri("/user/$userId/rooms/$roomId/tags/$tag",{$userId:this.credentials.userId,$roomId:e,$tag:t});return this._http.authedRequest(r,"PUT",i,void 0,n)},x.prototype.deleteRoomTag=function(e,t,n){const r=g.encodeUri("/user/$userId/rooms/$roomId/tags/$tag",{$userId:this.credentials.userId,$roomId:e,$tag:t});return this._http.authedRequest(n,"DELETE",r,void 0,void 0)},x.prototype.setRoomAccountData=function(e,t,n,r){const i=g.encodeUri("/user/$userId/rooms/$roomId/account_data/$type",{$userId:this.credentials.userId,$roomId:e,$type:t});return this._http.authedRequest(r,"PUT",i,void 0,n)},x.prototype.setPowerLevel=function(e,t,n,r,i){let o={users:{}};r&&"m.room.power_levels"===r.getType()&&(o=g.deepCopy(r.getContent())),o.users[t]=n;const s=g.encodeUri("/rooms/$roomId/state/m.room.power_levels",{$roomId:e});return this._http.authedRequest(i,"PUT",s,void 0,o)},x.prototype.sendEvent=function(e,t,n,r,i){return this._sendCompleteEvent(e,{type:t,content:n},r,i)},x.prototype._sendCompleteEvent=function(e,t,n,r){g.isFunction(n)&&(r=n,n=void 0),n||(n=this.makeTxnId());const i=new u.MatrixEvent(Object.assign(t,{event_id:"~"+e+":"+n,user_id:this.credentials.userId,room_id:e,origin_server_ts:(new Date).getTime()})),o=this.getRoom(e),s=i.getAssociatedId();if(s&&s.startsWith("~")){const e=o.getPendingEvents().find(e=>e.getId()===s);e.once("Event.localEventIdReplaced",()=>{i.updateAssociatedId(e.getId())})}const a=i.getType();return w.logger.log(`sendEvent of type ${a} in ${e} with txnId ${n}`),i._txnId=n,i.setStatus(u.EventStatus.SENDING),o&&o.addPendingEvent(i,n),i.status===u.EventStatus.NOT_SENT?Promise.reject(new Error("Event blocked by other events not yet sent")):D(this,o,i,r)},x.prototype.redactEvent=function(e,t,n,r){return this._sendCompleteEvent(e,{type:"m.room.redaction",content:{},redacts:t},n,r)},x.prototype.sendMessage=function(e,t,n,r){return g.isFunction(n)&&(r=n,n=void 0),this.sendEvent(e,"m.room.message",t,n,r)},x.prototype.sendTextMessage=function(e,t,n,r){const i=y.makeTextMessage(t);return this.sendMessage(e,i,n,r)},x.prototype.sendNotice=function(e,t,n,r){const i=y.makeNotice(t);return this.sendMessage(e,i,n,r)},x.prototype.sendEmoteMessage=function(e,t,n,r){const i=y.makeEmoteMessage(t);return this.sendMessage(e,i,n,r)},x.prototype.sendImageMessage=function(e,t,n,r,i){g.isFunction(r)&&(i=r,r=void 0),r||(r="Image");const o={msgtype:"m.image",url:t,info:n,body:r};return this.sendMessage(e,o,i)},x.prototype.sendStickerMessage=function(e,t,n,r,i){g.isFunction(r)&&(i=r,r=void 0),r||(r="Sticker");const o={url:t,info:n,body:r};return this.sendEvent(e,"m.sticker",o,i,void 0)},x.prototype.sendHtmlMessage=function(e,t,n,r){const i=y.makeHtmlMessage(t,n);return this.sendMessage(e,i,r)},x.prototype.sendHtmlNotice=function(e,t,n,r){const i=y.makeHtmlNotice(t,n);return this.sendMessage(e,i,r)},x.prototype.sendHtmlEmote=function(e,t,n,r){const i=y.makeHtmlEmote(t,n);return this.sendMessage(e,i,r)},x.prototype.sendReceipt=function(e,t,n,r){if("function"==typeof n&&(r=n,n={}),this.isGuest())return Promise.resolve({});const i=g.encodeUri("/rooms/$roomId/receipt/$receiptType/$eventId",{$roomId:e.getRoomId(),$receiptType:t,$eventId:e.getId()}),o=this._http.authedRequest(r,"POST",i,void 0,n||{}),s=this.getRoom(e.getRoomId());return s&&s._addLocalEchoReceipt(this.credentials.userId,e,t),o},x.prototype.sendReadReceipt=async function(e,t,n){"function"==typeof t&&(n=t,t={}),t||(t={});const r=e.getId(),i=this.getRoom(e.getRoomId());if(i&&i.hasPendingEvent(r))throw new Error(`Cannot set read receipt to a pending event (${r})`);const o={"m.hidden":Boolean(t.hidden)};return this.sendReceipt(e,"m.read",o,n)},x.prototype.setRoomReadMarkers=async function(e,t,n,r){const i=this.getRoom(e);if(i&&i.hasPendingEvent(t))throw new Error(`Cannot set read marker to a pending event (${t})`);let o;if(n){if(o=n.getId(),i&&i.hasPendingEvent(o))throw new Error(`Cannot set read receipt to a pending event (${o})`);i&&i._addLocalEchoReceipt(this.credentials.userId,n,"m.read")}return this.setRoomReadMarkersHttpRequest(e,t,o,r)},x.prototype.getUrlPreview=function(e,t,n){const r=t+"_"+e,i=this.urlPreviewCache[r];if(i)return Promise.resolve(i);const o=this;return this._http.authedRequest(n,"GET","/preview_url",{url:e,ts:t},void 0,{prefix:m.PREFIX_MEDIA_R0}).then((function(e){return o.urlPreviewCache[r]=e,e}))},x.prototype.sendTyping=function(e,t,n,r){if(this.isGuest())return Promise.resolve({});const i=g.encodeUri("/rooms/$roomId/typing/$userId",{$roomId:e,$userId:this.credentials.userId}),o={typing:t};return t&&(o.timeout=n||2e4),this._http.authedRequest(r,"PUT",i,void 0,o)},x.prototype.getRoomUpgradeHistory=function(e,t=!1){let n=this.getRoom(e);if(!n)return[];const r=[n];let i=n.currentState.getStateEvents("m.room.create","");for(;i;){w.logger.log(`Looking at ${i.getId()}`);const e=i.getContent().predecessor;if(!e||!e.room_id)break;{w.logger.log(`Looking at predecessor ${e.room_id}`);const n=this.getRoom(e.room_id);if(!n)break;if(t){const e=n.currentState.getStateEvents("m.room.tombstone","");if(!e||e.getContent().replacement_room!==n.roomId)break}r.splice(0,0,n),i=n.currentState.getStateEvents("m.room.create","")}}let o=n.currentState.getStateEvents("m.room.tombstone","");for(;o;){const e=this.getRoom(o.getContent().replacement_room);if(!e)break;if(e.roomId===n.roomId)break;if(t){if(i=e.currentState.getStateEvents("m.room.create",""),!i||!i.getContent().predecessor)break;if(i.getContent().predecessor.room_id!==n.roomId)break}if(r.push(e),new Set(r.map(e=>e.roomId)).size<r.length)return r.slice(0,r.length-1);n=e,o=n.currentState.getStateEvents("m.room.tombstone","")}return r},x.prototype.invite=function(e,t,n){return j(this,e,t,"invite",void 0,n)},x.prototype.inviteByEmail=function(e,t,n){return this.inviteByThreePid(e,"email",t,n)},x.prototype.inviteByThreePid=async function(e,t,n,r){const i=g.encodeUri("/rooms/$roomId/invite",{$roomId:e}),o=this.getIdentityServerUrl(!0);if(!o)return Promise.reject(new m.MatrixError({error:"No supplied identity server URL",errcode:"ORG.MATRIX.JSSDK_MISSING_PARAM"}));const s={id_server:o,medium:t,address:n};if(this.identityServer&&this.identityServer.getAccessToken&&await this.doesServerAcceptIdentityAccessToken()){const e=await this.identityServer.getAccessToken();e&&(s.id_access_token=e)}return this._http.authedRequest(r,"POST",i,void 0,s)},x.prototype.leave=function(e,t){return j(this,e,void 0,"leave",void 0,t)},x.prototype.leaveRoomChain=function(e,t=!0){const n=this.getRoomUpgradeHistory(e);let r=n;if(!t){r=[];for(const t of n)if(r.push(t),t.roomId===e)break}const i={},o=[],s=e=>this.leave(e).then(()=>{i[e]=null}).catch(t=>(i[e]=t,null));for(const e of r)o.push(s(e.roomId));return Promise.all(o).then(()=>i)},x.prototype.ban=function(e,t,n,r){return j(this,e,t,"ban",n,r)},x.prototype.forget=function(e,t,n){void 0===t&&(t=!0);const r=j(this,e,void 0,"forget",void 0,n);if(!t)return r;const i=this;return r.then((function(t){return i.store.removeRoom(e),i.emit("deleteRoom",e),t}))},x.prototype.unban=function(e,t,n){const r=g.encodeUri("/rooms/$roomId/unban",{$roomId:e}),i={user_id:t};return this._http.authedRequest(n,"POST",r,void 0,i)},x.prototype.kick=function(e,t,n,r){return function(e,t,n,r,i,o){g.isFunction(i)&&(o=i,i=void 0);const s=g.encodeUri("/rooms/$roomId/state/m.room.member/$userId",{$roomId:t,$userId:n});return e._http.authedRequest(o,"PUT",s,void 0,{membership:r,reason:i})}(this,e,t,"leave",n,r)},x.prototype.getPushActionsForEvent=function(e){return e.getPushActions()||e.setPushActions(this._pushProcessor.actionsForEvent(e)),e.getPushActions()},x.prototype.setProfileInfo=function(e,t,n){const r=g.encodeUri("/profile/$userId/$info",{$userId:this.credentials.userId,$info:e});return this._http.authedRequest(n,"PUT",r,void 0,t)},x.prototype.setDisplayName=function(e,t){return this.setProfileInfo("displayname",{displayname:e},t)},x.prototype.setAvatarUrl=function(e,t){return this.setProfileInfo("avatar_url",{avatar_url:e},t)},x.prototype.mxcUrlToHttp=function(e,t,n,r,i){return(0,_.getHttpUriForMxc)(this.baseUrl,e,t,n,r,i)},x.prototype._unstable_setStatusMessage=function(e){const t="im.vector.user_status";return Promise.all(this.getRooms().map(n=>{const r="join"===n.getMyMembership(),i=2===n.getInvitedAndJoinedMemberCount();return r&&i&&n.currentState.mayClientSendStateEvent(t,this)?this.sendStateEvent(n.roomId,t,{status:e},this.getUserId()):Promise.resolve()}))},x.prototype.setPresence=function(e,t){const n=g.encodeUri("/presence/$userId/status",{$userId:this.credentials.userId});"string"==typeof e&&(e={presence:e});if(-1==["offline","online","unavailable"].indexOf(e.presence))throw new Error("Bad presence value: "+e.presence);return this._http.authedRequest(t,"PUT",n,void 0,e)},x.prototype.getPresenceList=function(e){return U(e,this,void 0,"GET")},x.prototype.inviteToPresenceList=function(e,t){return U(e,this,{invite:t},"POST")},x.prototype.dropFromPresenceList=function(e,t){return U(e,this,{drop:t},"POST")},x.prototype.scrollback=function(e,t,n){g.isFunction(t)&&(n=t,t=void 0),t=t||30;let r=0,i=this._ongoingScrollbacks[e.roomId]||{};if(i.promise)return i.promise;if(i.errorTs){const e=Date.now()-i.errorTs;r=Math.max(3e3-e,0)}if(null===e.oldState.paginationToken)return Promise.resolve(e);const o=this.store.scrollback(e,t).length;if(o===t)return Promise.resolve(e);t-=o;const s=this,a=new Promise((i,o)=>{(0,g.sleep)(r).then((function(){return s._createMessagesRequest(e.roomId,e.oldState.paginationToken,t,"b")})).then((function(t){const r=g.map(t.chunk,F(s));if(t.state){const n=g.map(t.state,F(s));e.currentState.setUnknownStateEvents(n)}e.addEventsToTimeline(r,!0,e.getLiveTimeline()),e.oldState.paginationToken=t.end,0===t.chunk.length&&(e.oldState.paginationToken=null),s.store.storeEvents(e,r,t.end,!0),s._ongoingScrollbacks[e.roomId]=null,q(n,i,e)}),(function(t){s._ongoingScrollbacks[e.roomId]={errorTs:Date.now()},L(n,o,t)}))});return i={promise:a,errorTs:null},this._ongoingScrollbacks[e.roomId]=i,a},x.prototype.getEventTimeline=function(e,t){if(!this.timelineSupport)throw new Error("timeline support is disabled. Set the 'timelineSupport' parameter to true when creating MatrixClient to enable it.");if(e.getTimelineForEvent(t))return Promise.resolve(e.getTimelineForEvent(t));const n=g.encodeUri("/rooms/$roomId/context/$eventId",{$roomId:e.room.roomId,$eventId:t});let r=void 0;this._clientOpts.lazyLoadMembers&&(r={filter:JSON.stringify(f.Filter.LAZY_LOADING_MESSAGES_FILTER)});const i=this;return i._http.authedRequest(void 0,"GET",n,r).then((function(n){if(!n.event)throw new Error("'event' not in '/context' result - homeserver too old?");if(e.getTimelineForEvent(t))return e.getTimelineForEvent(t);n.events_after.reverse();const r=n.events_after.concat([n.event]).concat(n.events_before),o=g.map(r,i.getEventMapper());let s=e.getTimelineForEvent(o[0].getId());if(s){const e=g.map(n.state,i.getEventMapper());s.getState(l.EventTimeline.BACKWARDS).setUnknownStateEvents(e)}else s=e.addTimeline(),s.initialiseState(g.map(n.state,i.getEventMapper())),s.getState(l.EventTimeline.FORWARDS).paginationToken=n.end;return e.addEventsToTimeline(o,!0,s,n.start),e.getTimelineForEvent(t)||s}))},x.prototype._createMessagesRequest=function(e,t,n,r,i){const o=g.encodeUri("/rooms/$roomId/messages",{$roomId:e});void 0===n&&(n=30);const s={from:t,limit:n,dir:r};let a=null;return this._clientOpts.lazyLoadMembers&&(a=Object.assign({},f.Filter.LAZY_LOADING_MESSAGES_FILTER)),i&&(a=a||{},Object.assign(a,i.getRoomTimelineFilterComponent())),a&&(s.filter=JSON.stringify(a)),this._http.authedRequest(void 0,"GET",o,s)},x.prototype.paginateEventTimeline=function(e,t){const n=e.getTimelineSet()===this._notifTimelineSet,r=(t=t||{}).backwards||!1;if(n&&!r)throw new Error("paginateNotifTimeline can only paginate backwards");const i=r?l.EventTimeline.BACKWARDS:l.EventTimeline.FORWARDS,o=e.getPaginationToken(i);if(!o)return Promise.resolve(!1);const s=e._paginationRequests[i];if(s)return s;let a,f,c;const u=this;if(n)a="/notifications",f={limit:"limit"in t?t.limit:30,only:"highlight"},o&&"end"!==o&&(f.from=o),c=this._http.authedRequest(void 0,"GET","/notifications",f,void 0).then((function(t){const n=t.next_token,o=[];for(let e=0;e<t.notifications.length;e++){const n=t.notifications[e],r=u.getEventMapper()(n.event);r.setPushActions(R.PushProcessor.actionListToActionsObject(n.actions)),r.event.room_id=n.room_id,o[e]=r}return e.getTimelineSet().addEventsToTimeline(o,r,e,n),r&&!t.next_token&&e.setPaginationToken(null,i),!!t.next_token})).finally((function(){e._paginationRequests[i]=null})),e._paginationRequests[i]=c;else{if(!this.getRoom(e.getRoomId()))throw new Error("Unknown room "+e.getRoomId());c=this._createMessagesRequest(e.getRoomId(),o,t.limit,i,e.getFilter()),c.then((function(t){if(t.state){const n=e.getState(i),r=g.map(t.state,u.getEventMapper());n.setUnknownStateEvents(r)}const n=t.end,o=g.map(t.chunk,u.getEventMapper());return e.getTimelineSet().addEventsToTimeline(o,r,e,n),r&&t.end==t.start&&e.setPaginationToken(null,i),t.end!=t.start})).finally((function(){e._paginationRequests[i]=null})),e._paginationRequests[i]=c}return c},x.prototype.resetNotifTimelineSet=function(){this._notifTimelineSet&&this._notifTimelineSet.resetLiveTimeline("end",null)},x.prototype.peekInRoom=function(e){return this._peekSync&&this._peekSync.stopPeeking(),this._peekSync=new c.SyncApi(this,this._clientOpts),this._peekSync.peek(e)},x.prototype.stopPeeking=function(){this._peekSync&&(this._peekSync.stopPeeking(),this._peekSync=null)},x.prototype.setGuestAccess=function(e,t){const n=this.sendStateEvent(e,"m.room.guest_access",{guest_access:t.allowJoin?"can_join":"forbidden"});let r=Promise.resolve();return t.allowRead&&(r=this.sendStateEvent(e,"m.room.history_visibility",{history_visibility:"world_readable"})),Promise.all([r,n])},x.prototype.requestRegisterEmailToken=function(e,t,n,r){return this._requestTokenFromEndpoint("/register/email/requestToken",{email:e,client_secret:t,send_attempt:n,next_link:r})},x.prototype.requestRegisterMsisdnToken=function(e,t,n,r,i){return this._requestTokenFromEndpoint("/register/msisdn/requestToken",{country:e,phone_number:t,client_secret:n,send_attempt:r,next_link:i})},x.prototype.requestAdd3pidEmailToken=function(e,t,n,r){return this._requestTokenFromEndpoint("/account/3pid/email/requestToken",{email:e,client_secret:t,send_attempt:n,next_link:r})},x.prototype.requestAdd3pidMsisdnToken=function(e,t,n,r,i){return this._requestTokenFromEndpoint("/account/3pid/msisdn/requestToken",{country:e,phone_number:t,client_secret:n,send_attempt:r,next_link:i})},x.prototype.requestPasswordEmailToken=function(e,t,n,r){return this._requestTokenFromEndpoint("/account/password/email/requestToken",{email:e,client_secret:t,send_attempt:n,next_link:r})},x.prototype.requestPasswordMsisdnToken=function(e,t,n,r,i){return this._requestTokenFromEndpoint("/account/password/msisdn/requestToken",{country:e,phone_number:t,client_secret:n,send_attempt:r,next_link:i})},x.prototype._requestTokenFromEndpoint=async function(e,t){const n=Object.assign({},t);if(!await this.doesServerSupportSeparateAddAndBind()&&this.idBaseUrl){const e=o.default.parse(this.idBaseUrl);if(!e.host)throw new Error("Invalid ID server URL: "+this.idBaseUrl);if(n.id_server=e.host,this.identityServer&&this.identityServer.getAccessToken&&await this.doesServerAcceptIdentityAccessToken()){const e=await this.identityServer.getAccessToken();e&&(n.id_access_token=e)}}return this._http.request(void 0,"POST",e,void 0,n)},x.prototype.getRoomPushRule=function(e,t){if(!this.pushRules)throw new Error("SyncApi.sync() must be done before accessing to push rules.");for(let n=0;n<this.pushRules[e].room.length;n++){const r=this.pushRules[e].room[n];if(r.rule_id===t)return r}},x.prototype.setRoomMutePushRule=function(e,t,n){const r=this;let i,o;const s=this.getRoomPushRule(e,t);if(s&&0<=s.actions.indexOf("dont_notify")&&(o=!0),n?s?o||(i=g.defer(),this.deletePushRule(e,"room",s.rule_id).then((function(){r.addPushRule(e,"room",t,{actions:["dont_notify"]}).then((function(){i.resolve()}),(function(e){i.reject(e)}))}),(function(e){i.reject(e)})),i=i.promise):i=this.addPushRule(e,"room",t,{actions:["dont_notify"]}):o&&(i=this.deletePushRule(e,"room",s.rule_id)),i)return new Promise((e,t)=>{i.then((function(){r.getPushRules().then((function(t){r.pushRules=t,e()}),(function(e){t(e)}))}),(function(e){r.getPushRules().then((function(n){r.pushRules=n,t(e)}),(function(n){t(e)}))}))})},x.prototype.searchMessageText=function(e,t){const n={search_term:e.query};return"keys"in e&&(n.keys=e.keys),this.search({body:{search_categories:{room_events:n}}},t)},x.prototype.searchRoomEvents=function(e){const t={search_categories:{room_events:{search_term:e.term,filter:e.filter,order_by:"recent",event_context:{before_limit:1,after_limit:1,include_profile:!0}}}},n={_query:t,results:[],highlights:[]};return this.search({body:t}).then(this._processRoomEventsSearch.bind(this,n))},x.prototype.backPaginateRoomEventsSearch=function(e){if(!e.next_batch)return Promise.reject(new Error("Cannot backpaginate event search any further"));if(e.pendingRequest)return e.pendingRequest;const t={body:e._query,next_batch:e.next_batch},n=this.search(t).then(this._processRoomEventsSearch.bind(this,e)).finally((function(){e.pendingRequest=null}));return e.pendingRequest=n,n},x.prototype._processRoomEventsSearch=function(e,t){const n=t.search_categories.room_events;e.count=n.count,e.next_batch=n.next_batch;const r={};n.highlights.forEach((function(e){r[e]=1})),e.highlights.forEach((function(e){r[e]=1})),e.highlights=Object.keys(r);for(let t=0;t<n.results.length;t++){const r=d.SearchResult.fromJson(n.results[t],this.getEventMapper());e.results.push(r)}return e},x.prototype.syncLeftRooms=function(){if(this._syncedLeftRooms)return Promise.resolve([]);if(this._syncLeftRoomsPromise)return this._syncLeftRoomsPromise;const e=this,t=new c.SyncApi(this,this._clientOpts);return this._syncLeftRoomsPromise=t.syncLeftRooms(),this._syncLeftRoomsPromise.then((function(t){w.logger.log("Marking success of sync left room request"),e._syncedLeftRooms=!0})).finally((function(){e._syncLeftRoomsPromise=null})),this._syncLeftRoomsPromise},x.prototype.createFilter=function(e){const t=this,n=g.encodeUri("/user/$userId/filter",{$userId:this.credentials.userId});return this._http.authedRequest(void 0,"POST",n,void 0,e).then((function(n){const r=f.Filter.fromJson(t.credentials.userId,n.filter_id,e);return t.store.storeFilter(r),r}))},x.prototype.getFilter=function(e,t,n){if(n){const n=this.store.getFilter(e,t);if(n)return Promise.resolve(n)}const r=this,i=g.encodeUri("/user/$userId/filter/$filterId",{$userId:e,$filterId:t});return this._http.authedRequest(void 0,"GET",i,void 0,void 0).then((function(n){const i=f.Filter.fromJson(e,t,n);return r.store.storeFilter(i),i}))},x.prototype.getOrCreateFilter=function(e,t){const n=this.store.getFilterIdByName(e);let r=Promise.resolve();const i=this;return n&&(r=i.getFilter(i.credentials.userId,n,!0).then((function(r){const o=r.getDefinition(),s=t.getDefinition();if(g.deepCompare(o,s))return Promise.resolve(n);i.store.setFilterIdByName(e,void 0)}),(function(t){if(404!==t.httpStatus||"M_UNKNOWN"!==t.errcode&&"M_NOT_FOUND"!==t.errcode)throw t;i.store.setFilterIdByName(e,void 0)}))),r.then((function(n){return n||i.createFilter(t.getDefinition()).then((function(t){return i.store.setFilterIdByName(e,t.filterId),t.filterId}))}))},x.prototype.getOpenIdToken=function(){const e=g.encodeUri("/user/$userId/openid/request_token",{$userId:this.credentials.userId});return this._http.authedRequest(void 0,"POST",e,void 0,{})},x.prototype.turnServer=function(e){return this._http.authedRequest(e,"GET","/voip/turnServer")},x.prototype.getTurnServers=function(){return this._turnServers||[]},x.prototype.setFallbackICEServerAllowed=function(e){this._fallbackICEServerAllowed=e},x.prototype.isFallbackICEServerAllowed=function(){return this._fallbackICEServerAllowed},x.prototype.isSynapseAdministrator=function(){const e=g.encodeUri("/_synapse/admin/v1/users/$userId/admin",{$userId:this.getUserId()});return this._http.authedRequest(void 0,"GET",e,void 0,void 0,{prefix:""}).then(e=>e.admin)},x.prototype.whoisSynapseUser=function(e){const t=g.encodeUri("/_synapse/admin/v1/whois/$userId",{$userId:e});return this._http.authedRequest(void 0,"GET",t,void 0,void 0,{prefix:""})},x.prototype.deactivateSynapseUser=function(e){const t=g.encodeUri("/_synapse/admin/v1/deactivate/$userId",{$userId:e});return this._http.authedRequest(void 0,"POST",t,void 0,void 0,{prefix:""})},x.prototype.startClient=async function(e){this.clientRunning||(this.clientRunning=!0,"number"==typeof e&&(e={initialSyncLimit:e}),this._crypto&&(this._crypto.uploadDeviceKeys(),this._crypto.start()),function e(t){if(!t._supportsVoip)return;if(t.isGuest())return;t.turnServer().then((function(n){if(n.uris){w.logger.log("Got TURN URIs: "+n.uris+" refresh in "+n.ttl+" secs");const r={urls:n.uris,username:n.username,credential:n.password};t._turnServers=[r],t._checkTurnServersTimeoutID=setTimeout(()=>{e(t)},1e3*(n.ttl||3600)*.9)}}),(function(n){w.logger.error("Failed to get TURN URIs"),t._checkTurnServersTimeoutID=setTimeout((function(){e(t)}),6e4)}))}(this),this._syncApi&&(w.logger.error("Still have sync object whilst not running: stopping old one"),this._syncApi.stop()),(e=Object.assign({},e)).crypto=this._crypto,e.canResetEntireTimeline=e=>!!this._canResetTimelineCallback&&this._canResetTimelineCallback(e),this._clientOpts=e,this._syncApi=new c.SyncApi(this,e),this._syncApi.sync())},x.prototype._storeClientOptions=function(){const e=["boolean","string","number"],t=Object.entries(this._clientOpts).filter(([t,n])=>e.includes(typeof n)).reduce((e,[t,n])=>(e[t]=n,e),{});return this.store.storeClientOptions(t)},x.prototype.stopClient=function(){w.logger.log("stopping MatrixClient"),this.clientRunning=!1,this._syncApi&&(this._syncApi.stop(),this._syncApi=null),this._crypto&&this._crypto.stop(),this._peekSync&&this._peekSync.stopPeeking(),e.clearTimeout(this._checkTurnServersTimeoutID)},x.prototype.getVersions=async function(){return null===this._serverVersionsCache&&(this._serverVersionsCache=await this._http.request(void 0,"GET","/_matrix/client/versions",void 0,void 0,{prefix:""})),this._serverVersionsCache},x.prototype.isVersionSupported=async function(e){const{versions:t}=await this.getVersions();return t&&t.includes(e)},x.prototype.doesServerSupportLazyLoading=async function(){const e=await this.getVersions(),t=e.versions,n=e.unstable_features;return t&&t.includes("r0.5.0")||n&&n["m.lazy_load_members"]},x.prototype.doesServerRequireIdServerParam=async function(){const e=await this.getVersions(),t=e.versions;if(t&&t.includes("r0.6.0"))return!1;const n=e.unstable_features;return void 0===n["m.require_identity_server"]||n["m.require_identity_server"]},x.prototype.doesServerAcceptIdentityAccessToken=async function(){const e=await this.getVersions(),t=e.versions,n=e.unstable_features;return t&&t.includes("r0.6.0")||n&&n["m.id_access_token"]},x.prototype.doesServerSupportSeparateAddAndBind=async function(){const e=await this.getVersions(),t=e.versions,n=e.unstable_features;return t&&t.includes("r0.6.0")||n&&n["m.separate_add_and_bind"]},x.prototype.hasLazyLoadMembersEnabled=function(){return!!this._clientOpts.lazyLoadMembers},x.prototype.setCanResetTimelineCallback=function(e){this._canResetTimelineCallback=e},x.prototype.getCanResetTimelineCallback=function(){return this._canResetTimelineCallback},x.prototype.relations=async function(e,t,n,r,i={}){const o=function(e,t,n){return"m.reaction"===n?n:e.isRoomEncrypted(t)?"m.room.encrypted":n}(this,e,r),s=await this.fetchRelations(e,t,n,o,i),a=this.getEventMapper();let f;s.original_event&&(f=a(s.original_event));let c=s.chunk.map(a);if("m.room.encrypted"===o){const e=f?c.concat(f):c;await Promise.all(e.map(e=>new Promise(t=>e.once("Event.decrypted",t)))),c=c.filter(e=>e.getType()===r)}return{originalEvent:f,events:c,nextBatch:s.next_batch}},x.prototype.getEventMapper=function(){return F(this)},x.prototype.generateClientSecret=function(){return(0,I.randomString)(32)}}).call(this,n(6))},function(e,t,n){(function(e,r){var i;/*! https://mths.be/punycode v1.4.1 by @mathias */!function(o){t&&t.nodeType,e&&e.nodeType;var s="object"==typeof r&&r;s.global!==s&&s.window!==s&&s.self;var a,f=2147483647,c=/^xn--/,u=/[^\x20-\x7E]/,l=/[\x2E\u3002\uFF0E\uFF61]/g,d={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},h=Math.floor,p=String.fromCharCode;function g(e){throw new RangeError(d[e])}function m(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}function _(e,t){var n=e.split("@"),r="";return n.length>1&&(r=n[0]+"@",e=n[1]),r+m((e=e.replace(l,".")).split("."),t).join(".")}function y(e){for(var t,n,r=[],i=0,o=e.length;i<o;)(t=e.charCodeAt(i++))>=55296&&t<=56319&&i<o?56320==(64512&(n=e.charCodeAt(i++)))?r.push(((1023&t)<<10)+(1023&n)+65536):(r.push(t),i--):r.push(t);return r}function b(e){return m(e,(function(e){var t="";return e>65535&&(t+=p((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=p(e)})).join("")}function v(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function A(e,t,n){var r=0;for(e=n?h(e/700):e>>1,e+=h(e/t);e>455;r+=36)e=h(e/35);return h(r+36*e/(e+38))}function w(e){var t,n,r,i,o,s,a,c,u,l,d,p=[],m=e.length,_=0,y=128,v=72;for((n=e.lastIndexOf("-"))<0&&(n=0),r=0;r<n;++r)e.charCodeAt(r)>=128&&g("not-basic"),p.push(e.charCodeAt(r));for(i=n>0?n+1:0;i<m;){for(o=_,s=1,a=36;i>=m&&g("invalid-input"),((c=(d=e.charCodeAt(i++))-48<10?d-22:d-65<26?d-65:d-97<26?d-97:36)>=36||c>h((f-_)/s))&&g("overflow"),_+=c*s,!(c<(u=a<=v?1:a>=v+26?26:a-v));a+=36)s>h(f/(l=36-u))&&g("overflow"),s*=l;v=A(_-o,t=p.length+1,0==o),h(_/t)>f-y&&g("overflow"),y+=h(_/t),_%=t,p.splice(_++,0,y)}return b(p)}function E(e){var t,n,r,i,o,s,a,c,u,l,d,m,_,b,w,E=[];for(m=(e=y(e)).length,t=128,n=0,o=72,s=0;s<m;++s)(d=e[s])<128&&E.push(p(d));for(r=i=E.length,i&&E.push("-");r<m;){for(a=f,s=0;s<m;++s)(d=e[s])>=t&&d<a&&(a=d);for(a-t>h((f-n)/(_=r+1))&&g("overflow"),n+=(a-t)*_,t=a,s=0;s<m;++s)if((d=e[s])<t&&++n>f&&g("overflow"),d==t){for(c=n,u=36;!(c<(l=u<=o?1:u>=o+26?26:u-o));u+=36)w=c-l,b=36-l,E.push(p(v(l+w%b,0))),c=h(w/b);E.push(p(v(c,0))),o=A(n,_,r==i),n=0,++r}++n,++t}return E.join("")}a={version:"1.4.1",ucs2:{decode:y,encode:b},decode:w,encode:E,toASCII:function(e){return _(e,(function(e){return u.test(e)?"xn--"+E(e):e}))},toUnicode:function(e){return _(e,(function(e){return c.test(e)?w(e.slice(4).toLowerCase()):e}))}},void 0===(i=function(){return a}.call(t,n,t,e))||(e.exports=i)}()}).call(this,n(111)(e),n(6))},function(e,t,n){"use strict";e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},function(e,t,n){"use strict";t.decode=t.parse=n(269),t.encode=t.stringify=n(270)},function(e,t,n){"use strict";function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,n,o){t=t||"&",n=n||"=";var s={};if("string"!=typeof e||0===e.length)return s;var a=/\+/g;e=e.split(t);var f=1e3;o&&"number"==typeof o.maxKeys&&(f=o.maxKeys);var c=e.length;f>0&&c>f&&(c=f);for(var u=0;u<c;++u){var l,d,h,p,g=e[u].replace(a,"%20"),m=g.indexOf(n);m>=0?(l=g.substr(0,m),d=g.substr(m+1)):(l=g,d=""),h=decodeURIComponent(l),p=decodeURIComponent(d),r(s,h)?i(s[h])?s[h].push(p):s[h]=[s[h],p]:s[h]=p}return s};var i=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t,n){"use strict";var r=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,n,a){return t=t||"&",n=n||"=",null===e&&(e=void 0),"object"==typeof e?o(s(e),(function(s){var a=encodeURIComponent(r(s))+n;return i(e[s])?o(e[s],(function(e){return a+encodeURIComponent(r(e))})).join(t):a+encodeURIComponent(r(e[s]))})).join(t):a?encodeURIComponent(r(a))+n+encodeURIComponent(r(e)):""};var i=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function o(e,t){if(e.map)return e.map(t);for(var n=[],r=0;r<e.length;r++)n.push(t(e[r],r));return n}var s=Object.keys||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t}},function(e,t,n){"use strict";(function(e){var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.MatrixBaseApis=u;var i=n(128),o=n(4),s=n(73),a=r(n(8)),f=n(46);function c(e,t){switch(e){case i.SERVICE_TYPES.IS:return t+f.PREFIX_IDENTITY_V2+"/terms";case i.SERVICE_TYPES.IM:return t+"/_matrix/integrations/v1/terms";default:throw new Error("Unsupported service type")}}function u(e){a.checkObjectHasKeys(e,["baseUrl","request"]),this.baseUrl=e.baseUrl,this.idBaseUrl=e.idBaseUrl,this.identityServer=e.identityServer;const t={baseUrl:e.baseUrl,idBaseUrl:e.idBaseUrl,accessToken:e.accessToken,request:e.request,prefix:f.PREFIX_R0,onlyData:!0,extraParams:e.queryParams,localTimeoutMs:e.localTimeoutMs,useAuthorizationHeader:e.useAuthorizationHeader};this._http=new f.MatrixHttpApi(this,t),this._txnCtr=0}u.prototype.getHomeserverUrl=function(){return this.baseUrl},u.prototype.getIdentityServerUrl=function(e=!1){return e&&(this.idBaseUrl.startsWith("http://")||this.idBaseUrl.startsWith("https://"))?this.idBaseUrl.split("://")[1]:this.idBaseUrl},u.prototype.setIdentityServerUrl=function(e){this.idBaseUrl=a.ensureNoTrailingSlash(e),this._http.setIdBaseUrl(this.idBaseUrl)},u.prototype.getAccessToken=function(){return this._http.opts.accessToken||null},u.prototype.isLoggedIn=function(){return void 0!==this._http.opts.accessToken},u.prototype.makeTxnId=function(){return"m"+(new Date).getTime()+"."+this._txnCtr++},u.prototype.isUsernameAvailable=function(e){return this._http.authedRequest(void 0,"GET","/register/available",{username:e}).then(e=>e.available)},u.prototype.register=function(e,t,n,r,i,o,s,a){!0===i?i={email:!0}:null==i&&(i={}),"function"==typeof s&&(a=s,s=void 0),null==r&&(r={}),n&&(r.session=n);const f={auth:r};return null!=e&&(f.username=e),null!=t&&(f.password=t),i.email&&(f.bind_email=!0),i.msisdn&&(f.bind_msisdn=!0),null!=o&&(f.guest_access_token=o),null!=s&&(f.inhibit_login=s),null!=t&&(f.x_show_msisdn=!0),this.registerRequest(f,void 0,a)},u.prototype.registerGuest=function(e,t){return(e=e||{}).body=e.body||{},this.registerRequest(e.body,"guest",t)},u.prototype.registerRequest=function(e,t,n){const r={};return t&&(r.kind=t),this._http.request(n,"POST","/register",r,e)},u.prototype.loginFlows=function(e){return this._http.request(e,"GET","/login")},u.prototype.login=function(e,t,n){const r={type:e};return a.extend(r,t),this._http.authedRequest((e,t)=>{t&&t.access_token&&t.user_id&&(this._http.opts.accessToken=t.access_token,this.credentials={userId:t.user_id}),n&&n(e,t)},"POST","/login",void 0,r)},u.prototype.loginWithPassword=function(e,t,n){return this.login("m.login.password",{user:e,password:t},n)},u.prototype.loginWithSAML2=function(e,t){return this.login("m.login.saml2",{relay_state:e},t)},u.prototype.getCasLoginUrl=function(e){return this.getSsoLoginUrl(e,"cas")},u.prototype.getSsoLoginUrl=function(e,t){return void 0===t&&(t="sso"),this._http.getUrl("/login/"+t+"/redirect",{redirectUrl:e},f.PREFIX_R0)},u.prototype.loginWithToken=function(e,t){return this.login("m.login.token",{token:e},t)},u.prototype.logout=function(e){return this._http.authedRequest(e,"POST","/logout")},u.prototype.deactivateAccount=function(e,t){if("function"==typeof t)throw new Error("deactivateAccount no longer accepts a callback parameter");const n={};return e&&(n.auth=e),void 0!==t&&(n.erase=t),this._http.authedRequest(void 0,"POST","/account/deactivate",void 0,n)},u.prototype.getFallbackAuthUrl=function(e,t){const n=a.encodeUri("/auth/$loginType/fallback/web",{$loginType:e});return this._http.getUrl(n,{session:t},f.PREFIX_R0)},u.prototype.createRoom=function(e,t){return this._http.authedRequest(t,"POST","/createRoom",void 0,e)},u.prototype.fetchRelations=async function(e,t,n,r,i){const o={};i.from&&(o.from=i.from);const s=a.encodeParams(o),c=a.encodeUri("/rooms/$roomId/relations/$eventId/$relationType/$eventType?"+s,{$roomId:e,$eventId:t,$relationType:n,$eventType:r});return await this._http.authedRequest(void 0,"GET",c,null,null,{prefix:f.PREFIX_UNSTABLE})},u.prototype.roomState=function(e,t){const n=a.encodeUri("/rooms/$roomId/state",{$roomId:e});return this._http.authedRequest(t,"GET",n)},u.prototype.fetchRoomEvent=function(e,t,n){const r=a.encodeUri("/rooms/$roomId/event/$eventId",{$roomId:e,$eventId:t});return this._http.authedRequest(n,"GET",r)},u.prototype.members=function(e,t,n,r,i){const o={};t&&(o.membership=t),n&&(o.not_membership=n),r&&(o.at=r);const s=a.encodeParams(o),f=a.encodeUri("/rooms/$roomId/members?"+s,{$roomId:e});return this._http.authedRequest(i,"GET",f)},u.prototype.upgradeRoom=function(e,t){const n=a.encodeUri("/rooms/$roomId/upgrade",{$roomId:e});return this._http.authedRequest(void 0,"POST",n,void 0,{new_version:t})},u.prototype.getGroupSummary=function(e){const t=a.encodeUri("/groups/$groupId/summary",{$groupId:e});return this._http.authedRequest(void 0,"GET",t)},u.prototype.getGroupProfile=function(e){const t=a.encodeUri("/groups/$groupId/profile",{$groupId:e});return this._http.authedRequest(void 0,"GET",t)},u.prototype.setGroupProfile=function(e,t){const n=a.encodeUri("/groups/$groupId/profile",{$groupId:e});return this._http.authedRequest(void 0,"POST",n,void 0,t)},u.prototype.setGroupJoinPolicy=function(e,t){const n=a.encodeUri("/groups/$groupId/settings/m.join_policy",{$groupId:e});return this._http.authedRequest(void 0,"PUT",n,void 0,{"m.join_policy":t})},u.prototype.getGroupUsers=function(e){const t=a.encodeUri("/groups/$groupId/users",{$groupId:e});return this._http.authedRequest(void 0,"GET",t)},u.prototype.getGroupInvitedUsers=function(e){const t=a.encodeUri("/groups/$groupId/invited_users",{$groupId:e});return this._http.authedRequest(void 0,"GET",t)},u.prototype.getGroupRooms=function(e){const t=a.encodeUri("/groups/$groupId/rooms",{$groupId:e});return this._http.authedRequest(void 0,"GET",t)},u.prototype.inviteUserToGroup=function(e,t){const n=a.encodeUri("/groups/$groupId/admin/users/invite/$userId",{$groupId:e,$userId:t});return this._http.authedRequest(void 0,"PUT",n,void 0,{})},u.prototype.removeUserFromGroup=function(e,t){const n=a.encodeUri("/groups/$groupId/admin/users/remove/$userId",{$groupId:e,$userId:t});return this._http.authedRequest(void 0,"PUT",n,void 0,{})},u.prototype.addUserToGroupSummary=function(e,t,n){const r=a.encodeUri(n?"/groups/$groupId/summary/$roleId/users/$userId":"/groups/$groupId/summary/users/$userId",{$groupId:e,$roleId:n,$userId:t});return this._http.authedRequest(void 0,"PUT",r,void 0,{})},u.prototype.removeUserFromGroupSummary=function(e,t){const n=a.encodeUri("/groups/$groupId/summary/users/$userId",{$groupId:e,$userId:t});return this._http.authedRequest(void 0,"DELETE",n,void 0,{})},u.prototype.addRoomToGroupSummary=function(e,t,n){const r=a.encodeUri(n?"/groups/$groupId/summary/$categoryId/rooms/$roomId":"/groups/$groupId/summary/rooms/$roomId",{$groupId:e,$categoryId:n,$roomId:t});return this._http.authedRequest(void 0,"PUT",r,void 0,{})},u.prototype.removeRoomFromGroupSummary=function(e,t){const n=a.encodeUri("/groups/$groupId/summary/rooms/$roomId",{$groupId:e,$roomId:t});return this._http.authedRequest(void 0,"DELETE",n,void 0,{})},u.prototype.addRoomToGroup=function(e,t,n){void 0===n&&(n=!0);const r=a.encodeUri("/groups/$groupId/admin/rooms/$roomId",{$groupId:e,$roomId:t});return this._http.authedRequest(void 0,"PUT",r,void 0,{"m.visibility":{type:n?"public":"private"}})},u.prototype.updateGroupRoomVisibility=function(e,t,n){const r=a.encodeUri("/groups/$groupId/admin/rooms/$roomId/config/m.visibility",{$groupId:e,$roomId:t});return this._http.authedRequest(void 0,"PUT",r,void 0,{type:n?"public":"private"})},u.prototype.removeRoomFromGroup=function(e,t){const n=a.encodeUri("/groups/$groupId/admin/rooms/$roomId",{$groupId:e,$roomId:t});return this._http.authedRequest(void 0,"DELETE",n,void 0,{})},u.prototype.acceptGroupInvite=function(e,t=null){const n=a.encodeUri("/groups/$groupId/self/accept_invite",{$groupId:e});return this._http.authedRequest(void 0,"PUT",n,void 0,t||{})},u.prototype.joinGroup=function(e){const t=a.encodeUri("/groups/$groupId/self/join",{$groupId:e});return this._http.authedRequest(void 0,"PUT",t,void 0,{})},u.prototype.leaveGroup=function(e){const t=a.encodeUri("/groups/$groupId/self/leave",{$groupId:e});return this._http.authedRequest(void 0,"PUT",t,void 0,{})},u.prototype.getJoinedGroups=function(){const e=a.encodeUri("/joined_groups");return this._http.authedRequest(void 0,"GET",e)},u.prototype.createGroup=function(e){const t=a.encodeUri("/create_group");return this._http.authedRequest(void 0,"POST",t,void 0,e)},u.prototype.getPublicisedGroups=function(e){const t=a.encodeUri("/publicised_groups");return this._http.authedRequest(void 0,"POST",t,void 0,{user_ids:e})},u.prototype.setGroupPublicity=function(e,t){const n=a.encodeUri("/groups/$groupId/self/update_publicity",{$groupId:e});return this._http.authedRequest(void 0,"PUT",n,void 0,{publicise:t})},u.prototype.getStateEvent=function(e,t,n,r){const i={$roomId:e,$eventType:t,$stateKey:n};let o=a.encodeUri("/rooms/$roomId/state/$eventType",i);return void 0!==n&&(o=a.encodeUri(o+"/$stateKey",i)),this._http.authedRequest(r,"GET",o)},u.prototype.sendStateEvent=function(e,t,n,r,i){const o={$roomId:e,$eventType:t,$stateKey:r};let s=a.encodeUri("/rooms/$roomId/state/$eventType",o);return void 0!==r&&(s=a.encodeUri(s+"/$stateKey",o)),this._http.authedRequest(i,"PUT",s,void 0,n)},u.prototype.roomInitialSync=function(e,t,n){a.isFunction(t)&&(n=t,t=void 0);const r=a.encodeUri("/rooms/$roomId/initialSync",{$roomId:e});return t||(t=30),this._http.authedRequest(n,"GET",r,{limit:t})},u.prototype.setRoomReadMarkersHttpRequest=function(e,t,n,r){const i=a.encodeUri("/rooms/$roomId/read_markers",{$roomId:e}),o={"m.fully_read":t,"m.read":n,"m.hidden":Boolean(!!r&&r.hidden)};return this._http.authedRequest(void 0,"POST",i,void 0,o)},u.prototype.getJoinedRooms=function(){const e=a.encodeUri("/joined_rooms");return this._http.authedRequest(void 0,"GET",e)},u.prototype.getJoinedRoomMembers=function(e){const t=a.encodeUri("/rooms/$roomId/joined_members",{$roomId:e});return this._http.authedRequest(void 0,"GET",t)},u.prototype.publicRooms=function(e,t){"function"==typeof e&&(t=e,e={}),void 0===e&&(e={});const n={};return e.server&&(n.server=e.server,delete e.server),0===Object.keys(e).length&&0===Object.keys(n).length?this._http.authedRequest(t,"GET","/publicRooms"):this._http.authedRequest(t,"POST","/publicRooms",n,e)},u.prototype.createAlias=function(e,t,n){const r=a.encodeUri("/directory/room/$alias",{$alias:e}),i={room_id:t};return this._http.authedRequest(n,"PUT",r,void 0,i)},u.prototype.deleteAlias=function(e,t){const n=a.encodeUri("/directory/room/$alias",{$alias:e});return this._http.authedRequest(t,"DELETE",n,void 0,void 0)},u.prototype.getRoomIdForAlias=function(e,t){const n=a.encodeUri("/directory/room/$alias",{$alias:e});return this._http.authedRequest(t,"GET",n)},u.prototype.resolveRoomAlias=function(e,t){const n=a.encodeUri("/directory/room/$alias",{$alias:e});return this._http.request(t,"GET",n)},u.prototype.getRoomDirectoryVisibility=function(e,t){const n=a.encodeUri("/directory/list/room/$roomId",{$roomId:e});return this._http.authedRequest(t,"GET",n)},u.prototype.setRoomDirectoryVisibility=function(e,t,n){const r=a.encodeUri("/directory/list/room/$roomId",{$roomId:e});return this._http.authedRequest(n,"PUT",r,void 0,{visibility:t})},u.prototype.setRoomDirectoryVisibilityAppService=function(e,t,n,r){const i=a.encodeUri("/directory/list/appservice/$networkId/$roomId",{$networkId:e,$roomId:t});return this._http.authedRequest(r,"PUT",i,void 0,{visibility:n})},u.prototype.searchUserDirectory=function(e){const t={search_term:e.term};return void 0!==e.limit&&(t.limit=e.limit),this._http.authedRequest(void 0,"POST","/user_directory/search",void 0,t)},u.prototype.uploadContent=function(e,t){return this._http.uploadContent(e,t)},u.prototype.cancelUpload=function(e){return this._http.cancelUpload(e)},u.prototype.getCurrentUploads=function(){return this._http.getCurrentUploads()},u.prototype.getProfileInfo=function(e,t,n){a.isFunction(t)&&(n=t,t=void 0);const r=t?a.encodeUri("/profile/$userId/$info",{$userId:e,$info:t}):a.encodeUri("/profile/$userId",{$userId:e});return this._http.authedRequest(n,"GET",r)},u.prototype.getThreePids=function(e){return this._http.authedRequest(e,"GET","/account/3pid",void 0,void 0)},u.prototype.addThreePid=function(e,t,n){const r={threePidCreds:e,bind:t};return this._http.authedRequest(n,"POST","/account/3pid",null,r)},u.prototype.addThreePidOnly=async function(e){const t=await this.isVersionSupported("r0.6.0")?f.PREFIX_R0:f.PREFIX_UNSTABLE;return this._http.authedRequest(void 0,"POST","/account/3pid/add",null,e,{prefix:t})},u.prototype.bindThreePid=async function(e){const t=await this.isVersionSupported("r0.6.0")?f.PREFIX_R0:f.PREFIX_UNSTABLE;return this._http.authedRequest(void 0,"POST","/account/3pid/bind",null,e,{prefix:t})},u.prototype.unbindThreePid=async function(e,t){const n={medium:e,address:t,id_server:this.getIdentityServerUrl(!0)},r=await this.isVersionSupported("r0.6.0")?f.PREFIX_R0:f.PREFIX_UNSTABLE;return this._http.authedRequest(void 0,"POST","/account/3pid/unbind",null,n,{prefix:r})},u.prototype.deleteThreePid=function(e,t){const n={medium:e,address:t};return this._http.authedRequest(void 0,"POST","/account/3pid/delete",null,n)},u.prototype.setPassword=function(e,t,n){const r={auth:e,new_password:t};return this._http.authedRequest(n,"POST","/account/password",null,r)},u.prototype.getDevices=function(){return this._http.authedRequest(void 0,"GET","/devices",void 0,void 0)},u.prototype.setDeviceDetails=function(e,t){const n=a.encodeUri("/devices/$device_id",{$device_id:e});return this._http.authedRequest(void 0,"PUT",n,void 0,t)},u.prototype.deleteDevice=function(e,t){const n=a.encodeUri("/devices/$device_id",{$device_id:e}),r={};return t&&(r.auth=t),this._http.authedRequest(void 0,"DELETE",n,void 0,r)},u.prototype.deleteMultipleDevices=function(e,t){const n={devices:e};t&&(n.auth=t);return this._http.authedRequest(void 0,"POST","/delete_devices",void 0,n)},u.prototype.getPushers=function(e){return this._http.authedRequest(e,"GET","/pushers",void 0,void 0)},u.prototype.setPusher=function(e,t){return this._http.authedRequest(t,"POST","/pushers/set",null,e)},u.prototype.getPushRules=function(e){return this._http.authedRequest(e,"GET","/pushrules/").then(e=>s.PushProcessor.rewriteDefaultRules(e))},u.prototype.addPushRule=function(e,t,n,r,i){const o=a.encodeUri("/pushrules/"+e+"/$kind/$ruleId",{$kind:t,$ruleId:n});return this._http.authedRequest(i,"PUT",o,void 0,r)},u.prototype.deletePushRule=function(e,t,n,r){const i=a.encodeUri("/pushrules/"+e+"/$kind/$ruleId",{$kind:t,$ruleId:n});return this._http.authedRequest(r,"DELETE",i)},u.prototype.setPushRuleEnabled=function(e,t,n,r,i){const o=a.encodeUri("/pushrules/"+e+"/$kind/$ruleId/enabled",{$kind:t,$ruleId:n});return this._http.authedRequest(i,"PUT",o,void 0,{enabled:r})},u.prototype.setPushRuleActions=function(e,t,n,r,i){const o=a.encodeUri("/pushrules/"+e+"/$kind/$ruleId/actions",{$kind:t,$ruleId:n});return this._http.authedRequest(i,"PUT",o,void 0,{actions:r})},u.prototype.search=function(e,t){const n={};return e.next_batch&&(n.next_batch=e.next_batch),this._http.authedRequest(t,"POST","/search",n,e.body)},u.prototype.uploadKeysRequest=function(e,t,n){const r=(t=t||{}).device_id;let i;return i=r?a.encodeUri("/keys/upload/$deviceId",{$deviceId:r}):"/keys/upload",this._http.authedRequest(n,"POST",i,void 0,e)},u.prototype.uploadKeySignatures=function(e){return this._http.authedRequest(void 0,"POST","/keys/signatures/upload",void 0,e,{prefix:f.PREFIX_UNSTABLE})},u.prototype.downloadKeysForUsers=function(e,t){if(a.isFunction(t))throw new Error("downloadKeysForUsers no longer accepts a callback parameter");const n={device_keys:{}};return"token"in(t=t||{})&&(n.token=t.token),e.forEach(e=>{n.device_keys[e]={}}),this._http.authedRequest(void 0,"POST","/keys/query",void 0,n)},u.prototype.claimOneTimeKeys=function(e,t){const n={};void 0===t&&(t="signed_curve25519");for(let r=0;r<e.length;++r){const i=e[r][0],o=e[r][1],s=n[i]||{};n[i]=s,s[o]=t}const r={one_time_keys:n};return this._http.authedRequest(void 0,"POST","/keys/claim",void 0,r)},u.prototype.getKeyChanges=function(e,t){const n={from:e,to:t};return this._http.authedRequest(void 0,"GET","/keys/changes",n,void 0)},u.prototype.uploadDeviceSigningKeys=function(e,t){const n=Object.assign({},t,{auth:e});return this._http.authedRequest(void 0,"POST","/keys/device_signing/upload",void 0,n,{prefix:f.PREFIX_UNSTABLE})},u.prototype.registerWithIdentityServer=function(e){if(!this.idBaseUrl)throw new Error("No Identity Server base URL set");const t=this.idBaseUrl+f.PREFIX_IDENTITY_V2+"/account/register";return this._http.requestOtherUrl(void 0,"POST",t,null,e)},u.prototype.requestEmailToken=async function(e,t,n,r,i,s){const a={client_secret:t,email:e,send_attempt:n,next_link:r};try{const e=await this._http.idServerRequest(void 0,"POST","/validate/email/requestToken",a,f.PREFIX_IDENTITY_V2,s);return i&&i(null,e),e}catch(e){if("rejected"===e.cors||404===e.httpStatus)return o.logger.warn("IS doesn't support v2, falling back to deprecated v1"),await this._http.idServerRequest(i,"POST","/validate/email/requestToken",a,f.PREFIX_IDENTITY_V1);throw i&&i(e),e}},u.prototype.requestMsisdnToken=async function(e,t,n,r,i,s,a){const c={client_secret:n,country:e,phone_number:t,send_attempt:r,next_link:i};try{const e=await this._http.idServerRequest(void 0,"POST","/validate/msisdn/requestToken",c,f.PREFIX_IDENTITY_V2,a);return s&&s(null,e),e}catch(e){if("rejected"===e.cors||404===e.httpStatus)return o.logger.warn("IS doesn't support v2, falling back to deprecated v1"),await this._http.idServerRequest(s,"POST","/validate/msisdn/requestToken",c,f.PREFIX_IDENTITY_V1);throw s&&s(e),e}},u.prototype.submitMsisdnToken=async function(e,t,n,r){const i={sid:e,client_secret:t,token:n};try{return await this._http.idServerRequest(void 0,"POST","/validate/msisdn/submitToken",i,f.PREFIX_IDENTITY_V2,r)}catch(e){if("rejected"===e.cors||404===e.httpStatus)return o.logger.warn("IS doesn't support v2, falling back to deprecated v1"),await this._http.idServerRequest(void 0,"POST","/validate/msisdn/submitToken",i,f.PREFIX_IDENTITY_V1);throw e}},u.prototype.submitMsisdnTokenOtherUrl=function(e,t,n,r){const i={sid:t,client_secret:n,token:r};return this._http.requestOtherUrl(void 0,"POST",e,void 0,i)},u.prototype.getIdentityHashDetails=function(e){return this._http.idServerRequest(void 0,"GET","/hash_details",null,f.PREFIX_IDENTITY_V2,e)},u.prototype.identityHashedLookup=async function(t,n){const r={},i=await this.getIdentityHashDetails(n);if(!i||!i.lookup_pepper||!i.algorithms)throw new Error("Unsupported identity server: bad response");r.pepper=i.lookup_pepper;const o={};if(i.algorithms.includes("sha256")){const n=new e.Olm.Utility;r.addresses=t.map(e=>{const t=e[0].toLowerCase(),i=e[1].toLowerCase(),s=n.sha256(`${t} ${i} ${r.pepper}`).replace(/\+/g,"-").replace(/\//g,"_");return o[s]=e[0],s}),r.algorithm="sha256"}else{if(!i.algorithms.includes("none"))throw new Error("Unsupported identity server: unknown hash algorithm");r.addresses=t.map(e=>{const t=`${e[0].toLowerCase()} ${e[1].toLowerCase()}`;return o[t]=e[0],t}),r.algorithm="none"}const s=await this._http.idServerRequest(void 0,"POST","/lookup",r,f.PREFIX_IDENTITY_V2,n);if(!s||!s.mappings)return[];const a=[];for(const e of Object.keys(s.mappings)){const t=s.mappings[e],n=o[e];if(!n)throw new Error("Identity server returned more results than expected");a.push({address:n,mxid:t})}return a},u.prototype.lookupThreePid=async function(e,t,n,r){try{const i=(await this.identityHashedLookup([[t,e]],r)).find(e=>e.address===t);if(!i)return n&&n(null,{}),{};const o={address:t,medium:e,mxid:i.mxid};return n&&n(null,o),o}catch(r){if("rejected"===r.cors||404===r.httpStatus){const r={medium:e,address:t};return o.logger.warn("IS doesn't support v2, falling back to deprecated v1"),await this._http.idServerRequest(n,"GET","/lookup",r,f.PREFIX_IDENTITY_V1)}throw n&&n(r,void 0),r}},u.prototype.bulkLookupThreePids=async function(e,t){try{const n=await this.identityHashedLookup(e.map(e=>[e[1],e[0]]),t),r=[];for(const t of n){const n=e.find(e=>e[1]===t.address);if(!n)throw new Error("Identity sever returned unexpected results");r.push([n[0],t.address,t.mxid])}return{threepids:r}}catch(n){if("rejected"===n.cors||404===n.httpStatus){const n={threepids:e};return o.logger.warn("IS doesn't support v2, falling back to deprecated v1"),await this._http.idServerRequest(void 0,"POST","/bulk_lookup",n,f.PREFIX_IDENTITY_V1,t)}throw n}},u.prototype.getIdentityAccount=function(e){return this._http.idServerRequest(void 0,"GET","/account",void 0,f.PREFIX_IDENTITY_V2,e)},u.prototype.sendToDevice=function(e,t,n){const r=a.encodeUri("/sendToDevice/$eventType/$txnId",{$eventType:e,$txnId:n||this.makeTxnId()}),i={messages:t},s=Object.keys(t).reduce((e,n)=>(e[n]=Object.keys(t[n]),e),{});return o.logger.log(`PUT ${r}`,s),this._http.authedRequest(void 0,"PUT",r,void 0,i)},u.prototype.getThirdpartyProtocols=function(){return this._http.authedRequest(void 0,"GET","/thirdparty/protocols",void 0,void 0).then(e=>{if(!e||"object"!=typeof e)throw new Error(`/thirdparty/protocols did not return an object: ${e}`);return e})},u.prototype.getThirdpartyLocation=function(e,t){const n=a.encodeUri("/thirdparty/location/$protocol",{$protocol:e});return this._http.authedRequest(void 0,"GET",n,t,void 0)},u.prototype.getThirdpartyUser=function(e,t){const n=a.encodeUri("/thirdparty/user/$protocol",{$protocol:e});return this._http.authedRequest(void 0,"GET",n,t,void 0)},u.prototype.getTerms=function(e,t){const n=c(e,t);return this._http.requestOtherUrl(void 0,"GET",n)},u.prototype.agreeToTerms=function(e,t,n,r){const i=c(e,t),o={Authorization:"Bearer "+n};return this._http.requestOtherUrl(void 0,"POST",i,null,{user_accepts:r},{headers:o})},u.prototype.reportEvent=function(e,t,n,r){const i=a.encodeUri("/rooms/$roomId/report/$eventId",{$roomId:e,$eventId:t});return this._http.authedRequest(void 0,"POST",i,null,{score:n,reason:r})}}).call(this,n(6))},function(e,t,n){"use strict";
/*!
* content-type
* Copyright(c) 2015 Douglas Christopher Wilson
* MIT Licensed
*/var r=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,i=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,o=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,s=/\\([\u000b\u0020-\u00ff])/g,a=/([\\"])/g,f=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;function c(e){var t=String(e);if(o.test(t))return t;if(t.length>0&&!i.test(t))throw new TypeError("invalid parameter value");return'"'+t.replace(a,"\\$1")+'"'}function u(e){this.parameters=Object.create(null),this.type=e}t.format=function(e){if(!e||"object"!=typeof e)throw new TypeError("argument obj is required");var t=e.parameters,n=e.type;if(!n||!f.test(n))throw new TypeError("invalid type");var r=n;if(t&&"object"==typeof t)for(var i,s=Object.keys(t).sort(),a=0;a<s.length;a++){if(i=s[a],!o.test(i))throw new TypeError("invalid parameter name");r+="; "+i+"="+c(t[i])}return r},t.parse=function(e){if(!e)throw new TypeError("argument string is required");var t="object"==typeof e?function(e){var t;"function"==typeof e.getHeader?t=e.getHeader("content-type"):"object"==typeof e.headers&&(t=e.headers&&e.headers["content-type"]);if("string"!=typeof t)throw new TypeError("content-type header is missing from object");return t}(e):e;if("string"!=typeof t)throw new TypeError("argument string is required to be a string");var n=t.indexOf(";"),i=-1!==n?t.substr(0,n).trim():t.trim();if(!f.test(i))throw new TypeError("invalid media type");var o=new u(i.toLowerCase());if(-1!==n){var a,c,l;for(r.lastIndex=n;c=r.exec(t);){if(c.index!==n)throw new TypeError("invalid parameter format");n+=c[0].length,a=c[1].toLowerCase(),'"'===(l=c[2])[0]&&(l=l.substr(1,l.length-2).replace(s,"$1")),o.parameters[a]=l}if(n!==t.length)throw new TypeError("invalid parameter format")}return o}},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.setNow=function(e){a=e||Date.now},t.setTimeout=function(e,t){(t=t||0)<0&&(t=0);const n=Array.prototype.slice.call(arguments,2),r=a()+t,i=o++;const c={runAt:r,func:e,params:n,key:i},l=u(s,(function(e){return e.runAt-r}));return s.splice(l,0,c),f(),i},t.clearTimeout=function(e){if(0===s.length)return;let t;for(t=0;t<s.length;t++){if(s[t].key==e){s.splice(t,1);break}}0===t&&f()};var r=n(4);let i,o=0;const s=[];let a=Date.now;function f(){i&&e.clearTimeout(i);const t=s[0];if(!t)return;const n=a(),r=Math.min(t.runAt-n,1e3);i=e.setTimeout(c,r)}function c(){let t;const n=a(),i=[];for(;;){const e=s[0];if(!e||e.runAt>n)break;t=s.shift(),t.key,i.push(t)}f();for(let n=0;n<i.length;n++){t=i[n];try{t.func.apply(e,t.params)}catch(e){r.logger.error("Uncaught exception in callback function",e.stack||e)}}}function u(e,t){let n=0,r=e.length;for(;n<r;){const i=n+r>>1;t(e[i])>0?r=i:n=i+1}return n}}).call(this,n(6))},function(e,t,n){"use strict";function r(e){this.filter_json=e,this.types=e.types||null,this.not_types=e.not_types||[],this.rooms=e.rooms||null,this.not_rooms=e.not_rooms||[],this.senders=e.senders||null,this.not_senders=e.not_senders||[],this.contains_url=e.contains_url||null}Object.defineProperty(t,"__esModule",{value:!0}),t.FilterComponent=r,r.prototype.check=function(e){return this._checkFields(e.getRoomId(),e.getSender(),e.getType(),!!e.getContent()&&void 0!==e.getContent().url)},r.prototype._checkFields=function(e,t,n,r){const i={rooms:function(t){return e===t},senders:function(e){return t===e},types:function(e){return function(e,t){if(t.endsWith("*")){const n=t.slice(0,-1);return e.substr(0,n.length)===n}return e===t}(n,e)}},o=this;for(let e=0;e<Object.keys(i).length;e++){const t=Object.keys(i)[e],n=i[t];if(o["not_"+t].filter(n).length>0)return!1;const r=o[t];if(r&&!r.map(n))return!1}const s=this.filter_json.contains_url;return void 0===s||s===r},r.prototype.filter=function(e){return e.filter(this.check,this)},r.prototype.limit=function(){return void 0!==this.filter_json.limit?this.filter_json.limit:10}},function(e,t,n){"use strict";(function(e){var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.SyncApi=g;var i=n(45),o=n(129),s=n(132),a=r(n(8)),f=n(74),c=n(24),u=n(73),l=n(4),d=n(77);function h(e,t){return"FILTER_SYNC_"+e+(t?"_"+t:"")}function p(...e){l.logger.log(...e)}function g(e,t){this.client=e,(t=t||{}).initialSyncLimit=void 0===t.initialSyncLimit?8:t.initialSyncLimit,t.resolveInvitesToProfiles=t.resolveInvitesToProfiles||!1,t.pollTimeout=t.pollTimeout||3e4,t.pendingEventOrdering=t.pendingEventOrdering||"chronological",t.canResetEntireTimeline||(t.canResetEntireTimeline=function(e){return!1}),this.opts=t,this._peekRoomId=null,this._currentSyncRequest=null,this._syncState=null,this._syncStateData=null,this._catchingUp=!1,this._running=!1,this._keepAliveTimer=null,this._connectionReturnedDefer=null,this._notifEvents=[],this._failedSyncCount=0,this._storeIsInvalid=!1,e.getNotifTimelineSet()&&e.reEmitter.reEmit(e.getNotifTimelineSet(),["Room.timeline","Room.timelineReset"])}function m(e,t){const n=new i.User(t);return e.reEmitter.reEmit(n,["User.avatarUrl","User.displayName","User.presence","User.currentlyActive","User.lastPresenceTs"]),n}g.prototype.createRoom=function(e){const t=this.client,{timelineSupport:n,unstableClientRelationAggregation:r}=t,i=new o.Room(e,t,t.getUserId(),{lazyLoadMembers:this.opts.lazyLoadMembers,pendingEventOrdering:this.opts.pendingEventOrdering,timelineSupport:n,unstableClientRelationAggregation:r});return t.reEmitter.reEmit(i,["Room.name","Room.timeline","Room.redaction","Room.redactionCancelled","Room.receipt","Room.tags","Room.timelineReset","Room.localEchoUpdated","Room.accountData","Room.myMembership","Room.replaceEvent"]),this._registerStateListeners(i),i},g.prototype.createGroup=function(e){const t=this.client,n=new s.Group(e);return t.reEmitter.reEmit(n,["Group.profile","Group.myMembership"]),t.store.storeGroup(n),n},g.prototype._registerStateListeners=function(e){const t=this.client;t.reEmitter.reEmit(e.currentState,["RoomState.events","RoomState.members","RoomState.newMember"]),e.currentState.on("RoomState.newMember",(function(e,n,r){r.user=t.getUser(r.userId),t.reEmitter.reEmit(r,["RoomMember.name","RoomMember.typing","RoomMember.powerLevel","RoomMember.membership"])}))},g.prototype._deregisterStateListeners=function(e){e.currentState.removeAllListeners("RoomState.events"),e.currentState.removeAllListeners("RoomState.members"),e.currentState.removeAllListeners("RoomState.newMember")},g.prototype.syncLeftRooms=function(){const e=this.client,t=this,n=new f.Filter(this.client.credentials.userId);n.setTimelineLimit(1),n.setIncludeLeaveRooms(!0);const r=this.opts.pollTimeout+8e4,i={timeout:0};return e.getOrCreateFilter(h(e.credentials.userId,"LEFT_ROOMS"),n).then((function(t){return i.filter=t,e._http.authedRequest(void 0,"GET","/sync",i,void 0,r)})).then((function(n){let r=[];n.rooms&&n.rooms.leave&&(r=t._mapSyncResponseToRoomArray(n.rooms.leave));const i=[];return r.forEach((function(n){const r=n.room;if(i.push(r),!n.isBrandNewRoom)return;n.timeline=n.timeline||{};const o=t._mapSyncEventsFormat(n.timeline,r),s=t._mapSyncEventsFormat(n.state,r);r.getLiveTimeline().setPaginationToken(n.timeline.prev_batch,c.EventTimeline.BACKWARDS),t._processRoomEvents(r,s,o),r.recalculate(),e.store.storeRoom(r),e.emit("Room",r),t._processEventsForNotifs(r,o)})),i}))},g.prototype.peek=function(e){const t=this,n=this.client;return this._peekRoomId=e,this.client.roomInitialSync(e,20).then((function(r){r.messages=r.messages||{},r.messages.chunk=r.messages.chunk||[],r.state=r.state||[];const i=t.createRoom(e),o=a.map(a.deepCopy(r.state),n.getEventMapper()),s=a.map(r.state,n.getEventMapper()),f=a.map(r.messages.chunk,n.getEventMapper());return r.presence&&a.isArray(r.presence)&&r.presence.map(n.getEventMapper()).forEach((function(e){let t=n.store.getUser(e.getContent().user_id);t?t.setPresenceEvent(e):(t=m(n,e.getContent().user_id),t.setPresenceEvent(e),n.store.storeUser(t)),n.emit("event",e)})),r.messages.start&&(i.oldState.paginationToken=r.messages.start),i.oldState.setStateEvents(o),i.currentState.setStateEvents(s),t._resolveInvites(i),i.recalculate(),i.addEventsToTimeline(f.reverse(),!0,i.getLiveTimeline(),r.messages.start),n.store.storeRoom(i),n.emit("Room",i),t._peekPoll(i),i}))},g.prototype.stopPeeking=function(){this._peekRoomId=null},g.prototype._peekPoll=function(e,t){if(this._peekRoomId!==e.roomId)return void p("Stopped peeking in room %s",e.roomId);const n=this;this.client._http.authedRequest(void 0,"GET","/events",{room_id:e.roomId,timeout:3e4,from:t},void 0,5e4).then((function(t){if(n._peekRoomId!==e.roomId)return void p("Stopped peeking in room %s",e.roomId);t.chunk.filter((function(e){return"m.presence"===e.type})).map(n.client.getEventMapper()).forEach((function(e){let t=n.client.store.getUser(e.getContent().user_id);t?t.setPresenceEvent(e):(t=m(n.client,e.getContent().user_id),t.setPresenceEvent(e),n.client.store.storeUser(t)),n.client.emit("event",e)}));const r=t.chunk.filter((function(t){return t.room_id===e.roomId})).map(n.client.getEventMapper());e.addLiveEvents(r),n._peekPoll(e,t.end)}),(function(r){l.logger.error("[%s] Peek poll failed: %s",e.roomId,r),setTimeout((function(){n._peekPoll(e,t)}),3e4)}))},g.prototype.getSyncState=function(){return this._syncState},g.prototype.getSyncStateData=function(){return this._syncStateData},g.prototype.recoverFromSyncStartupError=async function(e,t){await e;const n=this._startKeepAlives();this._updateSyncState("ERROR",{error:t}),await n},g.prototype._wasLazyLoadingToggled=async function(e){e=!!e;let t=!1;if(!await this.client.store.isNewlyCreated()){const n=await this.client.store.getClientOptions();return n&&(t=!!n.lazyLoadMembers),t!==e}return!1},g.prototype._shouldAbortSync=function(e){return"M_UNKNOWN_TOKEN"===e.errcode&&(l.logger.warn("Token no longer valid - assuming logout"),this.stop(),!0)},g.prototype.sync=function(){const t=this.client,n=this;this._running=!0,e.document&&(this._onOnlineBound=this._onOnline.bind(this),e.document.addEventListener("online",this._onOnlineBound,!1));let r=Promise.resolve(),i=null;const o=async()=>{if(p("Checking lazy load status..."),this.opts.lazyLoadMembers&&t.isGuest()&&(this.opts.lazyLoadMembers=!1),this.opts.lazyLoadMembers){if(p("Checking server lazy load support..."),await t.doesServerSupportLazyLoading())try{p("Creating and storing lazy load sync filter..."),this.opts.filter=await t.createFilter(f.Filter.LAZY_LOADING_SYNC_FILTER),p("Created and stored lazy load sync filter")}catch(e){throw l.logger.error("Creating and storing lazy load sync filter failed",e),e}else p("LL: lazy loading requested but not supported by server, so disabling"),this.opts.lazyLoadMembers=!1}if(p("Checking whether lazy loading has changed in store..."),await this._wasLazyLoadingToggled(this.opts.lazyLoadMembers)){this._storeIsInvalid=!0;const e=d.InvalidStoreError.TOGGLED_LAZY_LOADING,t=new d.InvalidStoreError(e,!!this.opts.lazyLoadMembers);return this._updateSyncState("ERROR",{error:t}),void l.logger.warn("InvalidStoreError: store is not usable: stopping sync.")}this.opts.lazyLoadMembers&&this.opts.crypto&&this.opts.crypto.enableLazyLoading();try{p("Storing client options..."),await this.client._storeClientOptions(),p("Stored client options")}catch(e){throw l.logger.error("Storing client options failed",e),e}!async function e(){let o,s;p("Getting filter..."),n.opts.filter?o=n.opts.filter:(o=new f.Filter(t.credentials.userId),o.setTimelineLimit(n.opts.initialSyncLimit));try{s=await t.getOrCreateFilter(h(t.credentials.userId),o)}catch(t){if(l.logger.error("Getting filter failed",t),n._shouldAbortSync(t))return;return p("Waiting for saved sync before retrying filter..."),await n.recoverFromSyncStartupError(r,t),void e()}t.resetNotifTimelineSet(),null===n._currentSyncRequest&&(p("Sending first sync request..."),n._currentSyncRequest=n._doSyncRequest({filterId:s},i));p("Waiting for saved sync before starting sync processing..."),await r,n._sync({filterId:s})}()};t.isGuest()?n._sync({}):(p("Getting saved sync token..."),r=t.store.getSavedSyncToken().then(e=>(p("Got saved sync token"),i=e,p("Getting saved sync..."),t.store.getSavedSync())).then(e=>{if(p(`Got reply from saved sync, exists? ${!!e}`),e)return n._syncFromCache(e)}).catch(e=>{l.logger.error("Getting saved sync failed",e)}),async function e(){try{p("Getting push rules...");const e=await t.getPushRules();p("Got push rules"),t.pushRules=e}catch(t){if(l.logger.error("Getting push rules failed",t),n._shouldAbortSync(t))return;return p("Waiting for saved sync before retrying push rules..."),await n.recoverFromSyncStartupError(r,t),void e()}o()}())},g.prototype.stop=function(){p("SyncApi.stop"),e.document&&(e.document.removeEventListener("online",this._onOnlineBound,!1),this._onOnlineBound=void 0),this._running=!1,this._currentSyncRequest&&this._currentSyncRequest.abort(),this._keepAliveTimer&&(clearTimeout(this._keepAliveTimer),this._keepAliveTimer=null)},g.prototype.retryImmediately=function(){return!!this._connectionReturnedDefer&&(this._startKeepAlives(0),!0)},g.prototype._syncFromCache=async function(e){p("sync(): not doing HTTP hit, instead returning stored /sync data");const t=e.nextBatch;this.client.store.setSyncToken(t);const n={oldSyncToken:null,nextSyncToken:t,catchingUp:!1},r={next_batch:t,rooms:e.roomsData,groups:e.groupsData,account_data:{events:e.accountData}};try{await this._processSyncResponse(n,r)}catch(e){l.logger.error("Error processing cached sync",e.stack||e)}this._storeIsInvalid||this._updateSyncState("PREPARED",n)},g.prototype._sync=async function(e){const t=this.client;if(!this._running)return p("Sync no longer running: exiting."),this._connectionReturnedDefer&&(this._connectionReturnedDefer.reject(),this._connectionReturnedDefer=null),void this._updateSyncState("STOPPED");const n=t.store.getSyncToken();let r;try{null===this._currentSyncRequest&&(this._currentSyncRequest=this._doSyncRequest(e,n)),r=await this._currentSyncRequest}catch(t){return void this._onSyncError(t,e)}finally{this._currentSyncRequest=null}t.store.setSyncToken(r.next_batch),this._failedSyncCount=0,await t.store.setSyncData(r);const i={oldSyncToken:n,nextSyncToken:r.next_batch,catchingUp:this._catchingUp};this.opts.crypto&&await this.opts.crypto.onSyncWillProcess(i);try{await this._processSyncResponse(i,r)}catch(e){l.logger.error("Caught /sync error",e.stack||e),this.client.emit("sync.unexpectedError",e)}i.catchingUp=this._catchingUp,e.hasSyncedBefore||(this._updateSyncState("PREPARED",i),e.hasSyncedBefore=!0),this.opts.crypto&&await this.opts.crypto.onSyncCompleted(i),this._updateSyncState("SYNCING",i),t.store.wantsSave()&&(this.opts.crypto&&await this.opts.crypto.saveDeviceList(0),t.store.save()),this._sync(e)},g.prototype._doSyncRequest=function(e,t){const n=this._getSyncParams(e,t);return this.client._http.authedRequest(void 0,"GET","/sync",n,void 0,n.timeout+8e4)},g.prototype._getSyncParams=function(e,t){let n=this.opts.pollTimeout;("SYNCING"!==this.getSyncState()||this._catchingUp)&&(this._catchingUp=!0,n=0);let r=e.filterId;this.client.isGuest()&&!r&&(r=this._getGuestFilter());const i={filter:r,timeout:n};return this.opts.disablePresence&&(i.set_presence="offline"),t?i.since=t:i._cacheBuster=Date.now(),"ERROR"!=this.getSyncState()&&"RECONNECTING"!=this.getSyncState()||(i.timeout=0),i},g.prototype._onSyncError=function(e,t){if(!this._running)return p("Sync no longer running: exiting"),this._connectionReturnedDefer&&(this._connectionReturnedDefer.reject(),this._connectionReturnedDefer=null),void this._updateSyncState("STOPPED");l.logger.error("/sync error %s",e),l.logger.error(e),this._shouldAbortSync(e)||(this._failedSyncCount++,l.logger.log("Number of consecutive failed sync requests:",this._failedSyncCount),p("Starting keep-alive"),this._startKeepAlives().then(e=>{e&&"ERROR"===this.getSyncState()&&this._updateSyncState("CATCHUP",{oldSyncToken:null,nextSyncToken:null,catchingUp:!0}),this._sync(t)}),this._currentSyncRequest=null,this._updateSyncState(this._failedSyncCount>=3?"ERROR":"RECONNECTING",{error:e}))},g.prototype._processSyncResponse=async function(e,t){const n=this.client,r=this;if(t.presence&&a.isArray(t.presence.events)&&t.presence.events.map(n.getEventMapper()).forEach((function(e){let t=n.store.getUser(e.getSender());t?t.setPresenceEvent(e):(t=m(n,e.getSender()),t.setPresenceEvent(e),n.store.storeUser(t)),n.emit("event",e)})),t.account_data&&a.isArray(t.account_data.events)){const e=t.account_data.events.map(n.getEventMapper());n.store.storeAccountDataEvents(e),e.forEach((function(e){if("m.push_rules"===e.getType()){const t=e.getContent();n.pushRules=u.PushProcessor.rewriteDefaultRules(t)}return n.emit("accountData",e),e}))}if(t.to_device&&a.isArray(t.to_device.events)&&t.to_device.events.length>0){const e=[];t.to_device.events.map(n.getEventMapper()).map(t=>{if("m.key.verification.cancel"===t.getType()){const n=t.getContent().transaction_id;n&&e.push(n)}return t}).forEach((function(t){const r=t.getContent();if("m.room.message"!=t.getType()||"m.bad.encrypted"!=r.msgtype){if("m.key.verification.start"===t.getType()||"m.key.verification.request"===t.getType()){const n=r.transaction_id;e.includes(n)&&t.flagCancelled()}n.emit("toDeviceEvent",t)}else l.logger.log("Ignoring undecryptable to-device event from "+t.getSender())}))}else this._catchingUp=!1;t.groups&&(t.groups.invite&&this._processGroupSyncEntry(t.groups.invite,"invite"),t.groups.join&&this._processGroupSyncEntry(t.groups.join,"join"),t.groups.leave&&this._processGroupSyncEntry(t.groups.leave,"leave"));let i=[],o=[],s=[];if(t.rooms&&(t.rooms.invite&&(i=this._mapSyncResponseToRoomArray(t.rooms.invite)),t.rooms.join&&(o=this._mapSyncResponseToRoomArray(t.rooms.join)),t.rooms.leave&&(s=this._mapSyncResponseToRoomArray(t.rooms.leave))),this._notifEvents=[],i.forEach((function(e){const t=e.room,i=r._mapSyncEventsFormat(e.invite_state,t);r._processRoomEvents(t,i),e.isBrandNewRoom&&(t.recalculate(),n.store.storeRoom(t),n.emit("Room",t)),i.forEach((function(e){n.emit("event",e)})),t.updateMyMembership("invite")})),await a.promiseMapSeries(o,(async function(t){const i=t.room,o=r._mapSyncEventsFormat(t.state,i),s=r._mapSyncEventsFormat(t.timeline,i),f=r._mapSyncEventsFormat(t.ephemeral),u=r._mapSyncEventsFormat(t.account_data);if(t.unread_notifications){i.setUnreadNotificationCount("total",t.unread_notifications.notification_count);const e=n.isRoomEncrypted(i.roomId);(!e||e&&i.getUnreadNotificationCount("highlight")<=0)&&i.setUnreadNotificationCount("highlight",t.unread_notifications.highlight_count)}if(t.timeline=t.timeline||{},t.isBrandNewRoom)i.getLiveTimeline().setPaginationToken(t.timeline.prev_batch,c.EventTimeline.BACKWARDS);else if(t.timeline.limited){let o=!0;for(let e=s.length-1;e>=0;e--){const t=s[e].getId();if(i.getTimelineForEvent(t)){p("Already have event "+t+" in limited sync - not resetting"),o=!1,s.splice(0,e);break}}o&&(r._deregisterStateListeners(i),i.resetLiveTimeline(t.timeline.prev_batch,r.opts.canResetEntireTimeline(i.roomId)?null:e.oldSyncToken),n.resetNotifTimelineSet(),r._registerStateListeners(i))}async function l(e){if(n.emit("event",e),e.isState()&&"m.room.encryption"==e.getType()&&r.opts.crypto&&await r.opts.crypto.onCryptoEvent(e),e.isState()&&"im.vector.user_status"===e.getType()){let t=n.store.getUser(e.getStateKey());t?t._unstable_updateStatusMessage(e):(t=m(n,e.getStateKey()),t._unstable_updateStatusMessage(e),n.store.storeUser(t))}}r._processRoomEvents(i,o,s),t.summary&&i.setSummary(t.summary),i.addEphemeralEvents(f),i.addAccountData(u),i.recalculate(),t.isBrandNewRoom&&(n.store.storeRoom(i),n.emit("Room",i)),r._processEventsForNotifs(i,s),await a.promiseMapSeries(o,l),await a.promiseMapSeries(s,l),f.forEach((function(e){n.emit("event",e)})),u.forEach((function(e){n.emit("event",e)})),i.updateMyMembership("join")})),s.forEach((function(e){const t=e.room,i=r._mapSyncEventsFormat(e.state,t),o=r._mapSyncEventsFormat(e.timeline,t),s=r._mapSyncEventsFormat(e.account_data);r._processRoomEvents(t,i,o),t.addAccountData(s),t.recalculate(),e.isBrandNewRoom&&(n.store.storeRoom(t),n.emit("Room",t)),r._processEventsForNotifs(t,o),i.forEach((function(e){n.emit("event",e)})),o.forEach((function(e){n.emit("event",e)})),s.forEach((function(e){n.emit("event",e)})),t.updateMyMembership("leave")})),e.oldSyncToken&&this._notifEvents.length&&(this._notifEvents.sort((function(e,t){return e.getTs()-t.getTs()})),this._notifEvents.forEach((function(e){n.getNotifTimelineSet().addLiveEvent(e)}))),t.device_lists&&this.opts.crypto&&await this.opts.crypto.handleDeviceListChanges(e,t.device_lists),this.opts.crypto&&t.device_one_time_keys_count){const e=t.device_one_time_keys_count.signed_curve25519||0;this.opts.crypto.updateOneTimeKeyCount(e)}},g.prototype._startKeepAlives=function(e){void 0===e&&(e=2e3+Math.floor(5e3*Math.random())),null!==this._keepAliveTimer&&clearTimeout(this._keepAliveTimer);const t=this;return e>0?t._keepAliveTimer=setTimeout(t._pokeKeepAlive.bind(t),e):t._pokeKeepAlive(),this._connectionReturnedDefer||(this._connectionReturnedDefer=a.defer()),this._connectionReturnedDefer.promise},g.prototype._pokeKeepAlive=function(e){void 0===e&&(e=!1);const t=this;function n(){clearTimeout(t._keepAliveTimer),t._connectionReturnedDefer&&(t._connectionReturnedDefer.resolve(e),t._connectionReturnedDefer=null)}this.client._http.request(void 0,"GET","/_matrix/client/versions",void 0,void 0,{prefix:"",localTimeoutMs:15e3}).then((function(){n()}),(function(r){400==r.httpStatus||404==r.httpStatus?t._keepAliveTimer=setTimeout(n,2e3):(e=!0,t._keepAliveTimer=setTimeout(t._pokeKeepAlive.bind(t,e),5e3+Math.floor(5e3*Math.random())),t._updateSyncState("ERROR",{error:r}))}))},g.prototype._processGroupSyncEntry=function(e,t){for(const n of Object.keys(e)){const r=e[n];let i=this.client.store.getGroup(n);const o=null===i;null===i&&(i=this.createGroup(n)),r.profile&&i.setProfile(r.profile.name,r.profile.avatar_url),r.inviter&&i.setInviter({userId:r.inviter}),i.setMyMembership(t),o&&this.client.emit("Group",i)}},g.prototype._mapSyncResponseToRoomArray=function(e){const t=this.client,n=this;return a.keys(e).map((function(r){const i=e[r];let o=t.store.getRoom(r),s=!1;return o||(o=n.createRoom(r),s=!0),i.room=o,i.isBrandNewRoom=s,i}))},g.prototype._mapSyncEventsFormat=function(e,t){if(!e||!a.isArray(e.events))return[];const n=this.client.getEventMapper();return e.events.map((function(e){return t&&(e.room_id=t.roomId),n(e)}))},g.prototype._resolveInvites=function(e){if(!e||!this.opts.resolveInvitesToProfiles)return;const t=this.client;e.getMembersWithMembership("invite").forEach((function(n){if(n._requestedProfileInfo)return;n._requestedProfileInfo=!0;const r=t.getUser(n.userId);let i;i=r?Promise.resolve({avatar_url:r.avatarUrl,displayname:r.displayName}):t.getProfileInfo(n.userId),i.then((function(t){const r=n.events.member;"invite"===r.getContent().membership&&(r.getContent().avatar_url=t.avatar_url,r.getContent().displayname=t.displayname,n.setMembershipEvent(r,e.currentState))}),(function(e){}))}))},g.prototype._processRoomEvents=function(e,t,n){const r=e.getLiveTimeline(),i=0==r.getEvents().length;if(i){for(const e of t)this.client.getPushActionsForEvent(e);r.initialiseState(t)}this._resolveInvites(e),e.recalculate(),i||(e.oldState.setStateEvents(t||[]),e.currentState.setStateEvents(t||[])),e.addLiveEvents(n||[])},g.prototype._processEventsForNotifs=function(e,t){if(this.client.getNotifTimelineSet())for(let e=0;e<t.length;e++){const n=this.client.getPushActionsForEvent(t[e]);n&&n.notify&&n.tweaks&&n.tweaks.highlight&&this._notifEvents.push(t[e])}},g.prototype._getGuestFilter=function(){return this.client._guestRooms?JSON.stringify({room:{timeline:{limit:20}}}):"{}"},g.prototype._updateSyncState=function(e,t){const n=this._syncState;this._syncState=e,this._syncStateData=t,this.client.emit("sync",this._syncState,n,t)},g.prototype._onOnline=function(){p("Browser thinks we are back online"),this._startKeepAlives(0)}}).call(this,n(6))},function(e,t,n){"use strict";var r=n(16);Object.defineProperty(t,"__esModule",{value:!0}),t.Relations=void 0;var i=r(n(1)),o=n(10),s=n(19);class a extends o.EventEmitter{constructor(e,t,n){super(),(0,i.default)(this,"_onEventStatus",(e,t)=>{e.isSending()?t===s.EventStatus.CANCELLED&&(e.removeListener("Event.status",this._onEventStatus),this._removeEvent(e)):e.removeListener("Event.status",this._onEventStatus)}),(0,i.default)(this,"_onBeforeRedaction",e=>{this._relations.has(e)&&(this._relations.delete(e),"m.annotation"===this.relationType?this._removeAnnotationFromAggregation(e):"m.replace"===this.relationType&&this._targetEvent&&this._targetEvent.makeReplaced(this.getLastReplacement()),e.removeListener("Event.beforeRedaction",this._onBeforeRedaction),this.emit("Relations.redaction",e))}),this.relationType=e,this.eventType=t,this._relations=new Set,this._annotationsByKey={},this._annotationsBySender={},this._sortedAnnotationsByKey=[],this._targetEvent=null}addEvent(e){if(this._relations.has(e))return;const t=e.getRelation();if(!t)return void console.error("Event must have relation info");const n=t.rel_type,r=e.getType();this.relationType===n&&this.eventType===r?(e.isSending()&&e.on("Event.status",this._onEventStatus),this._relations.add(e),"m.annotation"===this.relationType?this._addAnnotationToAggregation(e):"m.replace"===this.relationType&&this._targetEvent&&this._targetEvent.makeReplaced(this.getLastReplacement()),e.on("Event.beforeRedaction",this._onBeforeRedaction),this.emit("Relations.add",e)):console.error("Event relation info doesn't match this container")}_removeEvent(e){if(!this._relations.has(e))return;const t=e.getRelation();if(!t)return void console.error("Event must have relation info");const n=t.rel_type,r=e.getType();this.relationType===n&&this.eventType===r?(this._relations.delete(e),"m.annotation"===this.relationType?this._removeAnnotationFromAggregation(e):"m.replace"===this.relationType&&this._targetEvent&&this._targetEvent.makeReplaced(this.getLastReplacement()),this.emit("Relations.remove",e)):console.error("Event relation info doesn't match this container")}getRelations(){return[...this._relations]}_addAnnotationToAggregation(e){const{key:t}=e.getRelation();if(!t)return;let n=this._annotationsByKey[t];n||(n=this._annotationsByKey[t]=new Set,this._sortedAnnotationsByKey.push([t,n])),n.add(e),this._sortedAnnotationsByKey.sort((e,t)=>{const n=e[1];return t[1].size-n.size});const r=e.getSender();let i=this._annotationsBySender[r];i||(i=this._annotationsBySender[r]=new Set),i.add(e)}_removeAnnotationFromAggregation(e){const{key:t}=e.getRelation();if(!t)return;const n=this._annotationsByKey[t];n&&(n.delete(e),this._sortedAnnotationsByKey.sort((e,t)=>{const n=e[1];return t[1].size-n.size}));const r=e.getSender(),i=this._annotationsBySender[r];i&&i.delete(e)}getSortedAnnotationsByKey(){return"m.annotation"!==this.relationType?null:this._sortedAnnotationsByKey}getAnnotationsBySender(){return"m.annotation"!==this.relationType?null:this._annotationsBySender}getLastReplacement(){if("m.replace"!==this.relationType)return null;if(!this._targetEvent)return null;const e=this._targetEvent.getServerAggregatedRelation("m.replace"),t=e&&e.origin_server_ts;return this.getRelations().reduce((e,n)=>n.getSender()!==this._targetEvent.getSender()?e:t&&t>n.getTs()?e:e&&e.getTs()>n.getTs()?e:n,null)}setTargetEvent(e){if(!this._targetEvent&&(this._targetEvent=e,"m.replace"===this.relationType)){const e=this.getLastReplacement();e&&this._targetEvent.makeReplaced(e)}}}t.Relations=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RoomSummary=function(e,t){this.roomId=e,this.info=t}},function(e,t,n){"use strict";var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.SearchResult=s;var i=r(n(8)),o=n(279);function s(e,t){this.rank=e,this.context=t}s.fromJson=function(e,t){const n=e.context||{},r=n.events_before||[],a=n.events_after||[],f=new o.EventContext(t(e.result));return f.setPaginateToken(n.start,!0),f.addEvents(i.map(r,t),!0),f.addEvents(i.map(a,t),!1),f.setPaginateToken(n.end,!1),new s(e.rank,f)}},function(e,t,n){"use strict";function r(e){this._timeline=[e],this._ourEventIndex=0,this._paginateTokens={b:null,f:null},this._paginateRequests={b:null,f:null}}Object.defineProperty(t,"__esModule",{value:!0}),t.EventContext=r,r.prototype.getEvent=function(){return this._timeline[this._ourEventIndex]},r.prototype.getTimeline=function(){return this._timeline},r.prototype.getOurEventIndex=function(){return this._ourEventIndex},r.prototype.getPaginateToken=function(e){return this._paginateTokens[e?"b":"f"]},r.prototype.setPaginateToken=function(e,t){this._paginateTokens[t?"b":"f"]=e},r.prototype.addEvents=function(e,t){t?(this._timeline=e.concat(this._timeline),this._ourEventIndex+=e.length):this._timeline=this._timeline.concat(e)}},function(e,t,n){"use strict";function r(){this.fromToken=null}Object.defineProperty(t,"__esModule",{value:!0}),t.StubStore=r,r.prototype={isNewlyCreated:function(){return Promise.resolve(!0)},getSyncToken:function(){return this.fromToken},setSyncToken:function(e){this.fromToken=e},storeGroup:function(e){},getGroup:function(e){return null},getGroups:function(){return[]},storeRoom:function(e){},getRoom:function(e){return null},getRooms:function(){return[]},removeRoom:function(e){},getRoomSummaries:function(){return[]},storeUser:function(e){},getUser:function(e){return null},getUsers:function(){return[]},scrollback:function(e,t){return[]},storeEvents:function(e,t,n,r){},storeFilter:function(e){},getFilter:function(e,t){return null},getFilterIdByName:function(e){return null},setFilterIdByName:function(e,t){},storeAccountDataEvents:function(e){},getAccountData:function(e){},setSyncData:function(e){return Promise.resolve()},wantsSave:function(){return!1},save:function(){},startup:function(){return Promise.resolve()},getSavedSync:function(){return Promise.resolve(null)},getSavedSyncToken:function(){return Promise.resolve(null)},deleteAllData:function(){return Promise.resolve()},getOutOfBandMembers:function(){return Promise.resolve(null)},setOutOfBandMembers:function(){return Promise.resolve()},clearOutOfBandMembers:function(){return Promise.resolve()},getClientOptions:function(){return Promise.resolve()},storeClientOptions:function(){return Promise.resolve()}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RoomList=void 0;var r=n(33);t.RoomList=class{constructor(e){this._cryptoStore=e,this._roomEncryption={}}async init(){await this._cryptoStore.doTxn("readwrite",[r.IndexedDBCryptoStore.STORE_ROOMS],e=>{this._cryptoStore.getEndToEndRooms(e,e=>{this._roomEncryption=e})})}getRoomEncryption(e){return this._roomEncryption[e]||null}isRoomEncrypted(e){return Boolean(this.getRoomEncryption(e))}async setRoomEncryption(e,t){this._roomEncryption[e]=t,await this._cryptoStore.doTxn("readwrite",[r.IndexedDBCryptoStore.STORE_ROOMS],n=>{this._cryptoStore.storeEndToEndRoom(e,t,n)})}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LocalStorageCryptoStore=void 0;var r=n(4),i=n(71);function o(e){return"crypto.sessions/"+e}function s(e){return"crypto.session.problems/"+e}function a(e,t){return"crypto.inboundgroupsessions/"+e+"/"+t}function f(e,t){return"crypto.inboundgroupsessions.withheld/"+e+"/"+t}function c(e){return"crypto.rooms/"+e}class u extends i.MemoryCryptoStore{constructor(e){super(),this.store=e}static exists(e){const t=e.length;for(let n=0;n<t;n++)if(e.key(n).startsWith("crypto."))return!0;return!1}countEndToEndSessions(e,t){let n=0;for(let e=0;e<this.store.length;++e)this.store.key(e).startsWith(o(""))&&++n;t(n)}_getEndToEndSessions(e,t,n){const r=l(this.store,o(e)),i={};for(const[e,t]of Object.entries(r||{}))i[e]="string"==typeof t?{session:t}:t;return i}getEndToEndSession(e,t,n,r){r(this._getEndToEndSessions(e)[t]||{})}getEndToEndSessions(e,t,n){n(this._getEndToEndSessions(e)||{})}getAllEndToEndSessions(e,t){for(let e=0;e<this.store.length;++e)if(this.store.key(e).startsWith(o(""))){const n=this.store.key(e).split("/")[1];for(const e of Object.values(this._getEndToEndSessions(n)))t(e)}}storeEndToEndSession(e,t,n,r){const i=this._getEndToEndSessions(e)||{};i[t]=n,d(this.store,o(e),i)}async storeEndToEndSessionProblem(e,t,n){const r=s(e),i=l(this.store,r)||[];i.push({type:t,fixed:n,time:Date.now()}),i.sort((e,t)=>e.time-t.time),d(this.store,r,i)}async getEndToEndSessionProblem(e,t){const n=s(e),r=l(this.store,n)||[];if(!r.length)return null;const i=r[r.length-1];for(const e of r)if(e.time>t)return Object.assign({},e,{fixed:i.fixed});return i.fixed?null:i}async filterOutNotifiedErrorDevices(e){const t=l(this.store,"crypto.notified_error_devices")||{},n=[];for(const r of e){const{userId:e,deviceInfo:i}=r;e in t?i.deviceId in t[e]||(n.push(r),t[e][i.deviceId]=!0):(n.push(r),t[e]={[i.deviceId]:!0})}return d(this.store,"crypto.notified_error_devices",t),n}getEndToEndInboundGroupSession(e,t,n,r){r(l(this.store,a(e,t)),l(this.store,f(e,t)))}getAllEndToEndInboundGroupSessions(e,t){for(let e=0;e<this.store.length;++e){const n=this.store.key(e);n.startsWith("crypto.inboundgroupsessions/")&&t({senderKey:n.substr("crypto.inboundgroupsessions/".length,43),sessionId:n.substr("crypto.inboundgroupsessions/".length+44),sessionData:l(this.store,n)})}t(null)}addEndToEndInboundGroupSession(e,t,n,r){l(this.store,a(e,t))||this.storeEndToEndInboundGroupSession(e,t,n,r)}storeEndToEndInboundGroupSession(e,t,n,r){d(this.store,a(e,t),n)}storeEndToEndInboundGroupSessionWithheld(e,t,n,r){d(this.store,f(e,t),n)}getEndToEndDeviceData(e,t){t(l(this.store,"crypto.device_data"))}storeEndToEndDeviceData(e,t){d(this.store,"crypto.device_data",e)}storeEndToEndRoom(e,t,n){d(this.store,c(e),t)}getEndToEndRooms(e,t){const n={},r=c("");for(let e=0;e<this.store.length;++e){const t=this.store.key(e);if(t.startsWith(r)){n[t.substr(r.length)]=l(this.store,t)}}t(n)}getSessionsNeedingBackup(e){const t=l(this.store,"crypto.sessionsneedingbackup")||{},n=[];for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)){const t=r.substr(0,43),i=r.substr(44);if(this.getEndToEndInboundGroupSession(t,i,null,e=>{n.push({senderKey:t,sessionId:i,sessionData:e})}),e&&r.length>=e)break}return Promise.resolve(n)}countSessionsNeedingBackup(){const e=l(this.store,"crypto.sessionsneedingbackup")||{};return Promise.resolve(Object.keys(e).length)}unmarkSessionsNeedingBackup(e){const t=l(this.store,"crypto.sessionsneedingbackup")||{};for(const n of e)delete t[n.senderKey+"/"+n.sessionId];return d(this.store,"crypto.sessionsneedingbackup",t),Promise.resolve()}markSessionsNeedingBackup(e){const t=l(this.store,"crypto.sessionsneedingbackup")||{};for(const n of e)t[n.senderKey+"/"+n.sessionId]=!0;return d(this.store,"crypto.sessionsneedingbackup",t),Promise.resolve()}deleteAllData(){return this.store.removeItem("crypto.account"),Promise.resolve()}getAccount(e,t){t(l(this.store,"crypto.account"))}storeAccount(e,t){d(this.store,"crypto.account",t)}getCrossSigningKeys(e,t){t(l(this.store,"crypto.cross_signing_keys"))}storeCrossSigningKeys(e,t){d(this.store,"crypto.cross_signing_keys",t)}doTxn(e,t,n){return Promise.resolve(n(null))}}function l(e,t){try{return JSON.parse(e.getItem(t))}catch(e){r.logger.log("Error: Failed to get key %s: %s",t,e.stack||e),r.logger.log(e.stack)}return null}function d(e,t,n){e.setItem(t,JSON.stringify(n))}t.LocalStorageCryptoStore=u},function(e,t,n){"use strict";var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.upgradeDatabase=function(e,t){i.logger.log(`Upgrading IndexedDBCryptoStore from version ${t}`+" to 9"),t<1&&function(e){const t=e.createObjectStore("outgoingRoomKeyRequests",{keyPath:"requestId"});t.createIndex("session",["requestBody.room_id","requestBody.session_id"]),t.createIndex("state","state")}(e);t<2&&e.createObjectStore("account");if(t<3){e.createObjectStore("sessions",{keyPath:["deviceKey","sessionId"]}).createIndex("deviceKey","deviceKey")}t<4&&e.createObjectStore("inbound_group_sessions",{keyPath:["senderCurve25519Key","sessionId"]});t<5&&e.createObjectStore("device_data");t<6&&e.createObjectStore("rooms");t<7&&e.createObjectStore("sessions_needing_backup",{keyPath:["senderCurve25519Key","sessionId"]});t<8&&e.createObjectStore("inbound_group_sessions_withheld",{keyPath:["senderCurve25519Key","sessionId"]});if(t<9){e.createObjectStore("session_problems",{keyPath:["deviceKey","time"]}).createIndex("deviceKey","deviceKey"),e.createObjectStore("notified_error_devices",{keyPath:["userId","deviceId"]})}},t.Backend=t.VERSION=void 0;var i=n(4),o=r(n(8));t.VERSION=9;function s(e,t){e._mx_abortexception=t;try{e.abort()}catch(t){}}function a(e){return new Promise((t,n)=>{e.oncomplete=()=>{void 0!==e._mx_abortexception&&n(e._mx_abortexception),t()},e.onerror=t=>{void 0!==e._mx_abortexception?n(e._mx_abortexception):(i.logger.log("Error performing indexeddb txn",t),n(t.target.error))},e.onabort=t=>{void 0!==e._mx_abortexception?n(e._mx_abortexception):(i.logger.log("Error performing indexeddb txn",t),n(t.target.error))}})}t.Backend=class{constructor(e){this._db=e,e.onversionchange=t=>{i.logger.log(`versionchange for indexeddb ${this._dbName}: closing`),e.close()}}getOrAddOutgoingRoomKeyRequest(e){const t=e.requestBody;return new Promise((n,r)=>{const o=this._db.transaction("outgoingRoomKeyRequests","readwrite");o.onerror=r,this._getOutgoingRoomKeyRequest(o,t,r=>{if(r)return i.logger.log("already have key request outstanding for "+`${t.room_id} / ${t.session_id}: `+"not sending another"),void n(r);i.logger.log(`enqueueing key request for ${t.room_id} / `+t.session_id),o.oncomplete=()=>{n(e)},o.objectStore("outgoingRoomKeyRequests").add(e)})})}getOutgoingRoomKeyRequest(e){return new Promise((t,n)=>{const r=this._db.transaction("outgoingRoomKeyRequests","readonly");r.onerror=n,this._getOutgoingRoomKeyRequest(r,e,e=>{t(e)})})}_getOutgoingRoomKeyRequest(e,t,n){e.objectStore("outgoingRoomKeyRequests").index("session").openCursor([t.room_id,t.session_id]).onsuccess=e=>{const r=e.target.result;if(!r)return void n(null);const i=r.value;o.deepCompare(i.requestBody,t)?n(i):r.continue()}}getOutgoingRoomKeyRequestByState(e){if(0===e.length)return Promise.resolve(null);let t,n=0;const r=this._db.transaction("outgoingRoomKeyRequests","readonly"),i=r.objectStore("outgoingRoomKeyRequests"),o=e[n];return i.index("state").openCursor(o).onsuccess=function r(i){const o=i.target.result;if(o)return void(t=o.value);if(n++,n>=e.length)return;const s=e[n];i.target.source.openCursor(s).onsuccess=r},a(r).then(()=>t)}getOutgoingRoomKeyRequestsByTarget(e,t,n){let r=0;const i=[];const o=this._db.transaction("outgoingRoomKeyRequests","readonly"),s=o.objectStore("outgoingRoomKeyRequests"),f=n[r];return s.index("state").openCursor(f).onsuccess=function o(s){const a=s.target.result;if(a){const n=a.value;n.recipients.includes({userId:e,deviceId:t})&&i.push(n),a.continue()}else{if(r++,r>=n.length)return;const e=n[r];s.target.source.openCursor(e).onsuccess=o}},a(o).then(()=>i)}updateOutgoingRoomKeyRequest(e,t,n){let r=null;const o=this._db.transaction("outgoingRoomKeyRequests","readwrite");return o.objectStore("outgoingRoomKeyRequests").openCursor(e).onsuccess=function(e){const o=e.target.result;if(!o)return;const s=o.value;s.state==t?(Object.assign(s,n),o.update(s),r=s):i.logger.warn(`Cannot update room key request from ${t} `+`as it was already updated to ${s.state}`)},a(o).then(()=>r)}deleteOutgoingRoomKeyRequest(e,t){const n=this._db.transaction("outgoingRoomKeyRequests","readwrite");return n.objectStore("outgoingRoomKeyRequests").openCursor(e).onsuccess=e=>{const n=e.target.result;if(!n)return;const r=n.value;r.state==t?n.delete():i.logger.warn(`Cannot delete room key request in state ${r.state} `+`(expected ${t})`)},a(n)}getAccount(e,t){const n=e.objectStore("account").get("-");n.onsuccess=function(){try{t(n.result||null)}catch(t){s(e,t)}}}storeAccount(e,t){e.objectStore("account").put(t,"-")}getCrossSigningKeys(e,t){const n=e.objectStore("account").get("crossSigningKeys");n.onsuccess=function(){try{t(n.result||null)}catch(t){s(e,t)}}}storeCrossSigningKeys(e,t){e.objectStore("account").put(t,"crossSigningKeys")}countEndToEndSessions(e,t){const n=e.objectStore("sessions").count();n.onsuccess=function(){t(n.result)}}getEndToEndSessions(e,t,n){const r=t.objectStore("sessions").index("deviceKey").openCursor(e),i={};r.onsuccess=function(){const e=r.result;if(e)i[e.value.sessionId]={session:e.value.session,lastReceivedMessageTs:e.value.lastReceivedMessageTs},e.continue();else try{n(i)}catch(e){s(t,e)}}}getEndToEndSession(e,t,n,r){const i=n.objectStore("sessions").get([e,t]);i.onsuccess=function(){try{i.result?r({session:i.result.session,lastReceivedMessageTs:i.result.lastReceivedMessageTs}):r(null)}catch(e){s(n,e)}}}getAllEndToEndSessions(e,t){const n=e.objectStore("sessions").openCursor();n.onsuccess=function(){const r=n.result;if(r)t(r.value),r.continue();else try{t(null)}catch(t){s(e,t)}}}storeEndToEndSession(e,t,n,r){r.objectStore("sessions").put({deviceKey:e,sessionId:t,session:n.session,lastReceivedMessageTs:n.lastReceivedMessageTs})}async storeEndToEndSessionProblem(e,t,n){const r=this._db.transaction("session_problems","readwrite");return r.objectStore("session_problems").put({deviceKey:e,type:t,fixed:n,time:Date.now()}),a(r)}async getEndToEndSessionProblem(e,t){let n;const r=this._db.transaction("session_problems","readwrite"),i=r.objectStore("session_problems").index("deviceKey").getAll(e);return i.onsuccess=e=>{const r=i.result;if(!r.length)return void(n=null);r.sort((e,t)=>e.time-t.time);const o=r[r.length-1];for(const e of r)if(e.time>t)return void(n=Object.assign({},e,{fixed:o.fixed}));n=o.fixed?null:o},await a(r),n}async filterOutNotifiedErrorDevices(e){const t=this._db.transaction("notified_error_devices","readwrite").objectStore("notified_error_devices"),n=[];return await Promise.all(e.map(e=>new Promise(r=>{const{userId:i,deviceInfo:o}=e,s=t.get([i,o.deviceId]);s.onsuccess=function(){s.result||(t.put({userId:i,deviceId:o.deviceId}),n.push(e)),r()}}))),n}getEndToEndInboundGroupSession(e,t,n,r){let i=!1,o=!1;const a=n.objectStore("inbound_group_sessions").get([e,t]);a.onsuccess=function(){try{i=a.result?a.result.session:null,!1!==o&&r(i,o)}catch(e){s(n,e)}};const f=n.objectStore("inbound_group_sessions_withheld").get([e,t]);f.onsuccess=function(){try{o=f.result?f.result.session:null,!1!==i&&r(i,o)}catch(e){s(n,e)}}}getAllEndToEndInboundGroupSessions(e,t){const n=e.objectStore("inbound_group_sessions").openCursor();n.onsuccess=function(){const r=n.result;if(r){try{t({senderKey:r.value.senderCurve25519Key,sessionId:r.value.sessionId,sessionData:r.value.session})}catch(t){s(e,t)}r.continue()}else try{t(null)}catch(t){s(e,t)}}}addEndToEndInboundGroupSession(e,t,n,r){const o=r.objectStore("inbound_group_sessions").add({senderCurve25519Key:e,sessionId:t,session:n});o.onerror=n=>{"ConstraintError"===o.error.name?(n.stopPropagation(),n.preventDefault(),i.logger.log("Ignoring duplicate inbound group session: "+e+" / "+t)):s(r,new Error("Failed to add inbound group session: "+o.error))}}storeEndToEndInboundGroupSession(e,t,n,r){r.objectStore("inbound_group_sessions").put({senderCurve25519Key:e,sessionId:t,session:n})}storeEndToEndInboundGroupSessionWithheld(e,t,n,r){r.objectStore("inbound_group_sessions_withheld").put({senderCurve25519Key:e,sessionId:t,session:n})}getEndToEndDeviceData(e,t){const n=e.objectStore("device_data").get("-");n.onsuccess=function(){try{t(n.result||null)}catch(t){s(e,t)}}}storeEndToEndDeviceData(e,t){t.objectStore("device_data").put(e,"-")}storeEndToEndRoom(e,t,n){n.objectStore("rooms").put(t,e)}getEndToEndRooms(e,t){const n={},r=e.objectStore("rooms").openCursor();r.onsuccess=function(){const i=r.result;if(i)n[i.key]=i.value,i.continue();else try{t(n)}catch(t){s(e,t)}}}getSessionsNeedingBackup(e){return new Promise((t,n)=>{const r=[],i=this._db.transaction(["sessions_needing_backup","inbound_group_sessions"],"readonly");i.onerror=n,i.oncomplete=function(){t(r)};const o=i.objectStore("sessions_needing_backup"),s=i.objectStore("inbound_group_sessions"),a=o.openCursor();a.onsuccess=function(){const t=a.result;if(t){const n=s.get(t.key);n.onsuccess=function(){r.push({senderKey:n.result.senderCurve25519Key,sessionId:n.result.sessionId,sessionData:n.result.session})},(!e||r.length<e)&&t.continue()}}})}countSessionsNeedingBackup(e){e||(e=this._db.transaction("sessions_needing_backup","readonly"));const t=e.objectStore("sessions_needing_backup");return new Promise((e,n)=>{const r=t.count();r.onerror=n,r.onsuccess=()=>e(r.result)})}unmarkSessionsNeedingBackup(e,t){t||(t=this._db.transaction("sessions_needing_backup","readwrite"));const n=t.objectStore("sessions_needing_backup");return Promise.all(e.map(e=>new Promise((t,r)=>{const i=n.delete([e.senderKey,e.sessionId]);i.onsuccess=t,i.onerror=r})))}markSessionsNeedingBackup(e,t){t||(t=this._db.transaction("sessions_needing_backup","readwrite"));const n=t.objectStore("sessions_needing_backup");return Promise.all(e.map(e=>new Promise((t,r)=>{const i=n.put({senderCurve25519Key:e.senderKey,sessionId:e.sessionId});i.onsuccess=t,i.onerror=r})))}doTxn(e,t,n){const r=this._db.transaction(t,e),i=a(r),o=n(r);return i.then(()=>o)}}},function(e,t,n){"use strict";(function(e){var r=n(7),i=n(16);Object.defineProperty(t,"__esModule",{value:!0}),t.isCryptoAvailable=function(){return Boolean(e.Olm)},t.Crypto=C,t.verificationMethods=void 0;var o=i(n(78)),s=n(10),a=n(76),f=n(4),c=r(n(8)),u=n(136),l=r(n(21)),d=n(287),h=n(48),p=r(n(137)),g=n(138),m=n(288),_=n(289),y=n(33),b=n(290),v=n(291),A=n(140),w=n(141),E=n(80),S=n(295),k=n(296),I=r(n(46));const R=h.DeviceInfo.DeviceVerification,T={[b.ScanQRCode.NAME]:b.ScanQRCode,[b.ShowQRCode.NAME]:b.ShowQRCode,[v.SAS.NAME]:v.SAS},O={QR_CODE_SCAN:b.ScanQRCode.NAME,QR_CODE_SHOW:b.ShowQRCode.NAME,SAS:v.SAS.NAME};t.verificationMethods=O;function C(e,t,n,r,i,o,s,f){if(this._onDeviceListUserCrossSigningUpdated=this._onDeviceListUserCrossSigningUpdated.bind(this),this._reEmitter=new a.ReEmitter(this),this._baseApis=e,this._sessionStore=t,this._userId=n,this._deviceId=r,this._clientStore=i,this._cryptoStore=o,this._roomList=s,this._verificationMethods=new Map,f)for(const e of f)"string"==typeof e?T[e]&&this._verificationMethods.set(e,T[e]):e.NAME&&this._verificationMethods.set(e.NAME,e);this.backupInfo=null,this.backupKey=null,this._checkedForBackup=!1,this._sendingBackups=!1,this._olmDevice=new u.OlmDevice(o),this._deviceList=new d.DeviceList(e,o,this._olmDevice),this._deviceList.on("userCrossSigningUpdated",this._onDeviceListUserCrossSigningUpdated),this._reEmitter.reEmit(this._deviceList,["crypto.devicesUpdated"]),this._lastOneTimeKeyCheck=null,this._oneTimeKeyCheckInProgress=!1,this._roomEncryptors={},this._roomDecryptors={},this._supportedAlgorithms=c.keys(p.DECRYPTION_CLASSES),this._deviceKeys={},this._globalBlacklistUnverifiedDevices=!1,this._globalErrorOnUnknownDevices=!0,this._outgoingRoomKeyRequestManager=new _.OutgoingRoomKeyRequestManager(e,this._deviceId,this._cryptoStore),this._receivedRoomKeyRequests=[],this._receivedRoomKeyRequestCancellations=[],this._processingRoomKeyRequests=!1,this._lazyLoadMembers=!1,this._roomDeviceTrackingState={},this._lastNewSessionForced={},this._toDeviceVerificationRequests=new Map,this._inRoomVerificationRequests=new Map;const l=this._baseApis._cryptoCallbacks||{};this._crossSigningInfo=new g.CrossSigningInfo(n,l),this._secretStorage=new m.SecretStorage(e,l,this._crossSigningInfo),!l.getCrossSigningKey&&l.getSecretStorageKey&&(l.getCrossSigningKey=async e=>g.CrossSigningInfo.getFromSecretStorage(e,this._secretStorage))}function x(e){if(e._oneTimeKeyCheckInProgress)return;const t=Date.now();if(null!==e._lastOneTimeKeyCheck&&t-e._lastOneTimeKeyCheck<6e4)return;e._lastOneTimeKeyCheck=t;const n=e._olmDevice.maxNumberOfOneTimeKeys(),r=Math.floor(n/2);function i(t){if(r<=t)return Promise.resolve();const n=Math.min(r-t,5);return e._olmDevice.generateOneTimeKeys(n).then(()=>async function(e){const t=await e._olmDevice.getOneTimeKeys(),n={},r=[];for(const i in t.curve25519)if(t.curve25519.hasOwnProperty(i)){const o={key:t.curve25519[i]};n["signed_curve25519:"+i]=o,r.push(e._signObject(o))}await Promise.all(r);const i=await e._baseApis.uploadKeysRequest({one_time_keys:n},{device_id:e._deviceId});return await e._olmDevice.markKeysAsPublished(),i}(e)).then(e=>{if(e.one_time_key_counts&&e.one_time_key_counts.signed_curve25519)return i(e.one_time_key_counts.signed_curve25519);throw new Error("response for uploading keys does not contain one_time_key_counts.signed_curve25519")})}e._oneTimeKeyCheckInProgress=!0,Promise.resolve().then(()=>void 0!==e._oneTimeKeyCount?Promise.resolve(e._oneTimeKeyCount):e._baseApis.uploadKeysRequest({},{device_id:e._deviceId}).then(e=>e.one_time_key_counts.signed_curve25519||0)).then(e=>i(e)).catch(e=>{f.logger.error("Error uploading one-time keys",e.stack||e)}).finally(()=>{e._oneTimeKeyCount=void 0,e._oneTimeKeyCheckInProgress=!1})}c.inherits(C,s.EventEmitter),C.prototype.init=async function(){f.logger.log("Crypto: initialising Olm..."),await e.Olm.init(),f.logger.log("Crypto: initialising Olm device..."),await this._olmDevice.init(),f.logger.log("Crypto: loading device list..."),await this._deviceList.load(),this._deviceKeys["ed25519:"+this._deviceId]=this._olmDevice.deviceEd25519Key,this._deviceKeys["curve25519:"+this._deviceId]=this._olmDevice.deviceCurve25519Key,f.logger.log("Crypto: fetching own devices...");let t=this._deviceList.getRawStoredDevicesForUser(this._userId);if(t||(t={}),!t[this._deviceId]){f.logger.log("Crypto: adding this device to the store...");const e={keys:this._deviceKeys,algorithms:this._supportedAlgorithms,verified:R.VERIFIED,known:!0};t[this._deviceId]=e,this._deviceList.storeDevicesForUser(this._userId,t),this._deviceList.saveIfDirty()}await this._cryptoStore.doTxn("readonly",[y.IndexedDBCryptoStore.STORE_ACCOUNT],e=>{this._cryptoStore.getCrossSigningKeys(e,e=>{e&&(f.logger.log("Loaded cross-signing public keys from crypto store"),this._crossSigningInfo.setKeys(e))})}),this._deviceList.startTrackingDeviceList(this._userId),f.logger.log("Crypto: checking for key backup..."),this._checkAndStartKeyBackup()},C.prototype.createRecoveryKeyFromPassphrase=async function(t){const n=new e.Olm.PkDecryption;try{const e={};if(t){const r=await(0,A.keyFromPassphrase)(t);e.passphrase={algorithm:"m.pbkdf2",iterations:r.iterations,salt:r.salt},e.pubkey=n.init_with_private_key(r.key)}else e.pubkey=n.generate_key();const r=n.get_private_key();return[e,(0,w.encodeRecoveryKey)(r),r]}finally{n&&n.free()}},C.prototype.bootstrapSecretStorage=async function({authUploadDeviceSigningKeys:e,createSecretStorageKey:t=(async()=>{}),keyBackupInfo:n}={}){f.logger.log("Bootstrapping Secure Secret Storage");let r={};const i=Object.assign({},this._baseApis._cryptoCallbacks);try{const o=await this._crossSigningInfo.isStoredInSecretStorage(this._secretStorage);if(this._crossSigningInfo.getId()&&o?f.logger.log("Cross signing keys are present in secret storage"):(f.logger.log("Cross-signing public and/or private keys not found, checking secret storage for private keys"),o?(f.logger.log("Cross-signing private keys found in secret storage"),await this.checkOwnCrossSigningTrust()):(f.logger.log("Cross-signing private keys not found in secret storage, creating new keys"),this._baseApis._cryptoCallbacks.saveCrossSigningKeys=e=>r=e,this._baseApis._cryptoCallbacks.getCrossSigningKey=e=>r[e],await this.resetCrossSigningKeys(g.CrossSigningLevel.MASTER,{authUploadDeviceSigningKeys:e}))),await this.hasSecretStorageKey())f.logger.log("Have secret storage key");else{let e;if(n){f.logger.log("Secret storage default key not found, using key backup key");const t={pubkey:n.auth_data.public_key};n.auth_data.private_key_salt&&n.auth_data.private_key_iterations&&(t.passphrase={algorithm:"m.pbkdf2",iterations:n.auth_data.private_key_iterations,salt:n.auth_data.private_key_salt}),e=await this.addSecretStorageKey(m.SECRET_STORAGE_ALGORITHM_V1,t),this._secretStorage.storePassthrough("m.megolm_backup.v1",e),(await this.checkKeyBackup(n)).trustInfo.usable?(console.log("Adding cross signing signature to key backup"),await this._crossSigningInfo.signObject(n.auth_data,"master"),await this._baseApis._http.authedRequest(void 0,"PUT","/room_keys/version/"+n.version,void 0,n,{prefix:I.PREFIX_UNSTABLE})):console.log("Key backup is NOT TRUSTED: NOT adding cross signing signature")}else{f.logger.log("Secret storage default key not found, creating new key");const n=await t();e=await this.addSecretStorageKey(m.SECRET_STORAGE_ALGORITHM_V1,n)}await this.setDefaultSecretStorageKeyId(e)}Object.keys(r).length&&(f.logger.log("Storing cross-signing private keys in secret storage"),await this._secretStorage.signKey(),i.saveCrossSigningKeys||await g.CrossSigningInfo.storeInSecretStorage(r,this._secretStorage))}finally{this._baseApis._cryptoCallbacks=i}f.logger.log("Secure Secret Storage ready")},C.prototype.addSecretStorageKey=function(e,t,n){return this._secretStorage.addKey(e,t,n)},C.prototype.hasSecretStorageKey=function(e){return this._secretStorage.hasKey(e)},C.prototype.storeSecret=function(e,t,n){return this._secretStorage.store(e,t,n)},C.prototype.getSecret=function(e){return this._secretStorage.get(e)},C.prototype.isSecretStored=function(e,t){return this._secretStorage.isStored(e,t)},C.prototype.requestSecret=function(e,t){return t||(t=Object.keys(this._deviceList.getRawStoredDevicesForUser(this._userId))),this._secretStorage.request(e,t)},C.prototype.getDefaultSecretStorageKeyId=function(){return this._secretStorage.getDefaultKeyId()},C.prototype.setDefaultSecretStorageKeyId=function(e){return this._secretStorage.setDefaultKeyId(e)},C.prototype.checkSecretStoragePrivateKey=function(t,n){let r=null;try{return r=new e.Olm.PkDecryption,r.init_with_private_key(t)===n}finally{r&&r.free()}},C.prototype.checkCrossSigningPrivateKey=function(t,n){let r=null;try{return r=new e.Olm.PkSigning,r.init_with_seed(t)===n}finally{r&&r.free()}},C.prototype.resetCrossSigningKeys=async function(e,{authUploadDeviceSigningKeys:t=(async e=>await e())}={}){f.logger.info(`Resetting cross-signing keys at level ${e}`);const n=Object.assign({},this._crossSigningInfo.keys);try{await this._crossSigningInfo.resetKeys(e),await this._signObject(this._crossSigningInfo.keys.master);const n={};for(const[e,t]of Object.entries(this._crossSigningInfo.keys))n[e+"_key"]=t;await t(async e=>{await this._baseApis.uploadDeviceSigningKeys(e,n)}),await this._cryptoStore.doTxn("readwrite",[y.IndexedDBCryptoStore.STORE_ACCOUNT],e=>{this._cryptoStore.storeCrossSigningKeys(e,this._crossSigningInfo.keys)})}catch(e){throw f.logger.error("Resetting cross-signing keys failed, revert to previous keys",e),this._crossSigningInfo.keys=n,e}this._baseApis.emit("crossSigning.keysChanged",{}),await this._afterCrossSigningLocalKeyChange(),f.logger.info("Cross-signing key reset complete")},C.prototype._afterCrossSigningLocalKeyChange=async function(){const e=this._deviceList.getStoredDevice(this._userId,this._deviceId),t=await this._crossSigningInfo.signDevice(this._userId,e);await this._baseApis.uploadKeySignatures({[this._userId]:{[this._deviceId]:t}});const n={};for(const[e,t]of Object.entries(this._deviceList._crossSigningInfo)){const r=await this._checkForDeviceVerificationUpgrade(e,g.CrossSigningInfo.fromStorage(t,e));r&&(n[e]=r)}const r=this._baseApis._cryptoCallbacks.shouldUpgradeDeviceVerifications;if(Object.keys(n).length>0&&r)try{const e=await r({users:n});if(e)for(const t of e)t in n&&await this._baseApis.setDeviceVerified(t,n[t].crossSigningInfo.getId())}catch(e){f.logger.log("shouldUpgradeDeviceVerifications threw an error: not upgrading",e)}},C.prototype._checkForDeviceVerificationUpgrade=async function(e,t){const n=this._crossSigningInfo.checkUserTrust(t);if(t.firstUse&&!n.verified){const n=this._deviceList.getRawStoredDevicesForUser(e),r=await this._checkForValidDeviceSignature(e,t.keys.master,n);if(r.length)return{devices:r.map(e=>h.DeviceInfo.fromStorage(n[e],e)),crossSigningInfo:t}}},C.prototype._checkForValidDeviceSignature=async function(e,t,n){const r=[];if(n&&t.signatures&&t.signatures[e])for(const i of Object.keys(t.signatures[e])){const[,o]=i.split(":",2);if(o in n&&n[o].verified===R.VERIFIED)try{await l.verifySignature(this._olmDevice,t,e,o,n[o].keys[i]),r.push(o)}catch(e){}}return r},C.prototype.getCrossSigningId=function(e){return this._crossSigningInfo.getId(e)},C.prototype.getStoredCrossSigningForUser=function(e){return this._deviceList.getStoredCrossSigningForUser(e)},C.prototype.checkUserTrust=function(e){const t=this._deviceList.getStoredCrossSigningForUser(e);return t?this._crossSigningInfo.checkUserTrust(t):new g.UserTrustLevel(!1,!1)},C.prototype.checkDeviceTrust=function(e,t){const n=this._deviceList.getStoredDevice(e,t),r=n&&n.isVerified(),i=this._deviceList.getStoredCrossSigningForUser(e);return n&&i?this._crossSigningInfo.checkDeviceTrust(i,n,r):new g.DeviceTrustLevel(!1,!1,r)},C.prototype._onDeviceListUserCrossSigningUpdated=async function(e){if(e===this._userId){const t=this._deviceList.getStoredCrossSigningForUser(e),n=t?t.getId():null,r=this._crossSigningInfo.getId(),i=r!==n;r&&n&&!i?await this.checkOwnCrossSigningTrust():this.emit("crossSigning.keysChanged",{})}else await this._checkDeviceVerifications(e),this.emit("userTrustStatusChanged",e,this.checkUserTrust(e))},C.prototype.checkOwnCrossSigningTrust=async function(){const e=this._userId,t=this._deviceList.getStoredCrossSigningForUser(e);if(!t)return void f.logger.error("Got cross-signing update event for user "+e+" but no new cross-signing information found!");const n=t.getId(),r=this._crossSigningInfo.getId()!==n;if(r){f.logger.info("Got new master public key",n);let e=null;try{if(e=(await this._crossSigningInfo.getCrossSigningKey("master",n))[1],!e)throw new Error("Cross-signing master private key not available")}finally{e&&e.free()}f.logger.info("Got matching private key from callback for new public master key")}const i=this._crossSigningInfo.getId("self_signing"),o=this._crossSigningInfo.getId("user_signing");this._crossSigningInfo.setKeys(t.keys),await this._cryptoStore.doTxn("readwrite",[y.IndexedDBCryptoStore.STORE_ACCOUNT],e=>{this._cryptoStore.storeCrossSigningKeys(e,this._crossSigningInfo.keys)});const s={};if(i!==t.getId("self_signing")){f.logger.info("Got new self-signing key",t.getId("self_signing"));const e=this._deviceList.getStoredDevice(this._userId,this._deviceId),n=await this._crossSigningInfo.signDevice(this._userId,e);s[this._deviceId]=n}o!==t.getId("user_signing")&&f.logger.info("Got new user-signing key",t.getId("user_signing")),r&&(await this._signObject(this._crossSigningInfo.keys.master),s[this._crossSigningInfo.getId()]=this._crossSigningInfo.keys.master),Object.keys(s).length&&await this._baseApis.uploadKeySignatures({[this._userId]:s}),this.emit("userTrustStatusChanged",e,this.checkUserTrust(e)),r&&(this._baseApis.emit("crossSigning.keysChanged",{}),await this._afterCrossSigningLocalKeyChange()),await this.checkKeyBackup()},C.prototype._checkDeviceVerifications=async function(e){if(this._crossSigningInfo.keys.user_signing){const t=this._deviceList.getStoredCrossSigningForUser(e);if(t){const n=await this._checkForDeviceVerificationUpgrade(e,t),r=this._baseApis._cryptoCallbacks.shouldUpgradeDeviceVerifications;if(n&&r){(await r({users:{[e]:n}})).includes(e)&&await this._baseApis.setDeviceVerified(e,t.getId())}}}},C.prototype._checkAndStartKeyBackup=async function(){if(f.logger.log("Checking key backup status..."),this._baseApis.isGuest())return f.logger.log("Skipping key backup check since user is guest"),this._checkedForBackup=!0,null;let e;try{e=await this._baseApis.getKeyBackupVersion()}catch(e){return f.logger.log("Error checking for active key backup",e),e.httpStatus/100==4&&(this._checkedForBackup=!0),null}this._checkedForBackup=!0;const t=await this.isKeyBackupTrusted(e);return t.usable&&!this.backupInfo?(f.logger.log("Found usable key backup v"+e.version+": enabling key backups"),this._baseApis.enableKeyBackup(e)):!t.usable&&this.backupInfo?(f.logger.log("No usable key backup: disabling key backup"),this._baseApis.disableKeyBackup()):t.usable||this.backupInfo?t.usable&&this.backupInfo&&(e.version!==this.backupInfo.version?(f.logger.log("On backup version "+this.backupInfo.version+" but found version "+e.version+": switching."),this._baseApis.disableKeyBackup(),this._baseApis.enableKeyBackup(e)):f.logger.log("Backup version "+e.version+" still current")):f.logger.log("No usable key backup: not enabling key backup"),{backupInfo:e,trustInfo:t}},C.prototype.setTrustedBackupPubKey=async function(e){this._sessionStore.setLocalTrustedBackupPubKey(e),await this.checkKeyBackup()},C.prototype.checkKeyBackup=async function(){return this._checkedForBackup=!1,this._checkAndStartKeyBackup()},C.prototype.isKeyBackupTrusted=async function(e){const t={usable:!1,trusted_locally:!1,sigs:[]};if(!(e&&e.algorithm&&e.auth_data&&e.auth_data.public_key&&e.auth_data.signatures))return f.logger.info("Key backup is absent or missing required data"),t;const n=this._sessionStore.getLocalTrustedBackupPubKey();e.auth_data.public_key===n&&(f.logger.info("Backup public key "+n+" is trusted locally"),t.trusted_locally=!0);const r=e.auth_data.signatures[this._userId]||[];for(const n of Object.keys(r)){const r=n.split(":");if("ed25519"!==r[0]){f.logger.log("Ignoring unknown signature type: "+r[0]);continue}const i={deviceId:r[1]},o=this._crossSigningInfo.getId();if(o===i.deviceId){i.crossSigningId=!0;try{await l.verifySignature(this._olmDevice,e.auth_data,this._userId,i.deviceId,o),i.valid=!0}catch(e){f.logger.warning("Bad signature from cross signing key "+o,e),i.valid=!1}t.sigs.push(i);continue}const s=this._deviceList.getStoredDevice(this._userId,i.deviceId);if(s){i.device=s,i.deviceTrust=await this.checkDeviceTrust(this._userId,i.deviceId);try{await l.verifySignature(this._olmDevice,e.auth_data,this._userId,s.deviceId,s.getFingerprint()),i.valid=!0}catch(t){f.logger.info("Bad signature from key ID "+n+" userID "+this._userId+" device ID "+s.deviceId+" fingerprint: "+s.getFingerprint(),e.auth_data,t),i.valid=!1}}else i.valid=null,f.logger.info("Ignoring signature from unknown key "+n);t.sigs.push(i)}return t.usable=t.sigs.some(e=>e.valid&&(e.device&&e.deviceTrust.isVerified()||e.crossSigningId)),t.usable|=t.trusted_locally,t},C.prototype.enableLazyLoading=function(){this._lazyLoadMembers=!0},C.prototype.registerEventHandlers=function(e){const t=this;e.on("RoomMember.membership",(function(e,n,r){try{t._onRoomMembership(e,n,r)}catch(e){f.logger.error("Error handling membership change:",e)}})),e.on("toDeviceEvent",(function(e){t._onToDeviceEvent(e)})),e.on("Room.timeline",(function(e){t._onTimelineEvent(e)})),e.on("Event.decrypted",(function(e){t._onTimelineEvent(e)}))},C.prototype.start=function(){this._outgoingRoomKeyRequestManager.start()},C.prototype.stop=function(){this._outgoingRoomKeyRequestManager.stop(),this._deviceList.stop()},C.getOlmVersion=function(){return u.OlmDevice.getOlmVersion()},C.prototype.getDeviceEd25519Key=function(){return this._olmDevice.deviceEd25519Key},C.prototype.setGlobalBlacklistUnverifiedDevices=function(e){this._globalBlacklistUnverifiedDevices=e},C.prototype.getGlobalBlacklistUnverifiedDevices=function(){return this._globalBlacklistUnverifiedDevices},C.prototype.setGlobalErrorOnUnknownDevices=function(e){this._globalErrorOnUnknownDevices=e},C.prototype.getGlobalErrorOnUnknownDevices=function(){return this._globalErrorOnUnknownDevices},C.prototype.uploadDeviceKeys=function(){const e=this,t=e._userId,n=e._deviceId,r={algorithms:e._supportedAlgorithms,device_id:n,keys:e._deviceKeys,user_id:t};return e._signObject(r).then(()=>e._baseApis.uploadKeysRequest({device_keys:r},{device_id:n}))},C.prototype.updateOneTimeKeyCount=function(e){if(!isFinite(e))throw new TypeError("Parameter for updateOneTimeKeyCount has to be a number");this._oneTimeKeyCount=e},C.prototype.downloadKeys=function(e,t){return this._deviceList.downloadKeys(e,t)},C.prototype.getStoredDevicesForUser=function(e){return this._deviceList.getStoredDevicesForUser(e)},C.prototype.getStoredDevice=function(e,t){return this._deviceList.getStoredDevice(e,t)},C.prototype.saveDeviceList=function(e){return this._deviceList.saveIfDirty(e)},C.prototype.setDeviceVerification=async function(e,t,n,r,i){void 0===n&&(n=null),void 0===r&&(r=null),void 0===i&&(i=null);const o=this._deviceList.getStoredCrossSigningForUser(e);if(o&&o.getId()===t){if(null!==r||null!==i)throw new Error("Cannot set blocked or known for a cross-signing key");if(!n)throw new Error("Cannot set a cross-signing key as unverified");const s=await this._crossSigningInfo.signUser(o);return s&&await this._baseApis.uploadKeySignatures({[e]:{[t]:s}}),s}const s=this._deviceList.getRawStoredDevicesForUser(e);if(!s||!s[t])throw new Error("Unknown device "+e+":"+t);const a=s[t];let f=a.verified;n?f=R.VERIFIED:null!==n&&f==R.VERIFIED&&(f=R.UNVERIFIED),r?f=R.BLOCKED:null!==r&&f==R.BLOCKED&&(f=R.UNVERIFIED);let c=a.known;if(null!==i&&(c=i),a.verified===f&&a.known===c||(a.verified=f,a.known=c,this._deviceList.storeDevicesForUser(e,s),this._deviceList.saveIfDirty()),n&&e===this._userId){const n=await this._crossSigningInfo.signDevice(e,h.DeviceInfo.fromStorage(a,t));n&&await this._baseApis.uploadKeySignatures({[e]:{[t]:n}})}const u=h.DeviceInfo.fromStorage(a,t);return this.emit("deviceVerificationChanged",e,t,u),u},C.prototype.requestVerificationDM=async function(e,t,n){const r=new S.InRoomChannel(this._baseApis,t,e),i=await this._requestVerificationWithChannel(e,n,r,this._inRoomVerificationRequests);return await i.waitForVerifier()},C.prototype.acceptVerificationDM=function(e,t){if(!S.InRoomChannel.validateEvent(e,this._baseApis))return;const n=e.getSender(),r=this._inRoomVerificationRequests.get(n);if(!r)return;const i=S.InRoomChannel.getTransactionId(e),o=r.get(i);return o?o.beginKeyVerification(t):void 0},C.prototype.requestVerification=async function(e,t,n){n||(n=Object.keys(this._deviceList.getRawStoredDevicesForUser(e)));const r=new k.ToDeviceChannel(this._baseApis,e,n),i=await this._requestVerificationWithChannel(e,t,r,this._toDeviceVerificationRequests);return await i.waitForVerifier()},C.prototype._requestVerificationWithChannel=async function(e,t,n,r){t||(t=[...this._verificationMethods.keys()]);const i=new E.VerificationRequest(n,this._verificationMethods,e,this._baseApis);await i.sendRequest();let o=r.get(e);return o||(o=new Map,r.set(e,o)),o.set(n.transactionId,i),i},C.prototype.beginKeyVerification=function(e,t,n,r=null){let i,o=this._toDeviceVerificationRequests.get(t);if(o||(o=new Map,this._toDeviceVerificationRequests.set(t,o)),r)i=o.get(r);else{r=k.ToDeviceChannel.makeTransactionId();const e=new k.ToDeviceChannel(this._baseApis,t,[n],r,n);i=new E.VerificationRequest(e,this._verificationMethods,t,this._baseApis),o.set(r,i)}if(!i)throw new Error(`No request found for user ${t} with transactionId ${r}`);return i.beginKeyVerification(e,{userId:t,deviceId:n})},C.prototype.getOlmSessionsForUser=async function(e){const t=this.getStoredDevicesForUser(e)||[],n={};for(let e=0;e<t.length;++e){const r=t[e],i=r.getIdentityKey(),o=await this._olmDevice.getSessionInfoForDevice(i);n[r.deviceId]={deviceIdKey:i,sessions:o}}return n},C.prototype.getEventSenderDeviceInfo=function(e){const t=e.getSenderKey(),n=e.getWireContent().algorithm;if(!t||!n)return null;if(e.getForwardingCurve25519KeyChain().length>0)return null;const r=this._deviceList.getDeviceByIdentityKey(n,t);if(null===r)return null;const i=e.getClaimedEd25519Key();return i?i!==r.getFingerprint()?(f.logger.warn("Event "+e.getId()+" claims ed25519 key "+i+"but sender device has key "+r.getFingerprint()),null):r:(f.logger.warn("Event "+e.getId()+" claims no ed25519 key: cannot verify sending device"),null)},C.prototype.forceDiscardSession=function(e){const t=this._roomEncryptors[e];if(void 0===t)throw new Error("Room not encrypted");if(void 0===t.forceDiscardSession)throw new Error("Room encryption algorithm doesn't support session discarding");t.forceDiscardSession()},C.prototype.setRoomEncryption=async function(e,t,n){if(!t.algorithm)return void f.logger.log("Ignoring setRoomEncryption with no algorithm");const r=this._roomList.getRoomEncryption(e);if(r&&JSON.stringify(r)!=JSON.stringify(t))return void f.logger.error("Ignoring m.room.encryption event which requests a change of config in "+e);if(this._roomEncryptors[e])return;let i=null;r||(i=this._roomList.setRoomEncryption(e,t));const o=p.ENCRYPTION_CLASSES[t.algorithm];if(!o)throw new Error("Unable to encrypt with "+t.algorithm);const s=new o({userId:this._userId,deviceId:this._deviceId,crypto:this,olmDevice:this._olmDevice,baseApis:this._baseApis,roomId:e,config:t});this._roomEncryptors[e]=s,i&&await i,this._lazyLoadMembers?f.logger.log("Enabling encryption in "+e):(f.logger.log("Enabling encryption in "+e+"; starting to track device lists for all users therein"),await this.trackRoomDevices(e),this.inhibitDeviceQuery||this._deviceList.refreshOutdatedDeviceLists())},C.prototype.trackRoomDevices=function(e){const t=async()=>{if(!this._roomEncryptors[e])return;const t=this._clientStore.getRoom(e);if(!t)throw new Error(`Unable to start tracking devices in unknown room ${e}`);f.logger.log(`Starting to track devices for room ${e} ...`),(await t.getEncryptionTargetMembers()).forEach(e=>{this._deviceList.startTrackingDeviceList(e.userId)})};let n=this._roomDeviceTrackingState[e];return n||(n=t(),this._roomDeviceTrackingState[e]=n),n},C.prototype.ensureOlmSessionsForUsers=function(e){const t={};for(let n=0;n<e.length;++n){const r=e[n];t[r]=[];const i=this.getStoredDevicesForUser(r)||[];for(let e=0;e<i.length;++e){const n=i[e];n.getIdentityKey()!=this._olmDevice.deviceCurve25519Key&&(n.verified!=R.BLOCKED&&t[r].push(n))}}return l.ensureOlmSessionsForDevices(this._olmDevice,this._baseApis,t)},C.prototype.exportRoomKeys=async function(){const e=[];return await this._cryptoStore.doTxn("readonly",[y.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS],t=>{this._cryptoStore.getAllEndToEndInboundGroupSessions(t,t=>{if(null===t)return;const n=this._olmDevice.exportInboundGroupSession(t.senderKey,t.sessionId,t.sessionData);delete n.first_known_index,n.algorithm=l.MEGOLM_ALGORITHM,e.push(n)})}),e},C.prototype.importRoomKeys=function(e){return Promise.all(e.map(e=>{if(!e.room_id||!e.algorithm)return f.logger.warn("ignoring room key entry with missing fields",e),null;return this._getRoomDecryptor(e.room_id,e.algorithm).importRoomKey(e)}))},C.prototype.scheduleKeyBackupSend=async function(e=1e4){if(!this._sendingBackups){this._sendingBackups=!0;try{const t=Math.random()*e;await(0,c.sleep)(t);let n=0;for(;;){if(!this.backupKey)return;try{if(0===await this._backupPendingKeys(200))return;n=0}catch(e){if(n++,f.logger.log("Key backup request failed",e),e.data&&("M_NOT_FOUND"==e.data.errcode||"M_WRONG_ROOM_KEYS_VERSION"==e.data.errcode))throw await this.checkKeyBackup(),this.emit("crypto.keyBackupFailed",e.data.errcode),e}n&&await(0,c.sleep)(1e3*Math.pow(2,Math.min(n-1,4)))}}finally{this._sendingBackups=!1}}},C.prototype._backupPendingKeys=async function(e){const t=await this._cryptoStore.getSessionsNeedingBackup(e);if(!t.length)return 0;let n=await this._cryptoStore.countSessionsNeedingBackup();this.emit("crypto.keyBackupSessionsRemaining",n);const r={};for(const e of t){const t=e.sessionData.room_id;void 0===r[t]&&(r[t]={sessions:{}});const n=await this._olmDevice.exportInboundGroupSession(e.senderKey,e.sessionId,e.sessionData);n.algorithm=l.MEGOLM_ALGORITHM,delete n.session_id,delete n.room_id;const i=n.first_known_index;delete n.first_known_index;const o=this.backupKey.encrypt(JSON.stringify(n)),s=(n.forwarding_curve25519_key_chain||[]).length,a=this._deviceList.getDeviceByIdentityKey(l.MEGOLM_ALGORITHM,e.senderKey);r[t].sessions[e.sessionId]={first_message_index:i,forwarded_count:s,is_verified:!(!a||!a.isVerified()),session_data:o}}return await this._baseApis.sendKeyBackup(void 0,void 0,this.backupInfo.version,{rooms:r}),await this._cryptoStore.unmarkSessionsNeedingBackup(t),n=await this._cryptoStore.countSessionsNeedingBackup(),this.emit("crypto.keyBackupSessionsRemaining",n),t.length},C.prototype.backupGroupSession=async function(e,t,n,r,i,o,s){if(!this.backupInfo)throw new Error("Key backups are not enabled");await this._cryptoStore.markSessionsNeedingBackup([{senderKey:t,sessionId:r}]),this.scheduleKeyBackupSend()},C.prototype.scheduleAllGroupSessionsForBackup=async function(){await this.flagAllGroupSessionsForBackup(),this.scheduleKeyBackupSend(0)},C.prototype.flagAllGroupSessionsForBackup=async function(){await this._cryptoStore.doTxn("readwrite",[y.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,y.IndexedDBCryptoStore.STORE_BACKUP],e=>{this._cryptoStore.getAllEndToEndInboundGroupSessions(e,t=>{null!==t&&this._cryptoStore.markSessionsNeedingBackup([t],e)})});const e=await this._cryptoStore.countSessionsNeedingBackup();return this.emit("crypto.keyBackupSessionsRemaining",e),e},C.prototype.encryptEvent=async function(e,t){if(!t)throw new Error("Cannot send encrypted messages in unknown rooms");const n=e.getRoomId(),r=this._roomEncryptors[n];if(!r)throw new Error("Room was previously configured to use encryption, but is no longer. Perhaps the homeserver is hiding the configuration event.");this._roomDeviceTrackingState[n]||this.trackRoomDevices(n),await this._roomDeviceTrackingState[n];let i=e.getContent();const o=i["m.relates_to"];o&&(i=Object.assign({},i),delete i["m.relates_to"]);const s=await r.encryptMessage(t,e.getType(),i);o&&(s["m.relates_to"]=o),e.makeEncrypted("m.room.encrypted",s,this._olmDevice.deviceCurve25519Key,this._olmDevice.deviceEd25519Key)},C.prototype.decryptEvent=function(e){if(e.isRedacted())return Promise.resolve({clearEvent:{room_id:e.getRoomId(),type:"m.room.message",content:{}}});const t=e.getWireContent();return this._getRoomDecryptor(e.getRoomId(),t.algorithm).decryptEvent(e)},C.prototype.handleDeviceListChanges=async function(e,t){e.oldSyncToken&&await this._evalDeviceListChanges(t)},C.prototype.requestRoomKey=function(e,t,n=!1){return this._outgoingRoomKeyRequestManager.sendRoomKeyRequest(e,t,n).catch(e=>{f.logger.error("Error requesting key for event",e)})},C.prototype.cancelRoomKeyRequest=function(e){this._outgoingRoomKeyRequestManager.cancelRoomKeyRequest(e).catch(e=>{f.logger.warn("Error clearing pending room key requests",e)})},C.prototype.onCryptoEvent=async function(e){const t=e.getRoomId(),n=e.getContent();try{await this.setRoomEncryption(t,n,!0)}catch(e){f.logger.error("Error configuring encryption in room "+t+":",e)}},C.prototype.onSyncWillProcess=async function(e){e.oldSyncToken||(f.logger.log("Initial sync performed - resetting device tracking state"),this._deviceList.stopTrackingAllDeviceLists(),this._deviceList.startTrackingDeviceList(this._userId),this._roomDeviceTrackingState={})},C.prototype.onSyncCompleted=async function(e){const t=e.nextSyncToken;this._deviceList.setSyncToken(e.nextSyncToken),this._deviceList.saveIfDirty(),this._deviceList.lastKnownSyncToken=t,this._deviceList.startTrackingDeviceList(this._userId),this._deviceList.refreshOutdatedDeviceLists(),e.catchingUp||(x(this),this._processReceivedRoomKeyRequests())},C.prototype._evalDeviceListChanges=async function(e){if(e.changed&&Array.isArray(e.changed)&&e.changed.forEach(e=>{this._deviceList.invalidateUserDeviceList(e)}),e.left&&Array.isArray(e.left)&&e.left.length){const t=new Set(await this._getTrackedE2eUsers());e.left.forEach(e=>{t.has(e)||this._deviceList.stopTrackingDeviceList(e)})}},C.prototype._getTrackedE2eUsers=async function(){const e=[];for(const t of this._getTrackedE2eRooms()){const n=await t.getEncryptionTargetMembers();for(const t of n)e.push(t.userId)}return e},C.prototype._getTrackedE2eRooms=function(){return this._clientStore.getRooms().filter(e=>{if(!this._roomEncryptors[e.roomId])return!1;if(!this._roomDeviceTrackingState[e.roomId])return!1;const t=e.getMyMembership();return"join"===t||"invite"===t})},C.prototype._onToDeviceEvent=function(e){try{f.logger.log(`received to_device ${e.getType()} from: `+`${e.getSender()} id: ${e.getId()}`),"m.room_key"==e.getType()||"m.forwarded_room_key"==e.getType()?this._onRoomKeyEvent(e):"m.room_key_request"==e.getType()?this._onRoomKeyRequestEvent(e):"m.secret.request"===e.getType()?this._secretStorage._onRequestReceived(e):"m.secret.send"===e.getType()?this._secretStorage._onSecretReceived(e):"org.matrix.room_key.withheld"===e.getType()?this._onRoomKeyWithheldEvent(e):e.getContent().transaction_id?this._onKeyVerificationMessage(e):"m.bad.encrypted"===e.getContent().msgtype?this._onToDeviceBadEncrypted(e):e.isBeingDecrypted()&&e.once("Event.decrypted",e=>{this._onToDeviceEvent(e)})}catch(e){f.logger.error("Error handling toDeviceEvent:",e)}},C.prototype._onRoomKeyEvent=function(e){const t=e.getContent();t.room_id&&t.algorithm?(this._checkedForBackup||this._checkAndStartKeyBackup(),this._getRoomDecryptor(t.room_id,t.algorithm).onRoomKeyEvent(e)):f.logger.error("key event is missing fields")},C.prototype._onRoomKeyWithheldEvent=function(e){const t=e.getContent();if(!(("m.no_olm"===t.code||t.room_id&&t.session_id)&&t.algorithm&&t.sender_key))return void f.logger.error("key withheld event is missing fields");f.logger.info(`Got room key withheld event from ${e.getSender()} (${t.sender_key}) `+`for ${t.algorithm}/${t.room_id}/${t.session_id} `+`with reason ${t.code} (${t.reason})`);const n=this._getRoomDecryptor(t.room_id,t.algorithm);if(n.onRoomKeyWithheldEvent&&n.onRoomKeyWithheldEvent(e),!t.room_id){const e=this._getRoomDecryptors(t.algorithm);for(const n of e)n.retryDecryptionFromSender(t.sender_key)}},C.prototype._onKeyVerificationMessage=function(e){if(!k.ToDeviceChannel.validateEvent(e,this._baseApis))return;const t=k.ToDeviceChannel.getTransactionId(e);this._handleVerificationEvent(e,t,this._toDeviceVerificationRequests,e=>{if(!k.ToDeviceChannel.canCreateRequest(k.ToDeviceChannel.getEventType(e)))return;const t=e.getContent(),n=t&&t.from_device;if(!n)return;const r=e.getSender(),i=new k.ToDeviceChannel(this._baseApis,r,[n]);return new E.VerificationRequest(i,this._verificationMethods,r,this._baseApis)})},C.prototype._onTimelineEvent=function(e){if(!S.InRoomChannel.validateEvent(e,this._baseApis))return;const t=S.InRoomChannel.getTransactionId(e);this._handleVerificationEvent(e,t,this._inRoomVerificationRequests,e=>{if(!S.InRoomChannel.canCreateRequest(S.InRoomChannel.getEventType(e)))return;const t=e.getSender(),n=new S.InRoomChannel(this._baseApis,e.getRoomId(),t);return new E.VerificationRequest(n,this._verificationMethods,t,this._baseApis)})},C.prototype._handleVerificationEvent=async function(e,t,n,r){const i=e.getSender();let o=n.get(i),s=!1,a=o&&o.get(t);if(!a){if(a=r(e),!a)return;s=!0,o||(o=new Map,n.set(i,o)),o.set(t,a)}try{const t=!!a.verifier;await a.channel.handleEvent(e,a),!t&&a.verifier&&this._baseApis.emit("crypto.verification.start",a.verifier)}catch(t){console.error("error while handling verification event",e,t)}a.pending?s&&!a.initiatedByMe&&this._baseApis.emit("crypto.verification.request",a):(o.delete(t),0===o.size&&n.delete(i))},C.prototype._onToDeviceBadEncrypted=async function(e){const t=e.getWireContent(),n=e.getSender(),r=t.algorithm,i=t.sender_key,o=()=>{const e=this._getRoomDecryptors(l.MEGOLM_ALGORITHM);for(const t of e)t.retryDecryptionFromSender(i)};if(void 0===n||void 0===i||void 0===i)return;this._lastNewSessionForced[n]=this._lastNewSessionForced[n]||{};const s=this._lastNewSessionForced[n][i]||0;if(s+36e5>Date.now())return f.logger.debug("New session already forced with device "+n+":"+i+" at "+s+": not forcing another"),await this._olmDevice.recordSessionProblem(i,"wedged",!0),void o();const a=this._deviceList.getDeviceByIdentityKey(r,i);if(!a)return f.logger.info("Couldn't find device for identity key "+i+": not re-establishing session"),await this._olmDevice.recordSessionProblem(i,"wedged",!1),void o();const c={};c[n]=[a],await l.ensureOlmSessionsForDevices(this._olmDevice,this._baseApis,c,!0),this._lastNewSessionForced[n][i]=Date.now();const u={algorithm:l.OLM_ALGORITHM,sender_key:this._olmDevice.deviceCurve25519Key,ciphertext:{}};await l.encryptMessageForDevice(u.ciphertext,this._userId,this._deviceId,this._olmDevice,n,a,{type:"m.dummy"}),await this._olmDevice.recordSessionProblem(i,"wedged",!0),o(),await this._baseApis.sendToDevice("m.room.encrypted",{[n]:{[a.deviceId]:u}});const d=await this._outgoingRoomKeyRequestManager.getOutgoingSentRoomKeyRequest(n,a.deviceId);for(const e of d)this.requestRoomKey(e.requestBody,e.recipients,!0)},C.prototype._onRoomMembership=function(e,t,n){const r=t.roomId,i=this._roomEncryptors[r];i&&(this._roomDeviceTrackingState[r]&&("join"==t.membership?(f.logger.log("Join event for "+t.userId+" in "+r),this._deviceList.startTrackingDeviceList(t.userId)):"invite"==t.membership&&this._clientStore.getRoom(r).shouldEncryptForInvitedMembers()&&(f.logger.log("Invite event for "+t.userId+" in "+r),this._deviceList.startTrackingDeviceList(t.userId))),i.onRoomMembership(e,t,n))},C.prototype._onRoomKeyRequestEvent=function(e){const t=e.getContent();if("request"===t.action){const t=new M(e);this._receivedRoomKeyRequests.push(t)}else if("request_cancellation"===t.action){const t=new P(e);this._receivedRoomKeyRequestCancellations.push(t)}},C.prototype._processReceivedRoomKeyRequests=async function(){if(!this._processingRoomKeyRequests){this._processingRoomKeyRequests=!0;try{const e=this._receivedRoomKeyRequests;this._receivedRoomKeyRequests=[];const t=this._receivedRoomKeyRequestCancellations;this._receivedRoomKeyRequestCancellations=[],await Promise.all(e.map(e=>this._processReceivedRoomKeyRequest(e))),await Promise.all(t.map(e=>this._processReceivedRoomKeyRequestCancellation(e)))}catch(e){f.logger.error(`Error processing room key requsts: ${e}`)}finally{this._processingRoomKeyRequests=!1}}},C.prototype._processReceivedRoomKeyRequest=async function(e){const t=e.userId,n=e.deviceId,r=e.requestBody,i=r.room_id,o=r.algorithm;if(f.logger.log(`m.room_key_request from ${t}:${n}`+` for ${i} / ${r.session_id} (id ${e.requestId})`),t!==this._userId){if(!this._roomEncryptors[i])return void f.logger.debug(`room key request for unencrypted room ${i}`);const e=this._roomEncryptors[i],o=this._deviceList.getStoredDevice(t,n);if(!o)return void f.logger.debug(`Ignoring keyshare for unknown device ${t}:${n}`);try{await e.reshareKeyWithDevice(r.sender_key,r.session_id,t,o)}catch(e){f.logger.warn("Failed to re-share keys for session "+r.session_id+" with device "+t+":"+o.deviceId,e)}return}if(!this._roomDecryptors[i])return void f.logger.log(`room key request for unencrypted room ${i}`);const s=this._roomDecryptors[i][o];if(!s)return void f.logger.log(`room key request for unknown alg ${o} in room ${i}`);if(!await s.hasKeysForKeyRequest(e))return void f.logger.log(`room key request for unknown session ${i} / `+r.session_id);e.share=()=>{s.shareKeysWithDevice(e)};const a=this._deviceList.getStoredDevice(t,n);if(a&&a.isVerified())return f.logger.log("device is already verified: sharing keys"),void e.share();this.emit("crypto.roomKeyRequest",e)},C.prototype._processReceivedRoomKeyRequestCancellation=async function(e){f.logger.log(`m.room_key_request cancellation for ${e.userId}:`+`${e.deviceId} (id ${e.requestId})`),this.emit("crypto.roomKeyRequestCancellation",e)},C.prototype._getRoomDecryptor=function(e,t){let n,r;if((e=e||null)&&(n=this._roomDecryptors[e],n||(this._roomDecryptors[e]=n={}),r=n[t],r))return r;const i=p.DECRYPTION_CLASSES[t];if(!i)throw new p.DecryptionError("UNKNOWN_ENCRYPTION_ALGORITHM",'Unknown encryption algorithm "'+t+'".');return r=new i({userId:this._userId,crypto:this,olmDevice:this._olmDevice,baseApis:this._baseApis,roomId:e}),n&&(n[t]=r),r},C.prototype._getRoomDecryptors=function(e){const t=[];for(const n of Object.values(this._roomDecryptors))e in n&&t.push(n[e]);return t},C.prototype._signObject=async function(e){const t=e.signatures||{},n=e.unsigned;delete e.signatures,delete e.unsigned,t[this._userId]=t[this._userId]||{},t[this._userId]["ed25519:"+this._deviceId]=await this._olmDevice.sign(o.default.stringify(e)),e.signatures=t,void 0!==n&&(e.unsigned=n)};class M{constructor(e){const t=e.getContent();this.userId=e.getSender(),this.deviceId=t.requesting_device_id,this.requestId=t.request_id,this.requestBody=t.body||{},this.share=()=>{throw new Error("don't know how to share keys for this request yet")}}}class P{constructor(e){const t=e.getContent();this.userId=e.getSender(),this.deviceId=t.requesting_device_id,this.requestId=t.request_id}}}).call(this,n(6))},function(e,t,n){"use strict";var r=n(7),i=n(4),o=r(n(8)),s=r(n(21)),a=n(48),f=n(79);const c=a.DeviceInfo.DeviceVerification;function u(e){(0,o.polyfillSuper)(this,f.EncryptionAlgorithm,e),this._sessionPrepared=!1,this._prepPromise=null}function l(e){(0,o.polyfillSuper)(this,f.DecryptionAlgorithm,e)}o.inherits(u,f.EncryptionAlgorithm),u.prototype._ensureSession=function(e){if(this._prepPromise)return this._prepPromise;if(this._sessionPrepared)return Promise.resolve();const t=this;return this._prepPromise=t._crypto.downloadKeys(e).then((function(n){return t._crypto.ensureOlmSessionsForUsers(e)})).then((function(){t._sessionPrepared=!0})).finally((function(){t._prepPromise=null})),this._prepPromise},u.prototype.encryptMessage=async function(e,t,n){const r=await e.getEncryptionTargetMembers(),i=o.map(r,(function(e){return e.userId})),a=this;await this._ensureSession(i);const f={room_id:e.roomId,type:t,content:n},u={algorithm:s.OLM_ALGORITHM,sender_key:a._olmDevice.deviceCurve25519Key,ciphertext:{}},l=[];for(let e=0;e<i.length;++e){const t=i[e],n=a._crypto.getStoredDevicesForUser(t);for(let e=0;e<n.length;++e){const r=n[e];r.getIdentityKey()!=a._olmDevice.deviceCurve25519Key&&(r.verified!=c.BLOCKED&&l.push(s.encryptMessageForDevice(u.ciphertext,a._userId,a._deviceId,a._olmDevice,t,r,f)))}}return await Promise.all(l).then(()=>u)},o.inherits(l,f.DecryptionAlgorithm),l.prototype.decryptEvent=async function(e){const t=e.getWireContent(),n=t.sender_key,r=t.ciphertext;if(!r)throw new f.DecryptionError("OLM_MISSING_CIPHERTEXT","Missing ciphertext");if(!(this._olmDevice.deviceCurve25519Key in r))throw new f.DecryptionError("OLM_NOT_INCLUDED_IN_RECIPIENTS","Not included in recipients");const i=r[this._olmDevice.deviceCurve25519Key];let o;try{o=await this._decryptMessage(n,i)}catch(e){throw new f.DecryptionError("OLM_BAD_ENCRYPTED_MESSAGE","Bad Encrypted Message",{sender:n,err:e})}const s=JSON.parse(o);if(s.recipient!=this._userId)throw new f.DecryptionError("OLM_BAD_RECIPIENT","Message was intented for "+s.recipient);if(s.recipient_keys.ed25519!=this._olmDevice.deviceEd25519Key)throw new f.DecryptionError("OLM_BAD_RECIPIENT_KEY","Message not intended for this device",{intended:s.recipient_keys.ed25519,our_key:this._olmDevice.deviceEd25519Key});if(s.sender!=e.getSender())throw new f.DecryptionError("OLM_FORWARDED_MESSAGE","Message forwarded from "+s.sender,{reported_sender:e.getSender()});if(s.room_id!==e.getRoomId())throw new f.DecryptionError("OLM_BAD_ROOM","Message intended for room "+s.room_id,{reported_room:e.room_id});return{clearEvent:s,senderCurve25519Key:n,claimedEd25519Key:(s.keys||{}).ed25519||null}},l.prototype._decryptMessage=async function(e,t){const n=await this._olmDevice.getSessionIdsForDevice(e),r={};for(let o=0;o<n.length;o++){const s=n[o];try{const n=await this._olmDevice.decryptMessage(e,s,t.type,t.body);return i.logger.log("Decrypted Olm message from "+e+" with session "+s),n}catch(n){if(await this._olmDevice.matchesSession(e,s,t.type,t.body))throw new Error("Error decrypting prekey message with existing session id "+s+": "+n.message);r[s]=n.message}}if(0!==t.type){if(0===n.length)throw new Error("No existing sessions");throw new Error("Error decrypting non-prekey message with existing sessions: "+JSON.stringify(r))}let o;try{o=await this._olmDevice.createInboundSession(e,t.type,t.body)}catch(e){throw r["(new)"]=e.message,new Error("Error decrypting prekey message: "+JSON.stringify(r))}return i.logger.log("created new inbound Olm session ID "+o.session_id+" with "+e),o.payload},(0,f.registerAlgorithm)(s.OLM_ALGORITHM,u,l)},function(e,t,n){"use strict";var r=n(7),i=n(4),o=r(n(8)),s=r(n(21)),a=n(79),f=n(136);function c(e){this.sessionId=e,this.useCount=0,this.creationTime=(new Date).getTime(),this.sharedWithDevices={},this.blockedDevicesNotified={}}function u(e){(0,o.polyfillSuper)(this,a.EncryptionAlgorithm,e),this._setupPromise=Promise.resolve(),this._outboundSessions={},this._sessionRotationPeriodMsgs=100,this._sessionRotationPeriodMs=6048e5,void 0!==e.config.rotation_period_ms&&(this._sessionRotationPeriodMs=e.config.rotation_period_ms),void 0!==e.config.rotation_period_msgs&&(this._sessionRotationPeriodMsgs=e.config.rotation_period_msgs)}function l(e){(0,o.polyfillSuper)(this,a.DecryptionAlgorithm,e),this._pendingEvents={},this.olmlib=s}c.prototype.needsRotation=function(e,t){const n=(new Date).getTime()-this.creationTime;return(this.useCount>=e||n>=t)&&(i.logger.log("Rotating megolm session after "+this.useCount+" messages, "+n+"ms"),!0)},c.prototype.markSharedWithDevice=function(e,t,n){this.sharedWithDevices[e]||(this.sharedWithDevices[e]={}),this.sharedWithDevices[e][t]=n},c.prototype.markNotifiedBlockedDevice=function(e,t){this.blockedDevicesNotified[e]||(this.blockedDevicesNotified[e]={}),this.blockedDevicesNotified[e][t]=!0},c.prototype.sharedWithTooManyDevices=function(e){for(const t in this.sharedWithDevices)if(this.sharedWithDevices.hasOwnProperty(t)){if(!e.hasOwnProperty(t))return i.logger.log("Starting new megolm session because we shared with "+t),!0;for(const n in this.sharedWithDevices[t])if(this.sharedWithDevices[t].hasOwnProperty(n)&&!e[t].hasOwnProperty(n))return i.logger.log("Starting new megolm session because we shared with "+t+":"+n),!0}},o.inherits(u,a.EncryptionAlgorithm),u.prototype._ensureOutboundSession=async function(e,t){const n=this;let r;function o(){return r}const s=this._setupPromise.then((async function(o){r=o,r&&r.needsRotation(n._sessionRotationPeriodMsgs,n._sessionRotationPeriodMs)&&(i.logger.log("Starting new megolm session because we need to rotate."),r=null),r&&r.sharedWithTooManyDevices(e)&&(r=null),r||(i.logger.log(`Starting new megolm session for room ${n._roomId}`),r=await n._prepareNewSession(),i.logger.log(`Started new megolm session ${r.sessionId} `+`for room ${n._roomId}`),n._outboundSessions[r.sessionId]=r);const s={};for(const t in e){if(!e.hasOwnProperty(t))continue;const i=e[t];for(const e in i){if(!i.hasOwnProperty(e))continue;const o=i[e];o.getIdentityKey()!=n._olmDevice.deviceCurve25519Key&&(r.sharedWithDevices[t]&&void 0!==r.sharedWithDevices[t][e]||(s[t]=s[t]||[],s[t].push(o)))}}const a=[];await n._shareKeyWithDevices(r,s,a);const c={};for(const e in t){if(!t.hasOwnProperty(e))continue;const n=t[e];for(const t in n)n.hasOwnProperty(t)&&(r.blockedDevicesNotified[e]&&void 0!==r.blockedDevicesNotified[e][t]||(c[e]=c[e]||[],c[e].push(n[t])))}const u=await n._olmDevice.filterOutNotifiedErrorDevices(a);for(const{userId:e,deviceInfo:t}of u)c[e]=c[e]||[],c[e].push({code:"m.no_olm",reason:f.WITHHELD_MESSAGES["m.no_olm"],deviceInfo:t});await n._notifyBlockedDevices(r,c)}));return this._setupPromise=s.then(o,o),s.then(o)},u.prototype._prepareNewSession=async function(){const e=this._olmDevice.createOutboundGroupSession(),t=this._olmDevice.getOutboundGroupSessionKey(e);return await this._olmDevice.addInboundGroupSession(this._roomId,this._olmDevice.deviceCurve25519Key,[],e,t.key,{ed25519:this._olmDevice.deviceEd25519Key}),this._crypto.backupInfo&&this._crypto.backupGroupSession(this._roomId,this._olmDevice.deviceCurve25519Key,[],e,t.key).catch(e=>{i.logger.log("Failed to back up megolm session",e)}),new c(e)},u.prototype._splitUserDeviceMap=function(e,t,n,r,o){const s=[];let a=0,f=0;for(const c of Object.keys(r)){const u=r[c],l=n[c];for(let n=0;n<u.length;n++){const r=u[n],d=r.deviceId;l[d].sessionId?(i.logger.log("share keys with device "+c+":"+d),s[a]||(s[a]=[]),s[a].push({userId:c,deviceInfo:r}),f++):(e.markSharedWithDevice(c,d,t),o.push({userId:c,deviceInfo:r}))}f>20&&(f=0,a++)}return s},u.prototype._splitBlockedDevices=function(e){let t=[];const n=[t];for(const r of Object.keys(e)){const i=e[r];for(const e of i)t.push({userId:r,blockedInfo:e});t.length>20&&(t=[],n.push(t))}return 0===t.length&&n.pop(),n},u.prototype._encryptAndSendKeysToDevices=function(e,t,n,r){const i={},o=[];for(let e=0;e<n.length;e++){const t={algorithm:s.OLM_ALGORITHM,sender_key:this._olmDevice.deviceCurve25519Key,ciphertext:{}},a=n[e],f=a.userId,c=a.deviceInfo,u=c.deviceId;i[f]||(i[f]={}),i[f][u]=t,o.push(s.encryptMessageForDevice(t.ciphertext,this._userId,this._deviceId,this._olmDevice,f,c,r))}return Promise.all(o).then(()=>this._baseApis.sendToDevice("m.room.encrypted",i).then(()=>{for(const n of Object.keys(i))for(const r of Object.keys(i[n]))e.markSharedWithDevice(n,r,t)}))},u.prototype._sendBlockedNotificationsToDevices=async function(e,t,n){const r={};for(const e of t){const t=e.userId,i=e.blockedInfo,o=i.deviceInfo.deviceId,s=Object.assign({},n);s.code=i.code,s.reason=i.reason,"m.no_olm"===s.code&&(delete s.room_id,delete s.session_id),r[t]||(r[t]={}),r[t][o]=s}await this._baseApis.sendToDevice("org.matrix.room_key.withheld",r);for(const t of Object.keys(r))for(const n of Object.keys(r[t]))e.markNotifiedBlockedDevice(t,n)},u.prototype.reshareKeyWithDevice=async function(e,t,n,r){const o=this._outboundSessions[t];if(!o)return void i.logger.debug(`megolm session ${t} not found: not re-sharing keys`);if(void 0===o.sharedWithDevices[n])return void i.logger.debug(`megolm session ${t} never shared with user ${n}`);const a=o.sharedWithDevices[n][r.deviceId];if(void 0===a)return void i.logger.debug("megolm session ID "+t+" never shared with device "+n+":"+r.deviceId);const f=await this._olmDevice.getInboundGroupSessionKey(this._roomId,e,t,a);if(!f)return void i.logger.warn(`No inbound session key found for megolm ${t}: not re-sharing keys`);await s.ensureOlmSessionsForDevices(this._olmDevice,this._baseApis,{[n]:{[r.deviceId]:r}});const c={type:"m.forwarded_room_key",content:{algorithm:s.MEGOLM_ALGORITHM,room_id:this._roomId,session_id:t,session_key:f.key,chain_index:f.chain_index,sender_key:e,sender_claimed_ed25519_key:f.sender_claimed_ed25519_key,forwarding_curve25519_key_chain:f.forwarding_curve25519_key_chain}},u={algorithm:s.OLM_ALGORITHM,sender_key:this._olmDevice.deviceCurve25519Key,ciphertext:{}};await s.encryptMessageForDevice(u.ciphertext,this._userId,this._deviceId,this._olmDevice,n,r,c),await this._baseApis.sendToDevice("m.room.encrypted",{[n]:{[r.deviceId]:u}}),i.logger.debug(`Re-shared key for megolm session ${t} `+`with ${n}:${r.deviceId}`)},u.prototype._shareKeyWithDevices=async function(e,t,n){const r=this._olmDevice.getOutboundGroupSessionKey(e.sessionId),o={type:"m.room_key",content:{algorithm:s.MEGOLM_ALGORITHM,room_id:this._roomId,session_id:e.sessionId,session_key:r.key,chain_index:r.chain_index}},a=await s.ensureOlmSessionsForDevices(this._olmDevice,this._baseApis,t),f=this._splitUserDeviceMap(e,r.chain_index,a,t,n);for(let t=0;t<f.length;t++)try{await this._encryptAndSendKeysToDevices(e,r.chain_index,f[t],o),i.logger.log(`Completed megolm keyshare for ${e.sessionId} `+`in ${this._roomId} (slice ${t+1}/${f.length})`)}catch(n){throw i.logger.log(`megolm keyshare for ${e.sessionId} in ${this._roomId} `+`(slice ${t+1}/${f.length}) failed`),n}},u.prototype._notifyBlockedDevices=async function(e,t){const n={room_id:this._roomId,session_id:e.sessionId,algorithm:s.MEGOLM_ALGORITHM,sender_key:this._olmDevice.deviceCurve25519Key},r=this._splitBlockedDevices(t);for(let t=0;t<r.length;t++)try{await this._sendBlockedNotificationsToDevices(e,r[t],n),i.logger.log(`Completed blacklist notification for ${e.sessionId} `+`in ${this._roomId} (slice ${t+1}/${r.length})`)}catch(n){throw i.logger.log(`blacklist notification for ${e.sessionId} in `+`${this._roomId} (slice ${t+1}/${r.length}) failed`),n}},u.prototype.encryptMessage=async function(e,t,n){const r=this;i.logger.log(`Starting to encrypt event for ${this._roomId}`);const[o,a]=await this._getDevicesInRoom(e);this._crypto.getGlobalErrorOnUnknownDevices()&&r._checkForUnknownDevices(o);const f=await r._ensureOutboundSession(o,a),c={room_id:r._roomId,type:t,content:n},u=r._olmDevice.encryptGroupMessage(f.sessionId,JSON.stringify(c)),l={algorithm:s.MEGOLM_ALGORITHM,sender_key:r._olmDevice.deviceCurve25519Key,ciphertext:u,session_id:f.sessionId,device_id:r._deviceId};return f.useCount++,l},u.prototype.forceDiscardSession=function(){this._setupPromise=this._setupPromise.then(()=>null)},u.prototype._checkForUnknownDevices=function(e){const t={};if(Object.keys(e).forEach(n=>{Object.keys(e[n]).forEach(r=>{const i=e[n][r];i.isUnverified()&&!i.isKnown()&&(t[n]||(t[n]={}),t[n][r]=i)})}),Object.keys(t).length)throw new a.UnknownDeviceError("This room contains unknown devices which have not been verified. We strongly recommend you verify them before continuing.",t)},u.prototype._getDevicesInRoom=async function(e){const t=await e.getEncryptionTargetMembers(),n=o.map(t,(function(e){return e.userId}));let r=this._crypto.getGlobalBlacklistUnverifiedDevices();"boolean"==typeof e.getBlacklistUnverifiedDevices()&&(r=e.getBlacklistUnverifiedDevices());const i=await this._crypto.downloadKeys(n,!1),s={};for(const e in i){if(!i.hasOwnProperty(e))continue;const t=i[e];for(const n in t)if(t.hasOwnProperty(n)&&(t[n].isBlocked()||t[n].isUnverified()&&r)){s[e]||(s[e]={});const r=t[n].isBlocked()?{code:"m.blacklisted",reason:f.WITHHELD_MESSAGES["m.blacklisted"]}:{code:"m.unverified",reason:f.WITHHELD_MESSAGES["m.unverified"]};r.deviceInfo=t[n],s[e][n]=r,delete t[n]}}return[i,s]},o.inherits(l,a.DecryptionAlgorithm);const d={no_olm:"The sender was unable to establish a secure channel.",unknown:"The secure channel with the sender was corrupted."};l.prototype.decryptEvent=async function(e){const t=e.getWireContent();if(!t.sender_key||!t.session_id||!t.ciphertext)throw new a.DecryptionError("MEGOLM_MISSING_FIELDS","Missing fields in input");let n;this._addEventToPendingList(e);try{n=await this._olmDevice.decryptGroupMessage(e.getRoomId(),t.sender_key,t.session_id,t.ciphertext,e.getId(),e.getTs())}catch(n){if("DecryptionError"===n.name)throw n;let r="OLM_DECRYPT_GROUP_MESSAGE_ERROR";throw n&&"OLM.UNKNOWN_MESSAGE_INDEX"===n.message&&(this._requestKeysForEvent(e),r="OLM_UNKNOWN_MESSAGE_INDEX"),new a.DecryptionError(r,n?n.toString():"Unknown Error: Error is undefined",{session:t.sender_key+"|"+t.session_id})}if(null===n){this._requestKeysForEvent(e);const n=await this._olmDevice.sessionMayHaveProblems(t.sender_key,e.getTs()-12e4);if(n){let e=d[n.type]||d.unknown;throw n.fixed&&(e+=" Trying to create a new secure channel and re-requesting the keys."),new a.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID",e,{session:t.sender_key+"|"+t.session_id})}throw new a.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID","The sender's device has not sent us the keys for this message.",{session:t.sender_key+"|"+t.session_id})}this._removeEventFromPendingList(e);const r=JSON.parse(n.result);if(r.room_id!==e.getRoomId())throw new a.DecryptionError("MEGOLM_BAD_ROOM","Message intended for room "+r.room_id);return{clearEvent:r,senderCurve25519Key:n.senderKey,claimedEd25519Key:n.keysClaimed.ed25519,forwardingCurve25519KeyChain:n.forwardingCurve25519KeyChain}},l.prototype._requestKeysForEvent=function(e){const t=e.getWireContent(),n=e.getKeyRequestRecipients(this._userId);this._crypto.requestRoomKey({room_id:e.getRoomId(),algorithm:t.algorithm,sender_key:t.sender_key,session_id:t.session_id},n)},l.prototype._addEventToPendingList=function(e){const t=e.getWireContent(),n=t.sender_key,r=t.session_id;this._pendingEvents[n]||(this._pendingEvents[n]=new Map);const i=this._pendingEvents[n];i.has(r)||i.set(r,new Set),i.get(r).add(e)},l.prototype._removeEventFromPendingList=function(e){const t=e.getWireContent(),n=t.sender_key,r=t.session_id,i=this._pendingEvents[n],o=i&&i.get(r);o&&(o.delete(e),0===o.size&&i.delete(n),0===i.size&&delete this._pendingEvents[n])},l.prototype.onRoomKeyEvent=function(e){const t=e.getContent(),n=t.session_id;let r,s=e.getSenderKey(),a=[],f=!1;if(t.room_id&&n&&t.session_key){if(s){if("m.forwarded_room_key"==e.getType()){if(f=!0,a=t.forwarding_curve25519_key_chain,o.isArray(a)||(a=[]),a=a.slice(),a.push(s),s=t.sender_key,!s)return void i.logger.error("forwarded_room_key event is missing sender_key field");const e=t.sender_claimed_ed25519_key;if(!e)return void i.logger.error("forwarded_room_key_event is missing sender_claimed_ed25519_key field");r={ed25519:e}}else r=e.getKeysClaimed();return i.logger.log(`Received and adding key for megolm session ${s}|${n}`),this._olmDevice.addInboundGroupSession(t.room_id,s,a,n,t.session_key,r,f).then(()=>{this._retryDecryption(s,n).then(e=>{e&&this._crypto.cancelRoomKeyRequest({algorithm:t.algorithm,room_id:t.room_id,session_id:t.session_id,sender_key:s})})}).then(()=>{this._crypto.backupInfo&&this._crypto.backupGroupSession(t.room_id,s,a,t.session_id,t.session_key,r,f).catch(e=>{i.logger.log("Failed to back up megolm session",e)})}).catch(e=>{i.logger.error(`Error handling m.room_key_event: ${e}`)})}i.logger.error("key event has no sender key (not encrypted?)")}else i.logger.error("key event is missing fields")},l.prototype.onRoomKeyWithheldEvent=async function(e){const t=e.getContent(),n=t.sender_key;if("m.no_olm"===t.code){const r=e.getSender();if(await this._olmDevice.getSessionIdForDevice(n))return await this._olmDevice.recordSessionProblem(n,"no_olm",!0),void this.retryDecryptionFromSender(n);const o=this._crypto._deviceList.getDeviceByIdentityKey(t.algorithm,n);if(!o)return i.logger.info("Couldn't find device for identity key "+n+": not establishing session"),await this._olmDevice.recordSessionProblem(n,"no_olm",!1),void this.retryDecryptionFromSender(n);await s.ensureOlmSessionsForDevices(this._olmDevice,this._baseApis,{[r]:[o]},!1);const a={algorithm:s.OLM_ALGORITHM,sender_key:this._olmDevice.deviceCurve25519Key,ciphertext:{}};await s.encryptMessageForDevice(a.ciphertext,this._userId,this._deviceId,this._olmDevice,r,o,{type:"m.dummy"}),await this._olmDevice.recordSessionProblem(n,"no_olm",!0),this.retryDecryptionFromSender(n),await this._baseApis.sendToDevice("m.room.encrypted",{[r]:{[o.deviceId]:a}})}else await this._olmDevice.addInboundGroupSessionWithheld(t.room_id,n,t.session_id,t.code,t.reason)},l.prototype.hasKeysForKeyRequest=function(e){const t=e.requestBody;return this._olmDevice.hasInboundSessionKeys(t.room_id,t.sender_key,t.session_id)},l.prototype.shareKeysWithDevice=function(e){const t=e.userId,n=e.deviceId,r=this._crypto.getStoredDevice(t,n),o=e.requestBody;this.olmlib.ensureOlmSessionsForDevices(this._olmDevice,this._baseApis,{[t]:[r]}).then(e=>e[t][n].sessionId?(i.logger.log("sharing keys for session "+o.sender_key+"|"+o.session_id+" with device "+t+":"+n),this._buildKeyForwardingMessage(o.room_id,o.sender_key,o.session_id)):null).then(e=>{const i={algorithm:s.OLM_ALGORITHM,sender_key:this._olmDevice.deviceCurve25519Key,ciphertext:{}};return this.olmlib.encryptMessageForDevice(i.ciphertext,this._userId,this._deviceId,this._olmDevice,t,r,e).then(()=>{const e={[t]:{[n]:i}};return this._baseApis.sendToDevice("m.room.encrypted",e)})})},l.prototype._buildKeyForwardingMessage=async function(e,t,n){const r=await this._olmDevice.getInboundGroupSessionKey(e,t,n);return{type:"m.forwarded_room_key",content:{algorithm:s.MEGOLM_ALGORITHM,room_id:e,sender_key:t,sender_claimed_ed25519_key:r.sender_claimed_ed25519_key,session_id:n,session_key:r.key,chain_index:r.chain_index,forwarding_curve25519_key_chain:r.forwarding_curve25519_key_chain}}},l.prototype.importRoomKey=function(e){return this._olmDevice.addInboundGroupSession(e.room_id,e.sender_key,e.forwarding_curve25519_key_chain,e.session_id,e.session_key,e.sender_claimed_keys,!0).then(()=>{this._crypto.backupInfo&&this._crypto.backupGroupSession(e.room_id,e.sender_key,e.forwarding_curve25519_key_chain,e.session_id,e.session_key,e.sender_claimed_keys,!0).catch(e=>{i.logger.log("Failed to back up megolm session",e)}),this._retryDecryption(e.sender_key,e.session_id)})},l.prototype._retryDecryption=async function(e,t){const n=this._pendingEvents[e];if(!n)return!0;const r=n.get(t);return!r||(r.delete(t),0===r.size&&this._pendingEvents[e],await Promise.all([...r].map(async e=>{try{await e.attemptDecryption(this._crypto)}catch(e){}})),!(this._pendingEvents[e]||{})[t])},l.prototype.retryDecryptionFromSender=async function(e){const t=this._pendingEvents[e];return i.logger.warn(t),!t||(delete this._pendingEvents[e],await Promise.all([...t].map(async([e,t])=>{await Promise.all([...t].map(async e=>{try{i.logger.warn(e.getId()),await e.attemptDecryption(this._crypto)}catch(e){}}))})),!this._pendingEvents[e])},(0,a.registerAlgorithm)(s.MEGOLM_ALGORITHM,u,l)},function(e,t,n){"use strict";var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.DeviceList=void 0;var i=n(10),o=n(4),s=n(48),a=n(138),f=r(n(21)),c=n(33),u=n(8);class l extends i.EventEmitter{constructor(e,t,n){super(),this._cryptoStore=t,this._devices={},this._crossSigningInfo={},this._userByIdentityKey={},this._deviceTrackingStatus={},this._syncToken=null,this._serialiser=new d(e,n,this),this._keyDownloadsInProgressByUser={},this._dirty=!1,this._savePromise=null,this._resolveSavePromise=null,this._savePromiseTime=null,this._saveTimer=null}async load(){await this._cryptoStore.doTxn("readonly",[c.IndexedDBCryptoStore.STORE_DEVICE_DATA],e=>{this._cryptoStore.getEndToEndDeviceData(e,e=>{this._devices=e?e.devices:{},this._crossSigningInfo=e&&e.crossSigningInfo||{},this._deviceTrackingStatus=e?e.trackingStatus:{},this._syncToken=e?e.syncToken:null,this._userByIdentityKey={};for(const e of Object.keys(this._devices)){const t=this._devices[e];for(const n of Object.keys(t)){const r=t[n].keys["curve25519:"+n];void 0!==r&&(this._userByIdentityKey[r]=e)}}})});for(const e of Object.keys(this._deviceTrackingStatus))2==this._deviceTrackingStatus[e]&&(this._deviceTrackingStatus[e]=1)}stop(){null!==this._saveTimer&&clearTimeout(this._saveTimer)}async saveIfDirty(e){if(!this._dirty)return Promise.resolve(!1);void 0===e&&(e=500);const t=Date.now+e;this._savePromiseTime&&t<this._savePromiseTime&&(clearTimeout(this._saveTimer),this._saveTimer=null,this._savePromiseTime=null);let n=this._savePromise;if(null===n&&(n=new Promise((e,t)=>{this._resolveSavePromise=e}),this._savePromise=n),null===this._saveTimer){const n=this._resolveSavePromise;this._savePromiseTime=t,this._saveTimer=setTimeout(()=>{o.logger.log("Saving device tracking data at token "+this._syncToken),this._savePromiseTime=null,this._saveTimer=null,this._savePromise=null,this._resolveSavePromise=null,this._dirty=!1,this._cryptoStore.doTxn("readwrite",[c.IndexedDBCryptoStore.STORE_DEVICE_DATA],e=>{this._cryptoStore.storeEndToEndDeviceData({devices:this._devices,crossSigningInfo:this._crossSigningInfo,trackingStatus:this._deviceTrackingStatus,syncToken:this._syncToken},e)}).then(()=>{n()})},e)}return n}getSyncToken(){return this._syncToken}setSyncToken(e){this._syncToken=e}downloadKeys(e,t){const n=[],r=[];if(e.forEach(e=>{const i=this._deviceTrackingStatus[e];this._keyDownloadsInProgressByUser[e]?(o.logger.log("downloadKeys: already have a download in progress for "+`${e}: awaiting its result`),r.push(this._keyDownloadsInProgressByUser[e])):(t||3!=i)&&n.push(e)}),0!=n.length){o.logger.log("downloadKeys: downloading for",n);const e=this._doKeyDownload(n);r.push(e)}return 0===r.length&&o.logger.log("downloadKeys: already have all necessary keys"),Promise.all(r).then(()=>this._getDevicesFromStore(e))}_getDevicesFromStore(e){const t={},n=this;return e.map((function(e){t[e]={},(n.getStoredDevicesForUser(e)||[]).map((function(n){t[e][n.deviceId]=n}))})),t}getStoredDevicesForUser(e){const t=this._devices[e];if(!t)return null;const n=[];for(const e in t)t.hasOwnProperty(e)&&n.push(s.DeviceInfo.fromStorage(t[e],e));return n}getRawStoredDevicesForUser(e){return this._devices[e]}getStoredCrossSigningForUser(e){return this._crossSigningInfo[e]?a.CrossSigningInfo.fromStorage(this._crossSigningInfo[e],e):null}storeCrossSigningForUser(e,t){this._crossSigningInfo[e]=t,this._dirty=!0}getStoredDevice(e,t){const n=this._devices[e];if(n&&n[t])return s.DeviceInfo.fromStorage(n[t],t)}getDeviceByIdentityKey(e,t){const n=this._userByIdentityKey[t];if(!n)return null;if(e!==f.OLM_ALGORITHM&&e!==f.MEGOLM_ALGORITHM)return null;const r=this._devices[n];if(!r)return null;for(const e in r){if(!r.hasOwnProperty(e))continue;const n=r[e];for(const r in n.keys){if(!n.keys.hasOwnProperty(r))continue;if(0!==r.indexOf("curve25519:"))continue;if(n.keys[r]==t)return s.DeviceInfo.fromStorage(n,e)}}return null}storeDevicesForUser(e,t){if(void 0!==this._devices[e])for(const[t,n]of Object.entries(this._devices[e])){const e=n.keys["curve25519:"+t];delete this._userByIdentityKey[e]}this._devices[e]=t;for(const[n,r]of Object.entries(t)){const t=r.keys["curve25519:"+n];this._userByIdentityKey[t]=e}this._dirty=!0}startTrackingDeviceList(e){if("string"!=typeof e)throw new Error("userId must be a string; was "+e);this._deviceTrackingStatus[e]||(o.logger.log("Now tracking device list for "+e),this._deviceTrackingStatus[e]=1,this._dirty=!0)}stopTrackingDeviceList(e){this._deviceTrackingStatus[e]&&(o.logger.log("No longer tracking device list for "+e),this._deviceTrackingStatus[e]=0,this._dirty=!0)}stopTrackingAllDeviceLists(){for(const e of Object.keys(this._deviceTrackingStatus))this._deviceTrackingStatus[e]=0;this._dirty=!0}invalidateUserDeviceList(e){this._deviceTrackingStatus[e]&&(o.logger.log("Marking device list outdated for",e),this._deviceTrackingStatus[e]=1,this._dirty=!0)}refreshOutdatedDeviceLists(){this.saveIfDirty();const e=[];for(const t of Object.keys(this._deviceTrackingStatus)){1==this._deviceTrackingStatus[t]&&e.push(t)}return this._doKeyDownload(e)}_setRawStoredDevicesForUser(e,t){if(void 0!==this._devices[e])for(const[t,n]of Object.entries(this._devices[e])){const e=n.keys["curve25519:"+t];delete this._userByIdentityKey[e]}this._devices[e]=t;for(const[n,r]of Object.entries(t)){const t=r.keys["curve25519:"+n];this._userByIdentityKey[t]=e}}setRawStoredCrossSigningForUser(e,t){this._crossSigningInfo[e]=t}_doKeyDownload(e){if(0===e.length)return Promise.resolve();const t=this._serialiser.updateDevicesForUsers(e,this._syncToken).then(()=>{n(!0)},t=>{throw o.logger.error("Error downloading keys for "+e+":",t),n(!1),t});e.forEach(e=>{this._keyDownloadsInProgressByUser[e]=t,1==this._deviceTrackingStatus[e]&&(this._deviceTrackingStatus[e]=2)});const n=n=>{e.forEach(e=>{if(this._dirty=!0,this._keyDownloadsInProgressByUser[e]!==t)return void o.logger.log("Another update in the queue for",e,"- not marking up-to-date");delete this._keyDownloadsInProgressByUser[e],2==this._deviceTrackingStatus[e]&&(n?(this._deviceTrackingStatus[e]=3,o.logger.log("Device list for",e,"now up to date")):this._deviceTrackingStatus[e]=1)}),this.saveIfDirty(),this.emit("crypto.devicesUpdated",e)};return t}}t.DeviceList=l;class d{constructor(e,t,n){this._baseApis=e,this._olmDevice=t,this._deviceList=n,this._downloadInProgress=!1,this._keyDownloadsQueuedByUser={},this._queuedQueryDeferred=null,this._syncToken=null}updateDevicesForUsers(e,t){return e.forEach(e=>{this._keyDownloadsQueuedByUser[e]=!0}),this._queuedQueryDeferred||(this._queuedQueryDeferred=(0,u.defer)()),this._syncToken=t,this._downloadInProgress?(o.logger.log("Queued key download for",e),this._queuedQueryDeferred.promise):this._doQueuedQueries()}_doQueuedQueries(){if(this._downloadInProgress)throw new Error("DeviceListUpdateSerialiser._doQueuedQueries called with request active");const e=Object.keys(this._keyDownloadsQueuedByUser);this._keyDownloadsQueuedByUser={};const t=this._queuedQueryDeferred;this._queuedQueryDeferred=null,o.logger.log("Starting key download for",e),this._downloadInProgress=!0;const n={};return this._syncToken&&(n.token=this._syncToken),this._baseApis.downloadKeysForUsers(e,n).then(t=>{const n=t.device_keys||{},r=t.master_keys||{},i=t.self_signing_keys||{},o=t.user_signing_keys||{};let s=Promise.resolve();for(const t of e)s=s.then((0,u.sleep)(5)).then(()=>this._processQueryResponseForUser(t,n[t],{master:r[t],self_signing:i[t],user_signing:o[t]}));return s}).then(()=>{o.logger.log("Completed key download for "+e),this._downloadInProgress=!1,t.resolve(),this._queuedQueryDeferred&&this._doQueuedQueries()},n=>{o.logger.warn("Error downloading keys for "+e+":",n),this._downloadInProgress=!1,t.reject(n)}),t.promise}async _processQueryResponseForUser(e,t,n,r){o.logger.log("got device keys for "+e+":",t),o.logger.log("got cross-signing keys for "+e+":",n);{const n={},r=this._deviceList.getRawStoredDevicesForUser(e);r&&Object.keys(r).forEach(e=>{const t=s.DeviceInfo.fromStorage(r[e],e);n[e]=t}),await async function(e,t,n,r){let i=!1;for(const e in n)n.hasOwnProperty(e)&&(e in r||(o.logger.log("Device "+t+":"+e+" has been removed"),delete n[e],i=!0));for(const s in r){if(!r.hasOwnProperty(s))continue;const a=r[s];a.user_id===t?a.device_id===s?await h(e,n,a)&&(i=!0):o.logger.warn("Mismatched device_id "+a.device_id+" in keys from "+t+":"+s):o.logger.warn("Mismatched user_id "+a.user_id+" in keys from "+t+":"+s)}return i}(this._olmDevice,e,n,t||{});const i={};Object.keys(n).forEach(e=>{i[e]=n[e].toStorage()}),this._deviceList._setRawStoredDevicesForUser(e,i)}if(n&&(n.master||n.self_signing||n.user_signing)){const t=this._deviceList.getStoredCrossSigningForUser(e)||new a.CrossSigningInfo(e);t.setKeys(n),this._deviceList.setRawStoredCrossSigningForUser(e,t.toStorage()),this._deviceList.emit("userCrossSigningUpdated",e)}}}async function h(e,t,n){if(!n.keys)return!1;const r=n.device_id,i=n.user_id,a="ed25519:"+r,c=n.keys[a];if(!c)return o.logger.warn("Device "+i+":"+r+" has no ed25519 key"),!1;const u=n.unsigned||{},l=n.signatures||{};try{await f.verifySignature(e,n,i,r,c)}catch(e){return o.logger.warn("Unable to verify signature on device "+i+":"+r+":"+e),!1}let d;if(r in t){if(d=t[r],d.getFingerprint()!=c)return o.logger.warn("Ed25519 key for device "+i+":"+r+" has changed"),!1}else t[r]=d=new s.DeviceInfo(r);return d.keys=n.keys||{},d.algorithms=n.algorithms||[],d.unsigned=u,d.signatures=l,!0}},function(e,t,n){"use strict";(function(e){var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.SecretStorage=t.SECRET_STORAGE_ALGORITHM_V1=void 0;var i=n(10),o=n(4),s=r(n(21)),a=n(49);const f="m.secret_storage.v1.curve25519-aes-sha2";t.SECRET_STORAGE_ALGORITHM_V1=f;class c extends i.EventEmitter{constructor(e,t,n){super(),this._baseApis=e,this._cryptoCallbacks=t,this._crossSigningInfo=n,this._requests={},this._incomingRequests={}}async getDefaultKeyId(){const e=await this._baseApis.getAccountDataFromServer("m.secret_storage.default_key");return e?e.key:null}setDefaultKeyId(e){return new Promise(t=>{const n=r=>{"m.secret_storage.default_key"===r.getType()&&r.getContent().key===e&&(this._baseApis.removeListener("accountData",n),t())};this._baseApis.on("accountData",n),this._baseApis.setAccountData("m.secret_storage.default_key",{key:e})})}async addKey(t,n,r){const i={algorithm:t};switch(n||(n={}),n.name&&(i.name=n.name),t){case f:{const t=new e.Olm.PkDecryption;try{const{passphrase:e,pubkey:r}=n;e&&r?(i.passphrase=e,i.pubkey=r):i.pubkey=r||t.generate_key()}finally{t.free()}break}default:throw new Error(`Unknown key algorithm ${n.algorithm}`)}if(!r)do{r=(0,a.randomString)(32)}while(await this._baseApis.getAccountDataFromServer(`m.secret_storage.key.${r}`));return await this._crossSigningInfo.signObject(i,"master"),await this._baseApis.setAccountData(`m.secret_storage.key.${r}`,i),r}async signKey(e){if(e||(e=await this.getDefaultKeyId()),!e)throw new Error("signKey requires a key ID");const t=await this._baseApis.getAccountDataFromServer(`m.secret_storage.key.${e}`);if(!t)throw new Error(`Key ${e} does not exist in account data`);await this._crossSigningInfo.signObject(t,"master"),await this._baseApis.setAccountData(`m.secret_storage.key.${e}`,t)}async hasKey(e){return e||(e=await this.getDefaultKeyId()),!!e&&!!this._baseApis.getAccountDataFromServer("m.secret_storage.key."+e)}async store(t,n,r){const i={};if(!r){const e=await this.getDefaultKeyId();if(!e)throw new Error("No keys specified and no default key present");r=[e]}if(0===r.length)throw new Error("Zero keys given to encrypt with!");for(const t of r){const r=await this._baseApis.getAccountDataFromServer("m.secret_storage.key."+t);if(!r)throw new Error("Unknown key: "+t);switch((0,s.pkVerify)(r,this._crossSigningInfo.getId("master"),this._crossSigningInfo.userId),r.algorithm){case f:{const o=new e.Olm.PkEncryption;try{o.set_recipient_key(r.pubkey),i[t]=o.encrypt(n)}finally{o.free()}break}default:o.logger.warn("unknown algorithm for secret storage key "+t+": "+r.algorithm)}}await this._baseApis.setAccountData(t,{encrypted:i})}storePassthrough(e,t){return this._baseApis.setAccountData(e,{[t]:{passthrough:!0}})}async get(e){const t=await this._baseApis.getAccountDataFromServer(e);if(!t)return;if(!t.encrypted)throw new Error("Content is not encrypted!");const n={};for(const e of Object.keys(t.encrypted)){const r=await this._baseApis.getAccountDataFromServer("m.secret_storage.key."+e),i=t.encrypted[e];switch(r.algorithm){case f:r.pubkey&&i.ciphertext&&i.mac&&i.ephemeral&&(n[e]=r)}}let r,i;try{[r,i]=await this._getSecretStorageKey(n);const e=t.encrypted[r];if(e.passthrough)return i.get_private_key();switch(n[r].algorithm){case f:return i.decrypt(e.ephemeral,e.mac,e.ciphertext)}}finally{i&&i.free()}}async isStored(e,t){const n=await this._baseApis.getAccountDataFromServer(e);if(!n||!n.encrypted)return!1;void 0===t&&(t=!0);for(const e of Object.keys(n.encrypted)){const r=await this._baseApis.getAccountDataFromServer("m.secret_storage.key."+e);if(!r)return!1;const i=n.encrypted[e];switch(t&&(0,s.pkVerify)(r,this._crossSigningInfo.getId("master"),this._crossSigningInfo.userId),r.algorithm){case f:if(r.pubkey&&i.ciphertext&&i.mac&&i.ephemeral)return!0}}return!1}request(e,t){const n=this._baseApis.makeTxnId(),r=this._requests[n]={devices:t},i=new Promise((e,t)=>{r.resolve=e,r.reject=t}),o={name:e,action:"request",requesting_device_id:this._baseApis.deviceId,request_id:n},s={};for(const e of t)s[e]=o;return this._baseApis.sendToDevice("m.secret.request",{[this._baseApis.getUserId()]:s}),{request_id:n,promise:i,cancel:e=>{const i={action:"request_cancellation",requesting_device_id:this._baseApis.deviceId,request_id:n},o={};for(const e of t)o[e]=i;this._baseApis.sendToDevice("m.secret.request",{[this._baseApis.getUserId()]:o}),r.reject(new Error(e||"Cancelled"))}}}async _onRequestReceived(e){const t=e.getSender(),n=e.getContent();if(t!==this._baseApis.getUserId()||!(n.name&&n.action&&n.requesting_device_id&&n.request_id))return;const r=n.requesting_device_id;if("request_cancellation"===n.action)this._incomingRequests[r]&&this._incomingRequests[r][n.request_id]&&(o.logger.info("received request cancellation for secret ("+t+", "+r+", "+n.request_id+")"),this.baseApis.emit("crypto.secrets.requestCancelled",{user_id:t,device_id:r,request_id:n.request_id}));else if("request"===n.action){if(r===this._baseApis.deviceId)return;if(o.logger.info("received request for secret ("+t+", "+r+", "+n.request_id+")"),!this._cryptoCallbacks.onSecretRequested)return;const e=await this._cryptoCallbacks.onSecretRequested({user_id:t,device_id:r,request_id:n.request_id,name:n.name,device_trust:this._baseApis.checkDeviceTrust(t,r)});if(e){const i={type:"m.secret.send",content:{request_id:n.request_id,secret:e}},o={algorithm:s.OLM_ALGORITHM,sender_key:this._baseApis._crypto._olmDevice.deviceCurve25519Key,ciphertext:{}};await s.ensureOlmSessionsForDevices(this._baseApis._crypto._olmDevice,this._baseApis,{[t]:[await this._baseApis.getStoredDevice(t,r)]}),await s.encryptMessageForDevice(o.ciphertext,this._baseApis.getUserId(),this._baseApis.deviceId,this._baseApis._crypto._olmDevice,t,this._baseApis._crypto.getStoredDevice(t,r),i);const a={[t]:{[r]:o}};this._baseApis.sendToDevice("m.room.encrypted",a)}}}_onSecretReceived(e){if(e.getSender()!==this._baseApis.getUserId())return;const t=e.getContent();o.logger.log("got secret share for request ",t.request_id);const n=this._requests[t.request_id];if(n){const r=this._baseApis._crypto._deviceList.getDeviceByIdentityKey(s.OLM_ALGORITHM,e.getSenderKey());if(!r)return void o.logger.log("secret share from unknown device with key",e.getSenderKey());if(!n.devices.includes(r.deviceId))return void o.logger.log("unsolicited secret share from device",r.deviceId);n.resolve(t.secret)}}async _getSecretStorageKey(t){if(!this._cryptoCallbacks.getSecretStorageKey)throw new Error("No getSecretStorageKey callback supplied");const n=await this._cryptoCallbacks.getSecretStorageKey({keys:t});if(!n)throw new Error("getSecretStorageKey callback returned falsey");if(n.length<2)throw new Error("getSecretStorageKey callback returned invalid data");const[r,i]=n;if(!t[r])throw new Error("App returned unknown key from getSecretStorageKey!");switch(t[r].algorithm){case f:{const n=new e.Olm.PkDecryption;let o;try{o=n.init_with_private_key(i)}catch(e){throw n.free(),new Error("getSecretStorageKey callback returned invalid key")}if(o!==t[r].pubkey)throw n.free(),new Error("getSecretStorageKey callback returned incorrect key");return[r,n]}default:throw new Error("Unknown key type: "+t[r].algorithm)}}}t.SecretStorage=c}).call(this,n(6))},function(e,t,n){"use strict";(function(e){var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.OutgoingRoomKeyRequestManager=void 0;var i=n(4),o=r(n(8));const s=0,a=1,f=2,c=3;function u(e){return e.room_id+" / "+e.session_id}function l(e){return"["+o.map(e,e=>`${e.userId}:${e.deviceId}`).join(",")+"]"}t.OutgoingRoomKeyRequestManager=class{constructor(e,t,n){this._baseApis=e,this._deviceId=t,this._cryptoStore=n,this._sendOutgoingRoomKeyRequestsTimer=null,this._sendOutgoingRoomKeyRequestsRunning=!1,this._clientRunning=!1}start(){this._clientRunning=!0,this._startTimer()}stop(){i.logger.log("stopping OutgoingRoomKeyRequestManager"),this._clientRunning=!1}async sendRoomKeyRequest(e,t,n=!1){const r=await this._cryptoStore.getOutgoingRoomKeyRequest(e);if(r)switch(r.state){case c:case s:return;case f:{const e=n?c:a;await this._cryptoStore.updateOutgoingRoomKeyRequest(r.requestId,f,{state:e,cancellationTxnId:this._baseApis.makeTxnId()});break}case a:if(n){const o=c,s=await this._cryptoStore.updateOutgoingRoomKeyRequest(r.requestId,a,{state:o,cancellationTxnId:this._baseApis.makeTxnId(),requestTxnId:this._baseApis.makeTxnId()});if(!s)return await this.sendRoomKeyRequest(e,t,n);try{await this._sendOutgoingRoomKeyRequestCancellation(s,!0)}catch(e){i.logger.error("Error sending room key request cancellation; will retry later.",e)}}break;default:throw new Error("unhandled state: "+r.state)}else await this._cryptoStore.getOrAddOutgoingRoomKeyRequest({requestBody:e,recipients:t,requestId:this._baseApis.makeTxnId(),state:s});this._startTimer()}cancelRoomKeyRequest(e){return this._cryptoStore.getOutgoingRoomKeyRequest(e).then(t=>{if(t)switch(t.state){case f:case c:return;case s:return i.logger.log("deleting unnecessary room key request for "+u(e)),this._cryptoStore.deleteOutgoingRoomKeyRequest(t.requestId,s);case a:return this._cryptoStore.updateOutgoingRoomKeyRequest(t.requestId,a,{state:f,cancellationTxnId:this._baseApis.makeTxnId()}).then(t=>{t?this._sendOutgoingRoomKeyRequestCancellation(t).catch(e=>{i.logger.error("Error sending room key request cancellation; will retry later.",e),this._startTimer()}):i.logger.log("Tried to cancel room key request for "+u(e)+" but it was already cancelled in another tab")});default:throw new Error("unhandled state: "+t.state)}})}getOutgoingSentRoomKeyRequest(e,t){return this._cryptoStore.getOutgoingRoomKeyRequestsByTarget(e,t,[a])}_startTimer(){if(this._sendOutgoingRoomKeyRequestsTimer)return;this._sendOutgoingRoomKeyRequestsTimer=e.setTimeout(()=>{if(this._sendOutgoingRoomKeyRequestsRunning)throw new Error("RoomKeyRequestSend already in progress!");this._sendOutgoingRoomKeyRequestsRunning=!0,this._sendOutgoingRoomKeyRequests().finally(()=>{this._sendOutgoingRoomKeyRequestsRunning=!1}).catch(e=>{i.logger.warn(`error in OutgoingRoomKeyRequestManager: ${e}`)})},500)}_sendOutgoingRoomKeyRequests(){return this._clientRunning?(i.logger.log("Looking for queued outgoing room key requests"),this._cryptoStore.getOutgoingRoomKeyRequestByState([f,c,s]).then(e=>{if(!e)return i.logger.log("No more outgoing room key requests"),void(this._sendOutgoingRoomKeyRequestsTimer=null);let t;switch(e.state){case s:t=this._sendOutgoingRoomKeyRequest(e);break;case f:t=this._sendOutgoingRoomKeyRequestCancellation(e);break;case c:t=this._sendOutgoingRoomKeyRequestCancellation(e,!0)}return t.then(()=>this._sendOutgoingRoomKeyRequests()).catch(e=>{i.logger.error("Error sending room key request; will retry later.",e),this._sendOutgoingRoomKeyRequestsTimer=null,this._startTimer()})})):(this._sendOutgoingRoomKeyRequestsTimer=null,Promise.resolve())}_sendOutgoingRoomKeyRequest(e){i.logger.log(`Requesting keys for ${u(e.requestBody)}`+` from ${l(e.recipients)}`+`(id ${e.requestId})`);const t={action:"request",requesting_device_id:this._deviceId,request_id:e.requestId,body:e.requestBody};return this._sendMessageToDevices(t,e.recipients,e.requestTxnId||e.requestId).then(()=>this._cryptoStore.updateOutgoingRoomKeyRequest(e.requestId,s,{state:a}))}_sendOutgoingRoomKeyRequestCancellation(e,t){i.logger.log("Sending cancellation for key request for "+`${u(e.requestBody)} to `+`${l(e.recipients)} `+`(cancellation id ${e.cancellationTxnId})`);const n={action:"request_cancellation",requesting_device_id:this._deviceId,request_id:e.requestId};return this._sendMessageToDevices(n,e.recipients,e.cancellationTxnId).then(()=>t?this._cryptoStore.updateOutgoingRoomKeyRequest(e.requestId,c,{state:s}):this._cryptoStore.deleteOutgoingRoomKeyRequest(e.requestId,f))}_sendMessageToDevices(e,t,n){const r={};for(const n of t)r[n.userId]||(r[n.userId]={}),r[n.userId][n.deviceId]=e;return this._baseApis.sendToDevice("m.room_key_request",r,n)}}}).call(this,n(6))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ScanQRCode=t.ShowQRCode=void 0;var r=n(139),i=n(34);const o=/^(?:https?:\/\/)?(?:www\.)?matrix\.to\/#\/([#@!+][^?]+)\?(.+)$/,s=/^key_([^:]+:.+)$/,a=(0,i.errorFactory)("m.qr_code.invalid","Invalid QR code");class f extends r.VerificationBase{_doVerification(){if(!this._done){const e="https://matrix.to/#/"+this._baseApis.getUserId()+"?device="+encodeURIComponent(this._baseApis.deviceId)+"&action=verify&key_ed25519%3A"+encodeURIComponent(this._baseApis.deviceId)+"="+encodeURIComponent(this._baseApis.getDeviceEd25519Key());this.emit("show_qr_code",{url:e})}}}t.ShowQRCode=f,f.NAME="m.qr_code.show.v1";class c extends r.VerificationBase{static factory(...e){return new c(...e)}async _doVerification(){const e=(await new Promise((e,t)=>{this.emit("scan",{done:e,cancel:()=>t((0,i.newUserCancelledError)())})})).match(o);let t;const n={};if(!e)throw a();const r=e[1],f=e[2].split("&").map(e=>e.split("=",2).map(decodeURIComponent));let c;for(const[e,r]of f)if("device"===e)t=r;else if("action"===e)c=r;else{const t=e.match(s);t&&(n[t[1]]=r)}if(!t||"verify"!==c||0===Object.keys(n).length)throw a();if(this.userId){if(this.userId!==r)throw(0,i.newUserMismatchError)({expected:this.userId,actual:r})}else await new Promise((e,t)=>{this.emit("confirm_user_id",{userId:r,confirm:e,cancel:()=>t((0,i.newUserMismatchError)())})});await this._verifyKeys(r,n,(e,t,n)=>{if(t.keys[e]!==n)throw(0,i.newKeyMismatchError)()})}}t.ScanQRCode=c,c.NAME="m.qr_code.scan.v1"},function(e,t,n){"use strict";(function(e){var r=n(16);Object.defineProperty(t,"__esModule",{value:!0}),t.SAS=void 0;var i=n(139),o=r(n(78)),s=n(34);const a=["m.key.verification.accept","m.key.verification.key","m.key.verification.mac"];let f;const c=(0,s.errorFactory)("m.mismatched_sas","Mismatched short authentication string"),u=(0,s.errorFactory)("m.mismatched_commitment","Mismatched commitment");const l=[["🐶","dog"],["🐱","cat"],["🦁","lion"],["🐎","horse"],["🦄","unicorn"],["🐷","pig"],["🐘","elephant"],["🐰","rabbit"],["🐼","panda"],["🐓","rooster"],["🐧","penguin"],["🐢","turtle"],["🐟","fish"],["🐙","octopus"],["🦋","butterfly"],["🌷","flower"],["🌳","tree"],["🌵","cactus"],["🍄","mushroom"],["🌏","globe"],["🌙","moon"],["☁️","cloud"],["🔥","fire"],["🍌","banana"],["🍎","apple"],["🍓","strawberry"],["🌽","corn"],["🍕","pizza"],["🎂","cake"],["❤️","heart"],["🙂","smiley"],["🤖","robot"],["🎩","hat"],["👓","glasses"],["🔧","spanner"],["🎅","santa"],["👍","thumbs up"],["☂️","umbrella"],["⌛","hourglass"],["⏰","clock"],["🎁","gift"],["💡","light bulb"],["📕","book"],["✏️","pencil"],["📎","paperclip"],["✂️","scissors"],["🔒","lock"],["🔑","key"],["🔨","hammer"],["☎️","telephone"],["🏁","flag"],["🚂","train"],["🚲","bicycle"],["✈️","aeroplane"],["🚀","rocket"],["🏆","trophy"],["⚽","ball"],["🎸","guitar"],["🎺","trumpet"],["🔔","bell"],["⚓️","anchor"],["🎧","headphones"],["📁","folder"],["📌","pin"]];const d={decimal:function(e){return[1e3+(e[0]<<5|e[1]>>3),1e3+((7&e[1])<<10|e[2]<<2|e[3]>>6),1e3+((63&e[3])<<7|e[4]>>1)]},emoji:function(e){return[e[0]>>2,(3&e[0])<<4|e[1]>>4,(15&e[1])<<2|e[2]>>6,63&e[2],e[3]>>2,(3&e[3])<<4|e[4]>>4,(15&e[4])<<2|e[5]>>6].map(e=>l[e])}};function h(e,t){const n={};for(const r of t)r in d&&(n[r]=d[r](e));return n}const p={"hkdf-hmac-sha256":"calculate_mac","hmac-sha256":"calculate_mac_long_kdf"},g=["curve25519"],m=["sha256"],_=["hkdf-hmac-sha256","hmac-sha256"],y=Object.keys(d),b=new Set(g),v=new Set(m),A=new Set(_),w=new Set(y);function E(e,t){return e instanceof Array?e.filter(e=>t.has(e)):[]}class S extends i.VerificationBase{static get NAME(){return"m.sas.v1"}get events(){return a}async _doVerification(){return await e.Olm.init(),f=f||new e.Olm.Utility,await this._baseApis.downloadKeys([this.userId]),this.startEvent?await this._doRespondVerification():await this._doSendVerification()}async _doSendVerification(){const t="m.key.verification.start",n=this._channel.completeContent(t,{method:S.NAME,from_device:this._baseApis.deviceId,key_agreement_protocols:g,hashes:m,message_authentication_codes:_,short_authentication_string:y});this._channel.sendCompleted(t,n);let r=await this._waitForEvent("m.key.verification.accept"),i=r.getContent();const a=E(i.short_authentication_string,w);if(!(b.has(i.key_agreement_protocol)&&v.has(i.hash)&&A.has(i.message_authentication_code)&&a.length))throw(0,s.newUnknownMethodError)();if("string"!=typeof i.commitment)throw(0,s.newInvalidMessageError)();const l=i.message_authentication_code,d=i.commitment,p=new e.Olm.SAS;try{this._send("m.key.verification.key",{key:p.get_pubkey()}),r=await this._waitForEvent("m.key.verification.key"),i=r.getContent();const e=i.key+o.default.stringify(n);if(f.sha256(e)!==d)throw u();p.set_their_key(i.key);const t="MATRIX_KEY_VERIFICATION_SAS"+this._baseApis.getUserId()+this._baseApis.deviceId+this.userId+this.deviceId+this._channel.transactionId,g=p.generate_bytes(t,6),m=new Promise((e,t)=>{this.emit("show_sas",{sas:h(g,a),confirm:()=>{this._sendMAC(p,l),e()},cancel:()=>t((0,s.newUserCancelledError)()),mismatch:()=>t(c())})});[r]=await Promise.all([this._waitForEvent("m.key.verification.mac").then(e=>(this._expectedEvent="m.key.verification.done",e)),m]),i=r.getContent(),await this._checkMAC(p,i,l)}finally{p.free()}}async _doRespondVerification(){let t=this._channel.completedContentFromEvent(this.startEvent);const n=E(g,new Set(t.key_agreement_protocols))[0],r=E(m,new Set(t.hashes))[0],i=E(_,new Set(t.message_authentication_codes))[0],a=E(t.short_authentication_string,w);if(void 0===n||void 0===r||void 0===i||!a.length)throw(0,s.newUnknownMethodError)();const u=new e.Olm.SAS;try{const e=u.get_pubkey()+o.default.stringify(t);this._send("m.key.verification.accept",{key_agreement_protocol:n,hash:r,message_authentication_code:i,short_authentication_string:a,commitment:f.sha256(e)});let l=await this._waitForEvent("m.key.verification.key");t=l.getContent(),u.set_their_key(t.key),this._send("m.key.verification.key",{key:u.get_pubkey()});const d="MATRIX_KEY_VERIFICATION_SAS"+this.userId+this.deviceId+this._baseApis.getUserId()+this._baseApis.deviceId+this._channel.transactionId,p=u.generate_bytes(d,6),g=new Promise((e,t)=>{this.emit("show_sas",{sas:h(p,a),confirm:()=>{this._sendMAC(u,i),e()},cancel:()=>t((0,s.newUserCancelledError)()),mismatch:()=>t(c())})});[l]=await Promise.all([this._waitForEvent("m.key.verification.mac").then(e=>(this._expectedEvent="m.key.verification.done",e)),g]),t=l.getContent(),await this._checkMAC(u,t,i)}finally{u.free()}}_sendMAC(e,t){const n={},r=[],i="MATRIX_KEY_VERIFICATION_MAC"+this._baseApis.getUserId()+this._baseApis.deviceId+this.userId+this.deviceId+this._channel.transactionId,o=`ed25519:${this._baseApis.deviceId}`;n[o]=e[p[t]](this._baseApis.getDeviceEd25519Key(),i+o),r.push(o);const s=this._baseApis.getCrossSigningId();if(s){const o=`ed25519:${s}`;n[o]=e[p[t]](s,i+o),r.push(o)}const a=e[p[t]](r.sort().join(","),i+"KEY_IDS");this._send("m.key.verification.mac",{mac:n,keys:a})}async _checkMAC(e,t,n){const r="MATRIX_KEY_VERIFICATION_MAC"+this.userId+this.deviceId+this._baseApis.getUserId()+this._baseApis.deviceId+this._channel.transactionId;if(t.keys!==e[p[n]](Object.keys(t.mac).sort().join(","),r+"KEY_IDS"))throw(0,s.newKeyMismatchError)();await this._verifyKeys(this.userId,t.mac,(t,i,o)=>{if(o!==e[p[n]](i.keys[t],r+t))throw(0,s.newKeyMismatchError)()})}}t.SAS=S}).call(this,n(6))},function(e,t,n){var r=n(293);e.exports=r("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")},function(e,t,n){"use strict";var r=n(3).Buffer;e.exports=function(e){if(e.length>=255)throw new TypeError("Alphabet too long");var t=new Uint8Array(256);t.fill(255);for(var n=0;n<e.length;n++){var i=e.charAt(n),o=i.charCodeAt(0);if(255!==t[o])throw new TypeError(i+" is ambiguous");t[o]=n}var s=e.length,a=e.charAt(0),f=Math.log(s)/Math.log(256),c=Math.log(256)/Math.log(s);function u(e){if("string"!=typeof e)throw new TypeError("Expected String");if(0===e.length)return r.alloc(0);var n=0;if(" "!==e[n]){for(var i=0,o=0;e[n]===a;)i++,n++;for(var c=(e.length-n)*f+1>>>0,u=new Uint8Array(c);e[n];){var l=t[e.charCodeAt(n)];if(255===l)return;for(var d=0,h=c-1;(0!==l||d<o)&&-1!==h;h--,d++)l+=s*u[h]>>>0,u[h]=l%256>>>0,l=l/256>>>0;if(0!==l)throw new Error("Non-zero carry");o=d,n++}if(" "!==e[n]){for(var p=c-o;p!==c&&0===u[p];)p++;var g=r.allocUnsafe(i+(c-p));g.fill(0,0,i);for(var m=i;p!==c;)g[m++]=u[p++];return g}}}return{encode:function(t){if(!r.isBuffer(t))throw new TypeError("Expected Buffer");if(0===t.length)return"";for(var n=0,i=0,o=0,f=t.length;o!==f&&0===t[o];)o++,n++;for(var u=(f-o)*c+1>>>0,l=new Uint8Array(u);o!==f;){for(var d=t[o],h=0,p=u-1;(0!==d||h<i)&&-1!==p;p--,h++)d+=256*l[p]>>>0,l[p]=d%s>>>0,d=d/s>>>0;if(0!==d)throw new Error("Non-zero carry");i=h,o++}for(var g=u-i;g!==u&&0===l[g];)g++;for(var m=a.repeat(n);g<u;++g)m+=e.charAt(l[g]);return m},decodeUnsafe:u,decode:function(e){var t=u(e);if(t)return t;throw new Error("Non-base"+s+" character")}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RequestCallbackChannel=void 0;t.RequestCallbackChannel=class{constructor(e,t){this._request=e,this._channel=t}get transactionId(){return this._channel.transactionId}get needsDoneMessage(){return this._channel.needsDoneMessage}handleEvent(e,t){return this._channel.handleEvent(e,t)}completedContentFromEvent(e){return this._channel.completedContentFromEvent(e)}completeContent(e,t){return this._channel.completeContent(e,t)}async send(e,t){return this._request.handleVerifierSend(e,t),await this._channel.send(e,t)}async sendCompleted(e,t){return this._request.handleVerifierSend(e,t),await this._channel.sendCompleted(e,t)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InRoomChannel=void 0;var r=n(80);class i{constructor(e,t,n){this._client=e,this._roomId=t,this._userId=n,this._requestEventId=null}get needsDoneMessage(){return!0}get transactionId(){return this._requestEventId}static getTimestamp(e){return e.getTs()}static canCreateRequest(e){return e===r.REQUEST_TYPE}static getTransactionId(e){if(i.getEventType(e)===r.REQUEST_TYPE)return e.getId();{const t=e.getRelation();if(t&&"m.reference"===t.rel_type)return t.event_id}}static validateEvent(e,t){const n=i.getTransactionId(e);if("string"!=typeof n||0===n.length)return!1;const o=i.getEventType(e),s=e.getContent();if(o===r.REQUEST_TYPE){if("string"!=typeof s.to||!s.to.length)return!1;const n=t.getUserId();if(e.getSender()!==n&&s.to!==n)return!1}return r.VerificationRequest.validateEvent(o,e,i.getTimestamp(e),t)}static getEventType(e){const t=e.getType();if("m.room.message"===t){const t=e.getContent();if(t){const{msgtype:e}=t;if(e===r.REQUEST_TYPE)return r.REQUEST_TYPE}}return t}async handleEvent(e,t){const n=i.getEventType(e);if(e.getRoomId()===this._roomId&&e.getSender()===this._userId)return this._requestEventId||n!==r.REQUEST_TYPE||(this._requestEventId=e.getId()),await t.handleEvent(n,e,i.getTimestamp(e))}completedContentFromEvent(e){const t=Object.assign({},e.getContent());return t["m.relates_to"]=e.getRelation(),t}completeContent(e,t){return t=Object.assign({},t),e!==r.REQUEST_TYPE&&e!==r.START_TYPE||(t.from_device=this._client.getDeviceId()),e===r.REQUEST_TYPE?t={body:this._client.getUserId()+" is requesting to verify your key, but your client does not support in-chat key verification. You will need to use legacy key verification to verify keys.",msgtype:r.REQUEST_TYPE,to:this._userId,from_device:t.from_device,methods:t.methods}:t["m.relates_to"]={rel_type:"m.reference",event_id:this.transactionId},t}send(e,t){const n=this.completeContent(e,t);return this.sendCompleted(e,n)}async sendCompleted(e,t){let n=e;e===r.REQUEST_TYPE&&(n="m.room.message");const i=await this._client.sendEvent(this._roomId,n,t);e===r.REQUEST_TYPE&&(this._requestEventId=i.event_id)}}t.InRoomChannel=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ToDeviceChannel=void 0;var r=n(49),i=n(4),o=n(80),s=n(34);class a{constructor(e,t,n,r=null,i=null){this._client=e,this._userId=t,this._devices=n,this.transactionId=r,this._deviceId=i}static getEventType(e){return e.getType()}static getTransactionId(e){const t=e.getContent();return t&&t.transaction_id}static canCreateRequest(e){return e===o.REQUEST_TYPE||e===o.START_TYPE}static validateEvent(e,t){if(e.isCancelled())return i.logger.warn("Ignoring flagged verification request from "+e.getSender()),!1;const n=e.getContent();if(!n)return!1;if(!n.transaction_id)return!1;const r=e.getType();if(r===o.REQUEST_TYPE){if(!Number.isFinite(n.timestamp))return!1;if(e.getSender()===t.getUserId()&&n.from_device==t.getDeviceId())return!1}return o.VerificationRequest.validateEvent(r,e,a.getTimestamp(e),t)}static getTimestamp(e){const t=e.getContent();return t&&t.timestamp}async handleEvent(e,t){const n=e.getType(),r=e.getContent();if(n===o.REQUEST_TYPE||n===o.START_TYPE){this.transactionId||(this.transactionId=r.transaction_id);const e=r.from_device;if(!this._deviceId&&this._devices.includes(e)&&(this._deviceId=e),!this._deviceId||this._deviceId!==e){const t=this.completeContent((0,s.errorFromEvent)((0,s.newUnexpectedMessageError)()));return this._sendToDevices(o.CANCEL_TYPE,t,[e])}}const i=t.phase===o.PHASE_STARTED;await t.handleEvent(e.getType(),e,a.getTimestamp(e));const f=t.phase===o.PHASE_STARTED;if(n===o.START_TYPE&&!i&&f&&this._deviceId){const e=this._devices.filter(e=>e!==this._deviceId);if(e.length){const t=this.completeContent({code:"m.accepted",reason:"Verification request accepted by another device"});await this._sendToDevices(o.CANCEL_TYPE,t,e)}}}completedContentFromEvent(e){return e.getContent()}completeContent(e,t){return t=Object.assign({},t),this.transactionId&&(t.transaction_id=this.transactionId),e!==o.REQUEST_TYPE&&e!==o.START_TYPE||(t.from_device=this._client.getDeviceId()),e===o.REQUEST_TYPE&&(t.timestamp=Date.now()),t}send(e,t={}){e!==o.REQUEST_TYPE&&e!==o.START_TYPE||this.transactionId||(this.transactionId=a.makeTransactionId());const n=this.completeContent(e,t);return this.sendCompleted(e,n)}sendCompleted(e,t){return e===o.REQUEST_TYPE?this._sendToDevices(e,t,this._devices):this._sendToDevices(e,t,[this._deviceId])}_sendToDevices(e,t,n){if(n.length){const r={};for(const e of n)r[e]=t;return this._client.sendToDevice(e,{[this._userId]:r})}return Promise.resolve()}static makeTransactionId(){return(0,r.randomString)(32)}}t.ToDeviceChannel=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AutoDiscovery=void 0;var r=n(4),i=n(72);class o{static get ERROR_INVALID(){return"Invalid homeserver discovery response"}static get ERROR_GENERIC_FAILURE(){return"Failed to get autodiscovery configuration from server"}static get ERROR_INVALID_HS_BASE_URL(){return"Invalid base_url for m.homeserver"}static get ERROR_INVALID_HOMESERVER(){return"Homeserver URL does not appear to be a valid Matrix homeserver"}static get ERROR_INVALID_IS_BASE_URL(){return"Invalid base_url for m.identity_server"}static get ERROR_INVALID_IDENTITY_SERVER(){return"Identity server URL does not appear to be a valid identity server"}static get ERROR_INVALID_IS(){return"Invalid identity server discovery response"}static get ERROR_MISSING_WELLKNOWN(){return"No .well-known JSON file found"}static get ERROR_INVALID_JSON(){return"Invalid JSON"}static get ALL_ERRORS(){return[o.ERROR_INVALID,o.ERROR_GENERIC_FAILURE,o.ERROR_INVALID_HS_BASE_URL,o.ERROR_INVALID_HOMESERVER,o.ERROR_INVALID_IS_BASE_URL,o.ERROR_INVALID_IDENTITY_SERVER,o.ERROR_INVALID_IS,o.ERROR_MISSING_WELLKNOWN,o.ERROR_INVALID_JSON]}static get FAIL_ERROR(){return"FAIL_ERROR"}static get FAIL_PROMPT(){return"FAIL_PROMPT"}static get PROMPT(){return"PROMPT"}static get SUCCESS(){return"SUCCESS"}static async fromDiscoveryConfig(e){const t={"m.homeserver":{state:o.FAIL_ERROR,error:o.ERROR_INVALID,base_url:null},"m.identity_server":{state:o.PROMPT,error:null,base_url:null}};if(!e||!e["m.homeserver"])return r.logger.error("No m.homeserver key in config"),t["m.homeserver"].state=o.FAIL_PROMPT,t["m.homeserver"].error=o.ERROR_INVALID,Promise.resolve(t);if(!e["m.homeserver"].base_url)return r.logger.error("No m.homeserver base_url in config"),t["m.homeserver"].state=o.FAIL_PROMPT,t["m.homeserver"].error=o.ERROR_INVALID_HS_BASE_URL,Promise.resolve(t);const n=this._sanitizeWellKnownUrl(e["m.homeserver"].base_url);if(!n)return r.logger.error("Invalid base_url for m.homeserver"),t["m.homeserver"].error=o.ERROR_INVALID_HS_BASE_URL,Promise.resolve(t);const i=await this._fetchWellKnownObject(`${n}/_matrix/client/versions`);if(!i||!i.raw.versions)return r.logger.error("Invalid /versions response"),t["m.homeserver"].error=o.ERROR_INVALID_HOMESERVER,t["m.homeserver"].base_url=n,Promise.resolve(t);t["m.homeserver"]={state:o.SUCCESS,error:null,base_url:n};let s="";if(e["m.identity_server"]){const n={"m.homeserver":t["m.homeserver"],"m.identity_server":{state:o.FAIL_PROMPT,error:o.ERROR_INVALID_IS,base_url:null}};if(s=this._sanitizeWellKnownUrl(e["m.identity_server"].base_url),!s)return r.logger.error("Invalid base_url for m.identity_server"),n["m.identity_server"].error=o.ERROR_INVALID_IS_BASE_URL,Promise.resolve(n);const i=await this._fetchWellKnownObject(`${s}/_matrix/identity/api/v1`);if(!i||!i.raw||"SUCCESS"!==i.action)return r.logger.error("Invalid /api/v1 response"),n["m.identity_server"].error=o.ERROR_INVALID_IDENTITY_SERVER,n["m.identity_server"].base_url=s,Promise.resolve(n)}return s&&s.length>0&&(t["m.identity_server"]={state:o.SUCCESS,error:null,base_url:s}),Object.keys(e).map(n=>{if("m.homeserver"===n||"m.identity_server"===n){const r=["error","state","base_url"];for(const i of Object.keys(e[n]))r.includes(i)||(t[n][i]=e[n][i])}else t[n]=e[n]}),Promise.resolve(t)}static async findClientConfig(e){if(!e||"string"!=typeof e||0===e.length)throw new Error("'domain' must be a string of non-zero length");const t={"m.homeserver":{state:o.FAIL_ERROR,error:o.ERROR_INVALID,base_url:null},"m.identity_server":{state:o.PROMPT,error:null,base_url:null}},n=await this._fetchWellKnownObject(`https://${e}/.well-known/matrix/client`);return n&&"SUCCESS"===n.action?o.fromDiscoveryConfig(n.raw):(r.logger.error("No response or error when parsing .well-known"),n.reason&&r.logger.error(n.reason),"IGNORE"===n.action?t["m.homeserver"]={state:o.PROMPT,error:null,base_url:null}:(t["m.homeserver"].state=o.FAIL_PROMPT,t["m.homeserver"].error=o.ERROR_INVALID),Promise.resolve(t))}static async getRawClientConfig(e){if(!e||"string"!=typeof e||0===e.length)throw new Error("'domain' must be a string of non-zero length");const t=await this._fetchWellKnownObject(`https://${e}/.well-known/matrix/client`);return t&&t.raw||{}}static _sanitizeWellKnownUrl(e){if(!e)return!1;try{let t=null;try{t=i.URL?new i.URL(e):new URL(e)}catch(n){t=new URL(e)}if(!t||!t.hostname)return!1;if("http:"!==t.protocol&&"https:"!==t.protocol)return!1;const n=t.port?`:${t.port}`:"",r=t.pathname?t.pathname:"";let o=`${t.protocol}//${t.hostname}${n}${r}`;return o.endsWith("/")&&(o=o.substring(0,o.length-1)),o}catch(e){return r.logger.error(e),!1}}static async _fetchWellKnownObject(e){return new Promise((function(t,r){const i=n(126).getRequest();if(!i)throw new Error("No request library available");i({method:"GET",uri:e,timeout:5e3},(e,n,r)=>{if(e||n.statusCode<200||n.statusCode>=300){let r="FAIL_PROMPT",i=(e?e.message:null)||"General failure";return 404===n.statusCode&&(r="IGNORE",i=o.ERROR_MISSING_WELLKNOWN),void t({raw:{},action:r,reason:i,error:e})}try{t({raw:JSON.parse(r),action:"SUCCESS"})}catch(e){let n=o.ERROR_INVALID;"SyntaxError"===e.name&&(n=o.ERROR_INVALID_JSON),t({raw:{},action:"FAIL_PROMPT",reason:n,error:e})}})}))}}t.AutoDiscovery=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TimelineWindow=o,t.TimelineIndex=s;var r=n(24);n(4);const i=function(){};function o(e,t,n){n=n||{},this._client=e,this._timelineSet=t,this._start=null,this._end=null,this._eventCount=0,this._windowLimit=n.windowLimit||1e3}function s(e,t){this.timeline=e,this.index=t}o.prototype.load=function(e,t){const n=this;t=t||20;const r=function(r){let i;const o=r.getEvents();if(e){for(let t=0;t<o.length;t++)if(o[t].getId()==e){i=t;break}if(void 0===i)throw new Error("getEventTimeline result didn't include requested event")}else i=o.length;const a=Math.min(o.length,i+Math.ceil(t/2)),f=Math.max(0,a-t);n._start=new s(r,f-r.getBaseIndex()),n._end=new s(r,a-r.getBaseIndex()),n._eventCount=a-f};if(e){const t=this._timelineSet.getTimelineForEvent(e);return t?(r(t),Promise.resolve(t)):this._client.getEventTimeline(this._timelineSet,e).then(r)}return r(this._timelineSet.getLiveTimeline()),Promise.resolve()},o.prototype.canPaginate=function(e){let t;if(e==r.EventTimeline.BACKWARDS)t=this._start;else{if(e!=r.EventTimeline.FORWARDS)throw new Error("Invalid direction '"+e+"'");t=this._end}if(!t)return i("TimelineWindow: no timeline yet"),!1;if(e==r.EventTimeline.BACKWARDS){if(t.index>t.minIndex())return!0}else if(t.index<t.maxIndex())return!0;return Boolean(t.timeline.getNeighbouringTimeline(e)||t.timeline.getPaginationToken(e))},o.prototype.paginate=function(e,t,n,o){let s;if(void 0===n&&(n=!0),void 0===o&&(o=5),e==r.EventTimeline.BACKWARDS)s=this._start;else{if(e!=r.EventTimeline.FORWARDS)throw new Error("Invalid direction '"+e+"'");s=this._end}if(!s)return i("TimelineWindow: no timeline yet"),Promise.resolve(!1);if(s.pendingPaginate)return s.pendingPaginate;const a=e==r.EventTimeline.BACKWARDS?s.retreat(t):s.advance(t);if(a){this._eventCount+=a,i("TimelineWindow: increased cap by "+a+" (now "+this._eventCount+")");const t=this._eventCount-this._windowLimit;return t>0&&this.unpaginate(t,e!=r.EventTimeline.BACKWARDS),Promise.resolve(!0)}if(!n||0===o)return Promise.resolve(!1);if(!s.timeline.getPaginationToken(e))return i("TimelineWindow: no token"),Promise.resolve(!1);i("TimelineWindow: starting request");const f=this,c=this._client.paginateEventTimeline(s.timeline,{backwards:e==r.EventTimeline.BACKWARDS,limit:t}).finally((function(){s.pendingPaginate=null})).then((function(n){return i("TimelineWindow: request completed with result "+n),!!n&&f.paginate(e,t,!0,o-1)}));return s.pendingPaginate=c,c},o.prototype.unpaginate=function(e,t){const n=t?this._start:this._end;if(e>this._eventCount||e<0)throw new Error("Attemting to unpaginate "+e+" events, but only have "+this._eventCount+" in the timeline");for(;e>0;){const r=t?n.advance(e):n.retreat(e);if(r<=0)throw new Error("Unable to unpaginate any further, but still have "+this._eventCount+" events");e-=r,this._eventCount-=r,i("TimelineWindow.unpaginate: dropped "+r+" (now "+this._eventCount+")")}},o.prototype.getEvents=function(){if(!this._start)return[];const e=[];let t=this._start.timeline;for(;;){const n=t.getEvents();let i=0,o=n.length;t===this._start.timeline&&(i=this._start.index+t.getBaseIndex()),t===this._end.timeline&&(o=this._end.index+t.getBaseIndex());for(let t=i;t<o;t++)e.push(n[t]);if(t===this._end.timeline)break;t=t.getNeighbouringTimeline(r.EventTimeline.FORWARDS)}return e},s.prototype.minIndex=function(){return-1*this.timeline.getBaseIndex()},s.prototype.maxIndex=function(){return this.timeline.getEvents().length-this.timeline.getBaseIndex()},s.prototype.advance=function(e){if(!e)return 0;let t;if(e<0){if(t=Math.max(e,this.minIndex()-this.index),t<0)return this.index+=t,t}else if(t=Math.min(e,this.maxIndex()-this.index),t>0)return this.index+=t,t;const n=this.timeline.getNeighbouringTimeline(e<0?r.EventTimeline.BACKWARDS:r.EventTimeline.FORWARDS);return n?(this.timeline=n,this.index=e<0?this.maxIndex():this.minIndex(),i("paginate: switched to new neighbour"),this.advance(e)):0},s.prototype.retreat=function(e){return-1*this.advance(-1*e)}},function(e,t,n){"use strict";var r=n(7),i=n(16);Object.defineProperty(t,"__esModule",{value:!0}),t.InteractiveAuth=f;var o=i(n(72)),s=r(n(8)),a=n(4);function f(e){this._matrixClient=e.matrixClient,this._data=e.authData||{},this._requestCallback=e.doRequest,this._busyChangedCallback=e.busyChanged,this._stateUpdatedCallback=e.stateUpdated||e.startAuthStage,this._resolveFunc=null,this._rejectFunc=null,this._inputs=e.inputs||{},this._requestEmailTokenCallback=e.requestEmailToken,e.sessionId&&(this._data.session=e.sessionId),this._clientSecret=e.clientSecret||this._matrixClient.generateClientSecret(),this._emailSid=e.emailSid,void 0===this._emailSid&&(this._emailSid=null),this._requestingEmailToken=!1,this._chosenFlow=null,this._currentStage=null,this._submitPromise=null}f.prototype={attemptAuth:function(){return new Promise((e,t)=>{this._resolveFunc=e,this._rejectFunc=t,this._data.flows?this._startNextAuthStage():(this._busyChangedCallback&&this._busyChangedCallback(!0),this._doRequest(this._data).finally(()=>{this._busyChangedCallback&&this._busyChangedCallback(!1)}))})},poll:async function(){if(!this._data.session)return;if(this._submitPromise)return;let e={};if("m.login.email.identity"==this._currentStage&&this._emailSid){const t={sid:this._emailSid,client_secret:this._clientSecret};if(await this._matrixClient.doesServerRequireIdServerParam()){const e=o.default.parse(this._matrixClient.getIdentityServerUrl());t.id_server=e.host}e={type:"m.login.email.identity",threepid_creds:t}}this.submitAuthDict(e,!0)},getSessionId:function(){return this._data?this._data.session:void 0},getClientSecret:function(){return this._clientSecret},getStageParams:function(e){let t={};return this._data&&this._data.params&&(t=this._data.params),t[e]},getChosenFlow(){return this._chosenFlow},submitAuthDict:async function(e,t){if(!this._resolveFunc)throw new Error("submitAuthDict() called before attemptAuth()");for(!t&&this._busyChangedCallback&&this._busyChangedCallback(!0);this._submitPromise;)try{await this._submitPromise}catch(e){}const n={session:this._data.session};s.extend(n,e);try{this._submitPromise=this._doRequest(n,t),await this._submitPromise}finally{this._submitPromise=null,!t&&this._busyChangedCallback&&this._busyChangedCallback(!1)}},getEmailSid:function(){return this._emailSid},setEmailSid:function(e){this._emailSid=e},_doRequest:async function(e,t){try{const n=await this._requestCallback(e,t);this._resolveFunc(n)}catch(e){const n=e.data?e.data.flows:null,r=Boolean(this._data.flows)||Boolean(n);if(401===e.httpStatus&&e.data&&r||(t?a.logger.log("Background poll request failed doing UI auth: ignoring",e):this._rejectFunc(e)),e.data.flows||e.data.completed||e.data.session||(e.data.flows=this._data.flows,e.data.completed=this._data.completed,e.data.session=this._data.session),this._data=e.data,this._startNextAuthStage(),!this._emailSid&&!this._requestingEmailToken&&this._chosenFlow.stages.includes("m.login.email.identity")){this._requestingEmailToken=!0;try{const e=await this._requestEmailTokenCallback(this._inputs.emailAddress,this._clientSecret,1,this._data.session);this._emailSid=e.sid}catch(e){this._rejectFunc(e)}finally{this._requestingEmailToken=!1}}}},_startNextAuthStage:function(){const e=this._chooseStage();if(!e)throw new Error("No incomplete flows from the server");if(this._currentStage=e,"m.login.dummy"===e)return void this.submitAuthDict({type:"m.login.dummy"});if(this._data.errcode||this._data.error)return void this._stateUpdatedCallback(e,{errcode:this._data.errcode||"",error:this._data.error||""});const t={};"m.login.email.identity"==e&&(t.emailSid=this._emailSid),this._stateUpdatedCallback(e,t)},_chooseStage:function(){null===this._chosenFlow&&(this._chosenFlow=this._chooseFlow()),a.logger.log("Active flow => %s",JSON.stringify(this._chosenFlow));const e=this._firstUncompletedStage(this._chosenFlow);return a.logger.log("Next stage: %s",e),e},_chooseFlow:function(){const e=this._data.flows||[],t=Boolean(this._inputs.emailAddress)||Boolean(this._emailSid),n=Boolean(this._inputs.phoneCountry)&&Boolean(this._inputs.phoneNumber);for(const r of e){let e=!1,i=!1;for(const t of r.stages)"m.login.email.identity"===t?e=!0:"m.login.msisdn"==t&&(i=!0);if(e==t&&i==n)return r}const r=new Error("No appropriate authentication flow found");throw r.name="NoAuthFlowFoundError",r.required_stages=[],t&&r.required_stages.push("m.login.email.identity"),n&&r.required_stages.push("m.login.msisdn"),r.available_flows=e,r},_firstUncompletedStage:function(e){const t=(this._data||{}).completed||[];for(let n=0;n<e.stages.length;++n){const r=e.stages[n];if(-1===t.indexOf(r))return r}}}},function(e,t,n){"use strict";(function(e){var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.IndexedDBStore=d;var i=n(127),o=r(n(8)),s=n(10),a=n(301),f=n(302),c=n(45),u=n(19),l=n(4);function d(t){if(i.MemoryStore.call(this,t),!t.indexedDB)throw new Error("Missing required option: indexedDB");if(t.workerScript){let n=t.workerApi;n||(n=e.Worker),this.backend=new f.RemoteIndexedDBStoreBackend(t.workerScript,t.dbName,n)}else this.backend=new a.LocalIndexedDBStoreBackend(t.indexedDB,t.dbName);this.startedUp=!1,this._syncTs=0,this._userModifiedMap={}}function h(e,t){return async function(...n){try{return await e.call(this,...n)}catch(e){l.logger.error("IndexedDBStore failure, degrading to MemoryStore",e),this.emit("degraded",e);try{l.logger.log("IndexedDBStore trying to delete degraded data"),await this.backend.clearDatabase(),l.logger.log("IndexedDBStore delete after degrading succeeeded")}catch(e){l.logger.warn("IndexedDBStore delete after degrading failed",e)}if(Object.setPrototypeOf(this,i.MemoryStore.prototype),t)return await i.MemoryStore.prototype[t].call(this,...n)}}}o.inherits(d,i.MemoryStore),o.extend(d.prototype,s.EventEmitter.prototype),d.exists=function(e,t){return a.LocalIndexedDBStoreBackend.exists(e,t)},d.prototype.startup=function(){return this.startedUp?(l.logger.log("IndexedDBStore.startup: already started"),Promise.resolve()):(l.logger.log("IndexedDBStore.startup: connecting to backend"),this.backend.connect().then(()=>(l.logger.log("IndexedDBStore.startup: loading presence events"),this.backend.getUserPresenceEvents())).then(e=>{l.logger.log("IndexedDBStore.startup: processing presence events"),e.forEach(([e,t])=>{const n=new c.User(e);t&&n.setPresenceEvent(new u.MatrixEvent(t)),this._userModifiedMap[n.userId]=n.getLastModifiedTime(),this.storeUser(n)})}))},d.prototype.getSavedSync=h((function(){return this.backend.getSavedSync()}),"getSavedSync"),d.prototype.isNewlyCreated=h((function(){return this.backend.isNewlyCreated()}),"isNewlyCreated"),d.prototype.getSavedSyncToken=h((function(){return this.backend.getNextBatchToken()}),"getSavedSyncToken"),d.prototype.deleteAllData=h((function(){return i.MemoryStore.prototype.deleteAllData.call(this),this.backend.clearDatabase().then(()=>{l.logger.log("Deleted indexeddb data.")},e=>{throw l.logger.error(`Failed to delete indexeddb data: ${e}`),e})})),d.prototype.wantsSave=function(){return Date.now()-this._syncTs>3e5},d.prototype.save=function(e){return e||this.wantsSave()?this._reallySave():Promise.resolve()},d.prototype._reallySave=h((function(){this._syncTs=Date.now();const e=[];for(const t of this.getUsers())this._userModifiedMap[t.userId]!==t.getLastModifiedTime()&&t.events.presence&&(e.push([t.userId,t.events.presence.event]),this._userModifiedMap[t.userId]=t.getLastModifiedTime());return this.backend.syncToDatabase(e)})),d.prototype.setSyncData=h((function(e){return this.backend.setSyncData(e)}),"setSyncData"),d.prototype.getOutOfBandMembers=h((function(e){return this.backend.getOutOfBandMembers(e)}),"getOutOfBandMembers"),d.prototype.setOutOfBandMembers=h((function(e,t){return i.MemoryStore.prototype.setOutOfBandMembers.call(this,e,t),this.backend.setOutOfBandMembers(e,t)}),"setOutOfBandMembers"),d.prototype.clearOutOfBandMembers=h((function(e){return i.MemoryStore.prototype.clearOutOfBandMembers.call(this),this.backend.clearOutOfBandMembers(e)}),"clearOutOfBandMembers"),d.prototype.getClientOptions=h((function(){return this.backend.getClientOptions()}),"getClientOptions"),d.prototype.storeClientOptions=h((function(e){return i.MemoryStore.prototype.storeClientOptions.call(this,e),this.backend.storeClientOptions(e)}),"storeClientOptions")}).call(this,n(6))},function(e,t,n){"use strict";var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.LocalIndexedDBStoreBackend=d;var i=n(142),o=r(n(8)),s=r(n(135)),a=n(4);function f(e,t,n){const r=e.openCursor(t);return new Promise((e,t)=>{const i=[];r.onerror=e=>{t(new Error("Query failed: "+e.target.errorCode))},r.onsuccess=t=>{const r=t.target.result;r?(i.push(n(r)),r.continue()):e(i)}})}function c(e){return new Promise((t,n)=>{e.oncomplete=function(e){t(e)},e.onerror=function(e){n(e.target.error)}})}function u(e){return new Promise((t,n)=>{e.onsuccess=function(e){t(e)},e.onerror=function(e){n(e.target.error)}})}function l(e){return u(e).then(e=>e.target.result)}function d(e,t){this.indexedDB=e,this._dbName="matrix-js-sdk:"+(t||"default"),this.db=null,this._disconnected=!0,this._syncAccumulator=new i.SyncAccumulator,this._isNewlyCreated=!1}d.exists=function(e,t){return t="matrix-js-sdk:"+(t||"default"),s.exists(e,t)},d.prototype={connect:function(){if(!this._disconnected)return a.logger.log("LocalIndexedDBStoreBackend.connect: already connected or connecting"),Promise.resolve();this._disconnected=!1,a.logger.log("LocalIndexedDBStoreBackend.connect: connecting...");const e=this.indexedDB.open(this._dbName,3);return e.onupgradeneeded=e=>{const t=e.target.result,n=e.oldVersion;a.logger.log(`LocalIndexedDBStoreBackend.connect: upgrading from ${n}`),n<1&&(this._isNewlyCreated=!0,function(e){e.createObjectStore("users",{keyPath:["userId"]}),e.createObjectStore("accountData",{keyPath:["type"]}),e.createObjectStore("sync",{keyPath:["clobber"]})}(t)),n<2&&function(e){e.createObjectStore("oob_membership_events",{keyPath:["room_id","state_key"]}).createIndex("room","room_id")}(t),n<3&&function(e){e.createObjectStore("client_options",{keyPath:["clobber"]})}(t)},e.onblocked=()=>{a.logger.log("can't yet open LocalIndexedDBStoreBackend because it is open elsewhere")},a.logger.log("LocalIndexedDBStoreBackend.connect: awaiting connection..."),u(e).then(e=>(a.logger.log("LocalIndexedDBStoreBackend.connect: connected"),this.db=e.target.result,this.db.onversionchange=()=>{this.db.close()},this._init()))},isNewlyCreated:function(){return Promise.resolve(this._isNewlyCreated)},_init:function(){return Promise.all([this._loadAccountData(),this._loadSyncData()]).then(([e,t])=>{a.logger.log("LocalIndexedDBStoreBackend: loaded initial data"),this._syncAccumulator.accumulate({next_batch:t.nextBatch,rooms:t.roomsData,groups:t.groupsData,account_data:{events:e}})})},getOutOfBandMembers:function(e){return new Promise((t,n)=>{const r=this.db.transaction(["oob_membership_events"],"readonly").objectStore("oob_membership_events").index("room"),i=IDBKeyRange.only(e),o=r.openCursor(i),s=[];let a=!1;o.onsuccess=e=>{const n=e.target.result;if(!n)return s.length||a?t(s):t(null);const r=n.value;r.oob_written?a=!0:s.push(r),n.continue()},o.onerror=e=>{n(e)}}).then(t=>(a.logger.log(`LL: got ${t&&t.length}`+` membershipEvents from storage for room ${e} ...`),t))},setOutOfBandMembers:async function(e,t){a.logger.log(`LL: backend about to store ${t.length}`+` members for ${e}`);const n=this.db.transaction(["oob_membership_events"],"readwrite"),r=n.objectStore("oob_membership_events");t.forEach(e=>{r.put(e)});const i={room_id:e,oob_written:!0,state_key:0};r.put(i),await c(n),a.logger.log(`LL: backend done storing for ${e}!`)},clearOutOfBandMembers:async function(e){const t=this.db.transaction(["oob_membership_events"],"readonly").objectStore("oob_membership_events").index("room"),n=IDBKeyRange.only(e),r=l(t.openKeyCursor(n,"next")).then(e=>e&&e.primaryKey[1]),i=l(t.openKeyCursor(n,"prev")).then(e=>e&&e.primaryKey[1]),[o,s]=await Promise.all([r,i]),f=this.db.transaction(["oob_membership_events"],"readwrite").objectStore("oob_membership_events"),c=IDBKeyRange.bound([e,o],[e,s]);var u;a.logger.log("LL: Deleting all users + marker in storage for "+`room ${e}, with key range:`,[e,o],[e,s]),await(u=f.delete(c),new Promise((e,t)=>{u.onsuccess=()=>e(u),u.onerror=e=>t(e)}))},clearDatabase:function(){return new Promise((e,t)=>{a.logger.log(`Removing indexeddb instance: ${this._dbName}`);const n=this.indexedDB.deleteDatabase(this._dbName);n.onblocked=()=>{a.logger.log(`can't yet delete indexeddb ${this._dbName}`+" because it is open elsewhere")},n.onerror=t=>{a.logger.warn(`unable to delete js-sdk store indexeddb: ${t.target.error}`),e()},n.onsuccess=()=>{a.logger.log(`Removed indexeddb instance: ${this._dbName}`),e()}})},getSavedSync:function(e){void 0===e&&(e=!0);const t=this._syncAccumulator.getJSON();return t.nextBatch?e?Promise.resolve(o.deepCopy(t)):Promise.resolve(t):Promise.resolve(null)},getNextBatchToken:function(){return Promise.resolve(this._syncAccumulator.getNextBatchToken())},setSyncData:function(e){return Promise.resolve().then(()=>{this._syncAccumulator.accumulate(e)})},syncToDatabase:function(e){const t=this._syncAccumulator.getJSON();return Promise.all([this._persistUserPresenceEvents(e),this._persistAccountData(t.accountData),this._persistSyncData(t.nextBatch,t.roomsData,t.groupsData)])},_persistSyncData:function(e,t,n){return a.logger.log("Persisting sync data up to ",e),o.promiseTry(()=>{const r=this.db.transaction(["sync"],"readwrite");return r.objectStore("sync").put({clobber:"-",nextBatch:e,roomsData:t,groupsData:n}),c(r)})},_persistAccountData:function(e){return o.promiseTry(()=>{const t=this.db.transaction(["accountData"],"readwrite"),n=t.objectStore("accountData");for(let t=0;t<e.length;t++)n.put(e[t]);return c(t)})},_persistUserPresenceEvents:function(e){return o.promiseTry(()=>{const t=this.db.transaction(["users"],"readwrite"),n=t.objectStore("users");for(const t of e)n.put({userId:t[0],event:t[1]});return c(t)})},getUserPresenceEvents:function(){return o.promiseTry(()=>f(this.db.transaction(["users"],"readonly").objectStore("users"),void 0,e=>[e.value.userId,e.value.event]))},_loadAccountData:function(){return a.logger.log("LocalIndexedDBStoreBackend: loading account data..."),o.promiseTry(()=>f(this.db.transaction(["accountData"],"readonly").objectStore("accountData"),void 0,e=>e.value).then(e=>(a.logger.log("LocalIndexedDBStoreBackend: loaded account data"),e)))},_loadSyncData:function(){return a.logger.log("LocalIndexedDBStoreBackend: loading sync data..."),o.promiseTry(()=>f(this.db.transaction(["sync"],"readonly").objectStore("sync"),void 0,e=>e.value).then(e=>(a.logger.log("LocalIndexedDBStoreBackend: loaded sync data"),e.length>1&&a.logger.warn("loadSyncData: More than 1 sync row found."),e.length>0?e[0]:{})))},getClientOptions:function(){return Promise.resolve().then(()=>f(this.db.transaction(["client_options"],"readonly").objectStore("client_options"),void 0,e=>{if(e.value&&e.value&&e.value.options)return e.value.options}).then(e=>e[0]))},storeClientOptions:async function(e){const t=this.db.transaction(["client_options"],"readwrite");t.objectStore("client_options").put({clobber:"-",options:e}),await c(t)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RemoteIndexedDBStoreBackend=o;var r=n(4),i=n(8);function o(e,t,n){this._workerScript=e,this._dbName=t,this._workerApi=n,this._worker=null,this._nextSeq=0,this._inFlight={},this._startPromise=null}o.prototype={connect:function(){return this._ensureStarted().then(()=>this._doCmd("connect"))},clearDatabase:function(){return this._ensureStarted().then(()=>this._doCmd("clearDatabase"))},isNewlyCreated:function(){return this._doCmd("isNewlyCreated")},getSavedSync:function(){return this._doCmd("getSavedSync")},getNextBatchToken:function(){return this._doCmd("getNextBatchToken")},setSyncData:function(e){return this._doCmd("setSyncData",[e])},syncToDatabase:function(e){return this._doCmd("syncToDatabase",[e])},getOutOfBandMembers:function(e){return this._doCmd("getOutOfBandMembers",[e])},setOutOfBandMembers:function(e,t){return this._doCmd("setOutOfBandMembers",[e,t])},clearOutOfBandMembers:function(e){return this._doCmd("clearOutOfBandMembers",[e])},getClientOptions:function(){return this._doCmd("getClientOptions")},storeClientOptions:function(e){return this._doCmd("storeClientOptions",[e])},getUserPresenceEvents:function(){return this._doCmd("getUserPresenceEvents")},_ensureStarted:function(){return null===this._startPromise&&(this._worker=new this._workerApi(this._workerScript),this._worker.onmessage=this._onWorkerMessage.bind(this),this._startPromise=this._doCmd("_setupWorker",[this._dbName]).then(()=>{r.logger.log("IndexedDB worker is ready")})),this._startPromise},_doCmd:function(e,t){return Promise.resolve().then(()=>{const n=this._nextSeq++,r=(0,i.defer)();return this._inFlight[n]=r,this._worker.postMessage({command:e,seq:n,args:t}),r.promise})},_onWorkerMessage:function(e){const t=e.data;if("cmd_success"==t.command||"cmd_fail"==t.command){if(void 0===t.seq)return void r.logger.error("Got reply from worker with no seq");const e=this._inFlight[t.seq];if(void 0===e)return void r.logger.error("Got reply for unknown seq "+t.seq);if(delete this._inFlight[t.seq],"cmd_success"==t.command)e.resolve(t.result);else{const n=new Error(t.error.message);n.name=t.error.name,e.reject(n)}}else r.logger.warn("Unrecognised message from worker: "+t)}}},function(e,t,n){"use strict";var r=n(7);Object.defineProperty(t,"__esModule",{value:!0}),t.WebStorageSessionStore=s;var i=r(n(8));n(4);const o="session.e2e.";function s(e){if(this.store=e,!(i.isFunction(e.getItem)&&i.isFunction(e.setItem)&&i.isFunction(e.removeItem)&&i.isFunction(e.key)&&"number"==typeof e.length))throw new Error("Supplied webStore does not meet the WebStorage API interface")}s.prototype={removeEndToEndAccount:function(){this.store.removeItem(a)},getEndToEndAccount:function(){return this.store.getItem(a)},getAllEndToEndDevices:function(){const e=l(""),t={};for(let n=0;n<this.store.length;++n){const r=this.store.key(n),i=r.substr(e.length);r.startsWith(e)&&(t[i]=p(this.store,r))}return t},getEndToEndDeviceTrackingStatus:function(){return p(this.store,c)},getEndToEndDeviceSyncToken:function(){return p(this.store,f)},removeEndToEndDeviceData:function(){m(this.store,l("")),m(this.store,c),m(this.store,f)},getEndToEndSessions:function(e){return p(this.store,d(e))},getAllEndToEndSessions:function(){const e=g(this.store,d("")),t={};for(const n of e){t[n.substr(d("").length)]=p(this.store,n)}return t},removeAllEndToEndSessions:function(){m(this.store,d(""))},getAllEndToEndInboundGroupSessionKeys:function(){const e=o+"inboundgroupsessions/",t=[];for(let n=0;n<this.store.length;n++){const r=this.store.key(n);r.startsWith(e)&&t.push({senderKey:r.substr(e.length,43),sessionId:r.substr(e.length+44)})}return t},getEndToEndInboundGroupSession:function(e,t){const n=function(e,t){return o+"inboundgroupsessions/"+e+"/"+t}(e,t);return this.store.getItem(n)},removeAllEndToEndInboundGroupSessions:function(){m(this.store,o+"inboundgroupsessions/")},getAllEndToEndRooms:function(){const e=g(this.store,h("")),t={};for(const n of e){t[n.substr(h("").length)]=p(this.store,n)}return t},removeAllEndToEndRooms:function(){m(this.store,h(""))},setLocalTrustedBackupPubKey:function(e){this.store.setItem(u,e)},getLocalTrustedBackupPubKey:function(){return this.store.getItem(u)}};const a=o+"account",f=o+"device_sync_token",c=o+"device_tracking",u=o+"trusted_backup_pubkey";function l(e){return o+"devices/"+e}function d(e){return o+"sessions/"+e}function h(e){return o+"rooms/"+e}function p(e,t){try{return JSON.parse(e.getItem(t))}catch(e){_("Failed to get key %s: %s",t,e),_(e.stack)}return null}function g(e,t){const n=[];for(let r=0;r<e.length;++r){const i=e.key(r);i.startsWith(t)&&n.push(i)}return n}function m(e,t){const n=[];for(let r=0;r<e.length;++r){const i=e.key(r);i.startsWith(t)&&n.push(i)}for(const t of n)e.removeItem(t)}function _(){0}},function(e,t,n){var r,i,o;i=[],void 0===(o="function"==typeof(r=function(){var e=XMLHttpRequest;if(!e)throw new Error("missing XMLHttpRequest");function t(o,s){if("function"!=typeof s)throw new Error("Bad callback given: "+s);if(!o)throw new Error("No options given");var a=o.onResponse;if((o="string"==typeof o?{uri:o}:JSON.parse(JSON.stringify(o))).onResponse=a,o.verbose&&(t.log=function(){var e,t,n={},o=["trace","debug","info","warn","error"];for(t=0;t<o.length;t++)n[e=o[t]]=r,"undefined"!=typeof console&&console&&console[e]&&(n[e]=i(console,e));return n}()),o.url&&(o.uri=o.url,delete o.url),!o.uri&&""!==o.uri)throw new Error("options.uri is a required argument");if("string"!=typeof o.uri)throw new Error("options.uri must be a string");for(var f=["proxy","_redirectsFollowed","maxRedirects","followRedirect"],c=0;c<f.length;c++)if(o[f[c]])throw new Error("options."+f[c]+" is not supported");if(o.callback=s,o.method=o.method||"GET",o.headers=o.headers||{},o.body=o.body||null,o.timeout=o.timeout||t.DEFAULT_TIMEOUT,o.headers.host)throw new Error("Options.headers.host is not supported");o.json&&(o.headers.accept=o.headers.accept||"application/json","GET"!==o.method&&(o.headers["content-type"]="application/json"),"boolean"!=typeof o.json?o.body=JSON.stringify(o.json):"string"!=typeof o.body&&(o.body=JSON.stringify(o.body)));var u=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t.join("&")};if(o.qs){var l="string"==typeof o.qs?o.qs:u(o.qs);-1!==o.uri.indexOf("?")?o.uri=o.uri+"&"+l:o.uri=o.uri+"?"+l}if(o.form){if("string"==typeof o.form)throw"form name unsupported";if("POST"===o.method){var d=(o.encoding||"application/x-www-form-urlencoded").toLowerCase();switch(o.headers["content-type"]=d,d){case"application/x-www-form-urlencoded":o.body=u(o.form).replace(/%20/g,"+");break;case"multipart/form-data":var h=function(e){var t={};t.boundry="-------------------------------"+Math.floor(1e9*Math.random());var n=[];for(var r in e)e.hasOwnProperty(r)&&n.push("--"+t.boundry+'\nContent-Disposition: form-data; name="'+r+'"\n\n'+e[r]+"\n");return n.push("--"+t.boundry+"--"),t.body=n.join(""),t.length=t.body.length,t.type="multipart/form-data; boundary="+t.boundry,t}(o.form);o.body=h.body,o.headers["content-type"]=h.type;break;default:throw new Error("unsupported encoding:"+d)}}}return o.onResponse=o.onResponse||r,!0===o.onResponse&&(o.onResponse=s,o.callback=r),!o.headers.authorization&&o.auth&&(o.headers.authorization="Basic "+function(e){var t,n,r,i,o,s,a,f,c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",u=0,l=0,d="",h=[];if(!e)return e;do{t=e.charCodeAt(u++),n=e.charCodeAt(u++),r=e.charCodeAt(u++),i=(f=t<<16|n<<8|r)>>18&63,o=f>>12&63,s=f>>6&63,a=63&f,h[l++]=c.charAt(i)+c.charAt(o)+c.charAt(s)+c.charAt(a)}while(u<e.length);switch(d=h.join(""),e.length%3){case 1:d=d.slice(0,-2)+"==";break;case 2:d=d.slice(0,-1)+"="}return d}(o.auth.username+":"+o.auth.password)),function(r){var i=new e,o=!1,s=function(e){var t,n=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/;try{t=location.href}catch(e){(t=document.createElement("a")).href="",t=t.href}var r=n.exec(t.toLowerCase())||[],i=n.exec(e.toLowerCase());return!(!i||i[1]==r[1]&&i[2]==r[2]&&(i[3]||("http:"===i[1]?80:443))==(r[3]||("http:"===r[1]?80:443)))}(r.uri),a="withCredentials"in i;if(n+=1,i.seq_id=n,i.id=n+": "+r.method+" "+r.uri,i._id=i.id,s&&!a){var f=new Error("Browser does not support cross-origin request: "+r.uri);return f.cors="unsupported",r.callback(f,i)}i.timeoutTimer=setTimeout((function(){o=!0;var e=new Error("ETIMEDOUT");return e.code="ETIMEDOUT",e.duration=r.timeout,t.log.error("Timeout",{id:i._id,milliseconds:r.timeout}),r.callback(e,i)}),r.timeout);var c={response:!1,loading:!1,end:!1};return i.onreadystatechange=function(n){if(o)return t.log.debug("Ignoring timed out state change",{state:i.readyState,id:i.id});if(t.log.debug("State change",{state:i.readyState,id:i.id,timed_out:o}),i.readyState===e.OPENED)for(var s in t.log.debug("Request started",{id:i.id}),r.headers)i.setRequestHeader(s,r.headers[s]);else i.readyState===e.HEADERS_RECEIVED?u():i.readyState===e.LOADING?(u(),l()):i.readyState===e.DONE&&(u(),l(),function(){if(c.end)return;if(c.end=!0,t.log.debug("Request done",{id:i.id}),i.body=i.responseText,r.json)try{i.body=JSON.parse(i.responseText)}catch(e){return r.callback(e,i)}r.callback(null,i,i.body)}())},i.open(r.method,r.uri,!0),s&&(i.withCredentials=!!r.withCredentials),i.send(r.body),i;function u(){if(!c.response){if(c.response=!0,t.log.debug("Got response",{id:i.id,status:i.status}),clearTimeout(i.timeoutTimer),i.statusCode=i.status,s&&0==i.statusCode){var e=new Error("CORS request rejected: "+r.uri);return e.cors="rejected",c.loading=!0,c.end=!0,r.callback(e,i)}r.onResponse(null,i)}}function l(){c.loading||(c.loading=!0,t.log.debug("Response body loading",{id:i.id}))}}(o)}t.log={trace:r,debug:r,info:r,warn:r,error:r};var n=0;function r(){}function i(e,t){return function(n,r){return"object"==typeof r&&(n+=" "+JSON.stringify(r)),e[t].call(e,n)}}return t.withCredentials=!1,t.DEFAULT_TIMEOUT=18e4,t.defaults=function(e,n){var r=function(t){return function(n,r){for(var i in n="string"==typeof n?{uri:n}:JSON.parse(JSON.stringify(n)),e)void 0===n[i]&&(n[i]=e[i]);return t(n,r)}},i=r(t);return i.get=r(t.get),i.post=r(t.post),i.put=r(t.put),i.head=r(t.head),i},["get","put","post","head"].forEach((function(e){var n=e.toUpperCase();t[e.toLowerCase()]=function(e){"string"==typeof e?e={method:n,uri:e}:(e=JSON.parse(JSON.stringify(e))).method=n;var r=[e].concat(Array.prototype.slice.apply(arguments,[1]));return t.apply(this,r)}})),t.couch=function(e,n){return"string"==typeof e&&(e={uri:e}),e.json=!0,e.body&&(e.json=e.body),delete e.body,n=n||r,t(e,(function(e,t,r){if(e)return n(e,t,r);if((t.statusCode<200||t.statusCode>299)&&r.error){for(var i in e=new Error("CouchDB error: "+(r.error.reason||r.error.error)),r)e[i]=r[i];return n(e,t,r)}return n(e,t,r)}))},t})?r.apply(t,i):r)||(e.exports=o)},function(e,t,n){"use strict";var r=n(306),i=n(307),o=n(143);e.exports={formats:o,parse:i,stringify:r}},function(e,t,n){"use strict";var r=n(81),i=n(143),o=Object.prototype.hasOwnProperty,s={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},a=Array.isArray,f=Array.prototype.push,c=function(e,t){f.apply(e,a(t)?t:[t])},u=Date.prototype.toISOString,l=i.default,d={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:r.encode,encodeValuesOnly:!1,format:l,formatter:i.formatters[l],indices:!1,serializeDate:function(e){return u.call(e)},skipNulls:!1,strictNullHandling:!1},h=function e(t,n,i,o,s,f,u,l,h,p,g,m,_){var y,b=t;if("function"==typeof u?b=u(n,b):b instanceof Date?b=p(b):"comma"===i&&a(b)&&(b=r.maybeMap(b,(function(e){return e instanceof Date?p(e):e})).join(",")),null===b){if(o)return f&&!m?f(n,d.encoder,_,"key"):n;b=""}if("string"==typeof(y=b)||"number"==typeof y||"boolean"==typeof y||"symbol"==typeof y||"bigint"==typeof y||r.isBuffer(b))return f?[g(m?n:f(n,d.encoder,_,"key"))+"="+g(f(b,d.encoder,_,"value"))]:[g(n)+"="+g(String(b))];var v,A=[];if(void 0===b)return A;if(a(u))v=u;else{var w=Object.keys(b);v=l?w.sort(l):w}for(var E=0;E<v.length;++E){var S=v[E],k=b[S];if(!s||null!==k){var I=a(b)?"function"==typeof i?i(n,S):n:n+(h?"."+S:"["+S+"]");c(A,e(k,I,i,o,s,f,u,l,h,p,g,m,_))}}return A};e.exports=function(e,t){var n,r=e,f=function(e){if(!e)return d;if(null!==e.encoder&&void 0!==e.encoder&&"function"!=typeof e.encoder)throw new TypeError("Encoder has to be a function.");var t=e.charset||d.charset;if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var n=i.default;if(void 0!==e.format){if(!o.call(i.formatters,e.format))throw new TypeError("Unknown format option provided.");n=e.format}var r=i.formatters[n],s=d.filter;return("function"==typeof e.filter||a(e.filter))&&(s=e.filter),{addQueryPrefix:"boolean"==typeof e.addQueryPrefix?e.addQueryPrefix:d.addQueryPrefix,allowDots:void 0===e.allowDots?d.allowDots:!!e.allowDots,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:d.charsetSentinel,delimiter:void 0===e.delimiter?d.delimiter:e.delimiter,encode:"boolean"==typeof e.encode?e.encode:d.encode,encoder:"function"==typeof e.encoder?e.encoder:d.encoder,encodeValuesOnly:"boolean"==typeof e.encodeValuesOnly?e.encodeValuesOnly:d.encodeValuesOnly,filter:s,formatter:r,serializeDate:"function"==typeof e.serializeDate?e.serializeDate:d.serializeDate,skipNulls:"boolean"==typeof e.skipNulls?e.skipNulls:d.skipNulls,sort:"function"==typeof e.sort?e.sort:null,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:d.strictNullHandling}}(t);"function"==typeof f.filter?r=(0,f.filter)("",r):a(f.filter)&&(n=f.filter);var u,l=[];if("object"!=typeof r||null===r)return"";u=t&&t.arrayFormat in s?t.arrayFormat:t&&"indices"in t?t.indices?"indices":"repeat":"indices";var p=s[u];n||(n=Object.keys(r)),f.sort&&n.sort(f.sort);for(var g=0;g<n.length;++g){var m=n[g];f.skipNulls&&null===r[m]||c(l,h(r[m],m,p,f.strictNullHandling,f.skipNulls,f.encode?f.encoder:null,f.filter,f.sort,f.allowDots,f.serializeDate,f.formatter,f.encodeValuesOnly,f.charset))}var _=l.join(f.delimiter),y=!0===f.addQueryPrefix?"?":"";return f.charsetSentinel&&("iso-8859-1"===f.charset?y+="utf8=%26%2310003%3B&":y+="utf8=%E2%9C%93&"),_.length>0?y+_:""}},function(e,t,n){"use strict";var r=n(81),i=Object.prototype.hasOwnProperty,o=Array.isArray,s={allowDots:!1,allowPrototypes:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:r.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},a=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},f=function(e,t){return e&&"string"==typeof e&&t.comma&&e.indexOf(",")>-1?e.split(","):e},c=function(e,t,n,r){if(e){var o=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,s=/(\[[^[\]]*])/g,a=n.depth>0&&/(\[[^[\]]*])/.exec(o),c=a?o.slice(0,a.index):o,u=[];if(c){if(!n.plainObjects&&i.call(Object.prototype,c)&&!n.allowPrototypes)return;u.push(c)}for(var l=0;n.depth>0&&null!==(a=s.exec(o))&&l<n.depth;){if(l+=1,!n.plainObjects&&i.call(Object.prototype,a[1].slice(1,-1))&&!n.allowPrototypes)return;u.push(a[1])}return a&&u.push("["+o.slice(a.index)+"]"),function(e,t,n,r){for(var i=r?t:f(t,n),o=e.length-1;o>=0;--o){var s,a=e[o];if("[]"===a&&n.parseArrays)s=[].concat(i);else{s=n.plainObjects?Object.create(null):{};var c="["===a.charAt(0)&&"]"===a.charAt(a.length-1)?a.slice(1,-1):a,u=parseInt(c,10);n.parseArrays||""!==c?!isNaN(u)&&a!==c&&String(u)===c&&u>=0&&n.parseArrays&&u<=n.arrayLimit?(s=[])[u]=i:s[c]=i:s={0:i}}i=s}return i}(u,t,n,r)}};e.exports=function(e,t){var n=function(e){if(!e)return s;if(null!==e.decoder&&void 0!==e.decoder&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t=void 0===e.charset?s.charset:e.charset;return{allowDots:void 0===e.allowDots?s.allowDots:!!e.allowDots,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:s.allowPrototypes,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:s.arrayLimit,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:s.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:s.comma,decoder:"function"==typeof e.decoder?e.decoder:s.decoder,delimiter:"string"==typeof e.delimiter||r.isRegExp(e.delimiter)?e.delimiter:s.delimiter,depth:"number"==typeof e.depth||!1===e.depth?+e.depth:s.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:s.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:s.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:s.plainObjects,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:s.strictNullHandling}}(t);if(""===e||null==e)return n.plainObjects?Object.create(null):{};for(var u="string"==typeof e?function(e,t){var n,c={},u=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,l=t.parameterLimit===1/0?void 0:t.parameterLimit,d=u.split(t.delimiter,l),h=-1,p=t.charset;if(t.charsetSentinel)for(n=0;n<d.length;++n)0===d[n].indexOf("utf8=")&&("utf8=%E2%9C%93"===d[n]?p="utf-8":"utf8=%26%2310003%3B"===d[n]&&(p="iso-8859-1"),h=n,n=d.length);for(n=0;n<d.length;++n)if(n!==h){var g,m,_=d[n],y=_.indexOf("]="),b=-1===y?_.indexOf("="):y+1;-1===b?(g=t.decoder(_,s.decoder,p,"key"),m=t.strictNullHandling?null:""):(g=t.decoder(_.slice(0,b),s.decoder,p,"key"),m=r.maybeMap(f(_.slice(b+1),t),(function(e){return t.decoder(e,s.decoder,p,"value")}))),m&&t.interpretNumericEntities&&"iso-8859-1"===p&&(m=a(m)),_.indexOf("[]=")>-1&&(m=o(m)?[m]:m),i.call(c,g)?c[g]=r.combine(c[g],m):c[g]=m}return c}(e,n):e,l=n.plainObjects?Object.create(null):{},d=Object.keys(u),h=0;h<d.length;++h){var p=d[h],g=c(p,u[p],n,"string"==typeof e);l=r.merge(l,g,n)}return r.compact(l)}},function(e,t,n){var r=n(309),i=n(144);e.exports=function(e,t,n){var o=t&&n||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var s=(e=e||{}).random||(e.rng||r)();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t)for(var a=0;a<16;++a)t[o+a]=s[a];return t||i(s)}},function(e,t){var n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(n){var r=new Uint8Array(16);e.exports=function(){return n(r),r}}else{var i=new Array(16);e.exports=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),i[t]=e>>>((3&t)<<3)&255;return i}}},function(e,t,n){var r=n(311),i=n(312);e.exports=r("v5",80,i)},function(e,t,n){var r=n(144);e.exports=function(e,t,n){var i=function(e,i,o,s){var a=o&&s||0;if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=new Array(e.length),n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}(e)),"string"==typeof i&&(i=function(e){var t=[];return e.replace(/[a-fA-F0-9]{2}/g,(function(e){t.push(parseInt(e,16))})),t}(i)),!Array.isArray(e))throw TypeError("value must be an array of bytes");if(!Array.isArray(i)||16!==i.length)throw TypeError("namespace must be uuid string or an Array of 16 byte values");var f=n(i.concat(e));if(f[6]=15&f[6]|t,f[8]=63&f[8]|128,o)for(var c=0;c<16;++c)o[a+c]=f[c];return o||r(f)};try{i.name=e}catch(e){}return i.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",i.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",i}},function(e,t,n){"use strict";function r(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:return t^n^r;case 2:return t&n^t&r^n&r;case 3:return t^n^r}}function i(e,t){return e<<t|e>>>32-t}e.exports=function(e){var t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var o=unescape(encodeURIComponent(e));e=new Array(o.length);for(var s=0;s<o.length;s++)e[s]=o.charCodeAt(s)}e.push(128);var a=e.length/4+2,f=Math.ceil(a/16),c=new Array(f);for(s=0;s<f;s++){c[s]=new Array(16);for(var u=0;u<16;u++)c[s][u]=e[64*s+4*u]<<24|e[64*s+4*u+1]<<16|e[64*s+4*u+2]<<8|e[64*s+4*u+3]}for(c[f-1][14]=8*(e.length-1)/Math.pow(2,32),c[f-1][14]=Math.floor(c[f-1][14]),c[f-1][15]=8*(e.length-1)&4294967295,s=0;s<f;s++){for(var l=new Array(80),d=0;d<16;d++)l[d]=c[s][d];for(d=16;d<80;d++)l[d]=i(l[d-3]^l[d-8]^l[d-14]^l[d-16],1);var h=n[0],p=n[1],g=n[2],m=n[3],_=n[4];for(d=0;d<80;d++){var y=Math.floor(d/20),b=i(h,5)+r(y,p,g,m)+_+t[y]+l[d]>>>0;_=m,m=g,g=i(p,30)>>>0,p=h,h=b}n[0]=n[0]+h>>>0,n[1]=n[1]+p>>>0,n[2]=n[2]+g>>>0,n[3]=n[3]+m>>>0,n[4]=n[4]+_>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]}},function(e,t,n){"use strict";t.__esModule=!0;var r,i=n(0),o=(r=i)&&r.__esModule?r:{default:r},s=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(314));function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var c=s.options,u=c.Options;function l(e,t){for(var n=s.tokenize(e),r=[],i=0,a=0;a<n.length;a++){var f=n[a];if("nl"===f.type&&t.nl2br)r.push(o.default.createElement("br",{key:"linkified-"+ ++i}));else if(f.isLink&&t.check(f)){var c=t.resolve(f),u=c.formatted,l=c.formattedHref,d=c.tagName,h=c.className,p=c.target,g=c.attributes,m={key:"linkified-"+ ++i,href:l};if(h&&(m.className=h),p&&(m.target=p),g)for(var _ in g)m[_]=g[_];r.push(o.default.createElement(d,m,u))}else r.push(f.toString())}return r}var d=function(e){function t(){return a(this,t),f(this,e.apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.render=function(){var e={key:"linkified-element-0"};for(var t in this.props)"options"!==t&&"tagName"!==t&&(e[t]=this.props[t]);var n=new u(this.props.options),r=this.props.tagName||"span";return function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(0===o.default.Children.count(t.props.children))return t;var i=[];o.default.Children.forEach(t.props.children,(function(t){"string"==typeof t?(r+=1,i.push.apply(i,l(t,n))):o.default.isValidElement(t)?"string"==typeof t.type&&c.contains(n.ignoreTags,t.type.toUpperCase())?i.push(t):i.push(e(t,n,++r)):i.push(t)}));var s={key:"linkified-element-"+r};for(var a in t.props)s[a]=t.props[a];return o.default.cloneElement(t,s,i)}(o.default.createElement(r,e),n,0)},t}(o.default.Component);t.default=d},function(e,t,n){"use strict";t.__esModule=!0,t.tokenize=t.test=t.scanner=t.parser=t.options=t.inherits=t.find=void 0;var r=n(50),i=a(n(315)),o=a(n(316)),s=a(n(317));function a(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)});var f=function(e){return s.run(o.run(e))};t.find=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=f(e),r=[],i=0;i<n.length;i++){var o=n[i];!o.isLink||t&&o.type!==t||r.push(o.toObject())}return r},t.inherits=r.inherits,t.options=i,t.parser=s,t.scanner=o,t.test=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=f(e);return 1===n.length&&n[0].isLink&&(!t||n[0].type===t)},t.tokenize=f},function(e,t,n){"use strict";t.__esModule=!0;var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i={defaultProtocol:"http",events:null,format:s,formatHref:s,nl2br:!1,tagName:"a",target:function(e,t){return"url"===t?"_blank":null},validate:!0,ignoreTags:[],attributes:null,className:"linkified"};function o(e){e=e||{},this.defaultProtocol=e.hasOwnProperty("defaultProtocol")?e.defaultProtocol:i.defaultProtocol,this.events=e.hasOwnProperty("events")?e.events:i.events,this.format=e.hasOwnProperty("format")?e.format:i.format,this.formatHref=e.hasOwnProperty("formatHref")?e.formatHref:i.formatHref,this.nl2br=e.hasOwnProperty("nl2br")?e.nl2br:i.nl2br,this.tagName=e.hasOwnProperty("tagName")?e.tagName:i.tagName,this.target=e.hasOwnProperty("target")?e.target:i.target,this.validate=e.hasOwnProperty("validate")?e.validate:i.validate,this.ignoreTags=[],this.attributes=e.attributes||e.linkAttributes||i.attributes,this.className=e.hasOwnProperty("className")?e.className:e.linkClass||i.className;for(var t=e.hasOwnProperty("ignoreTags")?e.ignoreTags:i.ignoreTags,n=0;n<t.length;n++)this.ignoreTags.push(t[n].toUpperCase())}function s(e){return e}t.defaults=i,t.Options=o,t.contains=function(e,t){for(var n=0;n<e.length;n++)if(e[n]===t)return!0;return!1},o.prototype={resolve:function(e){var t=e.toHref(this.defaultProtocol);return{formatted:this.get("format",e.toString(),e),formattedHref:this.get("formatHref",t,e),tagName:this.get("tagName",t,e),className:this.get("className",t,e),target:this.get("target",t,e),events:this.getObject("events",t,e),attributes:this.getObject("attributes",t,e)}},check:function(e){return this.get("validate",e.toString(),e)},get:function(e,t,n){var o=void 0,s=this[e];if(!s)return s;switch(void 0===s?"undefined":r(s)){case"function":return s(t,n.type);case"object":return"function"==typeof(o=s.hasOwnProperty(n.type)?s[n.type]:i[e])?o(t,n.type):o}return s},getObject:function(e,t,n){var r=this[e];return"function"==typeof r?r(t,n.type):r}}},function(e,t,n){"use strict";t.__esModule=!0,t.start=t.run=t.TOKENS=t.State=void 0;var r=n(145),i=n(82),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(i);var s="aaa|aarp|abarth|abb|abbott|abbvie|abc|able|abogado|abudhabi|ac|academy|accenture|accountant|accountants|aco|active|actor|ad|adac|ads|adult|ae|aeg|aero|aetna|af|afamilycompany|afl|africa|ag|agakhan|agency|ai|aig|aigo|airbus|airforce|airtel|akdn|al|alfaromeo|alibaba|alipay|allfinanz|allstate|ally|alsace|alstom|am|americanexpress|americanfamily|amex|amfam|amica|amsterdam|analytics|android|anquan|anz|ao|aol|apartments|app|apple|aq|aquarelle|ar|arab|aramco|archi|army|arpa|art|arte|as|asda|asia|associates|at|athleta|attorney|au|auction|audi|audible|audio|auspost|author|auto|autos|avianca|aw|aws|ax|axa|az|azure|ba|baby|baidu|banamex|bananarepublic|band|bank|bar|barcelona|barclaycard|barclays|barefoot|bargains|baseball|basketball|bauhaus|bayern|bb|bbc|bbt|bbva|bcg|bcn|bd|be|beats|beauty|beer|bentley|berlin|best|bestbuy|bet|bf|bg|bh|bharti|bi|bible|bid|bike|bing|bingo|bio|biz|bj|black|blackfriday|blanco|blockbuster|blog|bloomberg|blue|bm|bms|bmw|bn|bnl|bnpparibas|bo|boats|boehringer|bofa|bom|bond|boo|book|booking|boots|bosch|bostik|boston|bot|boutique|box|br|bradesco|bridgestone|broadway|broker|brother|brussels|bs|bt|budapest|bugatti|build|builders|business|buy|buzz|bv|bw|by|bz|bzh|ca|cab|cafe|cal|call|calvinklein|cam|camera|camp|cancerresearch|canon|capetown|capital|capitalone|car|caravan|cards|care|career|careers|cars|cartier|casa|case|caseih|cash|casino|cat|catering|catholic|cba|cbn|cbre|cbs|cc|cd|ceb|center|ceo|cern|cf|cfa|cfd|cg|ch|chanel|channel|chase|chat|cheap|chintai|chloe|christmas|chrome|chrysler|church|ci|cipriani|circle|cisco|citadel|citi|citic|city|cityeats|ck|cl|claims|cleaning|click|clinic|clinique|clothing|cloud|club|clubmed|cm|cn|co|coach|codes|coffee|college|cologne|com|comcast|commbank|community|company|compare|computer|comsec|condos|construction|consulting|contact|contractors|cooking|cookingchannel|cool|coop|corsica|country|coupon|coupons|courses|cr|credit|creditcard|creditunion|cricket|crown|crs|cruise|cruises|csc|cu|cuisinella|cv|cw|cx|cy|cymru|cyou|cz|dabur|dad|dance|data|date|dating|datsun|day|dclk|dds|de|deal|dealer|deals|degree|delivery|dell|deloitte|delta|democrat|dental|dentist|desi|design|dev|dhl|diamonds|diet|digital|direct|directory|discount|discover|dish|diy|dj|dk|dm|dnp|do|docs|doctor|dodge|dog|doha|domains|dot|download|drive|dtv|dubai|duck|dunlop|duns|dupont|durban|dvag|dvr|dz|earth|eat|ec|eco|edeka|edu|education|ee|eg|email|emerck|energy|engineer|engineering|enterprises|epost|epson|equipment|er|ericsson|erni|es|esq|estate|esurance|et|etisalat|eu|eurovision|eus|events|everbank|exchange|expert|exposed|express|extraspace|fage|fail|fairwinds|faith|family|fan|fans|farm|farmers|fashion|fast|fedex|feedback|ferrari|ferrero|fi|fiat|fidelity|fido|film|final|finance|financial|fire|firestone|firmdale|fish|fishing|fit|fitness|fj|fk|flickr|flights|flir|florist|flowers|fly|fm|fo|foo|food|foodnetwork|football|ford|forex|forsale|forum|foundation|fox|fr|free|fresenius|frl|frogans|frontdoor|frontier|ftr|fujitsu|fujixerox|fun|fund|furniture|futbol|fyi|ga|gal|gallery|gallo|gallup|game|games|gap|garden|gb|gbiz|gd|gdn|ge|gea|gent|genting|george|gf|gg|ggee|gh|gi|gift|gifts|gives|giving|gl|glade|glass|gle|global|globo|gm|gmail|gmbh|gmo|gmx|gn|godaddy|gold|goldpoint|golf|goo|goodhands|goodyear|goog|google|gop|got|gov|gp|gq|gr|grainger|graphics|gratis|green|gripe|grocery|group|gs|gt|gu|guardian|gucci|guge|guide|guitars|guru|gw|gy|hair|hamburg|hangout|haus|hbo|hdfc|hdfcbank|health|healthcare|help|helsinki|here|hermes|hgtv|hiphop|hisamitsu|hitachi|hiv|hk|hkt|hm|hn|hockey|holdings|holiday|homedepot|homegoods|homes|homesense|honda|honeywell|horse|hospital|host|hosting|hot|hoteles|hotels|hotmail|house|how|hr|hsbc|ht|htc|hu|hughes|hyatt|hyundai|ibm|icbc|ice|icu|id|ie|ieee|ifm|ikano|il|im|imamat|imdb|immo|immobilien|in|industries|infiniti|info|ing|ink|institute|insurance|insure|int|intel|international|intuit|investments|io|ipiranga|iq|ir|irish|is|iselect|ismaili|ist|istanbul|it|itau|itv|iveco|iwc|jaguar|java|jcb|jcp|je|jeep|jetzt|jewelry|jio|jlc|jll|jm|jmp|jnj|jo|jobs|joburg|jot|joy|jp|jpmorgan|jprs|juegos|juniper|kaufen|kddi|ke|kerryhotels|kerrylogistics|kerryproperties|kfh|kg|kh|ki|kia|kim|kinder|kindle|kitchen|kiwi|km|kn|koeln|komatsu|kosher|kp|kpmg|kpn|kr|krd|kred|kuokgroup|kw|ky|kyoto|kz|la|lacaixa|ladbrokes|lamborghini|lamer|lancaster|lancia|lancome|land|landrover|lanxess|lasalle|lat|latino|latrobe|law|lawyer|lb|lc|lds|lease|leclerc|lefrak|legal|lego|lexus|lgbt|li|liaison|lidl|life|lifeinsurance|lifestyle|lighting|like|lilly|limited|limo|lincoln|linde|link|lipsy|live|living|lixil|lk|loan|loans|locker|locus|loft|lol|london|lotte|lotto|love|lpl|lplfinancial|lr|ls|lt|ltd|ltda|lu|lundbeck|lupin|luxe|luxury|lv|ly|ma|macys|madrid|maif|maison|makeup|man|management|mango|map|market|marketing|markets|marriott|marshalls|maserati|mattel|mba|mc|mckinsey|md|me|med|media|meet|melbourne|meme|memorial|men|menu|meo|merckmsd|metlife|mg|mh|miami|microsoft|mil|mini|mint|mit|mitsubishi|mk|ml|mlb|mls|mm|mma|mn|mo|mobi|mobile|mobily|moda|moe|moi|mom|monash|money|monster|mopar|mormon|mortgage|moscow|moto|motorcycles|mov|movie|movistar|mp|mq|mr|ms|msd|mt|mtn|mtr|mu|museum|mutual|mv|mw|mx|my|mz|na|nab|nadex|nagoya|name|nationwide|natura|navy|nba|nc|ne|nec|net|netbank|netflix|network|neustar|new|newholland|news|next|nextdirect|nexus|nf|nfl|ng|ngo|nhk|ni|nico|nike|nikon|ninja|nissan|nissay|nl|no|nokia|northwesternmutual|norton|now|nowruz|nowtv|np|nr|nra|nrw|ntt|nu|nyc|nz|obi|observer|off|office|okinawa|olayan|olayangroup|oldnavy|ollo|om|omega|one|ong|onl|online|onyourside|ooo|open|oracle|orange|org|organic|origins|osaka|otsuka|ott|ovh|pa|page|panasonic|panerai|paris|pars|partners|parts|party|passagens|pay|pccw|pe|pet|pf|pfizer|pg|ph|pharmacy|phd|philips|phone|photo|photography|photos|physio|piaget|pics|pictet|pictures|pid|pin|ping|pink|pioneer|pizza|pk|pl|place|play|playstation|plumbing|plus|pm|pn|pnc|pohl|poker|politie|porn|post|pr|pramerica|praxi|press|prime|pro|prod|productions|prof|progressive|promo|properties|property|protection|pru|prudential|ps|pt|pub|pw|pwc|py|qa|qpon|quebec|quest|qvc|racing|radio|raid|re|read|realestate|realtor|realty|recipes|red|redstone|redumbrella|rehab|reise|reisen|reit|reliance|ren|rent|rentals|repair|report|republican|rest|restaurant|review|reviews|rexroth|rich|richardli|ricoh|rightathome|ril|rio|rip|rmit|ro|rocher|rocks|rodeo|rogers|room|rs|rsvp|ru|rugby|ruhr|run|rw|rwe|ryukyu|sa|saarland|safe|safety|sakura|sale|salon|samsclub|samsung|sandvik|sandvikcoromant|sanofi|sap|sapo|sarl|sas|save|saxo|sb|sbi|sbs|sc|sca|scb|schaeffler|schmidt|scholarships|school|schule|schwarz|science|scjohnson|scor|scot|sd|se|search|seat|secure|security|seek|select|sener|services|ses|seven|sew|sex|sexy|sfr|sg|sh|shangrila|sharp|shaw|shell|shia|shiksha|shoes|shop|shopping|shouji|show|showtime|shriram|si|silk|sina|singles|site|sj|sk|ski|skin|sky|skype|sl|sling|sm|smart|smile|sn|sncf|so|soccer|social|softbank|software|sohu|solar|solutions|song|sony|soy|space|spiegel|spot|spreadbetting|sr|srl|srt|st|stada|staples|star|starhub|statebank|statefarm|statoil|stc|stcgroup|stockholm|storage|store|stream|studio|study|style|su|sucks|supplies|supply|support|surf|surgery|suzuki|sv|swatch|swiftcover|swiss|sx|sy|sydney|symantec|systems|sz|tab|taipei|talk|taobao|target|tatamotors|tatar|tattoo|tax|taxi|tc|tci|td|tdk|team|tech|technology|tel|telecity|telefonica|temasek|tennis|teva|tf|tg|th|thd|theater|theatre|tiaa|tickets|tienda|tiffany|tips|tires|tirol|tj|tjmaxx|tjx|tk|tkmaxx|tl|tm|tmall|tn|to|today|tokyo|tools|top|toray|toshiba|total|tours|town|toyota|toys|tr|trade|trading|training|travel|travelchannel|travelers|travelersinsurance|trust|trv|tt|tube|tui|tunes|tushu|tv|tvs|tw|tz|ua|ubank|ubs|uconnect|ug|uk|unicom|university|uno|uol|ups|us|uy|uz|va|vacations|vana|vanguard|vc|ve|vegas|ventures|verisign|versicherung|vet|vg|vi|viajes|video|vig|viking|villas|vin|vip|virgin|visa|vision|vista|vistaprint|viva|vivo|vlaanderen|vn|vodka|volkswagen|volvo|vote|voting|voto|voyage|vu|vuelos|wales|walmart|walter|wang|wanggou|warman|watch|watches|weather|weatherchannel|webcam|weber|website|wed|wedding|weibo|weir|wf|whoswho|wien|wiki|williamhill|win|windows|wine|winners|wme|wolterskluwer|woodside|work|works|world|wow|ws|wtc|wtf|xbox|xerox|xfinity|xihuan|xin|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--30rr7y|xn--3bst00m|xn--3ds443g|xn--3e0b707e|xn--3hcrj9c|xn--3oq18vl8pn36a|xn--3pxu8k|xn--42c2d9a|xn--45br5cyl|xn--45brj9c|xn--45q11c|xn--4gbrim|xn--54b7fta0cc|xn--55qw42g|xn--55qx5d|xn--5su34j936bgsg|xn--5tzm5g|xn--6frz82g|xn--6qq986b3xl|xn--80adxhks|xn--80ao21a|xn--80aqecdr1a|xn--80asehdb|xn--80aswg|xn--8y0a063a|xn--90a3ac|xn--90ae|xn--90ais|xn--9dbq2a|xn--9et52u|xn--9krt00a|xn--b4w605ferd|xn--bck1b9a5dre4c|xn--c1avg|xn--c2br7g|xn--cck2b3b|xn--cg4bki|xn--clchc0ea0b2g2a9gcd|xn--czr694b|xn--czrs0t|xn--czru2d|xn--d1acj3b|xn--d1alf|xn--e1a4c|xn--eckvdtc9d|xn--efvy88h|xn--estv75g|xn--fct429k|xn--fhbei|xn--fiq228c5hs|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--fjq720a|xn--flw351e|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--fzys8d69uvgm|xn--g2xx48c|xn--gckr3f0f|xn--gecrj9c|xn--gk3at1e|xn--h2breg3eve|xn--h2brj9c|xn--h2brj9c8c|xn--hxt814e|xn--i1b6b1a6a2e|xn--imr513n|xn--io0a7i|xn--j1aef|xn--j1amh|xn--j6w193g|xn--jlq61u9w7b|xn--jvr189m|xn--kcrx77d1x4a|xn--kprw13d|xn--kpry57d|xn--kpu716f|xn--kput3i|xn--l1acc|xn--lgbbat1ad8j|xn--mgb9awbf|xn--mgba3a3ejt|xn--mgba3a4f16a|xn--mgba7c0bbn0a|xn--mgbaakc7dvf|xn--mgbaam7a8h|xn--mgbab2bd|xn--mgbai9azgqp6j|xn--mgbayh7gpa|xn--mgbb9fbpob|xn--mgbbh1a|xn--mgbbh1a71e|xn--mgbc0a9azcg|xn--mgbca7dzdo|xn--mgberp4a5d4ar|xn--mgbgu82a|xn--mgbi4ecexp|xn--mgbpl2fh|xn--mgbt3dhd|xn--mgbtx2b|xn--mgbx4cd0ab|xn--mix891f|xn--mk1bu44c|xn--mxtq1m|xn--ngbc5azd|xn--ngbe9e0a|xn--ngbrx|xn--node|xn--nqv7f|xn--nqv7fs00ema|xn--nyqy26a|xn--o3cw4h|xn--ogbpf8fl|xn--p1acf|xn--p1ai|xn--pbt977c|xn--pgbs0dh|xn--pssy2u|xn--q9jyb4c|xn--qcka1pmc|xn--qxam|xn--rhqv96g|xn--rovu88b|xn--rvc1e0am3e|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--tckwe|xn--tiq49xqyj|xn--unup4y|xn--vermgensberater-ctb|xn--vermgensberatung-pwb|xn--vhquv|xn--vuq861b|xn--w4r85el8fhu5dnra|xn--w4rs40l|xn--wgbh1c|xn--wgbl6a|xn--xhq521b|xn--xkc2al3hye2a|xn--xkc2dl3a5ee0h|xn--y9a3aq|xn--yfro4i67o|xn--ygbi2ammx|xn--zfr164b|xperia|xxx|xyz|yachts|yahoo|yamaxun|yandex|ye|yodobashi|yoga|yokohama|you|youtube|yt|yun|za|zappos|zara|zero|zip|zippo|zm|zone|zuerich|zw".split("|"),a="0123456789".split(""),f="0123456789abcdefghijklmnopqrstuvwxyz".split(""),c=[" ","\f","\r","\t","\v"," ","",""],u=[],l=function(e){return new r.CharacterState(e)},d=l(),h=l(i.NUM),p=l(i.DOMAIN),g=l(),m=l(i.WS);d.on("@",l(i.AT)).on(".",l(i.DOT)).on("+",l(i.PLUS)).on("#",l(i.POUND)).on("?",l(i.QUERY)).on("/",l(i.SLASH)).on("_",l(i.UNDERSCORE)).on(":",l(i.COLON)).on("{",l(i.OPENBRACE)).on("[",l(i.OPENBRACKET)).on("<",l(i.OPENANGLEBRACKET)).on("(",l(i.OPENPAREN)).on("}",l(i.CLOSEBRACE)).on("]",l(i.CLOSEBRACKET)).on(">",l(i.CLOSEANGLEBRACKET)).on(")",l(i.CLOSEPAREN)).on("&",l(i.AMPERSAND)).on([",",";","!",'"',"'"],l(i.PUNCTUATION)),d.on("\n",l(i.NL)).on(c,m),m.on(c,m);for(var _=0;_<s.length;_++){var y=(0,r.stateify)(s[_],d,i.TLD,i.DOMAIN);u.push.apply(u,y)}var b=(0,r.stateify)("file",d,i.DOMAIN,i.DOMAIN),v=(0,r.stateify)("ftp",d,i.DOMAIN,i.DOMAIN),A=(0,r.stateify)("http",d,i.DOMAIN,i.DOMAIN),w=(0,r.stateify)("mailto",d,i.DOMAIN,i.DOMAIN);u.push.apply(u,b),u.push.apply(u,v),u.push.apply(u,A),u.push.apply(u,w);var E=b.pop(),S=v.pop(),k=A.pop(),I=w.pop(),R=l(i.DOMAIN),T=l(i.PROTOCOL),O=l(i.MAILTO);S.on("s",R).on(":",T),k.on("s",R).on(":",T),u.push(R),E.on(":",T),R.on(":",T),I.on(":",O);var C=(0,r.stateify)("localhost",d,i.LOCALHOST,i.DOMAIN);u.push.apply(u,C),d.on(a,h),h.on("-",g).on(a,h).on(f,p),p.on("-",g).on(f,p);for(var x=0;x<u.length;x++)u[x].on("-",g).on(f,p);g.on("-",g).on(a,p).on(f,p),d.defaultTransition=l(i.SYM);var M=d;t.State=r.CharacterState,t.TOKENS=o,t.run=function(e){for(var t=e.replace(/[A-Z]/g,(function(e){return e.toLowerCase()})),n=e.length,r=[],i=0;i<n;){for(var o=d,s=null,a=0,f=null,c=-1;i<n&&(s=o.next(t[i]));)(o=s).accepts()?(c=0,f=o):c>=0&&c++,a++,i++;if(!(c<0)){i-=c,a-=c;var u=f.emit();r.push(new u(e.substr(i-a,a)))}}return r},t.start=M},function(e,t,n){"use strict";t.__esModule=!0,t.start=t.run=t.TOKENS=t.State=void 0;var r=n(145),i=n(318),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(i),s=n(82);var a=function(e){return new r.TokenState(e)},f=a(),c=a(),u=a(),l=a(),d=a(),h=a(),p=a(),g=a(i.URL),m=a(),_=a(i.URL),y=a(i.URL),b=a(),v=a(),A=a(),w=a(),E=a(),S=a(i.URL),k=a(i.URL),I=a(i.URL),R=a(i.URL),T=a(),O=a(),C=a(),x=a(),M=a(),P=a(),D=a(i.EMAIL),B=a(),N=a(i.EMAIL),j=a(i.MAILTOEMAIL),U=a(),L=a(),q=a(),F=a(),K=a(i.NL);f.on(s.NL,K).on(s.PROTOCOL,c).on(s.MAILTO,u).on(s.SLASH,l),c.on(s.SLASH,l),l.on(s.SLASH,d),f.on(s.TLD,h).on(s.DOMAIN,h).on(s.LOCALHOST,g).on(s.NUM,h),d.on(s.TLD,y).on(s.DOMAIN,y).on(s.NUM,y).on(s.LOCALHOST,y),h.on(s.DOT,p),M.on(s.DOT,P),p.on(s.TLD,g).on(s.DOMAIN,h).on(s.NUM,h).on(s.LOCALHOST,h),P.on(s.TLD,D).on(s.DOMAIN,M).on(s.NUM,M).on(s.LOCALHOST,M),g.on(s.DOT,p),D.on(s.DOT,P),g.on(s.COLON,m).on(s.SLASH,y),m.on(s.NUM,_),_.on(s.SLASH,y),D.on(s.COLON,B),B.on(s.NUM,N);var G=[s.DOMAIN,s.AT,s.LOCALHOST,s.NUM,s.PLUS,s.POUND,s.PROTOCOL,s.SLASH,s.TLD,s.UNDERSCORE,s.SYM,s.AMPERSAND],z=[s.COLON,s.DOT,s.QUERY,s.PUNCTUATION,s.CLOSEBRACE,s.CLOSEBRACKET,s.CLOSEANGLEBRACKET,s.CLOSEPAREN,s.OPENBRACE,s.OPENBRACKET,s.OPENANGLEBRACKET,s.OPENPAREN];y.on(s.OPENBRACE,v).on(s.OPENBRACKET,A).on(s.OPENANGLEBRACKET,w).on(s.OPENPAREN,E),b.on(s.OPENBRACE,v).on(s.OPENBRACKET,A).on(s.OPENANGLEBRACKET,w).on(s.OPENPAREN,E),v.on(s.CLOSEBRACE,y),A.on(s.CLOSEBRACKET,y),w.on(s.CLOSEANGLEBRACKET,y),E.on(s.CLOSEPAREN,y),S.on(s.CLOSEBRACE,y),k.on(s.CLOSEBRACKET,y),I.on(s.CLOSEANGLEBRACKET,y),R.on(s.CLOSEPAREN,y),T.on(s.CLOSEBRACE,y),O.on(s.CLOSEBRACKET,y),C.on(s.CLOSEANGLEBRACKET,y),x.on(s.CLOSEPAREN,y),v.on(G,S),A.on(G,k),w.on(G,I),E.on(G,R),v.on(z,T),A.on(z,O),w.on(z,C),E.on(z,x),S.on(G,S),k.on(G,k),I.on(G,I),R.on(G,R),S.on(z,S),k.on(z,k),I.on(z,I),R.on(z,R),T.on(G,S),O.on(G,k),C.on(G,I),x.on(G,R),T.on(z,T),O.on(z,O),C.on(z,C),x.on(z,x),y.on(G,y),b.on(G,y),y.on(z,b),b.on(z,b),u.on(s.TLD,j).on(s.DOMAIN,j).on(s.NUM,j).on(s.LOCALHOST,j),j.on(G,j).on(z,U),U.on(G,j).on(z,U);var H=[s.DOMAIN,s.NUM,s.PLUS,s.POUND,s.QUERY,s.UNDERSCORE,s.SYM,s.AMPERSAND,s.TLD];h.on(H,L).on(s.AT,q),g.on(H,L).on(s.AT,q),p.on(H,L),L.on(H,L).on(s.AT,q).on(s.DOT,F),F.on(H,L),q.on(s.TLD,M).on(s.DOMAIN,M).on(s.LOCALHOST,D);t.State=r.TokenState,t.TOKENS=o,t.run=function(e){for(var t=e.length,n=0,r=[],o=[];n<t;){for(var s=f,a=null,c=null,u=0,l=null,d=-1;n<t&&!(a=s.next(e[n]));)o.push(e[n++]);for(;n<t&&(c=a||s.next(e[n]));)a=null,(s=c).accepts()?(d=0,l=s):d>=0&&d++,n++,u++;if(d<0)for(var h=n-u;h<n;h++)o.push(e[h]);else{o.length>0&&(r.push(new i.TEXT(o)),o=[]),n-=d,u-=d;var p=l.emit();r.push(new p(e.slice(n-u,n)))}}return o.length>0&&r.push(new i.TEXT(o)),r},t.start=f},function(e,t,n){"use strict";t.__esModule=!0,t.URL=t.TEXT=t.NL=t.EMAIL=t.MAILTOEMAIL=t.Base=void 0;var r=n(146),i=n(50),o=n(82);function s(e){return e instanceof o.DOMAIN||e instanceof o.TLD}var a=(0,r.createTokenClass)();a.prototype={type:"token",isLink:!1,toString:function(){for(var e=[],t=0;t<this.v.length;t++)e.push(this.v[t].toString());return e.join("")},toHref:function(){return this.toString()},toObject:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"http";return{type:this.type,value:this.toString(),href:this.toHref(e)}}};var f=(0,i.inherits)(a,(0,r.createTokenClass)(),{type:"email",isLink:!0}),c=(0,i.inherits)(a,(0,r.createTokenClass)(),{type:"email",isLink:!0,toHref:function(){return"mailto:"+this.toString()}}),u=(0,i.inherits)(a,(0,r.createTokenClass)(),{type:"text"}),l=(0,i.inherits)(a,(0,r.createTokenClass)(),{type:"nl"}),d=(0,i.inherits)(a,(0,r.createTokenClass)(),{type:"url",isLink:!0,toHref:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"http",t=!1,n=!1,r=this.v,i=[],a=0;r[a]instanceof o.PROTOCOL;)t=!0,i.push(r[a].toString().toLowerCase()),a++;for(;r[a]instanceof o.SLASH;)n=!0,i.push(r[a].toString()),a++;for(;s(r[a]);)i.push(r[a].toString().toLowerCase()),a++;for(;a<r.length;a++)i.push(r[a].toString());return i=i.join(""),t||n||(i=e+"://"+i),i},hasProtocol:function(){return this.v[0]instanceof o.PROTOCOL}});t.Base=a,t.MAILTOEMAIL=f,t.EMAIL=c,t.NL=l,t.TEXT=u,t.URL=d},function(e,t,n){var r=n(320),i=n(321);"string"==typeof(i=i.__esModule?i.default:i)&&(i=[[e.i,i,""]]);var o={insert:"head",singleton:!1},s=(r(e.i,i,o),i.locals?i.locals:{});e.exports=s},function(e,t,n){"use strict";var r,i=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},o=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),s={};function a(e,t,n){for(var r=0;r<t.length;r++){var i={css:t[r][1],media:t[r][2],sourceMap:t[r][3]};s[e][r]?s[e][r](i):s[e].push(g(i,n))}}function f(e){var t=document.createElement("style"),r=e.attributes||{};if(void 0===r.nonce){var i=n.nc;i&&(r.nonce=i)}if(Object.keys(r).forEach((function(e){t.setAttribute(e,r[e])})),"function"==typeof e.insert)e.insert(t);else{var s=o(e.insert||"head");if(!s)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");s.appendChild(t)}return t}var c,u=(c=[],function(e,t){return c[e]=t,c.filter(Boolean).join("\n")});function l(e,t,n,r){var i=n?"":r.css;if(e.styleSheet)e.styleSheet.cssText=u(t,i);else{var o=document.createTextNode(i),s=e.childNodes;s[t]&&e.removeChild(s[t]),s.length?e.insertBefore(o,s[t]):e.appendChild(o)}}function d(e,t,n){var r=n.css,i=n.media,o=n.sourceMap;if(i?e.setAttribute("media",i):e.removeAttribute("media"),o&&btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}var h=null,p=0;function g(e,t){var n,r,i;if(t.singleton){var o=p++;n=h||(h=f(t)),r=l.bind(null,n,o,!1),i=l.bind(null,n,o,!0)}else n=f(t),r=d.bind(null,n,t),i=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else i()}}e.exports=function(e,t,n){return(n=n||{}).singleton||"boolean"==typeof n.singleton||(n.singleton=i()),e=n.base?e+n.base:e,t=t||[],s[e]||(s[e]=[]),a(e,t,n),function(t){if(t=t||[],"[object Array]"===Object.prototype.toString.call(t)){s[e]||(s[e]=[]),a(e,t,n);for(var r=t.length;r<s[e].length;r++)s[e][r]();s[e].length=t.length,0===s[e].length&&delete s[e]}}}},function(e,t,n){(t=n(322)(!1)).push([e.i,"@import url(https://fonts.googleapis.com/css?family=Assistant&display=swap);"]),t.push([e.i,'.cleanslate #safesupport .loader,\n.cleanslate #safesupport .loader:before,\n.cleanslate #safesupport .loader:after {\n border-radius: 50% !important;\n width: 2.5em !important;\n height: 2.5em !important;\n animation-fill-mode: both !important;\n animation: load7 1.8s infinite ease-in-out !important;\n}\n\n.cleanslate #safesupport .loader {\n color: #785BEC !important;\n font-size: 10px !important;\n margin: 1rem auto !important;\n margin-bottom: 2rem !important;\n position: relative !important;\n text-indent: -9999em !important;\n transform: translateZ(0) !important;\n animation-delay: -0.16s !important;\n}\n\n.cleanslate #safesupport .loader:before,\n.cleanslate #safesupport .loader:after {\n content: \'\' !important;\n position: absolute !important;\n top: 0 !important;\n}\n\n.cleanslate #safesupport .loader:before {\n left: -3.5em !important;\n animation-delay: -0.32s !important;\n}\n\n.cleanslate #safesupport .loader:after {\n left: 3.5em !important;\n}\n\n@keyframes load7 {\n 0%, 80%, 100% {\n box-shadow: 0 2.5em 0 -1.3em;\n }\n\n 40% {\n box-shadow: 0 2.5em 0 0;\n }\n}\n\n.cleanslate #safesupport * {\n box-sizing: border-box !important;\n}\n\n@keyframes slideInUp {\n from {\n transform: translate3d(0, 100%, 0);\n display: inherit;\n visibility: visible;\n }\n\n to {\n transform: translate3d(0, 0, 0);\n }\n}\n\n@keyframes slideOutDown {\n from {\n transform: translate3d(0, 0, 0);\n }\n\n to {\n display: none;\n visibility: hidden;\n transform: translate3d(0, 100%, 0);\n }\n}\n\n@keyframes slideInDown {\n from {\n transform: translate3d(0, -100%, 0);\n display: inherit;\n visibility: visible;\n }\n\n to {\n transform: translate3d(0, 0, 0);\n }\n}\n\n@keyframes slideOutUp {\n from {\n transform: translate3d(0, 0, 0);\n }\n\n to {\n display: none;\n visibility: hidden;\n transform: translate3d(0, -100%, 0);\n }\n}\n\n.cleanslate #safesupport .docked-widget {\n position: fixed !important;\n z-index: 9999 !important;\n max-width: 100vw !important;\n font-size: 16px !important;\n}\n\n.cleanslate #safesupport .docked-widget.size-large {\n width: 400px !important;\n}\n\n.cleanslate #safesupport .docked-widget.size-large .dock {\n width: 400px !important;\n}\n\n.cleanslate #safesupport .docked-widget.size-small #open-chatbox-label {\n display: flex !important;\n align-items: center !important;\n}\n\n.cleanslate #safesupport .docked-widget.size-small #open-chatbox-label .icon {\n margin-left: 0.5em !important;\n font-size: 1.2em !important;\n}\n\n.cleanslate #safesupport .dock {\n cursor: pointer !important;\n display: flex !important;\n align-items: center !important;\n justify-content: space-between !important;\n max-width: calc(100vw - 10px) !important;\n color: #fff !important;\n font-family: "Assistant","Helvetica",sans-serif !important;\n font-size: 1em !important;\n border: none !important;\n color: #fff !important;\n font-size: 1em !important;\n line-height: 1 !important;\n background-color: transparent !important;\n padding: 5px !important;\n}\n\n.cleanslate #safesupport .dock #open-chatbox-label {\n background: #785BEC !important;\n padding: 0.75em !important;\n flex: 1 1 auto !important;\n text-align: left !important;\n margin-right: 0.25em !important;\n border: 1px solid #fff !important;\n border-radius: 0.625em !important;\n transition: all 0.2s ease-in-out !important;\n}\n\n.cleanslate #safesupport .dock .label-icon {\n background: #785BEC !important;\n height: 2.625em !important;\n width: 2.625em !important;\n border-radius: 2.625em !important;\n display: flex !important;\n justify-content: center !important;\n align-items: center !important;\n border: 1px solid #fff !important;\n transition: all 0.2s ease-in-out !important;\n}\n\n.cleanslate #safesupport .dock:hover #open-chatbox-label,\n.cleanslate #safesupport .dock:hover .label-icon {\n border: 1px solid #04090F !important;\n box-shadow: inset 0px 0px 0px 1px #04090F !important;\n}\n\n.cleanslate #safesupport .dock:focus {\n outline: none !important;\n}\n\n.cleanslate #safesupport .dock:focus #open-chatbox-label,\n.cleanslate #safesupport .dock:focus .label-icon {\n border: 1px solid #04090F !important;\n box-shadow: inset 0px 0px 0px 1px #04090F !important;\n background-color: #4D3A97 !important;\n}\n\n.cleanslate #safesupport .widget {\n width: 400px !important;\n max-width: calc(100vw - 10px) !important;\n border-bottom: none !important;\n margin: 0 !important;\n animation-duration: 0.2s !important;\n animation-fill-mode: forwards !important;\n}\n\n.cleanslate #safesupport .widget-entering {\n animation-name: slideInUp !important;\n}\n\n.cleanslate #safesupport .widget-entering.position-top {\n animation-name: slideInDown !important;\n}\n\n.cleanslate #safesupport .widget-entered {\n display: inherit !important;\n visibility: visible !important;\n}\n\n.cleanslate #safesupport .widget-exiting {\n animation-name: slideOutDown !important;\n}\n\n.cleanslate #safesupport .widget-exiting.position-top {\n animation-name: slideOutUp !important;\n}\n\n.cleanslate #safesupport .widget-exited {\n display: none !important;\n visibility: hidden !important;\n}\n\n.cleanslate #safesupport .widget-header {\n display: flex !important;\n align-items: center !important;\n margin-bottom: 0.2em !important;\n justify-content: flex-end !important;\n flex: 0 0 auto !important;\n}\n\n.cleanslate #safesupport .widget-header-title {\n display: flex !important;\n flex-grow: 1 !important;\n}\n\n.cleanslate #safesupport .widget-header-minimize {\n cursor: pointer !important;\n display: flex !important;\n align-items: center !important;\n justify-content: flex-start !important;\n border: 1px solid #04090F !important;\n background: #fff !important;\n color: #04090F !important;\n flex: 1 1 auto !important;\n font-family: "Assistant","Helvetica",sans-serif !important;\n font-size: 1em !important;\n padding: 0.5em !important;\n border-radius: 0.625em !important;\n transition: all 0.2s ease-in-out !important;\n}\n\n.cleanslate #safesupport .widget-header-minimize:hover {\n box-shadow: inset 0px 0px 0px 1px #04090F !important;\n}\n\n.cleanslate #safesupport .widget-header-minimize:focus {\n outline: none !important;\n box-shadow: inset 0px 0px 0px 1px #04090F !important;\n background-color: #ebe6fc !important;\n}\n\n.cleanslate #safesupport .widget-header-close {\n font-size: inherit !important;\n cursor: pointer !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n border: 1px solid #04090F !important;\n background: #fff !important;\n border-radius: 2.625em !important;\n padding: 0.5em !important;\n margin-left: 0.2em !important;\n color: #04090F !important;\n transition: all 0.2s ease-in-out !important;\n width: 2.625em !important;\n}\n\n.cleanslate #safesupport .widget-header-close:hover {\n box-shadow: inset 0px 0px 0px 1px #04090F !important;\n}\n\n.cleanslate #safesupport .widget-header-close:focus {\n outline: none !important;\n box-shadow: inset 0px 0px 0px 1px #04090F !important;\n background-color: #ebe6fc !important;\n}\n\n.cleanslate #safesupport .widget-body {\n background: white !important;\n padding: 10px !important;\n height: 150px !important;\n}\n\n.cleanslate #safesupport .widget-footer {\n background: green !important;\n line-height: 30px !important;\n padding-left: 10px !important;\n}\n\n.cleanslate #safesupport .widget button {\n transition: all 0.2s ease-in-out !important;\n}\n\n.cleanslate #safesupport .widget button:hover {\n box-shadow: inset 0px 0px 0px 1px #04090F !important;\n}\n\n.cleanslate #safesupport .widget button:focus {\n background-color: #ebe6fc !important;\n outline: none !important;\n}\n\n.cleanslate #safesupport .btn-icon {\n font-size: 1.5em !important;\n line-height: 1 !important;\n transform: rotateX(0deg) !important;\n transition: all 0.5s linear !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n}\n\n.cleanslate #safesupport .arrow {\n margin-right: 0.5em !important;\n transform: translateY(0.15em) !important;\n}\n\n.cleanslate #safesupport .arrow.opened {\n color: #04090F !important;\n transform: rotateX(180deg) translateY(0.15em) !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox {\n font-family: "Assistant","Helvetica",sans-serif !important;\n display: flex !important;\n flex-direction: column !important;\n height: calc(40vh + 180px) !important;\n max-height: 100vh !important;\n padding: 5px !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox a {\n color: inherit !important;\n transition: all 0.2s ease-in-out !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox a:hover,\n.cleanslate #safesupport #safesupport-chatbox a:focus {\n color: #785BEC !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .message-window {\n background-color: #fff !important;\n border: 1px solid #04090F !important;\n flex: 1 1 auto !important;\n padding: 0.5em !important;\n overflow: scroll !important;\n display: flex !important;\n flex-direction: column-reverse !important;\n justify-content: space-between !important;\n margin-bottom: 0.2em !important;\n border-radius: 0.625em !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .notices {\n color: #828282 !important;\n font-size: 0.9em !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .notices>div {\n margin-top: 0.5em !important;\n margin-bottom: 0.5em !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .message {\n margin-top: 0.5em !important;\n margin-bottom: 0.5em !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .message .text {\n width: -webkit-fit-content !important;\n width: -moz-fit-content !important;\n width: fit-content !important;\n line-height: 1.2 !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .message .buttons {\n display: flex !important;\n align-items: center !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .message .buttons button {\n background-color: transparent !important;\n padding: 0.25em 0.5em !important;\n font-size: 0.9em !important;\n color: inherit !important;\n font-weight: bold !important;\n font-family: "Assistant","Helvetica",sans-serif !important;\n cursor: pointer !important;\n display: flex !important;\n flex: 0 1 auto !important;\n border: 1px solid #785BEC !important;\n transition: all 0.2s ease-in-out !important;\n border-radius: 0.625em !important;\n margin-left: 0.25em !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .message .buttons button:hover {\n border: 1px solid #04090F !important;\n box-shadow: inset 0px 0px 0px 1px #04090F !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .message .buttons button:focus {\n outline: none !important;\n color: #fff !important;\n border: 1px solid #04090F !important;\n box-shadow: inset 0px 0px 0px 1px #04090F !important;\n background-color: #4D3A97 !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .message.from-bot {\n color: #828282 !important;\n font-size: 0.9em !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .message.from-me {\n display: flex !important;\n justify-content: flex-end !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .message.from-me.placeholder {\n opacity: 0.5 !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .message.from-me .text {\n border: 1px solid #785BEC !important;\n background-color: #785BEC !important;\n color: #fff !important;\n border-radius: 1em 1em 0 1em !important;\n margin-left: 10% !important;\n padding: 0.3em 0.6em !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .message.from-me a {\n color: #fff !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .message.from-me a:hover,\n.cleanslate #safesupport #safesupport-chatbox .message.from-me a:focus {\n color: #ebe6fc !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .message.from-support {\n display: flex !important;\n justify-content: flex-start !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .message.from-support .text {\n border: 1px solid #F2F2F2 !important;\n background-color: #F2F2F2 !important;\n color: #04090F !important;\n border-radius: 1em 1em 1em 0 !important;\n margin-right: 10% !important;\n padding: 0.5em 0.75em !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .message.from-support a {\n color: #04090F !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .message.from-support a:hover,\n.cleanslate #safesupport #safesupport-chatbox .message.from-support a:focus {\n color: #4D3A97 !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .input-window {\n flex: 0 0 auto !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .input-window form {\n display: flex !important;\n align-items: center !important;\n margin-bottom: 0 !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .input-window input[type="submit"] {\n background-color: #785BEC !important;\n height: 100% !important;\n padding: 0.5em 1em !important;\n font-size: 1em !important;\n color: #fff !important;\n font-weight: bold !important;\n font-family: "Assistant","Helvetica",sans-serif !important;\n cursor: pointer !important;\n display: flex !important;\n flex: 0 1 auto !important;\n border: 1px solid #785BEC !important;\n transition: all 0.2s ease-in-out !important;\n border-radius: 0.625em !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .input-window input[type="submit"]:hover {\n border: 1px solid #04090F !important;\n box-shadow: inset 0px 0px 0px 1px #04090F !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .input-window input[type="submit"]:focus {\n outline: none !important;\n border: 1px solid #04090F !important;\n box-shadow: inset 0px 0px 0px 1px #04090F !important;\n background-color: #4D3A97 !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container {\n display: flex !important;\n flex: 1 1 auto !important;\n position: relative !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container input[type="text"] {\n font-size: 1em !important;\n padding: 0.5em !important;\n padding-right: 32px !important;\n border: none !important;\n display: flex !important;\n flex: 1 1 auto !important;\n background: #fff !important;\n color: #04090F !important;\n font-family: "Assistant","Helvetica",sans-serif !important;\n margin-right: 0.2em !important;\n transition: all 0.2s ease-in-out !important;\n border-radius: 0.625em !important;\n border: 1px solid #04090F !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container input[type="text"]:hover {\n box-shadow: inset 0px 0px 0px 1px #04090F !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container input[type="text"]:focus {\n outline: none !important;\n box-shadow: inset 0px 0px 0px 1px #04090F !important;\n background: #ebe6fc !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container .emoji-button-container {\n position: absolute !important;\n right: 6px !important;\n top: 0 !important;\n bottom: 0 !important;\n height: 100% !important;\n display: flex !important;\n align-items: center !important;\n justify-content: flex-start !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container .emoji-button-container button {\n transition: all 0.2s ease-in-out !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container .emoji-button-container button:hover {\n box-shadow: none !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container .emoji-button-container button:focus {\n outline: none !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container .emoji-button-container button#emoji-button {\n background: transparent !important;\n border: none !important;\n padding: 0 !important;\n margin-right: 3px !important;\n transition: all 0.2s ease-in-out !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container .emoji-button-container button#emoji-button:hover svg path#icon {\n fill: #785BEC !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container .emoji-button-container button#emoji-button:focus svg path#icon {\n fill: #4D3A97 !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container .emoji-picker {\n animation-duration: 0.2s !important;\n animation-fill-mode: forwards !important;\n position: absolute !important;\n bottom: 32px !important;\n right: -4px !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container .emoji-picker-entering {\n animation-name: slideInUp !important;\n opacity: 0.5 !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container .emoji-picker-entered {\n display: inherit !important;\n visibility: visible !important;\n opacity: 1 !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container .emoji-picker-exiting {\n animation-name: slideOutDown !important;\n opacity: 0.5 !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container .emoji-picker-exited {\n display: none !important;\n visibility: hidden !important;\n opacity: 0 !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .highlight-text {\n color: #785BEC !important;\n}\n\n.cleanslate #safesupport #safesupport-chatbox .pos-relative {\n position: relative !important;\n}\n\n.cleanslate #safesupport .hidden {\n display: none !important;\n}\n\n@media screen and (max-width: 420px) {\n .cleanslate #safesupport .docked-widget .dock {\n justify-content: flex-end !important;\n }\n\n .cleanslate #safesupport .docked-widget #open-chatbox-label {\n flex: 0 1 auto !important;\n }\n\n .cleanslate #safesupport .docked-widget {\n right: 0 !important;\n left: 0 !important;\n bottom: 0 !important;\n }\n\n .cleanslate #safesupport .dock,\n .cleanslate #safesupport .widget {\n width: 100vw !important;\n max-width: 100vw !important;\n padding: 5px !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox {\n height: calc(180px + 60vh) !important;\n }\n}\n\n@media screen and (max-width: 360px) {\n .cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container .emoji-picker {\n position: fixed !important;\n left: 5px !important;\n right: 5px !important;\n bottom: 42px !important;\n }\n}\n\n@media (prefers-color-scheme: dark) {\n .cleanslate #safesupport .loader {\n color: #4F4F4F !important;\n }\n\n .cleanslate #safesupport .dock #open-chatbox-label,\n .cleanslate #safesupport .dock .label-icon {\n border-color: #fff !important;\n }\n\n .cleanslate #safesupport .dock:hover #open-chatbox-label,\n .cleanslate #safesupport .dock:hover .label-icon {\n border: 1px solid #04090F !important;\n box-shadow: inset 0px 0px 0px 1px #04090F !important;\n }\n\n .cleanslate #safesupport .widget-header-minimize,\n .cleanslate #safesupport .widget-header-close {\n background: #0F1116 !important;\n color: #fff !important;\n border: 1px solid #fff !important;\n transition: all 0.2s ease-in-out !important;\n }\n\n .cleanslate #safesupport .widget-header-minimize:hover,\n .cleanslate #safesupport .widget-header-close:hover {\n border-color: #785BEC !important;\n box-shadow: inset 0px 0px 0px 1px #785BEC !important;\n }\n\n .cleanslate #safesupport .widget-header-minimize:focus,\n .cleanslate #safesupport .widget-header-close:focus {\n border-color: #785BEC !important;\n background: #211943 !important;\n box-shadow: inset 0px 0px 0px 1px #785BEC !important;\n outline: none !important;\n }\n\n .cleanslate #safesupport .widget button {\n transition: all 0.2s ease-in-out !important;\n }\n\n .cleanslate #safesupport .widget button:hover {\n border-color: #785BEC !important;\n box-shadow: inset 0px 0px 0px 1px #785BEC !important;\n }\n\n .cleanslate #safesupport .widget button:focus {\n background: #211943 !important;\n box-shadow: inset 0px 0px 0px 1px #785BEC !important;\n outline: none !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .btn-icon {\n color: #fff !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .message-window {\n background-color: #0F1116 !important;\n border: 1px solid #fff !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .notices {\n color: rgba(255,255,255,0.7) !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .message.from-bot {\n color: rgba(255,255,255,0.7) !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .message.from-me .text {\n background-color: #785BEC !important;\n color: #fff !important;\n border: 1px solid #785BEC !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .message.from-support .text {\n background-color: #4F4F4F !important;\n color: #fff !important;\n border: 1px solid #4F4F4F !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .message.from-support a {\n color: #fff !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .message.from-support a:hover,\n .cleanslate #safesupport #safesupport-chatbox .message.from-support a:focus {\n color: #ebe6fc !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .message .buttons button {\n background-color: transparent !important;\n border: 1px solid #785BEC !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .message .buttons button:hover {\n border: 1px solid #ebe6fc !important;\n box-shadow: inset 0px 0px 0px 1px #ebe6fc !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .message .buttons button:focus {\n outline: none !important;\n color: #fff !important;\n border: 1px solid #ebe6fc !important;\n box-shadow: inset 0px 0px 0px 1px #ebe6fc !important;\n background-color: #211943 !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container input[type="text"] {\n background-color: #0F1116 !important;\n color: #fff !important;\n border: 1px solid #fff !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container input[type="text"]:hover {\n border: 1px solid #785BEC !important;\n box-shadow: inset 0px 0px 0px 1px #785BEC !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container input[type="text"]:focus {\n outline: none !important;\n border: 1px solid #785BEC !important;\n box-shadow: inset 0px 0px 0px 1px #785BEC !important;\n background: #211943 !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container ::-webkit-input-placeholder {\n color: rgba(255,255,255,0.7) !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container :-ms-input-placeholder {\n color: rgba(255,255,255,0.7) !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container ::-ms-input-placeholder {\n color: rgba(255,255,255,0.7) !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container ::placeholder {\n color: rgba(255,255,255,0.7) !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container .emoji-button-container button#emoji-button:hover svg path#icon {\n fill: #785BEC !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .input-window .message-input-container .emoji-button-container button#emoji-button:focus svg path#icon {\n fill: #ebe6fc !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .input-window input[type="submit"] {\n background-color: #4F4F4F !important;\n color: #fff !important;\n border: 1px solid #fff !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .input-window input[type="submit"]:hover {\n border: 1px solid #785BEC !important;\n box-shadow: inset 0px 0px 0px 1px #785BEC !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .input-window input[type="submit"]:focus {\n outline: none !important;\n border: 1px solid #785BEC !important;\n box-shadow: inset 0px 0px 0px 1px #785BEC !important;\n background-color: #211943 !important;\n }\n\n .cleanslate #safesupport #safesupport-chatbox .highlight-text {\n color: #fff !important;\n }\n}',""]),e.exports=t},function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||"",r=e[3];if(!r)return n;if(t&&"function"==typeof btoa){var i=(s=r,a=btoa(unescape(encodeURIComponent(JSON.stringify(s)))),f="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(a),"/*# ".concat(f," */")),o=r.sources.map((function(e){return"/*# sourceURL=".concat(r.sourceRoot||"").concat(e," */")}));return[n].concat(o).concat([i]).join("\n")}var s,a,f;return[n].join("\n")}(t,e);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r=0;r<e.length;r++){var i=[].concat(e[r]);n&&(i[2]?i[2]="".concat(n," and ").concat(i[2]):i[2]=n),t.push(i)}},t}},function(e,t,n){"use strict";n(9);var r=n(0),i=n.n(r),o=n(25),s=n.n(o),a=!1,f=i.a.createContext(null),c=function(e){var t,n;function r(t,n){var r;r=e.call(this,t,n)||this;var i,o=n&&!n.isMounting?t.enter:t.appear;return r.appearStatus=null,t.in?o?(i="exited",r.appearStatus="entering"):i="entered":i=t.unmountOnExit||t.mountOnEnter?"unmounted":"exited",r.state={status:i},r.nextCallback=null,r}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,r.getDerivedStateFromProps=function(e,t){return e.in&&"unmounted"===t.status?{status:"exited"}:null};var o=r.prototype;return o.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},o.componentDidUpdate=function(e){var t=null;if(e!==this.props){var n=this.state.status;this.props.in?"entering"!==n&&"entered"!==n&&(t="entering"):"entering"!==n&&"entered"!==n||(t="exiting")}this.updateStatus(!1,t)},o.componentWillUnmount=function(){this.cancelNextCallback()},o.getTimeouts=function(){var e,t,n,r=this.props.timeout;return e=t=n=r,null!=r&&"number"!=typeof r&&(e=r.exit,t=r.enter,n=void 0!==r.appear?r.appear:t),{exit:e,enter:t,appear:n}},o.updateStatus=function(e,t){void 0===e&&(e=!1),null!==t?(this.cancelNextCallback(),"entering"===t?this.performEnter(e):this.performExit()):this.props.unmountOnExit&&"exited"===this.state.status&&this.setState({status:"unmounted"})},o.performEnter=function(e){var t=this,n=this.props.enter,r=this.context?this.context.isMounting:e,i=this.props.nodeRef?[r]:[s.a.findDOMNode(this),r],o=i[0],f=i[1],c=this.getTimeouts(),u=r?c.appear:c.enter;!e&&!n||a?this.safeSetState({status:"entered"},(function(){t.props.onEntered(o)})):(this.props.onEnter(o,f),this.safeSetState({status:"entering"},(function(){t.props.onEntering(o,f),t.onTransitionEnd(u,(function(){t.safeSetState({status:"entered"},(function(){t.props.onEntered(o,f)}))}))})))},o.performExit=function(){var e=this,t=this.props.exit,n=this.getTimeouts(),r=this.props.nodeRef?void 0:s.a.findDOMNode(this);t&&!a?(this.props.onExit(r),this.safeSetState({status:"exiting"},(function(){e.props.onExiting(r),e.onTransitionEnd(n.exit,(function(){e.safeSetState({status:"exited"},(function(){e.props.onExited(r)}))}))}))):this.safeSetState({status:"exited"},(function(){e.props.onExited(r)}))},o.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},o.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},o.setNextCallback=function(e){var t=this,n=!0;return this.nextCallback=function(r){n&&(n=!1,t.nextCallback=null,e(r))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},o.onTransitionEnd=function(e,t){this.setNextCallback(t);var n=this.props.nodeRef?this.props.nodeRef.current:s.a.findDOMNode(this),r=null==e&&!this.props.addEndListener;if(n&&!r){if(this.props.addEndListener){var i=this.props.nodeRef?[this.nextCallback]:[n,this.nextCallback],o=i[0],a=i[1];this.props.addEndListener(o,a)}null!=e&&setTimeout(this.nextCallback,e)}else setTimeout(this.nextCallback,0)},o.render=function(){var e=this.state.status;if("unmounted"===e)return null;var t=this.props,n=t.children,r=(t.in,t.mountOnEnter,t.unmountOnExit,t.appear,t.enter,t.exit,t.timeout,t.addEndListener,t.onEnter,t.onEntering,t.onEntered,t.onExit,t.onExiting,t.onExited,t.nodeRef,function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(t,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return(i.a.createElement(f.Provider,{value:null},"function"==typeof n?n(e,r):i.a.cloneElement(i.a.Children.only(n),r)))},r}(i.a.Component);function u(){}c.contextType=f,c.propTypes={},c.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:u,onEntering:u,onEntered:u,onExit:u,onExiting:u,onExited:u},c.UNMOUNTED="unmounted",c.EXITED="exited",c.ENTERING="entering",c.ENTERED="entered",c.EXITING="exiting";t.a=c}]).default;