!function(e){if("object"==typeofexports&&"undefined"!=typeofmodule)module.exports=e();elseif("function"==typeofdefine&&define.amd)define([],e);else{("undefined"!=typeofwindow?window:"undefined"!=typeofglobal?global:"undefined"!=typeofself?self:this).ethers=e()}}(function(){returnfunctiono(s,a,u){functionl(t,e){if(!a[t]){if(!s[t]){varr="function"==typeofrequire&&require;if(!e&&r)returnr(t,!0);if(f)returnf(t,!0);varn=newError("Cannot find module '"+t+"'");thrown.code="MODULE_NOT_FOUND",n}vari=a[t]={exports:{}};s[t][0].call(i.exports,function(e){returnl(s[t][1][e]||e)},i,i.exports,o,s,a,u)}returna[t].exports}for(varf="function"==typeofrequire&&require,e=0;e<u.length;e++)l(u[e]);returnl}({1:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.version="4.0.0-beta.13"},{}],2:[function(e,t,r){"use strict";varn=this&&this.__importStar||function(e){if(e&&e.__esModule)returne;vart={};if(null!=e)for(varrine)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);returnt.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});vari=e("./interface"),u=e("../utils/abi-coder"),a=e("../utils/address"),l=e("../utils/bignumber"),f=e("../utils/bytes"),h=e("../utils/constants"),c=e("../utils/properties"),d=n(e("../utils/errors")),o=e("../providers/abstract-provider"),p=e("../wallet/abstract-signer"),v={data:!0,from:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};functiony(o,e,s){vara=o.interface.functions[e];returnfunction(){for(vare=[],t=0;t<arguments.length;t++)e[t]=arguments[t];vari={};if(e.length===a.inputs.length+1&&"object"==typeofe[e.length-1])for(varrini=c.shallowCopy(e.pop()))if(!v[r])thrownewError("unknown transaction override "+r);if(e.length!=a.inputs.length)thrownewError("incorrect number of arguments");return["data","to"].forEach(function(e){null!=i[e]&&d.throwError("cannot override "+e,d.UNSUPPORTED_OPERATION,{operation:e})}),i.to=o.deployed().then(function(){returno.addressPromise}),functionn(i,o,e){if(Array.isArray(e)){vars=[];returne.forEach(function(e,t){varr=null;r=Array.isArray(o)?o[t]:o[e.name],s.push(n(i,r,e))}),Promise.all(s)}if("address"===e.type)returni.resolveName(o);if("tuple"===e.type)returnn(i,o,e.components);vart=e.type.match(/(.*)(\[[0-9]*\]$)/);if(t){if(!Array.isArray(o))thrownewError("invalid value for array");s=[];varr={components:e.components,type:t[1]};returno.forEach(function(e){s.push(n(i,e,r))}),Promise.all(s)}returnPromise.resolve(o)}(o.provider,e,a.inputs).then(function(n){if(i.data=a.encode(n),"call"===a.type)returns?Promise.resolve(h.Zero):(o.provider||d.throwError("call (constant functions) require a provider or a signer with a provider",d.UNSUPPORTED_OPERATION,{operation:"call"}),["gasLimit","gasPrice","value"].forEach(function(e){if(null!=i[e])thrownewError("call cannot override "+e)}),null==i.from&&o.signer&&(i.from=o.signer.getAddress()),o.provider.call(i).then(function(t){if(f.hexDataLength(t)%32==4&&"0x08c379a0"===f.hexDataSlice(t,0,4)){vare=u.defaultAbiCoder.decode(["string"],f.hexDataSlice(t,4));d.throwError("call revert exception",d.CALL_EXCEPTION,{address:o.address,args:n,method:a.signature,errorSignature:"Error(string)",errorArgs:[e],reason:e,transaction:i})}try{varr=a.decode(t);return1===a.outputs.length&&(r=r[0]),r}catch(e){throw"0x"===t&&0<a.outputs.length&&d.throwError("call exception",d.CALL_EXCEPTION,{address:o.address,method:a.signature,args:n}),e}}));if("transaction"===a.type)returns?(o.provider||d.throwError("estimate gas require a provider or a signer with a provider",d.UNSUPPORTED_OPERATION,{operation:"estimateGas"}),null==i.from&&o.signer&&(i.from=o.signer.getAddress()),o.provider.estimateGas(i)):(null==i.gasLimit&&null!=a.gas&&(i.gasLimit=l.bigNumberify(a.gas).add(21e3)),o.signer||d.throwError("sending a transaction require a signer",d.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),null!=i.from&&d.throwError("cannot override from in a transaction",d.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),o.signer.sendTransaction(i));thrownewError("invalid type - "+a.type)})}}fun