@eluvio/elv-client-js 3.1.91 → 3.1.94

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.
@@ -11,7 +11,7 @@ var n=r(16),i=r(17),o=r(18);function a(){return u.TYPED_ARRAY_SUPPORT?2147483647
11
11
  * URI.js - Mutating URLs
12
12
  * IPv6 Support
13
13
  *
14
- * Version: 1.19.7
14
+ * Version: 1.19.10
15
15
  *
16
16
  * Author: Rodney Rehm
17
17
  * Web: http://medialize.github.io/URI.js/
@@ -24,7 +24,7 @@ var n=r(16),i=r(17),o=r(18);function a(){return u.TYPED_ARRAY_SUPPORT?2147483647
24
24
  * URI.js - Mutating URLs
25
25
  * Second Level Domain (SLD) Support
26
26
  *
27
- * Version: 1.19.7
27
+ * Version: 1.19.10
28
28
  *
29
29
  * Author: Rodney Rehm
30
30
  * Web: http://medialize.github.io/URI.js/
@@ -32,11 +32,11 @@ var n=r(16),i=r(17),o=r(18);function a(){return u.TYPED_ARRAY_SUPPORT?2147483647
32
32
  * Licensed under
33
33
  * MIT License http://www.opensource.org/licenses/mit-license
34
34
  *
35
- */!function(a,s){"use strict";"object"===o(e)&&e.exports?e.exports=s():void 0===(i="function"==typeof(n=s)?n.call(t,r,t,e):n)||(e.exports=i)}(0,(function(e){"use strict";var t=e&&e.SecondLevelDomains,r={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return!1;var n=e.lastIndexOf(".",t-1);if(n<=0||n>=t-1)return!1;var i=r.list[e.slice(t+1)];return!!i&&i.indexOf(" "+e.slice(n+1,t)+" ")>=0},is:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return!1;if(e.lastIndexOf(".",t-1)>=0)return!1;var n=r.list[e.slice(t+1)];return!!n&&n.indexOf(" "+e.slice(0,t)+" ")>=0},get:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return null;var n=e.lastIndexOf(".",t-1);if(n<=0||n>=t-1)return null;var i=r.list[e.slice(t+1)];return i?i.indexOf(" "+e.slice(n+1,t)+" ")<0?null:e.slice(n+1):null},noConflict:function(){return e.SecondLevelDomains===this&&(e.SecondLevelDomains=t),this}};return r}))}).call(this,r(0)(e))},function(e,t,r){var n=r(3),i=r(4),o=r(11),a=r(12);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var c=r(13),l=r(14),f=l.ValidatePresence,h=l.ValidatePermission,d=function(){"use strict";function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{offline:!1};o(this,e),this.client=t,this.subjectNames={},this.drafts={},this.offline=r.offline}return a(e,[{key:"FormatDate",value:function(e){if(e){if(isNaN(new Date(e)))throw Error("Invalid start time: ".concat(e));return new Date(e).toISOString()}}},{key:"FormatProfile",value:function(e){var t=this;h(e.default_permission);var r={};return e.start&&(r.start=this.FormatDate(e.start)),e.end&&(r.end=this.FormatDate(e.end)),["assets","offerings"].forEach((function(n){var i=e[n]||{};r[n]={default_permission:i.default_permission||i.default_permissions||"no-access"},i.custom_permissions&&(r[n].custom_permissions={},Object.keys(i.custom_permissions).forEach((function(e){var o=i.custom_permissions[e],a={permission:h(o.permission)};o.start&&(a.start=t.FormatDate(o.start)),o.end&&(a.end=t.FormatDate(o.end)),r[n].custom_permissions[e]=u({},o,{},a)})))})),r}},{key:"FormatPermission",value:function(e){var t,r,i,o,a,s,u,l,f,h,d,p;return n.async((function(m){for(;;)switch(m.prev=m.next){case 0:t=e.policyId,r=e.policyWriteToken,i=e.permission,o=i.subject.type.startsWith("oauth")?"oauth":"fabric",m.t0=i.subject.type,m.next="otp"===m.t0?5:"otp_subject"===m.t0?8:"group"===m.t0?13:"oauth_group"===m.t0?13:"user"===m.t0?16:"oauth_user"===m.t0?16:19;break;case 5:return a="ntp",s=i.subject.id,m.abrupt("break",20);case 8:return a="ntp_subject",s=i.subject.id,u=s,l=i.subject.otp_id,m.abrupt("break",20);case 13:return a="group",s="oauth"===o?i.subject.oauth_id:this.client.utils.HashToAddress(i.subject.id),m.abrupt("break",20);case 16:return a="user",s="oauth"===o?i.subject.oauth_id:this.client.utils.HashToAddress(i.subject.id),m.abrupt("break",20);case 19:throw Error("Unknown subject type: "+i.subject.type);case 20:if(f=i.subject.oauth_id||i.subject.id,h=this.subjectNames[f],u=u||h||i.subject.id,h||"fabric"!==o){m.next=78;break}if("group"!==a){m.next=36;break}return m.next=27,n.awrap(this.client.ContentSpaceId());case 27:return d=m.sent.replace("ispc","ilib"),m.next=30,n.awrap(this.client.ContentObjectMetadata({libraryId:d,objectId:this.client.utils.AddressToObjectId(s),metadataSubtree:c("public","name")}));case 30:if(m.t1=m.sent,m.t1){m.next=33;break}m.t1=s;case 33:u=m.t1,m.next=78;break;case 36:if("user"!==a){m.next=58;break}return m.t4=n,m.t5=this.client,m.next=41,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 41:return m.t6=m.sent,m.t7=t,m.t8=r,m.t9=c("auth_policy_settings","fabric_users",s),m.t10={libraryId:m.t6,objectId:m.t7,writeToken:m.t8,metadataSubtree:m.t9},m.t11=m.t5.ContentObjectMetadata.call(m.t5,m.t10),m.next=49,m.t4.awrap.call(m.t4,m.t11);case 49:if(m.t3=m.sent,m.t3){m.next=52;break}m.t3={};case 52:if(m.t2=m.t3.name,m.t2){m.next=55;break}m.t2=s;case 55:u=m.t2,m.next=78;break;case 58:if("ntp"!==a){m.next=78;break}return m.t14=n,m.t15=this.client,m.next=63,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 63:return m.t16=m.sent,m.t17=t,m.t18=r,m.t19=c("auth_policy_settings","ntp_instances",s),m.t20={libraryId:m.t16,objectId:m.t17,writeToken:m.t18,metadataSubtree:m.t19},m.t21=m.t15.ContentObjectMetadata.call(m.t15,m.t20),m.next=71,m.t14.awrap.call(m.t14,m.t21);case 71:if(m.t13=m.sent,m.t13){m.next=74;break}m.t13={};case 74:if(m.t12=m.t13.name,m.t12){m.next=77;break}m.t12=s;case 77:u=m.t12;case 78:return this.subjectNames[f]=u,p={profileName:i.profile,subjectSource:o,subjectType:a,subjectId:s,subjectName:u},l&&(p.subjectNTPId=l),i.start&&(p.start=i.start),i.end&&(p.end=i.end),m.abrupt("return",p);case 84:case"end":return m.stop()}}),null,this)}},{key:"OpenOfflineDraft",value:function(e){var t,r,i,o;return n.async((function(a){for(;;)switch(a.prev=a.next){case 0:if(t=e.policyId,r=e.policyLibraryId,i=e.policyWriteToken,null!=r){a.next=5;break}return a.next=4,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 4:r=a.sent;case 5:return a.next=7,n.awrap(this.client.ContentObjectMetadata({libraryId:r,objectId:t,writeToken:i}));case 7:o=a.sent,this.drafts[t]={meta:o,policyLibraryId:r,policyWriteToken:i};case 9:case"end":return a.stop()}}),null,this)}},{key:"CloseOfflineDraft",value:function(e){var t;return n.async((function(r){for(;;)switch(r.prev=r.next){case 0:if(t=e.policyId,null!=this.drafts[t]){r.next=3;break}throw Error("No draft open for policyId: "+t);case 3:return r.next=5,n.awrap(this.client.ReplaceMetadata({libraryId:this.drafts[t].policyLibraryId,objectId:t,writeToken:this.drafts[t].policyWriteToken,metadata:this.drafts[t].meta}));case 5:this.drafts[t]=null;case 6:case"end":return r.stop()}}),null,this)}},{key:"PolicyItems",value:function(e){var t,r;return n.async((function(i){for(;;)switch(i.prev=i.next){case 0:return t=e.policyId,r=e.policyWriteToken,i.t1=n,i.t2=this.client,i.next=5,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 5:return i.t3=i.sent,i.t4=t,i.t5=r,i.t6=["*/display_title"],i.t7={libraryId:i.t3,objectId:i.t4,writeToken:i.t5,metadataSubtree:"auth_policy_spec",select:i.t6},i.t8=i.t2.ContentObjectMetadata.call(i.t2,i.t7),i.next=13,i.t1.awrap.call(i.t1,i.t8);case 13:if(i.t0=i.sent,i.t0){i.next=16;break}i.t0={};case 16:return i.abrupt("return",i.t0);case 17:case"end":return i.stop()}}),null,this)}},{key:"ItemPolicy",value:function(e){var t,r,i,o,a;return n.async((function(s){for(;;)switch(s.prev=s.next){case 0:return t=e.policyId,r=e.policyWriteToken,i=e.itemId,s.next=3,n.awrap(this.ItemProfiles({policyId:t,policyWriteToken:r,itemId:i}));case 3:return o=s.sent,s.next=6,n.awrap(this.ItemPermissions({policyId:t,policyWriteToken:r,itemId:i}));case 6:if(a=s.sent,o&&a){s.next=9;break}return s.abrupt("return");case 9:return s.abrupt("return",{profiles:o,permissions:a});case 10:case"end":return s.stop()}}),null,this)}},{key:"CreateItemPolicy",value:function(e){var t,r,i,o,a,s,u,l,h,d=this;return n.async((function(p){for(;;)switch(p.prev=p.next){case 0:return t=e.policyId,r=e.policyWriteToken,i=e.itemId,o=e.profiles,a=void 0===o?{}:o,f("policyId",t),f("policyWriteToken",r),f("itemId",i),f("profiles",a),p.t1=n,p.t2=this.client,p.next=9,n.awrap(this.client.ContentObjectLibraryId({objectId:i}));case 9:return p.t3=p.sent,p.t4=i,p.t5=["public/name","public/asset_metadata/title","public/asset_metadata/display_title"],p.t6={libraryId:p.t3,objectId:p.t4,select:p.t5},p.t7=p.t2.ContentObjectMetadata.call(p.t2,p.t6),p.next=16,p.t1.awrap.call(p.t1,p.t7);case 16:if(p.t0=p.sent,p.t0){p.next=19;break}p.t0={};case 19:return s=p.t0,u=(s.public||{}).asset_metadata||{},l=u.display_title||u.title||(s.public||{}).name,h={display_title:l,permissions:[],profiles:{}},Object.keys(a).forEach((function(e){h.profiles[e]=d.FormatProfile(a[e])})),p.t8=n,p.t9=this.client,p.next=28,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 28:return p.t10=p.sent,p.t11=t,p.t12=r,p.t13=c("auth_policy_spec",i),p.t14=h,p.t15={libraryId:p.t10,objectId:p.t11,writeToken:p.t12,metadataSubtree:p.t13,metadata:p.t14},p.t16=p.t9.ReplaceMetadata.call(p.t9,p.t15),p.next=37,p.t8.awrap.call(p.t8,p.t16);case 37:case"end":return p.stop()}}),null,this)}},{key:"RemoveItemPolicy",value:function(e){var t,r,i;return n.async((function(o){for(;;)switch(o.prev=o.next){case 0:return t=e.policyId,r=e.policyWriteToken,i=e.itemId,f("policyId",t),f("policyWriteToken",r),f("itemId",i),o.t0=n,o.t1=this.client,o.next=8,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 8:return o.t2=o.sent,o.t3=t,o.t4=r,o.t5=c("auth_policy_spec",i),o.t6={libraryId:o.t2,objectId:o.t3,writeToken:o.t4,metadataSubtree:o.t5},o.t7=o.t1.DeleteMetadata.call(o.t1,o.t6),o.next=16,o.t0.awrap.call(o.t0,o.t7);case 16:case"end":return o.stop()}}),null,this)}},{key:"ItemProfiles",value:function(e){var t,r,i,o;return n.async((function(a){for(;;)switch(a.prev=a.next){case 0:return t=e.policyId,r=e.policyWriteToken,i=e.itemId,o=e.profileName,a.t0=n,a.t1=this.client,a.next=5,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 5:return a.t2=a.sent,a.t3=t,a.t4=r,a.t5=c("auth_policy_spec",i,"profiles",o||""),a.t6={libraryId:a.t2,objectId:a.t3,writeToken:a.t4,metadataSubtree:a.t5},a.t7=a.t1.ContentObjectMetadata.call(a.t1,a.t6),a.next=13,a.t0.awrap.call(a.t0,a.t7);case 13:return a.abrupt("return",a.sent);case 14:case"end":return a.stop()}}),null,this)}},{key:"SetProfile",value:function(e){var t,r,i,o,a;return n.async((function(s){for(;;)switch(s.prev=s.next){case 0:return t=e.policyId,r=e.policyWriteToken,i=e.itemId,o=e.profileName,a=e.profileSpec,f("policyId",t),f("policyWriteToken",r),f("itemId",i),f("profileName",o),f("profileSpec",a),s.t0=n,s.t1=this.client,s.next=10,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 10:return s.t2=s.sent,s.t3=t,s.t4=r,s.t5=c("auth_policy_spec",i,"profiles",o),s.t6=this.FormatProfile(a),s.t7={libraryId:s.t2,objectId:s.t3,writeToken:s.t4,metadataSubtree:s.t5,metadata:s.t6},s.t8=s.t1.ReplaceMetadata.call(s.t1,s.t7),s.next=19,s.t0.awrap.call(s.t0,s.t8);case 19:case"end":return s.stop()}}),null,this)}},{key:"RemoveProfile",value:function(e){var t,r,i,o;return n.async((function(a){for(;;)switch(a.prev=a.next){case 0:return t=e.policyId,r=e.policyWriteToken,i=e.itemId,o=e.profileName,f("policyId",t),f("policyWriteToken",r),f("itemId",i),f("profileName",o),a.t0=n,a.t1=this.client,a.next=9,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 9:return a.t2=a.sent,a.t3=t,a.t4=r,a.t5=c("auth_policy_spec",i,"profiles",o),a.t6={libraryId:a.t2,objectId:a.t3,writeToken:a.t4,metadataSubtree:a.t5},a.t7=a.t1.DeleteMetadata.call(a.t1,a.t6),a.next=17,a.t0.awrap.call(a.t0,a.t7);case 17:case"end":return a.stop()}}),null,this)}},{key:"ItemPermissions",value:function(e){var t,r,i,o,a,s=this;return n.async((function(u){for(;;)switch(u.prev=u.next){case 0:return t=e.policyId,r=e.policyWriteToken,i=e.itemId,u.next=3,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 3:return o=u.sent,u.next=6,n.awrap(this.client.ContentObjectMetadata({libraryId:o,objectId:t,writeToken:r,metadataSubtree:c("auth_policy_spec",i,"permissions")}));case 6:if(u.t0=u.sent,u.t0){u.next=9;break}u.t0=[];case 9:return a=u.t0,u.next=12,n.awrap(Promise.all(a.map((function(e){return n.async((function(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,n.awrap(s.FormatPermission({policyId:t,policyWriteToken:r,permission:e}));case 2:return i.abrupt("return",i.sent);case 3:case"end":return i.stop()}}))}))));case 12:return u.abrupt("return",u.sent);case 13:case"end":return u.stop()}}),null,this)}},{key:"SetPermission",value:function(e){var t,r,i,o,a,s,u,l,h,d,p,m,g,y,v,b,w,_,A,E,k;return n.async((function(x){for(;;)switch(x.prev=x.next){case 0:if(t=e.policyId,r=e.policyWriteToken,i=e.itemId,o=e.subjectSource,a=void 0===o?"fabric":o,s=e.subjectType,u=void 0===s?"group":s,l=e.subjectName,h=e.subjectId,d=e.subjectNTPId,p=e.profileName,m=e.start,g=e.end,f("policyId",t),f("policyWriteToken",r),f("itemId",i),f("subjectType",u),f("subjectSource",a),f("subjectId",h),f("profileName",p),m=this.FormatDate(m),g=this.FormatDate(g),y=this.offline&&null!=this.drafts[t],v=null,y){x.next=16;break}return x.next=15,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 15:v=x.sent;case 16:if("fabric"===a&&("group"===u?h.startsWith("igrp")||(h="igrp".concat(this.client.utils.AddressToHash(h))):"user"===u&&(h.startsWith("iusr")||(h="iusr".concat(this.client.utils.AddressToHash(h))))),!y){x.next=21;break}b=this.drafts[t].meta.auth_policy_spec[i],x.next=24;break;case 21:return x.next=23,n.awrap(this.client.ContentObjectMetadata({libraryId:v,objectId:t,writeToken:r,metadataSubtree:c("auth_policy_spec",i)}));case 23:b=x.sent;case 24:if(b){x.next=26;break}throw Error("Unable to add permissions to uninitialized item");case 26:if(b.profiles[p]){x.next=28;break}throw Error("Profile '".concat(p,"' does not exist"));case 28:if((w=b.permissions.findIndex((function(e){return"fabric"===a?e.subject.id===h:e.subject.oauth_id===h})))<0&&(w=b.permissions.length),_={profile:p},m&&(_.start=m),g&&(_.end=g),"fabric"!==a){x.next=53;break}if("group"!==u){x.next=38;break}A={id:h,type:"group"},x.next=51;break;case 38:if("user"!==u){x.next=42;break}A={id:h,type:"user"},x.next=51;break;case 42:if("ntp"!==u){x.next=46;break}A={id:h,type:"otp"},x.next=51;break;case 46:if("ntp_subject"!==u){x.next=50;break}A={id:h,otp_id:d,type:"otp_subject"},x.next=51;break;case 50:throw Error("Invalid subject type: ".concat(u));case 51:x.next=66;break;case 53:if("oauth"!==a){x.next=65;break}if("group"!==u){x.next=58;break}A={id:l,oauth_id:h,type:"oauth_group"},x.next=63;break;case 58:if("user"!==u){x.next=62;break}A={id:l,oauth_id:h,type:"oauth_user"},x.next=63;break;case 62:throw Error("Invalid subject type: ".concat(u));case 63:x.next=66;break;case 65:throw Error("Invalid subject source: ".concat(a));case 66:if(_.subject=A,b.permissions[w]=_,y){x.next=71;break}return x.next=71,n.awrap(this.client.ReplaceMetadata({libraryId:v,objectId:t,writeToken:r,metadataSubtree:c("auth_policy_spec",i,"permissions"),metadata:b.permissions}));case 71:if("fabric"!==a||"user"!==u){x.next=85;break}if(E={address:this.client.utils.HashToAddress(h),name:l},!y){x.next=77;break}this.drafts[t].meta.auth_policy_settings.fabric_users[this.client.utils.HashToAddress(h)]=E,x.next=83;break;case 77:return x.next=79,n.awrap(this.client.ContentObjectMetadata({libraryId:v,objectId:t,writeToken:r,metadataSubtree:c("auth_policy_settings","fabric_users",this.client.utils.HashToAddress(h))}));case 79:if(x.sent){x.next=83;break}return x.next=83,n.awrap(this.client.ReplaceMetadata({libraryId:v,objectId:t,writeToken:r,metadataSubtree:c("auth_policy_settings","fabric_users",this.client.utils.HashToAddress(h)),metadata:E}));case 83:x.next=97;break;case 85:if("fabric"!==a||"ntp"!==u){x.next=97;break}if(k={address:h,ntpId:h,name:l,type:"ntpInstance"},!y){x.next=91;break}this.drafts[t].meta.auth_policy_settings.ntp_instances[h]=k,x.next=97;break;case 91:return x.next=93,n.awrap(this.client.ContentObjectMetadata({libraryId:v,objectId:t,writeToken:r,metadataSubtree:c("auth_policy_settings","ntp_instances",h)}));case 93:if(x.sent){x.next=97;break}return x.next=97,n.awrap(this.client.ReplaceMetadata({libraryId:v,objectId:t,writeToken:r,metadataSubtree:c("auth_policy_settings","ntp_instances",h),metadata:k}));case 97:case"end":return x.stop()}}),null,this)}},{key:"RemovePermission",value:function(e){var t,r,i,o,a,s,u,l=this;return n.async((function(h){for(;;)switch(h.prev=h.next){case 0:return t=e.policyId,r=e.policyWriteToken,i=e.itemId,o=e.subjectId,f("policyId",t),f("policyWriteToken",r),f("itemId",i),f("subjectId",o),h.next=7,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 7:return a=h.sent,h.next=10,n.awrap(this.client.ContentObjectMetadata({libraryId:a,objectId:t,writeToken:r,metadataSubtree:c("auth_policy_spec",i,"permissions")}));case 10:if(s=h.sent){h.next=13;break}return h.abrupt("return");case 13:if(!o.startsWith("0x")){h.next=23;break}return u=this.client.utils.AddressToObjectId(o),h.next=17,n.awrap(this.client.AccessType({id:u}));case 17:if(h.t0=h.sent,"group"!==h.t0){h.next=22;break}o="igrp".concat(this.client.utils.AddressToHash(o)),h.next=23;break;case 22:o="iusr".concat(this.client.utils.AddressToHash(o));case 23:return h.next=25,n.awrap(Promise.all(s.map((function(e,s){return n.async((function(u){for(;;)switch(u.prev=u.next){case 0:if(e.subject.id!==o&&e.subject.oauth_id!==o){u.next=3;break}return u.next=3,n.awrap(l.client.DeleteMetadata({libraryId:a,objectId:t,writeToken:r,metadataSubtree:c("auth_policy_spec",i,"permissions",s.toString())}));case 3:case"end":return u.stop()}}))}))));case 25:case"end":return h.stop()}}),null,this)}},{key:"SubjectPermissions",value:function(e){var t,r,i,o,a,s,l,h,d,p,m,g,y=this;return n.async((function(v){for(;;)switch(v.prev=v.next){case 0:if(t=e.policyId,r=e.policyWriteToken,i=e.subjectId,f("policyId",t),f("subjectId",i),!i.startsWith("0x")){v.next=13;break}return o=this.client.utils.AddressToObjectId(i),v.next=7,n.awrap(this.client.AccessType({id:o}));case 7:if(v.t0=v.sent,"group"!==v.t0){v.next=12;break}i="igrp".concat(this.client.utils.AddressToHash(i)),v.next=13;break;case 12:i="iusr".concat(this.client.utils.AddressToHash(i));case 13:return v.next=15,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 15:return a=v.sent,v.next=18,n.awrap(this.client.ContentObjectMetadata({libraryId:a,objectId:t,writeToken:r,metadataSubtree:c("auth_policy_spec")}));case 18:s=v.sent,l={},h=0,d=Object.keys(s);case 21:if(!(h<d.length)){v.next=31;break}return p=d[h],m=s[p].permissions||[],v.next=26,n.awrap(Promise.all(m.filter((function(e){return(e.subject||{}).oauth_id===i||(e.subject||{}).id===i})).map((function(e){return n.async((function(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,n.awrap(y.FormatPermission({policyId:t,policyWriteToken:r,permission:e}));case 2:return i.abrupt("return",i.sent);case 3:case"end":return i.stop()}}))}))));case 26:(g=v.sent).length>0&&(l[p]=u({},s[p],{permissions:g}));case 28:h++,v.next=21;break;case 31:return v.abrupt("return",l);case 32:case"end":return v.stop()}}),null,this)}},{key:"RemoveSubjectPermissions",value:function(e){var t,r,i,o,a=this;return n.async((function(s){for(;;)switch(s.prev=s.next){case 0:return t=e.policyId,r=e.policyWriteToken,i=e.subjectId,f("policyId",t),f("policyWriteToken",r),f("subjectId",i),s.next=6,n.awrap(this.SubjectPermissions({policyId:t,policyWriteToken:r,subjectId:i}));case 6:return o=s.sent,s.next=9,n.awrap(this.client.utils.LimitedMap(5,Object.keys(o),(function(e){return n.async((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,n.awrap(a.RemovePermission({policyId:t,policyWriteToken:r,subjectId:i,itemId:e}));case 2:case"end":return o.stop()}}))})));case 9:case"end":return s.stop()}}),null,this)}}]),e}();e.exports=d},function(e,t,r){(function(e){function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var r=function(e){"use strict";var r=Object.prototype,n=r.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function u(e,t,r,n){var i=t&&t.prototype instanceof f?t:f,o=Object.create(i.prototype),a=new E(n||[]);return o._invoke=function(e,t,r){var n="suspendedStart";return function(i,o){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===i)throw o;return x()}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var s=w(a,r);if(s){if(s===l)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=c(e,t,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===l)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}(e,r,a),o}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var l={};function f(){}function h(){}function d(){}var p={};p[o]=function(){return this};var m=Object.getPrototypeOf,g=m&&m(m(k([])));g&&g!==r&&n.call(g,o)&&(p=g);var y=d.prototype=f.prototype=Object.create(p);function v(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function b(e){var r;this._invoke=function(i,o){function a(){return new Promise((function(r,a){!function r(i,o,a,s){var u=c(e[i],e,o);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"===t(f)&&n.call(f,"__await")?Promise.resolve(f.__await).then((function(e){r("next",e,a,s)}),(function(e){r("throw",e,a,s)})):Promise.resolve(f).then((function(e){l.value=e,a(l)}),(function(e){return r("throw",e,a,s)}))}s(u.arg)}(i,o,r,a)}))}return r=r?r.then(a,a):a()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return l;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,l;var i=n.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,l):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,l)}function _(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function A(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function E(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(_,this),this.reset(!0)}function k(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function t(){for(;++r<e.length;)if(n.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return h.prototype=y.constructor=d,d.constructor=h,d[s]=h.displayName="GeneratorFunction",e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===h||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,s in e||(e[s]="GeneratorFunction")),e.prototype=Object.create(y),e},e.awrap=function(e){return{__await:e}},v(b.prototype),b.prototype[a]=function(){return this},e.AsyncIterator=b,e.async=function(t,r,n,i){var o=new b(u(t,r,n,i));return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},v(y),y[s]="Generator",y[o]=function(){return this},y.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=k,E.prototype={constructor:E,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(A),!e)for(var t in this)"t"===t.charAt(0)&&n.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(r,n){return a.type="throw",a.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var s=n.call(o,"catchLoc"),u=n.call(o,"finallyLoc");if(s&&u){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,l):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),l},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),A(r),l}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;A(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:k(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),l}},e}("object"===t(e)?e.exports:{});try{regeneratorRuntime=r}catch(e){Function("r","regeneratorRuntime = r")(r)}}).call(this,r(0)(e))},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function r(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}},function(e,t,r){var n,i,o;function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}o=function(){function e(e){var t=[];if(0===e.length)return"";if("string"!=typeof e[0])throw new TypeError("Url must be a string. Received "+e[0]);if(e[0].match(/^[^/:]+:\/*$/)&&e.length>1){var r=e.shift();e[0]=r+e[0]}e[0].match(/^file:\/\/\//)?e[0]=e[0].replace(/^([^/:]+):\/*/,"$1:///"):e[0]=e[0].replace(/^([^/:]+):\/*/,"$1://");for(var n=0;n<e.length;n++){var i=e[n];if("string"!=typeof i)throw new TypeError("Url must be a string. Received "+i);""!==i&&(n>0&&(i=i.replace(/^[\/]+/,"")),i=n<e.length-1?i.replace(/[\/]+$/,""):i.replace(/[\/]+$/,"/"),t.push(i))}var o=t.join("/"),a=(o=o.replace(/\/(\?|&|#[^!])/g,"$1")).split("?");return o=a.shift()+(a.length>0?"?":"")+a.join("&")}return function(){return e("object"===a(arguments[0])?arguments[0]:[].slice.call(arguments))}},e.exports?e.exports=o():void 0===(i="function"==typeof(n=o)?n.call(t,r,t,e):n)||(e.exports=i)},function(e,t,r){var n=r(15);t.ValidatePresence=function(e,t){if(!t)throw Error("".concat(e," not specified"))},t.ValidateLibrary=function(e){if(!e)throw Error("Library ID not specified");if(!e.toString().startsWith("i"))throw Error("Invalid library ID: ".concat(e))},t.ValidateObject=function(e){if(!e)throw Error("Object ID not specified");if(!e.toString().startsWith("i"))throw Error("Invalid object ID: ".concat(e))},t.ValidateVersion=function(e){if(!e)throw Error("Version hash not specified");if(!e.toString().startsWith("h"))throw Error("Invalid version hash: ".concat(e))},t.ValidateWriteToken=function(e){if(!e)throw Error("Write token not specified");if(!e.toString().startsWith("t"))throw Error("Invalid write token: ".concat(e))},t.ValidatePartHash=function(e){if(!e)throw Error("Part hash not specified");if(!e.toString().startsWith("hqp_")&&!e.toString().startsWith("hqpe"))throw Error("Invalid part hash: ".concat(e))},t.ValidateParameters=function(e){var r=e.libraryId,n=e.objectId,i=e.versionHash;i?t.ValidateVersion(i):(t.ValidateLibrary(r),t.ValidateObject(n))},t.ValidateAddress=function(e){if(!e)throw Error("Address not specified");if(!/^(0x)?[0-9a-f]{40}$/i.test(e.toLowerCase()))throw Error("Invalid address: ".concat(e));return n.FormatAddress(e)},t.ValidatePermission=function(e){if(e&&"full-access"!==e&&"no-access"!==e)throw Error("Invalid profile permission: ".concat(e));return e},t.ValidateDate=function(e){if(e){if(isNaN(new Date(e)))throw Error("Invalid date: ".concat(e));return new Date(e).getTime()}}},function(e,t,r){(function(t,n){var i=r(20),o=r(3),a=r(4),s=r(24);function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}void 0===t&&(t=r(1).Buffer);var c=r(28),l=r(31).default,f=r(32),h=r(36),d=r(37).utils.keccak256,p={name:"Utils",nullAddress:"0x0000000000000000000000000000000000000000",weiPerEther:new l("1000000000000000000"),ToBigNumber:function(e){return new l(e)},WeiToEther:function(e){return p.ToBigNumber(e).div(p.weiPerEther)},EtherToWei:function(e){return p.ToBigNumber(e).times(p.weiPerEther)},FormatAddress:function(e){return e&&"string"==typeof e?((e=e.trim()).startsWith("0x")||(e="0x"+e),e.toLowerCase()):""},FormatSignature:function(e){return e=e.replace("0x",""),"ES256K_"+c.encode(t.from(e,"hex"))},DecodeVersionHash:function(e){if(!e.startsWith("hq__")&&!e.startsWith("tq__"))throw new Error('Invalid version hash: "'.concat(e,'"'));e=e.slice(4);var r=p.FromB58(e),n=r.slice(0,32),i=n.toString("hex");r=r.slice(32);for(var o=0;r[o]>=128;)o++;o++;var a=r.slice(0,o),s=f.decode(a);return r=r.slice(o),{digest:i,size:s,objectId:"iq__"+p.B58(r),partHash:"hqp_"+p.B58(t.concat([n,a]))}},AddressToHash:function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e=e.replace(r?"0x04":"0x",""),c.encode(t.from(e,"hex"))},AddressToSpaceId:function(e){return"ispc"+p.AddressToHash(e)},AddressToLibraryId:function(e){return"ilib"+p.AddressToHash(e)},AddressToObjectId:function(e){return"iq__"+p.AddressToHash(e)},HashToAddress:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e=t?e:e.substr(4),p.FormatAddress((t?"0x04":"0x")+c.decode(e).toString("hex"))},EqualAddress:function(e,t){return!(!e||!t)&&p.FormatAddress(e)===p.FormatAddress(t)},EqualHash:function(e,t){return!(!e||!t)&&(!(e.length<=4||t.length<=4)&&p.HashToAddress(e)===p.HashToAddress(t))},ToBytes32:function(e){return"0x"+e.split("").map((function(e){return e.charCodeAt(0).toString(16)})).join("").slice(0,64).padEnd(64,"0")},BufferToArrayBuffer:function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)},B64:function(e){return t.from(e,"utf-8").toString("base64")},FromB64:function(e){return t.from(e,"base64").toString("utf-8")},B58:function(e){return c.encode(t.from(e))},FromB58:function(e){return c.decode(e)},DecodeAuthorizationToken:function(e){var t=(e=decodeURIComponent(e)).split("."),r=s(t,2),n=r[0],i=r[1];return function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},n=JSON.parse(p.FromB64(n)),{signature:i})},LimitedMap:function(e,t,r){var n,a,s,u,c;return o.async((function(l){for(;;)switch(l.prev=l.next){case 0:return n=0,a=!1,s=function(){var e;return o.async((function(t){for(;;)switch(t.prev=t.next){case 0:if(!a){t.next=5;break}return t.next=3,o.awrap(new Promise((function(e){return setTimeout(e,10)})));case 3:t.next=0;break;case 5:return a=!0,e=n,n+=1,a=!1,t.abrupt("return",e);case 10:case"end":return t.stop()}}))},u=[],c=0,l.abrupt("return",new Promise((function(n,a){i(Array(e||1)).forEach((function(){var e;return o.async((function(i){for(;;)switch(i.prev=i.next){case 0:return c+=1,i.next=3,o.awrap(s());case 3:e=i.sent;case 4:if(!(e<t.length)){i.next=19;break}return i.prev=5,i.next=8,o.awrap(r(t[e],e));case 8:u[e]=i.sent,i.next=14;break;case 11:i.prev=11,i.t0=i.catch(5),a(i.t0);case 14:return i.next=16,o.awrap(s());case 16:e=i.sent,i.next=4;break;case 19:0===(c-=1)&&n(u);case 21:case"end":return i.stop()}}),null,null,[[5,11]])}))})));case 6:case"end":return l.stop()}}))},ResponseToJson:function(e){return o.async((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",p.ResponseToFormat("json",e));case 1:case"end":return t.stop()}}))},ResponseToFormat:function(e,t){return o.async((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,o.awrap(t);case 2:t=r.sent,r.t0=e.toLowerCase(),r.next="json"===r.t0?6:"text"===r.t0?9:"blob"===r.t0?12:"arraybuffer"===r.t0?15:"formdata"===r.t0?18:"buffer"===r.t0?21:24;break;case 6:return r.next=8,o.awrap(t.json());case 8:return r.abrupt("return",r.sent);case 9:return r.next=11,o.awrap(t.text());case 11:return r.abrupt("return",r.sent);case 12:return r.next=14,o.awrap(t.blob());case 14:return r.abrupt("return",r.sent);case 15:return r.next=17,o.awrap(t.arrayBuffer());case 17:return r.abrupt("return",r.sent);case 18:return r.next=20,o.awrap(t.formData());case 20:return r.abrupt("return",r.sent);case 21:return r.next=23,o.awrap(t.buffer());case 23:return r.abrupt("return",r.sent);case 24:return r.abrupt("return",t);case 25:case"end":return r.stop()}}))},ResizeImage:function(e){var t=e.imageUrl,r=e.height;return!t||t&&!t.startsWith("http")?t:(t=h(t).removeSearch("height").removeSearch("header-x_image_height"),r&&!isNaN(parseInt(r))&&t.addSearch("height",parseInt(r)),t.toString())},SafeTraverse:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];if(!e)return e;1===r.length&&Array.isArray(r[0])&&(r=r[0]);for(var i=e,o=0;o<r.length;o++)if(void 0===(i=i[r[o]]))return;return i},IsCloneable:function(e){if(Object(e)!==e)return!0;switch({}.toString.call(e).slice(8,-1)){case"Boolean":case"Number":case"String":case"Date":case"RegExp":case"Blob":case"FileList":case"ImageData":case"ImageBitmap":case"ArrayBuffer":return!0;case"Array":case"Object":return Object.keys(e).every((function(t){return p.IsCloneable(e[t])}));case"Map":return i(e.keys()).every(p.IsCloneable)&&i(e.values()).every(p.IsCloneable);case"Set":return i(e.keys()).every(p.IsCloneable);default:return!1}},MakeClonable:function(e){if(p.IsCloneable(e))return e;if(t.isBuffer(e))return p.BufferToArrayBuffer(e);switch({}.toString.call(e).slice(8,-1)){case"Response":case"Function":return;case"Boolean":case"Number":case"String":case"Date":case"RegExp":case"Blob":case"FileList":case"ImageData":case"ImageBitmap":case"ArrayBuffer":return e;case"Array":return e.map((function(e){return p.MakeClonable(e)}));case"Set":return new Set(Array.from(e.keys()).map((function(e){return p.MakeClonable(e)})));case"Map":var r=new Map;return Array.from(e.keys()).forEach((function(t){var n=p.MakeClonable(e.get(t));n&&r.set(t,n)})),r;case"Error":return e.message;case"Object":var n={};return Object.keys(e).map((function(t){var r=p.MakeClonable(e[t]);r&&(n[t]=r)})),n;default:return JSON.parse(JSON.stringify(e))}},PublicKeyToAddress:function(e){var r=new Uint8Array(t.from(e.replace("0x04",""),"hex")),n="0x"+d(r).slice(26);return p.FormatAddress(n)},PLATFORM_NODE:"node",PLATFORM_WEB:"web",PLATFORM_REACT_NATIVE:"react-native",Platform:function(){return"undefined"!=typeof navigator&&"ReactNative"===navigator.product?p.PLATFORM_REACT_NATIVE:void 0!==n&&void 0!==n.versions&&void 0!==n.versions.node?p.PLATFORM_NODE:p.PLATFORM_WEB}};e.exports=p}).call(this,r(1).Buffer,r(19))},function(e,t,r){"use strict";t.byteLength=function(e){var t=c(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,n=c(e),a=n[0],s=n[1],u=new o(function(e,t,r){return 3*(t+r)/4-r}(0,a,s)),l=0,f=s>0?a-4:a;for(r=0;r<f;r+=4)t=i[e.charCodeAt(r)]<<18|i[e.charCodeAt(r+1)]<<12|i[e.charCodeAt(r+2)]<<6|i[e.charCodeAt(r+3)],u[l++]=t>>16&255,u[l++]=t>>8&255,u[l++]=255&t;2===s&&(t=i[e.charCodeAt(r)]<<2|i[e.charCodeAt(r+1)]>>4,u[l++]=255&t);1===s&&(t=i[e.charCodeAt(r)]<<10|i[e.charCodeAt(r+1)]<<4|i[e.charCodeAt(r+2)]>>2,u[l++]=t>>8&255,u[l++]=255&t);return u},t.fromByteArray=function(e){for(var t,r=e.length,i=r%3,o=[],a=0,s=r-i;a<s;a+=16383)o.push(l(e,a,a+16383>s?s:a+16383));1===i?(t=e[r-1],o.push(n[t>>2]+n[t<<4&63]+"==")):2===i&&(t=(e[r-2]<<8)+e[r-1],o.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return o.join("")};for(var n=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=a.length;s<u;++s)n[s]=a[s],i[a.charCodeAt(s)]=s;function c(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function l(e,t,r){for(var i,o,a=[],s=t;s<r;s+=3)i=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),a.push(n[(o=i)>>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,r,n,i){var o,a,s=8*i-n-1,u=(1<<s)-1,c=u>>1,l=-7,f=r?i-1:0,h=r?-1:1,d=e[t+f];for(f+=h,o=d&(1<<-l)-1,d>>=-l,l+=s;l>0;o=256*o+e[t+f],f+=h,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=n;l>0;a=256*a+e[t+f],f+=h,l-=8);if(0===o)o=1-c;else{if(o===u)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,n),o-=c}return(d?-1:1)*a*Math.pow(2,o-n)},t.write=function(e,t,r,n,i,o){var a,s,u,c=8*o-i-1,l=(1<<c)-1,f=l>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:o-1,p=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+f>=1?h/u:h*Math.pow(2,1-f))*u>=2&&(a++,u/=2),a+f>=l?(s=0,a=l):a+f>=1?(s=(t*u-1)*Math.pow(2,i),a+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,i),a=0));i>=8;e[r+d]=255&s,d+=p,s/=256,i-=8);for(a=a<<i|s,c+=i;c>0;e[r+d]=255&a,d+=p,a/=256,c-=8);e[r+d-p]|=128*m}},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t){var r,n,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(e){if(r===setTimeout)return setTimeout(e,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:o}catch(e){r=o}try{n="function"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var u,c=[],l=!1,f=-1;function h(){l&&u&&(l=!1,u.length?c=u.concat(c):f=-1,c.length&&d())}function d(){if(!l){var e=s(h);l=!0;for(var t=c.length;t;){for(u=c,c=[];++f<t;)u&&u[f].run();f=-1,t=c.length}u=null,l=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===a||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function m(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new p(e,t)),1!==c.length||l||s(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=m,i.addListener=m,i.once=m,i.off=m,i.removeListener=m,i.removeAllListeners=m,i.emit=m,i.prependListener=m,i.prependOnceListener=m,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(e,t,r){var n=r(21),i=r(22),o=r(23);e.exports=function(e){return n(e)||i(e)||o()}},function(e,t){e.exports=function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}},function(e,t){e.exports=function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},function(e,t,r){var n=r(25),i=r(26),o=r(27);e.exports=function(e,t){return n(e)||i(e,t)||o()}},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var r=[],n=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(n=(a=s.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){i=!0,o=e}finally{try{n||null==s.return||s.return()}finally{if(i)throw o}}return r}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,t,r){var n=r(29);e.exports=n("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")},function(e,t,r){"use strict";var n=r(30).Buffer;e.exports=function(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var i=0;i<e.length;i++){var o=e.charAt(i),a=o.charCodeAt(0);if(255!==t[a])throw new TypeError(o+" is ambiguous");t[a]=i}var s=e.length,u=e.charAt(0),c=Math.log(s)/Math.log(256),l=Math.log(256)/Math.log(s);function f(e){if("string"!=typeof e)throw new TypeError("Expected String");if(0===e.length)return n.alloc(0);var r=0;if(" "!==e[r]){for(var i=0,o=0;e[r]===u;)i++,r++;for(var a=(e.length-r)*c+1>>>0,l=new Uint8Array(a);e[r];){var f=t[e.charCodeAt(r)];if(255===f)return;for(var h=0,d=a-1;(0!==f||h<o)&&-1!==d;d--,h++)f+=s*l[d]>>>0,l[d]=f%256>>>0,f=f/256>>>0;if(0!==f)throw new Error("Non-zero carry");o=h,r++}if(" "!==e[r]){for(var p=a-o;p!==a&&0===l[p];)p++;var m=n.allocUnsafe(i+(a-p));m.fill(0,0,i);for(var g=i;p!==a;)m[g++]=l[p++];return m}}}return{encode:function(t){if((Array.isArray(t)||t instanceof Uint8Array)&&(t=n.from(t)),!n.isBuffer(t))throw new TypeError("Expected Buffer");if(0===t.length)return"";for(var r=0,i=0,o=0,a=t.length;o!==a&&0===t[o];)o++,r++;for(var c=(a-o)*l+1>>>0,f=new Uint8Array(c);o!==a;){for(var h=t[o],d=0,p=c-1;(0!==h||d<i)&&-1!==p;p--,d++)h+=256*f[p]>>>0,f[p]=h%s>>>0,h=h/s>>>0;if(0!==h)throw new Error("Non-zero carry");i=d,o++}for(var m=c-i;m!==c&&0===f[m];)m++;for(var g=u.repeat(r);m<c;++m)g+=e.charAt(f[m]);return g},decodeUnsafe:f,decode:function(e){var t=f(e);if(t)return t;throw new Error("Non-base"+s+" character")}}}},function(e,t,r){var n=r(1),i=n.Buffer;function o(e,t){for(var r in e)t[r]=e[r]}function a(e,t,r){return i(e,t,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(o(n,t),t.Buffer=a),a.prototype=Object.create(i.prototype),o(i,a),a.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,r)},a.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=i(e);return void 0!==t?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},a.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},a.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},function(e,t,r){var n;function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}!function(o){"use strict";var a,s=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,u="function"==typeof Symbol&&"symbol"==i(Symbol.iterator),c=Math.ceil,l=Math.floor,f="[BigNumber Error] ",h=f+"Number primitive has more than 15 significant digits: ",d=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13];function p(e){var t=0|e;return e>0||e===t?t:t-1}function m(e){for(var t,r,n=1,i=e.length,o=e[0]+"";n<i;){for(r=14-(t=e[n++]+"").length;r--;t="0"+t);o+=t}for(i=o.length;48===o.charCodeAt(--i););return o.slice(0,i+1||1)}function g(e,t){var r,n,i=e.c,o=t.c,a=e.s,s=t.s,u=e.e,c=t.e;if(!a||!s)return null;if(r=i&&!i[0],n=o&&!o[0],r||n)return r?n?0:-s:a;if(a!=s)return a;if(r=a<0,n=u==c,!i||!o)return n?0:!i^r?1:-1;if(!n)return u>c^r?1:-1;for(s=(u=i.length)<(c=o.length)?u:c,a=0;a<s;a++)if(i[a]!=o[a])return i[a]>o[a]^r?1:-1;return u==c?0:u>c^r?1:-1}function y(e,t,r,n){if(e<t||e>r||e!==l(e))throw Error(f+(n||"Argument")+("number"==typeof e?e<t||e>r?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function v(e){var t=e.c.length-1;return p(e.e/14)==t&&e.c[t]%2!=0}function b(e,t){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function w(e,t,r){var n,i;if(t<0){for(i=r+".";++t;i+=r);e=i+e}else if(++t>(n=e.length)){for(i=r,t-=n;--t;i+=r);e+=i}else t<n&&(e=e.slice(0,t)+"."+e.slice(t));return e}(a=function e(t){var r,n,o,a,_,A,E,k,x,S=D.prototype={constructor:D,toString:null,valueOf:null},M=new D(1),I=20,P=4,T=-7,N=21,O=-1e7,R=1e7,C=!1,j=1,L=0,B={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},U="0123456789abcdefghijklmnopqrstuvwxyz";function D(e,t){var r,i,a,u,c,f,d,p,m=this;if(!(m instanceof D))return new D(e,t);if(null==t){if(e&&!0===e._isBigNumber)return m.s=e.s,void(!e.c||e.e>R?m.c=m.e=null:e.e<O?m.c=[m.e=0]:(m.e=e.e,m.c=e.c.slice()));if((f="number"==typeof e)&&0*e==0){if(m.s=1/e<0?(e=-e,-1):1,e===~~e){for(u=0,c=e;c>=10;c/=10,u++);return void(u>R?m.c=m.e=null:(m.e=u,m.c=[e]))}p=String(e)}else{if(!s.test(p=String(e)))return o(m,p,f);m.s=45==p.charCodeAt(0)?(p=p.slice(1),-1):1}(u=p.indexOf("."))>-1&&(p=p.replace(".","")),(c=p.search(/e/i))>0?(u<0&&(u=c),u+=+p.slice(c+1),p=p.substring(0,c)):u<0&&(u=p.length)}else{if(y(t,2,U.length,"Base"),10==t)return G(m=new D(e),I+m.e+1,P);if(p=String(e),f="number"==typeof e){if(0*e!=0)return o(m,p,f,t);if(m.s=1/e<0?(p=p.slice(1),-1):1,D.DEBUG&&p.replace(/^0\.0*|\./,"").length>15)throw Error(h+e)}else m.s=45===p.charCodeAt(0)?(p=p.slice(1),-1):1;for(r=U.slice(0,t),u=c=0,d=p.length;c<d;c++)if(r.indexOf(i=p.charAt(c))<0){if("."==i){if(c>u){u=d;continue}}else if(!a&&(p==p.toUpperCase()&&(p=p.toLowerCase())||p==p.toLowerCase()&&(p=p.toUpperCase()))){a=!0,c=-1,u=0;continue}return o(m,String(e),f,t)}f=!1,(u=(p=n(p,t,10,m.s)).indexOf("."))>-1?p=p.replace(".",""):u=p.length}for(c=0;48===p.charCodeAt(c);c++);for(d=p.length;48===p.charCodeAt(--d););if(p=p.slice(c,++d)){if(d-=c,f&&D.DEBUG&&d>15&&(e>9007199254740991||e!==l(e)))throw Error(h+m.s*e);if((u=u-c-1)>R)m.c=m.e=null;else if(u<O)m.c=[m.e=0];else{if(m.e=u,m.c=[],c=(u+1)%14,u<0&&(c+=14),c<d){for(c&&m.c.push(+p.slice(0,c)),d-=14;c<d;)m.c.push(+p.slice(c,c+=14));c=14-(p=p.slice(c)).length}else c-=d;for(;c--;p+="0");m.c.push(+p)}}else m.c=[m.e=0]}function F(e,t,r,n){var i,o,a,s,u;if(null==r?r=P:y(r,0,8),!e.c)return e.toString();if(i=e.c[0],a=e.e,null==t)u=m(e.c),u=1==n||2==n&&(a<=T||a>=N)?b(u,a):w(u,a,"0");else if(o=(e=G(new D(e),t,r)).e,s=(u=m(e.c)).length,1==n||2==n&&(t<=o||o<=T)){for(;s<t;u+="0",s++);u=b(u,o)}else if(t-=a,u=w(u,o,"0"),o+1>s){if(--t>0)for(u+=".";t--;u+="0");}else if((t+=o-s)>0)for(o+1==s&&(u+=".");t--;u+="0");return e.s<0&&i?"-"+u:u}function z(e,t){for(var r,n=1,i=new D(e[0]);n<e.length;n++){if(!(r=new D(e[n])).s){i=r;break}t.call(i,r)&&(i=r)}return i}function H(e,t,r){for(var n=1,i=t.length;!t[--i];t.pop());for(i=t[0];i>=10;i/=10,n++);return(r=n+14*r-1)>R?e.c=e.e=null:r<O?e.c=[e.e=0]:(e.e=r,e.c=t),e}function G(e,t,r,n){var i,o,a,s,u,f,h,p=e.c,m=d;if(p){e:{for(i=1,s=p[0];s>=10;s/=10,i++);if((o=t-i)<0)o+=14,a=t,h=(u=p[f=0])/m[i-a-1]%10|0;else if((f=c((o+1)/14))>=p.length){if(!n)break e;for(;p.length<=f;p.push(0));u=h=0,i=1,a=(o%=14)-14+1}else{for(u=s=p[f],i=1;s>=10;s/=10,i++);h=(a=(o%=14)-14+i)<0?0:u/m[i-a-1]%10|0}if(n=n||t<0||null!=p[f+1]||(a<0?u:u%m[i-a-1]),n=r<4?(h||n)&&(0==r||r==(e.s<0?3:2)):h>5||5==h&&(4==r||n||6==r&&(o>0?a>0?u/m[i-a]:0:p[f-1])%10&1||r==(e.s<0?8:7)),t<1||!p[0])return p.length=0,n?(t-=e.e+1,p[0]=m[(14-t%14)%14],e.e=-t||0):p[0]=e.e=0,e;if(0==o?(p.length=f,s=1,f--):(p.length=f+1,s=m[14-o],p[f]=a>0?l(u/m[i-a]%m[a])*s:0),n)for(;;){if(0==f){for(o=1,a=p[0];a>=10;a/=10,o++);for(a=p[0]+=s,s=1;a>=10;a/=10,s++);o!=s&&(e.e++,1e14==p[0]&&(p[0]=1));break}if(p[f]+=s,1e14!=p[f])break;p[f--]=0,s=1}for(o=p.length;0===p[--o];p.pop());}e.e>R?e.c=e.e=null:e.e<O&&(e.c=[e.e=0])}return e}function q(e){var t,r=e.e;return null===r?e.toString():(t=m(e.c),t=r<=T||r>=N?b(t,r):w(t,r,"0"),e.s<0?"-"+t:t)}return D.clone=e,D.ROUND_UP=0,D.ROUND_DOWN=1,D.ROUND_CEIL=2,D.ROUND_FLOOR=3,D.ROUND_HALF_UP=4,D.ROUND_HALF_DOWN=5,D.ROUND_HALF_EVEN=6,D.ROUND_HALF_CEIL=7,D.ROUND_HALF_FLOOR=8,D.EUCLID=9,D.config=D.set=function(e){var t,r;if(null!=e){if("object"!=i(e))throw Error(f+"Object expected: "+e);if(e.hasOwnProperty(t="DECIMAL_PLACES")&&(y(r=e[t],0,1e9,t),I=r),e.hasOwnProperty(t="ROUNDING_MODE")&&(y(r=e[t],0,8,t),P=r),e.hasOwnProperty(t="EXPONENTIAL_AT")&&((r=e[t])&&r.pop?(y(r[0],-1e9,0,t),y(r[1],0,1e9,t),T=r[0],N=r[1]):(y(r,-1e9,1e9,t),T=-(N=r<0?-r:r))),e.hasOwnProperty(t="RANGE"))if((r=e[t])&&r.pop)y(r[0],-1e9,-1,t),y(r[1],1,1e9,t),O=r[0],R=r[1];else{if(y(r,-1e9,1e9,t),!r)throw Error(f+t+" cannot be zero: "+r);O=-(R=r<0?-r:r)}if(e.hasOwnProperty(t="CRYPTO")){if((r=e[t])!==!!r)throw Error(f+t+" not true or false: "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw C=!r,Error(f+"crypto unavailable");C=r}else C=r}if(e.hasOwnProperty(t="MODULO_MODE")&&(y(r=e[t],0,9,t),j=r),e.hasOwnProperty(t="POW_PRECISION")&&(y(r=e[t],0,1e9,t),L=r),e.hasOwnProperty(t="FORMAT")){if("object"!=i(r=e[t]))throw Error(f+t+" not an object: "+r);B=r}if(e.hasOwnProperty(t="ALPHABET")){if("string"!=typeof(r=e[t])||/^.$|[+-.\s]|(.).*\1/.test(r))throw Error(f+t+" invalid: "+r);U=r}}return{DECIMAL_PLACES:I,ROUNDING_MODE:P,EXPONENTIAL_AT:[T,N],RANGE:[O,R],CRYPTO:C,MODULO_MODE:j,POW_PRECISION:L,FORMAT:B,ALPHABET:U}},D.isBigNumber=function(e){if(!e||!0!==e._isBigNumber)return!1;if(!D.DEBUG)return!0;var t,r,n=e.c,i=e.e,o=e.s;e:if("[object Array]"=={}.toString.call(n)){if((1===o||-1===o)&&i>=-1e9&&i<=1e9&&i===l(i)){if(0===n[0]){if(0===i&&1===n.length)return!0;break e}if((t=(i+1)%14)<1&&(t+=14),String(n[0]).length==t){for(t=0;t<n.length;t++)if((r=n[t])<0||r>=1e14||r!==l(r))break e;if(0!==r)return!0}}}else if(null===n&&null===i&&(null===o||1===o||-1===o))return!0;throw Error(f+"Invalid BigNumber: "+e)},D.maximum=D.max=function(){return z(arguments,S.lt)},D.minimum=D.min=function(){return z(arguments,S.gt)},D.random=(a=9007199254740992*Math.random()&2097151?function(){return l(9007199254740992*Math.random())}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function(e){var t,r,n,i,o,s=0,u=[],h=new D(M);if(null==e?e=I:y(e,0,1e9),i=c(e/14),C)if(crypto.getRandomValues){for(t=crypto.getRandomValues(new Uint32Array(i*=2));s<i;)(o=131072*t[s]+(t[s+1]>>>11))>=9e15?(r=crypto.getRandomValues(new Uint32Array(2)),t[s]=r[0],t[s+1]=r[1]):(u.push(o%1e14),s+=2);s=i/2}else{if(!crypto.randomBytes)throw C=!1,Error(f+"crypto unavailable");for(t=crypto.randomBytes(i*=7);s<i;)(o=281474976710656*(31&t[s])+1099511627776*t[s+1]+4294967296*t[s+2]+16777216*t[s+3]+(t[s+4]<<16)+(t[s+5]<<8)+t[s+6])>=9e15?crypto.randomBytes(7).copy(t,s):(u.push(o%1e14),s+=7);s=i/7}if(!C)for(;s<i;)(o=a())<9e15&&(u[s++]=o%1e14);for(e%=14,(i=u[--s])&&e&&(o=d[14-e],u[s]=l(i/o)*o);0===u[s];u.pop(),s--);if(s<0)u=[n=0];else{for(n=-1;0===u[0];u.splice(0,1),n-=14);for(s=1,o=u[0];o>=10;o/=10,s++);s<14&&(n-=14-s)}return h.e=n,h.c=u,h}),D.sum=function(){for(var e=1,t=arguments,r=new D(t[0]);e<t.length;)r=r.plus(t[e++]);return r},n=function(){function e(e,t,r,n){for(var i,o,a=[0],s=0,u=e.length;s<u;){for(o=a.length;o--;a[o]*=t);for(a[0]+=n.indexOf(e.charAt(s++)),i=0;i<a.length;i++)a[i]>r-1&&(null==a[i+1]&&(a[i+1]=0),a[i+1]+=a[i]/r|0,a[i]%=r)}return a.reverse()}return function(t,n,i,o,a){var s,u,c,l,f,h,d,p,g=t.indexOf("."),y=I,v=P;for(g>=0&&(l=L,L=0,t=t.replace(".",""),h=(p=new D(n)).pow(t.length-g),L=l,p.c=e(w(m(h.c),h.e,"0"),10,i,"0123456789"),p.e=p.c.length),c=l=(d=e(t,n,i,a?(s=U,"0123456789"):(s="0123456789",U))).length;0==d[--l];d.pop());if(!d[0])return s.charAt(0);if(g<0?--c:(h.c=d,h.e=c,h.s=o,d=(h=r(h,p,y,v,i)).c,f=h.r,c=h.e),g=d[u=c+y+1],l=i/2,f=f||u<0||null!=d[u+1],f=v<4?(null!=g||f)&&(0==v||v==(h.s<0?3:2)):g>l||g==l&&(4==v||f||6==v&&1&d[u-1]||v==(h.s<0?8:7)),u<1||!d[0])t=f?w(s.charAt(1),-y,s.charAt(0)):s.charAt(0);else{if(d.length=u,f)for(--i;++d[--u]>i;)d[u]=0,u||(++c,d=[1].concat(d));for(l=d.length;!d[--l];);for(g=0,t="";g<=l;t+=s.charAt(d[g++]));t=w(t,c,s.charAt(0))}return t}}(),r=function(){function e(e,t,r){var n,i,o,a,s=0,u=e.length,c=t%1e7,l=t/1e7|0;for(e=e.slice();u--;)s=((i=c*(o=e[u]%1e7)+(n=l*o+(a=e[u]/1e7|0)*c)%1e7*1e7+s)/r|0)+(n/1e7|0)+l*a,e[u]=i%r;return s&&(e=[s].concat(e)),e}function t(e,t,r,n){var i,o;if(r!=n)o=r>n?1:-1;else for(i=o=0;i<r;i++)if(e[i]!=t[i]){o=e[i]>t[i]?1:-1;break}return o}function r(e,t,r,n){for(var i=0;r--;)e[r]-=i,i=e[r]<t[r]?1:0,e[r]=i*n+e[r]-t[r];for(;!e[0]&&e.length>1;e.splice(0,1));}return function(n,i,o,a,s){var u,c,f,h,d,m,g,y,v,b,w,_,A,E,k,x,S,M=n.s==i.s?1:-1,I=n.c,P=i.c;if(!(I&&I[0]&&P&&P[0]))return new D(n.s&&i.s&&(I?!P||I[0]!=P[0]:P)?I&&0==I[0]||!P?0*M:M/0:NaN);for(v=(y=new D(M)).c=[],M=o+(c=n.e-i.e)+1,s||(s=1e14,c=p(n.e/14)-p(i.e/14),M=M/14|0),f=0;P[f]==(I[f]||0);f++);if(P[f]>(I[f]||0)&&c--,M<0)v.push(1),h=!0;else{for(E=I.length,x=P.length,f=0,M+=2,(d=l(s/(P[0]+1)))>1&&(P=e(P,d,s),I=e(I,d,s),x=P.length,E=I.length),A=x,w=(b=I.slice(0,x)).length;w<x;b[w++]=0);S=P.slice(),S=[0].concat(S),k=P[0],P[1]>=s/2&&k++;do{if(d=0,(u=t(P,b,x,w))<0){if(_=b[0],x!=w&&(_=_*s+(b[1]||0)),(d=l(_/k))>1)for(d>=s&&(d=s-1),g=(m=e(P,d,s)).length,w=b.length;1==t(m,b,g,w);)d--,r(m,x<g?S:P,g,s),g=m.length,u=1;else 0==d&&(u=d=1),g=(m=P.slice()).length;if(g<w&&(m=[0].concat(m)),r(b,m,w,s),w=b.length,-1==u)for(;t(P,b,x,w)<1;)d++,r(b,x<w?S:P,w,s),w=b.length}else 0===u&&(d++,b=[0]);v[f++]=d,b[0]?b[w++]=I[A]||0:(b=[I[A]],w=1)}while((A++<E||null!=b[0])&&M--);h=null!=b[0],v[0]||v.splice(0,1)}if(1e14==s){for(f=1,M=v[0];M>=10;M/=10,f++);G(y,o+(y.e=f+14*c-1)+1,a,h)}else y.e=c,y.r=+h;return y}}(),_=/^(-?)0([xbo])(?=\w[\w.]*$)/i,A=/^([^.]+)\.$/,E=/^\.([^.]+)$/,k=/^-?(Infinity|NaN)$/,x=/^\s*\+(?=[\w.])|^\s+|\s+$/g,o=function(e,t,r,n){var i,o=r?t:t.replace(x,"");if(k.test(o))e.s=isNaN(o)?null:o<0?-1:1;else{if(!r&&(o=o.replace(_,(function(e,t,r){return i="x"==(r=r.toLowerCase())?16:"b"==r?2:8,n&&n!=i?e:t})),n&&(i=n,o=o.replace(A,"$1").replace(E,"0.$1")),t!=o))return new D(o,i);if(D.DEBUG)throw Error(f+"Not a"+(n?" base "+n:"")+" number: "+t);e.s=null}e.c=e.e=null},S.absoluteValue=S.abs=function(){var e=new D(this);return e.s<0&&(e.s=1),e},S.comparedTo=function(e,t){return g(this,new D(e,t))},S.decimalPlaces=S.dp=function(e,t){var r,n,i,o=this;if(null!=e)return y(e,0,1e9),null==t?t=P:y(t,0,8),G(new D(o),e+o.e+1,t);if(!(r=o.c))return null;if(n=14*((i=r.length-1)-p(this.e/14)),i=r[i])for(;i%10==0;i/=10,n--);return n<0&&(n=0),n},S.dividedBy=S.div=function(e,t){return r(this,new D(e,t),I,P)},S.dividedToIntegerBy=S.idiv=function(e,t){return r(this,new D(e,t),0,1)},S.exponentiatedBy=S.pow=function(e,t){var r,n,i,o,a,s,u,h,d=this;if((e=new D(e)).c&&!e.isInteger())throw Error(f+"Exponent not an integer: "+q(e));if(null!=t&&(t=new D(t)),a=e.e>14,!d.c||!d.c[0]||1==d.c[0]&&!d.e&&1==d.c.length||!e.c||!e.c[0])return h=new D(Math.pow(+q(d),a?2-v(e):+q(e))),t?h.mod(t):h;if(s=e.s<0,t){if(t.c?!t.c[0]:!t.s)return new D(NaN);(n=!s&&d.isInteger()&&t.isInteger())&&(d=d.mod(t))}else{if(e.e>9&&(d.e>0||d.e<-1||(0==d.e?d.c[0]>1||a&&d.c[1]>=24e7:d.c[0]<8e13||a&&d.c[0]<=9999975e7)))return o=d.s<0&&v(e)?-0:0,d.e>-1&&(o=1/o),new D(s?1/o:o);L&&(o=c(L/14+2))}for(a?(r=new D(.5),s&&(e.s=1),u=v(e)):u=(i=Math.abs(+q(e)))%2,h=new D(M);;){if(u){if(!(h=h.times(d)).c)break;o?h.c.length>o&&(h.c.length=o):n&&(h=h.mod(t))}if(i){if(0===(i=l(i/2)))break;u=i%2}else if(G(e=e.times(r),e.e+1,1),e.e>14)u=v(e);else{if(0===(i=+q(e)))break;u=i%2}d=d.times(d),o?d.c&&d.c.length>o&&(d.c.length=o):n&&(d=d.mod(t))}return n?h:(s&&(h=M.div(h)),t?h.mod(t):o?G(h,L,P,void 0):h)},S.integerValue=function(e){var t=new D(this);return null==e?e=P:y(e,0,8),G(t,t.e+1,e)},S.isEqualTo=S.eq=function(e,t){return 0===g(this,new D(e,t))},S.isFinite=function(){return!!this.c},S.isGreaterThan=S.gt=function(e,t){return g(this,new D(e,t))>0},S.isGreaterThanOrEqualTo=S.gte=function(e,t){return 1===(t=g(this,new D(e,t)))||0===t},S.isInteger=function(){return!!this.c&&p(this.e/14)>this.c.length-2},S.isLessThan=S.lt=function(e,t){return g(this,new D(e,t))<0},S.isLessThanOrEqualTo=S.lte=function(e,t){return-1===(t=g(this,new D(e,t)))||0===t},S.isNaN=function(){return!this.s},S.isNegative=function(){return this.s<0},S.isPositive=function(){return this.s>0},S.isZero=function(){return!!this.c&&0==this.c[0]},S.minus=function(e,t){var r,n,i,o,a=this,s=a.s;if(t=(e=new D(e,t)).s,!s||!t)return new D(NaN);if(s!=t)return e.s=-t,a.plus(e);var u=a.e/14,c=e.e/14,l=a.c,f=e.c;if(!u||!c){if(!l||!f)return l?(e.s=-t,e):new D(f?a:NaN);if(!l[0]||!f[0])return f[0]?(e.s=-t,e):new D(l[0]?a:3==P?-0:0)}if(u=p(u),c=p(c),l=l.slice(),s=u-c){for((o=s<0)?(s=-s,i=l):(c=u,i=f),i.reverse(),t=s;t--;i.push(0));i.reverse()}else for(n=(o=(s=l.length)<(t=f.length))?s:t,s=t=0;t<n;t++)if(l[t]!=f[t]){o=l[t]<f[t];break}if(o&&(i=l,l=f,f=i,e.s=-e.s),(t=(n=f.length)-(r=l.length))>0)for(;t--;l[r++]=0);for(t=1e14-1;n>s;){if(l[--n]<f[n]){for(r=n;r&&!l[--r];l[r]=t);--l[r],l[n]+=1e14}l[n]-=f[n]}for(;0==l[0];l.splice(0,1),--c);return l[0]?H(e,l,c):(e.s=3==P?-1:1,e.c=[e.e=0],e)},S.modulo=S.mod=function(e,t){var n,i,o=this;return e=new D(e,t),!o.c||!e.s||e.c&&!e.c[0]?new D(NaN):!e.c||o.c&&!o.c[0]?new D(o):(9==j?(i=e.s,e.s=1,n=r(o,e,0,3),e.s=i,n.s*=i):n=r(o,e,0,j),(e=o.minus(n.times(e))).c[0]||1!=j||(e.s=o.s),e)},S.multipliedBy=S.times=function(e,t){var r,n,i,o,a,s,u,c,l,f,h,d,m,g=this,y=g.c,v=(e=new D(e,t)).c;if(!(y&&v&&y[0]&&v[0]))return!g.s||!e.s||y&&!y[0]&&!v||v&&!v[0]&&!y?e.c=e.e=e.s=null:(e.s*=g.s,y&&v?(e.c=[0],e.e=0):e.c=e.e=null),e;for(n=p(g.e/14)+p(e.e/14),e.s*=g.s,(u=y.length)<(f=v.length)&&(m=y,y=v,v=m,i=u,u=f,f=i),i=u+f,m=[];i--;m.push(0));for(1e14,1e7,i=f;--i>=0;){for(r=0,h=v[i]%1e7,d=v[i]/1e7|0,o=i+(a=u);o>i;)r=((c=h*(c=y[--a]%1e7)+(s=d*c+(l=y[a]/1e7|0)*h)%1e7*1e7+m[o]+r)/1e14|0)+(s/1e7|0)+d*l,m[o--]=c%1e14;m[o]=r}return r?++n:m.splice(0,1),H(e,m,n)},S.negated=function(){var e=new D(this);return e.s=-e.s||null,e},S.plus=function(e,t){var r,n=this,i=n.s;if(t=(e=new D(e,t)).s,!i||!t)return new D(NaN);if(i!=t)return e.s=-t,n.minus(e);var o=n.e/14,a=e.e/14,s=n.c,u=e.c;if(!o||!a){if(!s||!u)return new D(i/0);if(!s[0]||!u[0])return u[0]?e:new D(s[0]?n:0*i)}if(o=p(o),a=p(a),s=s.slice(),i=o-a){for(i>0?(a=o,r=u):(i=-i,r=s),r.reverse();i--;r.push(0));r.reverse()}for((i=s.length)-(t=u.length)<0&&(r=u,u=s,s=r,t=i),i=0;t;)i=(s[--t]=s[t]+u[t]+i)/1e14|0,s[t]=1e14===s[t]?0:s[t]%1e14;return i&&(s=[i].concat(s),++a),H(e,s,a)},S.precision=S.sd=function(e,t){var r,n,i,o=this;if(null!=e&&e!==!!e)return y(e,1,1e9),null==t?t=P:y(t,0,8),G(new D(o),e,t);if(!(r=o.c))return null;if(n=14*(i=r.length-1)+1,i=r[i]){for(;i%10==0;i/=10,n--);for(i=r[0];i>=10;i/=10,n++);}return e&&o.e+1>n&&(n=o.e+1),n},S.shiftedBy=function(e){return y(e,-9007199254740991,9007199254740991),this.times("1e"+e)},S.squareRoot=S.sqrt=function(){var e,t,n,i,o,a=this,s=a.c,u=a.s,c=a.e,l=I+4,f=new D("0.5");if(1!==u||!s||!s[0])return new D(!u||u<0&&(!s||s[0])?NaN:s?a:1/0);if(0==(u=Math.sqrt(+q(a)))||u==1/0?(((t=m(s)).length+c)%2==0&&(t+="0"),u=Math.sqrt(+t),c=p((c+1)/2)-(c<0||c%2),n=new D(t=u==1/0?"1e"+c:(t=u.toExponential()).slice(0,t.indexOf("e")+1)+c)):n=new D(u+""),n.c[0])for((u=(c=n.e)+l)<3&&(u=0);;)if(o=n,n=f.times(o.plus(r(a,o,l,1))),m(o.c).slice(0,u)===(t=m(n.c)).slice(0,u)){if(n.e<c&&--u,"9999"!=(t=t.slice(u-3,u+1))&&(i||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(G(n,n.e+I+2,1),e=!n.times(n).eq(a));break}if(!i&&(G(o,o.e+I+2,0),o.times(o).eq(a))){n=o;break}l+=4,u+=4,i=1}return G(n,n.e+I+1,P,e)},S.toExponential=function(e,t){return null!=e&&(y(e,0,1e9),e++),F(this,e,t,1)},S.toFixed=function(e,t){return null!=e&&(y(e,0,1e9),e=e+this.e+1),F(this,e,t)},S.toFormat=function(e,t,r){var n,o=this;if(null==r)null!=e&&t&&"object"==i(t)?(r=t,t=null):e&&"object"==i(e)?(r=e,e=t=null):r=B;else if("object"!=i(r))throw Error(f+"Argument not an object: "+r);if(n=o.toFixed(e,t),o.c){var a,s=n.split("."),u=+r.groupSize,c=+r.secondaryGroupSize,l=r.groupSeparator||"",h=s[0],d=s[1],p=o.s<0,m=p?h.slice(1):h,g=m.length;if(c&&(a=u,u=c,c=a,g-=a),u>0&&g>0){for(a=g%u||u,h=m.substr(0,a);a<g;a+=u)h+=l+m.substr(a,u);c>0&&(h+=l+m.slice(a)),p&&(h="-"+h)}n=d?h+(r.decimalSeparator||"")+((c=+r.fractionGroupSize)?d.replace(new RegExp("\\d{"+c+"}\\B","g"),"$&"+(r.fractionGroupSeparator||"")):d):h}return(r.prefix||"")+n+(r.suffix||"")},S.toFraction=function(e){var t,n,i,o,a,s,u,c,l,h,p,g,y=this,v=y.c;if(null!=e&&(!(u=new D(e)).isInteger()&&(u.c||1!==u.s)||u.lt(M)))throw Error(f+"Argument "+(u.isInteger()?"out of range: ":"not an integer: ")+q(u));if(!v)return new D(y);for(t=new D(M),l=n=new D(M),i=c=new D(M),g=m(v),a=t.e=g.length-y.e-1,t.c[0]=d[(s=a%14)<0?14+s:s],e=!e||u.comparedTo(t)>0?a>0?t:l:u,s=R,R=1/0,u=new D(g),c.c[0]=0;h=r(u,t,0,1),1!=(o=n.plus(h.times(i))).comparedTo(e);)n=i,i=o,l=c.plus(h.times(o=l)),c=o,t=u.minus(h.times(o=t)),u=o;return o=r(e.minus(n),i,0,1),c=c.plus(o.times(l)),n=n.plus(o.times(i)),c.s=l.s=y.s,p=r(l,i,a*=2,P).minus(y).abs().comparedTo(r(c,n,a,P).minus(y).abs())<1?[l,i]:[c,n],R=s,p},S.toNumber=function(){return+q(this)},S.toPrecision=function(e,t){return null!=e&&y(e,1,1e9),F(this,e,t,2)},S.toString=function(e){var t,r=this,i=r.s,o=r.e;return null===o?i?(t="Infinity",i<0&&(t="-"+t)):t="NaN":(null==e?t=o<=T||o>=N?b(m(r.c),o):w(m(r.c),o,"0"):10===e?t=w(m((r=G(new D(r),I+o+1,P)).c),r.e,"0"):(y(e,2,U.length,"Base"),t=n(w(m(r.c),o,"0"),10,e,i,!0)),i<0&&r.c[0]&&(t="-"+t)),t},S.valueOf=S.toJSON=function(){return q(this)},S._isBigNumber=!0,u&&(S[Symbol.toStringTag]="BigNumber",S[Symbol.for("nodejs.util.inspect.custom")]=S.valueOf),null!=t&&D.set(t),D}()).default=a.BigNumber=a,void 0===(n=function(){return a}.call(t,r,t,e))||(e.exports=n)}()},function(e,t,r){e.exports={encode:r(33),decode:r(34),encodingLength:r(35)}},function(e,t){e.exports=function e(t,n,i){n=n||[];var o=i=i||0;for(;t>=r;)n[i++]=255&t|128,t/=128;for(;-128&t;)n[i++]=255&t|128,t>>>=7;return n[i]=0|t,e.bytes=i-o+1,n};var r=Math.pow(2,31)},function(e,t){e.exports=function e(t,r){var n,i=0,o=0,a=r=r||0,s=t.length;do{if(a>=s)throw e.bytes=0,new RangeError("Could not decode varint");n=t[a++],i+=o<28?(127&n)<<o:(127&n)*Math.pow(2,o),o+=7}while(n>=128);return e.bytes=a-r,i}},function(e,t){var r=Math.pow(2,7),n=Math.pow(2,14),i=Math.pow(2,21),o=Math.pow(2,28),a=Math.pow(2,35),s=Math.pow(2,42),u=Math.pow(2,49),c=Math.pow(2,56),l=Math.pow(2,63);e.exports=function(e){return e<r?1:e<n?2:e<i?3:e<o?4:e<a?5:e<s?6:e<u?7:e<c?8:e<l?9:10}},function(e,t,r){(function(e){var n,i,o;function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}
35
+ */!function(a,s){"use strict";"object"===o(e)&&e.exports?e.exports=s():void 0===(i="function"==typeof(n=s)?n.call(t,r,t,e):n)||(e.exports=i)}(0,(function(e){"use strict";var t=e&&e.SecondLevelDomains,r={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return!1;var n=e.lastIndexOf(".",t-1);if(n<=0||n>=t-1)return!1;var i=r.list[e.slice(t+1)];return!!i&&i.indexOf(" "+e.slice(n+1,t)+" ")>=0},is:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return!1;if(e.lastIndexOf(".",t-1)>=0)return!1;var n=r.list[e.slice(t+1)];return!!n&&n.indexOf(" "+e.slice(0,t)+" ")>=0},get:function(e){var t=e.lastIndexOf(".");if(t<=0||t>=e.length-1)return null;var n=e.lastIndexOf(".",t-1);if(n<=0||n>=t-1)return null;var i=r.list[e.slice(t+1)];return i?i.indexOf(" "+e.slice(n+1,t)+" ")<0?null:e.slice(n+1):null},noConflict:function(){return e.SecondLevelDomains===this&&(e.SecondLevelDomains=t),this}};return r}))}).call(this,r(0)(e))},function(e,t,r){var n=r(3),i=r(4),o=r(11),a=r(12);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var c=r(13),l=r(14),f=l.ValidatePresence,h=l.ValidatePermission,d=function(){"use strict";function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{offline:!1};o(this,e),this.client=t,this.subjectNames={},this.drafts={},this.offline=r.offline}return a(e,[{key:"FormatDate",value:function(e){if(e){if(isNaN(new Date(e)))throw Error("Invalid start time: ".concat(e));return new Date(e).toISOString()}}},{key:"FormatProfile",value:function(e){var t=this;h(e.default_permission);var r={};return e.start&&(r.start=this.FormatDate(e.start)),e.end&&(r.end=this.FormatDate(e.end)),["assets","offerings"].forEach((function(n){var i=e[n]||{};r[n]={default_permission:i.default_permission||i.default_permissions||"no-access"},i.custom_permissions&&(r[n].custom_permissions={},Object.keys(i.custom_permissions).forEach((function(e){var o=i.custom_permissions[e],a={permission:h(o.permission)};o.start&&(a.start=t.FormatDate(o.start)),o.end&&(a.end=t.FormatDate(o.end)),r[n].custom_permissions[e]=u({},o,{},a)})))})),r}},{key:"FormatPermission",value:function(e){var t,r,i,o,a,s,u,l,f,h,d,p;return n.async((function(m){for(;;)switch(m.prev=m.next){case 0:t=e.policyId,r=e.policyWriteToken,i=e.permission,o=i.subject.type.startsWith("oauth")?"oauth":"fabric",m.t0=i.subject.type,m.next="otp"===m.t0?5:"otp_subject"===m.t0?8:"group"===m.t0?13:"oauth_group"===m.t0?13:"user"===m.t0?16:"oauth_user"===m.t0?16:19;break;case 5:return a="ntp",s=i.subject.id,m.abrupt("break",20);case 8:return a="ntp_subject",s=i.subject.id,u=s,l=i.subject.otp_id,m.abrupt("break",20);case 13:return a="group",s="oauth"===o?i.subject.oauth_id:this.client.utils.HashToAddress(i.subject.id),m.abrupt("break",20);case 16:return a="user",s="oauth"===o?i.subject.oauth_id:this.client.utils.HashToAddress(i.subject.id),m.abrupt("break",20);case 19:throw Error("Unknown subject type: "+i.subject.type);case 20:if(f=i.subject.oauth_id||i.subject.id,h=this.subjectNames[f],u=u||h||i.subject.id,h||"fabric"!==o){m.next=78;break}if("group"!==a){m.next=36;break}return m.next=27,n.awrap(this.client.ContentSpaceId());case 27:return d=m.sent.replace("ispc","ilib"),m.next=30,n.awrap(this.client.ContentObjectMetadata({libraryId:d,objectId:this.client.utils.AddressToObjectId(s),metadataSubtree:c("public","name")}));case 30:if(m.t1=m.sent,m.t1){m.next=33;break}m.t1=s;case 33:u=m.t1,m.next=78;break;case 36:if("user"!==a){m.next=58;break}return m.t4=n,m.t5=this.client,m.next=41,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 41:return m.t6=m.sent,m.t7=t,m.t8=r,m.t9=c("auth_policy_settings","fabric_users",s),m.t10={libraryId:m.t6,objectId:m.t7,writeToken:m.t8,metadataSubtree:m.t9},m.t11=m.t5.ContentObjectMetadata.call(m.t5,m.t10),m.next=49,m.t4.awrap.call(m.t4,m.t11);case 49:if(m.t3=m.sent,m.t3){m.next=52;break}m.t3={};case 52:if(m.t2=m.t3.name,m.t2){m.next=55;break}m.t2=s;case 55:u=m.t2,m.next=78;break;case 58:if("ntp"!==a){m.next=78;break}return m.t14=n,m.t15=this.client,m.next=63,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 63:return m.t16=m.sent,m.t17=t,m.t18=r,m.t19=c("auth_policy_settings","ntp_instances",s),m.t20={libraryId:m.t16,objectId:m.t17,writeToken:m.t18,metadataSubtree:m.t19},m.t21=m.t15.ContentObjectMetadata.call(m.t15,m.t20),m.next=71,m.t14.awrap.call(m.t14,m.t21);case 71:if(m.t13=m.sent,m.t13){m.next=74;break}m.t13={};case 74:if(m.t12=m.t13.name,m.t12){m.next=77;break}m.t12=s;case 77:u=m.t12;case 78:return this.subjectNames[f]=u,p={profileName:i.profile,subjectSource:o,subjectType:a,subjectId:s,subjectName:u},l&&(p.subjectNTPId=l),i.start&&(p.start=i.start),i.end&&(p.end=i.end),m.abrupt("return",p);case 84:case"end":return m.stop()}}),null,this)}},{key:"OpenOfflineDraft",value:function(e){var t,r,i,o;return n.async((function(a){for(;;)switch(a.prev=a.next){case 0:if(t=e.policyId,r=e.policyLibraryId,i=e.policyWriteToken,null!=r){a.next=5;break}return a.next=4,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 4:r=a.sent;case 5:return a.next=7,n.awrap(this.client.ContentObjectMetadata({libraryId:r,objectId:t,writeToken:i}));case 7:o=a.sent,this.drafts[t]={meta:o,policyLibraryId:r,policyWriteToken:i};case 9:case"end":return a.stop()}}),null,this)}},{key:"CloseOfflineDraft",value:function(e){var t;return n.async((function(r){for(;;)switch(r.prev=r.next){case 0:if(t=e.policyId,null!=this.drafts[t]){r.next=3;break}throw Error("No draft open for policyId: "+t);case 3:return r.next=5,n.awrap(this.client.ReplaceMetadata({libraryId:this.drafts[t].policyLibraryId,objectId:t,writeToken:this.drafts[t].policyWriteToken,metadata:this.drafts[t].meta}));case 5:this.drafts[t]=null;case 6:case"end":return r.stop()}}),null,this)}},{key:"PolicyItems",value:function(e){var t,r;return n.async((function(i){for(;;)switch(i.prev=i.next){case 0:return t=e.policyId,r=e.policyWriteToken,i.t1=n,i.t2=this.client,i.next=5,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 5:return i.t3=i.sent,i.t4=t,i.t5=r,i.t6=["*/display_title"],i.t7={libraryId:i.t3,objectId:i.t4,writeToken:i.t5,metadataSubtree:"auth_policy_spec",select:i.t6},i.t8=i.t2.ContentObjectMetadata.call(i.t2,i.t7),i.next=13,i.t1.awrap.call(i.t1,i.t8);case 13:if(i.t0=i.sent,i.t0){i.next=16;break}i.t0={};case 16:return i.abrupt("return",i.t0);case 17:case"end":return i.stop()}}),null,this)}},{key:"ItemPolicy",value:function(e){var t,r,i,o,a;return n.async((function(s){for(;;)switch(s.prev=s.next){case 0:return t=e.policyId,r=e.policyWriteToken,i=e.itemId,s.next=3,n.awrap(this.ItemProfiles({policyId:t,policyWriteToken:r,itemId:i}));case 3:return o=s.sent,s.next=6,n.awrap(this.ItemPermissions({policyId:t,policyWriteToken:r,itemId:i}));case 6:if(a=s.sent,o&&a){s.next=9;break}return s.abrupt("return");case 9:return s.abrupt("return",{profiles:o,permissions:a});case 10:case"end":return s.stop()}}),null,this)}},{key:"CreateItemPolicy",value:function(e){var t,r,i,o,a,s,u,l,h,d=this;return n.async((function(p){for(;;)switch(p.prev=p.next){case 0:return t=e.policyId,r=e.policyWriteToken,i=e.itemId,o=e.profiles,a=void 0===o?{}:o,f("policyId",t),f("policyWriteToken",r),f("itemId",i),f("profiles",a),p.t1=n,p.t2=this.client,p.next=9,n.awrap(this.client.ContentObjectLibraryId({objectId:i}));case 9:return p.t3=p.sent,p.t4=i,p.t5=["public/name","public/asset_metadata/title","public/asset_metadata/display_title"],p.t6={libraryId:p.t3,objectId:p.t4,select:p.t5},p.t7=p.t2.ContentObjectMetadata.call(p.t2,p.t6),p.next=16,p.t1.awrap.call(p.t1,p.t7);case 16:if(p.t0=p.sent,p.t0){p.next=19;break}p.t0={};case 19:return s=p.t0,u=(s.public||{}).asset_metadata||{},l=u.display_title||u.title||(s.public||{}).name,h={display_title:l,permissions:[],profiles:{}},Object.keys(a).forEach((function(e){h.profiles[e]=d.FormatProfile(a[e])})),p.t8=n,p.t9=this.client,p.next=28,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 28:return p.t10=p.sent,p.t11=t,p.t12=r,p.t13=c("auth_policy_spec",i),p.t14=h,p.t15={libraryId:p.t10,objectId:p.t11,writeToken:p.t12,metadataSubtree:p.t13,metadata:p.t14},p.t16=p.t9.ReplaceMetadata.call(p.t9,p.t15),p.next=37,p.t8.awrap.call(p.t8,p.t16);case 37:case"end":return p.stop()}}),null,this)}},{key:"RemoveItemPolicy",value:function(e){var t,r,i;return n.async((function(o){for(;;)switch(o.prev=o.next){case 0:return t=e.policyId,r=e.policyWriteToken,i=e.itemId,f("policyId",t),f("policyWriteToken",r),f("itemId",i),o.t0=n,o.t1=this.client,o.next=8,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 8:return o.t2=o.sent,o.t3=t,o.t4=r,o.t5=c("auth_policy_spec",i),o.t6={libraryId:o.t2,objectId:o.t3,writeToken:o.t4,metadataSubtree:o.t5},o.t7=o.t1.DeleteMetadata.call(o.t1,o.t6),o.next=16,o.t0.awrap.call(o.t0,o.t7);case 16:case"end":return o.stop()}}),null,this)}},{key:"ItemProfiles",value:function(e){var t,r,i,o;return n.async((function(a){for(;;)switch(a.prev=a.next){case 0:return t=e.policyId,r=e.policyWriteToken,i=e.itemId,o=e.profileName,a.t0=n,a.t1=this.client,a.next=5,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 5:return a.t2=a.sent,a.t3=t,a.t4=r,a.t5=c("auth_policy_spec",i,"profiles",o||""),a.t6={libraryId:a.t2,objectId:a.t3,writeToken:a.t4,metadataSubtree:a.t5},a.t7=a.t1.ContentObjectMetadata.call(a.t1,a.t6),a.next=13,a.t0.awrap.call(a.t0,a.t7);case 13:return a.abrupt("return",a.sent);case 14:case"end":return a.stop()}}),null,this)}},{key:"SetProfile",value:function(e){var t,r,i,o,a;return n.async((function(s){for(;;)switch(s.prev=s.next){case 0:return t=e.policyId,r=e.policyWriteToken,i=e.itemId,o=e.profileName,a=e.profileSpec,f("policyId",t),f("policyWriteToken",r),f("itemId",i),f("profileName",o),f("profileSpec",a),s.t0=n,s.t1=this.client,s.next=10,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 10:return s.t2=s.sent,s.t3=t,s.t4=r,s.t5=c("auth_policy_spec",i,"profiles",o),s.t6=this.FormatProfile(a),s.t7={libraryId:s.t2,objectId:s.t3,writeToken:s.t4,metadataSubtree:s.t5,metadata:s.t6},s.t8=s.t1.ReplaceMetadata.call(s.t1,s.t7),s.next=19,s.t0.awrap.call(s.t0,s.t8);case 19:case"end":return s.stop()}}),null,this)}},{key:"RemoveProfile",value:function(e){var t,r,i,o;return n.async((function(a){for(;;)switch(a.prev=a.next){case 0:return t=e.policyId,r=e.policyWriteToken,i=e.itemId,o=e.profileName,f("policyId",t),f("policyWriteToken",r),f("itemId",i),f("profileName",o),a.t0=n,a.t1=this.client,a.next=9,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 9:return a.t2=a.sent,a.t3=t,a.t4=r,a.t5=c("auth_policy_spec",i,"profiles",o),a.t6={libraryId:a.t2,objectId:a.t3,writeToken:a.t4,metadataSubtree:a.t5},a.t7=a.t1.DeleteMetadata.call(a.t1,a.t6),a.next=17,a.t0.awrap.call(a.t0,a.t7);case 17:case"end":return a.stop()}}),null,this)}},{key:"ItemPermissions",value:function(e){var t,r,i,o,a,s=this;return n.async((function(u){for(;;)switch(u.prev=u.next){case 0:return t=e.policyId,r=e.policyWriteToken,i=e.itemId,u.next=3,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 3:return o=u.sent,u.next=6,n.awrap(this.client.ContentObjectMetadata({libraryId:o,objectId:t,writeToken:r,metadataSubtree:c("auth_policy_spec",i,"permissions")}));case 6:if(u.t0=u.sent,u.t0){u.next=9;break}u.t0=[];case 9:return a=u.t0,u.next=12,n.awrap(Promise.all(a.map((function(e){return n.async((function(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,n.awrap(s.FormatPermission({policyId:t,policyWriteToken:r,permission:e}));case 2:return i.abrupt("return",i.sent);case 3:case"end":return i.stop()}}))}))));case 12:return u.abrupt("return",u.sent);case 13:case"end":return u.stop()}}),null,this)}},{key:"SetPermission",value:function(e){var t,r,i,o,a,s,u,l,h,d,p,m,g,y,v,b,w,_,A,E,k;return n.async((function(x){for(;;)switch(x.prev=x.next){case 0:if(t=e.policyId,r=e.policyWriteToken,i=e.itemId,o=e.subjectSource,a=void 0===o?"fabric":o,s=e.subjectType,u=void 0===s?"group":s,l=e.subjectName,h=e.subjectId,d=e.subjectNTPId,p=e.profileName,m=e.start,g=e.end,f("policyId",t),f("policyWriteToken",r),f("itemId",i),f("subjectType",u),f("subjectSource",a),f("subjectId",h),f("profileName",p),m=this.FormatDate(m),g=this.FormatDate(g),y=this.offline&&null!=this.drafts[t],v=null,y){x.next=16;break}return x.next=15,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 15:v=x.sent;case 16:if("fabric"===a&&("group"===u?h.startsWith("igrp")||(h="igrp".concat(this.client.utils.AddressToHash(h))):"user"===u&&(h.startsWith("iusr")||(h="iusr".concat(this.client.utils.AddressToHash(h))))),!y){x.next=21;break}b=this.drafts[t].meta.auth_policy_spec[i],x.next=24;break;case 21:return x.next=23,n.awrap(this.client.ContentObjectMetadata({libraryId:v,objectId:t,writeToken:r,metadataSubtree:c("auth_policy_spec",i)}));case 23:b=x.sent;case 24:if(b){x.next=26;break}throw Error("Unable to add permissions to uninitialized item");case 26:if(b.profiles[p]){x.next=28;break}throw Error("Profile '".concat(p,"' does not exist"));case 28:if((w=b.permissions.findIndex((function(e){return"fabric"===a?e.subject.id===h:e.subject.oauth_id===h})))<0&&(w=b.permissions.length),_={profile:p},m&&(_.start=m),g&&(_.end=g),"fabric"!==a){x.next=53;break}if("group"!==u){x.next=38;break}A={id:h,type:"group"},x.next=51;break;case 38:if("user"!==u){x.next=42;break}A={id:h,type:"user"},x.next=51;break;case 42:if("ntp"!==u){x.next=46;break}A={id:h,type:"otp"},x.next=51;break;case 46:if("ntp_subject"!==u){x.next=50;break}A={id:h,otp_id:d,type:"otp_subject"},x.next=51;break;case 50:throw Error("Invalid subject type: ".concat(u));case 51:x.next=66;break;case 53:if("oauth"!==a){x.next=65;break}if("group"!==u){x.next=58;break}A={id:l,oauth_id:h,type:"oauth_group"},x.next=63;break;case 58:if("user"!==u){x.next=62;break}A={id:l,oauth_id:h,type:"oauth_user"},x.next=63;break;case 62:throw Error("Invalid subject type: ".concat(u));case 63:x.next=66;break;case 65:throw Error("Invalid subject source: ".concat(a));case 66:if(_.subject=A,b.permissions[w]=_,y){x.next=71;break}return x.next=71,n.awrap(this.client.ReplaceMetadata({libraryId:v,objectId:t,writeToken:r,metadataSubtree:c("auth_policy_spec",i,"permissions"),metadata:b.permissions}));case 71:if("fabric"!==a||"user"!==u){x.next=85;break}if(E={address:this.client.utils.HashToAddress(h),name:l},!y){x.next=77;break}this.drafts[t].meta.auth_policy_settings.fabric_users[this.client.utils.HashToAddress(h)]=E,x.next=83;break;case 77:return x.next=79,n.awrap(this.client.ContentObjectMetadata({libraryId:v,objectId:t,writeToken:r,metadataSubtree:c("auth_policy_settings","fabric_users",this.client.utils.HashToAddress(h))}));case 79:if(x.sent){x.next=83;break}return x.next=83,n.awrap(this.client.ReplaceMetadata({libraryId:v,objectId:t,writeToken:r,metadataSubtree:c("auth_policy_settings","fabric_users",this.client.utils.HashToAddress(h)),metadata:E}));case 83:x.next=97;break;case 85:if("fabric"!==a||"ntp"!==u){x.next=97;break}if(k={address:h,ntpId:h,name:l,type:"ntpInstance"},!y){x.next=91;break}this.drafts[t].meta.auth_policy_settings.ntp_instances[h]=k,x.next=97;break;case 91:return x.next=93,n.awrap(this.client.ContentObjectMetadata({libraryId:v,objectId:t,writeToken:r,metadataSubtree:c("auth_policy_settings","ntp_instances",h)}));case 93:if(x.sent){x.next=97;break}return x.next=97,n.awrap(this.client.ReplaceMetadata({libraryId:v,objectId:t,writeToken:r,metadataSubtree:c("auth_policy_settings","ntp_instances",h),metadata:k}));case 97:case"end":return x.stop()}}),null,this)}},{key:"RemovePermission",value:function(e){var t,r,i,o,a,s,u,l=this;return n.async((function(h){for(;;)switch(h.prev=h.next){case 0:return t=e.policyId,r=e.policyWriteToken,i=e.itemId,o=e.subjectId,f("policyId",t),f("policyWriteToken",r),f("itemId",i),f("subjectId",o),h.next=7,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 7:return a=h.sent,h.next=10,n.awrap(this.client.ContentObjectMetadata({libraryId:a,objectId:t,writeToken:r,metadataSubtree:c("auth_policy_spec",i,"permissions")}));case 10:if(s=h.sent){h.next=13;break}return h.abrupt("return");case 13:if(!o.startsWith("0x")){h.next=23;break}return u=this.client.utils.AddressToObjectId(o),h.next=17,n.awrap(this.client.AccessType({id:u}));case 17:if(h.t0=h.sent,"group"!==h.t0){h.next=22;break}o="igrp".concat(this.client.utils.AddressToHash(o)),h.next=23;break;case 22:o="iusr".concat(this.client.utils.AddressToHash(o));case 23:return h.next=25,n.awrap(Promise.all(s.map((function(e,s){return n.async((function(u){for(;;)switch(u.prev=u.next){case 0:if(e.subject.id!==o&&e.subject.oauth_id!==o){u.next=3;break}return u.next=3,n.awrap(l.client.DeleteMetadata({libraryId:a,objectId:t,writeToken:r,metadataSubtree:c("auth_policy_spec",i,"permissions",s.toString())}));case 3:case"end":return u.stop()}}))}))));case 25:case"end":return h.stop()}}),null,this)}},{key:"SubjectPermissions",value:function(e){var t,r,i,o,a,s,l,h,d,p,m,g,y=this;return n.async((function(v){for(;;)switch(v.prev=v.next){case 0:if(t=e.policyId,r=e.policyWriteToken,i=e.subjectId,f("policyId",t),f("subjectId",i),!i.startsWith("0x")){v.next=13;break}return o=this.client.utils.AddressToObjectId(i),v.next=7,n.awrap(this.client.AccessType({id:o}));case 7:if(v.t0=v.sent,"group"!==v.t0){v.next=12;break}i="igrp".concat(this.client.utils.AddressToHash(i)),v.next=13;break;case 12:i="iusr".concat(this.client.utils.AddressToHash(i));case 13:return v.next=15,n.awrap(this.client.ContentObjectLibraryId({objectId:t}));case 15:return a=v.sent,v.next=18,n.awrap(this.client.ContentObjectMetadata({libraryId:a,objectId:t,writeToken:r,metadataSubtree:c("auth_policy_spec")}));case 18:s=v.sent,l={},h=0,d=Object.keys(s);case 21:if(!(h<d.length)){v.next=31;break}return p=d[h],m=s[p].permissions||[],v.next=26,n.awrap(Promise.all(m.filter((function(e){return(e.subject||{}).oauth_id===i||(e.subject||{}).id===i})).map((function(e){return n.async((function(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,n.awrap(y.FormatPermission({policyId:t,policyWriteToken:r,permission:e}));case 2:return i.abrupt("return",i.sent);case 3:case"end":return i.stop()}}))}))));case 26:(g=v.sent).length>0&&(l[p]=u({},s[p],{permissions:g}));case 28:h++,v.next=21;break;case 31:return v.abrupt("return",l);case 32:case"end":return v.stop()}}),null,this)}},{key:"RemoveSubjectPermissions",value:function(e){var t,r,i,o,a=this;return n.async((function(s){for(;;)switch(s.prev=s.next){case 0:return t=e.policyId,r=e.policyWriteToken,i=e.subjectId,f("policyId",t),f("policyWriteToken",r),f("subjectId",i),s.next=6,n.awrap(this.SubjectPermissions({policyId:t,policyWriteToken:r,subjectId:i}));case 6:return o=s.sent,s.next=9,n.awrap(this.client.utils.LimitedMap(5,Object.keys(o),(function(e){return n.async((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,n.awrap(a.RemovePermission({policyId:t,policyWriteToken:r,subjectId:i,itemId:e}));case 2:case"end":return o.stop()}}))})));case 9:case"end":return s.stop()}}),null,this)}}]),e}();e.exports=d},function(e,t,r){(function(e){function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var r=function(e){"use strict";var r=Object.prototype,n=r.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function u(e,t,r,n){var i=t&&t.prototype instanceof f?t:f,o=Object.create(i.prototype),a=new E(n||[]);return o._invoke=function(e,t,r){var n="suspendedStart";return function(i,o){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===i)throw o;return x()}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var s=w(a,r);if(s){if(s===l)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=c(e,t,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===l)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}(e,r,a),o}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var l={};function f(){}function h(){}function d(){}var p={};p[o]=function(){return this};var m=Object.getPrototypeOf,g=m&&m(m(k([])));g&&g!==r&&n.call(g,o)&&(p=g);var y=d.prototype=f.prototype=Object.create(p);function v(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function b(e){var r;this._invoke=function(i,o){function a(){return new Promise((function(r,a){!function r(i,o,a,s){var u=c(e[i],e,o);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"===t(f)&&n.call(f,"__await")?Promise.resolve(f.__await).then((function(e){r("next",e,a,s)}),(function(e){r("throw",e,a,s)})):Promise.resolve(f).then((function(e){l.value=e,a(l)}),(function(e){return r("throw",e,a,s)}))}s(u.arg)}(i,o,r,a)}))}return r=r?r.then(a,a):a()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return l;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,l;var i=n.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,l):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,l)}function _(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function A(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function E(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(_,this),this.reset(!0)}function k(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function t(){for(;++r<e.length;)if(n.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return h.prototype=y.constructor=d,d.constructor=h,d[s]=h.displayName="GeneratorFunction",e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===h||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,s in e||(e[s]="GeneratorFunction")),e.prototype=Object.create(y),e},e.awrap=function(e){return{__await:e}},v(b.prototype),b.prototype[a]=function(){return this},e.AsyncIterator=b,e.async=function(t,r,n,i){var o=new b(u(t,r,n,i));return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},v(y),y[s]="Generator",y[o]=function(){return this},y.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=k,E.prototype={constructor:E,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(A),!e)for(var t in this)"t"===t.charAt(0)&&n.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(r,n){return a.type="throw",a.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var s=n.call(o,"catchLoc"),u=n.call(o,"finallyLoc");if(s&&u){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,l):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),l},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),A(r),l}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;A(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:k(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),l}},e}("object"===t(e)?e.exports:{});try{regeneratorRuntime=r}catch(e){Function("r","regeneratorRuntime = r")(r)}}).call(this,r(0)(e))},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function r(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}},function(e,t,r){var n,i,o;function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}o=function(){function e(e){var t=[];if(0===e.length)return"";if("string"!=typeof e[0])throw new TypeError("Url must be a string. Received "+e[0]);if(e[0].match(/^[^/:]+:\/*$/)&&e.length>1){var r=e.shift();e[0]=r+e[0]}e[0].match(/^file:\/\/\//)?e[0]=e[0].replace(/^([^/:]+):\/*/,"$1:///"):e[0]=e[0].replace(/^([^/:]+):\/*/,"$1://");for(var n=0;n<e.length;n++){var i=e[n];if("string"!=typeof i)throw new TypeError("Url must be a string. Received "+i);""!==i&&(n>0&&(i=i.replace(/^[\/]+/,"")),i=n<e.length-1?i.replace(/[\/]+$/,""):i.replace(/[\/]+$/,"/"),t.push(i))}var o=t.join("/"),a=(o=o.replace(/\/(\?|&|#[^!])/g,"$1")).split("?");return o=a.shift()+(a.length>0?"?":"")+a.join("&")}return function(){return e("object"===a(arguments[0])?arguments[0]:[].slice.call(arguments))}},e.exports?e.exports=o():void 0===(i="function"==typeof(n=o)?n.call(t,r,t,e):n)||(e.exports=i)},function(e,t,r){var n=r(15);t.ValidatePresence=function(e,t){if(!t)throw Error("".concat(e," not specified"))},t.ValidateLibrary=function(e){if(!e)throw Error("Library ID not specified");if(!e.toString().startsWith("i"))throw Error("Invalid library ID: ".concat(e))},t.ValidateObject=function(e){if(!e)throw Error("Object ID not specified");if(!e.toString().startsWith("i"))throw Error("Invalid object ID: ".concat(e))},t.ValidateVersion=function(e){if(!e)throw Error("Version hash not specified");if(!e.toString().startsWith("h"))throw Error("Invalid version hash: ".concat(e))},t.ValidateWriteToken=function(e){if(!e)throw Error("Write token not specified");if(!e.toString().startsWith("t"))throw Error("Invalid write token: ".concat(e))},t.ValidatePartHash=function(e){if(!e)throw Error("Part hash not specified");if(!e.toString().startsWith("hqp_")&&!e.toString().startsWith("hqpe"))throw Error("Invalid part hash: ".concat(e))},t.ValidateParameters=function(e){var r=e.libraryId,n=e.objectId,i=e.versionHash;i?t.ValidateVersion(i):(t.ValidateLibrary(r),t.ValidateObject(n))},t.ValidateAddress=function(e){if(!e)throw Error("Address not specified");if(!/^(0x)?[0-9a-f]{40}$/i.test(e.toLowerCase()))throw Error("Invalid address: ".concat(e));return n.FormatAddress(e)},t.ValidatePermission=function(e){if(e&&"full-access"!==e&&"no-access"!==e)throw Error("Invalid profile permission: ".concat(e));return e},t.ValidateDate=function(e){if(e){if(isNaN(new Date(e)))throw Error("Invalid date: ".concat(e));return new Date(e).getTime()}}},function(e,t,r){(function(t,n){var i=r(20),o=r(3),a=r(4),s=r(24),u=this;function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}void 0===t&&(t=r(1).Buffer);var l=r(28),f=r(31).default,h=r(32),d=r(36),p=r(37).utils,m=p.keccak256,g=p.getAddress,y={name:"Utils",nullAddress:"0x0000000000000000000000000000000000000000",weiPerEther:new f("1000000000000000000"),ToBigNumber:function(e){return new f(e)},WeiToEther:function(e){return y.ToBigNumber(e).div(y.weiPerEther)},EtherToWei:function(e){return y.ToBigNumber(e).times(y.weiPerEther)},FormatAddress:function(e){return e&&"string"==typeof e?((e=e.trim()).startsWith("0x")||(e="0x"+e),e.toLowerCase()):""},FormatSignature:function(e){return e=e.replace("0x",""),"ES256K_"+l.encode(t.from(e,"hex"))},DecodeVersionHash:function(e){if(!e.startsWith("hq__")&&!e.startsWith("tq__"))throw new Error('Invalid version hash: "'.concat(e,'"'));e=e.slice(4);var r=y.FromB58(e),n=r.slice(0,32),i=n.toString("hex");r=r.slice(32);for(var o=0;r[o]>=128;)o++;o++;var a=r.slice(0,o),s=h.decode(a);return r=r.slice(o),{digest:i,size:s,objectId:"iq__"+y.B58(r),partHash:"hqp_"+y.B58(t.concat([n,a]))}},DecodeWriteToken:function(e){if(e.length<4)throw new Error('Invalid write token: ["'.concat(e,'"] (unknown prefix)'));var t;if(e.startsWith("tqw__")?(t="tq__",e=e.slice(5)):(t=e.slice(0,4),e=e.slice(4)),0===e.length)throw new Error('Invalid write token: ["'.concat(e,'"] (too short)'));switch(t){case"tqw_":case"tq__":case"tqpw":case"tqp_":case"tlro":break;default:throw new Error('Invalid write token: ["'.concat(e,'"] (unknown prefix)'))}var r,n,i,o,a,s=y.FromB58(e);function u(e,t){var r,n,i=h.decode(s,0),o=h.decode.bytes;return n=e?0===(r=s.slice(o+1,i+o)).length?"":t+y.B58(r):"0x"+(r=s.slice(o,i+o)).toString("hex"),s=s.slice(i+o),n}switch(t){case"tqw_":case"tqpw":r="0x"+s.toString("hex");break;case"tlro":case"tq__":n=u(!0,"iq__"),i=u(!0,"inod"),r=u(!1,"");break;case"tqp_":if(s.length<3)throw new Error('Invalid write token: ["'.concat(e,'"] (token truncated)'));o=s[0],a=s[1],s=s.slice(2),r=u(!1,"");break;default:throw new Error('Invalid write token: ["'.concat(e,'"] (unknown prefix)'))}return{tokenType:t,tokenId:r,objectId:n,nodeId:i,scheme:o,flags:a}},AddressToHash:function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e=e.replace(r?"0x04":"0x",""),l.encode(t.from(e,"hex"))},AddressToSpaceId:function(e){return"ispc"+y.AddressToHash(e)},AddressToLibraryId:function(e){return"ilib"+y.AddressToHash(e)},AddressToObjectId:function(e){return"iq__"+y.AddressToHash(e)},HashToAddress:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e=t?e:e.substr(4),y.FormatAddress((t?"0x04":"0x")+l.decode(e).toString("hex"))},EqualAddress:function(e,t){return!(!e||!t)&&y.FormatAddress(e)===y.FormatAddress(t)},EqualHash:function(e,t){return!(!e||!t)&&(!(e.length<=4||t.length<=4)&&y.HashToAddress(e)===y.HashToAddress(t))},ValidAddress:function(e){try{return g(e),!0}catch(e){return u.Log(e),!1}},ValidHash:function(e){return y.ValidAddress(y.HashToAddress(e))},ToBytes32:function(e){return"0x"+e.split("").map((function(e){return e.charCodeAt(0).toString(16)})).join("").slice(0,64).padEnd(64,"0")},BufferToArrayBuffer:function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)},B64:function(e){return t.from(e,"utf-8").toString("base64")},FromB64:function(e){return t.from(e,"base64").toString("utf-8")},B58:function(e){return l.encode(t.from(e))},FromB58:function(e){return l.decode(e)},DecodeAuthorizationToken:function(e){var t=(e=decodeURIComponent(e)).split("."),r=s(t,2),n=r[0],i=r[1];return function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},n=JSON.parse(y.FromB64(n)),{signature:i})},LimitedMap:function(e,t,r){var n,a,s,u,c;return o.async((function(l){for(;;)switch(l.prev=l.next){case 0:return n=0,a=!1,s=function(){var e;return o.async((function(t){for(;;)switch(t.prev=t.next){case 0:if(!a){t.next=5;break}return t.next=3,o.awrap(new Promise((function(e){return setTimeout(e,10)})));case 3:t.next=0;break;case 5:return a=!0,e=n,n+=1,a=!1,t.abrupt("return",e);case 10:case"end":return t.stop()}}))},u=[],c=0,l.abrupt("return",new Promise((function(n,a){i(Array(e||1)).forEach((function(){var e;return o.async((function(i){for(;;)switch(i.prev=i.next){case 0:return c+=1,i.next=3,o.awrap(s());case 3:e=i.sent;case 4:if(!(e<t.length)){i.next=19;break}return i.prev=5,i.next=8,o.awrap(r(t[e],e));case 8:u[e]=i.sent,i.next=14;break;case 11:i.prev=11,i.t0=i.catch(5),a(i.t0);case 14:return i.next=16,o.awrap(s());case 16:e=i.sent,i.next=4;break;case 19:0===(c-=1)&&n(u);case 21:case"end":return i.stop()}}),null,null,[[5,11]])}))})));case 6:case"end":return l.stop()}}))},ResponseToJson:function(e){return o.async((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",y.ResponseToFormat("json",e));case 1:case"end":return t.stop()}}))},ResponseToFormat:function(e,t){return o.async((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,o.awrap(t);case 2:t=r.sent,r.t0=e.toLowerCase(),r.next="json"===r.t0?6:"text"===r.t0?9:"blob"===r.t0?12:"arraybuffer"===r.t0?15:"formdata"===r.t0?18:"buffer"===r.t0?21:24;break;case 6:return r.next=8,o.awrap(t.json());case 8:return r.abrupt("return",r.sent);case 9:return r.next=11,o.awrap(t.text());case 11:return r.abrupt("return",r.sent);case 12:return r.next=14,o.awrap(t.blob());case 14:return r.abrupt("return",r.sent);case 15:return r.next=17,o.awrap(t.arrayBuffer());case 17:return r.abrupt("return",r.sent);case 18:return r.next=20,o.awrap(t.formData());case 20:return r.abrupt("return",r.sent);case 21:return r.next=23,o.awrap(t.buffer());case 23:return r.abrupt("return",r.sent);case 24:return r.abrupt("return",t);case 25:case"end":return r.stop()}}))},ResizeImage:function(e){var t=e.imageUrl,r=e.height;return!t||t&&!t.startsWith("http")?t:(t=d(t).removeSearch("height").removeSearch("header-x_image_height"),r&&!isNaN(parseInt(r))&&t.addSearch("height",parseInt(r)),t.toString())},SafeTraverse:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];if(!e)return e;1===r.length&&Array.isArray(r[0])&&(r=r[0]);for(var i=e,o=0;o<r.length;o++)if(void 0===(i=i[r[o]]))return;return i},IsCloneable:function(e){if(Object(e)!==e)return!0;switch({}.toString.call(e).slice(8,-1)){case"Boolean":case"Number":case"String":case"Date":case"RegExp":case"Blob":case"FileList":case"ImageData":case"ImageBitmap":case"ArrayBuffer":return!0;case"Array":case"Object":return Object.keys(e).every((function(t){return y.IsCloneable(e[t])}));case"Map":return i(e.keys()).every(y.IsCloneable)&&i(e.values()).every(y.IsCloneable);case"Set":return i(e.keys()).every(y.IsCloneable);default:return!1}},MakeClonable:function(e){if(y.IsCloneable(e))return e;if(t.isBuffer(e))return y.BufferToArrayBuffer(e);switch({}.toString.call(e).slice(8,-1)){case"Response":case"Function":return;case"Boolean":case"Number":case"String":case"Date":case"RegExp":case"Blob":case"FileList":case"ImageData":case"ImageBitmap":case"ArrayBuffer":return e;case"Array":return e.map((function(e){return y.MakeClonable(e)}));case"Set":return new Set(Array.from(e.keys()).map((function(e){return y.MakeClonable(e)})));case"Map":var r=new Map;return Array.from(e.keys()).forEach((function(t){var n=y.MakeClonable(e.get(t));n&&r.set(t,n)})),r;case"Error":return e.message;case"Object":var n={};return Object.keys(e).map((function(t){var r=y.MakeClonable(e[t]);r&&(n[t]=r)})),n;default:return JSON.parse(JSON.stringify(e))}},PublicKeyToAddress:function(e){var r=new Uint8Array(t.from(e.replace("0x04",""),"hex")),n="0x"+m(r).slice(26);return y.FormatAddress(n)},PLATFORM_NODE:"node",PLATFORM_WEB:"web",PLATFORM_REACT_NATIVE:"react-native",Platform:function(){return"undefined"!=typeof navigator&&"ReactNative"===navigator.product?y.PLATFORM_REACT_NATIVE:void 0!==n&&void 0!==n.versions&&void 0!==n.versions.node?y.PLATFORM_NODE:y.PLATFORM_WEB}};e.exports=y}).call(this,r(1).Buffer,r(19))},function(e,t,r){"use strict";t.byteLength=function(e){var t=c(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,n=c(e),a=n[0],s=n[1],u=new o(function(e,t,r){return 3*(t+r)/4-r}(0,a,s)),l=0,f=s>0?a-4:a;for(r=0;r<f;r+=4)t=i[e.charCodeAt(r)]<<18|i[e.charCodeAt(r+1)]<<12|i[e.charCodeAt(r+2)]<<6|i[e.charCodeAt(r+3)],u[l++]=t>>16&255,u[l++]=t>>8&255,u[l++]=255&t;2===s&&(t=i[e.charCodeAt(r)]<<2|i[e.charCodeAt(r+1)]>>4,u[l++]=255&t);1===s&&(t=i[e.charCodeAt(r)]<<10|i[e.charCodeAt(r+1)]<<4|i[e.charCodeAt(r+2)]>>2,u[l++]=t>>8&255,u[l++]=255&t);return u},t.fromByteArray=function(e){for(var t,r=e.length,i=r%3,o=[],a=0,s=r-i;a<s;a+=16383)o.push(l(e,a,a+16383>s?s:a+16383));1===i?(t=e[r-1],o.push(n[t>>2]+n[t<<4&63]+"==")):2===i&&(t=(e[r-2]<<8)+e[r-1],o.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return o.join("")};for(var n=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=a.length;s<u;++s)n[s]=a[s],i[a.charCodeAt(s)]=s;function c(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function l(e,t,r){for(var i,o,a=[],s=t;s<r;s+=3)i=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),a.push(n[(o=i)>>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,r,n,i){var o,a,s=8*i-n-1,u=(1<<s)-1,c=u>>1,l=-7,f=r?i-1:0,h=r?-1:1,d=e[t+f];for(f+=h,o=d&(1<<-l)-1,d>>=-l,l+=s;l>0;o=256*o+e[t+f],f+=h,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=n;l>0;a=256*a+e[t+f],f+=h,l-=8);if(0===o)o=1-c;else{if(o===u)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,n),o-=c}return(d?-1:1)*a*Math.pow(2,o-n)},t.write=function(e,t,r,n,i,o){var a,s,u,c=8*o-i-1,l=(1<<c)-1,f=l>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:o-1,p=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+f>=1?h/u:h*Math.pow(2,1-f))*u>=2&&(a++,u/=2),a+f>=l?(s=0,a=l):a+f>=1?(s=(t*u-1)*Math.pow(2,i),a+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,i),a=0));i>=8;e[r+d]=255&s,d+=p,s/=256,i-=8);for(a=a<<i|s,c+=i;c>0;e[r+d]=255&a,d+=p,a/=256,c-=8);e[r+d-p]|=128*m}},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t){var r,n,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(e){if(r===setTimeout)return setTimeout(e,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:o}catch(e){r=o}try{n="function"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var u,c=[],l=!1,f=-1;function h(){l&&u&&(l=!1,u.length?c=u.concat(c):f=-1,c.length&&d())}function d(){if(!l){var e=s(h);l=!0;for(var t=c.length;t;){for(u=c,c=[];++f<t;)u&&u[f].run();f=-1,t=c.length}u=null,l=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===a||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function m(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new p(e,t)),1!==c.length||l||s(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=m,i.addListener=m,i.once=m,i.off=m,i.removeListener=m,i.removeAllListeners=m,i.emit=m,i.prependListener=m,i.prependOnceListener=m,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(e,t,r){var n=r(21),i=r(22),o=r(23);e.exports=function(e){return n(e)||i(e)||o()}},function(e,t){e.exports=function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}},function(e,t){e.exports=function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},function(e,t,r){var n=r(25),i=r(26),o=r(27);e.exports=function(e,t){return n(e)||i(e,t)||o()}},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var r=[],n=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(n=(a=s.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){i=!0,o=e}finally{try{n||null==s.return||s.return()}finally{if(i)throw o}}return r}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,t,r){var n=r(29);e.exports=n("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")},function(e,t,r){"use strict";var n=r(30).Buffer;e.exports=function(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var i=0;i<e.length;i++){var o=e.charAt(i),a=o.charCodeAt(0);if(255!==t[a])throw new TypeError(o+" is ambiguous");t[a]=i}var s=e.length,u=e.charAt(0),c=Math.log(s)/Math.log(256),l=Math.log(256)/Math.log(s);function f(e){if("string"!=typeof e)throw new TypeError("Expected String");if(0===e.length)return n.alloc(0);var r=0;if(" "!==e[r]){for(var i=0,o=0;e[r]===u;)i++,r++;for(var a=(e.length-r)*c+1>>>0,l=new Uint8Array(a);e[r];){var f=t[e.charCodeAt(r)];if(255===f)return;for(var h=0,d=a-1;(0!==f||h<o)&&-1!==d;d--,h++)f+=s*l[d]>>>0,l[d]=f%256>>>0,f=f/256>>>0;if(0!==f)throw new Error("Non-zero carry");o=h,r++}if(" "!==e[r]){for(var p=a-o;p!==a&&0===l[p];)p++;var m=n.allocUnsafe(i+(a-p));m.fill(0,0,i);for(var g=i;p!==a;)m[g++]=l[p++];return m}}}return{encode:function(t){if((Array.isArray(t)||t instanceof Uint8Array)&&(t=n.from(t)),!n.isBuffer(t))throw new TypeError("Expected Buffer");if(0===t.length)return"";for(var r=0,i=0,o=0,a=t.length;o!==a&&0===t[o];)o++,r++;for(var c=(a-o)*l+1>>>0,f=new Uint8Array(c);o!==a;){for(var h=t[o],d=0,p=c-1;(0!==h||d<i)&&-1!==p;p--,d++)h+=256*f[p]>>>0,f[p]=h%s>>>0,h=h/s>>>0;if(0!==h)throw new Error("Non-zero carry");i=d,o++}for(var m=c-i;m!==c&&0===f[m];)m++;for(var g=u.repeat(r);m<c;++m)g+=e.charAt(f[m]);return g},decodeUnsafe:f,decode:function(e){var t=f(e);if(t)return t;throw new Error("Non-base"+s+" character")}}}},function(e,t,r){var n=r(1),i=n.Buffer;function o(e,t){for(var r in e)t[r]=e[r]}function a(e,t,r){return i(e,t,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(o(n,t),t.Buffer=a),a.prototype=Object.create(i.prototype),o(i,a),a.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,r)},a.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=i(e);return void 0!==t?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},a.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},a.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},function(e,t,r){var n;function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}!function(o){"use strict";var a,s=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,u="function"==typeof Symbol&&"symbol"==i(Symbol.iterator),c=Math.ceil,l=Math.floor,f="[BigNumber Error] ",h=f+"Number primitive has more than 15 significant digits: ",d=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13];function p(e){var t=0|e;return e>0||e===t?t:t-1}function m(e){for(var t,r,n=1,i=e.length,o=e[0]+"";n<i;){for(r=14-(t=e[n++]+"").length;r--;t="0"+t);o+=t}for(i=o.length;48===o.charCodeAt(--i););return o.slice(0,i+1||1)}function g(e,t){var r,n,i=e.c,o=t.c,a=e.s,s=t.s,u=e.e,c=t.e;if(!a||!s)return null;if(r=i&&!i[0],n=o&&!o[0],r||n)return r?n?0:-s:a;if(a!=s)return a;if(r=a<0,n=u==c,!i||!o)return n?0:!i^r?1:-1;if(!n)return u>c^r?1:-1;for(s=(u=i.length)<(c=o.length)?u:c,a=0;a<s;a++)if(i[a]!=o[a])return i[a]>o[a]^r?1:-1;return u==c?0:u>c^r?1:-1}function y(e,t,r,n){if(e<t||e>r||e!==l(e))throw Error(f+(n||"Argument")+("number"==typeof e?e<t||e>r?" out of range: ":" not an integer: ":" not a primitive number: ")+String(e))}function v(e){var t=e.c.length-1;return p(e.e/14)==t&&e.c[t]%2!=0}function b(e,t){return(e.length>1?e.charAt(0)+"."+e.slice(1):e)+(t<0?"e":"e+")+t}function w(e,t,r){var n,i;if(t<0){for(i=r+".";++t;i+=r);e=i+e}else if(++t>(n=e.length)){for(i=r,t-=n;--t;i+=r);e+=i}else t<n&&(e=e.slice(0,t)+"."+e.slice(t));return e}(a=function e(t){var r,n,o,a,_,A,E,k,x,S=D.prototype={constructor:D,toString:null,valueOf:null},M=new D(1),I=20,P=4,T=-7,N=21,O=-1e7,R=1e7,C=!1,j=1,L=0,B={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},U="0123456789abcdefghijklmnopqrstuvwxyz";function D(e,t){var r,i,a,u,c,f,d,p,m=this;if(!(m instanceof D))return new D(e,t);if(null==t){if(e&&!0===e._isBigNumber)return m.s=e.s,void(!e.c||e.e>R?m.c=m.e=null:e.e<O?m.c=[m.e=0]:(m.e=e.e,m.c=e.c.slice()));if((f="number"==typeof e)&&0*e==0){if(m.s=1/e<0?(e=-e,-1):1,e===~~e){for(u=0,c=e;c>=10;c/=10,u++);return void(u>R?m.c=m.e=null:(m.e=u,m.c=[e]))}p=String(e)}else{if(!s.test(p=String(e)))return o(m,p,f);m.s=45==p.charCodeAt(0)?(p=p.slice(1),-1):1}(u=p.indexOf("."))>-1&&(p=p.replace(".","")),(c=p.search(/e/i))>0?(u<0&&(u=c),u+=+p.slice(c+1),p=p.substring(0,c)):u<0&&(u=p.length)}else{if(y(t,2,U.length,"Base"),10==t)return G(m=new D(e),I+m.e+1,P);if(p=String(e),f="number"==typeof e){if(0*e!=0)return o(m,p,f,t);if(m.s=1/e<0?(p=p.slice(1),-1):1,D.DEBUG&&p.replace(/^0\.0*|\./,"").length>15)throw Error(h+e)}else m.s=45===p.charCodeAt(0)?(p=p.slice(1),-1):1;for(r=U.slice(0,t),u=c=0,d=p.length;c<d;c++)if(r.indexOf(i=p.charAt(c))<0){if("."==i){if(c>u){u=d;continue}}else if(!a&&(p==p.toUpperCase()&&(p=p.toLowerCase())||p==p.toLowerCase()&&(p=p.toUpperCase()))){a=!0,c=-1,u=0;continue}return o(m,String(e),f,t)}f=!1,(u=(p=n(p,t,10,m.s)).indexOf("."))>-1?p=p.replace(".",""):u=p.length}for(c=0;48===p.charCodeAt(c);c++);for(d=p.length;48===p.charCodeAt(--d););if(p=p.slice(c,++d)){if(d-=c,f&&D.DEBUG&&d>15&&(e>9007199254740991||e!==l(e)))throw Error(h+m.s*e);if((u=u-c-1)>R)m.c=m.e=null;else if(u<O)m.c=[m.e=0];else{if(m.e=u,m.c=[],c=(u+1)%14,u<0&&(c+=14),c<d){for(c&&m.c.push(+p.slice(0,c)),d-=14;c<d;)m.c.push(+p.slice(c,c+=14));c=14-(p=p.slice(c)).length}else c-=d;for(;c--;p+="0");m.c.push(+p)}}else m.c=[m.e=0]}function F(e,t,r,n){var i,o,a,s,u;if(null==r?r=P:y(r,0,8),!e.c)return e.toString();if(i=e.c[0],a=e.e,null==t)u=m(e.c),u=1==n||2==n&&(a<=T||a>=N)?b(u,a):w(u,a,"0");else if(o=(e=G(new D(e),t,r)).e,s=(u=m(e.c)).length,1==n||2==n&&(t<=o||o<=T)){for(;s<t;u+="0",s++);u=b(u,o)}else if(t-=a,u=w(u,o,"0"),o+1>s){if(--t>0)for(u+=".";t--;u+="0");}else if((t+=o-s)>0)for(o+1==s&&(u+=".");t--;u+="0");return e.s<0&&i?"-"+u:u}function z(e,t){for(var r,n=1,i=new D(e[0]);n<e.length;n++){if(!(r=new D(e[n])).s){i=r;break}t.call(i,r)&&(i=r)}return i}function H(e,t,r){for(var n=1,i=t.length;!t[--i];t.pop());for(i=t[0];i>=10;i/=10,n++);return(r=n+14*r-1)>R?e.c=e.e=null:r<O?e.c=[e.e=0]:(e.e=r,e.c=t),e}function G(e,t,r,n){var i,o,a,s,u,f,h,p=e.c,m=d;if(p){e:{for(i=1,s=p[0];s>=10;s/=10,i++);if((o=t-i)<0)o+=14,a=t,h=(u=p[f=0])/m[i-a-1]%10|0;else if((f=c((o+1)/14))>=p.length){if(!n)break e;for(;p.length<=f;p.push(0));u=h=0,i=1,a=(o%=14)-14+1}else{for(u=s=p[f],i=1;s>=10;s/=10,i++);h=(a=(o%=14)-14+i)<0?0:u/m[i-a-1]%10|0}if(n=n||t<0||null!=p[f+1]||(a<0?u:u%m[i-a-1]),n=r<4?(h||n)&&(0==r||r==(e.s<0?3:2)):h>5||5==h&&(4==r||n||6==r&&(o>0?a>0?u/m[i-a]:0:p[f-1])%10&1||r==(e.s<0?8:7)),t<1||!p[0])return p.length=0,n?(t-=e.e+1,p[0]=m[(14-t%14)%14],e.e=-t||0):p[0]=e.e=0,e;if(0==o?(p.length=f,s=1,f--):(p.length=f+1,s=m[14-o],p[f]=a>0?l(u/m[i-a]%m[a])*s:0),n)for(;;){if(0==f){for(o=1,a=p[0];a>=10;a/=10,o++);for(a=p[0]+=s,s=1;a>=10;a/=10,s++);o!=s&&(e.e++,1e14==p[0]&&(p[0]=1));break}if(p[f]+=s,1e14!=p[f])break;p[f--]=0,s=1}for(o=p.length;0===p[--o];p.pop());}e.e>R?e.c=e.e=null:e.e<O&&(e.c=[e.e=0])}return e}function q(e){var t,r=e.e;return null===r?e.toString():(t=m(e.c),t=r<=T||r>=N?b(t,r):w(t,r,"0"),e.s<0?"-"+t:t)}return D.clone=e,D.ROUND_UP=0,D.ROUND_DOWN=1,D.ROUND_CEIL=2,D.ROUND_FLOOR=3,D.ROUND_HALF_UP=4,D.ROUND_HALF_DOWN=5,D.ROUND_HALF_EVEN=6,D.ROUND_HALF_CEIL=7,D.ROUND_HALF_FLOOR=8,D.EUCLID=9,D.config=D.set=function(e){var t,r;if(null!=e){if("object"!=i(e))throw Error(f+"Object expected: "+e);if(e.hasOwnProperty(t="DECIMAL_PLACES")&&(y(r=e[t],0,1e9,t),I=r),e.hasOwnProperty(t="ROUNDING_MODE")&&(y(r=e[t],0,8,t),P=r),e.hasOwnProperty(t="EXPONENTIAL_AT")&&((r=e[t])&&r.pop?(y(r[0],-1e9,0,t),y(r[1],0,1e9,t),T=r[0],N=r[1]):(y(r,-1e9,1e9,t),T=-(N=r<0?-r:r))),e.hasOwnProperty(t="RANGE"))if((r=e[t])&&r.pop)y(r[0],-1e9,-1,t),y(r[1],1,1e9,t),O=r[0],R=r[1];else{if(y(r,-1e9,1e9,t),!r)throw Error(f+t+" cannot be zero: "+r);O=-(R=r<0?-r:r)}if(e.hasOwnProperty(t="CRYPTO")){if((r=e[t])!==!!r)throw Error(f+t+" not true or false: "+r);if(r){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw C=!r,Error(f+"crypto unavailable");C=r}else C=r}if(e.hasOwnProperty(t="MODULO_MODE")&&(y(r=e[t],0,9,t),j=r),e.hasOwnProperty(t="POW_PRECISION")&&(y(r=e[t],0,1e9,t),L=r),e.hasOwnProperty(t="FORMAT")){if("object"!=i(r=e[t]))throw Error(f+t+" not an object: "+r);B=r}if(e.hasOwnProperty(t="ALPHABET")){if("string"!=typeof(r=e[t])||/^.$|[+-.\s]|(.).*\1/.test(r))throw Error(f+t+" invalid: "+r);U=r}}return{DECIMAL_PLACES:I,ROUNDING_MODE:P,EXPONENTIAL_AT:[T,N],RANGE:[O,R],CRYPTO:C,MODULO_MODE:j,POW_PRECISION:L,FORMAT:B,ALPHABET:U}},D.isBigNumber=function(e){if(!e||!0!==e._isBigNumber)return!1;if(!D.DEBUG)return!0;var t,r,n=e.c,i=e.e,o=e.s;e:if("[object Array]"=={}.toString.call(n)){if((1===o||-1===o)&&i>=-1e9&&i<=1e9&&i===l(i)){if(0===n[0]){if(0===i&&1===n.length)return!0;break e}if((t=(i+1)%14)<1&&(t+=14),String(n[0]).length==t){for(t=0;t<n.length;t++)if((r=n[t])<0||r>=1e14||r!==l(r))break e;if(0!==r)return!0}}}else if(null===n&&null===i&&(null===o||1===o||-1===o))return!0;throw Error(f+"Invalid BigNumber: "+e)},D.maximum=D.max=function(){return z(arguments,S.lt)},D.minimum=D.min=function(){return z(arguments,S.gt)},D.random=(a=9007199254740992*Math.random()&2097151?function(){return l(9007199254740992*Math.random())}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function(e){var t,r,n,i,o,s=0,u=[],h=new D(M);if(null==e?e=I:y(e,0,1e9),i=c(e/14),C)if(crypto.getRandomValues){for(t=crypto.getRandomValues(new Uint32Array(i*=2));s<i;)(o=131072*t[s]+(t[s+1]>>>11))>=9e15?(r=crypto.getRandomValues(new Uint32Array(2)),t[s]=r[0],t[s+1]=r[1]):(u.push(o%1e14),s+=2);s=i/2}else{if(!crypto.randomBytes)throw C=!1,Error(f+"crypto unavailable");for(t=crypto.randomBytes(i*=7);s<i;)(o=281474976710656*(31&t[s])+1099511627776*t[s+1]+4294967296*t[s+2]+16777216*t[s+3]+(t[s+4]<<16)+(t[s+5]<<8)+t[s+6])>=9e15?crypto.randomBytes(7).copy(t,s):(u.push(o%1e14),s+=7);s=i/7}if(!C)for(;s<i;)(o=a())<9e15&&(u[s++]=o%1e14);for(e%=14,(i=u[--s])&&e&&(o=d[14-e],u[s]=l(i/o)*o);0===u[s];u.pop(),s--);if(s<0)u=[n=0];else{for(n=-1;0===u[0];u.splice(0,1),n-=14);for(s=1,o=u[0];o>=10;o/=10,s++);s<14&&(n-=14-s)}return h.e=n,h.c=u,h}),D.sum=function(){for(var e=1,t=arguments,r=new D(t[0]);e<t.length;)r=r.plus(t[e++]);return r},n=function(){function e(e,t,r,n){for(var i,o,a=[0],s=0,u=e.length;s<u;){for(o=a.length;o--;a[o]*=t);for(a[0]+=n.indexOf(e.charAt(s++)),i=0;i<a.length;i++)a[i]>r-1&&(null==a[i+1]&&(a[i+1]=0),a[i+1]+=a[i]/r|0,a[i]%=r)}return a.reverse()}return function(t,n,i,o,a){var s,u,c,l,f,h,d,p,g=t.indexOf("."),y=I,v=P;for(g>=0&&(l=L,L=0,t=t.replace(".",""),h=(p=new D(n)).pow(t.length-g),L=l,p.c=e(w(m(h.c),h.e,"0"),10,i,"0123456789"),p.e=p.c.length),c=l=(d=e(t,n,i,a?(s=U,"0123456789"):(s="0123456789",U))).length;0==d[--l];d.pop());if(!d[0])return s.charAt(0);if(g<0?--c:(h.c=d,h.e=c,h.s=o,d=(h=r(h,p,y,v,i)).c,f=h.r,c=h.e),g=d[u=c+y+1],l=i/2,f=f||u<0||null!=d[u+1],f=v<4?(null!=g||f)&&(0==v||v==(h.s<0?3:2)):g>l||g==l&&(4==v||f||6==v&&1&d[u-1]||v==(h.s<0?8:7)),u<1||!d[0])t=f?w(s.charAt(1),-y,s.charAt(0)):s.charAt(0);else{if(d.length=u,f)for(--i;++d[--u]>i;)d[u]=0,u||(++c,d=[1].concat(d));for(l=d.length;!d[--l];);for(g=0,t="";g<=l;t+=s.charAt(d[g++]));t=w(t,c,s.charAt(0))}return t}}(),r=function(){function e(e,t,r){var n,i,o,a,s=0,u=e.length,c=t%1e7,l=t/1e7|0;for(e=e.slice();u--;)s=((i=c*(o=e[u]%1e7)+(n=l*o+(a=e[u]/1e7|0)*c)%1e7*1e7+s)/r|0)+(n/1e7|0)+l*a,e[u]=i%r;return s&&(e=[s].concat(e)),e}function t(e,t,r,n){var i,o;if(r!=n)o=r>n?1:-1;else for(i=o=0;i<r;i++)if(e[i]!=t[i]){o=e[i]>t[i]?1:-1;break}return o}function r(e,t,r,n){for(var i=0;r--;)e[r]-=i,i=e[r]<t[r]?1:0,e[r]=i*n+e[r]-t[r];for(;!e[0]&&e.length>1;e.splice(0,1));}return function(n,i,o,a,s){var u,c,f,h,d,m,g,y,v,b,w,_,A,E,k,x,S,M=n.s==i.s?1:-1,I=n.c,P=i.c;if(!(I&&I[0]&&P&&P[0]))return new D(n.s&&i.s&&(I?!P||I[0]!=P[0]:P)?I&&0==I[0]||!P?0*M:M/0:NaN);for(v=(y=new D(M)).c=[],M=o+(c=n.e-i.e)+1,s||(s=1e14,c=p(n.e/14)-p(i.e/14),M=M/14|0),f=0;P[f]==(I[f]||0);f++);if(P[f]>(I[f]||0)&&c--,M<0)v.push(1),h=!0;else{for(E=I.length,x=P.length,f=0,M+=2,(d=l(s/(P[0]+1)))>1&&(P=e(P,d,s),I=e(I,d,s),x=P.length,E=I.length),A=x,w=(b=I.slice(0,x)).length;w<x;b[w++]=0);S=P.slice(),S=[0].concat(S),k=P[0],P[1]>=s/2&&k++;do{if(d=0,(u=t(P,b,x,w))<0){if(_=b[0],x!=w&&(_=_*s+(b[1]||0)),(d=l(_/k))>1)for(d>=s&&(d=s-1),g=(m=e(P,d,s)).length,w=b.length;1==t(m,b,g,w);)d--,r(m,x<g?S:P,g,s),g=m.length,u=1;else 0==d&&(u=d=1),g=(m=P.slice()).length;if(g<w&&(m=[0].concat(m)),r(b,m,w,s),w=b.length,-1==u)for(;t(P,b,x,w)<1;)d++,r(b,x<w?S:P,w,s),w=b.length}else 0===u&&(d++,b=[0]);v[f++]=d,b[0]?b[w++]=I[A]||0:(b=[I[A]],w=1)}while((A++<E||null!=b[0])&&M--);h=null!=b[0],v[0]||v.splice(0,1)}if(1e14==s){for(f=1,M=v[0];M>=10;M/=10,f++);G(y,o+(y.e=f+14*c-1)+1,a,h)}else y.e=c,y.r=+h;return y}}(),_=/^(-?)0([xbo])(?=\w[\w.]*$)/i,A=/^([^.]+)\.$/,E=/^\.([^.]+)$/,k=/^-?(Infinity|NaN)$/,x=/^\s*\+(?=[\w.])|^\s+|\s+$/g,o=function(e,t,r,n){var i,o=r?t:t.replace(x,"");if(k.test(o))e.s=isNaN(o)?null:o<0?-1:1;else{if(!r&&(o=o.replace(_,(function(e,t,r){return i="x"==(r=r.toLowerCase())?16:"b"==r?2:8,n&&n!=i?e:t})),n&&(i=n,o=o.replace(A,"$1").replace(E,"0.$1")),t!=o))return new D(o,i);if(D.DEBUG)throw Error(f+"Not a"+(n?" base "+n:"")+" number: "+t);e.s=null}e.c=e.e=null},S.absoluteValue=S.abs=function(){var e=new D(this);return e.s<0&&(e.s=1),e},S.comparedTo=function(e,t){return g(this,new D(e,t))},S.decimalPlaces=S.dp=function(e,t){var r,n,i,o=this;if(null!=e)return y(e,0,1e9),null==t?t=P:y(t,0,8),G(new D(o),e+o.e+1,t);if(!(r=o.c))return null;if(n=14*((i=r.length-1)-p(this.e/14)),i=r[i])for(;i%10==0;i/=10,n--);return n<0&&(n=0),n},S.dividedBy=S.div=function(e,t){return r(this,new D(e,t),I,P)},S.dividedToIntegerBy=S.idiv=function(e,t){return r(this,new D(e,t),0,1)},S.exponentiatedBy=S.pow=function(e,t){var r,n,i,o,a,s,u,h,d=this;if((e=new D(e)).c&&!e.isInteger())throw Error(f+"Exponent not an integer: "+q(e));if(null!=t&&(t=new D(t)),a=e.e>14,!d.c||!d.c[0]||1==d.c[0]&&!d.e&&1==d.c.length||!e.c||!e.c[0])return h=new D(Math.pow(+q(d),a?2-v(e):+q(e))),t?h.mod(t):h;if(s=e.s<0,t){if(t.c?!t.c[0]:!t.s)return new D(NaN);(n=!s&&d.isInteger()&&t.isInteger())&&(d=d.mod(t))}else{if(e.e>9&&(d.e>0||d.e<-1||(0==d.e?d.c[0]>1||a&&d.c[1]>=24e7:d.c[0]<8e13||a&&d.c[0]<=9999975e7)))return o=d.s<0&&v(e)?-0:0,d.e>-1&&(o=1/o),new D(s?1/o:o);L&&(o=c(L/14+2))}for(a?(r=new D(.5),s&&(e.s=1),u=v(e)):u=(i=Math.abs(+q(e)))%2,h=new D(M);;){if(u){if(!(h=h.times(d)).c)break;o?h.c.length>o&&(h.c.length=o):n&&(h=h.mod(t))}if(i){if(0===(i=l(i/2)))break;u=i%2}else if(G(e=e.times(r),e.e+1,1),e.e>14)u=v(e);else{if(0===(i=+q(e)))break;u=i%2}d=d.times(d),o?d.c&&d.c.length>o&&(d.c.length=o):n&&(d=d.mod(t))}return n?h:(s&&(h=M.div(h)),t?h.mod(t):o?G(h,L,P,void 0):h)},S.integerValue=function(e){var t=new D(this);return null==e?e=P:y(e,0,8),G(t,t.e+1,e)},S.isEqualTo=S.eq=function(e,t){return 0===g(this,new D(e,t))},S.isFinite=function(){return!!this.c},S.isGreaterThan=S.gt=function(e,t){return g(this,new D(e,t))>0},S.isGreaterThanOrEqualTo=S.gte=function(e,t){return 1===(t=g(this,new D(e,t)))||0===t},S.isInteger=function(){return!!this.c&&p(this.e/14)>this.c.length-2},S.isLessThan=S.lt=function(e,t){return g(this,new D(e,t))<0},S.isLessThanOrEqualTo=S.lte=function(e,t){return-1===(t=g(this,new D(e,t)))||0===t},S.isNaN=function(){return!this.s},S.isNegative=function(){return this.s<0},S.isPositive=function(){return this.s>0},S.isZero=function(){return!!this.c&&0==this.c[0]},S.minus=function(e,t){var r,n,i,o,a=this,s=a.s;if(t=(e=new D(e,t)).s,!s||!t)return new D(NaN);if(s!=t)return e.s=-t,a.plus(e);var u=a.e/14,c=e.e/14,l=a.c,f=e.c;if(!u||!c){if(!l||!f)return l?(e.s=-t,e):new D(f?a:NaN);if(!l[0]||!f[0])return f[0]?(e.s=-t,e):new D(l[0]?a:3==P?-0:0)}if(u=p(u),c=p(c),l=l.slice(),s=u-c){for((o=s<0)?(s=-s,i=l):(c=u,i=f),i.reverse(),t=s;t--;i.push(0));i.reverse()}else for(n=(o=(s=l.length)<(t=f.length))?s:t,s=t=0;t<n;t++)if(l[t]!=f[t]){o=l[t]<f[t];break}if(o&&(i=l,l=f,f=i,e.s=-e.s),(t=(n=f.length)-(r=l.length))>0)for(;t--;l[r++]=0);for(t=1e14-1;n>s;){if(l[--n]<f[n]){for(r=n;r&&!l[--r];l[r]=t);--l[r],l[n]+=1e14}l[n]-=f[n]}for(;0==l[0];l.splice(0,1),--c);return l[0]?H(e,l,c):(e.s=3==P?-1:1,e.c=[e.e=0],e)},S.modulo=S.mod=function(e,t){var n,i,o=this;return e=new D(e,t),!o.c||!e.s||e.c&&!e.c[0]?new D(NaN):!e.c||o.c&&!o.c[0]?new D(o):(9==j?(i=e.s,e.s=1,n=r(o,e,0,3),e.s=i,n.s*=i):n=r(o,e,0,j),(e=o.minus(n.times(e))).c[0]||1!=j||(e.s=o.s),e)},S.multipliedBy=S.times=function(e,t){var r,n,i,o,a,s,u,c,l,f,h,d,m,g=this,y=g.c,v=(e=new D(e,t)).c;if(!(y&&v&&y[0]&&v[0]))return!g.s||!e.s||y&&!y[0]&&!v||v&&!v[0]&&!y?e.c=e.e=e.s=null:(e.s*=g.s,y&&v?(e.c=[0],e.e=0):e.c=e.e=null),e;for(n=p(g.e/14)+p(e.e/14),e.s*=g.s,(u=y.length)<(f=v.length)&&(m=y,y=v,v=m,i=u,u=f,f=i),i=u+f,m=[];i--;m.push(0));for(1e14,1e7,i=f;--i>=0;){for(r=0,h=v[i]%1e7,d=v[i]/1e7|0,o=i+(a=u);o>i;)r=((c=h*(c=y[--a]%1e7)+(s=d*c+(l=y[a]/1e7|0)*h)%1e7*1e7+m[o]+r)/1e14|0)+(s/1e7|0)+d*l,m[o--]=c%1e14;m[o]=r}return r?++n:m.splice(0,1),H(e,m,n)},S.negated=function(){var e=new D(this);return e.s=-e.s||null,e},S.plus=function(e,t){var r,n=this,i=n.s;if(t=(e=new D(e,t)).s,!i||!t)return new D(NaN);if(i!=t)return e.s=-t,n.minus(e);var o=n.e/14,a=e.e/14,s=n.c,u=e.c;if(!o||!a){if(!s||!u)return new D(i/0);if(!s[0]||!u[0])return u[0]?e:new D(s[0]?n:0*i)}if(o=p(o),a=p(a),s=s.slice(),i=o-a){for(i>0?(a=o,r=u):(i=-i,r=s),r.reverse();i--;r.push(0));r.reverse()}for((i=s.length)-(t=u.length)<0&&(r=u,u=s,s=r,t=i),i=0;t;)i=(s[--t]=s[t]+u[t]+i)/1e14|0,s[t]=1e14===s[t]?0:s[t]%1e14;return i&&(s=[i].concat(s),++a),H(e,s,a)},S.precision=S.sd=function(e,t){var r,n,i,o=this;if(null!=e&&e!==!!e)return y(e,1,1e9),null==t?t=P:y(t,0,8),G(new D(o),e,t);if(!(r=o.c))return null;if(n=14*(i=r.length-1)+1,i=r[i]){for(;i%10==0;i/=10,n--);for(i=r[0];i>=10;i/=10,n++);}return e&&o.e+1>n&&(n=o.e+1),n},S.shiftedBy=function(e){return y(e,-9007199254740991,9007199254740991),this.times("1e"+e)},S.squareRoot=S.sqrt=function(){var e,t,n,i,o,a=this,s=a.c,u=a.s,c=a.e,l=I+4,f=new D("0.5");if(1!==u||!s||!s[0])return new D(!u||u<0&&(!s||s[0])?NaN:s?a:1/0);if(0==(u=Math.sqrt(+q(a)))||u==1/0?(((t=m(s)).length+c)%2==0&&(t+="0"),u=Math.sqrt(+t),c=p((c+1)/2)-(c<0||c%2),n=new D(t=u==1/0?"1e"+c:(t=u.toExponential()).slice(0,t.indexOf("e")+1)+c)):n=new D(u+""),n.c[0])for((u=(c=n.e)+l)<3&&(u=0);;)if(o=n,n=f.times(o.plus(r(a,o,l,1))),m(o.c).slice(0,u)===(t=m(n.c)).slice(0,u)){if(n.e<c&&--u,"9999"!=(t=t.slice(u-3,u+1))&&(i||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(G(n,n.e+I+2,1),e=!n.times(n).eq(a));break}if(!i&&(G(o,o.e+I+2,0),o.times(o).eq(a))){n=o;break}l+=4,u+=4,i=1}return G(n,n.e+I+1,P,e)},S.toExponential=function(e,t){return null!=e&&(y(e,0,1e9),e++),F(this,e,t,1)},S.toFixed=function(e,t){return null!=e&&(y(e,0,1e9),e=e+this.e+1),F(this,e,t)},S.toFormat=function(e,t,r){var n,o=this;if(null==r)null!=e&&t&&"object"==i(t)?(r=t,t=null):e&&"object"==i(e)?(r=e,e=t=null):r=B;else if("object"!=i(r))throw Error(f+"Argument not an object: "+r);if(n=o.toFixed(e,t),o.c){var a,s=n.split("."),u=+r.groupSize,c=+r.secondaryGroupSize,l=r.groupSeparator||"",h=s[0],d=s[1],p=o.s<0,m=p?h.slice(1):h,g=m.length;if(c&&(a=u,u=c,c=a,g-=a),u>0&&g>0){for(a=g%u||u,h=m.substr(0,a);a<g;a+=u)h+=l+m.substr(a,u);c>0&&(h+=l+m.slice(a)),p&&(h="-"+h)}n=d?h+(r.decimalSeparator||"")+((c=+r.fractionGroupSize)?d.replace(new RegExp("\\d{"+c+"}\\B","g"),"$&"+(r.fractionGroupSeparator||"")):d):h}return(r.prefix||"")+n+(r.suffix||"")},S.toFraction=function(e){var t,n,i,o,a,s,u,c,l,h,p,g,y=this,v=y.c;if(null!=e&&(!(u=new D(e)).isInteger()&&(u.c||1!==u.s)||u.lt(M)))throw Error(f+"Argument "+(u.isInteger()?"out of range: ":"not an integer: ")+q(u));if(!v)return new D(y);for(t=new D(M),l=n=new D(M),i=c=new D(M),g=m(v),a=t.e=g.length-y.e-1,t.c[0]=d[(s=a%14)<0?14+s:s],e=!e||u.comparedTo(t)>0?a>0?t:l:u,s=R,R=1/0,u=new D(g),c.c[0]=0;h=r(u,t,0,1),1!=(o=n.plus(h.times(i))).comparedTo(e);)n=i,i=o,l=c.plus(h.times(o=l)),c=o,t=u.minus(h.times(o=t)),u=o;return o=r(e.minus(n),i,0,1),c=c.plus(o.times(l)),n=n.plus(o.times(i)),c.s=l.s=y.s,p=r(l,i,a*=2,P).minus(y).abs().comparedTo(r(c,n,a,P).minus(y).abs())<1?[l,i]:[c,n],R=s,p},S.toNumber=function(){return+q(this)},S.toPrecision=function(e,t){return null!=e&&y(e,1,1e9),F(this,e,t,2)},S.toString=function(e){var t,r=this,i=r.s,o=r.e;return null===o?i?(t="Infinity",i<0&&(t="-"+t)):t="NaN":(null==e?t=o<=T||o>=N?b(m(r.c),o):w(m(r.c),o,"0"):10===e?t=w(m((r=G(new D(r),I+o+1,P)).c),r.e,"0"):(y(e,2,U.length,"Base"),t=n(w(m(r.c),o,"0"),10,e,i,!0)),i<0&&r.c[0]&&(t="-"+t)),t},S.valueOf=S.toJSON=function(){return q(this)},S._isBigNumber=!0,u&&(S[Symbol.toStringTag]="BigNumber",S[Symbol.for("nodejs.util.inspect.custom")]=S.valueOf),null!=t&&D.set(t),D}()).default=a.BigNumber=a,void 0===(n=function(){return a}.call(t,r,t,e))||(e.exports=n)}()},function(e,t,r){e.exports={encode:r(33),decode:r(34),encodingLength:r(35)}},function(e,t){e.exports=function e(t,n,i){n=n||[];var o=i=i||0;for(;t>=r;)n[i++]=255&t|128,t/=128;for(;-128&t;)n[i++]=255&t|128,t>>>=7;return n[i]=0|t,e.bytes=i-o+1,n};var r=Math.pow(2,31)},function(e,t){e.exports=function e(t,r){var n,i=0,o=0,a=r=r||0,s=t.length;do{if(a>=s)throw e.bytes=0,new RangeError("Could not decode varint");n=t[a++],i+=o<28?(127&n)<<o:(127&n)*Math.pow(2,o),o+=7}while(n>=128);return e.bytes=a-r,i}},function(e,t){var r=Math.pow(2,7),n=Math.pow(2,14),i=Math.pow(2,21),o=Math.pow(2,28),a=Math.pow(2,35),s=Math.pow(2,42),u=Math.pow(2,49),c=Math.pow(2,56),l=Math.pow(2,63);e.exports=function(e){return e<r?1:e<n?2:e<i?3:e<o?4:e<a?5:e<s?6:e<u?7:e<c?8:e<l?9:10}},function(e,t,r){(function(e){var n,i,o;function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}
36
36
  /*!
37
37
  * URI.js - Mutating URLs
38
38
  *
39
- * Version: 1.19.7
39
+ * Version: 1.19.10
40
40
  *
41
41
  * Author: Rodney Rehm
42
42
  * Web: http://medialize.github.io/URI.js/
@@ -44,4 +44,4 @@ var n=r(16),i=r(17),o=r(18);function a(){return u.TYPED_ARRAY_SUPPORT?2147483647
44
44
  * Licensed under
45
45
  * MIT License http://www.opensource.org/licenses/mit-license
46
46
  *
47
- */!function(s,u){"use strict";"object"===a(e)&&e.exports?e.exports=u(r(5),r(7),r(8)):(i=[r(5),r(7),r(8)],void 0===(o="function"==typeof(n=u)?n.apply(t,i):n)||(e.exports=o))}(0,(function(e,t,r,n){"use strict";var i=n&&n.URI;function o(e,t){var r=arguments.length>=1,n=arguments.length>=2;if(!(this instanceof o))return r?n?new o(e,t):new o(e):new o;if(void 0===e){if(r)throw new TypeError("undefined is not a valid argument for URI");e="undefined"!=typeof location?location.href+"":""}if(null===e&&r)throw new TypeError("null is not a valid argument for URI");return this.href(e),void 0!==t?this.absoluteTo(t):this}o.version="1.19.7";var s=o.prototype,u=Object.prototype.hasOwnProperty;function c(e){return e.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function l(e){return void 0===e?"Undefined":String(Object.prototype.toString.call(e)).slice(8,-1)}function f(e){return"Array"===l(e)}function h(e,t){var r,n,i={};if("RegExp"===l(t))i=null;else if(f(t))for(r=0,n=t.length;r<n;r++)i[t[r]]=!0;else i[t]=!0;for(r=0,n=e.length;r<n;r++){(i&&void 0!==i[e[r]]||!i&&t.test(e[r]))&&(e.splice(r,1),n--,r--)}return e}function d(e,t){var r,n;if(f(t)){for(r=0,n=t.length;r<n;r++)if(!d(e,t[r]))return!1;return!0}var i=l(t);for(r=0,n=e.length;r<n;r++)if("RegExp"===i){if("string"==typeof e[r]&&e[r].match(t))return!0}else if(e[r]===t)return!0;return!1}function p(e,t){if(!f(e)||!f(t))return!1;if(e.length!==t.length)return!1;e.sort(),t.sort();for(var r=0,n=e.length;r<n;r++)if(e[r]!==t[r])return!1;return!0}function m(e){return e.replace(/^\/+|\/+$/g,"")}function g(e){return escape(e)}function y(e){return encodeURIComponent(e).replace(/[!'()*]/g,g).replace(/\*/g,"%2A")}o._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,preventInvalidHostname:o.preventInvalidHostname,duplicateQueryParameters:o.duplicateQueryParameters,escapeQuerySpace:o.escapeQuerySpace}},o.preventInvalidHostname=!1,o.duplicateQueryParameters=!1,o.escapeQuerySpace=!0,o.protocol_expression=/^[a-z][a-z0-9.+-]*$/i,o.idn_expression=/[^a-z0-9\._-]/i,o.punycode_expression=/(xn--)/i,o.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,o.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,o.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/gi,o.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},o.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},o.hostProtocols=["http","https"],o.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,o.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},o.getDomAttribute=function(e){if(e&&e.nodeName){var t=e.nodeName.toLowerCase();if("input"!==t||"image"===e.type)return o.domAttributes[t]}},o.encode=y,o.decode=decodeURIComponent,o.iso8859=function(){o.encode=escape,o.decode=unescape},o.unicode=function(){o.encode=y,o.decode=decodeURIComponent},o.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/gi,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/gi,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/gi,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},o.encodeQuery=function(e,t){var r=o.encode(e+"");return void 0===t&&(t=o.escapeQuerySpace),t?r.replace(/%20/g,"+"):r},o.decodeQuery=function(e,t){e+="",void 0===t&&(t=o.escapeQuerySpace);try{return o.decode(t?e.replace(/\+/g,"%20"):e)}catch(t){return e}};var v,b={encode:"encode",decode:"decode"},w=function(e,t){return function(r){try{return o[t](r+"").replace(o.characters[e][t].expression,(function(r){return o.characters[e][t].map[r]}))}catch(e){return r}}};for(v in b)o[v+"PathSegment"]=w("pathname",b[v]),o[v+"UrnPathSegment"]=w("urnpath",b[v]);var _=function(e,t,r){return function(n){var i;i=r?function(e){return o[t](o[r](e))}:o[t];for(var a=(n+"").split(e),s=0,u=a.length;s<u;s++)a[s]=i(a[s]);return a.join(e)}};function A(e){return function(t,r){return void 0===t?this._parts[e]||"":(this._parts[e]=t||null,this.build(!r),this)}}function E(e,t){return function(r,n){return void 0===r?this._parts[e]||"":(null!==r&&(r+="").charAt(0)===t&&(r=r.substring(1)),this._parts[e]=r,this.build(!n),this)}}o.decodePath=_("/","decodePathSegment"),o.decodeUrnPath=_(":","decodeUrnPathSegment"),o.recodePath=_("/","encodePathSegment","decode"),o.recodeUrnPath=_(":","encodeUrnPathSegment","decode"),o.encodeReserved=w("reserved","encode"),o.parse=function(e,t){var r;return t||(t={preventInvalidHostname:o.preventInvalidHostname}),(r=e.indexOf("#"))>-1&&(t.fragment=e.substring(r+1)||null,e=e.substring(0,r)),(r=e.indexOf("?"))>-1&&(t.query=e.substring(r+1)||null,e=e.substring(0,r)),"//"===(e=e.replace(/^(https?|ftp|wss?)?:[/\\]*/,"$1://")).substring(0,2)?(t.protocol=null,e=e.substring(2),e=o.parseAuthority(e,t)):(r=e.indexOf(":"))>-1&&(t.protocol=e.substring(0,r)||null,t.protocol&&!t.protocol.match(o.protocol_expression)?t.protocol=void 0:"//"===e.substring(r+1,r+3).replace(/\\/g,"/")?(e=e.substring(r+3),e=o.parseAuthority(e,t)):(e=e.substring(r+1),t.urn=!0)),t.path=e,t},o.parseHost=function(e,t){e||(e="");var r,n,i=(e=e.replace(/\\/g,"/")).indexOf("/");if(-1===i&&(i=e.length),"["===e.charAt(0))r=e.indexOf("]"),t.hostname=e.substring(1,r)||null,t.port=e.substring(r+2,i)||null,"/"===t.port&&(t.port=null);else{var a=e.indexOf(":"),s=e.indexOf("/"),u=e.indexOf(":",a+1);-1!==u&&(-1===s||u<s)?(t.hostname=e.substring(0,i)||null,t.port=null):(n=e.substring(0,i).split(":"),t.hostname=n[0]||null,t.port=n[1]||null)}return t.hostname&&"/"!==e.substring(i).charAt(0)&&(i++,e="/"+e),t.preventInvalidHostname&&o.ensureValidHostname(t.hostname,t.protocol),t.port&&o.ensureValidPort(t.port),e.substring(i)||"/"},o.parseAuthority=function(e,t){return e=o.parseUserinfo(e,t),o.parseHost(e,t)},o.parseUserinfo=function(e,t){var r=e;-1!==e.indexOf("\\")&&(e=e.replace(/\\/g,"/"));var n,i=e.indexOf("/"),a=e.lastIndexOf("@",i>-1?i:e.length-1);return a>-1&&(-1===i||a<i)?(n=e.substring(0,a).split(":"),t.username=n[0]?o.decode(n[0]):null,n.shift(),t.password=n[0]?o.decode(n.join(":")):null,e=r.substring(a+1)):(t.username=null,t.password=null),e},o.parseQuery=function(e,t){if(!e)return{};if(!(e=e.replace(/&+/g,"&").replace(/^\?*&*|&+$/g,"")))return{};for(var r,n,i,a={},s=e.split("&"),c=s.length,l=0;l<c;l++)r=s[l].split("="),n=o.decodeQuery(r.shift(),t),i=r.length?o.decodeQuery(r.join("="),t):null,"__proto__"!==n&&(u.call(a,n)?("string"!=typeof a[n]&&null!==a[n]||(a[n]=[a[n]]),a[n].push(i)):a[n]=i);return a},o.build=function(e){var t="",r=!1;return e.protocol&&(t+=e.protocol+":"),e.urn||!t&&!e.hostname||(t+="//",r=!0),t+=o.buildAuthority(e)||"","string"==typeof e.path&&("/"!==e.path.charAt(0)&&r&&(t+="/"),t+=e.path),"string"==typeof e.query&&e.query&&(t+="?"+e.query),"string"==typeof e.fragment&&e.fragment&&(t+="#"+e.fragment),t},o.buildHost=function(e){var t="";return e.hostname?(o.ip6_expression.test(e.hostname)?t+="["+e.hostname+"]":t+=e.hostname,e.port&&(t+=":"+e.port),t):""},o.buildAuthority=function(e){return o.buildUserinfo(e)+o.buildHost(e)},o.buildUserinfo=function(e){var t="";return e.username&&(t+=o.encode(e.username)),e.password&&(t+=":"+o.encode(e.password)),t&&(t+="@"),t},o.buildQuery=function(e,t,r){var n,i,a,s,c="";for(i in e)if("__proto__"!==i&&u.call(e,i))if(f(e[i]))for(n={},a=0,s=e[i].length;a<s;a++)void 0!==e[i][a]&&void 0===n[e[i][a]+""]&&(c+="&"+o.buildQueryParameter(i,e[i][a],r),!0!==t&&(n[e[i][a]+""]=!0));else void 0!==e[i]&&(c+="&"+o.buildQueryParameter(i,e[i],r));return c.substring(1)},o.buildQueryParameter=function(e,t,r){return o.encodeQuery(e,r)+(null!==t?"="+o.encodeQuery(t,r):"")},o.addQuery=function(e,t,r){if("object"===a(t))for(var n in t)u.call(t,n)&&o.addQuery(e,n,t[n]);else{if("string"!=typeof t)throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");if(void 0===e[t])return void(e[t]=r);"string"==typeof e[t]&&(e[t]=[e[t]]),f(r)||(r=[r]),e[t]=(e[t]||[]).concat(r)}},o.setQuery=function(e,t,r){if("object"===a(t))for(var n in t)u.call(t,n)&&o.setQuery(e,n,t[n]);else{if("string"!=typeof t)throw new TypeError("URI.setQuery() accepts an object, string as the name parameter");e[t]=void 0===r?null:r}},o.removeQuery=function(e,t,r){var n,i,s;if(f(t))for(n=0,i=t.length;n<i;n++)e[t[n]]=void 0;else if("RegExp"===l(t))for(s in e)t.test(s)&&(e[s]=void 0);else if("object"===a(t))for(s in t)u.call(t,s)&&o.removeQuery(e,s,t[s]);else{if("string"!=typeof t)throw new TypeError("URI.removeQuery() accepts an object, string, RegExp as the first parameter");void 0!==r?"RegExp"===l(r)?!f(e[t])&&r.test(e[t])?e[t]=void 0:e[t]=h(e[t],r):e[t]!==String(r)||f(r)&&1!==r.length?f(e[t])&&(e[t]=h(e[t],r)):e[t]=void 0:e[t]=void 0}},o.hasQuery=function(e,t,r,n){switch(l(t)){case"String":break;case"RegExp":for(var i in e)if(u.call(e,i)&&t.test(i)&&(void 0===r||o.hasQuery(e,i,r)))return!0;return!1;case"Object":for(var a in t)if(u.call(t,a)&&!o.hasQuery(e,a,t[a]))return!1;return!0;default:throw new TypeError("URI.hasQuery() accepts a string, regular expression or object as the name parameter")}switch(l(r)){case"Undefined":return t in e;case"Boolean":return r===Boolean(f(e[t])?e[t].length:e[t]);case"Function":return!!r(e[t],t,e);case"Array":return!!f(e[t])&&(n?d:p)(e[t],r);case"RegExp":return f(e[t])?!!n&&d(e[t],r):Boolean(e[t]&&e[t].match(r));case"Number":r=String(r);case"String":return f(e[t])?!!n&&d(e[t],r):e[t]===r;default:throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter")}},o.joinPaths=function(){for(var e=[],t=[],r=0,n=0;n<arguments.length;n++){var i=new o(arguments[n]);e.push(i);for(var a=i.segment(),s=0;s<a.length;s++)"string"==typeof a[s]&&t.push(a[s]),a[s]&&r++}if(!t.length||!r)return new o("");var u=new o("").segment(t);return""!==e[0].path()&&"/"!==e[0].path().slice(0,1)||u.path("/"+u.path()),u.normalize()},o.commonPath=function(e,t){var r,n=Math.min(e.length,t.length);for(r=0;r<n;r++)if(e.charAt(r)!==t.charAt(r)){r--;break}return r<1?e.charAt(0)===t.charAt(0)&&"/"===e.charAt(0)?"/":"":("/"===e.charAt(r)&&"/"===t.charAt(r)||(r=e.substring(0,r).lastIndexOf("/")),e.substring(0,r+1))},o.withinString=function(e,t,r){r||(r={});var n=r.start||o.findUri.start,i=r.end||o.findUri.end,a=r.trim||o.findUri.trim,s=r.parens||o.findUri.parens,u=/[a-z0-9-]=["']?$/i;for(n.lastIndex=0;;){var c=n.exec(e);if(!c)break;var l=c.index;if(r.ignoreHtml){var f=e.slice(Math.max(l-3,0),l);if(f&&u.test(f))continue}for(var h=l+e.slice(l).search(i),d=e.slice(l,h),p=-1;;){var m=s.exec(d);if(!m)break;var g=m.index+m[0].length;p=Math.max(p,g)}if(!((d=p>-1?d.slice(0,p)+d.slice(p).replace(a,""):d.replace(a,"")).length<=c[0].length||r.ignore&&r.ignore.test(d))){var y=t(d,l,h=l+d.length,e);void 0!==y?(y=String(y),e=e.slice(0,l)+y+e.slice(h),n.lastIndex=l+y.length):n.lastIndex=h}}return n.lastIndex=0,e},o.ensureValidHostname=function(t,r){var n=!!t,i=!1;if(!!r&&(i=d(o.hostProtocols,r)),i&&!n)throw new TypeError("Hostname cannot be empty, if protocol is "+r);if(t&&t.match(o.invalid_hostname_characters)){if(!e)throw new TypeError('Hostname "'+t+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(e.toASCII(t).match(o.invalid_hostname_characters))throw new TypeError('Hostname "'+t+'" contains characters other than [A-Z0-9.-:_]')}},o.ensureValidPort=function(e){if(e){var t=Number(e);if(!(/^[0-9]+$/.test(t)&&t>0&&t<65536))throw new TypeError('Port "'+e+'" is not a valid port')}},o.noConflict=function(e){if(e){var t={URI:this.noConflict()};return n.URITemplate&&"function"==typeof n.URITemplate.noConflict&&(t.URITemplate=n.URITemplate.noConflict()),n.IPv6&&"function"==typeof n.IPv6.noConflict&&(t.IPv6=n.IPv6.noConflict()),n.SecondLevelDomains&&"function"==typeof n.SecondLevelDomains.noConflict&&(t.SecondLevelDomains=n.SecondLevelDomains.noConflict()),t}return n.URI===this&&(n.URI=i),this},s.build=function(e){return!0===e?this._deferred_build=!0:(void 0===e||this._deferred_build)&&(this._string=o.build(this._parts),this._deferred_build=!1),this},s.clone=function(){return new o(this)},s.valueOf=s.toString=function(){return this.build(!1)._string},s.protocol=A("protocol"),s.username=A("username"),s.password=A("password"),s.hostname=A("hostname"),s.port=A("port"),s.query=E("query","?"),s.fragment=E("fragment","#"),s.search=function(e,t){var r=this.query(e,t);return"string"==typeof r&&r.length?"?"+r:r},s.hash=function(e,t){var r=this.fragment(e,t);return"string"==typeof r&&r.length?"#"+r:r},s.pathname=function(e,t){if(void 0===e||!0===e){var r=this._parts.path||(this._parts.hostname?"/":"");return e?(this._parts.urn?o.decodeUrnPath:o.decodePath)(r):r}return this._parts.urn?this._parts.path=e?o.recodeUrnPath(e):"":this._parts.path=e?o.recodePath(e):"/",this.build(!t),this},s.path=s.pathname,s.href=function(e,t){var r;if(void 0===e)return this.toString();this._string="",this._parts=o._parts();var n=e instanceof o,i="object"===a(e)&&(e.hostname||e.path||e.pathname);e.nodeName&&(e=e[o.getDomAttribute(e)]||"",i=!1);if(!n&&i&&void 0!==e.pathname&&(e=e.toString()),"string"==typeof e||e instanceof String)this._parts=o.parse(String(e),this._parts);else{if(!n&&!i)throw new TypeError("invalid input");var s=n?e._parts:e;for(r in s)"query"!==r&&u.call(this._parts,r)&&(this._parts[r]=s[r]);s.query&&this.query(s.query,!1)}return this.build(!t),this},s.is=function(e){var t=!1,n=!1,i=!1,a=!1,s=!1,u=!1,c=!1,l=!this._parts.urn;switch(this._parts.hostname&&(l=!1,n=o.ip4_expression.test(this._parts.hostname),i=o.ip6_expression.test(this._parts.hostname),s=(a=!(t=n||i))&&r&&r.has(this._parts.hostname),u=a&&o.idn_expression.test(this._parts.hostname),c=a&&o.punycode_expression.test(this._parts.hostname)),e.toLowerCase()){case"relative":return l;case"absolute":return!l;case"domain":case"name":return a;case"sld":return s;case"ip":return t;case"ip4":case"ipv4":case"inet4":return n;case"ip6":case"ipv6":case"inet6":return i;case"idn":return u;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return c}return null};var k=s.protocol,x=s.port,S=s.hostname;s.protocol=function(e,t){if(e&&!(e=e.replace(/:(\/\/)?$/,"")).match(o.protocol_expression))throw new TypeError('Protocol "'+e+"\" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]");return k.call(this,e,t)},s.scheme=s.protocol,s.port=function(e,t){return this._parts.urn?void 0===e?"":this:(void 0!==e&&(0===e&&(e=null),e&&(":"===(e+="").charAt(0)&&(e=e.substring(1)),o.ensureValidPort(e))),x.call(this,e,t))},s.hostname=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0!==e){var r={preventInvalidHostname:this._parts.preventInvalidHostname};if("/"!==o.parseHost(e,r))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');e=r.hostname,this._parts.preventInvalidHostname&&o.ensureValidHostname(e,this._parts.protocol)}return S.call(this,e,t)},s.origin=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){var r=this.protocol();return this.authority()?(r?r+"://":"")+this.authority():""}var n=o(e);return this.protocol(n.protocol()).authority(n.authority()).build(!t),this},s.host=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e)return this._parts.hostname?o.buildHost(this._parts):"";if("/"!==o.parseHost(e,this._parts))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');return this.build(!t),this},s.authority=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e)return this._parts.hostname?o.buildAuthority(this._parts):"";if("/"!==o.parseAuthority(e,this._parts))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');return this.build(!t),this},s.userinfo=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){var r=o.buildUserinfo(this._parts);return r?r.substring(0,r.length-1):r}return"@"!==e[e.length-1]&&(e+="@"),o.parseUserinfo(e,this._parts),this.build(!t),this},s.resource=function(e,t){var r;return void 0===e?this.path()+this.search()+this.hash():(r=o.parse(e),this._parts.path=r.path,this._parts.query=r.query,this._parts.fragment=r.fragment,this.build(!t),this)},s.subdomain=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var r=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,r)||""}var n=this._parts.hostname.length-this.domain().length,i=this._parts.hostname.substring(0,n),a=new RegExp("^"+c(i));if(e&&"."!==e.charAt(e.length-1)&&(e+="."),-1!==e.indexOf(":"))throw new TypeError("Domains cannot contain colons");return e&&o.ensureValidHostname(e,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(a,e),this.build(!t),this},s.domain=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("boolean"==typeof e&&(t=e,e=void 0),void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var r=this._parts.hostname.match(/\./g);if(r&&r.length<2)return this._parts.hostname;var n=this._parts.hostname.length-this.tld(t).length-1;return n=this._parts.hostname.lastIndexOf(".",n-1)+1,this._parts.hostname.substring(n)||""}if(!e)throw new TypeError("cannot set domain empty");if(-1!==e.indexOf(":"))throw new TypeError("Domains cannot contain colons");if(o.ensureValidHostname(e,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=e;else{var i=new RegExp(c(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(i,e)}return this.build(!t),this},s.tld=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("boolean"==typeof e&&(t=e,e=void 0),void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var n=this._parts.hostname.lastIndexOf("."),i=this._parts.hostname.substring(n+1);return!0!==t&&r&&r.list[i.toLowerCase()]&&r.get(this._parts.hostname)||i}var o;if(!e)throw new TypeError("cannot set TLD empty");if(e.match(/[^a-zA-Z0-9-]/)){if(!r||!r.is(e))throw new TypeError('TLD "'+e+'" contains characters other than [A-Z0-9]');o=new RegExp(c(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(o,e)}else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");o=new RegExp(c(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(o,e)}return this.build(!t),this},s.directory=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e||!0===e){if(!this._parts.path&&!this._parts.hostname)return"";if("/"===this._parts.path)return"/";var r=this._parts.path.length-this.filename().length-1,n=this._parts.path.substring(0,r)||(this._parts.hostname?"/":"");return e?o.decodePath(n):n}var i=this._parts.path.length-this.filename().length,a=this._parts.path.substring(0,i),s=new RegExp("^"+c(a));return this.is("relative")||(e||(e="/"),"/"!==e.charAt(0)&&(e="/"+e)),e&&"/"!==e.charAt(e.length-1)&&(e+="/"),e=o.recodePath(e),this._parts.path=this._parts.path.replace(s,e),this.build(!t),this},s.filename=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("string"!=typeof e){if(!this._parts.path||"/"===this._parts.path)return"";var r=this._parts.path.lastIndexOf("/"),n=this._parts.path.substring(r+1);return e?o.decodePathSegment(n):n}var i=!1;"/"===e.charAt(0)&&(e=e.substring(1)),e.match(/\.?\//)&&(i=!0);var a=new RegExp(c(this.filename())+"$");return e=o.recodePath(e),this._parts.path=this._parts.path.replace(a,e),i?this.normalizePath(t):this.build(!t),this},s.suffix=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e||!0===e){if(!this._parts.path||"/"===this._parts.path)return"";var r,n,i=this.filename(),a=i.lastIndexOf(".");return-1===a?"":(r=i.substring(a+1),n=/^[a-z0-9%]+$/i.test(r)?r:"",e?o.decodePathSegment(n):n)}"."===e.charAt(0)&&(e=e.substring(1));var s,u=this.suffix();if(u)s=e?new RegExp(c(u)+"$"):new RegExp(c("."+u)+"$");else{if(!e)return this;this._parts.path+="."+o.recodePath(e)}return s&&(e=o.recodePath(e),this._parts.path=this._parts.path.replace(s,e)),this.build(!t),this},s.segment=function(e,t,r){var n=this._parts.urn?":":"/",i=this.path(),o="/"===i.substring(0,1),a=i.split(n);if(void 0!==e&&"number"!=typeof e&&(r=t,t=e,e=void 0),void 0!==e&&"number"!=typeof e)throw new Error('Bad segment "'+e+'", must be 0-based integer');if(o&&a.shift(),e<0&&(e=Math.max(a.length+e,0)),void 0===t)return void 0===e?a:a[e];if(null===e||void 0===a[e])if(f(t)){a=[];for(var s=0,u=t.length;s<u;s++)(t[s].length||a.length&&a[a.length-1].length)&&(a.length&&!a[a.length-1].length&&a.pop(),a.push(m(t[s])))}else(t||"string"==typeof t)&&(t=m(t),""===a[a.length-1]?a[a.length-1]=t:a.push(t));else t?a[e]=m(t):a.splice(e,1);return o&&a.unshift(""),this.path(a.join(n),r)},s.segmentCoded=function(e,t,r){var n,i,a;if("number"!=typeof e&&(r=t,t=e,e=void 0),void 0===t){if(f(n=this.segment(e,t,r)))for(i=0,a=n.length;i<a;i++)n[i]=o.decode(n[i]);else n=void 0!==n?o.decode(n):void 0;return n}if(f(t))for(i=0,a=t.length;i<a;i++)t[i]=o.encode(t[i]);else t="string"==typeof t||t instanceof String?o.encode(t):t;return this.segment(e,t,r)};var M=s.query;return s.query=function(e,t){if(!0===e)return o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("function"==typeof e){var r=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace),n=e.call(this,r);return this._parts.query=o.buildQuery(n||r,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!t),this}return void 0!==e&&"string"!=typeof e?(this._parts.query=o.buildQuery(e,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!t),this):M.call(this,e,t)},s.setQuery=function(e,t,r){var n=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("string"==typeof e||e instanceof String)n[e]=void 0!==t?t:null;else{if("object"!==a(e))throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");for(var i in e)u.call(e,i)&&(n[i]=e[i])}return this._parts.query=o.buildQuery(n,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof e&&(r=t),this.build(!r),this},s.addQuery=function(e,t,r){var n=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return o.addQuery(n,e,void 0===t?null:t),this._parts.query=o.buildQuery(n,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof e&&(r=t),this.build(!r),this},s.removeQuery=function(e,t,r){var n=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return o.removeQuery(n,e,t),this._parts.query=o.buildQuery(n,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof e&&(r=t),this.build(!r),this},s.hasQuery=function(e,t,r){var n=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return o.hasQuery(n,e,t,r)},s.setSearch=s.setQuery,s.addSearch=s.addQuery,s.removeSearch=s.removeQuery,s.hasSearch=s.hasQuery,s.normalize=function(){return this._parts.urn?this.normalizeProtocol(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build():this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build()},s.normalizeProtocol=function(e){return"string"==typeof this._parts.protocol&&(this._parts.protocol=this._parts.protocol.toLowerCase(),this.build(!e)),this},s.normalizeHostname=function(r){return this._parts.hostname&&(this.is("IDN")&&e?this._parts.hostname=e.toASCII(this._parts.hostname):this.is("IPv6")&&t&&(this._parts.hostname=t.best(this._parts.hostname)),this._parts.hostname=this._parts.hostname.toLowerCase(),this.build(!r)),this},s.normalizePort=function(e){return"string"==typeof this._parts.protocol&&this._parts.port===o.defaultPorts[this._parts.protocol]&&(this._parts.port=null,this.build(!e)),this},s.normalizePath=function(e){var t,r=this._parts.path;if(!r)return this;if(this._parts.urn)return this._parts.path=o.recodeUrnPath(this._parts.path),this.build(!e),this;if("/"===this._parts.path)return this;var n,i,a="";for("/"!==(r=o.recodePath(r)).charAt(0)&&(t=!0,r="/"+r),"/.."!==r.slice(-3)&&"/."!==r.slice(-2)||(r+="/"),r=r.replace(/(\/(\.\/)+)|(\/\.$)/g,"/").replace(/\/{2,}/g,"/"),t&&(a=r.substring(1).match(/^(\.\.\/)+/)||"")&&(a=a[0]);-1!==(n=r.search(/\/\.\.(\/|$)/));)0!==n?(-1===(i=r.substring(0,n).lastIndexOf("/"))&&(i=n),r=r.substring(0,i)+r.substring(n+3)):r=r.substring(3);return t&&this.is("relative")&&(r=a+r.substring(1)),this._parts.path=r,this.build(!e),this},s.normalizePathname=s.normalizePath,s.normalizeQuery=function(e){return"string"==typeof this._parts.query&&(this._parts.query.length?this.query(o.parseQuery(this._parts.query,this._parts.escapeQuerySpace)):this._parts.query=null,this.build(!e)),this},s.normalizeFragment=function(e){return this._parts.fragment||(this._parts.fragment=null,this.build(!e)),this},s.normalizeSearch=s.normalizeQuery,s.normalizeHash=s.normalizeFragment,s.iso8859=function(){var e=o.encode,t=o.decode;o.encode=escape,o.decode=decodeURIComponent;try{this.normalize()}finally{o.encode=e,o.decode=t}return this},s.unicode=function(){var e=o.encode,t=o.decode;o.encode=y,o.decode=unescape;try{this.normalize()}finally{o.encode=e,o.decode=t}return this},s.readable=function(){var t=this.clone();t.username("").password("").normalize();var r="";if(t._parts.protocol&&(r+=t._parts.protocol+"://"),t._parts.hostname&&(t.is("punycode")&&e?(r+=e.toUnicode(t._parts.hostname),t._parts.port&&(r+=":"+t._parts.port)):r+=t.host()),t._parts.hostname&&t._parts.path&&"/"!==t._parts.path.charAt(0)&&(r+="/"),r+=t.path(!0),t._parts.query){for(var n="",i=0,a=t._parts.query.split("&"),s=a.length;i<s;i++){var u=(a[i]||"").split("=");n+="&"+o.decodeQuery(u[0],this._parts.escapeQuerySpace).replace(/&/g,"%26"),void 0!==u[1]&&(n+="="+o.decodeQuery(u[1],this._parts.escapeQuerySpace).replace(/&/g,"%26"))}r+="?"+n.substring(1)}return r+=o.decodeQuery(t.hash(),!0)},s.absoluteTo=function(e){var t,r,n,i=this.clone(),a=["protocol","username","password","hostname","port"];if(this._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(e instanceof o||(e=new o(e)),i._parts.protocol)return i;if(i._parts.protocol=e._parts.protocol,this._parts.hostname)return i;for(r=0;n=a[r];r++)i._parts[n]=e._parts[n];return i._parts.path?(".."===i._parts.path.substring(-2)&&(i._parts.path+="/"),"/"!==i.path().charAt(0)&&(t=(t=e.directory())||(0===e.path().indexOf("/")?"/":""),i._parts.path=(t?t+"/":"")+i._parts.path,i.normalizePath())):(i._parts.path=e._parts.path,i._parts.query||(i._parts.query=e._parts.query)),i.build(),i},s.relativeTo=function(e){var t,r,n,i,a,s=this.clone().normalize();if(s._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(e=new o(e).normalize(),t=s._parts,r=e._parts,i=s.path(),a=e.path(),"/"!==i.charAt(0))throw new Error("URI is already relative");if("/"!==a.charAt(0))throw new Error("Cannot calculate a URI relative to another relative URI");if(t.protocol===r.protocol&&(t.protocol=null),t.username!==r.username||t.password!==r.password)return s.build();if(null!==t.protocol||null!==t.username||null!==t.password)return s.build();if(t.hostname!==r.hostname||t.port!==r.port)return s.build();if(t.hostname=null,t.port=null,i===a)return t.path="",s.build();if(!(n=o.commonPath(i,a)))return s.build();var u=r.path.substring(n.length).replace(/[^\/]*$/,"").replace(/.*?\//g,"../");return t.path=u+t.path.substring(n.length)||"./",s.build()},s.equals=function(e){var t,r,n,i,a,s=this.clone(),c=new o(e),l={};if(s.normalize(),c.normalize(),s.toString()===c.toString())return!0;if(n=s.query(),i=c.query(),s.query(""),c.query(""),s.toString()!==c.toString())return!1;if(n.length!==i.length)return!1;for(a in t=o.parseQuery(n,this._parts.escapeQuerySpace),r=o.parseQuery(i,this._parts.escapeQuerySpace),t)if(u.call(t,a)){if(f(t[a])){if(!p(t[a],r[a]))return!1}else if(t[a]!==r[a])return!1;l[a]=!0}for(a in r)if(u.call(r,a)&&!l[a])return!1;return!0},s.preventInvalidHostname=function(e){return this._parts.preventInvalidHostname=!!e,this},s.duplicateQueryParameters=function(e){return this._parts.duplicateQueryParameters=!!e,this},s.escapeQuerySpace=function(e){return this._parts.escapeQuerySpace=!!e,this},o}))}).call(this,r(0)(e))},function(e,t,r){(function(r){var n,i,o,a;function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}a=function(){return function e(t,r,n){function i(a,s){if(!r[a]){if(!t[a]){if(o)return o(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var c=r[a]={exports:{}};t[a][0].call(c.exports,(function(e){return i(t[a][1][e]||e)}),c,c.exports,e,t,r,n)}return r[a].exports}for(var o=!1,a=0;a<n.length;a++)i(n[a]);return i}({1:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.version="4.0.48"},{}],2:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./utils/properties"),i=(o.isSigner=function(e){return n.isType(e,"Signer")},o);function o(){n.setType(this,"Signer")}r.Signer=i},{"./utils/properties":74}],3:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./utils/bignumber");r.AddressZero="0x0000000000000000000000000000000000000000",r.HashZero="0x0000000000000000000000000000000000000000000000000000000000000000",r.EtherSymbol="Ξ";var i=n.bigNumberify(-1);r.NegativeOne=i;var o=n.bigNumberify(0);r.Zero=o;var a=n.bigNumberify(1);r.One=a;var s=n.bigNumberify(2);r.Two=s;var u=n.bigNumberify("1000000000000000000");r.WeiPerEther=u;var c=n.bigNumberify("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");r.MaxUint256=c},{"./utils/bignumber":63}],4:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var a,u=e("./constants"),c=o(e("./errors")),l=e("./utils/abi-coder"),f=e("./utils/address"),h=e("./utils/bignumber"),d=e("./utils/bytes"),p=e("./utils/interface"),m=e("./utils/properties"),g=e("./providers/abstract-provider"),y=e("./abstract-signer"),v=(i(b,a=y.Signer),b.prototype.getAddress=function(){return Promise.resolve(this.address)},b.prototype._fail=function(e,t){return Promise.resolve().then((function(){c.throwError(e,c.UNSUPPORTED_OPERATION,{operation:t})}))},b.prototype.signMessage=function(e){return this._fail("VoidSigner cannot sign messages","signMessage")},b.prototype.sendTransaction=function(e){return this._fail("VoidSigner cannot sign transactions","sendTransaction")},b.prototype.connect=function(e){return new b(this.address,e)},b);function b(e,t){var r=a.call(this)||this;return m.defineReadOnly(r,"address",e),m.defineReadOnly(r,"provider",t),r}r.VoidSigner=v;var w={chainId:!0,data:!0,from:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};function _(e,t,r){var n=e.interface.functions[t];return function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];var o={},a=null;if(t.length===n.inputs.length+1&&"object"==s(t[t.length-1]))for(var f in null!=(o=m.shallowCopy(t.pop())).blockTag&&(a=o.blockTag),delete o.blockTag,o)if(!w[f])throw new Error("unknown transaction override "+f);if(t.length!=n.inputs.length)throw new Error("incorrect number of arguments");return["data","to"].forEach((function(e){null!=o[e]&&c.throwError("cannot override "+e,c.UNSUPPORTED_OPERATION,{operation:e})})),o.to=e._deployed(a).then((function(){return e.addressPromise})),function e(t,r,n){if(Array.isArray(n)){var i=[];return n.forEach((function(n,o){var a=Array.isArray(r)?r[o]:r[n.name];i.push(e(t,a,n))})),Promise.all(i)}if("address"===n.type)return t.resolveName(r);if("tuple"===n.type)return e(t,r,n.components);var o=n.type.match(/(.*)(\[[0-9]*\]$)/);if(o){if(!Array.isArray(r))throw new Error("invalid value for array");var a=[],s={components:n.components,type:o[1]};return r.forEach((function(r){a.push(e(t,r,s))})),Promise.all(a)}return Promise.resolve(r)}(e.provider,t,n.inputs).then((function(t){if(o.data=n.encode(t),"call"===n.type)return r?Promise.resolve(u.Zero):(e.provider||c.throwError("call (constant functions) require a provider or a signer with a provider",c.UNSUPPORTED_OPERATION,{operation:"call"}),["gasLimit","gasPrice","value"].forEach((function(e){if(null!=o[e])throw new Error("call cannot override "+e)})),null==o.from&&e.signer&&(o.from=e.signer.getAddress()),e.provider.call(o,a).then((function(r){var i;d.hexDataLength(r)%32==4&&"0x08c379a0"===d.hexDataSlice(r,0,4)&&(i=l.defaultAbiCoder.decode(["string"],d.hexDataSlice(r,4)),c.throwError("call revert exception",c.CALL_EXCEPTION,{address:e.address,args:t,method:n.signature,errorSignature:"Error(string)",errorArgs:[i],reason:i,transaction:o}));try{var a=n.decode(r);return 1===n.outputs.length&&(a=a[0]),a}catch(i){throw"0x"===r&&0<n.outputs.length&&c.throwError("call exception",c.CALL_EXCEPTION,{address:e.address,method:n.signature,args:t}),i}})));if("transaction"===n.type)return r?(e.provider||c.throwError("estimate gas require a provider or a signer with a provider",c.UNSUPPORTED_OPERATION,{operation:"estimateGas"}),null==o.from&&e.signer&&(o.from=e.signer.getAddress()),e.provider.estimateGas(o)):(null==o.gasLimit&&null!=n.gas&&(o.gasLimit=h.bigNumberify(n.gas).add(21e3)),e.signer||c.throwError("sending a transaction requires a signer",c.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),null!=o.from&&c.throwError("cannot override from in a transaction",c.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),e.signer.sendTransaction(o).then((function(t){var r=t.wait.bind(t);return t.wait=function(t){return r(t).then((function(t){return t.events=t.logs.map((function(r){var n=m.deepCopy(r),i=e.interface.parseLog(r);return i&&(n.args=i.values,n.decode=i.decode,n.event=i.name,n.eventSignature=i.signature),n.removeListener=function(){return e.provider},n.getBlock=function(){return e.provider.getBlock(t.blockHash)},n.getTransaction=function(){return e.provider.getTransaction(t.transactionHash)},n.getTransactionReceipt=function(){return Promise.resolve(t)},n})),t}))},t})));throw new Error("invalid type - "+n.type)}))}}function A(e){return!e.address||null!=e.topics&&0!==e.topics.length?(e.address||"*")+"@"+(e.topics?e.topics.join(":"):""):"*"}var E=(k.prototype.deployed=function(){return this._deployed()},k.prototype._deployed=function(e){var t=this;return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then((function(){return t})):this._deployedPromise=this.provider.getCode(this.address,e).then((function(e){return"0x"===e&&c.throwError("contract not deployed",c.UNSUPPORTED_OPERATION,{contractAddress:t.address,operation:"getDeployed"}),t}))),this._deployedPromise},k.prototype.fallback=function(e){var t=this;this.signer||c.throwError("sending a transaction requires a signer",c.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});var r=m.shallowCopy(e||{});return["from","to"].forEach((function(e){null!=r[e]&&c.throwError("cannot override "+e,c.UNSUPPORTED_OPERATION,{operation:e})})),r.to=this.addressPromise,this.deployed().then((function(){return t.signer.sendTransaction(r)}))},k.prototype.connect=function(e){"string"==typeof e&&(e=new v(e,this.provider));var t=new k(this.address,this.interface,e);return this.deployTransaction&&m.defineReadOnly(t,"deployTransaction",this.deployTransaction),t},k.prototype.attach=function(e){return new k(e,this.interface,this.signer||this.provider)},k.isIndexed=function(e){return p.Interface.isIndexed(e)},k.prototype._getEventFilter=function(e){var t=this;if("string"==typeof e){if("*"===e)return{prepareEvent:function(e){var r=t.interface.parseLog(e);return r&&(e.args=r.values,e.decode=r.decode,e.event=r.name,e.eventSignature=r.signature),[e]},eventTag:"*",filter:{address:this.address}};-1!==e.indexOf("(")&&(e=l.formatSignature(l.parseSignature("event "+e)));var r=this.interface.events[e];r||c.throwError("unknown event - "+e,c.INVALID_ARGUMENT,{argumnet:"eventName",value:e});var n={address:this.address,topics:[r.topic]};return{prepareEvent:function(e){var t=r.decode(e.data,e.topics);e.args=t;var n=Array.prototype.slice.call(t);return n.push(e),n},event:r,eventTag:A(n),filter:n}}var i={address:this.address},o=null;if(e.topics&&e.topics[0])for(var a in i.topics=e.topics,this.interface.events)if(-1!==a.indexOf("(")){var s=this.interface.events[a];if(s.topic===e.topics[0].toLowerCase()){o=s;break}}return{prepareEvent:function(e){if(!o)return[e];var t=o.decode(e.data,e.topics);e.args=t;var r=Array.prototype.slice.call(t);return r.push(e),r},event:o,eventTag:A(i),filter:i}},k.prototype._addEventListener=function(e,t,r){var n=this;function i(r){var i=m.deepCopy(r),o=e.prepareEvent(i);e.event&&(i.decode=e.event.decode,i.event=e.event.name,i.eventSignature=e.event.signature),i.removeListener=function(){n.removeListener(e.filter,t)},i.getBlock=function(){return n.provider.getBlock(r.blockHash)},i.getTransaction=function(){return n.provider.getTransaction(r.transactionHash)},i.getTransactionReceipt=function(){return n.provider.getTransactionReceipt(r.transactionHash)},n.emit.apply(n,[e.filter].concat(o))}this.provider||c.throwError("events require a provider or a signer with a provider",c.UNSUPPORTED_OPERATION,{operation:"once"}),this.provider.on(e.filter,i),this._events.push({eventFilter:e,listener:t,wrappedListener:i,once:r})},k.prototype.on=function(e,t){return this._addEventListener(this._getEventFilter(e),t,!1),this},k.prototype.once=function(e,t){return this._addEventListener(this._getEventFilter(e),t,!0),this},k.prototype.addListener=function(e,t){return this.on(e,t)},k.prototype.emit=function(e){for(var t=this,r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];if(!this.provider)return!1;var i=!1,o=this._getEventFilter(e);return this._events=this._events.filter((function(e){return e.eventFilter.eventTag!==o.eventTag||(setTimeout((function(){e.listener.apply(t,r)}),0),i=!0,!e.once)})),i},k.prototype.listenerCount=function(e){if(!this.provider)return 0;var t=this._getEventFilter(e);return this._events.filter((function(e){return e.eventFilter.eventTag===t.eventTag})).length},k.prototype.listeners=function(e){if(!this.provider)return[];var t=this._getEventFilter(e);return this._events.filter((function(e){return e.eventFilter.eventTag===t.eventTag})).map((function(e){return e.listener}))},k.prototype.removeAllListeners=function(e){var t=this;if(!this.provider)return this;var r=this._getEventFilter(e);return this._events=this._events.filter((function(e){return e.eventFilter.eventTag!==r.eventTag||(t.provider.removeListener(e.eventFilter.filter,e.wrappedListener),!1)})),this},k.prototype.removeListener=function(e,t){var r=this;if(!this.provider)return this;var n=!1,i=this._getEventFilter(e);return this._events=this._events.filter((function(e){return e.eventFilter.eventTag!==i.eventTag||e.listener!==t||(r.provider.removeListener(e.eventFilter.filter,e.wrappedListener),!!n||!(n=!0))})),this},k);function k(e,t,r){var n=this;if(c.checkNew(this,k),p.Interface.isInterface(t)?m.defineReadOnly(this,"interface",t):m.defineReadOnly(this,"interface",new p.Interface(t)),y.Signer.isSigner(r)?(m.defineReadOnly(this,"provider",r.provider),m.defineReadOnly(this,"signer",r)):g.Provider.isProvider(r)?(m.defineReadOnly(this,"provider",r),m.defineReadOnly(this,"signer",null)):c.throwError("invalid signer or provider",c.INVALID_ARGUMENT,{arg:"signerOrProvider",value:r}),m.defineReadOnly(this,"estimate",{}),m.defineReadOnly(this,"functions",{}),m.defineReadOnly(this,"filters",{}),Object.keys(this.interface.events).forEach((function(e){var t=n.interface.events[e];m.defineReadOnly(n.filters,e,(function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return{address:n.address,topics:t.encodeTopics(e)}}))})),this._events=[],m.defineReadOnly(this,"address",e),this.provider)m.defineReadOnly(this,"addressPromise",this.provider.resolveName(e).then((function(e){if(null==e)throw new Error("name not found");return e})).catch((function(e){throw e})));else try{m.defineReadOnly(this,"addressPromise",Promise.resolve(f.getAddress(e)))}catch(t){c.throwError("provider is required to use non-address contract address",c.INVALID_ARGUMENT,{argument:"addressOrName",value:e})}Object.keys(this.interface.functions).forEach((function(e){var t=_(n,e,!1);null==n[e]?m.defineReadOnly(n,e,t):c.warn("WARNING: Multiple definitions for "+e),null==n.functions[e]&&(m.defineReadOnly(n.functions,e,t),m.defineReadOnly(n.estimate,e,_(n,e,!0)))}))}r.Contract=E;var x=(S.prototype.getDeployTransaction=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r={};if(e.length===this.interface.deployFunction.inputs.length+1)for(var n in r=m.shallowCopy(e.pop()))if(!w[n])throw new Error("unknown transaction override "+n);return["data","from","to"].forEach((function(e){null!=r[e]&&c.throwError("cannot override "+e,c.UNSUPPORTED_OPERATION,{operation:e})})),c.checkArgumentCount(e.length,this.interface.deployFunction.inputs.length," in Contract constructor"),r.data=this.interface.deployFunction.encode(this.bytecode,e),r},S.prototype.deploy=function(){for(var e=this,t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var n=this.getDeployTransaction.apply(this,t);return this.signer.sendTransaction(n).then((function(t){var r=new E(f.getContractAddress(t),e.interface,e.signer);return m.defineReadOnly(r,"deployTransaction",t),r}))},S.prototype.attach=function(e){return new E(e,this.interface,this.signer)},S.prototype.connect=function(e){return new S(this.interface,this.bytecode,e)},S.fromSolidity=function(e,t){null==e&&c.throwError("missing compiler output",c.MISSING_ARGUMENT,{argument:"compilerOutput"}),"string"==typeof e&&(e=JSON.parse(e));var r=e.abi,n=null;return e.bytecode?n=e.bytecode:e.evm&&e.evm.bytecode&&(n=e.evm.bytecode),new S(r,n,t)},S);function S(e,t,r){var n=null;"string"==typeof t?n=t:d.isArrayish(t)?n=d.hexlify(t):"string"==typeof t.object?n=t.object:c.throwError("bytecode must be a valid hex string",c.INVALID_ARGUMENT,{arg:"bytecode",value:t}),"0x"!==n.substring(0,2)&&(n="0x"+n),d.isHexString(n)||c.throwError("bytecode must be a valid hex string",c.INVALID_ARGUMENT,{arg:"bytecode",value:t}),n.length%2!=0&&c.throwError("bytecode must be valid data (even length)",c.INVALID_ARGUMENT,{arg:"bytecode",value:t}),m.defineReadOnly(this,"bytecode",n),p.Interface.isInterface(e)?m.defineReadOnly(this,"interface",e):m.defineReadOnly(this,"interface",new p.Interface(e)),r&&!y.Signer.isSigner(r)&&c.throwError("invalid signer",c.INVALID_ARGUMENT,{arg:"signer",value:null}),m.defineReadOnly(this,"signer",r||null)}r.ContractFactory=x},{"./abstract-signer":2,"./constants":3,"./errors":5,"./providers/abstract-provider":50,"./utils/abi-coder":59,"./utils/address":60,"./utils/bignumber":63,"./utils/bytes":64,"./utils/interface":69,"./utils/properties":74}],5:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./_version");r.UNKNOWN_ERROR="UNKNOWN_ERROR",r.NOT_IMPLEMENTED="NOT_IMPLEMENTED",r.MISSING_NEW="MISSING_NEW",r.CALL_EXCEPTION="CALL_EXCEPTION",r.INVALID_ARGUMENT="INVALID_ARGUMENT",r.MISSING_ARGUMENT="MISSING_ARGUMENT",r.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",r.NUMERIC_FAULT="NUMERIC_FAULT",r.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",r.NONCE_EXPIRED="NONCE_EXPIRED",r.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED";var i=!(r.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION"),o=!1;function a(e,t,i){if(o)throw new Error("unknown error");t=t||r.UNKNOWN_ERROR,i=i||{};var a=[];Object.keys(i).forEach((function(e){try{a.push(e+"="+JSON.stringify(i[e]))}catch(t){a.push(e+"="+JSON.stringify(i[e].toString()))}})),a.push("version="+n.version);var s=e;a.length&&(e+=" ("+a.join(", ")+")");var u=new Error(e);throw u.reason=s,u.code=t,Object.keys(i).forEach((function(e){u[e]=i[e]})),u}r.throwError=a,r.checkNew=function(e,t){e instanceof t||a("missing new",r.MISSING_NEW,{name:t.name})},r.checkArgumentCount=function(e,t,n){n=n||"",e<t&&a("missing argument"+n,r.MISSING_ARGUMENT,{count:e,expectedCount:t}),t<e&&a("too many arguments"+n,r.UNEXPECTED_ARGUMENT,{count:e,expectedCount:t})},r.setCensorship=function(e,t){i&&a("error censorship permanent",r.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),o=!!e,i=!!t},r.checkNormalize=function(){try{if(["NFD","NFC","NFKD","NFKC"].forEach((function(e){try{"test".normalize(e)}catch(t){throw new Error("missing "+e)}})),String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(e){a("platform missing String.prototype.normalize",r.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:e.message})}};var s={debug:1,default:2,info:2,warn:3,error:4,off:5},u=s.default;function c(e,t){u>s[e]||console.log.apply(console,t)}function l(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];c("warn",e)}r.setLogLevel=function(e){var t=s[e];null!=t?u=t:l("invliad log level - "+e)},r.warn=l,r.info=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];c("info",e)}},{"./_version":1}],6:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("./contract");r.Contract=i.Contract,r.ContractFactory=i.ContractFactory,r.VoidSigner=i.VoidSigner;var o=e("./abstract-signer");r.Signer=o.Signer;var a=e("./wallet");r.Wallet=a.Wallet;var s=n(e("./constants"));r.constants=s;var u=n(e("./errors"));r.errors=u;var c=n(e("./providers"));r.providers=c;var l=n(e("./utils"));r.utils=l;var f=n(e("./wordlists"));r.wordlists=f;var h=e("./utils/shims");r.platform=h.platform;var d=e("./_version");r.version=d.version,r.getDefaultProvider=function(e){null==e&&(e="homestead");var t=l.getNetwork(e);return t&&t._defaultProvider||u.throwError("unsupported getDefaultProvider network",u.UNSUPPORTED_OPERATION,{operation:"getDefaultProvider",network:e}),t._defaultProvider(c)}},{"./_version":1,"./abstract-signer":2,"./constants":3,"./contract":4,"./errors":5,"./providers":54,"./utils":68,"./utils/shims":80,"./wallet":88,"./wordlists":89}],7:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("./ethers"));r.ethers=i,function(e){for(var t in e)r.hasOwnProperty(t)||(r[t]=e[t])}(e("./ethers"))},{"./ethers":6}],8:[function(e,t,r){"use strict";!function(e){function n(e){return parseInt(e)===e}function i(e){if(n(e.length)){for(var t=0;t<e.length;t++)if(!n(e[t])||e[t]<0||255<e[t])return;return 1}}function o(e,t){if(e.buffer&&ArrayBuffer.isView(e)&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!i(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(n(e.length)&&i(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function a(e){return new Uint8Array(e)}function s(e,t,r,n,i){null==n&&null==i||(e=e.slice?e.slice(n,i):Array.prototype.slice.call(e,n,i)),t.set(e,r)}var u,c={toBytes:function(e){var t=[],r=0;for(e=encodeURI(e);r<e.length;){var n=e.charCodeAt(r++);37===n?(t.push(parseInt(e.substr(r,2),16)),r+=2):t.push(n)}return o(t)},fromBytes:function(e){for(var t=[],r=0;r<e.length;){var n=e[r];n<128?(t.push(String.fromCharCode(n)),r++):191<n&&n<224?(t.push(String.fromCharCode((31&n)<<6|63&e[r+1])),r+=2):(t.push(String.fromCharCode((15&n)<<12|(63&e[r+1])<<6|63&e[r+2])),r+=3)}return t.join("")}},l=(u="0123456789abcdef",{toBytes:function(e){for(var t=[],r=0;r<e.length;r+=2)t.push(parseInt(e.substr(r,2),16));return t},fromBytes:function(e){for(var t=[],r=0;r<e.length;r++){var n=e[r];t.push(u[(240&n)>>4]+u[15&n])}return t.join("")}}),f={16:10,24:12,32:14},h=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],d=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],p=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],m=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],g=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],y=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],v=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],b=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],w=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],_=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],A=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],E=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],k=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],x=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],S=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function M(e){for(var t=[],r=0;r<e.length;r+=4)t.push(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]);return t}var I=function e(t){if(!(this instanceof e))throw Error("AES must be instanitated with `new`");Object.defineProperty(this,"key",{value:o(t,!0)}),this._prepare()};I.prototype._prepare=function(){var e=f[this.key.length];if(null==e)throw new Error("invalid key size (must be 16, 24 or 32 bytes)");this._Ke=[],this._Kd=[];for(var t=0;t<=e;t++)this._Ke.push([0,0,0,0]),this._Kd.push([0,0,0,0]);var r,n=4*(e+1),i=this.key.length/4,o=M(this.key);for(t=0;t<i;t++)r=t>>2,this._Ke[r][t%4]=o[t],this._Kd[e-r][t%4]=o[t];for(var a,s=0,u=i;u<n;){if(a=o[i-1],o[0]^=d[a>>16&255]<<24^d[a>>8&255]<<16^d[255&a]<<8^d[a>>24&255]^h[s]<<24,s+=1,8!=i)for(t=1;t<i;t++)o[t]^=o[t-1];else{for(t=1;t<i/2;t++)o[t]^=o[t-1];for(a=o[i/2-1],o[i/2]^=d[255&a]^d[a>>8&255]<<8^d[a>>16&255]<<16^d[a>>24&255]<<24,t=i/2+1;t<i;t++)o[t]^=o[t-1]}for(t=0;t<i&&u<n;)c=u>>2,l=u%4,this._Ke[c][l]=o[t],this._Kd[e-c][l]=o[t++],u++}for(var c=1;c<e;c++)for(var l=0;l<4;l++)a=this._Kd[c][l],this._Kd[c][l]=E[a>>24&255]^k[a>>16&255]^x[a>>8&255]^S[255&a]},I.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,r=[0,0,0,0],n=M(e),i=0;i<4;i++)n[i]^=this._Ke[0][i];for(var o=1;o<t;o++){for(i=0;i<4;i++)r[i]=m[n[i]>>24&255]^g[n[(i+1)%4]>>16&255]^y[n[(i+2)%4]>>8&255]^v[255&n[(i+3)%4]]^this._Ke[o][i];n=r.slice()}var s,u=a(16);for(i=0;i<4;i++)s=this._Ke[t][i],u[4*i]=255&(d[n[i]>>24&255]^s>>24),u[4*i+1]=255&(d[n[(i+1)%4]>>16&255]^s>>16),u[4*i+2]=255&(d[n[(i+2)%4]>>8&255]^s>>8),u[4*i+3]=255&(d[255&n[(i+3)%4]]^s);return u},I.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,r=[0,0,0,0],n=M(e),i=0;i<4;i++)n[i]^=this._Kd[0][i];for(var o=1;o<t;o++){for(i=0;i<4;i++)r[i]=b[n[i]>>24&255]^w[n[(i+3)%4]>>16&255]^_[n[(i+2)%4]>>8&255]^A[255&n[(i+1)%4]]^this._Kd[o][i];n=r.slice()}var s,u=a(16);for(i=0;i<4;i++)s=this._Kd[t][i],u[4*i]=255&(p[n[i]>>24&255]^s>>24),u[4*i+1]=255&(p[n[(i+3)%4]>>16&255]^s>>16),u[4*i+2]=255&(p[n[(i+2)%4]>>8&255]^s>>8),u[4*i+3]=255&(p[255&n[(i+1)%4]]^s);return u};var P=function e(t){if(!(this instanceof e))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new I(t)};P.prototype.encrypt=function(e){if((e=o(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=a(e.length),r=a(16),n=0;n<e.length;n+=16)s(e,r,0,n,n+16),s(r=this._aes.encrypt(r),t,n);return t},P.prototype.decrypt=function(e){if((e=o(e)).length%16!=0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var t=a(e.length),r=a(16),n=0;n<e.length;n+=16)s(e,r,0,n,n+16),s(r=this._aes.decrypt(r),t,n);return t};var T=function e(t,r){if(!(this instanceof e))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Block Chaining",this.name="cbc",r){if(16!=r.length)throw new Error("invalid initialation vector size (must be 16 bytes)")}else r=a(16);this._lastCipherblock=o(r,!0),this._aes=new I(t)};T.prototype.encrypt=function(e){if((e=o(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=a(e.length),r=a(16),n=0;n<e.length;n+=16){s(e,r,0,n,n+16);for(var i=0;i<16;i++)r[i]^=this._lastCipherblock[i];this._lastCipherblock=this._aes.encrypt(r),s(this._lastCipherblock,t,n)}return t},T.prototype.decrypt=function(e){if((e=o(e)).length%16!=0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var t=a(e.length),r=a(16),n=0;n<e.length;n+=16){s(e,r,0,n,n+16),r=this._aes.decrypt(r);for(var i=0;i<16;i++)t[n+i]=r[i]^this._lastCipherblock[i];s(e,this._lastCipherblock,0,n,n+16)}return t};var N=function e(t,r,n){if(!(this instanceof e))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Feedback",this.name="cfb",r){if(16!=r.length)throw new Error("invalid initialation vector size (must be 16 size)")}else r=a(16);n=n||1,this.segmentSize=n,this._shiftRegister=o(r,!0),this._aes=new I(t)};N.prototype.encrypt=function(e){if(e.length%this.segmentSize!=0)throw new Error("invalid plaintext size (must be segmentSize bytes)");for(var t,r=o(e,!0),n=0;n<r.length;n+=this.segmentSize){t=this._aes.encrypt(this._shiftRegister);for(var i=0;i<this.segmentSize;i++)r[n+i]^=t[i];s(this._shiftRegister,this._shiftRegister,0,this.segmentSize),s(r,this._shiftRegister,16-this.segmentSize,n,n+this.segmentSize)}return r},N.prototype.decrypt=function(e){if(e.length%this.segmentSize!=0)throw new Error("invalid ciphertext size (must be segmentSize bytes)");for(var t,r=o(e,!0),n=0;n<r.length;n+=this.segmentSize){t=this._aes.encrypt(this._shiftRegister);for(var i=0;i<this.segmentSize;i++)r[n+i]^=t[i];s(this._shiftRegister,this._shiftRegister,0,this.segmentSize),s(e,this._shiftRegister,16-this.segmentSize,n,n+this.segmentSize)}return r};var O=function e(t,r){if(!(this instanceof e))throw Error("AES must be instanitated with `new`");if(this.description="Output Feedback",this.name="ofb",r){if(16!=r.length)throw new Error("invalid initialation vector size (must be 16 bytes)")}else r=a(16);this._lastPrecipher=o(r,!0),this._lastPrecipherIndex=16,this._aes=new I(t)};O.prototype.encrypt=function(e){for(var t=o(e,!0),r=0;r<t.length;r++)16===this._lastPrecipherIndex&&(this._lastPrecipher=this._aes.encrypt(this._lastPrecipher),this._lastPrecipherIndex=0),t[r]^=this._lastPrecipher[this._lastPrecipherIndex++];return t},O.prototype.decrypt=O.prototype.encrypt;var R=function e(t){if(!(this instanceof e))throw Error("Counter must be instanitated with `new`");0===t||t||(t=1),"number"==typeof t?(this._counter=a(16),this.setValue(t)):this.setBytes(t)};R.prototype.setValue=function(e){if("number"!=typeof e||parseInt(e)!=e)throw new Error("invalid counter value (must be an integer)");for(var t=15;0<=t;--t)this._counter[t]=e%256,e>>=8},R.prototype.setBytes=function(e){if(16!=(e=o(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},R.prototype.increment=function(){for(var e=15;0<=e;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var C=function e(t,r){if(!(this instanceof e))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",r instanceof R||(r=new R(r)),this._counter=r,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new I(t)};C.prototype.encrypt=function(e){for(var t=o(e,!0),r=0;r<t.length;r++)16===this._remainingCounterIndex&&(this._remainingCounter=this._aes.encrypt(this._counter._counter),this._remainingCounterIndex=0,this._counter.increment()),t[r]^=this._remainingCounter[this._remainingCounterIndex++];return t},C.prototype.decrypt=C.prototype.encrypt;var j={AES:I,Counter:R,ModeOfOperation:{ecb:P,cbc:T,cfb:N,ofb:O,ctr:C},utils:{hex:l,utf8:c},padding:{pkcs7:{pad:function(e){var t=16-(e=o(e,!0)).length%16,r=a(e.length+t);s(e,r);for(var n=e.length;n<r.length;n++)r[n]=t;return r},strip:function(e){if((e=o(e,!0)).length<16)throw new Error("PKCS#7 invalid length");var t=e[e.length-1];if(16<t)throw new Error("PKCS#7 padding byte out of range");for(var r=e.length-t,n=0;n<t;n++)if(e[r+n]!==t)throw new Error("PKCS#7 invalid padding byte");var i=a(r);return s(e,i,0,0,r),i}}},_arrayTest:{coerceArray:o,createArray:a,copyArray:s}};void 0!==r?t.exports=j:(e.aesjs&&(j._aesjs=e.aesjs),e.aesjs=j)}(this)},{}],9:[function(e,t,r){!function(t,r){"use strict";function n(e,t){if(!e)throw new Error(t||"Assertion failed")}function i(e,t){function r(){}e.super_=t,r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function o(e,t,r){if(o.isBN(e))return e;this.negative=0,this.words=null,this.length=0,(this.red=null)!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var a;"object"==s(t)?t.exports=o:r.BN=o,(o.BN=o).wordSize=26;try{a=e("buffer").Buffer}catch(t){}function u(e,t,r){for(var n=0,i=Math.min(e.length,r),o=t;o<i;o++){var a=e.charCodeAt(o)-48;n<<=4,n|=49<=a&&a<=54?a-49+10:17<=a&&a<=22?a-17+10:15&a}return n}function c(e,t,r,n){for(var i=0,o=Math.min(e.length,r),a=t;a<o;a++){var s=e.charCodeAt(a)-48;i*=n,i+=49<=s?s-49+10:17<=s?s-17+10:s}return i}o.isBN=function(e){return e instanceof o||null!==e&&"object"==s(e)&&e.constructor.wordSize===o.wordSize&&Array.isArray(e.words)},o.max=function(e,t){return 0<e.cmp(t)?e:t},o.min=function(e,t){return e.cmp(t)<0?e:t},o.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==s(e))return this._initArray(e,t,r);"hex"===t&&(t=16),n(t===(0|t)&&2<=t&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),t,r)},o.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),t,r)},o.prototype._initArray=function(e,t,r){if(n("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i,o,a=0;a<this.length;a++)this.words[a]=0;var s=0;if("be"===r)for(a=e.length-1,i=0;0<=a;a-=3)o=e[a]|e[a-1]<<8|e[a-2]<<16,this.words[i]|=o<<s&67108863,this.words[i+1]=o>>>26-s&67108863,26<=(s+=24)&&(s-=26,i++);else if("le"===r)for(i=a=0;a<e.length;a+=3)o=e[a]|e[a+1]<<8|e[a+2]<<16,this.words[i]|=o<<s&67108863,this.words[i+1]=o>>>26-s&67108863,26<=(s+=24)&&(s-=26,i++);return this.strip()},o.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r,n=0;n<this.length;n++)this.words[n]=0;for(var i=0,o=(n=e.length-6,0);t<=n;n-=6)r=u(e,n,n+6),this.words[o]|=r<<i&67108863,this.words[o+1]|=r>>>26-i&4194303,26<=(i+=24)&&(i-=26,o++);n+6!==t&&(r=u(e,t,n+6),this.words[o]|=r<<i&67108863,this.words[o+1]|=r>>>26-i&4194303),this.strip()},o.prototype._parseBase=function(e,t,r){this.words=[0];for(var n=0,i=this.length=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var o=e.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,l=r;l<s;l+=n)u=c(e,l,l+n,t),this.imuln(i),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!=a){var f=1;for(u=c(e,l,e.length,t),l=0;l<a;l++)f*=t;this.imuln(f),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}},o.prototype.copy=function(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},o.prototype.clone=function(){var e=new o(null);return this.copy(e),e},o.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},o.prototype.strip=function(){for(;1<this.length&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0,i=(n=(r.length=n)-1|0,67108863&(f=(0|e.words[0])*(0|t.words[0]))),o=f/67108864|0;r.words[0]=i;for(var a=1;a<n;a++){for(var s=o>>>26,u=67108863&o,c=Math.min(a,t.length-1),l=Math.max(0,a-e.length+1);l<=c;l++){var f,h=a-l|0;s+=(f=(0|e.words[h])*(0|t.words[l])+u)/67108864|0,u=67108863&f}r.words[a]=0|u,o=0|s}return 0!==o?r.words[a]=0|o:r.length--,r.strip()}o.prototype.toString=function(e,t){if(t=0|t||1,16===(e=e||10)||"hex"===e){u="";for(var r=0,i=0,o=0;o<this.length;o++){var a=this.words[o],s=(16777215&(a<<r|i)).toString(16),u=0!=(i=a>>>24-r&16777215)||o!==this.length-1?l[6-s.length]+s+u:s+u;26<=(r+=2)&&(r-=26,o--)}for(0!==i&&(u=i.toString(16)+u);u.length%t!=0;)u="0"+u;return 0!==this.negative&&(u="-"+u),u}if(e===(0|e)&&2<=e&&e<=36){var c=f[e],d=h[e];for(u="",(p=this.clone()).negative=0;!p.isZero();){var p,m=p.modn(d).toString(e);u=(p=p.idivn(d)).isZero()?m+u:l[c-m.length]+m+u}for(this.isZero()&&(u="0"+u);u.length%t!=0;)u="0"+u;return 0!==this.negative&&(u="-"+u),u}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:2<this.length&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(e,t){return n(void 0!==a),this.toArrayLike(a,e,t)},o.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},o.prototype.toArrayLike=function(e,t,r){var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(0<o,"Requested array length <= 0"),this.strip();var a,s,u="le"===t,c=new e(o),l=this.clone();if(u){for(s=0;!l.isZero();s++)a=l.andln(255),l.iushrn(8),c[s]=a;for(;s<o;s++)c[s]=0}else{for(s=0;s<o-i;s++)c[s]=0;for(s=0;!l.isZero();s++)a=l.andln(255),l.iushrn(8),c[o-s-1]=a}return c},Math.clz32?o.prototype._countBits=function(e){return 32-Math.clz32(e)}:o.prototype._countBits=function(e){var t=e,r=0;return 4096<=t&&(r+=13,t>>>=13),64<=t&&(r+=7,t>>>=7),8<=t&&(r+=4,t>>>=4),2<=t&&(r+=2,t>>>=2),r+t},o.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},o.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var r=this._zeroBits(this.words[t]);if(e+=r,26!==r)break}return e},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},o.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return 0!==this.negative},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this.strip()},o.prototype.ior=function(e){return n(0==(this.negative|e.negative)),this.iuor(e)},o.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.prototype.iuand=function(e){for(var t=this.length>e.length?e:this,r=0;r<t.length;r++)this.words[r]=this.words[r]&e.words[r];return this.length=t.length,this.strip()},o.prototype.iand=function(e){return n(0==(this.negative|e.negative)),this.iuand(e)},o.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.prototype.iuxor=function(e){for(var t,r=this.length>e.length?(t=this,e):(t=e,this),n=0;n<r.length;n++)this.words[n]=t.words[n]^r.words[n];if(this!==t)for(;n<t.length;n++)this.words[n]=t.words[n];return this.length=t.length,this.strip()},o.prototype.ixor=function(e){return n(0==(this.negative|e.negative)),this.iuxor(e)},o.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){n("number"==typeof e&&0<=e);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),0<r&&t--;for(var i=0;i<t;i++)this.words[i]=67108863&~this.words[i];return 0<r&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,t){n("number"==typeof e&&0<=e);var r=e/26|0,i=e%26;return this._expand(1+r),this.words[r]=t?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},o.prototype.iadd=function(e){var t,r,n;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();n=this.length>e.length?(r=this,e):(r=e,this);for(var i=0,o=0;o<n.length;o++)t=(0|r.words[o])+(0|n.words[o])+i,this.words[o]=67108863&t,i=t>>>26;for(;0!==i&&o<r.length;o++)t=(0|r.words[o])+i,this.words[o]=67108863&t,i=t>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},o.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},o.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;n=0<i?(r=this,e):(r=e,this);for(var o=0,a=0;a<n.length;a++)o=(t=(0|r.words[a])-(0|n.words[a])+o)>>26,this.words[a]=67108863&t;for(;0!==o&&a<r.length;a++)o=(t=(0|r.words[a])+o)>>26,this.words[a]=67108863&t;if(0===o&&a<r.length&&r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this.length=Math.max(this.length,a),r!==this&&(this.negative=1),this.strip()},o.prototype.sub=function(e){return this.clone().isub(e)};var p=function(e,t,r){var n,i,o,a=e.words,s=t.words,u=r.words,c=0|a[0],l=8191&c,f=c>>>13,h=0|a[1],d=8191&h,p=h>>>13,m=0|a[2],g=8191&m,y=m>>>13,v=0|a[3],b=8191&v,w=v>>>13,_=0|a[4],A=8191&_,E=_>>>13,k=0|a[5],x=8191&k,S=k>>>13,M=0|a[6],I=8191&M,P=M>>>13,T=0|a[7],N=8191&T,O=T>>>13,R=0|a[8],C=8191&R,j=R>>>13,L=0|a[9],B=8191&L,U=L>>>13,D=0|s[0],F=8191&D,z=D>>>13,H=0|s[1],G=8191&H,q=H>>>13,V=0|s[2],W=8191&V,K=V>>>13,Z=0|s[3],Q=8191&Z,J=Z>>>13,$=0|s[4],Y=8191&$,X=$>>>13,ee=0|s[5],te=8191&ee,re=ee>>>13,ne=0|s[6],ie=8191&ne,oe=ne>>>13,ae=0|s[7],se=8191&ae,ue=ae>>>13,ce=0|s[8],le=8191&ce,fe=ce>>>13,he=0|s[9],de=8191&he,pe=he>>>13;r.negative=e.negative^t.negative,r.length=19;var me=(0+Math.imul(l,F)|0)+((8191&(i=Math.imul(l,z)+Math.imul(f,F)|0))<<13)|0,ge=(Math.imul(f,z)+(i>>>13)|0)+(me>>>26)|0;me&=67108863,n=Math.imul(d,F),i=Math.imul(d,z)+Math.imul(p,F)|0,o=Math.imul(p,z);var ye=(ge+(n+Math.imul(l,G)|0)|0)+((8191&(i=(i+Math.imul(l,q)|0)+Math.imul(f,G)|0))<<13)|0;ge=((o+Math.imul(f,q)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(g,F),i=Math.imul(g,z)+Math.imul(y,F)|0,o=Math.imul(y,z),n=n+Math.imul(d,G)|0,i=(i+Math.imul(d,q)|0)+Math.imul(p,G)|0,o=o+Math.imul(p,q)|0;var ve=(ge+(n+Math.imul(l,W)|0)|0)+((8191&(i=(i+Math.imul(l,K)|0)+Math.imul(f,W)|0))<<13)|0;ge=((o+Math.imul(f,K)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(b,F),i=Math.imul(b,z)+Math.imul(w,F)|0,o=Math.imul(w,z),n=n+Math.imul(g,G)|0,i=(i+Math.imul(g,q)|0)+Math.imul(y,G)|0,o=o+Math.imul(y,q)|0,n=n+Math.imul(d,W)|0,i=(i+Math.imul(d,K)|0)+Math.imul(p,W)|0,o=o+Math.imul(p,K)|0;var be=(ge+(n+Math.imul(l,Q)|0)|0)+((8191&(i=(i+Math.imul(l,J)|0)+Math.imul(f,Q)|0))<<13)|0;ge=((o+Math.imul(f,J)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(A,F),i=Math.imul(A,z)+Math.imul(E,F)|0,o=Math.imul(E,z),n=n+Math.imul(b,G)|0,i=(i+Math.imul(b,q)|0)+Math.imul(w,G)|0,o=o+Math.imul(w,q)|0,n=n+Math.imul(g,W)|0,i=(i+Math.imul(g,K)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,K)|0,n=n+Math.imul(d,Q)|0,i=(i+Math.imul(d,J)|0)+Math.imul(p,Q)|0,o=o+Math.imul(p,J)|0;var we=(ge+(n+Math.imul(l,Y)|0)|0)+((8191&(i=(i+Math.imul(l,X)|0)+Math.imul(f,Y)|0))<<13)|0;ge=((o+Math.imul(f,X)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(x,F),i=Math.imul(x,z)+Math.imul(S,F)|0,o=Math.imul(S,z),n=n+Math.imul(A,G)|0,i=(i+Math.imul(A,q)|0)+Math.imul(E,G)|0,o=o+Math.imul(E,q)|0,n=n+Math.imul(b,W)|0,i=(i+Math.imul(b,K)|0)+Math.imul(w,W)|0,o=o+Math.imul(w,K)|0,n=n+Math.imul(g,Q)|0,i=(i+Math.imul(g,J)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,J)|0,n=n+Math.imul(d,Y)|0,i=(i+Math.imul(d,X)|0)+Math.imul(p,Y)|0,o=o+Math.imul(p,X)|0;var _e=(ge+(n+Math.imul(l,te)|0)|0)+((8191&(i=(i+Math.imul(l,re)|0)+Math.imul(f,te)|0))<<13)|0;ge=((o+Math.imul(f,re)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(I,F),i=Math.imul(I,z)+Math.imul(P,F)|0,o=Math.imul(P,z),n=n+Math.imul(x,G)|0,i=(i+Math.imul(x,q)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,q)|0,n=n+Math.imul(A,W)|0,i=(i+Math.imul(A,K)|0)+Math.imul(E,W)|0,o=o+Math.imul(E,K)|0,n=n+Math.imul(b,Q)|0,i=(i+Math.imul(b,J)|0)+Math.imul(w,Q)|0,o=o+Math.imul(w,J)|0,n=n+Math.imul(g,Y)|0,i=(i+Math.imul(g,X)|0)+Math.imul(y,Y)|0,o=o+Math.imul(y,X)|0,n=n+Math.imul(d,te)|0,i=(i+Math.imul(d,re)|0)+Math.imul(p,te)|0,o=o+Math.imul(p,re)|0;var Ae=(ge+(n+Math.imul(l,ie)|0)|0)+((8191&(i=(i+Math.imul(l,oe)|0)+Math.imul(f,ie)|0))<<13)|0;ge=((o+Math.imul(f,oe)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(N,F),i=Math.imul(N,z)+Math.imul(O,F)|0,o=Math.imul(O,z),n=n+Math.imul(I,G)|0,i=(i+Math.imul(I,q)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,q)|0,n=n+Math.imul(x,W)|0,i=(i+Math.imul(x,K)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,K)|0,n=n+Math.imul(A,Q)|0,i=(i+Math.imul(A,J)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,J)|0,n=n+Math.imul(b,Y)|0,i=(i+Math.imul(b,X)|0)+Math.imul(w,Y)|0,o=o+Math.imul(w,X)|0,n=n+Math.imul(g,te)|0,i=(i+Math.imul(g,re)|0)+Math.imul(y,te)|0,o=o+Math.imul(y,re)|0,n=n+Math.imul(d,ie)|0,i=(i+Math.imul(d,oe)|0)+Math.imul(p,ie)|0,o=o+Math.imul(p,oe)|0;var Ee=(ge+(n+Math.imul(l,se)|0)|0)+((8191&(i=(i+Math.imul(l,ue)|0)+Math.imul(f,se)|0))<<13)|0;ge=((o+Math.imul(f,ue)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(C,F),i=Math.imul(C,z)+Math.imul(j,F)|0,o=Math.imul(j,z),n=n+Math.imul(N,G)|0,i=(i+Math.imul(N,q)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,q)|0,n=n+Math.imul(I,W)|0,i=(i+Math.imul(I,K)|0)+Math.imul(P,W)|0,o=o+Math.imul(P,K)|0,n=n+Math.imul(x,Q)|0,i=(i+Math.imul(x,J)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,J)|0,n=n+Math.imul(A,Y)|0,i=(i+Math.imul(A,X)|0)+Math.imul(E,Y)|0,o=o+Math.imul(E,X)|0,n=n+Math.imul(b,te)|0,i=(i+Math.imul(b,re)|0)+Math.imul(w,te)|0,o=o+Math.imul(w,re)|0,n=n+Math.imul(g,ie)|0,i=(i+Math.imul(g,oe)|0)+Math.imul(y,ie)|0,o=o+Math.imul(y,oe)|0,n=n+Math.imul(d,se)|0,i=(i+Math.imul(d,ue)|0)+Math.imul(p,se)|0,o=o+Math.imul(p,ue)|0;var ke=(ge+(n+Math.imul(l,le)|0)|0)+((8191&(i=(i+Math.imul(l,fe)|0)+Math.imul(f,le)|0))<<13)|0;ge=((o+Math.imul(f,fe)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(B,F),i=Math.imul(B,z)+Math.imul(U,F)|0,o=Math.imul(U,z),n=n+Math.imul(C,G)|0,i=(i+Math.imul(C,q)|0)+Math.imul(j,G)|0,o=o+Math.imul(j,q)|0,n=n+Math.imul(N,W)|0,i=(i+Math.imul(N,K)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,K)|0,n=n+Math.imul(I,Q)|0,i=(i+Math.imul(I,J)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,J)|0,n=n+Math.imul(x,Y)|0,i=(i+Math.imul(x,X)|0)+Math.imul(S,Y)|0,o=o+Math.imul(S,X)|0,n=n+Math.imul(A,te)|0,i=(i+Math.imul(A,re)|0)+Math.imul(E,te)|0,o=o+Math.imul(E,re)|0,n=n+Math.imul(b,ie)|0,i=(i+Math.imul(b,oe)|0)+Math.imul(w,ie)|0,o=o+Math.imul(w,oe)|0,n=n+Math.imul(g,se)|0,i=(i+Math.imul(g,ue)|0)+Math.imul(y,se)|0,o=o+Math.imul(y,ue)|0,n=n+Math.imul(d,le)|0,i=(i+Math.imul(d,fe)|0)+Math.imul(p,le)|0,o=o+Math.imul(p,fe)|0;var xe=(ge+(n+Math.imul(l,de)|0)|0)+((8191&(i=(i+Math.imul(l,pe)|0)+Math.imul(f,de)|0))<<13)|0;ge=((o+Math.imul(f,pe)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(B,G),i=Math.imul(B,q)+Math.imul(U,G)|0,o=Math.imul(U,q),n=n+Math.imul(C,W)|0,i=(i+Math.imul(C,K)|0)+Math.imul(j,W)|0,o=o+Math.imul(j,K)|0,n=n+Math.imul(N,Q)|0,i=(i+Math.imul(N,J)|0)+Math.imul(O,Q)|0,o=o+Math.imul(O,J)|0,n=n+Math.imul(I,Y)|0,i=(i+Math.imul(I,X)|0)+Math.imul(P,Y)|0,o=o+Math.imul(P,X)|0,n=n+Math.imul(x,te)|0,i=(i+Math.imul(x,re)|0)+Math.imul(S,te)|0,o=o+Math.imul(S,re)|0,n=n+Math.imul(A,ie)|0,i=(i+Math.imul(A,oe)|0)+Math.imul(E,ie)|0,o=o+Math.imul(E,oe)|0,n=n+Math.imul(b,se)|0,i=(i+Math.imul(b,ue)|0)+Math.imul(w,se)|0,o=o+Math.imul(w,ue)|0,n=n+Math.imul(g,le)|0,i=(i+Math.imul(g,fe)|0)+Math.imul(y,le)|0,o=o+Math.imul(y,fe)|0;var Se=(ge+(n+Math.imul(d,de)|0)|0)+((8191&(i=(i+Math.imul(d,pe)|0)+Math.imul(p,de)|0))<<13)|0;ge=((o+Math.imul(p,pe)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(B,W),i=Math.imul(B,K)+Math.imul(U,W)|0,o=Math.imul(U,K),n=n+Math.imul(C,Q)|0,i=(i+Math.imul(C,J)|0)+Math.imul(j,Q)|0,o=o+Math.imul(j,J)|0,n=n+Math.imul(N,Y)|0,i=(i+Math.imul(N,X)|0)+Math.imul(O,Y)|0,o=o+Math.imul(O,X)|0,n=n+Math.imul(I,te)|0,i=(i+Math.imul(I,re)|0)+Math.imul(P,te)|0,o=o+Math.imul(P,re)|0,n=n+Math.imul(x,ie)|0,i=(i+Math.imul(x,oe)|0)+Math.imul(S,ie)|0,o=o+Math.imul(S,oe)|0,n=n+Math.imul(A,se)|0,i=(i+Math.imul(A,ue)|0)+Math.imul(E,se)|0,o=o+Math.imul(E,ue)|0,n=n+Math.imul(b,le)|0,i=(i+Math.imul(b,fe)|0)+Math.imul(w,le)|0,o=o+Math.imul(w,fe)|0;var Me=(ge+(n+Math.imul(g,de)|0)|0)+((8191&(i=(i+Math.imul(g,pe)|0)+Math.imul(y,de)|0))<<13)|0;ge=((o+Math.imul(y,pe)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(B,Q),i=Math.imul(B,J)+Math.imul(U,Q)|0,o=Math.imul(U,J),n=n+Math.imul(C,Y)|0,i=(i+Math.imul(C,X)|0)+Math.imul(j,Y)|0,o=o+Math.imul(j,X)|0,n=n+Math.imul(N,te)|0,i=(i+Math.imul(N,re)|0)+Math.imul(O,te)|0,o=o+Math.imul(O,re)|0,n=n+Math.imul(I,ie)|0,i=(i+Math.imul(I,oe)|0)+Math.imul(P,ie)|0,o=o+Math.imul(P,oe)|0,n=n+Math.imul(x,se)|0,i=(i+Math.imul(x,ue)|0)+Math.imul(S,se)|0,o=o+Math.imul(S,ue)|0,n=n+Math.imul(A,le)|0,i=(i+Math.imul(A,fe)|0)+Math.imul(E,le)|0,o=o+Math.imul(E,fe)|0;var Ie=(ge+(n+Math.imul(b,de)|0)|0)+((8191&(i=(i+Math.imul(b,pe)|0)+Math.imul(w,de)|0))<<13)|0;ge=((o+Math.imul(w,pe)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,n=Math.imul(B,Y),i=Math.imul(B,X)+Math.imul(U,Y)|0,o=Math.imul(U,X),n=n+Math.imul(C,te)|0,i=(i+Math.imul(C,re)|0)+Math.imul(j,te)|0,o=o+Math.imul(j,re)|0,n=n+Math.imul(N,ie)|0,i=(i+Math.imul(N,oe)|0)+Math.imul(O,ie)|0,o=o+Math.imul(O,oe)|0,n=n+Math.imul(I,se)|0,i=(i+Math.imul(I,ue)|0)+Math.imul(P,se)|0,o=o+Math.imul(P,ue)|0,n=n+Math.imul(x,le)|0,i=(i+Math.imul(x,fe)|0)+Math.imul(S,le)|0,o=o+Math.imul(S,fe)|0;var Pe=(ge+(n+Math.imul(A,de)|0)|0)+((8191&(i=(i+Math.imul(A,pe)|0)+Math.imul(E,de)|0))<<13)|0;ge=((o+Math.imul(E,pe)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(B,te),i=Math.imul(B,re)+Math.imul(U,te)|0,o=Math.imul(U,re),n=n+Math.imul(C,ie)|0,i=(i+Math.imul(C,oe)|0)+Math.imul(j,ie)|0,o=o+Math.imul(j,oe)|0,n=n+Math.imul(N,se)|0,i=(i+Math.imul(N,ue)|0)+Math.imul(O,se)|0,o=o+Math.imul(O,ue)|0,n=n+Math.imul(I,le)|0,i=(i+Math.imul(I,fe)|0)+Math.imul(P,le)|0,o=o+Math.imul(P,fe)|0;var Te=(ge+(n+Math.imul(x,de)|0)|0)+((8191&(i=(i+Math.imul(x,pe)|0)+Math.imul(S,de)|0))<<13)|0;ge=((o+Math.imul(S,pe)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(B,ie),i=Math.imul(B,oe)+Math.imul(U,ie)|0,o=Math.imul(U,oe),n=n+Math.imul(C,se)|0,i=(i+Math.imul(C,ue)|0)+Math.imul(j,se)|0,o=o+Math.imul(j,ue)|0,n=n+Math.imul(N,le)|0,i=(i+Math.imul(N,fe)|0)+Math.imul(O,le)|0,o=o+Math.imul(O,fe)|0;var Ne=(ge+(n+Math.imul(I,de)|0)|0)+((8191&(i=(i+Math.imul(I,pe)|0)+Math.imul(P,de)|0))<<13)|0;ge=((o+Math.imul(P,pe)|0)+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,n=Math.imul(B,se),i=Math.imul(B,ue)+Math.imul(U,se)|0,o=Math.imul(U,ue),n=n+Math.imul(C,le)|0,i=(i+Math.imul(C,fe)|0)+Math.imul(j,le)|0,o=o+Math.imul(j,fe)|0;var Oe=(ge+(n+Math.imul(N,de)|0)|0)+((8191&(i=(i+Math.imul(N,pe)|0)+Math.imul(O,de)|0))<<13)|0;ge=((o+Math.imul(O,pe)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,n=Math.imul(B,le),i=Math.imul(B,fe)+Math.imul(U,le)|0,o=Math.imul(U,fe);var Re=(ge+(n+Math.imul(C,de)|0)|0)+((8191&(i=(i+Math.imul(C,pe)|0)+Math.imul(j,de)|0))<<13)|0;ge=((o+Math.imul(j,pe)|0)+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863;var Ce=(ge+Math.imul(B,de)|0)+((8191&(i=Math.imul(B,pe)+Math.imul(U,de)|0))<<13)|0;return ge=(Math.imul(U,pe)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,u[0]=me,u[1]=ye,u[2]=ve,u[3]=be,u[4]=we,u[5]=_e,u[6]=Ae,u[7]=Ee,u[8]=ke,u[9]=xe,u[10]=Se,u[11]=Me,u[12]=Ie,u[13]=Pe,u[14]=Te,u[15]=Ne,u[16]=Oe,u[17]=Re,u[18]=Ce,0!=ge&&(u[19]=ge,r.length++),r};function m(e,t,r){return(new g).mulp(e,t,r)}function g(e,t){this.x=e,this.y=t}Math.imul||(p=d),o.prototype.mulTo=function(e,t){var r=this.length+e.length;return(10===this.length&&10===e.length?p:r<63?d:r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,o=0;o<r.length-1;o++){for(var a=i,s=(i=0,67108863&n),u=Math.min(o,t.length-1),c=Math.max(0,o-e.length+1);c<=u;c++){var l=o-c,f=(0|e.words[l])*(0|t.words[c]),h=67108863&f;s=67108863&(h=h+s|0),i+=(a=(a=a+(f/67108864|0)|0)+(h>>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}:m)(this,e,t)},g.prototype.makeRBT=function(e){for(var t=new Array(e),r=o.prototype._countBits(e)-1,n=0;n<e;n++)t[n]=this.revBin(n,r,e);return t},g.prototype.revBin=function(e,t,r){if(0===e||e===r-1)return e;for(var n=0,i=0;i<t;i++)n|=(1&e)<<t-i-1,e>>=1;return n},g.prototype.permute=function(e,t,r,n,i,o){for(var a=0;a<o;a++)n[a]=t[e[a]],i[a]=r[e[a]]},g.prototype.transform=function(e,t,r,n,i,o){this.permute(o,e,t,r,n,i);for(var a=1;a<i;a<<=1)for(var s=a<<1,u=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),l=0;l<i;l+=s)for(var f=u,h=c,d=0;d<a;d++){var p=r[l+d],m=n[l+d],g=f*(v=r[l+d+a])-h*(y=n[l+d+a]),y=f*y+h*v,v=g;r[l+d]=p+v,n[l+d]=m+y,r[l+d+a]=p-v,n[l+d+a]=m-y,d!==s&&(g=u*f-c*h,h=u*h+c*f,f=g)}},g.prototype.guessLen13b=function(e,t){for(var r=1&(i=1|Math.max(t,e)),n=0,i=i/2|0;i;i>>>=1)n++;return 1<<n+1+r},g.prototype.conjugate=function(e,t,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=e[n];e[n]=e[r-n-1],e[r-n-1]=i,i=t[n],t[n]=-t[r-n-1],t[r-n-1]=-i}},g.prototype.normalize13b=function(e,t){for(var r=0,n=0;n<t/2;n++){var i=8192*Math.round(e[2*n+1]/t)+Math.round(e[2*n]/t)+r;e[n]=67108863&i,r=i<67108864?0:i/67108864|0}return e},g.prototype.convert13b=function(e,t,r,i){for(var o=0,a=0;a<t;a++)o+=0|e[a],r[2*a]=8191&o,o>>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*t;a<i;++a)r[a]=0;n(0===o),n(0==(-8192&o))},g.prototype.stub=function(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=0;return t},g.prototype.mulp=function(e,t,r){var n=2*this.guessLen13b(e.length,t.length),i=this.makeRBT(n),o=this.stub(n),a=new Array(n),s=new Array(n),u=new Array(n),c=new Array(n),l=new Array(n),f=new Array(n),h=r.words;h.length=n,this.convert13b(e.words,e.length,a,n),this.convert13b(t.words,t.length,c,n),this.transform(a,o,s,u,n,i),this.transform(c,o,l,f,n,i);for(var d=0;d<n;d++){var p=s[d]*l[d]-u[d]*f[d];u[d]=s[d]*f[d]+u[d]*l[d],s[d]=p}return this.conjugate(s,u,n),this.transform(s,u,h,o,n,i),this.conjugate(h,o,n),this.normalize13b(h,n),r.negative=e.negative^t.negative,r.length=e.length+t.length,r.strip()},o.prototype.mul=function(e){var t=new o(null);return t.words=new Array(this.length+e.length),this.mulTo(e,t)},o.prototype.mulf=function(e){var t=new o(null);return t.words=new Array(this.length+e.length),m(this,e,t)},o.prototype.imul=function(e){return this.clone().mulTo(e,this)},o.prototype.imuln=function(e){n("number"==typeof e),n(e<67108864);for(var t=0,r=0;r<this.length;r++){var i=(0|this.words[r])*e,o=(67108863&i)+(67108863&t);t>>=26,t+=i/67108864|0,t+=o>>>26,this.words[r]=67108863&o}return 0!==t&&(this.words[r]=t,this.length++),this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r<t.length;r++){var n=r/26|0,i=r%26;t[r]=(e.words[n]&1<<i)>>>i}return t}(e);if(0===t.length)return new o(1);for(var r=this,n=0;n<t.length&&0===t[n];n++,r=r.sqr());if(++n<t.length)for(var i=r.sqr();n<t.length;n++,i=i.sqr())0!==t[n]&&(r=r.mul(i));return r},o.prototype.iushln=function(e){n("number"==typeof e&&0<=e);var t=e%26,r=(e-t)/26,i=67108863>>>26-t<<26-t;if(0!=t){for(var o=0,a=0;a<this.length;a++){var s=this.words[a]&i,u=(0|this.words[a])-s<<t;this.words[a]=u|o,o=s>>>26-t}o&&(this.words[a]=o,this.length++)}if(0!=r){for(a=this.length-1;0<=a;a--)this.words[a+r]=this.words[a];for(a=0;a<r;a++)this.words[a]=0;this.length+=r}return this.strip()},o.prototype.ishln=function(e){return n(0===this.negative),this.iushln(e)},o.prototype.iushrn=function(e,t,r){var i;n("number"==typeof e&&0<=e),i=t?(t-t%26)/26:0;var o=e%26,a=Math.min((e-o)/26,this.length),s=67108863^67108863>>>o<<o,u=r;if(i-=a,i=Math.max(0,i),u){for(var c=0;c<a;c++)u.words[c]=this.words[c];u.length=a}if(0!==a)if(this.length>a)for(this.length-=a,c=0;c<this.length;c++)this.words[c]=this.words[c+a];else this.words[0]=0,this.length=1;var l=0;for(c=this.length-1;0<=c&&(0!==l||i<=c);c--){var f=0|this.words[c];this.words[c]=l<<26-o|f>>>o,l=f&s}return u&&0!==l&&(u.words[u.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){n("number"==typeof e&&0<=e);var t=e%26,r=(e-t)/26,i=1<<t;return!(this.length<=r||!(this.words[r]&i))},o.prototype.imaskn=function(e){n("number"==typeof e&&0<=e);var t,r=e%26,i=(e-r)/26;return n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i?this:(0!=r&&i++,this.length=Math.min(i,this.length),0!=r&&(t=67108863^67108863>>>r<<r,this.words[this.length-1]&=t),this.strip())},o.prototype.maskn=function(e){return this.clone().imaskn(e)},o.prototype.iaddn=function(e){return n("number"==typeof e),n(e<67108864),e<0?this.isubn(-e):0!==this.negative?(1===this.length&&(0|this.words[0])<e?(this.words[0]=e-(0|this.words[0]),this.negative=0):(this.negative=0,this.isubn(e),this.negative=1),this):this._iaddn(e)},o.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&67108864<=this.words[t];t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},o.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,--this.words[t+1];return this.strip()},o.prototype.addn=function(e){return this.clone().iaddn(e)},o.prototype.subn=function(e){return this.clone().isubn(e)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(e,t,r){var i,o=e.length+r;this._expand(o);for(var a=0,s=0;s<e.length;s++){i=(0|this.words[s+r])+a;var u=(0|e.words[s])*t;a=((i-=67108863&u)>>26)-(u/67108864|0),this.words[s+r]=67108863&i}for(;s<this.length-r;s++)a=(i=(0|this.words[s+r])+a)>>26,this.words[s+r]=67108863&i;if(0===a)return this.strip();for(n(-1===a),s=a=0;s<this.length;s++)a=(i=-(0|this.words[s])+a)>>26,this.words[s]=67108863&i;return this.negative=1,this.strip()},o.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,a=0|i.words[i.length-1];0!=(r=26-this._countBits(a))&&(i=i.ushln(r),n.iushln(r),a=0|i.words[i.length-1]);var s,u=n.length-i.length;if("mod"!==t){(s=new o(null)).length=1+u,s.words=new Array(s.length);for(var c=0;c<s.length;c++)s.words[c]=0}var l=n.clone()._ishlnsubmul(i,1,u);0===l.negative&&(n=l,s&&(s.words[u]=1));for(var f=u-1;0<=f;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/a|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),"div"!==t&&0!=r&&n.iushrn(r),{div:s||null,mod:n}},o.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(i=s.div.neg()),"div"!==t&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(e)),{div:i,mod:a}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(e)),{div:s.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new o(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,a,s},o.prototype.div=function(e){return this.divmod(e,"div",!1).div},o.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},o.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},o.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},o.prototype.modn=function(e){n(e<=67108863);for(var t=(1<<26)%e,r=0,i=this.length-1;0<=i;i--)r=(t*r+(0|this.words[i]))%e;return r},o.prototype.idivn=function(e){n(e<=67108863);for(var t=0,r=this.length-1;0<=r;r--){var i=(0|this.words[r])+67108864*t;this.words[r]=i/e|0,t=i%e}return this.strip()},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());for(var t=this,r=e.clone(),i=(t=0!==t.negative?t.umod(e):t.clone(),new o(1)),a=new o(0),s=new o(0),u=new o(1),c=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++c;for(var l=r.clone(),f=t.clone();!t.isZero();){for(var h=0,d=1;0==(t.words[0]&d)&&h<26;++h,d<<=1);if(0<h)for(t.iushrn(h);0<h--;)(i.isOdd()||a.isOdd())&&(i.iadd(l),a.isub(f)),i.iushrn(1),a.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(0<p)for(r.iushrn(p);0<p--;)(s.isOdd()||u.isOdd())&&(s.iadd(l),u.isub(f)),s.iushrn(1),u.iushrn(1);0<=t.cmp(r)?(t.isub(r),i.isub(s),a.isub(u)):(r.isub(t),s.isub(i),u.isub(a))}return{a:s,b:u,gcd:r.iushln(c)}},o.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());for(var t,r=this,i=e.clone(),a=(r=0!==r.negative?r.umod(e):r.clone(),new o(1)),s=new o(0),u=i.clone();0<r.cmpn(1)&&0<i.cmpn(1);){for(var c=0,l=1;0==(r.words[0]&l)&&c<26;++c,l<<=1);if(0<c)for(r.iushrn(c);0<c--;)a.isOdd()&&a.iadd(u),a.iushrn(1);for(var f=0,h=1;0==(i.words[0]&h)&&f<26;++f,h<<=1);if(0<f)for(i.iushrn(f);0<f--;)s.isOdd()&&s.iadd(u),s.iushrn(1);0<=r.cmp(i)?(r.isub(i),a.isub(s)):(i.isub(r),s.isub(a))}return(t=0===r.cmpn(1)?a:s).cmpn(0)<0&&t.iadd(e),t},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0;for(var n=r.negative=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var o=t;t=r,r=o}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){n("number"==typeof e);var t=e%26,r=(e-t)/26,i=1<<t;if(this.length<=r)return this._expand(1+r),this.words[r]|=i,this;for(var o=i,a=r;0!==o&&a<this.length;a++){var s=0|this.words[a];o=(s+=o)>>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var t,r,i=e<0;return 0===this.negative||i?0===this.negative&&i?1:(this.strip(),r=1<this.length?1:(i&&(e=-e),n(e<=67108863,"Number is too big"),(t=0|this.words[0])===e?0:t<e?-1:1),0!==this.negative?0|-r:r):-1},o.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},o.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,r=this.length-1;0<=r;r--){var n=0|this.words[r],i=0|e.words[r];if(n!=i){n<i?t=-1:i<n&&(t=1);break}}return t},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return 0<=this.cmpn(e)},o.prototype.gte=function(e){return 0<=this.cmp(e)},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new E(e)},o.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},o.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},o.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},o.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},o.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var y={k256:null,p224:null,p192:null,p25519:null};function v(e,t){this.name=e,this.p=new o(t,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function A(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(e){var t;"string"==typeof e?(t=o._prime(e),this.m=t.p,this.prime=t):(n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null)}function k(e){E.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},v.prototype.ireduce=function(e){for(var t,r=e;this.split(r,this.tmp),(t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength())>this.n;);var n=t<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):0<n?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(e,t){e.iushrn(this.n,0,t)},v.prototype.imulK=function(e){return e.imul(this.k)},i(b,v),b.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n<r;n++)t.words[n]=e.words[n];if(t.length=r,e.length<=9)return e.words[0]=0,void(e.length=1);var i=e.words[9];for(t.words[t.length++]=4194303&i,n=10;n<e.length;n++){var o=0|e.words[n];e.words[n-10]=(4194303&o)<<4|i>>>22,i=o}i>>>=22,0===(e.words[n-10]=i)&&10<e.length?e.length-=10:e.length-=9},b.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r<e.length;r++){var n=0|e.words[r];t+=977*n,e.words[r]=67108863&t,t=64*n+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},i(w,v),i(_,v),i(A,v),A.prototype.imulK=function(e){for(var t=0,r=0;r<e.length;r++){var n=19*(0|e.words[r])+t,i=67108863&n;n>>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},o._prime=function(e){if(y[e])return y[e];var t;if("k256"===e)t=new b;else if("p224"===e)t=new w;else if("p192"===e)t=new _;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new A}return y[e]=t},E.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},E.prototype._verify2=function(e,t){n(0==(e.negative|t.negative),"red works only with positives"),n(e.red&&e.red===t.red,"red works only with red numbers")},E.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},E.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},E.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return 0<=r.cmp(this.m)&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return 0<=r.cmp(this.m)&&r.isub(this.m),r},E.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},E.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},E.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},E.prototype.isqr=function(e){return this.imul(e,e.clone())},E.prototype.sqr=function(e){return this.mul(e,e)},E.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),3===t){var r=this.m.add(new o(1)).iushrn(2);return this.pow(e,r)}for(var i=this.m.subn(1),a=0;!i.isZero()&&0===i.andln(1);)a++,i.iushrn(1);n(!i.isZero());for(var s=new o(1).toRed(this),u=s.redNeg(),c=this.m.subn(1).iushrn(1),l=new o(2*(l=this.m.bitLength())*l).toRed(this);0!==this.pow(l,c).cmp(u);)l.redIAdd(u);for(var f=this.pow(l,i),h=this.pow(e,i.addn(1).iushrn(1)),d=this.pow(e,i),p=a;0!==d.cmp(s);){for(var m=d,g=0;0!==m.cmp(s);g++)m=m.redSqr();n(g<p);var y=this.pow(f,new o(1).iushln(p-g-1));h=h.redMul(y),f=y.redSqr(),d=d.redMul(f),p=g}return h},E.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},E.prototype.pow=function(e,t){if(t.isZero())return new o(1).toRed(this);if(0===t.cmpn(1))return e.clone();var r=new Array(16);r[0]=new o(1).toRed(this),r[1]=e;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],e);var i=r[0],a=0,s=0,u=t.bitLength()%26;for(0===u&&(u=26),n=t.length-1;0<=n;n--){for(var c=t.words[n],l=u-1;0<=l;l--){var f=c>>l&1;i!==r[0]&&(i=this.sqr(i)),0!=f||0!==a?(a<<=1,a|=f,(4==++s||0===n&&0===l)&&(i=this.mul(i,r[a]),a=s=0)):s=0}u=26}return i},E.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},E.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},o.mont=function(e){return new k(e)},i(k,E),k.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},k.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},k.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return 0<=i.cmp(this.m)?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new o(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return 0<=i.cmp(this.m)?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this)},{buffer:11}],10:[function(e,t,n){(function(e){t.exports=function(t){var r=new Uint8Array(t);return(e.crypto||e.msCrypto).getRandomValues(r),r}}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],11:[function(e,t,r){},{}],12:[function(e,t,r){"use strict";var n=r;n.version=e("../package.json").version,n.utils=e("./elliptic/utils"),n.rand=e("brorand"),n.curve=e("./elliptic/curve"),n.curves=e("./elliptic/curves"),n.ec=e("./elliptic/ec"),n.eddsa=e("./elliptic/eddsa")},{"../package.json":25,"./elliptic/curve":15,"./elliptic/curves":18,"./elliptic/ec":19,"./elliptic/eddsa":22,"./elliptic/utils":24,brorand:10}],13:[function(e,t,r){"use strict";var n=e("bn.js"),i=e("../utils"),o=i.getNAF,a=i.getJSF,s=i.assert;function u(e,t){this.type=e,this.p=new n(t.p,16),this.red=t.prime?n.red(t.prime):n.mont(this.p),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.n=t.n&&new n(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||0<r.cmpn(100)?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function c(e,t){this.curve=e,this.type=t,this.precomputed=null}(t.exports=u).prototype.point=function(){throw new Error("Not implemented")},u.prototype.validate=function(){throw new Error("Not implemented")},u.prototype._fixedNafMul=function(e,t){s(e.precomputed);var r=e._getDoubles(),n=o(t,1,this._bitLength),i=(1<<r.step+1)-(r.step%2==0?2:1);i/=3;for(var a=[],u=0;u<n.length;u+=r.step){var c=0;for(t=u+r.step-1;u<=t;t--)c=(c<<1)+n[t];a.push(c)}for(var l=this.jpoint(null,null,null),f=this.jpoint(null,null,null),h=i;0<h;h--){for(u=0;u<a.length;u++)(c=a[u])===h?f=f.mixedAdd(r.points[u]):c===-h&&(f=f.mixedAdd(r.points[u].neg()));l=l.add(f)}return l.toP()},u.prototype._wnafMul=function(e,t){for(var r=e._getNAFPoints(4),n=r.wnd,i=r.points,a=o(t,n,this._bitLength),u=this.jpoint(null,null,null),c=a.length-1;0<=c;c--){for(t=0;0<=c&&0===a[c];c--)t++;if(0<=c&&t++,u=u.dblp(t),c<0)break;var l=a[c];s(0!==l),u="affine"===e.type?0<l?u.mixedAdd(i[l-1>>1]):u.mixedAdd(i[-l-1>>1].neg()):0<l?u.add(i[l-1>>1]):u.add(i[-l-1>>1].neg())}return"affine"===e.type?u.toP():u},u.prototype._wnafMulAdd=function(e,t,r,n,i){for(var s=this._wnafT1,u=this._wnafT2,c=this._wnafT3,l=0,f=0;f<n;f++){var h=(x=t[f])._getNAFPoints(e);s[f]=h.wnd,u[f]=h.points}for(f=n-1;1<=f;f-=2){var d=f-1,p=f;if(1===s[d]&&1===s[p]){var m=[t[d],null,null,t[p]];0===t[d].y.cmp(t[p].y)?(m[1]=t[d].add(t[p]),m[2]=t[d].toJ().mixedAdd(t[p].neg())):0===t[d].y.cmp(t[p].y.redNeg())?(m[1]=t[d].toJ().mixedAdd(t[p]),m[2]=t[d].add(t[p].neg())):(m[1]=t[d].toJ().mixedAdd(t[p]),m[2]=t[d].toJ().mixedAdd(t[p].neg()));var g=[-3,-1,-5,-7,0,7,5,1,3],y=a(r[d],r[p]);l=Math.max(y[0].length,l),c[d]=new Array(l),c[p]=new Array(l);for(var v=0;v<l;v++){var b=0|y[0][v],w=0|y[1][v];c[d][v]=g[3*(1+b)+(1+w)],c[p][v]=0,u[d]=m}}else c[d]=o(r[d],s[d],this._bitLength),c[p]=o(r[p],s[p],this._bitLength),l=Math.max(c[d].length,l),l=Math.max(c[p].length,l)}var _=this.jpoint(null,null,null),A=this._wnafT4;for(f=l;0<=f;f--){for(var E=0;0<=f;){var k=!0;for(v=0;v<n;v++)A[v]=0|c[v][f],0!==A[v]&&(k=!1);if(!k)break;E++,f--}if(0<=f&&E++,_=_.dblp(E),f<0)break;for(v=0;v<n;v++){var x,S=A[v];0!==S&&(0<S?x=u[v][S-1>>1]:S<0&&(x=u[v][-S-1>>1].neg()),_="affine"===x.type?_.mixedAdd(x):_.add(x))}}for(f=0;f<n;f++)u[f]=null;return i?_:_.toP()},(u.BasePoint=c).prototype.eq=function(){throw new Error("Not implemented")},c.prototype.validate=function(){return this.curve.validate(this)},u.prototype.decodePoint=function(e,t){e=i.toArray(e,t);var r=this.p.byteLength();if((4===e[0]||6===e[0]||7===e[0])&&e.length-1==2*r)return 6===e[0]?s(e[e.length-1]%2==0):7===e[0]&&s(e[e.length-1]%2==1),this.point(e.slice(1,1+r),e.slice(1+r,1+2*r));if((2===e[0]||3===e[0])&&e.length-1===r)return this.pointFromX(e.slice(1,1+r),3===e[0]);throw new Error("Unknown point format")},c.prototype.encodeCompressed=function(e){return this.encode(e,!0)},c.prototype._encode=function(e){var t=this.curve.p.byteLength(),r=this.getX().toArray("be",t);return e?[this.getY().isEven()?2:3].concat(r):[4].concat(r,this.getY().toArray("be",t))},c.prototype.encode=function(e,t){return i.encode(this._encode(t),e)},c.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},c.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return!!t&&t.points.length>=Math.ceil((e.bitLength()+1)/t.step)},c.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i<t;i+=e){for(var o=0;o<e;o++)n=n.dbl();r.push(n)}return{step:e,points:r}},c.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],r=(1<<e)-1,n=1==r?null:this.dbl(),i=1;i<r;i++)t[i]=t[i-1].add(n);return{wnd:e,points:t}},c.prototype._getBeta=function(){return null},c.prototype.dblp=function(e){for(var t=this,r=0;r<e;r++)t=t.dbl();return t}},{"../utils":24,"bn.js":9}],14:[function(e,t,r){t.exports={}},{}],15:[function(e,t,r){"use strict";var n=r;n.base=e("./base"),n.short=e("./short"),n.mont=e("./mont"),n.edwards=e("./edwards")},{"./base":13,"./edwards":14,"./mont":16,"./short":17}],16:[function(e,t,r){arguments[4][14][0].apply(r,arguments)},{dup:14}],17:[function(e,t,r){"use strict";var n=e("../utils"),i=e("bn.js"),o=e("inherits"),a=e("./base"),s=n.assert;function u(e){a.call(this,"short",e),this.a=new i(e.a,16).toRed(this.red),this.b=new i(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function c(e,t,r,n){a.BasePoint.call(this,e,"affine"),null===t&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new i(t,16),this.y=new i(r,16),n&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function l(e,t,r,n){a.BasePoint.call(this,e,"jacobian"),null===t&&null===r&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new i(0)):(this.x=new i(t,16),this.y=new i(r,16),this.z=new i(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}o(u,a),(t.exports=u).prototype._getEndomorphism=function(e){var t,r,n,o;if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3))return n=e.beta?new i(e.beta,16).toRed(this.red):(n=(r=this._getEndoRoots(this.p))[0].cmp(r[1])<0?r[0]:r[1]).toRed(this.red),e.lambda?t=new i(e.lambda,16):(o=this._getEndoRoots(this.n),0===this.g.mul(o[0]).x.cmp(this.g.x.redMul(n))?t=o[0]:(t=o[1],s(0===this.g.mul(t).x.cmp(this.g.x.redMul(n))))),{beta:n,lambda:t,basis:e.basis?e.basis.map((function(e){return{a:new i(e.a,16),b:new i(e.b,16)}})):this._getEndoBasis(t)}},u.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:i.mont(e),r=new i(2).toRed(t).redInvm(),n=r.redNeg(),o=new i(3).toRed(t).redNeg().redSqrt().redMul(r);return[n.redAdd(o).fromRed(),n.redSub(o).fromRed()]},u.prototype._getEndoBasis=function(e){for(var t,r,n,o,a,s,u,c=this.n.ushrn(Math.floor(this.n.bitLength()/2)),l=e,f=this.n.clone(),h=new i(1),d=new i(0),p=new i(0),m=new i(1),g=0;0!==l.cmpn(0);){var y=f.div(l),v=f.sub(y.mul(l)),b=p.sub(y.mul(h)),w=m.sub(y.mul(d));if(!n&&v.cmp(c)<0)t=u.neg(),r=h,n=v.neg(),o=b;else if(n&&2==++g)break;f=l,l=u=v,p=h,h=b,m=d,d=w}a=v.neg(),s=b;var _=n.sqr().add(o.sqr());return 0<=a.sqr().add(s.sqr()).cmp(_)&&(a=t,s=r),n.negative&&(n=n.neg(),o=o.neg()),a.negative&&(a=a.neg(),s=s.neg()),[{a:n,b:o},{a:a,b:s}]},u.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],n=t[1],i=n.b.mul(e).divRound(this.n),o=r.b.neg().mul(e).divRound(this.n),a=i.mul(r.a),s=o.mul(n.a),u=i.mul(r.b),c=o.mul(n.b);return{k1:e.sub(a).sub(s),k2:u.add(c).neg()}},u.prototype.pointFromX=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var o=n.fromRed().isOdd();return(t&&!o||!t&&o)&&(n=n.redNeg()),this.point(e,n)},u.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,n=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},u.prototype._endoWnafMulAdd=function(e,t,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o<e.length;o++){var a=this._endoSplit(t[o]),s=e[o],u=s._getBeta();a.k1.negative&&(a.k1.ineg(),s=s.neg(!0)),a.k2.negative&&(a.k2.ineg(),u=u.neg(!0)),n[2*o]=s,n[2*o+1]=u,i[2*o]=a.k1,i[2*o+1]=a.k2}for(var c=this._wnafMulAdd(1,n,i,2*o,r),l=0;l<2*o;l++)n[l]=null,i[l]=null;return c},o(c,a.BasePoint),u.prototype.point=function(e,t,r){return new c(this,e,t,r)},u.prototype.pointFromJSON=function(e,t){return c.fromJSON(this,e,t)},c.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t,r,n=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);return e&&(t=this.curve,r=function(e){return t.point(e.x.redMul(t.endo.beta),e.y)},(e.beta=n).precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(r)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(r)}}),n}},c.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},c.fromJSON=function(e,t,r){"string"==typeof t&&(t=JSON.parse(t));var n=e.point(t[0],t[1],r);if(!t[2])return n;function i(t){return e.point(t[0],t[1],r)}var o=t[2];return n.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[n].concat(o.doubles.points.map(i))},naf:o.naf&&{wnd:o.naf.wnd,points:[n].concat(o.naf.points.map(i))}},n},c.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},c.prototype.isInfinity=function(){return this.inf},c.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},c.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),n=e.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(n),o=i.redSqr().redISub(this.x.redAdd(this.x)),a=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},c.prototype.getX=function(){return this.x.fromRed()},c.prototype.getY=function(){return this.y.fromRed()},c.prototype.mul=function(e){return e=new i(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},c.prototype.jmulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},c.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},c.prototype.neg=function(e){if(this.inf)return this;var t,r,n=this.curve.point(this.x,this.y.redNeg());return e&&this.precomputed&&(t=this.precomputed,r=function(e){return e.neg()},n.precomputed={naf:t.naf&&{wnd:t.naf.wnd,points:t.naf.points.map(r)},doubles:t.doubles&&{step:t.doubles.step,points:t.doubles.points.map(r)}}),n},c.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},o(l,a.BasePoint),u.prototype.jpoint=function(e,t,r){return new l(this,e,t,r)},l.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(r,n)},l.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},l.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(t),i=e.x.redMul(r),o=this.y.redMul(t.redMul(e.z)),a=e.y.redMul(r.redMul(this.z)),s=n.redSub(i),u=o.redSub(a);if(0===s.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=s.redSqr(),l=c.redMul(s),f=n.redMul(c),h=u.redSqr().redIAdd(l).redISub(f).redISub(f),d=u.redMul(f.redISub(h)).redISub(o.redMul(l)),p=this.z.redMul(e.z).redMul(s);return this.curve.jpoint(h,d,p)},l.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,n=e.x.redMul(t),i=this.y,o=e.y.redMul(t).redMul(this.z),a=r.redSub(n),s=i.redSub(o);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),c=u.redMul(a),l=r.redMul(u),f=s.redSqr().redIAdd(c).redISub(l).redISub(l),h=s.redMul(l.redISub(f)).redISub(i.redMul(c)),d=this.z.redMul(a);return this.curve.jpoint(f,h,d)},l.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,r=0;r<e;r++)t=t.dbl();return t}var n=this.curve.a,i=this.curve.tinv,o=this.x,a=this.y,s=this.z,u=s.redSqr().redSqr(),c=a.redAdd(a);for(r=0;r<e;r++){var l=o.redSqr(),f=c.redSqr(),h=f.redSqr(),d=l.redAdd(l).redIAdd(l).redIAdd(n.redMul(u)),p=o.redMul(f),m=d.redSqr().redISub(p.redAdd(p)),g=p.redISub(m),y=(y=d.redMul(g)).redIAdd(y).redISub(h),v=c.redMul(s);r+1<e&&(u=u.redMul(h)),o=m,s=v,c=y}return this.curve.jpoint(o,c.redMul(i),s)},l.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},l.prototype._zeroDbl=function(){var e,t,r,n,i,o,a,s,u,c,l,f,h,d,p,m,g=this.zOne?(r=this.x.redSqr(),i=(n=this.y.redSqr()).redSqr(),o=(o=this.x.redAdd(n).redSqr().redISub(r).redISub(i)).redIAdd(o),s=(a=r.redAdd(r).redIAdd(r)).redSqr().redISub(o).redISub(o),u=(u=(u=i.redIAdd(i)).redIAdd(u)).redIAdd(u),e=s,t=a.redMul(o.redISub(s)).redISub(u),this.y.redAdd(this.y)):(c=this.x.redSqr(),f=(l=this.y.redSqr()).redSqr(),h=(h=this.x.redAdd(l).redSqr().redISub(c).redISub(f)).redIAdd(h),p=(d=c.redAdd(c).redIAdd(c)).redSqr(),m=(m=(m=f.redIAdd(f)).redIAdd(m)).redIAdd(m),e=p.redISub(h).redISub(h),t=d.redMul(h.redISub(e)).redISub(m),(g=this.y.redMul(this.z)).redIAdd(g));return this.curve.jpoint(e,t,g)},l.prototype._threeDbl=function(){var e,t,r,n,i,o,a,s,u,c,l,f,h,d,p,m,g;return this.zOne?(r=this.x.redSqr(),i=(n=this.y.redSqr()).redSqr(),o=(o=this.x.redAdd(n).redSqr().redISub(r).redISub(i)).redIAdd(o),u=s=(a=r.redAdd(r).redIAdd(r).redIAdd(this.curve.a)).redSqr().redISub(o).redISub(o),c=(c=(c=i.redIAdd(i)).redIAdd(c)).redIAdd(c),e=a.redMul(o.redISub(s)).redISub(c),t=this.y.redAdd(this.y)):(l=this.z.redSqr(),f=this.y.redSqr(),h=this.x.redMul(f),d=(d=this.x.redSub(l).redMul(this.x.redAdd(l))).redAdd(d).redIAdd(d),m=(p=(p=h.redIAdd(h)).redIAdd(p)).redAdd(p),u=d.redSqr().redISub(m),t=this.y.redAdd(this.z).redSqr().redISub(f).redISub(l),g=(g=(g=(g=f.redSqr()).redIAdd(g)).redIAdd(g)).redIAdd(g),e=d.redMul(p.redISub(u)).redISub(g)),this.curve.jpoint(u,e,t)},l.prototype._dbl=function(){var e=this.curve.a,t=this.x,r=this.y,n=this.z,i=n.redSqr().redSqr(),o=t.redSqr(),a=r.redSqr(),s=o.redAdd(o).redIAdd(o).redIAdd(e.redMul(i)),u=t.redAdd(t),c=(u=u.redIAdd(u)).redMul(a),l=s.redSqr().redISub(c.redAdd(c)),f=c.redISub(l),h=a.redSqr();h=(h=(h=h.redIAdd(h)).redIAdd(h)).redIAdd(h);var d=s.redMul(f).redISub(h),p=r.redAdd(r).redMul(n);return this.curve.jpoint(l,d,p)},l.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr(),n=t.redSqr(),i=e.redAdd(e).redIAdd(e),o=i.redSqr(),a=this.x.redAdd(t).redSqr().redISub(e).redISub(n),s=(a=(a=(a=a.redIAdd(a)).redAdd(a).redIAdd(a)).redISub(o)).redSqr(),u=n.redIAdd(n);u=(u=(u=u.redIAdd(u)).redIAdd(u)).redIAdd(u);var c=i.redIAdd(a).redSqr().redISub(o).redISub(s).redISub(u),l=t.redMul(c);l=(l=l.redIAdd(l)).redIAdd(l);var f=this.x.redMul(s).redISub(l);f=(f=f.redIAdd(f)).redIAdd(f);var h=this.y.redMul(c.redMul(u.redISub(c)).redISub(a.redMul(s)));h=(h=(h=h.redIAdd(h)).redIAdd(h)).redIAdd(h);var d=this.z.redAdd(a).redSqr().redISub(r).redISub(s);return this.curve.jpoint(f,h,d)},l.prototype.mul=function(e,t){return e=new i(e,t),this.curve._wnafMul(this,e)},l.prototype.eq=function(e){if("affine"===e.type)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),r=e.z.redSqr();if(0!==this.x.redMul(r).redISub(e.x.redMul(t)).cmpn(0))return!1;var n=t.redMul(this.z),i=r.redMul(e.z);return 0===this.y.redMul(i).redISub(e.y.redMul(n)).cmpn(0)},l.prototype.eqXToP=function(e){var t=this.z.redSqr(),r=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(r))return!0;for(var n=e.clone(),i=this.curve.redN.redMul(t);;){if(n.iadd(this.curve.n),0<=n.cmp(this.curve.p))return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},l.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},l.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},{"../utils":24,"./base":13,"bn.js":9,inherits:39}],18:[function(e,t,r){"use strict";var n,i=r,o=e("hash.js"),a=e("./curve"),s=e("./utils").assert;function u(e){"short"===e.type?this.curve=new a.short(e):"edwards"===e.type?this.curve=new a.edwards(e):this.curve=new a.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,s(this.g.validate(),"Invalid curve"),s(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function c(e,t){Object.defineProperty(i,e,{configurable:!0,enumerable:!0,get:function(){var r=new u(t);return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,value:r}),r}})}i.PresetCurve=u,c("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:o.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),c("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:o.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),c("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:o.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),c("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:o.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),c("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:o.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),c("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["9"]}),c("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=e("./precomputed/secp256k1")}catch(e){n=void 0}c("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:o.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})},{"./curve":15,"./precomputed/secp256k1":23,"./utils":24,"hash.js":26}],19:[function(e,t,r){"use strict";var n=e("bn.js"),i=e("hmac-drbg"),o=e("../utils"),a=e("../curves"),u=e("brorand"),c=o.assert,l=e("./key"),f=e("./signature");function h(e){if(!(this instanceof h))return new h(e);"string"==typeof e&&(c(a.hasOwnProperty(e),"Unknown curve "+e),e=a[e]),e instanceof a.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}(t.exports=h).prototype.keyPair=function(e){return new l(this,e)},h.prototype.keyFromPrivate=function(e,t){return l.fromPrivate(this,e,t)},h.prototype.keyFromPublic=function(e,t){return l.fromPublic(this,e,t)},h.prototype.genKeyPair=function(e){e=e||{};for(var t=new i({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||u(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),o=this.n.sub(new n(2));;){var a=new n(t.generate(r));if(!(0<a.cmp(o)))return a.iaddn(1),this.keyFromPrivate(a)}},h.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return 0<r&&(e=e.ushrn(r)),!t&&0<=e.cmp(this.n)?e.sub(this.n):e},h.prototype.sign=function(e,t,r,o){"object"==s(r)&&(o=r,r=null),o=o||{},t=this.keyFromPrivate(t,r),e=this._truncateToN(new n(e,16));for(var a=this.n.byteLength(),u=t.getPrivate().toArray("be",a),c=e.toArray("be",a),l=new i({hash:this.hash,entropy:u,nonce:c,pers:o.pers,persEnc:o.persEnc||"utf8"}),h=this.n.sub(new n(1)),d=0;;d++){var p=o.k?o.k(d):new n(l.generate(this.n.byteLength()));if(!((p=this._truncateToN(p,!0)).cmpn(1)<=0||0<=p.cmp(h))){var m=this.g.mul(p);if(!m.isInfinity()){var g=m.getX(),y=g.umod(this.n);if(0!==y.cmpn(0)){var v=p.invm(this.n).mul(y.mul(t.getPrivate()).iadd(e));if(0!==(v=v.umod(this.n)).cmpn(0)){var b=(m.getY().isOdd()?1:0)|(0!==g.cmp(y)?2:0);return o.canonical&&0<v.cmp(this.nh)&&(v=this.n.sub(v),b^=1),new f({r:y,s:v,recoveryParam:b})}}}}}},h.prototype.verify=function(e,t,r,i){e=this._truncateToN(new n(e,16)),r=this.keyFromPublic(r,i);var o=(t=new f(t,"hex")).r,a=t.s;if(o.cmpn(1)<0||0<=o.cmp(this.n))return!1;if(a.cmpn(1)<0||0<=a.cmp(this.n))return!1;var s,u=a.invm(this.n),c=u.mul(e).umod(this.n),l=u.mul(o).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(c,r.getPublic(),l)).isInfinity()&&s.eqXToP(o):!(s=this.g.mulAdd(c,r.getPublic(),l)).isInfinity()&&0===s.getX().umod(this.n).cmp(o)},h.prototype.recoverPubKey=function(e,t,r,i){c((3&r)===r,"The recovery param is more than two bits"),t=new f(t,i);var o=this.n,a=new n(e),s=t.r,u=t.s,l=1&r,h=r>>1;if(0<=s.cmp(this.curve.p.umod(this.curve.n))&&h)throw new Error("Unable to find sencond key candinate");s=h?this.curve.pointFromX(s.add(this.curve.n),l):this.curve.pointFromX(s,l);var d=t.r.invm(o),p=o.sub(a).mul(d).umod(o),m=u.mul(d).umod(o);return this.g.mulAdd(p,s,m)},h.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new f(t,n)).recoveryParam)return t.recoveryParam;for(var i,o=0;o<4;o++){try{i=this.recoverPubKey(e,t,o)}catch(e){continue}if(i.eq(r))return o}throw new Error("Unable to find valid recovery factor")}},{"../curves":18,"../utils":24,"./key":20,"./signature":21,"bn.js":9,brorand:10,"hmac-drbg":38}],20:[function(e,t,r){"use strict";var n=e("bn.js"),i=e("../utils").assert;function o(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}(t.exports=o).fromPublic=function(e,t,r){return t instanceof o?t:new o(e,{pub:t,pubEnc:r})},o.fromPrivate=function(e,t,r){return t instanceof o?t:new o(e,{priv:t,privEnc:r})},o.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},o.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},o.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},o.prototype._importPrivate=function(e,t){this.priv=new n(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},o.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?i(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||i(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},o.prototype.derive=function(e){return e.mul(this.priv).getX()},o.prototype.sign=function(e,t,r){return this.ec.sign(e,this,t,r)},o.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},o.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"}},{"../utils":24,"bn.js":9}],21:[function(e,t,r){"use strict";var n=e("bn.js"),i=e("../utils"),o=i.assert;function a(e,t){if(e instanceof a)return e;this._importDER(e,t)||(o(e.r&&e.s,"Signature without r or s"),this.r=new n(e.r,16),this.s=new n(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function s(){this.place=0}function u(e,t){var r=e[t.place++];if(!(128&r))return r;var n=15&r;if(0==n||4<n)return!1;for(var i=0,o=0,a=t.place;o<n;o++,a++)i<<=8,i|=e[a],i>>>=0;return!(i<=127)&&(t.place=a,i)}function c(e){for(var t=0,r=e.length-1;!e[t]&&!(128&e[t+1])&&t<r;)t++;return 0===t?e:e.slice(t)}function l(e,t){if(t<128)e.push(t);else{var r=1+(Math.log(t)/Math.LN2>>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}(t.exports=a).prototype._importDER=function(e,t){e=i.toArray(e,t);var r=new s;if(48!==e[r.place++])return!1;var o=u(e,r);if(!1===o)return!1;if(o+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var a=u(e,r);if(!1===a)return!1;var c=e.slice(r.place,a+r.place);if(r.place+=a,2!==e[r.place++])return!1;var l=u(e,r);if(!1===l)return!1;if(e.length!==l+r.place)return!1;var f=e.slice(r.place,l+r.place);if(0===c[0]){if(!(128&c[1]))return!1;c=c.slice(1)}if(0===f[0]){if(!(128&f[1]))return!1;f=f.slice(1)}return this.r=new n(c),this.s=new n(f),!(this.recoveryParam=null)},a.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=c(t),r=c(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];l(n,t.length),(n=n.concat(t)).push(2),l(n,r.length);var o=n.concat(r),a=[48];return l(a,o.length),a=a.concat(o),i.encode(a,e)}},{"../utils":24,"bn.js":9}],22:[function(e,t,r){arguments[4][14][0].apply(r,arguments)},{dup:14}],23:[function(e,t,r){t.exports=void 0},{}],24:[function(e,t,r){"use strict";var n=r,i=e("bn.js"),o=e("minimalistic-assert"),a=e("minimalistic-crypto-utils");n.assert=o,n.toArray=a.toArray,n.zero2=a.zero2,n.toHex=a.toHex,n.encode=a.encode,n.getNAF=function(e,t,r){var n=new Array(Math.max(e.bitLength(),r)+1);n.fill(0);for(var i=1<<t+1,o=e.clone(),a=0;a<n.length;a++){var s,u=o.andln(i-1);o.isOdd()?(s=(i>>1)-1<u?(i>>1)-u:u,o.isubn(s)):s=0,n[a]=s,o.iushrn(1)}return n},n.getJSF=function(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var n=0,i=0;0<e.cmpn(-n)||0<t.cmpn(-i);){var o,a,s,u=e.andln(3)+n&3,c=t.andln(3)+i&3;3===u&&(u=-1),3===c&&(c=-1),o=0==(1&u)?0:3!=(a=e.andln(7)+n&7)&&5!==a||2!==c?u:-u,r[0].push(o),s=0==(1&c)?0:3!=(a=t.andln(7)+i&7)&&5!==a||2!==u?c:-c,r[1].push(s),2*n===o+1&&(n=1-n),2*i===s+1&&(i=1-i),e.iushrn(1),t.iushrn(1)}return r},n.cachedProperty=function(e,t,r){var n="_"+t;e.prototype[t]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},n.parseBytes=function(e){return"string"==typeof e?n.toArray(e,"hex"):e},n.intFromLE=function(e){return new i(e,"hex","le")}},{"bn.js":9,"minimalistic-assert":41,"minimalistic-crypto-utils":42}],25:[function(e,t,r){t.exports={version:"6.5.3"}},{}],26:[function(e,t,r){var n=r;n.utils=e("./hash/utils"),n.common=e("./hash/common"),n.sha=e("./hash/sha"),n.ripemd=e("./hash/ripemd"),n.hmac=e("./hash/hmac"),n.sha1=n.sha.sha1,n.sha256=n.sha.sha256,n.sha224=n.sha.sha224,n.sha384=n.sha.sha384,n.sha512=n.sha.sha512,n.ripemd160=n.ripemd.ripemd160},{"./hash/common":27,"./hash/hmac":28,"./hash/ripemd":29,"./hash/sha":30,"./hash/utils":37}],27:[function(e,t,r){"use strict";var n=e("./utils"),i=e("minimalistic-assert");function o(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}(r.BlockHash=o).prototype.update=function(e,t){if(e=n.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=n.join32(e,0,e.length-r,this.endian);for(var i=0;i<e.length;i+=this._delta32)this._update(e,i,i+this._delta32)}return this},o.prototype.digest=function(e){return this.update(this._pad()),i(null===this.pending),this._digest(e)},o.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,r=t-(e+this.padLength)%t,n=new Array(r+this.padLength);n[0]=128;for(var i=1;i<r;i++)n[i]=0;if(e<<=3,"big"===this.endian){for(var o=8;o<this.padLength;o++)n[i++]=0;n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=e>>>24&255,n[i++]=e>>>16&255,n[i++]=e>>>8&255,n[i++]=255&e}else for(n[i++]=255&e,n[i++]=e>>>8&255,n[i++]=e>>>16&255,n[i++]=e>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;o<this.padLength;o++)n[i++]=0;return n}},{"./utils":37,"minimalistic-assert":41}],28:[function(e,t,r){"use strict";var n=e("./utils"),i=e("minimalistic-assert");function o(e,t,r){if(!(this instanceof o))return new o(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(n.toArray(t,r))}(t.exports=o).prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),i(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},o.prototype.update=function(e,t){return this.inner.update(e,t),this},o.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}},{"./utils":37,"minimalistic-assert":41}],29:[function(e,t,r){"use strict";var n=e("./utils"),i=e("./common"),o=n.rotl32,a=n.sum32,s=n.sum32_3,u=n.sum32_4,c=i.BlockHash;function l(){if(!(this instanceof l))return new l;c.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function f(e,t,r,n){return e<=15?t^r^n:e<=31?t&r|~t&n:e<=47?(t|~r)^n:e<=63?t&n|r&~n:t^(r|~n)}n.inherits(l,c),(r.ripemd160=l).blockSize=512,l.outSize=160,l.hmacStrength=192,l.padLength=64,l.prototype._update=function(e,t){for(var r,n,i=w=this.h[0],c=k=this.h[1],l=E=this.h[2],g=A=this.h[3],y=_=this.h[4],v=0;v<80;v++){var b=a(o(u(w,f(v,k,E,A),e[h[v]+t],(n=v)<=15?0:n<=31?1518500249:n<=47?1859775393:n<=63?2400959708:2840853838),p[v]),_),w=_,_=A,A=o(E,10),E=k,k=b;b=a(o(u(i,f(79-v,c,l,g),e[d[v]+t],(r=v)<=15?1352829926:r<=31?1548603684:r<=47?1836072691:r<=63?2053994217:0),m[v]),y),i=y,y=g,g=o(l,10),l=c,c=b}b=s(this.h[1],E,g),this.h[1]=s(this.h[2],A,y),this.h[2]=s(this.h[3],_,i),this.h[3]=s(this.h[4],w,c),this.h[4]=s(this.h[0],k,l),this.h[0]=b},l.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"little"):n.split32(this.h,"little")};var h=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],d=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],p=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],m=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},{"./common":27,"./utils":37}],30:[function(e,t,r){"use strict";r.sha1=e("./sha/1"),r.sha224=e("./sha/224"),r.sha256=e("./sha/256"),r.sha384=e("./sha/384"),r.sha512=e("./sha/512")},{"./sha/1":31,"./sha/224":32,"./sha/256":33,"./sha/384":34,"./sha/512":35}],31:[function(e,t,r){arguments[4][14][0].apply(r,arguments)},{dup:14}],32:[function(e,t,r){arguments[4][14][0].apply(r,arguments)},{dup:14}],33:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../common"),o=e("./common"),a=e("minimalistic-assert"),s=n.sum32,u=n.sum32_4,c=n.sum32_5,l=o.ch32,f=o.maj32,h=o.s0_256,d=o.s1_256,p=o.g0_256,m=o.g1_256,g=i.BlockHash,y=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function v(){if(!(this instanceof v))return new v;g.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=y,this.W=new Array(64)}n.inherits(v,g),(t.exports=v).blockSize=512,v.outSize=256,v.hmacStrength=192,v.padLength=64,v.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n<r.length;n++)r[n]=u(m(r[n-2]),r[n-7],p(r[n-15]),r[n-16]);var i=this.h[0],o=this.h[1],g=this.h[2],y=this.h[3],v=this.h[4],b=this.h[5],w=this.h[6],_=this.h[7];for(a(this.k.length===r.length),n=0;n<r.length;n++){var A=c(_,d(v),l(v,b,w),this.k[n],r[n]),E=s(h(i),f(i,o,g));_=w,w=b,b=v,v=s(y,A),y=g,g=o,o=i,i=s(A,E)}this.h[0]=s(this.h[0],i),this.h[1]=s(this.h[1],o),this.h[2]=s(this.h[2],g),this.h[3]=s(this.h[3],y),this.h[4]=s(this.h[4],v),this.h[5]=s(this.h[5],b),this.h[6]=s(this.h[6],w),this.h[7]=s(this.h[7],_)},v.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"big"):n.split32(this.h,"big")}},{"../common":27,"../utils":37,"./common":36,"minimalistic-assert":41}],34:[function(e,t,r){arguments[4][14][0].apply(r,arguments)},{dup:14}],35:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../common"),o=e("minimalistic-assert"),a=n.rotr64_hi,s=n.rotr64_lo,u=n.shr64_hi,c=n.shr64_lo,l=n.sum64,f=n.sum64_hi,h=n.sum64_lo,d=n.sum64_4_hi,p=n.sum64_4_lo,m=n.sum64_5_hi,g=n.sum64_5_lo,y=i.BlockHash,v=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function b(){if(!(this instanceof b))return new b;y.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=v,this.W=new Array(160)}n.inherits(b,y),(t.exports=b).blockSize=1024,b.outSize=512,b.hmacStrength=192,b.padLength=128,b.prototype._prepareBlock=function(e,t){for(var r=this.W,n=0;n<32;n++)r[n]=e[t+n];for(;n<r.length;n+=2){var i=function(e,t){var r=a(e,t,19)^a(t,e,29)^u(e,t,6);return r<0&&(r+=4294967296),r}(r[n-4],r[n-3]),o=function(e,t){var r=s(e,t,19)^s(t,e,29)^c(e,t,6);return r<0&&(r+=4294967296),r}(r[n-4],r[n-3]),l=r[n-14],f=r[n-13],h=function(e,t){var r=a(e,t,1)^a(e,t,8)^u(e,t,7);return r<0&&(r+=4294967296),r}(r[n-30],r[n-29]),m=function(e,t){var r=s(e,t,1)^s(e,t,8)^c(e,t,7);return r<0&&(r+=4294967296),r}(r[n-30],r[n-29]),g=r[n-32],y=r[n-31];r[n]=d(i,o,l,f,h,m,g,y),r[n+1]=p(i,o,l,f,h,m,g,y)}},b.prototype._update=function(e,t){this._prepareBlock(e,t);var r=this.W,n=this.h[0],i=this.h[1],u=this.h[2],c=this.h[3],d=this.h[4],p=this.h[5],y=this.h[6],v=this.h[7],b=this.h[8],w=this.h[9],_=this.h[10],A=this.h[11],E=this.h[12],k=this.h[13],x=this.h[14],S=this.h[15];o(this.k.length===r.length);for(var M=0;M<r.length;M+=2){var I=x,P=S,T=function(e,t){var r=a(e,t,14)^a(e,t,18)^a(t,e,9);return r<0&&(r+=4294967296),r}(b,w),N=function(e,t){var r=s(e,t,14)^s(e,t,18)^s(t,e,9);return r<0&&(r+=4294967296),r}(b,w),O=function(e,t,r){var n=e&t^~e&r;return n<0&&(n+=4294967296),n}(b,_,E),R=function(e,t,r){var n=e&t^~e&r;return n<0&&(n+=4294967296),n}(w,A,k),C=this.k[M],j=this.k[M+1],L=r[M],B=r[M+1],U=m(I,P,T,N,O,R,C,j,L,B),D=g(I,P,T,N,O,R,C,j,L,B),F=(I=function(e,t){var r=a(e,t,28)^a(t,e,2)^a(t,e,7);return r<0&&(r+=4294967296),r}(n,i),P=function(e,t){var r=s(e,t,28)^s(t,e,2)^s(t,e,7);return r<0&&(r+=4294967296),r}(n,i),T=function(e,t,r){var n=e&t^e&r^t&r;return n<0&&(n+=4294967296),n}(n,u,d),N=function(e,t,r){var n=e&t^e&r^t&r;return n<0&&(n+=4294967296),n}(i,c,p),f(I,P,T,N)),z=h(I,P,T,N);x=E,S=k,E=_,k=A,_=b,A=w,b=f(y,v,U,D),w=h(v,v,U,D),y=d,v=p,d=u,p=c,u=n,c=i,n=f(U,D,F,z),i=h(U,D,F,z)}l(this.h,0,n,i),l(this.h,2,u,c),l(this.h,4,d,p),l(this.h,6,y,v),l(this.h,8,b,w),l(this.h,10,_,A),l(this.h,12,E,k),l(this.h,14,x,S)},b.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"big"):n.split32(this.h,"big")}},{"../common":27,"../utils":37,"minimalistic-assert":41}],36:[function(e,t,r){"use strict";var n=e("../utils").rotr32;function i(e,t,r){return e&t^~e&r}function o(e,t,r){return e&t^e&r^t&r}r.ft_1=function(e,t,r,n){return 0===e?i(t,r,n):1===e||3===e?t^r^n:2===e?o(t,r,n):void 0},r.ch32=i,r.maj32=o,r.p32=function(e,t,r){return e^t^r},r.s0_256=function(e){return n(e,2)^n(e,13)^n(e,22)},r.s1_256=function(e){return n(e,6)^n(e,11)^n(e,25)},r.g0_256=function(e){return n(e,7)^n(e,18)^e>>>3},r.g1_256=function(e){return n(e,17)^n(e,19)^e>>>10}},{"../utils":37}],37:[function(e,t,r){"use strict";var n=e("minimalistic-assert"),i=e("inherits");function o(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function a(e){return 1===e.length?"0"+e:e}function s(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}r.inherits=i,r.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),n=0;n<e.length;n+=2)r.push(parseInt(e[n]+e[n+1],16))}else for(var n=0;n<e.length;n++){var i=e.charCodeAt(n),o=i>>8,a=255&i;o?r.push(o,a):r.push(a)}else for(n=0;n<e.length;n++)r[n]=0|e[n];return r},r.toHex=function(e){for(var t="",r=0;r<e.length;r++)t+=a(e[r].toString(16));return t},r.htonl=o,r.toHex32=function(e,t){for(var r="",n=0;n<e.length;n++){var i=e[n];"little"===t&&(i=o(i)),r+=s(i.toString(16))}return r},r.zero2=a,r.zero8=s,r.join32=function(e,t,r,i){var o=r-t;n(o%4==0);for(var a=new Array(o/4),s=0,u=t;s<a.length;s++,u+=4){var c="big"===i?e[u]<<24|e[u+1]<<16|e[u+2]<<8|e[u+3]:e[u+3]<<24|e[u+2]<<16|e[u+1]<<8|e[u];a[s]=c>>>0}return a},r.split32=function(e,t){for(var r=new Array(4*e.length),n=0,i=0;n<e.length;n++,i+=4){var o=e[n];"big"===t?(r[i]=o>>>24,r[i+1]=o>>>16&255,r[i+2]=o>>>8&255,r[i+3]=255&o):(r[i+3]=o>>>24,r[i+2]=o>>>16&255,r[i+1]=o>>>8&255,r[i]=255&o)}return r},r.rotr32=function(e,t){return e>>>t|e<<32-t},r.rotl32=function(e,t){return e<<t|e>>>32-t},r.sum32=function(e,t){return e+t>>>0},r.sum32_3=function(e,t,r){return e+t+r>>>0},r.sum32_4=function(e,t,r,n){return e+t+r+n>>>0},r.sum32_5=function(e,t,r,n,i){return e+t+r+n+i>>>0},r.sum64=function(e,t,r,n){var i=e[t],o=n+e[t+1]>>>0,a=(o<n?1:0)+r+i;e[t]=a>>>0,e[t+1]=o},r.sum64_hi=function(e,t,r,n){return(t+n>>>0<t?1:0)+e+r>>>0},r.sum64_lo=function(e,t,r,n){return t+n>>>0},r.sum64_4_hi=function(e,t,r,n,i,o,a,s){var u=0,c=t;return u+=(c=c+n>>>0)<t?1:0,u+=(c=c+o>>>0)<o?1:0,e+r+i+a+(u+=(c=c+s>>>0)<s?1:0)>>>0},r.sum64_4_lo=function(e,t,r,n,i,o,a,s){return t+n+o+s>>>0},r.sum64_5_hi=function(e,t,r,n,i,o,a,s,u,c){var l=0,f=t;return l+=(f=f+n>>>0)<t?1:0,l+=(f=f+o>>>0)<o?1:0,l+=(f=f+s>>>0)<s?1:0,e+r+i+a+u+(l+=(f=f+c>>>0)<c?1:0)>>>0},r.sum64_5_lo=function(e,t,r,n,i,o,a,s,u,c){return t+n+o+s+c>>>0},r.rotr64_hi=function(e,t,r){return(t<<32-r|e>>>r)>>>0},r.rotr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0},r.shr64_hi=function(e,t,r){return e>>>r},r.shr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0}},{inherits:39,"minimalistic-assert":41}],38:[function(e,t,r){"use strict";var n=e("hash.js"),i=e("minimalistic-crypto-utils"),o=e("minimalistic-assert");function a(e){if(!(this instanceof a))return new a(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=i.toArray(e.entropy,e.entropyEnc||"hex"),r=i.toArray(e.nonce,e.nonceEnc||"hex"),n=i.toArray(e.pers,e.persEnc||"hex");o(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,n)}(t.exports=a).prototype._init=function(e,t,r){var n=e.concat(t).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656},a.prototype._hmac=function(){return new n.hmac(this.hash,this.K)},a.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},a.prototype.reseed=function(e,t,r,n){"string"!=typeof t&&(n=r,r=t,t=null),e=i.toArray(e,t),r=i.toArray(r,n),o(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this._reseed=1},a.prototype.generate=function(e,t,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(n=r,r=t,t=null),r&&(r=i.toArray(r,n||"hex"),this._update(r));for(var o=[];o.length<e;)this.V=this._hmac().update(this.V).digest(),o=o.concat(this.V);var a=o.slice(0,e);return this._update(r),this._reseed++,i.encode(a,t)}},{"hash.js":26,"minimalistic-assert":41,"minimalistic-crypto-utils":42}],39:[function(e,t,r){"function"==typeof Object.create?t.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(e,t){var r;t&&(e.super_=t,(r=function(){}).prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e)}},{}],40:[function(e,t,n){(function(e,r){!function(){"use strict";var n="object"==("undefined"==typeof window?"undefined":s(window))?window:{};!n.JS_SHA3_NO_NODE_JS&&"object"==s(e)&&e.versions&&e.versions.node&&(n=r);for(var i=!n.JS_SHA3_NO_COMMON_JS&&"object"==s(t)&&t.exports,o="0123456789abcdef".split(""),a=[0,8,16,24],u=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],c=[224,256,384,512],l=["hex","buffer","arrayBuffer","array"],f=function(e,t,r){return function(n){return new A(e,t,e).update(n)[r]()}},h=function(e,t,r){return function(n,i){return new A(e,t,i).update(n)[r]()}},d=function(e,t){var r=f(e,t,"hex");r.create=function(){return new A(e,t,e)},r.update=function(e){return r.create().update(e)};for(var n=0;n<l.length;++n){var i=l[n];r[i]=f(e,t,i)}return r},p=[{name:"keccak",padding:[1,256,65536,16777216],bits:c,createMethod:d},{name:"sha3",padding:[6,1536,393216,100663296],bits:c,createMethod:d},{name:"shake",padding:[31,7936,2031616,520093696],bits:[128,256],createMethod:function(e,t){var r=h(e,t,"hex");r.create=function(r){return new A(e,t,r)},r.update=function(e,t){return r.create(t).update(e)};for(var n=0;n<l.length;++n){var i=l[n];r[i]=h(e,t,i)}return r}}],m={},g=[],y=0;y<p.length;++y)for(var v=p[y],b=v.bits,w=0;w<b.length;++w){var _=v.name+"_"+b[w];g.push(_),m[_]=v.createMethod(b[w],v.padding)}function A(e,t,r){this.blocks=[],this.s=[],this.padding=t,this.outputBits=r,this.reset=!0,this.block=0,this.start=0,this.blockCount=1600-(e<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var n=0;n<50;++n)this.s[n]=0}A.prototype.update=function(e){var t="string"!=typeof e;t&&e.constructor===ArrayBuffer&&(e=new Uint8Array(e));for(var r,n,i=e.length,o=this.blocks,s=this.byteCount,u=this.blockCount,c=0,l=this.s;c<i;){if(this.reset)for(this.reset=!1,o[0]=this.block,r=1;r<u+1;++r)o[r]=0;if(t)for(r=this.start;c<i&&r<s;++c)o[r>>2]|=e[c]<<a[3&r++];else for(r=this.start;c<i&&r<s;++c)(n=e.charCodeAt(c))<128?o[r>>2]|=n<<a[3&r++]:(n<2048?o[r>>2]|=(192|n>>6)<<a[3&r++]:(n<55296||57344<=n?o[r>>2]|=(224|n>>12)<<a[3&r++]:(n=65536+((1023&n)<<10|1023&e.charCodeAt(++c)),o[r>>2]|=(240|n>>18)<<a[3&r++],o[r>>2]|=(128|n>>12&63)<<a[3&r++]),o[r>>2]|=(128|n>>6&63)<<a[3&r++]),o[r>>2]|=(128|63&n)<<a[3&r++]);if(s<=(this.lastByteIndex=r)){for(this.start=r-s,this.block=o[u],r=0;r<u;++r)l[r]^=o[r];E(l),this.reset=!0}else this.start=r}return this},A.prototype.finalize=function(){var e=this.blocks,t=this.lastByteIndex,r=this.blockCount,n=this.s;if(e[t>>2]|=this.padding[3&t],this.lastByteIndex===this.byteCount)for(e[0]=e[r],t=1;t<r+1;++t)e[t]=0;for(e[r-1]|=2147483648,t=0;t<r;++t)n[t]^=e[t];E(n)},A.prototype.toString=A.prototype.hex=function(){this.finalize();for(var e,t=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,a=0,s=0,u="";s<n;){for(a=0;a<t&&s<n;++a,++s)e=r[a],u+=o[e>>4&15]+o[15&e]+o[e>>12&15]+o[e>>8&15]+o[e>>20&15]+o[e>>16&15]+o[e>>28&15]+o[e>>24&15];s%t==0&&(E(r),a=0)}return i&&(e=r[a],0<i&&(u+=o[e>>4&15]+o[15&e]),1<i&&(u+=o[e>>12&15]+o[e>>8&15]),2<i&&(u+=o[e>>20&15]+o[e>>16&15])),u},A.prototype.buffer=A.prototype.arrayBuffer=function(){this.finalize();for(var e=this.blockCount,t=this.s,r=this.outputBlocks,n=this.extraBytes,i=0,o=0,a=this.outputBits>>3,s=n?new ArrayBuffer(r+1<<2):new ArrayBuffer(a),u=new Uint32Array(s);o<r;){for(i=0;i<e&&o<r;++i,++o)u[o]=t[i];o%e==0&&E(t)}return n&&(u[i]=t[i],s=s.slice(0,a)),s},A.prototype.digest=A.prototype.array=function(){this.finalize();for(var e,t,r=this.blockCount,n=this.s,i=this.outputBlocks,o=this.extraBytes,a=0,s=0,u=[];s<i;){for(a=0;a<r&&s<i;++a,++s)e=s<<2,t=n[a],u[e]=255&t,u[e+1]=t>>8&255,u[e+2]=t>>16&255,u[e+3]=t>>24&255;s%r==0&&E(n)}return o&&(e=s<<2,t=n[a],0<o&&(u[e]=255&t),1<o&&(u[e+1]=t>>8&255),2<o&&(u[e+2]=t>>16&255)),u};var E=function(e){for(var t,r,n,i,o,a,s,c,l,f,h,d,p,m,g,y,v,b,w,_,A,E,k,x,S,M,I,P,T,N,O,R,C,j,L,B,U,D,F,z,H,G,q,V,W,K,Z,Q,J,$,Y,X,ee,te,re,ne,ie,oe,ae,se,ue,ce,le=0;le<48;le+=2)n=e[0]^e[10]^e[20]^e[30]^e[40],i=e[1]^e[11]^e[21]^e[31]^e[41],o=e[2]^e[12]^e[22]^e[32]^e[42],a=e[3]^e[13]^e[23]^e[33]^e[43],s=e[4]^e[14]^e[24]^e[34]^e[44],c=e[5]^e[15]^e[25]^e[35]^e[45],l=e[6]^e[16]^e[26]^e[36]^e[46],f=e[7]^e[17]^e[27]^e[37]^e[47],t=(h=e[8]^e[18]^e[28]^e[38]^e[48])^(o<<1|a>>>31),r=(d=e[9]^e[19]^e[29]^e[39]^e[49])^(a<<1|o>>>31),e[0]^=t,e[1]^=r,e[10]^=t,e[11]^=r,e[20]^=t,e[21]^=r,e[30]^=t,e[31]^=r,e[40]^=t,e[41]^=r,t=n^(s<<1|c>>>31),r=i^(c<<1|s>>>31),e[2]^=t,e[3]^=r,e[12]^=t,e[13]^=r,e[22]^=t,e[23]^=r,e[32]^=t,e[33]^=r,e[42]^=t,e[43]^=r,t=o^(l<<1|f>>>31),r=a^(f<<1|l>>>31),e[4]^=t,e[5]^=r,e[14]^=t,e[15]^=r,e[24]^=t,e[25]^=r,e[34]^=t,e[35]^=r,e[44]^=t,e[45]^=r,t=s^(h<<1|d>>>31),r=c^(d<<1|h>>>31),e[6]^=t,e[7]^=r,e[16]^=t,e[17]^=r,e[26]^=t,e[27]^=r,e[36]^=t,e[37]^=r,e[46]^=t,e[47]^=r,t=l^(n<<1|i>>>31),r=f^(i<<1|n>>>31),e[8]^=t,e[9]^=r,e[18]^=t,e[19]^=r,e[28]^=t,e[29]^=r,e[38]^=t,e[39]^=r,e[48]^=t,e[49]^=r,p=e[0],m=e[1],W=e[11]<<4|e[10]>>>28,K=e[10]<<4|e[11]>>>28,I=e[20]<<3|e[21]>>>29,P=e[21]<<3|e[20]>>>29,ae=e[31]<<9|e[30]>>>23,se=e[30]<<9|e[31]>>>23,H=e[40]<<18|e[41]>>>14,G=e[41]<<18|e[40]>>>14,C=e[2]<<1|e[3]>>>31,j=e[3]<<1|e[2]>>>31,g=e[13]<<12|e[12]>>>20,y=e[12]<<12|e[13]>>>20,Z=e[22]<<10|e[23]>>>22,Q=e[23]<<10|e[22]>>>22,T=e[33]<<13|e[32]>>>19,N=e[32]<<13|e[33]>>>19,ue=e[42]<<2|e[43]>>>30,ce=e[43]<<2|e[42]>>>30,ee=e[5]<<30|e[4]>>>2,te=e[4]<<30|e[5]>>>2,L=e[14]<<6|e[15]>>>26,B=e[15]<<6|e[14]>>>26,v=e[25]<<11|e[24]>>>21,b=e[24]<<11|e[25]>>>21,J=e[34]<<15|e[35]>>>17,$=e[35]<<15|e[34]>>>17,O=e[45]<<29|e[44]>>>3,R=e[44]<<29|e[45]>>>3,k=e[6]<<28|e[7]>>>4,x=e[7]<<28|e[6]>>>4,re=e[17]<<23|e[16]>>>9,ne=e[16]<<23|e[17]>>>9,U=e[26]<<25|e[27]>>>7,D=e[27]<<25|e[26]>>>7,w=e[36]<<21|e[37]>>>11,_=e[37]<<21|e[36]>>>11,Y=e[47]<<24|e[46]>>>8,X=e[46]<<24|e[47]>>>8,q=e[8]<<27|e[9]>>>5,V=e[9]<<27|e[8]>>>5,S=e[18]<<20|e[19]>>>12,M=e[19]<<20|e[18]>>>12,ie=e[29]<<7|e[28]>>>25,oe=e[28]<<7|e[29]>>>25,F=e[38]<<8|e[39]>>>24,z=e[39]<<8|e[38]>>>24,A=e[48]<<14|e[49]>>>18,E=e[49]<<14|e[48]>>>18,e[0]=p^~g&v,e[1]=m^~y&b,e[10]=k^~S&I,e[11]=x^~M&P,e[20]=C^~L&U,e[21]=j^~B&D,e[30]=q^~W&Z,e[31]=V^~K&Q,e[40]=ee^~re&ie,e[41]=te^~ne&oe,e[2]=g^~v&w,e[3]=y^~b&_,e[12]=S^~I&T,e[13]=M^~P&N,e[22]=L^~U&F,e[23]=B^~D&z,e[32]=W^~Z&J,e[33]=K^~Q&$,e[42]=re^~ie&ae,e[43]=ne^~oe&se,e[4]=v^~w&A,e[5]=b^~_&E,e[14]=I^~T&O,e[15]=P^~N&R,e[24]=U^~F&H,e[25]=D^~z&G,e[34]=Z^~J&Y,e[35]=Q^~$&X,e[44]=ie^~ae&ue,e[45]=oe^~se&ce,e[6]=w^~A&p,e[7]=_^~E&m,e[16]=T^~O&k,e[17]=N^~R&x,e[26]=F^~H&C,e[27]=z^~G&j,e[36]=J^~Y&q,e[37]=$^~X&V,e[46]=ae^~ue&ee,e[47]=se^~ce&te,e[8]=A^~p&g,e[9]=E^~m&y,e[18]=O^~k&S,e[19]=R^~x&M,e[28]=H^~C&L,e[29]=G^~j&B,e[38]=Y^~q&W,e[39]=X^~V&K,e[48]=ue^~ee&re,e[49]=ce^~te&ne,e[0]^=u[le],e[1]^=u[le+1]};if(i)t.exports=m;else for(y=0;y<g.length;++y)n[g[y]]=m[g[y]]}()}).call(this,e("_process"),void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:43}],41:[function(e,t,r){(t.exports=function(e,t){if(!e)throw new Error(t||"Assertion failed")}).equal=function(e,t,r){if(e!=t)throw new Error(r||"Assertion failed: "+e+" != "+t)}},{}],42:[function(e,t,r){"use strict";var n=r;function i(e){return 1===e.length?"0"+e:e}function o(e){for(var t="",r=0;r<e.length;r++)t+=i(e[r].toString(16));return t}n.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"!=typeof e){for(var n=0;n<e.length;n++)r[n]=0|e[n];return r}if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),n=0;n<e.length;n+=2)r.push(parseInt(e[n]+e[n+1],16));else for(n=0;n<e.length;n++){var i=e.charCodeAt(n),o=i>>8,a=255&i;o?r.push(o,a):r.push(a)}return r},n.zero2=i,n.toHex=o,n.encode=function(e,t){return"hex"===t?o(e):e}},{}],43:[function(e,t,r){t.exports={browser:!0}},{}],44:[function(e,t,r){(function(e){"use strict";function n(e){var t=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],r=1779033703,n=3144134277,i=1013904242,o=2773480762,a=1359893119,s=2600822924,u=528734635,c=1541459225,l=new Array(64);function f(e){for(var f=0,h=e.length;64<=h;){for(var d,p,m,g,y=r,v=n,b=i,w=o,_=a,A=s,E=u,k=c,x=0;x<16;x++)p=f+4*x,l[x]=(255&e[p])<<24|(255&e[p+1])<<16|(255&e[p+2])<<8|255&e[p+3];for(x=16;x<64;x++)m=((d=l[x-2])>>>17|d<<15)^(d>>>19|d<<13)^d>>>10,g=((d=l[x-15])>>>7|d<<25)^(d>>>18|d<<14)^d>>>3,l[x]=(m+l[x-7]|0)+(g+l[x-16]|0)|0;for(x=0;x<64;x++)m=(((_>>>6|_<<26)^(_>>>11|_<<21)^(_>>>25|_<<7))+(_&A^~_&E)|0)+(k+(t[x]+l[x]|0)|0)|0,g=((y>>>2|y<<30)^(y>>>13|y<<19)^(y>>>22|y<<10))+(y&v^y&b^v&b)|0,k=E,E=A,A=_,_=w+m|0,w=b,b=v,v=y,y=m+g|0;r=r+y|0,n=n+v|0,i=i+b|0,o=o+w|0,a=a+_|0,s=s+A|0,u=u+E|0,c=c+k|0,f+=64,h-=64}}f(e);var h,d=e.length%64,p=e.length/536870912|0,m=e.length<<3,g=d<56?56:120,y=e.slice(e.length-d,e.length);for(y.push(128),h=1+d;h<g;h++)y.push(0);return y.push(p>>>24&255),y.push(p>>>16&255),y.push(p>>>8&255),y.push(p>>>0&255),y.push(m>>>24&255),y.push(m>>>16&255),y.push(m>>>8&255),y.push(m>>>0&255),f(y),[r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,u>>>24&255,u>>>16&255,u>>>8&255,u>>>0&255,c>>>24&255,c>>>16&255,c>>>8&255,c>>>0&255]}function i(e,t,r){e=e.length<=64?e:n(e);for(var i=64+t.length+4,o=new Array(i),a=new Array(64),s=[],u=0;u<64;u++)o[u]=54;for(u=0;u<e.length;u++)o[u]^=e[u];for(u=0;u<t.length;u++)o[64+u]=t[u];for(u=i-4;u<i;u++)o[u]=0;for(u=0;u<64;u++)a[u]=92;for(u=0;u<e.length;u++)a[u]^=e[u];function c(){for(var e=i-1;i-4<=e;e--){if(o[e]++,o[e]<=255)return;o[e]=0}}for(;32<=r;)c(),s=s.concat(n(a.concat(n(o)))),r-=32;return 0<r&&(c(),s=s.concat(n(a.concat(n(o))).slice(0,r))),s}function o(e,t,r,n,i){var o;for(u(e,16*(2*r-1),i,0,16),o=0;o<2*r;o++)s(e,16*o,i,16),function(e,t){u(e,0,t,0,16);for(var r=8;0<r;r-=2)t[4]^=a(t[0]+t[12],7),t[8]^=a(t[4]+t[0],9),t[12]^=a(t[8]+t[4],13),t[0]^=a(t[12]+t[8],18),t[9]^=a(t[5]+t[1],7),t[13]^=a(t[9]+t[5],9),t[1]^=a(t[13]+t[9],13),t[5]^=a(t[1]+t[13],18),t[14]^=a(t[10]+t[6],7),t[2]^=a(t[14]+t[10],9),t[6]^=a(t[2]+t[14],13),t[10]^=a(t[6]+t[2],18),t[3]^=a(t[15]+t[11],7),t[7]^=a(t[3]+t[15],9),t[11]^=a(t[7]+t[3],13),t[15]^=a(t[11]+t[7],18),t[1]^=a(t[0]+t[3],7),t[2]^=a(t[1]+t[0],9),t[3]^=a(t[2]+t[1],13),t[0]^=a(t[3]+t[2],18),t[6]^=a(t[5]+t[4],7),t[7]^=a(t[6]+t[5],9),t[4]^=a(t[7]+t[6],13),t[5]^=a(t[4]+t[7],18),t[11]^=a(t[10]+t[9],7),t[8]^=a(t[11]+t[10],9),t[9]^=a(t[8]+t[11],13),t[10]^=a(t[9]+t[8],18),t[12]^=a(t[15]+t[14],7),t[13]^=a(t[12]+t[15],9),t[14]^=a(t[13]+t[12],13),t[15]^=a(t[14]+t[13],18);for(r=0;r<16;++r)e[r]+=t[r]}(i,n),u(i,0,e,t+16*o,16);for(o=0;o<r;o++)u(e,t+2*o*16,e,16*o,16);for(o=0;o<r;o++)u(e,t+16*(2*o+1),e,16*(o+r),16)}function a(e,t){return e<<t|e>>>32-t}function s(e,t,r,n){for(var i=0;i<n;i++)r[i]^=e[t+i]}function u(e,t,r,n,i){for(;i--;)r[n++]=e[t++]}function c(e){if(e&&"number"==typeof e.length){for(var t=0;t<e.length;t++){if("number"!=typeof e[t])return;var r=parseInt(e[t]);if(r!=e[t]||r<0||256<=r)return}return 1}}function l(e,t){var r=parseInt(e);if(e!=r)throw new Error("invalid "+t);return r}function f(t,r,n,a,f,h,p){if(!p)throw new Error("missing callback");if(n=l(n,"N"),a=l(a,"r"),f=l(f,"p"),h=l(h,"dkLen"),0===n||0!=(n&n-1))throw new Error("N must be power of 2");if(d/128/a<n)throw new Error("N too large");if(d/128/f<a)throw new Error("r too large");if(!c(t))throw new Error("password must be an array or buffer");if(t=Array.prototype.slice.call(t),!c(r))throw new Error("salt must be an array or buffer");r=Array.prototype.slice.call(r);for(var m=i(t,r,128*f*a),g=new Uint32Array(32*f*a),y=0;y<g.length;y++){var v=4*y;g[y]=(255&m[3+v])<<24|(255&m[2+v])<<16|(255&m[1+v])<<8|(255&m[0+v])<<0}var b,w,_=new Uint32Array(64*a),A=new Uint32Array(32*a*n),E=32*a,k=new Uint32Array(16),x=new Uint32Array(16),S=f*n*2,M=0,I=null,P=!1,T=0,N=0,O=parseInt(1e3/a),R=void 0!==e?e:setTimeout;!function e(){if(P)return p(new Error("cancelled"),M/S);switch(T){case 0:u(g,w=32*N*a,_,0,E),T=1,b=0;case 1:O<(c=n-b)&&(c=O);for(var r=0;r<c;r++)u(_,0,A,(b+r)*E,E),o(_,E,a,k,x);if(b+=c,M+=c,(l=parseInt(1e3*M/S))!==I){if(P=p(null,M/S))break;I=l}if(b<n)break;b=0,T=2;case 2:var c,l;for(O<(c=n-b)&&(c=O),r=0;r<c;r++){var d=_[16*(2*a-1)]&n-1;s(A,d*E,_,E),o(_,E,a,k,x)}if(b+=c,M+=c,(l=parseInt(1e3*M/S))!==I){if(P=p(null,M/S))break;I=l}if(b<n)break;if(u(_,0,g,w,E),++N<f){T=0;break}for(m=[],r=0;r<g.length;r++)m.push(g[r]>>0&255),m.push(g[r]>>8&255),m.push(g[r]>>16&255),m.push(g[r]>>24&255);var y=i(t,m,h);return p(null,1,y)}R(e)}()}var h,d;h=this,d=2147483647,void 0!==r?t.exports=f:h&&(h.scrypt&&(h._scrypt=h.scrypt),h.scrypt=f)}).call(this,e("timers").setImmediate)},{timers:46}],45:[function(e,t,n){(function(e,t,r){!function(t,r){"use strict";var n,i,o,a,s,u,c,l,f;function h(e){return i[n]=d.apply(r,e),n++}function d(e){var t=[].slice.call(arguments,1);return function(){"function"==typeof e?e.apply(r,t):new Function(""+e)()}}function p(e){if(o)setTimeout(d(p,e),0);else{var t=i[e];if(t){o=!0;try{t()}finally{m(e),o=!1}}}}function m(e){delete i[e]}function g(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(l)&&p(+e.data.slice(l.length))}t.setImmediate||(n=1,o=!(i={}),a=t.document,f=(f=Object.getPrototypeOf&&Object.getPrototypeOf(t))&&f.setTimeout?f:t,s="[object process]"==={}.toString.call(t.process)?function(){var t=h(arguments);return e.nextTick(d(p,t)),t}:function(){if(t.postMessage&&!t.importScripts){var e=!0,r=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=r,e}}()?(l="setImmediate$"+Math.random()+"$",t.addEventListener?t.addEventListener("message",g,!1):t.attachEvent("onmessage",g),function(){var e=h(arguments);return t.postMessage(l+e,"*"),e}):t.MessageChannel?((c=new MessageChannel).port1.onmessage=function(e){p(e.data)},function(){var e=h(arguments);return c.port2.postMessage(e),e}):a&&"onreadystatechange"in a.createElement("script")?(u=a.documentElement,function(){var e=h(arguments),t=a.createElement("script");return t.onreadystatechange=function(){p(e),t.onreadystatechange=null,u.removeChild(t),t=null},u.appendChild(t),e}):function(){var e=h(arguments);return setTimeout(d(p,e),0),e},f.setImmediate=s,f.clearImmediate=m)}("undefined"==typeof self?void 0===t?this:t:self)}).call(this,e("_process"),void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("timers").clearImmediate)},{_process:43,timers:46}],46:[function(e,t,n){(function(e){t.exports={setImmediate:e.setImmediate}}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],47:[function(e,t,n){(function(e){var r,n,i;e.crypto&&crypto.getRandomValues&&(r=new Uint8Array(16),n=function(){return crypto.getRandomValues(r),r}),n||(i=new Array(16),n=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),i[t]=e>>>((3&t)<<3)&255;return i}),t.exports=n}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],48:[function(e,t,r){for(var n=e("./rng"),i=[],o={},a=0;a<256;a++)i[a]=(a+256).toString(16).substr(1),o[i[a]]=a;function s(e,t){var r=t||0;return i[e[r++]]+i[e[r++]]+i[e[r++]]+i[e[r++]]+"-"+i[e[r++]]+i[e[r++]]+"-"+i[e[r++]]+i[e[r++]]+"-"+i[e[r++]]+i[e[r++]]+"-"+i[e[r++]]+i[e[r++]]+i[e[r++]]+i[e[r++]]+i[e[r++]]+i[e[r++]]}var u=n(),c=[1|u[0],u[1],u[2],u[3],u[4],u[5]],l=16383&(u[6]<<8|u[7]),f=0,h=0;function d(e,t,r){var i=t&&r||0;"string"==typeof e&&(t="binary"==e?new Array(16):null,e=null);var o=(e=e||{}).random||(e.rng||n)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,t)for(var a=0;a<16;a++)t[i+a]=o[a];return t||s(o)}var p=d;p.v1=function(e,t,r){var n=t&&r||0,i=t||[],o=void 0!==(e=e||{}).clockseq?e.clockseq:l,a=void 0!==e.msecs?e.msecs:(new Date).getTime(),u=void 0!==e.nsecs?e.nsecs:h+1,d=a-f+(u-h)/1e4;if(d<0&&void 0===e.clockseq&&(o=o+1&16383),(d<0||f<a)&&void 0===e.nsecs&&(u=0),1e4<=u)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");f=a,l=o;var p=(1e4*(268435455&(a+=122192928e5))+(h=u))%4294967296;i[n++]=p>>>24&255,i[n++]=p>>>16&255,i[n++]=p>>>8&255,i[n++]=255&p;var m=a/4294967296*1e4&268435455;i[n++]=m>>>8&255,i[n++]=255&m,i[n++]=m>>>24&15|16,i[n++]=m>>>16&255,i[n++]=o>>>8|128,i[n++]=255&o;for(var g=e.node||c,y=0;y<6;y++)i[n+y]=g[y];return t||s(i)},p.v4=d,p.parse=function(e,t,r){var n=t&&r||0,i=0;for(t=t||[],e.toLowerCase().replace(/[0-9a-f]{2}/g,(function(e){i<16&&(t[n+i++]=o[e])}));i<16;)t[n+i++]=0;return t},p.unparse=s,t.exports=p},{"./rng":47}],49:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});try{t.exports.XMLHttpRequest=XMLHttpRequest}catch(e){console.log("Warning: XMLHttpRequest is not defined"),t.exports.XMLHttpRequest=null}},{}],50:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("../utils/properties"),i=(o.isProvider=function(e){return n.isType(e,"Provider")},o);function o(){n.setType(this,"Provider")}r.Provider=i},{"../utils/properties":74}],51:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var a=e("../utils/address"),u=e("../utils/bignumber"),c=e("../utils/bytes"),l=e("../constants"),f=e("../utils/hash"),h=e("../utils/networks"),d=e("../utils/properties"),p=e("../utils/rlp"),m=e("../utils/transaction"),g=e("../utils/utf8"),y=e("../utils/web"),v=o(e("../errors")),b=e("./abstract-provider");function w(e,t){var r={};for(var n in e)try{var i=e[n](t[n]);void 0!==i&&(r[n]=i)}catch(e){throw e.checkKey=n,e.checkValue=t[n],e}return r}function _(e,t){return function(r){return null==r?t:e(r)}}function A(e){return function(t){if(!Array.isArray(t))throw new Error("not an array");var r=[];return t.forEach((function(t){r.push(e(t))})),r}}function E(e,t){return"string"==typeof e&&(t||"0x"===e.substring(0,2)||(e="0x"+e),32===c.hexDataLength(e))?e.toLowerCase():(v.throwError("invalid hash",v.INVALID_ARGUMENT,{arg:"hash",value:e}),null)}function k(e){return u.bigNumberify(e).toNumber()}function x(e){if(!c.isHexString(e))throw new Error("invalid uint256");for(;e.length<66;)e="0x0"+e.substring(2);return e}function S(e){if(null==e)return"latest";if("earliest"===e)return"0x0";if("latest"===e||"pending"===e)return e;if("number"==typeof e)return c.hexStripZeros(c.hexlify(e));if(c.isHexString(e))return c.hexStripZeros(e);throw new Error("invalid blockTag")}var M={hash:E,blockHash:_(E,null),blockNumber:_(k,null),transactionIndex:_(k,null),confirmations:_(k,null),from:a.getAddress,gasPrice:u.bigNumberify,gasLimit:u.bigNumberify,to:_(a.getAddress,null),value:u.bigNumberify,nonce:k,data:c.hexlify,r:_(x),s:_(x),v:_(k),creates:_(a.getAddress,null),raw:_(c.hexlify)};function I(e){var t;null!=e.gas&&null==e.gasLimit&&(e.gasLimit=e.gas),e.to&&u.bigNumberify(e.to).isZero()&&(e.to="0x0000000000000000000000000000000000000000"),null!=e.input&&null==e.data&&(e.data=e.input),null==e.to&&null==e.creates&&(e.creates=a.getContractAddress(e)),e.raw||e.v&&e.r&&e.s&&(t=[c.stripZeros(c.hexlify(e.nonce)),c.stripZeros(c.hexlify(e.gasPrice)),c.stripZeros(c.hexlify(e.gasLimit)),e.to||"0x",c.stripZeros(c.hexlify(e.value||"0x")),c.hexlify(e.data||"0x"),c.stripZeros(c.hexlify(e.v||"0x")),c.stripZeros(c.hexlify(e.r)),c.stripZeros(c.hexlify(e.s))],e.raw=p.encode(t));var r=w(M,e),n=e.networkId;return null!=e.chainId&&null==n&&null==r.v&&(n=e.chainId),c.isHexString(n)&&(n=u.bigNumberify(n).toNumber()),"number"!=typeof n&&null!=r.v&&((n=(r.v-35)/2)<0&&(n=0),n=parseInt(n)),"number"!=typeof n&&(n=0),r.networkId=n,null==r.chainId&&null!=n&&(r.chainId=n),r.blockHash&&"x"===r.blockHash.replace(/0/g,"")&&(r.blockHash=null),r}var P={hash:E,parentHash:E,number:k,timestamp:k,nonce:_(c.hexlify),difficulty:function(e){var t=u.bigNumberify(e);try{return t.toNumber()}catch(e){}return null},gasLimit:u.bigNumberify,gasUsed:u.bigNumberify,miner:a.getAddress,extraData:c.hexlify,transactions:_(A(E))},T=d.shallowCopy(P);function N(e,t){return null!=e.author&&null==e.miner&&(e.miner=e.author),w(t?T:P,e)}T.transactions=_(A(I));var O={from:_(a.getAddress),nonce:_(k),gasLimit:_(u.bigNumberify),gasPrice:_(u.bigNumberify),to:_(a.getAddress),value:_(u.bigNumberify),data:_(c.hexlify)};function R(e){return w(O,e)}var C={transactionLogIndex:_(k),transactionIndex:k,blockNumber:k,transactionHash:E,address:a.getAddress,topics:A(E),data:c.hexlify,logIndex:k,blockHash:E},j={to:_(a.getAddress,null),from:_(a.getAddress,null),contractAddress:_(a.getAddress,null),transactionIndex:k,root:_(E),gasUsed:u.bigNumberify,logsBloom:_(c.hexlify),blockHash:E,transactionHash:E,logs:A((function(e){return w(C,e)})),blockNumber:k,confirmations:_(k,null),cumulativeGasUsed:u.bigNumberify,status:_(k)};function L(e){return Array.isArray(e)?e.forEach((function(e){L(e)})):null!=e&&E(e),e}var B,U={fromBlock:_(S,void 0),toBlock:_(S,void 0),address:_(a.getAddress,void 0),topics:_(L,void 0)},D={blockHash:_(E,void 0),address:_(a.getAddress,void 0),topics:_(L,void 0)},F={blockNumber:_(k),blockHash:_(E),transactionIndex:k,removed:_((function(e){if("boolean"==typeof e)return e;if("string"==typeof e){if("true"===e)return!0;if("false"===e)return!1}throw new Error("invaid boolean - "+e)})),address:a.getAddress,data:(B=c.hexlify,function(e){return e?B(e):"0x"}),topics:A(E),transactionHash:E,logIndex:k};function z(e){return w(F,e)}function H(e){return e.map((function(e){return"string"==typeof e?e:Array.isArray(e)?(e.forEach((function(e){null!==e&&32!==c.hexDataLength(e)&&v.throwError("invalid topic",v.INVALID_ARGUMENT,{argument:"topic",value:e})})),e.join(",")):null===e?"":v.throwError("invalid topic value",v.INVALID_ARGUMENT,{argument:"topic",value:e})})).join("&")}function G(e){if("string"==typeof e){if(20===c.hexDataLength(e))return"address:"+a.getAddress(e);if(e=e.toLowerCase(),32===c.hexDataLength(e))return"tx:"+e;if(-1===e.indexOf(":"))return e}else{if(Array.isArray(e))return"filter::"+H(e);if(e&&"object"==s(e))return"filter:"+(e.address||"")+":"+H(e.topics||[])}throw new Error("invalid event - "+e)}function q(){return(new Date).getTime()}var V,W=(i(K,V=b.Provider),K.prototype._doPoll=function(){var e=this;this.getBlockNumber().then((function(t){if(e.polling&&(e._setFastBlockNumber(t),t!==e._lastBlockNumber)){-2===e._emitted.block&&(e._emitted.block=t-1);for(var r=e._emitted.block+1;r<=t;r++)e.emit("block",r);e._emitted.block!==t&&(e._emitted.block=t,Object.keys(e._emitted).forEach((function(r){var n;"block"===r||"pending"!==(n=e._emitted[r])&&12<t-n&&delete e._emitted[r]}))),-2===e._lastBlockNumber&&(e._lastBlockNumber=t-1);var n={},i={};return e._events.forEach((function(e){i[e.tag]=!0})),Object.keys(i).forEach((function(r){var i=r.split(":");switch(i[0]){case"tx":var o=i[1];e.getTransactionReceipt(o).then((function(t){return t&&null!=t.blockNumber&&(e._emitted["t:"+o]=t.blockNumber,e.emit(o,t)),null})).catch((function(t){e.emit("error",t)}));break;case"address":var a=i[1];e._balances[a]&&(n[a]=e._balances[a]),e.getBalance(a,"latest").then((function(t){var r=e._balances[a];if(!r||!t.eq(r))return e._balances[a]=t,e.emit(a,t),null})).catch((function(t){e.emit("error",t)}));break;case"filter":var s=i[2].split(/&/g).map((function(e){var t=e.split(",");return 1===t.length?""===t[0]?null:e:t.map((function(e){return""===e?null:e}))})),u={address:i[1],fromBlock:e._lastBlockNumber+1,toBlock:t,topics:s};u.address||delete u.address,e.getLogs(u).then((function(t){if(0!==t.length)return t.forEach((function(t){e._emitted["b:"+t.blockHash]=t.blockNumber,e._emitted["t:"+t.transactionHash]=t.blockNumber,e.emit(u,t)})),null})).catch((function(t){e.emit("error",t)}))}})),e._lastBlockNumber=t,e._balances=n,null}})).catch((function(e){})),this.doPoll()},K.prototype.resetEventsBlock=function(e){this._lastBlockNumber=e-1,this.polling&&this._doPoll()},Object.defineProperty(K.prototype,"network",{get:function(){return this._network},enumerable:!0,configurable:!0}),K.prototype.getNetwork=function(){return this.ready},Object.defineProperty(K.prototype,"blockNumber",{get:function(){return this._fastBlockNumber},enumerable:!0,configurable:!0}),Object.defineProperty(K.prototype,"polling",{get:function(){return null!=this._poller},set:function(e){var t=this;setTimeout((function(){e&&!t._poller?(t._poller=setInterval(t._doPoll.bind(t),t.pollingInterval),t._doPoll()):!e&&t._poller&&(clearInterval(t._poller),t._poller=null)}),0)},enumerable:!0,configurable:!0}),Object.defineProperty(K.prototype,"pollingInterval",{get:function(){return this._pollingInterval},set:function(e){var t=this;if("number"!=typeof e||e<=0||parseInt(String(e))!=e)throw new Error("invalid polling interval");this._pollingInterval=e,this._poller&&(clearInterval(this._poller),this._poller=setInterval((function(){t._doPoll()}),this._pollingInterval))},enumerable:!0,configurable:!0}),K.prototype._getFastBlockNumber=function(){var e=this,t=q();return t-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=t,this._fastBlockNumberPromise=this.getBlockNumber().then((function(t){return(null==e._fastBlockNumber||t>e._fastBlockNumber)&&(e._fastBlockNumber=t),e._fastBlockNumber}))),this._fastBlockNumberPromise},K.prototype._setFastBlockNumber=function(e){null!=this._fastBlockNumber&&e<this._fastBlockNumber||(this._fastQueryDate=q(),(null==this._fastBlockNumber||e>this._fastBlockNumber)&&(this._fastBlockNumber=e,this._fastBlockNumberPromise=Promise.resolve(e)))},K.prototype.waitForTransaction=function(e,t){var r=this;return null==t&&(t=1),this.getTransactionReceipt(e).then((function(n){return 0===t||n&&n.confirmations>=t?n:new Promise((function(n){r.on(e,(function i(o){o.confirmations<t||(r.removeListener(e,i),n(o))}))}))}))},K.prototype.getBlockNumber=function(){var e=this;return this.ready.then((function(){return e.perform("getBlockNumber",{}).then((function(t){var r=parseInt(t);if(r!=t)throw new Error("invalid response - getBlockNumber");return e._setFastBlockNumber(r),r}))}))},K.prototype.getGasPrice=function(){var e=this;return this.ready.then((function(){return e.perform("getGasPrice",{}).then((function(e){return u.bigNumberify(e)}))}))},K.prototype.getBalance=function(e,t){var r=this;return this.ready.then((function(){return d.resolveProperties({addressOrName:e,blockTag:t}).then((function(e){var t=e.addressOrName,n=e.blockTag;return r._getAddress(t).then((function(e){var t={address:e,blockTag:S(n)};return r.perform("getBalance",t).then((function(e){return u.bigNumberify(e)}))}))}))}))},K.prototype.getTransactionCount=function(e,t){var r=this;return this.ready.then((function(){return d.resolveProperties({addressOrName:e,blockTag:t}).then((function(e){var t=e.addressOrName,n=e.blockTag;return r._getAddress(t).then((function(e){var t={address:e,blockTag:S(n)};return r.perform("getTransactionCount",t).then((function(e){return u.bigNumberify(e).toNumber()}))}))}))}))},K.prototype.getCode=function(e,t){var r=this;return this.ready.then((function(){return d.resolveProperties({addressOrName:e,blockTag:t}).then((function(e){var t=e.addressOrName,n=e.blockTag;return r._getAddress(t).then((function(e){var t={address:e,blockTag:S(n)};return r.perform("getCode",t).then((function(e){return c.hexlify(e)}))}))}))}))},K.prototype.getStorageAt=function(e,t,r){var n=this;return this.ready.then((function(){return d.resolveProperties({addressOrName:e,position:t,blockTag:r}).then((function(e){var t=e.addressOrName,r=e.position,i=e.blockTag;return n._getAddress(t).then((function(e){var t={address:e,blockTag:S(i),position:c.hexStripZeros(c.hexlify(r))};return n.perform("getStorageAt",t).then((function(e){return c.hexlify(e)}))}))}))}))},K.prototype.sendTransaction=function(e){var t=this;return this.ready.then((function(){return d.resolveProperties({signedTransaction:e}).then((function(e){var r=e.signedTransaction,n={signedTransaction:c.hexlify(r)};return t.perform("sendTransaction",n).then((function(e){return t._wrapTransaction(m.parse(r),e)}),(function(e){throw e.transaction=m.parse(r),e.transaction.hash&&(e.transactionHash=e.transaction.hash),e}))}))}))},K.prototype._wrapTransaction=function(e,t){var r=this;if(null!=t&&32!==c.hexDataLength(t))throw new Error("invalid response - sendTransaction");var n=e;return null!=t&&e.hash!==t&&v.throwError("Transaction hash mismatch from Provider.sendTransaction.",v.UNKNOWN_ERROR,{expectedHash:e.hash,returnedHash:t}),n.wait=function(t){return 0!==t&&(r._emitted["t:"+e.hash]="pending"),r.waitForTransaction(e.hash,t).then((function(n){return null==n&&0===t?null:(r._emitted["t:"+e.hash]=n.blockNumber,0===n.status&&v.throwError("transaction failed",v.CALL_EXCEPTION,{transactionHash:e.hash,transaction:e}),n)}))},n},K.prototype.call=function(e,t){var r=this,n=d.shallowCopy(e);return this.ready.then((function(){return d.resolveProperties({blockTag:t,tx:n}).then((function(e){var t=e.blockTag,n=e.tx;return r._resolveNames(n,["to","from"]).then((function(e){var n={blockTag:S(t),transaction:R(e)};return r.perform("call",n).then((function(e){return c.hexlify(e)}))}))}))}))},K.prototype.estimateGas=function(e){var t=this,r={to:e.to,from:e.from,data:e.data,gasPrice:e.gasPrice,value:e.value};return this.ready.then((function(){return d.resolveProperties(r).then((function(e){return t._resolveNames(e,["to","from"]).then((function(e){var r={transaction:R(e)};return t.perform("estimateGas",r).then((function(e){return u.bigNumberify(e)}))}))}))}))},K.prototype.getBlock=function(e,t){var r=this;return this.ready.then((function(){return d.resolveProperties({blockHashOrBlockTag:e}).then((function(e){var n=e.blockHashOrBlockTag;try{var i=c.hexlify(n);if(32===c.hexDataLength(i))return y.poll((function(){return r.perform("getBlock",{blockHash:i,includeTransactions:!!t}).then((function(e){return null==e?null==r._emitted["b:"+i]?null:void 0:N(e,t)}))}),{onceBlock:r})}catch(e){}try{var o=-128,a=S(n);return c.isHexString(a)&&(o=parseInt(a.substring(2),16)),y.poll((function(){return r.perform("getBlock",{blockTag:a,includeTransactions:!!t}).then((function(e){return null!=e?N(e,t):o<=r._emitted.block?void 0:null}))}),{onceBlock:r})}catch(e){}throw new Error("invalid block hash or block tag")}))}))},K.prototype.getTransaction=function(e){var t=this;return this.ready.then((function(){return d.resolveProperties({transactionHash:e}).then((function(e){var r=e.transactionHash,n={transactionHash:E(r,!0)};return y.poll((function(){return t.perform("getTransaction",n).then((function(e){if(null==e)return null==t._emitted["t:"+r]?null:void 0;var n=K.checkTransactionResponse(e);if(null==n.blockNumber)n.confirmations=0;else if(null==n.confirmations)return t._getFastBlockNumber().then((function(e){var r=e-n.blockNumber+1;return r<=0&&(r=1),n.confirmations=r,t._wrapTransaction(n)}));return t._wrapTransaction(n)}))}),{onceBlock:t})}))}))},K.prototype.getTransactionReceipt=function(e){var t=this;return this.ready.then((function(){return d.resolveProperties({transactionHash:e}).then((function(e){var r=e.transactionHash,n={transactionHash:E(r,!0)};return y.poll((function(){return t.perform("getTransactionReceipt",n).then((function(e){if(null==e)return null==t._emitted["t:"+r]?null:void 0;if(null!=e.blockHash){var n,i,o=((i=w(j,n=e)).logs.forEach((function(e,t){null==e.transactionLogIndex&&(e.transactionLogIndex=t)})),null!=n.status&&(i.byzantium=!0),i);if(null==o.blockNumber)o.confirmations=0;else if(null==o.confirmations)return t._getFastBlockNumber().then((function(e){var t=e-o.blockNumber+1;return t<=0&&(t=1),o.confirmations=t,o}));return o}}))}),{onceBlock:t})}))}))},K.prototype.getLogs=function(e){var t=this;return this.ready.then((function(){return d.resolveProperties(e).then((function(e){return t._resolveNames(e,["address"]).then((function(e){var r,n={filter:(r=e)&&r.blockHash?w(D,r):w(U,r)};return t.perform("getLogs",n).then((function(e){return A(z)(e)}))}))}))}))},K.prototype.getEtherPrice=function(){var e=this;return this.ready.then((function(){return e.perform("getEtherPrice",{}).then((function(e){return e}))}))},K.prototype._getAddress=function(e){return this.resolveName(e).then((function(t){return null==t&&v.throwError("ENS name not configured",v.UNSUPPORTED_OPERATION,{operation:"resolveName("+JSON.stringify(e)+")"}),t}))},K.prototype._resolveNames=function(e,t){var r=[],n=d.shallowCopy(e);return t.forEach((function(e){null!=n[e]&&r.push(this._getAddress(n[e]).then((function(t){n[e]=t})))}),this),Promise.all(r).then((function(){return n}))},K.prototype._getResolver=function(e){var t=this;return this.getNetwork().then((function(r){r.ensAddress||v.throwError("network does not support ENS",v.UNSUPPORTED_OPERATION,{operation:"ENS",network:r.name});var n="0x0178b8bf"+f.namehash(e).substring(2),i={to:r.ensAddress,data:n};return t.call(i).then((function(e){if(32!==c.hexDataLength(e))return null;var t=a.getAddress(c.hexDataSlice(e,12));return t===l.AddressZero?null:t}))}))},K.prototype.resolveName=function(e){var t=this;if(e instanceof Promise)return e.then((function(e){return t.resolveName(e)}));try{return Promise.resolve(a.getAddress(e))}catch(t){if(c.isHexString(e))throw t}var r=this,n=f.namehash(e);return this._getResolver(e).then((function(e){if(null==e)return null;var t={to:e,data:"0x3b3b57de"+n.substring(2)};return r.call(t)})).then((function(e){if(32!==c.hexDataLength(e))return null;var t=a.getAddress(c.hexDataSlice(e,12));return t===l.AddressZero?null:t}))},K.prototype.lookupAddress=function(e){var t=this;if(e instanceof Promise)return e.then((function(e){return t.lookupAddress(e)}));var r=(e=a.getAddress(e)).substring(2)+".addr.reverse",n=f.namehash(r),i=this;return this._getResolver(r).then((function(e){if(!e)return null;var t={to:e,data:"0x691f3431"+n.substring(2)};return i.call(t)})).then((function(t){if(null==t)return null;if((t=t.substring(2)).length<64)return null;if((t=t.substring(64)).length<64)return null;var r=u.bigNumberify("0x"+t.substring(0,64)).toNumber();if(2*r>(t=t.substring(64)).length)return null;var n=g.toUtf8String("0x"+t.substring(0,2*r));return i.resolveName(n).then((function(t){return t!=e?null:n}))}))},K.checkTransactionResponse=I,K.prototype.doPoll=function(){},K.prototype.perform=function(e,t){return v.throwError(e+" not implemented",v.NOT_IMPLEMENTED,{operation:e}),null},K.prototype._startPending=function(){v.warn("WARNING: this provider does not support pending events")},K.prototype._stopPending=function(){},K.prototype._addEventListener=function(e,t,r){this._events.push({tag:G(e),listener:t,once:r}),"pending"===e&&this._startPending(),this.polling=!0},K.prototype.on=function(e,t){return this._addEventListener(e,t,!1),this},K.prototype.once=function(e,t){return this._addEventListener(e,t,!0),this},K.prototype.addEventListener=function(e,t){return this.on(e,t)},K.prototype.emit=function(e){for(var t=this,r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];var i=!1,o=G(e);return this._events=this._events.filter((function(e){return e.tag!==o||(setTimeout((function(){e.listener.apply(t,r)}),0),i=!0,!e.once)})),0===this.listenerCount()&&(this.polling=!1),i},K.prototype.listenerCount=function(e){if(!e)return this._events.length;var t=G(e);return this._events.filter((function(e){return e.tag===t})).length},K.prototype.listeners=function(e){var t=G(e);return this._events.filter((function(e){return e.tag===t})).map((function(e){return e.listener}))},K.prototype.removeAllListeners=function(e){var t;return null==e?(this._events=[],this._stopPending()):(t=G(e),this._events=this._events.filter((function(e){return e.tag!==t})),"pending"===e&&this._stopPending()),0===this._events.length&&(this.polling=!1),this},K.prototype.removeListener=function(e,t){var r=!1,n=G(e);return this._events=this._events.filter((function(e){return e.tag!==n||e.listener!=t||!!r||!(r=!0)})),"pending"===e&&0===this.listenerCount("pending")&&this._stopPending(),0===this.listenerCount()&&(this.polling=!1),this},K);function K(e){var t,r=V.call(this)||this;return v.checkNew(r,b.Provider),e instanceof Promise?(d.defineReadOnly(r,"ready",e.then((function(e){return d.defineReadOnly(r,"_network",e),e}))),r.ready.catch((function(e){}))):(t=h.getNetwork(null==e?"homestead":e))?(d.defineReadOnly(r,"_network",t),d.defineReadOnly(r,"ready",Promise.resolve(r._network))):v.throwError("invalid network",v.INVALID_ARGUMENT,{arg:"network",value:e}),r._lastBlockNumber=-2,r._balances={},r._events=[],r._pollingInterval=4e3,r._emitted={block:-2},r._fastQueryDate=0,r}r.BaseProvider=W,d.defineReadOnly(b.Provider,"inherits",d.inheritable(b.Provider))},{"../constants":3,"../errors":5,"../utils/address":60,"../utils/bignumber":63,"../utils/bytes":64,"../utils/hash":65,"../utils/networks":72,"../utils/properties":74,"../utils/rlp":76,"../utils/transaction":83,"../utils/utf8":85,"../utils/web":86,"./abstract-provider":50}],52:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var a=e("./base-provider"),s=e("../utils/bytes"),u=e("../utils/properties"),c=e("../utils/web"),l=o(e("../errors"));function f(e){var t,r=[];for(var n in e)null!=e[n]&&(t=s.hexlify(e[n]),{gasLimit:!0,gasPrice:!0,nonce:!0,value:!0}[n]&&(t=s.hexStripZeros(t)),r.push(n+"="+t));return r.join("&")}function h(e){if(0==e.status&&("No records found"===e.message||"No transactions found"===e.message))return e.result;if(1==e.status&&"OK"==e.message)return e.result;var t=new Error("invalid response");throw t.result=JSON.stringify(e),t}function d(e){if("2.0"!=e.jsonrpc)throw(t=new Error("invalid response")).result=JSON.stringify(e),t;if(e.error){var t=new Error(e.error.message||"unknown error");throw e.error.code&&(t.code=e.error.code),e.error.data&&(t.data=e.error.data),t}return e.result}function p(e){if("pending"===e)throw new Error("pending not supported");return"latest"===e?e:parseInt(e.substring(2),16)}var m,g=(i(y,m=a.BaseProvider),y.prototype.perform=function(e,t){var r,n=this,i=this.baseUrl,o="";function a(e,t){return c.fetchJson(e,null,t||d).then((function(t){return n.emit("debug",{action:"perform",request:e,response:t,provider:n}),t}))}switch(this.apiKey&&(o+="&apikey="+this.apiKey),e){case"getBlockNumber":return a(i+="/api?module=proxy&action=eth_blockNumber"+o);case"getGasPrice":return a(i+="/api?module=proxy&action=eth_gasPrice"+o);case"getBalance":return i+="/api?module=account&action=balance&address="+t.address,a(i+="&tag="+t.blockTag+o,h);case"getTransactionCount":return i+="/api?module=proxy&action=eth_getTransactionCount&address="+t.address,a(i+="&tag="+t.blockTag+o);case"getCode":return i+="/api?module=proxy&action=eth_getCode&address="+t.address,a(i+="&tag="+t.blockTag+o,d);case"getStorageAt":return i+="/api?module=proxy&action=eth_getStorageAt&address="+t.address,i+="&position="+t.position,a(i+="&tag="+t.blockTag+o,d);case"sendTransaction":return i+="/api?module=proxy&action=eth_sendRawTransaction&hex="+t.signedTransaction,a(i+=o).catch((function(e){throw e.responseText&&(0<=e.responseText.toLowerCase().indexOf("insufficient funds")&&l.throwError("insufficient funds",l.INSUFFICIENT_FUNDS,{}),0<=e.responseText.indexOf("same hash was already imported")&&l.throwError("nonce has already been used",l.NONCE_EXPIRED,{}),0<=e.responseText.indexOf("another transaction with same nonce")&&l.throwError("replacement fee too low",l.REPLACEMENT_UNDERPRICED,{})),e}));case"getBlock":return t.blockTag?(i+="/api?module=proxy&action=eth_getBlockByNumber&tag="+t.blockTag,t.includeTransactions?i+="&boolean=true":i+="&boolean=false",a(i+=o)):Promise.reject(new Error("getBlock by blockHash not implemeneted"));case"getTransaction":return i+="/api?module=proxy&action=eth_getTransactionByHash&txhash="+t.transactionHash,a(i+=o);case"getTransactionReceipt":return i+="/api?module=proxy&action=eth_getTransactionReceipt&txhash="+t.transactionHash,a(i+=o);case"call":return i+="/api?module=proxy&action=eth_call"+(r=(r=f(t.transaction))&&"&"+r),"latest"!==t.blockTag?Promise.reject(new Error("EtherscanProvider does not support blockTag for call")):a(i+=o);case"estimateGas":return i+="/api?module=proxy&action=eth_estimateGas&"+(r=(r=f(t.transaction))&&"&"+r),a(i+=o);case"getLogs":i+="/api?module=logs&action=getLogs";try{if(t.filter.fromBlock&&(i+="&fromBlock="+p(t.filter.fromBlock)),t.filter.toBlock&&(i+="&toBlock="+p(t.filter.toBlock)),t.filter.blockHash)try{l.throwError("Etherscan does not support blockHash filters",l.UNSUPPORTED_OPERATION,{operation:"getLogs(blockHash)"})}catch(e){return Promise.reject(e)}if(t.filter.address&&(i+="&address="+t.filter.address),t.filter.topics&&0<t.filter.topics.length){if(1<t.filter.topics.length)throw new Error("unsupported topic format");var s=t.filter.topics[0];if("string"!=typeof s||66!==s.length)throw new Error("unsupported topic0 format");i+="&topic0="+s}}catch(e){return Promise.reject(e)}var u=this;return a(i+=o,h).then((function(e){var t={},r=Promise.resolve();return e.forEach((function(e){r=r.then((function(){return null!=e.blockHash?null:(e.blockHash=t[e.transactionHash],null==e.blockHash?u.getTransaction(e.transactionHash).then((function(r){return t[e.transactionHash]=r.blockHash,e.blockHash=r.blockHash,null})):null)}))})),r.then((function(){return e}))}));case"getEtherPrice":return"homestead"!==this.network.name?Promise.resolve(0):(i+="/api?module=stats&action=ethprice",a(i+=o,h).then((function(e){return parseFloat(e.ethusd)})))}return m.prototype.perform.call(this,e,t)},y.prototype.getHistory=function(e,t,r){var n=this,i=this.baseUrl,o="";return this.apiKey&&(o+="&apikey="+this.apiKey),null==t&&(t=0),null==r&&(r=99999999),this.resolveName(e).then((function(e){return i+="/api?module=account&action=txlist&address="+e,i+="&startblock="+t,i+="&endblock="+r,i+="&sort=asc"+o,c.fetchJson(i,null,h).then((function(e){n.emit("debug",{action:"getHistory",request:i,response:e,provider:n});var t=[];return e.forEach((function(e){["contractAddress","to"].forEach((function(t){""==e[t]&&delete e[t]})),null==e.creates&&null!=e.contractAddress&&(e.creates=e.contractAddress);var r=a.BaseProvider.checkTransactionResponse(e);e.timeStamp&&(r.timestamp=parseInt(e.timeStamp)),t.push(r)})),t}))}))},y);function y(e,t){var r=m.call(this,e)||this;l.checkNew(r,y);var n="invalid";r.network&&(n=r.network.name);var i=null;switch(n){case"homestead":i="https://api.etherscan.io";break;case"ropsten":i="https://api-ropsten.etherscan.io";break;case"rinkeby":i="https://api-rinkeby.etherscan.io";break;case"kovan":i="https://api-kovan.etherscan.io";break;case"goerli":i="https://api-goerli.etherscan.io";break;default:throw new Error("unsupported network")}return u.defineReadOnly(r,"baseUrl",i),u.defineReadOnly(r,"apiKey",t||"8FG3JMZ9USS4NTA6YKEKHINU56SEPPVBJR"),r}r.EtherscanProvider=g},{"../errors":5,"../utils/bytes":64,"../utils/properties":74,"../utils/web":86,"./base-provider":51}],53:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var a=e("./base-provider"),s=o(e("../errors"));function u(e){var t=!0,r=null;return e.forEach((function(n){null!=n?null!=r?r.name===n.name&&r.chainId===n.chainId&&(r.ensAddress===n.ensAddress||null==r.ensAddress&&null==n.ensAddress)||s.throwError("provider mismatch",s.INVALID_ARGUMENT,{arg:"networks",value:e}):r=n:t=!1})),t}var c,l=(i(f,c=a.BaseProvider),Object.defineProperty(f.prototype,"providers",{get:function(){return this._providers.slice(0)},enumerable:!0,configurable:!0}),f.prototype.perform=function(e,t){var r=this.providers;return new Promise((function(n,i){var o=null;!function a(){r.length?r.shift().perform(e,t).then((function(e){return n(e)})).catch((function(e){o=o||e,setTimeout(a,0)})):i(o)}()}))},f);function f(e){var t,r=this;if(0===e.length)throw new Error("no providers");return r=u(e.map((function(e){return e.network})))?c.call(this,e[0].network)||this:(t=Promise.all(e.map((function(e){return e.getNetwork()}))).then((function(e){return u(e)||s.throwError("getNetwork returned null",s.UNKNOWN_ERROR,{}),e[0]})),c.call(this,t)||this),s.checkNew(r,f),r._providers=e.slice(0),r}r.FallbackProvider=l},{"../errors":5,"./base-provider":51}],54:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./abstract-provider");r.Provider=n.Provider;var i=e("./base-provider");r.BaseProvider=i.BaseProvider;var o=e("./etherscan-provider");r.EtherscanProvider=o.EtherscanProvider;var a=e("./fallback-provider");r.FallbackProvider=a.FallbackProvider;var s=e("./ipc-provider");r.IpcProvider=s.IpcProvider;var u=e("./infura-provider");r.InfuraProvider=u.InfuraProvider;var c=e("./json-rpc-provider");r.JsonRpcProvider=c.JsonRpcProvider,r.JsonRpcSigner=c.JsonRpcSigner;var l=e("./web3-provider");r.Web3Provider=l.Web3Provider},{"./abstract-provider":50,"./base-provider":51,"./etherscan-provider":52,"./fallback-provider":53,"./infura-provider":55,"./ipc-provider":56,"./json-rpc-provider":57,"./web3-provider":58}],55:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var a,s=e("./json-rpc-provider"),u=e("../utils/bytes"),c=e("../utils/networks"),l=e("../utils/properties"),f=o(e("../errors")),h=(i(d,a=s.JsonRpcProvider),d.prototype._startPending=function(){f.warn("WARNING: INFURA does not support pending filters")},d.prototype.getSigner=function(e){return f.throwError("INFURA does not support signing",f.UNSUPPORTED_OPERATION,{operation:"getSigner"})},d.prototype.listAccounts=function(){return Promise.resolve([])},d);function d(e,t){var r=this,n=c.getNetwork(null==e?"homestead":e);null==t&&(t="7d0d81d0919f4f05b9ab6634be01ee73");var i=null;switch(n.name){case"homestead":i="mainnet.infura.io";break;case"ropsten":i="ropsten.infura.io";break;case"rinkeby":i="rinkeby.infura.io";break;case"goerli":i="goerli.infura.io";break;case"kovan":i="kovan.infura.io";break;default:f.throwError("unsupported network",f.INVALID_ARGUMENT,{argument:"network",value:e})}return u.isHexString("0x"+t,16)?(r=a.call(this,"https://"+i+"/v3/"+t,n)||this,l.defineReadOnly(r,"apiAccessToken",null),l.defineReadOnly(r,"projectId",t)):(f.warn("The legacy INFURA apiAccesToken API is deprecated; please upgrade to a Project ID instead (see INFURA dshboard; https://infura.io)"),r=a.call(this,"https://"+i+"/"+t,n)||this,l.defineReadOnly(r,"apiAccessToken",t),l.defineReadOnly(r,"projectId",null)),f.checkNew(r,d),r}r.InfuraProvider=h},{"../errors":5,"../utils/bytes":64,"../utils/networks":72,"../utils/properties":74,"./json-rpc-provider":57}],56:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0})},{}],57:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var a=e("./base-provider"),s=e("../abstract-signer"),u=o(e("../errors")),c=e("../utils/address"),l=e("../utils/bytes"),f=e("../utils/networks"),h=e("../utils/properties"),d=e("../utils/utf8"),p=e("../utils/web");function m(e){if(e.error){var t=new Error(e.error.message);throw t.code=e.error.code,t.data=e.error.data,t}return e.result}function g(e){return e?e.toLowerCase():e}var y,v={},b=42,w=(i(_,y=s.Signer),_.prototype.getAddress=function(){var e=this;return this._address?Promise.resolve(this._address):this.provider.send("eth_accounts",[]).then((function(t){return t.length<=e._index&&u.throwError("unknown account #"+e._index,u.UNSUPPORTED_OPERATION,{operation:"getAddress"}),e._address=c.getAddress(t[e._index]),e._address}))},_.prototype.getBalance=function(e){return this.provider.getBalance(this.getAddress(),e)},_.prototype.getTransactionCount=function(e){return this.provider.getTransactionCount(this.getAddress(),e)},_.prototype.sendUncheckedTransaction=function(e){var t=this;e=h.shallowCopy(e);var r,n=this.getAddress().then((function(e){return e&&e.toLowerCase()}));return null==e.gasLimit&&((r=h.shallowCopy(e)).from=n,e.gasLimit=this.provider.estimateGas(r)),Promise.all([h.resolveProperties(e),n]).then((function(e){var r=e[0],n=k.hexlifyTransaction(r);return n.from=e[1],t.provider.send("eth_sendTransaction",[n]).then((function(e){return e}),(function(e){throw e.responseText&&(0<=e.responseText.indexOf("insufficient funds")&&u.throwError("insufficient funds",u.INSUFFICIENT_FUNDS,{transaction:r}),0<=e.responseText.indexOf("nonce too low")&&u.throwError("nonce has already been used",u.NONCE_EXPIRED,{transaction:r}),0<=e.responseText.indexOf("replacement transaction underpriced")&&u.throwError("replacement fee too low",u.REPLACEMENT_UNDERPRICED,{transaction:r})),e}))}))},_.prototype.sendTransaction=function(e){var t=this;return this.sendUncheckedTransaction(e).then((function(e){return p.poll((function(){return t.provider.getTransaction(e).then((function(r){if(null!==r)return t.provider._wrapTransaction(r,e)}))}),{fastRetry:250,onceBlock:t.provider}).catch((function(t){throw t.transactionHash=e,t}))}))},_.prototype.signMessage=function(e){var t=this,r="string"==typeof e?d.toUtf8Bytes(e):e;return this.getAddress().then((function(e){return t.provider.send("eth_sign",[e.toLowerCase(),l.hexlify(r)])}))},_.prototype.unlock=function(e){var t=this.provider;return this.getAddress().then((function(r){return t.send("personal_unlockAccount",[r.toLowerCase(),e,null])}))},_);function _(e,t,r){var n=y.call(this)||this;if(u.checkNew(n,_),e!==v)throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner");return h.defineReadOnly(n,"provider",t),r?"string"==typeof r?h.defineReadOnly(n,"_address",c.getAddress(r)):"number"==typeof r?h.defineReadOnly(n,"_index",r):u.throwError("invalid address or index",u.INVALID_ARGUMENT,{argument:"addressOrIndex",value:r}):h.defineReadOnly(n,"_index",0),n}r.JsonRpcSigner=w;var A,E={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0},k=(i(x,A=a.BaseProvider),x.prototype.getSigner=function(e){return new w(v,this,e)},x.prototype.listAccounts=function(){return this.send("eth_accounts",[]).then((function(e){return e.map((function(e){return c.getAddress(e)}))}))},x.prototype.send=function(e,t){var r=this,n={method:e,params:t,id:b++,jsonrpc:"2.0"};return p.fetchJson(this.connection,JSON.stringify(n),m).then((function(e){return r.emit("debug",{action:"send",request:n,response:e,provider:r}),e}))},x.prototype.perform=function(e,t){switch(e){case"getBlockNumber":return this.send("eth_blockNumber",[]);case"getGasPrice":return this.send("eth_gasPrice",[]);case"getBalance":return this.send("eth_getBalance",[g(t.address),t.blockTag]);case"getTransactionCount":return this.send("eth_getTransactionCount",[g(t.address),t.blockTag]);case"getCode":return this.send("eth_getCode",[g(t.address),t.blockTag]);case"getStorageAt":return this.send("eth_getStorageAt",[g(t.address),t.position,t.blockTag]);case"sendTransaction":return this.send("eth_sendRawTransaction",[t.signedTransaction]).catch((function(e){throw e.responseText&&(0<e.responseText.indexOf("insufficient funds")&&u.throwError("insufficient funds",u.INSUFFICIENT_FUNDS,{}),0<e.responseText.indexOf("nonce too low")&&u.throwError("nonce has already been used",u.NONCE_EXPIRED,{}),0<e.responseText.indexOf("replacement transaction underpriced")&&u.throwError("replacement fee too low",u.REPLACEMENT_UNDERPRICED,{})),e}));case"getBlock":return t.blockTag?this.send("eth_getBlockByNumber",[t.blockTag,!!t.includeTransactions]):t.blockHash?this.send("eth_getBlockByHash",[t.blockHash,!!t.includeTransactions]):Promise.reject(new Error("invalid block tag or block hash"));case"getTransaction":return this.send("eth_getTransactionByHash",[t.transactionHash]);case"getTransactionReceipt":return this.send("eth_getTransactionReceipt",[t.transactionHash]);case"call":return this.send("eth_call",[x.hexlifyTransaction(t.transaction,{from:!0}),t.blockTag]);case"estimateGas":return this.send("eth_estimateGas",[x.hexlifyTransaction(t.transaction,{from:!0})]);case"getLogs":return t.filter&&null!=t.filter.address&&(t.filter.address=g(t.filter.address)),this.send("eth_getLogs",[t.filter])}return u.throwError(e+" not implemented",u.NOT_IMPLEMENTED,{operation:e}),null},x.prototype._startPending=function(){var e,t;null==this._pendingFilter&&(t=(e=this).send("eth_newPendingTransactionFilter",[]),(this._pendingFilter=t).then((function(r){return function n(){e.send("eth_getFilterChanges",[r]).then((function(r){if(e._pendingFilter!=t)return null;var n=Promise.resolve();return r.forEach((function(t){e._emitted["t:"+t.toLowerCase()]="pending",n=n.then((function(){return e.getTransaction(t).then((function(t){return e.emit("pending",t),null}))}))})),n.then((function(){return new Promise((function(e){setTimeout((function(){e()}),1e3)}))}))})).then((function(){return e._pendingFilter==t?(setTimeout((function(){n()}),0),null):void e.send("eth_uninstallFilter",[r])})).catch((function(e){}))}(),r})).catch((function(e){})))},x.prototype._stopPending=function(){this._pendingFilter=null},x.hexlifyTransaction=function(e,t){var r=h.shallowCopy(E);if(t)for(var n in t)t[n]&&(r[n]=!0);h.checkProperties(e,r);var i={};return["gasLimit","gasPrice","nonce","value"].forEach((function(t){var r;null!=e[t]&&(r=l.hexStripZeros(l.hexlify(e[t])),"gasLimit"===t&&(t="gas"),i[t]=r)})),["from","to","data"].forEach((function(t){null!=e[t]&&(i[t]=l.hexlify(e[t]))})),i},x);function x(e,t){var r,n=this;return"string"==typeof e&&null===t&&f.getNetwork(e)&&(t=e,e=null),n=t?A.call(this,t)||this:(r=new Promise((function(e,t){setTimeout((function(){n.send("net_version",[]).then((function(t){return e(f.getNetwork(parseInt(t)))})).catch((function(e){t(e)}))}))})),A.call(this,r)||this),u.checkNew(n,x),e=e||"http://localhost:8545",n.connection="string"==typeof e?{url:e}:e,n}r.JsonRpcProvider=k},{"../abstract-signer":2,"../errors":5,"../utils/address":60,"../utils/bytes":64,"../utils/networks":72,"../utils/properties":74,"../utils/utf8":85,"../utils/web":86,"./base-provider":51}],58:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var a,s=e("./json-rpc-provider"),u=e("../utils/properties"),c=o(e("../errors")),l=42,f=(i(h,a=s.JsonRpcProvider),h.prototype.send=function(e,t){var r=this;return"eth_sign"==e&&this._web3Provider.isMetaMask&&(e="personal_sign",t=[t[1],t[0]]),new Promise((function(n,i){var o={method:e,params:t,id:l++,jsonrpc:"2.0"};r._sendAsync(o,(function(e,t){if(e)i(e);else{if(t.error){var r=new Error(t.error.message);return r.code=t.error.code,r.data=t.error.data,void i(r)}n(t.result)}}))}))},h);function h(e,t){var r=a.call(this,e.host||e.path||"",t)||this;return c.checkNew(r,h),e&&(e.sendAsync?r._sendAsync=e.sendAsync.bind(e):e.send&&(r._sendAsync=e.send.bind(e))),e&&r._sendAsync||c.throwError("invalid web3Provider",c.INVALID_ARGUMENT,{arg:"web3Provider",value:e}),u.defineReadOnly(r,"_web3Provider",e),u.defineReadOnly(r,"provider",e),r}r.Web3Provider=f},{"../errors":5,"../utils/properties":74,"./json-rpc-provider":57}],59:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var a=e("../constants"),u=o(e("../errors")),c=e("./address"),l=e("./bignumber"),f=e("./bytes"),h=e("./utf8"),d=e("./properties"),p=new RegExp(/^bytes([0-9]*)$/),m=new RegExp(/^(u?int)([0-9]*)$/),g=new RegExp(/^(.*)\[([0-9]*)\]$/);r.defaultCoerceFunc=function(e,t){var r=e.match(m);return r&&parseInt(r[2])<=48?t.toNumber():t};var y=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$"),v=new RegExp("^[A-Za-z_][A-Za-z0-9_]*$");function b(e){return e.match(/^uint($|[^1-9])/)?e="uint256"+e.substring(4):e.match(/^int($|[^1-9])/)&&(e="int256"+e.substring(3)),e}function w(e,t){var r=e;function n(e){throw new Error('unexpected character "'+r[e]+'" at position '+e+' in "'+r+'"')}e=e.replace(/\s/g," ");for(var i={type:"",name:"",state:{allowType:!0}},o=i,a=0;a<e.length;a++){var s=e[a];switch(s){case"(":o.state.allowParams||n(a),o.state.allowType=!1,o.type=b(o.type),o.components=[{type:"",name:"",parent:o,state:{allowType:!0}}],o=o.components[0];break;case")":delete o.state,t&&"indexed"===o.name&&(o.indexed=!0,o.name=""),o.type=b(o.type);var u=o;(o=o.parent)||n(a),delete u.parent,o.state.allowParams=!1,o.state.allowName=!0,o.state.allowArray=!0;break;case",":delete o.state,t&&"indexed"===o.name&&(o.indexed=!0,o.name=""),o.type=b(o.type);var c={type:"",name:"",parent:o.parent,state:{allowType:!0}};o.parent.components.push(c),delete o.parent,o=c;break;case" ":o.state.allowType&&""!==o.type&&(o.type=b(o.type),delete o.state.allowType,o.state.allowName=!0,o.state.allowParams=!0),o.state.allowName&&""!==o.name&&(t&&"indexed"===o.name?(o.indexed=!0,o.name=""):o.state.allowName=!1);break;case"[":o.state.allowArray||n(a),o.type+=s,o.state.allowArray=!1,o.state.allowName=!1,o.state.readArray=!0;break;case"]":o.state.readArray||n(a),o.type+=s,o.state.readArray=!1,o.state.allowArray=!0,o.state.allowName=!0;break;default:o.state.allowType?(o.type+=s,o.state.allowParams=!0,o.state.allowArray=!0):o.state.allowName?(o.name+=s,delete o.state.allowArray):o.state.readArray?o.type+=s:n(a)}}if(o.parent)throw new Error("unexpected eof");return delete i.state,t&&"indexed"===o.name&&(o.indexed=!0,o.name=""),i.type=b(i.type),i}function _(e){return se(r.defaultCoerceFunc,e).type}function A(e,t,r,n,i){this.coerceFunc=e,this.name=t,this.type=r,this.localName=n,this.dynamic=i}r.parseParamType=function(e){return w(e,!0)},r.formatParamType=_,r.formatSignature=function(e){return e.name+"("+e.inputs.map(_).join(",")+")"},r.parseSignature=function(e){if("string"==typeof e)return"event "===(e=(e=(e=e.replace(/\s/g," ")).replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," ")).trim()).substring(0,6)?function(e){var t={anonymous:!1,inputs:[],name:"",type:"event"},r=e.match(y);if(!r)throw new Error("invalid event: "+e);if(t.name=r[1].trim(),oe(r[2]).forEach((function(e){(e=w(e,!0)).indexed=!!e.indexed,t.inputs.push(e)})),r[3].split(" ").forEach((function(e){switch(e){case"anonymous":t.anonymous=!0;break;case"":break;default:u.info("unknown modifier: "+e)}})),t.name&&!t.name.match(v))throw new Error('invalid identifier: "'+t.name+'"');return t}(e.substring(6).trim()):("function "===e.substring(0,9)&&(e=e.substring(9)),function(e){var t={constant:!1,gas:null,inputs:[],name:"",outputs:[],payable:!1,stateMutability:null,type:"function"},r=e.split("@");if(1!==r.length){if(2<r.length)throw new Error("invalid signature");if(!r[1].match(/^[0-9]+$/))throw new Error("invalid signature gas");t.gas=l.bigNumberify(r[1]),e=r[0]}var n=(r=e.split(" returns "))[0].match(y);if(!n)throw new Error("invalid signature");if(t.name=n[1].trim(),!t.name.match(v))throw new Error('invalid identifier: "'+n[1]+'"');if(oe(n[2]).forEach((function(e){t.inputs.push(w(e))})),n[3].split(" ").forEach((function(e){switch(e){case"constant":t.constant=!0;break;case"payable":t.payable=!0,t.stateMutability="payable";break;case"pure":t.constant=!0,t.stateMutability="pure";break;case"view":t.constant=!0,t.stateMutability="view";break;case"external":case"public":case"":break;default:u.info("unknown modifier: "+e)}})),1<r.length){var i=r[1].match(y);if(""!=i[1].trim()||""!=i[3].trim())throw new Error("unexpected tokens");oe(i[2]).forEach((function(e){t.outputs.push(w(e))}))}if("constructor"===t.name){if(t.type="constructor",t.outputs.length)throw new Error("constructor may not have outputs");delete t.name,delete t.outputs}return t}(e.trim()));throw new Error("unknown signature")};var E,k=(i(x,E=A),x.prototype.encode=function(e){return this.coder.encode(e)},x.prototype.decode=function(e,t){return this.coder.decode(e,t)},x);function x(e){var t=E.call(this,e.coerceFunc,e.name,e.type,void 0,e.dynamic)||this;return d.defineReadOnly(t,"coder",e),t}var S,M=(i(I,S=A),I.prototype.encode=function(e){return f.arrayify([])},I.prototype.decode=function(e,t){if(t>e.length)throw new Error("invalid null");return{consumed:0,value:this.coerceFunc("null",void 0)}},I);function I(e,t){return S.call(this,e,"null","",t,!1)||this}var P,T=(i(N,P=A),N.prototype.encode=function(e){try{var t=l.bigNumberify(e);if(this.signed){var r=a.MaxUint256.maskn(8*this.size-1);if(t.gt(r))throw new Error("out-of-bounds");if(r=r.add(a.One).mul(a.NegativeOne),t.lt(r))throw new Error("out-of-bounds")}else if(t.lt(a.Zero)||t.gt(a.MaxUint256.maskn(8*this.size)))throw new Error("out-of-bounds");return t=t.toTwos(8*this.size).maskn(8*this.size),this.signed&&(t=t.fromTwos(8*this.size).toTwos(256)),f.padZeros(f.arrayify(t),32)}catch(t){u.throwError("invalid number value",u.INVALID_ARGUMENT,{arg:this.localName,coderType:this.name,value:e})}return null},N.prototype.decode=function(e,t){e.length<t+32&&u.throwError("insufficient data for "+this.name+" type",u.INVALID_ARGUMENT,{arg:this.localName,coderType:this.name,value:f.hexlify(e.slice(t,t+32))});var r=32-this.size,n=l.bigNumberify(e.slice(t+r,t+32));return n=this.signed?n.fromTwos(8*this.size):n.maskn(8*this.size),{consumed:32,value:this.coerceFunc(this.name,n)}},N);function N(e,t,r,n){var i=this,o=(r?"int":"uint")+8*t;return(i=P.call(this,e,o,o,n,!1)||this).size=t,i.signed=r,i}var O,R=new T((function(e,t){return t}),32,!1,"none"),C=(i(j,O=A),j.prototype.encode=function(e){return R.encode(e?1:0)},j.prototype.decode=function(e,t){try{var r=R.decode(e,t)}catch(e){throw"insufficient data for uint256 type"===e.reason&&u.throwError("insufficient data for boolean type",u.INVALID_ARGUMENT,{arg:this.localName,coderType:"boolean",value:e.value}),e}return{consumed:r.consumed,value:this.coerceFunc("bool",!r.value.isZero())}},j);function j(e,t){return O.call(this,e,"bool","bool",t,!1)||this}var L,B=(i(U,L=A),U.prototype.encode=function(e){var t=new Uint8Array(32);try{var r=f.arrayify(e);if(r.length!==this.length)throw new Error("incorrect data length");t.set(r)}catch(t){u.throwError("invalid "+this.name+" value",u.INVALID_ARGUMENT,{arg:this.localName,coderType:this.name,value:t.value||e})}return t},U.prototype.decode=function(e,t){return e.length<t+32&&u.throwError("insufficient data for "+this.name+" type",u.INVALID_ARGUMENT,{arg:this.localName,coderType:this.name,value:f.hexlify(e.slice(t,t+32))}),{consumed:32,value:this.coerceFunc(this.name,f.hexlify(e.slice(t,t+this.length)))}},U);function U(e,t,r){var n=this,i="bytes"+t;return(n=L.call(this,e,i,i,r,!1)||this).length=t,n}var D,F=(i(z,D=A),z.prototype.encode=function(e){var t=new Uint8Array(32);try{t.set(f.arrayify(c.getAddress(e)),12)}catch(t){u.throwError("invalid address",u.INVALID_ARGUMENT,{arg:this.localName,coderType:"address",value:e})}return t},z.prototype.decode=function(e,t){return e.length<t+32&&u.throwError("insufficient data for address type",u.INVALID_ARGUMENT,{arg:this.localName,coderType:"address",value:f.hexlify(e.slice(t,t+32))}),{consumed:32,value:this.coerceFunc("address",c.getAddress(f.hexlify(e.slice(t+12,t+32))))}},z);function z(e,t){return D.call(this,e,"address","address",t,!1)||this}function H(e){var t=32*Math.ceil(e.length/32),r=new Uint8Array(t-e.length);return f.concat([R.encode(e.length),e,r])}function G(e,t,r){e.length<t+32&&u.throwError("insufficient data for dynamicBytes length",u.INVALID_ARGUMENT,{arg:r,coderType:"dynamicBytes",value:f.hexlify(e.slice(t,t+32))});var n=R.decode(e,t).value;try{n=n.toNumber()}catch(e){u.throwError("dynamic bytes count too large",u.INVALID_ARGUMENT,{arg:r,coderType:"dynamicBytes",value:n.toString()})}return e.length<t+32+n&&u.throwError("insufficient data for dynamicBytes type",u.INVALID_ARGUMENT,{arg:r,coderType:"dynamicBytes",value:f.hexlify(e.slice(t,t+32+n))}),{consumed:32+32*Math.ceil(n/32),value:e.slice(t+32,t+32+n)}}var q,V=(i(W,q=A),W.prototype.encode=function(e){try{return H(f.arrayify(e))}catch(e){u.throwError("invalid bytes value",u.INVALID_ARGUMENT,{arg:this.localName,coderType:"bytes",value:e.value})}return null},W.prototype.decode=function(e,t){var r=G(e,t,this.localName);return r.value=this.coerceFunc("bytes",f.hexlify(r.value)),r},W);function W(e,t){return q.call(this,e,"bytes","bytes",t,!0)||this}var K,Z=(i(Q,K=A),Q.prototype.encode=function(e){return"string"!=typeof e&&u.throwError("invalid string value",u.INVALID_ARGUMENT,{arg:this.localName,coderType:"string",value:e}),H(h.toUtf8Bytes(e))},Q.prototype.decode=function(e,t){var r=G(e,t,this.localName);return r.value=this.coerceFunc("string",h.toUtf8String(r.value)),r},Q);function Q(e,t){return K.call(this,e,"string","string",t,!0)||this}function J(e){return 32*Math.ceil(e/32)}function $(e,t){var r;Array.isArray(t)||(t&&"object"==s(t)?(r=[],e.forEach((function(e){r.push(t[e.localName])})),t=r):u.throwError("invalid tuple value",u.INVALID_ARGUMENT,{coderType:"tuple",value:t})),e.length!==t.length&&u.throwError("types/value length mismatch",u.INVALID_ARGUMENT,{coderType:"tuple",value:t});var n=[];e.forEach((function(e,r){n.push({dynamic:e.dynamic,value:e.encode(t[r])})}));var i=0,o=0;n.forEach((function(e){e.dynamic?(i+=32,o+=J(e.value.length)):i+=J(e.value.length)}));var a=0,c=i,l=new Uint8Array(i+o);return n.forEach((function(e){e.dynamic?(l.set(R.encode(c),a),a+=32,l.set(e.value,c),c+=J(e.value.length)):(l.set(e.value,a),a+=J(e.value.length))})),l}function Y(e,t,r){var n=r,i=0,o=[];return e.forEach((function(e){var a,s;e.dynamic?(a=R.decode(t,r),(s=e.decode(t,n+a.value.toNumber())).consumed=a.consumed):s=e.decode(t,r),null!=s.value&&o.push(s.value),r+=s.consumed,i+=s.consumed})),e.forEach((function(e,t){var r=e.localName;r&&("length"===r&&(r="_length"),null==o[r]&&(o[r]=o[t]))})),{value:o,consumed:i}}var X,ee=(i(te,X=A),te.prototype.encode=function(e){Array.isArray(e)||u.throwError("expected array value",u.INVALID_ARGUMENT,{arg:this.localName,coderType:"array",value:e});var t=this.length,r=new Uint8Array(0);-1===t&&(t=e.length,r=R.encode(t)),u.checkArgumentCount(t,e.length," in coder array"+(this.localName?" "+this.localName:""));for(var n=[],i=0;i<e.length;i++)n.push(this.coder);return f.concat([r,$(n,e)])},te.prototype.decode=function(e,t){var r=0,n=this.length;if(-1===n){try{var i=R.decode(e,t)}catch(e){u.throwError("insufficient data for dynamic array length",u.INVALID_ARGUMENT,{arg:this.localName,coderType:"array",value:e.value})}try{n=i.value.toNumber()}catch(e){u.throwError("array count too large",u.INVALID_ARGUMENT,{arg:this.localName,coderType:"array",value:i.value.toString()})}r+=i.consumed,t+=i.consumed}for(var o=[],a=0;a<n;a++)o.push(new k(this.coder));var s=Y(o,e,t);return s.consumed+=r,s.value=this.coerceFunc(this.type,s.value),s},te);function te(e,t,r,n){var i=this,o=t.type+"["+(0<=r?r:"")+"]",a=-1===r||t.dynamic;return(i=X.call(this,e,"array",o,n,a)||this).coder=t,i.length=r,i}var re,ne=(i(ie,re=A),ie.prototype.encode=function(e){return $(this.coders,e)},ie.prototype.decode=function(e,t){var r=Y(this.coders,e,t);return r.value=this.coerceFunc(this.type,r.value),r},ie);function ie(e,t,r){var n=this,i=!1,o=[];t.forEach((function(e){e.dynamic&&(i=!0),o.push(e.type)}));var a="tuple("+o.join(",")+")";return(n=re.call(this,e,"tuple",a,r,i)||this).coders=t,n}function oe(e){e=e.trim();for(var t=[],r="",n=0,i=0;i<e.length;i++){var o=e[i];if(","===o&&0===n)t.push(r),r="";else if(r+=o,"("===o)n++;else if(")"===o&&-1==--n)throw new Error("unbalanced parenthsis")}return r&&t.push(r),t}var ae={address:F,bool:C,string:Z,bytes:V};function se(e,t){var r=ae[t.type];if(r)return new r(e,t.name);var n,i,o,a,s=t.type.match(m);if(s)return(0===(c=parseInt(s[2]||"256"))||256<c||c%8!=0)&&u.throwError("invalid "+s[1]+" bit length",u.INVALID_ARGUMENT,{arg:"param",value:t}),new T(e,c/8,"int"===s[1],t.name);if(s=t.type.match(p))return(0===(c=parseInt(s[1]))||32<c)&&u.throwError("invalid bytes length",u.INVALID_ARGUMENT,{arg:"param",value:t}),new B(e,c,t.name);if(s=t.type.match(g)){var c=parseInt(s[2]||"-1");return(t=d.shallowCopy(t)).type=s[1],t=d.deepCopy(t),new ee(e,se(e,t),c,t.name)}return"tuple"===t.type.substring(0,5)?(n=e,i=t.components,o=t.name,a=[],(i=i||[]).forEach((function(e){a.push(se(n,e))})),new ne(n,a,o)):""===t.type?new M(e,t.name):(u.throwError("invalid type",u.INVALID_ARGUMENT,{arg:"type",value:t.type}),null)}var ue=(ce.prototype.encode=function(e,t){e.length!==t.length&&u.throwError("types/values length mismatch",u.INVALID_ARGUMENT,{count:{types:e.length,values:t.length},value:{types:e,values:t}});var r=[];return e.forEach((function(e){var t="string"==typeof e?w(e):e;r.push(se(this.coerceFunc,t))}),this),f.hexlify(new ne(this.coerceFunc,r,"_").encode(t))},ce.prototype.decode=function(e,t){var r=[];return e.forEach((function(e){var t="string"==typeof e?w(e):d.deepCopy(e);r.push(se(this.coerceFunc,t))}),this),new ne(this.coerceFunc,r,"_").decode(f.arrayify(t),0).value},ce);function ce(e){u.checkNew(this,ce),e=e||r.defaultCoerceFunc,d.defineReadOnly(this,"coerceFunc",e)}r.AbiCoder=ue,r.defaultAbiCoder=new ue},{"../constants":3,"../errors":5,"./address":60,"./bignumber":63,"./bytes":64,"./properties":74,"./utf8":85}],60:[function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("bn.js")),o=e("./bytes"),a=e("./keccak256"),s=e("./rlp"),u=e("../errors");function c(e){"string"==typeof e&&e.match(/^0x[0-9A-Fa-f]{40}$/)||u.throwError("invalid address",u.INVALID_ARGUMENT,{arg:"address",value:e});for(var t=(e=e.toLowerCase()).substring(2).split(""),r=new Uint8Array(40),n=0;n<40;n++)r[n]=t[n].charCodeAt(0);r=o.arrayify(a.keccak256(r));for(var i=0;i<40;i+=2)8<=r[i>>1]>>4&&(t[i]=t[i].toUpperCase()),8<=(15&r[i>>1])&&(t[i+1]=t[i+1].toUpperCase());return"0x"+t.join("")}for(var l={},f=0;f<10;f++)l[String(f)]=String(f);for(f=0;f<26;f++)l[String.fromCharCode(65+f)]=String(10+f);var h,d=Math.floor((h=9007199254740991,Math.log10?Math.log10(h):Math.log(h)/Math.LN10));function p(e){e=(e=e.toUpperCase()).substring(4)+e.substring(0,2)+"00";var t="";for(e.split("").forEach((function(e){t+=l[e]}));t.length>=d;){var r=t.substring(0,d);t=parseInt(r,10)%97+t.substring(r.length)}for(var n=String(98-parseInt(t,10)%97);n.length<2;)n="0"+n;return n}function m(e){var t=null;if("string"!=typeof e&&u.throwError("invalid address",u.INVALID_ARGUMENT,{arg:"address",value:e}),e.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==e.substring(0,2)&&(e="0x"+e),t=c(e),e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==e&&u.throwError("bad address checksum",u.INVALID_ARGUMENT,{arg:"address",value:e});else if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(e.substring(2,4)!==p(e)&&u.throwError("bad icap checksum",u.INVALID_ARGUMENT,{arg:"address",value:e}),t=new i.default.BN(e.substring(4),36).toString(16);t.length<40;)t="0"+t;t=c("0x"+t)}else u.throwError("invalid address",u.INVALID_ARGUMENT,{arg:"address",value:e});return t}r.getAddress=m,r.getIcapAddress=function(e){for(var t=new i.default.BN(m(e).substring(2),16).toString(36).toUpperCase();t.length<30;)t="0"+t;return"XE"+p("XE00"+t)+t},r.getContractAddress=function(e){if(!e.from)throw new Error("missing from address");var t=e.nonce;return m("0x"+a.keccak256(s.encode([m(e.from),o.stripZeros(o.hexlify(t))])).substring(26))},r.getCreate2Address=function(e){var t=e.initCodeHash;e.initCode&&(t?a.keccak256(e.initCode)!==t&&u.throwError("initCode/initCodeHash mismatch",u.INVALID_ARGUMENT,{arg:"options",value:e}):t=a.keccak256(e.initCode)),t||u.throwError("missing initCode or initCodeHash",u.INVALID_ARGUMENT,{arg:"options",value:e});var r=m(e.from),n=o.arrayify(e.salt);return 32!==n.length&&u.throwError("invalid salt",u.INVALID_ARGUMENT,{arg:"options",value:e}),m("0x"+a.keccak256(o.concat(["0xff",r,n,t])).substring(26))}},{"../errors":5,"./bytes":64,"./keccak256":71,"./rlp":76,"bn.js":9}],61:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("../utils/bytes");t.exports={decode:function(e){e=atob(e);for(var t=[],r=0;r<e.length;r++)t.push(e.charCodeAt(r));return n.arrayify(t)},encode:function(e){e=n.arrayify(e);for(var t="",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}}},{"../utils/bytes":64}],62:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./bytes"),i=e("./properties"),o=(a.prototype.encode=function(e){var t=n.arrayify(e);if(0===t.length)return"";for(var r=[0],i=0;i<t.length;++i){for(var o=t[i],a=0;a<r.length;++a)o+=r[a]<<8,r[a]=o%this.base,o=o/this.base|0;for(;0<o;)r.push(o%this.base),o=o/this.base|0}for(var s="",u=0;0===t[u]&&u<t.length-1;++u)s+=this._leader;for(var c=r.length-1;0<=c;--c)s+=this.alphabet[r[c]];return s},a.prototype.decode=function(e){if("string"!=typeof e)throw new TypeError("Expected String");var t=[];if(0===e.length)return new Uint8Array(t);t.push(0);for(var r=0;r<e.length;r++){var i=this._alphabetMap[e[r]];if(void 0===i)throw new Error("Non-base"+this.base+" character");for(var o=i,a=0;a<t.length;++a)o+=t[a]*this.base,t[a]=255&o,o>>=8;for(;0<o;)t.push(255&o),o>>=8}for(var s=0;e[s]===this._leader&&s<e.length-1;++s)t.push(0);return n.arrayify(new Uint8Array(t.reverse()))},a);function a(e){i.defineReadOnly(this,"alphabet",e),i.defineReadOnly(this,"base",e.length),i.defineReadOnly(this,"_alphabetMap",{}),i.defineReadOnly(this,"_leader",e.charAt(0));for(var t=0;t<e.length;t++)this._alphabetMap[e.charAt(t)]=t}var s=new(r.BaseX=o)("abcdefghijklmnopqrstuvwxyz234567");r.Base32=s;var u=new o("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");r.Base58=u},{"./bytes":64,"./properties":74}],63:[function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var o=n(e("bn.js")),a=e("./bytes"),s=e("./properties"),u=i(e("../errors")),c=new o.default.BN(-1);function l(e){var t=e.toString(16);return"-"===t[0]?t.length%2==0?"-0x0"+t.substring(1):"-0x"+t.substring(1):t.length%2==1?"0x0"+t:"0x"+t}function f(e){return d(g(e))}function h(e){return new p(l(e))}function d(e){var t=e._hex;return"-"===t[0]?new o.default.BN(t.substring(3),16).mul(c):new o.default.BN(t.substring(2),16)}var p=(m.prototype.fromTwos=function(e){return h(d(this).fromTwos(e))},m.prototype.toTwos=function(e){return h(d(this).toTwos(e))},m.prototype.abs=function(){return"-"===this._hex[0]?h(d(this).mul(c)):this},m.prototype.add=function(e){return h(d(this).add(f(e)))},m.prototype.sub=function(e){return h(d(this).sub(f(e)))},m.prototype.div=function(e){return g(e).isZero()&&u.throwError("division by zero",u.NUMERIC_FAULT,{operation:"divide",fault:"division by zero"}),h(d(this).div(f(e)))},m.prototype.mul=function(e){return h(d(this).mul(f(e)))},m.prototype.mod=function(e){return h(d(this).mod(f(e)))},m.prototype.pow=function(e){return h(d(this).pow(f(e)))},m.prototype.maskn=function(e){return h(d(this).maskn(e))},m.prototype.eq=function(e){return d(this).eq(f(e))},m.prototype.lt=function(e){return d(this).lt(f(e))},m.prototype.lte=function(e){return d(this).lte(f(e))},m.prototype.gt=function(e){return d(this).gt(f(e))},m.prototype.gte=function(e){return d(this).gte(f(e))},m.prototype.isZero=function(){return d(this).isZero()},m.prototype.toNumber=function(){try{return d(this).toNumber()}catch(e){u.throwError("overflow",u.NUMERIC_FAULT,{operation:"setValue",fault:"overflow",details:e.message})}return null},m.prototype.toString=function(){return d(this).toString(10)},m.prototype.toHexString=function(){return this._hex},m.isBigNumber=function(e){return s.isType(e,"BigNumber")},m);function m(e){if(u.checkNew(this,m),s.setType(this,"BigNumber"),"string"==typeof e)a.isHexString(e)?("0x"==e&&(e="0x0"),s.defineReadOnly(this,"_hex",e)):"-"===e[0]&&a.isHexString(e.substring(1))?s.defineReadOnly(this,"_hex",e):e.match(/^-?[0-9]*$/)?(""==e&&(e="0"),s.defineReadOnly(this,"_hex",l(new o.default.BN(e)))):u.throwError("invalid BigNumber string value",u.INVALID_ARGUMENT,{arg:"value",value:e});else if("number"==typeof e){parseInt(String(e))!==e&&u.throwError("underflow",u.NUMERIC_FAULT,{operation:"setValue",fault:"underflow",value:e,outputValue:parseInt(String(e))});try{s.defineReadOnly(this,"_hex",l(new o.default.BN(e)))}catch(e){u.throwError("overflow",u.NUMERIC_FAULT,{operation:"setValue",fault:"overflow",details:e.message})}}else e instanceof m?s.defineReadOnly(this,"_hex",e._hex):e.toHexString?s.defineReadOnly(this,"_hex",l(f(e.toHexString()))):e._hex&&a.isHexString(e._hex)?s.defineReadOnly(this,"_hex",e._hex):a.isArrayish(e)?s.defineReadOnly(this,"_hex",l(new o.default.BN(a.hexlify(e).substring(2),16))):u.throwError("invalid BigNumber value",u.INVALID_ARGUMENT,{arg:"value",value:e})}function g(e){return p.isBigNumber(e)?e:new p(e)}r.BigNumber=p,r.bigNumberify=g},{"../errors":5,"./bytes":64,"./properties":74,"bn.js":9}],64:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("../errors"));function o(e){return!!e.toHexString}function a(e){return e.slice||(e.slice=function(){var t=Array.prototype.slice.call(arguments);return a(new Uint8Array(Array.prototype.slice.apply(e,t)))}),e}function u(e){if(!e||parseInt(String(e.length))!=e.length||"string"==typeof e)return!1;for(var t=0;t<e.length;t++){var r=e[t];if(r<0||256<=r||parseInt(String(r))!=r)return!1}return!0}function c(e){if(null==e&&i.throwError("cannot convert null value to array",i.INVALID_ARGUMENT,{arg:"value",value:e}),o(e)&&(e=e.toHexString()),"string"!=typeof e)return u(e)?a(new Uint8Array(e)):(i.throwError("invalid arrayify value",null,{arg:"value",value:e,type:s(e)}),null);var t=e.match(/^(0x)?[0-9a-fA-F]*$/);t||i.throwError("invalid hexidecimal string",i.INVALID_ARGUMENT,{arg:"value",value:e}),"0x"!==t[1]&&i.throwError("hex string must have 0x prefix",i.INVALID_ARGUMENT,{arg:"value",value:e}),(e=e.substring(2)).length%2&&(e="0"+e);for(var r=[],n=0;n<e.length;n+=2)r.push(parseInt(e.substr(n,2),16));return a(new Uint8Array(r))}function l(e){for(var t=[],r=0,n=0;n<e.length;n++){var i=c(e[n]);t.push(i),r+=i.length}var o=new Uint8Array(r),s=0;for(n=0;n<t.length;n++)o.set(t[n],s),s+=t[n].length;return a(o)}function f(e,t){return!("string"!=typeof e||!e.match(/^0x[0-9A-Fa-f]*$/)||t&&e.length!==2+2*t)}r.isHexable=o,r.isArrayish=u,r.arrayify=c,r.concat=l,r.stripZeros=function(e){var t=c(e);if(0===t.length)return t;for(var r=0;0===t[r];)r++;return r&&(t=t.slice(r)),t},r.padZeros=function(e,t){if(t<(e=c(e)).length)throw new Error("cannot pad");var r=new Uint8Array(t);return r.set(e,t-e.length),a(r)},r.isHexString=f;var h="0123456789abcdef";function d(e){if(o(e))return e.toHexString();if("number"==typeof e){e<0&&i.throwError("cannot hexlify negative value",i.INVALID_ARGUMENT,{arg:"value",value:e}),9007199254740991<=e&&i.throwError("out-of-range",i.NUMERIC_FAULT,{operartion:"hexlify",fault:"out-of-safe-range"});for(var t="";e;)t=h[15&e]+t,e=Math.floor(e/16);return t.length?(t.length%2&&(t="0"+t),"0x"+t):"0x00"}if("string"==typeof e){var r=e.match(/^(0x)?[0-9a-fA-F]*$/);return r||i.throwError("invalid hexidecimal string",i.INVALID_ARGUMENT,{arg:"value",value:e}),"0x"!==r[1]&&i.throwError("hex string must have 0x prefix",i.INVALID_ARGUMENT,{arg:"value",value:e}),e.length%2&&(e="0x0"+e.substring(2)),e}if(u(e)){for(var n=[],a=0;a<e.length;a++){var s=e[a];n.push(h[(240&s)>>4]+h[15&s])}return"0x"+n.join("")}return i.throwError("invalid hexlify value",null,{arg:"value",value:e}),"never"}function p(e,t){for(f(e)||i.throwError("invalid hex string",i.INVALID_ARGUMENT,{arg:"value",value:e});e.length<2*t+2;)e="0x0"+e.substring(2);return e}function m(e){var t,r=0,n="0x",o="0x";if((t=e)&&null!=t.r&&null!=t.s){null==e.v&&null==e.recoveryParam&&i.throwError("at least on of recoveryParam or v must be specified",i.INVALID_ARGUMENT,{argument:"signature",value:e}),n=p(e.r,32),o=p(e.s,32),"string"==typeof(r=e.v)&&(r=parseInt(r,16));var a=e.recoveryParam;null==a&&null!=e.v&&(a=1-r%2),r=27+a}else{var s=c(e);if(65!==s.length)throw new Error("invalid signature");n=d(s.slice(0,32)),o=d(s.slice(32,64)),27!==(r=s[64])&&28!==r&&(r=27+r%2)}return{r:n,s:o,recoveryParam:r-27,v:r}}r.hexlify=d,r.hexDataLength=function(e){return f(e)&&e.length%2==0?(e.length-2)/2:null},r.hexDataSlice=function(e,t,r){return f(e)||i.throwError("invalid hex data",i.INVALID_ARGUMENT,{arg:"value",value:e}),e.length%2!=0&&i.throwError("hex data length must be even",i.INVALID_ARGUMENT,{arg:"value",value:e}),t=2+2*t,null!=r?"0x"+e.substring(t,2+2*r):"0x"+e.substring(t)},r.hexStripZeros=function(e){for(f(e)||i.throwError("invalid hex string",i.INVALID_ARGUMENT,{arg:"value",value:e});3<e.length&&"0x0"===e.substring(0,3);)e="0x"+e.substring(3);return e},r.hexZeroPad=p,r.splitSignature=m,r.joinSignature=function(e){return d(l([(e=m(e)).r,e.s,e.recoveryParam?"0x1c":"0x1b"]))}},{"../errors":5}],65:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("../errors")),o=e("./bytes"),a=e("./utf8"),s=e("./keccak256"),u=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),c=new RegExp("^((.*)\\.)?([^.]+)$"),l=new RegExp("^[a-z0-9.-]*$");r.namehash=function(e){"string"!=typeof e&&i.throwError("invalid address - "+String(e),i.INVALID_ARGUMENT,{argument:"name",value:e}),(e=e.toLowerCase()).match(l)||i.throwError("contains invalid UseSTD3ASCIIRules characters",i.INVALID_ARGUMENT,{argument:"name",value:e});for(var t=u;e.length;){var r=e.match(c),n=a.toUtf8Bytes(r[3]);t=s.keccak256(o.concat([t,s.keccak256(n)])),e=r[2]||""}return o.hexlify(t)},r.id=function(e){return s.keccak256(a.toUtf8Bytes(e))},r.hashMessage=function(e){return s.keccak256(o.concat([a.toUtf8Bytes("Ethereum Signed Message:\n"),a.toUtf8Bytes(String(e.length)),"string"==typeof e?a.toUtf8Bytes(e):e]))}},{"../errors":5,"./bytes":64,"./keccak256":71,"./utf8":85}],66:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("../errors")),o=e("../wordlists/lang-en"),a=e("./basex"),s=e("./bytes"),u=e("./bignumber"),c=e("./utf8"),l=e("./pbkdf2"),f=e("./hmac"),h=e("./properties"),d=e("./secp256k1"),p=e("./sha2"),m=u.bigNumberify("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),g=c.toUtf8Bytes("Bitcoin seed"),y=2147483648;function v(e){return(1<<e)-1<<8-e}function b(e){return s.hexZeroPad(s.hexlify(e),32)}function w(e){var t=s.hexDataSlice(p.sha256(p.sha256(e)),0,4);return a.Base58.encode(s.concat([e,t]))}var _={};r.defaultPath="m/44'/60'/0'/0/0";var A=(Object.defineProperty(E.prototype,"extendedKey",{get:function(){if(256<=this.depth)throw new Error("Depth too large!");return w(s.concat([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",s.hexlify(this.depth),this.parentFingerprint,s.hexZeroPad(s.hexlify(this.index),4),this.chainCode,null!=this.privateKey?s.concat(["0x00",this.privateKey]):this.publicKey]))},enumerable:!0,configurable:!0}),E.prototype.neuter=function(){return new E(_,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,null,this.path)},E.prototype._derive=function(e){if(4294967295<e)throw new Error("invalid index - "+String(e));var t=this.path;t&&(t+="/"+(e&~y));var r=new Uint8Array(37);if(e&y){if(!this.privateKey)throw new Error("cannot derive child of neutered node");r.set(s.arrayify(this.privateKey),1),t&&(t+="'")}else r.set(s.arrayify(this.publicKey));for(var n=24;0<=n;n-=8)r[33+(n>>3)]=e>>24-n&255;var i=f.computeHmac(f.SupportedAlgorithms.sha512,this.chainCode,r),o=i.slice(0,32),a=i.slice(32),c=null,l=null;return this.privateKey?c=b(u.bigNumberify(o).add(this.privateKey).mod(m)):l=new d.KeyPair(s.hexlify(o))._addPoint(this.publicKey),new E(_,c,l,this.fingerprint,b(a),e,this.depth+1,this.mnemonic,t)},E.prototype.derivePath=function(e){var t=e.split("/");if(0===t.length||"m"===t[0]&&0!==this.depth)throw new Error("invalid path - "+e);"m"===t[0]&&t.shift();for(var r=this,n=0;n<t.length;n++){var i=t[n];if(i.match(/^[0-9]+'$/)){var o=parseInt(i.substring(0,i.length-1));if(y<=o)throw new Error("invalid path index - "+i);r=r._derive(y+o)}else{if(!i.match(/^[0-9]+$/))throw new Error("invalid path component - "+i);if(o=parseInt(i),y<=o)throw new Error("invalid path index - "+i);r=r._derive(o)}}return r},E.isHDNode=function(e){return h.isType(e,"HDNode")},E);function E(e,t,r,n,o,a,u,c,l){if(i.checkNew(this,E),e!==_)throw new Error("HDNode constructor cannot be called directly");var f;t?(f=new d.KeyPair(t),h.defineReadOnly(this,"privateKey",f.privateKey),h.defineReadOnly(this,"publicKey",f.compressedPublicKey)):(h.defineReadOnly(this,"privateKey",null),h.defineReadOnly(this,"publicKey",s.hexlify(r))),h.defineReadOnly(this,"parentFingerprint",n),h.defineReadOnly(this,"fingerprint",s.hexDataSlice(p.ripemd160(p.sha256(this.publicKey)),0,4)),h.defineReadOnly(this,"address",d.computeAddress(this.publicKey)),h.defineReadOnly(this,"chainCode",o),h.defineReadOnly(this,"index",a),h.defineReadOnly(this,"depth",u),h.defineReadOnly(this,"mnemonic",c),h.defineReadOnly(this,"path",l),h.setType(this,"HDNode")}function k(e,t){var r=s.arrayify(e);if(r.length<16||64<r.length)throw new Error("invalid seed");var n=s.arrayify(f.computeHmac(f.SupportedAlgorithms.sha512,g,r));return new A(_,b(n.slice(0,32)),null,"0x00000000",b(n.slice(32)),0,0,t,"m")}function x(e,t){t=t||"";var r=c.toUtf8Bytes("mnemonic"+t,c.UnicodeNormalizationForm.NFKD);return s.hexlify(l.pbkdf2(c.toUtf8Bytes(e,c.UnicodeNormalizationForm.NFKD),r,2048,64,"sha512"))}function S(e,t){t=t||o.langEn,i.checkNormalize();var r=t.split(e);if(r.length%3!=0)throw new Error("invalid mnemonic");for(var n=s.arrayify(new Uint8Array(Math.ceil(11*r.length/8))),a=0,u=0;u<r.length;u++){var c=t.getWordIndex(r[u].normalize("NFKD"));if(-1===c)throw new Error("invalid mnemonic");for(var l=0;l<11;l++)c&1<<10-l&&(n[a>>3]|=1<<7-a%8),a++}var f=32*r.length/3,h=v(r.length/3),d=s.arrayify(p.sha256(n.slice(0,f/8)))[0];if((d&=h)!=(n[n.length-1]&h))throw new Error("invalid checksum");return s.hexlify(n.slice(0,f/8))}function M(e,t){if((e=s.arrayify(e)).length%4!=0||e.length<16||32<e.length)throw new Error("invalid entropy");for(var r=[0],n=11,i=0;i<e.length;i++)8<n?(r[r.length-1]<<=8,r[r.length-1]|=e[i],n-=8):(r[r.length-1]<<=n,r[r.length-1]|=e[i]>>8-n,r.push(e[i]&(1<<8-n)-1),n+=3);var a=s.arrayify(p.sha256(e))[0],u=e.length/4;return a&=v(u),r[r.length-1]<<=u,r[r.length-1]|=a>>8-u,(t=t||o.langEn).join(r.map((function(e){return t.getWord(e)})))}r.HDNode=A,r.fromExtendedKey=function(e){var t=a.Base58.decode(e);82===t.length&&w(t.slice(0,78))===e||i.throwError("invalid extended key",i.INVALID_ARGUMENT,{argument:"extendedKey",value:"[REDACTED]"});var r=t[4],n=s.hexlify(t.slice(5,9)),o=parseInt(s.hexlify(t.slice(9,13)).substring(2),16),u=s.hexlify(t.slice(13,45)),c=t.slice(45,78);switch(s.hexlify(t.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new A(_,null,s.hexlify(c),n,u,o,r,null,null);case"0x0488ade4":case"0x04358394":if(0!==c[0])break;return new A(_,s.hexlify(c.slice(1)),null,n,u,o,r,null,null)}return i.throwError("invalid extended key",i.INVALID_ARGUMENT,{argument:"extendedKey",value:"[REDACTED]"})},r.fromMnemonic=function(e,t,r){return k(x(e=M(S(e,t),t),r),e)},r.fromSeed=function(e){return k(e,null)},r.mnemonicToSeed=x,r.mnemonicToEntropy=S,r.entropyToMnemonic=M,r.isValidMnemonic=function(e,t){try{return S(e,t),!0}catch(e){}return!1}},{"../errors":5,"../wordlists/lang-en":90,"./basex":62,"./bignumber":63,"./bytes":64,"./hmac":67,"./pbkdf2":73,"./properties":74,"./secp256k1":77,"./sha2":79,"./utf8":85}],67:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i,o,a=n(e("hash.js")),s=e("../utils/bytes"),u=n(e("../errors"));(o=i=r.SupportedAlgorithms||(r.SupportedAlgorithms={})).sha256="sha256",o.sha512="sha512",r.computeHmac=function(e,t,r){return i[e]||u.throwError("unsupported algorithm "+e,u.UNSUPPORTED_OPERATION,{operation:"hmac",algorithm:e}),s.arrayify(a.hmac(a[e],s.arrayify(t)).update(s.arrayify(r)).digest())}},{"../errors":5,"../utils/bytes":64,"hash.js":26}],68:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("./abi-coder");r.AbiCoder=i.AbiCoder,r.defaultAbiCoder=i.defaultAbiCoder,r.formatSignature=i.formatSignature,r.formatParamType=i.formatParamType,r.parseSignature=i.parseSignature,r.parseParamType=i.parseParamType;var o=e("./address");r.getAddress=o.getAddress,r.getContractAddress=o.getContractAddress,r.getCreate2Address=o.getCreate2Address,r.getIcapAddress=o.getIcapAddress;var a=n(e("./base64"));r.base64=a;var s=e("./bignumber");r.BigNumber=s.BigNumber,r.bigNumberify=s.bigNumberify;var u=e("./bytes");r.arrayify=u.arrayify,r.concat=u.concat,r.hexDataSlice=u.hexDataSlice,r.hexDataLength=u.hexDataLength,r.hexlify=u.hexlify,r.hexStripZeros=u.hexStripZeros,r.hexZeroPad=u.hexZeroPad,r.isHexString=u.isHexString,r.joinSignature=u.joinSignature,r.padZeros=u.padZeros,r.splitSignature=u.splitSignature,r.stripZeros=u.stripZeros;var c=e("./hash");r.hashMessage=c.hashMessage,r.id=c.id,r.namehash=c.namehash;var l=n(e("./hdnode"));r.HDNode=l;var f=e("./interface");r.Interface=f.Interface;var h=e("./json-wallet");r.getJsonWalletAddress=h.getJsonWalletAddress;var d=e("./keccak256");r.keccak256=d.keccak256;var p=e("./sha2");r.sha256=p.sha256;var m=e("./solidity");r.solidityKeccak256=m.keccak256,r.solidityPack=m.pack,r.soliditySha256=m.sha256;var g=e("./random-bytes");r.randomBytes=g.randomBytes;var y=e("./networks");r.getNetwork=y.getNetwork;var v=e("./properties");r.checkProperties=v.checkProperties,r.deepCopy=v.deepCopy,r.defineReadOnly=v.defineReadOnly,r.resolveProperties=v.resolveProperties,r.shallowCopy=v.shallowCopy;var b=n(e("./rlp"));r.RLP=b;var w=e("./secp256k1");r.computeAddress=w.computeAddress,r.computePublicKey=w.computePublicKey,r.recoverAddress=w.recoverAddress,r.recoverPublicKey=w.recoverPublicKey,r.verifyMessage=w.verifyMessage;var _=e("./signing-key");r.SigningKey=_.SigningKey;var A=e("./transaction");r.populateTransaction=A.populateTransaction;var E=e("./transaction");r.parseTransaction=E.parse,r.serializeTransaction=E.serialize;var k=e("./utf8");r.formatBytes32String=k.formatBytes32String,r.parseBytes32String=k.parseBytes32String,r.toUtf8Bytes=k.toUtf8Bytes,r.toUtf8String=k.toUtf8String;var x=e("./units");r.commify=x.commify,r.formatEther=x.formatEther,r.parseEther=x.parseEther,r.formatUnits=x.formatUnits,r.parseUnits=x.parseUnits;var S=e("./web");r.fetchJson=S.fetchJson,r.poll=S.poll;var M=e("./hmac");r.SupportedAlgorithms=M.SupportedAlgorithms;var I=e("./utf8");r.UnicodeNormalizationForm=I.UnicodeNormalizationForm;var P=e("./wordlist");r.Wordlist=P.Wordlist},{"./abi-coder":59,"./address":60,"./base64":61,"./bignumber":63,"./bytes":64,"./hash":65,"./hdnode":66,"./hmac":67,"./interface":69,"./json-wallet":70,"./keccak256":71,"./networks":72,"./properties":74,"./random-bytes":75,"./rlp":76,"./secp256k1":77,"./sha2":79,"./signing-key":81,"./solidity":82,"./transaction":83,"./units":84,"./utf8":85,"./web":86,"./wordlist":87}],69:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};function a(e){for(var t in p.setType(this,"Description"),e)p.defineReadOnly(this,t,p.deepCopy(e[t],!0));Object.freeze(this)}Object.defineProperty(r,"__esModule",{value:!0});var s,u=e("./address"),c=e("./abi-coder"),l=e("./bignumber"),f=e("./bytes"),h=e("./hash"),d=e("./keccak256"),p=e("./properties"),m=o(e("../errors")),g=function(e){p.setType(this,"Indexed"),p.defineReadOnly(this,"hash",e)},y=(i(v,s=a),v.prototype.encode=function(e,t){f.isHexString(e)||m.throwError("invalid contract bytecode",m.INVALID_ARGUMENT,{arg:"bytecode",value:e}),m.checkArgumentCount(t.length,this.inputs.length," in Interface constructor");try{return e+c.defaultAbiCoder.encode(this.inputs,t).substring(2)}catch(e){m.throwError("invalid constructor argument",m.INVALID_ARGUMENT,{arg:e.arg,reason:e.reason,value:e.value})}return null},v);function v(){return null!==s&&s.apply(this,arguments)||this}var b,w=(i(_,b=a),_.prototype.encode=function(e){m.checkArgumentCount(e.length,this.inputs.length," in interface function "+this.name);try{return this.sighash+c.defaultAbiCoder.encode(this.inputs,e).substring(2)}catch(e){m.throwError("invalid input argument",m.INVALID_ARGUMENT,{arg:e.arg,reason:e.reason,value:e.value})}return null},_.prototype.decode=function(e){try{return c.defaultAbiCoder.decode(this.outputs,f.arrayify(e))}catch(t){m.throwError("invalid data for function output",m.INVALID_ARGUMENT,{arg:"data",errorArg:t.arg,errorValue:t.value,value:e,reason:t.reason})}},_);function _(){return null!==b&&b.apply(this,arguments)||this}var A,E=(i(k,A=a),k);function k(){return null!==A&&A.apply(this,arguments)||this}var x,S=(i(M,x=a),M.prototype.encodeTopics=function(e){var t=this;e.length>this.inputs.length&&m.throwError("too many arguments for "+this.name,m.UNEXPECTED_ARGUMENT,{maxCount:e.length,expectedCount:this.inputs.length});var r=[];for(this.anonymous||r.push(this.topic),e.forEach((function(e,n){var i=t.inputs[n];i.indexed?null==e?r.push(null):"string"===i.type?r.push(h.id(e)):"bytes"===i.type?r.push(d.keccak256(e)):-1!==i.type.indexOf("[")||"tuple"===i.type.substring(0,5)?m.throwError("filtering with tuples or arrays not implemented yet; bug us on GitHub",m.NOT_IMPLEMENTED,{operation:"filter(array|tuple)"}):("address"===i.type&&u.getAddress(e),r.push(f.hexZeroPad(f.hexlify(e),32).toLowerCase())):null!=e&&m.throwError("cannot filter non-indexed parameters; must be null",m.INVALID_ARGUMENT,{argument:i.name||n,value:e})}));r.length&&null===r[r.length-1];)r.pop();return r},M.prototype.decode=function(e,t){null==t||this.anonymous||(t=t.slice(1));var r,n=[],i=[],o=[];this.inputs.forEach((function(e,t){e.indexed?"string"===e.type||"bytes"===e.type||0<=e.type.indexOf("[")||"tuple"===e.type.substring(0,5)?(n.push({type:"bytes32",name:e.name||""}),o.push(!0)):(n.push(e),o.push(!1)):(i.push(e),o.push(!1))})),null!=t&&(r=c.defaultAbiCoder.decode(n,f.concat(t)));var a=c.defaultAbiCoder.decode(i,f.arrayify(e)),s={},u=0,l=0;return this.inputs.forEach((function(e,n){e.indexed?null==t?s[n]=new g(null):o[n]?s[n]=new g(r[l++]):s[n]=r[l++]:s[n]=a[u++],e.name&&(s[e.name]=s[n])})),s.length=this.inputs.length,new E(s)},M);function M(){return null!==x&&x.apply(this,arguments)||this}var I,P=(i(T,I=a),T);function T(){return null!==I&&I.apply(this,arguments)||this}var N,O=(i(R,N=a),R);function R(){return null!==N&&N.apply(this,arguments)||this}function C(e){switch(e.type){case"constructor":var t=new y({inputs:e.inputs,payable:null==e.payable||!!e.payable});this.deployFunction||(this.deployFunction=t);break;case"function":var r=c.formatSignature(e).replace(/tuple/g,""),n=h.id(r).substring(0,10),i=!1;null!=e.constant?i=e.constant:null!=e.stateMutability&&(i="view"==e.stateMutability||"pure"==e.stateMutability),t=new w({inputs:e.inputs,outputs:e.outputs,gas:e.gas,payable:null==e.payable||!!e.payable,type:i?"call":"transaction",name:e.name,signature:r,sighash:n}),e.name&&(null==this.functions[e.name]?p.defineReadOnly(this.functions,e.name,t):m.warn("WARNING: Multiple definitions for "+e.name)),null==this.functions[t.signature]&&p.defineReadOnly(this.functions,t.signature,t);break;case"event":r=c.formatSignature(e).replace(/tuple/g,""),t=new S({name:e.name,signature:r,inputs:e.inputs,topic:h.id(r),anonymous:!!e.anonymous}),e.name&&null==this.events[e.name]&&p.defineReadOnly(this.events,e.name,t),null==this.events[t.signature]&&p.defineReadOnly(this.events,t.signature,t);break;case"receive":case"fallback":break;default:m.warn("WARNING: unsupported ABI type - "+e.type)}}var j=(L.prototype.parseTransaction=function(e){var t=e.data.substring(0,10).toLowerCase();for(var r in this.functions)if(-1!==r.indexOf("(")){var n=this.functions[r];if(n.sighash===t){var i=c.defaultAbiCoder.decode(n.inputs,"0x"+e.data.substring(10));return new P({args:i,decode:n.decode,name:n.name,signature:n.signature,sighash:n.sighash,value:l.bigNumberify(e.value||"0")})}}return null},L.prototype.parseLog=function(e){for(var t in this.events)if(-1!==t.indexOf("(")){var r=this.events[t];if(!r.anonymous&&r.topic===e.topics[0])return new O({decode:r.decode,name:r.name,signature:r.signature,topic:r.topic,values:r.decode(e.data,e.topics)})}return null},L.isInterface=function(e){return p.isType(e,"Interface")},L.isIndexed=function(e){return p.isType(e,"Indexed")},L);function L(e){if(m.checkNew(this,L),"string"==typeof e){try{e=JSON.parse(e)}catch(t){m.throwError("could not parse ABI JSON",m.INVALID_ARGUMENT,{arg:"abi",errorMessage:t.message,value:e})}if(!Array.isArray(e))return m.throwError("invalid abi",m.INVALID_ARGUMENT,{arg:"abi",value:e}),null}p.defineReadOnly(this,"functions",{}),p.defineReadOnly(this,"events",{});var t=[];e.forEach((function(e){"string"==typeof e&&(e=c.parseSignature(e)),t.push(e)})),p.defineReadOnly(this,"abi",p.deepCopy(t,!0)),t.forEach(C,this),this.deployFunction||C.call(this,{type:"constructor",inputs:[]}),p.setType(this,"Interface")}r.Interface=j},{"../errors":5,"./abi-coder":59,"./address":60,"./bignumber":63,"./bytes":64,"./hash":65,"./keccak256":71,"./properties":74}],70:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./address");function i(e){try{var t=JSON.parse(e)}catch(e){return!1}return t.encseed&&t.ethaddr}function o(e){try{var t=JSON.parse(e)}catch(e){return!1}return!(!t.version||parseInt(t.version)!==t.version||3!==parseInt(t.version))}r.isCrowdsaleWallet=i,r.isSecretStorageWallet=o,r.getJsonWalletAddress=function(e){if(i(e))try{return n.getAddress(JSON.parse(e).ethaddr)}catch(e){return null}if(o(e))try{return n.getAddress(JSON.parse(e).address)}catch(e){return null}return null}},{"./address":60}],71:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("js-sha3"),i=e("./bytes");r.keccak256=function(e){return"0x"+n.keccak_256(i.arrayify(e))}},{"./bytes":64,"js-sha3":40}],72:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("../errors"));function o(e){return function(t){var r=[];return t.InfuraProvider&&r.push(new t.InfuraProvider(e)),t.EtherscanProvider&&r.push(new t.EtherscanProvider(e)),0===r.length?null:t.FallbackProvider?new t.FallbackProvider(r):r[0]}}function a(e,t){return function(r){return r.JsonRpcProvider?new r.JsonRpcProvider(e,t):null}}var s={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:o("homestead")},u={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:o("ropsten")},c={unspecified:{chainId:0,name:"unspecified"},homestead:s,mainnet:s,morden:{chainId:2,name:"morden"},ropsten:u,testnet:u,rinkeby:{chainId:4,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"rinkeby",_defaultProvider:o("rinkeby")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:o("goerli")},kovan:{chainId:42,name:"kovan",_defaultProvider:o("kovan")},classic:{chainId:61,name:"classic",_defaultProvider:a("https://web3.gastracker.io","classic")},classicTestnet:{chainId:62,name:"classicTestnet",_defaultProvider:a("https://web3.gastracker.io/morden","classicTestnet")}};r.getNetwork=function(e){if(null==e)return null;if("number"==typeof e){for(var t in c){var r=c[t];if(r.chainId===e)return{name:r.name,chainId:r.chainId,ensAddress:r.ensAddress||null,_defaultProvider:r._defaultProvider||null}}return{chainId:e,name:"unknown"}}if("string"==typeof e){var n=c[e];return null==n?null:{name:n.name,chainId:n.chainId,ensAddress:n.ensAddress,_defaultProvider:n._defaultProvider||null}}var o=c[e.name];return o?(0!==e.chainId&&e.chainId!==o.chainId&&i.throwError("network chainId mismatch",i.INVALID_ARGUMENT,{arg:"network",value:e}),{name:e.name,chainId:o.chainId,ensAddress:e.ensAddress||o.ensAddress||null,_defaultProvider:e._defaultProvider||o._defaultProvider||null}):("number"!=typeof e.chainId&&i.throwError("invalid network chainId",i.INVALID_ARGUMENT,{arg:"network",value:e}),e)}},{"../errors":5}],73:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("../utils/bytes"),i=e("./hmac");r.pbkdf2=function(e,t,r,o,a){var s;e=n.arrayify(e),t=n.arrayify(t);var u,c,l=1,f=new Uint8Array(o),h=new Uint8Array(t.length+4);h.set(t);for(var d=1;d<=l;d++){h[t.length]=d>>24&255,h[t.length+1]=d>>16&255,h[t.length+2]=d>>8&255,h[t.length+3]=255&d;var p=i.computeHmac(a,e,h);s||(s=p.length,c=new Uint8Array(s),u=o-((l=Math.ceil(o/s))-1)*s),c.set(p);for(var m=1;m<r;m++){p=i.computeHmac(a,e,p);for(var g=0;g<s;g++)c[g]^=p[g]}var y=(d-1)*s,v=d===l?u:s;f.set(n.arrayify(c).slice(0,v),y)}return n.arrayify(f)}},{"../utils/bytes":64,"./hmac":67}],74:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("../errors"));function o(e,t,r){Object.defineProperty(e,t,{enumerable:!0,value:r,writable:!1})}function a(e,t){return e&&e._ethersType===t}r.defineReadOnly=o,r.setType=function(e,t){Object.defineProperty(e,"_ethersType",{configurable:!1,value:t,writable:!1})},r.isType=a,r.resolveProperties=function(e){var t={},r=[];return Object.keys(e).forEach((function(n){var i=e[n];i instanceof Promise?r.push(i.then((function(e){return t[n]=e,null}))):t[n]=i})),Promise.all(r).then((function(){return t}))},r.checkProperties=function(e,t){e&&"object"==s(e)||i.throwError("invalid object",i.INVALID_ARGUMENT,{argument:"object",value:e}),Object.keys(e).forEach((function(r){t[r]||i.throwError("invalid object key - "+r,i.INVALID_ARGUMENT,{argument:"transaction",value:e,key:r})}))},r.shallowCopy=function(e){var t={};for(var r in e)t[r]=e[r];return t};var u={boolean:!0,number:!0,string:!0};r.deepCopy=function e(t,r){if(null==t||u[s(t)])return t;if(Array.isArray(t)){var n=t.map((function(t){return e(t,r)}));return r&&Object.freeze(n),n}if("object"==s(t)){if(a(t,"BigNumber"))return t;if(a(t,"Description"))return t;if(a(t,"Indexed"))return t;for(var i in n={},t){var c=t[i];void 0!==c&&o(n,i,e(c,r))}return r&&Object.freeze(n),n}if("function"==typeof t)return t;throw new Error("Cannot deepCopy "+s(t))},r.inheritable=function e(t){return function(r){var n,i;i=t,(n=r).super_=i,n.prototype=Object.create(i.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),o(r,"inherits",e(r))}}},{"../errors":5}],75:[function(e,t,n){(function(t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=e("../utils/bytes"),i=e("../utils/properties"),o=t.crypto||t.msCrypto;function a(e){if(e<=0||1024<e||parseInt(String(e))!=e)throw new Error("invalid length");var t=new Uint8Array(e);return o.getRandomValues(t),r.arrayify(t)}o&&o.getRandomValues||(console.log("WARNING: Missing strong random number source; using weak randomBytes"),o={getRandomValues:function(e){for(var t=0;t<20;t++)for(var r=0;r<e.length;r++)t?e[r]^=Math.trunc(256*Math.random()):e[r]=Math.trunc(256*Math.random());return e},_weakCrypto:!0}),n.randomBytes=a,!0===o._weakCrypto&&i.defineReadOnly(a,"_weakCrypto",!0)}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../utils/bytes":64,"../utils/properties":74}],76:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./bytes");function i(e){for(var t=[];e;)t.unshift(255&e),e>>=8;return t}function o(e,t,r){for(var n=0,i=0;i<r;i++)n=256*n+e[t+i];return n}function a(e,t,r,n){for(var i=[];r<t+1+n;){var o=s(e,r);if(i.push(o.result),t+1+n<(r+=o.consumed))throw new Error("invalid rlp")}return{consumed:1+n,result:i}}function s(e,t){if(0===e.length)throw new Error("invalid rlp data");if(248<=e[t]){if(t+1+(r=e[t]-247)>e.length)throw new Error("too short");if(t+1+r+(i=o(e,t+1,r))>e.length)throw new Error("to short");return a(e,t,t+1+r,r+i)}if(192<=e[t]){if(t+1+(i=e[t]-192)>e.length)throw new Error("invalid rlp data");return a(e,t,t+1,i)}if(184<=e[t]){var r;if(t+1+(r=e[t]-183)>e.length)throw new Error("invalid rlp data");if(t+1+r+(i=o(e,t+1,r))>e.length)throw new Error("invalid rlp data");return{consumed:1+r+i,result:n.hexlify(e.slice(t+1+r,t+1+r+i))}}if(128<=e[t]){var i;if(t+1+(i=e[t]-128)>e.length)throw new Error("invalid rlp data");return{consumed:1+i,result:n.hexlify(e.slice(t+1,t+1+i))}}return{consumed:1,result:n.hexlify(e[t])}}r.encode=function(e){return n.hexlify(function e(t){if(Array.isArray(t)){var r=[];return t.forEach((function(t){r=r.concat(e(t))})),r.length<=55?(r.unshift(192+r.length),r):((o=i(r.length)).unshift(247+o.length),o.concat(r))}var o,a=Array.prototype.slice.call(n.arrayify(t));return 1===a.length&&a[0]<=127?a:a.length<=55?(a.unshift(128+a.length),a):((o=i(a.length)).unshift(183+o.length),o.concat(a))}(e))},r.decode=function(e){var t=n.arrayify(e),r=s(t,0);if(r.consumed!==t.length)throw new Error("invalid rlp data");return r.result}},{"./bytes":64}],77:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("elliptic"),o=e("./address"),a=e("./bytes"),s=e("./hash"),u=e("./keccak256"),c=e("./properties"),l=n(e("../errors")),f=null;function h(){return f=f||new i.ec("secp256k1")}var d=(p.prototype.sign=function(e){var t=h().keyFromPrivate(a.arrayify(this.privateKey)).sign(a.arrayify(e),{canonical:!0});return{recoveryParam:t.recoveryParam,r:a.hexZeroPad("0x"+t.r.toString(16),32),s:a.hexZeroPad("0x"+t.s.toString(16),32),v:27+t.recoveryParam}},p.prototype.computeSharedSecret=function(e){var t=h().keyFromPrivate(a.arrayify(this.privateKey)),r=h().keyFromPublic(a.arrayify(m(e)));return a.hexZeroPad("0x"+t.derive(r.getPublic()).toString(16),32)},p.prototype._addPoint=function(e){var t=h().keyFromPublic(a.arrayify(this.publicKey)),r=h().keyFromPublic(a.arrayify(e));return"0x"+t.pub.add(r.pub).encodeCompressed("hex")},p);function p(e){var t=h().keyFromPrivate(a.arrayify(e));c.defineReadOnly(this,"privateKey",a.hexlify(t.priv.toArray("be",32))),c.defineReadOnly(this,"publicKey","0x"+t.getPublic(!1,"hex")),c.defineReadOnly(this,"compressedPublicKey","0x"+t.getPublic(!0,"hex")),c.defineReadOnly(this,"publicKeyBytes",t.getPublic().encode(null,!0))}function m(e,t){var r=a.arrayify(e);if(32!==r.length)return 33===r.length?t?a.hexlify(r):"0x"+h().keyFromPublic(r).getPublic(!1,"hex"):65===r.length?t?"0x"+h().keyFromPublic(r).getPublic(!0,"hex"):a.hexlify(r):(l.throwError("invalid public or private key",l.INVALID_ARGUMENT,{arg:"key",value:"[REDACTED]"}),null);var n=new d(r);return t?n.compressedPublicKey:n.publicKey}function g(e){var t="0x"+m(e).slice(4);return o.getAddress("0x"+u.keccak256(t).substring(26))}function y(e,t){var r=a.splitSignature(t),n={r:a.arrayify(r.r),s:a.arrayify(r.s)};return"0x"+h().recoverPubKey(a.arrayify(e),n,r.recoveryParam).encode("hex",!1)}function v(e,t){return g(y(a.arrayify(e),t))}r.KeyPair=d,r.computePublicKey=m,r.computeAddress=g,r.recoverPublicKey=y,r.recoverAddress=v,r.verifyMessage=function(e,t){return v(s.hashMessage(e),t)}},{"../errors":5,"./address":60,"./bytes":64,"./hash":65,"./keccak256":71,"./properties":74,elliptic:12}],78:[function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var o=n(e("aes-js")),a=n(e("scrypt-js")),s=n(e("uuid")),u=e("./signing-key"),c=i(e("./hdnode")),l=e("./address"),f=e("./bytes"),h=e("./pbkdf2"),d=e("./keccak256"),p=e("./utf8"),m=e("./random-bytes");function g(e){return"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),f.arrayify(e)}function y(e,t){for(e=String(e);e.length<t;)e="0"+e;return e}function v(e){return"string"==typeof e?p.toUtf8Bytes(e,p.UnicodeNormalizationForm.NFKC):f.arrayify(e)}function b(e,t){for(var r=e,n=t.toLowerCase().split("/"),i=0;i<n.length;i++){var o=null;for(var a in r)if(a.toLowerCase()===n[i]){o=r[a];break}if(null===o)return null;r=o}return r}r.decryptCrowdsale=function(e,t){var r=JSON.parse(e);t=v(t);var n=l.getAddress(b(r,"ethaddr")),i=g(b(r,"encseed"));if(!i||i.length%16!=0)throw new Error("invalid encseed");for(var a=h.pbkdf2(t,t,2e3,32,"sha256").slice(0,16),s=i.slice(0,16),c=i.slice(16),m=new o.default.ModeOfOperation.cbc(a,s),y=f.arrayify(m.decrypt(c)),w=(y=o.default.padding.pkcs7.strip(y),""),_=0;_<y.length;_++)w+=String.fromCharCode(y[_]);var A=p.toUtf8Bytes(w),E=new u.SigningKey(d.keccak256(A));if(E.address!==n)throw new Error("corrupt crowdsale wallet");return E},r.decrypt=function(e,t,r){function n(e,t){var r,n,a=g(b(i,"crypto/ciphertext"));if(f.hexlify((r=e.slice(16,32),n=a,d.keccak256(f.concat([r,n])))).substring(2)!==b(i,"crypto/mac").toLowerCase())return t(new Error("invalid password")),null;var s=function(e,t){if("aes-128-ctr"!==b(i,"crypto/cipher"))return null;var r=g(b(i,"crypto/cipherparams/iv")),n=new o.default.Counter(r),a=new o.default.ModeOfOperation.ctr(e,n);return f.arrayify(a.decrypt(t))}(e.slice(0,16),a),h=e.slice(32,64);if(!s)return t(new Error("unsupported cipher")),null;var p=new u.SigningKey(s);if(i.address&&p.address!==l.getAddress(i.address))return t(new Error("address mismatch")),null;var m=b(i,"x-ethers/locale");if("0.1"===b(i,"x-ethers/version")&&(null==m||"en"===m)){var y=g(b(i,"x-ethers/mnemonicCiphertext")),v=g(b(i,"x-ethers/mnemonicCounter")),w=new o.default.Counter(v),_=new o.default.ModeOfOperation.ctr(h,w),A=b(i,"x-ethers/path")||c.defaultPath,E=f.arrayify(_.decrypt(y)),k=c.entropyToMnemonic(E),x=c.fromMnemonic(k).derivePath(A);if(x.privateKey!=f.hexlify(s))return t(new Error("mnemonic mismatch")),null;p=new u.SigningKey(x)}return p}var i=JSON.parse(e),s=v(t);return new Promise((function(e,t){var o=b(i,"crypto/kdf");if(o&&"string"==typeof o)if("scrypt"===o.toLowerCase()){var u=g(b(i,"crypto/kdfparams/salt")),c=parseInt(b(i,"crypto/kdfparams/n")),l=parseInt(b(i,"crypto/kdfparams/r")),d=parseInt(b(i,"crypto/kdfparams/p"));if(!c||!l||!d)return void t(new Error("unsupported key-derivation function parameters"));if(0!=(c&c-1))return void t(new Error("unsupported key-derivation function parameter value for N"));if(32!==(y=parseInt(b(i,"crypto/kdfparams/dklen"))))return void t(new Error("unsupported key-derivation derived-key length"));r&&r(0),a.default(s,u,c,l,d,64,(function(i,o,a){if(i)i.progress=o,t(i);else if(a){var s=n(a=f.arrayify(a),t);if(!s)return;r&&r(1),e(s)}else if(r)return r(o)}))}else if("pbkdf2"===o.toLowerCase()){u=g(b(i,"crypto/kdfparams/salt"));var p=null,m=b(i,"crypto/kdfparams/prf");if("hmac-sha256"===m)p="sha256";else{if("hmac-sha512"!==m)return void t(new Error("unsupported prf"));p="sha512"}var y,v=parseInt(b(i,"crypto/kdfparams/c"));if(32!==(y=parseInt(b(i,"crypto/kdfparams/dklen"))))return void t(new Error("unsupported key-derivation derived-key length"));var w=n(h.pbkdf2(s,u,v,y,p),t);if(!w)return;e(w)}else t(new Error("unsupported key-derivation function"));else t(new Error("unsupported key-derivation function"))}))},r.encrypt=function(e,t,r,n){var i;if("function"!=typeof r||n||(n=r,r={}),r=r||{},32!==(i=u.SigningKey.isSigningKey(e)?f.arrayify(e.privateKey):f.arrayify(e)).length)throw new Error("invalid private key");var l=v(t),h=null;if(r.entropy&&(h=f.arrayify(r.entropy)),r.mnemonic)if(h){if(c.entropyToMnemonic(h)!==r.mnemonic)throw new Error("entropy and mnemonic mismatch")}else h=f.arrayify(c.mnemonicToEntropy(r.mnemonic,r.wordlist));var p=r.path;h&&!p&&(p=c.defaultPath);var g=(g=r.client)||"ethers.js",b=r.salt?f.arrayify(r.salt):m.randomBytes(32),w=null;if(r.iv){if(16!==(w=f.arrayify(r.iv)).length)throw new Error("invalid iv")}else w=m.randomBytes(16);var _=null;if(r.uuid){if(16!==(_=f.arrayify(r.uuid)).length)throw new Error("invalid uuid")}else _=m.randomBytes(16);var A=1<<17,E=8,k=1;return r.scrypt&&(r.scrypt.N&&(A=r.scrypt.N),r.scrypt.r&&(E=r.scrypt.r),r.scrypt.p&&(k=r.scrypt.p)),new Promise((function(e,t){n&&n(0),a.default(l,b,A,E,k,64,(function(a,c,l){if(a)a.progress=c,t(a);else if(l){var v,x,S,M,I,P,T=(l=f.arrayify(l)).slice(0,16),N=l.slice(16,32),O=l.slice(32,64),R=new u.SigningKey(i).address,C=new o.default.Counter(w),j=new o.default.ModeOfOperation.ctr(T,C),L=f.arrayify(j.encrypt(i)),B=d.keccak256(f.concat([N,L])),U={address:R.substring(2).toLowerCase(),id:s.default.v4({random:_}),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:f.hexlify(w).substring(2)},ciphertext:f.hexlify(L).substring(2),kdf:"scrypt",kdfparams:{salt:f.hexlify(b).substring(2),n:A,dklen:32,p:k,r:E},mac:B.substring(2)}};h&&(v=m.randomBytes(16),x=new o.default.Counter(v),S=new o.default.ModeOfOperation.ctr(O,x),M=f.arrayify(S.encrypt(h)),P=(I=new Date).getUTCFullYear()+"-"+y(I.getUTCMonth()+1,2)+"-"+y(I.getUTCDate(),2)+"T"+y(I.getUTCHours(),2)+"-"+y(I.getUTCMinutes(),2)+"-"+y(I.getUTCSeconds(),2)+".0Z",U["x-ethers"]={client:g,gethFilename:"UTC--"+P+"--"+U.address,mnemonicCounter:f.hexlify(v).substring(2),mnemonicCiphertext:f.hexlify(M).substring(2),path:p,version:"0.1"},r.wordlist&&"string"==typeof r.wordlist.locale&&(U["x-ethers"].locale=r.wordlist.locale)),n&&n(1),e(JSON.stringify(U))}else if(n)return n(c)}))}))}},{"./address":60,"./bytes":64,"./hdnode":66,"./keccak256":71,"./pbkdf2":73,"./random-bytes":75,"./signing-key":81,"./utf8":85,"aes-js":8,"scrypt-js":44,uuid:48}],79:[function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("hash.js")),o=e("./bytes");r.ripemd160=function(e){return"0x"+i.default.ripemd160().update(o.arrayify(e)).digest("hex")},r.sha256=function(e){return"0x"+i.default.sha256().update(o.arrayify(e)).digest("hex")},r.sha512=function(e){return"0x"+i.default.sha512().update(o.arrayify(e)).digest("hex")}},{"./bytes":64,"hash.js":26}],80:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),e("setimmediate"),r.platform="browser"},{setimmediate:45}],81:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("./hdnode"),o=e("./bytes"),a=e("./properties"),u=e("./secp256k1"),c=n(e("../errors")),l=(f.prototype.signDigest=function(e){return this.keyPair.sign(e)},f.prototype.computeSharedSecret=function(e){return this.keyPair.computeSharedSecret(o.arrayify(e))},f.isSigningKey=function(e){return a.isType(e,"SigningKey")},f);function f(e){c.checkNew(this,f);var t=i.HDNode.isHDNode(e)?(a.defineReadOnly(this,"mnemonic",e.mnemonic),a.defineReadOnly(this,"path",e.path),o.arrayify(e.privateKey)):("string"==typeof e&&e.match(/^[0-9a-f]*$/i)&&64===e.length&&(e="0x"+e),o.arrayify(e));try{32!==t.length&&c.throwError("exactly 32 bytes required",c.INVALID_ARGUMENT,{arg:"privateKey",value:"[REDACTED]"})}catch(e){var r={arg:"privateKey",reason:e.reason,value:"[REDACTED]"};e.value&&("number"==typeof e.value.length&&(r.length=e.value.length),r.type=s(e.value)),c.throwError("invalid private key",e.code,r)}a.defineReadOnly(this,"privateKey",o.hexlify(t)),a.defineReadOnly(this,"keyPair",new u.KeyPair(t)),a.defineReadOnly(this,"publicKey",this.keyPair.publicKey),a.defineReadOnly(this,"address",u.computeAddress(this.keyPair.publicKey)),a.setType(this,"SigningKey")}r.SigningKey=l},{"../errors":5,"./bytes":64,"./hdnode":66,"./properties":74,"./secp256k1":77}],82:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./bignumber"),i=e("./bytes"),o=e("./utf8"),a=e("./keccak256"),s=e("./sha2"),u=new RegExp("^bytes([0-9]+)$"),c=new RegExp("^(u?int)([0-9]*)$"),l=new RegExp("^(.*)\\[([0-9]*)\\]$");function f(e,t){if(e.length!=t.length)throw new Error("type/value count mismatch");var r=[];return e.forEach((function(e,a){r.push(function e(t,r,a){switch(t){case"address":return a?i.padZeros(r,32):i.arrayify(r);case"string":return o.toUtf8Bytes(r);case"bytes":return i.arrayify(r);case"bool":return r=r?"0x01":"0x00",a?i.padZeros(r,32):i.arrayify(r)}var s=t.match(c);if(s){if((f=parseInt(s[2]||"256"))%8!=0||0===f||256<f)throw new Error("invalid number type - "+t);return a&&(f=256),r=n.bigNumberify(r).toTwos(f),i.padZeros(r,f/8)}if(s=t.match(u)){var f=parseInt(s[1]);if(String(f)!=s[1]||0===f||32<f)throw new Error("invalid number type - "+t);if(i.arrayify(r).byteLength!==f)throw new Error("invalid value for "+t);return a?i.arrayify((r+"0000000000000000000000000000000000000000000000000000000000000000").substring(0,66)):r}if((s=t.match(l))&&Array.isArray(r)){var h=s[1];if(parseInt(s[2]||String(r.length))!=r.length)throw new Error("invalid value for "+t);var d=[];return r.forEach((function(t){d.push(e(h,t,!0))})),i.concat(d)}throw new Error("unknown type - "+t)}(e,t[a]))})),i.hexlify(i.concat(r))}r.pack=f,r.keccak256=function(e,t){return a.keccak256(f(e,t))},r.sha256=function(e,t){return s.sha256(f(e,t))}},{"./bignumber":63,"./bytes":64,"./keccak256":71,"./sha2":79,"./utf8":85}],83:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("../constants"),o=n(e("../errors")),a=e("./secp256k1"),s=e("./address"),u=e("./bignumber"),c=e("./bytes"),l=e("./keccak256"),f=e("./properties"),h=n(e("./rlp")),d=e("../providers/abstract-provider");function p(e){return"0x"===e?i.Zero:u.bigNumberify(e)}var m=[{name:"nonce",maxLength:32},{name:"gasPrice",maxLength:32},{name:"gasLimit",maxLength:32},{name:"to",length:20},{name:"value",maxLength:32},{name:"data"}],g={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};r.serialize=function(e,t){f.checkProperties(e,g);var r=[];m.forEach((function(t){var n=e[t.name]||[];n=c.arrayify(c.hexlify(n)),t.length&&n.length!==t.length&&0<n.length&&o.throwError("invalid length for "+t.name,o.INVALID_ARGUMENT,{arg:"transaction"+t.name,value:n}),t.maxLength&&(n=c.stripZeros(n)).length>t.maxLength&&o.throwError("invalid length for "+t.name,o.INVALID_ARGUMENT,{arg:"transaction"+t.name,value:n}),r.push(c.hexlify(n))})),null!=e.chainId&&0!==e.chainId&&(r.push(c.hexlify(e.chainId)),r.push("0x"),r.push("0x"));var n=h.encode(r);if(!t)return n;var i=c.splitSignature(t),a=27+i.recoveryParam;return 9===r.length&&(r.pop(),r.pop(),r.pop(),a+=2*e.chainId+8),r.push(c.hexlify(a)),r.push(c.stripZeros(c.arrayify(i.r))),r.push(c.stripZeros(c.arrayify(i.s))),h.encode(r)},r.parse=function(e){var t=h.decode(e);9!==t.length&&6!==t.length&&o.throwError("invalid raw transaction",o.INVALID_ARGUMENT,{arg:"rawTransactin",value:e});var r,n={nonce:p(t[0]).toNumber(),gasPrice:p(t[1]),gasLimit:p(t[2]),to:"0x"===(r=t[3])?null:s.getAddress(r),value:p(t[4]),data:t[5],chainId:0};if(6===t.length)return n;try{n.v=u.bigNumberify(t[6]).toNumber()}catch(e){return o.info(e),n}if(n.r=c.hexZeroPad(t[7],32),n.s=c.hexZeroPad(t[8],32),u.bigNumberify(n.r).isZero()&&u.bigNumberify(n.s).isZero())n.chainId=n.v,n.v=0;else{n.chainId=Math.floor((n.v-35)/2),n.chainId<0&&(n.chainId=0);var i=n.v-27,f=t.slice(0,6);0!==n.chainId&&(f.push(c.hexlify(n.chainId)),f.push("0x"),f.push("0x"),i-=2*n.chainId+8);var d=l.keccak256(h.encode(f));try{n.from=a.recoverAddress(d,{r:c.hexlify(n.r),s:c.hexlify(n.s),recoveryParam:i})}catch(e){o.info(e)}n.hash=l.keccak256(e)}return n},r.populateTransaction=function(e,t,r){d.Provider.isProvider(t)||o.throwError("missing provider",o.INVALID_ARGUMENT,{argument:"provider",value:t}),f.checkProperties(e,g);var n,i=f.shallowCopy(e);return null!=i.to&&(i.to=t.resolveName(i.to)),null==i.gasPrice&&(i.gasPrice=t.getGasPrice()),null==i.nonce&&(i.nonce=t.getTransactionCount(r)),null==i.gasLimit&&((n=f.shallowCopy(i)).from=r,i.gasLimit=t.estimateGas(n)),null==i.chainId&&(i.chainId=t.getNetwork().then((function(e){return e.chainId}))),f.resolveProperties(i)}},{"../constants":3,"../errors":5,"../providers/abstract-provider":50,"./address":60,"./bignumber":63,"./bytes":64,"./keccak256":71,"./properties":74,"./rlp":76,"./secp256k1":77}],84:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i,o=e("../constants"),a=n(e("../errors")),s=e("./bignumber"),u={};function c(e){return{decimals:e.length-1,tenPower:s.bigNumberify(e)}}function l(e){var t=u[String(e).toLowerCase()];if(!t&&"number"==typeof e&&parseInt(String(e))==e&&0<=e&&e<=256){for(var r="1",n=0;n<e;n++)r+="0";t=c(r)}return t||a.throwError("invalid unitType",a.INVALID_ARGUMENT,{argument:"name",value:e}),t}function f(e,t){var r=l(t),n=(e=s.bigNumberify(e)).lt(o.Zero);n&&(e=e.mul(o.NegativeOne));for(var i=e.mod(r.tenPower).toString();i.length<r.decimals;)i="0"+i;return i=i.match(/^([0-9]*[1-9]|0)(0*)/)[1],e=e.div(r.tenPower).toString()+"."+i,n&&(e="-"+e),e}function h(e,t){null==t&&(t=18);var r=l(t);if("string"==typeof e&&e.match(/^-?[0-9.,]+$/)||a.throwError("invalid decimal value",a.INVALID_ARGUMENT,{arg:"value",value:e}),0===r.decimals)return s.bigNumberify(e);var n="-"===e.substring(0,1);n&&(e=e.substring(1)),"."===e&&a.throwError("missing value",a.INVALID_ARGUMENT,{arg:"value",value:e});var i=e.split(".");2<i.length&&a.throwError("too many decimal points",a.INVALID_ARGUMENT,{arg:"value",value:e});var u=i[0],c=i[1];for(u=u||"0",(c=c||"0").length>r.decimals&&a.throwError("underflow occurred",a.NUMERIC_FAULT,{operation:"division",fault:"underflow"});c.length<r.decimals;)c+="0";var f=s.bigNumberify(u),h=s.bigNumberify(c),d=f.mul(r.tenPower).add(h);return n&&(d=d.mul(o.NegativeOne)),d}i="1",["wei","kwei","Mwei","Gwei","szabo","finney","ether"].forEach((function(e){var t=c(i);u[e.toLowerCase()]=t,u[String(t.decimals)]=t,i+="000"})),r.commify=function(e){var t=String(e).split(".");(2<t.length||!t[0].match(/^-?[0-9]*$/)||t[1]&&!t[1].match(/^[0-9]*$/)||"."===e||"-."===e)&&a.throwError("invalid value",a.INVALID_ARGUMENT,{argument:"value",value:e});var r=t[0],n="";for("-"===r.substring(0,1)&&(n="-",r=r.substring(1));"0"===r.substring(0,1);)r=r.substring(1);""===r&&(r="0");var i="";2===t.length&&(i="."+(t[1]||"0"));for(var o=[];r.length;){if(r.length<=3){o.unshift(r);break}var s=r.length-3;o.unshift(r.substring(s)),r=r.substring(0,s)}return n+o.join(",")+i},r.formatUnits=f,r.parseUnits=h,r.formatEther=function(e){return f(e,18)},r.parseEther=function(e){return h(e,18)}},{"../constants":3,"../errors":5,"./bignumber":63}],85:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,i,o=e("../constants"),a=e("../errors"),s=e("./bytes");function u(e,t){void 0===t&&(t=n.current),t!=n.current&&(a.checkNormalize(),e=e.normalize(t));for(var r=[],i=0;i<e.length;i++){var o=e.charCodeAt(i);if(o<128)r.push(o);else if(o<2048)r.push(o>>6|192),r.push(63&o|128);else if(55296==(64512&o)){i++;var u=e.charCodeAt(i);if(i>=e.length||56320!=(64512&u))throw new Error("invalid utf-8 string");o=65536+((1023&o)<<10)+(1023&u),r.push(o>>18|240),r.push(o>>12&63|128),r.push(o>>6&63|128),r.push(63&o|128)}else r.push(o>>12|224),r.push(o>>6&63|128),r.push(63&o|128)}return s.arrayify(r)}function c(e,t){e=s.arrayify(e);for(var r="",n=0;n<e.length;){var i=e[n++];if(i>>7!=0){var o=null,a=null;if(192==(224&i))o=1,a=127;else if(224==(240&i))o=2,a=2047;else{if(240!=(248&i)){if(t)continue;if(128==(192&i))throw new Error("invalid utf8 byte sequence; unexpected continuation byte");throw new Error("invalid utf8 byte sequence; invalid prefix")}o=3,a=65535}if(n+o>e.length){if(!t)throw new Error("invalid utf8 byte sequence; too short");for(;n<e.length&&e[n]>>6==2;n++);}else{for(var u=i&(1<<8-o-1)-1,c=0;c<o;c++){var l=e[n];if(128!=(192&l)){u=null;break}u=u<<6|63&l,n++}if(null!==u)if(u<=a){if(!t)throw new Error("invalid utf8 byte sequence; overlong")}else if(1114111<u){if(!t)throw new Error("invalid utf8 byte sequence; out-of-range")}else if(55296<=u&&u<=57343){if(!t)throw new Error("invalid utf8 byte sequence; utf-16 surrogate")}else u<=65535?r+=String.fromCharCode(u):(u-=65536,r+=String.fromCharCode(55296+(u>>10&1023),56320+(1023&u)));else if(!t)throw new Error("invalid utf8 byte sequence; invalid continuation byte")}}else r+=String.fromCharCode(i)}return r}(i=n=r.UnicodeNormalizationForm||(r.UnicodeNormalizationForm={})).current="",i.NFC="NFC",i.NFD="NFD",i.NFKC="NFKC",i.NFKD="NFKD",r.toUtf8Bytes=u,r.toUtf8String=c,r.formatBytes32String=function(e){var t=u(e);if(31<t.length)throw new Error("bytes32 string must be less than 32 bytes");return s.hexlify(s.concat([t,o.HashZero]).slice(0,32))},r.parseBytes32String=function(e){var t=s.arrayify(e);if(32!==t.length)throw new Error("invalid bytes32 - not 32 bytes long");if(0!==t[31])throw new Error("invalid bytes32 string - no null terminator");for(var r=31;0===t[r-1];)r--;return c(t.slice(0,r))}},{"../constants":3,"../errors":5,"./bytes":64}],86:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("xmlhttprequest"),o=e("./base64"),a=e("./properties"),u=e("./utf8"),c=n(e("../errors"));r.fetchJson=function(e,t,r){var n,a={},l=null,f=12e4;if("string"==typeof e)l=e;else if("object"==s(e)){if(null==e.url&&c.throwError("missing URL",c.MISSING_ARGUMENT,{arg:"url"}),l=e.url,"number"==typeof e.timeout&&0<e.timeout&&(f=e.timeout),e.headers)for(var h in e.headers)a[h.toLowerCase()]={key:h,value:String(e.headers[h])};null!=e.user&&null!=e.password&&("https:"!==l.substring(0,6)&&!0!==e.allowInsecure&&c.throwError("basic authentication requires a secure https url",c.INVALID_ARGUMENT,{arg:"url",url:l,user:e.user,password:"[REDACTED]"}),n=e.user+":"+e.password,a.authorization={key:"Authorization",value:"Basic "+o.encode(u.toUtf8Bytes(n))})}return new Promise((function(e,n){function o(){null!=u&&(clearTimeout(u),u=null)}var s=new i.XMLHttpRequest,u=null;u=setTimeout((function(){null!=u&&(u=null,n(new Error("timeout")),setTimeout((function(){s.abort()}),0))}),f),t?(s.open("POST",l,!0),a["content-type"]={key:"Content-Type",value:"application/json"}):s.open("GET",l,!0),Object.keys(a).forEach((function(e){var t=a[e];s.setRequestHeader(t.key,t.value)})),s.onreadystatechange=function(){if(4===s.readyState){if(200!=s.status){o();var i=new Error("invalid response - "+s.status);return i.statusCode=s.status,s.responseText&&(i.responseText=s.responseText),void n(i)}var a=null;try{a=JSON.parse(s.responseText)}catch(i){o();var u=new Error("invalid json response");return u.orginialError=i,u.responseText=s.responseText,null!=t&&(u.requestBody=t),u.url=l,void n(u)}if(r)try{a=r(a)}catch(i){return o(),i.url=l,i.body=t,i.responseText=s.responseText,void n(i)}o(),e(a)}},s.onerror=function(e){o(),n(e)};try{null!=t?s.send(t):s.send()}catch(u){o();var c=new Error("connection error");c.error=u,n(c)}}))},r.poll=function(e,t){return t=t||{},null==(t=a.shallowCopy(t)).floor&&(t.floor=0),null==t.ceiling&&(t.ceiling=1e4),null==t.interval&&(t.interval=250),new Promise((function(r,n){var i=null,o=!1,a=function(){return!o&&(o=!0,i&&clearTimeout(i),!0)};t.timeout&&(i=setTimeout((function(){a()&&n(new Error("timeout"))}),t.timeout));var s=t.fastRetry||null,u=0;!function i(){return e().then((function(e){var n;return void 0!==e?a()&&r(e):t.onceBlock?t.onceBlock.once("block",i):o||(u++,(n=t.interval*parseInt(String(Math.random()*Math.pow(2,u))))<t.floor&&(n=t.floor),n>t.ceiling&&(n=t.ceiling),s&&(u--,n=s,s=null),setTimeout(i,n)),null}),(function(e){a()&&n(e)}))}()}))}},{"../errors":5,"./base64":61,"./properties":74,"./utf8":85,xmlhttprequest:49}],87:[function(e,t,n){(function(t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=e("../utils/hash"),i=e("../utils/properties");n.check=function(e){for(var t=[],n=0;n<2048;n++){var i=e.getWord(n);if(n!==e.getWordIndex(i))return"0x";t.push(i)}return r.id(t.join("\n")+"\n")};var o=(a.prototype.split=function(e){return e.toLowerCase().split(/ +/g)},a.prototype.join=function(e){return e.join(" ")},a);function a(e){i.defineReadOnly(this,"locale",e)}n.Wordlist=o,n.register=function(e,t){t=t||e.locale}}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../utils/hash":65,"../utils/properties":74}],88:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var a,s=e("./utils/bytes"),u=e("./utils/hash"),c=e("./utils/hdnode"),l=e("./utils/json-wallet"),f=e("./utils/keccak256"),h=e("./utils/properties"),d=e("./utils/random-bytes"),p=o(e("./utils/secret-storage")),m=e("./utils/signing-key"),g=e("./utils/transaction"),y=e("./abstract-signer"),v=e("./providers/abstract-provider"),b=o(e("./errors")),w=(i(_,a=y.Signer),Object.defineProperty(_.prototype,"address",{get:function(){return this.signingKey.address},enumerable:!0,configurable:!0}),Object.defineProperty(_.prototype,"mnemonic",{get:function(){return this.signingKey.mnemonic},enumerable:!0,configurable:!0}),Object.defineProperty(_.prototype,"path",{get:function(){return this.signingKey.path},enumerable:!0,configurable:!0}),Object.defineProperty(_.prototype,"privateKey",{get:function(){return this.signingKey.privateKey},enumerable:!0,configurable:!0}),_.prototype.connect=function(e){return v.Provider.isProvider(e)||b.throwError("invalid provider",b.INVALID_ARGUMENT,{argument:"provider",value:e}),new _(this.signingKey,e)},_.prototype.getAddress=function(){return Promise.resolve(this.address)},_.prototype.sign=function(e){var t=this;return h.resolveProperties(e).then((function(e){var r=g.serialize(e),n=t.signingKey.signDigest(f.keccak256(r));return g.serialize(e,n)}))},_.prototype.signMessage=function(e){return Promise.resolve(s.joinSignature(this.signingKey.signDigest(u.hashMessage(e))))},_.prototype.getBalance=function(e){if(!this.provider)throw new Error("missing provider");return this.provider.getBalance(this.address,e)},_.prototype.getTransactionCount=function(e){if(!this.provider)throw new Error("missing provider");return this.provider.getTransactionCount(this.address,e)},_.prototype.sendTransaction=function(e){var t=this;if(!this.provider)throw new Error("missing provider");return null==e.nonce&&((e=h.shallowCopy(e)).nonce=this.getTransactionCount("pending")),g.populateTransaction(e,this.provider,this.address).then((function(e){return t.sign(e).then((function(e){return t.provider.sendTransaction(e)}))}))},_.prototype.encrypt=function(e,t,r){if("function"!=typeof t||r||(r=t,t={}),r&&"function"!=typeof r)throw new Error("invalid callback");return t=t||{},this.mnemonic&&((t=h.shallowCopy(t)).mnemonic=this.mnemonic,t.path=this.path),p.encrypt(this.privateKey,e,t,r)},_.createRandom=function(e){var t=d.randomBytes(16);(e=e||{}).extraEntropy&&(t=s.arrayify(f.keccak256(s.concat([t,e.extraEntropy])).substring(0,34)));var r=c.entropyToMnemonic(t,e.locale);return _.fromMnemonic(r,e.path,e.locale)},_.fromEncryptedJson=function(e,t,r){if(l.isCrowdsaleWallet(e))try{r&&r(0);var n=p.decryptCrowdsale(e,t);return r&&r(1),Promise.resolve(new _(n))}catch(e){return Promise.reject(e)}else if(l.isSecretStorageWallet(e))return p.decrypt(e,t,r).then((function(e){return new _(e)}));return Promise.reject("invalid wallet JSON")},_.fromMnemonic=function(e,t,r){return t=t||c.defaultPath,new _(c.fromMnemonic(e,r).derivePath(t))},_);function _(e,t){var r=a.call(this)||this;return b.checkNew(r,_),m.SigningKey.isSigningKey(e)?h.defineReadOnly(r,"signingKey",e):h.defineReadOnly(r,"signingKey",new m.SigningKey(e)),h.defineReadOnly(r,"provider",t),r}r.Wallet=w},{"./abstract-signer":2,"./errors":5,"./providers/abstract-provider":50,"./utils/bytes":64,"./utils/hash":65,"./utils/hdnode":66,"./utils/json-wallet":70,"./utils/keccak256":71,"./utils/properties":74,"./utils/random-bytes":75,"./utils/secret-storage":78,"./utils/signing-key":81,"./utils/transaction":83}],89:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("../wordlists/lang-en").langEn;r.en=n},{"../wordlists/lang-en":90}],90:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o,a=e("../utils/wordlist"),s=null;function u(e){if(null==s&&(s="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==a.check(e)))throw s=null,new Error("BIP39 Wordlist for en (English) FAILED")}function c(){return o.call(this,"en")||this}var l=new(i(c,o=a.Wordlist),c.prototype.getWord=function(e){return u(this),s[e]},c.prototype.getWordIndex=function(e){return u(this),s.indexOf(e)},c);r.langEn=l,a.register(l)},{"../utils/wordlist":87}]},{},[7])(7)},"object"==s(t)&&void 0!==e?e.exports=a():(i=[],void 0===(o="function"==typeof(n=a)?n.apply(t,i):n)||(e.exports=o))}).call(this,r(2))}])}));
47
+ */!function(s,u){"use strict";"object"===a(e)&&e.exports?e.exports=u(r(5),r(7),r(8)):(i=[r(5),r(7),r(8)],void 0===(o="function"==typeof(n=u)?n.apply(t,i):n)||(e.exports=o))}(0,(function(e,t,r,n){"use strict";var i=n&&n.URI;function o(e,t){var r=arguments.length>=1,n=arguments.length>=2;if(!(this instanceof o))return r?n?new o(e,t):new o(e):new o;if(void 0===e){if(r)throw new TypeError("undefined is not a valid argument for URI");e="undefined"!=typeof location?location.href+"":""}if(null===e&&r)throw new TypeError("null is not a valid argument for URI");return this.href(e),void 0!==t?this.absoluteTo(t):this}o.version="1.19.10";var s=o.prototype,u=Object.prototype.hasOwnProperty;function c(e){return e.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function l(e){return void 0===e?"Undefined":String(Object.prototype.toString.call(e)).slice(8,-1)}function f(e){return"Array"===l(e)}function h(e,t){var r,n,i={};if("RegExp"===l(t))i=null;else if(f(t))for(r=0,n=t.length;r<n;r++)i[t[r]]=!0;else i[t]=!0;for(r=0,n=e.length;r<n;r++){(i&&void 0!==i[e[r]]||!i&&t.test(e[r]))&&(e.splice(r,1),n--,r--)}return e}function d(e,t){var r,n;if(f(t)){for(r=0,n=t.length;r<n;r++)if(!d(e,t[r]))return!1;return!0}var i=l(t);for(r=0,n=e.length;r<n;r++)if("RegExp"===i){if("string"==typeof e[r]&&e[r].match(t))return!0}else if(e[r]===t)return!0;return!1}function p(e,t){if(!f(e)||!f(t))return!1;if(e.length!==t.length)return!1;e.sort(),t.sort();for(var r=0,n=e.length;r<n;r++)if(e[r]!==t[r])return!1;return!0}function m(e){return e.replace(/^\/+|\/+$/g,"")}function g(e){return escape(e)}function y(e){return encodeURIComponent(e).replace(/[!'()*]/g,g).replace(/\*/g,"%2A")}o._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,preventInvalidHostname:o.preventInvalidHostname,duplicateQueryParameters:o.duplicateQueryParameters,escapeQuerySpace:o.escapeQuerySpace}},o.preventInvalidHostname=!1,o.duplicateQueryParameters=!1,o.escapeQuerySpace=!0,o.protocol_expression=/^[a-z][a-z0-9.+-]*$/i,o.idn_expression=/[^a-z0-9\._-]/i,o.punycode_expression=/(xn--)/i,o.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,o.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,o.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/gi,o.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},o.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,o.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},o.hostProtocols=["http","https"],o.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,o.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},o.getDomAttribute=function(e){if(e&&e.nodeName){var t=e.nodeName.toLowerCase();if("input"!==t||"image"===e.type)return o.domAttributes[t]}},o.encode=y,o.decode=decodeURIComponent,o.iso8859=function(){o.encode=escape,o.decode=unescape},o.unicode=function(){o.encode=y,o.decode=decodeURIComponent},o.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/gi,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/gi,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/gi,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},o.encodeQuery=function(e,t){var r=o.encode(e+"");return void 0===t&&(t=o.escapeQuerySpace),t?r.replace(/%20/g,"+"):r},o.decodeQuery=function(e,t){e+="",void 0===t&&(t=o.escapeQuerySpace);try{return o.decode(t?e.replace(/\+/g,"%20"):e)}catch(t){return e}};var v,b={encode:"encode",decode:"decode"},w=function(e,t){return function(r){try{return o[t](r+"").replace(o.characters[e][t].expression,(function(r){return o.characters[e][t].map[r]}))}catch(e){return r}}};for(v in b)o[v+"PathSegment"]=w("pathname",b[v]),o[v+"UrnPathSegment"]=w("urnpath",b[v]);var _=function(e,t,r){return function(n){var i;i=r?function(e){return o[t](o[r](e))}:o[t];for(var a=(n+"").split(e),s=0,u=a.length;s<u;s++)a[s]=i(a[s]);return a.join(e)}};function A(e){return function(t,r){return void 0===t?this._parts[e]||"":(this._parts[e]=t||null,this.build(!r),this)}}function E(e,t){return function(r,n){return void 0===r?this._parts[e]||"":(null!==r&&(r+="").charAt(0)===t&&(r=r.substring(1)),this._parts[e]=r,this.build(!n),this)}}o.decodePath=_("/","decodePathSegment"),o.decodeUrnPath=_(":","decodeUrnPathSegment"),o.recodePath=_("/","encodePathSegment","decode"),o.recodeUrnPath=_(":","encodeUrnPathSegment","decode"),o.encodeReserved=w("reserved","encode"),o.parse=function(e,t){var r;return t||(t={preventInvalidHostname:o.preventInvalidHostname}),(r=(e=e.replace(o.leading_whitespace_expression,"")).indexOf("#"))>-1&&(t.fragment=e.substring(r+1)||null,e=e.substring(0,r)),(r=e.indexOf("?"))>-1&&(t.query=e.substring(r+1)||null,e=e.substring(0,r)),"//"===(e=e.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://")).substring(0,2)?(t.protocol=null,e=e.substring(2),e=o.parseAuthority(e,t)):(r=e.indexOf(":"))>-1&&(t.protocol=e.substring(0,r)||null,t.protocol&&!t.protocol.match(o.protocol_expression)?t.protocol=void 0:"//"===e.substring(r+1,r+3).replace(/\\/g,"/")?(e=e.substring(r+3),e=o.parseAuthority(e,t)):(e=e.substring(r+1),t.urn=!0)),t.path=e,t},o.parseHost=function(e,t){e||(e="");var r,n,i=(e=e.replace(/\\/g,"/")).indexOf("/");if(-1===i&&(i=e.length),"["===e.charAt(0))r=e.indexOf("]"),t.hostname=e.substring(1,r)||null,t.port=e.substring(r+2,i)||null,"/"===t.port&&(t.port=null);else{var a=e.indexOf(":"),s=e.indexOf("/"),u=e.indexOf(":",a+1);-1!==u&&(-1===s||u<s)?(t.hostname=e.substring(0,i)||null,t.port=null):(n=e.substring(0,i).split(":"),t.hostname=n[0]||null,t.port=n[1]||null)}return t.hostname&&"/"!==e.substring(i).charAt(0)&&(i++,e="/"+e),t.preventInvalidHostname&&o.ensureValidHostname(t.hostname,t.protocol),t.port&&o.ensureValidPort(t.port),e.substring(i)||"/"},o.parseAuthority=function(e,t){return e=o.parseUserinfo(e,t),o.parseHost(e,t)},o.parseUserinfo=function(e,t){var r=e;-1!==e.indexOf("\\")&&(e=e.replace(/\\/g,"/"));var n,i=e.indexOf("/"),a=e.lastIndexOf("@",i>-1?i:e.length-1);return a>-1&&(-1===i||a<i)?(n=e.substring(0,a).split(":"),t.username=n[0]?o.decode(n[0]):null,n.shift(),t.password=n[0]?o.decode(n.join(":")):null,e=r.substring(a+1)):(t.username=null,t.password=null),e},o.parseQuery=function(e,t){if(!e)return{};if(!(e=e.replace(/&+/g,"&").replace(/^\?*&*|&+$/g,"")))return{};for(var r,n,i,a={},s=e.split("&"),c=s.length,l=0;l<c;l++)r=s[l].split("="),n=o.decodeQuery(r.shift(),t),i=r.length?o.decodeQuery(r.join("="),t):null,"__proto__"!==n&&(u.call(a,n)?("string"!=typeof a[n]&&null!==a[n]||(a[n]=[a[n]]),a[n].push(i)):a[n]=i);return a},o.build=function(e){var t="",r=!1;return e.protocol&&(t+=e.protocol+":"),e.urn||!t&&!e.hostname||(t+="//",r=!0),t+=o.buildAuthority(e)||"","string"==typeof e.path&&("/"!==e.path.charAt(0)&&r&&(t+="/"),t+=e.path),"string"==typeof e.query&&e.query&&(t+="?"+e.query),"string"==typeof e.fragment&&e.fragment&&(t+="#"+e.fragment),t},o.buildHost=function(e){var t="";return e.hostname?(o.ip6_expression.test(e.hostname)?t+="["+e.hostname+"]":t+=e.hostname,e.port&&(t+=":"+e.port),t):""},o.buildAuthority=function(e){return o.buildUserinfo(e)+o.buildHost(e)},o.buildUserinfo=function(e){var t="";return e.username&&(t+=o.encode(e.username)),e.password&&(t+=":"+o.encode(e.password)),t&&(t+="@"),t},o.buildQuery=function(e,t,r){var n,i,a,s,c="";for(i in e)if("__proto__"!==i&&u.call(e,i))if(f(e[i]))for(n={},a=0,s=e[i].length;a<s;a++)void 0!==e[i][a]&&void 0===n[e[i][a]+""]&&(c+="&"+o.buildQueryParameter(i,e[i][a],r),!0!==t&&(n[e[i][a]+""]=!0));else void 0!==e[i]&&(c+="&"+o.buildQueryParameter(i,e[i],r));return c.substring(1)},o.buildQueryParameter=function(e,t,r){return o.encodeQuery(e,r)+(null!==t?"="+o.encodeQuery(t,r):"")},o.addQuery=function(e,t,r){if("object"===a(t))for(var n in t)u.call(t,n)&&o.addQuery(e,n,t[n]);else{if("string"!=typeof t)throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");if(void 0===e[t])return void(e[t]=r);"string"==typeof e[t]&&(e[t]=[e[t]]),f(r)||(r=[r]),e[t]=(e[t]||[]).concat(r)}},o.setQuery=function(e,t,r){if("object"===a(t))for(var n in t)u.call(t,n)&&o.setQuery(e,n,t[n]);else{if("string"!=typeof t)throw new TypeError("URI.setQuery() accepts an object, string as the name parameter");e[t]=void 0===r?null:r}},o.removeQuery=function(e,t,r){var n,i,s;if(f(t))for(n=0,i=t.length;n<i;n++)e[t[n]]=void 0;else if("RegExp"===l(t))for(s in e)t.test(s)&&(e[s]=void 0);else if("object"===a(t))for(s in t)u.call(t,s)&&o.removeQuery(e,s,t[s]);else{if("string"!=typeof t)throw new TypeError("URI.removeQuery() accepts an object, string, RegExp as the first parameter");void 0!==r?"RegExp"===l(r)?!f(e[t])&&r.test(e[t])?e[t]=void 0:e[t]=h(e[t],r):e[t]!==String(r)||f(r)&&1!==r.length?f(e[t])&&(e[t]=h(e[t],r)):e[t]=void 0:e[t]=void 0}},o.hasQuery=function(e,t,r,n){switch(l(t)){case"String":break;case"RegExp":for(var i in e)if(u.call(e,i)&&t.test(i)&&(void 0===r||o.hasQuery(e,i,r)))return!0;return!1;case"Object":for(var a in t)if(u.call(t,a)&&!o.hasQuery(e,a,t[a]))return!1;return!0;default:throw new TypeError("URI.hasQuery() accepts a string, regular expression or object as the name parameter")}switch(l(r)){case"Undefined":return t in e;case"Boolean":return r===Boolean(f(e[t])?e[t].length:e[t]);case"Function":return!!r(e[t],t,e);case"Array":return!!f(e[t])&&(n?d:p)(e[t],r);case"RegExp":return f(e[t])?!!n&&d(e[t],r):Boolean(e[t]&&e[t].match(r));case"Number":r=String(r);case"String":return f(e[t])?!!n&&d(e[t],r):e[t]===r;default:throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter")}},o.joinPaths=function(){for(var e=[],t=[],r=0,n=0;n<arguments.length;n++){var i=new o(arguments[n]);e.push(i);for(var a=i.segment(),s=0;s<a.length;s++)"string"==typeof a[s]&&t.push(a[s]),a[s]&&r++}if(!t.length||!r)return new o("");var u=new o("").segment(t);return""!==e[0].path()&&"/"!==e[0].path().slice(0,1)||u.path("/"+u.path()),u.normalize()},o.commonPath=function(e,t){var r,n=Math.min(e.length,t.length);for(r=0;r<n;r++)if(e.charAt(r)!==t.charAt(r)){r--;break}return r<1?e.charAt(0)===t.charAt(0)&&"/"===e.charAt(0)?"/":"":("/"===e.charAt(r)&&"/"===t.charAt(r)||(r=e.substring(0,r).lastIndexOf("/")),e.substring(0,r+1))},o.withinString=function(e,t,r){r||(r={});var n=r.start||o.findUri.start,i=r.end||o.findUri.end,a=r.trim||o.findUri.trim,s=r.parens||o.findUri.parens,u=/[a-z0-9-]=["']?$/i;for(n.lastIndex=0;;){var c=n.exec(e);if(!c)break;var l=c.index;if(r.ignoreHtml){var f=e.slice(Math.max(l-3,0),l);if(f&&u.test(f))continue}for(var h=l+e.slice(l).search(i),d=e.slice(l,h),p=-1;;){var m=s.exec(d);if(!m)break;var g=m.index+m[0].length;p=Math.max(p,g)}if(!((d=p>-1?d.slice(0,p)+d.slice(p).replace(a,""):d.replace(a,"")).length<=c[0].length||r.ignore&&r.ignore.test(d))){var y=t(d,l,h=l+d.length,e);void 0!==y?(y=String(y),e=e.slice(0,l)+y+e.slice(h),n.lastIndex=l+y.length):n.lastIndex=h}}return n.lastIndex=0,e},o.ensureValidHostname=function(t,r){var n=!!t,i=!1;if(!!r&&(i=d(o.hostProtocols,r)),i&&!n)throw new TypeError("Hostname cannot be empty, if protocol is "+r);if(t&&t.match(o.invalid_hostname_characters)){if(!e)throw new TypeError('Hostname "'+t+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(e.toASCII(t).match(o.invalid_hostname_characters))throw new TypeError('Hostname "'+t+'" contains characters other than [A-Z0-9.-:_]')}},o.ensureValidPort=function(e){if(e){var t=Number(e);if(!(/^[0-9]+$/.test(t)&&t>0&&t<65536))throw new TypeError('Port "'+e+'" is not a valid port')}},o.noConflict=function(e){if(e){var t={URI:this.noConflict()};return n.URITemplate&&"function"==typeof n.URITemplate.noConflict&&(t.URITemplate=n.URITemplate.noConflict()),n.IPv6&&"function"==typeof n.IPv6.noConflict&&(t.IPv6=n.IPv6.noConflict()),n.SecondLevelDomains&&"function"==typeof n.SecondLevelDomains.noConflict&&(t.SecondLevelDomains=n.SecondLevelDomains.noConflict()),t}return n.URI===this&&(n.URI=i),this},s.build=function(e){return!0===e?this._deferred_build=!0:(void 0===e||this._deferred_build)&&(this._string=o.build(this._parts),this._deferred_build=!1),this},s.clone=function(){return new o(this)},s.valueOf=s.toString=function(){return this.build(!1)._string},s.protocol=A("protocol"),s.username=A("username"),s.password=A("password"),s.hostname=A("hostname"),s.port=A("port"),s.query=E("query","?"),s.fragment=E("fragment","#"),s.search=function(e,t){var r=this.query(e,t);return"string"==typeof r&&r.length?"?"+r:r},s.hash=function(e,t){var r=this.fragment(e,t);return"string"==typeof r&&r.length?"#"+r:r},s.pathname=function(e,t){if(void 0===e||!0===e){var r=this._parts.path||(this._parts.hostname?"/":"");return e?(this._parts.urn?o.decodeUrnPath:o.decodePath)(r):r}return this._parts.urn?this._parts.path=e?o.recodeUrnPath(e):"":this._parts.path=e?o.recodePath(e):"/",this.build(!t),this},s.path=s.pathname,s.href=function(e,t){var r;if(void 0===e)return this.toString();this._string="",this._parts=o._parts();var n=e instanceof o,i="object"===a(e)&&(e.hostname||e.path||e.pathname);e.nodeName&&(e=e[o.getDomAttribute(e)]||"",i=!1);if(!n&&i&&void 0!==e.pathname&&(e=e.toString()),"string"==typeof e||e instanceof String)this._parts=o.parse(String(e),this._parts);else{if(!n&&!i)throw new TypeError("invalid input");var s=n?e._parts:e;for(r in s)"query"!==r&&u.call(this._parts,r)&&(this._parts[r]=s[r]);s.query&&this.query(s.query,!1)}return this.build(!t),this},s.is=function(e){var t=!1,n=!1,i=!1,a=!1,s=!1,u=!1,c=!1,l=!this._parts.urn;switch(this._parts.hostname&&(l=!1,n=o.ip4_expression.test(this._parts.hostname),i=o.ip6_expression.test(this._parts.hostname),s=(a=!(t=n||i))&&r&&r.has(this._parts.hostname),u=a&&o.idn_expression.test(this._parts.hostname),c=a&&o.punycode_expression.test(this._parts.hostname)),e.toLowerCase()){case"relative":return l;case"absolute":return!l;case"domain":case"name":return a;case"sld":return s;case"ip":return t;case"ip4":case"ipv4":case"inet4":return n;case"ip6":case"ipv6":case"inet6":return i;case"idn":return u;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return c}return null};var k=s.protocol,x=s.port,S=s.hostname;s.protocol=function(e,t){if(e&&!(e=e.replace(/:(\/\/)?$/,"")).match(o.protocol_expression))throw new TypeError('Protocol "'+e+"\" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]");return k.call(this,e,t)},s.scheme=s.protocol,s.port=function(e,t){return this._parts.urn?void 0===e?"":this:(void 0!==e&&(0===e&&(e=null),e&&(":"===(e+="").charAt(0)&&(e=e.substring(1)),o.ensureValidPort(e))),x.call(this,e,t))},s.hostname=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0!==e){var r={preventInvalidHostname:this._parts.preventInvalidHostname};if("/"!==o.parseHost(e,r))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');e=r.hostname,this._parts.preventInvalidHostname&&o.ensureValidHostname(e,this._parts.protocol)}return S.call(this,e,t)},s.origin=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){var r=this.protocol();return this.authority()?(r?r+"://":"")+this.authority():""}var n=o(e);return this.protocol(n.protocol()).authority(n.authority()).build(!t),this},s.host=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e)return this._parts.hostname?o.buildHost(this._parts):"";if("/"!==o.parseHost(e,this._parts))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');return this.build(!t),this},s.authority=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e)return this._parts.hostname?o.buildAuthority(this._parts):"";if("/"!==o.parseAuthority(e,this._parts))throw new TypeError('Hostname "'+e+'" contains characters other than [A-Z0-9.-]');return this.build(!t),this},s.userinfo=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){var r=o.buildUserinfo(this._parts);return r?r.substring(0,r.length-1):r}return"@"!==e[e.length-1]&&(e+="@"),o.parseUserinfo(e,this._parts),this.build(!t),this},s.resource=function(e,t){var r;return void 0===e?this.path()+this.search()+this.hash():(r=o.parse(e),this._parts.path=r.path,this._parts.query=r.query,this._parts.fragment=r.fragment,this.build(!t),this)},s.subdomain=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var r=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,r)||""}var n=this._parts.hostname.length-this.domain().length,i=this._parts.hostname.substring(0,n),a=new RegExp("^"+c(i));if(e&&"."!==e.charAt(e.length-1)&&(e+="."),-1!==e.indexOf(":"))throw new TypeError("Domains cannot contain colons");return e&&o.ensureValidHostname(e,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(a,e),this.build(!t),this},s.domain=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("boolean"==typeof e&&(t=e,e=void 0),void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var r=this._parts.hostname.match(/\./g);if(r&&r.length<2)return this._parts.hostname;var n=this._parts.hostname.length-this.tld(t).length-1;return n=this._parts.hostname.lastIndexOf(".",n-1)+1,this._parts.hostname.substring(n)||""}if(!e)throw new TypeError("cannot set domain empty");if(-1!==e.indexOf(":"))throw new TypeError("Domains cannot contain colons");if(o.ensureValidHostname(e,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=e;else{var i=new RegExp(c(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(i,e)}return this.build(!t),this},s.tld=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("boolean"==typeof e&&(t=e,e=void 0),void 0===e){if(!this._parts.hostname||this.is("IP"))return"";var n=this._parts.hostname.lastIndexOf("."),i=this._parts.hostname.substring(n+1);return!0!==t&&r&&r.list[i.toLowerCase()]&&r.get(this._parts.hostname)||i}var o;if(!e)throw new TypeError("cannot set TLD empty");if(e.match(/[^a-zA-Z0-9-]/)){if(!r||!r.is(e))throw new TypeError('TLD "'+e+'" contains characters other than [A-Z0-9]');o=new RegExp(c(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(o,e)}else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");o=new RegExp(c(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(o,e)}return this.build(!t),this},s.directory=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e||!0===e){if(!this._parts.path&&!this._parts.hostname)return"";if("/"===this._parts.path)return"/";var r=this._parts.path.length-this.filename().length-1,n=this._parts.path.substring(0,r)||(this._parts.hostname?"/":"");return e?o.decodePath(n):n}var i=this._parts.path.length-this.filename().length,a=this._parts.path.substring(0,i),s=new RegExp("^"+c(a));return this.is("relative")||(e||(e="/"),"/"!==e.charAt(0)&&(e="/"+e)),e&&"/"!==e.charAt(e.length-1)&&(e+="/"),e=o.recodePath(e),this._parts.path=this._parts.path.replace(s,e),this.build(!t),this},s.filename=function(e,t){if(this._parts.urn)return void 0===e?"":this;if("string"!=typeof e){if(!this._parts.path||"/"===this._parts.path)return"";var r=this._parts.path.lastIndexOf("/"),n=this._parts.path.substring(r+1);return e?o.decodePathSegment(n):n}var i=!1;"/"===e.charAt(0)&&(e=e.substring(1)),e.match(/\.?\//)&&(i=!0);var a=new RegExp(c(this.filename())+"$");return e=o.recodePath(e),this._parts.path=this._parts.path.replace(a,e),i?this.normalizePath(t):this.build(!t),this},s.suffix=function(e,t){if(this._parts.urn)return void 0===e?"":this;if(void 0===e||!0===e){if(!this._parts.path||"/"===this._parts.path)return"";var r,n,i=this.filename(),a=i.lastIndexOf(".");return-1===a?"":(r=i.substring(a+1),n=/^[a-z0-9%]+$/i.test(r)?r:"",e?o.decodePathSegment(n):n)}"."===e.charAt(0)&&(e=e.substring(1));var s,u=this.suffix();if(u)s=e?new RegExp(c(u)+"$"):new RegExp(c("."+u)+"$");else{if(!e)return this;this._parts.path+="."+o.recodePath(e)}return s&&(e=o.recodePath(e),this._parts.path=this._parts.path.replace(s,e)),this.build(!t),this},s.segment=function(e,t,r){var n=this._parts.urn?":":"/",i=this.path(),o="/"===i.substring(0,1),a=i.split(n);if(void 0!==e&&"number"!=typeof e&&(r=t,t=e,e=void 0),void 0!==e&&"number"!=typeof e)throw new Error('Bad segment "'+e+'", must be 0-based integer');if(o&&a.shift(),e<0&&(e=Math.max(a.length+e,0)),void 0===t)return void 0===e?a:a[e];if(null===e||void 0===a[e])if(f(t)){a=[];for(var s=0,u=t.length;s<u;s++)(t[s].length||a.length&&a[a.length-1].length)&&(a.length&&!a[a.length-1].length&&a.pop(),a.push(m(t[s])))}else(t||"string"==typeof t)&&(t=m(t),""===a[a.length-1]?a[a.length-1]=t:a.push(t));else t?a[e]=m(t):a.splice(e,1);return o&&a.unshift(""),this.path(a.join(n),r)},s.segmentCoded=function(e,t,r){var n,i,a;if("number"!=typeof e&&(r=t,t=e,e=void 0),void 0===t){if(f(n=this.segment(e,t,r)))for(i=0,a=n.length;i<a;i++)n[i]=o.decode(n[i]);else n=void 0!==n?o.decode(n):void 0;return n}if(f(t))for(i=0,a=t.length;i<a;i++)t[i]=o.encode(t[i]);else t="string"==typeof t||t instanceof String?o.encode(t):t;return this.segment(e,t,r)};var M=s.query;return s.query=function(e,t){if(!0===e)return o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("function"==typeof e){var r=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace),n=e.call(this,r);return this._parts.query=o.buildQuery(n||r,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!t),this}return void 0!==e&&"string"!=typeof e?(this._parts.query=o.buildQuery(e,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!t),this):M.call(this,e,t)},s.setQuery=function(e,t,r){var n=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("string"==typeof e||e instanceof String)n[e]=void 0!==t?t:null;else{if("object"!==a(e))throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");for(var i in e)u.call(e,i)&&(n[i]=e[i])}return this._parts.query=o.buildQuery(n,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof e&&(r=t),this.build(!r),this},s.addQuery=function(e,t,r){var n=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return o.addQuery(n,e,void 0===t?null:t),this._parts.query=o.buildQuery(n,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof e&&(r=t),this.build(!r),this},s.removeQuery=function(e,t,r){var n=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return o.removeQuery(n,e,t),this._parts.query=o.buildQuery(n,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof e&&(r=t),this.build(!r),this},s.hasQuery=function(e,t,r){var n=o.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return o.hasQuery(n,e,t,r)},s.setSearch=s.setQuery,s.addSearch=s.addQuery,s.removeSearch=s.removeQuery,s.hasSearch=s.hasQuery,s.normalize=function(){return this._parts.urn?this.normalizeProtocol(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build():this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build()},s.normalizeProtocol=function(e){return"string"==typeof this._parts.protocol&&(this._parts.protocol=this._parts.protocol.toLowerCase(),this.build(!e)),this},s.normalizeHostname=function(r){return this._parts.hostname&&(this.is("IDN")&&e?this._parts.hostname=e.toASCII(this._parts.hostname):this.is("IPv6")&&t&&(this._parts.hostname=t.best(this._parts.hostname)),this._parts.hostname=this._parts.hostname.toLowerCase(),this.build(!r)),this},s.normalizePort=function(e){return"string"==typeof this._parts.protocol&&this._parts.port===o.defaultPorts[this._parts.protocol]&&(this._parts.port=null,this.build(!e)),this},s.normalizePath=function(e){var t,r=this._parts.path;if(!r)return this;if(this._parts.urn)return this._parts.path=o.recodeUrnPath(this._parts.path),this.build(!e),this;if("/"===this._parts.path)return this;var n,i,a="";for("/"!==(r=o.recodePath(r)).charAt(0)&&(t=!0,r="/"+r),"/.."!==r.slice(-3)&&"/."!==r.slice(-2)||(r+="/"),r=r.replace(/(\/(\.\/)+)|(\/\.$)/g,"/").replace(/\/{2,}/g,"/"),t&&(a=r.substring(1).match(/^(\.\.\/)+/)||"")&&(a=a[0]);-1!==(n=r.search(/\/\.\.(\/|$)/));)0!==n?(-1===(i=r.substring(0,n).lastIndexOf("/"))&&(i=n),r=r.substring(0,i)+r.substring(n+3)):r=r.substring(3);return t&&this.is("relative")&&(r=a+r.substring(1)),this._parts.path=r,this.build(!e),this},s.normalizePathname=s.normalizePath,s.normalizeQuery=function(e){return"string"==typeof this._parts.query&&(this._parts.query.length?this.query(o.parseQuery(this._parts.query,this._parts.escapeQuerySpace)):this._parts.query=null,this.build(!e)),this},s.normalizeFragment=function(e){return this._parts.fragment||(this._parts.fragment=null,this.build(!e)),this},s.normalizeSearch=s.normalizeQuery,s.normalizeHash=s.normalizeFragment,s.iso8859=function(){var e=o.encode,t=o.decode;o.encode=escape,o.decode=decodeURIComponent;try{this.normalize()}finally{o.encode=e,o.decode=t}return this},s.unicode=function(){var e=o.encode,t=o.decode;o.encode=y,o.decode=unescape;try{this.normalize()}finally{o.encode=e,o.decode=t}return this},s.readable=function(){var t=this.clone();t.username("").password("").normalize();var r="";if(t._parts.protocol&&(r+=t._parts.protocol+"://"),t._parts.hostname&&(t.is("punycode")&&e?(r+=e.toUnicode(t._parts.hostname),t._parts.port&&(r+=":"+t._parts.port)):r+=t.host()),t._parts.hostname&&t._parts.path&&"/"!==t._parts.path.charAt(0)&&(r+="/"),r+=t.path(!0),t._parts.query){for(var n="",i=0,a=t._parts.query.split("&"),s=a.length;i<s;i++){var u=(a[i]||"").split("=");n+="&"+o.decodeQuery(u[0],this._parts.escapeQuerySpace).replace(/&/g,"%26"),void 0!==u[1]&&(n+="="+o.decodeQuery(u[1],this._parts.escapeQuerySpace).replace(/&/g,"%26"))}r+="?"+n.substring(1)}return r+=o.decodeQuery(t.hash(),!0)},s.absoluteTo=function(e){var t,r,n,i=this.clone(),a=["protocol","username","password","hostname","port"];if(this._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(e instanceof o||(e=new o(e)),i._parts.protocol)return i;if(i._parts.protocol=e._parts.protocol,this._parts.hostname)return i;for(r=0;n=a[r];r++)i._parts[n]=e._parts[n];return i._parts.path?(".."===i._parts.path.substring(-2)&&(i._parts.path+="/"),"/"!==i.path().charAt(0)&&(t=(t=e.directory())||(0===e.path().indexOf("/")?"/":""),i._parts.path=(t?t+"/":"")+i._parts.path,i.normalizePath())):(i._parts.path=e._parts.path,i._parts.query||(i._parts.query=e._parts.query)),i.build(),i},s.relativeTo=function(e){var t,r,n,i,a,s=this.clone().normalize();if(s._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(e=new o(e).normalize(),t=s._parts,r=e._parts,i=s.path(),a=e.path(),"/"!==i.charAt(0))throw new Error("URI is already relative");if("/"!==a.charAt(0))throw new Error("Cannot calculate a URI relative to another relative URI");if(t.protocol===r.protocol&&(t.protocol=null),t.username!==r.username||t.password!==r.password)return s.build();if(null!==t.protocol||null!==t.username||null!==t.password)return s.build();if(t.hostname!==r.hostname||t.port!==r.port)return s.build();if(t.hostname=null,t.port=null,i===a)return t.path="",s.build();if(!(n=o.commonPath(i,a)))return s.build();var u=r.path.substring(n.length).replace(/[^\/]*$/,"").replace(/.*?\//g,"../");return t.path=u+t.path.substring(n.length)||"./",s.build()},s.equals=function(e){var t,r,n,i,a,s=this.clone(),c=new o(e),l={};if(s.normalize(),c.normalize(),s.toString()===c.toString())return!0;if(n=s.query(),i=c.query(),s.query(""),c.query(""),s.toString()!==c.toString())return!1;if(n.length!==i.length)return!1;for(a in t=o.parseQuery(n,this._parts.escapeQuerySpace),r=o.parseQuery(i,this._parts.escapeQuerySpace),t)if(u.call(t,a)){if(f(t[a])){if(!p(t[a],r[a]))return!1}else if(t[a]!==r[a])return!1;l[a]=!0}for(a in r)if(u.call(r,a)&&!l[a])return!1;return!0},s.preventInvalidHostname=function(e){return this._parts.preventInvalidHostname=!!e,this},s.duplicateQueryParameters=function(e){return this._parts.duplicateQueryParameters=!!e,this},s.escapeQuerySpace=function(e){return this._parts.escapeQuerySpace=!!e,this},o}))}).call(this,r(0)(e))},function(e,t,r){(function(r){var n,i,o,a;function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}a=function(){return function e(t,r,n){function i(a,s){if(!r[a]){if(!t[a]){if(o)return o(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var c=r[a]={exports:{}};t[a][0].call(c.exports,(function(e){return i(t[a][1][e]||e)}),c,c.exports,e,t,r,n)}return r[a].exports}for(var o=!1,a=0;a<n.length;a++)i(n[a]);return i}({1:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.version="4.0.48"},{}],2:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./utils/properties"),i=(o.isSigner=function(e){return n.isType(e,"Signer")},o);function o(){n.setType(this,"Signer")}r.Signer=i},{"./utils/properties":74}],3:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./utils/bignumber");r.AddressZero="0x0000000000000000000000000000000000000000",r.HashZero="0x0000000000000000000000000000000000000000000000000000000000000000",r.EtherSymbol="Ξ";var i=n.bigNumberify(-1);r.NegativeOne=i;var o=n.bigNumberify(0);r.Zero=o;var a=n.bigNumberify(1);r.One=a;var s=n.bigNumberify(2);r.Two=s;var u=n.bigNumberify("1000000000000000000");r.WeiPerEther=u;var c=n.bigNumberify("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");r.MaxUint256=c},{"./utils/bignumber":63}],4:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var a,u=e("./constants"),c=o(e("./errors")),l=e("./utils/abi-coder"),f=e("./utils/address"),h=e("./utils/bignumber"),d=e("./utils/bytes"),p=e("./utils/interface"),m=e("./utils/properties"),g=e("./providers/abstract-provider"),y=e("./abstract-signer"),v=(i(b,a=y.Signer),b.prototype.getAddress=function(){return Promise.resolve(this.address)},b.prototype._fail=function(e,t){return Promise.resolve().then((function(){c.throwError(e,c.UNSUPPORTED_OPERATION,{operation:t})}))},b.prototype.signMessage=function(e){return this._fail("VoidSigner cannot sign messages","signMessage")},b.prototype.sendTransaction=function(e){return this._fail("VoidSigner cannot sign transactions","sendTransaction")},b.prototype.connect=function(e){return new b(this.address,e)},b);function b(e,t){var r=a.call(this)||this;return m.defineReadOnly(r,"address",e),m.defineReadOnly(r,"provider",t),r}r.VoidSigner=v;var w={chainId:!0,data:!0,from:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};function _(e,t,r){var n=e.interface.functions[t];return function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];var o={},a=null;if(t.length===n.inputs.length+1&&"object"==s(t[t.length-1]))for(var f in null!=(o=m.shallowCopy(t.pop())).blockTag&&(a=o.blockTag),delete o.blockTag,o)if(!w[f])throw new Error("unknown transaction override "+f);if(t.length!=n.inputs.length)throw new Error("incorrect number of arguments");return["data","to"].forEach((function(e){null!=o[e]&&c.throwError("cannot override "+e,c.UNSUPPORTED_OPERATION,{operation:e})})),o.to=e._deployed(a).then((function(){return e.addressPromise})),function e(t,r,n){if(Array.isArray(n)){var i=[];return n.forEach((function(n,o){var a=Array.isArray(r)?r[o]:r[n.name];i.push(e(t,a,n))})),Promise.all(i)}if("address"===n.type)return t.resolveName(r);if("tuple"===n.type)return e(t,r,n.components);var o=n.type.match(/(.*)(\[[0-9]*\]$)/);if(o){if(!Array.isArray(r))throw new Error("invalid value for array");var a=[],s={components:n.components,type:o[1]};return r.forEach((function(r){a.push(e(t,r,s))})),Promise.all(a)}return Promise.resolve(r)}(e.provider,t,n.inputs).then((function(t){if(o.data=n.encode(t),"call"===n.type)return r?Promise.resolve(u.Zero):(e.provider||c.throwError("call (constant functions) require a provider or a signer with a provider",c.UNSUPPORTED_OPERATION,{operation:"call"}),["gasLimit","gasPrice","value"].forEach((function(e){if(null!=o[e])throw new Error("call cannot override "+e)})),null==o.from&&e.signer&&(o.from=e.signer.getAddress()),e.provider.call(o,a).then((function(r){var i;d.hexDataLength(r)%32==4&&"0x08c379a0"===d.hexDataSlice(r,0,4)&&(i=l.defaultAbiCoder.decode(["string"],d.hexDataSlice(r,4)),c.throwError("call revert exception",c.CALL_EXCEPTION,{address:e.address,args:t,method:n.signature,errorSignature:"Error(string)",errorArgs:[i],reason:i,transaction:o}));try{var a=n.decode(r);return 1===n.outputs.length&&(a=a[0]),a}catch(i){throw"0x"===r&&0<n.outputs.length&&c.throwError("call exception",c.CALL_EXCEPTION,{address:e.address,method:n.signature,args:t}),i}})));if("transaction"===n.type)return r?(e.provider||c.throwError("estimate gas require a provider or a signer with a provider",c.UNSUPPORTED_OPERATION,{operation:"estimateGas"}),null==o.from&&e.signer&&(o.from=e.signer.getAddress()),e.provider.estimateGas(o)):(null==o.gasLimit&&null!=n.gas&&(o.gasLimit=h.bigNumberify(n.gas).add(21e3)),e.signer||c.throwError("sending a transaction requires a signer",c.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),null!=o.from&&c.throwError("cannot override from in a transaction",c.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),e.signer.sendTransaction(o).then((function(t){var r=t.wait.bind(t);return t.wait=function(t){return r(t).then((function(t){return t.events=t.logs.map((function(r){var n=m.deepCopy(r),i=e.interface.parseLog(r);return i&&(n.args=i.values,n.decode=i.decode,n.event=i.name,n.eventSignature=i.signature),n.removeListener=function(){return e.provider},n.getBlock=function(){return e.provider.getBlock(t.blockHash)},n.getTransaction=function(){return e.provider.getTransaction(t.transactionHash)},n.getTransactionReceipt=function(){return Promise.resolve(t)},n})),t}))},t})));throw new Error("invalid type - "+n.type)}))}}function A(e){return!e.address||null!=e.topics&&0!==e.topics.length?(e.address||"*")+"@"+(e.topics?e.topics.join(":"):""):"*"}var E=(k.prototype.deployed=function(){return this._deployed()},k.prototype._deployed=function(e){var t=this;return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then((function(){return t})):this._deployedPromise=this.provider.getCode(this.address,e).then((function(e){return"0x"===e&&c.throwError("contract not deployed",c.UNSUPPORTED_OPERATION,{contractAddress:t.address,operation:"getDeployed"}),t}))),this._deployedPromise},k.prototype.fallback=function(e){var t=this;this.signer||c.throwError("sending a transaction requires a signer",c.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});var r=m.shallowCopy(e||{});return["from","to"].forEach((function(e){null!=r[e]&&c.throwError("cannot override "+e,c.UNSUPPORTED_OPERATION,{operation:e})})),r.to=this.addressPromise,this.deployed().then((function(){return t.signer.sendTransaction(r)}))},k.prototype.connect=function(e){"string"==typeof e&&(e=new v(e,this.provider));var t=new k(this.address,this.interface,e);return this.deployTransaction&&m.defineReadOnly(t,"deployTransaction",this.deployTransaction),t},k.prototype.attach=function(e){return new k(e,this.interface,this.signer||this.provider)},k.isIndexed=function(e){return p.Interface.isIndexed(e)},k.prototype._getEventFilter=function(e){var t=this;if("string"==typeof e){if("*"===e)return{prepareEvent:function(e){var r=t.interface.parseLog(e);return r&&(e.args=r.values,e.decode=r.decode,e.event=r.name,e.eventSignature=r.signature),[e]},eventTag:"*",filter:{address:this.address}};-1!==e.indexOf("(")&&(e=l.formatSignature(l.parseSignature("event "+e)));var r=this.interface.events[e];r||c.throwError("unknown event - "+e,c.INVALID_ARGUMENT,{argumnet:"eventName",value:e});var n={address:this.address,topics:[r.topic]};return{prepareEvent:function(e){var t=r.decode(e.data,e.topics);e.args=t;var n=Array.prototype.slice.call(t);return n.push(e),n},event:r,eventTag:A(n),filter:n}}var i={address:this.address},o=null;if(e.topics&&e.topics[0])for(var a in i.topics=e.topics,this.interface.events)if(-1!==a.indexOf("(")){var s=this.interface.events[a];if(s.topic===e.topics[0].toLowerCase()){o=s;break}}return{prepareEvent:function(e){if(!o)return[e];var t=o.decode(e.data,e.topics);e.args=t;var r=Array.prototype.slice.call(t);return r.push(e),r},event:o,eventTag:A(i),filter:i}},k.prototype._addEventListener=function(e,t,r){var n=this;function i(r){var i=m.deepCopy(r),o=e.prepareEvent(i);e.event&&(i.decode=e.event.decode,i.event=e.event.name,i.eventSignature=e.event.signature),i.removeListener=function(){n.removeListener(e.filter,t)},i.getBlock=function(){return n.provider.getBlock(r.blockHash)},i.getTransaction=function(){return n.provider.getTransaction(r.transactionHash)},i.getTransactionReceipt=function(){return n.provider.getTransactionReceipt(r.transactionHash)},n.emit.apply(n,[e.filter].concat(o))}this.provider||c.throwError("events require a provider or a signer with a provider",c.UNSUPPORTED_OPERATION,{operation:"once"}),this.provider.on(e.filter,i),this._events.push({eventFilter:e,listener:t,wrappedListener:i,once:r})},k.prototype.on=function(e,t){return this._addEventListener(this._getEventFilter(e),t,!1),this},k.prototype.once=function(e,t){return this._addEventListener(this._getEventFilter(e),t,!0),this},k.prototype.addListener=function(e,t){return this.on(e,t)},k.prototype.emit=function(e){for(var t=this,r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];if(!this.provider)return!1;var i=!1,o=this._getEventFilter(e);return this._events=this._events.filter((function(e){return e.eventFilter.eventTag!==o.eventTag||(setTimeout((function(){e.listener.apply(t,r)}),0),i=!0,!e.once)})),i},k.prototype.listenerCount=function(e){if(!this.provider)return 0;var t=this._getEventFilter(e);return this._events.filter((function(e){return e.eventFilter.eventTag===t.eventTag})).length},k.prototype.listeners=function(e){if(!this.provider)return[];var t=this._getEventFilter(e);return this._events.filter((function(e){return e.eventFilter.eventTag===t.eventTag})).map((function(e){return e.listener}))},k.prototype.removeAllListeners=function(e){var t=this;if(!this.provider)return this;var r=this._getEventFilter(e);return this._events=this._events.filter((function(e){return e.eventFilter.eventTag!==r.eventTag||(t.provider.removeListener(e.eventFilter.filter,e.wrappedListener),!1)})),this},k.prototype.removeListener=function(e,t){var r=this;if(!this.provider)return this;var n=!1,i=this._getEventFilter(e);return this._events=this._events.filter((function(e){return e.eventFilter.eventTag!==i.eventTag||e.listener!==t||(r.provider.removeListener(e.eventFilter.filter,e.wrappedListener),!!n||!(n=!0))})),this},k);function k(e,t,r){var n=this;if(c.checkNew(this,k),p.Interface.isInterface(t)?m.defineReadOnly(this,"interface",t):m.defineReadOnly(this,"interface",new p.Interface(t)),y.Signer.isSigner(r)?(m.defineReadOnly(this,"provider",r.provider),m.defineReadOnly(this,"signer",r)):g.Provider.isProvider(r)?(m.defineReadOnly(this,"provider",r),m.defineReadOnly(this,"signer",null)):c.throwError("invalid signer or provider",c.INVALID_ARGUMENT,{arg:"signerOrProvider",value:r}),m.defineReadOnly(this,"estimate",{}),m.defineReadOnly(this,"functions",{}),m.defineReadOnly(this,"filters",{}),Object.keys(this.interface.events).forEach((function(e){var t=n.interface.events[e];m.defineReadOnly(n.filters,e,(function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return{address:n.address,topics:t.encodeTopics(e)}}))})),this._events=[],m.defineReadOnly(this,"address",e),this.provider)m.defineReadOnly(this,"addressPromise",this.provider.resolveName(e).then((function(e){if(null==e)throw new Error("name not found");return e})).catch((function(e){throw e})));else try{m.defineReadOnly(this,"addressPromise",Promise.resolve(f.getAddress(e)))}catch(t){c.throwError("provider is required to use non-address contract address",c.INVALID_ARGUMENT,{argument:"addressOrName",value:e})}Object.keys(this.interface.functions).forEach((function(e){var t=_(n,e,!1);null==n[e]?m.defineReadOnly(n,e,t):c.warn("WARNING: Multiple definitions for "+e),null==n.functions[e]&&(m.defineReadOnly(n.functions,e,t),m.defineReadOnly(n.estimate,e,_(n,e,!0)))}))}r.Contract=E;var x=(S.prototype.getDeployTransaction=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r={};if(e.length===this.interface.deployFunction.inputs.length+1)for(var n in r=m.shallowCopy(e.pop()))if(!w[n])throw new Error("unknown transaction override "+n);return["data","from","to"].forEach((function(e){null!=r[e]&&c.throwError("cannot override "+e,c.UNSUPPORTED_OPERATION,{operation:e})})),c.checkArgumentCount(e.length,this.interface.deployFunction.inputs.length," in Contract constructor"),r.data=this.interface.deployFunction.encode(this.bytecode,e),r},S.prototype.deploy=function(){for(var e=this,t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];var n=this.getDeployTransaction.apply(this,t);return this.signer.sendTransaction(n).then((function(t){var r=new E(f.getContractAddress(t),e.interface,e.signer);return m.defineReadOnly(r,"deployTransaction",t),r}))},S.prototype.attach=function(e){return new E(e,this.interface,this.signer)},S.prototype.connect=function(e){return new S(this.interface,this.bytecode,e)},S.fromSolidity=function(e,t){null==e&&c.throwError("missing compiler output",c.MISSING_ARGUMENT,{argument:"compilerOutput"}),"string"==typeof e&&(e=JSON.parse(e));var r=e.abi,n=null;return e.bytecode?n=e.bytecode:e.evm&&e.evm.bytecode&&(n=e.evm.bytecode),new S(r,n,t)},S);function S(e,t,r){var n=null;"string"==typeof t?n=t:d.isArrayish(t)?n=d.hexlify(t):"string"==typeof t.object?n=t.object:c.throwError("bytecode must be a valid hex string",c.INVALID_ARGUMENT,{arg:"bytecode",value:t}),"0x"!==n.substring(0,2)&&(n="0x"+n),d.isHexString(n)||c.throwError("bytecode must be a valid hex string",c.INVALID_ARGUMENT,{arg:"bytecode",value:t}),n.length%2!=0&&c.throwError("bytecode must be valid data (even length)",c.INVALID_ARGUMENT,{arg:"bytecode",value:t}),m.defineReadOnly(this,"bytecode",n),p.Interface.isInterface(e)?m.defineReadOnly(this,"interface",e):m.defineReadOnly(this,"interface",new p.Interface(e)),r&&!y.Signer.isSigner(r)&&c.throwError("invalid signer",c.INVALID_ARGUMENT,{arg:"signer",value:null}),m.defineReadOnly(this,"signer",r||null)}r.ContractFactory=x},{"./abstract-signer":2,"./constants":3,"./errors":5,"./providers/abstract-provider":50,"./utils/abi-coder":59,"./utils/address":60,"./utils/bignumber":63,"./utils/bytes":64,"./utils/interface":69,"./utils/properties":74}],5:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./_version");r.UNKNOWN_ERROR="UNKNOWN_ERROR",r.NOT_IMPLEMENTED="NOT_IMPLEMENTED",r.MISSING_NEW="MISSING_NEW",r.CALL_EXCEPTION="CALL_EXCEPTION",r.INVALID_ARGUMENT="INVALID_ARGUMENT",r.MISSING_ARGUMENT="MISSING_ARGUMENT",r.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",r.NUMERIC_FAULT="NUMERIC_FAULT",r.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",r.NONCE_EXPIRED="NONCE_EXPIRED",r.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED";var i=!(r.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION"),o=!1;function a(e,t,i){if(o)throw new Error("unknown error");t=t||r.UNKNOWN_ERROR,i=i||{};var a=[];Object.keys(i).forEach((function(e){try{a.push(e+"="+JSON.stringify(i[e]))}catch(t){a.push(e+"="+JSON.stringify(i[e].toString()))}})),a.push("version="+n.version);var s=e;a.length&&(e+=" ("+a.join(", ")+")");var u=new Error(e);throw u.reason=s,u.code=t,Object.keys(i).forEach((function(e){u[e]=i[e]})),u}r.throwError=a,r.checkNew=function(e,t){e instanceof t||a("missing new",r.MISSING_NEW,{name:t.name})},r.checkArgumentCount=function(e,t,n){n=n||"",e<t&&a("missing argument"+n,r.MISSING_ARGUMENT,{count:e,expectedCount:t}),t<e&&a("too many arguments"+n,r.UNEXPECTED_ARGUMENT,{count:e,expectedCount:t})},r.setCensorship=function(e,t){i&&a("error censorship permanent",r.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),o=!!e,i=!!t},r.checkNormalize=function(){try{if(["NFD","NFC","NFKD","NFKC"].forEach((function(e){try{"test".normalize(e)}catch(t){throw new Error("missing "+e)}})),String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(e){a("platform missing String.prototype.normalize",r.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:e.message})}};var s={debug:1,default:2,info:2,warn:3,error:4,off:5},u=s.default;function c(e,t){u>s[e]||console.log.apply(console,t)}function l(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];c("warn",e)}r.setLogLevel=function(e){var t=s[e];null!=t?u=t:l("invliad log level - "+e)},r.warn=l,r.info=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];c("info",e)}},{"./_version":1}],6:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("./contract");r.Contract=i.Contract,r.ContractFactory=i.ContractFactory,r.VoidSigner=i.VoidSigner;var o=e("./abstract-signer");r.Signer=o.Signer;var a=e("./wallet");r.Wallet=a.Wallet;var s=n(e("./constants"));r.constants=s;var u=n(e("./errors"));r.errors=u;var c=n(e("./providers"));r.providers=c;var l=n(e("./utils"));r.utils=l;var f=n(e("./wordlists"));r.wordlists=f;var h=e("./utils/shims");r.platform=h.platform;var d=e("./_version");r.version=d.version,r.getDefaultProvider=function(e){null==e&&(e="homestead");var t=l.getNetwork(e);return t&&t._defaultProvider||u.throwError("unsupported getDefaultProvider network",u.UNSUPPORTED_OPERATION,{operation:"getDefaultProvider",network:e}),t._defaultProvider(c)}},{"./_version":1,"./abstract-signer":2,"./constants":3,"./contract":4,"./errors":5,"./providers":54,"./utils":68,"./utils/shims":80,"./wallet":88,"./wordlists":89}],7:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("./ethers"));r.ethers=i,function(e){for(var t in e)r.hasOwnProperty(t)||(r[t]=e[t])}(e("./ethers"))},{"./ethers":6}],8:[function(e,t,r){"use strict";!function(e){function n(e){return parseInt(e)===e}function i(e){if(n(e.length)){for(var t=0;t<e.length;t++)if(!n(e[t])||e[t]<0||255<e[t])return;return 1}}function o(e,t){if(e.buffer&&ArrayBuffer.isView(e)&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!i(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(n(e.length)&&i(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function a(e){return new Uint8Array(e)}function s(e,t,r,n,i){null==n&&null==i||(e=e.slice?e.slice(n,i):Array.prototype.slice.call(e,n,i)),t.set(e,r)}var u,c={toBytes:function(e){var t=[],r=0;for(e=encodeURI(e);r<e.length;){var n=e.charCodeAt(r++);37===n?(t.push(parseInt(e.substr(r,2),16)),r+=2):t.push(n)}return o(t)},fromBytes:function(e){for(var t=[],r=0;r<e.length;){var n=e[r];n<128?(t.push(String.fromCharCode(n)),r++):191<n&&n<224?(t.push(String.fromCharCode((31&n)<<6|63&e[r+1])),r+=2):(t.push(String.fromCharCode((15&n)<<12|(63&e[r+1])<<6|63&e[r+2])),r+=3)}return t.join("")}},l=(u="0123456789abcdef",{toBytes:function(e){for(var t=[],r=0;r<e.length;r+=2)t.push(parseInt(e.substr(r,2),16));return t},fromBytes:function(e){for(var t=[],r=0;r<e.length;r++){var n=e[r];t.push(u[(240&n)>>4]+u[15&n])}return t.join("")}}),f={16:10,24:12,32:14},h=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],d=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],p=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],m=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],g=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],y=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],v=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],b=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],w=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],_=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],A=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],E=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],k=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],x=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],S=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function M(e){for(var t=[],r=0;r<e.length;r+=4)t.push(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]);return t}var I=function e(t){if(!(this instanceof e))throw Error("AES must be instanitated with `new`");Object.defineProperty(this,"key",{value:o(t,!0)}),this._prepare()};I.prototype._prepare=function(){var e=f[this.key.length];if(null==e)throw new Error("invalid key size (must be 16, 24 or 32 bytes)");this._Ke=[],this._Kd=[];for(var t=0;t<=e;t++)this._Ke.push([0,0,0,0]),this._Kd.push([0,0,0,0]);var r,n=4*(e+1),i=this.key.length/4,o=M(this.key);for(t=0;t<i;t++)r=t>>2,this._Ke[r][t%4]=o[t],this._Kd[e-r][t%4]=o[t];for(var a,s=0,u=i;u<n;){if(a=o[i-1],o[0]^=d[a>>16&255]<<24^d[a>>8&255]<<16^d[255&a]<<8^d[a>>24&255]^h[s]<<24,s+=1,8!=i)for(t=1;t<i;t++)o[t]^=o[t-1];else{for(t=1;t<i/2;t++)o[t]^=o[t-1];for(a=o[i/2-1],o[i/2]^=d[255&a]^d[a>>8&255]<<8^d[a>>16&255]<<16^d[a>>24&255]<<24,t=i/2+1;t<i;t++)o[t]^=o[t-1]}for(t=0;t<i&&u<n;)c=u>>2,l=u%4,this._Ke[c][l]=o[t],this._Kd[e-c][l]=o[t++],u++}for(var c=1;c<e;c++)for(var l=0;l<4;l++)a=this._Kd[c][l],this._Kd[c][l]=E[a>>24&255]^k[a>>16&255]^x[a>>8&255]^S[255&a]},I.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,r=[0,0,0,0],n=M(e),i=0;i<4;i++)n[i]^=this._Ke[0][i];for(var o=1;o<t;o++){for(i=0;i<4;i++)r[i]=m[n[i]>>24&255]^g[n[(i+1)%4]>>16&255]^y[n[(i+2)%4]>>8&255]^v[255&n[(i+3)%4]]^this._Ke[o][i];n=r.slice()}var s,u=a(16);for(i=0;i<4;i++)s=this._Ke[t][i],u[4*i]=255&(d[n[i]>>24&255]^s>>24),u[4*i+1]=255&(d[n[(i+1)%4]>>16&255]^s>>16),u[4*i+2]=255&(d[n[(i+2)%4]>>8&255]^s>>8),u[4*i+3]=255&(d[255&n[(i+3)%4]]^s);return u},I.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,r=[0,0,0,0],n=M(e),i=0;i<4;i++)n[i]^=this._Kd[0][i];for(var o=1;o<t;o++){for(i=0;i<4;i++)r[i]=b[n[i]>>24&255]^w[n[(i+3)%4]>>16&255]^_[n[(i+2)%4]>>8&255]^A[255&n[(i+1)%4]]^this._Kd[o][i];n=r.slice()}var s,u=a(16);for(i=0;i<4;i++)s=this._Kd[t][i],u[4*i]=255&(p[n[i]>>24&255]^s>>24),u[4*i+1]=255&(p[n[(i+3)%4]>>16&255]^s>>16),u[4*i+2]=255&(p[n[(i+2)%4]>>8&255]^s>>8),u[4*i+3]=255&(p[255&n[(i+1)%4]]^s);return u};var P=function e(t){if(!(this instanceof e))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new I(t)};P.prototype.encrypt=function(e){if((e=o(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=a(e.length),r=a(16),n=0;n<e.length;n+=16)s(e,r,0,n,n+16),s(r=this._aes.encrypt(r),t,n);return t},P.prototype.decrypt=function(e){if((e=o(e)).length%16!=0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var t=a(e.length),r=a(16),n=0;n<e.length;n+=16)s(e,r,0,n,n+16),s(r=this._aes.decrypt(r),t,n);return t};var T=function e(t,r){if(!(this instanceof e))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Block Chaining",this.name="cbc",r){if(16!=r.length)throw new Error("invalid initialation vector size (must be 16 bytes)")}else r=a(16);this._lastCipherblock=o(r,!0),this._aes=new I(t)};T.prototype.encrypt=function(e){if((e=o(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=a(e.length),r=a(16),n=0;n<e.length;n+=16){s(e,r,0,n,n+16);for(var i=0;i<16;i++)r[i]^=this._lastCipherblock[i];this._lastCipherblock=this._aes.encrypt(r),s(this._lastCipherblock,t,n)}return t},T.prototype.decrypt=function(e){if((e=o(e)).length%16!=0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var t=a(e.length),r=a(16),n=0;n<e.length;n+=16){s(e,r,0,n,n+16),r=this._aes.decrypt(r);for(var i=0;i<16;i++)t[n+i]=r[i]^this._lastCipherblock[i];s(e,this._lastCipherblock,0,n,n+16)}return t};var N=function e(t,r,n){if(!(this instanceof e))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Feedback",this.name="cfb",r){if(16!=r.length)throw new Error("invalid initialation vector size (must be 16 size)")}else r=a(16);n=n||1,this.segmentSize=n,this._shiftRegister=o(r,!0),this._aes=new I(t)};N.prototype.encrypt=function(e){if(e.length%this.segmentSize!=0)throw new Error("invalid plaintext size (must be segmentSize bytes)");for(var t,r=o(e,!0),n=0;n<r.length;n+=this.segmentSize){t=this._aes.encrypt(this._shiftRegister);for(var i=0;i<this.segmentSize;i++)r[n+i]^=t[i];s(this._shiftRegister,this._shiftRegister,0,this.segmentSize),s(r,this._shiftRegister,16-this.segmentSize,n,n+this.segmentSize)}return r},N.prototype.decrypt=function(e){if(e.length%this.segmentSize!=0)throw new Error("invalid ciphertext size (must be segmentSize bytes)");for(var t,r=o(e,!0),n=0;n<r.length;n+=this.segmentSize){t=this._aes.encrypt(this._shiftRegister);for(var i=0;i<this.segmentSize;i++)r[n+i]^=t[i];s(this._shiftRegister,this._shiftRegister,0,this.segmentSize),s(e,this._shiftRegister,16-this.segmentSize,n,n+this.segmentSize)}return r};var O=function e(t,r){if(!(this instanceof e))throw Error("AES must be instanitated with `new`");if(this.description="Output Feedback",this.name="ofb",r){if(16!=r.length)throw new Error("invalid initialation vector size (must be 16 bytes)")}else r=a(16);this._lastPrecipher=o(r,!0),this._lastPrecipherIndex=16,this._aes=new I(t)};O.prototype.encrypt=function(e){for(var t=o(e,!0),r=0;r<t.length;r++)16===this._lastPrecipherIndex&&(this._lastPrecipher=this._aes.encrypt(this._lastPrecipher),this._lastPrecipherIndex=0),t[r]^=this._lastPrecipher[this._lastPrecipherIndex++];return t},O.prototype.decrypt=O.prototype.encrypt;var R=function e(t){if(!(this instanceof e))throw Error("Counter must be instanitated with `new`");0===t||t||(t=1),"number"==typeof t?(this._counter=a(16),this.setValue(t)):this.setBytes(t)};R.prototype.setValue=function(e){if("number"!=typeof e||parseInt(e)!=e)throw new Error("invalid counter value (must be an integer)");for(var t=15;0<=t;--t)this._counter[t]=e%256,e>>=8},R.prototype.setBytes=function(e){if(16!=(e=o(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},R.prototype.increment=function(){for(var e=15;0<=e;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var C=function e(t,r){if(!(this instanceof e))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",r instanceof R||(r=new R(r)),this._counter=r,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new I(t)};C.prototype.encrypt=function(e){for(var t=o(e,!0),r=0;r<t.length;r++)16===this._remainingCounterIndex&&(this._remainingCounter=this._aes.encrypt(this._counter._counter),this._remainingCounterIndex=0,this._counter.increment()),t[r]^=this._remainingCounter[this._remainingCounterIndex++];return t},C.prototype.decrypt=C.prototype.encrypt;var j={AES:I,Counter:R,ModeOfOperation:{ecb:P,cbc:T,cfb:N,ofb:O,ctr:C},utils:{hex:l,utf8:c},padding:{pkcs7:{pad:function(e){var t=16-(e=o(e,!0)).length%16,r=a(e.length+t);s(e,r);for(var n=e.length;n<r.length;n++)r[n]=t;return r},strip:function(e){if((e=o(e,!0)).length<16)throw new Error("PKCS#7 invalid length");var t=e[e.length-1];if(16<t)throw new Error("PKCS#7 padding byte out of range");for(var r=e.length-t,n=0;n<t;n++)if(e[r+n]!==t)throw new Error("PKCS#7 invalid padding byte");var i=a(r);return s(e,i,0,0,r),i}}},_arrayTest:{coerceArray:o,createArray:a,copyArray:s}};void 0!==r?t.exports=j:(e.aesjs&&(j._aesjs=e.aesjs),e.aesjs=j)}(this)},{}],9:[function(e,t,r){!function(t,r){"use strict";function n(e,t){if(!e)throw new Error(t||"Assertion failed")}function i(e,t){function r(){}e.super_=t,r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function o(e,t,r){if(o.isBN(e))return e;this.negative=0,this.words=null,this.length=0,(this.red=null)!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var a;"object"==s(t)?t.exports=o:r.BN=o,(o.BN=o).wordSize=26;try{a=e("buffer").Buffer}catch(t){}function u(e,t,r){for(var n=0,i=Math.min(e.length,r),o=t;o<i;o++){var a=e.charCodeAt(o)-48;n<<=4,n|=49<=a&&a<=54?a-49+10:17<=a&&a<=22?a-17+10:15&a}return n}function c(e,t,r,n){for(var i=0,o=Math.min(e.length,r),a=t;a<o;a++){var s=e.charCodeAt(a)-48;i*=n,i+=49<=s?s-49+10:17<=s?s-17+10:s}return i}o.isBN=function(e){return e instanceof o||null!==e&&"object"==s(e)&&e.constructor.wordSize===o.wordSize&&Array.isArray(e.words)},o.max=function(e,t){return 0<e.cmp(t)?e:t},o.min=function(e,t){return e.cmp(t)<0?e:t},o.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==s(e))return this._initArray(e,t,r);"hex"===t&&(t=16),n(t===(0|t)&&2<=t&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),t,r)},o.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),t,r)},o.prototype._initArray=function(e,t,r){if(n("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i,o,a=0;a<this.length;a++)this.words[a]=0;var s=0;if("be"===r)for(a=e.length-1,i=0;0<=a;a-=3)o=e[a]|e[a-1]<<8|e[a-2]<<16,this.words[i]|=o<<s&67108863,this.words[i+1]=o>>>26-s&67108863,26<=(s+=24)&&(s-=26,i++);else if("le"===r)for(i=a=0;a<e.length;a+=3)o=e[a]|e[a+1]<<8|e[a+2]<<16,this.words[i]|=o<<s&67108863,this.words[i+1]=o>>>26-s&67108863,26<=(s+=24)&&(s-=26,i++);return this.strip()},o.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r,n=0;n<this.length;n++)this.words[n]=0;for(var i=0,o=(n=e.length-6,0);t<=n;n-=6)r=u(e,n,n+6),this.words[o]|=r<<i&67108863,this.words[o+1]|=r>>>26-i&4194303,26<=(i+=24)&&(i-=26,o++);n+6!==t&&(r=u(e,t,n+6),this.words[o]|=r<<i&67108863,this.words[o+1]|=r>>>26-i&4194303),this.strip()},o.prototype._parseBase=function(e,t,r){this.words=[0];for(var n=0,i=this.length=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var o=e.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,l=r;l<s;l+=n)u=c(e,l,l+n,t),this.imuln(i),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!=a){var f=1;for(u=c(e,l,e.length,t),l=0;l<a;l++)f*=t;this.imuln(f),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}},o.prototype.copy=function(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},o.prototype.clone=function(){var e=new o(null);return this.copy(e),e},o.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},o.prototype.strip=function(){for(;1<this.length&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0,i=(n=(r.length=n)-1|0,67108863&(f=(0|e.words[0])*(0|t.words[0]))),o=f/67108864|0;r.words[0]=i;for(var a=1;a<n;a++){for(var s=o>>>26,u=67108863&o,c=Math.min(a,t.length-1),l=Math.max(0,a-e.length+1);l<=c;l++){var f,h=a-l|0;s+=(f=(0|e.words[h])*(0|t.words[l])+u)/67108864|0,u=67108863&f}r.words[a]=0|u,o=0|s}return 0!==o?r.words[a]=0|o:r.length--,r.strip()}o.prototype.toString=function(e,t){if(t=0|t||1,16===(e=e||10)||"hex"===e){u="";for(var r=0,i=0,o=0;o<this.length;o++){var a=this.words[o],s=(16777215&(a<<r|i)).toString(16),u=0!=(i=a>>>24-r&16777215)||o!==this.length-1?l[6-s.length]+s+u:s+u;26<=(r+=2)&&(r-=26,o--)}for(0!==i&&(u=i.toString(16)+u);u.length%t!=0;)u="0"+u;return 0!==this.negative&&(u="-"+u),u}if(e===(0|e)&&2<=e&&e<=36){var c=f[e],d=h[e];for(u="",(p=this.clone()).negative=0;!p.isZero();){var p,m=p.modn(d).toString(e);u=(p=p.idivn(d)).isZero()?m+u:l[c-m.length]+m+u}for(this.isZero()&&(u="0"+u);u.length%t!=0;)u="0"+u;return 0!==this.negative&&(u="-"+u),u}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:2<this.length&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(e,t){return n(void 0!==a),this.toArrayLike(a,e,t)},o.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},o.prototype.toArrayLike=function(e,t,r){var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(0<o,"Requested array length <= 0"),this.strip();var a,s,u="le"===t,c=new e(o),l=this.clone();if(u){for(s=0;!l.isZero();s++)a=l.andln(255),l.iushrn(8),c[s]=a;for(;s<o;s++)c[s]=0}else{for(s=0;s<o-i;s++)c[s]=0;for(s=0;!l.isZero();s++)a=l.andln(255),l.iushrn(8),c[o-s-1]=a}return c},Math.clz32?o.prototype._countBits=function(e){return 32-Math.clz32(e)}:o.prototype._countBits=function(e){var t=e,r=0;return 4096<=t&&(r+=13,t>>>=13),64<=t&&(r+=7,t>>>=7),8<=t&&(r+=4,t>>>=4),2<=t&&(r+=2,t>>>=2),r+t},o.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},o.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var r=this._zeroBits(this.words[t]);if(e+=r,26!==r)break}return e},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},o.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return 0!==this.negative},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this.strip()},o.prototype.ior=function(e){return n(0==(this.negative|e.negative)),this.iuor(e)},o.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.prototype.iuand=function(e){for(var t=this.length>e.length?e:this,r=0;r<t.length;r++)this.words[r]=this.words[r]&e.words[r];return this.length=t.length,this.strip()},o.prototype.iand=function(e){return n(0==(this.negative|e.negative)),this.iuand(e)},o.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.prototype.iuxor=function(e){for(var t,r=this.length>e.length?(t=this,e):(t=e,this),n=0;n<r.length;n++)this.words[n]=t.words[n]^r.words[n];if(this!==t)for(;n<t.length;n++)this.words[n]=t.words[n];return this.length=t.length,this.strip()},o.prototype.ixor=function(e){return n(0==(this.negative|e.negative)),this.iuxor(e)},o.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){n("number"==typeof e&&0<=e);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),0<r&&t--;for(var i=0;i<t;i++)this.words[i]=67108863&~this.words[i];return 0<r&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,t){n("number"==typeof e&&0<=e);var r=e/26|0,i=e%26;return this._expand(1+r),this.words[r]=t?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},o.prototype.iadd=function(e){var t,r,n;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();n=this.length>e.length?(r=this,e):(r=e,this);for(var i=0,o=0;o<n.length;o++)t=(0|r.words[o])+(0|n.words[o])+i,this.words[o]=67108863&t,i=t>>>26;for(;0!==i&&o<r.length;o++)t=(0|r.words[o])+i,this.words[o]=67108863&t,i=t>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},o.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},o.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;n=0<i?(r=this,e):(r=e,this);for(var o=0,a=0;a<n.length;a++)o=(t=(0|r.words[a])-(0|n.words[a])+o)>>26,this.words[a]=67108863&t;for(;0!==o&&a<r.length;a++)o=(t=(0|r.words[a])+o)>>26,this.words[a]=67108863&t;if(0===o&&a<r.length&&r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this.length=Math.max(this.length,a),r!==this&&(this.negative=1),this.strip()},o.prototype.sub=function(e){return this.clone().isub(e)};var p=function(e,t,r){var n,i,o,a=e.words,s=t.words,u=r.words,c=0|a[0],l=8191&c,f=c>>>13,h=0|a[1],d=8191&h,p=h>>>13,m=0|a[2],g=8191&m,y=m>>>13,v=0|a[3],b=8191&v,w=v>>>13,_=0|a[4],A=8191&_,E=_>>>13,k=0|a[5],x=8191&k,S=k>>>13,M=0|a[6],I=8191&M,P=M>>>13,T=0|a[7],N=8191&T,O=T>>>13,R=0|a[8],C=8191&R,j=R>>>13,L=0|a[9],B=8191&L,U=L>>>13,D=0|s[0],F=8191&D,z=D>>>13,H=0|s[1],G=8191&H,q=H>>>13,V=0|s[2],W=8191&V,K=V>>>13,Z=0|s[3],Q=8191&Z,J=Z>>>13,$=0|s[4],Y=8191&$,X=$>>>13,ee=0|s[5],te=8191&ee,re=ee>>>13,ne=0|s[6],ie=8191&ne,oe=ne>>>13,ae=0|s[7],se=8191&ae,ue=ae>>>13,ce=0|s[8],le=8191&ce,fe=ce>>>13,he=0|s[9],de=8191&he,pe=he>>>13;r.negative=e.negative^t.negative,r.length=19;var me=(0+Math.imul(l,F)|0)+((8191&(i=Math.imul(l,z)+Math.imul(f,F)|0))<<13)|0,ge=(Math.imul(f,z)+(i>>>13)|0)+(me>>>26)|0;me&=67108863,n=Math.imul(d,F),i=Math.imul(d,z)+Math.imul(p,F)|0,o=Math.imul(p,z);var ye=(ge+(n+Math.imul(l,G)|0)|0)+((8191&(i=(i+Math.imul(l,q)|0)+Math.imul(f,G)|0))<<13)|0;ge=((o+Math.imul(f,q)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(g,F),i=Math.imul(g,z)+Math.imul(y,F)|0,o=Math.imul(y,z),n=n+Math.imul(d,G)|0,i=(i+Math.imul(d,q)|0)+Math.imul(p,G)|0,o=o+Math.imul(p,q)|0;var ve=(ge+(n+Math.imul(l,W)|0)|0)+((8191&(i=(i+Math.imul(l,K)|0)+Math.imul(f,W)|0))<<13)|0;ge=((o+Math.imul(f,K)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(b,F),i=Math.imul(b,z)+Math.imul(w,F)|0,o=Math.imul(w,z),n=n+Math.imul(g,G)|0,i=(i+Math.imul(g,q)|0)+Math.imul(y,G)|0,o=o+Math.imul(y,q)|0,n=n+Math.imul(d,W)|0,i=(i+Math.imul(d,K)|0)+Math.imul(p,W)|0,o=o+Math.imul(p,K)|0;var be=(ge+(n+Math.imul(l,Q)|0)|0)+((8191&(i=(i+Math.imul(l,J)|0)+Math.imul(f,Q)|0))<<13)|0;ge=((o+Math.imul(f,J)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(A,F),i=Math.imul(A,z)+Math.imul(E,F)|0,o=Math.imul(E,z),n=n+Math.imul(b,G)|0,i=(i+Math.imul(b,q)|0)+Math.imul(w,G)|0,o=o+Math.imul(w,q)|0,n=n+Math.imul(g,W)|0,i=(i+Math.imul(g,K)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,K)|0,n=n+Math.imul(d,Q)|0,i=(i+Math.imul(d,J)|0)+Math.imul(p,Q)|0,o=o+Math.imul(p,J)|0;var we=(ge+(n+Math.imul(l,Y)|0)|0)+((8191&(i=(i+Math.imul(l,X)|0)+Math.imul(f,Y)|0))<<13)|0;ge=((o+Math.imul(f,X)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(x,F),i=Math.imul(x,z)+Math.imul(S,F)|0,o=Math.imul(S,z),n=n+Math.imul(A,G)|0,i=(i+Math.imul(A,q)|0)+Math.imul(E,G)|0,o=o+Math.imul(E,q)|0,n=n+Math.imul(b,W)|0,i=(i+Math.imul(b,K)|0)+Math.imul(w,W)|0,o=o+Math.imul(w,K)|0,n=n+Math.imul(g,Q)|0,i=(i+Math.imul(g,J)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,J)|0,n=n+Math.imul(d,Y)|0,i=(i+Math.imul(d,X)|0)+Math.imul(p,Y)|0,o=o+Math.imul(p,X)|0;var _e=(ge+(n+Math.imul(l,te)|0)|0)+((8191&(i=(i+Math.imul(l,re)|0)+Math.imul(f,te)|0))<<13)|0;ge=((o+Math.imul(f,re)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(I,F),i=Math.imul(I,z)+Math.imul(P,F)|0,o=Math.imul(P,z),n=n+Math.imul(x,G)|0,i=(i+Math.imul(x,q)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,q)|0,n=n+Math.imul(A,W)|0,i=(i+Math.imul(A,K)|0)+Math.imul(E,W)|0,o=o+Math.imul(E,K)|0,n=n+Math.imul(b,Q)|0,i=(i+Math.imul(b,J)|0)+Math.imul(w,Q)|0,o=o+Math.imul(w,J)|0,n=n+Math.imul(g,Y)|0,i=(i+Math.imul(g,X)|0)+Math.imul(y,Y)|0,o=o+Math.imul(y,X)|0,n=n+Math.imul(d,te)|0,i=(i+Math.imul(d,re)|0)+Math.imul(p,te)|0,o=o+Math.imul(p,re)|0;var Ae=(ge+(n+Math.imul(l,ie)|0)|0)+((8191&(i=(i+Math.imul(l,oe)|0)+Math.imul(f,ie)|0))<<13)|0;ge=((o+Math.imul(f,oe)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(N,F),i=Math.imul(N,z)+Math.imul(O,F)|0,o=Math.imul(O,z),n=n+Math.imul(I,G)|0,i=(i+Math.imul(I,q)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,q)|0,n=n+Math.imul(x,W)|0,i=(i+Math.imul(x,K)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,K)|0,n=n+Math.imul(A,Q)|0,i=(i+Math.imul(A,J)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,J)|0,n=n+Math.imul(b,Y)|0,i=(i+Math.imul(b,X)|0)+Math.imul(w,Y)|0,o=o+Math.imul(w,X)|0,n=n+Math.imul(g,te)|0,i=(i+Math.imul(g,re)|0)+Math.imul(y,te)|0,o=o+Math.imul(y,re)|0,n=n+Math.imul(d,ie)|0,i=(i+Math.imul(d,oe)|0)+Math.imul(p,ie)|0,o=o+Math.imul(p,oe)|0;var Ee=(ge+(n+Math.imul(l,se)|0)|0)+((8191&(i=(i+Math.imul(l,ue)|0)+Math.imul(f,se)|0))<<13)|0;ge=((o+Math.imul(f,ue)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(C,F),i=Math.imul(C,z)+Math.imul(j,F)|0,o=Math.imul(j,z),n=n+Math.imul(N,G)|0,i=(i+Math.imul(N,q)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,q)|0,n=n+Math.imul(I,W)|0,i=(i+Math.imul(I,K)|0)+Math.imul(P,W)|0,o=o+Math.imul(P,K)|0,n=n+Math.imul(x,Q)|0,i=(i+Math.imul(x,J)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,J)|0,n=n+Math.imul(A,Y)|0,i=(i+Math.imul(A,X)|0)+Math.imul(E,Y)|0,o=o+Math.imul(E,X)|0,n=n+Math.imul(b,te)|0,i=(i+Math.imul(b,re)|0)+Math.imul(w,te)|0,o=o+Math.imul(w,re)|0,n=n+Math.imul(g,ie)|0,i=(i+Math.imul(g,oe)|0)+Math.imul(y,ie)|0,o=o+Math.imul(y,oe)|0,n=n+Math.imul(d,se)|0,i=(i+Math.imul(d,ue)|0)+Math.imul(p,se)|0,o=o+Math.imul(p,ue)|0;var ke=(ge+(n+Math.imul(l,le)|0)|0)+((8191&(i=(i+Math.imul(l,fe)|0)+Math.imul(f,le)|0))<<13)|0;ge=((o+Math.imul(f,fe)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(B,F),i=Math.imul(B,z)+Math.imul(U,F)|0,o=Math.imul(U,z),n=n+Math.imul(C,G)|0,i=(i+Math.imul(C,q)|0)+Math.imul(j,G)|0,o=o+Math.imul(j,q)|0,n=n+Math.imul(N,W)|0,i=(i+Math.imul(N,K)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,K)|0,n=n+Math.imul(I,Q)|0,i=(i+Math.imul(I,J)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,J)|0,n=n+Math.imul(x,Y)|0,i=(i+Math.imul(x,X)|0)+Math.imul(S,Y)|0,o=o+Math.imul(S,X)|0,n=n+Math.imul(A,te)|0,i=(i+Math.imul(A,re)|0)+Math.imul(E,te)|0,o=o+Math.imul(E,re)|0,n=n+Math.imul(b,ie)|0,i=(i+Math.imul(b,oe)|0)+Math.imul(w,ie)|0,o=o+Math.imul(w,oe)|0,n=n+Math.imul(g,se)|0,i=(i+Math.imul(g,ue)|0)+Math.imul(y,se)|0,o=o+Math.imul(y,ue)|0,n=n+Math.imul(d,le)|0,i=(i+Math.imul(d,fe)|0)+Math.imul(p,le)|0,o=o+Math.imul(p,fe)|0;var xe=(ge+(n+Math.imul(l,de)|0)|0)+((8191&(i=(i+Math.imul(l,pe)|0)+Math.imul(f,de)|0))<<13)|0;ge=((o+Math.imul(f,pe)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(B,G),i=Math.imul(B,q)+Math.imul(U,G)|0,o=Math.imul(U,q),n=n+Math.imul(C,W)|0,i=(i+Math.imul(C,K)|0)+Math.imul(j,W)|0,o=o+Math.imul(j,K)|0,n=n+Math.imul(N,Q)|0,i=(i+Math.imul(N,J)|0)+Math.imul(O,Q)|0,o=o+Math.imul(O,J)|0,n=n+Math.imul(I,Y)|0,i=(i+Math.imul(I,X)|0)+Math.imul(P,Y)|0,o=o+Math.imul(P,X)|0,n=n+Math.imul(x,te)|0,i=(i+Math.imul(x,re)|0)+Math.imul(S,te)|0,o=o+Math.imul(S,re)|0,n=n+Math.imul(A,ie)|0,i=(i+Math.imul(A,oe)|0)+Math.imul(E,ie)|0,o=o+Math.imul(E,oe)|0,n=n+Math.imul(b,se)|0,i=(i+Math.imul(b,ue)|0)+Math.imul(w,se)|0,o=o+Math.imul(w,ue)|0,n=n+Math.imul(g,le)|0,i=(i+Math.imul(g,fe)|0)+Math.imul(y,le)|0,o=o+Math.imul(y,fe)|0;var Se=(ge+(n+Math.imul(d,de)|0)|0)+((8191&(i=(i+Math.imul(d,pe)|0)+Math.imul(p,de)|0))<<13)|0;ge=((o+Math.imul(p,pe)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(B,W),i=Math.imul(B,K)+Math.imul(U,W)|0,o=Math.imul(U,K),n=n+Math.imul(C,Q)|0,i=(i+Math.imul(C,J)|0)+Math.imul(j,Q)|0,o=o+Math.imul(j,J)|0,n=n+Math.imul(N,Y)|0,i=(i+Math.imul(N,X)|0)+Math.imul(O,Y)|0,o=o+Math.imul(O,X)|0,n=n+Math.imul(I,te)|0,i=(i+Math.imul(I,re)|0)+Math.imul(P,te)|0,o=o+Math.imul(P,re)|0,n=n+Math.imul(x,ie)|0,i=(i+Math.imul(x,oe)|0)+Math.imul(S,ie)|0,o=o+Math.imul(S,oe)|0,n=n+Math.imul(A,se)|0,i=(i+Math.imul(A,ue)|0)+Math.imul(E,se)|0,o=o+Math.imul(E,ue)|0,n=n+Math.imul(b,le)|0,i=(i+Math.imul(b,fe)|0)+Math.imul(w,le)|0,o=o+Math.imul(w,fe)|0;var Me=(ge+(n+Math.imul(g,de)|0)|0)+((8191&(i=(i+Math.imul(g,pe)|0)+Math.imul(y,de)|0))<<13)|0;ge=((o+Math.imul(y,pe)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(B,Q),i=Math.imul(B,J)+Math.imul(U,Q)|0,o=Math.imul(U,J),n=n+Math.imul(C,Y)|0,i=(i+Math.imul(C,X)|0)+Math.imul(j,Y)|0,o=o+Math.imul(j,X)|0,n=n+Math.imul(N,te)|0,i=(i+Math.imul(N,re)|0)+Math.imul(O,te)|0,o=o+Math.imul(O,re)|0,n=n+Math.imul(I,ie)|0,i=(i+Math.imul(I,oe)|0)+Math.imul(P,ie)|0,o=o+Math.imul(P,oe)|0,n=n+Math.imul(x,se)|0,i=(i+Math.imul(x,ue)|0)+Math.imul(S,se)|0,o=o+Math.imul(S,ue)|0,n=n+Math.imul(A,le)|0,i=(i+Math.imul(A,fe)|0)+Math.imul(E,le)|0,o=o+Math.imul(E,fe)|0;var Ie=(ge+(n+Math.imul(b,de)|0)|0)+((8191&(i=(i+Math.imul(b,pe)|0)+Math.imul(w,de)|0))<<13)|0;ge=((o+Math.imul(w,pe)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,n=Math.imul(B,Y),i=Math.imul(B,X)+Math.imul(U,Y)|0,o=Math.imul(U,X),n=n+Math.imul(C,te)|0,i=(i+Math.imul(C,re)|0)+Math.imul(j,te)|0,o=o+Math.imul(j,re)|0,n=n+Math.imul(N,ie)|0,i=(i+Math.imul(N,oe)|0)+Math.imul(O,ie)|0,o=o+Math.imul(O,oe)|0,n=n+Math.imul(I,se)|0,i=(i+Math.imul(I,ue)|0)+Math.imul(P,se)|0,o=o+Math.imul(P,ue)|0,n=n+Math.imul(x,le)|0,i=(i+Math.imul(x,fe)|0)+Math.imul(S,le)|0,o=o+Math.imul(S,fe)|0;var Pe=(ge+(n+Math.imul(A,de)|0)|0)+((8191&(i=(i+Math.imul(A,pe)|0)+Math.imul(E,de)|0))<<13)|0;ge=((o+Math.imul(E,pe)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(B,te),i=Math.imul(B,re)+Math.imul(U,te)|0,o=Math.imul(U,re),n=n+Math.imul(C,ie)|0,i=(i+Math.imul(C,oe)|0)+Math.imul(j,ie)|0,o=o+Math.imul(j,oe)|0,n=n+Math.imul(N,se)|0,i=(i+Math.imul(N,ue)|0)+Math.imul(O,se)|0,o=o+Math.imul(O,ue)|0,n=n+Math.imul(I,le)|0,i=(i+Math.imul(I,fe)|0)+Math.imul(P,le)|0,o=o+Math.imul(P,fe)|0;var Te=(ge+(n+Math.imul(x,de)|0)|0)+((8191&(i=(i+Math.imul(x,pe)|0)+Math.imul(S,de)|0))<<13)|0;ge=((o+Math.imul(S,pe)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(B,ie),i=Math.imul(B,oe)+Math.imul(U,ie)|0,o=Math.imul(U,oe),n=n+Math.imul(C,se)|0,i=(i+Math.imul(C,ue)|0)+Math.imul(j,se)|0,o=o+Math.imul(j,ue)|0,n=n+Math.imul(N,le)|0,i=(i+Math.imul(N,fe)|0)+Math.imul(O,le)|0,o=o+Math.imul(O,fe)|0;var Ne=(ge+(n+Math.imul(I,de)|0)|0)+((8191&(i=(i+Math.imul(I,pe)|0)+Math.imul(P,de)|0))<<13)|0;ge=((o+Math.imul(P,pe)|0)+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,n=Math.imul(B,se),i=Math.imul(B,ue)+Math.imul(U,se)|0,o=Math.imul(U,ue),n=n+Math.imul(C,le)|0,i=(i+Math.imul(C,fe)|0)+Math.imul(j,le)|0,o=o+Math.imul(j,fe)|0;var Oe=(ge+(n+Math.imul(N,de)|0)|0)+((8191&(i=(i+Math.imul(N,pe)|0)+Math.imul(O,de)|0))<<13)|0;ge=((o+Math.imul(O,pe)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,n=Math.imul(B,le),i=Math.imul(B,fe)+Math.imul(U,le)|0,o=Math.imul(U,fe);var Re=(ge+(n+Math.imul(C,de)|0)|0)+((8191&(i=(i+Math.imul(C,pe)|0)+Math.imul(j,de)|0))<<13)|0;ge=((o+Math.imul(j,pe)|0)+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863;var Ce=(ge+Math.imul(B,de)|0)+((8191&(i=Math.imul(B,pe)+Math.imul(U,de)|0))<<13)|0;return ge=(Math.imul(U,pe)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,u[0]=me,u[1]=ye,u[2]=ve,u[3]=be,u[4]=we,u[5]=_e,u[6]=Ae,u[7]=Ee,u[8]=ke,u[9]=xe,u[10]=Se,u[11]=Me,u[12]=Ie,u[13]=Pe,u[14]=Te,u[15]=Ne,u[16]=Oe,u[17]=Re,u[18]=Ce,0!=ge&&(u[19]=ge,r.length++),r};function m(e,t,r){return(new g).mulp(e,t,r)}function g(e,t){this.x=e,this.y=t}Math.imul||(p=d),o.prototype.mulTo=function(e,t){var r=this.length+e.length;return(10===this.length&&10===e.length?p:r<63?d:r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,o=0;o<r.length-1;o++){for(var a=i,s=(i=0,67108863&n),u=Math.min(o,t.length-1),c=Math.max(0,o-e.length+1);c<=u;c++){var l=o-c,f=(0|e.words[l])*(0|t.words[c]),h=67108863&f;s=67108863&(h=h+s|0),i+=(a=(a=a+(f/67108864|0)|0)+(h>>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}:m)(this,e,t)},g.prototype.makeRBT=function(e){for(var t=new Array(e),r=o.prototype._countBits(e)-1,n=0;n<e;n++)t[n]=this.revBin(n,r,e);return t},g.prototype.revBin=function(e,t,r){if(0===e||e===r-1)return e;for(var n=0,i=0;i<t;i++)n|=(1&e)<<t-i-1,e>>=1;return n},g.prototype.permute=function(e,t,r,n,i,o){for(var a=0;a<o;a++)n[a]=t[e[a]],i[a]=r[e[a]]},g.prototype.transform=function(e,t,r,n,i,o){this.permute(o,e,t,r,n,i);for(var a=1;a<i;a<<=1)for(var s=a<<1,u=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),l=0;l<i;l+=s)for(var f=u,h=c,d=0;d<a;d++){var p=r[l+d],m=n[l+d],g=f*(v=r[l+d+a])-h*(y=n[l+d+a]),y=f*y+h*v,v=g;r[l+d]=p+v,n[l+d]=m+y,r[l+d+a]=p-v,n[l+d+a]=m-y,d!==s&&(g=u*f-c*h,h=u*h+c*f,f=g)}},g.prototype.guessLen13b=function(e,t){for(var r=1&(i=1|Math.max(t,e)),n=0,i=i/2|0;i;i>>>=1)n++;return 1<<n+1+r},g.prototype.conjugate=function(e,t,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=e[n];e[n]=e[r-n-1],e[r-n-1]=i,i=t[n],t[n]=-t[r-n-1],t[r-n-1]=-i}},g.prototype.normalize13b=function(e,t){for(var r=0,n=0;n<t/2;n++){var i=8192*Math.round(e[2*n+1]/t)+Math.round(e[2*n]/t)+r;e[n]=67108863&i,r=i<67108864?0:i/67108864|0}return e},g.prototype.convert13b=function(e,t,r,i){for(var o=0,a=0;a<t;a++)o+=0|e[a],r[2*a]=8191&o,o>>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*t;a<i;++a)r[a]=0;n(0===o),n(0==(-8192&o))},g.prototype.stub=function(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=0;return t},g.prototype.mulp=function(e,t,r){var n=2*this.guessLen13b(e.length,t.length),i=this.makeRBT(n),o=this.stub(n),a=new Array(n),s=new Array(n),u=new Array(n),c=new Array(n),l=new Array(n),f=new Array(n),h=r.words;h.length=n,this.convert13b(e.words,e.length,a,n),this.convert13b(t.words,t.length,c,n),this.transform(a,o,s,u,n,i),this.transform(c,o,l,f,n,i);for(var d=0;d<n;d++){var p=s[d]*l[d]-u[d]*f[d];u[d]=s[d]*f[d]+u[d]*l[d],s[d]=p}return this.conjugate(s,u,n),this.transform(s,u,h,o,n,i),this.conjugate(h,o,n),this.normalize13b(h,n),r.negative=e.negative^t.negative,r.length=e.length+t.length,r.strip()},o.prototype.mul=function(e){var t=new o(null);return t.words=new Array(this.length+e.length),this.mulTo(e,t)},o.prototype.mulf=function(e){var t=new o(null);return t.words=new Array(this.length+e.length),m(this,e,t)},o.prototype.imul=function(e){return this.clone().mulTo(e,this)},o.prototype.imuln=function(e){n("number"==typeof e),n(e<67108864);for(var t=0,r=0;r<this.length;r++){var i=(0|this.words[r])*e,o=(67108863&i)+(67108863&t);t>>=26,t+=i/67108864|0,t+=o>>>26,this.words[r]=67108863&o}return 0!==t&&(this.words[r]=t,this.length++),this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r<t.length;r++){var n=r/26|0,i=r%26;t[r]=(e.words[n]&1<<i)>>>i}return t}(e);if(0===t.length)return new o(1);for(var r=this,n=0;n<t.length&&0===t[n];n++,r=r.sqr());if(++n<t.length)for(var i=r.sqr();n<t.length;n++,i=i.sqr())0!==t[n]&&(r=r.mul(i));return r},o.prototype.iushln=function(e){n("number"==typeof e&&0<=e);var t=e%26,r=(e-t)/26,i=67108863>>>26-t<<26-t;if(0!=t){for(var o=0,a=0;a<this.length;a++){var s=this.words[a]&i,u=(0|this.words[a])-s<<t;this.words[a]=u|o,o=s>>>26-t}o&&(this.words[a]=o,this.length++)}if(0!=r){for(a=this.length-1;0<=a;a--)this.words[a+r]=this.words[a];for(a=0;a<r;a++)this.words[a]=0;this.length+=r}return this.strip()},o.prototype.ishln=function(e){return n(0===this.negative),this.iushln(e)},o.prototype.iushrn=function(e,t,r){var i;n("number"==typeof e&&0<=e),i=t?(t-t%26)/26:0;var o=e%26,a=Math.min((e-o)/26,this.length),s=67108863^67108863>>>o<<o,u=r;if(i-=a,i=Math.max(0,i),u){for(var c=0;c<a;c++)u.words[c]=this.words[c];u.length=a}if(0!==a)if(this.length>a)for(this.length-=a,c=0;c<this.length;c++)this.words[c]=this.words[c+a];else this.words[0]=0,this.length=1;var l=0;for(c=this.length-1;0<=c&&(0!==l||i<=c);c--){var f=0|this.words[c];this.words[c]=l<<26-o|f>>>o,l=f&s}return u&&0!==l&&(u.words[u.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){n("number"==typeof e&&0<=e);var t=e%26,r=(e-t)/26,i=1<<t;return!(this.length<=r||!(this.words[r]&i))},o.prototype.imaskn=function(e){n("number"==typeof e&&0<=e);var t,r=e%26,i=(e-r)/26;return n(0===this.negative,"imaskn works only with positive numbers"),this.length<=i?this:(0!=r&&i++,this.length=Math.min(i,this.length),0!=r&&(t=67108863^67108863>>>r<<r,this.words[this.length-1]&=t),this.strip())},o.prototype.maskn=function(e){return this.clone().imaskn(e)},o.prototype.iaddn=function(e){return n("number"==typeof e),n(e<67108864),e<0?this.isubn(-e):0!==this.negative?(1===this.length&&(0|this.words[0])<e?(this.words[0]=e-(0|this.words[0]),this.negative=0):(this.negative=0,this.isubn(e),this.negative=1),this):this._iaddn(e)},o.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&67108864<=this.words[t];t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},o.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,--this.words[t+1];return this.strip()},o.prototype.addn=function(e){return this.clone().iaddn(e)},o.prototype.subn=function(e){return this.clone().isubn(e)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(e,t,r){var i,o=e.length+r;this._expand(o);for(var a=0,s=0;s<e.length;s++){i=(0|this.words[s+r])+a;var u=(0|e.words[s])*t;a=((i-=67108863&u)>>26)-(u/67108864|0),this.words[s+r]=67108863&i}for(;s<this.length-r;s++)a=(i=(0|this.words[s+r])+a)>>26,this.words[s+r]=67108863&i;if(0===a)return this.strip();for(n(-1===a),s=a=0;s<this.length;s++)a=(i=-(0|this.words[s])+a)>>26,this.words[s]=67108863&i;return this.negative=1,this.strip()},o.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,a=0|i.words[i.length-1];0!=(r=26-this._countBits(a))&&(i=i.ushln(r),n.iushln(r),a=0|i.words[i.length-1]);var s,u=n.length-i.length;if("mod"!==t){(s=new o(null)).length=1+u,s.words=new Array(s.length);for(var c=0;c<s.length;c++)s.words[c]=0}var l=n.clone()._ishlnsubmul(i,1,u);0===l.negative&&(n=l,s&&(s.words[u]=1));for(var f=u-1;0<=f;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/a|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),"div"!==t&&0!=r&&n.iushrn(r),{div:s||null,mod:n}},o.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(i=s.div.neg()),"div"!==t&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(e)),{div:i,mod:a}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(e)),{div:s.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new o(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,a,s},o.prototype.div=function(e){return this.divmod(e,"div",!1).div},o.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},o.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},o.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},o.prototype.modn=function(e){n(e<=67108863);for(var t=(1<<26)%e,r=0,i=this.length-1;0<=i;i--)r=(t*r+(0|this.words[i]))%e;return r},o.prototype.idivn=function(e){n(e<=67108863);for(var t=0,r=this.length-1;0<=r;r--){var i=(0|this.words[r])+67108864*t;this.words[r]=i/e|0,t=i%e}return this.strip()},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());for(var t=this,r=e.clone(),i=(t=0!==t.negative?t.umod(e):t.clone(),new o(1)),a=new o(0),s=new o(0),u=new o(1),c=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++c;for(var l=r.clone(),f=t.clone();!t.isZero();){for(var h=0,d=1;0==(t.words[0]&d)&&h<26;++h,d<<=1);if(0<h)for(t.iushrn(h);0<h--;)(i.isOdd()||a.isOdd())&&(i.iadd(l),a.isub(f)),i.iushrn(1),a.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(0<p)for(r.iushrn(p);0<p--;)(s.isOdd()||u.isOdd())&&(s.iadd(l),u.isub(f)),s.iushrn(1),u.iushrn(1);0<=t.cmp(r)?(t.isub(r),i.isub(s),a.isub(u)):(r.isub(t),s.isub(i),u.isub(a))}return{a:s,b:u,gcd:r.iushln(c)}},o.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());for(var t,r=this,i=e.clone(),a=(r=0!==r.negative?r.umod(e):r.clone(),new o(1)),s=new o(0),u=i.clone();0<r.cmpn(1)&&0<i.cmpn(1);){for(var c=0,l=1;0==(r.words[0]&l)&&c<26;++c,l<<=1);if(0<c)for(r.iushrn(c);0<c--;)a.isOdd()&&a.iadd(u),a.iushrn(1);for(var f=0,h=1;0==(i.words[0]&h)&&f<26;++f,h<<=1);if(0<f)for(i.iushrn(f);0<f--;)s.isOdd()&&s.iadd(u),s.iushrn(1);0<=r.cmp(i)?(r.isub(i),a.isub(s)):(i.isub(r),s.isub(a))}return(t=0===r.cmpn(1)?a:s).cmpn(0)<0&&t.iadd(e),t},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0;for(var n=r.negative=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var o=t;t=r,r=o}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){n("number"==typeof e);var t=e%26,r=(e-t)/26,i=1<<t;if(this.length<=r)return this._expand(1+r),this.words[r]|=i,this;for(var o=i,a=r;0!==o&&a<this.length;a++){var s=0|this.words[a];o=(s+=o)>>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var t,r,i=e<0;return 0===this.negative||i?0===this.negative&&i?1:(this.strip(),r=1<this.length?1:(i&&(e=-e),n(e<=67108863,"Number is too big"),(t=0|this.words[0])===e?0:t<e?-1:1),0!==this.negative?0|-r:r):-1},o.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},o.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,r=this.length-1;0<=r;r--){var n=0|this.words[r],i=0|e.words[r];if(n!=i){n<i?t=-1:i<n&&(t=1);break}}return t},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return 0<=this.cmpn(e)},o.prototype.gte=function(e){return 0<=this.cmp(e)},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new E(e)},o.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},o.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},o.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},o.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},o.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var y={k256:null,p224:null,p192:null,p25519:null};function v(e,t){this.name=e,this.p=new o(t,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function A(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(e){var t;"string"==typeof e?(t=o._prime(e),this.m=t.p,this.prime=t):(n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null)}function k(e){E.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},v.prototype.ireduce=function(e){for(var t,r=e;this.split(r,this.tmp),(t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength())>this.n;);var n=t<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):0<n?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(e,t){e.iushrn(this.n,0,t)},v.prototype.imulK=function(e){return e.imul(this.k)},i(b,v),b.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n<r;n++)t.words[n]=e.words[n];if(t.length=r,e.length<=9)return e.words[0]=0,void(e.length=1);var i=e.words[9];for(t.words[t.length++]=4194303&i,n=10;n<e.length;n++){var o=0|e.words[n];e.words[n-10]=(4194303&o)<<4|i>>>22,i=o}i>>>=22,0===(e.words[n-10]=i)&&10<e.length?e.length-=10:e.length-=9},b.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r<e.length;r++){var n=0|e.words[r];t+=977*n,e.words[r]=67108863&t,t=64*n+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},i(w,v),i(_,v),i(A,v),A.prototype.imulK=function(e){for(var t=0,r=0;r<e.length;r++){var n=19*(0|e.words[r])+t,i=67108863&n;n>>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},o._prime=function(e){if(y[e])return y[e];var t;if("k256"===e)t=new b;else if("p224"===e)t=new w;else if("p192"===e)t=new _;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new A}return y[e]=t},E.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},E.prototype._verify2=function(e,t){n(0==(e.negative|t.negative),"red works only with positives"),n(e.red&&e.red===t.red,"red works only with red numbers")},E.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},E.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},E.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return 0<=r.cmp(this.m)&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return 0<=r.cmp(this.m)&&r.isub(this.m),r},E.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},E.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},E.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},E.prototype.isqr=function(e){return this.imul(e,e.clone())},E.prototype.sqr=function(e){return this.mul(e,e)},E.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),3===t){var r=this.m.add(new o(1)).iushrn(2);return this.pow(e,r)}for(var i=this.m.subn(1),a=0;!i.isZero()&&0===i.andln(1);)a++,i.iushrn(1);n(!i.isZero());for(var s=new o(1).toRed(this),u=s.redNeg(),c=this.m.subn(1).iushrn(1),l=new o(2*(l=this.m.bitLength())*l).toRed(this);0!==this.pow(l,c).cmp(u);)l.redIAdd(u);for(var f=this.pow(l,i),h=this.pow(e,i.addn(1).iushrn(1)),d=this.pow(e,i),p=a;0!==d.cmp(s);){for(var m=d,g=0;0!==m.cmp(s);g++)m=m.redSqr();n(g<p);var y=this.pow(f,new o(1).iushln(p-g-1));h=h.redMul(y),f=y.redSqr(),d=d.redMul(f),p=g}return h},E.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},E.prototype.pow=function(e,t){if(t.isZero())return new o(1).toRed(this);if(0===t.cmpn(1))return e.clone();var r=new Array(16);r[0]=new o(1).toRed(this),r[1]=e;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],e);var i=r[0],a=0,s=0,u=t.bitLength()%26;for(0===u&&(u=26),n=t.length-1;0<=n;n--){for(var c=t.words[n],l=u-1;0<=l;l--){var f=c>>l&1;i!==r[0]&&(i=this.sqr(i)),0!=f||0!==a?(a<<=1,a|=f,(4==++s||0===n&&0===l)&&(i=this.mul(i,r[a]),a=s=0)):s=0}u=26}return i},E.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},E.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},o.mont=function(e){return new k(e)},i(k,E),k.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},k.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},k.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return 0<=i.cmp(this.m)?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new o(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return 0<=i.cmp(this.m)?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this)},{buffer:11}],10:[function(e,t,n){(function(e){t.exports=function(t){var r=new Uint8Array(t);return(e.crypto||e.msCrypto).getRandomValues(r),r}}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],11:[function(e,t,r){},{}],12:[function(e,t,r){"use strict";var n=r;n.version=e("../package.json").version,n.utils=e("./elliptic/utils"),n.rand=e("brorand"),n.curve=e("./elliptic/curve"),n.curves=e("./elliptic/curves"),n.ec=e("./elliptic/ec"),n.eddsa=e("./elliptic/eddsa")},{"../package.json":25,"./elliptic/curve":15,"./elliptic/curves":18,"./elliptic/ec":19,"./elliptic/eddsa":22,"./elliptic/utils":24,brorand:10}],13:[function(e,t,r){"use strict";var n=e("bn.js"),i=e("../utils"),o=i.getNAF,a=i.getJSF,s=i.assert;function u(e,t){this.type=e,this.p=new n(t.p,16),this.red=t.prime?n.red(t.prime):n.mont(this.p),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.n=t.n&&new n(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||0<r.cmpn(100)?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function c(e,t){this.curve=e,this.type=t,this.precomputed=null}(t.exports=u).prototype.point=function(){throw new Error("Not implemented")},u.prototype.validate=function(){throw new Error("Not implemented")},u.prototype._fixedNafMul=function(e,t){s(e.precomputed);var r=e._getDoubles(),n=o(t,1,this._bitLength),i=(1<<r.step+1)-(r.step%2==0?2:1);i/=3;for(var a=[],u=0;u<n.length;u+=r.step){var c=0;for(t=u+r.step-1;u<=t;t--)c=(c<<1)+n[t];a.push(c)}for(var l=this.jpoint(null,null,null),f=this.jpoint(null,null,null),h=i;0<h;h--){for(u=0;u<a.length;u++)(c=a[u])===h?f=f.mixedAdd(r.points[u]):c===-h&&(f=f.mixedAdd(r.points[u].neg()));l=l.add(f)}return l.toP()},u.prototype._wnafMul=function(e,t){for(var r=e._getNAFPoints(4),n=r.wnd,i=r.points,a=o(t,n,this._bitLength),u=this.jpoint(null,null,null),c=a.length-1;0<=c;c--){for(t=0;0<=c&&0===a[c];c--)t++;if(0<=c&&t++,u=u.dblp(t),c<0)break;var l=a[c];s(0!==l),u="affine"===e.type?0<l?u.mixedAdd(i[l-1>>1]):u.mixedAdd(i[-l-1>>1].neg()):0<l?u.add(i[l-1>>1]):u.add(i[-l-1>>1].neg())}return"affine"===e.type?u.toP():u},u.prototype._wnafMulAdd=function(e,t,r,n,i){for(var s=this._wnafT1,u=this._wnafT2,c=this._wnafT3,l=0,f=0;f<n;f++){var h=(x=t[f])._getNAFPoints(e);s[f]=h.wnd,u[f]=h.points}for(f=n-1;1<=f;f-=2){var d=f-1,p=f;if(1===s[d]&&1===s[p]){var m=[t[d],null,null,t[p]];0===t[d].y.cmp(t[p].y)?(m[1]=t[d].add(t[p]),m[2]=t[d].toJ().mixedAdd(t[p].neg())):0===t[d].y.cmp(t[p].y.redNeg())?(m[1]=t[d].toJ().mixedAdd(t[p]),m[2]=t[d].add(t[p].neg())):(m[1]=t[d].toJ().mixedAdd(t[p]),m[2]=t[d].toJ().mixedAdd(t[p].neg()));var g=[-3,-1,-5,-7,0,7,5,1,3],y=a(r[d],r[p]);l=Math.max(y[0].length,l),c[d]=new Array(l),c[p]=new Array(l);for(var v=0;v<l;v++){var b=0|y[0][v],w=0|y[1][v];c[d][v]=g[3*(1+b)+(1+w)],c[p][v]=0,u[d]=m}}else c[d]=o(r[d],s[d],this._bitLength),c[p]=o(r[p],s[p],this._bitLength),l=Math.max(c[d].length,l),l=Math.max(c[p].length,l)}var _=this.jpoint(null,null,null),A=this._wnafT4;for(f=l;0<=f;f--){for(var E=0;0<=f;){var k=!0;for(v=0;v<n;v++)A[v]=0|c[v][f],0!==A[v]&&(k=!1);if(!k)break;E++,f--}if(0<=f&&E++,_=_.dblp(E),f<0)break;for(v=0;v<n;v++){var x,S=A[v];0!==S&&(0<S?x=u[v][S-1>>1]:S<0&&(x=u[v][-S-1>>1].neg()),_="affine"===x.type?_.mixedAdd(x):_.add(x))}}for(f=0;f<n;f++)u[f]=null;return i?_:_.toP()},(u.BasePoint=c).prototype.eq=function(){throw new Error("Not implemented")},c.prototype.validate=function(){return this.curve.validate(this)},u.prototype.decodePoint=function(e,t){e=i.toArray(e,t);var r=this.p.byteLength();if((4===e[0]||6===e[0]||7===e[0])&&e.length-1==2*r)return 6===e[0]?s(e[e.length-1]%2==0):7===e[0]&&s(e[e.length-1]%2==1),this.point(e.slice(1,1+r),e.slice(1+r,1+2*r));if((2===e[0]||3===e[0])&&e.length-1===r)return this.pointFromX(e.slice(1,1+r),3===e[0]);throw new Error("Unknown point format")},c.prototype.encodeCompressed=function(e){return this.encode(e,!0)},c.prototype._encode=function(e){var t=this.curve.p.byteLength(),r=this.getX().toArray("be",t);return e?[this.getY().isEven()?2:3].concat(r):[4].concat(r,this.getY().toArray("be",t))},c.prototype.encode=function(e,t){return i.encode(this._encode(t),e)},c.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},c.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return!!t&&t.points.length>=Math.ceil((e.bitLength()+1)/t.step)},c.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i<t;i+=e){for(var o=0;o<e;o++)n=n.dbl();r.push(n)}return{step:e,points:r}},c.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],r=(1<<e)-1,n=1==r?null:this.dbl(),i=1;i<r;i++)t[i]=t[i-1].add(n);return{wnd:e,points:t}},c.prototype._getBeta=function(){return null},c.prototype.dblp=function(e){for(var t=this,r=0;r<e;r++)t=t.dbl();return t}},{"../utils":24,"bn.js":9}],14:[function(e,t,r){t.exports={}},{}],15:[function(e,t,r){"use strict";var n=r;n.base=e("./base"),n.short=e("./short"),n.mont=e("./mont"),n.edwards=e("./edwards")},{"./base":13,"./edwards":14,"./mont":16,"./short":17}],16:[function(e,t,r){arguments[4][14][0].apply(r,arguments)},{dup:14}],17:[function(e,t,r){"use strict";var n=e("../utils"),i=e("bn.js"),o=e("inherits"),a=e("./base"),s=n.assert;function u(e){a.call(this,"short",e),this.a=new i(e.a,16).toRed(this.red),this.b=new i(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function c(e,t,r,n){a.BasePoint.call(this,e,"affine"),null===t&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new i(t,16),this.y=new i(r,16),n&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function l(e,t,r,n){a.BasePoint.call(this,e,"jacobian"),null===t&&null===r&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new i(0)):(this.x=new i(t,16),this.y=new i(r,16),this.z=new i(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}o(u,a),(t.exports=u).prototype._getEndomorphism=function(e){var t,r,n,o;if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3))return n=e.beta?new i(e.beta,16).toRed(this.red):(n=(r=this._getEndoRoots(this.p))[0].cmp(r[1])<0?r[0]:r[1]).toRed(this.red),e.lambda?t=new i(e.lambda,16):(o=this._getEndoRoots(this.n),0===this.g.mul(o[0]).x.cmp(this.g.x.redMul(n))?t=o[0]:(t=o[1],s(0===this.g.mul(t).x.cmp(this.g.x.redMul(n))))),{beta:n,lambda:t,basis:e.basis?e.basis.map((function(e){return{a:new i(e.a,16),b:new i(e.b,16)}})):this._getEndoBasis(t)}},u.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:i.mont(e),r=new i(2).toRed(t).redInvm(),n=r.redNeg(),o=new i(3).toRed(t).redNeg().redSqrt().redMul(r);return[n.redAdd(o).fromRed(),n.redSub(o).fromRed()]},u.prototype._getEndoBasis=function(e){for(var t,r,n,o,a,s,u,c=this.n.ushrn(Math.floor(this.n.bitLength()/2)),l=e,f=this.n.clone(),h=new i(1),d=new i(0),p=new i(0),m=new i(1),g=0;0!==l.cmpn(0);){var y=f.div(l),v=f.sub(y.mul(l)),b=p.sub(y.mul(h)),w=m.sub(y.mul(d));if(!n&&v.cmp(c)<0)t=u.neg(),r=h,n=v.neg(),o=b;else if(n&&2==++g)break;f=l,l=u=v,p=h,h=b,m=d,d=w}a=v.neg(),s=b;var _=n.sqr().add(o.sqr());return 0<=a.sqr().add(s.sqr()).cmp(_)&&(a=t,s=r),n.negative&&(n=n.neg(),o=o.neg()),a.negative&&(a=a.neg(),s=s.neg()),[{a:n,b:o},{a:a,b:s}]},u.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],n=t[1],i=n.b.mul(e).divRound(this.n),o=r.b.neg().mul(e).divRound(this.n),a=i.mul(r.a),s=o.mul(n.a),u=i.mul(r.b),c=o.mul(n.b);return{k1:e.sub(a).sub(s),k2:u.add(c).neg()}},u.prototype.pointFromX=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var o=n.fromRed().isOdd();return(t&&!o||!t&&o)&&(n=n.redNeg()),this.point(e,n)},u.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,n=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},u.prototype._endoWnafMulAdd=function(e,t,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o<e.length;o++){var a=this._endoSplit(t[o]),s=e[o],u=s._getBeta();a.k1.negative&&(a.k1.ineg(),s=s.neg(!0)),a.k2.negative&&(a.k2.ineg(),u=u.neg(!0)),n[2*o]=s,n[2*o+1]=u,i[2*o]=a.k1,i[2*o+1]=a.k2}for(var c=this._wnafMulAdd(1,n,i,2*o,r),l=0;l<2*o;l++)n[l]=null,i[l]=null;return c},o(c,a.BasePoint),u.prototype.point=function(e,t,r){return new c(this,e,t,r)},u.prototype.pointFromJSON=function(e,t){return c.fromJSON(this,e,t)},c.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t,r,n=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);return e&&(t=this.curve,r=function(e){return t.point(e.x.redMul(t.endo.beta),e.y)},(e.beta=n).precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(r)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(r)}}),n}},c.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},c.fromJSON=function(e,t,r){"string"==typeof t&&(t=JSON.parse(t));var n=e.point(t[0],t[1],r);if(!t[2])return n;function i(t){return e.point(t[0],t[1],r)}var o=t[2];return n.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[n].concat(o.doubles.points.map(i))},naf:o.naf&&{wnd:o.naf.wnd,points:[n].concat(o.naf.points.map(i))}},n},c.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},c.prototype.isInfinity=function(){return this.inf},c.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},c.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),n=e.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(n),o=i.redSqr().redISub(this.x.redAdd(this.x)),a=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},c.prototype.getX=function(){return this.x.fromRed()},c.prototype.getY=function(){return this.y.fromRed()},c.prototype.mul=function(e){return e=new i(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},c.prototype.mulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},c.prototype.jmulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},c.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},c.prototype.neg=function(e){if(this.inf)return this;var t,r,n=this.curve.point(this.x,this.y.redNeg());return e&&this.precomputed&&(t=this.precomputed,r=function(e){return e.neg()},n.precomputed={naf:t.naf&&{wnd:t.naf.wnd,points:t.naf.points.map(r)},doubles:t.doubles&&{step:t.doubles.step,points:t.doubles.points.map(r)}}),n},c.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},o(l,a.BasePoint),u.prototype.jpoint=function(e,t,r){return new l(this,e,t,r)},l.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(r,n)},l.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},l.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(t),i=e.x.redMul(r),o=this.y.redMul(t.redMul(e.z)),a=e.y.redMul(r.redMul(this.z)),s=n.redSub(i),u=o.redSub(a);if(0===s.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=s.redSqr(),l=c.redMul(s),f=n.redMul(c),h=u.redSqr().redIAdd(l).redISub(f).redISub(f),d=u.redMul(f.redISub(h)).redISub(o.redMul(l)),p=this.z.redMul(e.z).redMul(s);return this.curve.jpoint(h,d,p)},l.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,n=e.x.redMul(t),i=this.y,o=e.y.redMul(t).redMul(this.z),a=r.redSub(n),s=i.redSub(o);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),c=u.redMul(a),l=r.redMul(u),f=s.redSqr().redIAdd(c).redISub(l).redISub(l),h=s.redMul(l.redISub(f)).redISub(i.redMul(c)),d=this.z.redMul(a);return this.curve.jpoint(f,h,d)},l.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,r=0;r<e;r++)t=t.dbl();return t}var n=this.curve.a,i=this.curve.tinv,o=this.x,a=this.y,s=this.z,u=s.redSqr().redSqr(),c=a.redAdd(a);for(r=0;r<e;r++){var l=o.redSqr(),f=c.redSqr(),h=f.redSqr(),d=l.redAdd(l).redIAdd(l).redIAdd(n.redMul(u)),p=o.redMul(f),m=d.redSqr().redISub(p.redAdd(p)),g=p.redISub(m),y=(y=d.redMul(g)).redIAdd(y).redISub(h),v=c.redMul(s);r+1<e&&(u=u.redMul(h)),o=m,s=v,c=y}return this.curve.jpoint(o,c.redMul(i),s)},l.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},l.prototype._zeroDbl=function(){var e,t,r,n,i,o,a,s,u,c,l,f,h,d,p,m,g=this.zOne?(r=this.x.redSqr(),i=(n=this.y.redSqr()).redSqr(),o=(o=this.x.redAdd(n).redSqr().redISub(r).redISub(i)).redIAdd(o),s=(a=r.redAdd(r).redIAdd(r)).redSqr().redISub(o).redISub(o),u=(u=(u=i.redIAdd(i)).redIAdd(u)).redIAdd(u),e=s,t=a.redMul(o.redISub(s)).redISub(u),this.y.redAdd(this.y)):(c=this.x.redSqr(),f=(l=this.y.redSqr()).redSqr(),h=(h=this.x.redAdd(l).redSqr().redISub(c).redISub(f)).redIAdd(h),p=(d=c.redAdd(c).redIAdd(c)).redSqr(),m=(m=(m=f.redIAdd(f)).redIAdd(m)).redIAdd(m),e=p.redISub(h).redISub(h),t=d.redMul(h.redISub(e)).redISub(m),(g=this.y.redMul(this.z)).redIAdd(g));return this.curve.jpoint(e,t,g)},l.prototype._threeDbl=function(){var e,t,r,n,i,o,a,s,u,c,l,f,h,d,p,m,g;return this.zOne?(r=this.x.redSqr(),i=(n=this.y.redSqr()).redSqr(),o=(o=this.x.redAdd(n).redSqr().redISub(r).redISub(i)).redIAdd(o),u=s=(a=r.redAdd(r).redIAdd(r).redIAdd(this.curve.a)).redSqr().redISub(o).redISub(o),c=(c=(c=i.redIAdd(i)).redIAdd(c)).redIAdd(c),e=a.redMul(o.redISub(s)).redISub(c),t=this.y.redAdd(this.y)):(l=this.z.redSqr(),f=this.y.redSqr(),h=this.x.redMul(f),d=(d=this.x.redSub(l).redMul(this.x.redAdd(l))).redAdd(d).redIAdd(d),m=(p=(p=h.redIAdd(h)).redIAdd(p)).redAdd(p),u=d.redSqr().redISub(m),t=this.y.redAdd(this.z).redSqr().redISub(f).redISub(l),g=(g=(g=(g=f.redSqr()).redIAdd(g)).redIAdd(g)).redIAdd(g),e=d.redMul(p.redISub(u)).redISub(g)),this.curve.jpoint(u,e,t)},l.prototype._dbl=function(){var e=this.curve.a,t=this.x,r=this.y,n=this.z,i=n.redSqr().redSqr(),o=t.redSqr(),a=r.redSqr(),s=o.redAdd(o).redIAdd(o).redIAdd(e.redMul(i)),u=t.redAdd(t),c=(u=u.redIAdd(u)).redMul(a),l=s.redSqr().redISub(c.redAdd(c)),f=c.redISub(l),h=a.redSqr();h=(h=(h=h.redIAdd(h)).redIAdd(h)).redIAdd(h);var d=s.redMul(f).redISub(h),p=r.redAdd(r).redMul(n);return this.curve.jpoint(l,d,p)},l.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr(),n=t.redSqr(),i=e.redAdd(e).redIAdd(e),o=i.redSqr(),a=this.x.redAdd(t).redSqr().redISub(e).redISub(n),s=(a=(a=(a=a.redIAdd(a)).redAdd(a).redIAdd(a)).redISub(o)).redSqr(),u=n.redIAdd(n);u=(u=(u=u.redIAdd(u)).redIAdd(u)).redIAdd(u);var c=i.redIAdd(a).redSqr().redISub(o).redISub(s).redISub(u),l=t.redMul(c);l=(l=l.redIAdd(l)).redIAdd(l);var f=this.x.redMul(s).redISub(l);f=(f=f.redIAdd(f)).redIAdd(f);var h=this.y.redMul(c.redMul(u.redISub(c)).redISub(a.redMul(s)));h=(h=(h=h.redIAdd(h)).redIAdd(h)).redIAdd(h);var d=this.z.redAdd(a).redSqr().redISub(r).redISub(s);return this.curve.jpoint(f,h,d)},l.prototype.mul=function(e,t){return e=new i(e,t),this.curve._wnafMul(this,e)},l.prototype.eq=function(e){if("affine"===e.type)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),r=e.z.redSqr();if(0!==this.x.redMul(r).redISub(e.x.redMul(t)).cmpn(0))return!1;var n=t.redMul(this.z),i=r.redMul(e.z);return 0===this.y.redMul(i).redISub(e.y.redMul(n)).cmpn(0)},l.prototype.eqXToP=function(e){var t=this.z.redSqr(),r=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(r))return!0;for(var n=e.clone(),i=this.curve.redN.redMul(t);;){if(n.iadd(this.curve.n),0<=n.cmp(this.curve.p))return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},l.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},l.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},{"../utils":24,"./base":13,"bn.js":9,inherits:39}],18:[function(e,t,r){"use strict";var n,i=r,o=e("hash.js"),a=e("./curve"),s=e("./utils").assert;function u(e){"short"===e.type?this.curve=new a.short(e):"edwards"===e.type?this.curve=new a.edwards(e):this.curve=new a.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,s(this.g.validate(),"Invalid curve"),s(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function c(e,t){Object.defineProperty(i,e,{configurable:!0,enumerable:!0,get:function(){var r=new u(t);return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,value:r}),r}})}i.PresetCurve=u,c("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:o.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),c("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:o.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),c("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:o.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),c("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:o.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),c("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:o.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),c("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["9"]}),c("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=e("./precomputed/secp256k1")}catch(e){n=void 0}c("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:o.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})},{"./curve":15,"./precomputed/secp256k1":23,"./utils":24,"hash.js":26}],19:[function(e,t,r){"use strict";var n=e("bn.js"),i=e("hmac-drbg"),o=e("../utils"),a=e("../curves"),u=e("brorand"),c=o.assert,l=e("./key"),f=e("./signature");function h(e){if(!(this instanceof h))return new h(e);"string"==typeof e&&(c(a.hasOwnProperty(e),"Unknown curve "+e),e=a[e]),e instanceof a.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}(t.exports=h).prototype.keyPair=function(e){return new l(this,e)},h.prototype.keyFromPrivate=function(e,t){return l.fromPrivate(this,e,t)},h.prototype.keyFromPublic=function(e,t){return l.fromPublic(this,e,t)},h.prototype.genKeyPair=function(e){e=e||{};for(var t=new i({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||u(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),o=this.n.sub(new n(2));;){var a=new n(t.generate(r));if(!(0<a.cmp(o)))return a.iaddn(1),this.keyFromPrivate(a)}},h.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return 0<r&&(e=e.ushrn(r)),!t&&0<=e.cmp(this.n)?e.sub(this.n):e},h.prototype.sign=function(e,t,r,o){"object"==s(r)&&(o=r,r=null),o=o||{},t=this.keyFromPrivate(t,r),e=this._truncateToN(new n(e,16));for(var a=this.n.byteLength(),u=t.getPrivate().toArray("be",a),c=e.toArray("be",a),l=new i({hash:this.hash,entropy:u,nonce:c,pers:o.pers,persEnc:o.persEnc||"utf8"}),h=this.n.sub(new n(1)),d=0;;d++){var p=o.k?o.k(d):new n(l.generate(this.n.byteLength()));if(!((p=this._truncateToN(p,!0)).cmpn(1)<=0||0<=p.cmp(h))){var m=this.g.mul(p);if(!m.isInfinity()){var g=m.getX(),y=g.umod(this.n);if(0!==y.cmpn(0)){var v=p.invm(this.n).mul(y.mul(t.getPrivate()).iadd(e));if(0!==(v=v.umod(this.n)).cmpn(0)){var b=(m.getY().isOdd()?1:0)|(0!==g.cmp(y)?2:0);return o.canonical&&0<v.cmp(this.nh)&&(v=this.n.sub(v),b^=1),new f({r:y,s:v,recoveryParam:b})}}}}}},h.prototype.verify=function(e,t,r,i){e=this._truncateToN(new n(e,16)),r=this.keyFromPublic(r,i);var o=(t=new f(t,"hex")).r,a=t.s;if(o.cmpn(1)<0||0<=o.cmp(this.n))return!1;if(a.cmpn(1)<0||0<=a.cmp(this.n))return!1;var s,u=a.invm(this.n),c=u.mul(e).umod(this.n),l=u.mul(o).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(c,r.getPublic(),l)).isInfinity()&&s.eqXToP(o):!(s=this.g.mulAdd(c,r.getPublic(),l)).isInfinity()&&0===s.getX().umod(this.n).cmp(o)},h.prototype.recoverPubKey=function(e,t,r,i){c((3&r)===r,"The recovery param is more than two bits"),t=new f(t,i);var o=this.n,a=new n(e),s=t.r,u=t.s,l=1&r,h=r>>1;if(0<=s.cmp(this.curve.p.umod(this.curve.n))&&h)throw new Error("Unable to find sencond key candinate");s=h?this.curve.pointFromX(s.add(this.curve.n),l):this.curve.pointFromX(s,l);var d=t.r.invm(o),p=o.sub(a).mul(d).umod(o),m=u.mul(d).umod(o);return this.g.mulAdd(p,s,m)},h.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new f(t,n)).recoveryParam)return t.recoveryParam;for(var i,o=0;o<4;o++){try{i=this.recoverPubKey(e,t,o)}catch(e){continue}if(i.eq(r))return o}throw new Error("Unable to find valid recovery factor")}},{"../curves":18,"../utils":24,"./key":20,"./signature":21,"bn.js":9,brorand:10,"hmac-drbg":38}],20:[function(e,t,r){"use strict";var n=e("bn.js"),i=e("../utils").assert;function o(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}(t.exports=o).fromPublic=function(e,t,r){return t instanceof o?t:new o(e,{pub:t,pubEnc:r})},o.fromPrivate=function(e,t,r){return t instanceof o?t:new o(e,{priv:t,privEnc:r})},o.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},o.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},o.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},o.prototype._importPrivate=function(e,t){this.priv=new n(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},o.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?i(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||i(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},o.prototype.derive=function(e){return e.mul(this.priv).getX()},o.prototype.sign=function(e,t,r){return this.ec.sign(e,this,t,r)},o.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},o.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"}},{"../utils":24,"bn.js":9}],21:[function(e,t,r){"use strict";var n=e("bn.js"),i=e("../utils"),o=i.assert;function a(e,t){if(e instanceof a)return e;this._importDER(e,t)||(o(e.r&&e.s,"Signature without r or s"),this.r=new n(e.r,16),this.s=new n(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function s(){this.place=0}function u(e,t){var r=e[t.place++];if(!(128&r))return r;var n=15&r;if(0==n||4<n)return!1;for(var i=0,o=0,a=t.place;o<n;o++,a++)i<<=8,i|=e[a],i>>>=0;return!(i<=127)&&(t.place=a,i)}function c(e){for(var t=0,r=e.length-1;!e[t]&&!(128&e[t+1])&&t<r;)t++;return 0===t?e:e.slice(t)}function l(e,t){if(t<128)e.push(t);else{var r=1+(Math.log(t)/Math.LN2>>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}(t.exports=a).prototype._importDER=function(e,t){e=i.toArray(e,t);var r=new s;if(48!==e[r.place++])return!1;var o=u(e,r);if(!1===o)return!1;if(o+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var a=u(e,r);if(!1===a)return!1;var c=e.slice(r.place,a+r.place);if(r.place+=a,2!==e[r.place++])return!1;var l=u(e,r);if(!1===l)return!1;if(e.length!==l+r.place)return!1;var f=e.slice(r.place,l+r.place);if(0===c[0]){if(!(128&c[1]))return!1;c=c.slice(1)}if(0===f[0]){if(!(128&f[1]))return!1;f=f.slice(1)}return this.r=new n(c),this.s=new n(f),!(this.recoveryParam=null)},a.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=c(t),r=c(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];l(n,t.length),(n=n.concat(t)).push(2),l(n,r.length);var o=n.concat(r),a=[48];return l(a,o.length),a=a.concat(o),i.encode(a,e)}},{"../utils":24,"bn.js":9}],22:[function(e,t,r){arguments[4][14][0].apply(r,arguments)},{dup:14}],23:[function(e,t,r){t.exports=void 0},{}],24:[function(e,t,r){"use strict";var n=r,i=e("bn.js"),o=e("minimalistic-assert"),a=e("minimalistic-crypto-utils");n.assert=o,n.toArray=a.toArray,n.zero2=a.zero2,n.toHex=a.toHex,n.encode=a.encode,n.getNAF=function(e,t,r){var n=new Array(Math.max(e.bitLength(),r)+1);n.fill(0);for(var i=1<<t+1,o=e.clone(),a=0;a<n.length;a++){var s,u=o.andln(i-1);o.isOdd()?(s=(i>>1)-1<u?(i>>1)-u:u,o.isubn(s)):s=0,n[a]=s,o.iushrn(1)}return n},n.getJSF=function(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var n=0,i=0;0<e.cmpn(-n)||0<t.cmpn(-i);){var o,a,s,u=e.andln(3)+n&3,c=t.andln(3)+i&3;3===u&&(u=-1),3===c&&(c=-1),o=0==(1&u)?0:3!=(a=e.andln(7)+n&7)&&5!==a||2!==c?u:-u,r[0].push(o),s=0==(1&c)?0:3!=(a=t.andln(7)+i&7)&&5!==a||2!==u?c:-c,r[1].push(s),2*n===o+1&&(n=1-n),2*i===s+1&&(i=1-i),e.iushrn(1),t.iushrn(1)}return r},n.cachedProperty=function(e,t,r){var n="_"+t;e.prototype[t]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},n.parseBytes=function(e){return"string"==typeof e?n.toArray(e,"hex"):e},n.intFromLE=function(e){return new i(e,"hex","le")}},{"bn.js":9,"minimalistic-assert":41,"minimalistic-crypto-utils":42}],25:[function(e,t,r){t.exports={version:"6.5.3"}},{}],26:[function(e,t,r){var n=r;n.utils=e("./hash/utils"),n.common=e("./hash/common"),n.sha=e("./hash/sha"),n.ripemd=e("./hash/ripemd"),n.hmac=e("./hash/hmac"),n.sha1=n.sha.sha1,n.sha256=n.sha.sha256,n.sha224=n.sha.sha224,n.sha384=n.sha.sha384,n.sha512=n.sha.sha512,n.ripemd160=n.ripemd.ripemd160},{"./hash/common":27,"./hash/hmac":28,"./hash/ripemd":29,"./hash/sha":30,"./hash/utils":37}],27:[function(e,t,r){"use strict";var n=e("./utils"),i=e("minimalistic-assert");function o(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}(r.BlockHash=o).prototype.update=function(e,t){if(e=n.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=n.join32(e,0,e.length-r,this.endian);for(var i=0;i<e.length;i+=this._delta32)this._update(e,i,i+this._delta32)}return this},o.prototype.digest=function(e){return this.update(this._pad()),i(null===this.pending),this._digest(e)},o.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,r=t-(e+this.padLength)%t,n=new Array(r+this.padLength);n[0]=128;for(var i=1;i<r;i++)n[i]=0;if(e<<=3,"big"===this.endian){for(var o=8;o<this.padLength;o++)n[i++]=0;n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=e>>>24&255,n[i++]=e>>>16&255,n[i++]=e>>>8&255,n[i++]=255&e}else for(n[i++]=255&e,n[i++]=e>>>8&255,n[i++]=e>>>16&255,n[i++]=e>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;o<this.padLength;o++)n[i++]=0;return n}},{"./utils":37,"minimalistic-assert":41}],28:[function(e,t,r){"use strict";var n=e("./utils"),i=e("minimalistic-assert");function o(e,t,r){if(!(this instanceof o))return new o(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(n.toArray(t,r))}(t.exports=o).prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),i(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},o.prototype.update=function(e,t){return this.inner.update(e,t),this},o.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}},{"./utils":37,"minimalistic-assert":41}],29:[function(e,t,r){"use strict";var n=e("./utils"),i=e("./common"),o=n.rotl32,a=n.sum32,s=n.sum32_3,u=n.sum32_4,c=i.BlockHash;function l(){if(!(this instanceof l))return new l;c.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function f(e,t,r,n){return e<=15?t^r^n:e<=31?t&r|~t&n:e<=47?(t|~r)^n:e<=63?t&n|r&~n:t^(r|~n)}n.inherits(l,c),(r.ripemd160=l).blockSize=512,l.outSize=160,l.hmacStrength=192,l.padLength=64,l.prototype._update=function(e,t){for(var r,n,i=w=this.h[0],c=k=this.h[1],l=E=this.h[2],g=A=this.h[3],y=_=this.h[4],v=0;v<80;v++){var b=a(o(u(w,f(v,k,E,A),e[h[v]+t],(n=v)<=15?0:n<=31?1518500249:n<=47?1859775393:n<=63?2400959708:2840853838),p[v]),_),w=_,_=A,A=o(E,10),E=k,k=b;b=a(o(u(i,f(79-v,c,l,g),e[d[v]+t],(r=v)<=15?1352829926:r<=31?1548603684:r<=47?1836072691:r<=63?2053994217:0),m[v]),y),i=y,y=g,g=o(l,10),l=c,c=b}b=s(this.h[1],E,g),this.h[1]=s(this.h[2],A,y),this.h[2]=s(this.h[3],_,i),this.h[3]=s(this.h[4],w,c),this.h[4]=s(this.h[0],k,l),this.h[0]=b},l.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"little"):n.split32(this.h,"little")};var h=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],d=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],p=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],m=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},{"./common":27,"./utils":37}],30:[function(e,t,r){"use strict";r.sha1=e("./sha/1"),r.sha224=e("./sha/224"),r.sha256=e("./sha/256"),r.sha384=e("./sha/384"),r.sha512=e("./sha/512")},{"./sha/1":31,"./sha/224":32,"./sha/256":33,"./sha/384":34,"./sha/512":35}],31:[function(e,t,r){arguments[4][14][0].apply(r,arguments)},{dup:14}],32:[function(e,t,r){arguments[4][14][0].apply(r,arguments)},{dup:14}],33:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../common"),o=e("./common"),a=e("minimalistic-assert"),s=n.sum32,u=n.sum32_4,c=n.sum32_5,l=o.ch32,f=o.maj32,h=o.s0_256,d=o.s1_256,p=o.g0_256,m=o.g1_256,g=i.BlockHash,y=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function v(){if(!(this instanceof v))return new v;g.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=y,this.W=new Array(64)}n.inherits(v,g),(t.exports=v).blockSize=512,v.outSize=256,v.hmacStrength=192,v.padLength=64,v.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n<r.length;n++)r[n]=u(m(r[n-2]),r[n-7],p(r[n-15]),r[n-16]);var i=this.h[0],o=this.h[1],g=this.h[2],y=this.h[3],v=this.h[4],b=this.h[5],w=this.h[6],_=this.h[7];for(a(this.k.length===r.length),n=0;n<r.length;n++){var A=c(_,d(v),l(v,b,w),this.k[n],r[n]),E=s(h(i),f(i,o,g));_=w,w=b,b=v,v=s(y,A),y=g,g=o,o=i,i=s(A,E)}this.h[0]=s(this.h[0],i),this.h[1]=s(this.h[1],o),this.h[2]=s(this.h[2],g),this.h[3]=s(this.h[3],y),this.h[4]=s(this.h[4],v),this.h[5]=s(this.h[5],b),this.h[6]=s(this.h[6],w),this.h[7]=s(this.h[7],_)},v.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"big"):n.split32(this.h,"big")}},{"../common":27,"../utils":37,"./common":36,"minimalistic-assert":41}],34:[function(e,t,r){arguments[4][14][0].apply(r,arguments)},{dup:14}],35:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../common"),o=e("minimalistic-assert"),a=n.rotr64_hi,s=n.rotr64_lo,u=n.shr64_hi,c=n.shr64_lo,l=n.sum64,f=n.sum64_hi,h=n.sum64_lo,d=n.sum64_4_hi,p=n.sum64_4_lo,m=n.sum64_5_hi,g=n.sum64_5_lo,y=i.BlockHash,v=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function b(){if(!(this instanceof b))return new b;y.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=v,this.W=new Array(160)}n.inherits(b,y),(t.exports=b).blockSize=1024,b.outSize=512,b.hmacStrength=192,b.padLength=128,b.prototype._prepareBlock=function(e,t){for(var r=this.W,n=0;n<32;n++)r[n]=e[t+n];for(;n<r.length;n+=2){var i=function(e,t){var r=a(e,t,19)^a(t,e,29)^u(e,t,6);return r<0&&(r+=4294967296),r}(r[n-4],r[n-3]),o=function(e,t){var r=s(e,t,19)^s(t,e,29)^c(e,t,6);return r<0&&(r+=4294967296),r}(r[n-4],r[n-3]),l=r[n-14],f=r[n-13],h=function(e,t){var r=a(e,t,1)^a(e,t,8)^u(e,t,7);return r<0&&(r+=4294967296),r}(r[n-30],r[n-29]),m=function(e,t){var r=s(e,t,1)^s(e,t,8)^c(e,t,7);return r<0&&(r+=4294967296),r}(r[n-30],r[n-29]),g=r[n-32],y=r[n-31];r[n]=d(i,o,l,f,h,m,g,y),r[n+1]=p(i,o,l,f,h,m,g,y)}},b.prototype._update=function(e,t){this._prepareBlock(e,t);var r=this.W,n=this.h[0],i=this.h[1],u=this.h[2],c=this.h[3],d=this.h[4],p=this.h[5],y=this.h[6],v=this.h[7],b=this.h[8],w=this.h[9],_=this.h[10],A=this.h[11],E=this.h[12],k=this.h[13],x=this.h[14],S=this.h[15];o(this.k.length===r.length);for(var M=0;M<r.length;M+=2){var I=x,P=S,T=function(e,t){var r=a(e,t,14)^a(e,t,18)^a(t,e,9);return r<0&&(r+=4294967296),r}(b,w),N=function(e,t){var r=s(e,t,14)^s(e,t,18)^s(t,e,9);return r<0&&(r+=4294967296),r}(b,w),O=function(e,t,r){var n=e&t^~e&r;return n<0&&(n+=4294967296),n}(b,_,E),R=function(e,t,r){var n=e&t^~e&r;return n<0&&(n+=4294967296),n}(w,A,k),C=this.k[M],j=this.k[M+1],L=r[M],B=r[M+1],U=m(I,P,T,N,O,R,C,j,L,B),D=g(I,P,T,N,O,R,C,j,L,B),F=(I=function(e,t){var r=a(e,t,28)^a(t,e,2)^a(t,e,7);return r<0&&(r+=4294967296),r}(n,i),P=function(e,t){var r=s(e,t,28)^s(t,e,2)^s(t,e,7);return r<0&&(r+=4294967296),r}(n,i),T=function(e,t,r){var n=e&t^e&r^t&r;return n<0&&(n+=4294967296),n}(n,u,d),N=function(e,t,r){var n=e&t^e&r^t&r;return n<0&&(n+=4294967296),n}(i,c,p),f(I,P,T,N)),z=h(I,P,T,N);x=E,S=k,E=_,k=A,_=b,A=w,b=f(y,v,U,D),w=h(v,v,U,D),y=d,v=p,d=u,p=c,u=n,c=i,n=f(U,D,F,z),i=h(U,D,F,z)}l(this.h,0,n,i),l(this.h,2,u,c),l(this.h,4,d,p),l(this.h,6,y,v),l(this.h,8,b,w),l(this.h,10,_,A),l(this.h,12,E,k),l(this.h,14,x,S)},b.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"big"):n.split32(this.h,"big")}},{"../common":27,"../utils":37,"minimalistic-assert":41}],36:[function(e,t,r){"use strict";var n=e("../utils").rotr32;function i(e,t,r){return e&t^~e&r}function o(e,t,r){return e&t^e&r^t&r}r.ft_1=function(e,t,r,n){return 0===e?i(t,r,n):1===e||3===e?t^r^n:2===e?o(t,r,n):void 0},r.ch32=i,r.maj32=o,r.p32=function(e,t,r){return e^t^r},r.s0_256=function(e){return n(e,2)^n(e,13)^n(e,22)},r.s1_256=function(e){return n(e,6)^n(e,11)^n(e,25)},r.g0_256=function(e){return n(e,7)^n(e,18)^e>>>3},r.g1_256=function(e){return n(e,17)^n(e,19)^e>>>10}},{"../utils":37}],37:[function(e,t,r){"use strict";var n=e("minimalistic-assert"),i=e("inherits");function o(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function a(e){return 1===e.length?"0"+e:e}function s(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}r.inherits=i,r.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),n=0;n<e.length;n+=2)r.push(parseInt(e[n]+e[n+1],16))}else for(var n=0;n<e.length;n++){var i=e.charCodeAt(n),o=i>>8,a=255&i;o?r.push(o,a):r.push(a)}else for(n=0;n<e.length;n++)r[n]=0|e[n];return r},r.toHex=function(e){for(var t="",r=0;r<e.length;r++)t+=a(e[r].toString(16));return t},r.htonl=o,r.toHex32=function(e,t){for(var r="",n=0;n<e.length;n++){var i=e[n];"little"===t&&(i=o(i)),r+=s(i.toString(16))}return r},r.zero2=a,r.zero8=s,r.join32=function(e,t,r,i){var o=r-t;n(o%4==0);for(var a=new Array(o/4),s=0,u=t;s<a.length;s++,u+=4){var c="big"===i?e[u]<<24|e[u+1]<<16|e[u+2]<<8|e[u+3]:e[u+3]<<24|e[u+2]<<16|e[u+1]<<8|e[u];a[s]=c>>>0}return a},r.split32=function(e,t){for(var r=new Array(4*e.length),n=0,i=0;n<e.length;n++,i+=4){var o=e[n];"big"===t?(r[i]=o>>>24,r[i+1]=o>>>16&255,r[i+2]=o>>>8&255,r[i+3]=255&o):(r[i+3]=o>>>24,r[i+2]=o>>>16&255,r[i+1]=o>>>8&255,r[i]=255&o)}return r},r.rotr32=function(e,t){return e>>>t|e<<32-t},r.rotl32=function(e,t){return e<<t|e>>>32-t},r.sum32=function(e,t){return e+t>>>0},r.sum32_3=function(e,t,r){return e+t+r>>>0},r.sum32_4=function(e,t,r,n){return e+t+r+n>>>0},r.sum32_5=function(e,t,r,n,i){return e+t+r+n+i>>>0},r.sum64=function(e,t,r,n){var i=e[t],o=n+e[t+1]>>>0,a=(o<n?1:0)+r+i;e[t]=a>>>0,e[t+1]=o},r.sum64_hi=function(e,t,r,n){return(t+n>>>0<t?1:0)+e+r>>>0},r.sum64_lo=function(e,t,r,n){return t+n>>>0},r.sum64_4_hi=function(e,t,r,n,i,o,a,s){var u=0,c=t;return u+=(c=c+n>>>0)<t?1:0,u+=(c=c+o>>>0)<o?1:0,e+r+i+a+(u+=(c=c+s>>>0)<s?1:0)>>>0},r.sum64_4_lo=function(e,t,r,n,i,o,a,s){return t+n+o+s>>>0},r.sum64_5_hi=function(e,t,r,n,i,o,a,s,u,c){var l=0,f=t;return l+=(f=f+n>>>0)<t?1:0,l+=(f=f+o>>>0)<o?1:0,l+=(f=f+s>>>0)<s?1:0,e+r+i+a+u+(l+=(f=f+c>>>0)<c?1:0)>>>0},r.sum64_5_lo=function(e,t,r,n,i,o,a,s,u,c){return t+n+o+s+c>>>0},r.rotr64_hi=function(e,t,r){return(t<<32-r|e>>>r)>>>0},r.rotr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0},r.shr64_hi=function(e,t,r){return e>>>r},r.shr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0}},{inherits:39,"minimalistic-assert":41}],38:[function(e,t,r){"use strict";var n=e("hash.js"),i=e("minimalistic-crypto-utils"),o=e("minimalistic-assert");function a(e){if(!(this instanceof a))return new a(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=i.toArray(e.entropy,e.entropyEnc||"hex"),r=i.toArray(e.nonce,e.nonceEnc||"hex"),n=i.toArray(e.pers,e.persEnc||"hex");o(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,n)}(t.exports=a).prototype._init=function(e,t,r){var n=e.concat(t).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656},a.prototype._hmac=function(){return new n.hmac(this.hash,this.K)},a.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},a.prototype.reseed=function(e,t,r,n){"string"!=typeof t&&(n=r,r=t,t=null),e=i.toArray(e,t),r=i.toArray(r,n),o(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this._reseed=1},a.prototype.generate=function(e,t,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(n=r,r=t,t=null),r&&(r=i.toArray(r,n||"hex"),this._update(r));for(var o=[];o.length<e;)this.V=this._hmac().update(this.V).digest(),o=o.concat(this.V);var a=o.slice(0,e);return this._update(r),this._reseed++,i.encode(a,t)}},{"hash.js":26,"minimalistic-assert":41,"minimalistic-crypto-utils":42}],39:[function(e,t,r){"function"==typeof Object.create?t.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(e,t){var r;t&&(e.super_=t,(r=function(){}).prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e)}},{}],40:[function(e,t,n){(function(e,r){!function(){"use strict";var n="object"==("undefined"==typeof window?"undefined":s(window))?window:{};!n.JS_SHA3_NO_NODE_JS&&"object"==s(e)&&e.versions&&e.versions.node&&(n=r);for(var i=!n.JS_SHA3_NO_COMMON_JS&&"object"==s(t)&&t.exports,o="0123456789abcdef".split(""),a=[0,8,16,24],u=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],c=[224,256,384,512],l=["hex","buffer","arrayBuffer","array"],f=function(e,t,r){return function(n){return new A(e,t,e).update(n)[r]()}},h=function(e,t,r){return function(n,i){return new A(e,t,i).update(n)[r]()}},d=function(e,t){var r=f(e,t,"hex");r.create=function(){return new A(e,t,e)},r.update=function(e){return r.create().update(e)};for(var n=0;n<l.length;++n){var i=l[n];r[i]=f(e,t,i)}return r},p=[{name:"keccak",padding:[1,256,65536,16777216],bits:c,createMethod:d},{name:"sha3",padding:[6,1536,393216,100663296],bits:c,createMethod:d},{name:"shake",padding:[31,7936,2031616,520093696],bits:[128,256],createMethod:function(e,t){var r=h(e,t,"hex");r.create=function(r){return new A(e,t,r)},r.update=function(e,t){return r.create(t).update(e)};for(var n=0;n<l.length;++n){var i=l[n];r[i]=h(e,t,i)}return r}}],m={},g=[],y=0;y<p.length;++y)for(var v=p[y],b=v.bits,w=0;w<b.length;++w){var _=v.name+"_"+b[w];g.push(_),m[_]=v.createMethod(b[w],v.padding)}function A(e,t,r){this.blocks=[],this.s=[],this.padding=t,this.outputBits=r,this.reset=!0,this.block=0,this.start=0,this.blockCount=1600-(e<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var n=0;n<50;++n)this.s[n]=0}A.prototype.update=function(e){var t="string"!=typeof e;t&&e.constructor===ArrayBuffer&&(e=new Uint8Array(e));for(var r,n,i=e.length,o=this.blocks,s=this.byteCount,u=this.blockCount,c=0,l=this.s;c<i;){if(this.reset)for(this.reset=!1,o[0]=this.block,r=1;r<u+1;++r)o[r]=0;if(t)for(r=this.start;c<i&&r<s;++c)o[r>>2]|=e[c]<<a[3&r++];else for(r=this.start;c<i&&r<s;++c)(n=e.charCodeAt(c))<128?o[r>>2]|=n<<a[3&r++]:(n<2048?o[r>>2]|=(192|n>>6)<<a[3&r++]:(n<55296||57344<=n?o[r>>2]|=(224|n>>12)<<a[3&r++]:(n=65536+((1023&n)<<10|1023&e.charCodeAt(++c)),o[r>>2]|=(240|n>>18)<<a[3&r++],o[r>>2]|=(128|n>>12&63)<<a[3&r++]),o[r>>2]|=(128|n>>6&63)<<a[3&r++]),o[r>>2]|=(128|63&n)<<a[3&r++]);if(s<=(this.lastByteIndex=r)){for(this.start=r-s,this.block=o[u],r=0;r<u;++r)l[r]^=o[r];E(l),this.reset=!0}else this.start=r}return this},A.prototype.finalize=function(){var e=this.blocks,t=this.lastByteIndex,r=this.blockCount,n=this.s;if(e[t>>2]|=this.padding[3&t],this.lastByteIndex===this.byteCount)for(e[0]=e[r],t=1;t<r+1;++t)e[t]=0;for(e[r-1]|=2147483648,t=0;t<r;++t)n[t]^=e[t];E(n)},A.prototype.toString=A.prototype.hex=function(){this.finalize();for(var e,t=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,a=0,s=0,u="";s<n;){for(a=0;a<t&&s<n;++a,++s)e=r[a],u+=o[e>>4&15]+o[15&e]+o[e>>12&15]+o[e>>8&15]+o[e>>20&15]+o[e>>16&15]+o[e>>28&15]+o[e>>24&15];s%t==0&&(E(r),a=0)}return i&&(e=r[a],0<i&&(u+=o[e>>4&15]+o[15&e]),1<i&&(u+=o[e>>12&15]+o[e>>8&15]),2<i&&(u+=o[e>>20&15]+o[e>>16&15])),u},A.prototype.buffer=A.prototype.arrayBuffer=function(){this.finalize();for(var e=this.blockCount,t=this.s,r=this.outputBlocks,n=this.extraBytes,i=0,o=0,a=this.outputBits>>3,s=n?new ArrayBuffer(r+1<<2):new ArrayBuffer(a),u=new Uint32Array(s);o<r;){for(i=0;i<e&&o<r;++i,++o)u[o]=t[i];o%e==0&&E(t)}return n&&(u[i]=t[i],s=s.slice(0,a)),s},A.prototype.digest=A.prototype.array=function(){this.finalize();for(var e,t,r=this.blockCount,n=this.s,i=this.outputBlocks,o=this.extraBytes,a=0,s=0,u=[];s<i;){for(a=0;a<r&&s<i;++a,++s)e=s<<2,t=n[a],u[e]=255&t,u[e+1]=t>>8&255,u[e+2]=t>>16&255,u[e+3]=t>>24&255;s%r==0&&E(n)}return o&&(e=s<<2,t=n[a],0<o&&(u[e]=255&t),1<o&&(u[e+1]=t>>8&255),2<o&&(u[e+2]=t>>16&255)),u};var E=function(e){for(var t,r,n,i,o,a,s,c,l,f,h,d,p,m,g,y,v,b,w,_,A,E,k,x,S,M,I,P,T,N,O,R,C,j,L,B,U,D,F,z,H,G,q,V,W,K,Z,Q,J,$,Y,X,ee,te,re,ne,ie,oe,ae,se,ue,ce,le=0;le<48;le+=2)n=e[0]^e[10]^e[20]^e[30]^e[40],i=e[1]^e[11]^e[21]^e[31]^e[41],o=e[2]^e[12]^e[22]^e[32]^e[42],a=e[3]^e[13]^e[23]^e[33]^e[43],s=e[4]^e[14]^e[24]^e[34]^e[44],c=e[5]^e[15]^e[25]^e[35]^e[45],l=e[6]^e[16]^e[26]^e[36]^e[46],f=e[7]^e[17]^e[27]^e[37]^e[47],t=(h=e[8]^e[18]^e[28]^e[38]^e[48])^(o<<1|a>>>31),r=(d=e[9]^e[19]^e[29]^e[39]^e[49])^(a<<1|o>>>31),e[0]^=t,e[1]^=r,e[10]^=t,e[11]^=r,e[20]^=t,e[21]^=r,e[30]^=t,e[31]^=r,e[40]^=t,e[41]^=r,t=n^(s<<1|c>>>31),r=i^(c<<1|s>>>31),e[2]^=t,e[3]^=r,e[12]^=t,e[13]^=r,e[22]^=t,e[23]^=r,e[32]^=t,e[33]^=r,e[42]^=t,e[43]^=r,t=o^(l<<1|f>>>31),r=a^(f<<1|l>>>31),e[4]^=t,e[5]^=r,e[14]^=t,e[15]^=r,e[24]^=t,e[25]^=r,e[34]^=t,e[35]^=r,e[44]^=t,e[45]^=r,t=s^(h<<1|d>>>31),r=c^(d<<1|h>>>31),e[6]^=t,e[7]^=r,e[16]^=t,e[17]^=r,e[26]^=t,e[27]^=r,e[36]^=t,e[37]^=r,e[46]^=t,e[47]^=r,t=l^(n<<1|i>>>31),r=f^(i<<1|n>>>31),e[8]^=t,e[9]^=r,e[18]^=t,e[19]^=r,e[28]^=t,e[29]^=r,e[38]^=t,e[39]^=r,e[48]^=t,e[49]^=r,p=e[0],m=e[1],W=e[11]<<4|e[10]>>>28,K=e[10]<<4|e[11]>>>28,I=e[20]<<3|e[21]>>>29,P=e[21]<<3|e[20]>>>29,ae=e[31]<<9|e[30]>>>23,se=e[30]<<9|e[31]>>>23,H=e[40]<<18|e[41]>>>14,G=e[41]<<18|e[40]>>>14,C=e[2]<<1|e[3]>>>31,j=e[3]<<1|e[2]>>>31,g=e[13]<<12|e[12]>>>20,y=e[12]<<12|e[13]>>>20,Z=e[22]<<10|e[23]>>>22,Q=e[23]<<10|e[22]>>>22,T=e[33]<<13|e[32]>>>19,N=e[32]<<13|e[33]>>>19,ue=e[42]<<2|e[43]>>>30,ce=e[43]<<2|e[42]>>>30,ee=e[5]<<30|e[4]>>>2,te=e[4]<<30|e[5]>>>2,L=e[14]<<6|e[15]>>>26,B=e[15]<<6|e[14]>>>26,v=e[25]<<11|e[24]>>>21,b=e[24]<<11|e[25]>>>21,J=e[34]<<15|e[35]>>>17,$=e[35]<<15|e[34]>>>17,O=e[45]<<29|e[44]>>>3,R=e[44]<<29|e[45]>>>3,k=e[6]<<28|e[7]>>>4,x=e[7]<<28|e[6]>>>4,re=e[17]<<23|e[16]>>>9,ne=e[16]<<23|e[17]>>>9,U=e[26]<<25|e[27]>>>7,D=e[27]<<25|e[26]>>>7,w=e[36]<<21|e[37]>>>11,_=e[37]<<21|e[36]>>>11,Y=e[47]<<24|e[46]>>>8,X=e[46]<<24|e[47]>>>8,q=e[8]<<27|e[9]>>>5,V=e[9]<<27|e[8]>>>5,S=e[18]<<20|e[19]>>>12,M=e[19]<<20|e[18]>>>12,ie=e[29]<<7|e[28]>>>25,oe=e[28]<<7|e[29]>>>25,F=e[38]<<8|e[39]>>>24,z=e[39]<<8|e[38]>>>24,A=e[48]<<14|e[49]>>>18,E=e[49]<<14|e[48]>>>18,e[0]=p^~g&v,e[1]=m^~y&b,e[10]=k^~S&I,e[11]=x^~M&P,e[20]=C^~L&U,e[21]=j^~B&D,e[30]=q^~W&Z,e[31]=V^~K&Q,e[40]=ee^~re&ie,e[41]=te^~ne&oe,e[2]=g^~v&w,e[3]=y^~b&_,e[12]=S^~I&T,e[13]=M^~P&N,e[22]=L^~U&F,e[23]=B^~D&z,e[32]=W^~Z&J,e[33]=K^~Q&$,e[42]=re^~ie&ae,e[43]=ne^~oe&se,e[4]=v^~w&A,e[5]=b^~_&E,e[14]=I^~T&O,e[15]=P^~N&R,e[24]=U^~F&H,e[25]=D^~z&G,e[34]=Z^~J&Y,e[35]=Q^~$&X,e[44]=ie^~ae&ue,e[45]=oe^~se&ce,e[6]=w^~A&p,e[7]=_^~E&m,e[16]=T^~O&k,e[17]=N^~R&x,e[26]=F^~H&C,e[27]=z^~G&j,e[36]=J^~Y&q,e[37]=$^~X&V,e[46]=ae^~ue&ee,e[47]=se^~ce&te,e[8]=A^~p&g,e[9]=E^~m&y,e[18]=O^~k&S,e[19]=R^~x&M,e[28]=H^~C&L,e[29]=G^~j&B,e[38]=Y^~q&W,e[39]=X^~V&K,e[48]=ue^~ee&re,e[49]=ce^~te&ne,e[0]^=u[le],e[1]^=u[le+1]};if(i)t.exports=m;else for(y=0;y<g.length;++y)n[g[y]]=m[g[y]]}()}).call(this,e("_process"),void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:43}],41:[function(e,t,r){(t.exports=function(e,t){if(!e)throw new Error(t||"Assertion failed")}).equal=function(e,t,r){if(e!=t)throw new Error(r||"Assertion failed: "+e+" != "+t)}},{}],42:[function(e,t,r){"use strict";var n=r;function i(e){return 1===e.length?"0"+e:e}function o(e){for(var t="",r=0;r<e.length;r++)t+=i(e[r].toString(16));return t}n.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"!=typeof e){for(var n=0;n<e.length;n++)r[n]=0|e[n];return r}if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),n=0;n<e.length;n+=2)r.push(parseInt(e[n]+e[n+1],16));else for(n=0;n<e.length;n++){var i=e.charCodeAt(n),o=i>>8,a=255&i;o?r.push(o,a):r.push(a)}return r},n.zero2=i,n.toHex=o,n.encode=function(e,t){return"hex"===t?o(e):e}},{}],43:[function(e,t,r){t.exports={browser:!0}},{}],44:[function(e,t,r){(function(e){"use strict";function n(e){var t=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],r=1779033703,n=3144134277,i=1013904242,o=2773480762,a=1359893119,s=2600822924,u=528734635,c=1541459225,l=new Array(64);function f(e){for(var f=0,h=e.length;64<=h;){for(var d,p,m,g,y=r,v=n,b=i,w=o,_=a,A=s,E=u,k=c,x=0;x<16;x++)p=f+4*x,l[x]=(255&e[p])<<24|(255&e[p+1])<<16|(255&e[p+2])<<8|255&e[p+3];for(x=16;x<64;x++)m=((d=l[x-2])>>>17|d<<15)^(d>>>19|d<<13)^d>>>10,g=((d=l[x-15])>>>7|d<<25)^(d>>>18|d<<14)^d>>>3,l[x]=(m+l[x-7]|0)+(g+l[x-16]|0)|0;for(x=0;x<64;x++)m=(((_>>>6|_<<26)^(_>>>11|_<<21)^(_>>>25|_<<7))+(_&A^~_&E)|0)+(k+(t[x]+l[x]|0)|0)|0,g=((y>>>2|y<<30)^(y>>>13|y<<19)^(y>>>22|y<<10))+(y&v^y&b^v&b)|0,k=E,E=A,A=_,_=w+m|0,w=b,b=v,v=y,y=m+g|0;r=r+y|0,n=n+v|0,i=i+b|0,o=o+w|0,a=a+_|0,s=s+A|0,u=u+E|0,c=c+k|0,f+=64,h-=64}}f(e);var h,d=e.length%64,p=e.length/536870912|0,m=e.length<<3,g=d<56?56:120,y=e.slice(e.length-d,e.length);for(y.push(128),h=1+d;h<g;h++)y.push(0);return y.push(p>>>24&255),y.push(p>>>16&255),y.push(p>>>8&255),y.push(p>>>0&255),y.push(m>>>24&255),y.push(m>>>16&255),y.push(m>>>8&255),y.push(m>>>0&255),f(y),[r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,u>>>24&255,u>>>16&255,u>>>8&255,u>>>0&255,c>>>24&255,c>>>16&255,c>>>8&255,c>>>0&255]}function i(e,t,r){e=e.length<=64?e:n(e);for(var i=64+t.length+4,o=new Array(i),a=new Array(64),s=[],u=0;u<64;u++)o[u]=54;for(u=0;u<e.length;u++)o[u]^=e[u];for(u=0;u<t.length;u++)o[64+u]=t[u];for(u=i-4;u<i;u++)o[u]=0;for(u=0;u<64;u++)a[u]=92;for(u=0;u<e.length;u++)a[u]^=e[u];function c(){for(var e=i-1;i-4<=e;e--){if(o[e]++,o[e]<=255)return;o[e]=0}}for(;32<=r;)c(),s=s.concat(n(a.concat(n(o)))),r-=32;return 0<r&&(c(),s=s.concat(n(a.concat(n(o))).slice(0,r))),s}function o(e,t,r,n,i){var o;for(u(e,16*(2*r-1),i,0,16),o=0;o<2*r;o++)s(e,16*o,i,16),function(e,t){u(e,0,t,0,16);for(var r=8;0<r;r-=2)t[4]^=a(t[0]+t[12],7),t[8]^=a(t[4]+t[0],9),t[12]^=a(t[8]+t[4],13),t[0]^=a(t[12]+t[8],18),t[9]^=a(t[5]+t[1],7),t[13]^=a(t[9]+t[5],9),t[1]^=a(t[13]+t[9],13),t[5]^=a(t[1]+t[13],18),t[14]^=a(t[10]+t[6],7),t[2]^=a(t[14]+t[10],9),t[6]^=a(t[2]+t[14],13),t[10]^=a(t[6]+t[2],18),t[3]^=a(t[15]+t[11],7),t[7]^=a(t[3]+t[15],9),t[11]^=a(t[7]+t[3],13),t[15]^=a(t[11]+t[7],18),t[1]^=a(t[0]+t[3],7),t[2]^=a(t[1]+t[0],9),t[3]^=a(t[2]+t[1],13),t[0]^=a(t[3]+t[2],18),t[6]^=a(t[5]+t[4],7),t[7]^=a(t[6]+t[5],9),t[4]^=a(t[7]+t[6],13),t[5]^=a(t[4]+t[7],18),t[11]^=a(t[10]+t[9],7),t[8]^=a(t[11]+t[10],9),t[9]^=a(t[8]+t[11],13),t[10]^=a(t[9]+t[8],18),t[12]^=a(t[15]+t[14],7),t[13]^=a(t[12]+t[15],9),t[14]^=a(t[13]+t[12],13),t[15]^=a(t[14]+t[13],18);for(r=0;r<16;++r)e[r]+=t[r]}(i,n),u(i,0,e,t+16*o,16);for(o=0;o<r;o++)u(e,t+2*o*16,e,16*o,16);for(o=0;o<r;o++)u(e,t+16*(2*o+1),e,16*(o+r),16)}function a(e,t){return e<<t|e>>>32-t}function s(e,t,r,n){for(var i=0;i<n;i++)r[i]^=e[t+i]}function u(e,t,r,n,i){for(;i--;)r[n++]=e[t++]}function c(e){if(e&&"number"==typeof e.length){for(var t=0;t<e.length;t++){if("number"!=typeof e[t])return;var r=parseInt(e[t]);if(r!=e[t]||r<0||256<=r)return}return 1}}function l(e,t){var r=parseInt(e);if(e!=r)throw new Error("invalid "+t);return r}function f(t,r,n,a,f,h,p){if(!p)throw new Error("missing callback");if(n=l(n,"N"),a=l(a,"r"),f=l(f,"p"),h=l(h,"dkLen"),0===n||0!=(n&n-1))throw new Error("N must be power of 2");if(d/128/a<n)throw new Error("N too large");if(d/128/f<a)throw new Error("r too large");if(!c(t))throw new Error("password must be an array or buffer");if(t=Array.prototype.slice.call(t),!c(r))throw new Error("salt must be an array or buffer");r=Array.prototype.slice.call(r);for(var m=i(t,r,128*f*a),g=new Uint32Array(32*f*a),y=0;y<g.length;y++){var v=4*y;g[y]=(255&m[3+v])<<24|(255&m[2+v])<<16|(255&m[1+v])<<8|(255&m[0+v])<<0}var b,w,_=new Uint32Array(64*a),A=new Uint32Array(32*a*n),E=32*a,k=new Uint32Array(16),x=new Uint32Array(16),S=f*n*2,M=0,I=null,P=!1,T=0,N=0,O=parseInt(1e3/a),R=void 0!==e?e:setTimeout;!function e(){if(P)return p(new Error("cancelled"),M/S);switch(T){case 0:u(g,w=32*N*a,_,0,E),T=1,b=0;case 1:O<(c=n-b)&&(c=O);for(var r=0;r<c;r++)u(_,0,A,(b+r)*E,E),o(_,E,a,k,x);if(b+=c,M+=c,(l=parseInt(1e3*M/S))!==I){if(P=p(null,M/S))break;I=l}if(b<n)break;b=0,T=2;case 2:var c,l;for(O<(c=n-b)&&(c=O),r=0;r<c;r++){var d=_[16*(2*a-1)]&n-1;s(A,d*E,_,E),o(_,E,a,k,x)}if(b+=c,M+=c,(l=parseInt(1e3*M/S))!==I){if(P=p(null,M/S))break;I=l}if(b<n)break;if(u(_,0,g,w,E),++N<f){T=0;break}for(m=[],r=0;r<g.length;r++)m.push(g[r]>>0&255),m.push(g[r]>>8&255),m.push(g[r]>>16&255),m.push(g[r]>>24&255);var y=i(t,m,h);return p(null,1,y)}R(e)}()}var h,d;h=this,d=2147483647,void 0!==r?t.exports=f:h&&(h.scrypt&&(h._scrypt=h.scrypt),h.scrypt=f)}).call(this,e("timers").setImmediate)},{timers:46}],45:[function(e,t,n){(function(e,t,r){!function(t,r){"use strict";var n,i,o,a,s,u,c,l,f;function h(e){return i[n]=d.apply(r,e),n++}function d(e){var t=[].slice.call(arguments,1);return function(){"function"==typeof e?e.apply(r,t):new Function(""+e)()}}function p(e){if(o)setTimeout(d(p,e),0);else{var t=i[e];if(t){o=!0;try{t()}finally{m(e),o=!1}}}}function m(e){delete i[e]}function g(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(l)&&p(+e.data.slice(l.length))}t.setImmediate||(n=1,o=!(i={}),a=t.document,f=(f=Object.getPrototypeOf&&Object.getPrototypeOf(t))&&f.setTimeout?f:t,s="[object process]"==={}.toString.call(t.process)?function(){var t=h(arguments);return e.nextTick(d(p,t)),t}:function(){if(t.postMessage&&!t.importScripts){var e=!0,r=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=r,e}}()?(l="setImmediate$"+Math.random()+"$",t.addEventListener?t.addEventListener("message",g,!1):t.attachEvent("onmessage",g),function(){var e=h(arguments);return t.postMessage(l+e,"*"),e}):t.MessageChannel?((c=new MessageChannel).port1.onmessage=function(e){p(e.data)},function(){var e=h(arguments);return c.port2.postMessage(e),e}):a&&"onreadystatechange"in a.createElement("script")?(u=a.documentElement,function(){var e=h(arguments),t=a.createElement("script");return t.onreadystatechange=function(){p(e),t.onreadystatechange=null,u.removeChild(t),t=null},u.appendChild(t),e}):function(){var e=h(arguments);return setTimeout(d(p,e),0),e},f.setImmediate=s,f.clearImmediate=m)}("undefined"==typeof self?void 0===t?this:t:self)}).call(this,e("_process"),void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("timers").clearImmediate)},{_process:43,timers:46}],46:[function(e,t,n){(function(e){t.exports={setImmediate:e.setImmediate}}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],47:[function(e,t,n){(function(e){var r,n,i;e.crypto&&crypto.getRandomValues&&(r=new Uint8Array(16),n=function(){return crypto.getRandomValues(r),r}),n||(i=new Array(16),n=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),i[t]=e>>>((3&t)<<3)&255;return i}),t.exports=n}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],48:[function(e,t,r){for(var n=e("./rng"),i=[],o={},a=0;a<256;a++)i[a]=(a+256).toString(16).substr(1),o[i[a]]=a;function s(e,t){var r=t||0;return i[e[r++]]+i[e[r++]]+i[e[r++]]+i[e[r++]]+"-"+i[e[r++]]+i[e[r++]]+"-"+i[e[r++]]+i[e[r++]]+"-"+i[e[r++]]+i[e[r++]]+"-"+i[e[r++]]+i[e[r++]]+i[e[r++]]+i[e[r++]]+i[e[r++]]+i[e[r++]]}var u=n(),c=[1|u[0],u[1],u[2],u[3],u[4],u[5]],l=16383&(u[6]<<8|u[7]),f=0,h=0;function d(e,t,r){var i=t&&r||0;"string"==typeof e&&(t="binary"==e?new Array(16):null,e=null);var o=(e=e||{}).random||(e.rng||n)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,t)for(var a=0;a<16;a++)t[i+a]=o[a];return t||s(o)}var p=d;p.v1=function(e,t,r){var n=t&&r||0,i=t||[],o=void 0!==(e=e||{}).clockseq?e.clockseq:l,a=void 0!==e.msecs?e.msecs:(new Date).getTime(),u=void 0!==e.nsecs?e.nsecs:h+1,d=a-f+(u-h)/1e4;if(d<0&&void 0===e.clockseq&&(o=o+1&16383),(d<0||f<a)&&void 0===e.nsecs&&(u=0),1e4<=u)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");f=a,l=o;var p=(1e4*(268435455&(a+=122192928e5))+(h=u))%4294967296;i[n++]=p>>>24&255,i[n++]=p>>>16&255,i[n++]=p>>>8&255,i[n++]=255&p;var m=a/4294967296*1e4&268435455;i[n++]=m>>>8&255,i[n++]=255&m,i[n++]=m>>>24&15|16,i[n++]=m>>>16&255,i[n++]=o>>>8|128,i[n++]=255&o;for(var g=e.node||c,y=0;y<6;y++)i[n+y]=g[y];return t||s(i)},p.v4=d,p.parse=function(e,t,r){var n=t&&r||0,i=0;for(t=t||[],e.toLowerCase().replace(/[0-9a-f]{2}/g,(function(e){i<16&&(t[n+i++]=o[e])}));i<16;)t[n+i++]=0;return t},p.unparse=s,t.exports=p},{"./rng":47}],49:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});try{t.exports.XMLHttpRequest=XMLHttpRequest}catch(e){console.log("Warning: XMLHttpRequest is not defined"),t.exports.XMLHttpRequest=null}},{}],50:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("../utils/properties"),i=(o.isProvider=function(e){return n.isType(e,"Provider")},o);function o(){n.setType(this,"Provider")}r.Provider=i},{"../utils/properties":74}],51:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var a=e("../utils/address"),u=e("../utils/bignumber"),c=e("../utils/bytes"),l=e("../constants"),f=e("../utils/hash"),h=e("../utils/networks"),d=e("../utils/properties"),p=e("../utils/rlp"),m=e("../utils/transaction"),g=e("../utils/utf8"),y=e("../utils/web"),v=o(e("../errors")),b=e("./abstract-provider");function w(e,t){var r={};for(var n in e)try{var i=e[n](t[n]);void 0!==i&&(r[n]=i)}catch(e){throw e.checkKey=n,e.checkValue=t[n],e}return r}function _(e,t){return function(r){return null==r?t:e(r)}}function A(e){return function(t){if(!Array.isArray(t))throw new Error("not an array");var r=[];return t.forEach((function(t){r.push(e(t))})),r}}function E(e,t){return"string"==typeof e&&(t||"0x"===e.substring(0,2)||(e="0x"+e),32===c.hexDataLength(e))?e.toLowerCase():(v.throwError("invalid hash",v.INVALID_ARGUMENT,{arg:"hash",value:e}),null)}function k(e){return u.bigNumberify(e).toNumber()}function x(e){if(!c.isHexString(e))throw new Error("invalid uint256");for(;e.length<66;)e="0x0"+e.substring(2);return e}function S(e){if(null==e)return"latest";if("earliest"===e)return"0x0";if("latest"===e||"pending"===e)return e;if("number"==typeof e)return c.hexStripZeros(c.hexlify(e));if(c.isHexString(e))return c.hexStripZeros(e);throw new Error("invalid blockTag")}var M={hash:E,blockHash:_(E,null),blockNumber:_(k,null),transactionIndex:_(k,null),confirmations:_(k,null),from:a.getAddress,gasPrice:u.bigNumberify,gasLimit:u.bigNumberify,to:_(a.getAddress,null),value:u.bigNumberify,nonce:k,data:c.hexlify,r:_(x),s:_(x),v:_(k),creates:_(a.getAddress,null),raw:_(c.hexlify)};function I(e){var t;null!=e.gas&&null==e.gasLimit&&(e.gasLimit=e.gas),e.to&&u.bigNumberify(e.to).isZero()&&(e.to="0x0000000000000000000000000000000000000000"),null!=e.input&&null==e.data&&(e.data=e.input),null==e.to&&null==e.creates&&(e.creates=a.getContractAddress(e)),e.raw||e.v&&e.r&&e.s&&(t=[c.stripZeros(c.hexlify(e.nonce)),c.stripZeros(c.hexlify(e.gasPrice)),c.stripZeros(c.hexlify(e.gasLimit)),e.to||"0x",c.stripZeros(c.hexlify(e.value||"0x")),c.hexlify(e.data||"0x"),c.stripZeros(c.hexlify(e.v||"0x")),c.stripZeros(c.hexlify(e.r)),c.stripZeros(c.hexlify(e.s))],e.raw=p.encode(t));var r=w(M,e),n=e.networkId;return null!=e.chainId&&null==n&&null==r.v&&(n=e.chainId),c.isHexString(n)&&(n=u.bigNumberify(n).toNumber()),"number"!=typeof n&&null!=r.v&&((n=(r.v-35)/2)<0&&(n=0),n=parseInt(n)),"number"!=typeof n&&(n=0),r.networkId=n,null==r.chainId&&null!=n&&(r.chainId=n),r.blockHash&&"x"===r.blockHash.replace(/0/g,"")&&(r.blockHash=null),r}var P={hash:E,parentHash:E,number:k,timestamp:k,nonce:_(c.hexlify),difficulty:function(e){var t=u.bigNumberify(e);try{return t.toNumber()}catch(e){}return null},gasLimit:u.bigNumberify,gasUsed:u.bigNumberify,miner:a.getAddress,extraData:c.hexlify,transactions:_(A(E))},T=d.shallowCopy(P);function N(e,t){return null!=e.author&&null==e.miner&&(e.miner=e.author),w(t?T:P,e)}T.transactions=_(A(I));var O={from:_(a.getAddress),nonce:_(k),gasLimit:_(u.bigNumberify),gasPrice:_(u.bigNumberify),to:_(a.getAddress),value:_(u.bigNumberify),data:_(c.hexlify)};function R(e){return w(O,e)}var C={transactionLogIndex:_(k),transactionIndex:k,blockNumber:k,transactionHash:E,address:a.getAddress,topics:A(E),data:c.hexlify,logIndex:k,blockHash:E},j={to:_(a.getAddress,null),from:_(a.getAddress,null),contractAddress:_(a.getAddress,null),transactionIndex:k,root:_(E),gasUsed:u.bigNumberify,logsBloom:_(c.hexlify),blockHash:E,transactionHash:E,logs:A((function(e){return w(C,e)})),blockNumber:k,confirmations:_(k,null),cumulativeGasUsed:u.bigNumberify,status:_(k)};function L(e){return Array.isArray(e)?e.forEach((function(e){L(e)})):null!=e&&E(e),e}var B,U={fromBlock:_(S,void 0),toBlock:_(S,void 0),address:_(a.getAddress,void 0),topics:_(L,void 0)},D={blockHash:_(E,void 0),address:_(a.getAddress,void 0),topics:_(L,void 0)},F={blockNumber:_(k),blockHash:_(E),transactionIndex:k,removed:_((function(e){if("boolean"==typeof e)return e;if("string"==typeof e){if("true"===e)return!0;if("false"===e)return!1}throw new Error("invaid boolean - "+e)})),address:a.getAddress,data:(B=c.hexlify,function(e){return e?B(e):"0x"}),topics:A(E),transactionHash:E,logIndex:k};function z(e){return w(F,e)}function H(e){return e.map((function(e){return"string"==typeof e?e:Array.isArray(e)?(e.forEach((function(e){null!==e&&32!==c.hexDataLength(e)&&v.throwError("invalid topic",v.INVALID_ARGUMENT,{argument:"topic",value:e})})),e.join(",")):null===e?"":v.throwError("invalid topic value",v.INVALID_ARGUMENT,{argument:"topic",value:e})})).join("&")}function G(e){if("string"==typeof e){if(20===c.hexDataLength(e))return"address:"+a.getAddress(e);if(e=e.toLowerCase(),32===c.hexDataLength(e))return"tx:"+e;if(-1===e.indexOf(":"))return e}else{if(Array.isArray(e))return"filter::"+H(e);if(e&&"object"==s(e))return"filter:"+(e.address||"")+":"+H(e.topics||[])}throw new Error("invalid event - "+e)}function q(){return(new Date).getTime()}var V,W=(i(K,V=b.Provider),K.prototype._doPoll=function(){var e=this;this.getBlockNumber().then((function(t){if(e.polling&&(e._setFastBlockNumber(t),t!==e._lastBlockNumber)){-2===e._emitted.block&&(e._emitted.block=t-1);for(var r=e._emitted.block+1;r<=t;r++)e.emit("block",r);e._emitted.block!==t&&(e._emitted.block=t,Object.keys(e._emitted).forEach((function(r){var n;"block"===r||"pending"!==(n=e._emitted[r])&&12<t-n&&delete e._emitted[r]}))),-2===e._lastBlockNumber&&(e._lastBlockNumber=t-1);var n={},i={};return e._events.forEach((function(e){i[e.tag]=!0})),Object.keys(i).forEach((function(r){var i=r.split(":");switch(i[0]){case"tx":var o=i[1];e.getTransactionReceipt(o).then((function(t){return t&&null!=t.blockNumber&&(e._emitted["t:"+o]=t.blockNumber,e.emit(o,t)),null})).catch((function(t){e.emit("error",t)}));break;case"address":var a=i[1];e._balances[a]&&(n[a]=e._balances[a]),e.getBalance(a,"latest").then((function(t){var r=e._balances[a];if(!r||!t.eq(r))return e._balances[a]=t,e.emit(a,t),null})).catch((function(t){e.emit("error",t)}));break;case"filter":var s=i[2].split(/&/g).map((function(e){var t=e.split(",");return 1===t.length?""===t[0]?null:e:t.map((function(e){return""===e?null:e}))})),u={address:i[1],fromBlock:e._lastBlockNumber+1,toBlock:t,topics:s};u.address||delete u.address,e.getLogs(u).then((function(t){if(0!==t.length)return t.forEach((function(t){e._emitted["b:"+t.blockHash]=t.blockNumber,e._emitted["t:"+t.transactionHash]=t.blockNumber,e.emit(u,t)})),null})).catch((function(t){e.emit("error",t)}))}})),e._lastBlockNumber=t,e._balances=n,null}})).catch((function(e){})),this.doPoll()},K.prototype.resetEventsBlock=function(e){this._lastBlockNumber=e-1,this.polling&&this._doPoll()},Object.defineProperty(K.prototype,"network",{get:function(){return this._network},enumerable:!0,configurable:!0}),K.prototype.getNetwork=function(){return this.ready},Object.defineProperty(K.prototype,"blockNumber",{get:function(){return this._fastBlockNumber},enumerable:!0,configurable:!0}),Object.defineProperty(K.prototype,"polling",{get:function(){return null!=this._poller},set:function(e){var t=this;setTimeout((function(){e&&!t._poller?(t._poller=setInterval(t._doPoll.bind(t),t.pollingInterval),t._doPoll()):!e&&t._poller&&(clearInterval(t._poller),t._poller=null)}),0)},enumerable:!0,configurable:!0}),Object.defineProperty(K.prototype,"pollingInterval",{get:function(){return this._pollingInterval},set:function(e){var t=this;if("number"!=typeof e||e<=0||parseInt(String(e))!=e)throw new Error("invalid polling interval");this._pollingInterval=e,this._poller&&(clearInterval(this._poller),this._poller=setInterval((function(){t._doPoll()}),this._pollingInterval))},enumerable:!0,configurable:!0}),K.prototype._getFastBlockNumber=function(){var e=this,t=q();return t-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=t,this._fastBlockNumberPromise=this.getBlockNumber().then((function(t){return(null==e._fastBlockNumber||t>e._fastBlockNumber)&&(e._fastBlockNumber=t),e._fastBlockNumber}))),this._fastBlockNumberPromise},K.prototype._setFastBlockNumber=function(e){null!=this._fastBlockNumber&&e<this._fastBlockNumber||(this._fastQueryDate=q(),(null==this._fastBlockNumber||e>this._fastBlockNumber)&&(this._fastBlockNumber=e,this._fastBlockNumberPromise=Promise.resolve(e)))},K.prototype.waitForTransaction=function(e,t){var r=this;return null==t&&(t=1),this.getTransactionReceipt(e).then((function(n){return 0===t||n&&n.confirmations>=t?n:new Promise((function(n){r.on(e,(function i(o){o.confirmations<t||(r.removeListener(e,i),n(o))}))}))}))},K.prototype.getBlockNumber=function(){var e=this;return this.ready.then((function(){return e.perform("getBlockNumber",{}).then((function(t){var r=parseInt(t);if(r!=t)throw new Error("invalid response - getBlockNumber");return e._setFastBlockNumber(r),r}))}))},K.prototype.getGasPrice=function(){var e=this;return this.ready.then((function(){return e.perform("getGasPrice",{}).then((function(e){return u.bigNumberify(e)}))}))},K.prototype.getBalance=function(e,t){var r=this;return this.ready.then((function(){return d.resolveProperties({addressOrName:e,blockTag:t}).then((function(e){var t=e.addressOrName,n=e.blockTag;return r._getAddress(t).then((function(e){var t={address:e,blockTag:S(n)};return r.perform("getBalance",t).then((function(e){return u.bigNumberify(e)}))}))}))}))},K.prototype.getTransactionCount=function(e,t){var r=this;return this.ready.then((function(){return d.resolveProperties({addressOrName:e,blockTag:t}).then((function(e){var t=e.addressOrName,n=e.blockTag;return r._getAddress(t).then((function(e){var t={address:e,blockTag:S(n)};return r.perform("getTransactionCount",t).then((function(e){return u.bigNumberify(e).toNumber()}))}))}))}))},K.prototype.getCode=function(e,t){var r=this;return this.ready.then((function(){return d.resolveProperties({addressOrName:e,blockTag:t}).then((function(e){var t=e.addressOrName,n=e.blockTag;return r._getAddress(t).then((function(e){var t={address:e,blockTag:S(n)};return r.perform("getCode",t).then((function(e){return c.hexlify(e)}))}))}))}))},K.prototype.getStorageAt=function(e,t,r){var n=this;return this.ready.then((function(){return d.resolveProperties({addressOrName:e,position:t,blockTag:r}).then((function(e){var t=e.addressOrName,r=e.position,i=e.blockTag;return n._getAddress(t).then((function(e){var t={address:e,blockTag:S(i),position:c.hexStripZeros(c.hexlify(r))};return n.perform("getStorageAt",t).then((function(e){return c.hexlify(e)}))}))}))}))},K.prototype.sendTransaction=function(e){var t=this;return this.ready.then((function(){return d.resolveProperties({signedTransaction:e}).then((function(e){var r=e.signedTransaction,n={signedTransaction:c.hexlify(r)};return t.perform("sendTransaction",n).then((function(e){return t._wrapTransaction(m.parse(r),e)}),(function(e){throw e.transaction=m.parse(r),e.transaction.hash&&(e.transactionHash=e.transaction.hash),e}))}))}))},K.prototype._wrapTransaction=function(e,t){var r=this;if(null!=t&&32!==c.hexDataLength(t))throw new Error("invalid response - sendTransaction");var n=e;return null!=t&&e.hash!==t&&v.throwError("Transaction hash mismatch from Provider.sendTransaction.",v.UNKNOWN_ERROR,{expectedHash:e.hash,returnedHash:t}),n.wait=function(t){return 0!==t&&(r._emitted["t:"+e.hash]="pending"),r.waitForTransaction(e.hash,t).then((function(n){return null==n&&0===t?null:(r._emitted["t:"+e.hash]=n.blockNumber,0===n.status&&v.throwError("transaction failed",v.CALL_EXCEPTION,{transactionHash:e.hash,transaction:e}),n)}))},n},K.prototype.call=function(e,t){var r=this,n=d.shallowCopy(e);return this.ready.then((function(){return d.resolveProperties({blockTag:t,tx:n}).then((function(e){var t=e.blockTag,n=e.tx;return r._resolveNames(n,["to","from"]).then((function(e){var n={blockTag:S(t),transaction:R(e)};return r.perform("call",n).then((function(e){return c.hexlify(e)}))}))}))}))},K.prototype.estimateGas=function(e){var t=this,r={to:e.to,from:e.from,data:e.data,gasPrice:e.gasPrice,value:e.value};return this.ready.then((function(){return d.resolveProperties(r).then((function(e){return t._resolveNames(e,["to","from"]).then((function(e){var r={transaction:R(e)};return t.perform("estimateGas",r).then((function(e){return u.bigNumberify(e)}))}))}))}))},K.prototype.getBlock=function(e,t){var r=this;return this.ready.then((function(){return d.resolveProperties({blockHashOrBlockTag:e}).then((function(e){var n=e.blockHashOrBlockTag;try{var i=c.hexlify(n);if(32===c.hexDataLength(i))return y.poll((function(){return r.perform("getBlock",{blockHash:i,includeTransactions:!!t}).then((function(e){return null==e?null==r._emitted["b:"+i]?null:void 0:N(e,t)}))}),{onceBlock:r})}catch(e){}try{var o=-128,a=S(n);return c.isHexString(a)&&(o=parseInt(a.substring(2),16)),y.poll((function(){return r.perform("getBlock",{blockTag:a,includeTransactions:!!t}).then((function(e){return null!=e?N(e,t):o<=r._emitted.block?void 0:null}))}),{onceBlock:r})}catch(e){}throw new Error("invalid block hash or block tag")}))}))},K.prototype.getTransaction=function(e){var t=this;return this.ready.then((function(){return d.resolveProperties({transactionHash:e}).then((function(e){var r=e.transactionHash,n={transactionHash:E(r,!0)};return y.poll((function(){return t.perform("getTransaction",n).then((function(e){if(null==e)return null==t._emitted["t:"+r]?null:void 0;var n=K.checkTransactionResponse(e);if(null==n.blockNumber)n.confirmations=0;else if(null==n.confirmations)return t._getFastBlockNumber().then((function(e){var r=e-n.blockNumber+1;return r<=0&&(r=1),n.confirmations=r,t._wrapTransaction(n)}));return t._wrapTransaction(n)}))}),{onceBlock:t})}))}))},K.prototype.getTransactionReceipt=function(e){var t=this;return this.ready.then((function(){return d.resolveProperties({transactionHash:e}).then((function(e){var r=e.transactionHash,n={transactionHash:E(r,!0)};return y.poll((function(){return t.perform("getTransactionReceipt",n).then((function(e){if(null==e)return null==t._emitted["t:"+r]?null:void 0;if(null!=e.blockHash){var n,i,o=((i=w(j,n=e)).logs.forEach((function(e,t){null==e.transactionLogIndex&&(e.transactionLogIndex=t)})),null!=n.status&&(i.byzantium=!0),i);if(null==o.blockNumber)o.confirmations=0;else if(null==o.confirmations)return t._getFastBlockNumber().then((function(e){var t=e-o.blockNumber+1;return t<=0&&(t=1),o.confirmations=t,o}));return o}}))}),{onceBlock:t})}))}))},K.prototype.getLogs=function(e){var t=this;return this.ready.then((function(){return d.resolveProperties(e).then((function(e){return t._resolveNames(e,["address"]).then((function(e){var r,n={filter:(r=e)&&r.blockHash?w(D,r):w(U,r)};return t.perform("getLogs",n).then((function(e){return A(z)(e)}))}))}))}))},K.prototype.getEtherPrice=function(){var e=this;return this.ready.then((function(){return e.perform("getEtherPrice",{}).then((function(e){return e}))}))},K.prototype._getAddress=function(e){return this.resolveName(e).then((function(t){return null==t&&v.throwError("ENS name not configured",v.UNSUPPORTED_OPERATION,{operation:"resolveName("+JSON.stringify(e)+")"}),t}))},K.prototype._resolveNames=function(e,t){var r=[],n=d.shallowCopy(e);return t.forEach((function(e){null!=n[e]&&r.push(this._getAddress(n[e]).then((function(t){n[e]=t})))}),this),Promise.all(r).then((function(){return n}))},K.prototype._getResolver=function(e){var t=this;return this.getNetwork().then((function(r){r.ensAddress||v.throwError("network does not support ENS",v.UNSUPPORTED_OPERATION,{operation:"ENS",network:r.name});var n="0x0178b8bf"+f.namehash(e).substring(2),i={to:r.ensAddress,data:n};return t.call(i).then((function(e){if(32!==c.hexDataLength(e))return null;var t=a.getAddress(c.hexDataSlice(e,12));return t===l.AddressZero?null:t}))}))},K.prototype.resolveName=function(e){var t=this;if(e instanceof Promise)return e.then((function(e){return t.resolveName(e)}));try{return Promise.resolve(a.getAddress(e))}catch(t){if(c.isHexString(e))throw t}var r=this,n=f.namehash(e);return this._getResolver(e).then((function(e){if(null==e)return null;var t={to:e,data:"0x3b3b57de"+n.substring(2)};return r.call(t)})).then((function(e){if(32!==c.hexDataLength(e))return null;var t=a.getAddress(c.hexDataSlice(e,12));return t===l.AddressZero?null:t}))},K.prototype.lookupAddress=function(e){var t=this;if(e instanceof Promise)return e.then((function(e){return t.lookupAddress(e)}));var r=(e=a.getAddress(e)).substring(2)+".addr.reverse",n=f.namehash(r),i=this;return this._getResolver(r).then((function(e){if(!e)return null;var t={to:e,data:"0x691f3431"+n.substring(2)};return i.call(t)})).then((function(t){if(null==t)return null;if((t=t.substring(2)).length<64)return null;if((t=t.substring(64)).length<64)return null;var r=u.bigNumberify("0x"+t.substring(0,64)).toNumber();if(2*r>(t=t.substring(64)).length)return null;var n=g.toUtf8String("0x"+t.substring(0,2*r));return i.resolveName(n).then((function(t){return t!=e?null:n}))}))},K.checkTransactionResponse=I,K.prototype.doPoll=function(){},K.prototype.perform=function(e,t){return v.throwError(e+" not implemented",v.NOT_IMPLEMENTED,{operation:e}),null},K.prototype._startPending=function(){v.warn("WARNING: this provider does not support pending events")},K.prototype._stopPending=function(){},K.prototype._addEventListener=function(e,t,r){this._events.push({tag:G(e),listener:t,once:r}),"pending"===e&&this._startPending(),this.polling=!0},K.prototype.on=function(e,t){return this._addEventListener(e,t,!1),this},K.prototype.once=function(e,t){return this._addEventListener(e,t,!0),this},K.prototype.addEventListener=function(e,t){return this.on(e,t)},K.prototype.emit=function(e){for(var t=this,r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];var i=!1,o=G(e);return this._events=this._events.filter((function(e){return e.tag!==o||(setTimeout((function(){e.listener.apply(t,r)}),0),i=!0,!e.once)})),0===this.listenerCount()&&(this.polling=!1),i},K.prototype.listenerCount=function(e){if(!e)return this._events.length;var t=G(e);return this._events.filter((function(e){return e.tag===t})).length},K.prototype.listeners=function(e){var t=G(e);return this._events.filter((function(e){return e.tag===t})).map((function(e){return e.listener}))},K.prototype.removeAllListeners=function(e){var t;return null==e?(this._events=[],this._stopPending()):(t=G(e),this._events=this._events.filter((function(e){return e.tag!==t})),"pending"===e&&this._stopPending()),0===this._events.length&&(this.polling=!1),this},K.prototype.removeListener=function(e,t){var r=!1,n=G(e);return this._events=this._events.filter((function(e){return e.tag!==n||e.listener!=t||!!r||!(r=!0)})),"pending"===e&&0===this.listenerCount("pending")&&this._stopPending(),0===this.listenerCount()&&(this.polling=!1),this},K);function K(e){var t,r=V.call(this)||this;return v.checkNew(r,b.Provider),e instanceof Promise?(d.defineReadOnly(r,"ready",e.then((function(e){return d.defineReadOnly(r,"_network",e),e}))),r.ready.catch((function(e){}))):(t=h.getNetwork(null==e?"homestead":e))?(d.defineReadOnly(r,"_network",t),d.defineReadOnly(r,"ready",Promise.resolve(r._network))):v.throwError("invalid network",v.INVALID_ARGUMENT,{arg:"network",value:e}),r._lastBlockNumber=-2,r._balances={},r._events=[],r._pollingInterval=4e3,r._emitted={block:-2},r._fastQueryDate=0,r}r.BaseProvider=W,d.defineReadOnly(b.Provider,"inherits",d.inheritable(b.Provider))},{"../constants":3,"../errors":5,"../utils/address":60,"../utils/bignumber":63,"../utils/bytes":64,"../utils/hash":65,"../utils/networks":72,"../utils/properties":74,"../utils/rlp":76,"../utils/transaction":83,"../utils/utf8":85,"../utils/web":86,"./abstract-provider":50}],52:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var a=e("./base-provider"),s=e("../utils/bytes"),u=e("../utils/properties"),c=e("../utils/web"),l=o(e("../errors"));function f(e){var t,r=[];for(var n in e)null!=e[n]&&(t=s.hexlify(e[n]),{gasLimit:!0,gasPrice:!0,nonce:!0,value:!0}[n]&&(t=s.hexStripZeros(t)),r.push(n+"="+t));return r.join("&")}function h(e){if(0==e.status&&("No records found"===e.message||"No transactions found"===e.message))return e.result;if(1==e.status&&"OK"==e.message)return e.result;var t=new Error("invalid response");throw t.result=JSON.stringify(e),t}function d(e){if("2.0"!=e.jsonrpc)throw(t=new Error("invalid response")).result=JSON.stringify(e),t;if(e.error){var t=new Error(e.error.message||"unknown error");throw e.error.code&&(t.code=e.error.code),e.error.data&&(t.data=e.error.data),t}return e.result}function p(e){if("pending"===e)throw new Error("pending not supported");return"latest"===e?e:parseInt(e.substring(2),16)}var m,g=(i(y,m=a.BaseProvider),y.prototype.perform=function(e,t){var r,n=this,i=this.baseUrl,o="";function a(e,t){return c.fetchJson(e,null,t||d).then((function(t){return n.emit("debug",{action:"perform",request:e,response:t,provider:n}),t}))}switch(this.apiKey&&(o+="&apikey="+this.apiKey),e){case"getBlockNumber":return a(i+="/api?module=proxy&action=eth_blockNumber"+o);case"getGasPrice":return a(i+="/api?module=proxy&action=eth_gasPrice"+o);case"getBalance":return i+="/api?module=account&action=balance&address="+t.address,a(i+="&tag="+t.blockTag+o,h);case"getTransactionCount":return i+="/api?module=proxy&action=eth_getTransactionCount&address="+t.address,a(i+="&tag="+t.blockTag+o);case"getCode":return i+="/api?module=proxy&action=eth_getCode&address="+t.address,a(i+="&tag="+t.blockTag+o,d);case"getStorageAt":return i+="/api?module=proxy&action=eth_getStorageAt&address="+t.address,i+="&position="+t.position,a(i+="&tag="+t.blockTag+o,d);case"sendTransaction":return i+="/api?module=proxy&action=eth_sendRawTransaction&hex="+t.signedTransaction,a(i+=o).catch((function(e){throw e.responseText&&(0<=e.responseText.toLowerCase().indexOf("insufficient funds")&&l.throwError("insufficient funds",l.INSUFFICIENT_FUNDS,{}),0<=e.responseText.indexOf("same hash was already imported")&&l.throwError("nonce has already been used",l.NONCE_EXPIRED,{}),0<=e.responseText.indexOf("another transaction with same nonce")&&l.throwError("replacement fee too low",l.REPLACEMENT_UNDERPRICED,{})),e}));case"getBlock":return t.blockTag?(i+="/api?module=proxy&action=eth_getBlockByNumber&tag="+t.blockTag,t.includeTransactions?i+="&boolean=true":i+="&boolean=false",a(i+=o)):Promise.reject(new Error("getBlock by blockHash not implemeneted"));case"getTransaction":return i+="/api?module=proxy&action=eth_getTransactionByHash&txhash="+t.transactionHash,a(i+=o);case"getTransactionReceipt":return i+="/api?module=proxy&action=eth_getTransactionReceipt&txhash="+t.transactionHash,a(i+=o);case"call":return i+="/api?module=proxy&action=eth_call"+(r=(r=f(t.transaction))&&"&"+r),"latest"!==t.blockTag?Promise.reject(new Error("EtherscanProvider does not support blockTag for call")):a(i+=o);case"estimateGas":return i+="/api?module=proxy&action=eth_estimateGas&"+(r=(r=f(t.transaction))&&"&"+r),a(i+=o);case"getLogs":i+="/api?module=logs&action=getLogs";try{if(t.filter.fromBlock&&(i+="&fromBlock="+p(t.filter.fromBlock)),t.filter.toBlock&&(i+="&toBlock="+p(t.filter.toBlock)),t.filter.blockHash)try{l.throwError("Etherscan does not support blockHash filters",l.UNSUPPORTED_OPERATION,{operation:"getLogs(blockHash)"})}catch(e){return Promise.reject(e)}if(t.filter.address&&(i+="&address="+t.filter.address),t.filter.topics&&0<t.filter.topics.length){if(1<t.filter.topics.length)throw new Error("unsupported topic format");var s=t.filter.topics[0];if("string"!=typeof s||66!==s.length)throw new Error("unsupported topic0 format");i+="&topic0="+s}}catch(e){return Promise.reject(e)}var u=this;return a(i+=o,h).then((function(e){var t={},r=Promise.resolve();return e.forEach((function(e){r=r.then((function(){return null!=e.blockHash?null:(e.blockHash=t[e.transactionHash],null==e.blockHash?u.getTransaction(e.transactionHash).then((function(r){return t[e.transactionHash]=r.blockHash,e.blockHash=r.blockHash,null})):null)}))})),r.then((function(){return e}))}));case"getEtherPrice":return"homestead"!==this.network.name?Promise.resolve(0):(i+="/api?module=stats&action=ethprice",a(i+=o,h).then((function(e){return parseFloat(e.ethusd)})))}return m.prototype.perform.call(this,e,t)},y.prototype.getHistory=function(e,t,r){var n=this,i=this.baseUrl,o="";return this.apiKey&&(o+="&apikey="+this.apiKey),null==t&&(t=0),null==r&&(r=99999999),this.resolveName(e).then((function(e){return i+="/api?module=account&action=txlist&address="+e,i+="&startblock="+t,i+="&endblock="+r,i+="&sort=asc"+o,c.fetchJson(i,null,h).then((function(e){n.emit("debug",{action:"getHistory",request:i,response:e,provider:n});var t=[];return e.forEach((function(e){["contractAddress","to"].forEach((function(t){""==e[t]&&delete e[t]})),null==e.creates&&null!=e.contractAddress&&(e.creates=e.contractAddress);var r=a.BaseProvider.checkTransactionResponse(e);e.timeStamp&&(r.timestamp=parseInt(e.timeStamp)),t.push(r)})),t}))}))},y);function y(e,t){var r=m.call(this,e)||this;l.checkNew(r,y);var n="invalid";r.network&&(n=r.network.name);var i=null;switch(n){case"homestead":i="https://api.etherscan.io";break;case"ropsten":i="https://api-ropsten.etherscan.io";break;case"rinkeby":i="https://api-rinkeby.etherscan.io";break;case"kovan":i="https://api-kovan.etherscan.io";break;case"goerli":i="https://api-goerli.etherscan.io";break;default:throw new Error("unsupported network")}return u.defineReadOnly(r,"baseUrl",i),u.defineReadOnly(r,"apiKey",t||"8FG3JMZ9USS4NTA6YKEKHINU56SEPPVBJR"),r}r.EtherscanProvider=g},{"../errors":5,"../utils/bytes":64,"../utils/properties":74,"../utils/web":86,"./base-provider":51}],53:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var a=e("./base-provider"),s=o(e("../errors"));function u(e){var t=!0,r=null;return e.forEach((function(n){null!=n?null!=r?r.name===n.name&&r.chainId===n.chainId&&(r.ensAddress===n.ensAddress||null==r.ensAddress&&null==n.ensAddress)||s.throwError("provider mismatch",s.INVALID_ARGUMENT,{arg:"networks",value:e}):r=n:t=!1})),t}var c,l=(i(f,c=a.BaseProvider),Object.defineProperty(f.prototype,"providers",{get:function(){return this._providers.slice(0)},enumerable:!0,configurable:!0}),f.prototype.perform=function(e,t){var r=this.providers;return new Promise((function(n,i){var o=null;!function a(){r.length?r.shift().perform(e,t).then((function(e){return n(e)})).catch((function(e){o=o||e,setTimeout(a,0)})):i(o)}()}))},f);function f(e){var t,r=this;if(0===e.length)throw new Error("no providers");return r=u(e.map((function(e){return e.network})))?c.call(this,e[0].network)||this:(t=Promise.all(e.map((function(e){return e.getNetwork()}))).then((function(e){return u(e)||s.throwError("getNetwork returned null",s.UNKNOWN_ERROR,{}),e[0]})),c.call(this,t)||this),s.checkNew(r,f),r._providers=e.slice(0),r}r.FallbackProvider=l},{"../errors":5,"./base-provider":51}],54:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./abstract-provider");r.Provider=n.Provider;var i=e("./base-provider");r.BaseProvider=i.BaseProvider;var o=e("./etherscan-provider");r.EtherscanProvider=o.EtherscanProvider;var a=e("./fallback-provider");r.FallbackProvider=a.FallbackProvider;var s=e("./ipc-provider");r.IpcProvider=s.IpcProvider;var u=e("./infura-provider");r.InfuraProvider=u.InfuraProvider;var c=e("./json-rpc-provider");r.JsonRpcProvider=c.JsonRpcProvider,r.JsonRpcSigner=c.JsonRpcSigner;var l=e("./web3-provider");r.Web3Provider=l.Web3Provider},{"./abstract-provider":50,"./base-provider":51,"./etherscan-provider":52,"./fallback-provider":53,"./infura-provider":55,"./ipc-provider":56,"./json-rpc-provider":57,"./web3-provider":58}],55:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var a,s=e("./json-rpc-provider"),u=e("../utils/bytes"),c=e("../utils/networks"),l=e("../utils/properties"),f=o(e("../errors")),h=(i(d,a=s.JsonRpcProvider),d.prototype._startPending=function(){f.warn("WARNING: INFURA does not support pending filters")},d.prototype.getSigner=function(e){return f.throwError("INFURA does not support signing",f.UNSUPPORTED_OPERATION,{operation:"getSigner"})},d.prototype.listAccounts=function(){return Promise.resolve([])},d);function d(e,t){var r=this,n=c.getNetwork(null==e?"homestead":e);null==t&&(t="7d0d81d0919f4f05b9ab6634be01ee73");var i=null;switch(n.name){case"homestead":i="mainnet.infura.io";break;case"ropsten":i="ropsten.infura.io";break;case"rinkeby":i="rinkeby.infura.io";break;case"goerli":i="goerli.infura.io";break;case"kovan":i="kovan.infura.io";break;default:f.throwError("unsupported network",f.INVALID_ARGUMENT,{argument:"network",value:e})}return u.isHexString("0x"+t,16)?(r=a.call(this,"https://"+i+"/v3/"+t,n)||this,l.defineReadOnly(r,"apiAccessToken",null),l.defineReadOnly(r,"projectId",t)):(f.warn("The legacy INFURA apiAccesToken API is deprecated; please upgrade to a Project ID instead (see INFURA dshboard; https://infura.io)"),r=a.call(this,"https://"+i+"/"+t,n)||this,l.defineReadOnly(r,"apiAccessToken",t),l.defineReadOnly(r,"projectId",null)),f.checkNew(r,d),r}r.InfuraProvider=h},{"../errors":5,"../utils/bytes":64,"../utils/networks":72,"../utils/properties":74,"./json-rpc-provider":57}],56:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0})},{}],57:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var a=e("./base-provider"),s=e("../abstract-signer"),u=o(e("../errors")),c=e("../utils/address"),l=e("../utils/bytes"),f=e("../utils/networks"),h=e("../utils/properties"),d=e("../utils/utf8"),p=e("../utils/web");function m(e){if(e.error){var t=new Error(e.error.message);throw t.code=e.error.code,t.data=e.error.data,t}return e.result}function g(e){return e?e.toLowerCase():e}var y,v={},b=42,w=(i(_,y=s.Signer),_.prototype.getAddress=function(){var e=this;return this._address?Promise.resolve(this._address):this.provider.send("eth_accounts",[]).then((function(t){return t.length<=e._index&&u.throwError("unknown account #"+e._index,u.UNSUPPORTED_OPERATION,{operation:"getAddress"}),e._address=c.getAddress(t[e._index]),e._address}))},_.prototype.getBalance=function(e){return this.provider.getBalance(this.getAddress(),e)},_.prototype.getTransactionCount=function(e){return this.provider.getTransactionCount(this.getAddress(),e)},_.prototype.sendUncheckedTransaction=function(e){var t=this;e=h.shallowCopy(e);var r,n=this.getAddress().then((function(e){return e&&e.toLowerCase()}));return null==e.gasLimit&&((r=h.shallowCopy(e)).from=n,e.gasLimit=this.provider.estimateGas(r)),Promise.all([h.resolveProperties(e),n]).then((function(e){var r=e[0],n=k.hexlifyTransaction(r);return n.from=e[1],t.provider.send("eth_sendTransaction",[n]).then((function(e){return e}),(function(e){throw e.responseText&&(0<=e.responseText.indexOf("insufficient funds")&&u.throwError("insufficient funds",u.INSUFFICIENT_FUNDS,{transaction:r}),0<=e.responseText.indexOf("nonce too low")&&u.throwError("nonce has already been used",u.NONCE_EXPIRED,{transaction:r}),0<=e.responseText.indexOf("replacement transaction underpriced")&&u.throwError("replacement fee too low",u.REPLACEMENT_UNDERPRICED,{transaction:r})),e}))}))},_.prototype.sendTransaction=function(e){var t=this;return this.sendUncheckedTransaction(e).then((function(e){return p.poll((function(){return t.provider.getTransaction(e).then((function(r){if(null!==r)return t.provider._wrapTransaction(r,e)}))}),{fastRetry:250,onceBlock:t.provider}).catch((function(t){throw t.transactionHash=e,t}))}))},_.prototype.signMessage=function(e){var t=this,r="string"==typeof e?d.toUtf8Bytes(e):e;return this.getAddress().then((function(e){return t.provider.send("eth_sign",[e.toLowerCase(),l.hexlify(r)])}))},_.prototype.unlock=function(e){var t=this.provider;return this.getAddress().then((function(r){return t.send("personal_unlockAccount",[r.toLowerCase(),e,null])}))},_);function _(e,t,r){var n=y.call(this)||this;if(u.checkNew(n,_),e!==v)throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner");return h.defineReadOnly(n,"provider",t),r?"string"==typeof r?h.defineReadOnly(n,"_address",c.getAddress(r)):"number"==typeof r?h.defineReadOnly(n,"_index",r):u.throwError("invalid address or index",u.INVALID_ARGUMENT,{argument:"addressOrIndex",value:r}):h.defineReadOnly(n,"_index",0),n}r.JsonRpcSigner=w;var A,E={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0},k=(i(x,A=a.BaseProvider),x.prototype.getSigner=function(e){return new w(v,this,e)},x.prototype.listAccounts=function(){return this.send("eth_accounts",[]).then((function(e){return e.map((function(e){return c.getAddress(e)}))}))},x.prototype.send=function(e,t){var r=this,n={method:e,params:t,id:b++,jsonrpc:"2.0"};return p.fetchJson(this.connection,JSON.stringify(n),m).then((function(e){return r.emit("debug",{action:"send",request:n,response:e,provider:r}),e}))},x.prototype.perform=function(e,t){switch(e){case"getBlockNumber":return this.send("eth_blockNumber",[]);case"getGasPrice":return this.send("eth_gasPrice",[]);case"getBalance":return this.send("eth_getBalance",[g(t.address),t.blockTag]);case"getTransactionCount":return this.send("eth_getTransactionCount",[g(t.address),t.blockTag]);case"getCode":return this.send("eth_getCode",[g(t.address),t.blockTag]);case"getStorageAt":return this.send("eth_getStorageAt",[g(t.address),t.position,t.blockTag]);case"sendTransaction":return this.send("eth_sendRawTransaction",[t.signedTransaction]).catch((function(e){throw e.responseText&&(0<e.responseText.indexOf("insufficient funds")&&u.throwError("insufficient funds",u.INSUFFICIENT_FUNDS,{}),0<e.responseText.indexOf("nonce too low")&&u.throwError("nonce has already been used",u.NONCE_EXPIRED,{}),0<e.responseText.indexOf("replacement transaction underpriced")&&u.throwError("replacement fee too low",u.REPLACEMENT_UNDERPRICED,{})),e}));case"getBlock":return t.blockTag?this.send("eth_getBlockByNumber",[t.blockTag,!!t.includeTransactions]):t.blockHash?this.send("eth_getBlockByHash",[t.blockHash,!!t.includeTransactions]):Promise.reject(new Error("invalid block tag or block hash"));case"getTransaction":return this.send("eth_getTransactionByHash",[t.transactionHash]);case"getTransactionReceipt":return this.send("eth_getTransactionReceipt",[t.transactionHash]);case"call":return this.send("eth_call",[x.hexlifyTransaction(t.transaction,{from:!0}),t.blockTag]);case"estimateGas":return this.send("eth_estimateGas",[x.hexlifyTransaction(t.transaction,{from:!0})]);case"getLogs":return t.filter&&null!=t.filter.address&&(t.filter.address=g(t.filter.address)),this.send("eth_getLogs",[t.filter])}return u.throwError(e+" not implemented",u.NOT_IMPLEMENTED,{operation:e}),null},x.prototype._startPending=function(){var e,t;null==this._pendingFilter&&(t=(e=this).send("eth_newPendingTransactionFilter",[]),(this._pendingFilter=t).then((function(r){return function n(){e.send("eth_getFilterChanges",[r]).then((function(r){if(e._pendingFilter!=t)return null;var n=Promise.resolve();return r.forEach((function(t){e._emitted["t:"+t.toLowerCase()]="pending",n=n.then((function(){return e.getTransaction(t).then((function(t){return e.emit("pending",t),null}))}))})),n.then((function(){return new Promise((function(e){setTimeout((function(){e()}),1e3)}))}))})).then((function(){return e._pendingFilter==t?(setTimeout((function(){n()}),0),null):void e.send("eth_uninstallFilter",[r])})).catch((function(e){}))}(),r})).catch((function(e){})))},x.prototype._stopPending=function(){this._pendingFilter=null},x.hexlifyTransaction=function(e,t){var r=h.shallowCopy(E);if(t)for(var n in t)t[n]&&(r[n]=!0);h.checkProperties(e,r);var i={};return["gasLimit","gasPrice","nonce","value"].forEach((function(t){var r;null!=e[t]&&(r=l.hexStripZeros(l.hexlify(e[t])),"gasLimit"===t&&(t="gas"),i[t]=r)})),["from","to","data"].forEach((function(t){null!=e[t]&&(i[t]=l.hexlify(e[t]))})),i},x);function x(e,t){var r,n=this;return"string"==typeof e&&null===t&&f.getNetwork(e)&&(t=e,e=null),n=t?A.call(this,t)||this:(r=new Promise((function(e,t){setTimeout((function(){n.send("net_version",[]).then((function(t){return e(f.getNetwork(parseInt(t)))})).catch((function(e){t(e)}))}))})),A.call(this,r)||this),u.checkNew(n,x),e=e||"http://localhost:8545",n.connection="string"==typeof e?{url:e}:e,n}r.JsonRpcProvider=k},{"../abstract-signer":2,"../errors":5,"../utils/address":60,"../utils/bytes":64,"../utils/networks":72,"../utils/properties":74,"../utils/utf8":85,"../utils/web":86,"./base-provider":51}],58:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var a,s=e("./json-rpc-provider"),u=e("../utils/properties"),c=o(e("../errors")),l=42,f=(i(h,a=s.JsonRpcProvider),h.prototype.send=function(e,t){var r=this;return"eth_sign"==e&&this._web3Provider.isMetaMask&&(e="personal_sign",t=[t[1],t[0]]),new Promise((function(n,i){var o={method:e,params:t,id:l++,jsonrpc:"2.0"};r._sendAsync(o,(function(e,t){if(e)i(e);else{if(t.error){var r=new Error(t.error.message);return r.code=t.error.code,r.data=t.error.data,void i(r)}n(t.result)}}))}))},h);function h(e,t){var r=a.call(this,e.host||e.path||"",t)||this;return c.checkNew(r,h),e&&(e.sendAsync?r._sendAsync=e.sendAsync.bind(e):e.send&&(r._sendAsync=e.send.bind(e))),e&&r._sendAsync||c.throwError("invalid web3Provider",c.INVALID_ARGUMENT,{arg:"web3Provider",value:e}),u.defineReadOnly(r,"_web3Provider",e),u.defineReadOnly(r,"provider",e),r}r.Web3Provider=f},{"../errors":5,"../utils/properties":74,"./json-rpc-provider":57}],59:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var a=e("../constants"),u=o(e("../errors")),c=e("./address"),l=e("./bignumber"),f=e("./bytes"),h=e("./utf8"),d=e("./properties"),p=new RegExp(/^bytes([0-9]*)$/),m=new RegExp(/^(u?int)([0-9]*)$/),g=new RegExp(/^(.*)\[([0-9]*)\]$/);r.defaultCoerceFunc=function(e,t){var r=e.match(m);return r&&parseInt(r[2])<=48?t.toNumber():t};var y=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$"),v=new RegExp("^[A-Za-z_][A-Za-z0-9_]*$");function b(e){return e.match(/^uint($|[^1-9])/)?e="uint256"+e.substring(4):e.match(/^int($|[^1-9])/)&&(e="int256"+e.substring(3)),e}function w(e,t){var r=e;function n(e){throw new Error('unexpected character "'+r[e]+'" at position '+e+' in "'+r+'"')}e=e.replace(/\s/g," ");for(var i={type:"",name:"",state:{allowType:!0}},o=i,a=0;a<e.length;a++){var s=e[a];switch(s){case"(":o.state.allowParams||n(a),o.state.allowType=!1,o.type=b(o.type),o.components=[{type:"",name:"",parent:o,state:{allowType:!0}}],o=o.components[0];break;case")":delete o.state,t&&"indexed"===o.name&&(o.indexed=!0,o.name=""),o.type=b(o.type);var u=o;(o=o.parent)||n(a),delete u.parent,o.state.allowParams=!1,o.state.allowName=!0,o.state.allowArray=!0;break;case",":delete o.state,t&&"indexed"===o.name&&(o.indexed=!0,o.name=""),o.type=b(o.type);var c={type:"",name:"",parent:o.parent,state:{allowType:!0}};o.parent.components.push(c),delete o.parent,o=c;break;case" ":o.state.allowType&&""!==o.type&&(o.type=b(o.type),delete o.state.allowType,o.state.allowName=!0,o.state.allowParams=!0),o.state.allowName&&""!==o.name&&(t&&"indexed"===o.name?(o.indexed=!0,o.name=""):o.state.allowName=!1);break;case"[":o.state.allowArray||n(a),o.type+=s,o.state.allowArray=!1,o.state.allowName=!1,o.state.readArray=!0;break;case"]":o.state.readArray||n(a),o.type+=s,o.state.readArray=!1,o.state.allowArray=!0,o.state.allowName=!0;break;default:o.state.allowType?(o.type+=s,o.state.allowParams=!0,o.state.allowArray=!0):o.state.allowName?(o.name+=s,delete o.state.allowArray):o.state.readArray?o.type+=s:n(a)}}if(o.parent)throw new Error("unexpected eof");return delete i.state,t&&"indexed"===o.name&&(o.indexed=!0,o.name=""),i.type=b(i.type),i}function _(e){return se(r.defaultCoerceFunc,e).type}function A(e,t,r,n,i){this.coerceFunc=e,this.name=t,this.type=r,this.localName=n,this.dynamic=i}r.parseParamType=function(e){return w(e,!0)},r.formatParamType=_,r.formatSignature=function(e){return e.name+"("+e.inputs.map(_).join(",")+")"},r.parseSignature=function(e){if("string"==typeof e)return"event "===(e=(e=(e=e.replace(/\s/g," ")).replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," ")).trim()).substring(0,6)?function(e){var t={anonymous:!1,inputs:[],name:"",type:"event"},r=e.match(y);if(!r)throw new Error("invalid event: "+e);if(t.name=r[1].trim(),oe(r[2]).forEach((function(e){(e=w(e,!0)).indexed=!!e.indexed,t.inputs.push(e)})),r[3].split(" ").forEach((function(e){switch(e){case"anonymous":t.anonymous=!0;break;case"":break;default:u.info("unknown modifier: "+e)}})),t.name&&!t.name.match(v))throw new Error('invalid identifier: "'+t.name+'"');return t}(e.substring(6).trim()):("function "===e.substring(0,9)&&(e=e.substring(9)),function(e){var t={constant:!1,gas:null,inputs:[],name:"",outputs:[],payable:!1,stateMutability:null,type:"function"},r=e.split("@");if(1!==r.length){if(2<r.length)throw new Error("invalid signature");if(!r[1].match(/^[0-9]+$/))throw new Error("invalid signature gas");t.gas=l.bigNumberify(r[1]),e=r[0]}var n=(r=e.split(" returns "))[0].match(y);if(!n)throw new Error("invalid signature");if(t.name=n[1].trim(),!t.name.match(v))throw new Error('invalid identifier: "'+n[1]+'"');if(oe(n[2]).forEach((function(e){t.inputs.push(w(e))})),n[3].split(" ").forEach((function(e){switch(e){case"constant":t.constant=!0;break;case"payable":t.payable=!0,t.stateMutability="payable";break;case"pure":t.constant=!0,t.stateMutability="pure";break;case"view":t.constant=!0,t.stateMutability="view";break;case"external":case"public":case"":break;default:u.info("unknown modifier: "+e)}})),1<r.length){var i=r[1].match(y);if(""!=i[1].trim()||""!=i[3].trim())throw new Error("unexpected tokens");oe(i[2]).forEach((function(e){t.outputs.push(w(e))}))}if("constructor"===t.name){if(t.type="constructor",t.outputs.length)throw new Error("constructor may not have outputs");delete t.name,delete t.outputs}return t}(e.trim()));throw new Error("unknown signature")};var E,k=(i(x,E=A),x.prototype.encode=function(e){return this.coder.encode(e)},x.prototype.decode=function(e,t){return this.coder.decode(e,t)},x);function x(e){var t=E.call(this,e.coerceFunc,e.name,e.type,void 0,e.dynamic)||this;return d.defineReadOnly(t,"coder",e),t}var S,M=(i(I,S=A),I.prototype.encode=function(e){return f.arrayify([])},I.prototype.decode=function(e,t){if(t>e.length)throw new Error("invalid null");return{consumed:0,value:this.coerceFunc("null",void 0)}},I);function I(e,t){return S.call(this,e,"null","",t,!1)||this}var P,T=(i(N,P=A),N.prototype.encode=function(e){try{var t=l.bigNumberify(e);if(this.signed){var r=a.MaxUint256.maskn(8*this.size-1);if(t.gt(r))throw new Error("out-of-bounds");if(r=r.add(a.One).mul(a.NegativeOne),t.lt(r))throw new Error("out-of-bounds")}else if(t.lt(a.Zero)||t.gt(a.MaxUint256.maskn(8*this.size)))throw new Error("out-of-bounds");return t=t.toTwos(8*this.size).maskn(8*this.size),this.signed&&(t=t.fromTwos(8*this.size).toTwos(256)),f.padZeros(f.arrayify(t),32)}catch(t){u.throwError("invalid number value",u.INVALID_ARGUMENT,{arg:this.localName,coderType:this.name,value:e})}return null},N.prototype.decode=function(e,t){e.length<t+32&&u.throwError("insufficient data for "+this.name+" type",u.INVALID_ARGUMENT,{arg:this.localName,coderType:this.name,value:f.hexlify(e.slice(t,t+32))});var r=32-this.size,n=l.bigNumberify(e.slice(t+r,t+32));return n=this.signed?n.fromTwos(8*this.size):n.maskn(8*this.size),{consumed:32,value:this.coerceFunc(this.name,n)}},N);function N(e,t,r,n){var i=this,o=(r?"int":"uint")+8*t;return(i=P.call(this,e,o,o,n,!1)||this).size=t,i.signed=r,i}var O,R=new T((function(e,t){return t}),32,!1,"none"),C=(i(j,O=A),j.prototype.encode=function(e){return R.encode(e?1:0)},j.prototype.decode=function(e,t){try{var r=R.decode(e,t)}catch(e){throw"insufficient data for uint256 type"===e.reason&&u.throwError("insufficient data for boolean type",u.INVALID_ARGUMENT,{arg:this.localName,coderType:"boolean",value:e.value}),e}return{consumed:r.consumed,value:this.coerceFunc("bool",!r.value.isZero())}},j);function j(e,t){return O.call(this,e,"bool","bool",t,!1)||this}var L,B=(i(U,L=A),U.prototype.encode=function(e){var t=new Uint8Array(32);try{var r=f.arrayify(e);if(r.length!==this.length)throw new Error("incorrect data length");t.set(r)}catch(t){u.throwError("invalid "+this.name+" value",u.INVALID_ARGUMENT,{arg:this.localName,coderType:this.name,value:t.value||e})}return t},U.prototype.decode=function(e,t){return e.length<t+32&&u.throwError("insufficient data for "+this.name+" type",u.INVALID_ARGUMENT,{arg:this.localName,coderType:this.name,value:f.hexlify(e.slice(t,t+32))}),{consumed:32,value:this.coerceFunc(this.name,f.hexlify(e.slice(t,t+this.length)))}},U);function U(e,t,r){var n=this,i="bytes"+t;return(n=L.call(this,e,i,i,r,!1)||this).length=t,n}var D,F=(i(z,D=A),z.prototype.encode=function(e){var t=new Uint8Array(32);try{t.set(f.arrayify(c.getAddress(e)),12)}catch(t){u.throwError("invalid address",u.INVALID_ARGUMENT,{arg:this.localName,coderType:"address",value:e})}return t},z.prototype.decode=function(e,t){return e.length<t+32&&u.throwError("insufficient data for address type",u.INVALID_ARGUMENT,{arg:this.localName,coderType:"address",value:f.hexlify(e.slice(t,t+32))}),{consumed:32,value:this.coerceFunc("address",c.getAddress(f.hexlify(e.slice(t+12,t+32))))}},z);function z(e,t){return D.call(this,e,"address","address",t,!1)||this}function H(e){var t=32*Math.ceil(e.length/32),r=new Uint8Array(t-e.length);return f.concat([R.encode(e.length),e,r])}function G(e,t,r){e.length<t+32&&u.throwError("insufficient data for dynamicBytes length",u.INVALID_ARGUMENT,{arg:r,coderType:"dynamicBytes",value:f.hexlify(e.slice(t,t+32))});var n=R.decode(e,t).value;try{n=n.toNumber()}catch(e){u.throwError("dynamic bytes count too large",u.INVALID_ARGUMENT,{arg:r,coderType:"dynamicBytes",value:n.toString()})}return e.length<t+32+n&&u.throwError("insufficient data for dynamicBytes type",u.INVALID_ARGUMENT,{arg:r,coderType:"dynamicBytes",value:f.hexlify(e.slice(t,t+32+n))}),{consumed:32+32*Math.ceil(n/32),value:e.slice(t+32,t+32+n)}}var q,V=(i(W,q=A),W.prototype.encode=function(e){try{return H(f.arrayify(e))}catch(e){u.throwError("invalid bytes value",u.INVALID_ARGUMENT,{arg:this.localName,coderType:"bytes",value:e.value})}return null},W.prototype.decode=function(e,t){var r=G(e,t,this.localName);return r.value=this.coerceFunc("bytes",f.hexlify(r.value)),r},W);function W(e,t){return q.call(this,e,"bytes","bytes",t,!0)||this}var K,Z=(i(Q,K=A),Q.prototype.encode=function(e){return"string"!=typeof e&&u.throwError("invalid string value",u.INVALID_ARGUMENT,{arg:this.localName,coderType:"string",value:e}),H(h.toUtf8Bytes(e))},Q.prototype.decode=function(e,t){var r=G(e,t,this.localName);return r.value=this.coerceFunc("string",h.toUtf8String(r.value)),r},Q);function Q(e,t){return K.call(this,e,"string","string",t,!0)||this}function J(e){return 32*Math.ceil(e/32)}function $(e,t){var r;Array.isArray(t)||(t&&"object"==s(t)?(r=[],e.forEach((function(e){r.push(t[e.localName])})),t=r):u.throwError("invalid tuple value",u.INVALID_ARGUMENT,{coderType:"tuple",value:t})),e.length!==t.length&&u.throwError("types/value length mismatch",u.INVALID_ARGUMENT,{coderType:"tuple",value:t});var n=[];e.forEach((function(e,r){n.push({dynamic:e.dynamic,value:e.encode(t[r])})}));var i=0,o=0;n.forEach((function(e){e.dynamic?(i+=32,o+=J(e.value.length)):i+=J(e.value.length)}));var a=0,c=i,l=new Uint8Array(i+o);return n.forEach((function(e){e.dynamic?(l.set(R.encode(c),a),a+=32,l.set(e.value,c),c+=J(e.value.length)):(l.set(e.value,a),a+=J(e.value.length))})),l}function Y(e,t,r){var n=r,i=0,o=[];return e.forEach((function(e){var a,s;e.dynamic?(a=R.decode(t,r),(s=e.decode(t,n+a.value.toNumber())).consumed=a.consumed):s=e.decode(t,r),null!=s.value&&o.push(s.value),r+=s.consumed,i+=s.consumed})),e.forEach((function(e,t){var r=e.localName;r&&("length"===r&&(r="_length"),null==o[r]&&(o[r]=o[t]))})),{value:o,consumed:i}}var X,ee=(i(te,X=A),te.prototype.encode=function(e){Array.isArray(e)||u.throwError("expected array value",u.INVALID_ARGUMENT,{arg:this.localName,coderType:"array",value:e});var t=this.length,r=new Uint8Array(0);-1===t&&(t=e.length,r=R.encode(t)),u.checkArgumentCount(t,e.length," in coder array"+(this.localName?" "+this.localName:""));for(var n=[],i=0;i<e.length;i++)n.push(this.coder);return f.concat([r,$(n,e)])},te.prototype.decode=function(e,t){var r=0,n=this.length;if(-1===n){try{var i=R.decode(e,t)}catch(e){u.throwError("insufficient data for dynamic array length",u.INVALID_ARGUMENT,{arg:this.localName,coderType:"array",value:e.value})}try{n=i.value.toNumber()}catch(e){u.throwError("array count too large",u.INVALID_ARGUMENT,{arg:this.localName,coderType:"array",value:i.value.toString()})}r+=i.consumed,t+=i.consumed}for(var o=[],a=0;a<n;a++)o.push(new k(this.coder));var s=Y(o,e,t);return s.consumed+=r,s.value=this.coerceFunc(this.type,s.value),s},te);function te(e,t,r,n){var i=this,o=t.type+"["+(0<=r?r:"")+"]",a=-1===r||t.dynamic;return(i=X.call(this,e,"array",o,n,a)||this).coder=t,i.length=r,i}var re,ne=(i(ie,re=A),ie.prototype.encode=function(e){return $(this.coders,e)},ie.prototype.decode=function(e,t){var r=Y(this.coders,e,t);return r.value=this.coerceFunc(this.type,r.value),r},ie);function ie(e,t,r){var n=this,i=!1,o=[];t.forEach((function(e){e.dynamic&&(i=!0),o.push(e.type)}));var a="tuple("+o.join(",")+")";return(n=re.call(this,e,"tuple",a,r,i)||this).coders=t,n}function oe(e){e=e.trim();for(var t=[],r="",n=0,i=0;i<e.length;i++){var o=e[i];if(","===o&&0===n)t.push(r),r="";else if(r+=o,"("===o)n++;else if(")"===o&&-1==--n)throw new Error("unbalanced parenthsis")}return r&&t.push(r),t}var ae={address:F,bool:C,string:Z,bytes:V};function se(e,t){var r=ae[t.type];if(r)return new r(e,t.name);var n,i,o,a,s=t.type.match(m);if(s)return(0===(c=parseInt(s[2]||"256"))||256<c||c%8!=0)&&u.throwError("invalid "+s[1]+" bit length",u.INVALID_ARGUMENT,{arg:"param",value:t}),new T(e,c/8,"int"===s[1],t.name);if(s=t.type.match(p))return(0===(c=parseInt(s[1]))||32<c)&&u.throwError("invalid bytes length",u.INVALID_ARGUMENT,{arg:"param",value:t}),new B(e,c,t.name);if(s=t.type.match(g)){var c=parseInt(s[2]||"-1");return(t=d.shallowCopy(t)).type=s[1],t=d.deepCopy(t),new ee(e,se(e,t),c,t.name)}return"tuple"===t.type.substring(0,5)?(n=e,i=t.components,o=t.name,a=[],(i=i||[]).forEach((function(e){a.push(se(n,e))})),new ne(n,a,o)):""===t.type?new M(e,t.name):(u.throwError("invalid type",u.INVALID_ARGUMENT,{arg:"type",value:t.type}),null)}var ue=(ce.prototype.encode=function(e,t){e.length!==t.length&&u.throwError("types/values length mismatch",u.INVALID_ARGUMENT,{count:{types:e.length,values:t.length},value:{types:e,values:t}});var r=[];return e.forEach((function(e){var t="string"==typeof e?w(e):e;r.push(se(this.coerceFunc,t))}),this),f.hexlify(new ne(this.coerceFunc,r,"_").encode(t))},ce.prototype.decode=function(e,t){var r=[];return e.forEach((function(e){var t="string"==typeof e?w(e):d.deepCopy(e);r.push(se(this.coerceFunc,t))}),this),new ne(this.coerceFunc,r,"_").decode(f.arrayify(t),0).value},ce);function ce(e){u.checkNew(this,ce),e=e||r.defaultCoerceFunc,d.defineReadOnly(this,"coerceFunc",e)}r.AbiCoder=ue,r.defaultAbiCoder=new ue},{"../constants":3,"../errors":5,"./address":60,"./bignumber":63,"./bytes":64,"./properties":74,"./utf8":85}],60:[function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("bn.js")),o=e("./bytes"),a=e("./keccak256"),s=e("./rlp"),u=e("../errors");function c(e){"string"==typeof e&&e.match(/^0x[0-9A-Fa-f]{40}$/)||u.throwError("invalid address",u.INVALID_ARGUMENT,{arg:"address",value:e});for(var t=(e=e.toLowerCase()).substring(2).split(""),r=new Uint8Array(40),n=0;n<40;n++)r[n]=t[n].charCodeAt(0);r=o.arrayify(a.keccak256(r));for(var i=0;i<40;i+=2)8<=r[i>>1]>>4&&(t[i]=t[i].toUpperCase()),8<=(15&r[i>>1])&&(t[i+1]=t[i+1].toUpperCase());return"0x"+t.join("")}for(var l={},f=0;f<10;f++)l[String(f)]=String(f);for(f=0;f<26;f++)l[String.fromCharCode(65+f)]=String(10+f);var h,d=Math.floor((h=9007199254740991,Math.log10?Math.log10(h):Math.log(h)/Math.LN10));function p(e){e=(e=e.toUpperCase()).substring(4)+e.substring(0,2)+"00";var t="";for(e.split("").forEach((function(e){t+=l[e]}));t.length>=d;){var r=t.substring(0,d);t=parseInt(r,10)%97+t.substring(r.length)}for(var n=String(98-parseInt(t,10)%97);n.length<2;)n="0"+n;return n}function m(e){var t=null;if("string"!=typeof e&&u.throwError("invalid address",u.INVALID_ARGUMENT,{arg:"address",value:e}),e.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==e.substring(0,2)&&(e="0x"+e),t=c(e),e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==e&&u.throwError("bad address checksum",u.INVALID_ARGUMENT,{arg:"address",value:e});else if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(e.substring(2,4)!==p(e)&&u.throwError("bad icap checksum",u.INVALID_ARGUMENT,{arg:"address",value:e}),t=new i.default.BN(e.substring(4),36).toString(16);t.length<40;)t="0"+t;t=c("0x"+t)}else u.throwError("invalid address",u.INVALID_ARGUMENT,{arg:"address",value:e});return t}r.getAddress=m,r.getIcapAddress=function(e){for(var t=new i.default.BN(m(e).substring(2),16).toString(36).toUpperCase();t.length<30;)t="0"+t;return"XE"+p("XE00"+t)+t},r.getContractAddress=function(e){if(!e.from)throw new Error("missing from address");var t=e.nonce;return m("0x"+a.keccak256(s.encode([m(e.from),o.stripZeros(o.hexlify(t))])).substring(26))},r.getCreate2Address=function(e){var t=e.initCodeHash;e.initCode&&(t?a.keccak256(e.initCode)!==t&&u.throwError("initCode/initCodeHash mismatch",u.INVALID_ARGUMENT,{arg:"options",value:e}):t=a.keccak256(e.initCode)),t||u.throwError("missing initCode or initCodeHash",u.INVALID_ARGUMENT,{arg:"options",value:e});var r=m(e.from),n=o.arrayify(e.salt);return 32!==n.length&&u.throwError("invalid salt",u.INVALID_ARGUMENT,{arg:"options",value:e}),m("0x"+a.keccak256(o.concat(["0xff",r,n,t])).substring(26))}},{"../errors":5,"./bytes":64,"./keccak256":71,"./rlp":76,"bn.js":9}],61:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("../utils/bytes");t.exports={decode:function(e){e=atob(e);for(var t=[],r=0;r<e.length;r++)t.push(e.charCodeAt(r));return n.arrayify(t)},encode:function(e){e=n.arrayify(e);for(var t="",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}}},{"../utils/bytes":64}],62:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./bytes"),i=e("./properties"),o=(a.prototype.encode=function(e){var t=n.arrayify(e);if(0===t.length)return"";for(var r=[0],i=0;i<t.length;++i){for(var o=t[i],a=0;a<r.length;++a)o+=r[a]<<8,r[a]=o%this.base,o=o/this.base|0;for(;0<o;)r.push(o%this.base),o=o/this.base|0}for(var s="",u=0;0===t[u]&&u<t.length-1;++u)s+=this._leader;for(var c=r.length-1;0<=c;--c)s+=this.alphabet[r[c]];return s},a.prototype.decode=function(e){if("string"!=typeof e)throw new TypeError("Expected String");var t=[];if(0===e.length)return new Uint8Array(t);t.push(0);for(var r=0;r<e.length;r++){var i=this._alphabetMap[e[r]];if(void 0===i)throw new Error("Non-base"+this.base+" character");for(var o=i,a=0;a<t.length;++a)o+=t[a]*this.base,t[a]=255&o,o>>=8;for(;0<o;)t.push(255&o),o>>=8}for(var s=0;e[s]===this._leader&&s<e.length-1;++s)t.push(0);return n.arrayify(new Uint8Array(t.reverse()))},a);function a(e){i.defineReadOnly(this,"alphabet",e),i.defineReadOnly(this,"base",e.length),i.defineReadOnly(this,"_alphabetMap",{}),i.defineReadOnly(this,"_leader",e.charAt(0));for(var t=0;t<e.length;t++)this._alphabetMap[e.charAt(t)]=t}var s=new(r.BaseX=o)("abcdefghijklmnopqrstuvwxyz234567");r.Base32=s;var u=new o("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");r.Base58=u},{"./bytes":64,"./properties":74}],63:[function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var o=n(e("bn.js")),a=e("./bytes"),s=e("./properties"),u=i(e("../errors")),c=new o.default.BN(-1);function l(e){var t=e.toString(16);return"-"===t[0]?t.length%2==0?"-0x0"+t.substring(1):"-0x"+t.substring(1):t.length%2==1?"0x0"+t:"0x"+t}function f(e){return d(g(e))}function h(e){return new p(l(e))}function d(e){var t=e._hex;return"-"===t[0]?new o.default.BN(t.substring(3),16).mul(c):new o.default.BN(t.substring(2),16)}var p=(m.prototype.fromTwos=function(e){return h(d(this).fromTwos(e))},m.prototype.toTwos=function(e){return h(d(this).toTwos(e))},m.prototype.abs=function(){return"-"===this._hex[0]?h(d(this).mul(c)):this},m.prototype.add=function(e){return h(d(this).add(f(e)))},m.prototype.sub=function(e){return h(d(this).sub(f(e)))},m.prototype.div=function(e){return g(e).isZero()&&u.throwError("division by zero",u.NUMERIC_FAULT,{operation:"divide",fault:"division by zero"}),h(d(this).div(f(e)))},m.prototype.mul=function(e){return h(d(this).mul(f(e)))},m.prototype.mod=function(e){return h(d(this).mod(f(e)))},m.prototype.pow=function(e){return h(d(this).pow(f(e)))},m.prototype.maskn=function(e){return h(d(this).maskn(e))},m.prototype.eq=function(e){return d(this).eq(f(e))},m.prototype.lt=function(e){return d(this).lt(f(e))},m.prototype.lte=function(e){return d(this).lte(f(e))},m.prototype.gt=function(e){return d(this).gt(f(e))},m.prototype.gte=function(e){return d(this).gte(f(e))},m.prototype.isZero=function(){return d(this).isZero()},m.prototype.toNumber=function(){try{return d(this).toNumber()}catch(e){u.throwError("overflow",u.NUMERIC_FAULT,{operation:"setValue",fault:"overflow",details:e.message})}return null},m.prototype.toString=function(){return d(this).toString(10)},m.prototype.toHexString=function(){return this._hex},m.isBigNumber=function(e){return s.isType(e,"BigNumber")},m);function m(e){if(u.checkNew(this,m),s.setType(this,"BigNumber"),"string"==typeof e)a.isHexString(e)?("0x"==e&&(e="0x0"),s.defineReadOnly(this,"_hex",e)):"-"===e[0]&&a.isHexString(e.substring(1))?s.defineReadOnly(this,"_hex",e):e.match(/^-?[0-9]*$/)?(""==e&&(e="0"),s.defineReadOnly(this,"_hex",l(new o.default.BN(e)))):u.throwError("invalid BigNumber string value",u.INVALID_ARGUMENT,{arg:"value",value:e});else if("number"==typeof e){parseInt(String(e))!==e&&u.throwError("underflow",u.NUMERIC_FAULT,{operation:"setValue",fault:"underflow",value:e,outputValue:parseInt(String(e))});try{s.defineReadOnly(this,"_hex",l(new o.default.BN(e)))}catch(e){u.throwError("overflow",u.NUMERIC_FAULT,{operation:"setValue",fault:"overflow",details:e.message})}}else e instanceof m?s.defineReadOnly(this,"_hex",e._hex):e.toHexString?s.defineReadOnly(this,"_hex",l(f(e.toHexString()))):e._hex&&a.isHexString(e._hex)?s.defineReadOnly(this,"_hex",e._hex):a.isArrayish(e)?s.defineReadOnly(this,"_hex",l(new o.default.BN(a.hexlify(e).substring(2),16))):u.throwError("invalid BigNumber value",u.INVALID_ARGUMENT,{arg:"value",value:e})}function g(e){return p.isBigNumber(e)?e:new p(e)}r.BigNumber=p,r.bigNumberify=g},{"../errors":5,"./bytes":64,"./properties":74,"bn.js":9}],64:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("../errors"));function o(e){return!!e.toHexString}function a(e){return e.slice||(e.slice=function(){var t=Array.prototype.slice.call(arguments);return a(new Uint8Array(Array.prototype.slice.apply(e,t)))}),e}function u(e){if(!e||parseInt(String(e.length))!=e.length||"string"==typeof e)return!1;for(var t=0;t<e.length;t++){var r=e[t];if(r<0||256<=r||parseInt(String(r))!=r)return!1}return!0}function c(e){if(null==e&&i.throwError("cannot convert null value to array",i.INVALID_ARGUMENT,{arg:"value",value:e}),o(e)&&(e=e.toHexString()),"string"!=typeof e)return u(e)?a(new Uint8Array(e)):(i.throwError("invalid arrayify value",null,{arg:"value",value:e,type:s(e)}),null);var t=e.match(/^(0x)?[0-9a-fA-F]*$/);t||i.throwError("invalid hexidecimal string",i.INVALID_ARGUMENT,{arg:"value",value:e}),"0x"!==t[1]&&i.throwError("hex string must have 0x prefix",i.INVALID_ARGUMENT,{arg:"value",value:e}),(e=e.substring(2)).length%2&&(e="0"+e);for(var r=[],n=0;n<e.length;n+=2)r.push(parseInt(e.substr(n,2),16));return a(new Uint8Array(r))}function l(e){for(var t=[],r=0,n=0;n<e.length;n++){var i=c(e[n]);t.push(i),r+=i.length}var o=new Uint8Array(r),s=0;for(n=0;n<t.length;n++)o.set(t[n],s),s+=t[n].length;return a(o)}function f(e,t){return!("string"!=typeof e||!e.match(/^0x[0-9A-Fa-f]*$/)||t&&e.length!==2+2*t)}r.isHexable=o,r.isArrayish=u,r.arrayify=c,r.concat=l,r.stripZeros=function(e){var t=c(e);if(0===t.length)return t;for(var r=0;0===t[r];)r++;return r&&(t=t.slice(r)),t},r.padZeros=function(e,t){if(t<(e=c(e)).length)throw new Error("cannot pad");var r=new Uint8Array(t);return r.set(e,t-e.length),a(r)},r.isHexString=f;var h="0123456789abcdef";function d(e){if(o(e))return e.toHexString();if("number"==typeof e){e<0&&i.throwError("cannot hexlify negative value",i.INVALID_ARGUMENT,{arg:"value",value:e}),9007199254740991<=e&&i.throwError("out-of-range",i.NUMERIC_FAULT,{operartion:"hexlify",fault:"out-of-safe-range"});for(var t="";e;)t=h[15&e]+t,e=Math.floor(e/16);return t.length?(t.length%2&&(t="0"+t),"0x"+t):"0x00"}if("string"==typeof e){var r=e.match(/^(0x)?[0-9a-fA-F]*$/);return r||i.throwError("invalid hexidecimal string",i.INVALID_ARGUMENT,{arg:"value",value:e}),"0x"!==r[1]&&i.throwError("hex string must have 0x prefix",i.INVALID_ARGUMENT,{arg:"value",value:e}),e.length%2&&(e="0x0"+e.substring(2)),e}if(u(e)){for(var n=[],a=0;a<e.length;a++){var s=e[a];n.push(h[(240&s)>>4]+h[15&s])}return"0x"+n.join("")}return i.throwError("invalid hexlify value",null,{arg:"value",value:e}),"never"}function p(e,t){for(f(e)||i.throwError("invalid hex string",i.INVALID_ARGUMENT,{arg:"value",value:e});e.length<2*t+2;)e="0x0"+e.substring(2);return e}function m(e){var t,r=0,n="0x",o="0x";if((t=e)&&null!=t.r&&null!=t.s){null==e.v&&null==e.recoveryParam&&i.throwError("at least on of recoveryParam or v must be specified",i.INVALID_ARGUMENT,{argument:"signature",value:e}),n=p(e.r,32),o=p(e.s,32),"string"==typeof(r=e.v)&&(r=parseInt(r,16));var a=e.recoveryParam;null==a&&null!=e.v&&(a=1-r%2),r=27+a}else{var s=c(e);if(65!==s.length)throw new Error("invalid signature");n=d(s.slice(0,32)),o=d(s.slice(32,64)),27!==(r=s[64])&&28!==r&&(r=27+r%2)}return{r:n,s:o,recoveryParam:r-27,v:r}}r.hexlify=d,r.hexDataLength=function(e){return f(e)&&e.length%2==0?(e.length-2)/2:null},r.hexDataSlice=function(e,t,r){return f(e)||i.throwError("invalid hex data",i.INVALID_ARGUMENT,{arg:"value",value:e}),e.length%2!=0&&i.throwError("hex data length must be even",i.INVALID_ARGUMENT,{arg:"value",value:e}),t=2+2*t,null!=r?"0x"+e.substring(t,2+2*r):"0x"+e.substring(t)},r.hexStripZeros=function(e){for(f(e)||i.throwError("invalid hex string",i.INVALID_ARGUMENT,{arg:"value",value:e});3<e.length&&"0x0"===e.substring(0,3);)e="0x"+e.substring(3);return e},r.hexZeroPad=p,r.splitSignature=m,r.joinSignature=function(e){return d(l([(e=m(e)).r,e.s,e.recoveryParam?"0x1c":"0x1b"]))}},{"../errors":5}],65:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("../errors")),o=e("./bytes"),a=e("./utf8"),s=e("./keccak256"),u=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),c=new RegExp("^((.*)\\.)?([^.]+)$"),l=new RegExp("^[a-z0-9.-]*$");r.namehash=function(e){"string"!=typeof e&&i.throwError("invalid address - "+String(e),i.INVALID_ARGUMENT,{argument:"name",value:e}),(e=e.toLowerCase()).match(l)||i.throwError("contains invalid UseSTD3ASCIIRules characters",i.INVALID_ARGUMENT,{argument:"name",value:e});for(var t=u;e.length;){var r=e.match(c),n=a.toUtf8Bytes(r[3]);t=s.keccak256(o.concat([t,s.keccak256(n)])),e=r[2]||""}return o.hexlify(t)},r.id=function(e){return s.keccak256(a.toUtf8Bytes(e))},r.hashMessage=function(e){return s.keccak256(o.concat([a.toUtf8Bytes("Ethereum Signed Message:\n"),a.toUtf8Bytes(String(e.length)),"string"==typeof e?a.toUtf8Bytes(e):e]))}},{"../errors":5,"./bytes":64,"./keccak256":71,"./utf8":85}],66:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("../errors")),o=e("../wordlists/lang-en"),a=e("./basex"),s=e("./bytes"),u=e("./bignumber"),c=e("./utf8"),l=e("./pbkdf2"),f=e("./hmac"),h=e("./properties"),d=e("./secp256k1"),p=e("./sha2"),m=u.bigNumberify("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),g=c.toUtf8Bytes("Bitcoin seed"),y=2147483648;function v(e){return(1<<e)-1<<8-e}function b(e){return s.hexZeroPad(s.hexlify(e),32)}function w(e){var t=s.hexDataSlice(p.sha256(p.sha256(e)),0,4);return a.Base58.encode(s.concat([e,t]))}var _={};r.defaultPath="m/44'/60'/0'/0/0";var A=(Object.defineProperty(E.prototype,"extendedKey",{get:function(){if(256<=this.depth)throw new Error("Depth too large!");return w(s.concat([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",s.hexlify(this.depth),this.parentFingerprint,s.hexZeroPad(s.hexlify(this.index),4),this.chainCode,null!=this.privateKey?s.concat(["0x00",this.privateKey]):this.publicKey]))},enumerable:!0,configurable:!0}),E.prototype.neuter=function(){return new E(_,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,null,this.path)},E.prototype._derive=function(e){if(4294967295<e)throw new Error("invalid index - "+String(e));var t=this.path;t&&(t+="/"+(e&~y));var r=new Uint8Array(37);if(e&y){if(!this.privateKey)throw new Error("cannot derive child of neutered node");r.set(s.arrayify(this.privateKey),1),t&&(t+="'")}else r.set(s.arrayify(this.publicKey));for(var n=24;0<=n;n-=8)r[33+(n>>3)]=e>>24-n&255;var i=f.computeHmac(f.SupportedAlgorithms.sha512,this.chainCode,r),o=i.slice(0,32),a=i.slice(32),c=null,l=null;return this.privateKey?c=b(u.bigNumberify(o).add(this.privateKey).mod(m)):l=new d.KeyPair(s.hexlify(o))._addPoint(this.publicKey),new E(_,c,l,this.fingerprint,b(a),e,this.depth+1,this.mnemonic,t)},E.prototype.derivePath=function(e){var t=e.split("/");if(0===t.length||"m"===t[0]&&0!==this.depth)throw new Error("invalid path - "+e);"m"===t[0]&&t.shift();for(var r=this,n=0;n<t.length;n++){var i=t[n];if(i.match(/^[0-9]+'$/)){var o=parseInt(i.substring(0,i.length-1));if(y<=o)throw new Error("invalid path index - "+i);r=r._derive(y+o)}else{if(!i.match(/^[0-9]+$/))throw new Error("invalid path component - "+i);if(o=parseInt(i),y<=o)throw new Error("invalid path index - "+i);r=r._derive(o)}}return r},E.isHDNode=function(e){return h.isType(e,"HDNode")},E);function E(e,t,r,n,o,a,u,c,l){if(i.checkNew(this,E),e!==_)throw new Error("HDNode constructor cannot be called directly");var f;t?(f=new d.KeyPair(t),h.defineReadOnly(this,"privateKey",f.privateKey),h.defineReadOnly(this,"publicKey",f.compressedPublicKey)):(h.defineReadOnly(this,"privateKey",null),h.defineReadOnly(this,"publicKey",s.hexlify(r))),h.defineReadOnly(this,"parentFingerprint",n),h.defineReadOnly(this,"fingerprint",s.hexDataSlice(p.ripemd160(p.sha256(this.publicKey)),0,4)),h.defineReadOnly(this,"address",d.computeAddress(this.publicKey)),h.defineReadOnly(this,"chainCode",o),h.defineReadOnly(this,"index",a),h.defineReadOnly(this,"depth",u),h.defineReadOnly(this,"mnemonic",c),h.defineReadOnly(this,"path",l),h.setType(this,"HDNode")}function k(e,t){var r=s.arrayify(e);if(r.length<16||64<r.length)throw new Error("invalid seed");var n=s.arrayify(f.computeHmac(f.SupportedAlgorithms.sha512,g,r));return new A(_,b(n.slice(0,32)),null,"0x00000000",b(n.slice(32)),0,0,t,"m")}function x(e,t){t=t||"";var r=c.toUtf8Bytes("mnemonic"+t,c.UnicodeNormalizationForm.NFKD);return s.hexlify(l.pbkdf2(c.toUtf8Bytes(e,c.UnicodeNormalizationForm.NFKD),r,2048,64,"sha512"))}function S(e,t){t=t||o.langEn,i.checkNormalize();var r=t.split(e);if(r.length%3!=0)throw new Error("invalid mnemonic");for(var n=s.arrayify(new Uint8Array(Math.ceil(11*r.length/8))),a=0,u=0;u<r.length;u++){var c=t.getWordIndex(r[u].normalize("NFKD"));if(-1===c)throw new Error("invalid mnemonic");for(var l=0;l<11;l++)c&1<<10-l&&(n[a>>3]|=1<<7-a%8),a++}var f=32*r.length/3,h=v(r.length/3),d=s.arrayify(p.sha256(n.slice(0,f/8)))[0];if((d&=h)!=(n[n.length-1]&h))throw new Error("invalid checksum");return s.hexlify(n.slice(0,f/8))}function M(e,t){if((e=s.arrayify(e)).length%4!=0||e.length<16||32<e.length)throw new Error("invalid entropy");for(var r=[0],n=11,i=0;i<e.length;i++)8<n?(r[r.length-1]<<=8,r[r.length-1]|=e[i],n-=8):(r[r.length-1]<<=n,r[r.length-1]|=e[i]>>8-n,r.push(e[i]&(1<<8-n)-1),n+=3);var a=s.arrayify(p.sha256(e))[0],u=e.length/4;return a&=v(u),r[r.length-1]<<=u,r[r.length-1]|=a>>8-u,(t=t||o.langEn).join(r.map((function(e){return t.getWord(e)})))}r.HDNode=A,r.fromExtendedKey=function(e){var t=a.Base58.decode(e);82===t.length&&w(t.slice(0,78))===e||i.throwError("invalid extended key",i.INVALID_ARGUMENT,{argument:"extendedKey",value:"[REDACTED]"});var r=t[4],n=s.hexlify(t.slice(5,9)),o=parseInt(s.hexlify(t.slice(9,13)).substring(2),16),u=s.hexlify(t.slice(13,45)),c=t.slice(45,78);switch(s.hexlify(t.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new A(_,null,s.hexlify(c),n,u,o,r,null,null);case"0x0488ade4":case"0x04358394":if(0!==c[0])break;return new A(_,s.hexlify(c.slice(1)),null,n,u,o,r,null,null)}return i.throwError("invalid extended key",i.INVALID_ARGUMENT,{argument:"extendedKey",value:"[REDACTED]"})},r.fromMnemonic=function(e,t,r){return k(x(e=M(S(e,t),t),r),e)},r.fromSeed=function(e){return k(e,null)},r.mnemonicToSeed=x,r.mnemonicToEntropy=S,r.entropyToMnemonic=M,r.isValidMnemonic=function(e,t){try{return S(e,t),!0}catch(e){}return!1}},{"../errors":5,"../wordlists/lang-en":90,"./basex":62,"./bignumber":63,"./bytes":64,"./hmac":67,"./pbkdf2":73,"./properties":74,"./secp256k1":77,"./sha2":79,"./utf8":85}],67:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i,o,a=n(e("hash.js")),s=e("../utils/bytes"),u=n(e("../errors"));(o=i=r.SupportedAlgorithms||(r.SupportedAlgorithms={})).sha256="sha256",o.sha512="sha512",r.computeHmac=function(e,t,r){return i[e]||u.throwError("unsupported algorithm "+e,u.UNSUPPORTED_OPERATION,{operation:"hmac",algorithm:e}),s.arrayify(a.hmac(a[e],s.arrayify(t)).update(s.arrayify(r)).digest())}},{"../errors":5,"../utils/bytes":64,"hash.js":26}],68:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("./abi-coder");r.AbiCoder=i.AbiCoder,r.defaultAbiCoder=i.defaultAbiCoder,r.formatSignature=i.formatSignature,r.formatParamType=i.formatParamType,r.parseSignature=i.parseSignature,r.parseParamType=i.parseParamType;var o=e("./address");r.getAddress=o.getAddress,r.getContractAddress=o.getContractAddress,r.getCreate2Address=o.getCreate2Address,r.getIcapAddress=o.getIcapAddress;var a=n(e("./base64"));r.base64=a;var s=e("./bignumber");r.BigNumber=s.BigNumber,r.bigNumberify=s.bigNumberify;var u=e("./bytes");r.arrayify=u.arrayify,r.concat=u.concat,r.hexDataSlice=u.hexDataSlice,r.hexDataLength=u.hexDataLength,r.hexlify=u.hexlify,r.hexStripZeros=u.hexStripZeros,r.hexZeroPad=u.hexZeroPad,r.isHexString=u.isHexString,r.joinSignature=u.joinSignature,r.padZeros=u.padZeros,r.splitSignature=u.splitSignature,r.stripZeros=u.stripZeros;var c=e("./hash");r.hashMessage=c.hashMessage,r.id=c.id,r.namehash=c.namehash;var l=n(e("./hdnode"));r.HDNode=l;var f=e("./interface");r.Interface=f.Interface;var h=e("./json-wallet");r.getJsonWalletAddress=h.getJsonWalletAddress;var d=e("./keccak256");r.keccak256=d.keccak256;var p=e("./sha2");r.sha256=p.sha256;var m=e("./solidity");r.solidityKeccak256=m.keccak256,r.solidityPack=m.pack,r.soliditySha256=m.sha256;var g=e("./random-bytes");r.randomBytes=g.randomBytes;var y=e("./networks");r.getNetwork=y.getNetwork;var v=e("./properties");r.checkProperties=v.checkProperties,r.deepCopy=v.deepCopy,r.defineReadOnly=v.defineReadOnly,r.resolveProperties=v.resolveProperties,r.shallowCopy=v.shallowCopy;var b=n(e("./rlp"));r.RLP=b;var w=e("./secp256k1");r.computeAddress=w.computeAddress,r.computePublicKey=w.computePublicKey,r.recoverAddress=w.recoverAddress,r.recoverPublicKey=w.recoverPublicKey,r.verifyMessage=w.verifyMessage;var _=e("./signing-key");r.SigningKey=_.SigningKey;var A=e("./transaction");r.populateTransaction=A.populateTransaction;var E=e("./transaction");r.parseTransaction=E.parse,r.serializeTransaction=E.serialize;var k=e("./utf8");r.formatBytes32String=k.formatBytes32String,r.parseBytes32String=k.parseBytes32String,r.toUtf8Bytes=k.toUtf8Bytes,r.toUtf8String=k.toUtf8String;var x=e("./units");r.commify=x.commify,r.formatEther=x.formatEther,r.parseEther=x.parseEther,r.formatUnits=x.formatUnits,r.parseUnits=x.parseUnits;var S=e("./web");r.fetchJson=S.fetchJson,r.poll=S.poll;var M=e("./hmac");r.SupportedAlgorithms=M.SupportedAlgorithms;var I=e("./utf8");r.UnicodeNormalizationForm=I.UnicodeNormalizationForm;var P=e("./wordlist");r.Wordlist=P.Wordlist},{"./abi-coder":59,"./address":60,"./base64":61,"./bignumber":63,"./bytes":64,"./hash":65,"./hdnode":66,"./hmac":67,"./interface":69,"./json-wallet":70,"./keccak256":71,"./networks":72,"./properties":74,"./random-bytes":75,"./rlp":76,"./secp256k1":77,"./sha2":79,"./signing-key":81,"./solidity":82,"./transaction":83,"./units":84,"./utf8":85,"./web":86,"./wordlist":87}],69:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};function a(e){for(var t in p.setType(this,"Description"),e)p.defineReadOnly(this,t,p.deepCopy(e[t],!0));Object.freeze(this)}Object.defineProperty(r,"__esModule",{value:!0});var s,u=e("./address"),c=e("./abi-coder"),l=e("./bignumber"),f=e("./bytes"),h=e("./hash"),d=e("./keccak256"),p=e("./properties"),m=o(e("../errors")),g=function(e){p.setType(this,"Indexed"),p.defineReadOnly(this,"hash",e)},y=(i(v,s=a),v.prototype.encode=function(e,t){f.isHexString(e)||m.throwError("invalid contract bytecode",m.INVALID_ARGUMENT,{arg:"bytecode",value:e}),m.checkArgumentCount(t.length,this.inputs.length," in Interface constructor");try{return e+c.defaultAbiCoder.encode(this.inputs,t).substring(2)}catch(e){m.throwError("invalid constructor argument",m.INVALID_ARGUMENT,{arg:e.arg,reason:e.reason,value:e.value})}return null},v);function v(){return null!==s&&s.apply(this,arguments)||this}var b,w=(i(_,b=a),_.prototype.encode=function(e){m.checkArgumentCount(e.length,this.inputs.length," in interface function "+this.name);try{return this.sighash+c.defaultAbiCoder.encode(this.inputs,e).substring(2)}catch(e){m.throwError("invalid input argument",m.INVALID_ARGUMENT,{arg:e.arg,reason:e.reason,value:e.value})}return null},_.prototype.decode=function(e){try{return c.defaultAbiCoder.decode(this.outputs,f.arrayify(e))}catch(t){m.throwError("invalid data for function output",m.INVALID_ARGUMENT,{arg:"data",errorArg:t.arg,errorValue:t.value,value:e,reason:t.reason})}},_);function _(){return null!==b&&b.apply(this,arguments)||this}var A,E=(i(k,A=a),k);function k(){return null!==A&&A.apply(this,arguments)||this}var x,S=(i(M,x=a),M.prototype.encodeTopics=function(e){var t=this;e.length>this.inputs.length&&m.throwError("too many arguments for "+this.name,m.UNEXPECTED_ARGUMENT,{maxCount:e.length,expectedCount:this.inputs.length});var r=[];for(this.anonymous||r.push(this.topic),e.forEach((function(e,n){var i=t.inputs[n];i.indexed?null==e?r.push(null):"string"===i.type?r.push(h.id(e)):"bytes"===i.type?r.push(d.keccak256(e)):-1!==i.type.indexOf("[")||"tuple"===i.type.substring(0,5)?m.throwError("filtering with tuples or arrays not implemented yet; bug us on GitHub",m.NOT_IMPLEMENTED,{operation:"filter(array|tuple)"}):("address"===i.type&&u.getAddress(e),r.push(f.hexZeroPad(f.hexlify(e),32).toLowerCase())):null!=e&&m.throwError("cannot filter non-indexed parameters; must be null",m.INVALID_ARGUMENT,{argument:i.name||n,value:e})}));r.length&&null===r[r.length-1];)r.pop();return r},M.prototype.decode=function(e,t){null==t||this.anonymous||(t=t.slice(1));var r,n=[],i=[],o=[];this.inputs.forEach((function(e,t){e.indexed?"string"===e.type||"bytes"===e.type||0<=e.type.indexOf("[")||"tuple"===e.type.substring(0,5)?(n.push({type:"bytes32",name:e.name||""}),o.push(!0)):(n.push(e),o.push(!1)):(i.push(e),o.push(!1))})),null!=t&&(r=c.defaultAbiCoder.decode(n,f.concat(t)));var a=c.defaultAbiCoder.decode(i,f.arrayify(e)),s={},u=0,l=0;return this.inputs.forEach((function(e,n){e.indexed?null==t?s[n]=new g(null):o[n]?s[n]=new g(r[l++]):s[n]=r[l++]:s[n]=a[u++],e.name&&(s[e.name]=s[n])})),s.length=this.inputs.length,new E(s)},M);function M(){return null!==x&&x.apply(this,arguments)||this}var I,P=(i(T,I=a),T);function T(){return null!==I&&I.apply(this,arguments)||this}var N,O=(i(R,N=a),R);function R(){return null!==N&&N.apply(this,arguments)||this}function C(e){switch(e.type){case"constructor":var t=new y({inputs:e.inputs,payable:null==e.payable||!!e.payable});this.deployFunction||(this.deployFunction=t);break;case"function":var r=c.formatSignature(e).replace(/tuple/g,""),n=h.id(r).substring(0,10),i=!1;null!=e.constant?i=e.constant:null!=e.stateMutability&&(i="view"==e.stateMutability||"pure"==e.stateMutability),t=new w({inputs:e.inputs,outputs:e.outputs,gas:e.gas,payable:null==e.payable||!!e.payable,type:i?"call":"transaction",name:e.name,signature:r,sighash:n}),e.name&&(null==this.functions[e.name]?p.defineReadOnly(this.functions,e.name,t):m.warn("WARNING: Multiple definitions for "+e.name)),null==this.functions[t.signature]&&p.defineReadOnly(this.functions,t.signature,t);break;case"event":r=c.formatSignature(e).replace(/tuple/g,""),t=new S({name:e.name,signature:r,inputs:e.inputs,topic:h.id(r),anonymous:!!e.anonymous}),e.name&&null==this.events[e.name]&&p.defineReadOnly(this.events,e.name,t),null==this.events[t.signature]&&p.defineReadOnly(this.events,t.signature,t);break;case"receive":case"fallback":break;default:m.warn("WARNING: unsupported ABI type - "+e.type)}}var j=(L.prototype.parseTransaction=function(e){var t=e.data.substring(0,10).toLowerCase();for(var r in this.functions)if(-1!==r.indexOf("(")){var n=this.functions[r];if(n.sighash===t){var i=c.defaultAbiCoder.decode(n.inputs,"0x"+e.data.substring(10));return new P({args:i,decode:n.decode,name:n.name,signature:n.signature,sighash:n.sighash,value:l.bigNumberify(e.value||"0")})}}return null},L.prototype.parseLog=function(e){for(var t in this.events)if(-1!==t.indexOf("(")){var r=this.events[t];if(!r.anonymous&&r.topic===e.topics[0])return new O({decode:r.decode,name:r.name,signature:r.signature,topic:r.topic,values:r.decode(e.data,e.topics)})}return null},L.isInterface=function(e){return p.isType(e,"Interface")},L.isIndexed=function(e){return p.isType(e,"Indexed")},L);function L(e){if(m.checkNew(this,L),"string"==typeof e){try{e=JSON.parse(e)}catch(t){m.throwError("could not parse ABI JSON",m.INVALID_ARGUMENT,{arg:"abi",errorMessage:t.message,value:e})}if(!Array.isArray(e))return m.throwError("invalid abi",m.INVALID_ARGUMENT,{arg:"abi",value:e}),null}p.defineReadOnly(this,"functions",{}),p.defineReadOnly(this,"events",{});var t=[];e.forEach((function(e){"string"==typeof e&&(e=c.parseSignature(e)),t.push(e)})),p.defineReadOnly(this,"abi",p.deepCopy(t,!0)),t.forEach(C,this),this.deployFunction||C.call(this,{type:"constructor",inputs:[]}),p.setType(this,"Interface")}r.Interface=j},{"../errors":5,"./abi-coder":59,"./address":60,"./bignumber":63,"./bytes":64,"./hash":65,"./keccak256":71,"./properties":74}],70:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./address");function i(e){try{var t=JSON.parse(e)}catch(e){return!1}return t.encseed&&t.ethaddr}function o(e){try{var t=JSON.parse(e)}catch(e){return!1}return!(!t.version||parseInt(t.version)!==t.version||3!==parseInt(t.version))}r.isCrowdsaleWallet=i,r.isSecretStorageWallet=o,r.getJsonWalletAddress=function(e){if(i(e))try{return n.getAddress(JSON.parse(e).ethaddr)}catch(e){return null}if(o(e))try{return n.getAddress(JSON.parse(e).address)}catch(e){return null}return null}},{"./address":60}],71:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("js-sha3"),i=e("./bytes");r.keccak256=function(e){return"0x"+n.keccak_256(i.arrayify(e))}},{"./bytes":64,"js-sha3":40}],72:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("../errors"));function o(e){return function(t){var r=[];return t.InfuraProvider&&r.push(new t.InfuraProvider(e)),t.EtherscanProvider&&r.push(new t.EtherscanProvider(e)),0===r.length?null:t.FallbackProvider?new t.FallbackProvider(r):r[0]}}function a(e,t){return function(r){return r.JsonRpcProvider?new r.JsonRpcProvider(e,t):null}}var s={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:o("homestead")},u={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:o("ropsten")},c={unspecified:{chainId:0,name:"unspecified"},homestead:s,mainnet:s,morden:{chainId:2,name:"morden"},ropsten:u,testnet:u,rinkeby:{chainId:4,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"rinkeby",_defaultProvider:o("rinkeby")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:o("goerli")},kovan:{chainId:42,name:"kovan",_defaultProvider:o("kovan")},classic:{chainId:61,name:"classic",_defaultProvider:a("https://web3.gastracker.io","classic")},classicTestnet:{chainId:62,name:"classicTestnet",_defaultProvider:a("https://web3.gastracker.io/morden","classicTestnet")}};r.getNetwork=function(e){if(null==e)return null;if("number"==typeof e){for(var t in c){var r=c[t];if(r.chainId===e)return{name:r.name,chainId:r.chainId,ensAddress:r.ensAddress||null,_defaultProvider:r._defaultProvider||null}}return{chainId:e,name:"unknown"}}if("string"==typeof e){var n=c[e];return null==n?null:{name:n.name,chainId:n.chainId,ensAddress:n.ensAddress,_defaultProvider:n._defaultProvider||null}}var o=c[e.name];return o?(0!==e.chainId&&e.chainId!==o.chainId&&i.throwError("network chainId mismatch",i.INVALID_ARGUMENT,{arg:"network",value:e}),{name:e.name,chainId:o.chainId,ensAddress:e.ensAddress||o.ensAddress||null,_defaultProvider:e._defaultProvider||o._defaultProvider||null}):("number"!=typeof e.chainId&&i.throwError("invalid network chainId",i.INVALID_ARGUMENT,{arg:"network",value:e}),e)}},{"../errors":5}],73:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("../utils/bytes"),i=e("./hmac");r.pbkdf2=function(e,t,r,o,a){var s;e=n.arrayify(e),t=n.arrayify(t);var u,c,l=1,f=new Uint8Array(o),h=new Uint8Array(t.length+4);h.set(t);for(var d=1;d<=l;d++){h[t.length]=d>>24&255,h[t.length+1]=d>>16&255,h[t.length+2]=d>>8&255,h[t.length+3]=255&d;var p=i.computeHmac(a,e,h);s||(s=p.length,c=new Uint8Array(s),u=o-((l=Math.ceil(o/s))-1)*s),c.set(p);for(var m=1;m<r;m++){p=i.computeHmac(a,e,p);for(var g=0;g<s;g++)c[g]^=p[g]}var y=(d-1)*s,v=d===l?u:s;f.set(n.arrayify(c).slice(0,v),y)}return n.arrayify(f)}},{"../utils/bytes":64,"./hmac":67}],74:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("../errors"));function o(e,t,r){Object.defineProperty(e,t,{enumerable:!0,value:r,writable:!1})}function a(e,t){return e&&e._ethersType===t}r.defineReadOnly=o,r.setType=function(e,t){Object.defineProperty(e,"_ethersType",{configurable:!1,value:t,writable:!1})},r.isType=a,r.resolveProperties=function(e){var t={},r=[];return Object.keys(e).forEach((function(n){var i=e[n];i instanceof Promise?r.push(i.then((function(e){return t[n]=e,null}))):t[n]=i})),Promise.all(r).then((function(){return t}))},r.checkProperties=function(e,t){e&&"object"==s(e)||i.throwError("invalid object",i.INVALID_ARGUMENT,{argument:"object",value:e}),Object.keys(e).forEach((function(r){t[r]||i.throwError("invalid object key - "+r,i.INVALID_ARGUMENT,{argument:"transaction",value:e,key:r})}))},r.shallowCopy=function(e){var t={};for(var r in e)t[r]=e[r];return t};var u={boolean:!0,number:!0,string:!0};r.deepCopy=function e(t,r){if(null==t||u[s(t)])return t;if(Array.isArray(t)){var n=t.map((function(t){return e(t,r)}));return r&&Object.freeze(n),n}if("object"==s(t)){if(a(t,"BigNumber"))return t;if(a(t,"Description"))return t;if(a(t,"Indexed"))return t;for(var i in n={},t){var c=t[i];void 0!==c&&o(n,i,e(c,r))}return r&&Object.freeze(n),n}if("function"==typeof t)return t;throw new Error("Cannot deepCopy "+s(t))},r.inheritable=function e(t){return function(r){var n,i;i=t,(n=r).super_=i,n.prototype=Object.create(i.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),o(r,"inherits",e(r))}}},{"../errors":5}],75:[function(e,t,n){(function(t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=e("../utils/bytes"),i=e("../utils/properties"),o=t.crypto||t.msCrypto;function a(e){if(e<=0||1024<e||parseInt(String(e))!=e)throw new Error("invalid length");var t=new Uint8Array(e);return o.getRandomValues(t),r.arrayify(t)}o&&o.getRandomValues||(console.log("WARNING: Missing strong random number source; using weak randomBytes"),o={getRandomValues:function(e){for(var t=0;t<20;t++)for(var r=0;r<e.length;r++)t?e[r]^=Math.trunc(256*Math.random()):e[r]=Math.trunc(256*Math.random());return e},_weakCrypto:!0}),n.randomBytes=a,!0===o._weakCrypto&&i.defineReadOnly(a,"_weakCrypto",!0)}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../utils/bytes":64,"../utils/properties":74}],76:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./bytes");function i(e){for(var t=[];e;)t.unshift(255&e),e>>=8;return t}function o(e,t,r){for(var n=0,i=0;i<r;i++)n=256*n+e[t+i];return n}function a(e,t,r,n){for(var i=[];r<t+1+n;){var o=s(e,r);if(i.push(o.result),t+1+n<(r+=o.consumed))throw new Error("invalid rlp")}return{consumed:1+n,result:i}}function s(e,t){if(0===e.length)throw new Error("invalid rlp data");if(248<=e[t]){if(t+1+(r=e[t]-247)>e.length)throw new Error("too short");if(t+1+r+(i=o(e,t+1,r))>e.length)throw new Error("to short");return a(e,t,t+1+r,r+i)}if(192<=e[t]){if(t+1+(i=e[t]-192)>e.length)throw new Error("invalid rlp data");return a(e,t,t+1,i)}if(184<=e[t]){var r;if(t+1+(r=e[t]-183)>e.length)throw new Error("invalid rlp data");if(t+1+r+(i=o(e,t+1,r))>e.length)throw new Error("invalid rlp data");return{consumed:1+r+i,result:n.hexlify(e.slice(t+1+r,t+1+r+i))}}if(128<=e[t]){var i;if(t+1+(i=e[t]-128)>e.length)throw new Error("invalid rlp data");return{consumed:1+i,result:n.hexlify(e.slice(t+1,t+1+i))}}return{consumed:1,result:n.hexlify(e[t])}}r.encode=function(e){return n.hexlify(function e(t){if(Array.isArray(t)){var r=[];return t.forEach((function(t){r=r.concat(e(t))})),r.length<=55?(r.unshift(192+r.length),r):((o=i(r.length)).unshift(247+o.length),o.concat(r))}var o,a=Array.prototype.slice.call(n.arrayify(t));return 1===a.length&&a[0]<=127?a:a.length<=55?(a.unshift(128+a.length),a):((o=i(a.length)).unshift(183+o.length),o.concat(a))}(e))},r.decode=function(e){var t=n.arrayify(e),r=s(t,0);if(r.consumed!==t.length)throw new Error("invalid rlp data");return r.result}},{"./bytes":64}],77:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("elliptic"),o=e("./address"),a=e("./bytes"),s=e("./hash"),u=e("./keccak256"),c=e("./properties"),l=n(e("../errors")),f=null;function h(){return f=f||new i.ec("secp256k1")}var d=(p.prototype.sign=function(e){var t=h().keyFromPrivate(a.arrayify(this.privateKey)).sign(a.arrayify(e),{canonical:!0});return{recoveryParam:t.recoveryParam,r:a.hexZeroPad("0x"+t.r.toString(16),32),s:a.hexZeroPad("0x"+t.s.toString(16),32),v:27+t.recoveryParam}},p.prototype.computeSharedSecret=function(e){var t=h().keyFromPrivate(a.arrayify(this.privateKey)),r=h().keyFromPublic(a.arrayify(m(e)));return a.hexZeroPad("0x"+t.derive(r.getPublic()).toString(16),32)},p.prototype._addPoint=function(e){var t=h().keyFromPublic(a.arrayify(this.publicKey)),r=h().keyFromPublic(a.arrayify(e));return"0x"+t.pub.add(r.pub).encodeCompressed("hex")},p);function p(e){var t=h().keyFromPrivate(a.arrayify(e));c.defineReadOnly(this,"privateKey",a.hexlify(t.priv.toArray("be",32))),c.defineReadOnly(this,"publicKey","0x"+t.getPublic(!1,"hex")),c.defineReadOnly(this,"compressedPublicKey","0x"+t.getPublic(!0,"hex")),c.defineReadOnly(this,"publicKeyBytes",t.getPublic().encode(null,!0))}function m(e,t){var r=a.arrayify(e);if(32!==r.length)return 33===r.length?t?a.hexlify(r):"0x"+h().keyFromPublic(r).getPublic(!1,"hex"):65===r.length?t?"0x"+h().keyFromPublic(r).getPublic(!0,"hex"):a.hexlify(r):(l.throwError("invalid public or private key",l.INVALID_ARGUMENT,{arg:"key",value:"[REDACTED]"}),null);var n=new d(r);return t?n.compressedPublicKey:n.publicKey}function g(e){var t="0x"+m(e).slice(4);return o.getAddress("0x"+u.keccak256(t).substring(26))}function y(e,t){var r=a.splitSignature(t),n={r:a.arrayify(r.r),s:a.arrayify(r.s)};return"0x"+h().recoverPubKey(a.arrayify(e),n,r.recoveryParam).encode("hex",!1)}function v(e,t){return g(y(a.arrayify(e),t))}r.KeyPair=d,r.computePublicKey=m,r.computeAddress=g,r.recoverPublicKey=y,r.recoverAddress=v,r.verifyMessage=function(e,t){return v(s.hashMessage(e),t)}},{"../errors":5,"./address":60,"./bytes":64,"./hash":65,"./keccak256":71,"./properties":74,elliptic:12}],78:[function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var o=n(e("aes-js")),a=n(e("scrypt-js")),s=n(e("uuid")),u=e("./signing-key"),c=i(e("./hdnode")),l=e("./address"),f=e("./bytes"),h=e("./pbkdf2"),d=e("./keccak256"),p=e("./utf8"),m=e("./random-bytes");function g(e){return"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),f.arrayify(e)}function y(e,t){for(e=String(e);e.length<t;)e="0"+e;return e}function v(e){return"string"==typeof e?p.toUtf8Bytes(e,p.UnicodeNormalizationForm.NFKC):f.arrayify(e)}function b(e,t){for(var r=e,n=t.toLowerCase().split("/"),i=0;i<n.length;i++){var o=null;for(var a in r)if(a.toLowerCase()===n[i]){o=r[a];break}if(null===o)return null;r=o}return r}r.decryptCrowdsale=function(e,t){var r=JSON.parse(e);t=v(t);var n=l.getAddress(b(r,"ethaddr")),i=g(b(r,"encseed"));if(!i||i.length%16!=0)throw new Error("invalid encseed");for(var a=h.pbkdf2(t,t,2e3,32,"sha256").slice(0,16),s=i.slice(0,16),c=i.slice(16),m=new o.default.ModeOfOperation.cbc(a,s),y=f.arrayify(m.decrypt(c)),w=(y=o.default.padding.pkcs7.strip(y),""),_=0;_<y.length;_++)w+=String.fromCharCode(y[_]);var A=p.toUtf8Bytes(w),E=new u.SigningKey(d.keccak256(A));if(E.address!==n)throw new Error("corrupt crowdsale wallet");return E},r.decrypt=function(e,t,r){function n(e,t){var r,n,a=g(b(i,"crypto/ciphertext"));if(f.hexlify((r=e.slice(16,32),n=a,d.keccak256(f.concat([r,n])))).substring(2)!==b(i,"crypto/mac").toLowerCase())return t(new Error("invalid password")),null;var s=function(e,t){if("aes-128-ctr"!==b(i,"crypto/cipher"))return null;var r=g(b(i,"crypto/cipherparams/iv")),n=new o.default.Counter(r),a=new o.default.ModeOfOperation.ctr(e,n);return f.arrayify(a.decrypt(t))}(e.slice(0,16),a),h=e.slice(32,64);if(!s)return t(new Error("unsupported cipher")),null;var p=new u.SigningKey(s);if(i.address&&p.address!==l.getAddress(i.address))return t(new Error("address mismatch")),null;var m=b(i,"x-ethers/locale");if("0.1"===b(i,"x-ethers/version")&&(null==m||"en"===m)){var y=g(b(i,"x-ethers/mnemonicCiphertext")),v=g(b(i,"x-ethers/mnemonicCounter")),w=new o.default.Counter(v),_=new o.default.ModeOfOperation.ctr(h,w),A=b(i,"x-ethers/path")||c.defaultPath,E=f.arrayify(_.decrypt(y)),k=c.entropyToMnemonic(E),x=c.fromMnemonic(k).derivePath(A);if(x.privateKey!=f.hexlify(s))return t(new Error("mnemonic mismatch")),null;p=new u.SigningKey(x)}return p}var i=JSON.parse(e),s=v(t);return new Promise((function(e,t){var o=b(i,"crypto/kdf");if(o&&"string"==typeof o)if("scrypt"===o.toLowerCase()){var u=g(b(i,"crypto/kdfparams/salt")),c=parseInt(b(i,"crypto/kdfparams/n")),l=parseInt(b(i,"crypto/kdfparams/r")),d=parseInt(b(i,"crypto/kdfparams/p"));if(!c||!l||!d)return void t(new Error("unsupported key-derivation function parameters"));if(0!=(c&c-1))return void t(new Error("unsupported key-derivation function parameter value for N"));if(32!==(y=parseInt(b(i,"crypto/kdfparams/dklen"))))return void t(new Error("unsupported key-derivation derived-key length"));r&&r(0),a.default(s,u,c,l,d,64,(function(i,o,a){if(i)i.progress=o,t(i);else if(a){var s=n(a=f.arrayify(a),t);if(!s)return;r&&r(1),e(s)}else if(r)return r(o)}))}else if("pbkdf2"===o.toLowerCase()){u=g(b(i,"crypto/kdfparams/salt"));var p=null,m=b(i,"crypto/kdfparams/prf");if("hmac-sha256"===m)p="sha256";else{if("hmac-sha512"!==m)return void t(new Error("unsupported prf"));p="sha512"}var y,v=parseInt(b(i,"crypto/kdfparams/c"));if(32!==(y=parseInt(b(i,"crypto/kdfparams/dklen"))))return void t(new Error("unsupported key-derivation derived-key length"));var w=n(h.pbkdf2(s,u,v,y,p),t);if(!w)return;e(w)}else t(new Error("unsupported key-derivation function"));else t(new Error("unsupported key-derivation function"))}))},r.encrypt=function(e,t,r,n){var i;if("function"!=typeof r||n||(n=r,r={}),r=r||{},32!==(i=u.SigningKey.isSigningKey(e)?f.arrayify(e.privateKey):f.arrayify(e)).length)throw new Error("invalid private key");var l=v(t),h=null;if(r.entropy&&(h=f.arrayify(r.entropy)),r.mnemonic)if(h){if(c.entropyToMnemonic(h)!==r.mnemonic)throw new Error("entropy and mnemonic mismatch")}else h=f.arrayify(c.mnemonicToEntropy(r.mnemonic,r.wordlist));var p=r.path;h&&!p&&(p=c.defaultPath);var g=(g=r.client)||"ethers.js",b=r.salt?f.arrayify(r.salt):m.randomBytes(32),w=null;if(r.iv){if(16!==(w=f.arrayify(r.iv)).length)throw new Error("invalid iv")}else w=m.randomBytes(16);var _=null;if(r.uuid){if(16!==(_=f.arrayify(r.uuid)).length)throw new Error("invalid uuid")}else _=m.randomBytes(16);var A=1<<17,E=8,k=1;return r.scrypt&&(r.scrypt.N&&(A=r.scrypt.N),r.scrypt.r&&(E=r.scrypt.r),r.scrypt.p&&(k=r.scrypt.p)),new Promise((function(e,t){n&&n(0),a.default(l,b,A,E,k,64,(function(a,c,l){if(a)a.progress=c,t(a);else if(l){var v,x,S,M,I,P,T=(l=f.arrayify(l)).slice(0,16),N=l.slice(16,32),O=l.slice(32,64),R=new u.SigningKey(i).address,C=new o.default.Counter(w),j=new o.default.ModeOfOperation.ctr(T,C),L=f.arrayify(j.encrypt(i)),B=d.keccak256(f.concat([N,L])),U={address:R.substring(2).toLowerCase(),id:s.default.v4({random:_}),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:f.hexlify(w).substring(2)},ciphertext:f.hexlify(L).substring(2),kdf:"scrypt",kdfparams:{salt:f.hexlify(b).substring(2),n:A,dklen:32,p:k,r:E},mac:B.substring(2)}};h&&(v=m.randomBytes(16),x=new o.default.Counter(v),S=new o.default.ModeOfOperation.ctr(O,x),M=f.arrayify(S.encrypt(h)),P=(I=new Date).getUTCFullYear()+"-"+y(I.getUTCMonth()+1,2)+"-"+y(I.getUTCDate(),2)+"T"+y(I.getUTCHours(),2)+"-"+y(I.getUTCMinutes(),2)+"-"+y(I.getUTCSeconds(),2)+".0Z",U["x-ethers"]={client:g,gethFilename:"UTC--"+P+"--"+U.address,mnemonicCounter:f.hexlify(v).substring(2),mnemonicCiphertext:f.hexlify(M).substring(2),path:p,version:"0.1"},r.wordlist&&"string"==typeof r.wordlist.locale&&(U["x-ethers"].locale=r.wordlist.locale)),n&&n(1),e(JSON.stringify(U))}else if(n)return n(c)}))}))}},{"./address":60,"./bytes":64,"./hdnode":66,"./keccak256":71,"./pbkdf2":73,"./random-bytes":75,"./signing-key":81,"./utf8":85,"aes-js":8,"scrypt-js":44,uuid:48}],79:[function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("hash.js")),o=e("./bytes");r.ripemd160=function(e){return"0x"+i.default.ripemd160().update(o.arrayify(e)).digest("hex")},r.sha256=function(e){return"0x"+i.default.sha256().update(o.arrayify(e)).digest("hex")},r.sha512=function(e){return"0x"+i.default.sha512().update(o.arrayify(e)).digest("hex")}},{"./bytes":64,"hash.js":26}],80:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),e("setimmediate"),r.platform="browser"},{setimmediate:45}],81:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("./hdnode"),o=e("./bytes"),a=e("./properties"),u=e("./secp256k1"),c=n(e("../errors")),l=(f.prototype.signDigest=function(e){return this.keyPair.sign(e)},f.prototype.computeSharedSecret=function(e){return this.keyPair.computeSharedSecret(o.arrayify(e))},f.isSigningKey=function(e){return a.isType(e,"SigningKey")},f);function f(e){c.checkNew(this,f);var t=i.HDNode.isHDNode(e)?(a.defineReadOnly(this,"mnemonic",e.mnemonic),a.defineReadOnly(this,"path",e.path),o.arrayify(e.privateKey)):("string"==typeof e&&e.match(/^[0-9a-f]*$/i)&&64===e.length&&(e="0x"+e),o.arrayify(e));try{32!==t.length&&c.throwError("exactly 32 bytes required",c.INVALID_ARGUMENT,{arg:"privateKey",value:"[REDACTED]"})}catch(e){var r={arg:"privateKey",reason:e.reason,value:"[REDACTED]"};e.value&&("number"==typeof e.value.length&&(r.length=e.value.length),r.type=s(e.value)),c.throwError("invalid private key",e.code,r)}a.defineReadOnly(this,"privateKey",o.hexlify(t)),a.defineReadOnly(this,"keyPair",new u.KeyPair(t)),a.defineReadOnly(this,"publicKey",this.keyPair.publicKey),a.defineReadOnly(this,"address",u.computeAddress(this.keyPair.publicKey)),a.setType(this,"SigningKey")}r.SigningKey=l},{"../errors":5,"./bytes":64,"./hdnode":66,"./properties":74,"./secp256k1":77}],82:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./bignumber"),i=e("./bytes"),o=e("./utf8"),a=e("./keccak256"),s=e("./sha2"),u=new RegExp("^bytes([0-9]+)$"),c=new RegExp("^(u?int)([0-9]*)$"),l=new RegExp("^(.*)\\[([0-9]*)\\]$");function f(e,t){if(e.length!=t.length)throw new Error("type/value count mismatch");var r=[];return e.forEach((function(e,a){r.push(function e(t,r,a){switch(t){case"address":return a?i.padZeros(r,32):i.arrayify(r);case"string":return o.toUtf8Bytes(r);case"bytes":return i.arrayify(r);case"bool":return r=r?"0x01":"0x00",a?i.padZeros(r,32):i.arrayify(r)}var s=t.match(c);if(s){if((f=parseInt(s[2]||"256"))%8!=0||0===f||256<f)throw new Error("invalid number type - "+t);return a&&(f=256),r=n.bigNumberify(r).toTwos(f),i.padZeros(r,f/8)}if(s=t.match(u)){var f=parseInt(s[1]);if(String(f)!=s[1]||0===f||32<f)throw new Error("invalid number type - "+t);if(i.arrayify(r).byteLength!==f)throw new Error("invalid value for "+t);return a?i.arrayify((r+"0000000000000000000000000000000000000000000000000000000000000000").substring(0,66)):r}if((s=t.match(l))&&Array.isArray(r)){var h=s[1];if(parseInt(s[2]||String(r.length))!=r.length)throw new Error("invalid value for "+t);var d=[];return r.forEach((function(t){d.push(e(h,t,!0))})),i.concat(d)}throw new Error("unknown type - "+t)}(e,t[a]))})),i.hexlify(i.concat(r))}r.pack=f,r.keccak256=function(e,t){return a.keccak256(f(e,t))},r.sha256=function(e,t){return s.sha256(f(e,t))}},{"./bignumber":63,"./bytes":64,"./keccak256":71,"./sha2":79,"./utf8":85}],83:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("../constants"),o=n(e("../errors")),a=e("./secp256k1"),s=e("./address"),u=e("./bignumber"),c=e("./bytes"),l=e("./keccak256"),f=e("./properties"),h=n(e("./rlp")),d=e("../providers/abstract-provider");function p(e){return"0x"===e?i.Zero:u.bigNumberify(e)}var m=[{name:"nonce",maxLength:32},{name:"gasPrice",maxLength:32},{name:"gasLimit",maxLength:32},{name:"to",length:20},{name:"value",maxLength:32},{name:"data"}],g={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};r.serialize=function(e,t){f.checkProperties(e,g);var r=[];m.forEach((function(t){var n=e[t.name]||[];n=c.arrayify(c.hexlify(n)),t.length&&n.length!==t.length&&0<n.length&&o.throwError("invalid length for "+t.name,o.INVALID_ARGUMENT,{arg:"transaction"+t.name,value:n}),t.maxLength&&(n=c.stripZeros(n)).length>t.maxLength&&o.throwError("invalid length for "+t.name,o.INVALID_ARGUMENT,{arg:"transaction"+t.name,value:n}),r.push(c.hexlify(n))})),null!=e.chainId&&0!==e.chainId&&(r.push(c.hexlify(e.chainId)),r.push("0x"),r.push("0x"));var n=h.encode(r);if(!t)return n;var i=c.splitSignature(t),a=27+i.recoveryParam;return 9===r.length&&(r.pop(),r.pop(),r.pop(),a+=2*e.chainId+8),r.push(c.hexlify(a)),r.push(c.stripZeros(c.arrayify(i.r))),r.push(c.stripZeros(c.arrayify(i.s))),h.encode(r)},r.parse=function(e){var t=h.decode(e);9!==t.length&&6!==t.length&&o.throwError("invalid raw transaction",o.INVALID_ARGUMENT,{arg:"rawTransactin",value:e});var r,n={nonce:p(t[0]).toNumber(),gasPrice:p(t[1]),gasLimit:p(t[2]),to:"0x"===(r=t[3])?null:s.getAddress(r),value:p(t[4]),data:t[5],chainId:0};if(6===t.length)return n;try{n.v=u.bigNumberify(t[6]).toNumber()}catch(e){return o.info(e),n}if(n.r=c.hexZeroPad(t[7],32),n.s=c.hexZeroPad(t[8],32),u.bigNumberify(n.r).isZero()&&u.bigNumberify(n.s).isZero())n.chainId=n.v,n.v=0;else{n.chainId=Math.floor((n.v-35)/2),n.chainId<0&&(n.chainId=0);var i=n.v-27,f=t.slice(0,6);0!==n.chainId&&(f.push(c.hexlify(n.chainId)),f.push("0x"),f.push("0x"),i-=2*n.chainId+8);var d=l.keccak256(h.encode(f));try{n.from=a.recoverAddress(d,{r:c.hexlify(n.r),s:c.hexlify(n.s),recoveryParam:i})}catch(e){o.info(e)}n.hash=l.keccak256(e)}return n},r.populateTransaction=function(e,t,r){d.Provider.isProvider(t)||o.throwError("missing provider",o.INVALID_ARGUMENT,{argument:"provider",value:t}),f.checkProperties(e,g);var n,i=f.shallowCopy(e);return null!=i.to&&(i.to=t.resolveName(i.to)),null==i.gasPrice&&(i.gasPrice=t.getGasPrice()),null==i.nonce&&(i.nonce=t.getTransactionCount(r)),null==i.gasLimit&&((n=f.shallowCopy(i)).from=r,i.gasLimit=t.estimateGas(n)),null==i.chainId&&(i.chainId=t.getNetwork().then((function(e){return e.chainId}))),f.resolveProperties(i)}},{"../constants":3,"../errors":5,"../providers/abstract-provider":50,"./address":60,"./bignumber":63,"./bytes":64,"./keccak256":71,"./properties":74,"./rlp":76,"./secp256k1":77}],84:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i,o=e("../constants"),a=n(e("../errors")),s=e("./bignumber"),u={};function c(e){return{decimals:e.length-1,tenPower:s.bigNumberify(e)}}function l(e){var t=u[String(e).toLowerCase()];if(!t&&"number"==typeof e&&parseInt(String(e))==e&&0<=e&&e<=256){for(var r="1",n=0;n<e;n++)r+="0";t=c(r)}return t||a.throwError("invalid unitType",a.INVALID_ARGUMENT,{argument:"name",value:e}),t}function f(e,t){var r=l(t),n=(e=s.bigNumberify(e)).lt(o.Zero);n&&(e=e.mul(o.NegativeOne));for(var i=e.mod(r.tenPower).toString();i.length<r.decimals;)i="0"+i;return i=i.match(/^([0-9]*[1-9]|0)(0*)/)[1],e=e.div(r.tenPower).toString()+"."+i,n&&(e="-"+e),e}function h(e,t){null==t&&(t=18);var r=l(t);if("string"==typeof e&&e.match(/^-?[0-9.,]+$/)||a.throwError("invalid decimal value",a.INVALID_ARGUMENT,{arg:"value",value:e}),0===r.decimals)return s.bigNumberify(e);var n="-"===e.substring(0,1);n&&(e=e.substring(1)),"."===e&&a.throwError("missing value",a.INVALID_ARGUMENT,{arg:"value",value:e});var i=e.split(".");2<i.length&&a.throwError("too many decimal points",a.INVALID_ARGUMENT,{arg:"value",value:e});var u=i[0],c=i[1];for(u=u||"0",(c=c||"0").length>r.decimals&&a.throwError("underflow occurred",a.NUMERIC_FAULT,{operation:"division",fault:"underflow"});c.length<r.decimals;)c+="0";var f=s.bigNumberify(u),h=s.bigNumberify(c),d=f.mul(r.tenPower).add(h);return n&&(d=d.mul(o.NegativeOne)),d}i="1",["wei","kwei","Mwei","Gwei","szabo","finney","ether"].forEach((function(e){var t=c(i);u[e.toLowerCase()]=t,u[String(t.decimals)]=t,i+="000"})),r.commify=function(e){var t=String(e).split(".");(2<t.length||!t[0].match(/^-?[0-9]*$/)||t[1]&&!t[1].match(/^[0-9]*$/)||"."===e||"-."===e)&&a.throwError("invalid value",a.INVALID_ARGUMENT,{argument:"value",value:e});var r=t[0],n="";for("-"===r.substring(0,1)&&(n="-",r=r.substring(1));"0"===r.substring(0,1);)r=r.substring(1);""===r&&(r="0");var i="";2===t.length&&(i="."+(t[1]||"0"));for(var o=[];r.length;){if(r.length<=3){o.unshift(r);break}var s=r.length-3;o.unshift(r.substring(s)),r=r.substring(0,s)}return n+o.join(",")+i},r.formatUnits=f,r.parseUnits=h,r.formatEther=function(e){return f(e,18)},r.parseEther=function(e){return h(e,18)}},{"../constants":3,"../errors":5,"./bignumber":63}],85:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,i,o=e("../constants"),a=e("../errors"),s=e("./bytes");function u(e,t){void 0===t&&(t=n.current),t!=n.current&&(a.checkNormalize(),e=e.normalize(t));for(var r=[],i=0;i<e.length;i++){var o=e.charCodeAt(i);if(o<128)r.push(o);else if(o<2048)r.push(o>>6|192),r.push(63&o|128);else if(55296==(64512&o)){i++;var u=e.charCodeAt(i);if(i>=e.length||56320!=(64512&u))throw new Error("invalid utf-8 string");o=65536+((1023&o)<<10)+(1023&u),r.push(o>>18|240),r.push(o>>12&63|128),r.push(o>>6&63|128),r.push(63&o|128)}else r.push(o>>12|224),r.push(o>>6&63|128),r.push(63&o|128)}return s.arrayify(r)}function c(e,t){e=s.arrayify(e);for(var r="",n=0;n<e.length;){var i=e[n++];if(i>>7!=0){var o=null,a=null;if(192==(224&i))o=1,a=127;else if(224==(240&i))o=2,a=2047;else{if(240!=(248&i)){if(t)continue;if(128==(192&i))throw new Error("invalid utf8 byte sequence; unexpected continuation byte");throw new Error("invalid utf8 byte sequence; invalid prefix")}o=3,a=65535}if(n+o>e.length){if(!t)throw new Error("invalid utf8 byte sequence; too short");for(;n<e.length&&e[n]>>6==2;n++);}else{for(var u=i&(1<<8-o-1)-1,c=0;c<o;c++){var l=e[n];if(128!=(192&l)){u=null;break}u=u<<6|63&l,n++}if(null!==u)if(u<=a){if(!t)throw new Error("invalid utf8 byte sequence; overlong")}else if(1114111<u){if(!t)throw new Error("invalid utf8 byte sequence; out-of-range")}else if(55296<=u&&u<=57343){if(!t)throw new Error("invalid utf8 byte sequence; utf-16 surrogate")}else u<=65535?r+=String.fromCharCode(u):(u-=65536,r+=String.fromCharCode(55296+(u>>10&1023),56320+(1023&u)));else if(!t)throw new Error("invalid utf8 byte sequence; invalid continuation byte")}}else r+=String.fromCharCode(i)}return r}(i=n=r.UnicodeNormalizationForm||(r.UnicodeNormalizationForm={})).current="",i.NFC="NFC",i.NFD="NFD",i.NFKC="NFKC",i.NFKD="NFKD",r.toUtf8Bytes=u,r.toUtf8String=c,r.formatBytes32String=function(e){var t=u(e);if(31<t.length)throw new Error("bytes32 string must be less than 32 bytes");return s.hexlify(s.concat([t,o.HashZero]).slice(0,32))},r.parseBytes32String=function(e){var t=s.arrayify(e);if(32!==t.length)throw new Error("invalid bytes32 - not 32 bytes long");if(0!==t[31])throw new Error("invalid bytes32 string - no null terminator");for(var r=31;0===t[r-1];)r--;return c(t.slice(0,r))}},{"../constants":3,"../errors":5,"./bytes":64}],86:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("xmlhttprequest"),o=e("./base64"),a=e("./properties"),u=e("./utf8"),c=n(e("../errors"));r.fetchJson=function(e,t,r){var n,a={},l=null,f=12e4;if("string"==typeof e)l=e;else if("object"==s(e)){if(null==e.url&&c.throwError("missing URL",c.MISSING_ARGUMENT,{arg:"url"}),l=e.url,"number"==typeof e.timeout&&0<e.timeout&&(f=e.timeout),e.headers)for(var h in e.headers)a[h.toLowerCase()]={key:h,value:String(e.headers[h])};null!=e.user&&null!=e.password&&("https:"!==l.substring(0,6)&&!0!==e.allowInsecure&&c.throwError("basic authentication requires a secure https url",c.INVALID_ARGUMENT,{arg:"url",url:l,user:e.user,password:"[REDACTED]"}),n=e.user+":"+e.password,a.authorization={key:"Authorization",value:"Basic "+o.encode(u.toUtf8Bytes(n))})}return new Promise((function(e,n){function o(){null!=u&&(clearTimeout(u),u=null)}var s=new i.XMLHttpRequest,u=null;u=setTimeout((function(){null!=u&&(u=null,n(new Error("timeout")),setTimeout((function(){s.abort()}),0))}),f),t?(s.open("POST",l,!0),a["content-type"]={key:"Content-Type",value:"application/json"}):s.open("GET",l,!0),Object.keys(a).forEach((function(e){var t=a[e];s.setRequestHeader(t.key,t.value)})),s.onreadystatechange=function(){if(4===s.readyState){if(200!=s.status){o();var i=new Error("invalid response - "+s.status);return i.statusCode=s.status,s.responseText&&(i.responseText=s.responseText),void n(i)}var a=null;try{a=JSON.parse(s.responseText)}catch(i){o();var u=new Error("invalid json response");return u.orginialError=i,u.responseText=s.responseText,null!=t&&(u.requestBody=t),u.url=l,void n(u)}if(r)try{a=r(a)}catch(i){return o(),i.url=l,i.body=t,i.responseText=s.responseText,void n(i)}o(),e(a)}},s.onerror=function(e){o(),n(e)};try{null!=t?s.send(t):s.send()}catch(u){o();var c=new Error("connection error");c.error=u,n(c)}}))},r.poll=function(e,t){return t=t||{},null==(t=a.shallowCopy(t)).floor&&(t.floor=0),null==t.ceiling&&(t.ceiling=1e4),null==t.interval&&(t.interval=250),new Promise((function(r,n){var i=null,o=!1,a=function(){return!o&&(o=!0,i&&clearTimeout(i),!0)};t.timeout&&(i=setTimeout((function(){a()&&n(new Error("timeout"))}),t.timeout));var s=t.fastRetry||null,u=0;!function i(){return e().then((function(e){var n;return void 0!==e?a()&&r(e):t.onceBlock?t.onceBlock.once("block",i):o||(u++,(n=t.interval*parseInt(String(Math.random()*Math.pow(2,u))))<t.floor&&(n=t.floor),n>t.ceiling&&(n=t.ceiling),s&&(u--,n=s,s=null),setTimeout(i,n)),null}),(function(e){a()&&n(e)}))}()}))}},{"../errors":5,"./base64":61,"./properties":74,"./utf8":85,xmlhttprequest:49}],87:[function(e,t,n){(function(t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=e("../utils/hash"),i=e("../utils/properties");n.check=function(e){for(var t=[],n=0;n<2048;n++){var i=e.getWord(n);if(n!==e.getWordIndex(i))return"0x";t.push(i)}return r.id(t.join("\n")+"\n")};var o=(a.prototype.split=function(e){return e.toLowerCase().split(/ +/g)},a.prototype.join=function(e){return e.join(" ")},a);function a(e){i.defineReadOnly(this,"locale",e)}n.Wordlist=o,n.register=function(e,t){t=t||e.locale}}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../utils/hash":65,"../utils/properties":74}],88:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var a,s=e("./utils/bytes"),u=e("./utils/hash"),c=e("./utils/hdnode"),l=e("./utils/json-wallet"),f=e("./utils/keccak256"),h=e("./utils/properties"),d=e("./utils/random-bytes"),p=o(e("./utils/secret-storage")),m=e("./utils/signing-key"),g=e("./utils/transaction"),y=e("./abstract-signer"),v=e("./providers/abstract-provider"),b=o(e("./errors")),w=(i(_,a=y.Signer),Object.defineProperty(_.prototype,"address",{get:function(){return this.signingKey.address},enumerable:!0,configurable:!0}),Object.defineProperty(_.prototype,"mnemonic",{get:function(){return this.signingKey.mnemonic},enumerable:!0,configurable:!0}),Object.defineProperty(_.prototype,"path",{get:function(){return this.signingKey.path},enumerable:!0,configurable:!0}),Object.defineProperty(_.prototype,"privateKey",{get:function(){return this.signingKey.privateKey},enumerable:!0,configurable:!0}),_.prototype.connect=function(e){return v.Provider.isProvider(e)||b.throwError("invalid provider",b.INVALID_ARGUMENT,{argument:"provider",value:e}),new _(this.signingKey,e)},_.prototype.getAddress=function(){return Promise.resolve(this.address)},_.prototype.sign=function(e){var t=this;return h.resolveProperties(e).then((function(e){var r=g.serialize(e),n=t.signingKey.signDigest(f.keccak256(r));return g.serialize(e,n)}))},_.prototype.signMessage=function(e){return Promise.resolve(s.joinSignature(this.signingKey.signDigest(u.hashMessage(e))))},_.prototype.getBalance=function(e){if(!this.provider)throw new Error("missing provider");return this.provider.getBalance(this.address,e)},_.prototype.getTransactionCount=function(e){if(!this.provider)throw new Error("missing provider");return this.provider.getTransactionCount(this.address,e)},_.prototype.sendTransaction=function(e){var t=this;if(!this.provider)throw new Error("missing provider");return null==e.nonce&&((e=h.shallowCopy(e)).nonce=this.getTransactionCount("pending")),g.populateTransaction(e,this.provider,this.address).then((function(e){return t.sign(e).then((function(e){return t.provider.sendTransaction(e)}))}))},_.prototype.encrypt=function(e,t,r){if("function"!=typeof t||r||(r=t,t={}),r&&"function"!=typeof r)throw new Error("invalid callback");return t=t||{},this.mnemonic&&((t=h.shallowCopy(t)).mnemonic=this.mnemonic,t.path=this.path),p.encrypt(this.privateKey,e,t,r)},_.createRandom=function(e){var t=d.randomBytes(16);(e=e||{}).extraEntropy&&(t=s.arrayify(f.keccak256(s.concat([t,e.extraEntropy])).substring(0,34)));var r=c.entropyToMnemonic(t,e.locale);return _.fromMnemonic(r,e.path,e.locale)},_.fromEncryptedJson=function(e,t,r){if(l.isCrowdsaleWallet(e))try{r&&r(0);var n=p.decryptCrowdsale(e,t);return r&&r(1),Promise.resolve(new _(n))}catch(e){return Promise.reject(e)}else if(l.isSecretStorageWallet(e))return p.decrypt(e,t,r).then((function(e){return new _(e)}));return Promise.reject("invalid wallet JSON")},_.fromMnemonic=function(e,t,r){return t=t||c.defaultPath,new _(c.fromMnemonic(e,r).derivePath(t))},_);function _(e,t){var r=a.call(this)||this;return b.checkNew(r,_),m.SigningKey.isSigningKey(e)?h.defineReadOnly(r,"signingKey",e):h.defineReadOnly(r,"signingKey",new m.SigningKey(e)),h.defineReadOnly(r,"provider",t),r}r.Wallet=w},{"./abstract-signer":2,"./errors":5,"./providers/abstract-provider":50,"./utils/bytes":64,"./utils/hash":65,"./utils/hdnode":66,"./utils/json-wallet":70,"./utils/keccak256":71,"./utils/properties":74,"./utils/random-bytes":75,"./utils/secret-storage":78,"./utils/signing-key":81,"./utils/transaction":83}],89:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("../wordlists/lang-en").langEn;r.en=n},{"../wordlists/lang-en":90}],90:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o,a=e("../utils/wordlist"),s=null;function u(e){if(null==s&&(s="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==a.check(e)))throw s=null,new Error("BIP39 Wordlist for en (English) FAILED")}function c(){return o.call(this,"en")||this}var l=new(i(c,o=a.Wordlist),c.prototype.getWord=function(e){return u(this),s[e]},c.prototype.getWordIndex=function(e){return u(this),s.indexOf(e)},c);r.langEn=l,a.register(l)},{"../utils/wordlist":87}]},{},[7])(7)},"object"==s(t)&&void 0!==e?e.exports=a():(i=[],void 0===(o="function"==typeof(n=a)?n.apply(t,i):n)||(e.exports=o))}).call(this,r(2))}])}));