@txnlab/use-wallet 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/README.md +143 -0
  2. package/dist/cjs/clients/algosigner.d.ts +62 -0
  3. package/dist/cjs/clients/base.d.ts +72 -0
  4. package/dist/cjs/clients/defly.d.ts +51 -0
  5. package/dist/cjs/clients/exodus.d.ts +52 -0
  6. package/dist/cjs/clients/index.d.ts +300 -0
  7. package/dist/cjs/clients/myalgowallet.d.ts +40 -0
  8. package/dist/cjs/clients/perawallet.d.ts +51 -0
  9. package/dist/cjs/constants/constants.d.ts +10 -0
  10. package/dist/cjs/constants/index.d.ts +1 -0
  11. package/dist/cjs/hooks/index.d.ts +2 -0
  12. package/dist/cjs/hooks/useConnectWallet.d.ts +22 -0
  13. package/dist/cjs/hooks/useWallet.d.ts +10 -0
  14. package/dist/cjs/index.d.ts +3 -0
  15. package/dist/cjs/index.js +3536 -0
  16. package/dist/cjs/index.js.map +1 -0
  17. package/dist/cjs/media/audio.d.ts +1 -0
  18. package/dist/cjs/providers/algosigner.d.ts +2 -0
  19. package/dist/cjs/providers/defly.d.ts +2 -0
  20. package/dist/cjs/providers/exodus.d.ts +2 -0
  21. package/dist/cjs/providers/index.d.ts +7 -0
  22. package/dist/cjs/providers/myalgowallet.d.ts +2 -0
  23. package/dist/cjs/providers/perawallet.d.ts +2 -0
  24. package/dist/cjs/store/index.d.ts +1 -0
  25. package/dist/cjs/store/middelware/immer.d.ts +10 -0
  26. package/dist/cjs/store/state/walletStore.d.ts +19 -0
  27. package/dist/cjs/types/api.d.ts +11 -0
  28. package/dist/cjs/types/index.d.ts +3 -0
  29. package/dist/cjs/types/node.d.ts +41 -0
  30. package/dist/cjs/types/wallet.d.ts +47 -0
  31. package/dist/cjs/utils/index.d.ts +4 -0
  32. package/dist/esm/clients/algosigner.d.ts +62 -0
  33. package/dist/esm/clients/base.d.ts +72 -0
  34. package/dist/esm/clients/defly.d.ts +51 -0
  35. package/dist/esm/clients/exodus.d.ts +52 -0
  36. package/dist/esm/clients/index.d.ts +300 -0
  37. package/dist/esm/clients/myalgowallet.d.ts +40 -0
  38. package/dist/esm/clients/perawallet.d.ts +51 -0
  39. package/dist/esm/constants/constants.d.ts +10 -0
  40. package/dist/esm/constants/index.d.ts +1 -0
  41. package/dist/esm/hooks/index.d.ts +2 -0
  42. package/dist/esm/hooks/useConnectWallet.d.ts +22 -0
  43. package/dist/esm/hooks/useWallet.d.ts +10 -0
  44. package/dist/esm/index.d.ts +3 -0
  45. package/dist/esm/index.js +3506 -0
  46. package/dist/esm/index.js.map +1 -0
  47. package/dist/esm/media/audio.d.ts +1 -0
  48. package/dist/esm/providers/algosigner.d.ts +2 -0
  49. package/dist/esm/providers/defly.d.ts +2 -0
  50. package/dist/esm/providers/exodus.d.ts +2 -0
  51. package/dist/esm/providers/index.d.ts +7 -0
  52. package/dist/esm/providers/myalgowallet.d.ts +2 -0
  53. package/dist/esm/providers/perawallet.d.ts +2 -0
  54. package/dist/esm/store/index.d.ts +1 -0
  55. package/dist/esm/store/middelware/immer.d.ts +10 -0
  56. package/dist/esm/store/state/walletStore.d.ts +19 -0
  57. package/dist/esm/types/api.d.ts +11 -0
  58. package/dist/esm/types/index.d.ts +3 -0
  59. package/dist/esm/types/node.d.ts +41 -0
  60. package/dist/esm/types/wallet.d.ts +47 -0
  61. package/dist/esm/utils/index.d.ts +4 -0
  62. package/dist/index.d.ts +160 -0
  63. package/package.json +94 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../node_modules/immer/dist/immer.esm.mjs","../../src/store/middelware/immer.ts","../../node_modules/zustand/esm/index.js","../../node_modules/zustand/esm/middleware.js","../../src/store/state/walletStore.ts","../../src/constants/constants.ts","../../node_modules/big.js/big.mjs","../../src/providers/perawallet.ts","../../src/providers/myalgowallet.ts","../../src/providers/algosigner.ts","../../src/providers/defly.ts","../../src/providers/exodus.ts","../../src/providers/index.ts","../../src/media/audio.ts","../../node_modules/ua-parser-js/dist/ua-parser.min.js","../../node_modules/react-device-detect/dist/lib.js","../../src/clients/base.ts","../../src/clients/perawallet.ts","../../src/clients/myalgowallet.ts","../../src/clients/algosigner.ts","../../src/clients/defly.ts","../../src/clients/exodus.ts","../../src/clients/index.ts","../../src/utils/index.ts","../../src/hooks/useWallet.ts","../../node_modules/zustand/esm/shallow.js","../../src/hooks/useConnectWallet.ts"],"sourcesContent":["function n(n){for(var r=arguments.length,t=Array(r>1?r-1:0),e=1;e<r;e++)t[e-1]=arguments[e];if(\"production\"!==process.env.NODE_ENV){var i=Y[n],o=i?\"function\"==typeof i?i.apply(null,t):i:\"unknown error nr: \"+n;throw Error(\"[Immer] \"+o)}throw Error(\"[Immer] minified error nr: \"+n+(t.length?\" \"+t.map((function(n){return\"'\"+n+\"'\"})).join(\",\"):\"\")+\". Find the full error at: https://bit.ly/3cXEKWf\")}function r(n){return!!n&&!!n[Q]}function t(n){return!!n&&(function(n){if(!n||\"object\"!=typeof n)return!1;var r=Object.getPrototypeOf(n);if(null===r)return!0;var t=Object.hasOwnProperty.call(r,\"constructor\")&&r.constructor;return t===Object||\"function\"==typeof t&&Function.toString.call(t)===Z}(n)||Array.isArray(n)||!!n[L]||!!n.constructor[L]||s(n)||v(n))}function e(t){return r(t)||n(23,t),t[Q].t}function i(n,r,t){void 0===t&&(t=!1),0===o(n)?(t?Object.keys:nn)(n).forEach((function(e){t&&\"symbol\"==typeof e||r(e,n[e],n)})):n.forEach((function(t,e){return r(e,t,n)}))}function o(n){var r=n[Q];return r?r.i>3?r.i-4:r.i:Array.isArray(n)?1:s(n)?2:v(n)?3:0}function u(n,r){return 2===o(n)?n.has(r):Object.prototype.hasOwnProperty.call(n,r)}function a(n,r){return 2===o(n)?n.get(r):n[r]}function f(n,r,t){var e=o(n);2===e?n.set(r,t):3===e?(n.delete(r),n.add(t)):n[r]=t}function c(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r}function s(n){return X&&n instanceof Map}function v(n){return q&&n instanceof Set}function p(n){return n.o||n.t}function l(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var r=rn(n);delete r[Q];for(var t=nn(r),e=0;e<t.length;e++){var i=t[e],o=r[i];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(r[i]={configurable:!0,writable:!0,enumerable:o.enumerable,value:n[i]})}return Object.create(Object.getPrototypeOf(n),r)}function d(n,e){return void 0===e&&(e=!1),y(n)||r(n)||!t(n)?n:(o(n)>1&&(n.set=n.add=n.clear=n.delete=h),Object.freeze(n),e&&i(n,(function(n,r){return d(r,!0)}),!0),n)}function h(){n(2)}function y(n){return null==n||\"object\"!=typeof n||Object.isFrozen(n)}function b(r){var t=tn[r];return t||n(18,r),t}function m(n,r){tn[n]||(tn[n]=r)}function _(){return\"production\"===process.env.NODE_ENV||U||n(0),U}function j(n,r){r&&(b(\"Patches\"),n.u=[],n.s=[],n.v=r)}function O(n){g(n),n.p.forEach(S),n.p=null}function g(n){n===U&&(U=n.l)}function w(n){return U={p:[],l:U,h:n,m:!0,_:0}}function S(n){var r=n[Q];0===r.i||1===r.i?r.j():r.O=!0}function P(r,e){e._=e.p.length;var i=e.p[0],o=void 0!==r&&r!==i;return e.h.g||b(\"ES5\").S(e,r,o),o?(i[Q].P&&(O(e),n(4)),t(r)&&(r=M(e,r),e.l||x(e,r)),e.u&&b(\"Patches\").M(i[Q].t,r,e.u,e.s)):r=M(e,i,[]),O(e),e.u&&e.v(e.u,e.s),r!==H?r:void 0}function M(n,r,t){if(y(r))return r;var e=r[Q];if(!e)return i(r,(function(i,o){return A(n,e,r,i,o,t)}),!0),r;if(e.A!==n)return r;if(!e.P)return x(n,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var o=4===e.i||5===e.i?e.o=l(e.k):e.o;i(3===e.i?new Set(o):o,(function(r,i){return A(n,e,o,r,i,t)})),x(n,o,!1),t&&n.u&&b(\"Patches\").R(e,t,n.u,n.s)}return e.o}function A(e,i,o,a,c,s){if(\"production\"!==process.env.NODE_ENV&&c===o&&n(5),r(c)){var v=M(e,c,s&&i&&3!==i.i&&!u(i.D,a)?s.concat(a):void 0);if(f(o,a,v),!r(v))return;e.m=!1}if(t(c)&&!y(c)){if(!e.h.F&&e._<1)return;M(e,c),i&&i.A.l||x(e,c)}}function x(n,r,t){void 0===t&&(t=!1),n.h.F&&n.m&&d(r,t)}function z(n,r){var t=n[Q];return(t?p(t):n)[r]}function I(n,r){if(r in n)for(var t=Object.getPrototypeOf(n);t;){var e=Object.getOwnPropertyDescriptor(t,r);if(e)return e;t=Object.getPrototypeOf(t)}}function k(n){n.P||(n.P=!0,n.l&&k(n.l))}function E(n){n.o||(n.o=l(n.t))}function R(n,r,t){var e=s(r)?b(\"MapSet\").N(r,t):v(r)?b(\"MapSet\").T(r,t):n.g?function(n,r){var t=Array.isArray(n),e={i:t?1:0,A:r?r.A:_(),P:!1,I:!1,D:{},l:r,t:n,k:null,o:null,j:null,C:!1},i=e,o=en;t&&(i=[e],o=on);var u=Proxy.revocable(i,o),a=u.revoke,f=u.proxy;return e.k=f,e.j=a,f}(r,t):b(\"ES5\").J(r,t);return(t?t.A:_()).p.push(e),e}function D(e){return r(e)||n(22,e),function n(r){if(!t(r))return r;var e,u=r[Q],c=o(r);if(u){if(!u.P&&(u.i<4||!b(\"ES5\").K(u)))return u.t;u.I=!0,e=F(r,c),u.I=!1}else e=F(r,c);return i(e,(function(r,t){u&&a(u.t,r)===t||f(e,r,n(t))})),3===c?new Set(e):e}(e)}function F(n,r){switch(r){case 2:return new Map(n);case 3:return Array.from(n)}return l(n)}function N(){function t(n,r){var t=s[n];return t?t.enumerable=r:s[n]=t={configurable:!0,enumerable:r,get:function(){var r=this[Q];return\"production\"!==process.env.NODE_ENV&&f(r),en.get(r,n)},set:function(r){var t=this[Q];\"production\"!==process.env.NODE_ENV&&f(t),en.set(t,n,r)}},t}function e(n){for(var r=n.length-1;r>=0;r--){var t=n[r][Q];if(!t.P)switch(t.i){case 5:a(t)&&k(t);break;case 4:o(t)&&k(t)}}}function o(n){for(var r=n.t,t=n.k,e=nn(t),i=e.length-1;i>=0;i--){var o=e[i];if(o!==Q){var a=r[o];if(void 0===a&&!u(r,o))return!0;var f=t[o],s=f&&f[Q];if(s?s.t!==a:!c(f,a))return!0}}var v=!!r[Q];return e.length!==nn(r).length+(v?0:1)}function a(n){var r=n.k;if(r.length!==n.t.length)return!0;var t=Object.getOwnPropertyDescriptor(r,r.length-1);if(t&&!t.get)return!0;for(var e=0;e<r.length;e++)if(!r.hasOwnProperty(e))return!0;return!1}function f(r){r.O&&n(3,JSON.stringify(p(r)))}var s={};m(\"ES5\",{J:function(n,r){var e=Array.isArray(n),i=function(n,r){if(n){for(var e=Array(r.length),i=0;i<r.length;i++)Object.defineProperty(e,\"\"+i,t(i,!0));return e}var o=rn(r);delete o[Q];for(var u=nn(o),a=0;a<u.length;a++){var f=u[a];o[f]=t(f,n||!!o[f].enumerable)}return Object.create(Object.getPrototypeOf(r),o)}(e,n),o={i:e?5:4,A:r?r.A:_(),P:!1,I:!1,D:{},l:r,t:n,k:i,o:null,O:!1,C:!1};return Object.defineProperty(i,Q,{value:o,writable:!0}),i},S:function(n,t,o){o?r(t)&&t[Q].A===n&&e(n.p):(n.u&&function n(r){if(r&&\"object\"==typeof r){var t=r[Q];if(t){var e=t.t,o=t.k,f=t.D,c=t.i;if(4===c)i(o,(function(r){r!==Q&&(void 0!==e[r]||u(e,r)?f[r]||n(o[r]):(f[r]=!0,k(t)))})),i(e,(function(n){void 0!==o[n]||u(o,n)||(f[n]=!1,k(t))}));else if(5===c){if(a(t)&&(k(t),f.length=!0),o.length<e.length)for(var s=o.length;s<e.length;s++)f[s]=!1;else for(var v=e.length;v<o.length;v++)f[v]=!0;for(var p=Math.min(o.length,e.length),l=0;l<p;l++)o.hasOwnProperty(l)||(f[l]=!0),void 0===f[l]&&n(o[l])}}}}(n.p[0]),e(n.p))},K:function(n){return 4===n.i?o(n):a(n)}})}function T(){function e(n){if(!t(n))return n;if(Array.isArray(n))return n.map(e);if(s(n))return new Map(Array.from(n.entries()).map((function(n){return[n[0],e(n[1])]})));if(v(n))return new Set(Array.from(n).map(e));var r=Object.create(Object.getPrototypeOf(n));for(var i in n)r[i]=e(n[i]);return u(n,L)&&(r[L]=n[L]),r}function f(n){return r(n)?e(n):n}var c=\"add\";m(\"Patches\",{$:function(r,t){return t.forEach((function(t){for(var i=t.path,u=t.op,f=r,s=0;s<i.length-1;s++){var v=o(f),p=\"\"+i[s];0!==v&&1!==v||\"__proto__\"!==p&&\"constructor\"!==p||n(24),\"function\"==typeof f&&\"prototype\"===p&&n(24),\"object\"!=typeof(f=a(f,p))&&n(15,i.join(\"/\"))}var l=o(f),d=e(t.value),h=i[i.length-1];switch(u){case\"replace\":switch(l){case 2:return f.set(h,d);case 3:n(16);default:return f[h]=d}case c:switch(l){case 1:return\"-\"===h?f.push(d):f.splice(h,0,d);case 2:return f.set(h,d);case 3:return f.add(d);default:return f[h]=d}case\"remove\":switch(l){case 1:return f.splice(h,1);case 2:return f.delete(h);case 3:return f.delete(t.value);default:return delete f[h]}default:n(17,u)}})),r},R:function(n,r,t,e){switch(n.i){case 0:case 4:case 2:return function(n,r,t,e){var o=n.t,s=n.o;i(n.D,(function(n,i){var v=a(o,n),p=a(s,n),l=i?u(o,n)?\"replace\":c:\"remove\";if(v!==p||\"replace\"!==l){var d=r.concat(n);t.push(\"remove\"===l?{op:l,path:d}:{op:l,path:d,value:p}),e.push(l===c?{op:\"remove\",path:d}:\"remove\"===l?{op:c,path:d,value:f(v)}:{op:\"replace\",path:d,value:f(v)})}}))}(n,r,t,e);case 5:case 1:return function(n,r,t,e){var i=n.t,o=n.D,u=n.o;if(u.length<i.length){var a=[u,i];i=a[0],u=a[1];var s=[e,t];t=s[0],e=s[1]}for(var v=0;v<i.length;v++)if(o[v]&&u[v]!==i[v]){var p=r.concat([v]);t.push({op:\"replace\",path:p,value:f(u[v])}),e.push({op:\"replace\",path:p,value:f(i[v])})}for(var l=i.length;l<u.length;l++){var d=r.concat([l]);t.push({op:c,path:d,value:f(u[l])})}i.length<u.length&&e.push({op:\"replace\",path:r.concat([\"length\"]),value:i.length})}(n,r,t,e);case 3:return function(n,r,t,e){var i=n.t,o=n.o,u=0;i.forEach((function(n){if(!o.has(n)){var i=r.concat([u]);t.push({op:\"remove\",path:i,value:n}),e.unshift({op:c,path:i,value:n})}u++})),u=0,o.forEach((function(n){if(!i.has(n)){var o=r.concat([u]);t.push({op:c,path:o,value:n}),e.unshift({op:\"remove\",path:o,value:n})}u++}))}(n,r,t,e)}},M:function(n,r,t,e){t.push({op:\"replace\",path:[],value:r===H?void 0:r}),e.push({op:\"replace\",path:[],value:n})}})}function C(){function r(n,r){function t(){this.constructor=n}a(n,r),n.prototype=(t.prototype=r.prototype,new t)}function e(n){n.o||(n.D=new Map,n.o=new Map(n.t))}function o(n){n.o||(n.o=new Set,n.t.forEach((function(r){if(t(r)){var e=R(n.A.h,r,n);n.p.set(r,e),n.o.add(e)}else n.o.add(r)})))}function u(r){r.O&&n(3,JSON.stringify(p(r)))}var a=function(n,r){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var t in r)r.hasOwnProperty(t)&&(n[t]=r[t])})(n,r)},f=function(){function n(n,r){return this[Q]={i:2,l:r,A:r?r.A:_(),P:!1,I:!1,o:void 0,D:void 0,t:n,k:this,C:!1,O:!1},this}r(n,Map);var o=n.prototype;return Object.defineProperty(o,\"size\",{get:function(){return p(this[Q]).size}}),o.has=function(n){return p(this[Q]).has(n)},o.set=function(n,r){var t=this[Q];return u(t),p(t).has(n)&&p(t).get(n)===r||(e(t),k(t),t.D.set(n,!0),t.o.set(n,r),t.D.set(n,!0)),this},o.delete=function(n){if(!this.has(n))return!1;var r=this[Q];return u(r),e(r),k(r),r.t.has(n)?r.D.set(n,!1):r.D.delete(n),r.o.delete(n),!0},o.clear=function(){var n=this[Q];u(n),p(n).size&&(e(n),k(n),n.D=new Map,i(n.t,(function(r){n.D.set(r,!1)})),n.o.clear())},o.forEach=function(n,r){var t=this;p(this[Q]).forEach((function(e,i){n.call(r,t.get(i),i,t)}))},o.get=function(n){var r=this[Q];u(r);var i=p(r).get(n);if(r.I||!t(i))return i;if(i!==r.t.get(n))return i;var o=R(r.A.h,i,r);return e(r),r.o.set(n,o),o},o.keys=function(){return p(this[Q]).keys()},o.values=function(){var n,r=this,t=this.keys();return(n={})[V]=function(){return r.values()},n.next=function(){var n=t.next();return n.done?n:{done:!1,value:r.get(n.value)}},n},o.entries=function(){var n,r=this,t=this.keys();return(n={})[V]=function(){return r.entries()},n.next=function(){var n=t.next();if(n.done)return n;var e=r.get(n.value);return{done:!1,value:[n.value,e]}},n},o[V]=function(){return this.entries()},n}(),c=function(){function n(n,r){return this[Q]={i:3,l:r,A:r?r.A:_(),P:!1,I:!1,o:void 0,t:n,k:this,p:new Map,O:!1,C:!1},this}r(n,Set);var t=n.prototype;return Object.defineProperty(t,\"size\",{get:function(){return p(this[Q]).size}}),t.has=function(n){var r=this[Q];return u(r),r.o?!!r.o.has(n)||!(!r.p.has(n)||!r.o.has(r.p.get(n))):r.t.has(n)},t.add=function(n){var r=this[Q];return u(r),this.has(n)||(o(r),k(r),r.o.add(n)),this},t.delete=function(n){if(!this.has(n))return!1;var r=this[Q];return u(r),o(r),k(r),r.o.delete(n)||!!r.p.has(n)&&r.o.delete(r.p.get(n))},t.clear=function(){var n=this[Q];u(n),p(n).size&&(o(n),k(n),n.o.clear())},t.values=function(){var n=this[Q];return u(n),o(n),n.o.values()},t.entries=function(){var n=this[Q];return u(n),o(n),n.o.entries()},t.keys=function(){return this.values()},t[V]=function(){return this.values()},t.forEach=function(n,r){for(var t=this.values(),e=t.next();!e.done;)n.call(r,e.value,e.value,this),e=t.next()},n}();m(\"MapSet\",{N:function(n,r){return new f(n,r)},T:function(n,r){return new c(n,r)}})}function J(){N(),C(),T()}function K(n){return n}function $(n){return n}var G,U,W=\"undefined\"!=typeof Symbol&&\"symbol\"==typeof Symbol(\"x\"),X=\"undefined\"!=typeof Map,q=\"undefined\"!=typeof Set,B=\"undefined\"!=typeof Proxy&&void 0!==Proxy.revocable&&\"undefined\"!=typeof Reflect,H=W?Symbol.for(\"immer-nothing\"):((G={})[\"immer-nothing\"]=!0,G),L=W?Symbol.for(\"immer-draftable\"):\"__$immer_draftable\",Q=W?Symbol.for(\"immer-state\"):\"__$immer_state\",V=\"undefined\"!=typeof Symbol&&Symbol.iterator||\"@@iterator\",Y={0:\"Illegal state\",1:\"Immer drafts cannot have computed properties\",2:\"This object has been frozen and should not be mutated\",3:function(n){return\"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \"+n},4:\"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\",5:\"Immer forbids circular references\",6:\"The first or second argument to `produce` must be a function\",7:\"The third argument to `produce` must be a function or undefined\",8:\"First argument to `createDraft` must be a plain object, an array, or an immerable object\",9:\"First argument to `finishDraft` must be a draft returned by `createDraft`\",10:\"The given draft is already finalized\",11:\"Object.defineProperty() cannot be used on an Immer draft\",12:\"Object.setPrototypeOf() cannot be used on an Immer draft\",13:\"Immer only supports deleting array indices\",14:\"Immer only supports setting array indices and the 'length' property\",15:function(n){return\"Cannot apply patch, path doesn't resolve: \"+n},16:'Sets cannot have \"replace\" patches.',17:function(n){return\"Unsupported patch operation: \"+n},18:function(n){return\"The plugin for '\"+n+\"' has not been loaded into Immer. To enable the plugin, import and call `enable\"+n+\"()` when initializing your application.\"},20:\"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available\",21:function(n){return\"produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '\"+n+\"'\"},22:function(n){return\"'current' expects a draft, got: \"+n},23:function(n){return\"'original' expects a draft, got: \"+n},24:\"Patching reserved attributes like __proto__, prototype and constructor is not allowed\"},Z=\"\"+Object.prototype.constructor,nn=\"undefined\"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(n){return Object.getOwnPropertyNames(n).concat(Object.getOwnPropertySymbols(n))}:Object.getOwnPropertyNames,rn=Object.getOwnPropertyDescriptors||function(n){var r={};return nn(n).forEach((function(t){r[t]=Object.getOwnPropertyDescriptor(n,t)})),r},tn={},en={get:function(n,r){if(r===Q)return n;var e=p(n);if(!u(e,r))return function(n,r,t){var e,i=I(r,t);return i?\"value\"in i?i.value:null===(e=i.get)||void 0===e?void 0:e.call(n.k):void 0}(n,e,r);var i=e[r];return n.I||!t(i)?i:i===z(n.t,r)?(E(n),n.o[r]=R(n.A.h,i,n)):i},has:function(n,r){return r in p(n)},ownKeys:function(n){return Reflect.ownKeys(p(n))},set:function(n,r,t){var e=I(p(n),r);if(null==e?void 0:e.set)return e.set.call(n.k,t),!0;if(!n.P){var i=z(p(n),r),o=null==i?void 0:i[Q];if(o&&o.t===t)return n.o[r]=t,n.D[r]=!1,!0;if(c(t,i)&&(void 0!==t||u(n.t,r)))return!0;E(n),k(n)}return n.o[r]===t&&\"number\"!=typeof t&&(void 0!==t||r in n.o)||(n.o[r]=t,n.D[r]=!0,!0)},deleteProperty:function(n,r){return void 0!==z(n.t,r)||r in n.t?(n.D[r]=!1,E(n),k(n)):delete n.D[r],n.o&&delete n.o[r],!0},getOwnPropertyDescriptor:function(n,r){var t=p(n),e=Reflect.getOwnPropertyDescriptor(t,r);return e?{writable:!0,configurable:1!==n.i||\"length\"!==r,enumerable:e.enumerable,value:t[r]}:e},defineProperty:function(){n(11)},getPrototypeOf:function(n){return Object.getPrototypeOf(n.t)},setPrototypeOf:function(){n(12)}},on={};i(en,(function(n,r){on[n]=function(){return arguments[0]=arguments[0][0],r.apply(this,arguments)}})),on.deleteProperty=function(r,t){return\"production\"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&n(13),on.set.call(this,r,t,void 0)},on.set=function(r,t,e){return\"production\"!==process.env.NODE_ENV&&\"length\"!==t&&isNaN(parseInt(t))&&n(14),en.set.call(this,r[0],t,e,r[0])};var un=function(){function e(r){var e=this;this.g=B,this.F=!0,this.produce=function(r,i,o){if(\"function\"==typeof r&&\"function\"!=typeof i){var u=i;i=r;var a=e;return function(n){var r=this;void 0===n&&(n=u);for(var t=arguments.length,e=Array(t>1?t-1:0),o=1;o<t;o++)e[o-1]=arguments[o];return a.produce(n,(function(n){var t;return(t=i).call.apply(t,[r,n].concat(e))}))}}var f;if(\"function\"!=typeof i&&n(6),void 0!==o&&\"function\"!=typeof o&&n(7),t(r)){var c=w(e),s=R(e,r,void 0),v=!0;try{f=i(s),v=!1}finally{v?O(c):g(c)}return\"undefined\"!=typeof Promise&&f instanceof Promise?f.then((function(n){return j(c,o),P(n,c)}),(function(n){throw O(c),n})):(j(c,o),P(f,c))}if(!r||\"object\"!=typeof r){if(void 0===(f=i(r))&&(f=r),f===H&&(f=void 0),e.F&&d(f,!0),o){var p=[],l=[];b(\"Patches\").M(r,f,p,l),o(p,l)}return f}n(21,r)},this.produceWithPatches=function(n,r){if(\"function\"==typeof n)return function(r){for(var t=arguments.length,i=Array(t>1?t-1:0),o=1;o<t;o++)i[o-1]=arguments[o];return e.produceWithPatches(r,(function(r){return n.apply(void 0,[r].concat(i))}))};var t,i,o=e.produce(n,r,(function(n,r){t=n,i=r}));return\"undefined\"!=typeof Promise&&o instanceof Promise?o.then((function(n){return[n,t,i]})):[o,t,i]},\"boolean\"==typeof(null==r?void 0:r.useProxies)&&this.setUseProxies(r.useProxies),\"boolean\"==typeof(null==r?void 0:r.autoFreeze)&&this.setAutoFreeze(r.autoFreeze)}var i=e.prototype;return i.createDraft=function(e){t(e)||n(8),r(e)&&(e=D(e));var i=w(this),o=R(this,e,void 0);return o[Q].C=!0,g(i),o},i.finishDraft=function(r,t){var e=r&&r[Q];\"production\"!==process.env.NODE_ENV&&(e&&e.C||n(9),e.I&&n(10));var i=e.A;return j(i,t),P(void 0,i)},i.setAutoFreeze=function(n){this.F=n},i.setUseProxies=function(r){r&&!B&&n(20),this.g=r},i.applyPatches=function(n,t){var e;for(e=t.length-1;e>=0;e--){var i=t[e];if(0===i.path.length&&\"replace\"===i.op){n=i.value;break}}e>-1&&(t=t.slice(e+1));var o=b(\"Patches\").$;return r(n)?o(n,t):this.produce(n,(function(n){return o(n,t)}))},e}(),an=new un,fn=an.produce,cn=an.produceWithPatches.bind(an),sn=an.setAutoFreeze.bind(an),vn=an.setUseProxies.bind(an),pn=an.applyPatches.bind(an),ln=an.createDraft.bind(an),dn=an.finishDraft.bind(an);export default fn;export{un as Immer,pn as applyPatches,K as castDraft,$ as castImmutable,ln as createDraft,D as current,J as enableAllPlugins,N as enableES5,C as enableMapSet,T as enablePatches,dn as finishDraft,d as freeze,L as immerable,r as isDraft,t as isDraftable,H as nothing,e as original,fn as produce,cn as produceWithPatches,sn as setAutoFreeze,vn as setUseProxies};\n//# sourceMappingURL=immer.esm.js.map\n","import { produce } from \"immer\";\nimport type { Draft } from \"immer\";\nimport { GetState, SetState, State, StateCreator, StoreApi } from \"zustand\";\n\n/**\n * The immer middleware turns the `set` method into a proxy for the immer `produce` method.\n * https://immerjs.github.io/immer/\n *\n * The TypeScript magic is taken from here:\n * https://github.com/pmndrs/zustand/blob/main/tests/middlewareTypes.test.tsx\n */\nexport const immer =\n <\n T extends State,\n CustomSetState extends SetState<T>,\n CustomGetState extends GetState<T>,\n CustomStoreApi extends StoreApi<T>\n >(\n config: StateCreator<\n T,\n (partial: ((draft: Draft<T>) => void) | T, replace?: boolean) => void,\n CustomGetState,\n CustomStoreApi\n >\n ): StateCreator<T, CustomSetState, CustomGetState, CustomStoreApi> =>\n (set, get, api) => {\n // see https://github.com/pmndrs/zustand/issues/449#issuecomment-873777576\n api.setState = (fn) => set(produce(fn as (state: Draft<T>) => T));\n\n return config(\n (partial, replace) => {\n const nextState =\n typeof partial === \"function\"\n ? produce(partial as (state: Draft<T>) => T)\n : (partial as T);\n return set(nextState, replace);\n },\n get,\n api\n );\n };\n","import { useReducer, useRef, useDebugValue, useEffect, useLayoutEffect } from 'react';\n\nfunction createStore(createState) {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (nextState !== state) {\n const previousState = state;\n state = replace ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const subscribeWithSelector = (listener, selector = getState, equalityFn = Object.is) => {\n console.warn(\"[DEPRECATED] Please use `subscribeWithSelector` middleware\");\n let currentSlice = selector(state);\n function listenerToAdd() {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n listener(currentSlice = nextSlice, previousSlice);\n }\n }\n listeners.add(listenerToAdd);\n return () => listeners.delete(listenerToAdd);\n };\n const subscribe = (listener, selector, equalityFn) => {\n if (selector || equalityFn) {\n return subscribeWithSelector(listener, selector, equalityFn);\n }\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const destroy = () => listeners.clear();\n const api = { setState, getState, subscribe, destroy };\n state = createState(setState, getState, api);\n return api;\n}\n\nconst isSSR = typeof window === \"undefined\" || !window.navigator || /ServerSideRendering|^Deno\\//.test(window.navigator.userAgent);\nconst useIsomorphicLayoutEffect = isSSR ? useEffect : useLayoutEffect;\nfunction create(createState) {\n const api = typeof createState === \"function\" ? createStore(createState) : createState;\n const useStore = (selector = api.getState, equalityFn = Object.is) => {\n const [, forceUpdate] = useReducer((c) => c + 1, 0);\n const state = api.getState();\n const stateRef = useRef(state);\n const selectorRef = useRef(selector);\n const equalityFnRef = useRef(equalityFn);\n const erroredRef = useRef(false);\n const currentSliceRef = useRef();\n if (currentSliceRef.current === void 0) {\n currentSliceRef.current = selector(state);\n }\n let newStateSlice;\n let hasNewStateSlice = false;\n if (stateRef.current !== state || selectorRef.current !== selector || equalityFnRef.current !== equalityFn || erroredRef.current) {\n newStateSlice = selector(state);\n hasNewStateSlice = !equalityFn(currentSliceRef.current, newStateSlice);\n }\n useIsomorphicLayoutEffect(() => {\n if (hasNewStateSlice) {\n currentSliceRef.current = newStateSlice;\n }\n stateRef.current = state;\n selectorRef.current = selector;\n equalityFnRef.current = equalityFn;\n erroredRef.current = false;\n });\n const stateBeforeSubscriptionRef = useRef(state);\n useIsomorphicLayoutEffect(() => {\n const listener = () => {\n try {\n const nextState = api.getState();\n const nextStateSlice = selectorRef.current(nextState);\n if (!equalityFnRef.current(currentSliceRef.current, nextStateSlice)) {\n stateRef.current = nextState;\n currentSliceRef.current = nextStateSlice;\n forceUpdate();\n }\n } catch (error) {\n erroredRef.current = true;\n forceUpdate();\n }\n };\n const unsubscribe = api.subscribe(listener);\n if (api.getState() !== stateBeforeSubscriptionRef.current) {\n listener();\n }\n return unsubscribe;\n }, []);\n const sliceToReturn = hasNewStateSlice ? newStateSlice : currentSliceRef.current;\n useDebugValue(sliceToReturn);\n return sliceToReturn;\n };\n Object.assign(useStore, api);\n useStore[Symbol.iterator] = function() {\n console.warn(\"[useStore, api] = create() is deprecated and will be removed in v4\");\n const items = [useStore, api];\n return {\n next() {\n const done = items.length <= 0;\n return { value: items.shift(), done };\n }\n };\n };\n return useStore;\n}\n\nexport { create as default };\n","var __defProp$1 = Object.defineProperty;\nvar __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$1 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$1 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$1 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$1.call(b, prop))\n __defNormalProp$1(a, prop, b[prop]);\n if (__getOwnPropSymbols$1)\n for (var prop of __getOwnPropSymbols$1(b)) {\n if (__propIsEnum$1.call(b, prop))\n __defNormalProp$1(a, prop, b[prop]);\n }\n return a;\n};\nconst redux = (reducer, initial) => (set, get, api) => {\n api.dispatch = (action) => {\n set((state) => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return __spreadValues$1({ dispatch: (...a) => api.dispatch(...a) }, initial);\n};\n\nfunction devtools(fn, options) {\n return (set, get, api) => {\n var _a;\n let didWarnAboutNameDeprecation = false;\n if (typeof options === \"string\" && !didWarnAboutNameDeprecation) {\n console.warn(\"[zustand devtools middleware]: passing `name` as directly will be not allowed in next majorpass the `name` in an object `{ name: ... }` instead\");\n didWarnAboutNameDeprecation = true;\n }\n const devtoolsOptions = options === void 0 ? { name: void 0, anonymousActionType: void 0 } : typeof options === \"string\" ? { name: options } : options;\n if (typeof ((_a = devtoolsOptions == null ? void 0 : devtoolsOptions.serialize) == null ? void 0 : _a.options) !== \"undefined\") {\n console.warn(\"[zustand devtools middleware]: `serialize.options` is deprecated, just use `serialize`\");\n }\n let extensionConnector;\n try {\n extensionConnector = window.__REDUX_DEVTOOLS_EXTENSION__ || window.top.__REDUX_DEVTOOLS_EXTENSION__;\n } catch {\n }\n if (!extensionConnector) {\n if ((import.meta.env && import.meta.env.MODE) !== \"production\" && typeof window !== \"undefined\") {\n console.warn(\"[zustand devtools middleware] Please install/enable Redux devtools extension\");\n }\n return fn(set, get, api);\n }\n let extension = Object.create(extensionConnector.connect(devtoolsOptions));\n let didWarnAboutDevtools = false;\n Object.defineProperty(api, \"devtools\", {\n get: () => {\n if (!didWarnAboutDevtools) {\n console.warn(\"[zustand devtools middleware] `devtools` property on the store is deprecated it will be removed in the next major.\\nYou shouldn't interact with the extension directly. But in case you still want to you can patch `window.__REDUX_DEVTOOLS_EXTENSION__` directly\");\n didWarnAboutDevtools = true;\n }\n return extension;\n },\n set: (value) => {\n if (!didWarnAboutDevtools) {\n console.warn(\"[zustand devtools middleware] `api.devtools` is deprecated, it will be removed in the next major.\\nYou shouldn't interact with the extension directly. But in case you still want to you can patch `window.__REDUX_DEVTOOLS_EXTENSION__` directly\");\n didWarnAboutDevtools = true;\n }\n extension = value;\n }\n });\n let didWarnAboutPrefix = false;\n Object.defineProperty(extension, \"prefix\", {\n get: () => {\n if (!didWarnAboutPrefix) {\n console.warn(\"[zustand devtools middleware] along with `api.devtools`, `api.devtools.prefix` is deprecated.\\nWe no longer prefix the actions/names\" + devtoolsOptions.name === void 0 ? \", pass the `name` option to create a separate instance of devtools for each store.\" : \", because the `name` option already creates a separate instance of devtools for each store.\");\n didWarnAboutPrefix = true;\n }\n return \"\";\n },\n set: () => {\n if (!didWarnAboutPrefix) {\n console.warn(\"[zustand devtools middleware] along with `api.devtools`, `api.devtools.prefix` is deprecated.\\nWe no longer prefix the actions/names\" + devtoolsOptions.name === void 0 ? \", pass the `name` option to create a separate instance of devtools for each store.\" : \", because the `name` option already creates a separate instance of devtools for each store.\");\n didWarnAboutPrefix = true;\n }\n }\n });\n let isRecording = true;\n api.setState = (state, replace, nameOrAction) => {\n set(state, replace);\n if (!isRecording)\n return;\n extension.send(nameOrAction === void 0 ? { type: devtoolsOptions.anonymousActionType || \"anonymous\" } : typeof nameOrAction === \"string\" ? { type: nameOrAction } : nameOrAction, get());\n };\n const setStateFromDevtools = (...a) => {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...a);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n extension.init(initialState);\n if (api.dispatchFromDevtools && typeof api.dispatch === \"function\") {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = (...a) => {\n if (a[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn('[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.');\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...a);\n };\n }\n extension.subscribe((message) => {\n var _a2;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\"[zustand devtools middleware] Unsupported action format\");\n return;\n }\n return parseJsonThen(message.payload, (action) => {\n if (action.type === \"__setState\") {\n setStateFromDevtools(action.state);\n return;\n }\n if (!api.dispatchFromDevtools)\n return;\n if (typeof api.dispatch !== \"function\")\n return;\n api.dispatch(action);\n });\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n return extension.init(api.getState());\n case \"COMMIT\":\n return extension.init(api.getState());\n case \"ROLLBACK\":\n return parseJsonThen(message.state, (state) => {\n setStateFromDevtools(state);\n extension.init(api.getState());\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, (state) => {\n setStateFromDevtools(state);\n });\n case \"IMPORT_STATE\": {\n const { nextLiftedState } = message.payload;\n const lastComputedState = (_a2 = nextLiftedState.computedStates.slice(-1)[0]) == null ? void 0 : _a2.state;\n if (!lastComputedState)\n return;\n setStateFromDevtools(lastComputedState);\n extension.send(null, nextLiftedState);\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n };\n}\nconst parseJsonThen = (stringified, f) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\"[zustand devtools middleware] Could not parse the received json\", e);\n }\n if (parsed !== void 0)\n f(parsed);\n};\n\nconst subscribeWithSelector = (fn) => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = (selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = (state) => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? void 0 : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n };\n const initialState = fn(set, get, api);\n return initialState;\n};\n\nconst combine = (initialState, create) => (set, get, api) => Object.assign({}, initialState, create(set, get, api));\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nconst toThenable = (fn) => (input) => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst persist = (config, baseOptions) => (set, get, api) => {\n let options = __spreadValues({\n getStorage: () => localStorage,\n serialize: JSON.stringify,\n deserialize: JSON.parse,\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => __spreadValues(__spreadValues({}, currentState), persistedState)\n }, baseOptions);\n if (options.blacklist || options.whitelist) {\n console.warn(`The ${options.blacklist ? \"blacklist\" : \"whitelist\"} option is deprecated and will be removed in the next version. Please use the 'partialize' option instead.`);\n }\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage;\n try {\n storage = options.getStorage();\n } catch (e) {\n }\n if (!storage) {\n return config((...args) => {\n console.warn(`[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`);\n set(...args);\n }, get, api);\n } else if (!storage.removeItem) {\n console.warn(`[zustand persist middleware] The given storage for item '${options.name}' does not contain a 'removeItem' method, which will be required in v4.`);\n }\n const thenableSerialize = toThenable(options.serialize);\n const setItem = () => {\n const state = options.partialize(__spreadValues({}, get()));\n if (options.whitelist) {\n Object.keys(state).forEach((key) => {\n var _a;\n !((_a = options.whitelist) == null ? void 0 : _a.includes(key)) && delete state[key];\n });\n }\n if (options.blacklist) {\n options.blacklist.forEach((key) => delete state[key]);\n }\n let errorInSync;\n const thenable = thenableSerialize({ state, version: options.version }).then((serializedValue) => storage.setItem(options.name, serializedValue)).catch((e) => {\n errorInSync = e;\n });\n if (errorInSync) {\n throw errorInSync;\n }\n return thenable;\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n void setItem();\n };\n const configResult = config((...args) => {\n set(...args);\n void setItem();\n }, get, api);\n let stateFromStorage;\n const hydrate = () => {\n var _a;\n if (!storage)\n return;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => cb(get()));\n const postRehydrationCallback = ((_a = options.onRehydrateStorage) == null ? void 0 : _a.call(options, get())) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((storageValue) => {\n if (storageValue) {\n return options.deserialize(storageValue);\n }\n }).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n return options.migrate(deserializedStorageValue.state, deserializedStorageValue.version);\n }\n console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`);\n } else {\n return deserializedStorageValue.state;\n }\n }\n }).then((migratedState) => {\n var _a2;\n stateFromStorage = options.merge(migratedState, (_a2 = get()) != null ? _a2 : configResult);\n set(stateFromStorage, true);\n return setItem();\n }).then(() => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(stateFromStorage, void 0);\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = __spreadValues(__spreadValues({}, options), newOptions);\n if (newOptions.getStorage) {\n storage = newOptions.getStorage();\n }\n },\n clearStorage: () => {\n var _a;\n (_a = storage == null ? void 0 : storage.removeItem) == null ? void 0 : _a.call(storage, options.name);\n },\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n hydrate();\n return stateFromStorage || configResult;\n};\n\nexport { combine, devtools, persist, redux, subscribeWithSelector };\n","import { immer } from \"../middelware/immer\";\nimport create from \"zustand\";\nimport { devtools, persist } from \"zustand/middleware\";\nimport type { Account } from \"../../types\";\nimport { PROVIDER_ID } from \"../../constants\";\n\nexport const walletStoreSelector = (state: WalletStore) => ({\n accounts: state.accounts,\n activeAccount: state.activeAccount,\n setActiveAccount: state.setActiveAccount,\n clearActiveAccount: state.clearActiveAccount,\n addAccounts: state.addAccounts,\n removeAccounts: state.removeAccounts,\n});\n\nexport type WalletStore = {\n accounts: Account[];\n activeAccount: Account | null;\n setActiveAccount: (account: Account) => void;\n clearActiveAccount: (id: PROVIDER_ID) => void;\n addAccounts: (accounts: Account[]) => void;\n removeAccounts: (providerId: PROVIDER_ID) => void;\n};\n\nexport const useWalletStore = create<WalletStore>(\n devtools(\n persist(\n immer((set, _get) => ({\n accounts: [],\n activeAccount: null,\n setActiveAccount: (account: Account) => {\n set((state) => {\n state.activeAccount = account;\n });\n },\n clearActiveAccount: (id: PROVIDER_ID) => {\n set((state) => {\n if (id === state.activeAccount?.providerId)\n state.activeAccount = null;\n });\n },\n addAccounts: (accounts: Account[]) => {\n set((state) => {\n const uniqueAccounts = [...state.accounts, ...accounts].reduce<\n Account[]\n >((uniqueAccounts, o) => {\n if (\n !uniqueAccounts.some(\n (obj) =>\n obj.providerId === o.providerId && obj.address === o.address\n )\n ) {\n uniqueAccounts.push(o);\n }\n return uniqueAccounts;\n }, []);\n\n // Remove duplicates that occur when a user reconnects Pera wallet\n state.accounts = uniqueAccounts;\n });\n },\n removeAccounts: (providerId: PROVIDER_ID) => {\n set((state) => {\n state.accounts = state.accounts.filter(\n (account) => account.providerId !== providerId\n );\n });\n },\n })),\n {\n name: \"txnlab-use-wallet\", // key in local storage\n version: 0, // increment to deprecate stored data\n }\n ),\n { name: \"local-storage\" } // prefix in Redux DevTools\n )\n);\n","export enum PROVIDER_ID {\n PERA_WALLET = \"Pera Wallet\",\n MYALGO_WALLET = \"MyAlgo Wallet\",\n ALGO_SIGNER = \"Algo Signer\",\n DEFLY = \"Defly\",\n EXODUS = \"Exodus\",\n}\n\nexport const NODE_SERVER = \"https://node.algoexplorerapi.io\";\nexport const NODE_TOKEN = \"\";\nexport const NODE_PORT = \"\";\n","/*\r\n * big.js v6.2.1\r\n * A small, fast, easy-to-use library for arbitrary-precision decimal arithmetic.\r\n * Copyright (c) 2022 Michael Mclaughlin\r\n * https://github.com/MikeMcl/big.js/LICENCE.md\r\n */\r\n\r\n\r\n/************************************** EDITABLE DEFAULTS *****************************************/\r\n\r\n\r\n // The default values below must be integers within the stated ranges.\r\n\r\n /*\r\n * The maximum number of decimal places (DP) of the results of operations involving division:\r\n * div and sqrt, and pow with negative exponents.\r\n */\r\nvar DP = 20, // 0 to MAX_DP\r\n\r\n /*\r\n * The rounding mode (RM) used when rounding to the above decimal places.\r\n *\r\n * 0 Towards zero (i.e. truncate, no rounding). (ROUND_DOWN)\r\n * 1 To nearest neighbour. If equidistant, round up. (ROUND_HALF_UP)\r\n * 2 To nearest neighbour. If equidistant, to even. (ROUND_HALF_EVEN)\r\n * 3 Away from zero. (ROUND_UP)\r\n */\r\n RM = 1, // 0, 1, 2 or 3\r\n\r\n // The maximum value of DP and Big.DP.\r\n MAX_DP = 1E6, // 0 to 1000000\r\n\r\n // The maximum magnitude of the exponent argument to the pow method.\r\n MAX_POWER = 1E6, // 1 to 1000000\r\n\r\n /*\r\n * The negative exponent (NE) at and beneath which toString returns exponential notation.\r\n * (JavaScript numbers: -7)\r\n * -1000000 is the minimum recommended exponent value of a Big.\r\n */\r\n NE = -7, // 0 to -1000000\r\n\r\n /*\r\n * The positive exponent (PE) at and above which toString returns exponential notation.\r\n * (JavaScript numbers: 21)\r\n * 1000000 is the maximum recommended exponent value of a Big, but this limit is not enforced.\r\n */\r\n PE = 21, // 0 to 1000000\r\n\r\n /*\r\n * When true, an error will be thrown if a primitive number is passed to the Big constructor,\r\n * or if valueOf is called, or if toNumber is called on a Big which cannot be converted to a\r\n * primitive number without a loss of precision.\r\n */\r\n STRICT = false, // true or false\r\n\r\n\r\n/**************************************************************************************************/\r\n\r\n\r\n // Error messages.\r\n NAME = '[big.js] ',\r\n INVALID = NAME + 'Invalid ',\r\n INVALID_DP = INVALID + 'decimal places',\r\n INVALID_RM = INVALID + 'rounding mode',\r\n DIV_BY_ZERO = NAME + 'Division by zero',\r\n\r\n // The shared prototype object.\r\n P = {},\r\n UNDEFINED = void 0,\r\n NUMERIC = /^-?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i;\r\n\r\n\r\n/*\r\n * Create and return a Big constructor.\r\n */\r\nfunction _Big_() {\r\n\r\n /*\r\n * The Big constructor and exported function.\r\n * Create and return a new instance of a Big number object.\r\n *\r\n * n {number|string|Big} A numeric value.\r\n */\r\n function Big(n) {\r\n var x = this;\r\n\r\n // Enable constructor usage without new.\r\n if (!(x instanceof Big)) return n === UNDEFINED ? _Big_() : new Big(n);\r\n\r\n // Duplicate.\r\n if (n instanceof Big) {\r\n x.s = n.s;\r\n x.e = n.e;\r\n x.c = n.c.slice();\r\n } else {\r\n if (typeof n !== 'string') {\r\n if (Big.strict === true && typeof n !== 'bigint') {\r\n throw TypeError(INVALID + 'value');\r\n }\r\n\r\n // Minus zero?\r\n n = n === 0 && 1 / n < 0 ? '-0' : String(n);\r\n }\r\n\r\n parse(x, n);\r\n }\r\n\r\n // Retain a reference to this Big constructor.\r\n // Shadow Big.prototype.constructor which points to Object.\r\n x.constructor = Big;\r\n }\r\n\r\n Big.prototype = P;\r\n Big.DP = DP;\r\n Big.RM = RM;\r\n Big.NE = NE;\r\n Big.PE = PE;\r\n Big.strict = STRICT;\r\n Big.roundDown = 0;\r\n Big.roundHalfUp = 1;\r\n Big.roundHalfEven = 2;\r\n Big.roundUp = 3;\r\n\r\n return Big;\r\n}\r\n\r\n\r\n/*\r\n * Parse the number or string value passed to a Big constructor.\r\n *\r\n * x {Big} A Big number instance.\r\n * n {number|string} A numeric value.\r\n */\r\nfunction parse(x, n) {\r\n var e, i, nl;\r\n\r\n if (!NUMERIC.test(n)) {\r\n throw Error(INVALID + 'number');\r\n }\r\n\r\n // Determine sign.\r\n x.s = n.charAt(0) == '-' ? (n = n.slice(1), -1) : 1;\r\n\r\n // Decimal point?\r\n if ((e = n.indexOf('.')) > -1) n = n.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = n.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +n.slice(i + 1);\r\n n = n.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = n.length;\r\n }\r\n\r\n nl = n.length;\r\n\r\n // Determine leading zeros.\r\n for (i = 0; i < nl && n.charAt(i) == '0';) ++i;\r\n\r\n if (i == nl) {\r\n\r\n // Zero.\r\n x.c = [x.e = 0];\r\n } else {\r\n\r\n // Determine trailing zeros.\r\n for (; nl > 0 && n.charAt(--nl) == '0';);\r\n x.e = e - i - 1;\r\n x.c = [];\r\n\r\n // Convert string to array of digits without leading/trailing zeros.\r\n for (e = 0; i <= nl;) x.c[e++] = +n.charAt(i++);\r\n }\r\n\r\n return x;\r\n}\r\n\r\n\r\n/*\r\n * Round Big x to a maximum of sd significant digits using rounding mode rm.\r\n *\r\n * x {Big} The Big to round.\r\n * sd {number} Significant digits: integer, 0 to MAX_DP inclusive.\r\n * rm {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n * [more] {boolean} Whether the result of division was truncated.\r\n */\r\nfunction round(x, sd, rm, more) {\r\n var xc = x.c;\r\n\r\n if (rm === UNDEFINED) rm = x.constructor.RM;\r\n if (rm !== 0 && rm !== 1 && rm !== 2 && rm !== 3) {\r\n throw Error(INVALID_RM);\r\n }\r\n\r\n if (sd < 1) {\r\n more =\r\n rm === 3 && (more || !!xc[0]) || sd === 0 && (\r\n rm === 1 && xc[0] >= 5 ||\r\n rm === 2 && (xc[0] > 5 || xc[0] === 5 && (more || xc[1] !== UNDEFINED))\r\n );\r\n\r\n xc.length = 1;\r\n\r\n if (more) {\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n x.e = x.e - sd + 1;\r\n xc[0] = 1;\r\n } else {\r\n\r\n // Zero.\r\n xc[0] = x.e = 0;\r\n }\r\n } else if (sd < xc.length) {\r\n\r\n // xc[sd] is the digit after the digit that may be rounded up.\r\n more =\r\n rm === 1 && xc[sd] >= 5 ||\r\n rm === 2 && (xc[sd] > 5 || xc[sd] === 5 &&\r\n (more || xc[sd + 1] !== UNDEFINED || xc[sd - 1] & 1)) ||\r\n rm === 3 && (more || !!xc[0]);\r\n\r\n // Remove any digits after the required precision.\r\n xc.length = sd;\r\n\r\n // Round up?\r\n if (more) {\r\n\r\n // Rounding up may mean the previous digit has to be rounded up.\r\n for (; ++xc[--sd] > 9;) {\r\n xc[sd] = 0;\r\n if (sd === 0) {\r\n ++x.e;\r\n xc.unshift(1);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (sd = xc.length; !xc[--sd];) xc.pop();\r\n }\r\n\r\n return x;\r\n}\r\n\r\n\r\n/*\r\n * Return a string representing the value of Big x in normal or exponential notation.\r\n * Handles P.toExponential, P.toFixed, P.toJSON, P.toPrecision, P.toString and P.valueOf.\r\n */\r\nfunction stringify(x, doExponential, isNonzero) {\r\n var e = x.e,\r\n s = x.c.join(''),\r\n n = s.length;\r\n\r\n // Exponential notation?\r\n if (doExponential) {\r\n s = s.charAt(0) + (n > 1 ? '.' + s.slice(1) : '') + (e < 0 ? 'e' : 'e+') + e;\r\n\r\n // Normal notation.\r\n } else if (e < 0) {\r\n for (; ++e;) s = '0' + s;\r\n s = '0.' + s;\r\n } else if (e > 0) {\r\n if (++e > n) {\r\n for (e -= n; e--;) s += '0';\r\n } else if (e < n) {\r\n s = s.slice(0, e) + '.' + s.slice(e);\r\n }\r\n } else if (n > 1) {\r\n s = s.charAt(0) + '.' + s.slice(1);\r\n }\r\n\r\n return x.s < 0 && isNonzero ? '-' + s : s;\r\n}\r\n\r\n\r\n// Prototype/instance methods\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the absolute value of this Big.\r\n */\r\nP.abs = function () {\r\n var x = new this.constructor(this);\r\n x.s = 1;\r\n return x;\r\n};\r\n\r\n\r\n/*\r\n * Return 1 if the value of this Big is greater than the value of Big y,\r\n * -1 if the value of this Big is less than the value of Big y, or\r\n * 0 if they have the same value.\r\n */\r\nP.cmp = function (y) {\r\n var isneg,\r\n x = this,\r\n xc = x.c,\r\n yc = (y = new x.constructor(y)).c,\r\n i = x.s,\r\n j = y.s,\r\n k = x.e,\r\n l = y.e;\r\n\r\n // Either zero?\r\n if (!xc[0] || !yc[0]) return !xc[0] ? !yc[0] ? 0 : -j : i;\r\n\r\n // Signs differ?\r\n if (i != j) return i;\r\n\r\n isneg = i < 0;\r\n\r\n // Compare exponents.\r\n if (k != l) return k > l ^ isneg ? 1 : -1;\r\n\r\n j = (k = xc.length) < (l = yc.length) ? k : l;\r\n\r\n // Compare digit by digit.\r\n for (i = -1; ++i < j;) {\r\n if (xc[i] != yc[i]) return xc[i] > yc[i] ^ isneg ? 1 : -1;\r\n }\r\n\r\n // Compare lengths.\r\n return k == l ? 0 : k > l ^ isneg ? 1 : -1;\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big divided by the value of Big y, rounded,\r\n * if necessary, to a maximum of Big.DP decimal places using rounding mode Big.RM.\r\n */\r\nP.div = function (y) {\r\n var x = this,\r\n Big = x.constructor,\r\n a = x.c, // dividend\r\n b = (y = new Big(y)).c, // divisor\r\n k = x.s == y.s ? 1 : -1,\r\n dp = Big.DP;\r\n\r\n if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {\r\n throw Error(INVALID_DP);\r\n }\r\n\r\n // Divisor is zero?\r\n if (!b[0]) {\r\n throw Error(DIV_BY_ZERO);\r\n }\r\n\r\n // Dividend is 0? Return +-0.\r\n if (!a[0]) {\r\n y.s = k;\r\n y.c = [y.e = 0];\r\n return y;\r\n }\r\n\r\n var bl, bt, n, cmp, ri,\r\n bz = b.slice(),\r\n ai = bl = b.length,\r\n al = a.length,\r\n r = a.slice(0, bl), // remainder\r\n rl = r.length,\r\n q = y, // quotient\r\n qc = q.c = [],\r\n qi = 0,\r\n p = dp + (q.e = x.e - y.e) + 1; // precision of the result\r\n\r\n q.s = k;\r\n k = p < 0 ? 0 : p;\r\n\r\n // Create version of divisor with leading zero.\r\n bz.unshift(0);\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; rl++ < bl;) r.push(0);\r\n\r\n do {\r\n\r\n // n is how many times the divisor goes into current remainder.\r\n for (n = 0; n < 10; n++) {\r\n\r\n // Compare divisor and remainder.\r\n if (bl != (rl = r.length)) {\r\n cmp = bl > rl ? 1 : -1;\r\n } else {\r\n for (ri = -1, cmp = 0; ++ri < bl;) {\r\n if (b[ri] != r[ri]) {\r\n cmp = b[ri] > r[ri] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // If divisor < remainder, subtract divisor from remainder.\r\n if (cmp < 0) {\r\n\r\n // Remainder can't be more than 1 digit longer than divisor.\r\n // Equalise lengths using divisor with extra leading zero?\r\n for (bt = rl == bl ? b : bz; rl;) {\r\n if (r[--rl] < bt[rl]) {\r\n ri = rl;\r\n for (; ri && !r[--ri];) r[ri] = 9;\r\n --r[ri];\r\n r[rl] += 10;\r\n }\r\n r[rl] -= bt[rl];\r\n }\r\n\r\n for (; !r[0];) r.shift();\r\n } else {\r\n break;\r\n }\r\n }\r\n\r\n // Add the digit n to the result array.\r\n qc[qi++] = cmp ? n : ++n;\r\n\r\n // Update the remainder.\r\n if (r[0] && cmp) r[rl] = a[ai] || 0;\r\n else r = [a[ai]];\r\n\r\n } while ((ai++ < al || r[0] !== UNDEFINED) && k--);\r\n\r\n // Leading zero? Do not remove if result is simply zero (qi == 1).\r\n if (!qc[0] && qi != 1) {\r\n\r\n // There can't be more than one zero.\r\n qc.shift();\r\n q.e--;\r\n p--;\r\n }\r\n\r\n // Round?\r\n if (qi > p) round(q, p, Big.RM, r[0] !== UNDEFINED);\r\n\r\n return q;\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Big is equal to the value of Big y, otherwise return false.\r\n */\r\nP.eq = function (y) {\r\n return this.cmp(y) === 0;\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Big is greater than the value of Big y, otherwise return\r\n * false.\r\n */\r\nP.gt = function (y) {\r\n return this.cmp(y) > 0;\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Big is greater than or equal to the value of Big y, otherwise\r\n * return false.\r\n */\r\nP.gte = function (y) {\r\n return this.cmp(y) > -1;\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Big is less than the value of Big y, otherwise return false.\r\n */\r\nP.lt = function (y) {\r\n return this.cmp(y) < 0;\r\n};\r\n\r\n\r\n/*\r\n * Return true if the value of this Big is less than or equal to the value of Big y, otherwise\r\n * return false.\r\n */\r\nP.lte = function (y) {\r\n return this.cmp(y) < 1;\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big minus the value of Big y.\r\n */\r\nP.minus = P.sub = function (y) {\r\n var i, j, t, xlty,\r\n x = this,\r\n Big = x.constructor,\r\n a = x.s,\r\n b = (y = new Big(y)).s;\r\n\r\n // Signs differ?\r\n if (a != b) {\r\n y.s = -b;\r\n return x.plus(y);\r\n }\r\n\r\n var xc = x.c.slice(),\r\n xe = x.e,\r\n yc = y.c,\r\n ye = y.e;\r\n\r\n // Either zero?\r\n if (!xc[0] || !yc[0]) {\r\n if (yc[0]) {\r\n y.s = -b;\r\n } else if (xc[0]) {\r\n y = new Big(x);\r\n } else {\r\n y.s = 1;\r\n }\r\n return y;\r\n }\r\n\r\n // Determine which is the bigger number. Prepend zeros to equalise exponents.\r\n if (a = xe - ye) {\r\n\r\n if (xlty = a < 0) {\r\n a = -a;\r\n t = xc;\r\n } else {\r\n ye = xe;\r\n t = yc;\r\n }\r\n\r\n t.reverse();\r\n for (b = a; b--;) t.push(0);\r\n t.reverse();\r\n } else {\r\n\r\n // Exponents equal. Check digit by digit.\r\n j = ((xlty = xc.length < yc.length) ? xc : yc).length;\r\n\r\n for (a = b = 0; b < j; b++) {\r\n if (xc[b] != yc[b]) {\r\n xlty = xc[b] < yc[b];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // x < y? Point xc to the array of the bigger number.\r\n if (xlty) {\r\n t = xc;\r\n xc = yc;\r\n yc = t;\r\n y.s = -y.s;\r\n }\r\n\r\n /*\r\n * Append zeros to xc if shorter. No need to add zeros to yc if shorter as subtraction only\r\n * needs to start at yc.length.\r\n */\r\n if ((b = (j = yc.length) - (i = xc.length)) > 0) for (; b--;) xc[i++] = 0;\r\n\r\n // Subtract yc from xc.\r\n for (b = i; j > a;) {\r\n if (xc[--j] < yc[j]) {\r\n for (i = j; i && !xc[--i];) xc[i] = 9;\r\n --xc[i];\r\n xc[j] += 10;\r\n }\r\n\r\n xc[j] -= yc[j];\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; xc[--b] === 0;) xc.pop();\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xc[0] === 0;) {\r\n xc.shift();\r\n --ye;\r\n }\r\n\r\n if (!xc[0]) {\r\n\r\n // n - n = +0\r\n y.s = 1;\r\n\r\n // Result must be zero.\r\n xc = [ye = 0];\r\n }\r\n\r\n y.c = xc;\r\n y.e = ye;\r\n\r\n return y;\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big modulo the value of Big y.\r\n */\r\nP.mod = function (y) {\r\n var ygtx,\r\n x = this,\r\n Big = x.constructor,\r\n a = x.s,\r\n b = (y = new Big(y)).s;\r\n\r\n if (!y.c[0]) {\r\n throw Error(DIV_BY_ZERO);\r\n }\r\n\r\n x.s = y.s = 1;\r\n ygtx = y.cmp(x) == 1;\r\n x.s = a;\r\n y.s = b;\r\n\r\n if (ygtx) return new Big(x);\r\n\r\n a = Big.DP;\r\n b = Big.RM;\r\n Big.DP = Big.RM = 0;\r\n x = x.div(y);\r\n Big.DP = a;\r\n Big.RM = b;\r\n\r\n return this.minus(x.times(y));\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big negated.\r\n */\r\nP.neg = function () {\r\n var x = new this.constructor(this);\r\n x.s = -x.s;\r\n return x;\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big plus the value of Big y.\r\n */\r\nP.plus = P.add = function (y) {\r\n var e, k, t,\r\n x = this,\r\n Big = x.constructor;\r\n\r\n y = new Big(y);\r\n\r\n // Signs differ?\r\n if (x.s != y.s) {\r\n y.s = -y.s;\r\n return x.minus(y);\r\n }\r\n\r\n var xe = x.e,\r\n xc = x.c,\r\n ye = y.e,\r\n yc = y.c;\r\n\r\n // Either zero?\r\n if (!xc[0] || !yc[0]) {\r\n if (!yc[0]) {\r\n if (xc[0]) {\r\n y = new Big(x);\r\n } else {\r\n y.s = x.s;\r\n }\r\n }\r\n return y;\r\n }\r\n\r\n xc = xc.slice();\r\n\r\n // Prepend zeros to equalise exponents.\r\n // Note: reverse faster than unshifts.\r\n if (e = xe - ye) {\r\n if (e > 0) {\r\n ye = xe;\r\n t = yc;\r\n } else {\r\n e = -e;\r\n t = xc;\r\n }\r\n\r\n t.reverse();\r\n for (; e--;) t.push(0);\r\n t.reverse();\r\n }\r\n\r\n // Point xc to the longer array.\r\n if (xc.length - yc.length < 0) {\r\n t = yc;\r\n yc = xc;\r\n xc = t;\r\n }\r\n\r\n e = yc.length;\r\n\r\n // Only start adding at yc.length - 1 as the further digits of xc can be left as they are.\r\n for (k = 0; e; xc[e] %= 10) k = (xc[--e] = xc[e] + yc[e] + k) / 10 | 0;\r\n\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n\r\n if (k) {\r\n xc.unshift(k);\r\n ++ye;\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (e = xc.length; xc[--e] === 0;) xc.pop();\r\n\r\n y.c = xc;\r\n y.e = ye;\r\n\r\n return y;\r\n};\r\n\r\n\r\n/*\r\n * Return a Big whose value is the value of this Big raised to the power n.\r\n * If n is negative, round to a maximum of Big.DP decimal places using rounding\r\n * mode Big.RM.\r\n *\r\n * n {number} Integer, -MAX_POWER to MAX_POWER inclusive.\r\n */\r\nP.pow = function (n) {\r\n var x = this,\r\n one = new x.constructor('1'),\r\n y = one,\r\n isneg = n < 0;\r\n\r\n if (n !== ~~n || n < -MAX_POWER || n > MAX_POWER) {\r\n throw Error(INVALID + 'exponent');\r\n }\r\n\r\n if (isneg) n = -n;\r\n\r\n for (;;) {\r\n if (n & 1) y = y.times(x);\r\n n >>= 1;\r\n if (!n) break;\r\n x = x.times(x);\r\n }\r\n\r\n return isneg ? one.div(y) : y;\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big rounded to a maximum precision of sd\r\n * significant digits using rounding mode rm, or Big.RM if rm is not specified.\r\n *\r\n * sd {number} Significant digits: integer, 1 to MAX_DP inclusive.\r\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n */\r\nP.prec = function (sd, rm) {\r\n if (sd !== ~~sd || sd < 1 || sd > MAX_DP) {\r\n throw Error(INVALID + 'precision');\r\n }\r\n return round(new this.constructor(this), sd, rm);\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big rounded to a maximum of dp decimal places\r\n * using rounding mode rm, or Big.RM if rm is not specified.\r\n * If dp is negative, round to an integer which is a multiple of 10**-dp.\r\n * If dp is not specified, round to 0 decimal places.\r\n *\r\n * dp? {number} Integer, -MAX_DP to MAX_DP inclusive.\r\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n */\r\nP.round = function (dp, rm) {\r\n if (dp === UNDEFINED) dp = 0;\r\n else if (dp !== ~~dp || dp < -MAX_DP || dp > MAX_DP) {\r\n throw Error(INVALID_DP);\r\n }\r\n return round(new this.constructor(this), dp + this.e + 1, rm);\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the square root of the value of this Big, rounded, if\r\n * necessary, to a maximum of Big.DP decimal places using rounding mode Big.RM.\r\n */\r\nP.sqrt = function () {\r\n var r, c, t,\r\n x = this,\r\n Big = x.constructor,\r\n s = x.s,\r\n e = x.e,\r\n half = new Big('0.5');\r\n\r\n // Zero?\r\n if (!x.c[0]) return new Big(x);\r\n\r\n // Negative?\r\n if (s < 0) {\r\n throw Error(NAME + 'No square root');\r\n }\r\n\r\n // Estimate.\r\n s = Math.sqrt(x + '');\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Re-estimate: pass x coefficient to Math.sqrt as integer, then adjust the result exponent.\r\n if (s === 0 || s === 1 / 0) {\r\n c = x.c.join('');\r\n if (!(c.length + e & 1)) c += '0';\r\n s = Math.sqrt(c);\r\n e = ((e + 1) / 2 | 0) - (e < 0 || e & 1);\r\n r = new Big((s == 1 / 0 ? '5e' : (s = s.toExponential()).slice(0, s.indexOf('e') + 1)) + e);\r\n } else {\r\n r = new Big(s + '');\r\n }\r\n\r\n e = r.e + (Big.DP += 4);\r\n\r\n // Newton-Raphson iteration.\r\n do {\r\n t = r;\r\n r = half.times(t.plus(x.div(t)));\r\n } while (t.c.slice(0, e).join('') !== r.c.slice(0, e).join(''));\r\n\r\n return round(r, (Big.DP -= 4) + r.e + 1, Big.RM);\r\n};\r\n\r\n\r\n/*\r\n * Return a new Big whose value is the value of this Big times the value of Big y.\r\n */\r\nP.times = P.mul = function (y) {\r\n var c,\r\n x = this,\r\n Big = x.constructor,\r\n xc = x.c,\r\n yc = (y = new Big(y)).c,\r\n a = xc.length,\r\n b = yc.length,\r\n i = x.e,\r\n j = y.e;\r\n\r\n // Determine sign of result.\r\n y.s = x.s == y.s ? 1 : -1;\r\n\r\n // Return signed 0 if either 0.\r\n if (!xc[0] || !yc[0]) {\r\n y.c = [y.e = 0];\r\n return y;\r\n }\r\n\r\n // Initialise exponent of result as x.e + y.e.\r\n y.e = i + j;\r\n\r\n // If array xc has fewer digits than yc, swap xc and yc, and lengths.\r\n if (a < b) {\r\n c = xc;\r\n xc = yc;\r\n yc = c;\r\n j = a;\r\n a = b;\r\n b = j;\r\n }\r\n\r\n // Initialise coefficient array of result with zeros.\r\n for (c = new Array(j = a + b); j--;) c[j] = 0;\r\n\r\n // Multiply.\r\n\r\n // i is initially xc.length.\r\n for (i = b; i--;) {\r\n b = 0;\r\n\r\n // a is yc.length.\r\n for (j = a + i; j > i;) {\r\n\r\n // Current sum of products at this digit position, plus carry.\r\n b = c[j] + yc[i] * xc[j - i - 1] + b;\r\n c[j--] = b % 10;\r\n\r\n // carry\r\n b = b / 10 | 0;\r\n }\r\n\r\n c[j] = b;\r\n }\r\n\r\n // Increment result exponent if there is a final carry, otherwise remove leading zero.\r\n if (b) ++y.e;\r\n else c.shift();\r\n\r\n // Remove trailing zeros.\r\n for (i = c.length; !c[--i];) c.pop();\r\n y.c = c;\r\n\r\n return y;\r\n};\r\n\r\n\r\n/*\r\n * Return a string representing the value of this Big in exponential notation rounded to dp fixed\r\n * decimal places using rounding mode rm, or Big.RM if rm is not specified.\r\n *\r\n * dp? {number} Decimal places: integer, 0 to MAX_DP inclusive.\r\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n */\r\nP.toExponential = function (dp, rm) {\r\n var x = this,\r\n n = x.c[0];\r\n\r\n if (dp !== UNDEFINED) {\r\n if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {\r\n throw Error(INVALID_DP);\r\n }\r\n x = round(new x.constructor(x), ++dp, rm);\r\n for (; x.c.length < dp;) x.c.push(0);\r\n }\r\n\r\n return stringify(x, true, !!n);\r\n};\r\n\r\n\r\n/*\r\n * Return a string representing the value of this Big in normal notation rounded to dp fixed\r\n * decimal places using rounding mode rm, or Big.RM if rm is not specified.\r\n *\r\n * dp? {number} Decimal places: integer, 0 to MAX_DP inclusive.\r\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n *\r\n * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.\r\n * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.\r\n */\r\nP.toFixed = function (dp, rm) {\r\n var x = this,\r\n n = x.c[0];\r\n\r\n if (dp !== UNDEFINED) {\r\n if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {\r\n throw Error(INVALID_DP);\r\n }\r\n x = round(new x.constructor(x), dp + x.e + 1, rm);\r\n\r\n // x.e may have changed if the value is rounded up.\r\n for (dp = dp + x.e + 1; x.c.length < dp;) x.c.push(0);\r\n }\r\n\r\n return stringify(x, false, !!n);\r\n};\r\n\r\n\r\n/*\r\n * Return a string representing the value of this Big.\r\n * Return exponential notation if this Big has a positive exponent equal to or greater than\r\n * Big.PE, or a negative exponent equal to or less than Big.NE.\r\n * Omit the sign for negative zero.\r\n */\r\nP[Symbol.for('nodejs.util.inspect.custom')] = P.toJSON = P.toString = function () {\r\n var x = this,\r\n Big = x.constructor;\r\n return stringify(x, x.e <= Big.NE || x.e >= Big.PE, !!x.c[0]);\r\n};\r\n\r\n\r\n/*\r\n * Return the value of this Big as a primitve number.\r\n */\r\nP.toNumber = function () {\r\n var n = Number(stringify(this, true, true));\r\n if (this.constructor.strict === true && !this.eq(n.toString())) {\r\n throw Error(NAME + 'Imprecise conversion');\r\n }\r\n return n;\r\n};\r\n\r\n\r\n/*\r\n * Return a string representing the value of this Big rounded to sd significant digits using\r\n * rounding mode rm, or Big.RM if rm is not specified.\r\n * Use exponential notation if sd is less than the number of digits necessary to represent\r\n * the integer part of the value in normal notation.\r\n *\r\n * sd {number} Significant digits: integer, 1 to MAX_DP inclusive.\r\n * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).\r\n */\r\nP.toPrecision = function (sd, rm) {\r\n var x = this,\r\n Big = x.constructor,\r\n n = x.c[0];\r\n\r\n if (sd !== UNDEFINED) {\r\n if (sd !== ~~sd || sd < 1 || sd > MAX_DP) {\r\n throw Error(INVALID + 'precision');\r\n }\r\n x = round(new Big(x), sd, rm);\r\n for (; x.c.length < sd;) x.c.push(0);\r\n }\r\n\r\n return stringify(x, sd <= x.e || x.e <= Big.NE || x.e >= Big.PE, !!n);\r\n};\r\n\r\n\r\n/*\r\n * Return a string representing the value of this Big.\r\n * Return exponential notation if this Big has a positive exponent equal to or greater than\r\n * Big.PE, or a negative exponent equal to or less than Big.NE.\r\n * Include the sign for negative zero.\r\n */\r\nP.valueOf = function () {\r\n var x = this,\r\n Big = x.constructor;\r\n if (Big.strict === true) {\r\n throw Error(NAME + 'valueOf disallowed');\r\n }\r\n return stringify(x, x.e <= Big.NE || x.e >= Big.PE, true);\r\n};\r\n\r\n\r\n// Export\r\n\r\n\r\nexport var Big = _Big_();\r\n\r\n/// <reference types=\"https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/master/types/big.js/index.d.ts\" />\r\nexport default Big;\r\n","import { PROVIDER_ID } from \"../constants\";\nimport type { WalletProvider } from \"../types\";\n\nconst icon =\n \"data:image/svg+xml;base64,\" +\n \"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNzcgMTg3Ij48cmVjdCB4PSItMTEuMzgiIHk9Ii0yNS45NyIgd2lkdGg9IjIwMC4wMiIgaGVpZ2h0PSIyMzEuNTMiIHN0eWxlPSJmaWxsOiNmZTU7Ii8+PHBhdGggZD0iTTk0LjA1LDU5LjYxYzIuMDUsOC40OCwxLjM2LDE1Ljk0LTEuNTUsMTYuNjYtMi45LC43Mi02LjkxLTUuNTctOC45Ni0xNC4wNS0yLjA1LTguNDgtMS4zNi0xNS45NCwxLjU1LTE2LjY2LDIuOS0uNzIsNi45MSw1LjU3LDguOTYsMTQuMDVaIiBzdHlsZT0iZmlsbDojMWMxYzFjOyIvPjxwYXRoIGQ9Ik0xMjcuODUsNjYuOWMtNC41My00LjgxLTEzLjU1LTMuNS0yMC4xNSwyLjkxLTYuNTksNi40MS04LjI2LDE1LjUtMy43MywyMC4zMSw0LjUzLDQuOCwxMy41NSwzLjUsMjAuMTUtMi45MXM4LjI2LTE1LjUsMy43My0yMC4zMVoiIHN0eWxlPSJmaWxsOiMxYzFjMWM7Ii8+PHBhdGggZD0iTTkxLjc5LDE0MC40N2MyLjktLjcyLDMuNDktOC42LDEuMzItMTcuNjEtMi4xNy05LTYuMjktMTUuNzEtOS4xOS0xNC45OS0yLjksLjcyLTMuNDksOC42LTEuMzIsMTcuNjEsMi4xNyw5LDYuMjksMTUuNzEsOS4xOSwxNC45OVoiIHN0eWxlPSJmaWxsOiMxYzFjMWM7Ii8+PHBhdGggZD0iTTYyLjIyLDcxLjNjOC4zNywyLjQ3LDE0LjQ4LDYuOCwxMy42Niw5LjY3LS44MywyLjg3LTguMjgsMy4yLTE2LjY1LC43My04LjM3LTIuNDctMTQuNDgtNi44LTEzLjY2LTkuNjcsLjgzLTIuODcsOC4yOC0zLjIsMTYuNjUtLjczWiIgc3R5bGU9ImZpbGw6IzFjMWMxYzsiLz48cGF0aCBkPSJNMTE2LjU0LDEwMy43NGM4Ljg4LDIuNjIsMTUuNDEsNy4wNywxNC41OSw5Ljk0LS44MywyLjg3LTguNywzLjA4LTE3LjU4LC40Ni04Ljg4LTIuNjItMTUuNDEtNy4wNy0xNC41OS05Ljk0LC44My0yLjg3LDguNy0zLjA4LDE3LjU4LS40NloiIHN0eWxlPSJmaWxsOiMxYzFjMWM7Ii8+PHBhdGggZD0iTTcxLjY0LDk3LjcxYy0yLjA4LTIuMTUtOC44OCwuOTgtMTUuMiw2Ljk5LTYuMzIsNi4wMS05Ljc2LDEyLjYzLTcuNjksMTQuNzgsMi4wOCwyLjE1LDguODgtLjk4LDE1LjItNi45OSw2LjMyLTYuMDEsOS43Ni0xMi42Myw3LjY5LTE0Ljc4WiIgc3R5bGU9ImZpbGw6IzFjMWMxYzsiLz48L3N2Zz4=\";\n\nexport const PERA_WALLET: WalletProvider = {\n id: PROVIDER_ID.PERA_WALLET,\n name: \"Pera Wallet\",\n icon,\n isWalletConnect: true,\n};\n","import { PROVIDER_ID } from \"../constants\";\nimport type { WalletProvider } from \"../types\";\n\nconst icon =\n \"data:image/svg+xml;base64,\" +\n \"PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CjxyZWN0IHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgcng9IjE2IiBmaWxsPSJ1cmwoI3BhdHRlcm4wKSIvPgo8ZGVmcz4KPHBhdHRlcm4gaWQ9InBhdHRlcm4wIiBwYXR0ZXJuQ29udGVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgd2lkdGg9IjEiIGhlaWdodD0iMSI+Cjx1c2UgeGxpbms6aHJlZj0iI2ltYWdlMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMDU4NjA0MyAtMC4wNTEyMjcpIHNjYWxlKDAuMDAzNzczMjEpIi8+CjwvcGF0dGVybj4KPGltYWdlIGlkPSJpbWFnZTAiIHdpZHRoPSIzMDAiIGhlaWdodD0iMzAwIiB4bGluazpocmVmPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVN3QUFBRXNDQVlBQUFCNWZZNTFBQUFnQUVsRVFWUjRBZTE5ZDVoVjFkWDMrOC8zNy9jbW1rQUVSU1ZmVEY1ck1ER3hSMDFNZVUwTUE4aFFSVUFwU2hVc0NJS0tZQlM3Mk1IZXNLQ0lnZ1VwMDN0bFlBWVlZSURwekF6VEdLWXc2M3QrKzNMR3krV1dVL1k1ZDU5ejFuNmVlZTZkZTg4OVorKzExLzd0dFZmOUwrTEdGR0FLTUFWY1FvSC9ja2svdVp0TUFhWUFVNEFZc0pnSm1BSk1BZGRRZ0FITE5WUEZIV1VLTUFVWXNKZ0htQUpNQWRkUWdBSExOVlBGSFdVS01BVVlzSmdIbUFKTUFkZFFnQUhMTlZQRkhXVUtNQVVZc0pnSG1BSk1BZGRRZ0FITE5WTVZuNDUyZEI2bnB0WnVPbEI3akhaVXRGRjJXUXR0SzJ5aXJ6TVAweWRKZGZUdXBtcDYvZXRLZXVHTFEvVE1wd2ZvaVRVVnRQeUQvZUlQNy9FWnZzTTF1QmEvd1c5eEQ5d0w5enhRZDB3OEE4L2l4aFNJUmdFR3JHalU4Y0YzQUltSzJnNEJIbXVUNjJqbHVrUDB3T3B5bXJSaUovMXJVUkZkT3plUExwMmVUUmRNenFUL2QyczZEUnFkU3IrNEpZWDZqMGloZmlPUzZlZkRrK2xudzVMcGRPMHZJWmxPUzBnU2Y2Y24vUGc1cnNHMStBMStpM3ZnWHJnbjd2Mjc2ZG5pV1hnbW5vMCt2TGp1RUtGUEFEYjBrUUhOQnd3Wlk0Z01XREVJNUpXdmU0NzMwc0c2WTdTbG9JbGVXVjlKOTcyK2h4S1hicWRyNXViUytaTXk2S3pScVFKTVRrc0lBQkNBNVl5UktYVG1xRlFhTkNhTnpobWJSdWVPUzZQQjQ5UHBsK1BUQmRBQWJNejgvZkxXd0Qxd0w5d1Q5OFl6OEN3OEU4OEd3S0V2ZUkrK25UOHBrNjZkbXl2NmpMNWpERnNMbThTWU1EWnUvcUFBQTVaSDV4bkh1S3pTRm5yam15cWE4Y0l1K3V0OUJXTFJBeEFnRFFFUUlPVUFKQUFZQW9oTUFwQVowTkw3RzRBYitvWStvcS9vc3liUllTd0FNb3h0NXNwZFlxelpwUzNpZU9uUmFmWDlzQml3UE1JQ2g1dTdoRjdvNlU4UDBOamxKWFRabmRsQ01nRTQ0U2cyTURFQVRGYWxJNzFBNDhSMUdBdUFiRUJpcWhnampxQ1F4aTY3SzRmR1BWWkNvTVcyb2lacWFPbnl5Q3p6TUJpd1hNb0RuZDI5bExlN2hWNzY4aEJOZUh3SFhUb3RXeHluc0dpaEk0SitDSktKRThDaDBqTXdab3dkTkFBdEJveE1FVG80ME9qbDlZY29mMDhyZFhYekVkS2xiTS9CejI2YXVQb2pYY0xDQmgzTzlmUHlhTkNZVkxFbyt3R2d4cVJaMWkycEJEeXkrZ0lwRExTQkxnd0FodmZYejgrbisxZnRvUTJaaHdrMDVlWWVDckNFcGZoY1ZUZDAwcHF0dFRUbG1WSWFNaTByc1BDR0pkUEFVZjZVb0t3Q0dTUXcwQTVIWllBWWFBcmFnc2JWaloyS2N3TjNqd0ZMUVI1b1BkcERHN01hYU1ZTFpYVHhIVmxDeVF3OWxKQ2lGRlNNV3dXUmVQMGVDbjNRVkhQTkFLMW52bEJHRzdNYnFLMmpSMEhPNEM0eFlDbkNBOUNxWkpZMjA1SzM5OUpWczNLRkRnYldzTFBIcFBsT0R4VXZBQU90UWZQK3Q2VFFWYk56NmFGMzlsSldhYk1pSE1MZEFBVVlzT0xNQjdXTm5iUjZZeFhkOUVDaE1OdER6d0x6UFhiL2VDMWN2ejhYZWkvTUFlWUNWc2QvTGl5a043K3BwdG9tUGpMR2Via3dZTVZyQW9yMnR0SENOOHJwdDFPenhNS0FUNUVmclhxcWd5UG1SUGl1SlNUVGtLbFpZczR3ZDl6aVF3R1dzQnltK3c5NWpUVHB5WjNDd3h1ZTNMRDBxYjVvdVg4QmFSZHpoVG1EZC83a0ozZlM1dnhHaDdtSEg4ZUE1UUFQUUlHN1prc3QzZnhnb2ZEVWhwSVhUTTlBNE01akwrWU9jd2pKNitZSGkrampyYlhVZm93RHR4MVlTbndrdEpQSUxlMDk5TnJYbFhUMW5OeStVQmd2ZVpyN0hYQXhsMXFvMERWemN1bjFEWlVFQ3k4Myt5akFFcFlOdEFYVHZ2cFZKVjA1SzFka0xVQllqTjhYdDlmSGp6bEdsZ3BZRjdGSnNWdUVEUXVMcllSeWlZcVFqM2UrcjZhclo1OEFxbEVNVkY0SHF0RHh3U2tWd0lVc0dPOXVxdUV3SUxsTGpJK0VzdWo1WlZvOTNYaGZ2dkNnWm9uS25icXBVUEN4OHYrQXhFQldER1NTV0o5ZUw0dk5mSDhmUGhKYVpJR3NzbVlhdmF5RStwMVF3bHBoY3Y2dDk0RHVqRnNDK2IxR0x5OFJpUWd0c3B2dmY4NkFaWklGcWhvNjZkN1g5Z2pIUWxpTVdKbnVQYkNSdFlHQU44QWp5Q0tCd0hYRWgzSXpSd0VHTElOMFEzTExWUnVyaE1NbmRCVXdjZitLdmRMWnFCQ0RCOEFqNEJYd0RCeFFFZDNReTFsdURLNCtEczB4UkxDY1hTMDBkSEdSY0I1RXlBWURGVXRWUnFVdzhBeDRCOENWc0tSWTVEUXp4SVErdjVnbExCME1BRGVGUjk3ZEo3elNrWkxFS0pQeTlReHM0WGdBdkhUMjJEUjY5TDE5N0FhaFl4M2lFZ2FzR0lSQ09hcnI1dVhSVDRjbWlYUzhMRlV4K0lRREh6T2ZnWmVRNGhtOGRjUDhmRW91Ym9yQmpmdzFBMVlFSGtDb3hlSzM5b3A4NGZCbVpxQmlvRElEU25wL0F4NkREeGZTQ3gzbE1KOElxNUlsckxDRXlTbHJFWlZZc1BPeFVwMkJTaS9vV0xrT0d5SjREVHdIM3kzb1M3bWRTZ0dXc0VKbzhzSVhCNFdZamlJR0xGVXhXRmtCSWJPL0JlL2hxSWlpdHR4T3BnQUQxZ2w2N0svcG9OSEx0dE5wUTVPRUlwVEJpc0hLTE9CWS9SMTREOWxQd1lzbzJZYXExOXdDRkdEQUlxSXYwK3Zwd3RzelJVWUZxOHpHdjJlZ2s4a0RTTmw4MFIyWjlGWEdZY1lzdGhJU0xmOWd2MGdSQW9YbnJ5YndZcE81MlBoZTF2a0pQSW5ZVkNqbC8vTmhoZTlCeTdjU1ZrMWpweEMzV2JGdWZWRXhNTmxMdzJDRi9QakhTcWpPeDdubGZRbFlxSVJ5K2N3Y2tVdWRGNXU5aTQzcEs1ZStweWNrMFpXemNpaTcxSjlXUk44QjF2cy8xTkM1WTlPRWlNMUhRTG1MaWNISmZucUNaM0U4aEF2RUI1dHJmSGRFOUJWZ0lRUkNpNXBuc0xKL2NUR0EyVU5qOEM0eVA0Q1hsNzIvejFlZzVRdkFRcnJhS1UrWDBrK0dKdEZnTHY3QXNaQXhNaXU0QldnMVI5T3B6NVQ2cGdpRzV3R3JycW1ML3IyNFNIZ1FjM0ZTZTNaOHR5eHdML1lUUEEzREVUSS8xQi9wOHJ5MDVXbkFnalBvOWZQeWhIS2RIVUVackx3SVdOcVlVS1g2ei9QejZVRHRNVStEbG1jQmEvditOcnJzcm14eHptZDlGWU9WdHJDOStnb2VoMDdyanpPeWFVZUZkeXRUZXhLd01uWTIwd1dUTTZrL3NpeXdNeWpyckR5aXM0b0Z0dUIxeENIQ016NjdyTm1Ua3BibkFBdjVxekJ4cU1yTFlNV1NWYXhGN3JYdk5kNC83N1owU2lrKzRqblE4aFJnYmM1dnBNSGowa1VPS3dZckJpdXZnWkhlOFlEM0J5U21pc0lvV3dvYVBRVmFuZ0dzSC9JYVJVb094RjB4V0RGWTZWM2NYcjBPYXdCckFhNFAyTWk5MGp3QldGc0xtOFRFTUZneFVIa1ZnTXlNS3hpMG9DcnhRbk05WUtWdVB5SkVYODYyd0dCbFpsRjcvVGNhYUdHY2FTWHUxMm01R3JDUXl2aTgyekpZWitVVEs1alh3Y1d1OFFHMG9OUDZ6Y1FNeW5ONTZtWFhBbGJKL2piaHVzRFdRSmFzN0Zyb1hyb3ZRQXRyQlM0UGJ2YlRjaVZnN2F2dW9OOU56MlkvSzVhczJNZk1BQThBdE9DYitQczdzd2xSSUc1c3JnT3NocFl1dW41K0hudXdHMkJVTDBrS1BCWnJFalZBQ3g3eGY3NG5ueHBidTEySFdhNENyTTd1WGhxNWRMc284dzNDTS9NeURaZ0hqUE1BMXM1cENVbWk2RXBYZDYrclFNdFZnRFhucFYwaU1wMloxRGlUTXMyWVpxRThnSFJMODE3WnpZQmxCd1dlL3ZRQXA0amhZeUJMMVJKNTRKZmpBNmxwbmx0NzBJNGxhOHM5WFNGaGZaNVNSLzFHSkF2bjBOQmRndjlueVlGNXdEd1BJRjE0dnhFcDlFVnF2UzBBSS91bXlnTldZWG1yY0F3OWEzUXFWMktXdUx2eUlqZS95TDFFTytTSnc5ckNtSXIydHNyR0YrbjNVeHF3R2xxNjZhclp1Vnd3Z29HS2o0STI4Z0NVOENoc2NmV2NYSUlWWHVXbUxHREJkbkhyNHp2b3RJUmtEbWEya1ZtOUpDM3dXTXhMalFITFlUSk5lR0tIeW5oRnlnS1dwbVJuSmpUUGhFdzdwcDFSSGtCKytHYy9PNkFzYUNrSldKc0xHa1VZd1RsYzRZYVBRaXhkT3NvRDU0eE5vek1TVXdnWlVGUnN5Z0ZXZFVNbi9YWnFWaUNnbVpuVlVXWTF1aHZ6OWQ2VDRLQ0VSNkQwcGRPenFhYXhVem5NVWc2d3hqMVdRcWNQWTcwVmc0SDN3TUF0Y3dwOUZ0YmdyZjlSVDUrbEZHQTkvL2xCOW1SbnFaS2xTa1Y0QVBxc2w5WWRVa3JLVWdhd3NrcGI2TXhScVNMTnNWdDJJdTRuUzBGZTVvR3p4NmJSb05HcGxLdFFEaTBsQUt2MWFBLzk2ZTY4Z0wrVklydUxseG1SeDhaQXE0Y0hvTStDZjlaMTgvS29yYU5IQ1VsTENjQmFzR29QSVJDVHF6UHpRdEt6a1BnYTUvZ0VheEpId3dXcnl4bXdRQUdZVDRIaWc5bUZnWFUzTEYwcnlRT292SU0xcWtJaGk3aEtXRGdLWGpNblYvaGM4YTdwM0s3SnRHWmFHK1VCcEZlK2RtNHV0Y2I1YUJoWHdIcm83YjFDM09TaklDOGdvd3VJcjNlV1o3U2o0Y1B2N0l2cjBUQnVnSld6SzJBVlJIb0xaajVubVkvcHpmUTJ3d1B3Z2o5clZDcmw3bTZKRzJqRkJiQ1FsdldtQndxby80Z1VWclN6M29ZM0xKZndBS1Fzck5sL0xTcWk3cDc0cEZhT0MyQzkrbFVsTzRpNmhFbk43TVQ4RzI5TGNMQWFydHBRR1JjcHkzSEFxbXJvRlBVRXRhUmh6TnplWm02ZVgrL05MOWJ1UmJkblVuVWNZZzBkQjZ5NUwrL2lIRmNzWGZFeDBNVThnS01ocXU3TWU5WDVBaGFPQWxaMldZdUlCSWRmQisrODN0dDVlVTc5TTZkWXd3aWx5OXZ0YkZwbFJ3RXJjZWwyNmpjOG1jSEt4YnNyZzVKL1FDbldYS01nNitobEpZN3FzaHdEckcreUdrVEZXWlFXaWtVSS9wNXB4RHlnUGc5Z0xRTzB2czF1Y0F5MEhBRXNtRUQvZG4rQmNPOW5SblNHRWJYQ0F0QTFtUDhMbEZiRHZkdzJiMWhJNXNlZEZOaGNXUktPT2U4STJjSGFkc3JOd1JIQSttaExyVkMwdTQzcDNkemYvcmVrME5SblN1bU5iNnBNLzczMmRTVU5tWnJscXBRLzJQVUhqa3FsSlcvdE5UMXUwT3p4anlwRWVUaytFY1RlckU1UFNDYXNjU2VhN1lEVmZ1eTRLQjgwTURGUSs4ek5JT0NXdm1QQlhuWlhOclYzSExmTVE1Tlc3SFNOM2hIV0swaFdJNWR1dHp4dTNPQ2FPWGxDc2V5V2VZOVhQNUZTR1hHR1I0OVo1N2RZRTJjN1lLM2VXTVZPb2c0ZkxYQVVlditIbWxoenIrdjdWOVpYRW5iUWVDMEdJODlGeGc5WXJtUWxuSnUxY2hmOWJKZzd4bTZFVG5aY2U5clFKQ0hSNm1JcUN4ZlpDbGhJK25YbHJCd2hvdHRCSkw3bnFlSTZqb0kzTFN5a251TnlRaWZ5ZHJlSXlzQ0RGVGVXQkh5RGt1bnVsK1g1Qm4yNHVWYmtObWMrTzVYUFFta0NxUjVGajl1UDJadm96MWJBZ2k3Z3B3bEpydGlkUXlmQWpmOUQzd0xBMmxZa3IwUVR4SHd3SW9KZVZhYkoyV1BTNkRjVE0raGczVEVMKy9mSlA5MWYwMEhuVGNnZ0R0Q1BEVmpnRFVqMmIzMWJkVElSSmY5bkcyQjFkQjRYdWE1WWQ2VnZzcTJDQVNRTUhGOG1QN2xUTW9zUTNmbGNtZEFOV2Uyam5iOUhmQnVLNzhwdVF4Y1hjYjQyblNvTjZMS1E2dnhZbDMyNkxOc0FhODNXV3Rmb1B1eGNTRTdkRzZrLzRIMWNlcUJkOXBxbHQ3K3JWdnBvTkhCVUNsMCtNNGVRRUZKMmUvS1RDclp3NndRczhEcktnMzJXVkNkN0d2cnVad3RnUVgveWp3Y0tlV2N5TU5GV2dFM29iNFltMGVLMzl2Wk5yTXczSlJWdEFnd0hqM05HV2pSS2k5TVRrZ2dicEIwdFkyY3pEVXhNRVM0T1J2dmx4K3ZQdUNXRi9ybXdrQ1NwVUUrWlVsc0FhMU5lSS9VYmtVSy9kR2pCK3BFeGdzZU02UGxMcG1SUjNaR3VVeVpZeGdkd0NyeGhmajZwZUx5SHpnNzVtV1FaR1VMcHBlbndZSDBNcGptL0Q3OTVRWStLdGI4bHZ6R1VsRkwrdHdXd0pqeStRM21kaDVjWURpWmxPSG5hMldCOVU4M0VEOHNsUEsyVGk0L1lPWFNhOHlLN054aFpML0NGbS9pRVBWV2pwUU5XeWY0MmdzV0dNektFMzRHTVRMeWVhMUVjQU5LUG5ZcE9vTUVuMjJxVkFpek55RERsbVZKYndRbzNYNXRjUnovam9IM2RFaWJXUG5TcU95cmFwTStOZE1CYTlHWTVLeWtkT2dyanlJMkZ0Q0h6c0hUR0NMMWhlZFZSa2M1YWxZMElDMkx3K0RUYVhTbmZ5QkE2OXNyRHgraC9KbVc0S2tSSnoyWm41elduSlNRVHNFQjJrd3BZalMxZEl2WnMwQmpPZDJVbk0rRGVrREFnZWp1VjN1TTREQ2tMQ21oQVlvcnVuZFl1R21Ec2NHTndzb0lMd24yZ0w3TnJURjY3THpEZzBtbloxTlRhTFJXenBBTFd1OTlYQytjeHJ4RmZ4ZkZBMG9FaU9IK1BjeFZNRnI1UnJvUjd3NW1qVTJuSXRDdzYzR3lQa1NIY0Nudis4NFBNMndaUERnanBlbTlUZFRoeW12NU1HbUQxOWhMOWUzRVJwNUF4T0tsbXdGQzRNU1FrMGQydnlBdEQwY05CNjlQcmxUQ21JSG9DTWFwT3RueVhoQ2laNFNlN2ZnT0RTTUxpWWlJNVVXSml1cVVCVnY3dVZzTE9wM3JNbVYyVDQrUjk3UWhEMGJQNEQ5VWZvLytaR0Y5ZERvd01mN2szbnpxNzdmT21Ea2NMbEthN2JsNGV4OFVhMkpDQkJYQzVLU2lYbDBaWkdtREJhUkdLTmljWHJoK2ZwZWx2bnZwRWZoaEt1SVVhK2hta2FJQkdQR2dQSXdQMGR0ODRtT0V5ZVB6M3ZyWkhpU054UEdodjlwbkFoSWZla2VmUUxBV3dFQkx4eHhrNUFrM05Eb3gvcDg4TkFzNmJWOHl5Snd3bGVIRkdldi9vZS92akVuS2xHUm5HTG5jMmgzZ3dIYjdPUEN3QWt4Mmk5ZkVxMWpRa3JDdG01aEF5dDhob1VnQ0xKMUwvQkZvRlpzUnFmV3hUR0lvZWh2byt0MUZZeTV6T3hBa2p3NkRScVZRbzhYaWhaN3pCMTlRMWRkSkZkMlFLUDBPcjgraW4zNlB3akN5cFdBcGczZmw4R1R2V0dUamJtMlhXL2lPUzZlYkZSWFFjRm80NE5ZVC9YSHhIbHFPTFZqTXk0RWdXN3pidXNSSVJlbUoyRHYzNE8wUklJQm1pakdZWnNPcVBkSWs0TmlpQy9UZ1pUbzFaaEtHTVRLR1U3ZmFHb2VoaHFzUkhuZlZKR2pRbWxjNmZsRWxWaHp2MWRNL1dhMTc5cXBKMXRRWTNaL2hrL1hacUZqVzBXSGREc1F4WW55RnNnZFBJMmdyV2tEQkFZeFNWVUtFNW1YSkZNekk4dC9hZ0NrTW5FWG9HTDNzdUJteUk1eEdSOFVWcXZlVTV0QXhZMDU0dFZjSTN4eWxKSng3UFFSZ0tkRWE3SzQ5YW5uQVpOMEN3TVN5RlR1aXhZR1M0ZW5hdU5LV3QxZkVqYzhXTjk2cVp1U0lldktuM21RQXNKSUswMml3QlZtTkx0eEQxT0JUSFBxVzdKbUU4OHU0K3EzUGQ5M3VyS3JBamJkMzB1K25aaEtPYVhvWTFleDI4cFNIRnkyb3k4alRCaGNjdGhUbk0wbDMyNzRBUlF4Q3EwMkl0Vk1jU1lDSG9GbjR4c2dmSDkvc1JBR0VXUmhpS2pQTS9GbjNtem1ZcDFVMlFRZ2g1ait5Y3EzNGprbW5va21LeUNyQWEySDJ5clk2K3piRmVwWGhUbkN5bGR0TGE3bnZERmFUZjhCVGFtR1dOL3BZQTY5N1g5N0QreXFBQzBpaGpJTmVWekRDVWhDVkZoRCtyN2NWMWgyeU5yVU1tQmh3NzAwcWFyWFpWL0I1K1FPZFB6cVFsYjF0M1lteHM3YVpMcDJVNUltRWE1UmVWcjRkTHpuMnZXN1AwbWdZczVGKzZkaTRYbXJTVFFiQmdiN3kzZ0RvbEpmWEg3dmJmLzA0U3g3bm1kbXVpT1dyL1FmcXpJeFFMeDJBd045eGxaTFduUGoxQS8rZHZXK2lXUitRVVdVV3hEMGlBZHM2LzErNk5ZUDNyN3M2enhNK21BU3RuVjR2SUZtQUh3M3B0b3N5TVI2U2FIWjRzNVFpRFJZOEszR0FXQktTaXVrbXFSZmNJYkZpb2tHSkg2bUFZR1VDenZWVnlqQXg3cXp2b1Z4UFN4Ymd2dkQyVGFocXR1MGU4OWEzYWhUbk04SnpkdjlGaUMxSHIwbXd6RFZpQmRCdTh3OWd4eVpBd29Cc2MrNWk4TUpRWFBqOG9ja2poM29qdmtsRVNhNjROYVpNMUl3TkNnR1MxNmMrVjlTbkpJUlZ0eUxLZThIRFhvWFpoSlZVbG9hRWRmR2pIUGNGN0s3OHc3NkppR3JER0xDK2gvallyWGUwZ21CdnVpVVVnTThxOXVxR1RMcGljU1pvMUY0bm9SajFxL1dpMFpvdjh0TW1RMkM2ZG5rM1FFOGxvMElIaGFLMmRCSERVWENnaEV5YXNqZi9MbGFFTUg0bUJHZU1zeElPYUFxeTZwaTY2ZUlxejRSbHVBQm9aZmRRa29IdGVsWmZyYXNGcXBLMU9FbGxLMFVkRUpWeHlSeFloU3NGS2cxOFk3aWRUeWdoVUQ1YVQ5QTNXeFdFUEZSRkNtclM1d1hINHIvY1ZTS215OCtqNysydzFQR2g5OXRLcjRMMHBXVlJ2TXZtaUtjRDZJZTlFQUt6TkZqSXZUWlRlc1VBS1F2NXc1QkdYMFRUUDdHQlFnWWtaVWhiS3NWbHBLSzMxdC91Uk5sbU9QeFlrSVlBSmNrL0phSituMUo5aXhRWWRJRzNKS0RpN3JhakpNUWRhdmZ5aituWFF6VUtQdXFYQUhPK1pBcXpIUDZybzB3bW9UaUMzOVErNXlwLzVURjZ1cTRrcmRvaEZDOGt0bUJZNEdpMTczN3FlNlA1VmN0SW1nNUdodC90T2dwOFV3QTcxQksrZG0wc0RScDRLcG5ENmZPdGI2eGxMT2EzU3lUd1Z6Ri9SM29QK0t6NnVNTFVubVFLc3hLWGJPUlZ5Q0FCRW15QzkzeUVNNWNwWjhzSlF0aFEwaWVOUXVCQWFTRE5ERjF2M3gwSjhtRlhuWVlBcDdqSHVQL0pxMmNGUERPQWZqdlo0MXBTbjVjUmxUbitPUTlQQzBUamFaNUR1eHl3enAwTTFERmlpTW81d211UHNETkVteGN4MzJIayszaWFuNURxT2F6Y3RMSXhZNlFXdUF6aDZJdTJ4bFZaUjIwRy92czFhMm1RYzB3SzVydVRVc2FzOWtiZHEwT2p3UEFxRHhoL3V5cWFXZHV0SjVUN2NYTU5aU0ExdTNwanIzMC9QcHFZMjQ0WVZ3NENWc2FOWmxDd1B0MnViV2FUOG00QllEZXNKMGcvTHluV0ZoUlFyWlRVa0RSU1dzTktnMlA3WG9rS2h5ekV6bDVxUlFXYXVxMFZ2bFBlNWNJVHJFM2dYRXFhTVZEMzdhenJvdkFucGRPNEozN0Z3eitQUFRqNDZndjZ3Qm1lWEdmZkhNZ3hZcjIrb1pQMlZ3UjBsRnNNaVZja3ZKQzBnZ0U5TGV6ZGRQak1uWnNFRVllSmZiYjNZSlhKMm13MEdEdVM2eXFBcVNVYUduUWZhaGRWU2N6Nk5SSHVBK1JOcnpPbFJRZ0VlUjJ2TVg2Um44ZWNuQXhib0FYNTV3MFRsSThPQWhjeUJuUC9xMUFrd3k1U1FNR1RudWtLQmlrajZtK0IrUWlHTjRxaFdNeGg4azlWZ09rd0YvWlNaNjJyeVV6dkRHaG1DeDQzM3NGUU5lNmc0Rkh0TS9iOWlUVVZNYVRiMCtYNy9IencvKzBYaldVZ05BVmFnK20raE5ETzIzeWNONDRja0FEUDdya055d2xCRUthNUpHWDFPb3RGb0ROMFJBSE9QeFJBWU9LWmVPRG5UY0NsM1ZKRythbll1dFVzcVVKQlUxQ1IwZHBxVGFMU3h5OUxoQWVFeWRyS2FKQnF0dzMwSFY1aC9MQ2cwdkZrYUFpekVZRjEwZXlhZHplZDFLZUkvd0FJU2hzeVM2L05mM1NOMmU4VE9oV09VME0rdzA4bFE5QTkvdU5pdzVSaEgwaytUNU9TNmdwRUJ1alFqNWVTaHc1T1JCUk11RkZmTnlxV3pScDNxUWhGS2IvNC93SmR3SUVWQkQ2TnhuWVlBSzYza0NDdmNKZXF2K25KZG1mVDZEVDIvb0tMTVdhUFRESG1lQTdEdWZ0bTZWLzFqSHhvci93VWpBOUxjV0QyT2FqUllzN1hXc0I0TmdIblBxOWJTbldqUG4vTVNxMHFNZ0RFVTd3TkhwVks2d2ZSQmhnRHI3ZStxV1g4bEViQWdYYTB5b1hqVUZrbm9LeXE2UUdxQTVLYVhlY0EwTjh6THQreGREcDh2NklYMDFPeURrUUZXT215QU1ob2NPT0cvQmo4MnZlUEdkUmo3OWZPc3BUdlIrcjgycGM2eVA1cVJ2bnZoV215VzczNXZMQXpMRUdBOWlOU3dYSERDMEtLSXhGaG5qRXlsUDkrVFQwalRJcU45bDl0QXFQOW0xTjBFNEFGZEZrSjRyTFREelYwaVhYYXM2a2w5Um9abjVUaHVvcy9QZnFiUHlCQTZGMGdTaUZDb0lnbTFEaEZLZGY0a2EvNW9vZjN6K3YvQWtpVnZHVXVvYUFpd3hqMjJnek0wR0pCZUlqRWNRQVdTME1aTTYybE9zR0FSZTRjWVBFZzRrWjRaN1hPWW1KSGZ5V29ic3l4MkJnOG91ekYrV1FVMU5LQXdtMThlN2cwbzNTV2pqVnpxYlBtemFIUHFodStnRnJqVllIU0Ric0RxN082MUxXR2JHNGdyczQrUWhFWXZrNWZyNnAzdnFpMloxUUdleUJsbHRTSEhGckl0UktJVnBDdWtmSlpaVUFNT3B3QWRJOGZnNFA0aEwvMkVKK1NFQkQyLzlxQ2xlUWp1bHgvZXcza1VSM0lqd2U2NkFRdm1jbVJyak9XUTV3ZENXeGtqamwrWXFQdzlyVmJ4UWZ5K3FiV2JmbjludHFYTW43QnV3YjNnNkRGcm9TcXBNWXd5ZlVZR0NRVTFNZmppZlcwaXJ6cG9hblpPY0lSRmZuWlVnTExha0VrVFk5VGpWbUcydjE3NkhiQUVsc0txQnYzaFlib0JTOHZoYlZSSDRpVUNXeDBMWEEwZ2djaXd5bW1MQzlZNVBVNmkwZnFPQllhRmxtc2hkUzM2QXcvN3krN01wa2d4ZkJpN3pJSWFxTnlEZW5kbXBTdlFCUHlNby9UbWZIUHBUclI1d0t1V05ocksvR2owNXU4Q1JpSHdIWFNJUmpadjNZQzFMclZlbEhYU1l3WGlDUWx2cGNOdS9wdUpHWFN3cmlPWXowMi8zeWZpMkRKRVFqNnJOSWNlNjVYMWgwejNSZnZoeENkUS91dkhoSGxhdjJBVi9NczkrUVRWZ295R25HdzR6c25ZUURIMnBlL0pxZnVJU2xKc21BclAveG92YUsrWU8raXgxbWZvajJmVkRWZ3ZmWW15VHFjeW92WndmbzA5U1pDRVpPUlMxeFk4d3FTczZHK0M1d3dnZzl4WlZ0dkw2dytkNGc4RnhvU2VEQ0U4TWhxcUwvLzlmdk5HaHVCeDR6M0E5SitMQ3FYVVAvd3E0N0FBYk43WVk2OEgwTjZvMFVNM1lLSGFMZndtUWllYi85YzNNVGdtWERFemgrQXpKS09oYWhIdWVlNDRmYytQTlU5SStYSFpYVG1XVTY1b3FvTmdQUTdBYXF5RlBONmg5SHB2RXpKUlJGYnV4eHByNlBmSXRJQ01DL3VxclV1K2RVZTY2T0k3TXFWSXZhSDk5T0wvd0pTSDN0RXYzZW9HckR1ZTVrUmxWaGdHeHc1NFk4dHFNS0dITzNxWjdTT2tJTVQyV1hYbUZHRXFzMzhNVTRGQ0hQcXhBa2xHaGlOdDNmU0h1M0lzR1JuQzBRZ0w1Nk10Y3VZSERyekJlZVREUFk4L0MyeTAyTXltUHFQZkowODNZQ0d5blZOb21KTm1jRTVIbkJ1Q3gyVzByek1QQzJsWDlyRURVb3VNekFsM1BsZlc1M0dQZTg2WFdGQURLV0dzR2huQ2dRV1U5ek5YR3M4ZUVHNCs0ZGZGNmhOOWF3V1lNdHhBMWd4ZGdBVkZLZndsWUk0UE45bjhXZVRKZ2VRQ0t4UXlDY2hvc0VUZE1EK2Y0Q2t2bSs0SUhKWnhkRU80QlJUUFdrRU5xMWxOTmJwcDJVMWplZE9ib1V1ZmEwZW45Y2lEN2Z2YkFsazRMTGhibUJtREczOER0UWI0V2E4dmxpN0FncS9QNzZabjYwcFo0a2FpMmRWbkxReEZWdjV3TE54Vkd5cUY4NlVkZlQ1N1RLb0lyMm13R0l5TkpIb0krZm0vTjIrVFdsQmo3a3Z5akF5aDlNUEdZallMcGdhbzJpdU1BamZlbXkrTzJLSFA0ZjlQM3R5eHFjR1BFRWQ5UFUwWFlHRm5RLzV2ZGhvOW1kaXhtQS8wZ2c2bjdHQzducm1JZVEzaTlZWk16Ykl0allrbURTS1EyVXJEZ3IxeWRxN29xeXdqUTk3dVZnRW9zb3dNNGVZT2VrWlVOSmZSSG55ei9CUnJhYmhuK3YwenJCRVUrVDFRcDg5NVZCZGdGZTlyRlRzbWRrMi9FMWp2K0NGZFFkZXk1RzFqd1ozUkZzdkQ3KzZ6Ulg4VFBDYm9Ydjd6a2ZYVXdkT2VLNU1Xb3dlYUlKUUpDdHJndnNwK2p5UHhLSlBWWEVMbjdmdmNFN1U3eHh2YjVHU1BTZlg3WVVQSFJvbGp0SjZtQzdDUVVSSGlNbTZzT2dGVTZSOHNZNWRNeVNLWXVXVTBCQXVEL25aTHVkQzNqWGpZZXVwZ1NKVnRraktKYnN4cUVHQmxOLzlCTndhWEJGUTJ0OXFnUmhuQzFhVmk0Z1htRkdzbHE3UlpGOGwxQVJaWGVqWU8xSkN1WHZ0YVRoWUF6Q1JNdnpDOVd3bEQwUVBteUNhTG1OSHF4azVkREdUM1JUOGFHY3hsb3RBejVyNXJ4cWNMVnhFQXBJdzIrY21kSXVWUDMvMGxaUHJ3MnIxZzZRNkVSdWxUUStnQ3JNOVQ2cVQ2L0hpTjZLSGpnZWYwRGZQenBPVzZTaWsrSWlZMTJCa3o5Sm15L2djRHdRM2ptMnc1aTlicXdnZm8yK0hHRUlsZXNHNHVlbFBPTVI0Skx6bE1KL1ptRDMvQ2RXbjZ3bk4wQWRiN1A5VFlyaitJeEVCdSt4d0xIajQ5Q05HUTBlQzdkZk9pSWtmemtFSDVMRFBQdkZrNjFCL3BFc2RxSEJtYzRnTTR6eUszR0hMRVcyMG9MSUlqajVWc0VrNk5PNTdQZ1c0U2RUVDFOTksyNU40QUFCOFBTVVJCVkYyQXRYcERGWWZsNkJEbmNWenJOenlGRWg4MVY0WTczSVRCKzlwcEowUklpRGMvV0VqV2wyeTRFZW4vYk5HYjVjS0Z3KzVqY1BCaUJiakF1RlI2d0xwbEYwVm1iM3JBZkpIWjRINTUrVDBBNjgxdnFuUXhoaTdBV3ZuRlFSWnRkUUFXR0IzR0NjVFR5V2pON1QzMHh4bXhDNkxLWnVaenhnV3lTdWcxTmNzWWErZzlkbGEwRS9vUmo0cktPTWJoT0NlalBmcmVQblp2aUxGMm9KdDkrVXQ5bVVKMEFSWUtjK0tZSUh0aGVPbCtrQUpBbzdrU0t0Qm9DMlhGeC9hRW9laWhPM1k5R1NXd3RMRVlmWjIwUWw5QlZEMWpNWG9OeG00a3ZpM2EyQkRoQUluVmJndW4wVEdxZEQwMkNPVGwxOU4wQVJiaXR4aXdvaXNQNFNVZXlIV2x6d0V1MXVUWUdZYWloMW5CUkFza2xMR1BOYzV3MzIvT2J4STZ1M2d0Y3VqTS9qQkRUbWFObHZZZUVhenRwQjVPei95cWRBMnc1Y2xQOVBuKzZRSXNaTFdVbWM1REpXTEo2Z3NzV1pCRVpiVlpMKzRTbTRTVCtwdGdXa0Q1akp4VHNnSzI5ZElGWHZLb0NBeFRkM0Ivbkh3UG9Cd3dNb1dROGxsR1E3NThTRzFPanNGTnp3SmdQYTdUV1ZrWFlDMTdud0VyR2dNZ2dQUHltVG5VY2xSZlBGU3NSWkJWMmtJbzVSM1B5QUxOc3JXbjhtaXM3a3I5SG9IVFRoc1p3czJ0MlBVL2xyTUJ3UUxHN2cyUlR5Z1FocFovc0Y4WEh6Rmd4VkFJaG1QbTBNL0EzREp6WGQzeVNMRkkveHY2SEtmL2h6TDBZNGs1dkdKeHBJeUNHckpvQkFuUFNOcVRhR1BiajFUV3Q2WEh4WUFnaXg1MjNrYzZZQ0cyVElWZHowNmltYjAzNHM5azVycUNvaHRBSVR2WGxabnhvUjkzdjJLOWpIMjB4Uno4SFhaWkhLM2pkUXdPcGhGQ29NNmZsRW1vZXlpakRWMVN4UG5rSWdnSHdCYXBSOElWckhRUHEzK0E1emwyNHFRaU9ib09aT3U4Wms2dU1tbEpVUHBkNUNycXNkOGpxN3pxcUtBeFFvT0NnU09lNzJWYVNtSHg1VTAvL0xFUUp4VFFSMC9UZFNSRTRRVGNOSjdNbzlxemhSdkRzR1JDNm1oWjdZWFBEem9haGhLTHBvUEhCYnkwZDFUb2k2UzNRZ2NvcHFIblFTbTBXUDF5Nm50SW1QZThKa2ZDUkFJQmJBRHhzbnc2UlRNeno4RzhQL09wUG4yaExzQmF1ZTRRS3cxRHhGa2NHYUFVbDVYckNzVWtrUmNJeFNETVRMcGR2d0V6eVhLaWpBUm9xZHVQQ0YrbHdlUFZrYTVBVHhoVGtHbTNzOXQ2RmxJVXFVV3gyak1WbTErNytNYklmYkV4b0NxWG5xWUxzRkQ4RWpjMTBna3ZYd3ZwQ2lYWGpWVDdpRFVaOTcyT2t1dEpTa2tZbUVNY2k2WTlLMCtLREtWRGIyOHZEVjNzYkt5a1h0N0Vob1NVTThWNzVWVHBudjNpTGw1SElScy81Z0t4dDFKRGN6ajQrZVJqQ3B3QUw1bWFSUWpPbGRFS3kxdEZUaURObFVEdmduTGlPb3dWTGh1eWNsdUYwdXVUYmJWS3F4dWdDcEdWSnVpejVEcXhPSjJZTnpjOUE1dmloNXYxVlN6U0pXRjlub0txenl4aGFVd0FTOWJyRytUbHVocjdtUDNaTkxXK0czMkZ6Z1h4a1hvVHJJVUNVclQva1Q3NWlsazVRcmRqdEY5T1hRKyt2KzBKNndWbVFRZFlIRG5WK01tYlA2emgwdFBMYk1vN2tlNDFqRGpuRk9PbzhweEFycXQ4YWJtdWtIY0tPNHdLYmd5UmFBenJGZ3dDc2h1TU9VN211b28wdm1pZkR4cVRTcGRPenliNGlNbG9JeC9aSGxjdi9taGpqY2QzNEh1UndFOW5IUUZkRWxZNkxCeWNJbGxZZUFBdUc3TGs1THBDTnMyLzNJT1NYZkVMUTlIRHBFam9oK0tnTXR2QnVtTWk5aEl4bUhyNkVLOXJJR0ZpUVcwcGFKUXlmQlM1WVBlR0g2VXMwQmRxQjcwU3ZDN0FLdHJiSnBLUXhUTlVKRjRNRy94Y2dCV0tJY2hxcXpaVTJWYXlLN2pmVnQvRElpclNKamZJUzV1TXJCWll1Q280aWNhaUQvUllDRStUMFZEOUJ3dlVpZXl4c2NhbHd2ZlEyd0swU21RV29VQm9nZC9QM2lBc2REbjV1K1ZZaktDdy95MUtkcm5BekkwK29xQkdqYVE4NzhnWEJsckN6MHVGUlJPckR5S2g0YUlpUWtJK3F3MHVFdGZOeXhNbmxsalA5Y1AzMkF6aHpuT3dYbDlFZ1M0SkMrZDNuT05SOU5BUFJBd2RvM0JqU0VpbXV5WG11a0w1TDlYMU54b2QwRTlabGpJcytKRkx0NHZpREc2UXJrQURiRmJuVFVpbmZkVWRWdkZLL1A3ZTEvYXdYK01KZmZpZzBXbDAyVjNaMU55dVQwZW9DN0N3Sy9pNVZEMThjV1RtdWtMNlhTd0M3QzRhS0tqNkt0dklzRDc5c0RLeGtrWm9EajlFV1FIdXlQZmZqOVBOQ042SGJ2elA5K1JUbDg3d0wxMkFoVzFoMkVQRnZnM2VoSVFCaTVhc2h2SlBXQUNxU3hqUUxVQnZ0MUdTa2VGbzUzRzY3dTQ4a1d2S0NGaW9jQzNtYTliS1hWSllvSzZwa3k2NkkxTTRwYW93dG5qMjRSY2pVd1MyNkNXc2JzQ2E4a3lwTDVPUURSeVZJaHduWlpWY1J4bDRXTjBBQnZGa0ZEM1BsbTFrZUhuOUlkY2NnMFBwYzlhb1ZMcDZUaTUxZEZvUDA4SGloTlcxM3dpMXJjT2hOTERqZi9DWWtYVFV1Z0VMT2hjL2h1ZWNucEFrN1NnZ3NtaytFTjlzbW5xWkRrZFdLTnNMOXNneE10UTJCcVNLczBhcmZ3d09SeU5zTUlnRHpKRlVZT1RWOVpYczNvQ3duR0hKaGtMY2RBUFdLK3NQK1k3QWdWeFhSVkpxMUdGWGZXOVRqU3RTVFd0R2h2bXZ5c2xVZ0xFdmZLTmNTRmNxWldNSUIwelJQa09zSnlwSXlXamI5N2NKSGFaYkxLWFI2R0xsTzdpMnZQcVYvcWdSM1lEMVpYcTlhNDR5Vmdpby9WYkxkWlZjcksrRWRpd21QdExXTFlvUndKeXZQVVBWVjFpRDRjYWkxOVFjYSt3N1VMSnJyRHVNRE5IbUJFZjVNY3ZsK09HaFVPdU45K1lyay9zczJyanQrZzVTSzJocXBPaXdic0RLMjkwaVVwLzR3ZUVORWdaRTFkdWYyaGxyTGVyK0hoa1ZvYnhYWGRFTzVrUS9uOUZaZGtrUEFTYXUyT0VLSTBPc2hZbmtnaGZma1VsMWtvTGVIM3h6cjlLQjM3SG9ZZlY3WUFrMngvdzkrdXQ0Nmdhc1EvWEg2TUxKbWE0d3hWc2xKS1FCNkhCa1ZQL0ZnaFk1dlNla2swclpOQ1BSYUdCaUNsMHhVMDZKSzR4OWMwR2paeVJ6TFZBWDhaOHkydmU1M3FGTkpINks5am5XMlVXM0cwdERyUnV3T3J1TzA1L3V6aE1leXRFNjRmYnZoUDVtYUJJdGZtdXZESjRVOTRBNUhNcDdOMGhYMG8wTUN3bzhGZXlMTUowSDN5eVh3aHVOTFYwMFpGb1dJY0RhN2V2R1RQK2hIb0hYZjFlMy9oQUMzWUNGR1JxN3ZFVHNsbVk2NTViZmFHRW9zc1QrN0xJV2tUN0ZEWEdZTURMY3ZLaElXaTFDdHhnWmpQQW02algrN2Y0Q2FZWVlWTGlHYWQ5SUg3eHlMZlJYNC85akxIV1BJY0JhOUdhNTUwTUtrRWxVWmhoS29HU1grZ3hwajVFaDIzTVNPVlFGb0pXczFOakl0T25YZWdsSXYyMzBKR01Jc043NnR0clRnSVV3RklRZ0llMkxqUFpsV3FCa2wrbzdvbVprbUNLeG9BYXFoYnZGeUdCMGZyRFEzdm0rV2dhTDBLNURSd1VBQWdpTjlzUHQxOE93aGNLNVJwb2h3RUt4QUs5Vy9vQkNGYm1salpoWW94RWFIdEhRK2FIa3VlcU1CZVdueklJYUNCS0d2NVViakF4bTVrWjRaMHZLYzMrOGwraC9IeWgwQlorWW9WV2szOENsQVhHRTZUdWFveTJqVTc0ekJGalZEWjBpTHhJWVBGSkgzUGc1SkF3d1llS2oyMDhoa05rUHREQVUxUlh0NkI4a0lVUXl5R296WGloempaSEJETDlDejNuNURIbDU3aDk5YjcvdmpvVklLSUI0U3FNcGl3d0IxdkhqdmZTUEJRVTBJTkZiVmcySTQ3Qlk1TzdXN3c4U2JYSFhOblVLZngwd3Rwa0Y0ZVJ2MEVmazVaSlZVQ056WjdOd2huU0RrY0VzblNFZFFQbWVWaUtuZ082Mm9pYVJkUmIzTmRzbnQvME9HUEtQQllVRUNkTklNd1JZdURGTTlGNktLY1RSQlNFWGMxNlNFNGtQR3NFaDhLZEQxYy9HQUNhSGRJWE1wN0xhaUllTGZSSFVDNTU1NmhNNUdUeGFqdmJRSCs3S2RrVXlSMW5BQ0F4QjJUT2p6VEJnZ2JtOVpOV0FhUHJyMnpLb29sWk9jcmFkTGdwRGtaM3I2b3RVZHhnWlpDdzY1SGtmOFVpeDBmVVc4ZnJwejViNXlyMEJHSUo2cDBhYlljQ0N5SS9qazFmRVYwZ1lLejZ1TUVxM2lOZFBja3V1cXhONnV3MlpjZ3Bxb0xMeE5YTnpQYWN1aUFSdTBPTWkzaEtsdTJTMER6ZlhlT3JrRW9sdStCellBUXpSVzNnaW1MNkdBYXNSNlpJOTRwMExLOFVmWitUb1RzOGFUTGh3NzdjV05oR2NMMVVIY3lqYWtmRlNaa0dObGVzQ3VhNVVOekpFVzBoR3Y0T2habDFhZlRoV01Qelp2cG9PT205Q0JwM3JNWU5XT0pyQ3MvOTNKa3VuR1FZc3pBU3NhUkNKdzNYR1RaOUJMTVhPSnFNaCt2Nm1oWVVDc0ZTbmdXWmtNQkowR28xRzFZMEI2L0VnRnhnWlpNNE45RERJenk2ckRWMWM1SXVzdnZCd0g3M01uRVhlRkdBaDg0RGI5VmlRaEc1Nm9GQmFpTVVIbTJ1RUtWL21nckRqWHBDQW9EQ2UrN0p4aFdla2hibGdkYm00cDUra0s4d05mQkp2bUo5dktCWXVFZzN4K1JOcktueVJjdzdZWVZZTll3cXdmc2hyRkJLV3l0V0tveTEySE5rQVdEakN5V2pON1QzMGh4azVyaWpkSkl3TUV6UG9nQ1Fqdy9aOWJTSTN1Ujg5dFJHaUErZlk0bjF0TXRpSU1sQ3dPTkU3K3VGd2F4QnJ6MHBoV2xPQVZkZlVSUmRQeVhKbEVuMUlBUkRsb1J5WDFiQmJRSGtmYm9KVSsweTJrV0hDNHp2bzV5NG9xR0hYUEVCYWtPVVdnaUlkVjgzTzlWejhaVER0c1dHaXhxVlp2ejlUZ0lXRlBtYVpPek0zd0xxRFAyVEJsTkhnRGdHM0NFeEU4TVNvK0I1R2hzdG55ak15UU5MdVB5SlplU09EblhQUmIwUXlUVndoYi9PRGI1S1gvQnhEYVEvOUZRcHdtRzJtQWV2NXRRZGRkOTRXVHFKRGsyalJtL0xDVU9CdzZxYVM2eDl0cVRYTEt5ZjlEZ1UxL242L3QzSmRoUzR1UGYvRDBBQ0xGMUpneTJocmsrczhEVmhZS3l1L09HU2FWS1lCQzNtZTNPYVBoVEFVcExoRjZJeU1oZ29xMERtNG9aQkEvMXVTNlo4TDVSa1pFR1VQNXRPenFMMThqZERKakpTbkQ2MnNQeWI4dTd3V3J3c2VnTTRQYXpCdnQvbEtUS1lCcTZQck9GMDcxMTBaU0tHL1FmVWZXUzF4NlhiaG5heTZkVXhUZEc2VFpHU0FOSEhabmQ3TGRXVVdXS0hIV3ZiK2ZsbHNSU01mMmU0Szl4aWo5RG96TVZVVTBrVWxlYlBOTkdEaGdmQkJjY3Q1RzJsZWtPNUZWaUZNcEtGQk9ocUFnZEdKYy9KNnpjZ3cyYWNGTlp5Z05VS2NibjZ3aUF6RzhVWmNzOCs1VU4yaWg4N0lJM2IvS212cHBTMEJGc0k2NERHdHA3UHh2RWJrdWhxV1RPdlQ1WVNoSE9zOExoTDlnVkhqT1M0OXo4YlJBaTRIcFFmbEdCbEVRUTBZR1h6Z2thMkh2cmdHM3VubjNaWWhpbzFFUkNFRFg2QkNGWTVPT0VMcDdZTWJyb09CWXFQRkFoNldBQ3NRcHBNdFN2V29TakJJR0NEVUxZK1k4NndOeDJkSW9ld0dOd1lZR2RCUG8ybG93NDFaK3d6Wk90eGlaSENTSjNIUytHU2JISU9HRnd1K29KelhwZE95Q1poaHBWa0NMRHg0K25OcVI1bERJUTdGT0l3RU1ocjhSeTZabXVXS1ZDRFlwZUh6VWlmSnlCQW9xSkhpdVoxZkJyQUJzTXlrUzRuRWsyNVN0K2loSDlRbmR6NVhGbW00dWorM0RGaWZwNmh0aGtXQUt2SlR5V29Qdm9WY1Ywa2lCYkNlaVlyWE5kQ3R3ZWZsd3kxeVlpVkJQNUhyYXJnNzhudzVUWGRZeksrZWt5dUx6U2lwK0VnZ21zUWp4MElBRnRJUFdXMldBZXR3YzVmWXhWVjBuQnc4UHFDL1diV2hrbEMwOHJ1Y0J0Ti8rRDE4bUtDcmNJUEpHWDFFSmxFVXdyQXlidngyVTE0alFSR01MSkdxR3htY0JpcnRlZEEzUVZjSXIvZE5FbmdOUWZtL21aZ2g3cWs5dzYydndBYndZa05MbDFXOElzdUFoUjdjOVh5WnNKaXBTRkRvY1hCK2hvTGM2aDlpb01DVXFyc3hhUE9Bc1dQbnR6cHU3ZmNNVnRHVjRERHVJSFd5Umk4cnI1ZzN0L0NaeG0rUlhuRmNucmxTVHJDOUZNQ0N0UkJITDFXRG9iSFFaUDFGbWhSVlA1YzFibFhuVmpXNlM2TzNSNDZDbUI5NEVueGowVHFvaVdaU0FLdjFhSTlJaEFjbHIyb014UDJKTGhVd2ZaZytkdkxBV2FOUzZZcVo4aW9NU1FFc29CK1UwVzdQa1dYbnhQRzlHUmo4eUFOd2dYbm9IWGxHTDJtQWhmZ2duTHU5NXV6bVJ5YmpNVE80eXVBQkxYYXdvTng4N0tCMkZOUmVwUUZXYnkvUnY1SGkxUU9wazJWTUZ0K0RGNzNmZVFCWWtMQkVYbVVoZ0pZMHdNTE5BaEg4N2toazUzZG00dkV6b05yTkExQVJ2YjlKbmgrZ2RNQnFiT21pSVZPemxBN1ZzWHVTK1A0TUJNd0Q2VFJvZENBVXA4bGlLSTUyRk5SZXBVcFl1T21pTjFHUVFQMkFhR1lxQmhibUFmdDRBQmdnTTFHbWJZQzFvOEsvUlFsNEFkaTNBSmkyN3FFdG5LdVJ6UU5ZSUx0Smw3RFFRVkdZd0FWcFozZ1J1R2NSOEZ5NVo2N2dSSDdiRXp0a1k1VzRueTJBaGVJRS9VYW9Yd0daRjRGN0ZnSFBsVHZtQ3A3K1dQdWI4eHZkQTFqSGUwbFVRV1lYQjNjd0dZTUJ6NU1zSHNDYS8rZWlRZ0lHMk5Gc2tiRFEwYldLcDUyUk5VRjhIMTdzekFNLzhnQUNuV1dra1lrRWRyWUJWbGQzTDkwd1AwOUVyL09FL2ppaFRBdW1oVmQ1QUhVVC9ueFBQbUh0MjlWc0F5eDArTDFOTmV6aWNDc3ZVSzh1VUI3WHlid05SOUVQTnN0SkV4MEo4R3dGTEZTb1FSWkdwQ2pteVQxNWNwa2VUQTh2OGNEQXhCUzZWbUpWcXJnQUZoNzZ4c1lxVnhSczhCTHo4RmdZREozbWdkT0dKdEhiMzFWSHdobHBuOXNxWWFHWGJSMDlMR1h4c1pBbGJBL3pBRkpuUTdvNjJtbStRS3BlUkxNZHNOQ1JEN2ZVc2k3THd3enI5RzdPejFOTGdvVHU2dU90OXVxdU5FQnpCTEM2ZTNycGIvY1YwQzljVUhpVUY0TmFpNEhuUSszNWdOL1YzKzh2SUt4eEo1b2pnSVdCSUtlenlQdnVvVnpWdkpqVVhrdzhQL2JPRDd6YXNhWmw1V3ZYQTNpT0FSWTZNMnBaaVJnZ001SzlqTVQwWmZvNndRTUFxOUhMU3ZUZ2pMUnJIQVdzM0YwdE5IQlVxaWRxclRuQkVQd01CaDVWZVFBWkdaQVNIYW5Sbld5T0FoWUdOdStWM1hSYVFwSm5hcTZweWxEY0x3WTd1M2dBOVJLeGh1ZS91dHRKckJMUGNoeXdxaHFPMFFXM1p4S1hCT01GWmRlQzR2dmF5MXRZdXhmZW5rblZqWjNlQnl5TThMV3ZLOW1abE4wYzJEZkxwVHp3MDZGSnRHcERsZU5naFFjNkxtSGhvVENCM3JTd2tQcVBTT0dqb1V1WmxxVVllNlVZRmVtTG8yQy9FY2wwODRPRjFHTlgvcGdZTUJnWHdFS2ZjbmExQ0tYZHVXUFRlS2RsMEdJZWNBRVBuRE0yVGFoeThoMVd0QWRqV053QUM1MVk4dlplY1RRRWNxdTRvM0NmZUY2WUJ3SThnRFg2azM4bjBkTDM5Z1hqaCtQdjR3cFlyVWQ3NkpvNXVYUUdlOEF6WVBPbXBUUVBZSTMrNmU0OGFqdmE0emhJQlQ4d3JvQ0ZqbXd0YkJMVm9nZVA0Nk1oNytZczBhbklBMWliQ01GSktqb1NqQjF4ZVI5M3dNS29GNndxNTZNaFN4aEtTeGdxQW9rVGZjSlJFRmJCQmF2TDR3SlFvUTlWQXJCYWdvNkdyTTlpS2NPSmhjalBpTTFuV0l0SVdIRE4zRHhxYVkvdlVWQURMaVVBQzUxSjNYNkVrQk1hbGdobXB0ak14RFJpR3RuTkExaUxBeEpUS0sya1djT0x1TDhxQTFpZ3hPTWZWZEJQaGlZeFlQSHhrSGxBQVI3QVdueGlUVVhjUVNxNEEwb0JGaHhLaHoxVUxESTYvR29DNzZCMjc2QjhmK2F4Y0R5QXRZZHlYU01lTG82YmcyZ3dTQVcvVndxdzBMRjlOUjEwL3FSTTRWUWFqcGo4R1M4eTVnSDdlQUI2SzJSVXVXQnlKbFhVZEFSamhSTHZsUU1zVU9XcmpNTWlCSUJkSGV4alRGNzBUTnR3UElDME1RaVoyNWgxV0FtQUN1MkVrb0NGVGo3eTdqNE9rRlpBanhHT3Fma3o3NElkdk5tWGY3QS9GQ2VVK1Y5WndJSSthL2pEeFhUNnNHUmlmWlozRndpRG54cHppeldHWWhJamwyNVhUbThWakpiS0FoWTZXZFhRU1pmZGxTMThRUmkwMUdCc0JoanZ6UVBXRmp6Wi96Z2poMnFibk05eEZReElzZDRyRFZqb1BOSXFRNWVGcEdIc1ZPcTl4Y0lBR044NXhackMyaG84UHAzeTl6aWI3amdXT0lYN1hubkFRcWUvU0trWGlrQk9SUk5mNW1adzhSNzlzYWFnWlA4aXRUNGNQaWozbVNzQUMxUjdkdTFCb1lSSGFTRmVPRXdENWdIclBJQzFoRGpCNTlZZVZBNllJblhJTllDRkFkejk4bTZSazRlWjFUcXpNZzJaaHJBSVlrMjVxYmtLc0xwNmVtbmNZeVdCcWp2c0NjK1NKcnQ5bU9JQktObFI5UVpyQ1d2S1RjMVZnQVhDTnJkMzA5OFhGSWpRQWJZY3NwVEFrcUl4SHNDYVFkak5QeDRvb0daRk1qQVlBVXpYQVJZR0IzZUhxMmJuQ205NEJpMWpETXNMM0wvMHdscEJFUW1zbmVvR3RkMFhJb0dZS3dFTGc5bGRlWlIrT3pWTCtJOHdhUGwzRVRJQTY1dDdyQkg0V2cyWmxrWGxsVWNqNFlIeW43c1dzRURaL0QwdDlPdmJNbWhBWWlwN3c3TSt4NVEreHcrQUI3RENHdm5OeEF3cUtGZmYxeW9hYXJvYXNEQ3cxSklqQlBNc0lzeFowdEszMi9waGtmSVlBN3lBTlRFd01WV0FlVnBKL0hPeVJ3TWpQZCs1SHJBd3lDMEZUUVFIT0FZdEJpd0dxaDk1UUFPcmM4ZWwwN2JDSmoxNG9QdzFuZ0FzVVBtSHZFWkNhZ3pzSml4cC9jaTB2SUQ5U1lzZndTcU5OdWMzS2c5RWVqdm9HY0RDZ0xma045TGdjWUh6T29PV1B4Y3FBM1M2MkxDaHM0S3FaRXVCZDhBS2E5eFRnSVVCSlJVMWlRbEQ0VWNHTFFZdHZ3RVllQjY4Zjk2RWRFb3U5c1l4TUZqNjhoeGdZWEJacGMxMDRlMloxUDhXQmkyL0xWZy9qeGRnMVg5RU1sMTBSNlpZQThFTDNTdnZQUWxZbUp5Uy9XMGlsOWJQaDNNQ1FEOHZZcitNSFdBRkQzYmt0TnBaMGU0VmZEcGxISjRGTEl5MG9yYURicnczWDhSTitZVnhlWnorUEFZak52Q3Y5eFhRZ2JwanB5eHlMMzNnYWNEQ1JEVzFkdE9vWmR0RnZVTk9UZVBQeGV4bEVOZFN4SXhkWGtKSDJycTloRTFoeCtKNXdNS29PN3Q3YWZhTHUwVHVIN2crZUptQmVXeitBV1h3TXZKWklVVU1haUQ0b2ZrQ3NMU0pYUEZ4aFNqU0t0SXRjM29hQm02WGhqTkJYd1VlN2pjOG1aNzg1SURHM3I1NDlSVmdZVVkvMkZ3akhFd1JDSXFKWjRtRWFlQW1IZ0RQZ25jaFhYMjRwY1lYSUJVOFNOOEJGZ2FmVmRwQ1Y4ek1FU1hFM01TczNGY0cxOU9ISmRFVnMzSUVEd2N2WkwrODl5VmdZWEpSem1qTThwSSt2UlpYNUdFd1VIVkRBRzlxK2lvbzExVXZ4V1VuZVBvV3NFQlVxQ2xSNVJZT3BtZHl0Z2MrSGl1bzA4SVJFRUg5T0FZKzlxRzZGWm50QktuZ2Uvc2FzRFJDZkpsZVR4ZmNua2svRzU3TWkxYkJSYXVxNU9ORXY4Q1RpTnBZbjNGWVkxZGZ2ekpnblpqK1BaVkhhZGhEeGVLSWVNN1lOQzdheXNBVnQ4MExSMER3SUZ3V1JqeGNUSHVyTzN3TlVzR0RaOEFLb2tiUDhWNXhSQnlZbUJKSXZjeUxObTZMMWducFJjVm5BS3h3L0lPS0FrZkE0OGY5NFY4VnRBeWp2bVhBQ2tPZWxPSWpkUDI4UEZiSU0yQTdCdGpCaXZVYjV1ZFQ2bmIzWndjTnM3UXNmOFNBRllHRXJSMDl0UGl0dlNJaG9QRFo0c1hyMk9KVlVmS3h1MC9nTVNTZkJNKzFkZlJFNEVyK21BRXJCZzhndjlZTjh3UFNGdXUyMlBWQkpuQUY2NnJBWTBrZXpGOFZZM2taL3BvQlN3ZkoybzcyMENQdjdxT3p4NlNLdW00eW1aYnY1VjhRUkkzQXM4ZW0wU1B2N1dPcFNzYzZ4Q1VNV0RvSmhjdHlkclhRME1WRmRGcENzb2psd2c3SmdNTTBNTUlENEJuRUFZS0hFcFlVVWU2dUZnTWN5SmN5WUJua2dkNWVvdFVicWtRUlYrUWdnZ2N5QXhlRFZpelFBbytBVjhBelE2Wm0wUnNicXdpOHhNMFlCUml3ak5HcjcrcXF3NTEwejJ0N3hHNkpyS2FjYTR0Qkt4Sm9nVGZBSTROR3A5RjlyKzl4YlpuNFB1YVA0eHNHTEl2RXp5NXJwdEhMU2tTcUR5VC9qOFMwL0xrL0FlMk1XMUtFM2hOeHF6bGxmUHl6dU54WWgyV1ZnTnJ2djB5cnB4dnZ5eGNaSU9CNHlnRGxUNERTNWgwOGNQcXdaSkcyZUgxNnZjWW0vR3FSQWl4aFdTUmc4TSs3dW52cG5lK3I2ZW81dVVKWGdhQlZqWUg1MVI4QWhqbUhudXFhT2JuMDd2ZlZCSjdnSm84Q0RGanlhTmwzcDlhalBmVEtWNVVpYnhHWWw0SEwrMkFGcDAvTTlaV3pjK20xcnlvSlBNQk5QZ1VZc09UVHRPK09MZTA5OU5yWGxYVFY3Rnc2UFNGWkZMaGtTY3RiNEFXOUpZNStWOC9PcGRlL1pxRHFZMzZiM2pCZzJVVFk0TnRpdDhWUkVTWEhZQzJDdytCZ0xvYmgydU15NWc1emlMbUUzdkxkVFRYcytCbk04RGErWjhDeWtiaWh0MFpsazNXcDlZU3NrV2VQU1JOUzE2QXhyT2R5aTlTSnVZS2tqTG5ESE1MUTRwZHFOYUc4SEsvL0diRGlSUG44M2EzMHdPcHk0WUNxSFJjSGovZldjY2t0UUJTdG41Z1RjZXhMU0JaenRmQ05jc3JmMHhvbnJ1SEhNbURGbVFmcW1qcHA5VGRWZE5QQ1FwRURDZUNGWEVpLzVMQ2Z1QjBaUVh2TWdUWVhtSnMzdnFraXpCVzMrRktBQVN1KzlPOTdPb3pmV2FYTnRPVHR2WFRsckZ6cVB5S0ZmallzY1B5SUpnSHdkL0trVWh6MVFIUFFIb1lTekFYbWhKczZGR0RBVW1jdStub0NKZjNHckFhYThVSVpYWHhIbGxoRUlyUmpUQnBMWGhJbFQwaFNnOGFrQ2VVNWdBcTBudmxDbWFBOTU2VHFZMGVsM2pCZ0tUVWRwM2FtdXFHVDFteXBwU2xQbDlLUWFWbkNPZ1V6T255N1dPZGxYTG9DelVBNzBCQ1dQdEIweWpPbHRHWnJMVlUzOHBIdlZBNVU2eE1HTExYbUkycHY2bzkwMGRlWmgrbisxL2VJRk02UURxQm42VGNpUlVnS0hJQjlLb0NCSnFBVHdBbTB3dnZyNStmUi9hdjJDRnFDcHR6Y1F3RUdMUGZNMVVrOVJjZ0hMSTB2ZlhtSUpqeStneTZkbGgyd1pwM1F3Y0FFNzBjSkRHTWVORHBWNktFQVVBTkdwdENsMDdNRmpVQXIwSXpEWlU1aUpWZjl3NERscXVtSzNObkR6VjIwdGJDSm52cmtnUEFSK3YyZDJTTDFEWTQrMEg4aGRBUXBucjBraFdFc0dOT0F4RlF4UmdBVWt1TmRkbGMyalgyc2hKNys5QUJ0SzJ5aWhoYVdvaUp6anJ1K1ljQnkxM3pwN20xamE3ZXdjQ0ZSM0l3WGRvbXNBZWRQeXV5VHdxQmsxc3BKWWRGRE1sSFJsUUo5UXQvUVI3Z2FvTS9vTzRBWS9sRVkwMS92S3hCamhPdEJkbWtMTmJWMjY2WVRYK2d1Q2pCZ3VXdStUUGNXTlJjUDFoMmpyUVZOOU1yNlNwRklMbkhwZHJwbWJpNmRQeWxEU0NiUTh5QjFMd0FCN3dFSWtGaGc3a2UyVE5tZ3BvRVI3bzFuNEZsNEpwNk5QcUF2ZUkvUEFVem9LL3FNSkhnWUE4YUNNV0ZzM1B4QkFRWXNmOHh6eEZGMmRCNm5pdG9PeWk1cm9iWEpkYlJ5M1NIaGdUOXB4VTc2MTZJaTRZOTB5WlFzK3RXRWREcnJoSVFESlQrT21RQVZJZTBrQUZ5U292N2h1S1pkajkvaUhwQ1dBRWE0TjU0QjN5YzhjOUtUTzBVZlhseDNTUFFKZlVNZjBWZHUvcVlBQTVhLzV6L202TnVQOVZCdFV5ZVZIbWluekozTnRLV2dpZGFuSDZZUE50ZlFxZzFWdFBLTFE3VGk0d3BhOXY1K2V2VDkvZUlWNzdVLzdUTmNBekRFYi9CYjNBUDN3ajF4Ynp3RHorTEdGSWhHQVFhc2FOVGg3NWdDVEFHbEtNQ0FwZFIwY0dlWUFreUJhQlJnd0lwR0hmNk9LY0FVVUlvQ0RGaEtUUWQzaGluQUZJaEdBUWFzYU5UaDc1Z0NUQUdsS01DQXBkUjBjR2VZQWt5QmFCUmd3SXBHSGY2T0tjQVVVSW9DREZoS1RRZDNoaW5BRkloR0FRYXNhTlRoNzVnQ1RBR2xLUEQvQWRXcDJSQnhQVXVTQUFBQUFFbEZUa1N1UW1DQyIvPgo8L2RlZnM+Cjwvc3ZnPgo=\";\n\nexport const MYALGO_WALLET: WalletProvider = {\n id: PROVIDER_ID.MYALGO_WALLET,\n name: \"MyAlgo Wallet\",\n icon,\n isWalletConnect: false,\n};\n","import { PROVIDER_ID } from \"../constants\";\nimport type { WalletProvider } from \"../types\";\n\nconst icon =\n \"data:image/svg+xml;base64,\" +\n \"PHN2ZyB3aWR0aD0iMjM4IiBoZWlnaHQ9IjIzOCIgdmlld0JveD0iMCAwIDIzOCAyMzgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik01MS43MDUgMTQ1LjA0MkgxMTYuNzA1TDEwNy43MDUgMTU1LjA0Mkg1MS43MDVWMTQ1LjA0MloiIGZpbGw9IiNENjQ1MDAiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNDcuNTE5IDE5MS41NTdMMTI5LjU3NyAxNDQuMzk0TDE0Mi40MDQgMTI3LjExMkwxNjcuODc1IDE5MS41NTdIMTQ3LjUxOVpNMTEwLjkzNiA5NS4zOTMyTDEyMC42MTMgMTIwLjgzMUwxMzMuMzU5IDEwNC4yMjhMMTE3LjQ3NSA2NC4wNDIyQzExNS45MjggNjAuMTI4IDExMi4xNDYgNTcuNTU2NSAxMDcuOTM4IDU3LjU1NjVDMTAzLjcyOSA1Ny41NTY1IDk5Ljk0NzQgNjAuMTI4IDk4LjQwMDMgNjQuMDQyMkw2Ny45NjU5IDE0MS4wNDJIODcuNzgwN0M5NS40MTUzIDEyMS4wMTEgMTAyLjg5MyAxMDEuMzk5IDEwNS4xOTggOTUuMzU0MUMxMDUuNjQxIDk0LjE5MTIgMTA2Ljc0MyA5My40NTk5IDEwNy45ODcgOTMuNDU5OUgxMDguMTMyQzEwOS4zNzggOTMuNDU5OSAxMTAuNDkzIDk0LjIyOTMgMTEwLjkzNiA5NS4zOTMyWk04MC45MjEgMTU5LjA0MkM3NC45Mjg5IDE3NC43NjggNjkuODY2MSAxODguMDYzIDY4LjU0NDcgMTkxLjU1N0g0OEw2MC44NTE0IDE1OS4wNDJIODAuOTIxWiIgZmlsbD0iIzIyMkI2MCIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE3Ni4wMjYgNTQuNzUwOUMxNzcuOTk3IDUyLjA4NzIgMTgxLjc1NCA1MS41MjU3IDE4NC40MTggNTMuNDk2N0MxODcuMDgyIDU1LjQ2NzggMTg3LjY0MyA1OS4yMjUxIDE4NS42NzIgNjEuODg4OEwxMzAuMDEzIDEzNy4xMDdDMTI5LjcxNCAxMzcuNTEyIDEyOS4zNDEgMTM3Ljg1NyAxMjguOTEzIDEzOC4xMjNMMTE3Ljg1NiAxNDUuMDEzQzExNy4wODcgMTQ1LjQ5MyAxMTYuMTI4IDE0NC43ODMgMTE2LjM2MSAxNDMuOTA3TDExOS43MTggMTMxLjMxOEMxMTkuODQ3IDEzMC44MzIgMTIwLjA2OCAxMzAuMzc0IDEyMC4zNjcgMTI5Ljk3TDE3MC42NyA2MS45ODlMMTY5LjkyOSA2MS40NDA1QzE2OS40ODUgNjEuMTEyIDE2OC44NTkgNjEuMjA1NiAxNjguNTMgNjEuNjQ5NkwxNTIuMzExIDgzLjU2ODhDMTUyLjU4NiA4NC4yMDIzIDE1Mi41MjQgODQuOTYxMiAxNTIuMDg0IDg1LjU1NjJMMTQ5LjExIDg5LjU3NTVDMTQ4LjQ1MyA5MC40NjM0IDE0Ny4yMDEgOTAuNjUwNiAxNDYuMzEzIDg5Ljk5MzZDMTQ1LjQyNSA4OS4zMzY2IDE0NS4yMzggODguMDg0MSAxNDUuODk1IDg3LjE5NjJMMTQ3LjY3OSA4NC43ODQ3TDE0OC44NjkgODMuMTc2OUwxNjcuMzA4IDU4LjI1NzRDMTY4LjYyMiA1Ni40ODE1IDE3MS4xMjcgNTYuMTA3MiAxNzIuOTAzIDU3LjQyMTJMMTczLjY0NCA1Ny45Njk3TDE3Ni4wMjYgNTQuNzUwOVoiIGZpbGw9IiNENjQ1MDAiLz4KPC9zdmc+Cg==\";\n\nexport const ALGO_SIGNER: WalletProvider = {\n id: PROVIDER_ID.ALGO_SIGNER,\n name: \"AlgoSigner\",\n icon,\n isWalletConnect: false,\n};\n","import { PROVIDER_ID } from \"../constants\";\nimport type { WalletProvider } from \"../types\";\n\nconst icon =\n \"data:image/svg+xml;base64,\" +\n \"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxuczpzZXJpZj0iaHR0cDovL3d3dy5zZXJpZi5jb20vIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjI7Ij4KICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDI0IiBoZWlnaHQ9IjEwMjQiLz4KICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDEuNjgyMDksMCwwLDEuNjgyMDksMjI2LjM2OCwyMTIuODE4KSI+CiAgICAgICAgPHBhdGggZD0iTTMyNy4wNDksMjgwLjE5MkwxNjkuNTI0LDEzTDEyLDI4MC4xOTJMMTY5LjUyNCwxODkuMDg0TDMyNy4wNDksMjgwLjE5MloiIHN0eWxlPSJmaWxsOndoaXRlO2ZpbGwtcnVsZTpub256ZXJvOyIvPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMS42ODIwOSwwLDAsMS42ODIwOSwyMjYuMzY4LDIxMi44MTgpIj4KICAgICAgICA8cGF0aCBkPSJNMjk5LjU0NiwzMDdMMTY5LjUyNSwyMzguNDczTDM5LjUwNCwzMDdMMTY5LjUyNSwyNjQuNjdMMjk5LjU0NiwzMDdaIiBzdHlsZT0iZmlsbDp3aGl0ZTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgIDwvZz4KPC9zdmc+Cg==\";\n\nexport const DEFLY: WalletProvider = {\n id: PROVIDER_ID.DEFLY,\n name: \"Defly Wallet\",\n icon,\n isWalletConnect: true,\n};\n","import { PROVIDER_ID } from \"../constants\";\nimport type { WalletProvider } from \"../types\";\n\nconst icon =\n \"data:image/svg+xml;base64,\" +\n \"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjUuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAzMDAgMzAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzMDAgMzAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6dXJsKCNTVkdJRF8xXyk7fQoJLnN0MXtmaWxsOnVybCgjU1ZHSURfMDAwMDAwNDM0MjYxNjcxNDAxMDY1ODIyNzAwMDAwMDIxMzA3Njg5MDYwNzMxMTM0ODRfKTt9Cgkuc3Qye2ZpbGw6dXJsKCNTVkdJRF8wMDAwMDEwMjUxOTMxNjAxNTI3NjU4MTY0MDAwMDAxNjI3NDExMjM4MzE3NTY0MTc1OV8pO2ZpbHRlcjp1cmwoI0Fkb2JlX09wYWNpdHlNYXNrRmlsdGVyKTt9Cgkuc3Qze2ZpbGw6dXJsKCNTVkdJRF8wMDAwMDEzODU2MzM4MjQ2MjA4NjAyMDM1MDAwMDAxNDg3ODQ5MDI3MDc4MjA3MTIwN18pO30KCS5zdDR7bWFzazp1cmwoI21hc2swXzE2NjFfMjk1XzAwMDAwMDg4MTMyMjUxNTk3NDQxNTczNDkwMDAwMDExNjkzNjEyMDE4NTA2NjgxNDgxXyk7fQoJLnN0NXtmaWxsOnVybCgjU1ZHSURfMDAwMDAxMDYxMjA2MzI0NjE3OTI4NzExNjAwMDAwMDc0MzM5MTMwMzgzMzc3NjY1NzZfKTt9Cjwvc3R5bGU+CjxnPgoJCgkJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8xXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIyNDYuNjAzIiB5MT0iOS4yMjEyIiB4Mj0iMTc0LjE1OCIgeTI9IjMwOC41NDI2IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgMzAyKSI+CgkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6IzBCNDZGOSIvPgoJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNCQkZCRTAiLz4KCTwvbGluZWFyR3JhZGllbnQ+Cgk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjc0LjcsOTMuOUwxNjYuNiwyM3YzOS42bDY5LjQsNDUuMWwtOC4yLDI1LjhoLTYxLjJ2MzIuOWg2MS4ybDguMiwyNS44bC02OS40LDQ1LjFWMjc3bDEwOC4yLTcwLjdMMjU3LDE1MC4xCgkJTDI3NC43LDkzLjl6Ii8+CgkKCQk8bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzAwMDAwMDE4MjI4MjM3MTUxMjM5MTUxMzIwMDAwMDE3ODM4NjY0MjU5NzY2MjczOTI1XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxMjkuMzUxNiIgeTE9Ii0xOS4xNTczIiB4Mj0iNTYuOTA2NiIgeTI9IjI4MC4xNjQxIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgMzAyKSI+CgkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6IzBCNDZGOSIvPgoJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNCQkZCRTAiLz4KCTwvbGluZWFyR3JhZGllbnQ+Cgk8cGF0aCBzdHlsZT0iZmlsbDp1cmwoI1NWR0lEXzAwMDAwMDE4MjI4MjM3MTUxMjM5MTUxMzIwMDAwMDE3ODM4NjY0MjU5NzY2MjczOTI1Xyk7IiBkPSJNNzIuNSwxNjYuNGg2MXYtMzIuOUg3Mi4ybC03LjktMjUuOAoJCWw2OS4yLTQ1LjFWMjNMMjUuMyw5My45TDQzLDE1MC4xbC0xNy43LDU2LjJMMTMzLjcsMjc3di0zOS42bC02OS40LTQ1LjFMNzIuNSwxNjYuNHoiLz4KCTxkZWZzPgoJCTxmaWx0ZXIgaWQ9IkFkb2JlX09wYWNpdHlNYXNrRmlsdGVyIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjI1LjQiIHk9IjIzIiB3aWR0aD0iMjQ3LjYiIGhlaWdodD0iMjU0Ij4KCQkJPGZlQ29sb3JNYXRyaXggIHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIxIDAgMCAwIDAgIDAgMSAwIDAgMCAgMCAwIDEgMCAwICAwIDAgMCAxIDAiLz4KCQk8L2ZpbHRlcj4KCTwvZGVmcz4KCQoJCTxtYXNrIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjI1LjQiIHk9IjIzIiB3aWR0aD0iMjQ3LjYiIGhlaWdodD0iMjU0IiBpZD0ibWFzazBfMTY2MV8yOTVfMDAwMDAwODgxMzIyNTE1OTc0NDE1NzM0OTAwMDAwMTE2OTM2MTIwMTg1MDY2ODE0ODFfIj4KCQkKCQkJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8wMDAwMDE2NTkyOTcyNDMwMzE2NDIwMzAwMDAwMDAwNzEwMTkwNDk4NDUxOTkxNTE2Ml8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMjQ2LjYwMzgiIHkxPSI5LjIyMTQiIHgyPSIxNzQuMTU4OCIgeTI9IjMwOC41NDI4IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgMzAyKSI+CgkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQjQ2RjkiLz4KCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0JCRkJFMCIvPgoJCTwvbGluZWFyR3JhZGllbnQ+CgkJPHBhdGggc3R5bGU9ImZpbGw6dXJsKCNTVkdJRF8wMDAwMDE2NTkyOTcyNDMwMzE2NDIwMzAwMDAwMDAwNzEwMTkwNDk4NDUxOTkxNTE2Ml8pO2ZpbHRlcjp1cmwoI0Fkb2JlX09wYWNpdHlNYXNrRmlsdGVyKTsiIGQ9IgoJCQlNMjc0LjcsOTMuOUwxNjYuNiwyM3YzOS42bDY5LjQsNDUuMWwtOC4yLDI1LjhoLTYxLjJ2MzIuOWg2MS4ybDguMiwyNS44bC02OS40LDQ1LjFWMjc3bDEwOC4yLTcwLjdMMjU3LDE1MC4xTDI3NC43LDkzLjl6Ii8+CgkJCgkJCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMDAwMDAxMTk4MTE3MDc2MjE0NzI4MTQyNzAwMDAwMTA4Mjk2NTkzODM4NTEyMDI0OTFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjEyOS4zNTIxIiB5MT0iLTE5LjE1NzEiIHgyPSI1Ni45MDcxIiB5Mj0iMjgwLjE2NDIiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCAzMDIpIj4KCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6IzBCNDZGOSIvPgoJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojQkJGQkUwIi8+CgkJPC9saW5lYXJHcmFkaWVudD4KCQk8cGF0aCBzdHlsZT0iZmlsbDp1cmwoI1NWR0lEXzAwMDAwMTE5ODExNzA3NjIxNDcyODE0MjcwMDAwMDEwODI5NjU5MzgzODUxMjAyNDkxXyk7IiBkPSJNNzIuNSwxNjYuNGg2MXYtMzIuOUg3Mi4ybC03LjktMjUuOAoJCQlsNjkuMi00NS4xVjIzTDI1LjMsOTMuOUw0MywxNTAuMWwtMTcuNyw1Ni4yTDEzMy43LDI3N3YtMzkuNmwtNjkuNC00NS4xTDcyLjUsMTY2LjR6Ii8+Cgk8L21hc2s+Cgk8ZyBjbGFzcz0ic3Q0Ij4KCQkKCQkJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8wMDAwMDEwOTAxOTkxODU1Nzc3MzA1MzQyMDAwMDAxNzYwMjQwNTkwODA2NzEyMDMwMF8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNDYuNDY2MiIgeTE9IjIyOC43NTU0IiB4Mj0iMTcxLjg2MzgiIHkyPSIxMzUuMTAzOSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDMwMikiPgoJCQk8c3RvcCAgb2Zmc2V0PSIwLjExOTgiIHN0eWxlPSJzdG9wLWNvbG9yOiM4OTUyRkY7c3RvcC1vcGFjaXR5OjAuODciLz4KCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0RBQkRGRjtzdG9wLW9wYWNpdHk6MCIvPgoJCTwvbGluZWFyR3JhZGllbnQ+CgkJCgkJCTxyZWN0IHg9IjI1LjQiIHk9IjIzIiBzdHlsZT0iZmlsbDp1cmwoI1NWR0lEXzAwMDAwMTA5MDE5OTE4NTU3NzczMDUzNDIwMDAwMDE3NjAyNDA1OTA4MDY3MTIwMzAwXyk7IiB3aWR0aD0iMjQ3LjYiIGhlaWdodD0iMjU0Ii8+Cgk8L2c+CjwvZz4KPC9zdmc+Cg==\";\n\nexport const EXODUS: WalletProvider = {\n id: PROVIDER_ID.EXODUS,\n name: \"Exodus\",\n icon,\n isWalletConnect: false,\n};\n","import { PROVIDER_ID } from \"../constants\";\nimport { PERA_WALLET } from \"./perawallet\";\nimport { MYALGO_WALLET } from \"./myalgowallet\";\nimport { ALGO_SIGNER } from \"./algosigner\";\nimport { DEFLY } from \"./defly\";\nimport { EXODUS } from \"./exodus\";\n\nexport const providers = {\n [PROVIDER_ID.PERA_WALLET]: PERA_WALLET,\n [PROVIDER_ID.MYALGO_WALLET]: MYALGO_WALLET,\n [PROVIDER_ID.DEFLY]: DEFLY,\n [PROVIDER_ID.ALGO_SIGNER]: ALGO_SIGNER,\n [PROVIDER_ID.EXODUS]: EXODUS,\n};\n","export const audio = `SUQzBAAAAAIYBlRJVDIAAAAWAAAAMzAgU2Vjb25kcyBvZiBTaWxlbmNlVFBFMQAAABIAAABBbmFyIFNvZnR3YXJlIExMQ1RBTEIAAAAMAAAAQmxhbmsgQXVkaW9BUElDAAIPAgAAAGltYWdlL2pwZWcAAwCJUE5HDQoaCgAAAA1JSERSAAAEOAAABDgIBgAAAOwQbI8AAAAGYktHRAD/AP8A/6C9p5MAAAAJcEhZcwAACD0AAAg9AQWVVbYAAAAHdElNRQffCgsFHDEDbwR2AAAgAElEQVR42uzde5RVZd0H8N8wDDcBAS8o6oCJVyxTsDSxojJvgVYq3jVNUQgzaZWmpqh56+ItNa+kr4Cay9Q0DQ1DWb2WeSm8pGRy0RAEgRFhuIzz/tFbC5yZc86eOWfmPDOfz1rvemvvZz9779+zz3DOt2fvXRER9QEAAACQsE5KAAAAAKROwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8BBq9pss81i4sSJMXToUMUAAACgaCoiol4ZaA177rln3HzzzdG/f/+oqamJww8/PGbNmqUwAAAAtJgZHLSKk046Ke67777o379/RET07t07pk6dGtXV1YoDAABAi5nBQcmde+65MW7cuEbXvfjii3HIIYfE2rVrFQoAAIBmq4yIC5WBUqioqIgf/ehHceqppzbZZosttohevXrFk08+qWAAAAA0/zdomMFBCVRWVsZPfvKTGD16dEHtjzrqqJgxY4bCAQAA0CwCDoquU6dOccMNN8SoUaMK3mbOnDkxYsSIWL16tQICAACQmVtUKLoLL7wwjj766Ezb9OnTJz788MP44x//qIAAAABkZgYHRXXyySfHxRdf3Kxt16xZEyNGjIg333xTIQEAAMjEa2Ipmv333z8mTpzY7O27dOnSou0BAADouMzgoCh23333uO+++6J79+4t7utLX/pSvPLKK4oKAABAwczgoMW22mqruOOOO4oSbkREjBs3TlEBAADIxAwOWqRTp05x3333xV577VW0Puvq6uIzn/lMzJ8/X4EBAAAo7PepEtASp59+elHDjYiIysrKOO200xQXAACAgpnBQbPtuuuu8cgjj0RVVVXR+66trY0999wzlixZotAAAADkZQYHzdKtW7e4/vrrSxJu/Kf/r3/96woNAABAQQQcNMv5558f22+/fUn3MWrUKIUGAACgIAIOMvvCF74Q3/jGN0q+nz322COqq6sVHAAAgLwEHGRSVVUVl156adH7Xbp0aaPLzeIAAACgEAIOMjn22GOLPqvimWeeic997nOxaNGiBusOOeQQRQcAACAvAQcF69GjR5x55plF7fOhhx6KI488MhYvXhxTp05tsH7IkCGx3XbbKT4AAAA5CTgo2De/+c3YbLPNitbfM888E+PGjYs1a9ZERMTkyZOjvr7hW4vN4gAAACAfAQcF6dOnT4wdO7Zo/S1dujTGjh0bdXV1/1321ltvxaxZsxq0HTFihAEAAAAgJwEHBfnWt74VvXv3Llp/Z555ZrzzzjsNlj/++OMNln3iE5+Irl27GgQAAACaJOAgr/79+8dJJ51UtP5uu+22RoOMiIhp06Y1WFZVVRWf+MQnDAQAAABNEnCQ19ixY6Nbt25F6evdd9+Nyy+/vMn1s2bNanRmx5577mkgAAAAaJKAg9wXSKdOMWrUqKL199Of/jQ++OCDnG0am90h4AAAACDn71clIJe99tor+vfvX5S+3njjjZgyZUredo0FHMOGDTMYAAAANEnAQU4jR44sWl8/+tGPYt26dXnbPf3007Fq1aoNlm2yySax7bbbGhAAAAAaJeCgSZWVlXHwwQcXpa9nn302HnvssYLarl69Ol588cUGyz/1qU8ZFAAAABol4KBJe++9d2y66aZF6euiiy7K1P6VV15psGyPPfYwKAAAADRKwEGTDjnkkKL088gjj8Rzzz2XaZuXX365wbKBAwcaFAAAABol4KBRnTt3joMOOqjF/axbty4uvfTSzNs1NoNjq622MjAAAAA0SsBBo/bZZ5/o27dvi/v5n//5n3jzzTczb/faa69FfX39BssGDBhgYAAAAGiUgINGFeOBnitWrIirrrqqWduuXr063n///Q2Wde/evSihCwAAAO2PgING7brrri3u46abborFixc3e/ulS5c2WOY2FQAAABoj4KBRQ4YMadH2a9eujV/+8pct6mPZsmUNlrlNBQAAgMYIOGigT58+LQ4SHnrooViyZEmL+mgs4DCDAwAAgMYIOGhg8ODBLe6jpbM3IiI++OCDBssEHAAAADRGwEED/fr1a9H2s2bNiueee67Fx9HYA0UFHAAAADRGwEEDLX1TyaRJk4pyHJtvvnmDZZ7BAQAAQGMEHDTQkhkcy5YtiwceeKAox7HZZps1WNazZ08DBAAAQAMCDhro06dPs7e9++67o7a2tsXH0KVLl+jdu3eD5Z07dzZAAAAANCDgoIHKyspmbVdfXx933nlnUY5hu+22K+qxAQAA0L4JOGhg5cqVzdpu+vTpMWfOnKIcw/7779/ocgEHAAAAjRFw0EBzA45ivBr2Pw488MBGl7tFBQAAgMYIOGjggw8+yLzN3Llz48knnyzK/rfaaqv4+Mc/3ug6AQcAAACNEXDQQHNmcEyePDk+/PDDouz/oIMOanKdW1QAAABojICDBpoTcDz22GNF2XePHj1i7NixTa4XcAAAANAYAQcNZL1FZc6cOfGPf/yjKPseP3589O/fv8n1Ag4AAAAaI+CggawzOKZNm1aU/W699dZx2mmn5WzjGRwAAAA0RsBBA1lncDz++ONF2e95550XXbt2zdmmWM/5AAAAoH0RcNBAlhkcNTU18ac//anF+9xzzz1j1KhRedstWrTIAAEAANCAgIMG3nnnnaivry+o7fTp02PdunUt2l9FRUVMnDixoLb/+te/DBAAAAANCDhoYPXq1bFw4cKC2hbj+RuHHXZYfPKTnyyo7YIFCwwQAAAADQg4aNScOXPytlm3bl1Mnz69Rfvp0aNH/OAHPyi4vYADAACAxgg4aNTcuXPztvnzn/8cNTU1LdrPuHHjcr4W9qMEHAAAADRGwEGjCgk4Xn/99RbtY6uttorTTz890zaewQEAAEBjBBw0qpBbVJYvX96ifVx55ZXRrVu3TNuYwQEAAEBjBBw0at68eXnbtCTgOO6442LEiBGZtxNwAAAA0JjOSkBjCpnBsWzZsmb1PXDgwLjgggsyb7dmzZp47733DA4AANCqKioqmr0sa9tCt1+3bl18+OGHBmc9Ao717LTTTrHjjju2yoVbqu1b+mFaf3ltbW3OW0h233336Ny5c6Z9VVRUxJgxY6JHjx6Zx2fBggVx4oknluRcy2Vcy+EPain2laVdSuea0nWVyjXoXNvn562tx6pcz7UUY9Xevos4V99FfBfxXaRcPgPl6OSTT45HH33UD/n1xzQi6pXh3yZMmBATJkxQCAAAAMraKaecEo888ohCrMcMjiJZvHhxo7ds1Nc3nh9lWZ61j6Zk7bu6ujp69+7dZH8LFiyIxYsXF3yM3bp1ix122KHZSens2bPj/fffb9b5t8U4pDDG5VyTVMcy6z6LcZ4pjHG51NvnNYyxz6ux7EDfF4yxsWwP36E68vf7Aw44IMaNG9fk+k6dPFJTwFEi1113Xdxyyy3t6py+973vxZlnntnk+nvvvTeuuOKKgvqqqqqK3/72t80ON9asWRNf/vKXY/Xq1S42AACg3dtpp51yrk/9FptSEPnQpL/97W851/fp06fgvs4666wYMmRIs4/lL3/5i3ADAADoMPI9QNQMjkZqogQ0ZdasWTnX9+3bt6B+9thjj/jWt77VomP54x//aEAAAIAOQ8CRnYrQpLfffjvna1kLmcHRrVu3uPbaa6OysrJFxzJz5kwDAgAAdBj5ntch4GikJkpALrlmcVRXV+fd/rzzzouPfexjLTqGVatWxQsvvGAwAACADsMMjuxUhJxyPYejuro6unbt2uT64cOHxze+8Y0WH8PMmTNj7dq1BgMAAOgw8s3g8JDRhgQc5JQr4OjUqVOTszM22WSTuOaaa4ryobvzzjsNBAAA0KHkm8HR0scAtEcCDnLK96DR7bffvtEP2o033hhbbrlli/c/Z86cmD59uoEAAAA6FLeoZKci5DRv3rxYvnx5k+sbCzjOOeecGD58eFH2f8cdd+SdmgUAANDeeMhodipCXrlmcXw04Dj44INj7NixRdnvqlWrYurUqQYAAADocMzgyE5FyCvXczjWDzgGDx4cV111VdH2e//990dNTY0BAAAAOpx8AYeHjDbUWQnIJ1fAsd1220VlZWV07949br/99ujZs2fR9jtp0iTFBwAAOiQzOLJTEfLKFXB06dIlqqur46qrrorBgwcXbZ9/+tOf4pVXXlF8AACgQxJwZKci5DV37tyct4pcfvnlcfDBBxd1nzfeeKPCAwAAHZaHjGanIhT0wXrppZeaXL/vvvsWdX9PPfVUTJs2TeEBAIAO/Tss5495AUfDmigBhch1m0oxrVu3Ls4//3wFBwAAOjS3qGSnIhQk16tii+n222+P2bNnKzgAANChCTiyUxEK0hozOBYvXhw/+9nPFBsAAOjwBBzZqQgFefPNN2PFihUl3cell16a82GmAAAAHYWAIzsVoeAP18svv1yy/l988cW45557FBoAACA8ZLQ5VISCvfLKKyX74J533nl5P8AAAAAdRb4ZHBUVFYr0EQIOCjJkyJA47LDDStL3TTfdFM8//7wiAwAA/D+3qGSnIuQ1aNCgmDJlSvTq1avofb/44otx2WWXKTIAAMB6BBzZqQg59e/fP+65557YbLPNit73+++/H6effnqsXbtWoQEAANYj4MhORWjSxhtvHFOnTo1tttmmJP1/73vfi7lz5yo0AABA1h/zAo6GNVECGtO9e/e46667YqeddipJ/1OnTo0HH3xQoQEAABphBkd2KkIDVVVVceutt8bQoUNL0v/rr78e5513nkIDAAA0QcCRnYqwgYqKirjmmmtixIgRJel/9erVcdppp8WqVasUGwAAoAkCjuxUhA1ccsklceihh5as/3PPPTf+/ve/KzQAAEAOAo7sOisBEf+euXHppZfGCSecULJ93HjjjTFlyhTFBgAAyCNfwFFRUaFIHyHgIDp16hQ//elPY/To0SXbxyOPPBKXXHKJYgMAABSgvr4+7+84NiTg6OgXQOfOce2115b0tpTnn38+xo8fn/cDCgAAwL+5RaUZv2+VoOOqqqqKG2+8MQ466KCS7WPevHlx4oknRm1trYIDAABlpbHbPJq69aNYywtt27lz7p/rAo6GBBxFMmzYsFi9enWbfwgKXV5VVRWjR4+OHXbYoWQ1qa2tjYcffjgOP/zwZp9j1vMs5R+jch3LcqxJKc+znGpVLv9QpjrGqX5e29sY+7waS2NsjP0b4zthR/hO2B4JOAQcJTNy5MgYOXKkQqynW7duMXbsWIUAAAAoMgFHQwKOIlm8eHEsW7aswfLGnjvR1LMoWtq2Keu3raioiIEDB0aPHj1KWo958+bF0qVLS16HLLVpzbEo13Mrh/PNcm6pjaVza/3jNZbOrb2dm3/v2te5+Qym9z3FZ9C5ldP3lL59+8a9994r4BBwtL7rrrsubrnllrI+xt69e8eUKVNKHm5ERBx88MGxZMkSFwYAAEAzbLLJJjnXCzgaqYkSdAz9+vWL++67L/bYY49W2V9r7QcAAKA98haV7FSkA+jdu3fce++9seuuu7baPocPH67wAAAAzSTgyE5F2rlu3brFHXfcEbvsskur7lfAAQAA0Hz5ni3Skd4YUygBRzvWuXPnuOmmm+LTn/50q+97p512ik033dQgAAAANIMZHNmpSDtVUVERP/vZz2K//fZrs/2bxQEAANA8Ao7sVKSduvDCC+Owww4r6T5mzpwZNTU1Ta7fd999DQQAAEAzCDiyU5F2aPz48XHKKaeUdB/PPfdcnHjiifHXv/61yTYCDgAAgObJF3BUVlYq0kcIONqZL37xi3H22WeXdB+vvvpqHHvssbFy5cp4/vnnm2y39dZbx6BBgwwKAABARh4ymp2Aox0ZOHBg/PznPy/phT537tw4+uijY/ny5RER8cILL+Rs7zkcAAAA2blFJTsVaSe6desWt956a2y88cYl28eiRYviqKOOioULF/53Wb6Aw20qAAAA2Qk4slORduLyyy+PIUOGlKz/mpqaOOqoo2LOnDkbLH/33XfjrbfeanK7ffbZx9QpAACAjPLdoiLgaKQmSpC+448/Po444oiS9V9bWxvHH398vPrqq42uzzWLo1+/fiUNXgAAANqrXLM4BByN1EQJ0rbHHnvExRdfXLL+161bF6eeemr8+c9/brKN21QAAACKL1fAYaZ8QwKOhHXp0iWuvfbaqKqqKkn/9fX1ceaZZ8YTTzyRs12uN6lEeNAoAABAc3+TNflj3gyOhjVRgnSNHz8+Pvaxj5Ws/x/+8Idx//335203a9asWLduXZPr99prr5KFMAAAAO1VXV1d0z/mBRwNa6IEadp2221j/PjxJev/5z//edx2220FtV21alW89tprTa7v3r17DB061KABAABkkOsWlcrKSgX6CAFHoq644oro0qVLSfr+/e9/H5dffnmmbfLdpuI5HAAAANl4Bkc2nZUgPV/72tdK9lyLN998M8aNG5f3ncsf9fzzz8dxxx3X5Prhw4fHj3/844iI2GSTTWLPPfeMXXbZJfr16xd9+/bd4P/36dMnVq5cGUuWLInFixfH4sWL//uf586dGzNmzIhly5a5EAAAgHbNW1SyEXAkpnfv3nHhhReWpO8PPvggvvGNb0RNTU3mbV988cWc63fbbbf42c9+Fp/61KcKem5Iz549Y/PNN290XV1dXTz77LPx+OOPx7Rp0+KNN95wYQAAAO2Oh4xmI+BIzLnnnhubbrppST44Z5xxRrz++uvN2n727NmxYsWK6NmzZ6Pru3TpEkceeWRRjrWysjL22muv2GuvveL888+PN998Mx577LG4+eabY+HChS4SAACgXTCDIxsVScigQYPimGOOKUnf11xzTTz66KMt+uDlm8VRKttuu22cfvrpMXPmzBg/fnzJnk0CAADQmgQc2ahIQk455ZSSXMRPPPFE/OQnP2n29hUVFXHEEUfE4MGD27Q+G220UZxzzjkxY8aMOPDAA10wAABA0gQc2ahIIjbeeOMYPXp00ft9880341vf+lbmh4r+xy677BIPPvhgXH311bHFFluURa0GDhwYt912W9x7772x8847u3gAAIAkeYtKNgKORBx33HHRo0ePon9YzjjjjGY9VLRXr15x8cUXx+9+97sYNmxYWdZs+PDh8dhjj8URRxzhAgIAAJLjIaPZqEgCqqqq4uSTTy56vzfffHM899xzmbf76le/Gk8//XScfPLJUVlZWfa1u/rqq2PChAkuJAAAICluUclGRRJwyCGHRP/+/Yva5z//+c+48sorM21TWVkZl156aVx//fVNvsK1XE2YMCGuuuqqqKqqckEBAABJyBVwlPv/2NwWBBwJGDNmTNE/JN/5zneitra24G169+4dd911V5x44onJ1nH06NFx1113Ra9evVxUAABA2fMMjmwEHGVu+PDhMWTIkKL2efvtt8ezzz5bcPuBAwfGb37zm/jc5z6XfD333XffeOCBB4o+IwYAAKDY3KKSjYqUua9+9atF7W/OnDlx2WWXFdz+05/+dDzyyCOx/fbbt5ua7rzzzvHLX/4yunXr5gIDAADKloeMZtNZCcpbsWdNfPe7341Vq1YV1PaTn/xkTJ06tV0GAbvttltcddVVcfrpp7vIAICSa2oqeTGWZ52mXoy+2+J8inGe5XTcxTjPFI67PV2zbTGWuZ4hKOAQcJTMgQceGNtss01RPwQbb7xxDBgwoGjHOH/+/Bg1alSMGjUq77H07NkzDjjggHY9y+GQQw6JwYMHx9///vd2/Y9WOf3x949W+/likuoXLWNsjP0w8m9MW/2NACg2AUcjf5cjojspCGQAACAASURBVF4Z/m3ChAleJwoAAEDZW7hwYey+++4KsR4zOIrk1Vdfjblz5zZY3tg9U03dR/XR5cOGDSvawzDnz58fL7zwQt5jiPj3cze22GKLDjN2a9eujccffzyWLVtWlHErZdumlOIYWvt8s9SgXMfHuXXMczOWzs25Ff/flfb8GfT3xbm5Tp1blrZPPPFEbLfddo22N4NDwFEyd999d9xyyy1F66+qqipeeeWVov2AP/zww2PevHl5206cOLFDhRv/qfWuu+4aX/jCF2LlypUuZgAAoCzU1dU1uU7A0UhNlKA8DR06NDbaaKOi9HXXXXcVFG7svffeccopp3TIeldXV8cZZ5zhwgMAAMpGrtfEVlZWKtBHCDjK1Gc/+9mi9LNy5cq4+uqr818InTrFxIkTO3TNTzvttBg0aJCLDwAAKAteE5uNipSpYr0e9t5774133303b7vRo0fHrrvu2qFr3qVLlw4f8gAAAOUj1wwOb3JqSMBRpnbaaaei9DN58uS8bXr27Blnn322okfEfvvtF1/84hcVAgAAaHO5Ag4zOBqpiRKUn169ekX37t1b3M9f//rXePnll/O2+/a3vx2bbbaZwv+/iy66KKqqqhQCAABoUwKObFSkDG2++eZF6WfKlCl522y55ZYd9sGiTdl2223j1FNPVQgAAKBNCTiy8ZrYMtS/f/8W97Fy5cr49a9/nbfdqFGjokuXLm1ynq+++mrceuutUV1dHQMHDozq6uqorq6OTTfdtM3HYMyYMXHzzTfH2rVrXZAAAECbEHBkI+AoQ8W4XeShhx6KFStW5G138MEHF/346+rq4sknn4y+ffvG0KFDm2zXp0+fmDp1aoPlgwYNimOOOSZGjx7dZmHHpptuGgcccED85je/cUECAABtItdbVDxktCGRTxkqxgyOQn6Y9+/fP2cAkdW8efPiyiuvjD333DOOP/74eOyxx3K233LLLaNnz54Nls+ZMyd+9KMfxdChQ+PUU0+Np556KucHu1SOO+44FyMAANBmzODIRkXKUEufwbF27dp45pln8rY76KCDipL6zZo1K4488sjYe++94+qrr4533nknIiJef/31vNvusMMOOc/j4YcfjiOPPDI+85nPxOOPP96q47DPPvvEoEGDXJAAAECbEHBkoyJlqKUBx1/+8pdYtWpV3nYHHnhgi/ZTU1MT5557bhx00EGNzrJ47bXX8vax/fbbF7SvuXPnxoknnhgTJ05stediVFRUxLHHHuuCBAAA2kSugCNCyNGgHkpQflp6i8rTTz+dt02/fv1i7733bvY+fv/738dnP/vZmDRpUtTV1TXaZv78+bFy5cqc/eSawfFR9fX1cdNNN8UhhxwS8+bNa5WxGD16tFfGAgAAbULAkY1qlKGWzuAoJODYb7/9orKysln9X3vttXHCCSfEokWLcrarr6+P2bNn52yTJeD4jxdffDG+/OUvt8oDQDfZZJM44IADXJQAAECry/csQg8a3ZCAo515//3348UXX8zbbtttt83c99q1a2PMmDFx+eWX500S/yPfbSrNCTgi/n17zJgxY+Luu+8ueU332WcfFxYAANDqzODIRjXK0OLFi5u97d///vcmbxlZX9++fTP3feGFF2aeNZHvQaNbb7119OjRo9nne/bZZ8dzzz1X0vHYY489XJQAAECrE3BkoxplaMmSJc3e9o033iioXZ8+fTL1e++998akSZMyH0++GRwVFRUxePDgZp/vmjVr4pvf/GYsXLiwZOOx0047Rffu3V2YAABAqxJwZKMaZaglAcc//vGPgtplmcHxt7/9Lb7//e8363gKeZNKc29T+Y+FCxfGySefHGvWrCnJeHTu3Dl22203FyYAANCqBBzZqEYZasktKsUOOJYsWRInn3xyrF69ulnH8/bbb8cHH3yQs01LA46IiOeff77ZIUwh3KYCAAC0Ng8ZzUbAUYbK6RaVCRMmxNtvv92iD2S+53AUI+CIiLjnnnvi97//fUnGRMABAAC0tnwBR3PfjNleCTjKUHNncHz44Ycxd+7cgtr27t07b5t58+bF448/3uLzKdWbVBpz0003lWRMdt99dxcmAADQqtyiko1qlKH58+c3a7sVK1bEunXrCmq7dOnSvG2mTJmSNzEsRL6Ao7q6Orp27VqU2s2cOTNefvnloo9J1oeyAgAAtJSAIxvVKEMvv/xyQQHERy1btqzgtvPmzcu5ft26dXHPPfcU5XzyBRydOnWK7bbbrmj1K8Usji5durgwAQCAViXgyEY1yvQifvrppzNvt3z58oLb5psl8sQTTxTt1aut8SaV9T344IPxzjvvFHVMKisr3d8GAAC0Kg8ZzUbAUaZmzJiReZssAUe+Z3X89re/Ldq5LFiwIN5///2cbYoZcKxduzZuu+22oo+JWRwAAEBrMoMjG9UoU80JOIp5i8qCBQuKej6t9SaV/5g8eXJRnh+yPgEHAADQmgQc2ahGmfrXv/4Vs2fPzrRNXV1dwW3z3aJS7Fs85syZk3N9MZ/BEfHvsKclr7dtTLEehAoAAFAIAUc2qlHGss7i6NevX8FtZ8+enfONK4sWLSrqueS7JWabbbYpev0KefZHpg+LPx4AAEArEnBk/M2mBOXrySefzNQ+S8BRU1MTzzzzTKPrVq1alfeZGVnluyWmR48esckmmxR1n8UMONatWxeLFy92UQIAAK3GQ0azEXCUsaeeeirTbRZZAo6IiGnTprXahyTfDI6I4s/iyPfcjyzeeuutnDNeAAAAii3fDA5vetyQgKOM1dXVxR133FFw+6wzIJoKOLp16xabbbZZUc+lkICjurq6qPss5gyOfM8QAQAAKDa3qGTTWQnK25QpU+K73/1uQW/w6NKlS2y00UbxwQcfFNT3vHnz4tVXX42dd965wbptttkm3n333aKdx8KFC2PNmjU5z2Prrbcuau1mz54d9fX1RZmR8uabb7oYAYAWaew7SVPfU4q1vFR9l/K4i3GOKZ9Pa49lW12brtnC2vfp00fAIeBofQceeGCjt1gU4wMzb968GDx4cEHHcfXVVzf5rIjG+m7qtouzzz670VkLLTmf2tranAHHkUceGdtvv31RvySsXLkyNtpooxaP79ChQ+P6669P8o95Of2R78hfQFI+n478BcQY+5Lph1HH+jem1NcVQLH5O/SRekREvTL824QJE2LChAkKAQAAQNnbb7/94uWXX1aI/2cGR5G89NJL8cYbbzRY3thTb5t6Em6utiNGjCjoIaJLliyJ6dOnZzqGvfbaKwYOHLjB+qVLl/73GR3NOd7Glu+5556xww47NHnsNTU18dBDDxWtZhERhx12WPTs2bPF43vPPffEihUrilKH1mrblHI93izbZ6lBSufr3NI9t/b6Gcxybq5T5+bc0vn7Yiydm3Nr23PLsv1ll10WJ5xwQpPH4hYVAUdJ/OpXv4pbbrmlZP1/9atfbfIWifX17ds3Lrjggli2bFnBfe+4444xffr0DaY39e3bN3784x/Hv/71r6Kdw5gxY+KCCy5ocn3Xrl3j+9//fqY/LvmMHDmyxQHH66+/Ht/5zndc5AAAQKvykNFsVCMRDz74YLz66qv5B7RTp/jsZz+bqe/XXnstHnvssQbL999//6KeQ743qXTt2jU233zzou6zR48eLe5jxowZLkAAAKDV5fsffwUcH6mHEqThww8/jIsvvrigtiNGjMjc/9VXX91g2UknnVTU9yoX8qrYYr5JZcCAAdG9e/cW9yPgAAAA2kJdXV3uH/QCjg3roQTp+MMf/hBPPfVU3nb77bdf5h/2s2bNismTJ2+wbLvttotDDz20aMc/f/78vG2qq6uLtr/dd9+9xX2sWbMm/vd//9fFBwAAtDq3qGSjGom56KKL8l7k/fr1i+OPP75Zfb/99tsbLPv+979f0MNNC7FixYpYsmRJzjblFnD8+c9/jlWrVrnwAACAVifgyEY1EvPKK6/Efffdl7fd6aefHt26dcvU9/vvvx/f/e53N1i29dZbxxlnnFG04583b17O9dtss03R9lWMgOP+++930QEAAG3CMziyUY0EXXHFFVFbW5uzzeabbx7HHnts5r5nzJgRt99++wbLli5dWrRjzxdwFGsGR/fu3WO33XZrUR+LFy8WcAAAAG3GMziyUY0ELViwIK677rq87caNGxddu3bN3P8Pf/jDuOeee/773996662iHXu+B40W6yGjX/nKV1r8BpU77rgj1qxZ44IDAADaRL5bVCoqKhRpPQKORF133XXxt7/9LWeb/v37xzHHHNOsD9GECRNi0qRJsWbNmgbP5WiJfAHHVlttVZQU8sgjj2zR9mvWrIk777zThQYAALQZz+DIRjUStW7duvj2t7+dd4bB+PHjY+ONN27WB+ncc8+NIUOGxAsvvFC04853i0pVVVVsscUWLdrHoEGDYq+99mpRH7/+9a/j3XffdaEBAABtRsCRjWok7LXXXosrr7wyZ5v+/fvH1Vdf3ex9fPDBB7F69eqiHXO+GRwRLX8Ox+jRo1s0VWvt2rVxww03uMAAAIA2JeDIRjUS94tf/CL+8pe/5Gyz//77x6mnnloWx7tgwYJYu3ZtzjYteZNKr169mnVbzvp+/vOfx+zZs11cAABAmxJwZKMa7eCCP+OMM2LVqlU525177rlFeW1qS9XV1eV9pkdLZnBMmDAhNt1002ZvP3v27BbNeAEAACjm772cP+gFHBvWQwnSN2fOnDj//PNztqmqqopf/OIX0bt37zY/3nzP4Wjum1R23HHHOOmkk1r0x+Oss87KO8MEAACgNXhNbDaq0U5MmTIlJk+enLPNNttsUxazE/I9h2PAgAHN6vfiiy+Ozp07N/u4Jk2aFM8995yLCQAAKAv19fW5f9ALODashxK0Hz/4wQ/i+eefz9nmgAMOiEsuuaRNPwj5Ao7m3GIycuTIGD58eLOP6aWXXorLLrvMRQQAAJQNt6hkoxrtyNq1a+Ob3/xm3tebnnTSSXHjjTdGly5d2uQ4892istlmm2Xqb8cdd8z7Nplc5syZE8ccc0ysXLnSRQQAAJQNt6hkoxrtzDvvvBNjxoyJdevW5Ww3cuTImDp1aps8kyPfDI5+/foV/EHdaqutYurUqbHxxhs361gWLlwYRx55ZN5QCAAAoLXlm8FRUVGhSOsRcLRDzzzzTJxzzjl579fae++949e//nVsscUWrXp8+QKOTp06Rb9+/fL207dv35g6dWqzj7+mpiaOPvrovDNKAAAA2oJncGSjGu3U5MmT49xzz83bbuedd46HH344dthhh1Y7tpqamli+fHnONvluU+nevXvceeedMXjw4GYdw4oVK+KEE06IV1991cUCAACUJc/gyEY12rFf/vKXBYUcAwYMiN/85jcxZsyYqKqqapVja8mDRgcMGBBTpkyJoUOHNmvfc+bMia985Svxpz/9yUUCAACULc/gyEY12rlJkyYVFHL06tUrLrjggpgxY0bsv//+JT+ufAFHUzM4Dj300Jg+fXp8+tOfbtZ+Z8yYEQceeGC8/vrrLg4AAKCsmcGRjWp0AJMmTYrzzjuvoLaDBg2KSZMmxa9+9avYZZddSnZM8+fPz7n+ozM4evfuHTfccEPccMMNzX4w6k033RTHHnts3ttjAAAAyoGAIxvV6CBuv/32OP/88wtuv88++8S0adPiJz/5SebXthYiywyOz3/+8/Hkk0/GoYce2qx91dTUxPjx42PixIl5p3gBAACUCwFHNp2VoOO47bbboqKiIi666KKC2nfq1CmOPvro+PrXvx5PPfVU/O53v4snnngiFi1a1OJjyRdwDB48OE477bQ46qijYvvtt2/2fh544IG48MILi3LMAAAArUnAkY2Ao4O59dZb4/3334+LLrooevXqVdA2Xbt2jf322y/222+/qK+vj+effz6mTZsW06ZNi9dee61Zx/Huu+/mXL///vu36Fkg//znP+Pss8+OmTNnGnQAACBJAo5sBBwd0D333BNPPfVUXHHFFfGlL30p07YVFRUxdOjQGDp0aJxzzjkxZ86cePzxx+Oll16KOXPmxNy5c/POlqisrIyuXbuW5NxWr14d1157bVx//fWxZs0agw0AACRLwJGNgKODWrBgQRx//PHxta99Lb73ve9FdXV1s/oZNGhQnHLKKRssW7lyZSxYsCBWrVoVq1evjtra2qitrY2qqqqorq6Orbbaquivo62trY2pU6fGjTfeGG+99ZYBBgAAkpcv4KioqFCk9Qg4Orj7778/HnzwwRg5cmSMGzcuhgwZ0uI+e/ToEdttt12rHH9NTU1MmjQpbr311liyZIkBBQAA2g0zOLIRcBB1dXXxwAMPxAMPPBCf//zn49RTT43hw4dH587le3ksXLgwbrnllrjzzjtjxYoVBhEAAGh3BBzZCDjYwB/+8If4wx/+EP369YsDDzwwRo4cGZ/5zGfKIuxYsWJFTJ8+PR599NF49NFHPWMDAABo1+rq6nKuF3BsSMBBo957772YPHlyTJ48+b9hx7777hvDhg2LAQMGtNpxLFq0KH73u9/FY489FjNnzoy1a9caHAAAoEMwgyMbAQd5rR92RERsscUWMWzYsBg6dGgMGzYshgwZEt26dSv6fi+++OL4xS9+EfX19QYBAADocPL9FhJwbEjAQWbvvPNOPPzww/Hwww//d1m/fv1iyy23jAEDBsSWW2753//cs2fPqKura/T/dtxxxxg2bFiT+6mtrRVuAAAAJdPUW0iKsTzrG04aa58vwBBw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AAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4A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/+MYxDEI82IgCACTTf6////t98+t/1zM6EI0EjnShA1ZDQGwCihWSh/+31m+3T3//9v///+8isktZGQJQdVOqqAj3bzT2uob/+MYxEgJ62IcAABHLDA+NMOJVR//f+v/T3///////s601VGsHZ1JChXYMDDFChZLktspI2cRANRlAv6/7f9v/0//////6Ugi/+MYxFsJS2IgCACRTV9TK6QjqqLREYkhtQEagpiFkYQYKuGDFPp7vWtk619lsZL+duiJrb///7dOuZCbOCI7qOdlOnxRMxKD/+MYxHAJY2IoCACNT/pSA8JVAv//v/X9dP/////9r8yqZJznU5kd3CIDKMWQnF2IEClORjJGgJl5FnIPrr6KtLldn19bIn/T/+MYxIUJu2okEACTTNV/////XqhmdUqV2Wg6snZtpXGY3CJ5wHFTyS0P/avqv/pud6pZX1d7bk3XXpfdP///+Ts2hqWcGlJi/+MYxJkJ214cAACNTYEQosiRkGN8kyJVjqGKD613X0XY1H+r7lo789b3/b/9u/7b1dKmRGkR0OQcc7jbmFJpwthYsRGzaNYX/+MYxKwKK2YkEACTTARJ///LWsue/Kf/////W5K4XsY6nJZLEpr+yFCbYkKFUzYoQk6S9EwElUBYVoBsE+sylf9foSm1t9lS/+MYxL4KO2YcCACTTVu5pGRSEIpZiqIVVnbdHufbknQx6Pultv9kf9uvL57R38h8nqBpHJqZDbbFGW11xdtVZgUqltJZHhtq/+MYxNALG14YCACNMS8BvandlRGV/SiqrqtStTstbrV6f//tz8/ZUoh3RY1TnOyEDCAdVklceHyInItkgSKJ2uof/x/zz+KS/+MYxN4LO2IYCACTTQEmlFZRGzd6Lefkv////tfznKLv4NZTPgji8uQaa6hlcySiYiQEuVDRsQFhcGA2+PUDvvka+fT/fkd//+MYxOwMo2YkGABTSFf////n97B1Uwttzm0l0kRGqMMoy6zlDhgfQ2iJTrczBJjCcVQiTK0qKFn/yX/NWesrfq/////9ZKae/+MYxPQRA2oMAACTELWd87muwfkuw0cGyBYFhQaEYHAM/KZFCsERXTJKBp4OvEJRh6YgptX/d0+7zJbIqA0RHWdEVq9DqrBm/+MYxOsMm2IYEAFTTWVdBjTHwZSnuiITdUd3br9af+P95Orq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`;\n","/* UAParser.js v1.0.32\n Copyright © 2012-2021 Faisal Salman <f@faisalman.com>\n MIT License */\n(function(window,undefined){\"use strict\";var LIBVERSION=\"1.0.32\",EMPTY=\"\",UNKNOWN=\"?\",FUNC_TYPE=\"function\",UNDEF_TYPE=\"undefined\",OBJ_TYPE=\"object\",STR_TYPE=\"string\",MAJOR=\"major\",MODEL=\"model\",NAME=\"name\",TYPE=\"type\",VENDOR=\"vendor\",VERSION=\"version\",ARCHITECTURE=\"architecture\",CONSOLE=\"console\",MOBILE=\"mobile\",TABLET=\"tablet\",SMARTTV=\"smarttv\",WEARABLE=\"wearable\",EMBEDDED=\"embedded\",UA_MAX_LENGTH=350;var AMAZON=\"Amazon\",APPLE=\"Apple\",ASUS=\"ASUS\",BLACKBERRY=\"BlackBerry\",BROWSER=\"Browser\",CHROME=\"Chrome\",EDGE=\"Edge\",FIREFOX=\"Firefox\",GOOGLE=\"Google\",HUAWEI=\"Huawei\",LG=\"LG\",MICROSOFT=\"Microsoft\",MOTOROLA=\"Motorola\",OPERA=\"Opera\",SAMSUNG=\"Samsung\",SHARP=\"Sharp\",SONY=\"Sony\",XIAOMI=\"Xiaomi\",ZEBRA=\"Zebra\",FACEBOOK=\"Facebook\";var extend=function(regexes,extensions){var mergedRegexes={};for(var i in regexes){if(extensions[i]&&extensions[i].length%2===0){mergedRegexes[i]=extensions[i].concat(regexes[i])}else{mergedRegexes[i]=regexes[i]}}return mergedRegexes},enumerize=function(arr){var enums={};for(var i=0;i<arr.length;i++){enums[arr[i].toUpperCase()]=arr[i]}return enums},has=function(str1,str2){return typeof str1===STR_TYPE?lowerize(str2).indexOf(lowerize(str1))!==-1:false},lowerize=function(str){return str.toLowerCase()},majorize=function(version){return typeof version===STR_TYPE?version.replace(/[^\\d\\.]/g,EMPTY).split(\".\")[0]:undefined},trim=function(str,len){if(typeof str===STR_TYPE){str=str.replace(/^\\s\\s*/,EMPTY).replace(/\\s\\s*$/,EMPTY);return typeof len===UNDEF_TYPE?str:str.substring(0,UA_MAX_LENGTH)}};var rgxMapper=function(ua,arrays){var i=0,j,k,p,q,matches,match;while(i<arrays.length&&!matches){var regex=arrays[i],props=arrays[i+1];j=k=0;while(j<regex.length&&!matches){matches=regex[j++].exec(ua);if(!!matches){for(p=0;p<props.length;p++){match=matches[++k];q=props[p];if(typeof q===OBJ_TYPE&&q.length>0){if(q.length===2){if(typeof q[1]==FUNC_TYPE){this[q[0]]=q[1].call(this,match)}else{this[q[0]]=q[1]}}else if(q.length===3){if(typeof q[1]===FUNC_TYPE&&!(q[1].exec&&q[1].test)){this[q[0]]=match?q[1].call(this,match,q[2]):undefined}else{this[q[0]]=match?match.replace(q[1],q[2]):undefined}}else if(q.length===4){this[q[0]]=match?q[3].call(this,match.replace(q[1],q[2])):undefined}}else{this[q]=match?match:undefined}}}}i+=2}},strMapper=function(str,map){for(var i in map){if(typeof map[i]===OBJ_TYPE&&map[i].length>0){for(var j=0;j<map[i].length;j++){if(has(map[i][j],str)){return i===UNKNOWN?undefined:i}}}else if(has(map[i],str)){return i===UNKNOWN?undefined:i}}return str};var oldSafariMap={\"1.0\":\"/8\",1.2:\"/1\",1.3:\"/3\",\"2.0\":\"/412\",\"2.0.2\":\"/416\",\"2.0.3\":\"/417\",\"2.0.4\":\"/419\",\"?\":\"/\"},windowsVersionMap={ME:\"4.90\",\"NT 3.11\":\"NT3.51\",\"NT 4.0\":\"NT4.0\",2e3:\"NT 5.0\",XP:[\"NT 5.1\",\"NT 5.2\"],Vista:\"NT 6.0\",7:\"NT 6.1\",8:\"NT 6.2\",8.1:\"NT 6.3\",10:[\"NT 6.4\",\"NT 10.0\"],RT:\"ARM\"};var regexes={browser:[[/\\b(?:crmo|crios)\\/([\\w\\.]+)/i],[VERSION,[NAME,\"Chrome\"]],[/edg(?:e|ios|a)?\\/([\\w\\.]+)/i],[VERSION,[NAME,\"Edge\"]],[/(opera mini)\\/([-\\w\\.]+)/i,/(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i,/(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i],[NAME,VERSION],[/opios[\\/ ]+([\\w\\.]+)/i],[VERSION,[NAME,OPERA+\" Mini\"]],[/\\bopr\\/([\\w\\.]+)/i],[VERSION,[NAME,OPERA]],[/(kindle)\\/([\\w\\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\\/ ]?([\\w\\.]*)/i,/(ba?idubrowser)[\\/ ]?([\\w\\.]+)/i,/(?:ms|\\()(ie) ([\\w\\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq|duckduckgo)\\/([-\\w\\.]+)/i,/(weibo)__([\\d\\.]+)/i],[NAME,VERSION],[/(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i],[VERSION,[NAME,\"UC\"+BROWSER]],[/microm.+\\bqbcore\\/([\\w\\.]+)/i,/\\bqbcore\\/([\\w\\.]+).+microm/i],[VERSION,[NAME,\"WeChat(Win) Desktop\"]],[/micromessenger\\/([\\w\\.]+)/i],[VERSION,[NAME,\"WeChat\"]],[/konqueror\\/([\\w\\.]+)/i],[VERSION,[NAME,\"Konqueror\"]],[/trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i],[VERSION,[NAME,\"IE\"]],[/yabrowser\\/([\\w\\.]+)/i],[VERSION,[NAME,\"Yandex\"]],[/(avast|avg)\\/([\\w\\.]+)/i],[[NAME,/(.+)/,\"$1 Secure \"+BROWSER],VERSION],[/\\bfocus\\/([\\w\\.]+)/i],[VERSION,[NAME,FIREFOX+\" Focus\"]],[/\\bopt\\/([\\w\\.]+)/i],[VERSION,[NAME,OPERA+\" Touch\"]],[/coc_coc\\w+\\/([\\w\\.]+)/i],[VERSION,[NAME,\"Coc Coc\"]],[/dolfin\\/([\\w\\.]+)/i],[VERSION,[NAME,\"Dolphin\"]],[/coast\\/([\\w\\.]+)/i],[VERSION,[NAME,OPERA+\" Coast\"]],[/miuibrowser\\/([\\w\\.]+)/i],[VERSION,[NAME,\"MIUI \"+BROWSER]],[/fxios\\/([-\\w\\.]+)/i],[VERSION,[NAME,FIREFOX]],[/\\bqihu|(qi?ho?o?|360)browser/i],[[NAME,\"360 \"+BROWSER]],[/(oculus|samsung|sailfish|huawei)browser\\/([\\w\\.]+)/i],[[NAME,/(.+)/,\"$1 \"+BROWSER],VERSION],[/(comodo_dragon)\\/([\\w\\.]+)/i],[[NAME,/_/g,\" \"],VERSION],[/(electron)\\/([\\w\\.]+) safari/i,/(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\\/ ]?([\\w\\.]+)/i],[NAME,VERSION],[/(metasr)[\\/ ]?([\\w\\.]+)/i,/(lbbrowser)/i,/\\[(linkedin)app\\]/i],[NAME],[/((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i],[[NAME,FACEBOOK],VERSION],[/safari (line)\\/([\\w\\.]+)/i,/\\b(line)\\/([\\w\\.]+)\\/iab/i,/(chromium|instagram)[\\/ ]([-\\w\\.]+)/i],[NAME,VERSION],[/\\bgsa\\/([\\w\\.]+) .*safari\\//i],[VERSION,[NAME,\"GSA\"]],[/headlesschrome(?:\\/([\\w\\.]+)| )/i],[VERSION,[NAME,CHROME+\" Headless\"]],[/ wv\\).+(chrome)\\/([\\w\\.]+)/i],[[NAME,CHROME+\" WebView\"],VERSION],[/droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i],[VERSION,[NAME,\"Android \"+BROWSER]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i],[NAME,VERSION],[/version\\/([\\w\\.\\,]+) .*mobile\\/\\w+ (safari)/i],[VERSION,[NAME,\"Mobile Safari\"]],[/version\\/([\\w(\\.|\\,)]+) .*(mobile ?safari|safari)/i],[VERSION,NAME],[/webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i],[NAME,[VERSION,strMapper,oldSafariMap]],[/(webkit|khtml)\\/([\\w\\.]+)/i],[NAME,VERSION],[/(navigator|netscape\\d?)\\/([-\\w\\.]+)/i],[[NAME,\"Netscape\"],VERSION],[/mobile vr; rv:([\\w\\.]+)\\).+firefox/i],[VERSION,[NAME,FIREFOX+\" Reality\"]],[/ekiohf.+(flow)\\/([\\w\\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,/(firefox)\\/([\\w\\.]+)/i,/(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,/(links) \\(([\\w\\.]+)/i],[NAME,VERSION]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i],[[ARCHITECTURE,\"amd64\"]],[/(ia32(?=;))/i],[[ARCHITECTURE,lowerize]],[/((?:i[346]|x)86)[;\\)]/i],[[ARCHITECTURE,\"ia32\"]],[/\\b(aarch64|arm(v?8e?l?|_?64))\\b/i],[[ARCHITECTURE,\"arm64\"]],[/\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i],[[ARCHITECTURE,\"armhf\"]],[/windows (ce|mobile); ppc;/i],[[ARCHITECTURE,\"arm\"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i],[[ARCHITECTURE,/ower/,EMPTY,lowerize]],[/(sun4\\w)[;\\)]/i],[[ARCHITECTURE,\"sparc\"]],[/((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i],[[ARCHITECTURE,lowerize]]],device:[[/\\b(sch-i[89]0\\d|shw-m380s|sm-[ptx]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i],[MODEL,[VENDOR,SAMSUNG],[TYPE,TABLET]],[/\\b((?:s[cgp]h|gt|sm)-\\w+|galaxy nexus)/i,/samsung[- ]([-\\w]+)/i,/sec-(sgh\\w+)/i],[MODEL,[VENDOR,SAMSUNG],[TYPE,MOBILE]],[/\\((ip(?:hone|od)[\\w ]*);/i],[MODEL,[VENDOR,APPLE],[TYPE,MOBILE]],[/\\((ipad);[-\\w\\),; ]+apple/i,/applecoremedia\\/[\\w\\.]+ \\((ipad)/i,/\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i],[MODEL,[VENDOR,APPLE],[TYPE,TABLET]],[/\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i],[MODEL,[VENDOR,HUAWEI],[TYPE,TABLET]],[/(?:huawei|honor)([-\\w ]+)[;\\)]/i,/\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i],[MODEL,[VENDOR,HUAWEI],[TYPE,MOBILE]],[/\\b(poco[\\w ]+)(?: bui|\\))/i,/\\b; (\\w+) build\\/hm\\1/i,/\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i,/\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i,/\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i],[[MODEL,/_/g,\" \"],[VENDOR,XIAOMI],[TYPE,MOBILE]],[/\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i],[[MODEL,/_/g,\" \"],[VENDOR,XIAOMI],[TYPE,TABLET]],[/; (\\w+) bui.+ oppo/i,/\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i],[MODEL,[VENDOR,\"OPPO\"],[TYPE,MOBILE]],[/vivo (\\w+)(?: bui|\\))/i,/\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i],[MODEL,[VENDOR,\"Vivo\"],[TYPE,MOBILE]],[/\\b(rmx[12]\\d{3})(?: bui|;|\\))/i],[MODEL,[VENDOR,\"Realme\"],[TYPE,MOBILE]],[/\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,/\\bmot(?:orola)?[- ](\\w*)/i,/((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i],[MODEL,[VENDOR,MOTOROLA],[TYPE,MOBILE]],[/\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i],[MODEL,[VENDOR,MOTOROLA],[TYPE,TABLET]],[/((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i],[MODEL,[VENDOR,LG],[TYPE,TABLET]],[/(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,/\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i,/\\blg-?([\\d\\w]+) bui/i],[MODEL,[VENDOR,LG],[TYPE,MOBILE]],[/(ideatab[-\\w ]+)/i,/lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i],[MODEL,[VENDOR,\"Lenovo\"],[TYPE,TABLET]],[/(?:maemo|nokia).*(n900|lumia \\d+)/i,/nokia[-_ ]?([-\\w\\.]*)/i],[[MODEL,/_/g,\" \"],[VENDOR,\"Nokia\"],[TYPE,MOBILE]],[/(pixel c)\\b/i],[MODEL,[VENDOR,GOOGLE],[TYPE,TABLET]],[/droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i],[MODEL,[VENDOR,GOOGLE],[TYPE,MOBILE]],[/droid.+ (a?\\d[0-2]{2}so|[c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i],[MODEL,[VENDOR,SONY],[TYPE,MOBILE]],[/sony tablet [ps]/i,/\\b(?:sony)?sgp\\w+(?: bui|\\))/i],[[MODEL,\"Xperia Tablet\"],[VENDOR,SONY],[TYPE,TABLET]],[/ (kb2005|in20[12]5|be20[12][59])\\b/i,/(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i],[MODEL,[VENDOR,\"OnePlus\"],[TYPE,MOBILE]],[/(alexa)webm/i,/(kf[a-z]{2}wi)( bui|\\))/i,/(kf[a-z]+)( bui|\\)).+silk\\//i],[MODEL,[VENDOR,AMAZON],[TYPE,TABLET]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i],[[MODEL,/(.+)/g,\"Fire Phone $1\"],[VENDOR,AMAZON],[TYPE,MOBILE]],[/(playbook);[-\\w\\),; ]+(rim)/i],[MODEL,VENDOR,[TYPE,TABLET]],[/\\b((?:bb[a-f]|st[hv])100-\\d)/i,/\\(bb10; (\\w+)/i],[MODEL,[VENDOR,BLACKBERRY],[TYPE,MOBILE]],[/(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i],[MODEL,[VENDOR,ASUS],[TYPE,TABLET]],[/ (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i],[MODEL,[VENDOR,ASUS],[TYPE,MOBILE]],[/(nexus 9)/i],[MODEL,[VENDOR,\"HTC\"],[TYPE,TABLET]],[/(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i,/(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,/(alcatel|geeksphone|nexian|panasonic|sony(?!-bra))[-_ ]?([-\\w]*)/i],[VENDOR,[MODEL,/_/g,\" \"],[TYPE,MOBILE]],[/droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i],[MODEL,[VENDOR,\"Acer\"],[TYPE,TABLET]],[/droid.+; (m[1-5] note) bui/i,/\\bmz-([-\\w]{2,})/i],[MODEL,[VENDOR,\"Meizu\"],[TYPE,MOBILE]],[/\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i],[MODEL,[VENDOR,SHARP],[TYPE,MOBILE]],[/(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\\w]*)/i,/(hp) ([\\w ]+\\w)/i,/(asus)-?(\\w+)/i,/(microsoft); (lumia[\\w ]+)/i,/(lenovo)[-_ ]?([-\\w]+)/i,/(jolla)/i,/(oppo) ?([\\w ]+) bui/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\\/([\\w\\.]+)/i,/(nook)[\\w ]+build\\/(\\w+)/i,/(dell) (strea[kpr\\d ]*[\\dko])/i,/(le[- ]+pan)[- ]+(\\w{1,9}) bui/i,/(trinity)[- ]*(t\\d{3}) bui/i,/(gigaset)[- ]+(q\\w{1,9}) bui/i,/(vodafone) ([\\w ]+)(?:\\)| bui)/i],[VENDOR,MODEL,[TYPE,TABLET]],[/(surface duo)/i],[MODEL,[VENDOR,MICROSOFT],[TYPE,TABLET]],[/droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i],[MODEL,[VENDOR,\"Fairphone\"],[TYPE,MOBILE]],[/(u304aa)/i],[MODEL,[VENDOR,\"AT&T\"],[TYPE,MOBILE]],[/\\bsie-(\\w*)/i],[MODEL,[VENDOR,\"Siemens\"],[TYPE,MOBILE]],[/\\b(rct\\w+) b/i],[MODEL,[VENDOR,\"RCA\"],[TYPE,TABLET]],[/\\b(venue[\\d ]{2,7}) b/i],[MODEL,[VENDOR,\"Dell\"],[TYPE,TABLET]],[/\\b(q(?:mv|ta)\\w+) b/i],[MODEL,[VENDOR,\"Verizon\"],[TYPE,TABLET]],[/\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i],[MODEL,[VENDOR,\"Barnes & Noble\"],[TYPE,TABLET]],[/\\b(tm\\d{3}\\w+) b/i],[MODEL,[VENDOR,\"NuVision\"],[TYPE,TABLET]],[/\\b(k88) b/i],[MODEL,[VENDOR,\"ZTE\"],[TYPE,TABLET]],[/\\b(nx\\d{3}j) b/i],[MODEL,[VENDOR,\"ZTE\"],[TYPE,MOBILE]],[/\\b(gen\\d{3}) b.+49h/i],[MODEL,[VENDOR,\"Swiss\"],[TYPE,MOBILE]],[/\\b(zur\\d{3}) b/i],[MODEL,[VENDOR,\"Swiss\"],[TYPE,TABLET]],[/\\b((zeki)?tb.*\\b) b/i],[MODEL,[VENDOR,\"Zeki\"],[TYPE,TABLET]],[/\\b([yr]\\d{2}) b/i,/\\b(dragon[- ]+touch |dt)(\\w{5}) b/i],[[VENDOR,\"Dragon Touch\"],MODEL,[TYPE,TABLET]],[/\\b(ns-?\\w{0,9}) b/i],[MODEL,[VENDOR,\"Insignia\"],[TYPE,TABLET]],[/\\b((nxa|next)-?\\w{0,9}) b/i],[MODEL,[VENDOR,\"NextBook\"],[TYPE,TABLET]],[/\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[VENDOR,\"Voice\"],MODEL,[TYPE,MOBILE]],[/\\b(lvtel\\-)?(v1[12]) b/i],[[VENDOR,\"LvTel\"],MODEL,[TYPE,MOBILE]],[/\\b(ph-1) /i],[MODEL,[VENDOR,\"Essential\"],[TYPE,MOBILE]],[/\\b(v(100md|700na|7011|917g).*\\b) b/i],[MODEL,[VENDOR,\"Envizen\"],[TYPE,TABLET]],[/\\b(trio[-\\w\\. ]+) b/i],[MODEL,[VENDOR,\"MachSpeed\"],[TYPE,TABLET]],[/\\btu_(1491) b/i],[MODEL,[VENDOR,\"Rotor\"],[TYPE,TABLET]],[/(shield[\\w ]+) b/i],[MODEL,[VENDOR,\"Nvidia\"],[TYPE,TABLET]],[/(sprint) (\\w+)/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/(kin\\.[onetw]{3})/i],[[MODEL,/\\./g,\" \"],[VENDOR,MICROSOFT],[TYPE,MOBILE]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i],[MODEL,[VENDOR,ZEBRA],[TYPE,TABLET]],[/droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i],[MODEL,[VENDOR,ZEBRA],[TYPE,MOBILE]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[VENDOR,MODEL,[TYPE,CONSOLE]],[/droid.+; (shield) bui/i],[MODEL,[VENDOR,\"Nvidia\"],[TYPE,CONSOLE]],[/(playstation [345portablevi]+)/i],[MODEL,[VENDOR,SONY],[TYPE,CONSOLE]],[/\\b(xbox(?: one)?(?!; xbox))[\\); ]/i],[MODEL,[VENDOR,MICROSOFT],[TYPE,CONSOLE]],[/smart-tv.+(samsung)/i],[VENDOR,[TYPE,SMARTTV]],[/hbbtv.+maple;(\\d+)/i],[[MODEL,/^/,\"SmartTV\"],[VENDOR,SAMSUNG],[TYPE,SMARTTV]],[/(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i],[[VENDOR,LG],[TYPE,SMARTTV]],[/(apple) ?tv/i],[VENDOR,[MODEL,APPLE+\" TV\"],[TYPE,SMARTTV]],[/crkey/i],[[MODEL,CHROME+\"cast\"],[VENDOR,GOOGLE],[TYPE,SMARTTV]],[/droid.+aft(\\w)( bui|\\))/i],[MODEL,[VENDOR,AMAZON],[TYPE,SMARTTV]],[/\\(dtv[\\);].+(aquos)/i,/(aquos-tv[\\w ]+)\\)/i],[MODEL,[VENDOR,SHARP],[TYPE,SMARTTV]],[/(bravia[\\w ]+)( bui|\\))/i],[MODEL,[VENDOR,SONY],[TYPE,SMARTTV]],[/(mitv-\\w{5}) bui/i],[MODEL,[VENDOR,XIAOMI],[TYPE,SMARTTV]],[/\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i,/hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w ]*; *(\\w[^;]*);([^;]*)/i],[[VENDOR,trim],[MODEL,trim],[TYPE,SMARTTV]],[/\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i],[[TYPE,SMARTTV]],[/((pebble))app/i],[VENDOR,MODEL,[TYPE,WEARABLE]],[/droid.+; (glass) \\d/i],[MODEL,[VENDOR,GOOGLE],[TYPE,WEARABLE]],[/droid.+; (wt63?0{2,3})\\)/i],[MODEL,[VENDOR,ZEBRA],[TYPE,WEARABLE]],[/(quest( 2)?)/i],[MODEL,[VENDOR,FACEBOOK],[TYPE,WEARABLE]],[/(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i],[VENDOR,[TYPE,EMBEDDED]],[/droid .+?; ([^;]+?)(?: bui|\\) applew).+? mobile safari/i],[MODEL,[TYPE,MOBILE]],[/droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i],[MODEL,[TYPE,TABLET]],[/\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i],[[TYPE,TABLET]],[/(phone|mobile(?:[;\\/]| [ \\w\\/\\.]*safari)|pda(?=.+windows ce))/i],[[TYPE,MOBILE]],[/(android[-\\w\\. ]{0,9});.+buil/i],[MODEL,[VENDOR,\"Generic\"]]],engine:[[/windows.+ edge\\/([\\w\\.]+)/i],[VERSION,[NAME,EDGE+\"HTML\"]],[/webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i],[VERSION,[NAME,\"Blink\"]],[/(presto)\\/([\\w\\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i,/ekioh(flow)\\/([\\w\\.]+)/i,/(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i,/(icab)[\\/ ]([23]\\.[\\d\\.]+)/i],[NAME,VERSION],[/rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i],[VERSION,NAME]],os:[[/microsoft (windows) (vista|xp)/i],[NAME,VERSION],[/(windows) nt 6\\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i,/(windows)[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i],[NAME,[VERSION,strMapper,windowsVersionMap]],[/(win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i],[[NAME,\"Windows\"],[VERSION,strMapper,windowsVersionMap]],[/ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i,/cfnetwork\\/.+darwin/i],[[VERSION,/_/g,\".\"],[NAME,\"iOS\"]],[/(mac os x) ?([\\w\\. ]*)/i,/(macintosh|mac_powerpc\\b)(?!.+haiku)/i],[[NAME,\"Mac OS\"],[VERSION,/_/g,\".\"]],[/droid ([\\w\\.]+)\\b.+(android[- ]x86|harmonyos)/i],[VERSION,NAME],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i,/(blackberry)\\w*\\/([\\w\\.]*)/i,/(tizen|kaios)[\\/ ]([\\w\\.]+)/i,/\\((series40);/i],[NAME,VERSION],[/\\(bb(10);/i],[VERSION,[NAME,BLACKBERRY]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i],[VERSION,[NAME,\"Symbian\"]],[/mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i],[VERSION,[NAME,FIREFOX+\" OS\"]],[/web0s;.+rt(tv)/i,/\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i],[VERSION,[NAME,\"webOS\"]],[/crkey\\/([\\d\\.]+)/i],[VERSION,[NAME,CHROME+\"cast\"]],[/(cros) [\\w]+ ([\\w\\.]+\\w)/i],[[NAME,\"Chromium OS\"],VERSION],[/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\\);]+)/i,/\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i,/(mint)[\\/\\(\\) ]?(\\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,/(hurd|linux) ?([\\w\\.]*)/i,/(gnu) ?([\\w\\.]*)/i,/\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i,/(haiku) (\\w+)/i],[NAME,VERSION],[/(sunos) ?([\\w\\.\\d]*)/i],[[NAME,\"Solaris\"],VERSION],[/((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i,/(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i,/\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i,/(unix) ?([\\w\\.]*)/i],[NAME,VERSION]]};var UAParser=function(ua,extensions){if(typeof ua===OBJ_TYPE){extensions=ua;ua=undefined}if(!(this instanceof UAParser)){return new UAParser(ua,extensions).getResult()}var _ua=ua||(typeof window!==UNDEF_TYPE&&window.navigator&&window.navigator.userAgent?window.navigator.userAgent:EMPTY);var _rgxmap=extensions?extend(regexes,extensions):regexes;this.getBrowser=function(){var _browser={};_browser[NAME]=undefined;_browser[VERSION]=undefined;rgxMapper.call(_browser,_ua,_rgxmap.browser);_browser.major=majorize(_browser.version);return _browser};this.getCPU=function(){var _cpu={};_cpu[ARCHITECTURE]=undefined;rgxMapper.call(_cpu,_ua,_rgxmap.cpu);return _cpu};this.getDevice=function(){var _device={};_device[VENDOR]=undefined;_device[MODEL]=undefined;_device[TYPE]=undefined;rgxMapper.call(_device,_ua,_rgxmap.device);return _device};this.getEngine=function(){var _engine={};_engine[NAME]=undefined;_engine[VERSION]=undefined;rgxMapper.call(_engine,_ua,_rgxmap.engine);return _engine};this.getOS=function(){var _os={};_os[NAME]=undefined;_os[VERSION]=undefined;rgxMapper.call(_os,_ua,_rgxmap.os);return _os};this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}};this.getUA=function(){return _ua};this.setUA=function(ua){_ua=typeof ua===STR_TYPE&&ua.length>UA_MAX_LENGTH?trim(ua,UA_MAX_LENGTH):ua;return this};this.setUA(_ua);return this};UAParser.VERSION=LIBVERSION;UAParser.BROWSER=enumerize([NAME,VERSION,MAJOR]);UAParser.CPU=enumerize([ARCHITECTURE]);UAParser.DEVICE=enumerize([MODEL,VENDOR,TYPE,CONSOLE,MOBILE,SMARTTV,TABLET,WEARABLE,EMBEDDED]);UAParser.ENGINE=UAParser.OS=enumerize([NAME,VERSION]);if(typeof exports!==UNDEF_TYPE){if(typeof module!==UNDEF_TYPE&&module.exports){exports=module.exports=UAParser}exports.UAParser=UAParser}else{if(typeof define===FUNC_TYPE&&define.amd){define(function(){return UAParser})}else if(typeof window!==UNDEF_TYPE){window.UAParser=UAParser}}var $=typeof window!==UNDEF_TYPE&&(window.jQuery||window.Zepto);if($&&!$.ua){var parser=new UAParser;$.ua=parser.getResult();$.ua.get=function(){return parser.getUA()};$.ua.set=function(ua){parser.setUA(ua);var result=parser.getResult();for(var prop in result){$.ua[prop]=result[prop]}}}})(typeof window===\"object\"?window:this);","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar React = require('react');\nvar React__default = _interopDefault(React);\n\nvar UAParser = require('ua-parser-js/dist/ua-parser.min');\n\nvar ClientUAInstance = new UAParser();\nvar browser = ClientUAInstance.getBrowser();\nvar cpu = ClientUAInstance.getCPU();\nvar device = ClientUAInstance.getDevice();\nvar engine = ClientUAInstance.getEngine();\nvar os = ClientUAInstance.getOS();\nvar ua = ClientUAInstance.getUA();\nvar setUa = function setUa(userAgentString) {\n return ClientUAInstance.setUA(userAgentString);\n};\nvar parseUserAgent = function parseUserAgent(userAgent) {\n if (!userAgent) {\n console.error('No userAgent string was provided');\n return;\n }\n\n var UserAgentInstance = new UAParser(userAgent);\n return {\n UA: UserAgentInstance,\n browser: UserAgentInstance.getBrowser(),\n cpu: UserAgentInstance.getCPU(),\n device: UserAgentInstance.getDevice(),\n engine: UserAgentInstance.getEngine(),\n os: UserAgentInstance.getOS(),\n ua: UserAgentInstance.getUA(),\n setUserAgent: function setUserAgent(userAgentString) {\n return UserAgentInstance.setUA(userAgentString);\n }\n };\n};\n\nvar UAHelper = /*#__PURE__*/Object.freeze({\n ClientUAInstance: ClientUAInstance,\n browser: browser,\n cpu: cpu,\n device: device,\n engine: engine,\n os: os,\n ua: ua,\n setUa: setUa,\n parseUserAgent: parseUserAgent\n});\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar DeviceTypes = {\n Mobile: 'mobile',\n Tablet: 'tablet',\n SmartTv: 'smarttv',\n Console: 'console',\n Wearable: 'wearable',\n Embedded: 'embedded',\n Browser: undefined\n};\nvar BrowserTypes = {\n Chrome: 'Chrome',\n Firefox: 'Firefox',\n Opera: 'Opera',\n Yandex: 'Yandex',\n Safari: 'Safari',\n InternetExplorer: 'Internet Explorer',\n Edge: 'Edge',\n Chromium: 'Chromium',\n Ie: 'IE',\n MobileSafari: 'Mobile Safari',\n EdgeChromium: 'Edge Chromium',\n MIUI: 'MIUI Browser',\n SamsungBrowser: 'Samsung Browser'\n};\nvar OsTypes = {\n IOS: 'iOS',\n Android: 'Android',\n WindowsPhone: 'Windows Phone',\n Windows: 'Windows',\n MAC_OS: 'Mac OS'\n};\nvar InitialDeviceTypes = {\n isMobile: false,\n isTablet: false,\n isBrowser: false,\n isSmartTV: false,\n isConsole: false,\n isWearable: false\n};\n\nvar checkDeviceType = function checkDeviceType(type) {\n switch (type) {\n case DeviceTypes.Mobile:\n return {\n isMobile: true\n };\n\n case DeviceTypes.Tablet:\n return {\n isTablet: true\n };\n\n case DeviceTypes.SmartTv:\n return {\n isSmartTV: true\n };\n\n case DeviceTypes.Console:\n return {\n isConsole: true\n };\n\n case DeviceTypes.Wearable:\n return {\n isWearable: true\n };\n\n case DeviceTypes.Browser:\n return {\n isBrowser: true\n };\n\n case DeviceTypes.Embedded:\n return {\n isEmbedded: true\n };\n\n default:\n return InitialDeviceTypes;\n }\n};\nvar setUserAgent = function setUserAgent(userAgent) {\n return setUa(userAgent);\n};\nvar setDefaults = function setDefaults(p) {\n var d = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'none';\n return p ? p : d;\n};\nvar getNavigatorInstance = function getNavigatorInstance() {\n if (typeof window !== 'undefined') {\n if (window.navigator || navigator) {\n return window.navigator || navigator;\n }\n }\n\n return false;\n};\nvar isIOS13Check = function isIOS13Check(type) {\n var nav = getNavigatorInstance();\n return nav && nav.platform && (nav.platform.indexOf(type) !== -1 || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1 && !window.MSStream);\n};\n\nvar browserPayload = function browserPayload(isBrowser, browser, engine, os, ua) {\n return {\n isBrowser: isBrowser,\n browserMajorVersion: setDefaults(browser.major),\n browserFullVersion: setDefaults(browser.version),\n browserName: setDefaults(browser.name),\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar mobilePayload = function mobilePayload(type, device, os, ua) {\n return _objectSpread2({}, type, {\n vendor: setDefaults(device.vendor),\n model: setDefaults(device.model),\n os: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n ua: setDefaults(ua)\n });\n};\nvar smartTvPayload = function smartTvPayload(isSmartTV, engine, os, ua) {\n return {\n isSmartTV: isSmartTV,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar consolePayload = function consolePayload(isConsole, engine, os, ua) {\n return {\n isConsole: isConsole,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar wearablePayload = function wearablePayload(isWearable, engine, os, ua) {\n return {\n isWearable: isWearable,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\nvar embeddedPayload = function embeddedPayload(isEmbedded, device, engine, os, ua) {\n return {\n isEmbedded: isEmbedded,\n vendor: setDefaults(device.vendor),\n model: setDefaults(device.model),\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\n\nfunction deviceDetect(userAgent) {\n var _ref = userAgent ? parseUserAgent(userAgent) : UAHelper,\n device = _ref.device,\n browser = _ref.browser,\n engine = _ref.engine,\n os = _ref.os,\n ua = _ref.ua;\n\n var type = checkDeviceType(device.type);\n var isBrowser = type.isBrowser,\n isMobile = type.isMobile,\n isTablet = type.isTablet,\n isSmartTV = type.isSmartTV,\n isConsole = type.isConsole,\n isWearable = type.isWearable,\n isEmbedded = type.isEmbedded;\n\n if (isBrowser) {\n return browserPayload(isBrowser, browser, engine, os, ua);\n }\n\n if (isSmartTV) {\n return smartTvPayload(isSmartTV, engine, os, ua);\n }\n\n if (isConsole) {\n return consolePayload(isConsole, engine, os, ua);\n }\n\n if (isMobile) {\n return mobilePayload(type, device, os, ua);\n }\n\n if (isTablet) {\n return mobilePayload(type, device, os, ua);\n }\n\n if (isWearable) {\n return wearablePayload(isWearable, engine, os, ua);\n }\n\n if (isEmbedded) {\n return embeddedPayload(isEmbedded, device, engine, os, ua);\n }\n}\n\nvar isMobileType = function isMobileType(_ref) {\n var type = _ref.type;\n return type === DeviceTypes.Mobile;\n};\nvar isTabletType = function isTabletType(_ref2) {\n var type = _ref2.type;\n return type === DeviceTypes.Tablet;\n};\nvar isMobileAndTabletType = function isMobileAndTabletType(_ref3) {\n var type = _ref3.type;\n return type === DeviceTypes.Mobile || type === DeviceTypes.Tablet;\n};\nvar isSmartTVType = function isSmartTVType(_ref4) {\n var type = _ref4.type;\n return type === DeviceTypes.SmartTv;\n};\nvar isBrowserType = function isBrowserType(_ref5) {\n var type = _ref5.type;\n return type === DeviceTypes.Browser;\n};\nvar isWearableType = function isWearableType(_ref6) {\n var type = _ref6.type;\n return type === DeviceTypes.Wearable;\n};\nvar isConsoleType = function isConsoleType(_ref7) {\n var type = _ref7.type;\n return type === DeviceTypes.Console;\n};\nvar isEmbeddedType = function isEmbeddedType(_ref8) {\n var type = _ref8.type;\n return type === DeviceTypes.Embedded;\n};\nvar getMobileVendor = function getMobileVendor(_ref9) {\n var vendor = _ref9.vendor;\n return setDefaults(vendor);\n};\nvar getMobileModel = function getMobileModel(_ref10) {\n var model = _ref10.model;\n return setDefaults(model);\n};\nvar getDeviceType = function getDeviceType(_ref11) {\n var type = _ref11.type;\n return setDefaults(type, 'browser');\n}; // os types\n\nvar isAndroidType = function isAndroidType(_ref12) {\n var name = _ref12.name;\n return name === OsTypes.Android;\n};\nvar isWindowsType = function isWindowsType(_ref13) {\n var name = _ref13.name;\n return name === OsTypes.Windows;\n};\nvar isMacOsType = function isMacOsType(_ref14) {\n var name = _ref14.name;\n return name === OsTypes.MAC_OS;\n};\nvar isWinPhoneType = function isWinPhoneType(_ref15) {\n var name = _ref15.name;\n return name === OsTypes.WindowsPhone;\n};\nvar isIOSType = function isIOSType(_ref16) {\n var name = _ref16.name;\n return name === OsTypes.IOS;\n};\nvar getOsVersion = function getOsVersion(_ref17) {\n var version = _ref17.version;\n return setDefaults(version);\n};\nvar getOsName = function getOsName(_ref18) {\n var name = _ref18.name;\n return setDefaults(name);\n}; // browser types\n\nvar isChromeType = function isChromeType(_ref19) {\n var name = _ref19.name;\n return name === BrowserTypes.Chrome;\n};\nvar isFirefoxType = function isFirefoxType(_ref20) {\n var name = _ref20.name;\n return name === BrowserTypes.Firefox;\n};\nvar isChromiumType = function isChromiumType(_ref21) {\n var name = _ref21.name;\n return name === BrowserTypes.Chromium;\n};\nvar isEdgeType = function isEdgeType(_ref22) {\n var name = _ref22.name;\n return name === BrowserTypes.Edge;\n};\nvar isYandexType = function isYandexType(_ref23) {\n var name = _ref23.name;\n return name === BrowserTypes.Yandex;\n};\nvar isSafariType = function isSafariType(_ref24) {\n var name = _ref24.name;\n return name === BrowserTypes.Safari || name === BrowserTypes.MobileSafari;\n};\nvar isMobileSafariType = function isMobileSafariType(_ref25) {\n var name = _ref25.name;\n return name === BrowserTypes.MobileSafari;\n};\nvar isOperaType = function isOperaType(_ref26) {\n var name = _ref26.name;\n return name === BrowserTypes.Opera;\n};\nvar isIEType = function isIEType(_ref27) {\n var name = _ref27.name;\n return name === BrowserTypes.InternetExplorer || name === BrowserTypes.Ie;\n};\nvar isMIUIType = function isMIUIType(_ref28) {\n var name = _ref28.name;\n return name === BrowserTypes.MIUI;\n};\nvar isSamsungBrowserType = function isSamsungBrowserType(_ref29) {\n var name = _ref29.name;\n return name === BrowserTypes.SamsungBrowser;\n};\nvar getBrowserFullVersion = function getBrowserFullVersion(_ref30) {\n var version = _ref30.version;\n return setDefaults(version);\n};\nvar getBrowserVersion = function getBrowserVersion(_ref31) {\n var major = _ref31.major;\n return setDefaults(major);\n};\nvar getBrowserName = function getBrowserName(_ref32) {\n var name = _ref32.name;\n return setDefaults(name);\n}; // engine types\n\nvar getEngineName = function getEngineName(_ref33) {\n var name = _ref33.name;\n return setDefaults(name);\n};\nvar getEngineVersion = function getEngineVersion(_ref34) {\n var version = _ref34.version;\n return setDefaults(version);\n};\nvar isElectronType = function isElectronType() {\n var nav = getNavigatorInstance();\n var ua = nav && nav.userAgent && nav.userAgent.toLowerCase();\n return typeof ua === 'string' ? /electron/.test(ua) : false;\n};\nvar isEdgeChromiumType = function isEdgeChromiumType(ua) {\n return typeof ua === 'string' && ua.indexOf('Edg/') !== -1;\n};\nvar getIOS13 = function getIOS13() {\n var nav = getNavigatorInstance();\n return nav && (/iPad|iPhone|iPod/.test(nav.platform) || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1) && !window.MSStream;\n};\nvar getIPad13 = function getIPad13() {\n return isIOS13Check('iPad');\n};\nvar getIphone13 = function getIphone13() {\n return isIOS13Check('iPhone');\n};\nvar getIPod13 = function getIPod13() {\n return isIOS13Check('iPod');\n};\nvar getUseragent = function getUseragent(userAg) {\n return setDefaults(userAg);\n};\n\nfunction buildSelectorsObject(options) {\n var _ref = options ? options : UAHelper,\n device = _ref.device,\n browser = _ref.browser,\n os = _ref.os,\n engine = _ref.engine,\n ua = _ref.ua;\n\n return {\n isSmartTV: isSmartTVType(device),\n isConsole: isConsoleType(device),\n isWearable: isWearableType(device),\n isEmbedded: isEmbeddedType(device),\n isMobileSafari: isMobileSafariType(browser) || getIPad13(),\n isChromium: isChromiumType(browser),\n isMobile: isMobileAndTabletType(device) || getIPad13(),\n isMobileOnly: isMobileType(device),\n isTablet: isTabletType(device) || getIPad13(),\n isBrowser: isBrowserType(device),\n isDesktop: isBrowserType(device),\n isAndroid: isAndroidType(os),\n isWinPhone: isWinPhoneType(os),\n isIOS: isIOSType(os) || getIPad13(),\n isChrome: isChromeType(browser),\n isFirefox: isFirefoxType(browser),\n isSafari: isSafariType(browser),\n isOpera: isOperaType(browser),\n isIE: isIEType(browser),\n osVersion: getOsVersion(os),\n osName: getOsName(os),\n fullBrowserVersion: getBrowserFullVersion(browser),\n browserVersion: getBrowserVersion(browser),\n browserName: getBrowserName(browser),\n mobileVendor: getMobileVendor(device),\n mobileModel: getMobileModel(device),\n engineName: getEngineName(engine),\n engineVersion: getEngineVersion(engine),\n getUA: getUseragent(ua),\n isEdge: isEdgeType(browser) || isEdgeChromiumType(ua),\n isYandex: isYandexType(browser),\n deviceType: getDeviceType(device),\n isIOS13: getIOS13(),\n isIPad13: getIPad13(),\n isIPhone13: getIphone13(),\n isIPod13: getIPod13(),\n isElectron: isElectronType(),\n isEdgeChromium: isEdgeChromiumType(ua),\n isLegacyEdge: isEdgeType(browser) && !isEdgeChromiumType(ua),\n isWindows: isWindowsType(os),\n isMacOs: isMacOsType(os),\n isMIUI: isMIUIType(browser),\n isSamsungBrowser: isSamsungBrowserType(browser)\n };\n}\n\nvar isSmartTV = isSmartTVType(device);\nvar isConsole = isConsoleType(device);\nvar isWearable = isWearableType(device);\nvar isEmbedded = isEmbeddedType(device);\nvar isMobileSafari = isMobileSafariType(browser) || getIPad13();\nvar isChromium = isChromiumType(browser);\nvar isMobile = isMobileAndTabletType(device) || getIPad13();\nvar isMobileOnly = isMobileType(device);\nvar isTablet = isTabletType(device) || getIPad13();\nvar isBrowser = isBrowserType(device);\nvar isDesktop = isBrowserType(device);\nvar isAndroid = isAndroidType(os);\nvar isWinPhone = isWinPhoneType(os);\nvar isIOS = isIOSType(os) || getIPad13();\nvar isChrome = isChromeType(browser);\nvar isFirefox = isFirefoxType(browser);\nvar isSafari = isSafariType(browser);\nvar isOpera = isOperaType(browser);\nvar isIE = isIEType(browser);\nvar osVersion = getOsVersion(os);\nvar osName = getOsName(os);\nvar fullBrowserVersion = getBrowserFullVersion(browser);\nvar browserVersion = getBrowserVersion(browser);\nvar browserName = getBrowserName(browser);\nvar mobileVendor = getMobileVendor(device);\nvar mobileModel = getMobileModel(device);\nvar engineName = getEngineName(engine);\nvar engineVersion = getEngineVersion(engine);\nvar getUA = getUseragent(ua);\nvar isEdge = isEdgeType(browser) || isEdgeChromiumType(ua);\nvar isYandex = isYandexType(browser);\nvar deviceType = getDeviceType(device);\nvar isIOS13 = getIOS13();\nvar isIPad13 = getIPad13();\nvar isIPhone13 = getIphone13();\nvar isIPod13 = getIPod13();\nvar isElectron = isElectronType();\nvar isEdgeChromium = isEdgeChromiumType(ua);\nvar isLegacyEdge = isEdgeType(browser) && !isEdgeChromiumType(ua);\nvar isWindows = isWindowsType(os);\nvar isMacOs = isMacOsType(os);\nvar isMIUI = isMIUIType(browser);\nvar isSamsungBrowser = isSamsungBrowserType(browser);\nvar getSelectorsByUserAgent = function getSelectorsByUserAgent(userAgent) {\n if (!userAgent || typeof userAgent !== 'string') {\n console.error('No valid user agent string was provided');\n return;\n }\n\n var _UAHelper$parseUserAg = parseUserAgent(userAgent),\n device = _UAHelper$parseUserAg.device,\n browser = _UAHelper$parseUserAg.browser,\n os = _UAHelper$parseUserAg.os,\n engine = _UAHelper$parseUserAg.engine,\n ua = _UAHelper$parseUserAg.ua;\n\n return buildSelectorsObject({\n device: device,\n browser: browser,\n os: os,\n engine: engine,\n ua: ua\n });\n};\n\nvar AndroidView = function AndroidView(_ref) {\n var renderWithFragment = _ref.renderWithFragment,\n children = _ref.children,\n props = _objectWithoutProperties(_ref, [\"renderWithFragment\", \"children\"]);\n\n return isAndroid ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar BrowserView = function BrowserView(_ref2) {\n var renderWithFragment = _ref2.renderWithFragment,\n children = _ref2.children,\n props = _objectWithoutProperties(_ref2, [\"renderWithFragment\", \"children\"]);\n\n return isBrowser ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar IEView = function IEView(_ref3) {\n var renderWithFragment = _ref3.renderWithFragment,\n children = _ref3.children,\n props = _objectWithoutProperties(_ref3, [\"renderWithFragment\", \"children\"]);\n\n return isIE ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar IOSView = function IOSView(_ref4) {\n var renderWithFragment = _ref4.renderWithFragment,\n children = _ref4.children,\n props = _objectWithoutProperties(_ref4, [\"renderWithFragment\", \"children\"]);\n\n return isIOS ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar MobileView = function MobileView(_ref5) {\n var renderWithFragment = _ref5.renderWithFragment,\n children = _ref5.children,\n props = _objectWithoutProperties(_ref5, [\"renderWithFragment\", \"children\"]);\n\n return isMobile ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar TabletView = function TabletView(_ref6) {\n var renderWithFragment = _ref6.renderWithFragment,\n children = _ref6.children,\n props = _objectWithoutProperties(_ref6, [\"renderWithFragment\", \"children\"]);\n\n return isTablet ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar WinPhoneView = function WinPhoneView(_ref7) {\n var renderWithFragment = _ref7.renderWithFragment,\n children = _ref7.children,\n props = _objectWithoutProperties(_ref7, [\"renderWithFragment\", \"children\"]);\n\n return isWinPhone ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar MobileOnlyView = function MobileOnlyView(_ref8) {\n var renderWithFragment = _ref8.renderWithFragment,\n children = _ref8.children,\n viewClassName = _ref8.viewClassName,\n style = _ref8.style,\n props = _objectWithoutProperties(_ref8, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n\n return isMobileOnly ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar SmartTVView = function SmartTVView(_ref9) {\n var renderWithFragment = _ref9.renderWithFragment,\n children = _ref9.children,\n props = _objectWithoutProperties(_ref9, [\"renderWithFragment\", \"children\"]);\n\n return isSmartTV ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar ConsoleView = function ConsoleView(_ref10) {\n var renderWithFragment = _ref10.renderWithFragment,\n children = _ref10.children,\n props = _objectWithoutProperties(_ref10, [\"renderWithFragment\", \"children\"]);\n\n return isConsole ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar WearableView = function WearableView(_ref11) {\n var renderWithFragment = _ref11.renderWithFragment,\n children = _ref11.children,\n props = _objectWithoutProperties(_ref11, [\"renderWithFragment\", \"children\"]);\n\n return isWearable ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\nvar CustomView = function CustomView(_ref12) {\n var renderWithFragment = _ref12.renderWithFragment,\n children = _ref12.children,\n viewClassName = _ref12.viewClassName,\n style = _ref12.style,\n condition = _ref12.condition,\n props = _objectWithoutProperties(_ref12, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\", \"condition\"]);\n\n return condition ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", props, children) : null;\n};\n\nfunction withOrientationChange(WrappedComponent) {\n return /*#__PURE__*/function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n var _this;\n\n _classCallCheck(this, _class);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, props));\n _this.isEventListenerAdded = false;\n _this.handleOrientationChange = _this.handleOrientationChange.bind(_assertThisInitialized(_this));\n _this.onOrientationChange = _this.onOrientationChange.bind(_assertThisInitialized(_this));\n _this.onPageLoad = _this.onPageLoad.bind(_assertThisInitialized(_this));\n _this.state = {\n isLandscape: false,\n isPortrait: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: \"handleOrientationChange\",\n value: function handleOrientationChange() {\n if (!this.isEventListenerAdded) {\n this.isEventListenerAdded = true;\n }\n\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n this.setState({\n isPortrait: orientation === 0,\n isLandscape: orientation === 90\n });\n }\n }, {\n key: \"onOrientationChange\",\n value: function onOrientationChange() {\n this.handleOrientationChange();\n }\n }, {\n key: \"onPageLoad\",\n value: function onPageLoad() {\n this.handleOrientationChange();\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== undefined && isMobile) {\n if (!this.isEventListenerAdded) {\n this.handleOrientationChange();\n window.addEventListener(\"load\", this.onPageLoad, false);\n } else {\n window.removeEventListener(\"load\", this.onPageLoad, false);\n }\n\n window.addEventListener(\"resize\", this.onOrientationChange, false);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener(\"resize\", this.onOrientationChange, false);\n }\n }, {\n key: \"render\",\n value: function render() {\n return React__default.createElement(WrappedComponent, _extends({}, this.props, {\n isLandscape: this.state.isLandscape,\n isPortrait: this.state.isPortrait\n }));\n }\n }]);\n\n return _class;\n }(React__default.Component);\n}\n\nfunction useMobileOrientation() {\n var _useState = React.useState(function () {\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n return {\n isPortrait: orientation === 0,\n isLandscape: orientation === 90,\n orientation: orientation === 0 ? 'portrait' : 'landscape'\n };\n }),\n _useState2 = _slicedToArray(_useState, 2),\n state = _useState2[0],\n setState = _useState2[1];\n\n var handleOrientationChange = React.useCallback(function () {\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n var next = {\n isPortrait: orientation === 0,\n isLandscape: orientation === 90,\n orientation: orientation === 0 ? 'portrait' : 'landscape'\n };\n state.orientation !== next.orientation && setState(next);\n }, [state.orientation]);\n React.useEffect(function () {\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== undefined && isMobile) {\n handleOrientationChange();\n window.addEventListener(\"load\", handleOrientationChange, false);\n window.addEventListener(\"resize\", handleOrientationChange, false);\n }\n\n return function () {\n window.removeEventListener(\"resize\", handleOrientationChange, false);\n window.removeEventListener(\"load\", handleOrientationChange, false);\n };\n }, [handleOrientationChange]);\n return state;\n}\n\nfunction useDeviceData(userAgent) {\n var hookUserAgent = userAgent ? userAgent : window.navigator.userAgent;\n return parseUserAgent(hookUserAgent);\n}\n\nfunction useDeviceSelectors(userAgent) {\n var hookUserAgent = userAgent ? userAgent : window.navigator.userAgent;\n var deviceData = useDeviceData(hookUserAgent);\n var selectors = buildSelectorsObject(deviceData);\n return [selectors, deviceData];\n}\n\nexports.AndroidView = AndroidView;\nexports.BrowserTypes = BrowserTypes;\nexports.BrowserView = BrowserView;\nexports.ConsoleView = ConsoleView;\nexports.CustomView = CustomView;\nexports.IEView = IEView;\nexports.IOSView = IOSView;\nexports.MobileOnlyView = MobileOnlyView;\nexports.MobileView = MobileView;\nexports.OsTypes = OsTypes;\nexports.SmartTVView = SmartTVView;\nexports.TabletView = TabletView;\nexports.WearableView = WearableView;\nexports.WinPhoneView = WinPhoneView;\nexports.browserName = browserName;\nexports.browserVersion = browserVersion;\nexports.deviceDetect = deviceDetect;\nexports.deviceType = deviceType;\nexports.engineName = engineName;\nexports.engineVersion = engineVersion;\nexports.fullBrowserVersion = fullBrowserVersion;\nexports.getSelectorsByUserAgent = getSelectorsByUserAgent;\nexports.getUA = getUA;\nexports.isAndroid = isAndroid;\nexports.isBrowser = isBrowser;\nexports.isChrome = isChrome;\nexports.isChromium = isChromium;\nexports.isConsole = isConsole;\nexports.isDesktop = isDesktop;\nexports.isEdge = isEdge;\nexports.isEdgeChromium = isEdgeChromium;\nexports.isElectron = isElectron;\nexports.isEmbedded = isEmbedded;\nexports.isFirefox = isFirefox;\nexports.isIE = isIE;\nexports.isIOS = isIOS;\nexports.isIOS13 = isIOS13;\nexports.isIPad13 = isIPad13;\nexports.isIPhone13 = isIPhone13;\nexports.isIPod13 = isIPod13;\nexports.isLegacyEdge = isLegacyEdge;\nexports.isMIUI = isMIUI;\nexports.isMacOs = isMacOs;\nexports.isMobile = isMobile;\nexports.isMobileOnly = isMobileOnly;\nexports.isMobileSafari = isMobileSafari;\nexports.isOpera = isOpera;\nexports.isSafari = isSafari;\nexports.isSamsungBrowser = isSamsungBrowser;\nexports.isSmartTV = isSmartTV;\nexports.isTablet = isTablet;\nexports.isWearable = isWearable;\nexports.isWinPhone = isWinPhone;\nexports.isWindows = isWindows;\nexports.isYandex = isYandex;\nexports.mobileModel = mobileModel;\nexports.mobileVendor = mobileVendor;\nexports.osName = osName;\nexports.osVersion = osVersion;\nexports.parseUserAgent = parseUserAgent;\nexports.setUserAgent = setUserAgent;\nexports.useDeviceData = useDeviceData;\nexports.useDeviceSelectors = useDeviceSelectors;\nexports.useMobileOrientation = useMobileOrientation;\nexports.withOrientationChange = withOrientationChange;\n","import type _algosdk from \"algosdk\";\nimport { PROVIDER_ID } from \"../constants\";\nimport type { WalletProvider, Asset, Wallet, AccountInfo } from \"../types\";\nimport { ConfirmedTxn, TxnType } from \"../types\";\nimport { TransactionsArray, TxnInfo } from \"../types\";\nimport { audio } from \"../media/audio\";\nimport { isIOS } from \"react-device-detect\";\n\n/** @todo implement audio hack */\n\nexport type InitAlgodClient = {\n algosdk: typeof _algosdk;\n token: string;\n server: string;\n port: string;\n};\n\nexport interface BaseWalletInterface {\n connect(onDisconnect: () => void): Promise<Wallet>;\n healthCheck(): Promise<Record<string, never>>;\n disconnect(): Promise<void>;\n reconnect(onDisconnect: () => void): Promise<Wallet | null>;\n decodeTransaction(txn: string, isSigned: boolean): _algosdk.Transaction;\n logEncodedTransaction(txn: string, isSigned: boolean): void;\n groupTransactionsBySender(\n transactions: TransactionsArray\n ): Record<string, TxnInfo[]>;\n signTransactions(\n activeAddress: string,\n transactions: Array<Uint8Array>\n ): Promise<Uint8Array[]>;\n signEncodedTransactions(\n transactions: TransactionsArray\n ): Promise<Uint8Array[]>;\n sendRawTransactions(\n transactions: Uint8Array[]\n ): Promise<ConfirmedTxn & { id: string }>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n getAccountInfo(address: string): Promise<AccountInfo>;\n getAssets(address: string): Promise<Asset[]>;\n waitForConfirmation(txId: string, timeout?: number): Promise<ConfirmedTxn>;\n}\n\nabstract class BaseWallet implements BaseWalletInterface {\n algodClient: _algosdk.Algodv2;\n algosdk: typeof _algosdk;\n keepWCAlive: HTMLAudioElement;\n\n protected abstract id: PROVIDER_ID;\n protected abstract provider: WalletProvider;\n\n abstract connect(onDisconnect: () => void): Promise<Wallet>;\n abstract disconnect(): Promise<void>;\n abstract reconnect(onDisconnect: () => void): Promise<Wallet | null>;\n abstract signTransactions(\n activeAdress: string,\n transactions: Array<Uint8Array>\n ): Promise<Uint8Array[]>;\n abstract signEncodedTransactions(\n transactions: TransactionsArray\n ): Promise<Uint8Array[]>;\n\n protected constructor({ algosdk, token, server, port }: InitAlgodClient) {\n this.algodClient = new algosdk.Algodv2(token, server, port);\n this.algosdk = algosdk;\n this.keepWCAlive = new Audio();\n }\n\n async healthCheck() {\n return await this.algodClient.healthCheck().do();\n }\n\n async getAccountInfo(address: string) {\n const accountInfo = await this.algodClient.accountInformation(address).do();\n\n if (!accountInfo) {\n throw new Error(\"Unable to get account information\");\n }\n\n return accountInfo as AccountInfo;\n }\n\n async getAssets(address: string) {\n const accountInfo = await this.algodClient.accountInformation(address).do();\n\n if (!accountInfo || accountInfo.assets === undefined) {\n throw new Error(\"Unable to get account assets\");\n }\n\n return accountInfo.assets as Asset[];\n }\n\n async waitForConfirmation(txId: string, timeout = 4) {\n const confirmation = (await this.algosdk.waitForConfirmation(\n this.algodClient,\n txId,\n timeout\n )) as ConfirmedTxn;\n\n return { txId, ...confirmation };\n }\n\n decodeTransaction = (txn: string, isSigned: boolean) => {\n return isSigned\n ? this.algosdk.decodeSignedTransaction(\n new Uint8Array(Buffer.from(txn, \"base64\"))\n ).txn\n : this.algosdk.decodeUnsignedTransaction(\n new Uint8Array(Buffer.from(txn, \"base64\"))\n );\n };\n\n logEncodedTransaction(txn: string, isSigned: boolean) {\n const txnObj = this.decodeTransaction(txn, isSigned);\n\n console.log(\"TRANSACTION\", {\n isSigned,\n from: txnObj.from && this.algosdk.encodeAddress(txnObj.from.publicKey),\n to: txnObj.to && this.algosdk.encodeAddress(txnObj.to.publicKey),\n type: txnObj.type,\n txn: txnObj,\n });\n }\n\n groupTransactionsBySender(transactions: TransactionsArray) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function groupBy(objectArray: Record<string, any>[], property: string) {\n return objectArray.reduce(function (acc, obj) {\n const key = obj[property];\n if (!acc[key]) {\n acc[key] = [];\n }\n acc[key].push(obj);\n return acc;\n }, {});\n }\n\n const decodedGroup = transactions.reduce(\n (acc: TxnInfo[], [type, txn], index) => {\n if (type === \"u\") {\n const decodedTxn = this.decodeTransaction(txn, false);\n const from = decodedTxn.from\n ? this.algosdk.encodeAddress(decodedTxn.from.publicKey)\n : \"\";\n const to = decodedTxn.to\n ? this.algosdk.encodeAddress(decodedTxn.to.publicKey)\n : \"\";\n const type = (decodedTxn.type as TxnType) || \"\";\n const amount = Number(decodedTxn.amount) || 0; // convert from bigint to number\n\n const txnObj = {\n groupIndex: index,\n amount,\n from,\n to,\n type,\n txn,\n };\n\n acc.push(txnObj);\n }\n\n return acc;\n },\n []\n );\n return groupBy(decodedGroup, \"from\");\n }\n\n async sendRawTransactions(transactions: Uint8Array[]) {\n const sentTransaction = await this.algodClient\n .sendRawTransaction(transactions)\n .do();\n\n if (!sentTransaction) {\n throw new Error(\"Transaction failed.\");\n }\n\n const confirmedTransaction = await this.waitForConfirmation(\n sentTransaction.txId\n );\n\n console.log(\"sent\", confirmedTransaction);\n\n return {\n id: sentTransaction.txId,\n ...confirmedTransaction,\n };\n }\n\n keepWCAliveStart() {\n // Playing an audio file prevents Wallet Connect's\n // web socket connection from being dropped when\n // iOS goes into background mode\n\n if (!isIOS) {\n return;\n }\n\n this.keepWCAlive.src = audio;\n this.keepWCAlive.autoplay = true;\n this.keepWCAlive.volume = 0;\n this.keepWCAlive.loop = true;\n this.keepWCAlive.play();\n }\n\n keepWCAliveStop() {\n if (!isIOS) {\n return;\n }\n\n this.keepWCAlive.pause();\n }\n}\n\nexport default BaseWallet;\n","/**\n * Helpful resources:\n * https://github.com/perawallet/connect\n */\nimport { providers } from \"../providers\";\nimport type { PeraWalletConnect } from \"@perawallet/connect\";\nimport type { WalletProvider, Wallet } from \"../types\";\nimport { PROVIDER_ID, NODE_TOKEN, NODE_SERVER, NODE_PORT } from \"../constants\";\nimport type { Transaction } from \"algosdk\";\nimport BaseWallet from \"./base\";\nimport type { InitAlgodClient } from \"./base\";\nimport { TransactionsArray } from \"../types\";\nimport type { DecodedTransaction, DecodedSignedTransaction } from \"../types\";\n\nexport interface PeraTransaction {\n txn: Transaction;\n /**\n * Optional list of addresses that must sign the transactions.\n * Wallet skips to sign this txn if signers is empty array.\n * If undefined, wallet tries to sign it.\n */\n signers?: string[];\n}\n\ntype InitWallet = {\n id: PROVIDER_ID;\n client: PeraWalletConnect;\n providers: typeof providers;\n};\n\nclass PeraWalletClient extends BaseWallet {\n #client: PeraWalletConnect;\n id: PROVIDER_ID;\n provider: WalletProvider;\n\n constructor(initAlgodClient: InitAlgodClient, initWallet: InitWallet) {\n super(initAlgodClient);\n\n this.#client = initWallet.client;\n this.id = initWallet.id;\n this.provider = initWallet.providers[this.id];\n }\n\n static async init() {\n const algosdk = (await import(\"algosdk\")).default;\n\n const initAlgodClient: InitAlgodClient = {\n algosdk,\n token: NODE_TOKEN,\n server: NODE_SERVER,\n port: NODE_PORT,\n };\n\n const PeraWalletConnect = (await import(\"@perawallet/connect\"))\n .PeraWalletConnect;\n const peraWallet = new PeraWalletConnect({ shouldShowSignTxnToast: false });\n\n const initWallet: InitWallet = {\n id: PROVIDER_ID.PERA_WALLET,\n client: peraWallet,\n providers: providers,\n };\n\n return new PeraWalletClient(initAlgodClient, initWallet);\n }\n\n async connect(onDisconnect: () => void): Promise<Wallet> {\n this.keepWCAliveStart();\n\n const accounts = await this.#client.connect();\n\n this.keepWCAliveStop();\n\n this.#client.connector?.on(\"disconnect\", onDisconnect);\n\n if (accounts.length === 0) {\n throw new Error(`No accounts found for ${this.provider}`);\n }\n\n const mappedAccounts = accounts.map((address: string, index: number) => ({\n name: `Pera Wallet ${index + 1}`,\n address,\n providerId: this.provider.id,\n }));\n\n return {\n ...this.provider,\n accounts: mappedAccounts,\n };\n }\n\n async reconnect(onDisconnect: () => void) {\n const accounts = await this.#client.reconnectSession();\n this.#client.connector?.on(\"disconnect\", onDisconnect);\n\n if (!accounts) {\n return null;\n }\n\n return {\n ...this.provider,\n accounts: accounts.map((address: string, index: number) => ({\n name: `Pera Wallet ${index + 1}`,\n address,\n providerId: this.provider.id,\n })),\n };\n }\n\n async disconnect() {\n await this.#client.disconnect();\n }\n\n formatTransactionsArray(transactions: TransactionsArray): PeraTransaction[] {\n const formattedTransactions: PeraTransaction[] = [];\n\n for (const [type, txn] of transactions) {\n if (type === \"s\") {\n formattedTransactions.push({\n ...this.algosdk.decodeSignedTransaction(\n new Uint8Array(Buffer.from(txn, \"base64\"))\n ),\n signers: [],\n });\n } else {\n formattedTransactions.push({\n txn: this.algosdk.decodeUnsignedTransaction(\n new Uint8Array(Buffer.from(txn, \"base64\"))\n ),\n });\n }\n }\n\n return formattedTransactions;\n }\n\n async signTransactions(activeAdress: string, transactions: Uint8Array[]) {\n // Decode the transactions to access their properties.\n const decodedTxns = transactions.map((txn) => {\n return this.algosdk.decodeObj(txn);\n }) as Array<DecodedTransaction | DecodedSignedTransaction>;\n\n // Marshal the transactions,\n // and add the signers property if they shouldn't be signed.\n const txnsToSign = decodedTxns.reduce<PeraTransaction[]>((acc, txn, i) => {\n if (\n !(\"txn\" in txn) &&\n this.algosdk.encodeAddress(txn[\"snd\"]) === activeAdress\n ) {\n acc.push({\n txn: this.algosdk.decodeUnsignedTransaction(transactions[i]),\n });\n } else {\n acc.push({\n txn: this.algosdk.decodeSignedTransaction(transactions[i]).txn,\n signers: [],\n });\n }\n\n return acc;\n }, []);\n\n // Play an audio file to keep Wallet Connect's web socket open on iOS\n // when the user goes into background mode.\n this.keepWCAliveStart();\n\n // Sign them with the client.\n const result = await this.#client.signTransaction([txnsToSign]);\n\n this.keepWCAliveStop();\n\n // Join the newly signed transactions with the original group of transactions.\n const signedTxns = decodedTxns.reduce<Uint8Array[]>((acc, txn, i) => {\n if (!(\"txn\" in txn)) {\n const signedByUser = result.shift();\n signedByUser && acc.push(signedByUser);\n } else {\n acc.push(transactions[i]);\n }\n\n return acc;\n }, []);\n\n return signedTxns;\n }\n\n async signEncodedTransactions(transactions: TransactionsArray) {\n const transactionsToSign = this.formatTransactionsArray(transactions);\n\n this.keepWCAliveStart();\n\n const result = (await this.#client.signTransaction([\n transactionsToSign,\n ])) as Uint8Array[];\n\n this.keepWCAliveStop();\n\n const signedTransactions: Uint8Array[] = [];\n let resultIndex = 0;\n\n for (const [type, txn] of transactions) {\n if (type === \"u\") {\n signedTransactions.push(result[resultIndex]);\n resultIndex++;\n } else {\n signedTransactions.push(new Uint8Array(Buffer.from(txn, \"base64\")));\n }\n }\n\n return signedTransactions;\n }\n}\n\nexport default PeraWalletClient.init().catch((e) => {\n if (typeof window !== \"undefined\") {\n console.error(\"error initializing PeraWalletClient\", e);\n return;\n }\n});\n","/**\n * Helpful resources:\n * https://github.com/randlabs/myalgo-connect\n */\nimport BaseWallet from \"./base\";\nimport type MyAlgoConnect from \"@randlabs/myalgo-connect\";\nimport type { InitAlgodClient } from \"./base\";\nimport { PROVIDER_ID, NODE_TOKEN, NODE_SERVER, NODE_PORT } from \"../constants\";\nimport { providers } from \"../providers\";\nimport type { WalletProvider } from \"../types\";\nimport { TransactionsArray } from \"../types\";\nimport { DecodedTransaction, DecodedSignedTransaction } from \"../types\";\n\ntype InitWallet = {\n id: PROVIDER_ID;\n client: MyAlgoConnect;\n providers: typeof providers;\n};\n\nclass MyAlgoWalletClient extends BaseWallet {\n #client: MyAlgoConnect;\n id: PROVIDER_ID;\n provider: WalletProvider;\n\n constructor(initAlgodClient: InitAlgodClient, initWallet: InitWallet) {\n super(initAlgodClient);\n\n this.#client = initWallet.client;\n this.id = initWallet.id;\n this.provider = initWallet.providers[this.id];\n }\n\n static async init() {\n const algosdk = (await import(\"algosdk\")).default;\n\n const initAlgodClient: InitAlgodClient = {\n algosdk,\n token: NODE_TOKEN,\n server: NODE_SERVER,\n port: NODE_PORT,\n };\n\n const MyAlgo = (await import(\"@randlabs/myalgo-connect\")).default;\n const myAlgo = new MyAlgo({ disableLedgerNano: false });\n\n const initWallet: InitWallet = {\n id: PROVIDER_ID.MYALGO_WALLET,\n client: myAlgo,\n providers: providers,\n };\n\n return new MyAlgoWalletClient(initAlgodClient, initWallet);\n }\n\n async connect() {\n const accounts = await this.#client.connect();\n\n if (accounts.length === 0) {\n throw new Error(`No accounts found for ${this.provider}`);\n }\n\n const mappedAccounts = accounts.map((account) => ({\n ...account,\n providerId: this.provider.id,\n }));\n\n return {\n ...this.provider,\n accounts: mappedAccounts,\n };\n }\n\n async reconnect() {\n return null;\n }\n\n async disconnect() {\n return;\n }\n\n async signTransactions(activeAdress: string, transactions: Uint8Array[]) {\n // Decode the transactions to access their properties.\n const decodedTxns = transactions.map((txn) => {\n return this.algosdk.decodeObj(txn);\n }) as Array<DecodedTransaction | DecodedSignedTransaction>;\n\n // Get the unsigned transactions.\n const txnsToSign = decodedTxns.reduce<Uint8Array[]>((acc, txn, i) => {\n // If the transaction isn't already signed and is to be sent from a connected account,\n // add it to the arrays of transactions to be signed.\n if (\n !(\"txn\" in txn) &&\n this.algosdk.encodeAddress(txn[\"snd\"]) === activeAdress\n ) {\n acc.push(transactions[i]);\n }\n\n return acc;\n }, []);\n\n // Sign them with the client.\n const result = await this.#client.signTransaction(txnsToSign);\n\n // Join the newly signed transactions with the original group of transactions.\n const signedTxns = decodedTxns.reduce<Uint8Array[]>((acc, txn, i) => {\n if (!(\"txn\" in txn)) {\n const signedByUser = result.shift()?.blob;\n signedByUser && acc.push(signedByUser);\n } else {\n acc.push(transactions[i]);\n }\n\n return acc;\n }, []);\n\n return signedTxns;\n }\n\n async signEncodedTransactions(transactions: TransactionsArray) {\n const transactionsToSign: string[] = [];\n const signedRawTransactions: Uint8Array[] = [];\n\n for (const [type, txn] of transactions) {\n if (type === \"u\") {\n transactionsToSign.push(txn);\n }\n }\n\n const result = await this.#client.signTransaction(transactionsToSign);\n\n if (!result) {\n throw new Error(\"Signing failed.\");\n }\n\n let resultIndex = 0;\n\n for (const [type, txn] of transactions) {\n if (type === \"u\") {\n signedRawTransactions.push(result[resultIndex].blob);\n resultIndex++;\n } else {\n signedRawTransactions.push(new Uint8Array(Buffer.from(txn, \"base64\")));\n }\n }\n\n return signedRawTransactions;\n }\n}\n\nexport default MyAlgoWalletClient.init().catch((e) => {\n if (typeof window !== \"undefined\") {\n console.error(\"error initializing MyAlgoWalletClient\", e);\n return;\n }\n});\n","/**\n * Helpful resources:\n * https://github.com/PureStake/algosigner/blob/develop/docs/dApp-integration.md\n */\nimport BaseWallet from \"./base\";\nimport type { InitAlgodClient } from \"./base\";\nimport { PROVIDER_ID, NODE_TOKEN, NODE_SERVER, NODE_PORT } from \"../constants\";\nimport { providers } from \"../providers\";\nimport type { WalletProvider } from \"../types\";\nimport { TransactionsArray } from \"../types\";\nimport type { DecodedTransaction, DecodedSignedTransaction } from \"../types\";\n\ntype WindowExtended = { AlgoSigner: AlgoSigner } & Window & typeof globalThis;\n\ntype AlgoSignerTransaction = {\n txn: string;\n // array of addresses to sign with (defaults to the sender),\n // setting this to an empty array tells AlgoSigner\n // that this transaction is not meant to be signed\n signers?: [];\n multisig?: string; // address of a multisig wallet to sign with\n};\n\ntype SupportedLedgers = \"MainNet\" | \"TestNet\" | \"BetaNet\" | \"devmodenet\";\n\ntype AlgoSigner = {\n connect: () => Promise<Record<string, never>>;\n accounts: (ledger: {\n ledger: SupportedLedgers;\n }) => Promise<{ address: string }[]>;\n signTxn: (transactions: AlgoSignerTransaction[]) => Promise<\n {\n txID: string;\n blob: string;\n }[]\n >;\n encoding: {\n msgpackToBase64(transaction: Uint8Array): string;\n byteArrayToString(transaction: Uint8Array): string;\n };\n};\n\ntype InitWallet = {\n client: AlgoSigner;\n id: PROVIDER_ID;\n providers: typeof providers;\n};\n\nclass AlgoSignerClient extends BaseWallet {\n #client: AlgoSigner;\n id: PROVIDER_ID;\n provider: WalletProvider;\n\n constructor(initAlgodClient: InitAlgodClient, initWallet: InitWallet) {\n super(initAlgodClient);\n\n this.#client = initWallet.client;\n this.id = initWallet.id;\n this.provider = initWallet.providers[this.id];\n }\n\n static async init() {\n const algosdk = (await import(\"algosdk\")).default;\n\n const initAlgodClient: InitAlgodClient = {\n algosdk,\n token: NODE_TOKEN,\n server: NODE_SERVER,\n port: NODE_PORT,\n };\n\n if (\n typeof window == \"undefined\" ||\n (window as WindowExtended).AlgoSigner === undefined\n ) {\n throw new Error(\"AlgoSigner is not available.\");\n }\n\n const algoSigner = (window as WindowExtended).AlgoSigner as AlgoSigner;\n\n const initWallet: InitWallet = {\n id: PROVIDER_ID.ALGO_SIGNER,\n client: algoSigner,\n providers: providers,\n };\n\n return new AlgoSignerClient(initAlgodClient, initWallet);\n }\n\n async connect() {\n await this.#client.connect();\n\n let ledger: SupportedLedgers = \"MainNet\";\n\n /** @todo remove env vars */\n // if (process.env.NEXT_PUBLIC_VERCEL_ENV === \"betanet\") {\n // ledger = \"BetaNet\";\n // }\n\n // if (process.env.NEXT_PUBLIC_VERCEL_ENV === \"testnet\") {\n // ledger = \"TestNet\";\n // }\n\n // if (!process.env.NEXT_PUBLIC_VERCEL_ENV) {\n // ledger = \"devmodenet\";\n // }\n\n const accounts = await this.#client.accounts({\n ledger,\n });\n\n if (accounts.length === 0) {\n throw new Error(`No accounts found for ${this.provider}`);\n }\n\n const mappedAccounts = accounts.map(({ address }, index) => ({\n name: `AlgoSigner ${index + 1}`,\n address,\n providerId: this.provider.id,\n }));\n\n return {\n ...this.provider,\n accounts: mappedAccounts,\n };\n }\n\n async reconnect(onDisconnect: () => void) {\n if (\n window === undefined ||\n (window as WindowExtended).AlgoSigner === undefined\n ) {\n onDisconnect();\n }\n\n return null;\n }\n\n async disconnect() {\n return;\n }\n\n formatTransactionsArray(\n transactions: TransactionsArray\n ): AlgoSignerTransaction[] {\n const formattedTransactions = transactions.map(([type, txn]) => {\n const formattedTxn: AlgoSignerTransaction = {\n txn: txn[1],\n };\n\n if (type === \"s\") {\n formattedTxn.signers = [];\n const decoded = this.algosdk.decodeSignedTransaction(\n new Uint8Array(Buffer.from(txn, \"base64\"))\n );\n formattedTxn.txn = this.#client.encoding.msgpackToBase64(\n decoded.txn.toByte()\n );\n } else {\n const decoded = this.algosdk.decodeUnsignedTransaction(\n Buffer.from(txn, \"base64\")\n );\n formattedTxn.txn = this.#client.encoding.msgpackToBase64(\n decoded.toByte()\n );\n }\n\n return formattedTxn;\n });\n\n return formattedTransactions;\n }\n\n async signTransactions(activeAdress: string, transactions: Uint8Array[]) {\n // Decode the transactions to access their properties.\n const decodedTxns = transactions.map((txn) => {\n return this.algosdk.decodeObj(txn);\n }) as Array<DecodedTransaction | DecodedSignedTransaction>;\n\n // Marshal the transactions,\n // and add the signers property if they shouldn't be signed.\n const txnsToSign = decodedTxns.reduce<AlgoSignerTransaction[]>(\n (acc, txn, i) => {\n const txnObj: AlgoSignerTransaction = {\n txn: this.#client.encoding.msgpackToBase64(transactions[i]),\n };\n\n if (\n \"txn\" in txn ||\n this.algosdk.encodeAddress(txn[\"snd\"]) !== activeAdress\n ) {\n txnObj.txn = this.#client.encoding.msgpackToBase64(\n this.algosdk.decodeSignedTransaction(transactions[i]).txn.toByte()\n );\n txnObj.signers = [];\n }\n\n acc.push(txnObj);\n\n return acc;\n },\n []\n );\n\n // Sign them with the client.\n const result = await this.#client.signTxn(txnsToSign);\n\n // Join the newly signed transactions with the original group of transactions.\n const signedTxns = result.reduce<Uint8Array[]>((acc, txn, i) => {\n if (txn) {\n acc.push(new Uint8Array(Buffer.from(txn.blob, \"base64\")));\n } else {\n acc.push(transactions[i]);\n }\n\n return acc;\n }, []);\n\n return signedTxns;\n }\n\n async signEncodedTransactions(transactions: TransactionsArray) {\n const transactionsToSign = this.formatTransactionsArray(transactions);\n const result = await this.#client.signTxn(transactionsToSign);\n\n if (!result) {\n throw new Error(\"Signing failed.\");\n }\n\n const signedRawTransactions = result.reduce(\n (signedTxns: Uint8Array[], txn, currentIndex) => {\n if (txn) {\n signedTxns.push(new Uint8Array(Buffer.from(txn.blob, \"base64\")));\n }\n\n if (txn === null) {\n signedTxns.push(\n new Uint8Array(Buffer.from(transactions[currentIndex][1], \"base64\"))\n );\n }\n\n return signedTxns;\n },\n []\n );\n\n return signedRawTransactions;\n }\n}\n\nexport default AlgoSignerClient.init().catch((e) => {\n if (typeof window !== \"undefined\") {\n console.info(\"error initializing AlgoSigner\", e);\n return;\n }\n});\n","/**\n * Helpful resources:\n * https://github.com/blockshake-io/defly-connect\n */\nimport { providers } from \"../providers\";\nimport type { WalletProvider, Wallet } from \"../types\";\nimport { PROVIDER_ID, NODE_TOKEN, NODE_SERVER, NODE_PORT } from \"../constants\";\nimport type { Transaction, SignedTransaction } from \"algosdk\";\nimport BaseWallet from \"./base\";\nimport type { InitAlgodClient } from \"./base\";\nimport { TransactionsArray } from \"../types\";\nimport type { DeflyWalletConnect } from \"@blockshake/defly-connect\";\nimport type { DecodedTransaction, DecodedSignedTransaction } from \"../types\";\n\nexport interface DeflyTransaction {\n txn: Transaction;\n /**\n * Optional list of addresses that must sign the transactions.\n * Wallet skips to sign this txn if signers is empty array.\n * If undefined, wallet tries to sign it.\n */\n signers?: string[];\n}\n\ntype InitWallet = {\n id: PROVIDER_ID;\n client: DeflyWalletConnect;\n providers: typeof providers;\n};\n\nclass DeflyWalletClient extends BaseWallet {\n #client: DeflyWalletConnect;\n id: PROVIDER_ID;\n provider: WalletProvider;\n\n constructor(initAlgodClient: InitAlgodClient, initWallet: InitWallet) {\n super(initAlgodClient);\n\n this.#client = initWallet.client;\n this.id = initWallet.id;\n this.provider = initWallet.providers[this.id];\n }\n\n static async init() {\n const algosdk = (await import(\"algosdk\")).default;\n\n const initAlgodClient: InitAlgodClient = {\n algosdk,\n token: NODE_TOKEN,\n server: NODE_SERVER,\n port: NODE_PORT,\n };\n\n const DeflyWalletConnect = (await import(\"@blockshake/defly-connect\"))\n .DeflyWalletConnect;\n const deflyWallet = new DeflyWalletConnect({\n shouldShowSignTxnToast: false,\n });\n\n const initWallet: InitWallet = {\n id: PROVIDER_ID.DEFLY,\n client: deflyWallet,\n providers: providers,\n };\n\n return new DeflyWalletClient(initAlgodClient, initWallet);\n }\n\n async connect(onDisconnect: () => void): Promise<Wallet> {\n const accounts = await this.#client.connect();\n this.#client.connector?.on(\"disconnect\", onDisconnect);\n\n if (accounts.length === 0) {\n throw new Error(`No accounts found for ${this.provider}`);\n }\n\n const mappedAccounts = accounts.map((address: string, index: number) => ({\n name: `Defly Wallet ${index + 1}`,\n address,\n providerId: this.provider.id,\n }));\n\n return {\n ...this.provider,\n accounts: mappedAccounts,\n };\n }\n\n async reconnect(onDisconnect: () => void) {\n const accounts = await this.#client.reconnectSession();\n this.#client.connector?.on(\"disconnect\", onDisconnect);\n\n if (!accounts) {\n return null;\n }\n\n return {\n ...this.provider,\n accounts: accounts.map((address: string, index: number) => ({\n name: `Defly Wallet ${index + 1}`,\n address,\n providerId: this.provider.id,\n })),\n };\n }\n\n async disconnect() {\n await this.#client.disconnect();\n }\n\n formatTransactionsArray(transactions: TransactionsArray) {\n const formattedTransactions: DeflyTransaction[] = [];\n\n for (const [type, txn] of transactions) {\n if (type === \"s\") {\n formattedTransactions.push({\n ...this.algosdk.decodeSignedTransaction(\n new Uint8Array(Buffer.from(txn, \"base64\"))\n ),\n signers: [],\n });\n } else {\n formattedTransactions.push({\n txn: this.algosdk.decodeUnsignedTransaction(\n new Uint8Array(Buffer.from(txn, \"base64\"))\n ),\n });\n }\n }\n\n return formattedTransactions;\n }\n\n async signTransactions(activeAdress: string, transactions: Uint8Array[]) {\n // Decode the transactions to access their properties.\n const decodedTxns = transactions.map((txn) => {\n return this.algosdk.decodeObj(txn);\n }) as Array<DecodedTransaction | DecodedSignedTransaction>;\n\n // Marshal the transactions,\n // and add the signers property if they shouldn't be signed.\n const txnsToSign = decodedTxns.reduce<DeflyTransaction[]>((acc, txn, i) => {\n if (\n !(\"txn\" in txn) &&\n this.algosdk.encodeAddress(txn[\"snd\"]) === activeAdress\n ) {\n acc.push({\n txn: this.algosdk.decodeUnsignedTransaction(transactions[i]),\n });\n } else {\n acc.push({\n txn: this.algosdk.decodeSignedTransaction(transactions[i]).txn,\n signers: [],\n });\n }\n\n return acc;\n }, []);\n\n // Sign them with the client.\n const result = await this.#client.signTransaction([txnsToSign]);\n\n // Join the newly signed transactions with the original group of transactions.\n const signedTxns = decodedTxns.reduce<Uint8Array[]>((acc, txn, i) => {\n if (!(\"txn\" in txn)) {\n const signedByUser = result.shift();\n signedByUser && acc.push(signedByUser);\n } else {\n acc.push(transactions[i]);\n }\n\n return acc;\n }, []);\n\n return signedTxns;\n }\n\n async signEncodedTransactions(transactions: TransactionsArray) {\n const transactionsToSign = this.formatTransactionsArray(transactions);\n const result: Uint8Array[] = await this.#client.signTransaction([\n transactionsToSign,\n ]);\n\n const signedTransactions: Uint8Array[] = [];\n\n let resultIndex = 0;\n\n for (const [type, txn] of transactions) {\n if (type === \"u\") {\n signedTransactions.push(result[resultIndex]);\n resultIndex++;\n } else {\n signedTransactions.push(new Uint8Array(Buffer.from(txn, \"base64\")));\n }\n }\n\n return signedTransactions;\n }\n}\n\nexport default DeflyWalletClient.init().catch((e) => {\n if (typeof window !== \"undefined\") {\n console.error(\"error initializing DeflyWalletClient\", e);\n return;\n }\n});\n","/**\n * Helpful resources:\n * https://docs.exodus.com/api-reference/algorand-provider-api/\n */\nimport BaseWallet from \"./base\";\nimport type { InitAlgodClient } from \"./base\";\nimport { PROVIDER_ID, NODE_TOKEN, NODE_SERVER, NODE_PORT } from \"../constants\";\nimport { providers } from \"../providers\";\nimport type { WalletProvider } from \"../types\";\nimport { TransactionsArray } from \"../types\";\nimport type { SignedTransaction, Transaction } from \"algosdk\";\nimport type { DecodedTransaction, DecodedSignedTransaction } from \"../types\";\n\ntype WindowExtended = { exodus: { algorand: Exodus } } & Window &\n typeof globalThis;\n\ntype Bytes = Readonly<Uint8Array>;\n\ntype Exodus = {\n isConnected: boolean;\n address: string | null;\n connect: () => Promise<{\n address: string;\n }>;\n disconnect: () => void;\n signAndSendTransaction(transactions: Bytes[]): Promise<{\n txId: string;\n }>;\n signTransaction(transactions: Bytes[]): Promise<Bytes[]>;\n};\n\ntype InitWallet = {\n client: Exodus;\n id: PROVIDER_ID;\n providers: typeof providers;\n};\n\nclass ExodusClient extends BaseWallet {\n #client: Exodus;\n id: PROVIDER_ID;\n provider: WalletProvider;\n\n constructor(initAlgodClient: InitAlgodClient, initWallet: InitWallet) {\n super(initAlgodClient);\n\n this.#client = initWallet.client;\n this.id = initWallet.id;\n this.provider = initWallet.providers[this.id];\n }\n\n static async init() {\n const algosdk = (await import(\"algosdk\")).default;\n\n const initAlgodClient: InitAlgodClient = {\n algosdk,\n token: NODE_TOKEN,\n server: NODE_SERVER,\n port: NODE_PORT,\n };\n\n if (\n typeof window == \"undefined\" ||\n (window as WindowExtended).exodus === undefined\n ) {\n throw new Error(\"Exodus is not available.\");\n }\n\n const exodus = (window as WindowExtended).exodus.algorand as Exodus;\n\n const initWallet: InitWallet = {\n id: PROVIDER_ID.EXODUS,\n client: exodus,\n providers: providers,\n };\n\n return new ExodusClient(initAlgodClient, initWallet);\n }\n\n async connect() {\n const { address } = await this.#client.connect();\n\n if (!address) {\n throw new Error(`No accounts found for ${this.provider}`);\n }\n\n const accounts = [\n {\n name: `Exodus 1`,\n address,\n providerId: this.provider.id,\n },\n ];\n\n return {\n ...this.provider,\n accounts,\n };\n }\n\n async reconnect(onDisconnect: () => void) {\n if (\n window === undefined ||\n (window as WindowExtended).exodus === undefined ||\n (window as WindowExtended).exodus.algorand.isConnected !== true\n ) {\n onDisconnect();\n }\n\n return null;\n }\n\n async disconnect() {\n return;\n }\n\n async signTransactions(\n activeAdress: string,\n transactions: Array<Uint8Array>\n ) {\n // Decode the transactions to access their properties.\n const decodedTxns = transactions.map((txn) => {\n return this.algosdk.decodeObj(txn);\n }) as Array<DecodedTransaction | DecodedSignedTransaction>;\n\n // Get the unsigned transactions.\n const txnsToSign = decodedTxns.reduce<Uint8Array[]>((acc, txn, i) => {\n // If the transaction isn't already signed and is to be sent from a connected account,\n // add it to the arrays of transactions to be signed.\n if (\n !(\"txn\" in txn) &&\n this.algosdk.encodeAddress(txn[\"snd\"]) === activeAdress\n ) {\n acc.push(transactions[i]);\n }\n\n return acc;\n }, []);\n\n // Sign them with the client.\n const result = await this.#client.signTransaction(txnsToSign);\n\n // Join the newly signed transactions with the original group of transactions.\n const signedTxns = decodedTxns.reduce<Uint8Array[]>((acc, txn, i) => {\n if (!(\"txn\" in txn)) {\n const signedByUser = result.shift();\n signedByUser && acc.push(signedByUser);\n } else {\n acc.push(transactions[i]);\n }\n\n return acc;\n }, []);\n\n return signedTxns;\n }\n\n async signEncodedTransactions(transactions: TransactionsArray) {\n const transactionsToSign: Uint8Array[] = [];\n const signedRawTransactions: Uint8Array[] = [];\n\n for (const [type, txn] of transactions) {\n if (type === \"u\") {\n const decoded = this.algosdk.decodeUnsignedTransaction(\n Buffer.from(txn, \"base64\")\n );\n transactionsToSign.push(decoded.toByte());\n }\n }\n\n const result = await this.#client.signTransaction(transactionsToSign);\n\n if (!result) {\n throw new Error(\"Signing failed.\");\n }\n\n let resultIndex = 0;\n\n for (const [type, txn] of transactions) {\n if (type === \"u\") {\n signedRawTransactions.push(result[resultIndex]);\n resultIndex++;\n } else {\n signedRawTransactions.push(new Uint8Array(Buffer.from(txn, \"base64\")));\n }\n }\n\n return signedRawTransactions;\n }\n}\n\nexport default ExodusClient.init().catch((e) => {\n if (typeof window !== \"undefined\") {\n console.info(\"error initializing ExodusClient\", e);\n return;\n }\n});\n","import { PROVIDER_ID } from \"../constants\";\nimport peraWalletClient from \"./perawallet\";\nimport myAlgoWalletClient from \"./myalgowallet\";\nimport algoSignerClient from \"./algosigner\";\nimport deflyClient from \"./defly\";\nimport exodusClient from \"./exodus\";\n\nexport const clients = {\n [PROVIDER_ID.PERA_WALLET]: peraWalletClient,\n [PROVIDER_ID.MYALGO_WALLET]: myAlgoWalletClient,\n [PROVIDER_ID.ALGO_SIGNER]: algoSignerClient,\n [PROVIDER_ID.DEFLY]: deflyClient,\n [PROVIDER_ID.EXODUS]: exodusClient,\n};\n","import Big from \"big.js\";\nimport { PROVIDER_ID, WalletClient } from \"../types\";\nimport { clients } from \"../clients\";\n\nexport const getWalletClient = async (\n id: PROVIDER_ID | undefined\n): Promise<WalletClient> => {\n if (!id) {\n throw new Error(\"No wallet provider id provided\");\n }\n\n const client = await clients[id];\n\n if (!client) {\n throw new Error(`No wallet client found for provider id: ${id}`);\n }\n\n return client;\n};\n\nexport const formatPrice = (\n price: number,\n isAlgos?: boolean,\n options?: Intl.NumberFormatOptions | undefined\n) => {\n const algos = isAlgos ? price : convertMicroalgosToAlgos(price);\n return new Intl.NumberFormat(undefined, options).format(algos);\n};\n\n// Formula: amount / (10 ^ decimals)\nexport const convertMicroalgosToAlgos = (amount: number) => {\n const divisor = new Big(10).pow(6);\n return new Big(amount).div(divisor).round(6).toNumber();\n};\n","import { useMemo } from \"react\";\nimport { useWalletStore } from \"../store/index\";\nimport { PROVIDER_ID } from \"../types\";\nimport { getWalletClient } from \"../utils\";\n// import { TransactionsArray } from \"../types\";\n\nexport { PROVIDER_ID };\n\nexport default function useWallet() {\n const allAccounts = useWalletStore((state) => state.accounts);\n const activeAccount = useWalletStore((state) => state.activeAccount);\n\n const accounts = useMemo(\n () =>\n allAccounts.filter(\n (account) => account.providerId === activeAccount?.providerId\n ),\n [allAccounts, activeAccount]\n );\n\n const signTransactions = async (transactions: Array<Uint8Array>) => {\n const walletClient = await getWalletClient(activeAccount?.providerId);\n\n if (!walletClient || !activeAccount?.address) {\n throw new Error(\"No wallet found.\");\n }\n\n const signedTransactions = await walletClient.signTransactions(\n activeAccount.address,\n transactions\n );\n\n return signedTransactions;\n };\n\n const sendTransactions = async (transactions: Uint8Array[]) => {\n const walletClient = await getWalletClient(activeAccount?.providerId);\n\n const result = await walletClient?.sendRawTransactions(transactions);\n\n return result;\n };\n\n // const getAccountInfo = async () => {\n // if (!activeAccount) throw new Error(\"No selected account.\");\n\n // const walletClient = await getWalletClient(activeAccount.providerId);\n\n // const accountInfo = await walletClient?.getAccountInfo(\n // activeAccount.address\n // );\n\n // return accountInfo;\n // };\n\n // const getAddress = () => {\n // return activeAccount?.address;\n // };\n\n // const getAssets = async () => {\n // if (!activeAccount) throw new Error(\"No selected account.\");\n\n // const walletClient = await getWalletClient(activeAccount.providerId);\n\n // return await walletClient?.getAssets(activeAccount.address);\n // };\n\n // const groupTransactionsBySender = async (transactions: TransactionsArray) => {\n // const walletClient = await getWalletClient(activeAccount?.providerId);\n\n // return walletClient?.groupTransactionsBySender(transactions);\n // };\n\n // const signEncodedTransactions = async (transactions: TransactionsArray) => {\n // const walletClient = await getWalletClient(activeAccount?.providerId);\n\n // return await walletClient?.signEncodedTransactions(transactions);\n // };\n\n // const sendRawTransactions = async (transactions: Uint8Array[]) => {\n // const walletClient = await getWalletClient(activeAccount?.providerId);\n\n // return await walletClient?.sendRawTransactions(transactions);\n // };\n\n return {\n accounts,\n activeAccount,\n signTransactions,\n sendTransactions,\n // getAddress,\n // groupTransactionsBySender,\n // getAccountInfo,\n // getAssets,\n // signEncodedTransactions,\n // sendRawTransactions,\n };\n}\n","function shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n}\n\nexport { shallow as default };\n","import { useMemo } from \"react\";\nimport { useWalletStore, walletStoreSelector } from \"../store/index\";\nimport type { PROVIDER_ID, WalletClient } from \"../types\";\nimport { providers as walletProviders } from \"../providers\";\nimport shallow from \"zustand/shallow\";\nimport { getWalletClient } from \"../utils\";\n\nexport default function useConnectWallet() {\n const {\n accounts,\n setActiveAccount,\n activeAccount,\n clearActiveAccount,\n addAccounts,\n removeAccounts,\n } = useWalletStore(walletStoreSelector, shallow);\n\n const providers = useMemo(\n () =>\n Object.values(walletProviders).map(\n ({ id, name, icon, isWalletConnect }) => {\n return {\n id,\n name,\n icon,\n isActive: activeAccount?.providerId === id,\n isConnected: accounts.some(\n (accounts) => accounts.providerId === id\n ),\n isWalletConnect,\n connect: () => connect(id),\n disconnect: () => disconnect(id),\n reconnect: () => reconnect(id),\n setActive: () => setActive(id),\n };\n }\n ),\n [accounts, activeAccount]\n );\n\n const getAccountsByProvider = (id: PROVIDER_ID) => {\n return accounts.filter((account) => account.providerId === id);\n };\n\n const reconnectProviders = async () => {\n Object.values(providers).forEach(({ id, isActive, isConnected }) => {\n if (isActive || isConnected) {\n reconnect(id);\n }\n });\n };\n\n const disconnectWCSessions = async (id: PROVIDER_ID) => {\n if (!walletProviders[id].isWalletConnect) {\n return;\n }\n\n const wcSessions = Object.values(providers).filter(\n (p) => p.id !== id && p.isWalletConnect && (p.isConnected || p.isActive)\n );\n\n for (const session of wcSessions) {\n await disconnect(session.id);\n }\n };\n\n const connect = async (id: PROVIDER_ID) => {\n await disconnectWCSessions(id);\n\n const walletClient = await getWalletClient(id);\n const walletInfo = await walletClient.connect(() => disconnect(id));\n\n if (!walletInfo || !walletInfo.accounts.length) {\n throw new Error(\"Failed to connect \" + id);\n }\n\n setActiveAccount(walletInfo.accounts[0]);\n addAccounts(walletInfo.accounts);\n };\n\n const setActive = async (id: PROVIDER_ID) => {\n await disconnectWCSessions(id);\n const accounts = getAccountsByProvider(id);\n setActiveAccount(accounts[0]);\n };\n\n const reconnect = async (id: PROVIDER_ID) => {\n const walletClient = await getWalletClient(id);\n const walletInfo = await walletClient?.reconnect(() => disconnect(id));\n\n if (walletInfo && walletInfo.accounts.length) {\n addAccounts(walletInfo.accounts);\n }\n };\n\n const disconnect = async (id: PROVIDER_ID) => {\n const walletClient = await getWalletClient(id);\n\n walletClient?.disconnect();\n clearActiveAccount(id);\n removeAccounts(id);\n };\n\n return {\n providers,\n activeAccount,\n accounts,\n connect,\n reconnect,\n disconnect,\n setActive,\n reconnectProviders,\n };\n}\n"],"names":["P","fn","produce","useEffect","useLayoutEffect","useReducer","useRef","useDebugValue","PROVIDER_ID","icon","undefined","this","_interopDefault","require$$0","require$$1","isIOS","useMemo","providers","walletProviders"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,OAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,kDAAkD,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAA2C,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAkC,SAAS,CAAC,EAAE,CAAC,OAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,SAASA,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAA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AAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,O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"}